@getvitops/generator 7.0.0 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -437,6 +437,13 @@ declare const AdPropertySchema: z.ZodMiniObject<{
437
437
  }>>;
438
438
  enabled: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
439
439
  }, z.z.core.$strip>;
440
+ /**
441
+ * How one location's Google reviews are selected and ordered for display.
442
+ *
443
+ * Keyed by `organization.locations` key, mirroring `site.ads`/`site.searchConsole`
444
+ * — `vitops reviews` needs to know which physical location a fetched review set
445
+ * belongs to, and that record already exists.
446
+ */
440
447
  /**
441
448
  * Which template set the generated legal documents are written against. This is
442
449
  * a closed enum rather than a free string because an unrecognised value would
@@ -756,6 +763,22 @@ declare const SiteSectionSchema: z.ZodMiniObject<{
756
763
  }>>;
757
764
  enabled: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
758
765
  }, z.z.core.$strip>>>;
766
+ reviews: z.ZodMiniOptional<z.ZodMiniObject<{
767
+ accountId: z.ZodMiniOptional<z.ZodMiniString<string>>;
768
+ locations: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
769
+ accountId: z.ZodMiniOptional<z.ZodMiniString<string>>;
770
+ locationId: z.ZodMiniString<string>;
771
+ featured: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
772
+ minRating: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
773
+ limit: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
774
+ sort: z.ZodMiniOptional<z.ZodMiniEnum<{
775
+ rating: "rating";
776
+ recent: "recent";
777
+ }>>;
778
+ }, z.z.core.$strip>>;
779
+ schema: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
780
+ avatars: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
781
+ }, z.z.core.$strip>>;
759
782
  security: z.ZodMiniOptional<z.ZodMiniObject<{
760
783
  turnstile: z.ZodMiniOptional<z.ZodMiniObject<{
761
784
  siteKey: z.ZodMiniOptional<z.ZodMiniString<string>>;
@@ -1498,6 +1521,22 @@ declare const ConfigSchema: z.ZodMiniObject<{
1498
1521
  }>>;
1499
1522
  enabled: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1500
1523
  }, z.z.core.$strip>>>;
1524
+ reviews: z.ZodMiniOptional<z.ZodMiniObject<{
1525
+ accountId: z.ZodMiniOptional<z.ZodMiniString<string>>;
1526
+ locations: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
1527
+ accountId: z.ZodMiniOptional<z.ZodMiniString<string>>;
1528
+ locationId: z.ZodMiniString<string>;
1529
+ featured: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1530
+ minRating: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1531
+ limit: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1532
+ sort: z.ZodMiniOptional<z.ZodMiniEnum<{
1533
+ rating: "rating";
1534
+ recent: "recent";
1535
+ }>>;
1536
+ }, z.z.core.$strip>>;
1537
+ schema: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1538
+ avatars: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1539
+ }, z.z.core.$strip>>;
1501
1540
  security: z.ZodMiniOptional<z.ZodMiniObject<{
1502
1541
  turnstile: z.ZodMiniOptional<z.ZodMiniObject<{
1503
1542
  siteKey: z.ZodMiniOptional<z.ZodMiniString<string>>;
@@ -2131,6 +2170,22 @@ declare const configJsonSchema: {
2131
2170
  }>>;
2132
2171
  enabled: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
2133
2172
  }, z.z.core.$strip>>>;
2173
+ reviews: z.ZodMiniOptional<z.ZodMiniObject<{
2174
+ accountId: z.ZodMiniOptional<z.ZodMiniString<string>>;
2175
+ locations: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
2176
+ accountId: z.ZodMiniOptional<z.ZodMiniString<string>>;
2177
+ locationId: z.ZodMiniString<string>;
2178
+ featured: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
2179
+ minRating: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
2180
+ limit: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
2181
+ sort: z.ZodMiniOptional<z.ZodMiniEnum<{
2182
+ rating: "rating";
2183
+ recent: "recent";
2184
+ }>>;
2185
+ }, z.z.core.$strip>>;
2186
+ schema: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
2187
+ avatars: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
2188
+ }, z.z.core.$strip>>;
2134
2189
  security: z.ZodMiniOptional<z.ZodMiniObject<{
2135
2190
  turnstile: z.ZodMiniOptional<z.ZodMiniObject<{
2136
2191
  siteKey: z.ZodMiniOptional<z.ZodMiniString<string>>;
@@ -2961,7 +3016,6 @@ interface IconSpriteOptions {
2961
3016
  }
2962
3017
  interface IconSpriteResult {
2963
3018
  svg: string;
2964
- /** Every `<symbol>` id emitted, in order. */
2965
3019
  ids: string[];
2966
3020
  /** `prefix:name` entries that were asked for but not found. */
2967
3021
  missing: string[];
@@ -3430,6 +3484,25 @@ declare function renderNodes(cfg: Config, doc: LegalDoc): ContentNode[];
3430
3484
  */
3431
3485
  declare function generateLegal(cfg: Config, opts?: GenerateLegalOptions): Record<string, string>;
3432
3486
  //#endregion
3487
+ //#region src/robots.d.ts
3488
+ interface RenderRobotsOptions {
3489
+ /** Which `site.environments` entry to render for. Default `'production'`. */
3490
+ env?: string;
3491
+ }
3492
+ /**
3493
+ * Render `robots.txt` for one environment.
3494
+ *
3495
+ * A blocked environment gets `Disallow: /` for every user agent and no sitemap
3496
+ * line — publishing the sitemap of a site asking not to be indexed would be
3497
+ * the more damaging way to get this wrong, handing every listed URL to a
3498
+ * crawler that then finds itself blocked from all of them, but has already
3499
+ * seen where they are. An allowed environment gets a permissive robots.txt
3500
+ * plus a `Sitemap:` line, using the exact URL `vitops search notify` would
3501
+ * submit — `site.seo.indexing.sitemapUrl`, or `<canonical>/sitemap-index.xml`,
3502
+ * the same default `@astrojs/sitemap` produces.
3503
+ */
3504
+ declare function renderRobotsTxt(cfg: Config, options?: RenderRobotsOptions): string;
3505
+ //#endregion
3433
3506
  //#region src/index.d.ts
3434
3507
  /**
3435
3508
  * A minimal but complete starter design system, used by `vitops init`. It
@@ -3438,5 +3511,5 @@ declare function generateLegal(cfg: Config, opts?: GenerateLegalOptions): Record
3438
3511
  */
3439
3512
  declare function defaultConfig(): DesignSystem;
3440
3513
  //#endregion
3441
- export { AD_PROVIDERS, type AdProvider, BASE_HOOK, type Block, CONFIG_SCHEMA_URL, CONTRAST, type ColorUtility, type Config, ConfigSchema, type ConfigValidationResult, type ContactObject, DARK_SEL, DOC_ORDER, DOC_SLUGS, type DesignSystem, DesignSystemSchema, type DocSet, type ExpandedHue, type Format, type FunctionalRole, type GenerateLegalOptions, type GenerateOptions, type GenerateResult, type IconSpriteOptions, type IconSpriteResult, JURISDICTIONS, JURISDICTION_COUNTRIES, type JsonSchemaNode, type Jurisdiction, KNOWN_PROCESSORS, type KnownProcessorKey, type LegalDoc, type LegalOutput, NUMERIC_STEPS, type OrganizationConfig, type PolicyVars, type PostalAddress, type Processor, type ProcessorStorage, REQUIRED_ROLES, ROLE_TOKEN_KEYS, type ResolvedInput, type RoleKind, type RoleSpec, SCHEMA_LOCAL_PATH, SCHEMA_URL, type SchemaTreeNode, type SchemaTreeOptions, type SiteAdProperty, type SiteFont, SiteFontSchema, type SiteIndexNow, type SiteIndexing, type SiteSearchConsole, type SiteSection, type Span, type StylesheetFormat, TEMPLATES, TIERS, TIER_NAMES, TW_CLASH, type Tier, type TierAstro, type TierCss, type TierEntry, type TierProjection, type TierWc, type ValidationResult, buildIconSprite, configJsonSchema, deepMerge, defaultConfig, derivePolicyVars, detectProcessorKeys, enabledDocs, expandPalette, functionalRole, generate, generateDocs, generateLegal, isConfig, jsonSchema, loadIconSvg, movedTokens, parseMarkdown, processorsMissingLocation, renderInlineMarkdown, renderMarkdown, renderNodes, resolveConfig, resolveInput, resolvePrivacyContact, resolveProcessors, resolveTheme, roleColorUtilities, roleHue, roleKind, schemaTreeNodes, spriteId, stripNulls, tierPatterns, tierTags, toContentNodes, toHtmlFragment, toPortableText, tokenClass, tokenVar, validate, validateConfig };
3514
+ export { AD_PROVIDERS, type AdProvider, BASE_HOOK, type Block, CONFIG_SCHEMA_URL, CONTRAST, type ColorUtility, type Config, ConfigSchema, type ConfigValidationResult, type ContactObject, DARK_SEL, DOC_ORDER, DOC_SLUGS, type DesignSystem, DesignSystemSchema, type DocSet, type ExpandedHue, type Format, type FunctionalRole, type GenerateLegalOptions, type GenerateOptions, type GenerateResult, type IconSpriteOptions, type IconSpriteResult, JURISDICTIONS, JURISDICTION_COUNTRIES, type JsonSchemaNode, type Jurisdiction, KNOWN_PROCESSORS, type KnownProcessorKey, type LegalDoc, type LegalOutput, NUMERIC_STEPS, type OrganizationConfig, type PolicyVars, type PostalAddress, type Processor, type ProcessorStorage, REQUIRED_ROLES, ROLE_TOKEN_KEYS, type RenderRobotsOptions, type ResolvedInput, type RoleKind, type RoleSpec, SCHEMA_LOCAL_PATH, SCHEMA_URL, type SchemaTreeNode, type SchemaTreeOptions, type SiteAdProperty, type SiteFont, SiteFontSchema, type SiteIndexNow, type SiteIndexing, type SiteSearchConsole, type SiteSection, type Span, type StylesheetFormat, TEMPLATES, TIERS, TIER_NAMES, TW_CLASH, type Tier, type TierAstro, type TierCss, type TierEntry, type TierProjection, type TierWc, type ValidationResult, buildIconSprite, configJsonSchema, deepMerge, defaultConfig, derivePolicyVars, detectProcessorKeys, enabledDocs, expandPalette, functionalRole, generate, generateDocs, generateLegal, isConfig, jsonSchema, loadIconSvg, movedTokens, parseMarkdown, processorsMissingLocation, renderInlineMarkdown, renderMarkdown, renderNodes, renderRobotsTxt, resolveConfig, resolveInput, resolvePrivacyContact, resolveProcessors, resolveTheme, roleColorUtilities, roleHue, roleKind, schemaTreeNodes, spriteId, stripNulls, tierPatterns, tierTags, toContentNodes, toHtmlFragment, toPortableText, tokenClass, tokenVar, validate, validateConfig };
3442
3515
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":["left","top","width","height","rotate","hFlip","vFlip","IconifyDimenisons","IconifyTransformations","IconifyOptional","parent","body","hidden","IconifyIcon","APIIconAttributes","IconifyAlias","index","ExtendedIconifyIcon","ExtendedIconifyAlias","name","total","version","author","url","license","title","spdx","samples","displayHeight","category","tags","palette","prefix","suffix","info","IconifyInfo","chars","IconifyChars","categories","IconifyCategories","themes","LegacyIconifyThemes","prefixes","Record","suffixes","provider","icons","IconifyIcons","aliases","IconifyAliases","IconifyJSONIconsData","IconifyMetaData","lastModified","not_found","IconifyJSON","metadata"],"sources":["../src/schema.ts","../src/config.ts","../src/tokens.ts","../src/generate.ts","../src/docs.ts","../src/tiers.ts","../../../node_modules/.pnpm/@iconify+types@2.0.0/node_modules/@iconify/types/types.d.ts","../src/icons-sprite.ts","../src/shared.ts","../src/token-refs.ts","../src/legal/providers.ts","../src/legal/derive.ts","../src/legal/templates/cookies.ca.ts","../src/legal/templates/privacy.ca.ts","../src/legal/templates/terms.ca.ts","../src/legal/templates/index.ts","../src/legal/render.ts","../src/legal/index.ts","../src/index.ts"],"x_google_ignoreList":[6],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","names":["left","top","width","height","rotate","hFlip","vFlip","IconifyDimenisons","IconifyTransformations","IconifyOptional","parent","body","hidden","IconifyIcon","APIIconAttributes","IconifyAlias","index","ExtendedIconifyIcon","ExtendedIconifyAlias","name","total","version","author","url","license","title","spdx","samples","displayHeight","category","tags","palette","prefix","suffix","info","IconifyInfo","chars","IconifyChars","categories","IconifyCategories","themes","LegacyIconifyThemes","prefixes","Record","suffixes","provider","icons","IconifyIcons","aliases","IconifyAliases","IconifyJSONIconsData","IconifyMetaData","lastModified","not_found","IconifyJSON","metadata"],"sources":["../src/schema.ts","../src/config.ts","../src/tokens.ts","../src/generate.ts","../src/docs.ts","../src/tiers.ts","../../../node_modules/.pnpm/@iconify+types@2.0.0/node_modules/@iconify/types/types.d.ts","../src/icons-sprite.ts","../src/shared.ts","../src/token-refs.ts","../src/legal/providers.ts","../src/legal/derive.ts","../src/legal/templates/cookies.ca.ts","../src/legal/templates/privacy.ca.ts","../src/legal/templates/terms.ca.ts","../src/legal/templates/index.ts","../src/legal/render.ts","../src/legal/index.ts","../src/robots.ts","../src/index.ts"],"x_google_ignoreList":[6],"mappings":";;;;cAmQa,kBAAA,EAAkB,CAAA,CAAA,aAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA0CnB,YAAA,GAAe,CAAA,CAAE,KAAK,QAAQ,kBAAA;;;;;;cA0B7B,UAAA;;;;;;;;;;;;;cAcA,iBAAA;;cAGA,UAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAkDD,gBAAA;EACN,EAAA;EAAU,IAAA,EAAM,YAAA;EAAc,MAAA;EAAY,QAAA;AAAA;EAC1C,EAAA;EAAW,IAAA;EAAiB,MAAA,EAAQ,CAAA,CAAE,IAAA,CAAK,SAAS;EAAI,QAAA;AAAA;;;;;;;;iBAsD9C,QAAA,CAAS,KAAA,YAAiB,gBAAgB;;;cCvTpD,mBAAA,EAAmB,CAAA,CAAA,aAAA;;;;;;;cAWnB,mBAAA,EAAmB,CAAA,CAAA,aAAA;;;;;;;;;;;;KAUb,aAAA,GAAgB,CAAA,CAAE,KAAK,QAAQ,mBAAA;AAAA,KAC/B,aAAA,GAAgB,CAAA,CAAE,KAAK,QAAQ,mBAAA;AAAA,cAyM9B,cAAA,EAAc,CAAA,CAAA,aAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4LrB,cAAA,EAAc,CAAA,CAAA,aAAA;;;;;cAed,mBAAA,EAAmB,CAAA,CAAA,aAAA;;;;cAWnB,cAAA,EAAc,CAAA,CAAA,aAAA;;;;;;;;;;;;;;;;;;;;;;;;cAgCP,YAAA;AAAA,KAWD,UAAA,WAAqB,YAAY;;;;;;;;;;;cAYvC,gBAAA,EAAgB,CAAA,CAAA,aAAA;;;;;;;;;;;;;;;;;;;;;;;;;;cAyFT,aAAA;AAAA,KAED,YAAA,WAAuB,aAAa;;;;;;;;;;;;;;cAenC,sBAAA;EAE2B,EAAA;AAAA;AAAA,cA+ClC,iBAAA,EAAiB,CAAA,CAAA,aAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqWjB,yBAAA,EAAyB,CAAA,CAAA,aAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmClB,YAAA,EAAY,CAAA,CAAA,aAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
package/dist/index.mjs CHANGED
@@ -9,6 +9,7 @@ import { LIGHTNESS_LADDER, contrastLc, generateOklchPalette, hexToOklch, oklchSt
9
9
  import { AD_PLATFORMS, AD_PROVIDER_KEYS } from "@getvitops/utils/ads";
10
10
  import { generateIconInclude, nodesToHtml, resolveIcon, t } from "@getvitops/utils";
11
11
  import { getIconData, iconToSVG, replaceIDs } from "@iconify/utils";
12
+ import { resolveSitemapUrl } from "@getvitops/utils/indexing";
12
13
 
13
14
  //#region src/shared.ts
14
15
  /**
@@ -328,7 +329,7 @@ const LADDER_TOLERANCE = .03;
328
329
  function ladderWarnings(palette) {
329
330
  const warnings = [];
330
331
  for (const [hue, expanded] of Object.entries(palette)) for (const [step, deviation] of Object.entries(expanded.deviations ?? {})) {
331
- if (Math.abs(deviation) <= .03) continue;
332
+ if (Math.abs(deviation) <= LADDER_TOLERANCE) continue;
332
333
  const dir = deviation > 0 ? "lighter" : "darker";
333
334
  warnings.push(`colors.palette.${hue}: the colour pinned at step ${step} is ${Math.abs(deviation).toFixed(3)} ${dir} than the shared lightness ladder — this hue will read ${dir} than others at ${step}. Legal, but move it to a neighbouring step if that wasn't intended.`);
334
335
  }
@@ -1618,6 +1619,27 @@ const AdPropertySchema = z.object({
1618
1619
  enabled: desc(z.optional(z.boolean()), "Set false to keep the property on record without emitting its tag.")
1619
1620
  });
1620
1621
  /**
1622
+ * How one location's Google reviews are selected and ordered for display.
1623
+ *
1624
+ * Keyed by `organization.locations` key, mirroring `site.ads`/`site.searchConsole`
1625
+ * — `vitops reviews` needs to know which physical location a fetched review set
1626
+ * belongs to, and that record already exists.
1627
+ */
1628
+ const ReviewLocationSchema = z.object({
1629
+ accountId: desc(z.optional(z.string()), "GBP account resource id (`accounts/…`), overriding `site.reviews.accountId` for this location."),
1630
+ locationId: desc(z.string(), "GBP location resource id (`locations/…`) to fetch reviews for."),
1631
+ featured: desc(z.optional(z.array(z.string())), "Review ids to always include, in this order, ahead of everything else automatically selected."),
1632
+ minRating: desc(z.optional(z.number()), "Drop reviews below this star rating (default 4) from the automatic (non-featured) selection."),
1633
+ limit: desc(z.optional(z.number()), "Keep at most this many reviews after filtering."),
1634
+ sort: desc(z.optional(z.enum(["recent", "rating"])), "Ordering for the non-featured remainder (default `recent`).")
1635
+ });
1636
+ const ReviewsSchema = z.object({
1637
+ accountId: desc(z.optional(z.string()), "Default GBP account resource id (`accounts/…`) for locations that do not override it."),
1638
+ locations: desc(z.record(z.string(), ReviewLocationSchema), "Which `organization.locations` to fetch Google reviews for, and how each one’s reviews are filtered/ordered. `vitops reviews` writes the result to `.vitops/reviews.json`."),
1639
+ schema: desc(z.optional(z.boolean()), "Emit `Review` JSON-LD for these reviews (default false). Off by default: Google’s structured-data policy treats a business marking up reviews of itself as ineligible for review rich results, and risks a manual action."),
1640
+ avatars: desc(z.optional(z.boolean()), "Render the reviewer’s Google-hosted avatar photo (default false). Off by default: every visitor would otherwise issue a third-party request to googleusercontent.com, and the URLs are not guaranteed to stay live.")
1641
+ });
1642
+ /**
1621
1643
  * Which template set the generated legal documents are written against. This is
1622
1644
  * a closed enum rather than a free string because an unrecognised value would
1623
1645
  * otherwise silently fall back to the wrong body of law; `validateConfig` rejects
@@ -1724,6 +1746,7 @@ const SiteSectionSchema = z.object({
1724
1746
  platforms: desc(z.optional(z.array(z.string())), "Informational list of ad platforms in use. Capture recognises every known click-ID parameter regardless.")
1725
1747
  })), "Ad-click attribution for conversion tracking."),
1726
1748
  ads: desc(z.optional(z.partialRecord(AdProviderSchema, AdPropertySchema)), "Ad properties this site is linked to, keyed by platform. Read by `vitops ads setup` (ensure the DNS verification record), `vitops ads tags` (emit the consent-gated pixel), and the generated cookie notice (disclose what each pixel stores). Credentials never live here — the DNS write uses CLOUDFLARE_API_TOKEN from the environment."),
1749
+ reviews: desc(z.optional(ReviewsSchema), "Google Business Profile reviews to cache and display, keyed by `organization.locations`. Read by `vitops reviews`. Credentials never live here — a Google OAuth credential comes from the environment, same as `site.searchConsole`."),
1727
1750
  security: desc(z.optional(z.object({ turnstile: z.optional(z.object({ siteKey: desc(z.optional(z.string()), "Cloudflare Turnstile site key (public).") })) })), "Security integrations (bot protection)."),
1728
1751
  legal: desc(z.optional(z.object({
1729
1752
  jurisdiction: desc(z.optional(JurisdictionSchema), "Which legal template set the generated documents use. Default `ca`."),
@@ -2010,6 +2033,17 @@ function validateConfig(input) {
2010
2033
  if (entry.domainVerification != null && entry.domain == null && site.domains?.canonical == null) errors.push(issue([...at, "domain"], `site.ads.${provider}.domainVerification needs a domain to put the record on — set site.domains.canonical, or state site.ads.${provider}.domain explicitly`));
2011
2034
  if (entry.accountId == null && entry.pixelId == null) errors.push(issue(at, `site.ads.${provider} identifies nothing — set accountId (the advertising account) and/or pixelId (the tag: ${platform.tag.needs} is what its snippet needs)`));
2012
2035
  }
2036
+ for (const [key, entry] of Object.entries(site.reviews?.locations ?? {})) {
2037
+ const at = [
2038
+ "site",
2039
+ "reviews",
2040
+ "locations",
2041
+ key
2042
+ ];
2043
+ if (!has(org?.locations, key)) errors.push(issue(at, `"${key}" is not an organization.locations key`));
2044
+ else if (org?.locations?.[key]?.listings?.google == null) errors.push(issue(at, `organization.locations.${key} has no listings.google id — record the GBP location id there first`));
2045
+ if (entry.accountId == null && site.reviews?.accountId == null) errors.push(issue([...at, "accountId"], `no accountId — set site.reviews.accountId or site.reviews.locations.${key}.accountId`));
2046
+ }
2013
2047
  if (errors.length) return {
2014
2048
  ok: false,
2015
2049
  data: void 0,
@@ -2275,10 +2309,10 @@ const TIERS = {
2275
2309
  wc: {
2276
2310
  tag: "wc-gallery",
2277
2311
  registered: true,
2278
- adds: "prev/next, arrow keys, swipe, an image counter, neighbour preload and the view-transition morph"
2312
+ adds: "a real `showModal()` open, neighbour preload and the thumbnail→full-image view-transition morph"
2279
2313
  },
2280
2314
  astro: a("Gallery", "wc"),
2281
- use: "`<Gallery images={…} label=\"…\" />` — it emits `<wc-gallery>` itself, so do NOT add your own wrapper. Each thumbnail is a `command=\"show-modal\"` invoker for its own `<dialog class=\"lightbox-dialog\">` (see `lightbox`), so it is a working modal lightbox with no JS."
2315
+ use: "`<Gallery images={…} label=\"…\" />` — it emits `<wc-gallery>` wrapping a `<Carousel />` (which emits its own `<wc-carousel>`) itself, so do NOT add your own wrapper around either. Each thumbnail is a plain `<a href=\"#slide-id\">` into the carousel's own `<li id=\"slide-id\">` inside a single `<dialog class=\"lightbox-dialog\">` (see `lightbox`), so it is a working modal lightbox — WITH prev/next — before any script runs. Stepping between images is the carousel's job, not the gallery's."
2282
2316
  },
2283
2317
  entries: {
2284
2318
  css: c([
@@ -2358,7 +2392,8 @@ const TIERS = {
2358
2392
  registered: true,
2359
2393
  adds: "fills the track with enough copies to scroll seamlessly"
2360
2394
  },
2361
- use: "`<wc-marquee>` around one `.marquee__content`. Scrolls via CSS alone; JS only removes the seam."
2395
+ astro: a("Marquee", "wc"),
2396
+ use: "`<Marquee>` around one `.marquee__content`, or `<wc-marquee>` by hand. Scrolls via CSS alone; JS only removes the seam."
2362
2397
  },
2363
2398
  counter: {
2364
2399
  css: c([
@@ -2635,11 +2670,10 @@ const TIERS = {
2635
2670
  lightbox: {
2636
2671
  css: c([
2637
2672
  "lightbox-dialog",
2638
- "lightbox-dialog__content",
2639
- "lightbox-dialog__image",
2640
- "lightbox-dialog__nav-button"
2673
+ "lightbox-dialog__track",
2674
+ "lightbox-dialog__close"
2641
2675
  ], "patterns/lightbox.css", true),
2642
- use: "The `<dialog class=\"lightbox-dialog\">` half of a lightbox. Use `gallery` for the thumbnail grid that drives it — `<Gallery />` emits both."
2676
+ use: "The single `<dialog class=\"lightbox-dialog\">` a gallery opens — it wraps ONE `.carousel` (`lightbox-dialog__track`) of every image, not one dialog per image. Use `gallery` for the thumbnail grid that drives it — `<Gallery />` emits both, and the carousel inside already owns prev/next/dots/keys/swipe."
2643
2677
  },
2644
2678
  comment: {
2645
2679
  css: c([
@@ -2649,6 +2683,17 @@ const TIERS = {
2649
2683
  ], "patterns/comment.css", true),
2650
2684
  use: "`.comment` inside `.comment-thread`."
2651
2685
  },
2686
+ review: {
2687
+ css: c([
2688
+ "review",
2689
+ "review__stars",
2690
+ "review__body",
2691
+ "review__reply",
2692
+ "review__source"
2693
+ ], "patterns/review.css", true),
2694
+ astro: a("ReviewCard", "css"),
2695
+ use: "`<ReviewCard review={…} />` — one card, from `vitops reviews`' `.vitops/reviews.json` cache. Put several inside `<Carousel>` slides or `<Marquee>` items; there is no group component and no `wc-review`."
2696
+ },
2652
2697
  tabs: {
2653
2698
  css: c(["tabs"], void 0, true),
2654
2699
  use: "Generated pattern only; no structural partial and no component yet."
@@ -4069,11 +4114,12 @@ split in two rather than shelved whole. \`layout.css\` (patterns) and \`layout-u
4069
4114
  format reaches the same arrangement by its own route — patterns in \`@layer components\`,
4070
4115
  utilities as \`@utility\`.
4071
4116
 
4072
- Known gap: the \`typography.headings\` bare-element bindings (\`h1\`, \`h2\`, \`body\`) are
4073
- emitted alongside \`.font-<role>\` and so sit in \`vitops.utilities\`, where a tag rule
4074
- outranks every pattern — \`<h2 class="pull-quote">\` keeps the heading's font-size in
4075
- \`css\`/\`bricks\` and the pattern's in \`tailwind\`, which puts the bindings in \`@layer base\`.
4076
- Give the element a \`.font-<role>\` class to pin it either way.
4117
+ The \`typography.headings\` bare-element bindings (\`h1\`, \`h2\`, \`body\`) are a DEFAULT for an
4118
+ unstyled element, not a utility, so they emit into their own chunk in \`vitops.base\` — below
4119
+ every pattern — rather than alongside \`.font-<role>\` in \`vitops.utilities\`. That is what lets
4120
+ \`<h2 class="pull-quote">\` keep the pattern's font-size in every format: the bare \`h2\` binding
4121
+ never outranks \`.pull-quote\`, regardless of specificity, because a layer decides before
4122
+ specificity is ever asked.
4077
4123
 
4078
4124
  ## \`bricks\` — WordPress / Bricks Builder payload
4079
4125
 
@@ -7371,8 +7417,10 @@ function build(ds, format, assetsDir, buildOpts = {}) {
7371
7417
  const headings = typography?.headings ?? {};
7372
7418
  let typo = `/* GENERATED typography roles — do not edit by hand. */\n`;
7373
7419
  for (const [role, spec] of Object.entries(roles)) typo += `.font-${role} {\n${decls(roleDecls(role, spec))}\n}\n`;
7374
- for (const [tag, role] of Object.entries(headings)) if (roles[role]) typo += `${tag} {\n${decls(roleDecls(role, roles[role]))}\n}\n`;
7375
7420
  generated["typography.css"] = typo;
7421
+ let typoHeadings = `/* GENERATED typography.headings bare-element bindings — do not edit by hand. */\n`;
7422
+ for (const [tag, role] of Object.entries(headings)) if (roles[role]) typoHeadings += `${tag} {\n${decls(roleDecls(role, roles[role]))}\n}\n`;
7423
+ generated["typography-headings.css"] = typoHeadings;
7376
7424
  }
7377
7425
  const stateRules = (sel, role, states, colorProp = "background-color") => {
7378
7426
  let out = "";
@@ -8128,6 +8176,7 @@ const CHUNK_LAYER = {
8128
8176
  "global.css": "vitops.base",
8129
8177
  "generated/type-tokens.css": "vitops.base",
8130
8178
  "generated/tokens.css": "vitops.base",
8179
+ "generated/typography-headings.css": "vitops.base",
8131
8180
  "generated/color.css": "vitops.utilities",
8132
8181
  "generated/shadows.css": "vitops.utilities",
8133
8182
  "generated/typography.css": "vitops.utilities",
@@ -8297,6 +8346,68 @@ function loadConfigFile(input, siteEnv) {
8297
8346
  return resolveConfig(typeof input === "string" ? JSON.parse(readFileSync(input, "utf8")) : input, siteEnv);
8298
8347
  }
8299
8348
 
8349
+ //#endregion
8350
+ //#region src/robots.ts
8351
+ /**
8352
+ * `robots.txt`, generated from the same fact the indexing gate and the
8353
+ * `<meta name="robots">` tag already read.
8354
+ *
8355
+ * Before this, nothing in the toolchain emitted one at all — a staging
8356
+ * environment with `robots: "noindex,nofollow"` got a `<meta>` tag and a
8357
+ * blocked `search notify` run, but a crawler reading `/robots.txt` directly
8358
+ * saw nothing and was free to index it anyway. `plan()`
8359
+ * (`@getvitops/utils/indexing`) already treats `noindex` in the resolved
8360
+ * environment's directive as a hard stop for notifying search engines; this is
8361
+ * the same fact, read the same way, applied to the file crawlers actually ask
8362
+ * for first.
8363
+ *
8364
+ * A sibling of `generateLegal`, not a `generate()` format: this renders from a
8365
+ * **`Config`** (a `site.environments` entry), not a `DesignSystem`, so bolting
8366
+ * it onto `generate()` would be a format that ignores its own input.
8367
+ *
8368
+ * Pure: no filesystem, no clock, no shared state. The CLI writes it to stdout
8369
+ * or `--out`; the Astro integration writes `public/robots.txt` directly,
8370
+ * mirroring how it already writes the IndexNow key file.
8371
+ */
8372
+ /**
8373
+ * A directive string (`site.environments[env].robots` or `site.seo.robots`)
8374
+ * blocks indexing if it contains `noindex` — matching `plan()`'s own check in
8375
+ * `@getvitops/utils/indexing`, so the two can't read the same fact two ways.
8376
+ */
8377
+ function isBlocked(directive) {
8378
+ return /noindex/i.test(directive ?? "");
8379
+ }
8380
+ /**
8381
+ * Render `robots.txt` for one environment.
8382
+ *
8383
+ * A blocked environment gets `Disallow: /` for every user agent and no sitemap
8384
+ * line — publishing the sitemap of a site asking not to be indexed would be
8385
+ * the more damaging way to get this wrong, handing every listed URL to a
8386
+ * crawler that then finds itself blocked from all of them, but has already
8387
+ * seen where they are. An allowed environment gets a permissive robots.txt
8388
+ * plus a `Sitemap:` line, using the exact URL `vitops search notify` would
8389
+ * submit — `site.seo.indexing.sitemapUrl`, or `<canonical>/sitemap-index.xml`,
8390
+ * the same default `@astrojs/sitemap` produces.
8391
+ */
8392
+ function renderRobotsTxt(cfg, options = {}) {
8393
+ const envName = options.env ?? "production";
8394
+ const site = cfg.site;
8395
+ const env = site.environments?.[envName];
8396
+ const directive = env?.robots ?? site.seo?.robots;
8397
+ const lines = ["User-agent: *"];
8398
+ if (isBlocked(directive)) {
8399
+ lines.push("Disallow: /");
8400
+ return lines.join("\n") + "\n";
8401
+ }
8402
+ lines.push("Allow: /");
8403
+ const sitemapUrl = resolveSitemapUrl({
8404
+ canonical: env?.url ?? site.domains?.canonical,
8405
+ sitemapUrl: site.seo?.indexing?.sitemapUrl
8406
+ });
8407
+ if (sitemapUrl) lines.push("", `Sitemap: ${sitemapUrl}`);
8408
+ return lines.join("\n") + "\n";
8409
+ }
8410
+
8300
8411
  //#endregion
8301
8412
  //#region src/index.ts
8302
8413
  /**
@@ -8573,5 +8684,5 @@ function defaultConfig() {
8573
8684
  }
8574
8685
 
8575
8686
  //#endregion
8576
- export { AD_PROVIDERS, BASE_HOOK, CONFIG_SCHEMA_URL, CONTRAST, ConfigSchema, DARK_SEL, DOC_ORDER, DOC_SLUGS, DesignSystemSchema, JURISDICTIONS, JURISDICTION_COUNTRIES, KNOWN_PROCESSORS, NUMERIC_STEPS, REQUIRED_ROLES, ROLE_TOKEN_KEYS, SCHEMA_LOCAL_PATH, SCHEMA_URL, SiteFontSchema, TEMPLATES, TIERS, TIER_NAMES, TW_CLASH, buildIconSprite, configJsonSchema, deepMerge, defaultConfig, derivePolicyVars, detectProcessorKeys, enabledDocs, expandPalette, functionalRole, generate, generateDocs, generateLegal, isConfig, jsonSchema, loadIconSvg, movedTokens, parseMarkdown, processorsMissingLocation, renderInlineMarkdown, renderMarkdown, renderNodes, resolveConfig, resolveInput, resolvePrivacyContact, resolveProcessors, resolveTheme, roleColorUtilities, roleHue, roleKind, schemaTreeNodes, spriteId, stripNulls, tierPatterns, tierTags, toContentNodes, toHtmlFragment, toPortableText, tokenClass, tokenVar, validate, validateConfig };
8687
+ export { AD_PROVIDERS, BASE_HOOK, CONFIG_SCHEMA_URL, CONTRAST, ConfigSchema, DARK_SEL, DOC_ORDER, DOC_SLUGS, DesignSystemSchema, JURISDICTIONS, JURISDICTION_COUNTRIES, KNOWN_PROCESSORS, NUMERIC_STEPS, REQUIRED_ROLES, ROLE_TOKEN_KEYS, SCHEMA_LOCAL_PATH, SCHEMA_URL, SiteFontSchema, TEMPLATES, TIERS, TIER_NAMES, TW_CLASH, buildIconSprite, configJsonSchema, deepMerge, defaultConfig, derivePolicyVars, detectProcessorKeys, enabledDocs, expandPalette, functionalRole, generate, generateDocs, generateLegal, isConfig, jsonSchema, loadIconSvg, movedTokens, parseMarkdown, processorsMissingLocation, renderInlineMarkdown, renderMarkdown, renderNodes, renderRobotsTxt, resolveConfig, resolveInput, resolvePrivacyContact, resolveProcessors, resolveTheme, roleColorUtilities, roleHue, roleKind, schemaTreeNodes, spriteId, stripNulls, tierPatterns, tierTags, toContentNodes, toHtmlFragment, toPortableText, tokenClass, tokenVar, validate, validateConfig };
8577
8688
  //# sourceMappingURL=index.mjs.map