@reblu/site-contracts 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,31 @@
1
1
  # @reblu/site-contracts
2
2
 
3
+ ## 1.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 16dfaea: Add the SITE capability manifest types (REB-777).
8
+
9
+ `SiteManifest`, `SiteManifestSurfaceValue`, and `SiteCapabilitySurfaceKey` are
10
+ the SDK-facing types for `/.well-known/reblu-site.json` — the manifest a SITE
11
+ serves (via `@reblu/site-next`'s new `createSiteManifestRoute`) declaring
12
+ which capability surfaces it has implemented (`academy.enrollment`,
13
+ `academy.catalogue`, `auth.login`, `consent.banner`, `legal.cookies`), so
14
+ nexus can warn a tenant OWNER when a sold module has no matching page on
15
+ their SITE yet.
16
+
17
+ This is the one contract group in this package a SITE produces and base-api
18
+ consumes — the opposite direction of every other export here — but the
19
+ package stays exactly as dependency-free as before: these are `export type`
20
+ only, flowing through the same `@reblu/base-api-contracts` type-only alias
21
+ every other export uses. No runtime Zod, no new dependency, no change to any
22
+ existing export.
23
+
24
+ Purely additive. Not REB-744 (canonical route keys for per-route redirect
25
+ generation, separately tracked, still unimplemented) — that is a different,
26
+ coarser vocabulary (whole-module redirect targets) for a different purpose
27
+ (generating a URL, not declaring a capability).
28
+
3
29
  ## 1.0.1
4
30
 
5
31
  ### Patch Changes
package/dist/index.d.cts CHANGED
@@ -173,6 +173,12 @@ export type ShopTaxonomyTermRef = { taxonomyKey: string; taxonomyLabel: st
173
173
 
174
174
  export type ShopValidateCartInput = { items: { productId: string; quantity: number; variantId?: string | null | undefined; }[];}
175
175
 
176
+ export type SiteCapabilitySurfaceKey = "academy.enrollment" | "academy.catalogue" | "auth.login" | "consent.banner" | "legal.cookies"
177
+
178
+ export type SiteManifest = { manifestVersion: 1; surfaces: Record<string, true | { path?: string | undefined; }>; sdkVersion?: string | undefined;}
179
+
180
+ export type SiteManifestSurfaceValue = true | { path?: string | undefined;}
181
+
176
182
  export type TaxType = "IVA" | "IGIC" | "RETENTION" | "OTHER"
177
183
 
178
184
  export type TrustBadge = { id: string; name: string; logoUrl: string | null; url: string | null; type: "PARTNER" | "INSURANCE" | "SUBVENTION" | "CERTIFICATION" | "AWARD"; sortOrder: number;}
package/dist/index.d.ts CHANGED
@@ -173,6 +173,12 @@ export type ShopTaxonomyTermRef = { taxonomyKey: string; taxonomyLabel: st
173
173
 
174
174
  export type ShopValidateCartInput = { items: { productId: string; quantity: number; variantId?: string | null | undefined; }[];}
175
175
 
176
+ export type SiteCapabilitySurfaceKey = "academy.enrollment" | "academy.catalogue" | "auth.login" | "consent.banner" | "legal.cookies"
177
+
178
+ export type SiteManifest = { manifestVersion: 1; surfaces: Record<string, true | { path?: string | undefined; }>; sdkVersion?: string | undefined;}
179
+
180
+ export type SiteManifestSurfaceValue = true | { path?: string | undefined;}
181
+
176
182
  export type TaxType = "IVA" | "IGIC" | "RETENTION" | "OTHER"
177
183
 
178
184
  export type TrustBadge = { id: string; name: string; logoUrl: string | null; url: string | null; type: "PARTNER" | "INSURANCE" | "SUBVENTION" | "CERTIFICATION" | "AWARD"; sortOrder: number;}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reblu/site-contracts",
3
- "version": "1.0.1",
3
+ "version": "1.1.0",
4
4
  "private": false,
5
5
  "description": "Public, dependency-free TypeScript types for the Reblu SITE API (types only — no Zod, no Prisma at runtime).",
6
6
  "license": "Apache-2.0",