@vm0/cli 9.241.7 → 9.241.9
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-GCB6KIVM.js → agent-YCTYPYF7.js} +5 -5
- package/{banking-7ZHMYNY3.js → banking-RWPXPGOY.js} +3 -3
- package/{chat-3MPFZX2H.js → chat-XWVVRA3Q.js} +4 -4
- package/{chunk-ZLWWY6LH.js → chunk-43Q6LJ4M.js} +2 -2
- package/{chunk-W6OJY7IX.js → chunk-D7WBYCFZ.js} +2 -2
- package/{chunk-74K2DHPM.js → chunk-DCY7MYWI.js} +168 -169
- package/chunk-DCY7MYWI.js.map +1 -0
- package/{chunk-MG65P5SV.js → chunk-G2NMGFMS.js} +4 -4
- package/{chunk-KYKDHMRW.js → chunk-GJ2YK4RB.js} +2 -2
- package/{chunk-HCSK2SC7.js → chunk-HYARATBX.js} +2 -2
- package/{chunk-GND62LDP.js → chunk-JZD2ALHL.js} +3 -3
- package/{chunk-GGSXTOLM.js → chunk-N55TLKMY.js} +4 -4
- package/{chunk-KNATFPLD.js → chunk-PM36DYSC.js} +19 -1408
- package/chunk-PM36DYSC.js.map +1 -0
- package/{chunk-AMJAGFT7.js → chunk-XG3T3KKC.js} +9 -2
- package/chunk-XG3T3KKC.js.map +1 -0
- package/{computer-use-BD7QLU5Z.js → computer-use-AJ4LM52W.js} +3 -3
- package/{connector-T2LTMZ6Q.js → connector-RBJZ3XJO.js} +5 -5
- package/{credit-DX6NIRUV.js → credit-QS7QUF3Q.js} +4 -4
- package/{developer-support-SP56NSTB.js → developer-support-QIN7JTGZ.js} +3 -3
- package/{doctor-32RBQ2VC.js → doctor-PGH6KBWK.js} +5 -5
- package/{generate-HFXHRZRA.js → generate-VGPYBDHG.js} +4 -4
- package/{github-QJ42LNUG.js → github-DBVCDROM.js} +3 -3
- package/{goal-XYHZLRA2.js → goal-VZEI2OD2.js} +3 -3
- package/{host-ULVM7XLM.js → host-35I2D3WT.js} +3 -3
- package/index.js +12 -12
- package/{logs-NNNCGXPE.js → logs-SW5VAI54.js} +5 -5
- package/{mail-YONA4DQI.js → mail-YYSSPGP2.js} +5 -5
- package/{maps-2W6ALLHT.js → maps-DIQSL73V.js} +3 -3
- package/{model-ELBPMGL4.js → model-ZFYWBWJ3.js} +4 -4
- package/{model-provider-OH23775G.js → model-provider-7MXIPGCL.js} +4 -4
- package/{org-LDTBCSFG.js → org-E2T6M6MN.js} +3 -3
- package/package.json +1 -1
- package/{phone-TDR66WMI.js → phone-KKPDS6J3.js} +3 -3
- package/{preference-GXRMWCAX.js → preference-MUE7N3MZ.js} +3 -3
- package/{resource-P6VHQL27.js → resource-3HUMK4UE.js} +3 -3
- package/{scrape-O4S5ACVS.js → scrape-HH5G742T.js} +3 -3
- package/{search-KRBPB3Y2.js → search-JSTRJBHA.js} +5 -5
- package/{secret-MLMXT45G.js → secret-PH5S7HXR.js} +3 -3
- package/{slack-5WOEG5Y2.js → slack-5HWY6WME.js} +3 -3
- package/{teams-3UB7KFWZ.js → teams-DJVOFNO6.js} +3 -3
- package/{telegram-RDXCA44O.js → telegram-3IPXE4FT.js} +3 -3
- package/{variable-6WZ3JDYV.js → variable-XC2BRIE4.js} +3 -3
- package/{video-ZHQAWCKQ.js → video-SAEKMO5Q.js} +2 -2
- package/{web-GTXX2MVX.js → web-GEEMEX3J.js} +3 -3
- package/{web-search-YUVFXIAT.js → web-search-DLAG55F2.js} +3 -3
- package/{whoami-KGJ37MWP.js → whoami-EPCOG5DN.js} +5 -5
- package/{workflow-GQFEGC5L.js → workflow-VS75PBYU.js} +3 -3
- package/zero.js +35 -52
- package/zero.js.map +1 -1
- package/chunk-74K2DHPM.js.map +0 -1
- package/chunk-AMJAGFT7.js.map +0 -1
- package/chunk-KNATFPLD.js.map +0 -1
- package/memory-XRUIDTIV.js +0 -638
- package/memory-XRUIDTIV.js.map +0 -1
- package/relationship-2MRA6LEY.js +0 -186
- package/relationship-2MRA6LEY.js.map +0 -1
- /package/{agent-GCB6KIVM.js.map → agent-YCTYPYF7.js.map} +0 -0
- /package/{banking-7ZHMYNY3.js.map → banking-RWPXPGOY.js.map} +0 -0
- /package/{chat-3MPFZX2H.js.map → chat-XWVVRA3Q.js.map} +0 -0
- /package/{chunk-ZLWWY6LH.js.map → chunk-43Q6LJ4M.js.map} +0 -0
- /package/{chunk-W6OJY7IX.js.map → chunk-D7WBYCFZ.js.map} +0 -0
- /package/{chunk-MG65P5SV.js.map → chunk-G2NMGFMS.js.map} +0 -0
- /package/{chunk-KYKDHMRW.js.map → chunk-GJ2YK4RB.js.map} +0 -0
- /package/{chunk-HCSK2SC7.js.map → chunk-HYARATBX.js.map} +0 -0
- /package/{chunk-GND62LDP.js.map → chunk-JZD2ALHL.js.map} +0 -0
- /package/{chunk-GGSXTOLM.js.map → chunk-N55TLKMY.js.map} +0 -0
- /package/{computer-use-BD7QLU5Z.js.map → computer-use-AJ4LM52W.js.map} +0 -0
- /package/{connector-T2LTMZ6Q.js.map → connector-RBJZ3XJO.js.map} +0 -0
- /package/{credit-DX6NIRUV.js.map → credit-QS7QUF3Q.js.map} +0 -0
- /package/{developer-support-SP56NSTB.js.map → developer-support-QIN7JTGZ.js.map} +0 -0
- /package/{doctor-32RBQ2VC.js.map → doctor-PGH6KBWK.js.map} +0 -0
- /package/{generate-HFXHRZRA.js.map → generate-VGPYBDHG.js.map} +0 -0
- /package/{github-QJ42LNUG.js.map → github-DBVCDROM.js.map} +0 -0
- /package/{goal-XYHZLRA2.js.map → goal-VZEI2OD2.js.map} +0 -0
- /package/{host-ULVM7XLM.js.map → host-35I2D3WT.js.map} +0 -0
- /package/{logs-NNNCGXPE.js.map → logs-SW5VAI54.js.map} +0 -0
- /package/{mail-YONA4DQI.js.map → mail-YYSSPGP2.js.map} +0 -0
- /package/{maps-2W6ALLHT.js.map → maps-DIQSL73V.js.map} +0 -0
- /package/{model-ELBPMGL4.js.map → model-ZFYWBWJ3.js.map} +0 -0
- /package/{model-provider-OH23775G.js.map → model-provider-7MXIPGCL.js.map} +0 -0
- /package/{org-LDTBCSFG.js.map → org-E2T6M6MN.js.map} +0 -0
- /package/{phone-TDR66WMI.js.map → phone-KKPDS6J3.js.map} +0 -0
- /package/{preference-GXRMWCAX.js.map → preference-MUE7N3MZ.js.map} +0 -0
- /package/{resource-P6VHQL27.js.map → resource-3HUMK4UE.js.map} +0 -0
- /package/{scrape-O4S5ACVS.js.map → scrape-HH5G742T.js.map} +0 -0
- /package/{search-KRBPB3Y2.js.map → search-JSTRJBHA.js.map} +0 -0
- /package/{secret-MLMXT45G.js.map → secret-PH5S7HXR.js.map} +0 -0
- /package/{slack-5WOEG5Y2.js.map → slack-5HWY6WME.js.map} +0 -0
- /package/{teams-3UB7KFWZ.js.map → teams-DJVOFNO6.js.map} +0 -0
- /package/{telegram-RDXCA44O.js.map → telegram-3IPXE4FT.js.map} +0 -0
- /package/{variable-6WZ3JDYV.js.map → variable-XC2BRIE4.js.map} +0 -0
- /package/{video-ZHQAWCKQ.js.map → video-SAEKMO5Q.js.map} +0 -0
- /package/{web-GTXX2MVX.js.map → web-GEEMEX3J.js.map} +0 -0
- /package/{web-search-YUVFXIAT.js.map → web-search-DLAG55F2.js.map} +0 -0
- /package/{whoami-KGJ37MWP.js.map → whoami-EPCOG5DN.js.map} +0 -0
- /package/{workflow-GQFEGC5L.js.map → workflow-VS75PBYU.js.map} +0 -0
|
@@ -6,12 +6,12 @@ import {
|
|
|
6
6
|
downloadTeamsFile,
|
|
7
7
|
initTeamsFileUpload,
|
|
8
8
|
sendTeamsMessage
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-PM36DYSC.js";
|
|
10
10
|
import "./chunk-LTDQISD7.js";
|
|
11
11
|
import {
|
|
12
12
|
source_default,
|
|
13
13
|
withErrorHandler
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-XG3T3KKC.js";
|
|
15
15
|
import "./chunk-LRHXR7JT.js";
|
|
16
16
|
import {
|
|
17
17
|
Command
|
|
@@ -279,4 +279,4 @@ Examples:
|
|
|
279
279
|
export {
|
|
280
280
|
zeroTeamsCommand
|
|
281
281
|
};
|
|
282
|
-
//# sourceMappingURL=teams-
|
|
282
|
+
//# sourceMappingURL=teams-DJVOFNO6.js.map
|
|
@@ -7,12 +7,12 @@ import {
|
|
|
7
7
|
initTelegramFileUpload,
|
|
8
8
|
listTelegramBots,
|
|
9
9
|
sendTelegramMessage
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-PM36DYSC.js";
|
|
11
11
|
import "./chunk-LTDQISD7.js";
|
|
12
12
|
import {
|
|
13
13
|
source_default,
|
|
14
14
|
withErrorHandler
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-XG3T3KKC.js";
|
|
16
16
|
import "./chunk-LRHXR7JT.js";
|
|
17
17
|
import {
|
|
18
18
|
Command
|
|
@@ -333,4 +333,4 @@ Examples:
|
|
|
333
333
|
export {
|
|
334
334
|
zeroTelegramCommand
|
|
335
335
|
};
|
|
336
|
-
//# sourceMappingURL=telegram-
|
|
336
|
+
//# sourceMappingURL=telegram-3IPXE4FT.js.map
|
|
@@ -9,12 +9,12 @@ import {
|
|
|
9
9
|
deleteZeroVariable,
|
|
10
10
|
listZeroVariables,
|
|
11
11
|
setZeroVariable
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-PM36DYSC.js";
|
|
13
13
|
import "./chunk-LTDQISD7.js";
|
|
14
14
|
import {
|
|
15
15
|
source_default,
|
|
16
16
|
withErrorHandler
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-XG3T3KKC.js";
|
|
18
18
|
import "./chunk-LRHXR7JT.js";
|
|
19
19
|
import {
|
|
20
20
|
Command
|
|
@@ -115,4 +115,4 @@ var zeroVariableCommand = new Command().name("variable").description("Read or wr
|
|
|
115
115
|
export {
|
|
116
116
|
zeroVariableCommand
|
|
117
117
|
};
|
|
118
|
-
//# sourceMappingURL=variable-
|
|
118
|
+
//# sourceMappingURL=variable-XC2BRIE4.js.map
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
downloadWebFile,
|
|
7
7
|
transcribeAudio,
|
|
8
8
|
withErrorHandler
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-XG3T3KKC.js";
|
|
10
10
|
import "./chunk-LRHXR7JT.js";
|
|
11
11
|
import {
|
|
12
12
|
Command
|
|
@@ -245,4 +245,4 @@ Tip (video understanding):
|
|
|
245
245
|
export {
|
|
246
246
|
zeroVideoCommand
|
|
247
247
|
};
|
|
248
|
-
//# sourceMappingURL=video-
|
|
248
|
+
//# sourceMappingURL=video-SAEKMO5Q.js.map
|
|
@@ -1,13 +1,13 @@
|
|
|
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 "./chunk-
|
|
4
|
+
import "./chunk-PM36DYSC.js";
|
|
5
5
|
import "./chunk-LTDQISD7.js";
|
|
6
6
|
import {
|
|
7
7
|
downloadWebFile,
|
|
8
8
|
uploadWebFile,
|
|
9
9
|
withErrorHandler
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-XG3T3KKC.js";
|
|
11
11
|
import "./chunk-LRHXR7JT.js";
|
|
12
12
|
import {
|
|
13
13
|
Command
|
|
@@ -105,4 +105,4 @@ Examples:
|
|
|
105
105
|
export {
|
|
106
106
|
zeroWebCommand
|
|
107
107
|
};
|
|
108
|
-
//# sourceMappingURL=web-
|
|
108
|
+
//# sourceMappingURL=web-GEEMEX3J.js.map
|
|
@@ -9,12 +9,12 @@ import {
|
|
|
9
9
|
zeroWebSearchDomainSchema,
|
|
10
10
|
zeroWebSearchRecencySchema,
|
|
11
11
|
zeroWebSearchRequestSchema
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-PM36DYSC.js";
|
|
13
13
|
import "./chunk-LTDQISD7.js";
|
|
14
14
|
import {
|
|
15
15
|
source_default,
|
|
16
16
|
withErrorHandler
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-XG3T3KKC.js";
|
|
18
18
|
import "./chunk-LRHXR7JT.js";
|
|
19
19
|
import {
|
|
20
20
|
Command,
|
|
@@ -147,4 +147,4 @@ Notes:
|
|
|
147
147
|
export {
|
|
148
148
|
zeroWebSearchCommand
|
|
149
149
|
};
|
|
150
|
-
//# sourceMappingURL=web-search-
|
|
150
|
+
//# sourceMappingURL=web-search-DLAG55F2.js.map
|
|
@@ -4,15 +4,15 @@ const require = __createRequire(import.meta.url);
|
|
|
4
4
|
import {
|
|
5
5
|
loadConnectorPermissionInfos,
|
|
6
6
|
policyIcon
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-G2NMGFMS.js";
|
|
8
8
|
import {
|
|
9
9
|
permissionGrantsToFirewallPolicies
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-HYARATBX.js";
|
|
11
11
|
import {
|
|
12
12
|
getZeroAgentUserConnectors,
|
|
13
13
|
listZeroConnectors,
|
|
14
14
|
listZeroUserPermissionGrants
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-PM36DYSC.js";
|
|
16
16
|
import "./chunk-LTDQISD7.js";
|
|
17
17
|
import {
|
|
18
18
|
getActiveOrg,
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
getToken,
|
|
21
21
|
source_default,
|
|
22
22
|
withErrorHandler
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-XG3T3KKC.js";
|
|
24
24
|
import {
|
|
25
25
|
decodeZeroTokenPayload
|
|
26
26
|
} from "./chunk-LRHXR7JT.js";
|
|
@@ -190,4 +190,4 @@ Notes:
|
|
|
190
190
|
export {
|
|
191
191
|
zeroWhoamiCommand
|
|
192
192
|
};
|
|
193
|
-
//# sourceMappingURL=whoami-
|
|
193
|
+
//# sourceMappingURL=whoami-EPCOG5DN.js.map
|
|
@@ -19,12 +19,12 @@ import {
|
|
|
19
19
|
listWorkflows,
|
|
20
20
|
updateWorkflow,
|
|
21
21
|
updateWorkflowAutomation
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-PM36DYSC.js";
|
|
23
23
|
import "./chunk-LTDQISD7.js";
|
|
24
24
|
import {
|
|
25
25
|
source_default,
|
|
26
26
|
withErrorHandler
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-XG3T3KKC.js";
|
|
28
28
|
import "./chunk-LRHXR7JT.js";
|
|
29
29
|
import {
|
|
30
30
|
Command
|
|
@@ -1773,4 +1773,4 @@ Examples:
|
|
|
1773
1773
|
export {
|
|
1774
1774
|
zeroWorkflowCommand
|
|
1775
1775
|
};
|
|
1776
|
-
//# sourceMappingURL=workflow-
|
|
1776
|
+
//# sourceMappingURL=workflow-VS75PBYU.js.map
|
package/zero.js
CHANGED
|
@@ -3,7 +3,7 @@ import { createRequire as __createRequire } from "node:module";
|
|
|
3
3
|
const require = __createRequire(import.meta.url);
|
|
4
4
|
import {
|
|
5
5
|
configureGlobalProxyFromEnv
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-JZD2ALHL.js";
|
|
7
7
|
import {
|
|
8
8
|
decodeZeroTokenPayload
|
|
9
9
|
} from "./chunk-LRHXR7JT.js";
|
|
@@ -22,8 +22,6 @@ var COMMAND_CAPABILITY_MAP = {
|
|
|
22
22
|
goal: ["goal:read", "goal:agent-result:write", "goal:user-control:write"],
|
|
23
23
|
connector: "connector:read",
|
|
24
24
|
mail: "connector:read",
|
|
25
|
-
memory: "relationship:read",
|
|
26
|
-
relationship: "relationship:read",
|
|
27
25
|
doctor: null,
|
|
28
26
|
credit: ["billing:read", "billing:write"],
|
|
29
27
|
model: null,
|
|
@@ -55,161 +53,147 @@ var ZERO_COMMAND_DEFINITIONS = [
|
|
|
55
53
|
name: "org",
|
|
56
54
|
description: "Manage organization settings, members, and providers",
|
|
57
55
|
load: async () => {
|
|
58
|
-
return (await import("./org-
|
|
56
|
+
return (await import("./org-E2T6M6MN.js")).zeroOrgCommand;
|
|
59
57
|
}
|
|
60
58
|
},
|
|
61
59
|
{
|
|
62
60
|
name: "model",
|
|
63
61
|
description: "List available models and model-switching guidance",
|
|
64
62
|
load: async () => {
|
|
65
|
-
return (await import("./model-
|
|
63
|
+
return (await import("./model-ZFYWBWJ3.js")).zeroModelCommand;
|
|
66
64
|
}
|
|
67
65
|
},
|
|
68
66
|
{
|
|
69
67
|
name: "model-provider",
|
|
70
68
|
description: "Inspect model provider routing",
|
|
71
69
|
load: async () => {
|
|
72
|
-
return (await import("./model-provider-
|
|
70
|
+
return (await import("./model-provider-7MXIPGCL.js")).zeroModelProviderCommand;
|
|
73
71
|
}
|
|
74
72
|
},
|
|
75
73
|
{
|
|
76
74
|
name: "agent",
|
|
77
75
|
description: "View or manage zero agents",
|
|
78
76
|
load: async () => {
|
|
79
|
-
return (await import("./agent-
|
|
77
|
+
return (await import("./agent-YCTYPYF7.js")).zeroAgentCommand;
|
|
80
78
|
}
|
|
81
79
|
},
|
|
82
80
|
{
|
|
83
81
|
name: "connector",
|
|
84
82
|
description: "Check third-party service connections (GitHub, Slack, etc.)",
|
|
85
83
|
load: async () => {
|
|
86
|
-
return (await import("./connector-
|
|
84
|
+
return (await import("./connector-RBJZ3XJO.js")).zeroConnectorCommand;
|
|
87
85
|
}
|
|
88
86
|
},
|
|
89
87
|
{
|
|
90
88
|
name: "mail",
|
|
91
89
|
description: "Review and send mail through Gmail or Outlook Mail",
|
|
92
90
|
load: async () => {
|
|
93
|
-
return (await import("./mail-
|
|
94
|
-
}
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
name: "relationship",
|
|
98
|
-
description: "Query relationship memory",
|
|
99
|
-
load: async () => {
|
|
100
|
-
return (await import("./relationship-2MRA6LEY.js")).zeroRelationshipCommand;
|
|
101
|
-
}
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
name: "memory",
|
|
105
|
-
description: "Recall structured memory",
|
|
106
|
-
load: async () => {
|
|
107
|
-
return (await import("./memory-XRUIDTIV.js")).zeroMemoryCommand;
|
|
91
|
+
return (await import("./mail-YYSSPGP2.js")).zeroMailCommand;
|
|
108
92
|
}
|
|
109
93
|
},
|
|
110
94
|
{
|
|
111
95
|
name: "credit",
|
|
112
96
|
description: "View or buy credits",
|
|
113
97
|
load: async () => {
|
|
114
|
-
return (await import("./credit-
|
|
98
|
+
return (await import("./credit-QS7QUF3Q.js")).zeroCreditCommand;
|
|
115
99
|
}
|
|
116
100
|
},
|
|
117
101
|
{
|
|
118
102
|
name: "doctor",
|
|
119
103
|
description: "Diagnose runtime issues (connector health, permission denials)",
|
|
120
104
|
load: async () => {
|
|
121
|
-
return (await import("./doctor-
|
|
105
|
+
return (await import("./doctor-PGH6KBWK.js")).zeroDoctorCommand;
|
|
122
106
|
}
|
|
123
107
|
},
|
|
124
108
|
{
|
|
125
109
|
name: "preference",
|
|
126
110
|
description: "View or update user preferences (timezone, notifications)",
|
|
127
111
|
load: async () => {
|
|
128
|
-
return (await import("./preference-
|
|
112
|
+
return (await import("./preference-MUE7N3MZ.js")).zeroPreferenceCommand;
|
|
129
113
|
}
|
|
130
114
|
},
|
|
131
115
|
{
|
|
132
116
|
name: "secret",
|
|
133
117
|
description: "Read or write secrets (API keys, tokens)",
|
|
134
118
|
load: async () => {
|
|
135
|
-
return (await import("./secret-
|
|
119
|
+
return (await import("./secret-PH5S7HXR.js")).zeroSecretCommand;
|
|
136
120
|
}
|
|
137
121
|
},
|
|
138
122
|
{
|
|
139
123
|
name: "github",
|
|
140
124
|
description: "Upload and download GitHub files",
|
|
141
125
|
load: async () => {
|
|
142
|
-
return (await import("./github-
|
|
126
|
+
return (await import("./github-DBVCDROM.js")).zeroGithubCommand;
|
|
143
127
|
}
|
|
144
128
|
},
|
|
145
129
|
{
|
|
146
130
|
name: "slack",
|
|
147
131
|
description: "Send messages, upload files, and download files from Slack as the bot",
|
|
148
132
|
load: async () => {
|
|
149
|
-
return (await import("./slack-
|
|
133
|
+
return (await import("./slack-5HWY6WME.js")).zeroSlackCommand;
|
|
150
134
|
}
|
|
151
135
|
},
|
|
152
136
|
{
|
|
153
137
|
name: "teams",
|
|
154
138
|
description: "Send Microsoft Teams messages, upload files, and download files",
|
|
155
139
|
load: async () => {
|
|
156
|
-
return (await import("./teams-
|
|
140
|
+
return (await import("./teams-DJVOFNO6.js")).zeroTeamsCommand;
|
|
157
141
|
}
|
|
158
142
|
},
|
|
159
143
|
{
|
|
160
144
|
name: "telegram",
|
|
161
145
|
description: "Inspect bots, send messages, upload files, and download files from Telegram",
|
|
162
146
|
load: async () => {
|
|
163
|
-
return (await import("./telegram-
|
|
147
|
+
return (await import("./telegram-3IPXE4FT.js")).zeroTelegramCommand;
|
|
164
148
|
}
|
|
165
149
|
},
|
|
166
150
|
{
|
|
167
151
|
name: "phone",
|
|
168
152
|
description: "Send AgentPhone messages, upload files, and download media",
|
|
169
153
|
load: async () => {
|
|
170
|
-
return (await import("./phone-
|
|
154
|
+
return (await import("./phone-KKPDS6J3.js")).zeroPhoneCommand;
|
|
171
155
|
}
|
|
172
156
|
},
|
|
173
157
|
{
|
|
174
158
|
name: "variable",
|
|
175
159
|
description: "Read or write non-sensitive configuration values",
|
|
176
160
|
load: async () => {
|
|
177
|
-
return (await import("./variable-
|
|
161
|
+
return (await import("./variable-XC2BRIE4.js")).zeroVariableCommand;
|
|
178
162
|
}
|
|
179
163
|
},
|
|
180
164
|
{
|
|
181
165
|
name: "logs",
|
|
182
166
|
description: "View and search agent run logs",
|
|
183
167
|
load: async () => {
|
|
184
|
-
return (await import("./logs-
|
|
168
|
+
return (await import("./logs-SW5VAI54.js")).zeroLogsCommand;
|
|
185
169
|
}
|
|
186
170
|
},
|
|
187
171
|
{
|
|
188
172
|
name: "search",
|
|
189
173
|
description: "Search logs, chat, or get a recipe for external sources",
|
|
190
174
|
load: async () => {
|
|
191
|
-
return (await import("./search-
|
|
175
|
+
return (await import("./search-JSTRJBHA.js")).zeroSearchCommand;
|
|
192
176
|
}
|
|
193
177
|
},
|
|
194
178
|
{
|
|
195
179
|
name: "chat",
|
|
196
180
|
description: "Manage the current web chat thread",
|
|
197
181
|
load: async () => {
|
|
198
|
-
return (await import("./chat-
|
|
182
|
+
return (await import("./chat-XWVVRA3Q.js")).zeroChatCommand;
|
|
199
183
|
}
|
|
200
184
|
},
|
|
201
185
|
{
|
|
202
186
|
name: "resource",
|
|
203
187
|
description: "Pull registry resources from private R2-backed archives",
|
|
204
188
|
load: async () => {
|
|
205
|
-
return (await import("./resource-
|
|
189
|
+
return (await import("./resource-3HUMK4UE.js")).zeroResourceCommand;
|
|
206
190
|
}
|
|
207
191
|
},
|
|
208
192
|
{
|
|
209
193
|
name: "whoami",
|
|
210
194
|
description: "Show agent identity, run ID, and capabilities",
|
|
211
195
|
load: async () => {
|
|
212
|
-
return (await import("./whoami-
|
|
196
|
+
return (await import("./whoami-EPCOG5DN.js")).zeroWhoamiCommand;
|
|
213
197
|
}
|
|
214
198
|
},
|
|
215
199
|
{
|
|
@@ -223,84 +207,84 @@ var ZERO_COMMAND_DEFINITIONS = [
|
|
|
223
207
|
name: "workflow",
|
|
224
208
|
description: "Manage workflows",
|
|
225
209
|
load: async () => {
|
|
226
|
-
return (await import("./workflow-
|
|
210
|
+
return (await import("./workflow-VS75PBYU.js")).zeroWorkflowCommand;
|
|
227
211
|
}
|
|
228
212
|
},
|
|
229
213
|
{
|
|
230
214
|
name: "goal",
|
|
231
215
|
description: "Manage the current thread goal",
|
|
232
216
|
load: async () => {
|
|
233
|
-
return (await import("./goal-
|
|
217
|
+
return (await import("./goal-VZEI2OD2.js")).zeroGoalCommand;
|
|
234
218
|
}
|
|
235
219
|
},
|
|
236
220
|
{
|
|
237
221
|
name: "developer-support",
|
|
238
222
|
description: "Submit a diagnostic report to the dev team",
|
|
239
223
|
load: async () => {
|
|
240
|
-
return (await import("./developer-support-
|
|
224
|
+
return (await import("./developer-support-QIN7JTGZ.js")).zeroDeveloperSupportCommand;
|
|
241
225
|
}
|
|
242
226
|
},
|
|
243
227
|
{
|
|
244
228
|
name: "computer-use",
|
|
245
229
|
description: "Desktop app computer use through Zero CLI",
|
|
246
230
|
load: async () => {
|
|
247
|
-
return (await import("./computer-use-
|
|
231
|
+
return (await import("./computer-use-AJ4LM52W.js")).zeroComputerUseCommand;
|
|
248
232
|
}
|
|
249
233
|
},
|
|
250
234
|
{
|
|
251
235
|
name: "generate",
|
|
252
236
|
description: "Generate assets via vm0's built-in pipelines or get connector skill-invocation guidance",
|
|
253
237
|
load: async () => {
|
|
254
|
-
return (await import("./generate-
|
|
238
|
+
return (await import("./generate-VGPYBDHG.js")).generateCommand;
|
|
255
239
|
}
|
|
256
240
|
},
|
|
257
241
|
{
|
|
258
242
|
name: "web",
|
|
259
243
|
description: "Upload and download files via the web chat endpoint",
|
|
260
244
|
load: async () => {
|
|
261
|
-
return (await import("./web-
|
|
245
|
+
return (await import("./web-GEEMEX3J.js")).zeroWebCommand;
|
|
262
246
|
}
|
|
263
247
|
},
|
|
264
248
|
{
|
|
265
249
|
name: "video",
|
|
266
250
|
description: "Video processing utilities",
|
|
267
251
|
load: async () => {
|
|
268
|
-
return (await import("./video-
|
|
252
|
+
return (await import("./video-SAEKMO5Q.js")).zeroVideoCommand;
|
|
269
253
|
}
|
|
270
254
|
},
|
|
271
255
|
{
|
|
272
256
|
name: "host",
|
|
273
257
|
description: "Publish static sites and clone owned hosted site files",
|
|
274
258
|
load: async () => {
|
|
275
|
-
return (await import("./host-
|
|
259
|
+
return (await import("./host-35I2D3WT.js")).zeroHostCommand;
|
|
276
260
|
}
|
|
277
261
|
},
|
|
278
262
|
{
|
|
279
263
|
name: "maps",
|
|
280
264
|
description: "Use managed zero maps services",
|
|
281
265
|
load: async () => {
|
|
282
|
-
return (await import("./maps-
|
|
266
|
+
return (await import("./maps-DIQSL73V.js")).zeroMapsCommand;
|
|
283
267
|
}
|
|
284
268
|
},
|
|
285
269
|
{
|
|
286
270
|
name: "scrape",
|
|
287
271
|
description: "Scrape public web pages through managed zero scrape",
|
|
288
272
|
load: async () => {
|
|
289
|
-
return (await import("./scrape-
|
|
273
|
+
return (await import("./scrape-HH5G742T.js")).zeroScrapeCommand;
|
|
290
274
|
}
|
|
291
275
|
},
|
|
292
276
|
{
|
|
293
277
|
name: "web-search",
|
|
294
278
|
description: "Search the public web through managed zero web search",
|
|
295
279
|
load: async () => {
|
|
296
|
-
return (await import("./web-search-
|
|
280
|
+
return (await import("./web-search-DLAG55F2.js")).zeroWebSearchCommand;
|
|
297
281
|
}
|
|
298
282
|
},
|
|
299
283
|
{
|
|
300
284
|
name: "banking",
|
|
301
285
|
description: "Use managed zero banking services",
|
|
302
286
|
load: async () => {
|
|
303
|
-
return (await import("./banking-
|
|
287
|
+
return (await import("./banking-RWPXPGOY.js")).zeroBankingCommand;
|
|
304
288
|
}
|
|
305
289
|
}
|
|
306
290
|
];
|
|
@@ -386,7 +370,6 @@ function buildZeroHelpText(payload = decodeZeroTokenPayload()) {
|
|
|
386
370
|
" Update yourself? zero agent --help",
|
|
387
371
|
" Manage workflows? zero workflow --help",
|
|
388
372
|
...shouldHideCommand("chat", payload) ? [] : [' Rename this chat? zero chat rename "New title"'],
|
|
389
|
-
...shouldHideCommand("memory", payload) ? [] : [' Recall memory? zero memory recall "customer follow up"'],
|
|
390
373
|
" Introduce Zero? zero intro",
|
|
391
374
|
" List generators? zero generate --help",
|
|
392
375
|
' Generate image? zero generate image --raw-prompt "..."',
|
|
@@ -416,7 +399,7 @@ function registerZeroCommands(prog, commands) {
|
|
|
416
399
|
var program = new Command();
|
|
417
400
|
program.name("zero").description(
|
|
418
401
|
"Zero CLI \u2014 interact with the zero platform from inside the sandbox"
|
|
419
|
-
).version("9.241.
|
|
402
|
+
).version("9.241.9").addHelpText("after", () => {
|
|
420
403
|
return buildZeroHelpText();
|
|
421
404
|
});
|
|
422
405
|
if (process.argv[1]?.endsWith("zero.js") || process.argv[1]?.endsWith("zero.ts") || process.argv[1]?.endsWith("zero")) {
|
package/zero.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/zero.ts"],"sourcesContent":["// Zero CLI entry point - standalone binary for zero platform commands\n// Sentry must be initialized before any other imports\nimport \"./instrument.js\";\nimport { Command } from \"commander\";\nimport { configureGlobalProxyFromEnv } from \"./lib/network/proxy.js\";\nimport {\n decodeZeroTokenPayload,\n type ZeroTokenPayload,\n} from \"./lib/api/zero-token.js\";\n\ninterface ZeroCommandDefinition {\n name: string;\n description: string;\n load: () => Promise<Command>;\n}\n\n/**\n * Map of command names to the capability required to see them.\n * Commands not in this map are hidden when ZERO_TOKEN is active.\n * Use an array when a top-level command has subcommands with different\n * capability gates and any one of them should make the command visible.\n * Use `null` for commands that should always be visible in sandbox.\n */\nconst COMMAND_CAPABILITY_MAP: Record<\n string,\n string | readonly string[] | null\n> = {\n agent: \"agent:read\",\n workflow: \"agent:read\",\n goal: [\"goal:read\", \"goal:agent-result:write\", \"goal:user-control:write\"],\n connector: \"connector:read\",\n mail: \"connector:read\",\n memory: \"relationship:read\",\n relationship: \"relationship:read\",\n doctor: null,\n credit: [\"billing:read\", \"billing:write\"],\n model: null,\n \"model-provider\": null,\n logs: \"agent-run:read\",\n search: \"chat-message:read\",\n chat: [\"chat-thread:read\", \"chat-thread:write\"],\n resource: null,\n github: [\"github:read\", \"github:write\"],\n slack: \"slack:write\",\n teams: \"teams:write\",\n telegram: [\"telegram:read\", \"telegram:write\"],\n phone: [\"phone:read\", \"phone:write\"],\n whoami: null,\n \"developer-support\": null,\n \"computer-use\": \"computer-use:write\",\n intro: null,\n generate: null,\n web: null,\n video: null,\n host: [\"host:read\", \"host:write\"],\n maps: \"maps:read\",\n scrape: \"scrape:read\",\n \"web-search\": \"web-search:read\",\n banking: \"banking:read\",\n};\n\nconst ZERO_COMMAND_DEFINITIONS: readonly ZeroCommandDefinition[] = [\n {\n name: \"org\",\n description: \"Manage organization settings, members, and providers\",\n load: async () => {\n return (await import(\"./commands/zero/org\")).zeroOrgCommand;\n },\n },\n {\n name: \"model\",\n description: \"List available models and model-switching guidance\",\n load: async () => {\n return (await import(\"./commands/zero/model\")).zeroModelCommand;\n },\n },\n {\n name: \"model-provider\",\n description: \"Inspect model provider routing\",\n load: async () => {\n return (await import(\"./commands/zero/model-provider\"))\n .zeroModelProviderCommand;\n },\n },\n {\n name: \"agent\",\n description: \"View or manage zero agents\",\n load: async () => {\n return (await import(\"./commands/zero/agent\")).zeroAgentCommand;\n },\n },\n {\n name: \"connector\",\n description: \"Check third-party service connections (GitHub, Slack, etc.)\",\n load: async () => {\n return (await import(\"./commands/zero/connector\")).zeroConnectorCommand;\n },\n },\n {\n name: \"mail\",\n description: \"Review and send mail through Gmail or Outlook Mail\",\n load: async () => {\n return (await import(\"./commands/zero/mail\")).zeroMailCommand;\n },\n },\n {\n name: \"relationship\",\n description: \"Query relationship memory\",\n load: async () => {\n return (await import(\"./commands/zero/relationship\"))\n .zeroRelationshipCommand;\n },\n },\n {\n name: \"memory\",\n description: \"Recall structured memory\",\n load: async () => {\n return (await import(\"./commands/zero/memory\")).zeroMemoryCommand;\n },\n },\n {\n name: \"credit\",\n description: \"View or buy credits\",\n load: async () => {\n return (await import(\"./commands/zero/credit\")).zeroCreditCommand;\n },\n },\n {\n name: \"doctor\",\n description:\n \"Diagnose runtime issues (connector health, permission denials)\",\n load: async () => {\n return (await import(\"./commands/zero/doctor\")).zeroDoctorCommand;\n },\n },\n {\n name: \"preference\",\n description: \"View or update user preferences (timezone, notifications)\",\n load: async () => {\n return (await import(\"./commands/zero/preference\")).zeroPreferenceCommand;\n },\n },\n {\n name: \"secret\",\n description: \"Read or write secrets (API keys, tokens)\",\n load: async () => {\n return (await import(\"./commands/zero/secret\")).zeroSecretCommand;\n },\n },\n {\n name: \"github\",\n description: \"Upload and download GitHub files\",\n load: async () => {\n return (await import(\"./commands/zero/github\")).zeroGithubCommand;\n },\n },\n {\n name: \"slack\",\n description:\n \"Send messages, upload files, and download files from Slack as the bot\",\n load: async () => {\n return (await import(\"./commands/zero/slack\")).zeroSlackCommand;\n },\n },\n {\n name: \"teams\",\n description:\n \"Send Microsoft Teams messages, upload files, and download files\",\n load: async () => {\n return (await import(\"./commands/zero/teams\")).zeroTeamsCommand;\n },\n },\n {\n name: \"telegram\",\n description:\n \"Inspect bots, send messages, upload files, and download files from Telegram\",\n load: async () => {\n return (await import(\"./commands/zero/telegram\")).zeroTelegramCommand;\n },\n },\n {\n name: \"phone\",\n description: \"Send AgentPhone messages, upload files, and download media\",\n load: async () => {\n return (await import(\"./commands/zero/phone\")).zeroPhoneCommand;\n },\n },\n {\n name: \"variable\",\n description: \"Read or write non-sensitive configuration values\",\n load: async () => {\n return (await import(\"./commands/zero/variable\")).zeroVariableCommand;\n },\n },\n {\n name: \"logs\",\n description: \"View and search agent run logs\",\n load: async () => {\n return (await import(\"./commands/zero/logs\")).zeroLogsCommand;\n },\n },\n {\n name: \"search\",\n description: \"Search logs, chat, or get a recipe for external sources\",\n load: async () => {\n return (await import(\"./commands/zero/search\")).zeroSearchCommand;\n },\n },\n {\n name: \"chat\",\n description: \"Manage the current web chat thread\",\n load: async () => {\n return (await import(\"./commands/zero/chat\")).zeroChatCommand;\n },\n },\n {\n name: \"resource\",\n description: \"Pull registry resources from private R2-backed archives\",\n load: async () => {\n return (await import(\"./commands/zero/resource\")).zeroResourceCommand;\n },\n },\n {\n name: \"whoami\",\n description: \"Show agent identity, run ID, and capabilities\",\n load: async () => {\n return (await import(\"./commands/zero/whoami\")).zeroWhoamiCommand;\n },\n },\n {\n name: \"intro\",\n description: \"Print Zero's self-introduction and capability guide\",\n load: async () => {\n return (await import(\"./commands/zero/intro\")).zeroIntroCommand;\n },\n },\n {\n name: \"workflow\",\n description: \"Manage workflows\",\n load: async () => {\n return (await import(\"./commands/zero/workflow\")).zeroWorkflowCommand;\n },\n },\n {\n name: \"goal\",\n description: \"Manage the current thread goal\",\n load: async () => {\n return (await import(\"./commands/zero/goal\")).zeroGoalCommand;\n },\n },\n {\n name: \"developer-support\",\n description: \"Submit a diagnostic report to the dev team\",\n load: async () => {\n return (await import(\"./commands/zero/developer-support\"))\n .zeroDeveloperSupportCommand;\n },\n },\n {\n name: \"computer-use\",\n description: \"Desktop app computer use through Zero CLI\",\n load: async () => {\n return (await import(\"./commands/zero/computer-use\"))\n .zeroComputerUseCommand;\n },\n },\n {\n name: \"generate\",\n description:\n \"Generate assets via vm0's built-in pipelines or get connector skill-invocation guidance\",\n load: async () => {\n return (await import(\"./commands/zero/generate\")).generateCommand;\n },\n },\n {\n name: \"web\",\n description: \"Upload and download files via the web chat endpoint\",\n load: async () => {\n return (await import(\"./commands/zero/web\")).zeroWebCommand;\n },\n },\n {\n name: \"video\",\n description: \"Video processing utilities\",\n load: async () => {\n return (await import(\"./commands/zero/video\")).zeroVideoCommand;\n },\n },\n {\n name: \"host\",\n description: \"Publish static sites and clone owned hosted site files\",\n load: async () => {\n return (await import(\"./commands/zero/host\")).zeroHostCommand;\n },\n },\n {\n name: \"maps\",\n description: \"Use managed zero maps services\",\n load: async () => {\n return (await import(\"./commands/zero/maps\")).zeroMapsCommand;\n },\n },\n {\n name: \"scrape\",\n description: \"Scrape public web pages through managed zero scrape\",\n load: async () => {\n return (await import(\"./commands/zero/scrape\")).zeroScrapeCommand;\n },\n },\n {\n name: \"web-search\",\n description: \"Search the public web through managed zero web search\",\n load: async () => {\n return (await import(\"./commands/zero/web-search\")).zeroWebSearchCommand;\n },\n },\n {\n name: \"banking\",\n description: \"Use managed zero banking services\",\n load: async () => {\n return (await import(\"./commands/zero/banking\")).zeroBankingCommand;\n },\n },\n];\n\nconst ZERO_COMMAND_DEFINITION_BY_NAME = new Map(\n ZERO_COMMAND_DEFINITIONS.map((definition) => {\n return [definition.name, definition];\n }),\n);\n\nfunction createZeroCommandStub(definition: ZeroCommandDefinition): Command {\n return new Command(definition.name).description(definition.description);\n}\n\nfunction buildDefaultCommands(): Command[] {\n return ZERO_COMMAND_DEFINITIONS.map(createZeroCommandStub);\n}\n\nfunction shouldHideCommand(\n name: string,\n payload: ZeroTokenPayload | undefined,\n): boolean {\n if (!payload) return false;\n const requiredCap = COMMAND_CAPABILITY_MAP[name];\n if (requiredCap === undefined) return true;\n if (requiredCap === null) return false;\n if (typeof requiredCap !== \"string\") {\n return !requiredCap.some((capability) => {\n return payload.capabilities.includes(capability);\n });\n }\n return !payload.capabilities.includes(requiredCap);\n}\n\nfunction addZeroCommand(\n prog: Command,\n cmd: Command,\n payload: ZeroTokenPayload | undefined,\n): void {\n const hidden = shouldHideCommand(cmd.name(), payload);\n prog.addCommand(cmd, hidden ? { hidden: true } : {});\n}\n\nfunction getNonOptionArgs(argv: string[]): string[] {\n const args: string[] = [];\n\n for (const arg of argv.slice(2)) {\n if (arg === \"--\") {\n break;\n }\n if (arg.startsWith(\"-\")) {\n continue;\n }\n args.push(arg);\n }\n\n return args;\n}\n\nfunction getRequestedZeroCommandName(argv = process.argv): string | undefined {\n const [firstArg, secondArg] = getNonOptionArgs(argv);\n\n if (!firstArg) {\n return undefined;\n }\n\n if (firstArg === \"help\") {\n return secondArg;\n }\n\n return firstArg;\n}\n\nasync function loadZeroCommand(\n name: string | undefined,\n): Promise<Command | undefined> {\n if (!name) {\n return undefined;\n }\n\n return ZERO_COMMAND_DEFINITION_BY_NAME.get(name)?.load();\n}\n\nexport function buildZeroHelpText(\n payload: ZeroTokenPayload | undefined = decodeZeroTokenPayload(),\n): string {\n const canReadHost = !payload || payload.capabilities.includes(\"host:read\");\n const canWriteHost = !payload || payload.capabilities.includes(\"host:write\");\n const examples = [\n \" Check a connector? zero doctor check-connector --env-name <ENV_NAME>\",\n ...(payload && !payload.capabilities.includes(\"billing:read\")\n ? []\n : [\" Check credits? zero credit\"]),\n ...(payload && !payload.capabilities.includes(\"billing:write\")\n ? []\n : [\" Buy credits? zero credit 20000\"]),\n \" Send a Slack message? zero slack message send --help\",\n ...(shouldHideCommand(\"mail\", payload)\n ? []\n : [\" Draft an email? zero mail send --help\"]),\n \" Send Teams? zero teams message send --help\",\n \" Upload Teams? zero teams upload-file --help\",\n \" Download Teams? zero teams download-file --help\",\n \" Upload GitHub? zero github upload-file --help\",\n \" Download GitHub? zero github download-file --help\",\n \" List Telegram bots? zero telegram bot list\",\n \" Send Telegram? zero telegram message send --help\",\n \" Upload Telegram? zero telegram upload-file --help\",\n \" Download Telegram? zero telegram download-file --help\",\n \" Send AgentPhone? zero phone message --help\",\n \" Upload AgentPhone? zero phone upload-file --help\",\n \" Download AgentPhone? zero phone download-file --help\",\n \" List models? zero model ls\",\n \" Model routing? zero model-provider ls\",\n \" Update yourself? zero agent --help\",\n \" Manage workflows? zero workflow --help\",\n ...(shouldHideCommand(\"chat\", payload)\n ? []\n : [' Rename this chat? zero chat rename \"New title\"']),\n ...(shouldHideCommand(\"memory\", payload)\n ? []\n : [' Recall memory? zero memory recall \"customer follow up\"']),\n \" Introduce Zero? zero intro\",\n \" List generators? zero generate --help\",\n ' Generate image? zero generate image --raw-prompt \"...\"',\n ' Generate website? zero generate website --prompt \"...\"',\n ' Generate voice? zero generate voice --prompt \"...\"',\n ...(canWriteHost\n ? [\" Host a static site? zero host ./dist --site my-site --spa\"]\n : []),\n ...(canReadHost\n ? [\" Clone hosted site? zero host clone <public-slug>\"]\n : []),\n ...(shouldHideCommand(\"maps\", payload)\n ? []\n : [\n ' Get directions? zero maps directions --origin \"SFO\" --destination \"Mountain View\" --json',\n ]),\n ...(shouldHideCommand(\"scrape\", payload)\n ? []\n : [\" Scrape a web page? zero scrape https://example.com --json\"]),\n ...(shouldHideCommand(\"web-search\", payload)\n ? []\n : [' Search the public web? zero web-search \"latest news\" --json']),\n ...(shouldHideCommand(\"banking\", payload)\n ? []\n : [\" Read bank data? zero banking accounts --json\"]),\n \" Check your identity? zero whoami\",\n ];\n\n return `\\nExamples:\\n${examples.join(\"\\n\")}`;\n}\n\n/**\n * Register commands with visibility based on ZERO_TOKEN capabilities.\n * Commands not granted by the token are registered as hidden via\n * Commander's public `addCommand(cmd, { hidden: true })` API.\n * When no ZERO_TOKEN is present, all commands remain visible.\n *\n * @param commands - override default commands (used in tests)\n */\nexport function registerZeroCommands(\n prog: Command,\n commands?: Command[],\n): void {\n const token = process.env.ZERO_TOKEN;\n const payload = token ? decodeZeroTokenPayload(token) : undefined;\n\n for (const cmd of commands ?? buildDefaultCommands()) {\n addZeroCommand(prog, cmd, payload);\n }\n}\n\nconst program = new Command();\n\ndeclare const __CLI_VERSION__: string;\n\nprogram\n .name(\"zero\")\n .description(\n \"Zero CLI — interact with the zero platform from inside the sandbox\",\n )\n .version(__CLI_VERSION__)\n .addHelpText(\"after\", () => {\n return buildZeroHelpText();\n });\n\nexport { program };\n\nif (\n process.argv[1]?.endsWith(\"zero.js\") ||\n process.argv[1]?.endsWith(\"zero.ts\") ||\n process.argv[1]?.endsWith(\"zero\")\n) {\n await configureGlobalProxyFromEnv();\n const requestedCommand = await loadZeroCommand(getRequestedZeroCommandName());\n registerZeroCommands(\n program,\n requestedCommand ? [requestedCommand] : undefined,\n );\n program.parse();\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/zero.ts"],"sourcesContent":["// Zero CLI entry point - standalone binary for zero platform commands\n// Sentry must be initialized before any other imports\nimport \"./instrument.js\";\nimport { Command } from \"commander\";\nimport { configureGlobalProxyFromEnv } from \"./lib/network/proxy.js\";\nimport {\n decodeZeroTokenPayload,\n type ZeroTokenPayload,\n} from \"./lib/api/zero-token.js\";\n\ninterface ZeroCommandDefinition {\n name: string;\n description: string;\n load: () => Promise<Command>;\n}\n\n/**\n * Map of command names to the capability required to see them.\n * Commands not in this map are hidden when ZERO_TOKEN is active.\n * Use an array when a top-level command has subcommands with different\n * capability gates and any one of them should make the command visible.\n * Use `null` for commands that should always be visible in sandbox.\n */\nconst COMMAND_CAPABILITY_MAP: Record<\n string,\n string | readonly string[] | null\n> = {\n agent: \"agent:read\",\n workflow: \"agent:read\",\n goal: [\"goal:read\", \"goal:agent-result:write\", \"goal:user-control:write\"],\n connector: \"connector:read\",\n mail: \"connector:read\",\n doctor: null,\n credit: [\"billing:read\", \"billing:write\"],\n model: null,\n \"model-provider\": null,\n logs: \"agent-run:read\",\n search: \"chat-message:read\",\n chat: [\"chat-thread:read\", \"chat-thread:write\"],\n resource: null,\n github: [\"github:read\", \"github:write\"],\n slack: \"slack:write\",\n teams: \"teams:write\",\n telegram: [\"telegram:read\", \"telegram:write\"],\n phone: [\"phone:read\", \"phone:write\"],\n whoami: null,\n \"developer-support\": null,\n \"computer-use\": \"computer-use:write\",\n intro: null,\n generate: null,\n web: null,\n video: null,\n host: [\"host:read\", \"host:write\"],\n maps: \"maps:read\",\n scrape: \"scrape:read\",\n \"web-search\": \"web-search:read\",\n banking: \"banking:read\",\n};\n\nconst ZERO_COMMAND_DEFINITIONS: readonly ZeroCommandDefinition[] = [\n {\n name: \"org\",\n description: \"Manage organization settings, members, and providers\",\n load: async () => {\n return (await import(\"./commands/zero/org\")).zeroOrgCommand;\n },\n },\n {\n name: \"model\",\n description: \"List available models and model-switching guidance\",\n load: async () => {\n return (await import(\"./commands/zero/model\")).zeroModelCommand;\n },\n },\n {\n name: \"model-provider\",\n description: \"Inspect model provider routing\",\n load: async () => {\n return (await import(\"./commands/zero/model-provider\"))\n .zeroModelProviderCommand;\n },\n },\n {\n name: \"agent\",\n description: \"View or manage zero agents\",\n load: async () => {\n return (await import(\"./commands/zero/agent\")).zeroAgentCommand;\n },\n },\n {\n name: \"connector\",\n description: \"Check third-party service connections (GitHub, Slack, etc.)\",\n load: async () => {\n return (await import(\"./commands/zero/connector\")).zeroConnectorCommand;\n },\n },\n {\n name: \"mail\",\n description: \"Review and send mail through Gmail or Outlook Mail\",\n load: async () => {\n return (await import(\"./commands/zero/mail\")).zeroMailCommand;\n },\n },\n {\n name: \"credit\",\n description: \"View or buy credits\",\n load: async () => {\n return (await import(\"./commands/zero/credit\")).zeroCreditCommand;\n },\n },\n {\n name: \"doctor\",\n description:\n \"Diagnose runtime issues (connector health, permission denials)\",\n load: async () => {\n return (await import(\"./commands/zero/doctor\")).zeroDoctorCommand;\n },\n },\n {\n name: \"preference\",\n description: \"View or update user preferences (timezone, notifications)\",\n load: async () => {\n return (await import(\"./commands/zero/preference\")).zeroPreferenceCommand;\n },\n },\n {\n name: \"secret\",\n description: \"Read or write secrets (API keys, tokens)\",\n load: async () => {\n return (await import(\"./commands/zero/secret\")).zeroSecretCommand;\n },\n },\n {\n name: \"github\",\n description: \"Upload and download GitHub files\",\n load: async () => {\n return (await import(\"./commands/zero/github\")).zeroGithubCommand;\n },\n },\n {\n name: \"slack\",\n description:\n \"Send messages, upload files, and download files from Slack as the bot\",\n load: async () => {\n return (await import(\"./commands/zero/slack\")).zeroSlackCommand;\n },\n },\n {\n name: \"teams\",\n description:\n \"Send Microsoft Teams messages, upload files, and download files\",\n load: async () => {\n return (await import(\"./commands/zero/teams\")).zeroTeamsCommand;\n },\n },\n {\n name: \"telegram\",\n description:\n \"Inspect bots, send messages, upload files, and download files from Telegram\",\n load: async () => {\n return (await import(\"./commands/zero/telegram\")).zeroTelegramCommand;\n },\n },\n {\n name: \"phone\",\n description: \"Send AgentPhone messages, upload files, and download media\",\n load: async () => {\n return (await import(\"./commands/zero/phone\")).zeroPhoneCommand;\n },\n },\n {\n name: \"variable\",\n description: \"Read or write non-sensitive configuration values\",\n load: async () => {\n return (await import(\"./commands/zero/variable\")).zeroVariableCommand;\n },\n },\n {\n name: \"logs\",\n description: \"View and search agent run logs\",\n load: async () => {\n return (await import(\"./commands/zero/logs\")).zeroLogsCommand;\n },\n },\n {\n name: \"search\",\n description: \"Search logs, chat, or get a recipe for external sources\",\n load: async () => {\n return (await import(\"./commands/zero/search\")).zeroSearchCommand;\n },\n },\n {\n name: \"chat\",\n description: \"Manage the current web chat thread\",\n load: async () => {\n return (await import(\"./commands/zero/chat\")).zeroChatCommand;\n },\n },\n {\n name: \"resource\",\n description: \"Pull registry resources from private R2-backed archives\",\n load: async () => {\n return (await import(\"./commands/zero/resource\")).zeroResourceCommand;\n },\n },\n {\n name: \"whoami\",\n description: \"Show agent identity, run ID, and capabilities\",\n load: async () => {\n return (await import(\"./commands/zero/whoami\")).zeroWhoamiCommand;\n },\n },\n {\n name: \"intro\",\n description: \"Print Zero's self-introduction and capability guide\",\n load: async () => {\n return (await import(\"./commands/zero/intro\")).zeroIntroCommand;\n },\n },\n {\n name: \"workflow\",\n description: \"Manage workflows\",\n load: async () => {\n return (await import(\"./commands/zero/workflow\")).zeroWorkflowCommand;\n },\n },\n {\n name: \"goal\",\n description: \"Manage the current thread goal\",\n load: async () => {\n return (await import(\"./commands/zero/goal\")).zeroGoalCommand;\n },\n },\n {\n name: \"developer-support\",\n description: \"Submit a diagnostic report to the dev team\",\n load: async () => {\n return (await import(\"./commands/zero/developer-support\"))\n .zeroDeveloperSupportCommand;\n },\n },\n {\n name: \"computer-use\",\n description: \"Desktop app computer use through Zero CLI\",\n load: async () => {\n return (await import(\"./commands/zero/computer-use\"))\n .zeroComputerUseCommand;\n },\n },\n {\n name: \"generate\",\n description:\n \"Generate assets via vm0's built-in pipelines or get connector skill-invocation guidance\",\n load: async () => {\n return (await import(\"./commands/zero/generate\")).generateCommand;\n },\n },\n {\n name: \"web\",\n description: \"Upload and download files via the web chat endpoint\",\n load: async () => {\n return (await import(\"./commands/zero/web\")).zeroWebCommand;\n },\n },\n {\n name: \"video\",\n description: \"Video processing utilities\",\n load: async () => {\n return (await import(\"./commands/zero/video\")).zeroVideoCommand;\n },\n },\n {\n name: \"host\",\n description: \"Publish static sites and clone owned hosted site files\",\n load: async () => {\n return (await import(\"./commands/zero/host\")).zeroHostCommand;\n },\n },\n {\n name: \"maps\",\n description: \"Use managed zero maps services\",\n load: async () => {\n return (await import(\"./commands/zero/maps\")).zeroMapsCommand;\n },\n },\n {\n name: \"scrape\",\n description: \"Scrape public web pages through managed zero scrape\",\n load: async () => {\n return (await import(\"./commands/zero/scrape\")).zeroScrapeCommand;\n },\n },\n {\n name: \"web-search\",\n description: \"Search the public web through managed zero web search\",\n load: async () => {\n return (await import(\"./commands/zero/web-search\")).zeroWebSearchCommand;\n },\n },\n {\n name: \"banking\",\n description: \"Use managed zero banking services\",\n load: async () => {\n return (await import(\"./commands/zero/banking\")).zeroBankingCommand;\n },\n },\n];\n\nconst ZERO_COMMAND_DEFINITION_BY_NAME = new Map(\n ZERO_COMMAND_DEFINITIONS.map((definition) => {\n return [definition.name, definition];\n }),\n);\n\nfunction createZeroCommandStub(definition: ZeroCommandDefinition): Command {\n return new Command(definition.name).description(definition.description);\n}\n\nfunction buildDefaultCommands(): Command[] {\n return ZERO_COMMAND_DEFINITIONS.map(createZeroCommandStub);\n}\n\nfunction shouldHideCommand(\n name: string,\n payload: ZeroTokenPayload | undefined,\n): boolean {\n if (!payload) return false;\n const requiredCap = COMMAND_CAPABILITY_MAP[name];\n if (requiredCap === undefined) return true;\n if (requiredCap === null) return false;\n if (typeof requiredCap !== \"string\") {\n return !requiredCap.some((capability) => {\n return payload.capabilities.includes(capability);\n });\n }\n return !payload.capabilities.includes(requiredCap);\n}\n\nfunction addZeroCommand(\n prog: Command,\n cmd: Command,\n payload: ZeroTokenPayload | undefined,\n): void {\n const hidden = shouldHideCommand(cmd.name(), payload);\n prog.addCommand(cmd, hidden ? { hidden: true } : {});\n}\n\nfunction getNonOptionArgs(argv: string[]): string[] {\n const args: string[] = [];\n\n for (const arg of argv.slice(2)) {\n if (arg === \"--\") {\n break;\n }\n if (arg.startsWith(\"-\")) {\n continue;\n }\n args.push(arg);\n }\n\n return args;\n}\n\nfunction getRequestedZeroCommandName(argv = process.argv): string | undefined {\n const [firstArg, secondArg] = getNonOptionArgs(argv);\n\n if (!firstArg) {\n return undefined;\n }\n\n if (firstArg === \"help\") {\n return secondArg;\n }\n\n return firstArg;\n}\n\nasync function loadZeroCommand(\n name: string | undefined,\n): Promise<Command | undefined> {\n if (!name) {\n return undefined;\n }\n\n return ZERO_COMMAND_DEFINITION_BY_NAME.get(name)?.load();\n}\n\nexport function buildZeroHelpText(\n payload: ZeroTokenPayload | undefined = decodeZeroTokenPayload(),\n): string {\n const canReadHost = !payload || payload.capabilities.includes(\"host:read\");\n const canWriteHost = !payload || payload.capabilities.includes(\"host:write\");\n const examples = [\n \" Check a connector? zero doctor check-connector --env-name <ENV_NAME>\",\n ...(payload && !payload.capabilities.includes(\"billing:read\")\n ? []\n : [\" Check credits? zero credit\"]),\n ...(payload && !payload.capabilities.includes(\"billing:write\")\n ? []\n : [\" Buy credits? zero credit 20000\"]),\n \" Send a Slack message? zero slack message send --help\",\n ...(shouldHideCommand(\"mail\", payload)\n ? []\n : [\" Draft an email? zero mail send --help\"]),\n \" Send Teams? zero teams message send --help\",\n \" Upload Teams? zero teams upload-file --help\",\n \" Download Teams? zero teams download-file --help\",\n \" Upload GitHub? zero github upload-file --help\",\n \" Download GitHub? zero github download-file --help\",\n \" List Telegram bots? zero telegram bot list\",\n \" Send Telegram? zero telegram message send --help\",\n \" Upload Telegram? zero telegram upload-file --help\",\n \" Download Telegram? zero telegram download-file --help\",\n \" Send AgentPhone? zero phone message --help\",\n \" Upload AgentPhone? zero phone upload-file --help\",\n \" Download AgentPhone? zero phone download-file --help\",\n \" List models? zero model ls\",\n \" Model routing? zero model-provider ls\",\n \" Update yourself? zero agent --help\",\n \" Manage workflows? zero workflow --help\",\n ...(shouldHideCommand(\"chat\", payload)\n ? []\n : [' Rename this chat? zero chat rename \"New title\"']),\n \" Introduce Zero? zero intro\",\n \" List generators? zero generate --help\",\n ' Generate image? zero generate image --raw-prompt \"...\"',\n ' Generate website? zero generate website --prompt \"...\"',\n ' Generate voice? zero generate voice --prompt \"...\"',\n ...(canWriteHost\n ? [\" Host a static site? zero host ./dist --site my-site --spa\"]\n : []),\n ...(canReadHost\n ? [\" Clone hosted site? zero host clone <public-slug>\"]\n : []),\n ...(shouldHideCommand(\"maps\", payload)\n ? []\n : [\n ' Get directions? zero maps directions --origin \"SFO\" --destination \"Mountain View\" --json',\n ]),\n ...(shouldHideCommand(\"scrape\", payload)\n ? []\n : [\" Scrape a web page? zero scrape https://example.com --json\"]),\n ...(shouldHideCommand(\"web-search\", payload)\n ? []\n : [' Search the public web? zero web-search \"latest news\" --json']),\n ...(shouldHideCommand(\"banking\", payload)\n ? []\n : [\" Read bank data? zero banking accounts --json\"]),\n \" Check your identity? zero whoami\",\n ];\n\n return `\\nExamples:\\n${examples.join(\"\\n\")}`;\n}\n\n/**\n * Register commands with visibility based on ZERO_TOKEN capabilities.\n * Commands not granted by the token are registered as hidden via\n * Commander's public `addCommand(cmd, { hidden: true })` API.\n * When no ZERO_TOKEN is present, all commands remain visible.\n *\n * @param commands - override default commands (used in tests)\n */\nexport function registerZeroCommands(\n prog: Command,\n commands?: Command[],\n): void {\n const token = process.env.ZERO_TOKEN;\n const payload = token ? decodeZeroTokenPayload(token) : undefined;\n\n for (const cmd of commands ?? buildDefaultCommands()) {\n addZeroCommand(prog, cmd, payload);\n }\n}\n\nconst program = new Command();\n\ndeclare const __CLI_VERSION__: string;\n\nprogram\n .name(\"zero\")\n .description(\n \"Zero CLI — interact with the zero platform from inside the sandbox\",\n )\n .version(__CLI_VERSION__)\n .addHelpText(\"after\", () => {\n return buildZeroHelpText();\n });\n\nexport { program };\n\nif (\n process.argv[1]?.endsWith(\"zero.js\") ||\n process.argv[1]?.endsWith(\"zero.ts\") ||\n process.argv[1]?.endsWith(\"zero\")\n) {\n await configureGlobalProxyFromEnv();\n const requestedCommand = await loadZeroCommand(getRequestedZeroCommandName());\n registerZeroCommands(\n program,\n requestedCommand ? [requestedCommand] : undefined,\n );\n program.parse();\n}\n"],"mappings":"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","names":[]}
|