@getpaseo/protocol 0.3.0 → 0.4.0-beta.1

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/messages.js CHANGED
@@ -50,6 +50,32 @@ export const TerminalProfileSchema = z
50
50
  icon: z.string().optional(),
51
51
  })
52
52
  .passthrough();
53
+ /**
54
+ * A named launch bundle: a provider plus the agent-config values a client would
55
+ * otherwise set one control at a time. Field names mirror `AgentSessionConfig`
56
+ * so applying a profile is a copy rather than a translation table.
57
+ *
58
+ * There is deliberately no system prompt here. `AgentSessionConfig.systemPrompt`
59
+ * is creation-only, so a profile carrying one would apply when starting a new
60
+ * agent and silently do nothing when applied to a running one.
61
+ */
62
+ export const AgentProfileSchema = z
63
+ .object({
64
+ id: z.string(),
65
+ name: z.string(),
66
+ /** A key into the client's icon registry, not a glyph. Unknown keys draw the default. */
67
+ icon: z.string().optional(),
68
+ /** An identity colour name shared with host badges. Unknown values draw unthemed. */
69
+ color: z.string().optional(),
70
+ provider: z.string(),
71
+ model: z.string().optional(),
72
+ modeId: z.string().optional(),
73
+ thinkingOptionId: z.string().optional(),
74
+ featureValues: z.record(z.string(), z.unknown()).optional(),
75
+ /** Free text, surfaced to orchestrating agents by the `list_profiles` MCP tool. */
76
+ notes: z.string().optional(),
77
+ })
78
+ .passthrough();
53
79
  const MutableBrowserToolsConfigSchema = z
54
80
  .object({
55
81
  enabled: z.boolean().default(false),
@@ -76,6 +102,7 @@ export const MutableDaemonConfigSchema = z
76
102
  enableTerminalAgentHooks: z.boolean().default(false),
77
103
  appendSystemPrompt: z.string().default(""),
78
104
  terminalProfiles: z.array(TerminalProfileSchema).optional(),
105
+ agentProfiles: z.array(AgentProfileSchema).optional(),
79
106
  })
80
107
  .passthrough();
81
108
  export const MutableDaemonConfigPatchSchema = z
@@ -92,6 +119,7 @@ export const MutableDaemonConfigPatchSchema = z
92
119
  enableTerminalAgentHooks: z.boolean().optional(),
93
120
  appendSystemPrompt: z.string().optional(),
94
121
  terminalProfiles: z.array(TerminalProfileSchema).optional(),
122
+ agentProfiles: z.array(AgentProfileSchema).optional(),
95
123
  })
96
124
  .partial()
97
125
  .passthrough();
@@ -238,6 +266,19 @@ const McpServerConfigSchema = z.discriminatedUnion("type", [
238
266
  McpHttpServerConfigSchema,
239
267
  McpSseServerConfigSchema,
240
268
  ]);
269
+ const ProviderOptionsSchema = z.record(z.string(), z.json());
270
+ const McpToolRefSchema = z
271
+ .object({
272
+ kind: z.literal("mcp"),
273
+ server: z.string().trim().min(1),
274
+ tool: z.string().trim().min(1),
275
+ })
276
+ .strict();
277
+ const ToolPolicySchema = z
278
+ .object({
279
+ preapproved: z.array(McpToolRefSchema),
280
+ })
281
+ .strict();
241
282
  const AgentSessionConfigSchema = z.object({
242
283
  provider: AgentProviderSchema,
243
284
  cwd: z.string(),
@@ -246,17 +287,8 @@ const AgentSessionConfigSchema = z.object({
246
287
  thinkingOptionId: z.string().optional(),
247
288
  featureValues: z.record(z.string(), z.unknown()).optional(),
248
289
  title: z.string().trim().min(1).max(MAX_EXPLICIT_AGENT_TITLE_CHARS).optional().nullable(),
249
- approvalPolicy: z.string().optional(),
250
- sandboxMode: z.string().optional(),
251
- networkAccess: z.boolean().optional(),
252
- webSearch: z.boolean().optional(),
253
- extra: z
254
- .object({
255
- codex: z.record(z.string(), z.unknown()).optional(),
256
- claude: z.record(z.string(), z.unknown()).optional(),
257
- })
258
- .partial()
259
- .optional(),
290
+ providerOptions: ProviderOptionsSchema.optional(),
291
+ toolPolicy: ToolPolicySchema.optional(),
260
292
  systemPrompt: z.string().optional(),
261
293
  mcpServers: z.record(z.string(), McpServerConfigSchema).optional(),
262
294
  });
@@ -471,6 +503,9 @@ export const AgentTimelineItemPayloadSchema = z.union([
471
503
  items: z.array(z.object({
472
504
  text: z.string(),
473
505
  completed: z.boolean(),
506
+ id: z.string().optional(),
507
+ status: z.enum(["pending", "in_progress", "completed"]).optional(),
508
+ activeForm: z.string().optional(),
474
509
  })),
475
510
  }),
476
511
  z.object({
@@ -1269,6 +1304,33 @@ export const SetAgentFeatureResponseMessageSchema = z.object({
1269
1304
  type: z.literal("set_agent_feature_response"),
1270
1305
  payload: AgentActionResponsePayloadSchema,
1271
1306
  });
1307
+ /**
1308
+ * Every agent-config value a client can change in one shot. Each field is
1309
+ * optional and an omitted field is left alone; `null` on model and thinking
1310
+ * clears them, matching the single-field RPCs above.
1311
+ */
1312
+ export const AgentConfigApplySchema = z.object({
1313
+ modelId: z.string().nullable().optional(),
1314
+ modeId: z.string().optional(),
1315
+ thinkingOptionId: z.string().nullable().optional(),
1316
+ featureValues: z.record(z.string(), z.unknown()).optional(),
1317
+ });
1318
+ /**
1319
+ * Applies a whole config bundle to one agent. The four single-field RPCs above
1320
+ * stay for individual control edits. One request prevents client interruption
1321
+ * and other mutations from interleaving between bundle steps; provider-level
1322
+ * rejection can still leave earlier steps applied.
1323
+ */
1324
+ export const AgentConfigApplyRequestMessageSchema = z.object({
1325
+ type: z.literal("agent.config.apply.request"),
1326
+ agentId: z.string(),
1327
+ config: AgentConfigApplySchema,
1328
+ requestId: z.string(),
1329
+ });
1330
+ export const AgentConfigApplyResponseMessageSchema = z.object({
1331
+ type: z.literal("agent.config.apply.response"),
1332
+ payload: AgentActionResponsePayloadSchema,
1333
+ });
1272
1334
  export const AgentDetachRequestMessageSchema = z.object({
1273
1335
  type: z.literal("agent.detach.request"),
1274
1336
  agentId: z.string(),
@@ -1470,6 +1532,12 @@ export const CheckoutRefreshRequestSchema = z.object({
1470
1532
  cwd: z.string(),
1471
1533
  requestId: z.string(),
1472
1534
  });
1535
+ export const CheckoutDiscardChangesRequestSchema = z.object({
1536
+ type: z.literal("checkout.discard_changes.request"),
1537
+ cwd: z.string(),
1538
+ paths: z.array(z.string()).min(1),
1539
+ requestId: z.string(),
1540
+ });
1473
1541
  export const CheckoutPrCreateRequestSchema = z.object({
1474
1542
  type: z.literal("checkout_pr_create_request"),
1475
1543
  cwd: z.string(),
@@ -1846,6 +1914,8 @@ const DiffHunkSchema = z.object({
1846
1914
  });
1847
1915
  const ParsedDiffFileSchema = z.object({
1848
1916
  path: z.string(),
1917
+ // COMPAT(diffOldPath): added in v0.3.0, remove gate after 2027-02-09.
1918
+ oldPath: z.string().optional(),
1849
1919
  isNew: z.boolean(),
1850
1920
  isDeleted: z.boolean(),
1851
1921
  additions: z.number(),
@@ -1924,6 +1994,33 @@ export const FileWriteRequestSchema = z.object({
1924
1994
  expectedRevision: z.string().optional(),
1925
1995
  requestId: z.string(),
1926
1996
  });
1997
+ export const FileEntryCreateRequestSchema = z.object({
1998
+ type: z.literal("fs.entry.create.request"),
1999
+ cwd: z.string(),
2000
+ parentPath: z.string(),
2001
+ name: z.string(),
2002
+ kind: z.enum(["file", "directory"]),
2003
+ requestId: z.string(),
2004
+ });
2005
+ export const FileEntryRenameRequestSchema = z.object({
2006
+ type: z.literal("fs.entry.rename.request"),
2007
+ cwd: z.string(),
2008
+ path: z.string(),
2009
+ name: z.string(),
2010
+ requestId: z.string(),
2011
+ });
2012
+ export const FileEntryDuplicateRequestSchema = z.object({
2013
+ type: z.literal("fs.entry.duplicate.request"),
2014
+ cwd: z.string(),
2015
+ path: z.string(),
2016
+ requestId: z.string(),
2017
+ });
2018
+ export const FileEntryDeleteRequestSchema = z.object({
2019
+ type: z.literal("fs.entry.delete.request"),
2020
+ cwd: z.string(),
2021
+ path: z.string(),
2022
+ requestId: z.string(),
2023
+ });
1927
2024
  export const ProjectIconRequestSchema = z.object({
1928
2025
  type: z.literal("project_icon_request"),
1929
2026
  cwd: z.string(),
@@ -1991,6 +2088,17 @@ export const RegisterPushTokenMessageSchema = z.object({
1991
2088
  type: z.literal("register_push_token"),
1992
2089
  token: z.string(),
1993
2090
  });
2091
+ export const PushUnregisterRequestSchema = z.object({
2092
+ type: z.literal("push.unregister.request"),
2093
+ token: z.string(),
2094
+ requestId: z.string(),
2095
+ });
2096
+ export const PushUnregisterResponseSchema = z.object({
2097
+ type: z.literal("push.unregister.response"),
2098
+ payload: z.object({
2099
+ requestId: z.string(),
2100
+ }),
2101
+ });
1994
2102
  // ============================================================================
1995
2103
  // Terminal Messages
1996
2104
  // ============================================================================
@@ -2121,15 +2229,47 @@ export const HubExecutionAgentCreateRequestSchema = z.object({
2121
2229
  provider: z.string(),
2122
2230
  cwd: z.string(),
2123
2231
  prompt: z.string(),
2232
+ // COMPAT(hubExecutionWorkspaceSelection): semantics retired in v0.3.1; remove after 2027-08-08 once the Hub floor no longer sends it.
2124
2233
  workspaceId: z.string().optional(),
2125
2234
  model: z.string().optional(),
2126
2235
  modeId: z.string().optional(),
2127
2236
  thinkingOptionId: z.string().optional(),
2128
2237
  featureValues: z.record(z.string(), z.unknown()).optional(),
2238
+ providerOptions: ProviderOptionsSchema.optional(),
2239
+ toolPolicy: ToolPolicySchema.optional(),
2129
2240
  env: z.record(z.string(), z.string()).optional(),
2130
2241
  mcpServers: z.record(z.string(), McpServerConfigSchema).optional(),
2131
2242
  worktree: CreateAgentWorktreeTargetSchema.optional(),
2132
2243
  });
2244
+ export const HubExecutionAgentValidateRequestSchema = z.object({
2245
+ type: z.literal("hub.execution.agent.validate.request"),
2246
+ requestId: z.string(),
2247
+ provider: z.string(),
2248
+ model: z.string().optional(),
2249
+ modeId: z.string().optional(),
2250
+ thinkingOptionId: z.string().optional(),
2251
+ providerOptions: ProviderOptionsSchema.optional(),
2252
+ });
2253
+ const HubExecutionAgentCreateErrorSchema = z.discriminatedUnion("code", [
2254
+ z.object({
2255
+ code: z.literal("provider_options_invalid"),
2256
+ provider: z.string(),
2257
+ issues: z.array(z.object({
2258
+ path: z.array(z.union([z.string(), z.number()])),
2259
+ message: z.string(),
2260
+ })),
2261
+ message: z.string(),
2262
+ }),
2263
+ z.object({
2264
+ code: z.literal("tool_policy_unsupported"),
2265
+ provider: z.string(),
2266
+ message: z.string(),
2267
+ }),
2268
+ z.object({
2269
+ code: z.literal("create_failed"),
2270
+ message: z.string(),
2271
+ }),
2272
+ ]);
2133
2273
  export const HubExecutionControlActionSchema = z.enum(["interrupt", "archive"]);
2134
2274
  export const HubExecutionControlRequestSchema = z.object({
2135
2275
  type: z.literal("hub.execution.control.request"),
@@ -2139,6 +2279,7 @@ export const HubExecutionControlRequestSchema = z.object({
2139
2279
  });
2140
2280
  export const SessionInboundMessageSchema = z.discriminatedUnion("type", [
2141
2281
  HubExecutionAgentCreateRequestSchema,
2282
+ HubExecutionAgentValidateRequestSchema,
2142
2283
  HubExecutionControlRequestSchema,
2143
2284
  BrowserAutomationExecuteResponseSchema,
2144
2285
  VoiceAudioChunkMessageSchema,
@@ -2204,6 +2345,7 @@ export const SessionInboundMessageSchema = z.discriminatedUnion("type", [
2204
2345
  SetAgentModelRequestMessageSchema,
2205
2346
  SetAgentThinkingRequestMessageSchema,
2206
2347
  SetAgentFeatureRequestMessageSchema,
2348
+ AgentConfigApplyRequestMessageSchema,
2207
2349
  AgentDetachRequestMessageSchema,
2208
2350
  AgentRewindRequestMessageSchema,
2209
2351
  AgentPermissionResponseMessageSchema,
@@ -2216,6 +2358,7 @@ export const SessionInboundMessageSchema = z.discriminatedUnion("type", [
2216
2358
  CheckoutPullRequestSchema,
2217
2359
  CheckoutPushRequestSchema,
2218
2360
  CheckoutRefreshRequestSchema,
2361
+ CheckoutDiscardChangesRequestSchema,
2219
2362
  CheckoutPrCreateRequestSchema,
2220
2363
  CheckoutPrMergeRequestSchema,
2221
2364
  CheckoutForgeSetAutoMergeRequestSchema,
@@ -2254,6 +2397,10 @@ export const SessionInboundMessageSchema = z.discriminatedUnion("type", [
2254
2397
  FileSubscribeRequestSchema,
2255
2398
  FileUnsubscribeRequestSchema,
2256
2399
  FileWriteRequestSchema,
2400
+ FileEntryCreateRequestSchema,
2401
+ FileEntryRenameRequestSchema,
2402
+ FileEntryDuplicateRequestSchema,
2403
+ FileEntryDeleteRequestSchema,
2257
2404
  ProjectIconRequestSchema,
2258
2405
  ProjectIconGetRequestSchema,
2259
2406
  FileDownloadTokenRequestSchema,
@@ -2263,6 +2410,7 @@ export const SessionInboundMessageSchema = z.discriminatedUnion("type", [
2263
2410
  PingMessageSchema,
2264
2411
  ListCommandsRequestSchema,
2265
2412
  RegisterPushTokenMessageSchema,
2413
+ PushUnregisterRequestSchema,
2266
2414
  ListTerminalsRequestSchema,
2267
2415
  SubscribeTerminalsRequestSchema,
2268
2416
  UnsubscribeTerminalsRequestSchema,
@@ -2444,6 +2592,8 @@ export const ServerInfoStatusPayloadSchema = z
2444
2592
  features: z
2445
2593
  .object({
2446
2594
  providersSnapshot: z.boolean().optional(),
2595
+ // COMPAT(providersSnapshotCwd): added in v0.3.2, remove gate after 2027-02-10.
2596
+ providersSnapshotCwd: z.boolean().optional(),
2447
2597
  // COMPAT(checkoutForgeSetAutoMerge): added in v0.1.106, remove old
2448
2598
  // checkoutGithubSetAutoMerge fallback after 2026-12-28.
2449
2599
  checkoutForgeSetAutoMerge: z.boolean().optional(),
@@ -2458,6 +2608,8 @@ export const ServerInfoStatusPayloadSchema = z
2458
2608
  daemonStatusRpc: z.boolean().optional(),
2459
2609
  // COMPAT(relayConfig): added in v0.2.6, remove gate after 2027-01-31.
2460
2610
  relayConfig: z.boolean().optional(),
2611
+ // COMPAT(pushTokenRevocation): added in v0.3.2, remove gate after 2027-02-10.
2612
+ pushTokenRevocation: z.boolean().optional(),
2461
2613
  // COMPAT(terminalRestoreModes): added in v0.1.81, remove gate after 2026-11-23.
2462
2614
  "terminal-restore-modes": z.boolean().optional(),
2463
2615
  // COMPAT(terminalInputModeReplay): added in v0.2.6, remove gate after 2027-02-02.
@@ -2536,6 +2688,19 @@ export const ServerInfoStatusPayloadSchema = z
2536
2688
  workspaceScriptManagement: z.boolean().optional(),
2537
2689
  // COMPAT(projectCustomIcon): added in v0.2.0, remove after 2027-01-20.
2538
2690
  projectCustomIcon: z.boolean().optional(),
2691
+ // COMPAT(fsEntryOps): added in v0.3.0, remove gate after 2027-02-08.
2692
+ fsEntryOps: z.boolean().optional(),
2693
+ // COMPAT(fsEntryDuplicate): added in v0.3.0, remove gate after 2027-02-09.
2694
+ fsEntryDuplicate: z.boolean().optional(),
2695
+ // COMPAT(checkoutDiscardChanges): added in v0.3.0, remove gate after 2027-02-08.
2696
+ checkoutDiscardChanges: z.boolean().optional(),
2697
+ // COMPAT(agentProfiles): added in v0.3.2, remove gate after 2027-02-11.
2698
+ // An older daemon parses its persisted config strictly, so writing
2699
+ // agentProfiles to one is silently dropped. The client hides the feature
2700
+ // rather than letting a save appear to succeed.
2701
+ agentProfiles: z.boolean().optional(),
2702
+ // COMPAT(agentConfigApply): added in v0.3.2, remove gate after 2027-02-11.
2703
+ agentConfigApply: z.boolean().optional(),
2539
2704
  })
2540
2705
  .optional(),
2541
2706
  })
@@ -3870,6 +4035,15 @@ export const CheckoutGithubSetAutoMergeResponseSchema = z.object({
3870
4035
  requestId: z.string(),
3871
4036
  }),
3872
4037
  });
4038
+ export const CheckoutDiscardChangesResponseSchema = z.object({
4039
+ type: z.literal("checkout.discard_changes.response"),
4040
+ payload: z.object({
4041
+ cwd: z.string(),
4042
+ success: z.boolean(),
4043
+ error: CheckoutErrorSchema.nullable(),
4044
+ requestId: z.string(),
4045
+ }),
4046
+ });
3873
4047
  export const CheckoutCommitsListResponseSchema = z.object({
3874
4048
  type: z.literal("checkout.commits.list.response"),
3875
4049
  payload: z.object({
@@ -4287,6 +4461,49 @@ export const FileWriteResponseSchema = z.object({
4287
4461
  requestId: z.string(),
4288
4462
  }),
4289
4463
  });
4464
+ export const FileEntryCreateResponseSchema = z.object({
4465
+ type: z.literal("fs.entry.create.response"),
4466
+ payload: z.object({
4467
+ cwd: z.string(),
4468
+ parentPath: z.string(),
4469
+ path: z.string().nullable(),
4470
+ success: z.boolean(),
4471
+ error: z.string().nullable(),
4472
+ requestId: z.string(),
4473
+ }),
4474
+ });
4475
+ export const FileEntryRenameResponseSchema = z.object({
4476
+ type: z.literal("fs.entry.rename.response"),
4477
+ payload: z.object({
4478
+ cwd: z.string(),
4479
+ path: z.string(),
4480
+ renamedPath: z.string().nullable(),
4481
+ success: z.boolean(),
4482
+ error: z.string().nullable(),
4483
+ requestId: z.string(),
4484
+ }),
4485
+ });
4486
+ export const FileEntryDuplicateResponseSchema = z.object({
4487
+ type: z.literal("fs.entry.duplicate.response"),
4488
+ payload: z.object({
4489
+ cwd: z.string(),
4490
+ path: z.string(),
4491
+ duplicatedPath: z.string().nullable(),
4492
+ success: z.boolean(),
4493
+ error: z.string().nullable(),
4494
+ requestId: z.string(),
4495
+ }),
4496
+ });
4497
+ export const FileEntryDeleteResponseSchema = z.object({
4498
+ type: z.literal("fs.entry.delete.response"),
4499
+ payload: z.object({
4500
+ cwd: z.string(),
4501
+ path: z.string(),
4502
+ success: z.boolean(),
4503
+ error: z.string().nullable(),
4504
+ requestId: z.string(),
4505
+ }),
4506
+ });
4290
4507
  export const FileUpdateSchema = z.object({
4291
4508
  type: z.literal("fs.file.update"),
4292
4509
  payload: z.object({
@@ -4385,6 +4602,7 @@ export const ListAvailableProvidersResponseSchema = z.object({
4385
4602
  export const GetProvidersSnapshotResponseMessageSchema = z.object({
4386
4603
  type: z.literal("get_providers_snapshot_response"),
4387
4604
  payload: z.object({
4605
+ cwd: z.string().optional(),
4388
4606
  entries: z.array(ProviderSnapshotEntrySchema),
4389
4607
  compactSnapshot: CompactProviderSnapshotSchema.optional(),
4390
4608
  snapshotHash: z.string().optional(),
@@ -4640,6 +4858,20 @@ export const HubExecutionAgentCreateResponseSchema = z.object({
4640
4858
  agentId: z.string().nullable(),
4641
4859
  agent: AgentSnapshotPayloadSchema.nullable(),
4642
4860
  success: z.boolean(),
4861
+ toolPolicyApplied: z.literal(true).optional(),
4862
+ error: HubExecutionAgentCreateErrorSchema.nullable(),
4863
+ }),
4864
+ });
4865
+ export const HubExecutionAgentValidationIssueSchema = z.object({
4866
+ path: z.array(z.union([z.string(), z.number()])),
4867
+ message: z.string(),
4868
+ });
4869
+ export const HubExecutionAgentValidateResponseSchema = z.object({
4870
+ type: z.literal("hub.execution.agent.validate.response"),
4871
+ payload: z.object({
4872
+ requestId: z.string(),
4873
+ valid: z.boolean(),
4874
+ issues: z.array(HubExecutionAgentValidationIssueSchema),
4643
4875
  error: z.string().nullable(),
4644
4876
  }),
4645
4877
  });
@@ -4671,6 +4903,7 @@ export const HubExecutionAgentStreamSchema = z.object({
4671
4903
  });
4672
4904
  export const HubExecutionOutboundMessageSchema = z.discriminatedUnion("type", [
4673
4905
  HubExecutionAgentCreateResponseSchema,
4906
+ HubExecutionAgentValidateResponseSchema,
4674
4907
  HubExecutionControlResponseSchema,
4675
4908
  HubExecutionAgentUpdateSchema,
4676
4909
  HubExecutionAgentStreamSchema,
@@ -4695,6 +4928,7 @@ export function parseHubExecutionOutboundMessage(value) {
4695
4928
  }
4696
4929
  export const SessionOutboundMessageSchema = z.discriminatedUnion("type", [
4697
4930
  HubExecutionAgentCreateResponseSchema,
4931
+ HubExecutionAgentValidateResponseSchema,
4698
4932
  HubExecutionControlResponseSchema,
4699
4933
  HubExecutionAgentUpdateSchema,
4700
4934
  HubExecutionAgentStreamSchema,
@@ -4711,6 +4945,7 @@ export const SessionOutboundMessageSchema = z.discriminatedUnion("type", [
4711
4945
  DictationStreamErrorMessageSchema,
4712
4946
  StatusMessageSchema,
4713
4947
  PongMessageSchema,
4948
+ PushUnregisterResponseSchema,
4714
4949
  RpcErrorMessageSchema,
4715
4950
  ArtifactMessageSchema,
4716
4951
  AgentUpdateMessageSchema,
@@ -4767,6 +5002,7 @@ export const SessionOutboundMessageSchema = z.discriminatedUnion("type", [
4767
5002
  SetAgentModelResponseMessageSchema,
4768
5003
  SetAgentThinkingResponseMessageSchema,
4769
5004
  SetAgentFeatureResponseMessageSchema,
5005
+ AgentConfigApplyResponseMessageSchema,
4770
5006
  AgentDetachResponseMessageSchema,
4771
5007
  AgentRewindResponseMessageSchema,
4772
5008
  UpdateAgentResponseMessageSchema,
@@ -4793,6 +5029,7 @@ export const SessionOutboundMessageSchema = z.discriminatedUnion("type", [
4793
5029
  CheckoutPullResponseSchema,
4794
5030
  CheckoutPushResponseSchema,
4795
5031
  CheckoutRefreshResponseSchema,
5032
+ CheckoutDiscardChangesResponseSchema,
4796
5033
  CheckoutPrCreateResponseSchema,
4797
5034
  CheckoutPrMergeResponseSchema,
4798
5035
  CheckoutForgeSetAutoMergeResponseSchema,
@@ -4820,6 +5057,10 @@ export const SessionOutboundMessageSchema = z.discriminatedUnion("type", [
4820
5057
  FileSubscribeResponseSchema,
4821
5058
  FileUnsubscribeResponseSchema,
4822
5059
  FileWriteResponseSchema,
5060
+ FileEntryCreateResponseSchema,
5061
+ FileEntryRenameResponseSchema,
5062
+ FileEntryDuplicateResponseSchema,
5063
+ FileEntryDeleteResponseSchema,
4823
5064
  FileUpdateSchema,
4824
5065
  ProjectIconResponseSchema,
4825
5066
  ProjectIconGetResponseSchema,
@@ -32,15 +32,8 @@ export declare const ScheduleCreateRequestSchema: z.ZodObject<{
32
32
  worktree: "worktree";
33
33
  }>>;
34
34
  title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
35
- approvalPolicy: z.ZodOptional<z.ZodString>;
36
- sandboxMode: z.ZodOptional<z.ZodString>;
37
- networkAccess: z.ZodOptional<z.ZodBoolean>;
38
- webSearch: z.ZodOptional<z.ZodBoolean>;
35
+ providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
39
36
  featureValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
40
- extra: z.ZodOptional<z.ZodObject<{
41
- codex: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
42
- claude: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
43
- }, z.core.$strip>>;
44
37
  systemPrompt: z.ZodOptional<z.ZodString>;
45
38
  mcpServers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
46
39
  }, z.core.$strip>;
@@ -151,15 +144,8 @@ export declare const ScheduleCreateResponseSchema: z.ZodObject<{
151
144
  worktree: "worktree";
152
145
  }>>;
153
146
  title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
154
- approvalPolicy: z.ZodOptional<z.ZodString>;
155
- sandboxMode: z.ZodOptional<z.ZodString>;
156
- networkAccess: z.ZodOptional<z.ZodBoolean>;
157
- webSearch: z.ZodOptional<z.ZodBoolean>;
147
+ providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
158
148
  featureValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
159
- extra: z.ZodOptional<z.ZodObject<{
160
- codex: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
161
- claude: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
162
- }, z.core.$strip>>;
163
149
  systemPrompt: z.ZodOptional<z.ZodString>;
164
150
  mcpServers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
165
151
  }, z.core.$strip>;
@@ -213,15 +199,8 @@ export declare const ScheduleListResponseSchema: z.ZodObject<{
213
199
  worktree: "worktree";
214
200
  }>>;
215
201
  title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
216
- approvalPolicy: z.ZodOptional<z.ZodString>;
217
- sandboxMode: z.ZodOptional<z.ZodString>;
218
- networkAccess: z.ZodOptional<z.ZodBoolean>;
219
- webSearch: z.ZodOptional<z.ZodBoolean>;
202
+ providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
220
203
  featureValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
221
- extra: z.ZodOptional<z.ZodObject<{
222
- codex: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
223
- claude: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
224
- }, z.core.$strip>>;
225
204
  systemPrompt: z.ZodOptional<z.ZodString>;
226
205
  mcpServers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
227
206
  }, z.core.$strip>;
@@ -269,15 +248,8 @@ export declare const ScheduleInspectResponseSchema: z.ZodObject<{
269
248
  worktree: "worktree";
270
249
  }>>;
271
250
  title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
272
- approvalPolicy: z.ZodOptional<z.ZodString>;
273
- sandboxMode: z.ZodOptional<z.ZodString>;
274
- networkAccess: z.ZodOptional<z.ZodBoolean>;
275
- webSearch: z.ZodOptional<z.ZodBoolean>;
251
+ providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
276
252
  featureValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
277
- extra: z.ZodOptional<z.ZodObject<{
278
- codex: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
279
- claude: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
280
- }, z.core.$strip>>;
281
253
  systemPrompt: z.ZodOptional<z.ZodString>;
282
254
  mcpServers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
283
255
  }, z.core.$strip>;
@@ -374,15 +346,8 @@ export declare const SchedulePauseResponseSchema: z.ZodObject<{
374
346
  worktree: "worktree";
375
347
  }>>;
376
348
  title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
377
- approvalPolicy: z.ZodOptional<z.ZodString>;
378
- sandboxMode: z.ZodOptional<z.ZodString>;
379
- networkAccess: z.ZodOptional<z.ZodBoolean>;
380
- webSearch: z.ZodOptional<z.ZodBoolean>;
349
+ providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
381
350
  featureValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
382
- extra: z.ZodOptional<z.ZodObject<{
383
- codex: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
384
- claude: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
385
- }, z.core.$strip>>;
386
351
  systemPrompt: z.ZodOptional<z.ZodString>;
387
352
  mcpServers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
388
353
  }, z.core.$strip>;
@@ -436,15 +401,8 @@ export declare const ScheduleResumeResponseSchema: z.ZodObject<{
436
401
  worktree: "worktree";
437
402
  }>>;
438
403
  title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
439
- approvalPolicy: z.ZodOptional<z.ZodString>;
440
- sandboxMode: z.ZodOptional<z.ZodString>;
441
- networkAccess: z.ZodOptional<z.ZodBoolean>;
442
- webSearch: z.ZodOptional<z.ZodBoolean>;
404
+ providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
443
405
  featureValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
444
- extra: z.ZodOptional<z.ZodObject<{
445
- codex: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
446
- claude: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
447
- }, z.core.$strip>>;
448
406
  systemPrompt: z.ZodOptional<z.ZodString>;
449
407
  mcpServers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
450
408
  }, z.core.$strip>;
@@ -500,15 +458,8 @@ export declare const ScheduleRunOnceResponseSchema: z.ZodObject<{
500
458
  worktree: "worktree";
501
459
  }>>;
502
460
  title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
503
- approvalPolicy: z.ZodOptional<z.ZodString>;
504
- sandboxMode: z.ZodOptional<z.ZodString>;
505
- networkAccess: z.ZodOptional<z.ZodBoolean>;
506
- webSearch: z.ZodOptional<z.ZodBoolean>;
461
+ providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
507
462
  featureValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
508
- extra: z.ZodOptional<z.ZodObject<{
509
- codex: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
510
- claude: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
511
- }, z.core.$strip>>;
512
463
  systemPrompt: z.ZodOptional<z.ZodString>;
513
464
  mcpServers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
514
465
  }, z.core.$strip>;
@@ -577,15 +528,8 @@ export declare const ScheduleUpdateResponseSchema: z.ZodObject<{
577
528
  worktree: "worktree";
578
529
  }>>;
579
530
  title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
580
- approvalPolicy: z.ZodOptional<z.ZodString>;
581
- sandboxMode: z.ZodOptional<z.ZodString>;
582
- networkAccess: z.ZodOptional<z.ZodBoolean>;
583
- webSearch: z.ZodOptional<z.ZodBoolean>;
531
+ providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
584
532
  featureValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
585
- extra: z.ZodOptional<z.ZodObject<{
586
- codex: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
587
- claude: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
588
- }, z.core.$strip>>;
589
533
  systemPrompt: z.ZodOptional<z.ZodString>;
590
534
  mcpServers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
591
535
  }, z.core.$strip>;
@@ -31,15 +31,8 @@ export declare const ScheduleTargetSchema: z.ZodDiscriminatedUnion<[z.ZodObject<
31
31
  worktree: "worktree";
32
32
  }>>;
33
33
  title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
34
- approvalPolicy: z.ZodOptional<z.ZodString>;
35
- sandboxMode: z.ZodOptional<z.ZodString>;
36
- networkAccess: z.ZodOptional<z.ZodBoolean>;
37
- webSearch: z.ZodOptional<z.ZodBoolean>;
34
+ providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
38
35
  featureValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
39
- extra: z.ZodOptional<z.ZodObject<{
40
- codex: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
41
- claude: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
42
- }, z.core.$strip>>;
43
36
  systemPrompt: z.ZodOptional<z.ZodString>;
44
37
  mcpServers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
45
38
  }, z.core.$strip>;
@@ -90,15 +83,8 @@ export declare const StoredScheduleSchema: z.ZodObject<{
90
83
  worktree: "worktree";
91
84
  }>>;
92
85
  title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
93
- approvalPolicy: z.ZodOptional<z.ZodString>;
94
- sandboxMode: z.ZodOptional<z.ZodString>;
95
- networkAccess: z.ZodOptional<z.ZodBoolean>;
96
- webSearch: z.ZodOptional<z.ZodBoolean>;
86
+ providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
97
87
  featureValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
98
- extra: z.ZodOptional<z.ZodObject<{
99
- codex: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
100
- claude: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
101
- }, z.core.$strip>>;
102
88
  systemPrompt: z.ZodOptional<z.ZodString>;
103
89
  mcpServers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
104
90
  }, z.core.$strip>;
@@ -167,15 +153,8 @@ export declare const ScheduleSummarySchema: z.ZodObject<{
167
153
  worktree: "worktree";
168
154
  }>>;
169
155
  title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
170
- approvalPolicy: z.ZodOptional<z.ZodString>;
171
- sandboxMode: z.ZodOptional<z.ZodString>;
172
- networkAccess: z.ZodOptional<z.ZodBoolean>;
173
- webSearch: z.ZodOptional<z.ZodBoolean>;
156
+ providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
174
157
  featureValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
175
- extra: z.ZodOptional<z.ZodObject<{
176
- codex: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
177
- claude: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
178
- }, z.core.$strip>>;
179
158
  systemPrompt: z.ZodOptional<z.ZodString>;
180
159
  mcpServers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
181
160
  }, z.core.$strip>;
@@ -28,18 +28,8 @@ export const ScheduleTargetSchema = z.discriminatedUnion("type", [
28
28
  archiveOnFinish: z.boolean().optional(),
29
29
  isolation: z.enum(["local", "worktree"]).optional(),
30
30
  title: z.string().trim().min(1).nullable().optional(),
31
- approvalPolicy: z.string().trim().min(1).optional(),
32
- sandboxMode: z.string().trim().min(1).optional(),
33
- networkAccess: z.boolean().optional(),
34
- webSearch: z.boolean().optional(),
31
+ providerOptions: z.record(z.string(), z.json()).optional(),
35
32
  featureValues: z.record(z.string(), z.unknown()).optional(),
36
- extra: z
37
- .object({
38
- codex: z.record(z.string(), z.unknown()).optional(),
39
- claude: z.record(z.string(), z.unknown()).optional(),
40
- })
41
- .partial()
42
- .optional(),
43
33
  systemPrompt: z.string().optional(),
44
34
  mcpServers: z.record(z.string(), z.unknown()).optional(),
45
35
  }),