@vm0/cli 9.244.6 → 9.244.7
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.
- package/{agent-AOWGKKI7.js → agent-2TIFNP32.js} +5 -5
- package/{banking-2ZRGXQJB.js → banking-UR7XJI3L.js} +3 -3
- package/{chat-XT3ZFO2U.js → chat-5N4C3FDV.js} +4 -4
- package/{chunk-MWXV2NJK.js → chunk-26BGLMA3.js} +4 -32
- package/chunk-26BGLMA3.js.map +1 -0
- package/{chunk-MZUWWKCF.js → chunk-5QJVQEHO.js} +4 -4
- package/{chunk-2GMLVBYY.js → chunk-7KSTVBNN.js} +4 -4
- package/{chunk-J7NZ4R4R.js → chunk-BIJC6U3G.js} +2 -2
- package/{chunk-MBYTQ3JJ.js → chunk-E32I3TNQ.js} +15 -34
- package/chunk-E32I3TNQ.js.map +1 -0
- package/{chunk-RPQMDXP2.js → chunk-JWDLLCI3.js} +2 -2
- package/{chunk-GGJ3V5JF.js → chunk-M6GLCPCJ.js} +3 -3
- package/{chunk-OPYEYUSY.js → chunk-NR6ANGRK.js} +15 -55
- package/chunk-NR6ANGRK.js.map +1 -0
- package/{chunk-LX7FTB2W.js → chunk-QCG2H3VD.js} +2 -2
- package/{chunk-V33YE2AE.js → chunk-STMJYQTH.js} +2 -2
- package/{chunk-PB66MQ5U.js → chunk-ZUSDQG2O.js} +2 -7
- package/{chunk-PB66MQ5U.js.map → chunk-ZUSDQG2O.js.map} +1 -1
- package/{computer-use-IP4SF35H.js → computer-use-3WUKJYHK.js} +3 -3
- package/{connector-XK7EPZWH.js → connector-PDEOFNTE.js} +6 -6
- package/{credit-VPTX7ZTC.js → credit-ET4RS32X.js} +4 -4
- package/{developer-support-3ED5W5G3.js → developer-support-3DJEJT2A.js} +3 -3
- package/{doctor-JZG5ZNW2.js → doctor-F7OWYXXH.js} +3 -3
- package/{generate-PAMRL3B5.js → generate-4GKWSL6P.js} +4 -4
- package/{github-OUIYACCV.js → github-S5HFK2IC.js} +3 -3
- package/{goal-PXTE4BCJ.js → goal-ISJWIT2Q.js} +3 -3
- package/{host-3KVI5HIB.js → host-T52XQ2SZ.js} +4 -4
- package/index.js +11 -730
- package/index.js.map +1 -1
- package/{logs-LEPXLZOA.js → logs-D4IL5OLR.js} +5 -5
- package/{mail-22YJ3HFW.js → mail-JXO3GW72.js} +5 -5
- package/{maps-GTBQWQOV.js → maps-T3YFBRLP.js} +3 -3
- package/{model-RWQNBS3N.js → model-GJRTV6E5.js} +4 -4
- package/{model-provider-6B54DC7X.js → model-provider-T4VN4HNU.js} +4 -4
- package/{org-JEJIR4XQ.js → org-GNNU77Y5.js} +3 -3
- package/package.json +1 -1
- package/{phone-CI77EG37.js → phone-EQ4R2GBO.js} +3 -3
- package/{preference-546TA23L.js → preference-3FHEQPKG.js} +3 -3
- package/{chunk-HEAUPGDO.js → resource-EOO2VATC.js} +133 -3
- package/resource-EOO2VATC.js.map +1 -0
- package/{scrape-VZJ67GNU.js → scrape-TZCFJY6X.js} +3 -3
- package/{search-L5ICIORF.js → search-RXP4DMUC.js} +5 -5
- package/{secret-FKMH53Y4.js → secret-S4ZCVY2X.js} +3 -3
- package/{slack-BQ4KIZPV.js → slack-7YJFUJE6.js} +3 -3
- package/{teams-YZSKKRY4.js → teams-45MMUROF.js} +3 -3
- package/{telegram-HHGB5PE3.js → telegram-7ZCSI24W.js} +3 -3
- package/{variable-4CIAHKLM.js → variable-O33TDP4J.js} +3 -3
- package/{video-54PFQIQD.js → video-D5LSABFJ.js} +2 -2
- package/{web-BOBLQ27H.js → web-JW7AH2UT.js} +3 -3
- package/{web-search-27452WDH.js → web-search-MHFQFZS6.js} +3 -3
- package/{whoami-5SIOEBZY.js → whoami-5DJLOQUZ.js} +5 -5
- package/{workflow-62JWPXNK.js → workflow-TXG3RBJR.js} +3 -3
- package/zero.js +35 -35
- package/chunk-HEAUPGDO.js.map +0 -1
- package/chunk-MBYTQ3JJ.js.map +0 -1
- package/chunk-MWXV2NJK.js.map +0 -1
- package/chunk-OPYEYUSY.js.map +0 -1
- package/resource-HRVLBG7N.js +0 -143
- package/resource-HRVLBG7N.js.map +0 -1
- /package/{agent-AOWGKKI7.js.map → agent-2TIFNP32.js.map} +0 -0
- /package/{banking-2ZRGXQJB.js.map → banking-UR7XJI3L.js.map} +0 -0
- /package/{chat-XT3ZFO2U.js.map → chat-5N4C3FDV.js.map} +0 -0
- /package/{chunk-MZUWWKCF.js.map → chunk-5QJVQEHO.js.map} +0 -0
- /package/{chunk-2GMLVBYY.js.map → chunk-7KSTVBNN.js.map} +0 -0
- /package/{chunk-J7NZ4R4R.js.map → chunk-BIJC6U3G.js.map} +0 -0
- /package/{chunk-RPQMDXP2.js.map → chunk-JWDLLCI3.js.map} +0 -0
- /package/{chunk-GGJ3V5JF.js.map → chunk-M6GLCPCJ.js.map} +0 -0
- /package/{chunk-LX7FTB2W.js.map → chunk-QCG2H3VD.js.map} +0 -0
- /package/{chunk-V33YE2AE.js.map → chunk-STMJYQTH.js.map} +0 -0
- /package/{computer-use-IP4SF35H.js.map → computer-use-3WUKJYHK.js.map} +0 -0
- /package/{connector-XK7EPZWH.js.map → connector-PDEOFNTE.js.map} +0 -0
- /package/{credit-VPTX7ZTC.js.map → credit-ET4RS32X.js.map} +0 -0
- /package/{developer-support-3ED5W5G3.js.map → developer-support-3DJEJT2A.js.map} +0 -0
- /package/{doctor-JZG5ZNW2.js.map → doctor-F7OWYXXH.js.map} +0 -0
- /package/{generate-PAMRL3B5.js.map → generate-4GKWSL6P.js.map} +0 -0
- /package/{github-OUIYACCV.js.map → github-S5HFK2IC.js.map} +0 -0
- /package/{goal-PXTE4BCJ.js.map → goal-ISJWIT2Q.js.map} +0 -0
- /package/{host-3KVI5HIB.js.map → host-T52XQ2SZ.js.map} +0 -0
- /package/{logs-LEPXLZOA.js.map → logs-D4IL5OLR.js.map} +0 -0
- /package/{mail-22YJ3HFW.js.map → mail-JXO3GW72.js.map} +0 -0
- /package/{maps-GTBQWQOV.js.map → maps-T3YFBRLP.js.map} +0 -0
- /package/{model-RWQNBS3N.js.map → model-GJRTV6E5.js.map} +0 -0
- /package/{model-provider-6B54DC7X.js.map → model-provider-T4VN4HNU.js.map} +0 -0
- /package/{org-JEJIR4XQ.js.map → org-GNNU77Y5.js.map} +0 -0
- /package/{phone-CI77EG37.js.map → phone-EQ4R2GBO.js.map} +0 -0
- /package/{preference-546TA23L.js.map → preference-3FHEQPKG.js.map} +0 -0
- /package/{scrape-VZJ67GNU.js.map → scrape-TZCFJY6X.js.map} +0 -0
- /package/{search-L5ICIORF.js.map → search-RXP4DMUC.js.map} +0 -0
- /package/{secret-FKMH53Y4.js.map → secret-S4ZCVY2X.js.map} +0 -0
- /package/{slack-BQ4KIZPV.js.map → slack-7YJFUJE6.js.map} +0 -0
- /package/{teams-YZSKKRY4.js.map → teams-45MMUROF.js.map} +0 -0
- /package/{telegram-HHGB5PE3.js.map → telegram-7ZCSI24W.js.map} +0 -0
- /package/{variable-4CIAHKLM.js.map → variable-O33TDP4J.js.map} +0 -0
- /package/{video-54PFQIQD.js.map → video-D5LSABFJ.js.map} +0 -0
- /package/{web-BOBLQ27H.js.map → web-JW7AH2UT.js.map} +0 -0
- /package/{web-search-27452WDH.js.map → web-search-MHFQFZS6.js.map} +0 -0
- /package/{whoami-5SIOEBZY.js.map → whoami-5DJLOQUZ.js.map} +0 -0
- /package/{workflow-62JWPXNK.js.map → workflow-TXG3RBJR.js.map} +0 -0
package/resource-HRVLBG7N.js
DELETED
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { createRequire as __createRequire } from "node:module";
|
|
3
|
-
const require = __createRequire(import.meta.url);
|
|
4
|
-
import {
|
|
5
|
-
So
|
|
6
|
-
} from "./chunk-HEAUPGDO.js";
|
|
7
|
-
import {
|
|
8
|
-
findColorSystem,
|
|
9
|
-
findDesignSystem,
|
|
10
|
-
findImageStyle,
|
|
11
|
-
findPresentationRunbookResource,
|
|
12
|
-
findTemplate,
|
|
13
|
-
findTool,
|
|
14
|
-
findVideoTemplate,
|
|
15
|
-
findWebsiteTemplateResource
|
|
16
|
-
} from "./chunk-DWWE7STW.js";
|
|
17
|
-
import {
|
|
18
|
-
getRegistryResourceDownload
|
|
19
|
-
} from "./chunk-OPYEYUSY.js";
|
|
20
|
-
import "./chunk-LTDQISD7.js";
|
|
21
|
-
import {
|
|
22
|
-
source_default,
|
|
23
|
-
withErrorHandler
|
|
24
|
-
} from "./chunk-MWXV2NJK.js";
|
|
25
|
-
import "./chunk-LRHXR7JT.js";
|
|
26
|
-
import {
|
|
27
|
-
Command
|
|
28
|
-
} from "./chunk-B3W2RUBP.js";
|
|
29
|
-
import {
|
|
30
|
-
init_esm_shims
|
|
31
|
-
} from "./chunk-DIRAZ3YX.js";
|
|
32
|
-
|
|
33
|
-
// src/commands/zero/resource/index.ts
|
|
34
|
-
init_esm_shims();
|
|
35
|
-
import { createHash } from "crypto";
|
|
36
|
-
import { mkdir, mkdtemp, rm, writeFile } from "fs/promises";
|
|
37
|
-
import { tmpdir } from "os";
|
|
38
|
-
import path from "path";
|
|
39
|
-
function candidateIds(id) {
|
|
40
|
-
if (id.includes(":")) {
|
|
41
|
-
return [id];
|
|
42
|
-
}
|
|
43
|
-
return [
|
|
44
|
-
`template:${id}`,
|
|
45
|
-
`design-system:${id}`,
|
|
46
|
-
`color-system:${id}`,
|
|
47
|
-
`tool:${id}`,
|
|
48
|
-
`image-style:${id}`,
|
|
49
|
-
`video-template:${id}`
|
|
50
|
-
];
|
|
51
|
-
}
|
|
52
|
-
function findRegistryResourceForPull(id) {
|
|
53
|
-
for (const candidate of candidateIds(id)) {
|
|
54
|
-
const entry = findTemplate(candidate) ?? findDesignSystem(candidate) ?? findColorSystem(candidate) ?? findTool(candidate) ?? findImageStyle(candidate) ?? findVideoTemplate(candidate) ?? findPresentationRunbookResource(candidate) ?? findWebsiteTemplateResource(candidate);
|
|
55
|
-
if (entry) {
|
|
56
|
-
return entry;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
return void 0;
|
|
60
|
-
}
|
|
61
|
-
function isSafeTarPath(entryPath) {
|
|
62
|
-
const normalized = entryPath.replace(/\\/gu, "/");
|
|
63
|
-
return !path.isAbsolute(normalized) && !normalized.split("/").some((segment) => {
|
|
64
|
-
return segment === "..";
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
async function downloadArchive(url) {
|
|
68
|
-
const response = await fetch(url);
|
|
69
|
-
if (!response.ok) {
|
|
70
|
-
throw new Error(`Resource archive download failed: ${response.status}`);
|
|
71
|
-
}
|
|
72
|
-
return Buffer.from(await response.arrayBuffer());
|
|
73
|
-
}
|
|
74
|
-
function verifyArchive(buffer, expectedSha256) {
|
|
75
|
-
const actual = createHash("sha256").update(buffer).digest("hex");
|
|
76
|
-
if (actual !== expectedSha256) {
|
|
77
|
-
throw new Error(
|
|
78
|
-
`Resource archive digest mismatch: expected ${expectedSha256}, got ${actual}`
|
|
79
|
-
);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
var zeroResourceCommand = new Command().name("resource").description("Pull registry resources from private R2-backed archives").addCommand(
|
|
83
|
-
new Command().name("pull").description("Download and extract a private registry resource archive").argument(
|
|
84
|
-
"<id>",
|
|
85
|
-
"Registry resource id, such as template:html-ppt-playful-launch-runbook"
|
|
86
|
-
).option(
|
|
87
|
-
"--dir <path>",
|
|
88
|
-
"Directory to extract into",
|
|
89
|
-
"./generated/resources"
|
|
90
|
-
).action(
|
|
91
|
-
withErrorHandler(async (id, options) => {
|
|
92
|
-
const entry = findRegistryResourceForPull(id);
|
|
93
|
-
if (!entry) {
|
|
94
|
-
throw new Error(`Unknown registry resource: ${id}`);
|
|
95
|
-
}
|
|
96
|
-
const archive = entry.source.archive;
|
|
97
|
-
if (!archive) {
|
|
98
|
-
throw new Error(
|
|
99
|
-
`Registry resource ${entry.id} does not provide an R2 archive source`
|
|
100
|
-
);
|
|
101
|
-
}
|
|
102
|
-
console.log(source_default.dim(`Pulling ${entry.id}...`));
|
|
103
|
-
const download = await getRegistryResourceDownload({
|
|
104
|
-
id: entry.id,
|
|
105
|
-
expectedSha256: archive.sha256
|
|
106
|
-
});
|
|
107
|
-
if (download.sha256 !== archive.sha256) {
|
|
108
|
-
throw new Error(
|
|
109
|
-
`Resource archive digest metadata mismatch: expected ${archive.sha256}, got ${download.sha256}`
|
|
110
|
-
);
|
|
111
|
-
}
|
|
112
|
-
const buffer = await downloadArchive(download.url);
|
|
113
|
-
verifyArchive(buffer, archive.sha256);
|
|
114
|
-
const outputDir = path.resolve(options.dir);
|
|
115
|
-
const tmpDir = await mkdtemp(path.join(tmpdir(), "zero-resource-"));
|
|
116
|
-
const archivePath = path.join(tmpDir, "resource.tar.gz");
|
|
117
|
-
await mkdir(outputDir, { recursive: true });
|
|
118
|
-
await writeFile(archivePath, buffer);
|
|
119
|
-
try {
|
|
120
|
-
await So({
|
|
121
|
-
file: archivePath,
|
|
122
|
-
cwd: outputDir,
|
|
123
|
-
gzip: true,
|
|
124
|
-
filter: isSafeTarPath
|
|
125
|
-
});
|
|
126
|
-
} finally {
|
|
127
|
-
await rm(tmpDir, { recursive: true, force: true });
|
|
128
|
-
}
|
|
129
|
-
console.log(source_default.green(`\u2713 Pulled ${entry.id}`));
|
|
130
|
-
console.log(source_default.dim(` Extracted to: ${outputDir}`));
|
|
131
|
-
console.log(
|
|
132
|
-
source_default.dim(
|
|
133
|
-
` Source path: ${path.join(outputDir, entry.source.path)}`
|
|
134
|
-
)
|
|
135
|
-
);
|
|
136
|
-
})
|
|
137
|
-
)
|
|
138
|
-
);
|
|
139
|
-
export {
|
|
140
|
-
findRegistryResourceForPull,
|
|
141
|
-
zeroResourceCommand
|
|
142
|
-
};
|
|
143
|
-
//# sourceMappingURL=resource-HRVLBG7N.js.map
|
package/resource-HRVLBG7N.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/zero/resource/index.ts"],"sourcesContent":["import { createHash } from \"node:crypto\";\nimport { mkdir, mkdtemp, rm, writeFile } from \"node:fs/promises\";\nimport { tmpdir } from \"node:os\";\nimport path from \"node:path\";\n\nimport { Command } from \"commander\";\nimport chalk from \"chalk\";\nimport * as tar from \"tar\";\nimport {\n findColorSystem,\n findDesignSystem,\n findImageStyle,\n findPresentationRunbookResource,\n findTool,\n findTemplate,\n findVideoTemplate,\n findWebsiteTemplateResource,\n type RegistryEntry,\n type VideoTemplateRegistryEntry,\n} from \"@vm0/core/resource-registry\";\n\nimport { getRegistryResourceDownload } from \"../../../lib/api\";\nimport { withErrorHandler } from \"../../../lib/command\";\n\ntype PullableRegistryEntry = RegistryEntry | VideoTemplateRegistryEntry;\n\ninterface PullOptions {\n readonly dir: string;\n}\n\nfunction candidateIds(id: string): readonly string[] {\n if (id.includes(\":\")) {\n return [id];\n }\n return [\n `template:${id}`,\n `design-system:${id}`,\n `color-system:${id}`,\n `tool:${id}`,\n `image-style:${id}`,\n `video-template:${id}`,\n ];\n}\n\nexport function findRegistryResourceForPull(\n id: string,\n): PullableRegistryEntry | undefined {\n for (const candidate of candidateIds(id)) {\n const entry =\n findTemplate(candidate) ??\n findDesignSystem(candidate) ??\n findColorSystem(candidate) ??\n findTool(candidate) ??\n findImageStyle(candidate) ??\n findVideoTemplate(candidate) ??\n findPresentationRunbookResource(candidate) ??\n findWebsiteTemplateResource(candidate);\n if (entry) {\n return entry;\n }\n }\n return undefined;\n}\n\nfunction isSafeTarPath(entryPath: string): boolean {\n const normalized = entryPath.replace(/\\\\/gu, \"/\");\n return (\n !path.isAbsolute(normalized) &&\n !normalized.split(\"/\").some((segment) => {\n return segment === \"..\";\n })\n );\n}\n\nasync function downloadArchive(url: string): Promise<Buffer> {\n const response = await fetch(url);\n if (!response.ok) {\n throw new Error(`Resource archive download failed: ${response.status}`);\n }\n return Buffer.from(await response.arrayBuffer());\n}\n\nfunction verifyArchive(buffer: Buffer, expectedSha256: string): void {\n const actual = createHash(\"sha256\").update(buffer).digest(\"hex\");\n if (actual !== expectedSha256) {\n throw new Error(\n `Resource archive digest mismatch: expected ${expectedSha256}, got ${actual}`,\n );\n }\n}\n\nexport const zeroResourceCommand = new Command()\n .name(\"resource\")\n .description(\"Pull registry resources from private R2-backed archives\")\n .addCommand(\n new Command()\n .name(\"pull\")\n .description(\"Download and extract a private registry resource archive\")\n .argument(\n \"<id>\",\n \"Registry resource id, such as template:html-ppt-playful-launch-runbook\",\n )\n .option(\n \"--dir <path>\",\n \"Directory to extract into\",\n \"./generated/resources\",\n )\n .action(\n withErrorHandler(async (id: string, options: PullOptions) => {\n const entry = findRegistryResourceForPull(id);\n if (!entry) {\n throw new Error(`Unknown registry resource: ${id}`);\n }\n\n const archive = entry.source.archive;\n if (!archive) {\n throw new Error(\n `Registry resource ${entry.id} does not provide an R2 archive source`,\n );\n }\n\n console.log(chalk.dim(`Pulling ${entry.id}...`));\n const download = await getRegistryResourceDownload({\n id: entry.id,\n expectedSha256: archive.sha256,\n });\n if (download.sha256 !== archive.sha256) {\n throw new Error(\n `Resource archive digest metadata mismatch: expected ${archive.sha256}, got ${download.sha256}`,\n );\n }\n\n const buffer = await downloadArchive(download.url);\n verifyArchive(buffer, archive.sha256);\n\n const outputDir = path.resolve(options.dir);\n const tmpDir = await mkdtemp(path.join(tmpdir(), \"zero-resource-\"));\n const archivePath = path.join(tmpDir, \"resource.tar.gz\");\n await mkdir(outputDir, { recursive: true });\n await writeFile(archivePath, buffer);\n\n try {\n await tar.extract({\n file: archivePath,\n cwd: outputDir,\n gzip: true,\n filter: isSafeTarPath,\n });\n } finally {\n await rm(tmpDir, { recursive: true, force: true });\n }\n\n console.log(chalk.green(`✓ Pulled ${entry.id}`));\n console.log(chalk.dim(` Extracted to: ${outputDir}`));\n console.log(\n chalk.dim(\n ` Source path: ${path.join(outputDir, entry.source.path)}`,\n ),\n );\n }),\n ),\n );\n"],"mappings":"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","names":[]}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|