@hachej/boring-agent 0.1.81 → 0.1.82

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,367 @@
1
+ import { z } from 'zod';
2
+
3
+ interface SessionStore {
4
+ list(ctx: SessionCtx, options?: SessionListOptions): Promise<SessionSummary[]>;
5
+ create(ctx: SessionCtx, init?: {
6
+ title?: string;
7
+ }): Promise<SessionSummary>;
8
+ load(ctx: SessionCtx, sessionId: string): Promise<SessionDetail>;
9
+ delete(ctx: SessionCtx, sessionId: string): Promise<void>;
10
+ }
11
+ interface SessionCtx {
12
+ workspaceId?: string;
13
+ userId?: string;
14
+ }
15
+ interface SessionListOptions {
16
+ limit?: number;
17
+ offset?: number;
18
+ includeId?: string;
19
+ }
20
+ interface SessionSummary {
21
+ id: string;
22
+ title: string;
23
+ createdAt: string;
24
+ updatedAt: string;
25
+ turnCount: number;
26
+ }
27
+ type SessionDetail = SessionSummary;
28
+
29
+ interface ToolUiMetadata {
30
+ /** Renderer key registered by the app shell, e.g. `pi-subagent`. */
31
+ rendererId?: string;
32
+ /** Optional grouping label for future tool timelines/summaries. */
33
+ displayGroup?: string;
34
+ /** Optional icon hint. Frontends decide whether/how to honor it. */
35
+ icon?: string;
36
+ /** Renderer-specific structured data. */
37
+ details?: unknown;
38
+ }
39
+ declare function isToolUiMetadata(value: unknown): value is ToolUiMetadata;
40
+ /**
41
+ * Extract structured UI metadata from a ToolResult-like output.
42
+ *
43
+ * Shape:
44
+ * output.details.ui = { rendererId, displayGroup, icon, details }
45
+ */
46
+ declare function extractToolUiMetadata(output: unknown): ToolUiMetadata | undefined;
47
+
48
+ type BoringChatMessageRole = 'user' | 'assistant' | 'system';
49
+ type BoringChatMessageStatus = 'pending' | 'streaming' | 'done' | 'aborted' | 'error';
50
+ type BoringChatReasoningState = 'streaming' | 'done';
51
+ type BoringChatToolState = 'input-streaming' | 'input-available' | 'output-available' | 'output-error' | 'aborted';
52
+ type BoringChatPart = {
53
+ type: 'text';
54
+ id?: string;
55
+ text: string;
56
+ } | {
57
+ type: 'reasoning';
58
+ id: string;
59
+ text: string;
60
+ state?: BoringChatReasoningState;
61
+ } | {
62
+ type: 'tool-call';
63
+ id: string;
64
+ toolName: string;
65
+ input?: unknown;
66
+ state: BoringChatToolState;
67
+ output?: unknown;
68
+ errorText?: string;
69
+ ui?: ToolUiMetadata;
70
+ } | {
71
+ type: 'file';
72
+ id?: string;
73
+ filename?: string;
74
+ mediaType?: string;
75
+ url?: string;
76
+ path?: string;
77
+ filesystem?: string;
78
+ } | {
79
+ type: 'notice';
80
+ id?: string;
81
+ level: 'info' | 'warning' | 'error';
82
+ text: string;
83
+ };
84
+ interface BoringChatMessage {
85
+ id: string;
86
+ role: BoringChatMessageRole;
87
+ status?: BoringChatMessageStatus;
88
+ parts: BoringChatPart[];
89
+ createdAt?: string;
90
+ clientNonce?: string;
91
+ clientSeq?: number;
92
+ piEntryId?: string;
93
+ turnId?: string;
94
+ }
95
+
96
+ declare const ErrorCode: z.ZodEnum<["UNAUTHORIZED", "MISSING_API_KEY", "INVALID_API_KEY", "OIDC_REFRESH_FAILED", "VERCEL_AUTH_FAILED", "CONFIG_INVALID", "PATH_ESCAPE", "PATH_ABSOLUTE", "PATH_NULL_BYTE", "PATH_SYMLINK_ESCAPE", "PATH_NOT_FOUND", "PATH_NOT_WRITABLE", "WORKSPACE_UNINITIALIZED", "WORKSPACE_NOT_READY", "D1_HOST_SCOPE_VIOLATION", "AGENT_RUNTIME_NOT_READY", "AGENT_BINDING_DISPOSED", "AGENT_CONTROL_RECEIPT_INVALID", "RUNTIME_PROVISIONING_FAILED", "RUNTIME_PROVISIONING_LOCKED", "BWRAP_UNAVAILABLE", "BWRAP_TIMEOUT", "OUTPUT_TRUNCATED", "SANDBOX_NOT_READY", "SANDBOX_EXPIRED", "VERCEL_API_ERROR", "REMOTE_WORKER_TIMEOUT", "REMOTE_WORKER_STREAM_CLOSED", "CIRCUIT_OPEN", "ABORTED", "PAYMENT_REQUIRED", "MODEL_BUDGET_EXCEEDED", "METERING_UNSUPPORTED_COMMAND", "SESSION_NOT_FOUND", "SESSION_LOCKED", "STREAM_BUFFER_EVICTED", "CURSOR_OUT_OF_RANGE", "BRIDGE_COMMAND_INVALID", "TOOL_NOT_FOUND", "TOOL_INVALID_INPUT", "TOOL_EXECUTION_ERROR", "MCP_AGENT_ARTIFACT_INVALID", "MCP_AGENT_ARTIFACT_TOO_LARGE", "MCP_AGENT_ARTIFACT_UNAVAILABLE", "PLUGIN_LOAD_FAILED", "PLUGIN_NAME_COLLISION", "PLUGIN_RUNTIME_REVISION_MISMATCH", "PLUGIN_RUNTIME_PRIVATE_FILE", "PLUGIN_RUNTIME_UNSAFE_IMPORT", "PLUGIN_RUNTIME_TRANSFORM_FAILED", "RUNTIME_PLUGIN_NOT_FOUND", "RUNTIME_PLUGIN_ROUTE_NOT_FOUND", "RUNTIME_PLUGIN_HANDLER_FAILED", "RUNTIME_PLUGIN_LOAD_FAILED", "RUNTIME_PLUGIN_RESPONSE_UNSUPPORTED", "PROVISIONING_LAYOUT_FAILED", "PROVISIONING_SKILLS_FAILED", "PROVISIONING_TEMPLATES_FAILED", "PROVISIONING_NODE_PREFLIGHT_FAILED", "PROVISIONING_NPM_INSTALL_FAILED", "PROVISIONING_UV_BOOTSTRAP_FAILED", "PROVISIONING_UV_INSTALL_FAILED", "PROVISIONING_ARTIFACT_FAILED", "ERR_NOT_IMPLEMENTED_UNTIL_T1", "INTERNAL_ERROR"]>;
97
+ type ErrorCode = z.infer<typeof ErrorCode>;
98
+ declare const ERROR_CODES: ["UNAUTHORIZED", "MISSING_API_KEY", "INVALID_API_KEY", "OIDC_REFRESH_FAILED", "VERCEL_AUTH_FAILED", "CONFIG_INVALID", "PATH_ESCAPE", "PATH_ABSOLUTE", "PATH_NULL_BYTE", "PATH_SYMLINK_ESCAPE", "PATH_NOT_FOUND", "PATH_NOT_WRITABLE", "WORKSPACE_UNINITIALIZED", "WORKSPACE_NOT_READY", "D1_HOST_SCOPE_VIOLATION", "AGENT_RUNTIME_NOT_READY", "AGENT_BINDING_DISPOSED", "AGENT_CONTROL_RECEIPT_INVALID", "RUNTIME_PROVISIONING_FAILED", "RUNTIME_PROVISIONING_LOCKED", "BWRAP_UNAVAILABLE", "BWRAP_TIMEOUT", "OUTPUT_TRUNCATED", "SANDBOX_NOT_READY", "SANDBOX_EXPIRED", "VERCEL_API_ERROR", "REMOTE_WORKER_TIMEOUT", "REMOTE_WORKER_STREAM_CLOSED", "CIRCUIT_OPEN", "ABORTED", "PAYMENT_REQUIRED", "MODEL_BUDGET_EXCEEDED", "METERING_UNSUPPORTED_COMMAND", "SESSION_NOT_FOUND", "SESSION_LOCKED", "STREAM_BUFFER_EVICTED", "CURSOR_OUT_OF_RANGE", "BRIDGE_COMMAND_INVALID", "TOOL_NOT_FOUND", "TOOL_INVALID_INPUT", "TOOL_EXECUTION_ERROR", "MCP_AGENT_ARTIFACT_INVALID", "MCP_AGENT_ARTIFACT_TOO_LARGE", "MCP_AGENT_ARTIFACT_UNAVAILABLE", "PLUGIN_LOAD_FAILED", "PLUGIN_NAME_COLLISION", "PLUGIN_RUNTIME_REVISION_MISMATCH", "PLUGIN_RUNTIME_PRIVATE_FILE", "PLUGIN_RUNTIME_UNSAFE_IMPORT", "PLUGIN_RUNTIME_TRANSFORM_FAILED", "RUNTIME_PLUGIN_NOT_FOUND", "RUNTIME_PLUGIN_ROUTE_NOT_FOUND", "RUNTIME_PLUGIN_HANDLER_FAILED", "RUNTIME_PLUGIN_LOAD_FAILED", "RUNTIME_PLUGIN_RESPONSE_UNSUPPORTED", "PROVISIONING_LAYOUT_FAILED", "PROVISIONING_SKILLS_FAILED", "PROVISIONING_TEMPLATES_FAILED", "PROVISIONING_NODE_PREFLIGHT_FAILED", "PROVISIONING_NPM_INSTALL_FAILED", "PROVISIONING_UV_BOOTSTRAP_FAILED", "PROVISIONING_UV_INSTALL_FAILED", "PROVISIONING_ARTIFACT_FAILED", "ERR_NOT_IMPLEMENTED_UNTIL_T1", "INTERNAL_ERROR"];
99
+ declare const AgentDefinitionErrorCode: z.ZodEnum<["AGENT_DEFINITION_INVALID", "AGENT_DEFINITION_UNSUPPORTED_FIELD"]>;
100
+ type AgentDefinitionErrorCode = z.infer<typeof AgentDefinitionErrorCode>;
101
+ declare const AgentDeploymentErrorCode: z.ZodEnum<["AGENT_DEPLOYMENT_INVALID", "AGENT_DEPLOYMENT_UNSUPPORTED_FIELD"]>;
102
+ type AgentDeploymentErrorCode = z.infer<typeof AgentDeploymentErrorCode>;
103
+ /**
104
+ * Refusal codes for the agent-consumption contract (AC1, Decision 22,
105
+ * issue #636). Scoped like {@link AgentDeploymentErrorCode} — canonical,
106
+ * but intentionally outside the public {@link ErrorCode} / {@link
107
+ * ERROR_CODES} registry (and `docs/ERROR_CODES.md`) until a runtime
108
+ * dispatcher actually surfaces these over an API boundary.
109
+ */
110
+ declare const AgentConsumptionErrorCode: z.ZodEnum<["AGENT_CONSUMPTION_INVALID_TRANSITION", "AGENT_CONSUMPTION_CYCLE_DETECTED", "AGENT_CONSUMPTION_DEPTH_EXCEEDED", "AGENT_CONSUMPTION_SCHEMA_MISMATCH"]>;
111
+ type AgentConsumptionErrorCode = z.infer<typeof AgentConsumptionErrorCode>;
112
+ declare const ApiErrorPayloadSchema: z.ZodObject<{
113
+ code: z.ZodEnum<["UNAUTHORIZED", "MISSING_API_KEY", "INVALID_API_KEY", "OIDC_REFRESH_FAILED", "VERCEL_AUTH_FAILED", "CONFIG_INVALID", "PATH_ESCAPE", "PATH_ABSOLUTE", "PATH_NULL_BYTE", "PATH_SYMLINK_ESCAPE", "PATH_NOT_FOUND", "PATH_NOT_WRITABLE", "WORKSPACE_UNINITIALIZED", "WORKSPACE_NOT_READY", "D1_HOST_SCOPE_VIOLATION", "AGENT_RUNTIME_NOT_READY", "AGENT_BINDING_DISPOSED", "AGENT_CONTROL_RECEIPT_INVALID", "RUNTIME_PROVISIONING_FAILED", "RUNTIME_PROVISIONING_LOCKED", "BWRAP_UNAVAILABLE", "BWRAP_TIMEOUT", "OUTPUT_TRUNCATED", "SANDBOX_NOT_READY", "SANDBOX_EXPIRED", "VERCEL_API_ERROR", "REMOTE_WORKER_TIMEOUT", "REMOTE_WORKER_STREAM_CLOSED", "CIRCUIT_OPEN", "ABORTED", "PAYMENT_REQUIRED", "MODEL_BUDGET_EXCEEDED", "METERING_UNSUPPORTED_COMMAND", "SESSION_NOT_FOUND", "SESSION_LOCKED", "STREAM_BUFFER_EVICTED", "CURSOR_OUT_OF_RANGE", "BRIDGE_COMMAND_INVALID", "TOOL_NOT_FOUND", "TOOL_INVALID_INPUT", "TOOL_EXECUTION_ERROR", "MCP_AGENT_ARTIFACT_INVALID", "MCP_AGENT_ARTIFACT_TOO_LARGE", "MCP_AGENT_ARTIFACT_UNAVAILABLE", "PLUGIN_LOAD_FAILED", "PLUGIN_NAME_COLLISION", "PLUGIN_RUNTIME_REVISION_MISMATCH", "PLUGIN_RUNTIME_PRIVATE_FILE", "PLUGIN_RUNTIME_UNSAFE_IMPORT", "PLUGIN_RUNTIME_TRANSFORM_FAILED", "RUNTIME_PLUGIN_NOT_FOUND", "RUNTIME_PLUGIN_ROUTE_NOT_FOUND", "RUNTIME_PLUGIN_HANDLER_FAILED", "RUNTIME_PLUGIN_LOAD_FAILED", "RUNTIME_PLUGIN_RESPONSE_UNSUPPORTED", "PROVISIONING_LAYOUT_FAILED", "PROVISIONING_SKILLS_FAILED", "PROVISIONING_TEMPLATES_FAILED", "PROVISIONING_NODE_PREFLIGHT_FAILED", "PROVISIONING_NPM_INSTALL_FAILED", "PROVISIONING_UV_BOOTSTRAP_FAILED", "PROVISIONING_UV_INSTALL_FAILED", "PROVISIONING_ARTIFACT_FAILED", "ERR_NOT_IMPLEMENTED_UNTIL_T1", "INTERNAL_ERROR"]>;
114
+ message: z.ZodString;
115
+ details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
116
+ }, "strip", z.ZodTypeAny, {
117
+ code: "UNAUTHORIZED" | "MISSING_API_KEY" | "INVALID_API_KEY" | "OIDC_REFRESH_FAILED" | "VERCEL_AUTH_FAILED" | "CONFIG_INVALID" | "PATH_ESCAPE" | "PATH_ABSOLUTE" | "PATH_NULL_BYTE" | "PATH_SYMLINK_ESCAPE" | "PATH_NOT_FOUND" | "PATH_NOT_WRITABLE" | "WORKSPACE_UNINITIALIZED" | "WORKSPACE_NOT_READY" | "D1_HOST_SCOPE_VIOLATION" | "AGENT_RUNTIME_NOT_READY" | "AGENT_BINDING_DISPOSED" | "AGENT_CONTROL_RECEIPT_INVALID" | "RUNTIME_PROVISIONING_FAILED" | "RUNTIME_PROVISIONING_LOCKED" | "BWRAP_UNAVAILABLE" | "BWRAP_TIMEOUT" | "OUTPUT_TRUNCATED" | "SANDBOX_NOT_READY" | "SANDBOX_EXPIRED" | "VERCEL_API_ERROR" | "REMOTE_WORKER_TIMEOUT" | "REMOTE_WORKER_STREAM_CLOSED" | "CIRCUIT_OPEN" | "ABORTED" | "PAYMENT_REQUIRED" | "MODEL_BUDGET_EXCEEDED" | "METERING_UNSUPPORTED_COMMAND" | "SESSION_NOT_FOUND" | "SESSION_LOCKED" | "STREAM_BUFFER_EVICTED" | "CURSOR_OUT_OF_RANGE" | "BRIDGE_COMMAND_INVALID" | "TOOL_NOT_FOUND" | "TOOL_INVALID_INPUT" | "TOOL_EXECUTION_ERROR" | "MCP_AGENT_ARTIFACT_INVALID" | "MCP_AGENT_ARTIFACT_TOO_LARGE" | "MCP_AGENT_ARTIFACT_UNAVAILABLE" | "PLUGIN_LOAD_FAILED" | "PLUGIN_NAME_COLLISION" | "PLUGIN_RUNTIME_REVISION_MISMATCH" | "PLUGIN_RUNTIME_PRIVATE_FILE" | "PLUGIN_RUNTIME_UNSAFE_IMPORT" | "PLUGIN_RUNTIME_TRANSFORM_FAILED" | "RUNTIME_PLUGIN_NOT_FOUND" | "RUNTIME_PLUGIN_ROUTE_NOT_FOUND" | "RUNTIME_PLUGIN_HANDLER_FAILED" | "RUNTIME_PLUGIN_LOAD_FAILED" | "RUNTIME_PLUGIN_RESPONSE_UNSUPPORTED" | "PROVISIONING_LAYOUT_FAILED" | "PROVISIONING_SKILLS_FAILED" | "PROVISIONING_TEMPLATES_FAILED" | "PROVISIONING_NODE_PREFLIGHT_FAILED" | "PROVISIONING_NPM_INSTALL_FAILED" | "PROVISIONING_UV_BOOTSTRAP_FAILED" | "PROVISIONING_UV_INSTALL_FAILED" | "PROVISIONING_ARTIFACT_FAILED" | "ERR_NOT_IMPLEMENTED_UNTIL_T1" | "INTERNAL_ERROR";
118
+ message: string;
119
+ details?: Record<string, unknown> | undefined;
120
+ }, {
121
+ code: "UNAUTHORIZED" | "MISSING_API_KEY" | "INVALID_API_KEY" | "OIDC_REFRESH_FAILED" | "VERCEL_AUTH_FAILED" | "CONFIG_INVALID" | "PATH_ESCAPE" | "PATH_ABSOLUTE" | "PATH_NULL_BYTE" | "PATH_SYMLINK_ESCAPE" | "PATH_NOT_FOUND" | "PATH_NOT_WRITABLE" | "WORKSPACE_UNINITIALIZED" | "WORKSPACE_NOT_READY" | "D1_HOST_SCOPE_VIOLATION" | "AGENT_RUNTIME_NOT_READY" | "AGENT_BINDING_DISPOSED" | "AGENT_CONTROL_RECEIPT_INVALID" | "RUNTIME_PROVISIONING_FAILED" | "RUNTIME_PROVISIONING_LOCKED" | "BWRAP_UNAVAILABLE" | "BWRAP_TIMEOUT" | "OUTPUT_TRUNCATED" | "SANDBOX_NOT_READY" | "SANDBOX_EXPIRED" | "VERCEL_API_ERROR" | "REMOTE_WORKER_TIMEOUT" | "REMOTE_WORKER_STREAM_CLOSED" | "CIRCUIT_OPEN" | "ABORTED" | "PAYMENT_REQUIRED" | "MODEL_BUDGET_EXCEEDED" | "METERING_UNSUPPORTED_COMMAND" | "SESSION_NOT_FOUND" | "SESSION_LOCKED" | "STREAM_BUFFER_EVICTED" | "CURSOR_OUT_OF_RANGE" | "BRIDGE_COMMAND_INVALID" | "TOOL_NOT_FOUND" | "TOOL_INVALID_INPUT" | "TOOL_EXECUTION_ERROR" | "MCP_AGENT_ARTIFACT_INVALID" | "MCP_AGENT_ARTIFACT_TOO_LARGE" | "MCP_AGENT_ARTIFACT_UNAVAILABLE" | "PLUGIN_LOAD_FAILED" | "PLUGIN_NAME_COLLISION" | "PLUGIN_RUNTIME_REVISION_MISMATCH" | "PLUGIN_RUNTIME_PRIVATE_FILE" | "PLUGIN_RUNTIME_UNSAFE_IMPORT" | "PLUGIN_RUNTIME_TRANSFORM_FAILED" | "RUNTIME_PLUGIN_NOT_FOUND" | "RUNTIME_PLUGIN_ROUTE_NOT_FOUND" | "RUNTIME_PLUGIN_HANDLER_FAILED" | "RUNTIME_PLUGIN_LOAD_FAILED" | "RUNTIME_PLUGIN_RESPONSE_UNSUPPORTED" | "PROVISIONING_LAYOUT_FAILED" | "PROVISIONING_SKILLS_FAILED" | "PROVISIONING_TEMPLATES_FAILED" | "PROVISIONING_NODE_PREFLIGHT_FAILED" | "PROVISIONING_NPM_INSTALL_FAILED" | "PROVISIONING_UV_BOOTSTRAP_FAILED" | "PROVISIONING_UV_INSTALL_FAILED" | "PROVISIONING_ARTIFACT_FAILED" | "ERR_NOT_IMPLEMENTED_UNTIL_T1" | "INTERNAL_ERROR";
122
+ message: string;
123
+ details?: Record<string, unknown> | undefined;
124
+ }>;
125
+ type ApiErrorPayload = z.infer<typeof ApiErrorPayloadSchema>;
126
+ declare const ApiErrorResponseSchema: z.ZodObject<{
127
+ error: z.ZodObject<{
128
+ code: z.ZodEnum<["UNAUTHORIZED", "MISSING_API_KEY", "INVALID_API_KEY", "OIDC_REFRESH_FAILED", "VERCEL_AUTH_FAILED", "CONFIG_INVALID", "PATH_ESCAPE", "PATH_ABSOLUTE", "PATH_NULL_BYTE", "PATH_SYMLINK_ESCAPE", "PATH_NOT_FOUND", "PATH_NOT_WRITABLE", "WORKSPACE_UNINITIALIZED", "WORKSPACE_NOT_READY", "D1_HOST_SCOPE_VIOLATION", "AGENT_RUNTIME_NOT_READY", "AGENT_BINDING_DISPOSED", "AGENT_CONTROL_RECEIPT_INVALID", "RUNTIME_PROVISIONING_FAILED", "RUNTIME_PROVISIONING_LOCKED", "BWRAP_UNAVAILABLE", "BWRAP_TIMEOUT", "OUTPUT_TRUNCATED", "SANDBOX_NOT_READY", "SANDBOX_EXPIRED", "VERCEL_API_ERROR", "REMOTE_WORKER_TIMEOUT", "REMOTE_WORKER_STREAM_CLOSED", "CIRCUIT_OPEN", "ABORTED", "PAYMENT_REQUIRED", "MODEL_BUDGET_EXCEEDED", "METERING_UNSUPPORTED_COMMAND", "SESSION_NOT_FOUND", "SESSION_LOCKED", "STREAM_BUFFER_EVICTED", "CURSOR_OUT_OF_RANGE", "BRIDGE_COMMAND_INVALID", "TOOL_NOT_FOUND", "TOOL_INVALID_INPUT", "TOOL_EXECUTION_ERROR", "MCP_AGENT_ARTIFACT_INVALID", "MCP_AGENT_ARTIFACT_TOO_LARGE", "MCP_AGENT_ARTIFACT_UNAVAILABLE", "PLUGIN_LOAD_FAILED", "PLUGIN_NAME_COLLISION", "PLUGIN_RUNTIME_REVISION_MISMATCH", "PLUGIN_RUNTIME_PRIVATE_FILE", "PLUGIN_RUNTIME_UNSAFE_IMPORT", "PLUGIN_RUNTIME_TRANSFORM_FAILED", "RUNTIME_PLUGIN_NOT_FOUND", "RUNTIME_PLUGIN_ROUTE_NOT_FOUND", "RUNTIME_PLUGIN_HANDLER_FAILED", "RUNTIME_PLUGIN_LOAD_FAILED", "RUNTIME_PLUGIN_RESPONSE_UNSUPPORTED", "PROVISIONING_LAYOUT_FAILED", "PROVISIONING_SKILLS_FAILED", "PROVISIONING_TEMPLATES_FAILED", "PROVISIONING_NODE_PREFLIGHT_FAILED", "PROVISIONING_NPM_INSTALL_FAILED", "PROVISIONING_UV_BOOTSTRAP_FAILED", "PROVISIONING_UV_INSTALL_FAILED", "PROVISIONING_ARTIFACT_FAILED", "ERR_NOT_IMPLEMENTED_UNTIL_T1", "INTERNAL_ERROR"]>;
129
+ message: z.ZodString;
130
+ details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
131
+ }, "strip", z.ZodTypeAny, {
132
+ code: "UNAUTHORIZED" | "MISSING_API_KEY" | "INVALID_API_KEY" | "OIDC_REFRESH_FAILED" | "VERCEL_AUTH_FAILED" | "CONFIG_INVALID" | "PATH_ESCAPE" | "PATH_ABSOLUTE" | "PATH_NULL_BYTE" | "PATH_SYMLINK_ESCAPE" | "PATH_NOT_FOUND" | "PATH_NOT_WRITABLE" | "WORKSPACE_UNINITIALIZED" | "WORKSPACE_NOT_READY" | "D1_HOST_SCOPE_VIOLATION" | "AGENT_RUNTIME_NOT_READY" | "AGENT_BINDING_DISPOSED" | "AGENT_CONTROL_RECEIPT_INVALID" | "RUNTIME_PROVISIONING_FAILED" | "RUNTIME_PROVISIONING_LOCKED" | "BWRAP_UNAVAILABLE" | "BWRAP_TIMEOUT" | "OUTPUT_TRUNCATED" | "SANDBOX_NOT_READY" | "SANDBOX_EXPIRED" | "VERCEL_API_ERROR" | "REMOTE_WORKER_TIMEOUT" | "REMOTE_WORKER_STREAM_CLOSED" | "CIRCUIT_OPEN" | "ABORTED" | "PAYMENT_REQUIRED" | "MODEL_BUDGET_EXCEEDED" | "METERING_UNSUPPORTED_COMMAND" | "SESSION_NOT_FOUND" | "SESSION_LOCKED" | "STREAM_BUFFER_EVICTED" | "CURSOR_OUT_OF_RANGE" | "BRIDGE_COMMAND_INVALID" | "TOOL_NOT_FOUND" | "TOOL_INVALID_INPUT" | "TOOL_EXECUTION_ERROR" | "MCP_AGENT_ARTIFACT_INVALID" | "MCP_AGENT_ARTIFACT_TOO_LARGE" | "MCP_AGENT_ARTIFACT_UNAVAILABLE" | "PLUGIN_LOAD_FAILED" | "PLUGIN_NAME_COLLISION" | "PLUGIN_RUNTIME_REVISION_MISMATCH" | "PLUGIN_RUNTIME_PRIVATE_FILE" | "PLUGIN_RUNTIME_UNSAFE_IMPORT" | "PLUGIN_RUNTIME_TRANSFORM_FAILED" | "RUNTIME_PLUGIN_NOT_FOUND" | "RUNTIME_PLUGIN_ROUTE_NOT_FOUND" | "RUNTIME_PLUGIN_HANDLER_FAILED" | "RUNTIME_PLUGIN_LOAD_FAILED" | "RUNTIME_PLUGIN_RESPONSE_UNSUPPORTED" | "PROVISIONING_LAYOUT_FAILED" | "PROVISIONING_SKILLS_FAILED" | "PROVISIONING_TEMPLATES_FAILED" | "PROVISIONING_NODE_PREFLIGHT_FAILED" | "PROVISIONING_NPM_INSTALL_FAILED" | "PROVISIONING_UV_BOOTSTRAP_FAILED" | "PROVISIONING_UV_INSTALL_FAILED" | "PROVISIONING_ARTIFACT_FAILED" | "ERR_NOT_IMPLEMENTED_UNTIL_T1" | "INTERNAL_ERROR";
133
+ message: string;
134
+ details?: Record<string, unknown> | undefined;
135
+ }, {
136
+ code: "UNAUTHORIZED" | "MISSING_API_KEY" | "INVALID_API_KEY" | "OIDC_REFRESH_FAILED" | "VERCEL_AUTH_FAILED" | "CONFIG_INVALID" | "PATH_ESCAPE" | "PATH_ABSOLUTE" | "PATH_NULL_BYTE" | "PATH_SYMLINK_ESCAPE" | "PATH_NOT_FOUND" | "PATH_NOT_WRITABLE" | "WORKSPACE_UNINITIALIZED" | "WORKSPACE_NOT_READY" | "D1_HOST_SCOPE_VIOLATION" | "AGENT_RUNTIME_NOT_READY" | "AGENT_BINDING_DISPOSED" | "AGENT_CONTROL_RECEIPT_INVALID" | "RUNTIME_PROVISIONING_FAILED" | "RUNTIME_PROVISIONING_LOCKED" | "BWRAP_UNAVAILABLE" | "BWRAP_TIMEOUT" | "OUTPUT_TRUNCATED" | "SANDBOX_NOT_READY" | "SANDBOX_EXPIRED" | "VERCEL_API_ERROR" | "REMOTE_WORKER_TIMEOUT" | "REMOTE_WORKER_STREAM_CLOSED" | "CIRCUIT_OPEN" | "ABORTED" | "PAYMENT_REQUIRED" | "MODEL_BUDGET_EXCEEDED" | "METERING_UNSUPPORTED_COMMAND" | "SESSION_NOT_FOUND" | "SESSION_LOCKED" | "STREAM_BUFFER_EVICTED" | "CURSOR_OUT_OF_RANGE" | "BRIDGE_COMMAND_INVALID" | "TOOL_NOT_FOUND" | "TOOL_INVALID_INPUT" | "TOOL_EXECUTION_ERROR" | "MCP_AGENT_ARTIFACT_INVALID" | "MCP_AGENT_ARTIFACT_TOO_LARGE" | "MCP_AGENT_ARTIFACT_UNAVAILABLE" | "PLUGIN_LOAD_FAILED" | "PLUGIN_NAME_COLLISION" | "PLUGIN_RUNTIME_REVISION_MISMATCH" | "PLUGIN_RUNTIME_PRIVATE_FILE" | "PLUGIN_RUNTIME_UNSAFE_IMPORT" | "PLUGIN_RUNTIME_TRANSFORM_FAILED" | "RUNTIME_PLUGIN_NOT_FOUND" | "RUNTIME_PLUGIN_ROUTE_NOT_FOUND" | "RUNTIME_PLUGIN_HANDLER_FAILED" | "RUNTIME_PLUGIN_LOAD_FAILED" | "RUNTIME_PLUGIN_RESPONSE_UNSUPPORTED" | "PROVISIONING_LAYOUT_FAILED" | "PROVISIONING_SKILLS_FAILED" | "PROVISIONING_TEMPLATES_FAILED" | "PROVISIONING_NODE_PREFLIGHT_FAILED" | "PROVISIONING_NPM_INSTALL_FAILED" | "PROVISIONING_UV_BOOTSTRAP_FAILED" | "PROVISIONING_UV_INSTALL_FAILED" | "PROVISIONING_ARTIFACT_FAILED" | "ERR_NOT_IMPLEMENTED_UNTIL_T1" | "INTERNAL_ERROR";
137
+ message: string;
138
+ details?: Record<string, unknown> | undefined;
139
+ }>;
140
+ }, "strip", z.ZodTypeAny, {
141
+ error: {
142
+ code: "UNAUTHORIZED" | "MISSING_API_KEY" | "INVALID_API_KEY" | "OIDC_REFRESH_FAILED" | "VERCEL_AUTH_FAILED" | "CONFIG_INVALID" | "PATH_ESCAPE" | "PATH_ABSOLUTE" | "PATH_NULL_BYTE" | "PATH_SYMLINK_ESCAPE" | "PATH_NOT_FOUND" | "PATH_NOT_WRITABLE" | "WORKSPACE_UNINITIALIZED" | "WORKSPACE_NOT_READY" | "D1_HOST_SCOPE_VIOLATION" | "AGENT_RUNTIME_NOT_READY" | "AGENT_BINDING_DISPOSED" | "AGENT_CONTROL_RECEIPT_INVALID" | "RUNTIME_PROVISIONING_FAILED" | "RUNTIME_PROVISIONING_LOCKED" | "BWRAP_UNAVAILABLE" | "BWRAP_TIMEOUT" | "OUTPUT_TRUNCATED" | "SANDBOX_NOT_READY" | "SANDBOX_EXPIRED" | "VERCEL_API_ERROR" | "REMOTE_WORKER_TIMEOUT" | "REMOTE_WORKER_STREAM_CLOSED" | "CIRCUIT_OPEN" | "ABORTED" | "PAYMENT_REQUIRED" | "MODEL_BUDGET_EXCEEDED" | "METERING_UNSUPPORTED_COMMAND" | "SESSION_NOT_FOUND" | "SESSION_LOCKED" | "STREAM_BUFFER_EVICTED" | "CURSOR_OUT_OF_RANGE" | "BRIDGE_COMMAND_INVALID" | "TOOL_NOT_FOUND" | "TOOL_INVALID_INPUT" | "TOOL_EXECUTION_ERROR" | "MCP_AGENT_ARTIFACT_INVALID" | "MCP_AGENT_ARTIFACT_TOO_LARGE" | "MCP_AGENT_ARTIFACT_UNAVAILABLE" | "PLUGIN_LOAD_FAILED" | "PLUGIN_NAME_COLLISION" | "PLUGIN_RUNTIME_REVISION_MISMATCH" | "PLUGIN_RUNTIME_PRIVATE_FILE" | "PLUGIN_RUNTIME_UNSAFE_IMPORT" | "PLUGIN_RUNTIME_TRANSFORM_FAILED" | "RUNTIME_PLUGIN_NOT_FOUND" | "RUNTIME_PLUGIN_ROUTE_NOT_FOUND" | "RUNTIME_PLUGIN_HANDLER_FAILED" | "RUNTIME_PLUGIN_LOAD_FAILED" | "RUNTIME_PLUGIN_RESPONSE_UNSUPPORTED" | "PROVISIONING_LAYOUT_FAILED" | "PROVISIONING_SKILLS_FAILED" | "PROVISIONING_TEMPLATES_FAILED" | "PROVISIONING_NODE_PREFLIGHT_FAILED" | "PROVISIONING_NPM_INSTALL_FAILED" | "PROVISIONING_UV_BOOTSTRAP_FAILED" | "PROVISIONING_UV_INSTALL_FAILED" | "PROVISIONING_ARTIFACT_FAILED" | "ERR_NOT_IMPLEMENTED_UNTIL_T1" | "INTERNAL_ERROR";
143
+ message: string;
144
+ details?: Record<string, unknown> | undefined;
145
+ };
146
+ }, {
147
+ error: {
148
+ code: "UNAUTHORIZED" | "MISSING_API_KEY" | "INVALID_API_KEY" | "OIDC_REFRESH_FAILED" | "VERCEL_AUTH_FAILED" | "CONFIG_INVALID" | "PATH_ESCAPE" | "PATH_ABSOLUTE" | "PATH_NULL_BYTE" | "PATH_SYMLINK_ESCAPE" | "PATH_NOT_FOUND" | "PATH_NOT_WRITABLE" | "WORKSPACE_UNINITIALIZED" | "WORKSPACE_NOT_READY" | "D1_HOST_SCOPE_VIOLATION" | "AGENT_RUNTIME_NOT_READY" | "AGENT_BINDING_DISPOSED" | "AGENT_CONTROL_RECEIPT_INVALID" | "RUNTIME_PROVISIONING_FAILED" | "RUNTIME_PROVISIONING_LOCKED" | "BWRAP_UNAVAILABLE" | "BWRAP_TIMEOUT" | "OUTPUT_TRUNCATED" | "SANDBOX_NOT_READY" | "SANDBOX_EXPIRED" | "VERCEL_API_ERROR" | "REMOTE_WORKER_TIMEOUT" | "REMOTE_WORKER_STREAM_CLOSED" | "CIRCUIT_OPEN" | "ABORTED" | "PAYMENT_REQUIRED" | "MODEL_BUDGET_EXCEEDED" | "METERING_UNSUPPORTED_COMMAND" | "SESSION_NOT_FOUND" | "SESSION_LOCKED" | "STREAM_BUFFER_EVICTED" | "CURSOR_OUT_OF_RANGE" | "BRIDGE_COMMAND_INVALID" | "TOOL_NOT_FOUND" | "TOOL_INVALID_INPUT" | "TOOL_EXECUTION_ERROR" | "MCP_AGENT_ARTIFACT_INVALID" | "MCP_AGENT_ARTIFACT_TOO_LARGE" | "MCP_AGENT_ARTIFACT_UNAVAILABLE" | "PLUGIN_LOAD_FAILED" | "PLUGIN_NAME_COLLISION" | "PLUGIN_RUNTIME_REVISION_MISMATCH" | "PLUGIN_RUNTIME_PRIVATE_FILE" | "PLUGIN_RUNTIME_UNSAFE_IMPORT" | "PLUGIN_RUNTIME_TRANSFORM_FAILED" | "RUNTIME_PLUGIN_NOT_FOUND" | "RUNTIME_PLUGIN_ROUTE_NOT_FOUND" | "RUNTIME_PLUGIN_HANDLER_FAILED" | "RUNTIME_PLUGIN_LOAD_FAILED" | "RUNTIME_PLUGIN_RESPONSE_UNSUPPORTED" | "PROVISIONING_LAYOUT_FAILED" | "PROVISIONING_SKILLS_FAILED" | "PROVISIONING_TEMPLATES_FAILED" | "PROVISIONING_NODE_PREFLIGHT_FAILED" | "PROVISIONING_NPM_INSTALL_FAILED" | "PROVISIONING_UV_BOOTSTRAP_FAILED" | "PROVISIONING_UV_INSTALL_FAILED" | "PROVISIONING_ARTIFACT_FAILED" | "ERR_NOT_IMPLEMENTED_UNTIL_T1" | "INTERNAL_ERROR";
149
+ message: string;
150
+ details?: Record<string, unknown> | undefined;
151
+ };
152
+ }>;
153
+ type ApiErrorResponse = z.infer<typeof ApiErrorResponseSchema>;
154
+ declare const ErrorLogFieldsSchema: z.ZodObject<{
155
+ level: z.ZodEnum<["warn", "error"]>;
156
+ code: z.ZodEnum<["UNAUTHORIZED", "MISSING_API_KEY", "INVALID_API_KEY", "OIDC_REFRESH_FAILED", "VERCEL_AUTH_FAILED", "CONFIG_INVALID", "PATH_ESCAPE", "PATH_ABSOLUTE", "PATH_NULL_BYTE", "PATH_SYMLINK_ESCAPE", "PATH_NOT_FOUND", "PATH_NOT_WRITABLE", "WORKSPACE_UNINITIALIZED", "WORKSPACE_NOT_READY", "D1_HOST_SCOPE_VIOLATION", "AGENT_RUNTIME_NOT_READY", "AGENT_BINDING_DISPOSED", "AGENT_CONTROL_RECEIPT_INVALID", "RUNTIME_PROVISIONING_FAILED", "RUNTIME_PROVISIONING_LOCKED", "BWRAP_UNAVAILABLE", "BWRAP_TIMEOUT", "OUTPUT_TRUNCATED", "SANDBOX_NOT_READY", "SANDBOX_EXPIRED", "VERCEL_API_ERROR", "REMOTE_WORKER_TIMEOUT", "REMOTE_WORKER_STREAM_CLOSED", "CIRCUIT_OPEN", "ABORTED", "PAYMENT_REQUIRED", "MODEL_BUDGET_EXCEEDED", "METERING_UNSUPPORTED_COMMAND", "SESSION_NOT_FOUND", "SESSION_LOCKED", "STREAM_BUFFER_EVICTED", "CURSOR_OUT_OF_RANGE", "BRIDGE_COMMAND_INVALID", "TOOL_NOT_FOUND", "TOOL_INVALID_INPUT", "TOOL_EXECUTION_ERROR", "MCP_AGENT_ARTIFACT_INVALID", "MCP_AGENT_ARTIFACT_TOO_LARGE", "MCP_AGENT_ARTIFACT_UNAVAILABLE", "PLUGIN_LOAD_FAILED", "PLUGIN_NAME_COLLISION", "PLUGIN_RUNTIME_REVISION_MISMATCH", "PLUGIN_RUNTIME_PRIVATE_FILE", "PLUGIN_RUNTIME_UNSAFE_IMPORT", "PLUGIN_RUNTIME_TRANSFORM_FAILED", "RUNTIME_PLUGIN_NOT_FOUND", "RUNTIME_PLUGIN_ROUTE_NOT_FOUND", "RUNTIME_PLUGIN_HANDLER_FAILED", "RUNTIME_PLUGIN_LOAD_FAILED", "RUNTIME_PLUGIN_RESPONSE_UNSUPPORTED", "PROVISIONING_LAYOUT_FAILED", "PROVISIONING_SKILLS_FAILED", "PROVISIONING_TEMPLATES_FAILED", "PROVISIONING_NODE_PREFLIGHT_FAILED", "PROVISIONING_NPM_INSTALL_FAILED", "PROVISIONING_UV_BOOTSTRAP_FAILED", "PROVISIONING_UV_INSTALL_FAILED", "PROVISIONING_ARTIFACT_FAILED", "ERR_NOT_IMPLEMENTED_UNTIL_T1", "INTERNAL_ERROR"]>;
157
+ prefix: z.ZodString;
158
+ msg: z.ZodString;
159
+ }, "strip", z.ZodUnknown, z.objectOutputType<{
160
+ level: z.ZodEnum<["warn", "error"]>;
161
+ code: z.ZodEnum<["UNAUTHORIZED", "MISSING_API_KEY", "INVALID_API_KEY", "OIDC_REFRESH_FAILED", "VERCEL_AUTH_FAILED", "CONFIG_INVALID", "PATH_ESCAPE", "PATH_ABSOLUTE", "PATH_NULL_BYTE", "PATH_SYMLINK_ESCAPE", "PATH_NOT_FOUND", "PATH_NOT_WRITABLE", "WORKSPACE_UNINITIALIZED", "WORKSPACE_NOT_READY", "D1_HOST_SCOPE_VIOLATION", "AGENT_RUNTIME_NOT_READY", "AGENT_BINDING_DISPOSED", "AGENT_CONTROL_RECEIPT_INVALID", "RUNTIME_PROVISIONING_FAILED", "RUNTIME_PROVISIONING_LOCKED", "BWRAP_UNAVAILABLE", "BWRAP_TIMEOUT", "OUTPUT_TRUNCATED", "SANDBOX_NOT_READY", "SANDBOX_EXPIRED", "VERCEL_API_ERROR", "REMOTE_WORKER_TIMEOUT", "REMOTE_WORKER_STREAM_CLOSED", "CIRCUIT_OPEN", "ABORTED", "PAYMENT_REQUIRED", "MODEL_BUDGET_EXCEEDED", "METERING_UNSUPPORTED_COMMAND", "SESSION_NOT_FOUND", "SESSION_LOCKED", "STREAM_BUFFER_EVICTED", "CURSOR_OUT_OF_RANGE", "BRIDGE_COMMAND_INVALID", "TOOL_NOT_FOUND", "TOOL_INVALID_INPUT", "TOOL_EXECUTION_ERROR", "MCP_AGENT_ARTIFACT_INVALID", "MCP_AGENT_ARTIFACT_TOO_LARGE", "MCP_AGENT_ARTIFACT_UNAVAILABLE", "PLUGIN_LOAD_FAILED", "PLUGIN_NAME_COLLISION", "PLUGIN_RUNTIME_REVISION_MISMATCH", "PLUGIN_RUNTIME_PRIVATE_FILE", "PLUGIN_RUNTIME_UNSAFE_IMPORT", "PLUGIN_RUNTIME_TRANSFORM_FAILED", "RUNTIME_PLUGIN_NOT_FOUND", "RUNTIME_PLUGIN_ROUTE_NOT_FOUND", "RUNTIME_PLUGIN_HANDLER_FAILED", "RUNTIME_PLUGIN_LOAD_FAILED", "RUNTIME_PLUGIN_RESPONSE_UNSUPPORTED", "PROVISIONING_LAYOUT_FAILED", "PROVISIONING_SKILLS_FAILED", "PROVISIONING_TEMPLATES_FAILED", "PROVISIONING_NODE_PREFLIGHT_FAILED", "PROVISIONING_NPM_INSTALL_FAILED", "PROVISIONING_UV_BOOTSTRAP_FAILED", "PROVISIONING_UV_INSTALL_FAILED", "PROVISIONING_ARTIFACT_FAILED", "ERR_NOT_IMPLEMENTED_UNTIL_T1", "INTERNAL_ERROR"]>;
162
+ prefix: z.ZodString;
163
+ msg: z.ZodString;
164
+ }, z.ZodUnknown, "strip">, z.objectInputType<{
165
+ level: z.ZodEnum<["warn", "error"]>;
166
+ code: z.ZodEnum<["UNAUTHORIZED", "MISSING_API_KEY", "INVALID_API_KEY", "OIDC_REFRESH_FAILED", "VERCEL_AUTH_FAILED", "CONFIG_INVALID", "PATH_ESCAPE", "PATH_ABSOLUTE", "PATH_NULL_BYTE", "PATH_SYMLINK_ESCAPE", "PATH_NOT_FOUND", "PATH_NOT_WRITABLE", "WORKSPACE_UNINITIALIZED", "WORKSPACE_NOT_READY", "D1_HOST_SCOPE_VIOLATION", "AGENT_RUNTIME_NOT_READY", "AGENT_BINDING_DISPOSED", "AGENT_CONTROL_RECEIPT_INVALID", "RUNTIME_PROVISIONING_FAILED", "RUNTIME_PROVISIONING_LOCKED", "BWRAP_UNAVAILABLE", "BWRAP_TIMEOUT", "OUTPUT_TRUNCATED", "SANDBOX_NOT_READY", "SANDBOX_EXPIRED", "VERCEL_API_ERROR", "REMOTE_WORKER_TIMEOUT", "REMOTE_WORKER_STREAM_CLOSED", "CIRCUIT_OPEN", "ABORTED", "PAYMENT_REQUIRED", "MODEL_BUDGET_EXCEEDED", "METERING_UNSUPPORTED_COMMAND", "SESSION_NOT_FOUND", "SESSION_LOCKED", "STREAM_BUFFER_EVICTED", "CURSOR_OUT_OF_RANGE", "BRIDGE_COMMAND_INVALID", "TOOL_NOT_FOUND", "TOOL_INVALID_INPUT", "TOOL_EXECUTION_ERROR", "MCP_AGENT_ARTIFACT_INVALID", "MCP_AGENT_ARTIFACT_TOO_LARGE", "MCP_AGENT_ARTIFACT_UNAVAILABLE", "PLUGIN_LOAD_FAILED", "PLUGIN_NAME_COLLISION", "PLUGIN_RUNTIME_REVISION_MISMATCH", "PLUGIN_RUNTIME_PRIVATE_FILE", "PLUGIN_RUNTIME_UNSAFE_IMPORT", "PLUGIN_RUNTIME_TRANSFORM_FAILED", "RUNTIME_PLUGIN_NOT_FOUND", "RUNTIME_PLUGIN_ROUTE_NOT_FOUND", "RUNTIME_PLUGIN_HANDLER_FAILED", "RUNTIME_PLUGIN_LOAD_FAILED", "RUNTIME_PLUGIN_RESPONSE_UNSUPPORTED", "PROVISIONING_LAYOUT_FAILED", "PROVISIONING_SKILLS_FAILED", "PROVISIONING_TEMPLATES_FAILED", "PROVISIONING_NODE_PREFLIGHT_FAILED", "PROVISIONING_NPM_INSTALL_FAILED", "PROVISIONING_UV_BOOTSTRAP_FAILED", "PROVISIONING_UV_INSTALL_FAILED", "PROVISIONING_ARTIFACT_FAILED", "ERR_NOT_IMPLEMENTED_UNTIL_T1", "INTERNAL_ERROR"]>;
167
+ prefix: z.ZodString;
168
+ msg: z.ZodString;
169
+ }, z.ZodUnknown, "strip">>;
170
+ type ErrorLogFields = z.infer<typeof ErrorLogFieldsSchema>;
171
+
172
+ interface ChatError {
173
+ code: ErrorCode;
174
+ message: string;
175
+ retryable?: boolean;
176
+ details?: unknown;
177
+ }
178
+
179
+ type ThinkingLevel = 'off' | 'low' | 'medium' | 'high';
180
+ interface ChatModelSelection {
181
+ provider: string;
182
+ id: string;
183
+ }
184
+ interface ChatAttachmentPayload {
185
+ filename?: string;
186
+ mediaType?: string;
187
+ url: string;
188
+ /** Workspace-relative path when the browser upload endpoint persisted the attachment. */
189
+ path?: string;
190
+ }
191
+ interface ChatSubmitPayload {
192
+ message: string;
193
+ displayMessage?: string;
194
+ clientNonce: string;
195
+ model?: ChatModelSelection;
196
+ thinkingLevel?: ThinkingLevel;
197
+ attachments?: ChatAttachmentPayload[];
198
+ }
199
+
200
+ type PiChatStatus = 'idle' | 'hydrating' | 'submitted' | 'streaming' | 'aborting' | 'error';
201
+ interface QueuedUserMessage {
202
+ id: string;
203
+ kind: 'followup';
204
+ clientNonce?: string;
205
+ clientSeq?: number;
206
+ displayText: string;
207
+ createdAt?: string;
208
+ }
209
+ interface PiChatSnapshot {
210
+ protocolVersion: 1;
211
+ sessionId: string;
212
+ seq: number;
213
+ status: PiChatStatus;
214
+ activeTurnId?: string;
215
+ messages: BoringChatMessage[];
216
+ queue: {
217
+ followUps: QueuedUserMessage[];
218
+ };
219
+ followUpMode: 'one-at-a-time';
220
+ error?: ChatError;
221
+ }
222
+
223
+ type PromptPayload = ChatSubmitPayload;
224
+ interface FollowUpPayload {
225
+ message: string;
226
+ displayMessage?: string;
227
+ clientNonce: string;
228
+ clientSeq: number;
229
+ }
230
+ interface QueueClearPayload {
231
+ clientNonce?: string;
232
+ clientSeq?: number;
233
+ }
234
+ type InterruptPayload = Record<string, never>;
235
+ type StopPayload = Record<string, never>;
236
+ interface CommandReceipt {
237
+ accepted: true;
238
+ cursor: number;
239
+ }
240
+ type PromptReceipt = CommandReceipt & {
241
+ clientNonce: string;
242
+ duplicate?: boolean;
243
+ };
244
+ type FollowUpReceipt = CommandReceipt & {
245
+ clientNonce: string;
246
+ clientSeq: number;
247
+ queued: true;
248
+ duplicate?: boolean;
249
+ };
250
+ type QueueClearReceipt = CommandReceipt & {
251
+ cleared: number;
252
+ };
253
+ type InterruptReceipt = CommandReceipt;
254
+ type StopReceipt = CommandReceipt & {
255
+ stopped: boolean;
256
+ clearedQueue: QueuedUserMessage[];
257
+ };
258
+
259
+ type PiChatEvent = {
260
+ type: 'agent-start';
261
+ seq: number;
262
+ turnId: string;
263
+ } | {
264
+ type: 'agent-end';
265
+ seq: number;
266
+ turnId: string;
267
+ status: 'ok' | 'aborted' | 'error';
268
+ willRetry?: boolean;
269
+ } | {
270
+ type: 'message-start';
271
+ seq: number;
272
+ messageId: string;
273
+ role: 'user' | 'assistant';
274
+ clientNonce?: string;
275
+ clientSeq?: number;
276
+ createdAt?: string;
277
+ text?: string;
278
+ files?: BoringChatPart[];
279
+ } | {
280
+ type: 'message-delta';
281
+ seq: number;
282
+ messageId: string;
283
+ partId: string;
284
+ kind: 'text' | 'reasoning';
285
+ delta: string;
286
+ } | {
287
+ type: 'message-part-end';
288
+ seq: number;
289
+ messageId: string;
290
+ partId: string;
291
+ kind: 'text' | 'reasoning';
292
+ text: string;
293
+ } | {
294
+ type: 'message-end';
295
+ seq: number;
296
+ messageId: string;
297
+ final: BoringChatMessage;
298
+ } | {
299
+ type: 'tool-call';
300
+ seq: number;
301
+ messageId: string;
302
+ toolCallId: string;
303
+ toolName: string;
304
+ input: unknown;
305
+ ui?: ToolUiMetadata;
306
+ } | {
307
+ type: 'tool-result';
308
+ seq: number;
309
+ messageId: string;
310
+ toolCallId: string;
311
+ output: unknown;
312
+ isError?: boolean;
313
+ errorText?: string;
314
+ ui?: ToolUiMetadata;
315
+ } | {
316
+ type: 'queue-updated';
317
+ seq: number;
318
+ queue: {
319
+ followUps: QueuedUserMessage[];
320
+ };
321
+ } | {
322
+ type: 'followup-consumed';
323
+ seq: number;
324
+ clientNonce?: string;
325
+ clientSeq?: number;
326
+ messageId: string;
327
+ } | {
328
+ type: 'file-changed';
329
+ seq: number;
330
+ path: string;
331
+ changeType: string;
332
+ } | {
333
+ type: 'ui-command';
334
+ seq: number;
335
+ command: unknown;
336
+ displayOnly: true;
337
+ } | {
338
+ type: 'usage';
339
+ seq: number;
340
+ usage: unknown;
341
+ } | {
342
+ type: 'auto-retry-start';
343
+ seq: number;
344
+ attempt: number;
345
+ maxAttempts: number;
346
+ delayMs: number;
347
+ errorMessage: string;
348
+ } | {
349
+ type: 'auto-retry-end';
350
+ seq: number;
351
+ success: boolean;
352
+ attempt: number;
353
+ finalError?: string;
354
+ } | {
355
+ type: 'error';
356
+ seq: number;
357
+ turnId?: string;
358
+ retryable?: boolean;
359
+ error: ChatError;
360
+ };
361
+ interface PiChatHeartbeatFrame {
362
+ type: 'heartbeat';
363
+ now: string;
364
+ }
365
+ type PiChatStreamFrame = PiChatEvent | PiChatHeartbeatFrame;
366
+
367
+ export { AgentConsumptionErrorCode as A, type BoringChatPart as B, type ChatModelSelection as C, type InterruptReceipt as D, ErrorCode as E, type FollowUpPayload as F, type PiChatHeartbeatFrame as G, type PiChatStreamFrame as H, type InterruptPayload as I, type SessionDetail as J, type ThinkingLevel as K, extractToolUiMetadata as L, isToolUiMetadata as M, type PiChatSnapshot as P, type QueueClearPayload as Q, type SessionListOptions as S, type ToolUiMetadata as T, type SessionSummary as a, type PiChatEvent as b, type PromptPayload as c, type PromptReceipt as d, type FollowUpReceipt as e, type QueueClearReceipt as f, type CommandReceipt as g, type StopPayload as h, type StopReceipt as i, type SessionStore as j, type BoringChatMessage as k, type PiChatStatus as l, type QueuedUserMessage as m, type ChatError as n, type SessionCtx as o, AgentDefinitionErrorCode as p, AgentDeploymentErrorCode as q, type ApiErrorPayload as r, ApiErrorPayloadSchema as s, type ApiErrorResponse as t, ApiErrorResponseSchema as u, type ChatAttachmentPayload as v, type ChatSubmitPayload as w, ERROR_CODES as x, type ErrorLogFields as y, ErrorLogFieldsSchema as z };
@@ -1,12 +1,12 @@
1
1
  import { W as WorkspaceRuntimeContext, S as Sandbox, a as Workspace, E as ExecOptions, b as ExecResult, c as WorkspaceChangeEvent } from '../sandbox-DthfJaOB.js';
2
2
  import { R as RemoteWorkerWorkspaceOp, a as RemoteWorkerWorkspaceResult, b as RemoteWorkerExecRequest } from '../protocol-B_OQKfbI.js';
3
3
  export { B as BwrapResourceLimits, C as CreateBwrapSandboxOptions, c as REMOTE_WORKER_PROVIDER, d as REMOTE_WORKER_RUNTIME_CWD, e as RemoteWorkerErrorPayload, f as RemoteWorkerExecResponse, g as RemoteWorkerFsEventEnvelope, W as WORKER_INTERNAL_TOKEN_HEADER, h as WORKER_REQUEST_ID_HEADER, i as WORKER_WORKSPACE_ID_HEADER, j as createBwrapSandbox } from '../protocol-B_OQKfbI.js';
4
- import { S as SandboxHandleStore, a as SandboxHandleRecord, F as FileSearch, C as CompiledAgentBundle, b as Sha256Digest, A as AgentDeployment, P as PluginRestartWarning, W as WorkspaceAgentDispatcherContext, c as WorkspaceAgentDispatcher } from '../workspaceAgentDispatcher-BbNd3y7u.js';
4
+ import { S as SandboxHandleStore, a as SandboxHandleRecord, F as FileSearch, C as CompiledAgentBundle, b as Sha256Digest, A as AgentDeployment, P as PluginRestartWarning, W as WorkspaceAgentDispatcherContext, c as WorkspaceAgentDispatcher } from '../workspaceAgentDispatcher-p4tlVvbM.js';
5
5
  import { Sandbox as Sandbox$1 } from '@vercel/sandbox';
6
- import { T as TelemetrySink, s as ToolReadinessRequirement, t as AgentConfig, b as Agent, d as AgentActor, j as AgentEvent, u as AgentTool, v as AgentHarnessFactory } from '../harness-If4r1n-K.js';
7
- export { w as AgentHarnessFactoryInput } from '../harness-If4r1n-K.js';
6
+ import { T as TelemetrySink, s as ToolReadinessRequirement, t as AgentConfig, b as Agent, d as AgentActor, j as AgentEvent, u as AgentTool, v as AgentHarnessFactory } from '../harness-C53mjCcq.js';
7
+ export { w as AgentHarnessFactoryInput } from '../harness-C53mjCcq.js';
8
8
  import { FastifyInstance, FastifyRequest, FastifyPluginAsync } from 'fastify';
9
- import { E as ErrorCode, o as SessionCtx, C as ChatModelSelection } from '../piChatEvent-DtqYMcID.js';
9
+ import { E as ErrorCode, o as SessionCtx, C as ChatModelSelection } from '../piChatEvent-3pFPXYPx.js';
10
10
  import { IncomingMessage, ServerResponse } from 'node:http';
11
11
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
12
12
  import { PackageSource, ExtensionFactory, SettingsManager } from '@mariozechner/pi-coding-agent';
@@ -54,11 +54,11 @@ import {
54
54
  resolveAgentDeployment,
55
55
  resolveMode,
56
56
  resolveSandboxHandle
57
- } from "../chunk-I7JNWIYM.js";
58
- import "../chunk-S2HYQYJP.js";
59
- import "../chunk-2AVRA73A.js";
57
+ } from "../chunk-7V3E6KHX.js";
58
+ import "../chunk-WODTQBXR.js";
59
+ import "../chunk-TNN3LPXE.js";
60
60
  import "../chunk-WSQ5QNIY.js";
61
- import "../chunk-3RSYCAHO.js";
61
+ import "../chunk-DC3S7SZG.js";
62
62
  import {
63
63
  PI_PACKAGE_RESOURCE_FILTERS,
64
64
  compactPiPackages,
@@ -66,9 +66,9 @@ import {
66
66
  createResourceSettingsManager,
67
67
  mergePiPackageSources,
68
68
  piPackageSourceKey
69
- } from "../chunk-24VL7G32.js";
69
+ } from "../chunk-5NAN3TAR.js";
70
70
  import "../chunk-AQBXNPMD.js";
71
- import "../chunk-YV6D7GCQ.js";
71
+ import "../chunk-PG2WOJ22.js";
72
72
  export {
73
73
  AgentDirectoryCompilerError,
74
74
  FileHandleStore,
@@ -4,14 +4,14 @@ import {
4
4
  constantTimeTokenEqual,
5
5
  createBwrapSandbox,
6
6
  createNodeWorkspace
7
- } from "../../chunk-I7JNWIYM.js";
8
- import "../../chunk-S2HYQYJP.js";
9
- import "../../chunk-2AVRA73A.js";
7
+ } from "../../chunk-7V3E6KHX.js";
8
+ import "../../chunk-WODTQBXR.js";
9
+ import "../../chunk-TNN3LPXE.js";
10
10
  import "../../chunk-WSQ5QNIY.js";
11
- import "../../chunk-3RSYCAHO.js";
12
- import "../../chunk-24VL7G32.js";
11
+ import "../../chunk-DC3S7SZG.js";
12
+ import "../../chunk-5NAN3TAR.js";
13
13
  import "../../chunk-AQBXNPMD.js";
14
- import "../../chunk-YV6D7GCQ.js";
14
+ import "../../chunk-PG2WOJ22.js";
15
15
 
16
16
  // src/server/worker/index.ts
17
17
  import Fastify from "fastify";