@fnndsc/brasa 0.56.1 → 0.56.3

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 (361) hide show
  1. package/dist/buildinfo.json +1 -1
  2. package/dist/builtins/berth/berth.d.ts +90 -3
  3. package/dist/builtins/berth/berth.js +129 -76
  4. package/dist/builtins/berth/berth.js.map +1 -1
  5. package/dist/builtins/berth/berthClose.d.ts +25 -6
  6. package/dist/builtins/berth/berthClose.js +8 -64
  7. package/dist/builtins/berth/berthClose.js.map +1 -1
  8. package/dist/builtins/berth/berthCube.d.ts +3 -2
  9. package/dist/builtins/berth/berthCube.js +9 -16
  10. package/dist/builtins/berth/berthCube.js.map +1 -1
  11. package/dist/builtins/berth/berthProcesses.js +33 -3
  12. package/dist/builtins/berth/berthProcesses.js.map +1 -1
  13. package/dist/builtins/debug.d.ts +24 -3
  14. package/dist/builtins/debug.js +66 -13
  15. package/dist/builtins/debug.js.map +1 -1
  16. package/dist/builtins/fs/acl.args.d.ts +5 -38
  17. package/dist/builtins/fs/acl.args.js +6 -72
  18. package/dist/builtins/fs/acl.args.js.map +1 -1
  19. package/dist/builtins/fs/acl.d.ts +100 -10
  20. package/dist/builtins/fs/acl.js +222 -68
  21. package/dist/builtins/fs/acl.js.map +1 -1
  22. package/dist/builtins/fs/cat.args.d.ts +14 -15
  23. package/dist/builtins/fs/cat.args.js +13 -40
  24. package/dist/builtins/fs/cat.args.js.map +1 -1
  25. package/dist/builtins/fs/cat.d.ts +40 -3
  26. package/dist/builtins/fs/cat.js +92 -13
  27. package/dist/builtins/fs/cat.js.map +1 -1
  28. package/dist/builtins/fs/cd.d.ts +24 -6
  29. package/dist/builtins/fs/cd.js +71 -18
  30. package/dist/builtins/fs/cd.js.map +1 -1
  31. package/dist/builtins/fs/configWrite.d.ts +24 -8
  32. package/dist/builtins/fs/configWrite.js +77 -36
  33. package/dist/builtins/fs/configWrite.js.map +1 -1
  34. package/dist/builtins/fs/cp.d.ts +39 -4
  35. package/dist/builtins/fs/cp.js +122 -56
  36. package/dist/builtins/fs/cp.js.map +1 -1
  37. package/dist/builtins/fs/download.d.ts +31 -4
  38. package/dist/builtins/fs/download.js +75 -38
  39. package/dist/builtins/fs/download.js.map +1 -1
  40. package/dist/builtins/fs/du.d.ts +59 -33
  41. package/dist/builtins/fs/du.js +111 -79
  42. package/dist/builtins/fs/du.js.map +1 -1
  43. package/dist/builtins/fs/edit.d.ts +19 -4
  44. package/dist/builtins/fs/edit.js +77 -16
  45. package/dist/builtins/fs/edit.js.map +1 -1
  46. package/dist/builtins/fs/find.d.ts +25 -0
  47. package/dist/builtins/fs/find.js +76 -5
  48. package/dist/builtins/fs/find.js.map +1 -1
  49. package/dist/builtins/fs/ls.d.ts +69 -4
  50. package/dist/builtins/fs/ls.js +84 -45
  51. package/dist/builtins/fs/ls.js.map +1 -1
  52. package/dist/builtins/fs/mkdir.d.ts +28 -18
  53. package/dist/builtins/fs/mkdir.js +95 -66
  54. package/dist/builtins/fs/mkdir.js.map +1 -1
  55. package/dist/builtins/fs/mv.d.ts +34 -4
  56. package/dist/builtins/fs/mv.js +129 -64
  57. package/dist/builtins/fs/mv.js.map +1 -1
  58. package/dist/builtins/fs/pull.args.d.ts +56 -17
  59. package/dist/builtins/fs/pull.args.js +16 -66
  60. package/dist/builtins/fs/pull.args.js.map +1 -1
  61. package/dist/builtins/fs/pull.d.ts +62 -0
  62. package/dist/builtins/fs/pull.js +123 -31
  63. package/dist/builtins/fs/pull.js.map +1 -1
  64. package/dist/builtins/fs/pwd.d.ts +19 -5
  65. package/dist/builtins/fs/pwd.js +62 -8
  66. package/dist/builtins/fs/pwd.js.map +1 -1
  67. package/dist/builtins/fs/rm.d.ts +58 -21
  68. package/dist/builtins/fs/rm.js +99 -82
  69. package/dist/builtins/fs/rm.js.map +1 -1
  70. package/dist/builtins/fs/rmdir.d.ts +29 -11
  71. package/dist/builtins/fs/rmdir.js +87 -36
  72. package/dist/builtins/fs/rmdir.js.map +1 -1
  73. package/dist/builtins/fs/touch.d.ts +44 -9
  74. package/dist/builtins/fs/touch.js +91 -27
  75. package/dist/builtins/fs/touch.js.map +1 -1
  76. package/dist/builtins/fs/tree.d.ts +36 -9
  77. package/dist/builtins/fs/tree.js +126 -36
  78. package/dist/builtins/fs/tree.js.map +1 -1
  79. package/dist/builtins/fs/upload.d.ts +22 -3
  80. package/dist/builtins/fs/upload.js +82 -14
  81. package/dist/builtins/fs/upload.js.map +1 -1
  82. package/dist/builtins/fs/xattr.args.d.ts +12 -33
  83. package/dist/builtins/fs/xattr.args.js +17 -95
  84. package/dist/builtins/fs/xattr.args.js.map +1 -1
  85. package/dist/builtins/fs/xattr.d.ts +98 -8
  86. package/dist/builtins/fs/xattr.js +163 -24
  87. package/dist/builtins/fs/xattr.js.map +1 -1
  88. package/dist/builtins/games/bytes.d.ts +201 -5
  89. package/dist/builtins/games/bytes.js +255 -54
  90. package/dist/builtins/games/bytes.js.map +1 -1
  91. package/dist/builtins/games/chimes.d.ts +180 -3
  92. package/dist/builtins/games/chimes.js +203 -26
  93. package/dist/builtins/games/chimes.js.map +1 -1
  94. package/dist/builtins/games/chrislab.d.ts +101 -3
  95. package/dist/builtins/games/chrislab.js +117 -17
  96. package/dist/builtins/games/chrislab.js.map +1 -1
  97. package/dist/builtins/games/cowsay.d.ts +93 -2
  98. package/dist/builtins/games/cowsay.js +90 -31
  99. package/dist/builtins/games/cowsay.js.map +1 -1
  100. package/dist/builtins/games/figlet.d.ts +70 -2
  101. package/dist/builtins/games/figlet.js +83 -6
  102. package/dist/builtins/games/figlet.js.map +1 -1
  103. package/dist/builtins/games/lab.d.ts +104 -5
  104. package/dist/builtins/games/lab.js +144 -6
  105. package/dist/builtins/games/lab.js.map +1 -1
  106. package/dist/builtins/games/lolcat.d.ts +61 -1
  107. package/dist/builtins/games/lolcat.js +59 -24
  108. package/dist/builtins/games/lolcat.js.map +1 -1
  109. package/dist/builtins/games/morse.d.ts +36 -1
  110. package/dist/builtins/games/morse.js +50 -2
  111. package/dist/builtins/games/morse.js.map +1 -1
  112. package/dist/builtins/games/numbers.d.ts +241 -5
  113. package/dist/builtins/games/numbers.js +298 -23
  114. package/dist/builtins/games/numbers.js.map +1 -1
  115. package/dist/builtins/games/play.d.ts +96 -6
  116. package/dist/builtins/games/play.js +137 -6
  117. package/dist/builtins/games/play.js.map +1 -1
  118. package/dist/builtins/games/qr.d.ts +40 -1
  119. package/dist/builtins/games/qr.js +51 -2
  120. package/dist/builtins/games/qr.js.map +1 -1
  121. package/dist/builtins/games/show.d.ts +131 -6
  122. package/dist/builtins/games/show.js +208 -20
  123. package/dist/builtins/games/show.js.map +1 -1
  124. package/dist/builtins/games/sky.d.ts +178 -4
  125. package/dist/builtins/games/sky.js +228 -12
  126. package/dist/builtins/games/sky.js.map +1 -1
  127. package/dist/builtins/games/text.d.ts +258 -7
  128. package/dist/builtins/games/text.js +310 -29
  129. package/dist/builtins/games/text.js.map +1 -1
  130. package/dist/builtins/games/trek.d.ts +67 -3
  131. package/dist/builtins/games/trek.js +63 -10
  132. package/dist/builtins/games/trek.js.map +1 -1
  133. package/dist/builtins/games/wtf.d.ts +58 -1
  134. package/dist/builtins/games/wtf.js +67 -6
  135. package/dist/builtins/games/wtf.js.map +1 -1
  136. package/dist/builtins/help.d.ts +41 -3
  137. package/dist/builtins/help.js +92 -796
  138. package/dist/builtins/help.js.map +1 -1
  139. package/dist/builtins/net/connect.d.ts +36 -3
  140. package/dist/builtins/net/connect.js +84 -26
  141. package/dist/builtins/net/connect.js.map +1 -1
  142. package/dist/builtins/net/cubepath.d.ts +49 -5
  143. package/dist/builtins/net/cubepath.js +69 -27
  144. package/dist/builtins/net/cubepath.js.map +1 -1
  145. package/dist/builtins/net/logout.d.ts +13 -4
  146. package/dist/builtins/net/logout.js +49 -3
  147. package/dist/builtins/net/logout.js.map +1 -1
  148. package/dist/builtins/net/netstat.d.ts +29 -4
  149. package/dist/builtins/net/netstat.js +64 -23
  150. package/dist/builtins/net/netstat.js.map +1 -1
  151. package/dist/builtins/net/pacs.d.ts +169 -15
  152. package/dist/builtins/net/pacs.js +92 -33
  153. package/dist/builtins/net/pacs.js.map +1 -1
  154. package/dist/builtins/net/query.args.d.ts +95 -0
  155. package/dist/builtins/net/query.args.js +26 -0
  156. package/dist/builtins/net/query.args.js.map +1 -0
  157. package/dist/builtins/net/query.d.ts +98 -5
  158. package/dist/builtins/net/query.js +89 -83
  159. package/dist/builtins/net/query.js.map +1 -1
  160. package/dist/builtins/net/status.d.ts +5 -3
  161. package/dist/builtins/net/status.js +5 -12
  162. package/dist/builtins/net/status.js.map +1 -1
  163. package/dist/builtins/parametersofplugin.d.ts +82 -3
  164. package/dist/builtins/parametersofplugin.js +79 -23
  165. package/dist/builtins/parametersofplugin.js.map +1 -1
  166. package/dist/builtins/proc.d.ts +210 -3
  167. package/dist/builtins/proc.js +210 -119
  168. package/dist/builtins/proc.js.map +1 -1
  169. package/dist/builtins/res/compute.d.ts +67 -3
  170. package/dist/builtins/res/compute.js +121 -35
  171. package/dist/builtins/res/compute.js.map +1 -1
  172. package/dist/builtins/res/dicom.d.ts +55 -7
  173. package/dist/builtins/res/dicom.js +86 -52
  174. package/dist/builtins/res/dicom.js.map +1 -1
  175. package/dist/builtins/res/expect.d.ts +52 -3
  176. package/dist/builtins/res/expect.js +92 -29
  177. package/dist/builtins/res/expect.js.map +1 -1
  178. package/dist/builtins/res/feed.d.ts +475 -3
  179. package/dist/builtins/res/feed.js +253 -158
  180. package/dist/builtins/res/feed.js.map +1 -1
  181. package/dist/builtins/res/files.d.ts +517 -3
  182. package/dist/builtins/res/files.js +124 -44
  183. package/dist/builtins/res/files.js.map +1 -1
  184. package/dist/builtins/res/gather.d.ts +113 -3
  185. package/dist/builtins/res/gather.js +153 -44
  186. package/dist/builtins/res/gather.js.map +1 -1
  187. package/dist/builtins/res/gather.process.d.ts +27 -19
  188. package/dist/builtins/res/gather.process.js +29 -59
  189. package/dist/builtins/res/gather.process.js.map +1 -1
  190. package/dist/builtins/res/group.d.ts +284 -3
  191. package/dist/builtins/res/group.js +147 -76
  192. package/dist/builtins/res/group.js.map +1 -1
  193. package/dist/builtins/res/image.d.ts +30 -2
  194. package/dist/builtins/res/image.js +62 -10
  195. package/dist/builtins/res/image.js.map +1 -1
  196. package/dist/builtins/res/play.d.ts +71 -9
  197. package/dist/builtins/res/play.js +124 -82
  198. package/dist/builtins/res/play.js.map +1 -1
  199. package/dist/builtins/res/plugininstance.d.ts +307 -2
  200. package/dist/builtins/res/plugininstance.js +122 -50
  201. package/dist/builtins/res/plugininstance.js.map +1 -1
  202. package/dist/builtins/res/pluginmeta.d.ts +244 -2
  203. package/dist/builtins/res/pluginmeta.js +98 -40
  204. package/dist/builtins/res/pluginmeta.js.map +1 -1
  205. package/dist/builtins/res/record.d.ts +37 -3
  206. package/dist/builtins/res/record.js +127 -57
  207. package/dist/builtins/res/record.js.map +1 -1
  208. package/dist/builtins/res/resourceList.d.ts +136 -0
  209. package/dist/builtins/res/resourceList.js +51 -0
  210. package/dist/builtins/res/resourceList.js.map +1 -0
  211. package/dist/builtins/res/tag.d.ts +244 -3
  212. package/dist/builtins/res/tag.js +97 -41
  213. package/dist/builtins/res/tag.js.map +1 -1
  214. package/dist/builtins/res/user.d.ts +122 -3
  215. package/dist/builtins/res/user.js +83 -21
  216. package/dist/builtins/res/user.js.map +1 -1
  217. package/dist/builtins/res/workflow.d.ts +244 -2
  218. package/dist/builtins/res/workflow.js +97 -40
  219. package/dist/builtins/res/workflow.js.map +1 -1
  220. package/dist/builtins/store.d.ts +85 -3
  221. package/dist/builtins/store.js +135 -68
  222. package/dist/builtins/store.js.map +1 -1
  223. package/dist/builtins/sys/apropos.d.ts +80 -5
  224. package/dist/builtins/sys/apropos.js +121 -15
  225. package/dist/builtins/sys/apropos.js.map +1 -1
  226. package/dist/builtins/sys/cal.d.ts +44 -5
  227. package/dist/builtins/sys/cal.js +57 -10
  228. package/dist/builtins/sys/cal.js.map +1 -1
  229. package/dist/builtins/sys/command.d.ts +20 -0
  230. package/dist/builtins/sys/command.js +31 -0
  231. package/dist/builtins/sys/command.js.map +1 -1
  232. package/dist/builtins/sys/context.d.ts +13 -3
  233. package/dist/builtins/sys/context.js +51 -4
  234. package/dist/builtins/sys/context.js.map +1 -1
  235. package/dist/builtins/sys/date.d.ts +56 -5
  236. package/dist/builtins/sys/date.js +63 -9
  237. package/dist/builtins/sys/date.js.map +1 -1
  238. package/dist/builtins/sys/echo.d.ts +63 -2
  239. package/dist/builtins/sys/echo.js +87 -8
  240. package/dist/builtins/sys/echo.js.map +1 -1
  241. package/dist/builtins/sys/fortune.d.ts +27 -2
  242. package/dist/builtins/sys/fortune.js +44 -2
  243. package/dist/builtins/sys/fortune.js.map +1 -1
  244. package/dist/builtins/sys/grep.d.ts +245 -11
  245. package/dist/builtins/sys/grep.js +418 -131
  246. package/dist/builtins/sys/grep.js.map +1 -1
  247. package/dist/builtins/sys/joblets.d.ts +66 -7
  248. package/dist/builtins/sys/joblets.js +101 -14
  249. package/dist/builtins/sys/joblets.js.map +1 -1
  250. package/dist/builtins/sys/motd.d.ts +37 -3
  251. package/dist/builtins/sys/motd.js +49 -8
  252. package/dist/builtins/sys/motd.js.map +1 -1
  253. package/dist/builtins/sys/notes.d.ts +75 -3
  254. package/dist/builtins/sys/notes.js +90 -29
  255. package/dist/builtins/sys/notes.js.map +1 -1
  256. package/dist/builtins/sys/physicalmode.d.ts +24 -3
  257. package/dist/builtins/sys/physicalmode.js +68 -14
  258. package/dist/builtins/sys/physicalmode.js.map +1 -1
  259. package/dist/builtins/sys/tasks.d.ts +74 -5
  260. package/dist/builtins/sys/tasks.js +102 -14
  261. package/dist/builtins/sys/tasks.js.map +1 -1
  262. package/dist/builtins/sys/textFilters.d.ts +673 -41
  263. package/dist/builtins/sys/textFilters.js +719 -264
  264. package/dist/builtins/sys/textFilters.js.map +1 -1
  265. package/dist/builtins/sys/timing.d.ts +24 -3
  266. package/dist/builtins/sys/timing.js +67 -14
  267. package/dist/builtins/sys/timing.js.map +1 -1
  268. package/dist/builtins/sys/variables.d.ts +70 -4
  269. package/dist/builtins/sys/variables.js +103 -31
  270. package/dist/builtins/sys/variables.js.map +1 -1
  271. package/dist/builtins/sys/version.d.ts +27 -2
  272. package/dist/builtins/sys/version.js +48 -3
  273. package/dist/builtins/sys/version.js.map +1 -1
  274. package/dist/builtins/sys/weather.d.ts +92 -15
  275. package/dist/builtins/sys/weather.js +71 -45
  276. package/dist/builtins/sys/weather.js.map +1 -1
  277. package/dist/builtins/sys/whoami.d.ts +38 -18
  278. package/dist/builtins/sys/whoami.js +112 -8
  279. package/dist/builtins/sys/whoami.js.map +1 -1
  280. package/dist/builtins/utils.d.ts +1 -38
  281. package/dist/builtins/utils.js +1 -87
  282. package/dist/builtins/utils.js.map +1 -1
  283. package/dist/chris/backend.js +2 -0
  284. package/dist/chris/backend.js.map +1 -1
  285. package/dist/chris/chrisCommands.js +62 -159
  286. package/dist/chris/chrisCommands.js.map +1 -1
  287. package/dist/chris/commandFallback.d.ts +12 -0
  288. package/dist/chris/commandFallback.js +47 -0
  289. package/dist/chris/commandFallback.js.map +1 -1
  290. package/dist/chris/files.js +24 -85
  291. package/dist/chris/files.js.map +1 -1
  292. package/dist/chris/filesystem.js +7 -5
  293. package/dist/chris/filesystem.js.map +1 -1
  294. package/dist/chris/help.js +0 -1082
  295. package/dist/chris/help.js.map +1 -1
  296. package/dist/chris/kinds.d.ts +30 -0
  297. package/dist/chris/kinds.js +154 -0
  298. package/dist/chris/kinds.js.map +1 -0
  299. package/dist/chris/mounts.d.ts +4 -4
  300. package/dist/chris/mounts.js +9 -16
  301. package/dist/chris/mounts.js.map +1 -1
  302. package/dist/chris/navigation.d.ts +2 -3
  303. package/dist/chris/navigation.js +6 -20
  304. package/dist/chris/navigation.js.map +1 -1
  305. package/dist/chris/pacsResources.d.ts +259 -0
  306. package/dist/chris/pacsResources.js +168 -0
  307. package/dist/chris/pacsResources.js.map +1 -0
  308. package/dist/chris/promptContext.d.ts +6 -0
  309. package/dist/chris/promptContext.js +3 -1
  310. package/dist/chris/promptContext.js.map +1 -1
  311. package/dist/core/argumentKinds.d.ts +107 -0
  312. package/dist/core/argumentKinds.js +223 -0
  313. package/dist/core/argumentKinds.js.map +1 -0
  314. package/dist/core/backend.d.ts +4 -1
  315. package/dist/core/backend.js.map +1 -1
  316. package/dist/core/commandDeclaration.d.ts +453 -0
  317. package/dist/core/commandDeclaration.js +52 -0
  318. package/dist/core/commandDeclaration.js.map +1 -0
  319. package/dist/core/commandParse.d.ts +64 -0
  320. package/dist/core/commandParse.js +468 -0
  321. package/dist/core/commandParse.js.map +1 -0
  322. package/dist/core/commandRegistry.d.ts +37 -0
  323. package/dist/core/commandRegistry.js +100 -3
  324. package/dist/core/commandRegistry.js.map +1 -1
  325. package/dist/core/commandSchema.d.ts +32 -0
  326. package/dist/core/commandSchema.js +117 -0
  327. package/dist/core/commandSchema.js.map +1 -0
  328. package/dist/core/commandUsage.d.ts +62 -0
  329. package/dist/core/commandUsage.js +247 -0
  330. package/dist/core/commandUsage.js.map +1 -0
  331. package/dist/core/coreCommands.js +66 -214
  332. package/dist/core/coreCommands.js.map +1 -1
  333. package/dist/core/dispatch.js +15 -8
  334. package/dist/core/dispatch.js.map +1 -1
  335. package/dist/core/paths.d.ts +51 -0
  336. package/dist/core/paths.js +86 -2
  337. package/dist/core/paths.js.map +1 -1
  338. package/dist/core/preprocess.d.ts +10 -9
  339. package/dist/core/preprocess.js +10 -20
  340. package/dist/core/preprocess.js.map +1 -1
  341. package/dist/core/warmupFailures.d.ts +34 -2
  342. package/dist/core/warmupFailures.js +43 -2
  343. package/dist/core/warmupFailures.js.map +1 -1
  344. package/dist/lib/completer/cfsPaths.d.ts +14 -0
  345. package/dist/lib/completer/cfsPaths.js +91 -0
  346. package/dist/lib/completer/cfsPaths.js.map +1 -0
  347. package/dist/lib/completer/declared.d.ts +15 -0
  348. package/dist/lib/completer/declared.js +189 -0
  349. package/dist/lib/completer/declared.js.map +1 -0
  350. package/dist/lib/completer/index.js +33 -79
  351. package/dist/lib/completer/index.js.map +1 -1
  352. package/dist/lib/parser.d.ts +5 -8
  353. package/dist/lib/parser.js +2 -11
  354. package/dist/lib/parser.js.map +1 -1
  355. package/dist/lib/vfs/vfs.d.ts +2 -1
  356. package/dist/lib/vfs/vfs.js +9 -6
  357. package/dist/lib/vfs/vfs.js.map +1 -1
  358. package/dist/lib/wildcard.js +2 -3
  359. package/dist/lib/wildcard.js.map +1 -1
  360. package/dist/notes.json +1 -1
  361. package/package.json +6 -5
@@ -9,7 +9,7 @@
9
9
  * disk the daemon runs from (a-readout-names-the-release-it-reads), groups
10
10
  * them by the day they were released, and answers a `session.notes` model
11
11
  * beneath the text. A change written "Internal: …" is ours alone and is
12
- * hidden unless `--all` asks.
12
+ * hidden unless `--all` asks. Declared in one record (`notesCommand`).
13
13
  *
14
14
  * @module
15
15
  */
@@ -18,6 +18,8 @@ import * as fs from 'node:fs';
18
18
  import path from 'node:path';
19
19
  import { SESSION_NOTES_MODEL_KIND, envelope_ok, envelope_error } from '@fnndsc/menu';
20
20
  import chalk from 'chalk';
21
+ import { command_declare } from '../../core/commandDeclaration.js';
22
+ import { declaredCommand_run } from '../../core/commandParse.js';
21
23
  /** The packages whose notes an operator reads, in the order a release lists them. */
22
24
  export const NOTES_PACKAGES = ['@fnndsc/argus', '@fnndsc/brasa', '@fnndsc/chell', '@fnndsc/calypso', '@fnndsc/porter'];
23
25
  /** The default loader: node resolution from here, so a hoisted or nested install both answer. */
@@ -79,33 +81,66 @@ export function notes_gather(loader = notes_load) {
79
81
  const dated = [...byMerge.values()].sort((a, b) => (a.date < b.date ? 1 : a.date > b.date ? -1 : 0));
80
82
  return { releases: [...dated, ...undated], installed };
81
83
  }
82
- /** Reads the flags; a refusal names the flag. */
83
- export function notesArgs_parse(args) {
84
- const ask = { since: 1, all: false, long: false };
85
- for (let i = 0; i < args.length; i++) {
86
- const a = args[i];
87
- if (a === '--all' || a === '-a')
88
- ask.all = true;
89
- else if (a === '--long' || a === '-l')
90
- ask.long = true;
91
- else if (a === '--since' || a === '-s') {
92
- const v = args[++i];
93
- if (v === undefined)
94
- return { refusal: 'notes: --since wants a count or a date (YYYY-MM-DD)' };
95
- if (/^\d+$/.test(v))
96
- ask.since = Number(v);
97
- else if (/^\d{4}-\d{2}-\d{2}$/.test(v))
98
- ask.since = v;
99
- else
100
- return { refusal: `notes: --since wants a count or a date (YYYY-MM-DD), not '${v}'` };
101
- }
102
- else if (a.startsWith('-'))
103
- return { refusal: `notes: unknown flag '${a}' (--since N|DATE, --all, --long)` };
104
- else
105
- return { refusal: `notes: takes no argument '${a}' (--since N|DATE, --all, --long)` };
106
- }
107
- return ask;
84
+ /** What a `notes` line may hold. */
85
+ const NOTES_GRAMMAR = {
86
+ options: {
87
+ since: { short: 's', long: 'since', summary: 'The last N releases, or every release from a day (YYYY-MM-DD) on', value: { name: 'N|DATE', kind: 'word' } },
88
+ all: { short: 'a', long: 'all', summary: 'The changes marked Internal too' },
89
+ long: { short: 'l', long: 'long', summary: 'Each change unfolded beneath its first sentence' },
90
+ },
91
+ };
92
+ /**
93
+ * What the options ask for: `--since` read as a count or a day; a refusal
94
+ * names a value that is neither.
95
+ *
96
+ * @param options - The line's options.
97
+ * @returns The ask, or the refusal.
98
+ *
99
+ * @example
100
+ * ```ts
101
+ * notesAsk_make({ since: '3', all: true, long: false }); // { since: 3, all: true, long: false }
102
+ * ```
103
+ */
104
+ export function notesAsk_make(options) {
105
+ const ask = { since: 1, all: options.all, long: options.long };
106
+ const since = options.since;
107
+ if (since === undefined)
108
+ return ask;
109
+ if (/^\d+$/.test(since))
110
+ return { ...ask, since: Number(since) };
111
+ if (/^\d{4}-\d{2}-\d{2}$/.test(since))
112
+ return { ...ask, since };
113
+ return { refusal: `notes: --since wants a count or a date (YYYY-MM-DD), not '${since}'` };
108
114
  }
115
+ /**
116
+ * The `notes` declaration, reading the notes with a loader.
117
+ *
118
+ * @param loader - Reads one package's notes.
119
+ * @returns The declaration.
120
+ */
121
+ function notesDeclaration_make(loader) {
122
+ return command_declare({
123
+ name: 'notes',
124
+ grammar: NOTES_GRAMMAR,
125
+ help: {
126
+ summary: 'What the installed releases changed, for the operator',
127
+ description: 'Reads the release notes shipped with the packages installed where this session runs — argus, brasa, chell, calypso, porter — and lists the newest release: one row per change, the package tagged. --since N shows the last N releases, --since DATE everything from a day on; --long unfolds each change beneath its first sentence; --all includes the changes marked Internal. help notes is the same. In ARGUS the WHAT\'S NEW block opens them as a listing.',
128
+ category: 'General',
129
+ examples: ['notes', 'notes --since 3', 'notes --since 2026-10-01 --long', 'notes --all'],
130
+ },
131
+ holds: [],
132
+ handler: async (args) => notes_run(args.options, loader),
133
+ });
134
+ }
135
+ /**
136
+ * `notes [--since N|DATE] [--all] [--long]`: the declaration.
137
+ *
138
+ * @example
139
+ * ```ts
140
+ * commands_register({ declarations: [notesCommand] });
141
+ * ```
142
+ */
143
+ export const notesCommand = notesDeclaration_make(notes_load);
109
144
  /** The releases the ask selects, internal changes dropped unless asked for. */
110
145
  export function notes_select(releases, ask) {
111
146
  const chosen = typeof ask.since === 'number'
@@ -145,9 +180,35 @@ export function notes_render(releases, ask) {
145
180
  }
146
181
  return `${lines.join('\n')}\n`;
147
182
  }
148
- /** `notes [--since N|DATE] [--all] [--long]` */
183
+ /**
184
+ * `notes` over words already split: the declaration's parse and handler.
185
+ *
186
+ * @param args - The words after `notes`.
187
+ * @param loader - Reads one package's notes; the installed packages' by default.
188
+ * @returns The notes, or the refusal of a bad line.
189
+ *
190
+ * @example
191
+ * ```ts
192
+ * await builtin_notes(['--since', '3']);
193
+ * ```
194
+ */
149
195
  export async function builtin_notes(args, loader = notes_load) {
150
- const ask = notesArgs_parse(args);
196
+ return declaredCommand_run(loader === notes_load ? notesCommand : notesDeclaration_make(loader), args);
197
+ }
198
+ /**
199
+ * The notes the options ask for, as text over a `session.notes` model.
200
+ *
201
+ * @param options - The line's options.
202
+ * @param loader - Reads one package's notes.
203
+ * @returns The notes, or the refusal of a `--since` that is neither a count nor a day.
204
+ *
205
+ * @example
206
+ * ```ts
207
+ * await notes_run({ since: undefined, all: false, long: false }, notes_load);
208
+ * ```
209
+ */
210
+ export async function notes_run(options, loader) {
211
+ const ask = notesAsk_make(options);
151
212
  if ('refusal' in ask)
152
213
  return envelope_error('', undefined, `${ask.refusal}\n`);
153
214
  const gathered = notes_gather(loader);
@@ -1 +1 @@
1
- {"version":3,"file":"notes.js","sourceRoot":"","sources":["../../../src/builtins/sys/notes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notes.js","sourceRoot":"","sources":["../../../src/builtins/sys/notes.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,29 @@
1
1
  import { CommandEnvelope } from '@fnndsc/menu';
2
2
  /**
3
- * Toggles or displays physical filesystem mode.
3
+ * `physicalmode [on | off]`: the declaration.
4
4
  *
5
- * @param args - Command line arguments: 'on', 'off', or empty to display status.
6
- * @returns An envelope describing the (possibly updated) physical mode state.
5
+ * @example
6
+ * ```ts
7
+ * commands_register({ declarations: [physicalmodeCommand] }, 'backend');
8
+ * ```
9
+ */
10
+ export declare const physicalmodeCommand: import("../../core/commandDeclaration.js").CommandDeclaration<{
11
+ readonly bare: {
12
+ readonly summary: "Show whether physical mode is on";
13
+ };
14
+ readonly subcommands: {
15
+ readonly on: {
16
+ readonly summary: "Enable physical mode (paths used directly)";
17
+ };
18
+ readonly off: {
19
+ readonly summary: "Disable physical mode (use logical-to-physical mapping)";
20
+ };
21
+ };
22
+ }>;
23
+ /**
24
+ * `physicalmode` over words already split: the declaration's parse and handler.
25
+ *
26
+ * @param args - The words after `physicalmode`.
27
+ * @returns The physical mode state, or the refusal of a bad line.
7
28
  */
8
29
  export declare function builtin_physicalmode(args: string[]): Promise<CommandEnvelope>;
@@ -1,19 +1,44 @@
1
1
  /**
2
- * @file Builtin physicalmode command.
3
- * Toggles physical filesystem mode, reported as a command envelope.
2
+ * @file `physicalmode`: shows or sets whether paths are used as CUBE stores
3
+ * them, past the logical-to-physical mapping.
4
+ *
5
+ * Declared in one record (`physicalmodeCommand`): `on` and `off` are its
6
+ * subcommands; with neither it says how it stands.
7
+ *
8
+ * Key components:
9
+ * - physicalmodeCommand: the declaration.
10
+ * - builtin_physicalmode: the declaration run over words already split.
11
+ *
12
+ * Typical usage:
13
+ * ```ts
14
+ * await builtin_physicalmode(['on']);
15
+ * ```
16
+ *
17
+ * Dependencies: the session's physical-mode flag.
18
+ *
19
+ * @module
4
20
  */
5
21
  import chalk from 'chalk';
6
22
  import { session } from '../../session/index.js';
7
- import { envelope_ok, envelope_error } from '@fnndsc/menu';
23
+ import { envelope_ok } from '@fnndsc/menu';
24
+ import { command_declare } from '../../core/commandDeclaration.js';
25
+ import { declaredCommand_run } from '../../core/commandParse.js';
26
+ /** What a `physicalmode` line may hold. */
27
+ const PHYSICALMODE_GRAMMAR = {
28
+ bare: { summary: 'Show whether physical mode is on' },
29
+ subcommands: {
30
+ on: { summary: 'Enable physical mode (paths used directly)' },
31
+ off: { summary: 'Disable physical mode (use logical-to-physical mapping)' },
32
+ },
33
+ };
8
34
  /**
9
- * Toggles or displays physical filesystem mode.
35
+ * Shows or sets physical filesystem mode.
10
36
  *
11
- * @param args - Command line arguments: 'on', 'off', or empty to display status.
37
+ * @param args - The line, parsed: `on`, `off`, or neither.
12
38
  * @returns An envelope describing the (possibly updated) physical mode state.
13
39
  */
14
- export async function builtin_physicalmode(args) {
15
- const subcommand = args[0];
16
- if (!subcommand) {
40
+ async function physicalmode_run(args) {
41
+ if (args.subcommand === null) {
17
42
  const enabled = session.physicalMode_get();
18
43
  const status = enabled ? 'enabled' : 'disabled';
19
44
  const detail = enabled
@@ -21,14 +46,43 @@ export async function builtin_physicalmode(args) {
21
46
  : chalk.gray(' Paths are resolved through logical-to-physical mapping.');
22
47
  return envelope_ok(`Physical filesystem mode: ${chalk.yellow(status)}\n${detail}\n${chalk.gray('\nUsage: physicalmode [on|off]')}\n`, { kind: 'sys.physicalMode', data: { enabled } });
23
48
  }
24
- if (subcommand === 'on') {
49
+ if (args.subcommand === 'on') {
25
50
  session.physicalMode_set(true);
26
51
  return envelope_ok(`${chalk.yellow('[!] Physical filesystem mode enabled')}\n${chalk.gray(' Paths will be used directly without logical-to-physical mapping.')}\n`, { kind: 'sys.physicalMode', data: { enabled: true } });
27
52
  }
28
- if (subcommand === 'off') {
29
- session.physicalMode_set(false);
30
- return envelope_ok(`${chalk.green('[+] Physical filesystem mode disabled')}\n${chalk.gray(' Paths will be resolved through logical-to-physical mapping.')}\n`, { kind: 'sys.physicalMode', data: { enabled: false } });
31
- }
32
- return envelope_error(`${chalk.red(`Unknown argument: ${subcommand}`)}\n${chalk.gray('Usage: physicalmode [on|off]')}\n`);
53
+ session.physicalMode_set(false);
54
+ return envelope_ok(`${chalk.green('[+] Physical filesystem mode disabled')}\n${chalk.gray(' Paths will be resolved through logical-to-physical mapping.')}\n`, { kind: 'sys.physicalMode', data: { enabled: false } });
55
+ }
56
+ /**
57
+ * `physicalmode [on | off]`: the declaration.
58
+ *
59
+ * @example
60
+ * ```ts
61
+ * commands_register({ declarations: [physicalmodeCommand] }, 'backend');
62
+ * ```
63
+ */
64
+ export const physicalmodeCommand = command_declare({
65
+ name: 'physicalmode',
66
+ grammar: PHYSICALMODE_GRAMMAR,
67
+ help: {
68
+ summary: 'Toggle or display physical filesystem mode',
69
+ description: 'Shows whether paths are used directly, as CUBE stores them, or resolved through the logical-to-physical mapping; or turns physical mode on or off.',
70
+ category: 'Settings',
71
+ examples: [
72
+ 'physicalmode # Show current status',
73
+ 'physicalmode on # Enable physical mode',
74
+ 'physicalmode off # Disable physical mode',
75
+ ],
76
+ },
77
+ handler: physicalmode_run,
78
+ });
79
+ /**
80
+ * `physicalmode` over words already split: the declaration's parse and handler.
81
+ *
82
+ * @param args - The words after `physicalmode`.
83
+ * @returns The physical mode state, or the refusal of a bad line.
84
+ */
85
+ export async function builtin_physicalmode(args) {
86
+ return declaredCommand_run(physicalmodeCommand, args);
33
87
  }
34
88
  //# sourceMappingURL=physicalmode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"physicalmode.js","sourceRoot":"","sources":["../../../src/builtins/sys/physicalmode.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAmB,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE5E;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAc;IACvD,MAAM,UAAU,GAAuB,IAAI,CAAC,CAAC,CAAC,CAAC;IAE/C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,OAAO,GAAY,OAAO,CAAC,gBAAgB,EAAE,CAAC;QACpD,MAAM,MAAM,GAAW,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;QACxD,MAAM,MAAM,GAAW,OAAO;YAC5B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,gEAAgE,CAAC;YAC9E,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QAC5E,OAAO,WAAW,CAChB,6BAA6B,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM,KAAK,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,IAAI,EACjH,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,CAChD,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,WAAW,CAChB,GAAG,KAAK,CAAC,MAAM,CAAC,sCAAsC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,sEAAsE,CAAC,IAAI,EAClJ,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CACtD,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAChC,OAAO,WAAW,CAChB,GAAG,KAAK,CAAC,KAAK,CAAC,uCAAuC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,iEAAiE,CAAC,IAAI,EAC7I,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CACvD,CAAC;IACJ,CAAC;IAED,OAAO,cAAc,CACnB,GAAG,KAAK,CAAC,GAAG,CAAC,qBAAqB,UAAU,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,IAAI,CACnG,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"physicalmode.js","sourceRoot":"","sources":["../../../src/builtins/sys/physicalmode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAmB,WAAW,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,eAAe,EAA8C,MAAM,kCAAkC,CAAC;AAC/G,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,2CAA2C;AAC3C,MAAM,oBAAoB,GAAG;IAC3B,IAAI,EAAE,EAAE,OAAO,EAAE,kCAAkC,EAAE;IACrD,WAAW,EAAE;QACX,EAAE,EAAE,EAAE,OAAO,EAAE,4CAA4C,EAAE;QAC7D,GAAG,EAAE,EAAE,OAAO,EAAE,yDAAyD,EAAE;KAC5E;CACgC,CAAC;AAEpC;;;;;GAKG;AACH,KAAK,UAAU,gBAAgB,CAAC,IAAmD;IACjF,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAY,OAAO,CAAC,gBAAgB,EAAE,CAAC;QACpD,MAAM,MAAM,GAAW,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;QACxD,MAAM,MAAM,GAAW,OAAO;YAC5B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,gEAAgE,CAAC;YAC9E,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QAC5E,OAAO,WAAW,CAChB,6BAA6B,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM,KAAK,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,IAAI,EACjH,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,CAChD,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAC7B,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,WAAW,CAChB,GAAG,KAAK,CAAC,MAAM,CAAC,sCAAsC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,sEAAsE,CAAC,IAAI,EAClJ,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CACtD,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAChC,OAAO,WAAW,CAChB,GAAG,KAAK,CAAC,KAAK,CAAC,uCAAuC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,iEAAiE,CAAC,IAAI,EAC7I,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CACvD,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,eAAe,CAAC;IACjD,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,oBAAoB;IAC7B,IAAI,EAAE;QACJ,OAAO,EAAE,4CAA4C;QACrD,WAAW,EAAE,oJAAoJ;QACjK,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE;YACR,6CAA6C;YAC7C,8CAA8C;YAC9C,+CAA+C;SAChD;KACF;IACD,OAAO,EAAE,gBAAgB;CAC1B,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAc;IACvD,OAAO,mBAAmB,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;AACxD,CAAC"}
@@ -8,7 +8,9 @@
8
8
  * its current operation does, and a second `kill` says so rather than
9
9
  * forcing it, because a cloud job cut short can leave its state locked.
10
10
  * `wait` follows a job's log until it ends, and its status is the job's:
11
- * Ctrl-C stops following, never the job.
11
+ * Ctrl-C stops following, never the job. Declared in one record each
12
+ * (`killCommand`, `waitCommand`); neither takes an option, so `kill -9` is
13
+ * refused before it runs.
12
14
  *
13
15
  * @module
14
16
  */
@@ -30,17 +32,84 @@ export declare function jobName_resolve(runner: JobRunner, word: string): JobNam
30
32
  error: string;
31
33
  };
32
34
  /**
33
- * `kill <task>…`: asks each job to stop.
35
+ * `kill <task>…`: the declaration.
36
+ *
37
+ * @example
38
+ * ```ts
39
+ * commands_register({ declarations: [killCommand] });
40
+ * ```
41
+ */
42
+ export declare const killCommand: import("../../core/commandDeclaration.js").CommandDeclaration<{
43
+ readonly operands: readonly [{
44
+ readonly name: "task";
45
+ readonly kind: "word";
46
+ readonly repeat: true;
47
+ readonly summary: "Each task: /proc/<source>/<id>, <source>/<id>, %N, or its name";
48
+ }];
49
+ }>;
50
+ /**
51
+ * `wait [<task>…]`: the declaration.
52
+ *
53
+ * @example
54
+ * ```ts
55
+ * commands_register({ declarations: [waitCommand] });
56
+ * ```
57
+ */
58
+ export declare const waitCommand: import("../../core/commandDeclaration.js").CommandDeclaration<{
59
+ readonly operands: readonly [{
60
+ readonly name: "task";
61
+ readonly kind: "word";
62
+ readonly optional: true;
63
+ readonly repeat: true;
64
+ readonly summary: "Each task, as kill names it; bare, every running task";
65
+ }];
66
+ }>;
67
+ /**
68
+ * `kill` over words already split: the declaration's parse and handler.
34
69
  *
35
70
  * @param args - The words after `kill`.
36
- * @returns The envelope: quiet on success, a line per job that could not be asked.
71
+ * @returns Quiet on success, a line per job that could not be asked, or the refusal of a bad line.
72
+ *
73
+ * @example
74
+ * ```ts
75
+ * await builtin_kill(['%1']);
76
+ * ```
37
77
  */
38
78
  export declare function builtin_kill(args: string[]): Promise<CommandEnvelope>;
39
79
  /**
40
- * `wait [<task>…]`: follows each job's log until it ends; bare, every running job.
80
+ * `wait` over words already split: the declaration's parse and handler.
41
81
  *
42
82
  * @param args - The words after `wait`.
43
- * @returns The envelope: failed when a job did not end done, or following was stopped.
83
+ * @returns Failed when a job did not end done or following was stopped, or the refusal of a bad line.
84
+ *
85
+ * @example
86
+ * ```ts
87
+ * await builtin_wait(['trial-build']);
88
+ * ```
44
89
  */
45
90
  export declare function builtin_wait(args: string[]): Promise<CommandEnvelope>;
91
+ /**
92
+ * Asks each job to stop.
93
+ *
94
+ * @param args - The tasks, as words name them.
95
+ * @returns The envelope: quiet on success, a line per job that could not be asked.
96
+ *
97
+ * @example
98
+ * ```ts
99
+ * await kill_run(['/proc/steps/trial-build']);
100
+ * ```
101
+ */
102
+ export declare function kill_run(args: readonly string[]): Promise<CommandEnvelope>;
103
+ /**
104
+ * Follows each job's log until it ends; bare, every running job.
105
+ *
106
+ * @param args - The tasks, as words name them; none for every running one.
107
+ * @returns The envelope: failed when a job did not end done, or following was stopped.
108
+ *
109
+ * @example
110
+ * ```ts
111
+ * await wait_run([]);
112
+ * ```
113
+ */
114
+ export declare function wait_run(args: readonly string[]): Promise<CommandEnvelope>;
46
115
  export {};
@@ -8,11 +8,15 @@
8
8
  * its current operation does, and a second `kill` says so rather than
9
9
  * forcing it, because a cloud job cut short can leave its state locked.
10
10
  * `wait` follows a job's log until it ends, and its status is the job's:
11
- * Ctrl-C stops following, never the job.
11
+ * Ctrl-C stops following, never the job. Declared in one record each
12
+ * (`killCommand`, `waitCommand`); neither takes an option, so `kill -9` is
13
+ * refused before it runs.
12
14
  *
13
15
  * @module
14
16
  */
15
17
  import { envelope_error, envelope_ok, taskState_isOver } from '@fnndsc/menu';
18
+ import { command_declare } from '../../core/commandDeclaration.js';
19
+ import { declaredCommand_run } from '../../core/commandParse.js';
16
20
  import { runner_get } from '../../core/runner.js';
17
21
  import { commandCancellation_enable, commandCancellation_signalGet } from '../../core/cancellation.js';
18
22
  import { sink_dataLine } from '../../core/sink.js';
@@ -48,18 +52,100 @@ const STOP_WORDS = {
48
52
  'not-running': (record) => `not running (${record?.state ?? 'ended'})`,
49
53
  unknown: () => 'no such task',
50
54
  };
55
+ /** What a `kill` line may hold. */
56
+ const KILL_GRAMMAR = {
57
+ operands: [
58
+ { name: 'task', kind: 'word', repeat: true, summary: 'Each task: /proc/<source>/<id>, <source>/<id>, %N, or its name' },
59
+ ],
60
+ };
61
+ /** What a `wait` line may hold. */
62
+ const WAIT_GRAMMAR = {
63
+ operands: [
64
+ { name: 'task', kind: 'word', optional: true, repeat: true, summary: 'Each task, as kill names it; bare, every running task' },
65
+ ],
66
+ };
51
67
  /**
52
- * `kill <task>…`: asks each job to stop.
68
+ * `kill <task>…`: the declaration.
69
+ *
70
+ * @example
71
+ * ```ts
72
+ * commands_register({ declarations: [killCommand] });
73
+ * ```
74
+ */
75
+ export const killCommand = command_declare({
76
+ name: 'kill',
77
+ grammar: KILL_GRAMMAR,
78
+ help: {
79
+ summary: 'Ask a running task to stop',
80
+ description: 'Asks each task to stop: /proc/<source>/<id>, <source>/<id>, a joblet\'s %N, or its name alone when one source has it. Quiet when it is asked, as kill is. The task ends when its current operation does: a cloud job cut short can leave its state locked, so a task is never forced, there is no -9, and a second kill says so instead.',
81
+ category: 'General',
82
+ posix: { group: 'System', differs: 'stops a session task (/proc/<source>/<id>), never a process; asks, never forces' },
83
+ examples: ['kill /proc/steps/trial-build', 'kill trial-build', 'kill %1'],
84
+ },
85
+ holds: [],
86
+ handler: async (args) => kill_run(args.operands.task),
87
+ });
88
+ /**
89
+ * `wait [<task>…]`: the declaration.
90
+ *
91
+ * @example
92
+ * ```ts
93
+ * commands_register({ declarations: [waitCommand] });
94
+ * ```
95
+ */
96
+ export const waitCommand = command_declare({
97
+ name: 'wait',
98
+ grammar: WAIT_GRAMMAR,
99
+ help: {
100
+ summary: 'Follow a task until it ends',
101
+ description: 'Follows each task\'s log until it ends, then says how it ended; bare, every running task. The status is the tasks\': 0 when all ended done. Ctrl-C stops following and leaves the task running; wait again picks it up.',
102
+ category: 'General',
103
+ posix: { group: 'System', differs: 'waits on session tasks, following each one\'s log' },
104
+ examples: ['wait trial-build', 'wait %1', 'wait'],
105
+ },
106
+ holds: [],
107
+ handler: async (args) => wait_run(args.operands.task),
108
+ });
109
+ /**
110
+ * `kill` over words already split: the declaration's parse and handler.
53
111
  *
54
112
  * @param args - The words after `kill`.
55
- * @returns The envelope: quiet on success, a line per job that could not be asked.
113
+ * @returns Quiet on success, a line per job that could not be asked, or the refusal of a bad line.
114
+ *
115
+ * @example
116
+ * ```ts
117
+ * await builtin_kill(['%1']);
118
+ * ```
56
119
  */
57
120
  export async function builtin_kill(args) {
58
- const flag = args.find((word) => word.startsWith('-'));
59
- if (flag !== undefined)
60
- return envelope_error('', undefined, `kill: ${flag}: a task is never forced; kill asks it to stop\n`);
61
- if (args.length === 0)
62
- return envelope_error('', undefined, 'kill: usage: kill <task>…\n');
121
+ return declaredCommand_run(killCommand, args);
122
+ }
123
+ /**
124
+ * `wait` over words already split: the declaration's parse and handler.
125
+ *
126
+ * @param args - The words after `wait`.
127
+ * @returns Failed when a job did not end done or following was stopped, or the refusal of a bad line.
128
+ *
129
+ * @example
130
+ * ```ts
131
+ * await builtin_wait(['trial-build']);
132
+ * ```
133
+ */
134
+ export async function builtin_wait(args) {
135
+ return declaredCommand_run(waitCommand, args);
136
+ }
137
+ /**
138
+ * Asks each job to stop.
139
+ *
140
+ * @param args - The tasks, as words name them.
141
+ * @returns The envelope: quiet on success, a line per job that could not be asked.
142
+ *
143
+ * @example
144
+ * ```ts
145
+ * await kill_run(['/proc/steps/trial-build']);
146
+ * ```
147
+ */
148
+ export async function kill_run(args) {
63
149
  const runner = runner_get();
64
150
  if (runner === null)
65
151
  return envelope_error('', undefined, 'kill: this session runs no tasks\n');
@@ -84,15 +170,17 @@ export async function builtin_kill(args) {
84
170
  return envelope_ok('', { kind: 'tasks.kill', data });
85
171
  }
86
172
  /**
87
- * `wait [<task>…]`: follows each job's log until it ends; bare, every running job.
173
+ * Follows each job's log until it ends; bare, every running job.
88
174
  *
89
- * @param args - The words after `wait`.
175
+ * @param args - The tasks, as words name them; none for every running one.
90
176
  * @returns The envelope: failed when a job did not end done, or following was stopped.
177
+ *
178
+ * @example
179
+ * ```ts
180
+ * await wait_run([]);
181
+ * ```
91
182
  */
92
- export async function builtin_wait(args) {
93
- const flag = args.find((word) => word.startsWith('-'));
94
- if (flag !== undefined)
95
- return envelope_error('', undefined, `wait: ${flag}: unknown option\n`);
183
+ export async function wait_run(args) {
96
184
  const runner = runner_get();
97
185
  if (runner === null)
98
186
  return args.length === 0 ? envelope_ok('') : envelope_error('', undefined, 'wait: this session runs no tasks\n');
@@ -1 +1 @@
1
- {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../../src/builtins/sys/tasks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../../src/builtins/sys/tasks.ts"],"names":[],"mappings":"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"}