@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.
Files changed (442) hide show
  1. package/CHANGELOG.md +211 -0
  2. package/LICENSE +21 -0
  3. package/README.md +165 -2
  4. package/bin/darwin-arm64/smithers-jj-export +0 -0
  5. package/bin/darwin-x64/smithers-jj-export +0 -0
  6. package/bin/linux-arm64/smithers-jj-export +0 -0
  7. package/bin/linux-x64/smithers-jj-export +4 -0
  8. package/bin/win32-x64/smithers-jj-export.exe +0 -0
  9. package/dist/cjs/AtomicFileSystem.d.ts +147 -0
  10. package/dist/cjs/AtomicFileSystem.d.ts.map +1 -0
  11. package/dist/cjs/AtomicFileSystem.js +234 -0
  12. package/dist/cjs/AtomicFileSystem.js.map +7 -0
  13. package/dist/cjs/EgressHttpClient.d.ts +106 -0
  14. package/dist/cjs/EgressHttpClient.d.ts.map +1 -0
  15. package/dist/cjs/EgressHttpClient.js +202 -0
  16. package/dist/cjs/EgressHttpClient.js.map +7 -0
  17. package/dist/cjs/HostLiveness.d.ts +81 -0
  18. package/dist/cjs/HostLiveness.d.ts.map +1 -0
  19. package/dist/cjs/HostLiveness.js +49 -0
  20. package/dist/cjs/HostLiveness.js.map +7 -0
  21. package/dist/cjs/NodeHost.d.ts +145 -0
  22. package/dist/cjs/NodeHost.d.ts.map +1 -0
  23. package/dist/cjs/NodeHost.js +128 -0
  24. package/dist/cjs/NodeHost.js.map +7 -0
  25. package/dist/cjs/ProcessConfinement.d.ts +61 -0
  26. package/dist/cjs/ProcessConfinement.d.ts.map +1 -0
  27. package/dist/cjs/ProcessConfinement.js +287 -0
  28. package/dist/cjs/ProcessConfinement.js.map +7 -0
  29. package/dist/cjs/ProcessReaper.d.ts +457 -0
  30. package/dist/cjs/ProcessReaper.d.ts.map +1 -0
  31. package/dist/cjs/ProcessReaper.js +349 -0
  32. package/dist/cjs/ProcessReaper.js.map +7 -0
  33. package/dist/cjs/ProcessSandbox.d.ts +377 -0
  34. package/dist/cjs/ProcessSandbox.d.ts.map +1 -0
  35. package/dist/cjs/ProcessSandbox.js +759 -0
  36. package/dist/cjs/ProcessSandbox.js.map +7 -0
  37. package/dist/cjs/ScopedProcess.d.ts +65 -0
  38. package/dist/cjs/ScopedProcess.d.ts.map +1 -0
  39. package/dist/cjs/ScopedProcess.js +87 -0
  40. package/dist/cjs/ScopedProcess.js.map +7 -0
  41. package/dist/cjs/index.d.ts +38 -0
  42. package/dist/cjs/index.d.ts.map +1 -0
  43. package/dist/cjs/index.js +47 -0
  44. package/dist/cjs/index.js.map +7 -0
  45. package/dist/cjs/internal/AtomicFileSystemExecutable.d.ts +61 -0
  46. package/dist/cjs/internal/AtomicFileSystemExecutable.d.ts.map +1 -0
  47. package/dist/cjs/internal/AtomicFileSystemExecutable.js +250 -0
  48. package/dist/cjs/internal/AtomicFileSystemExecutable.js.map +7 -0
  49. package/dist/cjs/internal/AtomicFileSystemProtocol.d.ts +78 -0
  50. package/dist/cjs/internal/AtomicFileSystemProtocol.d.ts.map +1 -0
  51. package/dist/cjs/internal/AtomicFileSystemProtocol.js +382 -0
  52. package/dist/cjs/internal/AtomicFileSystemProtocol.js.map +7 -0
  53. package/dist/cjs/internal/AtomicFileSystemTransport.d.ts +44 -0
  54. package/dist/cjs/internal/AtomicFileSystemTransport.d.ts.map +1 -0
  55. package/dist/cjs/internal/AtomicFileSystemTransport.js +197 -0
  56. package/dist/cjs/internal/AtomicFileSystemTransport.js.map +7 -0
  57. package/dist/cjs/internal/AtomicHelperError.d.ts +35 -0
  58. package/dist/cjs/internal/AtomicHelperError.d.ts.map +1 -0
  59. package/dist/cjs/internal/AtomicHelperError.js +45 -0
  60. package/dist/cjs/internal/AtomicHelperError.js.map +7 -0
  61. package/dist/cjs/internal/AtomicHelperFault.d.ts +59 -0
  62. package/dist/cjs/internal/AtomicHelperFault.d.ts.map +1 -0
  63. package/dist/cjs/internal/AtomicHelperFault.js +66 -0
  64. package/dist/cjs/internal/AtomicHelperFault.js.map +7 -0
  65. package/dist/cjs/internal/PipedProcess.d.ts +35 -0
  66. package/dist/cjs/internal/PipedProcess.d.ts.map +1 -0
  67. package/dist/cjs/internal/PipedProcess.js +309 -0
  68. package/dist/cjs/internal/PipedProcess.js.map +7 -0
  69. package/dist/cjs/internal/ProcSnapshot.d.ts +85 -0
  70. package/dist/cjs/internal/ProcSnapshot.d.ts.map +1 -0
  71. package/dist/cjs/internal/ProcSnapshot.js +123 -0
  72. package/dist/cjs/internal/ProcSnapshot.js.map +7 -0
  73. package/dist/cjs/internal/ProcessCleanup.d.ts +64 -0
  74. package/dist/cjs/internal/ProcessCleanup.d.ts.map +1 -0
  75. package/dist/cjs/internal/ProcessCleanup.js +62 -0
  76. package/dist/cjs/internal/ProcessCleanup.js.map +7 -0
  77. package/dist/cjs/internal/ProcessCleanupPolicyError.d.ts +30 -0
  78. package/dist/cjs/internal/ProcessCleanupPolicyError.d.ts.map +1 -0
  79. package/dist/cjs/internal/ProcessCleanupPolicyError.js +33 -0
  80. package/dist/cjs/internal/ProcessCleanupPolicyError.js.map +7 -0
  81. package/dist/cjs/internal/ProcessFault.d.ts +63 -0
  82. package/dist/cjs/internal/ProcessFault.d.ts.map +1 -0
  83. package/dist/cjs/internal/ProcessFault.js +63 -0
  84. package/dist/cjs/internal/ProcessFault.js.map +7 -0
  85. package/dist/cjs/internal/ProcessSupervisor.d.ts +141 -0
  86. package/dist/cjs/internal/ProcessSupervisor.d.ts.map +1 -0
  87. package/dist/cjs/internal/ProcessSupervisor.js +682 -0
  88. package/dist/cjs/internal/ProcessSupervisor.js.map +7 -0
  89. package/dist/cjs/internal/SupervisorProgram.d.ts +9 -0
  90. package/dist/cjs/internal/SupervisorProgram.d.ts.map +1 -0
  91. package/dist/cjs/internal/SupervisorProgram.js +306 -0
  92. package/dist/cjs/internal/SupervisorProgram.js.map +7 -0
  93. package/dist/cjs/internal/WindowsProcessJob.d.ts +39 -0
  94. package/dist/cjs/internal/WindowsProcessJob.d.ts.map +1 -0
  95. package/dist/cjs/internal/WindowsProcessJob.js +113 -0
  96. package/dist/cjs/internal/WindowsProcessJob.js.map +7 -0
  97. package/dist/cjs/package.json +1 -0
  98. package/dist/esm/AtomicFileSystem.d.ts +147 -0
  99. package/dist/esm/AtomicFileSystem.d.ts.map +1 -0
  100. package/dist/esm/AtomicFileSystem.js +290 -0
  101. package/dist/esm/AtomicFileSystem.js.map +1 -0
  102. package/dist/esm/EgressHttpClient.d.ts +106 -0
  103. package/dist/esm/EgressHttpClient.d.ts.map +1 -0
  104. package/dist/esm/EgressHttpClient.js +259 -0
  105. package/dist/esm/EgressHttpClient.js.map +1 -0
  106. package/dist/esm/HostLiveness.d.ts +81 -0
  107. package/dist/esm/HostLiveness.d.ts.map +1 -0
  108. package/dist/esm/HostLiveness.js +68 -0
  109. package/dist/esm/HostLiveness.js.map +1 -0
  110. package/dist/esm/NodeHost.d.ts +145 -0
  111. package/dist/esm/NodeHost.d.ts.map +1 -0
  112. package/dist/esm/NodeHost.js +162 -0
  113. package/dist/esm/NodeHost.js.map +1 -0
  114. package/dist/esm/ProcessConfinement.d.ts +61 -0
  115. package/dist/esm/ProcessConfinement.d.ts.map +1 -0
  116. package/dist/esm/ProcessConfinement.js +311 -0
  117. package/dist/esm/ProcessConfinement.js.map +1 -0
  118. package/dist/esm/ProcessReaper.d.ts +457 -0
  119. package/dist/esm/ProcessReaper.d.ts.map +1 -0
  120. package/dist/esm/ProcessReaper.js +711 -0
  121. package/dist/esm/ProcessReaper.js.map +1 -0
  122. package/dist/esm/ProcessSandbox.d.ts +377 -0
  123. package/dist/esm/ProcessSandbox.d.ts.map +1 -0
  124. package/dist/esm/ProcessSandbox.js +1014 -0
  125. package/dist/esm/ProcessSandbox.js.map +1 -0
  126. package/dist/esm/ScopedProcess.d.ts +65 -0
  127. package/dist/esm/ScopedProcess.d.ts.map +1 -0
  128. package/dist/esm/ScopedProcess.js +66 -0
  129. package/dist/esm/ScopedProcess.js.map +1 -0
  130. package/dist/esm/index.d.ts +38 -0
  131. package/dist/esm/index.d.ts.map +1 -0
  132. package/dist/esm/index.js +38 -0
  133. package/dist/esm/index.js.map +1 -0
  134. package/dist/esm/internal/AtomicFileSystemExecutable.d.ts +61 -0
  135. package/dist/esm/internal/AtomicFileSystemExecutable.d.ts.map +1 -0
  136. package/dist/esm/internal/AtomicFileSystemExecutable.js +350 -0
  137. package/dist/esm/internal/AtomicFileSystemExecutable.js.map +1 -0
  138. package/dist/esm/internal/AtomicFileSystemProtocol.d.ts +78 -0
  139. package/dist/esm/internal/AtomicFileSystemProtocol.d.ts.map +1 -0
  140. package/dist/esm/internal/AtomicFileSystemProtocol.js +412 -0
  141. package/dist/esm/internal/AtomicFileSystemProtocol.js.map +1 -0
  142. package/dist/esm/internal/AtomicFileSystemTransport.d.ts +44 -0
  143. package/dist/esm/internal/AtomicFileSystemTransport.d.ts.map +1 -0
  144. package/dist/esm/internal/AtomicFileSystemTransport.js +242 -0
  145. package/dist/esm/internal/AtomicFileSystemTransport.js.map +1 -0
  146. package/dist/esm/internal/AtomicHelperError.d.ts +35 -0
  147. package/dist/esm/internal/AtomicHelperError.d.ts.map +1 -0
  148. package/dist/esm/internal/AtomicHelperError.js +39 -0
  149. package/dist/esm/internal/AtomicHelperError.js.map +1 -0
  150. package/dist/esm/internal/AtomicHelperFault.d.ts +59 -0
  151. package/dist/esm/internal/AtomicHelperFault.d.ts.map +1 -0
  152. package/dist/esm/internal/AtomicHelperFault.js +66 -0
  153. package/dist/esm/internal/AtomicHelperFault.js.map +1 -0
  154. package/dist/esm/internal/PipedProcess.d.ts +35 -0
  155. package/dist/esm/internal/PipedProcess.d.ts.map +1 -0
  156. package/dist/esm/internal/PipedProcess.js +321 -0
  157. package/dist/esm/internal/PipedProcess.js.map +1 -0
  158. package/dist/esm/internal/ProcSnapshot.d.ts +85 -0
  159. package/dist/esm/internal/ProcSnapshot.d.ts.map +1 -0
  160. package/dist/esm/internal/ProcSnapshot.js +188 -0
  161. package/dist/esm/internal/ProcSnapshot.js.map +1 -0
  162. package/dist/esm/internal/ProcessCleanup.d.ts +64 -0
  163. package/dist/esm/internal/ProcessCleanup.d.ts.map +1 -0
  164. package/dist/esm/internal/ProcessCleanup.js +45 -0
  165. package/dist/esm/internal/ProcessCleanup.js.map +1 -0
  166. package/dist/esm/internal/ProcessCleanupPolicyError.d.ts +30 -0
  167. package/dist/esm/internal/ProcessCleanupPolicyError.d.ts.map +1 -0
  168. package/dist/esm/internal/ProcessCleanupPolicyError.js +25 -0
  169. package/dist/esm/internal/ProcessCleanupPolicyError.js.map +1 -0
  170. package/dist/esm/internal/ProcessFault.d.ts +63 -0
  171. package/dist/esm/internal/ProcessFault.d.ts.map +1 -0
  172. package/dist/esm/internal/ProcessFault.js +64 -0
  173. package/dist/esm/internal/ProcessFault.js.map +1 -0
  174. package/dist/esm/internal/ProcessSupervisor.d.ts +141 -0
  175. package/dist/esm/internal/ProcessSupervisor.d.ts.map +1 -0
  176. package/dist/esm/internal/ProcessSupervisor.js +682 -0
  177. package/dist/esm/internal/ProcessSupervisor.js.map +1 -0
  178. package/dist/esm/internal/SupervisorProgram.d.ts +9 -0
  179. package/dist/esm/internal/SupervisorProgram.d.ts.map +1 -0
  180. package/dist/esm/internal/SupervisorProgram.js +290 -0
  181. package/dist/esm/internal/SupervisorProgram.js.map +1 -0
  182. package/dist/esm/internal/WindowsProcessJob.d.ts +39 -0
  183. package/dist/esm/internal/WindowsProcessJob.d.ts.map +1 -0
  184. package/dist/esm/internal/WindowsProcessJob.js +115 -0
  185. package/dist/esm/internal/WindowsProcessJob.js.map +1 -0
  186. package/dist/vendor/adapters.json +1757 -0
  187. package/dist/vendor/chunk-2Y7WC4KU.js +109 -0
  188. package/dist/vendor/chunk-3GR5VZ2M.js +118 -0
  189. package/dist/vendor/chunk-42QKY6T6.js +40 -0
  190. package/dist/vendor/chunk-54RLBMTZ.js +61 -0
  191. package/dist/vendor/chunk-5ZMHBXIK.js +55 -0
  192. package/dist/vendor/chunk-6ME2W7TF.js +28 -0
  193. package/dist/vendor/chunk-AMQKOQNT.js +34 -0
  194. package/dist/vendor/chunk-B3FZ67QU.js +59 -0
  195. package/dist/vendor/chunk-BKTBUBQY.js +437 -0
  196. package/dist/vendor/chunk-DS7GF46S.js +34 -0
  197. package/dist/vendor/chunk-DVOAHXPG.js +104 -0
  198. package/dist/vendor/chunk-DWSHTSVX.js +229 -0
  199. package/dist/vendor/chunk-EGBNVEEW.js +14 -0
  200. package/dist/vendor/chunk-EZWY45HP.js +18 -0
  201. package/dist/vendor/chunk-FNZOJHSV.js +71 -0
  202. package/dist/vendor/chunk-GXCHI7BM.js +131 -0
  203. package/dist/vendor/chunk-IIJ52ZU6.js +20 -0
  204. package/dist/vendor/chunk-J7A4CZDO.js +92 -0
  205. package/dist/vendor/chunk-JG5TTWPT.js +85 -0
  206. package/dist/vendor/chunk-JJ24ARBQ.js +394 -0
  207. package/dist/vendor/chunk-KOZMM5PZ.js +426 -0
  208. package/dist/vendor/chunk-KUUXSID7.js +18 -0
  209. package/dist/vendor/chunk-LEUPYT3Q.js +36 -0
  210. package/dist/vendor/chunk-M32LDTW7.js +18 -0
  211. package/dist/vendor/chunk-M7CLUILA.js +0 -0
  212. package/dist/vendor/chunk-MBSKBQ5D.js +21 -0
  213. package/dist/vendor/chunk-MLKGABMK.js +9 -0
  214. package/dist/vendor/chunk-NBVRTDTV.js +129 -0
  215. package/dist/vendor/chunk-OXNGN5H7.js +81 -0
  216. package/dist/vendor/chunk-QPLDT6A6.js +564 -0
  217. package/dist/vendor/chunk-QYBKAIA6.js +18 -0
  218. package/dist/vendor/chunk-RO2R4MJH.js +62 -0
  219. package/dist/vendor/chunk-SIR62W3Y.js +398 -0
  220. package/dist/vendor/chunk-TFIKFFSC.js +26 -0
  221. package/dist/vendor/chunk-TXKLEBBL.js +143 -0
  222. package/dist/vendor/chunk-UFH5UUZK.js +48 -0
  223. package/dist/vendor/chunk-VANKHF46.js +96 -0
  224. package/dist/vendor/chunk-VZBDV3TV.js +18 -0
  225. package/dist/vendor/chunk-XDKNKFBW.js +22 -0
  226. package/dist/vendor/chunk-XH4U3JSV.js +249 -0
  227. package/dist/vendor/chunk-Y35ZAO5U.js +53 -0
  228. package/dist/vendor/chunk-ZJMRMY57.js +0 -0
  229. package/dist/vendor/cjs/node/NodeChildProcessSpawner.d.ts +7 -0
  230. package/dist/vendor/cjs/node/NodeChildProcessSpawner.js +1 -0
  231. package/dist/vendor/cjs/node/NodeClusterHttp.d.ts +63 -0
  232. package/dist/vendor/cjs/node/NodeClusterHttp.js +1 -0
  233. package/dist/vendor/cjs/node/NodeClusterSocket.d.ts +79 -0
  234. package/dist/vendor/cjs/node/NodeClusterSocket.js +1 -0
  235. package/dist/vendor/cjs/node/NodeCrypto.d.ts +10 -0
  236. package/dist/vendor/cjs/node/NodeCrypto.js +1 -0
  237. package/dist/vendor/cjs/node/NodeFileSystem.d.ts +10 -0
  238. package/dist/vendor/cjs/node/NodeFileSystem.js +1 -0
  239. package/dist/vendor/cjs/node/NodeHttpClient.d.ts +179 -0
  240. package/dist/vendor/cjs/node/NodeHttpClient.js +1 -0
  241. package/dist/vendor/cjs/node/NodeHttpIncomingMessage.d.ts +62 -0
  242. package/dist/vendor/cjs/node/NodeHttpIncomingMessage.js +1 -0
  243. package/dist/vendor/cjs/node/NodeHttpPlatform.d.ts +36 -0
  244. package/dist/vendor/cjs/node/NodeHttpPlatform.js +1 -0
  245. package/dist/vendor/cjs/node/NodeHttpServer.d.ts +120 -0
  246. package/dist/vendor/cjs/node/NodeHttpServer.js +1 -0
  247. package/dist/vendor/cjs/node/NodeHttpServerRequest.d.ts +29 -0
  248. package/dist/vendor/cjs/node/NodeHttpServerRequest.js +1 -0
  249. package/dist/vendor/cjs/node/NodeMultipart.d.ts +46 -0
  250. package/dist/vendor/cjs/node/NodeMultipart.js +1 -0
  251. package/dist/vendor/cjs/node/NodeMultipartParser.d.ts +97 -0
  252. package/dist/vendor/cjs/node/NodeMultipartParser.js +1 -0
  253. package/dist/vendor/cjs/node/NodePath.d.ts +27 -0
  254. package/dist/vendor/cjs/node/NodePath.js +1 -0
  255. package/dist/vendor/cjs/node/NodeRedis.d.ts +74 -0
  256. package/dist/vendor/cjs/node/NodeRedis.js +1 -0
  257. package/dist/vendor/cjs/node/NodeRuntime.d.ts +85 -0
  258. package/dist/vendor/cjs/node/NodeRuntime.js +1 -0
  259. package/dist/vendor/cjs/node/NodeServices.d.ts +34 -0
  260. package/dist/vendor/cjs/node/NodeServices.js +1 -0
  261. package/dist/vendor/cjs/node/NodeSink.d.ts +8 -0
  262. package/dist/vendor/cjs/node/NodeSink.js +1 -0
  263. package/dist/vendor/cjs/node/NodeSocket.d.ts +38 -0
  264. package/dist/vendor/cjs/node/NodeSocket.js +1 -0
  265. package/dist/vendor/cjs/node/NodeSocketServer.d.ts +8 -0
  266. package/dist/vendor/cjs/node/NodeSocketServer.js +1 -0
  267. package/dist/vendor/cjs/node/NodeStdio.d.ts +11 -0
  268. package/dist/vendor/cjs/node/NodeStdio.js +1 -0
  269. package/dist/vendor/cjs/node/NodeStream.d.ts +8 -0
  270. package/dist/vendor/cjs/node/NodeStream.js +1 -0
  271. package/dist/vendor/cjs/node/NodeTerminal.d.ts +21 -0
  272. package/dist/vendor/cjs/node/NodeTerminal.js +1 -0
  273. package/dist/vendor/cjs/node/NodeWorker.d.ts +22 -0
  274. package/dist/vendor/cjs/node/NodeWorker.js +1 -0
  275. package/dist/vendor/cjs/node/NodeWorkerRunner.d.ts +12 -0
  276. package/dist/vendor/cjs/node/NodeWorkerRunner.js +1 -0
  277. package/dist/vendor/cjs/node/Undici.d.ts +28 -0
  278. package/dist/vendor/cjs/node/Undici.js +1 -0
  279. package/dist/vendor/cjs/node/index.d.ts +100 -0
  280. package/dist/vendor/cjs/node/index.js +1 -0
  281. package/dist/vendor/cjs/node-shared/NodeChildProcessSpawner.d.ts +57 -0
  282. package/dist/vendor/cjs/node-shared/NodeChildProcessSpawner.js +1 -0
  283. package/dist/vendor/cjs/node-shared/NodeClusterSocket.d.ts +22 -0
  284. package/dist/vendor/cjs/node-shared/NodeClusterSocket.js +1 -0
  285. package/dist/vendor/cjs/node-shared/NodeCrypto.d.ts +27 -0
  286. package/dist/vendor/cjs/node-shared/NodeCrypto.js +1 -0
  287. package/dist/vendor/cjs/node-shared/NodeFileSystem.d.ts +11 -0
  288. package/dist/vendor/cjs/node-shared/NodeFileSystem.js +1 -0
  289. package/dist/vendor/cjs/node-shared/NodeHttpCompression.d.ts +36 -0
  290. package/dist/vendor/cjs/node-shared/NodeHttpCompression.js +1 -0
  291. package/dist/vendor/cjs/node-shared/NodePath.d.ts +27 -0
  292. package/dist/vendor/cjs/node-shared/NodePath.js +1 -0
  293. package/dist/vendor/cjs/node-shared/NodeRuntime.d.ts +47 -0
  294. package/dist/vendor/cjs/node-shared/NodeRuntime.js +1 -0
  295. package/dist/vendor/cjs/node-shared/NodeSink.d.ts +69 -0
  296. package/dist/vendor/cjs/node-shared/NodeSink.js +1 -0
  297. package/dist/vendor/cjs/node-shared/NodeSocket.d.ts +134 -0
  298. package/dist/vendor/cjs/node-shared/NodeSocket.js +1 -0
  299. package/dist/vendor/cjs/node-shared/NodeSocketServer.d.ts +80 -0
  300. package/dist/vendor/cjs/node-shared/NodeSocketServer.js +1 -0
  301. package/dist/vendor/cjs/node-shared/NodeStdio.d.ts +12 -0
  302. package/dist/vendor/cjs/node-shared/NodeStdio.js +1 -0
  303. package/dist/vendor/cjs/node-shared/NodeStream.d.ts +179 -0
  304. package/dist/vendor/cjs/node-shared/NodeStream.js +1 -0
  305. package/dist/vendor/cjs/node-shared/NodeTerminal.d.ts +22 -0
  306. package/dist/vendor/cjs/node-shared/NodeTerminal.js +1 -0
  307. package/dist/vendor/cjs/node-shared/index.d.ts +56 -0
  308. package/dist/vendor/cjs/node-shared/index.js +1 -0
  309. package/dist/vendor/cjs/node-shared/internal/nodeChildProcessSpawner.d.ts +4 -0
  310. package/dist/vendor/cjs/node-shared/internal/nodeChildProcessSpawner.js +1 -0
  311. package/dist/vendor/cjs/node-shared/internal/utils.d.ts +2 -0
  312. package/dist/vendor/cjs/node-shared/internal/utils.js +1 -0
  313. package/dist/vendor/cjs/package.json +1 -0
  314. package/dist/vendor/cjs/platform-node-shared.d.ts +56 -0
  315. package/dist/vendor/cjs/platform-node-shared.js +1 -0
  316. package/dist/vendor/cjs/platform-node.d.ts +100 -0
  317. package/dist/vendor/cjs/platform-node.js +1 -0
  318. package/dist/vendor/node/LICENSE +21 -0
  319. package/dist/vendor/node/NodeChildProcessSpawner.d.ts +7 -0
  320. package/dist/vendor/node/NodeChildProcessSpawner.js +14 -0
  321. package/dist/vendor/node/NodeClusterHttp.d.ts +63 -0
  322. package/dist/vendor/node/NodeClusterHttp.js +43 -0
  323. package/dist/vendor/node/NodeClusterSocket.d.ts +79 -0
  324. package/dist/vendor/node/NodeClusterSocket.js +30 -0
  325. package/dist/vendor/node/NodeCrypto.d.ts +10 -0
  326. package/dist/vendor/node/NodeCrypto.js +8 -0
  327. package/dist/vendor/node/NodeFileSystem.d.ts +10 -0
  328. package/dist/vendor/node/NodeFileSystem.js +9 -0
  329. package/dist/vendor/node/NodeHttpClient.d.ts +179 -0
  330. package/dist/vendor/node/NodeHttpClient.js +46 -0
  331. package/dist/vendor/node/NodeHttpIncomingMessage.d.ts +62 -0
  332. package/dist/vendor/node/NodeHttpIncomingMessage.js +10 -0
  333. package/dist/vendor/node/NodeHttpPlatform.d.ts +36 -0
  334. package/dist/vendor/node/NodeHttpPlatform.js +16 -0
  335. package/dist/vendor/node/NodeHttpServer.d.ts +120 -0
  336. package/dist/vendor/node/NodeHttpServer.js +46 -0
  337. package/dist/vendor/node/NodeHttpServerRequest.d.ts +29 -0
  338. package/dist/vendor/node/NodeHttpServerRequest.js +9 -0
  339. package/dist/vendor/node/NodeMultipart.d.ts +46 -0
  340. package/dist/vendor/node/NodeMultipart.js +15 -0
  341. package/dist/vendor/node/NodeMultipartParser.d.ts +97 -0
  342. package/dist/vendor/node/NodeMultipartParser.js +11 -0
  343. package/dist/vendor/node/NodePath.d.ts +27 -0
  344. package/dist/vendor/node/NodePath.js +12 -0
  345. package/dist/vendor/node/NodeRedis.d.ts +74 -0
  346. package/dist/vendor/node/NodeRedis.js +11 -0
  347. package/dist/vendor/node/NodeRuntime.d.ts +85 -0
  348. package/dist/vendor/node/NodeRuntime.js +8 -0
  349. package/dist/vendor/node/NodeServices.d.ts +34 -0
  350. package/dist/vendor/node/NodeServices.js +23 -0
  351. package/dist/vendor/node/NodeSink.d.ts +8 -0
  352. package/dist/vendor/node/NodeSink.js +12 -0
  353. package/dist/vendor/node/NodeSocket.d.ts +38 -0
  354. package/dist/vendor/node/NodeSocket.js +31 -0
  355. package/dist/vendor/node/NodeSocketServer.d.ts +8 -0
  356. package/dist/vendor/node/NodeSocketServer.js +21 -0
  357. package/dist/vendor/node/NodeStdio.d.ts +11 -0
  358. package/dist/vendor/node/NodeStdio.js +10 -0
  359. package/dist/vendor/node/NodeStream.d.ts +8 -0
  360. package/dist/vendor/node/NodeStream.js +27 -0
  361. package/dist/vendor/node/NodeTerminal.d.ts +21 -0
  362. package/dist/vendor/node/NodeTerminal.js +10 -0
  363. package/dist/vendor/node/NodeWorker.d.ts +22 -0
  364. package/dist/vendor/node/NodeWorker.js +9 -0
  365. package/dist/vendor/node/NodeWorkerRunner.d.ts +12 -0
  366. package/dist/vendor/node/NodeWorkerRunner.js +7 -0
  367. package/dist/vendor/node/Undici.d.ts +28 -0
  368. package/dist/vendor/node/Undici.js +9 -0
  369. package/dist/vendor/node/index.d.ts +100 -0
  370. package/dist/vendor/node/index.js +115 -0
  371. package/dist/vendor/node-shared/LICENSE +21 -0
  372. package/dist/vendor/node-shared/NodeChildProcessSpawner.d.ts +57 -0
  373. package/dist/vendor/node-shared/NodeChildProcessSpawner.js +13 -0
  374. package/dist/vendor/node-shared/NodeClusterSocket.d.ts +22 -0
  375. package/dist/vendor/node-shared/NodeClusterSocket.js +11 -0
  376. package/dist/vendor/node-shared/NodeCrypto.d.ts +27 -0
  377. package/dist/vendor/node-shared/NodeCrypto.js +9 -0
  378. package/dist/vendor/node-shared/NodeFileSystem.d.ts +11 -0
  379. package/dist/vendor/node-shared/NodeFileSystem.js +8 -0
  380. package/dist/vendor/node-shared/NodeHttpCompression.d.ts +36 -0
  381. package/dist/vendor/node-shared/NodeHttpCompression.js +13 -0
  382. package/dist/vendor/node-shared/NodePath.d.ts +27 -0
  383. package/dist/vendor/node-shared/NodePath.js +11 -0
  384. package/dist/vendor/node-shared/NodeRuntime.d.ts +47 -0
  385. package/dist/vendor/node-shared/NodeRuntime.js +7 -0
  386. package/dist/vendor/node-shared/NodeSink.d.ts +69 -0
  387. package/dist/vendor/node-shared/NodeSink.js +11 -0
  388. package/dist/vendor/node-shared/NodeSocket.d.ts +134 -0
  389. package/dist/vendor/node-shared/NodeSocket.js +23 -0
  390. package/dist/vendor/node-shared/NodeSocketServer.d.ts +80 -0
  391. package/dist/vendor/node-shared/NodeSocketServer.js +20 -0
  392. package/dist/vendor/node-shared/NodeStdio.d.ts +12 -0
  393. package/dist/vendor/node-shared/NodeStdio.js +9 -0
  394. package/dist/vendor/node-shared/NodeStream.d.ts +179 -0
  395. package/dist/vendor/node-shared/NodeStream.js +26 -0
  396. package/dist/vendor/node-shared/NodeTerminal.d.ts +22 -0
  397. package/dist/vendor/node-shared/NodeTerminal.js +9 -0
  398. package/dist/vendor/node-shared/index.d.ts +56 -0
  399. package/dist/vendor/node-shared/index.js +58 -0
  400. package/dist/vendor/node-shared/internal/nodeChildProcessSpawner.d.ts +4 -0
  401. package/dist/vendor/node-shared/internal/nodeChildProcessSpawner.js +7 -0
  402. package/dist/vendor/node-shared/internal/utils.d.ts +2 -0
  403. package/dist/vendor/node-shared/internal/utils.js +7 -0
  404. package/dist/vendor/platform-node-shared.d.ts +56 -0
  405. package/dist/vendor/platform-node-shared.js +58 -0
  406. package/dist/vendor/platform-node.d.ts +100 -0
  407. package/dist/vendor/platform-node.js +115 -0
  408. package/docs/README.md +129 -0
  409. package/docs/api.md +552 -0
  410. package/docs/concepts/descriptor-relative-filesystem.md +181 -0
  411. package/docs/concepts/host-bundle.md +125 -0
  412. package/docs/concepts/process-containment.md +182 -0
  413. package/docs/guides/answer-run-ownership.md +87 -0
  414. package/docs/guides/configure-the-filesystem-helper.md +152 -0
  415. package/docs/guides/contain-child-processes.md +139 -0
  416. package/docs/guides/match-files-with-glob.md +151 -0
  417. package/docs/installation.md +204 -0
  418. package/docs/quickstart.md +147 -0
  419. package/docs/troubleshooting.md +130 -0
  420. package/package.json +202 -3
  421. package/src/AtomicFileSystem.ts +415 -0
  422. package/src/EgressHttpClient.ts +327 -0
  423. package/src/HostLiveness.ts +103 -0
  424. package/src/NodeHost.ts +253 -0
  425. package/src/ProcessConfinement.ts +356 -0
  426. package/src/ProcessReaper.ts +951 -0
  427. package/src/ProcessSandbox.ts +1273 -0
  428. package/src/ScopedProcess.ts +123 -0
  429. package/src/index.ts +44 -0
  430. package/src/internal/AtomicFileSystemExecutable.ts +379 -0
  431. package/src/internal/AtomicFileSystemProtocol.ts +502 -0
  432. package/src/internal/AtomicFileSystemTransport.ts +272 -0
  433. package/src/internal/AtomicHelperError.ts +50 -0
  434. package/src/internal/AtomicHelperFault.ts +84 -0
  435. package/src/internal/PipedProcess.ts +357 -0
  436. package/src/internal/ProcSnapshot.ts +193 -0
  437. package/src/internal/ProcessCleanup.ts +99 -0
  438. package/src/internal/ProcessCleanupPolicyError.ts +30 -0
  439. package/src/internal/ProcessFault.ts +82 -0
  440. package/src/internal/ProcessSupervisor.ts +801 -0
  441. package/src/internal/SupervisorProgram.ts +289 -0
  442. package/src/internal/WindowsProcessJob.ts +114 -0
@@ -0,0 +1,56 @@
1
+ /**
2
+ * @since 4.0.0
3
+ */
4
+ /**
5
+ * @since 4.0.0
6
+ */
7
+ export * as NodeChildProcessSpawner from "./node-shared/NodeChildProcessSpawner.ts";
8
+ /**
9
+ * @since 4.0.0
10
+ */
11
+ export * as NodeClusterSocket from "./node-shared/NodeClusterSocket.ts";
12
+ /**
13
+ * @since 1.0.0
14
+ */
15
+ export * as NodeCrypto from "./node-shared/NodeCrypto.ts";
16
+ /**
17
+ * @since 4.0.0
18
+ */
19
+ export * as NodeFileSystem from "./node-shared/NodeFileSystem.ts";
20
+ /**
21
+ * @since 4.0.0
22
+ */
23
+ export * as NodeHttpCompression from "./node-shared/NodeHttpCompression.ts";
24
+ /**
25
+ * @since 4.0.0
26
+ */
27
+ export * as NodePath from "./node-shared/NodePath.ts";
28
+ /**
29
+ * @since 4.0.0
30
+ */
31
+ export * as NodeRuntime from "./node-shared/NodeRuntime.ts";
32
+ /**
33
+ * @since 4.0.0
34
+ */
35
+ export * as NodeSink from "./node-shared/NodeSink.ts";
36
+ /**
37
+ * @since 4.0.0
38
+ */
39
+ export * as NodeSocket from "./node-shared/NodeSocket.ts";
40
+ /**
41
+ * @since 4.0.0
42
+ */
43
+ export * as NodeSocketServer from "./node-shared/NodeSocketServer.ts";
44
+ /**
45
+ * @since 4.0.0
46
+ */
47
+ export * as NodeStdio from "./node-shared/NodeStdio.ts";
48
+ /**
49
+ * @since 4.0.0
50
+ */
51
+ export * as NodeStream from "./node-shared/NodeStream.ts";
52
+ /**
53
+ * @since 4.0.0
54
+ */
55
+ export * as NodeTerminal from "./node-shared/NodeTerminal.ts";
56
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,58 @@
1
+ import "./chunk-M7CLUILA.js";
2
+ import {
3
+ NodeRuntime_exports
4
+ } from "./chunk-LEUPYT3Q.js";
5
+ import {
6
+ NodeStdio_exports
7
+ } from "./chunk-B3FZ67QU.js";
8
+ import {
9
+ NodeTerminal_exports
10
+ } from "./chunk-TXKLEBBL.js";
11
+ import {
12
+ NodePath_exports
13
+ } from "./chunk-54RLBMTZ.js";
14
+ import {
15
+ NodeChildProcessSpawner_exports
16
+ } from "./chunk-QPLDT6A6.js";
17
+ import "./chunk-EGBNVEEW.js";
18
+ import {
19
+ NodeClusterSocket_exports
20
+ } from "./chunk-Y35ZAO5U.js";
21
+ import {
22
+ NodeSocketServer_exports
23
+ } from "./chunk-DWSHTSVX.js";
24
+ import {
25
+ NodeSocket_exports
26
+ } from "./chunk-JJ24ARBQ.js";
27
+ import {
28
+ NodeCrypto_exports
29
+ } from "./chunk-UFH5UUZK.js";
30
+ import {
31
+ NodeHttpCompression_exports
32
+ } from "./chunk-3GR5VZ2M.js";
33
+ import {
34
+ NodeFileSystem_exports
35
+ } from "./chunk-BKTBUBQY.js";
36
+ import "./chunk-42QKY6T6.js";
37
+ import {
38
+ NodeStream_exports
39
+ } from "./chunk-XH4U3JSV.js";
40
+ import {
41
+ NodeSink_exports
42
+ } from "./chunk-OXNGN5H7.js";
43
+ import "./chunk-MLKGABMK.js";
44
+ export {
45
+ NodeChildProcessSpawner_exports as NodeChildProcessSpawner,
46
+ NodeClusterSocket_exports as NodeClusterSocket,
47
+ NodeCrypto_exports as NodeCrypto,
48
+ NodeFileSystem_exports as NodeFileSystem,
49
+ NodeHttpCompression_exports as NodeHttpCompression,
50
+ NodePath_exports as NodePath,
51
+ NodeRuntime_exports as NodeRuntime,
52
+ NodeSink_exports as NodeSink,
53
+ NodeSocket_exports as NodeSocket,
54
+ NodeSocketServer_exports as NodeSocketServer,
55
+ NodeStdio_exports as NodeStdio,
56
+ NodeStream_exports as NodeStream,
57
+ NodeTerminal_exports as NodeTerminal
58
+ };
@@ -0,0 +1,100 @@
1
+ /**
2
+ * @since 4.0.0
3
+ */
4
+ /**
5
+ * @since 4.0.0
6
+ */
7
+ export * as NodeChildProcessSpawner from "./node/NodeChildProcessSpawner.ts";
8
+ /**
9
+ * @since 4.0.0
10
+ */
11
+ export * as NodeClusterHttp from "./node/NodeClusterHttp.ts";
12
+ /**
13
+ * @since 4.0.0
14
+ */
15
+ export * as NodeClusterSocket from "./node/NodeClusterSocket.ts";
16
+ /**
17
+ * @since 1.0.0
18
+ */
19
+ export * as NodeCrypto from "./node/NodeCrypto.ts";
20
+ /**
21
+ * @since 4.0.0
22
+ */
23
+ export * as NodeFileSystem from "./node/NodeFileSystem.ts";
24
+ /**
25
+ * @since 4.0.0
26
+ */
27
+ export * as NodeHttpClient from "./node/NodeHttpClient.ts";
28
+ /**
29
+ * @since 4.0.0
30
+ */
31
+ export * as NodeHttpIncomingMessage from "./node/NodeHttpIncomingMessage.ts";
32
+ /**
33
+ * @since 4.0.0
34
+ */
35
+ export * as NodeHttpPlatform from "./node/NodeHttpPlatform.ts";
36
+ /**
37
+ * @since 4.0.0
38
+ */
39
+ export * as NodeHttpServer from "./node/NodeHttpServer.ts";
40
+ /**
41
+ * @since 4.0.0
42
+ */
43
+ export * as NodeHttpServerRequest from "./node/NodeHttpServerRequest.ts";
44
+ /**
45
+ * @since 4.0.0
46
+ */
47
+ export * as NodeMultipart from "./node/NodeMultipart.ts";
48
+ /**
49
+ * @since 4.0.0
50
+ */
51
+ export * as NodeMultipartParser from "./node/NodeMultipartParser.ts";
52
+ /**
53
+ * @since 4.0.0
54
+ */
55
+ export * as NodePath from "./node/NodePath.ts";
56
+ /**
57
+ * @since 4.0.0
58
+ */
59
+ export * as NodeRedis from "./node/NodeRedis.ts";
60
+ /**
61
+ * @since 4.0.0
62
+ */
63
+ export * as NodeRuntime from "./node/NodeRuntime.ts";
64
+ /**
65
+ * @since 4.0.0
66
+ */
67
+ export * as NodeServices from "./node/NodeServices.ts";
68
+ /**
69
+ * @since 4.0.0
70
+ */
71
+ export * as NodeSink from "./node/NodeSink.ts";
72
+ /**
73
+ * @since 4.0.0
74
+ */
75
+ export * as NodeSocket from "./node/NodeSocket.ts";
76
+ /**
77
+ * @since 4.0.0
78
+ */
79
+ export * as NodeSocketServer from "./node/NodeSocketServer.ts";
80
+ /**
81
+ * @since 4.0.0
82
+ */
83
+ export * as NodeStdio from "./node/NodeStdio.ts";
84
+ /**
85
+ * @since 4.0.0
86
+ */
87
+ export * as NodeStream from "./node/NodeStream.ts";
88
+ /**
89
+ * @since 4.0.0
90
+ */
91
+ export * as NodeTerminal from "./node/NodeTerminal.ts";
92
+ /**
93
+ * @since 4.0.0
94
+ */
95
+ export * as NodeWorker from "./node/NodeWorker.ts";
96
+ /**
97
+ * @since 4.0.0
98
+ */
99
+ export * as NodeWorkerRunner from "./node/NodeWorkerRunner.ts";
100
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,115 @@
1
+ import "./chunk-ZJMRMY57.js";
2
+ import {
3
+ NodeSocketServer_exports
4
+ } from "./chunk-6ME2W7TF.js";
5
+ import {
6
+ NodeWorker_exports
7
+ } from "./chunk-JG5TTWPT.js";
8
+ import {
9
+ NodeWorkerRunner_exports
10
+ } from "./chunk-DVOAHXPG.js";
11
+ import {
12
+ NodeHttpServerRequest_exports
13
+ } from "./chunk-MBSKBQ5D.js";
14
+ import {
15
+ NodeRedis_exports
16
+ } from "./chunk-NBVRTDTV.js";
17
+ import {
18
+ NodeRuntime_exports
19
+ } from "./chunk-EZWY45HP.js";
20
+ import "./chunk-LEUPYT3Q.js";
21
+ import {
22
+ NodeClusterHttp_exports
23
+ } from "./chunk-RO2R4MJH.js";
24
+ import {
25
+ NodeHttpServer_exports
26
+ } from "./chunk-SIR62W3Y.js";
27
+ import {
28
+ NodeSocket_exports
29
+ } from "./chunk-5ZMHBXIK.js";
30
+ import {
31
+ NodeMultipart_exports
32
+ } from "./chunk-GXCHI7BM.js";
33
+ import {
34
+ NodeMultipartParser_exports
35
+ } from "./chunk-2Y7WC4KU.js";
36
+ import {
37
+ NodeServices_exports
38
+ } from "./chunk-AMQKOQNT.js";
39
+ import {
40
+ NodeStdio_exports
41
+ } from "./chunk-KUUXSID7.js";
42
+ import "./chunk-B3FZ67QU.js";
43
+ import {
44
+ NodeTerminal_exports
45
+ } from "./chunk-XDKNKFBW.js";
46
+ import "./chunk-TXKLEBBL.js";
47
+ import {
48
+ NodePath_exports
49
+ } from "./chunk-TFIKFFSC.js";
50
+ import "./chunk-54RLBMTZ.js";
51
+ import {
52
+ NodeChildProcessSpawner_exports
53
+ } from "./chunk-QYBKAIA6.js";
54
+ import "./chunk-QPLDT6A6.js";
55
+ import "./chunk-EGBNVEEW.js";
56
+ import {
57
+ NodeClusterSocket_exports
58
+ } from "./chunk-FNZOJHSV.js";
59
+ import "./chunk-Y35ZAO5U.js";
60
+ import "./chunk-DWSHTSVX.js";
61
+ import "./chunk-JJ24ARBQ.js";
62
+ import {
63
+ NodeCrypto_exports
64
+ } from "./chunk-VZBDV3TV.js";
65
+ import "./chunk-UFH5UUZK.js";
66
+ import {
67
+ NodeHttpClient_exports
68
+ } from "./chunk-KOZMM5PZ.js";
69
+ import {
70
+ NodeSink_exports
71
+ } from "./chunk-IIJ52ZU6.js";
72
+ import {
73
+ NodeHttpIncomingMessage_exports
74
+ } from "./chunk-J7A4CZDO.js";
75
+ import {
76
+ NodeHttpPlatform_exports
77
+ } from "./chunk-VANKHF46.js";
78
+ import "./chunk-3GR5VZ2M.js";
79
+ import {
80
+ NodeFileSystem_exports
81
+ } from "./chunk-M32LDTW7.js";
82
+ import "./chunk-BKTBUBQY.js";
83
+ import "./chunk-42QKY6T6.js";
84
+ import {
85
+ NodeStream_exports
86
+ } from "./chunk-DS7GF46S.js";
87
+ import "./chunk-XH4U3JSV.js";
88
+ import "./chunk-OXNGN5H7.js";
89
+ import "./chunk-MLKGABMK.js";
90
+ export {
91
+ NodeChildProcessSpawner_exports as NodeChildProcessSpawner,
92
+ NodeClusterHttp_exports as NodeClusterHttp,
93
+ NodeClusterSocket_exports as NodeClusterSocket,
94
+ NodeCrypto_exports as NodeCrypto,
95
+ NodeFileSystem_exports as NodeFileSystem,
96
+ NodeHttpClient_exports as NodeHttpClient,
97
+ NodeHttpIncomingMessage_exports as NodeHttpIncomingMessage,
98
+ NodeHttpPlatform_exports as NodeHttpPlatform,
99
+ NodeHttpServer_exports as NodeHttpServer,
100
+ NodeHttpServerRequest_exports as NodeHttpServerRequest,
101
+ NodeMultipart_exports as NodeMultipart,
102
+ NodeMultipartParser_exports as NodeMultipartParser,
103
+ NodePath_exports as NodePath,
104
+ NodeRedis_exports as NodeRedis,
105
+ NodeRuntime_exports as NodeRuntime,
106
+ NodeServices_exports as NodeServices,
107
+ NodeSink_exports as NodeSink,
108
+ NodeSocket_exports as NodeSocket,
109
+ NodeSocketServer_exports as NodeSocketServer,
110
+ NodeStdio_exports as NodeStdio,
111
+ NodeStream_exports as NodeStream,
112
+ NodeTerminal_exports as NodeTerminal,
113
+ NodeWorker_exports as NodeWorker,
114
+ NodeWorkerRunner_exports as NodeWorkerRunner
115
+ };
package/docs/README.md ADDED
@@ -0,0 +1,129 @@
1
+ ---
2
+ title: "@smthrs/platform-node"
3
+ description: "The Node.js host bundle for Smithers flows: Effect's Node platform services plus a filesystem a symlink cannot redirect, child processes a crashed host does not abandon, and a run-owner liveness probe."
4
+ ---
5
+
6
+ `@smthrs/platform-node` provides the five services a program on Node.js runs
7
+ its side effects through: a filesystem, a path helper, a child-process spawner,
8
+ a [Jujutsu](https://jj-vcs.github.io/jj/) adapter, and an HTTP client. One
9
+ layer, `NodeHost.layer`, provides all five.
10
+
11
+ That set is the host surface of [Smithers](https://smithers.sh/docs/installation/), a durable
12
+ engine for long-running agent work whose packages carry the `@smthrs` scope.
13
+ This package is the Node.js machine a Smithers flow runs on, and it is usable
14
+ on its own by any Effect program that wants the same guarantees.
15
+
16
+ ## Availability
17
+
18
+ `@smthrs/platform-node` is not on npm at 1.0.0-rc.0. Its source lives in the
19
+ [smithers repository](https://github.com/smithersai/smithers), and
20
+ [Installation](./installation.md) covers how to depend on it from a checkout
21
+ and which `effect` version it pins.
22
+
23
+ ## What it solves
24
+
25
+ Effect already ships Node implementations of most of those services, and this
26
+ package uses them where they fit. Three guarantees are not ones a
27
+ general-purpose adapter makes, so this package implements them itself.
28
+
29
+ **A filesystem a symlink cannot redirect.** A permission check names a path,
30
+ and a path-based operation resolves that path again when it runs. Anything with
31
+ write access to the directory can swap a component for a symlink in between, so
32
+ the operation authorized for one file performs on another. `AtomicFileSystem`
33
+ closes that window: it opens the workspace root once, walks each component with
34
+ `O_NOFOLLOW`, and performs the final syscall relative to a pinned directory
35
+ descriptor, which names an inode rather than a name.
36
+
37
+ **Child processes a crashed host does not leave behind.** A host killed
38
+ outright runs no finalizer, so the agents and builds it started keep running
39
+ with nobody left to signal them. `NodeHost.layerContained` gives every child a
40
+ `SIGTERM`-then-`SIGKILL` deadline and a durable ledger record, and sweeps the
41
+ records a previous incarnation abandoned while the layer is built. The POSIX
42
+ supervisor keeps ownership after a natural target exit and requests cleanup
43
+ when its private parent connection closes. Cleanup must be verified before a
44
+ record retires.
45
+
46
+ **An honest answer about whether a run's owner is still alive.**
47
+ `HostLiveness.isAlive` is the probe a durable engine consults before it takes a
48
+ run some other process recorded itself as owning. Both ways of being wrong cost
49
+ something, so the rule resolves ambiguity toward alive: stranding a run is
50
+ cheaper than running it twice.
51
+
52
+ ## Run something through the host
53
+
54
+ Provide `NodeHost.layer` to any program that asks for a host service. This one
55
+ asks for the spawner:
56
+
57
+ ```ts
58
+ import { NodeHost } from "@smthrs/platform-node"
59
+ import * as Effect from "effect/Effect"
60
+ import * as ChildProcess from "effect/unstable/process/ChildProcess"
61
+ import { ChildProcessSpawner } from "effect/unstable/process/ChildProcessSpawner"
62
+
63
+ const program = Effect.gen(function*() {
64
+ const spawner = yield* ChildProcessSpawner
65
+ return yield* spawner.string(ChildProcess.make("git", ["status", "--short"]))
66
+ })
67
+
68
+ console.log(await Effect.runPromise(Effect.provide(program, NodeHost.layer)))
69
+ ```
70
+
71
+ `ChildProcess` and `ChildProcessSpawner` are Effect's own tags. There is no
72
+ Smithers wrapper around either: a wall-clock budget is `Effect.timeout` around
73
+ the effect, and cancelling a command is fiber interruption. The same layer also
74
+ provided the `FileSystem`, `Path`, `Jj`, and `HttpClient` that program did not
75
+ ask for, and the filesystem in it is the confined one described earlier. The
76
+ [quickstart](./quickstart.md) runs a program that reads a file through it and
77
+ watches a symlink escape get refused.
78
+
79
+ Running this bundle needs Node.js 26.4.0 or later and the `smithers-jj-export`
80
+ helper, which `AtomicFileSystem` uses for the descriptor-relative syscalls Node
81
+ does not expose. [Installation](./installation.md) covers the requirement,
82
+ where it fails when it is missing, how to point at a different helper, and the
83
+ Effect peers your project pins.
84
+
85
+ ## How this relates to @smthrs/flows
86
+
87
+ [`@smthrs/flows`](/api/flows) is the single dependency that carries the whole
88
+ Smithers durable flow engine: flows, actions, the journal, and the runtime that
89
+ replays a crashed run from where it stopped. It deliberately does not
90
+ re-export any `@smthrs/platform-*` package, for the same reason `effect`'s own
91
+ index does not re-export `@effect/platform-node`: the program that runs picks
92
+ its platform, not the library it depends on. So a Node program installs
93
+ `@smthrs/flows` for the engine and this package for the machine underneath it.
94
+
95
+ Once both are installed, `@smthrs/flows`' `NodeRuntime` module builds the whole
96
+ durable composition from one options object, and what it composes from here is
97
+ `NodeHost.layerContainedAt` plus `HostLiveness.isAlive`. Read this site when
98
+ you want to know what those layers guarantee, configure the filesystem helper,
99
+ or diagnose a refusal. Reach for this package on its own when you want the host
100
+ services without the engine.
101
+
102
+ Above both sits the `smithers` command-line tool,
103
+ [`@smthrs/cli`](/api/cli), which runs flows without you composing anything.
104
+ For a different runtime, the sibling bundles are
105
+ [`@smthrs/platform-bun`](/api/platform-bun) and
106
+ [`@smthrs/platform-browser`](/api/platform-browser).
107
+ [`@smthrs/kernel`](/api/kernel) owns the closed list of five host tags and
108
+ wraps each one with the capability check that makes the confinement above
109
+ enforceable.
110
+
111
+ ## Where to go next
112
+
113
+ - [Installation](./installation.md): peers, host prerequisites, import forms,
114
+ and what a capability-checked composition adds.
115
+ - [Quickstart](./quickstart.md): run a command, then read a file through the
116
+ guarded host and watch an escape refused.
117
+ - [The host bundle](./concepts/host-bundle.md): the five tags, the four layers,
118
+ and what this package deliberately does not provide.
119
+ - [The descriptor-relative filesystem](./concepts/descriptor-relative-filesystem.md):
120
+ how the confinement works and what each call costs.
121
+ - [Process containment](./concepts/process-containment.md): incarnations, the
122
+ ledger, and every guard checked before a reap.
123
+ - [API reference](./api.md): every export, layer, and option.
124
+ - [Troubleshooting](./troubleshooting.md): the refusals this bundle reports and
125
+ which of them are the safe answer.
126
+
127
+ The host exports `implementationIds` for its five service slots. Its rooted
128
+ factories reject invalid roots before constructing a layer, using the host's
129
+ own error with code `invalid_repository_root`.