@vm0/cli 9.241.12 → 9.243.0

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.
Files changed (94) hide show
  1. package/{agent-I57KQKKR.js → agent-BBH77IT7.js} +5 -5
  2. package/{banking-VRM26B2R.js → banking-LVAAOT64.js} +3 -3
  3. package/{chat-SLVVHVYW.js → chat-XROHQQYT.js} +4 -4
  4. package/{chunk-U34QNV6G.js → chunk-3UJCHTVE.js} +105 -74
  5. package/chunk-3UJCHTVE.js.map +1 -0
  6. package/{chunk-QC22KBRS.js → chunk-CELQIFCW.js} +2 -2
  7. package/{chunk-6DEQULX3.js → chunk-DZA2XA44.js} +2 -2
  8. package/{chunk-FYFA2SZJ.js → chunk-EL4G5UT6.js} +2 -2
  9. package/{chunk-XRLG2R2D.js → chunk-EW3RJNLM.js} +2 -2
  10. package/{chunk-EWEEY5TA.js → chunk-GUL5GMBA.js} +3 -3
  11. package/{chunk-Z6T5ZVQM.js → chunk-O4BDD4G7.js} +15 -3
  12. package/{chunk-Z6T5ZVQM.js.map → chunk-O4BDD4G7.js.map} +1 -1
  13. package/{chunk-AMWGDURE.js → chunk-U3N6AUAC.js} +4 -4
  14. package/{chunk-OY4QP64J.js → chunk-VGSWFJ2P.js} +4 -4
  15. package/{chunk-AVYSYMXP.js → chunk-YFT4C7D3.js} +2 -2
  16. package/{chunk-AVYSYMXP.js.map → chunk-YFT4C7D3.js.map} +1 -1
  17. package/{computer-use-R7OOV3TR.js → computer-use-HHZ3VXFV.js} +3 -3
  18. package/{connector-EYVZCRRA.js → connector-LH3Q5YG6.js} +214 -60
  19. package/connector-LH3Q5YG6.js.map +1 -0
  20. package/{credit-IURBZCSD.js → credit-W5STN4GK.js} +4 -4
  21. package/{developer-support-3RJRQ6M5.js → developer-support-T5Y4LIVF.js} +3 -3
  22. package/{doctor-N4YRCPUC.js → doctor-FESBYWVX.js} +3 -3
  23. package/{generate-576FTTMU.js → generate-PULMNQLR.js} +4 -4
  24. package/{github-4GQYUL46.js → github-Z6LMQZEY.js} +3 -3
  25. package/{goal-PS2DTIYF.js → goal-ZAHS6UVD.js} +3 -3
  26. package/{host-EG64UI7D.js → host-GBMUXF4B.js} +3 -3
  27. package/index.js +12 -12
  28. package/index.js.map +1 -1
  29. package/{logs-TUPXI6HT.js → logs-ZOLBPVEX.js} +5 -5
  30. package/{mail-3MSQRS7Q.js → mail-XPRRTTZL.js} +34 -52
  31. package/mail-XPRRTTZL.js.map +1 -0
  32. package/{maps-MHM62PBJ.js → maps-5PQGN635.js} +3 -3
  33. package/{model-JMJONS2W.js → model-VGVWWTAL.js} +4 -4
  34. package/{model-provider-HEM543OS.js → model-provider-3IVLAAAT.js} +4 -4
  35. package/{org-LQ3NM2XS.js → org-3LBIFW4G.js} +3 -3
  36. package/package.json +1 -1
  37. package/{phone-UGAAFIAC.js → phone-WMLJI3XU.js} +3 -3
  38. package/{preference-M4S2OZ7A.js → preference-U6NY6ZZG.js} +3 -3
  39. package/{resource-7QFAOQSF.js → resource-NPVLUZNR.js} +3 -3
  40. package/{scrape-GAOVZKOZ.js → scrape-R5DF22FE.js} +3 -3
  41. package/{search-KMBYKPOI.js → search-NB4RV2CD.js} +5 -5
  42. package/{secret-5FSS5OGZ.js → secret-VNBBNZHJ.js} +3 -3
  43. package/{slack-WJJTQTEM.js → slack-OSUW7DEM.js} +3 -3
  44. package/{teams-54TUZVDJ.js → teams-NV62WFEP.js} +3 -3
  45. package/{telegram-NMVHCMNN.js → telegram-BA3USWTN.js} +3 -3
  46. package/{variable-BDRMECL2.js → variable-QABASGCG.js} +3 -3
  47. package/{video-PYB6O5BN.js → video-IT56SYQU.js} +2 -2
  48. package/{web-UWFDR7KU.js → web-3P5GDZO5.js} +3 -3
  49. package/{web-search-CNHFVB4R.js → web-search-2HD4KVJI.js} +3 -3
  50. package/{whoami-GT6KA4GT.js → whoami-AILKHYCK.js} +5 -5
  51. package/{workflow-UWECJLSW.js → workflow-E3UNTGXN.js} +3 -3
  52. package/zero.js +36 -36
  53. package/zero.js.map +1 -1
  54. package/chunk-U34QNV6G.js.map +0 -1
  55. package/connector-EYVZCRRA.js.map +0 -1
  56. package/mail-3MSQRS7Q.js.map +0 -1
  57. /package/{agent-I57KQKKR.js.map → agent-BBH77IT7.js.map} +0 -0
  58. /package/{banking-VRM26B2R.js.map → banking-LVAAOT64.js.map} +0 -0
  59. /package/{chat-SLVVHVYW.js.map → chat-XROHQQYT.js.map} +0 -0
  60. /package/{chunk-QC22KBRS.js.map → chunk-CELQIFCW.js.map} +0 -0
  61. /package/{chunk-6DEQULX3.js.map → chunk-DZA2XA44.js.map} +0 -0
  62. /package/{chunk-FYFA2SZJ.js.map → chunk-EL4G5UT6.js.map} +0 -0
  63. /package/{chunk-XRLG2R2D.js.map → chunk-EW3RJNLM.js.map} +0 -0
  64. /package/{chunk-EWEEY5TA.js.map → chunk-GUL5GMBA.js.map} +0 -0
  65. /package/{chunk-AMWGDURE.js.map → chunk-U3N6AUAC.js.map} +0 -0
  66. /package/{chunk-OY4QP64J.js.map → chunk-VGSWFJ2P.js.map} +0 -0
  67. /package/{computer-use-R7OOV3TR.js.map → computer-use-HHZ3VXFV.js.map} +0 -0
  68. /package/{credit-IURBZCSD.js.map → credit-W5STN4GK.js.map} +0 -0
  69. /package/{developer-support-3RJRQ6M5.js.map → developer-support-T5Y4LIVF.js.map} +0 -0
  70. /package/{doctor-N4YRCPUC.js.map → doctor-FESBYWVX.js.map} +0 -0
  71. /package/{generate-576FTTMU.js.map → generate-PULMNQLR.js.map} +0 -0
  72. /package/{github-4GQYUL46.js.map → github-Z6LMQZEY.js.map} +0 -0
  73. /package/{goal-PS2DTIYF.js.map → goal-ZAHS6UVD.js.map} +0 -0
  74. /package/{host-EG64UI7D.js.map → host-GBMUXF4B.js.map} +0 -0
  75. /package/{logs-TUPXI6HT.js.map → logs-ZOLBPVEX.js.map} +0 -0
  76. /package/{maps-MHM62PBJ.js.map → maps-5PQGN635.js.map} +0 -0
  77. /package/{model-JMJONS2W.js.map → model-VGVWWTAL.js.map} +0 -0
  78. /package/{model-provider-HEM543OS.js.map → model-provider-3IVLAAAT.js.map} +0 -0
  79. /package/{org-LQ3NM2XS.js.map → org-3LBIFW4G.js.map} +0 -0
  80. /package/{phone-UGAAFIAC.js.map → phone-WMLJI3XU.js.map} +0 -0
  81. /package/{preference-M4S2OZ7A.js.map → preference-U6NY6ZZG.js.map} +0 -0
  82. /package/{resource-7QFAOQSF.js.map → resource-NPVLUZNR.js.map} +0 -0
  83. /package/{scrape-GAOVZKOZ.js.map → scrape-R5DF22FE.js.map} +0 -0
  84. /package/{search-KMBYKPOI.js.map → search-NB4RV2CD.js.map} +0 -0
  85. /package/{secret-5FSS5OGZ.js.map → secret-VNBBNZHJ.js.map} +0 -0
  86. /package/{slack-WJJTQTEM.js.map → slack-OSUW7DEM.js.map} +0 -0
  87. /package/{teams-54TUZVDJ.js.map → teams-NV62WFEP.js.map} +0 -0
  88. /package/{telegram-NMVHCMNN.js.map → telegram-BA3USWTN.js.map} +0 -0
  89. /package/{variable-BDRMECL2.js.map → variable-QABASGCG.js.map} +0 -0
  90. /package/{video-PYB6O5BN.js.map → video-IT56SYQU.js.map} +0 -0
  91. /package/{web-UWFDR7KU.js.map → web-3P5GDZO5.js.map} +0 -0
  92. /package/{web-search-CNHFVB4R.js.map → web-search-2HD4KVJI.js.map} +0 -0
  93. /package/{whoami-GT6KA4GT.js.map → whoami-AILKHYCK.js.map} +0 -0
  94. /package/{workflow-UWECJLSW.js.map → workflow-E3UNTGXN.js.map} +0 -0
@@ -4,10 +4,10 @@ const require = __createRequire(import.meta.url);
4
4
  import {
5
5
  loadConnectorPermissionInfos,
6
6
  policyIcon
7
- } from "./chunk-OY4QP64J.js";
7
+ } from "./chunk-VGSWFJ2P.js";
8
8
  import {
9
9
  permissionGrantsToFirewallPolicies
10
- } from "./chunk-FYFA2SZJ.js";
10
+ } from "./chunk-EL4G5UT6.js";
11
11
  import {
12
12
  isInteractive,
13
13
  promptConfirm
@@ -23,12 +23,12 @@ import {
23
23
  listZeroUserPermissionGrants,
24
24
  updateZeroAgent,
25
25
  updateZeroAgentInstructions
26
- } from "./chunk-U34QNV6G.js";
26
+ } from "./chunk-3UJCHTVE.js";
27
27
  import "./chunk-LTDQISD7.js";
28
28
  import {
29
29
  source_default,
30
30
  withErrorHandler
31
- } from "./chunk-AVYSYMXP.js";
31
+ } from "./chunk-YFT4C7D3.js";
32
32
  import "./chunk-LRHXR7JT.js";
33
33
  import {
34
34
  Command
@@ -593,4 +593,4 @@ Notes:
593
593
  export {
594
594
  zeroAgentCommand
595
595
  };
596
- //# sourceMappingURL=agent-I57KQKKR.js.map
596
+ //# sourceMappingURL=agent-BBH77IT7.js.map
@@ -3,12 +3,12 @@ import { createRequire as __createRequire } from "node:module";
3
3
  const require = __createRequire(import.meta.url);
4
4
  import {
5
5
  callZeroBanking
6
- } from "./chunk-U34QNV6G.js";
6
+ } from "./chunk-3UJCHTVE.js";
7
7
  import "./chunk-LTDQISD7.js";
8
8
  import {
9
9
  source_default,
10
10
  withErrorHandler
11
- } from "./chunk-AVYSYMXP.js";
11
+ } from "./chunk-YFT4C7D3.js";
12
12
  import "./chunk-LRHXR7JT.js";
13
13
  import {
14
14
  Command,
@@ -113,4 +113,4 @@ Notes:
113
113
  export {
114
114
  zeroBankingCommand
115
115
  };
116
- //# sourceMappingURL=banking-VRM26B2R.js.map
116
+ //# sourceMappingURL=banking-LVAAOT64.js.map
@@ -3,18 +3,18 @@ import { createRequire as __createRequire } from "node:module";
3
3
  const require = __createRequire(import.meta.url);
4
4
  import {
5
5
  formatModelProviderRoute
6
- } from "./chunk-QC22KBRS.js";
6
+ } from "./chunk-CELQIFCW.js";
7
7
  import {
8
8
  getZeroChatThread,
9
9
  listZeroModelPolicies,
10
10
  renameZeroChatThread,
11
11
  updateZeroChatThreadModelSelection
12
- } from "./chunk-U34QNV6G.js";
12
+ } from "./chunk-3UJCHTVE.js";
13
13
  import "./chunk-LTDQISD7.js";
14
14
  import {
15
15
  source_default,
16
16
  withErrorHandler
17
- } from "./chunk-AVYSYMXP.js";
17
+ } from "./chunk-YFT4C7D3.js";
18
18
  import "./chunk-LRHXR7JT.js";
19
19
  import {
20
20
  Command
@@ -242,4 +242,4 @@ Examples:
242
242
  export {
243
243
  zeroChatCommand
244
244
  };
245
- //# sourceMappingURL=chat-SLVVHVYW.js.map
245
+ //# sourceMappingURL=chat-XROHQQYT.js.map
@@ -22,7 +22,7 @@ import {
22
22
  updateOrgModelPoliciesRequestSchema,
23
23
  upsertModelProviderRequestSchema,
24
24
  upsertModelProviderResponseSchema
25
- } from "./chunk-AVYSYMXP.js";
25
+ } from "./chunk-YFT4C7D3.js";
26
26
  import {
27
27
  __commonJS,
28
28
  __esm,
@@ -3733,15 +3733,7 @@ var workflowSnapshotSchema = external_exports.object({
3733
3733
  displayName: external_exports.string().nullable(),
3734
3734
  description: external_exports.string().nullable(),
3735
3735
  automationId: external_exports.string().uuid().optional(),
3736
- triggerId: external_exports.string().uuid().optional(),
3737
3736
  triggerBrief: external_exports.string().nullable().optional()
3738
- }).superRefine((snapshot, context) => {
3739
- if (snapshot.automationId !== void 0 && snapshot.triggerId !== void 0 && snapshot.automationId !== snapshot.triggerId) {
3740
- context.addIssue({
3741
- code: "custom",
3742
- message: "automationId and triggerId must match"
3743
- });
3744
- }
3745
3737
  });
3746
3738
  var pagedChatMessageBaseSchema = external_exports.object({
3747
3739
  id: external_exports.string(),
@@ -3761,7 +3753,6 @@ var pagedChatMessageBaseSchema = external_exports.object({
3761
3753
  error: external_exports.string().optional(),
3762
3754
  attachFiles: external_exports.array(resolvedAttachFileSchema).optional(),
3763
3755
  generationTemplate: generationTemplateRequestSchema.optional(),
3764
- mailDraftId: external_exports.string().uuid().optional(),
3765
3756
  sequenceNumber: external_exports.number().nullable().optional(),
3766
3757
  workflowSnapshot: workflowSnapshotSchema.optional(),
3767
3758
  createdAt: external_exports.string()
@@ -6218,16 +6209,10 @@ var sessionAffinityResourceSchema = external_exports.enum([
6218
6209
  ]);
6219
6210
  var sessionAffinityLocalResourceSchema = external_exports.enum([
6220
6211
  "reusableSandbox",
6221
- "workspaceCache",
6222
- "legacySession"
6212
+ "workspaceCache"
6223
6213
  ]);
6224
6214
  var runnerLocalAdmissionResourceSchema = external_exports.enum(["reusableSandbox", "fresh"]);
6225
6215
  var runnerClaimDiscoverySourceSchema = external_exports.enum(["ably", "poll"]);
6226
- var runnerPreLocalAdmissionOutcomeSchema = external_exports.enum([
6227
- "not_protected",
6228
- "local_holder",
6229
- "missing_session_metadata"
6230
- ]);
6231
6216
  var sessionHistoryGenerationRelationshipSchema = external_exports.enum([
6232
6217
  "exact",
6233
6218
  "different",
@@ -6235,18 +6220,6 @@ var sessionHistoryGenerationRelationshipSchema = external_exports.enum([
6235
6220
  "unknown_target",
6236
6221
  "unknown_reserved"
6237
6222
  ]);
6238
- var sessionHistoryGenerationLocalAvailabilitySchema = external_exports.enum([
6239
- "parked_after_discovery",
6240
- "parked_before_discovery_lt_heartbeat_period",
6241
- "parked_before_discovery_ge_heartbeat_period"
6242
- ]);
6243
- var workspaceSessionHistorySidecarRelationshipSchema = external_exports.enum([
6244
- "exact",
6245
- "different",
6246
- "legacy",
6247
- "absent",
6248
- "no_target"
6249
- ]);
6250
6223
  var runnerClaimTelemetrySchema = external_exports.object({
6251
6224
  discoverySource: runnerClaimDiscoverySourceSchema.optional(),
6252
6225
  jobDiscoveredToClaimRequestMs: external_exports.number().int().nonnegative().optional(),
@@ -6255,14 +6228,10 @@ var runnerClaimTelemetrySchema = external_exports.object({
6255
6228
  directCandidateInboxWaitMs: external_exports.number().int().nonnegative().optional(),
6256
6229
  providerDiscoveryToMainLoopMs: external_exports.number().int().nonnegative().optional(),
6257
6230
  mainLoopToLocalAdmissionMs: external_exports.number().int().nonnegative().optional(),
6258
- preLocalAdmissionOutcome: runnerPreLocalAdmissionOutcomeSchema.optional(),
6259
6231
  sessionAffinityResource: sessionAffinityResourceSchema.optional(),
6260
6232
  sessionAffinityLocalResource: sessionAffinityLocalResourceSchema.optional(),
6261
6233
  localAdmissionResource: runnerLocalAdmissionResourceSchema.optional(),
6262
6234
  sessionHistoryGenerationRelationship: sessionHistoryGenerationRelationshipSchema.optional(),
6263
- sessionHistoryGenerationLocalAvailability: sessionHistoryGenerationLocalAvailabilitySchema.optional(),
6264
- workspaceSessionHistorySidecarRelationship: workspaceSessionHistorySidecarRelationshipSchema.optional(),
6265
- workspaceSessionHistorySidecarRawSizeBucket: sessionHistorySizeBucketSchema.optional(),
6266
6235
  pollDueToJobDiscoveredMs: external_exports.number().int().nonnegative().optional(),
6267
6236
  pollHttpRequestMs: external_exports.number().int().nonnegative().optional(),
6268
6237
  pollReason: runnerClaimPollReasonSchema.optional()
@@ -6324,11 +6293,7 @@ var heldSessionStateSchema = external_exports.object({
6324
6293
  workspaceCaches: external_exports.array(
6325
6294
  external_exports.object({
6326
6295
  profile: external_exports.string(),
6327
- workspaceAffinityVersion: external_exports.literal(1).optional(),
6328
- sessionHistorySidecar: external_exports.object({
6329
- historyGenerationRunId: external_exports.uuid().optional(),
6330
- rawSizeBucket: sessionHistorySizeBucketSchema
6331
- }).optional()
6296
+ workspaceAffinityVersion: external_exports.literal(1).optional()
6332
6297
  })
6333
6298
  ).max(8).optional()
6334
6299
  });
@@ -6644,6 +6609,10 @@ var heartbeatBodySchema = external_exports.object({
6644
6609
  runnerId: external_exports.uuid(),
6645
6610
  runnerName: external_exports.string(),
6646
6611
  group: runnerGroupSchema,
6612
+ // Optional for rolling compatibility: new APIs accept legacy runners, and
6613
+ // old APIs ignore this additive pair from new runners.
6614
+ snapshotGeneration: external_exports.number().int().positive().max(Number.MAX_SAFE_INTEGER).optional(),
6615
+ snapshotSequence: external_exports.number().int().positive().max(Number.MAX_SAFE_INTEGER).optional(),
6647
6616
  totalVcpu: external_exports.number().int().nonnegative(),
6648
6617
  totalMemoryMb: external_exports.number().int().nonnegative(),
6649
6618
  maxConcurrent: external_exports.number().int().nonnegative(),
@@ -6654,6 +6623,13 @@ var heartbeatBodySchema = external_exports.object({
6654
6623
  heldSessionStates: external_exports.array(heldSessionStateSchema).max(1024),
6655
6624
  mode: external_exports.enum(["starting", "running", "draining", "stopping"])
6656
6625
  }).superRefine((heartbeat, ctx) => {
6626
+ if (heartbeat.snapshotGeneration === void 0 !== (heartbeat.snapshotSequence === void 0)) {
6627
+ ctx.addIssue({
6628
+ code: external_exports.ZodIssueCode.custom,
6629
+ path: ["snapshotGeneration"],
6630
+ message: "snapshotGeneration and snapshotSequence must be provided together"
6631
+ });
6632
+ }
6657
6633
  const workspaceCacheCount = heartbeat.heldSessionStates.reduce(
6658
6634
  (count, state) => {
6659
6635
  return count + (state.workspaceCaches?.length ?? 0);
@@ -11217,39 +11193,67 @@ init_esm_shims();
11217
11193
  init_esm_shims();
11218
11194
  var c37 = initContract();
11219
11195
  var zeroMailProviderSchema = external_exports.enum(["gmail", "outlook"]);
11220
- var zeroMailDraftStatusSchema = external_exports.enum([
11221
- "draft",
11222
- "sending",
11223
- "sent",
11224
- "cancelled",
11225
- "failed",
11226
- "delivery_unknown"
11227
- ]);
11196
+ var zeroMailDraftStatusSchema = external_exports.enum(["draft", "sent", "deleted"]);
11228
11197
  var mailSubjectSchema = external_exports.string().min(1).refine((value) => {
11229
11198
  return !value.includes("\r") && !value.includes("\n");
11230
11199
  }, "Subject must not contain line breaks");
11231
- var zeroMailDraftSchema = external_exports.object({
11232
- version: external_exports.literal(1),
11233
- provider: zeroMailProviderSchema,
11234
- from: external_exports.email(),
11200
+ var mailHeaderValueSchema = external_exports.string().refine((value) => {
11201
+ return !value.includes("\r") && !value.includes("\n");
11202
+ }, "Mail header values must not contain line breaks");
11203
+ var zeroMailDraftFieldsSchema = external_exports.object({
11235
11204
  to: external_exports.array(external_exports.email()).min(1),
11205
+ cc: external_exports.array(external_exports.email()).optional(),
11206
+ bcc: external_exports.array(external_exports.email()).optional(),
11236
11207
  subject: mailSubjectSchema,
11237
- body: external_exports.string().min(1),
11208
+ body: external_exports.string().min(1)
11209
+ });
11210
+ var zeroMailAttachmentSchema = external_exports.object({
11211
+ filename: external_exports.string(),
11212
+ contentType: external_exports.string(),
11213
+ size: external_exports.number().int().nonnegative()
11214
+ });
11215
+ var zeroMailDraftBaseSchema = external_exports.object({
11216
+ provider: external_exports.literal("gmail"),
11217
+ from: external_exports.email(),
11218
+ fromName: external_exports.string().optional(),
11219
+ to: external_exports.array(external_exports.email()),
11220
+ cc: external_exports.array(external_exports.email()),
11221
+ bcc: external_exports.array(external_exports.email()),
11222
+ subject: external_exports.string(),
11223
+ body: external_exports.string(),
11224
+ replyTo: external_exports.string().optional(),
11225
+ inReplyTo: external_exports.string().optional(),
11226
+ references: external_exports.array(external_exports.string()),
11238
11227
  status: zeroMailDraftStatusSchema,
11239
- error: external_exports.string().optional(),
11228
+ detailAvailable: external_exports.boolean(),
11229
+ gmailDraftId: external_exports.string(),
11230
+ gmailThreadId: external_exports.string(),
11231
+ gmailMessageId: external_exports.string(),
11232
+ sentGmailMessageId: external_exports.string().optional(),
11240
11233
  createdAt: external_exports.string(),
11241
11234
  updatedAt: external_exports.string(),
11242
11235
  sentAt: external_exports.string().optional()
11243
11236
  });
11244
- var zeroMailDraftFieldsSchema = external_exports.object({
11245
- to: external_exports.array(external_exports.email()).min(1),
11246
- subject: mailSubjectSchema,
11247
- body: external_exports.string().min(1)
11237
+ var zeroMailDraftV2Schema = zeroMailDraftBaseSchema.extend({
11238
+ version: external_exports.literal(2)
11248
11239
  });
11240
+ var zeroMailDraftV3Schema = zeroMailDraftBaseSchema.extend({
11241
+ version: external_exports.literal(3),
11242
+ attachments: external_exports.array(zeroMailAttachmentSchema)
11243
+ });
11244
+ var zeroMailDraftSchema = external_exports.discriminatedUnion("version", [
11245
+ zeroMailDraftV2Schema,
11246
+ zeroMailDraftV3Schema
11247
+ ]);
11249
11248
  var zeroMailDraftResponseSchema = external_exports.object({
11250
11249
  mailDraftId: external_exports.string().uuid(),
11250
+ mailDraftUrl: external_exports.url(),
11251
11251
  mailDraft: zeroMailDraftSchema
11252
11252
  });
11253
+ var zeroMailLinkResponseSchema = zeroMailDraftResponseSchema.pick({
11254
+ mailDraftId: true,
11255
+ mailDraftUrl: true
11256
+ });
11253
11257
  var zeroMailDraftPathParamsSchema = external_exports.object({
11254
11258
  mailDraftId: external_exports.string().uuid()
11255
11259
  });
@@ -11260,8 +11264,12 @@ var zeroMailContract = c37.router({
11260
11264
  headers: authHeadersSchema,
11261
11265
  body: zeroMailDraftFieldsSchema.extend({
11262
11266
  threadId: external_exports.string().uuid(),
11263
- agentId: external_exports.string().uuid(),
11264
- provider: zeroMailProviderSchema.optional()
11267
+ agentId: external_exports.string().uuid().optional(),
11268
+ provider: zeroMailProviderSchema.optional(),
11269
+ replyTo: mailHeaderValueSchema.optional(),
11270
+ inReplyTo: mailHeaderValueSchema.optional(),
11271
+ references: external_exports.array(mailHeaderValueSchema).optional(),
11272
+ gmailThreadId: mailHeaderValueSchema.optional()
11265
11273
  }),
11266
11274
  responses: {
11267
11275
  201: zeroMailDraftResponseSchema,
@@ -11273,6 +11281,24 @@ var zeroMailContract = c37.router({
11273
11281
  },
11274
11282
  summary: "Create a persistent email draft card in a web chat thread"
11275
11283
  },
11284
+ linkDraft: {
11285
+ method: "POST",
11286
+ path: "/api/zero/mail/drafts/link",
11287
+ headers: authHeadersSchema,
11288
+ body: external_exports.object({
11289
+ threadId: external_exports.string().uuid(),
11290
+ agentId: external_exports.string().uuid().optional(),
11291
+ gmailDraftId: external_exports.string().min(1)
11292
+ }),
11293
+ responses: {
11294
+ 200: zeroMailLinkResponseSchema,
11295
+ 401: apiErrorSchema,
11296
+ 403: apiErrorSchema,
11297
+ 404: apiErrorSchema,
11298
+ 409: apiErrorSchema
11299
+ },
11300
+ summary: "Link an existing Gmail draft to a web chat thread"
11301
+ },
11276
11302
  getDraft: {
11277
11303
  method: "GET",
11278
11304
  path: "/api/zero/mail/drafts/:mailDraftId",
@@ -11282,7 +11308,8 @@ var zeroMailContract = c37.router({
11282
11308
  200: zeroMailDraftResponseSchema,
11283
11309
  401: apiErrorSchema,
11284
11310
  403: apiErrorSchema,
11285
- 404: apiErrorSchema
11311
+ 404: apiErrorSchema,
11312
+ 409: apiErrorSchema
11286
11313
  },
11287
11314
  summary: "Get an email draft by ID"
11288
11315
  },
@@ -11300,29 +11327,29 @@ var zeroMailContract = c37.router({
11300
11327
  404: apiErrorSchema,
11301
11328
  409: apiErrorSchema
11302
11329
  },
11303
- summary: "Persist edits to an email draft card"
11330
+ summary: "Persist edits to a legacy email draft card"
11304
11331
  },
11305
- cancelDraft: {
11306
- method: "POST",
11307
- path: "/api/zero/mail/drafts/:mailDraftId/cancel",
11332
+ deleteDraft: {
11333
+ method: "DELETE",
11334
+ path: "/api/zero/mail/drafts/:mailDraftId",
11308
11335
  headers: authHeadersSchema,
11309
11336
  pathParams: zeroMailDraftPathParamsSchema,
11310
11337
  body: c37.noBody(),
11311
11338
  responses: {
11312
- 200: zeroMailDraftResponseSchema,
11339
+ 204: c37.noBody(),
11313
11340
  401: apiErrorSchema,
11314
11341
  403: apiErrorSchema,
11315
11342
  404: apiErrorSchema,
11316
11343
  409: apiErrorSchema
11317
11344
  },
11318
- summary: "Cancel an email draft card"
11345
+ summary: "Permanently delete a Gmail draft and its vm0 record"
11319
11346
  },
11320
11347
  sendDraft: {
11321
11348
  method: "POST",
11322
11349
  path: "/api/zero/mail/drafts/:mailDraftId/send",
11323
11350
  headers: authHeadersSchema,
11324
11351
  pathParams: zeroMailDraftPathParamsSchema,
11325
- body: zeroMailDraftFieldsSchema,
11352
+ body: external_exports.union([zeroMailDraftFieldsSchema, external_exports.object({}).strict()]).optional(),
11326
11353
  responses: {
11327
11354
  200: zeroMailDraftResponseSchema,
11328
11355
  400: apiErrorSchema,
@@ -11331,21 +11358,25 @@ var zeroMailContract = c37.router({
11331
11358
  404: apiErrorSchema,
11332
11359
  409: apiErrorSchema
11333
11360
  },
11334
- summary: "Persist the latest edits and send an email draft exactly once"
11361
+ summary: "Send a linked or legacy Gmail draft"
11335
11362
  }
11336
11363
  });
11337
11364
 
11338
11365
  // src/lib/api/domains/zero-mail.ts
11339
- async function createZeroMailDraft(args) {
11366
+ async function linkZeroMailDraft(args) {
11340
11367
  const config = await getClientConfig();
11341
11368
  const client = initClient(zeroMailContract, config);
11342
- const result = await client.createDraft({
11343
- body: { ...args, to: [...args.to] }
11369
+ const result = await client.linkDraft({
11370
+ body: {
11371
+ threadId: args.threadId,
11372
+ agentId: args.agentId,
11373
+ gmailDraftId: args.gmailDraftId
11374
+ }
11344
11375
  });
11345
- if (result.status === 201) {
11376
+ if (result.status === 200) {
11346
11377
  return result.body;
11347
11378
  }
11348
- handleError(result, "Failed to create mail draft");
11379
+ handleError(result, "Failed to link Gmail draft");
11349
11380
  }
11350
11381
 
11351
11382
  // src/lib/api/domains/integrations-slack.ts
@@ -12580,7 +12611,7 @@ export {
12580
12611
  connectZeroConnectorManualGrant,
12581
12612
  listZeroCustomConnectors,
12582
12613
  getZeroCustomConnector,
12583
- createZeroMailDraft,
12614
+ linkZeroMailDraft,
12584
12615
  sendSlackMessage,
12585
12616
  initSlackFileUpload,
12586
12617
  completeSlackFileUpload,
@@ -12642,4 +12673,4 @@ export {
12642
12673
  completeHostedSite,
12643
12674
  getHostedSiteFiles
12644
12675
  };
12645
- //# sourceMappingURL=chunk-U34QNV6G.js.map
12676
+ //# sourceMappingURL=chunk-3UJCHTVE.js.map