@vm0/cli 9.217.2 → 9.217.5

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 (85) hide show
  1. package/{agent-YIH6PNEM.js → agent-AUA4JCW7.js} +4 -4
  2. package/{automation-RHOPNL6S.js → automation-TRKDQEEJ.js} +2 -2
  3. package/{banking-67Z3D7VX.js → banking-RJ3APHS6.js} +2 -2
  4. package/{chat-JFH77LJN.js → chat-BQSSCRK4.js} +2 -2
  5. package/{chunk-VNVOZD2I.js → chunk-45RPR56G.js} +3 -3
  6. package/{chunk-R3NUHZCC.js → chunk-4GVSDNYT.js} +2 -2
  7. package/{chunk-SWMSXE2M.js → chunk-4KC5DNRL.js} +2 -2
  8. package/{chunk-SWMSXE2M.js.map → chunk-4KC5DNRL.js.map} +1 -1
  9. package/{chunk-5ACVESXC.js → chunk-5LNYKCLV.js} +3 -3
  10. package/{chunk-PVH3TQIR.js → chunk-CHDPW2C4.js} +2 -2
  11. package/{chunk-3TPITAUC.js → chunk-HXBNNP3E.js} +2 -2
  12. package/{chunk-BEGJBHUZ.js → chunk-OZFJBLAG.js} +6 -267
  13. package/chunk-OZFJBLAG.js.map +1 -0
  14. package/{chunk-W5UJSC2D.js → chunk-PMHYRPCA.js} +2 -2
  15. package/{chunk-SP47PTXZ.js → chunk-RQNDQV77.js} +2 -2
  16. package/{chunk-O7VY3HZA.js → chunk-XD32TDFE.js} +275 -103
  17. package/chunk-XD32TDFE.js.map +1 -0
  18. package/{computer-use-P5UAAMVN.js → computer-use-DNNLJSWL.js} +2 -2
  19. package/{connector-HRHGA3XE.js → connector-R6MDHNU4.js} +3 -3
  20. package/{credit-UT6Q25VJ.js → credit-Y3CUY7ED.js} +2 -2
  21. package/{developer-support-3HHCKM45.js → developer-support-72C5247W.js} +2 -2
  22. package/{doctor-YU4GKA27.js → doctor-5UIFXEHT.js} +5 -5
  23. package/{generate-W254VELF.js → generate-AVNQB4TX.js} +4 -4
  24. package/{github-3YIFBVQV.js → github-OP4JMMLC.js} +6 -167
  25. package/github-OP4JMMLC.js.map +1 -0
  26. package/{goal-MRW5CDN4.js → goal-2DSGTOGZ.js} +2 -2
  27. package/{host-BHNFCI5J.js → host-2HNHB4VV.js} +2 -2
  28. package/index.js +14 -14
  29. package/{logs-QQIFBCG3.js → logs-C7ZUFVEW.js} +7 -7
  30. package/{maps-I5NQSD3Z.js → maps-7U7WRWXK.js} +2 -2
  31. package/{model-5VPLHVX3.js → model-DGSWEEVM.js} +3 -3
  32. package/{model-provider-KVBRO7X4.js → model-provider-QVPOKICK.js} +3 -3
  33. package/{org-LBPKUI3W.js → org-TRGFRYY5.js} +2 -2
  34. package/package.json +1 -1
  35. package/{phone-EBS46537.js → phone-OHGCZEBM.js} +2 -2
  36. package/{preference-A2YLGHAU.js → preference-FIU5LVWB.js} +2 -2
  37. package/{resource-4OPD76TQ.js → resource-NJ6VVMDF.js} +3 -3
  38. package/{search-LUFMFZHW.js → search-WIHP56D4.js} +7 -7
  39. package/{secret-PHSWDBTL.js → secret-TKJLQHA3.js} +3 -3
  40. package/{slack-WROLRIGJ.js → slack-EJTJ46PF.js} +2 -2
  41. package/{telegram-FVXVX7SF.js → telegram-X4CWQTMH.js} +2 -2
  42. package/{variable-6ZVNRGVM.js → variable-25UM4K7M.js} +2 -2
  43. package/{web-JOPIPAG5.js → web-KBR5ZYXN.js} +2 -2
  44. package/{whoami-BHW4HAW3.js → whoami-ZIPSX452.js} +4 -4
  45. package/{workflow-QUC64IOK.js → workflow-LBVHE7CD.js} +2 -2
  46. package/zero.js +32 -32
  47. package/zero.js.map +1 -1
  48. package/chunk-BEGJBHUZ.js.map +0 -1
  49. package/chunk-O7VY3HZA.js.map +0 -1
  50. package/github-3YIFBVQV.js.map +0 -1
  51. /package/{agent-YIH6PNEM.js.map → agent-AUA4JCW7.js.map} +0 -0
  52. /package/{automation-RHOPNL6S.js.map → automation-TRKDQEEJ.js.map} +0 -0
  53. /package/{banking-67Z3D7VX.js.map → banking-RJ3APHS6.js.map} +0 -0
  54. /package/{chat-JFH77LJN.js.map → chat-BQSSCRK4.js.map} +0 -0
  55. /package/{chunk-VNVOZD2I.js.map → chunk-45RPR56G.js.map} +0 -0
  56. /package/{chunk-R3NUHZCC.js.map → chunk-4GVSDNYT.js.map} +0 -0
  57. /package/{chunk-5ACVESXC.js.map → chunk-5LNYKCLV.js.map} +0 -0
  58. /package/{chunk-PVH3TQIR.js.map → chunk-CHDPW2C4.js.map} +0 -0
  59. /package/{chunk-3TPITAUC.js.map → chunk-HXBNNP3E.js.map} +0 -0
  60. /package/{chunk-W5UJSC2D.js.map → chunk-PMHYRPCA.js.map} +0 -0
  61. /package/{chunk-SP47PTXZ.js.map → chunk-RQNDQV77.js.map} +0 -0
  62. /package/{computer-use-P5UAAMVN.js.map → computer-use-DNNLJSWL.js.map} +0 -0
  63. /package/{connector-HRHGA3XE.js.map → connector-R6MDHNU4.js.map} +0 -0
  64. /package/{credit-UT6Q25VJ.js.map → credit-Y3CUY7ED.js.map} +0 -0
  65. /package/{developer-support-3HHCKM45.js.map → developer-support-72C5247W.js.map} +0 -0
  66. /package/{doctor-YU4GKA27.js.map → doctor-5UIFXEHT.js.map} +0 -0
  67. /package/{generate-W254VELF.js.map → generate-AVNQB4TX.js.map} +0 -0
  68. /package/{goal-MRW5CDN4.js.map → goal-2DSGTOGZ.js.map} +0 -0
  69. /package/{host-BHNFCI5J.js.map → host-2HNHB4VV.js.map} +0 -0
  70. /package/{logs-QQIFBCG3.js.map → logs-C7ZUFVEW.js.map} +0 -0
  71. /package/{maps-I5NQSD3Z.js.map → maps-7U7WRWXK.js.map} +0 -0
  72. /package/{model-5VPLHVX3.js.map → model-DGSWEEVM.js.map} +0 -0
  73. /package/{model-provider-KVBRO7X4.js.map → model-provider-QVPOKICK.js.map} +0 -0
  74. /package/{org-LBPKUI3W.js.map → org-TRGFRYY5.js.map} +0 -0
  75. /package/{phone-EBS46537.js.map → phone-OHGCZEBM.js.map} +0 -0
  76. /package/{preference-A2YLGHAU.js.map → preference-FIU5LVWB.js.map} +0 -0
  77. /package/{resource-4OPD76TQ.js.map → resource-NJ6VVMDF.js.map} +0 -0
  78. /package/{search-LUFMFZHW.js.map → search-WIHP56D4.js.map} +0 -0
  79. /package/{secret-PHSWDBTL.js.map → secret-TKJLQHA3.js.map} +0 -0
  80. /package/{slack-WROLRIGJ.js.map → slack-EJTJ46PF.js.map} +0 -0
  81. /package/{telegram-FVXVX7SF.js.map → telegram-X4CWQTMH.js.map} +0 -0
  82. /package/{variable-6ZVNRGVM.js.map → variable-25UM4K7M.js.map} +0 -0
  83. /package/{web-JOPIPAG5.js.map → web-KBR5ZYXN.js.map} +0 -0
  84. /package/{whoami-BHW4HAW3.js.map → whoami-ZIPSX452.js.map} +0 -0
  85. /package/{workflow-QUC64IOK.js.map → workflow-LBVHE7CD.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/commands/zero/github/index.ts","../src/commands/zero/github/download-file.ts","../src/commands/zero/github/label-listener/index.ts","../src/commands/zero/github/upload-file.ts"],"sourcesContent":["import { Command } from \"commander\";\nimport { downloadFileCommand } from \"./download-file\";\nimport { labelListenerCommand } from \"./label-listener\";\nimport { uploadFileCommand } from \"./upload-file\";\n\nexport const zeroGithubCommand = new Command()\n .name(\"github\")\n .description(\"Manage GitHub integration files and label listeners\")\n .addCommand(downloadFileCommand)\n .addCommand(labelListenerCommand)\n .addCommand(uploadFileCommand)\n .addHelpText(\n \"after\",\n `\nExamples:\n Upload a file: zero github upload-file -f /tmp/report.pdf -r vm0-ai/vm0 -i 42\n Download a file: zero github download-file https://github.com/user-attachments/assets/abc123 -o /tmp/out.png\n List labels: zero github label-listener list`,\n );\n","import { basename, join } from \"path\";\nimport { tmpdir } from \"os\";\nimport { Command } from \"commander\";\nimport { downloadGithubFile } from \"../../../lib/api\";\nimport { withErrorHandler } from \"../../../lib/command\";\n\nfunction filenameFromUrl(fileUrl: string): string {\n if (URL.canParse(fileUrl)) {\n const segment = new URL(fileUrl).pathname.split(\"/\").filter(Boolean).pop();\n if (!segment) {\n return \"file\";\n }\n try {\n return decodeURIComponent(segment);\n } catch {\n return segment;\n }\n }\n return basename(fileUrl) || \"file\";\n}\n\nfunction safeDefaultFilename(filename: string): string {\n const component = basename(filename.replaceAll(\"\\\\\", \"/\"));\n if (!component || component === \".\" || component === \"..\") {\n return \"file\";\n }\n return component;\n}\n\nfunction defaultOutPath(fileUrl: string, filename?: string): string {\n return join(\n tmpdir(),\n `github-${safeDefaultFilename(filename || filenameFromUrl(fileUrl))}`,\n );\n}\n\nexport const downloadFileCommand = new Command()\n .name(\"download-file\")\n .description(\"Download a file from a GitHub context block\")\n .argument(\"<url>\", \"URL from a [GitHub file] block\")\n .option(\n \"-o, --out <path>\",\n \"Output path for the downloaded file (default: /tmp/github-<filename-or-url-basename>)\",\n )\n .option(\"--filename <name>\", \"Filename hint from the [GitHub file] block\")\n .addHelpText(\n \"after\",\n `\nExamples:\n Download to default temp path: zero github download-file https://github.com/user-attachments/assets/abc123 --filename screenshot.png\n Download to explicit path: zero github download-file https://github.com/user-attachments/assets/abc123 -o /tmp/screenshot.png\n\nOutput:\n Prints a JSON object to stdout on success:\n {\"path\":\"/tmp/github-screenshot.png\",\"mimetype\":\"image/png\",\"size\":12345}\n\nHow to read the downloaded file:\n - Images (png/jpg/gif/webp/svg): open the file path with your image viewing tool\n - Videos (mp4/mov/webm): transcribe audio first with\n zero video transcribe --url <download-url>\n or extract frames with\n ffmpeg -i <path> -vf \"fps=1\" -q:v 2 /tmp/github_frame_%03d.jpg\n - PDF/text/csv/json/markdown: read the file directly\n\nNotes:\n - The URL comes from a [GitHub file] block\n - Streams the GitHub file bytes through VM0 directly to disk`,\n )\n .action(\n withErrorHandler(\n async (fileUrl: string, options: { out?: string; filename?: string }) => {\n const outPath =\n options.out ?? defaultOutPath(fileUrl, options.filename);\n const result = await downloadGithubFile(\n fileUrl,\n outPath,\n options.filename,\n );\n console.log(JSON.stringify(result));\n },\n ),\n );\n","import { Command } from \"commander\";\nimport chalk from \"chalk\";\nimport type {\n GithubLabelListener,\n GithubLabelTriggerMode,\n UpdateGithubLabelListenerBody,\n} from \"@vm0/api-contracts/contracts/integrations-github\";\nimport {\n createGithubLabelListener,\n deleteGithubLabelListener,\n getGithubInstallation,\n updateGithubLabelListener,\n} from \"../../../../lib/api\";\nimport { withErrorHandler } from \"../../../../lib/command\";\n\nfunction parseTriggerMode(value: string): GithubLabelTriggerMode {\n if (value === \"created_by_me\" || value === \"anyone\") {\n return value;\n }\n throw new Error(\"trigger-mode must be one of: created_by_me, anyone\");\n}\n\nfunction enabledLabel(listener: GithubLabelListener): string {\n return listener.enabled ? chalk.green(\"yes\") : chalk.dim(\"no\");\n}\n\nfunction manageableLabel(listener: GithubLabelListener): string {\n return listener.canManage ? chalk.green(\"yes\") : chalk.dim(\"no\");\n}\n\nfunction printListeners(listeners: readonly GithubLabelListener[]): void {\n if (listeners.length === 0) {\n console.log(chalk.dim(\"No GitHub label listeners found\"));\n return;\n }\n\n const idWidth = Math.max(\n 2,\n ...listeners.map((listener) => {\n return listener.id.length;\n }),\n );\n const labelWidth = Math.max(\n 5,\n ...listeners.map((listener) => {\n return listener.labelName.length;\n }),\n );\n const agentWidth = Math.max(\n 5,\n ...listeners.map((listener) => {\n return (listener.agent?.name ?? \"-\").length;\n }),\n );\n\n console.log(\n chalk.dim(\n [\n \"ID\".padEnd(idWidth),\n \"LABEL\".padEnd(labelWidth),\n \"AGENT\".padEnd(agentWidth),\n \"TRIGGER\".padEnd(13),\n \"ENABLED\",\n \"CAN MANAGE\",\n ].join(\" \"),\n ),\n );\n\n for (const listener of listeners) {\n console.log(\n [\n listener.id.padEnd(idWidth),\n listener.labelName.padEnd(labelWidth),\n (listener.agent?.name ?? \"-\").padEnd(agentWidth),\n listener.triggerMode.padEnd(13),\n enabledLabel(listener).padEnd(7),\n manageableLabel(listener),\n ].join(\" \"),\n );\n }\n}\n\nconst listCommand = new Command()\n .name(\"list\")\n .alias(\"ls\")\n .description(\"List GitHub label listeners for the active organization\")\n .option(\"--json\", \"Print raw JSON\")\n .action(\n withErrorHandler(async (options: { json?: boolean }) => {\n const installation = await getGithubInstallation();\n if (options.json) {\n console.log(JSON.stringify(installation.labelListeners));\n return;\n }\n printListeners(installation.labelListeners);\n }),\n );\n\nconst createCommand = new Command()\n .name(\"create\")\n .description(\"Create a GitHub label listener\")\n .requiredOption(\"--label <name>\", \"GitHub label name to watch\")\n .requiredOption(\n \"--agent-id <id>\",\n \"Agent ID to run when the label is applied\",\n )\n .requiredOption(\"--prompt <text>\", \"Prompt to pass to the agent\")\n .option(\n \"--trigger-mode <mode>\",\n \"Who can trigger the listener: anyone | created_by_me\",\n \"anyone\",\n )\n .option(\"--disabled\", \"Create the listener disabled\")\n .option(\"--json\", \"Print raw JSON\")\n .action(\n withErrorHandler(\n async (options: {\n label: string;\n agentId: string;\n prompt: string;\n triggerMode: string;\n disabled?: boolean;\n json?: boolean;\n }) => {\n const result = await createGithubLabelListener({\n labelName: options.label,\n agentId: options.agentId,\n prompt: options.prompt,\n triggerMode: parseTriggerMode(options.triggerMode),\n enabled: options.disabled ? false : undefined,\n });\n\n if (options.json) {\n console.log(JSON.stringify(result.listener));\n return;\n }\n console.log(`Created GitHub label listener ${result.listener.id}`);\n },\n ),\n );\n\nconst updateCommand = new Command()\n .name(\"update\")\n .alias(\"edit\")\n .description(\"Update a GitHub label listener\")\n .argument(\"<listener-id>\", \"GitHub label listener ID\")\n .option(\"--label <name>\", \"New GitHub label name\")\n .option(\"--agent-id <id>\", \"New agent ID\")\n .option(\"--prompt <text>\", \"New prompt\")\n .option(\n \"--trigger-mode <mode>\",\n \"Who can trigger the listener: anyone | created_by_me\",\n )\n .option(\"--enable\", \"Enable the listener\")\n .option(\"--disable\", \"Disable the listener\")\n .option(\"--json\", \"Print raw JSON\")\n .action(\n withErrorHandler(\n async (\n listenerId: string,\n options: {\n label?: string;\n agentId?: string;\n prompt?: string;\n triggerMode?: string;\n enable?: boolean;\n disable?: boolean;\n json?: boolean;\n },\n ) => {\n if (options.enable && options.disable) {\n throw new Error(\"Use only one of --enable or --disable\");\n }\n\n const body: UpdateGithubLabelListenerBody = {};\n if (options.label !== undefined) body.labelName = options.label;\n if (options.agentId !== undefined) body.agentId = options.agentId;\n if (options.prompt !== undefined) body.prompt = options.prompt;\n if (options.triggerMode !== undefined) {\n body.triggerMode = parseTriggerMode(options.triggerMode);\n }\n if (options.enable) body.enabled = true;\n if (options.disable) body.enabled = false;\n\n if (Object.keys(body).length === 0) {\n throw new Error(\n \"Provide at least one change: --label, --agent-id, --prompt, --trigger-mode, --enable, or --disable\",\n );\n }\n\n const result = await updateGithubLabelListener(listenerId, body);\n if (options.json) {\n console.log(JSON.stringify(result.listener));\n return;\n }\n console.log(`Updated GitHub label listener ${result.listener.id}`);\n },\n ),\n );\n\nconst deleteCommand = new Command()\n .name(\"delete\")\n .alias(\"rm\")\n .description(\"Delete a GitHub label listener\")\n .argument(\"<listener-id>\", \"GitHub label listener ID\")\n .option(\"--json\", \"Print raw JSON\")\n .action(\n withErrorHandler(\n async (listenerId: string, options: { json?: boolean }) => {\n const result = await deleteGithubLabelListener(listenerId);\n if (options.json) {\n console.log(JSON.stringify(result));\n return;\n }\n console.log(`Deleted GitHub label listener ${listenerId}`);\n },\n ),\n );\n\nexport const labelListenerCommand = new Command()\n .name(\"label-listener\")\n .alias(\"label-listeners\")\n .alias(\"labels\")\n .description(\"Manage GitHub label listeners\")\n .addCommand(listCommand)\n .addCommand(createCommand)\n .addCommand(updateCommand)\n .addCommand(deleteCommand)\n .addHelpText(\n \"after\",\n `\nExamples:\n List listeners: zero github label-listener list\n Create listener: zero github label-listener create --label zero --agent-id <agent-id> --prompt \"Handle this issue\"\n Edit listener: zero github label-listener update <listener-id> --disable\n Delete listener: zero github label-listener delete <listener-id>\n\nNotes:\n - Updating or deleting a listener is allowed only for the listener owner or an org admin.`,\n );\n","import { readFileSync, statSync } from \"fs\";\nimport { basename, extname } from \"path\";\nimport { Command } from \"commander\";\nimport {\n completeGithubFileUpload,\n initGithubFileUpload,\n} from \"../../../lib/api\";\nimport { withErrorHandler } from \"../../../lib/command\";\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 \".svg\": \"image/svg+xml\",\n \".mp4\": \"video/mp4\",\n \".webm\": \"video/webm\",\n \".mov\": \"video/quicktime\",\n \".pdf\": \"application/pdf\",\n \".txt\": \"text/plain\",\n \".csv\": \"text/csv\",\n \".md\": \"text/markdown\",\n \".json\": \"application/json\",\n};\n\nfunction inferContentType(localPath: string): string {\n const ext = extname(localPath).toLowerCase();\n return MIME_BY_EXTENSION[ext] ?? \"application/octet-stream\";\n}\n\nfunction parseIssueNumber(value: string): number {\n const parsed = Number(value);\n if (!Number.isSafeInteger(parsed) || parsed <= 0) {\n throw new Error(\"issue-number must be a positive integer\");\n }\n return parsed;\n}\n\nexport const uploadFileCommand = new Command()\n .name(\"upload-file\")\n .description(\"Upload a local file to a GitHub issue or pull request comment\")\n .requiredOption(\"-f, --file <path>\", \"Local file path to upload\")\n .requiredOption(\"-r, --repo <owner/name>\", \"GitHub repository\")\n .requiredOption(\n \"-i, --issue-number <number>\",\n \"GitHub issue or pull request number\",\n )\n .option(\"--caption <text>\", \"Text to include before the file link\")\n .option(\"--content-type <mime>\", \"Override inferred content type\")\n .addHelpText(\n \"after\",\n `\nExamples:\n Upload a file: zero github upload-file -f /tmp/report.pdf -r vm0-ai/vm0 -i 42\n With a caption: zero github upload-file -f /tmp/data.csv -r vm0-ai/vm0 -i 42 --caption \"Daily report\"\n\nOutput:\n Prints a JSON object to stdout on success:\n {\"commentId\":\"123\",\"repo\":\"vm0-ai/vm0\",\"issueNumber\":42,\"filename\":\"report.pdf\",\"mimetype\":\"application/pdf\",\"size\":12345,\"url\":\"https://...\"}\n\nNotes:\n - Uses the GitHub App installation on the server side\n - Uploads through VM0 storage first, then posts a GitHub comment containing the file URL`,\n )\n .action(\n withErrorHandler(\n async (options: {\n file: string;\n repo: string;\n issueNumber: string;\n caption?: string;\n contentType?: string;\n }) => {\n let fileSize: number;\n try {\n const stat = statSync(options.file);\n if (!stat.isFile()) {\n throw new Error(`Not a regular file: ${options.file}`);\n }\n fileSize = stat.size;\n } catch (error) {\n if (error instanceof Error && error.message.startsWith(\"Not \")) {\n throw error;\n }\n throw new Error(`File not found: ${options.file}`);\n }\n\n if (fileSize === 0) {\n throw new Error(\"File is empty\");\n }\n\n const filename = basename(options.file);\n const contentType =\n options.contentType ?? inferContentType(options.file);\n const issueNumber = parseIssueNumber(options.issueNumber);\n\n const prepared = await initGithubFileUpload({\n filename,\n contentType,\n length: fileSize,\n });\n\n const fileContent = readFileSync(options.file);\n const uploadResponse = await fetch(prepared.uploadUrl, {\n method: \"PUT\",\n headers: { \"Content-Type\": prepared.contentType },\n body: new Uint8Array(fileContent),\n });\n\n if (!uploadResponse.ok) {\n throw new Error(\n `File upload failed: ${uploadResponse.status} ${uploadResponse.statusText}`,\n );\n }\n\n const result = await completeGithubFileUpload({\n uploadId: prepared.uploadId,\n repo: options.repo,\n issueNumber,\n contentType: prepared.contentType,\n caption: options.caption,\n });\n\n console.log(JSON.stringify(result));\n },\n ),\n );\n"],"mappings":"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","names":["basename","basename"]}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes