@smthrs/platform-node 0.0.0-stage → 1.0.0-rc.3
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/CHANGELOG.md +211 -0
- package/LICENSE +21 -0
- package/README.md +165 -2
- package/bin/darwin-arm64/smithers-jj-export +0 -0
- package/bin/darwin-x64/smithers-jj-export +0 -0
- package/bin/linux-arm64/smithers-jj-export +0 -0
- package/bin/linux-x64/smithers-jj-export +4 -0
- package/bin/win32-x64/smithers-jj-export.exe +0 -0
- package/dist/cjs/AtomicFileSystem.d.ts +147 -0
- package/dist/cjs/AtomicFileSystem.d.ts.map +1 -0
- package/dist/cjs/AtomicFileSystem.js +234 -0
- package/dist/cjs/AtomicFileSystem.js.map +7 -0
- package/dist/cjs/EgressHttpClient.d.ts +106 -0
- package/dist/cjs/EgressHttpClient.d.ts.map +1 -0
- package/dist/cjs/EgressHttpClient.js +202 -0
- package/dist/cjs/EgressHttpClient.js.map +7 -0
- package/dist/cjs/HostLiveness.d.ts +81 -0
- package/dist/cjs/HostLiveness.d.ts.map +1 -0
- package/dist/cjs/HostLiveness.js +49 -0
- package/dist/cjs/HostLiveness.js.map +7 -0
- package/dist/cjs/NodeHost.d.ts +145 -0
- package/dist/cjs/NodeHost.d.ts.map +1 -0
- package/dist/cjs/NodeHost.js +128 -0
- package/dist/cjs/NodeHost.js.map +7 -0
- package/dist/cjs/ProcessConfinement.d.ts +61 -0
- package/dist/cjs/ProcessConfinement.d.ts.map +1 -0
- package/dist/cjs/ProcessConfinement.js +287 -0
- package/dist/cjs/ProcessConfinement.js.map +7 -0
- package/dist/cjs/ProcessReaper.d.ts +457 -0
- package/dist/cjs/ProcessReaper.d.ts.map +1 -0
- package/dist/cjs/ProcessReaper.js +349 -0
- package/dist/cjs/ProcessReaper.js.map +7 -0
- package/dist/cjs/ProcessSandbox.d.ts +377 -0
- package/dist/cjs/ProcessSandbox.d.ts.map +1 -0
- package/dist/cjs/ProcessSandbox.js +759 -0
- package/dist/cjs/ProcessSandbox.js.map +7 -0
- package/dist/cjs/ScopedProcess.d.ts +65 -0
- package/dist/cjs/ScopedProcess.d.ts.map +1 -0
- package/dist/cjs/ScopedProcess.js +87 -0
- package/dist/cjs/ScopedProcess.js.map +7 -0
- package/dist/cjs/index.d.ts +38 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +47 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/internal/AtomicFileSystemExecutable.d.ts +61 -0
- package/dist/cjs/internal/AtomicFileSystemExecutable.d.ts.map +1 -0
- package/dist/cjs/internal/AtomicFileSystemExecutable.js +250 -0
- package/dist/cjs/internal/AtomicFileSystemExecutable.js.map +7 -0
- package/dist/cjs/internal/AtomicFileSystemProtocol.d.ts +78 -0
- package/dist/cjs/internal/AtomicFileSystemProtocol.d.ts.map +1 -0
- package/dist/cjs/internal/AtomicFileSystemProtocol.js +382 -0
- package/dist/cjs/internal/AtomicFileSystemProtocol.js.map +7 -0
- package/dist/cjs/internal/AtomicFileSystemTransport.d.ts +44 -0
- package/dist/cjs/internal/AtomicFileSystemTransport.d.ts.map +1 -0
- package/dist/cjs/internal/AtomicFileSystemTransport.js +197 -0
- package/dist/cjs/internal/AtomicFileSystemTransport.js.map +7 -0
- package/dist/cjs/internal/AtomicHelperError.d.ts +35 -0
- package/dist/cjs/internal/AtomicHelperError.d.ts.map +1 -0
- package/dist/cjs/internal/AtomicHelperError.js +45 -0
- package/dist/cjs/internal/AtomicHelperError.js.map +7 -0
- package/dist/cjs/internal/AtomicHelperFault.d.ts +59 -0
- package/dist/cjs/internal/AtomicHelperFault.d.ts.map +1 -0
- package/dist/cjs/internal/AtomicHelperFault.js +66 -0
- package/dist/cjs/internal/AtomicHelperFault.js.map +7 -0
- package/dist/cjs/internal/PipedProcess.d.ts +35 -0
- package/dist/cjs/internal/PipedProcess.d.ts.map +1 -0
- package/dist/cjs/internal/PipedProcess.js +309 -0
- package/dist/cjs/internal/PipedProcess.js.map +7 -0
- package/dist/cjs/internal/ProcSnapshot.d.ts +85 -0
- package/dist/cjs/internal/ProcSnapshot.d.ts.map +1 -0
- package/dist/cjs/internal/ProcSnapshot.js +123 -0
- package/dist/cjs/internal/ProcSnapshot.js.map +7 -0
- package/dist/cjs/internal/ProcessCleanup.d.ts +64 -0
- package/dist/cjs/internal/ProcessCleanup.d.ts.map +1 -0
- package/dist/cjs/internal/ProcessCleanup.js +62 -0
- package/dist/cjs/internal/ProcessCleanup.js.map +7 -0
- package/dist/cjs/internal/ProcessCleanupPolicyError.d.ts +30 -0
- package/dist/cjs/internal/ProcessCleanupPolicyError.d.ts.map +1 -0
- package/dist/cjs/internal/ProcessCleanupPolicyError.js +33 -0
- package/dist/cjs/internal/ProcessCleanupPolicyError.js.map +7 -0
- package/dist/cjs/internal/ProcessFault.d.ts +63 -0
- package/dist/cjs/internal/ProcessFault.d.ts.map +1 -0
- package/dist/cjs/internal/ProcessFault.js +63 -0
- package/dist/cjs/internal/ProcessFault.js.map +7 -0
- package/dist/cjs/internal/ProcessSupervisor.d.ts +141 -0
- package/dist/cjs/internal/ProcessSupervisor.d.ts.map +1 -0
- package/dist/cjs/internal/ProcessSupervisor.js +682 -0
- package/dist/cjs/internal/ProcessSupervisor.js.map +7 -0
- package/dist/cjs/internal/SupervisorProgram.d.ts +9 -0
- package/dist/cjs/internal/SupervisorProgram.d.ts.map +1 -0
- package/dist/cjs/internal/SupervisorProgram.js +306 -0
- package/dist/cjs/internal/SupervisorProgram.js.map +7 -0
- package/dist/cjs/internal/WindowsProcessJob.d.ts +39 -0
- package/dist/cjs/internal/WindowsProcessJob.d.ts.map +1 -0
- package/dist/cjs/internal/WindowsProcessJob.js +113 -0
- package/dist/cjs/internal/WindowsProcessJob.js.map +7 -0
- package/dist/cjs/package.json +1 -0
- package/dist/esm/AtomicFileSystem.d.ts +147 -0
- package/dist/esm/AtomicFileSystem.d.ts.map +1 -0
- package/dist/esm/AtomicFileSystem.js +290 -0
- package/dist/esm/AtomicFileSystem.js.map +1 -0
- package/dist/esm/EgressHttpClient.d.ts +106 -0
- package/dist/esm/EgressHttpClient.d.ts.map +1 -0
- package/dist/esm/EgressHttpClient.js +259 -0
- package/dist/esm/EgressHttpClient.js.map +1 -0
- package/dist/esm/HostLiveness.d.ts +81 -0
- package/dist/esm/HostLiveness.d.ts.map +1 -0
- package/dist/esm/HostLiveness.js +68 -0
- package/dist/esm/HostLiveness.js.map +1 -0
- package/dist/esm/NodeHost.d.ts +145 -0
- package/dist/esm/NodeHost.d.ts.map +1 -0
- package/dist/esm/NodeHost.js +162 -0
- package/dist/esm/NodeHost.js.map +1 -0
- package/dist/esm/ProcessConfinement.d.ts +61 -0
- package/dist/esm/ProcessConfinement.d.ts.map +1 -0
- package/dist/esm/ProcessConfinement.js +311 -0
- package/dist/esm/ProcessConfinement.js.map +1 -0
- package/dist/esm/ProcessReaper.d.ts +457 -0
- package/dist/esm/ProcessReaper.d.ts.map +1 -0
- package/dist/esm/ProcessReaper.js +711 -0
- package/dist/esm/ProcessReaper.js.map +1 -0
- package/dist/esm/ProcessSandbox.d.ts +377 -0
- package/dist/esm/ProcessSandbox.d.ts.map +1 -0
- package/dist/esm/ProcessSandbox.js +1014 -0
- package/dist/esm/ProcessSandbox.js.map +1 -0
- package/dist/esm/ScopedProcess.d.ts +65 -0
- package/dist/esm/ScopedProcess.d.ts.map +1 -0
- package/dist/esm/ScopedProcess.js +66 -0
- package/dist/esm/ScopedProcess.js.map +1 -0
- package/dist/esm/index.d.ts +38 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +38 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/internal/AtomicFileSystemExecutable.d.ts +61 -0
- package/dist/esm/internal/AtomicFileSystemExecutable.d.ts.map +1 -0
- package/dist/esm/internal/AtomicFileSystemExecutable.js +350 -0
- package/dist/esm/internal/AtomicFileSystemExecutable.js.map +1 -0
- package/dist/esm/internal/AtomicFileSystemProtocol.d.ts +78 -0
- package/dist/esm/internal/AtomicFileSystemProtocol.d.ts.map +1 -0
- package/dist/esm/internal/AtomicFileSystemProtocol.js +412 -0
- package/dist/esm/internal/AtomicFileSystemProtocol.js.map +1 -0
- package/dist/esm/internal/AtomicFileSystemTransport.d.ts +44 -0
- package/dist/esm/internal/AtomicFileSystemTransport.d.ts.map +1 -0
- package/dist/esm/internal/AtomicFileSystemTransport.js +242 -0
- package/dist/esm/internal/AtomicFileSystemTransport.js.map +1 -0
- package/dist/esm/internal/AtomicHelperError.d.ts +35 -0
- package/dist/esm/internal/AtomicHelperError.d.ts.map +1 -0
- package/dist/esm/internal/AtomicHelperError.js +39 -0
- package/dist/esm/internal/AtomicHelperError.js.map +1 -0
- package/dist/esm/internal/AtomicHelperFault.d.ts +59 -0
- package/dist/esm/internal/AtomicHelperFault.d.ts.map +1 -0
- package/dist/esm/internal/AtomicHelperFault.js +66 -0
- package/dist/esm/internal/AtomicHelperFault.js.map +1 -0
- package/dist/esm/internal/PipedProcess.d.ts +35 -0
- package/dist/esm/internal/PipedProcess.d.ts.map +1 -0
- package/dist/esm/internal/PipedProcess.js +321 -0
- package/dist/esm/internal/PipedProcess.js.map +1 -0
- package/dist/esm/internal/ProcSnapshot.d.ts +85 -0
- package/dist/esm/internal/ProcSnapshot.d.ts.map +1 -0
- package/dist/esm/internal/ProcSnapshot.js +188 -0
- package/dist/esm/internal/ProcSnapshot.js.map +1 -0
- package/dist/esm/internal/ProcessCleanup.d.ts +64 -0
- package/dist/esm/internal/ProcessCleanup.d.ts.map +1 -0
- package/dist/esm/internal/ProcessCleanup.js +45 -0
- package/dist/esm/internal/ProcessCleanup.js.map +1 -0
- package/dist/esm/internal/ProcessCleanupPolicyError.d.ts +30 -0
- package/dist/esm/internal/ProcessCleanupPolicyError.d.ts.map +1 -0
- package/dist/esm/internal/ProcessCleanupPolicyError.js +25 -0
- package/dist/esm/internal/ProcessCleanupPolicyError.js.map +1 -0
- package/dist/esm/internal/ProcessFault.d.ts +63 -0
- package/dist/esm/internal/ProcessFault.d.ts.map +1 -0
- package/dist/esm/internal/ProcessFault.js +64 -0
- package/dist/esm/internal/ProcessFault.js.map +1 -0
- package/dist/esm/internal/ProcessSupervisor.d.ts +141 -0
- package/dist/esm/internal/ProcessSupervisor.d.ts.map +1 -0
- package/dist/esm/internal/ProcessSupervisor.js +682 -0
- package/dist/esm/internal/ProcessSupervisor.js.map +1 -0
- package/dist/esm/internal/SupervisorProgram.d.ts +9 -0
- package/dist/esm/internal/SupervisorProgram.d.ts.map +1 -0
- package/dist/esm/internal/SupervisorProgram.js +290 -0
- package/dist/esm/internal/SupervisorProgram.js.map +1 -0
- package/dist/esm/internal/WindowsProcessJob.d.ts +39 -0
- package/dist/esm/internal/WindowsProcessJob.d.ts.map +1 -0
- package/dist/esm/internal/WindowsProcessJob.js +115 -0
- package/dist/esm/internal/WindowsProcessJob.js.map +1 -0
- package/dist/vendor/adapters.json +1757 -0
- package/dist/vendor/chunk-2Y7WC4KU.js +109 -0
- package/dist/vendor/chunk-3GR5VZ2M.js +118 -0
- package/dist/vendor/chunk-42QKY6T6.js +40 -0
- package/dist/vendor/chunk-54RLBMTZ.js +61 -0
- package/dist/vendor/chunk-5ZMHBXIK.js +55 -0
- package/dist/vendor/chunk-6ME2W7TF.js +28 -0
- package/dist/vendor/chunk-AMQKOQNT.js +34 -0
- package/dist/vendor/chunk-B3FZ67QU.js +59 -0
- package/dist/vendor/chunk-BKTBUBQY.js +437 -0
- package/dist/vendor/chunk-DS7GF46S.js +34 -0
- package/dist/vendor/chunk-DVOAHXPG.js +104 -0
- package/dist/vendor/chunk-DWSHTSVX.js +229 -0
- package/dist/vendor/chunk-EGBNVEEW.js +14 -0
- package/dist/vendor/chunk-EZWY45HP.js +18 -0
- package/dist/vendor/chunk-FNZOJHSV.js +71 -0
- package/dist/vendor/chunk-GXCHI7BM.js +131 -0
- package/dist/vendor/chunk-IIJ52ZU6.js +20 -0
- package/dist/vendor/chunk-J7A4CZDO.js +92 -0
- package/dist/vendor/chunk-JG5TTWPT.js +85 -0
- package/dist/vendor/chunk-JJ24ARBQ.js +394 -0
- package/dist/vendor/chunk-KOZMM5PZ.js +426 -0
- package/dist/vendor/chunk-KUUXSID7.js +18 -0
- package/dist/vendor/chunk-LEUPYT3Q.js +36 -0
- package/dist/vendor/chunk-M32LDTW7.js +18 -0
- package/dist/vendor/chunk-M7CLUILA.js +0 -0
- package/dist/vendor/chunk-MBSKBQ5D.js +21 -0
- package/dist/vendor/chunk-MLKGABMK.js +9 -0
- package/dist/vendor/chunk-NBVRTDTV.js +129 -0
- package/dist/vendor/chunk-OXNGN5H7.js +81 -0
- package/dist/vendor/chunk-QPLDT6A6.js +564 -0
- package/dist/vendor/chunk-QYBKAIA6.js +18 -0
- package/dist/vendor/chunk-RO2R4MJH.js +62 -0
- package/dist/vendor/chunk-SIR62W3Y.js +398 -0
- package/dist/vendor/chunk-TFIKFFSC.js +26 -0
- package/dist/vendor/chunk-TXKLEBBL.js +143 -0
- package/dist/vendor/chunk-UFH5UUZK.js +48 -0
- package/dist/vendor/chunk-VANKHF46.js +96 -0
- package/dist/vendor/chunk-VZBDV3TV.js +18 -0
- package/dist/vendor/chunk-XDKNKFBW.js +22 -0
- package/dist/vendor/chunk-XH4U3JSV.js +249 -0
- package/dist/vendor/chunk-Y35ZAO5U.js +53 -0
- package/dist/vendor/chunk-ZJMRMY57.js +0 -0
- package/dist/vendor/cjs/node/NodeChildProcessSpawner.d.ts +7 -0
- package/dist/vendor/cjs/node/NodeChildProcessSpawner.js +1 -0
- package/dist/vendor/cjs/node/NodeClusterHttp.d.ts +63 -0
- package/dist/vendor/cjs/node/NodeClusterHttp.js +1 -0
- package/dist/vendor/cjs/node/NodeClusterSocket.d.ts +79 -0
- package/dist/vendor/cjs/node/NodeClusterSocket.js +1 -0
- package/dist/vendor/cjs/node/NodeCrypto.d.ts +10 -0
- package/dist/vendor/cjs/node/NodeCrypto.js +1 -0
- package/dist/vendor/cjs/node/NodeFileSystem.d.ts +10 -0
- package/dist/vendor/cjs/node/NodeFileSystem.js +1 -0
- package/dist/vendor/cjs/node/NodeHttpClient.d.ts +179 -0
- package/dist/vendor/cjs/node/NodeHttpClient.js +1 -0
- package/dist/vendor/cjs/node/NodeHttpIncomingMessage.d.ts +62 -0
- package/dist/vendor/cjs/node/NodeHttpIncomingMessage.js +1 -0
- package/dist/vendor/cjs/node/NodeHttpPlatform.d.ts +36 -0
- package/dist/vendor/cjs/node/NodeHttpPlatform.js +1 -0
- package/dist/vendor/cjs/node/NodeHttpServer.d.ts +120 -0
- package/dist/vendor/cjs/node/NodeHttpServer.js +1 -0
- package/dist/vendor/cjs/node/NodeHttpServerRequest.d.ts +29 -0
- package/dist/vendor/cjs/node/NodeHttpServerRequest.js +1 -0
- package/dist/vendor/cjs/node/NodeMultipart.d.ts +46 -0
- package/dist/vendor/cjs/node/NodeMultipart.js +1 -0
- package/dist/vendor/cjs/node/NodeMultipartParser.d.ts +97 -0
- package/dist/vendor/cjs/node/NodeMultipartParser.js +1 -0
- package/dist/vendor/cjs/node/NodePath.d.ts +27 -0
- package/dist/vendor/cjs/node/NodePath.js +1 -0
- package/dist/vendor/cjs/node/NodeRedis.d.ts +74 -0
- package/dist/vendor/cjs/node/NodeRedis.js +1 -0
- package/dist/vendor/cjs/node/NodeRuntime.d.ts +85 -0
- package/dist/vendor/cjs/node/NodeRuntime.js +1 -0
- package/dist/vendor/cjs/node/NodeServices.d.ts +34 -0
- package/dist/vendor/cjs/node/NodeServices.js +1 -0
- package/dist/vendor/cjs/node/NodeSink.d.ts +8 -0
- package/dist/vendor/cjs/node/NodeSink.js +1 -0
- package/dist/vendor/cjs/node/NodeSocket.d.ts +38 -0
- package/dist/vendor/cjs/node/NodeSocket.js +1 -0
- package/dist/vendor/cjs/node/NodeSocketServer.d.ts +8 -0
- package/dist/vendor/cjs/node/NodeSocketServer.js +1 -0
- package/dist/vendor/cjs/node/NodeStdio.d.ts +11 -0
- package/dist/vendor/cjs/node/NodeStdio.js +1 -0
- package/dist/vendor/cjs/node/NodeStream.d.ts +8 -0
- package/dist/vendor/cjs/node/NodeStream.js +1 -0
- package/dist/vendor/cjs/node/NodeTerminal.d.ts +21 -0
- package/dist/vendor/cjs/node/NodeTerminal.js +1 -0
- package/dist/vendor/cjs/node/NodeWorker.d.ts +22 -0
- package/dist/vendor/cjs/node/NodeWorker.js +1 -0
- package/dist/vendor/cjs/node/NodeWorkerRunner.d.ts +12 -0
- package/dist/vendor/cjs/node/NodeWorkerRunner.js +1 -0
- package/dist/vendor/cjs/node/Undici.d.ts +28 -0
- package/dist/vendor/cjs/node/Undici.js +1 -0
- package/dist/vendor/cjs/node/index.d.ts +100 -0
- package/dist/vendor/cjs/node/index.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeChildProcessSpawner.d.ts +57 -0
- package/dist/vendor/cjs/node-shared/NodeChildProcessSpawner.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeClusterSocket.d.ts +22 -0
- package/dist/vendor/cjs/node-shared/NodeClusterSocket.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeCrypto.d.ts +27 -0
- package/dist/vendor/cjs/node-shared/NodeCrypto.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeFileSystem.d.ts +11 -0
- package/dist/vendor/cjs/node-shared/NodeFileSystem.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeHttpCompression.d.ts +36 -0
- package/dist/vendor/cjs/node-shared/NodeHttpCompression.js +1 -0
- package/dist/vendor/cjs/node-shared/NodePath.d.ts +27 -0
- package/dist/vendor/cjs/node-shared/NodePath.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeRuntime.d.ts +47 -0
- package/dist/vendor/cjs/node-shared/NodeRuntime.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeSink.d.ts +69 -0
- package/dist/vendor/cjs/node-shared/NodeSink.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeSocket.d.ts +134 -0
- package/dist/vendor/cjs/node-shared/NodeSocket.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeSocketServer.d.ts +80 -0
- package/dist/vendor/cjs/node-shared/NodeSocketServer.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeStdio.d.ts +12 -0
- package/dist/vendor/cjs/node-shared/NodeStdio.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeStream.d.ts +179 -0
- package/dist/vendor/cjs/node-shared/NodeStream.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeTerminal.d.ts +22 -0
- package/dist/vendor/cjs/node-shared/NodeTerminal.js +1 -0
- package/dist/vendor/cjs/node-shared/index.d.ts +56 -0
- package/dist/vendor/cjs/node-shared/index.js +1 -0
- package/dist/vendor/cjs/node-shared/internal/nodeChildProcessSpawner.d.ts +4 -0
- package/dist/vendor/cjs/node-shared/internal/nodeChildProcessSpawner.js +1 -0
- package/dist/vendor/cjs/node-shared/internal/utils.d.ts +2 -0
- package/dist/vendor/cjs/node-shared/internal/utils.js +1 -0
- package/dist/vendor/cjs/package.json +1 -0
- package/dist/vendor/cjs/platform-node-shared.d.ts +56 -0
- package/dist/vendor/cjs/platform-node-shared.js +1 -0
- package/dist/vendor/cjs/platform-node.d.ts +100 -0
- package/dist/vendor/cjs/platform-node.js +1 -0
- package/dist/vendor/node/LICENSE +21 -0
- package/dist/vendor/node/NodeChildProcessSpawner.d.ts +7 -0
- package/dist/vendor/node/NodeChildProcessSpawner.js +14 -0
- package/dist/vendor/node/NodeClusterHttp.d.ts +63 -0
- package/dist/vendor/node/NodeClusterHttp.js +43 -0
- package/dist/vendor/node/NodeClusterSocket.d.ts +79 -0
- package/dist/vendor/node/NodeClusterSocket.js +30 -0
- package/dist/vendor/node/NodeCrypto.d.ts +10 -0
- package/dist/vendor/node/NodeCrypto.js +8 -0
- package/dist/vendor/node/NodeFileSystem.d.ts +10 -0
- package/dist/vendor/node/NodeFileSystem.js +9 -0
- package/dist/vendor/node/NodeHttpClient.d.ts +179 -0
- package/dist/vendor/node/NodeHttpClient.js +46 -0
- package/dist/vendor/node/NodeHttpIncomingMessage.d.ts +62 -0
- package/dist/vendor/node/NodeHttpIncomingMessage.js +10 -0
- package/dist/vendor/node/NodeHttpPlatform.d.ts +36 -0
- package/dist/vendor/node/NodeHttpPlatform.js +16 -0
- package/dist/vendor/node/NodeHttpServer.d.ts +120 -0
- package/dist/vendor/node/NodeHttpServer.js +46 -0
- package/dist/vendor/node/NodeHttpServerRequest.d.ts +29 -0
- package/dist/vendor/node/NodeHttpServerRequest.js +9 -0
- package/dist/vendor/node/NodeMultipart.d.ts +46 -0
- package/dist/vendor/node/NodeMultipart.js +15 -0
- package/dist/vendor/node/NodeMultipartParser.d.ts +97 -0
- package/dist/vendor/node/NodeMultipartParser.js +11 -0
- package/dist/vendor/node/NodePath.d.ts +27 -0
- package/dist/vendor/node/NodePath.js +12 -0
- package/dist/vendor/node/NodeRedis.d.ts +74 -0
- package/dist/vendor/node/NodeRedis.js +11 -0
- package/dist/vendor/node/NodeRuntime.d.ts +85 -0
- package/dist/vendor/node/NodeRuntime.js +8 -0
- package/dist/vendor/node/NodeServices.d.ts +34 -0
- package/dist/vendor/node/NodeServices.js +23 -0
- package/dist/vendor/node/NodeSink.d.ts +8 -0
- package/dist/vendor/node/NodeSink.js +12 -0
- package/dist/vendor/node/NodeSocket.d.ts +38 -0
- package/dist/vendor/node/NodeSocket.js +31 -0
- package/dist/vendor/node/NodeSocketServer.d.ts +8 -0
- package/dist/vendor/node/NodeSocketServer.js +21 -0
- package/dist/vendor/node/NodeStdio.d.ts +11 -0
- package/dist/vendor/node/NodeStdio.js +10 -0
- package/dist/vendor/node/NodeStream.d.ts +8 -0
- package/dist/vendor/node/NodeStream.js +27 -0
- package/dist/vendor/node/NodeTerminal.d.ts +21 -0
- package/dist/vendor/node/NodeTerminal.js +10 -0
- package/dist/vendor/node/NodeWorker.d.ts +22 -0
- package/dist/vendor/node/NodeWorker.js +9 -0
- package/dist/vendor/node/NodeWorkerRunner.d.ts +12 -0
- package/dist/vendor/node/NodeWorkerRunner.js +7 -0
- package/dist/vendor/node/Undici.d.ts +28 -0
- package/dist/vendor/node/Undici.js +9 -0
- package/dist/vendor/node/index.d.ts +100 -0
- package/dist/vendor/node/index.js +115 -0
- package/dist/vendor/node-shared/LICENSE +21 -0
- package/dist/vendor/node-shared/NodeChildProcessSpawner.d.ts +57 -0
- package/dist/vendor/node-shared/NodeChildProcessSpawner.js +13 -0
- package/dist/vendor/node-shared/NodeClusterSocket.d.ts +22 -0
- package/dist/vendor/node-shared/NodeClusterSocket.js +11 -0
- package/dist/vendor/node-shared/NodeCrypto.d.ts +27 -0
- package/dist/vendor/node-shared/NodeCrypto.js +9 -0
- package/dist/vendor/node-shared/NodeFileSystem.d.ts +11 -0
- package/dist/vendor/node-shared/NodeFileSystem.js +8 -0
- package/dist/vendor/node-shared/NodeHttpCompression.d.ts +36 -0
- package/dist/vendor/node-shared/NodeHttpCompression.js +13 -0
- package/dist/vendor/node-shared/NodePath.d.ts +27 -0
- package/dist/vendor/node-shared/NodePath.js +11 -0
- package/dist/vendor/node-shared/NodeRuntime.d.ts +47 -0
- package/dist/vendor/node-shared/NodeRuntime.js +7 -0
- package/dist/vendor/node-shared/NodeSink.d.ts +69 -0
- package/dist/vendor/node-shared/NodeSink.js +11 -0
- package/dist/vendor/node-shared/NodeSocket.d.ts +134 -0
- package/dist/vendor/node-shared/NodeSocket.js +23 -0
- package/dist/vendor/node-shared/NodeSocketServer.d.ts +80 -0
- package/dist/vendor/node-shared/NodeSocketServer.js +20 -0
- package/dist/vendor/node-shared/NodeStdio.d.ts +12 -0
- package/dist/vendor/node-shared/NodeStdio.js +9 -0
- package/dist/vendor/node-shared/NodeStream.d.ts +179 -0
- package/dist/vendor/node-shared/NodeStream.js +26 -0
- package/dist/vendor/node-shared/NodeTerminal.d.ts +22 -0
- package/dist/vendor/node-shared/NodeTerminal.js +9 -0
- package/dist/vendor/node-shared/index.d.ts +56 -0
- package/dist/vendor/node-shared/index.js +58 -0
- package/dist/vendor/node-shared/internal/nodeChildProcessSpawner.d.ts +4 -0
- package/dist/vendor/node-shared/internal/nodeChildProcessSpawner.js +7 -0
- package/dist/vendor/node-shared/internal/utils.d.ts +2 -0
- package/dist/vendor/node-shared/internal/utils.js +7 -0
- package/dist/vendor/platform-node-shared.d.ts +56 -0
- package/dist/vendor/platform-node-shared.js +58 -0
- package/dist/vendor/platform-node.d.ts +100 -0
- package/dist/vendor/platform-node.js +115 -0
- package/docs/README.md +129 -0
- package/docs/api.md +552 -0
- package/docs/concepts/descriptor-relative-filesystem.md +181 -0
- package/docs/concepts/host-bundle.md +125 -0
- package/docs/concepts/process-containment.md +182 -0
- package/docs/guides/answer-run-ownership.md +87 -0
- package/docs/guides/configure-the-filesystem-helper.md +152 -0
- package/docs/guides/contain-child-processes.md +139 -0
- package/docs/guides/match-files-with-glob.md +151 -0
- package/docs/installation.md +204 -0
- package/docs/quickstart.md +147 -0
- package/docs/troubleshooting.md +130 -0
- package/package.json +202 -3
- package/src/AtomicFileSystem.ts +415 -0
- package/src/EgressHttpClient.ts +327 -0
- package/src/HostLiveness.ts +103 -0
- package/src/NodeHost.ts +253 -0
- package/src/ProcessConfinement.ts +356 -0
- package/src/ProcessReaper.ts +951 -0
- package/src/ProcessSandbox.ts +1273 -0
- package/src/ScopedProcess.ts +123 -0
- package/src/index.ts +44 -0
- package/src/internal/AtomicFileSystemExecutable.ts +379 -0
- package/src/internal/AtomicFileSystemProtocol.ts +502 -0
- package/src/internal/AtomicFileSystemTransport.ts +272 -0
- package/src/internal/AtomicHelperError.ts +50 -0
- package/src/internal/AtomicHelperFault.ts +84 -0
- package/src/internal/PipedProcess.ts +357 -0
- package/src/internal/ProcSnapshot.ts +193 -0
- package/src/internal/ProcessCleanup.ts +99 -0
- package/src/internal/ProcessCleanupPolicyError.ts +30 -0
- package/src/internal/ProcessFault.ts +82 -0
- package/src/internal/ProcessSupervisor.ts +801 -0
- package/src/internal/SupervisorProgram.ts +289 -0
- package/src/internal/WindowsProcessJob.ts +114 -0
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Quickstart"
|
|
3
|
+
description: "Stand up the Node host, run a command and read a file through it, then wrap it in the capability kernel and watch a symlink escape get refused."
|
|
4
|
+
sidebar:
|
|
5
|
+
order: 2
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
This quickstart runs one program against the Node host twice: once raw, and
|
|
9
|
+
once behind the capability kernel with a workspace root. By the end you will
|
|
10
|
+
have seen the bundle do real work and refuse a real escape, and you will know
|
|
11
|
+
which layer is responsible for each.
|
|
12
|
+
|
|
13
|
+
## Prerequisites
|
|
14
|
+
|
|
15
|
+
- Node.js 26.4.0 or later, on a POSIX host.
|
|
16
|
+
- The `smithers-jj-export` helper. From a source checkout, run
|
|
17
|
+
`cargo build --locked --release -p smithers-ffi --bin smithers-jj-export`.
|
|
18
|
+
- `jj` 0.39.0 or newer on `PATH`. Check with `jj --version`. Every complete
|
|
19
|
+
`NodeHost` layer checks jj at construction, including this quickstart's
|
|
20
|
+
filesystem and process examples. For applications that do not need jj, see
|
|
21
|
+
[Individual services without jj](./installation.md#individual-services-without-jj).
|
|
22
|
+
- `@smthrs/platform-node`, [`@smthrs/kernel`](/api/kernel), and their `effect`
|
|
23
|
+
peers resolvable from the file you are about to write.
|
|
24
|
+
[Installation](./installation.md) has the workspace form.
|
|
25
|
+
|
|
26
|
+
## Run a command through the raw host
|
|
27
|
+
|
|
28
|
+
Create `quickstart.ts`. `NodeHost.layer` provides all five host tags, so a
|
|
29
|
+
program that asks for `ChildProcessSpawner` gets Effect's Node spawner:
|
|
30
|
+
|
|
31
|
+
```ts
|
|
32
|
+
import { NodeHost } from "@smthrs/platform-node"
|
|
33
|
+
import * as Effect from "effect/Effect"
|
|
34
|
+
import * as ChildProcess from "effect/unstable/process/ChildProcess"
|
|
35
|
+
import { ChildProcessSpawner } from "effect/unstable/process/ChildProcessSpawner"
|
|
36
|
+
|
|
37
|
+
const runCommand = Effect.gen(function*() {
|
|
38
|
+
const spawner = yield* ChildProcessSpawner
|
|
39
|
+
return yield* spawner.string(ChildProcess.make("printf", ["hello from node"]))
|
|
40
|
+
})
|
|
41
|
+
|
|
42
|
+
console.log(await Effect.runPromise(Effect.provide(runCommand, NodeHost.layer)))
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
```text
|
|
46
|
+
hello from node
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Nothing here is a Smithers wrapper. `ChildProcess` and `ChildProcessSpawner`
|
|
50
|
+
are Effect's own tags; this package supplies the implementation and nothing
|
|
51
|
+
else. A wall-clock budget is `Effect.timeout` around the effect, and
|
|
52
|
+
cancelling a command is fiber interruption.
|
|
53
|
+
|
|
54
|
+
## Build a workspace with an escape in it
|
|
55
|
+
|
|
56
|
+
The filesystem is where this bundle differs from Effect's Node adapter, so give
|
|
57
|
+
it something to refuse. Create a workspace directory with one ordinary file
|
|
58
|
+
inside it, and one symlink pointing at a file outside it:
|
|
59
|
+
|
|
60
|
+
```ts
|
|
61
|
+
import { mkdirSync, mkdtempSync, symlinkSync, writeFileSync } from "node:fs"
|
|
62
|
+
import { tmpdir } from "node:os"
|
|
63
|
+
import { join } from "node:path"
|
|
64
|
+
|
|
65
|
+
const container = mkdtempSync(join(tmpdir(), "platform-node-quickstart-"))
|
|
66
|
+
const workspace = join(container, "workspace")
|
|
67
|
+
const secret = join(container, "secret.txt")
|
|
68
|
+
|
|
69
|
+
mkdirSync(workspace)
|
|
70
|
+
writeFileSync(join(workspace, "inside.txt"), "confined\n")
|
|
71
|
+
writeFileSync(secret, "outside\n")
|
|
72
|
+
symlinkSync(secret, join(workspace, "escape.txt"))
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Compose the guarded host
|
|
76
|
+
|
|
77
|
+
`HostServices.layer` from [`@smthrs/kernel`](/api/kernel) decorates every one
|
|
78
|
+
of the five tags with a capability check. It needs the workspace root that
|
|
79
|
+
bounds the filesystem, and a grant store that answers the permission
|
|
80
|
+
questions. For this local trial, use the allow-all store, so that the only
|
|
81
|
+
thing left refusing anything is the confinement itself. `GrantStore.layerNoop`
|
|
82
|
+
is a seam for tests and boot paths, not a production policy; a real host
|
|
83
|
+
answers with rules, as
|
|
84
|
+
[Write a capability policy](https://kernel.smithers.sh/guides/write-a-capability-policy/)
|
|
85
|
+
shows:
|
|
86
|
+
|
|
87
|
+
```ts
|
|
88
|
+
import * as GrantStore from "@smthrs/kernel/GrantStore"
|
|
89
|
+
import * as HostServices from "@smthrs/kernel/HostServices"
|
|
90
|
+
import * as Workspace from "@smthrs/kernel/Workspace"
|
|
91
|
+
import * as Layer from "effect/Layer"
|
|
92
|
+
|
|
93
|
+
const guarded = HostServices.layer.pipe(
|
|
94
|
+
Layer.provide(NodeHost.layer),
|
|
95
|
+
Layer.provide(Workspace.layer(workspace)),
|
|
96
|
+
Layer.provide(GrantStore.layerNoop)
|
|
97
|
+
)
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Read both files
|
|
101
|
+
|
|
102
|
+
Read the ordinary file, then read through the symlink and keep the failure
|
|
103
|
+
instead of the success:
|
|
104
|
+
|
|
105
|
+
```ts
|
|
106
|
+
import * as FileSystem from "effect/FileSystem"
|
|
107
|
+
|
|
108
|
+
const readBoth = Effect.gen(function*() {
|
|
109
|
+
const fs = yield* FileSystem.FileSystem
|
|
110
|
+
const inside = yield* fs.readFileString(join(workspace, "inside.txt"))
|
|
111
|
+
const refusal = yield* Effect.flip(fs.readFileString(join(workspace, "escape.txt")))
|
|
112
|
+
return { inside: inside.trim(), refusedWith: refusal.reason._tag }
|
|
113
|
+
})
|
|
114
|
+
|
|
115
|
+
console.log(await Effect.runPromise(Effect.provide(readBoth, guarded)))
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
```text
|
|
119
|
+
{ inside: 'confined', refusedWith: 'PermissionDenied' }
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## What just happened
|
|
123
|
+
|
|
124
|
+
The first read walked the workspace with directory descriptors and opened a
|
|
125
|
+
regular file. The second read reached a symlink, and the walk refuses to
|
|
126
|
+
traverse one, so the operation failed with a typed `PermissionDenied` before
|
|
127
|
+
anything outside the workspace was opened. The grant store allowed both reads:
|
|
128
|
+
the refusal came from the descriptor-relative walk, not from a permission rule.
|
|
129
|
+
|
|
130
|
+
That is the property the bundle exists for. A path check followed by a
|
|
131
|
+
path-based open leaves a window in which the path can be swapped; performing
|
|
132
|
+
the operation relative to a pinned descriptor closes it. See
|
|
133
|
+
[The descriptor-relative filesystem](./concepts/descriptor-relative-filesystem.md)
|
|
134
|
+
for how the helper does it and what else it refuses.
|
|
135
|
+
|
|
136
|
+
## Next steps
|
|
137
|
+
|
|
138
|
+
- [Contain child processes](./guides/contain-child-processes.md): give every
|
|
139
|
+
spawned process a kill deadline and a durable record, so a crashed host
|
|
140
|
+
leaves nothing running.
|
|
141
|
+
- [Configure the filesystem helper](./guides/configure-the-filesystem-helper.md):
|
|
142
|
+
point at a different helper, and set the ceilings that bound a wide
|
|
143
|
+
fan-out.
|
|
144
|
+
- [The host bundle](./concepts/host-bundle.md): the five tags, the four layers,
|
|
145
|
+
and what the bundle deliberately does not provide.
|
|
146
|
+
- [Troubleshooting](./troubleshooting.md): what to do when every filesystem
|
|
147
|
+
call fails closed.
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Troubleshooting"
|
|
3
|
+
description: "The failures this Node bundle reports: filesystem refusals from the atomic helper, liveness verdicts that look wrong, reaper outcomes that will not retire a record, and Windows behaviour."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
The failures here come from three places: the atomic filesystem helper, the
|
|
7
|
+
host liveness probe, and the process reaper. Each answers deliberately, and
|
|
8
|
+
several answers that look like bugs are the safe choice.
|
|
9
|
+
|
|
10
|
+
## A filesystem call fails with `ENOTSUP`
|
|
11
|
+
|
|
12
|
+
**Symptom.** An atomic operation fails with:
|
|
13
|
+
|
|
14
|
+
```text
|
|
15
|
+
atomic operation is unsupported
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
**Cause.** The helper was asked for an operation it does not implement. Every
|
|
19
|
+
operation is named explicitly, so an unrecognized one is refused rather than
|
|
20
|
+
approximated.
|
|
21
|
+
|
|
22
|
+
**Fix.** Use one of the supported operations. If you reached this through a
|
|
23
|
+
higher-level API, the operation name in the error identifies which call needs
|
|
24
|
+
a different route.
|
|
25
|
+
|
|
26
|
+
## A glob fails with `EFBIG`
|
|
27
|
+
|
|
28
|
+
**Symptom.**
|
|
29
|
+
|
|
30
|
+
```text
|
|
31
|
+
glob result exceeds the response limit
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
**Cause.** The match set was larger than the helper's response limit. The
|
|
35
|
+
limit is enforced while matches accumulate, not after, so a runaway pattern
|
|
36
|
+
fails fast instead of buffering without bound.
|
|
37
|
+
|
|
38
|
+
**Fix.** Narrow the pattern, or root it at a deeper directory. See
|
|
39
|
+
[match files with a glob pattern](./guides/match-files-with-glob.md).
|
|
40
|
+
|
|
41
|
+
## Every filesystem call fails on Windows
|
|
42
|
+
|
|
43
|
+
**Cause.** This is intended. Windows is an unsupported platform, and
|
|
44
|
+
`AtomicFileSystem` fails every filesystem call closed there rather than
|
|
45
|
+
half-working.
|
|
46
|
+
|
|
47
|
+
**Fix.** Run the durable engine on a supported platform. There is no flag to
|
|
48
|
+
enable a partial Windows path: a filesystem that confines some operations and
|
|
49
|
+
not others is worse than one that says it confines none.
|
|
50
|
+
|
|
51
|
+
## A run's owner reads as alive when the process is gone
|
|
52
|
+
|
|
53
|
+
**Cause.** The liveness probe fails safe. Only `ESRCH` from a signal-0 probe
|
|
54
|
+
counts as gone. `EPERM` means the pid exists and belongs to another user,
|
|
55
|
+
which is still a live owner. A throw carrying no code at all, including a
|
|
56
|
+
thrown string or `null`, is an answer nobody gave, and so also reads as alive.
|
|
57
|
+
|
|
58
|
+
This matters because the engine consults the probe before taking a run whose
|
|
59
|
+
recorded owner it is not: a wrong `true` strands a run, and a wrong `false`
|
|
60
|
+
runs it twice. Stranding is the cheaper mistake, so ambiguity resolves to
|
|
61
|
+
alive.
|
|
62
|
+
|
|
63
|
+
**Fix.** Nothing here is broken. If a run is genuinely stranded, retire the
|
|
64
|
+
owner record rather than weakening the probe. See
|
|
65
|
+
[answer whether a run owner is alive](./guides/answer-run-ownership.md).
|
|
66
|
+
|
|
67
|
+
## The liveness probes disagree on a foreign host
|
|
68
|
+
|
|
69
|
+
**Cause.** Both probes use the same `ESRCH`-only death rule.
|
|
70
|
+
`EPERM`, `EINVAL`, and unknown signal errors preserve liveness.
|
|
71
|
+
For a valid same-host pid, signal errors do not distinguish the probes.
|
|
72
|
+
|
|
73
|
+
`HostLiveness.isAlive` compares the owner's host with its configured `hostId`
|
|
74
|
+
and reports foreign owners as alive. `Ownership.sameHostPidProbe` compares
|
|
75
|
+
with `context.claimant.hostId` and returns `false` for a foreign owner without
|
|
76
|
+
probing its pid. The engine consults it after lease expiry, and the store
|
|
77
|
+
verifies that expiry before allowing a steal.
|
|
78
|
+
|
|
79
|
+
**Fix.** Choose the cross-host policy deliberately. `HostLiveness.isAlive`
|
|
80
|
+
leaves foreign-host recovery to an operator or another liveness source;
|
|
81
|
+
`sameHostPidProbe` lets the expired lease govern reclaiming foreign-host runs.
|
|
82
|
+
`HostLiveness.isAlive` ignores the context argument the sibling reads. See
|
|
83
|
+
[answer whether a run owner is alive](./guides/answer-run-ownership.md).
|
|
84
|
+
|
|
85
|
+
## The reaper answers `failed` and keeps the record
|
|
86
|
+
|
|
87
|
+
**Cause.** `failed` means the signal was refused and the record must be tried
|
|
88
|
+
again later. The reaper refuses a target rather than signalling something it
|
|
89
|
+
cannot prove it owns. On POSIX it refuses when:
|
|
90
|
+
|
|
91
|
+
- the record has no process group (`no-group`)
|
|
92
|
+
- the pid or pgid is not a safe integer, or is `1` or lower
|
|
93
|
+
- the pgid does not equal the pid, so the record does not name a group leader
|
|
94
|
+
- the target is this process's own pid or group, or the owner's
|
|
95
|
+
|
|
96
|
+
**Fix.** Read the record. A record failing the group-leader check was written
|
|
97
|
+
by something that did not spawn through the contained spawner, and reaping it
|
|
98
|
+
would signal a group this host does not own. See
|
|
99
|
+
[contain child processes](./guides/contain-child-processes.md).
|
|
100
|
+
|
|
101
|
+
## The reaper answers `unknown` rather than `dead`
|
|
102
|
+
|
|
103
|
+
**Cause.** `unknown` is not `dead`. `ESRCH` is the only answer that means
|
|
104
|
+
gone; a pid this host may not signal answers `EPERM`, and that is not
|
|
105
|
+
evidence of death.
|
|
106
|
+
|
|
107
|
+
**Fix.** Treat `unknown` as "ask again". Retiring on `unknown` would drop a
|
|
108
|
+
record describing a live process.
|
|
109
|
+
|
|
110
|
+
## A pid start-time lookup is `unavailable` rather than `gone`
|
|
111
|
+
|
|
112
|
+
**Cause.** The three negative answers are distinct because they authorize
|
|
113
|
+
different decisions. `gone` is evidence: the pid does not exist, so the record
|
|
114
|
+
describes nothing and is retired unsignalled. `unavailable` is the absence of
|
|
115
|
+
evidence: `ps` is missing, unanswerable, or printed something unrecognized.
|
|
116
|
+
|
|
117
|
+
**Fix.** Only `gone` may retire a record. `unavailable` must not, or a host
|
|
118
|
+
without `ps` would retire every record it holds.
|
|
119
|
+
|
|
120
|
+
## Reaping on Windows is weaker
|
|
121
|
+
|
|
122
|
+
**Cause.** Windows has no process groups and no `lstart`, so two guards cannot
|
|
123
|
+
be answered: the identity check falls back to boot-time comparison alone, and
|
|
124
|
+
there is no own-group refusal to make. The path runs
|
|
125
|
+
`%SystemRoot%\System32\taskkill.exe /T /F` by pid, by absolute path with an
|
|
126
|
+
inert working directory, so a `taskkill.exe` planted in the host's directory
|
|
127
|
+
never runs.
|
|
128
|
+
|
|
129
|
+
**Fix.** Nothing, and do not rely on it. Windows is unsupported; this path is
|
|
130
|
+
best-effort so that a win32 record is not silently retired as if reaped.
|
package/package.json
CHANGED
|
@@ -1,6 +1,205 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@smthrs/platform-node",
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
"
|
|
3
|
+
"type": "module",
|
|
4
|
+
"version": "1.0.0-rc.3",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"smthrs": {
|
|
7
|
+
"group": "engine",
|
|
8
|
+
"privateEffectAdapters": [
|
|
9
|
+
"@effect/platform-node",
|
|
10
|
+
"@effect/platform-node-shared"
|
|
11
|
+
]
|
|
12
|
+
},
|
|
13
|
+
"description": "Node.js Host bundle for flows: Effect's Node platform services composed into the closed Host surface",
|
|
14
|
+
"homepage": "https://github.com/smithersai/smithers",
|
|
15
|
+
"repository": {
|
|
16
|
+
"type": "git",
|
|
17
|
+
"url": "https://github.com/smithersai/smithers.git",
|
|
18
|
+
"directory": "packages/smithers/flows/platform-node"
|
|
19
|
+
},
|
|
20
|
+
"bugs": {
|
|
21
|
+
"url": "https://github.com/smithersai/smithers/issues"
|
|
22
|
+
},
|
|
23
|
+
"tags": [
|
|
24
|
+
"typescript",
|
|
25
|
+
"effect",
|
|
26
|
+
"node",
|
|
27
|
+
"platform"
|
|
28
|
+
],
|
|
29
|
+
"keywords": [
|
|
30
|
+
"typescript",
|
|
31
|
+
"effect",
|
|
32
|
+
"node",
|
|
33
|
+
"platform"
|
|
34
|
+
],
|
|
35
|
+
"engines": {
|
|
36
|
+
"node": ">=26.4.0"
|
|
37
|
+
},
|
|
38
|
+
"sideEffects": [],
|
|
39
|
+
"exports": {
|
|
40
|
+
"./package.json": "./package.json",
|
|
41
|
+
".": {
|
|
42
|
+
"import": {
|
|
43
|
+
"types": "./dist/esm/index.d.ts",
|
|
44
|
+
"default": "./dist/esm/index.js"
|
|
45
|
+
},
|
|
46
|
+
"require": {
|
|
47
|
+
"types": "./dist/cjs/index.d.ts",
|
|
48
|
+
"default": "./dist/cjs/index.js"
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"./internal/*": null,
|
|
52
|
+
"./*/index": null,
|
|
53
|
+
"./AtomicFileSystem": {
|
|
54
|
+
"import": {
|
|
55
|
+
"types": "./dist/esm/AtomicFileSystem.d.ts",
|
|
56
|
+
"default": "./dist/esm/AtomicFileSystem.js"
|
|
57
|
+
},
|
|
58
|
+
"require": {
|
|
59
|
+
"types": "./dist/cjs/AtomicFileSystem.d.ts",
|
|
60
|
+
"default": "./dist/cjs/AtomicFileSystem.js"
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"./EgressHttpClient": {
|
|
64
|
+
"import": {
|
|
65
|
+
"types": "./dist/esm/EgressHttpClient.d.ts",
|
|
66
|
+
"default": "./dist/esm/EgressHttpClient.js"
|
|
67
|
+
},
|
|
68
|
+
"require": {
|
|
69
|
+
"types": "./dist/cjs/EgressHttpClient.d.ts",
|
|
70
|
+
"default": "./dist/cjs/EgressHttpClient.js"
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
"./HostLiveness": {
|
|
74
|
+
"import": {
|
|
75
|
+
"types": "./dist/esm/HostLiveness.d.ts",
|
|
76
|
+
"default": "./dist/esm/HostLiveness.js"
|
|
77
|
+
},
|
|
78
|
+
"require": {
|
|
79
|
+
"types": "./dist/cjs/HostLiveness.d.ts",
|
|
80
|
+
"default": "./dist/cjs/HostLiveness.js"
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
"./NodeHost": {
|
|
84
|
+
"import": {
|
|
85
|
+
"types": "./dist/esm/NodeHost.d.ts",
|
|
86
|
+
"default": "./dist/esm/NodeHost.js"
|
|
87
|
+
},
|
|
88
|
+
"require": {
|
|
89
|
+
"types": "./dist/cjs/NodeHost.d.ts",
|
|
90
|
+
"default": "./dist/cjs/NodeHost.js"
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
"./ProcessReaper": {
|
|
94
|
+
"import": {
|
|
95
|
+
"types": "./dist/esm/ProcessReaper.d.ts",
|
|
96
|
+
"default": "./dist/esm/ProcessReaper.js"
|
|
97
|
+
},
|
|
98
|
+
"require": {
|
|
99
|
+
"types": "./dist/cjs/ProcessReaper.d.ts",
|
|
100
|
+
"default": "./dist/cjs/ProcessReaper.js"
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
"./index": {
|
|
104
|
+
"import": {
|
|
105
|
+
"types": "./dist/esm/index.d.ts",
|
|
106
|
+
"default": "./dist/esm/index.js"
|
|
107
|
+
},
|
|
108
|
+
"require": {
|
|
109
|
+
"types": "./dist/cjs/index.d.ts",
|
|
110
|
+
"default": "./dist/cjs/index.js"
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
"./ScopedProcess": {
|
|
114
|
+
"import": {
|
|
115
|
+
"types": "./dist/esm/ScopedProcess.d.ts",
|
|
116
|
+
"default": "./dist/esm/ScopedProcess.js"
|
|
117
|
+
},
|
|
118
|
+
"require": {
|
|
119
|
+
"types": "./dist/cjs/ScopedProcess.d.ts",
|
|
120
|
+
"default": "./dist/cjs/ScopedProcess.js"
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
"./ProcessConfinement": {
|
|
124
|
+
"import": {
|
|
125
|
+
"types": "./dist/esm/ProcessConfinement.d.ts",
|
|
126
|
+
"default": "./dist/esm/ProcessConfinement.js"
|
|
127
|
+
},
|
|
128
|
+
"require": {
|
|
129
|
+
"types": "./dist/cjs/ProcessConfinement.d.ts",
|
|
130
|
+
"default": "./dist/cjs/ProcessConfinement.js"
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
"./ProcessSandbox": {
|
|
134
|
+
"import": {
|
|
135
|
+
"types": "./dist/esm/ProcessSandbox.d.ts",
|
|
136
|
+
"default": "./dist/esm/ProcessSandbox.js"
|
|
137
|
+
},
|
|
138
|
+
"require": {
|
|
139
|
+
"types": "./dist/cjs/ProcessSandbox.d.ts",
|
|
140
|
+
"default": "./dist/cjs/ProcessSandbox.js"
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
"files": [
|
|
145
|
+
"bin/**",
|
|
146
|
+
"src/**/*.ts",
|
|
147
|
+
"dist/**/*.js",
|
|
148
|
+
"dist/**/*.js.map",
|
|
149
|
+
"dist/**/*.d.ts",
|
|
150
|
+
"dist/**/*.d.ts.map",
|
|
151
|
+
"dist/**/package.json",
|
|
152
|
+
"LICENSE",
|
|
153
|
+
"README.md",
|
|
154
|
+
"CHANGELOG.md",
|
|
155
|
+
"dist/vendor/**",
|
|
156
|
+
"docs/"
|
|
157
|
+
],
|
|
158
|
+
"publishConfig": {
|
|
159
|
+
"access": "public",
|
|
160
|
+
"provenance": true,
|
|
161
|
+
"tag": "next"
|
|
162
|
+
},
|
|
163
|
+
"dependencies": {
|
|
164
|
+
"@smthrs/jj": "1.0.0-rc.3",
|
|
165
|
+
"@smthrs/kernel": "1.0.0-rc.3",
|
|
166
|
+
"undici": "8.10.2",
|
|
167
|
+
"redis": "6.2.1",
|
|
168
|
+
"@types/ws": "8.18.1",
|
|
169
|
+
"ws": "8.21.3"
|
|
170
|
+
},
|
|
171
|
+
"peerDependencies": {
|
|
172
|
+
"effect": "4.0.0-rc.115"
|
|
173
|
+
},
|
|
174
|
+
"devDependencies": {
|
|
175
|
+
"@effect/language-service": "0.87.2",
|
|
176
|
+
"@effect/platform-node": "4.0.0-rc.115",
|
|
177
|
+
"@effect/platform-node-shared": "4.0.0-rc.115",
|
|
178
|
+
"@effect/vitest": "4.0.0-rc.115",
|
|
179
|
+
"@eslint/js": "9.39.5",
|
|
180
|
+
"@smthrs/journal": "1.0.0-rc.3",
|
|
181
|
+
"@types/node": "26.4.1",
|
|
182
|
+
"@vitest/coverage-v8": "5.0.0",
|
|
183
|
+
"dprint": "0.57.1",
|
|
184
|
+
"effect": "4.0.0-rc.115",
|
|
185
|
+
"esbuild": "0.28.2",
|
|
186
|
+
"eslint": "9.39.5",
|
|
187
|
+
"eslint-import-resolver-typescript": "4.4.5",
|
|
188
|
+
"eslint-plugin-import": "2.32.0",
|
|
189
|
+
"eslint-plugin-jsdoc": "64.3.4",
|
|
190
|
+
"eslint-plugin-unicorn": "65.0.0",
|
|
191
|
+
"madge": "8.0.0",
|
|
192
|
+
"typescript": "5.9.3",
|
|
193
|
+
"typescript-eslint": "8.69.0",
|
|
194
|
+
"vitest": "5.0.0"
|
|
195
|
+
},
|
|
196
|
+
"scripts": {
|
|
197
|
+
"lint": "eslint src --max-warnings=0 && dprint check",
|
|
198
|
+
"format": "dprint fmt",
|
|
199
|
+
"build": "node scripts/build.mjs",
|
|
200
|
+
"check": "tsc -b tsconfig.json && tsc -p tsconfig.test.json --noEmit",
|
|
201
|
+
"circular": "node scripts/circular.mjs",
|
|
202
|
+
"test": "vitest",
|
|
203
|
+
"coverage": "vitest --coverage"
|
|
204
|
+
}
|
|
6
205
|
}
|