@fnndsc/brasa 0.44.0 → 0.45.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.
@@ -0,0 +1,391 @@
1
+ /**
2
+ * @file The runner: a backend's long jobs, started, kept and stopped by the
3
+ * core (docs/stratus.adoc, D10).
4
+ *
5
+ * A job is an async function the backend hands in, given a context to
6
+ * report progress, write its log, keep what it must remember, and hear a
7
+ * stop. The runner keeps each job's record and whole log under the
8
+ * session's state folder, so a job outlives the command that started it and
9
+ * every surface; a job whose work runs elsewhere (a cloud's own job, an
10
+ * installer's poll) is picked up again after a restart through its source's
11
+ * `resume`. Each source is a task source, so `/proc/<source>` and the tiles
12
+ * show its jobs as they show any task.
13
+ *
14
+ * Starting a job needs the `tasks` tier: the surface the engine runs under
15
+ * says whether its operator granted it, and the runner refuses without it,
16
+ * so no backend starts a job past that door. Stopping is gentle: `kill`
17
+ * aborts the job's signal and the job ends when its current operation does;
18
+ * it is never forced.
19
+ *
20
+ * @module
21
+ */
22
+ import { EventEmitter } from 'events';
23
+ import * as fs from 'fs';
24
+ import * as os from 'os';
25
+ import * as path from 'path';
26
+ import { envelope_ok, taskState_isOver } from '@fnndsc/menu';
27
+ import { ambient_publish } from './ambient.js';
28
+ import { surface_get } from './surface.js';
29
+ /** The model a job's end travels as, on the ambient channel. */
30
+ export const JOB_MODEL_KIND = 'tasks.job';
31
+ /** How many of a job's last log lines its task carries as `logTail`. */
32
+ export const JOB_LOG_TAIL_LINES = 20;
33
+ /** Why a job did not start. */
34
+ export class JobRefusal extends Error {
35
+ /**
36
+ * @param message - The refusal, as the operator reads it.
37
+ */
38
+ constructor(message) {
39
+ super(message);
40
+ this.name = 'JobRefusal';
41
+ }
42
+ }
43
+ /**
44
+ * The folder the runner keeps a backend's jobs in:
45
+ * `$XDG_STATE_HOME/<backend>/jobs` (`~/.local/state` when unset).
46
+ *
47
+ * @param backendId - The backend's id.
48
+ * @param env - The environment.
49
+ * @returns The folder.
50
+ */
51
+ export function jobsRoot_of(backendId, env = process.env) {
52
+ const state = env['XDG_STATE_HOME'] || path.join(os.homedir(), '.local', 'state');
53
+ return path.join(state, backendId, 'jobs');
54
+ }
55
+ /**
56
+ * Writes a file whole or not at all.
57
+ *
58
+ * @param file - Where.
59
+ * @param text - What.
60
+ */
61
+ function file_writeAtomic(file, text) {
62
+ const temporary = `${file}.${process.pid}.tmp`;
63
+ fs.writeFileSync(temporary, text, { mode: 0o600 });
64
+ fs.renameSync(temporary, file);
65
+ }
66
+ /** The runner: every job source of one session. */
67
+ export class JobRunner {
68
+ root;
69
+ sources;
70
+ allowed;
71
+ entries = new Map();
72
+ events = new EventEmitter();
73
+ /**
74
+ * @param root - The folder its records and logs live in.
75
+ * @param sources - The backend's job sources.
76
+ * @param allowed - Whether starting a job is allowed now (the `tasks` tier).
77
+ */
78
+ constructor(root, sources, allowed = () => surface_get().capabilities.tasks === true) {
79
+ this.root = root;
80
+ this.sources = sources;
81
+ this.allowed = allowed;
82
+ this.events.setMaxListeners(0);
83
+ for (const source of sources)
84
+ this.records_load(source.id);
85
+ }
86
+ /**
87
+ * A job's key in the map.
88
+ *
89
+ * @param source - Its source's id.
90
+ * @param id - Its id.
91
+ * @returns The key.
92
+ */
93
+ key_of(source, id) {
94
+ return `${source}/${id}`;
95
+ }
96
+ /**
97
+ * A source's folder, made when missing.
98
+ *
99
+ * @param source - Its id.
100
+ * @returns The folder.
101
+ */
102
+ folder_of(source) {
103
+ const folder = path.join(this.root, source);
104
+ fs.mkdirSync(folder, { recursive: true, mode: 0o700 });
105
+ return folder;
106
+ }
107
+ /**
108
+ * Reads a source's records back from disk.
109
+ *
110
+ * @param source - Its id.
111
+ */
112
+ records_load(source) {
113
+ const folder = path.join(this.root, source);
114
+ if (!fs.existsSync(folder))
115
+ return;
116
+ for (const name of fs.readdirSync(folder).filter((file) => file.endsWith('.json'))) {
117
+ try {
118
+ const record = JSON.parse(fs.readFileSync(path.join(folder, name), 'utf-8'));
119
+ const tail = this.logLines_read(source, record.id).slice(-JOB_LOG_TAIL_LINES);
120
+ this.entries.set(this.key_of(source, record.id), { record, tail });
121
+ }
122
+ catch {
123
+ // A torn record is no job; the next start of that id replaces it.
124
+ }
125
+ }
126
+ }
127
+ /**
128
+ * A job's log, as lines.
129
+ *
130
+ * @param source - Its source.
131
+ * @param id - Its id.
132
+ * @returns The lines (none when it has no log).
133
+ */
134
+ logLines_read(source, id) {
135
+ const file = path.join(this.root, source, `${id}.log`);
136
+ if (!fs.existsSync(file))
137
+ return [];
138
+ return fs.readFileSync(file, 'utf-8').split('\n').filter((line) => line !== '');
139
+ }
140
+ /**
141
+ * Saves a job's record.
142
+ *
143
+ * @param entry - The job.
144
+ */
145
+ record_save(entry) {
146
+ file_writeAtomic(path.join(this.folder_of(entry.record.source), `${entry.record.id}.json`), `${JSON.stringify(entry.record, null, 2)}\n`);
147
+ }
148
+ /**
149
+ * Adds a line to a job's log, on disk and in its tail, and tells anyone following.
150
+ *
151
+ * @param entry - The job.
152
+ * @param line - The line.
153
+ */
154
+ log_append(entry, line) {
155
+ const stamped = `${new Date().toISOString().slice(11, 19)} ${line}`;
156
+ fs.appendFileSync(path.join(this.folder_of(entry.record.source), `${entry.record.id}.log`), `${stamped}\n`, { mode: 0o600 });
157
+ entry.tail.push(stamped);
158
+ if (entry.tail.length > JOB_LOG_TAIL_LINES)
159
+ entry.tail.shift();
160
+ this.events.emit(`log:${this.key_of(entry.record.source, entry.record.id)}`, stamped);
161
+ }
162
+ /**
163
+ * Runs a job's work to its end and records how it ended.
164
+ *
165
+ * @param entry - The job.
166
+ * @param run - Its work.
167
+ * @returns Its record at the end.
168
+ */
169
+ async work_run(entry, run) {
170
+ const controller = new AbortController();
171
+ entry.controller = controller;
172
+ const context = {
173
+ signal: controller.signal,
174
+ data: entry.record.data,
175
+ progress_set: (progress) => { entry.record.progress = progress; this.record_save(entry); },
176
+ log_write: (line) => { this.log_append(entry, line); },
177
+ data_set: (key, value) => { entry.record.data[key] = value; this.record_save(entry); },
178
+ };
179
+ try {
180
+ await run(context);
181
+ entry.record.state = controller.signal.aborted ? 'cancelled' : 'done';
182
+ entry.record.outcome = controller.signal.aborted ? 'stopped when asked' : 'done';
183
+ }
184
+ catch (error) {
185
+ entry.record.state = controller.signal.aborted ? 'cancelled' : 'failed';
186
+ entry.record.outcome = error instanceof Error ? error.message : String(error);
187
+ this.log_append(entry, `${entry.record.state}: ${entry.record.outcome}`);
188
+ }
189
+ entry.record.ended = new Date().toISOString();
190
+ delete entry.controller;
191
+ this.record_save(entry);
192
+ this.events.emit(`end:${this.key_of(entry.record.source, entry.record.id)}`, entry.record);
193
+ // Every surface hears a job end, as it hears a chime: a line and its model.
194
+ ambient_publish({
195
+ kind: 'envelope',
196
+ envelope: envelope_ok(`/proc/${entry.record.source}/${entry.record.id}: ${entry.record.state}${entry.record.state === 'done' ? '' : ` (${entry.record.outcome ?? ''})`}\n`, { kind: JOB_MODEL_KIND, data: { ...entry.record } }),
197
+ });
198
+ return entry.record;
199
+ }
200
+ /**
201
+ * Starts a job.
202
+ *
203
+ * @param source - Its source's id.
204
+ * @param id - Its id (a path segment); a job of that id that has ended is replaced.
205
+ * @param label - What an operator reads it as.
206
+ * @param run - Its work.
207
+ * @param data - What it starts out remembering.
208
+ * @returns Its record as it starts; `finished` resolves with its record at the end.
209
+ * @throws JobRefusal - Without the `tasks` tier, for an unknown source, or while that id still runs.
210
+ */
211
+ job_start(source, id, label, run, data = {}) {
212
+ if (!this.allowed())
213
+ throw new JobRefusal(`${id}: Operation not permitted: starting a task needs the tasks tier (calypso --host-control tasks)`);
214
+ if (!this.sources.some((candidate) => candidate.id === source))
215
+ throw new JobRefusal(`${id}: no task source ${source}`);
216
+ if (!/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(id))
217
+ throw new JobRefusal(`${id}: a task's name is letters, digits, '.', '_' and '-'`);
218
+ const existing = this.entries.get(this.key_of(source, id));
219
+ if (existing !== undefined && !taskState_isOver(existing.record.state))
220
+ throw new JobRefusal(`${id}: already running (/proc/${source}/${id})`);
221
+ const folder = this.folder_of(source);
222
+ fs.rmSync(path.join(folder, `${id}.log`), { force: true });
223
+ const entry = { record: { id, source, label, state: 'running', started: new Date().toISOString(), data: { ...data } }, tail: [] };
224
+ this.entries.set(this.key_of(source, id), entry);
225
+ this.record_save(entry);
226
+ entry.done = this.work_run(entry, run);
227
+ return { record: { ...entry.record }, finished: entry.done };
228
+ }
229
+ /**
230
+ * Picks up the jobs that were running when the session last ended: each
231
+ * source's `resume` gives the work to go on with, or the job is marked
232
+ * failed, saying why. Run once, after the surface is installed.
233
+ *
234
+ * @returns How many went on.
235
+ */
236
+ jobs_resume() {
237
+ let resumed = 0;
238
+ for (const entry of this.entries.values()) {
239
+ if (taskState_isOver(entry.record.state) || entry.controller !== undefined)
240
+ continue;
241
+ const source = this.sources.find((candidate) => candidate.id === entry.record.source);
242
+ const run = source?.resume?.(entry.record) ?? null;
243
+ if (run === null || !this.allowed()) {
244
+ entry.record.state = 'failed';
245
+ entry.record.ended = new Date().toISOString();
246
+ entry.record.outcome = run === null ? 'interrupted: the session ended while it ran, and it cannot be picked up again' : 'interrupted: the session restarted without the tasks tier';
247
+ this.log_append(entry, `failed: ${entry.record.outcome}`);
248
+ this.record_save(entry);
249
+ continue;
250
+ }
251
+ this.log_append(entry, 'picked up again after a restart');
252
+ entry.done = this.work_run(entry, run);
253
+ resumed++;
254
+ }
255
+ return resumed;
256
+ }
257
+ /**
258
+ * Asks a running job to stop.
259
+ *
260
+ * @param source - Its source.
261
+ * @param id - Its id.
262
+ * @returns What happened.
263
+ */
264
+ job_stop(source, id) {
265
+ const entry = this.entries.get(this.key_of(source, id));
266
+ if (entry === undefined)
267
+ return 'unknown';
268
+ if (entry.controller === undefined)
269
+ return 'not-running';
270
+ if (entry.controller.signal.aborted)
271
+ return 'already-stopping';
272
+ this.log_append(entry, 'asked to stop; it ends when its current operation does');
273
+ entry.controller.abort();
274
+ return 'stopping';
275
+ }
276
+ /**
277
+ * One job's record.
278
+ *
279
+ * @param source - Its source.
280
+ * @param id - Its id.
281
+ * @returns A copy, or undefined.
282
+ */
283
+ job_get(source, id) {
284
+ const entry = this.entries.get(this.key_of(source, id));
285
+ return entry === undefined ? undefined : { ...entry.record, data: { ...entry.record.data } };
286
+ }
287
+ /**
288
+ * Every job, or one source's.
289
+ *
290
+ * @param source - A source's id; absent, all.
291
+ * @returns Copies of their records, newest first.
292
+ */
293
+ jobs_list(source) {
294
+ return [...this.entries.values()]
295
+ .filter((entry) => source === undefined || entry.record.source === source)
296
+ .map((entry) => ({ ...entry.record, data: { ...entry.record.data } }))
297
+ .sort((a, b) => b.started.localeCompare(a.started));
298
+ }
299
+ /**
300
+ * Follows a job, as `tail -f` does: its last lines kept in memory first,
301
+ * then each new one, then its end.
302
+ *
303
+ * @param source - Its source.
304
+ * @param id - Its id.
305
+ * @param onLine - Hears each new line.
306
+ * @param signal - Stops following (the job goes on).
307
+ * @returns Its record at the end, or at the moment following stopped.
308
+ */
309
+ job_follow(source, id, onLine, signal) {
310
+ const key = this.key_of(source, id);
311
+ const entry = this.entries.get(key);
312
+ if (entry === undefined)
313
+ return Promise.resolve(undefined);
314
+ for (const line of entry.tail)
315
+ onLine(line);
316
+ if (taskState_isOver(entry.record.state))
317
+ return Promise.resolve({ ...entry.record });
318
+ return new Promise((resolve) => {
319
+ const line_hear = (line) => onLine(line);
320
+ const finish = () => {
321
+ this.events.off(`log:${key}`, line_hear);
322
+ this.events.off(`end:${key}`, finish);
323
+ signal?.removeEventListener('abort', finish);
324
+ resolve({ ...entry.record });
325
+ };
326
+ this.events.on(`log:${key}`, line_hear);
327
+ this.events.on(`end:${key}`, finish);
328
+ signal?.addEventListener('abort', finish, { once: true });
329
+ });
330
+ }
331
+ /**
332
+ * A job's log, whole.
333
+ *
334
+ * @param source - Its source.
335
+ * @param id - Its id.
336
+ * @returns The log, or null when there is none.
337
+ */
338
+ log_read(source, id) {
339
+ const lines = this.logLines_read(source, id);
340
+ return lines.length === 0 && !this.entries.has(this.key_of(source, id)) ? null : lines.map((line) => `${line}\n`).join('');
341
+ }
342
+ /**
343
+ * The job sources as task sources, for `/proc` and the tiles.
344
+ *
345
+ * @returns One task source per job source.
346
+ */
347
+ taskSources_get() {
348
+ return this.sources.map((source) => ({
349
+ id: source.id,
350
+ label: source.label,
351
+ list: async () => this.jobs_list(source.id).map((record) => this.task_of(record)),
352
+ log: async (id) => this.log_read(source.id, id),
353
+ }));
354
+ }
355
+ /**
356
+ * A job as a task.
357
+ *
358
+ * @param record - Its record.
359
+ * @returns The task.
360
+ */
361
+ task_of(record) {
362
+ const entry = this.entries.get(this.key_of(record.source, record.id));
363
+ return {
364
+ id: record.id,
365
+ label: record.label,
366
+ state: record.state,
367
+ ...(record.progress !== undefined ? { progress: record.progress } : {}),
368
+ started: record.started,
369
+ ...(record.ended !== undefined ? { ended: record.ended } : {}),
370
+ ...(entry !== undefined && entry.tail.length > 0 ? { logTail: entry.tail.map((line) => `${line}\n`).join('') } : {}),
371
+ };
372
+ }
373
+ }
374
+ let installed = null;
375
+ /**
376
+ * Installs the session's runner.
377
+ *
378
+ * @param runner - The runner, or null to remove it.
379
+ */
380
+ export function runner_install(runner) {
381
+ installed = runner;
382
+ }
383
+ /**
384
+ * The session's runner.
385
+ *
386
+ * @returns It, or null when the backend runs no jobs.
387
+ */
388
+ export function runner_get() {
389
+ return installed;
390
+ }
391
+ //# sourceMappingURL=runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/core/runner.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,20 @@ export interface StackVersions {
43
43
  * @returns The version strings, keyed by package.
44
44
  */
45
45
  export declare function versions_get(): StackVersions;
46
+ /** The packages that are ChRIS's own: a session over another backend runs them without being made of them. */
47
+ export declare const CHRIS_STACK_PACKAGES: readonly ["chili", "salsa", "cumin"];
48
+ /** A stack's versions as a session names them: ChRIS's own packages only when it is a ChRIS session. */
49
+ export type SessionStackVersions = Omit<StackVersions, (typeof CHRIS_STACK_PACKAGES)[number]> & Partial<Pick<StackVersions, (typeof CHRIS_STACK_PACKAGES)[number]>>;
50
+ /**
51
+ * The versions a session over a backend is made of: every package for
52
+ * ChRIS, and without ChRIS's own (`chili salsa cumin`) for any other, which
53
+ * loads them only because they are installed beside it.
54
+ *
55
+ * @param versions - The stack's versions.
56
+ * @param backendId - The session's backend (`chris`, `stratus`, `null`).
57
+ * @returns The versions the session's banner and attach answer name.
58
+ */
59
+ export declare function versionsForBackend_of(versions: StackVersions, backendId: string): SessionStackVersions;
46
60
  /**
47
61
  * Builds the terse `--version` report: one aligned `name version` line per
48
62
  * package, versions in a single column.
@@ -137,6 +137,25 @@ export function versions_get() {
137
137
  calypso: byPkg.calypso,
138
138
  };
139
139
  }
140
+ /** The packages that are ChRIS's own: a session over another backend runs them without being made of them. */
141
+ export const CHRIS_STACK_PACKAGES = ['chili', 'salsa', 'cumin'];
142
+ /**
143
+ * The versions a session over a backend is made of: every package for
144
+ * ChRIS, and without ChRIS's own (`chili salsa cumin`) for any other, which
145
+ * loads them only because they are installed beside it.
146
+ *
147
+ * @param versions - The stack's versions.
148
+ * @param backendId - The session's backend (`chris`, `stratus`, `null`).
149
+ * @returns The versions the session's banner and attach answer name.
150
+ */
151
+ export function versionsForBackend_of(versions, backendId) {
152
+ if (backendId === 'chris')
153
+ return { ...versions };
154
+ const kept = { ...versions };
155
+ for (const pkg of CHRIS_STACK_PACKAGES)
156
+ delete kept[pkg];
157
+ return kept;
158
+ }
140
159
  /**
141
160
  * Builds the terse `--version` report: one aligned `name version` line per
142
161
  * package, versions in a single column.
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/core/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AASvC,MAAM,SAAS,GAAW,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AASvE;;;;;;GAMG;AACH,SAAS,mBAAmB,CAAC,IAAY;IACvC,OAAO,OAAO,kBAAkB,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACzG,CAAC;AAED;;;;;;GAMG;AACH,SAAS,iBAAiB;IACxB,IAAI,CAAC;QACH,OAAQ,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC,EAAE,OAAO,CAAC,CAAiB,CAAC,OAAO,CAAC;IACnH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,mBAAmB,CAAC,eAAe,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,mBAAmB,CAAC,IAAY;IACvC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,OAAQ,GAAG,CAAC,GAAG,IAAI,eAAe,CAAiB,CAAC,OAAO,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;AACH,CAAC;AASD;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa;IAC3B,IAAI,CAAC;QACH,MAAM,IAAI,GAAsB,IAAI,CAAC,KAAK,CACxC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,mBAAmB,CAAC,EAAE,OAAO,CAAC,CAC/C,CAAC;QACvB,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,8DAA8D;IAChE,CAAC;IACD,OAAO,OAAO,cAAc,KAAK,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC;AACxE,CAAC;AAiBD;;;;;;GAMG;AACH,MAAM,KAAK,GAAiC;IAC1C,EAAE,GAAG,EAAE,OAAO,EAAI,IAAI,EAAE,8BAA8B,EAAmC,IAAI,EAAE,SAAS,EAAE;IAC1G,EAAE,GAAG,EAAE,OAAO,EAAI,IAAI,EAAE,qCAAqC,EAA4B,IAAI,EAAE,QAAQ,EAAG;IAC1G,EAAE,GAAG,EAAE,OAAO,EAAI,IAAI,EAAE,6CAA6C,EAAoB,IAAI,EAAE,OAAO,EAAI;IAC1G,EAAE,GAAG,EAAE,OAAO,EAAI,IAAI,EAAE,sCAAsC,EAA2B,IAAI,EAAE,OAAO,EAAI;IAC1G,EAAE,GAAG,EAAE,OAAO,EAAI,IAAI,EAAE,iDAAiD,EAAgB,IAAI,EAAE,OAAO,EAAI;IAC1G,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,+DAA+D,EAAE,IAAI,EAAE,aAAa,EAAE;CAC/G,CAAC;AAEF;;;;GAIG;AACH,MAAM,KAAK,GAAsB,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,uCAAuC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAElH;;;;;;;GAOG;AACH,SAAS,mBAAmB,CAAC,UAA6B;IACxD,MAAM,OAAO,GACX,UAAU,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,WAAW,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;IACtG,OAAO,EAAE,GAAG,UAAU,EAAE,OAAO,EAAE,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACxC,CAAC;AAYD;;;;GAIG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,KAAK,GAA2B,MAAM,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACtH,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,IAAI,GAAkB,aAAa,EAAE,CAAC;IAC5C,MAAM,QAAQ,GAAW,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACjF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAc,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5F,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAW,EAAE,OAAe,EAAE,KAAa;IAC7E,MAAM,UAAU,GAAsB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;IACtG,2EAA2E;IAC3E,wEAAwE;IACxE,sDAAsD;IACtD,MAAM,OAAO,GAAW,UAAU,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,OAAO,GAAG,UAAU,CAAC,IAAI,OAAO,OAAO,KAAK,KAAK,KAAK,OAAO,EAAE,CAAC;AAClE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,YAA2B;IAC3D,OAAO,mBAAmB,CAAC,YAAY,EAAE,EAAE,YAAY,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAgC,EAChC,eAA8B,IAAI;IAElC,OAAO,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,GAAG,CACjD,CAAC,GAAmB,EAAU,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,CACrF,CAAC;AACJ,CAAC;AAOD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAgC,EAChC,eAA8B,IAAI;IAElC,MAAM,KAAK,GAAuC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/F,MAAM,IAAI,GAAkB;QAC1B,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,UAA6B,EAAiB,EAAE;YAChE,MAAM,OAAO,GAAuB,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAC1D,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC;QACF,GAAG,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACxE,CAAC;IACF,MAAM,SAAS,GAAW,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAgB,EAAU,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAClG,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAgB,EAAkB,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;AACjF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAClC,GAAmB,EACnB,KAAqG;IAErG,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAa,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACvD,MAAM,MAAM,GAAW,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,MAAM,OAAO,GAAW,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpE,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;AAChG,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc,OAAO;IACrD,MAAM,UAAU,GAAsB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;IACtG,MAAM,IAAI,GAAgB,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC1D,OAAO,mBAAmB,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,+EAA+E;AAC/E,MAAM,aAAa,GAAsD;IACvE,EAAE,IAAI,EAAE,SAAS,EAAM,OAAO,EAAE,UAAU,EAAM;IAChD,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE;IAChD,EAAE,IAAI,EAAE,QAAQ,EAAO,OAAO,EAAE,QAAQ,EAAQ;IAChD,EAAE,IAAI,EAAE,OAAO,EAAQ,OAAO,EAAE,QAAQ,EAAQ;CACjD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,IAAI,GAAkB,aAAa,EAAE,CAAC;IAC5C,MAAM,QAAQ,GAAW,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACjF,MAAM,SAAS,GAAW,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACnF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,aAAa,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAkB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAC7E,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAChC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/core/version.ts"],"names":[],"mappings":"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"}
package/dist/core.d.ts CHANGED
@@ -17,7 +17,8 @@ export * from './core/question.js';
17
17
  export * from './core/progress.js';
18
18
  export * from './core/commandRegistry.js';
19
19
  export * from './core/tasks.js';
20
+ export * from './core/runner.js';
20
21
  export * from './core/version.js';
21
22
  export * from './logo/brain.js';
22
23
  export { nullBackend_make, type NullBackendOptions } from './null/backend.js';
23
- export { commandCancellation_stopped } from './core/cancellation.js';
24
+ export { commandCancellation_enable, commandCancellation_signalGet, commandCancellation_stopped } from './core/cancellation.js';
package/dist/core.js CHANGED
@@ -17,8 +17,9 @@ export * from './core/question.js';
17
17
  export * from './core/progress.js';
18
18
  export * from './core/commandRegistry.js';
19
19
  export * from './core/tasks.js';
20
+ export * from './core/runner.js';
20
21
  export * from './core/version.js';
21
22
  export * from './logo/brain.js';
22
23
  export { nullBackend_make } from './null/backend.js';
23
- export { commandCancellation_stopped } from './core/cancellation.js';
24
+ export { commandCancellation_enable, commandCancellation_signalGet, commandCancellation_stopped } from './core/cancellation.js';
24
25
  //# sourceMappingURL=core.js.map
package/dist/core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAA2B,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAA2B,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,0BAA0B,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC"}
@@ -15,7 +15,8 @@ import { listingCache_get, listingCache_holds, vfsDispatcher_get } from '../../c
15
15
  import { spinner } from '../spinner.js';
16
16
  import { error_stripDebugPrefix } from '../../core/errorText.js';
17
17
  import { listingItemsFromVfs_make } from './listing.js';
18
- import { Ok, Err, errorStack, grid_render, long_render, listingItems_sort, LISTING_LOOK_PLAIN } from '@fnndsc/fond';
18
+ import { Ok, Err, errorStack, grid_render, long_render, listingItems_sort } from '@fnndsc/fond';
19
+ import { itemType_isContainer, listingLook_get } from '../../core/itemKinds.js';
19
20
  import { backendInstalled_get } from '../../core/backend.js';
20
21
  export class VFS {
21
22
  /**
@@ -206,7 +207,7 @@ export class VFS {
206
207
  listingCache_get().cache_set(parentPath, parentItems);
207
208
  }
208
209
  const item = parentItems.find((candidate) => candidate.name === baseName);
209
- if (!item || item.type === 'dir' || item.type === 'vfs' || item.type === 'job')
210
+ if (!item || itemType_isContainer(item.type))
210
211
  return null;
211
212
  return item;
212
213
  }
@@ -227,7 +228,7 @@ export class VFS {
227
228
  // so it must fall through to the dispatcher, whose PathMapper resolves
228
229
  // the target. Returning the link entry here rendered `ls ~/public` as
229
230
  // the link itself whenever the parent listing happened to be cached.
230
- if (!item || item.type === 'dir' || item.type === 'vfs' || item.type === 'job' || item.type === 'link') {
231
+ if (!item || itemType_isContainer(item.type) || item.type === 'link') {
231
232
  return null;
232
233
  }
233
234
  return item;
@@ -303,7 +304,7 @@ export class VFS {
303
304
  }
304
305
  // Render based on options. A long listing over feeds shows their tags:
305
306
  // one map for the whole listing, never a read per feed.
306
- const look = backendInstalled_get()?.listingLook ?? LISTING_LOOK_PLAIN;
307
+ const look = listingLook_get();
307
308
  let rendered = options.long
308
309
  ? `${long_render(await longRows_annotate(result.value), { human: !!options.human }, look)}\n`
309
310
  : `${grid_render(result.value, { oneColumn: !!options.oneColumn }, look)}\n`;
@@ -1 +1 @@
1
- {"version":3,"file":"vfs.js","sourceRoot":"","sources":["../../../src/lib/vfs/vfs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vfs.js","sourceRoot":"","sources":["../../../src/lib/vfs/vfs.ts"],"names":[],"mappings":"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"}