@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
@@ -19,8 +19,13 @@ export interface ProgressBarFactory {
19
19
  preset: unknown;
20
20
  }
21
21
  export interface ProgressRendererOptions {
22
+ /** Counted progress bars and non-interactive terminal summaries. */
22
23
  stream?: NodeJS.WriteStream;
24
+ /** Ephemeral status output; defaults to stderr. */
25
+ statusStream?: NodeJS.WriteStream;
26
+ /** Override terminal detection, primarily for host adapters and tests. */
23
27
  isTTY?: boolean;
28
+ /** Progress-bar implementation, primarily for deterministic tests. */
24
29
  factory?: ProgressBarFactory;
25
30
  }
26
31
  /**
@@ -28,15 +33,23 @@ export interface ProgressRendererOptions {
28
33
  */
29
34
  export declare class TerminalProgressRenderer implements ProgressRenderer {
30
35
  private readonly stream;
36
+ private readonly statusStream;
31
37
  private readonly isTTY;
38
+ private readonly inspectionIsTTY;
32
39
  private readonly factory;
33
40
  private readonly transferBars;
34
41
  private readonly pullBars;
35
42
  private pullMultiBar;
36
43
  private pullBaseWidth;
44
+ private inspectionInterval;
45
+ private inspectionFrameIndex;
46
+ private inspectionLabel;
37
47
  constructor(options?: ProgressRendererOptions);
38
48
  write(event: ProgressEvent): void;
39
49
  clear(): void;
50
+ private inspection_write;
51
+ private inspection_render;
52
+ private inspection_stop;
40
53
  private transfer_write;
41
54
  private pull_write;
42
55
  /** Formats a pull label as fixed-width `name` + `status` columns, so bars align. */
@@ -8,6 +8,7 @@
8
8
  * @module
9
9
  */
10
10
  import cliProgress from 'cli-progress';
11
+ import chalk from 'chalk';
11
12
  const TERMINAL_STATUSES = new Set([
12
13
  'done',
13
14
  'unconfirmed',
@@ -15,6 +16,8 @@ const TERMINAL_STATUSES = new Set([
15
16
  'timeout',
16
17
  'error',
17
18
  ]);
19
+ const INSPECTION_FRAMES = ['⣾', '⣽', '⣻', '⢿', '⡿', '⣟', '⣯', '⣷'];
20
+ const INSPECTION_FRAME_MS = 80;
18
21
  function defaultFactory_get() {
19
22
  return {
20
23
  SingleBar: cliProgress.SingleBar,
@@ -79,18 +82,30 @@ function fallback_line(event) {
79
82
  */
80
83
  export class TerminalProgressRenderer {
81
84
  stream;
85
+ statusStream;
82
86
  isTTY;
87
+ inspectionIsTTY;
83
88
  factory;
84
89
  transferBars = new Map();
85
90
  pullBars = new Map();
86
91
  pullMultiBar = null;
87
92
  pullBaseWidth = 0;
93
+ inspectionInterval = null;
94
+ inspectionFrameIndex = 0;
95
+ inspectionLabel = '';
88
96
  constructor(options = {}) {
89
97
  this.stream = options.stream ?? process.stdout;
98
+ this.statusStream = options.statusStream ?? process.stderr;
90
99
  this.isTTY = options.isTTY ?? !!this.stream.isTTY;
100
+ this.inspectionIsTTY = this.isTTY && !!this.statusStream.isTTY;
91
101
  this.factory = options.factory ?? defaultFactory_get();
92
102
  }
93
103
  write(event) {
104
+ if (event.operation === 'pipeline' || event.kind === 'inspection') {
105
+ if (this.inspectionIsTTY)
106
+ this.inspection_write(event);
107
+ return;
108
+ }
94
109
  if (!this.isTTY) {
95
110
  if (fallback_shouldPrint(event)) {
96
111
  this.stream.write(fallback_line(event));
@@ -112,6 +127,7 @@ export class TerminalProgressRenderer {
112
127
  this.transfer_write(event);
113
128
  }
114
129
  clear() {
130
+ this.inspection_stop();
115
131
  for (const state of this.transferBars.values()) {
116
132
  state.bar.stop?.();
117
133
  }
@@ -121,6 +137,34 @@ export class TerminalProgressRenderer {
121
137
  this.pullBars.clear();
122
138
  this.pullBaseWidth = 0;
123
139
  }
140
+ inspection_write(event) {
141
+ if (event.phase === 'complete' || event.phase === 'failed') {
142
+ this.inspection_stop();
143
+ return;
144
+ }
145
+ this.inspectionLabel = event.label ?? 'Reading registered pipeline…';
146
+ if (this.inspectionInterval !== null)
147
+ return;
148
+ this.inspectionFrameIndex = 0;
149
+ this.statusStream.write('\x1B[?25l');
150
+ this.inspection_render();
151
+ this.inspectionInterval = setInterval(() => {
152
+ this.inspectionFrameIndex = (this.inspectionFrameIndex + 1) % INSPECTION_FRAMES.length;
153
+ this.inspection_render();
154
+ }, INSPECTION_FRAME_MS);
155
+ }
156
+ inspection_render() {
157
+ const frame = INSPECTION_FRAMES[this.inspectionFrameIndex];
158
+ this.statusStream.write(`\r\x1b[K${chalk.cyanBright(frame)} ${chalk.gray(this.inspectionLabel)}`);
159
+ }
160
+ inspection_stop() {
161
+ if (this.inspectionInterval === null)
162
+ return;
163
+ clearInterval(this.inspectionInterval);
164
+ this.inspectionInterval = null;
165
+ this.statusStream.write('\r\x1b[K');
166
+ this.statusStream.write('\x1B[?25h');
167
+ }
124
168
  transfer_write(event) {
125
169
  if (event.phase === 'complete' || event.phase === 'failed') {
126
170
  const existing = this.transferBars.get(event.operation);
@@ -1 +1 @@
1
- {"version":3,"file":"progressRenderer.js","sourceRoot":"","sources":["../../src/core/progressRenderer.ts"],"names":[],"mappings":"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"}
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,10 +44,8 @@ export interface PromptContext {
43
44
  lastExitCode: number;
44
45
  lastCommandDurationMs: number;
45
46
  p10kSegments: P10kSegmentConfig;
46
- /** Present while /proc topology warm-up is in progress. total is always 0 (unknown). */
47
- procWarmup?: {
48
- loaded: number;
49
- };
47
+ /** Present while /proc indexing is active, reconciling, or has failed. */
48
+ procWarmup?: ProcPromptProgress;
50
49
  }
51
50
  /**
52
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;AAgE5C,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"}
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 { ansi_visibleLength, path_truncate } from './utils.js';
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 ? chalk.magenta('[PHYSICAL] ') : '';
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 path = path_truncate(ctx.cwd, pathBudget);
33
- const glyph = ctx.lastExitCode !== 0 ? chalk.red('$ ') : chalk.green('$ ');
34
- const warmup = ctx.procWarmup
35
- ? chalk.dim(` [proc: ${ctx.procWarmup.loaded}]`)
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.green(ctx.user) +
55
+ chalk.hex(PROMPT_PALETTE.USER.bg)(ctx.user) +
39
56
  '@' +
40
- chalk.cyan(ctx.uri) +
57
+ chalk.hex(PROMPT_PALETTE.HOST.bg)(ctx.uri) +
41
58
  ':' +
42
- chalk.yellow(path) +
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;AAE1B,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE/D,0EAA0E;AAC1E,MAAM,UAAU,GAAW,GAAG,CAAC;AAE/B;;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,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEhF,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,IAAI,GAAW,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAExD,MAAM,KAAK,GAAW,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnF,MAAM,MAAM,GAAW,GAAG,CAAC,UAAU;YACnC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;YAChD,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,CACL,UAAU;YACV,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YACrB,GAAG;YACH,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YACnB,GAAG;YACH,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;YAClB,MAAM;YACN,KAAK,CACN,CAAC;IACJ,CAAC;CACF"}
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
- * 🌐 host ❯ [🗄️ pacs ❯] 👤 user ❯ 📂 path ❯ [⏱ HH:MM ❯] [⚡ Xs ❯] [✖ N ❯]
6
+ * [ pacs ❯] host ❯ user ❯ path ❯ [proc ❯] [ HH:MM ❯] [ Xs ❯] [ N ❯]
7
7
  * Line 2 — input line: ❯
8
8
  *
9
- * Powerline separator (U+E0B0) requires a Nerd Font in the terminal.
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: host [pacs] [physical] user dir [time] [duration] [status]
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
- * 🌐 host ❯ [🗄️ pacs ❯] 👤 user ❯ 📂 path ❯ [⏱ HH:MM ❯] [⚡ Xs ❯] [✖ N ❯]
6
+ * [ pacs ❯] host ❯ user ❯ path ❯ [proc ❯] [ HH:MM ❯] [ Xs ❯] [ N ❯]
7
7
  * Line 2 — input line: ❯
8
8
  *
9
- * Powerline separator (U+E0B0) requires a Nerd Font in the terminal.
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 { ansi_visibleLength, path_truncate } from './utils.js';
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 emoji).
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: host [pacs] [physical] user dir [time] [duration] [status]
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
- // Left segments: host → [pacs] → [physical] → user
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: `🗄️ ${ctx.pacsserver}`, color: C.PACS });
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
- fixed.push({ text: '🔬 PHYSICAL', color: C.PHYSICAL });
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: `⏱ ${time_now()}`, color: C.TIME });
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({ text: `⚡ ${duration_format(ctx.lastCommandDurationMs)}`, color: C.DURATION });
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: `✖ ${ctx.lastExitCode}`, color: C.STATUS });
150
+ trailing.push({ text: `${ICON_ERROR} ${ctx.lastExitCode}`, color: PROMPT_PALETTE.STATUS });
130
151
  }
152
+ let procSegment;
131
153
  if (ctx.procWarmup) {
132
- trailing.push({ text: `⚙ proc: ${ctx.procWarmup.loaded}`, color: C.TIME });
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.map((s) => segment_render(s.text, s.color)).join('');
137
- const trailingRendered = trailing.map((s) => segment_render(s.text, s.color)).join('');
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) + trailing.length;
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 dirPath = path_truncate(ctx.cwd, Math.max(pathBudget, 4));
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: `📂 ${dirPath}`, color: C.DIR },
147
- ...trailing,
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 line2 = (ctx.lastExitCode !== 0 ? chalk.red('❯') : chalk.green('❯')) + ' ';
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":"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"}
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
  *
@@ -21,3 +32,14 @@ export declare function ansi_visibleLength(s: string): number;
21
32
  * @returns Truncated path string (no ANSI codes).
22
33
  */
23
34
  export declare function path_truncate(path: string, maxLen: number): string;
35
+ /**
36
+ * Formats active `/proc` warm-up progress for prompt themes.
37
+ *
38
+ * Active work is capped at 99%; completion removes the prompt segment instead
39
+ * of briefly presenting a misleading 100% while the sweep is still settling.
40
+ *
41
+ * @param loaded - Number of unique plugin instances loaded.
42
+ * @param total - Server-reported visible plugin-instance total.
43
+ * @returns Compact `N/M f%` progress text, or `N/?` before total is known.
44
+ */
45
+ export declare function procProgress_format(loaded: number, total: number): string;