semantifold 0.3.0 → 0.4.0

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 (297) hide show
  1. package/README.md +58 -15
  2. package/build/index.d.ts +48 -2
  3. package/build/index.d.ts.map +1 -1
  4. package/build/index.js +57 -8
  5. package/build/src/artifact-path.d.ts +23 -1
  6. package/build/src/artifact-path.d.ts.map +1 -1
  7. package/build/src/artifact-path.js +45 -3
  8. package/build/src/artifacts.d.ts.map +1 -1
  9. package/build/src/artifacts.js +66 -1
  10. package/build/src/backends/c-validation.d.ts.map +1 -1
  11. package/build/src/backends/c-validation.js +7 -3
  12. package/build/src/backends/cpp-validation.d.ts.map +1 -1
  13. package/build/src/backends/cpp-validation.js +7 -3
  14. package/build/src/backends/csharp.js +7 -1
  15. package/build/src/backends/dart-runtime.d.ts +2 -0
  16. package/build/src/backends/dart-runtime.d.ts.map +1 -0
  17. package/build/src/backends/dart-runtime.js +41 -0
  18. package/build/src/backends/dart.d.ts +20 -0
  19. package/build/src/backends/dart.d.ts.map +1 -0
  20. package/build/src/backends/dart.js +321 -0
  21. package/build/src/backends/effects.d.ts +60 -0
  22. package/build/src/backends/effects.d.ts.map +1 -0
  23. package/build/src/backends/effects.js +746 -0
  24. package/build/src/backends/go.js +18 -4
  25. package/build/src/backends/identifiers.d.ts +36 -4
  26. package/build/src/backends/identifiers.d.ts.map +1 -1
  27. package/build/src/backends/identifiers.js +154 -10
  28. package/build/src/backends/index.d.ts.map +1 -1
  29. package/build/src/backends/index.js +27 -4
  30. package/build/src/backends/ios.d.ts +68 -0
  31. package/build/src/backends/ios.d.ts.map +1 -0
  32. package/build/src/backends/ios.js +1503 -0
  33. package/build/src/backends/java.d.ts.map +1 -1
  34. package/build/src/backends/java.js +429 -36
  35. package/build/src/backends/javascript.d.ts +6 -0
  36. package/build/src/backends/javascript.d.ts.map +1 -1
  37. package/build/src/backends/javascript.js +380 -24
  38. package/build/src/backends/kotlin-runtime.d.ts +3 -0
  39. package/build/src/backends/kotlin-runtime.d.ts.map +1 -0
  40. package/build/src/backends/kotlin-runtime.js +29 -0
  41. package/build/src/backends/kotlin.d.ts +23 -0
  42. package/build/src/backends/kotlin.d.ts.map +1 -0
  43. package/build/src/backends/kotlin.js +136 -0
  44. package/build/src/backends/native-validation.d.ts +2 -2
  45. package/build/src/backends/native-validation.d.ts.map +1 -1
  46. package/build/src/backends/native-validation.js +2 -2
  47. package/build/src/backends/ordered-expressions.d.ts.map +1 -1
  48. package/build/src/backends/ordered-expressions.js +39 -7
  49. package/build/src/backends/php-stdlib-support.d.ts +19 -0
  50. package/build/src/backends/php-stdlib-support.d.ts.map +1 -0
  51. package/build/src/backends/php-stdlib-support.js +227 -0
  52. package/build/src/backends/php.d.ts.map +1 -1
  53. package/build/src/backends/php.js +448 -33
  54. package/build/src/backends/program.d.ts +81 -0
  55. package/build/src/backends/program.d.ts.map +1 -0
  56. package/build/src/backends/program.js +1308 -0
  57. package/build/src/backends/python.js +7 -1
  58. package/build/src/backends/ruby.d.ts.map +1 -1
  59. package/build/src/backends/ruby.js +310 -24
  60. package/build/src/backends/rust-runtime.d.ts +7 -0
  61. package/build/src/backends/rust-runtime.d.ts.map +1 -0
  62. package/build/src/backends/rust-runtime.js +32 -0
  63. package/build/src/backends/rust-validation.d.ts +9 -0
  64. package/build/src/backends/rust-validation.d.ts.map +1 -0
  65. package/build/src/backends/rust-validation.js +78 -0
  66. package/build/src/backends/rust.d.ts +24 -0
  67. package/build/src/backends/rust.d.ts.map +1 -0
  68. package/build/src/backends/rust.js +344 -0
  69. package/build/src/backends/scalars.d.ts +14 -6
  70. package/build/src/backends/scalars.d.ts.map +1 -1
  71. package/build/src/backends/scalars.js +167 -17
  72. package/build/src/backends/shared.d.ts +23 -4
  73. package/build/src/backends/shared.d.ts.map +1 -1
  74. package/build/src/backends/shared.js +2158 -62
  75. package/build/src/backends/stdlib-support.d.ts +14 -0
  76. package/build/src/backends/stdlib-support.d.ts.map +1 -0
  77. package/build/src/backends/stdlib-support.js +237 -0
  78. package/build/src/backends/swift-runtime.d.ts +3 -0
  79. package/build/src/backends/swift-runtime.d.ts.map +1 -0
  80. package/build/src/backends/swift-runtime.js +14 -0
  81. package/build/src/backends/swift.d.ts +8 -0
  82. package/build/src/backends/swift.d.ts.map +1 -0
  83. package/build/src/backends/swift.js +127 -0
  84. package/build/src/backends/typescript.d.ts.map +1 -1
  85. package/build/src/backends/typescript.js +344 -24
  86. package/build/src/backends/wasm.d.ts +43 -0
  87. package/build/src/backends/wasm.d.ts.map +1 -0
  88. package/build/src/backends/wasm.js +2164 -0
  89. package/build/src/backends/writer.d.ts +235 -4
  90. package/build/src/backends/writer.d.ts.map +1 -1
  91. package/build/src/backends/writer.js +468 -3
  92. package/build/src/diagnostic.d.ts +4 -3
  93. package/build/src/diagnostic.d.ts.map +1 -1
  94. package/build/src/diagnostic.js +5 -3
  95. package/build/src/frontends/c.d.ts.map +1 -1
  96. package/build/src/frontends/c.js +5 -3
  97. package/build/src/frontends/cpp.d.ts.map +1 -1
  98. package/build/src/frontends/cpp.js +5 -3
  99. package/build/src/frontends/csharp.d.ts.map +1 -1
  100. package/build/src/frontends/csharp.js +7 -3
  101. package/build/src/frontends/dart.d.ts +10 -0
  102. package/build/src/frontends/dart.d.ts.map +1 -0
  103. package/build/src/frontends/dart.js +913 -0
  104. package/build/src/frontends/index.d.ts +3 -1
  105. package/build/src/frontends/index.d.ts.map +1 -1
  106. package/build/src/frontends/index.js +15 -5
  107. package/build/src/frontends/java.d.ts +110 -1
  108. package/build/src/frontends/java.d.ts.map +1 -1
  109. package/build/src/frontends/java.js +1725 -70
  110. package/build/src/frontends/javascript-typescript.d.ts +69 -1
  111. package/build/src/frontends/javascript-typescript.d.ts.map +1 -1
  112. package/build/src/frontends/javascript-typescript.js +1825 -93
  113. package/build/src/frontends/kotlin.d.ts +10 -0
  114. package/build/src/frontends/kotlin.d.ts.map +1 -0
  115. package/build/src/frontends/kotlin.js +685 -0
  116. package/build/src/frontends/php.d.ts +118 -1
  117. package/build/src/frontends/php.d.ts.map +1 -1
  118. package/build/src/frontends/php.js +1583 -76
  119. package/build/src/frontends/program.d.ts +74 -0
  120. package/build/src/frontends/program.d.ts.map +1 -0
  121. package/build/src/frontends/program.js +989 -0
  122. package/build/src/frontends/ruby.d.ts +68 -1
  123. package/build/src/frontends/ruby.d.ts.map +1 -1
  124. package/build/src/frontends/ruby.js +1446 -101
  125. package/build/src/frontends/rust-parser.d.ts +11 -0
  126. package/build/src/frontends/rust-parser.d.ts.map +1 -0
  127. package/build/src/frontends/rust-parser.js +15 -0
  128. package/build/src/frontends/rust.d.ts +14 -0
  129. package/build/src/frontends/rust.d.ts.map +1 -0
  130. package/build/src/frontends/rust.js +715 -0
  131. package/build/src/frontends/scalars.d.ts +10 -0
  132. package/build/src/frontends/scalars.d.ts.map +1 -1
  133. package/build/src/frontends/scalars.js +28 -2
  134. package/build/src/frontends/swift.d.ts +10 -0
  135. package/build/src/frontends/swift.d.ts.map +1 -0
  136. package/build/src/frontends/swift.js +860 -0
  137. package/build/src/frontends/types.d.ts +186 -0
  138. package/build/src/frontends/types.d.ts.map +1 -0
  139. package/build/src/frontends/types.js +634 -0
  140. package/build/src/language-registry.d.ts +46 -4
  141. package/build/src/language-registry.d.ts.map +1 -1
  142. package/build/src/language-registry.js +167 -13
  143. package/build/src/mapping.d.ts +2 -2
  144. package/build/src/mapping.d.ts.map +1 -1
  145. package/build/src/mapping.js +31 -10
  146. package/build/src/semantic/capabilities.d.ts +66 -0
  147. package/build/src/semantic/capabilities.d.ts.map +1 -0
  148. package/build/src/semantic/capabilities.js +649 -0
  149. package/build/src/semantic/effects.d.ts +26 -0
  150. package/build/src/semantic/effects.d.ts.map +1 -0
  151. package/build/src/semantic/effects.js +764 -0
  152. package/build/src/semantic/generics.d.ts +23 -0
  153. package/build/src/semantic/generics.d.ts.map +1 -0
  154. package/build/src/semantic/generics.js +61 -0
  155. package/build/src/semantic/lifetime.d.ts +37 -0
  156. package/build/src/semantic/lifetime.d.ts.map +1 -0
  157. package/build/src/semantic/lifetime.js +527 -0
  158. package/build/src/semantic/provenance.d.ts +9 -2
  159. package/build/src/semantic/provenance.d.ts.map +1 -1
  160. package/build/src/semantic/provenance.js +462 -20
  161. package/build/src/semantic/scalars.d.ts +11 -0
  162. package/build/src/semantic/scalars.d.ts.map +1 -1
  163. package/build/src/semantic/scalars.js +16 -1
  164. package/build/src/semantic/stdlib.d.ts +254 -0
  165. package/build/src/semantic/stdlib.d.ts.map +1 -0
  166. package/build/src/semantic/stdlib.js +880 -0
  167. package/build/src/semantic/types.d.ts +2952 -202
  168. package/build/src/semantic/types.d.ts.map +1 -1
  169. package/build/src/semantic/types.js +688 -15
  170. package/build/src/semantic/validate.d.ts +85 -5
  171. package/build/src/semantic/validate.d.ts.map +1 -1
  172. package/build/src/semantic/validate.js +2576 -98
  173. package/build/src/stdlib-facades.d.ts +304 -0
  174. package/build/src/stdlib-facades.d.ts.map +1 -0
  175. package/build/src/stdlib-facades.js +1167 -0
  176. package/build/src/stdlib-negotiation.d.ts +69 -0
  177. package/build/src/stdlib-negotiation.d.ts.map +1 -0
  178. package/build/src/stdlib-negotiation.js +403 -0
  179. package/build/src/stdlib-providers.d.ts +72 -0
  180. package/build/src/stdlib-providers.d.ts.map +1 -0
  181. package/build/src/stdlib-providers.js +339 -0
  182. package/build/src/toolchains.d.ts +55 -1
  183. package/build/src/toolchains.d.ts.map +1 -1
  184. package/build/src/toolchains.js +15 -4
  185. package/docs/architecture.md +45 -13
  186. package/docs/dart.md +60 -0
  187. package/docs/goals.md +3 -3
  188. package/docs/ios.md +121 -0
  189. package/docs/kotlin.md +42 -0
  190. package/docs/language-support.md +231 -26
  191. package/docs/multi-file-modules.md +52 -0
  192. package/docs/parser-qualification.md +121 -8
  193. package/docs/plans/2026-09-05-standard-library-portability.md +10 -10
  194. package/docs/rust.md +88 -0
  195. package/docs/source-maps.md +15 -7
  196. package/docs/standard-library-portability.md +39 -8
  197. package/docs/swift.md +44 -0
  198. package/docs/testing.md +366 -4
  199. package/docs/webassembly.md +52 -0
  200. package/index.js +63 -8
  201. package/node_modules/semantifold-tree-sitter-legacy-internal/README.md +2 -2
  202. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/LICENSE +21 -0
  203. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/README.md +45 -0
  204. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/binding.gyp +30 -0
  205. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/bindings/node/binding.cc +20 -0
  206. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/bindings/node/binding_test.js +9 -0
  207. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/bindings/node/index.d.ts +28 -0
  208. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/bindings/node/index.js +11 -0
  209. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/grammar.js +1630 -0
  210. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/package.json +64 -0
  211. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/prebuilds/darwin-arm64/tree-sitter-rust.node +0 -0
  212. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/prebuilds/darwin-x64/tree-sitter-rust.node +0 -0
  213. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/prebuilds/linux-arm64/tree-sitter-rust.node +0 -0
  214. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/prebuilds/linux-x64/tree-sitter-rust.node +0 -0
  215. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/prebuilds/win32-arm64/tree-sitter-rust.node +0 -0
  216. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/prebuilds/win32-x64/tree-sitter-rust.node +0 -0
  217. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/queries/highlights.scm +159 -0
  218. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/queries/injections.scm +9 -0
  219. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/queries/tags.scm +60 -0
  220. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/src/grammar.json +9405 -0
  221. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/src/node-types.json +5399 -0
  222. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/src/parser.c +192569 -0
  223. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/src/scanner.c +393 -0
  224. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/src/tree_sitter/alloc.h +54 -0
  225. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/src/tree_sitter/array.h +290 -0
  226. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/src/tree_sitter/parser.h +266 -0
  227. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/tree-sitter-rust.wasm +0 -0
  228. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/tree-sitter.json +53 -0
  229. package/node_modules/semantifold-tree-sitter-legacy-internal/package.json +3 -2
  230. package/node_modules/semantifold-tree-sitter-legacy-internal/src/c.js +5 -4
  231. package/package.json +5 -2
  232. package/src/artifact-path.js +47 -2
  233. package/src/artifacts.js +67 -0
  234. package/src/backends/c-validation.js +6 -1
  235. package/src/backends/cpp-validation.js +6 -1
  236. package/src/backends/csharp.js +3 -0
  237. package/src/backends/dart-runtime.js +41 -0
  238. package/src/backends/dart.js +326 -0
  239. package/src/backends/effects.js +705 -0
  240. package/src/backends/go.js +14 -2
  241. package/src/backends/identifiers.js +160 -9
  242. package/src/backends/index.js +27 -2
  243. package/src/backends/ios.js +1612 -0
  244. package/src/backends/java.js +454 -36
  245. package/src/backends/javascript.js +389 -23
  246. package/src/backends/kotlin-runtime.js +29 -0
  247. package/src/backends/kotlin.js +141 -0
  248. package/src/backends/native-validation.js +1 -1
  249. package/src/backends/ordered-expressions.js +40 -6
  250. package/src/backends/php-stdlib-support.js +239 -0
  251. package/src/backends/php.js +469 -32
  252. package/src/backends/program.js +1407 -0
  253. package/src/backends/python.js +3 -0
  254. package/src/backends/ruby.js +326 -23
  255. package/src/backends/rust-runtime.js +34 -0
  256. package/src/backends/rust-validation.js +75 -0
  257. package/src/backends/rust.js +335 -0
  258. package/src/backends/scalars.js +141 -16
  259. package/src/backends/shared.js +2304 -124
  260. package/src/backends/stdlib-support.js +234 -0
  261. package/src/backends/swift-runtime.js +14 -0
  262. package/src/backends/swift.js +132 -0
  263. package/src/backends/typescript.js +349 -23
  264. package/src/backends/wasm.js +2208 -0
  265. package/src/backends/writer.js +520 -2
  266. package/src/diagnostic.js +4 -2
  267. package/src/frontends/c.js +4 -2
  268. package/src/frontends/cpp.js +4 -2
  269. package/src/frontends/csharp.js +4 -2
  270. package/src/frontends/dart.js +963 -0
  271. package/src/frontends/index.js +14 -4
  272. package/src/frontends/java.js +1977 -69
  273. package/src/frontends/javascript-typescript.js +2046 -102
  274. package/src/frontends/kotlin.js +713 -0
  275. package/src/frontends/php.js +1725 -79
  276. package/src/frontends/program.js +1062 -0
  277. package/src/frontends/ruby.js +1624 -98
  278. package/src/frontends/rust-parser.js +18 -0
  279. package/src/frontends/rust.js +714 -0
  280. package/src/frontends/scalars.js +31 -1
  281. package/src/frontends/swift.js +893 -0
  282. package/src/frontends/types.js +750 -0
  283. package/src/language-registry.js +172 -12
  284. package/src/mapping.js +33 -9
  285. package/src/semantic/capabilities.js +671 -0
  286. package/src/semantic/effects.js +737 -0
  287. package/src/semantic/generics.js +58 -0
  288. package/src/semantic/lifetime.js +517 -0
  289. package/src/semantic/provenance.js +412 -19
  290. package/src/semantic/scalars.js +17 -0
  291. package/src/semantic/stdlib.js +921 -0
  292. package/src/semantic/types.js +765 -14
  293. package/src/semantic/validate.js +2934 -209
  294. package/src/stdlib-facades.js +1211 -0
  295. package/src/stdlib-negotiation.js +446 -0
  296. package/src/stdlib-providers.js +377 -0
  297. package/src/toolchains.js +16 -3
@@ -10,6 +10,17 @@ export declare function scalarType(name: import("./types.js").SemanticTypeName):
10
10
  * @returns {name is import("./types.js").SemanticTypeName} Whether the name is supported.
11
11
  */
12
12
  export declare function isScalarTypeName(name: string): name is import("./types.js").SemanticTypeName;
13
+ /**
14
+ * Checks a function return type name, including the non-value `void` result.
15
+ * @param {string} name - Candidate semantic return type name.
16
+ * @returns {name is import("./types.js").FunctionReturnTypeName} Whether the name is supported for a function return.
17
+ */
18
+ export declare function isFunctionReturnTypeName(name: string): name is import("./types.js").FunctionReturnTypeName;
19
+ /**
20
+ * Returns the canonical semantic void return type reference.
21
+ * @returns {import("./types.js").FunctionReturnTypeReference} Void return type.
22
+ */
23
+ export declare function voidType(): import("./types.js").FunctionReturnTypeReference;
13
24
  /**
14
25
  * Checks that a JavaScript string contains only complete Unicode scalar values.
15
26
  * @param {string} value - Candidate Unicode string.
@@ -1 +1 @@
1
- {"version":3,"file":"scalars.d.ts","sourceRoot":"","sources":["../../../src/semantic/scalars.js"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAHpB,OAAO,YAAY,EAAE,gBAGD,GAFlB,OAAO,YAAY,EAAE,aAAa,CAI9C;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAH1B,MAG0B,GAFxB,IAAI,IAAI,OAAO,YAAY,EAAE,gBAAgB,CAIzD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAHhC,MAGgC,GAF9B,OAAO,CAiBnB"}
1
+ {"version":3,"file":"scalars.d.ts","sourceRoot":"","sources":["../../../src/semantic/scalars.js"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAHpB,OAAO,YAAY,EAAE,gBAGD,GAFlB,OAAO,YAAY,EAAE,aAAa,CAI9C;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAH1B,MAG0B,GAFxB,IAAI,IAAI,OAAO,YAAY,EAAE,gBAAgB,CAIzD;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAHlC,MAGkC,GAFhC,IAAI,IAAI,OAAO,YAAY,EAAE,sBAAsB,CAI/D;AAED;;;GAGG;AACH,wBAAgB,QAAQ,IAFX,OAAO,YAAY,EAAE,2BAA2B,CAI5D;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAHhC,MAGgC,GAF9B,OAAO,CAiBnB"}
@@ -17,6 +17,21 @@ export function scalarType(name) {
17
17
  export function isScalarTypeName(name) {
18
18
  return scalarTypeNames.some((candidate) => candidate == name);
19
19
  }
20
+ /**
21
+ * Checks a function return type name, including the non-value `void` result.
22
+ * @param {string} name - Candidate semantic return type name.
23
+ * @returns {name is import("./types.js").FunctionReturnTypeName} Whether the name is supported for a function return.
24
+ */
25
+ export function isFunctionReturnTypeName(name) {
26
+ return name == "void" || isScalarTypeName(name);
27
+ }
28
+ /**
29
+ * Returns the canonical semantic void return type reference.
30
+ * @returns {import("./types.js").FunctionReturnTypeReference} Void return type.
31
+ */
32
+ export function voidType() {
33
+ return { kind: "TypeReference", name: "void" };
34
+ }
20
35
  /**
21
36
  * Checks that a JavaScript string contains only complete Unicode scalar values.
22
37
  * @param {string} value - Candidate Unicode string.
@@ -37,4 +52,4 @@ export function hasOnlyUnicodeScalars(value) {
37
52
  }
38
53
  return true;
39
54
  }
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NhbGFycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZW1hbnRpYy9zY2FsYXJzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWiwrREFBK0Q7QUFDL0QsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQTtBQUV2RTs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBQyxJQUFJO0lBQzdCLE9BQU8sRUFBQyxJQUFJLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxlQUFlLENBQUMsRUFBRSxJQUFJLEVBQUMsQ0FBQTtBQUM3RCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxJQUFJO0lBQ25DLE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxDQUFBO0FBQy9ELENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUFDLEtBQUs7SUFDekMsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUNsRCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBRXhDLElBQUksUUFBUSxJQUFJLE1BQU0sSUFBSSxRQUFRLElBQUksTUFBTSxFQUFFLENBQUM7WUFDN0MsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUE7WUFFNUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxHQUFHLE1BQU0sSUFBSSxRQUFRLEdBQUcsTUFBTTtnQkFBRSxPQUFPLEtBQUssQ0FBQTtZQUN2RixLQUFLLEVBQUUsQ0FBQTtRQUNULENBQUM7YUFBTSxJQUFJLFFBQVEsSUFBSSxNQUFNLElBQUksUUFBUSxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ3BELE9BQU8sS0FBSyxDQUFBO1FBQ2QsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQTtBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuLyoqIEB0eXBlIHtyZWFkb25seSBpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLlNlbWFudGljVHlwZU5hbWVbXX0gKi9cbmNvbnN0IHNjYWxhclR5cGVOYW1lcyA9IE9iamVjdC5mcmVlemUoW1wiaW50ZWdlclwiLCBcImJvb2xlYW5cIiwgXCJzdHJpbmdcIl0pXG5cbi8qKlxuICogUmV0dXJucyB0aGUgY2Fub25pY2FsIHNlbWFudGljIHNjYWxhciB0eXBlIHJlZmVyZW5jZS5cbiAqIEBwYXJhbSB7aW1wb3J0KFwiLi90eXBlcy5qc1wiKS5TZW1hbnRpY1R5cGVOYW1lfSBuYW1lIC0gU2VtYW50aWMgc2NhbGFyIG5hbWUuXG4gKiBAcmV0dXJucyB7aW1wb3J0KFwiLi90eXBlcy5qc1wiKS5UeXBlUmVmZXJlbmNlfSBTY2FsYXIgdHlwZSByZWZlcmVuY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzY2FsYXJUeXBlKG5hbWUpIHtcbiAgcmV0dXJuIHtraW5kOiAvKiogQHR5cGUge2NvbnN0fSAqLyAoXCJUeXBlUmVmZXJlbmNlXCIpLCBuYW1lfVxufVxuXG4vKipcbiAqIENoZWNrcyBhbiBvcGFxdWUgc2NhbGFyIHR5cGUgbmFtZSB3aXRob3V0IGNvZXJjaW9uLlxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBDYW5kaWRhdGUgc2VtYW50aWMgdHlwZSBuYW1lLlxuICogQHJldHVybnMge25hbWUgaXMgaW1wb3J0KFwiLi90eXBlcy5qc1wiKS5TZW1hbnRpY1R5cGVOYW1lfSBXaGV0aGVyIHRoZSBuYW1lIGlzIHN1cHBvcnRlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzU2NhbGFyVHlwZU5hbWUobmFtZSkge1xuICByZXR1cm4gc2NhbGFyVHlwZU5hbWVzLnNvbWUoKGNhbmRpZGF0ZSkgPT4gY2FuZGlkYXRlID09IG5hbWUpXG59XG5cbi8qKlxuICogQ2hlY2tzIHRoYXQgYSBKYXZhU2NyaXB0IHN0cmluZyBjb250YWlucyBvbmx5IGNvbXBsZXRlIFVuaWNvZGUgc2NhbGFyIHZhbHVlcy5cbiAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZSAtIENhbmRpZGF0ZSBVbmljb2RlIHN0cmluZy5cbiAqIEByZXR1cm5zIHtib29sZWFufSBXaGV0aGVyIHRoZSBzdHJpbmcgZXhjbHVkZXMgbG9uZSBVVEYtMTYgc3Vycm9nYXRlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc09ubHlVbmljb2RlU2NhbGFycyh2YWx1ZSkge1xuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgdmFsdWUubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgY29uc3QgY29kZVVuaXQgPSB2YWx1ZS5jaGFyQ29kZUF0KGluZGV4KVxuXG4gICAgaWYgKGNvZGVVbml0ID49IDB4RDgwMCAmJiBjb2RlVW5pdCA8PSAweERCRkYpIHtcbiAgICAgIGNvbnN0IHRyYWlsaW5nID0gdmFsdWUuY2hhckNvZGVBdChpbmRleCArIDEpXG5cbiAgICAgIGlmICghTnVtYmVyLmlzSW50ZWdlcih0cmFpbGluZykgfHwgdHJhaWxpbmcgPCAweERDMDAgfHwgdHJhaWxpbmcgPiAweERGRkYpIHJldHVybiBmYWxzZVxuICAgICAgaW5kZXgrK1xuICAgIH0gZWxzZSBpZiAoY29kZVVuaXQgPj0gMHhEQzAwICYmIGNvZGVVbml0IDw9IDB4REZGRikge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cbiJdfQ==
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NhbGFycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZW1hbnRpYy9zY2FsYXJzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWiwrREFBK0Q7QUFDL0QsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQTtBQUV2RTs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBQyxJQUFJO0lBQzdCLE9BQU8sRUFBQyxJQUFJLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxlQUFlLENBQUMsRUFBRSxJQUFJLEVBQUMsQ0FBQTtBQUM3RCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxJQUFJO0lBQ25DLE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxDQUFBO0FBQy9ELENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHdCQUF3QixDQUFDLElBQUk7SUFDM0MsT0FBTyxJQUFJLElBQUksTUFBTSxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFBO0FBQ2pELENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsUUFBUTtJQUN0QixPQUFPLEVBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFDLENBQUE7QUFDOUMsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUscUJBQXFCLENBQUMsS0FBSztJQUN6QyxLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO1FBQ2xELE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUE7UUFFeEMsSUFBSSxRQUFRLElBQUksTUFBTSxJQUFJLFFBQVEsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUM3QyxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQTtZQUU1QyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLEdBQUcsTUFBTSxJQUFJLFFBQVEsR0FBRyxNQUFNO2dCQUFFLE9BQU8sS0FBSyxDQUFBO1lBQ3ZGLEtBQUssRUFBRSxDQUFBO1FBQ1QsQ0FBQzthQUFNLElBQUksUUFBUSxJQUFJLE1BQU0sSUFBSSxRQUFRLElBQUksTUFBTSxFQUFFLENBQUM7WUFDcEQsT0FBTyxLQUFLLENBQUE7UUFDZCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFBO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG4vKiogQHR5cGUge3JlYWRvbmx5IGltcG9ydChcIi4vdHlwZXMuanNcIikuU2VtYW50aWNUeXBlTmFtZVtdfSAqL1xuY29uc3Qgc2NhbGFyVHlwZU5hbWVzID0gT2JqZWN0LmZyZWV6ZShbXCJpbnRlZ2VyXCIsIFwiYm9vbGVhblwiLCBcInN0cmluZ1wiXSlcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBjYW5vbmljYWwgc2VtYW50aWMgc2NhbGFyIHR5cGUgcmVmZXJlbmNlLlxuICogQHBhcmFtIHtpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLlNlbWFudGljVHlwZU5hbWV9IG5hbWUgLSBTZW1hbnRpYyBzY2FsYXIgbmFtZS5cbiAqIEByZXR1cm5zIHtpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLlR5cGVSZWZlcmVuY2V9IFNjYWxhciB0eXBlIHJlZmVyZW5jZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNjYWxhclR5cGUobmFtZSkge1xuICByZXR1cm4ge2tpbmQ6IC8qKiBAdHlwZSB7Y29uc3R9ICovIChcIlR5cGVSZWZlcmVuY2VcIiksIG5hbWV9XG59XG5cbi8qKlxuICogQ2hlY2tzIGFuIG9wYXF1ZSBzY2FsYXIgdHlwZSBuYW1lIHdpdGhvdXQgY29lcmNpb24uXG4gKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIENhbmRpZGF0ZSBzZW1hbnRpYyB0eXBlIG5hbWUuXG4gKiBAcmV0dXJucyB7bmFtZSBpcyBpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLlNlbWFudGljVHlwZU5hbWV9IFdoZXRoZXIgdGhlIG5hbWUgaXMgc3VwcG9ydGVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNTY2FsYXJUeXBlTmFtZShuYW1lKSB7XG4gIHJldHVybiBzY2FsYXJUeXBlTmFtZXMuc29tZSgoY2FuZGlkYXRlKSA9PiBjYW5kaWRhdGUgPT0gbmFtZSlcbn1cblxuLyoqXG4gKiBDaGVja3MgYSBmdW5jdGlvbiByZXR1cm4gdHlwZSBuYW1lLCBpbmNsdWRpbmcgdGhlIG5vbi12YWx1ZSBgdm9pZGAgcmVzdWx0LlxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBDYW5kaWRhdGUgc2VtYW50aWMgcmV0dXJuIHR5cGUgbmFtZS5cbiAqIEByZXR1cm5zIHtuYW1lIGlzIGltcG9ydChcIi4vdHlwZXMuanNcIikuRnVuY3Rpb25SZXR1cm5UeXBlTmFtZX0gV2hldGhlciB0aGUgbmFtZSBpcyBzdXBwb3J0ZWQgZm9yIGEgZnVuY3Rpb24gcmV0dXJuLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNGdW5jdGlvblJldHVyblR5cGVOYW1lKG5hbWUpIHtcbiAgcmV0dXJuIG5hbWUgPT0gXCJ2b2lkXCIgfHwgaXNTY2FsYXJUeXBlTmFtZShuYW1lKVxufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIGNhbm9uaWNhbCBzZW1hbnRpYyB2b2lkIHJldHVybiB0eXBlIHJlZmVyZW5jZS5cbiAqIEByZXR1cm5zIHtpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkZ1bmN0aW9uUmV0dXJuVHlwZVJlZmVyZW5jZX0gVm9pZCByZXR1cm4gdHlwZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZvaWRUeXBlKCkge1xuICByZXR1cm4ge2tpbmQ6IFwiVHlwZVJlZmVyZW5jZVwiLCBuYW1lOiBcInZvaWRcIn1cbn1cblxuLyoqXG4gKiBDaGVja3MgdGhhdCBhIEphdmFTY3JpcHQgc3RyaW5nIGNvbnRhaW5zIG9ubHkgY29tcGxldGUgVW5pY29kZSBzY2FsYXIgdmFsdWVzLlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlIC0gQ2FuZGlkYXRlIFVuaWNvZGUgc3RyaW5nLlxuICogQHJldHVybnMge2Jvb2xlYW59IFdoZXRoZXIgdGhlIHN0cmluZyBleGNsdWRlcyBsb25lIFVURi0xNiBzdXJyb2dhdGVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaGFzT25seVVuaWNvZGVTY2FsYXJzKHZhbHVlKSB7XG4gIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCB2YWx1ZS5sZW5ndGg7IGluZGV4KyspIHtcbiAgICBjb25zdCBjb2RlVW5pdCA9IHZhbHVlLmNoYXJDb2RlQXQoaW5kZXgpXG5cbiAgICBpZiAoY29kZVVuaXQgPj0gMHhEODAwICYmIGNvZGVVbml0IDw9IDB4REJGRikge1xuICAgICAgY29uc3QgdHJhaWxpbmcgPSB2YWx1ZS5jaGFyQ29kZUF0KGluZGV4ICsgMSlcblxuICAgICAgaWYgKCFOdW1iZXIuaXNJbnRlZ2VyKHRyYWlsaW5nKSB8fCB0cmFpbGluZyA8IDB4REMwMCB8fCB0cmFpbGluZyA+IDB4REZGRikgcmV0dXJuIGZhbHNlXG4gICAgICBpbmRleCsrXG4gICAgfSBlbHNlIGlmIChjb2RlVW5pdCA+PSAweERDMDAgJiYgY29kZVVuaXQgPD0gMHhERkZGKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuIl19
@@ -0,0 +1,254 @@
1
+ export type VersionTuple = [number, number, number];
2
+ export type VersionRange = {
3
+ lower: VersionTuple;
4
+ upper: VersionTuple | null;
5
+ };
6
+ export type CanonicalDeclarationReference = {
7
+ module: string;
8
+ name: string;
9
+ };
10
+ export type StdlibContractOperation = {
11
+ /**
12
+ * - Canonical operation dependencies.
13
+ */
14
+ dependencies: {
15
+ module: string;
16
+ operation: string;
17
+ range: VersionRange;
18
+ }[];
19
+ /**
20
+ * - Closed effect declaration.
21
+ */
22
+ effects: ["host"];
23
+ /**
24
+ * - Canonical argument evaluation order.
25
+ */
26
+ evaluationOrder: "left-to-right";
27
+ /**
28
+ * - Declared failure names.
29
+ */
30
+ failures: (string | CanonicalDeclarationReference)[];
31
+ /**
32
+ * - Operation name.
33
+ */
34
+ name: string;
35
+ /**
36
+ * - Ordered parameters.
37
+ */
38
+ parameters: {
39
+ name: string;
40
+ type: string | CanonicalDeclarationReference;
41
+ }[];
42
+ /**
43
+ * - Closed resource transition.
44
+ */
45
+ resourceFlow: object;
46
+ /**
47
+ * - Closed return type spelling.
48
+ */
49
+ returnType: string | CanonicalDeclarationReference;
50
+ /**
51
+ * - Closed canonical semantics fields.
52
+ */
53
+ semantics: Record<string, string>;
54
+ };
55
+ export type StdlibContractModule = {
56
+ /**
57
+ * - Versioned declaration dependencies.
58
+ */
59
+ dependencies: {
60
+ module: string;
61
+ range: VersionRange;
62
+ }[];
63
+ /**
64
+ * - Ordered failure declarations.
65
+ */
66
+ failures: {
67
+ name: string;
68
+ }[];
69
+ /**
70
+ * - Canonical module identity.
71
+ */
72
+ identity: string;
73
+ /**
74
+ * - Ordered operation declarations.
75
+ */
76
+ operations: StdlibContractOperation[];
77
+ /**
78
+ * - Ordered resource declarations.
79
+ */
80
+ resources: {
81
+ name: string;
82
+ }[];
83
+ /**
84
+ * - Exact registered version.
85
+ */
86
+ version: string;
87
+ };
88
+ export type StdlibContract = {
89
+ /**
90
+ * - Versioned declaration dependencies.
91
+ */
92
+ dependencies: {
93
+ module: string;
94
+ range: VersionRange;
95
+ }[];
96
+ /**
97
+ * - Ordered failure declarations.
98
+ */
99
+ failures: {
100
+ name: string;
101
+ }[];
102
+ /**
103
+ * - Canonical module identity.
104
+ */
105
+ identity: string;
106
+ /**
107
+ * - Ordered operation declarations.
108
+ */
109
+ operations: StdlibContractOperation[];
110
+ /**
111
+ * - Ordered resource declarations.
112
+ */
113
+ resources: {
114
+ name: string;
115
+ }[];
116
+ /**
117
+ * - Contract schema discriminator.
118
+ */
119
+ schema: "SemantifoldStdlibContract";
120
+ /**
121
+ * - Contract schema version.
122
+ */
123
+ schemaVersion: 1;
124
+ /**
125
+ * - Resolved exact version.
126
+ */
127
+ version: string;
128
+ };
129
+ export type StdlibContractRegistry = {
130
+ /**
131
+ * - Registered modules in stable order.
132
+ */
133
+ modules: {
134
+ identity: string;
135
+ versions: string[];
136
+ }[];
137
+ /**
138
+ * - Versioned module resolution.
139
+ */
140
+ resolveModule: (identity: string, range?: string) => StdlibContract;
141
+ };
142
+ /** @typedef {[number, number, number]} VersionTuple */
143
+ /** @typedef {{lower: VersionTuple, upper: VersionTuple | null}} VersionRange */
144
+ /** @typedef {{module: string, name: string}} CanonicalDeclarationReference */
145
+ /**
146
+ * @typedef StdlibContractOperation
147
+ * @property {{module: string, operation: string, range: VersionRange}[]} dependencies - Canonical operation dependencies.
148
+ * @property {["host"]} effects - Closed effect declaration.
149
+ * @property {"left-to-right"} evaluationOrder - Canonical argument evaluation order.
150
+ * @property {(string | CanonicalDeclarationReference)[]} failures - Declared failure names.
151
+ * @property {string} name - Operation name.
152
+ * @property {{name: string, type: string | CanonicalDeclarationReference}[]} parameters - Ordered parameters.
153
+ * @property {object} resourceFlow - Closed resource transition.
154
+ * @property {string | CanonicalDeclarationReference} returnType - Closed return type spelling.
155
+ * @property {Record<string, string>} semantics - Closed canonical semantics fields.
156
+ */
157
+ /**
158
+ * @typedef StdlibContractModule
159
+ * @property {{module: string, range: VersionRange}[]} dependencies - Versioned declaration dependencies.
160
+ * @property {{name: string}[]} failures - Ordered failure declarations.
161
+ * @property {string} identity - Canonical module identity.
162
+ * @property {StdlibContractOperation[]} operations - Ordered operation declarations.
163
+ * @property {{name: string}[]} resources - Ordered resource declarations.
164
+ * @property {string} version - Exact registered version.
165
+ */
166
+ /**
167
+ * @typedef StdlibContract
168
+ * @property {{module: string, range: VersionRange}[]} dependencies - Versioned declaration dependencies.
169
+ * @property {{name: string}[]} failures - Ordered failure declarations.
170
+ * @property {string} identity - Canonical module identity.
171
+ * @property {StdlibContractOperation[]} operations - Ordered operation declarations.
172
+ * @property {{name: string}[]} resources - Ordered resource declarations.
173
+ * @property {"SemantifoldStdlibContract"} schema - Contract schema discriminator.
174
+ * @property {1} schemaVersion - Contract schema version.
175
+ * @property {string} version - Resolved exact version.
176
+ */
177
+ /**
178
+ * @typedef StdlibContractRegistry
179
+ * @property {{identity: string, versions: string[]}[]} modules - Registered modules in stable order.
180
+ * @property {(identity: string, range?: string) => StdlibContract} resolveModule - Versioned module resolution.
181
+ */
182
+ /**
183
+ * Parses one exact X.Y.Z standard-library version.
184
+ * @param {unknown} value - Candidate version.
185
+ * @returns {VersionTuple | null} Parsed version or null when malformed.
186
+ */
187
+ export declare function parseStdlibVersion(value: unknown): VersionTuple | null;
188
+ /**
189
+ * Parses one X, X.Y, or X.Y.Z standard-library version range.
190
+ * @param {unknown} value - Candidate range.
191
+ * @returns {VersionRange | null} Half-open range or null when malformed.
192
+ */
193
+ export declare function parseStdlibVersionRange(value: unknown): VersionRange | null;
194
+ /**
195
+ * Compares two exact version tuples.
196
+ * @param {VersionTuple} left - Left version.
197
+ * @param {VersionTuple} right - Right version.
198
+ * @returns {number} Negative, zero, or positive ordering.
199
+ */
200
+ export declare function compareStdlibVersions(left: VersionTuple, right: VersionTuple): number;
201
+ /**
202
+ * Derives one protected native provider entry name.
203
+ * @param {string} target - Adopted provider target language.
204
+ * @param {string} module - Legacy operation name or canonical module identity.
205
+ * @param {string} [operation] - Qualified canonical operation name.
206
+ * @returns {string} Protected native entry name.
207
+ */
208
+ export declare function protectedEntryName(target: string, module: string, operation?: string): string;
209
+ /**
210
+ * Parses one protected native provider entry name.
211
+ * @param {string} name - Candidate protected entry name.
212
+ * @returns {{target: string, module?: string, operation: string} | null} Parsed binding or null when unparseable.
213
+ */
214
+ export declare function parseProtectedEntryName(name: string): {
215
+ target: string;
216
+ module?: string;
217
+ operation: string;
218
+ } | null;
219
+ /**
220
+ * Intersects two half-open version ranges.
221
+ * @param {VersionRange} left - Left range.
222
+ * @param {VersionRange} right - Right range.
223
+ * @returns {VersionRange | null} Intersection or null when empty.
224
+ */
225
+ export declare function intersectStdlibVersionRanges(left: VersionRange, right: VersionRange): VersionRange | null;
226
+ /**
227
+ * Checks whether one exact version satisfies one half-open range.
228
+ * @param {VersionTuple} version - Candidate version.
229
+ * @param {VersionRange} range - Declared range.
230
+ * @returns {boolean} Whether the version satisfies the range.
231
+ */
232
+ export declare function stdlibVersionSatisfies(version: VersionTuple, range: VersionRange): boolean;
233
+ /**
234
+ * Creates the built-in versioned canonical stdlib contract registry.
235
+ * @param {unknown} records - Optional override record set; built-in probe contract by default.
236
+ * @returns {Readonly<StdlibContractRegistry>} Frozen registry.
237
+ */
238
+ export declare function createStdlibContractRegistry(records?: unknown): Readonly<StdlibContractRegistry>;
239
+ /**
240
+ * Lists the built-in canonical stdlib modules with their registered versions.
241
+ * @returns {Readonly<{identity: string, versions: string[]}[]>} Frozen module list.
242
+ */
243
+ export declare function listStdlibModules(): Readonly<{
244
+ identity: string;
245
+ versions: string[];
246
+ }[]>;
247
+ /**
248
+ * Resolves one built-in canonical stdlib module by identity and optional range.
249
+ * @param {string} identity - Canonical module identity.
250
+ * @param {string} [range] - Declared version range.
251
+ * @returns {StdlibContract} Detached frozen contract.
252
+ */
253
+ export declare function resolveStdlibModule(identity: string, range?: string): StdlibContract;
254
+ //# sourceMappingURL=stdlib.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stdlib.d.ts","sourceRoot":"","sources":["../../../src/semantic/stdlib.js"],"names":[],"mappings":"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"}