@vm0/cli 9.256.1 → 9.257.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 (101) hide show
  1. package/{agent-EVQN2LPX.js → agent-6PNU7NKA.js} +6 -6
  2. package/{banking-YA4UBYKV.js → banking-LIKZNNA3.js} +4 -4
  3. package/{browser-K37YB6WN.js → browser-4R2YDR62.js} +48 -22
  4. package/browser-4R2YDR62.js.map +1 -0
  5. package/{chat-UFNIPVLN.js → chat-PSSM3NZI.js} +5 -5
  6. package/{chunk-M4F24YFV.js → chunk-AXPECIRA.js} +7 -6
  7. package/chunk-AXPECIRA.js.map +1 -0
  8. package/{chunk-SLUCBVKQ.js → chunk-DIK5B4ZQ.js} +71 -56
  9. package/{chunk-SLUCBVKQ.js.map → chunk-DIK5B4ZQ.js.map} +1 -1
  10. package/{chunk-ITSKDZFI.js → chunk-KDNGT5NT.js} +2 -30
  11. package/chunk-KDNGT5NT.js.map +1 -0
  12. package/{chunk-AAZBHQPP.js → chunk-NAXSTGVS.js} +2 -2
  13. package/{chunk-P2FBG2BA.js → chunk-OMZ7JNGC.js} +2 -2
  14. package/{chunk-KLSQEQC4.js → chunk-RKOGVYZD.js} +3 -3
  15. package/{chunk-OQSXOSCD.js → chunk-RLKJ2XNZ.js} +2 -2
  16. package/{chunk-CIALZM7O.js → chunk-TP7AVH5K.js} +2 -2
  17. package/{chunk-VQ3ILWFQ.js → chunk-ZQOFNY34.js} +4 -4
  18. package/{computer-use-C6VLY2LY.js → computer-use-54M26ZHL.js} +4 -4
  19. package/{connector-SJF25IFP.js → connector-NQP2OC55.js} +7 -7
  20. package/{credit-LYZ2HJ6F.js → credit-IHTXTFPT.js} +5 -5
  21. package/{developer-support-3ISSXZCF.js → developer-support-Z2A6DWF7.js} +4 -4
  22. package/{doctor-ISR6CR7B.js → doctor-KTLE2XJI.js} +5 -5
  23. package/{feishu-3MULYZGN.js → feishu-GKPQY3AW.js} +4 -4
  24. package/{finance-7BH57FKM.js → finance-KIIZG3ZI.js} +4 -4
  25. package/{generate-5RN37TB2.js → generate-76I6OUDC.js} +5 -5
  26. package/{github-V6IISTKM.js → github-YU7FN4T4.js} +4 -4
  27. package/{goal-VHURZA6I.js → goal-XJUAREVX.js} +4 -4
  28. package/{host-FPYIZNEY.js → host-7BZHM6UL.js} +4 -4
  29. package/{logs-SOU4VJKD.js → logs-6HBWQTDR.js} +5 -5
  30. package/{mail-CYM7COJU.js → mail-UHSIDK2L.js} +6 -6
  31. package/{maps-M743J55Y.js → maps-E7UDZIQW.js} +4 -4
  32. package/{model-UP6QUEBW.js → model-JNX4ATJD.js} +5 -5
  33. package/{model-provider-OFR5IFKC.js → model-provider-3OJOREKY.js} +5 -5
  34. package/{org-TMYRDS6T.js → org-HFW3TZVX.js} +4 -4
  35. package/package.json +1 -1
  36. package/{people-search-PGGRVJE2.js → people-search-P4DUITUE.js} +4 -4
  37. package/{phone-XDSMT3L2.js → phone-HEDFCVAX.js} +4 -4
  38. package/{preference-HJZXDNPF.js → preference-ZFGOHT3I.js} +4 -4
  39. package/{resource-EPIY47XQ.js → resource-JOLB3ZCJ.js} +4 -4
  40. package/{scrape-RARAUZOC.js → scrape-YMTMJRHW.js} +4 -4
  41. package/{search-DXXHHWDZ.js → search-ZJJZXAVE.js} +5 -5
  42. package/{secret-AGFBP5RY.js → secret-HE7UT6PO.js} +4 -4
  43. package/{slack-K2QEL2LI.js → slack-CMNXWUKS.js} +4 -4
  44. package/{teams-KIJXDVOL.js → teams-ZSHKKQUD.js} +4 -4
  45. package/{telegram-S5K3IMKH.js → telegram-VLCEN6MM.js} +4 -4
  46. package/{upgrade-6I5DNVPS.js → upgrade-WX3U7MZI.js} +3 -3
  47. package/{variable-IRTOV55E.js → variable-H54WRRXG.js} +4 -4
  48. package/{video-3ZDBT2PC.js → video-XJJZZYSG.js} +3 -3
  49. package/{weather-4TPUCJLD.js → weather-XWXK6CZY.js} +4 -4
  50. package/{web-ZK5I2YXJ.js → web-5UY5AYFW.js} +4 -4
  51. package/{web-search-OI6ACM3G.js → web-search-4MQUXAQH.js} +4 -4
  52. package/{whoami-FJGFKNBS.js → whoami-XWFEH6TT.js} +6 -6
  53. package/{workflow-4ODQQIVH.js → workflow-GAXXRI6N.js} +4 -4
  54. package/zero.js +42 -42
  55. package/browser-K37YB6WN.js.map +0 -1
  56. package/chunk-ITSKDZFI.js.map +0 -1
  57. package/chunk-M4F24YFV.js.map +0 -1
  58. /package/{agent-EVQN2LPX.js.map → agent-6PNU7NKA.js.map} +0 -0
  59. /package/{banking-YA4UBYKV.js.map → banking-LIKZNNA3.js.map} +0 -0
  60. /package/{chat-UFNIPVLN.js.map → chat-PSSM3NZI.js.map} +0 -0
  61. /package/{chunk-AAZBHQPP.js.map → chunk-NAXSTGVS.js.map} +0 -0
  62. /package/{chunk-P2FBG2BA.js.map → chunk-OMZ7JNGC.js.map} +0 -0
  63. /package/{chunk-KLSQEQC4.js.map → chunk-RKOGVYZD.js.map} +0 -0
  64. /package/{chunk-OQSXOSCD.js.map → chunk-RLKJ2XNZ.js.map} +0 -0
  65. /package/{chunk-CIALZM7O.js.map → chunk-TP7AVH5K.js.map} +0 -0
  66. /package/{chunk-VQ3ILWFQ.js.map → chunk-ZQOFNY34.js.map} +0 -0
  67. /package/{computer-use-C6VLY2LY.js.map → computer-use-54M26ZHL.js.map} +0 -0
  68. /package/{connector-SJF25IFP.js.map → connector-NQP2OC55.js.map} +0 -0
  69. /package/{credit-LYZ2HJ6F.js.map → credit-IHTXTFPT.js.map} +0 -0
  70. /package/{developer-support-3ISSXZCF.js.map → developer-support-Z2A6DWF7.js.map} +0 -0
  71. /package/{doctor-ISR6CR7B.js.map → doctor-KTLE2XJI.js.map} +0 -0
  72. /package/{feishu-3MULYZGN.js.map → feishu-GKPQY3AW.js.map} +0 -0
  73. /package/{finance-7BH57FKM.js.map → finance-KIIZG3ZI.js.map} +0 -0
  74. /package/{generate-5RN37TB2.js.map → generate-76I6OUDC.js.map} +0 -0
  75. /package/{github-V6IISTKM.js.map → github-YU7FN4T4.js.map} +0 -0
  76. /package/{goal-VHURZA6I.js.map → goal-XJUAREVX.js.map} +0 -0
  77. /package/{host-FPYIZNEY.js.map → host-7BZHM6UL.js.map} +0 -0
  78. /package/{logs-SOU4VJKD.js.map → logs-6HBWQTDR.js.map} +0 -0
  79. /package/{mail-CYM7COJU.js.map → mail-UHSIDK2L.js.map} +0 -0
  80. /package/{maps-M743J55Y.js.map → maps-E7UDZIQW.js.map} +0 -0
  81. /package/{model-UP6QUEBW.js.map → model-JNX4ATJD.js.map} +0 -0
  82. /package/{model-provider-OFR5IFKC.js.map → model-provider-3OJOREKY.js.map} +0 -0
  83. /package/{org-TMYRDS6T.js.map → org-HFW3TZVX.js.map} +0 -0
  84. /package/{people-search-PGGRVJE2.js.map → people-search-P4DUITUE.js.map} +0 -0
  85. /package/{phone-XDSMT3L2.js.map → phone-HEDFCVAX.js.map} +0 -0
  86. /package/{preference-HJZXDNPF.js.map → preference-ZFGOHT3I.js.map} +0 -0
  87. /package/{resource-EPIY47XQ.js.map → resource-JOLB3ZCJ.js.map} +0 -0
  88. /package/{scrape-RARAUZOC.js.map → scrape-YMTMJRHW.js.map} +0 -0
  89. /package/{search-DXXHHWDZ.js.map → search-ZJJZXAVE.js.map} +0 -0
  90. /package/{secret-AGFBP5RY.js.map → secret-HE7UT6PO.js.map} +0 -0
  91. /package/{slack-K2QEL2LI.js.map → slack-CMNXWUKS.js.map} +0 -0
  92. /package/{teams-KIJXDVOL.js.map → teams-ZSHKKQUD.js.map} +0 -0
  93. /package/{telegram-S5K3IMKH.js.map → telegram-VLCEN6MM.js.map} +0 -0
  94. /package/{upgrade-6I5DNVPS.js.map → upgrade-WX3U7MZI.js.map} +0 -0
  95. /package/{variable-IRTOV55E.js.map → variable-H54WRRXG.js.map} +0 -0
  96. /package/{video-3ZDBT2PC.js.map → video-XJJZZYSG.js.map} +0 -0
  97. /package/{weather-4TPUCJLD.js.map → weather-XWXK6CZY.js.map} +0 -0
  98. /package/{web-ZK5I2YXJ.js.map → web-5UY5AYFW.js.map} +0 -0
  99. /package/{web-search-OI6ACM3G.js.map → web-search-4MQUXAQH.js.map} +0 -0
  100. /package/{whoami-FJGFKNBS.js.map → whoami-XWFEH6TT.js.map} +0 -0
  101. /package/{workflow-4ODQQIVH.js.map → workflow-GAXXRI6N.js.map} +0 -0
@@ -6,7 +6,7 @@ import {
6
6
  getActiveToken,
7
7
  getBaseUrl,
8
8
  headersWithCliClientHeaders
9
- } from "./chunk-M4F24YFV.js";
9
+ } from "./chunk-AXPECIRA.js";
10
10
  import {
11
11
  init_esm_shims
12
12
  } from "./chunk-3VVCUQPB.js";
@@ -120,10 +120,6 @@ async function downloadWebFile(fileId, outPath) {
120
120
  const headers = {
121
121
  Authorization: `Bearer ${token}`
122
122
  };
123
- const bypassSecret = process.env.VERCEL_AUTOMATION_BYPASS_SECRET;
124
- if (bypassSecret) {
125
- headers["x-vercel-protection-bypass"] = bypassSecret;
126
- }
127
123
  const response = await fetch(url, {
128
124
  headers: headersWithCliClientHeaders(headers)
129
125
  });
@@ -202,10 +198,6 @@ function authenticatedJsonHeaders(token) {
202
198
  Authorization: `Bearer ${token}`,
203
199
  "Content-Type": "application/json"
204
200
  };
205
- const bypassSecret = process.env.VERCEL_AUTOMATION_BYPASS_SECRET;
206
- if (bypassSecret) {
207
- headers["x-vercel-protection-bypass"] = bypassSecret;
208
- }
209
201
  return headersWithCliClientHeaders(headers);
210
202
  }
211
203
  function isRecord(value) {
@@ -446,10 +438,6 @@ async function uploadWebFile(localPath, options) {
446
438
  Authorization: `Bearer ${token}`,
447
439
  "Content-Type": "application/json"
448
440
  };
449
- const bypassSecret = process.env.VERCEL_AUTOMATION_BYPASS_SECRET;
450
- if (bypassSecret) {
451
- prepareHeaders["x-vercel-protection-bypass"] = bypassSecret;
452
- }
453
441
  const prepareUrl = new URL("/api/zero/uploads/prepare", baseUrl);
454
442
  const prepareRes = await fetch(prepareUrl, {
455
443
  method: "POST",
@@ -512,10 +500,6 @@ async function generateWebVoice(options) {
512
500
  Authorization: `Bearer ${token}`,
513
501
  "Content-Type": "application/json"
514
502
  };
515
- const bypassSecret = process.env.VERCEL_AUTOMATION_BYPASS_SECRET;
516
- if (bypassSecret) {
517
- headers["x-vercel-protection-bypass"] = bypassSecret;
518
- }
519
503
  const response = await fetch(new URL("/api/zero/voice-io/speech", baseUrl), {
520
504
  method: "POST",
521
505
  headers: headersWithCliClientHeaders(headers),
@@ -544,10 +528,6 @@ async function generateWebImage(options) {
544
528
  Authorization: `Bearer ${token}`,
545
529
  "Content-Type": "application/json"
546
530
  };
547
- const bypassSecret = process.env.VERCEL_AUTOMATION_BYPASS_SECRET;
548
- if (bypassSecret) {
549
- headers["x-vercel-protection-bypass"] = bypassSecret;
550
- }
551
531
  const response = await fetch(
552
532
  new URL("/api/zero/image-io/generate", baseUrl),
553
533
  {
@@ -596,10 +576,6 @@ async function generateWebVideo(options) {
596
576
  Authorization: `Bearer ${token}`,
597
577
  "Content-Type": "application/json"
598
578
  };
599
- const bypassSecret = process.env.VERCEL_AUTOMATION_BYPASS_SECRET;
600
- if (bypassSecret) {
601
- headers["x-vercel-protection-bypass"] = bypassSecret;
602
- }
603
579
  const response = await fetch(
604
580
  new URL("/api/zero/video-io/generate", baseUrl),
605
581
  {
@@ -631,10 +607,6 @@ async function transcribeAudio(audioPath, options = {}) {
631
607
  const headers = {
632
608
  Authorization: `Bearer ${token}`
633
609
  };
634
- const bypassSecret = process.env.VERCEL_AUTOMATION_BYPASS_SECRET;
635
- if (bypassSecret) {
636
- headers["x-vercel-protection-bypass"] = bypassSecret;
637
- }
638
610
  const url = new URL("/api/zero/voice-io/stt", baseUrl);
639
611
  if (options.verbose) {
640
612
  url.searchParams.set("verbose", "true");
@@ -676,4 +648,4 @@ export {
676
648
  generateWebVideo,
677
649
  transcribeAudio
678
650
  };
679
- //# sourceMappingURL=chunk-ITSKDZFI.js.map
651
+ //# sourceMappingURL=chunk-KDNGT5NT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/lib/api/domains/web.ts"],"sourcesContent":["import { createWriteStream, readFileSync, statSync } from \"node:fs\";\nimport { basename, extname } from \"node:path\";\nimport { Readable } from \"node:stream\";\nimport { pipeline } from \"node:stream/promises\";\nimport { setTimeout as delay } from \"node:timers/promises\";\nimport { Realtime, type AuthOptions, type InboundMessage } from \"ably\";\nimport type {\n ZeroBuiltInGenerationAcceptedResponse,\n ZeroBuiltInGenerationResponse,\n} from \"@vm0/api-contracts/contracts/zero-built-in-generation\";\nimport { ApiRequestError, getBaseUrl } from \"../core/client-factory\";\nimport { getActiveToken } from \"../config\";\nimport { headersWithCliClientHeaders } from \"../client-headers\";\n\nconst BUILT_IN_GENERATION_POLL_INTERVAL_MS = 2_000;\nconst BUILT_IN_GENERATION_WAIT_TIMEOUT_MS_BY_TYPE = {\n image: 15 * 60 * 1000,\n video: 30 * 60 * 1000,\n presentation: 60 * 60 * 1000,\n website: 60 * 60 * 1000,\n} as const satisfies Record<\n ZeroBuiltInGenerationAcceptedResponse[\"type\"],\n number\n>;\nconst ABLY_CONNECT_TIMEOUT_MS = 10_000;\n\n/**\n * Minimal extension → MIME map covering the server allowlist for\n * `/api/zero/uploads/prepare`. Kept in this file rather than a shared module\n * to match the YAGNI pattern used elsewhere in the CLI.\n */\nconst MIME_BY_EXTENSION: Record<string, string> = {\n \".png\": \"image/png\",\n \".jpg\": \"image/jpeg\",\n \".jpeg\": \"image/jpeg\",\n \".gif\": \"image/gif\",\n \".webp\": \"image/webp\",\n \".avif\": \"image/avif\",\n \".svg\": \"image/svg+xml\",\n \".bmp\": \"image/bmp\",\n \".heic\": \"image/heic\",\n \".heif\": \"image/heif\",\n \".tif\": \"image/tiff\",\n \".tiff\": \"image/tiff\",\n \".psd\": \"image/vnd.adobe.photoshop\",\n \".mp4\": \"video/mp4\",\n \".webm\": \"video/webm\",\n \".mov\": \"video/quicktime\",\n \".aac\": \"audio/aac\",\n \".flac\": \"audio/flac\",\n \".m4a\": \"audio/mp4\",\n \".mp3\": \"audio/mpeg\",\n \".mpga\": \"audio/mpga\",\n \".oga\": \"audio/ogg\",\n \".ogg\": \"audio/ogg\",\n \".opus\": \"audio/opus\",\n \".wav\": \"audio/wav\",\n \".wave\": \"audio/wave\",\n \".pdf\": \"application/pdf\",\n \".txt\": \"text/plain\",\n \".csv\": \"text/csv\",\n \".md\": \"text/markdown\",\n \".html\": \"text/html\",\n \".htm\": \"text/html\",\n \".json\": \"application/json\",\n \".xml\": \"application/xml\",\n \".yaml\": \"application/yaml\",\n \".yml\": \"application/yaml\",\n \".tsv\": \"text/tab-separated-values\",\n \".doc\": \"application/msword\",\n \".docx\":\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n \".docm\": \"application/vnd.ms-word.document.macroenabled.12\",\n \".dotm\": \"application/vnd.ms-word.template.macroenabled.12\",\n \".dotx\":\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.template\",\n \".odt\": \"application/vnd.oasis.opendocument.text\",\n \".rtf\": \"application/rtf\",\n \".xls\": \"application/vnd.ms-excel\",\n \".xlsx\": \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\n \".xlsb\": \"application/vnd.ms-excel.sheet.binary.macroenabled.12\",\n \".xlsm\": \"application/vnd.ms-excel.sheet.macroenabled.12\",\n \".xltm\": \"application/vnd.ms-excel.template.macroenabled.12\",\n \".xltx\":\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.template\",\n \".ods\": \"application/vnd.oasis.opendocument.spreadsheet\",\n \".ppt\": \"application/vnd.ms-powerpoint\",\n \".pptx\":\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation\",\n \".potm\": \"application/vnd.ms-powerpoint.template.macroenabled.12\",\n \".potx\":\n \"application/vnd.openxmlformats-officedocument.presentationml.template\",\n \".odp\": \"application/vnd.oasis.opendocument.presentation\",\n \".ppsx\":\n \"application/vnd.openxmlformats-officedocument.presentationml.slideshow\",\n \".ppsm\": \"application/vnd.ms-powerpoint.slideshow.macroenabled.12\",\n \".pptm\": \"application/vnd.ms-powerpoint.presentation.macroenabled.12\",\n \".zip\": \"application/zip\",\n \".rar\": \"application/vnd.rar\",\n \".7z\": \"application/x-7z-compressed\",\n \".tar\": \"application/x-tar\",\n \".gz\": \"application/gzip\",\n \".tgz\": \"application/gzip\",\n \".bz2\": \"application/x-bzip2\",\n \".xz\": \"application/x-xz\",\n \".pages\": \"application/vnd.apple.pages\",\n \".numbers\": \"application/vnd.apple.numbers\",\n \".key\": \"application/vnd.apple.keynote\",\n \".parquet\": \"application/vnd.apache.parquet\",\n \".sqlite\": \"application/vnd.sqlite3\",\n \".sqlite3\": \"application/vnd.sqlite3\",\n \".db\": \"application/vnd.sqlite3\",\n \".epub\": \"application/epub+zip\",\n \".ai\": \"application/postscript\",\n};\n\nexport function inferWebUploadContentType(localPath: string): string {\n const ext = extname(localPath).toLowerCase();\n return MIME_BY_EXTENSION[ext] ?? \"application/octet-stream\";\n}\n\ninterface DownloadWebFileResult {\n path: string;\n mimetype: string;\n size: number;\n}\n\n/**\n * Download a web-uploaded file to a local path, streaming the response body\n * to disk. Authenticates via ZERO_TOKEN. Response is binary, so this bypasses\n * the typed contract client.\n */\nexport async function downloadWebFile(\n fileId: string,\n outPath: string,\n): Promise<DownloadWebFileResult> {\n const baseUrl = await getBaseUrl();\n const token = await getActiveToken();\n if (!token) {\n throw new ApiRequestError(\"Not authenticated\", \"UNAUTHORIZED\", 401);\n }\n\n const url = new URL(\"/api/zero/web/download-file\", baseUrl);\n url.searchParams.set(\"file_id\", fileId);\n\n const headers: Record<string, string> = {\n Authorization: `Bearer ${token}`,\n };\n\n const response = await fetch(url, {\n headers: headersWithCliClientHeaders(headers),\n });\n\n if (!response.ok) {\n let message = `Failed to download web file (HTTP ${response.status})`;\n let code = \"UNKNOWN\";\n try {\n const body = (await response.json()) as {\n error?: { message?: string; code?: string };\n };\n if (body.error?.message) message = body.error.message;\n if (body.error?.code) code = body.error.code;\n } catch {\n // ignore parse errors — keep generic message\n }\n throw new ApiRequestError(message, code, response.status);\n }\n\n if (!response.body) {\n throw new ApiRequestError(\n \"Web download response has no body\",\n \"EMPTY_BODY\",\n 502,\n );\n }\n\n const mimetype =\n response.headers.get(\"x-file-mimetype\") ??\n response.headers.get(\"content-type\") ??\n \"application/octet-stream\";\n\n // Cast required: Web API ReadableStream and Node.js ReadableStream are\n // structurally compatible but have incompatible type declarations.\n await pipeline(\n Readable.fromWeb(response.body as never),\n createWriteStream(outPath),\n );\n\n const contentLengthHeader = response.headers.get(\"content-length\");\n const size = contentLengthHeader ? Number(contentLengthHeader) : 0;\n\n return { path: outPath, mimetype, size };\n}\n\ninterface UploadWebFileResult {\n id: string;\n filename: string;\n contentType: string;\n size: number;\n url: string;\n}\n\ninterface GenerateWebVoiceOptions {\n text: string;\n voice?: string;\n instructions?: string;\n}\n\ninterface GenerateWebVoiceResult {\n id: string;\n filename: string;\n contentType: string;\n size: number;\n url: string;\n durationSeconds: number;\n creditsCharged: number;\n model: string;\n voice: string;\n}\n\ninterface GenerateWebImageOptions {\n prompt: string;\n model?: string;\n size?: string;\n quality?: string;\n background?: string;\n outputFormat?: string;\n outputCompression?: number;\n moderation?: string;\n seed?: number;\n safetyTolerance?: string;\n enhancePrompt?: boolean;\n imageUrls?: readonly string[];\n maskImageUrl?: string;\n inputFidelity?: string;\n imagePromptStrength?: number;\n}\n\ninterface GenerateWebImageResult {\n id: string;\n filename: string;\n contentType: string;\n size: number;\n url: string;\n creditsCharged: number;\n model: string;\n provider: string;\n imageSize: string;\n quality: string;\n background: string;\n outputFormat: string;\n outputCompression?: number;\n moderation?: string;\n safetyTolerance?: string;\n revisedPrompt?: string;\n usage?: {\n textInputTokens: number;\n imageInputTokens: number;\n imageOutputTokens: number;\n totalTokens: number;\n };\n billingCategory?: string;\n billingQuantity?: number;\n sourceUrl?: string;\n seed?: number;\n sourceImageUrls?: string[];\n maskImageUrl?: string;\n inputFidelity?: string;\n imagePromptStrength?: number;\n}\n\ninterface GenerateWebVideoOptions {\n prompt: string;\n model?: string;\n aspectRatio?: string;\n duration?: string;\n resolution?: string;\n generateAudio?: boolean;\n negativePrompt?: string;\n seed?: number;\n autoFix?: boolean;\n safetyTolerance?: string;\n imageUrls?: string[];\n videoUrls?: string[];\n audioUrls?: string[];\n firstFrameImageUrl?: string;\n lastFrameImageUrl?: string;\n}\n\ninterface GenerateWebVideoResult {\n id: string;\n filename: string;\n contentType: string;\n size: number;\n url: string;\n durationSeconds: number;\n creditsCharged: number;\n model: string;\n aspectRatio: string;\n duration: string;\n resolution: string;\n generateAudio: boolean;\n sourceUrl: string;\n requestId?: string;\n}\n\nfunction shouldIncludePayloadValue(value: unknown): boolean {\n if (value === undefined) {\n return false;\n }\n return !Array.isArray(value) || value.length > 0;\n}\n\nfunction compactPayload(\n entries: readonly (readonly [string, unknown])[],\n): Record<string, unknown> {\n return Object.fromEntries(\n entries.filter(([, value]) => {\n return shouldIncludePayloadValue(value);\n }),\n );\n}\n\nfunction generateWebVideoPayload(\n options: GenerateWebVideoOptions,\n): Record<string, unknown> {\n return compactPayload([\n [\"prompt\", options.prompt],\n [\"model\", options.model],\n [\"aspectRatio\", options.aspectRatio],\n [\"duration\", options.duration],\n [\"resolution\", options.resolution],\n [\"generateAudio\", options.generateAudio],\n [\"negativePrompt\", options.negativePrompt],\n [\"seed\", options.seed],\n [\"autoFix\", options.autoFix],\n [\"safetyTolerance\", options.safetyTolerance],\n [\"imageUrls\", options.imageUrls],\n [\"videoUrls\", options.videoUrls],\n [\"audioUrls\", options.audioUrls],\n [\"firstFrameImageUrl\", options.firstFrameImageUrl],\n [\"lastFrameImageUrl\", options.lastFrameImageUrl],\n ]);\n}\n\ninterface PrepareUploadResponse {\n id: string;\n filename: string;\n contentType: string;\n size: number;\n uploadUrl: string;\n url: string;\n}\n\ninterface CompleteUploadResponse {\n id: string;\n filename: string;\n contentType: string;\n size: number;\n url: string;\n}\n\nasync function parseErrorBody(\n response: Response,\n fallback: string,\n): Promise<{ message: string; code: string }> {\n let message = `${fallback} (HTTP ${response.status})`;\n let code = \"UNKNOWN\";\n try {\n const body = (await response.json()) as {\n error?: { message?: string; code?: string };\n };\n if (body.error?.message) message = body.error.message;\n if (body.error?.code) code = body.error.code;\n } catch {\n // ignore parse errors — keep generic message\n }\n return { message, code };\n}\n\nfunction authenticatedJsonHeaders(token: string): Headers {\n const headers: Record<string, string> = {\n Authorization: `Bearer ${token}`,\n \"Content-Type\": \"application/json\",\n };\n return headersWithCliClientHeaders(headers);\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction isBuiltInGenerationAcceptedResponse(\n value: unknown,\n): value is ZeroBuiltInGenerationAcceptedResponse {\n if (!isRecord(value)) {\n return false;\n }\n return (\n typeof value.generationId === \"string\" &&\n value.status === \"queued\" &&\n (value.type === \"image\" ||\n value.type === \"video\" ||\n value.type === \"presentation\" ||\n value.type === \"website\") &&\n isRecord(value.realtime)\n );\n}\n\ninterface BuiltInGenerationNotifier {\n wait(timeoutMs: number): Promise<void>;\n close(): void;\n}\n\nfunction createBuiltInGenerationRealtime(\n accepted: ZeroBuiltInGenerationAcceptedResponse,\n): Realtime {\n let nextAuthRequest = accepted.realtime.tokenRequest;\n const authCallback: NonNullable<AuthOptions[\"authCallback\"]> = (\n _params,\n callback,\n ) => {\n const current = nextAuthRequest;\n nextAuthRequest = accepted.realtime.tokenRequest;\n callback(null, current);\n };\n\n return new Realtime({\n authCallback,\n autoConnect: true,\n disconnectedRetryTimeout: 5000,\n suspendedRetryTimeout: 15_000,\n });\n}\n\nfunction waitForRealtimeConnected(\n ably: Realtime,\n timeoutMs = ABLY_CONNECT_TIMEOUT_MS,\n): Promise<void> {\n if (ably.connection.state === \"connected\") {\n return Promise.resolve();\n }\n if (ably.connection.state === \"failed\") {\n return Promise.reject(new Error(\"Ably connection failed\"));\n }\n\n return new Promise((resolve, reject) => {\n const timer = setTimeout(() => {\n reject(new Error(\"Timed out connecting to Ably\"));\n }, timeoutMs);\n\n ably.connection.once(\"connected\", () => {\n clearTimeout(timer);\n resolve();\n });\n ably.connection.once(\"failed\", (stateChange) => {\n clearTimeout(timer);\n reject(\n new Error(\n `Ably connection failed: ${stateChange?.reason?.message ?? \"unknown\"}`,\n ),\n );\n });\n });\n}\n\nasync function createBuiltInGenerationNotifier(\n accepted: ZeroBuiltInGenerationAcceptedResponse,\n): Promise<BuiltInGenerationNotifier | null> {\n const ably = createBuiltInGenerationRealtime(accepted);\n\n try {\n await waitForRealtimeConnected(ably);\n const channel = ably.channels.get(accepted.realtime.channelName);\n\n let pendingEvent = false;\n let closed = false;\n let wake: (() => void) | null = null;\n\n const wakeWaiter = () => {\n const current = wake;\n wake = null;\n current?.();\n };\n\n const onMessage = (_message: InboundMessage) => {\n if (wake) {\n wakeWaiter();\n return;\n }\n pendingEvent = true;\n };\n\n await channel.subscribe(accepted.realtime.eventName, onMessage);\n\n return {\n wait(timeoutMs: number): Promise<void> {\n if (pendingEvent || closed || timeoutMs <= 0) {\n pendingEvent = false;\n return Promise.resolve();\n }\n\n return new Promise((resolve) => {\n function done() {\n clearTimeout(timer);\n if (wake === done) {\n wake = null;\n }\n resolve();\n }\n const timer = setTimeout(done, timeoutMs);\n wake = done;\n });\n },\n close(): void {\n if (closed) {\n return;\n }\n closed = true;\n channel.unsubscribe(accepted.realtime.eventName, onMessage);\n wakeWaiter();\n ably.close();\n },\n };\n } catch {\n ably.close();\n return null;\n }\n}\n\nasync function getBuiltInGenerationStatus(\n baseUrl: string,\n token: string,\n generationId: string,\n): Promise<ZeroBuiltInGenerationResponse> {\n const response = await fetch(\n new URL(`/api/zero/built-in-generations/${generationId}`, baseUrl),\n { headers: authenticatedJsonHeaders(token) },\n );\n\n if (!response.ok) {\n const { message, code } = await parseErrorBody(\n response,\n \"Failed to get generation status\",\n );\n throw new ApiRequestError(message, code, response.status);\n }\n\n return (await response.json()) as ZeroBuiltInGenerationResponse;\n}\n\nfunction readBuiltInGenerationResult<T>(\n status: ZeroBuiltInGenerationResponse,\n fallback: string,\n): T | undefined {\n if (status.status === \"completed\") {\n if (!status.result) {\n throw new ApiRequestError(\n `${fallback} returned no result`,\n \"EMPTY_RESULT\",\n 502,\n );\n }\n return status.result as T;\n }\n\n if (status.status === \"failed\") {\n const code = status.error?.code ?? \"GENERATION_FAILED\";\n throw new ApiRequestError(\n status.error?.message ?? `${fallback} failed`,\n code,\n statusForBuiltInGenerationError(code),\n );\n }\n\n return undefined;\n}\n\nfunction statusForBuiltInGenerationError(code: string): number {\n if (code === \"BAD_REQUEST\") {\n return 400;\n }\n if (code === \"INSUFFICIENT_CREDITS\") {\n return 402;\n }\n if (code === \"NOT_CONFIGURED\") {\n return 503;\n }\n if (code === \"GENERATION_TIMEOUT\") {\n return 504;\n }\n if (\n code.startsWith(\"BYTEPLUS_INVALID_PARAMETER\") ||\n code.startsWith(\"BYTEPLUS_INPUT_\")\n ) {\n return 400;\n }\n if (code.startsWith(\"BYTEPLUS_\")) {\n return 502;\n }\n if (code.startsWith(\"NO_\") || code.endsWith(\"_FAILED\")) {\n return 502;\n }\n return 500;\n}\n\nasync function waitForBuiltInGenerationResult<T>(args: {\n readonly accepted: ZeroBuiltInGenerationAcceptedResponse;\n readonly baseUrl: string;\n readonly token: string;\n readonly fallback: string;\n}): Promise<T> {\n let notifier: BuiltInGenerationNotifier | null = null;\n let notifierCreated = false;\n const startedAt = Date.now();\n const timeoutMs =\n BUILT_IN_GENERATION_WAIT_TIMEOUT_MS_BY_TYPE[args.accepted.type];\n\n try {\n while (Date.now() - startedAt < timeoutMs) {\n const status = await getBuiltInGenerationStatus(\n args.baseUrl,\n args.token,\n args.accepted.generationId,\n );\n const result = readBuiltInGenerationResult<T>(status, args.fallback);\n if (result) {\n return result;\n }\n\n const elapsed = Date.now() - startedAt;\n const remaining = timeoutMs - elapsed;\n const waitMs = Math.min(BUILT_IN_GENERATION_POLL_INTERVAL_MS, remaining);\n if (!notifierCreated) {\n notifier = await createBuiltInGenerationNotifier(args.accepted);\n notifierCreated = true;\n }\n if (notifier) {\n await notifier.wait(waitMs);\n } else {\n await delay(waitMs);\n }\n }\n } finally {\n notifier?.close();\n }\n\n throw new ApiRequestError(\n `${args.fallback} timed out (generationId: ${args.accepted.generationId})`,\n \"GENERATION_TIMEOUT\",\n 504,\n );\n}\n\nasync function readBuiltInGenerationResponse<T>(args: {\n readonly response: Response;\n readonly baseUrl: string;\n readonly token: string;\n readonly fallback: string;\n}): Promise<T> {\n const body: unknown = await args.response.json();\n if (isBuiltInGenerationAcceptedResponse(body)) {\n return waitForBuiltInGenerationResult<T>({\n accepted: body,\n baseUrl: args.baseUrl,\n token: args.token,\n fallback: args.fallback,\n });\n }\n if (args.response.status === 202) {\n throw new ApiRequestError(\n `${args.fallback} returned an invalid generation response`,\n \"INVALID_GENERATION_RESPONSE\",\n 502,\n );\n }\n return body as T;\n}\n\n/**\n * Upload a local file and receive back metadata including a public CDN URL.\n * Authenticates via ZERO_TOKEN (`file:write` capability) or a CLI\n * PAT / Clerk session.\n *\n * Three-step flow:\n * 1. POST /api/zero/uploads/prepare — server signs a PUT URL for R2\n * 2. PUT the file bytes directly to R2\n * 3. POST /api/zero/uploads/complete — server verifies the object and\n * records any run-scoped upload association\n *\n * Step 2 never touches the Next.js runtime, which lifts the cap from\n * Vercel's ~4.5 MB body limit up to R2's 5 GB single-PUT limit.\n */\nexport async function uploadWebFile(\n localPath: string,\n options?: { contentType?: string },\n): Promise<UploadWebFileResult> {\n const stats = statSync(localPath);\n if (!stats.isFile()) {\n throw new ApiRequestError(\n `Not a regular file: ${localPath}`,\n \"BAD_REQUEST\",\n 400,\n );\n }\n\n const baseUrl = await getBaseUrl();\n const token = await getActiveToken();\n if (!token) {\n throw new ApiRequestError(\"Not authenticated\", \"UNAUTHORIZED\", 401);\n }\n\n const filename = basename(localPath);\n const contentType =\n options?.contentType ?? inferWebUploadContentType(localPath);\n\n const prepareHeaders: Record<string, string> = {\n Authorization: `Bearer ${token}`,\n \"Content-Type\": \"application/json\",\n };\n\n const prepareUrl = new URL(\"/api/zero/uploads/prepare\", baseUrl);\n const prepareRes = await fetch(prepareUrl, {\n method: \"POST\",\n headers: headersWithCliClientHeaders(prepareHeaders),\n body: JSON.stringify({ filename, contentType, size: stats.size }),\n });\n\n if (!prepareRes.ok) {\n const { message, code } = await parseErrorBody(\n prepareRes,\n \"Failed to prepare upload\",\n );\n throw new ApiRequestError(message, code, prepareRes.status);\n }\n\n const prepared = (await prepareRes.json()) as PrepareUploadResponse;\n\n const bytes = readFileSync(localPath);\n const putRes = await fetch(prepared.uploadUrl, {\n method: \"PUT\",\n headers: { \"Content-Type\": prepared.contentType },\n body: new Uint8Array(bytes),\n });\n\n if (!putRes.ok) {\n throw new ApiRequestError(\n `Failed to upload file to storage (HTTP ${putRes.status})`,\n \"UPLOAD_FAILED\",\n putRes.status,\n );\n }\n\n const completeUrl = new URL(\"/api/zero/uploads/complete\", baseUrl);\n const completeRes = await fetch(completeUrl, {\n method: \"POST\",\n headers: headersWithCliClientHeaders(prepareHeaders),\n body: JSON.stringify({\n id: prepared.id,\n contentType: prepared.contentType,\n }),\n });\n\n if (!completeRes.ok) {\n const { message, code } = await parseErrorBody(\n completeRes,\n \"Failed to complete upload\",\n );\n throw new ApiRequestError(message, code, completeRes.status);\n }\n\n const completed = (await completeRes.json()) as CompleteUploadResponse;\n\n return {\n id: completed.id,\n filename: completed.filename,\n contentType: completed.contentType,\n size: completed.size,\n url: completed.url,\n };\n}\n\n/**\n * Generate billed speech audio from text and receive the public CDN URL.\n * Authenticates via ZERO_TOKEN (`file:write` capability) or a CLI PAT /\n * Clerk session.\n */\nexport async function generateWebVoice(\n options: GenerateWebVoiceOptions,\n): Promise<GenerateWebVoiceResult> {\n const baseUrl = await getBaseUrl();\n const token = await getActiveToken();\n if (!token) {\n throw new ApiRequestError(\"Not authenticated\", \"UNAUTHORIZED\", 401);\n }\n\n const headers: Record<string, string> = {\n Authorization: `Bearer ${token}`,\n \"Content-Type\": \"application/json\",\n };\n\n const response = await fetch(new URL(\"/api/zero/voice-io/speech\", baseUrl), {\n method: \"POST\",\n headers: headersWithCliClientHeaders(headers),\n body: JSON.stringify({\n text: options.text,\n ...(options.voice ? { voice: options.voice } : {}),\n ...(options.instructions ? { instructions: options.instructions } : {}),\n }),\n });\n\n if (!response.ok) {\n const { message, code } = await parseErrorBody(\n response,\n \"Failed to generate voice\",\n );\n throw new ApiRequestError(message, code, response.status);\n }\n\n return (await response.json()) as GenerateWebVoiceResult;\n}\n\n/**\n * Generate a billed image from a prompt and receive the public CDN URL.\n * Authenticates via ZERO_TOKEN (`file:write` capability) or a CLI PAT /\n * Clerk session.\n */\nexport async function generateWebImage(\n options: GenerateWebImageOptions,\n): Promise<GenerateWebImageResult> {\n const baseUrl = await getBaseUrl();\n const token = await getActiveToken();\n if (!token) {\n throw new ApiRequestError(\"Not authenticated\", \"UNAUTHORIZED\", 401);\n }\n\n const headers: Record<string, string> = {\n Authorization: `Bearer ${token}`,\n \"Content-Type\": \"application/json\",\n };\n\n const response = await fetch(\n new URL(\"/api/zero/image-io/generate\", baseUrl),\n {\n method: \"POST\",\n headers: headersWithCliClientHeaders(headers),\n body: JSON.stringify({\n prompt: options.prompt,\n ...(options.model ? { model: options.model } : {}),\n ...(options.size ? { size: options.size } : {}),\n ...(options.quality ? { quality: options.quality } : {}),\n ...(options.background ? { background: options.background } : {}),\n ...(options.outputFormat ? { outputFormat: options.outputFormat } : {}),\n ...(options.outputCompression !== undefined\n ? { outputCompression: options.outputCompression }\n : {}),\n ...(options.moderation ? { moderation: options.moderation } : {}),\n ...(options.seed !== undefined ? { seed: options.seed } : {}),\n ...(options.safetyTolerance\n ? { safetyTolerance: options.safetyTolerance }\n : {}),\n ...(options.enhancePrompt !== undefined\n ? { enhancePrompt: options.enhancePrompt }\n : {}),\n ...(options.imageUrls && options.imageUrls.length > 0\n ? { imageUrls: options.imageUrls }\n : {}),\n ...(options.maskImageUrl ? { maskImageUrl: options.maskImageUrl } : {}),\n ...(options.inputFidelity\n ? { inputFidelity: options.inputFidelity }\n : {}),\n ...(options.imagePromptStrength !== undefined\n ? { imagePromptStrength: options.imagePromptStrength }\n : {}),\n }),\n },\n );\n\n if (!response.ok) {\n const { message, code } = await parseErrorBody(\n response,\n \"Failed to generate image\",\n );\n throw new ApiRequestError(message, code, response.status);\n }\n\n return readBuiltInGenerationResponse<GenerateWebImageResult>({\n response,\n baseUrl,\n token,\n fallback: \"Failed to generate image\",\n });\n}\n\n/**\n * Generate a billed video from a prompt and receive the public CDN URL.\n * Authenticates via ZERO_TOKEN (`file:write` capability) or a CLI PAT /\n * Clerk session.\n */\nexport async function generateWebVideo(\n options: GenerateWebVideoOptions,\n): Promise<GenerateWebVideoResult> {\n const baseUrl = await getBaseUrl();\n const token = await getActiveToken();\n if (!token) {\n throw new ApiRequestError(\"Not authenticated\", \"UNAUTHORIZED\", 401);\n }\n\n const headers: Record<string, string> = {\n Authorization: `Bearer ${token}`,\n \"Content-Type\": \"application/json\",\n };\n\n const response = await fetch(\n new URL(\"/api/zero/video-io/generate\", baseUrl),\n {\n method: \"POST\",\n headers: headersWithCliClientHeaders(headers),\n body: JSON.stringify(generateWebVideoPayload(options)),\n },\n );\n\n if (!response.ok) {\n const { message, code } = await parseErrorBody(\n response,\n \"Failed to generate video\",\n );\n throw new ApiRequestError(message, code, response.status);\n }\n\n return readBuiltInGenerationResponse<GenerateWebVideoResult>({\n response,\n baseUrl,\n token,\n fallback: \"Failed to generate video\",\n });\n}\n\nexport interface TranscribeAudioSegment {\n readonly start: number;\n readonly end: number;\n readonly text: string;\n}\n\ninterface TranscribeAudioResult {\n readonly text: string;\n readonly segments?: readonly TranscribeAudioSegment[];\n}\n\nexport async function transcribeAudio(\n audioPath: string,\n options: { readonly verbose?: boolean } = {},\n): Promise<TranscribeAudioResult> {\n const baseUrl = await getBaseUrl();\n const token = await getActiveToken();\n if (!token) {\n throw new ApiRequestError(\"Not authenticated\", \"UNAUTHORIZED\", 401);\n }\n\n const headers: Record<string, string> = {\n Authorization: `Bearer ${token}`,\n };\n\n const url = new URL(\"/api/zero/voice-io/stt\", baseUrl);\n if (options.verbose) {\n url.searchParams.set(\"verbose\", \"true\");\n }\n\n const audioData = readFileSync(audioPath);\n const filename = basename(audioPath);\n const ext = extname(filename).toLowerCase();\n const mimeMap: Record<string, string> = {\n \".mp3\": \"audio/mpeg\",\n \".mp4\": \"audio/mp4\",\n \".m4a\": \"audio/m4a\",\n \".wav\": \"audio/wav\",\n \".webm\": \"audio/webm\",\n };\n const mimeType = mimeMap[ext] ?? \"audio/mpeg\";\n\n const formData = new FormData();\n formData.append(\"file\", new Blob([audioData], { type: mimeType }), filename);\n\n const response = await fetch(url, {\n method: \"POST\",\n headers: headersWithCliClientHeaders(headers),\n body: formData,\n });\n\n if (!response.ok) {\n const { message, code } = await parseErrorBody(\n response,\n \"Transcription failed\",\n );\n throw new ApiRequestError(message, code, response.status);\n }\n\n return (await response.json()) as TranscribeAudioResult;\n}\n"],"mappings":"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","names":[]}
@@ -3,7 +3,7 @@ import { createRequire as __createRequire } from "node:module";
3
3
  const require = __createRequire(import.meta.url);
4
4
  import {
5
5
  getApiUrl
6
- } from "./chunk-M4F24YFV.js";
6
+ } from "./chunk-AXPECIRA.js";
7
7
  import {
8
8
  init_esm_shims
9
9
  } from "./chunk-3VVCUQPB.js";
@@ -42,4 +42,4 @@ export {
42
42
  toPlatformUrl,
43
43
  getPlatformOrigin
44
44
  };
45
- //# sourceMappingURL=chunk-AAZBHQPP.js.map
45
+ //# sourceMappingURL=chunk-NAXSTGVS.js.map
@@ -3,7 +3,7 @@ import { createRequire as __createRequire } from "node:module";
3
3
  const require = __createRequire(import.meta.url);
4
4
  import {
5
5
  MODEL_PROVIDER_TYPES
6
- } from "./chunk-M4F24YFV.js";
6
+ } from "./chunk-AXPECIRA.js";
7
7
  import {
8
8
  init_esm_shims
9
9
  } from "./chunk-3VVCUQPB.js";
@@ -40,4 +40,4 @@ export {
40
40
  formatModelProviderRoute,
41
41
  formatModelPolicyStatus
42
42
  };
43
- //# sourceMappingURL=chunk-P2FBG2BA.js.map
43
+ //# sourceMappingURL=chunk-OMZ7JNGC.js.map
@@ -17,7 +17,7 @@ import {
17
17
  runnerGroupSchema,
18
18
  searchZeroLogs,
19
19
  zeroAgentVisibilitySchema
20
- } from "./chunk-SLUCBVKQ.js";
20
+ } from "./chunk-DIK5B4ZQ.js";
21
21
  import {
22
22
  apiErrorSchema,
23
23
  external_exports,
@@ -31,7 +31,7 @@ import {
31
31
  upsertModelProviderRequestSchema,
32
32
  upsertModelProviderResponseSchema,
33
33
  withErrorHandler
34
- } from "./chunk-M4F24YFV.js";
34
+ } from "./chunk-AXPECIRA.js";
35
35
  import {
36
36
  Command
37
37
  } from "./chunk-LD4ZVU4O.js";
@@ -33399,4 +33399,4 @@ export {
33399
33399
  runLogsSearch,
33400
33400
  searchCommand
33401
33401
  };
33402
- //# sourceMappingURL=chunk-KLSQEQC4.js.map
33402
+ //# sourceMappingURL=chunk-RKOGVYZD.js.map
@@ -4,7 +4,7 @@ const require = __createRequire(import.meta.url);
4
4
  import {
5
5
  getZeroAgent,
6
6
  getZeroAgentUserConnectors
7
- } from "./chunk-SLUCBVKQ.js";
7
+ } from "./chunk-DIK5B4ZQ.js";
8
8
  import {
9
9
  init_esm_shims
10
10
  } from "./chunk-3VVCUQPB.js";
@@ -347,4 +347,4 @@ export {
347
347
  resolveManualGrantAuthMethod,
348
348
  resolveAgentContext
349
349
  };
350
- //# sourceMappingURL=chunk-OQSXOSCD.js.map
350
+ //# sourceMappingURL=chunk-RLKJ2XNZ.js.map
@@ -3,7 +3,7 @@ import { createRequire as __createRequire } from "node:module";
3
3
  const require = __createRequire(import.meta.url);
4
4
  import {
5
5
  UNKNOWN_PERMISSION_GRANT
6
- } from "./chunk-SLUCBVKQ.js";
6
+ } from "./chunk-DIK5B4ZQ.js";
7
7
  import {
8
8
  init_esm_shims
9
9
  } from "./chunk-3VVCUQPB.js";
@@ -130,4 +130,4 @@ export {
130
130
  resolveFirewallMetadataPolicies,
131
131
  permissionGrantsToFirewallPolicies
132
132
  };
133
- //# sourceMappingURL=chunk-CIALZM7O.js.map
133
+ //# sourceMappingURL=chunk-TP7AVH5K.js.map
@@ -3,13 +3,13 @@ import { createRequire as __createRequire } from "node:module";
3
3
  const require = __createRequire(import.meta.url);
4
4
  import {
5
5
  resolveFirewallMetadataPolicies
6
- } from "./chunk-CIALZM7O.js";
6
+ } from "./chunk-TP7AVH5K.js";
7
7
  import {
8
8
  getZeroConnectorCatalogPermissions
9
- } from "./chunk-SLUCBVKQ.js";
9
+ } from "./chunk-DIK5B4ZQ.js";
10
10
  import {
11
11
  source_default
12
- } from "./chunk-M4F24YFV.js";
12
+ } from "./chunk-AXPECIRA.js";
13
13
  import {
14
14
  init_esm_shims
15
15
  } from "./chunk-3VVCUQPB.js";
@@ -89,4 +89,4 @@ export {
89
89
  policyIcon,
90
90
  loadConnectorPermissionInfos
91
91
  };
92
- //# sourceMappingURL=chunk-VQ3ILWFQ.js.map
92
+ //# sourceMappingURL=chunk-ZQOFNY34.js.map
@@ -12,12 +12,12 @@ import {
12
12
  fetchComputerUseScreenshot,
13
13
  getComputerUseCommand,
14
14
  listComputerUseHosts
15
- } from "./chunk-SLUCBVKQ.js";
16
- import "./chunk-ITSKDZFI.js";
15
+ } from "./chunk-DIK5B4ZQ.js";
16
+ import "./chunk-KDNGT5NT.js";
17
17
  import {
18
18
  ApiRequestError,
19
19
  withErrorHandler
20
- } from "./chunk-M4F24YFV.js";
20
+ } from "./chunk-AXPECIRA.js";
21
21
  import "./chunk-X5FAOKYK.js";
22
22
  import {
23
23
  Command
@@ -970,4 +970,4 @@ export {
970
970
  formatComputerUseResultForConsole,
971
971
  zeroComputerUseCommand
972
972
  };
973
- //# sourceMappingURL=computer-use-C6VLY2LY.js.map
973
+ //# sourceMappingURL=computer-use-54M26ZHL.js.map
@@ -3,7 +3,7 @@ import { createRequire as __createRequire } from "node:module";
3
3
  const require = __createRequire(import.meta.url);
4
4
  import {
5
5
  findFirewallMetadataPermission
6
- } from "./chunk-CIALZM7O.js";
6
+ } from "./chunk-TP7AVH5K.js";
7
7
  import {
8
8
  CALLBACK_PROMPT_PLACEHOLDER,
9
9
  addRequestedCallbackSearchParams,
@@ -17,7 +17,7 @@ import {
17
17
  resolveAgentContext,
18
18
  resolveManualGrantAuthMethod,
19
19
  searchPublicConnectorCatalog
20
- } from "./chunk-OQSXOSCD.js";
20
+ } from "./chunk-RLKJ2XNZ.js";
21
21
  import {
22
22
  UNKNOWN_PERMISSION_GRANT,
23
23
  connectZeroConnectorManualGrant,
@@ -32,19 +32,19 @@ import {
32
32
  getZeroCustomConnector,
33
33
  listZeroConnectorCatalogStatus,
34
34
  listZeroCustomConnectors
35
- } from "./chunk-SLUCBVKQ.js";
36
- import "./chunk-ITSKDZFI.js";
35
+ } from "./chunk-DIK5B4ZQ.js";
36
+ import "./chunk-KDNGT5NT.js";
37
37
  import {
38
38
  getPlatformOrigin,
39
39
  toPlatformUrl
40
- } from "./chunk-AAZBHQPP.js";
40
+ } from "./chunk-NAXSTGVS.js";
41
41
  import "./chunk-SB7EZ2ZO.js";
42
42
  import {
43
43
  ApiRequestError,
44
44
  getApiUrl,
45
45
  source_default,
46
46
  withErrorHandler
47
- } from "./chunk-M4F24YFV.js";
47
+ } from "./chunk-AXPECIRA.js";
48
48
  import "./chunk-X5FAOKYK.js";
49
49
  import {
50
50
  Command,
@@ -1489,4 +1489,4 @@ var zeroConnectorCommand = new Command().name("connector").description("Manage a
1489
1489
  export {
1490
1490
  zeroConnectorCommand
1491
1491
  };
1492
- //# sourceMappingURL=connector-SJF25IFP.js.map
1492
+ //# sourceMappingURL=connector-NQP2OC55.js.map
@@ -10,19 +10,19 @@ import {
10
10
  createZeroCreditCheckout,
11
11
  getZeroBillingStatus,
12
12
  getZeroOrgMembers
13
- } from "./chunk-SLUCBVKQ.js";
14
- import "./chunk-ITSKDZFI.js";
13
+ } from "./chunk-DIK5B4ZQ.js";
14
+ import "./chunk-KDNGT5NT.js";
15
15
  import {
16
16
  planUpgradeUrl
17
17
  } from "./chunk-W75R7EZF.js";
18
18
  import {
19
19
  getPlatformOrigin
20
- } from "./chunk-AAZBHQPP.js";
20
+ } from "./chunk-NAXSTGVS.js";
21
21
  import "./chunk-SB7EZ2ZO.js";
22
22
  import {
23
23
  source_default,
24
24
  withErrorHandler
25
- } from "./chunk-M4F24YFV.js";
25
+ } from "./chunk-AXPECIRA.js";
26
26
  import {
27
27
  decodeZeroTokenPayload
28
28
  } from "./chunk-X5FAOKYK.js";
@@ -163,4 +163,4 @@ var zeroCreditCommand = new Command().name("credit").description("View credit ba
163
163
  export {
164
164
  zeroCreditCommand
165
165
  };
166
- //# sourceMappingURL=credit-LYZ2HJ6F.js.map
166
+ //# sourceMappingURL=credit-IHTXTFPT.js.map
@@ -4,12 +4,12 @@ const require = __createRequire(import.meta.url);
4
4
  import {
5
5
  requestDeveloperSupportConsent,
6
6
  submitDeveloperSupport
7
- } from "./chunk-SLUCBVKQ.js";
8
- import "./chunk-ITSKDZFI.js";
7
+ } from "./chunk-DIK5B4ZQ.js";
8
+ import "./chunk-KDNGT5NT.js";
9
9
  import "./chunk-SB7EZ2ZO.js";
10
10
  import {
11
11
  withErrorHandler
12
- } from "./chunk-M4F24YFV.js";
12
+ } from "./chunk-AXPECIRA.js";
13
13
  import "./chunk-X5FAOKYK.js";
14
14
  import {
15
15
  Command
@@ -61,4 +61,4 @@ Notes:
61
61
  export {
62
62
  zeroDeveloperSupportCommand
63
63
  };
64
- //# sourceMappingURL=developer-support-3ISSXZCF.js.map
64
+ //# sourceMappingURL=developer-support-Z2A6DWF7.js.map
@@ -9,19 +9,19 @@ import {
9
9
  getZeroBillingStatus,
10
10
  getZeroOrg,
11
11
  getZeroOrgMembers
12
- } from "./chunk-SLUCBVKQ.js";
13
- import "./chunk-ITSKDZFI.js";
12
+ } from "./chunk-DIK5B4ZQ.js";
13
+ import "./chunk-KDNGT5NT.js";
14
14
  import {
15
15
  planUpgradeUrl
16
16
  } from "./chunk-W75R7EZF.js";
17
17
  import {
18
18
  getPlatformOrigin
19
- } from "./chunk-AAZBHQPP.js";
19
+ } from "./chunk-NAXSTGVS.js";
20
20
  import "./chunk-SB7EZ2ZO.js";
21
21
  import {
22
22
  source_default,
23
23
  withErrorHandler
24
- } from "./chunk-M4F24YFV.js";
24
+ } from "./chunk-AXPECIRA.js";
25
25
  import "./chunk-X5FAOKYK.js";
26
26
  import {
27
27
  Command
@@ -122,4 +122,4 @@ Notes:
122
122
  export {
123
123
  zeroDoctorCommand
124
124
  };
125
- //# sourceMappingURL=doctor-ISR6CR7B.js.map
125
+ //# sourceMappingURL=doctor-KTLE2XJI.js.map
@@ -7,13 +7,13 @@ import {
7
7
  downloadFeishuFile,
8
8
  initFeishuFileUpload,
9
9
  sendFeishuMessage
10
- } from "./chunk-SLUCBVKQ.js";
11
- import "./chunk-ITSKDZFI.js";
10
+ } from "./chunk-DIK5B4ZQ.js";
11
+ import "./chunk-KDNGT5NT.js";
12
12
  import "./chunk-SB7EZ2ZO.js";
13
13
  import {
14
14
  source_default,
15
15
  withErrorHandler
16
- } from "./chunk-M4F24YFV.js";
16
+ } from "./chunk-AXPECIRA.js";
17
17
  import "./chunk-X5FAOKYK.js";
18
18
  import {
19
19
  Command
@@ -274,4 +274,4 @@ Examples:
274
274
  export {
275
275
  zeroFeishuCommand
276
276
  };
277
- //# sourceMappingURL=feishu-3MULYZGN.js.map
277
+ //# sourceMappingURL=feishu-GKPQY3AW.js.map
@@ -14,13 +14,13 @@ import {
14
14
  zeroFinanceQuoteRequestSchema,
15
15
  zeroFinanceRangeSchema,
16
16
  zeroFinanceSearchRequestSchema
17
- } from "./chunk-SLUCBVKQ.js";
18
- import "./chunk-ITSKDZFI.js";
17
+ } from "./chunk-DIK5B4ZQ.js";
18
+ import "./chunk-KDNGT5NT.js";
19
19
  import "./chunk-SB7EZ2ZO.js";
20
20
  import {
21
21
  source_default,
22
22
  withErrorHandler
23
- } from "./chunk-M4F24YFV.js";
23
+ } from "./chunk-AXPECIRA.js";
24
24
  import "./chunk-X5FAOKYK.js";
25
25
  import {
26
26
  Command,
@@ -125,4 +125,4 @@ Notes:
125
125
  export {
126
126
  zeroFinanceCommand
127
127
  };
128
- //# sourceMappingURL=finance-7BH57FKM.js.map
128
+ //# sourceMappingURL=finance-KIIZG3ZI.js.map
@@ -27,24 +27,24 @@ import {
27
27
  getZeroBillingStatus,
28
28
  listZeroConnectorCatalog,
29
29
  listZeroConnectorCatalogStatus
30
- } from "./chunk-SLUCBVKQ.js";
30
+ } from "./chunk-DIK5B4ZQ.js";
31
31
  import {
32
32
  generateWebImage,
33
33
  generateWebVideo,
34
34
  generateWebVoice
35
- } from "./chunk-ITSKDZFI.js";
35
+ } from "./chunk-KDNGT5NT.js";
36
36
  import {
37
37
  planUpgradeUrl
38
38
  } from "./chunk-W75R7EZF.js";
39
39
  import {
40
40
  getPlatformOrigin
41
- } from "./chunk-AAZBHQPP.js";
41
+ } from "./chunk-NAXSTGVS.js";
42
42
  import "./chunk-SB7EZ2ZO.js";
43
43
  import {
44
44
  ApiRequestError,
45
45
  source_default,
46
46
  withErrorHandler
47
- } from "./chunk-M4F24YFV.js";
47
+ } from "./chunk-AXPECIRA.js";
48
48
  import "./chunk-X5FAOKYK.js";
49
49
  import {
50
50
  Command,
@@ -2751,4 +2751,4 @@ var generateCommand = new Command().name("generate").description(
2751
2751
  export {
2752
2752
  generateCommand
2753
2753
  };
2754
- //# sourceMappingURL=generate-5RN37TB2.js.map
2754
+ //# sourceMappingURL=generate-76I6OUDC.js.map
@@ -5,12 +5,12 @@ import {
5
5
  completeGithubFileUpload,
6
6
  downloadGithubFile,
7
7
  initGithubFileUpload
8
- } from "./chunk-SLUCBVKQ.js";
9
- import "./chunk-ITSKDZFI.js";
8
+ } from "./chunk-DIK5B4ZQ.js";
9
+ import "./chunk-KDNGT5NT.js";
10
10
  import "./chunk-SB7EZ2ZO.js";
11
11
  import {
12
12
  withErrorHandler
13
- } from "./chunk-M4F24YFV.js";
13
+ } from "./chunk-AXPECIRA.js";
14
14
  import "./chunk-X5FAOKYK.js";
15
15
  import {
16
16
  Command
@@ -201,4 +201,4 @@ Examples:
201
201
  export {
202
202
  zeroGithubCommand
203
203
  };
204
- //# sourceMappingURL=github-V6IISTKM.js.map
204
+ //# sourceMappingURL=github-YU7FN4T4.js.map
@@ -10,12 +10,12 @@ import {
10
10
  getGoal,
11
11
  pauseGoal,
12
12
  resumeGoal
13
- } from "./chunk-SLUCBVKQ.js";
14
- import "./chunk-ITSKDZFI.js";
13
+ } from "./chunk-DIK5B4ZQ.js";
14
+ import "./chunk-KDNGT5NT.js";
15
15
  import "./chunk-SB7EZ2ZO.js";
16
16
  import {
17
17
  withErrorHandler
18
- } from "./chunk-M4F24YFV.js";
18
+ } from "./chunk-AXPECIRA.js";
19
19
  import "./chunk-X5FAOKYK.js";
20
20
  import {
21
21
  Command
@@ -78,4 +78,4 @@ var zeroGoalCommand = new Command().name("goal").description("Manage the current
78
78
  export {
79
79
  zeroGoalCommand
80
80
  };
81
- //# sourceMappingURL=goal-VHURZA6I.js.map
81
+ //# sourceMappingURL=goal-XJUAREVX.js.map
@@ -7,13 +7,13 @@ import {
7
7
  getHostedSiteFiles,
8
8
  hostedArtifactKindSchema,
9
9
  prepareHostedSite
10
- } from "./chunk-SLUCBVKQ.js";
11
- import "./chunk-ITSKDZFI.js";
10
+ } from "./chunk-DIK5B4ZQ.js";
11
+ import "./chunk-KDNGT5NT.js";
12
12
  import "./chunk-SB7EZ2ZO.js";
13
13
  import {
14
14
  source_default,
15
15
  withErrorHandler
16
- } from "./chunk-M4F24YFV.js";
16
+ } from "./chunk-AXPECIRA.js";
17
17
  import "./chunk-X5FAOKYK.js";
18
18
  import {
19
19
  Command,
@@ -657,4 +657,4 @@ Notes:
657
657
  export {
658
658
  zeroHostCommand
659
659
  };
660
- //# sourceMappingURL=host-FPYIZNEY.js.map
660
+ //# sourceMappingURL=host-7BZHM6UL.js.map
@@ -7,7 +7,7 @@ import {
7
7
  isSupportedFramework,
8
8
  parseTime,
9
9
  searchCommand
10
- } from "./chunk-KLSQEQC4.js";
10
+ } from "./chunk-RKOGVYZD.js";
11
11
  import {
12
12
  collectLogItems,
13
13
  formatIsoTimestamp,
@@ -19,13 +19,13 @@ import "./chunk-UG5XA6KU.js";
19
19
  import {
20
20
  getZeroRunAgentEvents,
21
21
  listZeroLogs
22
- } from "./chunk-SLUCBVKQ.js";
23
- import "./chunk-ITSKDZFI.js";
22
+ } from "./chunk-DIK5B4ZQ.js";
23
+ import "./chunk-KDNGT5NT.js";
24
24
  import "./chunk-SB7EZ2ZO.js";
25
25
  import {
26
26
  source_default,
27
27
  withErrorHandler
28
- } from "./chunk-M4F24YFV.js";
28
+ } from "./chunk-AXPECIRA.js";
29
29
  import "./chunk-X5FAOKYK.js";
30
30
  import {
31
31
  Command
@@ -271,4 +271,4 @@ Examples:
271
271
  export {
272
272
  zeroLogsCommand
273
273
  };
274
- //# sourceMappingURL=logs-SOU4VJKD.js.map
274
+ //# sourceMappingURL=logs-6HBWQTDR.js.map