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.
- package/.cargo/config.toml +6 -0
- package/.claude/settings.local.json +18 -0
- package/.coderabbit.yml +43 -0
- package/.codex/skills/release-management/SKILL.md +151 -0
- package/.codex/skills/release-management/agents/openai.yaml +4 -0
- package/.github/actions/decrypt-secrets/action.yml +121 -0
- package/.github/agents/Coder.agent.md +97 -0
- package/.github/agents/DeepResearch.agent.md +61 -0
- package/.github/chatmodes/tdd.vibepro.chatmode.md +1183 -0
- package/.github/copilot-instructions.md +13 -0
- package/.github/dependabot.yml +68 -0
- package/.github/workflows/README.md +165 -0
- package/.github/workflows/ci.yml +335 -0
- package/.github/workflows/dependabot-automerge.yml +114 -0
- package/.github/workflows/dependency-review.yml +27 -0
- package/.github/workflows/deploy.yml +87 -0
- package/.github/workflows/prepare-release.yml +168 -0
- package/.github/workflows/release-crates.yml +42 -0
- package/.github/workflows/release-npm.yml +137 -0
- package/.github/workflows/release-please.yml +29 -0
- package/.github/workflows/release-pypi.yml +96 -0
- package/.gitkeep +1 -0
- package/.release-please-manifest.json +5 -0
- package/.sea-registry.toml +10 -0
- package/.serena/project.yml +133 -0
- package/.sops.yaml +10 -0
- package/AGENTS.md +216 -0
- package/CHANGELOG.md +400 -0
- package/CLAUDE.md +62 -0
- package/CONTRIBUTING.md +323 -0
- package/Cargo.lock +3612 -0
- package/Cargo.toml +12 -0
- package/LICENSE +201 -0
- package/README.md +660 -0
- package/README_PYTHON.md +256 -0
- package/README_TYPESCRIPT.md +305 -0
- package/README_WASM.md +329 -0
- package/RELEASE_NOTES.md +41 -0
- package/bun.lock +378 -0
- package/bunfig.toml +11 -0
- package/check_output.txt +83 -0
- package/clippy_output.txt +80 -0
- package/commitlint.config.cjs +8 -0
- package/deny.toml +42 -0
- package/devbox.json +14 -0
- package/devbox.lock +76 -0
- package/docs/RELEASE_PROCESS.md +360 -0
- package/docs/diagnostics.md +161 -0
- package/docs/doc_guidelines.md +53 -0
- package/docs/explanations/README.md +21 -0
- package/docs/explanations/architecture-overview.md +109 -0
- package/docs/explanations/cross-language-binding-strategy.md +68 -0
- package/docs/explanations/graph-store-design.md +47 -0
- package/docs/explanations/performance-benchmarks.md +63 -0
- package/docs/explanations/policy-evaluation-logic.md +106 -0
- package/docs/explanations/semantic-modeling-concepts.md +109 -0
- package/docs/explanations/three-valued-logic.md +66 -0
- package/docs/explanations/versioning-strategy.md +45 -0
- package/docs/governance.md +168 -0
- package/docs/how-tos/README.md +46 -0
- package/docs/how-tos/ci-cd-validation.md +93 -0
- package/docs/how-tos/create-custom-units.md +125 -0
- package/docs/how-tos/define-policies.md +119 -0
- package/docs/how-tos/export-to-calm.md +110 -0
- package/docs/how-tos/export-to-protobuf.md +312 -0
- package/docs/how-tos/extend-grammar.md +133 -0
- package/docs/how-tos/generate-rdf-turtle.md +106 -0
- package/docs/how-tos/import-from-calm.md +114 -0
- package/docs/how-tos/import-from-sbvr.md +249 -0
- package/docs/how-tos/install-cli.md +126 -0
- package/docs/how-tos/parse-sea-files.md +132 -0
- package/docs/how-tos/policy-evaluation-modes.md +30 -0
- package/docs/how-tos/run-cross-language-tests.md +115 -0
- package/docs/how-tos/troubleshoot-napi-builds.md +55 -0
- package/docs/how-tos/use-modules-imports.md +285 -0
- package/docs/index.md +13 -0
- package/docs/plans/canonical-normalizer.md +121 -0
- package/docs/plans/cd_improvement.md +112 -0
- package/docs/plans/cli-ast.md +29 -0
- package/docs/plans/expression-bindings-and-normalizer-integration.md +174 -0
- package/docs/plans/protobuf_advanced_features_plan.md +597 -0
- package/docs/plans/protobuf_plan.yml +525 -0
- package/docs/plans/refactor_dsl_architecture.md +131 -0
- package/docs/plans/release-plan.md +163 -0
- package/docs/plans/sea_fmt_implementation_plan.md +516 -0
- package/docs/playbooks/README.md +18 -0
- package/docs/playbooks/adding-new-primitive.md +68 -0
- package/docs/playbooks/debugging-parser-failures.md +42 -0
- package/docs/playbooks/local-release-preparation.md +139 -0
- package/docs/playbooks/migrating-schema-versions.md +43 -0
- package/docs/playbooks/onboarding-contributors.md +64 -0
- package/docs/playbooks/releasing-beta.md +86 -0
- package/docs/playbooks/secret-management.md +64 -0
- package/docs/reference/README.md +199 -0
- package/docs/reference/ast-json-api.md +427 -0
- package/docs/reference/calm-mapping.md +519 -0
- package/docs/reference/cli-commands.md +588 -0
- package/docs/reference/configuration.md +202 -0
- package/docs/reference/error-codes.md +664 -0
- package/docs/reference/generated-artifacts-policy.md +53 -0
- package/docs/reference/grammar-spec.md +255 -0
- package/docs/reference/primitives-api.md +317 -0
- package/docs/reference/protobuf-api.md +426 -0
- package/docs/reference/python-api.md +485 -0
- package/docs/reference/registry.md +50 -0
- package/docs/reference/sea-dsl-ai-cheatsheet.yaml +913 -0
- package/docs/reference/security-model.md +74 -0
- package/docs/reference/typescript-api.md +508 -0
- package/docs/reference/wasm-api.md +420 -0
- package/docs/semantic-pack-review.md +144 -0
- package/docs/semantic-pack-signing.md +234 -0
- package/docs/semantic-packs.md +284 -0
- package/docs/specs/ADR-001-sea-dsl-semantic-source-of-truth.md +33 -0
- package/docs/specs/ADR-002-projection-first-class-construct.md +50 -0
- package/docs/specs/ADR-003-protobuf-projection-target.md +51 -0
- package/docs/specs/ADR-004-projection-compatibility-semantics.md +57 -0
- package/docs/specs/ADR-005-multi-language-support-strategy.md +112 -0
- package/docs/specs/ADR-006-error-handling-strategy.md +115 -0
- package/docs/specs/ADR-007-policy-evaluation-engine.md +95 -0
- package/docs/specs/ADR-008-knowledge-graph-integration.md +90 -0
- package/docs/specs/ADR-009-module-resolution-strategy.md +115 -0
- package/docs/specs/ADR-010-unit-system.md +106 -0
- package/docs/specs/PRD-001-sea-projection-framework.md +155 -0
- package/docs/specs/PRD-002-sea-cli-tooling.md +169 -0
- package/docs/specs/PRD-003-dsl-core-capabilities.md +275 -0
- package/docs/specs/README.md +62 -0
- package/docs/specs/SDS-001-protobuf-projection-engine.md +451 -0
- package/docs/specs/SDS-002-sea-core-architecture.md +268 -0
- package/docs/specs/SDS-003-parser-semantic-graph.md +377 -0
- package/docs/specs/SDS-004-policy-engine-design.md +362 -0
- package/docs/specs/SDS-005-knowledge-graph-module.md +364 -0
- package/docs/specs/SDS-006-calm-integration.md +367 -0
- package/docs/specs/SDS-007-sbvr-import.md +347 -0
- package/docs/templates/template_explanation.md +14 -0
- package/docs/templates/template_howto.md +21 -0
- package/docs/templates/template_playbook.md +21 -0
- package/docs/templates/template_reference.md +17 -0
- package/docs/templates/template_tutorial.md +24 -0
- package/docs/tutorials/README.md +12 -0
- package/docs/tutorials/first-sea-model.md +85 -0
- package/docs/tutorials/getting-started.md +98 -0
- package/docs/tutorials/python-binding-quickstart.md +107 -0
- package/docs/tutorials/typescript-binding-quickstart.md +91 -0
- package/docs/tutorials/wasm-in-browser.md +75 -0
- package/domainforge-core/CHANGELOG.md +138 -0
- package/domainforge-core/Cargo.toml +101 -0
- package/domainforge-core/MIGRATING.md +32 -0
- package/domainforge-core/README.md +197 -0
- package/domainforge-core/benchmark_results.txt +51 -0
- package/domainforge-core/build.rs +6 -0
- package/domainforge-core/deny.toml +31 -0
- package/domainforge-core/docs/specs/projections/sbvr_kg_mapping.md +43 -0
- package/domainforge-core/examples/basic.sea +7 -0
- package/domainforge-core/examples/cli/import_export_workflow.sh +38 -0
- package/domainforge-core/examples/cli/validate_example.sh +30 -0
- package/domainforge-core/examples/evolution_semantics.sea +31 -0
- package/domainforge-core/examples/parser_demo.rs +203 -0
- package/domainforge-core/grammar/sea.pest +408 -0
- package/domainforge-core/schemas/calm-v1.schema.json +170 -0
- package/domainforge-core/schemas/shacl/sea_shapes.ttl +19 -0
- package/domainforge-core/src/authority/compiler.rs +309 -0
- package/domainforge-core/src/authority/environment.rs +203 -0
- package/domainforge-core/src/authority/error.rs +164 -0
- package/domainforge-core/src/authority/fact_resolver.rs +224 -0
- package/domainforge-core/src/authority/mod.rs +25 -0
- package/domainforge-core/src/authority/pack.rs +133 -0
- package/domainforge-core/src/authority/policy.rs +224 -0
- package/domainforge-core/src/authority/resolver.rs +446 -0
- package/domainforge-core/src/authority/trace.rs +217 -0
- package/domainforge-core/src/authority/transform.rs +168 -0
- package/domainforge-core/src/authority/types.rs +617 -0
- package/domainforge-core/src/bin/domainforge.rs +25 -0
- package/domainforge-core/src/calm/export.rs +538 -0
- package/domainforge-core/src/calm/import.rs +1220 -0
- package/domainforge-core/src/calm/mod.rs +9 -0
- package/domainforge-core/src/calm/models.rs +108 -0
- package/domainforge-core/src/calm/sbvr_import.rs +9 -0
- package/domainforge-core/src/cli/authority.rs +149 -0
- package/domainforge-core/src/cli/format.rs +85 -0
- package/domainforge-core/src/cli/import.rs +133 -0
- package/domainforge-core/src/cli/mod.rs +64 -0
- package/domainforge-core/src/cli/normalize.rs +180 -0
- package/domainforge-core/src/cli/pack.rs +904 -0
- package/domainforge-core/src/cli/parse.rs +112 -0
- package/domainforge-core/src/cli/project.rs +294 -0
- package/domainforge-core/src/cli/registry.rs +41 -0
- package/domainforge-core/src/cli/test.rs +12 -0
- package/domainforge-core/src/cli/validate.rs +195 -0
- package/domainforge-core/src/cli/validate_kg.rs +80 -0
- package/domainforge-core/src/concept_id.rs +89 -0
- package/domainforge-core/src/error/diagnostics.rs +426 -0
- package/domainforge-core/src/error/fuzzy.rs +253 -0
- package/domainforge-core/src/error/mod.rs +13 -0
- package/domainforge-core/src/formatter/comments.rs +223 -0
- package/domainforge-core/src/formatter/config.rs +114 -0
- package/domainforge-core/src/formatter/mod.rs +22 -0
- package/domainforge-core/src/formatter/printer.rs +906 -0
- package/domainforge-core/src/graph/mod.rs +858 -0
- package/domainforge-core/src/graph/to_ast.rs +66 -0
- package/domainforge-core/src/kg.rs +1476 -0
- package/domainforge-core/src/kg_import.rs +251 -0
- package/domainforge-core/src/lib.rs +203 -0
- package/domainforge-core/src/module/mod.rs +1 -0
- package/domainforge-core/src/module/resolver.rs +260 -0
- package/domainforge-core/src/parser/ast.rs +2919 -0
- package/domainforge-core/src/parser/ast_convert.rs +494 -0
- package/domainforge-core/src/parser/ast_schema.rs +491 -0
- package/domainforge-core/src/parser/error.rs +291 -0
- package/domainforge-core/src/parser/lint.rs +39 -0
- package/domainforge-core/src/parser/mod.rs +193 -0
- package/domainforge-core/src/parser/printer.rs +702 -0
- package/domainforge-core/src/parser/profiles.rs +71 -0
- package/domainforge-core/src/parser/string_utils.rs +138 -0
- package/domainforge-core/src/patterns.rs +68 -0
- package/domainforge-core/src/policy/core.rs +1148 -0
- package/domainforge-core/src/policy/expression.rs +399 -0
- package/domainforge-core/src/policy/mod.rs +18 -0
- package/domainforge-core/src/policy/normalize.rs +1028 -0
- package/domainforge-core/src/policy/quantifier.rs +940 -0
- package/domainforge-core/src/policy/three_valued.rs +140 -0
- package/domainforge-core/src/policy/three_valued_microbench.rs +104 -0
- package/domainforge-core/src/policy/type_inference.rs +67 -0
- package/domainforge-core/src/policy/violation.rs +36 -0
- package/domainforge-core/src/primitives/concept_change.rs +61 -0
- package/domainforge-core/src/primitives/entity.rs +224 -0
- package/domainforge-core/src/primitives/flow.rs +111 -0
- package/domainforge-core/src/primitives/instance.rs +93 -0
- package/domainforge-core/src/primitives/mapping_contract.rs +50 -0
- package/domainforge-core/src/primitives/metric.rs +79 -0
- package/domainforge-core/src/primitives/mod.rs +25 -0
- package/domainforge-core/src/primitives/projection_contract.rs +50 -0
- package/domainforge-core/src/primitives/quantity.rs +56 -0
- package/domainforge-core/src/primitives/relation.rs +68 -0
- package/domainforge-core/src/primitives/resource.rs +237 -0
- package/domainforge-core/src/primitives/resource_instance.rs +88 -0
- package/domainforge-core/src/primitives/role.rs +49 -0
- package/domainforge-core/src/projection/buf.rs +404 -0
- package/domainforge-core/src/projection/contracts.rs +22 -0
- package/domainforge-core/src/projection/engine.rs +19 -0
- package/domainforge-core/src/projection/mod.rs +16 -0
- package/domainforge-core/src/projection/protobuf.rs +3331 -0
- package/domainforge-core/src/projection/registry.rs +43 -0
- package/domainforge-core/src/python/authority.rs +253 -0
- package/domainforge-core/src/python/error.rs +227 -0
- package/domainforge-core/src/python/formatter.rs +86 -0
- package/domainforge-core/src/python/graph.rs +366 -0
- package/domainforge-core/src/python/mod.rs +9 -0
- package/domainforge-core/src/python/policy.rs +651 -0
- package/domainforge-core/src/python/primitives.rs +796 -0
- package/domainforge-core/src/python/registry.rs +98 -0
- package/domainforge-core/src/python/semantic_pack.rs +619 -0
- package/domainforge-core/src/python/units.rs +96 -0
- package/domainforge-core/src/registry/mod.rs +432 -0
- package/domainforge-core/src/registry/tests.rs +210 -0
- package/domainforge-core/src/sbvr.rs +744 -0
- package/domainforge-core/src/semantic_pack/builder.rs +470 -0
- package/domainforge-core/src/semantic_pack/canonical_json.rs +184 -0
- package/domainforge-core/src/semantic_pack/diagnostics.rs +214 -0
- package/domainforge-core/src/semantic_pack/diff.rs +216 -0
- package/domainforge-core/src/semantic_pack/mod.rs +31 -0
- package/domainforge-core/src/semantic_pack/pack_set.rs +240 -0
- package/domainforge-core/src/semantic_pack/resolver.rs +437 -0
- package/domainforge-core/src/semantic_pack/review.rs +125 -0
- package/domainforge-core/src/semantic_pack/schema.rs +342 -0
- package/domainforge-core/src/semantic_pack/signing.rs +105 -0
- package/domainforge-core/src/semantic_pack/validator.rs +368 -0
- package/domainforge-core/src/semantic_version.rs +140 -0
- package/domainforge-core/src/test_utils.rs +12 -0
- package/domainforge-core/src/typescript/authority.rs +184 -0
- package/domainforge-core/src/typescript/error.rs +146 -0
- package/domainforge-core/src/typescript/formatter.rs +76 -0
- package/domainforge-core/src/typescript/graph.rs +391 -0
- package/domainforge-core/src/typescript/mod.rs +9 -0
- package/domainforge-core/src/typescript/policy.rs +564 -0
- package/domainforge-core/src/typescript/primitives.rs +784 -0
- package/domainforge-core/src/typescript/registry.rs +88 -0
- package/domainforge-core/src/typescript/semantic_pack.rs +470 -0
- package/domainforge-core/src/typescript/units.rs +76 -0
- package/domainforge-core/src/units/mod.rs +462 -0
- package/domainforge-core/src/uuid_module.rs +42 -0
- package/domainforge-core/src/validation_error.rs +818 -0
- package/domainforge-core/src/validation_result.rs +30 -0
- package/domainforge-core/src/wasm/authority.rs +192 -0
- package/domainforge-core/src/wasm/error.rs +145 -0
- package/domainforge-core/src/wasm/formatter.rs +69 -0
- package/domainforge-core/src/wasm/graph.rs +471 -0
- package/domainforge-core/src/wasm/mod.rs +16 -0
- package/domainforge-core/src/wasm/policy.rs +607 -0
- package/domainforge-core/src/wasm/primitives.rs +295 -0
- package/domainforge-core/src/wasm/semantic_pack.rs +471 -0
- package/domainforge-core/src/wasm/units.rs +62 -0
- package/domainforge-core/std/aws.sea +6 -0
- package/domainforge-core/std/core.sea +6 -0
- package/domainforge-core/std/http.sea +27 -0
- package/domainforge-core/tests/aggregation_enhanced_tests.rs +162 -0
- package/domainforge-core/tests/aggregation_eval_tests.rs +248 -0
- package/domainforge-core/tests/aggregation_integration_tests.rs +379 -0
- package/domainforge-core/tests/aggregation_parser_tests.rs +92 -0
- package/domainforge-core/tests/aggregation_tests.rs +102 -0
- package/domainforge-core/tests/authority_conformance_tests.rs +1173 -0
- package/domainforge-core/tests/calm_round_trip_tests.rs +283 -0
- package/domainforge-core/tests/calm_schema_validation_tests.rs +137 -0
- package/domainforge-core/tests/cast_operator_tests.rs +85 -0
- package/domainforge-core/tests/cli_binary_check.rs +37 -0
- package/domainforge-core/tests/cli_import_tests.rs +291 -0
- package/domainforge-core/tests/cli_path_traversal_tests.rs +124 -0
- package/domainforge-core/tests/cli_tests.rs +63 -0
- package/domainforge-core/tests/diagnostics_tests.rs +203 -0
- package/domainforge-core/tests/dimension_unit_tests.rs +80 -0
- package/domainforge-core/tests/entity_tests.rs +69 -0
- package/domainforge-core/tests/evolution_semantics_tests.rs +157 -0
- package/domainforge-core/tests/flow_tests.rs +78 -0
- package/domainforge-core/tests/flow_unit_validation_tests.rs +31 -0
- package/domainforge-core/tests/graph_integration_tests.rs +218 -0
- package/domainforge-core/tests/graph_tests.rs +626 -0
- package/domainforge-core/tests/import_parsing_tests.rs +23 -0
- package/domainforge-core/tests/instance_integration_tests.rs +98 -0
- package/domainforge-core/tests/instance_parsing_tests.rs +58 -0
- package/domainforge-core/tests/instance_tests.rs +61 -0
- package/domainforge-core/tests/kg_uri_encoding_tests.rs +53 -0
- package/domainforge-core/tests/lint_tests.rs +19 -0
- package/domainforge-core/tests/metric_tests.rs +143 -0
- package/domainforge-core/tests/module_resolution_tests.rs +100 -0
- package/domainforge-core/tests/namespace_registry_tests.rs +247 -0
- package/domainforge-core/tests/null_handling_tests.rs +26 -0
- package/domainforge-core/tests/parser_ast_v3.rs +53 -0
- package/domainforge-core/tests/parser_dimension_registry_tests.rs +20 -0
- package/domainforge-core/tests/parser_integration_tests.rs +294 -0
- package/domainforge-core/tests/parser_metadata_tests.rs +97 -0
- package/domainforge-core/tests/parser_resource_domain_only_graph_test.rs +21 -0
- package/domainforge-core/tests/parser_resource_limits_tests.rs +122 -0
- package/domainforge-core/tests/parser_tests.rs +512 -0
- package/domainforge-core/tests/pattern_semantics_tests.rs +87 -0
- package/domainforge-core/tests/phase_14_determinism_tests.rs +166 -0
- package/domainforge-core/tests/phase_15_validation_error_tests.rs +136 -0
- package/domainforge-core/tests/phase_16_unicode_tests.rs +248 -0
- package/domainforge-core/tests/phase_17_export_tests.rs +285 -0
- package/domainforge-core/tests/phase_17_round_trip_tests.rs +264 -0
- package/domainforge-core/tests/policy_tests.rs +635 -0
- package/domainforge-core/tests/primitives_integration_tests.rs +151 -0
- package/domainforge-core/tests/print_rdf_xml.rs +14 -0
- package/domainforge-core/tests/printer_tests.rs +204 -0
- package/domainforge-core/tests/profile_tests.rs +35 -0
- package/domainforge-core/tests/projection_contracts_tests.rs +154 -0
- package/domainforge-core/tests/protobuf_projection_tests.rs +199 -0
- package/domainforge-core/tests/quantity_tests.rs +41 -0
- package/domainforge-core/tests/rdf_xml_typed_literal_tests.rs +105 -0
- package/domainforge-core/tests/registry_schema_tests.rs +33 -0
- package/domainforge-core/tests/resource_tests.rs +50 -0
- package/domainforge-core/tests/resource_unit_tests.rs +24 -0
- package/domainforge-core/tests/roles_relations_tests.rs +61 -0
- package/domainforge-core/tests/round_trip_tests.rs +34 -0
- package/domainforge-core/tests/runtime_toggle_tests.rs +70 -0
- package/domainforge-core/tests/sbvr_fact_schema_tests.rs +60 -0
- package/domainforge-core/tests/sbvr_flow_facts_tests.rs +55 -0
- package/domainforge-core/tests/sbvr_parsing_tests.rs +53 -0
- package/domainforge-core/tests/semantic_pack_alias_resolution.rs +197 -0
- package/domainforge-core/tests/semantic_pack_build.rs +302 -0
- package/domainforge-core/tests/semantic_pack_consumer_smoke.rs +150 -0
- package/domainforge-core/tests/semantic_pack_pack_set.rs +160 -0
- package/domainforge-core/tests/semantic_pack_signing.rs +157 -0
- package/domainforge-core/tests/semantic_pack_three_valued.rs +250 -0
- package/domainforge-core/tests/semantic_pack_validate.rs +196 -0
- package/domainforge-core/tests/std_lib_tests.rs +37 -0
- package/domainforge-core/tests/temporal_evaluation_tests.rs +159 -0
- package/domainforge-core/tests/temporal_semantics_tests.rs +214 -0
- package/domainforge-core/tests/three_valued_quantifiers_tests.rs +164 -0
- package/domainforge-core/tests/turtle_entity_export_tests.rs +38 -0
- package/domainforge-core/tests/turtle_escaping_tests.rs +53 -0
- package/domainforge-core/tests/turtle_resource_export_tests.rs +34 -0
- package/domainforge-core/tests/type_inference_tests.rs +40 -0
- package/domainforge-core/tests/unicode_validation_tests.rs +169 -0
- package/domainforge-core/tests/unit_tests.rs +81 -0
- package/domainforge-core/tests/validate_tests.rs +38 -0
- package/domainforge-core/tests/validation_unit_mismatch_tests.rs +83 -0
- package/domainforge-core/tests/wasm_tests.rs +229 -0
- package/domainforge-python/CHANGELOG-python.md +12 -0
- package/domainforge-python/MIGRATING.md +24 -0
- package/domainforge-python/README.md +256 -0
- package/domainforge-python/domainforge/__init__.py +95 -0
- package/domainforge-python/domainforge/domainforge.pyi +519 -0
- package/domainforge-python/pyproject.toml +36 -0
- package/domainforge-typescript/CHANGELOG-typescript.md +12 -0
- package/domainforge-typescript/LICENSE +201 -0
- package/domainforge-typescript/MIGRATING.md +24 -0
- package/domainforge-typescript/README.md +305 -0
- package/domainforge-typescript/index.d.ts +452 -0
- package/domainforge-typescript/index.js +361 -0
- package/domainforge-typescript/package.json +60 -0
- package/example.js +61 -0
- package/examples/browser.html +366 -0
- package/examples/namespaces/finance/cashflow.sea +5 -0
- package/examples/namespaces/logistics/core.sea +7 -0
- package/examples/observability_metrics.sea +38 -0
- package/fixtures/semantic_packs/acme_procurement/domain/entities.sea +39 -0
- package/fixtures/semantic_packs/acme_procurement/domain/metrics.sea +11 -0
- package/fixtures/semantic_packs/acme_procurement/domain/relations.sea +7 -0
- package/fixtures/semantic_packs/acme_procurement/domain/resources.sea +9 -0
- package/fixtures/semantic_packs/acme_procurement/review/acme.procurement.semantic-review.jsonl +7 -0
- package/fixtures/semantic_packs/acme_procurement/tests/ambiguous_vendor_alias.sea +8 -0
- package/fixtures/semantic_packs/acme_procurement/tests/deprecated_vendor_alias.sea +8 -0
- package/fixtures/semantic_packs/acme_procurement/tests/invalid_relation.sea +3 -0
- package/fixtures/semantic_packs/acme_procurement/tests/proposed_concept.sea +8 -0
- package/fixtures/semantic_packs/acme_procurement/tests/rejected_concept.sea +8 -0
- package/fixtures/semantic_packs/acme_procurement/tests/unit_mismatch.sea +7 -0
- package/fixtures/semantic_packs/acme_procurement/tests/unknown_vendor_policy.sea +8 -0
- package/fixtures/semantic_packs/acme_procurement/tests/valid_purchase_policy.sea +8 -0
- package/index.d.ts +2 -0
- package/index.js +8 -0
- package/justfile +200 -0
- package/lefthook.yml +13 -0
- package/lib/validate_native_exports.d.ts +4 -0
- package/lib/validate_native_exports.js +12 -0
- package/package.json +22 -0
- package/pytest.ini +5 -0
- package/python/tests/test_registry.py +75 -0
- package/python/tests/test_units.py +18 -0
- package/release-please-config.json +49 -0
- package/requirements-dev.txt +3 -0
- package/requirements.txt +3 -0
- package/rust-toolchain.toml +3 -0
- package/schemas/ast-v1.schema.json +72 -0
- package/schemas/ast-v2.schema.json +1200 -0
- package/schemas/ast-v3.schema.json +1200 -0
- package/schemas/sea-registry.schema.json +45 -0
- package/scripts/build-python.sh +37 -0
- package/scripts/build-release.sh +279 -0
- package/scripts/build-typescript.sh +13 -0
- package/scripts/build-wasm.sh +113 -0
- package/scripts/bump-version.sh +245 -0
- package/scripts/check_unused_test_imports.py +85 -0
- package/scripts/ci_tasks.py +379 -0
- package/scripts/clear_debug_test.sh +10 -0
- package/scripts/create-github-release.sh +262 -0
- package/scripts/create-tag.sh +203 -0
- package/scripts/find_and_link_test_binary.sh +70 -0
- package/scripts/generate-changelog.sh +271 -0
- package/scripts/generate-release-notes.sh +205 -0
- package/scripts/lint_release_security.py +96 -0
- package/scripts/lint_release_workflows.py +82 -0
- package/scripts/lint_workflow_gates.py +113 -0
- package/scripts/optimized-wasm-build.sh +61 -0
- package/scripts/patch_napi_types.py +62 -0
- package/scripts/pre-release-check.sh +289 -0
- package/scripts/prepare_rust_debug.sh +52 -0
- package/scripts/release.sh +373 -0
- package/scripts/resolve_rust_binary.py +230 -0
- package/scripts/run_commitlint.sh +29 -0
- package/scripts/test-all.sh +77 -0
- package/scripts/update_launch_program.py +93 -0
- package/secrets/README.md +27 -0
- package/secrets/secrets.yaml +21 -0
- package/test_integration.py +67 -0
- package/tests/test_authority.py +328 -0
- package/tests/test_ci_tasks.py +143 -0
- package/tests/test_expression.py +256 -0
- package/tests/test_golden_payment_flow.py +42 -0
- package/tests/test_graph.py +127 -0
- package/tests/test_instance.py +136 -0
- package/tests/test_parser.py +82 -0
- package/tests/test_primitives.py +68 -0
- package/tests/test_role_relation_parity.py +56 -0
- package/tests/test_runtime_toggle.py +156 -0
- package/tests/test_semantic_pack.py +639 -0
- package/tests/test_three_valued_eval.py +159 -0
- package/tsconfig.json +30 -0
- package/typescript-tests/advanced.test.ts +165 -0
- package/typescript-tests/authority.test.ts +216 -0
- package/typescript-tests/expression.test.ts +228 -0
- package/typescript-tests/golden-payment-flow.test.ts +51 -0
- package/typescript-tests/graph.test.ts +142 -0
- package/typescript-tests/native-binding.test.ts +20 -0
- package/typescript-tests/primitives.test.ts +88 -0
- package/typescript-tests/registry.test.ts +122 -0
- package/typescript-tests/role_relation.test.ts +63 -0
- package/typescript-tests/runtime_toggle.test.ts +141 -0
- package/typescript-tests/semantic-pack.test.ts +556 -0
- package/typescript-tests/three_valued_eval.test.ts +135 -0
- package/typescript-tests/units.test.ts +36 -0
- package/vitest.config.ts +13 -0
- package/wasm_demo.html +225 -0
package/README_WASM.md
ADDED
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
# @godspeedai/domainforge-wasm
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@godspeedai/domainforge-wasm)
|
|
4
|
+
[](https://github.com/GodSpeedAI/DomainForge/blob/main/LICENSE)
|
|
5
|
+
[](https://github.com/GodSpeedAI/DomainForge/actions/workflows/ci.yml)
|
|
6
|
+
[](https://bundlephobia.com/package/@godspeedai/domainforge-wasm)
|
|
7
|
+
|
|
8
|
+
WebAssembly bindings for the **SEA DSL** (Semantic Enterprise Architecture) domain-specific language. Runs in browsers and edge runtimes. Part of the [DomainForge](https://github.com/GodSpeedAI/DomainForge) ecosystem.
|
|
9
|
+
|
|
10
|
+
## Features
|
|
11
|
+
|
|
12
|
+
- 🌐 **Browser & Edge** — Runs anywhere WebAssembly is supported
|
|
13
|
+
- 📦 **Lightweight** — <500KB gzipped bundle size
|
|
14
|
+
- ⚡ **Fast** — ~1ms parse time for typical models
|
|
15
|
+
- 🏗️ **Domain Primitives** — Entities, Resources, Flows, Roles, Relations
|
|
16
|
+
- ✅ **Policy Engine** — Constraint validation with three-valued logic
|
|
17
|
+
- 🔄 **DSL Parsing** — Parse SEA source into queryable graph structures
|
|
18
|
+
- 🌐 **CALM Integration** — Export/import FINOS CALM format
|
|
19
|
+
- 📦 **TypeScript Support** — Full type definitions included
|
|
20
|
+
|
|
21
|
+
## Installation
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npm install @godspeedai/domainforge-wasm
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
yarn add @godspeedai/domainforge-wasm
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### CDN (Browser)
|
|
32
|
+
|
|
33
|
+
```html
|
|
34
|
+
<script type="module">
|
|
35
|
+
import init, {
|
|
36
|
+
Graph,
|
|
37
|
+
Entity,
|
|
38
|
+
Resource,
|
|
39
|
+
Flow,
|
|
40
|
+
} from "https://unpkg.com/@godspeedai/domainforge-wasm/domainforge_core.js";
|
|
41
|
+
|
|
42
|
+
await init();
|
|
43
|
+
// Ready to use
|
|
44
|
+
</script>
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Quick Start
|
|
48
|
+
|
|
49
|
+
### Browser
|
|
50
|
+
|
|
51
|
+
```html
|
|
52
|
+
<!DOCTYPE html>
|
|
53
|
+
<html>
|
|
54
|
+
<head>
|
|
55
|
+
<script type="module">
|
|
56
|
+
import init, { Graph, Entity, Resource } from "@godspeedai/domainforge-wasm";
|
|
57
|
+
|
|
58
|
+
async function main() {
|
|
59
|
+
await init();
|
|
60
|
+
|
|
61
|
+
const source = `
|
|
62
|
+
Entity "Warehouse" in logistics
|
|
63
|
+
Entity "Factory" in manufacturing
|
|
64
|
+
Resource "Cameras" units
|
|
65
|
+
Flow "Cameras" from "Warehouse" to "Factory" quantity 100
|
|
66
|
+
`;
|
|
67
|
+
|
|
68
|
+
const graph = Graph.parse(source);
|
|
69
|
+
console.log(`Entities: ${graph.entityCount()}`);
|
|
70
|
+
console.log(`Flows: ${graph.flowCount()}`);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
main();
|
|
74
|
+
</script>
|
|
75
|
+
</head>
|
|
76
|
+
<body></body>
|
|
77
|
+
</html>
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Node.js / ESM
|
|
81
|
+
|
|
82
|
+
```javascript
|
|
83
|
+
import init, { Graph, Entity, Resource, Flow } from "@godspeedai/domainforge-wasm";
|
|
84
|
+
|
|
85
|
+
await init();
|
|
86
|
+
|
|
87
|
+
const graph = new Graph();
|
|
88
|
+
|
|
89
|
+
const warehouse = new Entity("Warehouse", "logistics");
|
|
90
|
+
const factory = new Entity("Factory", "manufacturing");
|
|
91
|
+
const cameras = new Resource("Cameras", "units");
|
|
92
|
+
|
|
93
|
+
graph.addEntity(warehouse);
|
|
94
|
+
graph.addEntity(factory);
|
|
95
|
+
graph.addResource(cameras);
|
|
96
|
+
|
|
97
|
+
const flow = new Flow(cameras.id, warehouse.id, factory.id, "100");
|
|
98
|
+
graph.addFlow(flow);
|
|
99
|
+
|
|
100
|
+
console.log(`Graph has ${graph.entityCount()} entities`);
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### CALM Integration
|
|
104
|
+
|
|
105
|
+
```javascript
|
|
106
|
+
import init, { Graph } from "@godspeedai/domainforge-wasm";
|
|
107
|
+
|
|
108
|
+
await init();
|
|
109
|
+
|
|
110
|
+
// Build your model
|
|
111
|
+
const graph = Graph.parse(`
|
|
112
|
+
Entity "Customer"
|
|
113
|
+
Entity "Vendor"
|
|
114
|
+
Resource "Payment" USD
|
|
115
|
+
Flow "Payment" from "Customer" to "Vendor"
|
|
116
|
+
`);
|
|
117
|
+
|
|
118
|
+
// Export to CALM JSON
|
|
119
|
+
const calmJson = graph.exportCalm();
|
|
120
|
+
console.log(calmJson);
|
|
121
|
+
|
|
122
|
+
// Import from CALM
|
|
123
|
+
const importedGraph = Graph.importCalm(calmJson);
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## API Reference
|
|
127
|
+
|
|
128
|
+
### Core Classes
|
|
129
|
+
|
|
130
|
+
| Class | Description |
|
|
131
|
+
| ---------------------- | ------------------------------------------------------ |
|
|
132
|
+
| `Entity` | Business actors, locations, organizational units (WHO) |
|
|
133
|
+
| `Resource` | Quantifiable subjects of value (WHAT) |
|
|
134
|
+
| `Flow` | Transfers of resources between entities |
|
|
135
|
+
| `Instance` | Entity type instances with named fields |
|
|
136
|
+
| `Graph` | Container with validation and query capabilities |
|
|
137
|
+
| `Expression` | Programmatic policy expression builder |
|
|
138
|
+
| `NormalizedExpression` | Canonical form for semantic equivalence |
|
|
139
|
+
|
|
140
|
+
### Constructor Patterns
|
|
141
|
+
|
|
142
|
+
```javascript
|
|
143
|
+
// Entities
|
|
144
|
+
const entity = new Entity("Warehouse"); // default namespace
|
|
145
|
+
const entity = new Entity("Warehouse", "logistics"); // explicit namespace
|
|
146
|
+
|
|
147
|
+
// Resources
|
|
148
|
+
const resource = new Resource("Cameras", "units");
|
|
149
|
+
const resource = new Resource("Cameras", "units", "inventory");
|
|
150
|
+
|
|
151
|
+
// Flows (quantity as string for precision)
|
|
152
|
+
const flow = new Flow(resourceId, fromId, toId, "100");
|
|
153
|
+
|
|
154
|
+
// Instances
|
|
155
|
+
const instance = new Instance("order_123", "Order");
|
|
156
|
+
instance.setField("status", "pending");
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Graph Methods
|
|
160
|
+
|
|
161
|
+
```javascript
|
|
162
|
+
// Add primitives
|
|
163
|
+
graph.addEntity(entity);
|
|
164
|
+
graph.addResource(resource);
|
|
165
|
+
graph.addFlow(flow);
|
|
166
|
+
|
|
167
|
+
// Counts
|
|
168
|
+
graph.entityCount();
|
|
169
|
+
graph.resourceCount();
|
|
170
|
+
graph.flowCount();
|
|
171
|
+
|
|
172
|
+
// Lookup
|
|
173
|
+
graph.findEntityByName("Warehouse");
|
|
174
|
+
graph.findResourceByName("Cameras");
|
|
175
|
+
|
|
176
|
+
// Flow queries
|
|
177
|
+
graph.flowsFrom(entityId);
|
|
178
|
+
graph.flowsTo(entityId);
|
|
179
|
+
|
|
180
|
+
// Get all
|
|
181
|
+
graph.allEntities();
|
|
182
|
+
graph.allResources();
|
|
183
|
+
graph.allFlows();
|
|
184
|
+
|
|
185
|
+
// Parsing
|
|
186
|
+
Graph.parse(source);
|
|
187
|
+
|
|
188
|
+
// CALM integration
|
|
189
|
+
graph.exportCalm();
|
|
190
|
+
Graph.importCalm(calmJson);
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
## Performance
|
|
194
|
+
|
|
195
|
+
| Metric | Value |
|
|
196
|
+
| --------------- | ----------------------- |
|
|
197
|
+
| Bundle size | <500KB gzipped |
|
|
198
|
+
| Parse time | ~1ms for typical models |
|
|
199
|
+
| Memory overhead | ~2MB runtime |
|
|
200
|
+
| Initialization | <50ms (lazy loaded) |
|
|
201
|
+
|
|
202
|
+
## Building from Source
|
|
203
|
+
|
|
204
|
+
### Prerequisites
|
|
205
|
+
|
|
206
|
+
1. **Rust toolchain** (1.92+)
|
|
207
|
+
2. **wasm-pack**:
|
|
208
|
+
```bash
|
|
209
|
+
curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### Build
|
|
213
|
+
|
|
214
|
+
```bash
|
|
215
|
+
# Quick build
|
|
216
|
+
./scripts/build-wasm.sh
|
|
217
|
+
|
|
218
|
+
# Manual build (output goes to target/wasm-pkg)
|
|
219
|
+
cd domainforge-core
|
|
220
|
+
wasm-pack build --target web --release --out-dir ../target/wasm-pkg --features wasm
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### Test
|
|
224
|
+
|
|
225
|
+
```bash
|
|
226
|
+
cd domainforge-core
|
|
227
|
+
wasm-pack test --headless --firefox --features wasm
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
## Package Structure
|
|
231
|
+
|
|
232
|
+
```
|
|
233
|
+
target/wasm-pkg/
|
|
234
|
+
├── package.json # npm package metadata
|
|
235
|
+
├── domainforge_core.js # Generated WASM bindings
|
|
236
|
+
├── domainforge_core.d.ts # TypeScript definitions
|
|
237
|
+
└── domainforge_core_bg.wasm # Compiled WASM binary
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
## Type Conversions
|
|
241
|
+
|
|
242
|
+
| Rust Type | JavaScript Type |
|
|
243
|
+
| --------------- | --------------- |
|
|
244
|
+
| `String` | `string` |
|
|
245
|
+
| `Uuid` | `string` |
|
|
246
|
+
| `Decimal` | `string` |
|
|
247
|
+
| `Option<T>` | `T \| null` |
|
|
248
|
+
| `Vec<T>` | `T[]` |
|
|
249
|
+
| `HashMap<K, V>` | `object` |
|
|
250
|
+
|
|
251
|
+
## Target Environments
|
|
252
|
+
|
|
253
|
+
The default build uses `--target web`, which produces **browser-first** ES module output. This is the recommended target for web applications and CDNs.
|
|
254
|
+
|
|
255
|
+
### Node.js
|
|
256
|
+
|
|
257
|
+
`--target web` output does **not** work directly in Node.js. For Node.js usage, choose one of:
|
|
258
|
+
|
|
259
|
+
1. **Build with `--target nodejs`**:
|
|
260
|
+
```bash
|
|
261
|
+
cd domainforge-core
|
|
262
|
+
wasm-pack build --target nodejs --release --out-dir ../target/wasm-pkg-node --features wasm
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
2. **Import the WASM bytes manually** using a loader like [`@aspect-build/wasm`](https://www.npmjs.com/package/@aspect-build/wasm) or the Node `fs` + `WebAssembly` API:
|
|
266
|
+
```javascript
|
|
267
|
+
import { readFile } from 'node:fs/promises';
|
|
268
|
+
const { instance } = await WebAssembly.instantiate(
|
|
269
|
+
await readFile('./node_modules/@godspeedai/domainforge-wasm/domainforge_core_bg.wasm'),
|
|
270
|
+
);
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
## Related Packages
|
|
274
|
+
|
|
275
|
+
| Package | Registry | Description |
|
|
276
|
+
| ------------------------------------------------------------------------------ | --------- | ---------------------------- |
|
|
277
|
+
| [`domainforge-core`](https://crates.io/crates/domainforge-core) | crates.io | Rust core library |
|
|
278
|
+
| [`domainforge`](https://pypi.org/project/domainforge/) | PyPI | Python bindings |
|
|
279
|
+
| [`@godspeedai/domainforge`](https://www.npmjs.com/package/@godspeedai/domainforge) | npm | Native Node.js bindings |
|
|
280
|
+
| [`@godspeedai/domainforge-wasm`](https://www.npmjs.com/package/@godspeedai/domainforge-wasm) | npm | WASM bindings (this package) |
|
|
281
|
+
|
|
282
|
+
## Documentation
|
|
283
|
+
|
|
284
|
+
- 📖 [SEA DSL Guide](https://github.com/GodSpeedAI/DomainForge/blob/main/docs/reference/grammar-spec.md) — Language specification
|
|
285
|
+
- 🏗️ [Architecture](https://github.com/GodSpeedAI/DomainForge/blob/main/docs/explanations/architecture-overview.md) — Design overview
|
|
286
|
+
- 📚 [WASM Guide](https://github.com/GodSpeedAI/DomainForge/blob/main/docs/reference/wasm-api.md) — Full WASM API
|
|
287
|
+
|
|
288
|
+
## Troubleshooting
|
|
289
|
+
|
|
290
|
+
### WASM module fails to load
|
|
291
|
+
|
|
292
|
+
- Ensure server sends correct MIME type: `application/wasm`
|
|
293
|
+
- Check browser console for detailed errors
|
|
294
|
+
|
|
295
|
+
### Size exceeds 500KB
|
|
296
|
+
|
|
297
|
+
- Run `wasm-opt -Oz` optimization
|
|
298
|
+
- Check for unused dependencies
|
|
299
|
+
|
|
300
|
+
### TypeScript errors
|
|
301
|
+
|
|
302
|
+
- Ensure `domainforge_core.d.ts` is present in `target/wasm-pkg/`
|
|
303
|
+
- Check TypeScript version compatibility (4.5+)
|
|
304
|
+
|
|
305
|
+
## Policy Authority
|
|
306
|
+
|
|
307
|
+
DomainForge WASM bindings include Policy Authority for executable business authority:
|
|
308
|
+
|
|
309
|
+
```javascript
|
|
310
|
+
import { evaluateAuthority, FinalDecision, PolicyModality, SourceClass } from '@godspeedai/domainforge-wasm';
|
|
311
|
+
|
|
312
|
+
const result = evaluateAuthority(configJson, requestJson, factsJson);
|
|
313
|
+
console.log(result.trace, result.decision);
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
**Available exports:**
|
|
317
|
+
- `FinalDecision` — Allow, Deny, Escalate, NotApplicable, Reject
|
|
318
|
+
- `PolicyModality` — Permission, Prohibition, Obligation, Override
|
|
319
|
+
- `SourceClass` — CallerSupplied, RuntimeObserved, SystemOfRecord, etc.
|
|
320
|
+
- `ClaimLevel` — AuditBacked, Validated, FormallyProven
|
|
321
|
+
- `evaluateAuthority(config, request, facts)` — Returns `{ trace, decision }`
|
|
322
|
+
|
|
323
|
+
## License
|
|
324
|
+
|
|
325
|
+
[Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0)
|
|
326
|
+
|
|
327
|
+
---
|
|
328
|
+
|
|
329
|
+
Part of the [DomainForge](https://github.com/GodSpeedAI/DomainForge) project.
|
package/RELEASE_NOTES.md
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Release v0.11.0 (2026-06-09)
|
|
2
|
+
|
|
3
|
+
## What's Changed
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- **Semantic Pack System**: Canonical semantic pack support with schema definitions, builder APIs, validation, diffing, pack-set resolution, canonical JSON, review records, and signing helpers.
|
|
8
|
+
- **Authority Evaluation**: Authority policy compilation and evaluation with environments, fact resolvers, resolver traces, policy transforms, and conformance coverage.
|
|
9
|
+
- **CLI Pack Workflows**: `domainforge pack` and authority-oriented CLI support for building, validating, reviewing, signing, and checking semantic packs.
|
|
10
|
+
- **Cross-Language Bindings**: Semantic pack and authority APIs exposed through Python, TypeScript napi, and WASM bindings.
|
|
11
|
+
- **Test Fixtures And Coverage**: ACME procurement fixtures plus Rust, Python, TypeScript, and WASM coverage for semantic packs and authority behavior.
|
|
12
|
+
- **Docs And Guardrails**: Security model, generated-artifact policy, semantic pack docs, diagnostics, release workflow linting, and enterprise verification gates.
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
|
|
16
|
+
- **README And Binding Guides**: Clearer domain modeling and binding usage across the main README and Python, TypeScript, and WASM docs.
|
|
17
|
+
- **Protobuf/CALM/RDF**: Improved projection validity and round-trip fidelity.
|
|
18
|
+
- **Parser And AST**: Tighter namespace semantics, resource limits, AST conversion/schema behavior, and printer output.
|
|
19
|
+
- **Release Packaging**: Hardened npm/WASM packaging, release artifact checks, and published-release workflows.
|
|
20
|
+
|
|
21
|
+
### Fixed
|
|
22
|
+
|
|
23
|
+
- **Security**: Hardened path handling and removed a committed private-key fixture.
|
|
24
|
+
- **Bindings**: Regenerated Python stubs and TypeScript declarations to match exported native APIs.
|
|
25
|
+
- **CI Stability**: Stabilized Rust, Python, TypeScript, macOS, and release jobs.
|
|
26
|
+
- **Release Prechecks**: Fixed false version mismatches when TOML files use CRLF line endings.
|
|
27
|
+
- **Parser/Projection Issues**: Fixed parser, decimal quantity, Protobuf validity, CALM/RDF, and deferred CI findings.
|
|
28
|
+
|
|
29
|
+
## Contributors
|
|
30
|
+
|
|
31
|
+
- @SPRIME01
|
|
32
|
+
- @SPrime01
|
|
33
|
+
- @coderabbitai[bot]
|
|
34
|
+
- @copilot-swe-agent[bot]
|
|
35
|
+
- @dependabot[bot]
|
|
36
|
+
|
|
37
|
+
## Links
|
|
38
|
+
|
|
39
|
+
- [Full Changelog](./CHANGELOG.md)
|
|
40
|
+
- [Documentation](./docs/)
|
|
41
|
+
- [Compare with previous version](https://github.com/GodSpeedAI/DomainForge/compare/v0.10.0...v0.11.0)
|