domainforge 0.13.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 (481) hide show
  1. package/.cargo/config.toml +6 -0
  2. package/.claude/settings.local.json +18 -0
  3. package/.coderabbit.yml +43 -0
  4. package/.codex/skills/release-management/SKILL.md +151 -0
  5. package/.codex/skills/release-management/agents/openai.yaml +4 -0
  6. package/.github/actions/decrypt-secrets/action.yml +121 -0
  7. package/.github/agents/Coder.agent.md +97 -0
  8. package/.github/agents/DeepResearch.agent.md +61 -0
  9. package/.github/chatmodes/tdd.vibepro.chatmode.md +1183 -0
  10. package/.github/copilot-instructions.md +13 -0
  11. package/.github/dependabot.yml +68 -0
  12. package/.github/workflows/README.md +165 -0
  13. package/.github/workflows/ci.yml +335 -0
  14. package/.github/workflows/dependabot-automerge.yml +114 -0
  15. package/.github/workflows/dependency-review.yml +27 -0
  16. package/.github/workflows/deploy.yml +87 -0
  17. package/.github/workflows/prepare-release.yml +168 -0
  18. package/.github/workflows/release-crates.yml +42 -0
  19. package/.github/workflows/release-npm.yml +137 -0
  20. package/.github/workflows/release-please.yml +29 -0
  21. package/.github/workflows/release-pypi.yml +96 -0
  22. package/.gitkeep +1 -0
  23. package/.release-please-manifest.json +5 -0
  24. package/.sea-registry.toml +10 -0
  25. package/.serena/project.yml +133 -0
  26. package/.sops.yaml +10 -0
  27. package/AGENTS.md +216 -0
  28. package/CHANGELOG.md +400 -0
  29. package/CLAUDE.md +62 -0
  30. package/CONTRIBUTING.md +323 -0
  31. package/Cargo.lock +3612 -0
  32. package/Cargo.toml +12 -0
  33. package/LICENSE +201 -0
  34. package/README.md +660 -0
  35. package/README_PYTHON.md +256 -0
  36. package/README_TYPESCRIPT.md +305 -0
  37. package/README_WASM.md +329 -0
  38. package/RELEASE_NOTES.md +41 -0
  39. package/bun.lock +378 -0
  40. package/bunfig.toml +11 -0
  41. package/check_output.txt +83 -0
  42. package/clippy_output.txt +80 -0
  43. package/commitlint.config.cjs +8 -0
  44. package/deny.toml +42 -0
  45. package/devbox.json +14 -0
  46. package/devbox.lock +76 -0
  47. package/docs/RELEASE_PROCESS.md +360 -0
  48. package/docs/diagnostics.md +161 -0
  49. package/docs/doc_guidelines.md +53 -0
  50. package/docs/explanations/README.md +21 -0
  51. package/docs/explanations/architecture-overview.md +109 -0
  52. package/docs/explanations/cross-language-binding-strategy.md +68 -0
  53. package/docs/explanations/graph-store-design.md +47 -0
  54. package/docs/explanations/performance-benchmarks.md +63 -0
  55. package/docs/explanations/policy-evaluation-logic.md +106 -0
  56. package/docs/explanations/semantic-modeling-concepts.md +109 -0
  57. package/docs/explanations/three-valued-logic.md +66 -0
  58. package/docs/explanations/versioning-strategy.md +45 -0
  59. package/docs/governance.md +168 -0
  60. package/docs/how-tos/README.md +46 -0
  61. package/docs/how-tos/ci-cd-validation.md +93 -0
  62. package/docs/how-tos/create-custom-units.md +125 -0
  63. package/docs/how-tos/define-policies.md +119 -0
  64. package/docs/how-tos/export-to-calm.md +110 -0
  65. package/docs/how-tos/export-to-protobuf.md +312 -0
  66. package/docs/how-tos/extend-grammar.md +133 -0
  67. package/docs/how-tos/generate-rdf-turtle.md +106 -0
  68. package/docs/how-tos/import-from-calm.md +114 -0
  69. package/docs/how-tos/import-from-sbvr.md +249 -0
  70. package/docs/how-tos/install-cli.md +126 -0
  71. package/docs/how-tos/parse-sea-files.md +132 -0
  72. package/docs/how-tos/policy-evaluation-modes.md +30 -0
  73. package/docs/how-tos/run-cross-language-tests.md +115 -0
  74. package/docs/how-tos/troubleshoot-napi-builds.md +55 -0
  75. package/docs/how-tos/use-modules-imports.md +285 -0
  76. package/docs/index.md +13 -0
  77. package/docs/plans/canonical-normalizer.md +121 -0
  78. package/docs/plans/cd_improvement.md +112 -0
  79. package/docs/plans/cli-ast.md +29 -0
  80. package/docs/plans/expression-bindings-and-normalizer-integration.md +174 -0
  81. package/docs/plans/protobuf_advanced_features_plan.md +597 -0
  82. package/docs/plans/protobuf_plan.yml +525 -0
  83. package/docs/plans/refactor_dsl_architecture.md +131 -0
  84. package/docs/plans/release-plan.md +163 -0
  85. package/docs/plans/sea_fmt_implementation_plan.md +516 -0
  86. package/docs/playbooks/README.md +18 -0
  87. package/docs/playbooks/adding-new-primitive.md +68 -0
  88. package/docs/playbooks/debugging-parser-failures.md +42 -0
  89. package/docs/playbooks/local-release-preparation.md +139 -0
  90. package/docs/playbooks/migrating-schema-versions.md +43 -0
  91. package/docs/playbooks/onboarding-contributors.md +64 -0
  92. package/docs/playbooks/releasing-beta.md +86 -0
  93. package/docs/playbooks/secret-management.md +64 -0
  94. package/docs/reference/README.md +199 -0
  95. package/docs/reference/ast-json-api.md +427 -0
  96. package/docs/reference/calm-mapping.md +519 -0
  97. package/docs/reference/cli-commands.md +588 -0
  98. package/docs/reference/configuration.md +202 -0
  99. package/docs/reference/error-codes.md +664 -0
  100. package/docs/reference/generated-artifacts-policy.md +53 -0
  101. package/docs/reference/grammar-spec.md +255 -0
  102. package/docs/reference/primitives-api.md +317 -0
  103. package/docs/reference/protobuf-api.md +426 -0
  104. package/docs/reference/python-api.md +485 -0
  105. package/docs/reference/registry.md +50 -0
  106. package/docs/reference/sea-dsl-ai-cheatsheet.yaml +913 -0
  107. package/docs/reference/security-model.md +74 -0
  108. package/docs/reference/typescript-api.md +508 -0
  109. package/docs/reference/wasm-api.md +420 -0
  110. package/docs/semantic-pack-review.md +144 -0
  111. package/docs/semantic-pack-signing.md +234 -0
  112. package/docs/semantic-packs.md +284 -0
  113. package/docs/specs/ADR-001-sea-dsl-semantic-source-of-truth.md +33 -0
  114. package/docs/specs/ADR-002-projection-first-class-construct.md +50 -0
  115. package/docs/specs/ADR-003-protobuf-projection-target.md +51 -0
  116. package/docs/specs/ADR-004-projection-compatibility-semantics.md +57 -0
  117. package/docs/specs/ADR-005-multi-language-support-strategy.md +112 -0
  118. package/docs/specs/ADR-006-error-handling-strategy.md +115 -0
  119. package/docs/specs/ADR-007-policy-evaluation-engine.md +95 -0
  120. package/docs/specs/ADR-008-knowledge-graph-integration.md +90 -0
  121. package/docs/specs/ADR-009-module-resolution-strategy.md +115 -0
  122. package/docs/specs/ADR-010-unit-system.md +106 -0
  123. package/docs/specs/PRD-001-sea-projection-framework.md +155 -0
  124. package/docs/specs/PRD-002-sea-cli-tooling.md +169 -0
  125. package/docs/specs/PRD-003-dsl-core-capabilities.md +275 -0
  126. package/docs/specs/README.md +62 -0
  127. package/docs/specs/SDS-001-protobuf-projection-engine.md +451 -0
  128. package/docs/specs/SDS-002-sea-core-architecture.md +268 -0
  129. package/docs/specs/SDS-003-parser-semantic-graph.md +377 -0
  130. package/docs/specs/SDS-004-policy-engine-design.md +362 -0
  131. package/docs/specs/SDS-005-knowledge-graph-module.md +364 -0
  132. package/docs/specs/SDS-006-calm-integration.md +367 -0
  133. package/docs/specs/SDS-007-sbvr-import.md +347 -0
  134. package/docs/templates/template_explanation.md +14 -0
  135. package/docs/templates/template_howto.md +21 -0
  136. package/docs/templates/template_playbook.md +21 -0
  137. package/docs/templates/template_reference.md +17 -0
  138. package/docs/templates/template_tutorial.md +24 -0
  139. package/docs/tutorials/README.md +12 -0
  140. package/docs/tutorials/first-sea-model.md +85 -0
  141. package/docs/tutorials/getting-started.md +98 -0
  142. package/docs/tutorials/python-binding-quickstart.md +107 -0
  143. package/docs/tutorials/typescript-binding-quickstart.md +91 -0
  144. package/docs/tutorials/wasm-in-browser.md +75 -0
  145. package/domainforge-core/CHANGELOG.md +138 -0
  146. package/domainforge-core/Cargo.toml +101 -0
  147. package/domainforge-core/MIGRATING.md +32 -0
  148. package/domainforge-core/README.md +197 -0
  149. package/domainforge-core/benchmark_results.txt +51 -0
  150. package/domainforge-core/build.rs +6 -0
  151. package/domainforge-core/deny.toml +31 -0
  152. package/domainforge-core/docs/specs/projections/sbvr_kg_mapping.md +43 -0
  153. package/domainforge-core/examples/basic.sea +7 -0
  154. package/domainforge-core/examples/cli/import_export_workflow.sh +38 -0
  155. package/domainforge-core/examples/cli/validate_example.sh +30 -0
  156. package/domainforge-core/examples/evolution_semantics.sea +31 -0
  157. package/domainforge-core/examples/parser_demo.rs +203 -0
  158. package/domainforge-core/grammar/sea.pest +408 -0
  159. package/domainforge-core/schemas/calm-v1.schema.json +170 -0
  160. package/domainforge-core/schemas/shacl/sea_shapes.ttl +19 -0
  161. package/domainforge-core/src/authority/compiler.rs +309 -0
  162. package/domainforge-core/src/authority/environment.rs +203 -0
  163. package/domainforge-core/src/authority/error.rs +164 -0
  164. package/domainforge-core/src/authority/fact_resolver.rs +224 -0
  165. package/domainforge-core/src/authority/mod.rs +25 -0
  166. package/domainforge-core/src/authority/pack.rs +133 -0
  167. package/domainforge-core/src/authority/policy.rs +224 -0
  168. package/domainforge-core/src/authority/resolver.rs +446 -0
  169. package/domainforge-core/src/authority/trace.rs +217 -0
  170. package/domainforge-core/src/authority/transform.rs +168 -0
  171. package/domainforge-core/src/authority/types.rs +617 -0
  172. package/domainforge-core/src/bin/domainforge.rs +25 -0
  173. package/domainforge-core/src/calm/export.rs +538 -0
  174. package/domainforge-core/src/calm/import.rs +1220 -0
  175. package/domainforge-core/src/calm/mod.rs +9 -0
  176. package/domainforge-core/src/calm/models.rs +108 -0
  177. package/domainforge-core/src/calm/sbvr_import.rs +9 -0
  178. package/domainforge-core/src/cli/authority.rs +149 -0
  179. package/domainforge-core/src/cli/format.rs +85 -0
  180. package/domainforge-core/src/cli/import.rs +133 -0
  181. package/domainforge-core/src/cli/mod.rs +64 -0
  182. package/domainforge-core/src/cli/normalize.rs +180 -0
  183. package/domainforge-core/src/cli/pack.rs +904 -0
  184. package/domainforge-core/src/cli/parse.rs +112 -0
  185. package/domainforge-core/src/cli/project.rs +294 -0
  186. package/domainforge-core/src/cli/registry.rs +41 -0
  187. package/domainforge-core/src/cli/test.rs +12 -0
  188. package/domainforge-core/src/cli/validate.rs +195 -0
  189. package/domainforge-core/src/cli/validate_kg.rs +80 -0
  190. package/domainforge-core/src/concept_id.rs +89 -0
  191. package/domainforge-core/src/error/diagnostics.rs +426 -0
  192. package/domainforge-core/src/error/fuzzy.rs +253 -0
  193. package/domainforge-core/src/error/mod.rs +13 -0
  194. package/domainforge-core/src/formatter/comments.rs +223 -0
  195. package/domainforge-core/src/formatter/config.rs +114 -0
  196. package/domainforge-core/src/formatter/mod.rs +22 -0
  197. package/domainforge-core/src/formatter/printer.rs +906 -0
  198. package/domainforge-core/src/graph/mod.rs +858 -0
  199. package/domainforge-core/src/graph/to_ast.rs +66 -0
  200. package/domainforge-core/src/kg.rs +1476 -0
  201. package/domainforge-core/src/kg_import.rs +251 -0
  202. package/domainforge-core/src/lib.rs +203 -0
  203. package/domainforge-core/src/module/mod.rs +1 -0
  204. package/domainforge-core/src/module/resolver.rs +260 -0
  205. package/domainforge-core/src/parser/ast.rs +2919 -0
  206. package/domainforge-core/src/parser/ast_convert.rs +494 -0
  207. package/domainforge-core/src/parser/ast_schema.rs +491 -0
  208. package/domainforge-core/src/parser/error.rs +291 -0
  209. package/domainforge-core/src/parser/lint.rs +39 -0
  210. package/domainforge-core/src/parser/mod.rs +193 -0
  211. package/domainforge-core/src/parser/printer.rs +702 -0
  212. package/domainforge-core/src/parser/profiles.rs +71 -0
  213. package/domainforge-core/src/parser/string_utils.rs +138 -0
  214. package/domainforge-core/src/patterns.rs +68 -0
  215. package/domainforge-core/src/policy/core.rs +1148 -0
  216. package/domainforge-core/src/policy/expression.rs +399 -0
  217. package/domainforge-core/src/policy/mod.rs +18 -0
  218. package/domainforge-core/src/policy/normalize.rs +1028 -0
  219. package/domainforge-core/src/policy/quantifier.rs +940 -0
  220. package/domainforge-core/src/policy/three_valued.rs +140 -0
  221. package/domainforge-core/src/policy/three_valued_microbench.rs +104 -0
  222. package/domainforge-core/src/policy/type_inference.rs +67 -0
  223. package/domainforge-core/src/policy/violation.rs +36 -0
  224. package/domainforge-core/src/primitives/concept_change.rs +61 -0
  225. package/domainforge-core/src/primitives/entity.rs +224 -0
  226. package/domainforge-core/src/primitives/flow.rs +111 -0
  227. package/domainforge-core/src/primitives/instance.rs +93 -0
  228. package/domainforge-core/src/primitives/mapping_contract.rs +50 -0
  229. package/domainforge-core/src/primitives/metric.rs +79 -0
  230. package/domainforge-core/src/primitives/mod.rs +25 -0
  231. package/domainforge-core/src/primitives/projection_contract.rs +50 -0
  232. package/domainforge-core/src/primitives/quantity.rs +56 -0
  233. package/domainforge-core/src/primitives/relation.rs +68 -0
  234. package/domainforge-core/src/primitives/resource.rs +237 -0
  235. package/domainforge-core/src/primitives/resource_instance.rs +88 -0
  236. package/domainforge-core/src/primitives/role.rs +49 -0
  237. package/domainforge-core/src/projection/buf.rs +404 -0
  238. package/domainforge-core/src/projection/contracts.rs +22 -0
  239. package/domainforge-core/src/projection/engine.rs +19 -0
  240. package/domainforge-core/src/projection/mod.rs +16 -0
  241. package/domainforge-core/src/projection/protobuf.rs +3331 -0
  242. package/domainforge-core/src/projection/registry.rs +43 -0
  243. package/domainforge-core/src/python/authority.rs +253 -0
  244. package/domainforge-core/src/python/error.rs +227 -0
  245. package/domainforge-core/src/python/formatter.rs +86 -0
  246. package/domainforge-core/src/python/graph.rs +366 -0
  247. package/domainforge-core/src/python/mod.rs +9 -0
  248. package/domainforge-core/src/python/policy.rs +651 -0
  249. package/domainforge-core/src/python/primitives.rs +796 -0
  250. package/domainforge-core/src/python/registry.rs +98 -0
  251. package/domainforge-core/src/python/semantic_pack.rs +619 -0
  252. package/domainforge-core/src/python/units.rs +96 -0
  253. package/domainforge-core/src/registry/mod.rs +432 -0
  254. package/domainforge-core/src/registry/tests.rs +210 -0
  255. package/domainforge-core/src/sbvr.rs +744 -0
  256. package/domainforge-core/src/semantic_pack/builder.rs +470 -0
  257. package/domainforge-core/src/semantic_pack/canonical_json.rs +184 -0
  258. package/domainforge-core/src/semantic_pack/diagnostics.rs +214 -0
  259. package/domainforge-core/src/semantic_pack/diff.rs +216 -0
  260. package/domainforge-core/src/semantic_pack/mod.rs +31 -0
  261. package/domainforge-core/src/semantic_pack/pack_set.rs +240 -0
  262. package/domainforge-core/src/semantic_pack/resolver.rs +437 -0
  263. package/domainforge-core/src/semantic_pack/review.rs +125 -0
  264. package/domainforge-core/src/semantic_pack/schema.rs +342 -0
  265. package/domainforge-core/src/semantic_pack/signing.rs +105 -0
  266. package/domainforge-core/src/semantic_pack/validator.rs +368 -0
  267. package/domainforge-core/src/semantic_version.rs +140 -0
  268. package/domainforge-core/src/test_utils.rs +12 -0
  269. package/domainforge-core/src/typescript/authority.rs +184 -0
  270. package/domainforge-core/src/typescript/error.rs +146 -0
  271. package/domainforge-core/src/typescript/formatter.rs +76 -0
  272. package/domainforge-core/src/typescript/graph.rs +391 -0
  273. package/domainforge-core/src/typescript/mod.rs +9 -0
  274. package/domainforge-core/src/typescript/policy.rs +564 -0
  275. package/domainforge-core/src/typescript/primitives.rs +784 -0
  276. package/domainforge-core/src/typescript/registry.rs +88 -0
  277. package/domainforge-core/src/typescript/semantic_pack.rs +470 -0
  278. package/domainforge-core/src/typescript/units.rs +76 -0
  279. package/domainforge-core/src/units/mod.rs +462 -0
  280. package/domainforge-core/src/uuid_module.rs +42 -0
  281. package/domainforge-core/src/validation_error.rs +818 -0
  282. package/domainforge-core/src/validation_result.rs +30 -0
  283. package/domainforge-core/src/wasm/authority.rs +192 -0
  284. package/domainforge-core/src/wasm/error.rs +145 -0
  285. package/domainforge-core/src/wasm/formatter.rs +69 -0
  286. package/domainforge-core/src/wasm/graph.rs +471 -0
  287. package/domainforge-core/src/wasm/mod.rs +16 -0
  288. package/domainforge-core/src/wasm/policy.rs +607 -0
  289. package/domainforge-core/src/wasm/primitives.rs +295 -0
  290. package/domainforge-core/src/wasm/semantic_pack.rs +471 -0
  291. package/domainforge-core/src/wasm/units.rs +62 -0
  292. package/domainforge-core/std/aws.sea +6 -0
  293. package/domainforge-core/std/core.sea +6 -0
  294. package/domainforge-core/std/http.sea +27 -0
  295. package/domainforge-core/tests/aggregation_enhanced_tests.rs +162 -0
  296. package/domainforge-core/tests/aggregation_eval_tests.rs +248 -0
  297. package/domainforge-core/tests/aggregation_integration_tests.rs +379 -0
  298. package/domainforge-core/tests/aggregation_parser_tests.rs +92 -0
  299. package/domainforge-core/tests/aggregation_tests.rs +102 -0
  300. package/domainforge-core/tests/authority_conformance_tests.rs +1173 -0
  301. package/domainforge-core/tests/calm_round_trip_tests.rs +283 -0
  302. package/domainforge-core/tests/calm_schema_validation_tests.rs +137 -0
  303. package/domainforge-core/tests/cast_operator_tests.rs +85 -0
  304. package/domainforge-core/tests/cli_binary_check.rs +37 -0
  305. package/domainforge-core/tests/cli_import_tests.rs +291 -0
  306. package/domainforge-core/tests/cli_path_traversal_tests.rs +124 -0
  307. package/domainforge-core/tests/cli_tests.rs +63 -0
  308. package/domainforge-core/tests/diagnostics_tests.rs +203 -0
  309. package/domainforge-core/tests/dimension_unit_tests.rs +80 -0
  310. package/domainforge-core/tests/entity_tests.rs +69 -0
  311. package/domainforge-core/tests/evolution_semantics_tests.rs +157 -0
  312. package/domainforge-core/tests/flow_tests.rs +78 -0
  313. package/domainforge-core/tests/flow_unit_validation_tests.rs +31 -0
  314. package/domainforge-core/tests/graph_integration_tests.rs +218 -0
  315. package/domainforge-core/tests/graph_tests.rs +626 -0
  316. package/domainforge-core/tests/import_parsing_tests.rs +23 -0
  317. package/domainforge-core/tests/instance_integration_tests.rs +98 -0
  318. package/domainforge-core/tests/instance_parsing_tests.rs +58 -0
  319. package/domainforge-core/tests/instance_tests.rs +61 -0
  320. package/domainforge-core/tests/kg_uri_encoding_tests.rs +53 -0
  321. package/domainforge-core/tests/lint_tests.rs +19 -0
  322. package/domainforge-core/tests/metric_tests.rs +143 -0
  323. package/domainforge-core/tests/module_resolution_tests.rs +100 -0
  324. package/domainforge-core/tests/namespace_registry_tests.rs +247 -0
  325. package/domainforge-core/tests/null_handling_tests.rs +26 -0
  326. package/domainforge-core/tests/parser_ast_v3.rs +53 -0
  327. package/domainforge-core/tests/parser_dimension_registry_tests.rs +20 -0
  328. package/domainforge-core/tests/parser_integration_tests.rs +294 -0
  329. package/domainforge-core/tests/parser_metadata_tests.rs +97 -0
  330. package/domainforge-core/tests/parser_resource_domain_only_graph_test.rs +21 -0
  331. package/domainforge-core/tests/parser_resource_limits_tests.rs +122 -0
  332. package/domainforge-core/tests/parser_tests.rs +512 -0
  333. package/domainforge-core/tests/pattern_semantics_tests.rs +87 -0
  334. package/domainforge-core/tests/phase_14_determinism_tests.rs +166 -0
  335. package/domainforge-core/tests/phase_15_validation_error_tests.rs +136 -0
  336. package/domainforge-core/tests/phase_16_unicode_tests.rs +248 -0
  337. package/domainforge-core/tests/phase_17_export_tests.rs +285 -0
  338. package/domainforge-core/tests/phase_17_round_trip_tests.rs +264 -0
  339. package/domainforge-core/tests/policy_tests.rs +635 -0
  340. package/domainforge-core/tests/primitives_integration_tests.rs +151 -0
  341. package/domainforge-core/tests/print_rdf_xml.rs +14 -0
  342. package/domainforge-core/tests/printer_tests.rs +204 -0
  343. package/domainforge-core/tests/profile_tests.rs +35 -0
  344. package/domainforge-core/tests/projection_contracts_tests.rs +154 -0
  345. package/domainforge-core/tests/protobuf_projection_tests.rs +199 -0
  346. package/domainforge-core/tests/quantity_tests.rs +41 -0
  347. package/domainforge-core/tests/rdf_xml_typed_literal_tests.rs +105 -0
  348. package/domainforge-core/tests/registry_schema_tests.rs +33 -0
  349. package/domainforge-core/tests/resource_tests.rs +50 -0
  350. package/domainforge-core/tests/resource_unit_tests.rs +24 -0
  351. package/domainforge-core/tests/roles_relations_tests.rs +61 -0
  352. package/domainforge-core/tests/round_trip_tests.rs +34 -0
  353. package/domainforge-core/tests/runtime_toggle_tests.rs +70 -0
  354. package/domainforge-core/tests/sbvr_fact_schema_tests.rs +60 -0
  355. package/domainforge-core/tests/sbvr_flow_facts_tests.rs +55 -0
  356. package/domainforge-core/tests/sbvr_parsing_tests.rs +53 -0
  357. package/domainforge-core/tests/semantic_pack_alias_resolution.rs +197 -0
  358. package/domainforge-core/tests/semantic_pack_build.rs +302 -0
  359. package/domainforge-core/tests/semantic_pack_consumer_smoke.rs +150 -0
  360. package/domainforge-core/tests/semantic_pack_pack_set.rs +160 -0
  361. package/domainforge-core/tests/semantic_pack_signing.rs +157 -0
  362. package/domainforge-core/tests/semantic_pack_three_valued.rs +250 -0
  363. package/domainforge-core/tests/semantic_pack_validate.rs +196 -0
  364. package/domainforge-core/tests/std_lib_tests.rs +37 -0
  365. package/domainforge-core/tests/temporal_evaluation_tests.rs +159 -0
  366. package/domainforge-core/tests/temporal_semantics_tests.rs +214 -0
  367. package/domainforge-core/tests/three_valued_quantifiers_tests.rs +164 -0
  368. package/domainforge-core/tests/turtle_entity_export_tests.rs +38 -0
  369. package/domainforge-core/tests/turtle_escaping_tests.rs +53 -0
  370. package/domainforge-core/tests/turtle_resource_export_tests.rs +34 -0
  371. package/domainforge-core/tests/type_inference_tests.rs +40 -0
  372. package/domainforge-core/tests/unicode_validation_tests.rs +169 -0
  373. package/domainforge-core/tests/unit_tests.rs +81 -0
  374. package/domainforge-core/tests/validate_tests.rs +38 -0
  375. package/domainforge-core/tests/validation_unit_mismatch_tests.rs +83 -0
  376. package/domainforge-core/tests/wasm_tests.rs +229 -0
  377. package/domainforge-python/CHANGELOG-python.md +12 -0
  378. package/domainforge-python/MIGRATING.md +24 -0
  379. package/domainforge-python/README.md +256 -0
  380. package/domainforge-python/domainforge/__init__.py +95 -0
  381. package/domainforge-python/domainforge/domainforge.pyi +519 -0
  382. package/domainforge-python/pyproject.toml +36 -0
  383. package/domainforge-typescript/CHANGELOG-typescript.md +12 -0
  384. package/domainforge-typescript/LICENSE +201 -0
  385. package/domainforge-typescript/MIGRATING.md +24 -0
  386. package/domainforge-typescript/README.md +305 -0
  387. package/domainforge-typescript/index.d.ts +452 -0
  388. package/domainforge-typescript/index.js +361 -0
  389. package/domainforge-typescript/package.json +60 -0
  390. package/example.js +61 -0
  391. package/examples/browser.html +366 -0
  392. package/examples/namespaces/finance/cashflow.sea +5 -0
  393. package/examples/namespaces/logistics/core.sea +7 -0
  394. package/examples/observability_metrics.sea +38 -0
  395. package/fixtures/semantic_packs/acme_procurement/domain/entities.sea +39 -0
  396. package/fixtures/semantic_packs/acme_procurement/domain/metrics.sea +11 -0
  397. package/fixtures/semantic_packs/acme_procurement/domain/relations.sea +7 -0
  398. package/fixtures/semantic_packs/acme_procurement/domain/resources.sea +9 -0
  399. package/fixtures/semantic_packs/acme_procurement/review/acme.procurement.semantic-review.jsonl +7 -0
  400. package/fixtures/semantic_packs/acme_procurement/tests/ambiguous_vendor_alias.sea +8 -0
  401. package/fixtures/semantic_packs/acme_procurement/tests/deprecated_vendor_alias.sea +8 -0
  402. package/fixtures/semantic_packs/acme_procurement/tests/invalid_relation.sea +3 -0
  403. package/fixtures/semantic_packs/acme_procurement/tests/proposed_concept.sea +8 -0
  404. package/fixtures/semantic_packs/acme_procurement/tests/rejected_concept.sea +8 -0
  405. package/fixtures/semantic_packs/acme_procurement/tests/unit_mismatch.sea +7 -0
  406. package/fixtures/semantic_packs/acme_procurement/tests/unknown_vendor_policy.sea +8 -0
  407. package/fixtures/semantic_packs/acme_procurement/tests/valid_purchase_policy.sea +8 -0
  408. package/index.d.ts +2 -0
  409. package/index.js +8 -0
  410. package/justfile +200 -0
  411. package/lefthook.yml +13 -0
  412. package/lib/validate_native_exports.d.ts +4 -0
  413. package/lib/validate_native_exports.js +12 -0
  414. package/package.json +22 -0
  415. package/pytest.ini +5 -0
  416. package/python/tests/test_registry.py +75 -0
  417. package/python/tests/test_units.py +18 -0
  418. package/release-please-config.json +49 -0
  419. package/requirements-dev.txt +3 -0
  420. package/requirements.txt +3 -0
  421. package/rust-toolchain.toml +3 -0
  422. package/schemas/ast-v1.schema.json +72 -0
  423. package/schemas/ast-v2.schema.json +1200 -0
  424. package/schemas/ast-v3.schema.json +1200 -0
  425. package/schemas/sea-registry.schema.json +45 -0
  426. package/scripts/build-python.sh +37 -0
  427. package/scripts/build-release.sh +279 -0
  428. package/scripts/build-typescript.sh +13 -0
  429. package/scripts/build-wasm.sh +113 -0
  430. package/scripts/bump-version.sh +245 -0
  431. package/scripts/check_unused_test_imports.py +85 -0
  432. package/scripts/ci_tasks.py +379 -0
  433. package/scripts/clear_debug_test.sh +10 -0
  434. package/scripts/create-github-release.sh +262 -0
  435. package/scripts/create-tag.sh +203 -0
  436. package/scripts/find_and_link_test_binary.sh +70 -0
  437. package/scripts/generate-changelog.sh +271 -0
  438. package/scripts/generate-release-notes.sh +205 -0
  439. package/scripts/lint_release_security.py +96 -0
  440. package/scripts/lint_release_workflows.py +82 -0
  441. package/scripts/lint_workflow_gates.py +113 -0
  442. package/scripts/optimized-wasm-build.sh +61 -0
  443. package/scripts/patch_napi_types.py +62 -0
  444. package/scripts/pre-release-check.sh +289 -0
  445. package/scripts/prepare_rust_debug.sh +52 -0
  446. package/scripts/release.sh +373 -0
  447. package/scripts/resolve_rust_binary.py +230 -0
  448. package/scripts/run_commitlint.sh +29 -0
  449. package/scripts/test-all.sh +77 -0
  450. package/scripts/update_launch_program.py +93 -0
  451. package/secrets/README.md +27 -0
  452. package/secrets/secrets.yaml +21 -0
  453. package/test_integration.py +67 -0
  454. package/tests/test_authority.py +328 -0
  455. package/tests/test_ci_tasks.py +143 -0
  456. package/tests/test_expression.py +256 -0
  457. package/tests/test_golden_payment_flow.py +42 -0
  458. package/tests/test_graph.py +127 -0
  459. package/tests/test_instance.py +136 -0
  460. package/tests/test_parser.py +82 -0
  461. package/tests/test_primitives.py +68 -0
  462. package/tests/test_role_relation_parity.py +56 -0
  463. package/tests/test_runtime_toggle.py +156 -0
  464. package/tests/test_semantic_pack.py +639 -0
  465. package/tests/test_three_valued_eval.py +159 -0
  466. package/tsconfig.json +30 -0
  467. package/typescript-tests/advanced.test.ts +165 -0
  468. package/typescript-tests/authority.test.ts +216 -0
  469. package/typescript-tests/expression.test.ts +228 -0
  470. package/typescript-tests/golden-payment-flow.test.ts +51 -0
  471. package/typescript-tests/graph.test.ts +142 -0
  472. package/typescript-tests/native-binding.test.ts +20 -0
  473. package/typescript-tests/primitives.test.ts +88 -0
  474. package/typescript-tests/registry.test.ts +122 -0
  475. package/typescript-tests/role_relation.test.ts +63 -0
  476. package/typescript-tests/runtime_toggle.test.ts +141 -0
  477. package/typescript-tests/semantic-pack.test.ts +556 -0
  478. package/typescript-tests/three_valued_eval.test.ts +135 -0
  479. package/typescript-tests/units.test.ts +36 -0
  480. package/vitest.config.ts +13 -0
  481. package/wasm_demo.html +225 -0
@@ -0,0 +1,452 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+
4
+ /* auto-generated by NAPI-RS */
5
+
6
+ export const enum FinalDecision {
7
+ Allow = 0,
8
+ Deny = 1,
9
+ Escalate = 2,
10
+ NotApplicable = 3,
11
+ Reject = 4
12
+ }
13
+ export const enum PolicyModality {
14
+ Permission = 0,
15
+ Prohibition = 1,
16
+ Obligation = 2,
17
+ Override = 3
18
+ }
19
+ export const enum SourceClass {
20
+ CallerSupplied = 0,
21
+ RuntimeObserved = 1,
22
+ SystemOfRecord = 2,
23
+ Attested = 3,
24
+ ManualApproval = 4,
25
+ Derived = 5,
26
+ UnknownSource = 6
27
+ }
28
+ export const enum ClaimLevel {
29
+ AuditBacked = 0,
30
+ Validated = 1,
31
+ FormallyProven = 2
32
+ }
33
+ /** Evaluate an authority request against a policy environment. */
34
+ export declare function evaluateAuthority(configJson: string, requestJson: string, factsJson?: string | undefined | null): EvaluateAuthorityResult
35
+ export interface EvaluateAuthorityResult {
36
+ traceJson: string
37
+ decisionJson: string
38
+ }
39
+ /** Configuration options for the formatter. */
40
+ export interface FormatOptions {
41
+ /** Number of spaces per indent level (default: 4) */
42
+ indentWidth?: number
43
+ /** Use tabs instead of spaces for indentation (default: false) */
44
+ useTabs?: boolean
45
+ /** Preserve comments in output (default: true) */
46
+ preserveComments?: boolean
47
+ /** Sort imports alphabetically (default: true) */
48
+ sortImports?: boolean
49
+ }
50
+ /**
51
+ * Format SEA-DSL source code.
52
+ *
53
+ * @param source - The SEA-DSL source code to format
54
+ * @param options - Optional formatting configuration
55
+ * @returns The formatted source code
56
+ * @throws Error if the source code cannot be parsed
57
+ *
58
+ * @example
59
+ * ```typescript
60
+ * import { formatSource } from '@godspeedai/domainforge';
61
+ *
62
+ * const formatted = formatSource('Entity "Foo" in bar');
63
+ * console.log(formatted); // Entity "Foo" in bar
64
+ * ```
65
+ */
66
+ export declare function formatSource(source: string, options?: FormatOptions | undefined | null): string
67
+ /**
68
+ * Check if SEA-DSL source code is already formatted.
69
+ *
70
+ * @param source - The SEA-DSL source code to check
71
+ * @param options - Optional formatting configuration
72
+ * @returns True if the source is already formatted, false otherwise
73
+ * @throws Error if the source code cannot be parsed
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * import { checkFormat } from '@godspeedai/domainforge';
78
+ *
79
+ * console.log(checkFormat('Entity "Foo" in bar
80
+ ')); // true
81
+ * console.log(checkFormat('Entity "Foo" in bar')); // false
82
+ * ```
83
+ */
84
+ export declare function checkFormat(source: string, options?: FormatOptions | undefined | null): boolean
85
+ export const enum AggregateFunction {
86
+ Count = 0,
87
+ Sum = 1,
88
+ Min = 2,
89
+ Max = 3,
90
+ Avg = 4
91
+ }
92
+ export const enum BinaryOp {
93
+ And = 0,
94
+ Or = 1,
95
+ Equal = 2,
96
+ NotEqual = 3,
97
+ GreaterThan = 4,
98
+ LessThan = 5,
99
+ GreaterThanOrEqual = 6,
100
+ LessThanOrEqual = 7,
101
+ Plus = 8,
102
+ Minus = 9,
103
+ Multiply = 10,
104
+ Divide = 11,
105
+ Contains = 12,
106
+ StartsWith = 13,
107
+ EndsWith = 14,
108
+ Matches = 15,
109
+ HasRole = 16,
110
+ Before = 17,
111
+ After = 18,
112
+ During = 19
113
+ }
114
+ export const enum UnaryOp {
115
+ Not = 0,
116
+ Negate = 1
117
+ }
118
+ export const enum Quantifier {
119
+ ForAll = 0,
120
+ Exists = 1,
121
+ ExistsUnique = 2
122
+ }
123
+ /** Severity level for policy violations */
124
+ export const enum Severity {
125
+ Error = 0,
126
+ Warning = 1,
127
+ Info = 2
128
+ }
129
+ export interface WindowSpec {
130
+ duration: number
131
+ unit: string
132
+ }
133
+ /** A policy violation */
134
+ export interface Violation {
135
+ name: string
136
+ message: string
137
+ severity: Severity
138
+ }
139
+ /** Result of evaluating a policy against a graph */
140
+ export interface EvaluationResult {
141
+ /** Backwards compatible boolean: false if evaluation is unknown (NULL) */
142
+ isSatisfied: boolean
143
+ /** Tri-state evaluation result: true, false, or null (NULL) */
144
+ isSatisfiedTristate?: boolean
145
+ /** List of violations */
146
+ violations: Array<Violation>
147
+ }
148
+ export const enum SemanticTruth {
149
+ Valid = 0,
150
+ Invalid = 1,
151
+ Unknown = 2
152
+ }
153
+ export const enum DiagnosticSeverity {
154
+ Error = 0,
155
+ Warning = 1,
156
+ Info = 2,
157
+ Hint = 3
158
+ }
159
+ export const enum ValidationMode {
160
+ Off = 0,
161
+ Warn = 1,
162
+ Strict = 2
163
+ }
164
+ export const enum ApprovalState {
165
+ Candidate = 0,
166
+ Approved = 1,
167
+ Rejected = 2
168
+ }
169
+ export const enum SignatureState {
170
+ Unsigned = 0,
171
+ Signed = 1,
172
+ InvalidSignature = 2
173
+ }
174
+ export const enum ConceptStatus {
175
+ Active = 0,
176
+ Proposed = 1,
177
+ Deprecated = 2,
178
+ Rejected = 3,
179
+ ExternalOnly = 4
180
+ }
181
+ export const enum ConceptKind {
182
+ Entity = 0,
183
+ Resource = 1,
184
+ Role = 2,
185
+ Flow = 3,
186
+ Policy = 4,
187
+ Metric = 5,
188
+ Dimension = 6,
189
+ Unit = 7,
190
+ External = 8
191
+ }
192
+ export const enum AliasStatus {
193
+ Approved = 0,
194
+ Deprecated = 1,
195
+ Ambiguous = 2,
196
+ Blocked = 3
197
+ }
198
+ export const enum SemanticValidationStatus {
199
+ Passed = 0,
200
+ Failed = 1,
201
+ Unknown = 2,
202
+ Blocked = 3
203
+ }
204
+ export declare function semanticPackBuild(inputJson: string): string
205
+ export declare function semanticPackValidate(packJson: string): string
206
+ export declare function semanticPackValidateGraph(packJson: string, source: string, optionsJson: string): string
207
+ export declare function semanticPackSign(packJson: string, privateKeyPem: string): string
208
+ export declare function semanticPackVerify(packJson: string, publicKeyPem: string): boolean
209
+ export declare function semanticPackDiff(oldJson: string, newJson: string): string
210
+ export declare function semanticPackHash(packJson: string): string
211
+ export declare function semanticNormalizeKey(text: string): string
212
+ export declare function semanticResolveConcept(rawText: string, packJson: string, optionsJson: string): string
213
+ export declare class Graph {
214
+ constructor()
215
+ addEntity(entity: Entity): void
216
+ addResource(resource: Resource): void
217
+ addFlow(flow: Flow): void
218
+ addInstance(instance: ResourceInstance): void
219
+ addRole(role: Role): void
220
+ addRelation(relation: Relation): void
221
+ entityCount(): number
222
+ resourceCount(): number
223
+ flowCount(): number
224
+ instanceCount(): number
225
+ patternCount(): number
226
+ roleCount(): number
227
+ relationCount(): number
228
+ hasEntity(id: string): boolean
229
+ hasResource(id: string): boolean
230
+ hasFlow(id: string): boolean
231
+ hasInstance(id: string): boolean
232
+ getEntity(id: string): Entity | null
233
+ getResource(id: string): Resource | null
234
+ getFlow(id: string): Flow | null
235
+ getInstance(id: string): ResourceInstance | null
236
+ findRoleByName(name: string): string | null
237
+ findEntityByName(name: string): string | null
238
+ findResourceByName(name: string): string | null
239
+ flowsFrom(entityId: string): Array<Flow>
240
+ flowsTo(entityId: string): Array<Flow>
241
+ allEntities(): Array<Entity>
242
+ allResources(): Array<Resource>
243
+ allFlows(): Array<Flow>
244
+ allInstances(): Array<ResourceInstance>
245
+ allRoles(): Array<Role>
246
+ allRelations(): Array<Relation>
247
+ static parse(source: string): Graph
248
+ exportCalm(): string
249
+ static importCalm(calmJson: string): Graph
250
+ /**
251
+ * Export the graph to Protobuf .proto text format.
252
+ *
253
+ * @param package - The Protobuf package name (e.g., "com.example.api")
254
+ * @param namespace - Optional namespace filter (undefined = all namespaces)
255
+ * @param projectionName - Optional name for the projection (used in comments)
256
+ * @param includeGovernance - Whether to include governance messages (PolicyViolation, MetricEvent)
257
+ * @param includeServices - Whether to generate gRPC service definitions from Flow patterns
258
+ * @returns The generated .proto file content as a string
259
+ */
260
+ exportProtobuf(package: string, namespace?: string | undefined | null, projectionName?: string | undefined | null, includeGovernance?: boolean | undefined | null, includeServices?: boolean | undefined | null): string
261
+ addPolicy(policyJson: string): void
262
+ addAssociation(owner: string, owned: string, relType: string): void
263
+ /**
264
+ * Evaluate a Policy JSON payload against this Graph.
265
+ *
266
+ * The `policy_json` argument must be the JSON representation of `crate::policy::Policy`
267
+ * (including fields like `id`, `name`, `modality`, `kind`, `version`, and `expression`).
268
+ * Returns `EvaluationResult` exposed to TypeScript via napi, or an error if the policy JSON
269
+ * is invalid or evaluation fails.
270
+ */
271
+ evaluatePolicy(policyJson: string): EvaluationResult
272
+ /**
273
+ * Set the evaluation mode for policy evaluation.
274
+ * When `useThreeValuedLogic` is true, policies will use three-valued logic (true, false, null).
275
+ * When false, policies will use strict boolean logic (true, false).
276
+ */
277
+ setEvaluationMode(useThreeValuedLogic: boolean): void
278
+ /**
279
+ * Get the current evaluation mode.
280
+ * Returns true if three-valued logic is enabled, false otherwise.
281
+ */
282
+ useThreeValuedLogic(): boolean
283
+ toString(): string
284
+ }
285
+ /** A policy expression that can be normalized and compared for equivalence. */
286
+ export declare class Expression {
287
+ /** Create a literal expression from a JSON-compatible value (passed as JSON string). */
288
+ static literal(valueJson: string): Expression
289
+ /** Create a literal boolean expression. */
290
+ static literalBool(value: boolean): Expression
291
+ /** Create a literal number expression. */
292
+ static literalNumber(value: number): Expression
293
+ /** Create a literal string expression. */
294
+ static literalString(value: string): Expression
295
+ /** Create a variable expression. */
296
+ static variable(name: string): Expression
297
+ /** Create a quantity literal expression (e.g., "100 USD"). */
298
+ static quantity(value: string, unit: string): Expression
299
+ /** Create a time literal expression (ISO 8601 timestamp). */
300
+ static time(timestamp: string): Expression
301
+ /** Create an interval literal expression. */
302
+ static interval(start: string, end: string): Expression
303
+ /** Create a binary expression (e.g., left AND right). */
304
+ static binary(op: BinaryOp, left: Expression, right: Expression): Expression
305
+ /** Create a unary expression (e.g., NOT x). */
306
+ static unary(op: UnaryOp, operand: Expression): Expression
307
+ /** Create a cast expression (e.g., x as "Money"). */
308
+ static cast(operand: Expression, targetType: string): Expression
309
+ /** Create a quantifier expression (ForAll, Exists, ExistsUnique). */
310
+ static quantifier(q: Quantifier, variable: string, collection: Expression, condition: Expression): Expression
311
+ /** Create a member access expression (e.g., user.name). */
312
+ static memberAccess(object: string, member: string): Expression
313
+ /** Create an aggregation expression (e.g., COUNT(items)). */
314
+ static aggregation(aggFunction: AggregateFunction, collection: Expression, field?: string | undefined | null, filter?: Expression | undefined | null): Expression
315
+ /** Create an aggregation comprehension expression. */
316
+ static aggregationComprehension(aggregateFunction: AggregateFunction, variable: string, collection: Expression, predicate: Expression, projection: Expression, window?: WindowSpec | undefined | null, targetUnit?: string | undefined | null): Expression
317
+ /** Create a group-by expression. */
318
+ static groupBy(variable: string, collection: Expression, key: Expression, condition: Expression, filter?: Expression | undefined | null): Expression
319
+ /** Normalize this expression to canonical form. */
320
+ normalize(): NormalizedExpression
321
+ /** Check if this expression is semantically equivalent to another. */
322
+ isEquivalent(other: Expression): boolean
323
+ /** Get the string representation of this expression. */
324
+ toStringRepr(): string
325
+ /** Check equality with another expression. */
326
+ equals(other: Expression): boolean
327
+ }
328
+ /** A normalized expression with a stable hash for caching and equivalence checks. */
329
+ export declare class NormalizedExpression {
330
+ /** Get the stable hash value for this normalized expression as a string. */
331
+ stableHash(): string
332
+ /** Get the stable hash as a hex string. */
333
+ stableHashHex(): string
334
+ /** Get the inner expression. */
335
+ innerExpression(): Expression
336
+ /** Get the string representation of this normalized expression. */
337
+ toStringRepr(): string
338
+ /** Check equality with another normalized expression. */
339
+ equals(other: NormalizedExpression): boolean
340
+ }
341
+ export declare class Entity {
342
+ constructor(name: string, namespace?: string | undefined | null)
343
+ get id(): string
344
+ get name(): string
345
+ get namespace(): string | null
346
+ setAttribute(key: string, valueJson: string): void
347
+ getAttribute(key: string): string | null
348
+ toString(): string
349
+ }
350
+ export declare class Resource {
351
+ constructor(name: string, unit: string, namespace?: string | undefined | null)
352
+ get id(): string
353
+ get name(): string
354
+ get unit(): string
355
+ get namespace(): string | null
356
+ setAttribute(key: string, valueJson: string): void
357
+ getAttribute(key: string): string | null
358
+ toString(): string
359
+ }
360
+ export declare class Flow {
361
+ constructor(resourceId: string, fromId: string, toId: string, quantity: number)
362
+ get id(): string
363
+ get resourceId(): string
364
+ get fromId(): string
365
+ get toId(): string
366
+ get quantity(): number
367
+ get namespace(): string | null
368
+ setAttribute(key: string, valueJson: string): void
369
+ getAttribute(key: string): string | null
370
+ toString(): string
371
+ }
372
+ export declare class ResourceInstance {
373
+ constructor(resourceId: string, entityId: string, namespace?: string | undefined | null)
374
+ get id(): string
375
+ get resourceId(): string
376
+ get entityId(): string
377
+ get namespace(): string | null
378
+ setAttribute(key: string, valueJson: string): void
379
+ getAttribute(key: string): string | null
380
+ toString(): string
381
+ }
382
+ export declare class Instance {
383
+ constructor(name: string, entityType: string, namespace?: string | undefined | null)
384
+ get id(): string
385
+ get name(): string
386
+ get entityType(): string
387
+ get namespace(): string | null
388
+ setField(key: string, valueJson: string): void
389
+ getField(key: string): string | null
390
+ toString(): string
391
+ }
392
+ export declare class Metric {
393
+ get name(): string
394
+ get namespace(): string | null
395
+ get threshold(): number | null
396
+ get target(): number | null
397
+ get unit(): string | null
398
+ get severity(): string | null
399
+ }
400
+ export declare class Mapping {
401
+ get name(): string
402
+ get targetFormat(): string
403
+ }
404
+ export declare class Projection {
405
+ get name(): string
406
+ get targetFormat(): string
407
+ }
408
+ export declare class Role {
409
+ constructor(name: string, namespace?: string | undefined | null)
410
+ get id(): string
411
+ get name(): string
412
+ get namespace(): string | null
413
+ setAttribute(key: string, valueJson: string): void
414
+ getAttribute(key: string): string | null
415
+ toString(): string
416
+ }
417
+ export declare class Relation {
418
+ constructor(name: string, subjectRoleId: string, predicate: string, objectRoleId: string, namespace?: string | undefined | null, viaFlowId?: string | undefined | null)
419
+ get id(): string
420
+ get name(): string
421
+ get namespace(): string
422
+ get subjectRoleId(): string
423
+ get predicate(): string
424
+ get objectRoleId(): string
425
+ get viaFlowId(): string | null
426
+ toString(): string
427
+ }
428
+ export declare class NamespaceBinding {
429
+ constructor(path: string, namespace: string)
430
+ get path(): string
431
+ get namespace(): string
432
+ }
433
+ export declare class NamespaceRegistry {
434
+ static fromFile(path: string): NamespaceRegistry
435
+ static discover(path: string): NamespaceRegistry | null
436
+ resolveFiles(failOnAmbiguity?: boolean | undefined | null): Array<NamespaceBinding>
437
+ namespaceFor(path: string, failOnAmbiguity?: boolean | undefined | null): string
438
+ get root(): string
439
+ get defaultNamespace(): string
440
+ }
441
+ export declare class Dimension {
442
+ static parse(name: string): Dimension
443
+ get name(): string
444
+ }
445
+ export declare class Unit {
446
+ constructor(symbol: string, name: string, dimension: string, baseFactor: number, baseUnit: string)
447
+ get symbol(): string
448
+ get name(): string
449
+ get dimension(): string
450
+ get baseFactor(): number
451
+ get baseUnit(): string
452
+ }