@fnndsc/brasa 0.56.2 → 0.56.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (333) hide show
  1. package/dist/buildinfo.json +1 -1
  2. package/dist/builtins/berth/berth.d.ts +11 -0
  3. package/dist/builtins/berth/berth.js +53 -22
  4. package/dist/builtins/berth/berth.js.map +1 -1
  5. package/dist/builtins/berth/berthCube.d.ts +17 -2
  6. package/dist/builtins/berth/berthCube.js +22 -10
  7. package/dist/builtins/berth/berthCube.js.map +1 -1
  8. package/dist/builtins/debug.d.ts +24 -3
  9. package/dist/builtins/debug.js +66 -13
  10. package/dist/builtins/debug.js.map +1 -1
  11. package/dist/builtins/fs/acl.args.d.ts +5 -38
  12. package/dist/builtins/fs/acl.args.js +6 -72
  13. package/dist/builtins/fs/acl.args.js.map +1 -1
  14. package/dist/builtins/fs/acl.d.ts +100 -10
  15. package/dist/builtins/fs/acl.js +222 -68
  16. package/dist/builtins/fs/acl.js.map +1 -1
  17. package/dist/builtins/fs/cat.args.d.ts +14 -15
  18. package/dist/builtins/fs/cat.args.js +13 -40
  19. package/dist/builtins/fs/cat.args.js.map +1 -1
  20. package/dist/builtins/fs/cat.d.ts +40 -3
  21. package/dist/builtins/fs/cat.js +89 -10
  22. package/dist/builtins/fs/cat.js.map +1 -1
  23. package/dist/builtins/fs/cd.d.ts +24 -6
  24. package/dist/builtins/fs/cd.js +71 -18
  25. package/dist/builtins/fs/cd.js.map +1 -1
  26. package/dist/builtins/fs/configWrite.d.ts +24 -8
  27. package/dist/builtins/fs/configWrite.js +77 -36
  28. package/dist/builtins/fs/configWrite.js.map +1 -1
  29. package/dist/builtins/fs/cp.d.ts +39 -4
  30. package/dist/builtins/fs/cp.js +120 -55
  31. package/dist/builtins/fs/cp.js.map +1 -1
  32. package/dist/builtins/fs/download.d.ts +12 -1
  33. package/dist/builtins/fs/download.js +24 -4
  34. package/dist/builtins/fs/download.js.map +1 -1
  35. package/dist/builtins/fs/du.d.ts +59 -33
  36. package/dist/builtins/fs/du.js +111 -79
  37. package/dist/builtins/fs/du.js.map +1 -1
  38. package/dist/builtins/fs/edit.d.ts +19 -4
  39. package/dist/builtins/fs/edit.js +77 -16
  40. package/dist/builtins/fs/edit.js.map +1 -1
  41. package/dist/builtins/fs/find.d.ts +25 -0
  42. package/dist/builtins/fs/find.js +76 -5
  43. package/dist/builtins/fs/find.js.map +1 -1
  44. package/dist/builtins/fs/mkdir.d.ts +28 -18
  45. package/dist/builtins/fs/mkdir.js +95 -66
  46. package/dist/builtins/fs/mkdir.js.map +1 -1
  47. package/dist/builtins/fs/mv.d.ts +34 -4
  48. package/dist/builtins/fs/mv.js +129 -64
  49. package/dist/builtins/fs/mv.js.map +1 -1
  50. package/dist/builtins/fs/pull.args.d.ts +56 -17
  51. package/dist/builtins/fs/pull.args.js +16 -66
  52. package/dist/builtins/fs/pull.args.js.map +1 -1
  53. package/dist/builtins/fs/pull.d.ts +62 -0
  54. package/dist/builtins/fs/pull.js +86 -22
  55. package/dist/builtins/fs/pull.js.map +1 -1
  56. package/dist/builtins/fs/pwd.d.ts +19 -5
  57. package/dist/builtins/fs/pwd.js +62 -8
  58. package/dist/builtins/fs/pwd.js.map +1 -1
  59. package/dist/builtins/fs/rm.d.ts +58 -21
  60. package/dist/builtins/fs/rm.js +99 -82
  61. package/dist/builtins/fs/rm.js.map +1 -1
  62. package/dist/builtins/fs/rmdir.d.ts +29 -11
  63. package/dist/builtins/fs/rmdir.js +87 -36
  64. package/dist/builtins/fs/rmdir.js.map +1 -1
  65. package/dist/builtins/fs/touch.d.ts +44 -9
  66. package/dist/builtins/fs/touch.js +91 -27
  67. package/dist/builtins/fs/touch.js.map +1 -1
  68. package/dist/builtins/fs/transferJobs.d.ts +64 -0
  69. package/dist/builtins/fs/transferJobs.js +98 -0
  70. package/dist/builtins/fs/transferJobs.js.map +1 -0
  71. package/dist/builtins/fs/tree.d.ts +36 -9
  72. package/dist/builtins/fs/tree.js +126 -36
  73. package/dist/builtins/fs/tree.js.map +1 -1
  74. package/dist/builtins/fs/upload.d.ts +35 -3
  75. package/dist/builtins/fs/upload.js +99 -14
  76. package/dist/builtins/fs/upload.js.map +1 -1
  77. package/dist/builtins/fs/xattr.args.d.ts +12 -33
  78. package/dist/builtins/fs/xattr.args.js +17 -95
  79. package/dist/builtins/fs/xattr.args.js.map +1 -1
  80. package/dist/builtins/fs/xattr.d.ts +98 -8
  81. package/dist/builtins/fs/xattr.js +163 -24
  82. package/dist/builtins/fs/xattr.js.map +1 -1
  83. package/dist/builtins/games/bytes.d.ts +201 -5
  84. package/dist/builtins/games/bytes.js +255 -54
  85. package/dist/builtins/games/bytes.js.map +1 -1
  86. package/dist/builtins/games/chimes.d.ts +180 -3
  87. package/dist/builtins/games/chimes.js +203 -26
  88. package/dist/builtins/games/chimes.js.map +1 -1
  89. package/dist/builtins/games/chrislab.d.ts +101 -3
  90. package/dist/builtins/games/chrislab.js +117 -17
  91. package/dist/builtins/games/chrislab.js.map +1 -1
  92. package/dist/builtins/games/cowsay.d.ts +93 -2
  93. package/dist/builtins/games/cowsay.js +90 -31
  94. package/dist/builtins/games/cowsay.js.map +1 -1
  95. package/dist/builtins/games/figlet.d.ts +70 -2
  96. package/dist/builtins/games/figlet.js +83 -6
  97. package/dist/builtins/games/figlet.js.map +1 -1
  98. package/dist/builtins/games/lab.d.ts +104 -5
  99. package/dist/builtins/games/lab.js +144 -6
  100. package/dist/builtins/games/lab.js.map +1 -1
  101. package/dist/builtins/games/lolcat.d.ts +61 -1
  102. package/dist/builtins/games/lolcat.js +59 -24
  103. package/dist/builtins/games/lolcat.js.map +1 -1
  104. package/dist/builtins/games/morse.d.ts +36 -1
  105. package/dist/builtins/games/morse.js +50 -2
  106. package/dist/builtins/games/morse.js.map +1 -1
  107. package/dist/builtins/games/numbers.d.ts +241 -5
  108. package/dist/builtins/games/numbers.js +298 -23
  109. package/dist/builtins/games/numbers.js.map +1 -1
  110. package/dist/builtins/games/play.d.ts +96 -6
  111. package/dist/builtins/games/play.js +137 -6
  112. package/dist/builtins/games/play.js.map +1 -1
  113. package/dist/builtins/games/qr.d.ts +40 -1
  114. package/dist/builtins/games/qr.js +51 -2
  115. package/dist/builtins/games/qr.js.map +1 -1
  116. package/dist/builtins/games/show.d.ts +131 -6
  117. package/dist/builtins/games/show.js +208 -20
  118. package/dist/builtins/games/show.js.map +1 -1
  119. package/dist/builtins/games/sky.d.ts +178 -4
  120. package/dist/builtins/games/sky.js +228 -12
  121. package/dist/builtins/games/sky.js.map +1 -1
  122. package/dist/builtins/games/text.d.ts +258 -7
  123. package/dist/builtins/games/text.js +310 -29
  124. package/dist/builtins/games/text.js.map +1 -1
  125. package/dist/builtins/games/trek.d.ts +67 -3
  126. package/dist/builtins/games/trek.js +63 -10
  127. package/dist/builtins/games/trek.js.map +1 -1
  128. package/dist/builtins/games/wtf.d.ts +58 -1
  129. package/dist/builtins/games/wtf.js +67 -6
  130. package/dist/builtins/games/wtf.js.map +1 -1
  131. package/dist/builtins/help.d.ts +38 -2
  132. package/dist/builtins/help.js +76 -769
  133. package/dist/builtins/help.js.map +1 -1
  134. package/dist/builtins/helpSections.js +4 -1
  135. package/dist/builtins/helpSections.js.map +1 -1
  136. package/dist/builtins/net/connect.d.ts +36 -3
  137. package/dist/builtins/net/connect.js +84 -26
  138. package/dist/builtins/net/connect.js.map +1 -1
  139. package/dist/builtins/net/cubepath.d.ts +49 -5
  140. package/dist/builtins/net/cubepath.js +69 -27
  141. package/dist/builtins/net/cubepath.js.map +1 -1
  142. package/dist/builtins/net/logout.d.ts +13 -4
  143. package/dist/builtins/net/logout.js +49 -3
  144. package/dist/builtins/net/logout.js.map +1 -1
  145. package/dist/builtins/net/netstat.d.ts +29 -4
  146. package/dist/builtins/net/netstat.js +64 -23
  147. package/dist/builtins/net/netstat.js.map +1 -1
  148. package/dist/builtins/net/pacs.d.ts +169 -15
  149. package/dist/builtins/net/pacs.js +92 -33
  150. package/dist/builtins/net/pacs.js.map +1 -1
  151. package/dist/builtins/net/query.args.d.ts +95 -0
  152. package/dist/builtins/net/query.args.js +26 -0
  153. package/dist/builtins/net/query.args.js.map +1 -0
  154. package/dist/builtins/net/query.d.ts +98 -5
  155. package/dist/builtins/net/query.js +89 -83
  156. package/dist/builtins/net/query.js.map +1 -1
  157. package/dist/builtins/net/status.d.ts +5 -3
  158. package/dist/builtins/net/status.js +5 -12
  159. package/dist/builtins/net/status.js.map +1 -1
  160. package/dist/builtins/parametersofplugin.d.ts +82 -3
  161. package/dist/builtins/parametersofplugin.js +79 -23
  162. package/dist/builtins/parametersofplugin.js.map +1 -1
  163. package/dist/builtins/proc.d.ts +210 -3
  164. package/dist/builtins/proc.js +210 -119
  165. package/dist/builtins/proc.js.map +1 -1
  166. package/dist/builtins/res/compute.d.ts +67 -3
  167. package/dist/builtins/res/compute.js +121 -35
  168. package/dist/builtins/res/compute.js.map +1 -1
  169. package/dist/builtins/res/dicom.d.ts +52 -3
  170. package/dist/builtins/res/dicom.js +82 -34
  171. package/dist/builtins/res/dicom.js.map +1 -1
  172. package/dist/builtins/res/expect.d.ts +52 -3
  173. package/dist/builtins/res/expect.js +92 -29
  174. package/dist/builtins/res/expect.js.map +1 -1
  175. package/dist/builtins/res/feed.d.ts +475 -3
  176. package/dist/builtins/res/feed.js +253 -158
  177. package/dist/builtins/res/feed.js.map +1 -1
  178. package/dist/builtins/res/files.d.ts +517 -3
  179. package/dist/builtins/res/files.js +124 -44
  180. package/dist/builtins/res/files.js.map +1 -1
  181. package/dist/builtins/res/gather.d.ts +113 -3
  182. package/dist/builtins/res/gather.js +153 -44
  183. package/dist/builtins/res/gather.js.map +1 -1
  184. package/dist/builtins/res/gather.process.d.ts +27 -19
  185. package/dist/builtins/res/gather.process.js +29 -59
  186. package/dist/builtins/res/gather.process.js.map +1 -1
  187. package/dist/builtins/res/group.d.ts +284 -3
  188. package/dist/builtins/res/group.js +147 -76
  189. package/dist/builtins/res/group.js.map +1 -1
  190. package/dist/builtins/res/image.d.ts +30 -2
  191. package/dist/builtins/res/image.js +62 -10
  192. package/dist/builtins/res/image.js.map +1 -1
  193. package/dist/builtins/res/play.d.ts +71 -9
  194. package/dist/builtins/res/play.js +124 -82
  195. package/dist/builtins/res/play.js.map +1 -1
  196. package/dist/builtins/res/plugininstance.d.ts +307 -2
  197. package/dist/builtins/res/plugininstance.js +122 -50
  198. package/dist/builtins/res/plugininstance.js.map +1 -1
  199. package/dist/builtins/res/pluginmeta.d.ts +244 -2
  200. package/dist/builtins/res/pluginmeta.js +98 -40
  201. package/dist/builtins/res/pluginmeta.js.map +1 -1
  202. package/dist/builtins/res/record.d.ts +37 -3
  203. package/dist/builtins/res/record.js +127 -57
  204. package/dist/builtins/res/record.js.map +1 -1
  205. package/dist/builtins/res/resourceList.d.ts +136 -0
  206. package/dist/builtins/res/resourceList.js +51 -0
  207. package/dist/builtins/res/resourceList.js.map +1 -0
  208. package/dist/builtins/res/tag.d.ts +244 -3
  209. package/dist/builtins/res/tag.js +97 -41
  210. package/dist/builtins/res/tag.js.map +1 -1
  211. package/dist/builtins/res/user.d.ts +122 -3
  212. package/dist/builtins/res/user.js +83 -21
  213. package/dist/builtins/res/user.js.map +1 -1
  214. package/dist/builtins/res/workflow.d.ts +244 -2
  215. package/dist/builtins/res/workflow.js +97 -40
  216. package/dist/builtins/res/workflow.js.map +1 -1
  217. package/dist/builtins/store.d.ts +85 -3
  218. package/dist/builtins/store.js +135 -68
  219. package/dist/builtins/store.js.map +1 -1
  220. package/dist/builtins/sys/apropos.d.ts +80 -5
  221. package/dist/builtins/sys/apropos.js +121 -15
  222. package/dist/builtins/sys/apropos.js.map +1 -1
  223. package/dist/builtins/sys/cal.d.ts +44 -5
  224. package/dist/builtins/sys/cal.js +57 -10
  225. package/dist/builtins/sys/cal.js.map +1 -1
  226. package/dist/builtins/sys/command.d.ts +20 -0
  227. package/dist/builtins/sys/command.js +31 -0
  228. package/dist/builtins/sys/command.js.map +1 -1
  229. package/dist/builtins/sys/context.d.ts +13 -3
  230. package/dist/builtins/sys/context.js +51 -4
  231. package/dist/builtins/sys/context.js.map +1 -1
  232. package/dist/builtins/sys/date.d.ts +56 -5
  233. package/dist/builtins/sys/date.js +63 -9
  234. package/dist/builtins/sys/date.js.map +1 -1
  235. package/dist/builtins/sys/echo.d.ts +63 -2
  236. package/dist/builtins/sys/echo.js +87 -8
  237. package/dist/builtins/sys/echo.js.map +1 -1
  238. package/dist/builtins/sys/fortune.d.ts +27 -2
  239. package/dist/builtins/sys/fortune.js +44 -2
  240. package/dist/builtins/sys/fortune.js.map +1 -1
  241. package/dist/builtins/sys/grep.d.ts +245 -11
  242. package/dist/builtins/sys/grep.js +418 -131
  243. package/dist/builtins/sys/grep.js.map +1 -1
  244. package/dist/builtins/sys/joblets.d.ts +66 -7
  245. package/dist/builtins/sys/joblets.js +101 -14
  246. package/dist/builtins/sys/joblets.js.map +1 -1
  247. package/dist/builtins/sys/motd.d.ts +37 -3
  248. package/dist/builtins/sys/motd.js +49 -8
  249. package/dist/builtins/sys/motd.js.map +1 -1
  250. package/dist/builtins/sys/notes.d.ts +75 -3
  251. package/dist/builtins/sys/notes.js +90 -29
  252. package/dist/builtins/sys/notes.js.map +1 -1
  253. package/dist/builtins/sys/physicalmode.d.ts +24 -3
  254. package/dist/builtins/sys/physicalmode.js +68 -14
  255. package/dist/builtins/sys/physicalmode.js.map +1 -1
  256. package/dist/builtins/sys/tasks.d.ts +74 -5
  257. package/dist/builtins/sys/tasks.js +102 -14
  258. package/dist/builtins/sys/tasks.js.map +1 -1
  259. package/dist/builtins/sys/textFilters.d.ts +673 -41
  260. package/dist/builtins/sys/textFilters.js +718 -263
  261. package/dist/builtins/sys/textFilters.js.map +1 -1
  262. package/dist/builtins/sys/timing.d.ts +24 -3
  263. package/dist/builtins/sys/timing.js +67 -14
  264. package/dist/builtins/sys/timing.js.map +1 -1
  265. package/dist/builtins/sys/variables.d.ts +70 -4
  266. package/dist/builtins/sys/variables.js +103 -31
  267. package/dist/builtins/sys/variables.js.map +1 -1
  268. package/dist/builtins/sys/version.d.ts +27 -2
  269. package/dist/builtins/sys/version.js +48 -3
  270. package/dist/builtins/sys/version.js.map +1 -1
  271. package/dist/builtins/sys/weather.d.ts +92 -15
  272. package/dist/builtins/sys/weather.js +71 -45
  273. package/dist/builtins/sys/weather.js.map +1 -1
  274. package/dist/builtins/sys/whoami.d.ts +38 -18
  275. package/dist/builtins/sys/whoami.js +112 -8
  276. package/dist/builtins/sys/whoami.js.map +1 -1
  277. package/dist/builtins/utils.d.ts +0 -37
  278. package/dist/builtins/utils.js +0 -86
  279. package/dist/builtins/utils.js.map +1 -1
  280. package/dist/chris/chrisCommands.js +58 -152
  281. package/dist/chris/chrisCommands.js.map +1 -1
  282. package/dist/chris/commandFallback.d.ts +12 -0
  283. package/dist/chris/commandFallback.js +47 -0
  284. package/dist/chris/commandFallback.js.map +1 -1
  285. package/dist/chris/filesystem.js +7 -5
  286. package/dist/chris/filesystem.js.map +1 -1
  287. package/dist/chris/help.js +0 -1018
  288. package/dist/chris/help.js.map +1 -1
  289. package/dist/chris/kinds.d.ts +21 -0
  290. package/dist/chris/kinds.js +114 -2
  291. package/dist/chris/kinds.js.map +1 -1
  292. package/dist/chris/mounts.d.ts +4 -4
  293. package/dist/chris/mounts.js +9 -16
  294. package/dist/chris/mounts.js.map +1 -1
  295. package/dist/chris/navigation.d.ts +2 -3
  296. package/dist/chris/navigation.js +6 -20
  297. package/dist/chris/navigation.js.map +1 -1
  298. package/dist/chris/pacsResources.d.ts +259 -0
  299. package/dist/chris/pacsResources.js +168 -0
  300. package/dist/chris/pacsResources.js.map +1 -0
  301. package/dist/core/commandDeclaration.d.ts +97 -7
  302. package/dist/core/commandDeclaration.js +21 -0
  303. package/dist/core/commandDeclaration.js.map +1 -1
  304. package/dist/core/commandParse.js +65 -17
  305. package/dist/core/commandParse.js.map +1 -1
  306. package/dist/core/commandRegistry.d.ts +4 -3
  307. package/dist/core/commandRegistry.js +36 -8
  308. package/dist/core/commandRegistry.js.map +1 -1
  309. package/dist/core/commandSchema.js +5 -2
  310. package/dist/core/commandSchema.js.map +1 -1
  311. package/dist/core/commandUsage.d.ts +15 -0
  312. package/dist/core/commandUsage.js +59 -7
  313. package/dist/core/commandUsage.js.map +1 -1
  314. package/dist/core/coreCommands.js +63 -212
  315. package/dist/core/coreCommands.js.map +1 -1
  316. package/dist/core/paths.d.ts +29 -1
  317. package/dist/core/paths.js +15 -2
  318. package/dist/core/paths.js.map +1 -1
  319. package/dist/core/preprocess.d.ts +3 -4
  320. package/dist/core/preprocess.js +4 -5
  321. package/dist/core/preprocess.js.map +1 -1
  322. package/dist/lib/completer/declared.js +7 -4
  323. package/dist/lib/completer/declared.js.map +1 -1
  324. package/dist/lib/completer/index.js +2 -7
  325. package/dist/lib/completer/index.js.map +1 -1
  326. package/dist/lib/parser.d.ts +0 -8
  327. package/dist/lib/parser.js +0 -11
  328. package/dist/lib/parser.js.map +1 -1
  329. package/dist/lib/vfs/vfs.d.ts +2 -1
  330. package/dist/lib/vfs/vfs.js +5 -4
  331. package/dist/lib/vfs/vfs.js.map +1 -1
  332. package/dist/notes.json +1 -1
  333. package/package.json +5 -5
@@ -1 +1 @@
1
- {"hash":"4b6956"}
1
+ {"hash":"a19215"}
@@ -37,6 +37,17 @@ export declare const berthCommand: import("../../core/commandDeclaration.js").Co
37
37
  readonly long: "yes";
38
38
  readonly summary: "Answer yes to the question above 10 GB";
39
39
  };
40
+ readonly jobs: {
41
+ readonly short: "j";
42
+ readonly long: "jobs";
43
+ readonly summary: `Move N files at once, 1 to ${number} (1 is one at a time); without it $TRANSFER_JOBS, else ${number}`;
44
+ readonly value: {
45
+ readonly name: "N";
46
+ readonly kind: "int";
47
+ readonly min: 1;
48
+ readonly max: number;
49
+ };
50
+ };
40
51
  };
41
52
  };
42
53
  readonly close: {
@@ -11,9 +11,11 @@
11
11
  * person's own `/home/<user>/feeds/` the plugin instance the path runs
12
12
  * through is its node, and a node not `finishedSuccessfully` is refused;
13
13
  * anywhere else it has none. The size is said before the download, above
14
- * 10 GB it asks, and what does not fit is refused. The files downloaded lose
15
- * their write permission, and the state file keeps what was downloaded, for
16
- * the close.
14
+ * 10 GB it asks, and what does not fit is refused. The files move through the
15
+ * transfer pool, 8 at a time unless `-j` or `TRANSFER_JOBS` says otherwise;
16
+ * an anchor is whole or not made, so a file that fails after its retry is
17
+ * named and nothing is anchored. The files downloaded lose their write
18
+ * permission, and the state file keeps what was downloaded, for the close.
17
19
  *
18
20
  * Declared in one record (`berthCommand`): the subcommands, their operands
19
21
  * and options, an anchor's name a ChRIS argument kind (`anchor`) that
@@ -40,15 +42,18 @@ import { chmodSync, createWriteStream, existsSync, mkdirSync, readdirSync, renam
40
42
  import { dirname, join, posix } from 'node:path';
41
43
  import { pipeline } from 'node:stream/promises';
42
44
  import chalk from 'chalk';
45
+ import { transferPool_run } from '@fnndsc/cumin/transfer-pool';
43
46
  import { size_format } from '@fnndsc/fond';
44
47
  import { envelope_error, envelope_ok } from '@fnndsc/menu';
45
48
  import { command_declare } from '../../core/commandDeclaration.js';
46
49
  import { declaredCommand_run } from '../../core/commandParse.js';
47
50
  import { commandUsage_render } from '../../core/commandUsage.js';
48
51
  import { exitCode_set } from '../../core/handlerRun.js';
52
+ import { commandCancellation_enable, commandCancellation_signalGet } from '../../core/cancellation.js';
53
+ import { TRANSFER_JOBS_OPTION, transferJobs_resolve } from '../fs/transferJobs.js';
49
54
  import { repl_confirm } from '../../core/question.js';
50
55
  import { sink_dataLine, sink_get } from '../../core/sink.js';
51
- import { berthHome_get, berthPath_resolve, nodeStatus_get, remoteEntry_read, remoteFile_locate, remoteFile_open, remoteTree_list, } from './berthCube.js';
56
+ import { berthHome_get, berthPath_resolve, nodeStatus_get, remoteEntry_read, remoteFile_locate, remoteFile_open, remoteFiles_memoRun, remoteTree_list, } from './berthCube.js';
52
57
  import { close_run, WORK_TITLE } from './berthClose.js';
53
58
  import { freeBytes_get } from './berthDisk.js';
54
59
  import { BERTH_STATE_FILE, berthPlaces_read, berthState_read, berthState_update, } from './berthState.js';
@@ -152,29 +157,43 @@ async function nodeFinished_check(source) {
152
157
  *
153
158
  * @param file - The file to read.
154
159
  * @param target - Where it is written.
155
- * @param bytes_add - Told the bytes as they arrive.
160
+ * @param bytes_add - Told the bytes as they arrive, and told them back (negative) when the attempt fails.
161
+ * @param signal - The transfer pool's signal: a cancel stops the stream where it is.
162
+ * @throws {Error} When the file cannot be read or written.
156
163
  */
157
- async function file_download(file, target, bytes_add) {
158
- mkdirSync(dirname(target), { recursive: true });
159
- const bytes = await remoteFile_open(file.source);
160
- if (Buffer.isBuffer(bytes.stream)) {
161
- writeFileSync(target, bytes.stream);
162
- bytes_add(bytes.stream.length);
164
+ async function file_download(file, target, bytes_add, signal) {
165
+ let counted = 0;
166
+ const count_add = (count) => { counted += count; bytes_add(count); };
167
+ try {
168
+ mkdirSync(dirname(target), { recursive: true });
169
+ const bytes = await remoteFile_open(file.source);
170
+ if (Buffer.isBuffer(bytes.stream)) {
171
+ writeFileSync(target, bytes.stream);
172
+ count_add(bytes.stream.length);
173
+ }
174
+ else {
175
+ bytes.stream.on('data', (chunk) => count_add(chunk.length));
176
+ await pipeline(bytes.stream, createWriteStream(target), { signal });
177
+ }
178
+ chmodSync(target, statSync(target).mode & ~WRITE_BITS);
163
179
  }
164
- else {
165
- bytes.stream.on('data', (chunk) => bytes_add(chunk.length));
166
- await pipeline(bytes.stream, createWriteStream(target));
180
+ catch (error) {
181
+ // A retry counts its bytes again: the progress takes this attempt's back.
182
+ bytes_add(-counted);
183
+ throw error;
167
184
  }
168
- chmodSync(target, statSync(target).mode & ~WRITE_BITS);
169
185
  }
170
186
  /**
171
- * Downloads files into a folder, saying the bytes as they arrive.
187
+ * Downloads files into a folder through the transfer pool, saying the bytes
188
+ * as they arrive across every file in flight.
172
189
  *
173
190
  * @param files - The files.
174
191
  * @param folder - The folder they are written under, by their relative names.
175
192
  * @param label - The anchor's name, for the progress.
193
+ * @param jobs - How many files move at once.
194
+ * @throws {Error} Naming each file that failed after its retry, or saying the line was cancelled.
176
195
  */
177
- async function files_download(files, folder, label) {
196
+ async function files_download(files, folder, label, jobs) {
178
197
  mkdirSync(folder, { recursive: true });
179
198
  const total = bytes_sum(files);
180
199
  let current = 0;
@@ -182,8 +201,15 @@ async function files_download(files, folder, label) {
182
201
  operation: 'download', kind: 'transfer', phase, label, current, total, unit: 'bytes',
183
202
  status: phase === 'complete' ? 'done' : 'running',
184
203
  });
185
- for (const file of files) {
186
- await file_download(file, join(folder, ...file.name.split('/')), (count) => { current += count; progress('transferring'); });
204
+ commandCancellation_enable();
205
+ const signal = commandCancellation_signalGet();
206
+ const result = await remoteFiles_memoRun(() => transferPool_run(files, (file, poolSignal) => file_download(file, join(folder, ...file.name.split('/')), (count) => { current += count; progress('transferring'); }, poolSignal), { jobs, ...(signal !== undefined ? { signal } : {}) }));
207
+ if (result.cancelled.length > 0) {
208
+ throw new Error(`cancelled with ${count_say(result.cancelled.length, 'file')} not downloaded`);
209
+ }
210
+ if (result.failed.length > 0) {
211
+ const named = result.failed.map((failure) => `${failure.item.name} (${failure.reason})`).join(', ');
212
+ throw new Error(`${count_say(result.failed.length, 'file')} of ${files.length} failed: ${named}`);
187
213
  }
188
214
  progress('complete');
189
215
  }
@@ -250,7 +276,7 @@ async function anchorSize_settle(places, name, files, freed, yes) {
250
276
  return repl_confirm(`berth: anchor: download ${size_format(bytes)} into ${join(places.anchors, name)}?`);
251
277
  }
252
278
  /**
253
- * `berth anchor <path> [name] [--refresh] [--yes]`: downloads a ChRIS path
279
+ * `berth anchor <path> [name] [--refresh] [--yes] [-j N]`: downloads a ChRIS path
254
280
  * into `<anchors>/<name>/` and records it.
255
281
  *
256
282
  * @param request - The line.
@@ -259,6 +285,9 @@ async function anchorSize_settle(places, name, files, freed, yes) {
259
285
  */
260
286
  async function anchor_run(request) {
261
287
  const places = places_require('anchor');
288
+ const jobs = transferJobs_resolve(request.options.jobs);
289
+ if ('refused' in jobs)
290
+ throw new BerthRefusal(`anchor: ${jobs.refused}`);
262
291
  const typed = request.operands.path;
263
292
  const resolved = await berthPath_resolve(typed);
264
293
  const source = await anchorSource_find(resolved, await berthHome_get());
@@ -281,7 +310,7 @@ async function anchor_run(request) {
281
310
  }
282
311
  rmSync(partial, { recursive: true, force: true });
283
312
  try {
284
- await files_download(files, partial, name);
313
+ await files_download(files, partial, name, jobs.jobs);
285
314
  }
286
315
  catch (error) {
287
316
  rmSync(partial, { recursive: true, force: true });
@@ -424,6 +453,7 @@ const BERTH_GRAMMAR = {
424
453
  options: {
425
454
  refresh: { long: 'refresh', summary: 'Download an anchor that stands again' },
426
455
  yes: { short: 'y', long: 'yes', summary: 'Answer yes to the question above 10 GB' },
456
+ jobs: TRANSFER_JOBS_OPTION,
427
457
  },
428
458
  },
429
459
  close: {
@@ -485,7 +515,7 @@ export const berthCommand = command_declare({
485
515
  grammar: BERTH_GRAMMAR,
486
516
  help: {
487
517
  summary: "The ChRIS paths downloaded into this session's berth, and the work returned: anchor, list, close, drop, clear",
488
- description: "Anchor ChRIS paths in this session's berth: download each into the anchors folder, list them, return the outgoing folder to ChRIS as one node, drop one, or clear them all. Under your own ~/feeds an anchor has a node, the plugin instance its path runs through, which must be finishedSuccessfully; anywhere else (uploads, PACS, /PUBLIC, /SHARED) it has none. Anchors of two nodes, or of a node and of none, want --infeed or --newfeed to close, never both. A close removes nothing. help anchors says more. On a host, not in a berth, berth says so and refuses the subcommands.",
518
+ description: "Anchor ChRIS paths in this session's berth: download each into the anchors folder, list them, return the outgoing folder to ChRIS as one node, drop one, or clear them all. Under your own ~/feeds an anchor has a node, the plugin instance its path runs through, which must be finishedSuccessfully; anywhere else (uploads, PACS, /PUBLIC, /SHARED) it has none. Anchors of two nodes, or of a node and of none, want --infeed or --newfeed to close, never both. A close removes nothing. An anchor's files move 8 at a time (-j N, or the session variable TRANSFER_JOBS, 1 to 32); a file that fails is tried once more, and an anchor with a file that still fails is named and not made. help anchors says more. On a host, not in a berth, berth says so and refuses the subcommands.",
489
519
  category: 'Workflows',
490
520
  examples: [
491
521
  'berth',
@@ -493,6 +523,7 @@ export const berthCommand = command_declare({
493
523
  'berth anchor ~/uploads/weights',
494
524
  'berth anchor /PUBLIC/atlas/weights atlas-weights',
495
525
  'berth anchor ~/uploads/weights --refresh',
526
+ 'berth anchor -j 16 ~/uploads/study',
496
527
  'berth close',
497
528
  'berth close --title "sub-01 segmentation"',
498
529
  'berth close --infeed sub-01',
@@ -1 +1 @@
1
- {"version":3,"file":"berth.js","sourceRoot":"","sources":["../../../src/builtins/berth/berth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"berth.js","sourceRoot":"","sources":["../../../src/builtins/berth/berth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAe,MAAM,SAAS,CAAC;AACrJ,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAiD,MAAM,6BAA6B,CAAC;AAC9G,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,WAAW,EAAwB,MAAM,cAAc,CAAC;AAEjF,OAAO,EAAE,eAAe,EAAwE,MAAM,kCAAkC,CAAC;AACzI,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AACvG,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAqB,MAAM,uBAAuB,CAAC;AACtG,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EACL,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAAE,mBAAmB,EAAE,eAAe,GAE7I,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EACL,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,iBAAiB,GAEvE,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEtG,sEAAsE;AACtE,MAAM,CAAC,MAAM,gBAAgB,GAAW,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC;AAEvD,yDAAyD;AACzD,MAAM,aAAa,GAAW,sBAAsB,CAAC;AAErD,sFAAsF;AACtF,MAAM,cAAc,GAAW,WAAW,CAAC;AAE3C,8CAA8C;AAC9C,MAAM,UAAU,GAAW,KAAK,CAAC;AAKjC;;;;GAIG;AACH,SAAS,eAAe;IACtB,OAAO,mBAAmB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;AACrD,CAAC;AAgBD;;;;;GAKG;AACH,SAAS,YAAY,CAAC,OAAe;IACnC,YAAY,CAAC,CAAC,CAAC,CAAC;IAChB,OAAO,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CAAC,UAAkB;IACxC,MAAM,MAAM,GAAuB,gBAAgB,EAAE,CAAC;IACtD,IAAI,MAAM,KAAK,IAAI;QAAE,MAAM,IAAI,YAAY,CAAC,GAAG,UAAU,iDAAiD,CAAC,CAAC;IAC5G,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,IAAY;IACpC,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,YAAY,CAAC,WAAW,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,wEAAwE,CAAC,CAAC;IAClJ,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,iBAAiB,CAAC,QAAgB,EAAE,IAAY;IAC7D,MAAM,WAAW,GAAW,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjF,CAAC;IACD,MAAM,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;IAC3F,MAAM,IAAI,GAAkB,4BAA4B,CAAC,QAAQ,CAAC,CAAC;IACnE,MAAM,IAAI,GAAkB,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACzD,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QACnC,MAAM,IAAI,YAAY,CAAC,WAAW,QAAQ,8DAA8D,CAAC,CAAC;IAC5G,CAAC;IACD,MAAM,QAAQ,GAAa,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAW,CAAC,GAAG,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,OAAe,EAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC;IAC/H,yEAAyE;IACzE,uEAAuE;IACvE,MAAM,IAAI,GAAW,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;IAChG,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AACrD,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,kBAAkB,CAAC,MAAoB;IACpD,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO;IACjC,MAAM,MAAM,GAAW,MAAM,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzD,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;QAC7B,MAAM,IAAI,YAAY,CAAC,WAAW,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,OAAO,MAAM,SAAS,aAAa,+BAA+B,CAAC,CAAC;IACtI,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,aAAa,CAAC,IAAgB,EAAE,MAAc,EAAE,SAAkC,EAAE,MAAmB;IACpH,IAAI,OAAO,GAAW,CAAC,CAAC;IACxB,MAAM,SAAS,GAAG,CAAC,KAAa,EAAQ,EAAE,GAAG,OAAO,IAAI,KAAK,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,IAAI,CAAC;QACH,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,MAAM,KAAK,GAAgB,MAAM,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAClC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACpC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAQ,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1E,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,0EAA0E;QAC1E,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;QACpB,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,cAAc,CAAC,KAA4B,EAAE,MAAc,EAAE,KAAa,EAAE,IAAY;IACrG,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,MAAM,KAAK,GAAW,SAAS,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,OAAO,GAAW,CAAC,CAAC;IACxB,MAAM,QAAQ,GAAG,CAAC,KAAkC,EAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,cAAc,CAAC;QACvF,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO;QACpF,MAAM,EAAE,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;KAClD,CAAC,CAAC;IACH,0BAA0B,EAAE,CAAC;IAC7B,MAAM,MAAM,GAA4B,6BAA6B,EAAE,CAAC;IACxE,MAAM,MAAM,GAAyC,MAAM,mBAAmB,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,EACzG,CAAC,IAAgB,EAAE,UAAuB,EAAiB,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EACrH,CAAC,KAAa,EAAQ,EAAE,GAAG,OAAO,IAAI,KAAK,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,EACvF,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1D,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,kBAAkB,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACjG,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAW,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAoC,EAAU,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjJ,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,KAAK,CAAC,MAAM,YAAY,KAAK,EAAE,CAAC,CAAC;IACpG,CAAC;IACD,QAAQ,CAAC,UAAU,CAAC,CAAC;AACvB,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,gBAAgB,CAAC,MAAoB,EAAE,KAAa;IACjE,MAAM,KAAK,GAAuB,MAAM,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtE,IAAI,KAAK,KAAK,IAAI;QAAE,MAAM,IAAI,YAAY,CAAC,WAAW,KAAK,6BAA6B,CAAC,CAAC;IAC1F,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,CAAC,MAAM,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACrF,OAAO,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,gBAAgB,CAAC,MAAmB,EAAE,IAAY,EAAE,MAAoB,EAAE,OAAsB;IACvG,MAAM,QAAQ,GAA4B,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAmB,EAAW,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC/I,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;QAC5D,MAAM,IAAI,YAAY,CAAC,sBAAsB,IAAI,UAAU,QAAQ,CAAC,IAAI,oBAAoB,eAAe,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC/I,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACvD,MAAM,IAAI,YAAY,CAAC,WAAW,IAAI,oDAAoD,CAAC,CAAC;IAC9F,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,YAAY,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,QAAQ,IAAI,IAAI,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,iBAAiB,CAAC,MAAmB,EAAE,IAAY,EAAE,KAA4B,EAAE,KAAa,EAAE,GAAY;IAC3H,MAAM,KAAK,GAAW,SAAS,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,IAAI,GAAW,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;IAC3D,aAAa,CAAC,kBAAkB,IAAI,KAAK,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,WAAW,CAAC,KAAK,CAAC,KAAK,WAAW,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACnJ,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC;QACjB,MAAM,IAAI,YAAY,CAAC,WAAW,IAAI,kBAAkB,WAAW,CAAC,KAAK,CAAC,SAAS,WAAW,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAC1I,CAAC;IACD,IAAI,KAAK,IAAI,gBAAgB,IAAI,GAAG;QAAE,OAAO,IAAI,CAAC;IAClD,OAAO,YAAY,CAAC,2BAA2B,WAAW,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3G,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,UAAU,CAAC,OAAsB;IAC9C,MAAM,MAAM,GAAgB,cAAc,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,IAAI,GAAiB,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,IAAI,SAAS,IAAI,IAAI;QAAE,MAAM,IAAI,YAAY,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACzE,MAAM,KAAK,GAAW,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5C,MAAM,QAAQ,GAAW,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,MAAM,GAAiB,MAAM,iBAAiB,CAAC,QAAQ,EAAE,MAAM,aAAa,EAAE,CAAC,CAAC;IACtF,MAAM,IAAI,GAAW,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC;IACjE,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACvB,MAAM,QAAQ,GAAuB,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACrF,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,KAAK,GAAiB,MAAM,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClE,MAAM,KAAK,GAAW,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxE,IAAI,CAAC,MAAM,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9E,YAAY,CAAC,CAAC,CAAC,CAAC;QAChB,OAAO,WAAW,CAAC,kBAAkB,IAAI,wBAAwB,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,KAAK,GAAW,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACjD,MAAM,OAAO,GAAW,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,cAAc,GAAG,IAAI,EAAE,CAAC,CAAC;IACzE,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,4EAA4E;QAC5E,MAAM,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,iBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,KAAiB,EAAc,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAmB,EAAW,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9K,CAAC;IACD,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,IAAI,CAAC;QACH,MAAM,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,IAAI,YAAY,CAAC,WAAW,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACzH,CAAC;IACD,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC3B,MAAM,MAAM,GAAgB;QAC1B,IAAI;QACJ,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAgB,EAAgB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5F,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACrC,CAAC;IACF,iBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,KAAiB,EAAc,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1H,MAAM,IAAI,GAAW,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC;IACtF,OAAO,WAAW,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,MAAM,KAAK,KAAK,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;AAC9K,CAAC;AAED;;;;;GAKG;AACH,SAAS,SAAS,CAAC,GAAW;IAC5B,MAAM,EAAE,GAAS,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,GAAG,CAAC;IAC3C,MAAM,GAAG,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtE,OAAO,GAAG,EAAE,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;AAC5H,CAAC;AAED;;;;;GAKG;AACH,SAAS,UAAU;IACjB,MAAM,MAAM,GAAuB,gBAAgB,EAAE,CAAC;IACtD,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,WAAW,CAAC,wDAAwD,CAAC,CAAC;IAClG,MAAM,KAAK,GAAe,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAW,eAAe,KAAK,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;IAC9G,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,WAAW,CAAC,iBAAiB,MAAM,CAAC,OAAO,KAAK,eAAe,EAAE,mBAAmB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACrH,CAAC;IACD,MAAM,IAAI,GAAe;QACvB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC;QACrD,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAmB,EAAY,EAAE,CAAC;YACtD,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC;SACnJ,CAAC;KACH,CAAC;IACF,MAAM,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAChD,OAAO,WAAW,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAClG,CAAC;AAED;;;;;;GAMG;AACH,SAAS,QAAQ,CAAC,IAAY;IAC5B,MAAM,MAAM,GAAgB,cAAc,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,MAAM,GAA4B,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAgB,EAAW,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACvI,IAAI,MAAM,KAAK,SAAS;QAAE,MAAM,IAAI,YAAY,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;IAClF,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,iBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,KAAiB,EAAc,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAgB,EAAW,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACtK,OAAO,WAAW,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,uBAAuB,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;AAC7F,CAAC;AAED;;;;;;GAMG;AACH,SAAS,iBAAiB,CAAC,MAAc,EAAE,KAAoB;IAC7D,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAa,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClH,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,WAAW,EAAE;YAAE,SAAS;QAClC,MAAM,IAAI,GAAW,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAuB,QAAQ,CAAC,IAAI,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC;QACxF,IAAI,KAAK,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,GAAG,KAAK;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,MAAc;IAClC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO;IAChC,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,MAAM,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACvG,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,SAAS;IACtB,MAAM,MAAM,GAAgB,cAAc,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,KAAK,GAAe,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAkB,KAAK,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACjG,MAAM,QAAQ,GAAa,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACrE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,KAAK,GAAW,iBAAiB,MAAM,CAAC,QAAQ,UAAU,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,gDAAgD,CAAC;QACnJ,IAAI,CAAC,MAAM,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,YAAY,CAAC,CAAC,CAAC,CAAC;YAChB,OAAO,WAAW,CAAC,iCAAiC,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/C,IAAI,IAAI,KAAK,gBAAgB;YAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtG,CAAC;IACD,iBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,GAAe,EAAc,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9F,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9B,OAAO,WAAW,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;AAC/H,CAAC;AAED,oCAAoC;AACpC,MAAM,aAAa,GAAG;IACpB,IAAI,EAAE,EAAE,OAAO,EAAE,8GAA8G,EAAE;IACjI,WAAW,EAAE;QACX,MAAM,EAAE;YACN,OAAO,EAAE,0GAA0G;YACnH,QAAQ,EAAE;gBACR,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,+CAA+C,EAAE;gBACvG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,4DAA4D,EAAE;aACtH;YACD,OAAO,EAAE;gBACP,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,sCAAsC,EAAE;gBAC7E,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,wCAAwC,EAAE;gBACnF,IAAI,EAAE,oBAAoB;aAC3B;SACF;QACD,KAAK,EAAE;YACL,OAAO,EAAE,4KAA4K;YACrL,OAAO,EAAE;gBACP,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,+BAA+B,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC/G,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,8BAA8B,EAAE;gBACrE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;gBAC7F,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB,UAAU,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;gBAC5G,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,0CAA0C,EAAE;aAC1F;SACF;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,yCAAyC;YAClD,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;SACpE;QACD,KAAK,EAAE,EAAE,OAAO,EAAE,kGAAkG,EAAE;KACvH;CACgC,CAAC;AAEpC;;;;;GAKG;AACH,KAAK,UAAU,SAAS,CAAC,IAA4C;IACnE,IAAI,CAAC;QACH,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;YACxB,KAAK,IAAI,CAAC,CAAC,OAAO,UAAU,EAAE,CAAC;YAC/B,KAAK,QAAQ,CAAC,CAAC,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;YAC7C,KAAK,MAAM,CAAC,CAAC,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,KAAK,OAAO,CAAC,CAAC,OAAO,MAAM,SAAS,EAAE,CAAC;YACvC,KAAK,OAAO,CAAC,CAAC,OAAO,MAAM,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;gBAC5D,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI;gBACnC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;gBAC7B,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI;gBAC/B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,UAAU;gBACvC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;aAC1B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,KAAK,YAAY,YAAY;YAAE,OAAO,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtE,MAAM,MAAM,GAAW,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9E,OAAO,YAAY,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC,CAAC;IAC3F,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,eAAe,CAAC;IAC1C,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,aAAa;IACtB,IAAI,EAAE;QACJ,OAAO,EAAE,+GAA+G;QACxH,WAAW,EAAE,iwBAAiwB;QAC9wB,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE;YACR,OAAO;YACP,mEAAmE;YACnE,gCAAgC;YAChC,kDAAkD;YAClD,0CAA0C;YAC1C,oCAAoC;YACpC,aAAa;YACb,2CAA2C;YAC3C,6BAA6B;YAC7B,6CAA6C;YAC7C,mBAAmB;YACnB,aAAa;SACd;KACF;IACD,uEAAuE;IACvE,qDAAqD;IACrD,KAAK,EAAE,EAAE;IACT,OAAO,EAAE,SAAS;CACnB,CAAC,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAc;IAChD,OAAO,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AACjD,CAAC"}
@@ -53,8 +53,9 @@ export interface RemoteBytes {
53
53
  export declare function berthHome_get(): Promise<string>;
54
54
  /**
55
55
  * A typed path as an absolute ChRIS path: relative to the working directory,
56
- * `~` for the home, and a `/proc/jobs/…/data` path through the job's link
57
- * to the output it names, as `ls` and `download` enter it.
56
+ * `~` for the home, and a `/proc/jobs/…/data` path as the folder in its
57
+ * feed that it stands for (`storePath_resolve`, the mounts alone: a link
58
+ * inside the output is not followed, so a path under a node stays under it).
58
59
  *
59
60
  * @param typed - The path as typed.
60
61
  * @returns The absolute path.
@@ -130,6 +131,20 @@ export declare function nodeStatus_get(instanceId: number): Promise<string>;
130
131
  * ```
131
132
  */
132
133
  export declare function remoteFile_open(source: string): Promise<RemoteBytes>;
134
+ /**
135
+ * Runs the reads of many files with each folder listed once: a file is read
136
+ * by an id its folder's listing gives, and without this each file of a
137
+ * folder lists that whole folder again.
138
+ *
139
+ * @param operation - The reads.
140
+ * @returns What the reads return.
141
+ *
142
+ * @example
143
+ * ```ts
144
+ * await remoteFiles_memoRun(async () => Promise.all(files.map((file) => remoteFile_open(file.source))));
145
+ * ```
146
+ */
147
+ export declare function remoteFiles_memoRun<T>(operation: () => Promise<T>): Promise<T>;
133
148
  /**
134
149
  * What a plugin run or a feed's start answered: the plugin instance made, or
135
150
  * CUBE's reason for making none.
@@ -48,8 +48,6 @@ import { error_stripDebugPrefix } from '../../core/errorText.js';
48
48
  import { vfsDispatcher_get } from '../../core/filesystem.js';
49
49
  import { path_resolve, storePath_resolve } from '../../core/paths.js';
50
50
  import { sink_get } from '../../core/sink.js';
51
- /** A `/proc/jobs` path at or under a job's `data` link: the link, and what follows it. */
52
- const PROC_DATA_PATH = /^(\/proc\/jobs\/feed_\d+(?:\/[^/]+_\d+)+\/data)(\/.*)?$/;
53
51
  /** Listing kinds that are folders to walk into. */
54
52
  const FOLDER_KINDS = new Set(['dir', 'vfs']);
55
53
  /**
@@ -67,8 +65,9 @@ export async function berthHome_get() {
67
65
  }
68
66
  /**
69
67
  * A typed path as an absolute ChRIS path: relative to the working directory,
70
- * `~` for the home, and a `/proc/jobs/…/data` path through the job's link
71
- * to the output it names, as `ls` and `download` enter it.
68
+ * `~` for the home, and a `/proc/jobs/…/data` path as the folder in its
69
+ * feed that it stands for (`storePath_resolve`, the mounts alone: a link
70
+ * inside the output is not followed, so a path under a node stays under it).
72
71
  *
73
72
  * @param typed - The path as typed.
74
73
  * @returns The absolute path.
@@ -79,12 +78,8 @@ export async function berthHome_get() {
79
78
  * ```
80
79
  */
81
80
  export async function berthPath_resolve(typed) {
82
- const resolved = await path_resolve(typed);
83
- const link = resolved.match(PROC_DATA_PATH);
84
- if (link === null)
85
- return resolved;
86
- const target = await vfsDispatcher_get().linkTarget_resolve(link[1]);
87
- return target.ok ? `${target.value}${link[2] ?? ''}` : resolved;
81
+ // The mounts alone: a link inside a run's output stays under its node.
82
+ return storePath_resolve(await path_resolve(typed), { links: false });
88
83
  }
89
84
  /**
90
85
  * The path CUBE stores a logical path at, as every reader resolves it
@@ -237,6 +232,23 @@ export async function remoteFile_open(source) {
237
232
  return { stream };
238
233
  return { stream: stream };
239
234
  }
235
+ /**
236
+ * Runs the reads of many files with each folder listed once: a file is read
237
+ * by an id its folder's listing gives, and without this each file of a
238
+ * folder lists that whole folder again.
239
+ *
240
+ * @param operation - The reads.
241
+ * @returns What the reads return.
242
+ *
243
+ * @example
244
+ * ```ts
245
+ * await remoteFiles_memoRun(async () => Promise.all(files.map((file) => remoteFile_open(file.source))));
246
+ * ```
247
+ */
248
+ export async function remoteFiles_memoRun(operation) {
249
+ const { fileIds_memoRun } = await import('@fnndsc/salsa');
250
+ return fileIds_memoRun(operation);
251
+ }
240
252
  /**
241
253
  * CUBE's reason for a refusal: what the kernel stacked since a mark, taken off the stack.
242
254
  *
@@ -1 +1 @@
1
- {"version":3,"file":"berthCube.js","sourceRoot":"","sources":["../../../src/builtins/berth/berthCube.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"berthCube.js","sourceRoot":"","sources":["../../../src/builtins/berth/berthCube.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,29 @@
1
1
  import { CommandEnvelope } from '@fnndsc/menu';
2
2
  /**
3
- * Toggles or displays debug mode status.
3
+ * `debug [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) debug state.
5
+ * @example
6
+ * ```ts
7
+ * commands_register({ declarations: [debugCommand] });
8
+ * ```
9
+ */
10
+ export declare const debugCommand: import("../core/commandDeclaration.js").CommandDeclaration<{
11
+ readonly bare: {
12
+ readonly summary: "Show whether debug mode is on";
13
+ };
14
+ readonly subcommands: {
15
+ readonly on: {
16
+ readonly summary: "Enable debug logging";
17
+ };
18
+ readonly off: {
19
+ readonly summary: "Disable debug logging";
20
+ };
21
+ };
22
+ }>;
23
+ /**
24
+ * `debug` over words already split: the declaration's parse and handler.
25
+ *
26
+ * @param args - The words after `debug`.
27
+ * @returns The debug state, or the refusal of a bad line.
7
28
  */
8
29
  export declare function builtin_debug(args: string[]): Promise<CommandEnvelope>;
@@ -1,19 +1,43 @@
1
1
  /**
2
- * @file Debug Command
2
+ * @file `debug`: shows or sets the backend's debug mode (verbose error
3
+ * logging).
3
4
  *
4
- * Toggles the backend's debug mode, reported as a command envelope.
5
+ * Declared in one record (`debugCommand`): `on` and `off` are its
6
+ * subcommands; with neither it says how it stands.
7
+ *
8
+ * Key components:
9
+ * - debugCommand: the declaration.
10
+ * - builtin_debug: the declaration run over words already split.
11
+ *
12
+ * Typical usage:
13
+ * ```ts
14
+ * await builtin_debug(['on']);
15
+ * ```
16
+ *
17
+ * Dependencies: the installed backend's debug flag.
18
+ *
19
+ * @module
5
20
  */
6
21
  import chalk from 'chalk';
7
22
  import { backendInstalled_get } from '../core/backend.js';
8
23
  import { envelope_ok, envelope_error } from '@fnndsc/menu';
24
+ import { command_declare } from '../core/commandDeclaration.js';
25
+ import { declaredCommand_run } from '../core/commandParse.js';
26
+ /** What a `debug` line may hold. */
27
+ const DEBUG_GRAMMAR = {
28
+ bare: { summary: 'Show whether debug mode is on' },
29
+ subcommands: {
30
+ on: { summary: 'Enable debug logging' },
31
+ off: { summary: 'Disable debug logging' },
32
+ },
33
+ };
9
34
  /**
10
- * Toggles or displays debug mode status.
35
+ * Shows or sets debug mode.
11
36
  *
12
- * @param args - Command line arguments: 'on', 'off', or empty to display status.
37
+ * @param args - The line, parsed: `on`, `off`, or neither.
13
38
  * @returns An envelope describing the (possibly updated) debug state.
14
39
  */
15
- export async function builtin_debug(args) {
16
- const subcommand = args[0];
40
+ async function debug_run(args) {
17
41
  const backend = backendInstalled_get();
18
42
  if (backend?.debug_get === undefined || backend.debug_set === undefined) {
19
43
  return envelope_error('', undefined, `${chalk.red('debug: this session has no debug mode.')}\n`);
@@ -22,7 +46,7 @@ export async function builtin_debug(args) {
22
46
  if (enabledNow === null) {
23
47
  return envelope_error('', [{ type: 'error', message: 'Error: Connection configuration not initialized.' }], `${chalk.red('Error: Connection configuration not initialized.')}\n`);
24
48
  }
25
- if (!subcommand) {
49
+ if (args.subcommand === null) {
26
50
  const enabled = enabledNow;
27
51
  const status = enabled ? 'enabled' : 'disabled';
28
52
  const detail = enabled
@@ -30,14 +54,43 @@ export async function builtin_debug(args) {
30
54
  : chalk.gray(' Verbose error logging is disabled.');
31
55
  return envelope_ok(`Debug mode: ${chalk.yellow(status)}\n${detail}\n${chalk.gray('\nUsage: debug [on|off]')}\n`, { kind: 'sys.debug', data: { enabled } });
32
56
  }
33
- if (subcommand === 'on') {
57
+ if (args.subcommand === 'on') {
34
58
  backend.debug_set(true);
35
59
  return envelope_ok(`${chalk.yellow('[!] Debug mode enabled')}\n${chalk.gray(' Verbose error logging activated.')}\n`, { kind: 'sys.debug', data: { enabled: true } });
36
60
  }
37
- if (subcommand === 'off') {
38
- backend.debug_set(false);
39
- return envelope_ok(`${chalk.green('[+] Debug mode disabled')}\n${chalk.gray(' Verbose error logging deactivated.')}\n`, { kind: 'sys.debug', data: { enabled: false } });
40
- }
41
- return envelope_error(`${chalk.red(`Unknown argument: ${subcommand}`)}\n${chalk.gray('Usage: debug [on|off]')}\n`);
61
+ backend.debug_set(false);
62
+ return envelope_ok(`${chalk.green('[+] Debug mode disabled')}\n${chalk.gray(' Verbose error logging deactivated.')}\n`, { kind: 'sys.debug', data: { enabled: false } });
63
+ }
64
+ /**
65
+ * `debug [on | off]`: the declaration.
66
+ *
67
+ * @example
68
+ * ```ts
69
+ * commands_register({ declarations: [debugCommand] });
70
+ * ```
71
+ */
72
+ export const debugCommand = command_declare({
73
+ name: 'debug',
74
+ grammar: DEBUG_GRAMMAR,
75
+ help: {
76
+ summary: 'Toggle or display debug mode (verbose logging)',
77
+ description: "Shows whether the session's debug mode, verbose error logging, is on, or turns it on or off. A session whose backend has no debug mode says so.",
78
+ category: 'Settings',
79
+ examples: [
80
+ 'debug # Show current status',
81
+ 'debug on # Enable debug mode',
82
+ 'debug off # Disable debug mode',
83
+ ],
84
+ },
85
+ handler: debug_run,
86
+ });
87
+ /**
88
+ * `debug` over words already split: the declaration's parse and handler.
89
+ *
90
+ * @param args - The words after `debug`.
91
+ * @returns The debug state, or the refusal of a bad line.
92
+ */
93
+ export async function builtin_debug(args) {
94
+ return declaredCommand_run(debugCommand, args);
42
95
  }
43
96
  //# sourceMappingURL=debug.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/builtins/debug.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAgB,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAmB,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE5E;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAc;IAChD,MAAM,UAAU,GAAuB,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAmB,oBAAoB,EAAE,CAAC;IACvD,IAAI,OAAO,EAAE,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACxE,OAAO,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,wCAAwC,CAAC,IAAI,CAAC,CAAC;IACnG,CAAC;IACD,MAAM,UAAU,GAAmB,OAAO,CAAC,SAAS,EAAE,CAAC;IAEvD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO,cAAc,CACnB,EAAE,EACF,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,kDAAkD,EAAE,CAAC,EAChF,GAAG,KAAK,CAAC,GAAG,CAAC,kDAAkD,CAAC,IAAI,CACrE,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,OAAO,GAAY,UAAU,CAAC;QACpC,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,qCAAqC,CAAC;YACnD,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACvD,OAAO,WAAW,CAChB,eAAe,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM,KAAK,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAC5F,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,CACzC,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO,WAAW,CAChB,GAAG,KAAK,CAAC,MAAM,CAAC,wBAAwB,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,IAAI,EACpG,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAC/C,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACzB,OAAO,WAAW,CAChB,GAAG,KAAK,CAAC,KAAK,CAAC,yBAAyB,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,IAAI,EACtG,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAChD,CAAC;IACJ,CAAC;IAED,OAAO,cAAc,CACnB,GAAG,KAAK,CAAC,GAAG,CAAC,qBAAqB,UAAU,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAC5F,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/builtins/debug.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  /**
2
- * @file Shared `setfacl` / `getfacl` / `chmod` command-line grammar.
2
+ * @file The words of a feed's access list: `setfacl`'s entries, the
3
+ * targets a feed is named by, and `getfacl`'s block.
3
4
  *
4
5
  * A feed shared with another identity is, in POSIX terms, an access
5
6
  * control entry: `setfacl -m u:someone:r <path>`, `setfacl -m g:lab:r`,
@@ -7,8 +8,9 @@
7
8
  * is the verb a terminal already knows. "Share X with Y" is a sentence — it
8
9
  * belongs to a natural-language assist, not to a shell.
9
10
  *
10
- * Dependency-free, as `cat.args.ts` is: the engine graph cannot be loaded
11
- * under jest, so a grammar inside the builtin is a grammar nothing tests.
11
+ * The line itself is parsed against each command's declaration (`acl.ts`);
12
+ * these read the words inside its values. Dependency-free, so they are
13
+ * tested without the engine.
12
14
  *
13
15
  * @module
14
16
  */
@@ -27,29 +29,12 @@ export interface AclRemoval {
27
29
  kind: 'user' | 'group';
28
30
  name: string;
29
31
  }
30
- /** A parsed `setfacl` invocation. */
31
- export interface SetfaclArgs {
32
- /** The entry to add or modify, when `-m` was given. */
33
- modify: AclEntry | null;
34
- /** The grant to withdraw, when `-x` was given. */
35
- remove: AclRemoval | null;
36
- /** Paths the entry applies to. */
37
- paths: string[];
38
- /** What was wrong with the invocation, when something was. */
39
- error: string | null;
40
- }
41
32
  /** Who can read a feed besides its owner, as `getfacl` shows it. */
42
33
  export interface AclView {
43
34
  users: readonly string[];
44
35
  groups: readonly string[];
45
36
  public: boolean;
46
37
  }
47
- /** How `setfacl` is spelled, for help and for errors. */
48
- export declare const SETFACL_USAGE: string;
49
- /** How `getfacl` is spelled. */
50
- export declare const GETFACL_USAGE: string;
51
- /** How `chmod` is spelled on a feed. */
52
- export declare const CHMOD_USAGE: string;
53
38
  /**
54
39
  * Reads an access control entry: `u:<user>:<perms>`, `g:<group>:<perms>`,
55
40
  * or the other entry `o::<perms>` (also `o:<perms>`); long kinds read too.
@@ -66,24 +51,6 @@ export declare function aclEntry_parse(spec: string): AclEntry | null;
66
51
  * @returns The grant, or the refusal's words.
67
52
  */
68
53
  export declare function aclRemoval_parse(spec: string): AclRemoval | string;
69
- /**
70
- * Reads a `setfacl` invocation.
71
- *
72
- * @param args - Raw argument tokens.
73
- * @returns The requested change and its targets, or the reason it cannot be read.
74
- */
75
- export declare function setfaclArgs_parse(args: string[]): SetfaclArgs;
76
- /**
77
- * Reads a `chmod` on feeds: `o+r` makes them public, `o-r` private, and
78
- * either is the other entry `setfacl` writes.
79
- *
80
- * @param args - Raw argument tokens.
81
- * @returns The entry and the feeds, or the refusal's words.
82
- */
83
- export declare function chmodArgs_parse(args: string[]): {
84
- entry: AclEntry;
85
- paths: string[];
86
- } | string;
87
54
  /**
88
55
  * Resolves a feed id from an id, a `feed_N` name, a path through `/feeds/`,
89
56
  * or its projection `/proc/jobs/feed_N`.