@caelo-cms/shared 0.10.53 → 0.10.55
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/auto-update.d.ts +5 -2
- package/dist/auto-update.d.ts.map +1 -1
- package/dist/auto-update.js +13 -6
- package/dist/auto-update.js.map +1 -1
- package/dist/fonts.d.ts +12 -0
- package/dist/fonts.d.ts.map +1 -1
- package/dist/fonts.js +37 -1
- package/dist/fonts.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/link-refs.d.ts +250 -0
- package/dist/link-refs.d.ts.map +1 -0
- package/dist/link-refs.js +416 -0
- package/dist/link-refs.js.map +1 -0
- package/dist/media.d.ts +1 -1
- package/dist/nested-module-render.d.ts +4 -1
- package/dist/nested-module-render.d.ts.map +1 -1
- package/dist/nested-module-render.js +14 -2
- package/dist/nested-module-render.js.map +1 -1
- package/dist/platform-updates.d.ts +7 -3
- package/dist/platform-updates.d.ts.map +1 -1
- package/dist/platform-updates.js +13 -2
- package/dist/platform-updates.js.map +1 -1
- package/dist/preview-compose.d.ts +10 -0
- package/dist/preview-compose.d.ts.map +1 -1
- package/dist/preview-compose.js +58 -20
- package/dist/preview-compose.js.map +1 -1
- package/dist/raw-text-escape.d.ts +18 -0
- package/dist/raw-text-escape.d.ts.map +1 -0
- package/dist/raw-text-escape.js +40 -0
- package/dist/raw-text-escape.js.map +1 -0
- package/dist/responsive-images.d.ts.map +1 -1
- package/dist/responsive-images.js +3 -3
- package/dist/responsive-images.js.map +1 -1
- package/dist/seo.js +1 -1
- package/dist/seo.js.map +1 -1
- package/dist/template-balance.d.ts +3 -0
- package/dist/template-balance.d.ts.map +1 -0
- package/dist/template-balance.js +214 -0
- package/dist/template-balance.js.map +1 -0
- package/dist/template-engine.d.ts +11 -0
- package/dist/template-engine.d.ts.map +1 -1
- package/dist/template-engine.js +12 -0
- package/dist/template-engine.js.map +1 -1
- package/dist/theme-render.d.ts +2 -2
- package/dist/theme-render.d.ts.map +1 -1
- package/dist/theme-render.js +29 -5
- package/dist/theme-render.js.map +1 -1
- package/dist/version.d.ts +2 -2
- package/dist/version.js +1 -1
- package/package.json +2 -2
- package/src/auto-update.test.ts +32 -1
- package/src/auto-update.ts +13 -6
- package/src/fonts.test.ts +37 -0
- package/src/fonts.ts +38 -1
- package/src/index.ts +2 -0
- package/src/link-refs.test.ts +552 -0
- package/src/link-refs.ts +569 -0
- package/src/nested-module-render.ts +18 -1
- package/src/platform-updates.test.ts +5 -0
- package/src/platform-updates.ts +13 -2
- package/src/preview-compose-deferrals.test.ts +103 -0
- package/src/preview-compose.ts +73 -24
- package/src/raw-text-escape.ts +44 -0
- package/src/responsive-images.test.ts +10 -0
- package/src/responsive-images.ts +6 -3
- package/src/seo.test.ts +7 -0
- package/src/seo.ts +1 -1
- package/src/template-balance.test.ts +97 -0
- package/src/template-balance.ts +216 -0
- package/src/template-engine.ts +23 -0
- package/src/theme-render-sanitize.test.ts +40 -0
- package/src/theme-render.ts +40 -8
- package/src/version.ts +1 -1
package/dist/auto-update.d.ts
CHANGED
|
@@ -18,11 +18,14 @@
|
|
|
18
18
|
* the soak period.
|
|
19
19
|
*
|
|
20
20
|
* Rules, in order (maintainer decisions on #696):
|
|
21
|
-
* 1. nothing newer
|
|
21
|
+
* 1. nothing newer → none (there is no "notices off": security
|
|
22
|
+
* releases are always announced, #862);
|
|
22
23
|
* 2. off the stable channel, or the policy only notifies → notify;
|
|
23
24
|
* 3. major → notify (never automatic before 1.0);
|
|
24
25
|
* 4. release information unreadable → blocked (fails loudly, no guess);
|
|
25
|
-
* 5. changes the cloud setup → needs_cloud_shell (never automatic
|
|
26
|
+
* 5. changes the cloud setup → needs_cloud_shell (never automatic, even
|
|
27
|
+
* with `autoConverge` on: that choice is inert until the converge job
|
|
28
|
+
* runs these releases from Caelo, #819);
|
|
26
29
|
* 6. destructive database changes → manual (never automatic);
|
|
27
30
|
* 7. the kind is not switched on (security / patch / minor) → notify;
|
|
28
31
|
* 8. no upgrader on this install → blocked;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-update.d.ts","sourceRoot":"","sources":["../src/auto-update.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"auto-update.d.ts","sourceRoot":"","sources":["../src/auto-update.ts"],"names":[],"mappings":"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"}
|
package/dist/auto-update.js
CHANGED
|
@@ -19,11 +19,14 @@
|
|
|
19
19
|
* the soak period.
|
|
20
20
|
*
|
|
21
21
|
* Rules, in order (maintainer decisions on #696):
|
|
22
|
-
* 1. nothing newer
|
|
22
|
+
* 1. nothing newer → none (there is no "notices off": security
|
|
23
|
+
* releases are always announced, #862);
|
|
23
24
|
* 2. off the stable channel, or the policy only notifies → notify;
|
|
24
25
|
* 3. major → notify (never automatic before 1.0);
|
|
25
26
|
* 4. release information unreadable → blocked (fails loudly, no guess);
|
|
26
|
-
* 5. changes the cloud setup → needs_cloud_shell (never automatic
|
|
27
|
+
* 5. changes the cloud setup → needs_cloud_shell (never automatic, even
|
|
28
|
+
* with `autoConverge` on: that choice is inert until the converge job
|
|
29
|
+
* runs these releases from Caelo, #819);
|
|
27
30
|
* 6. destructive database changes → manual (never automatic);
|
|
28
31
|
* 7. the kind is not switched on (security / patch / minor) → notify;
|
|
29
32
|
* 8. no upgrader on this install → blocked;
|
|
@@ -107,9 +110,6 @@ export function decideAutoUpdate(input) {
|
|
|
107
110
|
if (kind === null) {
|
|
108
111
|
return { action: "none", reason: `v${input.installedVersion} is the newest release.` };
|
|
109
112
|
}
|
|
110
|
-
if (policy.mode === "off") {
|
|
111
|
-
return { action: "none", reason: "Update notices are switched off in the update policy." };
|
|
112
|
-
}
|
|
113
113
|
const v = release.version;
|
|
114
114
|
const base = { version: v, kind };
|
|
115
115
|
if (!isStable(v)) {
|
|
@@ -142,10 +142,17 @@ export function decideAutoUpdate(input) {
|
|
|
142
142
|
}
|
|
143
143
|
const facts = input.facts;
|
|
144
144
|
if (facts.infraChange === true) {
|
|
145
|
+
// FIXME(issue #819): once the converge job runs these releases from
|
|
146
|
+
// Caelo, `policy.autoConverge` decides here like autoPatch does below.
|
|
147
|
+
// Until then the Owner's "install automatically" choice is stored but
|
|
148
|
+
// has no effect, and the reason says so.
|
|
149
|
+
const ownerChoice = policy.autoConverge
|
|
150
|
+
? " Your setting to install these automatically takes effect once Caelo can run them itself."
|
|
151
|
+
: "";
|
|
145
152
|
return {
|
|
146
153
|
action: "needs_cloud_shell",
|
|
147
154
|
...base,
|
|
148
|
-
reason: `v${v} changes this install's cloud setup, which the admin may not do. It is never installed automatically: the Owner runs it once with their own account in Cloud Shell
|
|
155
|
+
reason: `v${v} changes this install's cloud setup, which the admin may not do. It is never installed automatically: the Owner runs it once with their own account in Cloud Shell.${ownerChoice}`,
|
|
149
156
|
};
|
|
150
157
|
}
|
|
151
158
|
if (facts.contractMigrations) {
|
package/dist/auto-update.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-update.js","sourceRoot":"","sources":["../src/auto-update.ts"],"names":[],"mappings":"AAAA,mCAAmC;AAEnC
|
|
1
|
+
{"version":3,"file":"auto-update.js","sourceRoot":"","sources":["../src/auto-update.ts"],"names":[],"mappings":"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"}
|
package/dist/fonts.d.ts
CHANGED
|
@@ -62,9 +62,21 @@ export declare function googleFontsCssUrl(request: FontRequest): string;
|
|
|
62
62
|
* a legitimate css2 response is orders of magnitude smaller.
|
|
63
63
|
*/
|
|
64
64
|
export declare function parseFontsCss(cssText: string): ParsedFontFace[];
|
|
65
|
+
/**
|
|
66
|
+
* Why `face` cannot be emitted as an `@font-face` rule, or null when it can.
|
|
67
|
+
* The descriptors come from a remote fonts-CSS payload, so each one is held
|
|
68
|
+
* to the grammar a real descriptor has instead of being scrubbed: a value
|
|
69
|
+
* outside it could close the surrounding `<style>` or add rules, and a
|
|
70
|
+
* scrubbed value would ship a silently different font.
|
|
71
|
+
*/
|
|
72
|
+
export declare function fontFaceProblem(face: ResolvedFontFace): string | null;
|
|
65
73
|
/**
|
|
66
74
|
* Emit self-hosted @font-face CSS. `font-display: swap` always — text
|
|
67
75
|
* must render in the fallback while the woff2 loads.
|
|
76
|
+
*
|
|
77
|
+
* Throws on a face {@link fontFaceProblem} refuses; the resolver checks
|
|
78
|
+
* faces first and reports a bad family as unresolved, so reaching the
|
|
79
|
+
* throw means a caller skipped that check.
|
|
68
80
|
*/
|
|
69
81
|
export declare function buildFontFaceCss(faces: readonly ResolvedFontFace[]): string;
|
|
70
82
|
/**
|
package/dist/fonts.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fonts.d.ts","sourceRoot":"","sources":["../src/fonts.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,sEAAsE;AACtE,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,6DAA6D;IAC7D,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED,uEAAuE;AACvE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,sDAAsD;IACtD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,sEAAsE;AACtE,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC;IACtE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAqDD,mEAAmE;AACnE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE1D;AAqBD;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,aAAa,GAAG,WAAW,EAAE,CAiC7E;AAED,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAI9D;AAmBD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,EAAE,CAyB/D;AAED
|
|
1
|
+
{"version":3,"file":"fonts.d.ts","sourceRoot":"","sources":["../src/fonts.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,sEAAsE;AACtE,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,6DAA6D;IAC7D,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED,uEAAuE;AACvE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,sDAAsD;IACtD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,sEAAsE;AACtE,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC;IACtE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAqDD,mEAAmE;AACnE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE1D;AAqBD;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,aAAa,GAAG,WAAW,EAAE,CAiC7E;AAED,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAI9D;AAmBD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,EAAE,CAyB/D;AASD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAQrE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,gBAAgB,EAAE,GAAG,MAAM,CAoB3E;AAOD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,gBAAgB,EAAE,GAAG,gBAAgB,EAAE,CAezF;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAUrD"}
|
package/dist/fonts.js
CHANGED
|
@@ -172,15 +172,51 @@ export function parseFontsCss(cssText) {
|
|
|
172
172
|
}
|
|
173
173
|
return faces;
|
|
174
174
|
}
|
|
175
|
+
const FONT_STYLE_RE = /^(?:normal|italic|oblique(?: +-?\d{1,3}(?:\.\d+)?deg){0,2})$/i;
|
|
176
|
+
const FONT_WEIGHT_RE = /^(?:normal|bold|\d{1,4}(?: +\d{1,4})?)$/i;
|
|
177
|
+
const UNICODE_RANGE_ITEM = "U\\+[0-9A-F?]{1,6}(?:-[0-9A-F]{1,6})?";
|
|
178
|
+
const UNICODE_RANGE_RE = new RegExp(`^${UNICODE_RANGE_ITEM}(?:, *${UNICODE_RANGE_ITEM})*$`, "i");
|
|
179
|
+
/** A same-site asset path: no quotes, parens, whitespace or `<`. */
|
|
180
|
+
const FONT_URL_RE = /^[A-Za-z0-9._~/:%+-]+$/;
|
|
181
|
+
/**
|
|
182
|
+
* Why `face` cannot be emitted as an `@font-face` rule, or null when it can.
|
|
183
|
+
* The descriptors come from a remote fonts-CSS payload, so each one is held
|
|
184
|
+
* to the grammar a real descriptor has instead of being scrubbed: a value
|
|
185
|
+
* outside it could close the surrounding `<style>` or add rules, and a
|
|
186
|
+
* scrubbed value would ship a silently different font.
|
|
187
|
+
*/
|
|
188
|
+
export function fontFaceProblem(face) {
|
|
189
|
+
if (!FONT_STYLE_RE.test(face.style))
|
|
190
|
+
return `font-style ${JSON.stringify(face.style)}`;
|
|
191
|
+
if (!FONT_WEIGHT_RE.test(face.weight))
|
|
192
|
+
return `font-weight ${JSON.stringify(face.weight)}`;
|
|
193
|
+
if (face.unicodeRange !== null && !UNICODE_RANGE_RE.test(face.unicodeRange)) {
|
|
194
|
+
return `unicode-range ${JSON.stringify(face.unicodeRange)}`;
|
|
195
|
+
}
|
|
196
|
+
if (!FONT_URL_RE.test(face.publicUrl))
|
|
197
|
+
return `url ${JSON.stringify(face.publicUrl)}`;
|
|
198
|
+
return null;
|
|
199
|
+
}
|
|
175
200
|
/**
|
|
176
201
|
* Emit self-hosted @font-face CSS. `font-display: swap` always — text
|
|
177
202
|
* must render in the fallback while the woff2 loads.
|
|
203
|
+
*
|
|
204
|
+
* Throws on a face {@link fontFaceProblem} refuses; the resolver checks
|
|
205
|
+
* faces first and reports a bad family as unresolved, so reaching the
|
|
206
|
+
* throw means a caller skipped that check.
|
|
178
207
|
*/
|
|
179
208
|
export function buildFontFaceCss(faces) {
|
|
180
209
|
return faces
|
|
181
210
|
.map((f) => {
|
|
211
|
+
const problem = fontFaceProblem(f);
|
|
212
|
+
if (problem !== null) {
|
|
213
|
+
throw new Error(`fonts: refusing the @font-face for ${JSON.stringify(f.family)} — invalid ${problem}. Re-fetch the family or pick another font.`);
|
|
214
|
+
}
|
|
215
|
+
// A CSS string; `<` is written as its CSS escape so no family name
|
|
216
|
+
// can spell `</style` in the surrounding HTML.
|
|
217
|
+
const family = JSON.stringify(f.family).replaceAll("<", "\\3c ");
|
|
182
218
|
const range = f.unicodeRange !== null ? `unicode-range:${f.unicodeRange};` : "";
|
|
183
|
-
return (`@font-face{font-family:${
|
|
219
|
+
return (`@font-face{font-family:${family};` +
|
|
184
220
|
`font-style:${f.style};font-weight:${f.weight};font-display:swap;` +
|
|
185
221
|
`src:url(${f.publicUrl}) format('woff2');${range}}`);
|
|
186
222
|
})
|
package/dist/fonts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fonts.js","sourceRoot":"","sources":["../src/fonts.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"fonts.js","sourceRoot":"","sources":["../src/fonts.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -22,6 +22,7 @@ export * from "./genesis-inventory.js";
|
|
|
22
22
|
export * from "./google-models.js";
|
|
23
23
|
export * from "./image-capabilities.js";
|
|
24
24
|
export * from "./interactions.js";
|
|
25
|
+
export * from "./link-refs.js";
|
|
25
26
|
export { type LogContext, type Logger, type LoggerOptions, type LogLevel, makeLogger, mintRequestId, redact, type ServiceName, type StructuredLogEntry, } from "./logger.js";
|
|
26
27
|
export * from "./markup-structure.js";
|
|
27
28
|
export * from "./media.js";
|
|
@@ -34,6 +35,7 @@ export * from "./preview-scanner.js";
|
|
|
34
35
|
export * from "./proposal-status.js";
|
|
35
36
|
export * from "./provisioning-command.js";
|
|
36
37
|
export * from "./publish-live-parity.js";
|
|
38
|
+
export * from "./raw-text-escape.js";
|
|
37
39
|
export * from "./redirect-emit-caddy.js";
|
|
38
40
|
export * from "./redirect-emit-cloudfront.js";
|
|
39
41
|
export * from "./redirect-emit-front-door.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,cAAc,CAAC;AAExC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EACL,KAAK,UAAU,EACf,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,UAAU,EACV,aAAa,EACb,MAAM,EACN,KAAK,WAAW,EAChB,KAAK,kBAAkB,GACxB,MAAM,aAAa,CAAC;AACrB,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uCAAuC,CAAC;AACtD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,UAAU,CAAC;AACzB,OAAO,EACL,aAAa,EACb,aAAa,EACb,KAAK,YAAY,EACjB,cAAc,EACd,YAAY,GACb,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,cAAc,CAAC;AAExC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EACL,KAAK,UAAU,EACf,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,UAAU,EACV,aAAa,EACb,MAAM,EACN,KAAK,WAAW,EAChB,KAAK,kBAAkB,GACxB,MAAM,aAAa,CAAC;AACrB,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uCAAuC,CAAC;AACtD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,UAAU,CAAC;AACzB,OAAO,EACL,aAAa,EACb,aAAa,EACb,KAAK,YAAY,EACjB,cAAc,EACd,YAAY,GACb,MAAM,cAAc,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -23,6 +23,7 @@ export * from "./genesis-inventory.js";
|
|
|
23
23
|
export * from "./google-models.js";
|
|
24
24
|
export * from "./image-capabilities.js";
|
|
25
25
|
export * from "./interactions.js";
|
|
26
|
+
export * from "./link-refs.js";
|
|
26
27
|
export { makeLogger, mintRequestId, redact, } from "./logger.js";
|
|
27
28
|
export * from "./markup-structure.js";
|
|
28
29
|
export * from "./media.js";
|
|
@@ -35,6 +36,7 @@ export * from "./preview-scanner.js";
|
|
|
35
36
|
export * from "./proposal-status.js";
|
|
36
37
|
export * from "./provisioning-command.js";
|
|
37
38
|
export * from "./publish-live-parity.js";
|
|
39
|
+
export * from "./raw-text-escape.js";
|
|
38
40
|
export * from "./redirect-emit-caddy.js";
|
|
39
41
|
export * from "./redirect-emit-cloudfront.js";
|
|
40
42
|
export * from "./redirect-emit-front-door.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mCAAmC;AAEnC,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;AAExC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAKL,UAAU,EACV,aAAa,EACb,MAAM,GAGP,MAAM,aAAa,CAAC;AACrB,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uCAAuC,CAAC;AACtD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,UAAU,CAAC;AACzB,OAAO,EACL,aAAa,EACb,aAAa,EAEb,cAAc,EACd,YAAY,GACb,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mCAAmC;AAEnC,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;AAExC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAKL,UAAU,EACV,aAAa,EACb,MAAM,GAGP,MAAM,aAAa,CAAC;AACrB,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uCAAuC,CAAC;AACtD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,UAAU,CAAC;AACzB,OAAO,EACL,aAAa,EACb,aAAa,EAEb,cAAc,EACd,YAAY,GACb,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
import type { PageUrlStyle } from "./seo.js";
|
|
2
|
+
/** The scheme every internal reference starts with. */
|
|
3
|
+
export declare const LINK_REF_SCHEME = "caelo:";
|
|
4
|
+
/** A reference to one of the site's pages. */
|
|
5
|
+
export interface PageLinkRef {
|
|
6
|
+
readonly kind: "page";
|
|
7
|
+
readonly pageId: string;
|
|
8
|
+
/** Query string WITHOUT the leading `?`, or null. */
|
|
9
|
+
readonly query: string | null;
|
|
10
|
+
/** Fragment WITHOUT the leading `#`, or null. */
|
|
11
|
+
readonly anchor: string | null;
|
|
12
|
+
}
|
|
13
|
+
/** A reference to one of the site's media assets. */
|
|
14
|
+
export interface MediaLinkRef {
|
|
15
|
+
readonly kind: "media";
|
|
16
|
+
readonly mediaId: string;
|
|
17
|
+
/** Variant tag (`webp-800`), or null for the original. */
|
|
18
|
+
readonly variant: string | null;
|
|
19
|
+
}
|
|
20
|
+
/** Any internal reference. */
|
|
21
|
+
export type LinkRef = PageLinkRef | MediaLinkRef;
|
|
22
|
+
/**
|
|
23
|
+
* `missingSlots` marker for a link value that starts like a reference
|
|
24
|
+
* (`caelo:page/`, `caelo:media/`) but does not match the grammar — a
|
|
25
|
+
* truncated or uppercased id, an id followed by stray characters
|
|
26
|
+
* (`caelo:page/<id>/team`), an unknown media variant form. Reported as
|
|
27
|
+
* `link-ref-malformed:<the text as written>` and left raw: a guessed
|
|
28
|
+
* target would be a silent fallback (CLAUDE.md §2), and ignoring it
|
|
29
|
+
* would ship a dead `caelo:` href. Only link positions count (a whole
|
|
30
|
+
* value, an attribute value, a srcset entry); prose that mentions the
|
|
31
|
+
* grammar is left alone.
|
|
32
|
+
*/
|
|
33
|
+
export declare const LINK_REF_MALFORMED = "link-ref-malformed";
|
|
34
|
+
/**
|
|
35
|
+
* Parse a string that IS exactly one reference (a whole field value).
|
|
36
|
+
* Returns null for anything else — a path, an external URL, or a string
|
|
37
|
+
* that merely contains a reference.
|
|
38
|
+
*/
|
|
39
|
+
export declare function parseLinkRef(value: string): LinkRef | null;
|
|
40
|
+
/**
|
|
41
|
+
* Serialise a reference to its stored string form.
|
|
42
|
+
*
|
|
43
|
+
* @throws when the result would not parse back (an id that is not a
|
|
44
|
+
* lowercase UUID, a query / anchor / variant outside the grammar's
|
|
45
|
+
* character classes): storing it would write a link no render can
|
|
46
|
+
* resolve. Callers validate author input before building a ref.
|
|
47
|
+
*/
|
|
48
|
+
export declare function formatLinkRef(ref: LinkRef): string;
|
|
49
|
+
/**
|
|
50
|
+
* The target-identity half of a reference, `page/<id>` / `media/<id>` —
|
|
51
|
+
* what failure markers and integrity reports name (query, anchor and
|
|
52
|
+
* variant do not change whether the target exists).
|
|
53
|
+
*/
|
|
54
|
+
export declare function linkRefTargetKey(ref: LinkRef): string;
|
|
55
|
+
/** Cheap pre-check: can `text` contain a reference at all? */
|
|
56
|
+
export declare function mayContainLinkRef(text: string): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Every well-formed reference embedded in `text`, in order (duplicates
|
|
59
|
+
* kept). Malformed ones are not references; see
|
|
60
|
+
* {@link findMalformedLinkRefs}.
|
|
61
|
+
*/
|
|
62
|
+
export declare function findLinkRefs(text: string): LinkRef[];
|
|
63
|
+
/**
|
|
64
|
+
* Every piece of `text` that starts like a reference (`caelo:page/`,
|
|
65
|
+
* `caelo:media/`) but breaks the grammar, exactly as written (bounded
|
|
66
|
+
* snippet), in order.
|
|
67
|
+
*/
|
|
68
|
+
export declare function findMalformedLinkRefs(text: string): string[];
|
|
69
|
+
/**
|
|
70
|
+
* Replace every well-formed reference embedded in `text` with
|
|
71
|
+
* `replacer`'s answer. `raw` is the reference exactly as it appeared, so
|
|
72
|
+
* a replacer can leave it in place (return `raw`) — the loud-raw
|
|
73
|
+
* convention for a target that cannot be resolved. Malformed references
|
|
74
|
+
* are left untouched.
|
|
75
|
+
*/
|
|
76
|
+
export declare function replaceLinkRefs(text: string, replacer: (ref: LinkRef, raw: string) => string): string;
|
|
77
|
+
/**
|
|
78
|
+
* Walk a JSON value (content values, field defaults, set items) and map
|
|
79
|
+
* every string through {@link replaceLinkRefs}. Returns the SAME
|
|
80
|
+
* reference when nothing changed, so callers can cheaply detect no-ops.
|
|
81
|
+
*/
|
|
82
|
+
export declare function mapLinkRefsDeep(value: unknown, replacer: (ref: LinkRef, raw: string) => string): unknown;
|
|
83
|
+
/** Every reference anywhere inside a JSON value. */
|
|
84
|
+
export declare function collectLinkRefsDeep(value: unknown): LinkRef[];
|
|
85
|
+
/**
|
|
86
|
+
* Where a render goes. `preview` is the editor (draft state: every live
|
|
87
|
+
* page counts as available); `staging` / `production` are deploy builds,
|
|
88
|
+
* which ship published pages only.
|
|
89
|
+
*/
|
|
90
|
+
export type LinkRenderEnv = "preview" | "staging" | "production";
|
|
91
|
+
/** The outcome of resolving one reference. */
|
|
92
|
+
export type LinkResolution =
|
|
93
|
+
/** The target exists and is served in this environment. */
|
|
94
|
+
{
|
|
95
|
+
readonly status: "resolved";
|
|
96
|
+
readonly url: string;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* The target exists but is not published, so a deploy build will not
|
|
100
|
+
* contain it. Rendered with its URL; the caller applies the
|
|
101
|
+
* environment's policy ({@link linkIssueSeverity}).
|
|
102
|
+
*/
|
|
103
|
+
| {
|
|
104
|
+
readonly status: "unpublished";
|
|
105
|
+
readonly url: string;
|
|
106
|
+
}
|
|
107
|
+
/** No live target (never existed, deleted, another chat's branch). */
|
|
108
|
+
| {
|
|
109
|
+
readonly status: "missing";
|
|
110
|
+
};
|
|
111
|
+
/**
|
|
112
|
+
* Turns references into URLs for ONE rendering page. Synchronous: the
|
|
113
|
+
* template engine is a pure, sync function, so callers batch-load what
|
|
114
|
+
* the resolver needs ({@link createSiteLinkIndex}) before rendering.
|
|
115
|
+
*/
|
|
116
|
+
export interface LinkResolver {
|
|
117
|
+
resolve(ref: LinkRef): LinkResolution;
|
|
118
|
+
}
|
|
119
|
+
/** One reference a render touched and what it resolved to. */
|
|
120
|
+
export interface ObservedLinkResolution {
|
|
121
|
+
readonly ref: LinkRef;
|
|
122
|
+
readonly resolution: LinkResolution;
|
|
123
|
+
}
|
|
124
|
+
/** A resolver that remembers every resolution it handed out. */
|
|
125
|
+
export interface RecordingLinkResolver extends LinkResolver {
|
|
126
|
+
/** Every resolution so far, in call order (duplicates kept). */
|
|
127
|
+
readonly observed: readonly ObservedLinkResolution[];
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* `missingSlots` marker for a reference whose target does not exist:
|
|
131
|
+
* `link-target-missing:page/<id>` / `link-target-missing:media/<id>`.
|
|
132
|
+
* The editor's missing-content surface and the static generator's
|
|
133
|
+
* render gate read these literal strings.
|
|
134
|
+
*/
|
|
135
|
+
export declare const LINK_TARGET_MISSING = "link-target-missing";
|
|
136
|
+
/**
|
|
137
|
+
* `missingSlots` marker for a reference rendered by a caller that gave
|
|
138
|
+
* the engine no resolver — never legitimate output; a deploy refuses it.
|
|
139
|
+
*/
|
|
140
|
+
export declare const LINK_RESOLVER_UNAVAILABLE = "link-resolver-unavailable";
|
|
141
|
+
/**
|
|
142
|
+
* True for every link failure marker: a missing target, a malformed
|
|
143
|
+
* reference and a render without a resolver. The static generator's
|
|
144
|
+
* render gate and the nested-module echo filter both key on this, so a
|
|
145
|
+
* new marker added here blocks a deploy everywhere at once.
|
|
146
|
+
*/
|
|
147
|
+
export declare function isLinkFailureMarker(marker: string): boolean;
|
|
148
|
+
/** The link failure markers among `markers`, in order. */
|
|
149
|
+
export declare function linkMarkersOf(markers: readonly string[]): string[];
|
|
150
|
+
/**
|
|
151
|
+
* Resolve every reference embedded in rendered HTML. Unresolvable
|
|
152
|
+
* references stay in the output verbatim (loud-raw, CLAUDE.md §2) and
|
|
153
|
+
* push a marker onto `missing`; `unpublished` ones render their URL and
|
|
154
|
+
* push nothing — that is a per-environment policy, not a render failure.
|
|
155
|
+
*
|
|
156
|
+
* Text that starts like a reference but breaks the grammar stays raw
|
|
157
|
+
* and pushes {@link LINK_REF_MALFORMED}, with or without a resolver.
|
|
158
|
+
*
|
|
159
|
+
* @param resolver undefined = the caller has no resolver; every
|
|
160
|
+
* reference then fails with {@link LINK_RESOLVER_UNAVAILABLE}.
|
|
161
|
+
*/
|
|
162
|
+
export declare function resolveLinkRefsInHtml(html: string, resolver: LinkResolver | undefined, missing: string[]): string;
|
|
163
|
+
/**
|
|
164
|
+
* The per-environment policy for a reference that did not resolve
|
|
165
|
+
* cleanly (maintainer decision on #724): a missing target blocks
|
|
166
|
+
* everywhere; an unpublished one is a warning at Stage and blocks
|
|
167
|
+
* Publish live / promote. The editor preview shows drafts, so nothing
|
|
168
|
+
* there is an issue beyond a missing target.
|
|
169
|
+
*/
|
|
170
|
+
export declare function linkIssueSeverity(env: LinkRenderEnv, status: LinkResolution["status"]): "block" | "warning" | null;
|
|
171
|
+
/** A page as the link index needs it. */
|
|
172
|
+
export interface LinkIndexPage {
|
|
173
|
+
readonly id: string;
|
|
174
|
+
/**
|
|
175
|
+
* The page's composed public path (`pages.current_path`, or the
|
|
176
|
+
* branch view's dry-run path in a chat preview): leading slash, "/"
|
|
177
|
+
* for the root.
|
|
178
|
+
*/
|
|
179
|
+
readonly path: string;
|
|
180
|
+
readonly status: "draft" | "published";
|
|
181
|
+
}
|
|
182
|
+
/** A media asset as the link index needs it. */
|
|
183
|
+
export interface LinkIndexMedia {
|
|
184
|
+
readonly id: string;
|
|
185
|
+
/** `media_assets.slug` — the URL the editor serves and the build rewrites. */
|
|
186
|
+
readonly slug: string;
|
|
187
|
+
}
|
|
188
|
+
/** What a render-wide link index is built from. */
|
|
189
|
+
export interface SiteLinkIndexInput {
|
|
190
|
+
/** Every live (non-deleted) page visible to the render's scope, drafts included. */
|
|
191
|
+
readonly pages: ReadonlyArray<LinkIndexPage>;
|
|
192
|
+
/** Every live (non-deleted) media asset. */
|
|
193
|
+
readonly media: ReadonlyArray<LinkIndexMedia>;
|
|
194
|
+
readonly env: LinkRenderEnv;
|
|
195
|
+
/**
|
|
196
|
+
* The serving target's page emission style, so a link carries exactly
|
|
197
|
+
* the URL the target serves (`/about/` vs `/about`) — no 301 hop per
|
|
198
|
+
* internal link, and byte-identical with the canonical (#590).
|
|
199
|
+
*/
|
|
200
|
+
readonly pageUrlStyle: PageUrlStyle;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* The render-wide lookup tables, from which a per-page resolver is cut.
|
|
204
|
+
* Built once per preview / per build.
|
|
205
|
+
*/
|
|
206
|
+
export interface SiteLinkIndex {
|
|
207
|
+
readonly env: LinkRenderEnv;
|
|
208
|
+
/**
|
|
209
|
+
* The resolver for rendering page `renderingPageId`. Today every page
|
|
210
|
+
* gets the same answers; rollout D's `link-resolve` composition point
|
|
211
|
+
* hooks in here to map a target onto the rendering page's locale.
|
|
212
|
+
* Each call returns a fresh {@link RecordingLinkResolver}.
|
|
213
|
+
*/
|
|
214
|
+
forPage(renderingPageId: string | null): RecordingLinkResolver;
|
|
215
|
+
/** The page's public path (no style applied), or null when unknown. */
|
|
216
|
+
pathOf(pageId: string): string | null;
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* The URL path a page is served at under `style`: `/` for the root,
|
|
220
|
+
* `/a/b/` (directory) or `/a/b` (no-extension) otherwise. Same shape as
|
|
221
|
+
* the path half of `resolveCanonicalUrl`.
|
|
222
|
+
*/
|
|
223
|
+
export declare function pageHrefForStyle(path: string, style: PageUrlStyle): string;
|
|
224
|
+
/**
|
|
225
|
+
* Build the render-wide link index. Media references resolve to the
|
|
226
|
+
* editor-served media URL (`/_caelo/media/<slug>[/<variant>]`) — the
|
|
227
|
+
* same URL a literal embed carries — so the preview's responsive-image
|
|
228
|
+
* enrichment and the static generator's media pass (content-hashed
|
|
229
|
+
* `/_assets/…`, srcset ladders) apply to them unchanged (#162 parity).
|
|
230
|
+
*/
|
|
231
|
+
export declare function createSiteLinkIndex(input: SiteLinkIndexInput): SiteLinkIndex;
|
|
232
|
+
/** What a read surface knows about reference targets. */
|
|
233
|
+
export interface LinkHumaniseLookup {
|
|
234
|
+
/** The page's public path (`/about`), or null when it does not exist. */
|
|
235
|
+
pagePath(pageId: string): string | null;
|
|
236
|
+
/** The media asset's slug, or null when it does not exist. */
|
|
237
|
+
mediaSlug(mediaId: string): string | null;
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Turn stored references back into what an author writes: `/about`,
|
|
241
|
+
* `/about#team`, `/_caelo/media/hero`. Applied to every read that shows
|
|
242
|
+
* content to the AI or the operator, so neither ever has to learn the
|
|
243
|
+
* grammar (CLAUDE.md §1A); writing the humanised form back
|
|
244
|
+
* canonicalises to the same reference.
|
|
245
|
+
*
|
|
246
|
+
* A reference whose target is gone stays raw — it is broken, and a
|
|
247
|
+
* plausible-looking path would hide that.
|
|
248
|
+
*/
|
|
249
|
+
export declare function humaniseLinkRefs<T>(value: T, lookup: LinkHumaniseLookup): T;
|
|
250
|
+
//# sourceMappingURL=link-refs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link-refs.d.ts","sourceRoot":"","sources":["../src/link-refs.ts"],"names":[],"mappings":"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"}
|