@fnndsc/brasa 0.49.1 → 0.50.1

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 (177) 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/chris/connect.js +8 -5
  119. package/dist/chris/connect.js.map +1 -1
  120. package/dist/core/assignment.js +2 -2
  121. package/dist/core/assignment.js.map +1 -1
  122. package/dist/core/cancellation.d.ts +10 -7
  123. package/dist/core/cancellation.js +39 -24
  124. package/dist/core/cancellation.js.map +1 -1
  125. package/dist/core/commandRegistry.d.ts +19 -0
  126. package/dist/core/commandRegistry.js +12 -0
  127. package/dist/core/commandRegistry.js.map +1 -1
  128. package/dist/core/coreCommands.d.ts +0 -1
  129. package/dist/core/coreCommands.js +22 -0
  130. package/dist/core/coreCommands.js.map +1 -1
  131. package/dist/core/dispatch.js +12 -18
  132. package/dist/core/dispatch.js.map +1 -1
  133. package/dist/core/elevation.js +7 -6
  134. package/dist/core/elevation.js.map +1 -1
  135. package/dist/core/engine.d.ts +43 -40
  136. package/dist/core/engine.js +43 -19
  137. package/dist/core/engine.js.map +1 -1
  138. package/dist/core/handlerRun.d.ts +16 -6
  139. package/dist/core/handlerRun.js +47 -2
  140. package/dist/core/handlerRun.js.map +1 -1
  141. package/dist/core/holds.d.ts +25 -0
  142. package/dist/core/holds.js +74 -0
  143. package/dist/core/holds.js.map +1 -0
  144. package/dist/core/joblets.d.ts +94 -0
  145. package/dist/core/joblets.js +363 -0
  146. package/dist/core/joblets.js.map +1 -0
  147. package/dist/core/lineOrigin.d.ts +31 -0
  148. package/dist/core/lineOrigin.js +38 -0
  149. package/dist/core/lineOrigin.js.map +1 -0
  150. package/dist/core/listing.d.ts +8 -0
  151. package/dist/core/listing.js +26 -14
  152. package/dist/core/listing.js.map +1 -1
  153. package/dist/core/runner.d.ts +15 -0
  154. package/dist/core/runner.js +25 -7
  155. package/dist/core/runner.js.map +1 -1
  156. package/dist/core/surface.d.ts +17 -2
  157. package/dist/core/surface.js +26 -3
  158. package/dist/core/surface.js.map +1 -1
  159. package/dist/core/variables.d.ts +7 -0
  160. package/dist/core/variables.js +9 -0
  161. package/dist/core/variables.js.map +1 -1
  162. package/dist/notes.json +1 -1
  163. package/dist/session/answer.d.ts +8 -11
  164. package/dist/session/answer.js +36 -25
  165. package/dist/session/answer.js.map +1 -1
  166. package/dist/session/cwdScope.d.ts +25 -0
  167. package/dist/session/cwdScope.js +36 -0
  168. package/dist/session/cwdScope.js.map +1 -0
  169. package/dist/session/index.js +14 -4
  170. package/dist/session/index.js.map +1 -1
  171. package/dist/session/recorder.d.ts +7 -4
  172. package/dist/session/recorder.js +16 -21
  173. package/dist/session/recorder.js.map +1 -1
  174. package/package.json +5 -5
  175. package/dist/core/turn.d.ts +0 -61
  176. package/dist/core/turn.js +0 -83
  177. package/dist/core/turn.js.map +0 -1
@@ -62,7 +62,19 @@ export interface CommandGroup {
62
62
  * completes, in registration order.
63
63
  */
64
64
  help?: Record<string, CommandHelp>;
65
+ /**
66
+ * What each command changes of the session, by name: the pieces it holds
67
+ * while it runs, so lines that change different pieces (or nothing) run
68
+ * side by side. A command not named here holds the whole session.
69
+ */
70
+ holds?: Record<string, readonly SessionPiece[]>;
65
71
  }
72
+ /**
73
+ * A piece of session state a line may change: the working directory, or
74
+ * the cohort. Variables are not a piece: a store is one step nothing can
75
+ * come between, so assigning one holds nothing.
76
+ */
77
+ export type SessionPiece = 'cwd' | 'cohort';
66
78
  /** Who registers a group: the core, or the session's backend. */
67
79
  export type CommandOwner = 'core' | 'backend';
68
80
  /**
@@ -97,6 +109,13 @@ export declare function commandOrder_set(order: {
97
109
  * @throws {Error} When a backend's group names a core command.
98
110
  */
99
111
  export declare function commands_register(group: CommandGroup, owner?: CommandOwner): void;
112
+ /**
113
+ * What a command holds of the session while it runs.
114
+ * @param name - The command name.
115
+ * @returns The pieces it changes (none for a read), or null when it has
116
+ * not said, and so holds the whole session.
117
+ */
118
+ export declare function commandHolds_get(name: string): readonly SessionPiece[] | null;
100
119
  /**
101
120
  * The envelope handler a name reaches, by index (as the tables were read).
102
121
  *
@@ -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":"AAsEA,gEAAgE;AAChE,MAAM,SAAS,GAAgB,IAAI,GAAG,EAAU,CAAC;AAEjD,MAAM,gBAAgB,GAAoC,EAAE,CAAC;AAC7D,MAAM,aAAa,GAAmC,EAAE,CAAC;AACzD,MAAM,WAAW,GAAgC,EAAE,CAAC;AAEpD,mDAAmD;AACnD,MAAM,YAAY,GAA4D,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AAEpH;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA8C,gBAAgB,CAAC;AAE7F;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA6C,aAAa,CAAC;AAExF;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAiE;IAChG,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;QAAE,YAAY,CAAC,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9E,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;QAAE,YAAY,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACrE,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAAE,YAAY,CAAC,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,aAAa,CAAC,MAA+B,EAAE,KAAe;IACrE,MAAM,UAAU,GAAa,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,OAAO,GAAgB,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IACjD,MAAM,MAAM,GAAa,KAAK,CAAC,MAAM,CAAC,CAAC,IAAY,EAAW,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACpF,MAAM,SAAS,GAAgB,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAY,EAAW,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAmB,EAAE,QAAsB,MAAM;IACjF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,KAAK,GAAa,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;aAC9F,MAAM,CAAC,CAAC,IAAY,EAAW,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3H,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpH,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;QAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClF,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;QAAE,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACzE,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAAE,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;AACvE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,IAAI,IAAI,gBAAgB,IAAI,IAAI,IAAI,aAAa,CAAC;AAC3D,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,qBAAqB;IACnC,OAAO,aAAa,CAAC,gBAAgB,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;AAChE,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,kBAAkB;IAChC,OAAO,aAAa,CAAC,aAAa,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,0GAA0G;AAC1G,MAAM,UAAU,eAAe;IAC7B,OAAO,aAAa,CAAC,WAAW,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC"}
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":"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"}
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":"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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
  *