@fnndsc/chell 5.2.3 → 5.3.1
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.
- package/README.md +102 -15
- package/dist/config/settings.js +14 -4
- package/dist/config/settings.js.map +1 -1
- package/dist/core/boot.js +12 -3
- package/dist/core/boot.js.map +1 -1
- package/dist/core/cliSurface.js +30 -6
- package/dist/core/cliSurface.js.map +1 -1
- package/dist/core/progressRenderer.d.ts +13 -0
- package/dist/core/progressRenderer.js +61 -2
- package/dist/core/progressRenderer.js.map +1 -1
- package/dist/core/prompt/index.d.ts +3 -5
- package/dist/core/prompt/index.js.map +1 -1
- package/dist/core/prompt/palette.d.ts +41 -0
- package/dist/core/prompt/palette.js +35 -0
- package/dist/core/prompt/palette.js.map +1 -0
- package/dist/core/prompt/theme_default.js +27 -10
- package/dist/core/prompt/theme_default.js.map +1 -1
- package/dist/core/prompt/theme_p10k.d.ts +3 -3
- package/dist/core/prompt/theme_p10k.js +73 -36
- package/dist/core/prompt/theme_p10k.js.map +1 -1
- package/dist/core/prompt/utils.d.ts +11 -0
- package/dist/core/prompt/utils.js +18 -0
- package/dist/core/prompt/utils.js.map +1 -1
- package/dist/core/repl.js +11 -2
- package/dist/core/repl.js.map +1 -1
- package/dist/core/startupWarmup.d.ts +5 -1
- package/dist/core/startupWarmup.js +129 -19
- package/dist/core/startupWarmup.js.map +1 -1
- package/dist/lib/bootsequence.d.ts +2 -2
- package/dist/lib/bootsequence.js +1 -0
- package/dist/lib/bootsequence.js.map +1 -1
- package/dist/remote/client.js +27 -1
- package/dist/remote/client.js.map +1 -1
- package/dist/remote/remoteEngine.d.ts +41 -8
- package/dist/remote/remoteEngine.js +119 -41
- package/dist/remote/remoteEngine.js.map +1 -1
- package/package.json +12 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progressRenderer.js","sourceRoot":"","sources":["../../src/core/progressRenderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,WAAW,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"progressRenderer.js","sourceRoot":"","sources":["../../src/core/progressRenderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @module
|
|
8
8
|
*/
|
|
9
|
+
import type { ProcPromptProgress } from '@fnndsc/cumin';
|
|
9
10
|
/**
|
|
10
11
|
* Which optional p10k segments are enabled.
|
|
11
12
|
*
|
|
@@ -43,11 +44,8 @@ export interface PromptContext {
|
|
|
43
44
|
lastExitCode: number;
|
|
44
45
|
lastCommandDurationMs: number;
|
|
45
46
|
p10kSegments: P10kSegmentConfig;
|
|
46
|
-
/** Present while /proc
|
|
47
|
-
procWarmup?:
|
|
48
|
-
loaded: number;
|
|
49
|
-
total?: number;
|
|
50
|
-
};
|
|
47
|
+
/** Present while /proc indexing is active, reconciling, or has failed. */
|
|
48
|
+
procWarmup?: ProcPromptProgress;
|
|
51
49
|
}
|
|
52
50
|
/**
|
|
53
51
|
* Contract every prompt theme must satisfy.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/prompt/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/prompt/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAiE5C,4EAA4E;AAC5E,MAAM,CAAC,MAAM,WAAW,GAAyB,CAAC,SAAS,EAAE,MAAM,CAAU,CAAC;AAE9E,2DAA2D;AAC3D,MAAM,CAAC,MAAM,sBAAsB,GACjC,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAU,CAAC;AAElD,MAAM,QAAQ,GAAmC;IAC/C,OAAO,EAAE,IAAI,YAAY,EAAE;IAC3B,IAAI,EAAE,IAAI,SAAS,EAAE;CACtB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,KAAgB,EAAE,GAAkB;IAChE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Shared high-contrast prompt colour palette.
|
|
3
|
+
*
|
|
4
|
+
* Provides vivid Powerlevel10k-inspired truecolor accents for both the compact
|
|
5
|
+
* default prompt and the background-filled powerline theme.
|
|
6
|
+
*
|
|
7
|
+
* Prompt themes consume these values through Chalk, which preserves truecolor
|
|
8
|
+
* where supported and performs any terminal-level colour downgrade.
|
|
9
|
+
*
|
|
10
|
+
* @module
|
|
11
|
+
*/
|
|
12
|
+
/** CSS-style hexadecimal colour accepted by Chalk's `hex` methods. */
|
|
13
|
+
export type HexColor = `#${string}`;
|
|
14
|
+
/** Foreground/background colours for one powerline segment. */
|
|
15
|
+
export interface PromptColorPair {
|
|
16
|
+
bg: HexColor;
|
|
17
|
+
fg: HexColor;
|
|
18
|
+
}
|
|
19
|
+
/** Complete colour vocabulary shared by ChELL prompt themes. */
|
|
20
|
+
export interface PromptPalette {
|
|
21
|
+
HOST: PromptColorPair;
|
|
22
|
+
PACS: PromptColorPair;
|
|
23
|
+
USER: PromptColorPair;
|
|
24
|
+
DIR: PromptColorPair;
|
|
25
|
+
PHYSICAL: PromptColorPair;
|
|
26
|
+
TIME: PromptColorPair;
|
|
27
|
+
DURATION: PromptColorPair;
|
|
28
|
+
STATUS: PromptColorPair;
|
|
29
|
+
SUCCESS: HexColor;
|
|
30
|
+
ERROR: HexColor;
|
|
31
|
+
WARMUP: HexColor;
|
|
32
|
+
}
|
|
33
|
+
/** Vivid truecolor palette modelled after Powerlevel10k's rainbow style. */
|
|
34
|
+
export declare const PROMPT_PALETTE: PromptPalette;
|
|
35
|
+
/**
|
|
36
|
+
* Selects the prompt accent for the previous command's exit status.
|
|
37
|
+
*
|
|
38
|
+
* @param exitCode - Previous command's process exit code.
|
|
39
|
+
* @returns Success colour for zero; error colour otherwise.
|
|
40
|
+
*/
|
|
41
|
+
export declare function statusColor_get(exitCode: number): HexColor;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Shared high-contrast prompt colour palette.
|
|
3
|
+
*
|
|
4
|
+
* Provides vivid Powerlevel10k-inspired truecolor accents for both the compact
|
|
5
|
+
* default prompt and the background-filled powerline theme.
|
|
6
|
+
*
|
|
7
|
+
* Prompt themes consume these values through Chalk, which preserves truecolor
|
|
8
|
+
* where supported and performs any terminal-level colour downgrade.
|
|
9
|
+
*
|
|
10
|
+
* @module
|
|
11
|
+
*/
|
|
12
|
+
/** Vivid truecolor palette modelled after Powerlevel10k's rainbow style. */
|
|
13
|
+
export const PROMPT_PALETTE = {
|
|
14
|
+
HOST: { bg: '#00AFFF', fg: '#001018' },
|
|
15
|
+
PACS: { bg: '#875FFF', fg: '#FFFFFF' },
|
|
16
|
+
USER: { bg: '#00D787', fg: '#00140C' },
|
|
17
|
+
DIR: { bg: '#FFD75F', fg: '#201800' },
|
|
18
|
+
PHYSICAL: { bg: '#FF5F5F', fg: '#1B0000' },
|
|
19
|
+
TIME: { bg: '#5F5F87', fg: '#FFFFFF' },
|
|
20
|
+
DURATION: { bg: '#FF8700', fg: '#201000' },
|
|
21
|
+
STATUS: { bg: '#FF005F', fg: '#FFFFFF' },
|
|
22
|
+
SUCCESS: '#00D787',
|
|
23
|
+
ERROR: '#FF005F',
|
|
24
|
+
WARMUP: '#AF87FF',
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Selects the prompt accent for the previous command's exit status.
|
|
28
|
+
*
|
|
29
|
+
* @param exitCode - Previous command's process exit code.
|
|
30
|
+
* @returns Success colour for zero; error colour otherwise.
|
|
31
|
+
*/
|
|
32
|
+
export function statusColor_get(exitCode) {
|
|
33
|
+
return exitCode === 0 ? PROMPT_PALETTE.SUCCESS : PROMPT_PALETTE.ERROR;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=palette.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"palette.js","sourceRoot":"","sources":["../../../src/core/prompt/palette.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA0BH,4EAA4E;AAC5E,MAAM,CAAC,MAAM,cAAc,GAAkB;IAC3C,IAAI,EAAM,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE;IAC1C,IAAI,EAAM,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE;IAC1C,IAAI,EAAM,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE;IAC1C,GAAG,EAAO,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE;IAC1C,QAAQ,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE;IAC1C,IAAI,EAAM,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE;IAC1C,QAAQ,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE;IAC1C,MAAM,EAAI,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE;IAC1C,OAAO,EAAG,SAAS;IACnB,KAAK,EAAK,SAAS;IACnB,MAAM,EAAI,SAAS;CACpB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,OAAO,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC;AACxE,CAAC"}
|
|
@@ -11,16 +11,26 @@
|
|
|
11
11
|
* @module
|
|
12
12
|
*/
|
|
13
13
|
import chalk from 'chalk';
|
|
14
|
-
import {
|
|
14
|
+
import { procPromptState_get } from '@fnndsc/cumin/proc-prompt';
|
|
15
|
+
import { PROMPT_PALETTE, statusColor_get } from './palette.js';
|
|
16
|
+
import { ansi_visibleLength, homePath_abbreviate, path_truncate, procProgress_format, } from './utils.js';
|
|
15
17
|
/** Fraction of terminal width allowed before path truncation kicks in. */
|
|
16
18
|
const FILL_RATIO = 0.8;
|
|
19
|
+
/** Human-readable prompt label for each process-index state. */
|
|
20
|
+
const PROC_STATE_LABELS = {
|
|
21
|
+
cold: 'cold',
|
|
22
|
+
cached: 'cached, refreshing',
|
|
23
|
+
failed: 'failed',
|
|
24
|
+
};
|
|
17
25
|
/**
|
|
18
26
|
* Default single-line prompt theme with smart path truncation.
|
|
19
27
|
*/
|
|
20
28
|
export class ThemeDefault {
|
|
21
29
|
render(ctx) {
|
|
22
30
|
const limit = Math.floor(ctx.terminalWidth * FILL_RATIO);
|
|
23
|
-
const modePrefix = ctx.physicalMode
|
|
31
|
+
const modePrefix = ctx.physicalMode
|
|
32
|
+
? chalk.hex(PROMPT_PALETTE.PHYSICAL.bg)('[PHYSICAL] ')
|
|
33
|
+
: '';
|
|
24
34
|
// Compute fixed visible length: modePrefix + user + '@' + uri + ':' + '$ '
|
|
25
35
|
const fixedVisible = ansi_visibleLength(modePrefix) +
|
|
26
36
|
ctx.user.length +
|
|
@@ -29,17 +39,24 @@ export class ThemeDefault {
|
|
|
29
39
|
1 + // ':'
|
|
30
40
|
2; // '$ '
|
|
31
41
|
const pathBudget = limit - fixedVisible;
|
|
32
|
-
const
|
|
33
|
-
const
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
|
|
42
|
+
const displayPath = homePath_abbreviate(ctx.cwd, ctx.user);
|
|
43
|
+
const path = path_truncate(displayPath, pathBudget);
|
|
44
|
+
const glyphColor = statusColor_get(ctx.lastExitCode);
|
|
45
|
+
const glyph = chalk.hex(glyphColor)('$ ');
|
|
46
|
+
let warmup = '';
|
|
47
|
+
if (ctx.procWarmup) {
|
|
48
|
+
const state = procPromptState_get(ctx.procWarmup);
|
|
49
|
+
const color = state === 'failed'
|
|
50
|
+
? PROMPT_PALETTE.ERROR
|
|
51
|
+
: PROMPT_PALETTE.WARMUP;
|
|
52
|
+
warmup = chalk.hex(color)(` [proc ${PROC_STATE_LABELS[state]}: ${procProgress_format(ctx.procWarmup.loaded, ctx.procWarmup.total ?? 0)}]`);
|
|
53
|
+
}
|
|
37
54
|
return (modePrefix +
|
|
38
|
-
chalk.
|
|
55
|
+
chalk.hex(PROMPT_PALETTE.USER.bg)(ctx.user) +
|
|
39
56
|
'@' +
|
|
40
|
-
chalk.
|
|
57
|
+
chalk.hex(PROMPT_PALETTE.HOST.bg)(ctx.uri) +
|
|
41
58
|
':' +
|
|
42
|
-
chalk.
|
|
59
|
+
chalk.hex(PROMPT_PALETTE.DIR.bg)(path) +
|
|
43
60
|
warmup +
|
|
44
61
|
glyph);
|
|
45
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme_default.js","sourceRoot":"","sources":["../../../src/core/prompt/theme_default.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"theme_default.js","sourceRoot":"","sources":["../../../src/core/prompt/theme_default.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAwB,MAAM,2BAA2B,CAAC;AAEtF,OAAO,EAAE,cAAc,EAAE,eAAe,EAAiB,MAAM,cAAc,CAAC;AAC9E,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,0EAA0E;AAC1E,MAAM,UAAU,GAAW,GAAG,CAAC;AAE/B,gEAAgE;AAChE,MAAM,iBAAiB,GAAoC;IACzD,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,oBAAoB;IAC5B,MAAM,EAAE,QAAQ;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,YAAY;IACvB,MAAM,CAAC,GAAkB;QACvB,MAAM,KAAK,GAAW,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,GAAG,UAAU,CAAC,CAAC;QACjE,MAAM,UAAU,GAAW,GAAG,CAAC,YAAY;YACzC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC;YACtD,CAAC,CAAC,EAAE,CAAC;QAEP,2EAA2E;QAC3E,MAAM,YAAY,GAChB,kBAAkB,CAAC,UAAU,CAAC;YAC9B,GAAG,CAAC,IAAI,CAAC,MAAM;YACf,CAAC,GAAG,MAAM;YACV,GAAG,CAAC,GAAG,CAAC,MAAM;YACd,CAAC,GAAG,MAAM;YACV,CAAC,CAAC,CAAE,OAAO;QAEb,MAAM,UAAU,GAAW,KAAK,GAAG,YAAY,CAAC;QAChD,MAAM,WAAW,GAAW,mBAAmB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACnE,MAAM,IAAI,GAAW,aAAa,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAE5D,MAAM,UAAU,GAAa,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAW,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,MAAM,GAAW,EAAE,CAAC;QACxB,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACnB,MAAM,KAAK,GAAoB,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACnE,MAAM,KAAK,GAAa,KAAK,KAAK,QAAQ;gBACxC,CAAC,CAAC,cAAc,CAAC,KAAK;gBACtB,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC;YAC1B,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CACvB,UAAU,iBAAiB,CAAC,KAAK,CAAC,KAAK,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAChH,CAAC;QACJ,CAAC;QACD,OAAO,CACL,UAAU;YACV,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;YAC3C,GAAG;YACH,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;YAC1C,GAAG;YACH,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC;YACtC,MAAM;YACN,KAAK,CACN,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Two-line prompt:
|
|
5
5
|
* Line 1 — coloured segment bar with background fills and powerline separators
|
|
6
|
-
*
|
|
6
|
+
* [ pacs ❯] host ❯ user ❯ path ❯ [proc ❯] [ HH:MM ❯] [ Xs ❯] [ N ❯]
|
|
7
7
|
* Line 2 — input line: ❯
|
|
8
8
|
*
|
|
9
|
-
*
|
|
9
|
+
* Font Awesome icons and the powerline separator require a Nerd Font.
|
|
10
10
|
* readline uses only the last line's visible width for cursor and
|
|
11
11
|
* tab-completion alignment, so line 1 never interferes with line editing.
|
|
12
12
|
*
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
import type { PromptContext, PromptTheme } from './index.js';
|
|
16
16
|
/**
|
|
17
17
|
* Powerlevel10k-inspired two-line prompt theme with background-coloured segments.
|
|
18
|
-
* Segment order:
|
|
18
|
+
* Segment order: [pacs] host user dir [proc] [physical] [time] [duration] [status]
|
|
19
19
|
*/
|
|
20
20
|
export declare class ThemeP10k implements PromptTheme {
|
|
21
21
|
render(ctx: PromptContext): string;
|
|
@@ -3,38 +3,57 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Two-line prompt:
|
|
5
5
|
* Line 1 — coloured segment bar with background fills and powerline separators
|
|
6
|
-
*
|
|
6
|
+
* [ pacs ❯] host ❯ user ❯ path ❯ [proc ❯] [ HH:MM ❯] [ Xs ❯] [ N ❯]
|
|
7
7
|
* Line 2 — input line: ❯
|
|
8
8
|
*
|
|
9
|
-
*
|
|
9
|
+
* Font Awesome icons and the powerline separator require a Nerd Font.
|
|
10
10
|
* readline uses only the last line's visible width for cursor and
|
|
11
11
|
* tab-completion alignment, so line 1 never interferes with line editing.
|
|
12
12
|
*
|
|
13
13
|
* @module
|
|
14
14
|
*/
|
|
15
15
|
import chalk from 'chalk';
|
|
16
|
-
import {
|
|
16
|
+
import { procPromptState_get } from '@fnndsc/cumin/proc-prompt';
|
|
17
|
+
import { PROMPT_PALETTE, statusColor_get, } from './palette.js';
|
|
18
|
+
import { ansi_visibleLength, homePath_abbreviate, path_truncate, procProgress_format, } from './utils.js';
|
|
17
19
|
/** Powerline right-arrow separator (Nerd Font U+E0B0). */
|
|
18
20
|
const POWERLINE = '';
|
|
21
|
+
/** Font Awesome cube icon (U+F1B2). */
|
|
22
|
+
const ICON_CUBE = '\uf1b2';
|
|
23
|
+
/** Font Awesome database icon (U+F1C0). */
|
|
24
|
+
const ICON_DATABASE = '\uf1c0';
|
|
25
|
+
/** Font Awesome microscope icon (U+F610). */
|
|
26
|
+
const ICON_MICROSCOPE = '\uf610';
|
|
27
|
+
/** Font Awesome user icon (U+F007). */
|
|
28
|
+
const ICON_USER = '\uf007';
|
|
29
|
+
/** Font Awesome open-folder icon (U+F07C). */
|
|
30
|
+
const ICON_FOLDER = '\uf07c';
|
|
31
|
+
/** Font Awesome clock icon (U+F017). */
|
|
32
|
+
const ICON_CLOCK = '\uf017';
|
|
33
|
+
/** Font Awesome bolt icon (U+F0E7). */
|
|
34
|
+
const ICON_BOLT = '\uf0e7';
|
|
35
|
+
/** Font Awesome circled-x icon (U+F057). */
|
|
36
|
+
const ICON_ERROR = '\uf057';
|
|
37
|
+
/** Font Awesome snowflake icon (U+F2DC). */
|
|
38
|
+
const ICON_SNOWFLAKE = '\uf2dc';
|
|
39
|
+
/** Font Awesome refresh icon (U+F021). */
|
|
40
|
+
const ICON_REFRESH = '\uf021';
|
|
41
|
+
/** Font Awesome warning icon (U+F071). */
|
|
42
|
+
const ICON_WARNING = '\uf071';
|
|
43
|
+
/** Theme-specific presentation for each process-index state. */
|
|
44
|
+
const PROC_STATE_SEGMENTS = {
|
|
45
|
+
cold: { icon: ICON_SNOWFLAKE, label: 'proc cold', color: PROMPT_PALETTE.DURATION },
|
|
46
|
+
cached: { icon: ICON_REFRESH, label: 'proc cached, refreshing', color: PROMPT_PALETTE.TIME },
|
|
47
|
+
failed: { icon: ICON_WARNING, label: 'proc failed', color: PROMPT_PALETTE.STATUS },
|
|
48
|
+
};
|
|
19
49
|
/** Fraction of terminal width the segment bar should not exceed. */
|
|
20
50
|
const FILL_RATIO = 0.95;
|
|
21
51
|
/** Minimum command duration (ms) before the duration segment appears. */
|
|
22
52
|
const DURATION_THRESHOLD_MS = 3_000;
|
|
23
|
-
/** Segment colour palette — bg and fg hex pairs. */
|
|
24
|
-
const C = {
|
|
25
|
-
HOST: { bg: '#005fd7', fg: '#ffffff' },
|
|
26
|
-
PACS: { bg: '#5f5faf', fg: '#ffffff' },
|
|
27
|
-
USER: { bg: '#5f875f', fg: '#ffffff' },
|
|
28
|
-
DIR: { bg: '#d7af00', fg: '#000000' },
|
|
29
|
-
PHYSICAL: { bg: '#af0000', fg: '#ffffff' },
|
|
30
|
-
TIME: { bg: '#3a3a3a', fg: '#bcbcbc' },
|
|
31
|
-
DURATION: { bg: '#875f00', fg: '#ffffff' },
|
|
32
|
-
STATUS: { bg: '#d70000', fg: '#ffffff' },
|
|
33
|
-
};
|
|
34
53
|
/**
|
|
35
54
|
* Renders one segment: padded text on its background colour.
|
|
36
55
|
*
|
|
37
|
-
* @param text - Visible text content (may include
|
|
56
|
+
* @param text - Visible text content (may include a Font Awesome glyph).
|
|
38
57
|
* @param c - Background/foreground hex pair.
|
|
39
58
|
* @returns ANSI-coded segment string.
|
|
40
59
|
*/
|
|
@@ -101,50 +120,67 @@ function time_now() {
|
|
|
101
120
|
}
|
|
102
121
|
/**
|
|
103
122
|
* Powerlevel10k-inspired two-line prompt theme with background-coloured segments.
|
|
104
|
-
* Segment order:
|
|
123
|
+
* Segment order: [pacs] host user dir [proc] [physical] [time] [duration] [status]
|
|
105
124
|
*/
|
|
106
125
|
export class ThemeP10k {
|
|
107
126
|
render(ctx) {
|
|
108
127
|
const host = uri_abbreviate(ctx.uri);
|
|
109
|
-
//
|
|
110
|
-
const fixed = [
|
|
111
|
-
{ text: `🌐 ${host}`, color: C.HOST },
|
|
112
|
-
];
|
|
128
|
+
// Core segments: [pacs] → host → user → dir → [proc]
|
|
129
|
+
const fixed = [];
|
|
113
130
|
if (ctx.pacsserver && ctx.p10kSegments.pacs) {
|
|
114
|
-
fixed.push({ text:
|
|
131
|
+
fixed.push({ text: `${ICON_DATABASE} ${ctx.pacsserver}`, color: PROMPT_PALETTE.PACS });
|
|
115
132
|
}
|
|
133
|
+
fixed.push({ text: `${ICON_CUBE} ${host}`, color: PROMPT_PALETTE.HOST });
|
|
134
|
+
fixed.push({ text: `${ICON_USER} ${ctx.user}`, color: PROMPT_PALETTE.USER });
|
|
135
|
+
// Optional auxiliary state and command telemetry follow the core sequence.
|
|
136
|
+
const trailing = [];
|
|
116
137
|
if (ctx.physicalMode) {
|
|
117
|
-
|
|
138
|
+
trailing.push({ text: `${ICON_MICROSCOPE} PHYSICAL`, color: PROMPT_PALETTE.PHYSICAL });
|
|
118
139
|
}
|
|
119
|
-
fixed.push({ text: `👤 ${ctx.user}`, color: C.USER });
|
|
120
|
-
// Optional trailing segments (after dir)
|
|
121
|
-
const trailing = [];
|
|
122
140
|
if (ctx.p10kSegments.time) {
|
|
123
|
-
trailing.push({ text:
|
|
141
|
+
trailing.push({ text: `${ICON_CLOCK} ${time_now()}`, color: PROMPT_PALETTE.TIME });
|
|
124
142
|
}
|
|
125
143
|
if (ctx.p10kSegments.duration && ctx.lastCommandDurationMs >= DURATION_THRESHOLD_MS) {
|
|
126
|
-
trailing.push({
|
|
144
|
+
trailing.push({
|
|
145
|
+
text: `${ICON_BOLT} ${duration_format(ctx.lastCommandDurationMs)}`,
|
|
146
|
+
color: PROMPT_PALETTE.DURATION,
|
|
147
|
+
});
|
|
127
148
|
}
|
|
128
149
|
if (ctx.p10kSegments.status && ctx.lastExitCode !== 0) {
|
|
129
|
-
trailing.push({ text:
|
|
150
|
+
trailing.push({ text: `${ICON_ERROR} ${ctx.lastExitCode}`, color: PROMPT_PALETTE.STATUS });
|
|
130
151
|
}
|
|
152
|
+
let procSegment;
|
|
131
153
|
if (ctx.procWarmup) {
|
|
132
|
-
|
|
154
|
+
const progress = procProgress_format(ctx.procWarmup.loaded, ctx.procWarmup.total ?? 0);
|
|
155
|
+
const state = procPromptState_get(ctx.procWarmup);
|
|
156
|
+
const presentation = PROC_STATE_SEGMENTS[state];
|
|
157
|
+
procSegment = {
|
|
158
|
+
text: `${presentation.icon} ${presentation.label}: ${progress}`,
|
|
159
|
+
color: presentation.color,
|
|
160
|
+
};
|
|
133
161
|
}
|
|
162
|
+
const rightSegments = procSegment
|
|
163
|
+
? [procSegment, ...trailing]
|
|
164
|
+
: trailing;
|
|
134
165
|
// Compute path budget: terminal limit minus fixed + trailing segment overhead + dir overhead
|
|
135
166
|
const limit = Math.floor(ctx.terminalWidth * FILL_RATIO);
|
|
136
|
-
const fixedRendered = fixed
|
|
137
|
-
|
|
167
|
+
const fixedRendered = fixed
|
|
168
|
+
.map((segment) => segment_render(segment.text, segment.color))
|
|
169
|
+
.join('');
|
|
170
|
+
const trailingRendered = rightSegments
|
|
171
|
+
.map((segment) => segment_render(segment.text, segment.color))
|
|
172
|
+
.join('');
|
|
138
173
|
const fixedOverhead = ansi_visibleLength(fixedRendered) + fixed.length;
|
|
139
|
-
const trailingOverhead = ansi_visibleLength(trailingRendered) +
|
|
174
|
+
const trailingOverhead = ansi_visibleLength(trailingRendered) + rightSegments.length;
|
|
140
175
|
// dir: +2 padding, +1 sep before, +1 final sep (or sep to first trailing)
|
|
141
176
|
const dirOverhead = 4;
|
|
142
177
|
const pathBudget = limit - fixedOverhead - trailingOverhead - dirOverhead;
|
|
143
|
-
const
|
|
178
|
+
const displayPath = homePath_abbreviate(ctx.cwd, ctx.user);
|
|
179
|
+
const dirPath = path_truncate(displayPath, Math.max(pathBudget, 4));
|
|
144
180
|
const defs = [
|
|
145
181
|
...fixed,
|
|
146
|
-
{ text:
|
|
147
|
-
...
|
|
182
|
+
{ text: `${ICON_FOLDER} ${dirPath}`, color: PROMPT_PALETTE.DIR },
|
|
183
|
+
...rightSegments,
|
|
148
184
|
];
|
|
149
185
|
let line1 = '';
|
|
150
186
|
for (let i = 0; i < defs.length; i++) {
|
|
@@ -157,7 +193,8 @@ export class ThemeP10k {
|
|
|
157
193
|
line1 += separator_final(def.color);
|
|
158
194
|
}
|
|
159
195
|
}
|
|
160
|
-
const
|
|
196
|
+
const glyphColor = statusColor_get(ctx.lastExitCode);
|
|
197
|
+
const line2 = chalk.hex(glyphColor)('❯') + ' ';
|
|
161
198
|
return `${line1}\n${line2}`;
|
|
162
199
|
}
|
|
163
200
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme_p10k.js","sourceRoot":"","sources":["../../../src/core/prompt/theme_p10k.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"theme_p10k.js","sourceRoot":"","sources":["../../../src/core/prompt/theme_p10k.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,17 @@
|
|
|
9
9
|
* @returns Number of visible columns.
|
|
10
10
|
*/
|
|
11
11
|
export declare function ansi_visibleLength(s: string): number;
|
|
12
|
+
/**
|
|
13
|
+
* Replaces the authenticated user's home-directory prefix with `~`.
|
|
14
|
+
*
|
|
15
|
+
* Other users' home directories and similarly prefixed usernames remain
|
|
16
|
+
* unchanged.
|
|
17
|
+
*
|
|
18
|
+
* @param path - Logical working-directory path.
|
|
19
|
+
* @param user - Authenticated username that owns `/home/<user>`.
|
|
20
|
+
* @returns Home-relative display path, or the original path when outside home.
|
|
21
|
+
*/
|
|
22
|
+
export declare function homePath_abbreviate(path: string, user: string): string;
|
|
12
23
|
/**
|
|
13
24
|
* Truncates a filesystem path to fit within `maxLen` visible columns.
|
|
14
25
|
*
|
|
@@ -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
|
*
|
|
@@ -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;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"}
|
|
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
|
-
//
|
|
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
|
});
|
|
@@ -133,7 +141,8 @@ export class REPL {
|
|
|
133
141
|
const content = await fs.promises.readFile(file, 'utf-8');
|
|
134
142
|
const lines = content.split('\n').filter((l) => l.trim()).reverse();
|
|
135
143
|
const limit = settings.config.historySize;
|
|
136
|
-
|
|
144
|
+
// `history` is a runtime readline property its typings do not declare.
|
|
145
|
+
Reflect.set(this.rl, 'history', lines.slice(0, limit));
|
|
137
146
|
}
|
|
138
147
|
catch (e) {
|
|
139
148
|
// Silently fail if history cannot be loaded
|
package/dist/core/repl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repl.js","sourceRoot":"","sources":["../../src/core/repl.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAmBjE;;GAEG;AACH,MAAM,OAAO,IAAI;IACP,EAAE,CAAqB;IACvB,MAAM,CAAc;IACpB,MAAM,GAAY,IAAI,CAAC;IACvB,qBAAqB,GAAW,CAAC,CAAC;IAClC,YAAY,GAAW,CAAC,CAAC;IACzB,UAAU,CAAsC;IAExD;;;;;OAKG;IACH,YAAY,MAAmB,EAAE,OAAqB;QACpD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,CAAC;QACtC,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;YACjC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,CAAC,IAAY,EAAE,QAAiE,EAAQ,EAAE;gBACnG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;qBAC5B,IAAI,CAAC,CAAC,MAAwB,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"repl.js","sourceRoot":"","sources":["../../src/core/repl.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
*
|
|
@@ -50,4 +54,4 @@ export declare function startupWarmup_run(flags: StartupWarmupFlags, user: strin
|
|
|
50
54
|
* @param interactive - Whether progress may use an interactive spinner.
|
|
51
55
|
* @param reporter - Daemon boot status logger.
|
|
52
56
|
*/
|
|
53
|
-
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>;
|