@smthrs/kernel 0.0.0-stage → 1.0.0-rc.4

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 (267) hide show
  1. package/CHANGELOG.md +206 -0
  2. package/LICENSE +21 -0
  3. package/README.md +154 -2
  4. package/dist/cjs/CapabilitySet.d.ts +6 -0
  5. package/dist/cjs/CapabilitySet.d.ts.map +1 -0
  6. package/dist/cjs/CapabilitySet.js +19 -0
  7. package/dist/cjs/CapabilitySet.js.map +7 -0
  8. package/dist/cjs/ChildProcessEnvironment.d.ts +60 -0
  9. package/dist/cjs/ChildProcessEnvironment.d.ts.map +1 -0
  10. package/dist/cjs/ChildProcessEnvironment.js +61 -0
  11. package/dist/cjs/ChildProcessEnvironment.js.map +7 -0
  12. package/dist/cjs/ChildProcessSpawner.d.ts +100 -0
  13. package/dist/cjs/ChildProcessSpawner.d.ts.map +1 -0
  14. package/dist/cjs/ChildProcessSpawner.js +291 -0
  15. package/dist/cjs/ChildProcessSpawner.js.map +7 -0
  16. package/dist/cjs/CommandLine.d.ts +173 -0
  17. package/dist/cjs/CommandLine.d.ts.map +1 -0
  18. package/dist/cjs/CommandLine.js +54 -0
  19. package/dist/cjs/CommandLine.js.map +7 -0
  20. package/dist/cjs/ContainedSpawner.d.ts +135 -0
  21. package/dist/cjs/ContainedSpawner.d.ts.map +1 -0
  22. package/dist/cjs/ContainedSpawner.js +141 -0
  23. package/dist/cjs/ContainedSpawner.js.map +7 -0
  24. package/dist/cjs/FileSystem.d.ts +452 -0
  25. package/dist/cjs/FileSystem.d.ts.map +1 -0
  26. package/dist/cjs/FileSystem.js +890 -0
  27. package/dist/cjs/FileSystem.js.map +7 -0
  28. package/dist/cjs/FileSystemBatch.d.ts +94 -0
  29. package/dist/cjs/FileSystemBatch.d.ts.map +1 -0
  30. package/dist/cjs/FileSystemBatch.js +31 -0
  31. package/dist/cjs/FileSystemBatch.js.map +7 -0
  32. package/dist/cjs/GrantEvent.d.ts +240 -0
  33. package/dist/cjs/GrantEvent.d.ts.map +1 -0
  34. package/dist/cjs/GrantEvent.js +115 -0
  35. package/dist/cjs/GrantEvent.js.map +7 -0
  36. package/dist/cjs/GrantStore.d.ts +270 -0
  37. package/dist/cjs/GrantStore.d.ts.map +1 -0
  38. package/dist/cjs/GrantStore.js +857 -0
  39. package/dist/cjs/GrantStore.js.map +7 -0
  40. package/dist/cjs/HostError.d.ts +36 -0
  41. package/dist/cjs/HostError.d.ts.map +1 -0
  42. package/dist/cjs/HostError.js +17 -0
  43. package/dist/cjs/HostError.js.map +7 -0
  44. package/dist/cjs/HostServices.d.ts +101 -0
  45. package/dist/cjs/HostServices.d.ts.map +1 -0
  46. package/dist/cjs/HostServices.js +66 -0
  47. package/dist/cjs/HostServices.js.map +7 -0
  48. package/dist/cjs/HttpClient.d.ts +177 -0
  49. package/dist/cjs/HttpClient.d.ts.map +1 -0
  50. package/dist/cjs/HttpClient.js +217 -0
  51. package/dist/cjs/HttpClient.js.map +7 -0
  52. package/dist/cjs/Jj.d.ts +67 -0
  53. package/dist/cjs/Jj.d.ts.map +1 -0
  54. package/dist/cjs/Jj.js +118 -0
  55. package/dist/cjs/Jj.js.map +7 -0
  56. package/dist/cjs/JournalGrantStore.d.ts +65 -0
  57. package/dist/cjs/JournalGrantStore.d.ts.map +1 -0
  58. package/dist/cjs/JournalGrantStore.js +354 -0
  59. package/dist/cjs/JournalGrantStore.js.map +7 -0
  60. package/dist/cjs/Path.d.ts +37 -0
  61. package/dist/cjs/Path.d.ts.map +1 -0
  62. package/dist/cjs/Path.js +46 -0
  63. package/dist/cjs/Path.js.map +7 -0
  64. package/dist/cjs/ProcessConfinement.d.ts +55 -0
  65. package/dist/cjs/ProcessConfinement.d.ts.map +1 -0
  66. package/dist/cjs/ProcessConfinement.js +94 -0
  67. package/dist/cjs/ProcessConfinement.js.map +7 -0
  68. package/dist/cjs/ProcessLedger.d.ts +260 -0
  69. package/dist/cjs/ProcessLedger.d.ts.map +1 -0
  70. package/dist/cjs/ProcessLedger.js +190 -0
  71. package/dist/cjs/ProcessLedger.js.map +7 -0
  72. package/dist/cjs/Rooted.d.ts +53 -0
  73. package/dist/cjs/Rooted.d.ts.map +1 -0
  74. package/dist/cjs/Rooted.js +101 -0
  75. package/dist/cjs/Rooted.js.map +7 -0
  76. package/dist/cjs/Unreachable.d.ts +27 -0
  77. package/dist/cjs/Unreachable.d.ts.map +1 -0
  78. package/dist/cjs/Unreachable.js +43 -0
  79. package/dist/cjs/Unreachable.js.map +7 -0
  80. package/dist/cjs/Workspace.d.ts +62 -0
  81. package/dist/cjs/Workspace.d.ts.map +1 -0
  82. package/dist/cjs/Workspace.js +35 -0
  83. package/dist/cjs/Workspace.js.map +7 -0
  84. package/dist/cjs/index.d.ts +161 -0
  85. package/dist/cjs/index.d.ts.map +1 -0
  86. package/dist/cjs/index.js +73 -0
  87. package/dist/cjs/index.js.map +7 -0
  88. package/dist/cjs/internal/Containment.d.ts +24 -0
  89. package/dist/cjs/internal/Containment.d.ts.map +1 -0
  90. package/dist/cjs/internal/Containment.js +30 -0
  91. package/dist/cjs/internal/Containment.js.map +7 -0
  92. package/dist/cjs/internal/Pipeline.d.ts +18 -0
  93. package/dist/cjs/internal/Pipeline.d.ts.map +1 -0
  94. package/dist/cjs/internal/Pipeline.js +90 -0
  95. package/dist/cjs/internal/Pipeline.js.map +7 -0
  96. package/dist/cjs/internal/makeCapability.d.ts +16 -0
  97. package/dist/cjs/internal/makeCapability.d.ts.map +1 -0
  98. package/dist/cjs/internal/makeCapability.js +44 -0
  99. package/dist/cjs/internal/makeCapability.js.map +7 -0
  100. package/dist/cjs/package.json +1 -0
  101. package/dist/cjs/test/FileSystemBatchContract.d.ts +15 -0
  102. package/dist/cjs/test/FileSystemBatchContract.d.ts.map +1 -0
  103. package/dist/cjs/test/FileSystemBatchContract.js +76 -0
  104. package/dist/cjs/test/FileSystemBatchContract.js.map +7 -0
  105. package/dist/cjs/test/HostContract.d.ts +225 -0
  106. package/dist/cjs/test/HostContract.d.ts.map +1 -0
  107. package/dist/cjs/test/HostContract.js +489 -0
  108. package/dist/cjs/test/HostContract.js.map +7 -0
  109. package/dist/cjs/test/TestGrantStore.d.ts +31 -0
  110. package/dist/cjs/test/TestGrantStore.d.ts.map +1 -0
  111. package/dist/cjs/test/TestGrantStore.js +65 -0
  112. package/dist/cjs/test/TestGrantStore.js.map +7 -0
  113. package/dist/esm/CapabilitySet.d.ts +6 -0
  114. package/dist/esm/CapabilitySet.d.ts.map +1 -0
  115. package/dist/esm/CapabilitySet.js +6 -0
  116. package/dist/esm/CapabilitySet.js.map +1 -0
  117. package/dist/esm/ChildProcessEnvironment.d.ts +60 -0
  118. package/dist/esm/ChildProcessEnvironment.d.ts.map +1 -0
  119. package/dist/esm/ChildProcessEnvironment.js +91 -0
  120. package/dist/esm/ChildProcessEnvironment.js.map +1 -0
  121. package/dist/esm/ChildProcessSpawner.d.ts +100 -0
  122. package/dist/esm/ChildProcessSpawner.d.ts.map +1 -0
  123. package/dist/esm/ChildProcessSpawner.js +342 -0
  124. package/dist/esm/ChildProcessSpawner.js.map +1 -0
  125. package/dist/esm/CommandLine.d.ts +173 -0
  126. package/dist/esm/CommandLine.d.ts.map +1 -0
  127. package/dist/esm/CommandLine.js +195 -0
  128. package/dist/esm/CommandLine.js.map +1 -0
  129. package/dist/esm/ContainedSpawner.d.ts +135 -0
  130. package/dist/esm/ContainedSpawner.d.ts.map +1 -0
  131. package/dist/esm/ContainedSpawner.js +180 -0
  132. package/dist/esm/ContainedSpawner.js.map +1 -0
  133. package/dist/esm/FileSystem.d.ts +452 -0
  134. package/dist/esm/FileSystem.d.ts.map +1 -0
  135. package/dist/esm/FileSystem.js +989 -0
  136. package/dist/esm/FileSystem.js.map +1 -0
  137. package/dist/esm/FileSystemBatch.d.ts +94 -0
  138. package/dist/esm/FileSystemBatch.d.ts.map +1 -0
  139. package/dist/esm/FileSystemBatch.js +26 -0
  140. package/dist/esm/FileSystemBatch.js.map +1 -0
  141. package/dist/esm/GrantEvent.d.ts +240 -0
  142. package/dist/esm/GrantEvent.d.ts.map +1 -0
  143. package/dist/esm/GrantEvent.js +155 -0
  144. package/dist/esm/GrantEvent.js.map +1 -0
  145. package/dist/esm/GrantStore.d.ts +270 -0
  146. package/dist/esm/GrantStore.d.ts.map +1 -0
  147. package/dist/esm/GrantStore.js +951 -0
  148. package/dist/esm/GrantStore.js.map +1 -0
  149. package/dist/esm/HostError.d.ts +36 -0
  150. package/dist/esm/HostError.d.ts.map +1 -0
  151. package/dist/esm/HostError.js +20 -0
  152. package/dist/esm/HostError.js.map +1 -0
  153. package/dist/esm/HostServices.d.ts +101 -0
  154. package/dist/esm/HostServices.d.ts.map +1 -0
  155. package/dist/esm/HostServices.js +76 -0
  156. package/dist/esm/HostServices.js.map +1 -0
  157. package/dist/esm/HttpClient.d.ts +177 -0
  158. package/dist/esm/HttpClient.d.ts.map +1 -0
  159. package/dist/esm/HttpClient.js +299 -0
  160. package/dist/esm/HttpClient.js.map +1 -0
  161. package/dist/esm/Jj.d.ts +67 -0
  162. package/dist/esm/Jj.d.ts.map +1 -0
  163. package/dist/esm/Jj.js +111 -0
  164. package/dist/esm/Jj.js.map +1 -0
  165. package/dist/esm/JournalGrantStore.d.ts +65 -0
  166. package/dist/esm/JournalGrantStore.d.ts.map +1 -0
  167. package/dist/esm/JournalGrantStore.js +350 -0
  168. package/dist/esm/JournalGrantStore.js.map +1 -0
  169. package/dist/esm/Path.d.ts +37 -0
  170. package/dist/esm/Path.d.ts.map +1 -0
  171. package/dist/esm/Path.js +34 -0
  172. package/dist/esm/Path.js.map +1 -0
  173. package/dist/esm/ProcessConfinement.d.ts +55 -0
  174. package/dist/esm/ProcessConfinement.d.ts.map +1 -0
  175. package/dist/esm/ProcessConfinement.js +106 -0
  176. package/dist/esm/ProcessConfinement.js.map +1 -0
  177. package/dist/esm/ProcessLedger.d.ts +260 -0
  178. package/dist/esm/ProcessLedger.d.ts.map +1 -0
  179. package/dist/esm/ProcessLedger.js +283 -0
  180. package/dist/esm/ProcessLedger.js.map +1 -0
  181. package/dist/esm/Rooted.d.ts +53 -0
  182. package/dist/esm/Rooted.d.ts.map +1 -0
  183. package/dist/esm/Rooted.js +104 -0
  184. package/dist/esm/Rooted.js.map +1 -0
  185. package/dist/esm/Unreachable.d.ts +27 -0
  186. package/dist/esm/Unreachable.d.ts.map +1 -0
  187. package/dist/esm/Unreachable.js +26 -0
  188. package/dist/esm/Unreachable.js.map +1 -0
  189. package/dist/esm/Workspace.d.ts +62 -0
  190. package/dist/esm/Workspace.d.ts.map +1 -0
  191. package/dist/esm/Workspace.js +51 -0
  192. package/dist/esm/Workspace.js.map +1 -0
  193. package/dist/esm/index.d.ts +161 -0
  194. package/dist/esm/index.d.ts.map +1 -0
  195. package/dist/esm/index.js +151 -0
  196. package/dist/esm/index.js.map +1 -0
  197. package/dist/esm/internal/Containment.d.ts +24 -0
  198. package/dist/esm/internal/Containment.d.ts.map +1 -0
  199. package/dist/esm/internal/Containment.js +27 -0
  200. package/dist/esm/internal/Containment.js.map +1 -0
  201. package/dist/esm/internal/Pipeline.d.ts +18 -0
  202. package/dist/esm/internal/Pipeline.d.ts.map +1 -0
  203. package/dist/esm/internal/Pipeline.js +68 -0
  204. package/dist/esm/internal/Pipeline.js.map +1 -0
  205. package/dist/esm/internal/makeCapability.d.ts +16 -0
  206. package/dist/esm/internal/makeCapability.d.ts.map +1 -0
  207. package/dist/esm/internal/makeCapability.js +22 -0
  208. package/dist/esm/internal/makeCapability.js.map +1 -0
  209. package/dist/esm/test/FileSystemBatchContract.d.ts +15 -0
  210. package/dist/esm/test/FileSystemBatchContract.d.ts.map +1 -0
  211. package/dist/esm/test/FileSystemBatchContract.js +57 -0
  212. package/dist/esm/test/FileSystemBatchContract.js.map +1 -0
  213. package/dist/esm/test/HostContract.d.ts +225 -0
  214. package/dist/esm/test/HostContract.d.ts.map +1 -0
  215. package/dist/esm/test/HostContract.js +460 -0
  216. package/dist/esm/test/HostContract.js.map +1 -0
  217. package/dist/esm/test/TestGrantStore.d.ts +31 -0
  218. package/dist/esm/test/TestGrantStore.d.ts.map +1 -0
  219. package/dist/esm/test/TestGrantStore.js +57 -0
  220. package/dist/esm/test/TestGrantStore.js.map +1 -0
  221. package/docs/README.md +162 -0
  222. package/docs/api.md +1532 -0
  223. package/docs/concepts/decoration-in-place.md +117 -0
  224. package/docs/concepts/filesystem-batches.md +58 -0
  225. package/docs/concepts/filesystem-confinement.md +168 -0
  226. package/docs/concepts/grant-decisions.md +181 -0
  227. package/docs/concepts/process-containment.md +155 -0
  228. package/docs/contract.md +14 -0
  229. package/docs/guides/adapt-a-new-host-platform.md +148 -0
  230. package/docs/guides/answer-permission-requests.md +151 -0
  231. package/docs/guides/authorize-network-and-model-calls.md +118 -0
  232. package/docs/guides/contain-spawned-processes.md +118 -0
  233. package/docs/guides/guard-a-host-bundle.md +109 -0
  234. package/docs/guides/persist-grants-across-restarts.md +135 -0
  235. package/docs/guides/write-a-capability-policy.md +159 -0
  236. package/docs/installation.md +115 -0
  237. package/docs/quickstart.md +182 -0
  238. package/docs/testing.md +108 -0
  239. package/docs/troubleshooting.md +281 -0
  240. package/package.json +344 -3
  241. package/src/CapabilitySet.ts +6 -0
  242. package/src/ChildProcessEnvironment.ts +98 -0
  243. package/src/ChildProcessSpawner.ts +414 -0
  244. package/src/CommandLine.ts +250 -0
  245. package/src/ContainedSpawner.ts +284 -0
  246. package/src/FileSystem.ts +1655 -0
  247. package/src/FileSystemBatch.ts +90 -0
  248. package/src/GrantEvent.ts +174 -0
  249. package/src/GrantStore.ts +1345 -0
  250. package/src/HostError.ts +37 -0
  251. package/src/HostServices.ts +133 -0
  252. package/src/HttpClient.ts +406 -0
  253. package/src/Jj.ts +159 -0
  254. package/src/JournalGrantStore.ts +461 -0
  255. package/src/Path.ts +47 -0
  256. package/src/ProcessConfinement.ts +156 -0
  257. package/src/ProcessLedger.ts +423 -0
  258. package/src/Rooted.ts +128 -0
  259. package/src/Unreachable.ts +30 -0
  260. package/src/Workspace.ts +65 -0
  261. package/src/index.ts +181 -0
  262. package/src/internal/Containment.ts +37 -0
  263. package/src/internal/Pipeline.ts +85 -0
  264. package/src/internal/makeCapability.ts +26 -0
  265. package/src/test/FileSystemBatchContract.ts +59 -0
  266. package/src/test/HostContract.ts +785 -0
  267. package/src/test/TestGrantStore.ts +73 -0
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Filesystem, path and process services bound to one root directory.
3
+ *
4
+ * Node resolves a relative path against `process.cwd()`. A host serves one
5
+ * directory whatever the process's own, so here every relative path, and every
6
+ * command spawned without a `cwd`, resolves against `root`. Absolute paths pass
7
+ * through unchanged, and so does a symlink's target, which is relative to the
8
+ * link rather than to any directory.
9
+ *
10
+ * @since 1.0.0
11
+ */
12
+ import { FileSystem, Layer, Path } from "effect";
13
+ import * as ChildProcess from "effect/unstable/process/ChildProcess";
14
+ import * as ChildProcessSpawner from "effect/unstable/process/ChildProcessSpawner";
15
+ /**
16
+ * `base` with every relative path resolved against the absolute `root`.
17
+ *
18
+ * @category constructors
19
+ * @since 1.0.0
20
+ */
21
+ export declare const path: (base: Path.Path, root: string) => Path.Path;
22
+ /**
23
+ * `base` with every relative path resolved by `rooted`, a {@link path}.
24
+ *
25
+ * @category constructors
26
+ * @since 1.0.0
27
+ */
28
+ export declare const fileSystem: (base: FileSystem.FileSystem, rooted: Path.Path) => FileSystem.FileSystem;
29
+ /**
30
+ * `value` with every stage's `cwd` resolved by `rooted`, a {@link path}; its
31
+ * root for a stage without one.
32
+ *
33
+ * @category constructors
34
+ * @since 1.0.0
35
+ */
36
+ export declare const command: (value: ChildProcess.Command, rooted: Path.Path) => ChildProcess.Command;
37
+ /**
38
+ * `base` spawning each command as {@link command} roots it. A contained `base`
39
+ * stays contained.
40
+ *
41
+ * @category constructors
42
+ * @since 1.0.0
43
+ */
44
+ export declare const spawner: (base: ChildProcessSpawner.ChildProcessSpawner["Service"], rooted: Path.Path) => ChildProcessSpawner.ChildProcessSpawner["Service"];
45
+ /**
46
+ * Decorates the `FileSystem`, `Path` and `ChildProcessSpawner` it is provided
47
+ * in place, so everything downstream resolves against `root`.
48
+ *
49
+ * @category layers
50
+ * @since 1.0.0
51
+ */
52
+ export declare const layer: (root: string) => Layer.Layer<FileSystem.FileSystem | Path.Path | ChildProcessSpawner.ChildProcessSpawner, never, FileSystem.FileSystem | Path.Path | ChildProcessSpawner.ChildProcessSpawner>;
53
+ //# sourceMappingURL=Rooted.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Rooted.d.ts","sourceRoot":"","sources":["../../src/Rooted.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAmB,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AACjE,OAAO,KAAK,YAAY,MAAM,sCAAsC,CAAA;AACpE,OAAO,KAAK,mBAAmB,MAAM,6CAA6C,CAAA;AAGlF;;;;;GAKG;AACH,eAAO,MAAM,IAAI,GAAI,MAAM,IAAI,CAAC,IAAI,EAAE,MAAM,MAAM,KAAG,IAAI,CAAC,IAQzD,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,MAAM,UAAU,CAAC,UAAU,EAAE,QAAQ,IAAI,CAAC,IAAI,KAAG,UAAU,CAAC,UAqCtF,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,GAAI,OAAO,YAAY,CAAC,OAAO,EAAE,QAAQ,IAAI,CAAC,IAAI,KAAG,YAAY,CAAC,OAGa,CAAA;AAEnG;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,GAClB,MAAM,mBAAmB,CAAC,mBAAmB,CAAC,SAAS,CAAC,EACxD,QAAQ,IAAI,CAAC,IAAI,KAChB,mBAAmB,CAAC,mBAAmB,CAAC,SAAS,CACgD,CAAA;AAEpG;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,GAChB,MAAM,MAAM,KACX,KAAK,CAAC,KAAK,CACZ,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC,mBAAmB,EAC3E,KAAK,EACL,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC,mBAAmB,CAYxE,CAAA"}
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var Rooted_exports = {};
30
+ __export(Rooted_exports, {
31
+ command: () => command,
32
+ fileSystem: () => fileSystem,
33
+ layer: () => layer,
34
+ path: () => path,
35
+ spawner: () => spawner
36
+ });
37
+ module.exports = __toCommonJS(Rooted_exports);
38
+ var import_effect = require("effect");
39
+ var ChildProcess = __toESM(require("effect/unstable/process/ChildProcess"), 1);
40
+ var ChildProcessSpawner = __toESM(require("effect/unstable/process/ChildProcessSpawner"), 1);
41
+ var Containment = __toESM(require("./internal/Containment.js"), 1);
42
+ const path = (base, root) => {
43
+ const resolve = (...segments) => base.resolve(root, ...segments);
44
+ return {
45
+ ...base,
46
+ resolve,
47
+ relative: (from, to) => base.relative(resolve(from), resolve(to)),
48
+ toFileUrl: (value) => base.toFileUrl(resolve(value))
49
+ };
50
+ };
51
+ const fileSystem = (base, rooted) => {
52
+ const at = (value) => rooted.resolve(value);
53
+ const temp = (options) => options?.directory === void 0 ? options : { ...options, directory: at(options.directory) };
54
+ return {
55
+ ...base,
56
+ access: (value, options) => base.access(at(value), options),
57
+ copy: (from, to, options) => base.copy(at(from), at(to), options),
58
+ copyFile: (from, to) => base.copyFile(at(from), at(to)),
59
+ chmod: (value, mode) => base.chmod(at(value), mode),
60
+ chown: (value, uid, gid) => base.chown(at(value), uid, gid),
61
+ glob: (pattern, options) => base.glob(pattern, { ...options, root: at(options?.root ?? ".") }),
62
+ exists: (value) => base.exists(at(value)),
63
+ link: (from, to) => base.link(at(from), at(to)),
64
+ makeDirectory: (value, options) => base.makeDirectory(at(value), options),
65
+ makeTempDirectory: (options) => base.makeTempDirectory(temp(options)),
66
+ makeTempDirectoryScoped: (options) => base.makeTempDirectoryScoped(temp(options)),
67
+ makeTempFile: (options) => base.makeTempFile(temp(options)),
68
+ makeTempFileScoped: (options) => base.makeTempFileScoped(temp(options)),
69
+ open: (value, options) => base.open(at(value), options),
70
+ readDirectory: (value, options) => base.readDirectory(at(value), options),
71
+ readFile: (value) => base.readFile(at(value)),
72
+ readFileString: (value, encoding) => base.readFileString(at(value), encoding),
73
+ readLink: (value) => base.readLink(at(value)),
74
+ realPath: (value) => base.realPath(at(value)),
75
+ remove: (value, options) => base.remove(at(value), options),
76
+ rename: (from, to) => base.rename(at(from), at(to)),
77
+ sink: (value, options) => base.sink(at(value), options),
78
+ stat: (value) => base.stat(at(value)),
79
+ stream: (value, options) => base.stream(at(value), options),
80
+ symlink: (target, value) => base.symlink(target, at(value)),
81
+ truncate: (value, length) => base.truncate(at(value), length),
82
+ utimes: (value, atime, mtime) => base.utimes(at(value), atime, mtime),
83
+ watch: (value, options) => base.watch(at(value), options),
84
+ writeFile: (value, data, options) => base.writeFile(at(value), data, options),
85
+ writeFileString: (value, data, options) => base.writeFileString(at(value), data, options)
86
+ };
87
+ };
88
+ const command = (value, rooted) => ChildProcess.isStandardCommand(value) ? ChildProcess.setCwd(value, rooted.resolve(value.options.cwd ?? ".")) : ChildProcess.pipeTo(command(value.left, rooted), command(value.right, rooted), value.options);
89
+ const spawner = (base, rooted) => Containment.inherit(base, ChildProcessSpawner.make((value) => base.spawn(command(value, rooted))));
90
+ const layer = (root) => import_effect.Layer.effectContext(import_effect.Effect.gen(function* () {
91
+ const base = yield* import_effect.Path.Path;
92
+ const rooted = path(base, base.resolve(root));
93
+ return import_effect.Context.make(import_effect.Path.Path, rooted).pipe(
94
+ import_effect.Context.add(import_effect.FileSystem.FileSystem, fileSystem(yield* import_effect.FileSystem.FileSystem, rooted)),
95
+ import_effect.Context.add(
96
+ ChildProcessSpawner.ChildProcessSpawner,
97
+ spawner(yield* ChildProcessSpawner.ChildProcessSpawner, rooted)
98
+ )
99
+ );
100
+ }));
101
+ //# sourceMappingURL=Rooted.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/Rooted.ts"],
4
+ "sourcesContent": ["/**\n * Filesystem, path and process services bound to one root directory.\n *\n * Node resolves a relative path against `process.cwd()`. A host serves one\n * directory whatever the process's own, so here every relative path, and every\n * command spawned without a `cwd`, resolves against `root`. Absolute paths pass\n * through unchanged, and so does a symlink's target, which is relative to the\n * link rather than to any directory.\n *\n * @since 1.0.0\n */\n\nimport { Context, Effect, FileSystem, Layer, Path } from \"effect\"\nimport * as ChildProcess from \"effect/unstable/process/ChildProcess\"\nimport * as ChildProcessSpawner from \"effect/unstable/process/ChildProcessSpawner\"\nimport * as Containment from \"./internal/Containment.ts\"\n\n/**\n * `base` with every relative path resolved against the absolute `root`.\n *\n * @category constructors\n * @since 1.0.0\n */\nexport const path = (base: Path.Path, root: string): Path.Path => {\n const resolve = (...segments: ReadonlyArray<string>) => base.resolve(root, ...segments)\n return {\n ...base,\n resolve,\n relative: (from, to) => base.relative(resolve(from), resolve(to)),\n toFileUrl: (value) => base.toFileUrl(resolve(value))\n }\n}\n\n/**\n * `base` with every relative path resolved by `rooted`, a {@link path}.\n *\n * @category constructors\n * @since 1.0.0\n */\nexport const fileSystem = (base: FileSystem.FileSystem, rooted: Path.Path): FileSystem.FileSystem => {\n const at = (value: string) => rooted.resolve(value)\n const temp = <O extends { readonly directory?: string | undefined }>(options: O | undefined) =>\n options?.directory === undefined ? options : { ...options, directory: at(options.directory) }\n return {\n ...base,\n access: (value, options) => base.access(at(value), options),\n copy: (from, to, options) => base.copy(at(from), at(to), options),\n copyFile: (from, to) => base.copyFile(at(from), at(to)),\n chmod: (value, mode) => base.chmod(at(value), mode),\n chown: (value, uid, gid) => base.chown(at(value), uid, gid),\n glob: (pattern, options) => base.glob(pattern, { ...options, root: at(options?.root ?? \".\") }),\n exists: (value) => base.exists(at(value)),\n link: (from, to) => base.link(at(from), at(to)),\n makeDirectory: (value, options) => base.makeDirectory(at(value), options),\n makeTempDirectory: (options) => base.makeTempDirectory(temp(options)),\n makeTempDirectoryScoped: (options) => base.makeTempDirectoryScoped(temp(options)),\n makeTempFile: (options) => base.makeTempFile(temp(options)),\n makeTempFileScoped: (options) => base.makeTempFileScoped(temp(options)),\n open: (value, options) => base.open(at(value), options),\n readDirectory: (value, options) => base.readDirectory(at(value), options),\n readFile: (value) => base.readFile(at(value)),\n readFileString: (value, encoding) => base.readFileString(at(value), encoding),\n readLink: (value) => base.readLink(at(value)),\n realPath: (value) => base.realPath(at(value)),\n remove: (value, options) => base.remove(at(value), options),\n rename: (from, to) => base.rename(at(from), at(to)),\n sink: (value, options) => base.sink(at(value), options),\n stat: (value) => base.stat(at(value)),\n stream: (value, options) => base.stream(at(value), options),\n symlink: (target, value) => base.symlink(target, at(value)),\n truncate: (value, length) => base.truncate(at(value), length),\n utimes: (value, atime, mtime) => base.utimes(at(value), atime, mtime),\n watch: (value, options) => base.watch(at(value), options),\n writeFile: (value, data, options) => base.writeFile(at(value), data, options),\n writeFileString: (value, data, options) => base.writeFileString(at(value), data, options)\n }\n}\n\n/**\n * `value` with every stage's `cwd` resolved by `rooted`, a {@link path}; its\n * root for a stage without one.\n *\n * @category constructors\n * @since 1.0.0\n */\nexport const command = (value: ChildProcess.Command, rooted: Path.Path): ChildProcess.Command =>\n ChildProcess.isStandardCommand(value)\n ? ChildProcess.setCwd(value, rooted.resolve(value.options.cwd ?? \".\"))\n : ChildProcess.pipeTo(command(value.left, rooted), command(value.right, rooted), value.options)\n\n/**\n * `base` spawning each command as {@link command} roots it. A contained `base`\n * stays contained.\n *\n * @category constructors\n * @since 1.0.0\n */\nexport const spawner = (\n base: ChildProcessSpawner.ChildProcessSpawner[\"Service\"],\n rooted: Path.Path\n): ChildProcessSpawner.ChildProcessSpawner[\"Service\"] =>\n Containment.inherit(base, ChildProcessSpawner.make((value) => base.spawn(command(value, rooted))))\n\n/**\n * Decorates the `FileSystem`, `Path` and `ChildProcessSpawner` it is provided\n * in place, so everything downstream resolves against `root`.\n *\n * @category layers\n * @since 1.0.0\n */\nexport const layer = (\n root: string\n): Layer.Layer<\n FileSystem.FileSystem | Path.Path | ChildProcessSpawner.ChildProcessSpawner,\n never,\n FileSystem.FileSystem | Path.Path | ChildProcessSpawner.ChildProcessSpawner\n> =>\n Layer.effectContext(Effect.gen(function*() {\n const base = yield* Path.Path\n const rooted = path(base, base.resolve(root))\n return Context.make(Path.Path, rooted).pipe(\n Context.add(FileSystem.FileSystem, fileSystem(yield* FileSystem.FileSystem, rooted)),\n Context.add(\n ChildProcessSpawner.ChildProcessSpawner,\n spawner(yield* ChildProcessSpawner.ChildProcessSpawner, rooted)\n )\n )\n }))\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Typed host connectivity failures, including failed command diagnostics.
3
+ *
4
+ * @since 1.0.0
5
+ */
6
+ import * as Schema from "effect/Schema";
7
+ declare const Unreachable_base: Schema.Class<Unreachable, Schema.TaggedStruct<"@smthrs/kernel/Unreachable", {
8
+ readonly message: Schema.String;
9
+ readonly cause: Schema.optional<Schema.Unknown>;
10
+ }>, import("effect/Cause").YieldableError>;
11
+ /**
12
+ * A temporarily unreachable resolver, connection, or HTTP service.
13
+ *
14
+ * @category errors
15
+ * @since 1.0.0
16
+ */
17
+ export declare class Unreachable extends Unreachable_base {
18
+ }
19
+ /**
20
+ * Classifies stderr from a failed host command; other exits keep their domain error.
21
+ *
22
+ * @category constructors
23
+ * @since 1.0.0
24
+ */
25
+ export declare const classifyExit: (stderr: string) => Unreachable | undefined;
26
+ export {};
27
+ //# sourceMappingURL=Unreachable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Unreachable.d.ts","sourceRoot":"","sources":["../../src/Unreachable.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;;;;;AAEvC;;;;;GAKG;AACH,qBAAa,WAAY,SAAQ,gBAG/B;CAAG;AAKL;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,KAAG,WAAW,GAAG,SACY,CAAA"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var Unreachable_exports = {};
30
+ __export(Unreachable_exports, {
31
+ Unreachable: () => Unreachable,
32
+ classifyExit: () => classifyExit
33
+ });
34
+ module.exports = __toCommonJS(Unreachable_exports);
35
+ var Schema = __toESM(require("effect/Schema"), 1);
36
+ class Unreachable extends Schema.TaggedError()("@smthrs/kernel/Unreachable", {
37
+ message: Schema.String,
38
+ cause: Schema.optional(Schema.Unknown)
39
+ }) {
40
+ }
41
+ const outage = /Could not resolve host|Failed to connect to|Connection timed out|Operation timed out|Connection reset|Recv failure|Network is unreachable|Temporary failure in name resolution|SSL_ERROR_SYSCALL|The remote end hung up unexpectedly|\bEAI_AGAIN\b|\bENOTFOUND\b|\bHTTP(?:\/\d(?:\.\d)?)?\s*(?:(?:error|status|code)\s*[:=]?\s*)?[:=]?\s*(?:429|5\d{2})\b/i;
42
+ const classifyExit = (stderr) => outage.test(stderr) ? new Unreachable({ message: stderr }) : void 0;
43
+ //# sourceMappingURL=Unreachable.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/Unreachable.ts"],
4
+ "sourcesContent": ["/**\n * Typed host connectivity failures, including failed command diagnostics.\n *\n * @since 1.0.0\n */\n\nimport * as Schema from \"effect/Schema\"\n\n/**\n * A temporarily unreachable resolver, connection, or HTTP service.\n *\n * @category errors\n * @since 1.0.0\n */\nexport class Unreachable extends Schema.TaggedError<Unreachable>()(\"@smthrs/kernel/Unreachable\", {\n message: Schema.String,\n cause: Schema.optional(Schema.Unknown)\n}) {}\n\nconst outage =\n /Could not resolve host|Failed to connect to|Connection timed out|Operation timed out|Connection reset|Recv failure|Network is unreachable|Temporary failure in name resolution|SSL_ERROR_SYSCALL|The remote end hung up unexpectedly|\\bEAI_AGAIN\\b|\\bENOTFOUND\\b|\\bHTTP(?:\\/\\d(?:\\.\\d)?)?\\s*(?:(?:error|status|code)\\s*[:=]?\\s*)?[:=]?\\s*(?:429|5\\d{2})\\b/i\n\n/**\n * Classifies stderr from a failed host command; other exits keep their domain error.\n *\n * @category constructors\n * @since 1.0.0\n */\nexport const classifyExit = (stderr: string): Unreachable | undefined =>\n outage.test(stderr) ? new Unreachable({ message: stderr }) : undefined\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,aAAwB;AAQjB,MAAM,oBAAoB,OAAO,YAAyB,EAAE,8BAA8B;AAAA,EAC/F,SAAS,OAAO;AAAA,EAChB,OAAO,OAAO,SAAS,OAAO,OAAO;AACvC,CAAC,EAAE;AAAC;AAEJ,MAAM,SACJ;AAQK,MAAM,eAAe,CAAC,WAC3B,OAAO,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,SAAS,OAAO,CAAC,IAAI;",
6
+ "names": []
7
+ }
@@ -0,0 +1,62 @@
1
+ /**
2
+ * The workspace root used to make filesystem capability resources stable.
3
+ *
4
+ * It lives beside the closed host list rather than in a platform package: a
5
+ * workspace root is a policy decision the kernel needs before it can name a
6
+ * filesystem capability, not something a platform can answer.
7
+ *
8
+ * Governing design:
9
+ * `docs/specs/Concepts/Effect Taxonomy.md` and
10
+ * `docs/specs/Concepts/Permission Kernel.md`.
11
+ *
12
+ * @since 1.0.0-rc.0
13
+ */
14
+ import { Context, Layer } from "effect";
15
+ /**
16
+ * Workspace-root configuration.
17
+ *
18
+ * @category models
19
+ * @since 1.0.0-rc.0
20
+ */
21
+ export interface Service {
22
+ readonly root: string;
23
+ }
24
+ declare const Workspace_base: Context.ServiceClass<Workspace, "@smthrs/kernel/Workspace", Service>;
25
+ /**
26
+ * The workspace-root service tag.
27
+ *
28
+ * @category services
29
+ * @since 1.0.0-rc.0
30
+ */
31
+ export declare class Workspace extends Workspace_base {
32
+ }
33
+ /**
34
+ * Constructs workspace-root configuration.
35
+ *
36
+ * @category constructors
37
+ * @since 1.0.0-rc.0
38
+ */
39
+ export declare const make: (root: string) => Service;
40
+ /**
41
+ * Provides a workspace root.
42
+ *
43
+ * @category layers
44
+ * @since 1.0.0-rc.0
45
+ */
46
+ export declare const layer: (root: string) => Layer.Layer<Workspace>;
47
+ /**
48
+ * Constructs a relative workspace-root stub for tests.
49
+ *
50
+ * @category constructors
51
+ * @since 1.0.0-rc.0
52
+ */
53
+ export declare const makeNoop: Service;
54
+ /**
55
+ * Provides a relative workspace-root stub for tests.
56
+ *
57
+ * @category layers
58
+ * @since 1.0.0-rc.0
59
+ */
60
+ export declare const layerNoop: Layer.Layer<Workspace>;
61
+ export {};
62
+ //# sourceMappingURL=Workspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Workspace.d.ts","sourceRoot":"","sources":["../../src/Workspace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAEvC;;;;;GAKG;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;;AAED;;;;;GAKG;AACH,qBAAa,SAAU,SAAQ,cAAiE;CAAG;AAEnG;;;;;GAKG;AACH,eAAO,MAAM,IAAI,GAAI,MAAM,MAAM,KAAG,OAAiC,CAAA;AAErE;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAAI,MAAM,MAAM,KAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAyC,CAAA;AAEnG;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,EAAE,OAAmB,CAAA;AAE1C;;;;;GAKG;AACH,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAsC,CAAA"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var Workspace_exports = {};
20
+ __export(Workspace_exports, {
21
+ Workspace: () => Workspace,
22
+ layer: () => layer,
23
+ layerNoop: () => layerNoop,
24
+ make: () => make,
25
+ makeNoop: () => makeNoop
26
+ });
27
+ module.exports = __toCommonJS(Workspace_exports);
28
+ var import_effect = require("effect");
29
+ class Workspace extends import_effect.Context.Service()("@smthrs/kernel/Workspace") {
30
+ }
31
+ const make = (root) => Workspace.of({ root });
32
+ const layer = (root) => import_effect.Layer.succeed(Workspace, make(root));
33
+ const makeNoop = make(".");
34
+ const layerNoop = import_effect.Layer.succeed(Workspace, makeNoop);
35
+ //# sourceMappingURL=Workspace.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/Workspace.ts"],
4
+ "sourcesContent": ["/**\n * The workspace root used to make filesystem capability resources stable.\n *\n * It lives beside the closed host list rather than in a platform package: a\n * workspace root is a policy decision the kernel needs before it can name a\n * filesystem capability, not something a platform can answer.\n *\n * Governing design:\n * `docs/specs/Concepts/Effect Taxonomy.md` and\n * `docs/specs/Concepts/Permission Kernel.md`.\n *\n * @since 1.0.0-rc.0\n */\n\nimport { Context, Layer } from \"effect\"\n\n/**\n * Workspace-root configuration.\n *\n * @category models\n * @since 1.0.0-rc.0\n */\nexport interface Service {\n readonly root: string\n}\n\n/**\n * The workspace-root service tag.\n *\n * @category services\n * @since 1.0.0-rc.0\n */\nexport class Workspace extends Context.Service<Workspace, Service>()(\"@smthrs/kernel/Workspace\") {}\n\n/**\n * Constructs workspace-root configuration.\n *\n * @category constructors\n * @since 1.0.0-rc.0\n */\nexport const make = (root: string): Service => Workspace.of({ root })\n\n/**\n * Provides a workspace root.\n *\n * @category layers\n * @since 1.0.0-rc.0\n */\nexport const layer = (root: string): Layer.Layer<Workspace> => Layer.succeed(Workspace, make(root))\n\n/**\n * Constructs a relative workspace-root stub for tests.\n *\n * @category constructors\n * @since 1.0.0-rc.0\n */\nexport const makeNoop: Service = make(\".\")\n\n/**\n * Provides a relative workspace-root stub for tests.\n *\n * @category layers\n * @since 1.0.0-rc.0\n */\nexport const layerNoop: Layer.Layer<Workspace> = Layer.succeed(Workspace, makeNoop)\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAcA,oBAA+B;AAkBxB,MAAM,kBAAkB,sBAAQ,QAA4B,EAAE,0BAA0B,EAAE;AAAC;AAQ3F,MAAM,OAAO,CAAC,SAA0B,UAAU,GAAG,EAAE,KAAK,CAAC;AAQ7D,MAAM,QAAQ,CAAC,SAAyC,oBAAM,QAAQ,WAAW,KAAK,IAAI,CAAC;AAQ3F,MAAM,WAAoB,KAAK,GAAG;AAQlC,MAAM,YAAoC,oBAAM,QAAQ,WAAW,QAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,161 @@
1
+ /**
2
+ * Capability enforcement at the Host boundary.
3
+ *
4
+ * Every slot of the closed Host surface is decorated in place: a middleware
5
+ * `Layer` over the very tag a platform adapter provides, checking a capability
6
+ * against a `GrantStore` before it delegates. There is no second, protected
7
+ * tag, so code that never heard of the kernel is guarded the moment the layer
8
+ * is composed over its host.
9
+ *
10
+ * @since 1.0.0-rc.0
11
+ */
12
+ /**
13
+ * Capability values, patterns, matching, and effect tiers.
14
+ *
15
+ * @category namespace exports
16
+ * @since 1.0.0-rc.0
17
+ */
18
+ export * as Capability from "@smthrs/capability/Capability";
19
+ /**
20
+ * Monotone ambient authority and intersection.
21
+ *
22
+ * @category namespace exports
23
+ * @since 1.0.0-rc.0
24
+ */
25
+ export * as CapabilitySet from "./CapabilitySet.ts";
26
+ /**
27
+ * The `proc:spawn` middleware over Effect's own `ChildProcessSpawner` tag.
28
+ *
29
+ * @category namespace exports
30
+ * @since 1.0.0-rc.0
31
+ */
32
+ export * as ChildProcessSpawner from "./ChildProcessSpawner.ts";
33
+ /**
34
+ * Least-authority child-process environment construction.
35
+ *
36
+ * @category namespace exports
37
+ * @since 1.0.0-rc.0
38
+ */
39
+ export * as ChildProcessEnvironment from "./ChildProcessEnvironment.ts";
40
+ /**
41
+ * Process containment middleware over Effect's own `ChildProcessSpawner` tag.
42
+ *
43
+ * @category namespace exports
44
+ * @since 1.0.0-rc.0
45
+ */
46
+ export * as ContainedSpawner from "./ContainedSpawner.ts";
47
+ /**
48
+ * Rendering `ChildProcess` commands back to command lines.
49
+ *
50
+ * @category namespace exports
51
+ * @since 1.0.0-rc.0
52
+ */
53
+ export * as CommandLine from "./CommandLine.ts";
54
+ /**
55
+ * The `fs:read`/`fs:write` middleware over Effect's own `FileSystem` tag.
56
+ *
57
+ * @category namespace exports
58
+ * @since 1.0.0-rc.0
59
+ */
60
+ export * as FileSystem from "./FileSystem.ts";
61
+ /**
62
+ * Durable grant decision schemas.
63
+ *
64
+ * @category namespace exports
65
+ * @since 1.0.0-rc.0
66
+ */
67
+ export * as GrantEvent from "./GrantEvent.ts";
68
+ /**
69
+ * Attended and unattended grant-store services.
70
+ *
71
+ * @category namespace exports
72
+ * @since 1.0.0-rc.0
73
+ */
74
+ export * as GrantStore from "./GrantStore.ts";
75
+ /**
76
+ * The union of failures the closed Host surface is allowed to produce.
77
+ *
78
+ * A type, not a namespace: process execution now fails with Effect's own
79
+ * `PlatformError`, so nothing is left here to construct.
80
+ *
81
+ * @category models
82
+ * @since 1.0.0-rc.0
83
+ */
84
+ export type { HostError } from "./HostError.ts";
85
+ /**
86
+ * The closed protected Host service layer.
87
+ *
88
+ * @category namespace exports
89
+ * @since 1.0.0-rc.0
90
+ */
91
+ export * as HostServices from "./HostServices.ts";
92
+ /**
93
+ * The `net:get`/`net:post`/`model:call` middleware over Effect's own
94
+ * `HttpClient` tag.
95
+ *
96
+ * @category namespace exports
97
+ * @since 1.0.0-rc.0
98
+ */
99
+ export * as HttpClient from "./HttpClient.ts";
100
+ /**
101
+ * The jj capability middleware over `@smthrs/jj`'s own `Jj` tag.
102
+ *
103
+ * @category namespace exports
104
+ * @since 1.0.0-rc.0
105
+ */
106
+ export * as Jj from "./Jj.ts";
107
+ /**
108
+ * Journal-backed grant persistence.
109
+ *
110
+ * @category namespace exports
111
+ * @since 1.0.0-rc.0
112
+ */
113
+ export * as JournalGrantStore from "./JournalGrantStore.ts";
114
+ /**
115
+ * The explicit pure path-service decision.
116
+ *
117
+ * @category namespace exports
118
+ * @since 1.0.0-rc.0
119
+ */
120
+ export * as Path from "./Path.ts";
121
+ /**
122
+ * Typed permission errors and policy rules.
123
+ *
124
+ * @category namespace exports
125
+ * @since 1.0.0-rc.0
126
+ */
127
+ export * as Permission from "@smthrs/capability/Permission";
128
+ /**
129
+ * The host's durable record of the processes it started.
130
+ *
131
+ * @category namespace exports
132
+ * @since 1.0.0-rc.0
133
+ */
134
+ export * as ProcessLedger from "./ProcessLedger.ts";
135
+ /**
136
+ * Filesystem, path and process services bound to one root directory.
137
+ *
138
+ * @category namespace exports
139
+ * @since 1.0.0
140
+ */
141
+ export * as Rooted from "./Rooted.ts";
142
+ /**
143
+ * The shared workspace-root service.
144
+ *
145
+ * @category namespace exports
146
+ * @since 1.0.0-rc.0
147
+ */
148
+ export * as Workspace from "./Workspace.ts";
149
+ /** Host process confinement.
150
+ * @category namespace exports
151
+ * @since 1.0.0-rc.1
152
+ */
153
+ export * as ProcessConfinement from "./ProcessConfinement.ts";
154
+ /**
155
+ * Typed connectivity failures and host command exit classification.
156
+ *
157
+ * @category namespace exports
158
+ * @since 1.0.0
159
+ */
160
+ export * as Unreachable from "./Unreachable.ts";
161
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;GAKG;AACH,OAAO,KAAK,UAAU,MAAM,+BAA+B,CAAA;AAE3D;;;;;GAKG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD;;;;;GAKG;AACH,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAA;AAE/D;;;;;GAKG;AACH,OAAO,KAAK,uBAAuB,MAAM,8BAA8B,CAAA;AAEvE;;;;;GAKG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AAEzD;;;;;GAKG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C;;;;;GAKG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;;;;GAKG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;;;;GAKG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;;;;;;;GAQG;AACH,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C;;;;;GAKG;AACH,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD;;;;;;GAMG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;;;;GAKG;AACH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAE7B;;;;;GAKG;AACH,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAE3D;;;;;GAKG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC;;;;;GAKG;AACH,OAAO,KAAK,UAAU,MAAM,+BAA+B,CAAA;AAE3D;;;;;GAKG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD;;;;;GAKG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;;;;GAKG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;;GAGG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAE7D;;;;;GAKG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var index_exports = {};
30
+ __export(index_exports, {
31
+ Capability: () => Capability,
32
+ CapabilitySet: () => CapabilitySet,
33
+ ChildProcessEnvironment: () => ChildProcessEnvironment,
34
+ ChildProcessSpawner: () => ChildProcessSpawner,
35
+ CommandLine: () => CommandLine,
36
+ ContainedSpawner: () => ContainedSpawner,
37
+ FileSystem: () => FileSystem,
38
+ GrantEvent: () => GrantEvent,
39
+ GrantStore: () => GrantStore,
40
+ HostServices: () => HostServices,
41
+ HttpClient: () => HttpClient,
42
+ Jj: () => Jj,
43
+ JournalGrantStore: () => JournalGrantStore,
44
+ Path: () => Path,
45
+ Permission: () => Permission,
46
+ ProcessConfinement: () => ProcessConfinement,
47
+ ProcessLedger: () => ProcessLedger,
48
+ Rooted: () => Rooted,
49
+ Unreachable: () => Unreachable,
50
+ Workspace: () => Workspace
51
+ });
52
+ module.exports = __toCommonJS(index_exports);
53
+ var Capability = __toESM(require("@smthrs/capability/Capability"), 1);
54
+ var CapabilitySet = __toESM(require("./CapabilitySet.js"), 1);
55
+ var ChildProcessSpawner = __toESM(require("./ChildProcessSpawner.js"), 1);
56
+ var ChildProcessEnvironment = __toESM(require("./ChildProcessEnvironment.js"), 1);
57
+ var ContainedSpawner = __toESM(require("./ContainedSpawner.js"), 1);
58
+ var CommandLine = __toESM(require("./CommandLine.js"), 1);
59
+ var FileSystem = __toESM(require("./FileSystem.js"), 1);
60
+ var GrantEvent = __toESM(require("./GrantEvent.js"), 1);
61
+ var GrantStore = __toESM(require("./GrantStore.js"), 1);
62
+ var HostServices = __toESM(require("./HostServices.js"), 1);
63
+ var HttpClient = __toESM(require("./HttpClient.js"), 1);
64
+ var Jj = __toESM(require("./Jj.js"), 1);
65
+ var JournalGrantStore = __toESM(require("./JournalGrantStore.js"), 1);
66
+ var Path = __toESM(require("./Path.js"), 1);
67
+ var Permission = __toESM(require("@smthrs/capability/Permission"), 1);
68
+ var ProcessLedger = __toESM(require("./ProcessLedger.js"), 1);
69
+ var Rooted = __toESM(require("./Rooted.js"), 1);
70
+ var Workspace = __toESM(require("./Workspace.js"), 1);
71
+ var ProcessConfinement = __toESM(require("./ProcessConfinement.js"), 1);
72
+ var Unreachable = __toESM(require("./Unreachable.js"), 1);
73
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/index.ts"],
4
+ "sourcesContent": ["/**\n * Capability enforcement at the Host boundary.\n *\n * Every slot of the closed Host surface is decorated in place: a middleware\n * `Layer` over the very tag a platform adapter provides, checking a capability\n * against a `GrantStore` before it delegates. There is no second, protected\n * tag, so code that never heard of the kernel is guarded the moment the layer\n * is composed over its host.\n *\n * @since 1.0.0-rc.0\n */\n\n/**\n * Capability values, patterns, matching, and effect tiers.\n *\n * @category namespace exports\n * @since 1.0.0-rc.0\n */\nexport * as Capability from \"@smthrs/capability/Capability\"\n\n/**\n * Monotone ambient authority and intersection.\n *\n * @category namespace exports\n * @since 1.0.0-rc.0\n */\nexport * as CapabilitySet from \"./CapabilitySet.ts\"\n\n/**\n * The `proc:spawn` middleware over Effect's own `ChildProcessSpawner` tag.\n *\n * @category namespace exports\n * @since 1.0.0-rc.0\n */\nexport * as ChildProcessSpawner from \"./ChildProcessSpawner.ts\"\n\n/**\n * Least-authority child-process environment construction.\n *\n * @category namespace exports\n * @since 1.0.0-rc.0\n */\nexport * as ChildProcessEnvironment from \"./ChildProcessEnvironment.ts\"\n\n/**\n * Process containment middleware over Effect's own `ChildProcessSpawner` tag.\n *\n * @category namespace exports\n * @since 1.0.0-rc.0\n */\nexport * as ContainedSpawner from \"./ContainedSpawner.ts\"\n\n/**\n * Rendering `ChildProcess` commands back to command lines.\n *\n * @category namespace exports\n * @since 1.0.0-rc.0\n */\nexport * as CommandLine from \"./CommandLine.ts\"\n\n/**\n * The `fs:read`/`fs:write` middleware over Effect's own `FileSystem` tag.\n *\n * @category namespace exports\n * @since 1.0.0-rc.0\n */\nexport * as FileSystem from \"./FileSystem.ts\"\n\n/**\n * Durable grant decision schemas.\n *\n * @category namespace exports\n * @since 1.0.0-rc.0\n */\nexport * as GrantEvent from \"./GrantEvent.ts\"\n\n/**\n * Attended and unattended grant-store services.\n *\n * @category namespace exports\n * @since 1.0.0-rc.0\n */\nexport * as GrantStore from \"./GrantStore.ts\"\n\n/**\n * The union of failures the closed Host surface is allowed to produce.\n *\n * A type, not a namespace: process execution now fails with Effect's own\n * `PlatformError`, so nothing is left here to construct.\n *\n * @category models\n * @since 1.0.0-rc.0\n */\nexport type { HostError } from \"./HostError.ts\"\n\n/**\n * The closed protected Host service layer.\n *\n * @category namespace exports\n * @since 1.0.0-rc.0\n */\nexport * as HostServices from \"./HostServices.ts\"\n\n/**\n * The `net:get`/`net:post`/`model:call` middleware over Effect's own\n * `HttpClient` tag.\n *\n * @category namespace exports\n * @since 1.0.0-rc.0\n */\nexport * as HttpClient from \"./HttpClient.ts\"\n\n/**\n * The jj capability middleware over `@smthrs/jj`'s own `Jj` tag.\n *\n * @category namespace exports\n * @since 1.0.0-rc.0\n */\nexport * as Jj from \"./Jj.ts\"\n\n/**\n * Journal-backed grant persistence.\n *\n * @category namespace exports\n * @since 1.0.0-rc.0\n */\nexport * as JournalGrantStore from \"./JournalGrantStore.ts\"\n\n/**\n * The explicit pure path-service decision.\n *\n * @category namespace exports\n * @since 1.0.0-rc.0\n */\nexport * as Path from \"./Path.ts\"\n\n/**\n * Typed permission errors and policy rules.\n *\n * @category namespace exports\n * @since 1.0.0-rc.0\n */\nexport * as Permission from \"@smthrs/capability/Permission\"\n\n/**\n * The host's durable record of the processes it started.\n *\n * @category namespace exports\n * @since 1.0.0-rc.0\n */\nexport * as ProcessLedger from \"./ProcessLedger.ts\"\n\n/**\n * Filesystem, path and process services bound to one root directory.\n *\n * @category namespace exports\n * @since 1.0.0\n */\nexport * as Rooted from \"./Rooted.ts\"\n\n/**\n * The shared workspace-root service.\n *\n * @category namespace exports\n * @since 1.0.0-rc.0\n */\nexport * as Workspace from \"./Workspace.ts\"\n\n/** Host process confinement.\n * @category namespace exports\n * @since 1.0.0-rc.1\n */\nexport * as ProcessConfinement from \"./ProcessConfinement.ts\"\n\n/**\n * Typed connectivity failures and host command exit classification.\n *\n * @category namespace exports\n * @since 1.0.0\n */\nexport * as Unreachable from \"./Unreachable.ts\"\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkBA,iBAA4B;AAQ5B,oBAA+B;AAQ/B,0BAAqC;AAQrC,8BAAyC;AAQzC,uBAAkC;AAQlC,kBAA6B;AAQ7B,iBAA4B;AAQ5B,iBAA4B;AAQ5B,iBAA4B;AAmB5B,mBAA8B;AAS9B,iBAA4B;AAQ5B,SAAoB;AAQpB,wBAAmC;AAQnC,WAAsB;AAQtB,iBAA4B;AAQ5B,oBAA+B;AAQ/B,aAAwB;AAQxB,gBAA2B;AAM3B,yBAAoC;AAQpC,kBAA6B;",
6
+ "names": []
7
+ }