@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,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
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
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
  }