@refrakt-md/runes 0.38.0 → 0.39.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 (79) hide show
  1. package/dist/collection-helpers.d.ts +21 -2
  2. package/dist/collection-helpers.d.ts.map +1 -1
  3. package/dist/collection-helpers.js +72 -15
  4. package/dist/collection-helpers.js.map +1 -1
  5. package/dist/config.d.ts.map +1 -1
  6. package/dist/config.js +73 -40
  7. package/dist/config.js.map +1 -1
  8. package/dist/data-pipeline.d.ts +24 -10
  9. package/dist/data-pipeline.d.ts.map +1 -1
  10. package/dist/data-pipeline.js +34 -56
  11. package/dist/data-pipeline.js.map +1 -1
  12. package/dist/file-ref-resolve.js +9 -13
  13. package/dist/file-ref-resolve.js.map +1 -1
  14. package/dist/index.d.ts +8 -3
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +7 -4
  17. package/dist/index.js.map +1 -1
  18. package/dist/lib/index.d.ts +47 -1
  19. package/dist/lib/index.d.ts.map +1 -1
  20. package/dist/lib/index.js +112 -5
  21. package/dist/lib/index.js.map +1 -1
  22. package/dist/lib/preprocess.d.ts +63 -0
  23. package/dist/lib/preprocess.d.ts.map +1 -0
  24. package/dist/lib/preprocess.js +71 -0
  25. package/dist/lib/preprocess.js.map +1 -0
  26. package/dist/lib/registers.d.ts +132 -0
  27. package/dist/lib/registers.d.ts.map +1 -0
  28. package/dist/lib/registers.js +328 -0
  29. package/dist/lib/registers.js.map +1 -0
  30. package/dist/lib/resolver.d.ts +9 -1
  31. package/dist/lib/resolver.d.ts.map +1 -1
  32. package/dist/lib/resolver.js +16 -0
  33. package/dist/lib/resolver.js.map +1 -1
  34. package/dist/lib/schema-table.d.ts +46 -9
  35. package/dist/lib/schema-table.d.ts.map +1 -1
  36. package/dist/lib/schema-table.js +111 -22
  37. package/dist/lib/schema-table.js.map +1 -1
  38. package/dist/lib/slots.d.ts +99 -0
  39. package/dist/lib/slots.d.ts.map +1 -0
  40. package/dist/lib/slots.js +448 -0
  41. package/dist/lib/slots.js.map +1 -0
  42. package/dist/reference.d.ts +18 -0
  43. package/dist/reference.d.ts.map +1 -1
  44. package/dist/reference.js +34 -1
  45. package/dist/reference.js.map +1 -1
  46. package/dist/registers-pipeline.d.ts +50 -0
  47. package/dist/registers-pipeline.d.ts.map +1 -0
  48. package/dist/registers-pipeline.js +218 -0
  49. package/dist/registers-pipeline.js.map +1 -0
  50. package/dist/schema-row.d.ts +5 -0
  51. package/dist/schema-row.d.ts.map +1 -1
  52. package/dist/schema-row.js +1 -0
  53. package/dist/schema-row.js.map +1 -1
  54. package/dist/tags/data.d.ts +2 -2
  55. package/dist/tags/data.d.ts.map +1 -1
  56. package/dist/tags/data.js +6 -4
  57. package/dist/tags/data.js.map +1 -1
  58. package/dist/tags/figure.d.ts +10 -4
  59. package/dist/tags/figure.d.ts.map +1 -1
  60. package/dist/tags/figure.js +65 -20
  61. package/dist/tags/figure.js.map +1 -1
  62. package/dist/tags/include.d.ts +51 -7
  63. package/dist/tags/include.d.ts.map +1 -1
  64. package/dist/tags/include.js +216 -7
  65. package/dist/tags/include.js.map +1 -1
  66. package/dist/tags/snippet.d.ts +9 -10
  67. package/dist/tags/snippet.d.ts.map +1 -1
  68. package/dist/tags/snippet.js +213 -10
  69. package/dist/tags/snippet.js.map +1 -1
  70. package/dist/universal-attributes.d.ts +1 -1
  71. package/package.json +3 -3
  72. package/dist/include-pipeline.d.ts +0 -52
  73. package/dist/include-pipeline.d.ts.map +0 -1
  74. package/dist/include-pipeline.js +0 -206
  75. package/dist/include-pipeline.js.map +0 -1
  76. package/dist/snippet-pipeline.d.ts +0 -44
  77. package/dist/snippet-pipeline.d.ts.map +0 -1
  78. package/dist/snippet-pipeline.js +0 -307
  79. package/dist/snippet-pipeline.js.map +0 -1
package/dist/lib/index.js CHANGED
@@ -1,16 +1,21 @@
1
1
  import Markdoc from '@markdoc/markdoc';
2
2
  import { resolveContentModel } from './resolver.js';
3
+ import { makeSlotTransform, slotSections } from './slots.js';
3
4
  import { schemaBasePresets } from '../attribute-presets.js';
4
5
  import { resolveUniversalAttributes } from '../universal-attributes.js';
5
6
  export { createComponentRenderable, stripSchemaOrg } from './component.js';
6
7
  import { stripSchemaOrg } from './component.js';
7
8
  import { RenderableNodeCursor } from './renderable.js';
8
- import { applySchemaTable, validateSchemaTable } from './schema-table.js';
9
+ import { applySchemaTable, releaseOwnedNodes, validateSchemaTable } from './schema-table.js';
10
+ import { auditRegistersSources, registersSources, schemaRegisters, validateRegistersDeclaration, } from './registers.js';
9
11
  export { applySchemaTable, validateSchemaTable, selectRow, findByName, SCHEMA_TYPE_EXPLICIT, } from './schema-table.js';
10
12
  export { resolve, resolveSequence, resolveDelimited, resolveSections, resolveContentModel, resolveListItems, evaluateCondition, matchesType, } from './resolver.js';
11
13
  export { sanitizeSandboxContent } from './sanitize.js';
14
+ export { preprocessTree, schemaPreprocessors } from './preprocess.js';
15
+ import { schemaPreprocessors } from './preprocess.js';
12
16
  export { extractText, groupByHeading } from './node.js';
13
17
  export { fieldMetas } from './field-metas.js';
18
+ export { makeSlotTransform, slotSections, validateEmits, describeSlots, formatSlotLine, } from './slots.js';
14
19
  /**
15
20
  * Maps a Markdoc Schema to its content model declaration.
16
21
  * Populated by `createContentModelSchema()` so consumers (editor, language server)
@@ -33,6 +38,13 @@ export const schemaRuneStructures = new WeakMap();
33
38
  * table here is what lets the review surface D5 depends on exist at all.
34
39
  */
35
40
  export const schemaTables = new WeakMap();
41
+ /**
42
+ * A declaratively-labelled rune's slot declaration, keyed by its Markdoc schema
43
+ * — SPEC-143. Same shape and purpose as `schemaTables`: the declaration lives in
44
+ * the tag module, and `inspect` and `reference` have only the schema to read.
45
+ * Absent for a rune that keeps a hand-written transform.
46
+ */
47
+ export const schemaEmits = new WeakMap();
36
48
  /**
37
49
  * Record a hand-written schema's universal-attribute posture.
38
50
  *
@@ -522,6 +534,56 @@ function injectSubstrateMetas(result, attrs) {
522
534
  result.children = [...result.children, ...metas];
523
535
  return result;
524
536
  }
537
+ /** Sources each registering schema has been seen to provide. A source the rune
538
+ * emits structurally is emitted by every instance, so once seen it needs no
539
+ * second transform — which keeps the audit at one extra transform per rune
540
+ * per process rather than one per instance. */
541
+ const resolvedRegistersSources = new WeakMap();
542
+ /**
543
+ * The validate-time audit of a `registers` block — WORK-611.
544
+ *
545
+ * A source that resolves to nothing registers an empty id or an empty data
546
+ * field on every instance, silently. Reported as `registers-source-unresolved`
547
+ * against the instance's own line, by the rule `auditRegistersSources` shares
548
+ * with `inspect`. Declared attributes resolve without a transform; anything
549
+ * else needs the rune's output, which is produced here against a copy of the
550
+ * page's variables so the audit cannot disturb the real transform (generated
551
+ * heading ids, chiefly).
552
+ */
553
+ function auditRegistersOnValidate(schema, decl, node, config) {
554
+ const seen = resolvedRegistersSources.get(schema) ?? new Set();
555
+ resolvedRegistersSources.set(schema, seen);
556
+ const declared = Object.keys(schema.attributes ?? {});
557
+ const pending = auditRegistersSources(decl, [], declared).filter((s) => !seen.has(s.source));
558
+ if (pending.length === 0)
559
+ return [];
560
+ let tree;
561
+ try {
562
+ const variables = config.variables ?? {};
563
+ tree = Markdoc.transform(node, {
564
+ ...config,
565
+ variables: {
566
+ ...variables,
567
+ generatedIds: new Set(variables.generatedIds ?? []),
568
+ },
569
+ });
570
+ }
571
+ catch {
572
+ // A rune that cannot transform here reports that through its own path.
573
+ return [];
574
+ }
575
+ const unresolved = auditRegistersSources(decl, tree, declared);
576
+ const missing = new Set(unresolved.map((u) => u.source));
577
+ for (const { source } of registersSources(decl))
578
+ if (!missing.has(source))
579
+ seen.add(source);
580
+ return unresolved.map(({ source, role }) => ({
581
+ id: 'registers-source-unresolved',
582
+ level: 'warning',
583
+ message: `registers ${role} reads "${source}", which matches no emitted node, no field-bag entry ` +
584
+ `and no declared attribute of {% ${node.tag} %} — it would always be empty`,
585
+ }));
586
+ }
525
587
  /**
526
588
  * Create a Markdoc Schema from a declarative content model.
527
589
  *
@@ -529,6 +591,33 @@ function injectSubstrateMetas(result, attrs) {
529
591
  * that receives the resolver's output.
530
592
  */
531
593
  export function createContentModelSchema(options) {
594
+ // SPEC-143 D8 — exactly one of the two. A rune that declared some slots and
595
+ // patched the rest in a transform would leave neither half able to say what
596
+ // the output is.
597
+ if (options.transform && options.emits) {
598
+ throw new Error(`Rune "${options.emits.rune}": declares both \`transform\` and \`emits\`. Use exactly one (SPEC-143 D8) — the declaration for a rune that only labels its fields, the transform for one that restructures them.`);
599
+ }
600
+ if (!options.transform && !options.emits) {
601
+ const attrNames = Object.keys(options.attributes ?? {});
602
+ throw new Error(`A rune${attrNames.length ? ` (attributes: ${attrNames.join(', ')})` : ''} declares neither \`transform\` nor \`emits\`. It needs exactly one (SPEC-143 D8).`);
603
+ }
604
+ // Built once, at construction — not per page, not per instance.
605
+ const transform = options.transform ?? makeSlotTransform(options.emits, options.contentModel);
606
+ // The `sections` join table follows from the declaration. A rune may still
607
+ // state roles for names `layout` creates (a `preamble` header), but not
608
+ // restate a slot's — that would be the identity authored twice.
609
+ let sections = options.sections;
610
+ if (options.emits) {
611
+ const derived = slotSections(options.emits);
612
+ const restated = Object.keys(options.sections ?? {}).filter((k) => k in options.emits.slots);
613
+ if (restated.length > 0) {
614
+ throw new Error(`Rune "${options.emits.rune}": \`sections\` restates the role of slot(s) ${restated.join(', ')}, which the \`emits\` declaration already gives. Declare it on the slot (\`role\`) instead.`);
615
+ }
616
+ sections =
617
+ options.sections || Object.keys(derived).length > 0
618
+ ? { ...derived, ...options.sections }
619
+ : undefined;
620
+ }
532
621
  const attributes = {};
533
622
  // Merge base attributes
534
623
  if (options.base) {
@@ -548,7 +637,7 @@ export function createContentModelSchema(options) {
548
637
  const { available: applicableUniversals } = resolveUniversalAttributes({
549
638
  posture: options.universalAttributes,
550
639
  structure: {
551
- ...(options.sections && { sections: options.sections }),
640
+ ...(sections && { sections }),
552
641
  ...(options.mediaSlots && { mediaSlots: options.mediaSlots }),
553
642
  ...(options.frameTarget && { frameTarget: options.frameTarget }),
554
643
  ...(options.provides && { provides: options.provides }),
@@ -615,8 +704,9 @@ export function createContentModelSchema(options) {
615
704
  ? options.contentModel(attrs)
616
705
  : options.contentModel;
617
706
  const { content, tintNode, bgNode } = resolveContentModel(node.children, resolvedModel, attrs);
618
- // Call the user's transform function
619
- let result = options.transform(content, attrs, config, node);
707
+ // Call the rune's transform — hand-written, or built from `emits`
708
+ // (SPEC-143). The one call site either way.
709
+ let result = transform(content, attrs, config, node);
620
710
  // SPEC-130 / WORK-565 — realise the rune's schema table against its own
621
711
  // output. Here, not in the engine: `site.ts` harvests `extractSeo` from
622
712
  // the `Markdoc.transform` tree, and the engine runs later at render
@@ -625,6 +715,8 @@ export function createContentModelSchema(options) {
625
715
  if (options.schema) {
626
716
  result = applySchemaTable(result, options.schema, attrs);
627
717
  }
718
+ // SPEC-146 D4 — this rune is the last that could read its ownership marks.
719
+ releaseOwnedNodes(result);
628
720
  // `schema="none"` strips the whole subtree, not just the root: a child
629
721
  // rune declares its own type independently, so stripping only the root
630
722
  // would leave orphan typed nodes with no container (WORK-552).
@@ -690,6 +782,19 @@ export function createContentModelSchema(options) {
690
782
  }
691
783
  if (options.schema)
692
784
  schemaTables.set(schema, options.schema);
785
+ if (options.emits)
786
+ schemaEmits.set(schema, options.emits);
787
+ // SPEC-144 / WORK-611 — record the registration declaration, and audit its
788
+ // sources at validate time, where Markdoc attaches file and line.
789
+ if (options.registers) {
790
+ validateRegistersDeclaration(options.registers);
791
+ schemaRegisters.set(schema, options.registers);
792
+ const ownValidate = schema.validate;
793
+ schema.validate = (node, config) => [
794
+ ...(ownValidate?.(node, config) ?? []),
795
+ ...auditRegistersOnValidate(schema, options.registers, node, config),
796
+ ];
797
+ }
693
798
  // Register content model for introspection by editor / language server
694
799
  schemaContentModels.set(schema, options.contentModel);
695
800
  // SPEC-125 Phase 2 — record the rune's own join tables, so the applicability
@@ -698,7 +803,7 @@ export function createContentModelSchema(options) {
698
803
  // is the `auto` default, so a consumer can tell "this rune was built through
699
804
  // the schema builder and is structurally gated" from "nothing is known".
700
805
  schemaRuneStructures.set(schema, {
701
- ...(options.sections && { sections: options.sections }),
806
+ ...(sections && { sections }),
702
807
  ...(options.mediaSlots && { mediaSlots: options.mediaSlots }),
703
808
  ...(options.frameTarget && { frameTarget: options.frameTarget }),
704
809
  universalAttributes: options.universalAttributes ?? 'auto',
@@ -709,6 +814,8 @@ export function createContentModelSchema(options) {
709
814
  if (options.base) {
710
815
  schemaBasePresets.set(schema, options.base);
711
816
  }
817
+ if (options.preprocess)
818
+ schemaPreprocessors.set(schema, options.preprocess);
712
819
  return schema;
713
820
  }
714
821
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ import type { Node, Schema } from '@markdoc/markdoc';
2
+ import type { PreprocessContext, PreprocessPage } from '@refrakt-md/types';
3
+ /**
4
+ * Per-rune preprocessing (SPEC-141).
5
+ *
6
+ * A rune that resolves itself before the transform — `include`, `snippet`,
7
+ * `data` — declares a `preprocess` hook on its schema, beside `transform`.
8
+ * One walk ({@link preprocessTree}) visits the page AST and dispatches to the
9
+ * hook of whichever tag it meets. The ordering between preprocessors is not
10
+ * stated anywhere: it is tree order.
11
+ *
12
+ * That is a valid order because the producer/consumer graph is acyclic by
13
+ * construction. `include` pastes a file's AST and `data` clones its row
14
+ * template **at their own node**, so anything they produce is below that point
15
+ * and the walk meets it next. Nothing runs the other way: `snippet` resolves to
16
+ * a `fence`, whose content is raw text that is never re-parsed as Markdoc.
17
+ */
18
+ /** The context a rune's `preprocess` hook receives. */
19
+ export interface RunePreprocessContext extends PreprocessContext {
20
+ /**
21
+ * The nodes enclosing the one being preprocessed, outermost first — the
22
+ * page's `document` node is always the first entry, and the direct parent
23
+ * is the last (SPEC-141 D4). A replacement is not an ancestor of what it
24
+ * contains: by the time the walk descends into it, the tag is gone.
25
+ */
26
+ readonly ancestors: readonly Node[];
27
+ }
28
+ /**
29
+ * A rune's preprocess hook (SPEC-141 D1).
30
+ *
31
+ * Receives the rune's own tag node — not the tree. Returning a node replaces
32
+ * the tag with it; returning an array splices those nodes in its place (an
33
+ * empty array removes the tag); returning nothing leaves it alone. The walk
34
+ * then continues into whatever is now at that position, so the hook never has
35
+ * to resolve the tags its own output contains.
36
+ */
37
+ export type RunePreprocess = (node: Node, page: PreprocessPage, ctx: RunePreprocessContext) => Node | Node[] | void;
38
+ /**
39
+ * Schema → its rune's preprocess hook. Recorded by `createContentModelSchema`
40
+ * and kept off the Markdoc schema object, the same shape as
41
+ * `schemaRuneStructures`: Markdoc never reads it, and only {@link preprocessTree}
42
+ * does.
43
+ */
44
+ export declare const schemaPreprocessors: WeakMap<Schema, RunePreprocess>;
45
+ /**
46
+ * Resolve every preprocessing rune in a page AST, in tree order.
47
+ *
48
+ * `schemas` is the page's tag table — the same `tags` the transform will use,
49
+ * core and plugin runes merged — and any of them that declares a `preprocess`
50
+ * hook takes part. Mutates `ast` in place; returns it when anything changed,
51
+ * and nothing otherwise, matching the `PluginPipelineHooks.preprocess` contract.
52
+ *
53
+ * **The walk descends into a replacement** (SPEC-141 D3). After a hook
54
+ * replaces its tag, the walk revisits the same position, so a producer's
55
+ * output is resolved where it lands: a `{% snippet %}` in a `{% data %}` row
56
+ * template is reached after the row is bound (BUG-027), and a subquery `data`
57
+ * per outer row. Termination needs no depth limit: `include` leaves no
58
+ * `include` tags behind (it expands nested ones itself, under its cycle
59
+ * stack), `data`'s output consumes one level of the authored body per pass,
60
+ * and `snippet`'s fence contains no tags at all.
61
+ */
62
+ export declare function preprocessTree(ast: Node, page: PreprocessPage, ctx: PreprocessContext, schemas: Record<string, unknown>): Node | void;
63
+ //# sourceMappingURL=preprocess.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preprocess.d.ts","sourceRoot":"","sources":["../../src/lib/preprocess.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE3E;;;;;;;;;;;;;;GAcG;AAEH,uDAAuD;AACvD,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB;IAC/D;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,IAAI,EAAE,CAAC;CACpC;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GAAG,CAC5B,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,qBAAqB,KACtB,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;AAE1B;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,iCAAwC,CAAC;AAEzE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAC7B,GAAG,EAAE,IAAI,EACT,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,iBAAiB,EACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,IAAI,GAAG,IAAI,CA4Cb"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Schema → its rune's preprocess hook. Recorded by `createContentModelSchema`
3
+ * and kept off the Markdoc schema object, the same shape as
4
+ * `schemaRuneStructures`: Markdoc never reads it, and only {@link preprocessTree}
5
+ * does.
6
+ */
7
+ export const schemaPreprocessors = new WeakMap();
8
+ /**
9
+ * Resolve every preprocessing rune in a page AST, in tree order.
10
+ *
11
+ * `schemas` is the page's tag table — the same `tags` the transform will use,
12
+ * core and plugin runes merged — and any of them that declares a `preprocess`
13
+ * hook takes part. Mutates `ast` in place; returns it when anything changed,
14
+ * and nothing otherwise, matching the `PluginPipelineHooks.preprocess` contract.
15
+ *
16
+ * **The walk descends into a replacement** (SPEC-141 D3). After a hook
17
+ * replaces its tag, the walk revisits the same position, so a producer's
18
+ * output is resolved where it lands: a `{% snippet %}` in a `{% data %}` row
19
+ * template is reached after the row is bound (BUG-027), and a subquery `data`
20
+ * per outer row. Termination needs no depth limit: `include` leaves no
21
+ * `include` tags behind (it expands nested ones itself, under its cycle
22
+ * stack), `data`'s output consumes one level of the authored body per pass,
23
+ * and `snippet`'s fence contains no tags at all.
24
+ */
25
+ export function preprocessTree(ast, page, ctx, schemas) {
26
+ const hooks = new Map();
27
+ for (const [name, schema] of Object.entries(schemas)) {
28
+ if (!schema || typeof schema !== 'object')
29
+ continue;
30
+ const hook = schemaPreprocessors.get(schema);
31
+ if (hook)
32
+ hooks.set(name, hook);
33
+ }
34
+ if (hooks.size === 0)
35
+ return;
36
+ let mutated = false;
37
+ const ancestors = [];
38
+ const walk = (parent) => {
39
+ const children = parent.children;
40
+ if (!children || children.length === 0)
41
+ return;
42
+ ancestors.push(parent);
43
+ for (let i = 0; i < children.length; i++) {
44
+ const child = children[i];
45
+ const hook = child.type === 'tag' && child.tag ? hooks.get(child.tag) : undefined;
46
+ if (hook) {
47
+ // A prototype link rather than a spread, so a context whose
48
+ // diagnostics are methods on a class keeps them.
49
+ const hookCtx = Object.create(ctx, {
50
+ ancestors: { value: [...ancestors], enumerable: true },
51
+ });
52
+ const result = hook(child, page, hookCtx);
53
+ // Returning the node itself is "leave it alone" too — treating it as
54
+ // a replacement would revisit it forever.
55
+ if (result !== undefined && result !== child) {
56
+ const replacement = Array.isArray(result) ? result : [result];
57
+ children.splice(i, 1, ...replacement);
58
+ mutated = true;
59
+ // Revisit this position: the walk descends into the replacement.
60
+ i--;
61
+ continue;
62
+ }
63
+ }
64
+ walk(child);
65
+ }
66
+ ancestors.pop();
67
+ };
68
+ walk(ast);
69
+ return mutated ? ast : undefined;
70
+ }
71
+ //# sourceMappingURL=preprocess.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preprocess.js","sourceRoot":"","sources":["../../src/lib/preprocess.ts"],"names":[],"mappings":"AA6CA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,OAAO,EAA0B,CAAC;AAEzE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,cAAc,CAC7B,GAAS,EACT,IAAoB,EACpB,GAAsB,EACtB,OAAgC;IAEhC,MAAM,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAC;IAChD,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,SAAS;QACpD,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAgB,CAAC,CAAC;QACvD,IAAI,IAAI;YAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO;IAE7B,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,SAAS,GAAW,EAAE,CAAC;IAE7B,MAAM,IAAI,GAAG,CAAC,MAAY,EAAQ,EAAE;QACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC/C,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAClF,IAAI,IAAI,EAAE,CAAC;gBACV,4DAA4D;gBAC5D,iDAAiD;gBACjD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;oBAClC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE;iBACtD,CAA0B,CAAC;gBAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC1C,qEAAqE;gBACrE,0CAA0C;gBAC1C,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;oBAC9C,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBAC9D,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC;oBACtC,OAAO,GAAG,IAAI,CAAC;oBACf,iEAAiE;oBACjE,CAAC,EAAE,CAAC;oBACJ,SAAS;gBACV,CAAC;YACF,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,CAAC;QACb,CAAC;QACD,SAAS,CAAC,GAAG,EAAE,CAAC;IACjB,CAAC,CAAC;IAEF,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AAClC,CAAC"}
@@ -0,0 +1,132 @@
1
+ import Markdoc from '@markdoc/markdoc';
2
+ /**
3
+ * Declarative entity and edge registration — SPEC-144 / WORK-611.
4
+ *
5
+ * A rune says *what it registers* — which named source holds the id, which
6
+ * sources to carry into the data bag, which two hold an edge's endpoints — and
7
+ * one core participant (`createRegistersHooks`) does the registering in the
8
+ * existing Phase 2 / Phase 3 slots. Plugins keep `PluginPipelineHooks` for
9
+ * everything else; this is a generic participant beside them.
10
+ *
11
+ * The vocabulary is closed (ADR-036, SPEC-144 D1): every value is a string, a
12
+ * boolean, or a list or record of those. No expression form, no predicate, no
13
+ * function. A domain that needs more writes a plugin hook — the plan plugin is
14
+ * the standing example (D5).
15
+ *
16
+ * **Where a value comes from** (D3, decided in WORK-611). A source is a bare
17
+ * name, resolved the way the hand-written helpers always did: a `refs` entry —
18
+ * a node carrying `data-name=<source>` inside the rune, read as its text — and
19
+ * otherwise the rune's `data-rune-fields` bag. `createComponentRenderable`
20
+ * rejects a rune whose properties and refs share a name (ADR-008), so the two
21
+ * namespaces are disjoint and a bare name cannot mean two things. A name that
22
+ * resolves to neither is a typo, and `validate` reports it with file and line
23
+ * (`registers-source-unresolved`), the same audit a schema-table source gets.
24
+ */
25
+ /** One data-bag entry: `'role'` carries source `role` as key `role`;
26
+ * `{ name: 'title' }` carries source `title` as key `name`. */
27
+ export type RegistersDataEntry = string | Readonly<Record<string, string>>;
28
+ /** The data bag: an ordered field list, or one source holding a JSON object
29
+ * that *is* the bag. Key order follows the declaration. */
30
+ export type RegistersData = readonly RegistersDataEntry[] | {
31
+ readonly json: string;
32
+ };
33
+ export interface RegistersEntity {
34
+ /** Registry type. Defaults to the rune name. */
35
+ type?: string;
36
+ /** The source holding the entity's id. A rune instance whose id is empty
37
+ * registers nothing and warns. */
38
+ idFrom: string;
39
+ /** `'site'` (default) or `'page'` — see `EntityRegistration.scope`. */
40
+ scope?: 'site' | 'page';
41
+ /** What to carry in the entity's data bag. Nothing is added implicitly. */
42
+ data?: RegistersData;
43
+ /** Alternative names, split from a data-bag key. The name index the
44
+ * participant builds in Phase 3 adds each alias after the ids, and an alias
45
+ * already present keeps its first owner. */
46
+ aliases?: {
47
+ readonly from: string;
48
+ readonly separator?: string;
49
+ };
50
+ }
51
+ export interface RegistersEdge {
52
+ /** Registry type of the edge's own entry. Defaults to the rune name. */
53
+ type?: string;
54
+ /** Source holding the source entity's id (or alias). */
55
+ from: string;
56
+ /** Source holding the target entity's id (or alias). */
57
+ to: string;
58
+ /** The relationship-graph edge kind: a literal, or `{ field }` naming a key
59
+ * of the edge's data bag. An empty field value falls back to the type. */
60
+ kind: string | {
61
+ readonly field: string;
62
+ };
63
+ /** Contribute the reverse edge too: a literal, or `{ field }` naming a data
64
+ * key whose value is `'true'`. Default `false`. */
65
+ bidirectional?: boolean | {
66
+ readonly field: string;
67
+ };
68
+ /** Further sources for the edge entry's data bag. */
69
+ data?: readonly RegistersDataEntry[];
70
+ }
71
+ /** A rune's `registers` block: exactly one of `entity` or `edge`. */
72
+ export interface RegistersDeclaration {
73
+ entity?: RegistersEntity;
74
+ edge?: RegistersEdge;
75
+ }
76
+ /** The name index a declaring plugin's aggregate slot receives in Phase 3. */
77
+ export interface RegistersIndex {
78
+ /** Every declared entity by id and by alias. Ids are set in type
79
+ * declaration order, then registry order, so a later id replaces an earlier
80
+ * one; an alias never replaces anything already present. */
81
+ entityByName: Map<string, import('@refrakt-md/types').EntityRegistration>;
82
+ }
83
+ /** Declarations recorded by `createContentModelSchema`, keyed by schema — the
84
+ * same pattern as `schemaTables`, for the same reason: tooling has only the
85
+ * schema to read from. */
86
+ export declare const schemaRegisters: WeakMap<Markdoc.Schema, RegistersDeclaration>;
87
+ /** The `registers` block a rune declares, if it declares one. */
88
+ export declare function registersFor(schema: unknown): RegistersDeclaration | undefined;
89
+ /**
90
+ * Check a declaration against the closed vocabulary, throwing on the first
91
+ * violation. Runs at schema construction, so a malformed block fails the
92
+ * import that defines it rather than a build that happens to use it.
93
+ */
94
+ export declare function validateRegistersDeclaration(decl: unknown, where?: string): void;
95
+ declare function dataEntries(data: readonly RegistersDataEntry[], where?: string): Array<{
96
+ key: string;
97
+ source: string;
98
+ }>;
99
+ /** Every source a declaration reads from the rune's output, with the role it
100
+ * plays — what the validate-time audit and `inspect` check. */
101
+ export declare function registersSources(decl: RegistersDeclaration): Array<{
102
+ source: string;
103
+ role: string;
104
+ }>;
105
+ type AnyTag = {
106
+ name?: string;
107
+ attributes?: Record<string, unknown>;
108
+ children?: unknown[];
109
+ };
110
+ /** Read one source off a rune's tag: a ref's text, else its field-bag value,
111
+ * else `''`. The D3 rule — see the module comment. */
112
+ export declare function readRegistersSource(tag: AnyTag, source: string): string;
113
+ /**
114
+ * Sources a declaration names that the rune does not provide — WORK-611.
115
+ *
116
+ * The same rule `auditSchemaSources` applies to a schema table: a source
117
+ * resolves if a node in the rune's output carries the name, if the field bag
118
+ * has it, or if it is one of the rune's declared attributes (an optional
119
+ * attribute left unset emits nothing, which is "this input did not exercise
120
+ * it", not a typo). What is left resolves to nothing, ever.
121
+ *
122
+ * `tree` is the rune's `Markdoc.transform` output, before the identity
123
+ * transform consumes the bag.
124
+ */
125
+ export declare function auditRegistersSources(decl: RegistersDeclaration, tree: unknown, declaredAttributes?: readonly string[]): Array<{
126
+ source: string;
127
+ role: string;
128
+ }>;
129
+ /** One line per declaration, for `inspect` and the reference. */
130
+ export declare function describeRegisters(decl: RegistersDeclaration, rune: string): string[];
131
+ export { dataEntries as registersDataEntries };
132
+ //# sourceMappingURL=registers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registers.d.ts","sourceRoot":"","sources":["../../src/lib/registers.ts"],"names":[],"mappings":"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"}