@vibesdotdev/host-bun 0.0.0-stage → 1.0.0-rc.2
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/LICENSE +18 -0
- package/README.md +222 -2
- package/dist/applet-serve-host/applet-serve-host.impl.bun.d.ts +6 -0
- package/dist/applet-serve-host/applet-serve-host.impl.bun.d.ts.map +1 -0
- package/dist/applet-serve-host/applet-serve-host.impl.bun.js +80 -0
- package/dist/applet-serve-host/applet-serve-host.impl.bun.js.map +1 -0
- package/dist/applet-serve-host/applet-serve-host.plugin.d.ts +22 -0
- package/dist/applet-serve-host/applet-serve-host.plugin.d.ts.map +1 -0
- package/dist/applet-serve-host/applet-serve-host.plugin.js +42 -0
- package/dist/applet-serve-host/applet-serve-host.plugin.js.map +1 -0
- package/dist/applet-serve-host/index.d.ts +7 -0
- package/dist/applet-serve-host/index.d.ts.map +1 -0
- package/dist/applet-serve-host/index.js +7 -0
- package/dist/applet-serve-host/index.js.map +1 -0
- package/dist/applet-serve-host/stylesheet.compiler.d.ts +7 -0
- package/dist/applet-serve-host/stylesheet.compiler.d.ts.map +1 -0
- package/dist/applet-serve-host/stylesheet.compiler.js +63 -0
- package/dist/applet-serve-host/stylesheet.compiler.js.map +1 -0
- package/dist/atlas-migrations/register-atlas-host-migrations.d.ts +21 -0
- package/dist/atlas-migrations/register-atlas-host-migrations.d.ts.map +1 -0
- package/dist/atlas-migrations/register-atlas-host-migrations.js +148 -0
- package/dist/atlas-migrations/register-atlas-host-migrations.js.map +1 -0
- package/dist/buffered-capture.d.ts +4 -0
- package/dist/buffered-capture.d.ts.map +1 -0
- package/dist/buffered-capture.impl.bun.d.ts +18 -0
- package/dist/buffered-capture.impl.bun.d.ts.map +1 -0
- package/dist/buffered-capture.impl.bun.js +148 -0
- package/dist/buffered-capture.impl.bun.js.map +1 -0
- package/dist/buffered-capture.js +5 -0
- package/dist/buffered-capture.js.map +1 -0
- package/dist/bun-environment.impl.bun.d.ts +231 -0
- package/dist/bun-environment.impl.bun.d.ts.map +1 -0
- package/dist/bun-environment.impl.bun.js +352 -0
- package/dist/bun-environment.impl.bun.js.map +1 -0
- package/dist/cache-redis/cache-redis-connector.impl.bun.d.ts +20 -0
- package/dist/cache-redis/cache-redis-connector.impl.bun.d.ts.map +1 -0
- package/dist/cache-redis/cache-redis-connector.impl.bun.js +30 -0
- package/dist/cache-redis/cache-redis-connector.impl.bun.js.map +1 -0
- package/dist/cache-redis/cache-redis-connector.plugin.d.ts +21 -0
- package/dist/cache-redis/cache-redis-connector.plugin.d.ts.map +1 -0
- package/dist/cache-redis/cache-redis-connector.plugin.js +32 -0
- package/dist/cache-redis/cache-redis-connector.plugin.js.map +1 -0
- package/dist/cli-checkout.impl.bun.d.ts +13 -0
- package/dist/cli-checkout.impl.bun.d.ts.map +1 -0
- package/dist/cli-checkout.impl.bun.js +26 -0
- package/dist/cli-checkout.impl.bun.js.map +1 -0
- package/dist/docs/runtime-environment-bun.docs.descriptor.d.ts +19 -0
- package/dist/docs/runtime-environment-bun.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/runtime-environment-bun.docs.descriptor.js +116 -0
- package/dist/docs/runtime-environment-bun.docs.descriptor.js.map +1 -0
- package/dist/filesystem/adapter.impl.bun.d.ts +15 -0
- package/dist/filesystem/adapter.impl.bun.d.ts.map +1 -0
- package/dist/filesystem/adapter.impl.bun.js +11 -0
- package/dist/filesystem/adapter.impl.bun.js.map +1 -0
- package/dist/filesystem/host-primitives.impl.bun.d.ts +12 -0
- package/dist/filesystem/host-primitives.impl.bun.d.ts.map +1 -0
- package/dist/filesystem/host-primitives.impl.bun.js +96 -0
- package/dist/filesystem/host-primitives.impl.bun.js.map +1 -0
- package/dist/filesystem/register.d.ts +12 -0
- package/dist/filesystem/register.d.ts.map +1 -0
- package/dist/filesystem/register.js +6 -0
- package/dist/filesystem/register.js.map +1 -0
- package/dist/filesystem/rooted-exclusive.impl.bun.d.ts +4 -0
- package/dist/filesystem/rooted-exclusive.impl.bun.d.ts.map +1 -0
- package/dist/filesystem/rooted-exclusive.impl.bun.js +135 -0
- package/dist/filesystem/rooted-exclusive.impl.bun.js.map +1 -0
- package/dist/held-launch/abi.impl.bun.d.ts +175 -0
- package/dist/held-launch/abi.impl.bun.d.ts.map +1 -0
- package/dist/held-launch/abi.impl.bun.js +476 -0
- package/dist/held-launch/abi.impl.bun.js.map +1 -0
- package/dist/held-launch/execution.impl.bun.d.ts +48 -0
- package/dist/held-launch/execution.impl.bun.d.ts.map +1 -0
- package/dist/held-launch/execution.impl.bun.js +375 -0
- package/dist/held-launch/execution.impl.bun.js.map +1 -0
- package/dist/held-launch/library.impl.bun.d.ts +23 -0
- package/dist/held-launch/library.impl.bun.d.ts.map +1 -0
- package/dist/held-launch/library.impl.bun.js +178 -0
- package/dist/held-launch/library.impl.bun.js.map +1 -0
- package/dist/held-launch/schemas.d.ts +10 -0
- package/dist/held-launch/schemas.d.ts.map +1 -0
- package/dist/held-launch/schemas.js +3 -0
- package/dist/held-launch/schemas.js.map +1 -0
- package/dist/held-launch/streams.impl.bun.d.ts +38 -0
- package/dist/held-launch/streams.impl.bun.d.ts.map +1 -0
- package/dist/held-launch/streams.impl.bun.js +183 -0
- package/dist/held-launch/streams.impl.bun.js.map +1 -0
- package/dist/host-channel.impl.bun.d.ts +25 -0
- package/dist/host-channel.impl.bun.d.ts.map +1 -0
- package/dist/host-channel.impl.bun.js +40 -0
- package/dist/host-channel.impl.bun.js.map +1 -0
- package/dist/host-client.impl.bun.d.ts +31 -0
- package/dist/host-client.impl.bun.d.ts.map +1 -0
- package/dist/host-client.impl.bun.js +39 -0
- package/dist/host-client.impl.bun.js.map +1 -0
- package/dist/host-credentials.d.ts +38 -0
- package/dist/host-credentials.d.ts.map +1 -0
- package/dist/host-credentials.js +44 -0
- package/dist/host-credentials.js.map +1 -0
- package/dist/host-loader.impl.bun.d.ts +12 -0
- package/dist/host-loader.impl.bun.d.ts.map +1 -0
- package/dist/host-loader.impl.bun.js +83 -0
- package/dist/host-loader.impl.bun.js.map +1 -0
- package/dist/host-signal.impl.bun.d.ts +11 -0
- package/dist/host-signal.impl.bun.d.ts.map +1 -0
- package/dist/host-signal.impl.bun.js +28 -0
- package/dist/host-signal.impl.bun.js.map +1 -0
- package/dist/http-listener.impl.bun.d.ts +8 -0
- package/dist/http-listener.impl.bun.d.ts.map +1 -0
- package/dist/http-listener.impl.bun.js +44 -0
- package/dist/http-listener.impl.bun.js.map +1 -0
- package/dist/index.d.ts +38 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +314 -0
- package/dist/index.js.map +1 -0
- package/dist/local-execution.impl.bun.d.ts +47 -0
- package/dist/local-execution.impl.bun.d.ts.map +1 -0
- package/dist/local-execution.impl.bun.js +150 -0
- package/dist/local-execution.impl.bun.js.map +1 -0
- package/dist/logging/file-host.impl.bun.d.ts +4 -0
- package/dist/logging/file-host.impl.bun.d.ts.map +1 -0
- package/dist/logging/file-host.impl.bun.js +36 -0
- package/dist/logging/file-host.impl.bun.js.map +1 -0
- package/dist/logging/logging.plugin.d.ts +12 -0
- package/dist/logging/logging.plugin.d.ts.map +1 -0
- package/dist/logging/logging.plugin.js +20 -0
- package/dist/logging/logging.plugin.js.map +1 -0
- package/dist/native/held-launch/aarch64-apple-darwin/libvibes_held_launch.dylib +0 -0
- package/dist/native/held-launch/aarch64-apple-darwin/manifest.json +237 -0
- package/dist/native/held-launch/aarch64-apple-darwin/vibes-held-launch +0 -0
- package/dist/native/held-launch/aarch64-unknown-linux-gnu/libvibes_held_launch.so +0 -0
- package/dist/native/held-launch/aarch64-unknown-linux-gnu/manifest.json +237 -0
- package/dist/native/held-launch/aarch64-unknown-linux-gnu/vibes-held-launch +0 -0
- package/dist/native/held-launch/x86_64-apple-darwin/libvibes_held_launch.dylib +0 -0
- package/dist/native/held-launch/x86_64-apple-darwin/manifest.json +237 -0
- package/dist/native/held-launch/x86_64-apple-darwin/vibes-held-launch +0 -0
- package/dist/native/held-launch/x86_64-unknown-linux-gnu/libvibes_held_launch.so +0 -0
- package/dist/native/held-launch/x86_64-unknown-linux-gnu/manifest.json +237 -0
- package/dist/native/held-launch/x86_64-unknown-linux-gnu/vibes-held-launch +0 -0
- package/dist/native-image.consumer.plugin.d.ts +4 -0
- package/dist/native-image.consumer.plugin.d.ts.map +1 -0
- package/dist/native-image.consumer.plugin.js +14 -0
- package/dist/native-image.consumer.plugin.js.map +1 -0
- package/dist/native-image.d.ts +79 -0
- package/dist/native-image.d.ts.map +1 -0
- package/dist/native-image.impl.consumer.d.ts +15 -0
- package/dist/native-image.impl.consumer.d.ts.map +1 -0
- package/dist/native-image.impl.consumer.js +86 -0
- package/dist/native-image.impl.consumer.js.map +1 -0
- package/dist/native-image.js +19 -0
- package/dist/native-image.js.map +1 -0
- package/dist/native-library.consumer.plugin.d.ts +6 -0
- package/dist/native-library.consumer.plugin.d.ts.map +1 -0
- package/dist/native-library.consumer.plugin.js +33 -0
- package/dist/native-library.consumer.plugin.js.map +1 -0
- package/dist/native-library.impl.consumer.d.ts +14 -0
- package/dist/native-library.impl.consumer.d.ts.map +1 -0
- package/dist/native-library.impl.consumer.js +46 -0
- package/dist/native-library.impl.consumer.js.map +1 -0
- package/dist/native-network/index.d.ts +3 -0
- package/dist/native-network/index.d.ts.map +1 -0
- package/dist/native-network/index.js +3 -0
- package/dist/native-network/index.js.map +1 -0
- package/dist/native-network/native-host.d.ts +4 -0
- package/dist/native-network/native-host.d.ts.map +1 -0
- package/dist/native-network/native-host.js +14 -0
- package/dist/native-network/native-host.js.map +1 -0
- package/dist/native-network/native-network.descriptor.d.ts +4 -0
- package/dist/native-network/native-network.descriptor.d.ts.map +1 -0
- package/dist/native-network/native-network.descriptor.js +11 -0
- package/dist/native-network/native-network.descriptor.js.map +1 -0
- package/dist/native-network/native-network.impl.bun.d.ts +19 -0
- package/dist/native-network/native-network.impl.bun.d.ts.map +1 -0
- package/dist/native-network/native-network.impl.bun.js +190 -0
- package/dist/native-network/native-network.impl.bun.js.map +1 -0
- package/dist/native-network/native-network.plugin.d.ts +6 -0
- package/dist/native-network/native-network.plugin.d.ts.map +1 -0
- package/dist/native-network/native-network.plugin.js +27 -0
- package/dist/native-network/native-network.plugin.js.map +1 -0
- package/dist/package-plugins/index.d.ts +11 -0
- package/dist/package-plugins/index.d.ts.map +1 -0
- package/dist/package-plugins/index.js +11 -0
- package/dist/package-plugins/index.js.map +1 -0
- package/dist/package-plugins/package-plugins.capability.bun.d.ts +11 -0
- package/dist/package-plugins/package-plugins.capability.bun.d.ts.map +1 -0
- package/dist/package-plugins/package-plugins.capability.bun.js +14 -0
- package/dist/package-plugins/package-plugins.capability.bun.js.map +1 -0
- package/dist/package-plugins/primitives.impl.bun.d.ts +11 -0
- package/dist/package-plugins/primitives.impl.bun.d.ts.map +1 -0
- package/dist/package-plugins/primitives.impl.bun.js +32 -0
- package/dist/package-plugins/primitives.impl.bun.js.map +1 -0
- package/dist/package-plugins/read-admission.impl.bun.d.ts +11 -0
- package/dist/package-plugins/read-admission.impl.bun.d.ts.map +1 -0
- package/dist/package-plugins/read-admission.impl.bun.js +224 -0
- package/dist/package-plugins/read-admission.impl.bun.js.map +1 -0
- package/dist/package-plugins/schemas.d.ts +28 -0
- package/dist/package-plugins/schemas.d.ts.map +1 -0
- package/dist/package-plugins/schemas.js +3 -0
- package/dist/package-plugins/schemas.js.map +1 -0
- package/dist/process/launch-artifacts.impl.bun.d.ts +11 -0
- package/dist/process/launch-artifacts.impl.bun.d.ts.map +1 -0
- package/dist/process/launch-artifacts.impl.bun.js +25 -0
- package/dist/process/launch-artifacts.impl.bun.js.map +1 -0
- package/dist/process/process-probe.impl.bun.d.ts +15 -0
- package/dist/process/process-probe.impl.bun.d.ts.map +1 -0
- package/dist/process/process-probe.impl.bun.js +35 -0
- package/dist/process/process-probe.impl.bun.js.map +1 -0
- package/dist/process/runtime-process.impl.bun.d.ts +20 -0
- package/dist/process/runtime-process.impl.bun.d.ts.map +1 -0
- package/dist/process/runtime-process.impl.bun.js +42 -0
- package/dist/process/runtime-process.impl.bun.js.map +1 -0
- package/dist/process/schemas.d.ts +9 -0
- package/dist/process/schemas.d.ts.map +1 -0
- package/dist/process/schemas.js +3 -0
- package/dist/process/schemas.js.map +1 -0
- package/dist/process/spawn.impl.bun.d.ts +31 -0
- package/dist/process/spawn.impl.bun.d.ts.map +1 -0
- package/dist/process/spawn.impl.bun.js +66 -0
- package/dist/process/spawn.impl.bun.js.map +1 -0
- package/dist/process/which.impl.bun.d.ts +16 -0
- package/dist/process/which.impl.bun.d.ts.map +1 -0
- package/dist/process/which.impl.bun.js +25 -0
- package/dist/process/which.impl.bun.js.map +1 -0
- package/dist/pty.adapter.impl.bun.d.ts +17 -0
- package/dist/pty.adapter.impl.bun.d.ts.map +1 -0
- package/dist/pty.adapter.impl.bun.js +102 -0
- package/dist/pty.adapter.impl.bun.js.map +1 -0
- package/dist/pty.darwin.impl.bun.d.ts +11 -0
- package/dist/pty.darwin.impl.bun.d.ts.map +1 -0
- package/dist/pty.darwin.impl.bun.js +200 -0
- package/dist/pty.darwin.impl.bun.js.map +1 -0
- package/dist/pty.node-host.impl.bun.d.ts +10 -0
- package/dist/pty.node-host.impl.bun.d.ts.map +1 -0
- package/dist/pty.node-host.impl.bun.js +42 -0
- package/dist/pty.node-host.impl.bun.js.map +1 -0
- package/dist/resolution-root.impl.bun.d.ts +170 -0
- package/dist/resolution-root.impl.bun.d.ts.map +1 -0
- package/dist/resolution-root.impl.bun.js +373 -0
- package/dist/resolution-root.impl.bun.js.map +1 -0
- package/dist/restricted-execute.darwin.impl.bun.d.ts +19 -0
- package/dist/restricted-execute.darwin.impl.bun.d.ts.map +1 -0
- package/dist/restricted-execute.darwin.impl.bun.js +459 -0
- package/dist/restricted-execute.darwin.impl.bun.js.map +1 -0
- package/dist/runtime-plugin-host/daemon-execution.worker-shim.bun.d.ts +2 -0
- package/dist/runtime-plugin-host/daemon-execution.worker-shim.bun.d.ts.map +1 -0
- package/dist/runtime-plugin-host/daemon-execution.worker-shim.bun.js +31 -0
- package/dist/runtime-plugin-host/daemon-execution.worker-shim.bun.js.map +1 -0
- package/dist/runtime-plugin-host/host-hot-reload.consumer.d.ts +20 -0
- package/dist/runtime-plugin-host/host-hot-reload.consumer.d.ts.map +1 -0
- package/dist/runtime-plugin-host/host-hot-reload.consumer.js +236 -0
- package/dist/runtime-plugin-host/host-hot-reload.consumer.js.map +1 -0
- package/dist/runtime-plugin-host/hot-plugin-build.worker.consumer.d.ts +2 -0
- package/dist/runtime-plugin-host/hot-plugin-build.worker.consumer.d.ts.map +1 -0
- package/dist/runtime-plugin-host/hot-plugin-build.worker.consumer.js +66 -0
- package/dist/runtime-plugin-host/hot-plugin-build.worker.consumer.js.map +1 -0
- package/dist/runtime-plugin-host/hot-plugin-module.consumer.d.ts +45 -0
- package/dist/runtime-plugin-host/hot-plugin-module.consumer.d.ts.map +1 -0
- package/dist/runtime-plugin-host/hot-plugin-module.consumer.js +490 -0
- package/dist/runtime-plugin-host/hot-plugin-module.consumer.js.map +1 -0
- package/dist/runtime-plugin-host/hot-reload.consumer.d.ts +83 -0
- package/dist/runtime-plugin-host/hot-reload.consumer.d.ts.map +1 -0
- package/dist/runtime-plugin-host/hot-reload.consumer.js +168 -0
- package/dist/runtime-plugin-host/hot-reload.consumer.js.map +1 -0
- package/dist/runtime-plugin-host/reclaim.impl.bun.d.ts +37 -0
- package/dist/runtime-plugin-host/reclaim.impl.bun.d.ts.map +1 -0
- package/dist/runtime-plugin-host/reclaim.impl.bun.js +159 -0
- package/dist/runtime-plugin-host/reclaim.impl.bun.js.map +1 -0
- package/dist/runtime-plugin-host/runtime-plugin-host.impl.bun.d.ts +4 -0
- package/dist/runtime-plugin-host/runtime-plugin-host.impl.bun.d.ts.map +1 -0
- package/dist/runtime-plugin-host/runtime-plugin-host.impl.bun.js +181 -0
- package/dist/runtime-plugin-host/runtime-plugin-host.impl.bun.js.map +1 -0
- package/dist/runtime-plugin-host/runtime-plugin-host.plugin.d.ts +17 -0
- package/dist/runtime-plugin-host/runtime-plugin-host.plugin.d.ts.map +1 -0
- package/dist/runtime-plugin-host/runtime-plugin-host.plugin.js +36 -0
- package/dist/runtime-plugin-host/runtime-plugin-host.plugin.js.map +1 -0
- package/dist/runtime-plugin-host/runtime-thread.impl.bun.d.ts +53 -0
- package/dist/runtime-plugin-host/runtime-thread.impl.bun.d.ts.map +1 -0
- package/dist/runtime-plugin-host/runtime-thread.impl.bun.js +249 -0
- package/dist/runtime-plugin-host/runtime-thread.impl.bun.js.map +1 -0
- package/dist/runtime-plugin-host/runtime-thread.shim.bun.d.ts +2 -0
- package/dist/runtime-plugin-host/runtime-thread.shim.bun.d.ts.map +1 -0
- package/dist/runtime-plugin-host/runtime-thread.shim.bun.js +56 -0
- package/dist/runtime-plugin-host/runtime-thread.shim.bun.js.map +1 -0
- package/dist/runtime-plugin-host/schemas.d.ts +437 -0
- package/dist/runtime-plugin-host/schemas.d.ts.map +1 -0
- package/dist/runtime-plugin-host/schemas.js +54 -0
- package/dist/runtime-plugin-host/schemas.js.map +1 -0
- package/dist/runtime-plugin-host/source-watcher.consumer.d.ts +109 -0
- package/dist/runtime-plugin-host/source-watcher.consumer.d.ts.map +1 -0
- package/dist/runtime-plugin-host/source-watcher.consumer.js +383 -0
- package/dist/runtime-plugin-host/source-watcher.consumer.js.map +1 -0
- package/dist/schemas/environment.d.ts +197 -0
- package/dist/schemas/environment.d.ts.map +1 -0
- package/dist/schemas/environment.js +7 -0
- package/dist/schemas/environment.js.map +1 -0
- package/dist/schemas/host-resources.d.ts +85 -0
- package/dist/schemas/host-resources.d.ts.map +1 -0
- package/dist/schemas/host-resources.js +22 -0
- package/dist/schemas/host-resources.js.map +1 -0
- package/dist/schemas/native-image.d.ts +128 -0
- package/dist/schemas/native-image.d.ts.map +1 -0
- package/dist/schemas/native-image.js +45 -0
- package/dist/schemas/native-image.js.map +1 -0
- package/dist/schemas/native-network.d.ts +56 -0
- package/dist/schemas/native-network.d.ts.map +1 -0
- package/dist/schemas/native-network.js +55 -0
- package/dist/schemas/native-network.js.map +1 -0
- package/dist/schemas/restricted-execute.d.ts +40 -0
- package/dist/schemas/restricted-execute.d.ts.map +1 -0
- package/dist/schemas/restricted-execute.js +14 -0
- package/dist/schemas/restricted-execute.js.map +1 -0
- package/dist/schemas/runtime-socket.d.ts +8 -0
- package/dist/schemas/runtime-socket.d.ts.map +1 -0
- package/dist/schemas/runtime-socket.js +7 -0
- package/dist/schemas/runtime-socket.js.map +1 -0
- package/dist/schemas/self-spawn.d.ts +11 -0
- package/dist/schemas/self-spawn.d.ts.map +1 -0
- package/dist/schemas/self-spawn.js +3 -0
- package/dist/schemas/self-spawn.js.map +1 -0
- package/dist/schemas/standard-output.d.ts +6 -0
- package/dist/schemas/standard-output.d.ts.map +1 -0
- package/dist/schemas/standard-output.js +2 -0
- package/dist/schemas/standard-output.js.map +1 -0
- package/dist/schemas/telemetry.d.ts +25 -0
- package/dist/schemas/telemetry.d.ts.map +1 -0
- package/dist/schemas/telemetry.js +10 -0
- package/dist/schemas/telemetry.js.map +1 -0
- package/dist/schemas/test-environment.d.ts +27 -0
- package/dist/schemas/test-environment.d.ts.map +1 -0
- package/dist/schemas/test-environment.js +2 -0
- package/dist/schemas/test-environment.js.map +1 -0
- package/dist/serve-stall-start.d.ts +8 -0
- package/dist/serve-stall-start.d.ts.map +1 -0
- package/dist/serve-stall-start.js +88 -0
- package/dist/serve-stall-start.js.map +1 -0
- package/dist/serve-stall.d.ts +11 -0
- package/dist/serve-stall.d.ts.map +1 -0
- package/dist/serve-stall.js +19 -0
- package/dist/serve-stall.js.map +1 -0
- package/dist/serve-stall.plugin.d.ts +10 -0
- package/dist/serve-stall.plugin.d.ts.map +1 -0
- package/dist/serve-stall.plugin.js +34 -0
- package/dist/serve-stall.plugin.js.map +1 -0
- package/dist/services/account-home.d.ts +39 -0
- package/dist/services/account-home.d.ts.map +1 -0
- package/dist/services/account-home.js +152 -0
- package/dist/services/account-home.js.map +1 -0
- package/dist/services/cli-process-host.d.ts +50 -0
- package/dist/services/cli-process-host.d.ts.map +1 -0
- package/dist/services/cli-process-host.js +88 -0
- package/dist/services/cli-process-host.js.map +1 -0
- package/dist/services/compatibility-host.impl.bun.d.ts +4 -0
- package/dist/services/compatibility-host.impl.bun.d.ts.map +1 -0
- package/dist/services/compatibility-host.impl.bun.js +24 -0
- package/dist/services/compatibility-host.impl.bun.js.map +1 -0
- package/dist/services/executable-identity.impl.bun.d.ts +164 -0
- package/dist/services/executable-identity.impl.bun.d.ts.map +1 -0
- package/dist/services/executable-identity.impl.bun.js +73 -0
- package/dist/services/executable-identity.impl.bun.js.map +1 -0
- package/dist/services/fatal-signals.impl.bun.d.ts +15 -0
- package/dist/services/fatal-signals.impl.bun.d.ts.map +1 -0
- package/dist/services/fatal-signals.impl.bun.js +61 -0
- package/dist/services/fatal-signals.impl.bun.js.map +1 -0
- package/dist/services/graph-freshness.impl.bun.d.ts +108 -0
- package/dist/services/graph-freshness.impl.bun.d.ts.map +1 -0
- package/dist/services/graph-freshness.impl.bun.js +49 -0
- package/dist/services/graph-freshness.impl.bun.js.map +1 -0
- package/dist/services/host-identity.capability.bun.d.ts +10 -0
- package/dist/services/host-identity.capability.bun.d.ts.map +1 -0
- package/dist/services/host-identity.capability.bun.js +27 -0
- package/dist/services/host-identity.capability.bun.js.map +1 -0
- package/dist/services/host-identity.impl.bun.d.ts +53 -0
- package/dist/services/host-identity.impl.bun.d.ts.map +1 -0
- package/dist/services/host-identity.impl.bun.js +76 -0
- package/dist/services/host-identity.impl.bun.js.map +1 -0
- package/dist/services/host-resources.impl.bun.d.ts +49 -0
- package/dist/services/host-resources.impl.bun.d.ts.map +1 -0
- package/dist/services/host-resources.impl.bun.js +144 -0
- package/dist/services/host-resources.impl.bun.js.map +1 -0
- package/dist/services/http-fetch.impl.bun.d.ts +10 -0
- package/dist/services/http-fetch.impl.bun.d.ts.map +1 -0
- package/dist/services/http-fetch.impl.bun.js +38 -0
- package/dist/services/http-fetch.impl.bun.js.map +1 -0
- package/dist/services/output-plane.impl.bun.d.ts +6 -0
- package/dist/services/output-plane.impl.bun.d.ts.map +1 -0
- package/dist/services/output-plane.impl.bun.js +26 -0
- package/dist/services/output-plane.impl.bun.js.map +1 -0
- package/dist/services/process-action-lifetime.consumer.d.ts +47 -0
- package/dist/services/process-action-lifetime.consumer.d.ts.map +1 -0
- package/dist/services/process-action-lifetime.consumer.js +68 -0
- package/dist/services/process-action-lifetime.consumer.js.map +1 -0
- package/dist/services/process-view.impl.bun.d.ts +18 -0
- package/dist/services/process-view.impl.bun.d.ts.map +1 -0
- package/dist/services/process-view.impl.bun.js +17 -0
- package/dist/services/process-view.impl.bun.js.map +1 -0
- package/dist/services/runtime-host-signals.impl.bun.d.ts +8 -0
- package/dist/services/runtime-host-signals.impl.bun.d.ts.map +1 -0
- package/dist/services/runtime-host-signals.impl.bun.js +29 -0
- package/dist/services/runtime-host-signals.impl.bun.js.map +1 -0
- package/dist/services/runtime-http-listener.impl.bun.d.ts +14 -0
- package/dist/services/runtime-http-listener.impl.bun.d.ts.map +1 -0
- package/dist/services/runtime-http-listener.impl.bun.js +463 -0
- package/dist/services/runtime-http-listener.impl.bun.js.map +1 -0
- package/dist/services/runtime-path.impl.bun.d.ts +16 -0
- package/dist/services/runtime-path.impl.bun.d.ts.map +1 -0
- package/dist/services/runtime-path.impl.bun.js +34 -0
- package/dist/services/runtime-path.impl.bun.js.map +1 -0
- package/dist/services/runtime-scoped-values.impl.bun.d.ts +4 -0
- package/dist/services/runtime-scoped-values.impl.bun.d.ts.map +1 -0
- package/dist/services/runtime-scoped-values.impl.bun.js +7 -0
- package/dist/services/runtime-scoped-values.impl.bun.js.map +1 -0
- package/dist/services/runtime-socket-datagram.impl.bun.d.ts +15 -0
- package/dist/services/runtime-socket-datagram.impl.bun.d.ts.map +1 -0
- package/dist/services/runtime-socket-datagram.impl.bun.js +19 -0
- package/dist/services/runtime-socket-datagram.impl.bun.js.map +1 -0
- package/dist/services/runtime-socket.impl.bun.d.ts +20 -0
- package/dist/services/runtime-socket.impl.bun.d.ts.map +1 -0
- package/dist/services/runtime-socket.impl.bun.js +47 -0
- package/dist/services/runtime-socket.impl.bun.js.map +1 -0
- package/dist/services/runtime-stdio.impl.bun.d.ts +11 -0
- package/dist/services/runtime-stdio.impl.bun.d.ts.map +1 -0
- package/dist/services/runtime-stdio.impl.bun.js +37 -0
- package/dist/services/runtime-stdio.impl.bun.js.map +1 -0
- package/dist/services/self-spawn.impl.bun.d.ts +39 -0
- package/dist/services/self-spawn.impl.bun.d.ts.map +1 -0
- package/dist/services/self-spawn.impl.bun.js +58 -0
- package/dist/services/self-spawn.impl.bun.js.map +1 -0
- package/dist/services/standard-output.d.ts +100 -0
- package/dist/services/standard-output.d.ts.map +1 -0
- package/dist/services/standard-output.js +35 -0
- package/dist/services/standard-output.js.map +1 -0
- package/dist/services/user-environment.impl.bun.d.ts +19 -0
- package/dist/services/user-environment.impl.bun.d.ts.map +1 -0
- package/dist/services/user-environment.impl.bun.js +117 -0
- package/dist/services/user-environment.impl.bun.js.map +1 -0
- package/dist/services/workspace-env.d.ts +30 -0
- package/dist/services/workspace-env.d.ts.map +1 -0
- package/dist/services/workspace-env.js +45 -0
- package/dist/services/workspace-env.js.map +1 -0
- package/dist/services/workspace-root-probe.impl.bun.d.ts +14 -0
- package/dist/services/workspace-root-probe.impl.bun.d.ts.map +1 -0
- package/dist/services/workspace-root-probe.impl.bun.js +27 -0
- package/dist/services/workspace-root-probe.impl.bun.js.map +1 -0
- package/dist/session-members.impl.bun.d.ts +22 -0
- package/dist/session-members.impl.bun.d.ts.map +1 -0
- package/dist/session-members.impl.bun.js +74 -0
- package/dist/session-members.impl.bun.js.map +1 -0
- package/dist/sqlite-driver/index.d.ts +7 -0
- package/dist/sqlite-driver/index.d.ts.map +1 -0
- package/dist/sqlite-driver/index.js +7 -0
- package/dist/sqlite-driver/index.js.map +1 -0
- package/dist/sqlite-driver/sqlite-driver.impl.bun.d.ts +6 -0
- package/dist/sqlite-driver/sqlite-driver.impl.bun.d.ts.map +1 -0
- package/dist/sqlite-driver/sqlite-driver.impl.bun.js +269 -0
- package/dist/sqlite-driver/sqlite-driver.impl.bun.js.map +1 -0
- package/dist/sqlite-driver/sqlite-driver.plugin.d.ts +22 -0
- package/dist/sqlite-driver/sqlite-driver.plugin.d.ts.map +1 -0
- package/dist/sqlite-driver/sqlite-driver.plugin.js +44 -0
- package/dist/sqlite-driver/sqlite-driver.plugin.js.map +1 -0
- package/dist/telemetry/telemetry.d.ts +34 -0
- package/dist/telemetry/telemetry.d.ts.map +1 -0
- package/dist/telemetry/telemetry.js +2 -0
- package/dist/telemetry/telemetry.js.map +1 -0
- package/dist/telemetry/telemetry.plugin.d.ts +4 -0
- package/dist/telemetry/telemetry.plugin.d.ts.map +1 -0
- package/dist/telemetry/telemetry.plugin.js +78 -0
- package/dist/telemetry/telemetry.plugin.js.map +1 -0
- package/dist/terminal-pty-bridge.impl.bun.d.ts +31 -0
- package/dist/terminal-pty-bridge.impl.bun.d.ts.map +1 -0
- package/dist/terminal-pty-bridge.impl.bun.js +333 -0
- package/dist/terminal-pty-bridge.impl.bun.js.map +1 -0
- package/dist/test-tooling/lazy-environment.impl.bun.d.ts +16 -0
- package/dist/test-tooling/lazy-environment.impl.bun.d.ts.map +1 -0
- package/dist/test-tooling/lazy-environment.impl.bun.js +36 -0
- package/dist/test-tooling/lazy-environment.impl.bun.js.map +1 -0
- package/dist/test-tooling/starttls-refusal.d.ts +7 -0
- package/dist/test-tooling/starttls-refusal.d.ts.map +1 -0
- package/dist/test-tooling/starttls-refusal.js +50 -0
- package/dist/test-tooling/starttls-refusal.js.map +1 -0
- package/dist/test-tooling/svelte-client-preload.impl.bun.d.ts +2 -0
- package/dist/test-tooling/svelte-client-preload.impl.bun.d.ts.map +1 -0
- package/dist/test-tooling/svelte-client-preload.impl.bun.js +4 -0
- package/dist/test-tooling/svelte-client-preload.impl.bun.js.map +1 -0
- package/dist/test-tooling/svelte-compiler.impl.bun.d.ts +10 -0
- package/dist/test-tooling/svelte-compiler.impl.bun.d.ts.map +1 -0
- package/dist/test-tooling/svelte-compiler.impl.bun.js +33 -0
- package/dist/test-tooling/svelte-compiler.impl.bun.js.map +1 -0
- package/dist/test-tooling/svelte-server-preload.impl.bun.d.ts +2 -0
- package/dist/test-tooling/svelte-server-preload.impl.bun.d.ts.map +1 -0
- package/dist/test-tooling/svelte-server-preload.impl.bun.js +4 -0
- package/dist/test-tooling/svelte-server-preload.impl.bun.js.map +1 -0
- package/dist/test-tooling/test-environment.impl.bun.d.ts +45 -0
- package/dist/test-tooling/test-environment.impl.bun.d.ts.map +1 -0
- package/dist/test-tooling/test-environment.impl.bun.js +163 -0
- package/dist/test-tooling/test-environment.impl.bun.js.map +1 -0
- package/dist/test-tooling/test-process-root.impl.bun.d.ts +4 -0
- package/dist/test-tooling/test-process-root.impl.bun.d.ts.map +1 -0
- package/dist/test-tooling/test-process-root.impl.bun.js +65 -0
- package/dist/test-tooling/test-process-root.impl.bun.js.map +1 -0
- package/dist/test-tooling/unix-http.impl.bun.d.ts +28 -0
- package/dist/test-tooling/unix-http.impl.bun.d.ts.map +1 -0
- package/dist/test-tooling/unix-http.impl.bun.js +181 -0
- package/dist/test-tooling/unix-http.impl.bun.js.map +1 -0
- package/dist/transpiler/transpiler.plugin.d.ts +10 -0
- package/dist/transpiler/transpiler.plugin.d.ts.map +1 -0
- package/dist/transpiler/transpiler.plugin.js +18 -0
- package/dist/transpiler/transpiler.plugin.js.map +1 -0
- package/native/held-launch/Cargo.toml +23 -0
- package/native/held-launch/abi-manifest.json +234 -0
- package/native/held-launch/src/bin/vibes-held-launch.rs +35 -0
- package/native/held-launch/src/events.rs +99 -0
- package/native/held-launch/src/lib.rs +528 -0
- package/native/held-launch/symbols.golden +21 -0
- package/package.json +313 -4
- package/resources/restricted-supervisor.impl.bun.d.mts +3 -0
- package/resources/restricted-supervisor.impl.bun.mjs +49 -0
- package/resources/serve-stall-watch.impl.bun.d.mts +3 -0
- package/resources/serve-stall-watch.impl.bun.mjs +51 -0
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/** Documentation registered by the configured Bun environment plugin. */
|
|
2
|
+
const markdown = `# Bun Environment
|
|
3
|
+
|
|
4
|
+
\`@vibesdotdev/host-bun\` implements the Runtime host contracts
|
|
5
|
+
for a Bun process. The executable host selects this environment; reusable
|
|
6
|
+
features resolve capabilities through the runtime they receive.
|
|
7
|
+
|
|
8
|
+
## Boot a host
|
|
9
|
+
|
|
10
|
+
\`\`\`ts
|
|
11
|
+
import { bootstrapVibesRuntime } from '@vibesdotdev/kernel';
|
|
12
|
+
import { createRuntimeEnvironmentBunPlugin } from '@vibesdotdev/host-bun';
|
|
13
|
+
import { getPathRoots } from '@vibesdotdev/paths';
|
|
14
|
+
|
|
15
|
+
const runtime = await bootstrapVibesRuntime({
|
|
16
|
+
environment: createRuntimeEnvironmentBunPlugin({
|
|
17
|
+
scope: {
|
|
18
|
+
surface: 'cli',
|
|
19
|
+
hardware: 'consumer',
|
|
20
|
+
purpose: 'direct',
|
|
21
|
+
lifecycle: 'finite',
|
|
22
|
+
hosting: { mode: 'local', owner: 'consumer', venue: 'user-device' },
|
|
23
|
+
capabilities: { interactiveSession: true },
|
|
24
|
+
qualifiers: { dev: false, environmentTier: 'local' }
|
|
25
|
+
}
|
|
26
|
+
}),
|
|
27
|
+
composition: { kind: 'literal', plugins: [] },
|
|
28
|
+
binding: 'owned'
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
try {
|
|
32
|
+
const roots = getPathRoots(runtime);
|
|
33
|
+
// Use roots.activeHome for this runtime's selected profile.
|
|
34
|
+
} finally {
|
|
35
|
+
await runtime.dispose();
|
|
36
|
+
}
|
|
37
|
+
\`\`\`
|
|
38
|
+
|
|
39
|
+
Scope is required. There is no default plugin instance. A workspace declaration
|
|
40
|
+
selects the workspace binding; \`host.root\` declares the package resolution
|
|
41
|
+
root. Filesystem layout overrides belong to \`paths\` and are validated by the
|
|
42
|
+
Paths owner.
|
|
43
|
+
|
|
44
|
+
## Captured facts and selected capabilities
|
|
45
|
+
|
|
46
|
+
The environment captures its argv, cwd, environment and user/temp roots once.
|
|
47
|
+
It supplies the Runtime environment, loader and invocation store, and registers
|
|
48
|
+
the existing Paths, process, socket and host-command implementations. Child
|
|
49
|
+
environment composition uses the handed runtime. Consumers preserve selected
|
|
50
|
+
provider overrides and refuse when a required capability is absent.
|
|
51
|
+
|
|
52
|
+
The factory composes the canonical local execution provider. Optional
|
|
53
|
+
\`restrictedExecution\`, \`heldLaunch\` and \`nativeLaunch\` declarations pass to
|
|
54
|
+
that owner; enforced launches refuse missing admission or artifacts. The host
|
|
55
|
+
does not search for another executable, resolution root or artifact cohort.
|
|
56
|
+
|
|
57
|
+
## Host resource lifetime
|
|
58
|
+
|
|
59
|
+
Create one \`createBunHostResources()\` from \`./services/standard-output\` and
|
|
60
|
+
pass it as \`hostResources\` to every composed environment in the process.
|
|
61
|
+
Each runtime resolves its own \`bun-host\` semantic client. Omitted resources
|
|
62
|
+
create independent owners, even when the environment plugin is reused. The last
|
|
63
|
+
release drains output, restores native hooks and detaches its reader and fatal
|
|
64
|
+
source. \`createBunStandardOutput(resources)\` remains usable before boot and
|
|
65
|
+
after disposal. \`createBunStandardOutput(runtime)\` synchronously borrows the
|
|
66
|
+
activated client; without one it refuses \`bun-host-client-unavailable\`.
|
|
67
|
+
Independent stdin owners release only their own branch and preserve delivery to
|
|
68
|
+
surviving owners. Independent output owners preserve the surviving formatter
|
|
69
|
+
and restore the original hooks after final retirement through execution-local's
|
|
70
|
+
canonical output-plane base.
|
|
71
|
+
No-owner compatibility helpers resolve the activated runtime client on each call;
|
|
72
|
+
they retain no ambient resources. Before boot, pass an explicitly owned resource
|
|
73
|
+
set. Identity reads retain each environment's classification and source reference;
|
|
74
|
+
sharing resources pins the physical executable evidence once for that owner.
|
|
75
|
+
Missing environments refuse \`environment-unregistered\`; an environment without
|
|
76
|
+
an activated client or explicit identity owner refuses \`bun-host-client-unavailable\`.
|
|
77
|
+
|
|
78
|
+
## Native protocol networking
|
|
79
|
+
|
|
80
|
+
The environment warms the semantic client \`host.native-network\`.
|
|
81
|
+
Import its contract and native compatibility types from \`./native-network\`;
|
|
82
|
+
native hosts with their own environment compose \`./native-network/plugin\`.
|
|
83
|
+
Resolve it through \`getVibesClient\` (or \`tryGetVibesClient\` after activation).
|
|
84
|
+
It creates raw HTTP, SSH and real WebSocket servers and WebSocket clients,
|
|
85
|
+
and verifies SSH signed blobs through ssh2's parsed-key verifier. Host keys
|
|
86
|
+
remain caller supplied. Native handles preserve protocol limits and backpressure.
|
|
87
|
+
Runtime disposal drains, forces stalled peers at the declared shutdown budget,
|
|
88
|
+
and joins close. Native cloud Bun and consumer Bun share networking and SQLite
|
|
89
|
+
admission; browser surfaces and non-native loader substrates refuse.
|
|
90
|
+
|
|
91
|
+
## Native failure evidence
|
|
92
|
+
|
|
93
|
+
Host identity and graph freshness distinguish missing, replaced and unknown
|
|
94
|
+
evidence. An unreadable lock is unknown, never verified freshness. Process
|
|
95
|
+
inspection failures remain observable. Socket removal requires unbound native
|
|
96
|
+
ownership evidence; connection refusal alone does not establish absence.
|
|
97
|
+
|
|
98
|
+
The compatibility host helpers are for code that owns a Bun host. Generic
|
|
99
|
+
features use the public Runtime and Paths contracts. Browser, Node and cloud
|
|
100
|
+
environment implementations remain separate owners.
|
|
101
|
+
`;
|
|
102
|
+
const descriptor = {
|
|
103
|
+
kind: 'docs/topic',
|
|
104
|
+
id: 'runtime-environment-bun',
|
|
105
|
+
title: 'Bun Environment',
|
|
106
|
+
summary: 'Bun host capture and implementations selected through the handed Runtime.',
|
|
107
|
+
body: { type: 'markdown', sourceType: 'raw', source: markdown },
|
|
108
|
+
parent: 'runtime',
|
|
109
|
+
order: 2,
|
|
110
|
+
tags: ['runtime', 'environment', 'bun', 'host'],
|
|
111
|
+
surfaces: ['cli', 'web', 'in-app'],
|
|
112
|
+
hardware: ['consumer'],
|
|
113
|
+
enabled: true
|
|
114
|
+
};
|
|
115
|
+
export default descriptor;
|
|
116
|
+
//# sourceMappingURL=runtime-environment-bun.docs.descriptor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-environment-bun.docs.descriptor.js","sourceRoot":"","sources":["../../src/docs/runtime-environment-bun.docs.descriptor.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmGhB,CAAC;AAEF,MAAM,UAAU,GAAG;IAClB,IAAI,EAAE,YAAqB;IAC3B,EAAE,EAAE,yBAAyB;IAC7B,KAAK,EAAE,iBAAiB;IACxB,OAAO,EAAE,2EAA2E;IACpF,IAAI,EAAE,EAAE,IAAI,EAAE,UAAmB,EAAE,UAAU,EAAE,KAAc,EAAE,MAAM,EAAE,QAAQ,EAAE;IACjF,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC;IAC/C,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAU;IAC3C,QAAQ,EAAE,CAAC,UAAU,CAAU;IAC/B,OAAO,EAAE,IAAI;CACb,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Bun host's `filesystem/adapter` implementation for consumer hardware:
|
|
3
|
+
* the filesystem host base over this host's own primitives, and the base's
|
|
4
|
+
* plugin (plugin and descriptor id `filesystem-adapter-bun`) over it.
|
|
5
|
+
*/
|
|
6
|
+
import type { FSWatcher } from 'node:fs';
|
|
7
|
+
import type { FileHandle } from 'node:fs/promises';
|
|
8
|
+
import { HostFileSystemAdapterBase, type HostFileSystemAdapterOptions } from '@vibesdotdev/filesystem/host-adapter';
|
|
9
|
+
/** The base over this host's handles and watchers. */
|
|
10
|
+
export declare class BunHostFileSystemAdapter extends HostFileSystemAdapterBase<FileHandle, FSWatcher> {
|
|
11
|
+
constructor(options?: HostFileSystemAdapterOptions);
|
|
12
|
+
}
|
|
13
|
+
/** The Bun host's filesystem adapter plugin. */
|
|
14
|
+
export declare const bunHostFileSystemAdapterPlugin: import("@vibesdotdev/kernel").RuntimePlugin;
|
|
15
|
+
//# sourceMappingURL=adapter.impl.bun.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.impl.bun.d.ts","sourceRoot":"","sources":["../../src/filesystem/adapter.impl.bun.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAqC,yBAAyB,EAAE,KAAK,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAGvJ,sDAAsD;AACtD,qBAAa,wBAAyB,SAAQ,yBAAyB,CAAC,UAAU,EAAE,SAAS,CAAC;gBACjF,OAAO,GAAE,4BAAiC;CAGtD;AAED,gDAAgD;AAChD,eAAO,MAAM,8BAA8B,6CAAwF,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createHostFileSystemAdapterPlugin, HostFileSystemAdapterBase } from '@vibesdotdev/filesystem/host-adapter';
|
|
2
|
+
import { bunFileSystemPrimitives } from "./host-primitives.impl.bun.js";
|
|
3
|
+
/** The base over this host's handles and watchers. */
|
|
4
|
+
export class BunHostFileSystemAdapter extends HostFileSystemAdapterBase {
|
|
5
|
+
constructor(options = {}) {
|
|
6
|
+
super(bunFileSystemPrimitives, options);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
/** The Bun host's filesystem adapter plugin. */
|
|
10
|
+
export const bunHostFileSystemAdapterPlugin = createHostFileSystemAdapterPlugin((options) => new BunHostFileSystemAdapter(options));
|
|
11
|
+
//# sourceMappingURL=adapter.impl.bun.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.impl.bun.js","sourceRoot":"","sources":["../../src/filesystem/adapter.impl.bun.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,iCAAiC,EAAE,yBAAyB,EAAqC,MAAM,sCAAsC,CAAC;AACvJ,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAExE,sDAAsD;AACtD,MAAM,OAAO,wBAAyB,SAAQ,yBAAgD;IAC7F,YAAY,UAAwC,EAAE;QACrD,KAAK,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;CACD;AAED,gDAAgD;AAChD,MAAM,CAAC,MAAM,8BAA8B,GAAG,iCAAiC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Bun host's primitives for the `filesystem/adapter` host base
|
|
3
|
+
* (`@vibesdotdev/filesystem/host-adapter`): Bun's `node:fs` and `node:path`,
|
|
4
|
+
* its native SHA-256 (`Bun.CryptoHasher`), its `Buffer` text encoding and
|
|
5
|
+
* this process's platform and user id.
|
|
6
|
+
*/
|
|
7
|
+
import { type FSWatcher } from 'node:fs';
|
|
8
|
+
import type { FileHandle } from 'node:fs/promises';
|
|
9
|
+
import type { FileSystemHostPrimitives } from '@vibesdotdev/filesystem/host-adapter';
|
|
10
|
+
/** This host's file system calls, path rules, hash, text encoding and process facts. */
|
|
11
|
+
export declare const bunFileSystemPrimitives: FileSystemHostPrimitives<FileHandle, FSWatcher>;
|
|
12
|
+
//# sourceMappingURL=host-primitives.impl.bun.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-primitives.impl.bun.d.ts","sourceRoot":"","sources":["../../src/filesystem/host-primitives.impl.bun.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAA+K,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AAEtN,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,KAAK,EAA8C,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAgCjI,wFAAwF;AACxF,eAAO,MAAM,uBAAuB,EAAE,wBAAwB,CAAC,UAAU,EAAE,SAAS,CAwDlF,CAAC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Bun host's primitives for the `filesystem/adapter` host base
|
|
3
|
+
* (`@vibesdotdev/filesystem/host-adapter`): Bun's `node:fs` and `node:path`,
|
|
4
|
+
* its native SHA-256 (`Bun.CryptoHasher`), its `Buffer` text encoding and
|
|
5
|
+
* this process's platform and user id.
|
|
6
|
+
*/
|
|
7
|
+
import { closeSync, constants, fstatSync, fsyncSync, lstatSync, mkdirSync, openSync, readdirSync, readFileSync, realpathSync, renameSync, statSync, unlinkSync, watch, writeFileSync } from 'node:fs';
|
|
8
|
+
import * as fs from 'node:fs/promises';
|
|
9
|
+
import * as nodePath from 'node:path';
|
|
10
|
+
/** One incremental SHA-256 over Bun's native hasher. */
|
|
11
|
+
function sha256() {
|
|
12
|
+
const hasher = new Bun.CryptoHasher('sha256');
|
|
13
|
+
const incremental = {
|
|
14
|
+
update(data) {
|
|
15
|
+
hasher.update(data);
|
|
16
|
+
return incremental;
|
|
17
|
+
},
|
|
18
|
+
digestHex: () => hasher.digest('hex')
|
|
19
|
+
};
|
|
20
|
+
return incremental;
|
|
21
|
+
}
|
|
22
|
+
const synchronousCalls = Object.freeze({
|
|
23
|
+
statIfPresent: (path) => statSync(path, { throwIfNoEntry: false }),
|
|
24
|
+
stat: (path) => statSync(path),
|
|
25
|
+
lstat: (path) => lstatSync(path),
|
|
26
|
+
realpath: (path) => realpathSync(path),
|
|
27
|
+
readdirEntries: (path) => readdirSync(path, { withFileTypes: true }),
|
|
28
|
+
open: (path, flags, mode) => openSync(path, flags, mode),
|
|
29
|
+
mkdir: (path, options) => { mkdirSync(path, options); },
|
|
30
|
+
unlink: (path) => unlinkSync(path),
|
|
31
|
+
rename: (from, to) => renameSync(from, to),
|
|
32
|
+
writeFileText: (fd, text) => writeFileSync(fd, text, 'utf8'),
|
|
33
|
+
sync: (fd) => fsyncSync(fd),
|
|
34
|
+
fstat: (fd) => fstatSync(fd),
|
|
35
|
+
readFileText: (fd) => readFileSync(fd, { encoding: 'utf8' }),
|
|
36
|
+
close: (fd) => { closeSync(fd); }
|
|
37
|
+
});
|
|
38
|
+
/** This host's file system calls, path rules, hash, text encoding and process facts. */
|
|
39
|
+
export const bunFileSystemPrimitives = Object.freeze({
|
|
40
|
+
fs: Object.freeze({
|
|
41
|
+
access: (path, mode) => fs.access(path, mode),
|
|
42
|
+
open: (path, flags, mode) => fs.open(path, flags, mode),
|
|
43
|
+
stat: (path) => fs.stat(path),
|
|
44
|
+
statIdentity: (path) => fs.stat(path, { bigint: true }),
|
|
45
|
+
lstat: (path) => fs.lstat(path),
|
|
46
|
+
readlink: (path) => fs.readlink(path),
|
|
47
|
+
statfs: (path) => fs.statfs(path, { bigint: true }),
|
|
48
|
+
chmod: (path, mode) => fs.chmod(path, mode),
|
|
49
|
+
readFile: (path) => fs.readFile(path),
|
|
50
|
+
readFileText: (path, encoding) => fs.readFile(path, encoding),
|
|
51
|
+
writeFile: (path, data, options) => fs.writeFile(path, data, options),
|
|
52
|
+
realpath: (path) => fs.realpath(path),
|
|
53
|
+
utimes: (path, atime, mtime) => fs.utimes(path, atime, mtime),
|
|
54
|
+
rename: (from, to) => fs.rename(from, to),
|
|
55
|
+
unlink: (path) => fs.unlink(path),
|
|
56
|
+
link: (existing, path) => fs.link(existing, path),
|
|
57
|
+
symlink: (target, path) => fs.symlink(target, path),
|
|
58
|
+
rm: (path, options) => fs.rm(path, options),
|
|
59
|
+
rmdir: (path) => fs.rmdir(path),
|
|
60
|
+
mkdir: (path, options) => fs.mkdir(path, options),
|
|
61
|
+
mkdtemp: (prefix) => fs.mkdtemp(prefix),
|
|
62
|
+
cp: (source, destination, options) => fs.cp(source, destination, options),
|
|
63
|
+
copyFile: (source, destination) => fs.copyFile(source, destination),
|
|
64
|
+
readdirEntries: (path) => fs.readdir(path, { withFileTypes: true }),
|
|
65
|
+
glob: (pattern, options) => fs.glob(pattern, { cwd: options.cwd, exclude: options.exclude }),
|
|
66
|
+
watch: (path, options, listener) => watch(path, { recursive: options.recursive }, listener)
|
|
67
|
+
}),
|
|
68
|
+
fsSync: synchronousCalls,
|
|
69
|
+
fsMutationSync: synchronousCalls,
|
|
70
|
+
constants: Object.freeze({
|
|
71
|
+
R_OK: constants.R_OK,
|
|
72
|
+
W_OK: constants.W_OK,
|
|
73
|
+
O_RDONLY: constants.O_RDONLY,
|
|
74
|
+
O_WRONLY: constants.O_WRONLY,
|
|
75
|
+
O_CREAT: constants.O_CREAT,
|
|
76
|
+
O_TRUNC: constants.O_TRUNC,
|
|
77
|
+
O_APPEND: constants.O_APPEND,
|
|
78
|
+
O_NONBLOCK: constants.O_NONBLOCK,
|
|
79
|
+
O_NOFOLLOW: constants.O_NOFOLLOW
|
|
80
|
+
}),
|
|
81
|
+
path: Object.freeze({
|
|
82
|
+
resolve: (...segments) => nodePath.resolve(...segments),
|
|
83
|
+
dirname: (path) => nodePath.dirname(path),
|
|
84
|
+
basename: (path, ext) => nodePath.basename(path, ext),
|
|
85
|
+
join: (...segments) => nodePath.join(...segments),
|
|
86
|
+
relative: (from, to) => nodePath.relative(from, to),
|
|
87
|
+
isAbsolute: (path) => nodePath.isAbsolute(path),
|
|
88
|
+
normalize: (path) => nodePath.normalize(path),
|
|
89
|
+
extname: (path) => nodePath.extname(path)
|
|
90
|
+
}),
|
|
91
|
+
createSha256: sha256,
|
|
92
|
+
encodeText: (text, encoding) => Buffer.from(text, encoding),
|
|
93
|
+
platform: process.platform,
|
|
94
|
+
ownerUid: () => process.getuid?.()
|
|
95
|
+
});
|
|
96
|
+
//# sourceMappingURL=host-primitives.impl.bun.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-primitives.impl.bun.js","sourceRoot":"","sources":["../../src/filesystem/host-primitives.impl.bun.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The host's filesystem kind on every runtime the Bun environment builds: the
|
|
3
|
+
* `filesystem/adapter` kind with this host's adapter registered against it,
|
|
4
|
+
* loaded on registration. Features (LocalDB's database files and migration
|
|
5
|
+
* SQL among them) resolve files through this kind instead of importing
|
|
6
|
+
* `node:fs`. Registration is first-wins by plugin id, so a host that composes
|
|
7
|
+
* the filesystem kind and an adapter again later registers nothing twice.
|
|
8
|
+
*/
|
|
9
|
+
import type { RuntimeRef } from '@vibesdotdev/kernel';
|
|
10
|
+
/** Register the filesystem kind and this host's adapter on `runtime`. */
|
|
11
|
+
export declare function registerBunHostFileSystem(runtime: RuntimeRef): Promise<void>;
|
|
12
|
+
//# sourceMappingURL=register.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/filesystem/register.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,yEAAyE;AACzE,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAGlF"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** Register the filesystem kind and this host's adapter on `runtime`. */
|
|
2
|
+
export async function registerBunHostFileSystem(runtime) {
|
|
3
|
+
const { registerHostFileSystemWith } = await import('@vibesdotdev/filesystem/host-adapter');
|
|
4
|
+
await registerHostFileSystemWith(runtime, async () => (await import("./adapter.impl.bun.js")).bunHostFileSystemAdapterPlugin);
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=register.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/filesystem/register.ts"],"names":[],"mappings":"AAUA,yEAAyE;AACzE,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,OAAmB;IAClE,MAAM,EAAE,0BAA0B,EAAE,GAAG,MAAM,MAAM,CAAC,sCAAsC,CAAC,CAAC;IAC5F,MAAM,0BAA0B,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC;AAC/H,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { NativeLibraryClient } from '@vibesdotdev/execution-local/native-library';
|
|
2
|
+
/** Publish complete bytes beneath an opened directory without following a symlink in any component. */
|
|
3
|
+
export declare function createRootedExclusiveDarwin(native: NativeLibraryClient, root: string, relativePath: string, bytes: Uint8Array): boolean;
|
|
4
|
+
//# sourceMappingURL=rooted-exclusive.impl.bun.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rooted-exclusive.impl.bun.d.ts","sourceRoot":"","sources":["../../src/filesystem/rooted-exclusive.impl.bun.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAEvF,uGAAuG;AACvG,wBAAgB,2BAA2B,CAC1C,MAAM,EAAE,mBAAmB,EAC3B,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,UAAU,GACf,OAAO,CAmHT"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { closeSync, constants, fchmodSync, fstatSync, openSync, writeSync } from 'node:fs';
|
|
2
|
+
import { CapabilityError, settleNow } from '@vibesdotdev/kernel';
|
|
3
|
+
/** Publish complete bytes beneath an opened directory without following a symlink in any component. */
|
|
4
|
+
export function createRootedExclusiveDarwin(native, root, relativePath, bytes) {
|
|
5
|
+
const parts = relativePath.split('/');
|
|
6
|
+
if (!relativePath || parts.some(part => !part || part === '.' || part === '..' || part.includes('\0'))) {
|
|
7
|
+
throw new CapabilityError('A rooted path must contain only relative path components.', 'INVALID_INPUT', {
|
|
8
|
+
reason: 'filesystem-rooted-path-invalid'
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
if (process.platform !== 'darwin' || constants.O_DIRECTORY === undefined || constants.O_NOFOLLOW === undefined) {
|
|
12
|
+
throw new CapabilityError('This host does not provide Darwin rooted filesystem operations.', 'UNAVAILABLE', {
|
|
13
|
+
reason: 'filesystem-rooted-operation-unavailable'
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
const ffi = native.ffi;
|
|
17
|
+
const library = native.dlopen('/usr/lib/libSystem.B.dylib', {
|
|
18
|
+
openat: { args: [ffi.FFIType.i32, ffi.FFIType.ptr, ffi.FFIType.i32, ffi.FFIType.i32], returns: ffi.FFIType.i32 },
|
|
19
|
+
mkdirat: { args: [ffi.FFIType.i32, ffi.FFIType.ptr, ffi.FFIType.i32], returns: ffi.FFIType.i32 },
|
|
20
|
+
linkat: { args: [ffi.FFIType.i32, ffi.FFIType.ptr, ffi.FFIType.i32, ffi.FFIType.ptr, ffi.FFIType.i32], returns: ffi.FFIType.i32 },
|
|
21
|
+
unlinkat: { args: [ffi.FFIType.i32, ffi.FFIType.ptr, ffi.FFIType.i32], returns: ffi.FFIType.i32 },
|
|
22
|
+
__error: { args: [], returns: ffi.FFIType.ptr }
|
|
23
|
+
});
|
|
24
|
+
const cString = (value) => new TextEncoder().encode(`${value}\0`);
|
|
25
|
+
const errorNumber = () => {
|
|
26
|
+
const address = library.symbols.__error();
|
|
27
|
+
if (address === null)
|
|
28
|
+
throw new CapabilityError('The host did not supply an errno address.', 'UNAVAILABLE', {
|
|
29
|
+
reason: 'filesystem-rooted-errno-unavailable'
|
|
30
|
+
});
|
|
31
|
+
return new DataView(ffi.toArrayBuffer(address, 0, 4)).getInt32(0, true);
|
|
32
|
+
};
|
|
33
|
+
const refuse = (operation, errno) => new CapabilityError('The rooted filesystem operation failed.', 'UNAVAILABLE', {
|
|
34
|
+
reason: 'filesystem-rooted-operation-failed', details: { operation, errno }
|
|
35
|
+
});
|
|
36
|
+
const directories = [];
|
|
37
|
+
let stagingName;
|
|
38
|
+
let stagingFd = -1;
|
|
39
|
+
let temporary;
|
|
40
|
+
let parent = -1;
|
|
41
|
+
let published = false;
|
|
42
|
+
const publication = settleNow(() => {
|
|
43
|
+
parent = openSync(root, constants.O_RDONLY | constants.O_DIRECTORY | constants.O_NOFOLLOW);
|
|
44
|
+
directories.push(parent);
|
|
45
|
+
for (const part of parts.slice(0, -1)) {
|
|
46
|
+
const name = cString(part);
|
|
47
|
+
const next = library.symbols.openat(parent, ffi.ptr(name), constants.O_RDONLY | constants.O_DIRECTORY | constants.O_NOFOLLOW, 0);
|
|
48
|
+
if (next < 0)
|
|
49
|
+
throw refuse('open-parent', errorNumber());
|
|
50
|
+
directories.push(next);
|
|
51
|
+
parent = next;
|
|
52
|
+
}
|
|
53
|
+
stagingName = cString(`.vibes-exclusive-${crypto.randomUUID()}`);
|
|
54
|
+
if (library.symbols.mkdirat(parent, ffi.ptr(stagingName), 0o700) !== 0) {
|
|
55
|
+
stagingName = undefined;
|
|
56
|
+
throw refuse('create-staging-directory', errorNumber());
|
|
57
|
+
}
|
|
58
|
+
stagingFd = library.symbols.openat(parent, ffi.ptr(stagingName), constants.O_RDONLY | constants.O_DIRECTORY | constants.O_NOFOLLOW, 0);
|
|
59
|
+
if (stagingFd < 0)
|
|
60
|
+
throw refuse('open-staging-directory', errorNumber());
|
|
61
|
+
const staging = fstatSync(stagingFd);
|
|
62
|
+
if (!staging.isDirectory() || staging.uid !== process.getuid?.() || (staging.mode & 0o077) !== 0) {
|
|
63
|
+
throw new CapabilityError('The staging directory is not private to this owner.', 'PERMISSION_DENIED', {
|
|
64
|
+
reason: 'filesystem-rooted-staging-not-private'
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
temporary = cString('content');
|
|
68
|
+
// Darwin ARM64's openat mode is variadic. The staging directory is owner-only
|
|
69
|
+
// before creation, so set the mode on the opened file before publishing it.
|
|
70
|
+
const fd = library.symbols.openat(stagingFd, ffi.ptr(temporary), constants.O_WRONLY | constants.O_CREAT | constants.O_EXCL | constants.O_NOFOLLOW, 0);
|
|
71
|
+
if (fd < 0) {
|
|
72
|
+
temporary = undefined;
|
|
73
|
+
throw refuse('create-temporary', errorNumber());
|
|
74
|
+
}
|
|
75
|
+
try {
|
|
76
|
+
fchmodSync(fd, 0o600);
|
|
77
|
+
let offset = 0;
|
|
78
|
+
while (offset < bytes.length) {
|
|
79
|
+
const written = writeSync(fd, bytes, offset, bytes.length - offset);
|
|
80
|
+
if (written <= 0)
|
|
81
|
+
throw refuse('write-temporary', 0);
|
|
82
|
+
offset += written;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
finally {
|
|
86
|
+
closeSync(fd);
|
|
87
|
+
}
|
|
88
|
+
const leaf = cString(parts[parts.length - 1]);
|
|
89
|
+
if (library.symbols.linkat(stagingFd, ffi.ptr(temporary), parent, ffi.ptr(leaf), 0) === 0)
|
|
90
|
+
published = true;
|
|
91
|
+
else {
|
|
92
|
+
const errno = errorNumber();
|
|
93
|
+
if (errno !== 17)
|
|
94
|
+
throw refuse('publish', errno);
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
const failures = publication.ok ? [] : [publication.cause];
|
|
98
|
+
if (temporary !== undefined) {
|
|
99
|
+
const name = temporary;
|
|
100
|
+
const removed = settleNow(() => {
|
|
101
|
+
if (library.symbols.unlinkat(stagingFd, ffi.ptr(name), 0) !== 0)
|
|
102
|
+
throw refuse('remove-temporary', errorNumber());
|
|
103
|
+
});
|
|
104
|
+
if (!removed.ok)
|
|
105
|
+
failures.push(removed.cause);
|
|
106
|
+
}
|
|
107
|
+
if (stagingFd >= 0) {
|
|
108
|
+
const closed = settleNow(() => closeSync(stagingFd));
|
|
109
|
+
if (!closed.ok)
|
|
110
|
+
failures.push(closed.cause);
|
|
111
|
+
}
|
|
112
|
+
if (stagingName !== undefined) {
|
|
113
|
+
const name = stagingName;
|
|
114
|
+
const removed = settleNow(() => {
|
|
115
|
+
if (library.symbols.unlinkat(parent, ffi.ptr(name), 0x80) !== 0)
|
|
116
|
+
throw refuse('remove-staging-directory', errorNumber());
|
|
117
|
+
});
|
|
118
|
+
if (!removed.ok)
|
|
119
|
+
failures.push(removed.cause);
|
|
120
|
+
}
|
|
121
|
+
for (const directory of directories.reverse()) {
|
|
122
|
+
const closed = settleNow(() => closeSync(directory));
|
|
123
|
+
if (!closed.ok)
|
|
124
|
+
failures.push(closed.cause);
|
|
125
|
+
}
|
|
126
|
+
const released = settleNow(() => library.close());
|
|
127
|
+
if (!released.ok)
|
|
128
|
+
failures.push(released.cause);
|
|
129
|
+
if (failures.length === 1)
|
|
130
|
+
throw failures[0];
|
|
131
|
+
if (failures.length > 1)
|
|
132
|
+
throw new AggregateError(failures, 'Rooted exclusive creation or cleanup failed.');
|
|
133
|
+
return published;
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=rooted-exclusive.impl.bun.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rooted-exclusive.impl.bun.js","sourceRoot":"","sources":["../../src/filesystem/rooted-exclusive.impl.bun.ts"],"names":[],"mappings":"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"}
|