@fnndsc/brasa 0.49.1 → 0.50.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 (175) hide show
  1. package/dist/buildinfo.json +1 -1
  2. package/dist/builtins/fs/cat.js +6 -5
  3. package/dist/builtins/fs/cat.js.map +1 -1
  4. package/dist/builtins/fs/configWrite.js +6 -5
  5. package/dist/builtins/fs/configWrite.js.map +1 -1
  6. package/dist/builtins/fs/cp.js +3 -2
  7. package/dist/builtins/fs/cp.js.map +1 -1
  8. package/dist/builtins/fs/download.js +5 -4
  9. package/dist/builtins/fs/download.js.map +1 -1
  10. package/dist/builtins/fs/du.js +4 -6
  11. package/dist/builtins/fs/du.js.map +1 -1
  12. package/dist/builtins/fs/edit.js +10 -9
  13. package/dist/builtins/fs/edit.js.map +1 -1
  14. package/dist/builtins/fs/find.js +3 -2
  15. package/dist/builtins/fs/find.js.map +1 -1
  16. package/dist/builtins/fs/ls.js +2 -1
  17. package/dist/builtins/fs/ls.js.map +1 -1
  18. package/dist/builtins/fs/mv.js +3 -2
  19. package/dist/builtins/fs/mv.js.map +1 -1
  20. package/dist/builtins/fs/pull.js +13 -12
  21. package/dist/builtins/fs/pull.js.map +1 -1
  22. package/dist/builtins/fs/rmdir.js +2 -1
  23. package/dist/builtins/fs/rmdir.js.map +1 -1
  24. package/dist/builtins/fs/tree.js +30 -39
  25. package/dist/builtins/fs/tree.js.map +1 -1
  26. package/dist/builtins/fs/upload.js +3 -2
  27. package/dist/builtins/fs/upload.js.map +1 -1
  28. package/dist/builtins/fs/url.js +2 -1
  29. package/dist/builtins/fs/url.js.map +1 -1
  30. package/dist/builtins/games/stdin.d.ts +8 -0
  31. package/dist/builtins/games/stdin.js +26 -14
  32. package/dist/builtins/games/stdin.js.map +1 -1
  33. package/dist/builtins/help.js +19 -3
  34. package/dist/builtins/help.js.map +1 -1
  35. package/dist/builtins/net/connect.js +2 -1
  36. package/dist/builtins/net/connect.js.map +1 -1
  37. package/dist/builtins/net/cubepath.js +5 -4
  38. package/dist/builtins/net/cubepath.js.map +1 -1
  39. package/dist/builtins/net/pacs.js +6 -5
  40. package/dist/builtins/net/pacs.js.map +1 -1
  41. package/dist/builtins/net/query.js +14 -13
  42. package/dist/builtins/net/query.js.map +1 -1
  43. package/dist/builtins/net/status.js +5 -4
  44. package/dist/builtins/net/status.js.map +1 -1
  45. package/dist/builtins/parametersofplugin.js +2 -1
  46. package/dist/builtins/parametersofplugin.js.map +1 -1
  47. package/dist/builtins/pluginExecute.js +2 -1
  48. package/dist/builtins/pluginExecute.js.map +1 -1
  49. package/dist/builtins/proc.js +31 -30
  50. package/dist/builtins/proc.js.map +1 -1
  51. package/dist/builtins/res/compute.js +4 -3
  52. package/dist/builtins/res/compute.js.map +1 -1
  53. package/dist/builtins/res/dicom.js +4 -3
  54. package/dist/builtins/res/dicom.js.map +1 -1
  55. package/dist/builtins/res/expect.js +8 -7
  56. package/dist/builtins/res/expect.js.map +1 -1
  57. package/dist/builtins/res/feed.diagram.js +4 -3
  58. package/dist/builtins/res/feed.diagram.js.map +1 -1
  59. package/dist/builtins/res/feed.js +13 -12
  60. package/dist/builtins/res/feed.js.map +1 -1
  61. package/dist/builtins/res/feed.tree.js +3 -2
  62. package/dist/builtins/res/feed.tree.js.map +1 -1
  63. package/dist/builtins/res/files.js +3 -2
  64. package/dist/builtins/res/files.js.map +1 -1
  65. package/dist/builtins/res/gather.js +2 -1
  66. package/dist/builtins/res/gather.js.map +1 -1
  67. package/dist/builtins/res/gather.process.js +2 -1
  68. package/dist/builtins/res/gather.process.js.map +1 -1
  69. package/dist/builtins/res/group.js +7 -6
  70. package/dist/builtins/res/group.js.map +1 -1
  71. package/dist/builtins/res/image.js +2 -1
  72. package/dist/builtins/res/image.js.map +1 -1
  73. package/dist/builtins/res/pipeline.diagram.js +2 -1
  74. package/dist/builtins/res/pipeline.diagram.js.map +1 -1
  75. package/dist/builtins/res/pipeline.js +20 -19
  76. package/dist/builtins/res/pipeline.js.map +1 -1
  77. package/dist/builtins/res/play.js +25 -31
  78. package/dist/builtins/res/play.js.map +1 -1
  79. package/dist/builtins/res/plugin.js +7 -6
  80. package/dist/builtins/res/plugin.js.map +1 -1
  81. package/dist/builtins/res/plugininstance.js +6 -5
  82. package/dist/builtins/res/plugininstance.js.map +1 -1
  83. package/dist/builtins/res/pluginmeta.js +5 -4
  84. package/dist/builtins/res/pluginmeta.js.map +1 -1
  85. package/dist/builtins/res/record.js +6 -5
  86. package/dist/builtins/res/record.js.map +1 -1
  87. package/dist/builtins/res/tag.js +5 -4
  88. package/dist/builtins/res/tag.js.map +1 -1
  89. package/dist/builtins/res/user.js +2 -1
  90. package/dist/builtins/res/user.js.map +1 -1
  91. package/dist/builtins/res/workflow.js +5 -4
  92. package/dist/builtins/res/workflow.js.map +1 -1
  93. package/dist/builtins/store.js +5 -4
  94. package/dist/builtins/store.js.map +1 -1
  95. package/dist/builtins/sys/apropos.js +2 -1
  96. package/dist/builtins/sys/apropos.js.map +1 -1
  97. package/dist/builtins/sys/echo.js +4 -3
  98. package/dist/builtins/sys/echo.js.map +1 -1
  99. package/dist/builtins/sys/grep.js +3 -2
  100. package/dist/builtins/sys/grep.js.map +1 -1
  101. package/dist/builtins/sys/joblets.d.ts +28 -0
  102. package/dist/builtins/sys/joblets.js +95 -0
  103. package/dist/builtins/sys/joblets.js.map +1 -0
  104. package/dist/builtins/sys/tasks.d.ts +1 -1
  105. package/dist/builtins/sys/tasks.js +7 -1
  106. package/dist/builtins/sys/tasks.js.map +1 -1
  107. package/dist/builtins/sys/textFilters.js +5 -4
  108. package/dist/builtins/sys/textFilters.js.map +1 -1
  109. package/dist/builtins/sys/variables.js +6 -5
  110. package/dist/builtins/sys/variables.js.map +1 -1
  111. package/dist/builtins/sys/whoami.js +4 -3
  112. package/dist/builtins/sys/whoami.js.map +1 -1
  113. package/dist/chris/chiliDelegate.js +2 -1
  114. package/dist/chris/chiliDelegate.js.map +1 -1
  115. package/dist/chris/chrisCommands.d.ts +0 -1
  116. package/dist/chris/chrisCommands.js +13 -0
  117. package/dist/chris/chrisCommands.js.map +1 -1
  118. package/dist/core/assignment.js +2 -2
  119. package/dist/core/assignment.js.map +1 -1
  120. package/dist/core/cancellation.d.ts +10 -7
  121. package/dist/core/cancellation.js +39 -24
  122. package/dist/core/cancellation.js.map +1 -1
  123. package/dist/core/commandRegistry.d.ts +19 -0
  124. package/dist/core/commandRegistry.js +12 -0
  125. package/dist/core/commandRegistry.js.map +1 -1
  126. package/dist/core/coreCommands.d.ts +0 -1
  127. package/dist/core/coreCommands.js +22 -0
  128. package/dist/core/coreCommands.js.map +1 -1
  129. package/dist/core/dispatch.js +12 -18
  130. package/dist/core/dispatch.js.map +1 -1
  131. package/dist/core/elevation.js +7 -6
  132. package/dist/core/elevation.js.map +1 -1
  133. package/dist/core/engine.d.ts +43 -40
  134. package/dist/core/engine.js +43 -19
  135. package/dist/core/engine.js.map +1 -1
  136. package/dist/core/handlerRun.d.ts +16 -6
  137. package/dist/core/handlerRun.js +47 -2
  138. package/dist/core/handlerRun.js.map +1 -1
  139. package/dist/core/holds.d.ts +25 -0
  140. package/dist/core/holds.js +74 -0
  141. package/dist/core/holds.js.map +1 -0
  142. package/dist/core/joblets.d.ts +94 -0
  143. package/dist/core/joblets.js +363 -0
  144. package/dist/core/joblets.js.map +1 -0
  145. package/dist/core/lineOrigin.d.ts +31 -0
  146. package/dist/core/lineOrigin.js +38 -0
  147. package/dist/core/lineOrigin.js.map +1 -0
  148. package/dist/core/listing.d.ts +8 -0
  149. package/dist/core/listing.js +26 -14
  150. package/dist/core/listing.js.map +1 -1
  151. package/dist/core/runner.d.ts +15 -0
  152. package/dist/core/runner.js +25 -7
  153. package/dist/core/runner.js.map +1 -1
  154. package/dist/core/surface.d.ts +17 -2
  155. package/dist/core/surface.js +26 -3
  156. package/dist/core/surface.js.map +1 -1
  157. package/dist/core/variables.d.ts +7 -0
  158. package/dist/core/variables.js +9 -0
  159. package/dist/core/variables.js.map +1 -1
  160. package/dist/notes.json +1 -1
  161. package/dist/session/answer.d.ts +8 -11
  162. package/dist/session/answer.js +36 -25
  163. package/dist/session/answer.js.map +1 -1
  164. package/dist/session/cwdScope.d.ts +25 -0
  165. package/dist/session/cwdScope.js +36 -0
  166. package/dist/session/cwdScope.js.map +1 -0
  167. package/dist/session/index.js +14 -4
  168. package/dist/session/index.js.map +1 -1
  169. package/dist/session/recorder.d.ts +7 -4
  170. package/dist/session/recorder.js +16 -21
  171. package/dist/session/recorder.js.map +1 -1
  172. package/package.json +4 -4
  173. package/dist/core/turn.d.ts +0 -61
  174. package/dist/core/turn.js +0 -83
  175. package/dist/core/turn.js.map +0 -1
@@ -3,6 +3,7 @@ const coreNames = new Set();
3
3
  const envelopeHandlers = {};
4
4
  const plainHandlers = {};
5
5
  const helpEntries = {};
6
+ const holdsEntries = new Map();
6
7
  /** The listing order, by kind; empty until set. */
7
8
  const listingOrder = { envelope: [], plain: [], help: [] };
8
9
  /**
@@ -71,6 +72,17 @@ export function commands_register(group, owner = 'core') {
71
72
  Object.assign(plainHandlers, group.plain);
72
73
  if (group.help !== undefined)
73
74
  Object.assign(helpEntries, group.help);
75
+ for (const [name, pieces] of Object.entries(group.holds ?? {}))
76
+ holdsEntries.set(name, pieces);
77
+ }
78
+ /**
79
+ * What a command holds of the session while it runs.
80
+ * @param name - The command name.
81
+ * @returns The pieces it changes (none for a read), or null when it has
82
+ * not said, and so holds the whole session.
83
+ */
84
+ export function commandHolds_get(name) {
85
+ return holdsEntries.get(name) ?? null;
74
86
  }
75
87
  /**
76
88
  * The envelope handler a name reaches, by index (as the tables were read).
@@ -1 +1 @@
1
- {"version":3,"file":"commandRegistry.js","sourceRoot":"","sources":["../../src/core/commandRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commandRegistry.js","sourceRoot":"","sources":["../../src/core/commandRegistry.ts"],"names":[],"mappings":"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"}
@@ -12,5 +12,4 @@
12
12
  * @module
13
13
  */
14
14
  import { type CommandGroup } from './commandRegistry.js';
15
- /** The core commands: their handlers. Their help is registered from `builtins/help.ts`, which holds it. */
16
15
  export declare const coreCommands: CommandGroup;
@@ -14,6 +14,7 @@ import { builtin_grep } from '../builtins/sys/grep.js';
14
14
  import { builtin_cut, builtin_head, builtin_sort, builtin_tail, builtin_uniq, builtin_wc } from '../builtins/sys/textFilters.js';
15
15
  import { builtin_command } from '../builtins/sys/command.js';
16
16
  import { builtin_kill, builtin_wait } from '../builtins/sys/tasks.js';
17
+ import { builtin_fg, builtin_joblets } from '../builtins/sys/joblets.js';
17
18
  import { builtin_set, builtin_unset } from '../builtins/sys/variables.js';
18
19
  import { builtin_echo, builtin_printf } from '../builtins/sys/echo.js';
19
20
  import { builtin_expect } from '../builtins/res/expect.js';
@@ -98,6 +99,8 @@ const envelope = {
98
99
  timer: builtin_timer,
99
100
  kill: builtin_kill,
100
101
  wait: builtin_wait,
102
+ fg: builtin_fg,
103
+ joblets: builtin_joblets,
101
104
  set: builtin_set,
102
105
  echo: builtin_echo,
103
106
  printf: builtin_printf,
@@ -178,6 +181,8 @@ const plain = {
178
181
  timer: envelopeHandler_wrap(builtin_timer),
179
182
  kill: envelopeHandler_wrap(builtin_kill),
180
183
  wait: envelopeHandler_wrap(builtin_wait),
184
+ fg: envelopeHandler_wrap(builtin_fg),
185
+ joblets: envelopeHandler_wrap(builtin_joblets),
181
186
  set: envelopeHandler_wrap(builtin_set),
182
187
  echo: envelopeHandler_wrap(builtin_echo),
183
188
  printf: envelopeHandler_wrap(builtin_printf),
@@ -203,8 +208,25 @@ const plain = {
203
208
  help: envelopeHandler_wrap(builtin_help),
204
209
  };
205
210
  /** The core commands: their handlers. Their help is registered from `builtins/help.ts`, which holds it. */
211
+ /**
212
+ * What the core's commands hold of the session: a read holds nothing and
213
+ * runs beside anything; `cd` holds the working directory. A command not
214
+ * named holds the whole session (a game, a play, anything that asks).
215
+ */
216
+ const holds = {
217
+ ...Object.fromEntries([
218
+ 'apropos', 'banner', 'cal', 'calc', 'cat', 'cowsay', 'cowthink', 'cut', 'date', 'ddate', 'echo', 'factor',
219
+ 'figlet', 'find', 'fortune', 'grep', 'head', 'help', 'lolcat', 'ls', 'man', 'morse', 'notes', 'pom',
220
+ 'primes', 'printf', 'pwd', 'qr', 'rev', 'rot13', 'seq', 'sort', 'stardate', 'tac', 'tail', 'uniq',
221
+ 'units', 'uptime', 'version', 'wc', 'who',
222
+ // Following or stopping a task changes nothing of the session.
223
+ 'fg', 'joblets', 'kill', 'wait',
224
+ ].map((name) => [name, []])),
225
+ cd: ['cwd'],
226
+ };
206
227
  export const coreCommands = {
207
228
  envelope,
208
229
  plain,
230
+ holds,
209
231
  };
210
232
  //# sourceMappingURL=coreCommands.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"coreCommands.js","sourceRoot":"","sources":["../../src/core/coreCommands.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AACzH,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3I,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACzG,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjI,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC5H,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEjD,MAAM,QAAQ,GAAoC;IAChD,GAAG,EAAE,WAAW;IAChB,IAAI,EAAE,YAAY;IAClB,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,UAAU;IACd,KAAK,EAAE,aAAa;IACpB,KAAK,EAAE,aAAa;IACpB,KAAK,EAAE,aAAa;IACpB,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,WAAW;IAChB,MAAM,EAAE,cAAc;IACtB,KAAK,EAAE,aAAa;IACpB,OAAO,EAAE,eAAe;IACxB,OAAO,EAAE,eAAe;IACxB,MAAM,EAAE,cAAc;IACtB,QAAQ,EAAE,gBAAgB;IAC1B,MAAM,EAAE,cAAc;IACtB,MAAM,EAAE,cAAc;IACtB,MAAM,EAAE,cAAc;IACtB,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,WAAW;IAChB,IAAI,EAAE,YAAY;IAClB,EAAE,EAAE,UAAU;IACd,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,WAAW;IAChB,OAAO,EAAE,eAAe;IACxB,OAAO,EAAE,eAAe;IACxB,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,WAAW;IAChB,MAAM,EAAE,cAAc;IACtB,MAAM,EAAE,cAAc;IACtB,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,aAAa;IACpB,KAAK,EAAE,aAAa;IACpB,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,aAAa;IACpB,GAAG,EAAE,WAAW;IAChB,MAAM,EAAE,cAAc;IACtB,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,WAAW;IAChB,EAAE,EAAE,UAAU;IACd,GAAG,EAAE,WAAW;IAChB,QAAQ,EAAE,gBAAgB;IAC1B,KAAK,EAAE,aAAa;IACpB,OAAO,EAAE,eAAe;IACxB,KAAK,EAAE,aAAa;IACpB,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,WAAW;IAChB,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE,cAAc;IACtB,MAAM,EAAE,cAAc;IACtB,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,aAAa;IACpB,KAAK,EAAE,aAAa;IACpB,SAAS,EAAE,iBAAiB;IAC5B,EAAE,EAAE,UAAU;IACd,OAAO,EAAE,eAAe;IACxB,IAAI,EAAE,YAAY;IAClB,YAAY,EAAE,oBAAoB;IAClC,MAAM,EAAE,cAAc;IACtB,KAAK,EAAE,aAAa;IACpB,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,eAAe;IACxB,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,eAAe;IACxB,KAAK,EAAE,aAAa;IACpB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,WAAW;IAChB,EAAE,EAAE,UAAU;IACd,IAAI,EAAE,YAAY;CACnB,CAAC;AAEF,MAAM,KAAK,GAAmC;IAC5C,EAAE,EAAE,oBAAoB,CAAC,UAAU,CAAC;IACpC,EAAE,EAAE,oBAAoB,CAAC,UAAU,CAAC;IACpC,GAAG,EAAE,oBAAoB,CAAC,WAAW,CAAC;IACtC,GAAG,EAAE,oBAAoB,CAAC,CAAC,IAAc,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAChE,GAAG,EAAE,oBAAoB,CAAC,WAAW,CAAC;IACtC,IAAI,EAAE,oBAAoB,CAAC,YAAY,CAAC;IACxC,EAAE,EAAE,oBAAoB,CAAC,UAAU,CAAC;IACpC,EAAE,EAAE,oBAAoB,CAAC,UAAU,CAAC;IACpC,EAAE,EAAE,oBAAoB,CAAC,UAAU,CAAC;IACpC,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC;IAC1C,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC;IAC1C,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC;IAC1C,MAAM,EAAE,oBAAoB,CAAC,cAAc,CAAC;IAC5C,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC;IAC1C,OAAO,EAAE,oBAAoB,CAAC,eAAe,CAAC;IAC9C,MAAM,EAAE,oBAAoB,CAAC,cAAc,CAAC;IAC5C,QAAQ,EAAE,oBAAoB,CAAC,gBAAgB,CAAC;IAChD,MAAM,EAAE,oBAAoB,CAAC,cAAc,CAAC;IAC5C,MAAM,EAAE,oBAAoB,CAAC,cAAc,CAAC;IAC5C,MAAM,EAAE,oBAAoB,CAAC,cAAc,CAAC;IAC5C,GAAG,EAAE,oBAAoB,CAAC,WAAW,CAAC;IACtC,GAAG,EAAE,oBAAoB,CAAC,WAAW,CAAC;IACtC,IAAI,EAAE,oBAAoB,CAAC,YAAY,CAAC;IACxC,EAAE,EAAE,oBAAoB,CAAC,UAAU,CAAC;IACpC,IAAI,EAAE,oBAAoB,CAAC,YAAY,CAAC;IACxC,IAAI,EAAE,oBAAoB,CAAC,YAAY,CAAC;IACxC,IAAI,EAAE,oBAAoB,CAAC,YAAY,CAAC;IACxC,IAAI,EAAE,oBAAoB,CAAC,YAAY,CAAC;IACxC,GAAG,EAAE,oBAAoB,CAAC,WAAW,CAAC;IACtC,OAAO,EAAE,oBAAoB,CAAC,eAAe,CAAC;IAC9C,OAAO,EAAE,oBAAoB,CAAC,eAAe,CAAC;IAC9C,GAAG,EAAE,oBAAoB,CAAC,WAAW,CAAC;IACtC,GAAG,EAAE,oBAAoB,CAAC,WAAW,CAAC;IACtC,GAAG,EAAE,oBAAoB,CAAC,WAAW,CAAC;IACtC,MAAM,EAAE,oBAAoB,CAAC,cAAc,CAAC;IAC5C,MAAM,EAAE,oBAAoB,CAAC,cAAc,CAAC;IAC5C,IAAI,EAAE,oBAAoB,CAAC,YAAY,CAAC;IACxC,IAAI,EAAE,oBAAoB,CAAC,YAAY,CAAC;IACxC,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC;IAC1C,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC;IAC1C,IAAI,EAAE,oBAAoB,CAAC,YAAY,CAAC;IACxC,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC;IAC1C,GAAG,EAAE,oBAAoB,CAAC,WAAW,CAAC;IACtC,MAAM,EAAE,oBAAoB,CAAC,cAAc,CAAC;IAC5C,GAAG,EAAE,oBAAoB,CAAC,WAAW,CAAC;IACtC,GAAG,EAAE,oBAAoB,CAAC,WAAW,CAAC;IACtC,EAAE,EAAE,oBAAoB,CAAC,UAAU,CAAC;IACpC,GAAG,EAAE,oBAAoB,CAAC,WAAW,CAAC;IACtC,QAAQ,EAAE,oBAAoB,CAAC,gBAAgB,CAAC;IAChD,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC;IAC1C,OAAO,EAAE,oBAAoB,CAAC,eAAe,CAAC;IAC9C,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC;IAC1C,IAAI,EAAE,oBAAoB,CAAC,YAAY,CAAC;IACxC,IAAI,EAAE,oBAAoB,CAAC,YAAY,CAAC;IACxC,GAAG,EAAE,oBAAoB,CAAC,WAAW,CAAC;IACtC,IAAI,EAAE,oBAAoB,CAAC,YAAY,CAAC;IACxC,MAAM,EAAE,oBAAoB,CAAC,cAAc,CAAC;IAC5C,MAAM,EAAE,oBAAoB,CAAC,cAAc,CAAC;IAC5C,IAAI,EAAE,oBAAoB,CAAC,YAAY,CAAC;IACxC,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC;IAC1C,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC;IAC1C,SAAS,EAAE,oBAAoB,CAAC,iBAAiB,CAAC;IAClD,EAAE,EAAE,oBAAoB,CAAC,UAAU,CAAC;IACpC,OAAO,EAAE,oBAAoB,CAAC,eAAe,CAAC;IAC9C,IAAI,EAAE,oBAAoB,CAAC,YAAY,CAAC;IACxC,YAAY,EAAE,oBAAoB,CAAC,oBAAoB,CAAC;IACxD,MAAM,EAAE,oBAAoB,CAAC,cAAc,CAAC;IAC5C,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC;IAC1C,IAAI,EAAE,oBAAoB,CAAC,YAAY,CAAC;IACxC,OAAO,EAAE,oBAAoB,CAAC,eAAe,CAAC;IAC9C,IAAI,EAAE,oBAAoB,CAAC,YAAY,CAAC;IACxC,MAAM,EAAE,oBAAoB,CAAC,YAAY,CAAC;IAC1C,OAAO,EAAE,oBAAoB,CAAC,eAAe,CAAC;IAC9C,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC;IAC1C,IAAI,EAAE,oBAAoB,CAAC,YAAY,CAAC;IACxC,GAAG,EAAE,oBAAoB,CAAC,WAAW,CAAC;IACtC,IAAI,EAAE,oBAAoB,CAAC,YAAY,CAAC;CACzC,CAAC;AAGF,2GAA2G;AAC3G,MAAM,CAAC,MAAM,YAAY,GAAiB;IACxC,QAAQ;IACR,KAAK;CACN,CAAC"}
1
+ {"version":3,"file":"coreCommands.js","sourceRoot":"","sources":["../../src/core/coreCommands.ts"],"names":[],"mappings":"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"}
@@ -16,13 +16,13 @@ import { commandCancellation_enable, commandCancellation_signalGet } from './can
16
16
  import { commands_register, commandOrder_set, envelopeHandler_get, plainHandler_get, builtinCommand_has } from './commandRegistry.js';
17
17
  import { coreCommands } from './coreCommands.js';
18
18
  import { ENVELOPE_ORDER, PLAIN_ORDER, HELP_ORDER } from './commandOrder.js';
19
- import { stdin_set } from '../builtins/games/stdin.js';
20
- import { listingIn_set } from './listing.js';
19
+ import { stdinScope_run } from '../builtins/games/stdin.js';
20
+ import { listingInScope_run } from './listing.js';
21
21
  import { pipeHeadVariable_read } from './pipeHead.js';
22
22
  import { writeFileSync, appendFileSync } from 'fs';
23
23
  import chalk from 'chalk';
24
24
  import { error_stripDebugPrefix } from './errorText.js';
25
- import { exitCode_read, handler_runDirect } from './handlerRun.js';
25
+ import { exitCode_read, handler_runDirect, exitCode_set } from './handlerRun.js';
26
26
  import { backendInstalled_get } from './backend.js';
27
27
  import { shellWords_expand } from '../lib/wildcard.js';
28
28
  import { help_render, helpMissing_render, verb_available, commandHelp_get, args_checkHasHelpFlag, } from '../builtins/help.js';
@@ -393,7 +393,7 @@ export async function pipe_execute(segments) {
393
393
  const head = pipeHeadVariable_read(firstCommand);
394
394
  if (head !== null && 'refused' in head) {
395
395
  sink_get().err_write(`${chalk.red(head.refused)}\n`);
396
- process.exitCode = 1;
396
+ exitCode_set(1);
397
397
  return { status: 'error', rendered: '' };
398
398
  }
399
399
  const first = head !== null ? head.output : await chellCommand_executeAndCapture(firstCommand);
@@ -409,19 +409,13 @@ export async function pipe_execute(segments) {
409
409
  const segment = segments[i];
410
410
  const word = segment.trim().split(/\s+/)[0] ?? '';
411
411
  if (word !== '' && builtinCommand_has(word)) {
412
- stdin_set(currentInput.toString('utf-8'));
413
- listingIn_set(listing_is(currentModel) ? currentModel : null);
414
- try {
415
- const captured = await chellCommand_executeAndCapture(segment);
416
- currentInput = captured.buffer;
417
- currentModel = captured.model;
418
- if (listing_is(captured.model))
419
- lastListing = captured.model;
420
- }
421
- finally {
422
- stdin_set(null);
423
- listingIn_set(null);
424
- }
412
+ // The segment reads its input from slots of its own, so a line that
413
+ // runs beside this one never takes this pipe's text or listing (#1273).
414
+ const captured = await stdinScope_run(currentInput.toString('utf-8'), async () => await listingInScope_run(listing_is(currentModel) ? currentModel : null, async () => await chellCommand_executeAndCapture(segment)));
415
+ currentInput = captured.buffer;
416
+ currentModel = captured.model;
417
+ if (listing_is(captured.model))
418
+ lastListing = captured.model;
425
419
  continue;
426
420
  }
427
421
  capability_require('pipeSegments', 'this surface cannot run pipeline segments');
@@ -463,7 +457,7 @@ export async function command_executeToEnvelope(trimmedLine, startTime, timingEn
463
457
  // prefix names the function that pushed it, which tells them nothing.
464
458
  if (lastError)
465
459
  sink_get().err_write(`${chalk.red(error_stripDebugPrefix(lastError.message))}\n`);
466
- process.exitCode = 1;
460
+ exitCode_set(1);
467
461
  return { status: 'error', rendered: '' };
468
462
  }
469
463
  const words = referenced.value;
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../src/core/dispatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../src/core/dispatch.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ import { backendInstalled_get } from './backend.js';
12
12
  import { shellArguments_slice } from '../lib/parser.js';
13
13
  import { surface_get } from './surface.js';
14
14
  import { envelope_error } from '@fnndsc/menu';
15
+ import { exitCode_set } from './handlerRun.js';
15
16
  /**
16
17
  * Detects an authorization failure suitable for an explicit elevation hint.
17
18
  *
@@ -42,28 +43,28 @@ export async function sudoCommand_run(args, run) {
42
43
  const command = args[0];
43
44
  const commandArgs = shellArguments_slice(args, 1);
44
45
  if (!command) {
45
- process.exitCode = 1;
46
+ exitCode_set(1);
46
47
  return envelope_error('', undefined, `${chalk.red('Usage: sudo <command> [arguments...]')}\n`);
47
48
  }
48
49
  if (command === 'sudo') {
49
- process.exitCode = 1;
50
+ exitCode_set(1);
50
51
  return envelope_error('', undefined, `${chalk.red('sudo: nested elevation is not supported.')}\n`);
51
52
  }
52
53
  const elevate = backendInstalled_get()?.elevate;
53
54
  if (elevate === undefined) {
54
- process.exitCode = 1;
55
+ exitCode_set(1);
55
56
  return envelope_error('', undefined, `${chalk.red('sudo: this session has no administrator to become.')}\n`);
56
57
  }
57
58
  const surface = surface_get();
58
59
  if (!surface.capabilities.hiddenInput) {
59
- process.exitCode = 1;
60
+ exitCode_set(1);
60
61
  return envelope_error('', undefined, `${chalk.red('sudo: this surface cannot securely collect administrator credentials.')}\n`);
61
62
  }
62
63
  try {
63
64
  const username = await surface.prompt({ message: 'Administrator username: ' });
64
65
  const password = await surface.prompt({ message: 'Administrator password: ', hidden: true });
65
66
  if (!username || !password) {
66
- process.exitCode = 1;
67
+ exitCode_set(1);
67
68
  return envelope_error('', undefined, `${chalk.red('sudo: administrator credentials cannot be empty.')}\n`);
68
69
  }
69
70
  return await elevate({ username, password }, async () => {
@@ -71,7 +72,7 @@ export async function sudoCommand_run(args, run) {
71
72
  });
72
73
  }
73
74
  catch (error) {
74
- process.exitCode = 1;
75
+ exitCode_set(1);
75
76
  const message = error instanceof Error ? error.message : String(error);
76
77
  if (message.includes('cannot securely collect hidden input')) {
77
78
  return envelope_error('', undefined, `${chalk.red(`sudo: ${message}`)}\n`);
@@ -1 +1 @@
1
- {"version":3,"file":"elevation.js","sourceRoot":"","sources":["../../src/core/elevation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"elevation.js","sourceRoot":"","sources":["../../src/core/elevation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAgB,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAwB,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAK/C;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAe;IACrD,OAAO,sIAAsI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC9J,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe,EAAE,IAAc;IAC5D,OAAO,QAAQ,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;AACxE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAc,EACd,GAA0B;IAE1B,MAAM,OAAO,GAAuB,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAa,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,YAAY,CAAC,CAAC,CAAC,CAAC;QAChB,OAAO,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,sCAAsC,CAAC,IAAI,CAAC,CAAC;IACjG,CAAC;IACD,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,YAAY,CAAC,CAAC,CAAC,CAAC;QAChB,OAAO,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,0CAA0C,CAAC,IAAI,CAAC,CAAC;IACrG,CAAC;IAED,MAAM,OAAO,GAAuB,oBAAoB,EAAE,EAAE,OAAO,CAAC;IACpE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,YAAY,CAAC,CAAC,CAAC,CAAC;QAChB,OAAO,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,oDAAoD,CAAC,IAAI,CAAC,CAAC;IAC/G,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QACtC,YAAY,CAAC,CAAC,CAAC,CAAC;QAChB,OAAO,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,uEAAuE,CAAC,IAAI,CAAC,CAAC;IAClI,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAW,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC,CAAC;QACvF,MAAM,QAAQ,GAAW,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,0BAA0B,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACrG,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3B,YAAY,CAAC,CAAC,CAAC,CAAC;YAChB,OAAO,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,kDAAkD,CAAC,IAAI,CAAC,CAAC;QAC7G,CAAC;QACD,OAAO,MAAM,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,KAAK,IAA8B,EAAE;YAChF,OAAO,MAAM,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,YAAY,CAAC,CAAC,CAAC,CAAC;QAChB,MAAM,OAAO,GAAW,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/E,IAAI,OAAO,CAAC,QAAQ,CAAC,sCAAsC,CAAC,EAAE,CAAC;YAC7D,OAAO,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,gCAAgC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;IACpG,CAAC;AACH,CAAC"}
@@ -1,8 +1,8 @@
1
1
  export { FileReadRefusal } from './fileRefusal.js';
2
2
  import type { Regard, WatchState, AmbientEvent, CommandEnvelope } from '@fnndsc/menu';
3
3
  import { type Surface } from './surface.js';
4
- import { type TurnState } from './turn.js';
5
- import { type Numbering } from '../session/answer.js';
4
+ import { type LineHolds } from './holds.js';
5
+ import { type JobletRunning } from './joblets.js';
6
6
  import { type OutputSink } from './sink.js';
7
7
  import { type Backend, type FileByteStream } from './backend.js';
8
8
  /**
@@ -16,6 +16,15 @@ export interface CompletionResult {
16
16
  candidates: string[];
17
17
  prefix: string;
18
18
  }
19
+ /** How a host hands the kernel a line. */
20
+ export interface LineOptions {
21
+ /** The surface the line came from: what it lists is that surface's answer. */
22
+ origin?: string;
23
+ /** The host's name for the line, which its STOP and Ctrl-C name. */
24
+ id?: string;
25
+ /** Hears the line's exit status when it ends. */
26
+ ended?: (code: number) => void;
27
+ }
19
28
  /**
20
29
  * The hostable shell engine.
21
30
  *
@@ -31,39 +40,33 @@ export interface BrasaEngine {
31
40
  * @param line - The raw input line (may contain `;`, `|`, `>`, `!`).
32
41
  * @returns The envelopes of the executed commands, in execution order.
33
42
  */
34
- line_execute(line: string): Promise<CommandEnvelope[]>;
43
+ line_execute(line: string, options?: LineOptions): Promise<CommandEnvelope[]>;
35
44
  /**
36
- * Requests cancellation of the foreground command when it supports it.
45
+ * Requests cancellation of a running command when it supports it (Ctrl-C).
37
46
  *
38
- * @returns True when the active command accepted the request.
47
+ * @param id - The line, as its host named it; the most recent when omitted.
48
+ * @returns True when the command accepted the request.
39
49
  */
40
- line_cancel?(): boolean;
41
- /** Aborts the foreground command, cancellable or not; the host abandons one that does not end. */
42
- line_abort?(): boolean;
50
+ line_cancel?(id?: string): boolean;
51
+ /** Aborts a running command, cancellable or not; the host abandons one that does not end. */
52
+ line_abort?(id?: string): boolean;
43
53
  /** Whether the command the caller runs inside was stopped (its output and questions are no one's). */
44
54
  command_stopped?(): boolean;
45
55
  /**
46
- * The running command steps aside to wait on a person (its host gives the
47
- * turn to the next command): its per-command state is saved and cleared
48
- * (turn.ts).
49
- *
50
- * @returns What it left behind, for `turn_resume`.
51
- */
52
- turn_leave?(): TurnState;
53
- /**
54
- * A command that stepped aside resumes: its per-command state is put
55
- * back over whatever ran in between.
56
+ * What a line holds of the session while it runs, for a host that runs
57
+ * lines side by side: the pieces its commands change, none for a read,
58
+ * or 'all' when the line cannot say.
56
59
  *
57
- * @param state - What `turn_leave` returned for it.
60
+ * @param line - The line.
61
+ * @returns Its pieces, or 'all'.
58
62
  */
59
- turn_resume?(state: TurnState): void;
63
+ line_holds?(line: string): LineHolds;
60
64
  /**
61
- * Stops a command that stepped aside (the operator's STOP on it), from
62
- * outside its turn; it finds itself stopped when it resumes.
65
+ * The joblets running now, for a host that warns before a restart ends them.
63
66
  *
64
- * @param state - What `turn_leave` returned for it.
67
+ * @returns Them, by number.
65
68
  */
66
- turn_abort?(state: TurnState): void;
69
+ joblets_running?(): JobletRunning[];
67
70
  /**
68
71
  * Computes completion candidates for a partial input line.
69
72
  *
@@ -116,15 +119,6 @@ export interface BrasaEngine {
116
119
  * @returns The retained regard, or null.
117
120
  */
118
121
  regard_get?(): Regard | null;
119
- /**
120
- * Which listing the session's numbers currently count.
121
- *
122
- * A surface attaching late lights its index pills from this rather than
123
- * waiting for the next listing to be made.
124
- *
125
- * @returns The numbering, or null when nothing has listed.
126
- */
127
- numbering_get?(): Numbering | null;
128
122
  /**
129
123
  * Opens or closes a liveness watch on a subject for one owner (a surface
130
124
  * id, or the operator at a console). While any owner watches a subject,
@@ -142,6 +136,12 @@ export interface BrasaEngine {
142
136
  * @param owner - The owner whose watches end.
143
137
  */
144
138
  watch_release?(owner: string): void;
139
+ /**
140
+ * Forgets what a surface left behind (its last answer), when it has gone.
141
+ *
142
+ * @param origin - The surface's origin.
143
+ */
144
+ origin_forget?(origin: string): void;
145
145
  /**
146
146
  * Subscribes to events the engine originates on its own: a sampler's
147
147
  * refreshed model, a watch changing state.
@@ -193,21 +193,24 @@ export declare function stopOnError_set(value: boolean): void;
193
193
  * active sink as each command completes.
194
194
  *
195
195
  * @param line - The raw input line.
196
+ * @param options - The surface the line came from, when a host names it.
196
197
  * @returns The envelopes of the executed commands, in execution order.
197
198
  */
198
- export declare function line_execute(line: string): Promise<CommandEnvelope[]>;
199
+ export declare function line_execute(line: string, options?: LineOptions): Promise<CommandEnvelope[]>;
199
200
  /**
200
- * Requests cancellation of the active foreground command.
201
+ * Requests cancellation of a running command (Ctrl-C).
201
202
  *
202
- * @returns True when a command can honor the request.
203
+ * @param id - The line, as its host named it; the most recent when omitted.
204
+ * @returns True when the command can honor the request.
203
205
  */
204
- export declare function line_cancel(): boolean;
206
+ export declare function line_cancel(id?: string): boolean;
205
207
  /**
206
- * Aborts the active foreground command, cancellable or not (the operator's STOP).
208
+ * Aborts a running command, cancellable or not (the operator's STOP).
207
209
  *
208
- * @returns True when a command was running.
210
+ * @param id - The line, as its host named it; the most recent when omitted.
211
+ * @returns True when such a command was running.
209
212
  */
210
- export declare function line_abort(): boolean;
213
+ export declare function line_abort(id?: string): boolean;
211
214
  /**
212
215
  * Computes completion candidates for a partial input line.
213
216
  *
@@ -30,24 +30,28 @@ import chalk from 'chalk';
30
30
  import { taskWatch_set, taskWatch_release } from './taskWatch.js';
31
31
  import { ambient_listen } from './ambient.js';
32
32
  import { session } from '../session/index.js';
33
+ import { cwdScope_run } from '../session/cwdScope.js';
33
34
  import { semicolons_parse } from '../lib/semicolonParser.js';
34
35
  import { pipes_parse, redirect_parse, command_shellEscape_detect, } from './preprocess.js';
35
36
  import { command_executeToEnvelope, command_timingMaybePrint, redirect_execute, pipe_execute, } from './dispatch.js';
36
37
  import { capability_require, surface_get, surface_set } from './surface.js';
37
38
  import { commandCancellation_abort, commandCancellation_stopped, commandCancellation_active, commandCancellation_enable, commandCancellation_request, commandCancellation_run, commandCancellation_signalGet } from './cancellation.js';
38
- import { turn_leave, turn_resume, turn_within } from './turn.js';
39
39
  import { errorStack } from '@fnndsc/fond';
40
40
  import { recorder_note } from '../session/recorder.js';
41
41
  import { assignment_parse } from './variables.js';
42
42
  import { assignment_execute } from './assignment.js';
43
43
  import { answerAdapters_register } from '../session/answerAdapters.js';
44
- import { numbering_get } from '../session/answer.js';
44
+ import { answerOrigin_forget } from '../session/answer.js';
45
+ import { lineOrigin_run } from './lineOrigin.js';
46
+ import { lineHolds_get } from './holds.js';
47
+ import { joblet_start, jobletLine_parse, joblets_running, jobletsSource } from './joblets.js';
45
48
  import { sink_get, sink_set } from './sink.js';
46
49
  import { backend_install, backendInstalled_get } from './backend.js';
47
50
  import { JobRunner, jobsRoot_derive, runner_get, runner_install } from './runner.js';
48
51
  import { vfsDispatcher_get } from './filesystem.js';
49
52
  import { itemType_isContainer } from './itemKinds.js';
50
53
  import { quoteOpen_find } from '../lib/quoting.js';
54
+ import { exitCode_set, exitScope_run } from './handlerRun.js';
51
55
  /**
52
56
  * Whether a batch (semicolon list, script) should abort on the first error.
53
57
  * Read by the batch loop; set by the boot layer for `-e` / script modes.
@@ -137,16 +141,26 @@ async function batch_execute(commands, startTime, timingEnabled) {
137
141
  * active sink as each command completes.
138
142
  *
139
143
  * @param line - The raw input line.
144
+ * @param options - The surface the line came from, when a host names it.
140
145
  * @returns The envelopes of the executed commands, in execution order.
141
146
  */
142
- export async function line_execute(line) {
147
+ export async function line_execute(line, options = {}) {
148
+ // A host that names the line's surface scopes it there: what it lists is
149
+ // that surface's answer (#1273).
150
+ if (options.origin !== undefined) {
151
+ const origin = options.origin;
152
+ const { origin: _origin, ...rest } = options;
153
+ return await lineOrigin_run(origin, () => line_execute(line, rest));
154
+ }
143
155
  // A line inside a command (a manifest's) shares that command's scope.
144
156
  if (commandCancellation_active())
145
157
  return await line_execute_run(line);
146
158
  // A top-level line keeps its own error stack: another command running
147
159
  // while this one waits on a question cannot pop its messages, nor have
148
160
  // its own drained by this one.
149
- return await commandCancellation_run(() => errorStack.scope_run(() => line_execute_run(line)));
161
+ // ...and its own exit status, so a line running beside it (a read, a
162
+ // background job) never marks it failed, nor it them (#1273).
163
+ return await commandCancellation_run(() => exitScope_run(() => errorStack.scope_run(() => cwdScope_run(() => line_execute_run(line))), options.ended), options.id);
150
164
  }
151
165
  /**
152
166
  * Executes one line inside its already-established cancellation scope.
@@ -166,7 +180,7 @@ async function line_execute_run(line, captured = false) {
166
180
  const open = command_shellEscape_detect(trimmedLine) ? null : quoteOpen_find(trimmedLine);
167
181
  if (open !== null) {
168
182
  sink_get().err_write(`${chalk.red(`chell: the ${open.quote} at column ${open.column} never closes; nothing of the line ran`)}\n`);
169
- process.exitCode = 2;
183
+ exitCode_set(2);
170
184
  return [{ status: 'error', rendered: '' }];
171
185
  }
172
186
  // A press on a surface and a line at a console arrive here alike, which is
@@ -177,6 +191,14 @@ async function line_execute_run(line, captured = false) {
177
191
  // Start timing if enabled
178
192
  const timingEnabled = session.timingEnabled_get();
179
193
  const startTime = timingEnabled ? performance.now() : 0;
194
+ // `line &` runs the line as a joblet: its surface has its prompt back at once.
195
+ const background = captured ? null : jobletLine_parse(trimmedLine);
196
+ if (background !== null) {
197
+ const started = await joblet_start(background);
198
+ if (started.status === 'error')
199
+ exitCode_set(1);
200
+ return [started];
201
+ }
180
202
  if (command_shellEscape_detect(trimmedLine)) {
181
203
  return shellEscape_execute(trimmedLine, startTime, timingEnabled);
182
204
  }
@@ -215,20 +237,22 @@ async function line_execute_run(line, captured = false) {
215
237
  return envelope ? [envelope] : [];
216
238
  }
217
239
  /**
218
- * Requests cancellation of the active foreground command.
240
+ * Requests cancellation of a running command (Ctrl-C).
219
241
  *
220
- * @returns True when a command can honor the request.
242
+ * @param id - The line, as its host named it; the most recent when omitted.
243
+ * @returns True when the command can honor the request.
221
244
  */
222
- export function line_cancel() {
223
- return commandCancellation_request();
245
+ export function line_cancel(id) {
246
+ return commandCancellation_request(id);
224
247
  }
225
248
  /**
226
- * Aborts the active foreground command, cancellable or not (the operator's STOP).
249
+ * Aborts a running command, cancellable or not (the operator's STOP).
227
250
  *
228
- * @returns True when a command was running.
251
+ * @param id - The line, as its host named it; the most recent when omitted.
252
+ * @returns True when such a command was running.
229
253
  */
230
- export function line_abort() {
231
- return commandCancellation_abort();
254
+ export function line_abort(id) {
255
+ return commandCancellation_abort(id);
232
256
  }
233
257
  /**
234
258
  * Computes completion candidates for a partial input line.
@@ -310,8 +334,9 @@ export async function engine_create(backend) {
310
334
  backend_install(backend);
311
335
  // What each listing's rows are, so `@3` can name one.
312
336
  answerAdapters_register();
313
- const jobs = backendInstalled_get()?.jobs ?? [];
314
- runner_install(jobs.length > 0 ? new JobRunner(jobsRoot_derive(backendInstalled_get()?.id ?? 'session'), jobs) : null);
337
+ // Every session runs joblets (`line &`); a backend adds its own jobs.
338
+ const jobs = [...(backendInstalled_get()?.jobs ?? []), jobletsSource];
339
+ runner_install(new JobRunner(jobsRoot_derive(backendInstalled_get()?.id ?? 'session'), jobs));
315
340
  await session.init();
316
341
  await vfsProviders_register();
317
342
  // A backend's containers are folders to every tool, the dispatcher's read included.
@@ -321,16 +346,15 @@ export async function engine_create(backend) {
321
346
  line_cancel,
322
347
  line_abort,
323
348
  command_stopped: commandCancellation_stopped,
324
- turn_leave,
325
- turn_resume,
326
- turn_abort: (state) => { turn_within(state, () => { line_abort(); }); },
349
+ line_holds: lineHolds_get,
350
+ joblets_running,
327
351
  line_complete,
328
352
  file_read,
329
353
  file_stream,
330
354
  file_write,
331
355
  regard_note: (regard) => session.regard_set(regard),
332
356
  regard_get: () => session.regard_get(),
333
- numbering_get: () => numbering_get(),
357
+ origin_forget: (origin) => answerOrigin_forget(origin),
334
358
  // The backend answers for its own subjects (ChRIS: feeds); a task it
335
359
  // leaves to the core is watched by the core.
336
360
  watch_set: (subject, owner, on) => backendInstalled_get()?.watch?.set(subject, owner, on)