@kruntime/komputer 0.1.0
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/README.md +368 -0
- package/dist/agent/approvals.d.ts +28 -0
- package/dist/agent/approvals.js +109 -0
- package/dist/agent/approvals.js.map +1 -0
- package/dist/agent/messages.d.ts +67 -0
- package/dist/agent/messages.js +213 -0
- package/dist/agent/messages.js.map +1 -0
- package/dist/agent/recovery.d.ts +13 -0
- package/dist/agent/recovery.js +112 -0
- package/dist/agent/recovery.js.map +1 -0
- package/dist/agent/session-utils.d.ts +17 -0
- package/dist/agent/session-utils.js +77 -0
- package/dist/agent/session-utils.js.map +1 -0
- package/dist/agent-session.d.ts +303 -0
- package/dist/agent-session.js +3031 -0
- package/dist/agent-session.js.map +1 -0
- package/dist/authority.d.ts +34 -0
- package/dist/authority.js +105 -0
- package/dist/authority.js.map +1 -0
- package/dist/content.d.ts +17 -0
- package/dist/content.js +69 -0
- package/dist/content.js.map +1 -0
- package/dist/cron.d.ts +20 -0
- package/dist/cron.js +25 -0
- package/dist/cron.js.map +1 -0
- package/dist/drive.d.ts +198 -0
- package/dist/drive.js +656 -0
- package/dist/drive.js.map +1 -0
- package/dist/events.d.ts +20 -0
- package/dist/events.js +149 -0
- package/dist/events.js.map +1 -0
- package/dist/fs-mode.d.ts +9 -0
- package/dist/fs-mode.js +98 -0
- package/dist/fs-mode.js.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -0
- package/dist/komputer.d.ts +123 -0
- package/dist/komputer.js +733 -0
- package/dist/komputer.js.map +1 -0
- package/dist/kstate.d.ts +107 -0
- package/dist/kstate.js +529 -0
- package/dist/kstate.js.map +1 -0
- package/dist/model.d.ts +81 -0
- package/dist/model.js +824 -0
- package/dist/model.js.map +1 -0
- package/dist/node.d.ts +2 -0
- package/dist/node.js +3 -0
- package/dist/node.js.map +1 -0
- package/dist/path.d.ts +4 -0
- package/dist/path.js +38 -0
- package/dist/path.js.map +1 -0
- package/dist/pool.d.ts +56 -0
- package/dist/pool.js +172 -0
- package/dist/pool.js.map +1 -0
- package/dist/receipts.d.ts +44 -0
- package/dist/receipts.js +35 -0
- package/dist/receipts.js.map +1 -0
- package/dist/remote-node.d.ts +2 -0
- package/dist/remote-node.js +122 -0
- package/dist/remote-node.js.map +1 -0
- package/dist/remote.d.ts +84 -0
- package/dist/remote.js +11 -0
- package/dist/remote.js.map +1 -0
- package/dist/sandbox.d.ts +4 -0
- package/dist/sandbox.js +70 -0
- package/dist/sandbox.js.map +1 -0
- package/dist/shell/builtins/catalog.d.ts +6 -0
- package/dist/shell/builtins/catalog.js +12 -0
- package/dist/shell/builtins/catalog.js.map +1 -0
- package/dist/shell/builtins/commands/filesystem/basename.d.ts +2 -0
- package/dist/shell/builtins/commands/filesystem/basename.js +23 -0
- package/dist/shell/builtins/commands/filesystem/basename.js.map +1 -0
- package/dist/shell/builtins/commands/filesystem/cat.d.ts +2 -0
- package/dist/shell/builtins/commands/filesystem/cat.js +85 -0
- package/dist/shell/builtins/commands/filesystem/cat.js.map +1 -0
- package/dist/shell/builtins/commands/filesystem/cd.d.ts +2 -0
- package/dist/shell/builtins/commands/filesystem/cd.js +14 -0
- package/dist/shell/builtins/commands/filesystem/cd.js.map +1 -0
- package/dist/shell/builtins/commands/filesystem/chmod.d.ts +2 -0
- package/dist/shell/builtins/commands/filesystem/chmod.js +46 -0
- package/dist/shell/builtins/commands/filesystem/chmod.js.map +1 -0
- package/dist/shell/builtins/commands/filesystem/copy-directory.d.ts +4 -0
- package/dist/shell/builtins/commands/filesystem/copy-directory.js +48 -0
- package/dist/shell/builtins/commands/filesystem/copy-directory.js.map +1 -0
- package/dist/shell/builtins/commands/filesystem/cp.d.ts +2 -0
- package/dist/shell/builtins/commands/filesystem/cp.js +92 -0
- package/dist/shell/builtins/commands/filesystem/cp.js.map +1 -0
- package/dist/shell/builtins/commands/filesystem/dirname.d.ts +2 -0
- package/dist/shell/builtins/commands/filesystem/dirname.js +23 -0
- package/dist/shell/builtins/commands/filesystem/dirname.js.map +1 -0
- package/dist/shell/builtins/commands/filesystem/du.d.ts +2 -0
- package/dist/shell/builtins/commands/filesystem/du.js +93 -0
- package/dist/shell/builtins/commands/filesystem/du.js.map +1 -0
- package/dist/shell/builtins/commands/filesystem/find.d.ts +2 -0
- package/dist/shell/builtins/commands/filesystem/find.js +111 -0
- package/dist/shell/builtins/commands/filesystem/find.js.map +1 -0
- package/dist/shell/builtins/commands/filesystem/install.d.ts +2 -0
- package/dist/shell/builtins/commands/filesystem/install.js +89 -0
- package/dist/shell/builtins/commands/filesystem/install.js.map +1 -0
- package/dist/shell/builtins/commands/filesystem/ln.d.ts +2 -0
- package/dist/shell/builtins/commands/filesystem/ln.js +57 -0
- package/dist/shell/builtins/commands/filesystem/ln.js.map +1 -0
- package/dist/shell/builtins/commands/filesystem/ls.d.ts +2 -0
- package/dist/shell/builtins/commands/filesystem/ls.js +153 -0
- package/dist/shell/builtins/commands/filesystem/ls.js.map +1 -0
- package/dist/shell/builtins/commands/filesystem/mkdir.d.ts +2 -0
- package/dist/shell/builtins/commands/filesystem/mkdir.js +41 -0
- package/dist/shell/builtins/commands/filesystem/mkdir.js.map +1 -0
- package/dist/shell/builtins/commands/filesystem/mktemp.d.ts +2 -0
- package/dist/shell/builtins/commands/filesystem/mktemp.js +94 -0
- package/dist/shell/builtins/commands/filesystem/mktemp.js.map +1 -0
- package/dist/shell/builtins/commands/filesystem/mv.d.ts +2 -0
- package/dist/shell/builtins/commands/filesystem/mv.js +41 -0
- package/dist/shell/builtins/commands/filesystem/mv.js.map +1 -0
- package/dist/shell/builtins/commands/filesystem/pwd.d.ts +2 -0
- package/dist/shell/builtins/commands/filesystem/pwd.js +2 -0
- package/dist/shell/builtins/commands/filesystem/pwd.js.map +1 -0
- package/dist/shell/builtins/commands/filesystem/realpath.d.ts +3 -0
- package/dist/shell/builtins/commands/filesystem/realpath.js +61 -0
- package/dist/shell/builtins/commands/filesystem/realpath.js.map +1 -0
- package/dist/shell/builtins/commands/filesystem/rm.d.ts +2 -0
- package/dist/shell/builtins/commands/filesystem/rm.js +38 -0
- package/dist/shell/builtins/commands/filesystem/rm.js.map +1 -0
- package/dist/shell/builtins/commands/filesystem/stat.d.ts +2 -0
- package/dist/shell/builtins/commands/filesystem/stat.js +141 -0
- package/dist/shell/builtins/commands/filesystem/stat.js.map +1 -0
- package/dist/shell/builtins/commands/filesystem/touch.d.ts +2 -0
- package/dist/shell/builtins/commands/filesystem/touch.js +143 -0
- package/dist/shell/builtins/commands/filesystem/touch.js.map +1 -0
- package/dist/shell/builtins/commands/filesystem.d.ts +2 -0
- package/dist/shell/builtins/commands/filesystem.js +44 -0
- package/dist/shell/builtins/commands/filesystem.js.map +1 -0
- package/dist/shell/builtins/commands/network/curl.d.ts +2 -0
- package/dist/shell/builtins/commands/network/curl.js +25 -0
- package/dist/shell/builtins/commands/network/curl.js.map +1 -0
- package/dist/shell/builtins/commands/network/http.d.ts +27 -0
- package/dist/shell/builtins/commands/network/http.js +226 -0
- package/dist/shell/builtins/commands/network/http.js.map +1 -0
- package/dist/shell/builtins/commands/network/wget.d.ts +2 -0
- package/dist/shell/builtins/commands/network/wget.js +32 -0
- package/dist/shell/builtins/commands/network/wget.js.map +1 -0
- package/dist/shell/builtins/commands/network.d.ts +2 -0
- package/dist/shell/builtins/commands/network.js +9 -0
- package/dist/shell/builtins/commands/network.js.map +1 -0
- package/dist/shell/builtins/commands/process/bg.d.ts +2 -0
- package/dist/shell/builtins/commands/process/bg.js +10 -0
- package/dist/shell/builtins/commands/process/bg.js.map +1 -0
- package/dist/shell/builtins/commands/process/fg.d.ts +2 -0
- package/dist/shell/builtins/commands/process/fg.js +14 -0
- package/dist/shell/builtins/commands/process/fg.js.map +1 -0
- package/dist/shell/builtins/commands/process/jobs.d.ts +2 -0
- package/dist/shell/builtins/commands/process/jobs.js +8 -0
- package/dist/shell/builtins/commands/process/jobs.js.map +1 -0
- package/dist/shell/builtins/commands/process/jobspec.d.ts +4 -0
- package/dist/shell/builtins/commands/process/jobspec.js +20 -0
- package/dist/shell/builtins/commands/process/jobspec.js.map +1 -0
- package/dist/shell/builtins/commands/process/kill.d.ts +2 -0
- package/dist/shell/builtins/commands/process/kill.js +35 -0
- package/dist/shell/builtins/commands/process/kill.js.map +1 -0
- package/dist/shell/builtins/commands/process/ps.d.ts +2 -0
- package/dist/shell/builtins/commands/process/ps.js +6 -0
- package/dist/shell/builtins/commands/process/ps.js.map +1 -0
- package/dist/shell/builtins/commands/process/sleep.d.ts +2 -0
- package/dist/shell/builtins/commands/process/sleep.js +6 -0
- package/dist/shell/builtins/commands/process/sleep.js.map +1 -0
- package/dist/shell/builtins/commands/process/wait.d.ts +2 -0
- package/dist/shell/builtins/commands/process/wait.js +21 -0
- package/dist/shell/builtins/commands/process/wait.js.map +1 -0
- package/dist/shell/builtins/commands/process.d.ts +2 -0
- package/dist/shell/builtins/commands/process.js +19 -0
- package/dist/shell/builtins/commands/process.js.map +1 -0
- package/dist/shell/builtins/commands/system/command.d.ts +2 -0
- package/dist/shell/builtins/commands/system/command.js +42 -0
- package/dist/shell/builtins/commands/system/command.js.map +1 -0
- package/dist/shell/builtins/commands/system/date.d.ts +2 -0
- package/dist/shell/builtins/commands/system/date.js +121 -0
- package/dist/shell/builtins/commands/system/date.js.map +1 -0
- package/dist/shell/builtins/commands/system/env.d.ts +2 -0
- package/dist/shell/builtins/commands/system/env.js +84 -0
- package/dist/shell/builtins/commands/system/env.js.map +1 -0
- package/dist/shell/builtins/commands/system/export.d.ts +2 -0
- package/dist/shell/builtins/commands/system/export.js +18 -0
- package/dist/shell/builtins/commands/system/export.js.map +1 -0
- package/dist/shell/builtins/commands/system/false.d.ts +2 -0
- package/dist/shell/builtins/commands/system/false.js +4 -0
- package/dist/shell/builtins/commands/system/false.js.map +1 -0
- package/dist/shell/builtins/commands/system/help.d.ts +2 -0
- package/dist/shell/builtins/commands/system/help.js +38 -0
- package/dist/shell/builtins/commands/system/help.js.map +1 -0
- package/dist/shell/builtins/commands/system/hostname.d.ts +2 -0
- package/dist/shell/builtins/commands/system/hostname.js +6 -0
- package/dist/shell/builtins/commands/system/hostname.js.map +1 -0
- package/dist/shell/builtins/commands/system/id.d.ts +2 -0
- package/dist/shell/builtins/commands/system/id.js +55 -0
- package/dist/shell/builtins/commands/system/id.js.map +1 -0
- package/dist/shell/builtins/commands/system/printenv.d.ts +2 -0
- package/dist/shell/builtins/commands/system/printenv.js +22 -0
- package/dist/shell/builtins/commands/system/printenv.js.map +1 -0
- package/dist/shell/builtins/commands/system/read.d.ts +2 -0
- package/dist/shell/builtins/commands/system/read.js +75 -0
- package/dist/shell/builtins/commands/system/read.js.map +1 -0
- package/dist/shell/builtins/commands/system/resolve-command.d.ts +3 -0
- package/dist/shell/builtins/commands/system/resolve-command.js +34 -0
- package/dist/shell/builtins/commands/system/resolve-command.js.map +1 -0
- package/dist/shell/builtins/commands/system/set.d.ts +2 -0
- package/dist/shell/builtins/commands/system/set.js +49 -0
- package/dist/shell/builtins/commands/system/set.js.map +1 -0
- package/dist/shell/builtins/commands/system/sh.d.ts +2 -0
- package/dist/shell/builtins/commands/system/sh.js +55 -0
- package/dist/shell/builtins/commands/system/sh.js.map +1 -0
- package/dist/shell/builtins/commands/system/source.d.ts +2 -0
- package/dist/shell/builtins/commands/system/source.js +42 -0
- package/dist/shell/builtins/commands/system/source.js.map +1 -0
- package/dist/shell/builtins/commands/system/test-expression.d.ts +2 -0
- package/dist/shell/builtins/commands/system/test-expression.js +93 -0
- package/dist/shell/builtins/commands/system/test-expression.js.map +1 -0
- package/dist/shell/builtins/commands/system/test.d.ts +4 -0
- package/dist/shell/builtins/commands/system/test.js +19 -0
- package/dist/shell/builtins/commands/system/test.js.map +1 -0
- package/dist/shell/builtins/commands/system/true.d.ts +2 -0
- package/dist/shell/builtins/commands/system/true.js +2 -0
- package/dist/shell/builtins/commands/system/true.js.map +1 -0
- package/dist/shell/builtins/commands/system/type.d.ts +2 -0
- package/dist/shell/builtins/commands/system/type.js +77 -0
- package/dist/shell/builtins/commands/system/type.js.map +1 -0
- package/dist/shell/builtins/commands/system/uname.d.ts +2 -0
- package/dist/shell/builtins/commands/system/uname.js +39 -0
- package/dist/shell/builtins/commands/system/uname.js.map +1 -0
- package/dist/shell/builtins/commands/system/unset.d.ts +2 -0
- package/dist/shell/builtins/commands/system/unset.js +9 -0
- package/dist/shell/builtins/commands/system/unset.js.map +1 -0
- package/dist/shell/builtins/commands/system/which.d.ts +2 -0
- package/dist/shell/builtins/commands/system/which.js +38 -0
- package/dist/shell/builtins/commands/system/which.js.map +1 -0
- package/dist/shell/builtins/commands/system/whoami.d.ts +2 -0
- package/dist/shell/builtins/commands/system/whoami.js +6 -0
- package/dist/shell/builtins/commands/system/whoami.js.map +1 -0
- package/dist/shell/builtins/commands/system.d.ts +2 -0
- package/dist/shell/builtins/commands/system.js +49 -0
- package/dist/shell/builtins/commands/system.js.map +1 -0
- package/dist/shell/builtins/commands/text/awk.d.ts +2 -0
- package/dist/shell/builtins/commands/text/awk.js +8 -0
- package/dist/shell/builtins/commands/text/awk.js.map +1 -0
- package/dist/shell/builtins/commands/text/base64.d.ts +2 -0
- package/dist/shell/builtins/commands/text/base64.js +69 -0
- package/dist/shell/builtins/commands/text/base64.js.map +1 -0
- package/dist/shell/builtins/commands/text/cut.d.ts +2 -0
- package/dist/shell/builtins/commands/text/cut.js +35 -0
- package/dist/shell/builtins/commands/text/cut.js.map +1 -0
- package/dist/shell/builtins/commands/text/diff.d.ts +2 -0
- package/dist/shell/builtins/commands/text/diff.js +83 -0
- package/dist/shell/builtins/commands/text/diff.js.map +1 -0
- package/dist/shell/builtins/commands/text/echo.d.ts +2 -0
- package/dist/shell/builtins/commands/text/echo.js +6 -0
- package/dist/shell/builtins/commands/text/echo.js.map +1 -0
- package/dist/shell/builtins/commands/text/grep.d.ts +2 -0
- package/dist/shell/builtins/commands/text/grep.js +123 -0
- package/dist/shell/builtins/commands/text/grep.js.map +1 -0
- package/dist/shell/builtins/commands/text/head.d.ts +2 -0
- package/dist/shell/builtins/commands/text/head.js +8 -0
- package/dist/shell/builtins/commands/text/head.js.map +1 -0
- package/dist/shell/builtins/commands/text/jq.d.ts +2 -0
- package/dist/shell/builtins/commands/text/jq.js +239 -0
- package/dist/shell/builtins/commands/text/jq.js.map +1 -0
- package/dist/shell/builtins/commands/text/printf.d.ts +2 -0
- package/dist/shell/builtins/commands/text/printf.js +3 -0
- package/dist/shell/builtins/commands/text/printf.js.map +1 -0
- package/dist/shell/builtins/commands/text/sed.d.ts +2 -0
- package/dist/shell/builtins/commands/text/sed.js +21 -0
- package/dist/shell/builtins/commands/text/sed.js.map +1 -0
- package/dist/shell/builtins/commands/text/sha256sum.d.ts +2 -0
- package/dist/shell/builtins/commands/text/sha256sum.js +63 -0
- package/dist/shell/builtins/commands/text/sha256sum.js.map +1 -0
- package/dist/shell/builtins/commands/text/sort.d.ts +2 -0
- package/dist/shell/builtins/commands/text/sort.js +134 -0
- package/dist/shell/builtins/commands/text/sort.js.map +1 -0
- package/dist/shell/builtins/commands/text/tail.d.ts +2 -0
- package/dist/shell/builtins/commands/text/tail.js +10 -0
- package/dist/shell/builtins/commands/text/tail.js.map +1 -0
- package/dist/shell/builtins/commands/text/tee.d.ts +2 -0
- package/dist/shell/builtins/commands/text/tee.js +29 -0
- package/dist/shell/builtins/commands/text/tee.js.map +1 -0
- package/dist/shell/builtins/commands/text/tr.d.ts +2 -0
- package/dist/shell/builtins/commands/text/tr.js +3 -0
- package/dist/shell/builtins/commands/text/tr.js.map +1 -0
- package/dist/shell/builtins/commands/text/uniq.d.ts +2 -0
- package/dist/shell/builtins/commands/text/uniq.js +8 -0
- package/dist/shell/builtins/commands/text/uniq.js.map +1 -0
- package/dist/shell/builtins/commands/text/wc.d.ts +2 -0
- package/dist/shell/builtins/commands/text/wc.js +30 -0
- package/dist/shell/builtins/commands/text/wc.js.map +1 -0
- package/dist/shell/builtins/commands/text/xargs.d.ts +2 -0
- package/dist/shell/builtins/commands/text/xargs.js +138 -0
- package/dist/shell/builtins/commands/text/xargs.js.map +1 -0
- package/dist/shell/builtins/commands/text.d.ts +2 -0
- package/dist/shell/builtins/commands/text.js +41 -0
- package/dist/shell/builtins/commands/text.js.map +1 -0
- package/dist/shell/builtins/help-text.d.ts +69 -0
- package/dist/shell/builtins/help-text.js +381 -0
- package/dist/shell/builtins/help-text.js.map +1 -0
- package/dist/shell/builtins/path.d.ts +28 -0
- package/dist/shell/builtins/path.js +184 -0
- package/dist/shell/builtins/path.js.map +1 -0
- package/dist/shell/builtins/registry.d.ts +3 -0
- package/dist/shell/builtins/registry.js +75 -0
- package/dist/shell/builtins/registry.js.map +1 -0
- package/dist/shell/builtins/run.d.ts +4 -0
- package/dist/shell/builtins/run.js +29 -0
- package/dist/shell/builtins/run.js.map +1 -0
- package/dist/shell/builtins/runtime.d.ts +83 -0
- package/dist/shell/builtins/runtime.js +46 -0
- package/dist/shell/builtins/runtime.js.map +1 -0
- package/dist/shell/builtins/text.d.ts +90 -0
- package/dist/shell/builtins/text.js +970 -0
- package/dist/shell/builtins/text.js.map +1 -0
- package/dist/shell/control.d.ts +31 -0
- package/dist/shell/control.js +232 -0
- package/dist/shell/control.js.map +1 -0
- package/dist/shell/expansion.d.ts +30 -0
- package/dist/shell/expansion.js +514 -0
- package/dist/shell/expansion.js.map +1 -0
- package/dist/shell/functions.d.ts +10 -0
- package/dist/shell/functions.js +108 -0
- package/dist/shell/functions.js.map +1 -0
- package/dist/shell/runtime.d.ts +44 -0
- package/dist/shell/runtime.js +276 -0
- package/dist/shell/runtime.js.map +1 -0
- package/dist/shell/time.d.ts +1 -0
- package/dist/shell/time.js +68 -0
- package/dist/shell/time.js.map +1 -0
- package/dist/state-backend.d.ts +61 -0
- package/dist/state-backend.js +275 -0
- package/dist/state-backend.js.map +1 -0
- package/dist/state-node.d.ts +2 -0
- package/dist/state-node.js +266 -0
- package/dist/state-node.js.map +1 -0
- package/dist/types.d.ts +462 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils.d.ts +5 -0
- package/dist/utils.js +117 -0
- package/dist/utils.js.map +1 -0
- package/dist/vbash.d.ts +40 -0
- package/dist/vbash.js +389 -0
- package/dist/vbash.js.map +1 -0
- package/dist/vfs.d.ts +64 -0
- package/dist/vfs.js +248 -0
- package/dist/vfs.js.map +1 -0
- package/dist/vprocess.d.ts +139 -0
- package/dist/vprocess.js +756 -0
- package/dist/vprocess.js.map +1 -0
- package/package.json +28 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../packages/komputer/src/model.ts"],"names":[],"mappings":"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"}
|
package/dist/node.d.ts
ADDED
package/dist/node.js
ADDED
package/dist/node.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../../../packages/komputer/src/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA"}
|
package/dist/path.d.ts
ADDED
package/dist/path.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export function normalizePath(path) {
|
|
2
|
+
const raw = String(path || '/').replaceAll('\\', '/');
|
|
3
|
+
const absolute = raw.startsWith('/');
|
|
4
|
+
const parts = [];
|
|
5
|
+
for (const part of raw.split('/')) {
|
|
6
|
+
if (!part || part === '.')
|
|
7
|
+
continue;
|
|
8
|
+
if (part === '..') {
|
|
9
|
+
parts.pop();
|
|
10
|
+
continue;
|
|
11
|
+
}
|
|
12
|
+
parts.push(part);
|
|
13
|
+
}
|
|
14
|
+
const normalized = `${absolute ? '/' : ''}${parts.join('/')}`;
|
|
15
|
+
return normalized || (absolute ? '/' : '.');
|
|
16
|
+
}
|
|
17
|
+
export function joinPath(...parts) {
|
|
18
|
+
return normalizePath(parts.filter(Boolean).join('/'));
|
|
19
|
+
}
|
|
20
|
+
export function dirnamePath(path) {
|
|
21
|
+
const normalized = normalizePath(path);
|
|
22
|
+
if (normalized === '/')
|
|
23
|
+
return '/';
|
|
24
|
+
const index = normalized.lastIndexOf('/');
|
|
25
|
+
if (index <= 0)
|
|
26
|
+
return normalized.startsWith('/') ? '/' : '.';
|
|
27
|
+
return normalized.slice(0, index);
|
|
28
|
+
}
|
|
29
|
+
export function relativePath(from, to) {
|
|
30
|
+
const fromParts = normalizePath(from).split('/').filter(Boolean);
|
|
31
|
+
const toParts = normalizePath(to).split('/').filter(Boolean);
|
|
32
|
+
while (fromParts.length && toParts.length && fromParts[0] === toParts[0]) {
|
|
33
|
+
fromParts.shift();
|
|
34
|
+
toParts.shift();
|
|
35
|
+
}
|
|
36
|
+
return [...fromParts.map(() => '..'), ...toParts].join('/') || '';
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=path.js.map
|
package/dist/path.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path.js","sourceRoot":"","sources":["../../../../packages/komputer/src/path.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IACrD,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACpC,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,GAAG;YAAE,SAAQ;QACnC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,KAAK,CAAC,GAAG,EAAE,CAAA;YACX,SAAQ;QACV,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC;IACD,MAAM,UAAU,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;IAC7D,OAAO,UAAU,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAG,KAAe;IACzC,OAAO,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AACvD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;IACtC,IAAI,UAAU,KAAK,GAAG;QAAE,OAAO,GAAG,CAAA;IAClC,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IACzC,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;IAC7D,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;AACnC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,EAAU;IACnD,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAChE,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC5D,OAAO,SAAS,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,SAAS,CAAC,KAAK,EAAE,CAAA;QACjB,OAAO,CAAC,KAAK,EAAE,CAAA;IACjB,CAAC;IACD,OAAO,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;AACnE,CAAC"}
|
package/dist/pool.d.ts
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { AgentSession } from './agent-session.js';
|
|
2
|
+
import type { Komputer } from './komputer.js';
|
|
3
|
+
import type { ModeInput } from './authority.js';
|
|
4
|
+
import type { AccessScope } from './types.js';
|
|
5
|
+
export interface KomputerPoolOptions {
|
|
6
|
+
boot(key: string): Promise<Komputer>;
|
|
7
|
+
idleForMs?: number;
|
|
8
|
+
maxWarm?: number;
|
|
9
|
+
now?: () => number;
|
|
10
|
+
}
|
|
11
|
+
export interface KomputerPoolLoginOptions {
|
|
12
|
+
id?: string;
|
|
13
|
+
mode?: ModeInput;
|
|
14
|
+
scope?: AccessScope;
|
|
15
|
+
by?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface KomputerPoolWithLoginOptions extends KomputerPoolLoginOptions {
|
|
18
|
+
agent?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface KomputerPoolCloseOptions {
|
|
21
|
+
endSessions?: boolean;
|
|
22
|
+
}
|
|
23
|
+
export interface KomputerPoolSweepOptions {
|
|
24
|
+
idleForMs?: number;
|
|
25
|
+
now?: number | Date;
|
|
26
|
+
}
|
|
27
|
+
export interface KomputerPoolStats {
|
|
28
|
+
warm: number;
|
|
29
|
+
booting: number;
|
|
30
|
+
sessions: number;
|
|
31
|
+
activeProcesses: number;
|
|
32
|
+
keys: string[];
|
|
33
|
+
}
|
|
34
|
+
export declare class KomputerPool {
|
|
35
|
+
private readonly bootComputer;
|
|
36
|
+
private readonly entries;
|
|
37
|
+
private readonly idleForMs;
|
|
38
|
+
private readonly maxWarm;
|
|
39
|
+
private readonly now;
|
|
40
|
+
private closed;
|
|
41
|
+
constructor(options: KomputerPoolOptions);
|
|
42
|
+
get(key: string): Promise<Komputer>;
|
|
43
|
+
login(key: string, agentName?: string, options?: KomputerPoolLoginOptions): Promise<AgentSession>;
|
|
44
|
+
withLogin<T>(key: string, options: KomputerPoolWithLoginOptions, fn: (agent: AgentSession, computer: Komputer) => Promise<T> | T): Promise<T>;
|
|
45
|
+
withLogin<T>(key: string, agentName: string, options: KomputerPoolLoginOptions, fn: (agent: AgentSession, computer: Komputer) => Promise<T> | T): Promise<T>;
|
|
46
|
+
touch(key: string): void;
|
|
47
|
+
sweep(options?: KomputerPoolSweepOptions): Promise<string[]>;
|
|
48
|
+
release(key: string, options?: KomputerPoolCloseOptions): Promise<boolean>;
|
|
49
|
+
stats(): KomputerPoolStats;
|
|
50
|
+
close(options?: KomputerPoolCloseOptions): Promise<void>;
|
|
51
|
+
private entry;
|
|
52
|
+
private enforceMaxWarm;
|
|
53
|
+
private closeEntry;
|
|
54
|
+
private awaitBoot;
|
|
55
|
+
private assertOpen;
|
|
56
|
+
}
|
package/dist/pool.js
ADDED
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
export class KomputerPool {
|
|
2
|
+
bootComputer;
|
|
3
|
+
entries = new Map();
|
|
4
|
+
idleForMs;
|
|
5
|
+
maxWarm;
|
|
6
|
+
now;
|
|
7
|
+
closed = false;
|
|
8
|
+
constructor(options) {
|
|
9
|
+
this.bootComputer = options.boot;
|
|
10
|
+
this.idleForMs = Math.max(0, options.idleForMs ?? 60_000);
|
|
11
|
+
this.maxWarm = Math.max(0, options.maxWarm ?? Number.POSITIVE_INFINITY);
|
|
12
|
+
this.now = options.now ?? (() => Date.now());
|
|
13
|
+
}
|
|
14
|
+
async get(key) {
|
|
15
|
+
this.assertOpen();
|
|
16
|
+
const entry = this.entry(key);
|
|
17
|
+
entry.lastUsed = this.now();
|
|
18
|
+
if (entry.computer && !entry.computer.closed)
|
|
19
|
+
return entry.computer;
|
|
20
|
+
if (entry.booting)
|
|
21
|
+
return this.awaitBoot(key, entry);
|
|
22
|
+
entry.booting = this.bootComputer(key)
|
|
23
|
+
.then((computer) => {
|
|
24
|
+
entry.computer = computer;
|
|
25
|
+
entry.lastUsed = this.now();
|
|
26
|
+
return computer;
|
|
27
|
+
})
|
|
28
|
+
.catch((error) => {
|
|
29
|
+
if (!entry.computer)
|
|
30
|
+
this.entries.delete(key);
|
|
31
|
+
throw error;
|
|
32
|
+
})
|
|
33
|
+
.finally(() => {
|
|
34
|
+
entry.booting = undefined;
|
|
35
|
+
});
|
|
36
|
+
return this.awaitBoot(key, entry);
|
|
37
|
+
}
|
|
38
|
+
async login(key, agentName = 'assistant', options = {}) {
|
|
39
|
+
const computer = await this.get(key);
|
|
40
|
+
const session = await computer.login(agentName, options);
|
|
41
|
+
this.touch(key);
|
|
42
|
+
return session;
|
|
43
|
+
}
|
|
44
|
+
async withLogin(key, agentOrOptions, optionsOrFn, maybeFn) {
|
|
45
|
+
const agentName = typeof agentOrOptions === 'string' ? agentOrOptions : agentOrOptions.agent ?? 'assistant';
|
|
46
|
+
const options = typeof agentOrOptions === 'string' ? optionsOrFn : agentOrOptions;
|
|
47
|
+
const fn = typeof optionsOrFn === 'function' ? optionsOrFn : maybeFn;
|
|
48
|
+
if (!fn)
|
|
49
|
+
throw new Error('KomputerPool.withLogin requires a callback');
|
|
50
|
+
const computer = await this.get(key);
|
|
51
|
+
const agent = await computer.login(agentName, options);
|
|
52
|
+
try {
|
|
53
|
+
return await fn(agent, computer);
|
|
54
|
+
}
|
|
55
|
+
finally {
|
|
56
|
+
this.touch(key);
|
|
57
|
+
if (!agent.closed)
|
|
58
|
+
await agent.detach().catch(() => undefined);
|
|
59
|
+
if (this.maxWarm === 0)
|
|
60
|
+
await this.release(key).catch(() => undefined);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
touch(key) {
|
|
64
|
+
this.assertOpen();
|
|
65
|
+
this.entry(key).lastUsed = this.now();
|
|
66
|
+
}
|
|
67
|
+
async sweep(options = {}) {
|
|
68
|
+
this.assertOpen();
|
|
69
|
+
const nowMs = options.now instanceof Date ? options.now.getTime() : options.now ?? this.now();
|
|
70
|
+
const idleForMs = Math.max(0, options.idleForMs ?? this.idleForMs);
|
|
71
|
+
const closed = [];
|
|
72
|
+
for (const entry of [...this.entries.values()]) {
|
|
73
|
+
if (!entry.computer || entry.booting)
|
|
74
|
+
continue;
|
|
75
|
+
if (entry.computer.closed) {
|
|
76
|
+
this.entries.delete(entry.key);
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
await entry.computer.detachIdleSessions({ idleForMs, now: nowMs });
|
|
80
|
+
if (entry.computer.sessions.size > 0)
|
|
81
|
+
continue;
|
|
82
|
+
if (nowMs - entry.lastUsed >= idleForMs) {
|
|
83
|
+
await this.closeEntry(entry);
|
|
84
|
+
closed.push(entry.key);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
closed.push(...await this.enforceMaxWarm());
|
|
88
|
+
return unique(closed);
|
|
89
|
+
}
|
|
90
|
+
async release(key, options = {}) {
|
|
91
|
+
this.assertOpen();
|
|
92
|
+
const entry = this.entries.get(key);
|
|
93
|
+
if (!entry)
|
|
94
|
+
return false;
|
|
95
|
+
this.entries.delete(key);
|
|
96
|
+
const computer = entry.computer ?? (entry.booting ? await entry.booting : undefined);
|
|
97
|
+
await computer?.close(options);
|
|
98
|
+
return true;
|
|
99
|
+
}
|
|
100
|
+
stats() {
|
|
101
|
+
const entries = [...this.entries.values()];
|
|
102
|
+
return {
|
|
103
|
+
warm: entries.filter((entry) => entry.computer && !entry.computer.closed).length,
|
|
104
|
+
booting: entries.filter((entry) => entry.booting).length,
|
|
105
|
+
sessions: entries.reduce((total, entry) => total + (entry.computer?.sessions.size ?? 0), 0),
|
|
106
|
+
activeProcesses: entries.reduce((total, entry) => total + (entry.computer?.stats().localActiveProcesses ?? 0), 0),
|
|
107
|
+
keys: entries.map((entry) => entry.key).sort(),
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
async close(options = {}) {
|
|
111
|
+
if (this.closed)
|
|
112
|
+
return;
|
|
113
|
+
this.closed = true;
|
|
114
|
+
const entries = [...this.entries.values()];
|
|
115
|
+
this.entries.clear();
|
|
116
|
+
const results = await Promise.allSettled(entries.map(async (entry) => {
|
|
117
|
+
const computer = entry.computer ?? (entry.booting ? await entry.booting : undefined);
|
|
118
|
+
await computer?.close(options);
|
|
119
|
+
}));
|
|
120
|
+
const failures = results.filter((result) => result.status === 'rejected');
|
|
121
|
+
if (failures.length === 1)
|
|
122
|
+
throw failures[0].reason;
|
|
123
|
+
if (failures.length > 1)
|
|
124
|
+
throw new AggregateError(failures.map((failure) => failure.reason), 'KomputerPool close failed');
|
|
125
|
+
}
|
|
126
|
+
entry(key) {
|
|
127
|
+
let entry = this.entries.get(key);
|
|
128
|
+
if (!entry) {
|
|
129
|
+
entry = { key, lastUsed: this.now() };
|
|
130
|
+
this.entries.set(key, entry);
|
|
131
|
+
}
|
|
132
|
+
return entry;
|
|
133
|
+
}
|
|
134
|
+
async enforceMaxWarm() {
|
|
135
|
+
const warm = [...this.entries.values()]
|
|
136
|
+
.filter((entry) => entry.computer && !entry.computer.closed && entry.computer.sessions.size === 0)
|
|
137
|
+
.sort((a, b) => a.lastUsed - b.lastUsed);
|
|
138
|
+
const closed = [];
|
|
139
|
+
let warmCount = warm.length;
|
|
140
|
+
while (warmCount > this.maxWarm && warm.length) {
|
|
141
|
+
const entry = warm.shift();
|
|
142
|
+
if (!entry)
|
|
143
|
+
break;
|
|
144
|
+
await this.closeEntry(entry);
|
|
145
|
+
closed.push(entry.key);
|
|
146
|
+
warmCount -= 1;
|
|
147
|
+
}
|
|
148
|
+
return closed;
|
|
149
|
+
}
|
|
150
|
+
async closeEntry(entry) {
|
|
151
|
+
await entry.computer?.close();
|
|
152
|
+
this.entries.delete(entry.key);
|
|
153
|
+
}
|
|
154
|
+
async awaitBoot(key, entry) {
|
|
155
|
+
const computer = await entry.booting;
|
|
156
|
+
if (!computer)
|
|
157
|
+
throw new Error(`KomputerPool boot failed for ${key}`);
|
|
158
|
+
if (this.closed)
|
|
159
|
+
throw new Error('KomputerPool is closed');
|
|
160
|
+
if (this.entries.get(key) !== entry || computer.closed)
|
|
161
|
+
throw new Error(`KomputerPool entry released: ${key}`);
|
|
162
|
+
return computer;
|
|
163
|
+
}
|
|
164
|
+
assertOpen() {
|
|
165
|
+
if (this.closed)
|
|
166
|
+
throw new Error('KomputerPool is closed');
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
function unique(values) {
|
|
170
|
+
return [...new Set(values)];
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=pool.js.map
|
package/dist/pool.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../../../../packages/komputer/src/pool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export type ReceiptStatus = 'pending' | 'committed' | 'failed' | 'uncertain';
|
|
2
|
+
export interface EffectReceipt {
|
|
3
|
+
id: string;
|
|
4
|
+
traceId: number;
|
|
5
|
+
sessionId: string;
|
|
6
|
+
agent: string;
|
|
7
|
+
kind: string;
|
|
8
|
+
target: string;
|
|
9
|
+
summary: string;
|
|
10
|
+
status: ReceiptStatus;
|
|
11
|
+
by?: string;
|
|
12
|
+
requestedAt: string;
|
|
13
|
+
committedAt?: string;
|
|
14
|
+
failedAt?: string;
|
|
15
|
+
inputHash?: string;
|
|
16
|
+
outputHash?: string;
|
|
17
|
+
policy?: unknown;
|
|
18
|
+
reconcile?: {
|
|
19
|
+
needed: true;
|
|
20
|
+
result: 'still_unknown';
|
|
21
|
+
};
|
|
22
|
+
error?: unknown;
|
|
23
|
+
}
|
|
24
|
+
export interface MakeReceiptInput {
|
|
25
|
+
traceId: number;
|
|
26
|
+
sessionId: string;
|
|
27
|
+
agent: string;
|
|
28
|
+
kind: string;
|
|
29
|
+
target: string;
|
|
30
|
+
summary: string;
|
|
31
|
+
status?: ReceiptStatus;
|
|
32
|
+
by?: string;
|
|
33
|
+
input?: unknown;
|
|
34
|
+
output?: unknown;
|
|
35
|
+
policy?: unknown;
|
|
36
|
+
error?: unknown;
|
|
37
|
+
}
|
|
38
|
+
export interface FinishReceiptInput {
|
|
39
|
+
status: ReceiptStatus;
|
|
40
|
+
output?: unknown;
|
|
41
|
+
error?: unknown;
|
|
42
|
+
}
|
|
43
|
+
export declare function makeReceipt({ traceId, sessionId, agent, kind, target, summary, status, by, input, output, policy, error, }: MakeReceiptInput): EffectReceipt;
|
|
44
|
+
export declare function finishReceipt(receipt: EffectReceipt, { status, output, error }: FinishReceiptInput): EffectReceipt;
|
package/dist/receipts.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { id, now, sha256 } from "./utils.js";
|
|
2
|
+
export function makeReceipt({ traceId, sessionId, agent, kind, target, summary, status = 'pending', by, input, output, policy, error, }) {
|
|
3
|
+
return {
|
|
4
|
+
id: id('receipt'),
|
|
5
|
+
traceId,
|
|
6
|
+
sessionId,
|
|
7
|
+
agent,
|
|
8
|
+
kind,
|
|
9
|
+
target,
|
|
10
|
+
summary,
|
|
11
|
+
status,
|
|
12
|
+
by,
|
|
13
|
+
requestedAt: now(),
|
|
14
|
+
committedAt: status === 'committed' ? now() : undefined,
|
|
15
|
+
failedAt: status === 'failed' ? now() : undefined,
|
|
16
|
+
inputHash: input === undefined ? undefined : sha256(JSON.stringify(input)),
|
|
17
|
+
outputHash: output === undefined ? undefined : sha256(JSON.stringify(output)),
|
|
18
|
+
policy,
|
|
19
|
+
reconcile: status === 'uncertain' ? { needed: true, result: 'still_unknown' } : undefined,
|
|
20
|
+
error,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export function finishReceipt(receipt, { status, output, error }) {
|
|
24
|
+
const at = now();
|
|
25
|
+
return {
|
|
26
|
+
...receipt,
|
|
27
|
+
status,
|
|
28
|
+
committedAt: status === 'committed' ? at : undefined,
|
|
29
|
+
failedAt: status === 'failed' ? at : undefined,
|
|
30
|
+
outputHash: output === undefined ? receipt.outputHash : sha256(JSON.stringify(output)),
|
|
31
|
+
reconcile: status === 'uncertain' ? { needed: true, result: 'still_unknown' } : undefined,
|
|
32
|
+
error: error === undefined ? receipt.error : error,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=receipts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"receipts.js","sourceRoot":"","sources":["../../../../packages/komputer/src/receipts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AA6C5C,MAAM,UAAU,WAAW,CAAC,EAC1B,OAAO,EACP,SAAS,EACT,KAAK,EACL,IAAI,EACJ,MAAM,EACN,OAAO,EACP,MAAM,GAAG,SAAS,EAClB,EAAE,EACF,KAAK,EACL,MAAM,EACN,MAAM,EACN,KAAK,GACY;IACjB,OAAO;QACL,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC;QACjB,OAAO;QACP,SAAS;QACT,KAAK;QACL,IAAI;QACJ,MAAM;QACN,OAAO;QACP,MAAM;QACN,EAAE;QACF,WAAW,EAAE,GAAG,EAAE;QAClB,WAAW,EAAE,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS;QACvD,QAAQ,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS;QACjD,SAAS,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC1E,UAAU,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC7E,MAAM;QACN,SAAS,EAAE,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS;QACzF,KAAK;KACN,CAAA;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAsB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAsB;IACjG,MAAM,EAAE,GAAG,GAAG,EAAE,CAAA;IAChB,OAAO;QACL,GAAG,OAAO;QACV,MAAM;QACN,WAAW,EAAE,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;QACpD,QAAQ,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;QAC9C,UAAU,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACtF,SAAS,EAAE,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS;QACzF,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;KACnD,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { spawn } from 'node:child_process';
|
|
2
|
+
export function localRemote() {
|
|
3
|
+
return {
|
|
4
|
+
name: 'node',
|
|
5
|
+
capabilities: {
|
|
6
|
+
storage: true,
|
|
7
|
+
shell: true,
|
|
8
|
+
terminal: false,
|
|
9
|
+
network: true,
|
|
10
|
+
sandbox: { shell: 'unsupported' },
|
|
11
|
+
},
|
|
12
|
+
shell: {
|
|
13
|
+
exec: nodeShellExec,
|
|
14
|
+
spawn: nodeShellSpawn,
|
|
15
|
+
isRunning(ref) {
|
|
16
|
+
if (!ref.pid)
|
|
17
|
+
return false;
|
|
18
|
+
try {
|
|
19
|
+
process.kill(ref.pid, 0);
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
kill(ref, signal = 'SIGTERM') {
|
|
27
|
+
if (!ref.pid)
|
|
28
|
+
return false;
|
|
29
|
+
try {
|
|
30
|
+
process.kill(ref.pid, signal);
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
async function nodeShellExec({ script, cwd, env, stdin, foreground = true, limits, sandbox }) {
|
|
41
|
+
const proc = await nodeShellSpawn({ script, cwd, env, stdin, foreground, limits, sandbox });
|
|
42
|
+
let stdout = '';
|
|
43
|
+
let stderr = '';
|
|
44
|
+
const stdoutTask = collect(proc.stdout, (text) => { stdout += text; });
|
|
45
|
+
const stderrTask = collect(proc.stderr, (text) => { stderr += text; });
|
|
46
|
+
const result = await proc.done;
|
|
47
|
+
await Promise.all([stdoutTask, stderrTask]);
|
|
48
|
+
return { ...result, stdout, stderr: result.stderr || stderr };
|
|
49
|
+
}
|
|
50
|
+
async function nodeShellSpawn({ script, cwd, env, stdin, foreground = true, limits }) {
|
|
51
|
+
const proc = spawn('bash', ['-lc', script], {
|
|
52
|
+
cwd,
|
|
53
|
+
env: { ...process.env, ...env },
|
|
54
|
+
detached: !foreground,
|
|
55
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
56
|
+
});
|
|
57
|
+
proc.stdin?.end(stdin ?? '');
|
|
58
|
+
const stdout = proc.stdout;
|
|
59
|
+
const stderr = proc.stderr;
|
|
60
|
+
let timedOut = false;
|
|
61
|
+
const timeout = normalizeTimeoutMs(limits?.timeoutMs);
|
|
62
|
+
const timeoutHandle = timeout === undefined
|
|
63
|
+
? undefined
|
|
64
|
+
: setTimeout(() => {
|
|
65
|
+
timedOut = true;
|
|
66
|
+
proc.kill('SIGTERM');
|
|
67
|
+
}, timeout);
|
|
68
|
+
timeoutHandle?.unref?.();
|
|
69
|
+
if (!foreground)
|
|
70
|
+
proc.unref();
|
|
71
|
+
return {
|
|
72
|
+
ref: { pid: proc.pid },
|
|
73
|
+
stdout: streamText(stdout),
|
|
74
|
+
stderr: streamText(stderr),
|
|
75
|
+
done: new Promise((resolve) => {
|
|
76
|
+
proc.on('error', (error) => {
|
|
77
|
+
if (timeoutHandle)
|
|
78
|
+
clearTimeout(timeoutHandle);
|
|
79
|
+
resolve({ code: 1, signal: null, stdout: '', stderr: error.message });
|
|
80
|
+
});
|
|
81
|
+
proc.on('close', (code, signal) => {
|
|
82
|
+
if (timeoutHandle)
|
|
83
|
+
clearTimeout(timeoutHandle);
|
|
84
|
+
resolve({
|
|
85
|
+
code: timedOut ? 124 : code ?? 1,
|
|
86
|
+
signal: signal ?? null,
|
|
87
|
+
stdout: '',
|
|
88
|
+
stderr: timedOut ? `command timed out after ${timeout}ms\n` : '',
|
|
89
|
+
timedOut: timedOut || undefined,
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
}),
|
|
93
|
+
unref() {
|
|
94
|
+
proc.unref();
|
|
95
|
+
},
|
|
96
|
+
detach() {
|
|
97
|
+
proc.unref();
|
|
98
|
+
stdout?.destroy();
|
|
99
|
+
stderr?.destroy();
|
|
100
|
+
},
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
function normalizeTimeoutMs(value) {
|
|
104
|
+
if (typeof value !== 'number' || !Number.isFinite(value))
|
|
105
|
+
return undefined;
|
|
106
|
+
const integer = Math.trunc(value);
|
|
107
|
+
if (integer <= 0)
|
|
108
|
+
return undefined;
|
|
109
|
+
return integer;
|
|
110
|
+
}
|
|
111
|
+
async function collect(stream, onText) {
|
|
112
|
+
for await (const text of stream)
|
|
113
|
+
onText(text);
|
|
114
|
+
}
|
|
115
|
+
async function* streamText(stream) {
|
|
116
|
+
if (!stream)
|
|
117
|
+
return;
|
|
118
|
+
for await (const chunk of stream) {
|
|
119
|
+
yield Buffer.isBuffer(chunk) ? chunk.toString() : String(chunk);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=remote-node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-node.js","sourceRoot":"","sources":["../../../../packages/komputer/src/remote-node.ts"],"names":[],"mappings":"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"}
|