semantifold 0.1.1 → 0.3.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 (399) hide show
  1. package/README.md +42 -10
  2. package/build/index.d.ts +32 -3
  3. package/build/index.d.ts.map +1 -1
  4. package/build/index.js +99 -4
  5. package/build/src/acceptance.d.ts +32 -0
  6. package/build/src/acceptance.d.ts.map +1 -0
  7. package/build/src/acceptance.js +358 -0
  8. package/build/src/array.d.ts +7 -0
  9. package/build/src/array.d.ts.map +1 -0
  10. package/build/src/array.js +18 -0
  11. package/build/src/artifact-path.d.ts +13 -0
  12. package/build/src/artifact-path.d.ts.map +1 -0
  13. package/build/src/artifact-path.js +30 -0
  14. package/build/src/artifacts.d.ts +7 -0
  15. package/build/src/artifacts.d.ts.map +1 -0
  16. package/build/src/artifacts.js +389 -0
  17. package/build/src/backends/c-runtime.d.ts +3 -0
  18. package/build/src/backends/c-runtime.d.ts.map +1 -0
  19. package/build/src/backends/c-runtime.js +151 -0
  20. package/build/src/backends/c-validation.d.ts +12 -0
  21. package/build/src/backends/c-validation.d.ts.map +1 -0
  22. package/build/src/backends/c-validation.js +85 -0
  23. package/build/src/backends/c.d.ts +31 -0
  24. package/build/src/backends/c.d.ts.map +1 -0
  25. package/build/src/backends/c.js +308 -0
  26. package/build/src/backends/cpp-runtime.d.ts +3 -0
  27. package/build/src/backends/cpp-runtime.d.ts.map +1 -0
  28. package/build/src/backends/cpp-runtime.js +99 -0
  29. package/build/src/backends/cpp-validation.d.ts +9 -0
  30. package/build/src/backends/cpp-validation.d.ts.map +1 -0
  31. package/build/src/backends/cpp-validation.js +74 -0
  32. package/build/src/backends/cpp.d.ts +16 -0
  33. package/build/src/backends/cpp.d.ts.map +1 -0
  34. package/build/src/backends/cpp.js +285 -0
  35. package/build/src/backends/csharp.d.ts +20 -0
  36. package/build/src/backends/csharp.d.ts.map +1 -0
  37. package/build/src/backends/csharp.js +259 -0
  38. package/build/src/backends/go.d.ts +20 -0
  39. package/build/src/backends/go.d.ts.map +1 -0
  40. package/build/src/backends/go.js +374 -0
  41. package/build/src/backends/identifiers.d.ts +12 -0
  42. package/build/src/backends/identifiers.d.ts.map +1 -1
  43. package/build/src/backends/identifiers.js +79 -2
  44. package/build/src/backends/index.d.ts.map +1 -1
  45. package/build/src/backends/index.js +27 -37
  46. package/build/src/backends/native-validation.d.ts +9 -0
  47. package/build/src/backends/native-validation.d.ts.map +1 -0
  48. package/build/src/backends/native-validation.js +59 -0
  49. package/build/src/backends/ordered-expressions.d.ts +74 -0
  50. package/build/src/backends/ordered-expressions.d.ts.map +1 -0
  51. package/build/src/backends/ordered-expressions.js +159 -0
  52. package/build/src/backends/python.d.ts +8 -0
  53. package/build/src/backends/python.d.ts.map +1 -0
  54. package/build/src/backends/python.js +162 -0
  55. package/build/src/backends/scalars.d.ts.map +1 -1
  56. package/build/src/backends/scalars.js +8 -2
  57. package/build/src/backends/shared.d.ts.map +1 -1
  58. package/build/src/backends/shared.js +67 -19
  59. package/build/src/binary-mapping.d.ts +32 -0
  60. package/build/src/binary-mapping.d.ts.map +1 -0
  61. package/build/src/binary-mapping.js +285 -0
  62. package/build/src/diagnostic.d.ts +36 -4
  63. package/build/src/diagnostic.d.ts.map +1 -1
  64. package/build/src/diagnostic.js +42 -3
  65. package/build/src/frontends/c-parser.d.ts +20 -0
  66. package/build/src/frontends/c-parser.d.ts.map +1 -0
  67. package/build/src/frontends/c-parser.js +14 -0
  68. package/build/src/frontends/c.d.ts +220 -0
  69. package/build/src/frontends/c.d.ts.map +1 -0
  70. package/build/src/frontends/c.js +750 -0
  71. package/build/src/frontends/cpp-parser.d.ts +11 -0
  72. package/build/src/frontends/cpp-parser.d.ts.map +1 -0
  73. package/build/src/frontends/cpp-parser.js +15 -0
  74. package/build/src/frontends/cpp.d.ts +227 -0
  75. package/build/src/frontends/cpp.d.ts.map +1 -0
  76. package/build/src/frontends/cpp.js +784 -0
  77. package/build/src/frontends/csharp.d.ts +14 -0
  78. package/build/src/frontends/csharp.d.ts.map +1 -0
  79. package/build/src/frontends/csharp.js +708 -0
  80. package/build/src/frontends/go.d.ts +15 -0
  81. package/build/src/frontends/go.d.ts.map +1 -0
  82. package/build/src/frontends/go.js +712 -0
  83. package/build/src/frontends/index.d.ts.map +1 -1
  84. package/build/src/frontends/index.js +5 -23
  85. package/build/src/frontends/python.d.ts +14 -0
  86. package/build/src/frontends/python.d.ts.map +1 -0
  87. package/build/src/frontends/python.js +615 -0
  88. package/build/src/frontends/scalars.d.ts.map +1 -1
  89. package/build/src/frontends/scalars.js +21 -1
  90. package/build/src/language-registry.d.ts +113 -0
  91. package/build/src/language-registry.d.ts.map +1 -0
  92. package/build/src/language-registry.js +421 -0
  93. package/build/src/mapping.js +3 -2
  94. package/build/src/semantic/location.d.ts +7 -0
  95. package/build/src/semantic/location.d.ts.map +1 -1
  96. package/build/src/semantic/location.js +10 -1
  97. package/build/src/semantic/provenance.js +3 -3
  98. package/build/src/semantic/types.d.ts +399 -2
  99. package/build/src/semantic/types.d.ts.map +1 -1
  100. package/build/src/semantic/types.js +110 -2
  101. package/build/src/subprocess.d.ts +38 -0
  102. package/build/src/subprocess.d.ts.map +1 -0
  103. package/build/src/subprocess.js +233 -0
  104. package/build/src/timeout.d.ts +8 -0
  105. package/build/src/timeout.d.ts.map +1 -0
  106. package/build/src/timeout.js +11 -0
  107. package/build/src/toolchains.d.ts +107 -0
  108. package/build/src/toolchains.d.ts.map +1 -0
  109. package/build/src/toolchains.js +417 -0
  110. package/docs/architecture.md +23 -5
  111. package/docs/c.md +60 -0
  112. package/docs/cpp.md +61 -0
  113. package/docs/goals.md +4 -2
  114. package/docs/language-support.md +46 -6
  115. package/docs/parser-qualification.md +219 -0
  116. package/docs/plans/2026-09-05-standard-library-portability.md +46 -0
  117. package/docs/source-maps.md +38 -5
  118. package/docs/standard-library-portability.md +190 -0
  119. package/docs/testing.md +131 -3
  120. package/index.js +109 -4
  121. package/node_modules/node-addon-api/LICENSE.md +9 -0
  122. package/node_modules/node-addon-api/README.md +95 -0
  123. package/node_modules/node-addon-api/common.gypi +21 -0
  124. package/node_modules/node-addon-api/except.gypi +25 -0
  125. package/node_modules/node-addon-api/index.js +14 -0
  126. package/node_modules/node-addon-api/napi-inl.deprecated.h +186 -0
  127. package/node_modules/node-addon-api/napi-inl.h +7250 -0
  128. package/node_modules/node-addon-api/napi.h +3463 -0
  129. package/node_modules/node-addon-api/node_addon_api.gyp +42 -0
  130. package/node_modules/node-addon-api/node_api.gyp +9 -0
  131. package/node_modules/node-addon-api/noexcept.gypi +26 -0
  132. package/node_modules/node-addon-api/nothing.c +0 -0
  133. package/node_modules/node-addon-api/package-support.json +21 -0
  134. package/node_modules/node-addon-api/package.json +481 -0
  135. package/node_modules/node-addon-api/tools/README.md +73 -0
  136. package/node_modules/node-addon-api/tools/check-napi.js +99 -0
  137. package/node_modules/node-addon-api/tools/clang-format.js +71 -0
  138. package/node_modules/node-addon-api/tools/conversion.js +301 -0
  139. package/node_modules/node-gyp-build/LICENSE +21 -0
  140. package/node_modules/node-gyp-build/README.md +58 -0
  141. package/node_modules/node-gyp-build/SECURITY.md +5 -0
  142. package/node_modules/node-gyp-build/bin.js +84 -0
  143. package/node_modules/node-gyp-build/build-test.js +19 -0
  144. package/node_modules/node-gyp-build/index.js +6 -0
  145. package/node_modules/node-gyp-build/node-gyp-build.js +207 -0
  146. package/node_modules/node-gyp-build/optional.js +7 -0
  147. package/node_modules/node-gyp-build/package.json +43 -0
  148. package/node_modules/semantifold-tree-sitter-legacy-internal/LICENSE +15 -0
  149. package/node_modules/semantifold-tree-sitter-legacy-internal/README.md +7 -0
  150. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/LICENSE +21 -0
  151. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/README.md +90 -0
  152. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/binding.gyp +79 -0
  153. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/index.js +895 -0
  154. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/package.json +62 -0
  155. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/prebuilds/darwin-arm64/tree-sitter.node +0 -0
  156. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/prebuilds/darwin-x64/tree-sitter.node +0 -0
  157. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/prebuilds/linux-x64/tree-sitter.node +0 -0
  158. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/prebuilds/win32-x64/tree-sitter.node +0 -0
  159. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/addon_data.h +47 -0
  160. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/binding.cc +35 -0
  161. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/conversions.cc +140 -0
  162. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/conversions.h +22 -0
  163. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/language.cc +106 -0
  164. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/language.h +17 -0
  165. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/logger.cc +70 -0
  166. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/logger.h +19 -0
  167. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/lookaheaditerator.cc +122 -0
  168. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/lookaheaditerator.h +33 -0
  169. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/node.cc +1056 -0
  170. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/node.h +30 -0
  171. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/parser.cc +298 -0
  172. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/parser.h +35 -0
  173. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/query.cc +383 -0
  174. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/query.h +39 -0
  175. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/tree.cc +307 -0
  176. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/tree.h +45 -0
  177. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/tree_cursor.cc +213 -0
  178. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/tree_cursor.h +52 -0
  179. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/tree-sitter.d.ts +211 -0
  180. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/include/tree_sitter/api.h +1266 -0
  181. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/alloc.c +48 -0
  182. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/alloc.h +41 -0
  183. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/array.h +290 -0
  184. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/atomic.h +68 -0
  185. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/clock.h +146 -0
  186. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/error_costs.h +11 -0
  187. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/get_changed_ranges.c +501 -0
  188. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/get_changed_ranges.h +36 -0
  189. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/host.h +21 -0
  190. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/language.c +221 -0
  191. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/language.h +299 -0
  192. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/length.h +52 -0
  193. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lexer.c +419 -0
  194. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lexer.h +49 -0
  195. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lib.c +14 -0
  196. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/node.c +774 -0
  197. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/parser.c +2151 -0
  198. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/parser.h +230 -0
  199. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/point.h +62 -0
  200. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/query.c +4134 -0
  201. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/reduce_action.h +34 -0
  202. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/reusable_node.h +95 -0
  203. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/stack.c +899 -0
  204. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/stack.h +133 -0
  205. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/subtree.c +1060 -0
  206. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/subtree.h +382 -0
  207. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree.c +165 -0
  208. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree.h +31 -0
  209. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree_cursor.c +714 -0
  210. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree_cursor.h +48 -0
  211. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/ICU_SHA +1 -0
  212. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/LICENSE +414 -0
  213. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/README.md +29 -0
  214. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/ptypes.h +1 -0
  215. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/umachine.h +448 -0
  216. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/urename.h +1 -0
  217. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf.h +1 -0
  218. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf16.h +733 -0
  219. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf8.h +881 -0
  220. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode.h +50 -0
  221. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/stdlib-symbols.txt +23 -0
  222. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/stdlib.c +109 -0
  223. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/wasm-stdlib.h +1294 -0
  224. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm_store.c +1823 -0
  225. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm_store.h +31 -0
  226. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/LICENSE +21 -0
  227. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/README.md +18 -0
  228. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/binding.gyp +29 -0
  229. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/bindings/node/binding.cc +20 -0
  230. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/bindings/node/binding_test.js +9 -0
  231. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/bindings/node/index.d.ts +28 -0
  232. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/bindings/node/index.js +11 -0
  233. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/grammar.js +1470 -0
  234. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/package.json +60 -0
  235. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/prebuilds/darwin-arm64/tree-sitter-c.node +0 -0
  236. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/prebuilds/darwin-x64/tree-sitter-c.node +0 -0
  237. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/prebuilds/linux-arm64/tree-sitter-c.node +0 -0
  238. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/prebuilds/linux-x64/tree-sitter-c.node +0 -0
  239. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/prebuilds/win32-arm64/tree-sitter-c.node +0 -0
  240. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/prebuilds/win32-x64/tree-sitter-c.node +0 -0
  241. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/queries/highlights.scm +81 -0
  242. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/queries/tags.scm +9 -0
  243. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/src/grammar.json +9735 -0
  244. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/src/node-types.json +4614 -0
  245. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/src/parser.c +119615 -0
  246. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/src/tree_sitter/alloc.h +54 -0
  247. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/src/tree_sitter/array.h +290 -0
  248. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/src/tree_sitter/parser.h +266 -0
  249. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/tree-sitter-c.wasm +0 -0
  250. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/tree-sitter.json +43 -0
  251. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/LICENSE +21 -0
  252. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/README.md +22 -0
  253. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/binding.gyp +30 -0
  254. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/bindings/node/binding.cc +20 -0
  255. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/bindings/node/binding_test.js +9 -0
  256. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/bindings/node/index.d.ts +28 -0
  257. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/bindings/node/index.js +11 -0
  258. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/grammar.js +1436 -0
  259. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/package.json +61 -0
  260. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/prebuilds/darwin-arm64/tree-sitter-cpp.node +0 -0
  261. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/prebuilds/darwin-x64/tree-sitter-cpp.node +0 -0
  262. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/prebuilds/linux-arm64/tree-sitter-cpp.node +0 -0
  263. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/prebuilds/linux-x64/tree-sitter-cpp.node +0 -0
  264. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/prebuilds/win32-arm64/tree-sitter-cpp.node +0 -0
  265. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/prebuilds/win32-x64/tree-sitter-cpp.node +0 -0
  266. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/queries/highlights.scm +70 -0
  267. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/queries/injections.scm +3 -0
  268. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/queries/tags.scm +15 -0
  269. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/src/grammar.json +17084 -0
  270. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/src/node-types.json +7997 -0
  271. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/src/parser.c +530368 -0
  272. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/src/scanner.c +148 -0
  273. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/src/tree_sitter/alloc.h +54 -0
  274. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/src/tree_sitter/array.h +290 -0
  275. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/src/tree_sitter/parser.h +266 -0
  276. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/tree-sitter-cpp.wasm +0 -0
  277. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/tree-sitter.json +55 -0
  278. package/node_modules/semantifold-tree-sitter-legacy-internal/package.json +22 -0
  279. package/node_modules/semantifold-tree-sitter-legacy-internal/src/c.js +152 -0
  280. package/node_modules/tree-sitter/LICENSE +21 -0
  281. package/node_modules/tree-sitter/README.md +128 -0
  282. package/node_modules/tree-sitter/binding.gyp +88 -0
  283. package/node_modules/tree-sitter/index.js +950 -0
  284. package/node_modules/tree-sitter/package.json +76 -0
  285. package/node_modules/tree-sitter/prebuilds/darwin-arm64/tree-sitter.node +0 -0
  286. package/node_modules/tree-sitter/prebuilds/darwin-x64/tree-sitter.node +0 -0
  287. package/node_modules/tree-sitter/prebuilds/linux-arm64/tree-sitter.node +0 -0
  288. package/node_modules/tree-sitter/prebuilds/linux-x64/tree-sitter.node +0 -0
  289. package/node_modules/tree-sitter/prebuilds/win32-arm64/tree-sitter.node +0 -0
  290. package/node_modules/tree-sitter/prebuilds/win32-x64/tree-sitter.node +0 -0
  291. package/node_modules/tree-sitter/src/addon_data.h +47 -0
  292. package/node_modules/tree-sitter/src/binding.cc +35 -0
  293. package/node_modules/tree-sitter/src/conversions.cc +140 -0
  294. package/node_modules/tree-sitter/src/conversions.h +22 -0
  295. package/node_modules/tree-sitter/src/language.cc +105 -0
  296. package/node_modules/tree-sitter/src/language.h +17 -0
  297. package/node_modules/tree-sitter/src/logger.cc +70 -0
  298. package/node_modules/tree-sitter/src/logger.h +19 -0
  299. package/node_modules/tree-sitter/src/lookaheaditerator.cc +122 -0
  300. package/node_modules/tree-sitter/src/lookaheaditerator.h +33 -0
  301. package/node_modules/tree-sitter/src/node.cc +1088 -0
  302. package/node_modules/tree-sitter/src/node.h +30 -0
  303. package/node_modules/tree-sitter/src/parser.cc +332 -0
  304. package/node_modules/tree-sitter/src/parser.h +35 -0
  305. package/node_modules/tree-sitter/src/query.cc +425 -0
  306. package/node_modules/tree-sitter/src/query.h +40 -0
  307. package/node_modules/tree-sitter/src/tree.cc +316 -0
  308. package/node_modules/tree-sitter/src/tree.h +45 -0
  309. package/node_modules/tree-sitter/src/tree_cursor.cc +213 -0
  310. package/node_modules/tree-sitter/src/tree_cursor.h +52 -0
  311. package/node_modules/tree-sitter/tree-sitter.d.ts +1083 -0
  312. package/node_modules/tree-sitter/vendor/tree-sitter/lib/include/tree_sitter/api.h +1478 -0
  313. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/alloc.c +48 -0
  314. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/alloc.h +41 -0
  315. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/array.h +291 -0
  316. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/atomic.h +68 -0
  317. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/clock.h +146 -0
  318. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/error_costs.h +11 -0
  319. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/get_changed_ranges.c +523 -0
  320. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/get_changed_ranges.h +36 -0
  321. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/host.h +21 -0
  322. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/language.c +293 -0
  323. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/language.h +293 -0
  324. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/length.h +52 -0
  325. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lexer.c +483 -0
  326. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lexer.h +54 -0
  327. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lib.c +12 -0
  328. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/node.c +875 -0
  329. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/parser.c +2297 -0
  330. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/parser.h +286 -0
  331. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/point.h +48 -0
  332. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/portable/endian.h +241 -0
  333. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/query.c +4347 -0
  334. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/reduce_action.h +34 -0
  335. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/reusable_node.h +95 -0
  336. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/stack.c +912 -0
  337. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/stack.h +133 -0
  338. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/subtree.c +1034 -0
  339. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/subtree.h +399 -0
  340. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree.c +170 -0
  341. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree.h +31 -0
  342. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree_cursor.c +716 -0
  343. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree_cursor.h +48 -0
  344. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/ts_assert.h +11 -0
  345. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/ICU_SHA +1 -0
  346. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/LICENSE +414 -0
  347. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/README.md +29 -0
  348. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/ptypes.h +1 -0
  349. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/umachine.h +448 -0
  350. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/urename.h +1 -0
  351. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf.h +1 -0
  352. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf16.h +733 -0
  353. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf8.h +881 -0
  354. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode.h +75 -0
  355. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/stdlib-symbols.txt +24 -0
  356. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/stdlib.c +137 -0
  357. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/wasm-stdlib.h +1314 -0
  358. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm_store.c +1937 -0
  359. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm_store.h +31 -0
  360. package/package.json +24 -6
  361. package/src/acceptance.js +380 -0
  362. package/src/array.js +19 -0
  363. package/src/artifact-path.js +34 -0
  364. package/src/artifacts.js +420 -0
  365. package/src/backends/c-runtime.js +151 -0
  366. package/src/backends/c-validation.js +83 -0
  367. package/src/backends/c.js +308 -0
  368. package/src/backends/cpp-runtime.js +99 -0
  369. package/src/backends/cpp-validation.js +70 -0
  370. package/src/backends/cpp.js +285 -0
  371. package/src/backends/csharp.js +270 -0
  372. package/src/backends/go.js +383 -0
  373. package/src/backends/identifiers.js +80 -1
  374. package/src/backends/index.js +23 -32
  375. package/src/backends/native-validation.js +64 -0
  376. package/src/backends/ordered-expressions.js +161 -0
  377. package/src/backends/python.js +175 -0
  378. package/src/backends/scalars.js +8 -1
  379. package/src/backends/shared.js +64 -17
  380. package/src/binary-mapping.js +305 -0
  381. package/src/diagnostic.js +34 -2
  382. package/src/frontends/c-parser.js +17 -0
  383. package/src/frontends/c.js +780 -0
  384. package/src/frontends/cpp-parser.js +18 -0
  385. package/src/frontends/cpp.js +816 -0
  386. package/src/frontends/csharp.js +759 -0
  387. package/src/frontends/go.js +770 -0
  388. package/src/frontends/index.js +5 -20
  389. package/src/frontends/python.js +689 -0
  390. package/src/frontends/scalars.js +20 -0
  391. package/src/language-registry.js +454 -0
  392. package/src/mapping.js +2 -1
  393. package/src/semantic/location.js +10 -0
  394. package/src/semantic/provenance.js +2 -2
  395. package/src/semantic/types.js +124 -1
  396. package/src/subprocess.js +232 -0
  397. package/src/timeout.js +12 -0
  398. package/src/toolchains.js +448 -0
  399. package/tsconfig.json +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"scalars.d.ts","sourceRoot":"","sources":["../../../src/frontends/scalars.js"],"names":[],"mappings":"AA6CA;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAL9B,OAAO,sBAAsB,EAAE,gBAKD,EAAE,UAAU,EAJ1C,MAI0C,EAAE,QAAQ,AAH5D,CACA,EADQ,OAAO,sBAAsB,EAAE,cAGqB,GAFlD,OAAO,sBAAsB,EAAE,aAAa,GAAG,SAAS,CASpE;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAPrC,OAAO,sBAAsB,EAAE,gBAOM,EAAE,UAAU,EANjD,MAAM,GAAG,SAMwC,EAAE,OAAO,EAL1D,MAK0D,EAAE,QAAQ,EAJpE,OAAO,sBAAsB,EAAE,cAIqC,EAAE,YAAY,AAH1F,CACA,EADQ,OAAO,sBAAsB,EAAE,cAG8D,GAF3F,OAAO,sBAAsB,EAAE,aAAa,CAQxD"}
1
+ {"version":3,"file":"scalars.d.ts","sourceRoot":"","sources":["../../../src/frontends/scalars.js"],"names":[],"mappings":"AAiEA;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAL9B,OAAO,sBAAsB,EAAE,gBAKD,EAAE,UAAU,EAJ1C,MAI0C,EAAE,QAAQ,AAH5D,CACA,EADQ,OAAO,sBAAsB,EAAE,cAGqB,GAFlD,OAAO,sBAAsB,EAAE,aAAa,GAAG,SAAS,CASpE;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAPrC,OAAO,sBAAsB,EAAE,gBAOM,EAAE,UAAU,EANjD,MAAM,GAAG,SAMwC,EAAE,OAAO,EAL1D,MAK0D,EAAE,QAAQ,EAJpE,OAAO,sBAAsB,EAAE,cAIqC,EAAE,YAAY,AAH1F,CACA,EADQ,OAAO,sBAAsB,EAAE,cAG8D,GAF3F,OAAO,sBAAsB,EAAE,aAAa,CAQxD"}
@@ -12,6 +12,21 @@ function sourceTypeMap(entries) {
12
12
  }
13
13
  /** @type {Readonly<Record<import("../semantic/types.js").SemanticLanguage, Map<string, import("../semantic/types.js").SemanticTypeName>>>} */
14
14
  const sourceScalarTypes = Object.freeze({
15
+ cpp: sourceTypeMap([["std::int64_t", "integer"], ["bool", "boolean"], ["std::string", "string"]]),
16
+ c: sourceTypeMap([["int64_t", "integer"], ["bool", "boolean"], ["SemantifoldString", "string"]]),
17
+ csharp: sourceTypeMap([
18
+ ["long", "integer"],
19
+ ["System.Int64", "integer"],
20
+ ["bool", "boolean"],
21
+ ["System.Boolean", "boolean"],
22
+ ["string", "string"],
23
+ ["System.String", "string"]
24
+ ]),
25
+ go: sourceTypeMap([
26
+ ["int64", "integer"],
27
+ ["bool", "boolean"],
28
+ ["string", "string"]
29
+ ]),
15
30
  java: sourceTypeMap([
16
31
  ["int", "integer"],
17
32
  ["boolean", "boolean"],
@@ -28,6 +43,11 @@ const sourceScalarTypes = Object.freeze({
28
43
  ["bool", "boolean"],
29
44
  ["string", "string"]
30
45
  ]),
46
+ python: sourceTypeMap([
47
+ ["int", "integer"],
48
+ ["bool", "boolean"],
49
+ ["str", "string"]
50
+ ]),
31
51
  ruby: sourceTypeMap([
32
52
  ["[Integer]", "integer"],
33
53
  ["[bool]", "boolean"],
@@ -68,4 +88,4 @@ export function requireSourceScalarType(language, sourceType, subject, location,
68
88
  return missingType(language, subject, location);
69
89
  return type;
70
90
  }
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NhbGFycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mcm9udGVuZHMvc2NhbGFycy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGtCQUFrQixDQUFBO0FBQzVDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQTtBQUN6RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sd0JBQXdCLENBQUE7QUFFakQ7Ozs7R0FJRztBQUNILFNBQVMsYUFBYSxDQUFDLE9BQU87SUFDNUIsT0FBTyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQTtBQUN6QixDQUFDO0FBRUQsOElBQThJO0FBQzlJLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUN0QyxJQUFJLEVBQUUsYUFBYSxDQUFDO1FBQ2xCLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQztRQUNsQixDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7UUFDdEIsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDO1FBQ3BCLENBQUMsa0JBQWtCLEVBQUUsUUFBUSxDQUFDO0tBQy9CLENBQUM7SUFDRixVQUFVLEVBQUUsYUFBYSxDQUFDO1FBQ3hCLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQztRQUNyQixDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7UUFDdEIsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDO0tBQ3JCLENBQUM7SUFDRixHQUFHLEVBQUUsYUFBYSxDQUFDO1FBQ2pCLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQztRQUNsQixDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUM7UUFDbkIsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDO0tBQ3JCLENBQUM7SUFDRixJQUFJLEVBQUUsYUFBYSxDQUFDO1FBQ2xCLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQztRQUN4QixDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUM7UUFDckIsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDO0tBQ3ZCLENBQUM7SUFDRixVQUFVLEVBQUUsYUFBYSxDQUFDO1FBQ3hCLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQztRQUNyQixDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7UUFDdEIsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDO0tBQ3JCLENBQUM7Q0FDSCxDQUFDLENBQUE7QUFFRjs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxRQUFRO0lBQzdELE1BQU0sSUFBSSxHQUFHLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUN4RCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFBO0lBRWhELElBQUksSUFBSSxJQUFJLFFBQVE7UUFBRSxlQUFlLENBQUMsSUFBSSxFQUFFLEVBQUMsSUFBSSxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUE7SUFFN0QsT0FBTyxJQUFJLENBQUE7QUFDYixDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksR0FBRyxRQUFRO0lBQ3RHLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFBO0lBRTFGLElBQUksQ0FBQyxJQUFJO1FBQUUsT0FBTyxXQUFXLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUUxRCxPQUFPLElBQUksQ0FBQTtBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IHttaXNzaW5nVHlwZX0gZnJvbSBcIi4uL2RpYWdub3N0aWMuanNcIlxuaW1wb3J0IHtzZXRQYXJzZXJSYW5nZXN9IGZyb20gXCIuLi9zZW1hbnRpYy9wcm92ZW5hbmNlLmpzXCJcbmltcG9ydCB7c2NhbGFyVHlwZX0gZnJvbSBcIi4uL3NlbWFudGljL3NjYWxhcnMuanNcIlxuXG4vKipcbiAqIEJ1aWxkcyBhIHNvdXJjZS1zcGVsbGluZyBtYXAgd2l0aCBleGFjdCBzZW1hbnRpYyBzY2FsYXIgdmFsdWVzLlxuICogQHBhcmFtIHtyZWFkb25seSAocmVhZG9ubHkgW3N0cmluZywgaW1wb3J0KFwiLi4vc2VtYW50aWMvdHlwZXMuanNcIikuU2VtYW50aWNUeXBlTmFtZV0pW119IGVudHJpZXMgLSBTb3VyY2UgbWFwcGluZ3MuXG4gKiBAcmV0dXJucyB7TWFwPHN0cmluZywgaW1wb3J0KFwiLi4vc2VtYW50aWMvdHlwZXMuanNcIikuU2VtYW50aWNUeXBlTmFtZT59IFNvdXJjZSB0eXBlIG1hcC5cbiAqL1xuZnVuY3Rpb24gc291cmNlVHlwZU1hcChlbnRyaWVzKSB7XG4gIHJldHVybiBuZXcgTWFwKGVudHJpZXMpXG59XG5cbi8qKiBAdHlwZSB7UmVhZG9ubHk8UmVjb3JkPGltcG9ydChcIi4uL3NlbWFudGljL3R5cGVzLmpzXCIpLlNlbWFudGljTGFuZ3VhZ2UsIE1hcDxzdHJpbmcsIGltcG9ydChcIi4uL3NlbWFudGljL3R5cGVzLmpzXCIpLlNlbWFudGljVHlwZU5hbWU+Pj59ICovXG5jb25zdCBzb3VyY2VTY2FsYXJUeXBlcyA9IE9iamVjdC5mcmVlemUoe1xuICBqYXZhOiBzb3VyY2VUeXBlTWFwKFtcbiAgICBbXCJpbnRcIiwgXCJpbnRlZ2VyXCJdLFxuICAgIFtcImJvb2xlYW5cIiwgXCJib29sZWFuXCJdLFxuICAgIFtcIlN0cmluZ1wiLCBcInN0cmluZ1wiXSxcbiAgICBbXCJqYXZhLmxhbmcuU3RyaW5nXCIsIFwic3RyaW5nXCJdXG4gIF0pLFxuICBqYXZhc2NyaXB0OiBzb3VyY2VUeXBlTWFwKFtcbiAgICBbXCJudW1iZXJcIiwgXCJpbnRlZ2VyXCJdLFxuICAgIFtcImJvb2xlYW5cIiwgXCJib29sZWFuXCJdLFxuICAgIFtcInN0cmluZ1wiLCBcInN0cmluZ1wiXVxuICBdKSxcbiAgcGhwOiBzb3VyY2VUeXBlTWFwKFtcbiAgICBbXCJpbnRcIiwgXCJpbnRlZ2VyXCJdLFxuICAgIFtcImJvb2xcIiwgXCJib29sZWFuXCJdLFxuICAgIFtcInN0cmluZ1wiLCBcInN0cmluZ1wiXVxuICBdKSxcbiAgcnVieTogc291cmNlVHlwZU1hcChbXG4gICAgW1wiW0ludGVnZXJdXCIsIFwiaW50ZWdlclwiXSxcbiAgICBbXCJbYm9vbF1cIiwgXCJib29sZWFuXCJdLFxuICAgIFtcIltTdHJpbmddXCIsIFwic3RyaW5nXCJdXG4gIF0pLFxuICB0eXBlc2NyaXB0OiBzb3VyY2VUeXBlTWFwKFtcbiAgICBbXCJudW1iZXJcIiwgXCJpbnRlZ2VyXCJdLFxuICAgIFtcImJvb2xlYW5cIiwgXCJib29sZWFuXCJdLFxuICAgIFtcInN0cmluZ1wiLCBcInN0cmluZ1wiXVxuICBdKVxufSlcblxuLyoqXG4gKiBMb29rcyB1cCBhbiBleGFjdCBzb3VyY2Ugc2NhbGFyIHNwZWxsaW5nIHdpdGhvdXQgaW5zcGVjdGluZyBwYXJzZXIgbm9kZXMuXG4gKiBAcGFyYW0ge2ltcG9ydChcIi4uL3NlbWFudGljL3R5cGVzLmpzXCIpLlNlbWFudGljTGFuZ3VhZ2V9IGxhbmd1YWdlIC0gU291cmNlIGxhbmd1YWdlLlxuICogQHBhcmFtIHtzdHJpbmd9IHNvdXJjZVR5cGUgLSBFeGFjdCBzb3VyY2UgdHlwZSBzcGVsbGluZy5cbiAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vc2VtYW50aWMvdHlwZXMuanNcIikuU291cmNlTG9jYXRpb259IFtsb2NhdGlvbl0gLSBFeGFjdCBwYXJzZXItb3duZWQgdHlwZSBzcGVsbGluZy5cbiAqIEByZXR1cm5zIHtpbXBvcnQoXCIuLi9zZW1hbnRpYy90eXBlcy5qc1wiKS5UeXBlUmVmZXJlbmNlIHwgdW5kZWZpbmVkfSBTZW1hbnRpYyB0eXBlIHdoZW4gc3VwcG9ydGVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc291cmNlU2NhbGFyVHlwZShsYW5ndWFnZSwgc291cmNlVHlwZSwgbG9jYXRpb24pIHtcbiAgY29uc3QgbmFtZSA9IHNvdXJjZVNjYWxhclR5cGVzW2xhbmd1YWdlXS5nZXQoc291cmNlVHlwZSlcbiAgY29uc3QgdHlwZSA9IG5hbWUgPyBzY2FsYXJUeXBlKG5hbWUpIDogdW5kZWZpbmVkXG5cbiAgaWYgKHR5cGUgJiYgbG9jYXRpb24pIHNldFBhcnNlclJhbmdlcyh0eXBlLCB7dHlwZTogbG9jYXRpb259KVxuXG4gIHJldHVybiB0eXBlXG59XG5cbi8qKlxuICogUmVxdWlyZXMgYW4gZXhhY3Qgc3VwcG9ydGVkIHNvdXJjZSBzY2FsYXIgc3BlbGxpbmcuXG4gKiBAcGFyYW0ge2ltcG9ydChcIi4uL3NlbWFudGljL3R5cGVzLmpzXCIpLlNlbWFudGljTGFuZ3VhZ2V9IGxhbmd1YWdlIC0gU291cmNlIGxhbmd1YWdlLlxuICogQHBhcmFtIHtzdHJpbmcgfCB1bmRlZmluZWR9IHNvdXJjZVR5cGUgLSBFeGFjdCBzb3VyY2UgdHlwZSBzcGVsbGluZy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBzdWJqZWN0IC0gVHlwZWQgc291cmNlIHN1YmplY3QuXG4gKiBAcGFyYW0ge2ltcG9ydChcIi4uL3NlbWFudGljL3R5cGVzLmpzXCIpLlNvdXJjZUxvY2F0aW9ufSBsb2NhdGlvbiAtIE93bmluZyBzb3VyY2UgbG9jYXRpb24uXG4gKiBAcGFyYW0ge2ltcG9ydChcIi4uL3NlbWFudGljL3R5cGVzLmpzXCIpLlNvdXJjZUxvY2F0aW9ufSBbdHlwZUxvY2F0aW9uXSAtIEV4YWN0IHBhcnNlci1vd25lZCB0eXBlIHNwZWxsaW5nLlxuICogQHJldHVybnMge2ltcG9ydChcIi4uL3NlbWFudGljL3R5cGVzLmpzXCIpLlR5cGVSZWZlcmVuY2V9IFNlbWFudGljIHNjYWxhciB0eXBlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVxdWlyZVNvdXJjZVNjYWxhclR5cGUobGFuZ3VhZ2UsIHNvdXJjZVR5cGUsIHN1YmplY3QsIGxvY2F0aW9uLCB0eXBlTG9jYXRpb24gPSBsb2NhdGlvbikge1xuICBjb25zdCB0eXBlID0gc291cmNlVHlwZSA/IHNvdXJjZVNjYWxhclR5cGUobGFuZ3VhZ2UsIHNvdXJjZVR5cGUsIHR5cGVMb2NhdGlvbikgOiB1bmRlZmluZWRcblxuICBpZiAoIXR5cGUpIHJldHVybiBtaXNzaW5nVHlwZShsYW5ndWFnZSwgc3ViamVjdCwgbG9jYXRpb24pXG5cbiAgcmV0dXJuIHR5cGVcbn1cbiJdfQ==
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NhbGFycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mcm9udGVuZHMvc2NhbGFycy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGtCQUFrQixDQUFBO0FBQzVDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQTtBQUN6RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sd0JBQXdCLENBQUE7QUFFakQ7Ozs7R0FJRztBQUNILFNBQVMsYUFBYSxDQUFDLE9BQU87SUFDNUIsT0FBTyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQTtBQUN6QixDQUFDO0FBRUQsOElBQThJO0FBQzlJLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUN0QyxHQUFHLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUNqRyxDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ2hHLE1BQU0sRUFBRSxhQUFhLENBQUM7UUFDcEIsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDO1FBQ25CLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQztRQUMzQixDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUM7UUFDbkIsQ0FBQyxnQkFBZ0IsRUFBRSxTQUFTLENBQUM7UUFDN0IsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDO1FBQ3BCLENBQUMsZUFBZSxFQUFFLFFBQVEsQ0FBQztLQUM1QixDQUFDO0lBQ0YsRUFBRSxFQUFFLGFBQWEsQ0FBQztRQUNoQixDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUM7UUFDcEIsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDO1FBQ25CLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQztLQUNyQixDQUFDO0lBQ0YsSUFBSSxFQUFFLGFBQWEsQ0FBQztRQUNsQixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUM7UUFDbEIsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDO1FBQ3RCLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQztRQUNwQixDQUFDLGtCQUFrQixFQUFFLFFBQVEsQ0FBQztLQUMvQixDQUFDO0lBQ0YsVUFBVSxFQUFFLGFBQWEsQ0FBQztRQUN4QixDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUM7UUFDckIsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDO1FBQ3RCLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQztLQUNyQixDQUFDO0lBQ0YsR0FBRyxFQUFFLGFBQWEsQ0FBQztRQUNqQixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUM7UUFDbEIsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDO1FBQ25CLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQztLQUNyQixDQUFDO0lBQ0YsTUFBTSxFQUFFLGFBQWEsQ0FBQztRQUNwQixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUM7UUFDbEIsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDO1FBQ25CLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQztLQUNsQixDQUFDO0lBQ0YsSUFBSSxFQUFFLGFBQWEsQ0FBQztRQUNsQixDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUM7UUFDeEIsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDO1FBQ3JCLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQztLQUN2QixDQUFDO0lBQ0YsVUFBVSxFQUFFLGFBQWEsQ0FBQztRQUN4QixDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUM7UUFDckIsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDO1FBQ3RCLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQztLQUNyQixDQUFDO0NBQ0gsQ0FBQyxDQUFBO0FBRUY7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsUUFBUTtJQUM3RCxNQUFNLElBQUksR0FBRyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDeEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtJQUVoRCxJQUFJLElBQUksSUFBSSxRQUFRO1FBQUUsZUFBZSxDQUFDLElBQUksRUFBRSxFQUFDLElBQUksRUFBRSxRQUFRLEVBQUMsQ0FBQyxDQUFBO0lBRTdELE9BQU8sSUFBSSxDQUFBO0FBQ2IsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLHVCQUF1QixDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEdBQUcsUUFBUTtJQUN0RyxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtJQUUxRixJQUFJLENBQUMsSUFBSTtRQUFFLE9BQU8sV0FBVyxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFFMUQsT0FBTyxJQUFJLENBQUE7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCB7bWlzc2luZ1R5cGV9IGZyb20gXCIuLi9kaWFnbm9zdGljLmpzXCJcbmltcG9ydCB7c2V0UGFyc2VyUmFuZ2VzfSBmcm9tIFwiLi4vc2VtYW50aWMvcHJvdmVuYW5jZS5qc1wiXG5pbXBvcnQge3NjYWxhclR5cGV9IGZyb20gXCIuLi9zZW1hbnRpYy9zY2FsYXJzLmpzXCJcblxuLyoqXG4gKiBCdWlsZHMgYSBzb3VyY2Utc3BlbGxpbmcgbWFwIHdpdGggZXhhY3Qgc2VtYW50aWMgc2NhbGFyIHZhbHVlcy5cbiAqIEBwYXJhbSB7cmVhZG9ubHkgKHJlYWRvbmx5IFtzdHJpbmcsIGltcG9ydChcIi4uL3NlbWFudGljL3R5cGVzLmpzXCIpLlNlbWFudGljVHlwZU5hbWVdKVtdfSBlbnRyaWVzIC0gU291cmNlIG1hcHBpbmdzLlxuICogQHJldHVybnMge01hcDxzdHJpbmcsIGltcG9ydChcIi4uL3NlbWFudGljL3R5cGVzLmpzXCIpLlNlbWFudGljVHlwZU5hbWU+fSBTb3VyY2UgdHlwZSBtYXAuXG4gKi9cbmZ1bmN0aW9uIHNvdXJjZVR5cGVNYXAoZW50cmllcykge1xuICByZXR1cm4gbmV3IE1hcChlbnRyaWVzKVxufVxuXG4vKiogQHR5cGUge1JlYWRvbmx5PFJlY29yZDxpbXBvcnQoXCIuLi9zZW1hbnRpYy90eXBlcy5qc1wiKS5TZW1hbnRpY0xhbmd1YWdlLCBNYXA8c3RyaW5nLCBpbXBvcnQoXCIuLi9zZW1hbnRpYy90eXBlcy5qc1wiKS5TZW1hbnRpY1R5cGVOYW1lPj4+fSAqL1xuY29uc3Qgc291cmNlU2NhbGFyVHlwZXMgPSBPYmplY3QuZnJlZXplKHtcbiAgY3BwOiBzb3VyY2VUeXBlTWFwKFtbXCJzdGQ6OmludDY0X3RcIiwgXCJpbnRlZ2VyXCJdLCBbXCJib29sXCIsIFwiYm9vbGVhblwiXSwgW1wic3RkOjpzdHJpbmdcIiwgXCJzdHJpbmdcIl1dKSxcbiAgYzogc291cmNlVHlwZU1hcChbW1wiaW50NjRfdFwiLCBcImludGVnZXJcIl0sIFtcImJvb2xcIiwgXCJib29sZWFuXCJdLCBbXCJTZW1hbnRpZm9sZFN0cmluZ1wiLCBcInN0cmluZ1wiXV0pLFxuICBjc2hhcnA6IHNvdXJjZVR5cGVNYXAoW1xuICAgIFtcImxvbmdcIiwgXCJpbnRlZ2VyXCJdLFxuICAgIFtcIlN5c3RlbS5JbnQ2NFwiLCBcImludGVnZXJcIl0sXG4gICAgW1wiYm9vbFwiLCBcImJvb2xlYW5cIl0sXG4gICAgW1wiU3lzdGVtLkJvb2xlYW5cIiwgXCJib29sZWFuXCJdLFxuICAgIFtcInN0cmluZ1wiLCBcInN0cmluZ1wiXSxcbiAgICBbXCJTeXN0ZW0uU3RyaW5nXCIsIFwic3RyaW5nXCJdXG4gIF0pLFxuICBnbzogc291cmNlVHlwZU1hcChbXG4gICAgW1wiaW50NjRcIiwgXCJpbnRlZ2VyXCJdLFxuICAgIFtcImJvb2xcIiwgXCJib29sZWFuXCJdLFxuICAgIFtcInN0cmluZ1wiLCBcInN0cmluZ1wiXVxuICBdKSxcbiAgamF2YTogc291cmNlVHlwZU1hcChbXG4gICAgW1wiaW50XCIsIFwiaW50ZWdlclwiXSxcbiAgICBbXCJib29sZWFuXCIsIFwiYm9vbGVhblwiXSxcbiAgICBbXCJTdHJpbmdcIiwgXCJzdHJpbmdcIl0sXG4gICAgW1wiamF2YS5sYW5nLlN0cmluZ1wiLCBcInN0cmluZ1wiXVxuICBdKSxcbiAgamF2YXNjcmlwdDogc291cmNlVHlwZU1hcChbXG4gICAgW1wibnVtYmVyXCIsIFwiaW50ZWdlclwiXSxcbiAgICBbXCJib29sZWFuXCIsIFwiYm9vbGVhblwiXSxcbiAgICBbXCJzdHJpbmdcIiwgXCJzdHJpbmdcIl1cbiAgXSksXG4gIHBocDogc291cmNlVHlwZU1hcChbXG4gICAgW1wiaW50XCIsIFwiaW50ZWdlclwiXSxcbiAgICBbXCJib29sXCIsIFwiYm9vbGVhblwiXSxcbiAgICBbXCJzdHJpbmdcIiwgXCJzdHJpbmdcIl1cbiAgXSksXG4gIHB5dGhvbjogc291cmNlVHlwZU1hcChbXG4gICAgW1wiaW50XCIsIFwiaW50ZWdlclwiXSxcbiAgICBbXCJib29sXCIsIFwiYm9vbGVhblwiXSxcbiAgICBbXCJzdHJcIiwgXCJzdHJpbmdcIl1cbiAgXSksXG4gIHJ1Ynk6IHNvdXJjZVR5cGVNYXAoW1xuICAgIFtcIltJbnRlZ2VyXVwiLCBcImludGVnZXJcIl0sXG4gICAgW1wiW2Jvb2xdXCIsIFwiYm9vbGVhblwiXSxcbiAgICBbXCJbU3RyaW5nXVwiLCBcInN0cmluZ1wiXVxuICBdKSxcbiAgdHlwZXNjcmlwdDogc291cmNlVHlwZU1hcChbXG4gICAgW1wibnVtYmVyXCIsIFwiaW50ZWdlclwiXSxcbiAgICBbXCJib29sZWFuXCIsIFwiYm9vbGVhblwiXSxcbiAgICBbXCJzdHJpbmdcIiwgXCJzdHJpbmdcIl1cbiAgXSlcbn0pXG5cbi8qKlxuICogTG9va3MgdXAgYW4gZXhhY3Qgc291cmNlIHNjYWxhciBzcGVsbGluZyB3aXRob3V0IGluc3BlY3RpbmcgcGFyc2VyIG5vZGVzLlxuICogQHBhcmFtIHtpbXBvcnQoXCIuLi9zZW1hbnRpYy90eXBlcy5qc1wiKS5TZW1hbnRpY0xhbmd1YWdlfSBsYW5ndWFnZSAtIFNvdXJjZSBsYW5ndWFnZS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBzb3VyY2VUeXBlIC0gRXhhY3Qgc291cmNlIHR5cGUgc3BlbGxpbmcuXG4gKiBAcGFyYW0ge2ltcG9ydChcIi4uL3NlbWFudGljL3R5cGVzLmpzXCIpLlNvdXJjZUxvY2F0aW9ufSBbbG9jYXRpb25dIC0gRXhhY3QgcGFyc2VyLW93bmVkIHR5cGUgc3BlbGxpbmcuXG4gKiBAcmV0dXJucyB7aW1wb3J0KFwiLi4vc2VtYW50aWMvdHlwZXMuanNcIikuVHlwZVJlZmVyZW5jZSB8IHVuZGVmaW5lZH0gU2VtYW50aWMgdHlwZSB3aGVuIHN1cHBvcnRlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNvdXJjZVNjYWxhclR5cGUobGFuZ3VhZ2UsIHNvdXJjZVR5cGUsIGxvY2F0aW9uKSB7XG4gIGNvbnN0IG5hbWUgPSBzb3VyY2VTY2FsYXJUeXBlc1tsYW5ndWFnZV0uZ2V0KHNvdXJjZVR5cGUpXG4gIGNvbnN0IHR5cGUgPSBuYW1lID8gc2NhbGFyVHlwZShuYW1lKSA6IHVuZGVmaW5lZFxuXG4gIGlmICh0eXBlICYmIGxvY2F0aW9uKSBzZXRQYXJzZXJSYW5nZXModHlwZSwge3R5cGU6IGxvY2F0aW9ufSlcblxuICByZXR1cm4gdHlwZVxufVxuXG4vKipcbiAqIFJlcXVpcmVzIGFuIGV4YWN0IHN1cHBvcnRlZCBzb3VyY2Ugc2NhbGFyIHNwZWxsaW5nLlxuICogQHBhcmFtIHtpbXBvcnQoXCIuLi9zZW1hbnRpYy90eXBlcy5qc1wiKS5TZW1hbnRpY0xhbmd1YWdlfSBsYW5ndWFnZSAtIFNvdXJjZSBsYW5ndWFnZS5cbiAqIEBwYXJhbSB7c3RyaW5nIHwgdW5kZWZpbmVkfSBzb3VyY2VUeXBlIC0gRXhhY3Qgc291cmNlIHR5cGUgc3BlbGxpbmcuXG4gKiBAcGFyYW0ge3N0cmluZ30gc3ViamVjdCAtIFR5cGVkIHNvdXJjZSBzdWJqZWN0LlxuICogQHBhcmFtIHtpbXBvcnQoXCIuLi9zZW1hbnRpYy90eXBlcy5qc1wiKS5Tb3VyY2VMb2NhdGlvbn0gbG9jYXRpb24gLSBPd25pbmcgc291cmNlIGxvY2F0aW9uLlxuICogQHBhcmFtIHtpbXBvcnQoXCIuLi9zZW1hbnRpYy90eXBlcy5qc1wiKS5Tb3VyY2VMb2NhdGlvbn0gW3R5cGVMb2NhdGlvbl0gLSBFeGFjdCBwYXJzZXItb3duZWQgdHlwZSBzcGVsbGluZy5cbiAqIEByZXR1cm5zIHtpbXBvcnQoXCIuLi9zZW1hbnRpYy90eXBlcy5qc1wiKS5UeXBlUmVmZXJlbmNlfSBTZW1hbnRpYyBzY2FsYXIgdHlwZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlcXVpcmVTb3VyY2VTY2FsYXJUeXBlKGxhbmd1YWdlLCBzb3VyY2VUeXBlLCBzdWJqZWN0LCBsb2NhdGlvbiwgdHlwZUxvY2F0aW9uID0gbG9jYXRpb24pIHtcbiAgY29uc3QgdHlwZSA9IHNvdXJjZVR5cGUgPyBzb3VyY2VTY2FsYXJUeXBlKGxhbmd1YWdlLCBzb3VyY2VUeXBlLCB0eXBlTG9jYXRpb24pIDogdW5kZWZpbmVkXG5cbiAgaWYgKCF0eXBlKSByZXR1cm4gbWlzc2luZ1R5cGUobGFuZ3VhZ2UsIHN1YmplY3QsIGxvY2F0aW9uKVxuXG4gIHJldHVybiB0eXBlXG59XG4iXX0=
@@ -0,0 +1,113 @@
1
+ export type RegistryRole = "frontend" | "textBackend" | "binaryBackend" | "applicationBackend" | "interoperability";
2
+ export type Frontend = (input: {
3
+ filename: string;
4
+ source: string;
5
+ }) => import("./semantic/types.js").SemanticModule;
6
+ export type RegistryImplementation = (...values: unknown[]) => unknown;
7
+ export type LanguageRegistryRecord = {
8
+ /**
9
+ * - Stable identity.
10
+ */
11
+ id: string;
12
+ /**
13
+ * - Acceptance declaration.
14
+ */
15
+ acceptance: {
16
+ stages: import("./semantic/types.js").AcceptanceStage[];
17
+ toolchains: string[];
18
+ };
19
+ /**
20
+ * - Artifact multiplicity.
21
+ */
22
+ artifactMultiplicity: "single" | "multiple";
23
+ /**
24
+ * - Mapping capabilities.
25
+ */
26
+ mapping: import("./semantic/types.js").LanguageMappingCapabilities;
27
+ /**
28
+ * - Round-trip declaration.
29
+ */
30
+ roundTrip: boolean;
31
+ /**
32
+ * - Default backend filename.
33
+ */
34
+ defaultFilename?: string;
35
+ /**
36
+ * - Default backend media type.
37
+ */
38
+ mediaType?: string;
39
+ /**
40
+ * - Frontend adapter.
41
+ */
42
+ frontend?: RegistryImplementation;
43
+ /**
44
+ * - Text backend.
45
+ */
46
+ textBackend?: RegistryImplementation;
47
+ /**
48
+ * - Binary backend.
49
+ */
50
+ binaryBackend?: RegistryImplementation;
51
+ /**
52
+ * - Application-artifact backend.
53
+ */
54
+ applicationBackend?: RegistryImplementation;
55
+ /**
56
+ * - Interoperability bridge.
57
+ */
58
+ interoperability?: RegistryImplementation;
59
+ };
60
+ export type LanguageRegistry = {
61
+ /**
62
+ * - Public descriptors.
63
+ */
64
+ descriptors: readonly import("./semantic/types.js").LanguageCapabilities[];
65
+ /**
66
+ * - Registered IDs in stable order.
67
+ */
68
+ ids: readonly string[];
69
+ /**
70
+ * - Exact record lookup.
71
+ */
72
+ record: (id: string) => Readonly<LanguageRegistryRecord>;
73
+ /**
74
+ * - Role lookup.
75
+ */
76
+ resolve: (id: string, role: RegistryRole, location?: import("./semantic/types.js").SourceLocation) => RegistryImplementation;
77
+ };
78
+ /** @typedef {"frontend" | "textBackend" | "binaryBackend" | "applicationBackend" | "interoperability"} RegistryRole */
79
+ /** @typedef {(input: {filename: string, source: string}) => import("./semantic/types.js").SemanticModule} Frontend */
80
+ /** @typedef {(...values: unknown[]) => unknown} RegistryImplementation */
81
+ /**
82
+ * @typedef LanguageRegistryRecord
83
+ * @property {string} id - Stable identity.
84
+ * @property {{stages: import("./semantic/types.js").AcceptanceStage[], toolchains: string[]}} acceptance - Acceptance declaration.
85
+ * @property {"single" | "multiple"} artifactMultiplicity - Artifact multiplicity.
86
+ * @property {import("./semantic/types.js").LanguageMappingCapabilities} mapping - Mapping capabilities.
87
+ * @property {boolean} roundTrip - Round-trip declaration.
88
+ * @property {string} [defaultFilename] - Default backend filename.
89
+ * @property {string} [mediaType] - Default backend media type.
90
+ * @property {RegistryImplementation} [frontend] - Frontend adapter.
91
+ * @property {RegistryImplementation} [textBackend] - Text backend.
92
+ * @property {RegistryImplementation} [binaryBackend] - Binary backend.
93
+ * @property {RegistryImplementation} [applicationBackend] - Application-artifact backend.
94
+ * @property {RegistryImplementation} [interoperability] - Interoperability bridge.
95
+ */
96
+ /**
97
+ * @typedef LanguageRegistry
98
+ * @property {readonly import("./semantic/types.js").LanguageCapabilities[]} descriptors - Public descriptors.
99
+ * @property {readonly string[]} ids - Registered IDs in stable order.
100
+ * @property {(id: string) => Readonly<LanguageRegistryRecord>} record - Exact record lookup.
101
+ * @property {(id: string, role: RegistryRole, location?: import("./semantic/types.js").SourceLocation) => RegistryImplementation} resolve - Role lookup.
102
+ */
103
+ /**
104
+ * Constructs an immutable role registry from ordered records.
105
+ * @param {unknown} candidateRecords - Ordered language records.
106
+ * @returns {Readonly<LanguageRegistry>} Registry.
107
+ */
108
+ export declare function createLanguageRegistry(candidateRecords: unknown): Readonly<LanguageRegistry>;
109
+ export declare const languageRegistry: Readonly<LanguageRegistry>;
110
+ export declare const languageCapabilities: readonly import("./semantic/types.js").LanguageCapabilities[];
111
+ /** @type {readonly import("./semantic/types.js").SemanticLanguage[]} */
112
+ export declare const supportedLanguages: readonly import("./semantic/types.js").SemanticLanguage[];
113
+ //# sourceMappingURL=language-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"language-registry.d.ts","sourceRoot":"","sources":["../../src/language-registry.js"],"names":[],"mappings":"AAgCI,YAAoG,YAAY,GAAtG,UAAU,GAAG,aAAa,GAAG,eAAe,GAAG,oBAAoB,GAAG,kBAAkB,CAAc;AAChH,YAAuG,QAAQ,GAArG,CAAC,KAAK,EAAE;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,KAAK,OAAO,qBAAqB,EAAE,cAAc,CAAU;AAC/G,YAA6C,sBAAsB,GAAzD,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK,OAAO,CAAwB;AAGpE,YAAS,sBAAsB,GAC/B;;;;IAAmB,EAAE,EAAV,MAAM,CACjB;;;;IAA4F,UAAU,EAA3F;QAAC,MAAM,EAAE,OAAO,qBAAqB,EAAE,eAAe,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAC,CAC1F;;;;IAAkC,oBAAoB,EAA3C,QAAQ,GAAG,UAAU,CAChC;;;;IAAsE,OAAO,EAAlE,OAAO,qBAAqB,EAAE,2BAA2B,CACpE;;;;IAAoB,SAAS,EAAlB,OAAO,CAClB;;;;IAAoB,eAAe,AAAnC,CACA,EADW,MAAM,CACjB;;;;IAAoB,SAAS,AAA7B,CACA,EADW,MAAM,CACjB;;;;IAAoC,QAAQ,AAA5C,CACA,EADW,sBAAsB,CACjC;;;;IAAoC,WAAW,AAA/C,CACA,EADW,sBAAsB,CACjC;;;;IAAoC,aAAa,AAAjD,CACA,EADW,sBAAsB,CACjC;;;;IAAoC,kBAAkB,AAAtD,CACA,EADW,sBAAsB,CACjC;;;;IAAoC,gBAAgB,AAApD,CACF,EADa,sBAAsB,CACnC;CAAA,CAAA;AAGE,YAAS,gBAAgB,GACzB;;;;IAA0E,WAAW,EAA1E,SAAS,OAAO,qBAAqB,EAAE,oBAAoB,EAAE,CACxE;;;;IAA8B,GAAG,EAAtB,SAAS,MAAM,EAAE,CAC5B;;;;IAA6D,MAAM,EAAxD,CAAC,EAAE,EAAE,MAAM,KAAK,QAAQ,CAAC,sBAAsB,CAAC,CAC3D;;;;IAAgI,OAAO,EAA5H,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,OAAO,qBAAqB,EAAE,cAAc,KAAK,sBAAsB,CAChI;CAAA,CAAA;AA1BD,uHAAuH;AACvH,sHAAsH;AACtH,0EAA0E;AAE1E;;;;;;;;;;;;;;GAcG;AAEH;;;;;;GAMG;AAEH;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,gBAAgB,EAH5C,OAG4C,GAF1C,QAAQ,CAAC,gBAAgB,CAAC,CA6KtC;AAoID,eAAO,MAAM,gBAAgB,4BAAkC,CAAA;AAC/D,eAAO,MAAM,oBAAoB,+DAA+B,CAAA;AAChE,wEAAwE;AACxE,eAAO,MAAM,kBAAkB,EADpB,SAAS,OAAO,qBAAqB,EAAE,gBAAgB,EAGmB,CAAA"}