@vm0/cli 9.240.9 → 9.241.1

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 (100) hide show
  1. package/{agent-CPGD2CCT.js → agent-TNNGYNVT.js} +5 -5
  2. package/{banking-QK5LFWHM.js → banking-SKYGWKKH.js} +3 -3
  3. package/{chat-FVZTI3T3.js → chat-DR6P2YG5.js} +4 -4
  4. package/{chunk-Y7MUZJOD.js → chunk-25IMXO6P.js} +3 -3
  5. package/chunk-BY42E2UD.js +268 -0
  6. package/chunk-BY42E2UD.js.map +1 -0
  7. package/{chunk-JKGVRA3O.js → chunk-E4O5BONY.js} +4 -4
  8. package/{chunk-3B4I4CZP.js → chunk-G7SIZXEQ.js} +3 -1
  9. package/{chunk-3B4I4CZP.js.map → chunk-G7SIZXEQ.js.map} +1 -1
  10. package/{chunk-LZSQADE3.js → chunk-KWK46OB4.js} +2 -2
  11. package/{chunk-LZSQADE3.js.map → chunk-KWK46OB4.js.map} +1 -1
  12. package/{chunk-C6F22HSG.js → chunk-LL7DUZNH.js} +2 -2
  13. package/{chunk-SREFIFDC.js → chunk-Q5HDFTO2.js} +11 -5
  14. package/chunk-Q5HDFTO2.js.map +1 -0
  15. package/{chunk-BBLU3MCE.js → chunk-RWOCHMM3.js} +344 -216
  16. package/chunk-RWOCHMM3.js.map +1 -0
  17. package/{chunk-YI55ZHHU.js → chunk-UV7FQCH3.js} +2 -2
  18. package/{chunk-XZ2PCS5Z.js → chunk-VT7YAG6O.js} +2 -2
  19. package/{chunk-GQJEXREE.js → chunk-Y3QSI5S5.js} +4 -4
  20. package/{computer-use-FHRGSU67.js → computer-use-Y5SMX3YD.js} +3 -3
  21. package/{connector-B64GISX5.js → connector-WS2ZTAQP.js} +11 -256
  22. package/connector-WS2ZTAQP.js.map +1 -0
  23. package/{credit-UMB7SG34.js → credit-RKXWST56.js} +4 -4
  24. package/{developer-support-H3DKWIJ6.js → developer-support-XYW34KTI.js} +3 -3
  25. package/{doctor-W4UUFCZK.js → doctor-UOY4BMO2.js} +5 -5
  26. package/{generate-E5CUXU7B.js → generate-JYPWARY7.js} +7 -5
  27. package/generate-JYPWARY7.js.map +1 -0
  28. package/{github-ZNSMVK5B.js → github-DTFLSMME.js} +3 -3
  29. package/{goal-QSRRWQU5.js → goal-5OVITGGA.js} +3 -3
  30. package/{host-NRXJODYZ.js → host-VSU7C3GW.js} +3 -3
  31. package/index.js +13 -13
  32. package/{logs-KHD73Z5J.js → logs-43WDFVNN.js} +6 -6
  33. package/mail-JK7FVJZ7.js +204 -0
  34. package/mail-JK7FVJZ7.js.map +1 -0
  35. package/{maps-CMMFRPIG.js → maps-OTGEBLIC.js} +3 -3
  36. package/{memory-6ULYLSPP.js → memory-NZOYYZ5N.js} +3 -3
  37. package/{model-SAVQXJEQ.js → model-QKGCKZVX.js} +4 -4
  38. package/{model-provider-PH3LOEC6.js → model-provider-3SBQ7T4N.js} +4 -4
  39. package/{org-M2HYRFTG.js → org-346OFBZR.js} +3 -3
  40. package/package.json +1 -1
  41. package/{phone-FTFASCFG.js → phone-YANYP7W6.js} +3 -3
  42. package/{preference-LKO5SRMA.js → preference-325PBBLX.js} +3 -3
  43. package/{relationship-WGJY7W67.js → relationship-6M35HCZ5.js} +3 -3
  44. package/{resource-UYVZXDOD.js → resource-I4UG6VL7.js} +4 -4
  45. package/{scrape-374NLIRA.js → scrape-P4I7OVKQ.js} +3 -3
  46. package/{search-Q35LEWVX.js → search-I6DXJNMB.js} +6 -6
  47. package/{secret-XEQQCGAY.js → secret-VLRAQQHP.js} +3 -3
  48. package/{slack-ATMM7DZK.js → slack-5FVOKM4R.js} +3 -3
  49. package/{teams-FARW25SA.js → teams-LIUCG5YR.js} +3 -3
  50. package/{telegram-VG2MHVKQ.js → telegram-GKSOUMEF.js} +3 -3
  51. package/{variable-QUUYWMAW.js → variable-GJNDFM7T.js} +3 -3
  52. package/{video-3ANZ4IFS.js → video-J3SE3EIC.js} +2 -2
  53. package/{web-SMARZ2UY.js → web-IRUCSLBZ.js} +3 -3
  54. package/{web-search-ZJ22REGT.js → web-search-HVKUSSDL.js} +3 -3
  55. package/{whoami-VMJDVOZ2.js → whoami-LVRWHRX2.js} +5 -5
  56. package/{workflow-4YFHZNEN.js → workflow-XXOCPRQK.js} +3 -3
  57. package/zero.js +45 -36
  58. package/zero.js.map +1 -1
  59. package/chunk-BBLU3MCE.js.map +0 -1
  60. package/chunk-SREFIFDC.js.map +0 -1
  61. package/connector-B64GISX5.js.map +0 -1
  62. package/generate-E5CUXU7B.js.map +0 -1
  63. /package/{agent-CPGD2CCT.js.map → agent-TNNGYNVT.js.map} +0 -0
  64. /package/{banking-QK5LFWHM.js.map → banking-SKYGWKKH.js.map} +0 -0
  65. /package/{chat-FVZTI3T3.js.map → chat-DR6P2YG5.js.map} +0 -0
  66. /package/{chunk-Y7MUZJOD.js.map → chunk-25IMXO6P.js.map} +0 -0
  67. /package/{chunk-JKGVRA3O.js.map → chunk-E4O5BONY.js.map} +0 -0
  68. /package/{chunk-C6F22HSG.js.map → chunk-LL7DUZNH.js.map} +0 -0
  69. /package/{chunk-YI55ZHHU.js.map → chunk-UV7FQCH3.js.map} +0 -0
  70. /package/{chunk-XZ2PCS5Z.js.map → chunk-VT7YAG6O.js.map} +0 -0
  71. /package/{chunk-GQJEXREE.js.map → chunk-Y3QSI5S5.js.map} +0 -0
  72. /package/{computer-use-FHRGSU67.js.map → computer-use-Y5SMX3YD.js.map} +0 -0
  73. /package/{credit-UMB7SG34.js.map → credit-RKXWST56.js.map} +0 -0
  74. /package/{developer-support-H3DKWIJ6.js.map → developer-support-XYW34KTI.js.map} +0 -0
  75. /package/{doctor-W4UUFCZK.js.map → doctor-UOY4BMO2.js.map} +0 -0
  76. /package/{github-ZNSMVK5B.js.map → github-DTFLSMME.js.map} +0 -0
  77. /package/{goal-QSRRWQU5.js.map → goal-5OVITGGA.js.map} +0 -0
  78. /package/{host-NRXJODYZ.js.map → host-VSU7C3GW.js.map} +0 -0
  79. /package/{logs-KHD73Z5J.js.map → logs-43WDFVNN.js.map} +0 -0
  80. /package/{maps-CMMFRPIG.js.map → maps-OTGEBLIC.js.map} +0 -0
  81. /package/{memory-6ULYLSPP.js.map → memory-NZOYYZ5N.js.map} +0 -0
  82. /package/{model-SAVQXJEQ.js.map → model-QKGCKZVX.js.map} +0 -0
  83. /package/{model-provider-PH3LOEC6.js.map → model-provider-3SBQ7T4N.js.map} +0 -0
  84. /package/{org-M2HYRFTG.js.map → org-346OFBZR.js.map} +0 -0
  85. /package/{phone-FTFASCFG.js.map → phone-YANYP7W6.js.map} +0 -0
  86. /package/{preference-LKO5SRMA.js.map → preference-325PBBLX.js.map} +0 -0
  87. /package/{relationship-WGJY7W67.js.map → relationship-6M35HCZ5.js.map} +0 -0
  88. /package/{resource-UYVZXDOD.js.map → resource-I4UG6VL7.js.map} +0 -0
  89. /package/{scrape-374NLIRA.js.map → scrape-P4I7OVKQ.js.map} +0 -0
  90. /package/{search-Q35LEWVX.js.map → search-I6DXJNMB.js.map} +0 -0
  91. /package/{secret-XEQQCGAY.js.map → secret-VLRAQQHP.js.map} +0 -0
  92. /package/{slack-ATMM7DZK.js.map → slack-5FVOKM4R.js.map} +0 -0
  93. /package/{teams-FARW25SA.js.map → teams-LIUCG5YR.js.map} +0 -0
  94. /package/{telegram-VG2MHVKQ.js.map → telegram-GKSOUMEF.js.map} +0 -0
  95. /package/{variable-QUUYWMAW.js.map → variable-GJNDFM7T.js.map} +0 -0
  96. /package/{video-3ANZ4IFS.js.map → video-J3SE3EIC.js.map} +0 -0
  97. /package/{web-SMARZ2UY.js.map → web-IRUCSLBZ.js.map} +0 -0
  98. /package/{web-search-ZJ22REGT.js.map → web-search-HVKUSSDL.js.map} +0 -0
  99. /package/{whoami-VMJDVOZ2.js.map → whoami-LVRWHRX2.js.map} +0 -0
  100. /package/{workflow-4YFHZNEN.js.map → workflow-XXOCPRQK.js.map} +0 -0
@@ -6,7 +6,7 @@ import {
6
6
  downloadWebFile,
7
7
  transcribeAudio,
8
8
  withErrorHandler
9
- } from "./chunk-LZSQADE3.js";
9
+ } from "./chunk-KWK46OB4.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-3ANZ4IFS.js.map
248
+ //# sourceMappingURL=video-J3SE3EIC.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-BBLU3MCE.js";
4
+ import "./chunk-RWOCHMM3.js";
5
5
  import "./chunk-LTDQISD7.js";
6
6
  import {
7
7
  downloadWebFile,
8
8
  uploadWebFile,
9
9
  withErrorHandler
10
- } from "./chunk-LZSQADE3.js";
10
+ } from "./chunk-KWK46OB4.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-SMARZ2UY.js.map
108
+ //# sourceMappingURL=web-IRUCSLBZ.js.map
@@ -9,12 +9,12 @@ import {
9
9
  zeroWebSearchDomainSchema,
10
10
  zeroWebSearchRecencySchema,
11
11
  zeroWebSearchRequestSchema
12
- } from "./chunk-BBLU3MCE.js";
12
+ } from "./chunk-RWOCHMM3.js";
13
13
  import "./chunk-LTDQISD7.js";
14
14
  import {
15
15
  source_default,
16
16
  withErrorHandler
17
- } from "./chunk-LZSQADE3.js";
17
+ } from "./chunk-KWK46OB4.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-ZJ22REGT.js.map
150
+ //# sourceMappingURL=web-search-HVKUSSDL.js.map
@@ -4,15 +4,15 @@ const require = __createRequire(import.meta.url);
4
4
  import {
5
5
  loadConnectorPermissionInfos,
6
6
  policyIcon
7
- } from "./chunk-JKGVRA3O.js";
7
+ } from "./chunk-E4O5BONY.js";
8
8
  import {
9
9
  permissionGrantsToFirewallPolicies
10
- } from "./chunk-C6F22HSG.js";
10
+ } from "./chunk-LL7DUZNH.js";
11
11
  import {
12
12
  getZeroAgentUserConnectors,
13
13
  listZeroConnectors,
14
14
  listZeroUserPermissionGrants
15
- } from "./chunk-BBLU3MCE.js";
15
+ } from "./chunk-RWOCHMM3.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-LZSQADE3.js";
23
+ } from "./chunk-KWK46OB4.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-VMJDVOZ2.js.map
193
+ //# sourceMappingURL=whoami-LVRWHRX2.js.map
@@ -19,12 +19,12 @@ import {
19
19
  listWorkflows,
20
20
  updateWorkflow,
21
21
  updateWorkflowAutomation
22
- } from "./chunk-BBLU3MCE.js";
22
+ } from "./chunk-RWOCHMM3.js";
23
23
  import "./chunk-LTDQISD7.js";
24
24
  import {
25
25
  source_default,
26
26
  withErrorHandler
27
- } from "./chunk-LZSQADE3.js";
27
+ } from "./chunk-KWK46OB4.js";
28
28
  import "./chunk-LRHXR7JT.js";
29
29
  import {
30
30
  Command
@@ -1780,4 +1780,4 @@ Examples:
1780
1780
  export {
1781
1781
  zeroWorkflowCommand
1782
1782
  };
1783
- //# sourceMappingURL=workflow-4YFHZNEN.js.map
1783
+ //# sourceMappingURL=workflow-XXOCPRQK.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-Y7MUZJOD.js";
6
+ } from "./chunk-25IMXO6P.js";
7
7
  import {
8
8
  decodeZeroTokenPayload
9
9
  } from "./chunk-LRHXR7JT.js";
@@ -21,6 +21,7 @@ var COMMAND_CAPABILITY_MAP = {
21
21
  workflow: "agent:read",
22
22
  goal: ["goal:read", "goal:agent-result:write", "goal:user-control:write"],
23
23
  connector: "connector:read",
24
+ mail: "connector:read",
24
25
  memory: "relationship:read",
25
26
  relationship: "relationship:read",
26
27
  doctor: null,
@@ -54,154 +55,161 @@ var ZERO_COMMAND_DEFINITIONS = [
54
55
  name: "org",
55
56
  description: "Manage organization settings, members, and providers",
56
57
  load: async () => {
57
- return (await import("./org-M2HYRFTG.js")).zeroOrgCommand;
58
+ return (await import("./org-346OFBZR.js")).zeroOrgCommand;
58
59
  }
59
60
  },
60
61
  {
61
62
  name: "model",
62
63
  description: "List available models and model-switching guidance",
63
64
  load: async () => {
64
- return (await import("./model-SAVQXJEQ.js")).zeroModelCommand;
65
+ return (await import("./model-QKGCKZVX.js")).zeroModelCommand;
65
66
  }
66
67
  },
67
68
  {
68
69
  name: "model-provider",
69
70
  description: "Inspect model provider routing",
70
71
  load: async () => {
71
- return (await import("./model-provider-PH3LOEC6.js")).zeroModelProviderCommand;
72
+ return (await import("./model-provider-3SBQ7T4N.js")).zeroModelProviderCommand;
72
73
  }
73
74
  },
74
75
  {
75
76
  name: "agent",
76
77
  description: "View or manage zero agents",
77
78
  load: async () => {
78
- return (await import("./agent-CPGD2CCT.js")).zeroAgentCommand;
79
+ return (await import("./agent-TNNGYNVT.js")).zeroAgentCommand;
79
80
  }
80
81
  },
81
82
  {
82
83
  name: "connector",
83
84
  description: "Check third-party service connections (GitHub, Slack, etc.)",
84
85
  load: async () => {
85
- return (await import("./connector-B64GISX5.js")).zeroConnectorCommand;
86
+ return (await import("./connector-WS2ZTAQP.js")).zeroConnectorCommand;
87
+ }
88
+ },
89
+ {
90
+ name: "mail",
91
+ description: "Review and send mail through Gmail or Outlook Mail",
92
+ load: async () => {
93
+ return (await import("./mail-JK7FVJZ7.js")).zeroMailCommand;
86
94
  }
87
95
  },
88
96
  {
89
97
  name: "relationship",
90
98
  description: "Query relationship memory",
91
99
  load: async () => {
92
- return (await import("./relationship-WGJY7W67.js")).zeroRelationshipCommand;
100
+ return (await import("./relationship-6M35HCZ5.js")).zeroRelationshipCommand;
93
101
  }
94
102
  },
95
103
  {
96
104
  name: "memory",
97
105
  description: "Recall structured memory",
98
106
  load: async () => {
99
- return (await import("./memory-6ULYLSPP.js")).zeroMemoryCommand;
107
+ return (await import("./memory-NZOYYZ5N.js")).zeroMemoryCommand;
100
108
  }
101
109
  },
102
110
  {
103
111
  name: "credit",
104
112
  description: "View or buy credits",
105
113
  load: async () => {
106
- return (await import("./credit-UMB7SG34.js")).zeroCreditCommand;
114
+ return (await import("./credit-RKXWST56.js")).zeroCreditCommand;
107
115
  }
108
116
  },
109
117
  {
110
118
  name: "doctor",
111
119
  description: "Diagnose runtime issues (connector health, permission denials)",
112
120
  load: async () => {
113
- return (await import("./doctor-W4UUFCZK.js")).zeroDoctorCommand;
121
+ return (await import("./doctor-UOY4BMO2.js")).zeroDoctorCommand;
114
122
  }
115
123
  },
116
124
  {
117
125
  name: "preference",
118
126
  description: "View or update user preferences (timezone, notifications)",
119
127
  load: async () => {
120
- return (await import("./preference-LKO5SRMA.js")).zeroPreferenceCommand;
128
+ return (await import("./preference-325PBBLX.js")).zeroPreferenceCommand;
121
129
  }
122
130
  },
123
131
  {
124
132
  name: "secret",
125
133
  description: "Read or write secrets (API keys, tokens)",
126
134
  load: async () => {
127
- return (await import("./secret-XEQQCGAY.js")).zeroSecretCommand;
135
+ return (await import("./secret-VLRAQQHP.js")).zeroSecretCommand;
128
136
  }
129
137
  },
130
138
  {
131
139
  name: "github",
132
140
  description: "Upload and download GitHub files",
133
141
  load: async () => {
134
- return (await import("./github-ZNSMVK5B.js")).zeroGithubCommand;
142
+ return (await import("./github-DTFLSMME.js")).zeroGithubCommand;
135
143
  }
136
144
  },
137
145
  {
138
146
  name: "slack",
139
147
  description: "Send messages, upload files, and download files from Slack as the bot",
140
148
  load: async () => {
141
- return (await import("./slack-ATMM7DZK.js")).zeroSlackCommand;
149
+ return (await import("./slack-5FVOKM4R.js")).zeroSlackCommand;
142
150
  }
143
151
  },
144
152
  {
145
153
  name: "teams",
146
154
  description: "Send Microsoft Teams messages, upload files, and download files",
147
155
  load: async () => {
148
- return (await import("./teams-FARW25SA.js")).zeroTeamsCommand;
156
+ return (await import("./teams-LIUCG5YR.js")).zeroTeamsCommand;
149
157
  }
150
158
  },
151
159
  {
152
160
  name: "telegram",
153
161
  description: "Inspect bots, send messages, upload files, and download files from Telegram",
154
162
  load: async () => {
155
- return (await import("./telegram-VG2MHVKQ.js")).zeroTelegramCommand;
163
+ return (await import("./telegram-GKSOUMEF.js")).zeroTelegramCommand;
156
164
  }
157
165
  },
158
166
  {
159
167
  name: "phone",
160
168
  description: "Send AgentPhone messages, upload files, and download media",
161
169
  load: async () => {
162
- return (await import("./phone-FTFASCFG.js")).zeroPhoneCommand;
170
+ return (await import("./phone-YANYP7W6.js")).zeroPhoneCommand;
163
171
  }
164
172
  },
165
173
  {
166
174
  name: "variable",
167
175
  description: "Read or write non-sensitive configuration values",
168
176
  load: async () => {
169
- return (await import("./variable-QUUYWMAW.js")).zeroVariableCommand;
177
+ return (await import("./variable-GJNDFM7T.js")).zeroVariableCommand;
170
178
  }
171
179
  },
172
180
  {
173
181
  name: "logs",
174
182
  description: "View and search agent run logs",
175
183
  load: async () => {
176
- return (await import("./logs-KHD73Z5J.js")).zeroLogsCommand;
184
+ return (await import("./logs-43WDFVNN.js")).zeroLogsCommand;
177
185
  }
178
186
  },
179
187
  {
180
188
  name: "search",
181
189
  description: "Search logs, chat, or get a recipe for external sources",
182
190
  load: async () => {
183
- return (await import("./search-Q35LEWVX.js")).zeroSearchCommand;
191
+ return (await import("./search-I6DXJNMB.js")).zeroSearchCommand;
184
192
  }
185
193
  },
186
194
  {
187
195
  name: "chat",
188
196
  description: "Manage the current web chat thread",
189
197
  load: async () => {
190
- return (await import("./chat-FVZTI3T3.js")).zeroChatCommand;
198
+ return (await import("./chat-DR6P2YG5.js")).zeroChatCommand;
191
199
  }
192
200
  },
193
201
  {
194
202
  name: "resource",
195
203
  description: "Pull registry resources from private R2-backed archives",
196
204
  load: async () => {
197
- return (await import("./resource-UYVZXDOD.js")).zeroResourceCommand;
205
+ return (await import("./resource-I4UG6VL7.js")).zeroResourceCommand;
198
206
  }
199
207
  },
200
208
  {
201
209
  name: "whoami",
202
210
  description: "Show agent identity, run ID, and capabilities",
203
211
  load: async () => {
204
- return (await import("./whoami-VMJDVOZ2.js")).zeroWhoamiCommand;
212
+ return (await import("./whoami-LVRWHRX2.js")).zeroWhoamiCommand;
205
213
  }
206
214
  },
207
215
  {
@@ -215,84 +223,84 @@ var ZERO_COMMAND_DEFINITIONS = [
215
223
  name: "workflow",
216
224
  description: "Manage workflows",
217
225
  load: async () => {
218
- return (await import("./workflow-4YFHZNEN.js")).zeroWorkflowCommand;
226
+ return (await import("./workflow-XXOCPRQK.js")).zeroWorkflowCommand;
219
227
  }
220
228
  },
221
229
  {
222
230
  name: "goal",
223
231
  description: "Manage the current thread goal",
224
232
  load: async () => {
225
- return (await import("./goal-QSRRWQU5.js")).zeroGoalCommand;
233
+ return (await import("./goal-5OVITGGA.js")).zeroGoalCommand;
226
234
  }
227
235
  },
228
236
  {
229
237
  name: "developer-support",
230
238
  description: "Submit a diagnostic report to the dev team",
231
239
  load: async () => {
232
- return (await import("./developer-support-H3DKWIJ6.js")).zeroDeveloperSupportCommand;
240
+ return (await import("./developer-support-XYW34KTI.js")).zeroDeveloperSupportCommand;
233
241
  }
234
242
  },
235
243
  {
236
244
  name: "computer-use",
237
245
  description: "Desktop app computer use through Zero CLI",
238
246
  load: async () => {
239
- return (await import("./computer-use-FHRGSU67.js")).zeroComputerUseCommand;
247
+ return (await import("./computer-use-Y5SMX3YD.js")).zeroComputerUseCommand;
240
248
  }
241
249
  },
242
250
  {
243
251
  name: "generate",
244
252
  description: "Generate assets via vm0's built-in pipelines or get connector skill-invocation guidance",
245
253
  load: async () => {
246
- return (await import("./generate-E5CUXU7B.js")).generateCommand;
254
+ return (await import("./generate-JYPWARY7.js")).generateCommand;
247
255
  }
248
256
  },
249
257
  {
250
258
  name: "web",
251
259
  description: "Upload and download files via the web chat endpoint",
252
260
  load: async () => {
253
- return (await import("./web-SMARZ2UY.js")).zeroWebCommand;
261
+ return (await import("./web-IRUCSLBZ.js")).zeroWebCommand;
254
262
  }
255
263
  },
256
264
  {
257
265
  name: "video",
258
266
  description: "Video processing utilities",
259
267
  load: async () => {
260
- return (await import("./video-3ANZ4IFS.js")).zeroVideoCommand;
268
+ return (await import("./video-J3SE3EIC.js")).zeroVideoCommand;
261
269
  }
262
270
  },
263
271
  {
264
272
  name: "host",
265
273
  description: "Publish static sites and clone owned hosted site files",
266
274
  load: async () => {
267
- return (await import("./host-NRXJODYZ.js")).zeroHostCommand;
275
+ return (await import("./host-VSU7C3GW.js")).zeroHostCommand;
268
276
  }
269
277
  },
270
278
  {
271
279
  name: "maps",
272
280
  description: "Use managed zero maps services",
273
281
  load: async () => {
274
- return (await import("./maps-CMMFRPIG.js")).zeroMapsCommand;
282
+ return (await import("./maps-OTGEBLIC.js")).zeroMapsCommand;
275
283
  }
276
284
  },
277
285
  {
278
286
  name: "scrape",
279
287
  description: "Scrape public web pages through managed zero scrape",
280
288
  load: async () => {
281
- return (await import("./scrape-374NLIRA.js")).zeroScrapeCommand;
289
+ return (await import("./scrape-P4I7OVKQ.js")).zeroScrapeCommand;
282
290
  }
283
291
  },
284
292
  {
285
293
  name: "web-search",
286
294
  description: "Search the public web through managed zero web search",
287
295
  load: async () => {
288
- return (await import("./web-search-ZJ22REGT.js")).zeroWebSearchCommand;
296
+ return (await import("./web-search-HVKUSSDL.js")).zeroWebSearchCommand;
289
297
  }
290
298
  },
291
299
  {
292
300
  name: "banking",
293
301
  description: "Use managed zero banking services",
294
302
  load: async () => {
295
- return (await import("./banking-QK5LFWHM.js")).zeroBankingCommand;
303
+ return (await import("./banking-SKYGWKKH.js")).zeroBankingCommand;
296
304
  }
297
305
  }
298
306
  ];
@@ -360,6 +368,7 @@ function buildZeroHelpText(payload = decodeZeroTokenPayload()) {
360
368
  ...payload && !payload.capabilities.includes("billing:read") ? [] : [" Check credits? zero credit"],
361
369
  ...payload && !payload.capabilities.includes("billing:write") ? [] : [" Buy credits? zero credit 20000"],
362
370
  " Send a Slack message? zero slack message send --help",
371
+ ...shouldHideCommand("mail", payload) ? [] : [" Draft an email? zero mail send --help"],
363
372
  " Send Teams? zero teams message send --help",
364
373
  " Upload Teams? zero teams upload-file --help",
365
374
  " Download Teams? zero teams download-file --help",
@@ -407,7 +416,7 @@ function registerZeroCommands(prog, commands) {
407
416
  var program = new Command();
408
417
  program.name("zero").description(
409
418
  "Zero CLI \u2014 interact with the zero platform from inside the sandbox"
410
- ).version("9.240.9").addHelpText("after", () => {
419
+ ).version("9.241.1").addHelpText("after", () => {
411
420
  return buildZeroHelpText();
412
421
  });
413
422
  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 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: \"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 \" 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 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":[]}