@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,55 +0,0 @@
1
- import { Command } from "commander";
2
- import { clearApiKey, loadConfig } from "../config.js";
3
- import { agentOutput } from "../output.js";
4
- /**
5
- * Top-level agent logout — clears the saved API key from ~/.naive/config.json.
6
- * Distinct from `naive auth logout`, which ends the human session cookie only.
7
- * Dogfood auth noted the missing top-level command as friction (3767 / e983).
8
- */
9
- export const logoutCmd = new Command("logout")
10
- .description("Log out the agent API key (clears ~/.naive/config.json credentials)")
11
- .addHelpText("after", `
12
- What this does:
13
- 1. Removes the saved agent api_key (and company context) from ~/.naive/config.json
14
- 2. Does NOT revoke the key server-side — use 'naive keys revoke <id>' for that
15
- 3. Does NOT end a human session cookie — use 'naive auth logout' for that
16
-
17
- Examples:
18
- $ naive logout
19
- $ naive auth logout # human session only
20
- $ naive keys revoke <id> # invalidate a key on the server
21
- `)
22
- .action(() => {
23
- const cfg = loadConfig();
24
- if (!cfg.api_key) {
25
- agentOutput({
26
- action: "logout",
27
- result: { status: "no_api_key" },
28
- next_steps: [
29
- { command: "naive login --email <e> --password <p>", description: "Log in and save a new API key" },
30
- { command: "naive register --name <n> --email <e> --password <p>", description: "Create a new account" },
31
- ],
32
- hints: [
33
- "No agent API key was saved locally. If NAIVE_API_KEY is set in the environment, unset it separately.",
34
- ],
35
- });
36
- return;
37
- }
38
- clearApiKey();
39
- agentOutput({
40
- action: "logout",
41
- result: { status: "logged_out", credentials_cleared: "~/.naive/config.json" },
42
- next_steps: [
43
- { command: "naive login --email <e> --password <p>", description: "Log in again" },
44
- {
45
- command: "naive auth logout",
46
- description: "Also end the human session cookie (if any)",
47
- when: "You also ran naive auth session-login / auth google / auth email",
48
- },
49
- ],
50
- hints: [
51
- "Agent API key cleared locally. Server-side keys remain valid until revoked with 'naive keys revoke'.",
52
- ],
53
- });
54
- });
55
- //# sourceMappingURL=logout.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KAC3C,WAAW,CAAC,qEAAqE,CAAC;KAClF,WAAW,CACV,OAAO,EACP;;;;;;;;;;CAUH,CACE;KACA,MAAM,CAAC,GAAG,EAAE;IACX,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACjB,WAAW,CAAC;YACV,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE;YAChC,UAAU,EAAE;gBACV,EAAE,OAAO,EAAE,wCAAwC,EAAE,WAAW,EAAE,+BAA+B,EAAE;gBACnG,EAAE,OAAO,EAAE,sDAAsD,EAAE,WAAW,EAAE,sBAAsB,EAAE;aACzG;YACD,KAAK,EAAE;gBACL,sGAAsG;aACvG;SACF,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,WAAW,EAAE,CAAC;IACd,WAAW,CAAC;QACV,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,mBAAmB,EAAE,sBAAsB,EAAE;QAC7E,UAAU,EAAE;YACV,EAAE,OAAO,EAAE,wCAAwC,EAAE,WAAW,EAAE,cAAc,EAAE;YAClF;gBACE,OAAO,EAAE,mBAAmB;gBAC5B,WAAW,EAAE,4CAA4C;gBACzD,IAAI,EAAE,kEAAkE;aACzE;SACF;QACD,KAAK,EAAE;YACL,sGAAsG;SACvG;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- import { Command } from "commander";
2
- export declare const logsCmd: Command;
@@ -1,42 +0,0 @@
1
- import { Command } from "commander";
2
- import { apiRequest, handleApiError, activeUserId } from "../client.js";
3
- import { agentOutput } from "../output.js";
4
- export const logsCmd = new Command("logs").description("Per-user activity logs");
5
- logsCmd
6
- .command("tail")
7
- .description("Show recent activity events for a user")
8
- .option("--user <id>", "Target a specific tenant user")
9
- .option("--action <action>", "Filter by action (e.g. vault.put)")
10
- .option("--limit <n>", "Max events", "50")
11
- .action(async (opts) => {
12
- const user = opts.user ?? activeUserId() ?? "default";
13
- const qs = new URLSearchParams();
14
- if (opts.action)
15
- qs.set("action", opts.action);
16
- if (opts.limit)
17
- qs.set("limit", opts.limit);
18
- const q = qs.toString();
19
- const resp = await apiRequest("GET", `/v1/users/${user}/logs${q ? `?${q}` : ""}`, undefined, { userId: opts.user });
20
- handleApiError("logs.tail", resp);
21
- agentOutput({ action: "logs.tail", result: resp.data, next_steps: [] });
22
- });
23
- logsCmd
24
- .command("all")
25
- .description("Cross-user log query (agentProfile view)")
26
- .option("--action <action>", "Filter by action")
27
- .option("--user <id>", "Filter by user id")
28
- .option("--limit <n>", "Max events", "100")
29
- .action(async (opts) => {
30
- const qs = new URLSearchParams();
31
- if (opts.action)
32
- qs.set("action", opts.action);
33
- if (opts.user)
34
- qs.set("user_id", opts.user);
35
- if (opts.limit)
36
- qs.set("limit", opts.limit);
37
- const q = qs.toString();
38
- const resp = await apiRequest("GET", `/v1/logs${q ? `?${q}` : ""}`);
39
- handleApiError("logs.all", resp);
40
- agentOutput({ action: "logs.all", result: resp.data, next_steps: [] });
41
- });
42
- //# sourceMappingURL=logs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;AAEjF,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,wCAAwC,CAAC;KACrD,MAAM,CAAC,aAAa,EAAE,+BAA+B,CAAC;KACtD,MAAM,CAAC,mBAAmB,EAAE,mCAAmC,CAAC;KAChE,MAAM,CAAC,aAAa,EAAE,YAAY,EAAE,IAAI,CAAC;KACzC,MAAM,CAAC,KAAK,EAAE,IAAwD,EAAE,EAAE;IACzE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,YAAY,EAAE,IAAI,SAAS,CAAC;IACtD,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;IACjC,IAAI,IAAI,CAAC,MAAM;QAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,IAAI,CAAC,KAAK;QAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IACxB,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,aAAa,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACpH,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;AAC1E,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,0CAA0C,CAAC;KACvD,MAAM,CAAC,mBAAmB,EAAE,kBAAkB,CAAC;KAC/C,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC;KAC1C,MAAM,CAAC,aAAa,EAAE,YAAY,EAAE,KAAK,CAAC;KAC1C,MAAM,CAAC,KAAK,EAAE,IAAwD,EAAE,EAAE;IACzE,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;IACjC,IAAI,IAAI,CAAC,MAAM;QAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,IAAI,CAAC,IAAI;QAAE,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,IAAI,CAAC,KAAK;QAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IACxB,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpE,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;AACzE,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- import { Command } from "commander";
2
- export declare const loopsCmd: Command;
@@ -1,260 +0,0 @@
1
- import { Command } from "commander";
2
- import { apiRequest, handleApiError } from "../client.js";
3
- import { agentOutput } from "../output.js";
4
- export const loopsCmd = new Command("loops")
5
- .description("Recurring agent runs — create, list, pause/resume, run now, and remove loops")
6
- .addHelpText("after", `
7
- Subcommands:
8
- naive loops create --schedule <cron> --prompt <text> Create a recurring agent run
9
- naive loops list List all loops
10
- naive loops get <id> Show one loop
11
- naive loops update <id> [--active|--no-active] ... Pause/resume or edit a loop
12
- naive loops run <id> Fire a loop immediately
13
- naive loops remove <id> Delete a loop (and its backing cron job)
14
-
15
- Schedule format (cron expression):
16
- "0 9 * * *" → every day at 9:00 AM UTC
17
- "*/30 * * * *" → every 30 minutes
18
- "0 0 * * 1" → every Monday at midnight UTC
19
-
20
- A Loop is a first-class recurring agent run: a cron-source trigger subscription
21
- bound to an agent. Creating one records the binding and creates the backing cron
22
- job that executes it. Pausing/resuming (--no-active/--active) leaves the runtime
23
- untouched.
24
-
25
- Workflow:
26
- 1. naive loops create --schedule "0 9 * * *" --prompt "Summarize overnight email" --name "Morning triage"
27
- 2. naive loops list → see all loops
28
- 3. naive loops run <id> → test-fire immediately
29
- 4. naive loops update <id> --no-active → pause
30
- 5. naive loops remove <id> → delete permanently
31
-
32
- Examples:
33
- $ naive loops create --schedule "0 9 * * 1" --prompt "Generate the weekly report" --name "Weekly Report"
34
- $ naive loops list
35
- $ naive loops run loop_01H...
36
- $ naive loops update loop_01H... --no-active
37
- $ naive loops remove loop_01H...
38
- `);
39
- loopsCmd
40
- .command("list")
41
- .description("List all loops — active and paused recurring agent runs")
42
- .option("--user <id>", "Target a specific tenant user")
43
- .addHelpText("after", `
44
- Examples:
45
- $ naive loops list
46
-
47
- Returns loop details:
48
- - id, name, schedule (cron expression), active
49
- - target (prompt + optional profileName)
50
- - cronJobId of the backing executor
51
- `)
52
- .action(async (opts) => {
53
- const resp = await apiRequest("GET", "/v1/loops", undefined, { userId: opts.user });
54
- handleApiError("loops.list", resp);
55
- const data = resp.data;
56
- const count = data.count ?? data.loops?.length ?? 0;
57
- const active = data.loops?.filter((l) => l.active !== false) ?? [];
58
- agentOutput({
59
- action: "loops.list",
60
- result: resp.data,
61
- next_steps: [
62
- ...(count > 0
63
- ? [{ command: `naive loops get ${data.loops[0].id}`, description: "View details of the first loop" }]
64
- : []),
65
- { command: 'naive loops create --schedule "<cron>" --prompt "<text>"', description: "Create a new loop" },
66
- ],
67
- hints: [
68
- `${count} loop${count !== 1 ? "s" : ""} total, ${active.length} active`,
69
- ],
70
- related_commands: ["naive loops create", "naive loops get", "naive loops run"],
71
- });
72
- });
73
- loopsCmd
74
- .command("create")
75
- .description("Create a recurring agent run that fires a prompt on a cron schedule")
76
- .requiredOption("--schedule <cron>", "Cron expression (e.g. '0 9 * * *')")
77
- .requiredOption("--prompt <text>", "Prompt to run each time the loop fires")
78
- .option("--name <name>", "Human-readable name for the loop")
79
- .option("--profile <name>", "Agent profile to run as (defaults to the CEO)")
80
- .option("--user <id>", "Target a specific tenant user")
81
- .addHelpText("after", `
82
- Examples:
83
- $ naive loops create --schedule "0 9 * * *" --prompt "Review overnight email and summarize what needs my attention"
84
- $ naive loops create --schedule "*/30 * * * *" --prompt "Check social mentions" --profile support --name "Mentions watch"
85
-
86
- What this does:
87
- Records the loop binding and creates the backing cron job that executes it.
88
- The response includes the loop and the cron_job_id of the backing executor
89
- (null if no runtime is reachable yet — the binding still persists and can
90
- be synced later).
91
- `)
92
- .action(async (opts) => {
93
- const resp = await apiRequest("POST", "/v1/loops", {
94
- schedule: opts.schedule,
95
- prompt: opts.prompt,
96
- ...(opts.name && { name: opts.name }),
97
- ...(opts.profile && { profileName: opts.profile }),
98
- }, { userId: opts.user });
99
- handleApiError("loops.create", resp);
100
- const data = resp.data;
101
- const loop = data.loop ?? {};
102
- const loopId = loop.id ?? "unknown";
103
- agentOutput({
104
- action: "loops.create",
105
- result: resp.data,
106
- next_steps: [
107
- { command: `naive loops run ${loopId}`, description: "Test-fire this loop immediately" },
108
- { command: "naive loops list", description: "View all loops" },
109
- ],
110
- hints: [
111
- `Loop created (id: ${loopId})`,
112
- `Schedule: ${loop.schedule ?? opts.schedule}`,
113
- ...(loop.name ? [`Name: ${loop.name}`] : []),
114
- data.cron_job_id
115
- ? `Backing cron job: ${data.cron_job_id}`
116
- : "No runtime reachable yet — the binding persists and will sync later (cron_job_id: null)",
117
- ],
118
- related_commands: ["naive loops list", "naive loops run", "naive loops update"],
119
- });
120
- });
121
- loopsCmd
122
- .command("get <id>")
123
- .description("Show full details for a specific loop")
124
- .option("--user <id>", "Target a specific tenant user")
125
- .addHelpText("after", `
126
- Examples:
127
- $ naive loops get loop_01H...
128
-
129
- Returns the loop's id, name, schedule, active flag, target (prompt + profile),
130
- and the cronJobId of the backing executor.
131
- `)
132
- .action(async (id, opts) => {
133
- const resp = await apiRequest("GET", `/v1/loops/${id}`, undefined, { userId: opts.user });
134
- handleApiError("loops.get", resp);
135
- const data = resp.data;
136
- agentOutput({
137
- action: "loops.get",
138
- result: resp.data,
139
- next_steps: [
140
- { command: `naive loops run ${id}`, description: "Fire this loop now" },
141
- ...(data.active === false
142
- ? [{ command: `naive loops update ${id} --active`, description: "Resume this loop" }]
143
- : [{ command: `naive loops update ${id} --no-active`, description: "Pause this loop" }]),
144
- { command: "naive loops list", description: "View all loops" },
145
- ],
146
- hints: [
147
- `${data.name ?? data.id ?? id}: ${data.active === false ? "paused" : "active"}${data.schedule ? ` (${data.schedule})` : ""}`,
148
- ],
149
- related_commands: ["naive loops list", "naive loops update", "naive loops run"],
150
- });
151
- });
152
- loopsCmd
153
- .command("update <id>")
154
- .description("Update a loop — pause/resume, or edit its name, prompt, or profile")
155
- .option("--name <name>", "New human-readable name")
156
- .option("--active", "Resume the loop (fire on schedule)")
157
- .option("--no-active", "Pause the loop (do not fire on schedule)")
158
- .option("--prompt <text>", "New prompt to run each firing")
159
- .option("--profile <name>", "New agent profile to run as")
160
- .option("--user <id>", "Target a specific tenant user")
161
- .addHelpText("after", `
162
- Examples:
163
- $ naive loops update loop_01H... --no-active # pause
164
- $ naive loops update loop_01H... --active # resume
165
- $ naive loops update loop_01H... --prompt "New instructions"
166
- $ naive loops update loop_01H... --name "Renamed loop" --profile support
167
- `)
168
- .action(async (id, opts) => {
169
- const body = {};
170
- if (opts.name !== undefined)
171
- body.name = opts.name;
172
- if (opts.active !== undefined)
173
- body.active = opts.active;
174
- if (opts.prompt !== undefined)
175
- body.prompt = opts.prompt;
176
- if (opts.profile !== undefined)
177
- body.profileName = opts.profile;
178
- const resp = await apiRequest("PATCH", `/v1/loops/${id}`, body, { userId: opts.user });
179
- handleApiError("loops.update", resp);
180
- agentOutput({
181
- action: "loops.update",
182
- result: resp.data,
183
- next_steps: [
184
- { command: `naive loops get ${id}`, description: "View the updated loop" },
185
- { command: "naive loops list", description: "View all loops" },
186
- ],
187
- hints: [
188
- `Loop ${id} updated`,
189
- ...(opts.active !== undefined ? [opts.active ? "Resumed — will fire on schedule" : "Paused — will not fire on schedule"] : []),
190
- ...(opts.name !== undefined ? [`Name → ${opts.name}`] : []),
191
- ...(opts.prompt !== undefined ? ["Prompt updated"] : []),
192
- ...(opts.profile !== undefined ? [`Profile → ${opts.profile}`] : []),
193
- ],
194
- related_commands: ["naive loops get", "naive loops list"],
195
- });
196
- });
197
- loopsCmd
198
- .command("run <id>")
199
- .description("Fire a loop immediately — the regular schedule is unaffected")
200
- .option("--user <id>", "Target a specific tenant user")
201
- .addHelpText("after", `
202
- Examples:
203
- $ naive loops run loop_01H...
204
-
205
- Fires the loop's prompt right now, regardless of its schedule. Returns the
206
- run_id of the triggered run (null if no runtime is reachable).
207
-
208
- Cost: Same as a regular loop firing (credits based on work performed).
209
- `)
210
- .action(async (id, opts) => {
211
- const resp = await apiRequest("POST", `/v1/loops/${id}/run`, undefined, { userId: opts.user });
212
- handleApiError("loops.run", resp);
213
- const data = resp.data;
214
- agentOutput({
215
- action: "loops.run",
216
- result: resp.data,
217
- next_steps: [
218
- ...(data.run_id
219
- ? [{ command: `naive ceo stream ${data.run_id}`, description: "Stream the triggered run" }]
220
- : []),
221
- { command: "naive loops list", description: "View all loops" },
222
- ],
223
- hints: [
224
- data.run_id
225
- ? `Loop ${id} fired (run: ${data.run_id})`
226
- : `Loop ${id} could not fire — no runtime reachable`,
227
- "This does not affect the regular schedule",
228
- ],
229
- related_commands: ["naive loops list", "naive ceo stream", "naive loops get"],
230
- });
231
- });
232
- loopsCmd
233
- .command("remove <id>")
234
- .description("Permanently delete a loop and its backing cron job")
235
- .option("--user <id>", "Target a specific tenant user")
236
- .addHelpText("after", `
237
- Examples:
238
- $ naive loops remove loop_01H...
239
-
240
- Deletes the loop binding and best-effort removes the backing cron job.
241
- This cannot be undone.
242
- `)
243
- .action(async (id, opts) => {
244
- const resp = await apiRequest("DELETE", `/v1/loops/${id}`, undefined, { userId: opts.user });
245
- handleApiError("loops.remove", resp);
246
- agentOutput({
247
- action: "loops.remove",
248
- result: resp.data,
249
- next_steps: [
250
- { command: "naive loops list", description: "View remaining loops" },
251
- { command: 'naive loops create --schedule "<cron>" --prompt "<text>"', description: "Create a replacement loop" },
252
- ],
253
- hints: [
254
- `Loop ${id} deleted permanently`,
255
- "The backing cron job is removed too",
256
- ],
257
- related_commands: ["naive loops list", "naive loops create"],
258
- });
259
- });
260
- //# sourceMappingURL=loops.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loops.js","sourceRoot":"","sources":["../../src/commands/loops.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import { Command } from "commander";
2
- export declare const mediaCmd: Command;
@@ -1,183 +0,0 @@
1
- import { Command } from "commander";
2
- import { readFileSync } from "fs";
3
- import { basename } from "path";
4
- import { apiRequest, handleApiError, isUpstreamError, parseJsonOrUpstreamError } from "../client.js";
5
- import { loadConfig, getApiKey } from "../config.js";
6
- import { agentOutput, formatApiError } from "../output.js";
7
- export const mediaCmd = new Command("media")
8
- .description("Manage media assets — upload, list, update, delete files in your Media Asset Manager")
9
- .addHelpText("after", `
10
- Subcommands:
11
- naive media list List media assets
12
- naive media get <id> Get a single asset by ID
13
- naive media upload --url <url> Upload from a URL
14
- naive media upload --file <path> Upload a local file
15
- naive media update <id> --title ... --tags ... Update asset metadata
16
- naive media delete <id> Delete an asset
17
-
18
- Assets are auto-populated when video clipping or video generation jobs complete.
19
- `);
20
- // ── List ──────────────────────────────────────────────────────────────────
21
- mediaCmd
22
- .command("list")
23
- .description("List media assets with optional filters")
24
- .option("--source <type>", "Filter by source: manual, video_clipping, video_generation, url_import")
25
- .option("--search <query>", "Search by title or filename")
26
- .option("--limit <n>", "Max results (default 50, max 100)")
27
- .option("--offset <n>", "Pagination offset")
28
- .action(async (opts) => {
29
- const params = new URLSearchParams();
30
- if (opts.source)
31
- params.set("source_type", opts.source);
32
- if (opts.search)
33
- params.set("search", opts.search);
34
- if (opts.limit)
35
- params.set("limit", opts.limit);
36
- if (opts.offset)
37
- params.set("offset", opts.offset);
38
- const qs = params.toString();
39
- const resp = await apiRequest("GET", `/v1/media${qs ? `?${qs}` : ""}`);
40
- handleApiError("media.list", resp);
41
- agentOutput({
42
- action: "media.list",
43
- result: resp.data,
44
- next_steps: [
45
- { command: "naive media get <id>", description: "View a specific asset" },
46
- { command: "naive media upload --url <url>", description: "Upload a new asset from URL" },
47
- ],
48
- hints: ["Use --source to filter by origin (video_clipping, video_generation, manual, url_import)."],
49
- });
50
- });
51
- // ── Get ───────────────────────────────────────────────────────────────────
52
- mediaCmd
53
- .command("get <id>")
54
- .description("Get details of a single media asset")
55
- .action(async (id) => {
56
- const resp = await apiRequest("GET", `/v1/media/${id}`);
57
- handleApiError("media.get", resp);
58
- agentOutput({
59
- action: "media.get",
60
- result: resp.data,
61
- next_steps: [
62
- { command: `naive media update ${id} --title "New Title"`, description: "Update this asset" },
63
- { command: `naive media delete ${id}`, description: "Delete this asset" },
64
- ],
65
- hints: ["Asset details include source_type, source_job_id, and tags."],
66
- });
67
- });
68
- // ── Upload ────────────────────────────────────────────────────────────────
69
- mediaCmd
70
- .command("upload")
71
- .description("Upload a media asset from a URL or local file")
72
- .option("--url <url>", "Public URL of the media file")
73
- .option("--file <path>", "Path to a local file to upload")
74
- .option("--title <title>", "Asset title")
75
- .option("--description <desc>", "Asset description")
76
- .option("--tags <tags>", "Comma-separated tags")
77
- .action(async (opts) => {
78
- if (!opts.url && !opts.file) {
79
- console.error("Error: provide --url or --file");
80
- process.exit(1);
81
- }
82
- const tags = opts.tags ? opts.tags.split(",").map((t) => t.trim()) : undefined;
83
- if (opts.url) {
84
- const body = { url: opts.url };
85
- if (opts.title)
86
- body.title = opts.title;
87
- if (opts.description)
88
- body.description = opts.description;
89
- if (tags)
90
- body.tags = tags;
91
- const resp = await apiRequest("POST", "/v1/media/upload/url", body);
92
- handleApiError("media.upload", resp);
93
- agentOutput({
94
- action: "media.upload",
95
- result: resp.data,
96
- next_steps: [
97
- { command: "naive media list", description: "View all assets" },
98
- ],
99
- hints: ["Asset uploaded from URL and added to your Media Asset Manager."],
100
- });
101
- }
102
- else {
103
- const filePath = opts.file;
104
- const fileBuffer = readFileSync(filePath);
105
- const filename = basename(filePath);
106
- const config = loadConfig();
107
- const url = `${config.base_url}/v1/media/upload/file`;
108
- const formData = new FormData();
109
- formData.append("file", new Blob([fileBuffer]), filename);
110
- if (opts.title)
111
- formData.append("title", opts.title);
112
- if (opts.description)
113
- formData.append("description", opts.description);
114
- if (tags)
115
- formData.append("tags", JSON.stringify(tags));
116
- const resp = await fetch(url, {
117
- method: "POST",
118
- headers: { Authorization: `Bearer ${getApiKey()}` },
119
- body: formData,
120
- });
121
- const data = await parseJsonOrUpstreamError(resp);
122
- if (resp.status >= 400 || isUpstreamError(data)) {
123
- formatApiError("media.upload", data);
124
- }
125
- else {
126
- agentOutput({
127
- action: "media.upload",
128
- result: data,
129
- next_steps: [
130
- { command: "naive media list", description: "View all assets" },
131
- ],
132
- hints: [`File "${filename}" uploaded to your Media Asset Manager.`],
133
- });
134
- }
135
- }
136
- });
137
- // ── Update ────────────────────────────────────────────────────────────────
138
- mediaCmd
139
- .command("update <id>")
140
- .description("Update media asset metadata (title, description, tags)")
141
- .option("--title <title>", "New title")
142
- .option("--description <desc>", "New description")
143
- .option("--tags <tags>", "Comma-separated tags (replaces existing)")
144
- .action(async (id, opts) => {
145
- const body = {};
146
- if (opts.title !== undefined)
147
- body.title = opts.title;
148
- if (opts.description !== undefined)
149
- body.description = opts.description;
150
- if (opts.tags !== undefined)
151
- body.tags = opts.tags.split(",").map((t) => t.trim());
152
- if (Object.keys(body).length === 0) {
153
- console.error("Error: provide at least one of --title, --description, or --tags");
154
- process.exit(1);
155
- }
156
- const resp = await apiRequest("PATCH", `/v1/media/${id}`, body);
157
- handleApiError("media.update", resp);
158
- agentOutput({
159
- action: "media.update",
160
- result: resp.data,
161
- next_steps: [
162
- { command: `naive media get ${id}`, description: "View updated asset" },
163
- ],
164
- hints: ["Asset metadata updated."],
165
- });
166
- });
167
- // ── Delete ────────────────────────────────────────────────────────────────
168
- mediaCmd
169
- .command("delete <id>")
170
- .description("Delete a media asset")
171
- .action(async (id) => {
172
- const resp = await apiRequest("DELETE", `/v1/media/${id}`);
173
- handleApiError("media.delete", resp);
174
- agentOutput({
175
- action: "media.delete",
176
- result: resp.data,
177
- next_steps: [
178
- { command: "naive media list", description: "View remaining assets" },
179
- ],
180
- hints: ["Asset permanently deleted."],
181
- });
182
- });
183
- //# sourceMappingURL=media.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/commands/media.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import { Command } from "commander";
2
- export declare const memoryCmd: Command;