@vm0/cli 9.278.0 → 9.278.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.
Files changed (194) hide show
  1. package/{agent-HUDTEGLK.js → agent-4F3XAJWN.js} +12 -6
  2. package/agent-4F3XAJWN.js.map +1 -0
  3. package/{banking-BMZONEXP.js → banking-CWQFQKZB.js} +61 -7
  4. package/banking-CWQFQKZB.js.map +1 -0
  5. package/{browser-LQP445CU.js → browser-BI6UFWPH.js} +4 -5
  6. package/browser-BI6UFWPH.js.map +1 -0
  7. package/{chat-UF7QAWUT.js → chat-MKIW4FPP.js} +24 -16
  8. package/chat-MKIW4FPP.js.map +1 -0
  9. package/chunk-2SJTFDC2.js +189 -0
  10. package/chunk-2SJTFDC2.js.map +1 -0
  11. package/chunk-4FTIKZKP.js +64 -0
  12. package/chunk-4FTIKZKP.js.map +1 -0
  13. package/chunk-7UZXNER2.js +568 -0
  14. package/chunk-7UZXNER2.js.map +1 -0
  15. package/chunk-A6ZRMNM3.js +102 -0
  16. package/chunk-A6ZRMNM3.js.map +1 -0
  17. package/{chunk-QC63TUJC.js → chunk-C62A6LD6.js} +2 -2
  18. package/chunk-CCTF3YVW.js +52 -0
  19. package/chunk-CCTF3YVW.js.map +1 -0
  20. package/chunk-CD2BLKGC.js +188 -0
  21. package/chunk-CD2BLKGC.js.map +1 -0
  22. package/chunk-CEJGHPF3.js +55 -0
  23. package/chunk-CEJGHPF3.js.map +1 -0
  24. package/chunk-DUA6CF7E.js +2053 -0
  25. package/chunk-DUA6CF7E.js.map +1 -0
  26. package/chunk-E2TQAKNL.js +1300 -0
  27. package/chunk-E2TQAKNL.js.map +1 -0
  28. package/{chunk-5ZZI2LSO.js → chunk-GHKWW4NC.js} +5 -5
  29. package/chunk-GV3PG6CZ.js +114 -0
  30. package/chunk-GV3PG6CZ.js.map +1 -0
  31. package/chunk-GY7D76EZ.js +81 -0
  32. package/chunk-GY7D76EZ.js.map +1 -0
  33. package/chunk-HHHHZMTA.js +434 -0
  34. package/chunk-HHHHZMTA.js.map +1 -0
  35. package/chunk-HZYOJTEE.js +1275 -0
  36. package/chunk-HZYOJTEE.js.map +1 -0
  37. package/chunk-J3ZRXVI6.js +740 -0
  38. package/chunk-J3ZRXVI6.js.map +1 -0
  39. package/chunk-JJWFO27K.js +31 -0
  40. package/chunk-JJWFO27K.js.map +1 -0
  41. package/chunk-JV6LM2YC.js +39 -0
  42. package/chunk-JV6LM2YC.js.map +1 -0
  43. package/chunk-KER77KJB.js +105 -0
  44. package/chunk-KER77KJB.js.map +1 -0
  45. package/{chunk-V5ZVB7RJ.js → chunk-KKO2XGLQ.js} +1 -6
  46. package/chunk-KKO2XGLQ.js.map +1 -0
  47. package/chunk-LIYPTQAO.js +198 -0
  48. package/chunk-LIYPTQAO.js.map +1 -0
  49. package/chunk-LYLDVUHT.js +131 -0
  50. package/chunk-LYLDVUHT.js.map +1 -0
  51. package/chunk-PFWBO2VK.js +801 -0
  52. package/chunk-PFWBO2VK.js.map +1 -0
  53. package/chunk-RTCRU35A.js +194 -0
  54. package/chunk-RTCRU35A.js.map +1 -0
  55. package/{chunk-F2AM4RWA.js → chunk-RTEEWZUT.js} +2 -2
  56. package/{chunk-F2AM4RWA.js.map → chunk-RTEEWZUT.js.map} +1 -1
  57. package/{chunk-BRV4D3P2.js → chunk-RUKMHBNQ.js} +2 -2
  58. package/chunk-SA4DYSBR.js +31 -0
  59. package/chunk-SA4DYSBR.js.map +1 -0
  60. package/chunk-SJPOFQJU.js +792 -0
  61. package/chunk-SJPOFQJU.js.map +1 -0
  62. package/{chunk-V7A6ZFHR.js → chunk-SMPSKBAP.js} +25 -774
  63. package/chunk-SMPSKBAP.js.map +1 -0
  64. package/{chunk-E53W6UVQ.js → chunk-T2X2EGV2.js} +4 -4
  65. package/chunk-T2X2EGV2.js.map +1 -0
  66. package/chunk-U2GQH6AD.js +309 -0
  67. package/chunk-U2GQH6AD.js.map +1 -0
  68. package/chunk-U6A2RPHO.js +66 -0
  69. package/chunk-U6A2RPHO.js.map +1 -0
  70. package/chunk-UIXUGVZB.js +362 -0
  71. package/chunk-UIXUGVZB.js.map +1 -0
  72. package/chunk-XRZKJACM.js +49 -0
  73. package/chunk-XRZKJACM.js.map +1 -0
  74. package/chunk-YDS3X7KB.js +202 -0
  75. package/chunk-YDS3X7KB.js.map +1 -0
  76. package/{chunk-A6TMOGPR.js → chunk-ZKNJW4K6.js} +1412 -334
  77. package/chunk-ZKNJW4K6.js.map +1 -0
  78. package/chunk-ZXSCBS77.js +90 -0
  79. package/chunk-ZXSCBS77.js.map +1 -0
  80. package/{computer-use-RRD7BCCK.js → computer-use-6AEVW47F.js} +9 -7
  81. package/computer-use-6AEVW47F.js.map +1 -0
  82. package/{connector-XX7UU6XE.js → connector-XDQ6JEBU.js} +25 -13
  83. package/connector-XDQ6JEBU.js.map +1 -0
  84. package/{credit-GDNNAQRO.js → credit-JPQA5XPA.js} +8 -10
  85. package/credit-JPQA5XPA.js.map +1 -0
  86. package/{developer-support-IISP5UBI.js → developer-support-V7NZOU2P.js} +27 -7
  87. package/developer-support-V7NZOU2P.js.map +1 -0
  88. package/{doctor-IZM2TJOH.js → doctor-FJO24TG3.js} +13 -11
  89. package/doctor-FJO24TG3.js.map +1 -0
  90. package/{feishu-XB7SQBSI.js → feishu-PNOAM33Q.js} +99 -9
  91. package/feishu-PNOAM33Q.js.map +1 -0
  92. package/{finance-OGWHKQLU.js → finance-55OJ6GYP.js} +49 -9
  93. package/finance-55OJ6GYP.js.map +1 -0
  94. package/{generate-AA2PVOYQ.js → generate-XUKBK523.js} +26 -21
  95. package/generate-XUKBK523.js.map +1 -0
  96. package/{github-VJVIBTVF.js → github-V4MD2PMM.js} +83 -8
  97. package/github-V4MD2PMM.js.map +1 -0
  98. package/{goal-7SYVHDTK.js → goal-FS5FJKVU.js} +69 -13
  99. package/goal-FS5FJKVU.js.map +1 -0
  100. package/{host-UVQMIOBA.js → host-GITTJ6PR.js} +124 -10
  101. package/host-GITTJ6PR.js.map +1 -0
  102. package/{logs-PIS4X24E.js → logs-EEUIGYUD.js} +51 -11
  103. package/logs-EEUIGYUD.js.map +1 -0
  104. package/{mail-L33OSQ2R.js → mail-G4SAJSBD.js} +39 -8
  105. package/mail-G4SAJSBD.js.map +1 -0
  106. package/{maps-D5XTXU5U.js → maps-7ANNU3BX.js} +65 -11
  107. package/maps-7ANNU3BX.js.map +1 -0
  108. package/{model-ZFMRECDM.js → model-DSPDCJLB.js} +6 -6
  109. package/model-DSPDCJLB.js.map +1 -0
  110. package/{model-provider-EZZ2DRYZ.js → model-provider-RZQ45PNG.js} +6 -6
  111. package/model-provider-RZQ45PNG.js.map +1 -0
  112. package/package.json +1 -1
  113. package/{people-search-PFTIO2QS.js → people-search-I7PUMF5M.js} +22 -6
  114. package/people-search-I7PUMF5M.js.map +1 -0
  115. package/{phone-6SG5ZUNL.js → phone-SSAPGMTW.js} +90 -9
  116. package/phone-SSAPGMTW.js.map +1 -0
  117. package/{recognize-LLU6J3SW.js → recognize-D7VORZBN.js} +27 -9
  118. package/recognize-D7VORZBN.js.map +1 -0
  119. package/{resource-FGUSXS4G.js → resource-76IV3TMW.js} +21 -7
  120. package/resource-76IV3TMW.js.map +1 -0
  121. package/{scrape-BAUZ2YFD.js → scrape-JBDLNTLB.js} +22 -6
  122. package/scrape-JBDLNTLB.js.map +1 -0
  123. package/{search-DLO5RXRM.js → search-UNZNUTZX.js} +29 -9
  124. package/search-UNZNUTZX.js.map +1 -0
  125. package/{slack-CVATPKP3.js → slack-AAH6GG2W.js} +103 -11
  126. package/slack-AAH6GG2W.js.map +1 -0
  127. package/{teams-ZZYO6YIK.js → teams-6OPXE4TX.js} +90 -9
  128. package/teams-6OPXE4TX.js.map +1 -0
  129. package/{telegram-VY7T4YAR.js → telegram-RRZG73RT.js} +101 -10
  130. package/telegram-RRZG73RT.js.map +1 -0
  131. package/{upgrade-GFA4ZUU4.js → upgrade-I5IL4UQL.js} +3 -4
  132. package/upgrade-I5IL4UQL.js.map +1 -0
  133. package/{video-STFG7BET.js → video-HV44W4X7.js} +5 -4
  134. package/video-HV44W4X7.js.map +1 -0
  135. package/{weather-ISJEHJWR.js → weather-EQ7CSADB.js} +70 -16
  136. package/weather-EQ7CSADB.js.map +1 -0
  137. package/{web-YN4CVHK7.js → web-6LIMWEOZ.js} +5 -5
  138. package/web-6LIMWEOZ.js.map +1 -0
  139. package/{web-search-PC7IECND.js → web-search-AT7WONZN.js} +22 -6
  140. package/web-search-AT7WONZN.js.map +1 -0
  141. package/{whoami-KXFXZGM6.js → whoami-RKTLLSI4.js} +16 -7
  142. package/whoami-RKTLLSI4.js.map +1 -0
  143. package/{workflow-O7YZHB7A.js → workflow-ZH32P622.js} +135 -39
  144. package/workflow-ZH32P622.js.map +1 -0
  145. package/zero.js +40 -40
  146. package/agent-HUDTEGLK.js.map +0 -1
  147. package/banking-BMZONEXP.js.map +0 -1
  148. package/browser-LQP445CU.js.map +0 -1
  149. package/chat-UF7QAWUT.js.map +0 -1
  150. package/chunk-2W73DZDW.js +0 -32
  151. package/chunk-2W73DZDW.js.map +0 -1
  152. package/chunk-6PN6QGIM.js +0 -11405
  153. package/chunk-6PN6QGIM.js.map +0 -1
  154. package/chunk-A6TMOGPR.js.map +0 -1
  155. package/chunk-ANOLYIPL.js +0 -10
  156. package/chunk-ANOLYIPL.js.map +0 -1
  157. package/chunk-E53W6UVQ.js.map +0 -1
  158. package/chunk-V5ZVB7RJ.js.map +0 -1
  159. package/chunk-V7A6ZFHR.js.map +0 -1
  160. package/computer-use-RRD7BCCK.js.map +0 -1
  161. package/connector-XX7UU6XE.js.map +0 -1
  162. package/credit-GDNNAQRO.js.map +0 -1
  163. package/developer-support-IISP5UBI.js.map +0 -1
  164. package/doctor-IZM2TJOH.js.map +0 -1
  165. package/feishu-XB7SQBSI.js.map +0 -1
  166. package/finance-OGWHKQLU.js.map +0 -1
  167. package/generate-AA2PVOYQ.js.map +0 -1
  168. package/github-VJVIBTVF.js.map +0 -1
  169. package/goal-7SYVHDTK.js.map +0 -1
  170. package/host-UVQMIOBA.js.map +0 -1
  171. package/logs-PIS4X24E.js.map +0 -1
  172. package/mail-L33OSQ2R.js.map +0 -1
  173. package/maps-D5XTXU5U.js.map +0 -1
  174. package/model-ZFMRECDM.js.map +0 -1
  175. package/model-provider-EZZ2DRYZ.js.map +0 -1
  176. package/people-search-PFTIO2QS.js.map +0 -1
  177. package/phone-6SG5ZUNL.js.map +0 -1
  178. package/recognize-LLU6J3SW.js.map +0 -1
  179. package/resource-FGUSXS4G.js.map +0 -1
  180. package/scrape-BAUZ2YFD.js.map +0 -1
  181. package/search-DLO5RXRM.js.map +0 -1
  182. package/slack-CVATPKP3.js.map +0 -1
  183. package/teams-ZZYO6YIK.js.map +0 -1
  184. package/telegram-VY7T4YAR.js.map +0 -1
  185. package/upgrade-GFA4ZUU4.js.map +0 -1
  186. package/video-STFG7BET.js.map +0 -1
  187. package/weather-ISJEHJWR.js.map +0 -1
  188. package/web-YN4CVHK7.js.map +0 -1
  189. package/web-search-PC7IECND.js.map +0 -1
  190. package/whoami-KXFXZGM6.js.map +0 -1
  191. package/workflow-O7YZHB7A.js.map +0 -1
  192. /package/{chunk-QC63TUJC.js.map → chunk-C62A6LD6.js.map} +0 -0
  193. /package/{chunk-5ZZI2LSO.js.map → chunk-GHKWW4NC.js.map} +0 -0
  194. /package/{chunk-BRV4D3P2.js.map → chunk-RUKMHBNQ.js.map} +0 -0
@@ -10,27 +10,58 @@ import {
10
10
  listVideoTemplates
11
11
  } from "./chunk-NKYACNWA.js";
12
12
  import {
13
- connectorCatalogDiagnosticsSchema,
13
+ zeroAgentVisibilitySchema
14
+ } from "./chunk-HZYOJTEE.js";
15
+ import {
16
+ connectorCatalogDiagnosticsSchema
17
+ } from "./chunk-HHHHZMTA.js";
18
+ import {
19
+ agentEventsResponseSchema,
20
+ cancelRunResponseSchema,
21
+ createLogPaginationQuerySchema,
14
22
  createRunResponseSchema,
23
+ eventSequenceNumberSchema,
24
+ getRunResponseSchema,
25
+ logsListContract,
26
+ logsSearchQuerySchema,
27
+ logsSearchResponseSchema,
28
+ metricsResponseSchema,
29
+ networkLogEntrySchema,
30
+ networkLogsResponseSchema,
31
+ queueResponseSchema,
32
+ systemLogResponseSchema,
33
+ unifiedRunRequestSchema
34
+ } from "./chunk-DUA6CF7E.js";
35
+ import {
36
+ RESUME_SESSION_HISTORY_MAX_BYTES,
37
+ artifactMissingRootPolicySchema,
38
+ executionFirewallBuiltinEntrySchema,
39
+ firewallsSchema,
40
+ networkPoliciesSchema,
41
+ secretConnectorMetadataMapSchema,
42
+ sessionHistoryDownloadSourceSchema,
43
+ sessionHistoryEncodingSchema,
44
+ sessionHistorySizeBucketSchema,
45
+ zeroBuiltInGenerationAcceptedResponseSchema
46
+ } from "./chunk-SMPSKBAP.js";
47
+ import {
15
48
  inviteOrgMemberRequestSchema,
16
49
  membershipRequestActionSchema,
17
50
  orgMembersResponseSchema,
18
51
  orgMessageResponseSchema,
19
52
  removeOrgMemberRequestSchema,
20
53
  revokeInvitationRequestSchema,
21
- searchZeroLogs,
22
- unifiedRunRequestSchema,
23
- updateOrgMemberRoleRequestSchema,
24
- zeroAgentVisibilitySchema
25
- } from "./chunk-6PN6QGIM.js";
54
+ updateOrgMemberRoleRequestSchema
55
+ } from "./chunk-A6ZRMNM3.js";
26
56
  import {
27
- authHeadersSchema,
28
- firewallsSchema,
29
- zeroBuiltInGenerationAcceptedResponseSchema
30
- } from "./chunk-V7A6ZFHR.js";
57
+ authHeadersSchema
58
+ } from "./chunk-JV6LM2YC.js";
31
59
  import {
32
60
  apiErrorSchema,
33
61
  external_exports,
62
+ getClientConfig,
63
+ handleError,
64
+ initClient,
34
65
  initContract,
35
66
  modelProviderListResponseSchema,
36
67
  modelProviderResponseSchema,
@@ -40,7 +71,7 @@ import {
40
71
  upsertModelProviderRequestSchema,
41
72
  upsertModelProviderResponseSchema,
42
73
  withErrorHandler
43
- } from "./chunk-5ZZI2LSO.js";
74
+ } from "./chunk-GHKWW4NC.js";
44
75
  import {
45
76
  Command
46
77
  } from "./chunk-JAUTPXVK.js";
@@ -734,9 +765,9 @@ var require_Alias = __commonJS({
734
765
  } else if (identity.isCollection(node)) {
735
766
  let count = 0;
736
767
  for (const item of node.items) {
737
- const c84 = getAliasCount(doc, item, anchors2);
738
- if (c84 > count)
739
- count = c84;
768
+ const c86 = getAliasCount(doc, item, anchors2);
769
+ if (c86 > count)
770
+ count = c86;
740
771
  }
741
772
  return count;
742
773
  } else if (identity.isPair(node)) {
@@ -10843,6 +10874,48 @@ var zeroUserModelPreferenceContract = c7.router({
10843
10874
  }
10844
10875
  });
10845
10876
 
10877
+ // ../../packages/api-contracts/src/contracts/storages.ts
10878
+ init_esm_shims();
10879
+ var MAX_FILE_SIZE_BYTES = 104857600;
10880
+ var STORAGE_MANIFEST_MAX_FILES = 5e4;
10881
+ var STORAGE_MANIFEST_MAX_PATH_BYTES = 8 * 1024 * 1024;
10882
+ var fileEntryWithHashSchema = external_exports.object({
10883
+ path: external_exports.string().min(1, "File path is required"),
10884
+ hash: external_exports.string().length(64, "Hash must be SHA-256 (64 hex chars)"),
10885
+ size: external_exports.number().int().min(0, "Size must be non-negative").max(MAX_FILE_SIZE_BYTES, "File size exceeds 100MB limit")
10886
+ });
10887
+ var storageManifestPathEncoder = new TextEncoder();
10888
+ var storageManifestFilesSchema = external_exports.array(fileEntryWithHashSchema).max(
10889
+ STORAGE_MANIFEST_MAX_FILES,
10890
+ `Storage manifest exceeds ${STORAGE_MANIFEST_MAX_FILES} files`
10891
+ ).refine(
10892
+ (files) => {
10893
+ if (files.length > STORAGE_MANIFEST_MAX_FILES) {
10894
+ return true;
10895
+ }
10896
+ let pathBytes = 0;
10897
+ for (const file of files) {
10898
+ pathBytes += storageManifestPathEncoder.encode(file.path).byteLength;
10899
+ if (pathBytes > STORAGE_MANIFEST_MAX_PATH_BYTES) {
10900
+ return false;
10901
+ }
10902
+ }
10903
+ return true;
10904
+ },
10905
+ {
10906
+ message: `Storage manifest paths exceed ${STORAGE_MANIFEST_MAX_PATH_BYTES} UTF-8 bytes`
10907
+ }
10908
+ );
10909
+ var storageChangesSchema = external_exports.object({
10910
+ added: external_exports.array(external_exports.string()),
10911
+ modified: external_exports.array(external_exports.string()),
10912
+ deleted: external_exports.array(external_exports.string())
10913
+ });
10914
+ var presignedUploadSchema = external_exports.object({
10915
+ key: external_exports.string(),
10916
+ presignedUrl: external_exports.url()
10917
+ });
10918
+
10846
10919
  // ../../packages/api-contracts/src/contracts/presentation-images.ts
10847
10920
  init_esm_shims();
10848
10921
  var c8 = initContract();
@@ -10996,177 +11069,887 @@ var zeroEmailInboundContract = c10.router({
10996
11069
  }
10997
11070
  });
10998
11071
 
10999
- // ../../packages/api-contracts/src/contracts/cli-auth.ts
11072
+ // ../../packages/api-contracts/src/contracts/webhooks.ts
11000
11073
  init_esm_shims();
11001
11074
  var c11 = initContract();
11002
- var oauthErrorSchema = external_exports.object({
11003
- error: external_exports.string(),
11004
- error_description: external_exports.string()
11075
+ var sha256HexSchema = external_exports.string().regex(
11076
+ /^[a-f0-9]{64}$/,
11077
+ "hash must be a lowercase 64-character SHA-256 hex string"
11078
+ );
11079
+ var thirdPartyWebhookErrorSchema = external_exports.object({ error: external_exports.string() });
11080
+ var thirdPartyWebhookOkSchema = external_exports.union([
11081
+ external_exports.string(),
11082
+ external_exports.object({ message: external_exports.literal("pong") })
11083
+ ]);
11084
+ var webhookClerkContract = c11.router({
11085
+ post: {
11086
+ method: "POST",
11087
+ path: "/api/webhooks/clerk",
11088
+ body: c11.type(),
11089
+ responses: {
11090
+ 200: thirdPartyWebhookOkSchema,
11091
+ 401: thirdPartyWebhookErrorSchema
11092
+ },
11093
+ summary: "Handle Clerk organization and user webhooks"
11094
+ }
11005
11095
  });
11006
- var cliAuthDeviceContract = c11.router({
11007
- /**
11008
- * POST /api/cli/auth/device
11009
- * Initiate device authorization flow
11010
- */
11011
- create: {
11096
+ var webhookGithubContract = c11.router({
11097
+ post: {
11012
11098
  method: "POST",
11013
- path: "/api/cli/auth/device",
11014
- body: external_exports.object({}).optional(),
11099
+ path: "/api/webhooks/github",
11100
+ body: c11.type(),
11015
11101
  responses: {
11016
- 200: external_exports.object({
11017
- device_code: external_exports.string(),
11018
- user_code: external_exports.string(),
11019
- verification_path: external_exports.string(),
11020
- expires_in: external_exports.number(),
11021
- interval: external_exports.number()
11022
- }),
11023
- 500: oauthErrorSchema
11102
+ 200: thirdPartyWebhookOkSchema,
11103
+ 400: thirdPartyWebhookErrorSchema,
11104
+ 401: thirdPartyWebhookErrorSchema,
11105
+ 503: thirdPartyWebhookErrorSchema
11024
11106
  },
11025
- summary: "Initiate device authorization flow"
11107
+ summary: "Handle GitHub App webhooks"
11026
11108
  }
11027
11109
  });
11028
- var cliAuthTokenContract = c11.router({
11029
- /**
11030
- * POST /api/cli/auth/token
11031
- * Exchange device code for access token
11032
- */
11033
- exchange: {
11110
+ var webhookStripeContract = c11.router({
11111
+ post: {
11034
11112
  method: "POST",
11035
- path: "/api/cli/auth/token",
11036
- body: external_exports.object({
11037
- device_code: external_exports.string().min(1, "device_code is required")
11113
+ path: "/api/webhooks/stripe",
11114
+ body: c11.type(),
11115
+ responses: {
11116
+ 200: thirdPartyWebhookOkSchema,
11117
+ 401: thirdPartyWebhookErrorSchema,
11118
+ 503: thirdPartyWebhookErrorSchema
11119
+ },
11120
+ summary: "Handle Stripe billing webhooks"
11121
+ }
11122
+ });
11123
+ var gmailWebhookResponseSchema = external_exports.object({
11124
+ success: external_exports.literal(true),
11125
+ watchStates: external_exports.number(),
11126
+ dispatched: external_exports.number(),
11127
+ duplicates: external_exports.number()
11128
+ });
11129
+ var googleCalendarWebhookResponseSchema = external_exports.object({
11130
+ success: external_exports.literal(true),
11131
+ watchStates: external_exports.number(),
11132
+ dispatched: external_exports.number(),
11133
+ duplicates: external_exports.number()
11134
+ });
11135
+ var googleWorkspaceEventsWebhookResponseSchema = external_exports.object({
11136
+ success: external_exports.literal(true),
11137
+ watchStates: external_exports.number(),
11138
+ dispatched: external_exports.number(),
11139
+ duplicates: external_exports.number()
11140
+ });
11141
+ var notionWebhookResponseSchema = external_exports.object({
11142
+ success: external_exports.literal(true),
11143
+ kind: external_exports.enum(["verification", "event"]),
11144
+ pending: external_exports.number(),
11145
+ refreshed: external_exports.number(),
11146
+ duplicates: external_exports.number()
11147
+ });
11148
+ var workflowAutomationWebhookResponseSchema = external_exports.object({
11149
+ success: external_exports.literal(true),
11150
+ duplicate: external_exports.boolean(),
11151
+ runId: external_exports.string().uuid().optional()
11152
+ });
11153
+ var webhookGmailContract = c11.router({
11154
+ post: {
11155
+ method: "POST",
11156
+ path: "/api/webhooks/gmail",
11157
+ body: c11.type(),
11158
+ responses: {
11159
+ 200: gmailWebhookResponseSchema,
11160
+ 400: thirdPartyWebhookErrorSchema,
11161
+ 401: thirdPartyWebhookErrorSchema,
11162
+ 429: thirdPartyWebhookErrorSchema,
11163
+ 503: thirdPartyWebhookErrorSchema
11164
+ },
11165
+ summary: "Handle Gmail Pub/Sub push notifications"
11166
+ }
11167
+ });
11168
+ var webhookGoogleCalendarContract = c11.router({
11169
+ post: {
11170
+ method: "POST",
11171
+ path: "/api/webhooks/google-calendar",
11172
+ body: c11.type(),
11173
+ responses: {
11174
+ 200: googleCalendarWebhookResponseSchema,
11175
+ 400: thirdPartyWebhookErrorSchema,
11176
+ 401: thirdPartyWebhookErrorSchema,
11177
+ 429: thirdPartyWebhookErrorSchema,
11178
+ 503: thirdPartyWebhookErrorSchema
11179
+ },
11180
+ summary: "Handle Google Calendar push notifications"
11181
+ }
11182
+ });
11183
+ var webhookGoogleWorkspaceEventsContract = c11.router({
11184
+ post: {
11185
+ method: "POST",
11186
+ path: "/api/webhooks/google-workspace-events",
11187
+ body: c11.type(),
11188
+ responses: {
11189
+ 200: googleWorkspaceEventsWebhookResponseSchema,
11190
+ 400: thirdPartyWebhookErrorSchema,
11191
+ 401: thirdPartyWebhookErrorSchema,
11192
+ 429: thirdPartyWebhookErrorSchema,
11193
+ 503: thirdPartyWebhookErrorSchema
11194
+ },
11195
+ summary: "Handle Google Workspace Events Pub/Sub push notifications"
11196
+ }
11197
+ });
11198
+ var webhookNotionContract = c11.router({
11199
+ post: {
11200
+ method: "POST",
11201
+ path: "/api/webhooks/notion",
11202
+ body: c11.type(),
11203
+ responses: {
11204
+ 200: notionWebhookResponseSchema,
11205
+ 400: thirdPartyWebhookErrorSchema,
11206
+ 401: thirdPartyWebhookErrorSchema,
11207
+ 503: thirdPartyWebhookErrorSchema
11208
+ },
11209
+ summary: "Handle Notion webhook events"
11210
+ }
11211
+ });
11212
+ var workflowAutomationWebhookPostRoute = {
11213
+ method: "POST",
11214
+ pathParams: external_exports.object({
11215
+ token: external_exports.string().min(1)
11216
+ }),
11217
+ body: c11.type(),
11218
+ responses: {
11219
+ 200: workflowAutomationWebhookResponseSchema,
11220
+ 400: thirdPartyWebhookErrorSchema,
11221
+ 401: thirdPartyWebhookErrorSchema,
11222
+ 404: thirdPartyWebhookErrorSchema,
11223
+ 413: thirdPartyWebhookErrorSchema,
11224
+ 429: thirdPartyWebhookErrorSchema,
11225
+ 500: thirdPartyWebhookErrorSchema
11226
+ }
11227
+ };
11228
+ var webhookWorkflowAutomationContract = c11.router({
11229
+ post: {
11230
+ ...workflowAutomationWebhookPostRoute,
11231
+ path: "/api/webhooks/workflow-automations/:token",
11232
+ summary: "Handle inbound workflow automation webhooks"
11233
+ }
11234
+ });
11235
+ var webhookBuiltInGenerationFalContract = c11.router({
11236
+ post: {
11237
+ method: "POST",
11238
+ path: "/api/webhooks/built-in-generations/fal/:generationId",
11239
+ pathParams: external_exports.object({
11240
+ generationId: external_exports.uuid()
11241
+ }),
11242
+ query: external_exports.object({
11243
+ token: external_exports.string().min(1),
11244
+ visualKey: external_exports.string().min(1).optional()
11038
11245
  }),
11246
+ body: c11.type(),
11039
11247
  responses: {
11040
- // Success - token issued
11041
- 200: external_exports.object({
11042
- access_token: external_exports.string(),
11043
- token_type: external_exports.literal("Bearer"),
11044
- expires_in: external_exports.number()
11045
- }),
11046
- // Authorization pending
11047
- 202: oauthErrorSchema,
11048
- // Various error states
11049
- 400: oauthErrorSchema,
11050
- 500: oauthErrorSchema
11248
+ 200: thirdPartyWebhookOkSchema,
11249
+ 400: thirdPartyWebhookErrorSchema,
11250
+ 401: thirdPartyWebhookErrorSchema,
11251
+ 503: thirdPartyWebhookErrorSchema
11051
11252
  },
11052
- summary: "Exchange device code for access token"
11253
+ summary: "Handle fal built-in generation webhooks"
11053
11254
  }
11054
11255
  });
11055
- var apiErrorResponseSchema = external_exports.object({
11056
- error: external_exports.object({ message: external_exports.string(), code: external_exports.string() })
11256
+ var webhookBuiltInGenerationBytePlusContract = c11.router({
11257
+ post: {
11258
+ method: "POST",
11259
+ path: "/api/webhooks/built-in-generations/byteplus/:generationId",
11260
+ pathParams: external_exports.object({
11261
+ generationId: external_exports.uuid()
11262
+ }),
11263
+ query: external_exports.object({
11264
+ token: external_exports.string().min(1),
11265
+ visualKey: external_exports.string().min(1).optional()
11266
+ }),
11267
+ body: c11.type(),
11268
+ responses: {
11269
+ 200: thirdPartyWebhookOkSchema,
11270
+ 400: thirdPartyWebhookErrorSchema,
11271
+ 401: thirdPartyWebhookErrorSchema,
11272
+ 503: thirdPartyWebhookErrorSchema
11273
+ },
11274
+ summary: "Handle BytePlus built-in generation webhooks"
11275
+ }
11057
11276
  });
11058
- var cliAuthApproveErrorSchema = external_exports.object({
11059
- success: external_exports.literal(false),
11060
- error: external_exports.string()
11277
+ var webhookBuiltInGenerationJoggAiContract = c11.router({
11278
+ post: {
11279
+ method: "POST",
11280
+ path: "/api/webhooks/built-in-generations/joggai/:generationId",
11281
+ pathParams: external_exports.object({
11282
+ generationId: external_exports.uuid()
11283
+ }),
11284
+ query: external_exports.object({
11285
+ token: external_exports.string().min(1)
11286
+ }),
11287
+ body: c11.type(),
11288
+ responses: {
11289
+ 200: thirdPartyWebhookOkSchema,
11290
+ 400: thirdPartyWebhookErrorSchema,
11291
+ 401: thirdPartyWebhookErrorSchema,
11292
+ 503: thirdPartyWebhookErrorSchema
11293
+ },
11294
+ summary: "Handle JoggAI built-in generation webhooks"
11295
+ }
11296
+ });
11297
+ var sandboxReuseResultSchema = external_exports.enum([
11298
+ "reused",
11299
+ "featureDisabled",
11300
+ "noSessionId",
11301
+ "noReuseKey",
11302
+ "poolMiss",
11303
+ "profileMismatch",
11304
+ "deviceLimitMismatch",
11305
+ "unparkFailed"
11306
+ ]);
11307
+ var agentEventSchema = external_exports.object({
11308
+ type: external_exports.string(),
11309
+ sequenceNumber: eventSequenceNumberSchema
11310
+ }).passthrough();
11311
+ var artifactSnapshotsSchema = external_exports.array(
11312
+ external_exports.object({
11313
+ name: external_exports.string(),
11314
+ version: external_exports.string(),
11315
+ mountPath: external_exports.string(),
11316
+ missingRootPolicy: artifactMissingRootPolicySchema.optional()
11317
+ })
11318
+ );
11319
+ var volumeVersionsSnapshotSchema = external_exports.object({
11320
+ versions: external_exports.record(external_exports.string(), external_exports.string())
11061
11321
  });
11062
- var cliAuthApproveContract = c11.router({
11322
+ var firewallAuthErrorSchema = external_exports.object({
11323
+ error: external_exports.object({
11324
+ message: external_exports.string(),
11325
+ code: external_exports.string(),
11326
+ connectors: external_exports.array(external_exports.string()).optional(),
11327
+ failureReason: external_exports.enum(["upstream_provider", "reconnect_required"]).optional()
11328
+ })
11329
+ });
11330
+ var firewallAwsSigv4AuthSchema = external_exports.object({
11331
+ accessKeyId: external_exports.string().min(1),
11332
+ secretAccessKey: external_exports.string().min(1),
11333
+ sessionToken: external_exports.string().min(1).optional()
11334
+ }).strict();
11335
+ var firewallAuthResponseSchema = external_exports.object({
11336
+ headers: external_exports.record(external_exports.string(), external_exports.string()),
11337
+ base: external_exports.string().optional(),
11338
+ query: external_exports.record(external_exports.string(), external_exports.string()).optional(),
11339
+ awsSigv4: firewallAwsSigv4AuthSchema.optional(),
11340
+ // Effective addon cache expiry as Unix seconds. Access token expiry is the
11341
+ // normal source; billable firewall auth can shorten it to force credit
11342
+ // re-authorization. Null means non-expiring only for non-billable auth.
11343
+ expiresAt: external_exports.number().nullable(),
11344
+ resolvedSecrets: external_exports.array(external_exports.string()),
11345
+ refreshedConnectors: external_exports.array(external_exports.string()),
11346
+ refreshedSecrets: external_exports.array(external_exports.string())
11347
+ });
11348
+ var webhookFirewallAuthContract = c11.router({
11063
11349
  /**
11064
- * POST /api/cli/auth/approve
11065
- * Approve a pending CLI device code from a browser session
11350
+ * POST /api/webhooks/agent/firewall/auth
11351
+ * Resolve firewall auth templates and refresh access tokens on demand.
11066
11352
  */
11067
- approve: {
11353
+ resolve: {
11068
11354
  method: "POST",
11069
- path: "/api/cli/auth/approve",
11355
+ path: "/api/webhooks/agent/firewall/auth",
11070
11356
  headers: authHeadersSchema,
11071
11357
  body: external_exports.object({
11072
- device_code: external_exports.string().min(1, "device_code is required"),
11073
- timezone: external_exports.string().min(1).optional()
11358
+ // Encrypted runtime secret namespace. After decryption, keys are the
11359
+ // `NAME` in `${{ secrets.NAME }}`.
11360
+ encryptedSecrets: external_exports.string().min(1),
11361
+ authHeaders: external_exports.record(external_exports.string(), external_exports.string()),
11362
+ authBase: external_exports.string().optional(),
11363
+ authQuery: external_exports.record(external_exports.string(), external_exports.string()).optional(),
11364
+ authAwsSigv4: firewallAwsSigv4AuthSchema.optional(),
11365
+ // Maps firewall auth secret env aliases (the `NAME` in `${{ secrets.NAME }}`)
11366
+ // to the connector or provider owner that can refresh/resolve access.
11367
+ secretConnectorMap: external_exports.record(external_exports.string(), external_exports.string()).optional(),
11368
+ // Same keys as secretConnectorMap; adds source details when the owner
11369
+ // alone is not enough to locate access storage.
11370
+ secretConnectorMetadataMap: secretConnectorMetadataMapSchema.optional(),
11371
+ vars: external_exports.record(external_exports.string(), external_exports.string()).optional(),
11372
+ // Set by mitm from billableFirewalls. Server uses this only to bound
11373
+ // auth cache lifetime by the current credit authorization lease.
11374
+ firewallBillable: external_exports.boolean().optional(),
11375
+ forceRefresh: external_exports.boolean().optional()
11074
11376
  }),
11075
11377
  responses: {
11076
- 200: external_exports.object({ success: external_exports.literal(true) }),
11077
- 400: cliAuthApproveErrorSchema,
11078
- 401: apiErrorResponseSchema,
11079
- 403: apiErrorResponseSchema
11378
+ 200: firewallAuthResponseSchema,
11379
+ 400: apiErrorSchema,
11380
+ 401: apiErrorSchema,
11381
+ 402: apiErrorSchema,
11382
+ 403: apiErrorSchema,
11383
+ 424: firewallAuthErrorSchema,
11384
+ 502: firewallAuthErrorSchema,
11385
+ 500: apiErrorSchema
11080
11386
  },
11081
- summary: "Approve a CLI device authorization flow"
11387
+ summary: "Resolve firewall auth templates"
11082
11388
  }
11083
11389
  });
11084
-
11085
- // ../../packages/api-contracts/src/contracts/auth.ts
11086
- init_esm_shims();
11087
- var c12 = initContract();
11088
- var authContract = c12.router({
11390
+ var webhookEventsContract = c11.router({
11089
11391
  /**
11090
- * GET /api/auth/me
11091
- * Get current user information
11392
+ * POST /api/webhooks/agent/events
11393
+ * Receive agent events from sandbox
11092
11394
  */
11093
- me: {
11094
- method: "GET",
11095
- path: "/api/auth/me",
11395
+ send: {
11396
+ method: "POST",
11397
+ path: "/api/webhooks/agent/events",
11096
11398
  headers: authHeadersSchema,
11399
+ body: external_exports.object({
11400
+ runId: external_exports.string().min(1, "runId is required"),
11401
+ events: external_exports.array(agentEventSchema).min(1, "events array cannot be empty")
11402
+ }),
11097
11403
  responses: {
11098
11404
  200: external_exports.object({
11099
- userId: external_exports.string(),
11100
- email: external_exports.string()
11405
+ received: external_exports.number(),
11406
+ firstSequence: external_exports.number(),
11407
+ lastSequence: external_exports.number()
11101
11408
  }),
11409
+ 400: apiErrorSchema,
11102
11410
  401: apiErrorSchema,
11103
- 403: apiErrorSchema,
11104
11411
  404: apiErrorSchema,
11105
- 500: apiErrorSchema
11412
+ 500: apiErrorSchema,
11413
+ 503: apiErrorSchema
11106
11414
  },
11107
- summary: "Get current user information"
11415
+ summary: "Receive agent events from sandbox"
11108
11416
  }
11109
11417
  });
11110
-
11111
- // ../../packages/api-contracts/src/contracts/user-export.ts
11112
- init_esm_shims();
11113
- var c13 = initContract();
11114
- var exportJobStatusSchema = external_exports.enum([
11115
- "pending",
11116
- "running",
11117
- "completed",
11118
- "failed"
11119
- ]);
11120
- var userExportJobSchema = external_exports.object({
11121
- id: external_exports.string().uuid(),
11122
- status: exportJobStatusSchema,
11123
- createdAt: external_exports.string(),
11124
- completedAt: external_exports.string().nullable(),
11125
- expiresAt: external_exports.string().nullable(),
11126
- downloadUrl: external_exports.string().url().nullable(),
11127
- error: external_exports.string().nullable()
11128
- });
11129
- var userExportStatusResponseSchema = external_exports.object({
11130
- job: userExportJobSchema.nullable(),
11131
- canExport: external_exports.boolean(),
11132
- nextExportAt: external_exports.string().nullable()
11133
- });
11134
- var userExportStartResponseSchema = external_exports.object({
11135
- jobId: external_exports.string().uuid(),
11136
- status: external_exports.enum(["pending", "running"])
11137
- });
11138
- var userExportContract = c13.router({
11139
- get: {
11140
- method: "GET",
11141
- path: "/api/user/export",
11418
+ var webhookCompleteContract = c11.router({
11419
+ /**
11420
+ * POST /api/webhooks/agent/complete
11421
+ * Handle agent run completion (success or failure)
11422
+ */
11423
+ complete: {
11424
+ method: "POST",
11425
+ path: "/api/webhooks/agent/complete",
11142
11426
  headers: authHeadersSchema,
11427
+ body: external_exports.object({
11428
+ runId: external_exports.string().min(1, "runId is required"),
11429
+ exitCode: external_exports.number(),
11430
+ error: external_exports.string().optional(),
11431
+ lastEventSequence: eventSequenceNumberSchema.optional(),
11432
+ // Sandbox id the run executed against. Optional because a run that fails
11433
+ // before VM creation has no sandbox. Persisted to agent_runs.sandbox_id;
11434
+ // the 255-char cap matches the DB column (defense in depth).
11435
+ sandboxId: external_exports.string().max(255).optional(),
11436
+ // Sandbox reuse outcome. One enum value covers both "reused" and the
11437
+ // non-reuse reasons, because (reused, reason) is a partial function —
11438
+ // encoding it as one field makes inconsistent states unrepresentable.
11439
+ // Optional/nullable for old runners and historical rows.
11440
+ sandboxReuseResult: sandboxReuseResultSchema.optional()
11441
+ }),
11143
11442
  responses: {
11144
- 200: userExportStatusResponseSchema,
11443
+ 200: external_exports.object({
11444
+ success: external_exports.boolean(),
11445
+ status: external_exports.enum(["completed", "failed"])
11446
+ }),
11447
+ 400: apiErrorSchema,
11145
11448
  401: apiErrorSchema,
11146
- 403: apiErrorSchema,
11449
+ 404: apiErrorSchema,
11147
11450
  500: apiErrorSchema
11148
11451
  },
11149
- summary: "Get current user export status"
11150
- },
11151
- post: {
11452
+ summary: "Handle agent run completion"
11453
+ }
11454
+ });
11455
+ var webhookCheckpointsContract = c11.router({
11456
+ /**
11457
+ * POST /api/webhooks/agent/checkpoints
11458
+ * Create a recoverable checkpoint for an agent run.
11459
+ */
11460
+ create: {
11152
11461
  method: "POST",
11153
- path: "/api/user/export",
11462
+ path: "/api/webhooks/agent/checkpoints",
11154
11463
  headers: authHeadersSchema,
11155
- body: external_exports.undefined(),
11464
+ body: external_exports.object({
11465
+ runId: external_exports.string().min(1, "runId is required"),
11466
+ cliAgentType: external_exports.string().min(1, "cliAgentType is required"),
11467
+ cliAgentSessionId: external_exports.string().min(1, "cliAgentSessionId is required"),
11468
+ cliAgentSessionHistoryHash: sha256HexSchema,
11469
+ // Multi-artifact snapshots are folded into canonical checkpoint mounts
11470
+ // and projected back into the legacy response shape.
11471
+ artifactSnapshots: artifactSnapshotsSchema.optional(),
11472
+ volumeVersionsSnapshot: volumeVersionsSnapshotSchema.optional()
11473
+ }).strict(),
11156
11474
  responses: {
11157
- 202: userExportStartResponseSchema,
11475
+ 200: external_exports.object({
11476
+ checkpointId: external_exports.string(),
11477
+ agentSessionId: external_exports.string(),
11478
+ conversationId: external_exports.string(),
11479
+ artifacts: artifactSnapshotsSchema.optional(),
11480
+ volumes: external_exports.record(external_exports.string(), external_exports.string()).optional()
11481
+ }),
11482
+ 400: apiErrorSchema,
11158
11483
  401: apiErrorSchema,
11159
- 403: apiErrorSchema,
11160
- 429: apiErrorSchema,
11484
+ 404: apiErrorSchema,
11161
11485
  500: apiErrorSchema
11162
11486
  },
11163
- summary: "Start a user data export"
11487
+ summary: "Create checkpoint for agent run"
11488
+ }
11489
+ });
11490
+ var webhookCheckpointsPrepareHistoryContract = c11.router({
11491
+ prepare: {
11492
+ method: "POST",
11493
+ path: "/api/webhooks/agent/checkpoints/prepare-history",
11494
+ headers: authHeadersSchema,
11495
+ body: external_exports.object({
11496
+ runId: external_exports.string().min(1, "runId is required"),
11497
+ hash: sha256HexSchema,
11498
+ rawSize: external_exports.number().int().positive("rawSize must be a positive integer").max(RESUME_SESSION_HISTORY_MAX_BYTES),
11499
+ encodedSize: external_exports.number().int().positive("encodedSize must be a positive integer").max(RESUME_SESSION_HISTORY_MAX_BYTES),
11500
+ encoding: sessionHistoryEncodingSchema.optional()
11501
+ }),
11502
+ responses: {
11503
+ 200: external_exports.object({
11504
+ presignedUrl: external_exports.string().optional(),
11505
+ existing: external_exports.boolean(),
11506
+ encoding: sessionHistoryEncodingSchema.optional()
11507
+ }),
11508
+ 400: apiErrorSchema,
11509
+ 401: apiErrorSchema,
11510
+ 404: apiErrorSchema,
11511
+ 500: apiErrorSchema
11512
+ },
11513
+ summary: "Get presigned URL for uploading session history to S3"
11514
+ }
11515
+ });
11516
+ var webhookHeartbeatContract = c11.router({
11517
+ /**
11518
+ * POST /api/webhooks/agent/heartbeat
11519
+ * Receive heartbeat signals from sandbox
11520
+ */
11521
+ send: {
11522
+ method: "POST",
11523
+ path: "/api/webhooks/agent/heartbeat",
11524
+ headers: authHeadersSchema,
11525
+ body: external_exports.object({
11526
+ runId: external_exports.string().min(1, "runId is required")
11527
+ }),
11528
+ responses: {
11529
+ 200: external_exports.object({
11530
+ ok: external_exports.boolean()
11531
+ }),
11532
+ 400: apiErrorSchema,
11533
+ 401: apiErrorSchema,
11534
+ 404: apiErrorSchema,
11535
+ 500: apiErrorSchema
11536
+ },
11537
+ summary: "Receive heartbeat from sandbox"
11538
+ }
11539
+ });
11540
+ var metricDataSchema = external_exports.object({
11541
+ ts: external_exports.string(),
11542
+ cpu: external_exports.number(),
11543
+ mem_used: external_exports.number(),
11544
+ mem_total: external_exports.number(),
11545
+ disk_used: external_exports.number(),
11546
+ disk_total: external_exports.number()
11547
+ });
11548
+ var sessionHistoryCompressionRatioBucketSchema = external_exports.enum([
11549
+ "identity",
11550
+ "lt_0_25",
11551
+ "0_25_0_5",
11552
+ "0_5_0_75",
11553
+ "0_75_1",
11554
+ "ge_1"
11555
+ ]);
11556
+ var booleanStringSchema = external_exports.enum(["true", "false"]);
11557
+ var sessionHistoryContentLengthStateSchema = external_exports.enum([
11558
+ "absent",
11559
+ "matches_expected",
11560
+ "mismatches_expected",
11561
+ "present_without_expected",
11562
+ "oversized"
11563
+ ]);
11564
+ var sessionHistoryContentEncodingStateSchema = external_exports.enum([
11565
+ "absent",
11566
+ "gzip",
11567
+ "zstd",
11568
+ "other"
11569
+ ]);
11570
+ var sessionHistoryTransferEncodingStateSchema = external_exports.enum([
11571
+ "absent",
11572
+ "chunked",
11573
+ "other"
11574
+ ]);
11575
+ var sandboxOperationDownloadSourceSchema = external_exports.preprocess((value) => {
11576
+ const parsed = sessionHistoryDownloadSourceSchema.safeParse(value);
11577
+ if (parsed.success) {
11578
+ return parsed.data;
11579
+ }
11580
+ if (typeof value === "string") {
11581
+ return void 0;
11582
+ }
11583
+ return value;
11584
+ }, sessionHistoryDownloadSourceSchema.optional()).optional();
11585
+ var sandboxOperationSchema = external_exports.object({
11586
+ ts: external_exports.string(),
11587
+ action_type: external_exports.string(),
11588
+ duration_ms: external_exports.number(),
11589
+ success: external_exports.boolean(),
11590
+ error: external_exports.string().optional(),
11591
+ encoding: sessionHistoryEncodingSchema.optional(),
11592
+ session_history_raw_size_bucket: sessionHistorySizeBucketSchema.optional(),
11593
+ session_history_encoded_size_bucket: sessionHistorySizeBucketSchema.optional(),
11594
+ session_history_compression_ratio_bucket: sessionHistoryCompressionRatioBucketSchema.optional(),
11595
+ session_history_ref_seen_recently: booleanStringSchema.optional(),
11596
+ session_history_ref_download_inflight: booleanStringSchema.optional(),
11597
+ session_history_content_length_state: sessionHistoryContentLengthStateSchema.optional(),
11598
+ session_history_content_encoding_state: sessionHistoryContentEncodingStateSchema.optional(),
11599
+ session_history_transfer_encoding_state: sessionHistoryTransferEncodingStateSchema.optional(),
11600
+ session_history_download_source: sandboxOperationDownloadSourceSchema
11601
+ });
11602
+ var webhookTelemetryContract = c11.router({
11603
+ /**
11604
+ * POST /api/webhooks/agent/telemetry
11605
+ * Receive telemetry data (system log, metrics, network logs, and sandbox operations) from sandbox
11606
+ */
11607
+ send: {
11608
+ method: "POST",
11609
+ path: "/api/webhooks/agent/telemetry",
11610
+ headers: authHeadersSchema,
11611
+ body: external_exports.object({
11612
+ runId: external_exports.string().min(1, "runId is required"),
11613
+ systemLog: external_exports.string().optional(),
11614
+ metrics: external_exports.array(metricDataSchema).optional(),
11615
+ networkLogs: external_exports.array(networkLogEntrySchema).optional(),
11616
+ sandboxOperations: external_exports.array(sandboxOperationSchema).optional()
11617
+ }),
11618
+ responses: {
11619
+ 200: external_exports.object({
11620
+ success: external_exports.boolean(),
11621
+ id: external_exports.string()
11622
+ }),
11623
+ 400: apiErrorSchema,
11624
+ 401: apiErrorSchema,
11625
+ 404: apiErrorSchema,
11626
+ 500: apiErrorSchema
11627
+ },
11628
+ summary: "Receive telemetry data from sandbox"
11629
+ }
11630
+ });
11631
+ var webhookStoragesPrepareContract = c11.router({
11632
+ prepare: {
11633
+ method: "POST",
11634
+ path: "/api/webhooks/agent/storages/prepare",
11635
+ headers: authHeadersSchema,
11636
+ body: external_exports.object({
11637
+ runId: external_exports.string().min(1, "runId is required"),
11638
+ // Required for webhook auth
11639
+ /**
11640
+ * Canonical Storage identity authorized against the run's writeback
11641
+ * mounts.
11642
+ */
11643
+ storageId: external_exports.string().uuid(),
11644
+ files: storageManifestFilesSchema,
11645
+ parentVersionId: external_exports.string().optional(),
11646
+ force: external_exports.boolean().optional(),
11647
+ baseVersion: external_exports.string().optional(),
11648
+ changes: storageChangesSchema.optional()
11649
+ }),
11650
+ responses: {
11651
+ 200: external_exports.object({
11652
+ versionId: external_exports.string(),
11653
+ existing: external_exports.boolean(),
11654
+ uploads: external_exports.object({
11655
+ archive: presignedUploadSchema,
11656
+ manifest: presignedUploadSchema
11657
+ }).optional()
11658
+ }),
11659
+ 400: apiErrorSchema,
11660
+ 401: apiErrorSchema,
11661
+ 404: apiErrorSchema,
11662
+ 413: apiErrorSchema,
11663
+ 500: apiErrorSchema
11664
+ },
11665
+ summary: "Prepare for direct S3 upload from sandbox"
11666
+ }
11667
+ });
11668
+ var webhookStoragesCommitContract = c11.router({
11669
+ commit: {
11670
+ method: "POST",
11671
+ path: "/api/webhooks/agent/storages/commit",
11672
+ headers: authHeadersSchema,
11673
+ body: external_exports.object({
11674
+ runId: external_exports.string().min(1, "runId is required"),
11675
+ // Required for webhook auth
11676
+ /**
11677
+ * Canonical Storage identity authorized against the run's writeback
11678
+ * mounts.
11679
+ */
11680
+ storageId: external_exports.string().uuid(),
11681
+ versionId: external_exports.string().min(1, "Version ID is required"),
11682
+ parentVersionId: external_exports.string().optional(),
11683
+ files: storageManifestFilesSchema,
11684
+ message: external_exports.string().optional()
11685
+ }),
11686
+ responses: {
11687
+ 200: external_exports.object({
11688
+ success: external_exports.literal(true),
11689
+ versionId: external_exports.string(),
11690
+ storageName: external_exports.string(),
11691
+ size: external_exports.number(),
11692
+ fileCount: external_exports.number(),
11693
+ deduplicated: external_exports.boolean().optional()
11694
+ }),
11695
+ 400: apiErrorSchema,
11696
+ 401: apiErrorSchema,
11697
+ 404: apiErrorSchema,
11698
+ 409: apiErrorSchema,
11699
+ // S3 files missing
11700
+ 413: apiErrorSchema,
11701
+ 500: apiErrorSchema
11702
+ },
11703
+ summary: "Commit uploaded storage from sandbox"
11704
+ }
11705
+ });
11706
+ var webhookUsageEventItemSchema = external_exports.object({
11707
+ idempotencyKey: external_exports.uuid(),
11708
+ kind: external_exports.enum(["connector", "model", "image"]),
11709
+ provider: external_exports.string().min(1).max(100),
11710
+ category: external_exports.string().min(1).max(100),
11711
+ quantity: external_exports.number().int().min(0)
11712
+ }).strict();
11713
+ var webhookUsageEventContract = c11.router({
11714
+ send: {
11715
+ method: "POST",
11716
+ path: "/api/webhooks/agent/usage-event",
11717
+ headers: authHeadersSchema,
11718
+ body: external_exports.object({
11719
+ runId: external_exports.string().min(1, "runId is required"),
11720
+ events: external_exports.array(webhookUsageEventItemSchema).min(1).max(100)
11721
+ }).strict(),
11722
+ responses: {
11723
+ 200: external_exports.object({
11724
+ success: external_exports.boolean()
11725
+ }),
11726
+ 400: apiErrorSchema,
11727
+ 401: apiErrorSchema,
11728
+ 404: apiErrorSchema,
11729
+ 500: apiErrorSchema
11730
+ },
11731
+ summary: "Receive billing usage event data from sandbox"
11732
+ }
11733
+ });
11734
+ var webhookModelUsageObservationItemSchema = external_exports.object({
11735
+ idempotencyKey: external_exports.uuid(),
11736
+ model: external_exports.string().min(1).max(255),
11737
+ inputTokens: external_exports.number().int().min(0).max(Number.MAX_SAFE_INTEGER),
11738
+ outputTokens: external_exports.number().int().min(0).max(Number.MAX_SAFE_INTEGER),
11739
+ cacheReadInputTokens: external_exports.number().int().min(0).max(Number.MAX_SAFE_INTEGER),
11740
+ cacheCreationInputTokens: external_exports.number().int().min(0).max(Number.MAX_SAFE_INTEGER)
11741
+ }).strict().refine(
11742
+ (event) => {
11743
+ return event.inputTokens > 0 || event.outputTokens > 0 || event.cacheReadInputTokens > 0 || event.cacheCreationInputTokens > 0;
11744
+ },
11745
+ { message: "At least one token counter must be positive" }
11746
+ );
11747
+ var webhookModelUsageObservationBodySchema = external_exports.object({
11748
+ runId: external_exports.string().min(1, "runId is required"),
11749
+ events: external_exports.array(webhookModelUsageObservationItemSchema).min(1).max(100)
11750
+ }).strict().superRefine((body, ctx) => {
11751
+ const idempotencyKeys = /* @__PURE__ */ new Set();
11752
+ body.events.forEach((event, index) => {
11753
+ if (idempotencyKeys.has(event.idempotencyKey)) {
11754
+ ctx.addIssue({
11755
+ code: "custom",
11756
+ path: ["events", index, "idempotencyKey"],
11757
+ message: "Idempotency keys must be unique within a request"
11758
+ });
11759
+ }
11760
+ idempotencyKeys.add(event.idempotencyKey);
11761
+ });
11762
+ });
11763
+ var webhookModelUsageObservationContract = c11.router({
11764
+ send: {
11765
+ method: "POST",
11766
+ path: "/api/webhooks/agent/model-usage-observation",
11767
+ headers: authHeadersSchema,
11768
+ body: webhookModelUsageObservationBodySchema,
11769
+ responses: {
11770
+ 200: external_exports.object({
11771
+ success: external_exports.boolean()
11772
+ }),
11773
+ 400: apiErrorSchema,
11774
+ 401: apiErrorSchema,
11775
+ 404: apiErrorSchema,
11776
+ 500: apiErrorSchema
11777
+ },
11778
+ summary: "Receive compact model usage observation data from sandbox"
11164
11779
  }
11165
11780
  });
11166
11781
 
11167
- // ../../packages/api-contracts/src/contracts/email-unsubscribe.ts
11782
+ // ../../packages/api-contracts/src/contracts/cli-auth.ts
11783
+ init_esm_shims();
11784
+ var c12 = initContract();
11785
+ var oauthErrorSchema = external_exports.object({
11786
+ error: external_exports.string(),
11787
+ error_description: external_exports.string()
11788
+ });
11789
+ var cliAuthDeviceContract = c12.router({
11790
+ /**
11791
+ * POST /api/cli/auth/device
11792
+ * Initiate device authorization flow
11793
+ */
11794
+ create: {
11795
+ method: "POST",
11796
+ path: "/api/cli/auth/device",
11797
+ body: external_exports.object({}).optional(),
11798
+ responses: {
11799
+ 200: external_exports.object({
11800
+ device_code: external_exports.string(),
11801
+ user_code: external_exports.string(),
11802
+ verification_path: external_exports.string(),
11803
+ expires_in: external_exports.number(),
11804
+ interval: external_exports.number()
11805
+ }),
11806
+ 500: oauthErrorSchema
11807
+ },
11808
+ summary: "Initiate device authorization flow"
11809
+ }
11810
+ });
11811
+ var cliAuthTokenContract = c12.router({
11812
+ /**
11813
+ * POST /api/cli/auth/token
11814
+ * Exchange device code for access token
11815
+ */
11816
+ exchange: {
11817
+ method: "POST",
11818
+ path: "/api/cli/auth/token",
11819
+ body: external_exports.object({
11820
+ device_code: external_exports.string().min(1, "device_code is required")
11821
+ }),
11822
+ responses: {
11823
+ // Success - token issued
11824
+ 200: external_exports.object({
11825
+ access_token: external_exports.string(),
11826
+ token_type: external_exports.literal("Bearer"),
11827
+ expires_in: external_exports.number()
11828
+ }),
11829
+ // Authorization pending
11830
+ 202: oauthErrorSchema,
11831
+ // Various error states
11832
+ 400: oauthErrorSchema,
11833
+ 500: oauthErrorSchema
11834
+ },
11835
+ summary: "Exchange device code for access token"
11836
+ }
11837
+ });
11838
+ var apiErrorResponseSchema = external_exports.object({
11839
+ error: external_exports.object({ message: external_exports.string(), code: external_exports.string() })
11840
+ });
11841
+ var cliAuthApproveErrorSchema = external_exports.object({
11842
+ success: external_exports.literal(false),
11843
+ error: external_exports.string()
11844
+ });
11845
+ var cliAuthApproveContract = c12.router({
11846
+ /**
11847
+ * POST /api/cli/auth/approve
11848
+ * Approve a pending CLI device code from a browser session
11849
+ */
11850
+ approve: {
11851
+ method: "POST",
11852
+ path: "/api/cli/auth/approve",
11853
+ headers: authHeadersSchema,
11854
+ body: external_exports.object({
11855
+ device_code: external_exports.string().min(1, "device_code is required"),
11856
+ timezone: external_exports.string().min(1).optional()
11857
+ }),
11858
+ responses: {
11859
+ 200: external_exports.object({ success: external_exports.literal(true) }),
11860
+ 400: cliAuthApproveErrorSchema,
11861
+ 401: apiErrorResponseSchema,
11862
+ 403: apiErrorResponseSchema
11863
+ },
11864
+ summary: "Approve a CLI device authorization flow"
11865
+ }
11866
+ });
11867
+
11868
+ // ../../packages/api-contracts/src/contracts/auth.ts
11869
+ init_esm_shims();
11870
+ var c13 = initContract();
11871
+ var authContract = c13.router({
11872
+ /**
11873
+ * GET /api/auth/me
11874
+ * Get current user information
11875
+ */
11876
+ me: {
11877
+ method: "GET",
11878
+ path: "/api/auth/me",
11879
+ headers: authHeadersSchema,
11880
+ responses: {
11881
+ 200: external_exports.object({
11882
+ userId: external_exports.string(),
11883
+ email: external_exports.string()
11884
+ }),
11885
+ 401: apiErrorSchema,
11886
+ 403: apiErrorSchema,
11887
+ 404: apiErrorSchema,
11888
+ 500: apiErrorSchema
11889
+ },
11890
+ summary: "Get current user information"
11891
+ }
11892
+ });
11893
+
11894
+ // ../../packages/api-contracts/src/contracts/user-export.ts
11168
11895
  init_esm_shims();
11169
11896
  var c14 = initContract();
11897
+ var exportJobStatusSchema = external_exports.enum([
11898
+ "pending",
11899
+ "running",
11900
+ "completed",
11901
+ "failed"
11902
+ ]);
11903
+ var userExportJobSchema = external_exports.object({
11904
+ id: external_exports.string().uuid(),
11905
+ status: exportJobStatusSchema,
11906
+ createdAt: external_exports.string(),
11907
+ completedAt: external_exports.string().nullable(),
11908
+ expiresAt: external_exports.string().nullable(),
11909
+ downloadUrl: external_exports.string().url().nullable(),
11910
+ error: external_exports.string().nullable()
11911
+ });
11912
+ var userExportStatusResponseSchema = external_exports.object({
11913
+ job: userExportJobSchema.nullable(),
11914
+ canExport: external_exports.boolean(),
11915
+ nextExportAt: external_exports.string().nullable()
11916
+ });
11917
+ var userExportStartResponseSchema = external_exports.object({
11918
+ jobId: external_exports.string().uuid(),
11919
+ status: external_exports.enum(["pending", "running"])
11920
+ });
11921
+ var userExportContract = c14.router({
11922
+ get: {
11923
+ method: "GET",
11924
+ path: "/api/user/export",
11925
+ headers: authHeadersSchema,
11926
+ responses: {
11927
+ 200: userExportStatusResponseSchema,
11928
+ 401: apiErrorSchema,
11929
+ 403: apiErrorSchema,
11930
+ 500: apiErrorSchema
11931
+ },
11932
+ summary: "Get current user export status"
11933
+ },
11934
+ post: {
11935
+ method: "POST",
11936
+ path: "/api/user/export",
11937
+ headers: authHeadersSchema,
11938
+ body: external_exports.undefined(),
11939
+ responses: {
11940
+ 202: userExportStartResponseSchema,
11941
+ 401: apiErrorSchema,
11942
+ 403: apiErrorSchema,
11943
+ 429: apiErrorSchema,
11944
+ 500: apiErrorSchema
11945
+ },
11946
+ summary: "Start a user data export"
11947
+ }
11948
+ });
11949
+
11950
+ // ../../packages/api-contracts/src/contracts/email-unsubscribe.ts
11951
+ init_esm_shims();
11952
+ var c15 = initContract();
11170
11953
  var emailUnsubscribeQuerySchema = external_exports.object({
11171
11954
  token: external_exports.string().optional()
11172
11955
  });
@@ -11176,13 +11959,13 @@ var emailUnsubscribeResponseSchema = external_exports.object({
11176
11959
  var emailUnsubscribeErrorSchema = external_exports.object({
11177
11960
  error: external_exports.string()
11178
11961
  });
11179
- var emailUnsubscribeContract = c14.router({
11962
+ var emailUnsubscribeContract = c15.router({
11180
11963
  get: {
11181
11964
  method: "GET",
11182
11965
  path: "/api/email/unsubscribe",
11183
11966
  query: emailUnsubscribeQuerySchema,
11184
11967
  responses: {
11185
- 302: c14.noBody(),
11968
+ 302: c15.noBody(),
11186
11969
  400: emailUnsubscribeErrorSchema
11187
11970
  },
11188
11971
  summary: "Redirect to the app unsubscribe page"
@@ -11202,13 +11985,13 @@ var emailUnsubscribeContract = c14.router({
11202
11985
 
11203
11986
  // ../../packages/api-contracts/src/contracts/zero-morning-brief.ts
11204
11987
  init_esm_shims();
11205
- var c15 = initContract();
11988
+ var c16 = initContract();
11206
11989
  var triggerMorningBriefResponseSchema = external_exports.object({
11207
11990
  runId: external_exports.string().nullable(),
11208
11991
  briefDate: external_exports.string(),
11209
11992
  queued: external_exports.boolean()
11210
11993
  });
11211
- var zeroMorningBriefContract = c15.router({
11994
+ var zeroMorningBriefContract = c16.router({
11212
11995
  trigger: {
11213
11996
  method: "POST",
11214
11997
  path: "/api/zero/morning-brief/trigger",
@@ -11227,7 +12010,7 @@ var zeroMorningBriefContract = c15.router({
11227
12010
 
11228
12011
  // ../../packages/api-contracts/src/contracts/email-morning-brief-unsubscribe.ts
11229
12012
  init_esm_shims();
11230
- var c16 = initContract();
12013
+ var c17 = initContract();
11231
12014
  var emailMorningBriefUnsubscribeQuerySchema = external_exports.object({
11232
12015
  token: external_exports.string().optional()
11233
12016
  });
@@ -11237,7 +12020,7 @@ var emailMorningBriefUnsubscribeResponseSchema = external_exports.object({
11237
12020
  var emailMorningBriefUnsubscribeErrorSchema = external_exports.object({
11238
12021
  error: external_exports.string()
11239
12022
  });
11240
- var emailMorningBriefUnsubscribeContract = c16.router({
12023
+ var emailMorningBriefUnsubscribeContract = c17.router({
11241
12024
  unsubscribe: {
11242
12025
  method: "POST",
11243
12026
  path: "/api/email/morning-brief/unsubscribe",
@@ -11253,7 +12036,7 @@ var emailMorningBriefUnsubscribeContract = c16.router({
11253
12036
 
11254
12037
  // ../../packages/api-contracts/src/contracts/test-oauth-provider-authorize.ts
11255
12038
  init_esm_shims();
11256
- var c17 = initContract();
12039
+ var c18 = initContract();
11257
12040
  var testOAuthProviderAuthorizeErrorSchema = external_exports.object({
11258
12041
  error: external_exports.string()
11259
12042
  });
@@ -11265,13 +12048,13 @@ var testOAuthProviderAuthorizeQuerySchema = external_exports.object({
11265
12048
  scope: external_exports.string().optional(),
11266
12049
  state: external_exports.string().optional()
11267
12050
  });
11268
- var testOAuthProviderAuthorizeContract = c17.router({
12051
+ var testOAuthProviderAuthorizeContract = c18.router({
11269
12052
  authorize: {
11270
12053
  method: "GET",
11271
12054
  path: "/api/test/oauth-provider/authorize",
11272
12055
  query: testOAuthProviderAuthorizeQuerySchema,
11273
12056
  responses: {
11274
- 302: c17.noBody(),
12057
+ 302: c18.noBody(),
11275
12058
  400: testOAuthProviderAuthorizeErrorSchema,
11276
12059
  404: external_exports.string()
11277
12060
  },
@@ -11281,7 +12064,7 @@ var testOAuthProviderAuthorizeContract = c17.router({
11281
12064
 
11282
12065
  // ../../packages/api-contracts/src/contracts/test-oauth-provider-echo.ts
11283
12066
  init_esm_shims();
11284
- var c18 = initContract();
12067
+ var c19 = initContract();
11285
12068
  var testOAuthProviderEchoErrorSchema = external_exports.object({
11286
12069
  error: external_exports.string()
11287
12070
  });
@@ -11289,7 +12072,7 @@ var testOAuthProviderEchoResponseSchema = external_exports.object({
11289
12072
  authorization: external_exports.string(),
11290
12073
  receivedAt: external_exports.string()
11291
12074
  });
11292
- var testOAuthProviderEchoContract = c18.router({
12075
+ var testOAuthProviderEchoContract = c19.router({
11293
12076
  echo: {
11294
12077
  method: "GET",
11295
12078
  path: "/api/test/oauth-provider/echo",
@@ -11304,7 +12087,7 @@ var testOAuthProviderEchoContract = c18.router({
11304
12087
 
11305
12088
  // ../../packages/api-contracts/src/contracts/test-oauth-provider-token.ts
11306
12089
  init_esm_shims();
11307
- var c19 = initContract();
12090
+ var c20 = initContract();
11308
12091
  var testOAuthProviderTokenErrorSchema = external_exports.object({
11309
12092
  error: external_exports.string(),
11310
12093
  error_description: external_exports.string().optional()
@@ -11316,11 +12099,11 @@ var testOAuthProviderTokenResponseSchema = external_exports.object({
11316
12099
  expires_in: external_exports.number(),
11317
12100
  scope: external_exports.string()
11318
12101
  });
11319
- var testOAuthProviderTokenContract = c19.router({
12102
+ var testOAuthProviderTokenContract = c20.router({
11320
12103
  token: {
11321
12104
  method: "POST",
11322
12105
  path: "/api/test/oauth-provider/token",
11323
- body: c19.type(),
12106
+ body: c20.type(),
11324
12107
  responses: {
11325
12108
  200: testOAuthProviderTokenResponseSchema,
11326
12109
  400: testOAuthProviderTokenErrorSchema,
@@ -11333,7 +12116,7 @@ var testOAuthProviderTokenContract = c19.router({
11333
12116
 
11334
12117
  // ../../packages/api-contracts/src/contracts/test-oauth-provider-device-auth.ts
11335
12118
  init_esm_shims();
11336
- var c20 = initContract();
12119
+ var c21 = initContract();
11337
12120
  var testOAuthProviderDeviceAuthErrorSchema = external_exports.object({
11338
12121
  error: external_exports.string(),
11339
12122
  error_description: external_exports.string().optional()
@@ -11346,11 +12129,11 @@ var testOAuthProviderDeviceAuthResponseSchema = external_exports.object({
11346
12129
  expires_in: external_exports.number(),
11347
12130
  interval: external_exports.number()
11348
12131
  });
11349
- var testOAuthProviderDeviceAuthContract = c20.router({
12132
+ var testOAuthProviderDeviceAuthContract = c21.router({
11350
12133
  deviceAuth: {
11351
12134
  method: "POST",
11352
12135
  path: "/api/test/oauth-provider/device/code",
11353
- body: c20.type(),
12136
+ body: c21.type(),
11354
12137
  responses: {
11355
12138
  200: testOAuthProviderDeviceAuthResponseSchema,
11356
12139
  400: testOAuthProviderDeviceAuthErrorSchema,
@@ -11363,7 +12146,7 @@ var testOAuthProviderDeviceAuthContract = c20.router({
11363
12146
 
11364
12147
  // ../../packages/api-contracts/src/contracts/test-oauth-provider-userinfo.ts
11365
12148
  init_esm_shims();
11366
- var c21 = initContract();
12149
+ var c22 = initContract();
11367
12150
  var testOAuthProviderUserinfoErrorSchema = external_exports.object({
11368
12151
  error: external_exports.string()
11369
12152
  });
@@ -11372,7 +12155,7 @@ var testOAuthProviderUserinfoResponseSchema = external_exports.object({
11372
12155
  id: external_exports.string(),
11373
12156
  username: external_exports.string()
11374
12157
  });
11375
- var testOAuthProviderUserinfoContract = c21.router({
12158
+ var testOAuthProviderUserinfoContract = c22.router({
11376
12159
  userinfo: {
11377
12160
  method: "GET",
11378
12161
  path: "/api/test/oauth-provider/userinfo",
@@ -11387,7 +12170,7 @@ var testOAuthProviderUserinfoContract = c21.router({
11387
12170
 
11388
12171
  // ../../packages/api-contracts/src/contracts/test-computer-use-state.ts
11389
12172
  init_esm_shims();
11390
- var c22 = initContract();
12173
+ var c23 = initContract();
11391
12174
  var testComputerUseStateErrorSchema = external_exports.object({
11392
12175
  error: external_exports.string()
11393
12176
  });
@@ -11411,7 +12194,7 @@ var testComputerUseStateGetResponseSchema = external_exports.object({
11411
12194
  var testComputerUseStateDeleteResponseSchema = external_exports.object({
11412
12195
  ok: external_exports.literal(true)
11413
12196
  });
11414
- var testComputerUseStateContract = c22.router({
12197
+ var testComputerUseStateContract = c23.router({
11415
12198
  post: {
11416
12199
  method: "POST",
11417
12200
  path: "/api/test/computer-use-state",
@@ -11453,7 +12236,7 @@ var testComputerUseStateContract = c22.router({
11453
12236
 
11454
12237
  // ../../packages/api-contracts/src/contracts/test-runtime-state.ts
11455
12238
  init_esm_shims();
11456
- var c23 = initContract();
12239
+ var c24 = initContract();
11457
12240
  var testRuntimeStateErrorSchema = external_exports.object({
11458
12241
  error: external_exports.string()
11459
12242
  });
@@ -11664,7 +12447,7 @@ var testRuntimeStateActionResponseSchema = external_exports.object({
11664
12447
  heartbeat_generation: external_exports.number().int().positive().max(Number.MAX_SAFE_INTEGER).nullable()
11665
12448
  }).optional()
11666
12449
  });
11667
- var testRuntimeStateContract = c23.router({
12450
+ var testRuntimeStateContract = c24.router({
11668
12451
  action: {
11669
12452
  method: "POST",
11670
12453
  path: "/api/test/runtime-state/action",
@@ -11680,7 +12463,7 @@ var testRuntimeStateContract = c23.router({
11680
12463
 
11681
12464
  // ../../packages/api-contracts/src/contracts/test-zero-agent-state.ts
11682
12465
  init_esm_shims();
11683
- var c24 = initContract();
12466
+ var c25 = initContract();
11684
12467
  var testZeroAgentStateErrorSchema = external_exports.object({
11685
12468
  error: external_exports.string()
11686
12469
  });
@@ -11702,7 +12485,7 @@ var testZeroAgentStateActionBodySchema = external_exports.discriminatedUnion(
11702
12485
  var testZeroAgentStateActionResponseSchema = external_exports.object({
11703
12486
  ok: external_exports.literal(true)
11704
12487
  });
11705
- var testZeroAgentStateContract = c24.router({
12488
+ var testZeroAgentStateContract = c25.router({
11706
12489
  action: {
11707
12490
  method: "POST",
11708
12491
  path: "/api/test/zero-agent-state/action",
@@ -11718,7 +12501,7 @@ var testZeroAgentStateContract = c24.router({
11718
12501
 
11719
12502
  // ../../packages/api-contracts/src/contracts/test-model-provider-state.ts
11720
12503
  init_esm_shims();
11721
- var c25 = initContract();
12504
+ var c26 = initContract();
11722
12505
  var testModelProviderStateErrorSchema = external_exports.object({
11723
12506
  error: external_exports.string()
11724
12507
  });
@@ -11736,7 +12519,7 @@ var testModelProviderStateActionBodySchema = external_exports.discriminatedUnion
11736
12519
  var testModelProviderStateActionResponseSchema = external_exports.object({
11737
12520
  ok: external_exports.literal(true)
11738
12521
  });
11739
- var testModelProviderStateContract = c25.router({
12522
+ var testModelProviderStateContract = c26.router({
11740
12523
  action: {
11741
12524
  method: "POST",
11742
12525
  path: "/api/test/model-provider-state/action",
@@ -11752,8 +12535,8 @@ var testModelProviderStateContract = c25.router({
11752
12535
 
11753
12536
  // ../../packages/api-contracts/src/contracts/test-mail-draft-state.ts
11754
12537
  init_esm_shims();
11755
- var c26 = initContract();
11756
- var testMailDraftStateContract = c26.router({
12538
+ var c27 = initContract();
12539
+ var testMailDraftStateContract = c27.router({
11757
12540
  get: {
11758
12541
  method: "GET",
11759
12542
  path: "/api/test/mail-draft-state/:mailDraftId",
@@ -11768,7 +12551,7 @@ var testMailDraftStateContract = c26.router({
11768
12551
 
11769
12552
  // ../../packages/api-contracts/src/contracts/test-usage-insight-state.ts
11770
12553
  init_esm_shims();
11771
- var c27 = initContract();
12554
+ var c28 = initContract();
11772
12555
  var nullableDateStringSchema = external_exports.string().nullable();
11773
12556
  var optionalDateStringSchema = external_exports.string().optional();
11774
12557
  var testUsageInsightStateErrorSchema = external_exports.object({
@@ -11931,7 +12714,7 @@ var testUsageInsightStateActionResponseSchema = external_exports.object({
11931
12714
  allocation_count: external_exports.number().optional(),
11932
12715
  insights_daily_permissions: external_exports.array(external_exports.record(external_exports.string(), external_exports.unknown())).optional()
11933
12716
  });
11934
- var testUsageInsightStateContract = c27.router({
12717
+ var testUsageInsightStateContract = c28.router({
11935
12718
  action: {
11936
12719
  method: "POST",
11937
12720
  path: "/api/test/usage-insight-state/action",
@@ -11947,14 +12730,14 @@ var testUsageInsightStateContract = c27.router({
11947
12730
 
11948
12731
  // ../../packages/api-contracts/src/contracts/test-usage-settlement.ts
11949
12732
  init_esm_shims();
11950
- var c28 = initContract();
12733
+ var c29 = initContract();
11951
12734
  var testUsageSettlementRequestSchema = external_exports.object({
11952
12735
  org_id: external_exports.string().min(1)
11953
12736
  });
11954
12737
  var testUsageSettlementResponseSchema = external_exports.object({
11955
12738
  ok: external_exports.literal(true)
11956
12739
  });
11957
- var testUsageSettlementContract = c28.router({
12740
+ var testUsageSettlementContract = c29.router({
11958
12741
  process: {
11959
12742
  method: "POST",
11960
12743
  path: "/api/test/usage-settlement/process",
@@ -11970,7 +12753,7 @@ var testUsageSettlementContract = c28.router({
11970
12753
 
11971
12754
  // ../../packages/api-contracts/src/contracts/test-cron-cleanup-sandboxes-state.ts
11972
12755
  init_esm_shims();
11973
- var c29 = initContract();
12756
+ var c30 = initContract();
11974
12757
  var testCronCleanupSandboxesStateActionBodySchema = external_exports.object({
11975
12758
  action: external_exports.enum([
11976
12759
  "seed-run",
@@ -12000,7 +12783,7 @@ var testCronCleanupSandboxesStateActionResponseSchema = external_exports.object(
12000
12783
  var testCronCleanupSandboxesStateErrorSchema = external_exports.object({
12001
12784
  error: external_exports.string()
12002
12785
  });
12003
- var testCronCleanupSandboxesStateContract = c29.router({
12786
+ var testCronCleanupSandboxesStateContract = c30.router({
12004
12787
  action: {
12005
12788
  method: "POST",
12006
12789
  path: "/api/test/cron-cleanup-sandboxes-state/action",
@@ -12016,7 +12799,7 @@ var testCronCleanupSandboxesStateContract = c29.router({
12016
12799
 
12017
12800
  // ../../packages/api-contracts/src/contracts/test-slack-state.ts
12018
12801
  init_esm_shims();
12019
- var c30 = initContract();
12802
+ var c31 = initContract();
12020
12803
  var testSlackStateErrorSchema = external_exports.object({
12021
12804
  error: external_exports.string()
12022
12805
  });
@@ -12148,7 +12931,7 @@ var testSlackStateResponseSchema = external_exports.object({
12148
12931
  })
12149
12932
  )
12150
12933
  });
12151
- var testSlackStateContract = c30.router({
12934
+ var testSlackStateContract = c31.router({
12152
12935
  get: {
12153
12936
  method: "GET",
12154
12937
  path: "/api/test/slack-state",
@@ -12193,7 +12976,7 @@ var testSlackStateContract = c30.router({
12193
12976
 
12194
12977
  // ../../packages/api-contracts/src/contracts/test-slack-mock.ts
12195
12978
  init_esm_shims();
12196
- var c31 = initContract();
12979
+ var c32 = initContract();
12197
12980
  var slackMockRequestBodySchema = external_exports.record(external_exports.string(), external_exports.unknown()).optional();
12198
12981
  var slackMockNotFoundSchema = external_exports.string();
12199
12982
  var testSlackMockOkResponseSchema = external_exports.object({
@@ -12263,7 +13046,7 @@ var testSlackMockUsersInfoResponseSchema = testSlackMockOkResponseSchema.extend(
12263
13046
  })
12264
13047
  })
12265
13048
  });
12266
- var testSlackMockContract = c31.router({
13049
+ var testSlackMockContract = c32.router({
12267
13050
  assistantThreadsSetStatus: {
12268
13051
  method: "POST",
12269
13052
  path: "/api/test/slack-mock/assistant.threads.setStatus",
@@ -12378,7 +13161,7 @@ var testSlackMockContract = c31.router({
12378
13161
 
12379
13162
  // ../../packages/api-contracts/src/contracts/test-telegram-mock.ts
12380
13163
  init_esm_shims();
12381
- var c32 = initContract();
13164
+ var c33 = initContract();
12382
13165
  var testTelegramMockPathParamsSchema = external_exports.object({
12383
13166
  botToken: external_exports.string(),
12384
13167
  method: external_exports.string()
@@ -12391,7 +13174,7 @@ var testTelegramMockErrorResponseSchema = external_exports.object({
12391
13174
  ok: external_exports.literal(false),
12392
13175
  description: external_exports.string()
12393
13176
  });
12394
- var testTelegramMockContract = c32.router({
13177
+ var testTelegramMockContract = c33.router({
12395
13178
  post: {
12396
13179
  method: "POST",
12397
13180
  path: "/api/test/telegram-mock/:botToken/:method",
@@ -12407,7 +13190,7 @@ var testTelegramMockContract = c32.router({
12407
13190
 
12408
13191
  // ../../packages/api-contracts/src/contracts/test-teams-mock.ts
12409
13192
  init_esm_shims();
12410
- var c33 = initContract();
13193
+ var c34 = initContract();
12411
13194
  var teamsMockBodySchema = external_exports.record(external_exports.string(), external_exports.unknown()).optional();
12412
13195
  var teamsMockOkSchema = external_exports.object({ ok: external_exports.literal(true) });
12413
13196
  var teamsMockTokenResponseSchema = external_exports.object({
@@ -12443,7 +13226,7 @@ var testTeamsMockGraphMessagePathParamsSchema = testTeamsMockGraphMessagesPathPa
12443
13226
  var testTeamsMockGraphUserPathParamsSchema = external_exports.object({
12444
13227
  userId: external_exports.string()
12445
13228
  });
12446
- var testTeamsMockContract = c33.router({
13229
+ var testTeamsMockContract = c34.router({
12447
13230
  token: {
12448
13231
  method: "POST",
12449
13232
  path: "/api/test/teams-mock/token",
@@ -12552,7 +13335,7 @@ var testTeamsMockContract = c33.router({
12552
13335
 
12553
13336
  // ../../packages/api-contracts/src/contracts/test-teams-state.ts
12554
13337
  init_esm_shims();
12555
- var c34 = initContract();
13338
+ var c35 = initContract();
12556
13339
  var testTeamsStateErrorSchema = external_exports.object({
12557
13340
  error: external_exports.string()
12558
13341
  });
@@ -12685,7 +13468,7 @@ var testTeamsStateResponseSchema = external_exports.object({
12685
13468
  })
12686
13469
  )
12687
13470
  });
12688
- var testTeamsStateContract = c34.router({
13471
+ var testTeamsStateContract = c35.router({
12689
13472
  get: {
12690
13473
  method: "GET",
12691
13474
  path: "/api/test/teams-state",
@@ -12729,7 +13512,7 @@ var testTeamsStateContract = c34.router({
12729
13512
 
12730
13513
  // ../../packages/api-contracts/src/contracts/test-telegram-state.ts
12731
13514
  init_esm_shims();
12732
- var c35 = initContract();
13515
+ var c36 = initContract();
12733
13516
  var testTelegramStateQuerySchema = external_exports.object({
12734
13517
  bot_id: external_exports.string().optional()
12735
13518
  });
@@ -12802,7 +13585,7 @@ var testTelegramStateSeedResponseSchema = external_exports.object({
12802
13585
  user_link_id: external_exports.string().nullable(),
12803
13586
  default_agent_id: external_exports.string()
12804
13587
  });
12805
- var testTelegramStateContract = c35.router({
13588
+ var testTelegramStateContract = c36.router({
12806
13589
  get: {
12807
13590
  method: "GET",
12808
13591
  path: "/api/test/telegram-state",
@@ -12851,7 +13634,7 @@ var testTelegramStateContract = c35.router({
12851
13634
 
12852
13635
  // ../../packages/api-contracts/src/contracts/cron.ts
12853
13636
  init_esm_shims();
12854
- var c36 = initContract();
13637
+ var c37 = initContract();
12855
13638
  var cleanupResultSchema = external_exports.object({
12856
13639
  runId: external_exports.string(),
12857
13640
  sandboxId: external_exports.string().nullable(),
@@ -12879,7 +13662,7 @@ var cleanupResponseSchema = external_exports.object({
12879
13662
  )
12880
13663
  })
12881
13664
  });
12882
- var cronCleanupSandboxesContract = c36.router({
13665
+ var cronCleanupSandboxesContract = c37.router({
12883
13666
  /**
12884
13667
  * GET /api/cron/cleanup-sandboxes
12885
13668
  * Cron job to cleanup sandboxes that have stopped sending heartbeats
@@ -13029,7 +13812,7 @@ var cronAggregateModelStatsResponseSchema = external_exports.object({
13029
13812
  updatedStats: external_exports.number().int().nonnegative(),
13030
13813
  deletedObservations: external_exports.number().int().nonnegative()
13031
13814
  });
13032
- var cronAggregateUsageContract = c36.router({
13815
+ var cronAggregateUsageContract = c37.router({
13033
13816
  aggregate: {
13034
13817
  method: "GET",
13035
13818
  path: "/api/cron/aggregate-usage",
@@ -13041,7 +13824,7 @@ var cronAggregateUsageContract = c36.router({
13041
13824
  summary: "Aggregate daily usage cache"
13042
13825
  }
13043
13826
  });
13044
- var cronProcessUsageEventsContract = c36.router({
13827
+ var cronProcessUsageEventsContract = c37.router({
13045
13828
  process: {
13046
13829
  method: "GET",
13047
13830
  path: "/api/cron/process-usage-events",
@@ -13053,7 +13836,7 @@ var cronProcessUsageEventsContract = c36.router({
13053
13836
  summary: "Process pending usage events"
13054
13837
  }
13055
13838
  });
13056
- var cronCompactChatThreadSnapshotsContract = c36.router({
13839
+ var cronCompactChatThreadSnapshotsContract = c37.router({
13057
13840
  compact: {
13058
13841
  method: "GET",
13059
13842
  path: "/api/cron/compact-chat-thread-snapshots",
@@ -13065,7 +13848,7 @@ var cronCompactChatThreadSnapshotsContract = c36.router({
13065
13848
  summary: "Compact chat thread snapshots from lifecycle events"
13066
13849
  }
13067
13850
  });
13068
- var cronCompactUsageEventsContract = c36.router({
13851
+ var cronCompactUsageEventsContract = c37.router({
13069
13852
  compact: {
13070
13853
  method: "GET",
13071
13854
  path: "/api/cron/compact-usage-events",
@@ -13077,7 +13860,7 @@ var cronCompactUsageEventsContract = c36.router({
13077
13860
  summary: "Compact stable usage events into hourly rollups"
13078
13861
  }
13079
13862
  });
13080
- var cronMonitorChatEventQueueContract = c36.router({
13863
+ var cronMonitorChatEventQueueContract = c37.router({
13081
13864
  monitor: {
13082
13865
  method: "GET",
13083
13866
  path: "/api/cron/monitor-chat-event-queue",
@@ -13090,7 +13873,7 @@ var cronMonitorChatEventQueueContract = c36.router({
13090
13873
  summary: "Monitor for orphaned queued chat messages"
13091
13874
  }
13092
13875
  });
13093
- var cronReconcileBillingEntitlementsContract = c36.router({
13876
+ var cronReconcileBillingEntitlementsContract = c37.router({
13094
13877
  reconcile: {
13095
13878
  method: "GET",
13096
13879
  path: "/api/cron/reconcile-billing-entitlements",
@@ -13102,7 +13885,7 @@ var cronReconcileBillingEntitlementsContract = c36.router({
13102
13885
  summary: "Reconcile billing entitlements"
13103
13886
  }
13104
13887
  });
13105
- var cronTelegramCleanupContract = c36.router({
13888
+ var cronTelegramCleanupContract = c37.router({
13106
13889
  cleanup: {
13107
13890
  method: "GET",
13108
13891
  path: "/api/cron/telegram-cleanup",
@@ -13114,7 +13897,7 @@ var cronTelegramCleanupContract = c36.router({
13114
13897
  summary: "Delete expired Telegram messages"
13115
13898
  }
13116
13899
  });
13117
- var cronConnectorOauthStateCleanupContract = c36.router({
13900
+ var cronConnectorOauthStateCleanupContract = c37.router({
13118
13901
  cleanup: {
13119
13902
  method: "GET",
13120
13903
  path: "/api/cron/connector-oauth-state-cleanup",
@@ -13126,7 +13909,7 @@ var cronConnectorOauthStateCleanupContract = c36.router({
13126
13909
  summary: "Delete expired connector OAuth states"
13127
13910
  }
13128
13911
  });
13129
- var cronComputerUseScreenshotCleanupContract = c36.router({
13912
+ var cronComputerUseScreenshotCleanupContract = c37.router({
13130
13913
  cleanup: {
13131
13914
  method: "GET",
13132
13915
  path: "/api/cron/computer-use-screenshot-cleanup",
@@ -13138,7 +13921,7 @@ var cronComputerUseScreenshotCleanupContract = c36.router({
13138
13921
  summary: "Delete expired desktop computer-use screenshots"
13139
13922
  }
13140
13923
  });
13141
- var cronBrowserReconcileContract = c36.router({
13924
+ var cronBrowserReconcileContract = c37.router({
13142
13925
  reconcile: {
13143
13926
  method: "GET",
13144
13927
  path: "/api/cron/reconcile-browsers",
@@ -13150,7 +13933,7 @@ var cronBrowserReconcileContract = c36.router({
13150
13933
  summary: "Reconcile managed browser idle leases and provider state"
13151
13934
  }
13152
13935
  });
13153
- var cronDrainEmailOutboxContract = c36.router({
13936
+ var cronDrainEmailOutboxContract = c37.router({
13154
13937
  drain: {
13155
13938
  method: "GET",
13156
13939
  path: "/api/cron/drain-email-outbox",
@@ -13162,7 +13945,7 @@ var cronDrainEmailOutboxContract = c36.router({
13162
13945
  summary: "Drain pending email outbox messages"
13163
13946
  }
13164
13947
  });
13165
- var cronRenewGmailWatchesContract = c36.router({
13948
+ var cronRenewGmailWatchesContract = c37.router({
13166
13949
  renew: {
13167
13950
  method: "GET",
13168
13951
  path: "/api/cron/renew-gmail-watches",
@@ -13174,7 +13957,7 @@ var cronRenewGmailWatchesContract = c36.router({
13174
13957
  summary: "Renew Gmail push notification watches"
13175
13958
  }
13176
13959
  });
13177
- var cronRenewGoogleCalendarWatchesContract = c36.router({
13960
+ var cronRenewGoogleCalendarWatchesContract = c37.router({
13178
13961
  renew: {
13179
13962
  method: "GET",
13180
13963
  path: "/api/cron/renew-google-calendar-watches",
@@ -13186,7 +13969,7 @@ var cronRenewGoogleCalendarWatchesContract = c36.router({
13186
13969
  summary: "Renew Google Calendar push notification watches"
13187
13970
  }
13188
13971
  });
13189
- var cronRenewGoogleWorkspaceEventSubscriptionsContract = c36.router({
13972
+ var cronRenewGoogleWorkspaceEventSubscriptionsContract = c37.router({
13190
13973
  renew: {
13191
13974
  method: "GET",
13192
13975
  path: "/api/cron/renew-google-workspace-event-subscriptions",
@@ -13198,7 +13981,7 @@ var cronRenewGoogleWorkspaceEventSubscriptionsContract = c36.router({
13198
13981
  summary: "Renew Google Workspace Events subscriptions"
13199
13982
  }
13200
13983
  });
13201
- var cronSyncSkillsContract = c36.router({
13984
+ var cronSyncSkillsContract = c37.router({
13202
13985
  sync: {
13203
13986
  method: "GET",
13204
13987
  path: "/api/cron/sync-skills",
@@ -13210,7 +13993,7 @@ var cronSyncSkillsContract = c36.router({
13210
13993
  summary: "Sync official skills from the skills repository"
13211
13994
  }
13212
13995
  });
13213
- var cronConnectorCatalogContract = c36.router({
13996
+ var cronConnectorCatalogContract = c37.router({
13214
13997
  sync: {
13215
13998
  method: "GET",
13216
13999
  path: "/api/cron/sync-connector-catalog",
@@ -13222,7 +14005,7 @@ var cronConnectorCatalogContract = c36.router({
13222
14005
  summary: "Sync the validated connector catalog snapshot"
13223
14006
  }
13224
14007
  });
13225
- var cronExecuteWorkflowAutomationsContract = c36.router({
14008
+ var cronExecuteWorkflowAutomationsContract = c37.router({
13226
14009
  execute: {
13227
14010
  method: "GET",
13228
14011
  path: "/api/cron/execute-workflow-automations",
@@ -13234,7 +14017,7 @@ var cronExecuteWorkflowAutomationsContract = c36.router({
13234
14017
  summary: "Execute due workflow automations"
13235
14018
  }
13236
14019
  });
13237
- var cronExecuteMorningBriefsContract = c36.router({
14020
+ var cronExecuteMorningBriefsContract = c37.router({
13238
14021
  execute: {
13239
14022
  method: "GET",
13240
14023
  path: "/api/cron/execute-morning-briefs",
@@ -13246,7 +14029,7 @@ var cronExecuteMorningBriefsContract = c36.router({
13246
14029
  summary: "Execute due morning briefs"
13247
14030
  }
13248
14031
  });
13249
- var cronAggregateInsightsContract = c36.router({
14032
+ var cronAggregateInsightsContract = c37.router({
13250
14033
  aggregate: {
13251
14034
  method: "GET",
13252
14035
  path: "/api/cron/aggregate-insights",
@@ -13258,7 +14041,7 @@ var cronAggregateInsightsContract = c36.router({
13258
14041
  summary: "Aggregate daily usage insights"
13259
14042
  }
13260
14043
  });
13261
- var cronAggregateModelStatsContract = c36.router({
14044
+ var cronAggregateModelStatsContract = c37.router({
13262
14045
  aggregate: {
13263
14046
  method: "GET",
13264
14047
  path: "/api/cron/aggregate-model-stats",
@@ -13271,7 +14054,7 @@ var cronAggregateModelStatsContract = c36.router({
13271
14054
  summary: "Aggregate hourly model usage statistics"
13272
14055
  }
13273
14056
  });
13274
- var cronRefreshStoragePresignedUrlsContract = c36.router({
14057
+ var cronRefreshStoragePresignedUrlsContract = c37.router({
13275
14058
  refresh: {
13276
14059
  method: "GET",
13277
14060
  path: "/api/cron/refresh-storage-presigned-urls",
@@ -13312,7 +14095,7 @@ var variableListResponseSchema = external_exports.object({
13312
14095
 
13313
14096
  // ../../packages/api-contracts/src/contracts/artifact-catalog.ts
13314
14097
  init_esm_shims();
13315
- var c37 = initContract();
14098
+ var c38 = initContract();
13316
14099
  var ARTIFACT_CATALOG_KINDS = [
13317
14100
  "file",
13318
14101
  "hosted-site",
@@ -13399,7 +14182,7 @@ var artifactDetailSchema = external_exports.discriminatedUnion("kind", [
13399
14182
  site: artifactHostedSiteSchema
13400
14183
  })
13401
14184
  ]);
13402
- var artifactCatalogContract = c37.router({
14185
+ var artifactCatalogContract = c38.router({
13403
14186
  list: {
13404
14187
  method: "GET",
13405
14188
  path: "/api/zero/artifacts/catalog",
@@ -13438,7 +14221,7 @@ var HEX_DIGITS = new Set("0123456789abcdefABCDEF".split(""));
13438
14221
 
13439
14222
  // ../../packages/api-contracts/src/contracts/zero-user-preferences.ts
13440
14223
  init_esm_shims();
13441
- var c38 = initContract();
14224
+ var c39 = initContract();
13442
14225
  var sendModeSchema = external_exports.enum(["enter", "cmd-enter"]);
13443
14226
  var SUPPORTED_USER_LOCALES = [
13444
14227
  "en-US",
@@ -13496,7 +14279,7 @@ var updateUserPreferencesRequestSchema = external_exports.object({
13496
14279
  message: "At least one preference must be provided"
13497
14280
  }
13498
14281
  );
13499
- var zeroUserPreferencesContract = c38.router({
14282
+ var zeroUserPreferencesContract = c39.router({
13500
14283
  get: {
13501
14284
  method: "GET",
13502
14285
  path: "/api/zero/user-preferences",
@@ -13525,7 +14308,7 @@ var zeroUserPreferencesContract = c38.router({
13525
14308
 
13526
14309
  // ../../packages/api-contracts/src/contracts/zero-feature-switches.ts
13527
14310
  init_esm_shims();
13528
- var c39 = initContract();
14311
+ var c40 = initContract();
13529
14312
  var featureSwitchesResponseSchema = external_exports.object({
13530
14313
  switches: external_exports.record(external_exports.string(), external_exports.boolean()),
13531
14314
  effectiveSwitches: external_exports.record(external_exports.string(), external_exports.boolean()),
@@ -13558,7 +14341,7 @@ var featureSwitchesResponseSchema = external_exports.object({
13558
14341
  var updateFeatureSwitchesRequestSchema = external_exports.object({
13559
14342
  switches: external_exports.record(external_exports.string(), external_exports.boolean())
13560
14343
  });
13561
- var zeroFeatureSwitchesContract = c39.router({
14344
+ var zeroFeatureSwitchesContract = c40.router({
13562
14345
  get: {
13563
14346
  method: "GET",
13564
14347
  path: "/api/zero/feature-switches",
@@ -13587,7 +14370,7 @@ var zeroFeatureSwitchesContract = c39.router({
13587
14370
  method: "DELETE",
13588
14371
  path: "/api/zero/feature-switches",
13589
14372
  headers: authHeadersSchema,
13590
- body: c39.noBody(),
14373
+ body: c40.noBody(),
13591
14374
  responses: {
13592
14375
  200: external_exports.object({ deleted: external_exports.literal(true) }),
13593
14376
  401: apiErrorSchema,
@@ -13599,7 +14382,7 @@ var zeroFeatureSwitchesContract = c39.router({
13599
14382
 
13600
14383
  // ../../packages/api-contracts/src/contracts/onboarding.ts
13601
14384
  init_esm_shims();
13602
- var c40 = initContract();
14385
+ var c41 = initContract();
13603
14386
  var onboardingStatusResponseSchema = external_exports.object({
13604
14387
  needsOnboarding: external_exports.boolean(),
13605
14388
  onboardingComplete: external_exports.boolean(),
@@ -13614,7 +14397,7 @@ var onboardingStatusResponseSchema = external_exports.object({
13614
14397
  avatarUrl: external_exports.string().optional()
13615
14398
  }).nullable()
13616
14399
  });
13617
- var onboardingStatusContract = c40.router({
14400
+ var onboardingStatusContract = c41.router({
13618
14401
  getStatus: {
13619
14402
  method: "GET",
13620
14403
  path: "/api/zero/onboarding/status",
@@ -13626,7 +14409,7 @@ var onboardingStatusContract = c40.router({
13626
14409
  summary: "Get onboarding status for current user"
13627
14410
  }
13628
14411
  });
13629
- var onboardingCompleteContract = c40.router({
14412
+ var onboardingCompleteContract = c41.router({
13630
14413
  complete: {
13631
14414
  method: "POST",
13632
14415
  path: "/api/zero/onboarding/complete",
@@ -13654,7 +14437,7 @@ var skillFrontmatterSchema = external_exports.object({
13654
14437
 
13655
14438
  // ../../packages/api-contracts/src/contracts/zero-codex-device-auth.ts
13656
14439
  init_esm_shims();
13657
- var c41 = initContract();
14440
+ var c42 = initContract();
13658
14441
  var codexDeviceAuthScopeSchema = external_exports.enum(["org", "personal"]);
13659
14442
  var codexDeviceAuthStartResponseSchema = external_exports.object({
13660
14443
  sessionToken: external_exports.string(),
@@ -13680,7 +14463,7 @@ var codexDeviceAuthCompleteResponseSchema = external_exports.discriminatedUnion(
13680
14463
  var codexDeviceAuthCancelResponseSchema = external_exports.object({
13681
14464
  status: external_exports.literal("cancelled")
13682
14465
  });
13683
- var zeroCodexDeviceAuthContract = c41.router({
14466
+ var zeroCodexDeviceAuthContract = c42.router({
13684
14467
  start: {
13685
14468
  method: "POST",
13686
14469
  path: "/api/zero/model-providers/codex/device-auth/sessions",
@@ -13728,7 +14511,7 @@ var zeroCodexDeviceAuthContract = c41.router({
13728
14511
 
13729
14512
  // ../../packages/api-contracts/src/contracts/zero-claude-code-device-auth.ts
13730
14513
  init_esm_shims();
13731
- var c42 = initContract();
14514
+ var c43 = initContract();
13732
14515
  var claudeCodeDeviceAuthScopeSchema = external_exports.enum(["org", "personal"]);
13733
14516
  var claudeCodeDeviceAuthStartResponseSchema = external_exports.object({
13734
14517
  sessionToken: external_exports.string(),
@@ -13746,7 +14529,7 @@ var claudeCodeDeviceAuthCompleteResponseSchema = external_exports.object({
13746
14529
  var claudeCodeDeviceAuthCancelResponseSchema = external_exports.object({
13747
14530
  status: external_exports.literal("cancelled")
13748
14531
  });
13749
- var zeroClaudeCodeDeviceAuthContract = c42.router({
14532
+ var zeroClaudeCodeDeviceAuthContract = c43.router({
13750
14533
  start: {
13751
14534
  method: "POST",
13752
14535
  path: "/api/zero/model-providers/claude-code/device-auth/sessions",
@@ -13797,12 +14580,12 @@ var zeroClaudeCodeDeviceAuthContract = c42.router({
13797
14580
 
13798
14581
  // ../../packages/api-contracts/src/contracts/zero-org-logo.ts
13799
14582
  init_esm_shims();
13800
- var c43 = initContract();
14583
+ var c44 = initContract();
13801
14584
  var zeroOrgLogoResponseSchema = external_exports.object({
13802
14585
  logoUrl: external_exports.string().nullable(),
13803
14586
  hasImage: external_exports.boolean()
13804
14587
  });
13805
- var zeroOrgLogoContract = c43.router({
14588
+ var zeroOrgLogoContract = c44.router({
13806
14589
  get: {
13807
14590
  method: "GET",
13808
14591
  path: "/api/zero/org/logo",
@@ -13820,7 +14603,7 @@ var zeroOrgLogoContract = c43.router({
13820
14603
  path: "/api/zero/org/logo",
13821
14604
  headers: authHeadersSchema,
13822
14605
  contentType: "multipart/form-data",
13823
- body: c43.type(),
14606
+ body: c44.type(),
13824
14607
  responses: {
13825
14608
  200: zeroOrgLogoResponseSchema,
13826
14609
  400: apiErrorSchema,
@@ -13835,8 +14618,8 @@ var zeroOrgLogoContract = c43.router({
13835
14618
 
13836
14619
  // ../../packages/api-contracts/src/contracts/zero-org-members.ts
13837
14620
  init_esm_shims();
13838
- var c44 = initContract();
13839
- var zeroOrgMembersContract = c44.router({
14621
+ var c45 = initContract();
14622
+ var zeroOrgMembersContract = c45.router({
13840
14623
  members: {
13841
14624
  method: "GET",
13842
14625
  path: "/api/zero/org/members",
@@ -13882,7 +14665,7 @@ var zeroOrgMembersContract = c44.router({
13882
14665
  summary: "Remove a member from the org (zero proxy)"
13883
14666
  }
13884
14667
  });
13885
- var zeroOrgInviteContract = c44.router({
14668
+ var zeroOrgInviteContract = c45.router({
13886
14669
  invite: {
13887
14670
  method: "POST",
13888
14671
  path: "/api/zero/org/invite",
@@ -13912,7 +14695,7 @@ var zeroOrgInviteContract = c44.router({
13912
14695
  summary: "Revoke a pending invitation (zero proxy)"
13913
14696
  }
13914
14697
  });
13915
- var zeroOrgMembershipRequestsContract = c44.router({
14698
+ var zeroOrgMembershipRequestsContract = c45.router({
13916
14699
  accept: {
13917
14700
  method: "POST",
13918
14701
  path: "/api/zero/org/membership-requests",
@@ -13945,8 +14728,8 @@ var zeroOrgMembershipRequestsContract = c44.router({
13945
14728
 
13946
14729
  // ../../packages/api-contracts/src/contracts/zero-composes.ts
13947
14730
  init_esm_shims();
13948
- var c45 = initContract();
13949
- var zeroComposesListContract = c45.router({
14731
+ var c46 = initContract();
14732
+ var zeroComposesListContract = c46.router({
13950
14733
  list: {
13951
14734
  method: "GET",
13952
14735
  path: "/api/zero/composes/list",
@@ -13964,11 +14747,267 @@ var zeroComposesListContract = c45.router({
13964
14747
  }
13965
14748
  });
13966
14749
 
14750
+ // ../../packages/api-contracts/src/contracts/zero-runs.ts
14751
+ init_esm_shims();
14752
+ var zeroRunCreateBodySchema = unifiedRunRequestSchema.omit({
14753
+ triggerSource: true,
14754
+ artifacts: true,
14755
+ disallowedTools: true,
14756
+ volumeVersions: true,
14757
+ vars: true,
14758
+ secrets: true,
14759
+ agentComposeId: true,
14760
+ appendSystemPrompt: true,
14761
+ modelProviderType: true,
14762
+ permissionPolicies: true
14763
+ }).extend({
14764
+ agentId: external_exports.string().optional(),
14765
+ modelProvider: external_exports.string().optional()
14766
+ });
14767
+ var c47 = initContract();
14768
+ var zeroLogPaginationQuerySchema = createLogPaginationQuerySchema({
14769
+ cursorKind: "sequence"
14770
+ });
14771
+ var zeroNetworkLogPaginationQuerySchema = createLogPaginationQuerySchema({
14772
+ cursorKind: "time",
14773
+ maxLimit: 500,
14774
+ defaultLimit: 500,
14775
+ defaultOrder: "asc"
14776
+ });
14777
+ var zeroTelemetryTimePaginationQuerySchema = createLogPaginationQuerySchema({
14778
+ cursorKind: "time"
14779
+ });
14780
+ var zeroRunsByIdContract = c47.router({
14781
+ getById: {
14782
+ method: "GET",
14783
+ path: "/api/zero/runs/:id",
14784
+ headers: authHeadersSchema,
14785
+ pathParams: external_exports.object({
14786
+ id: external_exports.uuid("Run ID must be a valid UUID")
14787
+ }),
14788
+ responses: {
14789
+ 200: getRunResponseSchema,
14790
+ 400: apiErrorSchema,
14791
+ 401: apiErrorSchema,
14792
+ 403: apiErrorSchema,
14793
+ 404: apiErrorSchema
14794
+ },
14795
+ summary: "Get agent run by ID (zero proxy)"
14796
+ }
14797
+ });
14798
+ var zeroRunsCancelContract = c47.router({
14799
+ cancel: {
14800
+ method: "POST",
14801
+ path: "/api/zero/runs/:id/cancel",
14802
+ headers: authHeadersSchema,
14803
+ pathParams: external_exports.object({
14804
+ id: external_exports.uuid("Run ID must be a valid UUID")
14805
+ }),
14806
+ body: external_exports.undefined(),
14807
+ responses: {
14808
+ 200: cancelRunResponseSchema,
14809
+ 400: apiErrorSchema,
14810
+ 401: apiErrorSchema,
14811
+ 403: apiErrorSchema,
14812
+ 404: apiErrorSchema
14813
+ },
14814
+ summary: "Cancel a pending or running run (zero proxy)"
14815
+ }
14816
+ });
14817
+ var zeroRunsQueueContract = c47.router({
14818
+ getQueue: {
14819
+ method: "GET",
14820
+ path: "/api/zero/runs/queue",
14821
+ headers: authHeadersSchema,
14822
+ responses: {
14823
+ 200: queueResponseSchema,
14824
+ 401: apiErrorSchema,
14825
+ 403: apiErrorSchema
14826
+ },
14827
+ summary: "Get org run queue status (zero proxy)"
14828
+ }
14829
+ });
14830
+ var zeroRunAgentEventsContract = c47.router({
14831
+ getAgentEvents: {
14832
+ method: "GET",
14833
+ path: "/api/zero/runs/:id/telemetry/agent",
14834
+ headers: authHeadersSchema,
14835
+ pathParams: external_exports.object({
14836
+ id: external_exports.uuid("Run ID must be a valid UUID")
14837
+ }),
14838
+ query: zeroLogPaginationQuerySchema,
14839
+ responses: {
14840
+ 200: agentEventsResponseSchema,
14841
+ 400: apiErrorSchema,
14842
+ 401: apiErrorSchema,
14843
+ 403: apiErrorSchema,
14844
+ 404: apiErrorSchema
14845
+ },
14846
+ summary: "Get agent events with pagination (zero proxy)"
14847
+ }
14848
+ });
14849
+ var zeroRunSystemLogContract = c47.router({
14850
+ getSystemLog: {
14851
+ method: "GET",
14852
+ path: "/api/zero/runs/:id/telemetry/system-log",
14853
+ headers: authHeadersSchema,
14854
+ pathParams: external_exports.object({
14855
+ id: external_exports.uuid("Run ID must be a valid UUID")
14856
+ }),
14857
+ query: zeroTelemetryTimePaginationQuerySchema,
14858
+ responses: {
14859
+ 200: systemLogResponseSchema,
14860
+ 400: apiErrorSchema,
14861
+ 401: apiErrorSchema,
14862
+ 403: apiErrorSchema,
14863
+ 404: apiErrorSchema
14864
+ },
14865
+ summary: "Get system log with pagination"
14866
+ }
14867
+ });
14868
+ var zeroRunMetricsContract = c47.router({
14869
+ getMetrics: {
14870
+ method: "GET",
14871
+ path: "/api/zero/runs/:id/telemetry/metrics",
14872
+ headers: authHeadersSchema,
14873
+ pathParams: external_exports.object({
14874
+ id: external_exports.uuid("Run ID must be a valid UUID")
14875
+ }),
14876
+ query: zeroTelemetryTimePaginationQuerySchema,
14877
+ responses: {
14878
+ 200: metricsResponseSchema,
14879
+ 400: apiErrorSchema,
14880
+ 401: apiErrorSchema,
14881
+ 403: apiErrorSchema,
14882
+ 404: apiErrorSchema
14883
+ },
14884
+ summary: "Get metrics with pagination"
14885
+ }
14886
+ });
14887
+ var runContextVolumeSchema = external_exports.object({
14888
+ name: external_exports.string(),
14889
+ mountPath: external_exports.string(),
14890
+ vasStorageName: external_exports.string(),
14891
+ vasVersionId: external_exports.string()
14892
+ });
14893
+ var runContextArtifactSchema = external_exports.object({
14894
+ mountPath: external_exports.string(),
14895
+ vasStorageName: external_exports.string(),
14896
+ vasVersionId: external_exports.string()
14897
+ });
14898
+ var runContextSanitizedFirewallSchema = external_exports.object({
14899
+ name: external_exports.string(),
14900
+ apis: external_exports.array(
14901
+ external_exports.object({
14902
+ base: external_exports.string(),
14903
+ permissions: external_exports.array(
14904
+ external_exports.object({
14905
+ name: external_exports.string(),
14906
+ description: external_exports.string().optional(),
14907
+ rules: external_exports.array(external_exports.string())
14908
+ })
14909
+ ).optional()
14910
+ })
14911
+ )
14912
+ });
14913
+ var runContextFirewallSchema = external_exports.union([
14914
+ executionFirewallBuiltinEntrySchema,
14915
+ runContextSanitizedFirewallSchema
14916
+ ]);
14917
+ var runContextResponseSchema = external_exports.object({
14918
+ prompt: external_exports.string(),
14919
+ appendSystemPrompt: external_exports.string().nullable(),
14920
+ runId: external_exports.string(),
14921
+ sessionId: external_exports.string().nullable(),
14922
+ cliAgentType: external_exports.string().optional(),
14923
+ secretNames: external_exports.array(external_exports.string()),
14924
+ vars: external_exports.record(external_exports.string(), external_exports.string()).nullable(),
14925
+ environment: external_exports.record(external_exports.string(), external_exports.string()),
14926
+ firewalls: external_exports.array(runContextFirewallSchema),
14927
+ networkPolicies: networkPoliciesSchema.nullable(),
14928
+ volumes: external_exports.array(runContextVolumeSchema),
14929
+ artifact: runContextArtifactSchema.nullable(),
14930
+ featureFlags: external_exports.record(external_exports.string(), external_exports.boolean()).nullable()
14931
+ });
14932
+ var zeroRunContextContract = c47.router({
14933
+ getContext: {
14934
+ method: "GET",
14935
+ path: "/api/zero/runs/:id/context",
14936
+ headers: authHeadersSchema,
14937
+ pathParams: external_exports.object({
14938
+ id: external_exports.uuid("Run ID must be a valid UUID")
14939
+ }),
14940
+ responses: {
14941
+ 200: runContextResponseSchema,
14942
+ 400: apiErrorSchema,
14943
+ 401: apiErrorSchema,
14944
+ 403: apiErrorSchema,
14945
+ 404: apiErrorSchema
14946
+ },
14947
+ summary: "Get run execution context snapshot for debugging"
14948
+ }
14949
+ });
14950
+ var zeroRunNetworkLogsContract = c47.router({
14951
+ getNetworkLogs: {
14952
+ method: "GET",
14953
+ path: "/api/zero/runs/:id/network",
14954
+ headers: authHeadersSchema,
14955
+ pathParams: external_exports.object({
14956
+ id: external_exports.uuid("Run ID must be a valid UUID")
14957
+ }),
14958
+ query: zeroNetworkLogPaginationQuerySchema,
14959
+ responses: {
14960
+ 200: networkLogsResponseSchema,
14961
+ 400: apiErrorSchema,
14962
+ 401: apiErrorSchema,
14963
+ 403: apiErrorSchema,
14964
+ 404: apiErrorSchema
14965
+ },
14966
+ summary: "Get network logs for a run"
14967
+ }
14968
+ });
14969
+ var runRunnerResponseSchema = external_exports.object({
14970
+ sandboxReuseResult: sandboxReuseResultSchema.nullable()
14971
+ });
14972
+ var zeroRunRunnerContract = c47.router({
14973
+ getRunner: {
14974
+ method: "GET",
14975
+ path: "/api/zero/runs/:id/runner",
14976
+ headers: authHeadersSchema,
14977
+ pathParams: external_exports.object({
14978
+ id: external_exports.uuid("Run ID must be a valid UUID")
14979
+ }),
14980
+ responses: {
14981
+ 200: runRunnerResponseSchema,
14982
+ 400: apiErrorSchema,
14983
+ 401: apiErrorSchema,
14984
+ 403: apiErrorSchema,
14985
+ 404: apiErrorSchema
14986
+ },
14987
+ summary: "Get runner-level metadata for a run"
14988
+ }
14989
+ });
14990
+ var zeroLogsSearchContract = c47.router({
14991
+ searchLogs: {
14992
+ method: "GET",
14993
+ path: "/api/zero/logs/search",
14994
+ headers: authHeadersSchema,
14995
+ query: logsSearchQuerySchema,
14996
+ responses: {
14997
+ 200: logsSearchResponseSchema,
14998
+ 400: apiErrorSchema,
14999
+ 401: apiErrorSchema,
15000
+ 403: apiErrorSchema
15001
+ },
15002
+ summary: "Search agent events across runs (zero proxy)"
15003
+ }
15004
+ });
15005
+
13967
15006
  // ../../packages/api-contracts/src/contracts/zero-model-providers.ts
13968
15007
  init_esm_shims();
13969
- var c46 = initContract();
15008
+ var c48 = initContract();
13970
15009
  var orgUpsertModelProviderRequestSchema = upsertModelProviderRequestSchema.omit({ selectedModel: true });
13971
- var zeroModelProvidersMainContract = c46.router({
15010
+ var zeroModelProvidersMainContract = c48.router({
13972
15011
  list: {
13973
15012
  method: "GET",
13974
15013
  path: "/api/zero/model-providers",
@@ -13997,7 +15036,7 @@ var zeroModelProvidersMainContract = c46.router({
13997
15036
  summary: "Create or update an org-level model provider (admin only)"
13998
15037
  }
13999
15038
  });
14000
- var zeroModelProvidersByTypeContract = c46.router({
15039
+ var zeroModelProvidersByTypeContract = c48.router({
14001
15040
  delete: {
14002
15041
  method: "DELETE",
14003
15042
  path: "/api/zero/model-providers/:type",
@@ -14006,7 +15045,7 @@ var zeroModelProvidersByTypeContract = c46.router({
14006
15045
  type: modelProviderTypeSchema
14007
15046
  }),
14008
15047
  responses: {
14009
- 204: c46.noBody(),
15048
+ 204: c48.noBody(),
14010
15049
  401: apiErrorSchema,
14011
15050
  403: apiErrorSchema,
14012
15051
  404: apiErrorSchema,
@@ -14018,14 +15057,14 @@ var zeroModelProvidersByTypeContract = c46.router({
14018
15057
 
14019
15058
  // ../../packages/api-contracts/src/contracts/zero-personal-model-providers.ts
14020
15059
  init_esm_shims();
14021
- var c47 = initContract();
15060
+ var c49 = initContract();
14022
15061
  var resetPersonalModelProviderSubscriptionUsageRequestSchema = external_exports.object({
14023
15062
  idempotencyKey: external_exports.uuid()
14024
15063
  });
14025
15064
  var resetPersonalModelProviderSubscriptionUsageResponseSchema = external_exports.object({
14026
15065
  outcome: external_exports.enum(["reset", "nothingToReset", "noCredit", "alreadyRedeemed"])
14027
15066
  });
14028
- var zeroPersonalModelProvidersMainContract = c47.router({
15067
+ var zeroPersonalModelProvidersMainContract = c49.router({
14029
15068
  list: {
14030
15069
  method: "GET",
14031
15070
  path: "/api/zero/me/model-providers",
@@ -14054,7 +15093,7 @@ var zeroPersonalModelProvidersMainContract = c47.router({
14054
15093
  summary: "Create or update a personal model provider for the requesting user"
14055
15094
  }
14056
15095
  });
14057
- var zeroPersonalModelProvidersByTypeContract = c47.router({
15096
+ var zeroPersonalModelProvidersByTypeContract = c49.router({
14058
15097
  delete: {
14059
15098
  method: "DELETE",
14060
15099
  path: "/api/zero/me/model-providers/:type",
@@ -14063,7 +15102,7 @@ var zeroPersonalModelProvidersByTypeContract = c47.router({
14063
15102
  type: modelProviderTypeSchema
14064
15103
  }),
14065
15104
  responses: {
14066
- 204: c47.noBody(),
15105
+ 204: c49.noBody(),
14067
15106
  401: apiErrorSchema,
14068
15107
  404: apiErrorSchema,
14069
15108
  500: apiErrorSchema
@@ -14091,7 +15130,7 @@ var zeroPersonalModelProvidersByTypeContract = c47.router({
14091
15130
 
14092
15131
  // ../../packages/api-contracts/src/contracts/integrations-github.ts
14093
15132
  init_esm_shims();
14094
- var c48 = initContract();
15133
+ var c50 = initContract();
14095
15134
  var githubInstallationResponseSchema = external_exports.object({
14096
15135
  installation: external_exports.object({
14097
15136
  id: external_exports.string(),
@@ -14122,7 +15161,7 @@ var githubConnectSignatureSchema = external_exports.object({
14122
15161
  var githubConnectUserBodySchema = external_exports.object({
14123
15162
  connectSignature: githubConnectSignatureSchema.optional()
14124
15163
  }).optional();
14125
- var integrationsGithubContract = c48.router({
15164
+ var integrationsGithubContract = c50.router({
14126
15165
  getInstallation: {
14127
15166
  method: "GET",
14128
15167
  path: "/api/integrations/github",
@@ -14156,7 +15195,7 @@ var integrationsGithubContract = c48.router({
14156
15195
 
14157
15196
  // ../../packages/api-contracts/src/contracts/github-oauth.ts
14158
15197
  init_esm_shims();
14159
- var c49 = initContract();
15198
+ var c51 = initContract();
14160
15199
  var jsonErrorSchema = external_exports.object({ error: external_exports.string() });
14161
15200
  var githubOauthInstallQuerySchema = external_exports.object({
14162
15201
  vm0UserId: external_exports.string().optional(),
@@ -14186,13 +15225,13 @@ var githubAppSetupCallbackQuerySchema = external_exports.object({
14186
15225
  target_id: external_exports.string().optional(),
14187
15226
  target_type: external_exports.string().optional()
14188
15227
  });
14189
- var githubOauthContract = c49.router({
15228
+ var githubOauthContract = c51.router({
14190
15229
  install: {
14191
15230
  method: "GET",
14192
15231
  path: "/api/github/oauth/install",
14193
15232
  query: githubOauthInstallQuerySchema,
14194
15233
  responses: {
14195
- 307: c49.noBody(),
15234
+ 307: c51.noBody(),
14196
15235
  503: jsonErrorSchema
14197
15236
  },
14198
15237
  summary: "Start GitHub App OAuth install"
@@ -14202,7 +15241,7 @@ var githubOauthContract = c49.router({
14202
15241
  path: "/api/zero/github/oauth/connect",
14203
15242
  query: githubOauthConnectQuerySchema,
14204
15243
  responses: {
14205
- 307: c49.noBody(),
15244
+ 307: c51.noBody(),
14206
15245
  401: apiErrorSchema,
14207
15246
  503: jsonErrorSchema
14208
15247
  },
@@ -14213,7 +15252,7 @@ var githubOauthContract = c49.router({
14213
15252
  path: "/api/zero/github/oauth/connect/callback",
14214
15253
  query: githubOauthConnectCallbackQuerySchema,
14215
15254
  responses: {
14216
- 307: c49.noBody()
15255
+ 307: c51.noBody()
14217
15256
  },
14218
15257
  summary: "Handle GitHub user OAuth for the GitHub App"
14219
15258
  },
@@ -14222,7 +15261,7 @@ var githubOauthContract = c49.router({
14222
15261
  path: "/api/github/app/setup/callback",
14223
15262
  query: githubAppSetupCallbackQuerySchema,
14224
15263
  responses: {
14225
- 307: c49.noBody()
15264
+ 307: c51.noBody()
14226
15265
  },
14227
15266
  summary: "Handle GitHub App setup callback"
14228
15267
  }
@@ -14233,7 +15272,7 @@ init_esm_shims();
14233
15272
 
14234
15273
  // ../../packages/api-contracts/src/contracts/zero-usage-record.ts
14235
15274
  init_esm_shims();
14236
- var c50 = initContract();
15275
+ var c52 = initContract();
14237
15276
  var usageRecordSourceSchema = external_exports.enum([
14238
15277
  "chat",
14239
15278
  "automation",
@@ -14310,7 +15349,7 @@ var usageRecordResponseSchema = external_exports.object({
14310
15349
  total: external_exports.number()
14311
15350
  })
14312
15351
  });
14313
- var zeroUsageRecordContract = c50.router({
15352
+ var zeroUsageRecordContract = c52.router({
14314
15353
  get: {
14315
15354
  method: "GET",
14316
15355
  path: "/api/zero/usage/record",
@@ -14335,7 +15374,7 @@ var zeroUsageRecordContract = c50.router({
14335
15374
  });
14336
15375
 
14337
15376
  // ../../packages/api-contracts/src/contracts/zero-usage.ts
14338
- var c51 = initContract();
15377
+ var c53 = initContract();
14339
15378
  var memberUsageSchema = external_exports.object({
14340
15379
  userId: external_exports.string(),
14341
15380
  email: external_exports.string(),
@@ -14352,7 +15391,7 @@ var usageMembersResponseSchema = external_exports.object({
14352
15391
  }).nullable(),
14353
15392
  members: external_exports.array(memberUsageSchema)
14354
15393
  });
14355
- var zeroUsageMembersContract = c51.router({
15394
+ var zeroUsageMembersContract = c53.router({
14356
15395
  get: {
14357
15396
  method: "GET",
14358
15397
  path: "/api/zero/usage/members",
@@ -14374,7 +15413,7 @@ var zeroUsageMembersContract = c51.router({
14374
15413
 
14375
15414
  // ../../packages/api-contracts/src/contracts/zero-usage-daily.ts
14376
15415
  init_esm_shims();
14377
- var c52 = initContract();
15416
+ var c54 = initContract();
14378
15417
  var usageRunSchema = external_exports.object({
14379
15418
  runId: external_exports.string(),
14380
15419
  agentName: external_exports.string().nullable(),
@@ -14401,7 +15440,7 @@ var usageRunsResponseSchema = external_exports.object({
14401
15440
  total: external_exports.number()
14402
15441
  })
14403
15442
  });
14404
- var zeroUsageRunsContract = c52.router({
15443
+ var zeroUsageRunsContract = c54.router({
14405
15444
  get: {
14406
15445
  method: "GET",
14407
15446
  path: "/api/zero/usage/runs",
@@ -14429,7 +15468,7 @@ var zeroUsageRunsContract = c52.router({
14429
15468
 
14430
15469
  // ../../packages/api-contracts/src/contracts/zero-usage-insight.ts
14431
15470
  init_esm_shims();
14432
- var c53 = initContract();
15471
+ var c55 = initContract();
14433
15472
  var usageInsightBucketSchema = external_exports.object({
14434
15473
  ts: external_exports.string(),
14435
15474
  // ISO string for the bucket start
@@ -14466,7 +15505,7 @@ var usageInsightResponseSchema = external_exports.object({
14466
15505
  grandTotalCredits: external_exports.number(),
14467
15506
  grandTotalTokens: external_exports.number()
14468
15507
  });
14469
- var zeroUsageInsightContract = c53.router({
15508
+ var zeroUsageInsightContract = c55.router({
14470
15509
  get: {
14471
15510
  method: "GET",
14472
15511
  path: "/api/zero/usage/insight",
@@ -14489,7 +15528,7 @@ var zeroUsageInsightContract = c53.router({
14489
15528
 
14490
15529
  // ../../packages/api-contracts/src/contracts/usage.ts
14491
15530
  init_esm_shims();
14492
- var c54 = initContract();
15531
+ var c56 = initContract();
14493
15532
  var dailyUsageSchema = external_exports.object({
14494
15533
  date: external_exports.string(),
14495
15534
  run_count: external_exports.number(),
@@ -14506,7 +15545,7 @@ var usageResponseSchema = external_exports.object({
14506
15545
  }),
14507
15546
  daily: external_exports.array(dailyUsageSchema)
14508
15547
  });
14509
- var usageContract = c54.router({
15548
+ var usageContract = c56.router({
14510
15549
  get: {
14511
15550
  method: "GET",
14512
15551
  path: "/api/usage",
@@ -14527,7 +15566,7 @@ var usageContract = c54.router({
14527
15566
 
14528
15567
  // ../../packages/api-contracts/src/contracts/zero-team.ts
14529
15568
  init_esm_shims();
14530
- var c55 = initContract();
15569
+ var c57 = initContract();
14531
15570
  var teamComposeItemSchema = external_exports.object({
14532
15571
  id: external_exports.string(),
14533
15572
  ownerId: external_exports.string().optional(),
@@ -14539,7 +15578,7 @@ var teamComposeItemSchema = external_exports.object({
14539
15578
  headVersionId: external_exports.string().nullable(),
14540
15579
  updatedAt: external_exports.string()
14541
15580
  });
14542
- var zeroTeamContract = c55.router({
15581
+ var zeroTeamContract = c57.router({
14543
15582
  list: {
14544
15583
  method: "GET",
14545
15584
  path: "/api/zero/team",
@@ -14556,7 +15595,7 @@ var zeroTeamContract = c55.router({
14556
15595
 
14557
15596
  // ../../packages/api-contracts/src/contracts/zero-integrations-slack.ts
14558
15597
  init_esm_shims();
14559
- var c56 = initContract();
15598
+ var c58 = initContract();
14560
15599
  var slackEnvironmentSchema = external_exports.object({
14561
15600
  requiredSecrets: external_exports.array(external_exports.string()),
14562
15601
  requiredVars: external_exports.array(external_exports.string()),
@@ -14577,7 +15616,7 @@ var slackOrgStatusSchema = external_exports.object({
14577
15616
  /** OAuth install URL for re-authorization (admin-only, when scopeMismatch). */
14578
15617
  reinstallUrl: external_exports.string().nullable().optional()
14579
15618
  });
14580
- var zeroIntegrationsSlackContract = c56.router({
15619
+ var zeroIntegrationsSlackContract = c58.router({
14581
15620
  getStatus: {
14582
15621
  method: "GET",
14583
15622
  path: "/api/zero/integrations/slack",
@@ -14592,7 +15631,7 @@ var zeroIntegrationsSlackContract = c56.router({
14592
15631
  method: "DELETE",
14593
15632
  path: "/api/zero/integrations/slack",
14594
15633
  headers: authHeadersSchema,
14595
- body: c56.noBody(),
15634
+ body: c58.noBody(),
14596
15635
  query: external_exports.object({
14597
15636
  action: external_exports.string().optional()
14598
15637
  }),
@@ -14608,7 +15647,7 @@ var zeroIntegrationsSlackContract = c56.router({
14608
15647
 
14609
15648
  // ../../packages/api-contracts/src/contracts/zero-slack-connect.ts
14610
15649
  init_esm_shims();
14611
- var c57 = initContract();
15650
+ var c59 = initContract();
14612
15651
  var slackConnectStatusSchema = external_exports.object({
14613
15652
  isConnected: external_exports.boolean(),
14614
15653
  isAdmin: external_exports.boolean(),
@@ -14620,7 +15659,7 @@ var slackConnectResponseSchema = external_exports.object({
14620
15659
  connectionId: external_exports.string(),
14621
15660
  role: external_exports.string()
14622
15661
  });
14623
- var zeroSlackConnectContract = c57.router({
15662
+ var zeroSlackConnectContract = c59.router({
14624
15663
  getStatus: {
14625
15664
  method: "GET",
14626
15665
  path: "/api/zero/integrations/slack/connect",
@@ -14654,12 +15693,12 @@ var zeroSlackConnectContract = c57.router({
14654
15693
 
14655
15694
  // ../../packages/api-contracts/src/contracts/zero-slack-commands.ts
14656
15695
  init_esm_shims();
14657
- var c58 = initContract();
14658
- var zeroSlackCommandsContract = c58.router({
15696
+ var c60 = initContract();
15697
+ var zeroSlackCommandsContract = c60.router({
14659
15698
  post: {
14660
15699
  method: "POST",
14661
15700
  path: "/api/zero/slack/commands",
14662
- body: c58.type(),
15701
+ body: c60.type(),
14663
15702
  responses: {
14664
15703
  200: external_exports.unknown(),
14665
15704
  400: external_exports.object({ error: external_exports.string() }),
@@ -14672,12 +15711,12 @@ var zeroSlackCommandsContract = c58.router({
14672
15711
 
14673
15712
  // ../../packages/api-contracts/src/contracts/zero-slack-events.ts
14674
15713
  init_esm_shims();
14675
- var c59 = initContract();
14676
- var zeroSlackEventsContract = c59.router({
15714
+ var c61 = initContract();
15715
+ var zeroSlackEventsContract = c61.router({
14677
15716
  post: {
14678
15717
  method: "POST",
14679
15718
  path: "/api/zero/slack/events",
14680
- body: c59.type(),
15719
+ body: c61.type(),
14681
15720
  responses: {
14682
15721
  200: external_exports.unknown(),
14683
15722
  400: external_exports.object({ error: external_exports.string() }),
@@ -14690,7 +15729,7 @@ var zeroSlackEventsContract = c59.router({
14690
15729
 
14691
15730
  // ../../packages/api-contracts/src/contracts/zero-teams-bot.ts
14692
15731
  init_esm_shims();
14693
- var c60 = initContract();
15732
+ var c62 = initContract();
14694
15733
  var teamsActorSchema = external_exports.object({
14695
15734
  id: external_exports.string(),
14696
15735
  name: external_exports.string().nullable(),
@@ -14792,7 +15831,7 @@ var teamsBotIngressResponseSchema = external_exports.object({
14792
15831
  connectUrl: external_exports.string().nullable().optional(),
14793
15832
  dispatch: teamsBotDispatchResponseSchema.optional()
14794
15833
  });
14795
- var zeroTeamsBotContract = c60.router({
15834
+ var zeroTeamsBotContract = c62.router({
14796
15835
  post: {
14797
15836
  method: "POST",
14798
15837
  path: "/api/zero/teams/bot",
@@ -14810,7 +15849,7 @@ var zeroTeamsBotContract = c60.router({
14810
15849
 
14811
15850
  // ../../packages/api-contracts/src/contracts/zero-teams-connect.ts
14812
15851
  init_esm_shims();
14813
- var c61 = initContract();
15852
+ var c63 = initContract();
14814
15853
  var nullableStringSchema = external_exports.string().nullable();
14815
15854
  var teamsEnvironmentSchema = external_exports.object({
14816
15855
  requiredSecrets: external_exports.array(external_exports.string()),
@@ -14865,7 +15904,7 @@ var teamsConnectResponseSchema = external_exports.object({
14865
15904
  var teamsDisconnectResponseSchema = external_exports.object({
14866
15905
  success: external_exports.literal(true)
14867
15906
  });
14868
- var zeroTeamsConnectContract = c61.router({
15907
+ var zeroTeamsConnectContract = c63.router({
14869
15908
  getStatus: {
14870
15909
  method: "GET",
14871
15910
  path: "/api/zero/integrations/teams/connect",
@@ -14909,7 +15948,7 @@ var zeroTeamsConnectContract = c61.router({
14909
15948
 
14910
15949
  // ../../packages/api-contracts/src/contracts/zero-teams-browser-connect.ts
14911
15950
  init_esm_shims();
14912
- var c62 = initContract();
15951
+ var c64 = initContract();
14913
15952
  var zeroTeamsBrowserConnectQuerySchema = external_exports.object({
14914
15953
  tenantId: external_exports.string().optional(),
14915
15954
  tenantName: external_exports.string().optional(),
@@ -14929,13 +15968,13 @@ var zeroTeamsBrowserConnectQuerySchema = external_exports.object({
14929
15968
  threadId: external_exports.string().optional(),
14930
15969
  orgId: external_exports.string().optional()
14931
15970
  });
14932
- var zeroTeamsBrowserConnectContract = c62.router({
15971
+ var zeroTeamsBrowserConnectContract = c64.router({
14933
15972
  connect: {
14934
15973
  method: "GET",
14935
15974
  path: "/api/zero/teams/connect",
14936
15975
  query: zeroTeamsBrowserConnectQuerySchema,
14937
15976
  responses: {
14938
- 307: c62.noBody(),
15977
+ 307: c64.noBody(),
14939
15978
  500: external_exports.object({ error: external_exports.string() })
14940
15979
  },
14941
15980
  summary: "Browser Microsoft Teams connect flow"
@@ -14944,7 +15983,7 @@ var zeroTeamsBrowserConnectContract = c62.router({
14944
15983
 
14945
15984
  // ../../packages/api-contracts/src/contracts/zero-teams-oauth.ts
14946
15985
  init_esm_shims();
14947
- var c63 = initContract();
15986
+ var c65 = initContract();
14948
15987
  var jsonErrorSchema2 = external_exports.object({ error: external_exports.string() });
14949
15988
  var zeroTeamsOauthConnectQuerySchema = external_exports.object({
14950
15989
  orgId: external_exports.string().optional(),
@@ -14957,13 +15996,13 @@ var zeroTeamsOauthCallbackQuerySchema = external_exports.object({
14957
15996
  error_description: external_exports.string().optional(),
14958
15997
  state: external_exports.string().optional()
14959
15998
  });
14960
- var zeroTeamsOauthContract = c63.router({
15999
+ var zeroTeamsOauthContract = c65.router({
14961
16000
  connect: {
14962
16001
  method: "GET",
14963
16002
  path: "/api/zero/teams/oauth/connect",
14964
16003
  query: zeroTeamsOauthConnectQuerySchema,
14965
16004
  responses: {
14966
- 307: c63.noBody(),
16005
+ 307: c65.noBody(),
14967
16006
  400: jsonErrorSchema2,
14968
16007
  503: jsonErrorSchema2
14969
16008
  },
@@ -14974,7 +16013,7 @@ var zeroTeamsOauthContract = c63.router({
14974
16013
  path: "/api/zero/teams/oauth/callback",
14975
16014
  query: zeroTeamsOauthCallbackQuerySchema,
14976
16015
  responses: {
14977
- 307: c63.noBody(),
16016
+ 307: c65.noBody(),
14978
16017
  400: jsonErrorSchema2,
14979
16018
  503: jsonErrorSchema2
14980
16019
  },
@@ -14984,12 +16023,12 @@ var zeroTeamsOauthContract = c63.router({
14984
16023
 
14985
16024
  // ../../packages/api-contracts/src/contracts/zero-slack-interactive.ts
14986
16025
  init_esm_shims();
14987
- var c64 = initContract();
14988
- var zeroSlackInteractiveContract = c64.router({
16026
+ var c66 = initContract();
16027
+ var zeroSlackInteractiveContract = c66.router({
14989
16028
  post: {
14990
16029
  method: "POST",
14991
16030
  path: "/api/zero/slack/interactive",
14992
- body: c64.type(),
16031
+ body: c66.type(),
14993
16032
  responses: {
14994
16033
  200: external_exports.unknown(),
14995
16034
  400: external_exports.object({ error: external_exports.string() }),
@@ -15002,7 +16041,7 @@ var zeroSlackInteractiveContract = c64.router({
15002
16041
 
15003
16042
  // ../../packages/api-contracts/src/contracts/zero-slack-oauth.ts
15004
16043
  init_esm_shims();
15005
- var c65 = initContract();
16044
+ var c67 = initContract();
15006
16045
  var jsonErrorSchema3 = external_exports.object({ error: external_exports.string() });
15007
16046
  var zeroSlackOauthInstallQuerySchema = external_exports.object({
15008
16047
  orgId: external_exports.string().optional(),
@@ -15020,13 +16059,13 @@ var zeroSlackOauthCallbackQuerySchema = external_exports.object({
15020
16059
  error: external_exports.string().optional(),
15021
16060
  state: external_exports.string().optional()
15022
16061
  });
15023
- var zeroSlackOauthContract = c65.router({
16062
+ var zeroSlackOauthContract = c67.router({
15024
16063
  install: {
15025
16064
  method: "GET",
15026
16065
  path: "/api/zero/slack/oauth/install",
15027
16066
  query: zeroSlackOauthInstallQuerySchema,
15028
16067
  responses: {
15029
- 307: c65.noBody(),
16068
+ 307: c67.noBody(),
15030
16069
  503: jsonErrorSchema3
15031
16070
  },
15032
16071
  summary: "Start Slack bot OAuth install"
@@ -15036,7 +16075,7 @@ var zeroSlackOauthContract = c65.router({
15036
16075
  path: "/api/zero/slack/oauth/connect",
15037
16076
  query: zeroSlackOauthConnectQuerySchema,
15038
16077
  responses: {
15039
- 307: c65.noBody(),
16078
+ 307: c67.noBody(),
15040
16079
  400: jsonErrorSchema3,
15041
16080
  404: jsonErrorSchema3,
15042
16081
  503: jsonErrorSchema3
@@ -15048,7 +16087,7 @@ var zeroSlackOauthContract = c65.router({
15048
16087
  path: "/api/zero/slack/oauth/callback",
15049
16088
  query: zeroSlackOauthCallbackQuerySchema,
15050
16089
  responses: {
15051
- 307: c65.noBody(),
16090
+ 307: c67.noBody(),
15052
16091
  400: jsonErrorSchema3,
15053
16092
  503: jsonErrorSchema3
15054
16093
  },
@@ -15058,12 +16097,12 @@ var zeroSlackOauthContract = c65.router({
15058
16097
 
15059
16098
  // ../../packages/api-contracts/src/contracts/zero-slack-channels.ts
15060
16099
  init_esm_shims();
15061
- var c66 = initContract();
16100
+ var c68 = initContract();
15062
16101
  var slackChannelSchema = external_exports.object({
15063
16102
  id: external_exports.string(),
15064
16103
  name: external_exports.string()
15065
16104
  });
15066
- var zeroSlackChannelsContract = c66.router({
16105
+ var zeroSlackChannelsContract = c68.router({
15067
16106
  list: {
15068
16107
  method: "GET",
15069
16108
  path: "/api/zero/slack/channels",
@@ -15079,12 +16118,12 @@ var zeroSlackChannelsContract = c66.router({
15079
16118
 
15080
16119
  // ../../packages/api-contracts/src/contracts/zero-queue-position.ts
15081
16120
  init_esm_shims();
15082
- var c67 = initContract();
16121
+ var c69 = initContract();
15083
16122
  var queuePositionResponseSchema = external_exports.object({
15084
16123
  position: external_exports.number(),
15085
16124
  total: external_exports.number()
15086
16125
  });
15087
- var zeroQueuePositionContract = c67.router({
16126
+ var zeroQueuePositionContract = c69.router({
15088
16127
  getPosition: {
15089
16128
  method: "GET",
15090
16129
  path: "/api/zero/queue-position",
@@ -15104,7 +16143,7 @@ var zeroQueuePositionContract = c67.router({
15104
16143
 
15105
16144
  // ../../packages/api-contracts/src/contracts/zero-report-error.ts
15106
16145
  init_esm_shims();
15107
- var c68 = initContract();
16146
+ var c70 = initContract();
15108
16147
  var reportErrorBodySchema = external_exports.object({
15109
16148
  runId: external_exports.uuid("Run ID must be a valid UUID"),
15110
16149
  title: external_exports.string().min(1, "Title is required"),
@@ -15113,7 +16152,7 @@ var reportErrorBodySchema = external_exports.object({
15113
16152
  var reportErrorResponseSchema = external_exports.object({
15114
16153
  reference: external_exports.string()
15115
16154
  });
15116
- var zeroReportErrorContract = c68.router({
16155
+ var zeroReportErrorContract = c70.router({
15117
16156
  submit: {
15118
16157
  method: "POST",
15119
16158
  path: "/api/zero/report-error",
@@ -15132,7 +16171,7 @@ var zeroReportErrorContract = c68.router({
15132
16171
 
15133
16172
  // ../../packages/api-contracts/src/contracts/zero-insights.ts
15134
16173
  init_esm_shims();
15135
- var c69 = initContract();
16174
+ var c71 = initContract();
15136
16175
  var insightAgentSchema = external_exports.object({
15137
16176
  agentName: external_exports.string(),
15138
16177
  agentId: external_exports.string().nullable(),
@@ -15192,7 +16231,7 @@ var insightsResponseSchema = external_exports.object({
15192
16231
  totalRuns: external_exports.number(),
15193
16232
  lastUpdated: external_exports.string().nullable()
15194
16233
  });
15195
- var zeroInsightsContract = c69.router({
16234
+ var zeroInsightsContract = c71.router({
15196
16235
  get: {
15197
16236
  method: "GET",
15198
16237
  path: "/api/zero/insights",
@@ -15210,8 +16249,8 @@ var zeroInsightsContract = c69.router({
15210
16249
 
15211
16250
  // ../../packages/api-contracts/src/contracts/push-subscriptions.ts
15212
16251
  init_esm_shims();
15213
- var c70 = initContract();
15214
- var pushSubscriptionsContract = c70.router({
16252
+ var c72 = initContract();
16253
+ var pushSubscriptionsContract = c72.router({
15215
16254
  register: {
15216
16255
  method: "POST",
15217
16256
  path: "/api/zero/push-subscriptions",
@@ -15235,7 +16274,7 @@ var pushSubscriptionsContract = c70.router({
15235
16274
 
15236
16275
  // ../../packages/api-contracts/src/contracts/zero-image-io-generate.ts
15237
16276
  init_esm_shims();
15238
- var c71 = initContract();
16277
+ var c73 = initContract();
15239
16278
  var stringOrStringArraySchema = external_exports.union([
15240
16279
  external_exports.string(),
15241
16280
  external_exports.array(external_exports.string()).readonly()
@@ -15290,7 +16329,7 @@ var zeroImageIoGenerateResponseSchema = external_exports.object({
15290
16329
  inputFidelity: external_exports.string().optional(),
15291
16330
  imagePromptStrength: external_exports.number().optional()
15292
16331
  });
15293
- var zeroImageIoGenerateContract = c71.router({
16332
+ var zeroImageIoGenerateContract = c73.router({
15294
16333
  post: {
15295
16334
  method: "POST",
15296
16335
  path: "/api/zero/image-io/generate",
@@ -15313,7 +16352,7 @@ var zeroImageIoGenerateContract = c71.router({
15313
16352
 
15314
16353
  // ../../packages/api-contracts/src/contracts/zero-image-io-interpret-marks.ts
15315
16354
  init_esm_shims();
15316
- var c72 = initContract();
16355
+ var c74 = initContract();
15317
16356
  var ZERO_IMAGE_INTERPRET_MARKS_MAX_REGIONS = 16;
15318
16357
  var ZERO_IMAGE_INTERPRET_MARKS_MAX_INSTRUCTION_LENGTH = 2e3;
15319
16358
  var zeroImageIoInterpretMarksRegionSchema = external_exports.object({
@@ -15340,7 +16379,7 @@ var zeroImageIoInterpretMarksResultSchema = external_exports.object({
15340
16379
  var zeroImageIoInterpretMarksResponseSchema = external_exports.object({
15341
16380
  regions: external_exports.array(zeroImageIoInterpretMarksResultSchema)
15342
16381
  });
15343
- var zeroImageIoInterpretMarksContract = c72.router({
16382
+ var zeroImageIoInterpretMarksContract = c74.router({
15344
16383
  post: {
15345
16384
  method: "POST",
15346
16385
  path: "/api/zero/image-io/interpret-marks",
@@ -15362,7 +16401,7 @@ var zeroImageIoInterpretMarksContract = c72.router({
15362
16401
 
15363
16402
  // ../../packages/api-contracts/src/contracts/zero-image-share-x.ts
15364
16403
  init_esm_shims();
15365
- var c73 = initContract();
16404
+ var c75 = initContract();
15366
16405
  var zeroImageShareXRequestSchema = external_exports.object({
15367
16406
  imageUrl: external_exports.string().min(1),
15368
16407
  caption: external_exports.string().max(280).optional()
@@ -15371,7 +16410,7 @@ var zeroImageShareXResponseSchema = external_exports.object({
15371
16410
  tweetId: external_exports.string(),
15372
16411
  tweetUrl: external_exports.string()
15373
16412
  });
15374
- var zeroImageShareXContract = c73.router({
16413
+ var zeroImageShareXContract = c75.router({
15375
16414
  post: {
15376
16415
  method: "POST",
15377
16416
  path: "/api/zero/image-share/x",
@@ -15392,7 +16431,7 @@ var zeroImageShareXContract = c73.router({
15392
16431
 
15393
16432
  // ../../packages/api-contracts/src/contracts/zero-banking.ts
15394
16433
  init_esm_shims();
15395
- var c74 = initContract();
16434
+ var c76 = initContract();
15396
16435
  var dateOnlySchema = external_exports.string().regex(/^\d{4}-\d{2}-\d{2}$/, "Date must be formatted as YYYY-MM-DD");
15397
16436
  var zeroBankingProviderSchema = external_exports.literal("finicity");
15398
16437
  var zeroBankingAccountSchema = external_exports.object({
@@ -15474,7 +16513,7 @@ var zeroBankingTransactionsResponses = {
15474
16513
  502: apiErrorSchema,
15475
16514
  503: apiErrorSchema
15476
16515
  };
15477
- var zeroBankingContract = c74.router({
16516
+ var zeroBankingContract = c76.router({
15478
16517
  accounts: {
15479
16518
  method: "POST",
15480
16519
  path: "/api/zero/banking/accounts",
@@ -15503,7 +16542,7 @@ var zeroBankingContract = c74.router({
15503
16542
 
15504
16543
  // ../../packages/api-contracts/src/contracts/zero-maps.ts
15505
16544
  init_esm_shims();
15506
- var c75 = initContract();
16545
+ var c77 = initContract();
15507
16546
  var travelModeSchema = external_exports.enum(["driving", "walking", "bicycling", "transit"]);
15508
16547
  var placeSearchFieldsetSchema = external_exports.enum(["pro", "enterprise"]);
15509
16548
  var placeDetailFieldsetSchema = external_exports.enum(["essentials", "pro", "enterprise"]);
@@ -15611,7 +16650,7 @@ var mapsResponses = {
15611
16650
  502: apiErrorSchema,
15612
16651
  503: apiErrorSchema
15613
16652
  };
15614
- var zeroMapsContract = c75.router({
16653
+ var zeroMapsContract = c77.router({
15615
16654
  geocode: {
15616
16655
  method: "POST",
15617
16656
  path: "/api/zero/maps/geocode",
@@ -15672,7 +16711,7 @@ var zeroMapsContract = c75.router({
15672
16711
 
15673
16712
  // ../../packages/api-contracts/src/contracts/zero-weather.ts
15674
16713
  init_esm_shims();
15675
- var c76 = initContract();
16714
+ var c78 = initContract();
15676
16715
  var ZERO_WEATHER_ATTRIBUTION = "Source: Includes weather data from Google";
15677
16716
  var ZERO_AIR_QUALITY_ATTRIBUTION = "Source: Includes air quality data from Google";
15678
16717
  var zeroWeatherConditionsOperationSchema = external_exports.enum([
@@ -15751,7 +16790,7 @@ var airQualityResponses = {
15751
16790
  502: apiErrorSchema,
15752
16791
  503: apiErrorSchema
15753
16792
  };
15754
- var zeroWeatherContract = c76.router({
16793
+ var zeroWeatherContract = c78.router({
15755
16794
  current: {
15756
16795
  method: "POST",
15757
16796
  path: "/api/zero/weather/current",
@@ -15796,7 +16835,7 @@ var zeroWeatherContract = c76.router({
15796
16835
 
15797
16836
  // ../../packages/api-contracts/src/contracts/zero-video-io-generate.ts
15798
16837
  init_esm_shims();
15799
- var c77 = initContract();
16838
+ var c79 = initContract();
15800
16839
  var stringOrStringArraySchema2 = external_exports.union([
15801
16840
  external_exports.string(),
15802
16841
  external_exports.array(external_exports.string()).readonly()
@@ -15837,7 +16876,7 @@ var zeroVideoIoGenerateResponseSchema = external_exports.object({
15837
16876
  sourceUrl: external_exports.string(),
15838
16877
  requestId: external_exports.string().optional()
15839
16878
  });
15840
- var zeroVideoIoGenerateContract = c77.router({
16879
+ var zeroVideoIoGenerateContract = c79.router({
15841
16880
  post: {
15842
16881
  method: "POST",
15843
16882
  path: "/api/zero/video-io/generate",
@@ -15861,13 +16900,13 @@ var zeroVideoIoGenerateContract = c77.router({
15861
16900
 
15862
16901
  // ../../packages/api-contracts/src/contracts/zero-voice-io-quota.ts
15863
16902
  init_esm_shims();
15864
- var c78 = initContract();
16903
+ var c80 = initContract();
15865
16904
  var audioInputQuotaResponseSchema = external_exports.object({
15866
16905
  allowed: external_exports.boolean(),
15867
16906
  count: external_exports.number().int().nonnegative(),
15868
16907
  limit: external_exports.number().int().nonnegative().nullable()
15869
16908
  });
15870
- var zeroVoiceIoQuotaContract = c78.router({
16909
+ var zeroVoiceIoQuotaContract = c80.router({
15871
16910
  get: {
15872
16911
  method: "GET",
15873
16912
  path: "/api/zero/voice-io/quota",
@@ -15883,7 +16922,7 @@ var zeroVoiceIoQuotaContract = c78.router({
15883
16922
 
15884
16923
  // ../../packages/api-contracts/src/contracts/zero-voice-io-speech.ts
15885
16924
  init_esm_shims();
15886
- var c79 = initContract();
16925
+ var c81 = initContract();
15887
16926
  var zeroVoiceIoSpeechRequestSchema = external_exports.object({
15888
16927
  text: external_exports.string().optional(),
15889
16928
  voice: external_exports.string().optional(),
@@ -15900,7 +16939,7 @@ var zeroVoiceIoSpeechResponseSchema = external_exports.object({
15900
16939
  model: external_exports.string(),
15901
16940
  voice: external_exports.string()
15902
16941
  });
15903
- var zeroVoiceIoSpeechContract = c79.router({
16942
+ var zeroVoiceIoSpeechContract = c81.router({
15904
16943
  post: {
15905
16944
  method: "POST",
15906
16945
  path: "/api/zero/voice-io/speech",
@@ -15922,7 +16961,7 @@ var zeroVoiceIoSpeechContract = c79.router({
15922
16961
 
15923
16962
  // ../../packages/api-contracts/src/contracts/zero-voice-io-stt.ts
15924
16963
  init_esm_shims();
15925
- var c80 = initContract();
16964
+ var c82 = initContract();
15926
16965
  var zeroVoiceIoSttSegmentSchema = external_exports.object({
15927
16966
  start: external_exports.number(),
15928
16967
  end: external_exports.number(),
@@ -15938,13 +16977,13 @@ var zeroVoiceIoSttQuotaErrorSchema = apiErrorSchema.extend({
15938
16977
  limit: external_exports.number().nullable()
15939
16978
  }).optional()
15940
16979
  });
15941
- var zeroVoiceIoSttContract = c80.router({
16980
+ var zeroVoiceIoSttContract = c82.router({
15942
16981
  post: {
15943
16982
  method: "POST",
15944
16983
  path: "/api/zero/voice-io/stt",
15945
16984
  headers: authHeadersSchema,
15946
16985
  contentType: "multipart/form-data",
15947
- body: c80.type(),
16986
+ body: c82.type(),
15948
16987
  query: external_exports.object({
15949
16988
  verbose: external_exports.coerce.boolean().optional().default(false)
15950
16989
  }),
@@ -15964,7 +17003,7 @@ var zeroVoiceIoSttContract = c80.router({
15964
17003
 
15965
17004
  // ../../packages/api-contracts/src/contracts/zero-uploads.ts
15966
17005
  init_esm_shims();
15967
- var c81 = initContract();
17006
+ var c83 = initContract();
15968
17007
  var prepareRequestSchema = external_exports.object({
15969
17008
  filename: external_exports.string().min(1).max(255),
15970
17009
  contentType: external_exports.string().min(1).max(200),
@@ -16040,7 +17079,7 @@ var completeResponseSchema = external_exports.object({
16040
17079
  size: external_exports.number(),
16041
17080
  url: external_exports.string().url()
16042
17081
  });
16043
- var zeroUploadsContract = c81.router({
17082
+ var zeroUploadsContract = c83.router({
16044
17083
  prepare: {
16045
17084
  method: "POST",
16046
17085
  path: "/api/zero/uploads/prepare",
@@ -16121,7 +17160,7 @@ var zeroUploadsContract = c81.router({
16121
17160
 
16122
17161
  // ../../packages/api-contracts/src/contracts/zero-integrations-telegram.ts
16123
17162
  init_esm_shims();
16124
- var c82 = initContract();
17163
+ var c84 = initContract();
16125
17164
  var telegramEnvironmentSchema = external_exports.object({
16126
17165
  requiredSecrets: external_exports.array(external_exports.string()),
16127
17166
  requiredVars: external_exports.array(external_exports.string()),
@@ -16220,7 +17259,7 @@ var telegramSetupStatusSchema = external_exports.object({
16220
17259
  var telegramWebhookPathParamsSchema = external_exports.object({
16221
17260
  telegramBotId: external_exports.string().min(1)
16222
17261
  });
16223
- var zeroIntegrationsTelegramContract = c82.router({
17262
+ var zeroIntegrationsTelegramContract = c84.router({
16224
17263
  list: {
16225
17264
  method: "GET",
16226
17265
  path: "/api/integrations/telegram",
@@ -16251,9 +17290,9 @@ var zeroIntegrationsTelegramContract = c82.router({
16251
17290
  path: "/api/integrations/telegram/:botId",
16252
17291
  headers: authHeadersSchema,
16253
17292
  pathParams: external_exports.object({ botId: external_exports.string().min(1) }),
16254
- body: c82.noBody(),
17293
+ body: c84.noBody(),
16255
17294
  responses: {
16256
- 204: c82.noBody(),
17295
+ 204: c84.noBody(),
16257
17296
  401: apiErrorSchema,
16258
17297
  403: apiErrorSchema,
16259
17298
  404: apiErrorSchema
@@ -16264,10 +17303,10 @@ var zeroIntegrationsTelegramContract = c82.router({
16264
17303
  method: "DELETE",
16265
17304
  path: "/api/integrations/telegram/link",
16266
17305
  headers: authHeadersSchema,
16267
- body: c82.noBody(),
17306
+ body: c84.noBody(),
16268
17307
  query: external_exports.object({ botId: external_exports.string().optional() }),
16269
17308
  responses: {
16270
- 204: c82.noBody(),
17309
+ 204: c84.noBody(),
16271
17310
  401: apiErrorSchema,
16272
17311
  404: apiErrorSchema
16273
17312
  },
@@ -16298,7 +17337,7 @@ var zeroIntegrationsTelegramContract = c82.router({
16298
17337
  sig: external_exports.string().optional()
16299
17338
  }),
16300
17339
  responses: {
16301
- 200: c82.otherResponse({
17340
+ 200: c84.otherResponse({
16302
17341
  contentType: "application/octet-stream",
16303
17342
  body: external_exports.unknown()
16304
17343
  }),
@@ -16313,7 +17352,7 @@ var zeroIntegrationsTelegramContract = c82.router({
16313
17352
  method: "GET",
16314
17353
  path: "/api/integrations/telegram/auth-callback",
16315
17354
  responses: {
16316
- 200: c82.otherResponse({
17355
+ 200: c84.otherResponse({
16317
17356
  contentType: "text/html",
16318
17357
  body: external_exports.unknown()
16319
17358
  })
@@ -16372,19 +17411,19 @@ var zeroIntegrationsTelegramContract = c82.router({
16372
17411
  pathParams: telegramWebhookPathParamsSchema,
16373
17412
  body: external_exports.unknown(),
16374
17413
  responses: {
16375
- 200: c82.otherResponse({
17414
+ 200: c84.otherResponse({
16376
17415
  contentType: "text/plain",
16377
17416
  body: external_exports.string()
16378
17417
  }),
16379
- 400: c82.otherResponse({
17418
+ 400: c84.otherResponse({
16380
17419
  contentType: "text/plain",
16381
17420
  body: external_exports.string()
16382
17421
  }),
16383
- 401: c82.otherResponse({
17422
+ 401: c84.otherResponse({
16384
17423
  contentType: "text/plain",
16385
17424
  body: external_exports.string()
16386
17425
  }),
16387
- 404: c82.otherResponse({
17426
+ 404: c84.otherResponse({
16388
17427
  contentType: "text/plain",
16389
17428
  body: external_exports.string()
16390
17429
  })
@@ -16395,7 +17434,7 @@ var zeroIntegrationsTelegramContract = c82.router({
16395
17434
 
16396
17435
  // ../../packages/api-contracts/src/contracts/zero-integrations-agentphone.ts
16397
17436
  init_esm_shims();
16398
- var c83 = initContract();
17437
+ var c85 = initContract();
16399
17438
  var agentPhoneConnectBodySchema = external_exports.object({
16400
17439
  phoneHandle: external_exports.string().min(1),
16401
17440
  agentphoneAgentId: external_exports.string().min(1),
@@ -16432,7 +17471,7 @@ var agentPhoneStartLinkResponseSchema = external_exports.object({
16432
17471
  phoneHandle: external_exports.string(),
16433
17472
  verificationSent: external_exports.literal(true)
16434
17473
  });
16435
- var zeroIntegrationsAgentPhoneContract = c83.router({
17474
+ var zeroIntegrationsAgentPhoneContract = c85.router({
16436
17475
  connectAgentPhone: {
16437
17476
  method: "POST",
16438
17477
  path: "/api/agentphone/connect",
@@ -16450,7 +17489,7 @@ var zeroIntegrationsAgentPhoneContract = c83.router({
16450
17489
  method: "POST",
16451
17490
  path: "/api/agentphone/webhook",
16452
17491
  headers: agentPhoneWebhookHeadersSchema,
16453
- body: c83.type(),
17492
+ body: c85.type(),
16454
17493
  responses: {
16455
17494
  200: external_exports.string(),
16456
17495
  400: external_exports.string(),
@@ -16488,9 +17527,9 @@ var zeroIntegrationsAgentPhoneContract = c83.router({
16488
17527
  method: "DELETE",
16489
17528
  path: "/api/integrations/agentphone/link",
16490
17529
  headers: authHeadersSchema,
16491
- body: c83.noBody(),
17530
+ body: c85.noBody(),
16492
17531
  responses: {
16493
- 204: c83.noBody(),
17532
+ 204: c85.noBody(),
16494
17533
  401: apiErrorSchema,
16495
17534
  404: apiErrorSchema
16496
17535
  },
@@ -18239,6 +19278,43 @@ function parseSearchQuery(value, label) {
18239
19278
 
18240
19279
  // src/commands/zero/logs/search.ts
18241
19280
  init_esm_shims();
19281
+
19282
+ // src/lib/api/domains/zero-logs.ts
19283
+ init_esm_shims();
19284
+ async function listZeroLogs(options) {
19285
+ const config = await getClientConfig();
19286
+ const client = initClient(logsListContract, config);
19287
+ const result = await client.list({
19288
+ query: {
19289
+ agentId: options?.agentId,
19290
+ status: options?.status,
19291
+ since: options?.since,
19292
+ limit: options?.limit,
19293
+ cursor: options?.cursor
19294
+ }
19295
+ });
19296
+ if (result.status === 200) return result.body;
19297
+ handleError(result, "Failed to list zero logs");
19298
+ }
19299
+ async function searchZeroLogs(options) {
19300
+ const config = await getClientConfig();
19301
+ const client = initClient(zeroLogsSearchContract, config);
19302
+ const result = await client.searchLogs({
19303
+ query: {
19304
+ keyword: options.keyword,
19305
+ agentId: options.agentId,
19306
+ runId: options.runId,
19307
+ since: options.since,
19308
+ limit: options.limit,
19309
+ before: options.before,
19310
+ after: options.after
19311
+ }
19312
+ });
19313
+ if (result.status === 200) return result.body;
19314
+ handleError(result, "Failed to search zero logs");
19315
+ }
19316
+
19317
+ // src/commands/zero/logs/search.ts
18242
19318
  var SEVEN_DAYS_MS = 7 * 24 * 60 * 60 * 1e3;
18243
19319
  function supportedSearchFramework(framework) {
18244
19320
  const normalized = framework ?? void 0;
@@ -18383,12 +19459,14 @@ Examples:
18383
19459
  );
18384
19460
 
18385
19461
  export {
19462
+ zeroRunAgentEventsContract,
18386
19463
  parseTime,
18387
19464
  isSupportedFramework,
18388
19465
  EventStreamNormalizer,
18389
19466
  EventRenderer,
19467
+ listZeroLogs,
18390
19468
  parseSearchQuery,
18391
19469
  runLogsSearch,
18392
19470
  searchCommand
18393
19471
  };
18394
- //# sourceMappingURL=chunk-A6TMOGPR.js.map
19472
+ //# sourceMappingURL=chunk-ZKNJW4K6.js.map