@vm0/cli 9.230.4 → 9.230.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/{agent-WQXH6ARK.js → agent-HBWN45EV.js} +4 -4
  2. package/{banking-DYCRAHX3.js → banking-JMGS7WKE.js} +2 -2
  3. package/{chat-Z5RQHEOS.js → chat-SEOXDINW.js} +3 -3
  4. package/{chunk-UZWLQTHX.js → chunk-6LO5CNWO.js} +9 -19
  5. package/chunk-6LO5CNWO.js.map +1 -0
  6. package/{chunk-BM47JSBX.js → chunk-BNY74P3F.js} +3 -9
  7. package/{chunk-BM47JSBX.js.map → chunk-BNY74P3F.js.map} +1 -1
  8. package/{chunk-DCL3INIH.js → chunk-ESH7U7H5.js} +2 -2
  9. package/{chunk-DRXISO7V.js → chunk-FLPW5VN3.js} +2 -2
  10. package/{chunk-QVBF2OFH.js → chunk-JAXYYPOP.js} +3 -3
  11. package/{chunk-ZAEOJMGS.js → chunk-NZWTBT6O.js} +2 -2
  12. package/{chunk-IYKGIKEB.js → chunk-XV6JC37K.js} +3 -3
  13. package/{chunk-D6BK5EIV.js → chunk-YADVRJUA.js} +2 -2
  14. package/{chunk-X7URFQJA.js → chunk-YBYRLNXW.js} +2 -2
  15. package/{computer-use-5WJGBUXO.js → computer-use-B5YIQEQK.js} +2 -2
  16. package/{connector-EVA7XU3V.js → connector-ESSY2LRJ.js} +2 -2
  17. package/{credit-7YD43KT4.js → credit-UJRUUGPI.js} +2 -2
  18. package/{developer-support-AHY2HQMG.js → developer-support-TLZXURUI.js} +2 -2
  19. package/{doctor-LOMSVTSN.js → doctor-BCWZU6OP.js} +5 -5
  20. package/{generate-U2GRXN4E.js → generate-YCHEAUAZ.js} +2 -2
  21. package/{github-SZPXZBEQ.js → github-ZUARIXXH.js} +2 -2
  22. package/{goal-24AZP5AU.js → goal-VNV2BIKX.js} +2 -2
  23. package/{host-S5PS7DQP.js → host-XVIKZ7WV.js} +2 -2
  24. package/index.js +13 -13
  25. package/intro-MIVVJG7M.js +96 -0
  26. package/intro-MIVVJG7M.js.map +1 -0
  27. package/{logs-KS6P63MI.js → logs-XAERDHHI.js} +6 -6
  28. package/{maps-HLSSVYSF.js → maps-DJPOTXP3.js} +2 -2
  29. package/{memory-233X2H7N.js → memory-55IE6T7V.js} +2 -2
  30. package/{model-DQV6L4V3.js → model-VRLA5PBK.js} +3 -3
  31. package/{model-provider-OIGVYGYF.js → model-provider-FWEDML6X.js} +3 -3
  32. package/{org-JI53X3DI.js → org-G2XUOWT5.js} +2 -2
  33. package/package.json +1 -1
  34. package/{phone-EX5GABHZ.js → phone-QCF7O36T.js} +2 -2
  35. package/{preference-XRPJ24RY.js → preference-NPSP5YVC.js} +2 -2
  36. package/{relationship-KXW6PXHV.js → relationship-IXGN7PIO.js} +2 -2
  37. package/{resource-OGBJZOB7.js → resource-5ZG7SLC6.js} +2 -2
  38. package/{search-RCTLN4DY.js → search-6FRRSSRD.js} +6 -6
  39. package/{secret-JIHOD7IV.js → secret-CNQZQOYG.js} +3 -3
  40. package/{slack-6DPIKDZ6.js → slack-NKWDC2E7.js} +2 -2
  41. package/{telegram-46WGNRQN.js → telegram-FBXMC25F.js} +2 -2
  42. package/{variable-Q5JJM456.js → variable-HCCOIHN2.js} +2 -2
  43. package/{web-3P6WWQD2.js → web-2MFBZBZ4.js} +2 -2
  44. package/{whoami-SAMXOXKD.js → whoami-MX6ZZHTX.js} +4 -4
  45. package/{workflow-TJSYKQYS.js → workflow-HQOBMGBM.js} +2 -2
  46. package/zero.js +41 -32
  47. package/zero.js.map +1 -1
  48. package/chunk-UZWLQTHX.js.map +0 -1
  49. /package/{agent-WQXH6ARK.js.map → agent-HBWN45EV.js.map} +0 -0
  50. /package/{banking-DYCRAHX3.js.map → banking-JMGS7WKE.js.map} +0 -0
  51. /package/{chat-Z5RQHEOS.js.map → chat-SEOXDINW.js.map} +0 -0
  52. /package/{chunk-DCL3INIH.js.map → chunk-ESH7U7H5.js.map} +0 -0
  53. /package/{chunk-DRXISO7V.js.map → chunk-FLPW5VN3.js.map} +0 -0
  54. /package/{chunk-QVBF2OFH.js.map → chunk-JAXYYPOP.js.map} +0 -0
  55. /package/{chunk-ZAEOJMGS.js.map → chunk-NZWTBT6O.js.map} +0 -0
  56. /package/{chunk-IYKGIKEB.js.map → chunk-XV6JC37K.js.map} +0 -0
  57. /package/{chunk-D6BK5EIV.js.map → chunk-YADVRJUA.js.map} +0 -0
  58. /package/{chunk-X7URFQJA.js.map → chunk-YBYRLNXW.js.map} +0 -0
  59. /package/{computer-use-5WJGBUXO.js.map → computer-use-B5YIQEQK.js.map} +0 -0
  60. /package/{connector-EVA7XU3V.js.map → connector-ESSY2LRJ.js.map} +0 -0
  61. /package/{credit-7YD43KT4.js.map → credit-UJRUUGPI.js.map} +0 -0
  62. /package/{developer-support-AHY2HQMG.js.map → developer-support-TLZXURUI.js.map} +0 -0
  63. /package/{doctor-LOMSVTSN.js.map → doctor-BCWZU6OP.js.map} +0 -0
  64. /package/{generate-U2GRXN4E.js.map → generate-YCHEAUAZ.js.map} +0 -0
  65. /package/{github-SZPXZBEQ.js.map → github-ZUARIXXH.js.map} +0 -0
  66. /package/{goal-24AZP5AU.js.map → goal-VNV2BIKX.js.map} +0 -0
  67. /package/{host-S5PS7DQP.js.map → host-XVIKZ7WV.js.map} +0 -0
  68. /package/{logs-KS6P63MI.js.map → logs-XAERDHHI.js.map} +0 -0
  69. /package/{maps-HLSSVYSF.js.map → maps-DJPOTXP3.js.map} +0 -0
  70. /package/{memory-233X2H7N.js.map → memory-55IE6T7V.js.map} +0 -0
  71. /package/{model-DQV6L4V3.js.map → model-VRLA5PBK.js.map} +0 -0
  72. /package/{model-provider-OIGVYGYF.js.map → model-provider-FWEDML6X.js.map} +0 -0
  73. /package/{org-JI53X3DI.js.map → org-G2XUOWT5.js.map} +0 -0
  74. /package/{phone-EX5GABHZ.js.map → phone-QCF7O36T.js.map} +0 -0
  75. /package/{preference-XRPJ24RY.js.map → preference-NPSP5YVC.js.map} +0 -0
  76. /package/{relationship-KXW6PXHV.js.map → relationship-IXGN7PIO.js.map} +0 -0
  77. /package/{resource-OGBJZOB7.js.map → resource-5ZG7SLC6.js.map} +0 -0
  78. /package/{search-RCTLN4DY.js.map → search-6FRRSSRD.js.map} +0 -0
  79. /package/{secret-JIHOD7IV.js.map → secret-CNQZQOYG.js.map} +0 -0
  80. /package/{slack-6DPIKDZ6.js.map → slack-NKWDC2E7.js.map} +0 -0
  81. /package/{telegram-46WGNRQN.js.map → telegram-FBXMC25F.js.map} +0 -0
  82. /package/{variable-Q5JJM456.js.map → variable-HCCOIHN2.js.map} +0 -0
  83. /package/{web-3P6WWQD2.js.map → web-2MFBZBZ4.js.map} +0 -0
  84. /package/{whoami-SAMXOXKD.js.map → whoami-MX6ZZHTX.js.map} +0 -0
  85. /package/{workflow-TJSYKQYS.js.map → workflow-HQOBMGBM.js.map} +0 -0
@@ -4,7 +4,7 @@ const require = __createRequire(import.meta.url);
4
4
  import {
5
5
  resolveZeroRelationship,
6
6
  searchZeroRelationships
7
- } from "./chunk-UZWLQTHX.js";
7
+ } from "./chunk-6LO5CNWO.js";
8
8
  import "./chunk-LTDQISD7.js";
9
9
  import {
10
10
  withErrorHandler
@@ -185,4 +185,4 @@ var zeroRelationshipCommand = new Command().name("relationship").description("Qu
185
185
  export {
186
186
  zeroRelationshipCommand
187
187
  };
188
- //# sourceMappingURL=relationship-KXW6PXHV.js.map
188
+ //# sourceMappingURL=relationship-IXGN7PIO.js.map
@@ -16,7 +16,7 @@ import {
16
16
  } from "./chunk-DKOCDBW4.js";
17
17
  import {
18
18
  getRegistryResourceDownload
19
- } from "./chunk-UZWLQTHX.js";
19
+ } from "./chunk-6LO5CNWO.js";
20
20
  import "./chunk-LTDQISD7.js";
21
21
  import {
22
22
  withErrorHandler
@@ -139,4 +139,4 @@ export {
139
139
  findRegistryResourceForPull,
140
140
  zeroResourceCommand
141
141
  };
142
- //# sourceMappingURL=resource-OGBJZOB7.js.map
142
+ //# sourceMappingURL=resource-5ZG7SLC6.js.map
@@ -3,20 +3,20 @@ import { createRequire as __createRequire } from "node:module";
3
3
  const require = __createRequire(import.meta.url);
4
4
  import {
5
5
  runLogsSearch
6
- } from "./chunk-IYKGIKEB.js";
6
+ } from "./chunk-XV6JC37K.js";
7
7
  import {
8
8
  formatIsoTimestamp,
9
9
  isUUID,
10
10
  parseBoundedLogCount,
11
11
  parseSearchQuery,
12
12
  parseTime
13
- } from "./chunk-BM47JSBX.js";
13
+ } from "./chunk-BNY74P3F.js";
14
14
  import "./chunk-DKOCDBW4.js";
15
- import "./chunk-DRXISO7V.js";
16
- import "./chunk-X7URFQJA.js";
15
+ import "./chunk-FLPW5VN3.js";
16
+ import "./chunk-YBYRLNXW.js";
17
17
  import {
18
18
  searchZeroChat
19
- } from "./chunk-UZWLQTHX.js";
19
+ } from "./chunk-6LO5CNWO.js";
20
20
  import "./chunk-LTDQISD7.js";
21
21
  import {
22
22
  withErrorHandler
@@ -201,4 +201,4 @@ export {
201
201
  buildSlackRecipe,
202
202
  zeroSearchCommand
203
203
  };
204
- //# sourceMappingURL=search-RCTLN4DY.js.map
204
+ //# sourceMappingURL=search-6FRRSSRD.js.map
@@ -3,7 +3,7 @@ import { createRequire as __createRequire } from "node:module";
3
3
  const require = __createRequire(import.meta.url);
4
4
  import {
5
5
  getConnectorStoredSecretDisplayInfo
6
- } from "./chunk-X7URFQJA.js";
6
+ } from "./chunk-YBYRLNXW.js";
7
7
  import {
8
8
  isInteractive,
9
9
  promptConfirm,
@@ -13,7 +13,7 @@ import {
13
13
  deleteZeroSecret,
14
14
  listZeroSecrets,
15
15
  setZeroSecret
16
- } from "./chunk-UZWLQTHX.js";
16
+ } from "./chunk-6LO5CNWO.js";
17
17
  import "./chunk-LTDQISD7.js";
18
18
  import {
19
19
  withErrorHandler
@@ -160,4 +160,4 @@ var zeroSecretCommand = new Command().name("secret").description("Read or write
160
160
  export {
161
161
  zeroSecretCommand
162
162
  };
163
- //# sourceMappingURL=secret-JIHOD7IV.js.map
163
+ //# sourceMappingURL=secret-CNQZQOYG.js.map
@@ -6,7 +6,7 @@ import {
6
6
  downloadSlackFile,
7
7
  initSlackFileUpload,
8
8
  sendSlackMessage
9
- } from "./chunk-UZWLQTHX.js";
9
+ } from "./chunk-6LO5CNWO.js";
10
10
  import "./chunk-LTDQISD7.js";
11
11
  import {
12
12
  withErrorHandler
@@ -220,4 +220,4 @@ Examples:
220
220
  export {
221
221
  zeroSlackCommand
222
222
  };
223
- //# sourceMappingURL=slack-6DPIKDZ6.js.map
223
+ //# sourceMappingURL=slack-NKWDC2E7.js.map
@@ -7,7 +7,7 @@ import {
7
7
  initTelegramFileUpload,
8
8
  listTelegramBots,
9
9
  sendTelegramMessage
10
- } from "./chunk-UZWLQTHX.js";
10
+ } from "./chunk-6LO5CNWO.js";
11
11
  import "./chunk-LTDQISD7.js";
12
12
  import {
13
13
  withErrorHandler
@@ -335,4 +335,4 @@ Examples:
335
335
  export {
336
336
  zeroTelegramCommand
337
337
  };
338
- //# sourceMappingURL=telegram-46WGNRQN.js.map
338
+ //# sourceMappingURL=telegram-FBXMC25F.js.map
@@ -9,7 +9,7 @@ import {
9
9
  deleteZeroVariable,
10
10
  listZeroVariables,
11
11
  setZeroVariable
12
- } from "./chunk-UZWLQTHX.js";
12
+ } from "./chunk-6LO5CNWO.js";
13
13
  import "./chunk-LTDQISD7.js";
14
14
  import {
15
15
  withErrorHandler
@@ -117,4 +117,4 @@ var zeroVariableCommand = new Command().name("variable").description("Read or wr
117
117
  export {
118
118
  zeroVariableCommand
119
119
  };
120
- //# sourceMappingURL=variable-Q5JJM456.js.map
120
+ //# sourceMappingURL=variable-HCCOIHN2.js.map
@@ -1,7 +1,7 @@
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-UZWLQTHX.js";
4
+ import "./chunk-6LO5CNWO.js";
5
5
  import "./chunk-LTDQISD7.js";
6
6
  import {
7
7
  downloadWebFile,
@@ -106,4 +106,4 @@ Examples:
106
106
  export {
107
107
  zeroWebCommand
108
108
  };
109
- //# sourceMappingURL=web-3P6WWQD2.js.map
109
+ //# sourceMappingURL=web-2MFBZBZ4.js.map
@@ -4,15 +4,15 @@ const require = __createRequire(import.meta.url);
4
4
  import {
5
5
  loadConnectorPermissionInfos,
6
6
  policyIcon
7
- } from "./chunk-DCL3INIH.js";
7
+ } from "./chunk-ESH7U7H5.js";
8
8
  import {
9
9
  permissionGrantsToFirewallPolicies
10
- } from "./chunk-ZAEOJMGS.js";
10
+ } from "./chunk-NZWTBT6O.js";
11
11
  import {
12
12
  getZeroAgentUserConnectors,
13
13
  listZeroConnectors,
14
14
  listZeroUserPermissionGrants
15
- } from "./chunk-UZWLQTHX.js";
15
+ } from "./chunk-6LO5CNWO.js";
16
16
  import "./chunk-LTDQISD7.js";
17
17
  import {
18
18
  getActiveOrg,
@@ -192,4 +192,4 @@ Notes:
192
192
  export {
193
193
  zeroWhoamiCommand
194
194
  };
195
- //# sourceMappingURL=whoami-SAMXOXKD.js.map
195
+ //# sourceMappingURL=whoami-MX6ZZHTX.js.map
@@ -19,7 +19,7 @@ import {
19
19
  listWorkflows,
20
20
  updateWorkflow,
21
21
  updateWorkflowTrigger
22
- } from "./chunk-UZWLQTHX.js";
22
+ } from "./chunk-6LO5CNWO.js";
23
23
  import "./chunk-LTDQISD7.js";
24
24
  import {
25
25
  withErrorHandler
@@ -1753,4 +1753,4 @@ Examples:
1753
1753
  export {
1754
1754
  zeroWorkflowCommand
1755
1755
  };
1756
- //# sourceMappingURL=workflow-TJSYKQYS.js.map
1756
+ //# sourceMappingURL=workflow-HQOBMGBM.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-QVBF2OFH.js";
6
+ } from "./chunk-JAXYYPOP.js";
7
7
  import {
8
8
  decodeZeroTokenPayload
9
9
  } from "./chunk-LRHXR7JT.js";
@@ -41,6 +41,7 @@ var COMMAND_CAPABILITY_MAP = {
41
41
  whoami: null,
42
42
  "developer-support": null,
43
43
  "computer-use": "computer-use:write",
44
+ intro: null,
44
45
  generate: null,
45
46
  web: null,
46
47
  video: null,
@@ -53,70 +54,70 @@ var ZERO_COMMAND_DEFINITIONS = [
53
54
  name: "org",
54
55
  description: "Manage organization settings, members, and providers",
55
56
  load: async () => {
56
- return (await import("./org-JI53X3DI.js")).zeroOrgCommand;
57
+ return (await import("./org-G2XUOWT5.js")).zeroOrgCommand;
57
58
  }
58
59
  },
59
60
  {
60
61
  name: "model",
61
62
  description: "List available models and model-switching guidance",
62
63
  load: async () => {
63
- return (await import("./model-DQV6L4V3.js")).zeroModelCommand;
64
+ return (await import("./model-VRLA5PBK.js")).zeroModelCommand;
64
65
  }
65
66
  },
66
67
  {
67
68
  name: "model-provider",
68
69
  description: "Inspect model provider routing",
69
70
  load: async () => {
70
- return (await import("./model-provider-OIGVYGYF.js")).zeroModelProviderCommand;
71
+ return (await import("./model-provider-FWEDML6X.js")).zeroModelProviderCommand;
71
72
  }
72
73
  },
73
74
  {
74
75
  name: "agent",
75
76
  description: "View or manage zero agents",
76
77
  load: async () => {
77
- return (await import("./agent-WQXH6ARK.js")).zeroAgentCommand;
78
+ return (await import("./agent-HBWN45EV.js")).zeroAgentCommand;
78
79
  }
79
80
  },
80
81
  {
81
82
  name: "connector",
82
83
  description: "Check third-party service connections (GitHub, Slack, etc.)",
83
84
  load: async () => {
84
- return (await import("./connector-EVA7XU3V.js")).zeroConnectorCommand;
85
+ return (await import("./connector-ESSY2LRJ.js")).zeroConnectorCommand;
85
86
  }
86
87
  },
87
88
  {
88
89
  name: "relationship",
89
90
  description: "Query relationship memory",
90
91
  load: async () => {
91
- return (await import("./relationship-KXW6PXHV.js")).zeroRelationshipCommand;
92
+ return (await import("./relationship-IXGN7PIO.js")).zeroRelationshipCommand;
92
93
  }
93
94
  },
94
95
  {
95
96
  name: "memory",
96
97
  description: "Recall structured memory",
97
98
  load: async () => {
98
- return (await import("./memory-233X2H7N.js")).zeroMemoryCommand;
99
+ return (await import("./memory-55IE6T7V.js")).zeroMemoryCommand;
99
100
  }
100
101
  },
101
102
  {
102
103
  name: "credit",
103
104
  description: "Create a Stripe checkout link to buy credits",
104
105
  load: async () => {
105
- return (await import("./credit-7YD43KT4.js")).zeroCreditCommand;
106
+ return (await import("./credit-UJRUUGPI.js")).zeroCreditCommand;
106
107
  }
107
108
  },
108
109
  {
109
110
  name: "doctor",
110
111
  description: "Diagnose runtime issues (connector health, permission denials)",
111
112
  load: async () => {
112
- return (await import("./doctor-LOMSVTSN.js")).zeroDoctorCommand;
113
+ return (await import("./doctor-BCWZU6OP.js")).zeroDoctorCommand;
113
114
  }
114
115
  },
115
116
  {
116
117
  name: "preference",
117
118
  description: "View or update user preferences (timezone, notifications)",
118
119
  load: async () => {
119
- return (await import("./preference-XRPJ24RY.js")).zeroPreferenceCommand;
120
+ return (await import("./preference-NPSP5YVC.js")).zeroPreferenceCommand;
120
121
  }
121
122
  },
122
123
  {
@@ -137,119 +138,126 @@ var ZERO_COMMAND_DEFINITIONS = [
137
138
  name: "secret",
138
139
  description: "Read or write secrets (API keys, tokens)",
139
140
  load: async () => {
140
- return (await import("./secret-JIHOD7IV.js")).zeroSecretCommand;
141
+ return (await import("./secret-CNQZQOYG.js")).zeroSecretCommand;
141
142
  }
142
143
  },
143
144
  {
144
145
  name: "github",
145
146
  description: "Upload and download GitHub files",
146
147
  load: async () => {
147
- return (await import("./github-SZPXZBEQ.js")).zeroGithubCommand;
148
+ return (await import("./github-ZUARIXXH.js")).zeroGithubCommand;
148
149
  }
149
150
  },
150
151
  {
151
152
  name: "slack",
152
153
  description: "Send messages, upload files, and download files from Slack as the bot",
153
154
  load: async () => {
154
- return (await import("./slack-6DPIKDZ6.js")).zeroSlackCommand;
155
+ return (await import("./slack-NKWDC2E7.js")).zeroSlackCommand;
155
156
  }
156
157
  },
157
158
  {
158
159
  name: "telegram",
159
160
  description: "Inspect bots, send messages, upload files, and download files from Telegram",
160
161
  load: async () => {
161
- return (await import("./telegram-46WGNRQN.js")).zeroTelegramCommand;
162
+ return (await import("./telegram-FBXMC25F.js")).zeroTelegramCommand;
162
163
  }
163
164
  },
164
165
  {
165
166
  name: "phone",
166
167
  description: "Send AgentPhone messages, upload files, and download media",
167
168
  load: async () => {
168
- return (await import("./phone-EX5GABHZ.js")).zeroPhoneCommand;
169
+ return (await import("./phone-QCF7O36T.js")).zeroPhoneCommand;
169
170
  }
170
171
  },
171
172
  {
172
173
  name: "variable",
173
174
  description: "Read or write non-sensitive configuration values",
174
175
  load: async () => {
175
- return (await import("./variable-Q5JJM456.js")).zeroVariableCommand;
176
+ return (await import("./variable-HCCOIHN2.js")).zeroVariableCommand;
176
177
  }
177
178
  },
178
179
  {
179
180
  name: "logs",
180
181
  description: "View and search agent run logs",
181
182
  load: async () => {
182
- return (await import("./logs-KS6P63MI.js")).zeroLogsCommand;
183
+ return (await import("./logs-XAERDHHI.js")).zeroLogsCommand;
183
184
  }
184
185
  },
185
186
  {
186
187
  name: "search",
187
188
  description: "Search logs, chat, or get a recipe for external sources",
188
189
  load: async () => {
189
- return (await import("./search-RCTLN4DY.js")).zeroSearchCommand;
190
+ return (await import("./search-6FRRSSRD.js")).zeroSearchCommand;
190
191
  }
191
192
  },
192
193
  {
193
194
  name: "chat",
194
195
  description: "Manage the current web chat thread",
195
196
  load: async () => {
196
- return (await import("./chat-Z5RQHEOS.js")).zeroChatCommand;
197
+ return (await import("./chat-SEOXDINW.js")).zeroChatCommand;
197
198
  }
198
199
  },
199
200
  {
200
201
  name: "resource",
201
202
  description: "Pull registry resources from private R2-backed archives",
202
203
  load: async () => {
203
- return (await import("./resource-OGBJZOB7.js")).zeroResourceCommand;
204
+ return (await import("./resource-5ZG7SLC6.js")).zeroResourceCommand;
204
205
  }
205
206
  },
206
207
  {
207
208
  name: "whoami",
208
209
  description: "Show agent identity, run ID, and capabilities",
209
210
  load: async () => {
210
- return (await import("./whoami-SAMXOXKD.js")).zeroWhoamiCommand;
211
+ return (await import("./whoami-MX6ZZHTX.js")).zeroWhoamiCommand;
212
+ }
213
+ },
214
+ {
215
+ name: "intro",
216
+ description: "Print Zero's self-introduction and capability guide",
217
+ load: async () => {
218
+ return (await import("./intro-MIVVJG7M.js")).zeroIntroCommand;
211
219
  }
212
220
  },
213
221
  {
214
222
  name: "workflow",
215
223
  description: "Manage workflows",
216
224
  load: async () => {
217
- return (await import("./workflow-TJSYKQYS.js")).zeroWorkflowCommand;
225
+ return (await import("./workflow-HQOBMGBM.js")).zeroWorkflowCommand;
218
226
  }
219
227
  },
220
228
  {
221
229
  name: "goal",
222
230
  description: "Manage the current thread goal",
223
231
  load: async () => {
224
- return (await import("./goal-24AZP5AU.js")).zeroGoalCommand;
232
+ return (await import("./goal-VNV2BIKX.js")).zeroGoalCommand;
225
233
  }
226
234
  },
227
235
  {
228
236
  name: "developer-support",
229
237
  description: "Submit a diagnostic report to the dev team",
230
238
  load: async () => {
231
- return (await import("./developer-support-AHY2HQMG.js")).zeroDeveloperSupportCommand;
239
+ return (await import("./developer-support-TLZXURUI.js")).zeroDeveloperSupportCommand;
232
240
  }
233
241
  },
234
242
  {
235
243
  name: "computer-use",
236
244
  description: "Desktop app computer use through Zero CLI",
237
245
  load: async () => {
238
- return (await import("./computer-use-5WJGBUXO.js")).zeroComputerUseCommand;
246
+ return (await import("./computer-use-B5YIQEQK.js")).zeroComputerUseCommand;
239
247
  }
240
248
  },
241
249
  {
242
250
  name: "generate",
243
251
  description: "Generate assets via vm0's built-in pipelines or get connector skill-invocation guidance",
244
252
  load: async () => {
245
- return (await import("./generate-U2GRXN4E.js")).generateCommand;
253
+ return (await import("./generate-YCHEAUAZ.js")).generateCommand;
246
254
  }
247
255
  },
248
256
  {
249
257
  name: "web",
250
258
  description: "Upload and download files via the web chat endpoint",
251
259
  load: async () => {
252
- return (await import("./web-3P6WWQD2.js")).zeroWebCommand;
260
+ return (await import("./web-2MFBZBZ4.js")).zeroWebCommand;
253
261
  }
254
262
  },
255
263
  {
@@ -263,21 +271,21 @@ var ZERO_COMMAND_DEFINITIONS = [
263
271
  name: "host",
264
272
  description: "Publish static sites and clone owned hosted site files",
265
273
  load: async () => {
266
- return (await import("./host-S5PS7DQP.js")).zeroHostCommand;
274
+ return (await import("./host-XVIKZ7WV.js")).zeroHostCommand;
267
275
  }
268
276
  },
269
277
  {
270
278
  name: "maps",
271
279
  description: "Use managed zero maps services",
272
280
  load: async () => {
273
- return (await import("./maps-HLSSVYSF.js")).zeroMapsCommand;
281
+ return (await import("./maps-DJPOTXP3.js")).zeroMapsCommand;
274
282
  }
275
283
  },
276
284
  {
277
285
  name: "banking",
278
286
  description: "Use managed zero banking services",
279
287
  load: async () => {
280
- return (await import("./banking-DYCRAHX3.js")).zeroBankingCommand;
288
+ return (await import("./banking-JMGS7WKE.js")).zeroBankingCommand;
281
289
  }
282
290
  }
283
291
  ];
@@ -360,6 +368,7 @@ function buildZeroHelpText(payload = decodeZeroTokenPayload()) {
360
368
  " Manage workflows? zero workflow --help",
361
369
  ...shouldHideCommand("chat", payload) ? [] : [' Rename this chat? zero chat rename "New title"'],
362
370
  ...shouldHideCommand("memory", payload) ? [] : [' Recall memory? zero memory recall "customer follow up"'],
371
+ " Introduce Zero? zero intro",
363
372
  " List generators? zero generate --help",
364
373
  ' Generate image? zero generate image --raw-prompt "..."',
365
374
  ' Generate website? zero generate website --prompt "..."',
@@ -386,7 +395,7 @@ function registerZeroCommands(prog, commands) {
386
395
  var program = new Command();
387
396
  program.name("zero").description(
388
397
  "Zero CLI \u2014 interact with the zero platform from inside the sandbox"
389
- ).version("9.230.4").addHelpText("after", () => {
398
+ ).version("9.230.5").addHelpText("after", () => {
390
399
  return buildZeroHelpText();
391
400
  });
392
401
  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 // \"schedule\" and \"automation\" are deliberately absent: the removal stubs\n // stay out of token-scoped (agent) help but remain invokable and visible to\n // humans.\n doctor: null,\n credit: \"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 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 generate: null,\n web: null,\n video: null,\n host: [\"host:read\", \"host:write\"],\n maps: \"maps: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: \"Create a Stripe checkout link to 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: \"schedule\",\n description:\n \"(removed: use `zero workflow`) Schedules are workflow triggers now\",\n load: async () => {\n return (await import(\"./commands/zero/schedule\")).zeroScheduleCommand;\n },\n },\n {\n name: \"automation\",\n description: \"(removed: use `zero workflow`) Automations are workflows now\",\n load: async () => {\n return (await import(\"./commands/zero/automation\")).zeroAutomationCommand;\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: \"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: \"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: \"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 doctor credit\"]),\n ...(shouldHideCommand(\"credit\", payload)\n ? []\n : [\" Buy credits? zero credit 20000\"]),\n \" Send a Slack message? zero slack message send --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 \" 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(\"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 memory: \"relationship:read\",\n relationship: \"relationship:read\",\n // \"schedule\" and \"automation\" are deliberately absent: the removal stubs\n // stay out of token-scoped (agent) help but remain invokable and visible to\n // humans.\n doctor: null,\n credit: \"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 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 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: \"Create a Stripe checkout link to 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: \"schedule\",\n description:\n \"(removed: use `zero workflow`) Schedules are workflow triggers now\",\n load: async () => {\n return (await import(\"./commands/zero/schedule\")).zeroScheduleCommand;\n },\n },\n {\n name: \"automation\",\n description: \"(removed: use `zero workflow`) Automations are workflows now\",\n load: async () => {\n return (await import(\"./commands/zero/automation\")).zeroAutomationCommand;\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: \"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: \"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 doctor credit\"]),\n ...(shouldHideCommand(\"credit\", payload)\n ? []\n : [\" Buy credits? zero credit 20000\"]),\n \" Send a Slack message? zero slack message send --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(\"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":[]}