@usenaive-sdk/cli 0.15.1 → 1.0.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 (281) hide show
  1. package/README.md +43 -402
  2. package/dist/index.js +51775 -502
  3. package/package.json +22 -18
  4. package/dist/client.d.ts +0 -108
  5. package/dist/client.js +0 -458
  6. package/dist/client.js.map +0 -1
  7. package/dist/commands/account-kits.d.ts +0 -2
  8. package/dist/commands/account-kits.js +0 -71
  9. package/dist/commands/account-kits.js.map +0 -1
  10. package/dist/commands/aeo.d.ts +0 -2
  11. package/dist/commands/aeo.js +0 -451
  12. package/dist/commands/aeo.js.map +0 -1
  13. package/dist/commands/agent-profiles.d.ts +0 -11
  14. package/dist/commands/agent-profiles.js +0 -120
  15. package/dist/commands/agent-profiles.js.map +0 -1
  16. package/dist/commands/agents.d.ts +0 -2
  17. package/dist/commands/agents.js +0 -916
  18. package/dist/commands/agents.js.map +0 -1
  19. package/dist/commands/app-data.d.ts +0 -2
  20. package/dist/commands/app-data.js +0 -445
  21. package/dist/commands/app-data.js.map +0 -1
  22. package/dist/commands/approvals.d.ts +0 -2
  23. package/dist/commands/approvals.js +0 -242
  24. package/dist/commands/approvals.js.map +0 -1
  25. package/dist/commands/apps.d.ts +0 -9
  26. package/dist/commands/apps.js +0 -844
  27. package/dist/commands/apps.js.map +0 -1
  28. package/dist/commands/audio.d.ts +0 -9
  29. package/dist/commands/audio.js +0 -391
  30. package/dist/commands/audio.js.map +0 -1
  31. package/dist/commands/auth.d.ts +0 -31
  32. package/dist/commands/auth.js +0 -428
  33. package/dist/commands/auth.js.map +0 -1
  34. package/dist/commands/billing.d.ts +0 -2
  35. package/dist/commands/billing.js +0 -250
  36. package/dist/commands/billing.js.map +0 -1
  37. package/dist/commands/brain.d.ts +0 -2
  38. package/dist/commands/brain.js +0 -1300
  39. package/dist/commands/brain.js.map +0 -1
  40. package/dist/commands/browser.d.ts +0 -2
  41. package/dist/commands/browser.js +0 -378
  42. package/dist/commands/browser.js.map +0 -1
  43. package/dist/commands/business.d.ts +0 -2
  44. package/dist/commands/business.js +0 -566
  45. package/dist/commands/business.js.map +0 -1
  46. package/dist/commands/cards.d.ts +0 -2
  47. package/dist/commands/cards.js +0 -419
  48. package/dist/commands/cards.js.map +0 -1
  49. package/dist/commands/ceo.d.ts +0 -2
  50. package/dist/commands/ceo.js +0 -369
  51. package/dist/commands/ceo.js.map +0 -1
  52. package/dist/commands/clone.d.ts +0 -2
  53. package/dist/commands/clone.js +0 -203
  54. package/dist/commands/clone.js.map +0 -1
  55. package/dist/commands/companies.d.ts +0 -10
  56. package/dist/commands/companies.js +0 -283
  57. package/dist/commands/companies.js.map +0 -1
  58. package/dist/commands/company-data.d.ts +0 -2
  59. package/dist/commands/company-data.js +0 -168
  60. package/dist/commands/company-data.js.map +0 -1
  61. package/dist/commands/compute.d.ts +0 -2
  62. package/dist/commands/compute.js +0 -498
  63. package/dist/commands/compute.js.map +0 -1
  64. package/dist/commands/config.d.ts +0 -2
  65. package/dist/commands/config.js +0 -36
  66. package/dist/commands/config.js.map +0 -1
  67. package/dist/commands/connections.d.ts +0 -8
  68. package/dist/commands/connections.js +0 -137
  69. package/dist/commands/connections.js.map +0 -1
  70. package/dist/commands/cron-jobs.d.ts +0 -2
  71. package/dist/commands/cron-jobs.js +0 -245
  72. package/dist/commands/cron-jobs.js.map +0 -1
  73. package/dist/commands/domains.d.ts +0 -2
  74. package/dist/commands/domains.js +0 -474
  75. package/dist/commands/domains.js.map +0 -1
  76. package/dist/commands/ecommerce.d.ts +0 -2
  77. package/dist/commands/ecommerce.js +0 -277
  78. package/dist/commands/ecommerce.js.map +0 -1
  79. package/dist/commands/email.d.ts +0 -2
  80. package/dist/commands/email.js +0 -336
  81. package/dist/commands/email.js.map +0 -1
  82. package/dist/commands/employees.d.ts +0 -2
  83. package/dist/commands/employees.js +0 -190
  84. package/dist/commands/employees.js.map +0 -1
  85. package/dist/commands/env.d.ts +0 -7
  86. package/dist/commands/env.js +0 -112
  87. package/dist/commands/env.js.map +0 -1
  88. package/dist/commands/formation.d.ts +0 -2
  89. package/dist/commands/formation.js +0 -273
  90. package/dist/commands/formation.js.map +0 -1
  91. package/dist/commands/identity.d.ts +0 -2
  92. package/dist/commands/identity.js +0 -110
  93. package/dist/commands/identity.js.map +0 -1
  94. package/dist/commands/images.d.ts +0 -2
  95. package/dist/commands/images.js +0 -371
  96. package/dist/commands/images.js.map +0 -1
  97. package/dist/commands/init.d.ts +0 -5
  98. package/dist/commands/init.js +0 -43
  99. package/dist/commands/init.js.map +0 -1
  100. package/dist/commands/jobs.d.ts +0 -2
  101. package/dist/commands/jobs.js +0 -144
  102. package/dist/commands/jobs.js.map +0 -1
  103. package/dist/commands/keys.d.ts +0 -2
  104. package/dist/commands/keys.js +0 -156
  105. package/dist/commands/keys.js.map +0 -1
  106. package/dist/commands/legacy-auth.d.ts +0 -27
  107. package/dist/commands/legacy-auth.js +0 -64
  108. package/dist/commands/legacy-auth.js.map +0 -1
  109. package/dist/commands/llm.d.ts +0 -2
  110. package/dist/commands/llm.js +0 -125
  111. package/dist/commands/llm.js.map +0 -1
  112. package/dist/commands/login.d.ts +0 -2
  113. package/dist/commands/login.js +0 -65
  114. package/dist/commands/login.js.map +0 -1
  115. package/dist/commands/logout.d.ts +0 -7
  116. package/dist/commands/logout.js +0 -55
  117. package/dist/commands/logout.js.map +0 -1
  118. package/dist/commands/logs.d.ts +0 -2
  119. package/dist/commands/logs.js +0 -42
  120. package/dist/commands/logs.js.map +0 -1
  121. package/dist/commands/loops.d.ts +0 -2
  122. package/dist/commands/loops.js +0 -260
  123. package/dist/commands/loops.js.map +0 -1
  124. package/dist/commands/media.d.ts +0 -2
  125. package/dist/commands/media.js +0 -183
  126. package/dist/commands/media.js.map +0 -1
  127. package/dist/commands/memory.d.ts +0 -2
  128. package/dist/commands/memory.js +0 -151
  129. package/dist/commands/memory.js.map +0 -1
  130. package/dist/commands/mobile.d.ts +0 -4
  131. package/dist/commands/mobile.js +0 -382
  132. package/dist/commands/mobile.js.map +0 -1
  133. package/dist/commands/module.d.ts +0 -8
  134. package/dist/commands/module.js +0 -48
  135. package/dist/commands/module.js.map +0 -1
  136. package/dist/commands/objectives.d.ts +0 -2
  137. package/dist/commands/objectives.js +0 -243
  138. package/dist/commands/objectives.js.map +0 -1
  139. package/dist/commands/payments.d.ts +0 -2
  140. package/dist/commands/payments.js +0 -131
  141. package/dist/commands/payments.js.map +0 -1
  142. package/dist/commands/people.d.ts +0 -2
  143. package/dist/commands/people.js +0 -197
  144. package/dist/commands/people.js.map +0 -1
  145. package/dist/commands/phone.d.ts +0 -2
  146. package/dist/commands/phone.js +0 -289
  147. package/dist/commands/phone.js.map +0 -1
  148. package/dist/commands/projects.d.ts +0 -13
  149. package/dist/commands/projects.js +0 -220
  150. package/dist/commands/projects.js.map +0 -1
  151. package/dist/commands/queue.d.ts +0 -2
  152. package/dist/commands/queue.js +0 -121
  153. package/dist/commands/queue.js.map +0 -1
  154. package/dist/commands/register.d.ts +0 -2
  155. package/dist/commands/register.js +0 -88
  156. package/dist/commands/register.js.map +0 -1
  157. package/dist/commands/report.d.ts +0 -17
  158. package/dist/commands/report.js +0 -109
  159. package/dist/commands/report.js.map +0 -1
  160. package/dist/commands/sandbox.d.ts +0 -2
  161. package/dist/commands/sandbox.js +0 -558
  162. package/dist/commands/sandbox.js.map +0 -1
  163. package/dist/commands/search.d.ts +0 -2
  164. package/dist/commands/search.js +0 -223
  165. package/dist/commands/search.js.map +0 -1
  166. package/dist/commands/seo.d.ts +0 -2
  167. package/dist/commands/seo.js +0 -528
  168. package/dist/commands/seo.js.map +0 -1
  169. package/dist/commands/sessions.d.ts +0 -6
  170. package/dist/commands/sessions.js +0 -109
  171. package/dist/commands/sessions.js.map +0 -1
  172. package/dist/commands/social-data.d.ts +0 -2
  173. package/dist/commands/social-data.js +0 -245
  174. package/dist/commands/social-data.js.map +0 -1
  175. package/dist/commands/social.d.ts +0 -2
  176. package/dist/commands/social.js +0 -407
  177. package/dist/commands/social.js.map +0 -1
  178. package/dist/commands/status.d.ts +0 -2
  179. package/dist/commands/status.js +0 -79
  180. package/dist/commands/status.js.map +0 -1
  181. package/dist/commands/support.d.ts +0 -2
  182. package/dist/commands/support.js +0 -134
  183. package/dist/commands/support.js.map +0 -1
  184. package/dist/commands/tasks.d.ts +0 -2
  185. package/dist/commands/tasks.js +0 -409
  186. package/dist/commands/tasks.js.map +0 -1
  187. package/dist/commands/teams.d.ts +0 -69
  188. package/dist/commands/teams.js +0 -503
  189. package/dist/commands/teams.js.map +0 -1
  190. package/dist/commands/trading.d.ts +0 -2
  191. package/dist/commands/trading.js +0 -333
  192. package/dist/commands/trading.js.map +0 -1
  193. package/dist/commands/up.d.ts +0 -551
  194. package/dist/commands/up.js +0 -1149
  195. package/dist/commands/up.js.map +0 -1
  196. package/dist/commands/usage.d.ts +0 -2
  197. package/dist/commands/usage.js +0 -73
  198. package/dist/commands/usage.js.map +0 -1
  199. package/dist/commands/use.d.ts +0 -12
  200. package/dist/commands/use.js +0 -96
  201. package/dist/commands/use.js.map +0 -1
  202. package/dist/commands/users.d.ts +0 -10
  203. package/dist/commands/users.js +0 -82
  204. package/dist/commands/users.js.map +0 -1
  205. package/dist/commands/vault.d.ts +0 -2
  206. package/dist/commands/vault.js +0 -101
  207. package/dist/commands/vault.js.map +0 -1
  208. package/dist/commands/verification.d.ts +0 -2
  209. package/dist/commands/verification.js +0 -152
  210. package/dist/commands/verification.js.map +0 -1
  211. package/dist/commands/verify-email.d.ts +0 -19
  212. package/dist/commands/verify-email.js +0 -130
  213. package/dist/commands/verify-email.js.map +0 -1
  214. package/dist/commands/video.d.ts +0 -2
  215. package/dist/commands/video.js +0 -417
  216. package/dist/commands/video.js.map +0 -1
  217. package/dist/commands/voice.d.ts +0 -2
  218. package/dist/commands/voice.js +0 -516
  219. package/dist/commands/voice.js.map +0 -1
  220. package/dist/commands/wallet.d.ts +0 -2
  221. package/dist/commands/wallet.js +0 -244
  222. package/dist/commands/wallet.js.map +0 -1
  223. package/dist/commands/webhooks.d.ts +0 -13
  224. package/dist/commands/webhooks.js +0 -119
  225. package/dist/commands/webhooks.js.map +0 -1
  226. package/dist/commands/whoami.d.ts +0 -2
  227. package/dist/commands/whoami.js +0 -53
  228. package/dist/commands/whoami.js.map +0 -1
  229. package/dist/config.d.ts +0 -42
  230. package/dist/config.js +0 -83
  231. package/dist/config.js.map +0 -1
  232. package/dist/index.d.ts +0 -3
  233. package/dist/index.js.map +0 -1
  234. package/dist/lib/brain-select.d.ts +0 -193
  235. package/dist/lib/brain-select.js +0 -403
  236. package/dist/lib/brain-select.js.map +0 -1
  237. package/dist/lib/cli-validation.d.ts +0 -12
  238. package/dist/lib/cli-validation.js +0 -46
  239. package/dist/lib/cli-validation.js.map +0 -1
  240. package/dist/lib/config-errors.d.ts +0 -4
  241. package/dist/lib/config-errors.js +0 -13
  242. package/dist/lib/config-errors.js.map +0 -1
  243. package/dist/lib/deprecation.d.ts +0 -158
  244. package/dist/lib/deprecation.js +0 -140
  245. package/dist/lib/deprecation.js.map +0 -1
  246. package/dist/lib/duration.d.ts +0 -8
  247. package/dist/lib/duration.js +0 -11
  248. package/dist/lib/duration.js.map +0 -1
  249. package/dist/lib/http-response.d.ts +0 -11
  250. package/dist/lib/http-response.js +0 -96
  251. package/dist/lib/http-response.js.map +0 -1
  252. package/dist/lib/llm-paywall.d.ts +0 -82
  253. package/dist/lib/llm-paywall.js +0 -231
  254. package/dist/lib/llm-paywall.js.map +0 -1
  255. package/dist/lib/pricing.d.ts +0 -132
  256. package/dist/lib/pricing.js +0 -148
  257. package/dist/lib/pricing.js.map +0 -1
  258. package/dist/lib/starter-config.d.ts +0 -13
  259. package/dist/lib/starter-config.js +0 -71
  260. package/dist/lib/starter-config.js.map +0 -1
  261. package/dist/lib/stream-frames.d.ts +0 -114
  262. package/dist/lib/stream-frames.js +0 -169
  263. package/dist/lib/stream-frames.js.map +0 -1
  264. package/dist/lib/teams-catalog.d.ts +0 -141
  265. package/dist/lib/teams-catalog.js +0 -841
  266. package/dist/lib/teams-catalog.js.map +0 -1
  267. package/dist/lib/unknown-command.d.ts +0 -71
  268. package/dist/lib/unknown-command.js +0 -132
  269. package/dist/lib/unknown-command.js.map +0 -1
  270. package/dist/lib/version-check.d.ts +0 -26
  271. package/dist/lib/version-check.js +0 -21
  272. package/dist/lib/version-check.js.map +0 -1
  273. package/dist/output.d.ts +0 -246
  274. package/dist/output.js +0 -539
  275. package/dist/output.js.map +0 -1
  276. package/dist/prompt.d.ts +0 -17
  277. package/dist/prompt.js +0 -70
  278. package/dist/prompt.js.map +0 -1
  279. package/dist/version.d.ts +0 -2
  280. package/dist/version.js +0 -14
  281. package/dist/version.js.map +0 -1
@@ -1,244 +0,0 @@
1
- import { Command } from "commander";
2
- import { apiRequest, sessionRequest, handleApiError, activeUserId } from "../client.js";
3
- import { agentOutput, agentError } from "../output.js";
4
- export const walletCmd = new Command("wallet")
5
- .description("Wallet — the agent's crypto wallet, its balance, and its spend policy")
6
- .addHelpText("after", `
7
- Subcommands:
8
- naive wallet show Show the agent's wallet (address, network, custody)
9
- naive wallet balance Read USDC balances
10
-
11
- Operator subcommands (human-only — see Governance):
12
- naive wallet create Provision the wallet
13
- naive wallet fund Credit it from the treasury or a testnet faucet
14
- naive wallet transfer Send USDC to an address or another agent
15
- naive wallet policy Set the spend policy (per-tx max / daily budget)
16
- naive wallet sweep Drain it back to the treasury (decommission)
17
-
18
- How it works:
19
- Each agent gets its own crypto wallet. The agent SPENDS from it via
20
- 'naive payments pay' (x402), but cannot administer it — funding, transferring,
21
- re-policying and sweeping are the operator surface.
22
-
23
- Spend control:
24
- There is NO approval queue here, and that is deliberate — unlike cards and
25
- trading, the cap is enforced inside the custody plane at signing time:
26
- 1. Balance is the primary budget — an agent can never spend what isn't there.
27
- 2. perTxMax is enforced TWICE: at runtime, AND as a static account policy in
28
- the custody plane. The second check survives a fully compromised runtime,
29
- which an approval queue would not.
30
- 3. dailyBudget (optional) is a rolling runtime counter.
31
- Fund the wallet with what you can afford to lose, and set perTxMax.
32
-
33
- Governance:
34
- create/fund/transfer/policy/sweep require an OPERATOR credential — a signed-in
35
- session ('naive auth login'), or an api key minted with the "wallet:admin"
36
- scope for CI. An agent's key is refused. Reads (show/balance) are agent-safe.
37
-
38
- Examples:
39
- $ naive use alice
40
- $ naive wallet create
41
- $ naive wallet policy --per-tx-max 1.00 --daily-budget 10.00
42
- $ naive wallet fund --amount 5.00 --source faucet
43
- $ naive wallet balance
44
- $ naive wallet transfer --to 0xabc... --amount 1.50 --purpose "settle invoice"
45
- $ naive wallet sweep
46
- `);
47
- /**
48
- * The user-scoped wallet base. `wallet` has no company-level mount, so a
49
- * subject is required. Operator verbs go through sessionRequest (which does no
50
- * path rewriting), so they need the resolved path up front.
51
- */
52
- function walletBase(action) {
53
- const userId = activeUserId();
54
- if (!userId) {
55
- agentError({
56
- action,
57
- error: {
58
- code: "no_active_user",
59
- message: "The wallet is per-agent, so this command needs an active user.",
60
- hint: "Select one with 'naive use <user>'. Unlike cards, the wallet has no company-level fallback — it exists only per-agent.",
61
- },
62
- recovery_steps: [
63
- { command: "naive users list", description: "List the tenant users" },
64
- { command: "naive use <user>", description: "Set the active user" },
65
- ],
66
- });
67
- process.exit(1);
68
- }
69
- return `/v1/users/${userId}/wallet`;
70
- }
71
- walletCmd
72
- .command("show")
73
- .description("Show the agent's crypto wallet")
74
- .action(async () => {
75
- const resp = await apiRequest("GET", "/v1/wallet");
76
- if (resp.status === 404) {
77
- agentError({
78
- action: "wallet.show",
79
- error: {
80
- code: "no_wallet",
81
- message: "This agent has no wallet yet.",
82
- hint: "Provision one with 'naive wallet create', or declare has.crypto on the agent in naive.config.ts.",
83
- },
84
- recovery_steps: [{ command: "naive wallet create", description: "Provision the wallet" }],
85
- });
86
- return;
87
- }
88
- handleApiError("wallet.show", resp);
89
- agentOutput({
90
- action: "wallet.show",
91
- result: resp.data,
92
- next_steps: [
93
- { command: "naive wallet balance", description: "Read the USDC balance" },
94
- { command: "naive payments receipts", description: "See what it has paid for" },
95
- ],
96
- related_commands: ["naive wallet balance", "naive payments pay"],
97
- });
98
- });
99
- walletCmd
100
- .command("balance")
101
- .description("Read the wallet's USDC balances")
102
- .option("--network <network>", "Filter to one network (CAIP-2, e.g. eip155:8453)")
103
- .action(async (opts) => {
104
- const query = opts.network ? `?network=${encodeURIComponent(opts.network)}` : "";
105
- const resp = await apiRequest("GET", `/v1/wallet/balances${query}`);
106
- handleApiError("wallet.balance", resp);
107
- // getBalances returns a bare WalletBalance[] (not { balances: [...] }).
108
- const balances = Array.isArray(resp.data) ? resp.data : [];
109
- const usdc = balances.find((b) => b.asset === "USDC");
110
- agentOutput({
111
- action: "wallet.balance",
112
- result: resp.data,
113
- next_steps: [{ command: "naive payments pay --url <url>", description: "Pay for an x402 resource" }],
114
- hints: [
115
- usdc
116
- ? `USDC balance: ${usdc.amount}. The balance IS the budget — an agent cannot spend past it.`
117
- : "No USDC balance. Fund the wallet with 'naive wallet fund' before paying.",
118
- ],
119
- related_commands: ["naive wallet fund", "naive wallet show"],
120
- });
121
- });
122
- walletCmd
123
- .command("create")
124
- .description("Provision the agent's wallet (OPERATOR)")
125
- .option("--custody <custody>", "Custody backend: cdp | local | fake (default: the configured provider)")
126
- .option("--network <network>", "Network to provision on (CAIP-2, e.g. eip155:8453)")
127
- .option("--per-tx-max <amount>", "Max value of a single payment, decimal USDC (e.g. 1.00)")
128
- .option("--daily-budget <amount>", "Optional rolling daily cap, decimal USDC")
129
- .option("--smart-account", "Provision as a smart account")
130
- .action(async (opts) => {
131
- const policy = opts.perTxMax || opts.dailyBudget
132
- ? { perTxMax: opts.perTxMax, dailyBudget: opts.dailyBudget }
133
- : undefined;
134
- const resp = await sessionRequest("POST", walletBase("wallet.create"), {
135
- body: {
136
- ...(opts.custody && { custody: opts.custody }),
137
- ...(opts.network && { networks: [opts.network] }),
138
- ...(policy && { policy }),
139
- ...(opts.smartAccount && { smartAccount: true }),
140
- },
141
- });
142
- handleApiError("wallet.create", resp);
143
- agentOutput({
144
- action: "wallet.create",
145
- result: resp.data,
146
- next_steps: [
147
- { command: "naive wallet policy --per-tx-max 1.00", description: "Set the spend cap" },
148
- { command: "naive wallet fund --amount 5.00 --source faucet", description: "Fund it" },
149
- ],
150
- hints: [
151
- "Provisioning is idempotent — re-running returns the existing wallet.",
152
- "perTxMax is written into the custody plane as a static account policy, so it holds even if the agent runtime is compromised.",
153
- ],
154
- related_commands: ["naive wallet fund", "naive wallet policy"],
155
- });
156
- });
157
- walletCmd
158
- .command("fund")
159
- .description("Credit the wallet from the treasury or a testnet faucet (OPERATOR)")
160
- .requiredOption("--amount <amount>", "Decimal USDC amount (e.g. 5.00)")
161
- .requiredOption("--source <source>", "treasury | faucet (faucet is testnet only)")
162
- .option("--asset <asset>", "Asset to credit (default: USDC)")
163
- .action(async (opts) => {
164
- const resp = await sessionRequest("POST", `${walletBase("wallet.fund")}/fund`, {
165
- body: { amount: opts.amount, source: opts.source, ...(opts.asset && { asset: opts.asset }) },
166
- });
167
- handleApiError("wallet.fund", resp);
168
- agentOutput({
169
- action: "wallet.fund",
170
- result: resp.data,
171
- next_steps: [{ command: "naive wallet balance", description: "Confirm the credit landed" }],
172
- hints: ["The balance is the agent's real budget — fund only what you can afford to lose."],
173
- related_commands: ["naive wallet balance", "naive wallet policy"],
174
- });
175
- });
176
- walletCmd
177
- .command("transfer")
178
- .description("Send USDC from the wallet to an address or another agent (OPERATOR)")
179
- .requiredOption("--to <to>", "Destination address, or an agent id to target that agent's wallet")
180
- .requiredOption("--amount <amount>", "Decimal USDC amount")
181
- .requiredOption("--purpose <purpose>", "Why — recorded on the transfer for audit")
182
- .option("--asset <asset>", "Asset (default: USDC)")
183
- .option("--network <network>", "Network (CAIP-2)")
184
- .action(async (opts) => {
185
- const resp = await sessionRequest("POST", `${walletBase("wallet.transfer")}/transfer`, {
186
- body: {
187
- to: opts.to,
188
- amount: opts.amount,
189
- purpose: opts.purpose,
190
- ...(opts.asset && { asset: opts.asset }),
191
- ...(opts.network && { network: opts.network }),
192
- },
193
- });
194
- handleApiError("wallet.transfer", resp);
195
- agentOutput({
196
- action: "wallet.transfer",
197
- result: resp.data,
198
- next_steps: [{ command: "naive wallet balance", description: "Confirm the new balance" }],
199
- hints: ["Transfers are bounded by the wallet's perTxMax, the same cap that bounds agent payments."],
200
- related_commands: ["naive wallet balance", "naive wallet policy"],
201
- });
202
- });
203
- walletCmd
204
- .command("policy")
205
- .description("Set the wallet's spend policy (OPERATOR)")
206
- .requiredOption("--per-tx-max <amount>", "Max value of a single payment, decimal USDC (required)")
207
- .option("--daily-budget <amount>", "Optional rolling daily cap, decimal USDC")
208
- .action(async (opts) => {
209
- const resp = await sessionRequest("POST", `${walletBase("wallet.policy")}/policy`, {
210
- body: {
211
- policy: { perTxMax: opts.perTxMax, ...(opts.dailyBudget && { dailyBudget: opts.dailyBudget }) },
212
- },
213
- });
214
- handleApiError("wallet.policy", resp);
215
- agentOutput({
216
- action: "wallet.policy",
217
- result: resp.data,
218
- next_steps: [{ command: "naive wallet show", description: "Read back the wallet" }],
219
- hints: [
220
- "perTxMax is now enforced twice — at runtime AND re-issued into the custody plane, so it holds at signing time even if the agent runtime is compromised.",
221
- "If the custody plane can't be reached the change fails and nothing is saved, rather than storing a cap that isn't really enforced.",
222
- "The spend policy is the control that replaces an approval queue for payments.",
223
- ],
224
- related_commands: ["naive wallet show", "naive payments receipts"],
225
- });
226
- });
227
- walletCmd
228
- .command("sweep")
229
- .description("Drain the wallet back to the treasury — decommission (OPERATOR)")
230
- .option("--to <address>", "Destination address (default: the treasury)")
231
- .action(async (opts) => {
232
- const resp = await sessionRequest("POST", `${walletBase("wallet.sweep")}/sweep`, {
233
- body: { ...(opts.to && { to: opts.to }) },
234
- });
235
- handleApiError("wallet.sweep", resp);
236
- agentOutput({
237
- action: "wallet.sweep",
238
- result: resp.data,
239
- next_steps: [{ command: "naive wallet balance", description: "Confirm the wallet is drained" }],
240
- hints: ["Sweeping moves the funds out but does not delete the wallet — the agent simply has nothing to spend."],
241
- related_commands: ["naive wallet balance", "naive wallet show"],
242
- });
243
- });
244
- //# sourceMappingURL=wallet.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/commands/wallet.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- /**
2
- * `naive webhooks` — OUTBOUND notifications: naive POSTs to a URL you own. The
3
- * other direction (someone POSTs to naive to wake an agent) is `naive agents
4
- * webhook-add` — different secret, different signature string, opposite failure
5
- * modes, so deliberately a different verb on a different noun.
6
- *
7
- * 🔴 NO HARDCODED EVENT-TYPE LIST HERE. `event-types` asks the server, which
8
- * advertises exactly what its code emits. A copy here would be a fourth thing to
9
- * drift, and the drift has a precedent: `call.received` was advertised for
10
- * months after the routes that fired it were deleted.
11
- */
12
- import { Command } from "commander";
13
- export declare const webhooksCmd: Command;
@@ -1,119 +0,0 @@
1
- /**
2
- * `naive webhooks` — OUTBOUND notifications: naive POSTs to a URL you own. The
3
- * other direction (someone POSTs to naive to wake an agent) is `naive agents
4
- * webhook-add` — different secret, different signature string, opposite failure
5
- * modes, so deliberately a different verb on a different noun.
6
- *
7
- * 🔴 NO HARDCODED EVENT-TYPE LIST HERE. `event-types` asks the server, which
8
- * advertises exactly what its code emits. A copy here would be a fourth thing to
9
- * drift, and the drift has a precedent: `call.received` was advertised for
10
- * months after the routes that fired it were deleted.
11
- */
12
- import { Command } from "commander";
13
- import { apiRequest, handleApiError } from "../client.js";
14
- import { agentOutput, humanMode } from "../output.js";
15
- export const webhooksCmd = new Command("webhooks")
16
- .description("Outbound webhooks — naive POSTs signed events to a URL you own")
17
- .addHelpText("after", `
18
- Verifying a delivery:
19
- Body is {"event":..., "data":..., "ts": <unix ms>}. X-Naive-Signature is
20
- hex(HMAC-SHA256(secret, RAW BODY)) — raw bytes, not a re-serialised parse, or
21
- key order differs. The ts is INSIDE the signed body, so a captured delivery
22
- cannot be replayed with a fresher one; reject a stale ts after the MAC checks.
23
-
24
- Delivery guarantees:
25
- At-least-once, bounded. Three attempts, jittered exponential backoff, ~10s
26
- timeout each — one dead endpoint costs ~40s and no more. A subscription whose
27
- last ten deliveries ALL failed is set inactive rather than retried forever.
28
-
29
- Example:
30
- $ naive webhooks add https://you.example/hooks agent.job_complete
31
- `);
32
- webhooksCmd
33
- .command("list", { isDefault: true })
34
- .description("Your subscriptions. Secrets are reported as secret_set, never returned.")
35
- .action(async () => {
36
- const resp = await apiRequest("GET", "/v1/webhooks");
37
- handleApiError("webhooks.list", resp);
38
- const subs = (resp.data ?? {}).subscriptions ?? [];
39
- if (humanMode()) {
40
- if (subs.length === 0)
41
- process.stdout.write(" no subscriptions. `naive webhooks add <url> <type...>`\n");
42
- // INACTIVE is printed loudly: it is what ten consecutive failed
43
- // deliveries leave behind, and reading it as "fine" is why nothing arrives.
44
- for (const s of subs) {
45
- const state = s.active === false ? "INACTIVE" : "active";
46
- process.stdout.write(` ${String(s.id ?? "")} ${String(s.url ?? "")} ${state} ${s.eventTypes?.join(",") ?? ""}\n`);
47
- }
48
- }
49
- agentOutput({
50
- action: "webhooks.list",
51
- result: resp.data,
52
- next_steps: [{ command: "naive webhooks event-types", description: "What this deployment emits" }],
53
- hints: [`${subs.length} subscription${subs.length === 1 ? "" : "s"}. INACTIVE means delivery was disabled after repeated failures.`],
54
- });
55
- });
56
- webhooksCmd
57
- .command("event-types")
58
- .description("What this deployment actually emits — asked of the server, never cached here.")
59
- .action(async () => {
60
- const resp = await apiRequest("GET", "/v1/webhooks/event-types");
61
- handleApiError("webhooks.event-types", resp);
62
- const types = (resp.data ?? {}).event_types ?? [];
63
- if (humanMode())
64
- for (const t of types)
65
- process.stdout.write(` ${t}\n`);
66
- agentOutput({
67
- action: "webhooks.event-types",
68
- result: resp.data,
69
- next_steps: [{ command: `naive webhooks add <url> ${types[0] ?? "<type>"}`, description: "Subscribe" }],
70
- hints: ["Every type listed is emitted by code today; a test enforces that in both directions."],
71
- });
72
- });
73
- webhooksCmd
74
- .command("add <url> <types...>")
75
- .description("Subscribe. The signing secret prints ONCE.")
76
- .action(async (url, types) => {
77
- const resp = await apiRequest("POST", "/v1/webhooks", { url, eventTypes: types });
78
- handleApiError("webhooks.add", resp);
79
- const s = (resp.data ?? {});
80
- if (humanMode()) {
81
- process.stdout.write(` id ${s.id ?? ""}\n`);
82
- process.stdout.write(` secret ${s.secret ?? ""}\n`);
83
- process.stdout.write(" ⚠ the secret prints once and is never returned by list.\n");
84
- }
85
- agentOutput({
86
- action: "webhooks.add",
87
- result: resp.data,
88
- next_steps: [{ command: `naive webhooks test ${s.id ?? "<id>"}`, description: "Send a delivery and check your verifier" }],
89
- hints: ["Verify with hex(HMAC-SHA256(secret, RAW BODY)) against X-Naive-Signature."],
90
- });
91
- });
92
- webhooksCmd
93
- .command("test <id>")
94
- .description("Send a `webhook.test` delivery through the real delivery path.")
95
- .action(async (id) => {
96
- const resp = await apiRequest("POST", `/v1/webhooks/${id}/test`, {});
97
- handleApiError("webhooks.test", resp);
98
- agentOutput({
99
- action: "webhooks.test",
100
- result: resp.data,
101
- next_steps: [],
102
- // The difference between this proving something and proving nothing.
103
- hints: ["Same signer, same retry bound, same failure accounting as a real event — a failed test counts toward deactivation."],
104
- });
105
- });
106
- webhooksCmd
107
- .command("rm <id>")
108
- .description("Unsubscribe. Refuses if it deleted nothing.")
109
- .action(async (id) => {
110
- const resp = await apiRequest("DELETE", `/v1/webhooks/${id}`);
111
- handleApiError("webhooks.rm", resp);
112
- agentOutput({
113
- action: "webhooks.rm",
114
- result: resp.data,
115
- next_steps: [{ command: "naive webhooks list", description: "Confirm it is gone" }],
116
- hints: ["A delete that removed nothing 404s — 'it stopped' and 'it is still firing' must not share a response."],
117
- });
118
- });
119
- //# sourceMappingURL=webhooks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/commands/webhooks.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import { Command } from "commander";
2
- export declare const whoamiCmd: Command;
@@ -1,53 +0,0 @@
1
- import { Command } from "commander";
2
- import { apiRequest, handleApiError } from "../client.js";
3
- import { loadConfig } from "../config.js";
4
- import { agentOutput } from "../output.js";
5
- export const whoamiCmd = new Command("whoami")
6
- .description("Display current authenticated agent identity and company context")
7
- .addHelpText("after", `
8
- Examples:
9
- $ naive whoami
10
-
11
- What this does:
12
- Returns the agent name, ID, company name, and company ID associated
13
- with the currently configured API key.
14
-
15
- Use this to:
16
- - Confirm which account is active
17
- - Verify the API key is valid before running operations
18
- - Check which company context you're operating under
19
- `)
20
- .action(async () => {
21
- const resp = await apiRequest("GET", "/v1/auth/me");
22
- handleApiError("whoami", resp);
23
- const data = resp.data;
24
- // WHICH PROJECT AM I IN is half of "who am I" now. The selection is local
25
- // (`naive projects use` / `naive use`) and every command silently carries
26
- // it, so an answer that omits it lets an operator read a `staging` result as
27
- // a production one.
28
- const config = loadConfig();
29
- agentOutput({
30
- action: "whoami",
31
- result: {
32
- ...data,
33
- organization_id: data.company_id,
34
- organization_name: data.company_name,
35
- active_project_id: config.active_project_id ?? null,
36
- active_project_name: config.active_project_name ?? null,
37
- active_child_project_id: config.active_user_id ?? null,
38
- },
39
- next_steps: [
40
- { command: "naive status", description: "See full status including credits and resources" },
41
- { command: "naive companies", description: "List all companies you have access to" },
42
- { command: "naive identity", description: "View provisioned resources (email, phone)" },
43
- ],
44
- hints: [
45
- `Currently operating as "${data.agent_name}" under "${data.company_name}"`,
46
- config.active_project_id
47
- ? `Inside project ${config.active_project_name ?? config.active_project_id}.`
48
- : "Inside the organization's default project (`naive projects use <id>` to switch).",
49
- ],
50
- related_commands: ["naive status", "naive companies", "naive identity", "naive keys list"],
51
- });
52
- });
53
- //# sourceMappingURL=whoami.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KAC3C,WAAW,CAAC,kEAAkE,CAAC;KAC/E,WAAW,CAAC,OAAO,EAAE;;;;;;;;;;;;CAYvB,CAAC;KACC,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACpD,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAE/B,MAAM,IAAI,GAAG,IAAI,CAAC,IAA0F,CAAC;IAE7G,0EAA0E;IAC1E,0EAA0E;IAC1E,6EAA6E;IAC7E,oBAAoB;IACpB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,WAAW,CAAC;QACV,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,GAAG,IAAI;YACP,eAAe,EAAE,IAAI,CAAC,UAAU;YAChC,iBAAiB,EAAE,IAAI,CAAC,YAAY;YACpC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,IAAI;YACnD,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,IAAI,IAAI;YACvD,uBAAuB,EAAE,MAAM,CAAC,cAAc,IAAI,IAAI;SACvD;QACD,UAAU,EAAE;YACV,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,iDAAiD,EAAE;YAC3F,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,uCAAuC,EAAE;YACpF,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,2CAA2C,EAAE;SACxF;QACD,KAAK,EAAE;YACL,2BAA2B,IAAI,CAAC,UAAU,YAAY,IAAI,CAAC,YAAY,GAAG;YAC1E,MAAM,CAAC,iBAAiB;gBACtB,CAAC,CAAC,kBAAkB,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,iBAAiB,GAAG;gBAC7E,CAAC,CAAC,kFAAkF;SACvF;QACD,gBAAgB,EAAE,CAAC,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,CAAC;KAC3F,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/dist/config.d.ts DELETED
@@ -1,42 +0,0 @@
1
- export interface NaiveConfig {
2
- api_key?: string;
3
- base_url: string;
4
- agent_id?: string;
5
- company_id?: string;
6
- company_name?: string;
7
- session_token?: string;
8
- user_email?: string;
9
- session_company_id?: string;
10
- session_company_name?: string;
11
- /** Active subject tenant_user — the child project CLI commands act on by default. */
12
- active_user_id?: string;
13
- /**
14
- * Active project — the project CLI commands act inside by default. Unset means
15
- * the organization's DEFAULT project, which is where every row created before
16
- * projects existed lives, so an unset value is not an unscoped one.
17
- */
18
- active_project_id?: string;
19
- /** Display name of {@link active_project_id}, for `naive whoami` / `status`. */
20
- active_project_name?: string;
21
- /** Output format preference. Default (unset) = machine JSON — safe for agents/pipes/CI/pty
22
- * callers. "human" opts into chalk-rendered output + interactive wizards/confirms. Set via
23
- * `naive config output human`. Never inferred from isTTY (a pty-wrapped agent looks like a TTY). */
24
- output?: "human" | "json";
25
- /** One-time flag: the "run 'naive config output human'" discovery hint has been shown. */
26
- human_hint_shown?: boolean;
27
- }
28
- export declare function loadConfig(): NaiveConfig;
29
- export declare function saveConfig(config: Partial<NaiveConfig>): void;
30
- export declare function getApiKey(): string;
31
- /** Human session token for human-only operations (voice clone/revoke). NEVER falls back
32
- * to the agent api_key — the two auth modes are deliberately separate. */
33
- export declare function getSessionToken(): string;
34
- /** Clear only the session fields (used by `naive auth logout`). */
35
- export declare function clearSession(): void;
36
- /**
37
- * Clear the agent API-key credentials written by `naive login` / `naive
38
- * register`. Deliberately does NOT touch the human session — `naive auth
39
- * logout` owns that — and does NOT revoke anything server-side; the key stays
40
- * valid until `naive keys revoke`.
41
- */
42
- export declare function clearApiKey(): void;
package/dist/config.js DELETED
@@ -1,83 +0,0 @@
1
- import { readFileSync, writeFileSync, mkdirSync, existsSync, chmodSync, renameSync } from "node:fs";
2
- import { join } from "node:path";
3
- import { homedir } from "node:os";
4
- const CONFIG_DIR = join(homedir(), ".naive");
5
- const CONFIG_FILE = join(CONFIG_DIR, "config.json");
6
- const DEFAULT_CONFIG = {
7
- base_url: "https://api.usenaive.ai",
8
- };
9
- export function loadConfig() {
10
- let config = { ...DEFAULT_CONFIG };
11
- if (existsSync(CONFIG_FILE)) {
12
- try {
13
- const raw = readFileSync(CONFIG_FILE, "utf-8");
14
- config = { ...config, ...JSON.parse(raw) };
15
- }
16
- catch { }
17
- }
18
- if (process.env.NAIVE_BASE_URL)
19
- config.base_url = process.env.NAIVE_BASE_URL;
20
- return config;
21
- }
22
- // Atomic, owner-only write. The file holds an api_key AND a 30-day session token, so it
23
- // must never be world-readable. Write to a fresh temp path (mode 0600, never world-
24
- // readable since umask only clears bits), rename into place, then chmod the final file
25
- // (the writeFileSync `mode` is ignored when the destination already exists).
26
- function writeConfigFile(config) {
27
- mkdirSync(CONFIG_DIR, { recursive: true, mode: 0o700 });
28
- const tmp = `${CONFIG_FILE}.${process.pid}.tmp`;
29
- writeFileSync(tmp, JSON.stringify(config, null, 2), { mode: 0o600 });
30
- renameSync(tmp, CONFIG_FILE);
31
- chmodSync(CONFIG_FILE, 0o600);
32
- }
33
- export function saveConfig(config) {
34
- writeConfigFile({ ...loadConfig(), ...config });
35
- }
36
- export function getApiKey() {
37
- const envKey = process.env.NAIVE_API_KEY;
38
- if (envKey)
39
- return envKey;
40
- const config = loadConfig();
41
- if (!config.api_key) {
42
- console.error("No API key found. Run `naive register` or `naive auth email <email>` first.");
43
- process.exit(1);
44
- }
45
- return config.api_key;
46
- }
47
- /** Human session token for human-only operations (voice clone/revoke). NEVER falls back
48
- * to the agent api_key — the two auth modes are deliberately separate. */
49
- export function getSessionToken() {
50
- const envToken = process.env.NAIVE_SESSION_TOKEN;
51
- if (envToken)
52
- return envToken;
53
- const config = loadConfig();
54
- if (!config.session_token) {
55
- console.error("No human session found. Run `naive auth session-login --email <e> --password <p>` first.");
56
- process.exit(1);
57
- }
58
- return config.session_token;
59
- }
60
- /** Clear only the session fields (used by `naive auth logout`). */
61
- export function clearSession() {
62
- const current = loadConfig();
63
- delete current.session_token;
64
- delete current.user_email;
65
- delete current.session_company_id;
66
- delete current.session_company_name;
67
- writeConfigFile(current);
68
- }
69
- /**
70
- * Clear the agent API-key credentials written by `naive login` / `naive
71
- * register`. Deliberately does NOT touch the human session — `naive auth
72
- * logout` owns that — and does NOT revoke anything server-side; the key stays
73
- * valid until `naive keys revoke`.
74
- */
75
- export function clearApiKey() {
76
- const current = loadConfig();
77
- delete current.api_key;
78
- delete current.agent_id;
79
- delete current.company_id;
80
- delete current.company_name;
81
- writeConfigFile(current);
82
- }
83
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts DELETED
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- import { type DeprecationRecord } from "./lib/deprecation.js";
3
- export declare const LEGACY_DEPRECATIONS: DeprecationRecord[];
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}