@sonordev/contracts 2.13.0 → 2.15.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 +15 -0
- package/README.md +48 -1
- package/dist/campaign-normalize.d.ts +2 -0
- package/dist/funnels.d.ts +576 -0
- package/dist/funnels.js +617 -0
- package/dist/funnels.mjs +560 -0
- package/dist/inbox.d.ts +42 -0
- package/dist/inbox.js +14 -0
- package/dist/inbox.mjs +9 -0
- package/dist/llms.d.ts +200 -0
- package/dist/llms.js +1002 -8
- package/dist/llms.mjs +989 -9
- package/dist/publication-branding.d.ts +6 -1
- package/dist/publication-branding.js +1 -1
- package/dist/publication-branding.mjs +1 -1
- package/dist/site-cache.d.ts +2 -0
- package/dist/site-cache.js +3 -1
- package/dist/site-cache.mjs +3 -1
- package/package.json +13 -4
|
@@ -9,7 +9,7 @@ export type PublicationPlatform = (typeof PUBLICATION_PLATFORMS)[number];
|
|
|
9
9
|
/** The sections of a profile and of each platform override, in the order they're read. */
|
|
10
10
|
export declare const PUBLICATION_BRANDING_SECTIONS: readonly ['identity', 'colors', 'typography', 'editorial', 'newsletter'];
|
|
11
11
|
export type PublicationBrandingSection = (typeof PUBLICATION_BRANDING_SECTIONS)[number];
|
|
12
|
-
export declare const PUBLICATION_IDENTITY_FIELDS: readonly ['publicationName', 'wordmark', 'tagline', 'publisherName', 'publisherUrl', 'publisherLogoUrl', 'logos'];
|
|
12
|
+
export declare const PUBLICATION_IDENTITY_FIELDS: readonly ['publicationName', 'wordmark', 'tagline', 'publisherName', 'publisherUrl', 'publisherLogoUrl', 'logos', 'squareLogoUrl', 'fullLogoUrl'];
|
|
13
13
|
export declare const PUBLICATION_LOGO_VARIANTS: readonly ['default', 'light', 'dark'];
|
|
14
14
|
export declare const PUBLICATION_COLOR_FIELDS: readonly ['primary', 'secondary', 'accent', 'background', 'surface', 'text', 'muted', 'border'];
|
|
15
15
|
export declare const PUBLICATION_TYPOGRAPHY_FIELDS: readonly ['heading', 'body', 'mono', 'emailHeadingFallback', 'emailBodyFallback'];
|
|
@@ -28,6 +28,11 @@ export interface PublicationIdentity {
|
|
|
28
28
|
publisherUrl?: string;
|
|
29
29
|
/** The publisher's attribution mark, separate from the publication masthead. */
|
|
30
30
|
publisherLogoUrl?: string;
|
|
31
|
+
/** The publication's square mark; independent of theme variants and publisher attribution. */
|
|
32
|
+
squareLogoUrl?: string;
|
|
33
|
+
/** The publication's full/display logo; wordmark remains a text fallback. */
|
|
34
|
+
fullLogoUrl?: string;
|
|
35
|
+
/** Legacy theme variants, not square/full logo roles. */
|
|
31
36
|
logos?: {
|
|
32
37
|
default?: string;
|
|
33
38
|
light?: string;
|
|
@@ -134,7 +134,7 @@ function publicationCharterContext(charter) {
|
|
|
134
134
|
var PUBLICATION_BRANDING_VERSION = 1;
|
|
135
135
|
var PUBLICATION_PLATFORMS = ["publication", "email", "social", "instagram", "facebook", "linkedin", "gbp"];
|
|
136
136
|
var PUBLICATION_BRANDING_SECTIONS = ["identity", "colors", "typography", "editorial", "newsletter"];
|
|
137
|
-
var PUBLICATION_IDENTITY_FIELDS = ["publicationName", "wordmark", "tagline", "publisherName", "publisherUrl", "publisherLogoUrl", "logos"];
|
|
137
|
+
var PUBLICATION_IDENTITY_FIELDS = ["publicationName", "wordmark", "tagline", "publisherName", "publisherUrl", "publisherLogoUrl", "logos", "squareLogoUrl", "fullLogoUrl"];
|
|
138
138
|
var PUBLICATION_LOGO_VARIANTS = ["default", "light", "dark"];
|
|
139
139
|
var PUBLICATION_COLOR_FIELDS = ["primary", "secondary", "accent", "background", "surface", "text", "muted", "border"];
|
|
140
140
|
var PUBLICATION_TYPOGRAPHY_FIELDS = ["heading", "body", "mono", "emailHeadingFallback", "emailBodyFallback"];
|
|
@@ -132,7 +132,7 @@ function publicationCharterContext(charter) {
|
|
|
132
132
|
var PUBLICATION_BRANDING_VERSION = 1;
|
|
133
133
|
var PUBLICATION_PLATFORMS = ["publication", "email", "social", "instagram", "facebook", "linkedin", "gbp"];
|
|
134
134
|
var PUBLICATION_BRANDING_SECTIONS = ["identity", "colors", "typography", "editorial", "newsletter"];
|
|
135
|
-
var PUBLICATION_IDENTITY_FIELDS = ["publicationName", "wordmark", "tagline", "publisherName", "publisherUrl", "publisherLogoUrl", "logos"];
|
|
135
|
+
var PUBLICATION_IDENTITY_FIELDS = ["publicationName", "wordmark", "tagline", "publisherName", "publisherUrl", "publisherLogoUrl", "logos", "squareLogoUrl", "fullLogoUrl"];
|
|
136
136
|
var PUBLICATION_LOGO_VARIANTS = ["default", "light", "dark"];
|
|
137
137
|
var PUBLICATION_COLOR_FIELDS = ["primary", "secondary", "accent", "background", "surface", "text", "muted", "border"];
|
|
138
138
|
var PUBLICATION_TYPOGRAPHY_FIELDS = ["heading", "body", "mono", "emailHeadingFallback", "emailBodyFallback"];
|
package/dist/site-cache.d.ts
CHANGED
|
@@ -29,6 +29,8 @@ export declare const SITE_CACHE_TAGS: {
|
|
|
29
29
|
readonly portfolio: 'portfolio';
|
|
30
30
|
/** Products, services, events and membership plans (commerce-kit). */
|
|
31
31
|
readonly commerce: 'commerce';
|
|
32
|
+
/** Published managed landing pages. Draft previews never enter this cache. */
|
|
33
|
+
readonly funnels: 'sonor-funnels';
|
|
32
34
|
};
|
|
33
35
|
export type SiteCacheTag = (typeof SITE_CACHE_TAGS)[keyof typeof SITE_CACHE_TAGS];
|
|
34
36
|
/** The body Sonor POSTs to the revalidation route. */
|
package/dist/site-cache.js
CHANGED
|
@@ -14,7 +14,9 @@ var SITE_CACHE_TAGS = {
|
|
|
14
14
|
/** Portfolio items (agency-site-kit). */
|
|
15
15
|
portfolio: "portfolio",
|
|
16
16
|
/** Products, services, events and membership plans (commerce-kit). */
|
|
17
|
-
commerce: "commerce"
|
|
17
|
+
commerce: "commerce",
|
|
18
|
+
/** Published managed landing pages. Draft previews never enter this cache. */
|
|
19
|
+
funnels: "sonor-funnels"
|
|
18
20
|
};
|
|
19
21
|
function isSiteRevalidatePong(body) {
|
|
20
22
|
return typeof body === "object" && body !== null && body.ok === true && body.ping === true;
|
package/dist/site-cache.mjs
CHANGED
|
@@ -12,7 +12,9 @@ var SITE_CACHE_TAGS = {
|
|
|
12
12
|
/** Portfolio items (agency-site-kit). */
|
|
13
13
|
portfolio: "portfolio",
|
|
14
14
|
/** Products, services, events and membership plans (commerce-kit). */
|
|
15
|
-
commerce: "commerce"
|
|
15
|
+
commerce: "commerce",
|
|
16
|
+
/** Published managed landing pages. Draft previews never enter this cache. */
|
|
17
|
+
funnels: "sonor-funnels"
|
|
16
18
|
};
|
|
17
19
|
function isSiteRevalidatePong(body) {
|
|
18
20
|
return typeof body === "object" && body !== null && body.ok === true && body.ping === true;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sonordev/contracts",
|
|
3
|
-
"version": "2.
|
|
4
|
-
"description": "The rules Sonor's sites, APIs and dashboard share: popup blocks and site design tokens, site hosts, SEO page identity, title quality, llms.txt sanitizers, the forms honeypot, fleet heartbeats, slot content and signing, site cache tags, portfolio metrics, the house voice's contraction rule, how a proposal's site plan counts its pages, what separates an error page from a page's content, which stored JSON-LD is a template's unfilled placeholder, where prose splits into sentences, which Sonor records Signal reads into a project's knowledge and the address each one is stored under, what outbound email and text may claim about a business and whether a sent email arrived intact, what a segment of outreach is and who may turn one on, a page's own name taken from its title or its slug, which Broadcast card layouts and review compositions are drawn and what a retired one draws as, what a publication's branding may hold,
|
|
3
|
+
"version": "2.15.0",
|
|
4
|
+
"description": "The rules Sonor's sites, APIs and dashboard share: popup blocks and site design tokens, site hosts, SEO page identity, title quality, llms.txt sanitizers, the forms honeypot, fleet heartbeats, slot content and signing, site cache tags, portfolio metrics, the house voice's contraction rule, how a proposal's site plan counts its pages, what separates an error page from a page's content, which stored JSON-LD is a template's unfilled placeholder, where prose splits into sentences, which Sonor records Signal reads into a project's knowledge and the address each one is stored under, what outbound email and text may claim about a business and whether a sent email arrived intact, what a segment of outreach is and who may turn one on, a page's own name taken from its title or its slug, which Broadcast card layouts and review compositions are drawn and what a retired one draws as, what a publication's branding may hold, which literal hosts are refused as public fetch destinations, and which inbox cards are decisions a bulk action leaves alone. Pure functions, no dependencies.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -130,8 +130,7 @@
|
|
|
130
130
|
"types": "./dist/page-titles.d.ts",
|
|
131
131
|
"import": "./dist/page-titles.mjs",
|
|
132
132
|
"require": "./dist/page-titles.js"
|
|
133
|
-
}
|
|
134
|
-
,
|
|
133
|
+
},
|
|
135
134
|
"./broadcast-layouts": {
|
|
136
135
|
"types": "./dist/broadcast-layouts.d.ts",
|
|
137
136
|
"import": "./dist/broadcast-layouts.mjs",
|
|
@@ -146,6 +145,16 @@
|
|
|
146
145
|
"types": "./dist/public-url-host.d.ts",
|
|
147
146
|
"import": "./dist/public-url-host.mjs",
|
|
148
147
|
"require": "./dist/public-url-host.js"
|
|
148
|
+
},
|
|
149
|
+
"./inbox": {
|
|
150
|
+
"types": "./dist/inbox.d.ts",
|
|
151
|
+
"import": "./dist/inbox.mjs",
|
|
152
|
+
"require": "./dist/inbox.js"
|
|
153
|
+
},
|
|
154
|
+
"./funnels": {
|
|
155
|
+
"types": "./dist/funnels.d.ts",
|
|
156
|
+
"import": "./dist/funnels.mjs",
|
|
157
|
+
"require": "./dist/funnels.js"
|
|
149
158
|
}
|
|
150
159
|
},
|
|
151
160
|
"typesVersions": {
|