/** * The small values every chapter of the API shares. * * Shared wire values are declared as TypeBox schemas with their TypeScript * types derived through `Static`, so one declaration serves as the compile-time * contract and as the schema a consumer that wants runtime validation checks * against. The client itself does not validate responses; see * `HappyAgentClient`. * * Objects are deliberately not `additionalProperties: false`: the * specification says its shapes grow, and a client must keep working when a * newer daemon adds a field it has never heard of. */ import { type Static, type TSchema } from "@sinclair/typebox"; /** A value that may be absent by being explicitly `null`. */ export declare function Nullable(schema: T): import("@sinclair/typebox").TUnion<[T, import("@sinclair/typebox").TNull]>; /** A CUID2 identifier: opaque, URL-safe, and never ordered by the client. */ export declare const cuid2Schema: import("@sinclair/typebox").TString; export type Cuid2 = Static; /** A UUIDv7 position in the event journal; greater means newer. */ export declare const eventCursorSchema: import("@sinclair/typebox").TString; export type EventCursor = Static; /** A UUIDv7 resource version, minted at the moment the resource changed. */ export declare const resourceVersionSchema: import("@sinclair/typebox").TString; export type ResourceVersion = Static; /** Unix epoch milliseconds. */ export declare const timestampSchema: import("@sinclair/typebox").TInteger; export type Timestamp = Static; /** The opaque echo a client attaches to a mutation to recognize its own change. */ export declare const mutationIdSchema: import("@sinclair/typebox").TString; export type MutationId = Static; /** * An effort level, named by the config catalog (`"medium"`, `"xhigh"`, …). * * The catalog is data the daemon serves rather than a fixed set, so the values * a model allows are read from its definition in `GET /v0/config`. */ export declare const effortSchema: import("@sinclair/typebox").TString; export type Effort = Static; /** A service tier, named by the config catalog. */ export declare const serviceTierSchema: import("@sinclair/typebox").TString; export type ServiceTier = Static; /** How much a run is allowed to do without asking. */ export declare const permissionModeSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"read_only">, import("@sinclair/typebox").TLiteral<"workspace_write">, import("@sinclair/typebox").TLiteral<"auto">, import("@sinclair/typebox").TLiteral<"full_access">]>; export type PermissionMode = Static; /** The model selection and permission mode a message runs with. */ export declare const messageModeSchema: import("@sinclair/typebox").TObject<{ effort: import("@sinclair/typebox").TString; modelId: import("@sinclair/typebox").TString; permissionMode: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"read_only">, import("@sinclair/typebox").TLiteral<"workspace_write">, import("@sinclair/typebox").TLiteral<"auto">, import("@sinclair/typebox").TLiteral<"full_access">]>; providerId: import("@sinclair/typebox").TString; /** `null` means the provider's default tier. */ serviceTier: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; }>; export type MessageMode = Static; /** A folder on this machine. */ export declare const hostComputeSchema: import("@sinclair/typebox").TObject<{ path: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"host">; }>; export type HostCompute = Static; /** A container the daemon runs work in. */ export declare const dockerComputeSchema: import("@sinclair/typebox").TObject<{ image: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"docker">; }>; export type DockerCompute = Static; /** Where files live and where work on them executes. */ export declare const computeSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ path: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"host">; }>, import("@sinclair/typebox").TObject<{ image: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"docker">; }>]>; export type Compute = Static; /** A compute chosen before anything runs, so it carries no addressing yet. */ export declare const computeSelectionSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ type: import("@sinclair/typebox").TLiteral<"host">; }>, import("@sinclair/typebox").TObject<{ image: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"docker">; }>]>; export type ComputeSelection = Static; /** How far a project or workspace got through its setup. */ export declare const initializationStateSchema: import("@sinclair/typebox").TObject<{ /** How many setup runs have been attempted. */ attempt: import("@sinclair/typebox").TInteger; /** A human-readable message when setup failed. */ error: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"initializing">, import("@sinclair/typebox").TLiteral<"ready">, import("@sinclair/typebox").TLiteral<"failed">]>; }>; export type InitializationState = Static; /** Where a repository stands, as reported on projects, workspaces, and git state. */ export declare const gitSummarySchema: import("@sinclair/typebox").TObject<{ ahead: import("@sinclair/typebox").TInteger; behind: import("@sinclair/typebox").TInteger; /** The current branch; absent or `null` on a detached HEAD. */ branch: import("@sinclair/typebox").TOptional>; detached: import("@sinclair/typebox").TBoolean; head: import("@sinclair/typebox").TString; upstream: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; }>; export type GitSummary = Static; //# sourceMappingURL=common.d.ts.map