@hachej/boring-agent 0.1.77 → 0.1.79
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.
- package/dist/chunk-LCEBDU6G.js +531 -0
- package/dist/{chunk-ORURYKNY.js → chunk-P23XFC4W.js} +1 -1
- package/dist/chunk-Q42DWR3T.js +264 -0
- package/dist/chunk-RFHSFIHF.js +14037 -0
- package/dist/{chunk-ZUEITFIJ.js → chunk-WSQ5QNIY.js} +1 -12
- package/dist/{chunk-TS3QGFKK.js → chunk-X4WT3TPU.js} +85 -6
- package/dist/{chunk-6AEK34XU.js → chunk-YVON2BHN.js} +11 -1
- package/dist/core/index.d.ts +68 -6
- package/dist/core/index.js +3 -9
- package/dist/{createHarness-RZUU6MJQ.js → createHarness-XHMR3QN3.js} +2 -3
- package/dist/front/index.d.ts +1 -2
- package/dist/front/index.js +2 -2
- package/dist/{harness-OsJBlx4u.d.ts → harness-DD0zj704.d.ts} +3 -11
- package/dist/piChatEvent-D0yuLiJh.d.ts +358 -0
- package/dist/protocol-B_OQKfbI.d.ts +104 -0
- package/dist/{workspaceAgentDispatcher-Cl3EBveh.d.ts → sandbox-DthfJaOB.d.ts} +1 -77
- package/dist/server/index.d.ts +28 -108
- package/dist/server/index.js +64 -10939
- package/dist/server/worker/index.d.ts +65 -0
- package/dist/server/worker/index.js +367 -0
- package/dist/shared/index.d.ts +26 -25
- package/dist/shared/index.js +22 -8
- package/dist/workspaceAgentDispatcher-D3ZEBsH1.d.ts +146 -0
- package/docs/ERROR_CODES.md +1 -1
- package/docs/runtime.md +6 -24
- package/package.json +8 -2
- package/dist/chunk-3WWLQAJB.js +0 -2794
- package/dist/chunk-AJZHR626.js +0 -85
- package/dist/chunk-ZD7MM2LQ.js +0 -14
- package/dist/piChatCommand-BuWXytap.d.ts +0 -60
- package/dist/session-FUiMWsyX.d.ts +0 -297
|
@@ -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", "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", "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", "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" | "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" | "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", "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" | "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" | "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" | "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" | "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", "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", "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", "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 };
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { W as WorkspaceRuntimeContext, S as Sandbox, d as Stat, e as Entry, b as ExecResult, c as WorkspaceChangeEvent } from './sandbox-DthfJaOB.js';
|
|
2
|
+
|
|
3
|
+
interface BwrapResourceLimits {
|
|
4
|
+
cpuSeconds?: number;
|
|
5
|
+
fileSizeBlocks?: number;
|
|
6
|
+
maxProcesses?: number;
|
|
7
|
+
openFiles?: number;
|
|
8
|
+
virtualMemoryKb?: number;
|
|
9
|
+
}
|
|
10
|
+
interface CreateBwrapSandboxOptions {
|
|
11
|
+
hostWorkspaceRoot?: string;
|
|
12
|
+
runtimeContext?: WorkspaceRuntimeContext;
|
|
13
|
+
network?: 'shared' | 'isolated';
|
|
14
|
+
dropAllCapabilities?: boolean;
|
|
15
|
+
resourceLimits?: BwrapResourceLimits;
|
|
16
|
+
}
|
|
17
|
+
declare function createBwrapSandbox(opts?: CreateBwrapSandboxOptions): Sandbox;
|
|
18
|
+
|
|
19
|
+
declare const REMOTE_WORKER_RUNTIME_CWD = "/workspace";
|
|
20
|
+
declare const REMOTE_WORKER_PROVIDER = "remote-worker";
|
|
21
|
+
declare const WORKER_INTERNAL_TOKEN_HEADER = "x-boring-internal-token";
|
|
22
|
+
declare const WORKER_WORKSPACE_ID_HEADER = "x-boring-workspace-id";
|
|
23
|
+
declare const WORKER_REQUEST_ID_HEADER = "x-boring-request-id";
|
|
24
|
+
type RemoteWorkerWorkspaceOp = {
|
|
25
|
+
op: 'readFile';
|
|
26
|
+
path: string;
|
|
27
|
+
} | {
|
|
28
|
+
op: 'readBinaryFile';
|
|
29
|
+
path: string;
|
|
30
|
+
} | {
|
|
31
|
+
op: 'writeFile';
|
|
32
|
+
path: string;
|
|
33
|
+
data: string;
|
|
34
|
+
} | {
|
|
35
|
+
op: 'writeBinaryFile';
|
|
36
|
+
path: string;
|
|
37
|
+
dataBase64: string;
|
|
38
|
+
} | {
|
|
39
|
+
op: 'readFileWithStat';
|
|
40
|
+
path: string;
|
|
41
|
+
} | {
|
|
42
|
+
op: 'writeFileWithStat';
|
|
43
|
+
path: string;
|
|
44
|
+
data: string;
|
|
45
|
+
} | {
|
|
46
|
+
op: 'writeBinaryFileWithStat';
|
|
47
|
+
path: string;
|
|
48
|
+
dataBase64: string;
|
|
49
|
+
} | {
|
|
50
|
+
op: 'unlink';
|
|
51
|
+
path: string;
|
|
52
|
+
} | {
|
|
53
|
+
op: 'readdir';
|
|
54
|
+
path: string;
|
|
55
|
+
} | {
|
|
56
|
+
op: 'stat';
|
|
57
|
+
path: string;
|
|
58
|
+
} | {
|
|
59
|
+
op: 'mkdir';
|
|
60
|
+
path: string;
|
|
61
|
+
recursive?: boolean;
|
|
62
|
+
} | {
|
|
63
|
+
op: 'rename';
|
|
64
|
+
from: string;
|
|
65
|
+
to: string;
|
|
66
|
+
};
|
|
67
|
+
type RemoteWorkerWorkspaceResult = {
|
|
68
|
+
content: string;
|
|
69
|
+
} | {
|
|
70
|
+
dataBase64: string;
|
|
71
|
+
} | {
|
|
72
|
+
stat: Stat;
|
|
73
|
+
} | {
|
|
74
|
+
content: string;
|
|
75
|
+
stat: Stat;
|
|
76
|
+
} | {
|
|
77
|
+
entries: Entry[];
|
|
78
|
+
} | {
|
|
79
|
+
ok: true;
|
|
80
|
+
};
|
|
81
|
+
interface RemoteWorkerExecRequest {
|
|
82
|
+
cmd: string;
|
|
83
|
+
cwd?: string;
|
|
84
|
+
env?: Record<string, string>;
|
|
85
|
+
timeoutMs?: number;
|
|
86
|
+
maxOutputBytes?: number;
|
|
87
|
+
}
|
|
88
|
+
interface RemoteWorkerExecResponse extends Omit<ExecResult, 'stdout' | 'stderr'> {
|
|
89
|
+
stdoutBase64: string;
|
|
90
|
+
stderrBase64: string;
|
|
91
|
+
}
|
|
92
|
+
interface RemoteWorkerErrorPayload {
|
|
93
|
+
error: {
|
|
94
|
+
code: string;
|
|
95
|
+
message: string;
|
|
96
|
+
statusCode?: number;
|
|
97
|
+
details?: unknown;
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
interface RemoteWorkerFsEventEnvelope {
|
|
101
|
+
event: WorkspaceChangeEvent;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
export { type BwrapResourceLimits as B, type CreateBwrapSandboxOptions as C, type RemoteWorkerWorkspaceOp as R, WORKER_INTERNAL_TOKEN_HEADER as W, type RemoteWorkerWorkspaceResult as a, type RemoteWorkerExecRequest as b, REMOTE_WORKER_PROVIDER as c, REMOTE_WORKER_RUNTIME_CWD as d, type RemoteWorkerErrorPayload as e, type RemoteWorkerExecResponse as f, type RemoteWorkerFsEventEnvelope as g, WORKER_REQUEST_ID_HEADER as h, WORKER_WORKSPACE_ID_HEADER as i, createBwrapSandbox as j };
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import { e as InterruptReceipt, h as StopReceipt } from './piChatCommand-BuWXytap.js';
|
|
2
|
-
import { t as AgentSendInput, j as AgentEvent } from './harness-OsJBlx4u.js';
|
|
3
|
-
|
|
4
1
|
interface WorkspaceRuntimeContext {
|
|
5
2
|
/** Agent-visible working directory shared by file-tree and shell execution. */
|
|
6
3
|
readonly runtimeCwd: string;
|
|
@@ -288,77 +285,4 @@ interface IsolatedCodeOutput {
|
|
|
288
285
|
exitCode: number;
|
|
289
286
|
}
|
|
290
287
|
|
|
291
|
-
|
|
292
|
-
workspaceId: string;
|
|
293
|
-
sandboxId: string;
|
|
294
|
-
snapshotId?: string;
|
|
295
|
-
createdAt: string;
|
|
296
|
-
lastUsedAt: string;
|
|
297
|
-
}
|
|
298
|
-
interface SandboxHandleStore {
|
|
299
|
-
get(workspaceId: string): Promise<SandboxHandleRecord | null>;
|
|
300
|
-
put(record: SandboxHandleRecord): Promise<void>;
|
|
301
|
-
delete(workspaceId: string): Promise<void>;
|
|
302
|
-
list(): Promise<SandboxHandleRecord[]>;
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
interface FileSearch {
|
|
306
|
-
search(glob: string, limit?: number): Promise<string[]>;
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
/**
|
|
310
|
-
* Browser CustomEvent name dispatched on `window` after the workspace's
|
|
311
|
-
* agent-plugin hot reload subscriber commits a registry change (load,
|
|
312
|
-
* unload, or error).
|
|
313
|
-
*
|
|
314
|
-
* Declared in `@hachej/boring-agent` (not `@hachej/boring-workspace`)
|
|
315
|
-
* so the agent's ChatPanel — which listens for this event to refresh
|
|
316
|
-
* its slash-command palette / banner state — can import it without
|
|
317
|
-
* creating a workspace → agent → workspace cycle. Workspace's
|
|
318
|
-
* `useAgentPluginHotReload` imports the same constant.
|
|
319
|
-
*/
|
|
320
|
-
declare const WORKSPACE_AGENT_PLUGINS_RELOADED_EVENT = "boring-ui:agent-plugins-reloaded";
|
|
321
|
-
/**
|
|
322
|
-
* One per plugin that loaded successfully but whose server-side surfaces
|
|
323
|
-
* (Fastify routes / agent tools) still hold pre-reload code. Shared
|
|
324
|
-
* between the agent's /reload HTTP route + the ChatPanel banner so the
|
|
325
|
-
* agent layer has ONE declaration of this wire shape. Mirrors what the
|
|
326
|
-
* workspace's `collectRestartWarnings()` emits (workspace owns the
|
|
327
|
-
* canonical `PluginRestartWarning` type; we redeclare here only because
|
|
328
|
-
* the agent layer must not depend on workspace).
|
|
329
|
-
*/
|
|
330
|
-
interface PluginRestartWarning {
|
|
331
|
-
id: string;
|
|
332
|
-
surfaces: string[];
|
|
333
|
-
message: string;
|
|
334
|
-
}
|
|
335
|
-
/**
|
|
336
|
-
* Browser CustomEvent name dispatched on `window` when a `showNotification`
|
|
337
|
-
* UI command arrives from the server (e.g. from a plugin slash command that
|
|
338
|
-
* calls `notify()`). `PiChatPanel` listens for this to show the
|
|
339
|
-
* `CommandRunStatus` banner above the composer.
|
|
340
|
-
*/
|
|
341
|
-
declare const WORKSPACE_COMMAND_NOTIFY_EVENT = "boring-ui:command-notify";
|
|
342
|
-
/**
|
|
343
|
-
* Payload carried by `WORKSPACE_COMMAND_NOTIFY_EVENT`. Maps directly to
|
|
344
|
-
* what `uiCommandDispatcher` extracts from the `showNotification` command.
|
|
345
|
-
*/
|
|
346
|
-
interface CommandNotifyPayload {
|
|
347
|
-
message: string;
|
|
348
|
-
tone: 'success' | 'error' | 'info' | 'warn';
|
|
349
|
-
/** Name of the command that triggered the notification (without leading slash). */
|
|
350
|
-
command?: string;
|
|
351
|
-
}
|
|
352
|
-
|
|
353
|
-
interface WorkspaceAgentDispatcherContext {
|
|
354
|
-
workspaceId: string;
|
|
355
|
-
userId: string;
|
|
356
|
-
}
|
|
357
|
-
type WorkspaceAgentDispatcherSendInput = Omit<AgentSendInput, 'ctx'>;
|
|
358
|
-
interface WorkspaceAgentDispatcher {
|
|
359
|
-
send(input: WorkspaceAgentDispatcherSendInput): AsyncIterable<AgentEvent>;
|
|
360
|
-
interrupt(sessionId: string): Promise<InterruptReceipt>;
|
|
361
|
-
stop(sessionId: string): Promise<StopReceipt>;
|
|
362
|
-
}
|
|
363
|
-
|
|
364
|
-
export { type CommandNotifyPayload as C, type Entry as E, type FileSearch as F, type IsolatedCodeInput as I, type PluginRestartWarning as P, type Sandbox as S, type Workspace as W, type ExecOptions as a, type ExecResult as b, type IsolatedCodeOutput as c, type SandboxCapability as d, type SandboxHandleRecord as e, type SandboxHandleStore as f, type Stat as g, WORKSPACE_AGENT_PLUGINS_RELOADED_EVENT as h, WORKSPACE_COMMAND_NOTIFY_EVENT as i, type WorkspaceAgentDispatcher as j, type WorkspaceAgentDispatcherContext as k, type WorkspaceAgentDispatcherSendInput as l, type WorkspaceRuntimeContext as m, type WorkspaceChangeEvent as n };
|
|
288
|
+
export type { ExecOptions as E, IsolatedCodeInput as I, Sandbox as S, WorkspaceRuntimeContext as W, Workspace as a, ExecResult as b, WorkspaceChangeEvent as c, Stat as d, Entry as e, IsolatedCodeOutput as f, SandboxCapability as g };
|