@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
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|
* @module
|
|
8
8
|
*/
|
|
9
9
|
import { session } from '../../session/index.js';
|
|
10
|
-
import { plugins_listAll, vfsDispatcher, context_getSingle, pipelineManifest_get, } from '@fnndsc/salsa';
|
|
11
10
|
import { listingItemsFromVfs_make } from '../vfs/listing.js';
|
|
12
11
|
import { partialPath_split, completions_build } from './pathComplete.helpers.js';
|
|
13
|
-
import {
|
|
12
|
+
import { backendInstalled_get } from '../../core/backend.js';
|
|
13
|
+
import { listingCache_get, vfsDispatcher_get } from '../../core/filesystem.js';
|
|
14
14
|
import * as path from 'path';
|
|
15
15
|
import { builtinCommands_list } from '../../builtins/help.js';
|
|
16
16
|
import { args_tokenize } from '../parser.js';
|
|
@@ -51,51 +51,6 @@ function completion_format(completion, word) {
|
|
|
51
51
|
}
|
|
52
52
|
return completion.replace(/([\\\s'"`])/g, '\\$1');
|
|
53
53
|
}
|
|
54
|
-
/**
|
|
55
|
-
* Fetches available plugin names from /bin in the format: name-vVersion.
|
|
56
|
-
* This matches the display format used in /bin listings.
|
|
57
|
-
* Uses cache first for fast completion.
|
|
58
|
-
* @returns Array of plugin names with version suffixes.
|
|
59
|
-
*/
|
|
60
|
-
async function plugins_getNames() {
|
|
61
|
-
try {
|
|
62
|
-
// Check cache first for /bin
|
|
63
|
-
const listCache = listCache_get();
|
|
64
|
-
const cached = listCache.cache_get('/bin');
|
|
65
|
-
if (cached && cached.data) {
|
|
66
|
-
// Return cached plugin names immediately
|
|
67
|
-
return cached.data.map((item) => item.name);
|
|
68
|
-
}
|
|
69
|
-
// Cache miss - fetch from API (only on first tab completion)
|
|
70
|
-
const plugins = await plugins_listAll({});
|
|
71
|
-
if (plugins && plugins.tableData) {
|
|
72
|
-
const pluginNames = plugins.tableData.map((p) => {
|
|
73
|
-
const name = typeof p.name === 'string' ? p.name : String(p.name ?? '');
|
|
74
|
-
const version = typeof p.version === 'string' ? p.version : String(p.version ?? '');
|
|
75
|
-
// Format as name-vVersion to match /bin display format
|
|
76
|
-
return version ? `${name}-v${version}` : name;
|
|
77
|
-
});
|
|
78
|
-
// Cache it for next time
|
|
79
|
-
const lsItems = plugins.tableData.map((p) => {
|
|
80
|
-
const name = typeof p.name === 'string' ? p.name : String(p.name ?? '');
|
|
81
|
-
const version = typeof p.version === 'string' ? p.version : String(p.version ?? '');
|
|
82
|
-
return {
|
|
83
|
-
name: version ? `${name}-v${version}` : name,
|
|
84
|
-
type: 'plugin',
|
|
85
|
-
size: 0,
|
|
86
|
-
owner: 'system',
|
|
87
|
-
date: p.creation_date ? String(p.creation_date) : '',
|
|
88
|
-
};
|
|
89
|
-
});
|
|
90
|
-
listCache.cache_set('/bin', lsItems);
|
|
91
|
-
return pluginNames;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
catch (e) {
|
|
95
|
-
// Silently fail if plugins cannot be fetched
|
|
96
|
-
}
|
|
97
|
-
return [];
|
|
98
|
-
}
|
|
99
54
|
/**
|
|
100
55
|
* Computes autocomplete suggestions for a given input line.
|
|
101
56
|
* Uses the callback style to support asynchronous operations (fetching files).
|
|
@@ -114,7 +69,7 @@ export function input_complete(line, callback) {
|
|
|
114
69
|
// Check builtins first (instant, no async)
|
|
115
70
|
const builtinHits = builtinCommands_list().filter((c) => c.startsWith(trimmed));
|
|
116
71
|
// Always check plugins and combine results
|
|
117
|
-
|
|
72
|
+
commandWords_get().then((pluginNames) => {
|
|
118
73
|
const pluginHits = pluginNames.filter((c) => c.startsWith(trimmed));
|
|
119
74
|
// Combine both builtins and plugins
|
|
120
75
|
const allHits = [...builtinHits, ...pluginHits];
|
|
@@ -126,43 +81,27 @@ export function input_complete(line, callback) {
|
|
|
126
81
|
return;
|
|
127
82
|
}
|
|
128
83
|
const compoundWord = completionWord_get(line);
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
const executionFields = [
|
|
140
|
-
'compute_resource_name', 'cpu_limit', 'memory_limit', 'gpu_limit', 'number_of_workers',
|
|
141
|
-
];
|
|
142
|
-
const options = [];
|
|
143
|
-
const manifest = result.value;
|
|
144
|
-
for (const node of manifest.nodes) {
|
|
145
|
-
const titleUsable = /^[A-Za-z0-9_-]+$/.test(node.title) &&
|
|
146
|
-
manifest.nodes.filter((candidate) => candidate.title === node.title).length === 1;
|
|
147
|
-
const selectors = titleUsable ? [node.title, `@${node.pipingID}`] : [`@${node.pipingID}`];
|
|
148
|
-
const fields = [
|
|
149
|
-
...executionFields,
|
|
150
|
-
...(node.parameterDefinitions ?? [])
|
|
151
|
-
.filter((parameter) => parameter.name !== 'plugininstances')
|
|
152
|
-
.map((parameter) => parameter.name),
|
|
153
|
-
];
|
|
154
|
-
for (const field of fields) {
|
|
155
|
-
options.push(...selectors.map((selector) => `--${selector}.${field}`));
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
callback(null, [
|
|
159
|
-
options.filter((option) => option.startsWith(compoundWord.value)),
|
|
160
|
-
compoundWord.raw,
|
|
161
|
-
]);
|
|
162
|
-
}).catch(() => callback(null, [[], compoundWord.raw]));
|
|
163
|
-
return;
|
|
164
|
-
}
|
|
84
|
+
const options = backendInstalled_get()?.completion?.options;
|
|
85
|
+
if (compoundWord.value.startsWith('--') && options !== undefined) {
|
|
86
|
+
options(args, compoundWord.value).then((found) => {
|
|
87
|
+
if (found === null) {
|
|
88
|
+
argumentCompletion_run(line, args, callback);
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
callback(null, [found, compoundWord.raw]);
|
|
92
|
+
}).catch(() => callback(null, [[], compoundWord.raw]));
|
|
93
|
+
return;
|
|
165
94
|
}
|
|
95
|
+
argumentCompletion_run(line, args, callback);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Completes an argument: a path, for the commands that take one.
|
|
99
|
+
*
|
|
100
|
+
* @param line - The input line.
|
|
101
|
+
* @param args - Its words.
|
|
102
|
+
* @param callback - Where the completions go.
|
|
103
|
+
*/
|
|
104
|
+
function argumentCompletion_run(line, args, callback) {
|
|
166
105
|
// Case 2: Path Completion (Argument to specific commands)
|
|
167
106
|
const cmd = args[0];
|
|
168
107
|
if (['cd', 'ls', 'mkdir', 'rmdir', 'chmod', 'touch', 'cat', 'edit', 'cp', 'mv', 'rm', 'upload', 'download', 'du', 'tree', 'pull', 'cubepath', 'query', 'image', 'dcm'].includes(cmd)) {
|
|
@@ -186,9 +125,7 @@ async function path_complete(partial) {
|
|
|
186
125
|
// 1. Handle ~ expansion for the partial path base
|
|
187
126
|
let effectivePartial = partial;
|
|
188
127
|
if (partial.startsWith('~')) {
|
|
189
|
-
const
|
|
190
|
-
const user = context.user;
|
|
191
|
-
const home = user ? `/home/${user}` : '/';
|
|
128
|
+
const home = (await backendInstalled_get()?.session.home_get()) ?? '/';
|
|
192
129
|
if (partial === '~' || partial === '~/') {
|
|
193
130
|
effectivePartial = home + (partial.endsWith('/') ? '/' : '');
|
|
194
131
|
}
|
|
@@ -209,7 +146,7 @@ async function path_complete(partial) {
|
|
|
209
146
|
}
|
|
210
147
|
// 3. Fetch contents (check cache first)
|
|
211
148
|
let items = [];
|
|
212
|
-
const listCache =
|
|
149
|
+
const listCache = listingCache_get();
|
|
213
150
|
// Check cache first
|
|
214
151
|
const cached = listCache.cache_get(absDirToList);
|
|
215
152
|
if (cached) {
|
|
@@ -217,22 +154,18 @@ async function path_complete(partial) {
|
|
|
217
154
|
}
|
|
218
155
|
else {
|
|
219
156
|
try {
|
|
220
|
-
//
|
|
221
|
-
const vfsResult = await
|
|
157
|
+
// The session's filesystem answers every path: the backend's mounts and fallback, and the core's.
|
|
158
|
+
const vfsResult = await vfsDispatcher_get().list(absDirToList);
|
|
222
159
|
if (vfsResult.ok) {
|
|
223
160
|
items = listingItemsFromVfs_make(vfsResult.value);
|
|
224
161
|
}
|
|
225
|
-
//
|
|
162
|
+
// Names completed at the root even when its listing lacks them.
|
|
226
163
|
if (absDirToList === '/' || absDirToList === '') {
|
|
227
164
|
const hasItem = (name) => items.some((i) => i.name === name);
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
items.push({ name: 'usr', type: 'vfs', size: 0, owner: 'root', date: new Date().toISOString() });
|
|
233
|
-
}
|
|
234
|
-
if (!hasItem('pacs')) {
|
|
235
|
-
items.push({ name: 'pacs', type: 'vfs', size: 0, owner: 'root', date: new Date().toISOString() });
|
|
165
|
+
for (const name of backendInstalled_get()?.completion?.rootWords ?? ['usr']) {
|
|
166
|
+
if (!hasItem(name)) {
|
|
167
|
+
items.push({ name, type: 'vfs', size: 0, owner: 'root', date: new Date().toISOString() });
|
|
168
|
+
}
|
|
236
169
|
}
|
|
237
170
|
}
|
|
238
171
|
// Cache the results
|
|
@@ -248,4 +181,13 @@ async function path_complete(partial) {
|
|
|
248
181
|
// (tilde/relative) and appending "/" to directory-like entries.
|
|
249
182
|
return completions_build(items, prefix, partial);
|
|
250
183
|
}
|
|
184
|
+
/**
|
|
185
|
+
* Command words beyond the registry's, from the backend (ChRIS: its plugins).
|
|
186
|
+
*
|
|
187
|
+
* @returns The words, or none.
|
|
188
|
+
*/
|
|
189
|
+
async function commandWords_get() {
|
|
190
|
+
const words = backendInstalled_get()?.completion?.commandWords;
|
|
191
|
+
return words === undefined ? [] : await words();
|
|
192
|
+
}
|
|
251
193
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/completer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/completer/index.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/prefetch.js
CHANGED
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @module
|
|
8
8
|
*/
|
|
9
|
-
import { errorStack } from '@fnndsc/cumin';
|
|
10
9
|
import { vfs } from './vfs/vfs.js';
|
|
11
10
|
import { spinner } from './spinner.js';
|
|
12
|
-
import { error_stripDebugPrefix } from '../builtins/
|
|
11
|
+
import { error_stripDebugPrefix } from '../builtins/utils.js';
|
|
13
12
|
import { announceIndent_get } from './announceIndent.js';
|
|
13
|
+
import { errorStack } from '@fnndsc/fond';
|
|
14
14
|
/**
|
|
15
15
|
* Status-tag column assumed when a host does not declare its own.
|
|
16
16
|
*
|
package/dist/lib/prefetch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefetch.js","sourceRoot":"","sources":["../../src/lib/prefetch.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"prefetch.js","sourceRoot":"","sources":["../../src/lib/prefetch.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,oBAAoB,GAAW,CAAC,CAAC;AAYvC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAc;IAChD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;YACd,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClD,CAAC;QACD,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC;QACnC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,uBAAuB,MAAM,EAAE,EAAE,CAAC;IAC7G,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,MAAM,GAAG,GAAW,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IACrC,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,KAAa,EACb,OAAe,EACf,aAAsB,EACtB,MAAqC,EACrC,cAAsB,oBAAoB;IAE1C,MAAM,WAAW,GAAW,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAY,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IACnE,wEAAwE;IACxE,uEAAuE;IACvE,yEAAyE;IACzE,0EAA0E;IAC1E,uEAAuE;IACvE,MAAM,MAAM,GAAW,kBAAkB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACpE,MAAM,cAAc,GAAW,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,WAAW,IAAI,OAAO,EAAE,CAAC;IAEhF,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,EAAE,CAAC;IACxB,CAAC;YAAS,CAAC;QACT,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @file Static Virtual File System Provider.
|
|
3
3
|
*
|
|
4
|
-
* Implements virtual directories
|
|
4
|
+
* Implements the core's virtual directories under the VFSDispatcher: `/usr`,
|
|
5
|
+
* `/usr/bin` (the builtins), `/usr/games` (the shelf) and `/usr/share/doc`
|
|
6
|
+
* (the release notes).
|
|
5
7
|
*
|
|
6
8
|
* @module
|
|
7
9
|
*/
|
|
8
|
-
import {
|
|
9
|
-
import { VFSProvider, VFSItem, CpOptions } from '@fnndsc/
|
|
10
|
+
import { type VfsOutcome } from '@fnndsc/fond';
|
|
11
|
+
import type { VFSProvider, VFSItem, CpOptions } from '@fnndsc/fond';
|
|
12
|
+
import { Result } from '@fnndsc/fond';
|
|
10
13
|
/**
|
|
11
14
|
* Static virtual filesystem provider for command and builtin paths.
|
|
12
15
|
*/
|
|
@@ -30,6 +33,8 @@ export declare class StaticVfsProvider implements VFSProvider {
|
|
|
30
33
|
sort?: "name" | "size" | "date" | "owner";
|
|
31
34
|
reverse?: boolean;
|
|
32
35
|
}): Promise<Result<VFSItem[]>>;
|
|
36
|
+
/** @inheritdoc */
|
|
37
|
+
cp(src: string, dest: string, options: CpOptions): Promise<VfsOutcome>;
|
|
33
38
|
/**
|
|
34
39
|
* Block copy operations for static paths.
|
|
35
40
|
*
|
|
@@ -38,7 +43,7 @@ export declare class StaticVfsProvider implements VFSProvider {
|
|
|
38
43
|
* @param options - Copy options.
|
|
39
44
|
* @returns Promise resolving to false always to block copying.
|
|
40
45
|
*/
|
|
41
|
-
|
|
46
|
+
private copy_run;
|
|
42
47
|
/**
|
|
43
48
|
* Standard sort helper for virtual items.
|
|
44
49
|
*
|
|
@@ -48,18 +53,22 @@ export declare class StaticVfsProvider implements VFSProvider {
|
|
|
48
53
|
* @returns Sorted VFSItem array.
|
|
49
54
|
*/
|
|
50
55
|
private staticVfsItems_sort;
|
|
56
|
+
/** @inheritdoc */
|
|
57
|
+
read(pathStr: string): Promise<VfsOutcome<string>>;
|
|
51
58
|
/**
|
|
52
59
|
* Reads virtual file content under command and builtin static paths.
|
|
53
60
|
*
|
|
54
61
|
* @param pathStr - The absolute virtual path of the file to read.
|
|
55
62
|
* @returns Promise resolving to a Result containing the file contents.
|
|
56
63
|
*/
|
|
57
|
-
|
|
64
|
+
private text_read;
|
|
65
|
+
/** @inheritdoc */
|
|
66
|
+
readBinary(pathStr: string): Promise<VfsOutcome<Buffer>>;
|
|
58
67
|
/**
|
|
59
68
|
* Reads virtual file binary content under command and builtin static paths.
|
|
60
69
|
*
|
|
61
70
|
* @param pathStr - The absolute virtual path of the file to read.
|
|
62
71
|
* @returns Promise resolving to a Result containing the file contents as a Buffer.
|
|
63
72
|
*/
|
|
64
|
-
|
|
73
|
+
private bytes_read;
|
|
65
74
|
}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @file Static Virtual File System Provider.
|
|
3
3
|
*
|
|
4
|
-
* Implements virtual directories
|
|
4
|
+
* Implements the core's virtual directories under the VFSDispatcher: `/usr`,
|
|
5
|
+
* `/usr/bin` (the builtins), `/usr/games` (the shelf) and `/usr/share/doc`
|
|
6
|
+
* (the release notes).
|
|
5
7
|
*
|
|
6
8
|
* @module
|
|
7
9
|
*/
|
|
8
|
-
import {
|
|
9
|
-
import { plugins_listAll, pipelines_getAll } from '@fnndsc/salsa';
|
|
10
|
+
import { vfsOutcome_ofBoolean, vfsOutcome_ofResult } from '@fnndsc/fond';
|
|
10
11
|
import { builtinCommands_list, commandSummary_get } from '../../../builtins/help.js';
|
|
11
12
|
import { gamesShelf_names } from '../../../builtins/games/shelf.js';
|
|
12
13
|
import { staticVfs_read, staticVfs_readBinary } from './static_content.js';
|
|
14
|
+
import { Ok, Err, errorStack } from '@fnndsc/fond';
|
|
13
15
|
/**
|
|
14
16
|
* Static virtual filesystem provider for command and builtin paths.
|
|
15
17
|
*/
|
|
@@ -37,43 +39,6 @@ export class StaticVfsProvider {
|
|
|
37
39
|
if (effectivePath.length > 1 && effectivePath.endsWith("/")) {
|
|
38
40
|
effectivePath = effectivePath.slice(0, -1);
|
|
39
41
|
}
|
|
40
|
-
if (effectivePath === "/bin") {
|
|
41
|
-
const [plugins, pipelinesResult] = await Promise.all([
|
|
42
|
-
plugins_listAll({}),
|
|
43
|
-
pipelines_getAll(),
|
|
44
|
-
]);
|
|
45
|
-
const items = [];
|
|
46
|
-
if (plugins && plugins.tableData) {
|
|
47
|
-
plugins.tableData.forEach((plugin) => {
|
|
48
|
-
const pluginName = typeof plugin.name === 'string' ? plugin.name : String(plugin.name);
|
|
49
|
-
const pluginVersion = typeof plugin.version === 'string' ? plugin.version : String(plugin.version || '');
|
|
50
|
-
const displayName = pluginVersion ? `${pluginName}-v${pluginVersion}` : pluginName;
|
|
51
|
-
items.push({
|
|
52
|
-
name: displayName,
|
|
53
|
-
type: "plugin",
|
|
54
|
-
size: 0,
|
|
55
|
-
owner: "system",
|
|
56
|
-
date: typeof plugin.creation_date === 'string' ? plugin.creation_date : '',
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
if (pipelinesResult.ok) {
|
|
61
|
-
pipelinesResult.value.forEach((pipeline) => {
|
|
62
|
-
const slug = typeof pipeline.slug === 'string' ? pipeline.slug : pipeline.name.replace(/\s+/g, '_');
|
|
63
|
-
items.push({
|
|
64
|
-
name: slug,
|
|
65
|
-
type: "pipeline",
|
|
66
|
-
size: 0,
|
|
67
|
-
owner: typeof pipeline.authors === 'string' ? pipeline.authors : 'system',
|
|
68
|
-
date: '',
|
|
69
|
-
title: pipeline.name,
|
|
70
|
-
id: pipeline.id,
|
|
71
|
-
});
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
const sorted = this.staticVfsItems_sort(items, options?.sort, options?.reverse);
|
|
75
|
-
return Ok(sorted);
|
|
76
|
-
}
|
|
77
42
|
if (effectivePath === "/usr") {
|
|
78
43
|
// bin alone: the dispatcher adds every registered prefix beneath
|
|
79
44
|
// (/usr/games, /usr/share) as a folder of its own.
|
|
@@ -127,6 +92,10 @@ export class StaticVfsProvider {
|
|
|
127
92
|
return Err();
|
|
128
93
|
}
|
|
129
94
|
}
|
|
95
|
+
/** @inheritdoc */
|
|
96
|
+
async cp(src, dest, options) {
|
|
97
|
+
return vfsOutcome_ofBoolean(await this.copy_run(src, dest, options), 'EROFS');
|
|
98
|
+
}
|
|
130
99
|
/**
|
|
131
100
|
* Block copy operations for static paths.
|
|
132
101
|
*
|
|
@@ -135,7 +104,7 @@ export class StaticVfsProvider {
|
|
|
135
104
|
* @param options - Copy options.
|
|
136
105
|
* @returns Promise resolving to false always to block copying.
|
|
137
106
|
*/
|
|
138
|
-
async
|
|
107
|
+
async copy_run(src, dest, options) {
|
|
139
108
|
errorStack.stack_push("error", `cp: Copying from static VFS path '${src}' is not supported.`);
|
|
140
109
|
return false;
|
|
141
110
|
}
|
|
@@ -165,22 +134,30 @@ export class StaticVfsProvider {
|
|
|
165
134
|
}
|
|
166
135
|
return sorted;
|
|
167
136
|
}
|
|
137
|
+
/** @inheritdoc */
|
|
138
|
+
async read(pathStr) {
|
|
139
|
+
return vfsOutcome_ofResult(await this.text_read(pathStr), 'ENOENT');
|
|
140
|
+
}
|
|
168
141
|
/**
|
|
169
142
|
* Reads virtual file content under command and builtin static paths.
|
|
170
143
|
*
|
|
171
144
|
* @param pathStr - The absolute virtual path of the file to read.
|
|
172
145
|
* @returns Promise resolving to a Result containing the file contents.
|
|
173
146
|
*/
|
|
174
|
-
async
|
|
147
|
+
async text_read(pathStr) {
|
|
175
148
|
return staticVfs_read(pathStr, this.prefix);
|
|
176
149
|
}
|
|
150
|
+
/** @inheritdoc */
|
|
151
|
+
async readBinary(pathStr) {
|
|
152
|
+
return vfsOutcome_ofResult(await this.bytes_read(pathStr), 'ENOENT');
|
|
153
|
+
}
|
|
177
154
|
/**
|
|
178
155
|
* Reads virtual file binary content under command and builtin static paths.
|
|
179
156
|
*
|
|
180
157
|
* @param pathStr - The absolute virtual path of the file to read.
|
|
181
158
|
* @returns Promise resolving to a Result containing the file contents as a Buffer.
|
|
182
159
|
*/
|
|
183
|
-
async
|
|
160
|
+
async bytes_read(pathStr) {
|
|
184
161
|
return staticVfs_readBinary(pathStr, this.prefix);
|
|
185
162
|
}
|
|
186
163
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static.js","sourceRoot":"","sources":["../../../../src/lib/vfs/providers/static.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"static.js","sourceRoot":"","sources":["../../../../src/lib/vfs/providers/static.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
* @file Static VFS Content Handler.
|
|
3
3
|
*
|
|
4
4
|
* Implements specialized virtual file reading and content generation
|
|
5
|
-
* for static
|
|
5
|
+
* for the core's static directories (/usr/bin, /usr/games, /usr/share/doc).
|
|
6
6
|
*
|
|
7
7
|
* @module
|
|
8
8
|
*/
|
|
9
|
-
import { Result } from '@fnndsc/
|
|
9
|
+
import { Result } from '@fnndsc/fond';
|
|
10
10
|
/**
|
|
11
11
|
* Reads virtual file content under command and builtin static paths.
|
|
12
12
|
*
|
|
13
|
-
*
|
|
13
|
+
* A builtin's help for /usr/bin and /usr/games, and the release notes for /usr/share/doc.
|
|
14
14
|
*
|
|
15
15
|
* @param pathStr - The absolute virtual path of the file to read.
|
|
16
|
-
* @param prefix - The prefix of the calling provider (e.g. '/usr/bin'
|
|
16
|
+
* @param prefix - The prefix of the calling provider (e.g. '/usr/bin').
|
|
17
17
|
* @returns Promise resolving to a Result containing the file contents as a string.
|
|
18
18
|
*/
|
|
19
19
|
export declare function staticVfs_read(pathStr: string, prefix: string): Promise<Result<string>>;
|
|
@@ -2,21 +2,19 @@
|
|
|
2
2
|
* @file Static VFS Content Handler.
|
|
3
3
|
*
|
|
4
4
|
* Implements specialized virtual file reading and content generation
|
|
5
|
-
* for static
|
|
5
|
+
* for the core's static directories (/usr/bin, /usr/games, /usr/share/doc).
|
|
6
6
|
*
|
|
7
7
|
* @module
|
|
8
8
|
*/
|
|
9
|
-
import { Ok, Err, errorStack } from '@fnndsc/cumin';
|
|
10
9
|
import { commandHelp_get } from '../../../builtins/help.js';
|
|
11
|
-
import {
|
|
12
|
-
import { binPipelineSummary_render, binPipelineSummary_try, } from './binEntry.js';
|
|
10
|
+
import { Ok, Err, errorStack } from '@fnndsc/fond';
|
|
13
11
|
/**
|
|
14
12
|
* Reads virtual file content under command and builtin static paths.
|
|
15
13
|
*
|
|
16
|
-
*
|
|
14
|
+
* A builtin's help for /usr/bin and /usr/games, and the release notes for /usr/share/doc.
|
|
17
15
|
*
|
|
18
16
|
* @param pathStr - The absolute virtual path of the file to read.
|
|
19
|
-
* @param prefix - The prefix of the calling provider (e.g. '/usr/bin'
|
|
17
|
+
* @param prefix - The prefix of the calling provider (e.g. '/usr/bin').
|
|
20
18
|
* @returns Promise resolving to a Result containing the file contents as a string.
|
|
21
19
|
*/
|
|
22
20
|
export async function staticVfs_read(pathStr, prefix) {
|
|
@@ -42,24 +40,6 @@ export async function staticVfs_read(pathStr, prefix) {
|
|
|
42
40
|
errorStack.stack_push("error", `No such document: ${effectivePath}`);
|
|
43
41
|
return Err();
|
|
44
42
|
}
|
|
45
|
-
if (prefix === "/bin") {
|
|
46
|
-
const commandName = effectivePath.substring("/bin/".length);
|
|
47
|
-
const pipelineSummary = binPipelineSummary_try(commandName);
|
|
48
|
-
if (pipelineSummary !== null)
|
|
49
|
-
return Ok(binPipelineSummary_render(pipelineSummary));
|
|
50
|
-
const specifier = pluginSpecifier_parse(commandName);
|
|
51
|
-
if (specifier === null) {
|
|
52
|
-
errorStack.stack_push("error", `Unknown /bin entry: ${commandName}`);
|
|
53
|
-
return Err();
|
|
54
|
-
}
|
|
55
|
-
// The manual is a projection of the plugin model — the same facts
|
|
56
|
-
// `plugin info` puts on the wire, so a terminal and a graphical
|
|
57
|
-
// surface cannot end up describing different plugins.
|
|
58
|
-
const built = await pluginInfo_build(specifier);
|
|
59
|
-
if (!built.ok)
|
|
60
|
-
return Err();
|
|
61
|
-
return Ok(pluginInfoText_render(built.value));
|
|
62
|
-
}
|
|
63
43
|
errorStack.stack_push("error", `File not found: ${pathStr}`);
|
|
64
44
|
return Err();
|
|
65
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static_content.js","sourceRoot":"","sources":["../../../../src/lib/vfs/providers/static_content.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"static_content.js","sourceRoot":"","sources":["../../../../src/lib/vfs/providers/static_content.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAU,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE3D;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAe,EAAE,MAAc;IAClE,IAAI,CAAC;QACH,IAAI,aAAa,GAAW,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC;QAC9E,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5D,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YACrD,MAAM,WAAW,GAAW,aAAa,CAAC,SAAS,CAAC,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;YACzE,MAAM,OAAO,GAAuB,eAAe,CAAC,WAAW,CAAC,CAAC;YACjE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;YACrB,CAAC;YACD,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,kCAAkC,WAAW,EAAE,CAAC,CAAC;YAChF,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;QAED,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;YAChC,IAAI,aAAa,KAAK,qBAAqB,EAAE,CAAC;gBAC5C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;gBACrE,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;YACzB,CAAC;YACD,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,qBAAqB,aAAa,EAAE,CAAC,CAAC;YACrE,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;QAED,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,mBAAmB,OAAO,EAAE,CAAC,CAAC;QAC7D,OAAO,GAAG,EAAE,CAAC;IACf,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,GAAG,GAAW,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,qCAAqC,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC;QACtF,OAAO,GAAG,EAAE,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAAe,EAAE,MAAc;IACxE,MAAM,GAAG,GAAmB,MAAM,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAClE,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;QACX,OAAO,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,GAAG,EAAE,CAAC;AACf,CAAC"}
|
package/dist/lib/vfs/vfs.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import { Result
|
|
1
|
+
import { type ListingItem, type CommandEnvelope } from '@fnndsc/menu';
|
|
2
|
+
import { Result } from '@fnndsc/fond';
|
|
3
3
|
/**
|
|
4
4
|
* Virtual File System Router.
|
|
5
5
|
* Dispatches operations to Virtual or Native providers.
|
|
@@ -66,6 +66,15 @@ export declare class VFS {
|
|
|
66
66
|
* @param options - Sort options forwarded to the parent listing.
|
|
67
67
|
*/
|
|
68
68
|
private directoryEntry_get;
|
|
69
|
+
/**
|
|
70
|
+
* Finds a path's own entry in its parent's listing, read afresh when it is
|
|
71
|
+
* not kept: the answer to `ls FILE` when the path does not list as a
|
|
72
|
+
* folder.
|
|
73
|
+
*
|
|
74
|
+
* @param absolutePath - The path that did not list.
|
|
75
|
+
* @returns Its entry when the parent holds it and it is not a folder, else null.
|
|
76
|
+
*/
|
|
77
|
+
private entryFromParent_fetch;
|
|
69
78
|
/**
|
|
70
79
|
* Finds a non-directory target in its cached parent listing.
|
|
71
80
|
*
|