@usenaive-sdk/cli 0.12.2 → 0.13.0

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 (193) hide show
  1. package/README.md +76 -5
  2. package/dist/client.d.ts +74 -1
  3. package/dist/client.js +351 -17
  4. package/dist/client.js.map +1 -1
  5. package/dist/commands/aeo.js +69 -27
  6. package/dist/commands/aeo.js.map +1 -1
  7. package/dist/commands/app-data.js +29 -11
  8. package/dist/commands/app-data.js.map +1 -1
  9. package/dist/commands/apps.d.ts +7 -0
  10. package/dist/commands/apps.js +255 -18
  11. package/dist/commands/apps.js.map +1 -1
  12. package/dist/commands/audio.d.ts +9 -0
  13. package/dist/commands/audio.js +391 -0
  14. package/dist/commands/audio.js.map +1 -0
  15. package/dist/commands/auth.d.ts +31 -0
  16. package/dist/commands/auth.js +403 -0
  17. package/dist/commands/auth.js.map +1 -0
  18. package/dist/commands/billing.js +12 -12
  19. package/dist/commands/billing.js.map +1 -1
  20. package/dist/commands/brain.d.ts +2 -0
  21. package/dist/commands/brain.js +1255 -0
  22. package/dist/commands/brain.js.map +1 -0
  23. package/dist/commands/browser.js +35 -8
  24. package/dist/commands/browser.js.map +1 -1
  25. package/dist/commands/business.js +117 -16
  26. package/dist/commands/business.js.map +1 -1
  27. package/dist/commands/clone.d.ts +2 -0
  28. package/dist/commands/clone.js +203 -0
  29. package/dist/commands/clone.js.map +1 -0
  30. package/dist/commands/companies.d.ts +8 -0
  31. package/dist/commands/companies.js +137 -47
  32. package/dist/commands/companies.js.map +1 -1
  33. package/dist/commands/company-data.d.ts +2 -0
  34. package/dist/commands/company-data.js +168 -0
  35. package/dist/commands/company-data.js.map +1 -0
  36. package/dist/commands/compute.js +10 -3
  37. package/dist/commands/compute.js.map +1 -1
  38. package/dist/commands/config.d.ts +2 -0
  39. package/dist/commands/config.js +36 -0
  40. package/dist/commands/config.js.map +1 -0
  41. package/dist/commands/connections.d.ts +6 -0
  42. package/dist/commands/connections.js +29 -1
  43. package/dist/commands/connections.js.map +1 -1
  44. package/dist/commands/domains.js +1 -1
  45. package/dist/commands/ecommerce.js +19 -9
  46. package/dist/commands/ecommerce.js.map +1 -1
  47. package/dist/commands/email.js +56 -9
  48. package/dist/commands/email.js.map +1 -1
  49. package/dist/commands/env.d.ts +3 -3
  50. package/dist/commands/env.js +68 -4
  51. package/dist/commands/env.js.map +1 -1
  52. package/dist/commands/formation.js +3 -3
  53. package/dist/commands/identity.js +4 -3
  54. package/dist/commands/identity.js.map +1 -1
  55. package/dist/commands/images.js +87 -13
  56. package/dist/commands/images.js.map +1 -1
  57. package/dist/commands/init.d.ts +3 -0
  58. package/dist/commands/init.js +39 -36
  59. package/dist/commands/init.js.map +1 -1
  60. package/dist/commands/jobs.js +1 -0
  61. package/dist/commands/jobs.js.map +1 -1
  62. package/dist/commands/keys.js +26 -3
  63. package/dist/commands/keys.js.map +1 -1
  64. package/dist/commands/legacy-auth.d.ts +27 -0
  65. package/dist/commands/legacy-auth.js +64 -0
  66. package/dist/commands/legacy-auth.js.map +1 -0
  67. package/dist/commands/llm.js +13 -0
  68. package/dist/commands/llm.js.map +1 -1
  69. package/dist/commands/login.js +2 -0
  70. package/dist/commands/login.js.map +1 -1
  71. package/dist/commands/loops.d.ts +2 -0
  72. package/dist/commands/loops.js +260 -0
  73. package/dist/commands/loops.js.map +1 -0
  74. package/dist/commands/media.js +3 -3
  75. package/dist/commands/media.js.map +1 -1
  76. package/dist/commands/mobile.d.ts +4 -0
  77. package/dist/commands/mobile.js +382 -0
  78. package/dist/commands/mobile.js.map +1 -0
  79. package/dist/commands/payments.d.ts +2 -0
  80. package/dist/commands/payments.js +131 -0
  81. package/dist/commands/payments.js.map +1 -0
  82. package/dist/commands/people.d.ts +2 -0
  83. package/dist/commands/people.js +193 -0
  84. package/dist/commands/people.js.map +1 -0
  85. package/dist/commands/phone.js +3 -3
  86. package/dist/commands/phone.js.map +1 -1
  87. package/dist/commands/projects.d.ts +13 -0
  88. package/dist/commands/projects.js +220 -0
  89. package/dist/commands/projects.js.map +1 -0
  90. package/dist/commands/register.js +16 -8
  91. package/dist/commands/register.js.map +1 -1
  92. package/dist/commands/sandbox.d.ts +2 -0
  93. package/dist/commands/sandbox.js +245 -0
  94. package/dist/commands/sandbox.js.map +1 -0
  95. package/dist/commands/search.js +26 -12
  96. package/dist/commands/search.js.map +1 -1
  97. package/dist/commands/seo.js +16 -8
  98. package/dist/commands/seo.js.map +1 -1
  99. package/dist/commands/sessions.d.ts +6 -0
  100. package/dist/commands/sessions.js +109 -0
  101. package/dist/commands/sessions.js.map +1 -0
  102. package/dist/commands/social-data.d.ts +2 -0
  103. package/dist/commands/social-data.js +244 -0
  104. package/dist/commands/social-data.js.map +1 -0
  105. package/dist/commands/social.js +8 -6
  106. package/dist/commands/social.js.map +1 -1
  107. package/dist/commands/teams.d.ts +69 -0
  108. package/dist/commands/teams.js +503 -0
  109. package/dist/commands/teams.js.map +1 -0
  110. package/dist/commands/up.d.ts +150 -0
  111. package/dist/commands/up.js +415 -15
  112. package/dist/commands/up.js.map +1 -1
  113. package/dist/commands/usage.js +15 -4
  114. package/dist/commands/usage.js.map +1 -1
  115. package/dist/commands/use.d.ts +9 -0
  116. package/dist/commands/use.js +76 -11
  117. package/dist/commands/use.js.map +1 -1
  118. package/dist/commands/users.d.ts +8 -0
  119. package/dist/commands/users.js +28 -9
  120. package/dist/commands/users.js.map +1 -1
  121. package/dist/commands/vault.js +28 -1
  122. package/dist/commands/vault.js.map +1 -1
  123. package/dist/commands/video.js +190 -270
  124. package/dist/commands/video.js.map +1 -1
  125. package/dist/commands/voice.d.ts +2 -0
  126. package/dist/commands/voice.js +516 -0
  127. package/dist/commands/voice.js.map +1 -0
  128. package/dist/commands/wallet.d.ts +2 -0
  129. package/dist/commands/wallet.js +244 -0
  130. package/dist/commands/wallet.js.map +1 -0
  131. package/dist/commands/whoami.js +17 -1
  132. package/dist/commands/whoami.js.map +1 -1
  133. package/dist/config.d.ts +24 -1
  134. package/dist/config.js +36 -7
  135. package/dist/config.js.map +1 -1
  136. package/dist/index.d.ts +2 -1
  137. package/dist/index.js +290 -20
  138. package/dist/index.js.map +1 -1
  139. package/dist/lib/brain-select.d.ts +193 -0
  140. package/dist/lib/brain-select.js +403 -0
  141. package/dist/lib/brain-select.js.map +1 -0
  142. package/dist/lib/cli-validation.d.ts +12 -0
  143. package/dist/lib/cli-validation.js +46 -0
  144. package/dist/lib/cli-validation.js.map +1 -0
  145. package/dist/lib/deprecation.d.ts +158 -0
  146. package/dist/lib/deprecation.js +140 -0
  147. package/dist/lib/deprecation.js.map +1 -0
  148. package/dist/lib/duration.d.ts +8 -0
  149. package/dist/lib/duration.js +11 -0
  150. package/dist/lib/duration.js.map +1 -0
  151. package/dist/lib/http-response.d.ts +11 -0
  152. package/dist/lib/http-response.js +96 -0
  153. package/dist/lib/http-response.js.map +1 -0
  154. package/dist/lib/pricing.d.ts +132 -0
  155. package/dist/lib/pricing.js +148 -0
  156. package/dist/lib/pricing.js.map +1 -0
  157. package/dist/lib/stream-frames.d.ts +114 -0
  158. package/dist/lib/stream-frames.js +169 -0
  159. package/dist/lib/stream-frames.js.map +1 -0
  160. package/dist/lib/teams-catalog.d.ts +141 -0
  161. package/dist/lib/teams-catalog.js +765 -0
  162. package/dist/lib/teams-catalog.js.map +1 -0
  163. package/dist/lib/unknown-command.d.ts +57 -0
  164. package/dist/lib/unknown-command.js +93 -0
  165. package/dist/lib/unknown-command.js.map +1 -0
  166. package/dist/lib/version-check.d.ts +26 -0
  167. package/dist/lib/version-check.js +21 -0
  168. package/dist/lib/version-check.js.map +1 -0
  169. package/dist/output.d.ts +119 -10
  170. package/dist/output.js +309 -15
  171. package/dist/output.js.map +1 -1
  172. package/dist/prompt.d.ts +17 -0
  173. package/dist/prompt.js +70 -0
  174. package/dist/prompt.js.map +1 -0
  175. package/package.json +11 -6
  176. package/dist/commands/billing-client.d.ts +0 -2
  177. package/dist/commands/billing-client.js +0 -271
  178. package/dist/commands/billing-client.js.map +0 -1
  179. package/dist/commands/crm-app.d.ts +0 -2
  180. package/dist/commands/crm-app.js +0 -306
  181. package/dist/commands/crm-app.js.map +0 -1
  182. package/dist/commands/crm.d.ts +0 -2
  183. package/dist/commands/crm.js +0 -319
  184. package/dist/commands/crm.js.map +0 -1
  185. package/dist/commands/integrations.d.ts +0 -2
  186. package/dist/commands/integrations.js +0 -199
  187. package/dist/commands/integrations.js.map +0 -1
  188. package/dist/commands/link.d.ts +0 -3
  189. package/dist/commands/link.js +0 -91
  190. package/dist/commands/link.js.map +0 -1
  191. package/dist/commands/operators.d.ts +0 -11
  192. package/dist/commands/operators.js +0 -120
  193. package/dist/commands/operators.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,9 +1,12 @@
1
1
  #!/usr/bin/env node
2
- import { Command } from "commander";
2
+ import { Command, CommanderError } from "commander";
3
+ import updateNotifier from "update-notifier";
3
4
  import { readVersion } from "./version.js";
5
+ import { agentError } from "./output.js";
6
+ import { buildUnknownCommandError, buildUnknownSubcommandError, findUnknownSubcommand } from "./lib/unknown-command.js";
4
7
  import { registerCmd } from "./commands/register.js";
5
8
  import { loginCmd } from "./commands/login.js";
6
- import { linkCmd, verifyCmd } from "./commands/link.js";
9
+ import { authCmd } from "./commands/auth.js";
7
10
  import { companiesCmd } from "./commands/companies.js";
8
11
  import { whoamiCmd } from "./commands/whoami.js";
9
12
  import { identityCmd } from "./commands/identity.js";
@@ -13,8 +16,10 @@ import { usageCmd } from "./commands/usage.js";
13
16
  import { emailCmd } from "./commands/email.js";
14
17
  import { searchCmd } from "./commands/search.js";
15
18
  import { llmCmd } from "./commands/llm.js";
19
+ import { audioCmd } from "./commands/audio.js";
16
20
  import { imagesCmd } from "./commands/images.js";
17
21
  import { videoCmd } from "./commands/video.js";
22
+ import { cloneCmd } from "./commands/clone.js";
18
23
  import { jobsCmd } from "./commands/jobs.js";
19
24
  import { domainsCmd } from "./commands/domains.js";
20
25
  import { billingCmd } from "./commands/billing.js";
@@ -24,21 +29,32 @@ import { verificationCmd } from "./commands/verification.js";
24
29
  import { formationCmd } from "./commands/formation.js";
25
30
  import { appDataCmd } from "./commands/app-data.js";
26
31
  import { businessCmd } from "./commands/business.js";
32
+ import { peopleCmd } from "./commands/people.js";
33
+ import { companyDataCmd } from "./commands/company-data.js";
34
+ import { socialDataCmd } from "./commands/social-data.js";
27
35
  import { seoCmd } from "./commands/seo.js";
28
36
  import { aeoCmd } from "./commands/aeo.js";
29
37
  import { ecommerceCmd } from "./commands/ecommerce.js";
30
38
  import { cardsCmd } from "./commands/cards.js";
31
39
  import { phoneCmd } from "./commands/phone.js";
32
40
  import { tradingCmd } from "./commands/trading.js";
41
+ import { paymentsCmd } from "./commands/payments.js";
42
+ import { walletCmd } from "./commands/wallet.js";
33
43
  import { ceoCmd } from "./commands/ceo.js";
34
44
  import { tasksCmd } from "./commands/tasks.js";
35
45
  import { objectivesCmd } from "./commands/objectives.js";
36
46
  import { employeesCmd } from "./commands/employees.js";
37
47
  import { cronCmd } from "./commands/cron-jobs.js";
48
+ import { loopsCmd } from "./commands/loops.js";
38
49
  import { memoryCmd } from "./commands/memory.js";
50
+ import { brainCmd } from "./commands/brain.js";
39
51
  import { appsCmd } from "./commands/apps.js";
52
+ import { voiceCmd } from "./commands/voice.js";
40
53
  import { computeCmd } from "./commands/compute.js";
41
54
  import { queueCmd } from "./commands/queue.js";
55
+ import { sandboxCmd } from "./commands/sandbox.js";
56
+ import { mobileCmd } from "./commands/mobile.js";
57
+ import { projectsCmd } from "./commands/projects.js";
42
58
  import { useCmd } from "./commands/use.js";
43
59
  import { usersCmd } from "./commands/users.js";
44
60
  import { accountKitsCmd } from "./commands/account-kits.js";
@@ -46,6 +62,10 @@ import { vaultCmd } from "./commands/vault.js";
46
62
  import { logsCmd } from "./commands/logs.js";
47
63
  import { connectionsCmd } from "./commands/connections.js";
48
64
  import { approvalsCmd } from "./commands/approvals.js";
65
+ import { sessionsCmd } from "./commands/sessions.js";
66
+ import { configCmd } from "./commands/config.js";
67
+ import { setOutputFlags } from "./output.js";
68
+ import { setActiveProjectOverride } from "./client.js";
49
69
  import { browserCmd } from "./commands/browser.js";
50
70
  import { agentProfilesCmd, revokeCmd } from "./commands/agent-profiles.js";
51
71
  import { initCmd } from "./commands/init.js";
@@ -53,7 +73,23 @@ import { upCmd, downCmd } from "./commands/up.js";
53
73
  import { moduleCmd } from "./commands/module.js";
54
74
  import { envCmd } from "./commands/env.js";
55
75
  import { reportCmd } from "./commands/report.js";
76
+ import { teamsCmd } from "./commands/teams.js";
77
+ import { verifyCmd } from "./commands/legacy-auth.js";
78
+ import { LEGACY_RUNTIME_ALIASES, markDeprecated } from "./lib/deprecation.js";
79
+ import { cleanCommanderMessage, commandAction, configureStructuredValidation, helpCommand } from "./lib/cli-validation.js";
56
80
  const program = new Command();
81
+ // Human-facing "update available" banner. update-notifier prints a box to
82
+ // STDERR only, so it never pollutes the JSON on stdout. Guarded to a no-op for
83
+ // agents/CI: skipped when stdout isn't a TTY, or when NAIVE_NO_UPDATE_NOTIFIER /
84
+ // NO_UPDATE_NOTIFIER is set. ~24h check interval; deferred so it prints on exit.
85
+ if (process.stdout.isTTY &&
86
+ !process.env.NAIVE_NO_UPDATE_NOTIFIER &&
87
+ !process.env.NO_UPDATE_NOTIFIER) {
88
+ updateNotifier({
89
+ pkg: { name: "@usenaive-sdk/cli", version: readVersion() },
90
+ updateCheckInterval: 1000 * 60 * 60 * 24,
91
+ }).notify({ defer: true, isGlobal: true });
92
+ }
57
93
  program
58
94
  .name("naive")
59
95
  .description(`Naïve CLI — give every AI agent its own governed real-world agentProfile.
@@ -77,20 +113,22 @@ Getting Started:
77
113
  AgentProfiles (the governed real-world bundle):
78
114
  init Scaffold a naive.config.ts with an agent profile template
79
115
  up Register infrastructure, runtime pool, and agent profile templates
80
- agent profiles Provision / list / get / revoke per-tenant agent profiles
116
+ agent-profiles Provision / list / get / revoke per-tenant agent profiles
81
117
  revoke Absolute revoke of an agent profile (freeze card, halt sends, tear down)
82
118
  module Add/list modules (capabilities) for your agent profiles
83
119
  env Switch API environment / create per-tenant preview sandboxes
84
120
 
85
121
  Authentication:
86
- register Create a new account (email + password → API key)
87
- login Log in to existing account (email + password → API key)
88
- link Passwordless account linking via email verification
89
- verify Complete the link flow with verification code
122
+ register Create a new account (email + password → API key)
123
+ login Log in to existing account (email + password → API key)
124
+ auth google Sign in / sign up with Google in your browser (no password)
125
+ auth email Sign in / sign up with a durable email magic link
126
+ verify Retired — six-digit code sign-in no longer exists. Use 'auth email'
90
127
 
91
128
  Account Management:
92
129
  whoami Show current identity
93
- companies List/switch companies
130
+ companies List/switch organizations (alias: naive organization)
131
+ projects List/create/select projects — the layer inside your organization
94
132
  domains Manage email domains (list, connect, verify, purchase, edit DNS records)
95
133
  keys Manage API keys
96
134
  status Full status overview
@@ -98,30 +136,50 @@ Account Management:
98
136
  identity View provisioned resources
99
137
  billing Manage billing — plans, subscriptions, credit top-ups
100
138
 
101
- Orchestration:
102
- ceo CEO agent — run prompts, approve teams, stream output
103
- tasks Kanban task management — create, assign, complete, block
104
- objectives Strategic objectives — high-level goals that decompose into tasks
105
- employees AI workforce — hire, fire, configure agents
106
- cron Scheduled recurring jobs — create, trigger, pause, remove
107
- memory Persistent agent memory — add, list, remove facts and preferences
139
+ The durable runtime:
140
+ teams Declare a team, send it work, watch it, decide what it asks for.
141
+ The addressing tuple is (company, tenant, team) and --tenant is
142
+ required on every subcommand except 'list'.
143
+ $ naive teams submit support "refund the duplicate charge" --tenant tu_8f21
144
+
145
+ Legacy orchestration — DEPRECATED, still working, FROZEN (no new capabilities):
146
+ Every command below keeps answering exactly as before and prints a one-line
147
+ deprecation banner on stderr naming its replacement. Nothing is disabled.
148
+ ceo → naive teams say / show / runs / watch
149
+ tasks → naive teams submit / board / task / unblock
150
+ objectives → naive teams submit --task
151
+ employees → naive teams roster (the provisioning verbs have no replacement:
152
+ roles are declared in naive.config.ts)
153
+ cron → naive teams schedule / unschedule (5 of 8 subcommands)
154
+ loops → naive teams schedule
155
+ memory → naive brain remember / forget
156
+
157
+ Knowledge:
158
+ brain Company knowledge + the run loop: attach, consolidate, proposals
108
159
  apps Web apps — create, deploy, manage Vercel-backed applications
109
160
 
110
161
  Primitives:
111
162
  email Send/receive email via provisioned inboxes
112
163
  search Web search, URL extraction, deep research
113
164
  llm LLM chat completions via OpenRouter (300+ models)
165
+ audio Speech — transcribe, synthesize, and native audio turns
114
166
  browser Live cloud browser sessions — navigate, act, extract
115
167
  seo SEO tools — keywords, backlinks, competitive intelligence
116
168
  app-data Mobile app data — Google Play, Apple App Store
117
- business Business data — Google, Trustpilot, TripAdvisor, Social
169
+ business Reviews & listings — Google, Trustpilot, TripAdvisor, travel
170
+ company-data Private company firmographics, funding & tech stack
171
+ people B2B people search & contact enrichment (opt-in)
172
+ social-data Read public posts on X, Reddit, Bluesky & Hacker News
118
173
  aeo AEO/GEO — LLM responses, scraper, mentions, AI keywords
119
174
  ecommerce E-commerce — Google Shopping, Amazon products & sellers
120
175
  images AI image generation (fal.ai) + stock photos (Pexels)
121
176
  video AI video generation (fal.ai)
177
+ clone Digital-twin talking video (image + cloned voice + script)
122
178
  social Social media — connect accounts, post, analytics
123
179
  cards Virtual cards — Stripe Issuing + Reloadly prepaid
124
180
  trading Trading — link a brokerage account (OAuth) & trade stocks, options & crypto
181
+ payments x402 stablecoin payments — quote & pay for paywalled resources
182
+ wallet The agent's crypto wallet — balance, spend policy, funding
125
183
  verification Identity verification (KYC) via Footprint
126
184
  formation Company formation (LLC incorporation) via Doola
127
185
  jobs Monitor async generation/research jobs
@@ -135,6 +193,7 @@ Feedback & Bug Reports:
135
193
 
136
194
  Governance (human-in-the-loop):
137
195
  approvals Review & resolve agent-requested approvals for sensitive actions
196
+ sessions MCP sessions — mint / list / revoke short-lived per-user credentials
138
197
  Sensitive actions (issue/fund a card, purchase a domain, KYC, form a company,
139
198
  connect/sign up for a 3rd-party service) may require human approval depending
140
199
  on the user's Account Kit. When gated, the command returns
@@ -142,17 +201,41 @@ Governance (human-in-the-loop):
142
201
  'naive approvals approve <id>'. Configure which actions are gated in the
143
202
  Account Kit (dashboard) or leave the secure defaults on.
144
203
 
204
+ Payments are the exception, by design: 'naive payments pay' spends real USDC
205
+ but is NOT approval-gated. Its cap is enforced inside the custody plane at
206
+ signing time, so it holds even against a compromised agent runtime — a
207
+ guarantee an approval prompt cannot make. Bound it with 'naive wallet policy'
208
+ (perTxMax / dailyBudget) and by how much you fund. Administering the wallet
209
+ (fund/transfer/policy/sweep) is human-only and refuses an agent key outright.
210
+
145
211
  Environment Variables:
146
212
  NAIVE_API_KEY Override API key (for CI/headless use)
147
213
  NAIVE_BASE_URL Override API URL (for local dev, default: https://api.usenaive.ai)
148
214
 
149
- Documentation: https://docs.usenaive.ai
215
+ Documentation: https://usenaive.ai/docs
150
216
  `);
217
+ // Global output-mode flags. Default is machine JSON (safe for agents/pipes/CI/pty callers);
218
+ // human mode is OPT-IN only (--human, NAIVE_HUMAN=1, or `naive config output human`). --json forces
219
+ // machine output even when human mode is configured.
220
+ program
221
+ .option("--json", "Force machine JSON output (default for non-interactive use)")
222
+ .option("--human", "Force human-readable output for this command")
223
+ // One command's project, without changing the persisted selection. Omitted =
224
+ // the active project (`naive projects use`), and with none of those = the
225
+ // organization's default project.
226
+ .option("--project <project_id>", "Act inside this project for this command only");
227
+ function applyOutputFlags() {
228
+ const o = program.opts();
229
+ setOutputFlags({ json: !!o.json, human: !!o.human });
230
+ setActiveProjectOverride(typeof o.project === "string" ? o.project : undefined);
231
+ }
232
+ program.hook("preAction", applyOutputFlags);
233
+ program.addCommand(configCmd);
151
234
  program.addCommand(registerCmd);
152
235
  program.addCommand(loginCmd);
153
- program.addCommand(linkCmd);
154
- program.addCommand(verifyCmd);
236
+ program.addCommand(authCmd);
155
237
  program.addCommand(companiesCmd);
238
+ program.addCommand(projectsCmd);
156
239
  program.addCommand(whoamiCmd);
157
240
  program.addCommand(identityCmd);
158
241
  program.addCommand(keysCmd);
@@ -163,18 +246,25 @@ program.addCommand(billingCmd);
163
246
  program.addCommand(emailCmd);
164
247
  program.addCommand(searchCmd);
165
248
  program.addCommand(llmCmd);
249
+ program.addCommand(audioCmd);
166
250
  program.addCommand(seoCmd);
167
251
  program.addCommand(appDataCmd);
168
252
  program.addCommand(businessCmd);
253
+ program.addCommand(companyDataCmd);
254
+ program.addCommand(peopleCmd);
255
+ program.addCommand(socialDataCmd);
169
256
  program.addCommand(aeoCmd);
170
257
  program.addCommand(ecommerceCmd);
171
258
  program.addCommand(imagesCmd);
172
259
  program.addCommand(videoCmd);
260
+ program.addCommand(cloneCmd);
173
261
  program.addCommand(socialCmd);
174
262
  program.addCommand(mediaCmd);
175
263
  program.addCommand(cardsCmd);
176
264
  program.addCommand(phoneCmd);
177
265
  program.addCommand(tradingCmd);
266
+ program.addCommand(paymentsCmd);
267
+ program.addCommand(walletCmd);
178
268
  program.addCommand(verificationCmd);
179
269
  program.addCommand(formationCmd);
180
270
  program.addCommand(jobsCmd);
@@ -183,10 +273,15 @@ program.addCommand(tasksCmd);
183
273
  program.addCommand(objectivesCmd);
184
274
  program.addCommand(employeesCmd);
185
275
  program.addCommand(cronCmd);
276
+ program.addCommand(loopsCmd);
186
277
  program.addCommand(memoryCmd);
278
+ program.addCommand(brainCmd);
187
279
  program.addCommand(appsCmd);
280
+ program.addCommand(voiceCmd);
188
281
  program.addCommand(computeCmd);
189
282
  program.addCommand(queueCmd);
283
+ program.addCommand(sandboxCmd);
284
+ program.addCommand(mobileCmd);
190
285
  program.addCommand(browserCmd);
191
286
  program.addCommand(reportCmd);
192
287
  // AgentProfiles (governed real-world bundle) + IaC
@@ -197,6 +292,97 @@ program.addCommand(agentProfilesCmd);
197
292
  program.addCommand(revokeCmd);
198
293
  program.addCommand(moduleCmd);
199
294
  program.addCommand(envCmd);
295
+ // The durable runtime. 28 subcommands, all built from lib/teams-catalog.ts.
296
+ program.addCommand(teamsCmd);
297
+ // Retired, and it says so instead of pretending a newer CLI has it.
298
+ program.addCommand(verifyCmd);
299
+ /**
300
+ * ── THE LEGACY ORCHESTRATION SURFACE ────────────────────────────────────────
301
+ *
302
+ * These seven groups KEEP WORKING. `markDeprecated` installs a commander
303
+ * `preAction` hook that writes a banner to stderr and attaches a machine notice
304
+ * to the stdout envelope, and then the action runs, unchanged. Nothing below
305
+ * gates, refuses or short-circuits anything, and no route is removed. Existing
306
+ * users must not break.
307
+ *
308
+ * The hook goes on the GROUP rather than on each handler, so a subcommand added
309
+ * to one of these groups next month is marked without its author doing anything.
310
+ *
311
+ * The subject and the `[dep.…]` id are derived from `cmd.name()` — the one place
312
+ * the name is already written down — so a rename cannot leave a notice pointing
313
+ * at a command that no longer exists.
314
+ */
315
+ const LEGACY_ORCHESTRATION = {
316
+ alsoCalled: LEGACY_RUNTIME_ALIASES,
317
+ why: "the durable runtime enforces policy at the tool boundary, not only at the gateway, " +
318
+ "and it is the only runtime new work is built on",
319
+ since: "2026-08",
320
+ sunset: { kind: "frozen" },
321
+ guide: "https://usenaive.ai/docs/migration-guides/legacy-orchestration-to-durable-teams",
322
+ };
323
+ export const LEGACY_DEPRECATIONS = [
324
+ markDeprecated(ceoCmd, {
325
+ id: "dep.primitive.ceo",
326
+ ...LEGACY_ORCHESTRATION,
327
+ drives: "the legacy orchestration runtime's lead agent, which is FROZEN — it accepts no new capabilities.",
328
+ replacement: { kind: "use", what: "naive teams say <team> --tenant <tu> · naive teams show / runs / watch" },
329
+ }),
330
+ markDeprecated(tasksCmd, {
331
+ id: "dep.primitive.tasks",
332
+ ...LEGACY_ORCHESTRATION,
333
+ drives: "the legacy orchestration runtime's board, which is FROZEN — it accepts no new capabilities.",
334
+ replacement: { kind: "use", what: 'naive teams submit <team> "<goal>" --tenant <tu> · naive teams board / task / unblock' },
335
+ gaps: [
336
+ {
337
+ sub: "complete",
338
+ because: "the durable runtime completes through the judge plus attestation, not an operator POST",
339
+ },
340
+ { sub: "dispatch", because: "the durable runtime dispatches from the board itself" },
341
+ { sub: "run", because: "work is submitted, not run — `naive teams submit` is the one verb" },
342
+ ],
343
+ }),
344
+ markDeprecated(objectivesCmd, {
345
+ id: "dep.primitive.objectives",
346
+ ...LEGACY_ORCHESTRATION,
347
+ drives: "a second noun for a goal with tasks under it, on the FROZEN legacy orchestration runtime.",
348
+ replacement: { kind: "use", what: "naive teams submit <team> --task <id>" },
349
+ }),
350
+ markDeprecated(employeesCmd, {
351
+ id: "dep.primitive.employees",
352
+ ...LEGACY_ORCHESTRATION,
353
+ drives: "the legacy orchestration runtime's roster and its provisioning verbs, which are FROZEN.",
354
+ replacement: { kind: "use", what: "naive teams roster <team> --tenant <tu>" },
355
+ gaps: [
356
+ {
357
+ sub: "(the provisioning verbs)",
358
+ because: "roles are DECLARED in naive.config.ts and the durable runtime 409s an undeclared role — " +
359
+ "there is no imperative equivalent, by design",
360
+ },
361
+ ],
362
+ }),
363
+ markDeprecated(cronCmd, {
364
+ id: "dep.primitive.cron",
365
+ ...LEGACY_ORCHESTRATION,
366
+ drives: "scheduled work on the FROZEN legacy orchestration runtime.",
367
+ replacement: { kind: "use", what: "naive teams schedule / unschedule" },
368
+ gaps: [
369
+ { sub: "pause", because: "the durable runtime has no pause — stop the team, or unschedule" },
370
+ { sub: "resume", because: "the durable runtime has no pause to resume from" },
371
+ ],
372
+ }),
373
+ markDeprecated(loopsCmd, {
374
+ id: "dep.primitive.loops",
375
+ ...LEGACY_ORCHESTRATION,
376
+ drives: "recurring agent runs on the FROZEN legacy orchestration runtime.",
377
+ replacement: { kind: "use", what: "naive teams schedule" },
378
+ }),
379
+ markDeprecated(memoryCmd, {
380
+ id: "dep.primitive.memory",
381
+ ...LEGACY_ORCHESTRATION,
382
+ drives: "a per-agent fact store that is a retired product noun — the company brain is the one memory.",
383
+ replacement: { kind: "use", what: "naive brain remember · naive brain recall · naive brain forget" },
384
+ }),
385
+ ];
200
386
  // Multi-tenant v2
201
387
  program.addCommand(useCmd);
202
388
  program.addCommand(usersCmd);
@@ -205,5 +391,89 @@ program.addCommand(vaultCmd);
205
391
  program.addCommand(logsCmd);
206
392
  program.addCommand(connectionsCmd);
207
393
  program.addCommand(approvalsCmd);
208
- program.parse();
394
+ program.addCommand(sessionsCmd);
395
+ // Unknown-command handler: instead of commander's raw
396
+ // "error: unknown command 'report' (Did you mean memory?)" stderr line, emit a
397
+ // structured cli_outdated JSON error — the command may exist in a newer CLI.
398
+ // Valid commands and --help are unaffected (this only fires on no match).
399
+ program.on("command:*", (operands) => {
400
+ applyOutputFlags();
401
+ const unknown = operands[0] ?? program.args[0] ?? "";
402
+ const built = buildUnknownCommandError(unknown, readVersion());
403
+ agentError({ action: built.action, error: built.error, recovery_steps: built.recovery_steps });
404
+ });
405
+ // A TRUE last resort, below Commander. `parseAsync` awaits the action handler, so
406
+ // a command that rejects is caught in the catch block below — that is the primary
407
+ // path. This stays for what parseAsync cannot see: a promise a command `void`s
408
+ // without awaiting. Node would otherwise print a raw stack to stderr and exit 1,
409
+ // and an agent parsing stdout would get nothing it can act on.
410
+ process.on("unhandledRejection", (reason) => {
411
+ const err = {
412
+ code: "internal_error",
413
+ message: reason instanceof Error ? reason.message : String(reason),
414
+ };
415
+ agentError({
416
+ action: program.args[0] ?? "cli",
417
+ error: err,
418
+ recovery_steps: [
419
+ { command: "naive status", description: "Check API connectivity and auth status" },
420
+ {
421
+ command: 'naive report "<what failed>" --command "<the command you ran>" --kind error',
422
+ description: "Report it to the naive team if it persists",
423
+ },
424
+ ],
425
+ });
426
+ });
427
+ // Commander normally prints plain-text validation failures before exiting. The
428
+ // CLI promises a machine-readable envelope, so intercept only those failures;
429
+ // normal --help/--version output keeps its standard zero-exit behavior.
430
+ configureStructuredValidation(program);
431
+ // N10: an unknown SUBcommand of a known group (e.g. `naive trading market-data`)
432
+ // must fail loudly and exit non-zero — even when `--help` is appended. Commander's
433
+ // help option otherwise short-circuits to the parent's help and exits 0, silently
434
+ // hiding the mistake and blocking flag discovery. Detect it up front, before parse,
435
+ // so the behavior is identical with and without `--help`. Real subcommands and a
436
+ // bare `<group> --help` are untouched (findUnknownSubcommand returns null).
437
+ const unknownSub = findUnknownSubcommand(program, process.argv.slice(2));
438
+ if (unknownSub) {
439
+ const built = buildUnknownSubcommandError(unknownSub.group, unknownSub.unknown, unknownSub.validSubs, readVersion());
440
+ agentError({ action: built.action, error: built.error, recovery_steps: built.recovery_steps });
441
+ }
442
+ try {
443
+ await program.parseAsync(process.argv);
444
+ }
445
+ catch (error) {
446
+ if (error instanceof CommanderError) {
447
+ if (error.exitCode === 0)
448
+ process.exit(0);
449
+ // Commander validates required options before preAction hooks run. Apply
450
+ // root output flags here too so validation errors honor --human, and an
451
+ // explicit --json still overrides NAIVE_HUMAN/configured human output.
452
+ applyOutputFlags();
453
+ const args = program.args.length > 0 ? program.args : process.argv.slice(2);
454
+ agentError({
455
+ action: commandAction(args),
456
+ error: {
457
+ code: "invalid_input",
458
+ message: cleanCommanderMessage(error.message),
459
+ commander_code: error.code,
460
+ },
461
+ recovery_steps: [
462
+ { command: helpCommand(args), description: "See required arguments and options" },
463
+ ],
464
+ });
465
+ }
466
+ agentError({
467
+ action: commandAction(program.args),
468
+ error: {
469
+ code: "internal_error",
470
+ message: "The command failed unexpectedly.",
471
+ hint: error instanceof Error ? error.message : String(error),
472
+ },
473
+ recovery_steps: [
474
+ { command: "# retry the command once", description: "Retry transient API or network failures" },
475
+ { command: 'naive report "CLI command failed" --kind error', description: "Report it if the failure persists" },
476
+ ],
477
+ });
478
+ }
209
479
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}