import { type Static, type TSchema } from "@sinclair/typebox"; import type { CreateHappyComputeInput, ExecHappyComputeInput, HappyComputeEventSubscription, HappyComputeExecResult, HappyComputeInstance, HappyComputePreparationEvent, HappyComputeProvider, HappyComputeProviderHandlers, HappyComputeRegistration, ReadHappyComputeInput, RegisterHappyComputeProviderInput, StopHappyComputeInput, WriteHappyComputeInput } from "./computeTypes.js"; export declare const HAPPY_PLUGIN_MAX_LIST_ITEMS = 64; export declare const HAPPY_PLUGIN_MAX_ICON_BYTES: number; export declare const HAPPY_PLUGIN_MAX_ICON_DIMENSION = 2048; export declare const HAPPY_PLUGIN_MAX_INTERCEPT_DOMAINS = 16; export declare const HAPPY_PLUGIN_MAX_NETWORK_BODY_BYTES: number; export declare const HAPPY_PLUGIN_MAX_NETWORK_EVENT_BYTES: number; export declare const HAPPY_PLUGIN_MAX_NETWORK_HEADER_BYTES: number; export declare const HAPPY_PLUGIN_MAX_NETWORK_HEADER_COUNT = 128; export declare const HAPPY_PLUGIN_MAX_NETWORK_HEADER_VALUE_LENGTH = 8192; export declare const HAPPY_PLUGIN_MAX_NETWORK_METHOD_LENGTH = 64; export declare const HAPPY_PLUGIN_MAX_NETWORK_URL_LENGTH = 8192; export declare const happyProjectSchema: import("@sinclair/typebox").TObject<{ archivedAt: import("@sinclair/typebox").TOptional; id: import("@sinclair/typebox").TString; name: import("@sinclair/typebox").TString; path: import("@sinclair/typebox").TString; }>; export type HappyProject = Static; export declare const happyWorkspaceStatusSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"initializing">, import("@sinclair/typebox").TLiteral<"ready">, import("@sinclair/typebox").TLiteral<"failed">, import("@sinclair/typebox").TLiteral<"archiving">, import("@sinclair/typebox").TLiteral<"archived">]>; export type HappyWorkspaceStatus = Static; export declare const happyWorkspaceSchema: import("@sinclair/typebox").TObject<{ archivedAt: import("@sinclair/typebox").TOptional; baseRef: import("@sinclair/typebox").TOptional; error: import("@sinclair/typebox").TOptional; id: import("@sinclair/typebox").TString; name: import("@sinclair/typebox").TString; path: import("@sinclair/typebox").TString; projectId: import("@sinclair/typebox").TString; status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"initializing">, import("@sinclair/typebox").TLiteral<"ready">, import("@sinclair/typebox").TLiteral<"failed">, import("@sinclair/typebox").TLiteral<"archiving">, import("@sinclair/typebox").TLiteral<"archived">]>; version: import("@sinclair/typebox").TInteger; }>; export type HappyWorkspace = Static; export declare const happyWorkspaceEventSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ type: import("@sinclair/typebox").TLiteral<"workspace_created">; workspace: import("@sinclair/typebox").TObject<{ archivedAt: import("@sinclair/typebox").TOptional; baseRef: import("@sinclair/typebox").TOptional; error: import("@sinclair/typebox").TOptional; id: import("@sinclair/typebox").TString; name: import("@sinclair/typebox").TString; path: import("@sinclair/typebox").TString; projectId: import("@sinclair/typebox").TString; status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"initializing">, import("@sinclair/typebox").TLiteral<"ready">, import("@sinclair/typebox").TLiteral<"failed">, import("@sinclair/typebox").TLiteral<"archiving">, import("@sinclair/typebox").TLiteral<"archived">]>; version: import("@sinclair/typebox").TInteger; }>; }>, import("@sinclair/typebox").TObject<{ type: import("@sinclair/typebox").TLiteral<"workspace_updated">; workspace: import("@sinclair/typebox").TObject<{ archivedAt: import("@sinclair/typebox").TOptional; baseRef: import("@sinclair/typebox").TOptional; error: import("@sinclair/typebox").TOptional; id: import("@sinclair/typebox").TString; name: import("@sinclair/typebox").TString; path: import("@sinclair/typebox").TString; projectId: import("@sinclair/typebox").TString; status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"initializing">, import("@sinclair/typebox").TLiteral<"ready">, import("@sinclair/typebox").TLiteral<"failed">, import("@sinclair/typebox").TLiteral<"archiving">, import("@sinclair/typebox").TLiteral<"archived">]>; version: import("@sinclair/typebox").TInteger; }>; }>]>; export type HappyWorkspaceEvent = Static; export interface HappyWorkspaceSubscription { readonly failure: string | undefined; readonly status: HappyPluginStreamStatus; close(): Promise; } export declare const happySessionSchema: import("@sinclair/typebox").TObject<{ agentId: import("@sinclair/typebox").TString; archived: import("@sinclair/typebox").TBoolean; cwd: import("@sinclair/typebox").TString; id: import("@sinclair/typebox").TString; projectId: import("@sinclair/typebox").TString; status: import("@sinclair/typebox").TString; title: import("@sinclair/typebox").TOptional; workspaceId: import("@sinclair/typebox").TOptional; }>; export type HappySession = Static; export declare const createWorkspaceInputSchema: import("@sinclair/typebox").TObject<{ baseRef: import("@sinclair/typebox").TOptional; /** Stable client identity used to reconcile retries with the original reservation. */ id: import("@sinclair/typebox").TOptional; name: import("@sinclair/typebox").TString; projectId: import("@sinclair/typebox").TString; }>; export type CreateWorkspaceInput = Static; export declare const createWorkspaceBodySchema: import("@sinclair/typebox").TObject<{ baseRef: import("@sinclair/typebox").TOptional; id: import("@sinclair/typebox").TOptional; name: import("@sinclair/typebox").TString; }>; export declare const renameWorkspaceInputSchema: import("@sinclair/typebox").TObject<{ name: import("@sinclair/typebox").TString; projectId: import("@sinclair/typebox").TString; version: import("@sinclair/typebox").TInteger; workspaceId: import("@sinclair/typebox").TString; }>; export type RenameWorkspaceInput = Static; export declare const renameWorkspaceBodySchema: import("@sinclair/typebox").TObject<{ name: import("@sinclair/typebox").TString; version: import("@sinclair/typebox").TInteger; }>; export declare const archiveWorkspaceInputSchema: import("@sinclair/typebox").TObject<{ projectId: import("@sinclair/typebox").TString; version: import("@sinclair/typebox").TInteger; workspaceId: import("@sinclair/typebox").TString; }>; export type ArchiveWorkspaceInput = Static; export declare const archiveWorkspaceBodySchema: import("@sinclair/typebox").TObject<{ version: import("@sinclair/typebox").TInteger; }>; export declare const listWorkspacesInputSchema: import("@sinclair/typebox").TObject<{ projectId: import("@sinclair/typebox").TOptional; }>; export type ListWorkspacesInput = Static; export declare const HAPPY_PLUGIN_DEFAULT_COMMAND_TIMEOUT_MS = 30000; export declare const HAPPY_PLUGIN_MAX_COMMAND_TIMEOUT_MS: number; export declare const HAPPY_PLUGIN_MAX_COMMAND_OUTPUT_BYTES: number; export declare const HAPPY_PLUGIN_MAX_FILE_BYTES: number; export declare const executeWorkspaceCommandInputSchema: import("@sinclair/typebox").TObject<{ command: import("@sinclair/typebox").TString; timeoutMs: import("@sinclair/typebox").TOptional; workspaceId: import("@sinclair/typebox").TString; }>; export type ExecuteWorkspaceCommandInput = Static; export declare const executeWorkspaceCommandBodySchema: import("@sinclair/typebox").TObject<{ command: import("@sinclair/typebox").TString; timeoutMs: import("@sinclair/typebox").TOptional; }>; export declare const executeWorkspaceCommandResultSchema: import("@sinclair/typebox").TObject<{ exitCode: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>; stderr: import("@sinclair/typebox").TString; stderrTruncated: import("@sinclair/typebox").TBoolean; stdout: import("@sinclair/typebox").TString; stdoutTruncated: import("@sinclair/typebox").TBoolean; timedOut: import("@sinclair/typebox").TBoolean; }>; export type ExecuteWorkspaceCommandResult = Static; export declare const executeWorkspaceCommandResponseSchema: import("@sinclair/typebox").TObject<{ exitCode: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>; stderrBase64: import("@sinclair/typebox").TString; stderrTruncated: import("@sinclair/typebox").TBoolean; stdoutBase64: import("@sinclair/typebox").TString; stdoutTruncated: import("@sinclair/typebox").TBoolean; timedOut: import("@sinclair/typebox").TBoolean; }>; export type ExecuteWorkspaceCommandResponse = Static; export declare const readWorkspaceFileInputSchema: import("@sinclair/typebox").TObject<{ path: import("@sinclair/typebox").TString; workspaceId: import("@sinclair/typebox").TString; }>; export type ReadWorkspaceFileInput = Static; export declare const readWorkspaceFileBodySchema: import("@sinclair/typebox").TObject<{ path: import("@sinclair/typebox").TString; }>; export declare const readWorkspaceFileResultSchema: import("@sinclair/typebox").TObject<{ bytes: import("@sinclair/typebox").TInteger; content: import("@sinclair/typebox").TString; }>; export type ReadWorkspaceFileResult = Static; export declare const readWorkspaceFileResponseSchema: import("@sinclair/typebox").TObject<{ bytes: import("@sinclair/typebox").TInteger; contentBase64: import("@sinclair/typebox").TString; }>; export type ReadWorkspaceFileResponse = Static; export declare const writeWorkspaceFileInputSchema: import("@sinclair/typebox").TObject<{ content: import("@sinclair/typebox").TString; path: import("@sinclair/typebox").TString; workspaceId: import("@sinclair/typebox").TString; }>; export type WriteWorkspaceFileInput = Static; export declare const writeWorkspaceFileBodySchema: import("@sinclair/typebox").TObject<{ contentBase64: import("@sinclair/typebox").TString; path: import("@sinclair/typebox").TString; }>; export declare const writeWorkspaceFileResultSchema: import("@sinclair/typebox").TObject<{ bytesWritten: import("@sinclair/typebox").TInteger; }>; export type WriteWorkspaceFileResult = Static; export declare const createSessionInputSchema: import("@sinclair/typebox").TObject<{ appendSystemPrompt: import("@sinclair/typebox").TOptional; cwd: import("@sinclair/typebox").TString; effort: import("@sinclair/typebox").TOptional; modelId: import("@sinclair/typebox").TOptional; providerId: import("@sinclair/typebox").TOptional; workspaceId: import("@sinclair/typebox").TOptional; }>; export type CreateSessionInput = Static; export declare const sendAgentMessageInputSchema: import("@sinclair/typebox").TObject<{ agentId: import("@sinclair/typebox").TString; message: import("@sinclair/typebox").TString; }>; export type SendAgentMessageInput = Static; export declare const sendAgentMessageBodySchema: import("@sinclair/typebox").TObject<{ message: import("@sinclair/typebox").TString; }>; export declare const agentMessageDeliverySchema: import("@sinclair/typebox").TObject<{ delivered: import("@sinclair/typebox").TLiteral; runId: import("@sinclair/typebox").TString; sessionId: import("@sinclair/typebox").TString; }>; export type AgentMessageDelivery = Static; export declare const happySlotNameSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"status-line">, import("@sinclair/typebox").TLiteral<"above-composer">, import("@sinclair/typebox").TLiteral<"title">, import("@sinclair/typebox").TLiteral<"sidebar">]>; export type HappySlotName = Static; export declare const happySlotScopeSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"everywhere">, import("@sinclair/typebox").TLiteral<"project">, import("@sinclair/typebox").TLiteral<"workspace">, import("@sinclair/typebox").TLiteral<"session">]>; export type HappySlotScope = Static; export declare const happySlotActionSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ message: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"send-current-chat">; }>, import("@sinclair/typebox").TObject<{ path: import("@sinclair/typebox").TOptional; query: import("@sinclair/typebox").TOptional>; type: import("@sinclair/typebox").TLiteral<"open-applet">; applet: import("@sinclair/typebox").TString; }>, import("@sinclair/typebox").TObject<{ message: import("@sinclair/typebox").TString; sessionId: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"send-chat">; }>, import("@sinclair/typebox").TObject<{ message: import("@sinclair/typebox").TString; sessionId: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"draft-chat">; }>, import("@sinclair/typebox").TObject<{ effort: import("@sinclair/typebox").TOptional; model: import("@sinclair/typebox").TOptional; projectId: import("@sinclair/typebox").TOptional; prompt: import("@sinclair/typebox").TOptional; provider: import("@sinclair/typebox").TOptional; readOnly: import("@sinclair/typebox").TOptional; serviceTier: import("@sinclair/typebox").TOptional>; title: import("@sinclair/typebox").TOptional; type: import("@sinclair/typebox").TLiteral<"new-chat">; workspaceId: import("@sinclair/typebox").TOptional; }>]>; export type HappySlotAction = Static; export declare const happySlotContentSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ markdown: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"text">; }>, import("@sinclair/typebox").TObject<{ action: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ message: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"send-current-chat">; }>, import("@sinclair/typebox").TObject<{ path: import("@sinclair/typebox").TOptional; query: import("@sinclair/typebox").TOptional>; type: import("@sinclair/typebox").TLiteral<"open-applet">; applet: import("@sinclair/typebox").TString; }>, import("@sinclair/typebox").TObject<{ message: import("@sinclair/typebox").TString; sessionId: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"send-chat">; }>, import("@sinclair/typebox").TObject<{ message: import("@sinclair/typebox").TString; sessionId: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"draft-chat">; }>, import("@sinclair/typebox").TObject<{ effort: import("@sinclair/typebox").TOptional; model: import("@sinclair/typebox").TOptional; projectId: import("@sinclair/typebox").TOptional; prompt: import("@sinclair/typebox").TOptional; provider: import("@sinclair/typebox").TOptional; readOnly: import("@sinclair/typebox").TOptional; serviceTier: import("@sinclair/typebox").TOptional>; title: import("@sinclair/typebox").TOptional; type: import("@sinclair/typebox").TLiteral<"new-chat">; workspaceId: import("@sinclair/typebox").TOptional; }>]>; label: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"button">; }>]>; export type HappySlotContent = Static; export declare const happySlotEntryAuthorSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ sessionId: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"agent">; }>, import("@sinclair/typebox").TObject<{ folder: import("@sinclair/typebox").TString; name: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"plugin">; }>]>; export type HappySlotEntryAuthor = Static; export declare const happySlotEntrySchema: import("@sinclair/typebox").TObject<{ author: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ sessionId: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"agent">; }>, import("@sinclair/typebox").TObject<{ folder: import("@sinclair/typebox").TString; name: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"plugin">; }>]>; content: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ markdown: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"text">; }>, import("@sinclair/typebox").TObject<{ action: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ message: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"send-current-chat">; }>, import("@sinclair/typebox").TObject<{ path: import("@sinclair/typebox").TOptional; query: import("@sinclair/typebox").TOptional>; type: import("@sinclair/typebox").TLiteral<"open-applet">; applet: import("@sinclair/typebox").TString; }>, import("@sinclair/typebox").TObject<{ message: import("@sinclair/typebox").TString; sessionId: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"send-chat">; }>, import("@sinclair/typebox").TObject<{ message: import("@sinclair/typebox").TString; sessionId: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"draft-chat">; }>, import("@sinclair/typebox").TObject<{ effort: import("@sinclair/typebox").TOptional; model: import("@sinclair/typebox").TOptional; projectId: import("@sinclair/typebox").TOptional; prompt: import("@sinclair/typebox").TOptional; provider: import("@sinclair/typebox").TOptional; readOnly: import("@sinclair/typebox").TOptional; serviceTier: import("@sinclair/typebox").TOptional>; title: import("@sinclair/typebox").TOptional; type: import("@sinclair/typebox").TLiteral<"new-chat">; workspaceId: import("@sinclair/typebox").TOptional; }>]>; label: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"button">; }>]>; createdAt: import("@sinclair/typebox").TNumber; description: import("@sinclair/typebox").TString; id: import("@sinclair/typebox").TString; projectId: import("@sinclair/typebox").TOptional; purpose: import("@sinclair/typebox").TString; scope: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"everywhere">, import("@sinclair/typebox").TLiteral<"project">, import("@sinclair/typebox").TLiteral<"workspace">, import("@sinclair/typebox").TLiteral<"session">]>; sessionId: import("@sinclair/typebox").TOptional; slot: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"status-line">, import("@sinclair/typebox").TLiteral<"above-composer">, import("@sinclair/typebox").TLiteral<"title">, import("@sinclair/typebox").TLiteral<"sidebar">]>; updatedAt: import("@sinclair/typebox").TNumber; workspaceId: import("@sinclair/typebox").TOptional; }>; export type HappySlotEntry = Static; export declare const happySlotEntryIdSchema: import("@sinclair/typebox").TString; export declare const createHappySlotEntryInputSchema: import("@sinclair/typebox").TObject<{ content: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ markdown: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"text">; }>, import("@sinclair/typebox").TObject<{ action: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ message: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"send-current-chat">; }>, import("@sinclair/typebox").TObject<{ path: import("@sinclair/typebox").TOptional; query: import("@sinclair/typebox").TOptional>; type: import("@sinclair/typebox").TLiteral<"open-applet">; applet: import("@sinclair/typebox").TString; }>, import("@sinclair/typebox").TObject<{ message: import("@sinclair/typebox").TString; sessionId: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"send-chat">; }>, import("@sinclair/typebox").TObject<{ message: import("@sinclair/typebox").TString; sessionId: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"draft-chat">; }>, import("@sinclair/typebox").TObject<{ effort: import("@sinclair/typebox").TOptional; model: import("@sinclair/typebox").TOptional; projectId: import("@sinclair/typebox").TOptional; prompt: import("@sinclair/typebox").TOptional; provider: import("@sinclair/typebox").TOptional; readOnly: import("@sinclair/typebox").TOptional; serviceTier: import("@sinclair/typebox").TOptional>; title: import("@sinclair/typebox").TOptional; type: import("@sinclair/typebox").TLiteral<"new-chat">; workspaceId: import("@sinclair/typebox").TOptional; }>]>; label: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"button">; }>]>; description: import("@sinclair/typebox").TString; projectId: import("@sinclair/typebox").TOptional; purpose: import("@sinclair/typebox").TString; scope: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"everywhere">, import("@sinclair/typebox").TLiteral<"project">, import("@sinclair/typebox").TLiteral<"workspace">, import("@sinclair/typebox").TLiteral<"session">]>; sessionId: import("@sinclair/typebox").TOptional; slot: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"status-line">, import("@sinclair/typebox").TLiteral<"above-composer">, import("@sinclair/typebox").TLiteral<"title">, import("@sinclair/typebox").TLiteral<"sidebar">]>; workspaceId: import("@sinclair/typebox").TOptional; }>; export type CreateHappySlotEntryInput = Static; export declare const listHappySlotEntriesInputSchema: import("@sinclair/typebox").TObject<{ projectId: import("@sinclair/typebox").TOptional; sessionId: import("@sinclair/typebox").TOptional; slot: import("@sinclair/typebox").TOptional, import("@sinclair/typebox").TLiteral<"above-composer">, import("@sinclair/typebox").TLiteral<"title">, import("@sinclair/typebox").TLiteral<"sidebar">]>>; workspaceId: import("@sinclair/typebox").TOptional; }>; export type ListHappySlotEntriesInput = Static; export declare const updateHappySlotEntryInputSchema: import("@sinclair/typebox").TObject<{ content: import("@sinclair/typebox").TOptional; }>, import("@sinclair/typebox").TObject<{ action: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ message: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"send-current-chat">; }>, import("@sinclair/typebox").TObject<{ path: import("@sinclair/typebox").TOptional; query: import("@sinclair/typebox").TOptional>; type: import("@sinclair/typebox").TLiteral<"open-applet">; applet: import("@sinclair/typebox").TString; }>, import("@sinclair/typebox").TObject<{ message: import("@sinclair/typebox").TString; sessionId: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"send-chat">; }>, import("@sinclair/typebox").TObject<{ message: import("@sinclair/typebox").TString; sessionId: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"draft-chat">; }>, import("@sinclair/typebox").TObject<{ effort: import("@sinclair/typebox").TOptional; model: import("@sinclair/typebox").TOptional; projectId: import("@sinclair/typebox").TOptional; prompt: import("@sinclair/typebox").TOptional; provider: import("@sinclair/typebox").TOptional; readOnly: import("@sinclair/typebox").TOptional; serviceTier: import("@sinclair/typebox").TOptional>; title: import("@sinclair/typebox").TOptional; type: import("@sinclair/typebox").TLiteral<"new-chat">; workspaceId: import("@sinclair/typebox").TOptional; }>]>; label: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"button">; }>]>>; description: import("@sinclair/typebox").TOptional; purpose: import("@sinclair/typebox").TOptional; slot: import("@sinclair/typebox").TOptional, import("@sinclair/typebox").TLiteral<"above-composer">, import("@sinclair/typebox").TLiteral<"title">, import("@sinclair/typebox").TLiteral<"sidebar">]>>; }>; export type UpdateHappySlotEntryInput = Static; export declare const happySlotEntryResponseSchema: import("@sinclair/typebox").TObject<{ entry: import("@sinclair/typebox").TObject<{ author: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ sessionId: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"agent">; }>, import("@sinclair/typebox").TObject<{ folder: import("@sinclair/typebox").TString; name: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"plugin">; }>]>; content: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ markdown: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"text">; }>, import("@sinclair/typebox").TObject<{ action: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ message: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"send-current-chat">; }>, import("@sinclair/typebox").TObject<{ path: import("@sinclair/typebox").TOptional; query: import("@sinclair/typebox").TOptional>; type: import("@sinclair/typebox").TLiteral<"open-applet">; applet: import("@sinclair/typebox").TString; }>, import("@sinclair/typebox").TObject<{ message: import("@sinclair/typebox").TString; sessionId: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"send-chat">; }>, import("@sinclair/typebox").TObject<{ message: import("@sinclair/typebox").TString; sessionId: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"draft-chat">; }>, import("@sinclair/typebox").TObject<{ effort: import("@sinclair/typebox").TOptional; model: import("@sinclair/typebox").TOptional; projectId: import("@sinclair/typebox").TOptional; prompt: import("@sinclair/typebox").TOptional; provider: import("@sinclair/typebox").TOptional; readOnly: import("@sinclair/typebox").TOptional; serviceTier: import("@sinclair/typebox").TOptional>; title: import("@sinclair/typebox").TOptional; type: import("@sinclair/typebox").TLiteral<"new-chat">; workspaceId: import("@sinclair/typebox").TOptional; }>]>; label: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"button">; }>]>; createdAt: import("@sinclair/typebox").TNumber; description: import("@sinclair/typebox").TString; id: import("@sinclair/typebox").TString; projectId: import("@sinclair/typebox").TOptional; purpose: import("@sinclair/typebox").TString; scope: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"everywhere">, import("@sinclair/typebox").TLiteral<"project">, import("@sinclair/typebox").TLiteral<"workspace">, import("@sinclair/typebox").TLiteral<"session">]>; sessionId: import("@sinclair/typebox").TOptional; slot: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"status-line">, import("@sinclair/typebox").TLiteral<"above-composer">, import("@sinclair/typebox").TLiteral<"title">, import("@sinclair/typebox").TLiteral<"sidebar">]>; updatedAt: import("@sinclair/typebox").TNumber; workspaceId: import("@sinclair/typebox").TOptional; }>; }>; export declare const listHappySlotEntriesResponseSchema: import("@sinclair/typebox").TObject<{ entries: import("@sinclair/typebox").TArray; }>, import("@sinclair/typebox").TObject<{ folder: import("@sinclair/typebox").TString; name: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"plugin">; }>]>; content: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ markdown: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"text">; }>, import("@sinclair/typebox").TObject<{ action: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ message: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"send-current-chat">; }>, import("@sinclair/typebox").TObject<{ path: import("@sinclair/typebox").TOptional; query: import("@sinclair/typebox").TOptional>; type: import("@sinclair/typebox").TLiteral<"open-applet">; applet: import("@sinclair/typebox").TString; }>, import("@sinclair/typebox").TObject<{ message: import("@sinclair/typebox").TString; sessionId: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"send-chat">; }>, import("@sinclair/typebox").TObject<{ message: import("@sinclair/typebox").TString; sessionId: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"draft-chat">; }>, import("@sinclair/typebox").TObject<{ effort: import("@sinclair/typebox").TOptional; model: import("@sinclair/typebox").TOptional; projectId: import("@sinclair/typebox").TOptional; prompt: import("@sinclair/typebox").TOptional; provider: import("@sinclair/typebox").TOptional; readOnly: import("@sinclair/typebox").TOptional; serviceTier: import("@sinclair/typebox").TOptional>; title: import("@sinclair/typebox").TOptional; type: import("@sinclair/typebox").TLiteral<"new-chat">; workspaceId: import("@sinclair/typebox").TOptional; }>]>; label: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"button">; }>]>; createdAt: import("@sinclair/typebox").TNumber; description: import("@sinclair/typebox").TString; id: import("@sinclair/typebox").TString; projectId: import("@sinclair/typebox").TOptional; purpose: import("@sinclair/typebox").TString; scope: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"everywhere">, import("@sinclair/typebox").TLiteral<"project">, import("@sinclair/typebox").TLiteral<"workspace">, import("@sinclair/typebox").TLiteral<"session">]>; sessionId: import("@sinclair/typebox").TOptional; slot: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"status-line">, import("@sinclair/typebox").TLiteral<"above-composer">, import("@sinclair/typebox").TLiteral<"title">, import("@sinclair/typebox").TLiteral<"sidebar">]>; updatedAt: import("@sinclair/typebox").TNumber; workspaceId: import("@sinclair/typebox").TOptional; }>>; }>; export declare const HAPPY_PLUGIN_MAX_MEDIA_BYTES: number; export declare const publishHappyMediaInputSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ bytes: import("@sinclair/typebox").TUint8Array; name: import("@sinclair/typebox").TString; }>, import("@sinclair/typebox").TObject<{ name: import("@sinclair/typebox").TOptional; path: import("@sinclair/typebox").TString; }>]>; export type PublishHappyMediaInput = Static; export declare const publishHappyMediaBodySchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ contentBase64: import("@sinclair/typebox").TString; name: import("@sinclair/typebox").TString; }>, import("@sinclair/typebox").TObject<{ name: import("@sinclair/typebox").TOptional; path: import("@sinclair/typebox").TString; }>]>; export declare const publishedHappyMediaSchema: import("@sinclair/typebox").TObject<{ bytes: import("@sinclair/typebox").TInteger; location: import("@sinclair/typebox").TString; name: import("@sinclair/typebox").TString; }>; export type PublishedHappyMedia = Static; export declare const listProjectsResponseSchema: import("@sinclair/typebox").TObject<{ projects: import("@sinclair/typebox").TArray; id: import("@sinclair/typebox").TString; name: import("@sinclair/typebox").TString; path: import("@sinclair/typebox").TString; }>>; }>; export declare const listWorkspacesResponseSchema: import("@sinclair/typebox").TObject<{ workspaces: import("@sinclair/typebox").TArray; baseRef: import("@sinclair/typebox").TOptional; error: import("@sinclair/typebox").TOptional; id: import("@sinclair/typebox").TString; name: import("@sinclair/typebox").TString; path: import("@sinclair/typebox").TString; projectId: import("@sinclair/typebox").TString; status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"initializing">, import("@sinclair/typebox").TLiteral<"ready">, import("@sinclair/typebox").TLiteral<"failed">, import("@sinclair/typebox").TLiteral<"archiving">, import("@sinclair/typebox").TLiteral<"archived">]>; version: import("@sinclair/typebox").TInteger; }>>; }>; export declare const workspaceResponseSchema: import("@sinclair/typebox").TObject<{ workspace: import("@sinclair/typebox").TObject<{ archivedAt: import("@sinclair/typebox").TOptional; baseRef: import("@sinclair/typebox").TOptional; error: import("@sinclair/typebox").TOptional; id: import("@sinclair/typebox").TString; name: import("@sinclair/typebox").TString; path: import("@sinclair/typebox").TString; projectId: import("@sinclair/typebox").TString; status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"initializing">, import("@sinclair/typebox").TLiteral<"ready">, import("@sinclair/typebox").TLiteral<"failed">, import("@sinclair/typebox").TLiteral<"archiving">, import("@sinclair/typebox").TLiteral<"archived">]>; version: import("@sinclair/typebox").TInteger; }>; }>; export declare const listSessionsResponseSchema: import("@sinclair/typebox").TObject<{ sessions: import("@sinclair/typebox").TArray; workspaceId: import("@sinclair/typebox").TOptional; }>>; }>; export declare const sessionResponseSchema: import("@sinclair/typebox").TObject<{ session: import("@sinclair/typebox").TObject<{ agentId: import("@sinclair/typebox").TString; archived: import("@sinclair/typebox").TBoolean; cwd: import("@sinclair/typebox").TString; id: import("@sinclair/typebox").TString; projectId: import("@sinclair/typebox").TString; status: import("@sinclair/typebox").TString; title: import("@sinclair/typebox").TOptional; workspaceId: import("@sinclair/typebox").TOptional; }>; }>; export declare const happyMcpTextContentSchema: import("@sinclair/typebox").TObject<{ text: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"text">; }>; export declare const happyMcpImageContentSchema: import("@sinclair/typebox").TObject<{ data: import("@sinclair/typebox").TString; mimeType: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"image">; }>; export declare const happyMcpContentSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ text: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"text">; }>, import("@sinclair/typebox").TObject<{ data: import("@sinclair/typebox").TString; mimeType: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"image">; }>]>; export type HappyMcpContent = Static; export declare const happyMcpToolResultSchema: import("@sinclair/typebox").TObject<{ content: import("@sinclair/typebox").TArray; }>, import("@sinclair/typebox").TObject<{ data: import("@sinclair/typebox").TString; mimeType: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"image">; }>]>>; isError: import("@sinclair/typebox").TOptional; structuredContent: import("@sinclair/typebox").TOptional; }>; export type HappyMcpToolResult = Static; /** * The JSON Schema subset accepted at the plugin socket boundary. * * `defineMcpTool` additionally checks the complete in-process value with TypeBox's schema guard * before this serializable form crosses the socket. */ export declare const happyMcpInputSchemaSchema: import("@sinclair/typebox").TObject<{ additionalProperties: import("@sinclair/typebox").TOptional>; properties: import("@sinclair/typebox").TOptional>; required: import("@sinclair/typebox").TOptional>; type: import("@sinclair/typebox").TLiteral<"object">; }>; export type HappyMcpInputSchema = Static; export declare const happyMcpToolRegistrationSchema: import("@sinclair/typebox").TObject<{ _meta: import("@sinclair/typebox").TOptional, import("@sinclair/typebox").TLiteral<"app">]>>; }>; }>>; description: import("@sinclair/typebox").TString; inputSchema: import("@sinclair/typebox").TObject<{ additionalProperties: import("@sinclair/typebox").TOptional>; properties: import("@sinclair/typebox").TOptional>; required: import("@sinclair/typebox").TOptional>; type: import("@sinclair/typebox").TLiteral<"object">; }>; name: import("@sinclair/typebox").TString; }>; export type HappyMcpToolRegistration = Static; export declare const happyMcpServerRegistrationSchema: import("@sinclair/typebox").TObject<{ name: import("@sinclair/typebox").TString; tools: import("@sinclair/typebox").TArray, import("@sinclair/typebox").TLiteral<"app">]>>; }>; }>>; description: import("@sinclair/typebox").TString; inputSchema: import("@sinclair/typebox").TObject<{ additionalProperties: import("@sinclair/typebox").TOptional>; properties: import("@sinclair/typebox").TOptional>; required: import("@sinclair/typebox").TOptional>; type: import("@sinclair/typebox").TLiteral<"object">; }>; name: import("@sinclair/typebox").TString; }>>; version: import("@sinclair/typebox").TOptional; }>; export type HappyMcpServerRegistration = Static; export declare const registerHappyMcpServerResponseSchema: import("@sinclair/typebox").TObject<{ registrationId: import("@sinclair/typebox").TString; }>; export type RegisterHappyMcpServerResponse = Static; export declare const happyMcpCallEventSchema: import("@sinclair/typebox").TObject<{ arguments: import("@sinclair/typebox").TUnknown; callId: import("@sinclair/typebox").TString; tool: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"call">; }>; export declare const happyMcpCancelEventSchema: import("@sinclair/typebox").TObject<{ callId: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"cancel">; }>; export declare const happyMcpEventSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ arguments: import("@sinclair/typebox").TUnknown; callId: import("@sinclair/typebox").TString; tool: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"call">; }>, import("@sinclair/typebox").TObject<{ callId: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"cancel">; }>]>; export type HappyMcpEvent = Static; export declare const happyMcpCallCompletionSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ result: import("@sinclair/typebox").TObject<{ content: import("@sinclair/typebox").TArray; }>, import("@sinclair/typebox").TObject<{ data: import("@sinclair/typebox").TString; mimeType: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"image">; }>]>>; isError: import("@sinclair/typebox").TOptional; structuredContent: import("@sinclair/typebox").TOptional; }>; }>, import("@sinclair/typebox").TObject<{ error: import("@sinclair/typebox").TString; }>]>; export type HappyMcpCallCompletion = Static; export interface HappyMcpToolContext { /** Aborted when Rig cancels the model call, times it out, or retires this plugin generation. */ readonly signal: AbortSignal; } export interface HappyMcpTool { readonly description: string; readonly inputSchema: TInputSchema; readonly name: string; /** * Official MCP Apps visibility. Omit it to make the tool available to both models and apps. */ readonly visibility?: readonly ("app" | "model")[]; execute(input: Static, context: HappyMcpToolContext): HappyMcpToolResult | Promise; } export interface StartHappyMcpServerOptions { name: string; tools: readonly HappyMcpTool[]; version?: string; } export interface HappyMcpServer { /** The connection failure that closed this server, when one occurred. */ readonly failure: string | undefined; readonly name: string; /** This server's registration for the current plugin process generation. */ readonly registrationId: string; readonly status: HappyMcpServerStatus; close(): Promise; } export type HappyMcpServerStatus = "closed" | "connected"; export declare const HAPPY_PLUGIN_MAX_APPS = 8; export declare const HAPPY_PLUGIN_MAX_APP_RESOURCES = 64; export declare const HAPPY_PLUGIN_MAX_RESOURCE_BYTES: number; export declare const HAPPY_PLUGIN_MAX_APP_BYTES: number; export declare const HAPPY_PLUGIN_MAX_SYSTEM_PROMPT_BYTES: number; export declare const HAPPY_PLUGIN_TRACING_QUEUE_SIZE = 128; export declare const HAPPY_PLUGIN_MAX_STORAGE_KEYS = 1024; export declare const HAPPY_PLUGIN_MAX_STORAGE_VALUE_BYTES: number; export declare const HAPPY_PLUGIN_MAX_STORAGE_BYTES: number; export declare const happyPluginAppIdSchema: import("@sinclair/typebox").TString; export declare const happyPluginResourcePathSchema: import("@sinclair/typebox").TString; export declare const happyPluginResourceUriSchema: import("@sinclair/typebox").TString; export declare const happyPluginResourceMediaTypeSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"application/json">, import("@sinclair/typebox").TLiteral<"font/woff2">, import("@sinclair/typebox").TLiteral<"image/jpeg">, import("@sinclair/typebox").TLiteral<"image/png">, import("@sinclair/typebox").TLiteral<"image/svg+xml">, import("@sinclair/typebox").TLiteral<"image/webp">, import("@sinclair/typebox").TLiteral<"text/css">, import("@sinclair/typebox").TLiteral<"text/html">, import("@sinclair/typebox").TLiteral<"text/javascript">]>; export type HappyPluginResourceMediaType = Static; export declare const happyPluginAppSidebarSchema: import("@sinclair/typebox").TObject<{ icon: import("@sinclair/typebox").TOptional; label: import("@sinclair/typebox").TString; order: import("@sinclair/typebox").TInteger; }>; export type HappyPluginAppSidebar = Static; export declare const happyPluginAppManifestSchema: import("@sinclair/typebox").TObject<{ id: import("@sinclair/typebox").TString; page: import("@sinclair/typebox").TString; root: import("@sinclair/typebox").TString; sidebar: import("@sinclair/typebox").TObject<{ icon: import("@sinclair/typebox").TOptional; label: import("@sinclair/typebox").TString; order: import("@sinclair/typebox").TInteger; }>; title: import("@sinclair/typebox").TString; }>; export type HappyPluginAppManifest = Static; export declare const happyPluginVersionSchema: import("@sinclair/typebox").TString; export type HappyPluginVersion = Static; export declare const happyPluginSystemPromptContributionSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ text: import("@sinclair/typebox").TString; }>, import("@sinclair/typebox").TObject<{ path: import("@sinclair/typebox").TString; }>]>; export type HappyPluginSystemPromptContribution = Static; export declare const happyPluginDockerSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral, import("@sinclair/typebox").TObject<{ image: import("@sinclair/typebox").TString; }>]>; export type HappyPluginDocker = Static; export declare const happyPluginCategorySchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"automation">, import("@sinclair/typebox").TLiteral<"collaboration">, import("@sinclair/typebox").TLiteral<"data">, import("@sinclair/typebox").TLiteral<"developer-tools">, import("@sinclair/typebox").TLiteral<"media">, import("@sinclair/typebox").TLiteral<"productivity">, import("@sinclair/typebox").TLiteral<"utilities">, import("@sinclair/typebox").TLiteral<"other">]>; export type HappyPluginCategory = Static; export declare const happyPluginManifestSchema: import("@sinclair/typebox").TObject<{ apps: import("@sinclair/typebox").TOptional; label: import("@sinclair/typebox").TString; order: import("@sinclair/typebox").TInteger; }>; title: import("@sinclair/typebox").TString; }>>>; author: import("@sinclair/typebox").TString; category: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"automation">, import("@sinclair/typebox").TLiteral<"collaboration">, import("@sinclair/typebox").TLiteral<"data">, import("@sinclair/typebox").TLiteral<"developer-tools">, import("@sinclair/typebox").TLiteral<"media">, import("@sinclair/typebox").TLiteral<"productivity">, import("@sinclair/typebox").TLiteral<"utilities">, import("@sinclair/typebox").TLiteral<"other">]>; compute: import("@sinclair/typebox").TOptional>; description: import("@sinclair/typebox").TString; docker: import("@sinclair/typebox").TOptional, import("@sinclair/typebox").TObject<{ image: import("@sinclair/typebox").TString; }>]>>; icon: import("@sinclair/typebox").TString; interceptDomains: import("@sinclair/typebox").TOptional>; main: import("@sinclair/typebox").TOptional; name: import("@sinclair/typebox").TString; skills: import("@sinclair/typebox").TOptional; systemPrompt: import("@sinclair/typebox").TOptional, import("@sinclair/typebox").TObject<{ path: import("@sinclair/typebox").TString; }>]>>; version: import("@sinclair/typebox").TOptional; }>; export type HappyPluginManifest = Static; export declare const happyNetworkHeadersSchema: import("@sinclair/typebox").TRecord]>>; export type HappyNetworkHeaders = Static; export declare const happyNetworkRequestSchema: import("@sinclair/typebox").TObject<{ body: import("@sinclair/typebox").TUint8Array; headers: import("@sinclair/typebox").TRecord]>>; hostname: import("@sinclair/typebox").TString; method: import("@sinclair/typebox").TString; mode: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"handle">, import("@sinclair/typebox").TLiteral<"observe">]>; url: import("@sinclair/typebox").TString; }>; export type HappyNetworkRequest = Static; export declare const happyNetworkRequestEventSchema: import("@sinclair/typebox").TObject<{ bodyBase64: import("@sinclair/typebox").TString; callId: import("@sinclair/typebox").TString; headers: import("@sinclair/typebox").TRecord]>>; hostname: import("@sinclair/typebox").TString; method: import("@sinclair/typebox").TString; mode: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"handle">, import("@sinclair/typebox").TLiteral<"observe">]>; type: import("@sinclair/typebox").TLiteral<"request">; url: import("@sinclair/typebox").TString; }>; export type HappyNetworkRequestEvent = Static; export declare const happyNetworkTunnelEventSchema: import("@sinclair/typebox").TObject<{ bytesFromClient: import("@sinclair/typebox").TInteger; bytesFromServer: import("@sinclair/typebox").TInteger; hostname: import("@sinclair/typebox").TString; port: import("@sinclair/typebox").TInteger; type: import("@sinclair/typebox").TLiteral<"tunnel">; }>; export type HappyNetworkTunnel = Static; export declare const happyNetworkEventSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ bodyBase64: import("@sinclair/typebox").TString; callId: import("@sinclair/typebox").TString; headers: import("@sinclair/typebox").TRecord]>>; hostname: import("@sinclair/typebox").TString; method: import("@sinclair/typebox").TString; mode: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"handle">, import("@sinclair/typebox").TLiteral<"observe">]>; type: import("@sinclair/typebox").TLiteral<"request">; url: import("@sinclair/typebox").TString; }>, import("@sinclair/typebox").TObject<{ bytesFromClient: import("@sinclair/typebox").TInteger; bytesFromServer: import("@sinclair/typebox").TInteger; hostname: import("@sinclair/typebox").TString; port: import("@sinclair/typebox").TInteger; type: import("@sinclair/typebox").TLiteral<"tunnel">; }>]>; export type HappyNetworkEvent = Static; export declare const happyNetworkPassThroughSchema: import("@sinclair/typebox").TObject<{ type: import("@sinclair/typebox").TLiteral<"pass_through">; }>; export declare const happyNetworkModifiedRequestSchema: import("@sinclair/typebox").TObject<{ body: import("@sinclair/typebox").TOptional; headers: import("@sinclair/typebox").TOptional]>>>; method: import("@sinclair/typebox").TOptional; type: import("@sinclair/typebox").TLiteral<"request">; url: import("@sinclair/typebox").TOptional; }>; export declare const happyNetworkSyntheticResponseSchema: import("@sinclair/typebox").TObject<{ body: import("@sinclair/typebox").TOptional; headers: import("@sinclair/typebox").TOptional]>>>; status: import("@sinclair/typebox").TInteger; type: import("@sinclair/typebox").TLiteral<"response">; }>; export declare const happyNetworkRequestResultSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ type: import("@sinclair/typebox").TLiteral<"pass_through">; }>, import("@sinclair/typebox").TObject<{ body: import("@sinclair/typebox").TOptional; headers: import("@sinclair/typebox").TOptional]>>>; method: import("@sinclair/typebox").TOptional; type: import("@sinclair/typebox").TLiteral<"request">; url: import("@sinclair/typebox").TOptional; }>, import("@sinclair/typebox").TObject<{ body: import("@sinclair/typebox").TOptional; headers: import("@sinclair/typebox").TOptional]>>>; status: import("@sinclair/typebox").TInteger; type: import("@sinclair/typebox").TLiteral<"response">; }>]>; export type HappyNetworkRequestResult = Static; export declare const happyNetworkRequestCompletionSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ type: import("@sinclair/typebox").TLiteral<"pass_through">; }>, import("@sinclair/typebox").TObject<{ error: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"error">; }>, import("@sinclair/typebox").TObject<{ bodyBase64: import("@sinclair/typebox").TOptional; headers: import("@sinclair/typebox").TOptional]>>>; method: import("@sinclair/typebox").TOptional; type: import("@sinclair/typebox").TLiteral<"request">; url: import("@sinclair/typebox").TOptional; }>, import("@sinclair/typebox").TObject<{ bodyBase64: import("@sinclair/typebox").TOptional; headers: import("@sinclair/typebox").TOptional]>>>; status: import("@sinclair/typebox").TInteger; type: import("@sinclair/typebox").TLiteral<"response">; }>]>; export type HappyNetworkRequestCompletion = Static; export declare const registerHappyNetworkListenerResponseSchema: import("@sinclair/typebox").TObject<{ registrationId: import("@sinclair/typebox").TString; }>; export interface HappyNetworkSubscription { close(): Promise; } export type HappyNetworkRequestHandler = (request: HappyNetworkRequest) => HappyNetworkRequestResult | Promise; export type HappyNetworkTunnelHandler = (tunnel: HappyNetworkTunnel) => void | Promise; export declare const happyPluginStateSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"failed">, import("@sinclair/typebox").TLiteral<"running">, import("@sinclair/typebox").TLiteral<"stopped">]>; export type HappyPluginState = Static; export declare const happyPluginStatusSchema: import("@sinclair/typebox").TString; export type HappyPluginStatus = Static; export declare const happyPluginSchema: import("@sinclair/typebox").TObject<{ compute: import("@sinclair/typebox").TOptional, import("@sinclair/typebox").TLiteral<"degraded">, import("@sinclair/typebox").TLiteral<"failed">]>; name: import("@sinclair/typebox").TString; provisioningTimeoutMs: import("@sinclair/typebox").TInteger; }>>; folder: import("@sinclair/typebox").TString; isSelf: import("@sinclair/typebox").TBoolean; name: import("@sinclair/typebox").TString; state: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"failed">, import("@sinclair/typebox").TLiteral<"running">, import("@sinclair/typebox").TLiteral<"stopped">]>; status: import("@sinclair/typebox").TOptional; version: import("@sinclair/typebox").TString; }>; export type HappyPlugin = Static; export declare const happySystemPromptHookInputSchema: import("@sinclair/typebox").TObject<{ systemPrompt: import("@sinclair/typebox").TString; userPrompt: import("@sinclair/typebox").TString; }>; export type HappySystemPromptHookInput = Static; export declare const happySystemPromptHookResultSchema: import("@sinclair/typebox").TObject<{ systemPrompt: import("@sinclair/typebox").TOptional; }>; export type HappySystemPromptHookResult = Static; export declare const happySystemPromptHookEventSchema: import("@sinclair/typebox").TObject<{ callId: import("@sinclair/typebox").TString; input: import("@sinclair/typebox").TObject<{ systemPrompt: import("@sinclair/typebox").TString; userPrompt: import("@sinclair/typebox").TString; }>; type: import("@sinclair/typebox").TLiteral<"system_prompt">; }>; export type HappySystemPromptHookEvent = Static; export declare const happySystemPromptHookCompletionSchema: import("@sinclair/typebox").TObject<{ result: import("@sinclair/typebox").TObject<{ systemPrompt: import("@sinclair/typebox").TOptional; }>; }>; export type HappySystemPromptHookCompletion = Static; export declare const happyTracingUsageSchema: import("@sinclair/typebox").TObject<{ cacheRead: import("@sinclair/typebox").TNumber; cacheWrite: import("@sinclair/typebox").TNumber; input: import("@sinclair/typebox").TNumber; output: import("@sinclair/typebox").TNumber; reasoning: import("@sinclair/typebox").TOptional; totalTokens: import("@sinclair/typebox").TNumber; }>; export type HappyTracingUsage = Static; export declare const happyTracingEventSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ sessionId: import("@sinclair/typebox").TString; timestamp: import("@sinclair/typebox").TNumber; model: import("@sinclair/typebox").TString; provider: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"turn_started">; }>, import("@sinclair/typebox").TObject<{ sessionId: import("@sinclair/typebox").TString; timestamp: import("@sinclair/typebox").TNumber; iteration: import("@sinclair/typebox").TInteger; model: import("@sinclair/typebox").TString; provider: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"inference_request_started">; }>, import("@sinclair/typebox").TObject<{ sessionId: import("@sinclair/typebox").TString; timestamp: import("@sinclair/typebox").TNumber; durationMs: import("@sinclair/typebox").TNumber; iteration: import("@sinclair/typebox").TInteger; model: import("@sinclair/typebox").TString; provider: import("@sinclair/typebox").TString; success: import("@sinclair/typebox").TBoolean; type: import("@sinclair/typebox").TLiteral<"inference_request_finished">; usage: import("@sinclair/typebox").TOptional; totalTokens: import("@sinclair/typebox").TNumber; }>>; }>, import("@sinclair/typebox").TObject<{ sessionId: import("@sinclair/typebox").TString; timestamp: import("@sinclair/typebox").TNumber; name: import("@sinclair/typebox").TString; toolCallId: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"tool_call_started">; }>, import("@sinclair/typebox").TObject<{ sessionId: import("@sinclair/typebox").TString; timestamp: import("@sinclair/typebox").TNumber; durationMs: import("@sinclair/typebox").TNumber; name: import("@sinclair/typebox").TString; success: import("@sinclair/typebox").TBoolean; toolCallId: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"tool_call_finished">; }>, import("@sinclair/typebox").TObject<{ sessionId: import("@sinclair/typebox").TString; timestamp: import("@sinclair/typebox").TNumber; durationMs: import("@sinclair/typebox").TNumber; model: import("@sinclair/typebox").TString; provider: import("@sinclair/typebox").TString; stopReason: import("@sinclair/typebox").TString; success: import("@sinclair/typebox").TBoolean; type: import("@sinclair/typebox").TLiteral<"turn_finished">; }>]>; export type HappyTracingEvent = Static; export declare const registerHappyPluginStreamResponseSchema: import("@sinclair/typebox").TObject<{ registrationId: import("@sinclair/typebox").TString; }>; export declare const happyPluginStreamStatusSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"closed">, import("@sinclair/typebox").TLiteral<"connected">, import("@sinclair/typebox").TLiteral<"reconnecting">]>; export type HappyPluginStreamStatus = Static; export interface HappySystemPromptHook { readonly failure: string | undefined; readonly registrationId: string; readonly status: HappyPluginStreamStatus; close(): Promise; } export interface HappyTracingSubscription { readonly failure: string | undefined; readonly registrationId: string; readonly status: HappyPluginStreamStatus; close(): Promise; } export declare const listPluginsResponseSchema: import("@sinclair/typebox").TObject<{ plugins: import("@sinclair/typebox").TArray, import("@sinclair/typebox").TLiteral<"degraded">, import("@sinclair/typebox").TLiteral<"failed">]>; name: import("@sinclair/typebox").TString; provisioningTimeoutMs: import("@sinclair/typebox").TInteger; }>>; folder: import("@sinclair/typebox").TString; isSelf: import("@sinclair/typebox").TBoolean; name: import("@sinclair/typebox").TString; state: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"failed">, import("@sinclair/typebox").TLiteral<"running">, import("@sinclair/typebox").TLiteral<"stopped">]>; status: import("@sinclair/typebox").TOptional; version: import("@sinclair/typebox").TString; }>>; }>; export declare const happyPluginAppResourceSummarySchema: import("@sinclair/typebox").TObject<{ mimeType: import("@sinclair/typebox").TString; path: import("@sinclair/typebox").TString; size: import("@sinclair/typebox").TInteger; uri: import("@sinclair/typebox").TString; }>; export type HappyPluginAppResourceSummary = Static; export declare const happyPluginAppToolSummarySchema: import("@sinclair/typebox").TObject<{ _meta: import("@sinclair/typebox").TObject<{ ui: import("@sinclair/typebox").TObject<{ resourceUri: import("@sinclair/typebox").TString; visibility: import("@sinclair/typebox").TArray, import("@sinclair/typebox").TLiteral<"app">]>>; }>; }>; description: import("@sinclair/typebox").TString; name: import("@sinclair/typebox").TString; server: import("@sinclair/typebox").TString; }>; export type HappyPluginAppToolSummary = Static; /** * One host-visible application. * * `id` is stable across restarts and replacements. `generation` is deliberately not: every plugin * process receives a new opaque value so an old renderer cannot address replacement code. */ export declare const happyPluginAppContributionSchema: import("@sinclair/typebox").TObject<{ appId: import("@sinclair/typebox").TString; generation: import("@sinclair/typebox").TString; id: import("@sinclair/typebox").TString; page: import("@sinclair/typebox").TString; pluginFolder: import("@sinclair/typebox").TString; resourceUri: import("@sinclair/typebox").TString; resources: import("@sinclair/typebox").TArray>; sidebar: import("@sinclair/typebox").TObject<{ icon: import("@sinclair/typebox").TOptional; label: import("@sinclair/typebox").TString; order: import("@sinclair/typebox").TInteger; }>; title: import("@sinclair/typebox").TString; tools: import("@sinclair/typebox").TArray, import("@sinclair/typebox").TLiteral<"app">]>>; }>; }>; description: import("@sinclair/typebox").TString; name: import("@sinclair/typebox").TString; server: import("@sinclair/typebox").TString; }>>; }>; export type HappyPluginAppContribution = Static; export declare const happyProviderUsageWindowSchema: import("@sinclair/typebox").TObject<{ durationMs: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; resetsAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; startsAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; usedPercent: import("@sinclair/typebox").TNumber; }>; export type HappyProviderUsageWindow = Static; export declare const happyProviderUsageCreditsSchema: import("@sinclair/typebox").TObject<{ available: import("@sinclair/typebox").TBoolean; remainingCents: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; unlimited: import("@sinclair/typebox").TBoolean; usedPercent: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; }>; export type HappyProviderUsageCredits = Static; export declare const happyProviderUsageSchema: import("@sinclair/typebox").TObject<{ capturedAt: import("@sinclair/typebox").TNumber; credits: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ available: import("@sinclair/typebox").TBoolean; remainingCents: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; unlimited: import("@sinclair/typebox").TBoolean; usedPercent: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; }>, import("@sinclair/typebox").TNull]>; exhausted: import("@sinclair/typebox").TBoolean; planName: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; providerId: import("@sinclair/typebox").TString; vendor: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"claude">, import("@sinclair/typebox").TLiteral<"codex">, import("@sinclair/typebox").TLiteral<"grok">]>; windows: import("@sinclair/typebox").TObject<{ fiveHour: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ durationMs: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; resetsAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; startsAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; usedPercent: import("@sinclair/typebox").TNumber; }>, import("@sinclair/typebox").TNull]>; monthly: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ durationMs: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; resetsAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; startsAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; usedPercent: import("@sinclair/typebox").TNumber; }>, import("@sinclair/typebox").TNull]>; weekly: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ durationMs: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; resetsAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; startsAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; usedPercent: import("@sinclair/typebox").TNumber; }>, import("@sinclair/typebox").TNull]>; }>; }>; export type HappyProviderUsage = Static; export declare const happyProviderUsageEntrySchema: import("@sinclair/typebox").TObject<{ checkedAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; error: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; providerId: import("@sinclair/typebox").TString; usage: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ capturedAt: import("@sinclair/typebox").TNumber; credits: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ available: import("@sinclair/typebox").TBoolean; remainingCents: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; unlimited: import("@sinclair/typebox").TBoolean; usedPercent: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; }>, import("@sinclair/typebox").TNull]>; exhausted: import("@sinclair/typebox").TBoolean; planName: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; providerId: import("@sinclair/typebox").TString; vendor: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"claude">, import("@sinclair/typebox").TLiteral<"codex">, import("@sinclair/typebox").TLiteral<"grok">]>; windows: import("@sinclair/typebox").TObject<{ fiveHour: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ durationMs: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; resetsAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; startsAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; usedPercent: import("@sinclair/typebox").TNumber; }>, import("@sinclair/typebox").TNull]>; monthly: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ durationMs: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; resetsAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; startsAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; usedPercent: import("@sinclair/typebox").TNumber; }>, import("@sinclair/typebox").TNull]>; weekly: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ durationMs: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; resetsAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; startsAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; usedPercent: import("@sinclair/typebox").TNumber; }>, import("@sinclair/typebox").TNull]>; }>; }>, import("@sinclair/typebox").TNull]>; }>; export type HappyProviderUsageEntry = Static; export declare const listHappyProviderUsageResponseSchema: import("@sinclair/typebox").TObject<{ providers: import("@sinclair/typebox").TArray; error: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; providerId: import("@sinclair/typebox").TString; usage: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ capturedAt: import("@sinclair/typebox").TNumber; credits: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ available: import("@sinclair/typebox").TBoolean; remainingCents: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; unlimited: import("@sinclair/typebox").TBoolean; usedPercent: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; }>, import("@sinclair/typebox").TNull]>; exhausted: import("@sinclair/typebox").TBoolean; planName: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; providerId: import("@sinclair/typebox").TString; vendor: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"claude">, import("@sinclair/typebox").TLiteral<"codex">, import("@sinclair/typebox").TLiteral<"grok">]>; windows: import("@sinclair/typebox").TObject<{ fiveHour: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ durationMs: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; resetsAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; startsAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; usedPercent: import("@sinclair/typebox").TNumber; }>, import("@sinclair/typebox").TNull]>; monthly: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ durationMs: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; resetsAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; startsAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; usedPercent: import("@sinclair/typebox").TNumber; }>, import("@sinclair/typebox").TNull]>; weekly: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ durationMs: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; resetsAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; startsAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; usedPercent: import("@sinclair/typebox").TNumber; }>, import("@sinclair/typebox").TNull]>; }>; }>, import("@sinclair/typebox").TNull]>; }>>; }>; export declare const happyPluginTestSeedSchema: import("@sinclair/typebox").TObject<{ computeProvider: import("@sinclair/typebox").TOptional>; plugins: import("@sinclair/typebox").TOptional, import("@sinclair/typebox").TLiteral<"degraded">, import("@sinclair/typebox").TLiteral<"failed">]>; name: import("@sinclair/typebox").TString; provisioningTimeoutMs: import("@sinclair/typebox").TInteger; }>>; folder: import("@sinclair/typebox").TString; isSelf: import("@sinclair/typebox").TBoolean; name: import("@sinclair/typebox").TString; state: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"failed">, import("@sinclair/typebox").TLiteral<"running">, import("@sinclair/typebox").TLiteral<"stopped">]>; status: import("@sinclair/typebox").TOptional; version: import("@sinclair/typebox").TString; }>>>; providerUsage: import("@sinclair/typebox").TOptional; error: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; providerId: import("@sinclair/typebox").TString; usage: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ capturedAt: import("@sinclair/typebox").TNumber; credits: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ available: import("@sinclair/typebox").TBoolean; remainingCents: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; unlimited: import("@sinclair/typebox").TBoolean; usedPercent: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; }>, import("@sinclair/typebox").TNull]>; exhausted: import("@sinclair/typebox").TBoolean; planName: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; providerId: import("@sinclair/typebox").TString; vendor: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"claude">, import("@sinclair/typebox").TLiteral<"codex">, import("@sinclair/typebox").TLiteral<"grok">]>; windows: import("@sinclair/typebox").TObject<{ fiveHour: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ durationMs: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; resetsAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; startsAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; usedPercent: import("@sinclair/typebox").TNumber; }>, import("@sinclair/typebox").TNull]>; monthly: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ durationMs: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; resetsAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; startsAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; usedPercent: import("@sinclair/typebox").TNumber; }>, import("@sinclair/typebox").TNull]>; weekly: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ durationMs: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; resetsAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; startsAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; usedPercent: import("@sinclair/typebox").TNumber; }>, import("@sinclair/typebox").TNull]>; }>; }>, import("@sinclair/typebox").TNull]>; }>>>; projects: import("@sinclair/typebox").TOptional; id: import("@sinclair/typebox").TString; name: import("@sinclair/typebox").TString; path: import("@sinclair/typebox").TString; }>>>; sessions: import("@sinclair/typebox").TOptional; workspaceId: import("@sinclair/typebox").TOptional; }>>>; workspaces: import("@sinclair/typebox").TOptional; baseRef: import("@sinclair/typebox").TOptional; error: import("@sinclair/typebox").TOptional; id: import("@sinclair/typebox").TString; name: import("@sinclair/typebox").TString; path: import("@sinclair/typebox").TString; projectId: import("@sinclair/typebox").TString; status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"initializing">, import("@sinclair/typebox").TLiteral<"ready">, import("@sinclair/typebox").TLiteral<"failed">, import("@sinclair/typebox").TLiteral<"archiving">, import("@sinclair/typebox").TLiteral<"archived">]>; version: import("@sinclair/typebox").TInteger; }>>>; }>; export type HappyPluginTestSeed = Static; export declare const happyPluginTestRequestSchema: import("@sinclair/typebox").TObject<{ body: import("@sinclair/typebox").TOptional; method: import("@sinclair/typebox").TString; path: import("@sinclair/typebox").TString; }>; export type HappyPluginTestRequest = Static; export declare const createHappyPluginClientOptionsSchema: import("@sinclair/typebox").TObject<{ socketPath: import("@sinclair/typebox").TOptional; token: import("@sinclair/typebox").TOptional; }>; export type CreateHappyPluginClientOptions = Static; export declare const happyPluginReadyBodySchema: import("@sinclair/typebox").TObject<{ status: import("@sinclair/typebox").TString; }>; export declare const updateHappyPluginStatusBodySchema: import("@sinclair/typebox").TObject<{ status: import("@sinclair/typebox").TString; }>; /** * The public API available to a running Happy plugin. * * Use the exported {@link happy} singleton in normal plugin code. Happy injects and authenticates * its transport when the plugin process starts. */ export interface HappyPluginClient { /** * Declares startup complete after every MCP server and other contribution has registered. * * Happy rejects registrations made after this call. */ ready(status: HappyPluginStatus): Promise; /** Send a durable notification to an agent identified by a session's stable Agent ID. */ readonly agents: { sendMessage(input: SendAgentMessageInput): Promise; }; /** Register or consume generation-scoped filesystem-and-command compute providers. */ readonly compute: { create(input: CreateHappyComputeInput): Promise; readonly events: { subscribe(handler: (event: HappyComputePreparationEvent) => void | Promise): Promise; }; exec(input: ExecHappyComputeInput): Promise; readonly files: { read(input: ReadHappyComputeInput): Promise; write(input: WriteHappyComputeInput): Promise; }; readonly instances: { list(): Promise; }; list(): Promise; register(handlers: HappyComputeProviderHandlers, options?: RegisterHappyComputeProviderInput): Promise; stop(input: StopHappyComputeInput): Promise; }; /** Register middleware that may replace the composed system prompt before an agent turn. */ readonly hooks: { onSystemPrompt(handler: (input: HappySystemPromptHookInput) => HappySystemPromptHookResult | Promise): Promise; }; /** Inspect projects known to the local Happy daemon. */ readonly projects: { list(): Promise; }; /** Contribute MCP tools to ordinary Happy agent sessions. */ readonly mcp: { startServer(options: StartHappyMcpServerOptions): Promise; }; /** Publish a bounded file into Happy's shared generated-media folder. */ readonly media: { publish(input: PublishHappyMediaInput): Promise; }; /** * Observe or handle manifest-declared network destinations reached through Happy's managed * proxy. The sandbox network allowlist remains authoritative. */ readonly network: { onRequest(handler: HappyNetworkRequestHandler): Promise; onTunnel(handler: HappyNetworkTunnelHandler): Promise; }; /** Inspect plugins registered with the owning Happy daemon. */ readonly plugins: { list(): Promise; }; /** Inspect provider-neutral account usage held by the local daemon. */ readonly providers: { usage(): Promise; }; /** Inspect existing sessions or create a new agent session. */ readonly sessions: { create(input: CreateSessionInput): Promise; list(): Promise; }; /** Add and manage persistent entries in Happy's fixed UI slots. */ readonly slots: { create(input: CreateHappySlotEntryInput): Promise; list(input?: ListHappySlotEntriesInput): Promise; remove(id: string): Promise; update(id: string, input: UpdateHappySlotEntryInput): Promise; }; /** Observe bounded, non-blocking agent lifecycle events. */ readonly tracing: { subscribe(handler: (event: HappyTracingEvent) => void | Promise): Promise; }; /** Update the plugin-authored human-readable status shown by Happy. */ readonly status: { set(status: HappyPluginStatus): Promise; }; /** Inspect and mutate Happy-managed Git workspaces. */ readonly workspaces: { archive(input: ArchiveWorkspaceInput): Promise; create(input: CreateWorkspaceInput): Promise; exec(input: ExecuteWorkspaceCommandInput): Promise; readonly files: { read(input: ReadWorkspaceFileInput): Promise; write(input: WriteWorkspaceFileInput): Promise; }; list(input?: ListWorkspacesInput): Promise; rename(input: RenameWorkspaceInput): Promise; /** Observe workspace reservations and readiness changes through Rig's live event stream. */ subscribe(handler: (event: HappyWorkspaceEvent) => void | Promise): Promise; }; } //# sourceMappingURL=types.d.ts.map