@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.
- package/dist/api/models.d.ts +1 -2
- package/dist/api/models.js.map +1 -1
- package/dist/buildinfo.json +1 -1
- package/dist/builtins/debug.d.ts +1 -1
- package/dist/builtins/debug.js +12 -8
- package/dist/builtins/debug.js.map +1 -1
- package/dist/builtins/executable.d.ts +1 -1
- package/dist/builtins/executable.js +2 -1
- package/dist/builtins/executable.js.map +1 -1
- package/dist/builtins/fs/acl.d.ts +1 -16
- package/dist/builtins/fs/acl.js +3 -1
- package/dist/builtins/fs/acl.js.map +1 -1
- package/dist/builtins/fs/archive.js +1 -1
- package/dist/builtins/fs/archive.js.map +1 -1
- package/dist/builtins/fs/cat.d.ts +1 -1
- package/dist/builtins/fs/cat.js +47 -7
- package/dist/builtins/fs/cat.js.map +1 -1
- package/dist/builtins/fs/cd.d.ts +1 -19
- package/dist/builtins/fs/cd.js +45 -94
- package/dist/builtins/fs/cd.js.map +1 -1
- package/dist/builtins/fs/configWrite.d.ts +1 -1
- package/dist/builtins/fs/configWrite.js +1 -1
- package/dist/builtins/fs/configWrite.js.map +1 -1
- package/dist/builtins/fs/cp.d.ts +1 -1
- package/dist/builtins/fs/cp.js +19 -13
- package/dist/builtins/fs/cp.js.map +1 -1
- package/dist/builtins/fs/download.d.ts +1 -1
- package/dist/builtins/fs/download.js +2 -1
- package/dist/builtins/fs/download.js.map +1 -1
- package/dist/builtins/fs/du.d.ts +10 -1
- package/dist/builtins/fs/du.js +36 -2
- package/dist/builtins/fs/du.js.map +1 -1
- package/dist/builtins/fs/edit.d.ts +1 -1
- package/dist/builtins/fs/edit.js +10 -4
- package/dist/builtins/fs/edit.js.map +1 -1
- package/dist/builtins/fs/entries.d.ts +43 -0
- package/dist/builtins/fs/entries.js +81 -0
- package/dist/builtins/fs/entries.js.map +1 -0
- package/dist/builtins/fs/ls.d.ts +1 -2
- package/dist/builtins/fs/ls.js +70 -10
- package/dist/builtins/fs/ls.js.map +1 -1
- package/dist/builtins/fs/mkdir.d.ts +1 -1
- package/dist/builtins/fs/mkdir.js +29 -20
- package/dist/builtins/fs/mkdir.js.map +1 -1
- package/dist/builtins/fs/mv.d.ts +1 -1
- package/dist/builtins/fs/mv.js +40 -23
- package/dist/builtins/fs/mv.js.map +1 -1
- package/dist/builtins/fs/pull.d.ts +1 -1
- package/dist/builtins/fs/pull.js +2 -1
- package/dist/builtins/fs/pull.js.map +1 -1
- package/dist/builtins/fs/pwd.d.ts +1 -1
- package/dist/builtins/fs/pwd.js +9 -45
- package/dist/builtins/fs/pwd.js.map +1 -1
- package/dist/builtins/fs/rm.d.ts +1 -22
- package/dist/builtins/fs/rm.js +33 -58
- package/dist/builtins/fs/rm.js.map +1 -1
- package/dist/builtins/fs/rmdir.d.ts +1 -1
- package/dist/builtins/fs/rmdir.js +21 -40
- package/dist/builtins/fs/rmdir.js.map +1 -1
- package/dist/builtins/fs/touch.d.ts +1 -1
- package/dist/builtins/fs/touch.js +64 -25
- package/dist/builtins/fs/touch.js.map +1 -1
- package/dist/builtins/fs/tree.d.ts +1 -1
- package/dist/builtins/fs/tree.js +26 -3
- package/dist/builtins/fs/tree.js.map +1 -1
- package/dist/builtins/fs/upload.d.ts +1 -1
- package/dist/builtins/fs/upload.js +3 -1
- package/dist/builtins/fs/upload.js.map +1 -1
- package/dist/builtins/fs/url.d.ts +19 -0
- package/dist/builtins/fs/url.js +53 -0
- package/dist/builtins/fs/url.js.map +1 -0
- package/dist/builtins/fs/xattr.d.ts +1 -10
- package/dist/builtins/fs/xattr.js +3 -1
- package/dist/builtins/fs/xattr.js.map +1 -1
- package/dist/builtins/games/bytes.d.ts +1 -1
- package/dist/builtins/games/bytes.js +2 -1
- package/dist/builtins/games/bytes.js.map +1 -1
- package/dist/builtins/games/chimes.d.ts +1 -13
- package/dist/builtins/games/chimes.js +1 -1
- package/dist/builtins/games/chimes.js.map +1 -1
- package/dist/builtins/games/chrislab.d.ts +33 -0
- package/dist/builtins/games/chrislab.js +117 -0
- package/dist/builtins/games/chrislab.js.map +1 -0
- package/dist/builtins/games/cowsay.d.ts +1 -11
- package/dist/builtins/games/cowsay.js +1 -1
- package/dist/builtins/games/cowsay.js.map +1 -1
- package/dist/builtins/games/figlet.d.ts +1 -11
- package/dist/builtins/games/figlet.js +1 -1
- package/dist/builtins/games/figlet.js.map +1 -1
- package/dist/builtins/games/lab.d.ts +1 -43
- package/dist/builtins/games/lab.js +7 -111
- package/dist/builtins/games/lab.js.map +1 -1
- package/dist/builtins/games/lolcat.d.ts +1 -11
- package/dist/builtins/games/lolcat.js +1 -1
- package/dist/builtins/games/lolcat.js.map +1 -1
- package/dist/builtins/games/morse.d.ts +1 -10
- package/dist/builtins/games/morse.js +1 -1
- package/dist/builtins/games/morse.js.map +1 -1
- package/dist/builtins/games/numbers.d.ts +1 -10
- package/dist/builtins/games/numbers.js +1 -1
- package/dist/builtins/games/numbers.js.map +1 -1
- package/dist/builtins/games/play.d.ts +1 -11
- package/dist/builtins/games/play.js +1 -1
- package/dist/builtins/games/play.js.map +1 -1
- package/dist/builtins/games/qr.d.ts +1 -12
- package/dist/builtins/games/qr.js +1 -1
- package/dist/builtins/games/qr.js.map +1 -1
- package/dist/builtins/games/show.d.ts +1 -12
- package/dist/builtins/games/show.js +1 -1
- package/dist/builtins/games/show.js.map +1 -1
- package/dist/builtins/games/sky.d.ts +1 -11
- package/dist/builtins/games/sky.js +1 -1
- package/dist/builtins/games/sky.js.map +1 -1
- package/dist/builtins/games/text.d.ts +1 -10
- package/dist/builtins/games/text.js +1 -1
- package/dist/builtins/games/text.js.map +1 -1
- package/dist/builtins/games/wtf.d.ts +1 -9
- package/dist/builtins/games/wtf.js +1 -1
- package/dist/builtins/games/wtf.js.map +1 -1
- package/dist/builtins/help.d.ts +18 -15
- package/dist/builtins/help.js +60 -1197
- package/dist/builtins/help.js.map +1 -1
- package/dist/builtins/net/connect.d.ts +1 -1
- package/dist/builtins/net/connect.js +2 -1
- package/dist/builtins/net/connect.js.map +1 -1
- package/dist/builtins/net/cubepath.d.ts +1 -1
- package/dist/builtins/net/cubepath.js +1 -1
- package/dist/builtins/net/cubepath.js.map +1 -1
- package/dist/builtins/net/logout.d.ts +1 -1
- package/dist/builtins/net/logout.js +1 -1
- package/dist/builtins/net/logout.js.map +1 -1
- package/dist/builtins/net/netstat.d.ts +1 -1
- package/dist/builtins/net/netstat.js +1 -2
- package/dist/builtins/net/netstat.js.map +1 -1
- package/dist/builtins/net/pacs.d.ts +1 -1
- package/dist/builtins/net/pacs.js +3 -2
- package/dist/builtins/net/pacs.js.map +1 -1
- package/dist/builtins/net/pacsUtils.js +2 -1
- package/dist/builtins/net/pacsUtils.js.map +1 -1
- package/dist/builtins/net/query.csv.js +1 -1
- package/dist/builtins/net/query.csv.js.map +1 -1
- package/dist/builtins/net/query.d.ts +2 -2
- package/dist/builtins/net/query.fanout.d.ts +1 -1
- package/dist/builtins/net/query.fanout.js +1 -1
- package/dist/builtins/net/query.fanout.js.map +1 -1
- package/dist/builtins/net/query.js +3 -2
- package/dist/builtins/net/query.js.map +1 -1
- package/dist/builtins/net/status.d.ts +1 -1
- package/dist/builtins/net/status.js +2 -1
- package/dist/builtins/net/status.js.map +1 -1
- package/dist/builtins/parametersofplugin.d.ts +1 -1
- package/dist/builtins/parametersofplugin.js +1 -1
- package/dist/builtins/parametersofplugin.js.map +1 -1
- package/dist/builtins/pluginExecute.d.ts +1 -1
- package/dist/builtins/pluginExecute.js +3 -1
- package/dist/builtins/pluginExecute.js.map +1 -1
- package/dist/builtins/proc.d.ts +1 -2
- package/dist/builtins/proc.js +98 -9
- package/dist/builtins/proc.js.map +1 -1
- package/dist/builtins/res/compute.d.ts +1 -1
- package/dist/builtins/res/compute.js +2 -1
- package/dist/builtins/res/compute.js.map +1 -1
- package/dist/builtins/res/dicom.d.ts +2 -2
- package/dist/builtins/res/dicom.js +1 -2
- package/dist/builtins/res/dicom.js.map +1 -1
- package/dist/builtins/res/expect.d.ts +1 -1
- package/dist/builtins/res/expect.js +2 -1
- package/dist/builtins/res/expect.js.map +1 -1
- package/dist/builtins/res/feed.d.ts +1 -1
- package/dist/builtins/res/feed.diagram.d.ts +1 -2
- package/dist/builtins/res/feed.diagram.js +2 -2
- package/dist/builtins/res/feed.diagram.js.map +1 -1
- package/dist/builtins/res/feed.js +3 -1
- package/dist/builtins/res/feed.js.map +1 -1
- package/dist/builtins/res/feed.tree.d.ts +1 -1
- package/dist/builtins/res/feed.tree.js +1 -1
- package/dist/builtins/res/feed.tree.js.map +1 -1
- package/dist/builtins/res/files.d.ts +1 -1
- package/dist/builtins/res/files.js +1 -1
- package/dist/builtins/res/files.js.map +1 -1
- package/dist/builtins/res/gather.d.ts +1 -1
- package/dist/builtins/res/gather.js +1 -1
- package/dist/builtins/res/gather.js.map +1 -1
- package/dist/builtins/res/gather.store.js.map +1 -1
- package/dist/builtins/res/group.d.ts +1 -1
- package/dist/builtins/res/group.js +1 -1
- package/dist/builtins/res/group.js.map +1 -1
- package/dist/builtins/res/image.d.ts +1 -20
- package/dist/builtins/res/image.js +1 -2
- package/dist/builtins/res/image.js.map +1 -1
- package/dist/builtins/res/pipeline.d.ts +1 -1
- package/dist/builtins/res/pipeline.diagram.d.ts +1 -1
- package/dist/builtins/res/pipeline.diagram.js +2 -2
- package/dist/builtins/res/pipeline.diagram.js.map +1 -1
- package/dist/builtins/res/pipeline.js +3 -1
- package/dist/builtins/res/pipeline.js.map +1 -1
- package/dist/builtins/res/play.d.ts +1 -1
- package/dist/builtins/res/play.js +2 -1
- package/dist/builtins/res/play.js.map +1 -1
- package/dist/builtins/res/plugin.d.ts +1 -1
- package/dist/builtins/res/plugin.info.d.ts +1 -1
- package/dist/builtins/res/plugin.info.js +2 -1
- package/dist/builtins/res/plugin.info.js.map +1 -1
- package/dist/builtins/res/plugin.js +2 -2
- package/dist/builtins/res/plugin.js.map +1 -1
- package/dist/builtins/res/plugininstance.d.ts +1 -1
- package/dist/builtins/res/plugininstance.js +1 -1
- package/dist/builtins/res/plugininstance.js.map +1 -1
- package/dist/builtins/res/pluginmeta.d.ts +1 -1
- package/dist/builtins/res/pluginmeta.js +1 -1
- package/dist/builtins/res/pluginmeta.js.map +1 -1
- package/dist/builtins/res/record.d.ts +1 -1
- package/dist/builtins/res/record.js +1 -1
- package/dist/builtins/res/record.js.map +1 -1
- package/dist/builtins/res/tag.d.ts +1 -1
- package/dist/builtins/res/tag.js +1 -1
- package/dist/builtins/res/tag.js.map +1 -1
- package/dist/builtins/res/user.d.ts +1 -1
- package/dist/builtins/res/user.js +2 -1
- package/dist/builtins/res/user.js.map +1 -1
- package/dist/builtins/res/workflow.d.ts +1 -1
- package/dist/builtins/res/workflow.js +1 -1
- package/dist/builtins/res/workflow.js.map +1 -1
- package/dist/builtins/store.d.ts +1 -1
- package/dist/builtins/store.js +2 -1
- package/dist/builtins/store.js.map +1 -1
- package/dist/builtins/sys/cal.d.ts +1 -12
- package/dist/builtins/sys/cal.js +1 -1
- package/dist/builtins/sys/cal.js.map +1 -1
- package/dist/builtins/sys/context.d.ts +1 -1
- package/dist/builtins/sys/context.js +1 -1
- package/dist/builtins/sys/context.js.map +1 -1
- package/dist/builtins/sys/date.d.ts +1 -12
- package/dist/builtins/sys/date.js +1 -1
- package/dist/builtins/sys/date.js.map +1 -1
- package/dist/builtins/sys/fortune.d.ts +1 -11
- package/dist/builtins/sys/fortune.js +1 -1
- package/dist/builtins/sys/fortune.js.map +1 -1
- package/dist/builtins/sys/motd.d.ts +1 -18
- package/dist/builtins/sys/motd.js +3 -3
- package/dist/builtins/sys/motd.js.map +1 -1
- package/dist/builtins/sys/notes.d.ts +1 -2
- package/dist/builtins/sys/notes.js +1 -2
- package/dist/builtins/sys/notes.js.map +1 -1
- package/dist/builtins/sys/physicalmode.d.ts +1 -1
- package/dist/builtins/sys/physicalmode.js +1 -1
- package/dist/builtins/sys/physicalmode.js.map +1 -1
- package/dist/builtins/sys/timing.d.ts +1 -1
- package/dist/builtins/sys/timing.js +1 -1
- package/dist/builtins/sys/timing.js.map +1 -1
- package/dist/builtins/sys/version.d.ts +1 -7
- package/dist/builtins/sys/version.js +1 -1
- package/dist/builtins/sys/version.js.map +1 -1
- package/dist/builtins/sys/weather.d.ts +1 -1
- package/dist/builtins/sys/weather.js +1 -1
- package/dist/builtins/sys/weather.js.map +1 -1
- package/dist/builtins/sys/whoami.d.ts +1 -1
- package/dist/builtins/sys/whoami.js +2 -1
- package/dist/builtins/sys/whoami.js.map +1 -1
- package/dist/builtins/utils.d.ts +2 -19
- package/dist/builtins/utils.js +5 -55
- package/dist/builtins/utils.js.map +1 -1
- package/dist/builtins/wildcard.d.ts +4 -53
- package/dist/builtins/wildcard.js +3 -177
- package/dist/builtins/wildcard.js.map +1 -1
- package/dist/chris/backend.d.ts +22 -0
- package/dist/chris/backend.js +102 -0
- package/dist/chris/backend.js.map +1 -0
- package/dist/chris/binEntry.js.map +1 -0
- package/dist/chris/binMount.d.ts +60 -0
- package/dist/chris/binMount.js +154 -0
- package/dist/chris/binMount.js.map +1 -0
- package/dist/{core → chris}/chiliDelegate.d.ts +1 -1
- package/dist/{core → chris}/chiliDelegate.js +1 -1
- package/dist/chris/chiliDelegate.js.map +1 -0
- package/dist/chris/chrisCommands.d.ts +14 -0
- package/dist/chris/chrisCommands.js +168 -0
- package/dist/chris/chrisCommands.js.map +1 -0
- package/dist/chris/commandFallback.d.ts +3 -0
- package/dist/chris/commandFallback.js +113 -0
- package/dist/chris/commandFallback.js.map +1 -0
- package/dist/chris/completion.d.ts +3 -0
- package/dist/chris/completion.js +100 -0
- package/dist/chris/completion.js.map +1 -0
- package/dist/chris/connect.js.map +1 -0
- package/dist/chris/debug.d.ts +10 -0
- package/dist/chris/debug.js +9 -0
- package/dist/chris/debug.js.map +1 -0
- package/dist/chris/files.d.ts +16 -0
- package/dist/chris/files.js +178 -0
- package/dist/chris/files.js.map +1 -0
- package/dist/chris/filesystem.d.ts +3 -0
- package/dist/chris/filesystem.js +57 -0
- package/dist/chris/filesystem.js.map +1 -0
- package/dist/chris/help.d.ts +16 -0
- package/dist/chris/help.js +1197 -0
- package/dist/chris/help.js.map +1 -0
- package/dist/chris/jobsState.js.map +1 -0
- package/dist/chris/mounts.d.ts +7 -0
- package/dist/chris/mounts.js +34 -0
- package/dist/chris/mounts.js.map +1 -0
- package/dist/chris/navigation.d.ts +40 -0
- package/dist/chris/navigation.js +160 -0
- package/dist/chris/navigation.js.map +1 -0
- package/dist/{core → chris}/promptContext.d.ts +2 -2
- package/dist/{core → chris}/promptContext.js +3 -3
- package/dist/chris/promptContext.js.map +1 -0
- package/dist/chris/references.d.ts +14 -0
- package/dist/chris/references.js +113 -0
- package/dist/chris/references.js.map +1 -0
- package/dist/chris/tasks.d.ts +31 -0
- package/dist/chris/tasks.js +55 -0
- package/dist/chris/tasks.js.map +1 -0
- package/dist/chris/universeLayout.js.map +1 -0
- package/dist/chris/watch.d.ts +3 -0
- package/dist/chris/watch.js +15 -0
- package/dist/chris/watch.js.map +1 -0
- package/dist/core/answerKinds.d.ts +32 -0
- package/dist/core/answerKinds.js +56 -0
- package/dist/core/answerKinds.js.map +1 -0
- package/dist/core/backend.d.ts +274 -0
- package/dist/core/backend.js +32 -0
- package/dist/core/backend.js.map +1 -0
- package/dist/core/commandOrder.d.ts +16 -0
- package/dist/core/commandOrder.js +17 -0
- package/dist/core/commandOrder.js.map +1 -0
- package/dist/core/commandRegistry.d.ts +120 -0
- package/dist/core/commandRegistry.js +124 -0
- package/dist/core/commandRegistry.js.map +1 -0
- package/dist/core/coreCommands.d.ts +16 -0
- package/dist/core/coreCommands.js +159 -0
- package/dist/core/coreCommands.js.map +1 -0
- package/dist/core/dispatch.d.ts +2 -19
- package/dist/core/dispatch.js +86 -447
- package/dist/core/dispatch.js.map +1 -1
- package/dist/core/elevation.d.ts +5 -5
- package/dist/core/elevation.js +12 -7
- package/dist/core/elevation.js.map +1 -1
- package/dist/core/engine.d.ts +30 -18
- package/dist/core/engine.js +58 -116
- package/dist/core/engine.js.map +1 -1
- package/dist/core/errorText.d.ts +14 -0
- package/dist/core/errorText.js +26 -0
- package/dist/core/errorText.js.map +1 -0
- package/dist/core/expansion.d.ts +0 -2
- package/dist/core/expansion.js +43 -101
- package/dist/core/expansion.js.map +1 -1
- package/dist/core/fileRefusal.d.ts +4 -15
- package/dist/core/fileRefusal.js +4 -26
- package/dist/core/fileRefusal.js.map +1 -1
- package/dist/core/filesystem.d.ts +27 -0
- package/dist/core/filesystem.js +45 -0
- package/dist/core/filesystem.js.map +1 -0
- package/dist/core/handlerRun.d.ts +30 -0
- package/dist/core/handlerRun.js +34 -0
- package/dist/core/handlerRun.js.map +1 -0
- package/dist/core/paths.d.ts +18 -0
- package/dist/core/paths.js +49 -0
- package/dist/core/paths.js.map +1 -0
- package/dist/core/preprocess.d.ts +1 -1
- package/dist/core/preprocess.js +1 -1
- package/dist/core/preprocess.js.map +1 -1
- package/dist/core/sink.d.ts +1 -1
- package/dist/core/sink.js +0 -8
- package/dist/core/sink.js.map +1 -1
- package/dist/core/taskWatch.d.ts +42 -0
- package/dist/core/taskWatch.js +142 -0
- package/dist/core/taskWatch.js.map +1 -0
- package/dist/core/tasks.d.ts +46 -0
- package/dist/core/tasks.js +102 -0
- package/dist/core/tasks.js.map +1 -0
- package/dist/core.d.ts +22 -0
- package/dist/core.js +23 -0
- package/dist/core.js.map +1 -0
- package/dist/index.d.ts +8 -5
- package/dist/index.js +17 -5
- package/dist/index.js.map +1 -1
- package/dist/lib/completer/index.js +41 -99
- package/dist/lib/completer/index.js.map +1 -1
- package/dist/lib/prefetch.js +2 -2
- package/dist/lib/prefetch.js.map +1 -1
- package/dist/lib/vfs/listing.d.ts +1 -1
- package/dist/lib/vfs/providers/static.d.ts +15 -6
- package/dist/lib/vfs/providers/static.js +20 -43
- package/dist/lib/vfs/providers/static.js.map +1 -1
- package/dist/lib/vfs/providers/static_content.d.ts +4 -4
- package/dist/lib/vfs/providers/static_content.js +4 -24
- package/dist/lib/vfs/providers/static_content.js.map +1 -1
- package/dist/lib/vfs/vfs.d.ts +11 -2
- package/dist/lib/vfs/vfs.js +90 -51
- package/dist/lib/vfs/vfs.js.map +1 -1
- package/dist/lib/wildcard.d.ts +57 -0
- package/dist/lib/wildcard.js +183 -0
- package/dist/lib/wildcard.js.map +1 -0
- package/dist/notes.json +1 -1
- package/dist/null/backend.d.ts +29 -0
- package/dist/null/backend.js +41 -0
- package/dist/null/backend.js.map +1 -0
- package/dist/session/answer.d.ts +4 -4
- package/dist/session/answer.js +0 -2
- package/dist/session/answer.js.map +1 -1
- package/dist/session/index.d.ts +12 -10
- package/dist/session/index.js +9 -38
- package/dist/session/index.js.map +1 -1
- package/package.json +13 -7
- package/dist/builtins/fs/folderExists.d.ts +0 -8
- package/dist/builtins/fs/folderExists.js +0 -67
- package/dist/builtins/fs/folderExists.js.map +0 -1
- package/dist/command-keys.d.ts +0 -8
- package/dist/command-keys.js +0 -37
- package/dist/command-keys.js.map +0 -1
- package/dist/core/chiliDelegate.js.map +0 -1
- package/dist/core/connect.js.map +0 -1
- package/dist/core/jobsState.js.map +0 -1
- package/dist/core/promptContext.js.map +0 -1
- package/dist/lib/vfs/providers/binEntry.js.map +0 -1
- package/dist/universe/universeLayout.js.map +0 -1
- /package/dist/{lib/vfs/providers → chris}/binEntry.d.ts +0 -0
- /package/dist/{lib/vfs/providers → chris}/binEntry.js +0 -0
- /package/dist/{core → chris}/connect.d.ts +0 -0
- /package/dist/{core → chris}/connect.js +0 -0
- /package/dist/{core → chris}/jobsState.d.ts +0 -0
- /package/dist/{core → chris}/jobsState.js +0 -0
- /package/dist/{universe → chris}/universeLayout.d.ts +0 -0
- /package/dist/{universe → chris}/universeLayout.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/chris/backend.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binEntry.js","sourceRoot":"","sources":["../../src/chris/binEntry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,SAAS,CAAC;AAW3C;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,WAAmB;IACxD,MAAM,OAAO,GAA4B,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACxE,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAElC,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC,SAAS,CAAmB,MAAM,CAAC,CAAC;IACnE,MAAM,KAAK,GAA+B,MAAM,EAAE,IAAI,CAAC,IAAI,CACzD,CAAC,SAAyB,EAAW,EAAE,CACrC,SAAS,CAAC,IAAI,KAAK,UAAU,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,CAClE,CAAC;IACF,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAExD,OAAO;QACL,OAAO,EAAE,WAAW;QACpB,UAAU,EAAE,KAAK,EAAE,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,EAAE,KAAK,EAAE,KAAK;KACnB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAA2B;IACnE,OAAO,QAAQ,CAAC;QACd,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,OAAO,CAAC,UAAU;QAC/B,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QAC7D,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ,EAAE,qBAAqB,OAAO,CAAC,OAAO,EAAE;KACjD,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACtC,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file `/bin` in a ChRIS session: CUBE's plugins and pipelines, as executables.
|
|
3
|
+
*
|
|
4
|
+
* Listing it reads the plugins and pipelines CUBE holds; reading an entry
|
|
5
|
+
* gives a plugin's manual or a pipeline's summary. Nothing here writes or
|
|
6
|
+
* copies.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
10
|
+
import { type VfsOutcome } from '@fnndsc/fond';
|
|
11
|
+
import { Result, type VFSProvider, type VFSItem, type CpOptions } from '@fnndsc/fond';
|
|
12
|
+
/** `/bin`: CUBE's plugins and pipelines. */
|
|
13
|
+
export declare class BinVfsProvider implements VFSProvider {
|
|
14
|
+
/** The prefix this provider handles. */
|
|
15
|
+
prefix: string;
|
|
16
|
+
/**
|
|
17
|
+
* Lists the plugins (as `name-vVERSION`) and the pipelines (by slug).
|
|
18
|
+
*
|
|
19
|
+
* @param pathStr - The absolute path.
|
|
20
|
+
* @param options - Sort controls.
|
|
21
|
+
* @returns The executables.
|
|
22
|
+
*/
|
|
23
|
+
list(pathStr: string, options?: {
|
|
24
|
+
sort?: "name" | "size" | "date" | "owner";
|
|
25
|
+
reverse?: boolean;
|
|
26
|
+
}): Promise<Result<VFSItem[]>>;
|
|
27
|
+
/** @inheritdoc */
|
|
28
|
+
cp(src: string, dest: string, options: CpOptions): Promise<VfsOutcome>;
|
|
29
|
+
/**
|
|
30
|
+
* Refuses to copy from `/bin`.
|
|
31
|
+
*
|
|
32
|
+
* @param src - Source path.
|
|
33
|
+
* @param dest - Destination path.
|
|
34
|
+
* @param options - Copy options.
|
|
35
|
+
* @returns False, always.
|
|
36
|
+
*/
|
|
37
|
+
private copy_run;
|
|
38
|
+
/** @inheritdoc */
|
|
39
|
+
rm(): Promise<VfsOutcome>;
|
|
40
|
+
/** @inheritdoc */
|
|
41
|
+
rmTree(): Promise<VfsOutcome>;
|
|
42
|
+
/** @inheritdoc */
|
|
43
|
+
read(pathStr: string): Promise<VfsOutcome<string>>;
|
|
44
|
+
/**
|
|
45
|
+
* Reads an entry: a pipeline's summary, or a plugin's manual.
|
|
46
|
+
*
|
|
47
|
+
* @param pathStr - The absolute path of the entry.
|
|
48
|
+
* @returns The text.
|
|
49
|
+
*/
|
|
50
|
+
private text_read;
|
|
51
|
+
/** @inheritdoc */
|
|
52
|
+
readBinary(pathStr: string): Promise<VfsOutcome<Buffer>>;
|
|
53
|
+
/**
|
|
54
|
+
* Reads an entry as bytes.
|
|
55
|
+
*
|
|
56
|
+
* @param pathStr - The absolute path of the entry.
|
|
57
|
+
* @returns The text's bytes.
|
|
58
|
+
*/
|
|
59
|
+
private bytes_read;
|
|
60
|
+
}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file `/bin` in a ChRIS session: CUBE's plugins and pipelines, as executables.
|
|
3
|
+
*
|
|
4
|
+
* Listing it reads the plugins and pipelines CUBE holds; reading an entry
|
|
5
|
+
* gives a plugin's manual or a pipeline's summary. Nothing here writes or
|
|
6
|
+
* copies.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
10
|
+
import { vfs_fail, vfsOutcome_ofBoolean, vfsOutcome_ofResult } from '@fnndsc/fond';
|
|
11
|
+
import { plugins_listAll, pipelines_getAll } from '@fnndsc/salsa';
|
|
12
|
+
import { Ok, Err, errorStack, vfsItems_sort } from '@fnndsc/fond';
|
|
13
|
+
import { pluginInfo_build, pluginInfoText_render, pluginSpecifier_parse, } from '../builtins/res/plugin.info.js';
|
|
14
|
+
import { binPipelineSummary_render, binPipelineSummary_try } from './binEntry.js';
|
|
15
|
+
/** `/bin`: CUBE's plugins and pipelines. */
|
|
16
|
+
export class BinVfsProvider {
|
|
17
|
+
/** The prefix this provider handles. */
|
|
18
|
+
prefix = '/bin';
|
|
19
|
+
/**
|
|
20
|
+
* Lists the plugins (as `name-vVERSION`) and the pipelines (by slug).
|
|
21
|
+
*
|
|
22
|
+
* @param pathStr - The absolute path.
|
|
23
|
+
* @param options - Sort controls.
|
|
24
|
+
* @returns The executables.
|
|
25
|
+
*/
|
|
26
|
+
async list(pathStr, options) {
|
|
27
|
+
try {
|
|
28
|
+
let effectivePath = pathStr.startsWith("/") ? pathStr : "/" + pathStr;
|
|
29
|
+
if (effectivePath.length > 1 && effectivePath.endsWith("/")) {
|
|
30
|
+
effectivePath = effectivePath.slice(0, -1);
|
|
31
|
+
}
|
|
32
|
+
if (effectivePath !== "/bin")
|
|
33
|
+
return Ok([]);
|
|
34
|
+
const [plugins, pipelinesResult] = await Promise.all([
|
|
35
|
+
plugins_listAll({}),
|
|
36
|
+
pipelines_getAll(),
|
|
37
|
+
]);
|
|
38
|
+
const items = [];
|
|
39
|
+
if (plugins && plugins.tableData) {
|
|
40
|
+
plugins.tableData.forEach((plugin) => {
|
|
41
|
+
const pluginName = typeof plugin.name === 'string' ? plugin.name : String(plugin.name);
|
|
42
|
+
const pluginVersion = typeof plugin.version === 'string' ? plugin.version : String(plugin.version || '');
|
|
43
|
+
const displayName = pluginVersion ? `${pluginName}-v${pluginVersion}` : pluginName;
|
|
44
|
+
items.push({
|
|
45
|
+
name: displayName,
|
|
46
|
+
type: "plugin",
|
|
47
|
+
size: 0,
|
|
48
|
+
owner: "system",
|
|
49
|
+
date: typeof plugin.creation_date === 'string' ? plugin.creation_date : '',
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
if (pipelinesResult.ok) {
|
|
54
|
+
pipelinesResult.value.forEach((pipeline) => {
|
|
55
|
+
const slug = typeof pipeline.slug === 'string' ? pipeline.slug : pipeline.name.replace(/\s+/g, '_');
|
|
56
|
+
items.push({
|
|
57
|
+
name: slug,
|
|
58
|
+
type: "pipeline",
|
|
59
|
+
size: 0,
|
|
60
|
+
owner: typeof pipeline.authors === 'string' ? pipeline.authors : 'system',
|
|
61
|
+
date: '',
|
|
62
|
+
title: pipeline.name,
|
|
63
|
+
id: pipeline.id,
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
const sorted = vfsItems_sort(items, options?.sort, options?.reverse);
|
|
68
|
+
return Ok(sorted);
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
72
|
+
errorStack.stack_push("error", `Static VFS list failed for prefix ${this.prefix}: ${msg}`);
|
|
73
|
+
return Err();
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/** @inheritdoc */
|
|
77
|
+
async cp(src, dest, options) {
|
|
78
|
+
return vfsOutcome_ofBoolean(await this.copy_run(src, dest, options), 'EROFS');
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Refuses to copy from `/bin`.
|
|
82
|
+
*
|
|
83
|
+
* @param src - Source path.
|
|
84
|
+
* @param dest - Destination path.
|
|
85
|
+
* @param options - Copy options.
|
|
86
|
+
* @returns False, always.
|
|
87
|
+
*/
|
|
88
|
+
async copy_run(src, dest, options) {
|
|
89
|
+
errorStack.stack_push("error", `cp: Copying from static VFS path '${src}' is not supported.`);
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
/** @inheritdoc */
|
|
93
|
+
async rm() {
|
|
94
|
+
return vfs_fail('EROFS', 'virtual /bin directory');
|
|
95
|
+
}
|
|
96
|
+
/** @inheritdoc */
|
|
97
|
+
async rmTree() {
|
|
98
|
+
return vfs_fail('EROFS', 'virtual /bin directory');
|
|
99
|
+
}
|
|
100
|
+
/** @inheritdoc */
|
|
101
|
+
async read(pathStr) {
|
|
102
|
+
return vfsOutcome_ofResult(await this.text_read(pathStr), 'ENOENT');
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Reads an entry: a pipeline's summary, or a plugin's manual.
|
|
106
|
+
*
|
|
107
|
+
* @param pathStr - The absolute path of the entry.
|
|
108
|
+
* @returns The text.
|
|
109
|
+
*/
|
|
110
|
+
async text_read(pathStr) {
|
|
111
|
+
try {
|
|
112
|
+
let effectivePath = pathStr.startsWith("/") ? pathStr : "/" + pathStr;
|
|
113
|
+
if (effectivePath.length > 1 && effectivePath.endsWith("/")) {
|
|
114
|
+
effectivePath = effectivePath.slice(0, -1);
|
|
115
|
+
}
|
|
116
|
+
const commandName = effectivePath.substring("/bin/".length);
|
|
117
|
+
const pipelineSummary = binPipelineSummary_try(commandName);
|
|
118
|
+
if (pipelineSummary !== null)
|
|
119
|
+
return Ok(binPipelineSummary_render(pipelineSummary));
|
|
120
|
+
const specifier = pluginSpecifier_parse(commandName);
|
|
121
|
+
if (specifier === null) {
|
|
122
|
+
errorStack.stack_push("error", `Unknown /bin entry: ${commandName}`);
|
|
123
|
+
return Err();
|
|
124
|
+
}
|
|
125
|
+
// The manual is a projection of the plugin model — the same facts
|
|
126
|
+
// `plugin info` puts on the wire, so a terminal and a graphical
|
|
127
|
+
// surface cannot end up describing different plugins.
|
|
128
|
+
const built = await pluginInfo_build(specifier);
|
|
129
|
+
if (!built.ok)
|
|
130
|
+
return Err();
|
|
131
|
+
return Ok(pluginInfoText_render(built.value));
|
|
132
|
+
}
|
|
133
|
+
catch (error) {
|
|
134
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
135
|
+
errorStack.stack_push("error", `Static VFS read failed for prefix ${this.prefix}: ${msg}`);
|
|
136
|
+
return Err();
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
/** @inheritdoc */
|
|
140
|
+
async readBinary(pathStr) {
|
|
141
|
+
return vfsOutcome_ofResult(await this.bytes_read(pathStr), 'ENOENT');
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Reads an entry as bytes.
|
|
145
|
+
*
|
|
146
|
+
* @param pathStr - The absolute path of the entry.
|
|
147
|
+
* @returns The text's bytes.
|
|
148
|
+
*/
|
|
149
|
+
async bytes_read(pathStr) {
|
|
150
|
+
const res = await this.read(pathStr);
|
|
151
|
+
return res.ok ? Ok(Buffer.from(res.value, "utf-8")) : Err();
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=binMount.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binMount.js","sourceRoot":"","sources":["../../src/chris/binMount.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*
|
|
9
9
|
* @module
|
|
10
10
|
*/
|
|
11
|
-
import { type CommandEnvelope } from '@fnndsc/
|
|
11
|
+
import { type CommandEnvelope } from '@fnndsc/menu';
|
|
12
12
|
/**
|
|
13
13
|
* Whether chili has a top-level command by this name. Used to decide whether an
|
|
14
14
|
* unknown chell command is worth delegating: a name chili does not know (a typo,
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import chalk from 'chalk';
|
|
12
12
|
import { run_capture, commandNames_get } from '@fnndsc/chili/run.js';
|
|
13
|
-
import { envelope_ok, envelope_error } from '@fnndsc/
|
|
13
|
+
import { envelope_ok, envelope_error } from '@fnndsc/menu';
|
|
14
14
|
/** chili's top-level command names, resolved once and memoized (see {@link chiliCommand_exists}). */
|
|
15
15
|
let chiliCommandNames = null;
|
|
16
16
|
/**
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chiliDelegate.js","sourceRoot":"","sources":["../../src/chris/chiliDelegate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAwB,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEjF,qGAAqG;AACrG,IAAI,iBAAiB,GAAuB,IAAI,CAAC;AAEjD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAAe;IACvD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,iBAAiB,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAC/C,CAAC;IACD,OAAO,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACxC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CAAC,OAAe;IACzD,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,0BAA0B,OAAO,0BAA0B,CAAC,IAAI,CAAC;AAC1F,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAe,EAAE,IAAc;IACpE,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,WAAW,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAoB,WAAW,CAAC,GAAG,CAAC,CAAC;QACnD,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,QAAQ,CAAC,WAAW,GAAG,GAAG,CAAC;QAC7B,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,MAAM,OAAO,GAAW,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACnE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,kBAAkB,OAAO,aAAa,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;IAC1G,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file The ChRIS backend's commands: everything that speaks CUBE — identity
|
|
3
|
+
* and connection, sharing and attributes, the resources (feeds, plugins,
|
|
4
|
+
* instances, workflows, compute, groups, users, tags), PACS and DICOM, `/proc`,
|
|
5
|
+
* upload and download, and the store.
|
|
6
|
+
*
|
|
7
|
+
* Registered by brasa's package entry (`index.ts`), not by the engine's core:
|
|
8
|
+
* the core dispatches whatever is registered and imports none of this.
|
|
9
|
+
*
|
|
10
|
+
* @module
|
|
11
|
+
*/
|
|
12
|
+
import { type CommandGroup } from '../core/commandRegistry.js';
|
|
13
|
+
/** The ChRIS backend commands: their handlers. Their help is registered from `builtins/help.ts`, which holds it. */
|
|
14
|
+
export declare const chrisCommands: CommandGroup;
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { builtin_chrisfetch, builtin_ping } from '../builtins/games/chrislab.js';
|
|
2
|
+
import { builtin_chmod, builtin_compute, builtin_config, builtin_connect, builtin_context, builtin_cubepath, builtin_dcm, builtin_dirs, builtin_download, builtin_feed, builtin_files, builtin_gather, builtin_getfacl, builtin_getfattr, builtin_group, builtin_id, builtin_image, builtin_links, builtin_logout, builtin_pacs, builtin_parametersofplugin, builtin_physicalmode, builtin_pipeline, builtin_plugin, builtin_plugininstance, builtin_pluginmeta, builtin_pull, builtin_query, builtin_setfacl, builtin_setfattr, builtin_store, builtin_tag, builtin_upload, builtin_user, builtin_whereami, builtin_whoami, builtin_workflow } from '../builtins/index.js';
|
|
3
|
+
import { builtin_netstat } from '../builtins/net/netstat.js';
|
|
4
|
+
import { builtin_proc } from '../builtins/proc.js';
|
|
5
|
+
import { chiliCommand_run } from './chiliDelegate.js';
|
|
6
|
+
import { envelopeHandler_wrap } from '../core/sink.js';
|
|
7
|
+
import { builtin_file, builtin_md5sum, builtin_sha256sum, builtin_strings, builtin_xxd } from '../builtins/games/bytes.js';
|
|
8
|
+
import { builtin_du } from '../builtins/fs/du.js';
|
|
9
|
+
import { builtin_edit } from '../builtins/fs/edit.js';
|
|
10
|
+
import { builtin_tree } from '../builtins/fs/tree.js';
|
|
11
|
+
import { builtin_expect } from '../builtins/res/expect.js';
|
|
12
|
+
import { builtin_play } from '../builtins/res/play.js';
|
|
13
|
+
import { builtin_record } from '../builtins/res/record.js';
|
|
14
|
+
import { builtin_motd } from '../builtins/sys/motd.js';
|
|
15
|
+
import { chrisHelp } from './help.js';
|
|
16
|
+
const envelope = {
|
|
17
|
+
setfacl: builtin_setfacl,
|
|
18
|
+
getfacl: builtin_getfacl,
|
|
19
|
+
chmod: builtin_chmod,
|
|
20
|
+
setfattr: builtin_setfattr,
|
|
21
|
+
getfattr: builtin_getfattr,
|
|
22
|
+
netstat: builtin_netstat,
|
|
23
|
+
id: builtin_id,
|
|
24
|
+
whoami: builtin_whoami,
|
|
25
|
+
whereami: builtin_whereami,
|
|
26
|
+
physicalmode: builtin_physicalmode,
|
|
27
|
+
ping: builtin_ping,
|
|
28
|
+
chrisfetch: builtin_chrisfetch,
|
|
29
|
+
proc: builtin_proc,
|
|
30
|
+
logout: builtin_logout,
|
|
31
|
+
cubepath: builtin_cubepath,
|
|
32
|
+
dcm: builtin_dcm,
|
|
33
|
+
image: builtin_image,
|
|
34
|
+
query: builtin_query,
|
|
35
|
+
feed: builtin_feed,
|
|
36
|
+
feeds: builtin_feed,
|
|
37
|
+
compute: builtin_compute,
|
|
38
|
+
computes: builtin_compute,
|
|
39
|
+
tag: builtin_tag,
|
|
40
|
+
tags: builtin_tag,
|
|
41
|
+
gather: builtin_gather,
|
|
42
|
+
group: builtin_group,
|
|
43
|
+
groups: builtin_group,
|
|
44
|
+
user: builtin_user,
|
|
45
|
+
users: builtin_user,
|
|
46
|
+
pluginmeta: builtin_pluginmeta,
|
|
47
|
+
pluginmetas: builtin_pluginmeta,
|
|
48
|
+
meta: builtin_pluginmeta,
|
|
49
|
+
metas: builtin_pluginmeta,
|
|
50
|
+
plugininstance: builtin_plugininstance,
|
|
51
|
+
plugininstances: builtin_plugininstance,
|
|
52
|
+
instance: builtin_plugininstance,
|
|
53
|
+
instances: builtin_plugininstance,
|
|
54
|
+
job: builtin_plugininstance,
|
|
55
|
+
jobs: builtin_plugininstance,
|
|
56
|
+
workflow: builtin_workflow,
|
|
57
|
+
workflows: builtin_workflow,
|
|
58
|
+
files: builtin_files,
|
|
59
|
+
links: builtin_links,
|
|
60
|
+
dirs: builtin_dirs,
|
|
61
|
+
context: builtin_context,
|
|
62
|
+
parametersofplugin: builtin_parametersofplugin,
|
|
63
|
+
plugin: builtin_plugin,
|
|
64
|
+
plugins: builtin_plugin,
|
|
65
|
+
pacsservers: (args) => chiliCommand_run('pacsservers', ['-s', ...args]),
|
|
66
|
+
pacsqueries: (args) => chiliCommand_run('pacsqueries', ['-s', ...args]),
|
|
67
|
+
pacsretrieve: (args) => chiliCommand_run('pacsretrieve', ['-s', ...args]),
|
|
68
|
+
connect: builtin_connect,
|
|
69
|
+
upload: builtin_upload,
|
|
70
|
+
download: builtin_download,
|
|
71
|
+
store: builtin_store,
|
|
72
|
+
config: builtin_config,
|
|
73
|
+
pacs: builtin_pacs,
|
|
74
|
+
pull: builtin_pull,
|
|
75
|
+
pipeline: builtin_pipeline,
|
|
76
|
+
pipelines: builtin_pipeline,
|
|
77
|
+
file: builtin_file,
|
|
78
|
+
xxd: builtin_xxd,
|
|
79
|
+
strings: builtin_strings,
|
|
80
|
+
sha256sum: builtin_sha256sum,
|
|
81
|
+
md5sum: builtin_md5sum,
|
|
82
|
+
motd: builtin_motd,
|
|
83
|
+
tree: builtin_tree,
|
|
84
|
+
du: builtin_du,
|
|
85
|
+
expect: builtin_expect,
|
|
86
|
+
play: builtin_play,
|
|
87
|
+
record: builtin_record,
|
|
88
|
+
edit: builtin_edit,
|
|
89
|
+
};
|
|
90
|
+
const plain = {
|
|
91
|
+
connect: envelopeHandler_wrap(builtin_connect),
|
|
92
|
+
logout: envelopeHandler_wrap(builtin_logout),
|
|
93
|
+
netstat: envelopeHandler_wrap(builtin_netstat),
|
|
94
|
+
setfacl: envelopeHandler_wrap(builtin_setfacl),
|
|
95
|
+
getfacl: envelopeHandler_wrap(builtin_getfacl),
|
|
96
|
+
chmod: envelopeHandler_wrap(builtin_chmod),
|
|
97
|
+
setfattr: envelopeHandler_wrap(builtin_setfattr),
|
|
98
|
+
getfattr: envelopeHandler_wrap(builtin_getfattr),
|
|
99
|
+
upload: envelopeHandler_wrap(builtin_upload),
|
|
100
|
+
pacs: envelopeHandler_wrap(builtin_pacs),
|
|
101
|
+
pipeline: envelopeHandler_wrap(builtin_pipeline),
|
|
102
|
+
pipelines: envelopeHandler_wrap(builtin_pipeline),
|
|
103
|
+
pull: envelopeHandler_wrap(builtin_pull),
|
|
104
|
+
query: envelopeHandler_wrap(builtin_query),
|
|
105
|
+
cubepath: envelopeHandler_wrap(builtin_cubepath),
|
|
106
|
+
dcm: envelopeHandler_wrap(builtin_dcm),
|
|
107
|
+
image: envelopeHandler_wrap(builtin_image),
|
|
108
|
+
download: envelopeHandler_wrap(builtin_download),
|
|
109
|
+
config: envelopeHandler_wrap(builtin_config),
|
|
110
|
+
context: envelopeHandler_wrap(builtin_context),
|
|
111
|
+
parametersofplugin: envelopeHandler_wrap(builtin_parametersofplugin),
|
|
112
|
+
physicalmode: envelopeHandler_wrap(builtin_physicalmode),
|
|
113
|
+
id: envelopeHandler_wrap(builtin_id),
|
|
114
|
+
whoami: envelopeHandler_wrap(builtin_whoami),
|
|
115
|
+
whereami: envelopeHandler_wrap(builtin_whereami),
|
|
116
|
+
ping: envelopeHandler_wrap(builtin_ping),
|
|
117
|
+
chrisfetch: envelopeHandler_wrap(builtin_chrisfetch),
|
|
118
|
+
proc: envelopeHandler_wrap(builtin_proc),
|
|
119
|
+
store: envelopeHandler_wrap(builtin_store),
|
|
120
|
+
plugin: envelopeHandler_wrap(builtin_plugin),
|
|
121
|
+
plugins: envelopeHandler_wrap(builtin_plugin),
|
|
122
|
+
feed: envelopeHandler_wrap(builtin_feed),
|
|
123
|
+
feeds: envelopeHandler_wrap(builtin_feed),
|
|
124
|
+
compute: envelopeHandler_wrap(builtin_compute),
|
|
125
|
+
computes: envelopeHandler_wrap(builtin_compute),
|
|
126
|
+
tag: envelopeHandler_wrap(builtin_tag),
|
|
127
|
+
tags: envelopeHandler_wrap(builtin_tag),
|
|
128
|
+
gather: envelopeHandler_wrap(builtin_gather),
|
|
129
|
+
group: envelopeHandler_wrap(builtin_group),
|
|
130
|
+
groups: envelopeHandler_wrap(builtin_group),
|
|
131
|
+
pluginmeta: envelopeHandler_wrap(builtin_pluginmeta),
|
|
132
|
+
pluginmetas: envelopeHandler_wrap(builtin_pluginmeta),
|
|
133
|
+
meta: envelopeHandler_wrap(builtin_pluginmeta),
|
|
134
|
+
metas: envelopeHandler_wrap(builtin_pluginmeta),
|
|
135
|
+
plugininstance: envelopeHandler_wrap(builtin_plugininstance),
|
|
136
|
+
plugininstances: envelopeHandler_wrap(builtin_plugininstance),
|
|
137
|
+
instance: envelopeHandler_wrap(builtin_plugininstance),
|
|
138
|
+
instances: envelopeHandler_wrap(builtin_plugininstance),
|
|
139
|
+
job: envelopeHandler_wrap(builtin_plugininstance),
|
|
140
|
+
jobs: envelopeHandler_wrap(builtin_plugininstance),
|
|
141
|
+
workflow: envelopeHandler_wrap(builtin_workflow),
|
|
142
|
+
workflows: envelopeHandler_wrap(builtin_workflow),
|
|
143
|
+
files: envelopeHandler_wrap(builtin_files),
|
|
144
|
+
links: envelopeHandler_wrap(builtin_links),
|
|
145
|
+
dirs: envelopeHandler_wrap(builtin_dirs),
|
|
146
|
+
pacsservers: envelopeHandler_wrap((args) => chiliCommand_run('pacsservers', ['-s', ...args])),
|
|
147
|
+
pacsqueries: envelopeHandler_wrap((args) => chiliCommand_run('pacsqueries', ['-s', ...args])),
|
|
148
|
+
pacsretrieve: envelopeHandler_wrap((args) => chiliCommand_run('pacsretrieve', ['-s', ...args])),
|
|
149
|
+
edit: envelopeHandler_wrap(builtin_edit),
|
|
150
|
+
file: envelopeHandler_wrap(builtin_file),
|
|
151
|
+
xxd: envelopeHandler_wrap(builtin_xxd),
|
|
152
|
+
strings: envelopeHandler_wrap(builtin_strings),
|
|
153
|
+
sha256sum: envelopeHandler_wrap(builtin_sha256sum),
|
|
154
|
+
md5sum: envelopeHandler_wrap(builtin_md5sum),
|
|
155
|
+
motd: envelopeHandler_wrap(builtin_motd),
|
|
156
|
+
tree: envelopeHandler_wrap(builtin_tree),
|
|
157
|
+
du: envelopeHandler_wrap(builtin_du),
|
|
158
|
+
expect: envelopeHandler_wrap(builtin_expect),
|
|
159
|
+
play: envelopeHandler_wrap(builtin_play),
|
|
160
|
+
record: envelopeHandler_wrap(builtin_record),
|
|
161
|
+
};
|
|
162
|
+
/** The ChRIS backend commands: their handlers. Their help is registered from `builtins/help.ts`, which holds it. */
|
|
163
|
+
export const chrisCommands = {
|
|
164
|
+
envelope,
|
|
165
|
+
plain,
|
|
166
|
+
help: chrisHelp,
|
|
167
|
+
};
|
|
168
|
+
//# sourceMappingURL=chrisCommands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chrisCommands.js","sourceRoot":"","sources":["../../src/chris/chrisCommands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { envelope_deliver, sink_get } from '../core/sink.js';
|
|
2
|
+
import { exitCode_read, handler_runDirect } from '../core/handlerRun.js';
|
|
3
|
+
import { vfs } from '../lib/vfs/vfs.js';
|
|
4
|
+
import { builtin_pipeline } from '../builtins/res/pipeline.js';
|
|
5
|
+
import { builtin_executePlugin } from '../builtins/pluginExecute.js';
|
|
6
|
+
import { pluginExecutable_handle } from '../builtins/executable.js';
|
|
7
|
+
import { pipelineExecutableHelp_render, pluginExecutableHelp_render } from '../builtins/help.js';
|
|
8
|
+
import { chiliCommand_run, chiliCommand_exists, chiliDelegationNotice_build } from './chiliDelegate.js';
|
|
9
|
+
/**
|
|
10
|
+
* Handles a pipeline name invoked directly as an executable from /bin.
|
|
11
|
+
* Routes flag combinations to the appropriate pipeline subcommand:
|
|
12
|
+
* --diagram → pipeline diagram (preserving renderer flags)
|
|
13
|
+
* --signalflow → pipeline diagram --signalflow
|
|
14
|
+
* --help / -h → contextual pipeline-executable help
|
|
15
|
+
* --nodes / --parameters → pipeline info
|
|
16
|
+
* --manifest → pipeline manifest
|
|
17
|
+
* --source / --readme → pipeline source
|
|
18
|
+
* (bare or --compute) → pipeline run
|
|
19
|
+
*
|
|
20
|
+
* @param name - The pipeline name as typed.
|
|
21
|
+
* @param args - Arguments following the pipeline name.
|
|
22
|
+
* @returns The pipeline builtin's envelope, preserving diagram models and text.
|
|
23
|
+
*/
|
|
24
|
+
async function pipelineExecutable_handle(name, args) {
|
|
25
|
+
const exitCodeBefore = exitCode_read();
|
|
26
|
+
let envelope;
|
|
27
|
+
if (args.includes('--help') || args.includes('-h')) {
|
|
28
|
+
envelope = { status: 'ok', rendered: pipelineExecutableHelp_render(name) };
|
|
29
|
+
}
|
|
30
|
+
else if (args.includes('--diagram')) {
|
|
31
|
+
const diagramArgs = args.filter((argument) => argument !== '--diagram');
|
|
32
|
+
envelope = await builtin_pipeline(['diagram', name, ...diagramArgs]);
|
|
33
|
+
}
|
|
34
|
+
else if (args.includes('--signalflow')) {
|
|
35
|
+
envelope = await builtin_pipeline(['diagram', name, '--signalflow']);
|
|
36
|
+
}
|
|
37
|
+
else if (args.includes('--manifest')) {
|
|
38
|
+
envelope = await builtin_pipeline(['manifest', name]);
|
|
39
|
+
}
|
|
40
|
+
else if (args.includes('--nodes') || args.includes('--parameters')) {
|
|
41
|
+
envelope = await builtin_pipeline(['info', name]);
|
|
42
|
+
}
|
|
43
|
+
else if (args.includes('--source') || args.includes('--readme')) {
|
|
44
|
+
envelope = await builtin_pipeline(['source', name]);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
envelope = await builtin_pipeline(['run', name, ...args]);
|
|
48
|
+
}
|
|
49
|
+
const result = envelope ?? { status: 'ok', rendered: '' };
|
|
50
|
+
const exitCodeAfter = exitCode_read();
|
|
51
|
+
if (exitCodeAfter !== 0 && exitCodeAfter !== exitCodeBefore)
|
|
52
|
+
result.status = 'error';
|
|
53
|
+
return result;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Finds exact plugin and pipeline executable matches in the virtual `/bin`.
|
|
57
|
+
*
|
|
58
|
+
* @param command - Executable name as typed.
|
|
59
|
+
* @returns Matching dynamic executable entries, if the listing is available.
|
|
60
|
+
*/
|
|
61
|
+
async function binExecutableMatches_get(command) {
|
|
62
|
+
const binResult = await vfs.data_get('/bin');
|
|
63
|
+
if (!binResult.ok) {
|
|
64
|
+
return { plugin: undefined, pipeline: undefined };
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
plugin: binResult.value.find((item) => item.name === command && item.type === 'plugin'),
|
|
68
|
+
pipeline: binResult.value.find((item) => item.name === command && item.type === 'pipeline'),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Hands a word to chili when chili has it, with the hand-off notice on the
|
|
73
|
+
* live sink first, so it appears ahead of chili's (possibly slow) output.
|
|
74
|
+
*
|
|
75
|
+
* @param command - The word.
|
|
76
|
+
* @param args - Its arguments.
|
|
77
|
+
* @returns chili's delivered envelope, or null when chili has no such command.
|
|
78
|
+
*/
|
|
79
|
+
async function chili_delegate(command, args) {
|
|
80
|
+
if (!(await chiliCommand_exists(command)))
|
|
81
|
+
return null;
|
|
82
|
+
sink_get().data_write(chiliDelegationNotice_build(command));
|
|
83
|
+
const chiliEnvelope = await chiliCommand_run(command, ['-s', ...args]);
|
|
84
|
+
envelope_deliver(chiliEnvelope);
|
|
85
|
+
return chiliEnvelope;
|
|
86
|
+
}
|
|
87
|
+
/** The ChRIS backend's fallback. */
|
|
88
|
+
export const chrisFallback = {
|
|
89
|
+
claim: pluginExecutable_handle,
|
|
90
|
+
unknown: async (command, args, captured) => {
|
|
91
|
+
const binMatches = await binExecutableMatches_get(command);
|
|
92
|
+
// A bare /bin plugin name runs the plugin, and a run is a CUBE job: typed
|
|
93
|
+
// at the prompt it starts one; inside a pipe or a redirect it does not, so
|
|
94
|
+
// a pipeline of words never starts a job as a side effect.
|
|
95
|
+
if (!captured && binMatches.plugin) {
|
|
96
|
+
return handler_runDirect((pluginArgs) => builtin_executePlugin(command, pluginArgs), args);
|
|
97
|
+
}
|
|
98
|
+
if (binMatches.pipeline) {
|
|
99
|
+
const envelope = await pipelineExecutable_handle(command, args);
|
|
100
|
+
envelope_deliver(envelope);
|
|
101
|
+
return envelope;
|
|
102
|
+
}
|
|
103
|
+
return chili_delegate(command, args);
|
|
104
|
+
},
|
|
105
|
+
help: async (command) => {
|
|
106
|
+
// A plugin version (`pl-dircopy-v2.1.2`) is its own executable.
|
|
107
|
+
if (/-v[^/]+$/.test(command))
|
|
108
|
+
return pluginExecutableHelp_render(command);
|
|
109
|
+
const binMatches = await binExecutableMatches_get(command);
|
|
110
|
+
return binMatches.pipeline ? pipelineExecutableHelp_render(command) : null;
|
|
111
|
+
},
|
|
112
|
+
};
|
|
113
|
+
//# sourceMappingURL=commandFallback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commandFallback.js","sourceRoot":"","sources":["../../src/chris/commandFallback.ts"],"names":[],"mappings":"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"}
|