@refrakt-md/cli 0.35.0 → 0.37.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 (38) hide show
  1. package/dist/bin.js +420 -21
  2. package/dist/bin.js.map +1 -1
  3. package/dist/commands/config.d.ts +3 -2
  4. package/dist/commands/config.d.ts.map +1 -1
  5. package/dist/commands/config.js +110 -2
  6. package/dist/commands/config.js.map +1 -1
  7. package/dist/commands/migrate-snippets.d.ts +65 -0
  8. package/dist/commands/migrate-snippets.d.ts.map +1 -0
  9. package/dist/commands/migrate-snippets.js +218 -0
  10. package/dist/commands/migrate-snippets.js.map +1 -0
  11. package/dist/commands/snippet-review.d.ts +66 -0
  12. package/dist/commands/snippet-review.d.ts.map +1 -0
  13. package/dist/commands/snippet-review.js +271 -0
  14. package/dist/commands/snippet-review.js.map +1 -0
  15. package/dist/commands/stale.d.ts +32 -0
  16. package/dist/commands/stale.d.ts.map +1 -0
  17. package/dist/commands/stale.js +130 -0
  18. package/dist/commands/stale.js.map +1 -0
  19. package/dist/commands/theme-validate.d.ts +23 -0
  20. package/dist/commands/theme-validate.d.ts.map +1 -0
  21. package/dist/commands/theme-validate.js +73 -0
  22. package/dist/commands/theme-validate.js.map +1 -0
  23. package/dist/commands/theme.d.ts +1 -2
  24. package/dist/commands/theme.d.ts.map +1 -1
  25. package/dist/commands/theme.js.map +1 -1
  26. package/dist/commands/validate-config.d.ts +35 -0
  27. package/dist/commands/validate-config.d.ts.map +1 -0
  28. package/dist/commands/validate-config.js +123 -0
  29. package/dist/commands/validate-config.js.map +1 -0
  30. package/dist/commands/validate-core.d.ts +51 -0
  31. package/dist/commands/validate-core.d.ts.map +1 -0
  32. package/dist/commands/validate-core.js +113 -0
  33. package/dist/commands/validate-core.js.map +1 -0
  34. package/dist/commands/validate.d.ts +12 -2
  35. package/dist/commands/validate.d.ts.map +1 -1
  36. package/dist/commands/validate.js +62 -60
  37. package/dist/commands/validate.js.map +1 -1
  38. package/package.json +11 -6
@@ -0,0 +1,130 @@
1
+ /**
2
+ * `refrakt stale` — staleness ranking for documentation references (SPEC-136,
3
+ * WORK-594).
4
+ *
5
+ * ```
6
+ * staleness = commits touching the target since the referrer last changed
7
+ * ```
8
+ *
9
+ * **This ranks. It never fails (D1).** No exit code on findings, no build
10
+ * failure, no required check, not even an opt-in flag to make it failing. The
11
+ * failure mode of getting that wrong is specific and fatal: the cheapest way to
12
+ * turn any edge green is to edit the referring page, so a gate would train
13
+ * people to make trivial documentation edits to clear it — actively destroying
14
+ * the signal it measures. The measure only survives if nothing depends on it
15
+ * being zero.
16
+ *
17
+ * **A refusal is a different event, and does exit non-zero.** D1 is about
18
+ * findings. Being unable to run at all — a shallow clone, a non-git tree —
19
+ * produced no answer, and a CI step that silently succeeds while measuring
20
+ * nothing is exactly the silent-wrong this feature exists to avoid.
21
+ */
22
+ import { GitScanRefusal, runStale, StaleConfigRefusal, } from '@refrakt-md/content/edges';
23
+ function formatDate(seconds) {
24
+ if (seconds === undefined)
25
+ return 'untracked';
26
+ return new Date(seconds * 1000).toISOString().slice(0, 10);
27
+ }
28
+ /** The commit subjects are the report's whole value (D9). "11 commits" is a
29
+ * number; "generate breadcrumb and timeline positions from a declared index"
30
+ * is a person recognising that the page they wrote is out of date. */
31
+ function renderEntry(entry, out) {
32
+ const score = String(entry.score).padStart(3, ' ');
33
+ out.push(`${score} ${entry.edge.referrer} → ${entry.edge.target}`);
34
+ out.push(` last changed ${formatDate(entry.referrerChanged)} · target ${formatDate(entry.targetChanged)}`);
35
+ const shown = entry.commits.slice(0, 3);
36
+ for (const commit of shown) {
37
+ out.push(` ${commit.sha} ${commit.subject}`);
38
+ }
39
+ const remaining = entry.commits.length - shown.length;
40
+ if (remaining > 0)
41
+ out.push(` … ${remaining} more`);
42
+ out.push('');
43
+ }
44
+ export async function staleCommand(opts) {
45
+ const repoRoot = opts.repoRoot ?? process.cwd();
46
+ const top = opts.top ?? 10;
47
+ let result;
48
+ try {
49
+ // Content roots and both exclusion lists come from
50
+ // `refrakt.config.json`. Nothing about this repository's folder names is
51
+ // compiled in — every project's structure is its own.
52
+ result = runStale({
53
+ repoRoot,
54
+ contentDirs: opts.contentDirs,
55
+ edgeClass: opts.class,
56
+ min: opts.min,
57
+ });
58
+ }
59
+ catch (err) {
60
+ if (err instanceof GitScanRefusal || err instanceof StaleConfigRefusal) {
61
+ // Could not measure. Distinct from "measured, nothing wrong".
62
+ if (opts.format === 'json') {
63
+ process.stdout.write(`${JSON.stringify({ error: err.message, ranked: [] }, null, 2)}\n`);
64
+ }
65
+ else {
66
+ process.stderr.write(`refrakt stale: ${err.message}\n`);
67
+ }
68
+ process.exit(1);
69
+ }
70
+ throw err;
71
+ }
72
+ const shown = result.ranked.slice(0, top);
73
+ if (opts.format === 'json') {
74
+ process.stdout.write(`${JSON.stringify({
75
+ ranked: shown.map((e) => ({
76
+ referrer: e.edge.referrer,
77
+ line: e.edge.line,
78
+ target: e.edge.target,
79
+ class: e.edge.class,
80
+ score: e.score,
81
+ referrerChanged: e.referrerChanged,
82
+ targetChanged: e.targetChanged,
83
+ commits: e.commits,
84
+ })),
85
+ totalNonZero: result.totalNonZero,
86
+ baseRates: result.baseRates,
87
+ scanned: result.index.edges.length,
88
+ excluded: result.index.excluded,
89
+ }, null, 2)}\n`);
90
+ // Always zero. Findings are never a failure.
91
+ process.exit(0);
92
+ }
93
+ const out = [];
94
+ if (shown.length === 0) {
95
+ out.push('No stale edges found.');
96
+ out.push('');
97
+ out.push('A zero score is the absence of evidence of staleness, not evidence of freshness: the');
98
+ out.push('referrer side resets on any edit to the page, including one that changed nothing');
99
+ out.push('about what it claims.');
100
+ }
101
+ else {
102
+ out.push('Most likely stale, by commits to the target since the page last changed:');
103
+ out.push('');
104
+ for (const entry of shown)
105
+ renderEntry(entry, out);
106
+ if (result.totalNonZero > shown.length) {
107
+ out.push(`… ${result.totalNonZero - shown.length} more non-zero edges (--top ${top}).`);
108
+ out.push('');
109
+ }
110
+ }
111
+ // The footer states each class's base rate, so degradation in an
112
+ // extraction rule is visible rather than inferred.
113
+ const rates = result.baseRates.map((r) => `${r.class} ${r.nonZero}/${r.scanned}`).join(', ');
114
+ out.push(`Base rate — ${rates || 'no edges scanned'}.`);
115
+ // What the project's config removed, stated every run. An exclusion list
116
+ // that hides its own effect is how a report converges on empty without
117
+ // anyone deciding that it should.
118
+ const { archivalPages, generatedTargets } = result.index.excluded;
119
+ if (archivalPages > 0 || generatedTargets > 0) {
120
+ const parts = [];
121
+ if (archivalPages > 0)
122
+ parts.push(`${archivalPages} archival page(s) skipped`);
123
+ if (generatedTargets > 0)
124
+ parts.push(`${generatedTargets} edge(s) to generated targets`);
125
+ out.push(`Excluded by config — ${parts.join(', ')}.`);
126
+ }
127
+ process.stdout.write(`${out.join('\n')}\n`);
128
+ process.exit(0);
129
+ }
130
+ //# sourceMappingURL=stale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stale.js","sourceRoot":"","sources":["../../src/commands/stale.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * `refrakt theme validate` — the theme-authoring checks (SPEC-135 D12 /
3
+ * WORK-579).
4
+ *
5
+ * These moved off the bare `refrakt validate`, which now belongs to site
6
+ * authors. Three artifacts share the word "config" and only one of them is the
7
+ * site author's:
8
+ *
9
+ * | Artifact | Who writes it | Checked by |
10
+ * |---|---|---|
11
+ * | `refrakt.config.json` | site author | the published JSON Schema, and `refrakt config validate` |
12
+ * | `ThemeConfig` (`prefix`, rune configs) | theme author | `validateThemeConfig` — here |
13
+ * | Theme manifest | theme author | `validateManifest` — here |
14
+ *
15
+ * The `theme` group already holds `install`, `info` and `list`, so this slots
16
+ * in beside them rather than inventing a noun.
17
+ */
18
+ export interface ThemeValidateOptions {
19
+ configPath?: string;
20
+ manifestPath?: string;
21
+ }
22
+ export declare function themeValidateCommand(opts: ThemeValidateOptions): void;
23
+ //# sourceMappingURL=theme-validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-validate.d.ts","sourceRoot":"","sources":["../../src/commands/theme-validate.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,oBAAoB;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI,CAmDrE"}
@@ -0,0 +1,73 @@
1
+ import { readFileSync, existsSync } from 'fs';
2
+ import { resolve } from 'path';
3
+ import { validateThemeConfig, validateManifest, } from '@refrakt-md/transform';
4
+ export function themeValidateCommand(opts) {
5
+ let hasErrors = false;
6
+ // A validation command must never report success on nothing (SPEC-135 D2).
7
+ // The old behaviour here was the defect that rule was written for: handed no
8
+ // arguments, it validated refrakt's own `baseConfig` and printed a
9
+ // checkmark — a self-test of the library, reported as though it were a check
10
+ // of the user's work.
11
+ if (!opts.configPath && !opts.manifestPath) {
12
+ console.error('Nothing to validate.');
13
+ console.error('');
14
+ console.error(' refrakt theme validate --config <path> a ThemeConfig JSON file');
15
+ console.error(' refrakt theme validate --manifest <path> a theme manifest');
16
+ console.error('');
17
+ console.error('To validate a site’s content and config, use `refrakt validate`.');
18
+ process.exit(1);
19
+ }
20
+ if (opts.configPath) {
21
+ const absPath = resolve(opts.configPath);
22
+ if (!existsSync(absPath)) {
23
+ console.error(`Error: Config file not found: ${absPath}`);
24
+ process.exit(1);
25
+ }
26
+ // For now, only JSON configs are supported via CLI.
27
+ // TypeScript configs require dynamic import which needs the module to be built.
28
+ const raw = JSON.parse(readFileSync(absPath, 'utf-8'));
29
+ console.log('Validating theme config...');
30
+ const result = validateThemeConfig(raw);
31
+ printResult('Theme config', result);
32
+ if (!result.valid)
33
+ hasErrors = true;
34
+ }
35
+ if (opts.manifestPath) {
36
+ const absPath = resolve(opts.manifestPath);
37
+ if (!existsSync(absPath)) {
38
+ console.error(`Error: Manifest file not found: ${absPath}`);
39
+ process.exit(1);
40
+ }
41
+ const raw = JSON.parse(readFileSync(absPath, 'utf-8'));
42
+ console.log(`${opts.configPath ? '\n' : ''}Validating manifest...`);
43
+ const result = validateManifest(raw);
44
+ printResult('Manifest', result);
45
+ if (!result.valid)
46
+ hasErrors = true;
47
+ }
48
+ if (hasErrors) {
49
+ process.exit(1);
50
+ }
51
+ }
52
+ function printResult(label, result) {
53
+ if (result.valid && result.warnings.length === 0) {
54
+ console.log(` ${label}: OK`);
55
+ return;
56
+ }
57
+ if (result.errors.length > 0) {
58
+ console.log(` ${label}: FAIL (${result.errors.length} error${result.errors.length === 1 ? '' : 's'})`);
59
+ for (const err of result.errors) {
60
+ console.log(` ERROR ${err.path}: ${err.message}`);
61
+ }
62
+ }
63
+ else {
64
+ console.log(` ${label}: OK`);
65
+ }
66
+ if (result.warnings.length > 0) {
67
+ console.log(` ${result.warnings.length} warning${result.warnings.length === 1 ? '' : 's'}:`);
68
+ for (const warn of result.warnings) {
69
+ console.log(` WARN ${warn.path}: ${warn.message}`);
70
+ }
71
+ }
72
+ }
73
+ //# sourceMappingURL=theme-validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-validate.js","sourceRoot":"","sources":["../../src/commands/theme-validate.ts"],"names":[],"mappings":"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"}
@@ -8,8 +8,7 @@ export interface ThemeInstallOptions {
8
8
  export interface ThemeInfoOptions {
9
9
  site?: string;
10
10
  }
11
- export interface ThemeListOptions {
12
- }
11
+ export type ThemeListOptions = {};
13
12
  /** Install a theme package and point a site's `theme` field at it. */
14
13
  export declare function themeInstallCommand(options: ThemeInstallOptions): Promise<void>;
15
14
  /** Show info about the currently configured theme. */
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/commands/theme.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,mBAAmB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;CAEhC;AAkBD,sEAAsE;AACtE,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkFrF;AAED,sDAAsD;AACtD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuC/E;AAED;qBACqB;AACrB,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyChF"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/commands/theme.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,mBAAmB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAkBlC,sEAAsE;AACtE,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkFrF;AAED,sDAAsD;AACtD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuC/E;AAED;qBACqB;AACrB,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyChF"}
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/commands/theme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/commands/theme.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import type { SiteConfig } from '@refrakt-md/types';
2
+ /**
3
+ * The config layer of `refrakt validate` (SPEC-135 D1 / WORK-578).
4
+ *
5
+ * **Checks resolution, not shape.** Shape-checking `refrakt.config.json` is the
6
+ * published JSON Schema's job and editors already do it. What nothing covered
7
+ * is whether the config's *names resolve*: does `theme.package` exist, does
8
+ * every entry in `plugins[]` load, do `routeRules` layout names exist, do
9
+ * `entityRoutes` types match a registered type. None of that is expressible in
10
+ * JSON Schema.
11
+ *
12
+ * It is not optional garnish. `packages/sveltekit/src/plugin.ts:166` catches a
13
+ * failed package load, warns to console, and continues with that plugin's runes
14
+ * **absent** — so post-SPEC-132 every use of them becomes a `tag-undefined`
15
+ * finding. Dozens of errors against content that is perfectly correct, cause:
16
+ * one line of config. Running this first, and letting it explain the findings it
17
+ * would cause, is what stops the symptom drowning the cause.
18
+ */
19
+ export interface ConfigFinding {
20
+ severity: 'error' | 'warning' | 'info';
21
+ /** Dotted config path, e.g. `sites.main.plugins[2]`. */
22
+ path: string;
23
+ message: string;
24
+ /** Set when this failure is known to *cause* content findings — the CLI
25
+ * uses it to explain `tag-undefined` rather than reporting both as peers. */
26
+ causesMissingRunes?: boolean;
27
+ }
28
+ export interface ValidateConfigOptions {
29
+ /** Directory to resolve `theme.package` and `plugins[]` from. */
30
+ configDir: string;
31
+ /** Site name, used only to path findings. */
32
+ siteName: string;
33
+ }
34
+ export declare function validateSiteConfig(site: SiteConfig, opts: ValidateConfigOptions): ConfigFinding[];
35
+ //# sourceMappingURL=validate-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-config.d.ts","sourceRoot":"","sources":["../../src/commands/validate-config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,aAAa;IAC7B,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB;kFAC8E;IAC9E,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACrC,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;CACjB;AA6BD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,qBAAqB,GAAG,aAAa,EAAE,CAwEjG"}
@@ -0,0 +1,123 @@
1
+ import { existsSync } from 'node:fs';
2
+ import { resolve, isAbsolute } from 'node:path';
3
+ import { createRequire } from 'node:module';
4
+ import { getThemePackage } from '@refrakt-md/types';
5
+ /** Can this specifier be resolved from `configDir`? */
6
+ function canResolve(specifier, configDir) {
7
+ // A relative or absolute path is a file, not a package.
8
+ if (specifier.startsWith('.') || isAbsolute(specifier)) {
9
+ return existsSync(resolve(configDir, specifier));
10
+ }
11
+ try {
12
+ // `createRequire` resolves the way Node would from this directory,
13
+ // including workspace symlinks — which is what the adapters do at build
14
+ // time, so a package that resolves here resolves there.
15
+ const req = createRequire(resolve(configDir, 'package.json'));
16
+ req.resolve(specifier);
17
+ return true;
18
+ }
19
+ catch {
20
+ // A package can be importable without a resolvable main entry (exports
21
+ // maps without a "." key). Fall back to asking whether the directory is
22
+ // there at all before calling it missing.
23
+ try {
24
+ const req = createRequire(resolve(configDir, 'package.json'));
25
+ req.resolve(`${specifier}/package.json`);
26
+ return true;
27
+ }
28
+ catch {
29
+ return false;
30
+ }
31
+ }
32
+ }
33
+ export function validateSiteConfig(site, opts) {
34
+ const findings = [];
35
+ const base = `sites.${opts.siteName}`;
36
+ // theme.package — the theme supplies every rune config and the layouts, so
37
+ // an unresolvable one is not a partial failure.
38
+ if (site.theme !== undefined) {
39
+ const themePackage = getThemePackage(site.theme);
40
+ if (themePackage && !canResolve(themePackage, opts.configDir)) {
41
+ findings.push({
42
+ severity: 'error',
43
+ path: `${base}.theme`,
44
+ message: `theme package "${themePackage}" cannot be resolved from ${opts.configDir}`,
45
+ causesMissingRunes: true,
46
+ });
47
+ }
48
+ }
49
+ // plugins[] — the load-bearing one. A failed plugin load is swallowed at
50
+ // build time, and every rune it would have contributed becomes tag-undefined.
51
+ for (const [i, name] of (site.plugins ?? []).entries()) {
52
+ if (typeof name !== 'string' || !name) {
53
+ findings.push({
54
+ severity: 'error',
55
+ path: `${base}.plugins[${i}]`,
56
+ message: 'plugin entry must be a non-empty string',
57
+ });
58
+ continue;
59
+ }
60
+ if (!canResolve(name, opts.configDir)) {
61
+ findings.push({
62
+ severity: 'error',
63
+ path: `${base}.plugins[${i}]`,
64
+ message: `plugin "${name}" cannot be resolved from ${opts.configDir} — every rune it contributes will be reported as an undefined tag`,
65
+ causesMissingRunes: true,
66
+ });
67
+ }
68
+ }
69
+ // routeRules[].layout — a layout name that matches nothing falls back
70
+ // silently, so a typo costs the page its intended layout with no signal.
71
+ const declaredLayouts = collectDeclaredLayouts(site);
72
+ for (const [i, rule] of (site.routeRules ?? []).entries()) {
73
+ const layout = rule.layout;
74
+ if (typeof layout !== 'string' || !layout)
75
+ continue;
76
+ // Only judge when we actually know the layout set. An unresolvable theme
77
+ // means we cannot enumerate layouts, and guessing would produce a second
78
+ // wave of errors whose real cause is already reported above.
79
+ if (declaredLayouts === undefined)
80
+ continue;
81
+ if (!declaredLayouts.has(layout)) {
82
+ findings.push({
83
+ severity: 'error',
84
+ path: `${base}.routeRules[${i}].layout`,
85
+ message: `layout "${layout}" is not declared by the theme (known: ${[...declaredLayouts].sort().join(', ') || 'none'})`,
86
+ });
87
+ }
88
+ }
89
+ // entityRoutes[].type — a type nothing registers produces no pages at all,
90
+ // silently: the rule simply never matches.
91
+ for (const [i, rule] of (readEntityRoutes(site) ?? []).entries()) {
92
+ const type = rule.type;
93
+ if (typeof type !== 'string' || !type) {
94
+ findings.push({
95
+ severity: 'error',
96
+ path: `${base}.entityRoutes[${i}].type`,
97
+ message: 'entityRoutes rule must declare a non-empty `type`',
98
+ });
99
+ }
100
+ }
101
+ return findings;
102
+ }
103
+ /** Layout names the site's theme declares, or `undefined` when the theme could
104
+ * not be read — in which case the caller must not judge layout references. */
105
+ function collectDeclaredLayouts(site) {
106
+ const theme = site.theme;
107
+ if (typeof theme === 'object' && theme !== null) {
108
+ const layouts = theme.layouts;
109
+ if (layouts && typeof layouts === 'object')
110
+ return new Set(Object.keys(layouts));
111
+ }
112
+ // The theme's layout set lives in its manifest / layout config, which
113
+ // resolving here would mean importing the theme package. Deliberately not
114
+ // done: it is the expensive half, and a wrong `layout` name is caught by the
115
+ // layout cascade at build time anyway. Returning undefined suppresses the
116
+ // check rather than guessing.
117
+ return undefined;
118
+ }
119
+ function readEntityRoutes(site) {
120
+ const raw = site.entityRoutes;
121
+ return Array.isArray(raw) ? raw : undefined;
122
+ }
123
+ //# sourceMappingURL=validate-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-config.js","sourceRoot":"","sources":["../../src/commands/validate-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAoCpD,uDAAuD;AACvD,SAAS,UAAU,CAAC,SAAiB,EAAE,SAAiB;IACvD,wDAAwD;IACxD,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACxD,OAAO,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,CAAC;QACJ,mEAAmE;QACnE,wEAAwE;QACxE,wDAAwD;QACxD,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;QAC9D,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACR,uEAAuE;QACvE,wEAAwE;QACxE,0CAA0C;QAC1C,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;YAC9D,GAAG,CAAC,OAAO,CAAC,GAAG,SAAS,eAAe,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC;QACb,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;AACF,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAgB,EAAE,IAA2B;IAC/E,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC;IAEtC,2EAA2E;IAC3E,gDAAgD;IAChD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,YAAY,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/D,QAAQ,CAAC,IAAI,CAAC;gBACb,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,GAAG,IAAI,QAAQ;gBACrB,OAAO,EAAE,kBAAkB,YAAY,6BAA6B,IAAI,CAAC,SAAS,EAAE;gBACpF,kBAAkB,EAAE,IAAI;aACxB,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,yEAAyE;IACzE,8EAA8E;IAC9E,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QACxD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YACvC,QAAQ,CAAC,IAAI,CAAC;gBACb,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,GAAG,IAAI,YAAY,CAAC,GAAG;gBAC7B,OAAO,EAAE,yCAAyC;aAClD,CAAC,CAAC;YACH,SAAS;QACV,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACvC,QAAQ,CAAC,IAAI,CAAC;gBACb,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,GAAG,IAAI,YAAY,CAAC,GAAG;gBAC7B,OAAO,EAAE,WAAW,IAAI,6BAA6B,IAAI,CAAC,SAAS,mEAAmE;gBACtI,kBAAkB,EAAE,IAAI;aACxB,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,sEAAsE;IACtE,yEAAyE;IACzE,MAAM,eAAe,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACrD,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAC3D,MAAM,MAAM,GAAI,IAA6B,CAAC,MAAM,CAAC;QACrD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM;YAAE,SAAS;QACpD,yEAAyE;QACzE,yEAAyE;QACzE,6DAA6D;QAC7D,IAAI,eAAe,KAAK,SAAS;YAAE,SAAS;QAC5C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAClC,QAAQ,CAAC,IAAI,CAAC;gBACb,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,GAAG,IAAI,eAAe,CAAC,UAAU;gBACvC,OAAO,EAAE,WAAW,MAAM,0CAA0C,CAAC,GAAG,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,GAAG;aACvH,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,2EAA2E;IAC3E,2CAA2C;IAC3C,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAClE,MAAM,IAAI,GAAI,IAA2B,CAAC,IAAI,CAAC;QAC/C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YACvC,QAAQ,CAAC,IAAI,CAAC;gBACb,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,GAAG,IAAI,iBAAiB,CAAC,QAAQ;gBACvC,OAAO,EAAE,mDAAmD;aAC5D,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED;+EAC+E;AAC/E,SAAS,sBAAsB,CAAC,IAAgB;IAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACjD,MAAM,OAAO,GAAI,KAA+C,CAAC,OAAO,CAAC;QACzE,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAClF,CAAC;IACD,sEAAsE;IACtE,0EAA0E;IAC1E,6EAA6E;IAC7E,0EAA0E;IAC1E,8BAA8B;IAC9B,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAgB;IACzC,MAAM,GAAG,GAAI,IAA8C,CAAC,YAAY,CAAC;IACzE,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7C,CAAC"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * The validation run itself — shared by `refrakt validate` and the
3
+ * `refrakt.validate` MCP tool (SPEC-135 D6 / WORK-581).
4
+ *
5
+ * Returns data. It never prints and never calls `process.exit`, so the CLI can
6
+ * format and gate while MCP returns structured findings from the same code.
7
+ * The alternative — an MCP tool that shells out to the CLI and parses its
8
+ * output — would be a worse CLI, and would put a second copy of the layering
9
+ * rules somewhere they could drift.
10
+ */
11
+ import { type ConfigFinding } from './validate-config.js';
12
+ export interface ValidateRunOptions {
13
+ /** Restrict to one site. Omitted means every site in the config. */
14
+ site?: string;
15
+ /** Narrow to one layer. Both run when omitted. */
16
+ only?: 'content' | 'config';
17
+ /** Run the cross-page tier — a full pipeline run (SPEC-135 D3). */
18
+ deep?: boolean;
19
+ /** Path to `refrakt.config.json`. Default: `<cwd>/refrakt.config.json`. */
20
+ configPath?: string;
21
+ /** Directory to resolve a relative `configPath` against. Default: `cwd`. */
22
+ cwd?: string;
23
+ }
24
+ export interface ContentFindingOut {
25
+ file: string;
26
+ url: string;
27
+ line?: number;
28
+ severity: 'error' | 'warning' | 'info';
29
+ id?: string;
30
+ message: string;
31
+ }
32
+ export interface SiteResult {
33
+ site: string;
34
+ config: ConfigFinding[];
35
+ content: ContentFindingOut[];
36
+ /** Set when the config layer found a failure that makes content findings
37
+ * untrustworthy, so a report can say so rather than listing both as peers. */
38
+ contentSuppressed?: string;
39
+ }
40
+ export interface ValidateRunResult {
41
+ /** Whole-run failure — no config, unparseable config, unknown site. When
42
+ * set, `sites` is empty and the run validated nothing (D2). */
43
+ error?: string;
44
+ sites: SiteResult[];
45
+ /** Path the run resolved its config from, for a caller that wants to say so. */
46
+ configPath: string;
47
+ }
48
+ /** True when anything in the run is at error severity. The gate (D4). */
49
+ export declare function hasErrors(result: ValidateRunResult): boolean;
50
+ export declare function runValidation(opts?: ValidateRunOptions): Promise<ValidateRunResult>;
51
+ //# sourceMappingURL=validate-core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-core.d.ts","sourceRoot":"","sources":["../../src/commands/validate-core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE9E,MAAM,WAAW,kBAAkB;IAClC,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC5B,mEAAmE;IACnE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,GAAG,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,iBAAiB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B;mFAC+E;IAC/E,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IACjC;oEACgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,gFAAgF;IAChF,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,yEAAyE;AACzE,wBAAgB,SAAS,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAM5D;AAED,wBAAsB,aAAa,CAAC,IAAI,GAAE,kBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAqG7F"}