@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,109 +0,0 @@
1
- import { Command } from "commander";
2
- import { apiRequest, handleApiError, activeUserId } from "../client.js";
3
- import { agentOutput } from "../output.js";
4
- /** Resolve the user path segment — explicit --user wins, else active, else "default". */
5
- function userPath(user) {
6
- return `/v1/users/${user ?? activeUserId() ?? "default"}`;
7
- }
8
- /**
9
- * Per-user MCP sessions — short-lived, revocable credentials (`nv_sess_…`)
10
- * scoped to one tenant user. Docs: https://usenaive.ai/docs/getting-started/sessions
11
- */
12
- export const sessionsCmd = new Command("sessions")
13
- .alias("session")
14
- .description("MCP sessions — mint, list, and revoke short-lived per-user MCP credentials")
15
- .addHelpText("after", `
16
- Subcommands:
17
- naive sessions create [--user <id>] [--ttl-ms <n>] Mint a session (returns mcp.url + bearer)
18
- naive sessions list [--user <id>] List sessions (tokens never returned)
19
- naive sessions revoke <id> [--user <id>] Revoke immediately
20
-
21
- Examples:
22
- $ naive sessions create --ttl-ms 900000
23
- $ naive sessions create --user <user_id> --ttl-ms 600000
24
- $ naive sessions list --user <user_id>
25
- $ naive sessions revoke <session_id> --user <user_id>
26
-
27
- Notes:
28
- - Default TTL is 15 minutes (900000 ms); max 24h
29
- - Hand mcp.url + mcp.headers.Authorization to your MCP client — never put the token in the URL
30
- - Scope: --user <id>, or active user from 'naive use <id>', or the workspace default user
31
- `);
32
- sessionsCmd
33
- .command("create")
34
- .description("Mint a TTL-limited MCP session for a tenant user")
35
- .option("--user <id>", "Target a specific tenant user")
36
- .option("--ttl-ms <ms>", "Session lifetime in milliseconds (default 900000 = 15 min, max 24h)", (v) => {
37
- const n = Number(v);
38
- if (!Number.isFinite(n) || n <= 0)
39
- throw new Error("--ttl-ms must be a positive number");
40
- return n;
41
- })
42
- .action(async (opts) => {
43
- const body = opts.ttlMs != null ? { ttl_ms: opts.ttlMs } : {};
44
- const resp = await apiRequest("POST", `${userPath(opts.user)}/sessions`, body, { userId: opts.user });
45
- handleApiError("sessions.create", resp);
46
- const data = resp.data;
47
- agentOutput({
48
- action: "sessions.create",
49
- result: resp.data,
50
- next_steps: [
51
- {
52
- command: `naive sessions list${opts.user ? ` --user ${opts.user}` : ""}`,
53
- description: "List sessions for this user",
54
- },
55
- ...(data.id
56
- ? [
57
- {
58
- command: `naive sessions revoke ${data.id}${opts.user ? ` --user ${opts.user}` : ""}`,
59
- description: "Revoke this session when done",
60
- },
61
- ]
62
- : []),
63
- ],
64
- hints: [
65
- "Pass result.mcp.url and result.mcp.headers to your MCP client",
66
- "The nv_sess_… token expires with the session and can be revoked early",
67
- ],
68
- });
69
- });
70
- sessionsCmd
71
- .command("list")
72
- .description("List MCP sessions for a tenant user (tokens are never returned)")
73
- .option("--user <id>", "Target a specific tenant user")
74
- .action(async (opts) => {
75
- const resp = await apiRequest("GET", `${userPath(opts.user)}/sessions`, undefined, { userId: opts.user });
76
- handleApiError("sessions.list", resp);
77
- agentOutput({
78
- action: "sessions.list",
79
- result: resp.data,
80
- next_steps: [
81
- {
82
- command: `naive sessions create${opts.user ? ` --user ${opts.user}` : ""} --ttl-ms 900000`,
83
- description: "Mint a new MCP session",
84
- },
85
- ],
86
- });
87
- });
88
- sessionsCmd
89
- .command("revoke")
90
- .description("Revoke an MCP session immediately")
91
- .argument("<session_id>", "Session id returned by sessions create")
92
- .option("--user <id>", "Target a specific tenant user")
93
- .action(async (sessionId, opts) => {
94
- const resp = await apiRequest("DELETE", `${userPath(opts.user)}/sessions/${sessionId}`, undefined, {
95
- userId: opts.user,
96
- });
97
- handleApiError("sessions.revoke", resp);
98
- agentOutput({
99
- action: "sessions.revoke",
100
- result: resp.data,
101
- next_steps: [
102
- {
103
- command: `naive sessions list${opts.user ? ` --user ${opts.user}` : ""}`,
104
- description: "Confirm the session is revoked",
105
- },
106
- ],
107
- });
108
- });
109
- //# sourceMappingURL=sessions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/commands/sessions.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import { Command } from "commander";
2
- export declare const socialDataCmd: Command;
@@ -1,245 +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
- /**
6
- * Platforms a synchronous read is offered for.
7
- *
8
- * The async-only four are refused locally rather than sent, because the server
9
- * refuses them too: a Reddit collection took 53-219 seconds for five posts, and
10
- * Instagram, TikTok and YouTube drive a headless browser per post. Catching it
11
- * here turns a round trip into an immediate message naming the command to use.
12
- */
13
- const SYNC_PLATFORMS = ["bluesky", "hackernews", "x"];
14
- const ASYNC_ONLY_PLATFORMS = ["reddit", "instagram", "tiktok", "youtube"];
15
- const ALL_PLATFORMS = [...SYNC_PLATFORMS, ...ASYNC_ONLY_PLATFORMS];
16
- /** Platforms whose collect can return comment threads. */
17
- const COMMENT_PLATFORMS = ["reddit", "hackernews", "instagram", "tiktok", "youtube"];
18
- function assertSyncPlatform(platform, mode) {
19
- if (SYNC_PLATFORMS.includes(platform))
20
- return;
21
- if (ASYNC_ONLY_PLATFORMS.includes(platform)) {
22
- throw new Error(`${platform} reads are asynchronous only — a ${mode} takes minutes, not seconds.\n` +
23
- (mode === "collect"
24
- ? `Use: naive social-data batch --platform ${platform} --mode collect --post-ids <ids>`
25
- : `Use: naive social-data batch --platform ${platform} --query <query>`));
26
- }
27
- throw new Error(`--platform must be one of: ${SYNC_PLATFORMS.join(", ")} ` +
28
- `(${ASYNC_ONLY_PLATFORMS.join(", ")} are batch-only)`);
29
- }
30
- function assertKnownPlatform(platform) {
31
- if (!ALL_PLATFORMS.includes(platform)) {
32
- throw new Error(`--platform must be one of: ${ALL_PLATFORMS.join(", ")}`);
33
- }
34
- }
35
- export const socialDataCmd = new Command("social-data")
36
- .description("Social Data — read public posts, comments & engagement")
37
- .addHelpText("after", `
38
- Subcommands:
39
- naive social-data discover Search public posts by keyword
40
- naive social-data collect Fetch known posts by id, optionally with comments
41
- naive social-data batch Async read (up to 1,000 posts) — the only route to
42
- reddit, instagram, tiktok and youtube
43
- naive social-data task <id> Check a batch task
44
- naive social-data terms The acceptable-use terms this primitive binds you to
45
- naive social-data erase Honour a deletion request from a post author
46
-
47
- Platforms: bluesky, hackernews, x — plus reddit, instagram, tiktok and youtube
48
- on \`batch\` only (their collection runs for minutes).
49
-
50
- bluesky and hackernews are the platforms' own public APIs: no credential, and a
51
- flat meter rather than 3x a vendor's bill — prefer them where they fit.
52
-
53
- Capabilities differ, and an unsupported combination is refused rather than served
54
- thinner at the same price:
55
- --include-comments reddit, hackernews, instagram, tiktok, youtube
56
- --include-transcript youtube only
57
- --query means full text on x/reddit/bluesky/hackernews, a hashtag or
58
- profile on instagram, a keyword search on tiktok/youtube
59
-
60
- Cost: the scraped platforms bill 3x what the provider run really cost, so a
61
- cheap read is cheap. A run that returns nothing is still billed — we are
62
- invoiced for it — but a run that FAILS never is.
63
-
64
- READ ONLY. This does not post — use \`naive social\` to connect accounts and publish.
65
- `);
66
- socialDataCmd
67
- .command("discover")
68
- .description("Search public posts by keyword")
69
- .requiredOption("--platform <platform>", "bluesky, hackernews or x (reddit/instagram/tiktok/youtube are batch-only)")
70
- .requiredOption("--query <query>", "Keyword or phrase, e.g. 'AI agents'")
71
- .option("--date-from <iso>", "Drop posts older than this ISO date")
72
- .option("--engagement-min <n>", "Minimum total likes + comments + upvotes")
73
- .option("--limit <n>", "Max posts, 1-100 (above 100 use `naive social-data batch`)")
74
- .option("--prefer-official", "Require the platform's own API — refused where none is wired")
75
- .action(async (opts) => {
76
- assertSyncPlatform(opts.platform, "discover");
77
- const filters = {};
78
- if (opts.dateFrom)
79
- filters.date_from = opts.dateFrom;
80
- if (opts.engagementMin) {
81
- filters.engagement_min = parseIntegerOption(opts.engagementMin, "--engagement-min", 0);
82
- }
83
- const body = { query: opts.query, filters };
84
- if (opts.limit)
85
- body.limit = parseIntegerOption(opts.limit, "--limit", 1, 100);
86
- if (opts.preferOfficial)
87
- body.prefer_official = true;
88
- const resp = await apiRequest("POST", `/v1/social-data/${opts.platform}/discover`, body);
89
- handleApiError("social-data.discover", resp);
90
- const data = resp.data;
91
- const posts = data?.data?.length ?? 0;
92
- agentOutput({
93
- action: "social-data.discover",
94
- result: resp.data,
95
- next_steps: [
96
- { command: `naive social-data collect --platform ${opts.platform} --post-ids <ids> --include-comments`, description: "Pull comments for the interesting posts" },
97
- ],
98
- hints: [
99
- `${posts} post${posts === 1 ? "" : "s"} returned via ${data?.provider ?? "the default provider"}.`,
100
- creditCostHint(resp.data) ?? "",
101
- ].filter(Boolean),
102
- related_commands: ["naive social-data collect", "naive social-data batch"],
103
- });
104
- });
105
- socialDataCmd
106
- .command("collect")
107
- .description("Fetch known public posts by id")
108
- .requiredOption("--platform <platform>", "bluesky, hackernews or x (reddit/instagram/tiktok/youtube are batch-only)")
109
- .requiredOption("--post-ids <ids>", "Comma-separated post ids (max 500)")
110
- .option("--include-comments", `Include comments — ${COMMENT_PLATFORMS.join(", ")} only`)
111
- .option("--prefer-official", "Require the platform's own API — refused where none is wired")
112
- .action(async (opts) => {
113
- assertSyncPlatform(opts.platform, "collect");
114
- const postIds = String(opts.postIds)
115
- .split(",")
116
- .map((id) => id.trim())
117
- .filter(Boolean);
118
- const body = { post_ids: postIds };
119
- if (opts.includeComments)
120
- body.include_comments = true;
121
- if (opts.preferOfficial)
122
- body.prefer_official = true;
123
- const resp = await apiRequest("POST", `/v1/social-data/${opts.platform}/collect`, body);
124
- handleApiError("social-data.collect", resp);
125
- agentOutput({
126
- action: "social-data.collect",
127
- result: resp.data,
128
- next_steps: [
129
- { command: "naive social-data discover --platform x --query <topic>", description: "Find more posts on this topic" },
130
- ],
131
- hints: [creditCostHint(resp.data) ?? ""].filter(Boolean),
132
- related_commands: ["naive social-data discover"],
133
- });
134
- });
135
- socialDataCmd
136
- .command("batch")
137
- .description("Async read — up to 1,000 posts, and the only route to reddit, instagram, tiktok and youtube")
138
- .requiredOption("--platform <platform>", ALL_PLATFORMS.join(", "))
139
- .option("--mode <mode>", "discover (default) searches a query; collect takes --post-ids")
140
- .option("--query <query>", "Keyword, phrase, #hashtag or @profile (mode discover)")
141
- .option("--post-ids <ids>", "Comma-separated ids — shortcodes on instagram, video ids on tiktok/youtube")
142
- .option("--include-comments", `Include comment threads (mode collect) — ${COMMENT_PLATFORMS.join(", ")} only`)
143
- .option("--include-transcript", "Include the caption track — youtube only")
144
- .option("--limit <n>", "Max posts, up to 1000 (mode discover)")
145
- .option("--prefer-official", "Require the platform's own API — refused where none is wired")
146
- .action(async (opts) => {
147
- assertKnownPlatform(opts.platform);
148
- const mode = (opts.mode ?? "discover");
149
- if (mode !== "discover" && mode !== "collect") {
150
- throw new Error("--mode must be 'discover' or 'collect'");
151
- }
152
- const body = { platform: opts.platform, mode };
153
- if (mode === "collect") {
154
- if (!opts.postIds)
155
- throw new Error("--post-ids is required for --mode collect");
156
- body.post_ids = String(opts.postIds).split(",").map((id) => id.trim()).filter(Boolean);
157
- if (opts.includeComments)
158
- body.include_comments = true;
159
- if (opts.includeTranscript)
160
- body.include_transcript = true;
161
- }
162
- else {
163
- if (!opts.query)
164
- throw new Error("--query is required for --mode discover");
165
- body.query = opts.query;
166
- if (opts.limit)
167
- body.limit = parseIntegerOption(opts.limit, "--limit", 1, 1000);
168
- }
169
- if (opts.preferOfficial)
170
- body.prefer_official = true;
171
- const resp = await apiRequest("POST", "/v1/social-data/tasks", body);
172
- handleApiError("social-data.batch", resp);
173
- const id = resp.data?.id;
174
- agentOutput({
175
- action: "social-data.batch",
176
- result: resp.data,
177
- next_steps: [
178
- { command: `naive social-data task ${id ?? "<id>"}`, description: "Check the collection status and get posts" },
179
- ],
180
- hints: [
181
- "Billed on 3x what the provider run cost, empty results included. A failed run is never billed.",
182
- ASYNC_ONLY_PLATFORMS.includes(opts.platform)
183
- ? `${opts.platform} collection runs for minutes — poll rather than waiting on one request.`
184
- : "",
185
- ].filter(Boolean),
186
- related_commands: ["naive social-data task"],
187
- });
188
- });
189
- socialDataCmd
190
- .command("task <id>")
191
- .description("Check an async collection task")
192
- .action(async (id) => {
193
- const resp = await apiRequest("GET", `/v1/social-data/tasks/${id}`);
194
- handleApiError("social-data.task", resp);
195
- agentOutput({
196
- action: "social-data.task",
197
- result: resp.data,
198
- next_steps: [
199
- { command: `naive social-data task ${id}`, description: "Poll again if still processing" },
200
- ],
201
- hints: [creditCostHint(resp.data) ?? ""].filter(Boolean),
202
- related_commands: ["naive social-data batch"],
203
- });
204
- });
205
- socialDataCmd
206
- .command("terms")
207
- .description("The acceptable-use terms this primitive binds you to (free)")
208
- .action(async () => {
209
- const resp = await apiRequest("GET", "/v1/social-data/terms");
210
- handleApiError("social-data.terms", resp);
211
- agentOutput({
212
- action: "social-data.terms",
213
- result: resp.data,
214
- next_steps: [],
215
- hints: ["Unmetered. These are the product surface of ToS Section 18."],
216
- related_commands: ["naive social-data erase"],
217
- });
218
- });
219
- // Post authors are data subjects too, so the deletion surface exists here for
220
- // the same reason it does on People — see the note in commands/people.ts.
221
- socialDataCmd
222
- .command("erase")
223
- .description("Erase everything held about one post author (free)")
224
- .option("--handle <handle>", "The author's platform handle")
225
- .option("--email <email>", "The author's email, if known")
226
- .option("--linkedin <url>", "The author's LinkedIn URL, if known")
227
- .action(async (opts) => {
228
- if (!opts.handle && !opts.email && !opts.linkedin) {
229
- throw new Error("Pass --handle, --email or --linkedin to identify the data subject.");
230
- }
231
- const resp = await apiRequest("POST", "/v1/social-data/erasure", {
232
- handle: opts.handle,
233
- email: opts.email,
234
- linkedin: opts.linkedin,
235
- });
236
- handleApiError("social-data.erase", resp);
237
- agentOutput({
238
- action: "social-data.erase",
239
- result: resp.data,
240
- next_steps: [],
241
- hints: ["Unmetered — honouring a deletion request is never billed."],
242
- related_commands: ["naive social-data terms"],
243
- });
244
- });
245
- //# sourceMappingURL=social-data.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"social-data.js","sourceRoot":"","sources":["../../src/commands/social-data.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import { Command } from "commander";
2
- export declare const socialCmd: Command;