@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.
Files changed (37) hide show
  1. package/README.md +102 -15
  2. package/dist/config/settings.js +14 -4
  3. package/dist/config/settings.js.map +1 -1
  4. package/dist/core/boot.js +12 -3
  5. package/dist/core/boot.js.map +1 -1
  6. package/dist/core/cliSurface.js +30 -6
  7. package/dist/core/cliSurface.js.map +1 -1
  8. package/dist/core/progressRenderer.d.ts +13 -0
  9. package/dist/core/progressRenderer.js +61 -2
  10. package/dist/core/progressRenderer.js.map +1 -1
  11. package/dist/core/prompt/index.d.ts +3 -5
  12. package/dist/core/prompt/index.js.map +1 -1
  13. package/dist/core/prompt/palette.d.ts +41 -0
  14. package/dist/core/prompt/palette.js +35 -0
  15. package/dist/core/prompt/palette.js.map +1 -0
  16. package/dist/core/prompt/theme_default.js +27 -10
  17. package/dist/core/prompt/theme_default.js.map +1 -1
  18. package/dist/core/prompt/theme_p10k.d.ts +3 -3
  19. package/dist/core/prompt/theme_p10k.js +73 -36
  20. package/dist/core/prompt/theme_p10k.js.map +1 -1
  21. package/dist/core/prompt/utils.d.ts +11 -0
  22. package/dist/core/prompt/utils.js +18 -0
  23. package/dist/core/prompt/utils.js.map +1 -1
  24. package/dist/core/repl.js +11 -2
  25. package/dist/core/repl.js.map +1 -1
  26. package/dist/core/startupWarmup.d.ts +5 -1
  27. package/dist/core/startupWarmup.js +129 -19
  28. package/dist/core/startupWarmup.js.map +1 -1
  29. package/dist/lib/bootsequence.d.ts +2 -2
  30. package/dist/lib/bootsequence.js +1 -0
  31. package/dist/lib/bootsequence.js.map +1 -1
  32. package/dist/remote/client.js +27 -1
  33. package/dist/remote/client.js.map +1 -1
  34. package/dist/remote/remoteEngine.d.ts +41 -8
  35. package/dist/remote/remoteEngine.js +119 -41
  36. package/dist/remote/remoteEngine.js.map +1 -1
  37. package/package.json +12 -11
package/README.md CHANGED
@@ -17,12 +17,30 @@ Requires Node.js ≥ 20.12. This installs the `chell` command — see [Getting S
17
17
  ChRIS stores data, analysis tools, and results behind a REST API. ChELL maps all of that onto paths:
18
18
 
19
19
  - your data lives under `/home/<user>/`
20
- - every registered plugin is a virtual executable in `/bin`
20
+ - every registered plugin and Pipeline is a virtual executable in `/bin`
21
21
  - system configuration is readable at `/etc`
22
22
  - PACS query results surface under `/net/pacs/queries/`
23
23
 
24
24
  You navigate with `cd`, inspect with `ls`, read files with `cat`, and run analyses by invoking plugin names — the same muscle memory you use on any Unix system.
25
25
 
26
+ PACS retrieval can also establish the input of a new analysis directly:
27
+
28
+ ```bash
29
+ pacs query AccessionNumber:12345678
30
+ pacs pull /net/pacs/queries/.../Study_... --new-feed "Brain MRI"
31
+ ```
32
+
33
+ `--new-feed` waits for the complete selected series set, creates one feed rooted
34
+ at `pl-dircopy`, and prints the feed ID, root job ID, and feed path. Without the
35
+ flag, `pacs pull` only retrieves data into CUBE storage.
36
+
37
+ Optional analysis attachment is available with `--plugin <selector>` or
38
+ `--pipeline <selector>`. Both require `--new-feed`, attach to that new root, and
39
+ forward arguments after `--` through the selected command's existing invocation
40
+ semantics. See
41
+ [PACS Query / Retrieve / Resolve](docs/pacsqr.adoc#planned-analysis-attachment)
42
+ for the complete behavioral contract.
43
+
26
44
  ---
27
45
 
28
46
  ## The Virtual Filesystem
@@ -41,8 +59,8 @@ The ChELL filesystem has two kinds of paths:
41
59
  | `/SERVICES/` | CFS | Service-level data |
42
60
  | `/SHARED/` | CFS | Cross-user shared data |
43
61
  | `*.chrislink` | CFS | Symbolic links to other ChRIS paths |
44
- | `/bin` | VFS | Every plugin registered in this CUBE |
45
- | `/usr/bin` | VFS | Built-in shell commands (`whoami`, `whereami`, …) |
62
+ | `/bin` | VFS | Every plugin and Pipeline registered in this CUBE |
63
+ | `/usr/bin` | VFS | Built-in shell commands (`id`, `whoami`, `whereami`, …) |
46
64
  | `/etc/` | VFS | Config: compute environments, groups, users, CUBE info |
47
65
  | `/net/pacs/queries/` | VFS | PACS query result sets |
48
66
  | `/proc/jobs/` | VFS | Job monitoring — live status of all plugin instances |
@@ -50,7 +68,7 @@ The ChELL filesystem has two kinds of paths:
50
68
  ```bash
51
69
  cd /etc
52
70
  cat compute.yaml # inspect available compute environments
53
- cat group # list groups
71
+ cat group # list groups and their current CUBE users
54
72
 
55
73
  cd /bin
56
74
  ls pl-mri* # browse MRI-related plugins
@@ -101,6 +119,22 @@ pl-fshack-v1.2.0 --inputFile brain.mgz -- feed_title="Brain MRI Study" instance_
101
119
 
102
120
  Everything before `--` goes to the plugin; everything after sets ChRIS metadata.
103
121
 
122
+ ### Inspecting a versioned plugin
123
+
124
+ The executable itself exposes help, parameters, and repository documentation:
125
+
126
+ ```bash
127
+ pl-fshack-v1.2.0 --help
128
+ pl-fshack-v1.2.0 --parameters
129
+ pl-fshack-v1.2.0 --readme
130
+ pl-fshack-v1.2.0 --readme --raw > pl-fshack-README.md
131
+ ```
132
+
133
+ Markdown READMEs are styled for terminal display, while reStructuredText is
134
+ preserved as written. `--raw` returns only the original README content, making
135
+ it safe for pipes and redirection. These forms behave the same in local and
136
+ remote sessions.
137
+
104
138
  ### Monitoring
105
139
 
106
140
  ```bash
@@ -123,9 +157,15 @@ store install pl-simplefsapp --compute ares,argentum
123
157
 
124
158
  `store install` runs a three-phase resolution:
125
159
  1. Already in this CUBE → reports `[INFO] already registered`
126
- 2. Found in peer store (cube.chrisproject.org) → imports via admin API (prompts for admin credentials if needed)
160
+ 2. Found in peer store (cube.chrisproject.org) → imports via admin API
127
161
  3. Not found → Docker extraction and registration
128
162
 
163
+ When registration needs escalation, ChELL reports the original failure and
164
+ suggests the explicit retry, for example `sudo store install pl-simplefsapp`.
165
+ `sudo` prompts for administrator credentials with a hidden password and uses
166
+ the resulting CUBE identity only for that nested command. In a remote session
167
+ those prompts and their guidance stay on the originating client surface.
168
+
129
169
  ---
130
170
 
131
171
  ## Running Pipelines
@@ -137,16 +177,34 @@ A **workflow** is a live instantiation of a pipeline, attached to a specific fee
137
177
  ```bash
138
178
  # Browse registered pipeline templates
139
179
  pipeline list
140
- pipeline inspect <id>
180
+ pipeline info <name|id>
181
+
182
+ # Inspect or draw a registered template
183
+ pipeline manifest <name|id|slug>
184
+ pipeline diagram <name|id>
141
185
 
142
- # Instantiate a pipeline on an existing feed node → creates a workflow
143
- workflow create <pipeline_id> --previous_id <instance_id>
186
+ # Run by invoking its /bin name in the current context
187
+ brain-segmentation
188
+ brain-segmentation --segmentation.threshold 0.5
189
+ brain-segmentation --paramFile ~/experiments/run-1.yaml
190
+
191
+ # Equivalent explicit form
192
+ pipeline run brain-segmentation --previous <instance_id>
144
193
 
145
194
  # Monitor all the jobs it spawns
146
195
  jobs list --feed <feed_id>
147
196
  ```
148
197
 
149
- The `--previous_id` here is the feed node to attach the first pipeline step to — the same context that ChELL resolves automatically when you invoke a single plugin directly.
198
+ `<pipeline> --manifest` is the direct alias for the complete registered
199
+ invocation YAML, including piping IDs, stored values, compute placement, resource
200
+ controls, and topology. `cat /bin/<pipeline>` intentionally remains immediate:
201
+ it prints only a cached executable summary pointing to the manifest command.
202
+
203
+ `<pipeline> --diagram` is the direct drawing alias; add `--withargs` for stored
204
+ defaults or `--signalflow` for SignalFlow YAML. Pipeline parameters and execution
205
+ controls use `--<node>.<field> <value>`, while `--paramFile <cfs-file>` reads one
206
+ sparse overlay from durable CFS. ChELL resolves the current context automatically;
207
+ `--previous <instance_id>` selects an explicit attachment point.
150
208
 
151
209
  ---
152
210
 
@@ -171,7 +229,7 @@ Because every plugin runs asynchronously in ChRIS, `/proc/jobs/` is where you co
171
229
 
172
230
  ```bash
173
231
  ls -l /proc/jobs/feed_123 # see all nodes with colour-coded status
174
- cat /proc/jobs/feed_123/pl-fshack_789/status # live status fetch
232
+ cat /proc/jobs/feed_123/pl-fshack_789/status # terminal cached; active refreshed
175
233
  cat /proc/jobs/feed_123/pl-fshack_789/log # stdout/stderr
176
234
  cat /proc/jobs/feed_123/pl-fshack_789/params # what it ran with
177
235
 
@@ -196,14 +254,23 @@ rm -r /proc/jobs/feed_123
196
254
  Status colours in `ls -l`: green = `finishedSuccessfully`, yellow = `started`/`running`, gray = `scheduled`/`cancelled`, red = `finishedWithError`.
197
255
 
198
256
  Connected startup indexes the visible feed list and warms job topology in the
199
- background. If startup prefetch is disabled, first access builds the index
200
- lazily. Rebuild explicitly after external activity (other users, web GUI):
257
+ background. A daemon first restores its identity-scoped local checkpoint,
258
+ validates that its feeds are still visible, and serves that usable topology
259
+ while reconciling it with CUBE. Terminal statuses can be restored; active
260
+ statuses and logs remain live. Inspect freshness and feed scope with `proc stat`:
201
261
 
202
262
  ```bash
263
+ proc stat # feed scope, loaded jobs, sweep and checkpoint state
264
+ proc stat feed_123 # cached detail for one feed
265
+ proc retry # resume a failed topology sweep at its failed page
203
266
  proc refresh # rebuild all and start one replacement topology sweep
204
267
  proc refresh feed_123 # scope to one feed
205
268
  ```
206
269
 
270
+ If startup prefetch is disabled, first access builds the index lazily. Run a
271
+ full `proc refresh` after activity from another client or the web GUI; CUBE is
272
+ always authoritative.
273
+
207
274
  Since `/proc` paths encode the instance ID, you can also **continue an analysis from any node** just by `cd`-ing into it:
208
275
 
209
276
  ```bash
@@ -233,12 +300,13 @@ du # disk usage
233
300
  ```bash
234
301
  plugin list / search / inspect / run
235
302
  plugins list [--search <term>] [--all]
303
+ <plugin>-v<version> --help / --parameters / --readme [--raw]
236
304
  feed list / inspect
237
305
  feeds list [--user <name>] [--all]
238
306
  feed note <id> # read feed note
239
307
  feed note edit <id> # edit feed note in $EDITOR
240
308
  feed comments <id> # list comments
241
- pipeline list / inspect
309
+ pipeline list / info / manifest / run / source / diagram
242
310
  workflow list / create
243
311
  job inspect <id>
244
312
  compute list # list compute environments
@@ -255,14 +323,33 @@ store set <url> # override peer store
255
323
 
256
324
  ### System
257
325
  ```bash
258
- whoami # current user and CUBE URL
259
- whereami # current working directory
326
+ id # CUBE UID, projected primary GID, and memberships
327
+ whoami # current CUBE user
328
+ whereami # current CUBE URL (use pwd for working directory)
329
+ prompt list # list prompt themes
330
+ prompt default # compact single-line prompt
331
+ prompt p10k # vivid two-line powerline prompt
260
332
  connect --user <u> --password <p> <url>
261
333
  logout
334
+ proc stat # show /proc feed scope, freshness, and checkpoint
335
+ proc retry # resume failed /proc reconciliation without starting over
262
336
  proc refresh # rebuild /proc job cache and restart topology warm-up
263
337
  proc refresh feed_123 # scope rebuild to one feed
264
338
  ```
265
339
 
340
+ Both prompt themes display the authenticated user's home directory as `~`, so
341
+ `/home/chris/uploads` appears as `~/uploads`. The `default` and `p10k` themes
342
+ share a vivid truecolor palette; `p10k` adds background-filled powerline
343
+ segments, high-contrast Font Awesome icons, and optional status information.
344
+ The icons and separators require a Nerd Font. Use `prompt --show` to preview
345
+ the active prompt.
346
+
347
+ The p10k prompt orders PACS, CUBE URL, user, path, and `/proc` from left to
348
+ right; the optional physical-mode indicator and command telemetry follow that
349
+ core sequence. A visible `/proc` segment distinguishes cold indexing, cached
350
+ refresh, and refresh failure; it disappears once the CUBE-authoritative index
351
+ is current.
352
+
266
353
  ---
267
354
 
268
355
  ## Getting Started
@@ -70,8 +70,15 @@ export async function settings_load() {
70
70
  }
71
71
  }
72
72
  }
73
- catch {
74
- // No config file yet — use defaults
73
+ catch (error) {
74
+ // A missing file is the normal first-run state; any other failure
75
+ // (corrupt JSON, permissions) means the user's settings were silently
76
+ // NOT applied, which deserves a visible note.
77
+ const code = error?.code;
78
+ if (code !== 'ENOENT') {
79
+ const msg = error instanceof Error ? error.message : String(error);
80
+ console.error(`[!] Could not load settings from ${CONFIG_FILE}: ${msg}. Using defaults.`);
81
+ }
75
82
  }
76
83
  }
77
84
  /**
@@ -88,8 +95,11 @@ export async function settings_save() {
88
95
  };
89
96
  await fs.promises.writeFile(CONFIG_FILE, JSON.stringify(data, null, 2) + '\n');
90
97
  }
91
- catch {
92
- // Silently fail
98
+ catch (error) {
99
+ // A failed save means the user's change will not survive this session;
100
+ // saying nothing would let them find out the hard way next boot.
101
+ const msg = error instanceof Error ? error.message : String(error);
102
+ console.error(`[!] Could not save settings to ${CONFIG_FILE}: ${msg}`);
93
103
  }
94
104
  }
95
105
  // The CLI persists engine store configuration into the same settings file, so
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/config/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/config/settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AAoBvB;;GAEG;AACH,SAAS,aAAa;IACpB,MAAM,QAAQ,GAAW,EAAE,CAAC,QAAQ,EAAE,CAAC;IACvC,MAAM,IAAI,GAAW,EAAE,CAAC,OAAO,EAAE,CAAC;IAElC,IAAI,IAAY,CAAC;IACjB,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACtE,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC;IAC3D,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,WAAW,GAAW,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,eAAe,CAAC,CAAC;AAExE;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAa;IAChC,MAAM,EAAE;QACN,WAAW,EAAE,gBAAgB;QAC7B,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,SAAS;QACtB,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;KACzE;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,IAAI,CAAC;QACH,MAAM,GAAG,GAAW,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACrE,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzC,MAAM,GAAG,GAA4B,MAAiC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAwB,CAAC,EAAE,CAAC;gBAC9F,QAAQ,CAAC,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC,WAAwB,CAAC;YAC7D,CAAC;YACD,IAAI,GAAG,CAAC,YAAY,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;gBAC7D,MAAM,IAAI,GAA4B,GAAG,CAAC,YAAuC,CAAC;gBAClF,KAAK,MAAM,GAAG,IAAI,sBAAsB,EAAE,CAAC;oBACzC,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;wBACnC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAY,CAAC;oBAC3D,CAAC;oBACD,0DAA0D;gBAC5D,CAAC;YACH,CAAC;YACD,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACrC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,kEAAkE;QAClE,sEAAsE;QACtE,8CAA8C;QAC9C,MAAM,IAAI,GAAwB,KAA+B,EAAE,IAAI,CAAC;QACxE,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,GAAG,GAAW,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3E,OAAO,CAAC,KAAK,CAAC,oCAAoC,WAAW,KAAK,GAAG,mBAAmB,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAuB,oBAAoB,EAAE,CAAC;QAC5D,MAAM,IAAI,GAA4B;YACpC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW;YACxC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY;YAC1C,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CAAC;QACF,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACjF,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,uEAAuE;QACvE,iEAAiE;QACjE,MAAM,GAAG,GAAW,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,OAAO,CAAC,KAAK,CAAC,kCAAkC,WAAW,KAAK,GAAG,EAAE,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,sEAAsE;AACtE,0BAA0B,CAAC,aAAa,CAAC,CAAC"}
package/dist/core/boot.js CHANGED
@@ -32,7 +32,7 @@ import { sessionConnect_fromSaved } from '@fnndsc/brasa';
32
32
  import { surface_set } from '@fnndsc/brasa';
33
33
  import { cliSurface_create } from './cliSurface.js';
34
34
  import { surfaceLine_execute } from './surfaceDispatch.js';
35
- import { versionReport_build, infoReport_build, stackInfo_get } from '@fnndsc/brasa';
35
+ import { versionReport_build, infoReport_build, stackInfo_get, welcomeLine_build, fortune_random } from '@fnndsc/brasa';
36
36
  import { daemonSession_run, startupWarmup_run, } from './startupWarmup.js';
37
37
  /**
38
38
  * Prompts the user for a password without echoing input.
@@ -327,6 +327,10 @@ async function interactiveSession_run(engine, config, currentContext, flags, boo
327
327
  logo_animateStop();
328
328
  bootPanels_render(currentContext, config.mode, cache, flags.useAsciiBoot);
329
329
  }
330
+ if (flags.isInteractiveSession) {
331
+ console.log(chalk.bold.cyan(welcomeLine_build('chell')));
332
+ console.log('');
333
+ }
330
334
  console.log(chalk.yellow('Order up! Your Taco Chell is ready! Filled with chili, salsa, and cumin goodness! 🌮'));
331
335
  console.log('');
332
336
  if (flags.isInteractiveSession) {
@@ -335,6 +339,8 @@ async function interactiveSession_run(engine, config, currentContext, flags, boo
335
339
  }
336
340
  console.log(chalk.gray("Tip: type 'help' for available commands."));
337
341
  console.log('');
342
+ console.log(chalk.gray(fortune_random(4)));
343
+ console.log('');
338
344
  }
339
345
  const repl = new REPL(engine);
340
346
  await repl.start();
@@ -424,8 +430,11 @@ export async function chell_start(argv = process.argv) {
424
430
  if (config.stopOnError) {
425
431
  stopOnError_set(true);
426
432
  }
427
- await surfaceLine_execute(engine, config.commandToExecute);
428
- process.exit(process.exitCode ?? 0);
433
+ const envelopes = await surfaceLine_execute(engine, config.commandToExecute);
434
+ // An error envelope means the command failed, whether or not the builtin
435
+ // set an exit code itself; scripts must never see failure exit 0.
436
+ const anyError = envelopes.some((envelope) => envelope.status === 'error');
437
+ process.exit(process.exitCode || (anyError ? 1 : 0));
429
438
  }
430
439
  // --- Script Mode ---
431
440
  if (config.mode === 'script' && config.scriptFile) {
@@ -1 +1 @@
1
- {"version":3,"file":"boot.js","sourceRoot":"","sources":["../../src/core/boot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAU,EAAE,EAAE,GAAG,EAAU,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,EAIL,iBAAiB,EACjB,oCAAoC,EACrC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAkB,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAkB,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAiB,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAoB,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAA2B,MAAM,eAAe,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,aAAa,EAAoB,MAAM,eAAe,CAAC;AACvG,OAAO,EACL,iBAAiB,EACjB,iBAAiB,GAGlB,MAAM,oBAAoB,CAAC;AAS5B;;;;;;GAMG;AACH,KAAK,UAAU,eAAe,CAAC,IAAY,EAAE,GAAW;IACtD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,aAAa,GAAoB,IAAI,QAAQ,CAAC;YAClD,KAAK,EAAE,UAAS,KAAK,EAAE,QAAQ,EAAE,QAAQ;gBACvC,IAAI,CAAE,IAAwB,CAAC,KAAK;oBAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBACxC,QAAQ,EAAE,CAAC;YACb,CAAC;SACF,CAAC,CAAC;QAEH,MAAM,EAAE,GAAuB,QAAQ,CAAC,eAAe,CAAC;YACtD,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,aAAa;YACrB,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QAEH,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC;QAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC;QACtD,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC;QAE3B,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAgB,EAAE,EAAE;YACnC,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B;YAC3C,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,iBAAiB,CACxB,OAAsB,EACtB,IAAY,EACZ,KAAyB,EACzB,YAAqB;IAErB,MAAM,WAAW,GAAoB,aAAa,EAAE,CAAC,GAAG,CACtD,CAAC,CAAc,EAAiB,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CACtF,CAAC;IAEF,MAAM,UAAU,GAAmB;QACjC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE;QAC7E,EAAE,KAAK,EAAE,MAAM,EAAI,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE;QACxE,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAY,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,EAAE,KAAK,EAAE,MAAM,EAAI,KAAK,EAAE,oBAAoB,EAAE,EAAE;KACnD,CAAC;IAEF,MAAM,UAAU,GAAW,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9E,MAAM,YAAY,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzG,MAAM,UAAU,GAAmB;QACjC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,IAAI,SAAS,CAAC,EAAE;QACjE,EAAE,KAAK,EAAE,MAAM,EAAG,KAAK,EAAE,OAAO,CAAC,IAAI,IAAI,SAAS,EAAE;QACpD,EAAE,KAAK,EAAE,MAAM,EAAG,KAAK,EAAE,IAAI,EAAE;KAChC,CAAC;IAEF,IAAI,OAAO,KAAK,CAAC,OAAO,KAAO,QAAQ;QAAE,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAO,KAAK,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,EAAI,CAAC,CAAC;IACjH,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QAAE,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAK,KAAK,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACjH,IAAI,OAAO,CAAC,MAAM;QAAuB,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAQ,CAAC,CAAC;IAClH,IAAI,OAAO,KAAK,CAAC,KAAK,KAAS,QAAQ;QAAE,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAI,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,EAAM,CAAC,CAAC;IACjH,IAAI,OAAO,CAAC,IAAI;QAAyB,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAG,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,EAAK,CAAC,CAAC;IACjH,IAAI,OAAO,KAAK,CAAC,MAAM,KAAQ,QAAQ;QAAE,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,EAAK,CAAC,CAAC;IACjH,IAAI,OAAO,CAAC,UAAU;QAAmB,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAG,KAAK,EAAE,OAAO,CAAC,UAAU,EAAI,CAAC,CAAC;IAEjH,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;IAE/E,MAAM,MAAM,GAAe,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IACzF,oCAAoC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;AAChF,CAAC;AAED;;GAEG;AACH,SAAS,aAAa;IACpB,MAAM,UAAU,GAA2C,EAAE,CAAC,iBAAiB,EAAE,CAAC;IAClF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,MAAM,KAAK,GAA0C,UAAU,CAAC,GAAG,CAAC,CAAC;QACrE,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;YAC1B,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAChE,OAAO,KAAK,CAAC,OAAO,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB;IAC3B,MAAM,GAAG,GAAS,IAAI,IAAI,EAAE,CAAC;IAC7B,MAAM,aAAa,GAAW,GAAG,CAAC,iBAAiB,EAAE,CAAC;IACtD,MAAM,IAAI,GAAW,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IACpD,MAAM,UAAU,GAAW,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACnD,MAAM,KAAK,GAAW,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;IAClD,MAAM,OAAO,GAAW,UAAU,GAAG,EAAE,CAAC;IACxC,MAAM,GAAG,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACjE,MAAM,SAAS,GAAW,GAAG,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;IACjE,MAAM,OAAO,GAAW,GAAG,GAAG,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;IAChG,MAAM,OAAO,GAAW,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;IACnG,OAAO,GAAG,OAAO,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;AAC9C,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,KAAK,UAAU,cAAc,CAAC,MAAmB,EAAE,UAAkB,EAAE,cAAuB,KAAK;IACjG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,iCAAiC,UAAU,EAAE,CAAC,CAAC,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,gCAAgC;IAChC,eAAe,CAAC,WAAW,CAAC,CAAC;IAE7B,MAAM,aAAa,GAAW,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAa,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElD,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,IAAI,IAAI,GAAW,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEnC,6BAA6B;QAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,SAAS;QACX,CAAC;QAED,qCAAqC;QACrC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YACxC,SAAS;QACX,CAAC;QAED,mBAAmB;QACnB,IAAI,CAAC;YACH,MAAM,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,GAAG,GAAW,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;YAE3D,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAAC,CAAC;gBAClG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,kCAAkC;QACpC,CAAC;QAED,yEAAyE;QACzE,IAAI,WAAW,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACpC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,uCAAuC,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC,CAAC;YACtH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,eAAe,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC;AAID;;GAEG;AACH,KAAK,UAAU,mBAAmB,CAChC,MAAsB,EACtB,IAAuB;IAEvB,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,aAAc,CAAC;IAEpD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC,CAAC;QACnF,OAAO,GAAG,EAAE,CAAC;IACf,CAAC;IAED,IAAI,CAAC,QAAQ,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9E,QAAQ,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC3C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC,CAAC;QACrF,OAAO,GAAG,EAAE,CAAC;IACf,CAAC;IAED,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC,MAAM,iBAAiB,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC;IAC/C,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,IAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1F,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;QACxB,MAAM,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,IAAK,CAAC,CAAC;QACzD,MAAM,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACtD,MAAM,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACzD,MAAM,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACtD,MAAM,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,gBAAgB,GAAG,EAAE,CAAC,CAAC;QAClD,OAAO,EAAE,CAAC,MAAM,iBAAiB,EAAE,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,YAAY,GAAW,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpF,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,YAAY,EAAE,CAAC,CAAC,CAAC;QACnE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;QAC3C,OAAO,GAAG,EAAE,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,2BAA2B,CACxC,MAAsB,EACtB,IAAuB;IAEvB,MAAM,OAAO,GAAY,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC;IAE/E,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAuB,MAAM,wBAAwB,EAAE,CAAC;IACpE,OAAO,CAAC,IAAI,EAAE,CAAC;IAEf,MAAM,GAAG,GAAkB,MAAM,CAAC,OAAO,CAAC;IAC1C,MAAM,aAAa,GAAG,GAAS,EAAE,CAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,GAAG,CAAC,IAAI,qBAAqB,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAE7F,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,KAAK,YAAY;YACf,IAAI,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC,CAAC;YACxE,MAAM;QACR,KAAK,UAAU;YACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC,CAAC;YAC9D,aAAa,EAAE,CAAC;YAChB,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,yBAAyB,CAAC,CAAC;YACxD,MAAM;QACR,KAAK,WAAW;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC,CAAC;YAC9D,aAAa,EAAE,CAAC;YAChB,MAAM;QACR,KAAK,eAAe;YAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC;YAC1D,IAAI,MAAM,CAAC,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACxE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC,CAAC;YAC9D,aAAa,EAAE,CAAC;YAChB,MAAM;QACR,KAAK,UAAU;YACb,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;gBAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAC;gBAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBACjD,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;YAChE,CAAC;YACD,MAAM;IACV,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,oBAAoB,CACjC,MAAsB,EACtB,IAAuB;IAEvB,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,OAAO,MAAM,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,GAAG,GAAkB,MAAM,2BAA2B,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3E,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC;YAC/D,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;AACjB,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,sBAAsB,CACnC,MAAmB,EACnB,MAAsB,EACtB,cAA6B,EAC7B,KAA8I,EAC9I,IAAiD;IAEjD,MAAM,WAAW,GAAuB;QACtC,OAAO,EAAE,KAAK,CAAC,eAAe;QAC9B,KAAK,EAAE,KAAK,CAAC,aAAa;QAC1B,WAAW,EAAE,KAAK,CAAC,mBAAmB;QACtC,IAAI,EAAE,KAAK,CAAC,YAAY;KACzB,CAAC;IACF,MAAM,KAAK,GAAuB,MAAM,iBAAiB,CACvD,WAAW,EACX,cAAc,CAAC,IAAI,IAAI,SAAS,EAChC,KAAK,CAAC,oBAAoB,EAC1B,IAAI,CACL,CAAC;IAEF,IAAI,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC/B,gBAAgB,EAAE,CAAC;QACnB,iBAAiB,CACf,cAAc,EACd,MAAM,CAAC,IAAI,EACX,KAAK,EACL,KAAK,CAAC,YAAY,CACnB,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sFAAsF,CAAC,CAAC,CAAC;IAClH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,IAAI,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,mFAAmF,CAAC,CAAC,CAAC;QACjH,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,GAAS,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;AACrB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAiB,OAAO,CAAC,IAAI;IAC7D,MAAM,MAAM,GAAmB,MAAM,SAAS,CAAC,IAAI,EAAE,mBAAmB,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAChG,MAAM,EACJ,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,QAAQ,GACT,GAAc,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjE,MAAM,IAAI,GAAgD,oBAAoB,CAAC,CAAC,CAAC,iBAAiB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEtI,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAClF,IAAI,MAAM,CAAC,MAAM;YAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,gCAAgC;IAEhC,IAAI,oBAAoB,EAAE,CAAC;QACzB,UAAU,CAAC,QAAQ,IAAI,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,aAAa,EAAE,CAAC;IAEtB,sBAAsB;IACtB,wEAAwE;IACxE,+DAA+D;IAC/D,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAC3D,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAChE,MAAM,EAAE,GAAgD,MAAM,CAAC,aAAa,CAAC;QAC7E,6EAA6E;QAC7E,8DAA8D;QAC9D,MAAM,QAAQ,GAAuB,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5G,MAAM,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACpD,IAAI,MAAM,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,OAAO;IACT,CAAC;IAED,yEAAyE;IACzE,uEAAuE;IACvE,wEAAwE;IACxE,WAAW,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAEjC,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACjD,MAAM,MAAM,GAAgB,MAAM,aAAa,EAAE,CAAC;IAClD,OAAO,CAAC,IAAI,EAAE,CAAC;IAEf,IAAI,oBAAoB,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACrD,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,wBAAwB,CAAC,CAAC;IACvD,CAAC;IAED,4CAA4C;IAC5C,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,6EAA6E,CAAC,CAAC,CAAC;QAC3G,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAA0B,MAAM,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAClF,IAAI,CAAC,SAAS,CAAC,EAAE;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,cAAc,GAAkB,SAAS,CAAC,KAAK,CAAC;IACpD,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;QAC3B,cAAc,GAAG,EAAE,GAAG,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IACtD,CAAC;IAED,gEAAgE;IAChE,IAAI,oBAAoB,IAAI,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;QACtD,iBAAiB,EAAE,CAAC;IACtB,CAAC;IAGD,sBAAsB;IACtB,yEAAyE;IACzE,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAuB;YACtC,OAAO,EAAE,eAAe;YACxB,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,mBAAmB;YAChC,IAAI,EAAE,YAAY;SACnB,CAAC;QACF,MAAM,iBAAiB,CACrB,MAAM,EACN,cAAc,CAAC,IAAI,IAAI,SAAS,EAChC,WAAW,EACX,oBAAoB,EACpB,IAAI,IAAI,iBAAiB,CAAC,YAAY,EAAE,YAAY,CAAC,CACtD,CAAC;QACF,OAAO;IACT,CAAC;IAED,yBAAyB;IAEzB,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QACzD,sCAAsC;QACtC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,eAAe,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QACD,MAAM,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,sBAAsB;IAEtB,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAClD,MAAM,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC,CAAC;QAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,2BAA2B;IAE3B,MAAM,sBAAsB,CAC1B,MAAM,EACN,MAAM,EACN,cAAc,EACd,EAAE,eAAe,EAAE,aAAa,EAAE,mBAAmB,EAAE,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,EACzG,IAAI,CACL,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"boot.js","sourceRoot":"","sources":["../../src/core/boot.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@
15
15
  */
16
16
  import * as readline from 'readline';
17
17
  import { Writable } from 'stream';
18
- import { spawnSync } from 'child_process';
18
+ import { spawn, spawnSync } from 'child_process';
19
19
  import { writeFileSync, readFileSync, unlinkSync, existsSync } from 'fs';
20
20
  import { tmpdir } from 'os';
21
21
  import { join } from 'path';
@@ -36,16 +36,19 @@ function persistentPrompt_ask(rl, request) {
36
36
  rl.question(request.message, (answer) => resolve(answer.trim()));
37
37
  });
38
38
  }
39
- const rlInternal = rl;
40
- const originalWrite = rlInternal._writeToOutput.bind(rl);
41
- rlInternal._writeToOutput = (_str) => { };
42
- process.stdout.write(request.message);
39
+ // `_writeToOutput` is readline's internal echo hook, absent from its
40
+ // typings; replacing it is the supported folk technique for hidden input.
41
+ const originalWrite = Reflect.get(rl, '_writeToOutput');
42
+ Reflect.set(rl, '_writeToOutput', (_str) => { });
43
43
  return new Promise((resolve) => {
44
44
  rl.question('', (answer) => {
45
- rlInternal._writeToOutput = originalWrite;
45
+ Reflect.set(rl, '_writeToOutput', originalWrite);
46
46
  process.stdout.write('\n');
47
47
  resolve(answer.trim());
48
48
  });
49
+ // readline redraws when question() activates. Print the label afterward so
50
+ // that redraw cannot immediately erase the password prompt.
51
+ process.stdout.write(request.message);
49
52
  });
50
53
  }
51
54
  /**
@@ -120,6 +123,23 @@ function localEdit_run(request) {
120
123
  }
121
124
  }
122
125
  }
126
+ /**
127
+ * Runs a host-shell command on this CLI machine with direct terminal access.
128
+ *
129
+ * @param command - The shell command without the leading `!`.
130
+ * @returns The child process exit code.
131
+ */
132
+ function shellCommand_run(command) {
133
+ return new Promise((resolve, reject) => {
134
+ const child = spawn(command, {
135
+ shell: true,
136
+ stdio: 'inherit',
137
+ env: process.env,
138
+ });
139
+ child.once('error', reject);
140
+ child.once('close', (code) => resolve(code ?? 1));
141
+ });
142
+ }
123
143
  /**
124
144
  * Creates the CLI host's surface.
125
145
  *
@@ -134,6 +154,7 @@ export function cliSurface_create(rl) {
134
154
  localEdit: true,
135
155
  tty: !!process.stdout.isTTY,
136
156
  pipeSegments: true,
157
+ shellCommands: true,
137
158
  };
138
159
  return {
139
160
  capabilities,
@@ -144,6 +165,9 @@ export function cliSurface_create(rl) {
144
165
  // The local CLI runs pipe segments in-process, exactly as before.
145
166
  return segment_pipeThrough(command, input);
146
167
  },
168
+ shellCommand(command) {
169
+ return shellCommand_run(command);
170
+ },
147
171
  localEdit(request) {
148
172
  return localEdit_run(request);
149
173
  },
@@ -1 +1 @@
1
- {"version":3,"file":"cliSurface.js","sourceRoot":"","sources":["../../src/core/cliSurface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cliSurface.js","sourceRoot":"","sources":["../../src/core/cliSurface.ts"],"names":[],"mappings":"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"}
@@ -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,10 +16,23 @@ 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() {
22
+ // The factory ctor types take loose Record options for testability; these
23
+ // subclasses narrow them to cli-progress's all-optional Options at the
24
+ // constructor boundary instead of casting the classes themselves.
19
25
  return {
20
- SingleBar: cliProgress.SingleBar,
21
- MultiBar: cliProgress.MultiBar,
26
+ SingleBar: class extends cliProgress.SingleBar {
27
+ constructor(options, preset) {
28
+ super(options, preset);
29
+ }
30
+ },
31
+ MultiBar: class extends cliProgress.MultiBar {
32
+ constructor(options, preset) {
33
+ super(options, preset);
34
+ }
35
+ },
22
36
  preset: cliProgress.Presets.shades_classic,
23
37
  };
24
38
  }
@@ -79,18 +93,30 @@ function fallback_line(event) {
79
93
  */
80
94
  export class TerminalProgressRenderer {
81
95
  stream;
96
+ statusStream;
82
97
  isTTY;
98
+ inspectionIsTTY;
83
99
  factory;
84
100
  transferBars = new Map();
85
101
  pullBars = new Map();
86
102
  pullMultiBar = null;
87
103
  pullBaseWidth = 0;
104
+ inspectionInterval = null;
105
+ inspectionFrameIndex = 0;
106
+ inspectionLabel = '';
88
107
  constructor(options = {}) {
89
108
  this.stream = options.stream ?? process.stdout;
109
+ this.statusStream = options.statusStream ?? process.stderr;
90
110
  this.isTTY = options.isTTY ?? !!this.stream.isTTY;
111
+ this.inspectionIsTTY = this.isTTY && !!this.statusStream.isTTY;
91
112
  this.factory = options.factory ?? defaultFactory_get();
92
113
  }
93
114
  write(event) {
115
+ if (event.operation === 'pipeline' || event.kind === 'inspection') {
116
+ if (this.inspectionIsTTY)
117
+ this.inspection_write(event);
118
+ return;
119
+ }
94
120
  if (!this.isTTY) {
95
121
  if (fallback_shouldPrint(event)) {
96
122
  this.stream.write(fallback_line(event));
@@ -112,6 +138,7 @@ export class TerminalProgressRenderer {
112
138
  this.transfer_write(event);
113
139
  }
114
140
  clear() {
141
+ this.inspection_stop();
115
142
  for (const state of this.transferBars.values()) {
116
143
  state.bar.stop?.();
117
144
  }
@@ -121,6 +148,34 @@ export class TerminalProgressRenderer {
121
148
  this.pullBars.clear();
122
149
  this.pullBaseWidth = 0;
123
150
  }
151
+ inspection_write(event) {
152
+ if (event.phase === 'complete' || event.phase === 'failed') {
153
+ this.inspection_stop();
154
+ return;
155
+ }
156
+ this.inspectionLabel = event.label ?? 'Reading registered pipeline…';
157
+ if (this.inspectionInterval !== null)
158
+ return;
159
+ this.inspectionFrameIndex = 0;
160
+ this.statusStream.write('\x1B[?25l');
161
+ this.inspection_render();
162
+ this.inspectionInterval = setInterval(() => {
163
+ this.inspectionFrameIndex = (this.inspectionFrameIndex + 1) % INSPECTION_FRAMES.length;
164
+ this.inspection_render();
165
+ }, INSPECTION_FRAME_MS);
166
+ }
167
+ inspection_render() {
168
+ const frame = INSPECTION_FRAMES[this.inspectionFrameIndex];
169
+ this.statusStream.write(`\r\x1b[K${chalk.cyanBright(frame)} ${chalk.gray(this.inspectionLabel)}`);
170
+ }
171
+ inspection_stop() {
172
+ if (this.inspectionInterval === null)
173
+ return;
174
+ clearInterval(this.inspectionInterval);
175
+ this.inspectionInterval = null;
176
+ this.statusStream.write('\r\x1b[K');
177
+ this.statusStream.write('\x1B[?25h');
178
+ }
124
179
  transfer_write(event) {
125
180
  if (event.phase === 'complete' || event.phase === 'failed') {
126
181
  const existing = this.transferBars.get(event.operation);
@@ -142,6 +197,8 @@ export class TerminalProgressRenderer {
142
197
  hideCursor: true,
143
198
  clearOnComplete: false,
144
199
  stopOnComplete: false,
200
+ // Draw on the renderer's stream, not an assumed stdout.
201
+ stream: this.stream,
145
202
  }, this.factory.preset);
146
203
  bar.start(total, event_current(event), { label: event_label(event), unit: event.unit ?? '' });
147
204
  state = { bar, total };
@@ -161,6 +218,8 @@ export class TerminalProgressRenderer {
161
218
  hideCursor: true,
162
219
  clearOnComplete: false,
163
220
  stopOnComplete: false,
221
+ // Draw on the renderer's stream, not an assumed stdout.
222
+ stream: this.stream,
164
223
  }, this.factory.preset);
165
224
  }
166
225
  const key = event.itemId;