@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.
Files changed (192) hide show
  1. package/dist/api/index.d.ts +1 -1
  2. package/dist/api/index.js +1 -1
  3. package/dist/api/index.js.map +1 -1
  4. package/dist/buildinfo.json +1 -1
  5. package/dist/builtins/fs/cd.js +2 -2
  6. package/dist/builtins/fs/cd.js.map +1 -1
  7. package/dist/builtins/fs/cp.js +2 -2
  8. package/dist/builtins/fs/cp.js.map +1 -1
  9. package/dist/builtins/fs/edit.js +3 -3
  10. package/dist/builtins/fs/edit.js.map +1 -1
  11. package/dist/builtins/fs/entries.d.ts +1 -1
  12. package/dist/builtins/fs/entries.js +1 -1
  13. package/dist/builtins/fs/entries.js.map +1 -1
  14. package/dist/builtins/fs/find.d.ts +1 -1
  15. package/dist/builtins/fs/find.js +11 -11
  16. package/dist/builtins/fs/find.js.map +1 -1
  17. package/dist/builtins/fs/ls.js +3 -3
  18. package/dist/builtins/fs/ls.js.map +1 -1
  19. package/dist/builtins/fs/mkdir.js +4 -4
  20. package/dist/builtins/fs/mkdir.js.map +1 -1
  21. package/dist/builtins/fs/mv.js +3 -3
  22. package/dist/builtins/fs/mv.js.map +1 -1
  23. package/dist/builtins/fs/pull.js +2 -2
  24. package/dist/builtins/fs/pull.js.map +1 -1
  25. package/dist/builtins/fs/pwd.js +2 -2
  26. package/dist/builtins/fs/pwd.js.map +1 -1
  27. package/dist/builtins/fs/rm.js +2 -2
  28. package/dist/builtins/fs/rm.js.map +1 -1
  29. package/dist/builtins/fs/touch.js +2 -2
  30. package/dist/builtins/fs/touch.js.map +1 -1
  31. package/dist/builtins/games/bytes.d.ts +1 -1
  32. package/dist/builtins/games/bytes.js +2 -2
  33. package/dist/builtins/games/bytes.js.map +1 -1
  34. package/dist/builtins/games/numbers.d.ts +1 -1
  35. package/dist/builtins/games/numbers.js +2 -2
  36. package/dist/builtins/games/numbers.js.map +1 -1
  37. package/dist/builtins/games/qr.d.ts +1 -1
  38. package/dist/builtins/games/qr.js +2 -2
  39. package/dist/builtins/games/qr.js.map +1 -1
  40. package/dist/builtins/games/shelf.d.ts +4 -4
  41. package/dist/builtins/games/shelf.js +7 -7
  42. package/dist/builtins/games/shelf.js.map +1 -1
  43. package/dist/builtins/games/show.d.ts +1 -1
  44. package/dist/builtins/games/show.js +4 -4
  45. package/dist/builtins/games/show.js.map +1 -1
  46. package/dist/builtins/games/sky.d.ts +4 -4
  47. package/dist/builtins/games/sky.js +12 -12
  48. package/dist/builtins/games/sky.js.map +1 -1
  49. package/dist/builtins/helpSections.d.ts +1 -1
  50. package/dist/builtins/helpSections.js +3 -3
  51. package/dist/builtins/helpSections.js.map +1 -1
  52. package/dist/builtins/net/query.csv.d.ts +2 -2
  53. package/dist/builtins/net/query.csv.js +6 -6
  54. package/dist/builtins/net/query.csv.js.map +1 -1
  55. package/dist/builtins/net/query.d.ts +1 -1
  56. package/dist/builtins/net/query.js +15 -15
  57. package/dist/builtins/net/query.js.map +1 -1
  58. package/dist/builtins/net/query.view.js +8 -8
  59. package/dist/builtins/net/query.view.js.map +1 -1
  60. package/dist/builtins/pluginExecute.js +2 -2
  61. package/dist/builtins/pluginExecute.js.map +1 -1
  62. package/dist/builtins/proc.js +6 -6
  63. package/dist/builtins/proc.js.map +1 -1
  64. package/dist/builtins/procWatch.js +2 -2
  65. package/dist/builtins/procWatch.js.map +1 -1
  66. package/dist/builtins/res/dicom.js +2 -2
  67. package/dist/builtins/res/dicom.js.map +1 -1
  68. package/dist/builtins/res/expect.js +3 -3
  69. package/dist/builtins/res/expect.js.map +1 -1
  70. package/dist/builtins/res/feed.diagram.js +1 -1
  71. package/dist/builtins/res/feed.diagram.js.map +1 -1
  72. package/dist/builtins/res/feed.js +3 -3
  73. package/dist/builtins/res/feed.js.map +1 -1
  74. package/dist/builtins/res/feed.tree.collapse.js +2 -2
  75. package/dist/builtins/res/feed.tree.collapse.js.map +1 -1
  76. package/dist/builtins/res/feed.tree.render.js +3 -3
  77. package/dist/builtins/res/feed.tree.render.js.map +1 -1
  78. package/dist/builtins/res/files.js +2 -2
  79. package/dist/builtins/res/files.js.map +1 -1
  80. package/dist/builtins/res/gather.facts.js +3 -3
  81. package/dist/builtins/res/gather.facts.js.map +1 -1
  82. package/dist/builtins/res/gather.js +10 -10
  83. package/dist/builtins/res/gather.js.map +1 -1
  84. package/dist/builtins/res/gather.store.d.ts +2 -2
  85. package/dist/builtins/res/gather.store.js +3 -3
  86. package/dist/builtins/res/gather.store.js.map +1 -1
  87. package/dist/builtins/res/group.js +14 -4
  88. package/dist/builtins/res/group.js.map +1 -1
  89. package/dist/builtins/res/pipeline.js +2 -2
  90. package/dist/builtins/res/pipeline.js.map +1 -1
  91. package/dist/builtins/res/play.js +67 -10
  92. package/dist/builtins/res/play.js.map +1 -1
  93. package/dist/builtins/res/plugin.js +2 -2
  94. package/dist/builtins/res/plugin.js.map +1 -1
  95. package/dist/builtins/res/plugininstance.js +31 -4
  96. package/dist/builtins/res/plugininstance.js.map +1 -1
  97. package/dist/builtins/res/pluginmeta.js +13 -4
  98. package/dist/builtins/res/pluginmeta.js.map +1 -1
  99. package/dist/builtins/res/runWait.d.ts +1 -1
  100. package/dist/builtins/res/runWait.js +1 -1
  101. package/dist/builtins/res/runWait.js.map +1 -1
  102. package/dist/builtins/res/tag.js +13 -4
  103. package/dist/builtins/res/tag.js.map +1 -1
  104. package/dist/builtins/res/workflow.js +13 -4
  105. package/dist/builtins/res/workflow.js.map +1 -1
  106. package/dist/builtins/sys/date.js +2 -2
  107. package/dist/builtins/sys/date.js.map +1 -1
  108. package/dist/builtins/sys/grep.js +6 -6
  109. package/dist/builtins/sys/grep.js.map +1 -1
  110. package/dist/builtins/sys/tasks.js +1 -1
  111. package/dist/builtins/sys/tasks.js.map +1 -1
  112. package/dist/builtins/sys/textFilters.js +11 -11
  113. package/dist/builtins/sys/textFilters.js.map +1 -1
  114. package/dist/builtins/sys/variables.js +2 -2
  115. package/dist/builtins/sys/variables.js.map +1 -1
  116. package/dist/builtins/sys/weather.d.ts +2 -2
  117. package/dist/builtins/sys/weather.js +5 -5
  118. package/dist/builtins/sys/weather.js.map +1 -1
  119. package/dist/builtins/utils.d.ts +31 -2
  120. package/dist/builtins/utils.js +49 -3
  121. package/dist/builtins/utils.js.map +1 -1
  122. package/dist/chris/backend.js +2 -2
  123. package/dist/chris/backend.js.map +1 -1
  124. package/dist/chris/binMount.js +4 -4
  125. package/dist/chris/binMount.js.map +1 -1
  126. package/dist/chris/connect.d.ts +3 -3
  127. package/dist/chris/connect.js +2 -2
  128. package/dist/chris/files.js +4 -4
  129. package/dist/chris/files.js.map +1 -1
  130. package/dist/chris/filesystem.js +2 -2
  131. package/dist/chris/filesystem.js.map +1 -1
  132. package/dist/chris/help.js +18 -16
  133. package/dist/chris/help.js.map +1 -1
  134. package/dist/chris/mounts.js +2 -2
  135. package/dist/chris/mounts.js.map +1 -1
  136. package/dist/chris/navigation.js +2 -2
  137. package/dist/chris/navigation.js.map +1 -1
  138. package/dist/chris/references.js +2 -0
  139. package/dist/chris/references.js.map +1 -1
  140. package/dist/chris/tasks.d.ts +1 -1
  141. package/dist/chris/tasks.js +2 -2
  142. package/dist/chris/tasks.js.map +1 -1
  143. package/dist/chris/universeLayout.d.ts +1 -1
  144. package/dist/chris/universeLayout.js +6 -6
  145. package/dist/chris/universeLayout.js.map +1 -1
  146. package/dist/core/backend.d.ts +5 -0
  147. package/dist/core/backend.js.map +1 -1
  148. package/dist/core/dispatch.js +2 -2
  149. package/dist/core/dispatch.js.map +1 -1
  150. package/dist/core/engine.d.ts +7 -0
  151. package/dist/core/engine.js +4 -3
  152. package/dist/core/engine.js.map +1 -1
  153. package/dist/core/expansion.d.ts +19 -0
  154. package/dist/core/expansion.js +32 -2
  155. package/dist/core/expansion.js.map +1 -1
  156. package/dist/core/listing.d.ts +2 -2
  157. package/dist/core/listing.js +6 -6
  158. package/dist/core/listing.js.map +1 -1
  159. package/dist/core/runner.d.ts +17 -4
  160. package/dist/core/runner.js +54 -19
  161. package/dist/core/runner.js.map +1 -1
  162. package/dist/core/surface.d.ts +8 -0
  163. package/dist/core/surface.js +10 -0
  164. package/dist/core/surface.js.map +1 -1
  165. package/dist/core/tasks.d.ts +1 -1
  166. package/dist/core/tasks.js +3 -3
  167. package/dist/core/tasks.js.map +1 -1
  168. package/dist/core/turn.d.ts +11 -0
  169. package/dist/core/turn.js +23 -0
  170. package/dist/core/turn.js.map +1 -1
  171. package/dist/core/variables.js +10 -10
  172. package/dist/core/variables.js.map +1 -1
  173. package/dist/core/version.d.ts +1 -1
  174. package/dist/core/version.js +1 -1
  175. package/dist/core/version.js.map +1 -1
  176. package/dist/index.d.ts +1 -1
  177. package/dist/index.js +1 -1
  178. package/dist/index.js.map +1 -1
  179. package/dist/lib/parser.js +2 -1
  180. package/dist/lib/parser.js.map +1 -1
  181. package/dist/lib/prefetch.d.ts +1 -1
  182. package/dist/lib/prefetch.js +1 -1
  183. package/dist/lib/prefetch.js.map +1 -1
  184. package/dist/lib/vfs/providers/static.js +4 -4
  185. package/dist/lib/vfs/providers/static.js.map +1 -1
  186. package/dist/notes.json +1 -1
  187. package/dist/session/answer.d.ts +4 -4
  188. package/dist/session/answer.js +4 -4
  189. package/dist/session/answer.js.map +1 -1
  190. package/dist/session/answerAdapters.js +4 -4
  191. package/dist/session/answerAdapters.js.map +1 -1
  192. package/package.json +7 -7
@@ -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
  *
@@ -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, numberedFooter_of } from '../session/answer.js';
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 = numberedFooter_of(answerHandles_get());
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":"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"}
1
+ {"version":3,"file":"expansion.js","sourceRoot":"","sources":["../../src/core/expansion.ts"],"names":[],"mappings":"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"}
@@ -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 rowsOperands_of(rows: ReadonlyArray<AnswerRow>): string[];
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 listingOperands_of(model: ListingModel): string[] | null;
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
  *
@@ -10,7 +10,7 @@
10
10
  *
11
11
  * @module
12
12
  */
13
- import { answer_get, answerRows_of } from '../session/answer.js';
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 rowsOperands_of(rows) {
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 listingOperands_of(model) {
73
- const rows = answerRows_of(model.kind, model.data);
74
- return rows === null ? null : rowsOperands_of(rows);
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 : rowsOperands_of(held.rows);
83
+ return held === null ? null : rowOperands_extract(held.rows);
84
84
  }
85
85
  //# sourceMappingURL=listing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"listing.js","sourceRoot":"","sources":["../../src/core/listing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,UAAU,EAAE,aAAa,EAAkB,MAAM,sBAAsB,CAAC;AACjF,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,eAAe,CAAC,IAA8B;IAC5D,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,kBAAkB,CAAC,KAAmB;IACpD,MAAM,IAAI,GAAuB,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACvE,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AACtD,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,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3D,CAAC"}
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"}
@@ -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 jobsRoot_of(backendId: string, env?: NodeJS.ProcessEnv): string;
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 key_of;
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 folder_of;
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 task_of;
231
+ private task_build;
219
232
  }
220
233
  /**
221
234
  * Installs the session's runner.
@@ -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 jobsRoot_of(backendId, env = process.env) {
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
- key_of(source, id) {
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
- folder_of(source) {
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.key_of(source, record.id), { record, tail });
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.folder_of(entry.record.source), `${entry.record.id}.json`), `${JSON.stringify(entry.record, null, 2)}\n`);
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.folder_of(entry.record.source), `${entry.record.id}.log`), `${stamped}\n`, { mode: 0o600 });
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.key_of(entry.record.source, entry.record.id)}`, stamped);
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.key_of(entry.record.source, entry.record.id)}`, entry.record);
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.key_of(source, id));
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.folder_of(source);
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.key_of(source, id), entry);
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.key_of(source, id));
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.key_of(source, id));
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.key_of(source, id);
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.key_of(source, id)) ? null : lines.map((line) => `${line}\n`).join('');
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.task_of(record)),
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
- task_of(record) {
362
- const entry = this.entries.get(this.key_of(record.source, record.id));
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,
@@ -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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"}
@@ -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.
@@ -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.
@@ -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"}
@@ -31,7 +31,7 @@ export declare class TaskSourceVfsProvider implements VFSProvider {
31
31
  * @param where - The path.
32
32
  * @returns The parts.
33
33
  */
34
- private parts_of;
34
+ private parts_parse;
35
35
  /**
36
36
  * A task by id, now.
37
37
  *
@@ -47,7 +47,7 @@ export class TaskSourceVfsProvider {
47
47
  * @param where - The path.
48
48
  * @returns The parts.
49
49
  */
50
- parts_of(where) {
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.parts_of(where);
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.parts_of(where);
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;
@@ -1 +1 @@
1
- {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/core/tasks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/core/tasks.ts"],"names":[],"mappings":"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"}
@@ -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.