@hachej/boring-agent 0.1.78 → 0.1.80

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.
@@ -1,6 +1,5 @@
1
1
  // src/shared/events.ts
2
2
  var AGENT_NOT_IMPLEMENTED_UNTIL_T1 = "ERR_NOT_IMPLEMENTED_UNTIL_T1";
3
- var AGENT_NO_FILESYSTEM_FOR_ATTACHMENTS = "ERR_NO_FILESYSTEM_FOR_ATTACHMENTS";
4
3
  function sessionStreamPath(sessionId) {
5
4
  return `sessions/${sessionId}`;
6
5
  }
@@ -11,19 +10,9 @@ var AgentNotImplementedError = class extends Error {
11
10
  this.name = "AgentNotImplementedError";
12
11
  }
13
12
  };
14
- var AgentFilesystemRequiredError = class extends Error {
15
- code = AGENT_NO_FILESYSTEM_FOR_ATTACHMENTS;
16
- statusCode = 400;
17
- constructor(message = "Attachments require a filesystem-backed agent runtime.") {
18
- super(message);
19
- this.name = "AgentFilesystemRequiredError";
20
- }
21
- };
22
13
 
23
14
  export {
24
15
  AGENT_NOT_IMPLEMENTED_UNTIL_T1,
25
- AGENT_NO_FILESYSTEM_FOR_ATTACHMENTS,
26
16
  sessionStreamPath,
27
- AgentNotImplementedError,
28
- AgentFilesystemRequiredError
17
+ AgentNotImplementedError
29
18
  };
@@ -1,9 +1,72 @@
1
- import { w as AgentConfig, c as Agent } from '../harness-OsJBlx4u.js';
2
- export { a as AGENT_NOT_IMPLEMENTED_UNTIL_T1, b as AGENT_NO_FILESYSTEM_FOR_ATTACHMENTS, d as AgentActor, e as AgentCoreHarness, f as AgentCoreHarnessFactory, g as AgentCorePromptInput, h as AgentCoreSessionAdapter, i as AgentCoreSessionSnapshot, j as AgentEvent, k as AgentFilesystemRequiredError, m as AgentMessageContent, n as AgentMessagePart, o as AgentNotImplementedError, p as AgentReadiness, q as AgentReadinessStatus, r as AgentResolveInputResponse, s as AgentRuntimeAdapter, t as AgentSendInput, u as AgentStartReceipt, v as AgentStreamOptions } from '../harness-OsJBlx4u.js';
3
- import '../session-FUiMWsyX.js';
4
- import 'zod';
1
+ import { A as AgentHarness, a as AgentReadiness, b as Agent } from '../harness-BZW5Jiy3.js';
2
+ export { c as AGENT_NOT_IMPLEMENTED_UNTIL_T1, d as AgentActor, e as AgentCoreHarness, f as AgentCoreHarnessFactory, g as AgentCorePromptInput, h as AgentCoreSessionAdapter, i as AgentCoreSessionSnapshot, j as AgentEvent, k as AgentMessageContent, l as AgentMessagePart, m as AgentNotImplementedError, n as AgentReadinessStatus, o as AgentResolveInputResponse, p as AgentSendInput, q as AgentStartReceipt, r as AgentStreamOptions } from '../harness-BZW5Jiy3.js';
3
+ import { S as SessionListOptions, a as SessionSummary, C as ChatModelSelection, P as PiChatSnapshot, b as PiChatEvent, c as PromptPayload, d as PromptReceipt, F as FollowUpPayload, e as FollowUpReceipt, Q as QueueClearPayload, f as QueueClearReceipt, I as InterruptPayload, g as CommandReceipt, h as StopPayload, i as StopReceipt, j as SessionStore } from '../piChatEvent-CpoTZau1.js';
5
4
  import '@mariozechner/pi-coding-agent';
5
+ import 'zod';
6
+
7
+ interface PiSessionRequestContext {
8
+ workspaceId?: string;
9
+ storageScope?: string;
10
+ authSubject?: string;
11
+ authEmail?: string;
12
+ authEmailVerified?: boolean;
13
+ requestId: string;
14
+ }
15
+ interface PiSessionCreateInit {
16
+ title?: string;
17
+ modelDefault?: ChatModelSelection;
18
+ }
19
+ type PiChatReplayRangeError = {
20
+ type: 'replay_gap';
21
+ latestSeq: number;
22
+ minReplaySeq: number;
23
+ } | {
24
+ type: 'cursor_ahead';
25
+ latestSeq: number;
26
+ minReplaySeq: number;
27
+ };
28
+ interface PiChatEventStreamSubscription {
29
+ type: 'ok';
30
+ unsubscribe: () => void;
31
+ /** Optional test/service completion hook. Real live streams normally omit it. */
32
+ closed?: Promise<void>;
33
+ }
34
+ type PiChatEventStreamResult = PiChatEventStreamSubscription | PiChatReplayRangeError;
35
+ type PiChatEventSubscriber = (event: PiChatEvent) => void;
36
+ interface PiChatSessionService {
37
+ listSessions?(ctx: PiSessionRequestContext, options?: SessionListOptions): Promise<SessionSummary[]>;
38
+ createSession?(ctx: PiSessionRequestContext, init?: PiSessionCreateInit): Promise<SessionSummary>;
39
+ deleteSession?(ctx: PiSessionRequestContext, sessionId: string): Promise<void>;
40
+ readState(ctx: PiSessionRequestContext, sessionId: string): Promise<PiChatSnapshot>;
41
+ subscribe(ctx: PiSessionRequestContext, sessionId: string, cursor: number, subscriber: PiChatEventSubscriber): Promise<PiChatEventStreamResult>;
42
+ prompt(ctx: PiSessionRequestContext, sessionId: string, payload: PromptPayload): Promise<PromptReceipt>;
43
+ followUp(ctx: PiSessionRequestContext, sessionId: string, payload: FollowUpPayload): Promise<FollowUpReceipt>;
44
+ clearQueue(ctx: PiSessionRequestContext, sessionId: string, payload: QueueClearPayload): Promise<QueueClearReceipt>;
45
+ interrupt(ctx: PiSessionRequestContext, sessionId: string, payload: InterruptPayload): Promise<CommandReceipt>;
46
+ stop(ctx: PiSessionRequestContext, sessionId: string, payload: StopPayload): Promise<StopReceipt>;
47
+ }
48
+ interface AgentCoreSessionService extends PiChatSessionService {
49
+ createSession(ctx: PiSessionRequestContext, init?: PiSessionCreateInit): Promise<SessionSummary>;
50
+ deleteSession(ctx: PiSessionRequestContext, sessionId: string): Promise<void>;
51
+ dispose?(): Promise<void>;
52
+ }
6
53
 
7
- declare function createAgent(config: AgentConfig): Agent;
54
+ interface AgentCoreRuntime {
55
+ harness: AgentHarness;
56
+ sessionStore: SessionStore;
57
+ service: AgentCoreSessionService;
58
+ }
59
+ type AgentCoreRuntimeFactory = () => AgentCoreRuntime | Promise<AgentCoreRuntime>;
60
+ interface AgentCoreConfig {
61
+ runtimeFactory: AgentCoreRuntimeFactory;
62
+ readiness?: AgentReadiness;
63
+ readinessRequirements?: string[];
64
+ }
65
+ interface AgentCoreRuntimeView {
66
+ harness: AgentHarness;
67
+ sessionStore: SessionStore;
68
+ service: unknown;
69
+ }
70
+ declare function createAgent(config: AgentCoreConfig): Agent;
8
71
 
9
- export { Agent, AgentConfig, createAgent };
72
+ export { Agent, type AgentCoreConfig, type AgentCoreRuntime, type AgentCoreRuntimeFactory, type AgentCoreRuntimeView, type AgentCoreSessionService, AgentReadiness, type PiChatEventStreamResult, type PiChatEventStreamSubscription, type PiChatEventSubscriber, type PiChatReplayRangeError, type PiChatSessionService, type PiSessionCreateInit, type PiSessionRequestContext, createAgent };
@@ -1,19 +1,13 @@
1
1
  import {
2
2
  createAgent
3
- } from "../chunk-3WWLQAJB.js";
3
+ } from "../chunk-BNZIE26N.js";
4
4
  import {
5
5
  AGENT_NOT_IMPLEMENTED_UNTIL_T1,
6
- AGENT_NO_FILESYSTEM_FOR_ATTACHMENTS,
7
- AgentFilesystemRequiredError,
8
6
  AgentNotImplementedError
9
- } from "../chunk-ZUEITFIJ.js";
10
- import "../chunk-ORURYKNY.js";
11
- import "../chunk-AJZHR626.js";
12
- import "../chunk-6AEK34XU.js";
7
+ } from "../chunk-WSQ5QNIY.js";
8
+ import "../chunk-CCNXYCD5.js";
13
9
  export {
14
10
  AGENT_NOT_IMPLEMENTED_UNTIL_T1,
15
- AGENT_NO_FILESYSTEM_FOR_ATTACHMENTS,
16
- AgentFilesystemRequiredError,
17
11
  AgentNotImplementedError,
18
12
  createAgent
19
13
  };
@@ -4,10 +4,9 @@ import {
4
4
  deriveSourcePlugin,
5
5
  mergePiPackageSources,
6
6
  withPiHarnessDefaults
7
- } from "./chunk-TS3QGFKK.js";
7
+ } from "./chunk-N4ES6PVX.js";
8
8
  import "./chunk-AQBXNPMD.js";
9
- import "./chunk-AJZHR626.js";
10
- import "./chunk-6AEK34XU.js";
9
+ import "./chunk-CCNXYCD5.js";
11
10
  export {
12
11
  createPiCodingAgentHarness,
13
12
  createResourceSettingsManager,
@@ -1,8 +1,7 @@
1
1
  import * as react from 'react';
2
2
  import { ComponentProps, HTMLAttributes, FormEvent, ReactNode, ComponentType } from 'react';
3
3
  import { FileUIPart, ChatStatus, UIMessage } from 'ai';
4
- import { T as ToolUiMetadata, B as BoringChatPart, e as BoringChatMessage, k as PiChatStatus, Q as QueuedUserMessage, C as ChatError, P as PiChatEvent, n as SessionSummary } from '../session-FUiMWsyX.js';
5
- import { P as PromptPayload, f as PromptReceipt, F as FollowUpPayload, d as FollowUpReceipt, Q as QueueClearPayload, g as QueueClearReceipt, I as InterruptPayload, c as CommandReceipt, S as StopPayload, h as StopReceipt } from '../piChatCommand-BuWXytap.js';
4
+ import { T as ToolUiMetadata, B as BoringChatPart, k as BoringChatMessage, l as PiChatStatus, m as QueuedUserMessage, n as ChatError, b as PiChatEvent, c as PromptPayload, d as PromptReceipt, F as FollowUpPayload, e as FollowUpReceipt, Q as QueueClearPayload, f as QueueClearReceipt, I as InterruptPayload, g as CommandReceipt, h as StopPayload, i as StopReceipt, a as SessionSummary } from '../piChatEvent-CpoTZau1.js';
6
5
  import { InputGroupAddon, InputGroupButton, InputGroupTextarea, Button, Collapsible, CollapsibleContent, CollapsibleTrigger } from '@hachej/boring-ui-kit';
7
6
  import { Streamdown } from 'streamdown';
8
7
  import { StickToBottom } from 'use-stick-to-bottom';
@@ -12,10 +12,10 @@ import {
12
12
  StopReceiptSchema,
13
13
  extractToolUiMetadata,
14
14
  sanitizeToolUiMetadata
15
- } from "../chunk-ORURYKNY.js";
15
+ } from "../chunk-UJQXCOHR.js";
16
16
  import {
17
17
  ErrorCode
18
- } from "../chunk-6AEK34XU.js";
18
+ } from "../chunk-CCNXYCD5.js";
19
19
  import {
20
20
  DebugDrawer,
21
21
  cn,
@@ -1,4 +1,4 @@
1
- import { S as SessionCtx, P as PiChatEvent, a as SessionStore } from './session-FUiMWsyX.js';
1
+ import { o as SessionCtx, b as PiChatEvent, j as SessionStore } from './piChatEvent-CpoTZau1.js';
2
2
  import { AgentSessionEvent, PromptOptions } from '@mariozechner/pi-coding-agent';
3
3
 
4
4
  interface TelemetrySink {
@@ -47,7 +47,6 @@ interface ToolResult {
47
47
  }
48
48
 
49
49
  declare const AGENT_NOT_IMPLEMENTED_UNTIL_T1: "ERR_NOT_IMPLEMENTED_UNTIL_T1";
50
- declare const AGENT_NO_FILESYSTEM_FOR_ATTACHMENTS: "ERR_NO_FILESYSTEM_FOR_ATTACHMENTS";
51
50
  interface MessageAttachment {
52
51
  filename?: string;
53
52
  mediaType?: string;
@@ -107,6 +106,11 @@ interface AgentRuntimeAdapter {
107
106
  interface AgentReadinessStatus {
108
107
  key: string;
109
108
  ready: boolean;
109
+ state?: 'not-started' | 'preparing' | 'ready' | 'failed';
110
+ errorCode?: string;
111
+ causeCode?: string;
112
+ retryable?: boolean;
113
+ workspaceId?: string;
110
114
  message?: string;
111
115
  }
112
116
  interface AgentReadiness {
@@ -115,8 +119,9 @@ interface AgentReadiness {
115
119
  }
116
120
  interface AgentConfig {
117
121
  harnessFactory?: AgentCoreHarnessFactory;
118
- runtime: AgentRuntimeAdapter | 'none';
122
+ runtime: AgentRuntimeAdapter;
119
123
  tools?: AgentTool[];
124
+ readiness?: AgentReadiness;
120
125
  readinessRequirements?: string[];
121
126
  sessions?: SessionStore;
122
127
  systemPromptAppend?: string;
@@ -141,11 +146,6 @@ declare class AgentNotImplementedError extends Error {
141
146
  readonly code: "ERR_NOT_IMPLEMENTED_UNTIL_T1";
142
147
  constructor(message?: string);
143
148
  }
144
- declare class AgentFilesystemRequiredError extends Error {
145
- readonly code: "ERR_NO_FILESYSTEM_FOR_ATTACHMENTS";
146
- readonly statusCode = 400;
147
- constructor(message?: string);
148
- }
149
149
 
150
150
  interface AgentHarnessFactoryInput {
151
151
  tools: AgentTool[];
@@ -153,8 +153,6 @@ interface AgentHarnessFactoryInput {
153
153
  cwd: string;
154
154
  /** Agent-visible cwd used by Pi/system prompt/session metadata. */
155
155
  runtimeCwd?: string;
156
- /** Optional cwd used only to derive the default transcript storage directory. */
157
- sessionStorageCwd?: string;
158
156
  systemPromptAppend?: string;
159
157
  sessionNamespace?: string;
160
158
  sessionRoot?: string;
@@ -270,4 +268,4 @@ interface RunContext {
270
268
  allowPromptDispatch?: boolean;
271
269
  }
272
270
 
273
- export { type AgentTool as A, noopTelemetry as B, safeCapture as C, sessionStreamPath as D, type ToolReadinessRequirement as E, type AgentHarnessFactory as F, type AgentHarnessFactoryInput as G, type JSONSchema as J, type MessageAttachment as M, type RunContext as R, type SendMessageInput as S, type TelemetryEvent as T, AGENT_NOT_IMPLEMENTED_UNTIL_T1 as a, AGENT_NO_FILESYSTEM_FOR_ATTACHMENTS as b, type Agent as c, type AgentActor as d, type AgentCoreHarness as e, type AgentCoreHarnessFactory as f, type AgentCorePromptInput as g, type AgentCoreSessionAdapter as h, type AgentCoreSessionSnapshot as i, type AgentEvent as j, AgentFilesystemRequiredError as k, type AgentHarness as l, type AgentMessageContent as m, type AgentMessagePart as n, AgentNotImplementedError as o, type AgentReadiness as p, type AgentReadinessStatus as q, type AgentResolveInputResponse as r, type AgentRuntimeAdapter as s, type AgentSendInput as t, type AgentStartReceipt as u, type AgentStreamOptions as v, type AgentConfig as w, type TelemetrySink as x, type ToolExecContext as y, type ToolResult as z };
271
+ export { type AgentHarness as A, type ToolResult as B, noopTelemetry as C, safeCapture as D, sessionStreamPath as E, type JSONSchema as J, type MessageAttachment as M, type RunContext as R, type SendMessageInput as S, type TelemetrySink as T, type AgentReadiness as a, type Agent as b, AGENT_NOT_IMPLEMENTED_UNTIL_T1 as c, type AgentActor as d, type AgentCoreHarness as e, type AgentCoreHarnessFactory as f, type AgentCorePromptInput as g, type AgentCoreSessionAdapter as h, type AgentCoreSessionSnapshot as i, type AgentEvent as j, type AgentMessageContent as k, type AgentMessagePart as l, AgentNotImplementedError as m, type AgentReadinessStatus as n, type AgentResolveInputResponse as o, type AgentSendInput as p, type AgentStartReceipt as q, type AgentStreamOptions as r, type ToolReadinessRequirement as s, type AgentConfig as t, type AgentTool as u, type AgentHarnessFactory as v, type AgentHarnessFactoryInput as w, type AgentRuntimeAdapter as x, type TelemetryEvent as y, type ToolExecContext as z };
@@ -0,0 +1,358 @@
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", "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", "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
+ declare const ApiErrorPayloadSchema: z.ZodObject<{
104
+ 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", "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"]>;
105
+ message: z.ZodString;
106
+ details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
107
+ }, "strip", z.ZodTypeAny, {
108
+ 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" | "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";
109
+ message: string;
110
+ details?: Record<string, unknown> | undefined;
111
+ }, {
112
+ 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" | "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";
113
+ message: string;
114
+ details?: Record<string, unknown> | undefined;
115
+ }>;
116
+ type ApiErrorPayload = z.infer<typeof ApiErrorPayloadSchema>;
117
+ declare const ApiErrorResponseSchema: z.ZodObject<{
118
+ error: z.ZodObject<{
119
+ 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", "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"]>;
120
+ message: z.ZodString;
121
+ details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
122
+ }, "strip", z.ZodTypeAny, {
123
+ 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" | "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";
124
+ message: string;
125
+ details?: Record<string, unknown> | undefined;
126
+ }, {
127
+ 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" | "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";
128
+ message: string;
129
+ details?: Record<string, unknown> | undefined;
130
+ }>;
131
+ }, "strip", z.ZodTypeAny, {
132
+ error: {
133
+ 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" | "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";
134
+ message: string;
135
+ details?: Record<string, unknown> | undefined;
136
+ };
137
+ }, {
138
+ error: {
139
+ 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" | "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";
140
+ message: string;
141
+ details?: Record<string, unknown> | undefined;
142
+ };
143
+ }>;
144
+ type ApiErrorResponse = z.infer<typeof ApiErrorResponseSchema>;
145
+ declare const ErrorLogFieldsSchema: z.ZodObject<{
146
+ level: z.ZodEnum<["warn", "error"]>;
147
+ 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", "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"]>;
148
+ prefix: z.ZodString;
149
+ msg: z.ZodString;
150
+ }, "strip", z.ZodUnknown, z.objectOutputType<{
151
+ level: z.ZodEnum<["warn", "error"]>;
152
+ 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", "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"]>;
153
+ prefix: z.ZodString;
154
+ msg: z.ZodString;
155
+ }, z.ZodUnknown, "strip">, z.objectInputType<{
156
+ level: z.ZodEnum<["warn", "error"]>;
157
+ 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", "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"]>;
158
+ prefix: z.ZodString;
159
+ msg: z.ZodString;
160
+ }, z.ZodUnknown, "strip">>;
161
+ type ErrorLogFields = z.infer<typeof ErrorLogFieldsSchema>;
162
+
163
+ interface ChatError {
164
+ code: ErrorCode;
165
+ message: string;
166
+ retryable?: boolean;
167
+ details?: unknown;
168
+ }
169
+
170
+ type ThinkingLevel = 'off' | 'low' | 'medium' | 'high';
171
+ interface ChatModelSelection {
172
+ provider: string;
173
+ id: string;
174
+ }
175
+ interface ChatAttachmentPayload {
176
+ filename?: string;
177
+ mediaType?: string;
178
+ url: string;
179
+ /** Workspace-relative path when the browser upload endpoint persisted the attachment. */
180
+ path?: string;
181
+ }
182
+ interface ChatSubmitPayload {
183
+ message: string;
184
+ displayMessage?: string;
185
+ clientNonce: string;
186
+ model?: ChatModelSelection;
187
+ thinkingLevel?: ThinkingLevel;
188
+ attachments?: ChatAttachmentPayload[];
189
+ }
190
+
191
+ type PiChatStatus = 'idle' | 'hydrating' | 'submitted' | 'streaming' | 'aborting' | 'error';
192
+ interface QueuedUserMessage {
193
+ id: string;
194
+ kind: 'followup';
195
+ clientNonce?: string;
196
+ clientSeq?: number;
197
+ displayText: string;
198
+ createdAt?: string;
199
+ }
200
+ interface PiChatSnapshot {
201
+ protocolVersion: 1;
202
+ sessionId: string;
203
+ seq: number;
204
+ status: PiChatStatus;
205
+ activeTurnId?: string;
206
+ messages: BoringChatMessage[];
207
+ queue: {
208
+ followUps: QueuedUserMessage[];
209
+ };
210
+ followUpMode: 'one-at-a-time';
211
+ error?: ChatError;
212
+ }
213
+
214
+ type PromptPayload = ChatSubmitPayload;
215
+ interface FollowUpPayload {
216
+ message: string;
217
+ displayMessage?: string;
218
+ clientNonce: string;
219
+ clientSeq: number;
220
+ }
221
+ interface QueueClearPayload {
222
+ clientNonce?: string;
223
+ clientSeq?: number;
224
+ }
225
+ type InterruptPayload = Record<string, never>;
226
+ type StopPayload = Record<string, never>;
227
+ interface CommandReceipt {
228
+ accepted: true;
229
+ cursor: number;
230
+ }
231
+ type PromptReceipt = CommandReceipt & {
232
+ clientNonce: string;
233
+ duplicate?: boolean;
234
+ };
235
+ type FollowUpReceipt = CommandReceipt & {
236
+ clientNonce: string;
237
+ clientSeq: number;
238
+ queued: true;
239
+ duplicate?: boolean;
240
+ };
241
+ type QueueClearReceipt = CommandReceipt & {
242
+ cleared: number;
243
+ };
244
+ type InterruptReceipt = CommandReceipt;
245
+ type StopReceipt = CommandReceipt & {
246
+ stopped: boolean;
247
+ clearedQueue: QueuedUserMessage[];
248
+ };
249
+
250
+ type PiChatEvent = {
251
+ type: 'agent-start';
252
+ seq: number;
253
+ turnId: string;
254
+ } | {
255
+ type: 'agent-end';
256
+ seq: number;
257
+ turnId: string;
258
+ status: 'ok' | 'aborted' | 'error';
259
+ willRetry?: boolean;
260
+ } | {
261
+ type: 'message-start';
262
+ seq: number;
263
+ messageId: string;
264
+ role: 'user' | 'assistant';
265
+ clientNonce?: string;
266
+ clientSeq?: number;
267
+ createdAt?: string;
268
+ text?: string;
269
+ files?: BoringChatPart[];
270
+ } | {
271
+ type: 'message-delta';
272
+ seq: number;
273
+ messageId: string;
274
+ partId: string;
275
+ kind: 'text' | 'reasoning';
276
+ delta: string;
277
+ } | {
278
+ type: 'message-part-end';
279
+ seq: number;
280
+ messageId: string;
281
+ partId: string;
282
+ kind: 'text' | 'reasoning';
283
+ text: string;
284
+ } | {
285
+ type: 'message-end';
286
+ seq: number;
287
+ messageId: string;
288
+ final: BoringChatMessage;
289
+ } | {
290
+ type: 'tool-call';
291
+ seq: number;
292
+ messageId: string;
293
+ toolCallId: string;
294
+ toolName: string;
295
+ input: unknown;
296
+ ui?: ToolUiMetadata;
297
+ } | {
298
+ type: 'tool-result';
299
+ seq: number;
300
+ messageId: string;
301
+ toolCallId: string;
302
+ output: unknown;
303
+ isError?: boolean;
304
+ errorText?: string;
305
+ ui?: ToolUiMetadata;
306
+ } | {
307
+ type: 'queue-updated';
308
+ seq: number;
309
+ queue: {
310
+ followUps: QueuedUserMessage[];
311
+ };
312
+ } | {
313
+ type: 'followup-consumed';
314
+ seq: number;
315
+ clientNonce?: string;
316
+ clientSeq?: number;
317
+ messageId: string;
318
+ } | {
319
+ type: 'file-changed';
320
+ seq: number;
321
+ path: string;
322
+ changeType: string;
323
+ } | {
324
+ type: 'ui-command';
325
+ seq: number;
326
+ command: unknown;
327
+ displayOnly: true;
328
+ } | {
329
+ type: 'usage';
330
+ seq: number;
331
+ usage: unknown;
332
+ } | {
333
+ type: 'auto-retry-start';
334
+ seq: number;
335
+ attempt: number;
336
+ maxAttempts: number;
337
+ delayMs: number;
338
+ errorMessage: string;
339
+ } | {
340
+ type: 'auto-retry-end';
341
+ seq: number;
342
+ success: boolean;
343
+ attempt: number;
344
+ finalError?: string;
345
+ } | {
346
+ type: 'error';
347
+ seq: number;
348
+ turnId?: string;
349
+ retryable?: boolean;
350
+ error: ChatError;
351
+ };
352
+ interface PiChatHeartbeatFrame {
353
+ type: 'heartbeat';
354
+ now: string;
355
+ }
356
+ type PiChatStreamFrame = PiChatEvent | PiChatHeartbeatFrame;
357
+
358
+ export { AgentDefinitionErrorCode as A, type BoringChatPart as B, type ChatModelSelection as C, type PiChatHeartbeatFrame as D, ErrorCode as E, type FollowUpPayload as F, type PiChatStreamFrame as G, type SessionDetail as H, type InterruptPayload as I, type ThinkingLevel as J, extractToolUiMetadata as K, isToolUiMetadata as L, 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, AgentDeploymentErrorCode as p, type ApiErrorPayload as q, ApiErrorPayloadSchema as r, type ApiErrorResponse as s, ApiErrorResponseSchema as t, type ChatAttachmentPayload as u, type ChatSubmitPayload as v, ERROR_CODES as w, type ErrorLogFields as x, ErrorLogFieldsSchema as y, type InterruptReceipt as z };