/** Agent-started, workspace-managed services. No global catalog or public sharing. */ import { type Static } from "@sinclair/typebox"; export declare const workspaceServiceStatusSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"starting">, import("@sinclair/typebox").TLiteral<"running">, import("@sinclair/typebox").TLiteral<"stopping">, import("@sinclair/typebox").TLiteral<"completed">, import("@sinclair/typebox").TLiteral<"killed">, import("@sinclair/typebox").TLiteral<"failed">]>; export type WorkspaceServiceStatus = Static; export declare const workspaceServiceEndpointStatusSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"waiting">, import("@sinclair/typebox").TLiteral<"reachable">, import("@sinclair/typebox").TLiteral<"unavailable">]>; export type WorkspaceServiceEndpointStatus = Static; export declare const workspaceServiceErrorSchema: import("@sinclair/typebox").TObject<{ code: import("@sinclair/typebox").TString; message: import("@sinclair/typebox").TString; }>; export type WorkspaceServiceError = Static; /** Workspace-relative input/scratch path. Filesystem checks additionally reject symlink escapes. */ export declare const workspaceServicePathSchema: import("@sinclair/typebox").TString; export declare const workspaceServiceSandboxSchema: import("@sinclair/typebox").TObject<{ inputs: import("@sinclair/typebox").TArray; scratch: import("@sinclair/typebox").TArray; outbound: import("@sinclair/typebox").TArray>; limits: import("@sinclair/typebox").TObject<{ memoryMiB: import("@sinclair/typebox").TInteger; processes: import("@sinclair/typebox").TInteger; }>; }>; export type WorkspaceServiceSandbox = Static; /** Metadata only: output, input, and credentials never appear in this resource. */ export declare const workspaceServiceSchema: import("@sinclair/typebox").TObject<{ id: import("@sinclair/typebox").TString; workspaceId: import("@sinclair/typebox").TString; agentId: import("@sinclair/typebox").TString; processId: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; name: import("@sinclair/typebox").TString; command: import("@sinclair/typebox").TString; cwd: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<".">, import("@sinclair/typebox").TString]>; port: import("@sinclair/typebox").TInteger; tty: import("@sinclair/typebox").TBoolean; protocol: import("@sinclair/typebox").TLiteral<"http">; access: import("@sinclair/typebox").TLiteral<"workspace">; status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"starting">, import("@sinclair/typebox").TLiteral<"running">, import("@sinclair/typebox").TLiteral<"stopping">, import("@sinclair/typebox").TLiteral<"completed">, import("@sinclair/typebox").TLiteral<"killed">, import("@sinclair/typebox").TLiteral<"failed">]>; endpointStatus: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"waiting">, import("@sinclair/typebox").TLiteral<"reachable">, import("@sinclair/typebox").TLiteral<"unavailable">]>; exitCode: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>; error: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ code: import("@sinclair/typebox").TString; message: import("@sinclair/typebox").TString; }>, import("@sinclair/typebox").TNull]>; sandbox: import("@sinclair/typebox").TObject<{ inputs: import("@sinclair/typebox").TArray; scratch: import("@sinclair/typebox").TArray; outbound: import("@sinclair/typebox").TArray>; limits: import("@sinclair/typebox").TObject<{ memoryMiB: import("@sinclair/typebox").TInteger; processes: import("@sinclair/typebox").TInteger; }>; }>; version: import("@sinclair/typebox").TString; createdAt: import("@sinclair/typebox").TInteger; updatedAt: import("@sinclair/typebox").TInteger; startedAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>; endedAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>; accessToken: import("@sinclair/typebox").TOptional; output: import("@sinclair/typebox").TOptional; chars: import("@sinclair/typebox").TOptional; }>; export type WorkspaceService = Static; export declare const workspaceServicePageCursorSchema: import("@sinclair/typebox").TString; export declare const workspaceServiceListQuerySchema: import("@sinclair/typebox").TObject<{ includeStopped: import("@sinclair/typebox").TOptional; pageCursor: import("@sinclair/typebox").TOptional; limit: import("@sinclair/typebox").TOptional; }>; export type WorkspaceServiceListQuery = Static; export declare const workspaceServiceListResponseSchema: import("@sinclair/typebox").TObject<{ services: import("@sinclair/typebox").TArray; name: import("@sinclair/typebox").TString; command: import("@sinclair/typebox").TString; cwd: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<".">, import("@sinclair/typebox").TString]>; port: import("@sinclair/typebox").TInteger; tty: import("@sinclair/typebox").TBoolean; protocol: import("@sinclair/typebox").TLiteral<"http">; access: import("@sinclair/typebox").TLiteral<"workspace">; status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"starting">, import("@sinclair/typebox").TLiteral<"running">, import("@sinclair/typebox").TLiteral<"stopping">, import("@sinclair/typebox").TLiteral<"completed">, import("@sinclair/typebox").TLiteral<"killed">, import("@sinclair/typebox").TLiteral<"failed">]>; endpointStatus: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"waiting">, import("@sinclair/typebox").TLiteral<"reachable">, import("@sinclair/typebox").TLiteral<"unavailable">]>; exitCode: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>; error: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ code: import("@sinclair/typebox").TString; message: import("@sinclair/typebox").TString; }>, import("@sinclair/typebox").TNull]>; sandbox: import("@sinclair/typebox").TObject<{ inputs: import("@sinclair/typebox").TArray; scratch: import("@sinclair/typebox").TArray; outbound: import("@sinclair/typebox").TArray>; limits: import("@sinclair/typebox").TObject<{ memoryMiB: import("@sinclair/typebox").TInteger; processes: import("@sinclair/typebox").TInteger; }>; }>; version: import("@sinclair/typebox").TString; createdAt: import("@sinclair/typebox").TInteger; updatedAt: import("@sinclair/typebox").TInteger; startedAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>; endedAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>; accessToken: import("@sinclair/typebox").TOptional; output: import("@sinclair/typebox").TOptional; chars: import("@sinclair/typebox").TOptional; }>>; nextPageCursor: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; cursor: import("@sinclair/typebox").TString; }>; export type WorkspaceServiceListResponse = Static; export declare const workspaceServiceResponseSchema: import("@sinclair/typebox").TObject<{ service: import("@sinclair/typebox").TObject<{ id: import("@sinclair/typebox").TString; workspaceId: import("@sinclair/typebox").TString; agentId: import("@sinclair/typebox").TString; processId: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; name: import("@sinclair/typebox").TString; command: import("@sinclair/typebox").TString; cwd: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<".">, import("@sinclair/typebox").TString]>; port: import("@sinclair/typebox").TInteger; tty: import("@sinclair/typebox").TBoolean; protocol: import("@sinclair/typebox").TLiteral<"http">; access: import("@sinclair/typebox").TLiteral<"workspace">; status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"starting">, import("@sinclair/typebox").TLiteral<"running">, import("@sinclair/typebox").TLiteral<"stopping">, import("@sinclair/typebox").TLiteral<"completed">, import("@sinclair/typebox").TLiteral<"killed">, import("@sinclair/typebox").TLiteral<"failed">]>; endpointStatus: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"waiting">, import("@sinclair/typebox").TLiteral<"reachable">, import("@sinclair/typebox").TLiteral<"unavailable">]>; exitCode: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>; error: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ code: import("@sinclair/typebox").TString; message: import("@sinclair/typebox").TString; }>, import("@sinclair/typebox").TNull]>; sandbox: import("@sinclair/typebox").TObject<{ inputs: import("@sinclair/typebox").TArray; scratch: import("@sinclair/typebox").TArray; outbound: import("@sinclair/typebox").TArray>; limits: import("@sinclair/typebox").TObject<{ memoryMiB: import("@sinclair/typebox").TInteger; processes: import("@sinclair/typebox").TInteger; }>; }>; version: import("@sinclair/typebox").TString; createdAt: import("@sinclair/typebox").TInteger; updatedAt: import("@sinclair/typebox").TInteger; startedAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>; endedAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>; accessToken: import("@sinclair/typebox").TOptional; output: import("@sinclair/typebox").TOptional; chars: import("@sinclair/typebox").TOptional; }>; }>; export type WorkspaceServiceResponse = Static; /** Reader identity isolates output positions; it is not a credential or workspace selector. */ export declare const workspaceServiceInputRequestSchema: import("@sinclair/typebox").TObject<{ readerId: import("@sinclair/typebox").TString; /** The daemon additionally enforces the 64 KiB UTF-8 byte bound. */ chars: import("@sinclair/typebox").TOptional; waitMs: import("@sinclair/typebox").TOptional; maxOutputBytes: import("@sinclair/typebox").TOptional; }>; export type WorkspaceServiceInputRequest = Static; export declare const workspaceServiceInputResponseSchema: import("@sinclair/typebox").TObject<{ service: import("@sinclair/typebox").TObject<{ id: import("@sinclair/typebox").TString; workspaceId: import("@sinclair/typebox").TString; agentId: import("@sinclair/typebox").TString; processId: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; name: import("@sinclair/typebox").TString; command: import("@sinclair/typebox").TString; cwd: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<".">, import("@sinclair/typebox").TString]>; port: import("@sinclair/typebox").TInteger; tty: import("@sinclair/typebox").TBoolean; protocol: import("@sinclair/typebox").TLiteral<"http">; access: import("@sinclair/typebox").TLiteral<"workspace">; status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"starting">, import("@sinclair/typebox").TLiteral<"running">, import("@sinclair/typebox").TLiteral<"stopping">, import("@sinclair/typebox").TLiteral<"completed">, import("@sinclair/typebox").TLiteral<"killed">, import("@sinclair/typebox").TLiteral<"failed">]>; endpointStatus: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"waiting">, import("@sinclair/typebox").TLiteral<"reachable">, import("@sinclair/typebox").TLiteral<"unavailable">]>; exitCode: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>; error: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ code: import("@sinclair/typebox").TString; message: import("@sinclair/typebox").TString; }>, import("@sinclair/typebox").TNull]>; sandbox: import("@sinclair/typebox").TObject<{ inputs: import("@sinclair/typebox").TArray; scratch: import("@sinclair/typebox").TArray; outbound: import("@sinclair/typebox").TArray>; limits: import("@sinclair/typebox").TObject<{ memoryMiB: import("@sinclair/typebox").TInteger; processes: import("@sinclair/typebox").TInteger; }>; }>; version: import("@sinclair/typebox").TString; createdAt: import("@sinclair/typebox").TInteger; updatedAt: import("@sinclair/typebox").TInteger; startedAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>; endedAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>; accessToken: import("@sinclair/typebox").TOptional; output: import("@sinclair/typebox").TOptional; chars: import("@sinclair/typebox").TOptional; }>; output: import("@sinclair/typebox").TString; truncated: import("@sinclair/typebox").TBoolean; wallTimeSeconds: import("@sinclair/typebox").TNumber; }>; export type WorkspaceServiceInputResponse = Static; export declare const stopWorkspaceServiceRequestSchema: import("@sinclair/typebox").TObject<{ mutationId: import("@sinclair/typebox").TOptional; }>; export type StopWorkspaceServiceRequest = Static; export declare const workspaceServiceAccessTokenResponseSchema: import("@sinclair/typebox").TObject<{ accessToken: import("@sinclair/typebox").TString; expiresAt: import("@sinclair/typebox").TInteger; }>; export type WorkspaceServiceAccessTokenResponse = Static; /** This credential supplements, and never replaces, ordinary daemon API authentication. */ export declare const WORKSPACE_SERVICE_AUTHORIZATION_HEADER = "X-Happy-Service-Authorization"; export declare const workspaceServiceCreatedPayloadSchema: import("@sinclair/typebox").TObject<{ service: import("@sinclair/typebox").TObject<{ id: import("@sinclair/typebox").TString; workspaceId: import("@sinclair/typebox").TString; agentId: import("@sinclair/typebox").TString; processId: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; name: import("@sinclair/typebox").TString; command: import("@sinclair/typebox").TString; cwd: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<".">, import("@sinclair/typebox").TString]>; port: import("@sinclair/typebox").TInteger; tty: import("@sinclair/typebox").TBoolean; protocol: import("@sinclair/typebox").TLiteral<"http">; access: import("@sinclair/typebox").TLiteral<"workspace">; status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"starting">, import("@sinclair/typebox").TLiteral<"running">, import("@sinclair/typebox").TLiteral<"stopping">, import("@sinclair/typebox").TLiteral<"completed">, import("@sinclair/typebox").TLiteral<"killed">, import("@sinclair/typebox").TLiteral<"failed">]>; endpointStatus: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"waiting">, import("@sinclair/typebox").TLiteral<"reachable">, import("@sinclair/typebox").TLiteral<"unavailable">]>; exitCode: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>; error: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ code: import("@sinclair/typebox").TString; message: import("@sinclair/typebox").TString; }>, import("@sinclair/typebox").TNull]>; sandbox: import("@sinclair/typebox").TObject<{ inputs: import("@sinclair/typebox").TArray; scratch: import("@sinclair/typebox").TArray; outbound: import("@sinclair/typebox").TArray>; limits: import("@sinclair/typebox").TObject<{ memoryMiB: import("@sinclair/typebox").TInteger; processes: import("@sinclair/typebox").TInteger; }>; }>; version: import("@sinclair/typebox").TString; createdAt: import("@sinclair/typebox").TInteger; updatedAt: import("@sinclair/typebox").TInteger; startedAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>; endedAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>; accessToken: import("@sinclair/typebox").TOptional; output: import("@sinclair/typebox").TOptional; chars: import("@sinclair/typebox").TOptional; }>; mutationId: import("@sinclair/typebox").TOptional; }>; export type WorkspaceServiceCreatedPayload = Static; export declare const workspaceServiceChangesSchema: import("@sinclair/typebox").TObject<{ processId: import("@sinclair/typebox").TOptional>; status: import("@sinclair/typebox").TOptional, import("@sinclair/typebox").TLiteral<"running">, import("@sinclair/typebox").TLiteral<"stopping">, import("@sinclair/typebox").TLiteral<"completed">, import("@sinclair/typebox").TLiteral<"killed">, import("@sinclair/typebox").TLiteral<"failed">]>>; endpointStatus: import("@sinclair/typebox").TOptional, import("@sinclair/typebox").TLiteral<"reachable">, import("@sinclair/typebox").TLiteral<"unavailable">]>>; exitCode: import("@sinclair/typebox").TOptional>; error: import("@sinclair/typebox").TOptional, import("@sinclair/typebox").TNull]>>; startedAt: import("@sinclair/typebox").TOptional>; endedAt: import("@sinclair/typebox").TOptional>; updatedAt: import("@sinclair/typebox").TInteger; accessToken: import("@sinclair/typebox").TOptional; output: import("@sinclair/typebox").TOptional; chars: import("@sinclair/typebox").TOptional; }>; export type WorkspaceServiceChanges = Static; export declare const workspaceServiceUpdatedPayloadSchema: import("@sinclair/typebox").TObject<{ serviceId: import("@sinclair/typebox").TString; workspaceId: import("@sinclair/typebox").TString; previousVersion: import("@sinclair/typebox").TString; version: import("@sinclair/typebox").TString; changes: import("@sinclair/typebox").TObject<{ processId: import("@sinclair/typebox").TOptional>; status: import("@sinclair/typebox").TOptional, import("@sinclair/typebox").TLiteral<"running">, import("@sinclair/typebox").TLiteral<"stopping">, import("@sinclair/typebox").TLiteral<"completed">, import("@sinclair/typebox").TLiteral<"killed">, import("@sinclair/typebox").TLiteral<"failed">]>>; endpointStatus: import("@sinclair/typebox").TOptional, import("@sinclair/typebox").TLiteral<"reachable">, import("@sinclair/typebox").TLiteral<"unavailable">]>>; exitCode: import("@sinclair/typebox").TOptional>; error: import("@sinclair/typebox").TOptional, import("@sinclair/typebox").TNull]>>; startedAt: import("@sinclair/typebox").TOptional>; endedAt: import("@sinclair/typebox").TOptional>; updatedAt: import("@sinclair/typebox").TInteger; accessToken: import("@sinclair/typebox").TOptional; output: import("@sinclair/typebox").TOptional; chars: import("@sinclair/typebox").TOptional; }>; mutationId: import("@sinclair/typebox").TOptional; }>; export type WorkspaceServiceUpdatedPayload = Static; /** File removal cannot begin while a service's actual teardown is unconfirmed. */ export declare const workspaceServiceCleanupSchema: import("@sinclair/typebox").TObject<{ phase: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"stopping_services">, import("@sinclair/typebox").TLiteral<"removing_files">, import("@sinclair/typebox").TLiteral<"blocked">]>; serviceIds: import("@sinclair/typebox").TArray; error: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ code: import("@sinclair/typebox").TString; message: import("@sinclair/typebox").TString; }>, import("@sinclair/typebox").TNull]>; }>; export type WorkspaceServiceCleanup = Static; //# sourceMappingURL=services.d.ts.map