@hale-bopp/valentino-engine 2.0.0 → 2.1.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/CHANGELOG.md +14 -0
- package/dist/bin/commands/llms.d.ts +2 -0
- package/dist/bin/commands/llms.d.ts.map +1 -0
- package/dist/bin/commands/llms.js +84 -0
- package/dist/bin/commands/llms.js.map +1 -0
- package/dist/bin/valentino.js +5 -0
- package/dist/bin/valentino.js.map +1 -1
- package/dist/core/animation.d.ts +18 -0
- package/dist/core/animation.d.ts.map +1 -0
- package/dist/core/animation.js +91 -0
- package/dist/core/animation.js.map +1 -0
- package/dist/core/encoding.d.ts +32 -0
- package/dist/core/encoding.d.ts.map +1 -0
- package/dist/core/encoding.js +112 -0
- package/dist/core/encoding.js.map +1 -0
- package/dist/core/guardrails-cms.d.ts +31 -1
- package/dist/core/guardrails-cms.d.ts.map +1 -1
- package/dist/core/guardrails-cms.js +160 -0
- package/dist/core/guardrails-cms.js.map +1 -1
- package/dist/core/llms-generator.d.ts +36 -0
- package/dist/core/llms-generator.d.ts.map +1 -0
- package/dist/core/llms-generator.js +95 -0
- package/dist/core/llms-generator.js.map +1 -0
- package/dist/core/types.d.ts +11 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/index.d.ts +8 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.1.0] — 2026-03-26
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
- **CMS Guardrails (PBI #605)**: 6 new checks — `checkOgImageExists`, `checkMediaOrphans`, `checkMediaMissingAlt`, `checkBreadcrumbDepth`, `checkLanguageCoverage`, `checkDuplicateRoutes` (12/14 total)
|
|
7
|
+
- **LLMs.txt Generator (PBI #614)**: `generateLlmsTxt` (L0 compact) + `generateLlmsFullTxt` (L1 detailed) + CLI `valentino llms`
|
|
8
|
+
- **Animation Presets (PBI #611)**: `AnimationSpec` on `SectionPresentationBase`, 5 presets (fade-up/in, slide-left/right, scale-in), `probeAnimations` validation, `resolveAnimationCSS` for consumers
|
|
9
|
+
- **Encoding Guardrail (PBI #629)**: `checkMojibake` (14 Latin-1/Win-1252 patterns), `checkTypography` (15+ rules for IT/EN/FR/DE/ES), `checkEncoding` combined
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
- CLI now has 10 commands (was 9): added `llms`
|
|
13
|
+
- Test suite: 239 tests across 16 suites (was 170/13)
|
|
14
|
+
- Core modules: 17 (was 14)
|
|
15
|
+
- `collectPureCmsWarnings` accepts new options: `mediaManifest`, `contentByLang`
|
|
16
|
+
|
|
3
17
|
## [2.0.0] — 2026-03-26
|
|
4
18
|
|
|
5
19
|
### Breaking Changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llms.d.ts","sourceRoot":"","sources":["../../../src/bin/commands/llms.ts"],"names":[],"mappings":"AA0BA,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAoE5C"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI command: valentino llms <manifest.json> [options]
|
|
3
|
+
* Generates llms.txt and llms-full.txt from a pages manifest.
|
|
4
|
+
*/
|
|
5
|
+
import { readFileSync, writeFileSync } from 'node:fs';
|
|
6
|
+
import { resolve } from 'node:path';
|
|
7
|
+
import { generateLlmsTxt, generateLlmsFullTxt } from '../../core/llms-generator.js';
|
|
8
|
+
function loadJson(path) {
|
|
9
|
+
return JSON.parse(readFileSync(path, 'utf-8'));
|
|
10
|
+
}
|
|
11
|
+
function flattenKeys(obj, prefix = '') {
|
|
12
|
+
const result = {};
|
|
13
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
14
|
+
const fullKey = prefix ? `${prefix}.${key}` : key;
|
|
15
|
+
if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
|
|
16
|
+
Object.assign(result, flattenKeys(value, fullKey));
|
|
17
|
+
}
|
|
18
|
+
else if (typeof value === 'string') {
|
|
19
|
+
result[fullKey] = value;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return result;
|
|
23
|
+
}
|
|
24
|
+
export function runLlms(args) {
|
|
25
|
+
const manifestPath = args.find((a) => !a.startsWith('--'));
|
|
26
|
+
if (!manifestPath) {
|
|
27
|
+
console.error('Usage: valentino llms <manifest.json> [--content content.json] [--site "Name"] [--tagline "..."] [--base-url https://...] [--out-dir ./public] [--specs-dir ./pages]');
|
|
28
|
+
process.exit(1);
|
|
29
|
+
}
|
|
30
|
+
// Parse options
|
|
31
|
+
const getOpt = (flag) => {
|
|
32
|
+
const idx = args.indexOf(flag);
|
|
33
|
+
return idx >= 0 && idx + 1 < args.length ? args[idx + 1] : undefined;
|
|
34
|
+
};
|
|
35
|
+
const contentPath = getOpt('--content');
|
|
36
|
+
const siteName = getOpt('--site') || 'Site';
|
|
37
|
+
const tagline = getOpt('--tagline');
|
|
38
|
+
const baseUrl = getOpt('--base-url');
|
|
39
|
+
const outDir = getOpt('--out-dir') || '.';
|
|
40
|
+
const specsDir = getOpt('--specs-dir');
|
|
41
|
+
const capsRaw = getOpt('--capabilities');
|
|
42
|
+
// Load manifest
|
|
43
|
+
const manifest = loadJson(resolve(manifestPath));
|
|
44
|
+
// Content resolver
|
|
45
|
+
let contentMap = {};
|
|
46
|
+
if (contentPath) {
|
|
47
|
+
const raw = loadJson(resolve(contentPath));
|
|
48
|
+
contentMap = flattenKeys(raw);
|
|
49
|
+
}
|
|
50
|
+
const resolveContent = (key) => contentMap[key];
|
|
51
|
+
// Load page specs if dir provided
|
|
52
|
+
let specsById;
|
|
53
|
+
if (specsDir) {
|
|
54
|
+
specsById = new Map();
|
|
55
|
+
for (const page of manifest.pages) {
|
|
56
|
+
try {
|
|
57
|
+
const specPath = resolve(specsDir, page.spec.replace(/^\/pages\//, ''));
|
|
58
|
+
const spec = loadJson(specPath);
|
|
59
|
+
specsById.set(page.id, spec);
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
// Spec not found — skip
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
// Capabilities
|
|
67
|
+
const capabilities = capsRaw
|
|
68
|
+
? capsRaw.split(';').map((s) => s.trim()).filter(Boolean)
|
|
69
|
+
: undefined;
|
|
70
|
+
const options = { siteName, tagline, baseUrl, capabilities, resolveContent, specsById };
|
|
71
|
+
// Generate
|
|
72
|
+
const llmsTxt = generateLlmsTxt(manifest, options);
|
|
73
|
+
const llmsFullTxt = generateLlmsFullTxt(manifest, options);
|
|
74
|
+
// Write
|
|
75
|
+
const outLlms = resolve(outDir, 'llms.txt');
|
|
76
|
+
const outFull = resolve(outDir, 'llms-full.txt');
|
|
77
|
+
writeFileSync(outLlms, llmsTxt, 'utf-8');
|
|
78
|
+
writeFileSync(outFull, llmsFullTxt, 'utf-8');
|
|
79
|
+
const llmsLines = llmsTxt.split('\n').length;
|
|
80
|
+
const fullLines = llmsFullTxt.split('\n').length;
|
|
81
|
+
console.log(`✅ Generated ${outLlms} (${llmsLines} lines)`);
|
|
82
|
+
console.log(`✅ Generated ${outFull} (${fullLines} lines)`);
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=llms.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llms.js","sourceRoot":"","sources":["../../../src/bin/commands/llms.ts"],"names":[],"mappings":"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"}
|
package/dist/bin/valentino.js
CHANGED
|
@@ -11,6 +11,7 @@ import { runCatalogResolve } from './commands/catalog.js';
|
|
|
11
11
|
import { runManifestResolve } from './commands/manifest.js';
|
|
12
12
|
import { runContrast } from './commands/contrast.js';
|
|
13
13
|
import { runInit } from './commands/init.js';
|
|
14
|
+
import { runLlms } from './commands/llms.js';
|
|
14
15
|
const [, , command, ...args] = process.argv;
|
|
15
16
|
switch (command) {
|
|
16
17
|
case 'init':
|
|
@@ -47,6 +48,9 @@ switch (command) {
|
|
|
47
48
|
case 'contrast':
|
|
48
49
|
runContrast(args);
|
|
49
50
|
break;
|
|
51
|
+
case 'llms':
|
|
52
|
+
runLlms(args);
|
|
53
|
+
break;
|
|
50
54
|
default:
|
|
51
55
|
console.log(`
|
|
52
56
|
🎨 Valentino Engine v0.1.0 — Antifragile Open Source UI Design Engine
|
|
@@ -60,6 +64,7 @@ Usage:
|
|
|
60
64
|
valentino contrast <foreground> <background> [AA|AAA] Check WCAG contrast ratio
|
|
61
65
|
valentino catalog resolve <spec.json> --catalog <catalog.json> Resolve spec with catalog
|
|
62
66
|
valentino manifest resolve <manifest.json> --route /path Resolve route to page ID
|
|
67
|
+
valentino llms <manifest.json> [--content c.json] [--site N] Generate llms.txt + llms-full.txt
|
|
63
68
|
|
|
64
69
|
Epic: https://dev.azure.com/EasyWayData/EasyWay-DataPortal/_workitems/edit/480
|
|
65
70
|
`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"valentino.js","sourceRoot":"","sources":["../../src/bin/valentino.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,MAAM,CAAC,EAAC,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;AAE3C,QAAQ,OAAO,EAAE,CAAC;IACd,KAAK,MAAM;QACP,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,MAAM;IAEV,KAAK,OAAO;QACR,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,MAAM;IAEV,KAAK,UAAU;QACX,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM;IAEV,KAAK,YAAY;QACb,aAAa,EAAE,CAAC;QAChB,MAAM;IAEV,KAAK,OAAO;QACR,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM;IAEV,KAAK,SAAS;QACV,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS;YAAE,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aACvD,CAAC;YACF,OAAO,CAAC,KAAK,CAAC,uEAAuE,CAAC,CAAC;YACvF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,MAAM;IAEV,KAAK,UAAU;QACX,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS;YAAE,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aACxD,CAAC;YACF,OAAO,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;YACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,MAAM;IAEV,KAAK,UAAU;QACX,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM;IAEV;QACI,OAAO,CAAC,GAAG,CAAC
|
|
1
|
+
{"version":3,"file":"valentino.js","sourceRoot":"","sources":["../../src/bin/valentino.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,MAAM,CAAC,EAAC,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;AAE3C,QAAQ,OAAO,EAAE,CAAC;IACd,KAAK,MAAM;QACP,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,MAAM;IAEV,KAAK,OAAO;QACR,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,MAAM;IAEV,KAAK,UAAU;QACX,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM;IAEV,KAAK,YAAY;QACb,aAAa,EAAE,CAAC;QAChB,MAAM;IAEV,KAAK,OAAO;QACR,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM;IAEV,KAAK,SAAS;QACV,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS;YAAE,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aACvD,CAAC;YACF,OAAO,CAAC,KAAK,CAAC,uEAAuE,CAAC,CAAC;YACvF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,MAAM;IAEV,KAAK,UAAU;QACX,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS;YAAE,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aACxD,CAAC;YACF,OAAO,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;YACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,MAAM;IAEV,KAAK,UAAU;QACX,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM;IAEV,KAAK,MAAM;QACP,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,MAAM;IAEV;QACI,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;CAenB,CAAC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Animation Presets — Validation and CSS generation for declarative section animations.
|
|
3
|
+
* No DOM — pure functions only. The consumer applies CSS/IntersectionObserver.
|
|
4
|
+
* PBI #611.
|
|
5
|
+
*/
|
|
6
|
+
import type { AnimationPreset, AnimationSpec, SectionSpec } from './types.js';
|
|
7
|
+
export type AnimationWarning = {
|
|
8
|
+
type: string;
|
|
9
|
+
section: number;
|
|
10
|
+
message: string;
|
|
11
|
+
};
|
|
12
|
+
/** Validate animation specs across all sections of a page. */
|
|
13
|
+
export declare function probeAnimations(sections: SectionSpec[]): AnimationWarning[];
|
|
14
|
+
/** Resolve animation to CSS custom properties for a section. */
|
|
15
|
+
export declare function resolveAnimationCSS(anim: AnimationSpec): Record<string, string>;
|
|
16
|
+
/** List of all valid animation presets. */
|
|
17
|
+
export declare const ANIMATION_PRESETS: readonly AnimationPreset[];
|
|
18
|
+
//# sourceMappingURL=animation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"animation.d.ts","sourceRoot":"","sources":["../../src/core/animation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9E,MAAM,MAAM,gBAAgB,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACnB,CAAC;AAMF,8DAA8D;AAC9D,wBAAgB,eAAe,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,gBAAgB,EAAE,CAsD3E;AAED,gEAAgE;AAChE,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAoC/E;AAED,2CAA2C;AAC3C,eAAO,MAAM,iBAAiB,EAAE,SAAS,eAAe,EAA4E,CAAC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
const VALID_PRESETS = new Set(['fade-up', 'fade-in', 'slide-left', 'slide-right', 'scale-in', 'none']);
|
|
2
|
+
const VALID_DELAYS = new Set(['none', 'stagger']);
|
|
3
|
+
const VALID_TRIGGERS = new Set(['viewport', 'immediate']);
|
|
4
|
+
/** Validate animation specs across all sections of a page. */
|
|
5
|
+
export function probeAnimations(sections) {
|
|
6
|
+
const warnings = [];
|
|
7
|
+
for (let i = 0; i < sections.length; i++) {
|
|
8
|
+
const section = sections[i];
|
|
9
|
+
const anim = section.animation;
|
|
10
|
+
if (!anim)
|
|
11
|
+
continue;
|
|
12
|
+
if (anim.entrance && !VALID_PRESETS.has(anim.entrance)) {
|
|
13
|
+
warnings.push({
|
|
14
|
+
type: 'animation-invalid-preset',
|
|
15
|
+
section: i,
|
|
16
|
+
message: `Section ${i} (${section.type}): unknown animation preset "${anim.entrance}". Valid: ${[...VALID_PRESETS].join(', ')}`,
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
if (anim.delay && !VALID_DELAYS.has(anim.delay)) {
|
|
20
|
+
warnings.push({
|
|
21
|
+
type: 'animation-invalid-delay',
|
|
22
|
+
section: i,
|
|
23
|
+
message: `Section ${i} (${section.type}): unknown delay "${anim.delay}". Valid: ${[...VALID_DELAYS].join(', ')}`,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
if (anim.trigger && !VALID_TRIGGERS.has(anim.trigger)) {
|
|
27
|
+
warnings.push({
|
|
28
|
+
type: 'animation-invalid-trigger',
|
|
29
|
+
section: i,
|
|
30
|
+
message: `Section ${i} (${section.type}): unknown trigger "${anim.trigger}". Valid: ${[...VALID_TRIGGERS].join(', ')}`,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
if (anim.duration !== undefined && (anim.duration < 0 || anim.duration > 5000)) {
|
|
34
|
+
warnings.push({
|
|
35
|
+
type: 'animation-duration-out-of-range',
|
|
36
|
+
section: i,
|
|
37
|
+
message: `Section ${i} (${section.type}): duration ${anim.duration}ms is out of range (0-5000)`,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
// Stagger on non-list sections is a no-op warning
|
|
41
|
+
if (anim.delay === 'stagger') {
|
|
42
|
+
const listTypes = new Set(['cards', 'stats', 'how-it-works', 'data-list', 'component-showcase']);
|
|
43
|
+
if (!listTypes.has(section.type)) {
|
|
44
|
+
warnings.push({
|
|
45
|
+
type: 'animation-stagger-no-effect',
|
|
46
|
+
section: i,
|
|
47
|
+
message: `Section ${i} (${section.type}): "stagger" delay has no effect on non-list sections`,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return warnings;
|
|
53
|
+
}
|
|
54
|
+
/** Resolve animation to CSS custom properties for a section. */
|
|
55
|
+
export function resolveAnimationCSS(anim) {
|
|
56
|
+
const preset = anim.entrance || 'none';
|
|
57
|
+
const duration = anim.duration || 400;
|
|
58
|
+
const delay = anim.delay || 'none';
|
|
59
|
+
if (preset === 'none')
|
|
60
|
+
return {};
|
|
61
|
+
const css = {
|
|
62
|
+
'--v-anim-duration': `${duration}ms`,
|
|
63
|
+
'--v-anim-delay-mode': delay,
|
|
64
|
+
};
|
|
65
|
+
switch (preset) {
|
|
66
|
+
case 'fade-up':
|
|
67
|
+
css['--v-anim-opacity'] = '0';
|
|
68
|
+
css['--v-anim-transform'] = 'translateY(20px)';
|
|
69
|
+
break;
|
|
70
|
+
case 'fade-in':
|
|
71
|
+
css['--v-anim-opacity'] = '0';
|
|
72
|
+
css['--v-anim-transform'] = 'none';
|
|
73
|
+
break;
|
|
74
|
+
case 'slide-left':
|
|
75
|
+
css['--v-anim-opacity'] = '0';
|
|
76
|
+
css['--v-anim-transform'] = 'translateX(40px)';
|
|
77
|
+
break;
|
|
78
|
+
case 'slide-right':
|
|
79
|
+
css['--v-anim-opacity'] = '0';
|
|
80
|
+
css['--v-anim-transform'] = 'translateX(-40px)';
|
|
81
|
+
break;
|
|
82
|
+
case 'scale-in':
|
|
83
|
+
css['--v-anim-opacity'] = '0';
|
|
84
|
+
css['--v-anim-transform'] = 'scale(0.95)';
|
|
85
|
+
break;
|
|
86
|
+
}
|
|
87
|
+
return css;
|
|
88
|
+
}
|
|
89
|
+
/** List of all valid animation presets. */
|
|
90
|
+
export const ANIMATION_PRESETS = ['fade-up', 'fade-in', 'slide-left', 'slide-right', 'scale-in', 'none'];
|
|
91
|
+
//# sourceMappingURL=animation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"animation.js","sourceRoot":"","sources":["../../src/core/animation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Encoding Guardrail — Mojibake detection and typographic validation.
|
|
3
|
+
* Pure functions: takes content strings, returns warnings.
|
|
4
|
+
* No I/O — consumer loads the content files.
|
|
5
|
+
* PBI #629.
|
|
6
|
+
*/
|
|
7
|
+
export type EncodingWarning = {
|
|
8
|
+
type: 'mojibake' | 'typography';
|
|
9
|
+
severity: 'error' | 'warning';
|
|
10
|
+
file: string;
|
|
11
|
+
key: string;
|
|
12
|
+
message: string;
|
|
13
|
+
match: string;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Detect mojibake in content strings.
|
|
17
|
+
* Returns errors for each mojibake pattern found.
|
|
18
|
+
*/
|
|
19
|
+
export declare function checkMojibake(contentByFile: Map<string, Map<string, string>>): EncodingWarning[];
|
|
20
|
+
/**
|
|
21
|
+
* Check typographic issues in content strings.
|
|
22
|
+
* Filters rules by language ('*' matches all).
|
|
23
|
+
*/
|
|
24
|
+
export declare function checkTypography(contentByFile: Map<string, Map<string, string>>, lang?: string): EncodingWarning[];
|
|
25
|
+
/**
|
|
26
|
+
* Run all encoding checks (mojibake + typography).
|
|
27
|
+
*/
|
|
28
|
+
export declare function checkEncoding(contentByFile: Map<string, Map<string, string>>, lang?: string): EncodingWarning[];
|
|
29
|
+
/** Exported constants for consumer use. */
|
|
30
|
+
export declare const MOJIBAKE_PATTERN_COUNT: number;
|
|
31
|
+
export declare const TYPO_RULE_COUNT: number;
|
|
32
|
+
//# sourceMappingURL=encoding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../src/core/encoding.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,eAAe,GAAG;IAC1B,IAAI,EAAE,UAAU,GAAG,YAAY,CAAC;IAChC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAmDF;;;GAGG;AACH,wBAAgB,aAAa,CACzB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAChD,eAAe,EAAE,CAwBnB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC3B,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAC/C,IAAI,CAAC,EAAE,MAAM,GACd,eAAe,EAAE,CA0BnB;AAED;;GAEG;AACH,wBAAgB,aAAa,CACzB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAC/C,IAAI,CAAC,EAAE,MAAM,GACd,eAAe,EAAE,CAKnB;AAED,2CAA2C;AAC3C,eAAO,MAAM,sBAAsB,QAA2B,CAAC;AAC/D,eAAO,MAAM,eAAe,QAAoB,CAAC"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Encoding Guardrail — Mojibake detection and typographic validation.
|
|
3
|
+
* Pure functions: takes content strings, returns warnings.
|
|
4
|
+
* No I/O — consumer loads the content files.
|
|
5
|
+
* PBI #629.
|
|
6
|
+
*/
|
|
7
|
+
const MOJIBAKE_PATTERNS = [
|
|
8
|
+
{ pattern: /è/g, label: 'è (Latin-1→UTF-8)', fix: 'è' },
|
|
9
|
+
{ pattern: /é/g, label: 'é (Latin-1→UTF-8)', fix: 'é' },
|
|
10
|
+
{ pattern: /Ã /g, label: 'à (Latin-1→UTF-8)', fix: 'à' },
|
|
11
|
+
{ pattern: /ù/g, label: 'ù (Latin-1→UTF-8)', fix: 'ù' },
|
|
12
|
+
{ pattern: /ò/g, label: 'ò (Latin-1→UTF-8)', fix: 'ò' },
|
|
13
|
+
{ pattern: /ì/g, label: 'ì (Latin-1→UTF-8)', fix: 'ì' },
|
|
14
|
+
{ pattern: /ö/g, label: 'ö (Latin-1→UTF-8)', fix: 'ö' },
|
|
15
|
+
{ pattern: /ü/g, label: 'ü (Latin-1→UTF-8)', fix: 'ü' },
|
|
16
|
+
{ pattern: /ä/g, label: 'ä (Latin-1→UTF-8)', fix: 'ä' },
|
|
17
|
+
{ pattern: /ñ/g, label: 'ñ (Latin-1→UTF-8)', fix: 'ñ' },
|
|
18
|
+
{ pattern: /ç/g, label: 'ç (Latin-1→UTF-8)', fix: 'ç' },
|
|
19
|
+
{ pattern: /’/g, label: 'right single quote (Win-1252)', fix: '\u2019' },
|
|
20
|
+
{ pattern: /“/g, label: 'left double quote (Win-1252)', fix: '\u201C' },
|
|
21
|
+
{ pattern: /â€\u009D/g, label: 'right double quote (Win-1252)', fix: '\u201D' },
|
|
22
|
+
];
|
|
23
|
+
const TYPO_RULES = [
|
|
24
|
+
// Italian
|
|
25
|
+
{ pattern: /\bE'\s/g, lang: 'it', label: "E' instead of È", suggestion: 'Use È (capital E with accent)' },
|
|
26
|
+
{ pattern: /\bperche'\b/gi, lang: 'it', label: "perche' instead of perché", suggestion: 'Use perché' },
|
|
27
|
+
{ pattern: /\bperche\b(?!')/gi, lang: 'it', label: "perche without accent", suggestion: 'Use perché' },
|
|
28
|
+
{ pattern: /\bpiu'\b/gi, lang: 'it', label: "piu' instead of più", suggestion: 'Use più' },
|
|
29
|
+
{ pattern: /\bcioe'\b/gi, lang: 'it', label: "cioe' instead of cioè", suggestion: 'Use cioè' },
|
|
30
|
+
{ pattern: /\bpuo'\b/gi, lang: 'it', label: "puo' instead of può", suggestion: 'Use può' },
|
|
31
|
+
{ pattern: /\bgiacche'\b/gi, lang: 'it', label: "giacche' instead of giacché", suggestion: 'Use giacché' },
|
|
32
|
+
// General typography
|
|
33
|
+
{ pattern: /\.\.\./g, lang: '*', label: 'ASCII ellipsis', suggestion: 'Use … (U+2026)' },
|
|
34
|
+
{ pattern: /--/g, lang: '*', label: 'double hyphen', suggestion: 'Use — (em dash) or – (en dash)' },
|
|
35
|
+
{ pattern: /\s'/g, lang: '*', label: "space before apostrophe", suggestion: 'Remove space before apostrophe' },
|
|
36
|
+
{ pattern: /"([^"]*)"/g, lang: '*', label: 'straight double quotes', suggestion: 'Use \u201C\u201D (curly quotes)' },
|
|
37
|
+
// French
|
|
38
|
+
{ pattern: /\b(\w+)\s*\?/g, lang: 'fr', label: 'missing space before ?', suggestion: 'French requires a space before ?' },
|
|
39
|
+
{ pattern: /\b(\w+)\s*!/g, lang: 'fr', label: 'missing space before !', suggestion: 'French requires a space before !' },
|
|
40
|
+
// German
|
|
41
|
+
{ pattern: /\bfuer\b/gi, lang: 'de', label: 'fuer instead of für', suggestion: 'Use für' },
|
|
42
|
+
{ pattern: /\bueber\b/gi, lang: 'de', label: 'ueber instead of über', suggestion: 'Use über' },
|
|
43
|
+
// Spanish
|
|
44
|
+
{ pattern: /\banio\b/gi, lang: 'es', label: 'anio instead of año', suggestion: 'Use año' },
|
|
45
|
+
];
|
|
46
|
+
/**
|
|
47
|
+
* Detect mojibake in content strings.
|
|
48
|
+
* Returns errors for each mojibake pattern found.
|
|
49
|
+
*/
|
|
50
|
+
export function checkMojibake(contentByFile) {
|
|
51
|
+
const warnings = [];
|
|
52
|
+
for (const [file, entries] of contentByFile) {
|
|
53
|
+
for (const [key, value] of entries) {
|
|
54
|
+
for (const { pattern, label } of MOJIBAKE_PATTERNS) {
|
|
55
|
+
// Reset lastIndex for global patterns
|
|
56
|
+
pattern.lastIndex = 0;
|
|
57
|
+
const match = pattern.exec(value);
|
|
58
|
+
if (match) {
|
|
59
|
+
warnings.push({
|
|
60
|
+
type: 'mojibake',
|
|
61
|
+
severity: 'error',
|
|
62
|
+
file,
|
|
63
|
+
key,
|
|
64
|
+
message: `Mojibake detected: ${label}`,
|
|
65
|
+
match: match[0],
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return warnings;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Check typographic issues in content strings.
|
|
75
|
+
* Filters rules by language ('*' matches all).
|
|
76
|
+
*/
|
|
77
|
+
export function checkTypography(contentByFile, lang) {
|
|
78
|
+
const warnings = [];
|
|
79
|
+
const applicableRules = TYPO_RULES.filter((r) => r.lang === '*' || (lang && r.lang === lang));
|
|
80
|
+
for (const [file, entries] of contentByFile) {
|
|
81
|
+
for (const [key, value] of entries) {
|
|
82
|
+
for (const rule of applicableRules) {
|
|
83
|
+
rule.pattern.lastIndex = 0;
|
|
84
|
+
const match = rule.pattern.exec(value);
|
|
85
|
+
if (match) {
|
|
86
|
+
warnings.push({
|
|
87
|
+
type: 'typography',
|
|
88
|
+
severity: 'warning',
|
|
89
|
+
file,
|
|
90
|
+
key,
|
|
91
|
+
message: `${rule.label} — ${rule.suggestion}`,
|
|
92
|
+
match: match[0],
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return warnings;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Run all encoding checks (mojibake + typography).
|
|
102
|
+
*/
|
|
103
|
+
export function checkEncoding(contentByFile, lang) {
|
|
104
|
+
return [
|
|
105
|
+
...checkMojibake(contentByFile),
|
|
106
|
+
...checkTypography(contentByFile, lang),
|
|
107
|
+
];
|
|
108
|
+
}
|
|
109
|
+
/** Exported constants for consumer use. */
|
|
110
|
+
export const MOJIBAKE_PATTERN_COUNT = MOJIBAKE_PATTERNS.length;
|
|
111
|
+
export const TYPO_RULE_COUNT = TYPO_RULES.length;
|
|
112
|
+
//# sourceMappingURL=encoding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../src/core/encoding.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* CMS Guardrails — Pure validation rules for CMS capabilities.
|
|
3
3
|
* Migrated from easyway-portal scripts/guardrails-cms.mjs (PBI #606).
|
|
4
|
+
* Extended with media, language, breadcrumb, and route checks (PBI #605).
|
|
4
5
|
* No I/O (no fs, no fetch) — works on pre-loaded data only.
|
|
5
|
-
* I/O-dependent checks (media orphans, SEO from disk, encoding) stay in the consumer.
|
|
6
6
|
*/
|
|
7
7
|
import type { PagesManifestV1 } from './types.js';
|
|
8
8
|
import type { RedirectRule } from './redirects.js';
|
|
9
9
|
import type { SeoSpec } from './seo.js';
|
|
10
|
+
import type { MediaManifest } from './media.js';
|
|
10
11
|
export type CmsWarning = {
|
|
11
12
|
type: string;
|
|
12
13
|
severity: 'warning' | 'error';
|
|
@@ -30,11 +31,40 @@ export declare function checkRedirects(manifest: PagesManifestV1, rules: Redirec
|
|
|
30
31
|
export declare function checkSeoCompleteness(manifest: PagesManifestV1, specsById: Map<string, {
|
|
31
32
|
seo?: SeoSpec;
|
|
32
33
|
}>): CmsWarning[];
|
|
34
|
+
/**
|
|
35
|
+
* Check that ogImage in page specs references an existing media key.
|
|
36
|
+
* Requires pre-loaded specs and media manifest.
|
|
37
|
+
*/
|
|
38
|
+
export declare function checkOgImageExists(specsById: Map<string, {
|
|
39
|
+
seo?: SeoSpec;
|
|
40
|
+
}>, mediaManifest: MediaManifest): CmsWarning[];
|
|
41
|
+
/**
|
|
42
|
+
* Find media assets not referenced by any page spec.
|
|
43
|
+
* Scans all spec sections for media keys in known fields.
|
|
44
|
+
*/
|
|
45
|
+
export declare function checkMediaOrphans(specsById: Map<string, {
|
|
46
|
+
seo?: SeoSpec;
|
|
47
|
+
sections?: Array<Record<string, any>>;
|
|
48
|
+
}>, mediaManifest: MediaManifest): CmsWarning[];
|
|
49
|
+
/** Warn about media assets without alt text (accessibility). */
|
|
50
|
+
export declare function checkMediaMissingAlt(mediaManifest: MediaManifest): CmsWarning[];
|
|
51
|
+
/** Warn about pages with deep routes (3+ segments) that may need intermediate breadcrumb pages. */
|
|
52
|
+
export declare function checkBreadcrumbDepth(manifest: PagesManifestV1): CmsWarning[];
|
|
53
|
+
/**
|
|
54
|
+
* Check language coverage: keys in one language map missing from another.
|
|
55
|
+
* Accepts flattened key sets (consumer handles the JSON loading/flattening).
|
|
56
|
+
*/
|
|
57
|
+
export declare function checkLanguageCoverage(contentByLang: Map<string, Set<string>>): CmsWarning[];
|
|
58
|
+
/** Error if manifest has duplicate routes. */
|
|
59
|
+
export declare function checkDuplicateRoutes(manifest: PagesManifestV1): CmsWarning[];
|
|
33
60
|
/** Run all pure CMS guardrails. Returns combined warnings. */
|
|
34
61
|
export declare function collectPureCmsWarnings(manifest: PagesManifestV1, options?: {
|
|
35
62
|
redirectRules?: RedirectRule[];
|
|
36
63
|
specsById?: Map<string, {
|
|
37
64
|
seo?: SeoSpec;
|
|
65
|
+
sections?: Array<Record<string, any>>;
|
|
38
66
|
}>;
|
|
67
|
+
mediaManifest?: MediaManifest;
|
|
68
|
+
contentByLang?: Map<string, Set<string>>;
|
|
39
69
|
}): CmsWarning[];
|
|
40
70
|
//# sourceMappingURL=guardrails-cms.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guardrails-cms.d.ts","sourceRoot":"","sources":["../../src/core/guardrails-cms.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAkB,eAAe,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"guardrails-cms.d.ts","sourceRoot":"","sources":["../../src/core/guardrails-cms.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAkB,eAAe,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,YAAY,CAAC;AAE5D,MAAM,MAAM,UAAU,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,iEAAiE;AACjE,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,eAAe,GAAG,UAAU,EAAE,CAazE;AAED,kEAAkE;AAClE,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,eAAe,GAAG,UAAU,EAAE,CAyB/E;AAED,yCAAyC;AACzC,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,eAAe,GAAG,UAAU,EAAE,CAUhF;AAED,uDAAuD;AACvD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,UAAU,EAAE,CAWtE;AAED,yDAAyD;AACzD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,CAyB7F;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAChC,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GAC1C,UAAU,EAAE,CAsBd;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAC9B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,EACzC,aAAa,EAAE,aAAa,GAC7B,UAAU,EAAE,CAmBd;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC7B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;CAAE,CAAC,EAChF,aAAa,EAAE,aAAa,GAC7B,UAAU,EAAE,CAiCd;AAED,gEAAgE;AAChE,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,aAAa,GAAG,UAAU,EAAE,CAa/E;AAED,mGAAmG;AACnG,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,eAAe,GAAG,UAAU,EAAE,CAmB5E;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACjC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GACxC,UAAU,EAAE,CAkCd;AAED,8CAA8C;AAC9C,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,eAAe,GAAG,UAAU,EAAE,CAkB5E;AAED,8DAA8D;AAC9D,wBAAgB,sBAAsB,CAClC,QAAQ,EAAE,eAAe,EACzB,OAAO,CAAC,EAAE;IACN,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,GAAG,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;KAAE,CAAC,CAAC;IAClF,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;CAC5C,GACF,UAAU,EAAE,CAed"}
|
|
@@ -125,6 +125,160 @@ export function checkSeoCompleteness(manifest, specsById) {
|
|
|
125
125
|
}
|
|
126
126
|
return warnings;
|
|
127
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Check that ogImage in page specs references an existing media key.
|
|
130
|
+
* Requires pre-loaded specs and media manifest.
|
|
131
|
+
*/
|
|
132
|
+
export function checkOgImageExists(specsById, mediaManifest) {
|
|
133
|
+
const warnings = [];
|
|
134
|
+
const mediaKeys = new Set(mediaManifest.assets.map((a) => a.key));
|
|
135
|
+
for (const [pageId, spec] of specsById) {
|
|
136
|
+
const ogImage = spec.seo?.ogImage;
|
|
137
|
+
if (!ogImage)
|
|
138
|
+
continue;
|
|
139
|
+
// Skip if it looks like a path/URL (only validate media key references)
|
|
140
|
+
if (ogImage.includes('/') || ogImage.includes('.'))
|
|
141
|
+
continue;
|
|
142
|
+
if (!mediaKeys.has(ogImage)) {
|
|
143
|
+
warnings.push({
|
|
144
|
+
type: 'cms-og-image-missing',
|
|
145
|
+
severity: 'warning',
|
|
146
|
+
file: `/pages/${pageId}.json`,
|
|
147
|
+
message: `Page "${pageId}" has seo.ogImage="${ogImage}" but no matching media asset found`,
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
return warnings;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Find media assets not referenced by any page spec.
|
|
155
|
+
* Scans all spec sections for media keys in known fields.
|
|
156
|
+
*/
|
|
157
|
+
export function checkMediaOrphans(specsById, mediaManifest) {
|
|
158
|
+
const warnings = [];
|
|
159
|
+
if (!mediaManifest.assets.length)
|
|
160
|
+
return warnings;
|
|
161
|
+
// Collect all referenced media keys from specs
|
|
162
|
+
const referencedKeys = new Set();
|
|
163
|
+
for (const [, spec] of specsById) {
|
|
164
|
+
// OG image
|
|
165
|
+
if (spec.seo?.ogImage)
|
|
166
|
+
referencedKeys.add(spec.seo.ogImage);
|
|
167
|
+
// Scan sections for common media fields
|
|
168
|
+
for (const section of spec.sections ?? []) {
|
|
169
|
+
const json = JSON.stringify(section);
|
|
170
|
+
for (const asset of mediaManifest.assets) {
|
|
171
|
+
if (json.includes(asset.key) || json.includes(asset.file)) {
|
|
172
|
+
referencedKeys.add(asset.key);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
for (const asset of mediaManifest.assets) {
|
|
178
|
+
if (!referencedKeys.has(asset.key)) {
|
|
179
|
+
warnings.push({
|
|
180
|
+
type: 'cms-media-orphan',
|
|
181
|
+
severity: 'warning',
|
|
182
|
+
file: 'media.manifest.json',
|
|
183
|
+
message: `Media asset "${asset.key}" (${asset.file}) is not referenced by any page spec`,
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
return warnings;
|
|
188
|
+
}
|
|
189
|
+
/** Warn about media assets without alt text (accessibility). */
|
|
190
|
+
export function checkMediaMissingAlt(mediaManifest) {
|
|
191
|
+
const warnings = [];
|
|
192
|
+
for (const asset of mediaManifest.assets) {
|
|
193
|
+
if (!asset.alt || !asset.alt.trim()) {
|
|
194
|
+
warnings.push({
|
|
195
|
+
type: 'cms-media-missing-alt',
|
|
196
|
+
severity: 'warning',
|
|
197
|
+
file: 'media.manifest.json',
|
|
198
|
+
message: `Media asset "${asset.key}" has no alt text — accessibility issue`,
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
return warnings;
|
|
203
|
+
}
|
|
204
|
+
/** Warn about pages with deep routes (3+ segments) that may need intermediate breadcrumb pages. */
|
|
205
|
+
export function checkBreadcrumbDepth(manifest) {
|
|
206
|
+
const warnings = [];
|
|
207
|
+
const routes = new Set(manifest.pages.map((p) => p.route));
|
|
208
|
+
for (const page of manifest.pages) {
|
|
209
|
+
const segments = page.route.split('/').filter(Boolean);
|
|
210
|
+
if (segments.length < 3)
|
|
211
|
+
continue;
|
|
212
|
+
// Check if parent route exists
|
|
213
|
+
const parentRoute = '/' + segments.slice(0, -1).join('/');
|
|
214
|
+
if (!routes.has(parentRoute)) {
|
|
215
|
+
warnings.push({
|
|
216
|
+
type: 'cms-breadcrumb-depth',
|
|
217
|
+
severity: 'warning',
|
|
218
|
+
file: 'pages.manifest.json',
|
|
219
|
+
message: `Page "${page.id}" has deep route "${page.route}" but parent "${parentRoute}" doesn't exist — breadcrumb will have gaps`,
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
return warnings;
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Check language coverage: keys in one language map missing from another.
|
|
227
|
+
* Accepts flattened key sets (consumer handles the JSON loading/flattening).
|
|
228
|
+
*/
|
|
229
|
+
export function checkLanguageCoverage(contentByLang) {
|
|
230
|
+
const warnings = [];
|
|
231
|
+
const langs = [...contentByLang.keys()];
|
|
232
|
+
for (let i = 0; i < langs.length; i++) {
|
|
233
|
+
for (let j = i + 1; j < langs.length; j++) {
|
|
234
|
+
const langA = langs[i];
|
|
235
|
+
const langB = langs[j];
|
|
236
|
+
const keysA = contentByLang.get(langA);
|
|
237
|
+
const keysB = contentByLang.get(langB);
|
|
238
|
+
for (const key of keysA) {
|
|
239
|
+
if (!keysB.has(key)) {
|
|
240
|
+
warnings.push({
|
|
241
|
+
type: 'cms-language-coverage',
|
|
242
|
+
severity: 'warning',
|
|
243
|
+
file: `content/${langA}.json`,
|
|
244
|
+
message: `Key "${key}" exists in ${langA.toUpperCase()} but not in ${langB.toUpperCase()}`,
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
for (const key of keysB) {
|
|
249
|
+
if (!keysA.has(key)) {
|
|
250
|
+
warnings.push({
|
|
251
|
+
type: 'cms-language-coverage',
|
|
252
|
+
severity: 'warning',
|
|
253
|
+
file: `content/${langB}.json`,
|
|
254
|
+
message: `Key "${key}" exists in ${langB.toUpperCase()} but not in ${langA.toUpperCase()}`,
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
return warnings;
|
|
261
|
+
}
|
|
262
|
+
/** Error if manifest has duplicate routes. */
|
|
263
|
+
export function checkDuplicateRoutes(manifest) {
|
|
264
|
+
const warnings = [];
|
|
265
|
+
const seen = new Map();
|
|
266
|
+
for (const page of manifest.pages) {
|
|
267
|
+
const existing = seen.get(page.route);
|
|
268
|
+
if (existing) {
|
|
269
|
+
warnings.push({
|
|
270
|
+
type: 'cms-duplicate-route',
|
|
271
|
+
severity: 'error',
|
|
272
|
+
file: 'pages.manifest.json',
|
|
273
|
+
message: `Route "${page.route}" is claimed by both "${existing}" and "${page.id}"`,
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
else {
|
|
277
|
+
seen.set(page.route, page.id);
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
return warnings;
|
|
281
|
+
}
|
|
128
282
|
/** Run all pure CMS guardrails. Returns combined warnings. */
|
|
129
283
|
export function collectPureCmsWarnings(manifest, options) {
|
|
130
284
|
return [
|
|
@@ -132,8 +286,14 @@ export function collectPureCmsWarnings(manifest, options) {
|
|
|
132
286
|
...checkPublishAtCoherence(manifest),
|
|
133
287
|
...checkMaintenanceModeLeak(manifest),
|
|
134
288
|
...check404Exists(manifest),
|
|
289
|
+
...checkDuplicateRoutes(manifest),
|
|
290
|
+
...checkBreadcrumbDepth(manifest),
|
|
135
291
|
...checkRedirects(manifest, options?.redirectRules ?? []),
|
|
136
292
|
...(options?.specsById ? checkSeoCompleteness(manifest, options.specsById) : []),
|
|
293
|
+
...(options?.specsById && options?.mediaManifest ? checkOgImageExists(options.specsById, options.mediaManifest) : []),
|
|
294
|
+
...(options?.specsById && options?.mediaManifest ? checkMediaOrphans(options.specsById, options.mediaManifest) : []),
|
|
295
|
+
...(options?.mediaManifest ? checkMediaMissingAlt(options.mediaManifest) : []),
|
|
296
|
+
...(options?.contentByLang ? checkLanguageCoverage(options.contentByLang) : []),
|
|
137
297
|
];
|
|
138
298
|
}
|
|
139
299
|
//# sourceMappingURL=guardrails-cms.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guardrails-cms.js","sourceRoot":"","sources":["../../src/core/guardrails-cms.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"guardrails-cms.js","sourceRoot":"","sources":["../../src/core/guardrails-cms.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LLMs.txt Generator — Pure functions to produce llms.txt and llms-full.txt
|
|
3
|
+
* from a PagesManifest and optional content/spec data.
|
|
4
|
+
* No I/O — the consumer provides the loaded data.
|
|
5
|
+
*
|
|
6
|
+
* llms.txt = L0 Matrioska (max ~50 lines, site index for LLM agents)
|
|
7
|
+
* llms-full.txt = L1 Matrioska (detailed per-page breakdown)
|
|
8
|
+
*
|
|
9
|
+
* Follows the emerging llms.txt standard (like robots.txt for AI crawlers).
|
|
10
|
+
*/
|
|
11
|
+
import type { PagesManifestV1, PageSpecV1 } from './types.js';
|
|
12
|
+
export type LlmsGeneratorOptions = {
|
|
13
|
+
/** Site name displayed in the header */
|
|
14
|
+
siteName: string;
|
|
15
|
+
/** One-line tagline / description */
|
|
16
|
+
tagline?: string;
|
|
17
|
+
/** Base URL (e.g. https://example.com) — used in llms-full.txt links */
|
|
18
|
+
baseUrl?: string;
|
|
19
|
+
/** Capabilities bullet points */
|
|
20
|
+
capabilities?: string[];
|
|
21
|
+
/** Content resolver: given a content key, returns the string value (or undefined) */
|
|
22
|
+
resolveContent?: (key: string) => string | undefined;
|
|
23
|
+
/** Pre-loaded page specs by page id (for llms-full.txt section details) */
|
|
24
|
+
specsById?: Map<string, PageSpecV1>;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Generate llms.txt — compact site index (L0 Matrioska).
|
|
28
|
+
* Max ~50 lines: header, pages list, capabilities.
|
|
29
|
+
*/
|
|
30
|
+
export declare function generateLlmsTxt(manifest: PagesManifestV1, options: LlmsGeneratorOptions): string;
|
|
31
|
+
/**
|
|
32
|
+
* Generate llms-full.txt — detailed per-page breakdown (L1 Matrioska).
|
|
33
|
+
* Includes section types, SEO metadata, and page purpose.
|
|
34
|
+
*/
|
|
35
|
+
export declare function generateLlmsFullTxt(manifest: PagesManifestV1, options: LlmsGeneratorOptions): string;
|
|
36
|
+
//# sourceMappingURL=llms-generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llms-generator.d.ts","sourceRoot":"","sources":["../../src/core/llms-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG9D,MAAM,MAAM,oBAAoB,GAAG;IAC/B,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,qFAAqF;IACrF,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACrD,2EAA2E;IAC3E,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACvC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,eAAe,CAC3B,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,oBAAoB,GAC9B,MAAM,CAwCR;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAC/B,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,oBAAoB,GAC9B,MAAM,CAuDR"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generate llms.txt — compact site index (L0 Matrioska).
|
|
3
|
+
* Max ~50 lines: header, pages list, capabilities.
|
|
4
|
+
*/
|
|
5
|
+
export function generateLlmsTxt(manifest, options) {
|
|
6
|
+
const lines = [];
|
|
7
|
+
const { siteName, tagline, capabilities, resolveContent } = options;
|
|
8
|
+
// Header
|
|
9
|
+
lines.push(`# ${siteName}`);
|
|
10
|
+
if (tagline)
|
|
11
|
+
lines.push(`> ${tagline}`);
|
|
12
|
+
lines.push('');
|
|
13
|
+
// Pages — only published/visible pages with navigation
|
|
14
|
+
const visiblePages = manifest.pages.filter((p) => p.status !== 'draft' && p.nav);
|
|
15
|
+
if (visiblePages.length > 0) {
|
|
16
|
+
lines.push('## Pages');
|
|
17
|
+
for (const page of visiblePages) {
|
|
18
|
+
const label = resolveContent && page.nav?.labelKey
|
|
19
|
+
? resolveContent(page.nav.labelKey) || page.id
|
|
20
|
+
: page.id;
|
|
21
|
+
const titleKey = page.titleKey;
|
|
22
|
+
const desc = titleKey && resolveContent
|
|
23
|
+
? resolveContent(titleKey) || ''
|
|
24
|
+
: '';
|
|
25
|
+
const suffix = desc && desc !== label ? ` — ${desc}` : '';
|
|
26
|
+
lines.push(`- ${page.route}: ${label}${suffix}`);
|
|
27
|
+
}
|
|
28
|
+
lines.push('');
|
|
29
|
+
}
|
|
30
|
+
// Capabilities
|
|
31
|
+
if (capabilities && capabilities.length > 0) {
|
|
32
|
+
lines.push('## Capabilities');
|
|
33
|
+
for (const cap of capabilities) {
|
|
34
|
+
lines.push(`- ${cap}`);
|
|
35
|
+
}
|
|
36
|
+
lines.push('');
|
|
37
|
+
}
|
|
38
|
+
return lines.join('\n');
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Generate llms-full.txt — detailed per-page breakdown (L1 Matrioska).
|
|
42
|
+
* Includes section types, SEO metadata, and page purpose.
|
|
43
|
+
*/
|
|
44
|
+
export function generateLlmsFullTxt(manifest, options) {
|
|
45
|
+
const lines = [];
|
|
46
|
+
const { siteName, tagline, baseUrl, resolveContent, specsById } = options;
|
|
47
|
+
// Header
|
|
48
|
+
lines.push(`# ${siteName} — Full Site Map`);
|
|
49
|
+
if (tagline)
|
|
50
|
+
lines.push(`> ${tagline}`);
|
|
51
|
+
if (baseUrl)
|
|
52
|
+
lines.push(`> ${baseUrl}`);
|
|
53
|
+
lines.push('');
|
|
54
|
+
// All non-draft pages
|
|
55
|
+
const pages = manifest.pages.filter((p) => p.status !== 'draft');
|
|
56
|
+
for (const page of pages) {
|
|
57
|
+
const label = resolveContent && page.nav?.labelKey
|
|
58
|
+
? resolveContent(page.nav.labelKey) || page.id
|
|
59
|
+
: page.id;
|
|
60
|
+
const url = baseUrl ? `${baseUrl}${page.route}` : page.route;
|
|
61
|
+
lines.push(`## ${label}`);
|
|
62
|
+
lines.push(`- URL: ${url}`);
|
|
63
|
+
lines.push(`- Route: ${page.route}`);
|
|
64
|
+
// SEO from spec
|
|
65
|
+
const spec = specsById?.get(page.id);
|
|
66
|
+
if (spec?.seo) {
|
|
67
|
+
if (spec.seo.metaTitle)
|
|
68
|
+
lines.push(`- Title: ${spec.seo.metaTitle}`);
|
|
69
|
+
if (spec.seo.metaDescription)
|
|
70
|
+
lines.push(`- Description: ${spec.seo.metaDescription}`);
|
|
71
|
+
}
|
|
72
|
+
// Section breakdown
|
|
73
|
+
if (spec?.sections && spec.sections.length > 0) {
|
|
74
|
+
const sectionTypes = spec.sections.map((s) => s.type);
|
|
75
|
+
const uniqueTypes = [...new Set(sectionTypes)];
|
|
76
|
+
lines.push(`- Sections (${spec.sections.length}): ${uniqueTypes.join(', ')}`);
|
|
77
|
+
}
|
|
78
|
+
// Navigation info
|
|
79
|
+
if (page.nav) {
|
|
80
|
+
lines.push(`- Navigation: visible (order ${page.nav.order ?? 'auto'})`);
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
lines.push('- Navigation: hidden');
|
|
84
|
+
}
|
|
85
|
+
lines.push('');
|
|
86
|
+
}
|
|
87
|
+
// Languages
|
|
88
|
+
if (manifest.defaultLanguage) {
|
|
89
|
+
lines.push(`## Languages`);
|
|
90
|
+
lines.push(`- Default: ${manifest.defaultLanguage}`);
|
|
91
|
+
lines.push('');
|
|
92
|
+
}
|
|
93
|
+
return lines.join('\n');
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=llms-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llms-generator.js","sourceRoot":"","sources":["../../src/core/llms-generator.ts"],"names":[],"mappings":"AA4BA;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC3B,QAAyB,EACzB,OAA6B;IAE7B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;IAEpE,SAAS;IACT,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC;IAC5B,IAAI,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;IACxC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,uDAAuD;IACvD,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7C,CAAC,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,CAChC,CAAC;IAEF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,cAAc,IAAI,IAAI,CAAC,GAAG,EAAE,QAAQ;gBAC9C,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,EAAE;gBAC9C,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACd,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC/B,MAAM,IAAI,GAAG,QAAQ,IAAI,cAAc;gBACnC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE;gBAChC,CAAC,CAAC,EAAE,CAAC;YACT,MAAM,MAAM,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,KAAK,KAAK,GAAG,MAAM,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;IAED,eAAe;IACf,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9B,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;QAC3B,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAC/B,QAAyB,EACzB,OAA6B;IAE7B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAE1E,SAAS;IACT,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,kBAAkB,CAAC,CAAC;IAC5C,IAAI,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;IACxC,IAAI,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;IACxC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,sBAAsB;IACtB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;IAEjE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,cAAc,IAAI,IAAI,CAAC,GAAG,EAAE,QAAQ;YAC9C,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,EAAE;YAC9C,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAEd,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAC7D,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAErC,gBAAgB;QAChB,MAAM,IAAI,GAAG,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,IAAI,EAAE,GAAG,EAAE,CAAC;YACZ,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS;gBAAE,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;YACrE,IAAI,IAAI,CAAC,GAAG,CAAC,eAAe;gBAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC;QAC3F,CAAC;QAED,oBAAoB;QACpB,IAAI,IAAI,EAAE,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,QAAQ,CAAC,MAAM,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;QAED,kBAAkB;QAClB,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACX,KAAK,CAAC,IAAI,CAAC,gCAAgC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,MAAM,GAAG,CAAC,CAAC;QAC5E,CAAC;aAAM,CAAC;YACJ,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACvC,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;IAED,YAAY;IACZ,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,cAAc,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -39,8 +39,19 @@ export type SectionPresentationSpec = {
|
|
|
39
39
|
presetId?: string;
|
|
40
40
|
transitionProfileId?: string;
|
|
41
41
|
};
|
|
42
|
+
export type AnimationPreset = 'fade-up' | 'fade-in' | 'slide-left' | 'slide-right' | 'scale-in' | 'none';
|
|
43
|
+
export type AnimationDelay = 'none' | 'stagger';
|
|
44
|
+
export type AnimationTrigger = 'viewport' | 'immediate';
|
|
45
|
+
export type AnimationSpec = {
|
|
46
|
+
entrance?: AnimationPreset;
|
|
47
|
+
delay?: AnimationDelay;
|
|
48
|
+
trigger?: AnimationTrigger;
|
|
49
|
+
/** Duration in ms (default 400) */
|
|
50
|
+
duration?: number;
|
|
51
|
+
};
|
|
42
52
|
export type SectionPresentationBase = {
|
|
43
53
|
presentation?: SectionPresentationSpec;
|
|
54
|
+
animation?: AnimationSpec;
|
|
44
55
|
};
|
|
45
56
|
export type LayoutMapMeasureToken = 'compact' | 'reading' | 'wide' | 'full';
|
|
46
57
|
export type LayoutMapVariantToken = 'default' | 'lego' | 'panel-right';
|
package/dist/core/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -26,8 +26,15 @@ export { resolveMediaUrl, resolveMediaAsset } from './core/media.js';
|
|
|
26
26
|
export type { MediaAsset, MediaManifest } from './core/media.js';
|
|
27
27
|
export { buildWebPageSchema } from './core/seo.js';
|
|
28
28
|
export type { SeoSpec } from './core/seo.js';
|
|
29
|
-
export { checkDraftOrphans, checkPublishAtCoherence, checkMaintenanceModeLeak, check404Exists, checkRedirects, checkSeoCompleteness, collectPureCmsWarnings, } from './core/guardrails-cms.js';
|
|
29
|
+
export { checkDraftOrphans, checkPublishAtCoherence, checkMaintenanceModeLeak, check404Exists, checkRedirects, checkSeoCompleteness, checkOgImageExists, checkMediaOrphans, checkMediaMissingAlt, checkBreadcrumbDepth, checkLanguageCoverage, checkDuplicateRoutes, collectPureCmsWarnings, } from './core/guardrails-cms.js';
|
|
30
30
|
export type { CmsWarning } from './core/guardrails-cms.js';
|
|
31
|
+
export { checkMojibake, checkTypography, checkEncoding, MOJIBAKE_PATTERN_COUNT, TYPO_RULE_COUNT } from './core/encoding.js';
|
|
32
|
+
export type { EncodingWarning } from './core/encoding.js';
|
|
33
|
+
export { generateLlmsTxt, generateLlmsFullTxt } from './core/llms-generator.js';
|
|
34
|
+
export type { LlmsGeneratorOptions } from './core/llms-generator.js';
|
|
35
|
+
export { probeAnimations, resolveAnimationCSS, ANIMATION_PRESETS } from './core/animation.js';
|
|
36
|
+
export type { AnimationWarning } from './core/animation.js';
|
|
37
|
+
export type { AnimationPreset, AnimationDelay, AnimationTrigger, AnimationSpec } from './core/types.js';
|
|
31
38
|
export { createExtensionRegistry, registerSectionRenderer, registerGuardrail, registerCustomStatus, setContentResolver, setMediaResolver, registerEditorPanel, hasCustomRenderer, getCustomRenderer, runCustomGuardrails, getEditorPanels, } from './core/extension-registry.js';
|
|
32
39
|
export type { ExtensionRegistry, CustomSectionRenderer, CustomGuardrail, GuardrailContext, ContentResolver, MediaResolver, EditorPanelDef, } from './core/extension-registry.js';
|
|
33
40
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -28,8 +28,14 @@ export { findRedirect } from './core/redirects.js';
|
|
|
28
28
|
export { resolveMediaUrl, resolveMediaAsset } from './core/media.js';
|
|
29
29
|
// CMS — SEO types + Schema.org builder (PBI #606)
|
|
30
30
|
export { buildWebPageSchema } from './core/seo.js';
|
|
31
|
-
// CMS — Guardrails pure rules (PBI #606)
|
|
32
|
-
export { checkDraftOrphans, checkPublishAtCoherence, checkMaintenanceModeLeak, check404Exists, checkRedirects, checkSeoCompleteness, collectPureCmsWarnings, } from './core/guardrails-cms.js';
|
|
31
|
+
// CMS — Guardrails pure rules (PBI #606, extended PBI #605)
|
|
32
|
+
export { checkDraftOrphans, checkPublishAtCoherence, checkMaintenanceModeLeak, check404Exists, checkRedirects, checkSeoCompleteness, checkOgImageExists, checkMediaOrphans, checkMediaMissingAlt, checkBreadcrumbDepth, checkLanguageCoverage, checkDuplicateRoutes, collectPureCmsWarnings, } from './core/guardrails-cms.js';
|
|
33
|
+
// Encoding guardrail — mojibake + typography (PBI #629)
|
|
34
|
+
export { checkMojibake, checkTypography, checkEncoding, MOJIBAKE_PATTERN_COUNT, TYPO_RULE_COUNT } from './core/encoding.js';
|
|
35
|
+
// LLMs.txt generator (PBI #614)
|
|
36
|
+
export { generateLlmsTxt, generateLlmsFullTxt } from './core/llms-generator.js';
|
|
37
|
+
// Animation presets (PBI #611)
|
|
38
|
+
export { probeAnimations, resolveAnimationCSS, ANIMATION_PRESETS } from './core/animation.js';
|
|
33
39
|
// Extension Registry (PBI #606)
|
|
34
40
|
export { createExtensionRegistry, registerSectionRenderer, registerGuardrail, registerCustomStatus, setContentResolver, setMediaResolver, registerEditorPanel, hasCustomRenderer, getCustomRenderer, runCustomGuardrails, getEditorPanels, } from './core/extension-registry.js';
|
|
35
41
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiCH,mBAAmB;AACnB,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAEvG,wBAAwB;AACxB,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAEvG,oBAAoB;AACpB,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE7E,oCAAoC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,aAAa;AACb,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAChH,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,oBAAoB;AACpB,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAErG,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAGpE,SAAS;AACT,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAElG,wCAAwC;AACxC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGnF,6BAA6B;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,kCAAkC;AAClC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGrE,kDAAkD;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGnD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiCH,mBAAmB;AACnB,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAEvG,wBAAwB;AACxB,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAEvG,oBAAoB;AACpB,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE7E,oCAAoC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,aAAa;AACb,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAChH,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,oBAAoB;AACpB,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAErG,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAGpE,SAAS;AACT,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAElG,wCAAwC;AACxC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGnF,6BAA6B;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,kCAAkC;AAClC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGrE,kDAAkD;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGnD,4DAA4D;AAC5D,OAAO,EACH,iBAAiB,EAAE,uBAAuB,EAAE,wBAAwB,EACpE,cAAc,EAAE,cAAc,EAAE,oBAAoB,EACpD,kBAAkB,EAAE,iBAAiB,EAAE,oBAAoB,EAC3D,oBAAoB,EAAE,qBAAqB,EAAE,oBAAoB,EACjE,sBAAsB,GACzB,MAAM,0BAA0B,CAAC;AAGlC,wDAAwD;AACxD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG5H,gCAAgC;AAChC,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGhF,+BAA+B;AAC/B,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAI9F,gCAAgC;AAChC,OAAO,EACH,uBAAuB,EACvB,uBAAuB,EAAE,iBAAiB,EAAE,oBAAoB,EAChE,kBAAkB,EAAE,gBAAgB,EAAE,mBAAmB,EACzD,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,eAAe,GAC7E,MAAM,8BAA8B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hale-bopp/valentino-engine",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "Antifragile Open Source UI Design Engine — generates Runtime PageSpec JSON, validates accessibility, enforces Design Tokens, and consults GEDI for architectural decisions.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|