@getpaseo/server 0.1.59 → 0.1.60
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/scripts/dev-runner.js +26 -7
- package/dist/scripts/dev-runner.js.map +1 -1
- package/dist/server/client/daemon-client-runtime-metrics.d.ts +39 -0
- package/dist/server/client/daemon-client-runtime-metrics.d.ts.map +1 -0
- package/dist/server/client/daemon-client-runtime-metrics.js +173 -0
- package/dist/server/client/daemon-client-runtime-metrics.js.map +1 -0
- package/dist/server/client/daemon-client.d.ts +58 -9
- package/dist/server/client/daemon-client.d.ts.map +1 -1
- package/dist/server/client/daemon-client.js +151 -10
- package/dist/server/client/daemon-client.js.map +1 -1
- package/dist/server/server/agent/agent-manager.d.ts +55 -48
- package/dist/server/server/agent/agent-manager.d.ts.map +1 -1
- package/dist/server/server/agent/agent-manager.js +541 -331
- package/dist/server/server/agent/agent-manager.js.map +1 -1
- package/dist/server/server/agent/agent-metadata-generator.d.ts +3 -2
- package/dist/server/server/agent/agent-metadata-generator.d.ts.map +1 -1
- package/dist/server/server/agent/agent-metadata-generator.js +31 -16
- package/dist/server/server/agent/agent-metadata-generator.js.map +1 -1
- package/dist/server/server/agent/agent-projections.d.ts +2 -1
- package/dist/server/server/agent/agent-projections.d.ts.map +1 -1
- package/dist/server/server/agent/agent-projections.js +29 -1
- package/dist/server/server/agent/agent-projections.js.map +1 -1
- package/dist/server/server/agent/agent-sdk-types.d.ts +9 -5
- package/dist/server/server/agent/agent-sdk-types.d.ts.map +1 -1
- package/dist/server/server/agent/agent-sdk-types.js.map +1 -1
- package/dist/server/server/agent/agent-storage.d.ts +76 -69
- package/dist/server/server/agent/agent-storage.d.ts.map +1 -1
- package/dist/server/server/agent/agent-storage.js +13 -6
- package/dist/server/server/agent/agent-storage.js.map +1 -1
- package/dist/server/server/agent/agent-stream-coalescer.d.ts +41 -0
- package/dist/server/server/agent/agent-stream-coalescer.d.ts.map +1 -0
- package/dist/server/server/agent/agent-stream-coalescer.js +166 -0
- package/dist/server/server/agent/agent-stream-coalescer.js.map +1 -0
- package/dist/server/server/agent/agent-timeline-store-types.d.ts +54 -0
- package/dist/server/server/agent/agent-timeline-store-types.d.ts.map +1 -0
- package/dist/server/server/agent/agent-timeline-store-types.js +2 -0
- package/dist/server/server/agent/agent-timeline-store-types.js.map +1 -0
- package/dist/server/server/agent/agent-timeline-store.d.ts +32 -0
- package/dist/server/server/agent/agent-timeline-store.d.ts.map +1 -0
- package/dist/server/server/agent/agent-timeline-store.js +245 -0
- package/dist/server/server/agent/agent-timeline-store.js.map +1 -0
- package/dist/server/server/agent/mcp-server.d.ts +12 -1
- package/dist/server/server/agent/mcp-server.d.ts.map +1 -1
- package/dist/server/server/agent/mcp-server.js +276 -65
- package/dist/server/server/agent/mcp-server.js.map +1 -1
- package/dist/server/server/agent/mcp-shared.d.ts +196 -152
- package/dist/server/server/agent/mcp-shared.d.ts.map +1 -1
- package/dist/server/server/agent/mcp-shared.js +40 -42
- package/dist/server/server/agent/mcp-shared.js.map +1 -1
- package/dist/server/server/agent/model-resolver.d.ts.map +1 -1
- package/dist/server/server/agent/model-resolver.js +3 -1
- package/dist/server/server/agent/model-resolver.js.map +1 -1
- package/dist/server/server/agent/prompt-attachments.d.ts +6 -0
- package/dist/server/server/agent/prompt-attachments.d.ts.map +1 -0
- package/dist/server/server/agent/prompt-attachments.js +31 -0
- package/dist/server/server/agent/prompt-attachments.js.map +1 -0
- package/dist/server/server/agent/provider-launch-config.d.ts +12 -10
- package/dist/server/server/agent/provider-launch-config.d.ts.map +1 -1
- package/dist/server/server/agent/provider-launch-config.js +34 -0
- package/dist/server/server/agent/provider-launch-config.js.map +1 -1
- package/dist/server/server/agent/provider-manifest.d.ts +1 -0
- package/dist/server/server/agent/provider-manifest.d.ts.map +1 -1
- package/dist/server/server/agent/provider-manifest.js +22 -1
- package/dist/server/server/agent/provider-manifest.js.map +1 -1
- package/dist/server/server/agent/provider-registry.d.ts +5 -2
- package/dist/server/server/agent/provider-registry.d.ts.map +1 -1
- package/dist/server/server/agent/provider-registry.js +20 -9
- package/dist/server/server/agent/provider-registry.js.map +1 -1
- package/dist/server/server/agent/provider-snapshot-manager.d.ts +17 -5
- package/dist/server/server/agent/provider-snapshot-manager.d.ts.map +1 -1
- package/dist/server/server/agent/provider-snapshot-manager.js +150 -61
- package/dist/server/server/agent/provider-snapshot-manager.js.map +1 -1
- package/dist/server/server/agent/providers/acp-agent.d.ts +8 -4
- package/dist/server/server/agent/providers/acp-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/acp-agent.js +73 -8
- package/dist/server/server/agent/providers/acp-agent.js.map +1 -1
- package/dist/server/server/agent/providers/claude/task-notification-tool-call.d.ts +2 -2
- package/dist/server/server/agent/providers/claude-agent.d.ts +1 -1
- package/dist/server/server/agent/providers/claude-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/claude-agent.js +8 -7
- package/dist/server/server/agent/providers/claude-agent.js.map +1 -1
- package/dist/server/server/agent/providers/codex-app-server-agent.d.ts +37 -4
- package/dist/server/server/agent/providers/codex-app-server-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/codex-app-server-agent.js +61 -31
- package/dist/server/server/agent/providers/codex-app-server-agent.js.map +1 -1
- package/dist/server/server/agent/providers/copilot-acp-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/copilot-acp-agent.js +3 -2
- package/dist/server/server/agent/providers/copilot-acp-agent.js.map +1 -1
- package/dist/server/server/agent/providers/mock-load-test-agent.d.ts +64 -0
- package/dist/server/server/agent/providers/mock-load-test-agent.d.ts.map +1 -0
- package/dist/server/server/agent/providers/mock-load-test-agent.js +585 -0
- package/dist/server/server/agent/providers/mock-load-test-agent.js.map +1 -0
- package/dist/server/server/agent/providers/opencode-agent.d.ts +19 -4
- package/dist/server/server/agent/providers/opencode-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/opencode-agent.js +227 -118
- package/dist/server/server/agent/providers/opencode-agent.js.map +1 -1
- package/dist/server/server/agent/providers/pi-direct-agent.d.ts +69 -0
- package/dist/server/server/agent/providers/pi-direct-agent.d.ts.map +1 -0
- package/dist/server/server/agent/providers/pi-direct-agent.js +1177 -0
- package/dist/server/server/agent/providers/pi-direct-agent.js.map +1 -0
- package/dist/server/server/agent/providers/tool-call-detail-primitives.d.ts +7 -4
- package/dist/server/server/agent/providers/tool-call-detail-primitives.d.ts.map +1 -1
- package/dist/server/server/agent-attention-policy.d.ts +13 -13
- package/dist/server/server/agent-attention-policy.d.ts.map +1 -1
- package/dist/server/server/agent-attention-policy.js +20 -36
- package/dist/server/server/agent-attention-policy.js.map +1 -1
- package/dist/server/server/bootstrap.d.ts +6 -0
- package/dist/server/server/bootstrap.d.ts.map +1 -1
- package/dist/server/server/bootstrap.js +113 -11
- package/dist/server/server/bootstrap.js.map +1 -1
- package/dist/server/server/chat/chat-rpc-schemas.d.ts +44 -44
- package/dist/server/server/chat/chat-types.d.ts +6 -6
- package/dist/server/server/checkout-diff-manager.d.ts +0 -1
- package/dist/server/server/checkout-diff-manager.d.ts.map +1 -1
- package/dist/server/server/checkout-diff-manager.js +6 -4
- package/dist/server/server/checkout-diff-manager.js.map +1 -1
- package/dist/server/server/config.d.ts.map +1 -1
- package/dist/server/server/config.js +1 -0
- package/dist/server/server/config.js.map +1 -1
- package/dist/server/server/file-explorer/service.d.ts.map +1 -1
- package/dist/server/server/file-explorer/service.js +2 -1
- package/dist/server/server/file-explorer/service.js.map +1 -1
- package/dist/server/server/loop/rpc-schemas.d.ts +392 -392
- package/dist/server/server/loop-service.d.ts +52 -52
- package/dist/server/server/paseo-worktree-archive-service.d.ts +41 -0
- package/dist/server/server/paseo-worktree-archive-service.d.ts.map +1 -0
- package/dist/server/server/paseo-worktree-archive-service.js +137 -0
- package/dist/server/server/paseo-worktree-archive-service.js.map +1 -0
- package/dist/server/server/paseo-worktree-service.d.ts +24 -0
- package/dist/server/server/paseo-worktree-service.d.ts.map +1 -0
- package/dist/server/server/paseo-worktree-service.js +94 -0
- package/dist/server/server/paseo-worktree-service.js.map +1 -0
- package/dist/server/server/path-utils.d.ts +1 -0
- package/dist/server/server/path-utils.d.ts.map +1 -1
- package/dist/server/server/path-utils.js +9 -0
- package/dist/server/server/path-utils.js.map +1 -1
- package/dist/server/server/persisted-config.d.ts +73 -73
- package/dist/server/server/persistence-hooks.d.ts.map +1 -1
- package/dist/server/server/persistence-hooks.js +3 -0
- package/dist/server/server/persistence-hooks.js.map +1 -1
- package/dist/server/server/resolve-worktree-creation-intent.d.ts +30 -0
- package/dist/server/server/resolve-worktree-creation-intent.d.ts.map +1 -0
- package/dist/server/server/resolve-worktree-creation-intent.js +163 -0
- package/dist/server/server/resolve-worktree-creation-intent.js.map +1 -0
- package/dist/server/server/schedule/rpc-schemas.d.ts +192 -192
- package/dist/server/server/schedule/service.d.ts +1 -1
- package/dist/server/server/schedule/service.d.ts.map +1 -1
- package/dist/server/server/schedule/types.d.ts +44 -44
- package/dist/server/server/script-health-monitor.d.ts +39 -0
- package/dist/server/server/script-health-monitor.d.ts.map +1 -0
- package/dist/server/server/script-health-monitor.js +158 -0
- package/dist/server/server/script-health-monitor.js.map +1 -0
- package/dist/server/server/script-proxy.d.ts +40 -0
- package/dist/server/server/script-proxy.d.ts.map +1 -0
- package/dist/server/server/script-proxy.js +245 -0
- package/dist/server/server/script-proxy.js.map +1 -0
- package/dist/server/server/script-route-branch-handler.d.ts +10 -0
- package/dist/server/server/script-route-branch-handler.d.ts.map +1 -0
- package/dist/server/server/script-route-branch-handler.js +45 -0
- package/dist/server/server/script-route-branch-handler.js.map +1 -0
- package/dist/server/server/script-status-projection.d.ts +29 -0
- package/dist/server/server/script-status-projection.d.ts.map +1 -0
- package/dist/server/server/script-status-projection.js +133 -0
- package/dist/server/server/script-status-projection.js.map +1 -0
- package/dist/server/server/session.d.ts +77 -13
- package/dist/server/server/session.d.ts.map +1 -1
- package/dist/server/server/session.js +1290 -548
- package/dist/server/server/session.js.map +1 -1
- package/dist/server/server/websocket-server.d.ts +27 -3
- package/dist/server/server/websocket-server.d.ts.map +1 -1
- package/dist/server/server/websocket-server.js +112 -29
- package/dist/server/server/websocket-server.js.map +1 -1
- package/dist/server/server/workspace-archive-service.d.ts +8 -0
- package/dist/server/server/workspace-archive-service.d.ts.map +1 -0
- package/dist/server/server/workspace-archive-service.js +17 -0
- package/dist/server/server/workspace-archive-service.js.map +1 -0
- package/dist/server/server/workspace-git-metadata.d.ts +24 -0
- package/dist/server/server/workspace-git-metadata.d.ts.map +1 -0
- package/dist/server/server/workspace-git-metadata.js +78 -0
- package/dist/server/server/workspace-git-metadata.js.map +1 -0
- package/dist/server/server/workspace-git-service.d.ts +104 -5
- package/dist/server/server/workspace-git-service.d.ts.map +1 -1
- package/dist/server/server/workspace-git-service.js +442 -56
- package/dist/server/server/workspace-git-service.js.map +1 -1
- package/dist/server/server/workspace-reconciliation-service.d.ts +54 -0
- package/dist/server/server/workspace-reconciliation-service.d.ts.map +1 -0
- package/dist/server/server/workspace-reconciliation-service.js +176 -0
- package/dist/server/server/workspace-reconciliation-service.js.map +1 -0
- package/dist/server/server/workspace-registry-bootstrap.d.ts.map +1 -1
- package/dist/server/server/workspace-registry-bootstrap.js +4 -3
- package/dist/server/server/workspace-registry-bootstrap.js.map +1 -1
- package/dist/server/server/workspace-registry.d.ts +8 -8
- package/dist/server/server/workspace-registry.test-helpers.d.ts +37 -0
- package/dist/server/server/workspace-registry.test-helpers.d.ts.map +1 -0
- package/dist/server/server/workspace-registry.test-helpers.js +121 -0
- package/dist/server/server/workspace-registry.test-helpers.js.map +1 -0
- package/dist/server/server/workspace-script-runtime-store.d.ts +28 -0
- package/dist/server/server/workspace-script-runtime-store.d.ts.map +1 -0
- package/dist/server/server/workspace-script-runtime-store.js +78 -0
- package/dist/server/server/workspace-script-runtime-store.js.map +1 -0
- package/dist/server/server/workspace-service-env.d.ts +17 -0
- package/dist/server/server/workspace-service-env.d.ts.map +1 -0
- package/dist/server/server/workspace-service-env.js +80 -0
- package/dist/server/server/workspace-service-env.js.map +1 -0
- package/dist/server/server/workspace-service-port-registry.d.ts +19 -0
- package/dist/server/server/workspace-service-port-registry.d.ts.map +1 -0
- package/dist/server/server/workspace-service-port-registry.js +59 -0
- package/dist/server/server/workspace-service-port-registry.js.map +1 -0
- package/dist/server/server/worktree-bootstrap.d.ts +55 -10
- package/dist/server/server/worktree-bootstrap.d.ts.map +1 -1
- package/dist/server/server/worktree-bootstrap.js +290 -112
- package/dist/server/server/worktree-bootstrap.js.map +1 -1
- package/dist/server/server/worktree-core.d.ts +25 -0
- package/dist/server/server/worktree-core.d.ts.map +1 -0
- package/dist/server/server/worktree-core.js +75 -0
- package/dist/server/server/worktree-core.js.map +1 -0
- package/dist/server/server/worktree-errors.d.ts +12 -0
- package/dist/server/server/worktree-errors.d.ts.map +1 -0
- package/dist/server/server/worktree-errors.js +31 -0
- package/dist/server/server/worktree-errors.js.map +1 -0
- package/dist/server/server/worktree-session.d.ts +56 -70
- package/dist/server/server/worktree-session.d.ts.map +1 -1
- package/dist/server/server/worktree-session.js +176 -251
- package/dist/server/server/worktree-session.js.map +1 -1
- package/dist/server/services/github-service.d.ts +225 -0
- package/dist/server/services/github-service.d.ts.map +1 -0
- package/dist/server/services/github-service.js +1381 -0
- package/dist/server/services/github-service.js.map +1 -0
- package/dist/server/shared/messages.d.ts +29408 -12268
- package/dist/server/shared/messages.d.ts.map +1 -1
- package/dist/server/shared/messages.js +391 -65
- package/dist/server/shared/messages.js.map +1 -1
- package/dist/server/terminal/shell-integration/zsh/.zshenv +17 -0
- package/dist/server/terminal/shell-integration/zsh/paseo-integration.zsh +32 -0
- package/dist/server/terminal/terminal-manager.d.ts +9 -0
- package/dist/server/terminal/terminal-manager.d.ts.map +1 -1
- package/dist/server/terminal/terminal-manager.js +27 -0
- package/dist/server/terminal/terminal-manager.js.map +1 -1
- package/dist/server/terminal/terminal-output-coalescer.d.ts +30 -0
- package/dist/server/terminal/terminal-output-coalescer.d.ts.map +1 -0
- package/dist/server/terminal/terminal-output-coalescer.js +55 -0
- package/dist/server/terminal/terminal-output-coalescer.js.map +1 -0
- package/dist/server/terminal/terminal.d.ts +32 -1
- package/dist/server/terminal/terminal.d.ts.map +1 -1
- package/dist/server/terminal/terminal.js +397 -17
- package/dist/server/terminal/terminal.js.map +1 -1
- package/dist/server/utils/checkout-git.d.ts +63 -10
- package/dist/server/utils/checkout-git.d.ts.map +1 -1
- package/dist/server/utils/checkout-git.js +321 -229
- package/dist/server/utils/checkout-git.js.map +1 -1
- package/dist/server/utils/promise-timeout.d.ts +9 -0
- package/dist/server/utils/promise-timeout.d.ts.map +1 -0
- package/dist/server/utils/promise-timeout.js +25 -0
- package/dist/server/utils/promise-timeout.js.map +1 -0
- package/dist/server/utils/script-hostname.d.ts +8 -0
- package/dist/server/utils/script-hostname.d.ts.map +1 -0
- package/dist/server/utils/script-hostname.js +14 -0
- package/dist/server/utils/script-hostname.js.map +1 -0
- package/dist/server/utils/string-command-shell.d.ts +10 -0
- package/dist/server/utils/string-command-shell.d.ts.map +1 -0
- package/dist/server/utils/string-command-shell.js +21 -0
- package/dist/server/utils/string-command-shell.js.map +1 -0
- package/dist/server/utils/worktree.d.ts +54 -7
- package/dist/server/utils/worktree.d.ts.map +1 -1
- package/dist/server/utils/worktree.js +434 -129
- package/dist/server/utils/worktree.js.map +1 -1
- package/dist/src/terminal/shell-integration/zsh/.zshenv +17 -0
- package/dist/src/terminal/shell-integration/zsh/paseo-integration.zsh +32 -0
- package/package.json +11 -14
- package/dist/server/server/agent/providers/pi-acp-agent.d.ts +0 -28
- package/dist/server/server/agent/providers/pi-acp-agent.d.ts.map +0 -1
- package/dist/server/server/agent/providers/pi-acp-agent.js +0 -302
- package/dist/server/server/agent/providers/pi-acp-agent.js.map +0 -1
|
@@ -198,7 +198,25 @@ const NonNullUnknownSchema = z.union([
|
|
|
198
198
|
z.array(z.unknown()),
|
|
199
199
|
z.object({}).passthrough(),
|
|
200
200
|
]);
|
|
201
|
+
const WorktreeSetupCommandSnapshotSchema = z.object({
|
|
202
|
+
index: z.number().int().positive(),
|
|
203
|
+
command: z.string(),
|
|
204
|
+
cwd: z.string(),
|
|
205
|
+
log: z.string().optional().default(""),
|
|
206
|
+
status: z.enum(["running", "completed", "failed"]),
|
|
207
|
+
exitCode: z.number().nullable(),
|
|
208
|
+
durationMs: z.number().nonnegative().optional(),
|
|
209
|
+
});
|
|
210
|
+
const WorktreeSetupDetailPayloadSchema = z.object({
|
|
211
|
+
type: z.literal("worktree_setup"),
|
|
212
|
+
worktreePath: z.string(),
|
|
213
|
+
branchName: z.string(),
|
|
214
|
+
log: z.string(),
|
|
215
|
+
commands: z.array(WorktreeSetupCommandSnapshotSchema),
|
|
216
|
+
truncated: z.boolean().optional(),
|
|
217
|
+
});
|
|
201
218
|
const ToolCallDetailPayloadSchema = z.discriminatedUnion("type", [
|
|
219
|
+
WorktreeSetupDetailPayloadSchema,
|
|
202
220
|
z.object({
|
|
203
221
|
type: z.literal("shell"),
|
|
204
222
|
command: z.string(),
|
|
@@ -255,21 +273,6 @@ const ToolCallDetailPayloadSchema = z.discriminatedUnion("type", [
|
|
|
255
273
|
bytes: z.number().optional(),
|
|
256
274
|
durationMs: z.number().optional(),
|
|
257
275
|
}),
|
|
258
|
-
z.object({
|
|
259
|
-
type: z.literal("worktree_setup"),
|
|
260
|
-
worktreePath: z.string(),
|
|
261
|
-
branchName: z.string(),
|
|
262
|
-
log: z.string(),
|
|
263
|
-
commands: z.array(z.object({
|
|
264
|
-
index: z.number().int().positive(),
|
|
265
|
-
command: z.string(),
|
|
266
|
-
cwd: z.string(),
|
|
267
|
-
status: z.enum(["running", "completed", "failed"]),
|
|
268
|
-
exitCode: z.number().nullable(),
|
|
269
|
-
durationMs: z.number().nonnegative().optional(),
|
|
270
|
-
})),
|
|
271
|
-
truncated: z.boolean().optional(),
|
|
272
|
-
}),
|
|
273
276
|
z.object({
|
|
274
277
|
type: z.literal("sub_agent"),
|
|
275
278
|
subAgentType: z.string().optional(),
|
|
@@ -303,7 +306,7 @@ const ToolCallBasePayloadSchema = z
|
|
|
303
306
|
callId: z.string(),
|
|
304
307
|
name: z.string(),
|
|
305
308
|
detail: ToolCallDetailPayloadSchema,
|
|
306
|
-
metadata: z.record(z.unknown()).optional(),
|
|
309
|
+
metadata: z.record(z.string(), z.unknown()).optional(),
|
|
307
310
|
})
|
|
308
311
|
.strict();
|
|
309
312
|
const ToolCallRunningPayloadSchema = ToolCallBasePayloadSchema.extend({
|
|
@@ -428,7 +431,7 @@ const AgentPersistenceHandleSchema = z
|
|
|
428
431
|
provider: AgentProviderSchema,
|
|
429
432
|
sessionId: z.string(),
|
|
430
433
|
nativeHandle: z.string().optional(),
|
|
431
|
-
metadata: z.record(z.unknown()).optional(),
|
|
434
|
+
metadata: z.record(z.string(), z.unknown()).optional(),
|
|
432
435
|
})
|
|
433
436
|
.nullable();
|
|
434
437
|
const AgentRuntimeInfoSchema = z.object({
|
|
@@ -437,7 +440,7 @@ const AgentRuntimeInfoSchema = z.object({
|
|
|
437
440
|
model: z.string().nullable().optional(),
|
|
438
441
|
thinkingOptionId: z.string().nullable().optional(),
|
|
439
442
|
modeId: z.string().nullable().optional(),
|
|
440
|
-
extra: z.record(z.unknown()).optional(),
|
|
443
|
+
extra: z.record(z.string(), z.unknown()).optional(),
|
|
441
444
|
});
|
|
442
445
|
export const AgentSnapshotPayloadSchema = z.object({
|
|
443
446
|
id: z.string(),
|
|
@@ -460,12 +463,31 @@ export const AgentSnapshotPayloadSchema = z.object({
|
|
|
460
463
|
lastUsage: AgentUsageSchema.optional(),
|
|
461
464
|
lastError: z.string().optional(),
|
|
462
465
|
title: z.string().nullable(),
|
|
463
|
-
labels: z.record(z.string()).default({}),
|
|
466
|
+
labels: z.record(z.string(), z.string()).default({}),
|
|
464
467
|
requiresAttention: z.boolean().optional(),
|
|
465
468
|
attentionReason: z.enum(["finished", "error", "permission"]).nullable().optional(),
|
|
466
469
|
attentionTimestamp: z.string().nullable().optional(),
|
|
467
470
|
archivedAt: z.string().nullable().optional(),
|
|
468
471
|
});
|
|
472
|
+
export const AgentListItemPayloadSchema = z.object({
|
|
473
|
+
id: z.string(),
|
|
474
|
+
shortId: z.string(),
|
|
475
|
+
title: z.string().nullable(),
|
|
476
|
+
provider: AgentProviderSchema,
|
|
477
|
+
model: z.string().nullable(),
|
|
478
|
+
thinkingOptionId: z.string().nullable().optional(),
|
|
479
|
+
effectiveThinkingOptionId: z.string().nullable().optional(),
|
|
480
|
+
status: AgentStatusSchema,
|
|
481
|
+
cwd: z.string(),
|
|
482
|
+
createdAt: z.string(),
|
|
483
|
+
updatedAt: z.string(),
|
|
484
|
+
lastUserMessageAt: z.string().nullable(),
|
|
485
|
+
archivedAt: z.string().nullable().optional(),
|
|
486
|
+
requiresAttention: z.boolean().optional(),
|
|
487
|
+
attentionReason: z.enum(["finished", "error", "permission"]).nullable().optional(),
|
|
488
|
+
attentionTimestamp: z.string().nullable().optional(),
|
|
489
|
+
labels: z.record(z.string(), z.string()).default({}),
|
|
490
|
+
});
|
|
469
491
|
// ============================================================================
|
|
470
492
|
// Session Inbound Messages (Session receives these)
|
|
471
493
|
// ============================================================================
|
|
@@ -519,17 +541,53 @@ export const SetVoiceModeMessageSchema = z.object({
|
|
|
519
541
|
agentId: z.string().optional(),
|
|
520
542
|
requestId: z.string().optional(),
|
|
521
543
|
});
|
|
544
|
+
export const GitHubPrAttachmentSchema = z.object({
|
|
545
|
+
type: z.literal("github_pr"),
|
|
546
|
+
mimeType: z.literal("application/github-pr"),
|
|
547
|
+
number: z.number().int().positive(),
|
|
548
|
+
title: z.string(),
|
|
549
|
+
url: z.string(),
|
|
550
|
+
body: z.string().nullable().optional(),
|
|
551
|
+
baseRefName: z.string().nullable().optional(),
|
|
552
|
+
headRefName: z.string().nullable().optional(),
|
|
553
|
+
});
|
|
554
|
+
export const GitHubIssueAttachmentSchema = z.object({
|
|
555
|
+
type: z.literal("github_issue"),
|
|
556
|
+
mimeType: z.literal("application/github-issue"),
|
|
557
|
+
number: z.number().int().positive(),
|
|
558
|
+
title: z.string(),
|
|
559
|
+
url: z.string(),
|
|
560
|
+
body: z.string().nullable().optional(),
|
|
561
|
+
});
|
|
562
|
+
export const AgentAttachmentSchema = z.discriminatedUnion("type", [
|
|
563
|
+
GitHubPrAttachmentSchema,
|
|
564
|
+
GitHubIssueAttachmentSchema,
|
|
565
|
+
]);
|
|
566
|
+
function normalizeAgentAttachments(input) {
|
|
567
|
+
if (!Array.isArray(input)) {
|
|
568
|
+
return [];
|
|
569
|
+
}
|
|
570
|
+
const normalized = [];
|
|
571
|
+
for (const item of input) {
|
|
572
|
+
const parsed = AgentAttachmentSchema.safeParse(item);
|
|
573
|
+
if (parsed.success) {
|
|
574
|
+
normalized.push(parsed.data);
|
|
575
|
+
}
|
|
576
|
+
}
|
|
577
|
+
return normalized;
|
|
578
|
+
}
|
|
579
|
+
const AgentAttachmentsSchema = z.unknown().transform(normalizeAgentAttachments).optional();
|
|
580
|
+
const ImageAttachmentSchema = z.object({
|
|
581
|
+
data: z.string(), // base64 encoded image
|
|
582
|
+
mimeType: z.string(), // e.g., "image/jpeg", "image/png"
|
|
583
|
+
});
|
|
522
584
|
export const SendAgentMessageSchema = z.object({
|
|
523
585
|
type: z.literal("send_agent_message"),
|
|
524
586
|
agentId: z.string(),
|
|
525
587
|
text: z.string(),
|
|
526
588
|
messageId: z.string().optional(), // Client-provided ID for deduplication
|
|
527
|
-
images: z
|
|
528
|
-
|
|
529
|
-
data: z.string(), // base64 encoded image
|
|
530
|
-
mimeType: z.string(), // e.g., "image/jpeg", "image/png"
|
|
531
|
-
}))
|
|
532
|
-
.optional(),
|
|
589
|
+
images: z.array(ImageAttachmentSchema).optional(),
|
|
590
|
+
attachments: AgentAttachmentsSchema,
|
|
533
591
|
});
|
|
534
592
|
// ============================================================================
|
|
535
593
|
// Agent RPCs (requestId-correlated)
|
|
@@ -537,6 +595,7 @@ export const SendAgentMessageSchema = z.object({
|
|
|
537
595
|
export const FetchAgentsRequestMessageSchema = z.object({
|
|
538
596
|
type: z.literal("fetch_agents_request"),
|
|
539
597
|
requestId: z.string(),
|
|
598
|
+
scope: z.enum(["active"]).optional(),
|
|
540
599
|
filter: AgentDirectoryFilterSchema.optional(),
|
|
541
600
|
sort: z
|
|
542
601
|
.array(z.object({
|
|
@@ -591,6 +650,23 @@ export const FetchWorkspacesRequestMessageSchema = z.object({
|
|
|
591
650
|
})
|
|
592
651
|
.optional(),
|
|
593
652
|
});
|
|
653
|
+
export const FetchAgentHistoryRequestMessageSchema = z.object({
|
|
654
|
+
type: z.literal("fetch_agent_history_request"),
|
|
655
|
+
requestId: z.string(),
|
|
656
|
+
filter: AgentDirectoryFilterSchema.optional(),
|
|
657
|
+
sort: z
|
|
658
|
+
.array(z.object({
|
|
659
|
+
key: z.enum(["status_priority", "created_at", "updated_at", "title"]),
|
|
660
|
+
direction: z.enum(["asc", "desc"]),
|
|
661
|
+
}))
|
|
662
|
+
.optional(),
|
|
663
|
+
page: z
|
|
664
|
+
.object({
|
|
665
|
+
limit: z.number().int().positive().max(200),
|
|
666
|
+
cursor: z.string().min(1).optional(),
|
|
667
|
+
})
|
|
668
|
+
.optional(),
|
|
669
|
+
});
|
|
594
670
|
export const FetchAgentRequestMessageSchema = z.object({
|
|
595
671
|
type: z.literal("fetch_agent_request"),
|
|
596
672
|
requestId: z.string(),
|
|
@@ -604,12 +680,8 @@ export const SendAgentMessageRequestSchema = z.object({
|
|
|
604
680
|
agentId: z.string(),
|
|
605
681
|
text: z.string(),
|
|
606
682
|
messageId: z.string().optional(), // Client-provided ID for deduplication
|
|
607
|
-
images: z
|
|
608
|
-
|
|
609
|
-
data: z.string(), // base64 encoded image
|
|
610
|
-
mimeType: z.string(), // e.g., "image/jpeg", "image/png"
|
|
611
|
-
}))
|
|
612
|
-
.optional(),
|
|
683
|
+
images: z.array(ImageAttachmentSchema).optional(),
|
|
684
|
+
attachments: AgentAttachmentsSchema,
|
|
613
685
|
});
|
|
614
686
|
export const WaitForFinishRequestSchema = z.object({
|
|
615
687
|
type: z.literal("wait_for_finish_request"),
|
|
@@ -657,20 +729,20 @@ const GitSetupOptionsSchema = z.object({
|
|
|
657
729
|
newBranchName: z.string().optional(),
|
|
658
730
|
createWorktree: z.boolean().optional(),
|
|
659
731
|
worktreeSlug: z.string().optional(),
|
|
732
|
+
refName: z.string().min(1).optional(),
|
|
733
|
+
action: z.enum(["branch-off", "checkout"]).optional(),
|
|
734
|
+
githubPrNumber: z.number().int().positive().optional(),
|
|
660
735
|
});
|
|
661
736
|
export const CreateAgentRequestMessageSchema = z.object({
|
|
662
737
|
type: z.literal("create_agent_request"),
|
|
663
738
|
config: AgentSessionConfigSchema,
|
|
739
|
+
workspaceId: z.string().optional(),
|
|
664
740
|
worktreeName: z.string().optional(),
|
|
665
741
|
initialPrompt: z.string().optional(),
|
|
666
742
|
clientMessageId: z.string().optional(),
|
|
667
743
|
outputSchema: z.record(z.unknown()).optional(),
|
|
668
|
-
images: z
|
|
669
|
-
|
|
670
|
-
data: z.string(), // base64 encoded image
|
|
671
|
-
mimeType: z.string(), // e.g., "image/jpeg", "image/png"
|
|
672
|
-
}))
|
|
673
|
-
.optional(),
|
|
744
|
+
images: z.array(ImageAttachmentSchema).optional(),
|
|
745
|
+
attachments: AgentAttachmentsSchema,
|
|
674
746
|
git: GitSetupOptionsSchema.optional(),
|
|
675
747
|
labels: z.record(z.string()).default({}),
|
|
676
748
|
requestId: z.string(),
|
|
@@ -912,6 +984,14 @@ export const CheckoutPrStatusRequestSchema = z.object({
|
|
|
912
984
|
cwd: z.string(),
|
|
913
985
|
requestId: z.string(),
|
|
914
986
|
});
|
|
987
|
+
export const PullRequestTimelineRequestSchema = z.object({
|
|
988
|
+
type: z.literal("pull_request_timeline_request"),
|
|
989
|
+
cwd: z.string(),
|
|
990
|
+
prNumber: z.number(),
|
|
991
|
+
repoOwner: z.string(),
|
|
992
|
+
repoName: z.string(),
|
|
993
|
+
requestId: z.string(),
|
|
994
|
+
});
|
|
915
995
|
export const ValidateBranchRequestSchema = z.object({
|
|
916
996
|
type: z.literal("validate_branch_request"),
|
|
917
997
|
cwd: z.string(),
|
|
@@ -952,6 +1032,27 @@ export const BranchSuggestionsRequestSchema = z.object({
|
|
|
952
1032
|
limit: z.number().int().min(1).max(200).optional(),
|
|
953
1033
|
requestId: z.string(),
|
|
954
1034
|
});
|
|
1035
|
+
export const GitHubSearchItemSchema = z.object({
|
|
1036
|
+
kind: z.enum(["issue", "pr"]),
|
|
1037
|
+
number: z.number(),
|
|
1038
|
+
title: z.string(),
|
|
1039
|
+
url: z.string(),
|
|
1040
|
+
state: z.string(),
|
|
1041
|
+
body: z.string().nullable(),
|
|
1042
|
+
labels: z.array(z.string()),
|
|
1043
|
+
baseRefName: z.string().nullable().optional(),
|
|
1044
|
+
headRefName: z.string().nullable().optional(),
|
|
1045
|
+
updatedAt: z.string().optional(),
|
|
1046
|
+
});
|
|
1047
|
+
export const GitHubSearchKindSchema = z.enum(["github-issue", "github-pr"]);
|
|
1048
|
+
export const GitHubSearchRequestSchema = z.object({
|
|
1049
|
+
type: z.literal("github_search_request"),
|
|
1050
|
+
cwd: z.string(),
|
|
1051
|
+
query: z.string(),
|
|
1052
|
+
limit: z.number().int().min(1).max(50).optional(),
|
|
1053
|
+
kinds: z.array(GitHubSearchKindSchema).optional(),
|
|
1054
|
+
requestId: z.string(),
|
|
1055
|
+
});
|
|
955
1056
|
export const DirectorySuggestionsRequestSchema = z.object({
|
|
956
1057
|
type: z.literal("directory_suggestions_request"),
|
|
957
1058
|
query: z.string(),
|
|
@@ -978,6 +1079,15 @@ export const CreatePaseoWorktreeRequestSchema = z.object({
|
|
|
978
1079
|
type: z.literal("create_paseo_worktree_request"),
|
|
979
1080
|
cwd: z.string(),
|
|
980
1081
|
worktreeSlug: z.string().optional(),
|
|
1082
|
+
attachments: AgentAttachmentsSchema,
|
|
1083
|
+
refName: z.string().min(1).optional(),
|
|
1084
|
+
action: z.enum(["branch-off", "checkout"]).optional(),
|
|
1085
|
+
githubPrNumber: z.number().int().positive().optional(),
|
|
1086
|
+
requestId: z.string(),
|
|
1087
|
+
});
|
|
1088
|
+
export const WorkspaceSetupStatusRequestSchema = z.object({
|
|
1089
|
+
type: z.literal("workspace_setup_status_request"),
|
|
1090
|
+
workspaceId: z.string(),
|
|
981
1091
|
requestId: z.string(),
|
|
982
1092
|
});
|
|
983
1093
|
// TODO(2026-07): Remove once most clients are on >=0.1.50 and support arbitrary editor ids.
|
|
@@ -1151,6 +1261,15 @@ export const CreateTerminalRequestSchema = z.object({
|
|
|
1151
1261
|
type: z.literal("create_terminal_request"),
|
|
1152
1262
|
cwd: z.string(),
|
|
1153
1263
|
name: z.string().optional(),
|
|
1264
|
+
agentId: z.string().optional(),
|
|
1265
|
+
command: z.string().optional(),
|
|
1266
|
+
args: z.array(z.string()).optional(),
|
|
1267
|
+
requestId: z.string(),
|
|
1268
|
+
});
|
|
1269
|
+
export const StartWorkspaceScriptRequestSchema = z.object({
|
|
1270
|
+
type: z.literal("start_workspace_script_request"),
|
|
1271
|
+
workspaceId: z.string(),
|
|
1272
|
+
scriptName: z.string(),
|
|
1154
1273
|
requestId: z.string(),
|
|
1155
1274
|
});
|
|
1156
1275
|
export const SubscribeTerminalRequestSchema = z.object({
|
|
@@ -1196,6 +1315,7 @@ export const SessionInboundMessageSchema = z.discriminatedUnion("type", [
|
|
|
1196
1315
|
AbortRequestMessageSchema,
|
|
1197
1316
|
AudioPlayedMessageSchema,
|
|
1198
1317
|
FetchAgentsRequestMessageSchema,
|
|
1318
|
+
FetchAgentHistoryRequestMessageSchema,
|
|
1199
1319
|
FetchWorkspacesRequestMessageSchema,
|
|
1200
1320
|
FetchAgentRequestMessageSchema,
|
|
1201
1321
|
DeleteAgentRequestMessageSchema,
|
|
@@ -1240,16 +1360,19 @@ export const SessionInboundMessageSchema = z.discriminatedUnion("type", [
|
|
|
1240
1360
|
CheckoutPushRequestSchema,
|
|
1241
1361
|
CheckoutPrCreateRequestSchema,
|
|
1242
1362
|
CheckoutPrStatusRequestSchema,
|
|
1363
|
+
PullRequestTimelineRequestSchema,
|
|
1243
1364
|
CheckoutSwitchBranchRequestSchema,
|
|
1244
1365
|
StashSaveRequestSchema,
|
|
1245
1366
|
StashPopRequestSchema,
|
|
1246
1367
|
StashListRequestSchema,
|
|
1247
1368
|
ValidateBranchRequestSchema,
|
|
1248
1369
|
BranchSuggestionsRequestSchema,
|
|
1370
|
+
GitHubSearchRequestSchema,
|
|
1249
1371
|
DirectorySuggestionsRequestSchema,
|
|
1250
1372
|
PaseoWorktreeListRequestSchema,
|
|
1251
1373
|
PaseoWorktreeArchiveRequestSchema,
|
|
1252
1374
|
CreatePaseoWorktreeRequestSchema,
|
|
1375
|
+
WorkspaceSetupStatusRequestSchema,
|
|
1253
1376
|
ListAvailableEditorsRequestSchema,
|
|
1254
1377
|
OpenInEditorRequestSchema,
|
|
1255
1378
|
OpenProjectRequestSchema,
|
|
@@ -1266,6 +1389,7 @@ export const SessionInboundMessageSchema = z.discriminatedUnion("type", [
|
|
|
1266
1389
|
SubscribeTerminalsRequestSchema,
|
|
1267
1390
|
UnsubscribeTerminalsRequestSchema,
|
|
1268
1391
|
CreateTerminalRequestSchema,
|
|
1392
|
+
StartWorkspaceScriptRequestSchema,
|
|
1269
1393
|
SubscribeTerminalRequestSchema,
|
|
1270
1394
|
UnsubscribeTerminalRequestSchema,
|
|
1271
1395
|
TerminalInputSchema,
|
|
@@ -1486,6 +1610,7 @@ export const AgentCreateFailedStatusPayloadSchema = z.object({
|
|
|
1486
1610
|
status: z.literal("agent_create_failed"),
|
|
1487
1611
|
requestId: z.string(),
|
|
1488
1612
|
error: z.string(),
|
|
1613
|
+
errorCode: z.string().optional(),
|
|
1489
1614
|
});
|
|
1490
1615
|
export const AgentResumedStatusPayloadSchema = z
|
|
1491
1616
|
.object({
|
|
@@ -1586,6 +1711,19 @@ export const ProjectPlacementPayloadSchema = z.object({
|
|
|
1586
1711
|
projectName: z.string(),
|
|
1587
1712
|
checkout: ProjectCheckoutLitePayloadSchema,
|
|
1588
1713
|
});
|
|
1714
|
+
export const WorkspaceScriptLifecycleSchema = z.enum(["running", "stopped"]);
|
|
1715
|
+
export const WorkspaceScriptHealthSchema = z.enum(["healthy", "unhealthy"]);
|
|
1716
|
+
export const WorkspaceScriptPayloadSchema = z.object({
|
|
1717
|
+
scriptName: z.string(),
|
|
1718
|
+
type: z.enum(["script", "service"]).optional().default("service"),
|
|
1719
|
+
hostname: z.string(),
|
|
1720
|
+
port: z.number().int().positive().nullable(),
|
|
1721
|
+
proxyUrl: z.string().nullable().optional().default(null),
|
|
1722
|
+
lifecycle: WorkspaceScriptLifecycleSchema,
|
|
1723
|
+
health: WorkspaceScriptHealthSchema.nullable(),
|
|
1724
|
+
exitCode: z.number().nullable().optional().default(null),
|
|
1725
|
+
terminalId: z.string().nullable().optional().default(null),
|
|
1726
|
+
});
|
|
1589
1727
|
const WorkspaceGitRuntimePayloadSchema = z
|
|
1590
1728
|
.object({
|
|
1591
1729
|
currentBranch: z.string().nullable().optional(),
|
|
@@ -1628,13 +1766,16 @@ const WorkspaceGitHubRuntimePayloadSchema = z
|
|
|
1628
1766
|
})
|
|
1629
1767
|
.optional()
|
|
1630
1768
|
.nullable();
|
|
1631
|
-
export const WorkspaceDescriptorPayloadSchema = z
|
|
1769
|
+
export const WorkspaceDescriptorPayloadSchema = z
|
|
1770
|
+
.object({
|
|
1632
1771
|
id: z.string(),
|
|
1633
1772
|
projectId: z.string(),
|
|
1634
1773
|
projectDisplayName: z.string(),
|
|
1635
1774
|
projectRootPath: z.string(),
|
|
1636
|
-
|
|
1637
|
-
|
|
1775
|
+
workspaceDirectory: z.string().optional(),
|
|
1776
|
+
projectKind: z.enum(["git", "non_git", "directory"]),
|
|
1777
|
+
// COMPAT(workspaces): keep legacy directory workspace kind parseable.
|
|
1778
|
+
workspaceKind: z.enum(["directory", "local_checkout", "checkout", "worktree"]),
|
|
1638
1779
|
name: z.string(),
|
|
1639
1780
|
status: WorkspaceStateBucketSchema,
|
|
1640
1781
|
activityAt: z.string().nullable(),
|
|
@@ -1645,16 +1786,21 @@ export const WorkspaceDescriptorPayloadSchema = z.object({
|
|
|
1645
1786
|
})
|
|
1646
1787
|
.nullable()
|
|
1647
1788
|
.optional(),
|
|
1789
|
+
scripts: z.array(WorkspaceScriptPayloadSchema).default([]),
|
|
1648
1790
|
gitRuntime: WorkspaceGitRuntimePayloadSchema,
|
|
1649
1791
|
githubRuntime: WorkspaceGitHubRuntimePayloadSchema,
|
|
1650
|
-
})
|
|
1792
|
+
})
|
|
1793
|
+
.transform((workspace) => ({
|
|
1794
|
+
...workspace,
|
|
1795
|
+
workspaceDirectory: workspace.workspaceDirectory ?? workspace.projectRootPath,
|
|
1796
|
+
}));
|
|
1651
1797
|
export const AgentUpdateMessageSchema = z.object({
|
|
1652
1798
|
type: z.literal("agent_update"),
|
|
1653
1799
|
payload: z.discriminatedUnion("kind", [
|
|
1654
1800
|
z.object({
|
|
1655
1801
|
kind: z.literal("upsert"),
|
|
1656
1802
|
agent: AgentSnapshotPayloadSchema,
|
|
1657
|
-
project: ProjectPlacementPayloadSchema,
|
|
1803
|
+
project: ProjectPlacementPayloadSchema.nullable().optional(),
|
|
1658
1804
|
}),
|
|
1659
1805
|
z.object({
|
|
1660
1806
|
kind: z.literal("remove"),
|
|
@@ -1687,20 +1833,30 @@ export const AgentListMessageSchema = z.object({
|
|
|
1687
1833
|
agents: z.array(AgentSnapshotPayloadSchema),
|
|
1688
1834
|
}),
|
|
1689
1835
|
});
|
|
1836
|
+
const AgentDirectoryResponseEntrySchema = z.object({
|
|
1837
|
+
agent: AgentSnapshotPayloadSchema,
|
|
1838
|
+
project: ProjectPlacementPayloadSchema,
|
|
1839
|
+
});
|
|
1840
|
+
const AgentDirectoryPageInfoSchema = z.object({
|
|
1841
|
+
nextCursor: z.string().nullable(),
|
|
1842
|
+
prevCursor: z.string().nullable(),
|
|
1843
|
+
hasMore: z.boolean(),
|
|
1844
|
+
});
|
|
1690
1845
|
export const FetchAgentsResponseMessageSchema = z.object({
|
|
1691
1846
|
type: z.literal("fetch_agents_response"),
|
|
1692
1847
|
payload: z.object({
|
|
1693
1848
|
requestId: z.string(),
|
|
1694
1849
|
subscriptionId: z.string().nullable().optional(),
|
|
1695
|
-
entries: z.array(
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
|
|
1701
|
-
|
|
1702
|
-
|
|
1703
|
-
|
|
1850
|
+
entries: z.array(AgentDirectoryResponseEntrySchema),
|
|
1851
|
+
pageInfo: AgentDirectoryPageInfoSchema,
|
|
1852
|
+
}),
|
|
1853
|
+
});
|
|
1854
|
+
export const FetchAgentHistoryResponseMessageSchema = z.object({
|
|
1855
|
+
type: z.literal("fetch_agent_history_response"),
|
|
1856
|
+
payload: z.object({
|
|
1857
|
+
requestId: z.string(),
|
|
1858
|
+
entries: z.array(AgentDirectoryResponseEntrySchema),
|
|
1859
|
+
pageInfo: AgentDirectoryPageInfoSchema,
|
|
1704
1860
|
}),
|
|
1705
1861
|
});
|
|
1706
1862
|
export const FetchWorkspacesResponseMessageSchema = z.object({
|
|
@@ -1729,6 +1885,35 @@ export const WorkspaceUpdateMessageSchema = z.object({
|
|
|
1729
1885
|
}),
|
|
1730
1886
|
]),
|
|
1731
1887
|
});
|
|
1888
|
+
export const ScriptStatusUpdateMessageSchema = z.object({
|
|
1889
|
+
type: z.literal("script_status_update"),
|
|
1890
|
+
payload: z.object({
|
|
1891
|
+
workspaceId: z.string(),
|
|
1892
|
+
scripts: z.array(WorkspaceScriptPayloadSchema),
|
|
1893
|
+
}),
|
|
1894
|
+
});
|
|
1895
|
+
export const WorkspaceSetupProgressMessageSchema = z.object({
|
|
1896
|
+
type: z.literal("workspace_setup_progress"),
|
|
1897
|
+
payload: z.object({
|
|
1898
|
+
workspaceId: z.string(),
|
|
1899
|
+
status: z.enum(["running", "completed", "failed"]),
|
|
1900
|
+
detail: WorktreeSetupDetailPayloadSchema,
|
|
1901
|
+
error: z.string().nullable(),
|
|
1902
|
+
}),
|
|
1903
|
+
});
|
|
1904
|
+
export const WorkspaceSetupSnapshotSchema = z.object({
|
|
1905
|
+
status: z.enum(["running", "completed", "failed"]),
|
|
1906
|
+
detail: WorktreeSetupDetailPayloadSchema,
|
|
1907
|
+
error: z.string().nullable(),
|
|
1908
|
+
});
|
|
1909
|
+
export const WorkspaceSetupStatusResponseMessageSchema = z.object({
|
|
1910
|
+
type: z.literal("workspace_setup_status_response"),
|
|
1911
|
+
payload: z.object({
|
|
1912
|
+
requestId: z.string(),
|
|
1913
|
+
workspaceId: z.string(),
|
|
1914
|
+
snapshot: WorkspaceSetupSnapshotSchema.nullable(),
|
|
1915
|
+
}),
|
|
1916
|
+
});
|
|
1732
1917
|
export const OpenProjectResponseMessageSchema = z.object({
|
|
1733
1918
|
type: z.literal("open_project_response"),
|
|
1734
1919
|
payload: z.object({
|
|
@@ -1737,6 +1922,16 @@ export const OpenProjectResponseMessageSchema = z.object({
|
|
|
1737
1922
|
error: z.string().nullable(),
|
|
1738
1923
|
}),
|
|
1739
1924
|
});
|
|
1925
|
+
export const StartWorkspaceScriptResponseMessageSchema = z.object({
|
|
1926
|
+
type: z.literal("start_workspace_script_response"),
|
|
1927
|
+
payload: z.object({
|
|
1928
|
+
requestId: z.string(),
|
|
1929
|
+
workspaceId: z.string(),
|
|
1930
|
+
scriptName: z.string(),
|
|
1931
|
+
terminalId: z.string().nullable(),
|
|
1932
|
+
error: z.string().nullable(),
|
|
1933
|
+
}),
|
|
1934
|
+
});
|
|
1740
1935
|
export const ListAvailableEditorsResponseMessageSchema = z.object({
|
|
1741
1936
|
type: z.literal("list_available_editors_response"),
|
|
1742
1937
|
payload: z.object({
|
|
@@ -1964,6 +2159,50 @@ export const CheckoutStatusResponseSchema = z.object({
|
|
|
1964
2159
|
CheckoutStatusGitPaseoSchema,
|
|
1965
2160
|
]),
|
|
1966
2161
|
});
|
|
2162
|
+
export const CheckoutPrStatusSchema = z.object({
|
|
2163
|
+
number: z.number().optional(),
|
|
2164
|
+
url: z.string(),
|
|
2165
|
+
title: z.string(),
|
|
2166
|
+
state: z.string(),
|
|
2167
|
+
baseRefName: z.string(),
|
|
2168
|
+
headRefName: z.string(),
|
|
2169
|
+
isMerged: z.boolean(),
|
|
2170
|
+
isDraft: z.boolean().optional().default(false),
|
|
2171
|
+
checks: z
|
|
2172
|
+
.array(z.object({
|
|
2173
|
+
name: z.string(),
|
|
2174
|
+
status: z.string(),
|
|
2175
|
+
url: z.string().nullable(),
|
|
2176
|
+
workflow: z.string().optional(),
|
|
2177
|
+
duration: z.string().optional(),
|
|
2178
|
+
}))
|
|
2179
|
+
.optional()
|
|
2180
|
+
.default([]),
|
|
2181
|
+
checksStatus: z.string().optional(),
|
|
2182
|
+
reviewDecision: z.string().nullable().optional(),
|
|
2183
|
+
repoOwner: z.string().optional(),
|
|
2184
|
+
repoName: z.string().optional(),
|
|
2185
|
+
});
|
|
2186
|
+
const CheckoutPrStatusPayloadSchema = z.object({
|
|
2187
|
+
cwd: z.string(),
|
|
2188
|
+
status: CheckoutPrStatusSchema.nullable(),
|
|
2189
|
+
githubFeaturesEnabled: z.boolean(),
|
|
2190
|
+
error: CheckoutErrorSchema.nullable(),
|
|
2191
|
+
requestId: z.string(),
|
|
2192
|
+
});
|
|
2193
|
+
const CheckoutStatusUpdateMetadataSchema = z.object({
|
|
2194
|
+
prStatus: CheckoutPrStatusPayloadSchema.optional(),
|
|
2195
|
+
});
|
|
2196
|
+
export const CheckoutStatusUpdateSchema = z.object({
|
|
2197
|
+
type: z.literal("checkout_status_update"),
|
|
2198
|
+
payload: z
|
|
2199
|
+
.union([
|
|
2200
|
+
CheckoutStatusNotGitSchema,
|
|
2201
|
+
CheckoutStatusGitNonPaseoSchema,
|
|
2202
|
+
CheckoutStatusGitPaseoSchema,
|
|
2203
|
+
])
|
|
2204
|
+
.and(CheckoutStatusUpdateMetadataSchema),
|
|
2205
|
+
});
|
|
1967
2206
|
const CheckoutDiffSubscriptionPayloadSchema = z.object({
|
|
1968
2207
|
subscriptionId: z.string(),
|
|
1969
2208
|
cwd: z.string(),
|
|
@@ -2035,23 +2274,81 @@ export const CheckoutPrCreateResponseSchema = z.object({
|
|
|
2035
2274
|
requestId: z.string(),
|
|
2036
2275
|
}),
|
|
2037
2276
|
});
|
|
2038
|
-
const CheckoutPrStatusSchema = z.object({
|
|
2039
|
-
url: z.string(),
|
|
2040
|
-
title: z.string(),
|
|
2041
|
-
state: z.string(),
|
|
2042
|
-
baseRefName: z.string(),
|
|
2043
|
-
headRefName: z.string(),
|
|
2044
|
-
isMerged: z.boolean(),
|
|
2045
|
-
});
|
|
2046
2277
|
export const CheckoutPrStatusResponseSchema = z.object({
|
|
2047
2278
|
type: z.literal("checkout_pr_status_response"),
|
|
2048
|
-
payload:
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
|
|
2279
|
+
payload: CheckoutPrStatusPayloadSchema,
|
|
2280
|
+
});
|
|
2281
|
+
const PullRequestTimelineKnownErrorSchema = z.discriminatedUnion("kind", [
|
|
2282
|
+
z.object({
|
|
2283
|
+
kind: z.literal("not_found"),
|
|
2284
|
+
message: z.string().optional().default(""),
|
|
2054
2285
|
}),
|
|
2286
|
+
z.object({
|
|
2287
|
+
kind: z.literal("forbidden"),
|
|
2288
|
+
message: z.string().optional().default(""),
|
|
2289
|
+
}),
|
|
2290
|
+
z.object({
|
|
2291
|
+
kind: z.literal("unknown"),
|
|
2292
|
+
message: z.string().optional().default(""),
|
|
2293
|
+
}),
|
|
2294
|
+
]);
|
|
2295
|
+
const PullRequestTimelineErrorSchema = z.preprocess((value) => {
|
|
2296
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
2297
|
+
return { kind: "unknown", message: "" };
|
|
2298
|
+
}
|
|
2299
|
+
const error = value;
|
|
2300
|
+
if (error.kind === "not_found" || error.kind === "forbidden" || error.kind === "unknown") {
|
|
2301
|
+
return error;
|
|
2302
|
+
}
|
|
2303
|
+
return { ...error, kind: "unknown" };
|
|
2304
|
+
}, PullRequestTimelineKnownErrorSchema);
|
|
2305
|
+
const PullRequestTimelineReviewItemSchema = z.object({
|
|
2306
|
+
id: z.string().optional().default(""),
|
|
2307
|
+
kind: z.literal("review"),
|
|
2308
|
+
author: z.string().optional().default("unknown"),
|
|
2309
|
+
body: z.string().optional().default(""),
|
|
2310
|
+
createdAt: z.number().optional().default(0),
|
|
2311
|
+
url: z.string().optional().default(""),
|
|
2312
|
+
reviewState: z
|
|
2313
|
+
.enum(["approved", "changes_requested", "commented"])
|
|
2314
|
+
.optional()
|
|
2315
|
+
.default("commented"),
|
|
2316
|
+
});
|
|
2317
|
+
const PullRequestTimelineCommentItemSchema = z.object({
|
|
2318
|
+
id: z.string().optional().default(""),
|
|
2319
|
+
kind: z.literal("comment"),
|
|
2320
|
+
author: z.string().optional().default("unknown"),
|
|
2321
|
+
body: z.string().optional().default(""),
|
|
2322
|
+
createdAt: z.number().optional().default(0),
|
|
2323
|
+
url: z.string().optional().default(""),
|
|
2324
|
+
});
|
|
2325
|
+
export const PullRequestTimelineItemSchema = z.preprocess((value) => {
|
|
2326
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
2327
|
+
return value;
|
|
2328
|
+
}
|
|
2329
|
+
const item = value;
|
|
2330
|
+
if (item.kind === "review" || item.kind === "comment") {
|
|
2331
|
+
return item;
|
|
2332
|
+
}
|
|
2333
|
+
return { ...item, kind: "comment" };
|
|
2334
|
+
}, z.discriminatedUnion("kind", [
|
|
2335
|
+
PullRequestTimelineReviewItemSchema,
|
|
2336
|
+
PullRequestTimelineCommentItemSchema,
|
|
2337
|
+
]));
|
|
2338
|
+
export const PullRequestTimelineResponseSchema = z.object({
|
|
2339
|
+
type: z.literal("pull_request_timeline_response"),
|
|
2340
|
+
payload: z
|
|
2341
|
+
.object({
|
|
2342
|
+
cwd: z.string().optional().default(""),
|
|
2343
|
+
prNumber: z.number().nullable().optional().default(null),
|
|
2344
|
+
items: z.array(PullRequestTimelineItemSchema).optional().default([]),
|
|
2345
|
+
truncated: z.boolean().optional().default(false),
|
|
2346
|
+
error: PullRequestTimelineErrorSchema.nullable().optional().default(null),
|
|
2347
|
+
requestId: z.string().optional().default(""),
|
|
2348
|
+
githubFeaturesEnabled: z.boolean().optional().default(true),
|
|
2349
|
+
})
|
|
2350
|
+
.optional()
|
|
2351
|
+
.default({}),
|
|
2055
2352
|
});
|
|
2056
2353
|
export const CheckoutSwitchBranchResponseSchema = z.object({
|
|
2057
2354
|
type: z.literal("checkout_switch_branch_response"),
|
|
@@ -2059,6 +2356,7 @@ export const CheckoutSwitchBranchResponseSchema = z.object({
|
|
|
2059
2356
|
cwd: z.string(),
|
|
2060
2357
|
success: z.boolean(),
|
|
2061
2358
|
branch: z.string(),
|
|
2359
|
+
source: z.enum(["local", "remote"]).optional(),
|
|
2062
2360
|
error: CheckoutErrorSchema.nullable(),
|
|
2063
2361
|
requestId: z.string(),
|
|
2064
2362
|
}),
|
|
@@ -2110,6 +2408,23 @@ export const BranchSuggestionsResponseSchema = z.object({
|
|
|
2110
2408
|
type: z.literal("branch_suggestions_response"),
|
|
2111
2409
|
payload: z.object({
|
|
2112
2410
|
branches: z.array(z.string()),
|
|
2411
|
+
branchDetails: z
|
|
2412
|
+
.array(z.object({
|
|
2413
|
+
name: z.string(),
|
|
2414
|
+
committerDate: z.number(),
|
|
2415
|
+
hasLocal: z.boolean().optional(),
|
|
2416
|
+
hasRemote: z.boolean().optional(),
|
|
2417
|
+
}))
|
|
2418
|
+
.optional(),
|
|
2419
|
+
error: z.string().nullable(),
|
|
2420
|
+
requestId: z.string(),
|
|
2421
|
+
}),
|
|
2422
|
+
});
|
|
2423
|
+
export const GitHubSearchResponseSchema = z.object({
|
|
2424
|
+
type: z.literal("github_search_response"),
|
|
2425
|
+
payload: z.object({
|
|
2426
|
+
items: z.array(GitHubSearchItemSchema),
|
|
2427
|
+
githubFeaturesEnabled: z.boolean(),
|
|
2113
2428
|
error: z.string().nullable(),
|
|
2114
2429
|
requestId: z.string(),
|
|
2115
2430
|
}),
|
|
@@ -2157,6 +2472,7 @@ export const CreatePaseoWorktreeResponseSchema = z.object({
|
|
|
2157
2472
|
payload: z.object({
|
|
2158
2473
|
workspace: WorkspaceDescriptorPayloadSchema.nullable(),
|
|
2159
2474
|
error: z.string().nullable(),
|
|
2475
|
+
errorCode: z.string().optional(),
|
|
2160
2476
|
setupTerminalId: z.string().nullable(),
|
|
2161
2477
|
requestId: z.string(),
|
|
2162
2478
|
}),
|
|
@@ -2299,6 +2615,7 @@ const TerminalInfoSchema = z.object({
|
|
|
2299
2615
|
id: z.string(),
|
|
2300
2616
|
name: z.string(),
|
|
2301
2617
|
cwd: z.string(),
|
|
2618
|
+
title: z.string().optional(),
|
|
2302
2619
|
});
|
|
2303
2620
|
export const TerminalCellSchema = z
|
|
2304
2621
|
.object({
|
|
@@ -2332,6 +2649,7 @@ export const TerminalStateSchema = z
|
|
|
2332
2649
|
grid: z.array(z.array(TerminalCellSchema)),
|
|
2333
2650
|
scrollback: z.array(z.array(TerminalCellSchema)),
|
|
2334
2651
|
cursor: TerminalCursorSchema,
|
|
2652
|
+
title: z.string().optional(),
|
|
2335
2653
|
})
|
|
2336
2654
|
.strict();
|
|
2337
2655
|
export const ListTerminalsResponseSchema = z.object({
|
|
@@ -2413,11 +2731,16 @@ export const SessionOutboundMessageSchema = z.discriminatedUnion("type", [
|
|
|
2413
2731
|
ArtifactMessageSchema,
|
|
2414
2732
|
AgentUpdateMessageSchema,
|
|
2415
2733
|
WorkspaceUpdateMessageSchema,
|
|
2734
|
+
ScriptStatusUpdateMessageSchema,
|
|
2735
|
+
WorkspaceSetupProgressMessageSchema,
|
|
2736
|
+
WorkspaceSetupStatusResponseMessageSchema,
|
|
2416
2737
|
AgentStreamMessageSchema,
|
|
2417
2738
|
AgentStatusMessageSchema,
|
|
2418
2739
|
FetchAgentsResponseMessageSchema,
|
|
2740
|
+
FetchAgentHistoryResponseMessageSchema,
|
|
2419
2741
|
FetchWorkspacesResponseMessageSchema,
|
|
2420
2742
|
OpenProjectResponseMessageSchema,
|
|
2743
|
+
StartWorkspaceScriptResponseMessageSchema,
|
|
2421
2744
|
ListAvailableEditorsResponseMessageSchema,
|
|
2422
2745
|
OpenInEditorResponseMessageSchema,
|
|
2423
2746
|
ArchiveWorkspaceResponseMessageSchema,
|
|
@@ -2441,6 +2764,7 @@ export const SessionOutboundMessageSchema = z.discriminatedUnion("type", [
|
|
|
2441
2764
|
AgentArchivedMessageSchema,
|
|
2442
2765
|
CloseItemsResponseSchema,
|
|
2443
2766
|
CheckoutStatusResponseSchema,
|
|
2767
|
+
CheckoutStatusUpdateSchema,
|
|
2444
2768
|
SubscribeCheckoutDiffResponseSchema,
|
|
2445
2769
|
CheckoutDiffUpdateSchema,
|
|
2446
2770
|
CheckoutCommitResponseSchema,
|
|
@@ -2450,12 +2774,14 @@ export const SessionOutboundMessageSchema = z.discriminatedUnion("type", [
|
|
|
2450
2774
|
CheckoutPushResponseSchema,
|
|
2451
2775
|
CheckoutPrCreateResponseSchema,
|
|
2452
2776
|
CheckoutPrStatusResponseSchema,
|
|
2777
|
+
PullRequestTimelineResponseSchema,
|
|
2453
2778
|
CheckoutSwitchBranchResponseSchema,
|
|
2454
2779
|
StashSaveResponseSchema,
|
|
2455
2780
|
StashPopResponseSchema,
|
|
2456
2781
|
StashListResponseSchema,
|
|
2457
2782
|
ValidateBranchResponseSchema,
|
|
2458
2783
|
BranchSuggestionsResponseSchema,
|
|
2784
|
+
GitHubSearchResponseSchema,
|
|
2459
2785
|
DirectorySuggestionsResponseSchema,
|
|
2460
2786
|
PaseoWorktreeListResponseSchema,
|
|
2461
2787
|
PaseoWorktreeArchiveResponseSchema,
|