@usenaive-sdk/cli 0.12.2 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/README.md +76 -5
  2. package/dist/client.d.ts +74 -1
  3. package/dist/client.js +351 -17
  4. package/dist/client.js.map +1 -1
  5. package/dist/commands/aeo.js +69 -27
  6. package/dist/commands/aeo.js.map +1 -1
  7. package/dist/commands/app-data.js +29 -11
  8. package/dist/commands/app-data.js.map +1 -1
  9. package/dist/commands/apps.d.ts +7 -0
  10. package/dist/commands/apps.js +255 -18
  11. package/dist/commands/apps.js.map +1 -1
  12. package/dist/commands/audio.d.ts +9 -0
  13. package/dist/commands/audio.js +391 -0
  14. package/dist/commands/audio.js.map +1 -0
  15. package/dist/commands/auth.d.ts +31 -0
  16. package/dist/commands/auth.js +403 -0
  17. package/dist/commands/auth.js.map +1 -0
  18. package/dist/commands/billing.js +12 -12
  19. package/dist/commands/billing.js.map +1 -1
  20. package/dist/commands/brain.d.ts +2 -0
  21. package/dist/commands/brain.js +1255 -0
  22. package/dist/commands/brain.js.map +1 -0
  23. package/dist/commands/browser.js +35 -8
  24. package/dist/commands/browser.js.map +1 -1
  25. package/dist/commands/business.js +117 -16
  26. package/dist/commands/business.js.map +1 -1
  27. package/dist/commands/clone.d.ts +2 -0
  28. package/dist/commands/clone.js +203 -0
  29. package/dist/commands/clone.js.map +1 -0
  30. package/dist/commands/companies.d.ts +8 -0
  31. package/dist/commands/companies.js +137 -47
  32. package/dist/commands/companies.js.map +1 -1
  33. package/dist/commands/company-data.d.ts +2 -0
  34. package/dist/commands/company-data.js +168 -0
  35. package/dist/commands/company-data.js.map +1 -0
  36. package/dist/commands/compute.js +10 -3
  37. package/dist/commands/compute.js.map +1 -1
  38. package/dist/commands/config.d.ts +2 -0
  39. package/dist/commands/config.js +36 -0
  40. package/dist/commands/config.js.map +1 -0
  41. package/dist/commands/connections.d.ts +6 -0
  42. package/dist/commands/connections.js +29 -1
  43. package/dist/commands/connections.js.map +1 -1
  44. package/dist/commands/domains.js +1 -1
  45. package/dist/commands/ecommerce.js +19 -9
  46. package/dist/commands/ecommerce.js.map +1 -1
  47. package/dist/commands/email.js +56 -9
  48. package/dist/commands/email.js.map +1 -1
  49. package/dist/commands/env.d.ts +3 -3
  50. package/dist/commands/env.js +68 -4
  51. package/dist/commands/env.js.map +1 -1
  52. package/dist/commands/formation.js +3 -3
  53. package/dist/commands/identity.js +4 -3
  54. package/dist/commands/identity.js.map +1 -1
  55. package/dist/commands/images.js +87 -13
  56. package/dist/commands/images.js.map +1 -1
  57. package/dist/commands/init.d.ts +3 -0
  58. package/dist/commands/init.js +39 -36
  59. package/dist/commands/init.js.map +1 -1
  60. package/dist/commands/jobs.js +1 -0
  61. package/dist/commands/jobs.js.map +1 -1
  62. package/dist/commands/keys.js +26 -3
  63. package/dist/commands/keys.js.map +1 -1
  64. package/dist/commands/legacy-auth.d.ts +27 -0
  65. package/dist/commands/legacy-auth.js +64 -0
  66. package/dist/commands/legacy-auth.js.map +1 -0
  67. package/dist/commands/llm.js +13 -0
  68. package/dist/commands/llm.js.map +1 -1
  69. package/dist/commands/login.js +2 -0
  70. package/dist/commands/login.js.map +1 -1
  71. package/dist/commands/loops.d.ts +2 -0
  72. package/dist/commands/loops.js +260 -0
  73. package/dist/commands/loops.js.map +1 -0
  74. package/dist/commands/media.js +3 -3
  75. package/dist/commands/media.js.map +1 -1
  76. package/dist/commands/mobile.d.ts +4 -0
  77. package/dist/commands/mobile.js +382 -0
  78. package/dist/commands/mobile.js.map +1 -0
  79. package/dist/commands/payments.d.ts +2 -0
  80. package/dist/commands/payments.js +131 -0
  81. package/dist/commands/payments.js.map +1 -0
  82. package/dist/commands/people.d.ts +2 -0
  83. package/dist/commands/people.js +193 -0
  84. package/dist/commands/people.js.map +1 -0
  85. package/dist/commands/phone.js +3 -3
  86. package/dist/commands/phone.js.map +1 -1
  87. package/dist/commands/projects.d.ts +13 -0
  88. package/dist/commands/projects.js +220 -0
  89. package/dist/commands/projects.js.map +1 -0
  90. package/dist/commands/register.js +16 -8
  91. package/dist/commands/register.js.map +1 -1
  92. package/dist/commands/sandbox.d.ts +2 -0
  93. package/dist/commands/sandbox.js +245 -0
  94. package/dist/commands/sandbox.js.map +1 -0
  95. package/dist/commands/search.js +26 -12
  96. package/dist/commands/search.js.map +1 -1
  97. package/dist/commands/seo.js +16 -8
  98. package/dist/commands/seo.js.map +1 -1
  99. package/dist/commands/sessions.d.ts +6 -0
  100. package/dist/commands/sessions.js +109 -0
  101. package/dist/commands/sessions.js.map +1 -0
  102. package/dist/commands/social-data.d.ts +2 -0
  103. package/dist/commands/social-data.js +244 -0
  104. package/dist/commands/social-data.js.map +1 -0
  105. package/dist/commands/social.js +8 -6
  106. package/dist/commands/social.js.map +1 -1
  107. package/dist/commands/teams.d.ts +69 -0
  108. package/dist/commands/teams.js +503 -0
  109. package/dist/commands/teams.js.map +1 -0
  110. package/dist/commands/up.d.ts +150 -0
  111. package/dist/commands/up.js +415 -15
  112. package/dist/commands/up.js.map +1 -1
  113. package/dist/commands/usage.js +15 -4
  114. package/dist/commands/usage.js.map +1 -1
  115. package/dist/commands/use.d.ts +9 -0
  116. package/dist/commands/use.js +76 -11
  117. package/dist/commands/use.js.map +1 -1
  118. package/dist/commands/users.d.ts +8 -0
  119. package/dist/commands/users.js +28 -9
  120. package/dist/commands/users.js.map +1 -1
  121. package/dist/commands/vault.js +28 -1
  122. package/dist/commands/vault.js.map +1 -1
  123. package/dist/commands/video.js +190 -270
  124. package/dist/commands/video.js.map +1 -1
  125. package/dist/commands/voice.d.ts +2 -0
  126. package/dist/commands/voice.js +516 -0
  127. package/dist/commands/voice.js.map +1 -0
  128. package/dist/commands/wallet.d.ts +2 -0
  129. package/dist/commands/wallet.js +244 -0
  130. package/dist/commands/wallet.js.map +1 -0
  131. package/dist/commands/whoami.js +17 -1
  132. package/dist/commands/whoami.js.map +1 -1
  133. package/dist/config.d.ts +24 -1
  134. package/dist/config.js +36 -7
  135. package/dist/config.js.map +1 -1
  136. package/dist/index.d.ts +2 -1
  137. package/dist/index.js +290 -20
  138. package/dist/index.js.map +1 -1
  139. package/dist/lib/brain-select.d.ts +193 -0
  140. package/dist/lib/brain-select.js +403 -0
  141. package/dist/lib/brain-select.js.map +1 -0
  142. package/dist/lib/cli-validation.d.ts +12 -0
  143. package/dist/lib/cli-validation.js +46 -0
  144. package/dist/lib/cli-validation.js.map +1 -0
  145. package/dist/lib/deprecation.d.ts +158 -0
  146. package/dist/lib/deprecation.js +140 -0
  147. package/dist/lib/deprecation.js.map +1 -0
  148. package/dist/lib/duration.d.ts +8 -0
  149. package/dist/lib/duration.js +11 -0
  150. package/dist/lib/duration.js.map +1 -0
  151. package/dist/lib/http-response.d.ts +11 -0
  152. package/dist/lib/http-response.js +96 -0
  153. package/dist/lib/http-response.js.map +1 -0
  154. package/dist/lib/pricing.d.ts +132 -0
  155. package/dist/lib/pricing.js +148 -0
  156. package/dist/lib/pricing.js.map +1 -0
  157. package/dist/lib/stream-frames.d.ts +114 -0
  158. package/dist/lib/stream-frames.js +169 -0
  159. package/dist/lib/stream-frames.js.map +1 -0
  160. package/dist/lib/teams-catalog.d.ts +141 -0
  161. package/dist/lib/teams-catalog.js +765 -0
  162. package/dist/lib/teams-catalog.js.map +1 -0
  163. package/dist/lib/unknown-command.d.ts +57 -0
  164. package/dist/lib/unknown-command.js +93 -0
  165. package/dist/lib/unknown-command.js.map +1 -0
  166. package/dist/lib/version-check.d.ts +26 -0
  167. package/dist/lib/version-check.js +21 -0
  168. package/dist/lib/version-check.js.map +1 -0
  169. package/dist/output.d.ts +119 -10
  170. package/dist/output.js +309 -15
  171. package/dist/output.js.map +1 -1
  172. package/dist/prompt.d.ts +17 -0
  173. package/dist/prompt.js +70 -0
  174. package/dist/prompt.js.map +1 -0
  175. package/package.json +11 -6
  176. package/dist/commands/billing-client.d.ts +0 -2
  177. package/dist/commands/billing-client.js +0 -271
  178. package/dist/commands/billing-client.js.map +0 -1
  179. package/dist/commands/crm-app.d.ts +0 -2
  180. package/dist/commands/crm-app.js +0 -306
  181. package/dist/commands/crm-app.js.map +0 -1
  182. package/dist/commands/crm.d.ts +0 -2
  183. package/dist/commands/crm.js +0 -319
  184. package/dist/commands/crm.js.map +0 -1
  185. package/dist/commands/integrations.d.ts +0 -2
  186. package/dist/commands/integrations.js +0 -199
  187. package/dist/commands/integrations.js.map +0 -1
  188. package/dist/commands/link.d.ts +0 -3
  189. package/dist/commands/link.js +0 -91
  190. package/dist/commands/link.js.map +0 -1
  191. package/dist/commands/operators.d.ts +0 -11
  192. package/dist/commands/operators.js +0 -120
  193. package/dist/commands/operators.js.map +0 -1
@@ -2,56 +2,58 @@ import { Command } from "commander";
2
2
  import { existsSync, writeFileSync } from "node:fs";
3
3
  import { join } from "node:path";
4
4
  import { agentOutput } from "../output.js";
5
- const STARTER_CONFIG = `import { defineConfig, cloud, business, agent, identity, skills } from "@usenaive-sdk/iac";
5
+ const STARTER_CONFIG = `import { defineProject, cloud, agent, kit, team, skills } from "@usenaive-sdk/iac";
6
6
 
7
- // Naïve gives every agent its own governed, real-world identity. Declare your
8
- // project's shared infrastructure ONCE, then a blueprint per agent role. Run
9
- // \`naive up\` to set it up, then \`naive.forUser(id).provision("support")\`
10
- // (server SDK) or \`naive agent-profiles provision support --user <id>\` to
11
- // stamp out a fresh, isolated, governed copy per user.
12
- export default defineConfig({
7
+ // Naïve gives every agent its own governed, real-world identity. Declare the
8
+ // project's shared infrastructure ONCE, then your teams. Run \`naive up\` to
9
+ // plan and apply. \`defineProject\` is STRICT: a field nothing consumes is a
10
+ // named refusal at define time, never a green apply that enforces nothing.
11
+ export default defineProject({
13
12
  project: "my-project",
14
13
 
15
14
  // ── infrastructure: set up ONCE for the whole project ────────────────────
15
+ // Cloud — one instance, shared by everyone. Naïve injects the secrets
16
+ // (database URL, storage credentials…) into your runtime automatically.
16
17
  infrastructure: {
17
- // Cloud — one instance, shared by everyone. Naïve injects the secrets
18
- // (database URL, storage credentials…) into your runtime automatically.
19
18
  cloud: {
20
19
  website: cloud.web({ framework: "nextjs", dir: "." }),
21
20
  database: cloud.postgres({ size: "serverless" }),
22
- storage: cloud.bucket(),
23
21
  },
22
+ },
24
23
 
25
- // Business — the real-world programs each agent draws from. Turning one ON
26
- // registers the shared parent; each agent gets its OWN instance via \`has\`.
27
- business: {
28
- identity: business.entity({ form: "llc", verify: "kyb" }),
29
- email: business.email({ domain: "mail.example.com" }),
30
- cards: business.cards({ funding: "balance" }),
31
- },
24
+ // ── kits: roles declared now, instantiated later ──────────────────────────
25
+ // \`naive up\` registers each kit; nothing runs until you stamp an instance
26
+ // for one child project from your own code:
27
+ // await naive.forProject("my-project").forChild(childId).provision("sdr");
28
+ kits: {
29
+ sdr: kit({
30
+ instructions: "Research prospects and draft outreach for one customer.",
31
+ can: [skills.search, skills.email],
32
+ }),
32
33
  },
33
34
 
34
- // ── agents: a blueprint per ROLE ─────────────────────────────────────────
35
- // Naïve stamps out a fresh, isolated copy per user:
36
- // naive.forUser(userId).provision("support")
37
- agents: {
38
- support: agent({
39
- is: identity.business(), // a real, monetizable entity
40
- has: {
41
- email: true, // own address under the verified domain
42
- cards: { limit: "$50/day" }, // own spend-capped card
43
- },
44
- can: [skills.email, skills.search, skills.llm],
45
- limits: {
46
- budget: "$200/mo", // alerts at 80%, hard-denies at cap
47
- approve: [skills.cards.charge], // human OK before money moves
35
+ // ── teams: N agents behind one lead ──────────────────────────────────────
36
+ // No \`runtime:\` line means runtime.durable() — the current runtime.
37
+ // \`naive up\` materializes each team's agents and places the team.
38
+ teams: {
39
+ support: team({
40
+ lead: agent({
41
+ instructions: "You run the support team. Triage incoming work and delegate.",
42
+ can: [skills.search, skills.llm],
43
+ }),
44
+ agents: {
45
+ triage: agent({
46
+ instructions: "Answer support questions. Escalate anything you cannot resolve.",
47
+ can: [skills.search, skills.llm],
48
+ }),
48
49
  },
50
+ edges: [["lead", "triage"]],
49
51
  }),
50
52
  },
51
53
  });
52
54
  `;
53
55
  export const initCmd = new Command("init")
54
- .description("Scaffold a naive.config.ts with an agent profile template")
56
+ .description("Scaffold a naive.config.ts with a starter team")
55
57
  .option("--force", "Overwrite an existing naive.config.ts")
56
58
  .action((opts) => {
57
59
  const path = join(process.cwd(), "naive.config.ts");
@@ -61,7 +63,7 @@ export const initCmd = new Command("init")
61
63
  result: { path, created: false },
62
64
  next_steps: [
63
65
  { command: "naive init --force", description: "Overwrite the existing naive.config.ts" },
64
- { command: "naive up", description: "Register the templates declared in naive.config.ts" },
66
+ { command: "naive up", description: "Plan + apply what naive.config.ts declares" },
65
67
  ],
66
68
  hints: ["naive.config.ts already exists — not overwritten. Use --force to replace it."],
67
69
  });
@@ -73,10 +75,11 @@ export const initCmd = new Command("init")
73
75
  result: { path, created: true },
74
76
  next_steps: [
75
77
  { command: "pnpm add @usenaive-sdk/iac @usenaive-sdk/server", description: "Install the SDK packages" },
76
- { command: "naive up", description: "Register the templates declared in naive.config.ts" },
77
- { command: "naive agent-profiles provision support --user <tenant>", description: "Provision an agent profile from a template" },
78
+ { command: "naive up", description: "Plan + apply what naive.config.ts declares" },
78
79
  ],
79
- hints: ["Edit naive.config.ts: declare shared infrastructure (cloud + business) once, then an agent blueprint per role (is / has / can / limits)."],
80
+ hints: ["Edit naive.config.ts: declare shared infrastructure (cloud) once, then a team per unit of work (lead + agents + edges)."],
80
81
  });
81
82
  });
83
+ /** The starter config, exported so the suite can compile it with the real DSL. */
84
+ export { STARTER_CONFIG };
82
85
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+CtB,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;KACvC,WAAW,CAAC,2DAA2D,CAAC;KACxE,MAAM,CAAC,SAAS,EAAE,uCAAuC,CAAC;KAC1D,MAAM,CAAC,CAAC,IAAyB,EAAE,EAAE;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC,CAAC;IACpD,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACpC,WAAW,CAAC;YACV,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE;YAChC,UAAU,EAAE;gBACV,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,wCAAwC,EAAE;gBACxF,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,oDAAoD,EAAE;aAC3F;YACD,KAAK,EAAE,CAAC,8EAA8E,CAAC;SACxF,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;IAC5C,WAAW,CAAC;QACV,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;QAC/B,UAAU,EAAE;YACV,EAAE,OAAO,EAAE,iDAAiD,EAAE,WAAW,EAAE,0BAA0B,EAAE;YACvG,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,oDAAoD,EAAE;YAC1F,EAAE,OAAO,EAAE,wDAAwD,EAAE,WAAW,EAAE,4CAA4C,EAAE;SACjI;QACD,KAAK,EAAE,CAAC,0IAA0I,CAAC;KACpJ,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDtB,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;KACvC,WAAW,CAAC,gDAAgD,CAAC;KAC7D,MAAM,CAAC,SAAS,EAAE,uCAAuC,CAAC;KAC1D,MAAM,CAAC,CAAC,IAAyB,EAAE,EAAE;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC,CAAC;IACpD,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACpC,WAAW,CAAC;YACV,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE;YAChC,UAAU,EAAE;gBACV,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,wCAAwC,EAAE;gBACxF,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,4CAA4C,EAAE;aACnF;YACD,KAAK,EAAE,CAAC,8EAA8E,CAAC;SACxF,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;IAC5C,WAAW,CAAC;QACV,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;QAC/B,UAAU,EAAE;YACV,EAAE,OAAO,EAAE,iDAAiD,EAAE,WAAW,EAAE,0BAA0B,EAAE;YACvG,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,4CAA4C,EAAE;SACnF;QACD,KAAK,EAAE,CAAC,yHAAyH,CAAC;KACnI,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,kFAAkF;AAClF,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -102,6 +102,7 @@ What this does:
102
102
  `Job ${id}: ${data.status}`,
103
103
  ...(data.status === "completed" ? ["Result is included in the output above"] : []),
104
104
  ...(data.status === "processing" ? ["Job is actively processing — check back soon"] : []),
105
+ ...(data.status === "failed" ? [`Failed (no credits deducted). Reason: ${data.error || "unknown"}`] : []),
105
106
  ],
106
107
  related_commands: ["naive jobs", "naive jobs cancel"],
107
108
  });
@@ -1 +1 @@
1
- {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../src/commands/jobs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../src/commands/jobs.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Command } from "commander";
2
- import { apiRequest, handleApiError } from "../client.js";
2
+ import { apiRequest, sessionRequest, handleApiError } from "../client.js";
3
3
  import { agentOutput } from "../output.js";
4
4
  export const keysCmd = new Command("keys")
5
5
  .description("Manage API keys for the current agent and company")
@@ -60,22 +60,40 @@ keysCmd
60
60
  .command("create")
61
61
  .description("Create a new API key for the current agent/company")
62
62
  .option("--name <name>", "Human-readable label for the key (e.g. 'CI Key', 'Production')")
63
+ .option("--scope <scope...>", "Restrict the key to a scope. Repeatable. Requires a signed-in session ('naive auth login'). Available: wallet:admin")
63
64
  .addHelpText("after", `
64
65
  Examples:
65
66
  $ naive keys create --name "Production Server"
66
67
  $ naive keys create --name "GitHub Actions"
68
+ $ naive keys create --name "Wallet ops (CI)" --scope wallet:admin
67
69
 
68
70
  What this does:
69
71
  Issues a new API key (nv_sk_live_...) for the current agent and company.
70
72
  The key is shown ONCE — save it securely.
71
73
 
74
+ Scopes:
75
+ An unscoped key has full access. --scope narrows a key to one route family.
76
+ Minting a scoped key requires a signed-in SESSION, not an api key — because
77
+ "wallet:admin" GRANTS the wallet operator surface (fund/transfer/policy/sweep)
78
+ rather than restricting it, so a key that could mint it would be a way for an
79
+ agent to grant itself the float it is supposed to be denied.
80
+
81
+ wallet:admin Administer per-agent crypto wallets headlessly (CI). Reaches
82
+ /v1/users/*/wallet ONLY — deliberately NOT /payments, so the
83
+ key can move the float but cannot spend it.
84
+
72
85
  Use cases:
73
86
  - Provisioning keys for different environments
74
87
  - Giving a key to a specific service/integration
75
88
  - Rotating keys (create new, revoke old)
76
89
  `)
77
90
  .action(async (opts) => {
78
- const resp = await apiRequest("POST", "/v1/auth/keys", { name: opts.name });
91
+ const scopes = opts.scope?.length ? opts.scope : undefined;
92
+ // Scoped keys are session-only (see above), so they go over sessionRequest —
93
+ // apiRequest would send the agent bearer and be refused by the server.
94
+ const resp = scopes
95
+ ? await sessionRequest("POST", "/v1/auth/keys", { body: { name: opts.name, scopes } })
96
+ : await apiRequest("POST", "/v1/auth/keys", { name: opts.name });
79
97
  handleApiError("keys.create", resp);
80
98
  const data = resp.data;
81
99
  agentOutput({
@@ -92,9 +110,14 @@ Use cases:
92
110
  "IMPORTANT: Save this key now. It will not be shown again.",
93
111
  "Use this key as a Bearer token: Authorization: Bearer <key>",
94
112
  "Set as NAIVE_API_KEY environment variable for headless use",
113
+ ...(scopes?.length
114
+ ? [`This key is restricted to: ${scopes.join(", ")}. It cannot reach any other route family.`]
115
+ : []),
95
116
  ],
96
117
  related_commands: ["naive keys list", "naive keys revoke"],
97
- help_markdown: "### Key Created\n\n**Save this key immediately** — it cannot be retrieved later.\n\nTo use:\n```bash\nexport NAIVE_API_KEY=\"" + data.api_key + "\"\n# or in requests:\ncurl -H \"Authorization: Bearer " + data.api_key + "\" ...\n```",
118
+ // Security: the raw key is echoed ONCE in result.api_key above. Do NOT interpolate it into
119
+ // these example commands — that multiplied it 3× and made it a copy-into-shell-history footgun.
120
+ help_markdown: "### Key Created\n\n**Save the `api_key` above immediately** — it cannot be retrieved later.\n\nTo use:\n```bash\nexport NAIVE_API_KEY=\"<your-key>\"\n# or in requests:\ncurl -H \"Authorization: Bearer <your-key>\" ...\n```",
98
121
  });
99
122
  });
100
123
  keysCmd
@@ -1 +1 @@
1
- {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/commands/keys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/commands/keys.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * `naive verify` — a RETIRED command, and the reference implementation of what
3
+ * "retired" means on this CLI (as opposed to "deprecated", which keeps working).
4
+ *
5
+ * ── WHY THIS FILE EXISTS AGAIN ──────────────────────────────────────────────
6
+ *
7
+ * 06 §1.1 cites `commands/link.ts:16-32` as the in-tree precedent for a retired
8
+ * command. MEASURED: that file is not in this branch. Commit `4d8a272d`
9
+ * ("security: remove an unauthenticated endpoint pair that minted API keys for
10
+ * any account") deleted `POST /v1/auth/link` and `POST /v1/auth/verify` — which
11
+ * was right; the code was a 6-digit `Math.random()` credential that sent no email
12
+ * — and removed the CLI's `link`/`verify` commands with them.
13
+ *
14
+ * The removal left `src/index.ts` advertising both in `--help` while neither was
15
+ * registered, so `naive verify` fell through to the `command:*` handler and
16
+ * answered `cli_outdated`: *"this command may exist in a newer version"*. That is
17
+ * false in the one way that matters — it tells an operator to upgrade and try
18
+ * again, when the flow was deliberately destroyed and is never coming back.
19
+ *
20
+ * This restores ONLY the refusal. It makes no request, imports no auth path, and
21
+ * cannot reach the deleted endpoints. `naive link` is NOT restored: it was a soft
22
+ * alias for a live sign-in flow, and re-adding a command a security commit
23
+ * removed is not a thing to do quietly — its stale `--help` line is deleted
24
+ * instead.
25
+ */
26
+ import { Command } from "commander";
27
+ export declare const verifyCmd: Command;
@@ -0,0 +1,64 @@
1
+ /**
2
+ * `naive verify` — a RETIRED command, and the reference implementation of what
3
+ * "retired" means on this CLI (as opposed to "deprecated", which keeps working).
4
+ *
5
+ * ── WHY THIS FILE EXISTS AGAIN ──────────────────────────────────────────────
6
+ *
7
+ * 06 §1.1 cites `commands/link.ts:16-32` as the in-tree precedent for a retired
8
+ * command. MEASURED: that file is not in this branch. Commit `4d8a272d`
9
+ * ("security: remove an unauthenticated endpoint pair that minted API keys for
10
+ * any account") deleted `POST /v1/auth/link` and `POST /v1/auth/verify` — which
11
+ * was right; the code was a 6-digit `Math.random()` credential that sent no email
12
+ * — and removed the CLI's `link`/`verify` commands with them.
13
+ *
14
+ * The removal left `src/index.ts` advertising both in `--help` while neither was
15
+ * registered, so `naive verify` fell through to the `command:*` handler and
16
+ * answered `cli_outdated`: *"this command may exist in a newer version"*. That is
17
+ * false in the one way that matters — it tells an operator to upgrade and try
18
+ * again, when the flow was deliberately destroyed and is never coming back.
19
+ *
20
+ * This restores ONLY the refusal. It makes no request, imports no auth path, and
21
+ * cannot reach the deleted endpoints. `naive link` is NOT restored: it was a soft
22
+ * alias for a live sign-in flow, and re-adding a command a security commit
23
+ * removed is not a thing to do quietly — its stale `--help` line is deleted
24
+ * instead.
25
+ */
26
+ import { Command } from "commander";
27
+ import { deprecationNotice, deprecationRecord, retiredCommand } from "../lib/deprecation.js";
28
+ export const verifyCmd = new Command("verify")
29
+ .description("Retired: six-digit verification-code sign-in no longer exists")
30
+ .option("--email <email>", "Legacy account email (ignored)")
31
+ .option("--code <code>", "Legacy verification code (ignored)")
32
+ .action(() => {
33
+ const rec = deprecationRecord(verifyCmd, {
34
+ // `dep.cli.*`, not `dep.primitive.*`: this retirement has no REST twin.
35
+ // The endpoints were DELETED (commit 4d8a272d, a security removal), so
36
+ // there is no operation for the register to mark and no header to
37
+ // correlate with. The namespace is what makes that legible instead of
38
+ // looking like a missing row.
39
+ id: "dep.cli.verify",
40
+ drives: "the six-digit verification-code sign-in, which was removed for security and has no successor.",
41
+ alsoCalled: [],
42
+ replacement: { kind: "use", what: "naive auth email <email>" },
43
+ why: "the code was generated with a non-cryptographic RNG, was never emailed, and minted a live API key on match",
44
+ since: "2026-07",
45
+ sunset: { kind: "frozen" },
46
+ // The magic-link flow this record's `recovery_steps` recommend. There is no
47
+ // `cli/auth` page and there never was: this URL 404'd on every run of
48
+ // `naive verify`, which is the one command guaranteed to send a user
49
+ // looking for it. `__tests__/docs-links.test.ts` now resolves every
50
+ // outbound docs URL in this package against naive-docs/ and docs.json.
51
+ guide: "https://usenaive.ai/docs/getting-started/authentication",
52
+ });
53
+ retiredCommand({
54
+ action: "verify",
55
+ message: "Six-digit verification-code sign-in has been retired and will not return. " +
56
+ "Use the durable email magic-link flow.",
57
+ recovery_steps: [
58
+ { command: "naive auth email <email>", description: "Sign in with an email magic link" },
59
+ { command: "naive auth google", description: "Sign in with Google in your browser" },
60
+ ],
61
+ notice: deprecationNotice(rec, "retired"),
62
+ });
63
+ });
64
+ //# sourceMappingURL=legacy-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy-auth.js","sourceRoot":"","sources":["../../src/commands/legacy-auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE7F,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KAC3C,WAAW,CAAC,+DAA+D,CAAC;KAC5E,MAAM,CAAC,iBAAiB,EAAE,gCAAgC,CAAC;KAC3D,MAAM,CAAC,eAAe,EAAE,oCAAoC,CAAC;KAC7D,MAAM,CAAC,GAAG,EAAE;IACX,MAAM,GAAG,GAAG,iBAAiB,CAAC,SAAS,EAAE;QACvC,wEAAwE;QACxE,uEAAuE;QACvE,kEAAkE;QAClE,sEAAsE;QACtE,8BAA8B;QAC9B,EAAE,EAAE,gBAAgB;QACpB,MAAM,EAAE,+FAA+F;QACvG,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,0BAA0B,EAAE;QAC9D,GAAG,EAAE,4GAA4G;QACjH,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,4EAA4E;QAC5E,sEAAsE;QACtE,qEAAqE;QACrE,oEAAoE;QACpE,uEAAuE;QACvE,KAAK,EAAE,yDAAyD;KACjE,CAAC,CAAC;IACH,cAAc,CAAC;QACb,MAAM,EAAE,QAAQ;QAChB,OAAO,EACL,4EAA4E;YAC5E,wCAAwC;QAC1C,cAAc,EAAE;YACd,EAAE,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAAE,kCAAkC,EAAE;YACxF,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,qCAAqC,EAAE;SACrF;QACD,MAAM,EAAE,iBAAiB,CAAC,GAAG,EAAE,SAAS,CAAC;KAC1C,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -54,10 +54,22 @@ llmCmd
54
54
  handleApiError("llm.chat", resp);
55
55
  const data = resp.data;
56
56
  const content = data.choices?.[0]?.message?.content ?? "";
57
+ // N9: the output was cut off at the model's token cap. The API sets truncated:true
58
+ // (finish_reason === "length"); fall back to reading finish_reason directly so this
59
+ // still fires against an older API. Warn on stderr — a scripted caller reading only
60
+ // stdout JSON still gets truncated:true in the result, but a human sees it too.
61
+ const truncated = data.truncated === true || data.choices?.some((c) => c.finish_reason === "length") === true;
62
+ if (truncated) {
63
+ process.stderr.write(" ⚠ Output was truncated — the model hit its token limit (finish_reason: length). " +
64
+ "The response is incomplete. Re-run with a higher --max-tokens to get the full output.\n");
65
+ }
57
66
  agentOutput({
58
67
  action: "llm.chat",
59
68
  result: resp.data,
60
69
  next_steps: [
70
+ ...(truncated
71
+ ? [{ command: `naive llm chat -m ${opts.model} --max-tokens <higher> "${prompt.slice(0, 40)}…"`, description: "Re-run with a higher token cap to avoid truncation" }]
72
+ : []),
61
73
  { command: "naive llm models", description: "Browse other available models" },
62
74
  { command: "naive usage", description: "See credit usage" },
63
75
  ],
@@ -65,6 +77,7 @@ llmCmd
65
77
  content ? `Response: ${content.slice(0, 200)}${content.length > 200 ? "…" : ""}` : "Completed",
66
78
  `Model: ${data.model ?? opts.model}`,
67
79
  `Credits used: ${data.credits_used ?? 0}`,
80
+ ...(truncated ? ["⚠ Output truncated at the token limit (finish_reason: length) — response is incomplete; raise --max-tokens"] : []),
68
81
  ],
69
82
  related_commands: ["naive llm models", "naive usage"],
70
83
  });
@@ -1 +1 @@
1
- {"version":3,"file":"llm.js","sourceRoot":"","sources":["../../src/commands/llm.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,MAAM,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC;KACrC,WAAW,CAAC,4FAA4F,CAAC;KACzG,WAAW,CAAC,OAAO,EAAE;;;;;;;;;;;;;;CAcvB,CAAC,CAAC;AAEH,MAAM;KACH,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,uCAAuC,CAAC;KACpD,cAAc,CAAC,qBAAqB,EAAE,uDAAuD,CAAC;KAC9F,MAAM,CAAC,iBAAiB,EAAE,wBAAwB,CAAC;KACnD,MAAM,CAAC,wBAAwB,EAAE,uCAAuC,CAAC;KACzE,MAAM,CAAC,mBAAmB,EAAE,4BAA4B,CAAC;KACzD,MAAM,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;KACpD,MAAM,CAAC,KAAK,EAAE,MAA0B,EAAE,IAAI,EAAE,EAAE;IACjD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;YAC3B,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,sBAAsB,EAAE;YACpE,cAAc,EAAE;gBACd,EAAE,OAAO,EAAE,gDAAgD,EAAE,WAAW,EAAE,kBAAkB,EAAE;gBAC9F,EAAE,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,iBAAiB,EAAE;aACrE;SACF,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAA6C,EAAE,CAAC;IAC9D,IAAI,IAAI,CAAC,MAAM;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACzE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAEjD,MAAM,IAAI,GAA4B,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;IACtE,IAAI,IAAI,CAAC,QAAQ;QAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/C,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;QAAE,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACpF,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;QAAE,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAE7E,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,0BAA0B,EAAE,IAAI,CAAC,CAAC;IACxE,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAEjC,MAAM,IAAI,GAAG,IAAI,CAAC,IAIjB,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;IAE1D,WAAW,CAAC;QACV,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,UAAU,EAAE;YACV,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,+BAA+B,EAAE;YAC7E,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,kBAAkB,EAAE;SAC5D;QACD,KAAK,EAAE;YACL,OAAO,CAAC,CAAC,CAAC,aAAa,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW;YAC9F,UAAU,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE;YACpC,iBAAiB,IAAI,CAAC,YAAY,IAAI,CAAC,EAAE;SAC1C;QACD,gBAAgB,EAAE,CAAC,kBAAkB,EAAE,aAAa,CAAC;KACtD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM;KACH,OAAO,CAAC,iBAAiB,CAAC;KAC1B,WAAW,CAAC,gDAAgD,CAAC;KAC7D,MAAM,CAAC,KAAK,EAAE,MAA0B,EAAE,EAAE;IAC3C,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAC3D,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAEnC,MAAM,IAAI,GAAG,IAAI,CAAC,IAA0D,CAAC;IAC7E,WAAW,CAAC;QACV,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,UAAU,EAAE;YACV,EAAE,OAAO,EAAE,yCAAyC,EAAE,WAAW,EAAE,2CAA2C,EAAE;SACjH;QACD,KAAK,EAAE;YACL,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,UAAU,MAAM,CAAC,CAAC,CAAC,cAAc,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1F,wBAAwB;SACzB;QACD,gBAAgB,EAAE,CAAC,gBAAgB,CAAC;KACrC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"llm.js","sourceRoot":"","sources":["../../src/commands/llm.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,8 @@ Notes:
33
33
  agent_id: data.agent_id,
34
34
  company_id: data.company_id,
35
35
  company_name: data.company_name,
36
+ // Drop any prior `naive use` subject — it belongs to another workspace.
37
+ active_user_id: undefined,
36
38
  });
37
39
  const hasMultipleCompanies = data.companies && data.companies.length > 1;
38
40
  agentOutput({
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;KACzC,WAAW,CAAC,6DAA6D,CAAC;KAC1E,cAAc,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;KAC1D,cAAc,CAAC,uBAAuB,EAAE,kBAAkB,CAAC;KAC3D,WAAW,CAAC,OAAO,EAAE;;;;;;;;;;;;;;CAcvB,CAAC;KACC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE;QACtD,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAErB,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAE9B,MAAM,IAAI,GAAG,IAAI,CAAC,IAMjB,CAAC;IAEF,UAAU,CAAC;QACT,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;KAChC,CAAC,CAAC;IAEH,MAAM,oBAAoB,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IAEzE,WAAW,CAAC;QACV,MAAM,EAAE,OAAO;QACf,MAAM,EAAE;YACN,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,iBAAiB,EAAE,sBAAsB;YACzC,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B;QACD,UAAU,EAAE;YACV,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,qCAAqC,EAAE;YAC/E,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,2CAA2C,EAAE;YACvF,GAAG,CAAC,oBAAoB;gBACtB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,6BAA6B,EAAE,WAAW,EAAE,+BAA+B,EAAE,IAAI,EAAE,+CAA+C,EAAE,CAAC;gBACnJ,CAAC,CAAC,EAAE,CAAC;SACR;QACD,KAAK,EAAE;YACL,2DAA2D;YAC3D,GAAG,CAAC,oBAAoB;gBACtB,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,MAAM,gCAAgC,IAAI,CAAC,YAAY,sCAAsC,CAAC;gBAC5H,CAAC,CAAC,EAAE,CAAC;SACR;QACD,gBAAgB,EAAE,CAAC,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,CAAC;KACzF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;KACzC,WAAW,CAAC,6DAA6D,CAAC;KAC1E,cAAc,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;KAC1D,cAAc,CAAC,uBAAuB,EAAE,kBAAkB,CAAC;KAC3D,WAAW,CAAC,OAAO,EAAE;;;;;;;;;;;;;;CAcvB,CAAC;KACC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE;QACtD,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAErB,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAE9B,MAAM,IAAI,GAAG,IAAI,CAAC,IAMjB,CAAC;IAEF,UAAU,CAAC;QACT,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,wEAAwE;QACxE,cAAc,EAAE,SAAS;KAC1B,CAAC,CAAC;IAEH,MAAM,oBAAoB,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IAEzE,WAAW,CAAC;QACV,MAAM,EAAE,OAAO;QACf,MAAM,EAAE;YACN,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,iBAAiB,EAAE,sBAAsB;YACzC,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B;QACD,UAAU,EAAE;YACV,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,qCAAqC,EAAE;YAC/E,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,2CAA2C,EAAE;YACvF,GAAG,CAAC,oBAAoB;gBACtB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,6BAA6B,EAAE,WAAW,EAAE,+BAA+B,EAAE,IAAI,EAAE,+CAA+C,EAAE,CAAC;gBACnJ,CAAC,CAAC,EAAE,CAAC;SACR;QACD,KAAK,EAAE;YACL,2DAA2D;YAC3D,GAAG,CAAC,oBAAoB;gBACtB,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,MAAM,gCAAgC,IAAI,CAAC,YAAY,sCAAsC,CAAC;gBAC5H,CAAC,CAAC,EAAE,CAAC;SACR;QACD,gBAAgB,EAAE,CAAC,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,CAAC;KACzF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const loopsCmd: Command;