@fnndsc/brasa 0.49.0 → 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 (178) 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 +20 -4
  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.d.ts +1 -1
  74. package/dist/builtins/res/pipeline.diagram.js +2 -1
  75. package/dist/builtins/res/pipeline.diagram.js.map +1 -1
  76. package/dist/builtins/res/pipeline.js +46 -37
  77. package/dist/builtins/res/pipeline.js.map +1 -1
  78. package/dist/builtins/res/play.js +40 -31
  79. package/dist/builtins/res/play.js.map +1 -1
  80. package/dist/builtins/res/plugin.js +7 -6
  81. package/dist/builtins/res/plugin.js.map +1 -1
  82. package/dist/builtins/res/plugininstance.js +6 -5
  83. package/dist/builtins/res/plugininstance.js.map +1 -1
  84. package/dist/builtins/res/pluginmeta.js +5 -4
  85. package/dist/builtins/res/pluginmeta.js.map +1 -1
  86. package/dist/builtins/res/record.js +6 -5
  87. package/dist/builtins/res/record.js.map +1 -1
  88. package/dist/builtins/res/tag.js +5 -4
  89. package/dist/builtins/res/tag.js.map +1 -1
  90. package/dist/builtins/res/user.js +2 -1
  91. package/dist/builtins/res/user.js.map +1 -1
  92. package/dist/builtins/res/workflow.js +5 -4
  93. package/dist/builtins/res/workflow.js.map +1 -1
  94. package/dist/builtins/store.js +5 -4
  95. package/dist/builtins/store.js.map +1 -1
  96. package/dist/builtins/sys/apropos.js +2 -1
  97. package/dist/builtins/sys/apropos.js.map +1 -1
  98. package/dist/builtins/sys/echo.js +4 -3
  99. package/dist/builtins/sys/echo.js.map +1 -1
  100. package/dist/builtins/sys/grep.js +3 -2
  101. package/dist/builtins/sys/grep.js.map +1 -1
  102. package/dist/builtins/sys/joblets.d.ts +28 -0
  103. package/dist/builtins/sys/joblets.js +95 -0
  104. package/dist/builtins/sys/joblets.js.map +1 -0
  105. package/dist/builtins/sys/tasks.d.ts +1 -1
  106. package/dist/builtins/sys/tasks.js +7 -1
  107. package/dist/builtins/sys/tasks.js.map +1 -1
  108. package/dist/builtins/sys/textFilters.js +5 -4
  109. package/dist/builtins/sys/textFilters.js.map +1 -1
  110. package/dist/builtins/sys/variables.js +6 -5
  111. package/dist/builtins/sys/variables.js.map +1 -1
  112. package/dist/builtins/sys/whoami.js +4 -3
  113. package/dist/builtins/sys/whoami.js.map +1 -1
  114. package/dist/chris/chiliDelegate.js +2 -1
  115. package/dist/chris/chiliDelegate.js.map +1 -1
  116. package/dist/chris/chrisCommands.d.ts +0 -1
  117. package/dist/chris/chrisCommands.js +13 -0
  118. package/dist/chris/chrisCommands.js.map +1 -1
  119. package/dist/chris/help.js +4 -4
  120. package/dist/chris/help.js.map +1 -1
  121. package/dist/core/assignment.js +2 -2
  122. package/dist/core/assignment.js.map +1 -1
  123. package/dist/core/cancellation.d.ts +10 -7
  124. package/dist/core/cancellation.js +39 -24
  125. package/dist/core/cancellation.js.map +1 -1
  126. package/dist/core/commandRegistry.d.ts +19 -0
  127. package/dist/core/commandRegistry.js +12 -0
  128. package/dist/core/commandRegistry.js.map +1 -1
  129. package/dist/core/coreCommands.d.ts +0 -1
  130. package/dist/core/coreCommands.js +22 -0
  131. package/dist/core/coreCommands.js.map +1 -1
  132. package/dist/core/dispatch.js +12 -18
  133. package/dist/core/dispatch.js.map +1 -1
  134. package/dist/core/elevation.js +7 -6
  135. package/dist/core/elevation.js.map +1 -1
  136. package/dist/core/engine.d.ts +43 -40
  137. package/dist/core/engine.js +43 -19
  138. package/dist/core/engine.js.map +1 -1
  139. package/dist/core/handlerRun.d.ts +16 -6
  140. package/dist/core/handlerRun.js +47 -2
  141. package/dist/core/handlerRun.js.map +1 -1
  142. package/dist/core/holds.d.ts +25 -0
  143. package/dist/core/holds.js +74 -0
  144. package/dist/core/holds.js.map +1 -0
  145. package/dist/core/joblets.d.ts +94 -0
  146. package/dist/core/joblets.js +363 -0
  147. package/dist/core/joblets.js.map +1 -0
  148. package/dist/core/lineOrigin.d.ts +31 -0
  149. package/dist/core/lineOrigin.js +38 -0
  150. package/dist/core/lineOrigin.js.map +1 -0
  151. package/dist/core/listing.d.ts +8 -0
  152. package/dist/core/listing.js +26 -14
  153. package/dist/core/listing.js.map +1 -1
  154. package/dist/core/runner.d.ts +15 -0
  155. package/dist/core/runner.js +25 -7
  156. package/dist/core/runner.js.map +1 -1
  157. package/dist/core/surface.d.ts +17 -2
  158. package/dist/core/surface.js +26 -3
  159. package/dist/core/surface.js.map +1 -1
  160. package/dist/core/variables.d.ts +7 -0
  161. package/dist/core/variables.js +9 -0
  162. package/dist/core/variables.js.map +1 -1
  163. package/dist/notes.json +1 -1
  164. package/dist/session/answer.d.ts +8 -11
  165. package/dist/session/answer.js +36 -25
  166. package/dist/session/answer.js.map +1 -1
  167. package/dist/session/cwdScope.d.ts +25 -0
  168. package/dist/session/cwdScope.js +36 -0
  169. package/dist/session/cwdScope.js.map +1 -0
  170. package/dist/session/index.js +14 -4
  171. package/dist/session/index.js.map +1 -1
  172. package/dist/session/recorder.d.ts +7 -4
  173. package/dist/session/recorder.js +16 -21
  174. package/dist/session/recorder.js.map +1 -1
  175. package/package.json +4 -4
  176. package/dist/core/turn.d.ts +0 -61
  177. package/dist/core/turn.js +0 -83
  178. package/dist/core/turn.js.map +0 -1
@@ -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":"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;AAKpE;;;;;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,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,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,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,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,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,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,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,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,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,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,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,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
+ {"version":3,"file":"elevation.js","sourceRoot":"","sources":["../../src/core/elevation.ts"],"names":[],"mappings":"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"}
@@ -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)
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/core/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/core/engine.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,26 @@
1
- /**
2
- * @file Running a printing command handler, and reading the outcome it left.
3
- *
4
- * @module
5
- */
6
1
  import type { CommandEnvelope } from '@fnndsc/menu';
7
2
  import type { CommandHandler } from './commandRegistry.js';
8
3
  /**
9
- * Reads the current process exit code as a number.
4
+ * Reads the exit status as a number: the running line's own, else the
5
+ * process's.
10
6
  *
11
7
  * @returns The exit code, treating an unset code as zero.
12
8
  */
13
9
  export declare function exitCode_read(): number;
10
+ /**
11
+ * Sets the exit status: the running line's own, else the process's.
12
+ *
13
+ * @param code - The status, or undefined to clear it.
14
+ */
15
+ export declare function exitCode_set(code: number | undefined): void;
16
+ /**
17
+ * Runs a line with an exit status of its own, then leaves that status as
18
+ * the process's, so a one-shot `chell -c` still exits with its line's code.
19
+ *
20
+ * @param operation - The line's work.
21
+ * @returns What the work returned.
22
+ */
23
+ export declare function exitScope_run<T>(operation: () => Promise<T>, ended?: (code: number) => void): Promise<T>;
14
24
  /**
15
25
  * Runs a printing handler uncaptured, preserving an explicit envelope or
16
26
  * deriving one from the exit-code delta for legacy handlers.
@@ -1,10 +1,55 @@
1
1
  /**
2
- * Reads the current process exit code as a number.
2
+ * @file Running a printing command handler, and reading the outcome it left.
3
+ *
4
+ * @module
5
+ */
6
+ import { AsyncLocalStorage } from 'node:async_hooks';
7
+ /**
8
+ * The exit status of the line running on this async path. Lines that run
9
+ * at once (a read beside a writer, a background job) each have their own,
10
+ * so one's failure never marks another's (#1273). Outside a line (a test
11
+ * calling a handler, chell's own boot) the process's exit code is used.
12
+ */
13
+ const exitScope = new AsyncLocalStorage();
14
+ /**
15
+ * Reads the exit status as a number: the running line's own, else the
16
+ * process's.
3
17
  *
4
18
  * @returns The exit code, treating an unset code as zero.
5
19
  */
6
20
  export function exitCode_read() {
7
- return typeof process.exitCode === 'number' ? process.exitCode : 0;
21
+ const line = exitScope.getStore();
22
+ const code = line !== undefined ? line.code : process.exitCode;
23
+ return typeof code === 'number' ? code : 0;
24
+ }
25
+ /**
26
+ * Sets the exit status: the running line's own, else the process's.
27
+ *
28
+ * @param code - The status, or undefined to clear it.
29
+ */
30
+ export function exitCode_set(code) {
31
+ const line = exitScope.getStore();
32
+ if (line !== undefined)
33
+ line.code = code;
34
+ else
35
+ process.exitCode = code;
36
+ }
37
+ /**
38
+ * Runs a line with an exit status of its own, then leaves that status as
39
+ * the process's, so a one-shot `chell -c` still exits with its line's code.
40
+ *
41
+ * @param operation - The line's work.
42
+ * @returns What the work returned.
43
+ */
44
+ export async function exitScope_run(operation, ended) {
45
+ const line = { code: undefined };
46
+ try {
47
+ return await exitScope.run(line, operation);
48
+ }
49
+ finally {
50
+ process.exitCode = line.code;
51
+ ended?.(typeof line.code === 'number' ? line.code : 0);
52
+ }
8
53
  }
9
54
  /**
10
55
  * Runs a printing handler uncaptured, preserving an explicit envelope or
@@ -1 +1 @@
1
- {"version":3,"file":"handlerRun.js","sourceRoot":"","sources":["../../src/core/handlerRun.ts"],"names":[],"mappings":"AAQA;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAuB,EAAE,IAAc;IAC7E,MAAM,cAAc,GAAW,aAAa,EAAE,CAAC;IAC/C,MAAM,gBAAgB,GAA2B,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,IAAI,gBAAgB,KAAK,SAAS;QAAE,OAAO,gBAAgB,CAAC;IAC5D,MAAM,aAAa,GAAW,aAAa,EAAE,CAAC;IAC9C,MAAM,MAAM,GAAY,aAAa,KAAK,CAAC,IAAI,aAAa,KAAK,cAAc,CAAC;IAChF,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"handlerRun.js","sourceRoot":"","sources":["../../src/core/handlerRun.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AASrD;;;;;GAKG;AACH,MAAM,SAAS,GAAkC,IAAI,iBAAiB,EAAc,CAAC;AAErF;;;;;GAKG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,IAAI,GAA2B,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC1D,MAAM,IAAI,GAAuC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACnG,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,IAAwB;IACnD,MAAM,IAAI,GAA2B,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC1D,IAAI,IAAI,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;;QACpC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;AAC/B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAI,SAA2B,EAAE,KAA8B;IAChG,MAAM,IAAI,GAAe,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC7C,IAAI,CAAC;QACH,OAAO,MAAM,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC9C,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;QAC7B,KAAK,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAuB,EAAE,IAAc;IAC7E,MAAM,cAAc,GAAW,aAAa,EAAE,CAAC;IAC/C,MAAM,gBAAgB,GAA2B,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,IAAI,gBAAgB,KAAK,SAAS;QAAE,OAAO,gBAAgB,CAAC;IAC5D,MAAM,aAAa,GAAW,aAAa,EAAE,CAAC;IAC9C,MAAM,MAAM,GAAY,aAAa,KAAK,CAAC,IAAI,aAAa,KAAK,cAAc,CAAC;IAChF,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @file What a line holds of the session while it runs.
3
+ *
4
+ * Lines from several surfaces share one session, and one line's work must
5
+ * not stop another's: a listing read in a browser should not wait behind a
6
+ * PACS pull typed in a console. So a host runs lines side by side unless
7
+ * they change the same piece of the session, and asks the kernel, before
8
+ * a line runs, what it holds (#1273). A line holds what its commands hold:
9
+ * nothing for a read, the working directory for `cd`, the cohort for
10
+ * `gather`. Whatever cannot be read off the line (a command that has not
11
+ * said, a host shell, a capture inside a word) holds the whole session, as
12
+ * every line did before.
13
+ *
14
+ * @module
15
+ */
16
+ import { type SessionPiece } from './commandRegistry.js';
17
+ /** What a line holds: the pieces it changes, or the whole session. */
18
+ export type LineHolds = SessionPiece[] | 'all';
19
+ /**
20
+ * What a line holds of the session while it runs.
21
+ *
22
+ * @param line - The line, as the operator typed it.
23
+ * @returns The pieces its commands change (none for a read), or 'all'.
24
+ */
25
+ export declare function lineHolds_get(line: string): LineHolds;