@inventarch/compliance 0.0.0-stage → 1.0.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/LICENSE +202 -0
- package/NOTICE +4 -0
- package/README.md +8 -2
- package/SPEC.md +128 -0
- package/dist/adoption.d.ts +18 -0
- package/dist/adoption.d.ts.map +1 -0
- package/dist/adoption.js +76 -0
- package/dist/adoption.js.map +1 -0
- package/dist/catalog.d.ts +112 -0
- package/dist/catalog.d.ts.map +1 -0
- package/dist/catalog.js +265 -0
- package/dist/catalog.js.map +1 -0
- package/dist/check-ids.d.ts +4 -0
- package/dist/check-ids.d.ts.map +1 -0
- package/dist/check-ids.js +22 -0
- package/dist/check-ids.js.map +1 -0
- package/dist/evidence.d.ts +145 -0
- package/dist/evidence.d.ts.map +1 -0
- package/dist/evidence.js +468 -0
- package/dist/evidence.js.map +1 -0
- package/dist/fixtures.d.ts +29 -0
- package/dist/fixtures.d.ts.map +1 -0
- package/dist/fixtures.js +107 -0
- package/dist/fixtures.js.map +1 -0
- package/dist/graph-checks.d.ts +27 -0
- package/dist/graph-checks.d.ts.map +1 -0
- package/dist/graph-checks.js +184 -0
- package/dist/graph-checks.js.map +1 -0
- package/dist/host-plugin.d.ts +23 -0
- package/dist/host-plugin.d.ts.map +1 -0
- package/dist/host-plugin.js +204 -0
- package/dist/host-plugin.js.map +1 -0
- package/dist/index.d.ts +31 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/obligations.d.ts +157 -0
- package/dist/obligations.d.ts.map +1 -0
- package/dist/obligations.js +301 -0
- package/dist/obligations.js.map +1 -0
- package/dist/profiles.d.ts +27 -0
- package/dist/profiles.d.ts.map +1 -0
- package/dist/profiles.js +40 -0
- package/dist/profiles.js.map +1 -0
- package/dist/projections.d.ts +51 -0
- package/dist/projections.d.ts.map +1 -0
- package/dist/projections.js +124 -0
- package/dist/projections.js.map +1 -0
- package/dist/record-text.d.ts +26 -0
- package/dist/record-text.d.ts.map +1 -0
- package/dist/record-text.js +73 -0
- package/dist/record-text.js.map +1 -0
- package/dist/report.d.ts +25 -0
- package/dist/report.d.ts.map +1 -0
- package/dist/report.js +80 -0
- package/dist/report.js.map +1 -0
- package/dist/schema.d.ts +23 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +229 -0
- package/dist/schema.js.map +1 -0
- package/dist/shape.d.ts +18 -0
- package/dist/shape.d.ts.map +1 -0
- package/dist/shape.js +106 -0
- package/dist/shape.js.map +1 -0
- package/dist/steward-profile.d.ts +39 -0
- package/dist/steward-profile.d.ts.map +1 -0
- package/dist/steward-profile.js +143 -0
- package/dist/steward-profile.js.map +1 -0
- package/dist/systems.d.ts +11 -0
- package/dist/systems.d.ts.map +1 -0
- package/dist/systems.js +86 -0
- package/dist/systems.js.map +1 -0
- package/dist/types.d.ts +23 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +92 -0
- package/dist/types.js.map +1 -0
- package/dist/values.d.ts +8 -0
- package/dist/values.d.ts.map +1 -0
- package/dist/values.js +47 -0
- package/dist/values.js.map +1 -0
- package/dist/variants.d.ts +4 -0
- package/dist/variants.d.ts.map +1 -0
- package/dist/variants.js +82 -0
- package/dist/variants.js.map +1 -0
- package/dist/workspace-projection.d.ts +22 -0
- package/dist/workspace-projection.d.ts.map +1 -0
- package/dist/workspace-projection.js +68 -0
- package/dist/workspace-projection.js.map +1 -0
- package/fixtures/language/cases/fail/duplicate-given.diagnostics.json +10 -0
- package/fixtures/language/cases/fail/duplicate-given.ia +72 -0
- package/fixtures/language/cases/fail/given-scalar.diagnostics.json +6 -0
- package/fixtures/language/cases/fail/given-scalar.ia +71 -0
- package/fixtures/language/cases/fail/head-verdict.diagnostics.json +6 -0
- package/fixtures/language/cases/fail/head-verdict.ia +72 -0
- package/fixtures/language/cases/fail/missing-evaluator.diagnostics.json +6 -0
- package/fixtures/language/cases/fail/missing-evaluator.ia +70 -0
- package/fixtures/language/cases/fail/missing-expected.diagnostics.json +6 -0
- package/fixtures/language/cases/fail/missing-expected.ia +70 -0
- package/fixtures/language/cases/fail/missing-given.diagnostics.json +6 -0
- package/fixtures/language/cases/fail/missing-given.ia +70 -0
- package/fixtures/language/cases/fail/missing-kind.diagnostics.json +6 -0
- package/fixtures/language/cases/fail/missing-kind.ia +70 -0
- package/fixtures/language/cases/fail/missing-request.diagnostics.json +6 -0
- package/fixtures/language/cases/fail/missing-request.ia +70 -0
- package/fixtures/language/cases/fail/scenario-conditioned-field.diagnostics.json +6 -0
- package/fixtures/language/cases/fail/scenario-conditioned-field.ia +71 -0
- package/fixtures/language/cases/fail/scenario-verdict.diagnostics.json +6 -0
- package/fixtures/language/cases/fail/scenario-verdict.ia +72 -0
- package/fixtures/language/cases/fail/unbound.diagnostics.json +6 -0
- package/fixtures/language/cases/fail/unbound.ia +71 -0
- package/fixtures/language/cases/fail/unknown-kind.diagnostics.json +6 -0
- package/fixtures/language/cases/fail/unknown-kind.ia +71 -0
- package/fixtures/language/cases/fail/verdict-block.diagnostics.json +6 -0
- package/fixtures/language/cases/fail/verdict-block.ia +73 -0
- package/fixtures/language/cases/fail/wrong-fragment.diagnostics.json +6 -0
- package/fixtures/language/cases/fail/wrong-fragment.ia +71 -0
- package/fixtures/language/cases/pass/all-scenario-kinds.ia +107 -0
- package/fixtures/language/cases/pass/all-scenario-kinds.records.json +1558 -0
- package/fixtures/language/cells/fail/duplicate-phase-sections.diagnostics.json +10 -0
- package/fixtures/language/cells/fail/duplicate-phase-sections.ia +64 -0
- package/fixtures/language/cells/fail/duplicate-primary.diagnostics.json +10 -0
- package/fixtures/language/cells/fail/duplicate-primary.ia +63 -0
- package/fixtures/language/cells/fail/duplicate-primitive.diagnostics.json +10 -0
- package/fixtures/language/cells/fail/duplicate-primitive.ia +63 -0
- package/fixtures/language/cells/fail/legacy-primary-move.diagnostics.json +6 -0
- package/fixtures/language/cells/fail/legacy-primary-move.ia +61 -0
- package/fixtures/language/cells/fail/means-list.diagnostics.json +6 -0
- package/fixtures/language/cells/fail/means-list.ia +61 -0
- package/fixtures/language/cells/fail/means-reference.diagnostics.json +6 -0
- package/fixtures/language/cells/fail/means-reference.ia +61 -0
- package/fixtures/language/cells/fail/means-scalar.diagnostics.json +6 -0
- package/fixtures/language/cells/fail/means-scalar.ia +61 -0
- package/fixtures/language/cells/fail/means-unsupported-child.diagnostics.json +6 -0
- package/fixtures/language/cells/fail/means-unsupported-child.ia +62 -0
- package/fixtures/language/cells/fail/phase-unknown.diagnostics.json +6 -0
- package/fixtures/language/cells/fail/phase-unknown.ia +61 -0
- package/fixtures/language/cells/fail/primary-quoted.diagnostics.json +6 -0
- package/fixtures/language/cells/fail/primary-quoted.ia +61 -0
- package/fixtures/language/cells/fail/primary-requires-means.diagnostics.json +6 -0
- package/fixtures/language/cells/fail/primary-requires-means.ia +61 -0
- package/fixtures/language/cells/fail/primary-unknown.diagnostics.json +6 -0
- package/fixtures/language/cells/fail/primary-unknown.ia +61 -0
- package/fixtures/language/cells/fail/primitive-case.diagnostics.json +6 -0
- package/fixtures/language/cells/fail/primitive-case.ia +61 -0
- package/fixtures/language/cells/fail/primitive-unknown.diagnostics.json +6 -0
- package/fixtures/language/cells/fail/primitive-unknown.ia +61 -0
- package/fixtures/language/cells/fail/unsupported-item.diagnostics.json +6 -0
- package/fixtures/language/cells/fail/unsupported-item.ia +61 -0
- package/fixtures/language/cells/pass/full-opal-grid.ia +92 -0
- package/fixtures/language/cells/pass/full-opal-grid.records.json +1450 -0
- package/fixtures/language/compile/fail/blocked-keyword.diagnostics.json +1 -0
- package/fixtures/language/compile/fail/blocked-keyword.ia +22 -0
- package/fixtures/language/compile/fail/discriminator-unregistered.diagnostics.json +1 -0
- package/fixtures/language/compile/fail/discriminator-unregistered.ia +19 -0
- package/fixtures/language/compile/pass/minimal-floor.ia +22 -0
- package/fixtures/language/compile/pass/minimal-floor.records.json +293 -0
- package/fixtures/language/compile/pass/nested-and-items.ia +27 -0
- package/fixtures/language/compile/pass/nested-and-items.records.json +373 -0
- package/fixtures/language/conditions/fail/conflicting-name.diagnostics.json +6 -0
- package/fixtures/language/conditions/fail/conflicting-name.ia +60 -0
- package/fixtures/language/conditions/fail/dangling-and.diagnostics.json +6 -0
- package/fixtures/language/conditions/fail/dangling-and.ia +60 -0
- package/fixtures/language/conditions/fail/empty-child.diagnostics.json +6 -0
- package/fixtures/language/conditions/fail/empty-child.ia +61 -0
- package/fixtures/language/conditions/fail/misplaced-head.diagnostics.json +6 -0
- package/fixtures/language/conditions/fail/misplaced-head.ia +59 -0
- package/fixtures/language/conditions/fail/misplaced-meaning.diagnostics.json +6 -0
- package/fixtures/language/conditions/fail/misplaced-meaning.ia +60 -0
- package/fixtures/language/conditions/fail/misplaced-ordinary-deep.diagnostics.json +6 -0
- package/fixtures/language/conditions/fail/misplaced-ordinary-deep.ia +61 -0
- package/fixtures/language/conditions/fail/misplaced-phase.diagnostics.json +6 -0
- package/fixtures/language/conditions/fail/misplaced-phase.ia +61 -0
- package/fixtures/language/conditions/fail/misplaced-primary.diagnostics.json +6 -0
- package/fixtures/language/conditions/fail/misplaced-primary.ia +62 -0
- package/fixtures/language/conditions/fail/misplaced-severity.diagnostics.json +6 -0
- package/fixtures/language/conditions/fail/misplaced-severity.ia +60 -0
- package/fixtures/language/conditions/fail/misplaced-standalone.diagnostics.json +6 -0
- package/fixtures/language/conditions/fail/misplaced-standalone.ia +60 -0
- package/fixtures/language/conditions/fail/missing-is.diagnostics.json +6 -0
- package/fixtures/language/conditions/fail/missing-is.ia +60 -0
- package/fixtures/language/conditions/fail/mixed-carriers.diagnostics.json +6 -0
- package/fixtures/language/conditions/fail/mixed-carriers.ia +61 -0
- package/fixtures/language/conditions/fail/quoted-value.diagnostics.json +6 -0
- package/fixtures/language/conditions/fail/quoted-value.ia +60 -0
- package/fixtures/language/conditions/fail/repeated-child.diagnostics.json +6 -0
- package/fixtures/language/conditions/fail/repeated-child.ia +62 -0
- package/fixtures/language/conditions/fail/repeated-name.diagnostics.json +6 -0
- package/fixtures/language/conditions/fail/repeated-name.ia +60 -0
- package/fixtures/language/conditions/fail/schema-when-block.diagnostics.json +6 -0
- package/fixtures/language/conditions/fail/schema-when-block.ia +64 -0
- package/fixtures/language/conditions/fail/unknown-term.diagnostics.json +6 -0
- package/fixtures/language/conditions/fail/unknown-term.ia +60 -0
- package/fixtures/language/conditions/fail/unknown-value.diagnostics.json +6 -0
- package/fixtures/language/conditions/fail/unknown-value.ia +60 -0
- package/fixtures/language/conditions/pass/all-carriers-and-dimensions.ia +71 -0
- package/fixtures/language/conditions/pass/all-carriers-and-dimensions.records.json +1131 -0
- package/fixtures/language/contracts/fail/duplicate-requirement-records.diagnostics.json +10 -0
- package/fixtures/language/contracts/fail/duplicate-requirement-records.ia +67 -0
- package/fixtures/language/contracts/fail/duplicate-requirement-sections.diagnostics.json +10 -0
- package/fixtures/language/contracts/fail/duplicate-requirement-sections.ia +64 -0
- package/fixtures/language/contracts/fail/extra-word.diagnostics.json +6 -0
- package/fixtures/language/contracts/fail/extra-word.ia +62 -0
- package/fixtures/language/contracts/fail/id-case.diagnostics.json +6 -0
- package/fixtures/language/contracts/fail/id-case.ia +62 -0
- package/fixtures/language/contracts/fail/id-empty.diagnostics.json +6 -0
- package/fixtures/language/contracts/fail/id-empty.ia +62 -0
- package/fixtures/language/contracts/fail/retired-binds.diagnostics.json +6 -0
- package/fixtures/language/contracts/fail/retired-binds.ia +59 -0
- package/fixtures/language/contracts/fail/retired-schema.diagnostics.json +6 -0
- package/fixtures/language/contracts/fail/retired-schema.ia +62 -0
- package/fixtures/language/contracts/fail/text-reference.diagnostics.json +6 -0
- package/fixtures/language/contracts/fail/text-reference.ia +62 -0
- package/fixtures/language/contracts/fail/text-scalar.diagnostics.json +6 -0
- package/fixtures/language/contracts/fail/text-scalar.ia +62 -0
- package/fixtures/language/contracts/fail/unbound.diagnostics.json +6 -0
- package/fixtures/language/contracts/fail/unbound.ia +60 -0
- package/fixtures/language/contracts/fail/unsupported-child.diagnostics.json +6 -0
- package/fixtures/language/contracts/fail/unsupported-child.ia +63 -0
- package/fixtures/language/contracts/pass/all-requirement-kinds.ia +76 -0
- package/fixtures/language/contracts/pass/all-requirement-kinds.records.json +1101 -0
- package/fixtures/language/edges/fail/identity-fragment.diagnostics.json +6 -0
- package/fixtures/language/edges/fail/identity-fragment.ia +60 -0
- package/fixtures/language/edges/fail/identity-kind.diagnostics.json +6 -0
- package/fixtures/language/edges/fail/identity-kind.ia +60 -0
- package/fixtures/language/edges/fail/identity-short.diagnostics.json +6 -0
- package/fixtures/language/edges/fail/identity-short.ia +60 -0
- package/fixtures/language/edges/fail/missing-target.diagnostics.json +6 -0
- package/fixtures/language/edges/fail/missing-target.ia +60 -0
- package/fixtures/language/edges/fail/source-side-unconsented.diagnostics.json +6 -0
- package/fixtures/language/edges/fail/source-side-unconsented.ia +60 -0
- package/fixtures/language/edges/fail/target-absent.diagnostics.json +6 -0
- package/fixtures/language/edges/fail/target-absent.ia +60 -0
- package/fixtures/language/edges/fail/target-ambiguous.diagnostics.json +6 -0
- package/fixtures/language/edges/fail/target-ambiguous.ia +60 -0
- package/fixtures/language/edges/fail/target-ambiguous.pool.json +26 -0
- package/fixtures/language/edges/fail/target-bare.diagnostics.json +6 -0
- package/fixtures/language/edges/fail/target-bare.ia +60 -0
- package/fixtures/language/edges/fail/target-list.diagnostics.json +6 -0
- package/fixtures/language/edges/fail/target-list.ia +60 -0
- package/fixtures/language/edges/fail/target-quoted.diagnostics.json +6 -0
- package/fixtures/language/edges/fail/target-quoted.ia +60 -0
- package/fixtures/language/edges/fail/target-side-unconsented.diagnostics.json +6 -0
- package/fixtures/language/edges/fail/target-side-unconsented.ia +60 -0
- package/fixtures/language/edges/fail/target-trailing-word.diagnostics.json +6 -0
- package/fixtures/language/edges/fail/target-trailing-word.ia +60 -0
- package/fixtures/language/edges/fail/unknown-verb.diagnostics.json +6 -0
- package/fixtures/language/edges/fail/unknown-verb.ia +60 -0
- package/fixtures/language/edges/pass/all-verbs-and-addresses.ia +114 -0
- package/fixtures/language/edges/pass/all-verbs-and-addresses.records.json +2221 -0
- package/fixtures/language/format/fail/lost-comment.candidate.txt +5 -0
- package/fixtures/language/format/fail/lost-comment.diagnostics.json +3 -0
- package/fixtures/language/format/fail/lost-comment.ia +5 -0
- package/fixtures/language/format/pass/token-spacing.ast.json +100 -0
- package/fixtures/language/format/pass/token-spacing.formatted.txt +7 -0
- package/fixtures/language/format/pass/token-spacing.ia +7 -0
- package/fixtures/language/identity/fail/facet-undeclared.diagnostics.json +1 -0
- package/fixtures/language/identity/fail/facet-undeclared.ia +20 -0
- package/fixtures/language/identity/fail/identity-collision.diagnostics.json +1 -0
- package/fixtures/language/identity/fail/identity-collision.ia +20 -0
- package/fixtures/language/identity/pass/facets.ia +21 -0
- package/fixtures/language/identity/pass/facets.records.json +300 -0
- package/fixtures/language/indent/fail/odd-block-with-prose.diagnostics.json +1 -0
- package/fixtures/language/indent/fail/odd-block-with-prose.ia +6 -0
- package/fixtures/language/indent/fail/odd-block.diagnostics.json +1 -0
- package/fixtures/language/indent/fail/odd-block.ia +4 -0
- package/fixtures/language/indent/fail/odd.diagnostics.json +1 -0
- package/fixtures/language/indent/fail/odd.ia +3 -0
- package/fixtures/language/indent/fail/step-block.diagnostics.json +1 -0
- package/fixtures/language/indent/fail/step-block.ia +4 -0
- package/fixtures/language/indent/fail/step-in-block.diagnostics.json +1 -0
- package/fixtures/language/indent/fail/step-in-block.ia +6 -0
- package/fixtures/language/indent/fail/step-under-header.diagnostics.json +1 -0
- package/fixtures/language/indent/fail/step-under-header.ia +3 -0
- package/fixtures/language/indent/fail/tab-block.diagnostics.json +1 -0
- package/fixtures/language/indent/fail/tab-block.ia +5 -0
- package/fixtures/language/indent/fail/tab.diagnostics.json +1 -0
- package/fixtures/language/indent/fail/tab.ia +3 -0
- package/fixtures/language/indent/fail/under-item.diagnostics.json +1 -0
- package/fixtures/language/indent/fail/under-item.ia +5 -0
- package/fixtures/language/indent/pass/blocks.ast.json +127 -0
- package/fixtures/language/indent/pass/blocks.ia +9 -0
- package/fixtures/language/lists/fail/dash-without-value.diagnostics.json +1 -0
- package/fixtures/language/lists/fail/dash-without-value.ia +4 -0
- package/fixtures/language/lists/fail/empty-item.diagnostics.json +1 -0
- package/fixtures/language/lists/fail/empty-item.ia +4 -0
- package/fixtures/language/lists/fail/item-line-list.diagnostics.json +1 -0
- package/fixtures/language/lists/fail/item-line-list.ia +4 -0
- package/fixtures/language/lists/fail/item-line-prose.diagnostics.json +1 -0
- package/fixtures/language/lists/fail/item-line-prose.ia +4 -0
- package/fixtures/language/lists/fail/missing-separator.diagnostics.json +1 -0
- package/fixtures/language/lists/fail/missing-separator.ia +4 -0
- package/fixtures/language/lists/fail/nested-list.diagnostics.json +1 -0
- package/fixtures/language/lists/fail/nested-list.ia +4 -0
- package/fixtures/language/lists/fail/unterminated.diagnostics.json +1 -0
- package/fixtures/language/lists/fail/unterminated.ia +5 -0
- package/fixtures/language/lists/pass/multi-line.ast.json +117 -0
- package/fixtures/language/lists/pass/multi-line.ia +9 -0
- package/fixtures/language/pragma/fail/missing.diagnostics.json +1 -0
- package/fixtures/language/pragma/fail/missing.ia +1 -0
- package/fixtures/language/pragma/fail/unsupported.diagnostics.json +1 -0
- package/fixtures/language/pragma/fail/unsupported.ia +2 -0
- package/fixtures/language/pragma/pass/minimal.ast.json +20 -0
- package/fixtures/language/pragma/pass/minimal.ia +2 -0
- package/fixtures/language/prose/fail/trailing.diagnostics.json +1 -0
- package/fixtures/language/prose/fail/trailing.ia +4 -0
- package/fixtures/language/prose/fail/unterminated.diagnostics.json +1 -0
- package/fixtures/language/prose/fail/unterminated.ia +5 -0
- package/fixtures/language/prose/pass/paragraphs.ast.json +48 -0
- package/fixtures/language/prose/pass/paragraphs.ia +7 -0
- package/fixtures/language/records/fail/head-after-section.diagnostics.json +1 -0
- package/fixtures/language/records/fail/head-after-section.ia +5 -0
- package/fixtures/language/records/fail/header-discriminator-class.diagnostics.json +1 -0
- package/fixtures/language/records/fail/header-discriminator-class.ia +2 -0
- package/fixtures/language/records/fail/header-extra-token.diagnostics.json +1 -0
- package/fixtures/language/records/fail/header-extra-token.ia +2 -0
- package/fixtures/language/records/fail/header-missing-name.diagnostics.json +1 -0
- package/fixtures/language/records/fail/header-missing-name.ia +2 -0
- package/fixtures/language/records/fail/header-name-class.diagnostics.json +1 -0
- package/fixtures/language/records/fail/header-name-class.ia +2 -0
- package/fixtures/language/records/fail/indented-preamble.diagnostics.json +1 -0
- package/fixtures/language/records/fail/indented-preamble.ia +3 -0
- package/fixtures/language/records/fail/item-under-header.diagnostics.json +1 -0
- package/fixtures/language/records/fail/item-under-header.ia +3 -0
- package/fixtures/language/records/fail/nested-under-header.diagnostics.json +1 -0
- package/fixtures/language/records/fail/nested-under-header.ia +3 -0
- package/fixtures/language/records/fail/toplevel.diagnostics.json +1 -0
- package/fixtures/language/records/fail/toplevel.ia +3 -0
- package/fixtures/language/records/pass/full.ast.json +31 -0
- package/fixtures/language/records/pass/full.ia +11 -0
- package/fixtures/language/refs/fail/discriminator-class.diagnostics.json +1 -0
- package/fixtures/language/refs/fail/discriminator-class.ia +4 -0
- package/fixtures/language/refs/fail/name-class.diagnostics.json +1 -0
- package/fixtures/language/refs/fail/name-class.ia +4 -0
- package/fixtures/language/refs/pass/cell-fragment.ast.json +50 -0
- package/fixtures/language/refs/pass/cell-fragment.ia +4 -0
- package/fixtures/language/refs/pass/fragments.ast.json +104 -0
- package/fixtures/language/refs/pass/fragments.ia +6 -0
- package/fixtures/language/registry/fail/category-missing.diagnostics.json +1 -0
- package/fixtures/language/registry/fail/category-missing.ia +8 -0
- package/fixtures/language/registry/fail/category-unknown.diagnostics.json +1 -0
- package/fixtures/language/registry/fail/category-unknown.ia +9 -0
- package/fixtures/language/registry/fail/condition-in-entry.diagnostics.json +1 -0
- package/fixtures/language/registry/fail/condition-in-entry.ia +9 -0
- package/fixtures/language/registry/fail/condition-on-head.diagnostics.json +1 -0
- package/fixtures/language/registry/fail/condition-on-head.ia +4 -0
- package/fixtures/language/registry/fail/consent-predicate-unknown.diagnostics.json +1 -0
- package/fixtures/language/registry/fail/consent-predicate-unknown.ia +6 -0
- package/fixtures/language/registry/fail/consent-row-malformed.diagnostics.json +1 -0
- package/fixtures/language/registry/fail/consent-row-malformed.ia +6 -0
- package/fixtures/language/registry/fail/discriminator-conflict.diagnostics.json +1 -0
- package/fixtures/language/registry/fail/discriminator-conflict.ia +21 -0
- package/fixtures/language/registry/fail/entry-malformed.diagnostics.json +1 -0
- package/fixtures/language/registry/fail/entry-malformed.ia +6 -0
- package/fixtures/language/registry/fail/facets-missing.diagnostics.json +1 -0
- package/fixtures/language/registry/fail/facets-missing.ia +9 -0
- package/fixtures/language/registry/fail/keyword-reserved.diagnostics.json +1 -0
- package/fixtures/language/registry/fail/keyword-reserved.ia +9 -0
- package/fixtures/language/registry/fail/kind-unknown.diagnostics.json +1 -0
- package/fixtures/language/registry/fail/kind-unknown.ia +9 -0
- package/fixtures/language/registry/fail/provider-missing.diagnostics.json +1 -0
- package/fixtures/language/registry/fail/provider-missing.ia +3 -0
- package/fixtures/language/registry/fail/requires-head-field.diagnostics.json +1 -0
- package/fixtures/language/registry/fail/requires-head-field.ia +5 -0
- package/fixtures/language/registry/fail/retired-interface.diagnostics.json +6 -0
- package/fixtures/language/registry/fail/retired-interface.ia +9 -0
- package/fixtures/language/registry/fail/retired-protocol.diagnostics.json +6 -0
- package/fixtures/language/registry/fail/retired-protocol.ia +9 -0
- package/fixtures/language/registry/fail/retired-shape.diagnostics.json +6 -0
- package/fixtures/language/registry/fail/retired-shape.ia +9 -0
- package/fixtures/language/registry/fail/schema-entry-missing.diagnostics.json +1 -0
- package/fixtures/language/registry/fail/schema-entry-missing.ia +9 -0
- package/fixtures/language/registry/fail/schema-kind-mismatch.diagnostics.json +1 -0
- package/fixtures/language/registry/fail/schema-kind-mismatch.ia +13 -0
- package/fixtures/language/registry/fail/schema-missing.diagnostics.json +1 -0
- package/fixtures/language/registry/fail/schema-missing.ia +9 -0
- package/fixtures/language/registry/fail/system-cycle.diagnostics.json +1 -0
- package/fixtures/language/registry/fail/system-cycle.ia +11 -0
- package/fixtures/language/registry/fail/system-missing.diagnostics.json +1 -0
- package/fixtures/language/registry/fail/system-missing.ia +6 -0
- package/fixtures/language/registry/fail/version-not-semver.diagnostics.json +1 -0
- package/fixtures/language/registry/fail/version-not-semver.ia +4 -0
- package/fixtures/language/registry/pass/requires-order.ia +44 -0
- package/fixtures/language/registry/pass/requires-order.records.json +633 -0
- package/fixtures/language/schema/fail/edge-as-field.diagnostics.json +1 -0
- package/fixtures/language/schema/fail/edge-as-field.ia +7 -0
- package/fixtures/language/schema/fail/edge-cardinality-unknown.diagnostics.json +1 -0
- package/fixtures/language/schema/fail/edge-cardinality-unknown.ia +7 -0
- package/fixtures/language/schema/fail/edge-predicate-unknown.diagnostics.json +1 -0
- package/fixtures/language/schema/fail/edge-predicate-unknown.ia +7 -0
- package/fixtures/language/schema/fail/field-form-unknown.diagnostics.json +1 -0
- package/fixtures/language/schema/fail/field-form-unknown.ia +7 -0
- package/fixtures/language/schema/fail/field-path-malformed.diagnostics.json +1 -0
- package/fixtures/language/schema/fail/field-path-malformed.ia +7 -0
- package/fixtures/language/schema/fail/field-set-not-id.diagnostics.json +1 -0
- package/fixtures/language/schema/fail/field-set-not-id.ia +7 -0
- package/fixtures/language/schema/fail/field-type-unknown.diagnostics.json +1 -0
- package/fixtures/language/schema/fail/field-type-unknown.ia +7 -0
- package/fixtures/language/schema/fail/kind-unknown.diagnostics.json +1 -0
- package/fixtures/language/schema/fail/kind-unknown.ia +5 -0
- package/fixtures/language/schema/fail/lowers-to-missing.diagnostics.json +1 -0
- package/fixtures/language/schema/fail/lowers-to-missing.ia +4 -0
- package/fixtures/language/schema/fail/sections-unclosed.diagnostics.json +1 -0
- package/fixtures/language/schema/fail/sections-unclosed.ia +5 -0
- package/fixtures/language/schema/pass/field-narrowing.ia +13 -0
- package/fixtures/language/schema/pass/field-narrowing.records.json +170 -0
- package/fixtures/language/schema/pass/full-dialect.ia +16 -0
- package/fixtures/language/schema/pass/full-dialect.records.json +179 -0
- package/fixtures/language/selectors/fail/child-condition.diagnostics.json +6 -0
- package/fixtures/language/selectors/fail/child-condition.ia +61 -0
- package/fixtures/language/selectors/fail/dangling-and.diagnostics.json +6 -0
- package/fixtures/language/selectors/fail/dangling-and.ia +60 -0
- package/fixtures/language/selectors/fail/dimension-not-axis.diagnostics.json +6 -0
- package/fixtures/language/selectors/fail/dimension-not-axis.ia +60 -0
- package/fixtures/language/selectors/fail/missing-is.diagnostics.json +6 -0
- package/fixtures/language/selectors/fail/missing-is.ia +60 -0
- package/fixtures/language/selectors/fail/quoted-value.diagnostics.json +6 -0
- package/fixtures/language/selectors/fail/quoted-value.ia +60 -0
- package/fixtures/language/selectors/fail/repeated-axis.diagnostics.json +6 -0
- package/fixtures/language/selectors/fail/repeated-axis.ia +60 -0
- package/fixtures/language/selectors/fail/unknown-axis.diagnostics.json +6 -0
- package/fixtures/language/selectors/fail/unknown-axis.ia +60 -0
- package/fixtures/language/selectors/fail/unknown-value.diagnostics.json +6 -0
- package/fixtures/language/selectors/fail/unknown-value.ia +60 -0
- package/fixtures/language/selectors/fail/wrong-grammar-case.diagnostics.json +6 -0
- package/fixtures/language/selectors/fail/wrong-grammar-case.ia +60 -0
- package/fixtures/language/selectors/pass/all-axes-canonical-values.ia +136 -0
- package/fixtures/language/selectors/pass/all-axes-canonical-values.records.json +2437 -0
- package/fixtures/language/strings/fail/unterminated-block.diagnostics.json +1 -0
- package/fixtures/language/strings/fail/unterminated-block.ia +6 -0
- package/fixtures/language/strings/fail/unterminated.diagnostics.json +1 -0
- package/fixtures/language/strings/fail/unterminated.ia +4 -0
- package/fixtures/language/strings/pass/structural-words.ast.json +21 -0
- package/fixtures/language/strings/pass/structural-words.ia +4 -0
- package/fixtures/language/values/fail/key-missing.diagnostics.json +1 -0
- package/fixtures/language/values/fail/key-missing.ia +4 -0
- package/fixtures/language/values/fail/trailing.diagnostics.json +1 -0
- package/fixtures/language/values/fail/trailing.ia +4 -0
- package/fixtures/language/values/fail/when-empty.diagnostics.json +1 -0
- package/fixtures/language/values/fail/when-empty.ia +4 -0
- package/fixtures/language/values/fail/when-list.diagnostics.json +1 -0
- package/fixtures/language/values/fail/when-list.ia +4 -0
- package/fixtures/language/values/pass/forms.ast.json +177 -0
- package/fixtures/language/values/pass/forms.ia +11 -0
- package/fixtures/language/variants/fail/duplicate-canonical-conjunction.diagnostics.json +14 -0
- package/fixtures/language/variants/fail/duplicate-canonical-conjunction.ia +63 -0
- package/fixtures/language/variants/fail/duplicate-fallback.diagnostics.json +10 -0
- package/fixtures/language/variants/fail/duplicate-fallback.ia +61 -0
- package/fixtures/language/variants/pass/fallback-and-coordinate-families.ia +65 -0
- package/fixtures/language/variants/pass/fallback-and-coordinate-families.records.json +971 -0
- package/fixtures/loop/.ia/src/blocking.ia +8 -0
- package/fixtures/loop/.ia/src/choice-a.ia +9 -0
- package/fixtures/loop/.ia/src/choice-b.ia +9 -0
- package/fixtures/loop/.ia/src/declared-decision.ia +12 -0
- package/fixtures/loop/.ia/src/fallback.ia +9 -0
- package/fixtures/loop/.ia/src/floor/artifact-set.ia +65 -0
- package/fixtures/loop/.ia/src/floor/axis.ia +74 -0
- package/fixtures/loop/.ia/src/floor/cardinality.ia +23 -0
- package/fixtures/loop/.ia/src/floor/category.ia +107 -0
- package/fixtures/loop/.ia/src/floor/dimension.ia +29 -0
- package/fixtures/loop/.ia/src/floor/floor.schema.ia +23 -0
- package/fixtures/loop/.ia/src/floor/intent-shape.ia +73 -0
- package/fixtures/loop/.ia/src/floor/kernel.schema.ia +173 -0
- package/fixtures/loop/.ia/src/floor/kind.ia +59 -0
- package/fixtures/loop/.ia/src/floor/lane.ia +44 -0
- package/fixtures/loop/.ia/src/floor/move.ia +37 -0
- package/fixtures/loop/.ia/src/floor/phase.ia +30 -0
- package/fixtures/loop/.ia/src/floor/placement.ia +42 -0
- package/fixtures/loop/.ia/src/floor/predicate.ia +164 -0
- package/fixtures/loop/.ia/src/floor/primitive.ia +50 -0
- package/fixtures/loop/.ia/src/floor/taxonomy.system.ia +67 -0
- package/fixtures/loop/.ia/src/floor/value-type.ia +44 -0
- package/fixtures/loop/.ia/src/systems/agent-system/records/foreign.ia +9 -0
- package/fixtures/loop/.ia/src/systems/agent-system/records/sample-mandate.ia +8 -0
- package/fixtures/loop/.ia/src/systems/agent-system/schemas/agent.schema.ia +13 -0
- package/fixtures/loop/.ia/src/systems/agent-system/schemas/mandate.schema.ia +12 -0
- package/fixtures/loop/.ia/src/systems/agent-system/steward.ia +9 -0
- package/fixtures/loop/.ia/src/systems/agent-system/system.ia +25 -0
- package/fixtures/loop/.ia/src/systems/compliance-system/cases/foreign-vocabulary.ia +14 -0
- package/fixtures/loop/.ia/src/systems/compliance-system/cases/missing-required-field.ia +14 -0
- package/fixtures/loop/.ia/src/systems/compliance-system/cases/valid-native-record.ia +15 -0
- package/fixtures/loop/.ia/src/systems/compliance-system/checks/instance-schema-check.ia +13 -0
- package/fixtures/loop/.ia/src/systems/compliance-system/contracts/foundation-authoring-contract.ia +15 -0
- package/fixtures/loop/.ia/src/systems/compliance-system/schemas/case.schema.ia +17 -0
- package/fixtures/loop/.ia/src/systems/compliance-system/schemas/check.schema.ia +15 -0
- package/fixtures/loop/.ia/src/systems/compliance-system/schemas/contract.schema.ia +20 -0
- package/fixtures/loop/.ia/src/systems/compliance-system/steward.ia +9 -0
- package/fixtures/loop/.ia/src/systems/compliance-system/system.ia +29 -0
- package/fixtures/loop/.ia/src/systems/governance-system/records/sample-convention.ia +9 -0
- package/fixtures/loop/.ia/src/systems/governance-system/records/sample-principle.ia +9 -0
- package/fixtures/loop/.ia/src/systems/governance-system/records/sample-procedure.ia +44 -0
- package/fixtures/loop/.ia/src/systems/governance-system/records/sample-rule.ia +13 -0
- package/fixtures/loop/.ia/src/systems/governance-system/schemas/convention.schema.ia +13 -0
- package/fixtures/loop/.ia/src/systems/governance-system/schemas/law.schema.ia +13 -0
- package/fixtures/loop/.ia/src/systems/governance-system/schemas/playbook.schema.ia +14 -0
- package/fixtures/loop/.ia/src/systems/governance-system/schemas/principle.schema.ia +13 -0
- package/fixtures/loop/.ia/src/systems/governance-system/steward.ia +9 -0
- package/fixtures/loop/.ia/src/systems/governance-system/system.ia +35 -0
- package/fixtures/loop/.ia/src/systems/session-system/records/sample-session.ia +10 -0
- package/fixtures/loop/.ia/src/systems/session-system/schemas/run.schema.ia +15 -0
- package/fixtures/loop/.ia/src/systems/session-system/steward.ia +9 -0
- package/fixtures/loop/.ia/src/systems/session-system/system.ia +23 -0
- package/fixtures/loop/.ia/src/systems/workspace-system/records/foundation-distribution.ia +8 -0
- package/fixtures/loop/.ia/src/systems/workspace-system/records/foundation-workspace.ia +10 -0
- package/fixtures/loop/.ia/src/systems/workspace-system/schemas/distribution.schema.ia +13 -0
- package/fixtures/loop/.ia/src/systems/workspace-system/schemas/workspace.schema.ia +13 -0
- package/fixtures/loop/.ia/src/systems/workspace-system/steward.ia +9 -0
- package/fixtures/loop/.ia/src/systems/workspace-system/system.ia +26 -0
- package/fixtures/loop/README.md +3 -0
- package/fixtures/loop/SPEC.md +9 -0
- package/fixtures/refusals.ts +434 -0
- package/package.json +129 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../src/fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,WAAW,EACX,aAAa,EACb,uBAAuB,EACvB,OAAO,EACP,MAAM,EACN,KAAK,GACN,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAGpC,MAAM,CAAC,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAC;IAC1D,UAAU;IACV,QAAQ;IACR,UAAU;IACV,SAAS;IACT,OAAO;IACP,WAAW;IACX,OAAO;IACP,YAAY;IACZ,UAAU;IACV,WAAW;IACX,OAAO;CACR,CAAC,CAAC;AAiBH,MAAM,QAAQ,GAAa,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;AAC9G,MAAM,UAAU,kBAAkB,CAAC,OAAwB;IACzD,MAAM,QAAQ,GAAc,EAAE,EAC5B,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAQ,EAAE;QACzC,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,0BAA0B;YAChC,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,CAAC;YACP,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE;SACvC,CAAC,CAAC;IACL,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,CAAC,MAAe,EAAE,QAAiB,EAAE,KAAa,EAAQ,EAAE;QACxE,IAAI,eAAe,CAAC,MAAM,CAAC,KAAK,eAAe,CAAC,QAAQ,CAAC;YAAE,QAAQ,CAAC,GAAG,KAAK,oCAAoC,CAAC,CAAC;IACpH,CAAC,CAAC;IACF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,WAAW,GAA0B,MAAM,CAAC,WAAW,EACzD,OAAgB,CAAC;QACnB,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBACpD,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;gBACjC,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;oBAAE,QAAQ,CAAC,+BAA+B,CAAC,CAAC;;oBAC1E,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACvD,CAAC;iBAAM,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;gBAAE,QAAQ,CAAC,gCAAgC,CAAC,CAAC;;gBAClF,WAAW,GAAG,uBAAuB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9F,CAAC;aAAM,IAAI,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3E,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBACrD,IACE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI;oBACxE,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAEhD,MAAM,IAAI,SAAS,CAAC,+BAA+B,CAAC,CAAC;gBACvD,OAAO,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC1E,CAAC,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC;YAC5E,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;YAChG,MAAM,MAAM,GAAG,OAAO,CACpB,MAAM,CAAC,GAAG,EACV,UAAU,CAAC,QAAQ,EACnB,QAAQ,EACR,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CACtC,CAAC;YACF,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YACzB,WAAW,GAAG;gBACZ,GAAG,UAAU,CAAC,WAAW;gBACzB,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;gBAC5C,GAAG,MAAM,CAAC,WAAW;aACtB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,WAAW;YAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;gBAAE,QAAQ,CAAC,wCAAwC,CAAC,CAAC;YAC/E,IAAI,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS;gBACjG,QAAQ,CAAC,oCAAoC,CAAC,CAAC;YACjD,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS;gBAAE,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACrE,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;gBAAE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAChF,CAAC;aAAM,CAAC;YACN,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;gBAAE,QAAQ,CAAC,0CAA0C,CAAC,CAAC;YACnF,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;gBAAE,QAAQ,CAAC,gCAAgC,CAAC,CAAC;;gBAEhF,KAAK,CACH,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EACxD,OAAO,CAAC,WAAW,EACnB,aAAa,CACd,CAAC;QACN,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,QAAQ,CAAC,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;QAC3D,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;KACnD,CAAC,CAAC;AACL,CAAC;AACD,MAAM,UAAU,eAAe,CAAC,QAA2B,EAAE,OAAiC;IAC5F,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;IACjH,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,OAAO,MAAM,CACX,eAAe,EACf,uBAAuB,EACvB,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACrB,IAAI,EAAE,0BAA0B;QAChC,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,CAAC;QACP,OAAO,EAAE,8CAA8C,IAAI,EAAE;KAC9D,CAAC,CAAC,CACJ,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { CompiledField, Diagnostic } from '@inventarch/language';
|
|
2
|
+
import type { Edge, Graph, Node } from '@inventarch/graph';
|
|
3
|
+
import type { ReferenceLookup } from './schema.js';
|
|
4
|
+
import type { Assessment, CompCode, EvidenceCode, Finding } from './types.js';
|
|
5
|
+
import type { EvaluatorCatalog } from './catalog.js';
|
|
6
|
+
export { CHECK_IDS } from './check-ids.js';
|
|
7
|
+
export declare function finding(code: CompCode | EvidenceCode, node: Node, message: string, line?: number, warning?: boolean): Finding;
|
|
8
|
+
export declare function fields(node: Node, section: string, key: string): readonly CompiledField[];
|
|
9
|
+
export declare function textField(node: Node, section: string, key: string): string | undefined;
|
|
10
|
+
export declare function validateGraphSchema(record: Node, graph: Graph): Assessment;
|
|
11
|
+
/** The `ref to` lookup of a graph (W0-L2): one per graph, built on first use over its admitted nodes and kept for the graph's lifetime. */
|
|
12
|
+
export declare function graphLookup(graph: Graph): ReferenceLookup;
|
|
13
|
+
export declare function fragmentTarget(edge: Edge, graph: Graph): Node | undefined;
|
|
14
|
+
export declare function fragmentExists(edge: Edge, graph: Graph): boolean;
|
|
15
|
+
export declare function validateFragments(graph: Graph): Assessment;
|
|
16
|
+
export declare function validateCoverage(contract: Node, graph: Graph): Assessment;
|
|
17
|
+
export declare function validateSelectors(node: Node): Assessment;
|
|
18
|
+
/**
|
|
19
|
+
* COMP-CHECK (C16, C26). Without a catalog only CHECK_IDS are implemented, exactly as before. With a trusted
|
|
20
|
+
* catalog from createEvaluatorCatalog, a supported catalog id also passes; a revoked one fails and an unavailable
|
|
21
|
+
* one is not-evaluated (D5). Host-reserved ids never pass (D4). The declaration still schedules nothing.
|
|
22
|
+
*/
|
|
23
|
+
export declare function validateCheck(node: Node, catalog?: EvaluatorCatalog): Assessment;
|
|
24
|
+
export declare function validateParse(diagnostics: readonly Diagnostic[] | undefined): Assessment;
|
|
25
|
+
export declare function validateConsent(graph: Graph): Assessment;
|
|
26
|
+
export declare function validateIdentity(graph: Graph): Assessment;
|
|
27
|
+
//# sourceMappingURL=graph-checks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-checks.d.ts","sourceRoot":"","sources":["../src/graph-checks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,wBAAgB,OAAO,CACrB,IAAI,EAAE,QAAQ,GAAG,YAAY,EAC7B,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,EACf,IAAI,SAAmB,EACvB,OAAO,UAAQ,GACd,OAAO,CAST;AACD,wBAAgB,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,aAAa,EAAE,CAKzF;AACD,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKtF;AACD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,UAAU,CA2D1E;AACD,2IAA2I;AAC3I,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,eAAe,CAOzD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,CAGzE;AACD,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAOhE;AACD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,CAe1D;AACD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,UAAU,CAkCzE;AACD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,CAgBxD;AACD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAwChF;AACD,wBAAgB,aAAa,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,GAAG,SAAS,GAAG,UAAU,CAcxF;AACD,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,CAKxD;AACD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,CAMzD"}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { AXES, canonicalValue, resolveTarget } from '@inventarch/language';
|
|
2
|
+
import { couldMatch, matchesTarget, poolLookup, schemaReporter, schemaStructure } from './schema.js';
|
|
3
|
+
import { assess } from './types.js';
|
|
4
|
+
import { CHECK_IDS, isBuiltinCheck } from './check-ids.js';
|
|
5
|
+
import { assertCatalog, selectEvaluator } from './catalog.js';
|
|
6
|
+
export { CHECK_IDS } from './check-ids.js';
|
|
7
|
+
export function finding(code, node, message, line = node.source.line, warning = false) {
|
|
8
|
+
return {
|
|
9
|
+
code,
|
|
10
|
+
severity: warning ? 'warning' : 'error',
|
|
11
|
+
path: node.source.path,
|
|
12
|
+
line,
|
|
13
|
+
identity: node.identity,
|
|
14
|
+
message: `${node.source.path}:${line}: ${node.identity}: ${message}`,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export function fields(node, section, key) {
|
|
18
|
+
return node.sections
|
|
19
|
+
.filter((s) => s.name === section)
|
|
20
|
+
.flatMap((s) => s.fields)
|
|
21
|
+
.filter((f) => 'key' in f && f.key === key);
|
|
22
|
+
}
|
|
23
|
+
export function textField(node, section, key) {
|
|
24
|
+
const matches = fields(node, section, key);
|
|
25
|
+
if (matches.length !== 1)
|
|
26
|
+
return undefined;
|
|
27
|
+
const value = matches[0].value;
|
|
28
|
+
return value.kind === 'scalar' || value.kind === 'string' || value.kind === 'prose' ? value.text : undefined;
|
|
29
|
+
}
|
|
30
|
+
export function validateGraphSchema(record, graph) {
|
|
31
|
+
const { findings, schema } = schemaStructure(record, graph.registry, graphLookup(graph)), add = schemaReporter(record, findings);
|
|
32
|
+
let unavailable = false;
|
|
33
|
+
for (const rule of schema?.edges ?? []) {
|
|
34
|
+
const refused = graph.diagnostics.some((d) => d.severity === 'error' && ['IA-GRAPH-EDGE-UNCONSENTED', 'IA-GRAPH-TARGET-AMBIGUOUS'].includes(d.code)) &&
|
|
35
|
+
[...graph.nodes.values()].some((author) => author.edges.some((edge) => edge.predicate === rule.predicate &&
|
|
36
|
+
(edge.direction === 'out'
|
|
37
|
+
? author.identity === record.identity
|
|
38
|
+
: resolveTarget(edge.reference, graph.registry, [record]).kind === 'resolved') &&
|
|
39
|
+
graph.diagnostics.some((d) => d.severity === 'error' &&
|
|
40
|
+
['IA-GRAPH-EDGE-UNCONSENTED', 'IA-GRAPH-TARGET-AMBIGUOUS'].includes(d.code) &&
|
|
41
|
+
d.path === author.source.path &&
|
|
42
|
+
d.line === edge.span.line)));
|
|
43
|
+
// Admission already owns the fault. Its refused edge is neither a target nor
|
|
44
|
+
// evidence of absence: leave this dependent obligation unavailable.
|
|
45
|
+
if (refused) {
|
|
46
|
+
unavailable = true;
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
const targets = new Set();
|
|
50
|
+
let uncertain = false;
|
|
51
|
+
for (const edge of graph.out.get(record.identity)?.get(rule.predicate) ?? []) {
|
|
52
|
+
const target = edge.to === null ? undefined : graph.nodes.get(edge.to);
|
|
53
|
+
if (target !== undefined) {
|
|
54
|
+
if (!matchesTarget(target, rule))
|
|
55
|
+
continue;
|
|
56
|
+
if (edge.condition !== undefined)
|
|
57
|
+
uncertain = true;
|
|
58
|
+
else
|
|
59
|
+
targets.add(`${target.identity}#${edge.fragmentEndpoint === 'to' ? (edge.fragment ?? '') : ''}`);
|
|
60
|
+
}
|
|
61
|
+
else if (couldMatch({ ...edge, direction: 'out', target: null, span: edge.source }, rule, graph.registry))
|
|
62
|
+
uncertain = true;
|
|
63
|
+
}
|
|
64
|
+
const minimum = rule.must && rule.cardinality !== 'optional' ? 1 : 0, maximum = rule.cardinality === 'one-or-more' ? Infinity : 1;
|
|
65
|
+
if (targets.size > maximum || (targets.size < minimum && !uncertain))
|
|
66
|
+
add('IA-COMP-EDGE-CARDINALITY', record.source, `${rule.predicate} ${rule.target} requires ${rule.must ? 'must' : 'may'} ${rule.cardinality}; found ${targets.size} definite targets`);
|
|
67
|
+
else if (uncertain && (targets.size < minimum || maximum !== Infinity))
|
|
68
|
+
add('IA-COMP-EDGE-UNRESOLVED', record.source, `${rule.predicate} ${rule.target} ${rule.cardinality} cannot be decided with unresolved targets or conditions`, true);
|
|
69
|
+
}
|
|
70
|
+
return assess('COMP-SCHEMA', record.identity, findings, unavailable);
|
|
71
|
+
}
|
|
72
|
+
/** The `ref to` lookup of a graph (W0-L2): one per graph, built on first use over its admitted nodes and kept for the graph's lifetime. */
|
|
73
|
+
export function graphLookup(graph) {
|
|
74
|
+
let lookup = graphLookups.get(graph);
|
|
75
|
+
if (lookup === undefined) {
|
|
76
|
+
lookup = poolLookup(graph.registry, [...graph.nodes.values()]);
|
|
77
|
+
graphLookups.set(graph, lookup);
|
|
78
|
+
}
|
|
79
|
+
return lookup;
|
|
80
|
+
}
|
|
81
|
+
const graphLookups = new WeakMap();
|
|
82
|
+
export function fragmentTarget(edge, graph) {
|
|
83
|
+
const identity = edge.fragmentEndpoint === 'from' ? edge.from : edge.to;
|
|
84
|
+
return identity === null ? undefined : graph.nodes.get(identity);
|
|
85
|
+
}
|
|
86
|
+
export function fragmentExists(edge, graph) {
|
|
87
|
+
const node = fragmentTarget(edge, graph);
|
|
88
|
+
return (node !== undefined &&
|
|
89
|
+
(node.requirements.some((r) => r.id === edge.fragment) ||
|
|
90
|
+
node.cells.some((c) => `${c.phase}/${c.primitive}` === edge.fragment)));
|
|
91
|
+
}
|
|
92
|
+
export function validateFragments(graph) {
|
|
93
|
+
const findings = [];
|
|
94
|
+
for (const edge of graph.edges) {
|
|
95
|
+
if (edge.fragment === undefined || fragmentTarget(edge, graph) === undefined || fragmentExists(edge, graph))
|
|
96
|
+
continue;
|
|
97
|
+
findings.push(finding('IA-COMP-FRAGMENT-MISSING', graph.nodes.get(edge.author), `Fragment #${edge.fragment} is absent on ${fragmentTarget(edge, graph).identity}`, edge.source.line));
|
|
98
|
+
}
|
|
99
|
+
return assess('COMP-FRAGMENT', 'graph', findings);
|
|
100
|
+
}
|
|
101
|
+
export function validateCoverage(contract, graph) {
|
|
102
|
+
const coverage = new Map(), kinds = new Set();
|
|
103
|
+
for (const edge of graph.in.get(contract.identity)?.get('implement') ?? []) {
|
|
104
|
+
if (edge.condition !== undefined ||
|
|
105
|
+
edge.from === null ||
|
|
106
|
+
edge.fragmentEndpoint !== 'to' ||
|
|
107
|
+
!fragmentExists(edge, graph))
|
|
108
|
+
continue;
|
|
109
|
+
const scenario = graph.nodes.get(edge.from);
|
|
110
|
+
if (scenario.discriminator !== 'case')
|
|
111
|
+
continue;
|
|
112
|
+
const cases = coverage.get(edge.fragment) ?? new Set();
|
|
113
|
+
cases.add(scenario.identity);
|
|
114
|
+
coverage.set(edge.fragment, cases);
|
|
115
|
+
const kind = textField(scenario, 'scenario', 'kind');
|
|
116
|
+
if (kind !== undefined)
|
|
117
|
+
kinds.add(kind);
|
|
118
|
+
}
|
|
119
|
+
const findings = contract.requirements
|
|
120
|
+
.filter((r) => !coverage.has(r.id))
|
|
121
|
+
.map((r) => finding('IA-COMP-COVERAGE-MISSING', contract, `Requirement ${r.id} has no unconditional implementing case`, r.span.line));
|
|
122
|
+
if (findings.length === 0 && (!kinds.has('success') || (!kinds.has('failure') && !kinds.has('refusal'))))
|
|
123
|
+
findings.push(finding('IA-COMP-COVERAGE-KIND', contract, 'Coverage requires a success case and a failure or refusal case'));
|
|
124
|
+
return assess('COMP-COVERAGE', contract.identity, findings);
|
|
125
|
+
}
|
|
126
|
+
export function validateSelectors(node) {
|
|
127
|
+
const findings = [];
|
|
128
|
+
for (const group of node.selectors)
|
|
129
|
+
if (group.length === 0 ||
|
|
130
|
+
new Set(group.map((t) => t.axis)).size !== group.length ||
|
|
131
|
+
group.some((t) => !AXES.includes(t.axis) || canonicalValue(t.axis, t.value) !== t.value))
|
|
132
|
+
findings.push(finding('IA-COMP-SELECTOR-INVALID', node, 'Selector group must contain unique closed routing axes and canonical values'));
|
|
133
|
+
return assess('COMP-SELECTOR', node.identity, findings);
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* COMP-CHECK (C16, C26). Without a catalog only CHECK_IDS are implemented, exactly as before. With a trusted
|
|
137
|
+
* catalog from createEvaluatorCatalog, a supported catalog id also passes; a revoked one fails and an unavailable
|
|
138
|
+
* one is not-evaluated (D5). Host-reserved ids never pass (D4). The declaration still schedules nothing.
|
|
139
|
+
*/
|
|
140
|
+
export function validateCheck(node, catalog) {
|
|
141
|
+
const runner = textField(node, 'check', 'runs');
|
|
142
|
+
if (catalog === undefined)
|
|
143
|
+
return assess('COMP-CHECK', node.identity, runner !== undefined && CHECK_IDS.includes(runner)
|
|
144
|
+
? []
|
|
145
|
+
: [
|
|
146
|
+
finding('IA-COMP-CHECK-UNKNOWN', node, `Unknown or missing check.runs '${runner ?? ''}'; implemented: ${CHECK_IDS.join(', ')}`),
|
|
147
|
+
]);
|
|
148
|
+
assertCatalog(catalog);
|
|
149
|
+
// D4: only CHECK_IDS are built in; host-reserved ids never pass and are never catalog entries.
|
|
150
|
+
if (runner !== undefined && isBuiltinCheck(runner))
|
|
151
|
+
return assess('COMP-CHECK', node.identity, []);
|
|
152
|
+
const entry = runner === undefined ? undefined : selectEvaluator(catalog, runner);
|
|
153
|
+
if (entry?.availability.status === 'supported')
|
|
154
|
+
return assess('COMP-CHECK', node.identity, []);
|
|
155
|
+
if (entry !== undefined) {
|
|
156
|
+
const message = `check.runs '${entry.id}' names catalog evaluator ${entry.id}@${entry.implementationVersion}, which is ${entry.availability.status}: ${entry.availability.reason}`;
|
|
157
|
+
// D5: revoked is a blocking error; unavailable stays visibly not-evaluated (admission blocks required obligations).
|
|
158
|
+
return entry.availability.status === 'revoked'
|
|
159
|
+
? assess('COMP-CHECK', node.identity, [finding('IA-COMP-EVALUATOR-REVOKED', node, message)])
|
|
160
|
+
: assess('COMP-CHECK', node.identity, [finding('IA-COMP-EVALUATOR-UNAVAILABLE', node, message, node.source.line, true)], true);
|
|
161
|
+
}
|
|
162
|
+
return assess('COMP-CHECK', node.identity, [
|
|
163
|
+
finding('IA-COMP-CHECK-UNKNOWN', node, `Unknown or missing check.runs '${runner ?? ''}'; implemented: ${CHECK_IDS.join(', ')}; catalog ${catalog.digest}: ${[...new Set(catalog.entries.map((e) => e.id))].join(', ') || 'no entries'}`),
|
|
164
|
+
]);
|
|
165
|
+
}
|
|
166
|
+
export function validateParse(diagnostics) {
|
|
167
|
+
return assess('COMP-PARSE', 'sources', diagnostics ?? [
|
|
168
|
+
{
|
|
169
|
+
code: 'IA-COMP-NOT-EVALUATED',
|
|
170
|
+
severity: 'warning',
|
|
171
|
+
path: '',
|
|
172
|
+
line: 1,
|
|
173
|
+
message: 'Language source diagnostics were not supplied',
|
|
174
|
+
},
|
|
175
|
+
]);
|
|
176
|
+
}
|
|
177
|
+
export function validateConsent(graph) {
|
|
178
|
+
const findings = graph.diagnostics.filter((d) => ['IA-GRAPH-EDGE-UNCONSENTED', 'IA-GRAPH-TARGET-MISSING', 'IA-GRAPH-TARGET-AMBIGUOUS'].includes(d.code));
|
|
179
|
+
return assess('COMP-CONSENT', 'graph', findings, graph.dangling.length > 0);
|
|
180
|
+
}
|
|
181
|
+
export function validateIdentity(graph) {
|
|
182
|
+
return assess('COMP-IDENTITY', 'graph', graph.diagnostics.filter((d) => d.code === 'IA-GRAPH-IDENTITY-TIE'));
|
|
183
|
+
}
|
|
184
|
+
//# sourceMappingURL=graph-checks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-checks.js","sourceRoot":"","sources":["../src/graph-checks.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* docs/specs/host-plugin-distribution/README.md §6.1 (amended: rendered at apply time). A pure function:
|
|
3
|
+
* the same input always yields the same files, so the caller's digest of the output identifies the plugin.
|
|
4
|
+
*/
|
|
5
|
+
export declare const CLAUDE_PLUGIN = "ia";
|
|
6
|
+
export declare const CLAUDE_MARKETPLACE = "inventarch";
|
|
7
|
+
export declare const PLUGIN_MARKER = "<!-- Generated by ia host --user; do not edit. -->";
|
|
8
|
+
export interface ClaudePluginInput {
|
|
9
|
+
/** plugin.json version: `<cli version>+<first 12 hex of the payload digest>`. */
|
|
10
|
+
readonly version: string;
|
|
11
|
+
readonly cliVersion: string;
|
|
12
|
+
readonly channel: 'checkout' | 'npm' | 'unknown';
|
|
13
|
+
/** Absolute path of the CLI entry that rendered this plugin; the hook runs it first (§8.1, amended). */
|
|
14
|
+
readonly entry: string;
|
|
15
|
+
/** §5's update instruction, which the hook repeats when `ia` cannot be found. */
|
|
16
|
+
readonly install: string;
|
|
17
|
+
}
|
|
18
|
+
export interface PluginFile {
|
|
19
|
+
readonly path: string;
|
|
20
|
+
readonly text: string;
|
|
21
|
+
}
|
|
22
|
+
export declare function renderClaudePlugin(input: ClaudePluginInput): readonly PluginFile[];
|
|
23
|
+
//# sourceMappingURL=host-plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-plugin.d.ts","sourceRoot":"","sources":["../src/host-plugin.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,aAAa,OAAO,CAAC;AAClC,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAC/C,eAAO,MAAM,aAAa,uDAAuD,CAAC;AAClF,MAAM,WAAW,iBAAiB;IAChC,iFAAiF;IACjF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,KAAK,GAAG,SAAS,CAAC;IACjD,wGAAwG;IACxG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,iFAAiF;IACjF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AACD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAyJD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,SAAS,UAAU,EAAE,CA4DlF"}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* docs/specs/host-plugin-distribution/README.md §6.1 (amended: rendered at apply time). A pure function:
|
|
3
|
+
* the same input always yields the same files, so the caller's digest of the output identifies the plugin.
|
|
4
|
+
*/
|
|
5
|
+
export const CLAUDE_PLUGIN = 'ia';
|
|
6
|
+
export const CLAUDE_MARKETPLACE = 'inventarch';
|
|
7
|
+
export const PLUGIN_MARKER = '<!-- Generated by ia host --user; do not edit. -->';
|
|
8
|
+
const json = (value) => JSON.stringify(value, null, 2) + '\n';
|
|
9
|
+
const skill = (name, description, body) => `---\nname: ${name}\ndescription: ${JSON.stringify(description)}\n---\n\n${PLUGIN_MARKER}\n\n${body}`;
|
|
10
|
+
const INIT = skill('init', "Offer to initialize an InventArch workspace in this repository, or record the user's answer. Use only when the user's request involves InventArch, .ia records or their governance.", [
|
|
11
|
+
"1. Run `ia doctor --json --host claude` and read its `session` field. If this directory is already a workspace, say so and stop. If the session context reports that the user declined initialization here, today or forever, do not offer to initialize: continue with the user's request, and initialize only if the user explicitly asks to in this conversation.",
|
|
12
|
+
'2. Ask the user one question with three choices: initialize now; not today; never for this repository.',
|
|
13
|
+
'3. Initialize now: run `ia init "<repository root>" --host claude` and show the plan, where `<repository root>` is the absolute path of this project, not the shell\'s current directory. Only after the user confirms it, run `ia init "<repository root>" --apply --yes --host claude`.',
|
|
14
|
+
'4. Not today: run `ia init "<repository root>" --decline today --host claude`, then continue with the user\'s request without offering again.',
|
|
15
|
+
'5. Never: run `ia init "<repository root>" --decline forever --host claude`. Do not offer again.',
|
|
16
|
+
'6. Never search the drive, parent directories or other repositories for `.ia` trees or IA tooling. If `ia` is not found, say so and repeat the install instruction from the session context.',
|
|
17
|
+
'',
|
|
18
|
+
].join('\n'));
|
|
19
|
+
const DOCTOR = skill('doctor', 'Report and explain the InventArch state of this environment and workspace.', [
|
|
20
|
+
"Run `ia doctor` and explain each row that is not ok. A row's remedy is a command: offer to run it, never run a remedy that changes files without the user's confirmation. `ia doctor` never repairs anything itself.",
|
|
21
|
+
'',
|
|
22
|
+
].join('\n'));
|
|
23
|
+
const AUTHORING = skill('authoring', 'How to author or check .ia records in an initialized workspace: find vocabulary, validate records and inspect an admitted record.', [
|
|
24
|
+
"Find a word and its schema in the language catalogue with `ia vocabulary <word> --schema`. Check this workspace's records with `ia validate`. Inspect an admitted record with `ia inspect <identity>`. Validation establishes conformance to the declared schemas, not design quality. When the workspace names a steward for the system you are changing, hand the change to that steward.",
|
|
25
|
+
'',
|
|
26
|
+
].join('\n'));
|
|
27
|
+
// Operator decision 2026-09-24: this agent is active in every repository once the plugin is installed, so it is pinned
|
|
28
|
+
// to reading and proposing. A subagent cannot start another one, so it names the steward rather than handing off.
|
|
29
|
+
const AUTHOR = `---\nname: ia-author\ndescription: ${JSON.stringify("Delegate a multi-step .ia record review or change proposal in an initialized InventArch workspace, grounded only in what ia reports for it. For a change to one system's records, use that system's steward instead.")}\nmodel: inherit\ntools: Read, Glob, Grep, Bash\n---\n\n${PLUGIN_MARKER}\n\nYou review \`.ia\` records and propose changes to them; you do not edit files. Ground every statement in \`ia vocabulary\` (the installed language catalogue), \`ia validate\` and \`ia inspect\` output for this workspace, and cite records by path and line. If the workspace defines a steward for the system being changed, return the proposed change and that steward's name to the caller. If \`ia doctor\` reports no workspace, stop and say so.\n`;
|
|
30
|
+
const HOOK = [
|
|
31
|
+
'// Generated by ia host --user; do not edit. docs/specs/host-plugin-distribution/README.md §8.',
|
|
32
|
+
"import { spawn, spawnSync } from 'node:child_process';",
|
|
33
|
+
"import { accessSync, constants, existsSync, mkdirSync, readFileSync, statSync, writeFileSync } from 'node:fs';",
|
|
34
|
+
"import { homedir } from 'node:os';",
|
|
35
|
+
"import { delimiter, dirname, isAbsolute, join, parse } from 'node:path';",
|
|
36
|
+
"import { fileURLToPath } from 'node:url';",
|
|
37
|
+
'const here = dirname(fileURLToPath(import.meta.url));',
|
|
38
|
+
'// Only fully qualified PATH entries count. An empty or relative entry names the project directory, which the',
|
|
39
|
+
'// repository controls, and on Windows a rooted entry without a drive or share depends on the current drive (LKI-41).',
|
|
40
|
+
'function qualified(path) {',
|
|
41
|
+
" return isAbsolute(path) && (process.platform !== 'win32' || parse(path).root.length > 1);",
|
|
42
|
+
'}',
|
|
43
|
+
'// PATH entries that count: qualified ones only. Windows allows an entry in quotes and no quote in a file name, so the',
|
|
44
|
+
'// quotes go there; on POSIX a quote is part of a directory name and every entry stays as written.',
|
|
45
|
+
'function pathEntries() {',
|
|
46
|
+
" const entries = (process.env.PATH || '').split(delimiter);",
|
|
47
|
+
" return (process.platform === 'win32' ? entries.map((entry) => entry.replace(/\"/g, '')) : entries).filter(qualified);",
|
|
48
|
+
'}',
|
|
49
|
+
'// The hook looks ia up itself on every platform: cmd.exe reports an unknown command only as a localized message',
|
|
50
|
+
'// with exit 1, the status a real ia doctor failure can have, so no shell is ever asked to fail (LKI-40). Only the four',
|
|
51
|
+
'// types cmd.exe starts as programs count; the PATHEXT script types would start through Windows Script Host.',
|
|
52
|
+
'function findOnPath(name) {',
|
|
53
|
+
" const windows = process.platform === 'win32';",
|
|
54
|
+
" const names = windows ? ['.com', '.exe', '.bat', '.cmd'].map((extension) => name + extension) : [name];",
|
|
55
|
+
' for (const dir of pathEntries()) {',
|
|
56
|
+
' try {',
|
|
57
|
+
' if (!statSync(dir).isDirectory()) continue;',
|
|
58
|
+
' } catch { continue; /* a missing directory costs one check, not one per name */ }',
|
|
59
|
+
' for (const candidate of names) {',
|
|
60
|
+
' const file = join(dir, candidate);',
|
|
61
|
+
" if (windows && file.includes('%')) continue; // cmd.exe would expand %NAME% even inside quotes",
|
|
62
|
+
' try {',
|
|
63
|
+
' if (!statSync(file).isFile()) continue;',
|
|
64
|
+
' if (!windows) accessSync(file, constants.X_OK);',
|
|
65
|
+
' return file;',
|
|
66
|
+
' } catch { /* absent or not executable: keep looking, as the shell would */ }',
|
|
67
|
+
' }',
|
|
68
|
+
' }',
|
|
69
|
+
' return null;',
|
|
70
|
+
'}',
|
|
71
|
+
'// cmd.exe by absolute path, since a bare cmd.exe would itself be looked up in the current directory first, and never',
|
|
72
|
+
"// ComSpec: Node gives a shell cmd.exe's switches only when its path matches cmd.exe with backslashes, so it would pass",
|
|
73
|
+
'// -c to another program or to cmd.exe spelled with forward slashes. The hook passes the switches itself (LKI-41).',
|
|
74
|
+
'function windowsShell() {',
|
|
75
|
+
" const root = process.env.SystemRoot || '';",
|
|
76
|
+
" return join(qualified(root) ? root : 'C:/Windows', 'System32', 'cmd.exe');",
|
|
77
|
+
'}',
|
|
78
|
+
"// cmd.exe's switches, passed verbatim: /d skips AutoRun commands, /v:off stops a delayed expansion that the registry",
|
|
79
|
+
'// turns on from reading a ! in the path, and /s /c runs the line inside the outer quotes as written.',
|
|
80
|
+
'function windowsArgs(file, args) {',
|
|
81
|
+
" return ['/d', '/v:off', '/s', '/c', '\"\"' + file + '\" ' + args.join(' ') + '\"'];",
|
|
82
|
+
'}',
|
|
83
|
+
'// Every child the hook starts (doctor, an ia launcher, the update refresh) sees only the qualified entries and, on',
|
|
84
|
+
"// Windows, no implicit current directory, so its own lookups (npm's ia.cmd runs node by name; doctor runs git) cannot",
|
|
85
|
+
'// reach the project either (LKI-41).',
|
|
86
|
+
'function childEnv() {',
|
|
87
|
+
' const env = {};',
|
|
88
|
+
" for (const [key, value] of Object.entries(process.env)) if (key.toUpperCase() !== 'PATH') env[key] = value;",
|
|
89
|
+
' const entries = pathEntries();',
|
|
90
|
+
' // POSIX reads an empty PATH as the current directory, so a PATH with no qualified entry becomes the system one.',
|
|
91
|
+
" env.PATH = entries.length > 0 || process.platform === 'win32' ? entries.join(delimiter) : '/usr/bin:/bin';",
|
|
92
|
+
" if (process.platform === 'win32') env.NoDefaultCurrentDirectoryInExePath = '1';",
|
|
93
|
+
' return env;',
|
|
94
|
+
'}',
|
|
95
|
+
'function main() {',
|
|
96
|
+
' try {',
|
|
97
|
+
" const meta = JSON.parse(readFileSync(join(here, '..', 'ia-plugin.json'), 'utf8'));",
|
|
98
|
+
" const notFound = { context: 'InventArch: the ia CLI was not found. ' + meta.install + ' Do not search the filesystem for IA tooling.', notice: 'IA: the ia CLI was not found; see the session context.' };",
|
|
99
|
+
' const project = process.env.CLAUDE_PROJECT_DIR || process.cwd();',
|
|
100
|
+
" const args = ['doctor', '--json', '--host', 'claude'];",
|
|
101
|
+
" const options = { cwd: project, encoding: 'utf8', timeout: 5000, windowsHide: true };",
|
|
102
|
+
' const hasEntry = existsSync(meta.entry);',
|
|
103
|
+
" const found = hasEntry ? null : findOnPath('ia');",
|
|
104
|
+
' if (!hasEntry && found === null) return notFound;',
|
|
105
|
+
' // The file found runs by its absolute path, on Windows through cmd.exe (a .cmd launcher needs it), so no step of',
|
|
106
|
+
' // the launch searches the project directory (LKI-41). Not found is decided here, before anything starts.',
|
|
107
|
+
' const run = hasEntry',
|
|
108
|
+
' ? spawnSync(process.execPath, [meta.entry].concat(args), Object.assign({}, options, { env: childEnv() }))',
|
|
109
|
+
" : process.platform === 'win32'",
|
|
110
|
+
' ? spawnSync(windowsShell(), windowsArgs(found, args), Object.assign({}, options, { env: childEnv(), windowsVerbatimArguments: true }))',
|
|
111
|
+
' : spawnSync(found, args, Object.assign({}, options, { env: childEnv() }));',
|
|
112
|
+
" if (run.error && run.error.code === 'ETIMEDOUT') return { context: 'IA status unavailable: ia doctor timed out.', notice: null };",
|
|
113
|
+
' if (!run.stdout) {',
|
|
114
|
+
' const outcome = run.status ?? run.signal;',
|
|
115
|
+
" if (outcome === null || outcome === undefined) return { context: 'IA status unavailable: ia doctor did not run.', notice: null };",
|
|
116
|
+
" return { context: 'IA status unavailable: ia doctor exited ' + outcome + '.', notice: null };",
|
|
117
|
+
' }',
|
|
118
|
+
' const session = JSON.parse(run.stdout).session;',
|
|
119
|
+
" if (!session) return { context: 'IA status unavailable: this ia does not report session state. ' + meta.install, notice: null };",
|
|
120
|
+
' let notice = session.notice;',
|
|
121
|
+
" if (notice && session.nudge === 'update' && process.env.CLAUDE_PLUGIN_DATA) {",
|
|
122
|
+
' try {',
|
|
123
|
+
" const file = join(process.env.CLAUDE_PLUGIN_DATA, 'nudged-on'), today = new Date().toLocaleDateString('en-CA');",
|
|
124
|
+
" if (existsSync(file) && readFileSync(file, 'utf8') === today) notice = null;",
|
|
125
|
+
' else { mkdirSync(process.env.CLAUDE_PLUGIN_DATA, { recursive: true }); writeFileSync(file, today); }',
|
|
126
|
+
' } catch { /* the nudge file is best-effort; never let it block the briefing */ }',
|
|
127
|
+
' }',
|
|
128
|
+
' if (Array.isArray(session.refresh) && session.refresh.length > 0) {',
|
|
129
|
+
' try {',
|
|
130
|
+
" const child = spawn(session.refresh[0], session.refresh.slice(1), { cwd: homedir(), env: childEnv(), detached: true, stdio: 'ignore', windowsHide: true });",
|
|
131
|
+
" child.on('error', () => {});",
|
|
132
|
+
' child.unref();',
|
|
133
|
+
' } catch { /* the refresh is best-effort; never let it block the briefing */ }',
|
|
134
|
+
' }',
|
|
135
|
+
" return { context: session.context.join('\\n'), notice };",
|
|
136
|
+
' } catch (error) {',
|
|
137
|
+
" return { context: 'IA status unavailable: ' + (error && error.code ? error.code : 'unexpected error') + '.', notice: null };",
|
|
138
|
+
' }',
|
|
139
|
+
'}',
|
|
140
|
+
'const result = main();',
|
|
141
|
+
"process.stdout.write(JSON.stringify(Object.assign(result.notice ? { systemMessage: result.notice } : {}, { hookSpecificOutput: { hookEventName: 'SessionStart', additionalContext: result.context } })) + '\\n');",
|
|
142
|
+
'process.exitCode = 0;',
|
|
143
|
+
'',
|
|
144
|
+
].join('\n');
|
|
145
|
+
export function renderClaudePlugin(input) {
|
|
146
|
+
const files = [
|
|
147
|
+
{
|
|
148
|
+
path: '.claude-plugin/marketplace.json',
|
|
149
|
+
text: json({
|
|
150
|
+
name: CLAUDE_MARKETPLACE,
|
|
151
|
+
owner: { name: 'InventArch' },
|
|
152
|
+
description: 'InventArch: session state from ia doctor, and init, doctor and authoring skills for .ia workspaces.',
|
|
153
|
+
plugins: [
|
|
154
|
+
{
|
|
155
|
+
name: CLAUDE_PLUGIN,
|
|
156
|
+
source: './plugins/ia',
|
|
157
|
+
description: 'InventArch front door: session state from ia doctor, and init, doctor and authoring skills.',
|
|
158
|
+
},
|
|
159
|
+
],
|
|
160
|
+
}),
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
path: 'plugins/ia/.claude-plugin/plugin.json',
|
|
164
|
+
text: json({
|
|
165
|
+
name: CLAUDE_PLUGIN,
|
|
166
|
+
version: input.version,
|
|
167
|
+
description: 'InventArch front door. Reports ia doctor state at session start and offers init, doctor and authoring skills. No engine and no MCP server; workspace registration is ia host claude.',
|
|
168
|
+
author: { name: 'InventArch' },
|
|
169
|
+
}),
|
|
170
|
+
},
|
|
171
|
+
{ path: 'plugins/ia/agents/ia-author.md', text: AUTHOR },
|
|
172
|
+
{
|
|
173
|
+
path: 'plugins/ia/hooks/hooks.json',
|
|
174
|
+
text: json({
|
|
175
|
+
hooks: {
|
|
176
|
+
SessionStart: [
|
|
177
|
+
{
|
|
178
|
+
matcher: 'startup|clear',
|
|
179
|
+
hooks: [
|
|
180
|
+
{ type: 'command', command: 'node "${CLAUDE_PLUGIN_ROOT}/hooks/session-start.mjs"', timeout: 10 },
|
|
181
|
+
],
|
|
182
|
+
},
|
|
183
|
+
],
|
|
184
|
+
},
|
|
185
|
+
}),
|
|
186
|
+
},
|
|
187
|
+
{ path: 'plugins/ia/hooks/session-start.mjs', text: HOOK },
|
|
188
|
+
{
|
|
189
|
+
path: 'plugins/ia/ia-plugin.json',
|
|
190
|
+
text: json({
|
|
191
|
+
format: 'ia.claude-plugin.v1',
|
|
192
|
+
cli: input.cliVersion,
|
|
193
|
+
channel: input.channel,
|
|
194
|
+
entry: input.entry,
|
|
195
|
+
install: input.install,
|
|
196
|
+
}),
|
|
197
|
+
},
|
|
198
|
+
{ path: 'plugins/ia/skills/authoring/SKILL.md', text: AUTHORING },
|
|
199
|
+
{ path: 'plugins/ia/skills/doctor/SKILL.md', text: DOCTOR },
|
|
200
|
+
{ path: 'plugins/ia/skills/init/SKILL.md', text: INIT },
|
|
201
|
+
];
|
|
202
|
+
return Object.freeze(files.map((file) => Object.freeze(file)));
|
|
203
|
+
}
|
|
204
|
+
//# sourceMappingURL=host-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-plugin.js","sourceRoot":"","sources":["../src/host-plugin.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC;AAClC,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAC/C,MAAM,CAAC,MAAM,aAAa,GAAG,oDAAoD,CAAC;AAelF,MAAM,IAAI,GAAG,CAAC,KAAc,EAAU,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;AAC/E,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,WAAmB,EAAE,IAAY,EAAU,EAAE,CACxE,cAAc,IAAI,kBAAkB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,aAAa,OAAO,IAAI,EAAE,CAAC;AAExG,MAAM,IAAI,GAAG,KAAK,CAChB,MAAM,EACN,qLAAqL,EACrL;IACE,sWAAsW;IACtW,wGAAwG;IACxG,2RAA2R;IAC3R,+IAA+I;IAC/I,kGAAkG;IAClG,8LAA8L;IAC9L,EAAE;CACH,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;AACF,MAAM,MAAM,GAAG,KAAK,CAClB,QAAQ,EACR,4EAA4E,EAC5E;IACE,sNAAsN;IACtN,EAAE;CACH,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;AACF,MAAM,SAAS,GAAG,KAAK,CACrB,WAAW,EACX,mIAAmI,EACnI;IACE,6XAA6X;IAC7X,EAAE;CACH,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;AACF,uHAAuH;AACvH,kHAAkH;AAClH,MAAM,MAAM,GAAG,sCAAsC,IAAI,CAAC,SAAS,CAAC,sNAAsN,CAAC,2DAA2D,aAAa,kcAAkc,CAAC;AACtyB,MAAM,IAAI,GAAG;IACX,gGAAgG;IAChG,wDAAwD;IACxD,gHAAgH;IAChH,oCAAoC;IACpC,0EAA0E;IAC1E,2CAA2C;IAC3C,uDAAuD;IACvD,+GAA+G;IAC/G,uHAAuH;IACvH,4BAA4B;IAC5B,6FAA6F;IAC7F,GAAG;IACH,wHAAwH;IACxH,oGAAoG;IACpG,0BAA0B;IAC1B,8DAA8D;IAC9D,yHAAyH;IACzH,GAAG;IACH,kHAAkH;IAClH,yHAAyH;IACzH,8GAA8G;IAC9G,6BAA6B;IAC7B,iDAAiD;IACjD,2GAA2G;IAC3G,sCAAsC;IACtC,WAAW;IACX,mDAAmD;IACnD,uFAAuF;IACvF,sCAAsC;IACtC,0CAA0C;IAC1C,sGAAsG;IACtG,aAAa;IACb,iDAAiD;IACjD,yDAAyD;IACzD,sBAAsB;IACtB,oFAAoF;IACpF,OAAO;IACP,KAAK;IACL,gBAAgB;IAChB,GAAG;IACH,uHAAuH;IACvH,yHAAyH;IACzH,oHAAoH;IACpH,2BAA2B;IAC3B,8CAA8C;IAC9C,8EAA8E;IAC9E,GAAG;IACH,uHAAuH;IACvH,uGAAuG;IACvG,oCAAoC;IACpC,uFAAuF;IACvF,GAAG;IACH,qHAAqH;IACrH,wHAAwH;IACxH,uCAAuC;IACvC,uBAAuB;IACvB,mBAAmB;IACnB,+GAA+G;IAC/G,kCAAkC;IAClC,oHAAoH;IACpH,8GAA8G;IAC9G,mFAAmF;IACnF,eAAe;IACf,GAAG;IACH,mBAAmB;IACnB,SAAS;IACT,wFAAwF;IACxF,gNAAgN;IAChN,sEAAsE;IACtE,4DAA4D;IAC5D,2FAA2F;IAC3F,8CAA8C;IAC9C,uDAAuD;IACvD,uDAAuD;IACvD,uHAAuH;IACvH,+GAA+G;IAC/G,0BAA0B;IAC1B,iHAAiH;IACjH,sCAAsC;IACtC,gJAAgJ;IAChJ,oFAAoF;IACpF,uIAAuI;IACvI,wBAAwB;IACxB,iDAAiD;IACjD,yIAAyI;IACzI,qGAAqG;IACrG,OAAO;IACP,qDAAqD;IACrD,sIAAsI;IACtI,kCAAkC;IAClC,mFAAmF;IACnF,aAAa;IACb,yHAAyH;IACzH,sFAAsF;IACtF,8GAA8G;IAC9G,wFAAwF;IACxF,OAAO;IACP,yEAAyE;IACzE,aAAa;IACb,qKAAqK;IACrK,sCAAsC;IACtC,wBAAwB;IACxB,qFAAqF;IACrF,OAAO;IACP,8DAA8D;IAC9D,qBAAqB;IACrB,kIAAkI;IAClI,KAAK;IACL,GAAG;IACH,wBAAwB;IACxB,mNAAmN;IACnN,uBAAuB;IACvB,EAAE;CACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,UAAU,kBAAkB,CAAC,KAAwB;IACzD,MAAM,KAAK,GAAiB;QAC1B;YACE,IAAI,EAAE,iCAAiC;YACvC,IAAI,EAAE,IAAI,CAAC;gBACT,IAAI,EAAE,kBAAkB;gBACxB,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;gBAC7B,WAAW,EACT,qGAAqG;gBACvG,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,aAAa;wBACnB,MAAM,EAAE,cAAc;wBACtB,WAAW,EAAE,6FAA6F;qBAC3G;iBACF;aACF,CAAC;SACH;QACD;YACE,IAAI,EAAE,uCAAuC;YAC7C,IAAI,EAAE,IAAI,CAAC;gBACT,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,WAAW,EACT,sLAAsL;gBACxL,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;aAC/B,CAAC;SACH;QACD,EAAE,IAAI,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM,EAAE;QACxD;YACE,IAAI,EAAE,6BAA6B;YACnC,IAAI,EAAE,IAAI,CAAC;gBACT,KAAK,EAAE;oBACL,YAAY,EAAE;wBACZ;4BACE,OAAO,EAAE,eAAe;4BACxB,KAAK,EAAE;gCACL,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,sDAAsD,EAAE,OAAO,EAAE,EAAE,EAAE;6BAClG;yBACF;qBACF;iBACF;aACF,CAAC;SACH;QACD,EAAE,IAAI,EAAE,oCAAoC,EAAE,IAAI,EAAE,IAAI,EAAE;QAC1D;YACE,IAAI,EAAE,2BAA2B;YACjC,IAAI,EAAE,IAAI,CAAC;gBACT,MAAM,EAAE,qBAAqB;gBAC7B,GAAG,EAAE,KAAK,CAAC,UAAU;gBACrB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;SACH;QACD,EAAE,IAAI,EAAE,sCAAsC,EAAE,IAAI,EAAE,SAAS,EAAE;QACjE,EAAE,IAAI,EAAE,mCAAmC,EAAE,IAAI,EAAE,MAAM,EAAE;QAC3D,EAAE,IAAI,EAAE,iCAAiC,EAAE,IAAI,EAAE,IAAI,EAAE;KACxD,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export { poolLookup, validateSchema } from './schema.js';
|
|
2
|
+
export type { ReferenceLookup } from './schema.js';
|
|
3
|
+
export { fieldTypeText } from '@inventarch/language';
|
|
4
|
+
export { matchesForm, matchesType } from './values.js';
|
|
5
|
+
export { COMP_CODES, EVIDENCE_CODES, verdict } from './types.js';
|
|
6
|
+
export type { Assessment, CompCode, EvidenceCode, Finding, Verdict } from './types.js';
|
|
7
|
+
export { validateSystems } from './systems.js';
|
|
8
|
+
export type { SystemFolder } from './systems.js';
|
|
9
|
+
export { CHECK_IDS, graphLookup, validateGraphSchema, validateFragments, validateCoverage, validateSelectors, validateCheck, validateParse, validateConsent, validateIdentity, } from './graph-checks.js';
|
|
10
|
+
export { validateVariants } from './variants.js';
|
|
11
|
+
export { validateAdoption } from './adoption.js';
|
|
12
|
+
export type { AdoptionEvaluators, ClauseContext, ClauseEvaluator, ClauseResult } from './adoption.js';
|
|
13
|
+
export { EVALUATOR_CATALOG_FORMAT, EVALUATOR_CONTRACT_MAJORS, bindEvaluators, createEvaluatorCatalog, isEvaluatorCatalog, selectEvaluator, } from './catalog.js';
|
|
14
|
+
export type { CatalogInput, CatalogOptions, CatalogResult, EnvironmentProfile, EvaluatorAvailability, EvaluatorBinding, EvaluatorCatalog, EvaluatorCodec, EvaluatorEntry, EvaluatorLimits, EvidencePolicy, } from './catalog.js';
|
|
15
|
+
export { RESOLUTION_FORMAT, inspectObligations, resolutionDigest, resolveObligations } from './obligations.js';
|
|
16
|
+
export type { Applicability, ApplicabilityPredicate, Obligation, ObligationAdoption, ObligationEvaluator, ObligationExplanation, ObligationInput, ObligationOccurrence, ObligationResolution, ObligationRow, PackageDirective, ScopeFact, ScopeFacts, } from './obligations.js';
|
|
17
|
+
export { EVALUATION_PROFILES, profileOccurrences } from './profiles.js';
|
|
18
|
+
export type { EvaluationProfile, ProfileBinding } from './profiles.js';
|
|
19
|
+
export { EVIDENCE_RECEIPT_FORMAT, EVIDENCE_RESULTS, acceptEvaluatorOutput, adaptBuiltinVerdict, admitTransition, evidenceDigest, evidenceKey, validateReceipt, } from './evidence.js';
|
|
20
|
+
export type { AdmissionContext, CandidateDigests, EnvironmentIdentity, EvaluatorIdentity, EvaluatorObservation, EvaluatorOutcome, EvidenceReceipt, EvidenceResult, ObligationDecision, ReceiptContext, ReceiptExpectation, ReceiptTrust, ReceiptValidation, TransitionDecision, } from './evidence.js';
|
|
21
|
+
export { evaluate } from './report.js';
|
|
22
|
+
export type { Report, ReportOptions } from './report.js';
|
|
23
|
+
export { runLanguageFixture, fixtureCoverage } from './fixtures.js';
|
|
24
|
+
export type { FixtureResult, LanguageFixture } from './fixtures.js';
|
|
25
|
+
export { renderHostArtifacts, PROJECTION_MARKER, LEGACY_STEWARD_TOOLS, REQUIRE_STEWARD_PROFILES, STEWARD_HOST_TABLE, } from './projections.js';
|
|
26
|
+
export type { HostArtifact, HostArtifacts, ProjectionMembership, RenderOptions } from './projections.js';
|
|
27
|
+
export { renderWorkspaceProjection, WORKSPACE_PROJECTION_MARKER } from './workspace-projection.js';
|
|
28
|
+
export type { WorkspaceProjectionInput } from './workspace-projection.js';
|
|
29
|
+
export { CLAUDE_MARKETPLACE, CLAUDE_PLUGIN, PLUGIN_MARKER, renderClaudePlugin } from './host-plugin.js';
|
|
30
|
+
export type { ClaudePluginInput, PluginFile } from './host-plugin.js';
|
|
31
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export { poolLookup, validateSchema } from './schema.js';
|
|
2
|
+
export { fieldTypeText } from '@inventarch/language';
|
|
3
|
+
export { matchesForm, matchesType } from './values.js';
|
|
4
|
+
export { COMP_CODES, EVIDENCE_CODES, verdict } from './types.js';
|
|
5
|
+
export { validateSystems } from './systems.js';
|
|
6
|
+
export { CHECK_IDS, graphLookup, validateGraphSchema, validateFragments, validateCoverage, validateSelectors, validateCheck, validateParse, validateConsent, validateIdentity, } from './graph-checks.js';
|
|
7
|
+
export { validateVariants } from './variants.js';
|
|
8
|
+
export { validateAdoption } from './adoption.js';
|
|
9
|
+
export { EVALUATOR_CATALOG_FORMAT, EVALUATOR_CONTRACT_MAJORS, bindEvaluators, createEvaluatorCatalog, isEvaluatorCatalog, selectEvaluator, } from './catalog.js';
|
|
10
|
+
export { RESOLUTION_FORMAT, inspectObligations, resolutionDigest, resolveObligations } from './obligations.js';
|
|
11
|
+
export { EVALUATION_PROFILES, profileOccurrences } from './profiles.js';
|
|
12
|
+
export { EVIDENCE_RECEIPT_FORMAT, EVIDENCE_RESULTS, acceptEvaluatorOutput, adaptBuiltinVerdict, admitTransition, evidenceDigest, evidenceKey, validateReceipt, } from './evidence.js';
|
|
13
|
+
export { evaluate } from './report.js';
|
|
14
|
+
export { runLanguageFixture, fixtureCoverage } from './fixtures.js';
|
|
15
|
+
export { renderHostArtifacts, PROJECTION_MARKER, LEGACY_STEWARD_TOOLS, REQUIRE_STEWARD_PROFILES, STEWARD_HOST_TABLE, } from './projections.js';
|
|
16
|
+
export { renderWorkspaceProjection, WORKSPACE_PROJECTION_MARKER } from './workspace-projection.js';
|
|
17
|
+
export { CLAUDE_MARKETPLACE, CLAUDE_PLUGIN, PLUGIN_MARKER, renderClaudePlugin } from './host-plugin.js';
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAEjE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EACL,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,eAAe,EACf,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,cAAc,EACd,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,GAChB,MAAM,cAAc,CAAC;AActB,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAgB/G,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExE,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,WAAW,EACX,eAAe,GAChB,MAAM,eAAe,CAAC;AAiBvB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEpE,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAEnG,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC"}
|