@jasonbelmonti/markdown-engine 2.0.0 → 3.1.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/CHANGELOG.md +45 -1
- package/README.md +132 -57
- package/dist/api/contracts.d.ts +2 -1
- package/dist/api/contracts.d.ts.map +1 -1
- package/dist/api/contracts.js +1 -0
- package/dist/api/contracts.js.map +1 -1
- package/dist/api/declarative-validation.d.ts +2 -2
- package/dist/api/declarative-validation.d.ts.map +1 -1
- package/dist/api/declarative-validation.js +53 -31
- package/dist/api/declarative-validation.js.map +1 -1
- package/dist/api/document-set-validation-types.d.ts +32 -0
- package/dist/api/document-set-validation-types.d.ts.map +1 -0
- package/dist/api/document-set-validation-types.js +2 -0
- package/dist/api/document-set-validation-types.js.map +1 -0
- package/dist/api/document-set-validation.d.ts +4 -0
- package/dist/api/document-set-validation.d.ts.map +1 -0
- package/dist/api/document-set-validation.js +60 -0
- package/dist/api/document-set-validation.js.map +1 -0
- package/dist/api/serialize.d.ts +2 -1
- package/dist/api/serialize.d.ts.map +1 -1
- package/dist/api/serialize.js.map +1 -1
- package/dist/cli/declarative-validation.d.ts.map +1 -1
- package/dist/cli/declarative-validation.js +7 -12
- package/dist/cli/declarative-validation.js.map +1 -1
- package/dist/declarative-validation/applicability/classifier.d.ts +18 -0
- package/dist/declarative-validation/applicability/classifier.d.ts.map +1 -0
- package/dist/declarative-validation/applicability/classifier.js +37 -0
- package/dist/declarative-validation/applicability/classifier.js.map +1 -0
- package/dist/declarative-validation/applicability/index.d.ts +2 -0
- package/dist/declarative-validation/applicability/index.d.ts.map +1 -0
- package/dist/declarative-validation/applicability/index.js +2 -0
- package/dist/declarative-validation/applicability/index.js.map +1 -0
- package/dist/declarative-validation/assertions/context.d.ts +2 -2
- package/dist/declarative-validation/assertions/context.d.ts.map +1 -1
- package/dist/declarative-validation/assertions/diagnostics.d.ts +7 -4
- package/dist/declarative-validation/assertions/diagnostics.d.ts.map +1 -1
- package/dist/declarative-validation/assertions/diagnostics.js +26 -1
- package/dist/declarative-validation/assertions/diagnostics.js.map +1 -1
- package/dist/declarative-validation/assertions/evaluator.d.ts +2 -2
- package/dist/declarative-validation/assertions/evaluator.d.ts.map +1 -1
- package/dist/declarative-validation/assertions/evaluator.js +9 -0
- package/dist/declarative-validation/assertions/evaluator.js.map +1 -1
- package/dist/declarative-validation/assertions/frontmatter-shape.d.ts +9 -0
- package/dist/declarative-validation/assertions/frontmatter-shape.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/frontmatter-shape.js +105 -0
- package/dist/declarative-validation/assertions/frontmatter-shape.js.map +1 -0
- package/dist/declarative-validation/assertions/group-evaluator.d.ts +6 -0
- package/dist/declarative-validation/assertions/group-evaluator.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/group-evaluator.js +57 -0
- package/dist/declarative-validation/assertions/group-evaluator.js.map +1 -0
- package/dist/declarative-validation/assertions/id-targets.d.ts +15 -0
- package/dist/declarative-validation/assertions/id-targets.d.ts.map +1 -1
- package/dist/declarative-validation/assertions/id-targets.js +18 -55
- package/dist/declarative-validation/assertions/id-targets.js.map +1 -1
- package/dist/declarative-validation/assertions/ids.d.ts.map +1 -1
- package/dist/declarative-validation/assertions/ids.js +100 -14
- package/dist/declarative-validation/assertions/ids.js.map +1 -1
- package/dist/declarative-validation/assertions/index.d.ts +1 -0
- package/dist/declarative-validation/assertions/index.d.ts.map +1 -1
- package/dist/declarative-validation/assertions/index.js +1 -0
- package/dist/declarative-validation/assertions/index.js.map +1 -1
- package/dist/declarative-validation/assertions/table-column-coverage.d.ts +9 -0
- package/dist/declarative-validation/assertions/table-column-coverage.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/table-column-coverage.js +108 -0
- package/dist/declarative-validation/assertions/table-column-coverage.js.map +1 -0
- package/dist/declarative-validation/assertions/text-format.d.ts +9 -0
- package/dist/declarative-validation/assertions/text-format.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/text-format.js +75 -0
- package/dist/declarative-validation/assertions/text-format.js.map +1 -0
- package/dist/declarative-validation/compiler/applicability-plan.d.ts +5 -0
- package/dist/declarative-validation/compiler/applicability-plan.d.ts.map +1 -0
- package/dist/declarative-validation/compiler/applicability-plan.js +22 -0
- package/dist/declarative-validation/compiler/applicability-plan.js.map +1 -0
- package/dist/declarative-validation/compiler/assertion-builders.d.ts +2 -1
- package/dist/declarative-validation/compiler/assertion-builders.d.ts.map +1 -1
- package/dist/declarative-validation/compiler/assertion-builders.js +88 -13
- package/dist/declarative-validation/compiler/assertion-builders.js.map +1 -1
- package/dist/declarative-validation/compiler/assertion-shapes.d.ts +5 -1
- package/dist/declarative-validation/compiler/assertion-shapes.d.ts.map +1 -1
- package/dist/declarative-validation/compiler/assertion-shapes.js +120 -0
- package/dist/declarative-validation/compiler/assertion-shapes.js.map +1 -1
- package/dist/declarative-validation/compiler/assertions.d.ts +2 -1
- package/dist/declarative-validation/compiler/assertions.d.ts.map +1 -1
- package/dist/declarative-validation/compiler/assertions.js +16 -4
- package/dist/declarative-validation/compiler/assertions.js.map +1 -1
- package/dist/declarative-validation/compiler/compatibility.d.ts.map +1 -1
- package/dist/declarative-validation/compiler/compatibility.js +3 -0
- package/dist/declarative-validation/compiler/compatibility.js.map +1 -1
- package/dist/declarative-validation/compiler/group-plans.d.ts +6 -0
- package/dist/declarative-validation/compiler/group-plans.d.ts.map +1 -0
- package/dist/declarative-validation/compiler/group-plans.js +67 -0
- package/dist/declarative-validation/compiler/group-plans.js.map +1 -0
- package/dist/declarative-validation/compiler/index.d.ts +1 -1
- package/dist/declarative-validation/compiler/index.d.ts.map +1 -1
- package/dist/declarative-validation/compiler/index.js +70 -35
- package/dist/declarative-validation/compiler/index.js.map +1 -1
- package/dist/declarative-validation/compiler/plan.d.ts +80 -5
- package/dist/declarative-validation/compiler/plan.d.ts.map +1 -1
- package/dist/declarative-validation/compiler/rule-fields.d.ts +6 -0
- package/dist/declarative-validation/compiler/rule-fields.d.ts.map +1 -0
- package/dist/declarative-validation/compiler/rule-fields.js +40 -0
- package/dist/declarative-validation/compiler/rule-fields.js.map +1 -0
- package/dist/declarative-validation/diagnostics/profile-config-diagnostics.d.ts +0 -1
- package/dist/declarative-validation/diagnostics/profile-config-diagnostics.d.ts.map +1 -1
- package/dist/declarative-validation/diagnostics/profile-config-diagnostics.js +8 -2
- package/dist/declarative-validation/diagnostics/profile-config-diagnostics.js.map +1 -1
- package/dist/declarative-validation/evidence/index.d.ts +3 -3
- package/dist/declarative-validation/evidence/index.d.ts.map +1 -1
- package/dist/declarative-validation/evidence/index.js +6 -6
- package/dist/declarative-validation/evidence/index.js.map +1 -1
- package/dist/declarative-validation/profile/applicability-schema.d.ts +4 -0
- package/dist/declarative-validation/profile/applicability-schema.d.ts.map +1 -0
- package/dist/declarative-validation/profile/applicability-schema.js +24 -0
- package/dist/declarative-validation/profile/applicability-schema.js.map +1 -0
- package/dist/declarative-validation/profile/assertion-schema.d.ts +2 -1
- package/dist/declarative-validation/profile/assertion-schema.d.ts.map +1 -1
- package/dist/declarative-validation/profile/assertion-schema.js +194 -14
- package/dist/declarative-validation/profile/assertion-schema.js.map +1 -1
- package/dist/declarative-validation/profile/direct-profile-diagnostics.d.ts +3 -1
- package/dist/declarative-validation/profile/direct-profile-diagnostics.d.ts.map +1 -1
- package/dist/declarative-validation/profile/direct-profile-diagnostics.js +10 -2
- package/dist/declarative-validation/profile/direct-profile-diagnostics.js.map +1 -1
- package/dist/declarative-validation/profile/frontmatter-shape-schema.d.ts +8 -0
- package/dist/declarative-validation/profile/frontmatter-shape-schema.d.ts.map +1 -0
- package/dist/declarative-validation/profile/frontmatter-shape-schema.js +178 -0
- package/dist/declarative-validation/profile/frontmatter-shape-schema.js.map +1 -0
- package/dist/declarative-validation/profile/group-schema.d.ts +5 -0
- package/dist/declarative-validation/profile/group-schema.d.ts.map +1 -0
- package/dist/declarative-validation/profile/group-schema.js +55 -0
- package/dist/declarative-validation/profile/group-schema.js.map +1 -0
- package/dist/declarative-validation/profile/ids-assertion-contract.d.ts +12 -0
- package/dist/declarative-validation/profile/ids-assertion-contract.d.ts.map +1 -0
- package/dist/declarative-validation/profile/ids-assertion-contract.js +32 -0
- package/dist/declarative-validation/profile/ids-assertion-contract.js.map +1 -0
- package/dist/declarative-validation/profile/index.d.ts +63 -2
- package/dist/declarative-validation/profile/index.d.ts.map +1 -1
- package/dist/declarative-validation/profile/index.js.map +1 -1
- package/dist/declarative-validation/profile/materialization.d.ts.map +1 -1
- package/dist/declarative-validation/profile/materialization.js +13 -10
- package/dist/declarative-validation/profile/materialization.js.map +1 -1
- package/dist/declarative-validation/profile/schema.d.ts.map +1 -1
- package/dist/declarative-validation/profile/schema.js +73 -12
- package/dist/declarative-validation/profile/schema.js.map +1 -1
- package/dist/declarative-validation/profile/syntax-version.d.ts +7 -0
- package/dist/declarative-validation/profile/syntax-version.d.ts.map +1 -0
- package/dist/declarative-validation/profile/syntax-version.js +11 -0
- package/dist/declarative-validation/profile/syntax-version.js.map +1 -0
- package/dist/declarative-validation/profile/text-format-contract.d.ts +4 -0
- package/dist/declarative-validation/profile/text-format-contract.d.ts.map +1 -0
- package/dist/declarative-validation/profile/text-format-contract.js +6 -0
- package/dist/declarative-validation/profile/text-format-contract.js.map +1 -0
- package/dist/declarative-validation/results/clone-rule-result.d.ts +6 -0
- package/dist/declarative-validation/results/clone-rule-result.d.ts.map +1 -0
- package/dist/declarative-validation/results/clone-rule-result.js +125 -0
- package/dist/declarative-validation/results/clone-rule-result.js.map +1 -0
- package/dist/declarative-validation/results/create-result.d.ts +15 -0
- package/dist/declarative-validation/results/create-result.d.ts.map +1 -0
- package/dist/declarative-validation/results/create-result.js +58 -0
- package/dist/declarative-validation/results/create-result.js.map +1 -0
- package/dist/declarative-validation/results/index.d.ts +3 -25
- package/dist/declarative-validation/results/index.d.ts.map +1 -1
- package/dist/declarative-validation/results/index.js +2 -1
- package/dist/declarative-validation/results/index.js.map +1 -1
- package/dist/declarative-validation/results/skipped-rule-result.d.ts +10 -0
- package/dist/declarative-validation/results/skipped-rule-result.d.ts.map +1 -0
- package/dist/declarative-validation/results/skipped-rule-result.js +18 -0
- package/dist/declarative-validation/results/skipped-rule-result.js.map +1 -0
- package/dist/declarative-validation/results/types.d.ts +77 -0
- package/dist/declarative-validation/results/types.d.ts.map +1 -0
- package/dist/declarative-validation/results/types.js +2 -0
- package/dist/declarative-validation/results/types.js.map +1 -0
- package/dist/declarative-validation/selectors/table-targets.d.ts +23 -0
- package/dist/declarative-validation/selectors/table-targets.d.ts.map +1 -1
- package/dist/declarative-validation/selectors/table-targets.js +52 -9
- package/dist/declarative-validation/selectors/table-targets.js.map +1 -1
- package/dist-bundled/markdown-engine-cli.mjs +27373 -0
- package/docs/contracts/api.md +79 -15
- package/docs/contracts/declarative-validation.md +462 -40
- package/fixtures/declarative-validation/examples/okf-v0.1/fail/invalid-log-date/log.md +5 -0
- package/fixtures/declarative-validation/examples/okf-v0.1/fail/missing-concept-type/concepts/customer-metric.md +8 -0
- package/fixtures/declarative-validation/examples/okf-v0.1/fail/non-root-index-frontmatter/datasets/index.md +7 -0
- package/fixtures/declarative-validation/examples/okf-v0.1/pass/datasets/index.md +3 -0
- package/fixtures/declarative-validation/examples/okf-v0.1/pass/datasets/sales.md +16 -0
- package/fixtures/declarative-validation/examples/okf-v0.1/pass/index.md +8 -0
- package/fixtures/declarative-validation/examples/okf-v0.1/pass/log.md +9 -0
- package/fixtures/declarative-validation/examples/okf-v0.1/pass/playbooks/incident-response.md +17 -0
- package/fixtures/declarative-validation/examples/okf-v0.1/profiles/concept.yaml +14 -0
- package/fixtures/declarative-validation/examples/okf-v0.1/profiles/log.yaml +10 -0
- package/fixtures/declarative-validation/examples/okf-v0.1/profiles/non-root-index.yaml +9 -0
- package/fixtures/declarative-validation/examples/okf-v0.1/profiles/root-index.yaml +12 -0
- package/package.json +9 -3
- package/scripts/install-markdown-engine-cli.sh +113 -0
- package/skills/profile-backed-markdown/SKILL.md +54 -0
- package/skills/profile-backed-markdown/assets/profiles/operational-spec.yaml +98 -0
- package/skills/profile-backed-markdown/references/repair-brief.md +14 -0
- package/skills/profile-backed-markdown/scripts/validate-profile-backed-markdown.mjs +590 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../src/api/serialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGtD,MAAM,MAAM,gCAAgC,GACxC,WAAW,GACX,eAAe,GACf,gBAAgB,GAChB,wBAAwB,CAAC;AAE7B,OAAO,EACL,wBAAwB,EACxB,KAAK,uBAAuB,GAC7B,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;CAC7C;AAED,MAAM,MAAM,iBAAiB,GAAG,CAC9B,MAAM,EAAE,gCAAgC,EACxC,OAAO,CAAC,EAAE,gBAAgB,KACvB,MAAM,CAAC;AAEZ,eAAO,MAAM,SAAS,EAAE,iBAYvB,CAAC"}
|
|
1
|
+
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../src/api/serialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AACpF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGtD,MAAM,MAAM,gCAAgC,GACxC,WAAW,GACX,eAAe,GACf,yBAAyB,GACzB,gBAAgB,GAChB,wBAAwB,CAAC;AAE7B,OAAO,EACL,wBAAwB,EACxB,KAAK,uBAAuB,GAC7B,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;CAC7C;AAED,MAAM,MAAM,iBAAiB,GAAG,CAC9B,MAAM,EAAE,gCAAgC,EACxC,OAAO,CAAC,EAAE,gBAAgB,KACvB,MAAM,CAAC;AAEZ,eAAO,MAAM,SAAS,EAAE,iBAYvB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/api/serialize.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,GAE9B,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/api/serialize.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,GAE9B,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAStE,OAAO,EACL,wBAAwB,GAEzB,MAAM,oBAAoB,CAAC;AAY5B,MAAM,CAAC,MAAM,SAAS,GAAsB,CAAC,MAAM,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE;IACnE,IAAI,OAAO,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;QAC5C,6BAA6B,CAAC,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAC/B,wBAAwB,CAAC,MAAM,CAAC,EAChC,IAAI,EACJ,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAChC,CAAC;IAEF,OAAO,UAAU,IAAI,MAAM,CAAC;AAC9B,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"declarative-validation.d.ts","sourceRoot":"","sources":["../../src/cli/declarative-validation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"declarative-validation.d.ts","sourceRoot":"","sources":["../../src/cli/declarative-validation.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,uBAAuB,EAExB,MAAM,4CAA4C,CAAC;AAYpD,oFAAoF;AACpF,MAAM,WAAW,sCAAsC;IACrD,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,uBAAuB,CAAC;CACjC;AAED,MAAM,MAAM,qCAAqC,GAC7C;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,GACD;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEN,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,sCAAsC,GAC5C,OAAO,CAAC,qCAAqC,CAAC,CA0EhD"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { validateWithProfile } from "../api/declarative-validation.js";
|
|
2
2
|
import { compileValidationProfile } from "../declarative-validation/compiler/index.js";
|
|
3
|
-
import { createDeclarativeValidationEvidence } from "../declarative-validation/evidence/index.js";
|
|
4
3
|
import { parseValidationProfileInput } from "../declarative-validation/profile/index.js";
|
|
4
|
+
import { createDeclarativeValidationResult } from "../declarative-validation/results/index.js";
|
|
5
5
|
import { cloneDiagnostics, hasErrorDiagnostic } from "../diagnostics/index.js";
|
|
6
6
|
import { normalizeStableJsonValue } from "../internal/stable-json.js";
|
|
7
7
|
import { readCliFile } from "./files.js";
|
|
@@ -69,18 +69,13 @@ function profileStageResult(diagnostics) {
|
|
|
69
69
|
};
|
|
70
70
|
}
|
|
71
71
|
function documentDiagnosticsResult(document, profile, diagnostics) {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
diagnostics: clonedDiagnostics,
|
|
72
|
+
return createDeclarativeValidationResult({
|
|
73
|
+
document,
|
|
74
|
+
profile,
|
|
76
75
|
ruleResults: [],
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
ruleCount: profile.rules.length,
|
|
81
|
-
},
|
|
82
|
-
evidence: createDeclarativeValidationEvidence(document, profile, [], clonedDiagnostics),
|
|
83
|
-
};
|
|
76
|
+
diagnostics,
|
|
77
|
+
options: { includeEvidence: true },
|
|
78
|
+
});
|
|
84
79
|
}
|
|
85
80
|
function mergeDocumentDiagnostics(validationResult, documentDiagnostics) {
|
|
86
81
|
if (documentDiagnostics.length === 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"declarative-validation.js","sourceRoot":"","sources":["../../src/cli/declarative-validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAGvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"declarative-validation.js","sourceRoot":"","sources":["../../src/cli/declarative-validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { EngineDocument } from "../../api/document.js";
|
|
2
|
+
import type { CompiledDeclarativeValidationRule } from "../compiler/plan.js";
|
|
3
|
+
import type { DeclarativeValidationApplicabilityResult } from "../results/index.js";
|
|
4
|
+
export type CompiledRuleApplicabilityClassification = {
|
|
5
|
+
status: "notConfigured";
|
|
6
|
+
} | {
|
|
7
|
+
status: "matched";
|
|
8
|
+
result: DeclarativeValidationApplicabilityResult & {
|
|
9
|
+
status: "matched";
|
|
10
|
+
};
|
|
11
|
+
} | {
|
|
12
|
+
status: "notMatched";
|
|
13
|
+
result: DeclarativeValidationApplicabilityResult & {
|
|
14
|
+
status: "notMatched";
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export declare function classifyCompiledDeclarativeRuleApplicability(rule: CompiledDeclarativeValidationRule, document: EngineDocument): CompiledRuleApplicabilityClassification;
|
|
18
|
+
//# sourceMappingURL=classifier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classifier.d.ts","sourceRoot":"","sources":["../../../src/declarative-validation/applicability/classifier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAGV,iCAAiC,EAClC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,wCAAwC,EAAE,MAAM,qBAAqB,CAAC;AAIpF,MAAM,MAAM,uCAAuC,GAC/C;IACE,MAAM,EAAE,eAAe,CAAC;CACzB,GACD;IACE,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,wCAAwC,GAAG;QAAE,MAAM,EAAE,SAAS,CAAA;KAAE,CAAC;CAC1E,GACD;IACE,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,wCAAwC,GAAG;QACjD,MAAM,EAAE,YAAY,CAAC;KACtB,CAAC;CACH,CAAC;AAEN,wBAAgB,4CAA4C,CAC1D,IAAI,EAAE,iCAAiC,EACvC,QAAQ,EAAE,cAAc,GACvB,uCAAuC,CA6BzC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { evaluateCompiledDeclarativeRule } from "../assertions/evaluator.js";
|
|
2
|
+
import { resolveDeclarativeSelector } from "../selectors/index.js";
|
|
3
|
+
export function classifyCompiledDeclarativeRuleApplicability(rule, document) {
|
|
4
|
+
const applicability = compiledApplicabilityFromRule(rule);
|
|
5
|
+
if (applicability === undefined) {
|
|
6
|
+
return { status: "notConfigured" };
|
|
7
|
+
}
|
|
8
|
+
const result = evaluateCompiledDeclarativeRule(applicabilityRuleFromPlan(rule, applicability), resolveDeclarativeSelector(document, applicability.selector));
|
|
9
|
+
if (result.diagnostics.length === 0) {
|
|
10
|
+
return {
|
|
11
|
+
status: "matched",
|
|
12
|
+
result: {
|
|
13
|
+
status: "matched",
|
|
14
|
+
diagnostics: [],
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
return {
|
|
19
|
+
status: "notMatched",
|
|
20
|
+
result: {
|
|
21
|
+
status: "notMatched",
|
|
22
|
+
diagnostics: result.diagnostics,
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function compiledApplicabilityFromRule(rule) {
|
|
27
|
+
return "applicability" in rule ? rule.applicability : undefined;
|
|
28
|
+
}
|
|
29
|
+
function applicabilityRuleFromPlan(rule, applicability) {
|
|
30
|
+
return {
|
|
31
|
+
ruleId: rule.ruleId,
|
|
32
|
+
severity: rule.severity,
|
|
33
|
+
selector: applicability.selector,
|
|
34
|
+
assertions: applicability.assertions,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=classifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classifier.js","sourceRoot":"","sources":["../../../src/declarative-validation/applicability/classifier.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,+BAA+B,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAiBnE,MAAM,UAAU,4CAA4C,CAC1D,IAAuC,EACvC,QAAwB;IAExB,MAAM,aAAa,GAAG,6BAA6B,CAAC,IAAI,CAAC,CAAC;IAE1D,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IACrC,CAAC;IAED,MAAM,MAAM,GAAG,+BAA+B,CAC5C,yBAAyB,CAAC,IAAI,EAAE,aAAa,CAAC,EAC9C,0BAA0B,CAAC,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,CAC7D,CAAC;IAEF,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE;gBACN,MAAM,EAAE,SAAS;gBACjB,WAAW,EAAE,EAAE;aAChB;SACF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE;YACN,MAAM,EAAE,YAAY;YACpB,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CACpC,IAAuC;IAEvC,OAAO,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;AAClE,CAAC;AAED,SAAS,yBAAyB,CAChC,IAAuC,EACvC,aAA6D;IAE7D,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,QAAQ,EAAE,aAAa,CAAC,QAAQ;QAChC,UAAU,EAAE,aAAa,CAAC,UAAU;KACrC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/declarative-validation/applicability/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4CAA4C,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/declarative-validation/applicability/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4CAA4C,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { CompiledDeclarativeValidationExecutableRule } from "../compiler/plan.js";
|
|
2
2
|
import type { DeclarativeSelection } from "../selectors/index.js";
|
|
3
3
|
export interface AssertionEvaluationContext {
|
|
4
|
-
rule:
|
|
4
|
+
rule: CompiledDeclarativeValidationExecutableRule;
|
|
5
5
|
selection: DeclarativeSelection;
|
|
6
6
|
assertionIndex: number;
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/declarative-validation/assertions/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/declarative-validation/assertions/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2CAA2C,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,2CAA2C,CAAC;IAClD,SAAS,EAAE,oBAAoB,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC;CACxB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { MarkdownDiagnostic, SourceRange } from "../../api/diagnostics.js";
|
|
2
|
-
import type { CompiledDeclarativeAssertion,
|
|
2
|
+
import type { CompiledDeclarativeAssertion, CompiledDeclarativeValidationAllOfRuleV2, CompiledDeclarativeValidationAnyOfRuleV2, CompiledDeclarativeValidationExecutableRule } from "../compiler/plan.js";
|
|
3
3
|
import type { DeclarativeSelectionTarget } from "../selectors/index.js";
|
|
4
4
|
export interface AssertionDiagnostic {
|
|
5
5
|
diagnostic: MarkdownDiagnostic;
|
|
@@ -16,7 +16,10 @@ export interface AssertionDiagnosticOptions {
|
|
|
16
16
|
diagnosticOrder?: number;
|
|
17
17
|
sourceRange?: SourceRange;
|
|
18
18
|
}
|
|
19
|
-
export declare function
|
|
20
|
-
export declare function
|
|
21
|
-
export declare function
|
|
19
|
+
export declare function noAlternativeMatchedDiagnostic(rule: CompiledDeclarativeValidationAnyOfRuleV2): MarkdownDiagnostic;
|
|
20
|
+
export declare function groupRequirementFailedDiagnostic(rule: CompiledDeclarativeValidationAllOfRuleV2): MarkdownDiagnostic;
|
|
21
|
+
export declare function emptySelectionDiagnostic(rule: CompiledDeclarativeValidationExecutableRule, assertionIndex: number): AssertionDiagnostic;
|
|
22
|
+
export declare function validationDiagnostic(code: string, message: string, rule: CompiledDeclarativeValidationExecutableRule, options: AssertionDiagnosticOptions): AssertionDiagnostic;
|
|
23
|
+
export declare function unsupportedEvaluatorDiagnostic(assertion: CompiledDeclarativeAssertion, rule: CompiledDeclarativeValidationExecutableRule, assertionIndex: number): AssertionDiagnostic;
|
|
24
|
+
export declare function unsupportedEvaluatorFeatureDiagnostic(assertionKind: CompiledDeclarativeAssertion["kind"], featureName: string, rule: CompiledDeclarativeValidationExecutableRule, assertionIndex: number): AssertionDiagnostic;
|
|
22
25
|
//# sourceMappingURL=diagnostics.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../../src/declarative-validation/assertions/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,KAAK,EACV,4BAA4B,EAC5B,
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../../src/declarative-validation/assertions/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,KAAK,EACV,4BAA4B,EAC5B,wCAAwC,EACxC,wCAAwC,EACxC,2CAA2C,EAC5C,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAExE,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,0BAA0B;IACzC,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,0BAA0B,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,wCAAwC,GAC7C,kBAAkB,CAOpB;AAED,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,wCAAwC,GAC7C,kBAAkB,CAOpB;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,2CAA2C,EACjD,cAAc,EAAE,MAAM,GACrB,mBAAmB,CAWrB;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,2CAA2C,EACjD,OAAO,EAAE,0BAA0B,GAClC,mBAAmB,CAgBrB;AAED,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,4BAA4B,EACvC,IAAI,EAAE,2CAA2C,EACjD,cAAc,EAAE,MAAM,GACrB,mBAAmB,CAMrB;AAED,wBAAgB,qCAAqC,CACnD,aAAa,EAAE,4BAA4B,CAAC,MAAM,CAAC,EACnD,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,2CAA2C,EACjD,cAAc,EAAE,MAAM,GACrB,mBAAmB,CAMrB"}
|
|
@@ -1,3 +1,19 @@
|
|
|
1
|
+
export function noAlternativeMatchedDiagnostic(rule) {
|
|
2
|
+
return {
|
|
3
|
+
code: "profile.validation.noAlternativeMatched",
|
|
4
|
+
ruleId: rule.ruleId,
|
|
5
|
+
message: "No anyOf branch matched the grouped rule.",
|
|
6
|
+
severity: rule.severity,
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
export function groupRequirementFailedDiagnostic(rule) {
|
|
10
|
+
return {
|
|
11
|
+
code: "profile.validation.groupRequirementFailed",
|
|
12
|
+
ruleId: rule.ruleId,
|
|
13
|
+
message: "One or more allOf branches failed the grouped rule.",
|
|
14
|
+
severity: rule.severity,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
1
17
|
export function emptySelectionDiagnostic(rule, assertionIndex) {
|
|
2
18
|
return validationDiagnostic("profile.validation.emptySelection", "Rule selector did not match any document targets.", rule, {
|
|
3
19
|
assertionIndex,
|
|
@@ -22,11 +38,17 @@ export function validationDiagnostic(code, message, rule, options) {
|
|
|
22
38
|
};
|
|
23
39
|
}
|
|
24
40
|
export function unsupportedEvaluatorDiagnostic(assertion, rule, assertionIndex) {
|
|
41
|
+
return unsupportedEvaluatorDiagnosticFromMessage(unsupportedEvaluatorMessage(assertion.kind), rule, assertionIndex);
|
|
42
|
+
}
|
|
43
|
+
export function unsupportedEvaluatorFeatureDiagnostic(assertionKind, featureName, rule, assertionIndex) {
|
|
44
|
+
return unsupportedEvaluatorDiagnosticFromMessage(unsupportedEvaluatorFeatureMessage(assertionKind, featureName), rule, assertionIndex);
|
|
45
|
+
}
|
|
46
|
+
function unsupportedEvaluatorDiagnosticFromMessage(message, rule, assertionIndex) {
|
|
25
47
|
return {
|
|
26
48
|
diagnostic: {
|
|
27
49
|
code: "profile.validation.assertionUnsupported",
|
|
28
50
|
ruleId: rule.ruleId,
|
|
29
|
-
message
|
|
51
|
+
message,
|
|
30
52
|
severity: "error",
|
|
31
53
|
},
|
|
32
54
|
assertionIndex,
|
|
@@ -38,6 +60,9 @@ export function unsupportedEvaluatorDiagnostic(assertion, rule, assertionIndex)
|
|
|
38
60
|
function unsupportedEvaluatorMessage(assertionKind) {
|
|
39
61
|
return `Assertion "${assertionKind}" is compiled but not implemented by the assertion evaluator yet.`;
|
|
40
62
|
}
|
|
63
|
+
function unsupportedEvaluatorFeatureMessage(assertionKind, featureName) {
|
|
64
|
+
return `Unsupported assertion feature "${featureName}" for "${assertionKind}" is compiled but not implemented by the assertion evaluator yet.`;
|
|
65
|
+
}
|
|
41
66
|
function targetSourceRange(target) {
|
|
42
67
|
return target !== undefined && "source" in target
|
|
43
68
|
? target.source?.range
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../../src/declarative-validation/assertions/diagnostics.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../../src/declarative-validation/assertions/diagnostics.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ValidationRuleResult } from "../../api/validate.js";
|
|
2
|
-
import type {
|
|
2
|
+
import type { CompiledDeclarativeValidationExecutableRule } from "../compiler/plan.js";
|
|
3
3
|
import type { DeclarativeSelection } from "../selectors/index.js";
|
|
4
|
-
export declare function evaluateCompiledDeclarativeRule(rule:
|
|
4
|
+
export declare function evaluateCompiledDeclarativeRule(rule: CompiledDeclarativeValidationExecutableRule, selection: DeclarativeSelection): ValidationRuleResult;
|
|
5
5
|
//# sourceMappingURL=evaluator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../../src/declarative-validation/assertions/evaluator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAEV,
|
|
1
|
+
{"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../../src/declarative-validation/assertions/evaluator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAEV,2CAA2C,EAC5C,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAiBlE,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,2CAA2C,EACjD,SAAS,EAAE,oBAAoB,GAC9B,oBAAoB,CAgBtB"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { evaluateExists } from "./exists.js";
|
|
2
|
+
import { evaluateFrontmatterShape } from "./frontmatter-shape.js";
|
|
2
3
|
import { evaluateFrontmatterRequired } from "./frontmatter-required.js";
|
|
3
4
|
import { evaluateIds } from "./ids.js";
|
|
4
5
|
import { sortAssertionDiagnostics } from "./ordering.js";
|
|
5
6
|
import { evaluateReferences } from "./references.js";
|
|
6
7
|
import { evaluateSectionsRequired } from "./sections-required.js";
|
|
8
|
+
import { evaluateTableColumnCoverage } from "./table-column-coverage.js";
|
|
7
9
|
import { evaluateTableColumnsRequired } from "./table-columns-required.js";
|
|
8
10
|
import { evaluateText } from "./text.js";
|
|
11
|
+
import { evaluateTextFormat } from "./text-format.js";
|
|
9
12
|
import { evaluateTextLength } from "./text-length.js";
|
|
10
13
|
import { evaluateTextOccurrenceCount } from "./text-occurrence-count.js";
|
|
11
14
|
export function evaluateCompiledDeclarativeRule(rule, selection) {
|
|
@@ -33,6 +36,8 @@ function evaluateAssertion(assertion, context) {
|
|
|
33
36
|
return evaluateTextOccurrenceCount(assertion, context);
|
|
34
37
|
case "textLength":
|
|
35
38
|
return evaluateTextLength(assertion, context);
|
|
39
|
+
case "textFormat":
|
|
40
|
+
return evaluateTextFormat(assertion, context);
|
|
36
41
|
case "frontmatterRequired":
|
|
37
42
|
return evaluateFrontmatterRequired(assertion, context);
|
|
38
43
|
case "tableColumnsRequired":
|
|
@@ -41,6 +46,10 @@ function evaluateAssertion(assertion, context) {
|
|
|
41
46
|
return evaluateIds(assertion, context);
|
|
42
47
|
case "references":
|
|
43
48
|
return evaluateReferences(assertion, context);
|
|
49
|
+
case "tableColumnCoverage":
|
|
50
|
+
return evaluateTableColumnCoverage(assertion, context);
|
|
51
|
+
case "frontmatterShape":
|
|
52
|
+
return evaluateFrontmatterShape(assertion, context);
|
|
44
53
|
}
|
|
45
54
|
}
|
|
46
55
|
//# sourceMappingURL=evaluator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../../../src/declarative-validation/assertions/evaluator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAEzE,MAAM,UAAU,+BAA+B,CAC7C,
|
|
1
|
+
{"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../../../src/declarative-validation/assertions/evaluator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAEzE,MAAM,UAAU,+BAA+B,CAC7C,IAAiD,EACjD,SAA+B;IAE/B,MAAM,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAClD,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE,CAC5B,iBAAiB,CAAC,SAAS,EAAE;QAC3B,IAAI;QACJ,SAAS;QACT,cAAc;KACf,CAAC,CACL,CAAC;IACF,MAAM,WAAW,GAAG,wBAAwB,CAAC,oBAAoB,CAAC,CAAC;IAEnE,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,MAAM,EAAE,WAAW,CAAC,MAAM,KAAK,CAAC;QAChC,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,SAAuC,EACvC,OAAmC;IAEnC,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;QACvB,KAAK,QAAQ;YACX,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;QAEjC,KAAK,kBAAkB;YACrB,OAAO,wBAAwB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEtD,KAAK,MAAM;YACT,OAAO,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE1C,KAAK,qBAAqB;YACxB,OAAO,2BAA2B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEzD,KAAK,YAAY;YACf,OAAO,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEhD,KAAK,YAAY;YACf,OAAO,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEhD,KAAK,qBAAqB;YACxB,OAAO,2BAA2B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEzD,KAAK,sBAAsB;YACzB,OAAO,4BAA4B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE1D,KAAK,KAAK;YACR,OAAO,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEzC,KAAK,YAAY;YACf,OAAO,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEhD,KAAK,qBAAqB;YACxB,OAAO,2BAA2B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEzD,KAAK,kBAAkB;YACrB,OAAO,wBAAwB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { CompiledDeclarativeAssertion } from "../compiler/plan.js";
|
|
2
|
+
import type { AssertionEvaluationContext } from "./context.js";
|
|
3
|
+
import type { AssertionDiagnostic } from "./diagnostics.js";
|
|
4
|
+
type FrontmatterShapeAssertion = Extract<CompiledDeclarativeAssertion, {
|
|
5
|
+
kind: "frontmatterShape";
|
|
6
|
+
}>;
|
|
7
|
+
export declare function evaluateFrontmatterShape(assertion: FrontmatterShapeAssertion, context: AssertionEvaluationContext): AssertionDiagnostic[];
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=frontmatter-shape.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frontmatter-shape.d.ts","sourceRoot":"","sources":["../../../src/declarative-validation/assertions/frontmatter-shape.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAG5D,KAAK,yBAAyB,GAAG,OAAO,CACtC,4BAA4B,EAC5B;IAAE,IAAI,EAAE,kBAAkB,CAAA;CAAE,CAC7B,CAAC;AAMF,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,yBAAyB,EACpC,OAAO,EAAE,0BAA0B,GAClC,mBAAmB,EAAE,CAiCvB"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { hasOwnProperty, isPlainRecord } from "../../internal/plain-record.js";
|
|
2
|
+
import { validationDiagnostic } from "./diagnostics.js";
|
|
3
|
+
export function evaluateFrontmatterShape(assertion, context) {
|
|
4
|
+
const frontmatter = context.selection.document.frontmatter;
|
|
5
|
+
const diagnostics = [];
|
|
6
|
+
if (assertion.presence === "required" && frontmatter === undefined) {
|
|
7
|
+
diagnostics.push(requiredFrontmatterDiagnostic(context));
|
|
8
|
+
}
|
|
9
|
+
if (assertion.presence === "forbidden" && frontmatter !== undefined) {
|
|
10
|
+
diagnostics.push(forbiddenFrontmatterDiagnostic(context));
|
|
11
|
+
}
|
|
12
|
+
if (assertion.fields === undefined) {
|
|
13
|
+
return diagnostics;
|
|
14
|
+
}
|
|
15
|
+
if (!isPlainRecord(frontmatter)) {
|
|
16
|
+
for (const [fieldOrder, field] of assertion.fields.entries()) {
|
|
17
|
+
if (field.required === true) {
|
|
18
|
+
diagnostics.push(missingFieldDiagnostic(field, context, fieldOrder));
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return diagnostics;
|
|
22
|
+
}
|
|
23
|
+
for (const [fieldOrder, field] of assertion.fields.entries()) {
|
|
24
|
+
diagnostics.push(...evaluateFrontmatterField(frontmatter, field, context, fieldOrder));
|
|
25
|
+
}
|
|
26
|
+
return diagnostics;
|
|
27
|
+
}
|
|
28
|
+
function evaluateFrontmatterField(frontmatter, field, context, fieldOrder) {
|
|
29
|
+
if (!hasOwnProperty(frontmatter, field.field)) {
|
|
30
|
+
return field.required === true
|
|
31
|
+
? [missingFieldDiagnostic(field, context, fieldOrder)]
|
|
32
|
+
: [];
|
|
33
|
+
}
|
|
34
|
+
const value = frontmatter[field.field];
|
|
35
|
+
const diagnostics = [];
|
|
36
|
+
if (field.valueType !== undefined &&
|
|
37
|
+
!matchesFrontmatterValueType(value, field.valueType)) {
|
|
38
|
+
diagnostics.push(typeMismatchDiagnostic(field, context, fieldOrder));
|
|
39
|
+
}
|
|
40
|
+
if (field.nonEmpty === true && failsNonEmptyStringPredicate(value, field)) {
|
|
41
|
+
diagnostics.push(emptyFieldDiagnostic(field, context, fieldOrder));
|
|
42
|
+
}
|
|
43
|
+
return diagnostics;
|
|
44
|
+
}
|
|
45
|
+
function requiredFrontmatterDiagnostic(context) {
|
|
46
|
+
return validationDiagnostic("profile.validation.frontmatterMissing", "Frontmatter is required.", context.rule, {
|
|
47
|
+
assertionIndex: context.assertionIndex,
|
|
48
|
+
targetKey: "frontmatter:presence:required",
|
|
49
|
+
diagnosticOrder: 0,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
function forbiddenFrontmatterDiagnostic(context) {
|
|
53
|
+
return validationDiagnostic("profile.validation.frontmatterForbidden", "Frontmatter is forbidden.", context.rule, {
|
|
54
|
+
assertionIndex: context.assertionIndex,
|
|
55
|
+
targetKey: "frontmatter:presence:forbidden",
|
|
56
|
+
diagnosticOrder: 0,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
function missingFieldDiagnostic(field, context, fieldOrder) {
|
|
60
|
+
return validationDiagnostic("profile.validation.frontmatterFieldMissing", `Required frontmatter field "${field.field}" is missing.`, context.rule, {
|
|
61
|
+
assertionIndex: context.assertionIndex,
|
|
62
|
+
targetKey: frontmatterFieldTargetKey(field, "missing"),
|
|
63
|
+
diagnosticOrder: fieldOrder,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
function typeMismatchDiagnostic(field, context, fieldOrder) {
|
|
67
|
+
return validationDiagnostic("profile.validation.frontmatterFieldTypeMismatch", `Frontmatter field "${field.field}" must be ${field.valueType}.`, context.rule, {
|
|
68
|
+
assertionIndex: context.assertionIndex,
|
|
69
|
+
targetKey: frontmatterFieldTargetKey(field, "type"),
|
|
70
|
+
diagnosticOrder: fieldOrder,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
function emptyFieldDiagnostic(field, context, fieldOrder) {
|
|
74
|
+
return validationDiagnostic("profile.validation.frontmatterFieldEmpty", `Frontmatter field "${field.field}" must be a non-empty string.`, context.rule, {
|
|
75
|
+
assertionIndex: context.assertionIndex,
|
|
76
|
+
targetKey: frontmatterFieldTargetKey(field, "nonEmpty"),
|
|
77
|
+
diagnosticOrder: fieldOrder,
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
function frontmatterFieldTargetKey(field, predicate) {
|
|
81
|
+
return `frontmatter:${field.field}:${predicate}`;
|
|
82
|
+
}
|
|
83
|
+
function matchesFrontmatterValueType(value, valueType) {
|
|
84
|
+
switch (valueType) {
|
|
85
|
+
case "string":
|
|
86
|
+
return typeof value === "string";
|
|
87
|
+
case "number":
|
|
88
|
+
return typeof value === "number" && Number.isFinite(value);
|
|
89
|
+
case "boolean":
|
|
90
|
+
return typeof value === "boolean";
|
|
91
|
+
case "array":
|
|
92
|
+
return Array.isArray(value);
|
|
93
|
+
case "object":
|
|
94
|
+
return isPlainRecord(value);
|
|
95
|
+
case "null":
|
|
96
|
+
return value === null;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
function failsNonEmptyStringPredicate(value, field) {
|
|
100
|
+
if (field.valueType === "string" && typeof value !== "string") {
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
return typeof value !== "string" || value.length === 0;
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=frontmatter-shape.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frontmatter-shape.js","sourceRoot":"","sources":["../../../src/declarative-validation/assertions/frontmatter-shape.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { EngineDocument } from "../../api/document.js";
|
|
2
|
+
import type { CompiledDeclarativeValidationAllOfRuleV2, CompiledDeclarativeValidationAnyOfRuleV2 } from "../compiler/plan.js";
|
|
3
|
+
import type { DeclarativeValidationRuleResultV2 } from "../results/index.js";
|
|
4
|
+
export declare function evaluateCompiledDeclarativeAnyOfRule(rule: CompiledDeclarativeValidationAnyOfRuleV2, document: EngineDocument): DeclarativeValidationRuleResultV2;
|
|
5
|
+
export declare function evaluateCompiledDeclarativeAllOfRule(rule: CompiledDeclarativeValidationAllOfRuleV2, document: EngineDocument): DeclarativeValidationRuleResultV2;
|
|
6
|
+
//# sourceMappingURL=group-evaluator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group-evaluator.d.ts","sourceRoot":"","sources":["../../../src/declarative-validation/assertions/group-evaluator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EACV,wCAAwC,EACxC,wCAAwC,EAEzC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAGV,iCAAiC,EAClC,MAAM,qBAAqB,CAAC;AAQ7B,wBAAgB,oCAAoC,CAClD,IAAI,EAAE,wCAAwC,EAC9C,QAAQ,EAAE,cAAc,GACvB,iCAAiC,CAmBnC;AAED,wBAAgB,oCAAoC,CAClD,IAAI,EAAE,wCAAwC,EAC9C,QAAQ,EAAE,cAAc,GACvB,iCAAiC,CAgBnC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { resolveDeclarativeSelector } from "../selectors/index.js";
|
|
2
|
+
import { groupRequirementFailedDiagnostic, noAlternativeMatchedDiagnostic, } from "./diagnostics.js";
|
|
3
|
+
import { evaluateCompiledDeclarativeRule } from "./evaluator.js";
|
|
4
|
+
export function evaluateCompiledDeclarativeAnyOfRule(rule, document) {
|
|
5
|
+
const branches = evaluateCompiledDeclarativeBranches(rule.branches, document);
|
|
6
|
+
const selectedBranch = branches.find((branch) => branch.status === "passed");
|
|
7
|
+
const passed = selectedBranch !== undefined;
|
|
8
|
+
const diagnostics = passed ? [] : [noAlternativeMatchedDiagnostic(rule)];
|
|
9
|
+
return {
|
|
10
|
+
ruleId: rule.ruleId,
|
|
11
|
+
status: passed ? "passed" : "failed",
|
|
12
|
+
passed,
|
|
13
|
+
diagnostics,
|
|
14
|
+
evaluation: {
|
|
15
|
+
kind: "anyOf",
|
|
16
|
+
...(selectedBranch !== undefined
|
|
17
|
+
? { selectedBranch: branchReferenceFromResult(selectedBranch) }
|
|
18
|
+
: {}),
|
|
19
|
+
branches,
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export function evaluateCompiledDeclarativeAllOfRule(rule, document) {
|
|
24
|
+
const branches = evaluateCompiledDeclarativeBranches(rule.branches, document);
|
|
25
|
+
const failed = branches.some((branch) => branch.status === "failed");
|
|
26
|
+
const diagnostics = failed ? [groupRequirementFailedDiagnostic(rule)] : [];
|
|
27
|
+
const status = failed ? "failed" : "passed";
|
|
28
|
+
return {
|
|
29
|
+
ruleId: rule.ruleId,
|
|
30
|
+
status,
|
|
31
|
+
passed: !failed,
|
|
32
|
+
diagnostics,
|
|
33
|
+
evaluation: {
|
|
34
|
+
kind: "allOf",
|
|
35
|
+
branches,
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function evaluateCompiledDeclarativeBranches(branches, document) {
|
|
40
|
+
return branches.map((branch) => evaluateCompiledDeclarativeBranch(branch, document));
|
|
41
|
+
}
|
|
42
|
+
function evaluateCompiledDeclarativeBranch(branch, document) {
|
|
43
|
+
const result = evaluateCompiledDeclarativeRule(branch, resolveDeclarativeSelector(document, branch.selector));
|
|
44
|
+
return {
|
|
45
|
+
branchIndex: branch.branchIndex,
|
|
46
|
+
...(branch.label !== undefined ? { label: branch.label } : {}),
|
|
47
|
+
status: result.diagnostics.length === 0 ? "passed" : "failed",
|
|
48
|
+
diagnostics: result.diagnostics,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
function branchReferenceFromResult(branch) {
|
|
52
|
+
return {
|
|
53
|
+
branchIndex: branch.branchIndex,
|
|
54
|
+
...(branch.label !== undefined ? { label: branch.label } : {}),
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=group-evaluator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group-evaluator.js","sourceRoot":"","sources":["../../../src/declarative-validation/assertions/group-evaluator.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,10 +20,25 @@ export interface TargetIdToken {
|
|
|
20
20
|
}
|
|
21
21
|
export interface TableColumnIdSource {
|
|
22
22
|
section?: string;
|
|
23
|
+
tableHeader?: readonly string[];
|
|
23
24
|
column: string;
|
|
24
25
|
}
|
|
26
|
+
export type TableColumnIdTokenResolution = {
|
|
27
|
+
status: "resolved";
|
|
28
|
+
source: TableColumnIdSource;
|
|
29
|
+
tokens: readonly TargetIdToken[];
|
|
30
|
+
} | {
|
|
31
|
+
status: "missingSection";
|
|
32
|
+
source: TableColumnIdSource;
|
|
33
|
+
tokens: readonly [];
|
|
34
|
+
} | {
|
|
35
|
+
status: "missingColumn";
|
|
36
|
+
source: TableColumnIdSource;
|
|
37
|
+
tokens: readonly [];
|
|
38
|
+
};
|
|
25
39
|
export declare function extractTargetIdTokens(document: EngineDocument, target: DeclarativeSelectionTarget, options?: IdTokenOptions): TargetIdToken[];
|
|
26
40
|
export declare function extractSectionBodyIdTokens(document: EngineDocument, section: EngineSection, options?: IdTokenOptions): TargetIdToken[];
|
|
27
41
|
export declare function extractSectionIdTokens(document: EngineDocument, section: EngineSection, options?: IdTokenOptions): TargetIdToken[];
|
|
28
42
|
export declare function extractTableColumnIdTokens(document: EngineDocument, source: TableColumnIdSource, options?: IdTokenOptions): TargetIdToken[];
|
|
43
|
+
export declare function resolveTableColumnIdTokens(document: EngineDocument, source: TableColumnIdSource, options?: IdTokenOptions): TableColumnIdTokenResolution;
|
|
29
44
|
//# sourceMappingURL=id-targets.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"id-targets.d.ts","sourceRoot":"","sources":["../../../src/declarative-validation/assertions/id-targets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EAGd,aAAa,EAGd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"id-targets.d.ts","sourceRoot":"","sources":["../../../src/declarative-validation/assertions/id-targets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EAGd,aAAa,EAGd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAGxE,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGtE,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,4BAA4B,GACpC;IACE,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE,SAAS,aAAa,EAAE,CAAC;CAClC,GACD;IACE,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB,GACD;IACE,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB,CAAC;AA6CN,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,0BAA0B,EAClC,OAAO,GAAE,cAAmB,GAC3B,aAAa,EAAE,CAKjB;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,cAAmB,GAC3B,aAAa,EAAE,CAKjB;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,cAAmB,GAC3B,aAAa,EAAE,CAQjB;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,mBAAmB,EAC3B,OAAO,GAAE,cAAmB,GAC3B,aAAa,EAAE,CAIjB;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,mBAAmB,EAC3B,OAAO,GAAE,cAAmB,GAC3B,4BAA4B,CAqB9B"}
|