@vm0/cli 9.244.5 → 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-NQVS6VCY.js → agent-2TIFNP32.js} +7 -7
- package/{banking-U5U2G6QH.js → banking-UR7XJI3L.js} +3 -3
- package/{chat-BGF7IB3O.js → chat-5N4C3FDV.js} +4 -4
- package/{chunk-UEGRDQR3.js → chunk-26BGLMA3.js} +4 -32
- package/chunk-26BGLMA3.js.map +1 -0
- package/{chunk-ZMTKJ4VW.js → chunk-5QJVQEHO.js} +69 -6
- package/chunk-5QJVQEHO.js.map +1 -0
- package/{chunk-SBH7L4UT.js → chunk-7KSTVBNN.js} +4 -4
- package/{chunk-624QMD56.js → chunk-BIJC6U3G.js} +2 -2
- package/{chunk-KS62N6VR.js → chunk-E32I3TNQ.js} +26 -129
- package/chunk-E32I3TNQ.js.map +1 -0
- package/{chunk-4V373IPM.js → chunk-JWDLLCI3.js} +2 -2
- package/{chunk-PBFD5MP4.js → chunk-M6GLCPCJ.js} +3 -3
- package/{chunk-VUUGKMER.js → chunk-NR6ANGRK.js} +41 -245
- package/chunk-NR6ANGRK.js.map +1 -0
- package/{chunk-NOUED6XP.js → chunk-QCG2H3VD.js} +2 -2
- package/{chunk-MKPBFN7W.js → chunk-STMJYQTH.js} +2 -2
- package/chunk-ZUSDQG2O.js +50 -0
- package/chunk-ZUSDQG2O.js.map +1 -0
- package/{computer-use-F4VFLO6X.js → computer-use-3WUKJYHK.js} +3 -3
- package/{connector-SWU3H7YL.js → connector-PDEOFNTE.js} +9 -21
- package/connector-PDEOFNTE.js.map +1 -0
- package/{credit-ZMXGA5CQ.js → credit-ET4RS32X.js} +4 -4
- package/{developer-support-IOTX3JWR.js → developer-support-3DJEJT2A.js} +3 -3
- package/{doctor-DTMFWDXL.js → doctor-F7OWYXXH.js} +3 -3
- package/{generate-IQUCOIYW.js → generate-4GKWSL6P.js} +4 -4
- package/{github-AJT3E56L.js → github-S5HFK2IC.js} +3 -3
- package/{goal-NCK5T57P.js → goal-ISJWIT2Q.js} +3 -3
- package/{host-BRKGWZLP.js → host-T52XQ2SZ.js} +4 -5
- package/{host-BRKGWZLP.js.map → host-T52XQ2SZ.js.map} +1 -1
- package/index.js +12 -2040
- package/index.js.map +1 -1
- package/{logs-WZVT4BS7.js → logs-D4IL5OLR.js} +8 -8
- package/{mail-QS4HABXH.js → mail-JXO3GW72.js} +5 -5
- package/{maps-3X6V34JQ.js → maps-T3YFBRLP.js} +3 -3
- package/{model-6ETRDASM.js → model-GJRTV6E5.js} +4 -4
- package/{model-provider-XEKOLWZY.js → model-provider-T4VN4HNU.js} +4 -4
- package/{org-DKGPME4L.js → org-GNNU77Y5.js} +3 -3
- package/package.json +1 -1
- package/{phone-6455TFON.js → phone-EQ4R2GBO.js} +3 -3
- package/{preference-2XMANS52.js → preference-3FHEQPKG.js} +3 -3
- package/{chunk-CK6ATTWW.js → resource-EOO2VATC.js} +133 -4
- package/resource-EOO2VATC.js.map +1 -0
- package/{scrape-CIP2FZED.js → scrape-TZCFJY6X.js} +3 -3
- package/{search-GCQ55FYS.js → search-RXP4DMUC.js} +7 -7
- package/{secret-NVLEVYXQ.js → secret-S4ZCVY2X.js} +3 -3
- package/{slack-EGYW76W2.js → slack-7YJFUJE6.js} +3 -3
- package/{teams-2D63XX2R.js → teams-45MMUROF.js} +3 -3
- package/{telegram-GQARG3MD.js → telegram-7ZCSI24W.js} +3 -3
- package/{variable-WMKLX7TF.js → variable-O33TDP4J.js} +3 -3
- package/{video-NAUNUYGP.js → video-D5LSABFJ.js} +2 -2
- package/{web-7U3YS3KP.js → web-JW7AH2UT.js} +3 -3
- package/{web-search-EIO3GVKH.js → web-search-MHFQFZS6.js} +3 -3
- package/{whoami-QZJAGTDW.js → whoami-5DJLOQUZ.js} +5 -5
- package/{workflow-RMJIYOUB.js → workflow-TXG3RBJR.js} +3 -3
- package/zero.js +35 -35
- package/chunk-CK6ATTWW.js.map +0 -1
- package/chunk-KS62N6VR.js.map +0 -1
- package/chunk-T6TZMDU6.js +0 -132
- package/chunk-T6TZMDU6.js.map +0 -1
- package/chunk-UEGRDQR3.js.map +0 -1
- package/chunk-VUUGKMER.js.map +0 -1
- package/chunk-ZMTKJ4VW.js.map +0 -1
- package/connector-SWU3H7YL.js.map +0 -1
- package/resource-MIFLTTK6.js +0 -143
- package/resource-MIFLTTK6.js.map +0 -1
- /package/{agent-NQVS6VCY.js.map → agent-2TIFNP32.js.map} +0 -0
- /package/{banking-U5U2G6QH.js.map → banking-UR7XJI3L.js.map} +0 -0
- /package/{chat-BGF7IB3O.js.map → chat-5N4C3FDV.js.map} +0 -0
- /package/{chunk-SBH7L4UT.js.map → chunk-7KSTVBNN.js.map} +0 -0
- /package/{chunk-624QMD56.js.map → chunk-BIJC6U3G.js.map} +0 -0
- /package/{chunk-4V373IPM.js.map → chunk-JWDLLCI3.js.map} +0 -0
- /package/{chunk-PBFD5MP4.js.map → chunk-M6GLCPCJ.js.map} +0 -0
- /package/{chunk-NOUED6XP.js.map → chunk-QCG2H3VD.js.map} +0 -0
- /package/{chunk-MKPBFN7W.js.map → chunk-STMJYQTH.js.map} +0 -0
- /package/{computer-use-F4VFLO6X.js.map → computer-use-3WUKJYHK.js.map} +0 -0
- /package/{credit-ZMXGA5CQ.js.map → credit-ET4RS32X.js.map} +0 -0
- /package/{developer-support-IOTX3JWR.js.map → developer-support-3DJEJT2A.js.map} +0 -0
- /package/{doctor-DTMFWDXL.js.map → doctor-F7OWYXXH.js.map} +0 -0
- /package/{generate-IQUCOIYW.js.map → generate-4GKWSL6P.js.map} +0 -0
- /package/{github-AJT3E56L.js.map → github-S5HFK2IC.js.map} +0 -0
- /package/{goal-NCK5T57P.js.map → goal-ISJWIT2Q.js.map} +0 -0
- /package/{logs-WZVT4BS7.js.map → logs-D4IL5OLR.js.map} +0 -0
- /package/{mail-QS4HABXH.js.map → mail-JXO3GW72.js.map} +0 -0
- /package/{maps-3X6V34JQ.js.map → maps-T3YFBRLP.js.map} +0 -0
- /package/{model-6ETRDASM.js.map → model-GJRTV6E5.js.map} +0 -0
- /package/{model-provider-XEKOLWZY.js.map → model-provider-T4VN4HNU.js.map} +0 -0
- /package/{org-DKGPME4L.js.map → org-GNNU77Y5.js.map} +0 -0
- /package/{phone-6455TFON.js.map → phone-EQ4R2GBO.js.map} +0 -0
- /package/{preference-2XMANS52.js.map → preference-3FHEQPKG.js.map} +0 -0
- /package/{scrape-CIP2FZED.js.map → scrape-TZCFJY6X.js.map} +0 -0
- /package/{search-GCQ55FYS.js.map → search-RXP4DMUC.js.map} +0 -0
- /package/{secret-NVLEVYXQ.js.map → secret-S4ZCVY2X.js.map} +0 -0
- /package/{slack-EGYW76W2.js.map → slack-7YJFUJE6.js.map} +0 -0
- /package/{teams-2D63XX2R.js.map → teams-45MMUROF.js.map} +0 -0
- /package/{telegram-GQARG3MD.js.map → telegram-7ZCSI24W.js.map} +0 -0
- /package/{variable-WMKLX7TF.js.map → variable-O33TDP4J.js.map} +0 -0
- /package/{video-NAUNUYGP.js.map → video-D5LSABFJ.js.map} +0 -0
- /package/{web-7U3YS3KP.js.map → web-JW7AH2UT.js.map} +0 -0
- /package/{web-search-EIO3GVKH.js.map → web-search-MHFQFZS6.js.map} +0 -0
- /package/{whoami-QZJAGTDW.js.map → whoami-5DJLOQUZ.js.map} +0 -0
- /package/{workflow-RMJIYOUB.js.map → workflow-TXG3RBJR.js.map} +0 -0
|
@@ -2,29 +2,29 @@
|
|
|
2
2
|
import { createRequire as __createRequire } from "node:module";
|
|
3
3
|
const require = __createRequire(import.meta.url);
|
|
4
4
|
import {
|
|
5
|
+
collectLogItems,
|
|
6
|
+
parseBoundedLogCount,
|
|
7
|
+
parsePositiveLogCount,
|
|
5
8
|
searchCommand
|
|
6
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-5QJVQEHO.js";
|
|
7
10
|
import {
|
|
8
11
|
EventRenderer,
|
|
9
12
|
EventStreamNormalizer,
|
|
10
|
-
collectLogItems,
|
|
11
13
|
formatIsoTimestamp,
|
|
12
14
|
isSupportedFramework,
|
|
13
15
|
isUUID,
|
|
14
|
-
parseBoundedLogCount,
|
|
15
|
-
parsePositiveLogCount,
|
|
16
16
|
parseTime
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-E32I3TNQ.js";
|
|
18
18
|
import "./chunk-DWWE7STW.js";
|
|
19
19
|
import {
|
|
20
20
|
getZeroRunAgentEvents,
|
|
21
21
|
listZeroLogs
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-NR6ANGRK.js";
|
|
23
23
|
import "./chunk-LTDQISD7.js";
|
|
24
24
|
import {
|
|
25
25
|
source_default,
|
|
26
26
|
withErrorHandler
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-26BGLMA3.js";
|
|
28
28
|
import "./chunk-LRHXR7JT.js";
|
|
29
29
|
import {
|
|
30
30
|
Command
|
|
@@ -270,4 +270,4 @@ Examples:
|
|
|
270
270
|
export {
|
|
271
271
|
zeroLogsCommand
|
|
272
272
|
};
|
|
273
|
-
//# sourceMappingURL=logs-
|
|
273
|
+
//# sourceMappingURL=logs-D4IL5OLR.js.map
|
|
@@ -4,19 +4,19 @@ const require = __createRequire(import.meta.url);
|
|
|
4
4
|
import {
|
|
5
5
|
findConnectorStatusItem,
|
|
6
6
|
resolveAgentContext
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-QCG2H3VD.js";
|
|
8
8
|
import {
|
|
9
9
|
getPlatformOrigin
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-BIJC6U3G.js";
|
|
11
11
|
import {
|
|
12
12
|
linkZeroMailDraft,
|
|
13
13
|
listZeroConnectorCatalogStatus
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-NR6ANGRK.js";
|
|
15
15
|
import "./chunk-LTDQISD7.js";
|
|
16
16
|
import {
|
|
17
17
|
source_default,
|
|
18
18
|
withErrorHandler
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-26BGLMA3.js";
|
|
20
20
|
import "./chunk-LRHXR7JT.js";
|
|
21
21
|
import {
|
|
22
22
|
Command
|
|
@@ -183,4 +183,4 @@ var zeroMailCommand = new Command().name("mail").description("Review linked Gmai
|
|
|
183
183
|
export {
|
|
184
184
|
zeroMailCommand
|
|
185
185
|
};
|
|
186
|
-
//# sourceMappingURL=mail-
|
|
186
|
+
//# sourceMappingURL=mail-JXO3GW72.js.map
|
|
@@ -3,12 +3,12 @@ import { createRequire as __createRequire } from "node:module";
|
|
|
3
3
|
const require = __createRequire(import.meta.url);
|
|
4
4
|
import {
|
|
5
5
|
callZeroMaps
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-NR6ANGRK.js";
|
|
7
7
|
import "./chunk-LTDQISD7.js";
|
|
8
8
|
import {
|
|
9
9
|
source_default,
|
|
10
10
|
withErrorHandler
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-26BGLMA3.js";
|
|
12
12
|
import "./chunk-LRHXR7JT.js";
|
|
13
13
|
import {
|
|
14
14
|
Command,
|
|
@@ -482,4 +482,4 @@ Notes:
|
|
|
482
482
|
export {
|
|
483
483
|
zeroMapsCommand
|
|
484
484
|
};
|
|
485
|
-
//# sourceMappingURL=maps-
|
|
485
|
+
//# sourceMappingURL=maps-T3YFBRLP.js.map
|
|
@@ -5,16 +5,16 @@ import {
|
|
|
5
5
|
formatModelPolicyStatus,
|
|
6
6
|
formatModelProviderRoute,
|
|
7
7
|
getModelProviderRouteKind
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-JWDLLCI3.js";
|
|
9
9
|
import {
|
|
10
10
|
listZeroModelPolicies
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-NR6ANGRK.js";
|
|
12
12
|
import "./chunk-LTDQISD7.js";
|
|
13
13
|
import {
|
|
14
14
|
getVm0ModelPriceTier,
|
|
15
15
|
source_default,
|
|
16
16
|
withErrorHandler
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-26BGLMA3.js";
|
|
18
18
|
import "./chunk-LRHXR7JT.js";
|
|
19
19
|
import {
|
|
20
20
|
Command
|
|
@@ -88,4 +88,4 @@ export {
|
|
|
88
88
|
switchCommand,
|
|
89
89
|
zeroModelCommand
|
|
90
90
|
};
|
|
91
|
-
//# sourceMappingURL=model-
|
|
91
|
+
//# sourceMappingURL=model-GJRTV6E5.js.map
|
|
@@ -5,15 +5,15 @@ import {
|
|
|
5
5
|
formatModelPolicyStatus,
|
|
6
6
|
getModelProviderRouteKind,
|
|
7
7
|
getModelProviderTypeLabel
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-JWDLLCI3.js";
|
|
9
9
|
import {
|
|
10
10
|
listZeroModelPolicies
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-NR6ANGRK.js";
|
|
12
12
|
import "./chunk-LTDQISD7.js";
|
|
13
13
|
import {
|
|
14
14
|
source_default,
|
|
15
15
|
withErrorHandler
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-26BGLMA3.js";
|
|
17
17
|
import "./chunk-LRHXR7JT.js";
|
|
18
18
|
import {
|
|
19
19
|
Command
|
|
@@ -72,4 +72,4 @@ export {
|
|
|
72
72
|
setCommand,
|
|
73
73
|
zeroModelProviderCommand
|
|
74
74
|
};
|
|
75
|
-
//# sourceMappingURL=model-provider-
|
|
75
|
+
//# sourceMappingURL=model-provider-T4VN4HNU.js.map
|
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
switchZeroOrg,
|
|
27
27
|
updateZeroOrg,
|
|
28
28
|
upsertZeroOrgModelProvider
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-NR6ANGRK.js";
|
|
30
30
|
import "./chunk-LTDQISD7.js";
|
|
31
31
|
import {
|
|
32
32
|
ApiRequestError,
|
|
@@ -40,7 +40,7 @@ import {
|
|
|
40
40
|
saveConfig,
|
|
41
41
|
source_default,
|
|
42
42
|
withErrorHandler
|
|
43
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-26BGLMA3.js";
|
|
44
44
|
import "./chunk-LRHXR7JT.js";
|
|
45
45
|
import {
|
|
46
46
|
Command
|
|
@@ -917,4 +917,4 @@ var zeroOrgCommand = new Command().name("org").description("Manage organization
|
|
|
917
917
|
export {
|
|
918
918
|
zeroOrgCommand
|
|
919
919
|
};
|
|
920
|
-
//# sourceMappingURL=org-
|
|
920
|
+
//# sourceMappingURL=org-GNNU77Y5.js.map
|
package/package.json
CHANGED
|
@@ -6,12 +6,12 @@ import {
|
|
|
6
6
|
downloadPhoneFile,
|
|
7
7
|
initPhoneFileUpload,
|
|
8
8
|
sendPhoneMessage
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-NR6ANGRK.js";
|
|
10
10
|
import "./chunk-LTDQISD7.js";
|
|
11
11
|
import {
|
|
12
12
|
source_default,
|
|
13
13
|
withErrorHandler
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-26BGLMA3.js";
|
|
15
15
|
import "./chunk-LRHXR7JT.js";
|
|
16
16
|
import {
|
|
17
17
|
Command
|
|
@@ -199,4 +199,4 @@ Examples:
|
|
|
199
199
|
export {
|
|
200
200
|
zeroPhoneCommand
|
|
201
201
|
};
|
|
202
|
-
//# sourceMappingURL=phone-
|
|
202
|
+
//# sourceMappingURL=phone-EQ4R2GBO.js.map
|
|
@@ -8,12 +8,12 @@ import {
|
|
|
8
8
|
import {
|
|
9
9
|
getZeroUserPreferences,
|
|
10
10
|
updateZeroUserPreferences
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-NR6ANGRK.js";
|
|
12
12
|
import "./chunk-LTDQISD7.js";
|
|
13
13
|
import {
|
|
14
14
|
source_default,
|
|
15
15
|
withErrorHandler
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-26BGLMA3.js";
|
|
17
17
|
import "./chunk-LRHXR7JT.js";
|
|
18
18
|
import {
|
|
19
19
|
Command
|
|
@@ -105,4 +105,4 @@ var zeroPreferenceCommand = new Command().name("preference").description("View o
|
|
|
105
105
|
export {
|
|
106
106
|
zeroPreferenceCommand
|
|
107
107
|
};
|
|
108
|
-
//# sourceMappingURL=preference-
|
|
108
|
+
//# sourceMappingURL=preference-3FHEQPKG.js.map
|
|
@@ -1,10 +1,39 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire as __createRequire } from "node:module";
|
|
3
3
|
const require = __createRequire(import.meta.url);
|
|
4
|
+
import {
|
|
5
|
+
findColorSystem,
|
|
6
|
+
findDesignSystem,
|
|
7
|
+
findImageStyle,
|
|
8
|
+
findPresentationRunbookResource,
|
|
9
|
+
findTemplate,
|
|
10
|
+
findTool,
|
|
11
|
+
findVideoTemplate,
|
|
12
|
+
findWebsiteTemplateResource
|
|
13
|
+
} from "./chunk-DWWE7STW.js";
|
|
14
|
+
import {
|
|
15
|
+
getRegistryResourceDownload
|
|
16
|
+
} from "./chunk-NR6ANGRK.js";
|
|
17
|
+
import "./chunk-LTDQISD7.js";
|
|
18
|
+
import {
|
|
19
|
+
source_default,
|
|
20
|
+
withErrorHandler
|
|
21
|
+
} from "./chunk-26BGLMA3.js";
|
|
22
|
+
import "./chunk-LRHXR7JT.js";
|
|
23
|
+
import {
|
|
24
|
+
Command
|
|
25
|
+
} from "./chunk-B3W2RUBP.js";
|
|
4
26
|
import {
|
|
5
27
|
init_esm_shims
|
|
6
28
|
} from "./chunk-DIRAZ3YX.js";
|
|
7
29
|
|
|
30
|
+
// src/commands/zero/resource/index.ts
|
|
31
|
+
init_esm_shims();
|
|
32
|
+
import { createHash } from "crypto";
|
|
33
|
+
import { mkdir, mkdtemp, rm, writeFile } from "fs/promises";
|
|
34
|
+
import { tmpdir } from "os";
|
|
35
|
+
import path from "path";
|
|
36
|
+
|
|
8
37
|
// ../../node_modules/.pnpm/tar@7.5.20/node_modules/tar/dist/esm/index.min.js
|
|
9
38
|
init_esm_shims();
|
|
10
39
|
import Qr from "events";
|
|
@@ -2974,9 +3003,109 @@ var To = (s3) => {
|
|
|
2974
3003
|
s3.mtimeCache || (s3.mtimeCache = /* @__PURE__ */ new Map()), s3.filter = t ? (e, i) => t(e, i) && !((s3.mtimeCache?.get(e) ?? i.mtime ?? 0) > (i.mtime ?? 0)) : (e, i) => !((s3.mtimeCache?.get(e) ?? i.mtime ?? 0) > (i.mtime ?? 0));
|
|
2975
3004
|
};
|
|
2976
3005
|
|
|
3006
|
+
// src/commands/zero/resource/index.ts
|
|
3007
|
+
function candidateIds(id) {
|
|
3008
|
+
if (id.includes(":")) {
|
|
3009
|
+
return [id];
|
|
3010
|
+
}
|
|
3011
|
+
return [
|
|
3012
|
+
`template:${id}`,
|
|
3013
|
+
`design-system:${id}`,
|
|
3014
|
+
`color-system:${id}`,
|
|
3015
|
+
`tool:${id}`,
|
|
3016
|
+
`image-style:${id}`,
|
|
3017
|
+
`video-template:${id}`
|
|
3018
|
+
];
|
|
3019
|
+
}
|
|
3020
|
+
function findRegistryResourceForPull(id) {
|
|
3021
|
+
for (const candidate of candidateIds(id)) {
|
|
3022
|
+
const entry = findTemplate(candidate) ?? findDesignSystem(candidate) ?? findColorSystem(candidate) ?? findTool(candidate) ?? findImageStyle(candidate) ?? findVideoTemplate(candidate) ?? findPresentationRunbookResource(candidate) ?? findWebsiteTemplateResource(candidate);
|
|
3023
|
+
if (entry) {
|
|
3024
|
+
return entry;
|
|
3025
|
+
}
|
|
3026
|
+
}
|
|
3027
|
+
return void 0;
|
|
3028
|
+
}
|
|
3029
|
+
function isSafeTarPath(entryPath) {
|
|
3030
|
+
const normalized = entryPath.replace(/\\/gu, "/");
|
|
3031
|
+
return !path.isAbsolute(normalized) && !normalized.split("/").some((segment) => {
|
|
3032
|
+
return segment === "..";
|
|
3033
|
+
});
|
|
3034
|
+
}
|
|
3035
|
+
async function downloadArchive(url) {
|
|
3036
|
+
const response = await fetch(url);
|
|
3037
|
+
if (!response.ok) {
|
|
3038
|
+
throw new Error(`Resource archive download failed: ${response.status}`);
|
|
3039
|
+
}
|
|
3040
|
+
return Buffer.from(await response.arrayBuffer());
|
|
3041
|
+
}
|
|
3042
|
+
function verifyArchive(buffer, expectedSha256) {
|
|
3043
|
+
const actual = createHash("sha256").update(buffer).digest("hex");
|
|
3044
|
+
if (actual !== expectedSha256) {
|
|
3045
|
+
throw new Error(
|
|
3046
|
+
`Resource archive digest mismatch: expected ${expectedSha256}, got ${actual}`
|
|
3047
|
+
);
|
|
3048
|
+
}
|
|
3049
|
+
}
|
|
3050
|
+
var zeroResourceCommand = new Command().name("resource").description("Pull registry resources from private R2-backed archives").addCommand(
|
|
3051
|
+
new Command().name("pull").description("Download and extract a private registry resource archive").argument(
|
|
3052
|
+
"<id>",
|
|
3053
|
+
"Registry resource id, such as template:html-ppt-playful-launch-runbook"
|
|
3054
|
+
).option(
|
|
3055
|
+
"--dir <path>",
|
|
3056
|
+
"Directory to extract into",
|
|
3057
|
+
"./generated/resources"
|
|
3058
|
+
).action(
|
|
3059
|
+
withErrorHandler(async (id, options) => {
|
|
3060
|
+
const entry = findRegistryResourceForPull(id);
|
|
3061
|
+
if (!entry) {
|
|
3062
|
+
throw new Error(`Unknown registry resource: ${id}`);
|
|
3063
|
+
}
|
|
3064
|
+
const archive = entry.source.archive;
|
|
3065
|
+
if (!archive) {
|
|
3066
|
+
throw new Error(
|
|
3067
|
+
`Registry resource ${entry.id} does not provide an R2 archive source`
|
|
3068
|
+
);
|
|
3069
|
+
}
|
|
3070
|
+
console.log(source_default.dim(`Pulling ${entry.id}...`));
|
|
3071
|
+
const download = await getRegistryResourceDownload({
|
|
3072
|
+
id: entry.id,
|
|
3073
|
+
expectedSha256: archive.sha256
|
|
3074
|
+
});
|
|
3075
|
+
if (download.sha256 !== archive.sha256) {
|
|
3076
|
+
throw new Error(
|
|
3077
|
+
`Resource archive digest metadata mismatch: expected ${archive.sha256}, got ${download.sha256}`
|
|
3078
|
+
);
|
|
3079
|
+
}
|
|
3080
|
+
const buffer = await downloadArchive(download.url);
|
|
3081
|
+
verifyArchive(buffer, archive.sha256);
|
|
3082
|
+
const outputDir = path.resolve(options.dir);
|
|
3083
|
+
const tmpDir = await mkdtemp(path.join(tmpdir(), "zero-resource-"));
|
|
3084
|
+
const archivePath = path.join(tmpDir, "resource.tar.gz");
|
|
3085
|
+
await mkdir(outputDir, { recursive: true });
|
|
3086
|
+
await writeFile(archivePath, buffer);
|
|
3087
|
+
try {
|
|
3088
|
+
await So({
|
|
3089
|
+
file: archivePath,
|
|
3090
|
+
cwd: outputDir,
|
|
3091
|
+
gzip: true,
|
|
3092
|
+
filter: isSafeTarPath
|
|
3093
|
+
});
|
|
3094
|
+
} finally {
|
|
3095
|
+
await rm(tmpDir, { recursive: true, force: true });
|
|
3096
|
+
}
|
|
3097
|
+
console.log(source_default.green(`\u2713 Pulled ${entry.id}`));
|
|
3098
|
+
console.log(source_default.dim(` Extracted to: ${outputDir}`));
|
|
3099
|
+
console.log(
|
|
3100
|
+
source_default.dim(
|
|
3101
|
+
` Source path: ${path.join(outputDir, entry.source.path)}`
|
|
3102
|
+
)
|
|
3103
|
+
);
|
|
3104
|
+
})
|
|
3105
|
+
)
|
|
3106
|
+
);
|
|
2977
3107
|
export {
|
|
2978
|
-
|
|
2979
|
-
|
|
2980
|
-
So
|
|
3108
|
+
findRegistryResourceForPull,
|
|
3109
|
+
zeroResourceCommand
|
|
2981
3110
|
};
|
|
2982
|
-
//# sourceMappingURL=
|
|
3111
|
+
//# sourceMappingURL=resource-EOO2VATC.js.map
|