@made-by-moonlight/athene-cli 0.9.2

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 (315) hide show
  1. package/LICENSE +22 -0
  2. package/dist/assets/plugin-registry.json +67 -0
  3. package/dist/assets/scripts/athene-doctor.ps1 +352 -0
  4. package/dist/assets/scripts/athene-doctor.sh +552 -0
  5. package/dist/assets/scripts/athene-update.ps1 +224 -0
  6. package/dist/assets/scripts/athene-update.sh +252 -0
  7. package/dist/commands/completion.d.ts +3 -0
  8. package/dist/commands/completion.d.ts.map +1 -0
  9. package/dist/commands/completion.js +26 -0
  10. package/dist/commands/completion.js.map +1 -0
  11. package/dist/commands/config.d.ts +11 -0
  12. package/dist/commands/config.d.ts.map +1 -0
  13. package/dist/commands/config.js +89 -0
  14. package/dist/commands/config.js.map +1 -0
  15. package/dist/commands/dashboard.d.ts +3 -0
  16. package/dist/commands/dashboard.d.ts.map +1 -0
  17. package/dist/commands/dashboard.js +103 -0
  18. package/dist/commands/dashboard.js.map +1 -0
  19. package/dist/commands/doctor.d.ts +3 -0
  20. package/dist/commands/doctor.d.ts.map +1 -0
  21. package/dist/commands/doctor.js +329 -0
  22. package/dist/commands/doctor.js.map +1 -0
  23. package/dist/commands/events.d.ts +3 -0
  24. package/dist/commands/events.d.ts.map +1 -0
  25. package/dist/commands/events.js +172 -0
  26. package/dist/commands/events.js.map +1 -0
  27. package/dist/commands/migrate-storage.d.ts +3 -0
  28. package/dist/commands/migrate-storage.d.ts.map +1 -0
  29. package/dist/commands/migrate-storage.js +78 -0
  30. package/dist/commands/migrate-storage.js.map +1 -0
  31. package/dist/commands/notify.d.ts +3 -0
  32. package/dist/commands/notify.d.ts.map +1 -0
  33. package/dist/commands/notify.js +143 -0
  34. package/dist/commands/notify.js.map +1 -0
  35. package/dist/commands/open.d.ts +3 -0
  36. package/dist/commands/open.d.ts.map +1 -0
  37. package/dist/commands/open.js +167 -0
  38. package/dist/commands/open.js.map +1 -0
  39. package/dist/commands/plugin.d.ts +3 -0
  40. package/dist/commands/plugin.d.ts.map +1 -0
  41. package/dist/commands/plugin.js +462 -0
  42. package/dist/commands/plugin.js.map +1 -0
  43. package/dist/commands/project.d.ts +3 -0
  44. package/dist/commands/project.d.ts.map +1 -0
  45. package/dist/commands/project.js +143 -0
  46. package/dist/commands/project.js.map +1 -0
  47. package/dist/commands/report.d.ts +19 -0
  48. package/dist/commands/report.d.ts.map +1 -0
  49. package/dist/commands/report.js +114 -0
  50. package/dist/commands/report.js.map +1 -0
  51. package/dist/commands/review-check.d.ts +3 -0
  52. package/dist/commands/review-check.d.ts.map +1 -0
  53. package/dist/commands/review-check.js +122 -0
  54. package/dist/commands/review-check.js.map +1 -0
  55. package/dist/commands/review.d.ts +3 -0
  56. package/dist/commands/review.d.ts.map +1 -0
  57. package/dist/commands/review.js +215 -0
  58. package/dist/commands/review.js.map +1 -0
  59. package/dist/commands/send.d.ts +3 -0
  60. package/dist/commands/send.d.ts.map +1 -0
  61. package/dist/commands/send.js +187 -0
  62. package/dist/commands/send.js.map +1 -0
  63. package/dist/commands/session.d.ts +3 -0
  64. package/dist/commands/session.d.ts.map +1 -0
  65. package/dist/commands/session.js +439 -0
  66. package/dist/commands/session.js.map +1 -0
  67. package/dist/commands/setup.d.ts +5 -0
  68. package/dist/commands/setup.d.ts.map +1 -0
  69. package/dist/commands/setup.js +297 -0
  70. package/dist/commands/setup.js.map +1 -0
  71. package/dist/commands/spawn.d.ts +4 -0
  72. package/dist/commands/spawn.d.ts.map +1 -0
  73. package/dist/commands/spawn.js +436 -0
  74. package/dist/commands/spawn.js.map +1 -0
  75. package/dist/commands/start.d.ts +21 -0
  76. package/dist/commands/start.d.ts.map +1 -0
  77. package/dist/commands/start.js +1836 -0
  78. package/dist/commands/start.js.map +1 -0
  79. package/dist/commands/status.d.ts +3 -0
  80. package/dist/commands/status.d.ts.map +1 -0
  81. package/dist/commands/status.js +556 -0
  82. package/dist/commands/status.js.map +1 -0
  83. package/dist/commands/update.d.ts +15 -0
  84. package/dist/commands/update.d.ts.map +1 -0
  85. package/dist/commands/update.js +652 -0
  86. package/dist/commands/update.js.map +1 -0
  87. package/dist/commands/verify.d.ts +3 -0
  88. package/dist/commands/verify.d.ts.map +1 -0
  89. package/dist/commands/verify.js +131 -0
  90. package/dist/commands/verify.js.map +1 -0
  91. package/dist/index.d.ts +3 -0
  92. package/dist/index.d.ts.map +1 -0
  93. package/dist/index.js +24 -0
  94. package/dist/index.js.map +1 -0
  95. package/dist/lib/bun-tmp-janitor.d.ts +18 -0
  96. package/dist/lib/bun-tmp-janitor.d.ts.map +1 -0
  97. package/dist/lib/bun-tmp-janitor.js +127 -0
  98. package/dist/lib/bun-tmp-janitor.js.map +1 -0
  99. package/dist/lib/caller-context.d.ts +13 -0
  100. package/dist/lib/caller-context.d.ts.map +1 -0
  101. package/dist/lib/caller-context.js +20 -0
  102. package/dist/lib/caller-context.js.map +1 -0
  103. package/dist/lib/cli-errors.d.ts +8 -0
  104. package/dist/lib/cli-errors.d.ts.map +1 -0
  105. package/dist/lib/cli-errors.js +20 -0
  106. package/dist/lib/cli-errors.js.map +1 -0
  107. package/dist/lib/completion.d.ts +13 -0
  108. package/dist/lib/completion.d.ts.map +1 -0
  109. package/dist/lib/completion.js +428 -0
  110. package/dist/lib/completion.js.map +1 -0
  111. package/dist/lib/composio-setup.d.ts +65 -0
  112. package/dist/lib/composio-setup.d.ts.map +1 -0
  113. package/dist/lib/composio-setup.js +3255 -0
  114. package/dist/lib/composio-setup.js.map +1 -0
  115. package/dist/lib/config-instruction.d.ts +2 -0
  116. package/dist/lib/config-instruction.d.ts.map +1 -0
  117. package/dist/lib/config-instruction.js +193 -0
  118. package/dist/lib/config-instruction.js.map +1 -0
  119. package/dist/lib/constants.d.ts +3 -0
  120. package/dist/lib/constants.d.ts.map +1 -0
  121. package/dist/lib/constants.js +3 -0
  122. package/dist/lib/constants.js.map +1 -0
  123. package/dist/lib/create-session-manager.d.ts +26 -0
  124. package/dist/lib/create-session-manager.d.ts.map +1 -0
  125. package/dist/lib/create-session-manager.js +55 -0
  126. package/dist/lib/create-session-manager.js.map +1 -0
  127. package/dist/lib/credential-resolver.d.ts +37 -0
  128. package/dist/lib/credential-resolver.d.ts.map +1 -0
  129. package/dist/lib/credential-resolver.js +105 -0
  130. package/dist/lib/credential-resolver.js.map +1 -0
  131. package/dist/lib/daemon.d.ts +69 -0
  132. package/dist/lib/daemon.d.ts.map +1 -0
  133. package/dist/lib/daemon.js +77 -0
  134. package/dist/lib/daemon.js.map +1 -0
  135. package/dist/lib/dashboard-rebuild.d.ts +53 -0
  136. package/dist/lib/dashboard-rebuild.d.ts.map +1 -0
  137. package/dist/lib/dashboard-rebuild.js +188 -0
  138. package/dist/lib/dashboard-rebuild.js.map +1 -0
  139. package/dist/lib/dashboard-setup.d.ts +14 -0
  140. package/dist/lib/dashboard-setup.d.ts.map +1 -0
  141. package/dist/lib/dashboard-setup.js +192 -0
  142. package/dist/lib/dashboard-setup.js.map +1 -0
  143. package/dist/lib/dashboard-url.d.ts +19 -0
  144. package/dist/lib/dashboard-url.d.ts.map +1 -0
  145. package/dist/lib/dashboard-url.js +25 -0
  146. package/dist/lib/dashboard-url.js.map +1 -0
  147. package/dist/lib/desktop-setup.d.ts +21 -0
  148. package/dist/lib/desktop-setup.d.ts.map +1 -0
  149. package/dist/lib/desktop-setup.js +556 -0
  150. package/dist/lib/desktop-setup.js.map +1 -0
  151. package/dist/lib/detect-agent.d.ts +24 -0
  152. package/dist/lib/detect-agent.d.ts.map +1 -0
  153. package/dist/lib/detect-agent.js +69 -0
  154. package/dist/lib/detect-agent.js.map +1 -0
  155. package/dist/lib/detect-env.d.ts +14 -0
  156. package/dist/lib/detect-env.d.ts.map +1 -0
  157. package/dist/lib/detect-env.js +46 -0
  158. package/dist/lib/detect-env.js.map +1 -0
  159. package/dist/lib/discord-setup.d.ts +20 -0
  160. package/dist/lib/discord-setup.d.ts.map +1 -0
  161. package/dist/lib/discord-setup.js +584 -0
  162. package/dist/lib/discord-setup.js.map +1 -0
  163. package/dist/lib/format.d.ts +11 -0
  164. package/dist/lib/format.d.ts.map +1 -0
  165. package/dist/lib/format.js +116 -0
  166. package/dist/lib/format.js.map +1 -0
  167. package/dist/lib/git-utils.d.ts +14 -0
  168. package/dist/lib/git-utils.d.ts.map +1 -0
  169. package/dist/lib/git-utils.js +45 -0
  170. package/dist/lib/git-utils.js.map +1 -0
  171. package/dist/lib/install-helpers.d.ts +24 -0
  172. package/dist/lib/install-helpers.d.ts.map +1 -0
  173. package/dist/lib/install-helpers.js +76 -0
  174. package/dist/lib/install-helpers.js.map +1 -0
  175. package/dist/lib/lifecycle-service.d.ts +11 -0
  176. package/dist/lib/lifecycle-service.d.ts.map +1 -0
  177. package/dist/lib/lifecycle-service.js +65 -0
  178. package/dist/lib/lifecycle-service.js.map +1 -0
  179. package/dist/lib/notifier-routing.d.ts +35 -0
  180. package/dist/lib/notifier-routing.d.ts.map +1 -0
  181. package/dist/lib/notifier-routing.js +133 -0
  182. package/dist/lib/notifier-routing.js.map +1 -0
  183. package/dist/lib/notify-test.d.ts +72 -0
  184. package/dist/lib/notify-test.d.ts.map +1 -0
  185. package/dist/lib/notify-test.js +674 -0
  186. package/dist/lib/notify-test.js.map +1 -0
  187. package/dist/lib/openclaw-probe.d.ts +38 -0
  188. package/dist/lib/openclaw-probe.d.ts.map +1 -0
  189. package/dist/lib/openclaw-probe.js +146 -0
  190. package/dist/lib/openclaw-probe.js.map +1 -0
  191. package/dist/lib/openclaw-setup.d.ts +19 -0
  192. package/dist/lib/openclaw-setup.d.ts.map +1 -0
  193. package/dist/lib/openclaw-setup.js +684 -0
  194. package/dist/lib/openclaw-setup.js.map +1 -0
  195. package/dist/lib/path-equality.d.ts +29 -0
  196. package/dist/lib/path-equality.d.ts.map +1 -0
  197. package/dist/lib/path-equality.js +52 -0
  198. package/dist/lib/path-equality.js.map +1 -0
  199. package/dist/lib/plugin-marketplace.d.ts +24 -0
  200. package/dist/lib/plugin-marketplace.d.ts.map +1 -0
  201. package/dist/lib/plugin-marketplace.js +175 -0
  202. package/dist/lib/plugin-marketplace.js.map +1 -0
  203. package/dist/lib/plugin-scaffold.d.ts +14 -0
  204. package/dist/lib/plugin-scaffold.d.ts.map +1 -0
  205. package/dist/lib/plugin-scaffold.js +174 -0
  206. package/dist/lib/plugin-scaffold.js.map +1 -0
  207. package/dist/lib/plugin-store.d.ts +9 -0
  208. package/dist/lib/plugin-store.d.ts.map +1 -0
  209. package/dist/lib/plugin-store.js +121 -0
  210. package/dist/lib/plugin-store.js.map +1 -0
  211. package/dist/lib/plugins.d.ts +17 -0
  212. package/dist/lib/plugins.d.ts.map +1 -0
  213. package/dist/lib/plugins.js +65 -0
  214. package/dist/lib/plugins.js.map +1 -0
  215. package/dist/lib/portfolio-display.d.ts +10 -0
  216. package/dist/lib/portfolio-display.d.ts.map +1 -0
  217. package/dist/lib/portfolio-display.js +17 -0
  218. package/dist/lib/portfolio-display.js.map +1 -0
  219. package/dist/lib/preflight.d.ts +27 -0
  220. package/dist/lib/preflight.d.ts.map +1 -0
  221. package/dist/lib/preflight.js +77 -0
  222. package/dist/lib/preflight.js.map +1 -0
  223. package/dist/lib/prevent-sleep.d.ts +34 -0
  224. package/dist/lib/prevent-sleep.d.ts.map +1 -0
  225. package/dist/lib/prevent-sleep.js +65 -0
  226. package/dist/lib/prevent-sleep.js.map +1 -0
  227. package/dist/lib/project-detection.d.ts +11 -0
  228. package/dist/lib/project-detection.d.ts.map +1 -0
  229. package/dist/lib/project-detection.js +206 -0
  230. package/dist/lib/project-detection.js.map +1 -0
  231. package/dist/lib/project-resolution.d.ts +10 -0
  232. package/dist/lib/project-resolution.d.ts.map +1 -0
  233. package/dist/lib/project-resolution.js +17 -0
  234. package/dist/lib/project-resolution.js.map +1 -0
  235. package/dist/lib/project-supervisor.d.ts +28 -0
  236. package/dist/lib/project-supervisor.d.ts.map +1 -0
  237. package/dist/lib/project-supervisor.js +167 -0
  238. package/dist/lib/project-supervisor.js.map +1 -0
  239. package/dist/lib/prompts.d.ts +7 -0
  240. package/dist/lib/prompts.d.ts.map +1 -0
  241. package/dist/lib/prompts.js +37 -0
  242. package/dist/lib/prompts.js.map +1 -0
  243. package/dist/lib/repo-utils.d.ts +16 -0
  244. package/dist/lib/repo-utils.d.ts.map +1 -0
  245. package/dist/lib/repo-utils.js +26 -0
  246. package/dist/lib/repo-utils.js.map +1 -0
  247. package/dist/lib/resolve-project.d.ts +113 -0
  248. package/dist/lib/resolve-project.d.ts.map +1 -0
  249. package/dist/lib/resolve-project.js +433 -0
  250. package/dist/lib/resolve-project.js.map +1 -0
  251. package/dist/lib/routes.d.ts +2 -0
  252. package/dist/lib/routes.d.ts.map +1 -0
  253. package/dist/lib/routes.js +5 -0
  254. package/dist/lib/routes.js.map +1 -0
  255. package/dist/lib/running-state.d.ts +76 -0
  256. package/dist/lib/running-state.d.ts.map +1 -0
  257. package/dist/lib/running-state.js +338 -0
  258. package/dist/lib/running-state.js.map +1 -0
  259. package/dist/lib/script-runner.d.ts +10 -0
  260. package/dist/lib/script-runner.d.ts.map +1 -0
  261. package/dist/lib/script-runner.js +189 -0
  262. package/dist/lib/script-runner.js.map +1 -0
  263. package/dist/lib/session-utils.d.ts +14 -0
  264. package/dist/lib/session-utils.d.ts.map +1 -0
  265. package/dist/lib/session-utils.js +58 -0
  266. package/dist/lib/session-utils.js.map +1 -0
  267. package/dist/lib/shell.d.ts +17 -0
  268. package/dist/lib/shell.d.ts.map +1 -0
  269. package/dist/lib/shell.js +90 -0
  270. package/dist/lib/shell.js.map +1 -0
  271. package/dist/lib/shutdown.d.ts +30 -0
  272. package/dist/lib/shutdown.d.ts.map +1 -0
  273. package/dist/lib/shutdown.js +177 -0
  274. package/dist/lib/shutdown.js.map +1 -0
  275. package/dist/lib/slack-setup.d.ts +17 -0
  276. package/dist/lib/slack-setup.d.ts.map +1 -0
  277. package/dist/lib/slack-setup.js +485 -0
  278. package/dist/lib/slack-setup.js.map +1 -0
  279. package/dist/lib/startup-preflight.d.ts +36 -0
  280. package/dist/lib/startup-preflight.d.ts.map +1 -0
  281. package/dist/lib/startup-preflight.js +273 -0
  282. package/dist/lib/startup-preflight.js.map +1 -0
  283. package/dist/lib/update-channel-onboarding.d.ts +52 -0
  284. package/dist/lib/update-channel-onboarding.d.ts.map +1 -0
  285. package/dist/lib/update-channel-onboarding.js +107 -0
  286. package/dist/lib/update-channel-onboarding.js.map +1 -0
  287. package/dist/lib/update-check.d.ts +161 -0
  288. package/dist/lib/update-check.d.ts.map +1 -0
  289. package/dist/lib/update-check.js +504 -0
  290. package/dist/lib/update-check.js.map +1 -0
  291. package/dist/lib/web-dir.d.ts +47 -0
  292. package/dist/lib/web-dir.d.ts.map +1 -0
  293. package/dist/lib/web-dir.js +179 -0
  294. package/dist/lib/web-dir.js.map +1 -0
  295. package/dist/lib/webhook-setup.d.ts +16 -0
  296. package/dist/lib/webhook-setup.d.ts.map +1 -0
  297. package/dist/lib/webhook-setup.js +383 -0
  298. package/dist/lib/webhook-setup.js.map +1 -0
  299. package/dist/options/version.d.ts +2 -0
  300. package/dist/options/version.d.ts.map +1 -0
  301. package/dist/options/version.js +7 -0
  302. package/dist/options/version.js.map +1 -0
  303. package/dist/program.d.ts +3 -0
  304. package/dist/program.d.ts.map +1 -0
  305. package/dist/program.js +63 -0
  306. package/dist/program.js.map +1 -0
  307. package/package.json +80 -0
  308. package/templates/rules/base.md +4 -0
  309. package/templates/rules/go.md +8 -0
  310. package/templates/rules/javascript.md +4 -0
  311. package/templates/rules/nextjs.md +7 -0
  312. package/templates/rules/pnpm-workspaces.md +4 -0
  313. package/templates/rules/python.md +8 -0
  314. package/templates/rules/react.md +8 -0
  315. package/templates/rules/typescript.md +6 -0
@@ -0,0 +1,192 @@
1
+ import { readFileSync, writeFileSync } from "node:fs";
2
+ import chalk from "chalk";
3
+ import { parseDocument } from "yaml";
4
+ import { CONFIG_SCHEMA_URL, DEFAULT_DASHBOARD_NOTIFICATION_LIMIT, getDashboardNotificationStorePath, isCanonicalGlobalConfigPath, findConfigFile, normalizeDashboardNotificationLimit, readDashboardNotificationsFromFile, } from "@made-by-moonlight/athene-core";
5
+ import { applyNotifierRoutingPreset, getNotifierRoutingState, promptNotifierRoutingPreset, resolveRoutingPresetOption, } from "./notifier-routing.js";
6
+ export class DashboardSetupError extends Error {
7
+ exitCode;
8
+ constructor(message, exitCode = 1) {
9
+ super(message);
10
+ this.exitCode = exitCode;
11
+ this.name = "DashboardSetupError";
12
+ }
13
+ }
14
+ function isRecord(value) {
15
+ return value !== null && typeof value === "object" && !Array.isArray(value);
16
+ }
17
+ function stringValue(value) {
18
+ return typeof value === "string" && value.trim().length > 0 ? value.trim() : undefined;
19
+ }
20
+ function readConfigContext() {
21
+ const configPath = findConfigFile() ?? undefined;
22
+ if (!configPath) {
23
+ throw new DashboardSetupError("No agent-orchestrator.yaml found. Run 'athene start' first to create one.");
24
+ }
25
+ const rawYaml = readFileSync(configPath, "utf-8");
26
+ const doc = parseDocument(rawYaml);
27
+ const rawConfig = doc.toJS() ?? {};
28
+ return { configPath, rawConfig };
29
+ }
30
+ function getExistingDashboard(rawConfig) {
31
+ const notifiers = isRecord(rawConfig["notifiers"]) ? rawConfig["notifiers"] : {};
32
+ const existing = notifiers["dashboard"];
33
+ return isRecord(existing) ? existing : {};
34
+ }
35
+ function parseLimit(value) {
36
+ if (value === undefined || value === null || value === "") {
37
+ return DEFAULT_DASHBOARD_NOTIFICATION_LIMIT;
38
+ }
39
+ const parsed = typeof value === "number"
40
+ ? value
41
+ : typeof value === "string"
42
+ ? Number.parseInt(value.trim(), 10)
43
+ : Number.NaN;
44
+ if (!Number.isFinite(parsed)) {
45
+ throw new DashboardSetupError("Dashboard notification limit must be a number.");
46
+ }
47
+ return normalizeDashboardNotificationLimit(parsed);
48
+ }
49
+ function resolveDashboardRoutingPreset(value) {
50
+ try {
51
+ return resolveRoutingPresetOption(value, "dashboard");
52
+ }
53
+ catch (error) {
54
+ throw new DashboardSetupError(error instanceof Error ? error.message : String(error));
55
+ }
56
+ }
57
+ function toDashboardConfig(resolved) {
58
+ return {
59
+ plugin: "dashboard",
60
+ limit: resolved.limit,
61
+ };
62
+ }
63
+ function writeDashboardConfig(configPath, resolved) {
64
+ const rawYaml = readFileSync(configPath, "utf-8");
65
+ const doc = parseDocument(rawYaml);
66
+ const rawConfig = doc.toJS() ?? {};
67
+ const notifiers = isRecord(rawConfig["notifiers"]) ? rawConfig["notifiers"] : {};
68
+ notifiers["dashboard"] = toDashboardConfig(resolved);
69
+ rawConfig["notifiers"] = notifiers;
70
+ const defaults = isRecord(rawConfig["defaults"]) ? rawConfig["defaults"] : {};
71
+ rawConfig["defaults"] = defaults;
72
+ applyNotifierRoutingPreset(rawConfig, "dashboard", resolved.routingPreset);
73
+ if (!isCanonicalGlobalConfigPath(configPath)) {
74
+ const currentSchema = doc.get("$schema");
75
+ if (!(typeof currentSchema === "string" && currentSchema.trim().length > 0)) {
76
+ doc.set("$schema", CONFIG_SCHEMA_URL);
77
+ }
78
+ }
79
+ doc.setIn(["notifiers"], rawConfig["notifiers"]);
80
+ doc.setIn(["defaults"], rawConfig["defaults"]);
81
+ if (rawConfig["notificationRouting"] !== undefined) {
82
+ doc.setIn(["notificationRouting"], rawConfig["notificationRouting"]);
83
+ }
84
+ writeFileSync(configPath, doc.toString({ indent: 2 }));
85
+ }
86
+ function cancelSetup(clack) {
87
+ clack.cancel("Dashboard setup cancelled.");
88
+ throw new DashboardSetupError("Dashboard setup cancelled.", 0);
89
+ }
90
+ async function shouldReplaceConflictingDashboard(plugin, force, nonInteractive) {
91
+ if (plugin === undefined || plugin === "dashboard" || force)
92
+ return true;
93
+ if (nonInteractive) {
94
+ throw new DashboardSetupError(`notifiers.dashboard already uses plugin "${String(plugin)}". Pass --force to replace it.`);
95
+ }
96
+ const clack = await import("@clack/prompts");
97
+ const answer = await clack.confirm({
98
+ message: `notifiers.dashboard already uses plugin "${String(plugin)}". Replace it?`,
99
+ initialValue: false,
100
+ });
101
+ if (clack.isCancel(answer)) {
102
+ cancelSetup(clack);
103
+ }
104
+ return answer === true;
105
+ }
106
+ async function resolveInteractiveSetup(opts, existingDashboard, rawConfig) {
107
+ const clack = await import("@clack/prompts");
108
+ const optionRoutingPreset = resolveDashboardRoutingPreset(opts.routingPreset);
109
+ const existingLimit = parseLimit(existingDashboard["limit"]);
110
+ clack.intro(chalk.bgCyan(chalk.black(" athene setup dashboard ")));
111
+ while (true) {
112
+ const limitInput = await clack.text({
113
+ message: "How many dashboard notifications should AO keep?",
114
+ placeholder: String(DEFAULT_DASHBOARD_NOTIFICATION_LIMIT),
115
+ initialValue: stringValue(opts.limit) ?? String(existingLimit),
116
+ validate: (value) => {
117
+ try {
118
+ parseLimit(value);
119
+ }
120
+ catch (error) {
121
+ return error instanceof Error ? error.message : String(error);
122
+ }
123
+ },
124
+ });
125
+ if (clack.isCancel(limitInput)) {
126
+ cancelSetup(clack);
127
+ }
128
+ const routingSelection = optionRoutingPreset ??
129
+ (await promptNotifierRoutingPreset(clack, rawConfig, "dashboard", "dashboard", () => cancelSetup(clack)));
130
+ if (routingSelection === "back")
131
+ continue;
132
+ return {
133
+ limit: parseLimit(limitInput),
134
+ routingPreset: routingSelection === "preserve" ? undefined : routingSelection,
135
+ };
136
+ }
137
+ }
138
+ function resolveNonInteractiveSetup(opts, existingDashboard) {
139
+ const limit = opts.limit !== undefined
140
+ ? parseLimit(opts.limit)
141
+ : opts.refresh
142
+ ? parseLimit(existingDashboard["limit"])
143
+ : DEFAULT_DASHBOARD_NOTIFICATION_LIMIT;
144
+ const routingPreset = resolveDashboardRoutingPreset(opts.routingPreset) ??
145
+ (opts.refresh ? undefined : "urgent-action");
146
+ return { limit, routingPreset };
147
+ }
148
+ function printStatus() {
149
+ const context = readConfigContext();
150
+ const existingDashboard = getExistingDashboard(context.rawConfig);
151
+ const plugin = stringValue(existingDashboard["plugin"]);
152
+ const limit = parseLimit(existingDashboard["limit"]);
153
+ const storePath = getDashboardNotificationStorePath(context.configPath);
154
+ const records = readDashboardNotificationsFromFile(storePath, limit);
155
+ const latest = records.at(-1);
156
+ console.log(chalk.bold("Dashboard notifier status"));
157
+ console.log(` Config: ${context.configPath}`);
158
+ console.log(` Plugin: ${plugin ?? chalk.dim("not configured")}`);
159
+ console.log(` Limit: ${limit}`);
160
+ console.log(` Store: ${storePath}`);
161
+ console.log(` Stored: ${records.length}`);
162
+ console.log(` Latest: ${latest?.receivedAt ?? chalk.dim("none")}`);
163
+ console.log(` Routing: ${getNotifierRoutingState(context.rawConfig, "dashboard").label}`);
164
+ }
165
+ export async function runDashboardSetupAction(opts) {
166
+ const nonInteractive = opts.nonInteractive || !process.stdin.isTTY;
167
+ const force = Boolean(opts.force);
168
+ if (opts.status) {
169
+ printStatus();
170
+ return;
171
+ }
172
+ const context = readConfigContext();
173
+ const existingDashboard = getExistingDashboard(context.rawConfig);
174
+ const shouldWire = await shouldReplaceConflictingDashboard(existingDashboard["plugin"], force, nonInteractive);
175
+ if (!shouldWire)
176
+ return;
177
+ const resolved = nonInteractive
178
+ ? resolveNonInteractiveSetup(opts, existingDashboard)
179
+ : await resolveInteractiveSetup(opts, existingDashboard, context.rawConfig);
180
+ writeDashboardConfig(context.configPath, resolved);
181
+ console.log(chalk.green(`Config written to ${context.configPath}`));
182
+ if (!nonInteractive) {
183
+ const clack = await import("@clack/prompts");
184
+ clack.outro(`${chalk.green("Dashboard setup complete!")} AO will retain the latest ${resolved.limit} dashboard notifications.\n` +
185
+ chalk.dim(" Test it with: athene notify test --to dashboard --template basic"));
186
+ }
187
+ else {
188
+ console.log(chalk.green("\nDashboard setup complete."));
189
+ console.log(chalk.dim("Test it with: athene notify test --to dashboard --template basic"));
190
+ }
191
+ }
192
+ //# sourceMappingURL=dashboard-setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-setup.js","sourceRoot":"","sources":["../../src/lib/dashboard-setup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Returns the user-facing base URL of the dashboard.
3
+ *
4
+ * When `AO_PUBLIC_URL` is set in the environment, AO is being fronted by a
5
+ * reverse proxy (e.g. when running inside a remote dev container or behind
6
+ * Caddy/nginx). All console output, `athene open` browser launches, and session
7
+ * URLs surfaced to humans should use that public URL instead of localhost.
8
+ *
9
+ * The trailing slash is stripped for consistency so callers can append paths
10
+ * without producing `//`.
11
+ *
12
+ * Internal IPC (the daemon hitting its own dashboard's API) is intentionally
13
+ * **not** routed through this helper — those calls always use localhost since
14
+ * they happen on the same host as the dashboard process.
15
+ *
16
+ * @param port - the local dashboard port; only used in the localhost fallback
17
+ */
18
+ export declare function dashboardUrl(port: number): string;
19
+ //# sourceMappingURL=dashboard-url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-url.d.ts","sourceRoot":"","sources":["../../src/lib/dashboard-url.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMjD"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Returns the user-facing base URL of the dashboard.
3
+ *
4
+ * When `AO_PUBLIC_URL` is set in the environment, AO is being fronted by a
5
+ * reverse proxy (e.g. when running inside a remote dev container or behind
6
+ * Caddy/nginx). All console output, `athene open` browser launches, and session
7
+ * URLs surfaced to humans should use that public URL instead of localhost.
8
+ *
9
+ * The trailing slash is stripped for consistency so callers can append paths
10
+ * without producing `//`.
11
+ *
12
+ * Internal IPC (the daemon hitting its own dashboard's API) is intentionally
13
+ * **not** routed through this helper — those calls always use localhost since
14
+ * they happen on the same host as the dashboard process.
15
+ *
16
+ * @param port - the local dashboard port; only used in the localhost fallback
17
+ */
18
+ export function dashboardUrl(port) {
19
+ const publicUrl = process.env.AO_PUBLIC_URL?.trim();
20
+ if (publicUrl) {
21
+ return publicUrl.replace(/\/+$/, "");
22
+ }
23
+ return `http://localhost:${port}`;
24
+ }
25
+ //# sourceMappingURL=dashboard-url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-url.js","sourceRoot":"","sources":["../../src/lib/dashboard-url.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC;IACpD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,oBAAoB,IAAI,EAAE,CAAC;AACpC,CAAC"}
@@ -0,0 +1,21 @@
1
+ export declare class DesktopSetupError extends Error {
2
+ readonly exitCode: number;
3
+ constructor(message: string, exitCode?: number);
4
+ }
5
+ export interface DesktopSetupOptions {
6
+ nonInteractive?: boolean;
7
+ force?: boolean;
8
+ status?: boolean;
9
+ uninstall?: boolean;
10
+ refresh?: boolean;
11
+ backend?: string;
12
+ dashboardUrl?: string;
13
+ appPath?: string;
14
+ test?: boolean;
15
+ routingPreset?: string;
16
+ }
17
+ export declare function getBundledNotifierAppPath(): string | null;
18
+ export declare function getInstalledNotifierAppPath(): string;
19
+ export declare function getNotifierExecutablePath(appPath: string): string;
20
+ export declare function runDesktopSetupAction(opts: DesktopSetupOptions): Promise<void>;
21
+ //# sourceMappingURL=desktop-setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"desktop-setup.d.ts","sourceRoot":"","sources":["../../src/lib/desktop-setup.ts"],"names":[],"mappings":"AAwBA,qBAAa,iBAAkB,SAAQ,KAAK;aAGxB,QAAQ,EAAE,MAAM;gBADhC,OAAO,EAAE,MAAM,EACC,QAAQ,GAAE,MAAU;CAKvC;AAED,MAAM,WAAW,mBAAmB;IAClC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAmDD,wBAAgB,yBAAyB,IAAI,MAAM,GAAG,IAAI,CAWzD;AAED,wBAAgB,2BAA2B,IAAI,MAAM,CAEpD;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEjE;AAgjBD,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiDpF"}