@vm0/cli 9.278.0 → 9.279.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (230) hide show
  1. package/{agent-HUDTEGLK.js → agent-4N7ZZDFJ.js} +16 -10
  2. package/agent-4N7ZZDFJ.js.map +1 -0
  3. package/{banking-BMZONEXP.js → banking-HBODHOCJ.js} +64 -10
  4. package/banking-HBODHOCJ.js.map +1 -0
  5. package/{browser-LQP445CU.js → browser-KT5KVZY2.js} +7 -8
  6. package/browser-KT5KVZY2.js.map +1 -0
  7. package/{chat-UF7QAWUT.js → chat-6RRIXDF5.js} +29 -21
  8. package/chat-6RRIXDF5.js.map +1 -0
  9. package/chunk-4ATK3VFX.js +202 -0
  10. package/chunk-4ATK3VFX.js.map +1 -0
  11. package/chunk-4CXT7THL.js +55 -0
  12. package/chunk-4CXT7THL.js.map +1 -0
  13. package/{chunk-BRV4D3P2.js → chunk-4QGLWHVD.js} +3 -3
  14. package/chunk-4SGKKHZW.js +309 -0
  15. package/chunk-4SGKKHZW.js.map +1 -0
  16. package/{chunk-AUWSMG4F.js → chunk-52CNCL6Y.js} +5 -2
  17. package/{chunk-AUWSMG4F.js.map → chunk-52CNCL6Y.js.map} +1 -1
  18. package/chunk-5RY3DZTW.js +101 -0
  19. package/chunk-5RY3DZTW.js.map +1 -0
  20. package/chunk-AFKJ4MU3.js +105 -0
  21. package/chunk-AFKJ4MU3.js.map +1 -0
  22. package/chunk-AMLZWOJK.js +792 -0
  23. package/chunk-AMLZWOJK.js.map +1 -0
  24. package/chunk-B3U6VDOF.js +90 -0
  25. package/chunk-B3U6VDOF.js.map +1 -0
  26. package/chunk-B6RXOHA2.js +801 -0
  27. package/chunk-B6RXOHA2.js.map +1 -0
  28. package/chunk-BB6QIVAM.js +189 -0
  29. package/chunk-BB6QIVAM.js.map +1 -0
  30. package/{chunk-NDYPPVD3.js → chunk-BMQE7GWV.js} +2 -2
  31. package/chunk-BMRAUGFL.js +198 -0
  32. package/chunk-BMRAUGFL.js.map +1 -0
  33. package/{chunk-45J5VDVQ.js → chunk-BS6PZU7T.js} +2 -2
  34. package/chunk-C4LKBBIS.js +2053 -0
  35. package/chunk-C4LKBBIS.js.map +1 -0
  36. package/{chunk-QC63TUJC.js → chunk-CBNDRL4P.js} +3 -3
  37. package/{chunk-V7A6ZFHR.js → chunk-CMWQJ3XO.js} +26 -775
  38. package/chunk-CMWQJ3XO.js.map +1 -0
  39. package/{chunk-NKYACNWA.js → chunk-DUWZNPUA.js} +2 -2
  40. package/{chunk-BVCE3PAD.js → chunk-G2HB4N56.js} +2 -2
  41. package/chunk-HMH473P6.js +362 -0
  42. package/chunk-HMH473P6.js.map +1 -0
  43. package/chunk-HMUAPCDD.js +81 -0
  44. package/chunk-HMUAPCDD.js.map +1 -0
  45. package/chunk-HXIDRGW4.js +434 -0
  46. package/chunk-HXIDRGW4.js.map +1 -0
  47. package/chunk-JXWXVXOW.js +1275 -0
  48. package/chunk-JXWXVXOW.js.map +1 -0
  49. package/{chunk-32FE3MDA.js → chunk-KHPTA6UQ.js} +2 -2
  50. package/chunk-KWHNNLC5.js +31 -0
  51. package/chunk-KWHNNLC5.js.map +1 -0
  52. package/chunk-LLQCX33F.js +49 -0
  53. package/chunk-LLQCX33F.js.map +1 -0
  54. package/{chunk-E53W6UVQ.js → chunk-LO24UKAH.js} +5 -5
  55. package/chunk-LO24UKAH.js.map +1 -0
  56. package/chunk-ML33LZ5V.js +66 -0
  57. package/chunk-ML33LZ5V.js.map +1 -0
  58. package/chunk-NIG6LRRX.js +39 -0
  59. package/chunk-NIG6LRRX.js.map +1 -0
  60. package/{chunk-JAUTPXVK.js → chunk-PAULHBEP.js} +2 -2
  61. package/chunk-PO3DAXC6.js +52 -0
  62. package/chunk-PO3DAXC6.js.map +1 -0
  63. package/chunk-QQT7SBVV.js +1300 -0
  64. package/chunk-QQT7SBVV.js.map +1 -0
  65. package/{chunk-J45P5ALH.js → chunk-RAQ7DE6K.js} +2 -2
  66. package/chunk-RKOODQ77.js +194 -0
  67. package/chunk-RKOODQ77.js.map +1 -0
  68. package/{chunk-V5ZVB7RJ.js → chunk-T656XQMT.js} +7 -7
  69. package/chunk-T656XQMT.js.map +1 -0
  70. package/chunk-TDLAIIDN.js +568 -0
  71. package/chunk-TDLAIIDN.js.map +1 -0
  72. package/{chunk-A6TMOGPR.js → chunk-TQKKFLRI.js} +1416 -339
  73. package/chunk-TQKKFLRI.js.map +1 -0
  74. package/{chunk-5ZZI2LSO.js → chunk-U2PPHCTL.js} +7 -7
  75. package/{chunk-VNNPAHD3.js → chunk-UH7XK55U.js} +2 -2
  76. package/chunk-VCAMYQOI.js +31 -0
  77. package/chunk-VCAMYQOI.js.map +1 -0
  78. package/chunk-WERS62WT.js +21130 -0
  79. package/chunk-WERS62WT.js.map +1 -0
  80. package/chunk-XIZVMBW4.js +188 -0
  81. package/chunk-XIZVMBW4.js.map +1 -0
  82. package/{chunk-SVFOPAWB.js → chunk-XJXBVERS.js} +2 -2
  83. package/chunk-XQ4CXHGB.js +131 -0
  84. package/chunk-XQ4CXHGB.js.map +1 -0
  85. package/{chunk-F2AM4RWA.js → chunk-XW5M3ADB.js} +3 -3
  86. package/{chunk-F2AM4RWA.js.map → chunk-XW5M3ADB.js.map} +1 -1
  87. package/chunk-YEXLP5U7.js +64 -0
  88. package/chunk-YEXLP5U7.js.map +1 -0
  89. package/chunk-ZEFTCUFJ.js +114 -0
  90. package/chunk-ZEFTCUFJ.js.map +1 -0
  91. package/{computer-use-RRD7BCCK.js → computer-use-VG65FLDL.js} +12 -10
  92. package/computer-use-VG65FLDL.js.map +1 -0
  93. package/{connector-XX7UU6XE.js → connector-25H4SU52.js} +28 -16
  94. package/connector-25H4SU52.js.map +1 -0
  95. package/{credit-GDNNAQRO.js → credit-D3RLUW6C.js} +12 -14
  96. package/credit-D3RLUW6C.js.map +1 -0
  97. package/{developer-support-IISP5UBI.js → developer-support-NMZJG32A.js} +30 -10
  98. package/developer-support-NMZJG32A.js.map +1 -0
  99. package/{doctor-IZM2TJOH.js → doctor-MXF4RDPN.js} +17 -15
  100. package/doctor-MXF4RDPN.js.map +1 -0
  101. package/{esm-GRI4FR5B.js → esm-XLHK4LBA.js} +3 -3
  102. package/{feishu-XB7SQBSI.js → feishu-SHMTS5ZM.js} +102 -12
  103. package/feishu-SHMTS5ZM.js.map +1 -0
  104. package/{finance-OGWHKQLU.js → finance-A3QUYKGH.js} +52 -12
  105. package/finance-A3QUYKGH.js.map +1 -0
  106. package/{generate-AA2PVOYQ.js → generate-QQ6ZTCR2.js} +31 -26
  107. package/generate-QQ6ZTCR2.js.map +1 -0
  108. package/{getMachineId-bsd-UR6WEJ6T.js → getMachineId-bsd-WOC3WZM5.js} +4 -4
  109. package/{getMachineId-darwin-O3UESQMK.js → getMachineId-darwin-K35YZX2F.js} +4 -4
  110. package/{getMachineId-linux-EGNGXDN3.js → getMachineId-linux-A4QJCCBS.js} +3 -3
  111. package/{getMachineId-unsupported-EZ7SMARH.js → getMachineId-unsupported-UOQIWS5S.js} +3 -3
  112. package/{getMachineId-win-CM62ICHH.js → getMachineId-win-YJDJQYJQ.js} +4 -4
  113. package/{github-VJVIBTVF.js → github-5M3YRGDF.js} +86 -11
  114. package/github-5M3YRGDF.js.map +1 -0
  115. package/{goal-7SYVHDTK.js → goal-F6G5KOI2.js} +72 -16
  116. package/goal-F6G5KOI2.js.map +1 -0
  117. package/{host-UVQMIOBA.js → host-6UT2OW4I.js} +127 -13
  118. package/host-6UT2OW4I.js.map +1 -0
  119. package/{intro-2UYXBOHI.js → intro-HYSW634N.js} +3 -3
  120. package/{logs-PIS4X24E.js → logs-YH346I7J.js} +57 -17
  121. package/logs-YH346I7J.js.map +1 -0
  122. package/{mail-L33OSQ2R.js → mail-SC44CH54.js} +42 -11
  123. package/mail-SC44CH54.js.map +1 -0
  124. package/{maps-D5XTXU5U.js → maps-YQ62JSHO.js} +68 -14
  125. package/maps-YQ62JSHO.js.map +1 -0
  126. package/{model-ZFMRECDM.js → model-PPOIXDVZ.js} +9 -9
  127. package/model-PPOIXDVZ.js.map +1 -0
  128. package/{model-provider-EZZ2DRYZ.js → model-provider-PD7FGL7A.js} +9 -9
  129. package/model-provider-PD7FGL7A.js.map +1 -0
  130. package/package.json +2 -5
  131. package/{people-search-PFTIO2QS.js → people-search-VS5J4HME.js} +25 -9
  132. package/people-search-VS5J4HME.js.map +1 -0
  133. package/{phone-6SG5ZUNL.js → phone-YZ7TX25A.js} +93 -12
  134. package/phone-YZ7TX25A.js.map +1 -0
  135. package/{recognize-LLU6J3SW.js → recognize-XKO53YEI.js} +30 -12
  136. package/recognize-XKO53YEI.js.map +1 -0
  137. package/{resource-FGUSXS4G.js → resource-V43QBVKO.js} +25 -11
  138. package/resource-V43QBVKO.js.map +1 -0
  139. package/{scrape-BAUZ2YFD.js → scrape-PDMJI2PY.js} +25 -9
  140. package/scrape-PDMJI2PY.js.map +1 -0
  141. package/{search-DLO5RXRM.js → search-USJZ3HKX.js} +35 -15
  142. package/search-USJZ3HKX.js.map +1 -0
  143. package/{slack-CVATPKP3.js → slack-K557P6WW.js} +106 -14
  144. package/slack-K557P6WW.js.map +1 -0
  145. package/{teams-ZZYO6YIK.js → teams-HN2UOU3U.js} +93 -12
  146. package/teams-HN2UOU3U.js.map +1 -0
  147. package/{telegram-VY7T4YAR.js → telegram-YCRQFLJC.js} +104 -13
  148. package/telegram-YCRQFLJC.js.map +1 -0
  149. package/{undici-MBS5ACFE.js → undici-YESHDB4G.js} +2 -2
  150. package/{upgrade-GFA4ZUU4.js → upgrade-VVJ3KJ6V.js} +7 -8
  151. package/upgrade-VVJ3KJ6V.js.map +1 -0
  152. package/{video-STFG7BET.js → video-DNGIFKVY.js} +8 -7
  153. package/video-DNGIFKVY.js.map +1 -0
  154. package/{weather-ISJEHJWR.js → weather-4Z7OZ2TP.js} +73 -19
  155. package/weather-4Z7OZ2TP.js.map +1 -0
  156. package/{web-YN4CVHK7.js → web-C6RLBMZM.js} +8 -8
  157. package/web-C6RLBMZM.js.map +1 -0
  158. package/{web-search-PC7IECND.js → web-search-CDPWLF74.js} +25 -9
  159. package/web-search-CDPWLF74.js.map +1 -0
  160. package/{whoami-KXFXZGM6.js → whoami-VDI5345O.js} +19 -10
  161. package/whoami-VDI5345O.js.map +1 -0
  162. package/{workflow-O7YZHB7A.js → workflow-VEZ3NTPR.js} +140 -44
  163. package/workflow-VEZ3NTPR.js.map +1 -0
  164. package/zero.js +46 -46
  165. package/agent-HUDTEGLK.js.map +0 -1
  166. package/banking-BMZONEXP.js.map +0 -1
  167. package/browser-LQP445CU.js.map +0 -1
  168. package/chat-UF7QAWUT.js.map +0 -1
  169. package/chunk-2W73DZDW.js +0 -32
  170. package/chunk-2W73DZDW.js.map +0 -1
  171. package/chunk-6PN6QGIM.js +0 -11405
  172. package/chunk-6PN6QGIM.js.map +0 -1
  173. package/chunk-A6TMOGPR.js.map +0 -1
  174. package/chunk-ANOLYIPL.js +0 -10
  175. package/chunk-ANOLYIPL.js.map +0 -1
  176. package/chunk-E53W6UVQ.js.map +0 -1
  177. package/chunk-V5ZVB7RJ.js.map +0 -1
  178. package/chunk-V7A6ZFHR.js.map +0 -1
  179. package/computer-use-RRD7BCCK.js.map +0 -1
  180. package/connector-XX7UU6XE.js.map +0 -1
  181. package/credit-GDNNAQRO.js.map +0 -1
  182. package/developer-support-IISP5UBI.js.map +0 -1
  183. package/doctor-IZM2TJOH.js.map +0 -1
  184. package/feishu-XB7SQBSI.js.map +0 -1
  185. package/finance-OGWHKQLU.js.map +0 -1
  186. package/generate-AA2PVOYQ.js.map +0 -1
  187. package/github-VJVIBTVF.js.map +0 -1
  188. package/goal-7SYVHDTK.js.map +0 -1
  189. package/host-UVQMIOBA.js.map +0 -1
  190. package/logs-PIS4X24E.js.map +0 -1
  191. package/mail-L33OSQ2R.js.map +0 -1
  192. package/maps-D5XTXU5U.js.map +0 -1
  193. package/model-ZFMRECDM.js.map +0 -1
  194. package/model-provider-EZZ2DRYZ.js.map +0 -1
  195. package/people-search-PFTIO2QS.js.map +0 -1
  196. package/phone-6SG5ZUNL.js.map +0 -1
  197. package/recognize-LLU6J3SW.js.map +0 -1
  198. package/resource-FGUSXS4G.js.map +0 -1
  199. package/scrape-BAUZ2YFD.js.map +0 -1
  200. package/search-DLO5RXRM.js.map +0 -1
  201. package/slack-CVATPKP3.js.map +0 -1
  202. package/teams-ZZYO6YIK.js.map +0 -1
  203. package/telegram-VY7T4YAR.js.map +0 -1
  204. package/upgrade-GFA4ZUU4.js.map +0 -1
  205. package/video-STFG7BET.js.map +0 -1
  206. package/weather-ISJEHJWR.js.map +0 -1
  207. package/web-YN4CVHK7.js.map +0 -1
  208. package/web-search-PC7IECND.js.map +0 -1
  209. package/whoami-KXFXZGM6.js.map +0 -1
  210. package/workflow-O7YZHB7A.js.map +0 -1
  211. /package/{chunk-BRV4D3P2.js.map → chunk-4QGLWHVD.js.map} +0 -0
  212. /package/{chunk-NDYPPVD3.js.map → chunk-BMQE7GWV.js.map} +0 -0
  213. /package/{chunk-45J5VDVQ.js.map → chunk-BS6PZU7T.js.map} +0 -0
  214. /package/{chunk-QC63TUJC.js.map → chunk-CBNDRL4P.js.map} +0 -0
  215. /package/{chunk-NKYACNWA.js.map → chunk-DUWZNPUA.js.map} +0 -0
  216. /package/{chunk-BVCE3PAD.js.map → chunk-G2HB4N56.js.map} +0 -0
  217. /package/{chunk-32FE3MDA.js.map → chunk-KHPTA6UQ.js.map} +0 -0
  218. /package/{chunk-JAUTPXVK.js.map → chunk-PAULHBEP.js.map} +0 -0
  219. /package/{chunk-J45P5ALH.js.map → chunk-RAQ7DE6K.js.map} +0 -0
  220. /package/{chunk-5ZZI2LSO.js.map → chunk-U2PPHCTL.js.map} +0 -0
  221. /package/{chunk-VNNPAHD3.js.map → chunk-UH7XK55U.js.map} +0 -0
  222. /package/{chunk-SVFOPAWB.js.map → chunk-XJXBVERS.js.map} +0 -0
  223. /package/{esm-GRI4FR5B.js.map → esm-XLHK4LBA.js.map} +0 -0
  224. /package/{getMachineId-bsd-UR6WEJ6T.js.map → getMachineId-bsd-WOC3WZM5.js.map} +0 -0
  225. /package/{getMachineId-darwin-O3UESQMK.js.map → getMachineId-darwin-K35YZX2F.js.map} +0 -0
  226. /package/{getMachineId-linux-EGNGXDN3.js.map → getMachineId-linux-A4QJCCBS.js.map} +0 -0
  227. /package/{getMachineId-unsupported-EZ7SMARH.js.map → getMachineId-unsupported-UOQIWS5S.js.map} +0 -0
  228. /package/{getMachineId-win-CM62ICHH.js.map → getMachineId-win-YJDJQYJQ.js.map} +0 -0
  229. /package/{intro-2UYXBOHI.js.map → intro-HYSW634N.js.map} +0 -0
  230. /package/{undici-MBS5ACFE.js.map → undici-YESHDB4G.js.map} +0 -0
@@ -0,0 +1,202 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire as __createRequire } from "node:module";
3
+ const require = __createRequire(import.meta.url);
4
+ import {
5
+ authHeadersSchema
6
+ } from "./chunk-NIG6LRRX.js";
7
+ import {
8
+ apiErrorSchema,
9
+ external_exports,
10
+ initContract
11
+ } from "./chunk-U2PPHCTL.js";
12
+ import {
13
+ init_esm_shims
14
+ } from "./chunk-52CNCL6Y.js";
15
+
16
+ // ../../packages/api-contracts/src/contracts/zero-host.ts
17
+ init_esm_shims();
18
+ var c = initContract();
19
+ var ORG_SLUG_HASH_LENGTH = 8;
20
+ var RANDOM_SLUG_SUFFIX_LENGTH = 8;
21
+ var PUBLIC_SLUG_SEPARATOR_LENGTH = 2;
22
+ var MAX_HOSTED_SITE_PUBLIC_SLUG_LENGTH = 96;
23
+ var hostedArtifactKindSchema = external_exports.enum([
24
+ "hosted-site",
25
+ "presentation-html"
26
+ ]);
27
+ var hostedSiteSlugSchema = external_exports.string().trim().min(3).max(63).regex(
28
+ /^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/,
29
+ "Site slug must use lowercase letters, numbers, and hyphens, and must start and end with a letter or number"
30
+ );
31
+ var hostedSiteSlugSuffixSchema = external_exports.string().trim().min(3).max(32).regex(
32
+ /^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/,
33
+ "Site slug suffix must use lowercase letters, numbers, and hyphens, and must start and end with a letter or number"
34
+ );
35
+ var hostedSitePublicSlugSchema = external_exports.string().trim().min(3).max(MAX_HOSTED_SITE_PUBLIC_SLUG_LENGTH).regex(
36
+ /^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/,
37
+ "Hosted site public slug must use lowercase letters, numbers, and hyphens, and must start and end with a letter or number"
38
+ );
39
+ var hostedSiteFileSchema = external_exports.object({
40
+ path: external_exports.string().min(1).max(1024).regex(/^\//, "File path must start with /"),
41
+ size: external_exports.number().int().nonnegative(),
42
+ sha256: external_exports.string().regex(/^[a-f0-9]{64}$/),
43
+ contentType: external_exports.string().min(1).max(200),
44
+ immutable: external_exports.boolean().optional()
45
+ });
46
+ var hostedSiteDownloadFileSchema = hostedSiteFileSchema.extend({
47
+ downloadUrl: external_exports.string().url()
48
+ });
49
+ var hostedSitePrepareRequestSchema = external_exports.object({
50
+ site: hostedSiteSlugSchema,
51
+ slugSuffix: hostedSiteSlugSuffixSchema.optional(),
52
+ artifactKind: hostedArtifactKindSchema.default("hosted-site"),
53
+ spaFallback: external_exports.boolean().default(false),
54
+ files: external_exports.array(hostedSiteFileSchema).min(1).max(5e3)
55
+ }).superRefine((value, ctx) => {
56
+ const suffixLength = value.slugSuffix?.length ?? RANDOM_SLUG_SUFFIX_LENGTH;
57
+ const publicSlugLength = value.site.length + ORG_SLUG_HASH_LENGTH + suffixLength + PUBLIC_SLUG_SEPARATOR_LENGTH;
58
+ if (publicSlugLength > MAX_HOSTED_SITE_PUBLIC_SLUG_LENGTH) {
59
+ ctx.addIssue({
60
+ code: external_exports.ZodIssueCode.custom,
61
+ path: value.slugSuffix ? ["slugSuffix"] : ["site"],
62
+ message: "Hosted site public slug must be 96 characters or fewer; shorten site or slug suffix"
63
+ });
64
+ }
65
+ });
66
+ var hostedSiteUploadSchema = external_exports.object({
67
+ path: external_exports.string(),
68
+ uploadUrl: external_exports.string().url()
69
+ });
70
+ var hostedSitePrepareResponseSchema = external_exports.object({
71
+ siteId: external_exports.string().uuid(),
72
+ deploymentId: external_exports.string().uuid(),
73
+ publicSlug: external_exports.string(),
74
+ url: external_exports.string().url(),
75
+ deploymentVersion: external_exports.number().int().positive().optional(),
76
+ artifactUrl: external_exports.string().url().optional(),
77
+ aliasUrl: external_exports.string().url().optional(),
78
+ uploads: external_exports.array(hostedSiteUploadSchema)
79
+ });
80
+ var hostedSiteCompleteResponseSchema = external_exports.object({
81
+ siteId: external_exports.string().uuid(),
82
+ deploymentId: external_exports.string().uuid(),
83
+ publicSlug: external_exports.string(),
84
+ url: external_exports.string().url(),
85
+ deploymentVersion: external_exports.number().int().positive().optional(),
86
+ artifactUrl: external_exports.string().url().optional(),
87
+ aliasUrl: external_exports.string().url().optional(),
88
+ isActive: external_exports.boolean().optional(),
89
+ activeDeploymentVersion: external_exports.number().int().positive().optional(),
90
+ status: external_exports.literal("ready")
91
+ });
92
+ var hostedSiteFilesResponseSchema = external_exports.object({
93
+ siteId: external_exports.string().uuid(),
94
+ deploymentId: external_exports.string().uuid(),
95
+ publicSlug: hostedSitePublicSlugSchema,
96
+ url: external_exports.string().url(),
97
+ deploymentVersion: external_exports.number().int().positive().optional(),
98
+ artifactUrl: external_exports.string().url().optional(),
99
+ aliasUrl: external_exports.string().url().optional(),
100
+ fileCount: external_exports.number().int().nonnegative(),
101
+ size: external_exports.number().int().nonnegative(),
102
+ files: external_exports.array(hostedSiteDownloadFileSchema)
103
+ });
104
+ var hostedSiteDeploymentSummarySchema = external_exports.object({
105
+ deploymentId: external_exports.string().uuid(),
106
+ deploymentVersion: external_exports.number().int().positive().nullable(),
107
+ artifactUrl: external_exports.string().url().nullable(),
108
+ status: external_exports.enum(["uploading", "ready", "failed", "deleted"]),
109
+ isActive: external_exports.boolean(),
110
+ createdAt: external_exports.string().datetime(),
111
+ readyAt: external_exports.string().datetime().nullable()
112
+ });
113
+ var hostedSiteDeploymentsResponseSchema = external_exports.object({
114
+ siteId: external_exports.string().uuid(),
115
+ site: hostedSiteSlugSchema,
116
+ publicSlug: hostedSitePublicSlugSchema,
117
+ aliasUrl: external_exports.string().url(),
118
+ activeDeploymentId: external_exports.string().uuid().nullable(),
119
+ activeDeploymentVersion: external_exports.number().int().positive().nullable(),
120
+ deployments: external_exports.array(hostedSiteDeploymentSummarySchema)
121
+ });
122
+ var zeroHostContract = c.router({
123
+ prepare: {
124
+ method: "POST",
125
+ path: "/api/zero/host/deployments/prepare",
126
+ headers: authHeadersSchema,
127
+ body: hostedSitePrepareRequestSchema,
128
+ responses: {
129
+ 200: hostedSitePrepareResponseSchema,
130
+ 400: apiErrorSchema,
131
+ 401: apiErrorSchema,
132
+ 402: apiErrorSchema,
133
+ 403: apiErrorSchema,
134
+ 409: apiErrorSchema,
135
+ 500: apiErrorSchema
136
+ },
137
+ summary: "Prepare a static hosted-site deployment"
138
+ },
139
+ complete: {
140
+ method: "POST",
141
+ path: "/api/zero/host/deployments/:deploymentId/complete",
142
+ pathParams: external_exports.object({
143
+ deploymentId: external_exports.string().uuid()
144
+ }),
145
+ headers: authHeadersSchema,
146
+ body: external_exports.object({}),
147
+ responses: {
148
+ 200: hostedSiteCompleteResponseSchema,
149
+ 400: apiErrorSchema,
150
+ 401: apiErrorSchema,
151
+ 402: apiErrorSchema,
152
+ 403: apiErrorSchema,
153
+ 404: apiErrorSchema,
154
+ 409: apiErrorSchema,
155
+ 500: apiErrorSchema
156
+ },
157
+ summary: "Complete a static hosted-site deployment"
158
+ },
159
+ files: {
160
+ method: "GET",
161
+ path: "/api/zero/host/sites/:publicSlug/files",
162
+ pathParams: external_exports.object({
163
+ publicSlug: hostedSitePublicSlugSchema
164
+ }),
165
+ query: external_exports.object({
166
+ version: external_exports.coerce.number().int().positive().optional()
167
+ }),
168
+ headers: authHeadersSchema,
169
+ responses: {
170
+ 200: hostedSiteFilesResponseSchema,
171
+ 400: apiErrorSchema,
172
+ 401: apiErrorSchema,
173
+ 403: apiErrorSchema,
174
+ 404: apiErrorSchema,
175
+ 409: apiErrorSchema,
176
+ 500: apiErrorSchema
177
+ },
178
+ summary: "List active hosted-site files for an owned site"
179
+ },
180
+ deployments: {
181
+ method: "GET",
182
+ path: "/api/zero/host/sites/:site/deployments",
183
+ pathParams: external_exports.object({
184
+ site: hostedSiteSlugSchema
185
+ }),
186
+ headers: authHeadersSchema,
187
+ responses: {
188
+ 200: hostedSiteDeploymentsResponseSchema,
189
+ 400: apiErrorSchema,
190
+ 401: apiErrorSchema,
191
+ 403: apiErrorSchema,
192
+ 404: apiErrorSchema,
193
+ 500: apiErrorSchema
194
+ },
195
+ summary: "List deployment versions for an owned hosted site"
196
+ }
197
+ });
198
+
199
+ export {
200
+ hostedArtifactKindSchema
201
+ };
202
+ //# sourceMappingURL=chunk-4ATK3VFX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../packages/api-contracts/src/contracts/zero-host.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { authHeadersSchema, initContract } from \"./base\";\nimport { apiErrorSchema } from \"./errors\";\n\nconst c = initContract();\n\nconst ORG_SLUG_HASH_LENGTH = 8;\nconst RANDOM_SLUG_SUFFIX_LENGTH = 8;\nconst PUBLIC_SLUG_SEPARATOR_LENGTH = 2;\nconst MAX_HOSTED_SITE_PUBLIC_SLUG_LENGTH = 96;\n\nexport const hostedArtifactKindSchema = z.enum([\n \"hosted-site\",\n \"presentation-html\",\n]);\nexport type HostedArtifactKind = z.infer<typeof hostedArtifactKindSchema>;\n\nexport const hostedSiteSlugSchema = z\n .string()\n .trim()\n .min(3)\n .max(63)\n .regex(\n /^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/,\n \"Site slug must use lowercase letters, numbers, and hyphens, and must start and end with a letter or number\",\n );\n\nexport const hostedSiteSlugSuffixSchema = z\n .string()\n .trim()\n .min(3)\n .max(32)\n .regex(\n /^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/,\n \"Site slug suffix must use lowercase letters, numbers, and hyphens, and must start and end with a letter or number\",\n );\n\nexport const hostedSitePublicSlugSchema = z\n .string()\n .trim()\n .min(3)\n .max(MAX_HOSTED_SITE_PUBLIC_SLUG_LENGTH)\n .regex(\n /^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/,\n \"Hosted site public slug must use lowercase letters, numbers, and hyphens, and must start and end with a letter or number\",\n );\n\nexport const hostedSiteFileSchema = z.object({\n path: z.string().min(1).max(1024).regex(/^\\//, \"File path must start with /\"),\n size: z.number().int().nonnegative(),\n sha256: z.string().regex(/^[a-f0-9]{64}$/),\n contentType: z.string().min(1).max(200),\n immutable: z.boolean().optional(),\n});\n\nexport const hostedSiteDownloadFileSchema = hostedSiteFileSchema.extend({\n downloadUrl: z.string().url(),\n});\n\nexport const hostedSitePrepareRequestSchema = z\n .object({\n site: hostedSiteSlugSchema,\n slugSuffix: hostedSiteSlugSuffixSchema.optional(),\n artifactKind: hostedArtifactKindSchema.default(\"hosted-site\"),\n spaFallback: z.boolean().default(false),\n files: z.array(hostedSiteFileSchema).min(1).max(5000),\n })\n .superRefine((value, ctx) => {\n const suffixLength = value.slugSuffix?.length ?? RANDOM_SLUG_SUFFIX_LENGTH;\n const publicSlugLength =\n value.site.length +\n ORG_SLUG_HASH_LENGTH +\n suffixLength +\n PUBLIC_SLUG_SEPARATOR_LENGTH;\n\n if (publicSlugLength > MAX_HOSTED_SITE_PUBLIC_SLUG_LENGTH) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: value.slugSuffix ? [\"slugSuffix\"] : [\"site\"],\n message:\n \"Hosted site public slug must be 96 characters or fewer; shorten site or slug suffix\",\n });\n }\n });\n\nexport const hostedSiteUploadSchema = z.object({\n path: z.string(),\n uploadUrl: z.string().url(),\n});\n\nexport const hostedSitePrepareResponseSchema = z.object({\n siteId: z.string().uuid(),\n deploymentId: z.string().uuid(),\n publicSlug: z.string(),\n url: z.string().url(),\n deploymentVersion: z.number().int().positive().optional(),\n artifactUrl: z.string().url().optional(),\n aliasUrl: z.string().url().optional(),\n uploads: z.array(hostedSiteUploadSchema),\n});\n\nexport const hostedSiteCompleteResponseSchema = z.object({\n siteId: z.string().uuid(),\n deploymentId: z.string().uuid(),\n publicSlug: z.string(),\n url: z.string().url(),\n deploymentVersion: z.number().int().positive().optional(),\n artifactUrl: z.string().url().optional(),\n aliasUrl: z.string().url().optional(),\n isActive: z.boolean().optional(),\n activeDeploymentVersion: z.number().int().positive().optional(),\n status: z.literal(\"ready\"),\n});\n\nexport const hostedSiteFilesResponseSchema = z.object({\n siteId: z.string().uuid(),\n deploymentId: z.string().uuid(),\n publicSlug: hostedSitePublicSlugSchema,\n url: z.string().url(),\n deploymentVersion: z.number().int().positive().optional(),\n artifactUrl: z.string().url().optional(),\n aliasUrl: z.string().url().optional(),\n fileCount: z.number().int().nonnegative(),\n size: z.number().int().nonnegative(),\n files: z.array(hostedSiteDownloadFileSchema),\n});\n\nconst hostedSiteDeploymentSummarySchema = z.object({\n deploymentId: z.string().uuid(),\n deploymentVersion: z.number().int().positive().nullable(),\n artifactUrl: z.string().url().nullable(),\n status: z.enum([\"uploading\", \"ready\", \"failed\", \"deleted\"]),\n isActive: z.boolean(),\n createdAt: z.string().datetime(),\n readyAt: z.string().datetime().nullable(),\n});\n\nexport const hostedSiteDeploymentsResponseSchema = z.object({\n siteId: z.string().uuid(),\n site: hostedSiteSlugSchema,\n publicSlug: hostedSitePublicSlugSchema,\n aliasUrl: z.string().url(),\n activeDeploymentId: z.string().uuid().nullable(),\n activeDeploymentVersion: z.number().int().positive().nullable(),\n deployments: z.array(hostedSiteDeploymentSummarySchema),\n});\n\nexport const zeroHostContract = c.router({\n prepare: {\n method: \"POST\",\n path: \"/api/zero/host/deployments/prepare\",\n headers: authHeadersSchema,\n body: hostedSitePrepareRequestSchema,\n responses: {\n 200: hostedSitePrepareResponseSchema,\n 400: apiErrorSchema,\n 401: apiErrorSchema,\n 402: apiErrorSchema,\n 403: apiErrorSchema,\n 409: apiErrorSchema,\n 500: apiErrorSchema,\n },\n summary: \"Prepare a static hosted-site deployment\",\n },\n complete: {\n method: \"POST\",\n path: \"/api/zero/host/deployments/:deploymentId/complete\",\n pathParams: z.object({\n deploymentId: z.string().uuid(),\n }),\n headers: authHeadersSchema,\n body: z.object({}),\n responses: {\n 200: hostedSiteCompleteResponseSchema,\n 400: apiErrorSchema,\n 401: apiErrorSchema,\n 402: apiErrorSchema,\n 403: apiErrorSchema,\n 404: apiErrorSchema,\n 409: apiErrorSchema,\n 500: apiErrorSchema,\n },\n summary: \"Complete a static hosted-site deployment\",\n },\n files: {\n method: \"GET\",\n path: \"/api/zero/host/sites/:publicSlug/files\",\n pathParams: z.object({\n publicSlug: hostedSitePublicSlugSchema,\n }),\n query: z.object({\n version: z.coerce.number().int().positive().optional(),\n }),\n headers: authHeadersSchema,\n responses: {\n 200: hostedSiteFilesResponseSchema,\n 400: apiErrorSchema,\n 401: apiErrorSchema,\n 403: apiErrorSchema,\n 404: apiErrorSchema,\n 409: apiErrorSchema,\n 500: apiErrorSchema,\n },\n summary: \"List active hosted-site files for an owned site\",\n },\n deployments: {\n method: \"GET\",\n path: \"/api/zero/host/sites/:site/deployments\",\n pathParams: z.object({\n site: hostedSiteSlugSchema,\n }),\n headers: authHeadersSchema,\n responses: {\n 200: hostedSiteDeploymentsResponseSchema,\n 400: apiErrorSchema,\n 401: apiErrorSchema,\n 403: apiErrorSchema,\n 404: apiErrorSchema,\n 500: apiErrorSchema,\n },\n summary: \"List deployment versions for an owned hosted site\",\n },\n});\n\nexport type ZeroHostContract = typeof zeroHostContract;\nexport type HostedSitePrepareRequest = z.infer<\n typeof hostedSitePrepareRequestSchema\n>;\nexport type HostedSitePrepareResponse = z.infer<\n typeof hostedSitePrepareResponseSchema\n>;\nexport type HostedSiteCompleteResponse = z.infer<\n typeof hostedSiteCompleteResponseSchema\n>;\nexport type HostedSiteFilesResponse = z.infer<\n typeof hostedSiteFilesResponseSchema\n>;\nexport type HostedSiteDeploymentsResponse = z.infer<\n typeof hostedSiteDeploymentsResponseSchema\n>;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAIA,IAAM,IAAI,aAAa;AAEvB,IAAM,uBAAuB;AAC7B,IAAM,4BAA4B;AAClC,IAAM,+BAA+B;AACrC,IAAM,qCAAqC;AAEpC,IAAM,2BAA2B,iBAAE,KAAK;AAAA,EAC7C;AAAA,EACA;AACF,CAAC;AAGM,IAAM,uBAAuB,iBACjC,OAAO,EACP,KAAK,EACL,IAAI,CAAC,EACL,IAAI,EAAE,EACN;AAAA,EACC;AAAA,EACA;AACF;AAEK,IAAM,6BAA6B,iBACvC,OAAO,EACP,KAAK,EACL,IAAI,CAAC,EACL,IAAI,EAAE,EACN;AAAA,EACC;AAAA,EACA;AACF;AAEK,IAAM,6BAA6B,iBACvC,OAAO,EACP,KAAK,EACL,IAAI,CAAC,EACL,IAAI,kCAAkC,EACtC;AAAA,EACC;AAAA,EACA;AACF;AAEK,IAAM,uBAAuB,iBAAE,OAAO;AAAA,EAC3C,MAAM,iBAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,MAAM,OAAO,6BAA6B;AAAA,EAC5E,MAAM,iBAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,EACnC,QAAQ,iBAAE,OAAO,EAAE,MAAM,gBAAgB;AAAA,EACzC,aAAa,iBAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EACtC,WAAW,iBAAE,QAAQ,EAAE,SAAS;AAClC,CAAC;AAEM,IAAM,+BAA+B,qBAAqB,OAAO;AAAA,EACtE,aAAa,iBAAE,OAAO,EAAE,IAAI;AAC9B,CAAC;AAEM,IAAM,iCAAiC,iBAC3C,OAAO;AAAA,EACN,MAAM;AAAA,EACN,YAAY,2BAA2B,SAAS;AAAA,EAChD,cAAc,yBAAyB,QAAQ,aAAa;AAAA,EAC5D,aAAa,iBAAE,QAAQ,EAAE,QAAQ,KAAK;AAAA,EACtC,OAAO,iBAAE,MAAM,oBAAoB,EAAE,IAAI,CAAC,EAAE,IAAI,GAAI;AACtD,CAAC,EACA,YAAY,CAAC,OAAO,QAAQ;AAC3B,QAAM,eAAe,MAAM,YAAY,UAAU;AACjD,QAAM,mBACJ,MAAM,KAAK,SACX,uBACA,eACA;AAEF,MAAI,mBAAmB,oCAAoC;AACzD,QAAI,SAAS;AAAA,MACX,MAAM,iBAAE,aAAa;AAAA,MACrB,MAAM,MAAM,aAAa,CAAC,YAAY,IAAI,CAAC,MAAM;AAAA,MACjD,SACE;AAAA,IACJ,CAAC;AAAA,EACH;AACF,CAAC;AAEI,IAAM,yBAAyB,iBAAE,OAAO;AAAA,EAC7C,MAAM,iBAAE,OAAO;AAAA,EACf,WAAW,iBAAE,OAAO,EAAE,IAAI;AAC5B,CAAC;AAEM,IAAM,kCAAkC,iBAAE,OAAO;AAAA,EACtD,QAAQ,iBAAE,OAAO,EAAE,KAAK;AAAA,EACxB,cAAc,iBAAE,OAAO,EAAE,KAAK;AAAA,EAC9B,YAAY,iBAAE,OAAO;AAAA,EACrB,KAAK,iBAAE,OAAO,EAAE,IAAI;AAAA,EACpB,mBAAmB,iBAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS;AAAA,EACxD,aAAa,iBAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EACvC,UAAU,iBAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EACpC,SAAS,iBAAE,MAAM,sBAAsB;AACzC,CAAC;AAEM,IAAM,mCAAmC,iBAAE,OAAO;AAAA,EACvD,QAAQ,iBAAE,OAAO,EAAE,KAAK;AAAA,EACxB,cAAc,iBAAE,OAAO,EAAE,KAAK;AAAA,EAC9B,YAAY,iBAAE,OAAO;AAAA,EACrB,KAAK,iBAAE,OAAO,EAAE,IAAI;AAAA,EACpB,mBAAmB,iBAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS;AAAA,EACxD,aAAa,iBAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EACvC,UAAU,iBAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EACpC,UAAU,iBAAE,QAAQ,EAAE,SAAS;AAAA,EAC/B,yBAAyB,iBAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS;AAAA,EAC9D,QAAQ,iBAAE,QAAQ,OAAO;AAC3B,CAAC;AAEM,IAAM,gCAAgC,iBAAE,OAAO;AAAA,EACpD,QAAQ,iBAAE,OAAO,EAAE,KAAK;AAAA,EACxB,cAAc,iBAAE,OAAO,EAAE,KAAK;AAAA,EAC9B,YAAY;AAAA,EACZ,KAAK,iBAAE,OAAO,EAAE,IAAI;AAAA,EACpB,mBAAmB,iBAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS;AAAA,EACxD,aAAa,iBAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EACvC,UAAU,iBAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EACpC,WAAW,iBAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,EACxC,MAAM,iBAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,EACnC,OAAO,iBAAE,MAAM,4BAA4B;AAC7C,CAAC;AAED,IAAM,oCAAoC,iBAAE,OAAO;AAAA,EACjD,cAAc,iBAAE,OAAO,EAAE,KAAK;AAAA,EAC9B,mBAAmB,iBAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS;AAAA,EACxD,aAAa,iBAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EACvC,QAAQ,iBAAE,KAAK,CAAC,aAAa,SAAS,UAAU,SAAS,CAAC;AAAA,EAC1D,UAAU,iBAAE,QAAQ;AAAA,EACpB,WAAW,iBAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,SAAS,iBAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAC1C,CAAC;AAEM,IAAM,sCAAsC,iBAAE,OAAO;AAAA,EAC1D,QAAQ,iBAAE,OAAO,EAAE,KAAK;AAAA,EACxB,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,UAAU,iBAAE,OAAO,EAAE,IAAI;AAAA,EACzB,oBAAoB,iBAAE,OAAO,EAAE,KAAK,EAAE,SAAS;AAAA,EAC/C,yBAAyB,iBAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS;AAAA,EAC9D,aAAa,iBAAE,MAAM,iCAAiC;AACxD,CAAC;AAEM,IAAM,mBAAmB,EAAE,OAAO;AAAA,EACvC,SAAS;AAAA,IACP,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,IACT,MAAM;AAAA,IACN,WAAW;AAAA,MACT,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACP;AAAA,IACA,SAAS;AAAA,EACX;AAAA,EACA,UAAU;AAAA,IACR,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,YAAY,iBAAE,OAAO;AAAA,MACnB,cAAc,iBAAE,OAAO,EAAE,KAAK;AAAA,IAChC,CAAC;AAAA,IACD,SAAS;AAAA,IACT,MAAM,iBAAE,OAAO,CAAC,CAAC;AAAA,IACjB,WAAW;AAAA,MACT,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACP;AAAA,IACA,SAAS;AAAA,EACX;AAAA,EACA,OAAO;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,YAAY,iBAAE,OAAO;AAAA,MACnB,YAAY;AAAA,IACd,CAAC;AAAA,IACD,OAAO,iBAAE,OAAO;AAAA,MACd,SAAS,iBAAE,OAAO,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS;AAAA,IACvD,CAAC;AAAA,IACD,SAAS;AAAA,IACT,WAAW;AAAA,MACT,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACP;AAAA,IACA,SAAS;AAAA,EACX;AAAA,EACA,aAAa;AAAA,IACX,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,YAAY,iBAAE,OAAO;AAAA,MACnB,MAAM;AAAA,IACR,CAAC;AAAA,IACD,SAAS;AAAA,IACT,WAAW;AAAA,MACT,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACP;AAAA,IACA,SAAS;AAAA,EACX;AACF,CAAC;","names":[]}
@@ -0,0 +1,55 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire as __createRequire } from "node:module";
3
+ const require = __createRequire(import.meta.url);
4
+ import {
5
+ authHeadersSchema
6
+ } from "./chunk-NIG6LRRX.js";
7
+ import {
8
+ apiErrorSchema,
9
+ initContract,
10
+ orgModelPoliciesResponseSchema,
11
+ updateOrgModelPoliciesRequestSchema
12
+ } from "./chunk-U2PPHCTL.js";
13
+ import {
14
+ init_esm_shims
15
+ } from "./chunk-52CNCL6Y.js";
16
+
17
+ // ../../packages/api-contracts/src/contracts/zero-model-policies.ts
18
+ init_esm_shims();
19
+ var c = initContract();
20
+ var zeroModelPoliciesMainContract = c.router({
21
+ list: {
22
+ method: "GET",
23
+ path: "/api/zero/model-policies",
24
+ headers: authHeadersSchema,
25
+ responses: {
26
+ 200: orgModelPoliciesResponseSchema,
27
+ 401: apiErrorSchema,
28
+ 403: apiErrorSchema,
29
+ 404: apiErrorSchema,
30
+ 500: apiErrorSchema
31
+ },
32
+ summary: "List org model-first policies"
33
+ },
34
+ update: {
35
+ method: "PUT",
36
+ path: "/api/zero/model-policies",
37
+ headers: authHeadersSchema,
38
+ body: updateOrgModelPoliciesRequestSchema,
39
+ responses: {
40
+ 200: orgModelPoliciesResponseSchema,
41
+ 400: apiErrorSchema,
42
+ 401: apiErrorSchema,
43
+ 402: apiErrorSchema,
44
+ 403: apiErrorSchema,
45
+ 404: apiErrorSchema,
46
+ 500: apiErrorSchema
47
+ },
48
+ summary: "Update org model-first policies"
49
+ }
50
+ });
51
+
52
+ export {
53
+ zeroModelPoliciesMainContract
54
+ };
55
+ //# sourceMappingURL=chunk-4CXT7THL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../packages/api-contracts/src/contracts/zero-model-policies.ts"],"sourcesContent":["import { authHeadersSchema, initContract } from \"./base\";\nimport { apiErrorSchema } from \"./errors\";\nimport {\n orgModelPoliciesResponseSchema,\n updateOrgModelPoliciesRequestSchema,\n} from \"./model-providers\";\n\nconst c = initContract();\n\nexport const zeroModelPoliciesMainContract = c.router({\n list: {\n method: \"GET\",\n path: \"/api/zero/model-policies\",\n headers: authHeadersSchema,\n responses: {\n 200: orgModelPoliciesResponseSchema,\n 401: apiErrorSchema,\n 403: apiErrorSchema,\n 404: apiErrorSchema,\n 500: apiErrorSchema,\n },\n summary: \"List org model-first policies\",\n },\n update: {\n method: \"PUT\",\n path: \"/api/zero/model-policies\",\n headers: authHeadersSchema,\n body: updateOrgModelPoliciesRequestSchema,\n responses: {\n 200: orgModelPoliciesResponseSchema,\n 400: apiErrorSchema,\n 401: apiErrorSchema,\n 402: apiErrorSchema,\n 403: apiErrorSchema,\n 404: apiErrorSchema,\n 500: apiErrorSchema,\n },\n summary: \"Update org model-first policies\",\n },\n});\n\nexport type ZeroModelPoliciesMainContract =\n typeof zeroModelPoliciesMainContract;\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAOA,IAAM,IAAI,aAAa;AAEhB,IAAM,gCAAgC,EAAE,OAAO;AAAA,EACpD,MAAM;AAAA,IACJ,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,IACT,WAAW;AAAA,MACT,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACP;AAAA,IACA,SAAS;AAAA,EACX;AAAA,EACA,QAAQ;AAAA,IACN,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,IACT,MAAM;AAAA,IACN,WAAW;AAAA,MACT,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACP;AAAA,IACA,SAAS;AAAA,EACX;AACF,CAAC;","names":[]}
@@ -3,10 +3,10 @@ import { createRequire as __createRequire } from "node:module";
3
3
  const require = __createRequire(import.meta.url);
4
4
  import {
5
5
  getApiUrl
6
- } from "./chunk-5ZZI2LSO.js";
6
+ } from "./chunk-U2PPHCTL.js";
7
7
  import {
8
8
  init_esm_shims
9
- } from "./chunk-AUWSMG4F.js";
9
+ } from "./chunk-52CNCL6Y.js";
10
10
 
11
11
  // src/commands/zero/doctor/platform-url.ts
12
12
  init_esm_shims();
@@ -46,4 +46,4 @@ export {
46
46
  toPlatformUrl,
47
47
  getPlatformOrigin
48
48
  };
49
- //# sourceMappingURL=chunk-BRV4D3P2.js.map
49
+ //# sourceMappingURL=chunk-4QGLWHVD.js.map
@@ -0,0 +1,309 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire as __createRequire } from "node:module";
3
+ const require = __createRequire(import.meta.url);
4
+ import {
5
+ zeroAgentCustomConnectorsContract,
6
+ zeroAgentInstructionsContract,
7
+ zeroAgentsByIdContract,
8
+ zeroAgentsMainContract,
9
+ zeroConnectorCheckContract,
10
+ zeroConnectorManualGrantContract,
11
+ zeroConnectorsBySlugContract,
12
+ zeroConnectorsMainContract,
13
+ zeroCustomConnectorByIdContract,
14
+ zeroCustomConnectorOAuth2Contract,
15
+ zeroCustomConnectorValuesContract,
16
+ zeroCustomConnectorsContract,
17
+ zeroUserConnectorsContract,
18
+ zeroUserPermissionGrantsContract
19
+ } from "./chunk-JXWXVXOW.js";
20
+ import {
21
+ zeroConnectorCatalogContract
22
+ } from "./chunk-HXIDRGW4.js";
23
+ import {
24
+ getClientConfig,
25
+ handleError,
26
+ initClient
27
+ } from "./chunk-U2PPHCTL.js";
28
+ import {
29
+ init_esm_shims
30
+ } from "./chunk-52CNCL6Y.js";
31
+
32
+ // src/lib/api/domains/zero-agents.ts
33
+ init_esm_shims();
34
+ async function createZeroAgent(body) {
35
+ const config = await getClientConfig();
36
+ const client = initClient(zeroAgentsMainContract, config);
37
+ const result = await client.create({ body });
38
+ if (result.status === 201) return result.body;
39
+ handleError(result, "Failed to create zero agent");
40
+ }
41
+ async function listZeroAgents() {
42
+ const config = await getClientConfig();
43
+ const client = initClient(zeroAgentsMainContract, config);
44
+ const result = await client.list({ headers: {} });
45
+ if (result.status === 200) return result.body;
46
+ handleError(result, "Failed to list zero agents");
47
+ }
48
+ async function getZeroAgent(id) {
49
+ const config = await getClientConfig();
50
+ const client = initClient(zeroAgentsByIdContract, config);
51
+ const result = await client.get({ params: { id } });
52
+ if (result.status === 200) return result.body;
53
+ handleError(result, `Zero agent "${id}" not found`);
54
+ }
55
+ async function updateZeroAgent(id, body) {
56
+ const config = await getClientConfig();
57
+ const client = initClient(zeroAgentsByIdContract, config);
58
+ const result = await client.update({ params: { id }, body });
59
+ if (result.status === 200) return result.body;
60
+ handleError(result, `Failed to update zero agent "${id}"`);
61
+ }
62
+ async function deleteZeroAgent(id) {
63
+ const config = await getClientConfig();
64
+ const client = initClient(zeroAgentsByIdContract, config);
65
+ const result = await client.delete({ params: { id } });
66
+ if (result.status === 204) return;
67
+ handleError(result, `Zero agent "${id}" not found`);
68
+ }
69
+ async function getZeroAgentInstructions(id) {
70
+ const config = await getClientConfig();
71
+ const client = initClient(zeroAgentInstructionsContract, config);
72
+ const result = await client.get({ params: { id } });
73
+ if (result.status === 200) return result.body;
74
+ handleError(result, `Failed to get instructions for zero agent "${id}"`);
75
+ }
76
+ async function getZeroAgentUserConnectors(id) {
77
+ const config = await getClientConfig();
78
+ const client = initClient(zeroUserConnectorsContract, config);
79
+ const result = await client.get({ params: { id } });
80
+ if (result.status === 200) {
81
+ return result.body.enabledConnectorSlugs;
82
+ }
83
+ handleError(
84
+ result,
85
+ `Failed to get connector permissions for zero agent "${id}"`
86
+ );
87
+ }
88
+ async function getZeroAgentCustomConnectors(id) {
89
+ const config = await getClientConfig();
90
+ const client = initClient(zeroAgentCustomConnectorsContract, config);
91
+ const result = await client.get({ params: { id } });
92
+ if (result.status === 200) return result.body.enabledIds;
93
+ handleError(
94
+ result,
95
+ `Failed to get custom connector permissions for zero agent "${id}"`
96
+ );
97
+ }
98
+ async function addZeroAgentCustomConnector(id, customConnectorId) {
99
+ const config = await getClientConfig();
100
+ const client = initClient(zeroAgentCustomConnectorsContract, config);
101
+ const result = await client.update({
102
+ params: { id },
103
+ body: {
104
+ enabledIds: [customConnectorId],
105
+ operation: "add"
106
+ }
107
+ });
108
+ if (result.status === 200) return;
109
+ handleError(
110
+ result,
111
+ `Failed to authorize custom connector "${customConnectorId}" for zero agent "${id}"`
112
+ );
113
+ }
114
+ async function listZeroUserPermissionGrants(agentId) {
115
+ const config = await getClientConfig();
116
+ const client = initClient(zeroUserPermissionGrantsContract, config);
117
+ const result = await client.list({ query: { agentId } });
118
+ if (result.status === 200) {
119
+ return result.body;
120
+ }
121
+ handleError(
122
+ result,
123
+ `Failed to get permission grants for zero agent "${agentId}"`
124
+ );
125
+ }
126
+ async function updateZeroAgentInstructions(id, content) {
127
+ const config = await getClientConfig();
128
+ const client = initClient(zeroAgentInstructionsContract, config);
129
+ const result = await client.update({
130
+ params: { id },
131
+ body: { content }
132
+ });
133
+ if (result.status === 200) return;
134
+ handleError(result, `Failed to update instructions for zero agent "${id}"`);
135
+ }
136
+
137
+ // src/lib/api/domains/zero-connectors.ts
138
+ init_esm_shims();
139
+ async function listZeroConnectors() {
140
+ const config = await getClientConfig();
141
+ const client = initClient(zeroConnectorsMainContract, config);
142
+ const result = await client.list({ headers: {} });
143
+ if (result.status === 200) {
144
+ return result.body;
145
+ }
146
+ handleError(result, "Failed to list connectors");
147
+ }
148
+ async function listZeroConnectorCatalog() {
149
+ const config = await getClientConfig();
150
+ const client = initClient(zeroConnectorCatalogContract, config);
151
+ const result = await client.list({ headers: {} });
152
+ if (result.status === 200) {
153
+ return result.body;
154
+ }
155
+ handleError(result, "Failed to list connector catalog");
156
+ }
157
+ async function listZeroConnectorCatalogStatus() {
158
+ const config = await getClientConfig();
159
+ const client = initClient(zeroConnectorCatalogContract, config);
160
+ const result = await client.status({ headers: {} });
161
+ if (result.status === 200) {
162
+ return result.body;
163
+ }
164
+ handleError(result, "Failed to list connector catalog status");
165
+ }
166
+ async function getZeroConnectorCatalogPermissions(connectorSlug) {
167
+ const config = await getClientConfig();
168
+ const client = initClient(zeroConnectorCatalogContract, config);
169
+ const result = await client.permissions({
170
+ params: { connectorSlug }
171
+ });
172
+ if (result.status === 200) {
173
+ const permissions = result.body.permissions;
174
+ if (permissions.connectorSlug !== connectorSlug) {
175
+ throw new Error(
176
+ `Permission metadata connector slug mismatch: expected ${connectorSlug}, got ${permissions.connectorSlug}`
177
+ );
178
+ }
179
+ return permissions;
180
+ }
181
+ if (result.status === 404) {
182
+ return null;
183
+ }
184
+ handleError(
185
+ result,
186
+ `Failed to get connector permission metadata for "${connectorSlug}"`
187
+ );
188
+ }
189
+ async function diagnoseZeroConnectorCheck(request) {
190
+ const config = await getClientConfig();
191
+ const client = initClient(zeroConnectorCheckContract, {
192
+ ...config,
193
+ validateResponse: true
194
+ });
195
+ const result = await client.check({ body: request });
196
+ if (result.status === 200) {
197
+ return result.body;
198
+ }
199
+ handleError(result, "Failed to diagnose connector");
200
+ }
201
+ async function getZeroConnector(connectorSlug) {
202
+ const config = await getClientConfig();
203
+ const client = initClient(zeroConnectorsBySlugContract, config);
204
+ const result = await client.get({
205
+ params: { connectorSlug }
206
+ });
207
+ if (result.status === 200) {
208
+ return result.body;
209
+ }
210
+ if (result.status === 404) {
211
+ return null;
212
+ }
213
+ handleError(result, `Failed to get connector "${connectorSlug}"`);
214
+ }
215
+ async function connectZeroConnectorManualGrant(connectorSlug, authMethod, values) {
216
+ const config = await getClientConfig();
217
+ const client = initClient(zeroConnectorManualGrantContract, config);
218
+ const result = await client.connect({
219
+ params: { connectorSlug },
220
+ body: { authMethod, values }
221
+ });
222
+ if (result.status === 200) {
223
+ return result.body;
224
+ }
225
+ handleError(result, `Failed to connect connector "${connectorSlug}"`);
226
+ }
227
+ async function listZeroCustomConnectors() {
228
+ const config = await getClientConfig();
229
+ const client = initClient(zeroCustomConnectorsContract, config);
230
+ const result = await client.list({ headers: {} });
231
+ if (result.status === 200) {
232
+ return result.body.connectors;
233
+ }
234
+ handleError(result, "Failed to list custom connectors");
235
+ }
236
+ async function createZeroCustomConnector(body) {
237
+ const config = await getClientConfig();
238
+ const client = initClient(zeroCustomConnectorsContract, config);
239
+ const result = await client.create({ body, headers: {} });
240
+ if (result.status === 201) {
241
+ return result.body;
242
+ }
243
+ handleError(result, "Failed to create custom connector");
244
+ }
245
+ async function getZeroCustomConnector(id) {
246
+ const config = await getClientConfig();
247
+ const client = initClient(zeroCustomConnectorByIdContract, config);
248
+ const result = await client.get({ params: { id }, headers: {} });
249
+ if (result.status === 200) {
250
+ return result.body;
251
+ }
252
+ if (result.status === 404) {
253
+ return null;
254
+ }
255
+ handleError(result, `Failed to get custom connector "${id}"`);
256
+ }
257
+ async function setZeroCustomConnectorValues(id, values) {
258
+ const config = await getClientConfig();
259
+ const client = initClient(zeroCustomConnectorValuesContract, config);
260
+ const result = await client.set({
261
+ params: { id },
262
+ headers: {},
263
+ body: { values: [...values] }
264
+ });
265
+ if (result.status === 200) {
266
+ return result.body;
267
+ }
268
+ handleError(result, `Failed to set values for custom connector "${id}"`);
269
+ }
270
+ async function startZeroCustomConnectorOAuth2(id, agentId) {
271
+ const config = await getClientConfig();
272
+ const client = initClient(zeroCustomConnectorOAuth2Contract, config);
273
+ const result = await client.start({
274
+ params: { id },
275
+ headers: {},
276
+ body: agentId ? { agentId } : {}
277
+ });
278
+ if (result.status === 200) {
279
+ return result.body.authorizationUrl;
280
+ }
281
+ handleError(result, `Failed to start OAuth for custom connector "${id}"`);
282
+ }
283
+
284
+ export {
285
+ createZeroAgent,
286
+ listZeroAgents,
287
+ getZeroAgent,
288
+ updateZeroAgent,
289
+ deleteZeroAgent,
290
+ getZeroAgentInstructions,
291
+ getZeroAgentUserConnectors,
292
+ getZeroAgentCustomConnectors,
293
+ addZeroAgentCustomConnector,
294
+ listZeroUserPermissionGrants,
295
+ updateZeroAgentInstructions,
296
+ listZeroConnectors,
297
+ listZeroConnectorCatalog,
298
+ listZeroConnectorCatalogStatus,
299
+ getZeroConnectorCatalogPermissions,
300
+ diagnoseZeroConnectorCheck,
301
+ getZeroConnector,
302
+ connectZeroConnectorManualGrant,
303
+ listZeroCustomConnectors,
304
+ createZeroCustomConnector,
305
+ getZeroCustomConnector,
306
+ setZeroCustomConnectorValues,
307
+ startZeroCustomConnectorOAuth2
308
+ };
309
+ //# sourceMappingURL=chunk-4SGKKHZW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/lib/api/domains/zero-agents.ts","../src/lib/api/domains/zero-connectors.ts"],"sourcesContent":["import { initClient } from \"@vm0/api-contracts/contracts/trpc-contract\";\nimport {\n zeroAgentsMainContract,\n zeroAgentsByIdContract,\n zeroAgentInstructionsContract,\n type ZeroAgentResponse,\n type ZeroAgentRequest,\n type ZeroAgentInstructionsResponse,\n} from \"@vm0/api-contracts/contracts/zero-agents\";\nimport {\n zeroUserPermissionGrantsContract,\n type UserPermissionGrantResponse,\n} from \"@vm0/api-contracts/contracts/zero-user-permission-grants\";\nimport type { ConnectorSlug } from \"@vm0/api-contracts/contracts/connector-identity\";\nimport { zeroUserConnectorsContract } from \"@vm0/api-contracts/contracts/user-connectors\";\nimport { zeroAgentCustomConnectorsContract } from \"@vm0/api-contracts/contracts/zero-agent-custom-connectors\";\nimport { getClientConfig, handleError } from \"../core/client-factory\";\n\nexport type ZeroUserPermissionGrant = UserPermissionGrantResponse;\n\nexport async function createZeroAgent(\n body: ZeroAgentRequest,\n): Promise<ZeroAgentResponse> {\n const config = await getClientConfig();\n const client = initClient(zeroAgentsMainContract, config);\n const result = await client.create({ body });\n if (result.status === 201) return result.body;\n handleError(result, \"Failed to create zero agent\");\n}\n\nexport async function listZeroAgents(): Promise<ZeroAgentResponse[]> {\n const config = await getClientConfig();\n const client = initClient(zeroAgentsMainContract, config);\n const result = await client.list({ headers: {} });\n if (result.status === 200) return result.body;\n handleError(result, \"Failed to list zero agents\");\n}\n\nexport async function getZeroAgent(id: string): Promise<ZeroAgentResponse> {\n const config = await getClientConfig();\n const client = initClient(zeroAgentsByIdContract, config);\n const result = await client.get({ params: { id } });\n if (result.status === 200) return result.body;\n handleError(result, `Zero agent \"${id}\" not found`);\n}\n\nexport async function updateZeroAgent(\n id: string,\n body: ZeroAgentRequest,\n): Promise<ZeroAgentResponse> {\n const config = await getClientConfig();\n const client = initClient(zeroAgentsByIdContract, config);\n const result = await client.update({ params: { id }, body });\n if (result.status === 200) return result.body;\n handleError(result, `Failed to update zero agent \"${id}\"`);\n}\n\nexport async function deleteZeroAgent(id: string): Promise<void> {\n const config = await getClientConfig();\n const client = initClient(zeroAgentsByIdContract, config);\n const result = await client.delete({ params: { id } });\n if (result.status === 204) return;\n handleError(result, `Zero agent \"${id}\" not found`);\n}\n\nexport async function getZeroAgentInstructions(\n id: string,\n): Promise<ZeroAgentInstructionsResponse> {\n const config = await getClientConfig();\n const client = initClient(zeroAgentInstructionsContract, config);\n const result = await client.get({ params: { id } });\n if (result.status === 200) return result.body;\n handleError(result, `Failed to get instructions for zero agent \"${id}\"`);\n}\n\nexport async function getZeroAgentUserConnectors(\n id: string,\n): Promise<ConnectorSlug[]> {\n const config = await getClientConfig();\n const client = initClient(zeroUserConnectorsContract, config);\n const result = await client.get({ params: { id } });\n if (result.status === 200) {\n return result.body.enabledConnectorSlugs;\n }\n handleError(\n result,\n `Failed to get connector permissions for zero agent \"${id}\"`,\n );\n}\n\nexport async function getZeroAgentCustomConnectors(\n id: string,\n): Promise<string[]> {\n const config = await getClientConfig();\n const client = initClient(zeroAgentCustomConnectorsContract, config);\n const result = await client.get({ params: { id } });\n if (result.status === 200) return result.body.enabledIds;\n handleError(\n result,\n `Failed to get custom connector permissions for zero agent \"${id}\"`,\n );\n}\n\nexport async function addZeroAgentCustomConnector(\n id: string,\n customConnectorId: string,\n): Promise<void> {\n const config = await getClientConfig();\n const client = initClient(zeroAgentCustomConnectorsContract, config);\n const result = await client.update({\n params: { id },\n body: {\n enabledIds: [customConnectorId],\n operation: \"add\",\n },\n });\n if (result.status === 200) return;\n handleError(\n result,\n `Failed to authorize custom connector \"${customConnectorId}\" for zero agent \"${id}\"`,\n );\n}\n\nexport async function listZeroUserPermissionGrants(\n agentId: string,\n): Promise<ZeroUserPermissionGrant[]> {\n const config = await getClientConfig();\n const client = initClient(zeroUserPermissionGrantsContract, config);\n const result = await client.list({ query: { agentId } });\n if (result.status === 200) {\n return result.body;\n }\n handleError(\n result,\n `Failed to get permission grants for zero agent \"${agentId}\"`,\n );\n}\n\nexport async function updateZeroAgentInstructions(\n id: string,\n content: string,\n): Promise<void> {\n const config = await getClientConfig();\n const client = initClient(zeroAgentInstructionsContract, config);\n const result = await client.update({\n params: { id },\n body: { content },\n });\n if (result.status === 200) return;\n handleError(result, `Failed to update instructions for zero agent \"${id}\"`);\n}\n","import { initClient } from \"@vm0/api-contracts/contracts/trpc-contract\";\nimport type {\n ConnectorAuthMethodId,\n ConnectorSlug,\n} from \"@vm0/api-contracts/contracts/connector-identity\";\nimport {\n zeroConnectorManualGrantContract,\n zeroConnectorsBySlugContract,\n zeroConnectorsMainContract,\n} from \"@vm0/api-contracts/contracts/zero-connectors\";\nimport {\n zeroConnectorCatalogContract,\n type PublicConnectorCatalogListResponse,\n type PublicConnectorCatalogPermissionDetail,\n type PublicConnectorCatalogStatusItem,\n type PublicConnectorCatalogStatusResponse,\n} from \"@vm0/api-contracts/contracts/zero-connector-catalog\";\nimport {\n zeroConnectorCheckContract,\n type ConnectorCheckDiagnosticResult,\n type ConnectorCheckRequest,\n} from \"@vm0/api-contracts/contracts/zero-connector-check\";\nimport {\n zeroCustomConnectorByIdContract,\n zeroCustomConnectorOAuth2Contract,\n zeroCustomConnectorValuesContract,\n zeroCustomConnectorsContract,\n type CreateCustomConnectorBody,\n type CustomConnectorValueInput,\n type CustomConnectorResponse,\n} from \"@vm0/api-contracts/contracts/zero-custom-connectors\";\nimport type {\n ConnectorListResponse,\n ConnectorResponse,\n} from \"@vm0/api-contracts/contracts/connector-schemas\";\nimport { getClientConfig, handleError } from \"../core/client-factory\";\n\nexport type ZeroConnector = ConnectorResponse;\ntype ZeroConnectorListResponse = ConnectorListResponse;\nexport type ZeroConnectorCatalogItem =\n PublicConnectorCatalogListResponse[\"connectors\"][number];\nexport type ZeroConnectorCatalogStatus = PublicConnectorCatalogStatusItem;\ntype ZeroConnectorCatalogListResponse = PublicConnectorCatalogListResponse;\ntype ZeroConnectorCatalogStatusResponse = PublicConnectorCatalogStatusResponse;\nexport type ZeroConnectorCatalogPermissionDetail =\n PublicConnectorCatalogPermissionDetail;\nexport type ZeroConnectorCheckDiagnosticResult = ConnectorCheckDiagnosticResult;\n\n/**\n * List all connectors for the authenticated user (zero proxy)\n */\nexport async function listZeroConnectors(): Promise<ZeroConnectorListResponse> {\n const config = await getClientConfig();\n const client = initClient(zeroConnectorsMainContract, config);\n\n const result = await client.list({ headers: {} });\n\n if (result.status === 200) {\n return result.body;\n }\n\n handleError(result, \"Failed to list connectors\");\n}\n\nexport async function listZeroConnectorCatalog(): Promise<ZeroConnectorCatalogListResponse> {\n const config = await getClientConfig();\n const client = initClient(zeroConnectorCatalogContract, config);\n\n const result = await client.list({ headers: {} });\n\n if (result.status === 200) {\n return result.body;\n }\n\n handleError(result, \"Failed to list connector catalog\");\n}\n\nexport async function listZeroConnectorCatalogStatus(): Promise<ZeroConnectorCatalogStatusResponse> {\n const config = await getClientConfig();\n const client = initClient(zeroConnectorCatalogContract, config);\n\n const result = await client.status({ headers: {} });\n\n if (result.status === 200) {\n return result.body;\n }\n\n handleError(result, \"Failed to list connector catalog status\");\n}\n\nexport async function getZeroConnectorCatalogPermissions(\n connectorSlug: string,\n): Promise<ZeroConnectorCatalogPermissionDetail | null> {\n const config = await getClientConfig();\n const client = initClient(zeroConnectorCatalogContract, config);\n\n const result = await client.permissions({\n params: { connectorSlug },\n });\n\n if (result.status === 200) {\n const permissions = result.body.permissions;\n if (permissions.connectorSlug !== connectorSlug) {\n throw new Error(\n `Permission metadata connector slug mismatch: expected ${connectorSlug}, got ${permissions.connectorSlug}`,\n );\n }\n return permissions;\n }\n\n if (result.status === 404) {\n return null;\n }\n\n handleError(\n result,\n `Failed to get connector permission metadata for \"${connectorSlug}\"`,\n );\n}\n\nexport async function diagnoseZeroConnectorCheck(\n request: ConnectorCheckRequest,\n): Promise<ZeroConnectorCheckDiagnosticResult> {\n const config = await getClientConfig();\n const client = initClient(zeroConnectorCheckContract, {\n ...config,\n validateResponse: true,\n });\n\n const result = await client.check({ body: request });\n\n if (result.status === 200) {\n return result.body;\n }\n\n handleError(result, \"Failed to diagnose connector\");\n}\n\n/**\n * Get a connector by slug (zero proxy)\n * Returns null if not connected (404 response)\n */\nexport async function getZeroConnector(\n connectorSlug: ConnectorSlug,\n): Promise<ZeroConnector | null> {\n const config = await getClientConfig();\n const client = initClient(zeroConnectorsBySlugContract, config);\n\n const result = await client.get({\n params: { connectorSlug },\n });\n\n if (result.status === 200) {\n return result.body;\n }\n\n if (result.status === 404) {\n return null;\n }\n\n handleError(result, `Failed to get connector \"${connectorSlug}\"`);\n}\n\nexport async function connectZeroConnectorManualGrant(\n connectorSlug: ConnectorSlug,\n authMethod: ConnectorAuthMethodId,\n values: Record<string, string>,\n): Promise<ZeroConnector> {\n const config = await getClientConfig();\n const client = initClient(zeroConnectorManualGrantContract, config);\n\n const result = await client.connect({\n params: { connectorSlug },\n body: { authMethod, values },\n });\n\n if (result.status === 200) {\n return result.body;\n }\n\n handleError(result, `Failed to connect connector \"${connectorSlug}\"`);\n}\n\nexport async function listZeroCustomConnectors(): Promise<\n CustomConnectorResponse[]\n> {\n const config = await getClientConfig();\n const client = initClient(zeroCustomConnectorsContract, config);\n\n const result = await client.list({ headers: {} });\n if (result.status === 200) {\n return result.body.connectors;\n }\n\n handleError(result, \"Failed to list custom connectors\");\n}\n\nexport async function createZeroCustomConnector(\n body: CreateCustomConnectorBody,\n): Promise<CustomConnectorResponse> {\n const config = await getClientConfig();\n const client = initClient(zeroCustomConnectorsContract, config);\n\n const result = await client.create({ body, headers: {} });\n if (result.status === 201) {\n return result.body;\n }\n\n handleError(result, \"Failed to create custom connector\");\n}\n\nexport async function getZeroCustomConnector(\n id: string,\n): Promise<CustomConnectorResponse | null> {\n const config = await getClientConfig();\n const client = initClient(zeroCustomConnectorByIdContract, config);\n\n const result = await client.get({ params: { id }, headers: {} });\n if (result.status === 200) {\n return result.body;\n }\n if (result.status === 404) {\n return null;\n }\n\n handleError(result, `Failed to get custom connector \"${id}\"`);\n}\n\nexport async function setZeroCustomConnectorValues(\n id: string,\n values: readonly CustomConnectorValueInput[],\n): Promise<CustomConnectorResponse> {\n const config = await getClientConfig();\n const client = initClient(zeroCustomConnectorValuesContract, config);\n\n const result = await client.set({\n params: { id },\n headers: {},\n body: { values: [...values] },\n });\n if (result.status === 200) {\n return result.body;\n }\n\n handleError(result, `Failed to set values for custom connector \"${id}\"`);\n}\n\nexport async function startZeroCustomConnectorOAuth2(\n id: string,\n agentId: string | undefined,\n): Promise<string> {\n const config = await getClientConfig();\n const client = initClient(zeroCustomConnectorOAuth2Contract, config);\n\n const result = await client.start({\n params: { id },\n headers: {},\n body: agentId ? { agentId } : {},\n });\n if (result.status === 200) {\n return result.body.authorizationUrl;\n }\n\n handleError(result, `Failed to start OAuth for custom connector \"${id}\"`);\n}\n"],"mappings":"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","names":[]}