@caelo-cms/shared 0.10.23 → 0.10.24

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 (59) hide show
  1. package/dist/ai-tools.d.ts +0 -60
  2. package/dist/ai-tools.d.ts.map +1 -1
  3. package/dist/ai-tools.js +1 -59
  4. package/dist/ai-tools.js.map +1 -1
  5. package/dist/base-css.d.ts +11 -0
  6. package/dist/base-css.d.ts.map +1 -1
  7. package/dist/base-css.js +13 -1
  8. package/dist/base-css.js.map +1 -1
  9. package/dist/design-draft-shell.d.ts +21 -0
  10. package/dist/design-draft-shell.d.ts.map +1 -0
  11. package/dist/design-draft-shell.js +81 -0
  12. package/dist/design-draft-shell.js.map +1 -0
  13. package/dist/genesis.d.ts +43 -3
  14. package/dist/genesis.d.ts.map +1 -1
  15. package/dist/genesis.js +72 -5
  16. package/dist/genesis.js.map +1 -1
  17. package/dist/i18n.d.ts +0 -50
  18. package/dist/i18n.d.ts.map +1 -1
  19. package/dist/i18n.js +8 -149
  20. package/dist/i18n.js.map +1 -1
  21. package/dist/index.d.ts +1 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +1 -1
  24. package/dist/index.js.map +1 -1
  25. package/dist/preview-compose.d.ts +9 -15
  26. package/dist/preview-compose.d.ts.map +1 -1
  27. package/dist/preview-compose.js +3 -43
  28. package/dist/preview-compose.js.map +1 -1
  29. package/dist/seo.d.ts +8 -21
  30. package/dist/seo.d.ts.map +1 -1
  31. package/dist/seo.js +4 -22
  32. package/dist/seo.js.map +1 -1
  33. package/dist/structured-sets.d.ts +0 -36
  34. package/dist/structured-sets.d.ts.map +1 -1
  35. package/dist/structured-sets.js +1 -52
  36. package/dist/structured-sets.js.map +1 -1
  37. package/dist/version.d.ts +2 -2
  38. package/dist/version.js +1 -1
  39. package/package.json +2 -2
  40. package/src/ai-tools.ts +1 -75
  41. package/src/base-css.ts +13 -1
  42. package/src/design-draft-shell.test.ts +85 -0
  43. package/src/design-draft-shell.ts +109 -0
  44. package/src/genesis.ts +76 -5
  45. package/src/i18n.test.ts +1 -217
  46. package/src/i18n.ts +8 -186
  47. package/src/index.ts +1 -1
  48. package/src/preview-compose.test.ts +35 -0
  49. package/src/preview-compose.ts +3 -56
  50. package/src/seo.test.ts +0 -40
  51. package/src/seo.ts +8 -36
  52. package/src/structured-sets.ts +1 -67
  53. package/src/version.ts +1 -1
  54. package/dist/translation.d.ts +0 -127
  55. package/dist/translation.d.ts.map +0 -1
  56. package/dist/translation.js +0 -208
  57. package/dist/translation.js.map +0 -1
  58. package/src/translation.test.ts +0 -160
  59. package/src/translation.ts +0 -295
@@ -1 +1 @@
1
- {"version":3,"file":"preview-compose.js","sourceRoot":"","sources":["../src/preview-compose.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preview-compose.js","sourceRoot":"","sources":["../src/preview-compose.ts"],"names":[],"mappings":"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"}
package/dist/seo.d.ts CHANGED
@@ -78,22 +78,14 @@ export interface SiteSeoSettings {
78
78
  }
79
79
  /**
80
80
  * Resolve the canonical URL for a page. If `pages_seo.canonical_url`
81
- * is set it wins; otherwise build `<siteBaseUrl>/<page-path>` from
82
- * the page's slug + locale. Locale strategy is single-locale (no
83
- * prefix) until P9 i18n.
81
+ * is set it wins; otherwise build `<siteBaseUrl>/<slug>` (home pages
82
+ * canonicalize to the bare base URL). URL shaping beyond base + slug
83
+ * becomes a plugin contribution on the URL composition point (#390).
84
84
  */
85
85
  export declare function resolveCanonicalUrl(args: {
86
86
  siteBaseUrl: string;
87
87
  pageSlug: string;
88
- pageLocale: string;
89
88
  override: string | null;
90
- /** P9 — when present, the locale's url_strategy decides the URL shape. */
91
- localeConfig?: {
92
- code: string;
93
- urlStrategy: "none" | "subdirectory" | "subdomain" | "domain";
94
- urlHost: string | null;
95
- isDefault: boolean;
96
- };
97
89
  /**
98
90
  * v0.2.85 — page emission style. 'directory' (default) → URLs end
99
91
  * in `/<slug>/`; 'no-extension' → URLs end in `/<slug>` (no
@@ -102,11 +94,10 @@ export declare function resolveCanonicalUrl(args: {
102
94
  */
103
95
  pageUrlStyle?: "directory" | "no-extension";
104
96
  /**
105
- * 0184 — explicit homepage designation (`locales.home_page_id`). When
106
- * true this page IS the locale root and canonicalizes to `<base>/`
107
- * regardless of its slug. Uses the same predicate (`isHomeSlug`) as
108
- * the magic-slug fallback so canonical agrees with hreflang + the
109
- * emitted output path.
97
+ * 0184 — explicit homepage designation. When true this page IS the
98
+ * site root and canonicalizes to `<base>/` regardless of its slug.
99
+ * Uses the same predicate (`isHomeSlug`) as the magic-slug fallback
100
+ * so canonical agrees with the emitted output path.
110
101
  */
111
102
  isHomePage?: boolean;
112
103
  }): string;
@@ -116,10 +107,6 @@ export interface SeoMetaInput {
116
107
  canonical: string;
117
108
  noindex: boolean;
118
109
  ogImageUrl: string | null;
119
- hreflang: {
120
- locale: string;
121
- url: string;
122
- }[];
123
110
  organization: SiteSeoSettings["organization"];
124
111
  }
125
112
  /**
@@ -127,7 +114,7 @@ export interface SeoMetaInput {
127
114
  * the renderer injects just before </head>. Order is canonical
128
115
  * (W3C-recommended): charset / viewport stay in the layout; meta
129
116
  * description + canonical + robots + Open Graph + Twitter card +
130
- * hreflang + JSON-LD.
117
+ * JSON-LD.
131
118
  *
132
119
  * No raw HTML escape hatch — every variable is HTML-attribute-encoded.
133
120
  */
package/dist/seo.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"seo.d.ts","sourceRoot":"","sources":["../src/seo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seo.d.ts","sourceRoot":"","sources":["../src/seo.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,iBAAiB,gFAQpB,CAAC;AACX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,6EAA6E;AAC7E,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAC5C,eAAO,MAAM,+BAA+B,MAAM,CAAC;AAEnD,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAC5C,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;kBAUnB,CAAC;AACZ,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,sBAAsB;;;;kBAMxB,CAAC;AACZ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,sBAAsB;;;;;kBAQxB,CAAC;AACZ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,6BAA6B;;;;;;;;;kBAkB/B,CAAC;AACZ,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;CACH;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,WAAW,GAAG,cAAc,CAAC;IAC5C;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,MAAM,CAWT;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;CAC/C;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAmDzD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CASzE"}
package/dist/seo.js CHANGED
@@ -69,9 +69,9 @@ export const siteDefaultsSetSeoInputSchema = z
69
69
  .strict();
70
70
  /**
71
71
  * Resolve the canonical URL for a page. If `pages_seo.canonical_url`
72
- * is set it wins; otherwise build `<siteBaseUrl>/<page-path>` from
73
- * the page's slug + locale. Locale strategy is single-locale (no
74
- * prefix) until P9 i18n.
72
+ * is set it wins; otherwise build `<siteBaseUrl>/<slug>` (home pages
73
+ * canonicalize to the bare base URL). URL shaping beyond base + slug
74
+ * becomes a plugin contribution on the URL composition point (#390).
75
75
  */
76
76
  export function resolveCanonicalUrl(args) {
77
77
  if (args.override && args.override.length > 0)
@@ -84,16 +84,6 @@ export function resolveCanonicalUrl(args) {
84
84
  // shape dictated by the page-emission style. Home pages always
85
85
  // resolve to the base URL (no tail) regardless of style.
86
86
  const tail = cleanSlug ? (style === "no-extension" ? cleanSlug : `${cleanSlug}/`) : "";
87
- const cfg = args.localeConfig;
88
- if (cfg && cfg.urlStrategy !== "none") {
89
- if (cfg.urlStrategy === "subdirectory") {
90
- return tail ? `${base}/${cfg.code}/${tail}` : `${base}/${cfg.code}/`;
91
- }
92
- if ((cfg.urlStrategy === "subdomain" || cfg.urlStrategy === "domain") && cfg.urlHost) {
93
- const protocol = base.startsWith("http://") ? "http://" : "https://";
94
- return tail ? `${protocol}${cfg.urlHost}/${tail}` : `${protocol}${cfg.urlHost}/`;
95
- }
96
- }
97
87
  return tail ? `${base}/${tail}` : `${base}/`;
98
88
  }
99
89
  /**
@@ -101,7 +91,7 @@ export function resolveCanonicalUrl(args) {
101
91
  * the renderer injects just before </head>. Order is canonical
102
92
  * (W3C-recommended): charset / viewport stay in the layout; meta
103
93
  * description + canonical + robots + Open Graph + Twitter card +
104
- * hreflang + JSON-LD.
94
+ * JSON-LD.
105
95
  *
106
96
  * No raw HTML escape hatch — every variable is HTML-attribute-encoded.
107
97
  */
@@ -128,14 +118,6 @@ export function renderSeoHead(input) {
128
118
  }
129
119
  // Twitter card
130
120
  lines.push(`<meta name="twitter:card" content="${input.ogImageUrl ? "summary_large_image" : "summary"}" />`);
131
- // Hreflang per locale + x-default. P8 ships zero rows; P9 i18n
132
- // populates pages_hreflang and the existing renderer iterates.
133
- for (const h of input.hreflang) {
134
- lines.push(`<link rel="alternate" hreflang="${enc(h.locale)}" href="${enc(h.url)}" />`);
135
- }
136
- if (input.hreflang.length > 0) {
137
- lines.push(`<link rel="alternate" hreflang="x-default" href="${enc(input.canonical)}" />`);
138
- }
139
121
  // JSON-LD WebPage block referencing the Organization (when set).
140
122
  const ld = {
141
123
  "@context": "https://schema.org",
package/dist/seo.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"seo.js","sourceRoot":"","sources":["../src/seo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seo.js","sourceRoot":"","sources":["../src/seo.ts"],"names":[],"mappings":"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"}
@@ -47,19 +47,6 @@ export declare const linkListItem: z.ZodObject<{
47
47
  href: z.ZodString;
48
48
  description: z.ZodOptional<z.ZodString>;
49
49
  }, z.core.$strict>;
50
- /**
51
- * P9 review-pass — `language-selector` kind. Items are user-supplied
52
- * overrides (e.g. force a specific display label per locale); empty
53
- * array means "auto-populate from the locale registry at render time."
54
- * The renderer (apps/static-generator + preview op) reads the locale
55
- * registry + the current page's slug + resolveLocaleUrl to emit
56
- * `<a hreflang lang href>` rows. Closes CMS_REQUIREMENTS §7.8.
57
- */
58
- export declare const languageSelectorOverride: z.ZodObject<{
59
- locale: z.ZodString;
60
- label: z.ZodOptional<z.ZodString>;
61
- hidden: z.ZodOptional<z.ZodBoolean>;
62
- }, z.core.$strict>;
63
50
  /** Discriminated kind → items array. The Query API op picks the
64
51
  * validator at runtime by reading `kind` first.
65
52
  *
@@ -71,7 +58,6 @@ export declare const structuredSetKind: z.ZodEnum<{
71
58
  "nav-menu": "nav-menu";
72
59
  taxonomy: "taxonomy";
73
60
  tags: "tags";
74
- "language-selector": "language-selector";
75
61
  }>;
76
62
  export type StructuredSetKind = z.infer<typeof structuredSetKind>;
77
63
  /** Validate `items` against the right schema for `kind`. Throws a
@@ -81,26 +67,4 @@ export type NavMenuItem = z.infer<typeof navMenuItem>;
81
67
  export type TaxonomyItem = z.infer<typeof taxonomyItem>;
82
68
  export type TagItem = z.infer<typeof tagItem>;
83
69
  export type LinkListItem = z.infer<typeof linkListItem>;
84
- export type LanguageSelectorOverride = z.infer<typeof languageSelectorOverride>;
85
- /**
86
- * Render a `<nav class="caelo-language-selector">` with one `<a>`
87
- * per locale that has a published variant of the current page. Pure
88
- * function — caller threads the page's published-locale list and a
89
- * URL resolver. Used by `composePagePreview` (admin) and the static
90
- * generator (deploy) so byte-for-byte output parity holds.
91
- *
92
- * Per CMS_REQUIREMENTS §7.8: locales with no published variant for the
93
- * current page are excluded.
94
- */
95
- export declare function renderLanguageSelector(args: {
96
- /** Each locale that has a published variant of the current page. */
97
- readonly availableLocales: ReadonlyArray<{
98
- code: string;
99
- displayName: string;
100
- href: string;
101
- isCurrent: boolean;
102
- }>;
103
- /** Owner-supplied overrides (relabel a locale, hide one). */
104
- readonly overrides?: ReadonlyArray<LanguageSelectorOverride>;
105
- }): string;
106
70
  //# sourceMappingURL=structured-sets.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"structured-sets.d.ts","sourceRoot":"","sources":["../src/structured-sets.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,+DAA+D;AAC/D,eAAO,MAAM,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC5B,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC7C,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAUA,CAAC;AAEF,2EAA2E;AAC3E,eAAO,MAAM,YAAY;;;;;kBAOd,CAAC;AAEZ,6DAA6D;AAC7D,eAAO,MAAM,OAAO;;;;kBAaT,CAAC;AAEZ,gDAAgD;AAChD,eAAO,MAAM,YAAY;;;;kBAMd,CAAC;AAEZ;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB;;;;kBAS1B,CAAC;AAEZ;;;;;yDAKyD;AACzD,eAAO,MAAM,iBAAiB;;;;;;EAM5B,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE;8EAC8E;AAC9E,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,EAAE,CAsB7F;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AACtD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AACxD,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;AAC9C,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AACxD,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAEhF;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,oEAAoE;IACpE,QAAQ,CAAC,gBAAgB,EAAE,aAAa,CAAC;QACvC,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC,CAAC;IACH,6DAA6D;IAC7D,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,wBAAwB,CAAC,CAAC;CAC9D,GAAG,MAAM,CAgBT"}
1
+ {"version":3,"file":"structured-sets.d.ts","sourceRoot":"","sources":["../src/structured-sets.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,+DAA+D;AAC/D,eAAO,MAAM,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC5B,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC7C,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAUA,CAAC;AAEF,2EAA2E;AAC3E,eAAO,MAAM,YAAY;;;;;kBAOd,CAAC;AAEZ,6DAA6D;AAC7D,eAAO,MAAM,OAAO;;;;kBAaT,CAAC;AAEZ,gDAAgD;AAChD,eAAO,MAAM,YAAY;;;;kBAMd,CAAC;AAEZ;;;;;yDAKyD;AACzD,eAAO,MAAM,iBAAiB;;;;;EAAwD,CAAC;AACvF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE;8EAC8E;AAC9E,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,EAAE,CAoB7F;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AACtD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AACxD,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;AAC9C,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
@@ -59,37 +59,13 @@ export const linkListItem = z
59
59
  description: z.string().max(500).optional(),
60
60
  })
61
61
  .strict();
62
- /**
63
- * P9 review-pass — `language-selector` kind. Items are user-supplied
64
- * overrides (e.g. force a specific display label per locale); empty
65
- * array means "auto-populate from the locale registry at render time."
66
- * The renderer (apps/static-generator + preview op) reads the locale
67
- * registry + the current page's slug + resolveLocaleUrl to emit
68
- * `<a hreflang lang href>` rows. Closes CMS_REQUIREMENTS §7.8.
69
- */
70
- export const languageSelectorOverride = z
71
- .object({
72
- /** BCP-47 locale code; must match a row in the locales registry. */
73
- locale: z.string().min(2).max(10),
74
- /** Override the locale's display_name when rendering this entry. */
75
- label: z.string().min(1).max(120).optional(),
76
- /** Hide this locale from the rendered selector even if it has a published page. */
77
- hidden: z.boolean().optional(),
78
- })
79
- .strict();
80
62
  /** Discriminated kind → items array. The Query API op picks the
81
63
  * validator at runtime by reading `kind` first.
82
64
  *
83
65
  * v0.11.0 (#45) — `theme` is no longer a structured-set kind. The
84
66
  * theme primitive moved to its own `themes` table with DTCG-shaped
85
67
  * jsonb tokens; see `themes.ts` + `theme-render.ts`. */
86
- export const structuredSetKind = z.enum([
87
- "nav-menu",
88
- "taxonomy",
89
- "tags",
90
- "link-list",
91
- "language-selector",
92
- ]);
68
+ export const structuredSetKind = z.enum(["nav-menu", "taxonomy", "tags", "link-list"]);
93
69
  /** Validate `items` against the right schema for `kind`. Throws a
94
70
  * ZodError on mismatch — callers wrap and return `Err(ValidationFailed)`. */
95
71
  export function validateStructuredSetItems(kind, items) {
@@ -111,33 +87,6 @@ export function validateStructuredSetItems(kind, items) {
111
87
  return items.map((it) => tagItem.parse(it));
112
88
  case "link-list":
113
89
  return items.map((it) => linkListItem.parse(it));
114
- case "language-selector":
115
- return items.map((it) => languageSelectorOverride.parse(it));
116
90
  }
117
91
  }
118
- /**
119
- * Render a `<nav class="caelo-language-selector">` with one `<a>`
120
- * per locale that has a published variant of the current page. Pure
121
- * function — caller threads the page's published-locale list and a
122
- * URL resolver. Used by `composePagePreview` (admin) and the static
123
- * generator (deploy) so byte-for-byte output parity holds.
124
- *
125
- * Per CMS_REQUIREMENTS §7.8: locales with no published variant for the
126
- * current page are excluded.
127
- */
128
- export function renderLanguageSelector(args) {
129
- const overrideByLocale = new Map((args.overrides ?? []).map((o) => [o.locale, o]));
130
- const enc = (s) => s.replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
131
- const items = args.availableLocales
132
- .filter((l) => !overrideByLocale.get(l.code)?.hidden)
133
- .map((l) => {
134
- const override = overrideByLocale.get(l.code);
135
- const label = override?.label ?? l.displayName;
136
- const aria = l.isCurrent ? ' aria-current="true"' : "";
137
- return `<a hreflang="${enc(l.code)}" lang="${enc(l.code)}" href="${enc(l.href)}"${aria}>${enc(label)}</a>`;
138
- });
139
- if (items.length === 0)
140
- return "";
141
- return `<nav class="caelo-language-selector" aria-label="Language">${items.join("")}</nav>`;
142
- }
143
92
  //# sourceMappingURL=structured-sets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"structured-sets.js","sourceRoot":"","sources":["../src/structured-sets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"structured-sets.js","sourceRoot":"","sources":["../src/structured-sets.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -19,7 +19,7 @@
19
19
  * Format: SemVer 2.0.0. Pre-1.0 minor bumps are breaking; post-1.0
20
20
  * follow standard SemVer.
21
21
  */
22
- export declare const CAELO_VERSION = "0.10.23";
22
+ export declare const CAELO_VERSION = "0.10.24";
23
23
  /**
24
24
  * Deprecated alias for back-compat — early P17 work spelled this
25
25
  * `CALEO_VERSION` (typo of "Caelo"). New code should import
@@ -31,7 +31,7 @@ export declare const CAELO_VERSION = "0.10.23";
31
31
  *
32
32
  * @deprecated use CAELO_VERSION
33
33
  */
34
- export declare const CALEO_VERSION = "0.10.23";
34
+ export declare const CALEO_VERSION = "0.10.24";
35
35
  /**
36
36
  * Parsed shape — major/minor/patch + optional pre-release tag.
37
37
  * Stable interface for callers that need to feature-gate (rare —
package/dist/version.js CHANGED
@@ -20,7 +20,7 @@
20
20
  * Format: SemVer 2.0.0. Pre-1.0 minor bumps are breaking; post-1.0
21
21
  * follow standard SemVer.
22
22
  */
23
- export const CAELO_VERSION = "0.10.23";
23
+ export const CAELO_VERSION = "0.10.24";
24
24
  /**
25
25
  * Deprecated alias for back-compat — early P17 work spelled this
26
26
  * `CALEO_VERSION` (typo of "Caelo"). New code should import
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@caelo-cms/shared",
3
- "version": "0.10.23",
3
+ "version": "0.10.24",
4
4
  "private": false,
5
5
  "license": "MPL-2.0",
6
6
  "description": "Shared Zod schemas + types + the two-pass HTML composer used by every Caelo CMS workspace package. Stable enough for plugin authors and embedders to depend on directly.",
@@ -35,7 +35,7 @@
35
35
  "prepublishOnly": "tsc -b --force"
36
36
  },
37
37
  "dependencies": {
38
- "colorjs.io": "^0.6.1",
38
+ "colorjs.io": "^0.7.1",
39
39
  "htmlparser2": "^12.0.0",
40
40
  "mustache": "^4.2.0",
41
41
  "zod": "4.4.3"
package/src/ai-tools.ts CHANGED
@@ -614,11 +614,10 @@ export type RemoveModuleFromToolInput = z.infer<typeof removeModuleFromToolInput
614
614
 
615
615
  export const setStructuredSetToolInput = z
616
616
  .object({
617
- // v0.10.22 — added "language-selector" to match @caelo-cms/shared
618
617
  // structuredSetKind (the 6th kind that was previously unreachable
619
618
  // from any AI tool — the kind-specific wrappers covered only
620
619
  // nav-menu + theme).
621
- kind: z.enum(["nav-menu", "taxonomy", "theme", "tags", "link-list", "language-selector"]),
620
+ kind: z.enum(["nav-menu", "taxonomy", "tags", "link-list"]),
622
621
  slug: slugInputSchema,
623
622
  displayName: z.string().min(1).max(200),
624
623
  items: z.array(z.unknown()),
@@ -980,79 +979,6 @@ export type MoveModuleToolInput = z.infer<typeof moveModuleToolInput>;
980
979
  export type ReorderModuleToolInput = z.infer<typeof reorderModuleToolInput>;
981
980
  // v0.10.22 — `SetNavMenuToolInput` removed alongside `set_nav_menu` tool.
982
981
 
983
- /**
984
- * P9 — locales propose tool schemas. Per CLAUDE.md §11.A all four
985
- * write paths are TWO-STEP (AI proposes → Owner clicks Approve);
986
- * the AI cannot bypass the click.
987
- */
988
- const localeCodeToolSchema = z
989
- .string()
990
- .min(2)
991
- .max(10)
992
- .regex(/^[a-z]{2,3}(-[A-Za-z]{2,4})?$/, "BCP-47 like 'en' or 'de-AT'");
993
- const urlStrategyToolSchema = z.enum(["none", "subdirectory", "subdomain", "domain"]);
994
-
995
- export const proposeAddLocaleToolInput = z
996
- .object({
997
- code: localeCodeToolSchema,
998
- displayName: z.string().min(1).max(120),
999
- urlStrategy: urlStrategyToolSchema.default("subdirectory"),
1000
- urlHost: z.string().min(1).max(253).nullable().optional(),
1001
- })
1002
- .strict();
1003
- export type ProposeAddLocaleToolInput = z.infer<typeof proposeAddLocaleToolInput>;
1004
-
1005
- export const proposeRemoveLocaleToolInput = z.object({ code: localeCodeToolSchema }).strict();
1006
- export type ProposeRemoveLocaleToolInput = z.infer<typeof proposeRemoveLocaleToolInput>;
1007
-
1008
- export const proposeSetDefaultLocaleToolInput = z.object({ code: localeCodeToolSchema }).strict();
1009
- export type ProposeSetDefaultLocaleToolInput = z.infer<typeof proposeSetDefaultLocaleToolInput>;
1010
-
1011
- export const proposeUpdateLocaleStrategyToolInput = z
1012
- .object({
1013
- code: localeCodeToolSchema,
1014
- urlStrategy: urlStrategyToolSchema,
1015
- urlHost: z.string().min(1).max(253).nullable().optional(),
1016
- })
1017
- .strict();
1018
- export type ProposeUpdateLocaleStrategyToolInput = z.infer<
1019
- typeof proposeUpdateLocaleStrategyToolInput
1020
- >;
1021
-
1022
- /**
1023
- * P10 — translation tool inputs. `translate_page` auto-dispatches
1024
- * Mode 1 / Mode 2 based on the variant's existing status — the AI
1025
- * sees one verb regardless of state. `start_translation_job` queues
1026
- * a bulk run.
1027
- */
1028
- export const translatePageToolInput = z
1029
- .object({
1030
- pageId: z.string().uuid(),
1031
- targetLocale: localeCodeToolSchema,
1032
- })
1033
- .strict();
1034
- export type TranslatePageToolInput = z.infer<typeof translatePageToolInput>;
1035
-
1036
- const translationJobScopeTool = z.discriminatedUnion("kind", [
1037
- z.object({ kind: z.literal("all-stale") }).strict(),
1038
- z.object({ kind: z.literal("page"), pageId: z.string().uuid() }).strict(),
1039
- z.object({ kind: z.literal("locale"), code: localeCodeToolSchema }).strict(),
1040
- z
1041
- .object({
1042
- kind: z.literal("pages"),
1043
- pageIds: z.array(z.string().uuid()).min(1).max(500),
1044
- })
1045
- .strict(),
1046
- ]);
1047
-
1048
- export const startTranslationJobToolInput = z
1049
- .object({
1050
- scope: translationJobScopeTool,
1051
- capMicrocents: z.number().int().nonnegative().nullable().optional(),
1052
- })
1053
- .strict();
1054
- export type StartTranslationJobToolInput = z.infer<typeof startTranslationJobToolInput>;
1055
-
1056
982
  /**
1057
983
  * P10A — `propose_skill`. AI drafts a new skill body (or revision) and
1058
984
  * queues it for Owner review. Per CLAUDE.md §2: skills augment the AI's
package/src/base-css.ts CHANGED
@@ -19,6 +19,17 @@
19
19
  * drafts assume it);
20
20
  * - form controls inherit the page's font instead of UA chrome.
21
21
  *
22
+ * Amendment (issue #410): one rule consumes a design token — the body
23
+ * font-family reads `var(--font-body)`. This does NOT reintroduce a
24
+ * global look: the token is declared per site by the theme renderer
25
+ * (#164), and applying the site's OWN chosen token is the mechanism
26
+ * that makes that choice take effect at all. Without a consumer the
27
+ * variable is declared but dead, and every fresh site renders the UA
28
+ * serif despite its theme's stack. The `system-ui,sans-serif` fallback
29
+ * is a declared default in the CSS cascade for themeless installs, not
30
+ * a hidden recovery path (CLAUDE.md §2 — nothing is silently
31
+ * substituted at read time; the cascade default is stated here, once).
32
+ *
22
33
  * Injected as `<style data-source="base">` between the theme vars and
23
34
  * the aggregated module CSS, so any module rule overrides it trivially.
24
35
  */
@@ -27,4 +38,5 @@ export const BASE_TECHNICAL_CSS =
27
38
  "*,*::before,*::after{box-sizing:border-box}" +
28
39
  "body{margin:0}" +
29
40
  "img,picture,video,canvas,svg{display:block;max-width:100%}" +
30
- "input,button,textarea,select{font:inherit}";
41
+ "input,button,textarea,select{font:inherit}" +
42
+ "body{font-family:var(--font-body,system-ui,sans-serif)}";
@@ -0,0 +1,85 @@
1
+ // SPDX-License-Identifier: MPL-2.0
2
+
3
+ /**
4
+ * issue #375 — theme-shell composition for growth-time design drafts:
5
+ * head order (fonts → theme vars → base), theme-asset placeholder
6
+ * resolution incl. the loud unbound path, and the no-theme degradation.
7
+ */
8
+
9
+ import { describe, expect, it } from "bun:test";
10
+ import { composeDesignDraftShell } from "./design-draft-shell.js";
11
+ import type { ComposeTheme } from "./preview-compose.js";
12
+ import type { ThemeDocument } from "./themes.js";
13
+
14
+ const TOKENS = {
15
+ color: {
16
+ background: { $type: "color", $value: "#ffffff" },
17
+ primary: { $type: "color", $value: "#4f46e5" },
18
+ },
19
+ } as ThemeDocument;
20
+
21
+ const THEME: ComposeTheme = {
22
+ tokens: TOKENS,
23
+ assets: {
24
+ logo: { mediaId: "11111111-1111-4111-8111-111111111111", url: "/_caelo/media/logo/orig" },
25
+ logoDark: null,
26
+ favicon: null,
27
+ socialShare: null,
28
+ },
29
+ };
30
+
31
+ const FRAGMENT = `<section class="hero"><h1>Real headline</h1><style>.hero{color:var(--color-primary)}</style></section>`;
32
+
33
+ describe("composeDesignDraftShell (issue #375)", () => {
34
+ it("wraps the fragment in fonts → theme vars → base head order", () => {
35
+ const out = composeDesignDraftShell({
36
+ fragmentHtml: FRAGMENT,
37
+ theme: THEME,
38
+ fonts: { css: "@font-face{font-family:Inter}", preloads: ["/_caelo/fonts/inter/aa.woff2"] },
39
+ title: "Draft — bold",
40
+ });
41
+ expect(out.html).toStartWith("<!doctype html>");
42
+ expect(out.html).toContain('<style data-source="fonts">@font-face{font-family:Inter}');
43
+ expect(out.html).toContain('rel="preload" as="font"');
44
+ expect(out.html).toContain('<style data-source="theme">');
45
+ expect(out.html).toContain("--color-primary:#4f46e5");
46
+ expect(out.html).toContain('<style data-source="base">');
47
+ expect(out.html).toContain(FRAGMENT);
48
+ expect(out.missingSlots).toEqual([]);
49
+ const fontsAt = out.html.indexOf('data-source="fonts"');
50
+ const themeAt = out.html.indexOf('data-source="theme"');
51
+ const baseAt = out.html.indexOf('data-source="base"');
52
+ expect(fontsAt).toBeLessThan(themeAt);
53
+ expect(themeAt).toBeLessThan(baseAt);
54
+ });
55
+
56
+ it("substitutes bound theme-asset placeholders and flags unbound ones loudly", () => {
57
+ const out = composeDesignDraftShell({
58
+ fragmentHtml: `<img src="{{theme_logo_url}}"><img src="{{theme_favicon_url}}">`,
59
+ theme: THEME,
60
+ title: "assets",
61
+ });
62
+ expect(out.html).toContain('src="/_caelo/media/logo/orig"');
63
+ // Unbound slot: placeholder survives raw IN PLACE (§2 no-fallbacks;
64
+ // the attribute value must not be corrupted by an inline marker) …
65
+ expect(out.html).toContain('src="{{theme_favicon_url}}"');
66
+ // … and the marker rides as a real comment node at the body's end.
67
+ expect(out.html).toContain("<!-- caelo:missing reason=theme-asset-unbound:favicon --></body>");
68
+ expect(out.missingSlots).toEqual(["theme-asset-unbound:favicon"]);
69
+ });
70
+
71
+ it("renders without theme vars when no theme exists (visibly broken on purpose)", () => {
72
+ const out = composeDesignDraftShell({ fragmentHtml: FRAGMENT, title: "no theme" });
73
+ expect(out.html).not.toContain('data-source="theme"');
74
+ expect(out.html).not.toContain('data-source="fonts"');
75
+ expect(out.html).toContain('data-source="base"');
76
+ });
77
+
78
+ it("escapes the document title", () => {
79
+ const out = composeDesignDraftShell({
80
+ fragmentHtml: FRAGMENT,
81
+ title: `<script>"x"</script>`,
82
+ });
83
+ expect(out.html).toContain("<title>&lt;script&gt;&quot;x&quot;&lt;/script&gt;</title>");
84
+ });
85
+ });