@refrakt-md/types 0.14.3 → 0.15.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/dist/index.d.ts CHANGED
@@ -1,13 +1,13 @@
1
1
  export { Newable, NodeType, } from './interfaces.js';
2
2
  export type { DesignTokens } from './tokens.js';
3
3
  export type { TokenContract, PartialTokenContract, ThemeTokensConfig, ThemeTokensModeOverlay, SentimentTokens, PrimaryScale, SyntaxTokens, DeepPartial, } from './token-contract.js';
4
- export type { RefraktConfig, SiteConfig, SiteThemeConfig, PlanConfig, ThemeManifest, LayoutDefinition, RouteRule, ComponentDefinition, } from './theme.js';
4
+ export type { RefraktConfig, SiteConfig, SiteThemeConfig, PlanConfig, XrefPattern, ThemeManifest, LayoutDefinition, RouteRule, ComponentDefinition, } from './theme.js';
5
5
  export { getThemePackage } from './theme.js';
6
6
  export type { Plugin, PluginRune, PluginAttribute, RuneExtension, PluginThemeConfig, } from './package.js';
7
7
  export type { SerializedTag, RendererNode } from './serialized.js';
8
8
  export type { BaseComponentProps, PageSectionSlots, SplitLayoutProperties, } from './component-props.js';
9
9
  export type { ContentFieldDefinition, SequenceModel, HeadingExtractField, HeadingExtract, KnownSectionDefinition, SectionsModel, DelimitedZone, DelimitedModel, CustomModel, ItemFieldDefinition, ItemModel, AttributeInCondition, AttributeExistsCondition, HasChildCondition, ContentModelCondition, ConditionalContentModel, StructuralContentModel, ContentModel, ResolvedField, ResolvedContent, } from './content-model.js';
10
- export type { TransformedPage, PipelineHeadingInfo, EntityRegistration, EntityRegistry, AggregatedData, PipelineContext, PipelineWarning, PluginPipelineHooks, } from './pipeline.js';
10
+ export type { TransformedPage, PipelineHeadingInfo, EntityRegistration, EntityRegistry, AggregatedData, PipelineContext, PipelineWarning, PluginPipelineHooks, PluginConfigureOptions, PreprocessContext, PreprocessPage, } from './pipeline.js';
11
11
  export type { CliPlugin, CliPluginCommand, McpHandlerContext, JSONSchema7, } from './cli-plugin.js';
12
12
  export type { SecurityPolicy, ResolvedSecurityPolicy } from './security.js';
13
13
  export { resolveSecurityPolicy } from './security.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EACP,QAAQ,GACT,MAAM,iBAAiB,CAAC;AAIzB,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,YAAY,EACV,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EACV,aAAa,EACb,UAAU,EACV,eAAe,EACf,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG7C,YAAY,EACV,MAAM,EACN,UAAU,EACV,eAAe,EACf,aAAa,EACb,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAGtB,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGnE,YAAY,EACX,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,GACrB,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EACX,sBAAsB,EACtB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACtB,aAAa,EACb,aAAa,EACb,cAAc,EACd,WAAW,EACX,mBAAmB,EACnB,SAAS,EACT,oBAAoB,EACpB,wBAAwB,EACxB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,YAAY,EACZ,aAAa,EACb,eAAe,GACf,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EACX,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,mBAAmB,GACnB,MAAM,eAAe,CAAC;AAGvB,YAAY,EACX,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,GACX,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EACP,QAAQ,GACT,MAAM,iBAAiB,CAAC;AAIzB,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,YAAY,EACV,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EACV,aAAa,EACb,UAAU,EACV,eAAe,EACf,UAAU,EACV,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG7C,YAAY,EACV,MAAM,EACN,UAAU,EACV,eAAe,EACf,aAAa,EACb,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAGtB,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGnE,YAAY,EACX,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,GACrB,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EACX,sBAAsB,EACtB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACtB,aAAa,EACb,aAAa,EACb,cAAc,EACd,WAAW,EACX,mBAAmB,EACnB,SAAS,EACT,oBAAoB,EACpB,wBAAwB,EACxB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,YAAY,EACZ,aAAa,EACb,eAAe,GACf,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EACX,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,GACd,MAAM,eAAe,CAAC;AAGvB,YAAY,EACX,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,GACX,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiCA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAmE7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkCA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAsE7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC"}
package/dist/package.d.ts CHANGED
@@ -70,5 +70,12 @@ export interface Plugin {
70
70
  /** Build-time cross-page pipeline hooks.
71
71
  * Optional — plugins that don't need cross-page awareness omit this entirely. */
72
72
  pipeline?: import('./pipeline.js').PluginPipelineHooks;
73
+ /** File-root namespaces this plugin contributes, keyed by namespace.
74
+ * Values are paths relative to the plugin package's own directory.
75
+ * Once registered, references like `{% partial file="<ns>:foo.md" /%}`
76
+ * (and `{% snippet path="<ns>:bar.svelte" /%}` once SPEC-062's v2
77
+ * lands) resolve from the named root. See SPEC-063 for the full
78
+ * authoring + resolution model. */
79
+ fileRoots?: Record<string, string>;
73
80
  }
74
81
  //# sourceMappingURL=package.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../src/package.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,kEAAkE;AAClE,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,yCAAyC;AACzC,MAAM,WAAW,UAAU;IAC1B,qFAAqF;IACrF,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACzC,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;iEAC6D;IAC7D,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,iDAAiD;AACjD,MAAM,WAAW,aAAa;IAC7B,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CACzC;AAED,kDAAkD;AAClD,MAAM,WAAW,iBAAiB;IACjC,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAChD,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/C,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACtD;AAED;;;oBAGoB;AACpB,MAAM,WAAW,MAAM;IACtB,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAClC,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACxC,kEAAkE;IAClE,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B;yFACqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC;sFACkF;IAClF,QAAQ,CAAC,EAAE,OAAO,eAAe,EAAE,mBAAmB,CAAC;CACvD"}
1
+ {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../src/package.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,kEAAkE;AAClE,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,yCAAyC;AACzC,MAAM,WAAW,UAAU;IAC1B,qFAAqF;IACrF,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACzC,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;iEAC6D;IAC7D,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,iDAAiD;AACjD,MAAM,WAAW,aAAa;IAC7B,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CACzC;AAED,kDAAkD;AAClD,MAAM,WAAW,iBAAiB;IACjC,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAChD,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/C,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACtD;AAED;;;oBAGoB;AACpB,MAAM,WAAW,MAAM;IACtB,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAClC,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACxC,kEAAkE;IAClE,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B;yFACqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC;sFACkF;IAClF,QAAQ,CAAC,EAAE,OAAO,eAAe,EAAE,mBAAmB,CAAC;IACvD;;;;;wCAKoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC"}
@@ -28,27 +28,68 @@ export interface TransformedPage {
28
28
  }
29
29
  /**
30
30
  * A named entity registered during Phase 2 (Register).
31
- * The id field must be unique within its type.
31
+ * Identity within the registry is `(type, id)` for site-scoped entries
32
+ * (the default and back-compatible shape), or `(type, sourceUrl, id)` for
33
+ * page-scoped entries (where two pages may legitimately reuse the same id).
32
34
  */
33
35
  export interface EntityRegistration {
34
36
  /** Entity category (e.g. 'page', 'heading', 'character', 'term') */
35
37
  type: string;
36
- /** Unique identifier within this type (e.g. '/docs/guide/' or '/docs/guide/#intro') */
38
+ /** Identifier. Unique within its type when `scope` is `'site'` (the default);
39
+ * unique within `(type, sourceUrl)` when `scope` is `'page'`. */
37
40
  id: string;
38
- /** URL of the page this entity was registered from */
39
- sourceUrl: string;
41
+ /** Registration scope. `'site'` (default) means the entity is globally
42
+ * addressable across the build — two registrations with the same
43
+ * `(type, id)` collide and the last one wins. `'page'` means the entity
44
+ * is local to the page it was registered from (its {@link sourceUrl}):
45
+ * the registry namespaces the entry by URL internally so two pages can
46
+ * legitimately register the same `(type, id)` without collision. Page-
47
+ * scoped entries are still discoverable via {@link EntityRegistry.getAll}
48
+ * and {@link EntityRegistry.getByUrl}; {@link EntityRegistry.getById}
49
+ * needs the calling page's URL to match them, falling back to a site-
50
+ * scoped match if no page-scoped one exists. */
51
+ scope?: 'page' | 'site';
52
+ /** URL of the page this entity was registered from, when one exists.
53
+ * May be `undefined` when the entity isn't reachable via a local page URL
54
+ * (e.g. SPEC-064 plan content registered from `plan.dir` outside any
55
+ * site's content tree). The xref resolver treats undefined / empty as
56
+ * "no usable URL" and falls through to {@link XrefPattern} resolution.
57
+ * Empty strings passed at registration are normalized to `undefined`.
58
+ * Required in practice for `scope: 'page'` — page-scoped entries
59
+ * without a URL fall back to site-scoped keying (with a likely
60
+ * collision warning from the registry implementation). */
61
+ sourceUrl?: string;
62
+ /** Project-root-relative path to the source `.md` file backing this entity.
63
+ * Populated by plugins that can extract content from disk (e.g. the plan
64
+ * plugin's unconditional-scan path). Consumed by content-embedding runes
65
+ * like {% expand %} (SPEC-066) that need to read and slice the source
66
+ * file at build time. Optional — entities registered from in-memory
67
+ * sources or pages without a stable file path may omit it. */
68
+ sourceFile?: string;
69
+ /** Function returning the entity's top-level AST node from a freshly-
70
+ * parsed source file, or `null` if the file's structure has been edited
71
+ * away from the expected shape. Consumed by {% expand %} (SPEC-066) to
72
+ * extract the entity's subtree for inline substitution. Optional and
73
+ * paired with `sourceFile` — entities without a backing file omit both. */
74
+ extract?: (parsedSource: import('@markdoc/markdoc').Node) => import('@markdoc/markdoc').Node | null;
40
75
  /** Entity-specific payload */
41
76
  data: Record<string, unknown>;
42
77
  }
43
78
  /** The site-wide entity registry built during Phase 2 (Register) */
44
79
  export interface EntityRegistry {
45
80
  register(entry: EntityRegistration): void;
46
- /** All entities of a given type, in registration order */
81
+ /** All entities of a given type, in registration order. Mixed scopes —
82
+ * page-scoped and site-scoped entries appear together. */
47
83
  getAll(type: string): EntityRegistration[];
48
- /** All entities of a given type registered from a specific page URL */
84
+ /** All entities of a given type registered from a specific page URL.
85
+ * Includes both page-scoped and site-scoped entries from that page. */
49
86
  getByUrl(type: string, url: string): EntityRegistration[];
50
- /** Find a specific entity by type and id */
51
- getById(type: string, id: string): EntityRegistration | undefined;
87
+ /** Find a specific entity by type and id. When `pageUrl` is provided,
88
+ * page-scoped entries from that page take precedence over site-scoped
89
+ * matches of the same id; if no page-scoped match exists the search
90
+ * falls back to a site-scoped match. Without `pageUrl` only site-scoped
91
+ * entries are returned. */
92
+ getById(type: string, id: string, pageUrl?: string): EntityRegistration | undefined;
52
93
  /** All registered entity type names */
53
94
  getTypes(): string[];
54
95
  }
@@ -72,12 +113,86 @@ export interface PipelineWarning {
72
113
  url?: string;
73
114
  message: string;
74
115
  }
116
+ /** Per-build configuration handed to {@link PluginPipelineHooks.configure}.
117
+ * Plugins that need access to the full `refrakt.config.json` (e.g. the plan
118
+ * plugin needs `plan.dir` for its unconditional-scan path) read it here. */
119
+ export interface PluginConfigureOptions {
120
+ /** The full, normalized refrakt config. Typed as `unknown` here to avoid
121
+ * a circular import between pipeline.ts and theme.ts; plugins cast to
122
+ * `RefraktConfig` from `@refrakt-md/types`. */
123
+ config: unknown;
124
+ /** Absolute path to the directory containing `refrakt.config.json`.
125
+ * Useful for resolving config-relative paths (`plan.dir`, etc.). */
126
+ configDir: string;
127
+ /** Dynamically register a file-root namespace. Use this when the plugin's
128
+ * contribution depends on user config (e.g., the plan plugin registers
129
+ * `plan:` pointing at the user's `plan.dir`, which isn't knowable
130
+ * statically from the plugin's package directory). Roots registered
131
+ * here merge with `Plugin.fileRoots` and user-config `fileRoots`; user
132
+ * config still wins any namespace collision. */
133
+ registerFileRoot?: (namespace: string, absolutePath: string) => void;
134
+ }
135
+ /** Per-page context handed to {@link PluginPipelineHooks.preprocess}.
136
+ * Extends {@link PipelineContext} with the file-system + project-root
137
+ * information preprocess hooks need to do sandboxed file reads. Variables
138
+ * from the transform `config.variables` aren't available yet (the
139
+ * transform hasn't run), so file-reading preprocessors that need disk
140
+ * access read here. */
141
+ export interface PreprocessContext extends PipelineContext {
142
+ /** Absolute path to the project root (the directory containing
143
+ * `refrakt.config.json`). The snippet rune uses this as its sandbox
144
+ * anchor; any preprocessor that resolves files relative to the project
145
+ * root reads it here. */
146
+ projectRoot?: string;
147
+ /** Sandbox file-reading helpers — same shape as the transform-time
148
+ * `__sandboxReadFile` family. Preprocess runs before the transform
149
+ * config exists, so the helpers are exposed here instead. */
150
+ sandbox?: {
151
+ read: (path: string) => string | null;
152
+ list: (path: string) => string[];
153
+ exists: (path: string) => boolean;
154
+ };
155
+ /** Markdoc variables that would otherwise be available to transforms
156
+ * via `config.variables`. Snippet's preprocess uses these to resolve
157
+ * attribute values that come in as Markdoc `Variable` nodes (e.g.
158
+ * `path=$file.path` parses as a variable reference, not a string).
159
+ * Variable nodes that aren't resolvable here render as empty strings,
160
+ * matching transform-time behaviour. */
161
+ variables?: Record<string, unknown>;
162
+ }
163
+ /** Per-page metadata handed to {@link PluginPipelineHooks.preprocess}. */
164
+ export interface PreprocessPage {
165
+ /** Resolved URL for this page. */
166
+ url: string;
167
+ /** Path relative to the content root. */
168
+ relativePath: string;
169
+ /** Absolute filesystem path to the source `.md` file. */
170
+ filePath: string;
171
+ }
75
172
  /**
76
173
  * Build-time cross-page pipeline hooks a Plugin can provide.
77
- * All three hooks are optional — plugins that don't need cross-page
78
- * awareness omit this field entirely.
174
+ * All hooks are optional — plugins that don't need cross-page awareness
175
+ * omit this field entirely.
79
176
  */
80
177
  export interface PluginPipelineHooks {
178
+ /** Phase −1 — Configure.
179
+ * Runs once per build before any other hook, receiving the user's
180
+ * `refrakt.config.json` and the config-file directory. Plugins that need
181
+ * build-time configuration (e.g. plan reading `plan.dir`) wire it up
182
+ * here. Sync or async; the loader awaits the promise. */
183
+ configure?: (opts: PluginConfigureOptions) => void | Promise<void>;
184
+ /** Phase 0 — Preprocess.
185
+ * Runs per page on the parsed Markdoc AST before the schema-driven
186
+ * transform. Hooks may rewrite the AST (replace tags with other node
187
+ * types, inject nodes, resolve include-style references). The returned
188
+ * AST is the one passed to the transform. Return `undefined` (or `void`)
189
+ * to leave the AST unchanged.
190
+ *
191
+ * Use sparingly — most concerns belong in transforms or postProcess
192
+ * hooks. Preprocess is for cases where the rune needs to be invisible
193
+ * to downstream transforms (e.g., snippet → fence so container runes
194
+ * don't need per-rune awareness). */
195
+ preprocess?: (ast: import('@markdoc/markdoc').Node, page: PreprocessPage, ctx: PreprocessContext) => import('@markdoc/markdoc').Node | void | Promise<import('@markdoc/markdoc').Node | void>;
81
196
  /**
82
197
  * Phase 2 — Register.
83
198
  * Scan all transformed pages and register named entities in the site-wide registry.
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,wDAAwD;AACxD,MAAM,WAAW,mBAAmB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACX;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC/B,iEAAiE;IACjE,GAAG,EAAE,MAAM,CAAC;IACZ,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC;;;;;OAKG;IACH,UAAU,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAClC,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,uFAAuF;IACvF,EAAE,EAAE,MAAM,CAAC;IACX,sDAAsD;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9B;AAED,oEAAoE;AACpE,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC1C,0DAA0D;IAC1D,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAAC;IAC3C,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAAC;IAC1D,4CAA4C;IAC5C,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAAC;IAClE,uCAAuC;IACvC,QAAQ,IAAI,MAAM,EAAE,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAErD,mFAAmF;AACnF,MAAM,WAAW,eAAe;IAC/B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3C;AAED,8CAA8C;AAC9C,MAAM,WAAW,eAAe;IAC/B,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IACvC,KAAK,EAAE,UAAU,GAAG,WAAW,GAAG,aAAa,CAAC;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IACnC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CACV,KAAK,EAAE,SAAS,eAAe,EAAE,EACjC,QAAQ,EAAE,cAAc,EACxB,GAAG,EAAE,eAAe,KAChB,IAAI,CAAC;IAEV;;;;;OAKG;IACH,SAAS,CAAC,EAAE,CACX,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,EAClC,GAAG,EAAE,eAAe,KAChB,OAAO,CAAC;IAEb;;;;;OAKG;IACH,WAAW,CAAC,EAAE,CACb,IAAI,EAAE,eAAe,EACrB,UAAU,EAAE,cAAc,EAC1B,GAAG,EAAE,eAAe,KAChB,eAAe,CAAC;CACrB"}
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"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"}
package/dist/theme.d.ts CHANGED
@@ -120,6 +120,20 @@ export interface RefraktConfig {
120
120
  plugins?: string[];
121
121
  /** Plan-management configuration. */
122
122
  plan?: PlanConfig;
123
+ /** Cross-reference URL templates. Patterns are tried in array order when an
124
+ * xref's ID isn't found in the registry (or when the registry-found entity
125
+ * has no usable `sourceUrl`). First match wins. See {@link XrefPattern}. */
126
+ xrefs?: XrefPattern[];
127
+ /** Named file roots — directories that file-reading runes can reach via
128
+ * a `namespace:filename` syntax. Markdoc partials extend `{% partial %}`
129
+ * to honor namespaced refs (`shared:footer.md`); the snippet rune
130
+ * ({% ref "SPEC-062" /%}) consumes the same resolver when its v2 lands.
131
+ *
132
+ * Keys are namespace names; values are paths relative to the config
133
+ * file's directory (i.e. the project root). Paths must point to existing
134
+ * directories. The namespace `site` is reserved for future site-level
135
+ * resolution. See SPEC-063 for the full resolution model. */
136
+ fileRoots?: Record<string, string>;
123
137
  /** Singular-site declaration. Mutually exclusive with `sites`. */
124
138
  site?: SiteConfig;
125
139
  /** Multi-site declaration keyed by site name. Mutually exclusive with `site`. */
@@ -164,6 +178,39 @@ export interface RefraktConfig {
164
178
  local?: Record<string, string>;
165
179
  };
166
180
  }
181
+ /** A single cross-reference resolution pattern. Configures how unresolved xref
182
+ * IDs (those without a matching registry entity) are turned into URLs.
183
+ *
184
+ * Example: route GitHub-style refs to issue pages.
185
+ * ```jsonc
186
+ * {
187
+ * "match": "^GH-(?<num>\\d+)$",
188
+ * "template": "https://github.com/myuser/myrepo/issues/{num}",
189
+ * "type": "github-issue",
190
+ * "label": "GitHub #{num}"
191
+ * }
192
+ * ```
193
+ *
194
+ * See SPEC-065 for the full resolution model. */
195
+ export interface XrefPattern {
196
+ /** Regex pattern matched against the ID. Anchored to whole-string match by
197
+ * default — `^` and `$` are auto-applied unless explicit anchors are
198
+ * present at the start/end. Named groups (`(?<name>...)`) are extractable
199
+ * in `template` and `label` as `{name}`. */
200
+ match: string;
201
+ /** URL template. Supports `{id}` (the full matched ID) and `{name}` for
202
+ * named groups. Each substituted value is encoded per URL segment (split
203
+ * on `/`, encode each segment, rejoin) so path-shaped captures preserve
204
+ * slashes. */
205
+ template: string;
206
+ /** CSS modifier class — applied as `rf-xref--{type}`. Default: `"external"`.
207
+ * The value `"unresolved"` is reserved and rejected at config load. */
208
+ type?: string;
209
+ /** Template for the rendered link text. Same placeholder syntax as
210
+ * `template`. Default: `"{id}"`. The rune's `label=` attribute (if set)
211
+ * still overrides this. */
212
+ label?: string;
213
+ }
167
214
  /** Theme manifest — the universal contract between content and rendering */
168
215
  export interface ThemeManifest {
169
216
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@refrakt-md/types",
3
3
  "description": "Shared type definitions for refrakt.md",
4
- "version": "0.14.3",
4
+ "version": "0.15.0",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "repository": {