@usenaive-sdk/cli 0.15.1 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. package/README.md +43 -402
  2. package/dist/index.js +51796 -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,243 +0,0 @@
1
- import { Command } from "commander";
2
- import { apiRequest, handleApiError } from "../client.js";
3
- import { agentOutput } from "../output.js";
4
- export const objectivesCmd = new Command("objectives")
5
- .description("Manage strategic objectives — high-level goals that decompose into tasks")
6
- .addHelpText("after", `
7
- Subcommands:
8
- naive objectives list List all objectives
9
- naive objectives create <title> Create a new objective
10
- naive objectives show <id> Show full objective details
11
- naive objectives update <id> Update an objective's status or progress
12
- naive objectives pause <id> Pause an active objective
13
- naive objectives abandon <id> Abandon an objective permanently
14
-
15
- Workflow:
16
- 1. naive objectives create "Launch product X" --criteria "..." → define a goal
17
- 2. naive objectives list → monitor all objectives
18
- 3. naive objectives show <id> → deep-dive into one
19
- 4. naive objectives update <id> --progress 75 → track progress
20
- 5. naive objectives pause <id> → temporarily halt work
21
-
22
- Objectives are the top-level unit of strategic planning. The CEO decomposes
23
- objectives into tasks on the kanban board, then dispatches them to employees.
24
-
25
- Examples:
26
- $ naive objectives list
27
- $ naive objectives create "Build company website" --criteria "Homepage, about, contact pages live"
28
- $ naive objectives show obj-abc-123
29
- $ naive objectives update obj-abc-123 --progress 50
30
- $ naive objectives pause obj-abc-123
31
- `);
32
- objectivesCmd
33
- .command("list")
34
- .description("List all objectives with their status and progress")
35
- .addHelpText("after", `
36
- Examples:
37
- $ naive objectives list
38
-
39
- Returns objectives with:
40
- - id, title, status (active, paused, completed, abandoned)
41
- - Progress percentage
42
- - Success criteria
43
- - Number of linked tasks
44
- - Created/updated timestamps
45
- `)
46
- .action(async () => {
47
- const resp = await apiRequest("GET", "/v1/objectives");
48
- handleApiError("objectives.list", resp);
49
- const data = resp.data;
50
- const count = data.objectives?.length ?? 0;
51
- const active = data.objectives?.filter((o) => o.status === "active") ?? [];
52
- agentOutput({
53
- action: "objectives.list",
54
- result: resp.data,
55
- next_steps: [
56
- ...(count > 0
57
- ? [{ command: `naive objectives show ${data.objectives[0].id}`, description: "View details of the first objective" }]
58
- : []),
59
- { command: "naive objectives create <title>", description: "Create a new objective" },
60
- { command: "naive tasks list", description: "View tasks across all objectives" },
61
- ],
62
- hints: [
63
- `${count} objective${count !== 1 ? "s" : ""} total, ${active.length} active`,
64
- ],
65
- related_commands: ["naive objectives create", "naive objectives show", "naive tasks list"],
66
- });
67
- });
68
- objectivesCmd
69
- .command("create <title>")
70
- .description("Create a new strategic objective")
71
- .option("--criteria <text>", "Success criteria — how to know this objective is done")
72
- .option("--drive <text>", "Driving motivation or business rationale")
73
- .option("--schedule <text>", "Target timeline or deadline (e.g., '2 weeks', '2025-02-01')")
74
- .option("--priority <level>", "Priority: low | medium | high | critical", "medium")
75
- .addHelpText("after", `
76
- Examples:
77
- $ naive objectives create "Launch email marketing campaign"
78
- $ naive objectives create "Build company website" --criteria "3 pages live, mobile responsive" --schedule "2 weeks"
79
- $ naive objectives create "Hire engineering team" --drive "Scale product development" --priority high
80
-
81
- What this does:
82
- Creates a new objective in 'active' status. The CEO will automatically
83
- decompose this into tasks on the kanban board during its next run.
84
- `)
85
- .action(async (title, opts) => {
86
- const resp = await apiRequest("POST", "/v1/objectives", {
87
- title,
88
- ...(opts.criteria && { success_criteria: opts.criteria }),
89
- ...(opts.drive && { drive: opts.drive }),
90
- ...(opts.schedule && { schedule: opts.schedule }),
91
- ...(opts.priority && { priority: opts.priority }),
92
- });
93
- handleApiError("objectives.create", resp);
94
- const data = resp.data;
95
- agentOutput({
96
- action: "objectives.create",
97
- result: resp.data,
98
- next_steps: [
99
- { command: `naive objectives show ${data.id}`, description: "View the new objective" },
100
- { command: 'naive ceo run "Decompose and execute objectives"', description: "Have the CEO start working on this" },
101
- { command: "naive tasks list --objective " + data.id, description: "View tasks for this objective (once CEO creates them)" },
102
- ],
103
- hints: [
104
- `Objective created: "${data.title}" (id: ${data.id})`,
105
- "The CEO will decompose this into tasks during its next run",
106
- ],
107
- related_commands: ["naive objectives list", "naive objectives show", "naive ceo run"],
108
- });
109
- });
110
- objectivesCmd
111
- .command("show <id>")
112
- .description("Show full details for a specific objective including linked tasks")
113
- .addHelpText("after", `
114
- Examples:
115
- $ naive objectives show obj-abc-123
116
-
117
- Returns:
118
- - Title, description, status, progress
119
- - Success criteria and driving rationale
120
- - Schedule/deadline
121
- - Linked tasks with their statuses
122
- - Activity timeline
123
- `)
124
- .action(async (id) => {
125
- const resp = await apiRequest("GET", `/v1/objectives/${id}`);
126
- handleApiError("objectives.show", resp);
127
- const data = resp.data;
128
- agentOutput({
129
- action: "objectives.show",
130
- result: resp.data,
131
- next_steps: [
132
- { command: `naive tasks list --objective ${id}`, description: "View all tasks for this objective" },
133
- ...(data.status === "active"
134
- ? [
135
- { command: `naive objectives update ${id} --progress <n>`, description: "Update progress" },
136
- { command: `naive objectives pause ${id}`, description: "Pause this objective" },
137
- ]
138
- : []),
139
- ...(data.status === "paused"
140
- ? [{ command: `naive objectives update ${id} --status active`, description: "Resume this objective" }]
141
- : []),
142
- ],
143
- hints: [
144
- `"${data.title}": ${data.status}${data.progress !== undefined ? ` (${data.progress}% complete)` : ""}`,
145
- ],
146
- related_commands: ["naive objectives list", "naive objectives update", "naive tasks list"],
147
- });
148
- });
149
- objectivesCmd
150
- .command("update <id>")
151
- .description("Update an objective's status or progress")
152
- .option("--status <status>", "New status: active | paused | completed")
153
- .option("--progress <n>", "Progress percentage (0-100)")
154
- .addHelpText("after", `
155
- Examples:
156
- $ naive objectives update obj-abc-123 --progress 75
157
- $ naive objectives update obj-abc-123 --status completed
158
- $ naive objectives update obj-abc-123 --status active --progress 50
159
- `)
160
- .action(async (id, opts) => {
161
- const body = {};
162
- if (opts.status)
163
- body.status = opts.status;
164
- if (opts.progress)
165
- body.progress = parseInt(opts.progress, 10);
166
- const resp = await apiRequest("PATCH", `/v1/objectives/${id}`, body);
167
- handleApiError("objectives.update", resp);
168
- agentOutput({
169
- action: "objectives.update",
170
- result: resp.data,
171
- next_steps: [
172
- { command: `naive objectives show ${id}`, description: "View updated objective" },
173
- { command: "naive objectives list", description: "View all objectives" },
174
- ],
175
- hints: [
176
- `Objective ${id} updated`,
177
- ...(opts.status ? [`Status → ${opts.status}`] : []),
178
- ...(opts.progress ? [`Progress → ${opts.progress}%`] : []),
179
- ],
180
- related_commands: ["naive objectives show", "naive objectives list"],
181
- });
182
- });
183
- objectivesCmd
184
- .command("pause <id>")
185
- .description("Pause an active objective — all linked tasks remain but no new work is dispatched")
186
- .addHelpText("after", `
187
- Examples:
188
- $ naive objectives pause obj-abc-123
189
-
190
- Pausing an objective:
191
- - Sets status to 'paused'
192
- - Existing in-progress tasks continue
193
- - No new tasks are created or dispatched for this objective
194
- - Use 'naive objectives update <id> --status active' to resume
195
- `)
196
- .action(async (id) => {
197
- const resp = await apiRequest("POST", `/v1/objectives/${id}/pause`);
198
- handleApiError("objectives.pause", resp);
199
- agentOutput({
200
- action: "objectives.pause",
201
- result: resp.data,
202
- next_steps: [
203
- { command: `naive objectives update ${id} --status active`, description: "Resume this objective" },
204
- { command: "naive objectives list", description: "View all objectives" },
205
- ],
206
- hints: [
207
- `Objective ${id} paused — no new tasks will be dispatched`,
208
- "Existing in-progress tasks will continue to completion",
209
- ],
210
- related_commands: ["naive objectives update", "naive objectives list"],
211
- });
212
- });
213
- objectivesCmd
214
- .command("abandon <id>")
215
- .description("Permanently abandon an objective — cannot be resumed")
216
- .addHelpText("after", `
217
- Examples:
218
- $ naive objectives abandon obj-abc-123
219
-
220
- Abandoning an objective:
221
- - Sets status to 'abandoned' (permanent)
222
- - Cancels all pending/in-progress tasks linked to this objective
223
- - Completed tasks are preserved
224
- - This action cannot be undone
225
- `)
226
- .action(async (id) => {
227
- const resp = await apiRequest("POST", `/v1/objectives/${id}/abandon`);
228
- handleApiError("objectives.abandon", resp);
229
- agentOutput({
230
- action: "objectives.abandon",
231
- result: resp.data,
232
- next_steps: [
233
- { command: "naive objectives list", description: "View remaining objectives" },
234
- { command: "naive objectives create <title>", description: "Create a replacement objective" },
235
- ],
236
- hints: [
237
- `Objective ${id} abandoned — all pending tasks cancelled`,
238
- "Completed tasks are preserved in history",
239
- ],
240
- related_commands: ["naive objectives list", "naive objectives create"],
241
- });
242
- });
243
- //# sourceMappingURL=objectives.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"objectives.js","sourceRoot":"","sources":["../../src/commands/objectives.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC;KACnD,WAAW,CAAC,0EAA0E,CAAC;KACvF,WAAW,CAAC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;CAyBvB,CAAC,CAAC;AAEH,aAAa;KACV,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,oDAAoD,CAAC;KACjE,WAAW,CAAC,OAAO,EAAE;;;;;;;;;;CAUvB,CAAC;KACC,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACvD,cAAc,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAExC,MAAM,IAAI,GAAG,IAAI,CAAC,IAA+F,CAAC;IAClH,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;IAE3E,WAAW,CAAC;QACV,MAAM,EAAE,iBAAiB;QACzB,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,UAAU,EAAE;YACV,GAAG,CAAC,KAAK,GAAG,CAAC;gBACX,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,yBAAyB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,qCAAqC,EAAE,CAAC;gBACtH,CAAC,CAAC,EAAE,CAAC;YACP,EAAE,OAAO,EAAE,iCAAiC,EAAE,WAAW,EAAE,wBAAwB,EAAE;YACrF,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,kCAAkC,EAAE;SACjF;QACD,KAAK,EAAE;YACL,GAAG,KAAK,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW,MAAM,CAAC,MAAM,SAAS;SAC7E;QACD,gBAAgB,EAAE,CAAC,yBAAyB,EAAE,uBAAuB,EAAE,kBAAkB,CAAC;KAC3F,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,aAAa;KACV,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,kCAAkC,CAAC;KAC/C,MAAM,CAAC,mBAAmB,EAAE,uDAAuD,CAAC;KACpF,MAAM,CAAC,gBAAgB,EAAE,0CAA0C,CAAC;KACpE,MAAM,CAAC,mBAAmB,EAAE,6DAA6D,CAAC;KAC1F,MAAM,CAAC,oBAAoB,EAAE,0CAA0C,EAAE,QAAQ,CAAC;KAClF,WAAW,CAAC,OAAO,EAAE;;;;;;;;;CASvB,CAAC;KACC,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,IAAI,EAAE,EAAE;IACpC,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE;QACtD,KAAK;QACL,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,gBAAgB,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzD,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QACxC,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACjD,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;KAClD,CAAC,CAAC;IACH,cAAc,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAE1C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAqC,CAAC;IAExD,WAAW,CAAC;QACV,MAAM,EAAE,mBAAmB;QAC3B,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,UAAU,EAAE;YACV,EAAE,OAAO,EAAE,yBAAyB,IAAI,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,wBAAwB,EAAE;YACtF,EAAE,OAAO,EAAE,kDAAkD,EAAE,WAAW,EAAE,oCAAoC,EAAE;YAClH,EAAE,OAAO,EAAE,+BAA+B,GAAG,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,uDAAuD,EAAE;SAC7H;QACD,KAAK,EAAE;YACL,uBAAuB,IAAI,CAAC,KAAK,UAAU,IAAI,CAAC,EAAE,GAAG;YACrD,4DAA4D;SAC7D;QACD,gBAAgB,EAAE,CAAC,uBAAuB,EAAE,uBAAuB,EAAE,eAAe,CAAC;KACtF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,aAAa;KACV,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,mEAAmE,CAAC;KAChF,WAAW,CAAC,OAAO,EAAE;;;;;;;;;;CAUvB,CAAC;KACC,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,EAAE;IAC3B,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;IAC7D,cAAc,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAExC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAwE,CAAC;IAE3F,WAAW,CAAC;QACV,MAAM,EAAE,iBAAiB;QACzB,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,UAAU,EAAE;YACV,EAAE,OAAO,EAAE,gCAAgC,EAAE,EAAE,EAAE,WAAW,EAAE,mCAAmC,EAAE;YACnG,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ;gBAC1B,CAAC,CAAC;oBACE,EAAE,OAAO,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,WAAW,EAAE,iBAAiB,EAAE;oBAC3F,EAAE,OAAO,EAAE,0BAA0B,EAAE,EAAE,EAAE,WAAW,EAAE,sBAAsB,EAAE;iBACjF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ;gBAC1B,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC;gBACtG,CAAC,CAAC,EAAE,CAAC;SACR;QACD,KAAK,EAAE;YACL,IAAI,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,QAAQ,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE;SACvG;QACD,gBAAgB,EAAE,CAAC,uBAAuB,EAAE,yBAAyB,EAAE,kBAAkB,CAAC;KAC3F,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,aAAa;KACV,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC,0CAA0C,CAAC;KACvD,MAAM,CAAC,mBAAmB,EAAE,yCAAyC,CAAC;KACtE,MAAM,CAAC,gBAAgB,EAAE,6BAA6B,CAAC;KACvD,WAAW,CAAC,OAAO,EAAE;;;;;CAKvB,CAAC;KACC,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,IAAI,EAAE,EAAE;IACjC,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,IAAI,IAAI,CAAC,MAAM;QAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3C,IAAI,IAAI,CAAC,QAAQ;QAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAE/D,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,kBAAkB,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IACrE,cAAc,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAE1C,WAAW,CAAC;QACV,MAAM,EAAE,mBAAmB;QAC3B,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,UAAU,EAAE;YACV,EAAE,OAAO,EAAE,yBAAyB,EAAE,EAAE,EAAE,WAAW,EAAE,wBAAwB,EAAE;YACjF,EAAE,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,qBAAqB,EAAE;SACzE;QACD,KAAK,EAAE;YACL,aAAa,EAAE,UAAU;YACzB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D;QACD,gBAAgB,EAAE,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;KACrE,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,aAAa;KACV,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CAAC,mFAAmF,CAAC;KAChG,WAAW,CAAC,OAAO,EAAE;;;;;;;;;CASvB,CAAC;KACC,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,EAAE;IAC3B,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IACpE,cAAc,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;IAEzC,WAAW,CAAC;QACV,MAAM,EAAE,kBAAkB;QAC1B,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,UAAU,EAAE;YACV,EAAE,OAAO,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,WAAW,EAAE,uBAAuB,EAAE;YAClG,EAAE,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,qBAAqB,EAAE;SACzE;QACD,KAAK,EAAE;YACL,aAAa,EAAE,2CAA2C;YAC1D,wDAAwD;SACzD;QACD,gBAAgB,EAAE,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;KACvE,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,aAAa;KACV,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,sDAAsD,CAAC;KACnE,WAAW,CAAC,OAAO,EAAE;;;;;;;;;CASvB,CAAC;KACC,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,EAAE;IAC3B,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,kBAAkB,EAAE,UAAU,CAAC,CAAC;IACtE,cAAc,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IAE3C,WAAW,CAAC;QACV,MAAM,EAAE,oBAAoB;QAC5B,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,UAAU,EAAE;YACV,EAAE,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,2BAA2B,EAAE;YAC9E,EAAE,OAAO,EAAE,iCAAiC,EAAE,WAAW,EAAE,gCAAgC,EAAE;SAC9F;QACD,KAAK,EAAE;YACL,aAAa,EAAE,0CAA0C;YACzD,0CAA0C;SAC3C;QACD,gBAAgB,EAAE,CAAC,uBAAuB,EAAE,yBAAyB,CAAC;KACvE,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- import { Command } from "commander";
2
- export declare const paymentsCmd: Command;
@@ -1,131 +0,0 @@
1
- import { Command } from "commander";
2
- import { apiRequest, handleApiError } from "../client.js";
3
- import { agentOutput } from "../output.js";
4
- export const paymentsCmd = new Command("payments")
5
- .description("Payments — pay for x402 resources with the agent's crypto wallet")
6
- .addHelpText("after", `
7
- Subcommands:
8
- naive payments quote Probe an x402 URL for its price — no side effects
9
- naive payments pay Pay for and fetch an x402 resource
10
- naive payments receipts List payment receipts
11
-
12
- How it works:
13
- x402 is the HTTP 402 payment protocol. A paywalled resource answers with
14
- 402 Payment Required and a 'payment-required' header describing what it
15
- accepts. 'quote' reads that without paying. 'pay' signs a USDC payment from
16
- the agent's wallet, retries the request with the payment attached, and returns
17
- the resource body plus a receipt.
18
-
19
- 'quote' first, then 'pay' — quote has ZERO side effects (no wallet is even
20
- loaded), so it is the safe way to learn a price.
21
-
22
- Spend control:
23
- 'pay' is SENSITIVE — it spends real USDC. There is deliberately NO approval
24
- queue: the cap is enforced inside the custody plane at signing time, which
25
- survives a compromised runtime in a way an approval prompt would not. What
26
- bounds a payment:
27
- 1. The wallet balance (an agent cannot spend what isn't there).
28
- 2. perTxMax — enforced at runtime AND as a static custody-plane policy.
29
- 3. dailyBudget (optional) — a rolling runtime counter.
30
- 4. --max-amount — a per-call ceiling you set on this one payment.
31
- Set the policy with 'naive wallet policy'.
32
-
33
- Examples:
34
- $ naive use alice
35
- $ naive payments quote --url https://api.example.com/report
36
- $ naive payments pay --url https://api.example.com/report --max-amount 0.50
37
- $ naive payments receipts --direction buy --limit 10
38
- $ naive payments receipts --since 2026-07-01T00:00:00Z
39
- `);
40
- paymentsCmd
41
- .command("quote")
42
- .description("Probe an x402 URL for its price — zero side effects, no payment")
43
- .requiredOption("--url <url>", "The x402 resource URL")
44
- .option("--method <method>", "HTTP method to probe with (default: GET)")
45
- .action(async (opts) => {
46
- const resp = await apiRequest("POST", "/v1/payments/quote", {
47
- url: opts.url,
48
- ...(opts.method && { init: { method: opts.method } }),
49
- });
50
- handleApiError("payments.quote", resp);
51
- const data = resp.data;
52
- const first = data.accepts?.[0];
53
- const atomic = first?.amount ?? first?.maxAmountRequired;
54
- agentOutput({
55
- action: "payments.quote",
56
- result: resp.data,
57
- next_steps: [{ command: `naive payments pay --url ${opts.url}`, description: "Pay for and fetch the resource" }],
58
- hints: [
59
- data.free
60
- ? `This resource is not paywalled (HTTP ${data.status}) — fetch it normally, no payment needed.`
61
- : first
62
- ? `Priced at ${atomic ?? "?"} atomic units of ${first.asset ?? "?"} on ${first.network ?? "?"}, payable to ${first.payTo ?? "?"}. USDC has 6 decimals, so 500000 = 0.50 USDC.`
63
- : "The resource returned 402 but advertised no acceptable payment method.",
64
- "Quote does not touch the wallet — nothing was spent.",
65
- "--max-amount on 'pay' is a DECIMAL amount (e.g. 0.50), not atomic units.",
66
- ],
67
- related_commands: ["naive payments pay", "naive wallet balance"],
68
- });
69
- });
70
- paymentsCmd
71
- .command("pay")
72
- .description("Pay for and fetch an x402 resource — SENSITIVE, spends real USDC")
73
- .requiredOption("--url <url>", "The x402 resource URL")
74
- .option("--max-amount <amount>", "Refuse to pay more than this (decimal USDC) — a per-call ceiling")
75
- .option("--method <method>", "HTTP method (default: GET)")
76
- .action(async (opts) => {
77
- const resp = await apiRequest("POST", "/v1/payments/pay", {
78
- url: opts.url,
79
- ...(opts.maxAmount && { max_amount: opts.maxAmount }),
80
- ...(opts.method && { init: { method: opts.method } }),
81
- });
82
- handleApiError("payments.pay", resp);
83
- const data = resp.data;
84
- agentOutput({
85
- action: "payments.pay",
86
- result: resp.data,
87
- next_steps: [{ command: "naive payments receipts --direction buy", description: "See the receipt" }],
88
- hints: [
89
- data.paid
90
- ? `Paid ${data.receipt?.amount ?? "?"} USDC. Settlement tx: ${data.receipt?.txHash ?? "?"}.`
91
- : `No payment was made — the resource returned HTTP ${data.status ?? "?"} (it may be free, or the request failed).`,
92
- ...(opts.maxAmount ? [] : ["Tip: pass --max-amount to cap this specific payment on top of the wallet's perTxMax."]),
93
- ],
94
- related_commands: ["naive payments receipts", "naive wallet balance"],
95
- });
96
- });
97
- paymentsCmd
98
- .command("receipts")
99
- .description("List x402 payment receipts")
100
- .option("--direction <direction>", "buy (paid out) | sell (received)")
101
- .option("--origin <origin>", "Filter to one resource origin")
102
- .option("--since <iso>", "Only receipts at/after an ISO-8601 timestamp")
103
- .option("--limit <n>", "Max receipts to return")
104
- .action(async (opts) => {
105
- const params = new URLSearchParams();
106
- if (opts.direction)
107
- params.set("direction", opts.direction);
108
- if (opts.origin)
109
- params.set("origin", opts.origin);
110
- if (opts.since)
111
- params.set("since", opts.since);
112
- if (opts.limit)
113
- params.set("limit", String(opts.limit));
114
- const qs = params.toString();
115
- const resp = await apiRequest("GET", `/v1/payments/receipts${qs ? `?${qs}` : ""}`);
116
- handleApiError("payments.receipts", resp);
117
- // payReceipts returns a bare row array (not { receipts: [...] }).
118
- const receipts = Array.isArray(resp.data) ? resp.data : [];
119
- agentOutput({
120
- action: "payments.receipts",
121
- result: resp.data,
122
- next_steps: [{ command: "naive wallet balance", description: "Read the remaining balance" }],
123
- hints: [
124
- receipts.length === 0
125
- ? "No receipts match. This agent has not paid for anything yet."
126
- : `${receipts.length} receipt(s). Every settled x402 payment is recorded here.`,
127
- ],
128
- related_commands: ["naive payments pay", "naive wallet balance"],
129
- });
130
- });
131
- //# sourceMappingURL=payments.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"payments.js","sourceRoot":"","sources":["../../src/commands/payments.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import { Command } from "commander";
2
- export declare const peopleCmd: Command;
@@ -1,197 +0,0 @@
1
- import { Command } from "commander";
2
- import { apiRequest, handleApiError } from "../client.js";
3
- import { agentOutput, creditCostHint } from "../output.js";
4
- import { parseIntegerOption } from "../lib/cli-validation.js";
5
- export const peopleCmd = new Command("people")
6
- .description("People — B2B people search & contact enrichment")
7
- .addHelpText("after", `
8
- Subcommands:
9
- naive people search Find people by title/company/industry/geo/seniority
10
- naive people enrich Enrich one person from an email, domain, or LinkedIn URL
11
- naive people batch Async batch enrich (up to 1,000 identities)
12
- naive people task <id> Check a batch task
13
- naive people terms The acceptable-use terms this primitive binds you to
14
- naive people erase Honour a data-subject deletion request
15
-
16
- OPT-IN: People is off until an account kit enables it, because it returns
17
- personal data and sends lookups to a subprocessor. A 403 naming
18
- subprocessor_consent_required means the kit, not the credential.
19
- Two commands are exceptions and run whether or not the kit grants People.
20
- \`naive people erase\` — turning the primitive off is exactly when you still hold
21
- batch records and still owe a data subject a deletion. \`naive people terms\` —
22
- it is what you read to decide whether to turn the primitive on at all.
23
-
24
- Cost: 3x what the provider run really cost, for both search and enrich — so
25
- neither command is a cheaper route to the same data, and a bigger --limit costs
26
- more only because a bigger run costs more. --include-contact adds the email
27
- verifier's run to the bill on enrich. A no-match is billed too, because the run
28
- still happened — the 404 reports what it cost. Every charge reports the
29
- provider_usd it came from (see \`naive usage\`).
30
-
31
- B2B use only. Work emails and firmographics; no consumer data. Never for
32
- employment, credit, insurance or housing decisions — see \`naive people terms\`.
33
- `);
34
- peopleCmd
35
- .command("search")
36
- .description("Find people by filter (billed on 3x the provider run's cost)")
37
- .option("--title <title>", "Job title, e.g. 'VP Engineering'")
38
- .option("--company <company>", "Employer name, e.g. 'Stripe'")
39
- .option("--industry <industry>", "Industry, e.g. 'fintech'")
40
- .option("--geo <geo>", "Location, e.g. 'San Francisco, CA'")
41
- .option("--seniority <level>", "Seniority, e.g. 'VP'")
42
- .option("--limit <n>", "Max records, 1-50 (above 50 use `naive people batch`)")
43
- .option("--include-contact", "Include work email and phone")
44
- .action(async (opts) => {
45
- const filters = {};
46
- for (const key of ["title", "company", "industry", "geo", "seniority"]) {
47
- if (opts[key])
48
- filters[key] = opts[key];
49
- }
50
- const body = { filters, include_contact: opts.includeContact === true };
51
- if (opts.limit)
52
- body.limit = parseIntegerOption(opts.limit, "--limit", 1, 50);
53
- const resp = await apiRequest("POST", "/v1/people/search", body);
54
- handleApiError("people.search", resp);
55
- const records = resp.data?.data?.length ?? 0;
56
- agentOutput({
57
- action: "people.search",
58
- result: resp.data,
59
- next_steps: [
60
- { command: "naive people enrich --email <email> --include-contact", description: "Enrich one of these people further" },
61
- { command: "naive people batch --identities '[{\"email\":\"...\"}]'", description: "Enrich a larger list asynchronously" },
62
- ],
63
- hints: [
64
- `${records} record${records === 1 ? "" : "s"} returned.`,
65
- creditCostHint(resp.data) ?? "",
66
- "Billed on 3x what the provider run cost, whether or not it matched — the run is on our invoice either way.",
67
- opts.includeContact ? "" : "Add --include-contact for work email and phone.",
68
- ].filter(Boolean),
69
- related_commands: ["naive people enrich", "naive company-data search"],
70
- });
71
- });
72
- peopleCmd
73
- .command("enrich")
74
- .description("Enrich one person from an email, company domain, or LinkedIn URL")
75
- .option("--email <email>", "Work email address")
76
- .option("--domain <domain>", "Company domain")
77
- .option("--linkedin <url>", "LinkedIn profile URL")
78
- .option("--name <name>", "Full name — requires --company or --location")
79
- .option("--company <company>", "Employer, to disambiguate a name")
80
- .option("--location <location>", "City or region, to disambiguate a name")
81
- .option("--include-contact", "Include work email and phone (higher meter)")
82
- .action(async (opts) => {
83
- const identity = {};
84
- for (const key of ["email", "domain", "linkedin", "name", "company", "location"]) {
85
- if (opts[key])
86
- identity[key] = opts[key];
87
- }
88
- const resp = await apiRequest("POST", "/v1/people/enrich", {
89
- identity,
90
- include_contact: opts.includeContact === true,
91
- });
92
- handleApiError("people.enrich", resp);
93
- agentOutput({
94
- action: "people.enrich",
95
- result: resp.data,
96
- next_steps: [
97
- { command: "naive company-data enrich --domain <domain>", description: "Enrich the person's employer" },
98
- ],
99
- hints: [
100
- creditCostHint(resp.data) ?? "",
101
- opts.includeContact ? "" : "Add --include-contact for work email and phone.",
102
- ].filter(Boolean),
103
- related_commands: ["naive people search", "naive company-data enrich"],
104
- });
105
- });
106
- peopleCmd
107
- .command("batch")
108
- .description("Async batch enrich — up to 1,000 identities")
109
- .requiredOption("--identities <json>", "JSON array: [{\"email\":\"...\"}, ...]")
110
- .option("--include-contact", "Include work email and phone (higher meter)")
111
- .action(async (opts) => {
112
- let identities;
113
- try {
114
- identities = JSON.parse(opts.identities);
115
- }
116
- catch {
117
- throw new Error("--identities must be valid JSON, e.g. '[{\"email\":\"jane@stripe.com\"}]'");
118
- }
119
- const resp = await apiRequest("POST", "/v1/people/tasks", {
120
- identities,
121
- include_contact: opts.includeContact === true,
122
- });
123
- handleApiError("people.batch", resp);
124
- const id = resp.data?.id;
125
- agentOutput({
126
- action: "people.batch",
127
- result: resp.data,
128
- next_steps: [
129
- { command: `naive people task ${id ?? "<id>"}`, description: "Check the batch status and collect results" },
130
- ],
131
- hints: ["Only matched records are billed. Poll the task for results."],
132
- related_commands: ["naive people task"],
133
- });
134
- });
135
- peopleCmd
136
- .command("task <id>")
137
- .description("Check an async batch task")
138
- .action(async (id) => {
139
- const resp = await apiRequest("GET", `/v1/people/tasks/${id}`);
140
- handleApiError("people.task", resp);
141
- agentOutput({
142
- action: "people.task",
143
- result: resp.data,
144
- next_steps: [
145
- { command: `naive people task ${id}`, description: "Poll again if still processing" },
146
- ],
147
- hints: [creditCostHint(resp.data) ?? ""].filter(Boolean),
148
- related_commands: ["naive people batch"],
149
- });
150
- });
151
- peopleCmd
152
- .command("terms")
153
- .description("The acceptable-use terms this primitive binds you to (free)")
154
- .action(async () => {
155
- const resp = await apiRequest("GET", "/v1/people/terms");
156
- handleApiError("people.terms", resp);
157
- agentOutput({
158
- action: "people.terms",
159
- result: resp.data,
160
- next_steps: [
161
- { command: "naive people erase --email <email>", description: "Honour a deletion request from a data subject" },
162
- ],
163
- hints: ["Unmetered. These are the product surface of ToS Section 18."],
164
- related_commands: ["naive people erase"],
165
- });
166
- });
167
- // The deletion surface is a first-class command, not a documented curl.
168
- //
169
- // A data-subject request arrives on a legal clock, and the person handling it is
170
- // a human on a terminal rather than an agent — so it has to be as reachable as
171
- // `search`. Unmetered on the server for the same reason.
172
- peopleCmd
173
- .command("erase")
174
- .description("Erase everything held about one data subject (free)")
175
- .option("--email <email>", "The subject's work email")
176
- .option("--linkedin <url>", "The subject's LinkedIn URL")
177
- .action(async (opts) => {
178
- if (!opts.email && !opts.linkedin) {
179
- throw new Error("Pass --email or --linkedin to identify the data subject.");
180
- }
181
- const resp = await apiRequest("POST", "/v1/people/erasure", {
182
- email: opts.email,
183
- linkedin: opts.linkedin,
184
- });
185
- handleApiError("people.erase", resp);
186
- agentOutput({
187
- action: "people.erase",
188
- result: resp.data,
189
- next_steps: [],
190
- hints: [
191
- "Unmetered — honouring a deletion request is never billed.",
192
- "Cached records are deleted here; ask the upstream provider to correct its own copy.",
193
- ],
194
- related_commands: ["naive people terms"],
195
- });
196
- });
197
- //# sourceMappingURL=people.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"people.js","sourceRoot":"","sources":["../../src/commands/people.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KAC3C,WAAW,CAAC,iDAAiD,CAAC;KAC9D,WAAW,CAAC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BvB,CAAC,CAAC;AAEH,SAAS;KACN,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,8DAA8D,CAAC;KAC3E,MAAM,CAAC,iBAAiB,EAAE,kCAAkC,CAAC;KAC7D,MAAM,CAAC,qBAAqB,EAAE,8BAA8B,CAAC;KAC7D,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,CAAC;KAC3D,MAAM,CAAC,aAAa,EAAE,oCAAoC,CAAC;KAC3D,MAAM,CAAC,qBAAqB,EAAE,sBAAsB,CAAC;KACrD,MAAM,CAAC,aAAa,EAAE,uDAAuD,CAAC;KAC9E,MAAM,CAAC,mBAAmB,EAAE,8BAA8B,CAAC;KAC3D,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,KAAK,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,CAAU,EAAE,CAAC;QAChF,IAAI,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,IAAI,GAA4B,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;IACjG,IAAI,IAAI,CAAC,KAAK;QAAE,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAE9E,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC;IACjE,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IAEtC,MAAM,OAAO,GAAI,IAAI,CAAC,IAAoC,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC;IAC9E,WAAW,CAAC;QACV,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,UAAU,EAAE;YACV,EAAE,OAAO,EAAE,uDAAuD,EAAE,WAAW,EAAE,oCAAoC,EAAE;YACvH,EAAE,OAAO,EAAE,yDAAyD,EAAE,WAAW,EAAE,qCAAqC,EAAE;SAC3H;QACD,KAAK,EAAE;YACL,GAAG,OAAO,UAAU,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,YAAY;YACxD,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAC/B,4GAA4G;YAC5G,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iDAAiD;SAC7E,CAAC,MAAM,CAAC,OAAO,CAAC;QACjB,gBAAgB,EAAE,CAAC,qBAAqB,EAAE,2BAA2B,CAAC;KACvE,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,SAAS;KACN,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,kEAAkE,CAAC;KAC/E,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC;KAC/C,MAAM,CAAC,mBAAmB,EAAE,gBAAgB,CAAC;KAC7C,MAAM,CAAC,kBAAkB,EAAE,sBAAsB,CAAC;KAClD,MAAM,CAAC,eAAe,EAAE,8CAA8C,CAAC;KACvE,MAAM,CAAC,qBAAqB,EAAE,kCAAkC,CAAC;KACjE,MAAM,CAAC,uBAAuB,EAAE,wCAAwC,CAAC;KACzE,MAAM,CAAC,mBAAmB,EAAE,6CAA6C,CAAC;KAC1E,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,KAAK,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,CAAU,EAAE,CAAC;QAC1F,IAAI,IAAI,CAAC,GAAG,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,mBAAmB,EAAE;QACzD,QAAQ;QACR,eAAe,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI;KAC9C,CAAC,CAAC;IACH,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IAEtC,WAAW,CAAC;QACV,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,UAAU,EAAE;YACV,EAAE,OAAO,EAAE,6CAA6C,EAAE,WAAW,EAAE,8BAA8B,EAAE;SACxG;QACD,KAAK,EAAE;YACL,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAC/B,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iDAAiD;SAC7E,CAAC,MAAM,CAAC,OAAO,CAAC;QACjB,gBAAgB,EAAE,CAAC,qBAAqB,EAAE,2BAA2B,CAAC;KACvE,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,SAAS;KACN,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,6CAA6C,CAAC;KAC1D,cAAc,CAAC,qBAAqB,EAAE,wCAAwC,CAAC;KAC/E,MAAM,CAAC,mBAAmB,EAAE,6CAA6C,CAAC;KAC1E,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,IAAI,UAAmB,CAAC;IACxB,IAAI,CAAC;QACH,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;IAC/F,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,kBAAkB,EAAE;QACxD,UAAU;QACV,eAAe,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI;KAC9C,CAAC,CAAC;IACH,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAErC,MAAM,EAAE,GAAI,IAAI,CAAC,IAA+B,EAAE,EAAE,CAAC;IACrD,WAAW,CAAC;QACV,MAAM,EAAE,cAAc;QACtB,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,UAAU,EAAE;YACV,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,MAAM,EAAE,EAAE,WAAW,EAAE,4CAA4C,EAAE;SAC5G;QACD,KAAK,EAAE,CAAC,6DAA6D,CAAC;QACtE,gBAAgB,EAAE,CAAC,mBAAmB,CAAC;KACxC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,SAAS;KACN,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,2BAA2B,CAAC;KACxC,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,EAAE;IAC3B,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAC;IAC/D,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAEpC,WAAW,CAAC;QACV,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,UAAU,EAAE;YACV,EAAE,OAAO,EAAE,qBAAqB,EAAE,EAAE,EAAE,WAAW,EAAE,gCAAgC,EAAE;SACtF;QACD,KAAK,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QACxD,gBAAgB,EAAE,CAAC,oBAAoB,CAAC;KACzC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,SAAS;KACN,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,6DAA6D,CAAC;KAC1E,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;IACzD,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAErC,WAAW,CAAC;QACV,MAAM,EAAE,cAAc;QACtB,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,UAAU,EAAE;YACV,EAAE,OAAO,EAAE,oCAAoC,EAAE,WAAW,EAAE,+CAA+C,EAAE;SAChH;QACD,KAAK,EAAE,CAAC,6DAA6D,CAAC;QACtE,gBAAgB,EAAE,CAAC,oBAAoB,CAAC;KACzC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,wEAAwE;AACxE,EAAE;AACF,iFAAiF;AACjF,+EAA+E;AAC/E,yDAAyD;AACzD,SAAS;KACN,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,qDAAqD,CAAC;KAClE,MAAM,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;KACrD,MAAM,CAAC,kBAAkB,EAAE,4BAA4B,CAAC;KACxD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,oBAAoB,EAAE;QAC1D,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC,CAAC;IACH,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAErC,WAAW,CAAC;QACV,MAAM,EAAE,cAAc;QACtB,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,UAAU,EAAE,EAAE;QACd,KAAK,EAAE;YACL,2DAA2D;YAC3D,qFAAqF;SACtF;QACD,gBAAgB,EAAE,CAAC,oBAAoB,CAAC;KACzC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- import { Command } from "commander";
2
- export declare const phoneCmd: Command;