@fnndsc/brasa 0.56.2 → 0.56.4

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 (333) hide show
  1. package/dist/buildinfo.json +1 -1
  2. package/dist/builtins/berth/berth.d.ts +11 -0
  3. package/dist/builtins/berth/berth.js +53 -22
  4. package/dist/builtins/berth/berth.js.map +1 -1
  5. package/dist/builtins/berth/berthCube.d.ts +17 -2
  6. package/dist/builtins/berth/berthCube.js +22 -10
  7. package/dist/builtins/berth/berthCube.js.map +1 -1
  8. package/dist/builtins/debug.d.ts +24 -3
  9. package/dist/builtins/debug.js +66 -13
  10. package/dist/builtins/debug.js.map +1 -1
  11. package/dist/builtins/fs/acl.args.d.ts +5 -38
  12. package/dist/builtins/fs/acl.args.js +6 -72
  13. package/dist/builtins/fs/acl.args.js.map +1 -1
  14. package/dist/builtins/fs/acl.d.ts +100 -10
  15. package/dist/builtins/fs/acl.js +222 -68
  16. package/dist/builtins/fs/acl.js.map +1 -1
  17. package/dist/builtins/fs/cat.args.d.ts +14 -15
  18. package/dist/builtins/fs/cat.args.js +13 -40
  19. package/dist/builtins/fs/cat.args.js.map +1 -1
  20. package/dist/builtins/fs/cat.d.ts +40 -3
  21. package/dist/builtins/fs/cat.js +89 -10
  22. package/dist/builtins/fs/cat.js.map +1 -1
  23. package/dist/builtins/fs/cd.d.ts +24 -6
  24. package/dist/builtins/fs/cd.js +71 -18
  25. package/dist/builtins/fs/cd.js.map +1 -1
  26. package/dist/builtins/fs/configWrite.d.ts +24 -8
  27. package/dist/builtins/fs/configWrite.js +77 -36
  28. package/dist/builtins/fs/configWrite.js.map +1 -1
  29. package/dist/builtins/fs/cp.d.ts +39 -4
  30. package/dist/builtins/fs/cp.js +120 -55
  31. package/dist/builtins/fs/cp.js.map +1 -1
  32. package/dist/builtins/fs/download.d.ts +12 -1
  33. package/dist/builtins/fs/download.js +24 -4
  34. package/dist/builtins/fs/download.js.map +1 -1
  35. package/dist/builtins/fs/du.d.ts +59 -33
  36. package/dist/builtins/fs/du.js +111 -79
  37. package/dist/builtins/fs/du.js.map +1 -1
  38. package/dist/builtins/fs/edit.d.ts +19 -4
  39. package/dist/builtins/fs/edit.js +77 -16
  40. package/dist/builtins/fs/edit.js.map +1 -1
  41. package/dist/builtins/fs/find.d.ts +25 -0
  42. package/dist/builtins/fs/find.js +76 -5
  43. package/dist/builtins/fs/find.js.map +1 -1
  44. package/dist/builtins/fs/mkdir.d.ts +28 -18
  45. package/dist/builtins/fs/mkdir.js +95 -66
  46. package/dist/builtins/fs/mkdir.js.map +1 -1
  47. package/dist/builtins/fs/mv.d.ts +34 -4
  48. package/dist/builtins/fs/mv.js +129 -64
  49. package/dist/builtins/fs/mv.js.map +1 -1
  50. package/dist/builtins/fs/pull.args.d.ts +56 -17
  51. package/dist/builtins/fs/pull.args.js +16 -66
  52. package/dist/builtins/fs/pull.args.js.map +1 -1
  53. package/dist/builtins/fs/pull.d.ts +62 -0
  54. package/dist/builtins/fs/pull.js +86 -22
  55. package/dist/builtins/fs/pull.js.map +1 -1
  56. package/dist/builtins/fs/pwd.d.ts +19 -5
  57. package/dist/builtins/fs/pwd.js +62 -8
  58. package/dist/builtins/fs/pwd.js.map +1 -1
  59. package/dist/builtins/fs/rm.d.ts +58 -21
  60. package/dist/builtins/fs/rm.js +99 -82
  61. package/dist/builtins/fs/rm.js.map +1 -1
  62. package/dist/builtins/fs/rmdir.d.ts +29 -11
  63. package/dist/builtins/fs/rmdir.js +87 -36
  64. package/dist/builtins/fs/rmdir.js.map +1 -1
  65. package/dist/builtins/fs/touch.d.ts +44 -9
  66. package/dist/builtins/fs/touch.js +91 -27
  67. package/dist/builtins/fs/touch.js.map +1 -1
  68. package/dist/builtins/fs/transferJobs.d.ts +64 -0
  69. package/dist/builtins/fs/transferJobs.js +98 -0
  70. package/dist/builtins/fs/transferJobs.js.map +1 -0
  71. package/dist/builtins/fs/tree.d.ts +36 -9
  72. package/dist/builtins/fs/tree.js +126 -36
  73. package/dist/builtins/fs/tree.js.map +1 -1
  74. package/dist/builtins/fs/upload.d.ts +35 -3
  75. package/dist/builtins/fs/upload.js +99 -14
  76. package/dist/builtins/fs/upload.js.map +1 -1
  77. package/dist/builtins/fs/xattr.args.d.ts +12 -33
  78. package/dist/builtins/fs/xattr.args.js +17 -95
  79. package/dist/builtins/fs/xattr.args.js.map +1 -1
  80. package/dist/builtins/fs/xattr.d.ts +98 -8
  81. package/dist/builtins/fs/xattr.js +163 -24
  82. package/dist/builtins/fs/xattr.js.map +1 -1
  83. package/dist/builtins/games/bytes.d.ts +201 -5
  84. package/dist/builtins/games/bytes.js +255 -54
  85. package/dist/builtins/games/bytes.js.map +1 -1
  86. package/dist/builtins/games/chimes.d.ts +180 -3
  87. package/dist/builtins/games/chimes.js +203 -26
  88. package/dist/builtins/games/chimes.js.map +1 -1
  89. package/dist/builtins/games/chrislab.d.ts +101 -3
  90. package/dist/builtins/games/chrislab.js +117 -17
  91. package/dist/builtins/games/chrislab.js.map +1 -1
  92. package/dist/builtins/games/cowsay.d.ts +93 -2
  93. package/dist/builtins/games/cowsay.js +90 -31
  94. package/dist/builtins/games/cowsay.js.map +1 -1
  95. package/dist/builtins/games/figlet.d.ts +70 -2
  96. package/dist/builtins/games/figlet.js +83 -6
  97. package/dist/builtins/games/figlet.js.map +1 -1
  98. package/dist/builtins/games/lab.d.ts +104 -5
  99. package/dist/builtins/games/lab.js +144 -6
  100. package/dist/builtins/games/lab.js.map +1 -1
  101. package/dist/builtins/games/lolcat.d.ts +61 -1
  102. package/dist/builtins/games/lolcat.js +59 -24
  103. package/dist/builtins/games/lolcat.js.map +1 -1
  104. package/dist/builtins/games/morse.d.ts +36 -1
  105. package/dist/builtins/games/morse.js +50 -2
  106. package/dist/builtins/games/morse.js.map +1 -1
  107. package/dist/builtins/games/numbers.d.ts +241 -5
  108. package/dist/builtins/games/numbers.js +298 -23
  109. package/dist/builtins/games/numbers.js.map +1 -1
  110. package/dist/builtins/games/play.d.ts +96 -6
  111. package/dist/builtins/games/play.js +137 -6
  112. package/dist/builtins/games/play.js.map +1 -1
  113. package/dist/builtins/games/qr.d.ts +40 -1
  114. package/dist/builtins/games/qr.js +51 -2
  115. package/dist/builtins/games/qr.js.map +1 -1
  116. package/dist/builtins/games/show.d.ts +131 -6
  117. package/dist/builtins/games/show.js +208 -20
  118. package/dist/builtins/games/show.js.map +1 -1
  119. package/dist/builtins/games/sky.d.ts +178 -4
  120. package/dist/builtins/games/sky.js +228 -12
  121. package/dist/builtins/games/sky.js.map +1 -1
  122. package/dist/builtins/games/text.d.ts +258 -7
  123. package/dist/builtins/games/text.js +310 -29
  124. package/dist/builtins/games/text.js.map +1 -1
  125. package/dist/builtins/games/trek.d.ts +67 -3
  126. package/dist/builtins/games/trek.js +63 -10
  127. package/dist/builtins/games/trek.js.map +1 -1
  128. package/dist/builtins/games/wtf.d.ts +58 -1
  129. package/dist/builtins/games/wtf.js +67 -6
  130. package/dist/builtins/games/wtf.js.map +1 -1
  131. package/dist/builtins/help.d.ts +38 -2
  132. package/dist/builtins/help.js +76 -769
  133. package/dist/builtins/help.js.map +1 -1
  134. package/dist/builtins/helpSections.js +4 -1
  135. package/dist/builtins/helpSections.js.map +1 -1
  136. package/dist/builtins/net/connect.d.ts +36 -3
  137. package/dist/builtins/net/connect.js +84 -26
  138. package/dist/builtins/net/connect.js.map +1 -1
  139. package/dist/builtins/net/cubepath.d.ts +49 -5
  140. package/dist/builtins/net/cubepath.js +69 -27
  141. package/dist/builtins/net/cubepath.js.map +1 -1
  142. package/dist/builtins/net/logout.d.ts +13 -4
  143. package/dist/builtins/net/logout.js +49 -3
  144. package/dist/builtins/net/logout.js.map +1 -1
  145. package/dist/builtins/net/netstat.d.ts +29 -4
  146. package/dist/builtins/net/netstat.js +64 -23
  147. package/dist/builtins/net/netstat.js.map +1 -1
  148. package/dist/builtins/net/pacs.d.ts +169 -15
  149. package/dist/builtins/net/pacs.js +92 -33
  150. package/dist/builtins/net/pacs.js.map +1 -1
  151. package/dist/builtins/net/query.args.d.ts +95 -0
  152. package/dist/builtins/net/query.args.js +26 -0
  153. package/dist/builtins/net/query.args.js.map +1 -0
  154. package/dist/builtins/net/query.d.ts +98 -5
  155. package/dist/builtins/net/query.js +89 -83
  156. package/dist/builtins/net/query.js.map +1 -1
  157. package/dist/builtins/net/status.d.ts +5 -3
  158. package/dist/builtins/net/status.js +5 -12
  159. package/dist/builtins/net/status.js.map +1 -1
  160. package/dist/builtins/parametersofplugin.d.ts +82 -3
  161. package/dist/builtins/parametersofplugin.js +79 -23
  162. package/dist/builtins/parametersofplugin.js.map +1 -1
  163. package/dist/builtins/proc.d.ts +210 -3
  164. package/dist/builtins/proc.js +210 -119
  165. package/dist/builtins/proc.js.map +1 -1
  166. package/dist/builtins/res/compute.d.ts +67 -3
  167. package/dist/builtins/res/compute.js +121 -35
  168. package/dist/builtins/res/compute.js.map +1 -1
  169. package/dist/builtins/res/dicom.d.ts +52 -3
  170. package/dist/builtins/res/dicom.js +82 -34
  171. package/dist/builtins/res/dicom.js.map +1 -1
  172. package/dist/builtins/res/expect.d.ts +52 -3
  173. package/dist/builtins/res/expect.js +92 -29
  174. package/dist/builtins/res/expect.js.map +1 -1
  175. package/dist/builtins/res/feed.d.ts +475 -3
  176. package/dist/builtins/res/feed.js +253 -158
  177. package/dist/builtins/res/feed.js.map +1 -1
  178. package/dist/builtins/res/files.d.ts +517 -3
  179. package/dist/builtins/res/files.js +124 -44
  180. package/dist/builtins/res/files.js.map +1 -1
  181. package/dist/builtins/res/gather.d.ts +113 -3
  182. package/dist/builtins/res/gather.js +153 -44
  183. package/dist/builtins/res/gather.js.map +1 -1
  184. package/dist/builtins/res/gather.process.d.ts +27 -19
  185. package/dist/builtins/res/gather.process.js +29 -59
  186. package/dist/builtins/res/gather.process.js.map +1 -1
  187. package/dist/builtins/res/group.d.ts +284 -3
  188. package/dist/builtins/res/group.js +147 -76
  189. package/dist/builtins/res/group.js.map +1 -1
  190. package/dist/builtins/res/image.d.ts +30 -2
  191. package/dist/builtins/res/image.js +62 -10
  192. package/dist/builtins/res/image.js.map +1 -1
  193. package/dist/builtins/res/play.d.ts +71 -9
  194. package/dist/builtins/res/play.js +124 -82
  195. package/dist/builtins/res/play.js.map +1 -1
  196. package/dist/builtins/res/plugininstance.d.ts +307 -2
  197. package/dist/builtins/res/plugininstance.js +122 -50
  198. package/dist/builtins/res/plugininstance.js.map +1 -1
  199. package/dist/builtins/res/pluginmeta.d.ts +244 -2
  200. package/dist/builtins/res/pluginmeta.js +98 -40
  201. package/dist/builtins/res/pluginmeta.js.map +1 -1
  202. package/dist/builtins/res/record.d.ts +37 -3
  203. package/dist/builtins/res/record.js +127 -57
  204. package/dist/builtins/res/record.js.map +1 -1
  205. package/dist/builtins/res/resourceList.d.ts +136 -0
  206. package/dist/builtins/res/resourceList.js +51 -0
  207. package/dist/builtins/res/resourceList.js.map +1 -0
  208. package/dist/builtins/res/tag.d.ts +244 -3
  209. package/dist/builtins/res/tag.js +97 -41
  210. package/dist/builtins/res/tag.js.map +1 -1
  211. package/dist/builtins/res/user.d.ts +122 -3
  212. package/dist/builtins/res/user.js +83 -21
  213. package/dist/builtins/res/user.js.map +1 -1
  214. package/dist/builtins/res/workflow.d.ts +244 -2
  215. package/dist/builtins/res/workflow.js +97 -40
  216. package/dist/builtins/res/workflow.js.map +1 -1
  217. package/dist/builtins/store.d.ts +85 -3
  218. package/dist/builtins/store.js +135 -68
  219. package/dist/builtins/store.js.map +1 -1
  220. package/dist/builtins/sys/apropos.d.ts +80 -5
  221. package/dist/builtins/sys/apropos.js +121 -15
  222. package/dist/builtins/sys/apropos.js.map +1 -1
  223. package/dist/builtins/sys/cal.d.ts +44 -5
  224. package/dist/builtins/sys/cal.js +57 -10
  225. package/dist/builtins/sys/cal.js.map +1 -1
  226. package/dist/builtins/sys/command.d.ts +20 -0
  227. package/dist/builtins/sys/command.js +31 -0
  228. package/dist/builtins/sys/command.js.map +1 -1
  229. package/dist/builtins/sys/context.d.ts +13 -3
  230. package/dist/builtins/sys/context.js +51 -4
  231. package/dist/builtins/sys/context.js.map +1 -1
  232. package/dist/builtins/sys/date.d.ts +56 -5
  233. package/dist/builtins/sys/date.js +63 -9
  234. package/dist/builtins/sys/date.js.map +1 -1
  235. package/dist/builtins/sys/echo.d.ts +63 -2
  236. package/dist/builtins/sys/echo.js +87 -8
  237. package/dist/builtins/sys/echo.js.map +1 -1
  238. package/dist/builtins/sys/fortune.d.ts +27 -2
  239. package/dist/builtins/sys/fortune.js +44 -2
  240. package/dist/builtins/sys/fortune.js.map +1 -1
  241. package/dist/builtins/sys/grep.d.ts +245 -11
  242. package/dist/builtins/sys/grep.js +418 -131
  243. package/dist/builtins/sys/grep.js.map +1 -1
  244. package/dist/builtins/sys/joblets.d.ts +66 -7
  245. package/dist/builtins/sys/joblets.js +101 -14
  246. package/dist/builtins/sys/joblets.js.map +1 -1
  247. package/dist/builtins/sys/motd.d.ts +37 -3
  248. package/dist/builtins/sys/motd.js +49 -8
  249. package/dist/builtins/sys/motd.js.map +1 -1
  250. package/dist/builtins/sys/notes.d.ts +75 -3
  251. package/dist/builtins/sys/notes.js +90 -29
  252. package/dist/builtins/sys/notes.js.map +1 -1
  253. package/dist/builtins/sys/physicalmode.d.ts +24 -3
  254. package/dist/builtins/sys/physicalmode.js +68 -14
  255. package/dist/builtins/sys/physicalmode.js.map +1 -1
  256. package/dist/builtins/sys/tasks.d.ts +74 -5
  257. package/dist/builtins/sys/tasks.js +102 -14
  258. package/dist/builtins/sys/tasks.js.map +1 -1
  259. package/dist/builtins/sys/textFilters.d.ts +673 -41
  260. package/dist/builtins/sys/textFilters.js +718 -263
  261. package/dist/builtins/sys/textFilters.js.map +1 -1
  262. package/dist/builtins/sys/timing.d.ts +24 -3
  263. package/dist/builtins/sys/timing.js +67 -14
  264. package/dist/builtins/sys/timing.js.map +1 -1
  265. package/dist/builtins/sys/variables.d.ts +70 -4
  266. package/dist/builtins/sys/variables.js +103 -31
  267. package/dist/builtins/sys/variables.js.map +1 -1
  268. package/dist/builtins/sys/version.d.ts +27 -2
  269. package/dist/builtins/sys/version.js +48 -3
  270. package/dist/builtins/sys/version.js.map +1 -1
  271. package/dist/builtins/sys/weather.d.ts +92 -15
  272. package/dist/builtins/sys/weather.js +71 -45
  273. package/dist/builtins/sys/weather.js.map +1 -1
  274. package/dist/builtins/sys/whoami.d.ts +38 -18
  275. package/dist/builtins/sys/whoami.js +112 -8
  276. package/dist/builtins/sys/whoami.js.map +1 -1
  277. package/dist/builtins/utils.d.ts +0 -37
  278. package/dist/builtins/utils.js +0 -86
  279. package/dist/builtins/utils.js.map +1 -1
  280. package/dist/chris/chrisCommands.js +58 -152
  281. package/dist/chris/chrisCommands.js.map +1 -1
  282. package/dist/chris/commandFallback.d.ts +12 -0
  283. package/dist/chris/commandFallback.js +47 -0
  284. package/dist/chris/commandFallback.js.map +1 -1
  285. package/dist/chris/filesystem.js +7 -5
  286. package/dist/chris/filesystem.js.map +1 -1
  287. package/dist/chris/help.js +0 -1018
  288. package/dist/chris/help.js.map +1 -1
  289. package/dist/chris/kinds.d.ts +21 -0
  290. package/dist/chris/kinds.js +114 -2
  291. package/dist/chris/kinds.js.map +1 -1
  292. package/dist/chris/mounts.d.ts +4 -4
  293. package/dist/chris/mounts.js +9 -16
  294. package/dist/chris/mounts.js.map +1 -1
  295. package/dist/chris/navigation.d.ts +2 -3
  296. package/dist/chris/navigation.js +6 -20
  297. package/dist/chris/navigation.js.map +1 -1
  298. package/dist/chris/pacsResources.d.ts +259 -0
  299. package/dist/chris/pacsResources.js +168 -0
  300. package/dist/chris/pacsResources.js.map +1 -0
  301. package/dist/core/commandDeclaration.d.ts +97 -7
  302. package/dist/core/commandDeclaration.js +21 -0
  303. package/dist/core/commandDeclaration.js.map +1 -1
  304. package/dist/core/commandParse.js +65 -17
  305. package/dist/core/commandParse.js.map +1 -1
  306. package/dist/core/commandRegistry.d.ts +4 -3
  307. package/dist/core/commandRegistry.js +36 -8
  308. package/dist/core/commandRegistry.js.map +1 -1
  309. package/dist/core/commandSchema.js +5 -2
  310. package/dist/core/commandSchema.js.map +1 -1
  311. package/dist/core/commandUsage.d.ts +15 -0
  312. package/dist/core/commandUsage.js +59 -7
  313. package/dist/core/commandUsage.js.map +1 -1
  314. package/dist/core/coreCommands.js +63 -212
  315. package/dist/core/coreCommands.js.map +1 -1
  316. package/dist/core/paths.d.ts +29 -1
  317. package/dist/core/paths.js +15 -2
  318. package/dist/core/paths.js.map +1 -1
  319. package/dist/core/preprocess.d.ts +3 -4
  320. package/dist/core/preprocess.js +4 -5
  321. package/dist/core/preprocess.js.map +1 -1
  322. package/dist/lib/completer/declared.js +7 -4
  323. package/dist/lib/completer/declared.js.map +1 -1
  324. package/dist/lib/completer/index.js +2 -7
  325. package/dist/lib/completer/index.js.map +1 -1
  326. package/dist/lib/parser.d.ts +0 -8
  327. package/dist/lib/parser.js +0 -11
  328. package/dist/lib/parser.js.map +1 -1
  329. package/dist/lib/vfs/vfs.d.ts +2 -1
  330. package/dist/lib/vfs/vfs.js +5 -4
  331. package/dist/lib/vfs/vfs.js.map +1 -1
  332. package/dist/notes.json +1 -1
  333. package/package.json +5 -5
@@ -1,6 +1,22 @@
1
1
  /**
2
2
  * @file Builtin proc command.
3
- * Manages the /proc VFS cache (job monitoring).
3
+ * Manages the /proc VFS cache (job monitoring). Declared in one record
4
+ * (`procCommand`): one subcommand per question asked of the job index.
5
+ *
6
+ * Key components:
7
+ * - procCommand: the declaration.
8
+ * - builtin_proc: the declaration run over words already split.
9
+ * - procUniverseModel_build: the universe as the index holds it.
10
+ *
11
+ * Typical usage:
12
+ * ```ts
13
+ * await builtin_proc(['jobs', 'list', '--sort', 'erroredJobs', '--reverse']);
14
+ * ```
15
+ *
16
+ * Dependencies: salsa's /proc index (roster, topology, warm-up); cumin's
17
+ * proc cache; the session's cwd for `here` and `jump`.
18
+ *
19
+ * @module
4
20
  */
5
21
  import chalk from 'chalk';
6
22
  import { context_getSingle, procCache_refresh, procFeed_ensureLoaded, procFeed_probe, procTarget_locate, procFeed_refreshStart, procTopologyCatchup_status, procPipelineBackfill_status, procRoster_syncStart, procTopology_await, procTopology_retry, procTopology_status, procTopology_warmup, jobs_find } from '@fnndsc/salsa';
@@ -8,7 +24,8 @@ import { path_extractFeedID, path_extractPluginInstanceID, path_isInFeed, procCa
8
24
  import { FEED_LIST_MODEL_KIND, PROC_JUMP_MODEL_KIND, PROC_LAYOUT_MODEL_KIND, PROC_UNIVERSE_MODEL_KIND, envelope_ok, envelope_error } from '@fnndsc/menu';
9
25
  import { spinner } from '../lib/spinner.js';
10
26
  import { universeLayout_underWay, universeLayouts_warm } from '../chris/universeLayout.js';
11
- import { commandArgs_process } from './utils.js';
27
+ import { command_declare } from '../core/commandDeclaration.js';
28
+ import { declaredCommand_run } from '../core/commandParse.js';
12
29
  import { builtin_cd } from './fs/cd.js';
13
30
  import { procWatch_add, procWatch_remove, procWatch_list, watchSubject_parse } from './procWatch.js';
14
31
  import { feedIndexing_envelope } from './res/feed.diagram.js';
@@ -147,37 +164,35 @@ function procJobs_renderLines(page, selectedFields) {
147
164
  * Handles `proc jobs [inspect|list]`: lists cached feed jobs with optional
148
165
  * search, sort, paging, field selection, and CSV/table output.
149
166
  *
150
- * @param args - Arguments following `proc jobs`.
167
+ * @param args - The `proc jobs` line.
151
168
  * @returns An envelope carrying the listing.
152
169
  */
153
170
  async function jobs_subcmd(args) {
154
- const second = args[0];
155
- if (second === 'inspect') {
171
+ if (args.operands.view === 'inspect') {
156
172
  return envelope_ok(table_render([...ALL_JOB_FIELDS].map((f) => ({ field: f })), ['field'], { title: { title: 'proc jobs fields', justification: 'center' } }));
157
173
  }
158
- const listArgs = second === 'list' ? args.slice(1) : args;
159
- const parsed = commandArgs_process(listArgs);
160
- const blocked = await procWarmup_guard('proc jobs list', !!parsed['force']);
174
+ const options = args.options;
175
+ const blocked = await procWarmup_guard('proc jobs list', options.force);
161
176
  if (blocked)
162
177
  return blocked;
163
178
  // The roster is index movement: answered from the cache now, walked off the lane.
164
179
  procRoster_syncStart();
165
180
  let entries = procEntries_build(procCache_get());
166
- entries = procEntries_filterBySearch(entries, String(parsed['search'] ?? ''));
181
+ entries = procEntries_filterBySearch(entries, options.search ?? '');
167
182
  if (entries.length === 0) {
168
183
  return envelope_ok(`${chalk.gray('No feeds in cache.')}\n`);
169
184
  }
170
- const sortField = String(parsed['sort'] ?? '');
185
+ const sortField = options.sort ?? '';
171
186
  if (sortField)
172
- entries = list_applySort(entries, sortField, !!parsed['reverse']);
173
- const showAll = !!parsed['all'];
174
- const limit = showAll ? entries.length : Math.max(1, Number(parsed['limit'] ?? 20));
187
+ entries = list_applySort(entries, sortField, options.reverse);
188
+ const showAll = options.all;
189
+ const limit = showAll ? entries.length : options.limit ?? JOBS_LIMIT;
175
190
  const page = entries.slice(0, limit);
176
- const selectedFields = jobFields_select(String(parsed['fields'] ?? ''));
177
- if (parsed['csv']) {
191
+ const selectedFields = jobFields_select(options.fields ?? '');
192
+ if (options.csv) {
178
193
  return envelope_ok(`${procCsv_render(page, selectedFields)}\n`);
179
194
  }
180
- if (parsed['table']) {
195
+ if (options.table) {
181
196
  return envelope_ok(procJobs_renderTable(page, selectedFields));
182
197
  }
183
198
  let rendered = procJobs_renderLines(page, selectedFields);
@@ -190,11 +205,10 @@ async function jobs_subcmd(args) {
190
205
  /**
191
206
  * Handles `proc refresh [feed]`: refreshes the cache for one feed or all.
192
207
  *
193
- * @param args - Full command args (`args[1]` is the optional feed).
208
+ * @param feedArg - The feed, as typed; none refreshes every feed.
194
209
  * @returns An envelope reporting the refresh outcome.
195
210
  */
196
- async function procRefresh_handle(args) {
197
- const feedArg = args[1];
211
+ async function procRefresh_handle(feedArg) {
198
212
  let feedID;
199
213
  if (feedArg) {
200
214
  const parsedId = feedId_parse(feedArg);
@@ -256,20 +270,15 @@ function procRetry_handle() {
256
270
  * Handles `proc find <query>`: locates instances by id/plugin-name and reports
257
271
  * their /proc paths.
258
272
  *
259
- * @param args - Full command args (`args[1]` is the query).
273
+ * @param query - An instance id, or a plugin name substring.
274
+ * @param force - Whether a name search waits for the warm-up.
260
275
  * @returns An envelope carrying the matched paths.
261
276
  */
262
- async function procFind_handle(args) {
263
- const parsed = commandArgs_process(args.slice(1));
264
- const query = parsed._[0];
265
- if (!query) {
266
- exitCode_set(1);
267
- return envelope_error('', undefined, `${chalk.red('Usage: proc find <instance_id | plugin_name_substring>')}\n`);
268
- }
277
+ async function procFind_handle(query, force) {
269
278
  const numeric = parseInt(query, 10);
270
279
  const isInstanceID = !isNaN(numeric) && String(numeric) === query;
271
280
  if (!isInstanceID) {
272
- const blocked = await procWarmup_guard(`proc find ${query}`, !!parsed['force']);
281
+ const blocked = await procWarmup_guard(`proc find ${query}`, force);
273
282
  if (blocked)
274
283
  return blocked;
275
284
  }
@@ -343,14 +352,9 @@ async function procHere_canonicalPath_get(cwd, cache) {
343
352
  * stable feed and plugin-instance IDs. Other CFS output locations use the
344
353
  * session's CUBE-supplied output-path provenance as a fallback.
345
354
  *
346
- * @param args - Full command args. No operands are accepted.
347
355
  * @returns The directory-change envelope, or a clear error when provenance is unknown.
348
356
  */
349
- async function procHere_handle(args) {
350
- if (args.length > 1) {
351
- exitCode_set(1);
352
- return envelope_error('', undefined, `${chalk.red('Usage: proc here')}\n`);
353
- }
357
+ async function procHere_handle() {
354
358
  const cache = procCache_get();
355
359
  const cwd = await session.getCWD();
356
360
  const canonicalPath = await procHere_canonicalPath_get(cwd, cache);
@@ -377,18 +381,11 @@ async function procHere_handle(args) {
377
381
  * reaches each. `--where` only answers (a surface lands its own pane there
378
382
  * and leaves the session's cwd alone).
379
383
  *
380
- * @param args - Full command args (`args[0]` is `jump`).
384
+ * @param target - The feed or node: an id, feed_N or plugin_N.
385
+ * @param whereOnly - Answer where it is, leaving the cwd alone.
381
386
  * @returns The cd envelope, or the answer with its `proc.jump` model.
382
387
  */
383
- async function procJump_handle(args) {
384
- // `--where` is a switch, not an option taking the target as its value.
385
- const words = args.slice(1);
386
- const whereOnly = words.includes('--where');
387
- const target = words.find((word) => !word.startsWith('--')) ?? '';
388
- if (target === '') {
389
- exitCode_set(1);
390
- return envelope_error('', undefined, `${chalk.red('Usage: proc jump [--where] <feed id | node id | feed_N | plugin_N>')}\n`);
391
- }
388
+ async function procJump_handle(target, whereOnly) {
392
389
  let places;
393
390
  try {
394
391
  places = await procTarget_locate(target);
@@ -424,15 +421,10 @@ async function procJump_handle(args) {
424
421
  * does it for all). The marks are kept with the roster, so what is NEW
425
422
  * survives a login until it is seen.
426
423
  *
427
- * @param args - Full command args (`args[0]` is `seen`).
424
+ * @param words - The feeds (feed_N or N), or `all`.
428
425
  * @returns An envelope saying how many marks were taken off.
429
426
  */
430
- function procSeen_handle(args) {
431
- const words = args.slice(1);
432
- if (words.length === 0) {
433
- exitCode_set(1);
434
- return Promise.resolve(envelope_error('', undefined, `${chalk.red('Usage: proc seen <feed_N | N ...> | all')}\n`));
435
- }
427
+ function procSeen_handle(words) {
436
428
  const cache = procCache_get();
437
429
  const ids = [];
438
430
  if (!words.includes('all')) {
@@ -472,25 +464,24 @@ async function feedTags_read() {
472
464
  * now, so a share, an unshare or a deletion lands without waiting for the
473
465
  * roster to age.
474
466
  *
475
- * @param args - Full command args (`args[1]` is the query).
467
+ * @param args - The `proc feeds` line.
476
468
  * @returns An envelope carrying the matched feeds.
477
469
  */
478
470
  async function procFeeds_handle(args) {
479
- const parsed = commandArgs_process(args.slice(1));
480
471
  // No query lists the whole cache-resident roster — the chooser's case.
481
- const query = parsed._[0] ?? '';
482
- const blocked = await procWarmup_guard(`proc feeds${query ? ` ${query}` : ''}`, !!parsed['force']);
472
+ const query = args.operands.query ?? '';
473
+ const blocked = await procWarmup_guard(`proc feeds${query ? ` ${query}` : ''}`, args.options.force);
483
474
  if (blocked)
484
475
  return blocked;
485
476
  // The roster is index movement: answered from the cache now, walked off
486
477
  // the lane, named on the prompt while it runs; arrivals bring the pane
487
478
  // back for the rest. `--fresh` walks the whole index now, whatever the
488
479
  // roster's age: the operator's way of asking CUBE again.
489
- procRoster_syncStart(!!parsed['fresh']);
480
+ procRoster_syncStart(args.options.fresh);
490
481
  const cache = procCache_get();
491
482
  const unseen = new Set(cache.unseen_get());
492
483
  const matches = cache.feeds_find(query)
493
- .filter((feed) => !parsed['new'] || unseen.has(feed.id))
484
+ .filter((feed) => !args.options.new || unseen.has(feed.id))
494
485
  .sort((a, b) => b.creationDate.localeCompare(a.creationDate));
495
486
  // Asking is an answer: a bare id the roster lacks is asked of CUBE, and
496
487
  // the answer either lists the feed or names why there is none.
@@ -502,7 +493,7 @@ async function procFeeds_handle(args) {
502
493
  matches.push(asked);
503
494
  rendered += chalk.dim(`feed_${asked.id} was not in the roster; CUBE lists it for you (owner ${asked.ownerUsername || 'unknown'}) — added.`) + '\n';
504
495
  }
505
- if (matches.length === 0 && parsed['new']) {
496
+ if (matches.length === 0 && args.options.new) {
506
497
  return envelope_ok(`${chalk.dim('Nothing new since your last visit.')}\n`, { kind: FEED_LIST_MODEL_KIND, data: { feeds: [] } });
507
498
  }
508
499
  if (matches.length === 0) {
@@ -595,12 +586,16 @@ export function procUniverseModel_build() {
595
586
  * A surface asks before it settles and draws at once from what is kept;
596
587
  * after it settles, it puts what it found.
597
588
  *
598
- * @param args - Full command args (`args[1]` is the name or `put`).
589
+ * @param args - The `proc layout` line: a name, or `put`, a name and the places.
599
590
  * @returns The kept layout as a model, or what was kept.
600
591
  */
601
592
  async function procLayout_handle(args) {
602
- const putting = args[1] === 'put';
603
- const name = (putting ? args[2] : args[1]) ?? '';
593
+ const putting = args.operands.layout === 'put';
594
+ const name = (putting ? args.operands.name : args.operands.layout) ?? '';
595
+ if (!putting && args.operands.name !== undefined) {
596
+ exitCode_set(1);
597
+ return envelope_error('', undefined, `${chalk.red(`proc layout: unexpected operand '${args.operands.name}'; usage: proc layout <name> | proc layout put <name> <places>`)}\n`);
598
+ }
604
599
  if (!procLayoutName_check(name)) {
605
600
  exitCode_set(1);
606
601
  return envelope_error('', undefined, `${chalk.red(`proc layout: not a layout: '${name}'`)}\n`);
@@ -608,7 +603,7 @@ async function procLayout_handle(args) {
608
603
  if (putting) {
609
604
  let places = null;
610
605
  try {
611
- places = JSON.parse(args[3] ?? '');
606
+ places = JSON.parse(args.operands.places ?? '');
612
607
  }
613
608
  catch {
614
609
  places = null;
@@ -658,12 +653,11 @@ function feedJobs_count(feed) {
658
653
  /**
659
654
  * Handles `proc stat [feed]`: reports a cache summary or a single feed's detail.
660
655
  *
661
- * @param args - Full command args (`args[1]` is the optional feed).
656
+ * @param feedArg - The feed, as typed; none summarises the cache.
662
657
  * @returns An envelope carrying the summary or feed detail.
663
658
  */
664
- async function procStat_handle(args) {
659
+ async function procStat_handle(feedArg) {
665
660
  const cache = procCache_get();
666
- const feedArg = args[1];
667
661
  if (!feedArg) {
668
662
  const warmup = cache.warmupProgress_get();
669
663
  const topology = procTopology_status();
@@ -740,11 +734,10 @@ const OPERATOR_OWNER = 'operator';
740
734
  * then sampled while it runs, and every surface receives the refreshed
741
735
  * model), or with no argument lists the session's watches.
742
736
  *
743
- * @param args - Full command args (`args[1]` is the feed).
737
+ * @param subject - The feed, as typed; none lists the watches.
744
738
  * @returns An envelope reporting the watch state or the watch list.
745
739
  */
746
- async function procWatch_handle(args) {
747
- const subject = args[1];
740
+ async function procWatch_handle(subject) {
748
741
  if (subject === undefined) {
749
742
  const entries = procWatch_list();
750
743
  if (entries.length === 0)
@@ -766,68 +759,166 @@ async function procWatch_handle(args) {
766
759
  /**
767
760
  * Handles `proc unwatch <feed>`: releases the operator's watch on a feed.
768
761
  *
769
- * @param args - Full command args (`args[1]` is the feed).
762
+ * @param subject - The feed, as typed.
770
763
  * @returns An envelope confirming the release.
771
764
  */
772
- async function procUnwatch_handle(args) {
773
- const subject = args[1];
774
- const feedID = subject === undefined ? null : watchSubject_parse(subject);
765
+ async function procUnwatch_handle(subject) {
766
+ const feedID = watchSubject_parse(subject);
775
767
  if (feedID === null) {
776
768
  exitCode_set(1);
777
- return envelope_error('', undefined, `${chalk.red('proc unwatch: a feed is required')}\n`);
769
+ return envelope_error('', undefined, `${chalk.red(`proc unwatch: a feed is required, not '${subject}'`)}\n`);
778
770
  }
779
771
  procWatch_remove(feedID, OPERATOR_OWNER);
780
772
  return envelope_ok(`${chalk.green(`released /proc/jobs/feed_${feedID}`)}\n`);
781
773
  }
782
- // ── Main dispatcher ───────────────────────────────────────────────────────────
774
+ // ── The declaration ───────────────────────────────────────────────────────────
775
+ /** Feeds `proc jobs list` shows when not told how many. */
776
+ const JOBS_LIMIT = 20;
777
+ /** A feed, as `proc` subcommands take one: feed_N, N, or its /proc path. */
778
+ const FEED_OPERAND = { name: 'feed', kind: 'word', summary: 'The feed: feed_N or its id' };
779
+ /** Waits for the complete index rather than refusing while it warms. */
780
+ const FORCE_OPTION = { long: 'force', summary: 'Wait for warm-up, then answer from the complete index' };
781
+ /** What a `proc` line may hold. */
782
+ const PROC_GRAMMAR = {
783
+ bare: { summary: 'Rebuild the entire proc cache (as refresh)' },
784
+ subcommands: {
785
+ jobs: {
786
+ summary: 'List all feeds with their counter fields (default 20), or inspect the field names',
787
+ operands: [{ name: 'view', kind: 'enum', values: ['list', 'inspect'], optional: true, summary: 'list (the default), or inspect: every field name' }],
788
+ options: {
789
+ fields: { long: 'fields', summary: 'Select columns', value: { name: 'f,f', kind: 'word' } },
790
+ sort: { long: 'sort', summary: 'Sort by field', value: { name: 'field', kind: 'word' } },
791
+ reverse: { long: 'reverse', summary: 'Reverse the sort' },
792
+ table: { long: 'table', summary: 'Tabular output' },
793
+ csv: { long: 'csv', summary: 'CSV output' },
794
+ all: { long: 'all', summary: 'All feeds (no limit)' },
795
+ limit: { long: 'limit', summary: 'Feeds to show (default 20)', value: { name: 'n', kind: 'int', min: 1 } },
796
+ search: { long: 'search', summary: 'Filter by title substring', value: { name: 'term', kind: 'word' } },
797
+ force: FORCE_OPTION,
798
+ },
799
+ },
800
+ stat: {
801
+ summary: 'Show the cache summary, or one feed\'s raw counters and topology state',
802
+ operands: [{ ...FEED_OPERAND, optional: true }],
803
+ },
804
+ feeds: {
805
+ summary: 'Find feeds by title, feed_N name or id; an id the roster lacks is asked of CUBE',
806
+ operands: [{ name: 'query', kind: 'word', optional: true, summary: 'Title substring, feed_N or id; none lists the whole roster' }],
807
+ options: {
808
+ fresh: { long: 'fresh', summary: 'Walk the whole feed index now' },
809
+ new: { long: 'new', summary: 'Feeds shared with you since your last visit, not yet opened (NEW)' },
810
+ force: FORCE_OPTION,
811
+ },
812
+ },
813
+ seen: {
814
+ summary: 'Take the NEW mark off feeds you have looked at',
815
+ operands: [{ name: 'feeds', kind: 'word', repeat: true, summary: 'feed_N or N, or all' }],
816
+ },
817
+ universe: { summary: 'Every feed the index holds as it landed: size, status, pipeline shape; honest while warming' },
818
+ layout: {
819
+ summary: 'Where a surface last laid the universe out under a layout; put keeps one (node ids to [x, y, z], as JSON)',
820
+ operands: [
821
+ { name: 'layout', kind: 'word', summary: 'The layout\'s name; or put, to keep one' },
822
+ { name: 'name', kind: 'word', optional: true, summary: 'With put: the layout\'s name' },
823
+ { name: 'places', kind: 'word', optional: true, summary: 'With put: node ids to [x, y, z], as JSON' },
824
+ ],
825
+ },
826
+ refresh: {
827
+ summary: 'Rebuild the entire proc cache, or one feed\'s',
828
+ operands: [{ ...FEED_OPERAND, optional: true }],
829
+ },
830
+ retry: { summary: 'Resume a failed topology sweep at its failed page' },
831
+ find: {
832
+ summary: 'Find a job: an instance id (available during warm-up), or a plugin name',
833
+ operands: [{ name: 'query', kind: 'word', summary: 'An instance id, or a plugin name substring' }],
834
+ options: { force: FORCE_OPTION },
835
+ },
836
+ here: { summary: 'Navigate from a CFS feed/output path to its matching job' },
837
+ jump: {
838
+ summary: 'Go to a feed or node by id or /proc name (feed_N, plugin_N); a number that is both is not guessed',
839
+ operands: [{ name: 'target', kind: 'word', summary: 'A feed id, node id, feed_N or plugin_N' }],
840
+ options: { where: { long: 'where', summary: 'Only answer where it is; the cwd stays' } },
841
+ },
842
+ watch: {
843
+ summary: 'Keep a running feed live: sample it while it runs, push its DAG to every surface; none lists the watches',
844
+ operands: [{ ...FEED_OPERAND, optional: true }],
845
+ },
846
+ unwatch: {
847
+ summary: 'Release the watch on a feed',
848
+ operands: [FEED_OPERAND],
849
+ },
850
+ },
851
+ };
852
+ /**
853
+ * `proc <jobs|stat|feeds|seen|universe|layout|refresh|retry|find|here|jump|watch|unwatch>`: the declaration.
854
+ *
855
+ * @example
856
+ * ```ts
857
+ * commands_register({ declarations: [procCommand] }, 'backend');
858
+ * ```
859
+ */
860
+ export const procCommand = command_declare({
861
+ name: 'proc',
862
+ grammar: PROC_GRAMMAR,
863
+ help: {
864
+ summary: 'Job history inspector — navigate, query and monitor ChRIS pipeline execution via /proc/jobs',
865
+ description: '/proc/jobs is a job history inspector for every computation visible to the current ChRIS identity. Each plugin instance is a discrete job with a parent, zero or more children, a status, parameters, and a log. Jobs are grouped into feeds (pipeline runs), and the parent-child relationships form a DAG: the execution tree of a full computation. /proc/jobs exposes this as a navigable filesystem. The daemon restores an identity-scoped local topology checkpoint, validates feed visibility with CUBE, and reconciles all plugin instances in the background. Restored queries remain usable while syncing; a cold cache still guards global queries until complete. CUBE remains authoritative.',
866
+ category: 'Monitoring',
867
+ examples: [
868
+ 'proc jobs list',
869
+ 'proc jobs list --sort erroredJobs --reverse --table',
870
+ 'proc jobs list --fields id,title,erroredJobs,startedJobs --all',
871
+ 'proc jobs list --search failed',
872
+ 'proc jobs inspect',
873
+ 'proc stat',
874
+ 'proc stat 899',
875
+ 'proc feeds failed',
876
+ 'proc feeds --fresh',
877
+ 'proc feeds --new',
878
+ 'proc seen all',
879
+ 'proc universe',
880
+ 'proc refresh',
881
+ 'proc retry',
882
+ 'proc find 64306',
883
+ 'proc find pl-fshack',
884
+ 'proc here',
885
+ 'proc jump 639204',
886
+ 'proc jump feed_4389',
887
+ 'proc watch feed_2583',
888
+ 'proc unwatch 2583',
889
+ ],
890
+ },
891
+ handler: async (args) => {
892
+ switch (args.subcommand) {
893
+ case null: return procRefresh_handle(undefined);
894
+ case 'refresh': return procRefresh_handle(args.operands.feed);
895
+ case 'retry': return procRetry_handle();
896
+ case 'jobs': return jobs_subcmd(args);
897
+ case 'find': return procFind_handle(args.operands.query, args.options.force);
898
+ case 'here': return procHere_handle();
899
+ case 'jump': return procJump_handle(args.operands.target, args.options.where);
900
+ case 'seen': return procSeen_handle(args.operands.feeds);
901
+ case 'feeds': return procFeeds_handle(args);
902
+ case 'universe': return procUniverse_handle();
903
+ case 'layout': return procLayout_handle(args);
904
+ case 'stat': return procStat_handle(args.operands.feed);
905
+ case 'watch': return procWatch_handle(args.operands.feed);
906
+ case 'unwatch': return procUnwatch_handle(args.operands.feed);
907
+ }
908
+ },
909
+ });
783
910
  /**
784
- * Handles proc commands.
911
+ * `proc` over words already split: the declaration's parse and handler.
912
+ *
913
+ * @param args - The words after `proc`.
914
+ * @returns An envelope carrying the subcommand's output, or the refusal of a bad line.
785
915
  *
786
- * @param args - command arguments.
787
- * @returns An envelope carrying the subcommand's output.
916
+ * @example
917
+ * ```ts
918
+ * await builtin_proc(['stat']);
919
+ * ```
788
920
  */
789
921
  export async function builtin_proc(args) {
790
- const subcommand = args[0];
791
- if (!subcommand || subcommand === 'refresh') {
792
- return procRefresh_handle(args);
793
- }
794
- if (subcommand === 'retry') {
795
- return procRetry_handle();
796
- }
797
- if (subcommand === 'jobs') {
798
- return jobs_subcmd(args.slice(1));
799
- }
800
- if (subcommand === 'find') {
801
- return procFind_handle(args);
802
- }
803
- if (subcommand === 'here') {
804
- return procHere_handle(args);
805
- }
806
- if (subcommand === 'jump') {
807
- return procJump_handle(args);
808
- }
809
- if (subcommand === 'seen') {
810
- return procSeen_handle(args);
811
- }
812
- if (subcommand === 'feeds') {
813
- return procFeeds_handle(args);
814
- }
815
- if (subcommand === 'universe') {
816
- return procUniverse_handle();
817
- }
818
- if (subcommand === 'layout') {
819
- return procLayout_handle(args);
820
- }
821
- if (subcommand === 'stat') {
822
- return procStat_handle(args);
823
- }
824
- if (subcommand === 'watch') {
825
- return procWatch_handle(args);
826
- }
827
- if (subcommand === 'unwatch') {
828
- return procUnwatch_handle(args);
829
- }
830
- exitCode_set(1);
831
- return envelope_error('', undefined, `${chalk.red(`proc: unknown subcommand '${subcommand}'. Use proc --help.`)}\n`);
922
+ return declaredCommand_run(procCommand, args);
832
923
  }
833
924
  //# sourceMappingURL=proc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"proc.js","sourceRoot":"","sources":["../../src/builtins/proc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proc.js","sourceRoot":"","sources":["../../src/builtins/proc.ts"],"names":[],"mappings":"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"}