@caelo-cms/shared 0.10.53 → 0.10.57

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/dist/auto-update.d.ts +17 -3
  2. package/dist/auto-update.d.ts.map +1 -1
  3. package/dist/auto-update.js +21 -9
  4. package/dist/auto-update.js.map +1 -1
  5. package/dist/fonts.d.ts +12 -0
  6. package/dist/fonts.d.ts.map +1 -1
  7. package/dist/fonts.js +37 -1
  8. package/dist/fonts.js.map +1 -1
  9. package/dist/index.d.ts +2 -0
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +2 -0
  12. package/dist/index.js.map +1 -1
  13. package/dist/link-refs.d.ts +250 -0
  14. package/dist/link-refs.d.ts.map +1 -0
  15. package/dist/link-refs.js +416 -0
  16. package/dist/link-refs.js.map +1 -0
  17. package/dist/media.d.ts +1 -1
  18. package/dist/nested-module-render.d.ts +4 -1
  19. package/dist/nested-module-render.d.ts.map +1 -1
  20. package/dist/nested-module-render.js +14 -2
  21. package/dist/nested-module-render.js.map +1 -1
  22. package/dist/platform-updates.d.ts +27 -6
  23. package/dist/platform-updates.d.ts.map +1 -1
  24. package/dist/platform-updates.js +37 -3
  25. package/dist/platform-updates.js.map +1 -1
  26. package/dist/preview-compose.d.ts +10 -0
  27. package/dist/preview-compose.d.ts.map +1 -1
  28. package/dist/preview-compose.js +58 -20
  29. package/dist/preview-compose.js.map +1 -1
  30. package/dist/proposal-status.d.ts +1 -1
  31. package/dist/raw-text-escape.d.ts +18 -0
  32. package/dist/raw-text-escape.d.ts.map +1 -0
  33. package/dist/raw-text-escape.js +40 -0
  34. package/dist/raw-text-escape.js.map +1 -0
  35. package/dist/redirect-emit-gcp.d.ts +11 -1
  36. package/dist/redirect-emit-gcp.d.ts.map +1 -1
  37. package/dist/redirect-emit-gcp.js +16 -2
  38. package/dist/redirect-emit-gcp.js.map +1 -1
  39. package/dist/release-manifest.d.ts +14 -4
  40. package/dist/release-manifest.d.ts.map +1 -1
  41. package/dist/release-manifest.js +19 -3
  42. package/dist/release-manifest.js.map +1 -1
  43. package/dist/responsive-images.d.ts.map +1 -1
  44. package/dist/responsive-images.js +3 -3
  45. package/dist/responsive-images.js.map +1 -1
  46. package/dist/seo.js +1 -1
  47. package/dist/seo.js.map +1 -1
  48. package/dist/template-balance.d.ts +3 -0
  49. package/dist/template-balance.d.ts.map +1 -0
  50. package/dist/template-balance.js +214 -0
  51. package/dist/template-balance.js.map +1 -0
  52. package/dist/template-engine.d.ts +11 -0
  53. package/dist/template-engine.d.ts.map +1 -1
  54. package/dist/template-engine.js +12 -0
  55. package/dist/template-engine.js.map +1 -1
  56. package/dist/theme-render.d.ts +2 -2
  57. package/dist/theme-render.d.ts.map +1 -1
  58. package/dist/theme-render.js +29 -5
  59. package/dist/theme-render.js.map +1 -1
  60. package/dist/version.d.ts +2 -2
  61. package/dist/version.js +1 -1
  62. package/package.json +2 -2
  63. package/src/auto-update.test.ts +74 -4
  64. package/src/auto-update.ts +31 -9
  65. package/src/fonts.test.ts +37 -0
  66. package/src/fonts.ts +38 -1
  67. package/src/index.ts +2 -0
  68. package/src/link-refs.test.ts +552 -0
  69. package/src/link-refs.ts +569 -0
  70. package/src/nested-module-render.ts +18 -1
  71. package/src/platform-updates.test.ts +5 -0
  72. package/src/platform-updates.ts +39 -3
  73. package/src/preview-compose-deferrals.test.ts +103 -0
  74. package/src/preview-compose.ts +73 -24
  75. package/src/raw-text-escape.ts +44 -0
  76. package/src/redirect-emit-gcp.ts +16 -2
  77. package/src/redirect-emit.test.ts +6 -4
  78. package/src/release-manifest.ts +39 -7
  79. package/src/responsive-images.test.ts +10 -0
  80. package/src/responsive-images.ts +6 -3
  81. package/src/seo.test.ts +7 -0
  82. package/src/seo.ts +1 -1
  83. package/src/template-balance.test.ts +97 -0
  84. package/src/template-balance.ts +216 -0
  85. package/src/template-engine.ts +23 -0
  86. package/src/theme-render-sanitize.test.ts +40 -0
  87. package/src/theme-render.ts +40 -8
  88. package/src/version.ts +1 -1
@@ -18,11 +18,16 @@
18
18
  * the soak period.
19
19
  *
20
20
  * Rules, in order (maintainer decisions on #696):
21
- * 1. nothing newer, or notices off → none;
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 (#819): with no converge job on this
27
+ * install → needs_cloud_shell (the terminal path); with one but
28
+ * `autoConverge` off → manual (the Owner installs it from Settings →
29
+ * Updates); with `autoConverge` on → on through the rules below, and
30
+ * an install it decides goes to the converge job (`route: converge`);
26
31
  * 6. destructive database changes → manual (never automatic);
27
32
  * 7. the kind is not switched on (security / patch / minor) → notify;
28
33
  * 8. no upgrader on this install → blocked;
@@ -31,7 +36,7 @@
31
36
  * 11. outside the maintenance window → wait until it opens;
32
37
  * 12. otherwise → install.
33
38
  */
34
- import { type StoredUpdatePolicy, type UpdateKind } from "./platform-updates.js";
39
+ import { type PlatformUpdateRoute, type StoredUpdatePolicy, type UpdateKind } from "./platform-updates.js";
35
40
  /** Why the scheduler queued an automatic install (`platform_update_requests.auto_basis`). */
36
41
  export declare const AUTO_UPDATE_BASES: readonly ["security", "patch", "minor"];
37
42
  export type AutoUpdateBasis = (typeof AUTO_UPDATE_BASES)[number];
@@ -81,6 +86,11 @@ export interface AutoUpdateInput {
81
86
  };
82
87
  /** This install has an upgrader the admin can hand a request to. */
83
88
  readonly upgraderAvailable: boolean;
89
+ /**
90
+ * This install has a converge job the admin can start (#819): releases
91
+ * that change the cloud setup can install from Caelo at all.
92
+ */
93
+ readonly convergeAvailable: boolean;
84
94
  /** Why it has none right now, in plain words (null: none set up at all). */
85
95
  readonly upgraderProblem?: string | null;
86
96
  readonly now: Date;
@@ -99,6 +109,8 @@ export type AutoUpdateDecision = {
99
109
  readonly version: string;
100
110
  readonly kind: UpdateKind;
101
111
  readonly basis: AutoUpdateBasis;
112
+ /** Which job installs it once the wait is over. */
113
+ readonly route: PlatformUpdateRoute;
102
114
  readonly reason: string;
103
115
  /** When it becomes installable; null = until the Owner resumes. */
104
116
  readonly until: Date | null;
@@ -109,6 +121,8 @@ export type AutoUpdateDecision = {
109
121
  readonly version: string;
110
122
  readonly kind: UpdateKind;
111
123
  readonly basis: AutoUpdateBasis;
124
+ /** Which job installs it: the upgrader, or the converge job (#819). */
125
+ readonly route: PlatformUpdateRoute;
112
126
  readonly reason: string;
113
127
  };
114
128
  /** Whether automatic installs are paused at `now` (an Owner pause may have ended). */
@@ -1 +1 @@
1
- {"version":3,"file":"auto-update.d.ts","sourceRoot":"","sources":["../src/auto-update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto-update.d.ts","sourceRoot":"","sources":["../src/auto-update.ts"],"names":[],"mappings":"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"}
@@ -19,11 +19,16 @@
19
19
  * the soak period.
20
20
  *
21
21
  * Rules, in order (maintainer decisions on #696):
22
- * 1. nothing newer, or notices off → none;
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 (#819): with no converge job on this
28
+ * install → needs_cloud_shell (the terminal path); with one but
29
+ * `autoConverge` off → manual (the Owner installs it from Settings →
30
+ * Updates); with `autoConverge` on → on through the rules below, and
31
+ * an install it decides goes to the converge job (`route: converge`);
27
32
  * 6. destructive database changes → manual (never automatic);
28
33
  * 7. the kind is not switched on (security / patch / minor) → notify;
29
34
  * 8. no upgrader on this install → blocked;
@@ -107,9 +112,6 @@ export function decideAutoUpdate(input) {
107
112
  if (kind === null) {
108
113
  return { action: "none", reason: `v${input.installedVersion} is the newest release.` };
109
114
  }
110
- if (policy.mode === "off") {
111
- return { action: "none", reason: "Update notices are switched off in the update policy." };
112
- }
113
115
  const v = release.version;
114
116
  const base = { version: v, kind };
115
117
  if (!isStable(v)) {
@@ -141,13 +143,22 @@ export function decideAutoUpdate(input) {
141
143
  };
142
144
  }
143
145
  const facts = input.facts;
144
- if (facts.infraChange === true) {
146
+ const converge = facts.infraChange === true;
147
+ if (converge && !input.convergeAvailable) {
145
148
  return {
146
149
  action: "needs_cloud_shell",
147
150
  ...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.`,
151
+ reason: `v${v} changes this install's cloud setup, and this install has no converge job to do that from Caelo. The Owner installs it once with their own account in Cloud Shell or from the computer they installed from.`,
152
+ };
153
+ }
154
+ if (converge && !policy.autoConverge) {
155
+ return {
156
+ action: "manual",
157
+ ...base,
158
+ reason: `v${v} changes this install's cloud setup. The update policy does not install those automatically; the Owner installs it from Settings → Updates.`,
149
159
  };
150
160
  }
161
+ const route = converge ? "converge" : "app_roll";
151
162
  if (facts.contractMigrations) {
152
163
  return {
153
164
  action: "manual",
@@ -170,7 +181,8 @@ export function decideAutoUpdate(input) {
170
181
  reason: `v${v} is a ${what}; the update policy does not install those automatically. The Owner installs it.`,
171
182
  };
172
183
  }
173
- if (!input.upgraderAvailable) {
184
+ // A converge-route install needs the converge job (checked above), not the upgrader.
185
+ if (!converge && !input.upgraderAvailable) {
174
186
  return {
175
187
  action: "blocked",
176
188
  ...base,
@@ -179,7 +191,7 @@ export function decideAutoUpdate(input) {
179
191
  : `v${v} could install automatically, but this install has no upgrader the admin can start. Run the upgrade command from Settings → Updates once; it sets the upgrader up.`,
180
192
  };
181
193
  }
182
- const auto = { ...base, basis };
194
+ const auto = { ...base, basis, route };
183
195
  if (isPausedAt(policy, now)) {
184
196
  const until = policy.pausedUntil === null ? null : new Date(policy.pausedUntil);
185
197
  const who = policy.pausedByOwner ? "by the Owner" : "after a failed automatic install";
@@ -1 +1 @@
1
- {"version":3,"file":"auto-update.js","sourceRoot":"","sources":["../src/auto-update.ts"],"names":[],"mappings":"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"}
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
  /**
@@ -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;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,gBAAgB,EAAE,GAAG,MAAM,CAW3E;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"}
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:${JSON.stringify(f.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";
@@ -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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"}