@fnndsc/chell 5.2.2 → 5.3.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 (42) hide show
  1. package/README.md +119 -27
  2. package/dist/config/settings.js +14 -4
  3. package/dist/config/settings.js.map +1 -1
  4. package/dist/core/boot.js +16 -4
  5. package/dist/core/boot.js.map +1 -1
  6. package/dist/core/bootFlags.js +2 -1
  7. package/dist/core/bootFlags.js.map +1 -1
  8. package/dist/core/cli.js +3 -0
  9. package/dist/core/cli.js.map +1 -1
  10. package/dist/core/cliSurface.js +25 -2
  11. package/dist/core/cliSurface.js.map +1 -1
  12. package/dist/core/progressRenderer.d.ts +13 -0
  13. package/dist/core/progressRenderer.js +44 -0
  14. package/dist/core/progressRenderer.js.map +1 -1
  15. package/dist/core/prompt/index.d.ts +3 -4
  16. package/dist/core/prompt/index.js.map +1 -1
  17. package/dist/core/prompt/palette.d.ts +41 -0
  18. package/dist/core/prompt/palette.js +35 -0
  19. package/dist/core/prompt/palette.js.map +1 -0
  20. package/dist/core/prompt/theme_default.js +27 -10
  21. package/dist/core/prompt/theme_default.js.map +1 -1
  22. package/dist/core/prompt/theme_p10k.d.ts +3 -3
  23. package/dist/core/prompt/theme_p10k.js +73 -36
  24. package/dist/core/prompt/theme_p10k.js.map +1 -1
  25. package/dist/core/prompt/utils.d.ts +22 -0
  26. package/dist/core/prompt/utils.js +34 -0
  27. package/dist/core/prompt/utils.js.map +1 -1
  28. package/dist/core/repl.js +9 -1
  29. package/dist/core/repl.js.map +1 -1
  30. package/dist/core/startupWarmup.d.ts +10 -4
  31. package/dist/core/startupWarmup.js +152 -22
  32. package/dist/core/startupWarmup.js.map +1 -1
  33. package/dist/lib/bootsequence.d.ts +2 -2
  34. package/dist/lib/bootsequence.js +1 -0
  35. package/dist/lib/bootsequence.js.map +1 -1
  36. package/dist/remote/client.d.ts +3 -1
  37. package/dist/remote/client.js +60 -6
  38. package/dist/remote/client.js.map +1 -1
  39. package/dist/remote/remoteEngine.d.ts +41 -8
  40. package/dist/remote/remoteEngine.js +119 -41
  41. package/dist/remote/remoteEngine.js.map +1 -1
  42. package/package.json +12 -11
@@ -11,6 +11,24 @@
11
11
  export function ansi_visibleLength(s) {
12
12
  return s.replace(/\x1b\[[0-9;]*m/g, '').length;
13
13
  }
14
+ /**
15
+ * Replaces the authenticated user's home-directory prefix with `~`.
16
+ *
17
+ * Other users' home directories and similarly prefixed usernames remain
18
+ * unchanged.
19
+ *
20
+ * @param path - Logical working-directory path.
21
+ * @param user - Authenticated username that owns `/home/<user>`.
22
+ * @returns Home-relative display path, or the original path when outside home.
23
+ */
24
+ export function homePath_abbreviate(path, user) {
25
+ if (!user)
26
+ return path;
27
+ const home = `/home/${user}`;
28
+ if (path === home || path === `${home}/`)
29
+ return '~';
30
+ return path.startsWith(`${home}/`) ? `~${path.slice(home.length)}` : path;
31
+ }
14
32
  /**
15
33
  * Truncates a filesystem path to fit within `maxLen` visible columns.
16
34
  *
@@ -37,4 +55,20 @@ export function path_truncate(path, maxLen) {
37
55
  const budget = maxLen - 3;
38
56
  return '...' + leaf.slice(-Math.max(budget, 0));
39
57
  }
58
+ /**
59
+ * Formats active `/proc` warm-up progress for prompt themes.
60
+ *
61
+ * Active work is capped at 99%; completion removes the prompt segment instead
62
+ * of briefly presenting a misleading 100% while the sweep is still settling.
63
+ *
64
+ * @param loaded - Number of unique plugin instances loaded.
65
+ * @param total - Server-reported visible plugin-instance total.
66
+ * @returns Compact `N/M f%` progress text, or `N/?` before total is known.
67
+ */
68
+ export function procProgress_format(loaded, total) {
69
+ if (total <= 0)
70
+ return `${loaded}/?`;
71
+ const percent = Math.min(99, Math.floor((loaded / total) * 100));
72
+ return `${loaded}/${total} ${percent}%`;
73
+ }
40
74
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/core/prompt/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,CAAS;IAC1C,OAAO,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;AACjD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,MAAc;IACxD,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9B,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM;QAAE,OAAO,IAAI,CAAC;IAEvC,MAAM,QAAQ,GAAa,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAE3D,KAAK,IAAI,IAAI,GAAW,CAAC,EAAE,IAAI,GAAG,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;QAC1D,MAAM,SAAS,GAAW,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClE,IAAI,SAAS,CAAC,MAAM,IAAI,MAAM;YAAE,OAAO,SAAS,CAAC;IACnD,CAAC;IAED,MAAM,IAAI,GAAW,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;IAC3D,MAAM,MAAM,GAAW,MAAM,GAAG,CAAC,CAAC;IAClC,OAAO,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/core/prompt/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,CAAS;IAC1C,OAAO,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;AACjD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,IAAY;IAC5D,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,IAAI,GAAW,SAAS,IAAI,EAAE,CAAC;IACrC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,GAAG;QAAE,OAAO,GAAG,CAAC;IACrD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5E,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,MAAc;IACxD,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9B,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM;QAAE,OAAO,IAAI,CAAC;IAEvC,MAAM,QAAQ,GAAa,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAE3D,KAAK,IAAI,IAAI,GAAW,CAAC,EAAE,IAAI,GAAG,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;QAC1D,MAAM,SAAS,GAAW,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClE,IAAI,SAAS,CAAC,MAAM,IAAI,MAAM;YAAE,OAAO,SAAS,CAAC;IACnD,CAAC;IAED,MAAM,IAAI,GAAW,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;IAC3D,MAAM,MAAM,GAAW,MAAM,GAAG,CAAC,CAAC;IAClC,OAAO,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,KAAa;IAC/D,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,GAAG,MAAM,IAAI,CAAC;IACrC,MAAM,OAAO,GAAW,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IACzE,OAAO,GAAG,MAAM,IAAI,KAAK,IAAI,OAAO,GAAG,CAAC;AAC1C,CAAC"}
package/dist/core/repl.js CHANGED
@@ -43,6 +43,9 @@ export class REPL {
43
43
  completer: (line, callback) => {
44
44
  this.engine.line_complete(line)
45
45
  .then((result) => callback(null, [result.candidates, result.prefix]))
46
+ // Deliberate absorption, adjudicated 2026-08: a completion failure
47
+ // degrades to no candidates; surfacing it would corrupt the
48
+ // readline display mid-keystroke.
46
49
  .catch(() => callback(null, [[], line]));
47
50
  },
48
51
  });
@@ -80,8 +83,13 @@ export class REPL {
80
83
  }
81
84
  });
82
85
  this.rl.on('SIGINT', () => {
83
- // Ctrl+C cancels the current input line and re-prompts — does not exit.
86
+ // A cancellable foreground command (currently recursive scans) gets the
87
+ // interrupt first. Otherwise Ctrl+C retains readline's usual behavior:
88
+ // clear an unfinished input line and redraw the prompt.
84
89
  process.stdout.write('\n');
90
+ if (this.engine.line_cancel?.()) {
91
+ return;
92
+ }
85
93
  readline.clearLine(process.stdout, 0);
86
94
  this.prompt_update();
87
95
  });
@@ -1 +1 @@
1
- {"version":3,"file":"repl.js","sourceRoot":"","sources":["../../src/core/repl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repl.js","sourceRoot":"","sources":["../../src/core/repl.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,8 @@
3
3
  *
4
4
  * Warms the VFS and process caches, reports each outcome through a small host
5
5
  * seam, and starts non-blocking job-topology warming after the jobs index is
6
- * available. Daemon startup additionally waits for this work before publishing
7
- * its listening berth.
6
+ * available. Daemon startup waits for the blocking cache indexes before
7
+ * publishing its listening berth, then reports topology settlement separately.
8
8
  *
9
9
  * @module
10
10
  */
@@ -29,6 +29,10 @@ export interface StartupWarmupCache {
29
29
  export interface StartupWarmupReporter {
30
30
  log(status: BootStatus, label: string, message: string): void;
31
31
  }
32
+ /** Operator choice after a daemon exhausts its startup retries. */
33
+ export type DaemonWarmupFailureDecision = 'continue' | 'exit';
34
+ /** Injectable operator-decision seam for daemon warm-up failures. */
35
+ export type DaemonWarmupRecovery = (failures: string[]) => Promise<DaemonWarmupFailureDecision>;
32
36
  /**
33
37
  * Warms startup caches and begins non-blocking job-topology warming.
34
38
  *
@@ -36,9 +40,11 @@ export interface StartupWarmupReporter {
36
40
  * @param user - Authenticated username used to construct the feed path.
37
41
  * @param interactive - Whether progress may use an interactive spinner.
38
42
  * @param reporter - Host status logger, or null for silent status reporting.
43
+ * @param reportTopologySettlement - Whether to report the asynchronous topology
44
+ * result; daemon hosts enable this, while interactive hosts use prompt progress.
39
45
  * @returns Cache counts and the labels of any failed warm-up operations.
40
46
  */
41
- export declare function startupWarmup_run(flags: StartupWarmupFlags, user: string | undefined, interactive: boolean, reporter: StartupWarmupReporter | null): Promise<StartupWarmupCache>;
47
+ export declare function startupWarmup_run(flags: StartupWarmupFlags, user: string | undefined, interactive: boolean, reporter: StartupWarmupReporter | null, reportTopologySettlement?: boolean): Promise<StartupWarmupCache>;
42
48
  /**
43
49
  * Warms a connected engine, reports readiness, then publishes its daemon.
44
50
  *
@@ -48,4 +54,4 @@ export declare function startupWarmup_run(flags: StartupWarmupFlags, user: strin
48
54
  * @param interactive - Whether progress may use an interactive spinner.
49
55
  * @param reporter - Daemon boot status logger.
50
56
  */
51
- export declare function daemonSession_run(engine: BrasaEngine, user: string | undefined, flags: StartupWarmupFlags, interactive: boolean, reporter: StartupWarmupReporter): Promise<void>;
57
+ export declare function daemonSession_run(engine: BrasaEngine, user: string | undefined, flags: StartupWarmupFlags, interactive: boolean, reporter: StartupWarmupReporter, recovery?: DaemonWarmupRecovery): Promise<void>;
@@ -3,15 +3,75 @@
3
3
  *
4
4
  * Warms the VFS and process caches, reports each outcome through a small host
5
5
  * seam, and starts non-blocking job-topology warming after the jobs index is
6
- * available. Daemon startup additionally waits for this work before publishing
7
- * its listening berth.
6
+ * available. Daemon startup waits for the blocking cache indexes before
7
+ * publishing its listening berth, then reports topology settlement separately.
8
8
  *
9
9
  * @module
10
10
  */
11
- import { error_stripDebugPrefix, prefetch_path, prefetch_withSpinner, session, vfs, } from '@fnndsc/brasa';
12
- import { daemon_launch } from '@fnndsc/calypso';
13
- import { errorStack, procCache_get } from '@fnndsc/cumin';
14
- import { procCache_refresh, procTopology_warmup } from '@fnndsc/salsa';
11
+ import { error_stripDebugPrefix, prefetch_path, prefetch_withSpinner, repl_question, session, vfs, } from '@fnndsc/brasa';
12
+ import { daemon_launch, identity_forSession } from '@fnndsc/calypso';
13
+ import { chrisContext, errorStack, procCache_get, procCheckpoint_restore, procCheckpoint_watch, } from '@fnndsc/cumin';
14
+ import { procCache_refresh, procTopology_reconcileFeeds, procTopology_status, procTopology_warmup, vfsDispatcher, } from '@fnndsc/salsa';
15
+ /** Number of attempts for a blocking startup cache operation. */
16
+ const STARTUP_WARMUP_ATTEMPTS = 3;
17
+ /** Brief backoff before the second and third startup attempts. */
18
+ const STARTUP_WARMUP_RETRY_DELAYS_MS = [250, 500];
19
+ /** Sentinel used to prevent CALYPSO from binding after the operator exits boot. */
20
+ class DaemonWarmupAbortedError extends Error {
21
+ }
22
+ /**
23
+ * Waits briefly between transient startup attempts without retaining a timer.
24
+ *
25
+ * @param attempt - One-based attempt that just failed.
26
+ * @returns Nothing after the corresponding retry delay.
27
+ */
28
+ async function startupRetry_wait(attempt) {
29
+ const delay = STARTUP_WARMUP_RETRY_DELAYS_MS[attempt - 1] ?? 0;
30
+ if (delay === 0)
31
+ return;
32
+ await new Promise((resolve) => { setTimeout(resolve, delay); });
33
+ }
34
+ /**
35
+ * Runs one blocking warm-up action with a bounded retry policy.
36
+ *
37
+ * @param label - Stable boot-step label.
38
+ * @param message - Description shown while the action is running.
39
+ * @param interactive - Whether an interactive spinner may render.
40
+ * @param reporter - Optional boot-status reporter.
41
+ * @param action - One attempt at the cache operation.
42
+ * @returns The first successful result, or the last failed result.
43
+ */
44
+ async function startupPrefetch_retry(label, message, interactive, reporter, action) {
45
+ let last = { ok: false, message: 'Warm-up did not run.' };
46
+ for (let attempt = 1; attempt <= STARTUP_WARMUP_ATTEMPTS; attempt++) {
47
+ last = await prefetch_withSpinner(label, message, interactive, action);
48
+ if (last.ok || attempt === STARTUP_WARMUP_ATTEMPTS)
49
+ return last;
50
+ reporter?.log('retry', label, `Attempt ${attempt}/${STARTUP_WARMUP_ATTEMPTS} failed: ${last.message ?? 'unknown error'}; retrying.`);
51
+ await startupRetry_wait(attempt);
52
+ }
53
+ return last;
54
+ }
55
+ /**
56
+ * Asks a terminal operator whether a daemon with incomplete caches may start.
57
+ *
58
+ * A non-interactive launch retains the existing availability-first behavior:
59
+ * it starts degraded rather than hanging or silently terminating.
60
+ *
61
+ * @param failures - Labels of cache steps that exhausted their retries.
62
+ * @returns Whether to start degraded or exit before binding the daemon.
63
+ */
64
+ async function daemonWarmupFailure_decide(failures) {
65
+ if (!process.stdin.isTTY || !process.stdout.isTTY)
66
+ return 'continue';
67
+ try {
68
+ const answer = await repl_question(`Warm-up incomplete (${failures.join(', ')}). Continue with degraded caches? [c]ontinue/[E]xit: `);
69
+ return /^(c|continue)$/i.test(answer.trim()) ? 'continue' : 'exit';
70
+ }
71
+ catch {
72
+ return 'exit';
73
+ }
74
+ }
15
75
  /**
16
76
  * Warms startup caches and begins non-blocking job-topology warming.
17
77
  *
@@ -19,12 +79,14 @@ import { procCache_refresh, procTopology_warmup } from '@fnndsc/salsa';
19
79
  * @param user - Authenticated username used to construct the feed path.
20
80
  * @param interactive - Whether progress may use an interactive spinner.
21
81
  * @param reporter - Host status logger, or null for silent status reporting.
82
+ * @param reportTopologySettlement - Whether to report the asynchronous topology
83
+ * result; daemon hosts enable this, while interactive hosts use prompt progress.
22
84
  * @returns Cache counts and the labels of any failed warm-up operations.
23
85
  */
24
- export async function startupWarmup_run(flags, user, interactive, reporter) {
86
+ export async function startupWarmup_run(flags, user, interactive, reporter, reportTopologySettlement = false) {
25
87
  const result = { failures: [] };
26
88
  if (!session.offline && flags.plugins) {
27
- const pluginsResult = await prefetch_withSpinner('Plugins', 'Prefetching /bin for completions', interactive, async () => {
89
+ const pluginsResult = await startupPrefetch_retry('Plugins', 'Prefetching /bin for completions', interactive, reporter, async () => {
28
90
  const listingResult = await vfs.data_get('/bin');
29
91
  if (listingResult.ok) {
30
92
  return {
@@ -55,10 +117,31 @@ export async function startupWarmup_run(flags, user, interactive, reporter) {
55
117
  reporter?.log('skip', 'Plugins', 'Offline mode');
56
118
  reporter?.log('skip', 'Pipelines', 'Offline mode');
57
119
  }
120
+ if (!session.offline) {
121
+ const groupsResult = await startupPrefetch_retry('Groups', 'Resolving /etc/group memberships', interactive, reporter, async () => {
122
+ const projection = await vfsDispatcher.read('/etc/group');
123
+ if (projection.ok) {
124
+ const count = projection.value.split('\n').filter(Boolean).length;
125
+ return { ok: true, count };
126
+ }
127
+ const error = errorStack.stack_pop();
128
+ return { ok: false, message: error?.message ?? 'Failed to resolve /etc/group' };
129
+ });
130
+ if (groupsResult.ok) {
131
+ reporter?.log('ok', 'Groups', `Cached ${groupsResult.count ?? 0} group(s)`);
132
+ }
133
+ else {
134
+ result.failures.push('Groups');
135
+ reporter?.log('fail', 'Groups', groupsResult.message || 'Failed to resolve /etc/group');
136
+ }
137
+ }
138
+ else {
139
+ reporter?.log('skip', 'Groups', 'Offline mode');
140
+ }
58
141
  if (!session.offline && flags.feeds) {
59
142
  const feedPath = user ? `/home/${user}/feeds` : undefined;
60
143
  if (feedPath) {
61
- const feedsResult = await prefetch_withSpinner('Feeds', 'Prefetching user feeds', interactive, () => prefetch_path(feedPath));
144
+ const feedsResult = await startupPrefetch_retry('Feeds', 'Prefetching user feeds', interactive, reporter, () => prefetch_path(feedPath));
62
145
  if (feedsResult.ok) {
63
146
  result.feeds = feedsResult.count;
64
147
  reporter?.log('ok', 'Feeds', `Cached ${feedsResult.count ?? 0} item(s) from ${feedPath}`);
@@ -72,7 +155,7 @@ export async function startupWarmup_run(flags, user, interactive, reporter) {
72
155
  reporter?.log('skip', 'Feeds', 'No user context');
73
156
  }
74
157
  if (flags.publicFeeds) {
75
- const publicResult = await prefetch_withSpinner('Public', 'Prefetching public feeds', interactive, () => prefetch_path('/PUBLIC'));
158
+ const publicResult = await startupPrefetch_retry('Public', 'Prefetching public feeds', interactive, reporter, () => prefetch_path('/PUBLIC'));
76
159
  if (publicResult.ok) {
77
160
  result.public = publicResult.count;
78
161
  reporter?.log('ok', 'Public', `Cached ${publicResult.count ?? 0} item(s) from /PUBLIC`);
@@ -90,20 +173,55 @@ export async function startupWarmup_run(flags, user, interactive, reporter) {
90
173
  reporter?.log('skip', 'Feeds', 'Offline mode');
91
174
  }
92
175
  if (!session.offline && flags.jobs) {
93
- const jobsResult = await prefetch_withSpinner('Jobs', 'Indexing /proc/jobs (feed list)...', interactive, async () => {
176
+ let checkpoint = null;
177
+ let reconciliationFeedIDs = [];
178
+ if (reportTopologySettlement && user) {
179
+ const cubeUrl = await chrisContext.ChRISURL_get();
180
+ if (cubeUrl) {
181
+ const identity = identity_forSession(user, cubeUrl);
182
+ checkpoint = await procCheckpoint_restore(identity);
183
+ procCheckpoint_watch(identity);
184
+ }
185
+ }
186
+ const jobsResult = await startupPrefetch_retry('Jobs', 'Indexing /proc/jobs (feed list)...', interactive, reporter, async () => {
94
187
  try {
95
- await procCache_refresh();
188
+ reconciliationFeedIDs = await procCache_refresh();
96
189
  return { ok: true, count: procCache_get().feedIDs_get().length };
97
190
  }
98
191
  catch (error) {
192
+ if (procCache_get().lifecycle_get().checkpointAt)
193
+ procCache_get().cache_clear();
99
194
  const message = error instanceof Error ? error.message : String(error);
100
195
  return { ok: false, message };
101
196
  }
102
197
  });
103
198
  if (jobsResult.ok) {
104
- reporter?.log('ok', 'Jobs', `Indexed ${jobsResult.count ?? 0} feed(s) — topology warming in background`);
199
+ const jobsMessage = checkpoint?.restored
200
+ ? `Restored ${checkpoint.count} job(s); indexed ${jobsResult.count ?? 0} feed(s) — topology reconciling in background`
201
+ : `Indexed ${jobsResult.count ?? 0} feed(s) — topology reconciling in background`;
202
+ reporter?.log('ok', 'Jobs', jobsMessage);
105
203
  errorStack.scope_run(() => {
106
- procTopology_warmup().catch(() => { });
204
+ const topologySweep = checkpoint?.restored
205
+ ? procTopology_reconcileFeeds(reconciliationFeedIDs)
206
+ : procTopology_warmup();
207
+ if (reportTopologySettlement) {
208
+ void topologySweep.then(() => {
209
+ const topology = procTopology_status();
210
+ if (topology.state !== 'complete') {
211
+ reporter?.log('fail', 'Topology', `Warm-up failed: ${topology.failure ?? 'the topology index did not complete'}`);
212
+ return;
213
+ }
214
+ const progress = procCache_get().warmupProgress_get();
215
+ const total = progress.total > 0 ? progress.total : progress.loaded;
216
+ reporter?.log('ok', 'Topology', `Ready — ${progress.loaded}/${total} job(s) indexed`);
217
+ }, (error) => {
218
+ const message = error instanceof Error ? error.message : String(error);
219
+ reporter?.log('fail', 'Topology', `Warm-up failed: ${message}`);
220
+ });
221
+ }
222
+ else {
223
+ void topologySweep.catch(() => { });
224
+ }
107
225
  });
108
226
  }
109
227
  else {
@@ -128,15 +246,27 @@ export async function startupWarmup_run(flags, user, interactive, reporter) {
128
246
  * @param interactive - Whether progress may use an interactive spinner.
129
247
  * @param reporter - Daemon boot status logger.
130
248
  */
131
- export async function daemonSession_run(engine, user, flags, interactive, reporter) {
132
- await daemon_launch(engine, async () => {
133
- const cache = await startupWarmup_run(flags, user, interactive, reporter);
134
- if (cache.failures.length === 0) {
135
- reporter.log('ok', 'Engine', 'Ready');
136
- }
137
- else {
249
+ export async function daemonSession_run(engine, user, flags, interactive, reporter, recovery = daemonWarmupFailure_decide) {
250
+ try {
251
+ await daemon_launch(engine, async () => {
252
+ const cache = await startupWarmup_run(flags, user, interactive, reporter, true);
253
+ if (cache.failures.length === 0) {
254
+ reporter.log('ok', 'Engine', 'Ready');
255
+ return;
256
+ }
257
+ if (await recovery(cache.failures) === 'exit') {
258
+ reporter.log('fail', 'Engine', `Startup aborted after incomplete warm-up: ${cache.failures.join(', ')}`);
259
+ throw new DaemonWarmupAbortedError();
260
+ }
138
261
  reporter.log('fail', 'Engine', `Starting with incomplete warm-up: ${cache.failures.join(', ')}`);
262
+ });
263
+ }
264
+ catch (error) {
265
+ if (error instanceof DaemonWarmupAbortedError) {
266
+ process.exitCode = 1;
267
+ return;
139
268
  }
140
- });
269
+ throw error;
270
+ }
141
271
  }
142
272
  //# sourceMappingURL=startupWarmup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"startupWarmup.js","sourceRoot":"","sources":["../../src/core/startupWarmup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"startupWarmup.js","sourceRoot":"","sources":["../../src/core/startupWarmup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,OAAO,EACP,GAAG,GAGJ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EACL,YAAY,EACZ,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,oBAAoB,GAKrB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,iBAAiB,EACjB,2BAA2B,EAC3B,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,GAEd,MAAM,eAAe,CAAC;AAyBvB,iEAAiE;AACjE,MAAM,uBAAuB,GAAW,CAAC,CAAC;AAC1C,kEAAkE;AAClE,MAAM,8BAA8B,GAAsB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAQrE,mFAAmF;AACnF,MAAM,wBAAyB,SAAQ,KAAK;CAAG;AAE/C;;;;;GAKG;AACH,KAAK,UAAU,iBAAiB,CAAC,OAAe;IAC9C,MAAM,KAAK,GAAW,8BAA8B,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IACvE,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO;IACxB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAmB,EAAQ,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,qBAAqB,CAClC,KAAa,EACb,OAAe,EACf,WAAoB,EACpB,QAAsC,EACtC,MAAqC;IAErC,IAAI,IAAI,GAAmB,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAC1E,KAAK,IAAI,OAAO,GAAW,CAAC,EAAE,OAAO,IAAI,uBAAuB,EAAE,OAAO,EAAE,EAAE,CAAC;QAC5E,IAAI,GAAG,MAAM,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QACvE,IAAI,IAAI,CAAC,EAAE,IAAI,OAAO,KAAK,uBAAuB;YAAE,OAAO,IAAI,CAAC;QAChE,QAAQ,EAAE,GAAG,CACX,OAAO,EACP,KAAK,EACL,WAAW,OAAO,IAAI,uBAAuB,YAAY,IAAI,CAAC,OAAO,IAAI,eAAe,aAAa,CACtG,CAAC;QACF,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,0BAA0B,CAAC,QAAkB;IAC1D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;QAAE,OAAO,UAAU,CAAC;IACrE,IAAI,CAAC;QACH,MAAM,MAAM,GAAW,MAAM,aAAa,CACxC,uBAAuB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,uDAAuD,CAClG,CAAC;QACF,OAAO,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAAyB,EACzB,IAAwB,EACxB,WAAoB,EACpB,QAAsC,EACtC,2BAAoC,KAAK;IAEzC,MAAM,MAAM,GAAuB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAEpD,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QACtC,MAAM,aAAa,GAAmB,MAAM,qBAAqB,CAC/D,SAAS,EACT,kCAAkC,EAClC,WAAW,EACX,QAAQ,EACR,KAAK,IAA6B,EAAE;YAClC,MAAM,aAAa,GAA0B,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACxE,IAAI,aAAa,CAAC,EAAE,EAAE,CAAC;gBACrB,OAAO;oBACL,EAAE,EAAE,IAAI;oBACR,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAiB,EAAW,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,MAAM;oBAChG,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAiB,EAAW,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,MAAM;iBAC3G,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,GAA6B,UAAU,CAAC,SAAS,EAAE,CAAC;YAC/D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,yBAAyB,EAAE,CAAC;QAC3G,CAAC,CACF,CAAC;QACF,IAAI,aAAa,CAAC,EAAE,EAAE,CAAC;YACrB,MAAM,CAAC,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC;YACrC,MAAM,CAAC,SAAS,GAAG,aAAa,CAAC,aAAa,CAAC;YAC/C,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,aAAa,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC;YAC/E,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,aAAa,CAAC,aAAa,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7F,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAChC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,OAAO,IAAI,yBAAyB,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC5B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC;QACtD,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAAC;IAC1D,CAAC;SAAM,CAAC;QACN,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;QACjD,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,YAAY,GAAmB,MAAM,qBAAqB,CAC9D,QAAQ,EACR,kCAAkC,EAClC,WAAW,EACX,QAAQ,EACR,KAAK,IAA6B,EAAE;YAClC,MAAM,UAAU,GAAmB,MAAM,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC1E,IAAI,UAAU,CAAC,EAAE,EAAE,CAAC;gBAClB,MAAM,KAAK,GAAW,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;gBAC1E,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;YAC7B,CAAC;YACD,MAAM,KAAK,GAA6B,UAAU,CAAC,SAAS,EAAE,CAAC;YAC/D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,8BAA8B,EAAE,CAAC;QAClF,CAAC,CACF,CAAC;QACF,IAAI,YAAY,CAAC,EAAE,EAAE,CAAC;YACpB,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,YAAY,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9E,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC,OAAO,IAAI,8BAA8B,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;SAAM,CAAC;QACN,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAuB,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9E,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,WAAW,GAAmB,MAAM,qBAAqB,CAC7D,OAAO,EACP,wBAAwB,EACxB,WAAW,EACX,QAAQ,EACR,GAA4B,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CACvD,CAAC;YACF,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC;gBACnB,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;gBACjC,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,WAAW,CAAC,KAAK,IAAI,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;YAC5F,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC9B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,IAAI,uBAAuB,QAAQ,EAAE,CAAC,CAAC;YAC3F,CAAC;QACH,CAAC;aAAM,CAAC;YACN,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,YAAY,GAAmB,MAAM,qBAAqB,CAC9D,QAAQ,EACR,0BAA0B,EAC1B,WAAW,EACX,QAAQ,EACR,GAA4B,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,CACxD,CAAC;YACF,IAAI,YAAY,CAAC,EAAE,EAAE,CAAC;gBACpB,MAAM,CAAC,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC;gBACnC,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,YAAY,CAAC,KAAK,IAAI,CAAC,uBAAuB,CAAC,CAAC;YAC1F,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC/B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC,OAAO,IAAI,6BAA6B,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC5B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;IACtD,CAAC;SAAM,CAAC;QACN,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,UAAU,GAAuC,IAAI,CAAC;QAC1D,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,wBAAwB,IAAI,IAAI,EAAE,CAAC;YACrC,MAAM,OAAO,GAAkB,MAAM,YAAY,CAAC,YAAY,EAAE,CAAC;YACjE,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,QAAQ,GAAW,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC5D,UAAU,GAAG,MAAM,sBAAsB,CAAC,QAAQ,CAAC,CAAC;gBACpD,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QACD,MAAM,UAAU,GAAmB,MAAM,qBAAqB,CAC5D,MAAM,EACN,oCAAoC,EACpC,WAAW,EACX,QAAQ,EACR,KAAK,IAA6B,EAAE;YAClC,IAAI,CAAC;gBACH,qBAAqB,GAAG,MAAM,iBAAiB,EAAE,CAAC;gBAClD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,CAAC;YACnE,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,IAAI,aAAa,EAAE,CAAC,aAAa,EAAE,CAAC,YAAY;oBAAE,aAAa,EAAE,CAAC,WAAW,EAAE,CAAC;gBAChF,MAAM,OAAO,GAAW,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC/E,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;YAChC,CAAC;QACH,CAAC,CACF,CAAC;QACF,IAAI,UAAU,CAAC,EAAE,EAAE,CAAC;YAClB,MAAM,WAAW,GAAW,UAAU,EAAE,QAAQ;gBAC9C,CAAC,CAAC,YAAY,UAAU,CAAC,KAAK,oBAAoB,UAAU,CAAC,KAAK,IAAI,CAAC,+CAA+C;gBACtH,CAAC,CAAC,WAAW,UAAU,CAAC,KAAK,IAAI,CAAC,+CAA+C,CAAC;YACpF,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YACzC,UAAU,CAAC,SAAS,CAAC,GAAS,EAAE;gBAC9B,MAAM,aAAa,GAAkB,UAAU,EAAE,QAAQ;oBACvD,CAAC,CAAC,2BAA2B,CAAC,qBAAqB,CAAC;oBACpD,CAAC,CAAC,mBAAmB,EAAE,CAAC;gBAC1B,IAAI,wBAAwB,EAAE,CAAC;oBAC7B,KAAK,aAAa,CAAC,IAAI,CACrB,GAAS,EAAE;wBACT,MAAM,QAAQ,GAAuB,mBAAmB,EAAE,CAAC;wBAC3D,IAAI,QAAQ,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;4BAClC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,mBAAmB,QAAQ,CAAC,OAAO,IAAI,qCAAqC,EAAE,CAAC,CAAC;4BAClH,OAAO;wBACT,CAAC;wBACD,MAAM,QAAQ,GAAuB,aAAa,EAAE,CAAC,kBAAkB,EAAE,CAAC;wBAC1E,MAAM,KAAK,GAAW,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;wBAC5E,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,QAAQ,CAAC,MAAM,IAAI,KAAK,iBAAiB,CAAC,CAAC;oBACxF,CAAC,EACD,CAAC,KAAc,EAAQ,EAAE;wBACvB,MAAM,OAAO,GAAW,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAC/E,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,mBAAmB,OAAO,EAAE,CAAC,CAAC;oBAClE,CAAC,CACF,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,KAAK,aAAa,CAAC,KAAK,CAAC,GAAS,EAAE,GAAyD,CAAC,CAAC,CAAC;gBAClG,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,4BAA4B,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC5B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACrD,CAAC;SAAM,CAAC;QACN,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAmB,EACnB,IAAwB,EACxB,KAAyB,EACzB,WAAoB,EACpB,QAA+B,EAC/B,WAAiC,0BAA0B;IAE3D,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,MAAM,EAAE,KAAK,IAAmB,EAAE;YACpD,MAAM,KAAK,GAAuB,MAAM,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YACpG,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACtC,OAAO;YACT,CAAC;YAED,IAAI,MAAM,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,MAAM,EAAE,CAAC;gBAC9C,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,6CAA6C,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACzG,MAAM,IAAI,wBAAwB,EAAE,CAAC;YACvC,CAAC;YACD,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,qCAAqC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnG,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,KAAK,YAAY,wBAAwB,EAAE,CAAC;YAC9C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -27,9 +27,9 @@ export interface BootPanels {
27
27
  chris: BootInfoItem[];
28
28
  }
29
29
  /**
30
- * Status of a boot step: ok, skip, or fail.
30
+ * Status of a boot step: ok, retry, skip, or fail.
31
31
  */
32
- export type BootStatus = 'ok' | 'skip' | 'fail';
32
+ export type BootStatus = 'ok' | 'retry' | 'skip' | 'fail';
33
33
  /**
34
34
  * Creates a boot logger that renders a titled status box.
35
35
  *
@@ -28,6 +28,7 @@ export function bootLogger_create(title, useAscii) {
28
28
  const statusTag = (status) => {
29
29
  switch (status) {
30
30
  case 'ok': return chalk.green('[ OK ]');
31
+ case 'retry': return chalk.yellow('[RETRY]');
31
32
  case 'skip': return chalk.yellow('[SKIP]');
32
33
  case 'fail': return chalk.red('[FAIL]');
33
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bootsequence.js","sourceRoot":"","sources":["../../src/lib/bootsequence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootsequence.js","sourceRoot":"","sources":["../../src/lib/bootsequence.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,8 @@ export declare function berth_probeLive(berth: Berth): Promise<boolean>;
14
14
  *
15
15
  * @param identity - The normalised `<user>@<url>` to attach to, or undefined to
16
16
  * resolve the sole/most-suitable berth.
17
+ * @param commandToExecute - An optional one-shot command. When present, execute
18
+ * it and detach without creating an interactive REPL.
17
19
  * @returns A promise that resolves when the client session ends.
18
20
  */
19
- export declare function remote_run(identity?: string): Promise<void>;
21
+ export declare function remote_run(identity?: string, commandToExecute?: string): Promise<void>;
@@ -21,7 +21,10 @@ import chalk from 'chalk';
21
21
  import { REPL } from '../core/repl.js';
22
22
  import { RemoteEngine } from './remoteEngine.js';
23
23
  import { LocalBerthResolver } from '@fnndsc/calypso';
24
- import { surface_get } from '@fnndsc/brasa';
24
+ import { sink_set, StdoutSink, surface_get, surface_set, welcomeLine_build, welcomeLine_compose, fortune_random } from '@fnndsc/brasa';
25
+ import { cliSurface_create } from '../core/cliSurface.js';
26
+ import { TerminalProgressRenderer } from '../core/progressRenderer.js';
27
+ import { surfaceLine_execute } from '../core/surfaceDispatch.js';
25
28
  /**
26
29
  * Probes whether a berth's daemon is reachable, by performing the real attach
27
30
  * handshake and immediately closing. A rejected connect means the daemon is
@@ -106,23 +109,28 @@ async function berth_select(identity) {
106
109
  *
107
110
  * @param identity - The normalised `<user>@<url>` to attach to, or undefined to
108
111
  * resolve the sole/most-suitable berth.
112
+ * @param commandToExecute - An optional one-shot command. When present, execute
113
+ * it and detach without creating an interactive REPL.
109
114
  * @returns A promise that resolves when the client session ends.
110
115
  */
111
- export async function remote_run(identity) {
116
+ export async function remote_run(identity, commandToExecute) {
112
117
  const berth = await berth_select(identity);
113
118
  if (!berth) {
114
119
  process.exit(1);
115
120
  }
116
121
  let engine;
122
+ let intentionalClose = false;
117
123
  try {
118
124
  engine = await RemoteEngine.connect({
119
125
  url: berth.url,
120
126
  token: berth.token,
121
- onSession: (surface, envelope) => {
122
- if (envelope.rendered.length > 0) {
123
- process.stdout.write(`\n${chalk.gray(`[surface ${surface.slice(0, 6)}]`)}\n${envelope.rendered}`);
127
+ onSession: commandToExecute === undefined
128
+ ? (surface, envelope) => {
129
+ if (envelope.rendered.length > 0) {
130
+ process.stdout.write(`\n${chalk.gray(`[surface ${surface.slice(0, 6)}]`)}\n${envelope.rendered}`);
131
+ }
124
132
  }
125
- },
133
+ : undefined,
126
134
  onPrompt: (message, hidden) =>
127
135
  // The REPL has installed the CLI surface (readline-backed) by the time
128
136
  // a prompt can arrive, so this reads from the local terminal.
@@ -131,10 +139,16 @@ export async function remote_run(identity) {
131
139
  // Pipeline segments run on this machine, through the client's own
132
140
  // tools — never on the daemon host.
133
141
  surface_get().pipeSegment(command, input),
142
+ onShell: (command) =>
143
+ // Host-shell escapes belong to the attached surface, so `!cmd` runs
144
+ // on this client machine and never on the daemon host.
145
+ surface_get().shellCommand(command),
134
146
  onEdit: (content, extension) =>
135
147
  // Editing happens in this machine's editor.
136
148
  surface_get().localEdit({ content, extension }),
137
149
  onClose: () => {
150
+ if (intentionalClose)
151
+ return;
138
152
  console.log(chalk.yellow('\n[!] Daemon disconnected.'));
139
153
  process.exit(0);
140
154
  },
@@ -146,8 +160,48 @@ export async function remote_run(identity) {
146
160
  process.exit(1);
147
161
  return;
148
162
  }
163
+ if (commandToExecute !== undefined) {
164
+ sink_set(new StdoutSink(new TerminalProgressRenderer()));
165
+ surface_set(cliSurface_create());
166
+ try {
167
+ const envelopes = await surfaceLine_execute(engine, commandToExecute);
168
+ process.exitCode = envelopes.some((envelope) => envelope.status === 'error') ? 1 : 0;
169
+ }
170
+ catch (error) {
171
+ const message = error instanceof Error ? error.message : String(error);
172
+ process.exitCode = 1;
173
+ console.error(chalk.red(`Command error: ${message}`));
174
+ }
175
+ finally {
176
+ intentionalClose = true;
177
+ engine.close();
178
+ }
179
+ return;
180
+ }
181
+ // Greet with the daemon's own reported versions and build hash; a daemon
182
+ // that predates the handshake field falls back to the local install's.
183
+ const stack = engine.daemonStack();
184
+ const welcome = stack !== undefined
185
+ ? welcomeLine_compose('chell', stack.chell, stack.build)
186
+ : welcomeLine_build('chell');
187
+ console.log(chalk.bold.cyan(welcome));
149
188
  console.log(chalk.green(`[+] Attached to CALYPSO daemon ${berth.identity} at ${berth.url}`));
189
+ if (stack !== undefined) {
190
+ // Banner the daemon's whole stack, one aligned line per layer; older
191
+ // daemons report only chell and calypso.
192
+ const layers = [
193
+ ['chell', stack.chell], ['brasa', stack.brasa], ['chili', stack.chili],
194
+ ['salsa', stack.salsa], ['cumin', stack.cumin], ['calypso', stack.calypso],
195
+ ];
196
+ const present = layers.filter((entry) => entry[1] !== undefined);
197
+ const pkgWidth = Math.max(...present.map(([pkg]) => pkg.length));
198
+ for (const [pkg, version] of present) {
199
+ console.log(chalk.gray(` ${pkg.padEnd(pkgWidth)} ${version}`));
200
+ }
201
+ }
150
202
  console.log(chalk.gray(" Type 'exit' to detach.\n"));
203
+ console.log(chalk.gray(fortune_random(4)));
204
+ console.log('');
151
205
  // The daemon pushes the themed prompt string; the REPL renders whatever the
152
206
  // daemon last sent, falling back until the first push arrives.
153
207
  const repl = new REPL(engine, {