@fnndsc/brasa 0.47.0 → 0.48.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.
- package/dist/api/index.d.ts +1 -1
- package/dist/api/index.js +1 -1
- package/dist/api/index.js.map +1 -1
- package/dist/buildinfo.json +1 -1
- package/dist/builtins/fs/cd.js +2 -2
- package/dist/builtins/fs/cd.js.map +1 -1
- package/dist/builtins/fs/cp.js +2 -2
- package/dist/builtins/fs/cp.js.map +1 -1
- package/dist/builtins/fs/edit.js +3 -3
- package/dist/builtins/fs/edit.js.map +1 -1
- package/dist/builtins/fs/entries.d.ts +1 -1
- package/dist/builtins/fs/entries.js +1 -1
- package/dist/builtins/fs/entries.js.map +1 -1
- package/dist/builtins/fs/find.d.ts +1 -1
- package/dist/builtins/fs/find.js +11 -11
- package/dist/builtins/fs/find.js.map +1 -1
- package/dist/builtins/fs/ls.js +3 -3
- package/dist/builtins/fs/ls.js.map +1 -1
- package/dist/builtins/fs/mkdir.js +4 -4
- package/dist/builtins/fs/mkdir.js.map +1 -1
- package/dist/builtins/fs/mv.js +3 -3
- package/dist/builtins/fs/mv.js.map +1 -1
- package/dist/builtins/fs/pull.js +2 -2
- package/dist/builtins/fs/pull.js.map +1 -1
- package/dist/builtins/fs/pwd.js +2 -2
- package/dist/builtins/fs/pwd.js.map +1 -1
- package/dist/builtins/fs/rm.js +2 -2
- package/dist/builtins/fs/rm.js.map +1 -1
- package/dist/builtins/fs/touch.js +2 -2
- package/dist/builtins/fs/touch.js.map +1 -1
- package/dist/builtins/games/bytes.d.ts +1 -1
- package/dist/builtins/games/bytes.js +2 -2
- package/dist/builtins/games/bytes.js.map +1 -1
- package/dist/builtins/games/numbers.d.ts +1 -1
- package/dist/builtins/games/numbers.js +2 -2
- package/dist/builtins/games/numbers.js.map +1 -1
- package/dist/builtins/games/qr.d.ts +1 -1
- package/dist/builtins/games/qr.js +2 -2
- package/dist/builtins/games/qr.js.map +1 -1
- package/dist/builtins/games/shelf.d.ts +4 -4
- package/dist/builtins/games/shelf.js +7 -7
- package/dist/builtins/games/shelf.js.map +1 -1
- package/dist/builtins/games/show.d.ts +1 -1
- package/dist/builtins/games/show.js +4 -4
- package/dist/builtins/games/show.js.map +1 -1
- package/dist/builtins/games/sky.d.ts +4 -4
- package/dist/builtins/games/sky.js +12 -12
- package/dist/builtins/games/sky.js.map +1 -1
- package/dist/builtins/helpSections.d.ts +1 -1
- package/dist/builtins/helpSections.js +3 -3
- package/dist/builtins/helpSections.js.map +1 -1
- package/dist/builtins/net/query.csv.d.ts +2 -2
- package/dist/builtins/net/query.csv.js +6 -6
- package/dist/builtins/net/query.csv.js.map +1 -1
- package/dist/builtins/net/query.d.ts +1 -1
- package/dist/builtins/net/query.js +15 -15
- package/dist/builtins/net/query.js.map +1 -1
- package/dist/builtins/net/query.view.js +8 -8
- package/dist/builtins/net/query.view.js.map +1 -1
- package/dist/builtins/pluginExecute.js +2 -2
- package/dist/builtins/pluginExecute.js.map +1 -1
- package/dist/builtins/proc.js +6 -6
- package/dist/builtins/proc.js.map +1 -1
- package/dist/builtins/procWatch.js +2 -2
- package/dist/builtins/procWatch.js.map +1 -1
- package/dist/builtins/res/dicom.js +2 -2
- package/dist/builtins/res/dicom.js.map +1 -1
- package/dist/builtins/res/expect.js +3 -3
- package/dist/builtins/res/expect.js.map +1 -1
- package/dist/builtins/res/feed.diagram.js +1 -1
- package/dist/builtins/res/feed.diagram.js.map +1 -1
- package/dist/builtins/res/feed.js +3 -3
- package/dist/builtins/res/feed.js.map +1 -1
- package/dist/builtins/res/feed.tree.collapse.js +2 -2
- package/dist/builtins/res/feed.tree.collapse.js.map +1 -1
- package/dist/builtins/res/feed.tree.render.js +3 -3
- package/dist/builtins/res/feed.tree.render.js.map +1 -1
- package/dist/builtins/res/files.js +2 -2
- package/dist/builtins/res/files.js.map +1 -1
- package/dist/builtins/res/gather.facts.js +3 -3
- package/dist/builtins/res/gather.facts.js.map +1 -1
- package/dist/builtins/res/gather.js +10 -10
- package/dist/builtins/res/gather.js.map +1 -1
- package/dist/builtins/res/gather.store.d.ts +2 -2
- package/dist/builtins/res/gather.store.js +3 -3
- package/dist/builtins/res/gather.store.js.map +1 -1
- package/dist/builtins/res/group.js +14 -4
- package/dist/builtins/res/group.js.map +1 -1
- package/dist/builtins/res/pipeline.js +2 -2
- package/dist/builtins/res/pipeline.js.map +1 -1
- package/dist/builtins/res/play.js +67 -10
- package/dist/builtins/res/play.js.map +1 -1
- package/dist/builtins/res/plugin.js +2 -2
- package/dist/builtins/res/plugin.js.map +1 -1
- package/dist/builtins/res/plugininstance.js +31 -4
- package/dist/builtins/res/plugininstance.js.map +1 -1
- package/dist/builtins/res/pluginmeta.js +13 -4
- package/dist/builtins/res/pluginmeta.js.map +1 -1
- package/dist/builtins/res/runWait.d.ts +1 -1
- package/dist/builtins/res/runWait.js +1 -1
- package/dist/builtins/res/runWait.js.map +1 -1
- package/dist/builtins/res/tag.js +13 -4
- package/dist/builtins/res/tag.js.map +1 -1
- package/dist/builtins/res/workflow.js +13 -4
- package/dist/builtins/res/workflow.js.map +1 -1
- package/dist/builtins/sys/date.js +2 -2
- package/dist/builtins/sys/date.js.map +1 -1
- package/dist/builtins/sys/grep.js +6 -6
- package/dist/builtins/sys/grep.js.map +1 -1
- package/dist/builtins/sys/tasks.js +1 -1
- package/dist/builtins/sys/tasks.js.map +1 -1
- package/dist/builtins/sys/textFilters.js +11 -11
- package/dist/builtins/sys/textFilters.js.map +1 -1
- package/dist/builtins/sys/variables.js +2 -2
- package/dist/builtins/sys/variables.js.map +1 -1
- package/dist/builtins/sys/weather.d.ts +2 -2
- package/dist/builtins/sys/weather.js +5 -5
- package/dist/builtins/sys/weather.js.map +1 -1
- package/dist/builtins/utils.d.ts +31 -2
- package/dist/builtins/utils.js +49 -3
- package/dist/builtins/utils.js.map +1 -1
- package/dist/chris/backend.js +2 -2
- package/dist/chris/backend.js.map +1 -1
- package/dist/chris/binMount.js +4 -4
- package/dist/chris/binMount.js.map +1 -1
- package/dist/chris/connect.d.ts +3 -3
- package/dist/chris/connect.js +2 -2
- package/dist/chris/files.js +4 -4
- package/dist/chris/files.js.map +1 -1
- package/dist/chris/filesystem.js +2 -2
- package/dist/chris/filesystem.js.map +1 -1
- package/dist/chris/help.js +18 -16
- package/dist/chris/help.js.map +1 -1
- package/dist/chris/mounts.js +2 -2
- package/dist/chris/mounts.js.map +1 -1
- package/dist/chris/navigation.js +2 -2
- package/dist/chris/navigation.js.map +1 -1
- package/dist/chris/references.js +2 -0
- package/dist/chris/references.js.map +1 -1
- package/dist/chris/tasks.d.ts +1 -1
- package/dist/chris/tasks.js +2 -2
- package/dist/chris/tasks.js.map +1 -1
- package/dist/chris/universeLayout.d.ts +1 -1
- package/dist/chris/universeLayout.js +6 -6
- package/dist/chris/universeLayout.js.map +1 -1
- package/dist/core/backend.d.ts +5 -0
- package/dist/core/backend.js.map +1 -1
- package/dist/core/dispatch.js +2 -2
- package/dist/core/dispatch.js.map +1 -1
- package/dist/core/engine.d.ts +7 -0
- package/dist/core/engine.js +4 -3
- package/dist/core/engine.js.map +1 -1
- package/dist/core/expansion.d.ts +19 -0
- package/dist/core/expansion.js +32 -2
- package/dist/core/expansion.js.map +1 -1
- package/dist/core/listing.d.ts +2 -2
- package/dist/core/listing.js +6 -6
- package/dist/core/listing.js.map +1 -1
- package/dist/core/runner.d.ts +17 -4
- package/dist/core/runner.js +54 -19
- package/dist/core/runner.js.map +1 -1
- package/dist/core/surface.d.ts +8 -0
- package/dist/core/surface.js +10 -0
- package/dist/core/surface.js.map +1 -1
- package/dist/core/tasks.d.ts +1 -1
- package/dist/core/tasks.js +3 -3
- package/dist/core/tasks.js.map +1 -1
- package/dist/core/turn.d.ts +11 -0
- package/dist/core/turn.js +23 -0
- package/dist/core/turn.js.map +1 -1
- package/dist/core/variables.js +10 -10
- package/dist/core/variables.js.map +1 -1
- package/dist/core/version.d.ts +1 -1
- package/dist/core/version.js +1 -1
- package/dist/core/version.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/parser.js +2 -1
- package/dist/lib/parser.js.map +1 -1
- package/dist/lib/prefetch.d.ts +1 -1
- package/dist/lib/prefetch.js +1 -1
- package/dist/lib/prefetch.js.map +1 -1
- package/dist/lib/vfs/providers/static.js +4 -4
- package/dist/lib/vfs/providers/static.js.map +1 -1
- package/dist/notes.json +1 -1
- package/dist/session/answer.d.ts +4 -4
- package/dist/session/answer.js +4 -4
- package/dist/session/answer.js.map +1 -1
- package/dist/session/answerAdapters.js +4 -4
- package/dist/session/answerAdapters.js.map +1 -1
- package/package.json +7 -7
package/dist/core/expansion.d.ts
CHANGED
|
@@ -31,6 +31,25 @@ export declare function unresolvedStands_run<T>(operation: () => Promise<T>): Pr
|
|
|
31
31
|
* @returns True inside a dry run.
|
|
32
32
|
*/
|
|
33
33
|
export declare function unresolvedStands_get(): boolean;
|
|
34
|
+
/** What the lines a dry run has passed over could have changed. */
|
|
35
|
+
export interface LinesPassed {
|
|
36
|
+
/** How many lines came before. */
|
|
37
|
+
readonly count: number;
|
|
38
|
+
/** The verbs those lines ran: each command of a pipe, a batch or a capture. */
|
|
39
|
+
readonly verbs: ReadonlySet<string>;
|
|
40
|
+
/** The variables those lines assigned. */
|
|
41
|
+
readonly assigned: ReadonlySet<string>;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Whether a reference may answer differently after lines a dry run did not
|
|
45
|
+
* run. The session can answer it from what it held before the play, and
|
|
46
|
+
* that answer misleads once the manifest itself has changed the state.
|
|
47
|
+
*
|
|
48
|
+
* @param name - The reference's name, dots and all, or an `@` index.
|
|
49
|
+
* @param passed - What came before it in the manifest.
|
|
50
|
+
* @returns True when an earlier line may have changed what it answers.
|
|
51
|
+
*/
|
|
52
|
+
export declare function reference_changedBy(name: string, passed: LinesPassed): boolean;
|
|
34
53
|
/**
|
|
35
54
|
* Whether a name is one the session answers for.
|
|
36
55
|
*
|
package/dist/core/expansion.js
CHANGED
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
*/
|
|
27
27
|
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
28
28
|
import { session } from '../session/index.js';
|
|
29
|
-
import { answer_get, answerHandles_get, answerKind_count, answerRow_get, handle_word,
|
|
29
|
+
import { answer_get, answerHandles_get, answerKind_count, answerRow_get, handle_word, numberedFooter_render } from '../session/answer.js';
|
|
30
30
|
import { heldListingOperands_get } from './listing.js';
|
|
31
31
|
import { backendInstalled_get } from './backend.js';
|
|
32
32
|
import { answer_read, variable_get, variableScope_isPlay } from './variables.js';
|
|
@@ -89,6 +89,36 @@ export async function unresolvedStands_run(operation) {
|
|
|
89
89
|
export function unresolvedStands_get() {
|
|
90
90
|
return standsScope.getStore() === true;
|
|
91
91
|
}
|
|
92
|
+
/** The verbs that move the session's directory, which `${cwd}` reads. */
|
|
93
|
+
const CWD_VERBS = ['cd', 'proc', 'jump'];
|
|
94
|
+
/**
|
|
95
|
+
* Whether a reference may answer differently after lines a dry run did not
|
|
96
|
+
* run. The session can answer it from what it held before the play, and
|
|
97
|
+
* that answer misleads once the manifest itself has changed the state.
|
|
98
|
+
*
|
|
99
|
+
* @param name - The reference's name, dots and all, or an `@` index.
|
|
100
|
+
* @param passed - What came before it in the manifest.
|
|
101
|
+
* @returns True when an earlier line may have changed what it answers.
|
|
102
|
+
*/
|
|
103
|
+
export function reference_changedBy(name, passed) {
|
|
104
|
+
if (passed.count === 0)
|
|
105
|
+
return false;
|
|
106
|
+
// A nested play may change anything its own lines do.
|
|
107
|
+
if (passed.verbs.has('play'))
|
|
108
|
+
return true;
|
|
109
|
+
// Every answer renumbers the indices and replaces the held listing.
|
|
110
|
+
if (name.startsWith('@'))
|
|
111
|
+
return true;
|
|
112
|
+
const stem = name.split('.')[0];
|
|
113
|
+
if (stem === LISTING_REFERENCE)
|
|
114
|
+
return true;
|
|
115
|
+
if (stem === CORE_REFERENCE)
|
|
116
|
+
return CWD_VERBS.some((verb) => passed.verbs.has(verb));
|
|
117
|
+
const source = referenceSources_get().find((each) => each.name === stem);
|
|
118
|
+
if (source !== undefined)
|
|
119
|
+
return source.changedBy === undefined || source.changedBy.some((verb) => passed.verbs.has(verb));
|
|
120
|
+
return passed.assigned.has(stem);
|
|
121
|
+
}
|
|
92
122
|
/**
|
|
93
123
|
* Whether a name is one the session answers for.
|
|
94
124
|
*
|
|
@@ -246,7 +276,7 @@ export function reference_refusal(name) {
|
|
|
246
276
|
const count = answerKind_count(kind);
|
|
247
277
|
// Says what IS numbered, in the form an index is typed, so the way to the
|
|
248
278
|
// row the operator meant is in the refusal (a later listing replaced it).
|
|
249
|
-
const held =
|
|
279
|
+
const held = numberedFooter_render(answerHandles_get());
|
|
250
280
|
return count === 0
|
|
251
281
|
? `${name}: the held listing (${numbered.source}) has no ${kind_word(kind)} rows; ${held}.`
|
|
252
282
|
: `${name}: the held listing (${numbered.source}) holds ${count} ${kind} row${count === 1 ? '' : 's'}; ${held}.`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expansion.js","sourceRoot":"","sources":["../../src/core/expansion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,aAAa,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"expansion.js","sourceRoot":"","sources":["../../src/core/expansion.ts"],"names":[],"mappings":"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"}
|
package/dist/core/listing.d.ts
CHANGED
|
@@ -34,14 +34,14 @@ export declare function listingIn_take(): ListingModel | null;
|
|
|
34
34
|
* @param rows - The rows.
|
|
35
35
|
* @returns The operands.
|
|
36
36
|
*/
|
|
37
|
-
export declare function
|
|
37
|
+
export declare function rowOperands_extract(rows: ReadonlyArray<AnswerRow>): string[];
|
|
38
38
|
/**
|
|
39
39
|
* The operands a listing model hands over, or null when it is not a listing.
|
|
40
40
|
*
|
|
41
41
|
* @param model - The model.
|
|
42
42
|
* @returns The operands.
|
|
43
43
|
*/
|
|
44
|
-
export declare function
|
|
44
|
+
export declare function listingOperands_extract(model: ListingModel): string[] | null;
|
|
45
45
|
/**
|
|
46
46
|
* The held listing's operands (`${listing}`), or null before anything listed.
|
|
47
47
|
*
|
package/dist/core/listing.js
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
*
|
|
11
11
|
* @module
|
|
12
12
|
*/
|
|
13
|
-
import { answer_get,
|
|
13
|
+
import { answer_get, answerRows_derive } from '../session/answer.js';
|
|
14
14
|
import { answerKinds_get } from './answerKinds.js';
|
|
15
15
|
import { turnPart_register } from './turn.js';
|
|
16
16
|
/** The listing the previous builtin in a pipe produced, for the next to take. */
|
|
@@ -47,7 +47,7 @@ export function listingIn_take() {
|
|
|
47
47
|
* @param rows - The rows.
|
|
48
48
|
* @returns The operands.
|
|
49
49
|
*/
|
|
50
|
-
export function
|
|
50
|
+
export function rowOperands_extract(rows) {
|
|
51
51
|
const groups = new Set(answerKinds_get().filter((kind) => kind.group === true).map((kind) => kind.code));
|
|
52
52
|
const seen = new Set();
|
|
53
53
|
const operands = [];
|
|
@@ -69,9 +69,9 @@ export function rowsOperands_of(rows) {
|
|
|
69
69
|
* @param model - The model.
|
|
70
70
|
* @returns The operands.
|
|
71
71
|
*/
|
|
72
|
-
export function
|
|
73
|
-
const rows =
|
|
74
|
-
return rows === null ? null :
|
|
72
|
+
export function listingOperands_extract(model) {
|
|
73
|
+
const rows = answerRows_derive(model.kind, model.data);
|
|
74
|
+
return rows === null ? null : rowOperands_extract(rows);
|
|
75
75
|
}
|
|
76
76
|
/**
|
|
77
77
|
* The held listing's operands (`${listing}`), or null before anything listed.
|
|
@@ -80,6 +80,6 @@ export function listingOperands_of(model) {
|
|
|
80
80
|
*/
|
|
81
81
|
export function heldListingOperands_get() {
|
|
82
82
|
const held = answer_get();
|
|
83
|
-
return held === null ? null :
|
|
83
|
+
return held === null ? null : rowOperands_extract(held.rows);
|
|
84
84
|
}
|
|
85
85
|
//# sourceMappingURL=listing.js.map
|
package/dist/core/listing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listing.js","sourceRoot":"","sources":["../../src/core/listing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"listing.js","sourceRoot":"","sources":["../../src/core/listing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAkB,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAQ9C,iFAAiF;AACjF,IAAI,KAAK,GAAwB,IAAI,CAAC;AAEtC,yEAAyE;AACzE,+CAA+C;AAC/C,iBAAiB,CAAC;IAChB,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,GAAY,EAAE,CAAC,KAAK;IAC1B,KAAK,EAAE,GAAS,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;IACpC,OAAO,EAAE,CAAC,KAAc,EAAQ,EAAE,GAAG,KAAK,GAAI,KAA6B,IAAI,IAAI,CAAC,CAAC,CAAC;CACvF,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,KAA0B;IACtD,KAAK,GAAG,KAAK,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,KAAK,GAAwB,KAAK,CAAC;IACzC,KAAK,GAAG,IAAI,CAAC;IACb,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAA8B;IAChE,MAAM,MAAM,GAAgB,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAW,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAU,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACvI,MAAM,IAAI,GAAgB,IAAI,GAAG,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QACnC,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,SAAS;YAC9B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAChB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAmB;IACzD,MAAM,IAAI,GAAuB,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3E,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAC1D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB;IACrC,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;IAC1B,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/D,CAAC"}
|
package/dist/core/runner.d.ts
CHANGED
|
@@ -74,7 +74,7 @@ export type JobStopResult = 'stopping' | 'already-stopping' | 'not-running' | 'u
|
|
|
74
74
|
* @param env - The environment.
|
|
75
75
|
* @returns The folder.
|
|
76
76
|
*/
|
|
77
|
-
export declare function
|
|
77
|
+
export declare function jobsRoot_derive(backendId: string, env?: NodeJS.ProcessEnv): string;
|
|
78
78
|
/** The runner: every job source of one session. */
|
|
79
79
|
export declare class JobRunner {
|
|
80
80
|
private readonly root;
|
|
@@ -95,14 +95,14 @@ export declare class JobRunner {
|
|
|
95
95
|
* @param id - Its id.
|
|
96
96
|
* @returns The key.
|
|
97
97
|
*/
|
|
98
|
-
private
|
|
98
|
+
private key_format;
|
|
99
99
|
/**
|
|
100
100
|
* A source's folder, made when missing.
|
|
101
101
|
*
|
|
102
102
|
* @param source - Its id.
|
|
103
103
|
* @returns The folder.
|
|
104
104
|
*/
|
|
105
|
-
private
|
|
105
|
+
private folder_make;
|
|
106
106
|
/**
|
|
107
107
|
* Reads a source's records back from disk.
|
|
108
108
|
*
|
|
@@ -195,6 +195,19 @@ export declare class JobRunner {
|
|
|
195
195
|
* @returns Its record at the end, or at the moment following stopped.
|
|
196
196
|
*/
|
|
197
197
|
job_follow(source: string, id: string, onLine: (line: string) => void, signal?: AbortSignal): Promise<JobRecord | undefined>;
|
|
198
|
+
/**
|
|
199
|
+
* Follows a job as {@link job_follow} does, but out of the session's turn
|
|
200
|
+
* between its lines: a follow is waiting, not working, so other lines run
|
|
201
|
+
* while the job is quiet (a pane's reads among them). Each line heard is
|
|
202
|
+
* given to `onLine` once the follower has its turn again.
|
|
203
|
+
*
|
|
204
|
+
* @param source - Its source.
|
|
205
|
+
* @param id - Its id.
|
|
206
|
+
* @param onLine - Hears each line, in the follower's turn.
|
|
207
|
+
* @param signal - Stops following (the job goes on).
|
|
208
|
+
* @returns Its record at the end, or at the moment following stopped.
|
|
209
|
+
*/
|
|
210
|
+
job_followAside(source: string, id: string, onLine: (line: string) => void, signal?: AbortSignal): Promise<JobRecord | undefined>;
|
|
198
211
|
/**
|
|
199
212
|
* A job's log, whole.
|
|
200
213
|
*
|
|
@@ -215,7 +228,7 @@ export declare class JobRunner {
|
|
|
215
228
|
* @param record - Its record.
|
|
216
229
|
* @returns The task.
|
|
217
230
|
*/
|
|
218
|
-
private
|
|
231
|
+
private task_build;
|
|
219
232
|
}
|
|
220
233
|
/**
|
|
221
234
|
* Installs the session's runner.
|
package/dist/core/runner.js
CHANGED
|
@@ -25,7 +25,7 @@ import * as os from 'os';
|
|
|
25
25
|
import * as path from 'path';
|
|
26
26
|
import { envelope_ok, taskState_isOver } from '@fnndsc/menu';
|
|
27
27
|
import { ambient_publish } from './ambient.js';
|
|
28
|
-
import { surface_get } from './surface.js';
|
|
28
|
+
import { aside_await, surface_get } from './surface.js';
|
|
29
29
|
/** The model a job's end travels as, on the ambient channel. */
|
|
30
30
|
export const JOB_MODEL_KIND = 'tasks.job';
|
|
31
31
|
/** How many of a job's last log lines its task carries as `logTail`. */
|
|
@@ -48,7 +48,7 @@ export class JobRefusal extends Error {
|
|
|
48
48
|
* @param env - The environment.
|
|
49
49
|
* @returns The folder.
|
|
50
50
|
*/
|
|
51
|
-
export function
|
|
51
|
+
export function jobsRoot_derive(backendId, env = process.env) {
|
|
52
52
|
const state = env['XDG_STATE_HOME'] || path.join(os.homedir(), '.local', 'state');
|
|
53
53
|
return path.join(state, backendId, 'jobs');
|
|
54
54
|
}
|
|
@@ -90,7 +90,7 @@ export class JobRunner {
|
|
|
90
90
|
* @param id - Its id.
|
|
91
91
|
* @returns The key.
|
|
92
92
|
*/
|
|
93
|
-
|
|
93
|
+
key_format(source, id) {
|
|
94
94
|
return `${source}/${id}`;
|
|
95
95
|
}
|
|
96
96
|
/**
|
|
@@ -99,7 +99,7 @@ export class JobRunner {
|
|
|
99
99
|
* @param source - Its id.
|
|
100
100
|
* @returns The folder.
|
|
101
101
|
*/
|
|
102
|
-
|
|
102
|
+
folder_make(source) {
|
|
103
103
|
const folder = path.join(this.root, source);
|
|
104
104
|
fs.mkdirSync(folder, { recursive: true, mode: 0o700 });
|
|
105
105
|
return folder;
|
|
@@ -117,7 +117,7 @@ export class JobRunner {
|
|
|
117
117
|
try {
|
|
118
118
|
const record = JSON.parse(fs.readFileSync(path.join(folder, name), 'utf-8'));
|
|
119
119
|
const tail = this.logLines_read(source, record.id).slice(-JOB_LOG_TAIL_LINES);
|
|
120
|
-
this.entries.set(this.
|
|
120
|
+
this.entries.set(this.key_format(source, record.id), { record, tail });
|
|
121
121
|
}
|
|
122
122
|
catch {
|
|
123
123
|
// A torn record is no job; the next start of that id replaces it.
|
|
@@ -143,7 +143,7 @@ export class JobRunner {
|
|
|
143
143
|
* @param entry - The job.
|
|
144
144
|
*/
|
|
145
145
|
record_save(entry) {
|
|
146
|
-
file_writeAtomic(path.join(this.
|
|
146
|
+
file_writeAtomic(path.join(this.folder_make(entry.record.source), `${entry.record.id}.json`), `${JSON.stringify(entry.record, null, 2)}\n`);
|
|
147
147
|
}
|
|
148
148
|
/**
|
|
149
149
|
* Adds a line to a job's log, on disk and in its tail, and tells anyone following.
|
|
@@ -153,11 +153,11 @@ export class JobRunner {
|
|
|
153
153
|
*/
|
|
154
154
|
log_append(entry, line) {
|
|
155
155
|
const stamped = `${new Date().toISOString().slice(11, 19)} ${line}`;
|
|
156
|
-
fs.appendFileSync(path.join(this.
|
|
156
|
+
fs.appendFileSync(path.join(this.folder_make(entry.record.source), `${entry.record.id}.log`), `${stamped}\n`, { mode: 0o600 });
|
|
157
157
|
entry.tail.push(stamped);
|
|
158
158
|
if (entry.tail.length > JOB_LOG_TAIL_LINES)
|
|
159
159
|
entry.tail.shift();
|
|
160
|
-
this.events.emit(`log:${this.
|
|
160
|
+
this.events.emit(`log:${this.key_format(entry.record.source, entry.record.id)}`, stamped);
|
|
161
161
|
}
|
|
162
162
|
/**
|
|
163
163
|
* Runs a job's work to its end and records how it ended.
|
|
@@ -189,7 +189,7 @@ export class JobRunner {
|
|
|
189
189
|
entry.record.ended = new Date().toISOString();
|
|
190
190
|
delete entry.controller;
|
|
191
191
|
this.record_save(entry);
|
|
192
|
-
this.events.emit(`end:${this.
|
|
192
|
+
this.events.emit(`end:${this.key_format(entry.record.source, entry.record.id)}`, entry.record);
|
|
193
193
|
// Every surface hears a job end, as it hears a chime: a line and its model.
|
|
194
194
|
ambient_publish({
|
|
195
195
|
kind: 'envelope',
|
|
@@ -215,13 +215,13 @@ export class JobRunner {
|
|
|
215
215
|
throw new JobRefusal(`${id}: no task source ${source}`);
|
|
216
216
|
if (!/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(id))
|
|
217
217
|
throw new JobRefusal(`${id}: a task's name is letters, digits, '.', '_' and '-'`);
|
|
218
|
-
const existing = this.entries.get(this.
|
|
218
|
+
const existing = this.entries.get(this.key_format(source, id));
|
|
219
219
|
if (existing !== undefined && !taskState_isOver(existing.record.state))
|
|
220
220
|
throw new JobRefusal(`${id}: already running (/proc/${source}/${id})`);
|
|
221
|
-
const folder = this.
|
|
221
|
+
const folder = this.folder_make(source);
|
|
222
222
|
fs.rmSync(path.join(folder, `${id}.log`), { force: true });
|
|
223
223
|
const entry = { record: { id, source, label, state: 'running', started: new Date().toISOString(), data: { ...data } }, tail: [] };
|
|
224
|
-
this.entries.set(this.
|
|
224
|
+
this.entries.set(this.key_format(source, id), entry);
|
|
225
225
|
this.record_save(entry);
|
|
226
226
|
entry.done = this.work_run(entry, run);
|
|
227
227
|
return { record: { ...entry.record }, finished: entry.done };
|
|
@@ -262,7 +262,7 @@ export class JobRunner {
|
|
|
262
262
|
* @returns What happened.
|
|
263
263
|
*/
|
|
264
264
|
job_stop(source, id) {
|
|
265
|
-
const entry = this.entries.get(this.
|
|
265
|
+
const entry = this.entries.get(this.key_format(source, id));
|
|
266
266
|
if (entry === undefined)
|
|
267
267
|
return 'unknown';
|
|
268
268
|
if (entry.controller === undefined)
|
|
@@ -281,7 +281,7 @@ export class JobRunner {
|
|
|
281
281
|
* @returns A copy, or undefined.
|
|
282
282
|
*/
|
|
283
283
|
job_get(source, id) {
|
|
284
|
-
const entry = this.entries.get(this.
|
|
284
|
+
const entry = this.entries.get(this.key_format(source, id));
|
|
285
285
|
return entry === undefined ? undefined : { ...entry.record, data: { ...entry.record.data } };
|
|
286
286
|
}
|
|
287
287
|
/**
|
|
@@ -307,7 +307,7 @@ export class JobRunner {
|
|
|
307
307
|
* @returns Its record at the end, or at the moment following stopped.
|
|
308
308
|
*/
|
|
309
309
|
job_follow(source, id, onLine, signal) {
|
|
310
|
-
const key = this.
|
|
310
|
+
const key = this.key_format(source, id);
|
|
311
311
|
const entry = this.entries.get(key);
|
|
312
312
|
if (entry === undefined)
|
|
313
313
|
return Promise.resolve(undefined);
|
|
@@ -328,6 +328,41 @@ export class JobRunner {
|
|
|
328
328
|
signal?.addEventListener('abort', finish, { once: true });
|
|
329
329
|
});
|
|
330
330
|
}
|
|
331
|
+
/**
|
|
332
|
+
* Follows a job as {@link job_follow} does, but out of the session's turn
|
|
333
|
+
* between its lines: a follow is waiting, not working, so other lines run
|
|
334
|
+
* while the job is quiet (a pane's reads among them). Each line heard is
|
|
335
|
+
* given to `onLine` once the follower has its turn again.
|
|
336
|
+
*
|
|
337
|
+
* @param source - Its source.
|
|
338
|
+
* @param id - Its id.
|
|
339
|
+
* @param onLine - Hears each line, in the follower's turn.
|
|
340
|
+
* @param signal - Stops following (the job goes on).
|
|
341
|
+
* @returns Its record at the end, or at the moment following stopped.
|
|
342
|
+
*/
|
|
343
|
+
async job_followAside(source, id, onLine, signal) {
|
|
344
|
+
const heard = [];
|
|
345
|
+
let wake = null;
|
|
346
|
+
const nudge = () => { const woken = wake; wake = null; woken?.(); };
|
|
347
|
+
let over = false;
|
|
348
|
+
let ended;
|
|
349
|
+
void this.job_follow(source, id, (line) => { heard.push(line); nudge(); }, signal).then((record) => {
|
|
350
|
+
ended = record;
|
|
351
|
+
over = true;
|
|
352
|
+
nudge();
|
|
353
|
+
});
|
|
354
|
+
for (;;) {
|
|
355
|
+
while (heard.length > 0)
|
|
356
|
+
onLine(heard.shift());
|
|
357
|
+
if (over)
|
|
358
|
+
return ended;
|
|
359
|
+
await aside_await(new Promise((resolve) => {
|
|
360
|
+
wake = resolve;
|
|
361
|
+
if (heard.length > 0 || over)
|
|
362
|
+
nudge();
|
|
363
|
+
}));
|
|
364
|
+
}
|
|
365
|
+
}
|
|
331
366
|
/**
|
|
332
367
|
* A job's log, whole.
|
|
333
368
|
*
|
|
@@ -337,7 +372,7 @@ export class JobRunner {
|
|
|
337
372
|
*/
|
|
338
373
|
log_read(source, id) {
|
|
339
374
|
const lines = this.logLines_read(source, id);
|
|
340
|
-
return lines.length === 0 && !this.entries.has(this.
|
|
375
|
+
return lines.length === 0 && !this.entries.has(this.key_format(source, id)) ? null : lines.map((line) => `${line}\n`).join('');
|
|
341
376
|
}
|
|
342
377
|
/**
|
|
343
378
|
* The job sources as task sources, for `/proc` and the tiles.
|
|
@@ -348,7 +383,7 @@ export class JobRunner {
|
|
|
348
383
|
return this.sources.map((source) => ({
|
|
349
384
|
id: source.id,
|
|
350
385
|
label: source.label,
|
|
351
|
-
list: async () => this.jobs_list(source.id).map((record) => this.
|
|
386
|
+
list: async () => this.jobs_list(source.id).map((record) => this.task_build(record)),
|
|
352
387
|
log: async (id) => this.log_read(source.id, id),
|
|
353
388
|
}));
|
|
354
389
|
}
|
|
@@ -358,8 +393,8 @@ export class JobRunner {
|
|
|
358
393
|
* @param record - Its record.
|
|
359
394
|
* @returns The task.
|
|
360
395
|
*/
|
|
361
|
-
|
|
362
|
-
const entry = this.entries.get(this.
|
|
396
|
+
task_build(record) {
|
|
397
|
+
const entry = this.entries.get(this.key_format(record.source, record.id));
|
|
363
398
|
return {
|
|
364
399
|
id: record.id,
|
|
365
400
|
label: record.label,
|
package/dist/core/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/core/runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/core/runner.ts"],"names":[],"mappings":"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"}
|
package/dist/core/surface.d.ts
CHANGED
|
@@ -74,6 +74,14 @@ export declare function surface_get(): Surface;
|
|
|
74
74
|
* @returns The previously installed surface, so callers can restore it.
|
|
75
75
|
*/
|
|
76
76
|
export declare function surface_set(surface: Surface): Surface;
|
|
77
|
+
/**
|
|
78
|
+
* Waits without holding the session, where the host can step a command out
|
|
79
|
+
* of its turn (`Surface.aside`); elsewhere it simply waits.
|
|
80
|
+
*
|
|
81
|
+
* @param waiting - What the command waits on.
|
|
82
|
+
* @returns What it resolved with.
|
|
83
|
+
*/
|
|
84
|
+
export declare function aside_await<T>(waiting: Promise<T>): Promise<T>;
|
|
77
85
|
/**
|
|
78
86
|
* Asserts that the active surface has a capability, throwing a
|
|
79
87
|
* {@link CapabilityError} with a clear message when it does not.
|
package/dist/core/surface.js
CHANGED
|
@@ -102,6 +102,16 @@ export function surface_set(surface) {
|
|
|
102
102
|
activeSurface = surface;
|
|
103
103
|
return previous;
|
|
104
104
|
}
|
|
105
|
+
/**
|
|
106
|
+
* Waits without holding the session, where the host can step a command out
|
|
107
|
+
* of its turn (`Surface.aside`); elsewhere it simply waits.
|
|
108
|
+
*
|
|
109
|
+
* @param waiting - What the command waits on.
|
|
110
|
+
* @returns What it resolved with.
|
|
111
|
+
*/
|
|
112
|
+
export function aside_await(waiting) {
|
|
113
|
+
return activeSurface.aside !== undefined ? activeSurface.aside(waiting) : waiting;
|
|
114
|
+
}
|
|
105
115
|
/**
|
|
106
116
|
* Asserts that the active surface has a capability, throwing a
|
|
107
117
|
* {@link CapabilityError} with a clear message when it does not.
|
package/dist/core/surface.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surface.js","sourceRoot":"","sources":["../../src/core/surface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAuBH;;;GAGG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,mDAAmD;IACnC,UAAU,CAA4B;IAEtD;;;OAGG;IACH,YAAY,UAAqC,EAAE,OAAe;QAChE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,eAAe;IAC1B,kBAAkB;IACF,YAAY,GAAwB;QAClD,WAAW,EAAE,KAAK;QAClB,SAAS,EAAE,KAAK;QAChB,GAAG,EAAE,KAAK;QACV,KAAK,EAAE,KAAK;QACZ,YAAY,EAAE,KAAK;QACnB,aAAa,EAAE,KAAK;QACpB,YAAY,EAAE,KAAK;QACnB,gBAAgB,EAAE,KAAK;QACvB,eAAe,EAAE,KAAK;KACvB,CAAC;IAEF,kBAAkB;IACX,MAAM,CAAC,QAAuB;QACnC,MAAM,IAAI,eAAe,CAAC,KAAK,EAAE,uCAAuC,CAAC,CAAC;IAC5E,CAAC;IAED,kBAAkB;IACX,WAAW,CAAC,QAAgB,EAAE,MAAc,EAAE,OAAqB;QACxE,MAAM,IAAI,eAAe,CAAC,cAAc,EAAE,4CAA4C,CAAC,CAAC;IAC1F,CAAC;IAED,kBAAkB;IACX,YAAY,CAAC,QAAgB,EAAE,OAAqB;QACzD,MAAM,IAAI,eAAe,CAAC,eAAe,EAAE,yCAAyC,CAAC,CAAC;IACxF,CAAC;IAED,kBAAkB;IACX,SAAS,CAAC,QAA0B;QACzC,MAAM,IAAI,eAAe,CAAC,WAAW,EAAE,0CAA0C,CAAC,CAAC;IACrF,CAAC;IAED,kBAAkB;IACX,WAAW,CAAC,QAA4B;QAC7C,MAAM,IAAI,eAAe,CAAC,cAAc,EAAE,qCAAqC,CAAC,CAAC;IACnF,CAAC;CACF;AAED,0EAA0E;AAC1E,IAAI,aAAa,GAAY,IAAI,eAAe,EAAE,CAAC;AAEnD;;;;GAIG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,MAAM,QAAQ,GAAY,aAAa,CAAC;IACxC,aAAa,GAAG,OAAO,CAAC;IACxB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAChC,UAAqC,EACrC,OAAe;IAEf,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"surface.js","sourceRoot":"","sources":["../../src/core/surface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAuBH;;;GAGG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,mDAAmD;IACnC,UAAU,CAA4B;IAEtD;;;OAGG;IACH,YAAY,UAAqC,EAAE,OAAe;QAChE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,eAAe;IAC1B,kBAAkB;IACF,YAAY,GAAwB;QAClD,WAAW,EAAE,KAAK;QAClB,SAAS,EAAE,KAAK;QAChB,GAAG,EAAE,KAAK;QACV,KAAK,EAAE,KAAK;QACZ,YAAY,EAAE,KAAK;QACnB,aAAa,EAAE,KAAK;QACpB,YAAY,EAAE,KAAK;QACnB,gBAAgB,EAAE,KAAK;QACvB,eAAe,EAAE,KAAK;KACvB,CAAC;IAEF,kBAAkB;IACX,MAAM,CAAC,QAAuB;QACnC,MAAM,IAAI,eAAe,CAAC,KAAK,EAAE,uCAAuC,CAAC,CAAC;IAC5E,CAAC;IAED,kBAAkB;IACX,WAAW,CAAC,QAAgB,EAAE,MAAc,EAAE,OAAqB;QACxE,MAAM,IAAI,eAAe,CAAC,cAAc,EAAE,4CAA4C,CAAC,CAAC;IAC1F,CAAC;IAED,kBAAkB;IACX,YAAY,CAAC,QAAgB,EAAE,OAAqB;QACzD,MAAM,IAAI,eAAe,CAAC,eAAe,EAAE,yCAAyC,CAAC,CAAC;IACxF,CAAC;IAED,kBAAkB;IACX,SAAS,CAAC,QAA0B;QACzC,MAAM,IAAI,eAAe,CAAC,WAAW,EAAE,0CAA0C,CAAC,CAAC;IACrF,CAAC;IAED,kBAAkB;IACX,WAAW,CAAC,QAA4B;QAC7C,MAAM,IAAI,eAAe,CAAC,cAAc,EAAE,qCAAqC,CAAC,CAAC;IACnF,CAAC;CACF;AAED,0EAA0E;AAC1E,IAAI,aAAa,GAAY,IAAI,eAAe,EAAE,CAAC;AAEnD;;;;GAIG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,MAAM,QAAQ,GAAY,aAAa,CAAC;IACxC,aAAa,GAAG,OAAO,CAAC;IACxB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAI,OAAmB;IAChD,OAAO,aAAa,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AACpF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAChC,UAAqC,EACrC,OAAe;IAEf,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;AACH,CAAC"}
|
package/dist/core/tasks.d.ts
CHANGED
package/dist/core/tasks.js
CHANGED
|
@@ -47,7 +47,7 @@ export class TaskSourceVfsProvider {
|
|
|
47
47
|
* @param where - The path.
|
|
48
48
|
* @returns The parts.
|
|
49
49
|
*/
|
|
50
|
-
|
|
50
|
+
parts_parse(where) {
|
|
51
51
|
return where.slice(this.prefix.length).split('/').filter(Boolean);
|
|
52
52
|
}
|
|
53
53
|
/**
|
|
@@ -60,7 +60,7 @@ export class TaskSourceVfsProvider {
|
|
|
60
60
|
return (await this.source.list()).find((task) => task.id === id);
|
|
61
61
|
}
|
|
62
62
|
async list(where) {
|
|
63
|
-
const parts = this.
|
|
63
|
+
const parts = this.parts_parse(where);
|
|
64
64
|
const now = new Date().toISOString();
|
|
65
65
|
if (parts.length === 0) {
|
|
66
66
|
return Ok((await this.source.list()).map((task) => ({
|
|
@@ -77,7 +77,7 @@ export class TaskSourceVfsProvider {
|
|
|
77
77
|
})));
|
|
78
78
|
}
|
|
79
79
|
async read(where) {
|
|
80
|
-
const parts = this.
|
|
80
|
+
const parts = this.parts_parse(where);
|
|
81
81
|
if (parts.length < 2)
|
|
82
82
|
return vfs_fail(parts.length === 0 ? 'EISDIR' : (await this.task_get(parts[0])) ? 'EISDIR' : 'ENOENT');
|
|
83
83
|
const [id, field] = parts;
|
package/dist/core/tasks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/core/tasks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAgF,MAAM,cAAc,CAAC;AAInJ,4DAA4D;AAC5D,MAAM,CAAC,MAAM,WAAW,GAA0B,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AAE5G;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,IAAU,EAAE,KAAa;IACtD,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,OAAO,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC;QACvC,KAAK,OAAO,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC;QACvC,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;gBAAE,OAAO,EAAE,CAAC;YAC3C,MAAM,EAAE,GAAW,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjF,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;QAChG,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,KAAK,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,KAAK,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QACtC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;AACH,CAAC;AAED,gDAAgD;AAChD,MAAM,OAAO,qBAAqB;IAMH;IALpB,MAAM,CAAS;IAExB;;OAEG;IACH,YAA6B,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QAC7C,IAAI,CAAC,MAAM,GAAG,SAAS,MAAM,CAAC,EAAE,EAAE,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACK,
|
|
1
|
+
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/core/tasks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAgF,MAAM,cAAc,CAAC;AAInJ,4DAA4D;AAC5D,MAAM,CAAC,MAAM,WAAW,GAA0B,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AAE5G;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,IAAU,EAAE,KAAa;IACtD,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,OAAO,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC;QACvC,KAAK,OAAO,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC;QACvC,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;gBAAE,OAAO,EAAE,CAAC;YAC3C,MAAM,EAAE,GAAW,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjF,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;QAChG,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,KAAK,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,KAAK,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QACtC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;AACH,CAAC;AAED,gDAAgD;AAChD,MAAM,OAAO,qBAAqB;IAMH;IALpB,MAAM,CAAS;IAExB;;OAEG;IACH,YAA6B,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QAC7C,IAAI,CAAC,MAAM,GAAG,SAAS,MAAM,CAAC,EAAE,EAAE,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACK,WAAW,CAAC,KAAa;QAC/B,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpE,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,QAAQ,CAAC,EAAU;QAC/B,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAU,EAAW,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAa;QACtB,MAAM,KAAK,GAAa,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,GAAG,GAAW,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAU,EAAW,EAAE,CAAC,CAAC;gBACjE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,IAAI,GAAG;aACtF,CAAC,CAAC,CAAC,CAAC;QACP,CAAC;QACD,MAAM,IAAI,GAAqB,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxG,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,eAAe,KAAK,6BAA6B,CAAC,CAAC;YAClF,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;QACD,OAAO,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAa,EAAW,EAAE,CAAC,CAAC;YACrD,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,IAAI,GAAG;SACtH,CAAC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAa;QACtB,MAAM,KAAK,GAAa,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACvI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,KAAyB,CAAC;QAC9C,MAAM,IAAI,GAAqB,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACvD,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACtG,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YACvC,MAAM,KAAK,GAAkB,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvD,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAa;QAC5B,MAAM,IAAI,GAAuB,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,EAAE,CAAC,IAAY,EAAE,KAAa,EAAE,QAAmB;QACvD,OAAO,QAAQ,CAAC,OAAO,EAAE,6BAA6B,IAAI,CAAC,MAAM,WAAW,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACnG,CAAC;CACF"}
|
package/dist/core/turn.d.ts
CHANGED
|
@@ -48,3 +48,14 @@ export declare function turn_leave(): TurnState;
|
|
|
48
48
|
* @param state - What it left behind.
|
|
49
49
|
*/
|
|
50
50
|
export declare function turn_resume(state: TurnState): void;
|
|
51
|
+
/**
|
|
52
|
+
* Acts on a command that stepped aside, from outside its turn: its state is
|
|
53
|
+
* put in place, the act runs, and the running command's state is put back.
|
|
54
|
+
* All of it is synchronous, so nothing runs in between (a STOP pressed on a
|
|
55
|
+
* command that waits aside).
|
|
56
|
+
*
|
|
57
|
+
* @param state - What the stepped-aside command left behind.
|
|
58
|
+
* @param act - What to do with its state in place.
|
|
59
|
+
* @returns Its state after the act, for its `turn_resume`.
|
|
60
|
+
*/
|
|
61
|
+
export declare function turn_within(state: TurnState, act: () => void): TurnState;
|
package/dist/core/turn.js
CHANGED
|
@@ -48,6 +48,29 @@ export function turn_resume(state) {
|
|
|
48
48
|
part.restore(state.saved.get(part.name));
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* Acts on a command that stepped aside, from outside its turn: its state is
|
|
53
|
+
* put in place, the act runs, and the running command's state is put back.
|
|
54
|
+
* All of it is synchronous, so nothing runs in between (a STOP pressed on a
|
|
55
|
+
* command that waits aside).
|
|
56
|
+
*
|
|
57
|
+
* @param state - What the stepped-aside command left behind.
|
|
58
|
+
* @param act - What to do with its state in place.
|
|
59
|
+
* @returns Its state after the act, for its `turn_resume`.
|
|
60
|
+
*/
|
|
61
|
+
export function turn_within(state, act) {
|
|
62
|
+
const running = turn_leave();
|
|
63
|
+
turn_resume(state);
|
|
64
|
+
try {
|
|
65
|
+
act();
|
|
66
|
+
}
|
|
67
|
+
finally {
|
|
68
|
+
const after = turn_leave();
|
|
69
|
+
turn_resume(running);
|
|
70
|
+
state.saved = after.saved;
|
|
71
|
+
}
|
|
72
|
+
return state;
|
|
73
|
+
}
|
|
51
74
|
// The exit code: legacy handlers report failure by setting it, and the
|
|
52
75
|
// engine reads the change across a command. A command that stepped aside
|
|
53
76
|
// must not inherit another's failure, nor lose its own.
|