@fnndsc/brasa 0.34.0 → 0.35.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 (425) hide show
  1. package/dist/api/models.d.ts +1 -2
  2. package/dist/api/models.js.map +1 -1
  3. package/dist/buildinfo.json +1 -1
  4. package/dist/builtins/debug.d.ts +1 -1
  5. package/dist/builtins/debug.js +12 -8
  6. package/dist/builtins/debug.js.map +1 -1
  7. package/dist/builtins/executable.d.ts +1 -1
  8. package/dist/builtins/executable.js +2 -1
  9. package/dist/builtins/executable.js.map +1 -1
  10. package/dist/builtins/fs/acl.d.ts +1 -16
  11. package/dist/builtins/fs/acl.js +3 -1
  12. package/dist/builtins/fs/acl.js.map +1 -1
  13. package/dist/builtins/fs/archive.js +1 -1
  14. package/dist/builtins/fs/archive.js.map +1 -1
  15. package/dist/builtins/fs/cat.d.ts +1 -1
  16. package/dist/builtins/fs/cat.js +47 -7
  17. package/dist/builtins/fs/cat.js.map +1 -1
  18. package/dist/builtins/fs/cd.d.ts +1 -19
  19. package/dist/builtins/fs/cd.js +45 -94
  20. package/dist/builtins/fs/cd.js.map +1 -1
  21. package/dist/builtins/fs/configWrite.d.ts +1 -1
  22. package/dist/builtins/fs/configWrite.js +1 -1
  23. package/dist/builtins/fs/configWrite.js.map +1 -1
  24. package/dist/builtins/fs/cp.d.ts +1 -1
  25. package/dist/builtins/fs/cp.js +19 -13
  26. package/dist/builtins/fs/cp.js.map +1 -1
  27. package/dist/builtins/fs/download.d.ts +1 -1
  28. package/dist/builtins/fs/download.js +2 -1
  29. package/dist/builtins/fs/download.js.map +1 -1
  30. package/dist/builtins/fs/du.d.ts +10 -1
  31. package/dist/builtins/fs/du.js +36 -2
  32. package/dist/builtins/fs/du.js.map +1 -1
  33. package/dist/builtins/fs/edit.d.ts +1 -1
  34. package/dist/builtins/fs/edit.js +10 -4
  35. package/dist/builtins/fs/edit.js.map +1 -1
  36. package/dist/builtins/fs/entries.d.ts +43 -0
  37. package/dist/builtins/fs/entries.js +81 -0
  38. package/dist/builtins/fs/entries.js.map +1 -0
  39. package/dist/builtins/fs/ls.d.ts +1 -2
  40. package/dist/builtins/fs/ls.js +70 -10
  41. package/dist/builtins/fs/ls.js.map +1 -1
  42. package/dist/builtins/fs/mkdir.d.ts +1 -1
  43. package/dist/builtins/fs/mkdir.js +29 -20
  44. package/dist/builtins/fs/mkdir.js.map +1 -1
  45. package/dist/builtins/fs/mv.d.ts +1 -1
  46. package/dist/builtins/fs/mv.js +40 -23
  47. package/dist/builtins/fs/mv.js.map +1 -1
  48. package/dist/builtins/fs/pull.d.ts +1 -1
  49. package/dist/builtins/fs/pull.js +2 -1
  50. package/dist/builtins/fs/pull.js.map +1 -1
  51. package/dist/builtins/fs/pwd.d.ts +1 -1
  52. package/dist/builtins/fs/pwd.js +9 -45
  53. package/dist/builtins/fs/pwd.js.map +1 -1
  54. package/dist/builtins/fs/rm.d.ts +1 -22
  55. package/dist/builtins/fs/rm.js +33 -58
  56. package/dist/builtins/fs/rm.js.map +1 -1
  57. package/dist/builtins/fs/rmdir.d.ts +1 -1
  58. package/dist/builtins/fs/rmdir.js +21 -40
  59. package/dist/builtins/fs/rmdir.js.map +1 -1
  60. package/dist/builtins/fs/touch.d.ts +1 -1
  61. package/dist/builtins/fs/touch.js +64 -25
  62. package/dist/builtins/fs/touch.js.map +1 -1
  63. package/dist/builtins/fs/tree.d.ts +1 -1
  64. package/dist/builtins/fs/tree.js +26 -3
  65. package/dist/builtins/fs/tree.js.map +1 -1
  66. package/dist/builtins/fs/upload.d.ts +1 -1
  67. package/dist/builtins/fs/upload.js +3 -1
  68. package/dist/builtins/fs/upload.js.map +1 -1
  69. package/dist/builtins/fs/url.d.ts +19 -0
  70. package/dist/builtins/fs/url.js +53 -0
  71. package/dist/builtins/fs/url.js.map +1 -0
  72. package/dist/builtins/fs/xattr.d.ts +1 -10
  73. package/dist/builtins/fs/xattr.js +3 -1
  74. package/dist/builtins/fs/xattr.js.map +1 -1
  75. package/dist/builtins/games/bytes.d.ts +1 -1
  76. package/dist/builtins/games/bytes.js +2 -1
  77. package/dist/builtins/games/bytes.js.map +1 -1
  78. package/dist/builtins/games/chimes.d.ts +1 -13
  79. package/dist/builtins/games/chimes.js +1 -1
  80. package/dist/builtins/games/chimes.js.map +1 -1
  81. package/dist/builtins/games/chrislab.d.ts +33 -0
  82. package/dist/builtins/games/chrislab.js +117 -0
  83. package/dist/builtins/games/chrislab.js.map +1 -0
  84. package/dist/builtins/games/cowsay.d.ts +1 -11
  85. package/dist/builtins/games/cowsay.js +1 -1
  86. package/dist/builtins/games/cowsay.js.map +1 -1
  87. package/dist/builtins/games/figlet.d.ts +1 -11
  88. package/dist/builtins/games/figlet.js +1 -1
  89. package/dist/builtins/games/figlet.js.map +1 -1
  90. package/dist/builtins/games/lab.d.ts +1 -43
  91. package/dist/builtins/games/lab.js +7 -111
  92. package/dist/builtins/games/lab.js.map +1 -1
  93. package/dist/builtins/games/lolcat.d.ts +1 -11
  94. package/dist/builtins/games/lolcat.js +1 -1
  95. package/dist/builtins/games/lolcat.js.map +1 -1
  96. package/dist/builtins/games/morse.d.ts +1 -10
  97. package/dist/builtins/games/morse.js +1 -1
  98. package/dist/builtins/games/morse.js.map +1 -1
  99. package/dist/builtins/games/numbers.d.ts +1 -10
  100. package/dist/builtins/games/numbers.js +1 -1
  101. package/dist/builtins/games/numbers.js.map +1 -1
  102. package/dist/builtins/games/play.d.ts +1 -11
  103. package/dist/builtins/games/play.js +1 -1
  104. package/dist/builtins/games/play.js.map +1 -1
  105. package/dist/builtins/games/qr.d.ts +1 -12
  106. package/dist/builtins/games/qr.js +1 -1
  107. package/dist/builtins/games/qr.js.map +1 -1
  108. package/dist/builtins/games/show.d.ts +1 -12
  109. package/dist/builtins/games/show.js +1 -1
  110. package/dist/builtins/games/show.js.map +1 -1
  111. package/dist/builtins/games/sky.d.ts +1 -11
  112. package/dist/builtins/games/sky.js +1 -1
  113. package/dist/builtins/games/sky.js.map +1 -1
  114. package/dist/builtins/games/text.d.ts +1 -10
  115. package/dist/builtins/games/text.js +1 -1
  116. package/dist/builtins/games/text.js.map +1 -1
  117. package/dist/builtins/games/wtf.d.ts +1 -9
  118. package/dist/builtins/games/wtf.js +1 -1
  119. package/dist/builtins/games/wtf.js.map +1 -1
  120. package/dist/builtins/help.d.ts +18 -15
  121. package/dist/builtins/help.js +60 -1197
  122. package/dist/builtins/help.js.map +1 -1
  123. package/dist/builtins/net/connect.d.ts +1 -1
  124. package/dist/builtins/net/connect.js +2 -1
  125. package/dist/builtins/net/connect.js.map +1 -1
  126. package/dist/builtins/net/cubepath.d.ts +1 -1
  127. package/dist/builtins/net/cubepath.js +1 -1
  128. package/dist/builtins/net/cubepath.js.map +1 -1
  129. package/dist/builtins/net/logout.d.ts +1 -1
  130. package/dist/builtins/net/logout.js +1 -1
  131. package/dist/builtins/net/logout.js.map +1 -1
  132. package/dist/builtins/net/netstat.d.ts +1 -1
  133. package/dist/builtins/net/netstat.js +1 -2
  134. package/dist/builtins/net/netstat.js.map +1 -1
  135. package/dist/builtins/net/pacs.d.ts +1 -1
  136. package/dist/builtins/net/pacs.js +3 -2
  137. package/dist/builtins/net/pacs.js.map +1 -1
  138. package/dist/builtins/net/pacsUtils.js +2 -1
  139. package/dist/builtins/net/pacsUtils.js.map +1 -1
  140. package/dist/builtins/net/query.csv.js +1 -1
  141. package/dist/builtins/net/query.csv.js.map +1 -1
  142. package/dist/builtins/net/query.d.ts +2 -2
  143. package/dist/builtins/net/query.fanout.d.ts +1 -1
  144. package/dist/builtins/net/query.fanout.js +1 -1
  145. package/dist/builtins/net/query.fanout.js.map +1 -1
  146. package/dist/builtins/net/query.js +3 -2
  147. package/dist/builtins/net/query.js.map +1 -1
  148. package/dist/builtins/net/status.d.ts +1 -1
  149. package/dist/builtins/net/status.js +2 -1
  150. package/dist/builtins/net/status.js.map +1 -1
  151. package/dist/builtins/parametersofplugin.d.ts +1 -1
  152. package/dist/builtins/parametersofplugin.js +1 -1
  153. package/dist/builtins/parametersofplugin.js.map +1 -1
  154. package/dist/builtins/pluginExecute.d.ts +1 -1
  155. package/dist/builtins/pluginExecute.js +3 -1
  156. package/dist/builtins/pluginExecute.js.map +1 -1
  157. package/dist/builtins/proc.d.ts +1 -2
  158. package/dist/builtins/proc.js +98 -9
  159. package/dist/builtins/proc.js.map +1 -1
  160. package/dist/builtins/res/compute.d.ts +1 -1
  161. package/dist/builtins/res/compute.js +2 -1
  162. package/dist/builtins/res/compute.js.map +1 -1
  163. package/dist/builtins/res/dicom.d.ts +2 -2
  164. package/dist/builtins/res/dicom.js +1 -2
  165. package/dist/builtins/res/dicom.js.map +1 -1
  166. package/dist/builtins/res/expect.d.ts +1 -1
  167. package/dist/builtins/res/expect.js +2 -1
  168. package/dist/builtins/res/expect.js.map +1 -1
  169. package/dist/builtins/res/feed.d.ts +1 -1
  170. package/dist/builtins/res/feed.diagram.d.ts +1 -2
  171. package/dist/builtins/res/feed.diagram.js +2 -2
  172. package/dist/builtins/res/feed.diagram.js.map +1 -1
  173. package/dist/builtins/res/feed.js +3 -1
  174. package/dist/builtins/res/feed.js.map +1 -1
  175. package/dist/builtins/res/feed.tree.d.ts +1 -1
  176. package/dist/builtins/res/feed.tree.js +1 -1
  177. package/dist/builtins/res/feed.tree.js.map +1 -1
  178. package/dist/builtins/res/files.d.ts +1 -1
  179. package/dist/builtins/res/files.js +1 -1
  180. package/dist/builtins/res/files.js.map +1 -1
  181. package/dist/builtins/res/gather.d.ts +1 -1
  182. package/dist/builtins/res/gather.js +1 -1
  183. package/dist/builtins/res/gather.js.map +1 -1
  184. package/dist/builtins/res/gather.store.js.map +1 -1
  185. package/dist/builtins/res/group.d.ts +1 -1
  186. package/dist/builtins/res/group.js +1 -1
  187. package/dist/builtins/res/group.js.map +1 -1
  188. package/dist/builtins/res/image.d.ts +1 -20
  189. package/dist/builtins/res/image.js +1 -2
  190. package/dist/builtins/res/image.js.map +1 -1
  191. package/dist/builtins/res/pipeline.d.ts +1 -1
  192. package/dist/builtins/res/pipeline.diagram.d.ts +1 -1
  193. package/dist/builtins/res/pipeline.diagram.js +2 -2
  194. package/dist/builtins/res/pipeline.diagram.js.map +1 -1
  195. package/dist/builtins/res/pipeline.js +3 -1
  196. package/dist/builtins/res/pipeline.js.map +1 -1
  197. package/dist/builtins/res/play.d.ts +1 -1
  198. package/dist/builtins/res/play.js +2 -1
  199. package/dist/builtins/res/play.js.map +1 -1
  200. package/dist/builtins/res/plugin.d.ts +1 -1
  201. package/dist/builtins/res/plugin.info.d.ts +1 -1
  202. package/dist/builtins/res/plugin.info.js +2 -1
  203. package/dist/builtins/res/plugin.info.js.map +1 -1
  204. package/dist/builtins/res/plugin.js +2 -2
  205. package/dist/builtins/res/plugin.js.map +1 -1
  206. package/dist/builtins/res/plugininstance.d.ts +1 -1
  207. package/dist/builtins/res/plugininstance.js +1 -1
  208. package/dist/builtins/res/plugininstance.js.map +1 -1
  209. package/dist/builtins/res/pluginmeta.d.ts +1 -1
  210. package/dist/builtins/res/pluginmeta.js +1 -1
  211. package/dist/builtins/res/pluginmeta.js.map +1 -1
  212. package/dist/builtins/res/record.d.ts +1 -1
  213. package/dist/builtins/res/record.js +1 -1
  214. package/dist/builtins/res/record.js.map +1 -1
  215. package/dist/builtins/res/tag.d.ts +1 -1
  216. package/dist/builtins/res/tag.js +1 -1
  217. package/dist/builtins/res/tag.js.map +1 -1
  218. package/dist/builtins/res/user.d.ts +1 -1
  219. package/dist/builtins/res/user.js +2 -1
  220. package/dist/builtins/res/user.js.map +1 -1
  221. package/dist/builtins/res/workflow.d.ts +1 -1
  222. package/dist/builtins/res/workflow.js +1 -1
  223. package/dist/builtins/res/workflow.js.map +1 -1
  224. package/dist/builtins/store.d.ts +1 -1
  225. package/dist/builtins/store.js +2 -1
  226. package/dist/builtins/store.js.map +1 -1
  227. package/dist/builtins/sys/cal.d.ts +1 -12
  228. package/dist/builtins/sys/cal.js +1 -1
  229. package/dist/builtins/sys/cal.js.map +1 -1
  230. package/dist/builtins/sys/context.d.ts +1 -1
  231. package/dist/builtins/sys/context.js +1 -1
  232. package/dist/builtins/sys/context.js.map +1 -1
  233. package/dist/builtins/sys/date.d.ts +1 -12
  234. package/dist/builtins/sys/date.js +1 -1
  235. package/dist/builtins/sys/date.js.map +1 -1
  236. package/dist/builtins/sys/fortune.d.ts +1 -11
  237. package/dist/builtins/sys/fortune.js +1 -1
  238. package/dist/builtins/sys/fortune.js.map +1 -1
  239. package/dist/builtins/sys/motd.d.ts +1 -18
  240. package/dist/builtins/sys/motd.js +3 -3
  241. package/dist/builtins/sys/motd.js.map +1 -1
  242. package/dist/builtins/sys/notes.d.ts +1 -2
  243. package/dist/builtins/sys/notes.js +1 -2
  244. package/dist/builtins/sys/notes.js.map +1 -1
  245. package/dist/builtins/sys/physicalmode.d.ts +1 -1
  246. package/dist/builtins/sys/physicalmode.js +1 -1
  247. package/dist/builtins/sys/physicalmode.js.map +1 -1
  248. package/dist/builtins/sys/timing.d.ts +1 -1
  249. package/dist/builtins/sys/timing.js +1 -1
  250. package/dist/builtins/sys/timing.js.map +1 -1
  251. package/dist/builtins/sys/version.d.ts +1 -7
  252. package/dist/builtins/sys/version.js +1 -1
  253. package/dist/builtins/sys/version.js.map +1 -1
  254. package/dist/builtins/sys/weather.d.ts +1 -1
  255. package/dist/builtins/sys/weather.js +1 -1
  256. package/dist/builtins/sys/weather.js.map +1 -1
  257. package/dist/builtins/sys/whoami.d.ts +1 -1
  258. package/dist/builtins/sys/whoami.js +2 -1
  259. package/dist/builtins/sys/whoami.js.map +1 -1
  260. package/dist/builtins/utils.d.ts +2 -19
  261. package/dist/builtins/utils.js +5 -55
  262. package/dist/builtins/utils.js.map +1 -1
  263. package/dist/builtins/wildcard.d.ts +4 -53
  264. package/dist/builtins/wildcard.js +3 -177
  265. package/dist/builtins/wildcard.js.map +1 -1
  266. package/dist/chris/backend.d.ts +22 -0
  267. package/dist/chris/backend.js +102 -0
  268. package/dist/chris/backend.js.map +1 -0
  269. package/dist/chris/binEntry.js.map +1 -0
  270. package/dist/chris/binMount.d.ts +60 -0
  271. package/dist/chris/binMount.js +154 -0
  272. package/dist/chris/binMount.js.map +1 -0
  273. package/dist/{core → chris}/chiliDelegate.d.ts +1 -1
  274. package/dist/{core → chris}/chiliDelegate.js +1 -1
  275. package/dist/chris/chiliDelegate.js.map +1 -0
  276. package/dist/chris/chrisCommands.d.ts +14 -0
  277. package/dist/chris/chrisCommands.js +168 -0
  278. package/dist/chris/chrisCommands.js.map +1 -0
  279. package/dist/chris/commandFallback.d.ts +3 -0
  280. package/dist/chris/commandFallback.js +113 -0
  281. package/dist/chris/commandFallback.js.map +1 -0
  282. package/dist/chris/completion.d.ts +3 -0
  283. package/dist/chris/completion.js +100 -0
  284. package/dist/chris/completion.js.map +1 -0
  285. package/dist/chris/connect.js.map +1 -0
  286. package/dist/chris/debug.d.ts +10 -0
  287. package/dist/chris/debug.js +9 -0
  288. package/dist/chris/debug.js.map +1 -0
  289. package/dist/chris/files.d.ts +16 -0
  290. package/dist/chris/files.js +178 -0
  291. package/dist/chris/files.js.map +1 -0
  292. package/dist/chris/filesystem.d.ts +3 -0
  293. package/dist/chris/filesystem.js +57 -0
  294. package/dist/chris/filesystem.js.map +1 -0
  295. package/dist/chris/help.d.ts +16 -0
  296. package/dist/chris/help.js +1197 -0
  297. package/dist/chris/help.js.map +1 -0
  298. package/dist/chris/jobsState.js.map +1 -0
  299. package/dist/chris/mounts.d.ts +7 -0
  300. package/dist/chris/mounts.js +34 -0
  301. package/dist/chris/mounts.js.map +1 -0
  302. package/dist/chris/navigation.d.ts +40 -0
  303. package/dist/chris/navigation.js +160 -0
  304. package/dist/chris/navigation.js.map +1 -0
  305. package/dist/{core → chris}/promptContext.d.ts +2 -2
  306. package/dist/{core → chris}/promptContext.js +3 -3
  307. package/dist/chris/promptContext.js.map +1 -0
  308. package/dist/chris/references.d.ts +14 -0
  309. package/dist/chris/references.js +113 -0
  310. package/dist/chris/references.js.map +1 -0
  311. package/dist/chris/tasks.d.ts +31 -0
  312. package/dist/chris/tasks.js +55 -0
  313. package/dist/chris/tasks.js.map +1 -0
  314. package/dist/chris/universeLayout.js.map +1 -0
  315. package/dist/chris/watch.d.ts +3 -0
  316. package/dist/chris/watch.js +15 -0
  317. package/dist/chris/watch.js.map +1 -0
  318. package/dist/core/answerKinds.d.ts +32 -0
  319. package/dist/core/answerKinds.js +56 -0
  320. package/dist/core/answerKinds.js.map +1 -0
  321. package/dist/core/backend.d.ts +274 -0
  322. package/dist/core/backend.js +32 -0
  323. package/dist/core/backend.js.map +1 -0
  324. package/dist/core/commandOrder.d.ts +16 -0
  325. package/dist/core/commandOrder.js +17 -0
  326. package/dist/core/commandOrder.js.map +1 -0
  327. package/dist/core/commandRegistry.d.ts +120 -0
  328. package/dist/core/commandRegistry.js +124 -0
  329. package/dist/core/commandRegistry.js.map +1 -0
  330. package/dist/core/coreCommands.d.ts +16 -0
  331. package/dist/core/coreCommands.js +159 -0
  332. package/dist/core/coreCommands.js.map +1 -0
  333. package/dist/core/dispatch.d.ts +2 -19
  334. package/dist/core/dispatch.js +86 -447
  335. package/dist/core/dispatch.js.map +1 -1
  336. package/dist/core/elevation.d.ts +5 -5
  337. package/dist/core/elevation.js +12 -7
  338. package/dist/core/elevation.js.map +1 -1
  339. package/dist/core/engine.d.ts +30 -18
  340. package/dist/core/engine.js +58 -116
  341. package/dist/core/engine.js.map +1 -1
  342. package/dist/core/errorText.d.ts +14 -0
  343. package/dist/core/errorText.js +26 -0
  344. package/dist/core/errorText.js.map +1 -0
  345. package/dist/core/expansion.d.ts +0 -2
  346. package/dist/core/expansion.js +43 -101
  347. package/dist/core/expansion.js.map +1 -1
  348. package/dist/core/fileRefusal.d.ts +4 -15
  349. package/dist/core/fileRefusal.js +4 -26
  350. package/dist/core/fileRefusal.js.map +1 -1
  351. package/dist/core/filesystem.d.ts +27 -0
  352. package/dist/core/filesystem.js +45 -0
  353. package/dist/core/filesystem.js.map +1 -0
  354. package/dist/core/handlerRun.d.ts +30 -0
  355. package/dist/core/handlerRun.js +34 -0
  356. package/dist/core/handlerRun.js.map +1 -0
  357. package/dist/core/paths.d.ts +18 -0
  358. package/dist/core/paths.js +49 -0
  359. package/dist/core/paths.js.map +1 -0
  360. package/dist/core/preprocess.d.ts +1 -1
  361. package/dist/core/preprocess.js +1 -1
  362. package/dist/core/preprocess.js.map +1 -1
  363. package/dist/core/sink.d.ts +1 -1
  364. package/dist/core/sink.js +0 -8
  365. package/dist/core/sink.js.map +1 -1
  366. package/dist/core/taskWatch.d.ts +42 -0
  367. package/dist/core/taskWatch.js +142 -0
  368. package/dist/core/taskWatch.js.map +1 -0
  369. package/dist/core/tasks.d.ts +46 -0
  370. package/dist/core/tasks.js +102 -0
  371. package/dist/core/tasks.js.map +1 -0
  372. package/dist/core.d.ts +22 -0
  373. package/dist/core.js +23 -0
  374. package/dist/core.js.map +1 -0
  375. package/dist/index.d.ts +8 -5
  376. package/dist/index.js +17 -5
  377. package/dist/index.js.map +1 -1
  378. package/dist/lib/completer/index.js +41 -99
  379. package/dist/lib/completer/index.js.map +1 -1
  380. package/dist/lib/prefetch.js +2 -2
  381. package/dist/lib/prefetch.js.map +1 -1
  382. package/dist/lib/vfs/listing.d.ts +1 -1
  383. package/dist/lib/vfs/providers/static.d.ts +15 -6
  384. package/dist/lib/vfs/providers/static.js +20 -43
  385. package/dist/lib/vfs/providers/static.js.map +1 -1
  386. package/dist/lib/vfs/providers/static_content.d.ts +4 -4
  387. package/dist/lib/vfs/providers/static_content.js +4 -24
  388. package/dist/lib/vfs/providers/static_content.js.map +1 -1
  389. package/dist/lib/vfs/vfs.d.ts +11 -2
  390. package/dist/lib/vfs/vfs.js +90 -51
  391. package/dist/lib/vfs/vfs.js.map +1 -1
  392. package/dist/lib/wildcard.d.ts +57 -0
  393. package/dist/lib/wildcard.js +183 -0
  394. package/dist/lib/wildcard.js.map +1 -0
  395. package/dist/notes.json +1 -1
  396. package/dist/null/backend.d.ts +29 -0
  397. package/dist/null/backend.js +41 -0
  398. package/dist/null/backend.js.map +1 -0
  399. package/dist/session/answer.d.ts +4 -4
  400. package/dist/session/answer.js +0 -2
  401. package/dist/session/answer.js.map +1 -1
  402. package/dist/session/index.d.ts +12 -10
  403. package/dist/session/index.js +9 -38
  404. package/dist/session/index.js.map +1 -1
  405. package/package.json +13 -7
  406. package/dist/builtins/fs/folderExists.d.ts +0 -8
  407. package/dist/builtins/fs/folderExists.js +0 -67
  408. package/dist/builtins/fs/folderExists.js.map +0 -1
  409. package/dist/command-keys.d.ts +0 -8
  410. package/dist/command-keys.js +0 -37
  411. package/dist/command-keys.js.map +0 -1
  412. package/dist/core/chiliDelegate.js.map +0 -1
  413. package/dist/core/connect.js.map +0 -1
  414. package/dist/core/jobsState.js.map +0 -1
  415. package/dist/core/promptContext.js.map +0 -1
  416. package/dist/lib/vfs/providers/binEntry.js.map +0 -1
  417. package/dist/universe/universeLayout.js.map +0 -1
  418. /package/dist/{lib/vfs/providers → chris}/binEntry.d.ts +0 -0
  419. /package/dist/{lib/vfs/providers → chris}/binEntry.js +0 -0
  420. /package/dist/{core → chris}/connect.d.ts +0 -0
  421. /package/dist/{core → chris}/connect.js +0 -0
  422. /package/dist/{core → chris}/jobsState.d.ts +0 -0
  423. /package/dist/{core → chris}/jobsState.js +0 -0
  424. /package/dist/{universe → chris}/universeLayout.d.ts +0 -0
  425. /package/dist/{universe → chris}/universeLayout.js +0 -0
@@ -3,8 +3,8 @@
3
3
  * Reports the current working directory as a command envelope.
4
4
  */
5
5
  import { session } from '../../session/index.js';
6
- import { envelope_ok } from '@fnndsc/cumin';
7
- import { feeds_list, pluginInstances_list } from '@fnndsc/salsa';
6
+ import { backendInstalled_get } from '../../core/backend.js';
7
+ import { envelope_ok } from '@fnndsc/menu';
8
8
  /**
9
9
  * Reports the current working directory in the ChRIS filesystem context.
10
10
  *
@@ -30,54 +30,18 @@ export async function pwd_run(options = {}) {
30
30
  return envelope_ok(`${shown}\n`, { kind: 'fs.cwd', data: { path: cwd, shown } });
31
31
  }
32
32
  /**
33
- * Replaces feed_XXXX and pl-<name>_XXXX patterns in a path with their titles.
33
+ * Replaces each path segment the backend titles (ChRIS: a feed, a plugin
34
+ * instance) with its title.
34
35
  *
35
36
  * @param path - The path to process.
36
- * @returns The path with titles replacing directory names.
37
+ * @returns The path with titles in place of the segments that have them.
37
38
  */
38
39
  async function path_withTitles(path) {
40
+ const title = backendInstalled_get()?.vfs?.segment_title;
41
+ if (title === undefined)
42
+ return path;
39
43
  const parts = path.split('/');
40
- const replacedParts = await Promise.all(parts.map(async (part) => {
41
- // Pattern 1: feed_XXXX
42
- const feedMatch = part.match(/^feed_(\d+)$/);
43
- if (feedMatch) {
44
- const feedId = parseInt(feedMatch[1], 10);
45
- try {
46
- const feedData = await feeds_list({ id: feedId, limit: 1 });
47
- if (feedData && feedData.tableData && feedData.tableData.length > 0) {
48
- const feed = feedData.tableData[0];
49
- if (feed && typeof feed.name === 'string') {
50
- return feed.name;
51
- }
52
- }
53
- }
54
- catch (e) {
55
- // Silently ignore errors
56
- }
57
- return part;
58
- }
59
- // Pattern 2: pl-<name>_XXXX
60
- const pluginMatch = part.match(/^(pl-.+)_(\d+)$/);
61
- if (pluginMatch) {
62
- const pluginInstanceId = parseInt(pluginMatch[2], 10);
63
- try {
64
- const instanceData = await pluginInstances_list({ id: pluginInstanceId, limit: 1 });
65
- if (instanceData && instanceData.tableData && instanceData.tableData.length > 0) {
66
- const instance = instanceData.tableData[0];
67
- if (instance) {
68
- const pluginName = typeof instance.plugin_name === 'string' ? instance.plugin_name : '';
69
- const pluginVersion = typeof instance.plugin_version === 'string' ? instance.plugin_version : '';
70
- return pluginVersion ? `${pluginName} v${pluginVersion}` : pluginName;
71
- }
72
- }
73
- }
74
- catch (e) {
75
- // Silently ignore errors
76
- }
77
- return part;
78
- }
79
- return part; // Return unchanged if no match
80
- }));
44
+ const replacedParts = await Promise.all(parts.map(async (part) => (await title(part)) ?? part));
81
45
  return replacedParts.join('/');
82
46
  }
83
47
  //# sourceMappingURL=pwd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pwd.js","sourceRoot":"","sources":["../../../src/builtins/fs/pwd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pwd.js","sourceRoot":"","sources":["../../../src/builtins/fs/pwd.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAmB,WAAW,EAAE,MAAM,cAAc,CAAC;AAE5D;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAiB,EAAE;IACnD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AACvD,CAAC;AAQD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,UAAsB,EAAE;IACpD,MAAM,UAAU,GAAY,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;IACpD,MAAM,GAAG,GAAW,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAW,UAAU,CAAC,CAAC,CAAC,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACpE,OAAO,WAAW,CAAC,GAAG,KAAK,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;AACnF,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,eAAe,CAAC,IAAY;IACzC,MAAM,KAAK,GAA8D,oBAAoB,EAAE,EAAE,GAAG,EAAE,aAAa,CAAC;IACpH,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,KAAK,GAAa,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,aAAa,GAAa,MAAM,OAAO,CAAC,GAAG,CAC/C,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAY,EAAmB,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAChF,CAAC;IACF,OAAO,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACjC,CAAC"}
@@ -1,5 +1,4 @@
1
- import { CommandEnvelope } from '@fnndsc/cumin';
2
- import { RmResult } from '@fnndsc/chili/commands/fs/rm.js';
1
+ import { CommandEnvelope } from '@fnndsc/menu';
3
2
  /**
4
3
  * Parsed `rm` arguments: flags plus the resolved list of path operands.
5
4
  */
@@ -37,32 +36,12 @@ export declare function rmArgs_parse(args: string[]): RmArgs;
37
36
  * @returns The summary string, or null if there is nothing to summarise.
38
37
  */
39
38
  export declare function rmSummary_format(successCount: number, failCount: number): string | null;
40
- /**
41
- * Says why a removal failed in the words rm uses on Linux: a directory
42
- * without `-r` "Is a directory", a missing operand "No such file or
43
- * directory"; anything else as the store reported it.
44
- *
45
- * @param result - The failed removal.
46
- * @param recursive - Whether `-r` was given.
47
- * @returns The reason that finishes "rm: cannot remove 'x': ".
48
- */
49
- export declare function rmFailure_reason(result: RmResult, recursive: boolean): string;
50
39
  /** Outcome of one removal target, for the envelope model. */
51
40
  export interface RmOutcome {
52
41
  path: string;
53
42
  removed: boolean;
54
43
  skipped: boolean;
55
44
  }
56
- /**
57
- * What rm says under /proc/tags, where nothing is removed by rm: a tag is a
58
- * folder (`rmdir` deletes it) and a feed inside one is a tagging (`setfattr
59
- * -x` takes it off).
60
- *
61
- * @param target - The resolved path.
62
- * @param pathArg - The operand as typed.
63
- * @returns The refusal, or null for a path outside /proc/tags.
64
- */
65
- export declare function tagPath_refusal(target: string, pathArg: string): string | null;
66
45
  /**
67
46
  * Removes one or more files or directories.
68
47
  *
@@ -4,13 +4,13 @@
4
4
  */
5
5
  import chalk from 'chalk';
6
6
  import path from 'path';
7
- import { listCache_get, envelope_ok, envelope_error } from '@fnndsc/cumin';
8
7
  import { path_resolve } from '../utils.js';
9
8
  import { repl_confirm } from '../../core/question.js';
10
- import { files_rm as chefs_rm_cmd } from '@fnndsc/chili/commands/fs/rm.js';
11
- import { rm_render } from '@fnndsc/chili/views/fs.js';
9
+ import { listingCache_get, vfsDispatcher_get } from '../../core/filesystem.js';
10
+ import { entry_at, entry_isFolder, folderTree_remove } from './entries.js';
11
+ import { errno_words, rm_render, vfs_fail, vfs_ok } from '@fnndsc/fond';
12
12
  import { sink_get } from '../../core/sink.js';
13
- import { PROC_TAGS_PREFIX } from '@fnndsc/salsa';
13
+ import { envelope_ok, envelope_error } from '@fnndsc/menu';
14
14
  /**
15
15
  * Prompts the user for confirmation.
16
16
  *
@@ -120,38 +120,28 @@ export function rmSummary_format(successCount, failCount) {
120
120
  return chalk.red(`Failed to remove ${failCount} item${failCount !== 1 ? 's' : ''}`);
121
121
  }
122
122
  /**
123
- * Says why a removal failed in the words rm uses on Linux: a directory
124
- * without `-r` "Is a directory", a missing operand "No such file or
125
- * directory"; anything else as the store reported it.
123
+ * Removes one path. A projection's path is its mount's to remove or refuse
124
+ * (a tag names its own verbs). Elsewhere what holds the path decides: a file
125
+ * or link is removed, a folder only with `-r` (with all it holds), and
126
+ * nothing there is fine under `-f`.
126
127
  *
127
- * @param result - The failed removal.
128
- * @param recursive - Whether `-r` was given.
129
- * @returns The reason that finishes "rm: cannot remove 'x': ".
128
+ * @param dispatcher - The session's filesystem.
129
+ * @param target - The absolute path.
130
+ * @param recursive - `-r`.
131
+ * @param force - `-f`.
132
+ * @returns What was removed, and the outcome.
130
133
  */
131
- export function rmFailure_reason(result, recursive) {
132
- if (result.type === 'dir' && !recursive)
133
- return 'Is a directory';
134
- if (result.type === null && (result.error ?? '').startsWith('No such file or directory'))
135
- return 'No such file or directory';
136
- return result.error || 'unknown error';
137
- }
138
- /**
139
- * What rm says under /proc/tags, where nothing is removed by rm: a tag is a
140
- * folder (`rmdir` deletes it) and a feed inside one is a tagging (`setfattr
141
- * -x` takes it off).
142
- *
143
- * @param target - The resolved path.
144
- * @param pathArg - The operand as typed.
145
- * @returns The refusal, or null for a path outside /proc/tags.
146
- */
147
- export function tagPath_refusal(target, pathArg) {
148
- if (target !== PROC_TAGS_PREFIX && !target.startsWith(`${PROC_TAGS_PREFIX}/`))
149
- return null;
150
- const parts = target.slice(PROC_TAGS_PREFIX.length).split('/').filter(Boolean);
151
- if (parts.length === 2) {
152
- return `rm: cannot remove '${pathArg}': Operation not permitted (setfattr -x tag -v ${parts[0]} ${parts[1]} untags the feed)`;
134
+ async function entry_remove(dispatcher, target, recursive, force) {
135
+ if (dispatcher.path_isVirtual(target)) {
136
+ return { type: null, outcome: recursive ? await dispatcher.rmTree(target) : await dispatcher.rm(target) };
137
+ }
138
+ const entry = await entry_at(dispatcher, target);
139
+ if (entry === null)
140
+ return { type: null, outcome: force ? vfs_ok(true) : vfs_fail('ENOENT') };
141
+ if (entry_isFolder(entry)) {
142
+ return { type: 'dir', outcome: recursive ? await folderTree_remove(dispatcher, target) : vfs_fail('EISDIR') };
153
143
  }
154
- return `rm: cannot remove '${pathArg}': Is a directory (rmdir deletes a tag no feed wears)`;
144
+ return { type: entry.type === 'link' ? 'link' : 'file', outcome: await dispatcher.rm(target) };
155
145
  }
156
146
  /**
157
147
  * Removes one or more files or directories.
@@ -207,7 +197,7 @@ export async function rm_run(runArgs) {
207
197
  });
208
198
  }
209
199
  }
210
- const options = { recursive, force };
200
+ const dispatcher = vfsDispatcher_get();
211
201
  let successCount = 0;
212
202
  let failCount = 0;
213
203
  let rendered = '';
@@ -249,21 +239,6 @@ export async function rm_run(runArgs) {
249
239
  const pathArg = paths[index];
250
240
  try {
251
241
  const target = await path_resolve(pathArg);
252
- // A tag's folder is a tag, and the feeds in it are its taggings: each
253
- // has its own verb, and rm names it rather than guess.
254
- const tagRefusal = tagPath_refusal(target, pathArg);
255
- if (tagRefusal !== null) {
256
- err_emit(chalk.red(tagRefusal));
257
- outcomes.push({ path: pathArg, removed: false, skipped: false });
258
- failCount++;
259
- continue;
260
- }
261
- if (target.startsWith('/bin/')) {
262
- err_emit(chalk.red(`rm: cannot remove '${pathArg}': virtual /bin directory`));
263
- outcomes.push({ path: pathArg, removed: false, skipped: false });
264
- failCount++;
265
- continue;
266
- }
267
242
  if (interactive) {
268
243
  let confirmed = false;
269
244
  try {
@@ -284,31 +259,31 @@ export async function rm_run(runArgs) {
284
259
  continue;
285
260
  }
286
261
  }
287
- const result = await chefs_rm_cmd(target, options);
288
- if (result.success && result.type === null) {
262
+ const removed = await entry_remove(dispatcher, target, recursive, force);
263
+ if (removed.outcome.ok && removed.type === null && !dispatcher.path_isVirtual(target)) {
289
264
  // `-f` on something not there: nothing removed, nothing to say.
290
265
  outcomes.push({ path: pathArg, removed: false, skipped: false });
291
266
  continue;
292
267
  }
293
- if (result.success) {
268
+ if (removed.outcome.ok) {
294
269
  if (paths.length > 1) {
295
270
  out_emit(chalk.gray(`removed '${pathArg}'`));
296
271
  }
297
272
  else {
298
- out_emit(rm_render(result));
273
+ out_emit(rm_render({ success: true, path: target, type: removed.type }));
299
274
  }
300
275
  outcomes.push({ path: pathArg, removed: true, skipped: false });
301
276
  successCount++;
302
- const listCache = listCache_get();
303
- const parentDir = path.posix.dirname(target);
304
- listCache.cache_invalidate(parentDir);
277
+ const listCache = listingCache_get();
278
+ listCache.cache_invalidate?.(path.posix.dirname(target));
305
279
  // Also drop the removed target and any listings cached beneath it:
306
280
  // a later re-upload to the same path must not inherit still-fresh
307
281
  // nested listings from the deleted tree.
308
- listCache.cache_invalidateTree(target);
282
+ listCache.cache_invalidateTree?.(target);
309
283
  }
310
284
  else {
311
- err_emit(chalk.red(`rm: cannot remove '${pathArg}': ${rmFailure_reason(result, recursive)}`));
285
+ const reason = removed.outcome.reason ?? errno_words(removed.outcome.errno);
286
+ err_emit(chalk.red(`rm: cannot remove '${pathArg}': ${reason}`));
312
287
  outcomes.push({ path: pathArg, removed: false, skipped: false });
313
288
  failCount++;
314
289
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rm.js","sourceRoot":"","sources":["../../../src/builtins/fs/rm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rm.js","sourceRoot":"","sources":["../../../src/builtins/fs/rm.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE/E,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAqD,MAAM,cAAc,CAAC;AAC3H,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAmB,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE5E;;;;;GAKG;AACH,KAAK,UAAU,cAAc,CAAC,OAAe;IAC3C,yEAAyE;IACzE,uEAAuE;IACvE,sEAAsE;IACtE,wEAAwE;IACxE,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,EAAE;QACnD,CAAC,CAAC,KAAK,CAAC,OAAO;QACf,CAAC,CAAC,oCAAoC,CAAC;AAC3C,CAAC;AAoBD,iEAAiE;AACjE,MAAM,eAAe,GAAqC;IACxD,aAAa,EAAE,GAAG;IAClB,SAAS,EAAE,GAAG;IACd,eAAe,EAAE,GAAG;CACrB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAAC,IAAc;IACzC,IAAI,SAAS,GAAY,KAAK,CAAC;IAC/B,IAAI,KAAK,GAAY,KAAK,CAAC;IAC3B,IAAI,WAAW,GAAY,KAAK,CAAC;IACjC,IAAI,IAAI,GAAY,KAAK,CAAC;IAC1B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,YAAY,GAAY,KAAK,CAAC;IAElC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,YAAY,GAAG,IAAI,CAAC;YACpB,SAAS;QACX,CAAC;QACD,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChB,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,IAAI,KAAK,GAAW,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAuB,eAAe,CAAC,GAAG,CAAC,CAAC;gBACvD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,4BAA4B,GAAG,GAAG,EAAE,CAAC;gBACrG,CAAC;gBACD,KAAK,GAAG,KAAK,CAAC;YAChB,CAAC;YACD,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;gBACvB,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;oBAAE,SAAS,GAAG,IAAI,CAAC;qBAC1C,IAAI,EAAE,KAAK,GAAG;oBAAE,KAAK,GAAG,IAAI,CAAC;qBAC7B,IAAI,EAAE,KAAK,GAAG;oBAAE,WAAW,GAAG,IAAI,CAAC;qBACnC,IAAI,EAAE,KAAK,GAAG;oBAAE,IAAI,GAAG,IAAI,CAAC;;oBAC5B,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,0BAA0B,EAAE,GAAG,EAAE,CAAC;YACvG,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACxD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,YAAoB,EAAE,SAAiB;IACtE,IAAI,CAAC,CAAC,YAAY,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACtD,IAAI,YAAY,GAAG,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC,KAAK,CAAC,wBAAwB,YAAY,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClG,CAAC;IACD,IAAI,YAAY,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC,MAAM,CAAC,WAAW,YAAY,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,YAAY,SAAS,EAAE,CAAC,CAAC;IAC3G,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,oBAAoB,SAAS,QAAQ,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACtF,CAAC;AAeD;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,YAAY,CAAC,UAAyB,EAAE,MAAc,EAAE,SAAkB,EAAE,KAAc;IACvG,IAAI,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;IAC5G,CAAC;IACD,MAAM,KAAK,GAAmB,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACjE,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC9F,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;IAChH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;AACjG,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAc;IAC7C,MAAM,MAAM,GAAW,YAAY,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACzG,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAe;IAC1C,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,GAAW,OAAO,CAAC;IAEvE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,oCAAoC,CAAC,IAAI,CAAC,CAAC;IAC/F,CAAC;IAED,wEAAwE;IACxE,sEAAsE;IACtE,iBAAiB;IACjB,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,IAAI,GAAW,KAAK,CAAC,MAAM,KAAK,CAAC;YACrC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG;YACjB,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,QAAQ,CAAC;QAC5B,IAAI,MAAM,GAAY,KAAK,CAAC;QAC5B,IAAI,UAAU,GAAkB,IAAI,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,cAAc,CAAC,cAAc,IAAI,WAAW,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,mEAAmE;YACnE,qEAAqE;YACrE,+BAA+B;YAC/B,UAAU,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,GAAW,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;YACjE,OAAO,WAAW,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,MAAM,SAAS,GAAG,EAAE,CAAC,IAAI,EAAE;gBACpF,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAY,EAAa,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;aACxF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAkB,iBAAiB,EAAE,CAAC;IACtD,IAAI,YAAY,GAAW,CAAC,CAAC;IAC7B,IAAI,SAAS,GAAW,CAAC,CAAC;IAC1B,IAAI,QAAQ,GAAW,EAAE,CAAC;IAC1B,IAAI,WAAW,GAAW,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAgB,EAAE,CAAC;IAEjC;;;;;OAKG;IACH,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAQ,EAAE;QACtC,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;YACxB,QAAQ,EAAE,CAAC,UAAU,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,QAAQ,IAAI,GAAG,IAAI,IAAI,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC;IAEF;;;;;OAKG;IACH,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAQ,EAAE;QACtC,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;YACxB,QAAQ,EAAE,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,WAAW,IAAI,GAAG,IAAI,IAAI,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC;IAEF,yEAAyE;IACzE,0EAA0E;IAC1E,6BAA6B;IAC7B,IAAI,WAAW,GAAkB,IAAI,CAAC;IAEtC,KAAK,IAAI,KAAK,GAAW,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAW,KAAK,CAAC,KAAK,CAAW,CAAC;QAC/C,IAAI,CAAC;YACH,MAAM,MAAM,GAAW,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;YAEnD,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,SAAS,GAAY,KAAK,CAAC;gBAC/B,IAAI,CAAC;oBACH,SAAS,GAAG,MAAM,cAAc,CAAC,eAAe,OAAO,YAAY,CAAC,CAAC;gBACvE,CAAC;gBAAC,OAAO,CAAU,EAAE,CAAC;oBACpB,8DAA8D;oBAC9D,2DAA2D;oBAC3D,yCAAyC;oBACzC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,MAAM,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACtE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;oBAChE,WAAW,GAAG,KAAK,CAAC;oBACpB,MAAM;gBACR,CAAC;gBACD,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,GAAG,CAAC,CAAC,CAAC;oBAC7C,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;oBAChE,SAAS;gBACX,CAAC;YACH,CAAC;YAED,MAAM,OAAO,GAAiB,MAAM,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YAEvF,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtF,gEAAgE;gBAChE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBACjE,SAAS;YACX,CAAC;YACD,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;gBACvB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrB,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,GAAG,CAAC,CAAC,CAAC;gBAC/C,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC3E,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBAChE,YAAY,EAAE,CAAC;gBAEf,MAAM,SAAS,GAAiB,gBAAgB,EAAE,CAAC;gBACnD,SAAS,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;gBACzD,mEAAmE;gBACnE,kEAAkE;gBAClE,yCAAyC;gBACzC,SAAS,CAAC,oBAAoB,EAAE,CAAC,MAAM,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAW,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACpF,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,OAAO,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC;gBACjE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBACjE,SAAS,EAAE,CAAC;YACd,CAAC;QACH,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,GAAG,GAAW,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC/D,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,OAAO,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;YAC9D,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YACjE,SAAS,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAED,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAa,KAAK,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;QACxD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,iCAAiC,CAAC,CAAC,CAAC;YAC1E,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,OAAO,GAAkB,gBAAgB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACzE,IAAI,OAAO,EAAE,CAAC;YACZ,QAAQ,CAAC,EAAE,CAAC,CAAC;YACb,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAwC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACrF,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,MAAM,QAAQ,GAAoB,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,IAAI,SAAS,CAAC,CAAC;QAChG,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;QACvB,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,QAAQ,GAAoB,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC/D,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { CommandEnvelope } from '@fnndsc/cumin';
1
+ import { CommandEnvelope } from '@fnndsc/menu';
2
2
  /** Outcome of one rmdir target, for the envelope model. */
3
3
  export interface RmdirOutcome {
4
4
  path: string;
@@ -10,11 +10,10 @@
10
10
  * @module
11
11
  */
12
12
  import chalk from 'chalk';
13
- import { envelope_ok, envelope_error, errorStack, listCache_get } from '@fnndsc/cumin';
14
- import { vfsDispatcher } from '@fnndsc/salsa';
15
- import { path_resolve, error_stripDebugPrefix } from '../utils.js';
16
- import { folder_checkExists } from './folderExists.js';
17
- import { rm_run } from './rm.js';
13
+ import { path_resolve } from '../utils.js';
14
+ import { listingCache_get, vfsDispatcher_get } from '../../core/filesystem.js';
15
+ import { vfsRefusal_text } from '@fnndsc/fond';
16
+ import { envelope_ok, envelope_error } from '@fnndsc/menu';
18
17
  /**
19
18
  * Parses rmdir's arguments: paths only; any flag is refused by name.
20
19
  *
@@ -38,36 +37,21 @@ export function rmdirArgs_parse(args) {
38
37
  return { paths };
39
38
  }
40
39
  /**
41
- * The reason on the stack, worded as rmdir words it.
40
+ * What rmdir says when a folder was not removed: the mount's reason after
41
+ * the operand (unless the mount already named the verb), else the errno's
42
+ * sentence.
42
43
  *
44
+ * @param refused - The failure.
43
45
  * @param pathArg - The operand as typed.
44
- * @returns `rmdir: failed to remove '<path>': <reason>`.
46
+ * @returns The line.
45
47
  */
46
- function reason_said(pathArg) {
47
- const reason = errorStack.stack_pop();
48
- const said = reason === undefined ? 'failed' : error_stripDebugPrefix(reason.message);
49
- if (said.startsWith('rmdir:'))
50
- return said;
51
- return `rmdir: failed to remove '${pathArg}': ${said.replace(/^[^:]*: /, '')}`;
52
- }
53
- /**
54
- * Removes one empty folder on the CUBE store: one that holds anything is
55
- * refused, an empty one goes through rm's own removal.
56
- *
57
- * @param targetPath - The resolved path.
58
- * @param pathArg - The operand as typed.
59
- * @returns Null when removed, or the refusal's words.
60
- */
61
- async function storeFolder_remove(targetPath, pathArg) {
62
- if (!(await folder_checkExists(targetPath)))
63
- return `rmdir: failed to remove '${pathArg}': No such file or directory`;
64
- const held = await vfsDispatcher.list(targetPath);
65
- if (!held.ok)
66
- return reason_said(pathArg);
67
- if (held.value.length > 0)
68
- return `rmdir: failed to remove '${pathArg}': Directory not empty`;
69
- const removed = await rm_run({ recursive: true, force: false, interactive: false, once: false, paths: [targetPath] });
70
- return removed.status === 'ok' ? null : `rmdir: failed to remove '${pathArg}'`;
48
+ function rmdirRefusal_text(refused, pathArg) {
49
+ if (refused.reason === undefined)
50
+ return vfsRefusal_text('rmdir', refused, pathArg);
51
+ if (refused.reason.startsWith('rmdir:'))
52
+ return refused.reason;
53
+ // A projection names the folder first (`urgent: Directory not empty`); rmdir has named it already.
54
+ return `rmdir: failed to remove '${pathArg}': ${refused.reason.replace(/^[^:]*: /, '')}`;
71
55
  }
72
56
  /**
73
57
  * Removes empty folders.
@@ -85,17 +69,14 @@ export async function builtin_rmdir(args) {
85
69
  const outcomes = [];
86
70
  for (const pathArg of parsed.paths) {
87
71
  const targetPath = await path_resolve(pathArg);
88
- let refusal;
89
- if (vfsDispatcher.path_isVirtual(targetPath)) {
90
- refusal = (await vfsDispatcher.rmdir(targetPath)) ? null : reason_said(pathArg);
91
- }
92
- else {
93
- refusal = await storeFolder_remove(targetPath, pathArg);
94
- }
72
+ // Every mount says why it will not: a folder that is not there, that
73
+ // holds something, or a tag a feed still wears.
74
+ const removed = await vfsDispatcher_get().rmdir(targetPath);
75
+ const refusal = removed.ok ? null : rmdirRefusal_text(removed, pathArg);
95
76
  if (refusal !== null)
96
77
  renderedErr += `${chalk.red(refusal)}\n`;
97
78
  else
98
- listCache_get().cache_invalidate(targetPath.slice(0, targetPath.lastIndexOf('/')) || '/');
79
+ listingCache_get().cache_invalidate?.(targetPath.slice(0, targetPath.lastIndexOf('/')) || '/');
99
80
  outcomes.push({ path: targetPath, removed: refusal === null });
100
81
  }
101
82
  const model = { kind: 'fs.rmdir', data: outcomes };
@@ -1 +1 @@
1
- {"version":3,"file":"rmdir.js","sourceRoot":"","sources":["../../../src/builtins/fs/rmdir.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rmdir.js","sourceRoot":"","sources":["../../../src/builtins/fs/rmdir.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { CommandEnvelope } from '@fnndsc/cumin';
1
+ import { CommandEnvelope } from '@fnndsc/menu';
2
2
  /** Outcome of one touch target, for the envelope model. */
3
3
  export interface TouchOutcome {
4
4
  path: string;
@@ -3,11 +3,56 @@
3
3
  * Creates files, reported as a command envelope.
4
4
  */
5
5
  import chalk from 'chalk';
6
+ import fs from 'fs';
6
7
  import path from 'path';
7
- import { listCache_get, errorStack, envelope_ok, envelope_error } from '@fnndsc/cumin';
8
- import { commandArgs_process, optionsUnknown_refusal, path_resolve, error_stripDebugPrefix } from '../utils.js';
9
- import { files_touch as chefs_touch_cmd } from '@fnndsc/chili/commands/fs/touch.js';
10
- import { touch_render } from '@fnndsc/chili/views/fs.js';
8
+ import { commandArgs_process, optionsUnknown_refusal, path_resolve } from '../utils.js';
9
+ import { listingCache_get, vfsDispatcher_get } from '../../core/filesystem.js';
10
+ import { entry_at, entry_isFolder } from './entries.js';
11
+ import { errno_words, touch_render, vfs_fail } from '@fnndsc/fond';
12
+ import { envelope_ok, envelope_error } from '@fnndsc/menu';
13
+ /**
14
+ * Reads the local file whose text a touch writes.
15
+ *
16
+ * @param localFilePath - The path on this host.
17
+ * @returns Its text, or why it could not be read.
18
+ */
19
+ function localFile_read(localFilePath) {
20
+ try {
21
+ if (!fs.existsSync(localFilePath))
22
+ return { reason: `Local file not found: ${localFilePath}` };
23
+ return { text: fs.readFileSync(localFilePath, 'utf-8') };
24
+ }
25
+ catch (error) {
26
+ const msg = error instanceof Error ? error.message : String(error);
27
+ return { reason: `Failed to read local file ${localFilePath}: ${msg}` };
28
+ }
29
+ }
30
+ /**
31
+ * Touches one file. With content it is written whole, replacing what was
32
+ * there. Without, a file already there is left as it is (its content kept)
33
+ * and a missing one is made empty. A projected file takes text only. A
34
+ * missing parent folder is `No such file or directory`, as on a disk:
35
+ * touch makes no folders (mkdir -p does).
36
+ *
37
+ * @param dispatcher - The session's filesystem.
38
+ * @param targetPath - The absolute path.
39
+ * @param content - The text to write, or none.
40
+ * @returns Done, or why not.
41
+ */
42
+ async function file_touch(dispatcher, targetPath, content) {
43
+ if (content === undefined) {
44
+ if (dispatcher.path_isVirtual(targetPath)) {
45
+ return vfs_fail('EROFS', `touch: ${targetPath}: a projected file takes text (--withContents)`);
46
+ }
47
+ const there = await entry_at(dispatcher, targetPath);
48
+ if (entry_isFolder(there))
49
+ return vfs_fail('EISDIR', `Is a directory: a folder already holds ${targetPath}`);
50
+ if (there !== null)
51
+ return { ok: true, value: true };
52
+ }
53
+ const written = await dispatcher.write(targetPath, content ?? '');
54
+ return written.ok || written.errno !== 'EISDIR' ? written : vfs_fail('EISDIR', `Is a directory: a folder already holds ${targetPath}`);
55
+ }
11
56
  /**
12
57
  * Creates empty files or updates timestamps: the shared typed core behind
13
58
  * the parsed builtin and the typed API.
@@ -21,40 +66,34 @@ export async function touch_run(runOptions) {
21
66
  if (pathArgs.length === 0) {
22
67
  return envelope_error('', undefined, `${chalk.red('Usage: touch [--withContents <string>] [--withContentsFromFile <file>] <file>')}\n`);
23
68
  }
24
- const options = {};
25
69
  // Empty text is text: `--withContents ''` writes an empty file.
26
- if (runOptions.contents !== undefined) {
27
- options.withContents = runOptions.contents;
28
- }
70
+ let content = runOptions.contents;
29
71
  if (runOptions.contentsFromFile) {
30
- options.withContentsFromFile = runOptions.contentsFromFile;
72
+ const read = localFile_read(runOptions.contentsFromFile);
73
+ if ('reason' in read) {
74
+ return envelope_error('', undefined, `${chalk.red(`Failed to write file: ${pathArgs[0]}`)}\n${chalk.gray(` ${read.reason}`)}\n`);
75
+ }
76
+ content = read.text;
31
77
  }
32
- // Only process the first file argument when injecting content
33
- const filesToTouch = (options.withContents !== undefined || options.withContentsFromFile)
34
- ? [pathArgs[0]]
35
- : pathArgs;
78
+ const wrote = content !== undefined;
79
+ // Only the first path takes content.
80
+ const filesToTouch = wrote ? [pathArgs[0]] : pathArgs;
36
81
  let rendered = '';
37
82
  let renderedErr = '';
38
83
  const outcomes = [];
84
+ const dispatcher = vfsDispatcher_get();
39
85
  for (const pathArg of filesToTouch) {
40
86
  try {
41
87
  const targetPath = await path_resolve(pathArg);
42
- const success = await chefs_touch_cmd(targetPath, options);
43
- if (success) {
44
- rendered += `${touch_render(targetPath, success, options.withContents !== undefined || options.withContentsFromFile !== undefined)}\n`;
88
+ const done = await file_touch(dispatcher, targetPath, content);
89
+ if (done.ok) {
90
+ rendered += `${touch_render(targetPath, true, wrote)}\n`;
45
91
  outcomes.push({ path: targetPath, created: true });
46
- // Invalidate cache for parent directory
47
- const listCache = listCache_get();
48
- const parentDir = path.posix.dirname(targetPath);
49
- listCache.cache_invalidate(parentDir);
92
+ listingCache_get().cache_invalidate?.(path.posix.dirname(targetPath));
50
93
  }
51
94
  else {
52
- // Touch failed, report the error from errorStack
53
- const lastError = errorStack.stack_pop();
54
95
  renderedErr += `${chalk.red(`Failed to create file: ${targetPath}`)}\n`;
55
- if (lastError) {
56
- renderedErr += `${chalk.gray(` ${error_stripDebugPrefix(lastError.message)}`)}\n`;
57
- }
96
+ renderedErr += `${chalk.gray(` ${done.reason ?? errno_words(done.errno)}`)}\n`;
58
97
  outcomes.push({ path: targetPath, created: false });
59
98
  }
60
99
  }
@@ -1 +1 @@
1
- {"version":3,"file":"touch.js","sourceRoot":"","sources":["../../../src/builtins/fs/touch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"touch.js","sourceRoot":"","sources":["../../../src/builtins/fs/touch.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { CommandEnvelope } from '@fnndsc/cumin';
1
+ import { CommandEnvelope } from '@fnndsc/menu';
2
2
  /**
3
3
  * Displays a directory tree of the ChRIS filesystem.
4
4
  * Uses chili's scan_do machinery for recursive filesystem traversal.