cynarAI 6c7eed7580 Initial clean evOo-local from f00577b
Fresh history cut from cynarAI/evoo antigravity-handoff/project-timeline
(Voice First + project timeline). Brand docs/titles as evOo; keep @rakazo/*
packages as tech debt. Excludes node_modules, caches, secrets, voice blobs.
2026-09-20 17:15:16 +02:00

44 lines
1.0 KiB
TypeScript

import * as z from "zod";
export const Id = z.string().min(1);
export const IsoDate = z.string().datetime({ offset: true });
export const ActorSchema = z.object({
userId: Id,
spaceId: Id,
email: z.string().email(),
isDeploymentOwner: z.boolean(),
});
export type Actor = z.infer<typeof ActorSchema>;
export const BOT_COLORS = [
"#3EC5A8",
"#F5A03C",
"#6A6BF5",
"#9B5CF6",
"#3B82F6",
"#F2622A",
"#D9508A",
] as const;
export const RunStatus = z.enum([
"queued",
"leased",
"running",
"waiting_input",
"waiting_takeover",
"completed",
"failed",
"cancelled",
]);
export type RunStatus = z.infer<typeof RunStatus>;
export const EffectStatus = z.enum(["intended", "completed", "failed", "ambiguous", "reconciled"]);
export type EffectStatus = z.infer<typeof EffectStatus>;
export const MemoryScope = z.enum(["bot", "user"]);
export type MemoryScope = z.infer<typeof MemoryScope>;
export const SandboxKind = z.enum(["docker", "e2b", "daytona", "box", "desktop", "fake", "none"]);
export type SandboxKind = z.infer<typeof SandboxKind>;