@refrakt-md/types 0.26.0 → 0.29.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.
@@ -82,6 +82,17 @@ export interface KnownSectionDefinition {
82
82
  alias?: string[];
83
83
  /** Content model for this section's body. If omitted, uses the parent sectionModel. */
84
84
  model?: StructuralContentModel;
85
+ /** SPEC-035 Zone 7 — canonical slug for the section wrapper's `data-name`,
86
+ * independent of the source language. When a heading matches this known
87
+ * section, the `<section data-name>` is derived from this slug instead of
88
+ * the (possibly translated) heading text, so CSS selectors and cross-locale
89
+ * anchors stay stable. Falls back to `slugify(canonicalName)` if omitted. */
90
+ canonicalSlug?: string;
91
+ /** SPEC-035 Zone 7 — per-locale heading aliases, keyed by BCP 47 locale.
92
+ * When `config.locale` is set, the locale's aliases are matched in addition
93
+ * to the base `alias` list, so an author writing headings in the site locale
94
+ * (`## Akzeptanzkriterien`) still hits the canonical section. */
95
+ i18nAliases?: Record<string, string[]>;
85
96
  }
86
97
  /** Pattern 2 — children split into sections by heading elements. */
87
98
  export interface SectionsModel {
@@ -1 +1 @@
1
- {"version":3,"file":"content-model.d.ts","sourceRoot":"","sources":["../src/content-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content-model.d.ts","sourceRoot":"","sources":["../src/content-model.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,7 +3,7 @@ export type { DesignTokens } from './tokens.js';
3
3
  export type { TokenContract, PartialTokenContract, ThemeTokensConfig, ThemeTokensModeOverlay, SentimentTokens, SyntaxTokens, DeepPartial, } from './token-contract.js';
4
4
  export type { RefraktConfig, SiteConfig, SiteThemeConfig, PlanConfig, XrefPattern, ThemeManifest, LayoutDefinition, RouteRule, EntityRoute, ComponentDefinition, } from './theme.js';
5
5
  export { getThemePackage } from './theme.js';
6
- export type { Plugin, PluginRune, PluginAttribute, RuneExtension, PluginThemeConfig, } from './package.js';
6
+ export type { Plugin, PluginRune, PluginAttribute, RuneExtension, PluginThemeConfig, PluginLocalizedValue, } 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';
@@ -14,4 +14,5 @@ export { resolveSecurityPolicy } from './security.js';
14
14
  export type { TemplateManifest, TemplateSiteConfig, PresetScope, PresetEntry, PresetPackManifest, } from './distribution.js';
15
15
  export type { SemverParts, CompatResult } from './compat.js';
16
16
  export { parseVersion, satisfiesRange, checkRefraktCompat } from './compat.js';
17
+ export type { ProjectFiles, ProjectFilesAccess } from './project-files.js';
17
18
  //# sourceMappingURL=index.d.ts.map
@@ -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,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EACV,aAAa,EACb,UAAU,EACV,eAAe,EACf,UAAU,EACV,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,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,UAAU,EACV,YAAY,EACZ,cAAc,EACd,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,eAAe,GACf,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;AAGtD,YAAY,EACX,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,kBAAkB,GAClB,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,aAAa,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,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EACV,aAAa,EACb,UAAU,EACV,eAAe,EACf,UAAU,EACV,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,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,EACjB,oBAAoB,GACrB,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,UAAU,EACV,YAAY,EACZ,cAAc,EACd,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,eAAe,GACf,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;AAGtD,YAAY,EACX,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,kBAAkB,GAClB,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAK/E,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkCA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA0E7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAatD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkCA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA2E7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAatD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC"}
package/dist/package.d.ts CHANGED
@@ -56,6 +56,10 @@ export interface PluginThemeConfig {
56
56
  * A plugin is an npm package that may contribute runes, layouts, theme config,
57
57
  * pipeline hooks, behaviors, and/or CLI commands (via a separate `cli-plugin`
58
58
  * entry point). */
59
+ /** SPEC-035 — a translation dictionary value: a literal string, or a CLDR
60
+ * plural-category map (`{ one, other, … }`). Kept structurally compatible with
61
+ * `LocalizedValue` in @refrakt-md/transform without a package dependency. */
62
+ export type PluginLocalizedValue = string | Partial<Record<string, string>>;
59
63
  export interface Plugin {
60
64
  /** Short identifier used for namespacing (e.g., 'dnd-5e') */
61
65
  name: string;
@@ -82,5 +86,12 @@ export interface Plugin {
82
86
  * lands) resolve from the named root. See SPEC-063 for the full
83
87
  * authoring + resolution model. */
84
88
  fileRoots?: Record<string, string>;
89
+ /** SPEC-035 — per-locale translation bundles for this plugin's runes, keyed
90
+ * by BCP 47 locale (`{ de: {...}, fr: {...} }`). Authored as per-locale JSON
91
+ * imported here (Decision D3/D8). Keys are the plugin-scoped i18n keys
92
+ * (`{plugin}.{block}.{ref}`). `mergePlugins()` selects the active locale's
93
+ * bundle (with `de-AT`→`de` fallback) and merges it under the site's
94
+ * `ThemeConfig.strings`, which always wins (Decision D5). */
95
+ translations?: Record<string, Record<string, PluginLocalizedValue>>;
85
96
  }
86
97
  //# 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;IACtD;;;kEAG8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;CACrD;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"}
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;IACtD;;;kEAG8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;CACrD;AAED;;;oBAGoB;AACpB;;8EAE8E;AAC9E,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAE5E,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;IACnC;;;;;kEAK8D;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC;CACpE"}
@@ -1,4 +1,5 @@
1
1
  /** Cross-page pipeline types */
2
+ import type { ProjectFiles } from './project-files.js';
2
3
  /** A page heading (level, text, generated anchor id) */
3
4
  export interface PipelineHeadingInfo {
4
5
  level: number;
@@ -164,6 +165,11 @@ export interface PluginConfigureOptions {
164
165
  /** Absolute path to the directory containing `refrakt.config.json`.
165
166
  * Useful for resolving config-relative paths (`plan.dir`, etc.). */
166
167
  configDir: string;
168
+ /** The project's files (SPEC-113). A plugin that scans the project at
169
+ * configure time (e.g. the plan plugin reading `plan.dir`) reads through
170
+ * this provider so a hosted in-memory build stays fs-free. Undefined when
171
+ * no provider is wired — the plugin falls back to direct `fs`. */
172
+ projectFiles?: ProjectFiles;
167
173
  /** Dynamically register a file-root namespace. Use this when the plugin's
168
174
  * contribution depends on user config (e.g., the plan plugin registers
169
175
  * `plan:` pointing at the user's `plan.dir`, which isn't knowable
@@ -184,14 +190,12 @@ export interface PreprocessContext extends PipelineContext {
184
190
  * anchor; any preprocessor that resolves files relative to the project
185
191
  * root reads it here. */
186
192
  projectRoot?: string;
187
- /** Sandbox file-reading helpers — same shape as the transform-time
188
- * `__sandboxReadFile` family. Preprocess runs before the transform
189
- * config exists, so the helpers are exposed here instead. */
190
- sandbox?: {
191
- read: (path: string) => string | null;
192
- list: (path: string) => string[];
193
- exists: (path: string) => boolean;
194
- };
193
+ /** The project's files, as a {@link ProjectFiles} provider (SPEC-113).
194
+ * Preprocess runs before the transform config exists, so the same provider
195
+ * the transform-time sandbox reads through is exposed here for any
196
+ * file-reading preprocessor. Keys are normalized POSIX project-root-relative
197
+ * paths; containment is the provider's contract. */
198
+ sandbox?: ProjectFiles;
195
199
  /** Markdoc variables that would otherwise be available to transforms
196
200
  * via `config.variables`. Snippet's preprocess uses these to resolve
197
201
  * attribute values that come in as Markdoc `Variable` nodes (e.g.
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * The `ProjectFiles` seam (SPEC-113).
3
+ *
4
+ * One synchronous interface for reading a project's files, rooted at the
5
+ * project root, replacing the handful of ad-hoc `node:fs` seams at the
6
+ * pipeline edges (sandbox example reads, snippet/expand/file-ref readers,
7
+ * `fileRoots` scanning, the plan plugin's scan). Containment is part of the
8
+ * interface contract — implementations reject absolute paths and any path
9
+ * that escapes the root after normalization, so no consumer re-implements
10
+ * path-safety.
11
+ *
12
+ * The interface type ({@link ProjectFiles}, {@link ProjectFilesAccess}) is
13
+ * re-exported from the package root (`@refrakt-md/types`) as a type-only
14
+ * export, keeping the main entry point free of `node:fs`. The providers in
15
+ * this module — one of which ({@link fsProjectFiles}) wraps `node:fs` — are
16
+ * reached via the `@refrakt-md/types/project-files` subpath so a browser
17
+ * bundle that only imports the root never pulls in Node builtins.
18
+ *
19
+ * See ADR-025 for why {@link recordingProjectFiles} exists: centralizing I/O
20
+ * through this one choke point is what makes per-page reads recordable, the
21
+ * load-bearing prerequisite for future incremental rebuild.
22
+ */
23
+ /**
24
+ * Synchronous read access to the project's files, rooted at the project
25
+ * root. Paths are normalized POSIX, project-root-relative keys — never
26
+ * absolute, never containing `..` after normalization. Implementations treat
27
+ * a containment violation (absolute path, traversal escape, symlink escape)
28
+ * the same as an absent file: `read` returns `null`, `list` returns `[]`,
29
+ * `exists` returns `false`.
30
+ */
31
+ export interface ProjectFiles {
32
+ /** File contents as UTF-8 text, or `null` if absent / not a file /
33
+ * contained out. */
34
+ read(path: string): string | null;
35
+ /** Immediate child entry names (basenames, like `readdir`) directly under
36
+ * the given directory key, or `[]` if absent / contained out. The empty
37
+ * string lists the project root. */
38
+ list(path: string): string[];
39
+ /** Whether a file or directory exists at the key (and is contained). */
40
+ exists(path: string): boolean;
41
+ }
42
+ /** A single access reported by {@link recordingProjectFiles}. The `key` is the
43
+ * caller-supplied path, verbatim — the recorder is a pure pass-through and
44
+ * does not normalize. */
45
+ export interface ProjectFilesAccess {
46
+ op: 'read' | 'list' | 'exists';
47
+ key: string;
48
+ }
49
+ /**
50
+ * Normalize a caller-supplied path into a POSIX project-root-relative key, or
51
+ * `null` if it is absolute or escapes the root after normalization.
52
+ *
53
+ * The shared containment primitive: both providers funnel every path through
54
+ * this so the rules — absolute reject, `..`-escape reject — live in exactly
55
+ * one place. Accepts either separator; emits forward slashes. The empty
56
+ * string (and `.`) normalize to `''`, the project root.
57
+ */
58
+ export declare function normalizeProjectKey(input: string): string | null;
59
+ /**
60
+ * The OSS/CLI default provider: reads through `node:fs`, anchored at
61
+ * `rootDir`. Promotes the containment rules `read-file.ts` already implements
62
+ * for snippets — absolute reject, traversal reject, and symlink-escape reject
63
+ * via `realpath` — up to the provider, so every consumer inherits them.
64
+ */
65
+ export declare function fsProjectFiles(rootDir: string): ProjectFiles;
66
+ /**
67
+ * The hosted/editor provider: backed by a plain `Map` of normalized POSIX
68
+ * keys to file contents. Traversal is structurally impossible — lookups are
69
+ * dictionary keys, and the dictionary holds exactly one project — so the only
70
+ * containment work is normalizing the *query* path (the map's own keys are
71
+ * assumed already normalized, per the contract).
72
+ *
73
+ * Reads through to the live `files` map on every call, so a host may keep the
74
+ * map resident and patch a single key between builds (warm instances —
75
+ * SPEC-113 §4) without reconstructing the provider.
76
+ */
77
+ export declare function memoryProjectFiles(files: Map<string, string>): ProjectFiles;
78
+ /**
79
+ * A thin wrapper that forwards every call to `inner` unchanged and reports
80
+ * each access to `onRead`. Pure instrumentation — no behaviour change. This
81
+ * is the per-page read-set capture point ADR-025 requires: with all I/O
82
+ * funneled through `ProjectFiles`, wrapping it makes a page's dependency set
83
+ * recordable for free.
84
+ */
85
+ export declare function recordingProjectFiles(inner: ProjectFiles, onRead: (access: ProjectFilesAccess) => void): ProjectFiles;
86
+ //# sourceMappingURL=project-files.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-files.d.ts","sourceRoot":"","sources":["../src/project-files.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAKH;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC5B;yBACqB;IACrB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAClC;;yCAEqC;IACrC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,wEAAwE;IACxE,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CAC9B;AAED;;0BAE0B;AAC1B,MAAM,WAAW,kBAAkB;IAClC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC/B,GAAG,EAAE,MAAM,CAAC;CACZ;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAmBhE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAoD5D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,YAAY,CAkC3E;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACpC,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,GAC1C,YAAY,CAed"}
@@ -0,0 +1,202 @@
1
+ /**
2
+ * The `ProjectFiles` seam (SPEC-113).
3
+ *
4
+ * One synchronous interface for reading a project's files, rooted at the
5
+ * project root, replacing the handful of ad-hoc `node:fs` seams at the
6
+ * pipeline edges (sandbox example reads, snippet/expand/file-ref readers,
7
+ * `fileRoots` scanning, the plan plugin's scan). Containment is part of the
8
+ * interface contract — implementations reject absolute paths and any path
9
+ * that escapes the root after normalization, so no consumer re-implements
10
+ * path-safety.
11
+ *
12
+ * The interface type ({@link ProjectFiles}, {@link ProjectFilesAccess}) is
13
+ * re-exported from the package root (`@refrakt-md/types`) as a type-only
14
+ * export, keeping the main entry point free of `node:fs`. The providers in
15
+ * this module — one of which ({@link fsProjectFiles}) wraps `node:fs` — are
16
+ * reached via the `@refrakt-md/types/project-files` subpath so a browser
17
+ * bundle that only imports the root never pulls in Node builtins.
18
+ *
19
+ * See ADR-025 for why {@link recordingProjectFiles} exists: centralizing I/O
20
+ * through this one choke point is what makes per-page reads recordable, the
21
+ * load-bearing prerequisite for future incremental rebuild.
22
+ */
23
+ import * as fs from 'node:fs';
24
+ import * as path from 'node:path';
25
+ /**
26
+ * Normalize a caller-supplied path into a POSIX project-root-relative key, or
27
+ * `null` if it is absolute or escapes the root after normalization.
28
+ *
29
+ * The shared containment primitive: both providers funnel every path through
30
+ * this so the rules — absolute reject, `..`-escape reject — live in exactly
31
+ * one place. Accepts either separator; emits forward slashes. The empty
32
+ * string (and `.`) normalize to `''`, the project root.
33
+ */
34
+ export function normalizeProjectKey(input) {
35
+ if (typeof input !== 'string')
36
+ return null;
37
+ // Absolute paths are never project-relative keys: POSIX root, Windows UNC
38
+ // / backslash root, and drive-letter prefixes are all rejected.
39
+ if (input.startsWith('/') || input.startsWith('\\'))
40
+ return null;
41
+ if (/^[A-Za-z]:/.test(input))
42
+ return null;
43
+ const out = [];
44
+ for (const segment of input.split(/[/\\]+/)) {
45
+ if (segment === '' || segment === '.')
46
+ continue;
47
+ if (segment === '..') {
48
+ // `..` at the root would escape — reject the whole key.
49
+ if (out.length === 0)
50
+ return null;
51
+ out.pop();
52
+ continue;
53
+ }
54
+ out.push(segment);
55
+ }
56
+ return out.join('/');
57
+ }
58
+ /**
59
+ * The OSS/CLI default provider: reads through `node:fs`, anchored at
60
+ * `rootDir`. Promotes the containment rules `read-file.ts` already implements
61
+ * for snippets — absolute reject, traversal reject, and symlink-escape reject
62
+ * via `realpath` — up to the provider, so every consumer inherits them.
63
+ */
64
+ export function fsProjectFiles(rootDir) {
65
+ const root = path.resolve(rootDir);
66
+ const rootWithSep = root.endsWith(path.sep) ? root : root + path.sep;
67
+ /** Resolve a key to a contained absolute path, or `null` on any
68
+ * containment violation (absolute, traversal, or symlink escape). */
69
+ function resolve(input) {
70
+ const key = normalizeProjectKey(input);
71
+ if (key === null)
72
+ return null;
73
+ const abs = key === '' ? root : path.resolve(root, key);
74
+ // Defense in depth: the normalized key can't escape, but re-check the
75
+ // resolved absolute path against the root anyway.
76
+ if (abs !== root && !abs.startsWith(rootWithSep))
77
+ return null;
78
+ // Symlink-escape check via realpath. Fail-open on ENOENT (the file
79
+ // simply doesn't exist yet — read/exists below report that); fail-closed
80
+ // on any other error.
81
+ try {
82
+ const real = fs.realpathSync(abs);
83
+ if (real !== root && !real.startsWith(rootWithSep))
84
+ return null;
85
+ }
86
+ catch (err) {
87
+ if (err.code !== 'ENOENT')
88
+ return null;
89
+ }
90
+ return abs;
91
+ }
92
+ return {
93
+ read(input) {
94
+ const abs = resolve(input);
95
+ if (abs === null)
96
+ return null;
97
+ try {
98
+ const stat = fs.statSync(abs);
99
+ if (!stat.isFile())
100
+ return null;
101
+ return fs.readFileSync(abs, 'utf-8');
102
+ }
103
+ catch {
104
+ return null;
105
+ }
106
+ },
107
+ list(input) {
108
+ const abs = resolve(input);
109
+ if (abs === null)
110
+ return [];
111
+ try {
112
+ return fs.readdirSync(abs);
113
+ }
114
+ catch {
115
+ return [];
116
+ }
117
+ },
118
+ exists(input) {
119
+ const abs = resolve(input);
120
+ if (abs === null)
121
+ return false;
122
+ return fs.existsSync(abs);
123
+ },
124
+ };
125
+ }
126
+ /**
127
+ * The hosted/editor provider: backed by a plain `Map` of normalized POSIX
128
+ * keys to file contents. Traversal is structurally impossible — lookups are
129
+ * dictionary keys, and the dictionary holds exactly one project — so the only
130
+ * containment work is normalizing the *query* path (the map's own keys are
131
+ * assumed already normalized, per the contract).
132
+ *
133
+ * Reads through to the live `files` map on every call, so a host may keep the
134
+ * map resident and patch a single key between builds (warm instances —
135
+ * SPEC-113 §4) without reconstructing the provider.
136
+ */
137
+ export function memoryProjectFiles(files) {
138
+ return {
139
+ read(input) {
140
+ const key = normalizeProjectKey(input);
141
+ if (key === null || key === '')
142
+ return null;
143
+ const value = files.get(key);
144
+ return value === undefined ? null : value;
145
+ },
146
+ list(input) {
147
+ const key = normalizeProjectKey(input);
148
+ if (key === null)
149
+ return [];
150
+ const prefix = key === '' ? '' : key + '/';
151
+ const names = new Set();
152
+ for (const mapKey of files.keys()) {
153
+ if (prefix !== '' && !mapKey.startsWith(prefix))
154
+ continue;
155
+ const rest = mapKey.slice(prefix.length);
156
+ if (rest === '')
157
+ continue;
158
+ const slash = rest.indexOf('/');
159
+ names.add(slash === -1 ? rest : rest.slice(0, slash));
160
+ }
161
+ return [...names];
162
+ },
163
+ exists(input) {
164
+ const key = normalizeProjectKey(input);
165
+ if (key === null)
166
+ return false;
167
+ if (key !== '' && files.has(key))
168
+ return true;
169
+ // A directory key "exists" when any file sits under it.
170
+ const prefix = key === '' ? '' : key + '/';
171
+ for (const mapKey of files.keys()) {
172
+ if (mapKey.startsWith(prefix))
173
+ return true;
174
+ }
175
+ return false;
176
+ },
177
+ };
178
+ }
179
+ /**
180
+ * A thin wrapper that forwards every call to `inner` unchanged and reports
181
+ * each access to `onRead`. Pure instrumentation — no behaviour change. This
182
+ * is the per-page read-set capture point ADR-025 requires: with all I/O
183
+ * funneled through `ProjectFiles`, wrapping it makes a page's dependency set
184
+ * recordable for free.
185
+ */
186
+ export function recordingProjectFiles(inner, onRead) {
187
+ return {
188
+ read(key) {
189
+ onRead({ op: 'read', key });
190
+ return inner.read(key);
191
+ },
192
+ list(key) {
193
+ onRead({ op: 'list', key });
194
+ return inner.list(key);
195
+ },
196
+ exists(key) {
197
+ onRead({ op: 'exists', key });
198
+ return inner.exists(key);
199
+ },
200
+ };
201
+ }
202
+ //# sourceMappingURL=project-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-files.js","sourceRoot":"","sources":["../src/project-files.ts"],"names":[],"mappings":"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"}
package/dist/theme.d.ts CHANGED
@@ -105,6 +105,15 @@ export interface SiteConfig {
105
105
  icons?: Record<string, string>;
106
106
  /** Plugins to merge into this site's ThemeConfig (runes, layouts, hooks, etc.) */
107
107
  plugins?: string[];
108
+ /** SPEC-035 — active locale (BCP 47, e.g. `'de'`). Selects first-party and
109
+ * plugin translation bundles and drives locale-aware formatting. Defaults to
110
+ * `'en'` (zero-config English). */
111
+ locale?: string;
112
+ /** SPEC-035 — site-level translation overrides, keyed by the auto-derived
113
+ * i18n key (`{scope}.{block}.{ref}`). Highest precedence — these win over
114
+ * first-party and plugin bundles (Decision D5). Values are `string` or a
115
+ * CLDR plural-category map. */
116
+ strings?: Record<string, string | Record<string, string>>;
108
117
  /** Project-level tint presets — merged after theme tints (last wins).
109
118
  * Field shape matches `TintDefinition` from `@refrakt-md/transform` per
110
119
  * SPEC-053; `Record<string, unknown>` is used here to avoid a cross-package
@@ -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.26.0",
4
+ "version": "0.29.0",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -20,6 +20,10 @@
20
20
  ".": {
21
21
  "types": "./dist/index.d.ts",
22
22
  "default": "./dist/index.js"
23
+ },
24
+ "./project-files": {
25
+ "types": "./dist/project-files.d.ts",
26
+ "default": "./dist/project-files.js"
23
27
  }
24
28
  },
25
29
  "files": [