@aui.io/apollo 0.1.4

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 (194) hide show
  1. package/bin/apollo.js +13 -0
  2. package/node_modules/@aui.io/apollo-cli/bin/apollo.js +79 -0
  3. package/node_modules/@aui.io/apollo-cli/dist/src/commands/auth.d.ts +4 -0
  4. package/node_modules/@aui.io/apollo-cli/dist/src/commands/auth.js +99 -0
  5. package/node_modules/@aui.io/apollo-cli/dist/src/commands/auth.js.map +1 -0
  6. package/node_modules/@aui.io/apollo-cli/dist/src/commands/bundles.d.ts +3 -0
  7. package/node_modules/@aui.io/apollo-cli/dist/src/commands/bundles.js +234 -0
  8. package/node_modules/@aui.io/apollo-cli/dist/src/commands/bundles.js.map +1 -0
  9. package/node_modules/@aui.io/apollo-cli/dist/src/commands/env.d.ts +3 -0
  10. package/node_modules/@aui.io/apollo-cli/dist/src/commands/env.js +34 -0
  11. package/node_modules/@aui.io/apollo-cli/dist/src/commands/env.js.map +1 -0
  12. package/node_modules/@aui.io/apollo-cli/dist/src/commands/hierarchy.d.ts +3 -0
  13. package/node_modules/@aui.io/apollo-cli/dist/src/commands/hierarchy.js +175 -0
  14. package/node_modules/@aui.io/apollo-cli/dist/src/commands/hierarchy.js.map +1 -0
  15. package/node_modules/@aui.io/apollo-cli/dist/src/commands/mockdb.d.ts +3 -0
  16. package/node_modules/@aui.io/apollo-cli/dist/src/commands/mockdb.js +251 -0
  17. package/node_modules/@aui.io/apollo-cli/dist/src/commands/mockdb.js.map +1 -0
  18. package/node_modules/@aui.io/apollo-cli/dist/src/commands/operate.d.ts +3 -0
  19. package/node_modules/@aui.io/apollo-cli/dist/src/commands/operate.js +138 -0
  20. package/node_modules/@aui.io/apollo-cli/dist/src/commands/operate.js.map +1 -0
  21. package/node_modules/@aui.io/apollo-cli/dist/src/commands/profile.d.ts +3 -0
  22. package/node_modules/@aui.io/apollo-cli/dist/src/commands/profile.js +51 -0
  23. package/node_modules/@aui.io/apollo-cli/dist/src/commands/profile.js.map +1 -0
  24. package/node_modules/@aui.io/apollo-cli/dist/src/commands/prompts.d.ts +6 -0
  25. package/node_modules/@aui.io/apollo-cli/dist/src/commands/prompts.js +20 -0
  26. package/node_modules/@aui.io/apollo-cli/dist/src/commands/prompts.js.map +1 -0
  27. package/node_modules/@aui.io/apollo-cli/dist/src/commands/runtime.d.ts +6 -0
  28. package/node_modules/@aui.io/apollo-cli/dist/src/commands/runtime.js +2 -0
  29. package/node_modules/@aui.io/apollo-cli/dist/src/commands/runtime.js.map +1 -0
  30. package/node_modules/@aui.io/apollo-cli/dist/src/commands/shell.d.ts +10 -0
  31. package/node_modules/@aui.io/apollo-cli/dist/src/commands/shell.js +36 -0
  32. package/node_modules/@aui.io/apollo-cli/dist/src/commands/shell.js.map +1 -0
  33. package/node_modules/@aui.io/apollo-cli/dist/src/commands/status.d.ts +3 -0
  34. package/node_modules/@aui.io/apollo-cli/dist/src/commands/status.js +57 -0
  35. package/node_modules/@aui.io/apollo-cli/dist/src/commands/status.js.map +1 -0
  36. package/node_modules/@aui.io/apollo-cli/dist/src/commands/upgrade.d.ts +3 -0
  37. package/node_modules/@aui.io/apollo-cli/dist/src/commands/upgrade.js +35 -0
  38. package/node_modules/@aui.io/apollo-cli/dist/src/commands/upgrade.js.map +1 -0
  39. package/node_modules/@aui.io/apollo-cli/dist/src/commands/workspace.d.ts +3 -0
  40. package/node_modules/@aui.io/apollo-cli/dist/src/commands/workspace.js +170 -0
  41. package/node_modules/@aui.io/apollo-cli/dist/src/commands/workspace.js.map +1 -0
  42. package/node_modules/@aui.io/apollo-cli/dist/src/index.d.ts +10 -0
  43. package/node_modules/@aui.io/apollo-cli/dist/src/index.js +107 -0
  44. package/node_modules/@aui.io/apollo-cli/dist/src/index.js.map +1 -0
  45. package/node_modules/@aui.io/apollo-cli/dist/src/meta.d.ts +4 -0
  46. package/node_modules/@aui.io/apollo-cli/dist/src/meta.js +65 -0
  47. package/node_modules/@aui.io/apollo-cli/dist/src/meta.js.map +1 -0
  48. package/node_modules/@aui.io/apollo-cli/dist/src/output/welcome.d.ts +13 -0
  49. package/node_modules/@aui.io/apollo-cli/dist/src/output/welcome.js +53 -0
  50. package/node_modules/@aui.io/apollo-cli/dist/src/output/welcome.js.map +1 -0
  51. package/node_modules/@aui.io/apollo-cli/package.json +47 -0
  52. package/node_modules/@aui.io/apollo-core/dist/src/api/agent-settings.d.ts +6 -0
  53. package/node_modules/@aui.io/apollo-core/dist/src/api/agent-settings.js +23 -0
  54. package/node_modules/@aui.io/apollo-core/dist/src/api/agent-settings.js.map +1 -0
  55. package/node_modules/@aui.io/apollo-core/dist/src/api/client-types.d.ts +23 -0
  56. package/node_modules/@aui.io/apollo-core/dist/src/api/client-types.js +2 -0
  57. package/node_modules/@aui.io/apollo-core/dist/src/api/client-types.js.map +1 -0
  58. package/node_modules/@aui.io/apollo-core/dist/src/api/identity.d.ts +48 -0
  59. package/node_modules/@aui.io/apollo-core/dist/src/api/identity.js +131 -0
  60. package/node_modules/@aui.io/apollo-core/dist/src/api/identity.js.map +1 -0
  61. package/node_modules/@aui.io/apollo-core/dist/src/api/management.d.ts +92 -0
  62. package/node_modules/@aui.io/apollo-core/dist/src/api/management.js +126 -0
  63. package/node_modules/@aui.io/apollo-core/dist/src/api/management.js.map +1 -0
  64. package/node_modules/@aui.io/apollo-core/dist/src/api/mock-db.d.ts +65 -0
  65. package/node_modules/@aui.io/apollo-core/dist/src/api/mock-db.js +183 -0
  66. package/node_modules/@aui.io/apollo-core/dist/src/api/mock-db.js.map +1 -0
  67. package/node_modules/@aui.io/apollo-core/dist/src/api/runtime-api.d.ts +98 -0
  68. package/node_modules/@aui.io/apollo-core/dist/src/api/runtime-api.js +70 -0
  69. package/node_modules/@aui.io/apollo-core/dist/src/api/runtime-api.js.map +1 -0
  70. package/node_modules/@aui.io/apollo-core/dist/src/api/transport.d.ts +40 -0
  71. package/node_modules/@aui.io/apollo-core/dist/src/api/transport.js +205 -0
  72. package/node_modules/@aui.io/apollo-core/dist/src/api/transport.js.map +1 -0
  73. package/node_modules/@aui.io/apollo-core/dist/src/argv.d.ts +5 -0
  74. package/node_modules/@aui.io/apollo-core/dist/src/argv.js +43 -0
  75. package/node_modules/@aui.io/apollo-core/dist/src/argv.js.map +1 -0
  76. package/node_modules/@aui.io/apollo-core/dist/src/bundle/baseline.d.ts +17 -0
  77. package/node_modules/@aui.io/apollo-core/dist/src/bundle/baseline.js +48 -0
  78. package/node_modules/@aui.io/apollo-core/dist/src/bundle/baseline.js.map +1 -0
  79. package/node_modules/@aui.io/apollo-core/dist/src/bundle/files.d.ts +7 -0
  80. package/node_modules/@aui.io/apollo-core/dist/src/bundle/files.js +69 -0
  81. package/node_modules/@aui.io/apollo-core/dist/src/bundle/files.js.map +1 -0
  82. package/node_modules/@aui.io/apollo-core/dist/src/bundle/materialize.d.ts +14 -0
  83. package/node_modules/@aui.io/apollo-core/dist/src/bundle/materialize.js +196 -0
  84. package/node_modules/@aui.io/apollo-core/dist/src/bundle/materialize.js.map +1 -0
  85. package/node_modules/@aui.io/apollo-core/dist/src/bundle/validate.d.ts +30 -0
  86. package/node_modules/@aui.io/apollo-core/dist/src/bundle/validate.js +36 -0
  87. package/node_modules/@aui.io/apollo-core/dist/src/bundle/validate.js.map +1 -0
  88. package/node_modules/@aui.io/apollo-core/dist/src/config/index.d.ts +11 -0
  89. package/node_modules/@aui.io/apollo-core/dist/src/config/index.js +193 -0
  90. package/node_modules/@aui.io/apollo-core/dist/src/config/index.js.map +1 -0
  91. package/node_modules/@aui.io/apollo-core/dist/src/config/mockdb-keys.d.ts +14 -0
  92. package/node_modules/@aui.io/apollo-core/dist/src/config/mockdb-keys.js +54 -0
  93. package/node_modules/@aui.io/apollo-core/dist/src/config/mockdb-keys.js.map +1 -0
  94. package/node_modules/@aui.io/apollo-core/dist/src/config/store.d.ts +18 -0
  95. package/node_modules/@aui.io/apollo-core/dist/src/config/store.js +99 -0
  96. package/node_modules/@aui.io/apollo-core/dist/src/config/store.js.map +1 -0
  97. package/node_modules/@aui.io/apollo-core/dist/src/config/types.d.ts +62 -0
  98. package/node_modules/@aui.io/apollo-core/dist/src/config/types.js +2 -0
  99. package/node_modules/@aui.io/apollo-core/dist/src/config/types.js.map +1 -0
  100. package/node_modules/@aui.io/apollo-core/dist/src/errors/index.d.ts +42 -0
  101. package/node_modules/@aui.io/apollo-core/dist/src/errors/index.js +74 -0
  102. package/node_modules/@aui.io/apollo-core/dist/src/errors/index.js.map +1 -0
  103. package/node_modules/@aui.io/apollo-core/dist/src/index.d.ts +32 -0
  104. package/node_modules/@aui.io/apollo-core/dist/src/index.js +32 -0
  105. package/node_modules/@aui.io/apollo-core/dist/src/index.js.map +1 -0
  106. package/node_modules/@aui.io/apollo-core/dist/src/output/index.d.ts +29 -0
  107. package/node_modules/@aui.io/apollo-core/dist/src/output/index.js +49 -0
  108. package/node_modules/@aui.io/apollo-core/dist/src/output/index.js.map +1 -0
  109. package/node_modules/@aui.io/apollo-core/dist/src/services/auth.d.ts +10 -0
  110. package/node_modules/@aui.io/apollo-core/dist/src/services/auth.js +83 -0
  111. package/node_modules/@aui.io/apollo-core/dist/src/services/auth.js.map +1 -0
  112. package/node_modules/@aui.io/apollo-core/dist/src/services/bundles.d.ts +37 -0
  113. package/node_modules/@aui.io/apollo-core/dist/src/services/bundles.js +161 -0
  114. package/node_modules/@aui.io/apollo-core/dist/src/services/bundles.js.map +1 -0
  115. package/node_modules/@aui.io/apollo-core/dist/src/services/clients.d.ts +15 -0
  116. package/node_modules/@aui.io/apollo-core/dist/src/services/clients.js +95 -0
  117. package/node_modules/@aui.io/apollo-core/dist/src/services/clients.js.map +1 -0
  118. package/node_modules/@aui.io/apollo-core/dist/src/services/env.service.d.ts +11 -0
  119. package/node_modules/@aui.io/apollo-core/dist/src/services/env.service.js +19 -0
  120. package/node_modules/@aui.io/apollo-core/dist/src/services/env.service.js.map +1 -0
  121. package/node_modules/@aui.io/apollo-core/dist/src/services/hierarchy.d.ts +29 -0
  122. package/node_modules/@aui.io/apollo-core/dist/src/services/hierarchy.js +117 -0
  123. package/node_modules/@aui.io/apollo-core/dist/src/services/hierarchy.js.map +1 -0
  124. package/node_modules/@aui.io/apollo-core/dist/src/services/messaging.d.ts +17 -0
  125. package/node_modules/@aui.io/apollo-core/dist/src/services/messaging.js +99 -0
  126. package/node_modules/@aui.io/apollo-core/dist/src/services/messaging.js.map +1 -0
  127. package/node_modules/@aui.io/apollo-core/dist/src/services/mockdb.d.ts +71 -0
  128. package/node_modules/@aui.io/apollo-core/dist/src/services/mockdb.js +274 -0
  129. package/node_modules/@aui.io/apollo-core/dist/src/services/mockdb.js.map +1 -0
  130. package/node_modules/@aui.io/apollo-core/dist/src/services/profile.service.d.ts +16 -0
  131. package/node_modules/@aui.io/apollo-core/dist/src/services/profile.service.js +29 -0
  132. package/node_modules/@aui.io/apollo-core/dist/src/services/profile.service.js.map +1 -0
  133. package/node_modules/@aui.io/apollo-core/dist/src/services/status.service.d.ts +26 -0
  134. package/node_modules/@aui.io/apollo-core/dist/src/services/status.service.js +109 -0
  135. package/node_modules/@aui.io/apollo-core/dist/src/services/status.service.js.map +1 -0
  136. package/node_modules/@aui.io/apollo-core/dist/src/services/upgrade.d.ts +23 -0
  137. package/node_modules/@aui.io/apollo-core/dist/src/services/upgrade.js +74 -0
  138. package/node_modules/@aui.io/apollo-core/dist/src/services/upgrade.js.map +1 -0
  139. package/node_modules/@aui.io/apollo-core/dist/src/services/workspace.service.d.ts +44 -0
  140. package/node_modules/@aui.io/apollo-core/dist/src/services/workspace.service.js +148 -0
  141. package/node_modules/@aui.io/apollo-core/dist/src/services/workspace.service.js.map +1 -0
  142. package/node_modules/@aui.io/apollo-core/dist/src/skills/install.d.ts +6 -0
  143. package/node_modules/@aui.io/apollo-core/dist/src/skills/install.js +48 -0
  144. package/node_modules/@aui.io/apollo-core/dist/src/skills/install.js.map +1 -0
  145. package/node_modules/@aui.io/apollo-core/dist/src/workspace/store.d.ts +33 -0
  146. package/node_modules/@aui.io/apollo-core/dist/src/workspace/store.js +246 -0
  147. package/node_modules/@aui.io/apollo-core/dist/src/workspace/store.js.map +1 -0
  148. package/node_modules/@aui.io/apollo-core/package.json +48 -0
  149. package/node_modules/@aui.io/apollo-tui/bin/apollo-tui.js +5 -0
  150. package/node_modules/@aui.io/apollo-tui/dist/src/components/glyph.d.ts +19 -0
  151. package/node_modules/@aui.io/apollo-tui/dist/src/components/glyph.js +41 -0
  152. package/node_modules/@aui.io/apollo-tui/dist/src/components/glyph.js.map +1 -0
  153. package/node_modules/@aui.io/apollo-tui/dist/src/index.d.ts +5 -0
  154. package/node_modules/@aui.io/apollo-tui/dist/src/index.js +46 -0
  155. package/node_modules/@aui.io/apollo-tui/dist/src/index.js.map +1 -0
  156. package/node_modules/@aui.io/apollo-tui/dist/src/lib/attractor.d.ts +82 -0
  157. package/node_modules/@aui.io/apollo-tui/dist/src/lib/attractor.js +231 -0
  158. package/node_modules/@aui.io/apollo-tui/dist/src/lib/attractor.js.map +1 -0
  159. package/node_modules/@aui.io/apollo-tui/dist/src/lib/commands.d.ts +34 -0
  160. package/node_modules/@aui.io/apollo-tui/dist/src/lib/commands.js +100 -0
  161. package/node_modules/@aui.io/apollo-tui/dist/src/lib/commands.js.map +1 -0
  162. package/node_modules/@aui.io/apollo-tui/dist/src/lib/scope.d.ts +14 -0
  163. package/node_modules/@aui.io/apollo-tui/dist/src/lib/scope.js +25 -0
  164. package/node_modules/@aui.io/apollo-tui/dist/src/lib/scope.js.map +1 -0
  165. package/node_modules/@aui.io/apollo-tui/dist/src/lib/sheet.d.ts +25 -0
  166. package/node_modules/@aui.io/apollo-tui/dist/src/lib/sheet.js +99 -0
  167. package/node_modules/@aui.io/apollo-tui/dist/src/lib/sheet.js.map +1 -0
  168. package/node_modules/@aui.io/apollo-tui/dist/src/lib/tabs.d.ts +10 -0
  169. package/node_modules/@aui.io/apollo-tui/dist/src/lib/tabs.js +19 -0
  170. package/node_modules/@aui.io/apollo-tui/dist/src/lib/tabs.js.map +1 -0
  171. package/node_modules/@aui.io/apollo-tui/dist/src/opentui-app.d.ts +1 -0
  172. package/node_modules/@aui.io/apollo-tui/dist/src/opentui-app.js +449 -0
  173. package/node_modules/@aui.io/apollo-tui/dist/src/opentui-app.js.map +1 -0
  174. package/node_modules/@aui.io/apollo-tui/dist/src/tabs/bundle.d.ts +1 -0
  175. package/node_modules/@aui.io/apollo-tui/dist/src/tabs/bundle.js +4 -0
  176. package/node_modules/@aui.io/apollo-tui/dist/src/tabs/bundle.js.map +1 -0
  177. package/node_modules/@aui.io/apollo-tui/dist/src/tabs/chat.d.ts +1 -0
  178. package/node_modules/@aui.io/apollo-tui/dist/src/tabs/chat.js +4 -0
  179. package/node_modules/@aui.io/apollo-tui/dist/src/tabs/chat.js.map +1 -0
  180. package/node_modules/@aui.io/apollo-tui/dist/src/tabs/index.d.ts +5 -0
  181. package/node_modules/@aui.io/apollo-tui/dist/src/tabs/index.js +6 -0
  182. package/node_modules/@aui.io/apollo-tui/dist/src/tabs/index.js.map +1 -0
  183. package/node_modules/@aui.io/apollo-tui/dist/src/tabs/mockdb.d.ts +1 -0
  184. package/node_modules/@aui.io/apollo-tui/dist/src/tabs/mockdb.js +4 -0
  185. package/node_modules/@aui.io/apollo-tui/dist/src/tabs/mockdb.js.map +1 -0
  186. package/node_modules/@aui.io/apollo-tui/dist/src/tabs/overview.d.ts +1 -0
  187. package/node_modules/@aui.io/apollo-tui/dist/src/tabs/overview.js +4 -0
  188. package/node_modules/@aui.io/apollo-tui/dist/src/tabs/overview.js.map +1 -0
  189. package/node_modules/@aui.io/apollo-tui/dist/src/tabs/scope.d.ts +1 -0
  190. package/node_modules/@aui.io/apollo-tui/dist/src/tabs/scope.js +4 -0
  191. package/node_modules/@aui.io/apollo-tui/dist/src/tabs/scope.js.map +1 -0
  192. package/node_modules/@aui.io/apollo-tui/package.json +53 -0
  193. package/package.json +42 -0
  194. package/scripts/setup-shell.mjs +68 -0
package/bin/apollo.js ADDED
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * Human-facing Apollo entry (@aui.io/apollo).
5
+ * Depends on both apollo-cli and apollo-tui, then delegates to the CLI dispatcher
6
+ * so bare TTY opens the TUI and every subcommand stays Commander.
7
+ */
8
+ import { createRequire } from "node:module";
9
+ import { pathToFileURL } from "node:url";
10
+
11
+ const require = createRequire(import.meta.url);
12
+ const cliBin = require.resolve("@aui.io/apollo-cli/bin/apollo.js");
13
+ await import(pathToFileURL(cliBin).href);
@@ -0,0 +1,79 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * apollo entry:
5
+ * - bare TTY → CLI welcome (TUI once TUI_ON_BARE_APOLLO ships)
6
+ * - apollo tui / --tui / APOLLO_TUI=1 → TUI (pre-release dev path)
7
+ * - any subcommand / --json / --no-input / non-TTY → Commander CLI
8
+ */
9
+
10
+ // Pre-release flag: flip to true to make bare `apollo` launch the TUI.
11
+ // Until then the TUI stays reachable via `apollo tui` or APOLLO_TUI=1.
12
+ const TUI_ON_BARE_APOLLO = false;
13
+
14
+ function hasFlag(argv, name) {
15
+ return argv.includes(name);
16
+ }
17
+
18
+ function isForceTui(argv) {
19
+ return argv[2] === "tui" || hasFlag(argv, "--tui");
20
+ }
21
+
22
+ function shouldLaunchTui(argv) {
23
+ if (hasFlag(argv, "--json") || hasFlag(argv, "--no-input") || hasFlag(argv, "--help") || hasFlag(argv, "-h") || hasFlag(argv, "--version") || hasFlag(argv, "-V")) {
24
+ return false;
25
+ }
26
+ if (isForceTui(argv)) return true;
27
+ // bare `apollo` (node bin only) on a TTY
28
+ if (argv.length <= 2 && process.stdin.isTTY && process.stdout.isTTY) {
29
+ return TUI_ON_BARE_APOLLO || process.env.APOLLO_TUI === "1";
30
+ }
31
+ return false;
32
+ }
33
+
34
+ async function runTui(argv) {
35
+ try {
36
+ const mod = await import("@aui.io/apollo-tui");
37
+ const args = isForceTui(argv)
38
+ ? argv.slice(argv[2] === "tui" ? 3 : 2).filter((a) => a !== "--tui")
39
+ : [];
40
+ return await mod.main(args);
41
+ } catch (error) {
42
+ if (isForceTui(argv)) {
43
+ console.error(
44
+ `apollo TUI is not available (${error instanceof Error ? error.message : String(error)}).`,
45
+ );
46
+ console.error("Install @aui.io/apollo-tui or run from the console workspace.");
47
+ return 1;
48
+ }
49
+ // Fall through to CLI welcome when TUI is missing on bare apollo.
50
+ return null;
51
+ }
52
+ }
53
+
54
+ async function runCli() {
55
+ const { main } = await import("../dist/src/index.js");
56
+ return main();
57
+ }
58
+
59
+ // Fast path: sourced by every new shell via eval "$(apollo shell-init)".
60
+ // Skips Commander and context resolution so shell startup stays quick and
61
+ // never breaks on a bad user config.
62
+ if (process.argv[2] === "shell-init") {
63
+ const { SHELL_INIT_SCRIPT } = await import("../dist/src/commands/shell.js");
64
+ process.stdout.write(SHELL_INIT_SCRIPT);
65
+ process.exitCode = 0;
66
+ } else if (shouldLaunchTui(process.argv)) {
67
+ const code = await runTui(process.argv);
68
+ if (code !== null) {
69
+ process.exitCode = code;
70
+ } else {
71
+ process.exitCode = await runCli();
72
+ }
73
+ } else {
74
+ // Strip a leading `cli` escape if present: `apollo cli status`
75
+ if (process.argv[2] === "cli") {
76
+ process.argv.splice(2, 1);
77
+ }
78
+ process.exitCode = await runCli();
79
+ }
@@ -0,0 +1,4 @@
1
+ import type { Command } from "commander";
2
+ import type { CommandRuntime } from "./runtime.js";
3
+ export declare function registerAuth(program: Command, runtime: () => CommandRuntime): void;
4
+ export declare function persistSwitchedToken(runtime: CommandRuntime, token: string, refreshToken?: string): Promise<void>;
@@ -0,0 +1,99 @@
1
+ import { homedir } from "node:os";
2
+ import { readCredentials, resolveContext, writeCredentials, } from "@aui.io/apollo-core/config/index.js";
3
+ import { ConfigError } from "@aui.io/apollo-core/errors/index.js";
4
+ import { loginWithBrowser, loginWithOtp, loginWithToken, logout, requestOtp, } from "@aui.io/apollo-core/services/auth.js";
5
+ import { createClients } from "@aui.io/apollo-core/services/clients.js";
6
+ import { onboardWorkspace, } from "@aui.io/apollo-core/services/workspace.service.js";
7
+ import { prompt } from "./prompts.js";
8
+ const PLAYGROUND_URLS = {
9
+ staging: "https://staging-playground-v3.aui.io",
10
+ production: "https://apollo-playground.aui.io",
11
+ eu: "https://playground-eu-v3.aui.io",
12
+ };
13
+ export function registerAuth(program, runtime) {
14
+ program
15
+ .command("login")
16
+ .description("Authenticate with Apollo")
17
+ .option("--env <environment>", "staging, production, or eu", "production")
18
+ .option("--token <jwt>", "store an existing access token")
19
+ .option("--email <email>", "send an email OTP")
20
+ .option("--otp <code>", "OTP code (with --email)")
21
+ .option("--sso", "use the browser login flow")
22
+ .option("--url <url>", "override the playground login URL")
23
+ .option("--workspace <path>", "create or select the Apollo workspace")
24
+ .action(async (options) => {
25
+ const current = runtime();
26
+ const context = await resolveContext({
27
+ flags: {
28
+ env: options.env,
29
+ profile: current.context.profile,
30
+ timeout: String(current.context.timeoutMs),
31
+ },
32
+ });
33
+ const { output } = current;
34
+ const clients = createClients(context);
35
+ let stored;
36
+ if (options.token) {
37
+ stored = await loginWithToken(context, options.token);
38
+ }
39
+ else if (options.email) {
40
+ const global = program.opts();
41
+ if (options.otp) {
42
+ // Caller already has a code from a prior request — do not mint a new one.
43
+ stored = await loginWithOtp(context, clients.identity, options.email, options.otp);
44
+ }
45
+ else {
46
+ await requestOtp(clients.identity, options.email);
47
+ if (global.json === true || !global.input) {
48
+ throw new ConfigError("OTP sent. Re-run the same command with --otp <code>.");
49
+ }
50
+ const otp = await prompt("OTP code");
51
+ stored = await loginWithOtp(context, clients.identity, options.email, otp);
52
+ }
53
+ }
54
+ else {
55
+ output.progress("Opening browser login...");
56
+ const result = await loginWithBrowser(context, options.url ?? PLAYGROUND_URLS[context.environment]);
57
+ stored = result.credential;
58
+ }
59
+ const global = program.opts();
60
+ const workspace = await onboardWorkspace(context, options.workspace, {
61
+ interactive: global.json !== true && global.input,
62
+ prompt,
63
+ });
64
+ output.result({
65
+ environment: context.environment,
66
+ profile: context.profile,
67
+ user_id: stored.user_id,
68
+ expires_at: stored.expires_at,
69
+ workspace,
70
+ }, () => `Logged in to ${context.environment} using profile "${context.profile}".`);
71
+ });
72
+ program
73
+ .command("logout")
74
+ .description("Remove the active Apollo session")
75
+ .action(async () => {
76
+ const { context, output } = runtime();
77
+ if (context.token) {
78
+ await createClients(context).identity.logout().catch(() => undefined);
79
+ }
80
+ await logout(context);
81
+ output.result({ logged_out: true }, () => "Logged out.");
82
+ });
83
+ }
84
+ export async function persistSwitchedToken(runtime, token, refreshToken) {
85
+ const credentials = await readCredentials(homedir());
86
+ const current = credentials[runtime.context.profile]?.[runtime.context.environment];
87
+ credentials[runtime.context.profile] ??= {};
88
+ credentials[runtime.context.profile][runtime.context.environment] = {
89
+ access_token: token,
90
+ ...(refreshToken
91
+ ? { refresh_token: refreshToken }
92
+ : current?.refresh_token
93
+ ? { refresh_token: current.refresh_token }
94
+ : {}),
95
+ ...(current?.user_id ? { user_id: current.user_id } : {}),
96
+ };
97
+ await writeCredentials(homedir(), credentials);
98
+ }
99
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/commands/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ import type { CommandRuntime } from "./runtime.js";
3
+ export declare function registerBundles(program: Command, runtime: () => CommandRuntime): void;
@@ -0,0 +1,234 @@
1
+ import { access, mkdir, writeFile } from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { ConfigError, ValidationError } from "@aui.io/apollo-core/errors/index.js";
4
+ import { importBundle, listVersions, localDiff, pullBundle, pushBundle, remoteDiff, validateLocalBundle, } from "@aui.io/apollo-core/services/bundles.js";
5
+ import { createClients } from "@aui.io/apollo-core/services/clients.js";
6
+ import { installSkills } from "@aui.io/apollo-core/skills/install.js";
7
+ import { allocateAgentDirectory, registerAgent, resolveAgentPath, } from "@aui.io/apollo-core/workspace/store.js";
8
+ function renderDiff(diff) {
9
+ const rows = [
10
+ ...diff.added.map((file) => `A ${file}`),
11
+ ...diff.changed.map((file) => `M ${file}`),
12
+ ...diff.removed.map((file) => `D ${file}`),
13
+ ];
14
+ return rows.length ? rows.join("\n") : "No changes.";
15
+ }
16
+ function targets(value) {
17
+ const selected = value.split(",").map((item) => item.trim());
18
+ const supported = ["cursor", "claude", "opencode"];
19
+ const invalid = selected.filter((item) => !supported.includes(item));
20
+ if (invalid.length)
21
+ throw new ConfigError(`Unknown skill target: ${invalid.join(", ")}`);
22
+ return [...new Set(selected)];
23
+ }
24
+ export function registerBundles(program, runtime) {
25
+ const schema = program.command("schema").description("Manage authoring schemas");
26
+ schema
27
+ .command("pull")
28
+ .option("--dir <directory>", "schema destination", "schemas")
29
+ .action(async (options) => {
30
+ const run = runtime();
31
+ const destination = path.resolve(options.dir);
32
+ const pulled = await createClients(run.context).agentSettings.pullSchemas();
33
+ await mkdir(destination, { recursive: true });
34
+ await Promise.all(Object.entries(pulled).map(([name, value]) => writeFile(path.join(destination, `${name}.schema.json`), `${JSON.stringify(value, null, 2)}\n`)));
35
+ run.output.result({ schemas: Object.keys(pulled), directory: destination }, () => `Pulled ${Object.keys(pulled).length} schemas into ${destination}.`);
36
+ });
37
+ program
38
+ .command("validate")
39
+ .description("Validate the local agent program via runtime-api")
40
+ .argument("[directory]")
41
+ .action(async (directory) => {
42
+ const run = runtime();
43
+ const clients = createClients(run.context);
44
+ const result = await validateLocalBundle(run.context, clients.runtime, directory
45
+ ? path.join(path.resolve(directory), "bundle", "src")
46
+ : undefined);
47
+ if (!result.valid) {
48
+ throw new ValidationError(result.findings
49
+ .filter((finding) => finding.level !== "warning")
50
+ .map((finding) => finding.code
51
+ ? `${finding.code}: ${finding.message}`
52
+ : finding.message)
53
+ .join("\n"));
54
+ }
55
+ run.output.result(result, () => result.program?.id
56
+ ? `Program ${result.program.id}@${result.program.version ?? "?"} is valid.`
57
+ : "Program is valid.");
58
+ });
59
+ program
60
+ .command("diff")
61
+ .description("Compare local files with the last baseline")
62
+ .option("--remote", "compare with the selected remote version")
63
+ .action(async (options) => {
64
+ const run = runtime();
65
+ const management = createClients(run.context).management;
66
+ const diff = options.remote
67
+ ? await remoteDiff(run.context, management)
68
+ : await localDiff(run.context);
69
+ run.output.result(diff, (value) => renderDiff(value));
70
+ });
71
+ program
72
+ .command("pull")
73
+ .description("Pull the selected agent version")
74
+ .option("--tag <tag>", "version tag")
75
+ .option("--dir <directory>", "destination directory")
76
+ .option("--force", "discard local bundle changes and match remote")
77
+ .action(async (options) => {
78
+ const run = runtime();
79
+ const result = await pullBundle(run.context, createClients(run.context).management, {
80
+ ...(options.tag ? { tag: options.tag } : {}),
81
+ ...(options.dir ? { destination: path.resolve(options.dir) } : {}),
82
+ force: options.force === true,
83
+ });
84
+ run.output.result(result, () => {
85
+ const removed = result.removed.length > 0
86
+ ? ` Removed ${result.removed.length} local file(s) not in the remote bundle.`
87
+ : "";
88
+ return `Pulled ${Object.keys(result.files).length} files.${removed}`;
89
+ });
90
+ });
91
+ program
92
+ .command("push")
93
+ .description("Validate and push local changes")
94
+ .option("-m, --message <message>", "commit message")
95
+ .option("--dry-run", "validate and show the diff without pushing")
96
+ .action(async (options) => {
97
+ const run = runtime();
98
+ const clients = createClients(run.context);
99
+ const result = await pushBundle(run.context, clients.management, clients.runtime, {
100
+ ...(options.message ? { commitMessage: options.message } : {}),
101
+ dryRun: options.dryRun === true,
102
+ });
103
+ run.output.result(result, () => result.push
104
+ ? `Pushed ${result.push.new_version_tag}.\n${renderDiff(result.diff)}`
105
+ : renderDiff(result.diff));
106
+ });
107
+ const agent = program.commands.find((command) => command.name() === "agent");
108
+ if (!agent)
109
+ throw new Error("agent command must be registered before bundles");
110
+ agent
111
+ .command("import")
112
+ .argument("<agent-id>")
113
+ .option("--tag <tag>", "version tag (defaults to the live version)")
114
+ .option("--dir <directory>", "destination directory")
115
+ .option("--skills <targets>", "comma-separated cursor,claude,opencode", "cursor,claude")
116
+ .option("--force", "overwrite an existing local program")
117
+ .action(async (agentId, options) => {
118
+ const run = runtime();
119
+ const clients = createClients(run.context);
120
+ if (!options.dir && !run.context.workspaceRoot) {
121
+ throw new ConfigError("No workspace is selected.", "Select a workspace or pass --dir.");
122
+ }
123
+ const agent = await clients.management.getAgent(agentId);
124
+ let relative;
125
+ let destination;
126
+ if (options.dir) {
127
+ destination = path.resolve(options.dir);
128
+ relative = run.context.workspaceRoot
129
+ ? relativeWorkspacePath(run.context.workspaceRoot, destination)
130
+ : undefined;
131
+ }
132
+ else {
133
+ if (!run.context.workspaceRoot)
134
+ throw new ConfigError("No workspace is selected.");
135
+ const allocated = await allocateAgentDirectory(run.context.workspaceRoot, agent.name, agent.id);
136
+ destination = allocated.absolute;
137
+ relative = allocated.relative;
138
+ }
139
+ if (!options.force) {
140
+ try {
141
+ await access(path.join(destination, "bundle", "src", "program.yaml"));
142
+ throw new ConfigError(`${destination}/bundle/src already contains program.yaml.`, "Choose an empty directory or pass --force.");
143
+ }
144
+ catch (error) {
145
+ if (error.code !== "ENOENT")
146
+ throw error;
147
+ }
148
+ }
149
+ const imported = await importBundle(run.context, clients.management, agentId, destination, options.tag);
150
+ const installed = await installSkills(clients.runtime, destination, targets(options.skills));
151
+ if (run.context.workspaceRoot && relative) {
152
+ await registerAgent(run.context.workspaceRoot, {
153
+ agent_id: agent.id,
154
+ name: agent.name,
155
+ path: relative,
156
+ });
157
+ }
158
+ run.output.result({ ...imported, installed_skills: installed }, () => `Imported ${Object.keys(imported.files).length} files into ${destination}.`);
159
+ });
160
+ registerVersions(program, runtime);
161
+ }
162
+ function relativeWorkspacePath(root, destination) {
163
+ const relative = path.relative(path.resolve(root), destination).split(path.sep).join("/");
164
+ resolveAgentPath(root, relative);
165
+ return relative;
166
+ }
167
+ function registerVersions(program, runtime) {
168
+ const version = program.command("version").description("Manage agent versions");
169
+ version.command("list").action(async () => {
170
+ const run = runtime();
171
+ const result = await listVersions(run.context, createClients(run.context).management);
172
+ run.output.result(result, (value) => value.results
173
+ .map((item) => `${item.version_tag}\t${item.status}\t${item.label ?? ""}`)
174
+ .join("\n") || "No versions.");
175
+ });
176
+ version
177
+ .command("get")
178
+ .argument("<tag>")
179
+ .action(async (tag) => {
180
+ const run = runtime();
181
+ const item = await createClients(run.context).management.resolveVersion(requiredAgent(run), tag);
182
+ run.output.result(item, () => `${item.version_tag}\t${item.status}`);
183
+ });
184
+ version
185
+ .command("create")
186
+ .option("--from <tag>", "clone an existing version")
187
+ .option("--template <id>", "create from a template")
188
+ .option("--label <label>")
189
+ .option("--notes <notes>")
190
+ .action(async (options) => {
191
+ const run = runtime();
192
+ const management = createClients(run.context).management;
193
+ const agentId = requiredAgent(run);
194
+ const fromVersion = options.from
195
+ ? (await management.resolveVersion(agentId, options.from)).id
196
+ : undefined;
197
+ const created = await management.createVersion(agentId, {
198
+ source: fromVersion ? "version" : options.template ? "template" : "empty",
199
+ ...(fromVersion ? { fromVersion } : {}),
200
+ ...(options.template ? { fromTemplate: options.template } : {}),
201
+ ...(options.label ? { label: options.label } : {}),
202
+ ...(options.notes ? { notes: options.notes } : {}),
203
+ });
204
+ run.output.result(created, () => `Created ${created.version_tag}.`);
205
+ });
206
+ version
207
+ .command("publish")
208
+ .argument("<tag>")
209
+ .action(async (tag) => {
210
+ const run = runtime();
211
+ const management = createClients(run.context).management;
212
+ const agentId = requiredAgent(run);
213
+ const selected = await management.resolveVersion(agentId, tag);
214
+ const result = await management.publishVersion(agentId, selected.id);
215
+ run.output.result(result, () => `Published ${result.version_tag}.`);
216
+ });
217
+ version
218
+ .command("archive")
219
+ .argument("<tag>")
220
+ .action(async (tag) => {
221
+ const run = runtime();
222
+ const management = createClients(run.context).management;
223
+ const agentId = requiredAgent(run);
224
+ const selected = await management.resolveVersion(agentId, tag);
225
+ const result = await management.archiveVersion(agentId, selected.id);
226
+ run.output.result(result, () => `Archived ${result.version_tag}.`);
227
+ });
228
+ }
229
+ function requiredAgent(run) {
230
+ if (!run.context.agentId)
231
+ throw new ConfigError("Select or import an agent first.");
232
+ return run.context.agentId;
233
+ }
234
+ //# sourceMappingURL=bundles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundles.js","sourceRoot":"","sources":["../../../src/commands/bundles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ import type { CommandRuntime } from "./runtime.js";
3
+ export declare function registerEnv(program: Command, runtime: () => CommandRuntime): void;
@@ -0,0 +1,34 @@
1
+ import { listEnvironments, setEnvironment, } from "@aui.io/apollo-core/services/env.service.js";
2
+ export function registerEnv(program, runtime) {
3
+ const env = program
4
+ .command("env")
5
+ .description("Show or select the active environment")
6
+ .action(() => showCurrent(runtime()));
7
+ env
8
+ .command("current")
9
+ .description("Show the active environment")
10
+ .action(() => showCurrent(runtime()));
11
+ env
12
+ .command("list")
13
+ .description("List available environments")
14
+ .action(() => {
15
+ const { context, output } = runtime();
16
+ const environments = listEnvironments(context.environment);
17
+ output.result(environments, (value) => value
18
+ .map((environment) => `${environment.active ? "*" : " "} ${environment.environment}`)
19
+ .join("\n"));
20
+ });
21
+ env
22
+ .command("use")
23
+ .description("Select the default environment")
24
+ .argument("<environment>", "staging, production, or eu")
25
+ .action(async (environment) => {
26
+ const { context, output } = runtime();
27
+ const result = await setEnvironment(environment, context.environment, context.profile);
28
+ output.result(result, () => `Using environment "${result.environment}".`);
29
+ });
30
+ }
31
+ function showCurrent({ context, output }) {
32
+ output.result({ environment: context.environment }, () => context.environment);
33
+ }
34
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../../src/commands/env.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gBAAgB,EAChB,cAAc,GAEf,MAAM,6CAA6C,CAAC;AAGrD,MAAM,UAAU,WAAW,CACzB,OAAgB,EAChB,OAA6B;IAE7B,MAAM,GAAG,GAAG,OAAO;SAChB,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,uCAAuC,CAAC;SACpD,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAExC,GAAG;SACA,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,6BAA6B,CAAC;SAC1C,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAExC,GAAG;SACA,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,6BAA6B,CAAC;SAC1C,MAAM,CAAC,GAAG,EAAE;QACX,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;QACtC,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC3D,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CACnC,KAA8B;aAC5B,GAAG,CACF,CAAC,WAAW,EAAE,EAAE,CACd,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,WAAW,CAAC,WAAW,EAAE,CACjE;aACA,IAAI,CAAC,IAAI,CAAC,CACd,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,gCAAgC,CAAC;SAC7C,QAAQ,CAAC,eAAe,EAAE,4BAA4B,CAAC;SACvD,MAAM,CAAC,KAAK,EAAE,WAAmB,EAAE,EAAE;QACpC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,cAAc,CACjC,WAAW,EACX,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,OAAO,CAChB,CAAC;QACF,MAAM,CAAC,MAAM,CACX,MAAM,EACN,GAAG,EAAE,CAAC,sBAAsB,MAAM,CAAC,WAAW,IAAI,CACnD,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,OAAO,EAAE,MAAM,EAAkB;IACtD,MAAM,CAAC,MAAM,CACX,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,EACpC,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,CAC1B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ import type { CommandRuntime } from "./runtime.js";
3
+ export declare function registerHierarchy(program: Command, runtime: () => CommandRuntime): void;