@jasonbelmonti/markdown-engine 3.2.0 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +27 -10
  3. package/dist/declarative-validation/assertions/evaluator.d.ts.map +1 -1
  4. package/dist/declarative-validation/assertions/evaluator.js +6 -0
  5. package/dist/declarative-validation/assertions/evaluator.js.map +1 -1
  6. package/dist/declarative-validation/assertions/selection-count.d.ts +9 -0
  7. package/dist/declarative-validation/assertions/selection-count.d.ts.map +1 -0
  8. package/dist/declarative-validation/assertions/selection-count.js +36 -0
  9. package/dist/declarative-validation/assertions/selection-count.js.map +1 -0
  10. package/dist/declarative-validation/assertions/table-columns-exact.d.ts +9 -0
  11. package/dist/declarative-validation/assertions/table-columns-exact.d.ts.map +1 -0
  12. package/dist/declarative-validation/assertions/table-columns-exact.js +44 -0
  13. package/dist/declarative-validation/assertions/table-columns-exact.js.map +1 -0
  14. package/dist/declarative-validation/compiler/assertion-builders.d.ts.map +1 -1
  15. package/dist/declarative-validation/compiler/assertion-builders.js +20 -1
  16. package/dist/declarative-validation/compiler/assertion-builders.js.map +1 -1
  17. package/dist/declarative-validation/compiler/assertions.d.ts.map +1 -1
  18. package/dist/declarative-validation/compiler/assertions.js +2 -0
  19. package/dist/declarative-validation/compiler/assertions.js.map +1 -1
  20. package/dist/declarative-validation/compiler/compatibility.d.ts.map +1 -1
  21. package/dist/declarative-validation/compiler/compatibility.js +2 -0
  22. package/dist/declarative-validation/compiler/compatibility.js.map +1 -1
  23. package/dist/declarative-validation/compiler/length-assertion-builders.d.ts +1 -0
  24. package/dist/declarative-validation/compiler/length-assertion-builders.d.ts.map +1 -1
  25. package/dist/declarative-validation/compiler/length-assertion-builders.js +6 -0
  26. package/dist/declarative-validation/compiler/length-assertion-builders.js.map +1 -1
  27. package/dist/declarative-validation/compiler/plan.d.ts +7 -0
  28. package/dist/declarative-validation/compiler/plan.d.ts.map +1 -1
  29. package/dist/declarative-validation/profile/assertion-schema.d.ts.map +1 -1
  30. package/dist/declarative-validation/profile/assertion-schema.js +28 -0
  31. package/dist/declarative-validation/profile/assertion-schema.js.map +1 -1
  32. package/dist/declarative-validation/profile/index.d.ts +7 -0
  33. package/dist/declarative-validation/profile/index.d.ts.map +1 -1
  34. package/dist/declarative-validation/profile/length-bound-schema.d.ts +1 -1
  35. package/dist/declarative-validation/profile/length-bound-schema.d.ts.map +1 -1
  36. package/dist/declarative-validation/profile/length-bound-schema.js.map +1 -1
  37. package/dist/internal/package-version.d.ts +1 -1
  38. package/dist/internal/package-version.js +1 -1
  39. package/dist-bundled/markdown-engine-cli.mjs +439 -276
  40. package/docs/contracts/declarative-validation.md +88 -12
  41. package/package.json +2 -2
  42. package/scripts/install-markdown-engine-cli.sh +2 -2
package/CHANGELOG.md CHANGED
@@ -4,6 +4,23 @@
4
4
 
5
5
  No unreleased changes.
6
6
 
7
+ ## 3.4.0 - 2026-08-15
8
+
9
+ ### Added
10
+
11
+ - Added the v2-only `tableColumnsExact` assertion for exact comparison of a
12
+ selected table's complete normalized header sequence, including deterministic
13
+ source-grounded API and CLI diagnostics for additional, missing, reordered,
14
+ renamed, and duplicated columns.
15
+
16
+ ## 3.3.0 - 2026-08-12
17
+
18
+ ### Added
19
+
20
+ - Added the v2-only, selector-generic `selectionCount` assertion for bounding
21
+ the number of matched targets with inclusive `min` and `max` values,
22
+ including zero-selection evaluation and deterministic CLI/API evidence.
23
+
7
24
  ## 3.2.0 - 2026-07-12
8
25
 
9
26
  ### Added
package/README.md CHANGED
@@ -6,14 +6,14 @@ profile and runtime work.
6
6
  Package release state:
7
7
 
8
8
  - package name: `@jasonbelmonti/markdown-engine`
9
- - package metadata version: `3.2.0`
9
+ - package metadata version: `3.4.0`
10
10
  - published npm versions before this release: `0.1.0`, `1.0.0`, `2.0.0`,
11
- `3.0.0`, `3.1.0`, `3.1.1`
12
- - npm release target: `3.2.0` on `latest`
11
+ `3.0.0`, `3.1.0`, `3.1.1`, `3.2.0`, `3.3.0`
12
+ - npm release target: `3.4.0` on `latest`
13
13
  - website: <https://jasonbelmonti.github.io/markdown-engine/>
14
- - release focus: V2 `sourceLength` assertions for document-scoped source
15
- bounds, while retaining the existing `documentVersion: "1.0.0"` rich IR
16
- contract as the default API and CLI document shape
14
+ - release focus: V2 `tableColumnsExact` assertions for complete normalized
15
+ table-header equality, while retaining the existing `documentVersion: "1.0.0"`
16
+ rich IR contract as the default API and CLI document shape
17
17
  - maintainer documentation map: [docs/README.md](docs/README.md)
18
18
  - design reference:
19
19
  [Markdown Engine 1.0 Rich IR design](docs/design/markdown-engine-1.0-rich-ir-operational-design-spec.md)
@@ -85,7 +85,7 @@ console.log(validationResult.valid);
85
85
  console.log(serialize(validationResult, { pretty: true }));
86
86
  ```
87
87
 
88
- Package 3.2 retains the serialized document contract at
88
+ Package 3.4 retains the serialized document contract at
89
89
  `documentVersion: "1.0.0"` and makes that rich IR path the default for
90
90
  `normalize(parsed)`. Callers may still pass
91
91
  `normalize(parsed, { documentVersion: "1.0.0" })` explicitly. That path adds
@@ -204,6 +204,23 @@ The CLI supplies the original file content automatically. API callers pass it
204
204
  as `sourceText` in `DeclarativeValidationOptions`; missing source context fails
205
205
  with `profile.validation.sourceUnavailable`.
206
206
 
207
+ V2 profiles can also bound how many targets a selector resolves. Empty
208
+ selections count as zero, which supports exact-one and forbidden-occurrence
209
+ contracts without custom validation scripts:
210
+
211
+ ```yaml
212
+ syntaxVersion: markdown-engine.validation@v2
213
+ rules:
214
+ - id: actions.table.exactly-one
215
+ select:
216
+ target: table
217
+ section: Execution Actions
218
+ assert:
219
+ selectionCount:
220
+ min: 1
221
+ max: 1
222
+ ```
223
+
207
224
  CLI validation output uses `profile.syntaxVersion` as the v1/v2 discriminator.
208
225
  V1 rule results keep the existing flat `ruleId`, `passed`, and `diagnostics`
209
226
  fields. V2 rule results add `status` and `evaluation`; v2 profile metadata adds
@@ -272,13 +289,13 @@ By default, the installer places the CLI under
272
289
  and writes the wrapper to
273
290
  `${MARKDOWN_ENGINE_BIN_DIR:-$HOME/.local/bin}/markdown-engine`. The installer
274
291
  uses a local bundled artifact only when it matches the pinned artifact hash.
275
- Otherwise it downloads `@jasonbelmonti/markdown-engine@3.2.0` with `npm pack
292
+ Otherwise it downloads `@jasonbelmonti/markdown-engine@3.4.0` with `npm pack
276
293
  --ignore-scripts` and extracts only
277
294
  `package/dist-bundled/markdown-engine-cli.mjs` from the tarball. It verifies the
278
295
  pinned artifact hash before installing:
279
296
 
280
297
  ```text
281
- 5033d08160fcd3f44b11498dc29d01db73d7aff2a55eb3257fd9a1c14e29c3f6
298
+ 41225925904c038c05392b19e7203bd723d1cbaaa47b48d96648fb0275d3d05b
282
299
  ```
283
300
 
284
301
  The installed wrapper is:
@@ -287,7 +304,7 @@ The installed wrapper is:
287
304
  "${MARKDOWN_ENGINE_BIN_DIR:-$HOME/.local/bin}/markdown-engine" validate --file <file.md> --profile <profile.yaml> --format json
288
305
  ```
289
306
 
290
- Package 3.2 keeps the 2.0 API normalization default: callers that invoke
307
+ Package 3.4 keeps the 2.0 API normalization default: callers that invoke
291
308
  `normalize(parsed)` receive the rich IR `1.0.0` document shape. Consumers that
292
309
  still need the legacy `0.0.0` shape should consume the rich IR fields
293
310
  (`target`, `sections`, `textSpans`, `tables`, `lists`, and `links`) or pin
@@ -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,2CAA2C,EAC5C,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAEV,mCAAmC,EACpC,MAAM,cAAc,CAAC;AAiBtB,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,2CAA2C,EACjD,SAAS,EAAE,oBAAoB,EAC/B,cAAc,GAAE,mCAAwC,GACvD,oBAAoB,CAmBtB"}
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;AAClE,OAAO,KAAK,EAEV,mCAAmC,EACpC,MAAM,cAAc,CAAC;AAmBtB,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,2CAA2C,EACjD,SAAS,EAAE,oBAAoB,EAC/B,cAAc,GAAE,mCAAwC,GACvD,oBAAoB,CAmBtB"}
@@ -5,8 +5,10 @@ import { evaluateIds } from "./ids.js";
5
5
  import { sortAssertionDiagnostics } from "./ordering.js";
6
6
  import { evaluateReferences } from "./references.js";
7
7
  import { evaluateSectionsRequired } from "./sections-required.js";
8
+ import { evaluateSelectionCount } from "./selection-count.js";
8
9
  import { evaluateSourceLength } from "./source-length.js";
9
10
  import { evaluateTableColumnCoverage } from "./table-column-coverage.js";
11
+ import { evaluateTableColumnsExact } from "./table-columns-exact.js";
10
12
  import { evaluateTableColumnsRequired } from "./table-columns-required.js";
11
13
  import { evaluateText } from "./text.js";
12
14
  import { evaluateTextFormat } from "./text-format.js";
@@ -34,6 +36,8 @@ function evaluateAssertion(assertion, context) {
34
36
  return evaluateExists(context);
35
37
  case "sectionsRequired":
36
38
  return evaluateSectionsRequired(assertion, context);
39
+ case "selectionCount":
40
+ return evaluateSelectionCount(assertion, context);
37
41
  case "text":
38
42
  return evaluateText(assertion, context);
39
43
  case "textOccurrenceCount":
@@ -48,6 +52,8 @@ function evaluateAssertion(assertion, context) {
48
52
  return evaluateFrontmatterRequired(assertion, context);
49
53
  case "tableColumnsRequired":
50
54
  return evaluateTableColumnsRequired(assertion, context);
55
+ case "tableColumnsExact":
56
+ return evaluateTableColumnsExact(assertion, context);
51
57
  case "ids":
52
58
  return evaluateIds(assertion, context);
53
59
  case "references":
@@ -1 +1 @@
1
- {"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../../../src/declarative-validation/assertions/evaluator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../../../src/declarative-validation/assertions/evaluator.ts"],"names":[],"mappings":"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"}
@@ -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 SelectionCountAssertion = Extract<CompiledDeclarativeAssertion, {
5
+ kind: "selectionCount";
6
+ }>;
7
+ export declare function evaluateSelectionCount(assertion: SelectionCountAssertion, context: AssertionEvaluationContext): AssertionDiagnostic[];
8
+ export {};
9
+ //# sourceMappingURL=selection-count.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection-count.d.ts","sourceRoot":"","sources":["../../../src/declarative-validation/assertions/selection-count.ts"],"names":[],"mappings":"AAAA,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,uBAAuB,GAAG,OAAO,CACpC,4BAA4B,EAC5B;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAC3B,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,uBAAuB,EAClC,OAAO,EAAE,0BAA0B,GAClC,mBAAmB,EAAE,CA0BvB"}
@@ -0,0 +1,36 @@
1
+ import { validationDiagnostic } from "./diagnostics.js";
2
+ export function evaluateSelectionCount(assertion, context) {
3
+ const actualCount = context.selection.targets.length;
4
+ if (isCountWithinBounds(actualCount, assertion)) {
5
+ return [];
6
+ }
7
+ const firstExcessTargetOrder = assertion.max;
8
+ const firstExcessTarget = firstExcessTargetOrder === undefined
9
+ ? undefined
10
+ : context.selection.targets[firstExcessTargetOrder];
11
+ return [
12
+ validationDiagnostic("profile.validation.assertionFailed", `Rule selector target count must be ${selectionCountRequirement(assertion)}; found ${actualCount}.`, context.rule, {
13
+ assertionIndex: context.assertionIndex,
14
+ ...(firstExcessTarget !== undefined && firstExcessTargetOrder !== undefined
15
+ ? { target: firstExcessTarget, targetOrder: firstExcessTargetOrder }
16
+ : { targetKey: "selection:count" }),
17
+ }),
18
+ ];
19
+ }
20
+ function isCountWithinBounds(actualCount, assertion) {
21
+ return ((assertion.min === undefined || actualCount >= assertion.min) &&
22
+ (assertion.max === undefined || actualCount <= assertion.max));
23
+ }
24
+ function selectionCountRequirement(assertion) {
25
+ if (assertion.min !== undefined && assertion.max !== undefined) {
26
+ return `between ${assertion.min} and ${assertion.max}`;
27
+ }
28
+ if (assertion.min !== undefined) {
29
+ return `at least ${assertion.min}`;
30
+ }
31
+ if (assertion.max !== undefined) {
32
+ return `at most ${assertion.max}`;
33
+ }
34
+ return "within configured bounds";
35
+ }
36
+ //# sourceMappingURL=selection-count.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection-count.js","sourceRoot":"","sources":["../../../src/declarative-validation/assertions/selection-count.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAOxD,MAAM,UAAU,sBAAsB,CACpC,SAAkC,EAClC,OAAmC;IAEnC,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC;IAErD,IAAI,mBAAmB,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,CAAC;QAChD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,sBAAsB,GAAG,SAAS,CAAC,GAAG,CAAC;IAC7C,MAAM,iBAAiB,GACrB,sBAAsB,KAAK,SAAS;QAClC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAExD,OAAO;QACL,oBAAoB,CAClB,oCAAoC,EACpC,sCAAsC,yBAAyB,CAAC,SAAS,CAAC,WAAW,WAAW,GAAG,EACnG,OAAO,CAAC,IAAI,EACZ;YACE,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,GAAG,CAAC,iBAAiB,KAAK,SAAS,IAAI,sBAAsB,KAAK,SAAS;gBACzE,CAAC,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,sBAAsB,EAAE;gBACpE,CAAC,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;SACtC,CACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,WAAmB,EACnB,SAAkC;IAElC,OAAO,CACL,CAAC,SAAS,CAAC,GAAG,KAAK,SAAS,IAAI,WAAW,IAAI,SAAS,CAAC,GAAG,CAAC;QAC7D,CAAC,SAAS,CAAC,GAAG,KAAK,SAAS,IAAI,WAAW,IAAI,SAAS,CAAC,GAAG,CAAC,CAC9D,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,SAAkC;IACnE,IAAI,SAAS,CAAC,GAAG,KAAK,SAAS,IAAI,SAAS,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC/D,OAAO,WAAW,SAAS,CAAC,GAAG,QAAQ,SAAS,CAAC,GAAG,EAAE,CAAC;IACzD,CAAC;IAED,IAAI,SAAS,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,YAAY,SAAS,CAAC,GAAG,EAAE,CAAC;IACrC,CAAC;IAED,IAAI,SAAS,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,WAAW,SAAS,CAAC,GAAG,EAAE,CAAC;IACpC,CAAC;IAED,OAAO,0BAA0B,CAAC;AACpC,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 TableColumnsExactAssertion = Extract<CompiledDeclarativeAssertion, {
5
+ kind: "tableColumnsExact";
6
+ }>;
7
+ export declare function evaluateTableColumnsExact(assertion: TableColumnsExactAssertion, context: AssertionEvaluationContext): AssertionDiagnostic[];
8
+ export {};
9
+ //# sourceMappingURL=table-columns-exact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-columns-exact.d.ts","sourceRoot":"","sources":["../../../src/declarative-validation/assertions/table-columns-exact.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAExE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAM5D,KAAK,0BAA0B,GAAG,OAAO,CACvC,4BAA4B,EAC5B;IAAE,IAAI,EAAE,mBAAmB,CAAA;CAAE,CAC9B,CAAC;AAOF,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,0BAA0B,EACrC,OAAO,EAAE,0BAA0B,GAClC,mBAAmB,EAAE,CAUvB"}
@@ -0,0 +1,44 @@
1
+ import { emptySelectionDiagnostic, validationDiagnostic, } from "./diagnostics.js";
2
+ export function evaluateTableColumnsExact(assertion, context) {
3
+ if (context.selection.targets.length === 0) {
4
+ return [emptySelectionDiagnostic(context.rule, context.assertionIndex)];
5
+ }
6
+ return context.selection.targets.flatMap((target, targetOrder) => target.kind === "table"
7
+ ? exactColumnDiagnostic(assertion, context, target, targetOrder)
8
+ : []);
9
+ }
10
+ function exactColumnDiagnostic(assertion, context, target, targetOrder) {
11
+ const actualCells = headerCells(target.table);
12
+ const actualColumns = actualCells.map((cell) => cell.text);
13
+ if (headerSequencesEqual(assertion.columns, actualColumns)) {
14
+ return [];
15
+ }
16
+ const mismatchedCell = firstMismatchedOrExcessCell(assertion.columns, actualCells);
17
+ return [
18
+ validationDiagnostic("profile.validation.assertionFailed", `Selected table columns must exactly match ${headerSequence(assertion.columns)}; found ${headerSequence(actualColumns)}.`, context.rule, {
19
+ assertionIndex: context.assertionIndex,
20
+ target,
21
+ targetOrder,
22
+ targetKey: `table:${target.table.target.id}:columns`,
23
+ ...(mismatchedCell?.sourceRange === undefined
24
+ ? {}
25
+ : { sourceRange: mismatchedCell.sourceRange }),
26
+ }),
27
+ ];
28
+ }
29
+ function headerSequencesEqual(expected, actual) {
30
+ return (expected.length === actual.length &&
31
+ expected.every((column, index) => column === actual[index]));
32
+ }
33
+ function firstMismatchedOrExcessCell(expected, actualCells) {
34
+ return actualCells.find((cell, index) => expected[index] !== cell.text);
35
+ }
36
+ function headerCells(table) {
37
+ return [...table.cells]
38
+ .filter((cell) => cell.header)
39
+ .sort((left, right) => left.columnIndex - right.columnIndex);
40
+ }
41
+ function headerSequence(columns) {
42
+ return JSON.stringify(columns);
43
+ }
44
+ //# sourceMappingURL=table-columns-exact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-columns-exact.js","sourceRoot":"","sources":["../../../src/declarative-validation/assertions/table-columns-exact.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAY1B,MAAM,UAAU,yBAAyB,CACvC,SAAqC,EACrC,OAAmC;IAEnC,IAAI,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3C,OAAO,CAAC,wBAAwB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAC/D,MAAM,CAAC,IAAI,KAAK,OAAO;QACrB,CAAC,CAAC,qBAAqB,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC;QAChE,CAAC,CAAC,EAAE,CACP,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,SAAqC,EACrC,OAAmC,EACnC,MAA4B,EAC5B,WAAmB;IAEnB,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE3D,IAAI,oBAAoB,CAAC,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC;QAC3D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,cAAc,GAAG,2BAA2B,CAChD,SAAS,CAAC,OAAO,EACjB,WAAW,CACZ,CAAC;IAEF,OAAO;QACL,oBAAoB,CAClB,oCAAoC,EACpC,6CAA6C,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,cAAc,CAAC,aAAa,CAAC,GAAG,EACzH,OAAO,CAAC,IAAI,EACZ;YACE,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,MAAM;YACN,WAAW;YACX,SAAS,EAAE,SAAS,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU;YACpD,GAAG,CAAC,cAAc,EAAE,WAAW,KAAK,SAAS;gBAC3C,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,WAAW,EAAE,cAAc,CAAC,WAAW,EAAE,CAAC;SACjD,CACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,QAA2B,EAC3B,MAAyB;IAEzB,OAAO,CACL,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;QACjC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAC5D,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAClC,QAA2B,EAC3B,WAAuC;IAEvC,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,WAAW,CAAC,KAAkB;IACrC,OAAO,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;SACpB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;SAC7B,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,cAAc,CAAC,OAA0B;IAChD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"assertion-builders.d.ts","sourceRoot":"","sources":["../../../src/declarative-validation/compiler/assertion-builders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAEL,KAAK,8BAA8B,EACpC,MAAM,8BAA8B,CAAC;AAOtC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAC;AAqB9D,MAAM,MAAM,gBAAgB,GAAG,CAC7B,SAAS,EAAE,oBAAoB,EAC/B,QAAQ,EAAE,mBAAmB,EAC7B,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,8BAA8B,EAC7C,WAAW,EAAE,kBAAkB,EAAE,KAC9B,4BAA4B,GAAG,SAAS,CAAC;AAE9C,eAAO,MAAM,kBAAkB,EAAE,SAAS,gBAAgB,EAczD,CAAC"}
1
+ {"version":3,"file":"assertion-builders.d.ts","sourceRoot":"","sources":["../../../src/declarative-validation/compiler/assertion-builders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAEL,KAAK,8BAA8B,EACpC,MAAM,8BAA8B,CAAC;AAQtC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAC;AAqB9D,MAAM,MAAM,gBAAgB,GAAG,CAC7B,SAAS,EAAE,oBAAoB,EAC/B,QAAQ,EAAE,mBAAmB,EAC7B,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,8BAA8B,EAC7C,WAAW,EAAE,kBAAkB,EAAE,KAC9B,4BAA4B,GAAG,SAAS,CAAC;AAE9C,eAAO,MAAM,kBAAkB,EAAE,SAAS,gBAAgB,EAgBzD,CAAC"}
@@ -2,18 +2,20 @@ import { hasEffectiveIdsPredicate, idsAssertionKeysForSyntaxVersion, } from "../
2
2
  import { PROFILE_SYNTAX_VERSION_V2, } from "../profile/syntax-version.js";
3
3
  import { pushCompatibilityDiagnostic } from "./compatibility.js";
4
4
  import { compileDiagnostic } from "./diagnostics.js";
5
- import { buildSourceLengthAssertion, buildTextLengthAssertion, } from "./length-assertion-builders.js";
5
+ import { buildSelectionCountAssertion, buildSourceLengthAssertion, buildTextLengthAssertion, } from "./length-assertion-builders.js";
6
6
  import { closedFrontmatterShape, closedTableColumnCoverage, closedStringArray, closedTextFormat, hasTextPredicate, optionalNumber, optionalString, optionalStringArray, pushIdsCountShapeDiagnostics, pushNonEmptyStringDiagnostic, pushObjectDiagnostic, pushOptionalBooleanDiagnostic, pushOptionalNonEmptyStringDiagnostic, pushSectionsRequiredOrderDiagnostic, pushTextOccurrenceCountDiagnostic, pushTextShapeDiagnostics, pushUnsupportedKeyDiagnostics, } from "./assertion-shapes.js";
7
7
  export const ASSERTION_BUILDERS = [
8
8
  buildExistsAssertion,
9
9
  buildSectionsRequiredAssertion,
10
10
  buildTableColumnsRequiredAssertion,
11
+ buildTableColumnsExactAssertion,
11
12
  buildIdsAssertion,
12
13
  buildReferencesAssertion,
13
14
  buildTableColumnCoverageAssertion,
14
15
  buildFrontmatterShapeAssertion,
15
16
  buildTextAssertion,
16
17
  buildTextOccurrenceCountAssertion,
18
+ buildSelectionCountAssertion,
17
19
  buildTextLengthAssertion,
18
20
  buildSourceLengthAssertion,
19
21
  buildTextFormatAssertion,
@@ -66,6 +68,23 @@ function buildTableColumnsRequiredAssertion(assertion, selector, ruleId, _syntax
66
68
  }
67
69
  return undefined;
68
70
  }
71
+ function buildTableColumnsExactAssertion(assertion, selector, ruleId, syntaxVersion, diagnostics) {
72
+ if (assertion.tableColumnsExact === undefined ||
73
+ syntaxVersion !== PROFILE_SYNTAX_VERSION_V2) {
74
+ return undefined;
75
+ }
76
+ let columns;
77
+ if (pushObjectDiagnostic("tableColumnsExact", assertion.tableColumnsExact, ruleId, diagnostics) &&
78
+ pushUnsupportedKeyDiagnostics(assertion.tableColumnsExact, ["columns"], diagnostics) &&
79
+ pushCompatibilityDiagnostic("tableColumnsExact", selector, ruleId, diagnostics) &&
80
+ (columns = closedStringArray("tableColumnsExact.columns", assertion.tableColumnsExact.columns, ruleId, diagnostics)) !== undefined) {
81
+ return {
82
+ kind: "tableColumnsExact",
83
+ columns,
84
+ };
85
+ }
86
+ return undefined;
87
+ }
69
88
  function buildIdsAssertion(assertion, selector, ruleId, syntaxVersion, diagnostics) {
70
89
  if (assertion.ids === undefined) {
71
90
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"assertion-builders.js","sourceRoot":"","sources":["../../../src/declarative-validation/compiler/assertion-builders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assertion-builders.js","sourceRoot":"","sources":["../../../src/declarative-validation/compiler/assertion-builders.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"assertions.d.ts","sourceRoot":"","sources":["../../../src/declarative-validation/compiler/assertions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,KAAK,8BAA8B,EACpC,MAAM,8BAA8B,CAAC;AAGtC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAC;AAsB9D,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,oBAAoB,EAC/B,QAAQ,EAAE,mBAAmB,EAC7B,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,8BAA8B,EAC7C,WAAW,EAAE,kBAAkB,EAAE,GAChC,4BAA4B,EAAE,CAwBhC"}
1
+ {"version":3,"file":"assertions.d.ts","sourceRoot":"","sources":["../../../src/declarative-validation/compiler/assertions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,KAAK,8BAA8B,EACpC,MAAM,8BAA8B,CAAC;AAGtC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAC;AAwB9D,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,oBAAoB,EAC/B,QAAQ,EAAE,mBAAmB,EAC7B,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,8BAA8B,EAC7C,WAAW,EAAE,kBAAkB,EAAE,GAChC,4BAA4B,EAAE,CAwBhC"}
@@ -14,7 +14,9 @@ const ASSERTION_KEYS_V1 = [
14
14
  ];
15
15
  const ASSERTION_KEYS_V2 = [
16
16
  ...ASSERTION_KEYS_V1,
17
+ "selectionCount",
17
18
  "sourceLength",
19
+ "tableColumnsExact",
18
20
  "tableColumnCoverage",
19
21
  "frontmatterShape",
20
22
  "textFormat",
@@ -1 +1 @@
1
- {"version":3,"file":"assertions.js","sourceRoot":"","sources":["../../../src/declarative-validation/compiler/assertions.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,yBAAyB,GAE1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAGtE,MAAM,iBAAiB,GAAG;IACxB,QAAQ;IACR,kBAAkB;IAClB,sBAAsB;IACtB,KAAK;IACL,YAAY;IACZ,MAAM;IACN,qBAAqB;IACrB,YAAY;IACZ,qBAAqB;CACb,CAAC;AAEX,MAAM,iBAAiB,GAAG;IACxB,GAAG,iBAAiB;IACpB,cAAc;IACd,qBAAqB;IACrB,kBAAkB;IAClB,YAAY;CACJ,CAAC;AAEX,MAAM,UAAU,2BAA2B,CACzC,SAA+B,EAC/B,QAA6B,EAC7B,MAAc,EACd,aAA6C,EAC7C,WAAiC;IAEjC,MAAM,QAAQ,GAAmC,EAAE,CAAC;IAEpD,6BAA6B,CAC3B,SAAS,EACT,6BAA6B,CAAC,aAAa,CAAC,EAC5C,WAAW,CACZ,CAAC;IAEF,KAAK,MAAM,cAAc,IAAI,kBAAkB,EAAE,CAAC;QAChD,MAAM,iBAAiB,GAAG,cAAc,CACtC,SAAS,EACT,QAAQ,EACR,MAAM,EACN,aAAa,EACb,WAAW,CACZ,CAAC;QAEF,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACpC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,6BAA6B,CACpC,aAA6C;IAE7C,OAAO,aAAa,KAAK,yBAAyB;QAChD,CAAC,CAAC,iBAAiB;QACnB,CAAC,CAAC,iBAAiB,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"assertions.js","sourceRoot":"","sources":["../../../src/declarative-validation/compiler/assertions.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,yBAAyB,GAE1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAGtE,MAAM,iBAAiB,GAAG;IACxB,QAAQ;IACR,kBAAkB;IAClB,sBAAsB;IACtB,KAAK;IACL,YAAY;IACZ,MAAM;IACN,qBAAqB;IACrB,YAAY;IACZ,qBAAqB;CACb,CAAC;AAEX,MAAM,iBAAiB,GAAG;IACxB,GAAG,iBAAiB;IACpB,gBAAgB;IAChB,cAAc;IACd,mBAAmB;IACnB,qBAAqB;IACrB,kBAAkB;IAClB,YAAY;CACJ,CAAC;AAEX,MAAM,UAAU,2BAA2B,CACzC,SAA+B,EAC/B,QAA6B,EAC7B,MAAc,EACd,aAA6C,EAC7C,WAAiC;IAEjC,MAAM,QAAQ,GAAmC,EAAE,CAAC;IAEpD,6BAA6B,CAC3B,SAAS,EACT,6BAA6B,CAAC,aAAa,CAAC,EAC5C,WAAW,CACZ,CAAC;IAEF,KAAK,MAAM,cAAc,IAAI,kBAAkB,EAAE,CAAC;QAChD,MAAM,iBAAiB,GAAG,cAAc,CACtC,SAAS,EACT,QAAQ,EACR,MAAM,EACN,aAAa,EACb,WAAW,CACZ,CAAC;QAEF,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACpC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,6BAA6B,CACpC,aAA6C;IAE7C,OAAO,aAAa,KAAK,yBAAyB;QAChD,CAAC,CAAC,iBAAiB;QACnB,CAAC,CAAC,iBAAiB,CAAC;AACxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"compatibility.d.ts","sourceRoot":"","sources":["../../../src/declarative-validation/compiler/compatibility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAGrF,MAAM,MAAM,wBAAwB,GAAG,MAAM,oBAAoB,CAAC;AAElE,wBAAgB,mCAAmC,CACjD,aAAa,EAAE,wBAAwB,EACvC,QAAQ,EAAE,mBAAmB,GAC5B,MAAM,GAAG,SAAS,CA+BpB;AAED,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,wBAAwB,EACvC,QAAQ,EAAE,mBAAmB,EAC7B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,kBAAkB,EAAE,GAChC,OAAO,CAgBT"}
1
+ {"version":3,"file":"compatibility.d.ts","sourceRoot":"","sources":["../../../src/declarative-validation/compiler/compatibility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAGrF,MAAM,MAAM,wBAAwB,GAAG,MAAM,oBAAoB,CAAC;AAElE,wBAAgB,mCAAmC,CACjD,aAAa,EAAE,wBAAwB,EACvC,QAAQ,EAAE,mBAAmB,GAC5B,MAAM,GAAG,SAAS,CAiCpB;AAED,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,wBAAwB,EACvC,QAAQ,EAAE,mBAAmB,EAC7B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,kBAAkB,EAAE,GAChC,OAAO,CAgBT"}
@@ -2,6 +2,7 @@ import { compileDiagnostic } from "./diagnostics.js";
2
2
  export function selectorAssertionCompatibilityError(assertionName, selector) {
3
3
  switch (assertionName) {
4
4
  case "exists":
5
+ case "selectionCount":
5
6
  return undefined;
6
7
  case "sectionsRequired":
7
8
  case "references":
@@ -12,6 +13,7 @@ export function selectorAssertionCompatibilityError(assertionName, selector) {
12
13
  ? undefined
13
14
  : selectorCompatibilityMessage(assertionName, "document");
14
15
  case "tableColumnsRequired":
16
+ case "tableColumnsExact":
15
17
  return selector.target === "table"
16
18
  ? undefined
17
19
  : selectorCompatibilityMessage(assertionName, "table");
@@ -1 +1 @@
1
- {"version":3,"file":"compatibility.js","sourceRoot":"","sources":["../../../src/declarative-validation/compiler/compatibility.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAIrD,MAAM,UAAU,mCAAmC,CACjD,aAAuC,EACvC,QAA6B;IAE7B,QAAQ,aAAa,EAAE,CAAC;QACtB,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC;QAEnB,KAAK,kBAAkB,CAAC;QACxB,KAAK,YAAY,CAAC;QAClB,KAAK,qBAAqB,CAAC;QAC3B,KAAK,kBAAkB,CAAC;QACxB,KAAK,cAAc;YACjB,OAAO,QAAQ,CAAC,MAAM,KAAK,UAAU;gBACnC,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,4BAA4B,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAE9D,KAAK,sBAAsB;YACzB,OAAO,QAAQ,CAAC,MAAM,KAAK,OAAO;gBAChC,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,4BAA4B,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAE3D,KAAK,KAAK,CAAC;QACX,KAAK,MAAM,CAAC;QACZ,KAAK,qBAAqB,CAAC;QAC3B,KAAK,YAAY,CAAC;QAClB,KAAK,YAAY;YACf,OAAO,SAAS,CAAC;QAEnB,KAAK,qBAAqB;YACxB,OAAO,QAAQ,CAAC,MAAM,KAAK,UAAU;gBACnC,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,4BAA4B,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,aAAuC,EACvC,QAA6B,EAC7B,MAAc,EACd,WAAiC;IAEjC,MAAM,OAAO,GAAG,mCAAmC,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAE7E,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAC,IAAI,CACd,iBAAiB,CACf,+CAA+C,EAC/C,OAAO,EACP,MAAM,CACP,CACF,CAAC;IAEF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,4BAA4B,CACnC,aAAuC,EACvC,YAA2C;IAE3C,OAAO,cAAc,aAAa,6BAA6B,YAAY,aAAa,CAAC;AAC3F,CAAC"}
1
+ {"version":3,"file":"compatibility.js","sourceRoot":"","sources":["../../../src/declarative-validation/compiler/compatibility.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAIrD,MAAM,UAAU,mCAAmC,CACjD,aAAuC,EACvC,QAA6B;IAE7B,QAAQ,aAAa,EAAE,CAAC;QACtB,KAAK,QAAQ,CAAC;QACd,KAAK,gBAAgB;YACnB,OAAO,SAAS,CAAC;QAEnB,KAAK,kBAAkB,CAAC;QACxB,KAAK,YAAY,CAAC;QAClB,KAAK,qBAAqB,CAAC;QAC3B,KAAK,kBAAkB,CAAC;QACxB,KAAK,cAAc;YACjB,OAAO,QAAQ,CAAC,MAAM,KAAK,UAAU;gBACnC,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,4BAA4B,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAE9D,KAAK,sBAAsB,CAAC;QAC5B,KAAK,mBAAmB;YACtB,OAAO,QAAQ,CAAC,MAAM,KAAK,OAAO;gBAChC,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,4BAA4B,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAE3D,KAAK,KAAK,CAAC;QACX,KAAK,MAAM,CAAC;QACZ,KAAK,qBAAqB,CAAC;QAC3B,KAAK,YAAY,CAAC;QAClB,KAAK,YAAY;YACf,OAAO,SAAS,CAAC;QAEnB,KAAK,qBAAqB;YACxB,OAAO,QAAQ,CAAC,MAAM,KAAK,UAAU;gBACnC,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,4BAA4B,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,aAAuC,EACvC,QAA6B,EAC7B,MAAc,EACd,WAAiC;IAEjC,MAAM,OAAO,GAAG,mCAAmC,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAE7E,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAC,IAAI,CACd,iBAAiB,CACf,+CAA+C,EAC/C,OAAO,EACP,MAAM,CACP,CACF,CAAC;IAEF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,4BAA4B,CACnC,aAAuC,EACvC,YAA2C;IAE3C,OAAO,cAAc,aAAa,6BAA6B,YAAY,aAAa,CAAC;AAC3F,CAAC"}
@@ -2,6 +2,7 @@ import type { MarkdownDiagnostic } from "../../api/diagnostics.js";
2
2
  import type { DeclarativeAssertion, DeclarativeSelector } from "../profile/index.js";
3
3
  import { type ValidationProfileSyntaxVersion } from "../profile/syntax-version.js";
4
4
  import type { CompiledDeclarativeAssertion } from "./plan.js";
5
+ export declare function buildSelectionCountAssertion(assertion: DeclarativeAssertion, selector: DeclarativeSelector, ruleId: string, syntaxVersion: ValidationProfileSyntaxVersion, diagnostics: MarkdownDiagnostic[]): CompiledDeclarativeAssertion | undefined;
5
6
  export declare function buildTextLengthAssertion(assertion: DeclarativeAssertion, selector: DeclarativeSelector, ruleId: string, _syntaxVersion: ValidationProfileSyntaxVersion, diagnostics: MarkdownDiagnostic[]): CompiledDeclarativeAssertion | undefined;
6
7
  export declare function buildSourceLengthAssertion(assertion: DeclarativeAssertion, selector: DeclarativeSelector, ruleId: string, syntaxVersion: ValidationProfileSyntaxVersion, diagnostics: MarkdownDiagnostic[]): CompiledDeclarativeAssertion | undefined;
7
8
  //# sourceMappingURL=length-assertion-builders.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"length-assertion-builders.d.ts","sourceRoot":"","sources":["../../../src/declarative-validation/compiler/length-assertion-builders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,KAAK,8BAA8B,EACpC,MAAM,8BAA8B,CAAC;AAGtC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAC;AAW9D,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,oBAAoB,EAC/B,QAAQ,EAAE,mBAAmB,EAC7B,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,8BAA8B,EAC9C,WAAW,EAAE,kBAAkB,EAAE,GAChC,4BAA4B,GAAG,SAAS,CAM1C;AAED,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,oBAAoB,EAC/B,QAAQ,EAAE,mBAAmB,EAC7B,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,8BAA8B,EAC7C,WAAW,EAAE,kBAAkB,EAAE,GAChC,4BAA4B,GAAG,SAAS,CAY1C"}
1
+ {"version":3,"file":"length-assertion-builders.d.ts","sourceRoot":"","sources":["../../../src/declarative-validation/compiler/length-assertion-builders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,KAAK,8BAA8B,EACpC,MAAM,8BAA8B,CAAC;AAGtC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAC;AAW9D,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,oBAAoB,EAC/B,QAAQ,EAAE,mBAAmB,EAC7B,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,8BAA8B,EAC7C,WAAW,EAAE,kBAAkB,EAAE,GAChC,4BAA4B,GAAG,SAAS,CAY1C;AAED,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,oBAAoB,EAC/B,QAAQ,EAAE,mBAAmB,EAC7B,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,8BAA8B,EAC9C,WAAW,EAAE,kBAAkB,EAAE,GAChC,4BAA4B,GAAG,SAAS,CAM1C;AAED,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,oBAAoB,EAC/B,QAAQ,EAAE,mBAAmB,EAC7B,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,8BAA8B,EAC7C,WAAW,EAAE,kBAAkB,EAAE,GAChC,4BAA4B,GAAG,SAAS,CAY1C"}
@@ -2,6 +2,12 @@ import { PROFILE_SYNTAX_VERSION_V2, } from "../profile/syntax-version.js";
2
2
  import { pushCompatibilityDiagnostic } from "./compatibility.js";
3
3
  import { compileDiagnostic } from "./diagnostics.js";
4
4
  import { optionalNumber, pushNonNegativeIntegerDiagnostic, pushObjectDiagnostic, pushUnsupportedKeyDiagnostics, } from "./assertion-shapes.js";
5
+ export function buildSelectionCountAssertion(assertion, selector, ruleId, syntaxVersion, diagnostics) {
6
+ const bounds = assertion.selectionCount;
7
+ return bounds === undefined || syntaxVersion !== PROFILE_SYNTAX_VERSION_V2
8
+ ? undefined
9
+ : buildLengthAssertion("selectionCount", bounds, selector, ruleId, diagnostics);
10
+ }
5
11
  export function buildTextLengthAssertion(assertion, selector, ruleId, _syntaxVersion, diagnostics) {
6
12
  const bounds = assertion.textLength;
7
13
  return bounds === undefined
@@ -1 +1 @@
1
- {"version":3,"file":"length-assertion-builders.js","sourceRoot":"","sources":["../../../src/declarative-validation/compiler/length-assertion-builders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"length-assertion-builders.js","sourceRoot":"","sources":["../../../src/declarative-validation/compiler/length-assertion-builders.ts"],"names":[],"mappings":"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"}
@@ -71,6 +71,10 @@ export interface DeclarativeValidationCompileResult {
71
71
  /** @internal */
72
72
  export type CompiledDeclarativeAssertion = {
73
73
  kind: "exists";
74
+ } | {
75
+ kind: "selectionCount";
76
+ min?: number;
77
+ max?: number;
74
78
  } | {
75
79
  kind: "sectionsRequired";
76
80
  headings: readonly string[];
@@ -78,6 +82,9 @@ export type CompiledDeclarativeAssertion = {
78
82
  } | {
79
83
  kind: "tableColumnsRequired";
80
84
  columns: readonly string[];
85
+ } | {
86
+ kind: "tableColumnsExact";
87
+ columns: readonly string[];
81
88
  } | {
82
89
  kind: "ids";
83
90
  unique?: true;
@@ -1 +1 @@
1
- {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../src/declarative-validation/compiler/plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../src/declarative-validation/compiler/plan.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"assertion-schema.d.ts","sourceRoot":"","sources":["../../../src/declarative-validation/profile/assertion-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAOnE,OAAO,KAAK,EACV,oBAAoB,EAIrB,MAAM,YAAY,CAAC;AAoBpB,OAAO,EAEL,KAAK,8BAA8B,EACpC,MAAM,qBAAqB,CAAC;AA0B7B,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,aAAa,EAAE,8BAA8B,EAC7C,WAAW,EAAE,kBAAkB,EAAE,GAChC,oBAAoB,GAAG,SAAS,CAkDlC"}
1
+ {"version":3,"file":"assertion-schema.d.ts","sourceRoot":"","sources":["../../../src/declarative-validation/profile/assertion-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAOnE,OAAO,KAAK,EACV,oBAAoB,EAIrB,MAAM,YAAY,CAAC;AAoBpB,OAAO,EAEL,KAAK,8BAA8B,EACpC,MAAM,qBAAqB,CAAC;AA4B7B,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,aAAa,EAAE,8BAA8B,EAC7C,WAAW,EAAE,kBAAkB,EAAE,GAChC,oBAAoB,GAAG,SAAS,CAwDlC"}
@@ -19,7 +19,9 @@ const SUPPORTED_ASSERTION_KEYS_V1 = [
19
19
  ];
20
20
  const SUPPORTED_ASSERTION_KEYS_V2 = [
21
21
  ...SUPPORTED_ASSERTION_KEYS_V1,
22
+ "selectionCount",
22
23
  "sourceLength",
24
+ "tableColumnsExact",
23
25
  "tableColumnCoverage",
24
26
  "frontmatterShape",
25
27
  "textFormat",
@@ -39,9 +41,15 @@ export function assertionFromValue(value, syntaxVersion, diagnostics) {
39
41
  ...textAssertionFromValue(value.text, diagnostics),
40
42
  ...textOccurrenceCountFromValue(value.textOccurrenceCount, diagnostics),
41
43
  ...textLengthFromValue(value.textLength, diagnostics),
44
+ ...(supportsV2AssertionSurface(syntaxVersion)
45
+ ? selectionCountFromValue(value.selectionCount, diagnostics)
46
+ : {}),
42
47
  ...(supportsV2AssertionSurface(syntaxVersion)
43
48
  ? sourceLengthFromValue(value.sourceLength, diagnostics)
44
49
  : {}),
50
+ ...(supportsV2AssertionSurface(syntaxVersion)
51
+ ? tableColumnsExactFromValue(value.tableColumnsExact, diagnostics)
52
+ : {}),
45
53
  ...frontmatterRequiredFromValue(value.frontmatterRequired, diagnostics),
46
54
  ...(supportsV2AssertionSurface(syntaxVersion)
47
55
  ? tableColumnCoverageFromValue(value.tableColumnCoverage, diagnostics)
@@ -139,6 +147,22 @@ function tableColumnsRequiredFromValue(value, diagnostics) {
139
147
  }
140
148
  return { tableColumnsRequired: { columns } };
141
149
  }
150
+ function tableColumnsExactFromValue(value, diagnostics) {
151
+ if (value === undefined) {
152
+ return {};
153
+ }
154
+ if (!isPlainRecord(value)) {
155
+ diagnostics.push(invalidShape("tableColumnsExact must be an object."));
156
+ return {};
157
+ }
158
+ unsupportedKeys(value, ["columns"], diagnostics);
159
+ const columns = stringArray(value.columns);
160
+ if (columns === undefined) {
161
+ diagnostics.push(invalidShape("tableColumnsExact.columns must be an array of non-empty strings."));
162
+ return {};
163
+ }
164
+ return { tableColumnsExact: { columns } };
165
+ }
142
166
  function idsFromValue(value, syntaxVersion, diagnostics) {
143
167
  if (value === undefined) {
144
168
  return {};
@@ -338,6 +362,10 @@ function textLengthFromValue(value, diagnostics) {
338
362
  const bounds = lengthBoundsFromValue(value, "textLength", diagnostics);
339
363
  return bounds === undefined ? {} : { textLength: bounds };
340
364
  }
365
+ function selectionCountFromValue(value, diagnostics) {
366
+ const bounds = lengthBoundsFromValue(value, "selectionCount", diagnostics);
367
+ return bounds === undefined ? {} : { selectionCount: bounds };
368
+ }
341
369
  function sourceLengthFromValue(value, diagnostics) {
342
370
  const bounds = lengthBoundsFromValue(value, "sourceLength", diagnostics);
343
371
  return bounds === undefined ? {} : { sourceLength: bounds };