@sparkletree/core 0.1.4 → 0.3.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/README.md CHANGED
@@ -1,8 +1,9 @@
1
1
  # @sparkletree/core
2
2
 
3
3
  Framework-agnostic client for [SparkleTree](https://sparkletree.io): stream
4
- adaptive campaign text into your site, with copy that renders immediately,
5
- theme tokens, and built-in impression analytics.
4
+ adaptive campaign text into your site, with a fallback that carries the page
5
+ whenever the adapted copy is late or missing, theme tokens, and built-in
6
+ impression analytics.
6
7
 
7
8
  **Building a React app?** Install
8
9
  [`@sparkletree/react`](https://www.npmjs.com/package/@sparkletree/react)
@@ -30,10 +31,18 @@ const handle = openStream({
30
31
  // ship on its own.
31
32
  initial: { headline: "Software that meets the moment" },
32
33
  // Set true when that copy is already visible (server-rendered, or carried
33
- // across a navigation). Text a reader can see is never typed over.
34
+ // across a navigation). Text a reader can see is never blanked — live
35
+ // deltas still type over it. For finished, already-presented campaign
36
+ // creative, pass `serverRendered` instead: it buffers deltas off-canvas.
34
37
  initialIsOnScreen: false,
35
38
  onState: (state) => {
36
- const { marked } = decideChrome(state.contentSource, false);
39
+ // Decide the mark from the FIELD you are about to render, never from
40
+ // `state.contentSource`. The stream-level value is the server's word on
41
+ // the stream as a whole; a field the stream opened but never delivered is
42
+ // repainted from your `initial` text and demoted to `source: "static"`
43
+ // while that value still reads "generated". Marking it would stamp
44
+ // "Adapted for you" on your own sentence.
45
+ const { marked } = decideChrome(state.fields.headline.source, false);
37
46
  render(state.fields.headline.text, marked);
38
47
  },
39
48
  });
@@ -70,22 +79,29 @@ render `text` and use `typing`/`settled` for presentation only. Alongside them:
70
79
  `theme`, `layout`, `backgroundImage`, `videoUrl`, `sequence`, `ctaStyle`,
71
80
  `ctaAction`, `meta`.
72
81
 
73
- `phase` moves `idle → holding? → live → settled | failed`. Nothing throws and
74
- nothing goes blank: on `failed`, whatever was painted stays painted, and
75
- undelivered fields fall back to your `initial` text.
82
+ `phase` moves `idle → holding? → live → settled | failed`. Nothing throws, and
83
+ no failure blanks copy a visitor is reading the one deliberate blank is
84
+ `holding`. On `failed`, fields that closed keep their delivered copy;
85
+ a field the stream opened but never finished is repainted with your whole
86
+ `initial` text and demoted to `source: "static"`.
76
87
 
77
88
  ## What the client guarantees
78
89
 
79
- 1. **First paint is real copy.** Your `initial` text renders immediately
80
- there is no skeleton state.
81
- 2. **Copy changes at most once.** Text a reader may be mid-sentence on is never
82
- wiped and retyped; updates aimed at visible text are composed off-screen and
83
- land in one step.
90
+ 1. **A visitor always reads real copy.** Your `initial` text or the stream's
91
+ whatever is on the canvas is something somebody wrote.
92
+ 2. **Copy changes once.** A field is rewritten at most one time per
93
+ page view. Copy not yet on screen is held back: the canvas waits blank for
94
+ the stream and paints your `initial` text only if the hold expires first
95
+ (`holdMs`, default `COPY_HOLD_MS` — 2500 ms, restarted once if the stream
96
+ proves it is alive). Copy already on screen is
97
+ never blanked — deltas paint over it as they arrive (pacing lives in
98
+ `@sparkletree/react`'s `StreamText`), and only `serverRendered` creative
99
+ buffers them off-canvas and lands composed.
84
100
  3. **The server declares how content was produced** (static, cached, or
85
101
  generated); the client never guesses from timing.
86
- 4. **AI-adapted copy is always marked.** `decideChrome` returns `marked` for
87
- generated and cached content, never for static — so readers can tell
88
- adapted text from authored text.
102
+ 4. **AI-adapted copy is marked unless the viewer opts out.** `decideChrome`
103
+ returns `marked` for generated and cached content, never for static — and
104
+ never for any provenance once the viewer has asked for the standard version.
89
105
 
90
106
  Full documentation:
91
107
  [docs.sparkletree.io](https://docs.sparkletree.io/developers/sdk/core/)
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAcH,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,iBAAiB,EACjB,KAAK,oBAAoB,EAEzB,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,GAAG;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACjC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B,CAAC;IACF,KAAK,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAC5E,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,aAAc,SAAQ,oBAAoB;IACzD,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,wEAAwE;IACxE,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,oCAAoC;IACpC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IACzC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,IAAI,CAAC;CACpF;AAED,MAAM,WAAW,YAAY;IAC3B,qDAAqD;IACrD,aAAa,EAAE,iBAAiB,CAAC;IACjC,qEAAqE;IACrE,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACjC,8BAA8B;IAC9B,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAwBD;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,YAAY,EACpB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CAAO,GAC/D,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAwBjC;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,YAAY,CAgH/D"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAcH,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,iBAAiB,EACjB,KAAK,oBAAoB,EAEzB,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,GAAG;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACjC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B,CAAC;IACF,KAAK,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAC5E,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,aAAc,SAAQ,oBAAoB;IACzD,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,wEAAwE;IACxE,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,oCAAoC;IACpC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IACzC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,IAAI,CAAC;CACpF;AAED,MAAM,WAAW,YAAY;IAC3B,qDAAqD;IACrD,aAAa,EAAE,iBAAiB,CAAC;IACjC,qEAAqE;IACrE,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACjC,8BAA8B;IAC9B,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAwBD;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,YAAY,EACpB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CAAO,GAC/D,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAwBjC;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,YAAY,CAkH/D"}
package/dist/client.js CHANGED
@@ -153,8 +153,10 @@ export function openStream(options) {
153
153
  dispatch(choreographer, message.event, data, served);
154
154
  },
155
155
  });
156
- // A stream that ends without `done` ended badly — but quietly, and
157
- // whatever is painted stays painted. Two exceptions: a stream that
156
+ // A stream that ends without `done` ended badly — but quietly:
157
+ // delivered copy stays, and any field the stream opened without
158
+ // finishing is repainted whole from the fallback. Two exceptions: a
159
+ // stream that
158
160
  // already reported WHY it failed keeps that reason ("Campaign not
159
161
  // found" tells someone what to fix; overwriting it here would throw
160
162
  // away the only useful thing the server said), and a stream ended by
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/context.d.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * One algorithm, two implementations: this file and
5
5
  * `mosaic-edge-serve/internal/ctxhash`. The shared vectors in
6
- * `sdk/parity/fixtures/ctxhash/vectors.json` are the contract; a change here
6
+ * `parity/fixtures/ctxhash/vectors.json` are the contract; a change here
7
7
  * that is not mirrored in Go fails both parity suites.
8
8
  *
9
9
  * The vocabulary is CLOSED on purpose: it is simultaneously the cardinality
@@ -55,7 +55,8 @@ export interface DeclaredContext {
55
55
  export declare function normalizeNotes(raw: string): string | undefined;
56
56
  export interface NormalizeResult {
57
57
  dims: CanonicalDims;
58
- /** Keys (or `key=value` pairs) removed during normalization, for dev warnings. */
58
+ /** Keys (or `key=value` pairs) removed during normalization. Handed back so
59
+ * a caller can surface them; the SDK itself never warns. */
59
60
  dropped: string[];
60
61
  }
61
62
  /**
@@ -76,11 +77,32 @@ export declare function computeContextHash(dims: CanonicalDims): Promise<string>
76
77
  /** Length-budget floors per kind — ceilings on the ceiling (spec §2.6). They
77
78
  * cap the case where a developer's fallback is a single word. */
78
79
  export declare const FRAGMENT_KIND_FLOORS: Record<string, number>;
80
+ /** The mint validator's caps (mosaic/app/api/embed/v1/fragments/mint/route.ts
81
+ * — both counted in UTF-16 code units, the same unit `.length` reads below).
82
+ * Exported so warnings and docs cite the number the server actually
83
+ * enforces. These MAY move again; the budget boundary below may not. */
84
+ export declare const MAX_FRAGMENT_FIELDS = 24;
85
+ export declare const MAX_FALLBACK_CHARS = 2000;
79
86
  /**
80
- * ceil(max(len(fallback) × 1.3, floor(kind))). The developer's own fallback
81
- * defines the layout envelope, which is what makes CLS zero by construction.
87
+ * Piecewise: identity at or below `QUANTIZE_ABOVE`, tapered and quantized
88
+ * above it.
89
+ *
90
+ * Below the frozen boundary this is exactly the historical function —
91
+ * ceil(max(len × 1.3, floor)) — so every schema hash computed by any shipped
92
+ * SDK is stable across releases. Above it, two properties for large fields:
93
+ *
94
+ * - The multiplier tapers (1.05·len + 125, which equals 1.3·len exactly at
95
+ * len = 500, so the curve is continuous): ±30% of a paragraph is a line,
96
+ * ±30% of 5,000 chars is ~250px of layout shift.
97
+ * - The result quantizes to steps of 64. The raw budget is in the schema
98
+ * hash, so un-quantized, EVERY character edit re-keys the cache and costs
99
+ * a fresh generation; stepped, a typo stays on the same copy while a new
100
+ * sentence is honestly new.
101
+ *
82
102
  * Server twin: mosaic/services/fragments/fragmentService.ts computeFieldBudget
83
- * — the server recomputes and never trusts the client's number.
103
+ * — adopted in the fragments-0.3 release that lifted the caps, byte-identical,
104
+ * held to the shared vectors (including `quantized_vectors`). The server
105
+ * recomputes and never trusts the client's number.
84
106
  */
85
107
  export declare function computeFieldBudget(fallback: string, kind: string): number;
86
108
  /**
@@ -88,7 +110,7 @@ export declare function computeFieldBudget(fallback: string, kind: string): numb
88
110
  * GET URL would make the CDN object private and delete the cost story). MUST
89
111
  * stay byte-identical to mosaic/services/fragments/fragmentService.ts
90
112
  * computeSchemaHash; the shared vectors in
91
- * sdk/parity/fixtures/ctxhash/schema-vectors.json are the contract.
113
+ * parity/fixtures/ctxhash/schema-vectors.json are the contract.
92
114
  */
93
115
  export declare function computeSchemaHash(fields: readonly {
94
116
  key: string;
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,kCAAkC;AAClC,eAAO,MAAM,eAAe,+FASlB,CAAC;AAEX,0EAA0E;AAC1E,eAAO,MAAM,gBAAgB,mHASnB,CAAC;AAEX,eAAO,MAAM,iBAAiB,iCAAkC,CAAC;AACjE,eAAO,MAAM,eAAe,gDAAiD,CAAC;AAC9E,eAAO,MAAM,kBAAkB,0CAA2C,CAAC;AAC3E,eAAO,MAAM,eAAe,qDAAsD,CAAC;AAEnF,+EAA+E;AAC/E,eAAO,MAAM,qBAAqB,gOAoBxB,CAAC;AAUX,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAEpC,kEAAkE;AAClE,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEnD,yEAAyE;AACzE,MAAM,WAAW,eAAe;IAC9B,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAmBD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAe9D;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,aAAa,CAAC;IACpB,kFAAkF;IAClF,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,eAAe,CAiE3E;AAED,iEAAiE;AACjE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUjF;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAOlE;AAaD,gEAAgE;AAChE,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAE7E;AAID;iEACiE;AACjE,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAMvD,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAGzE;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,SAAS;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,GAC/D,OAAO,CAAC,MAAM,CAAC,CAMjB;AAED,4DAA4D;AAC5D,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,eAAe,EACzB,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACxC,OAAO,CAAC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAGnE"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,kCAAkC;AAClC,eAAO,MAAM,eAAe,+FASlB,CAAC;AAEX,0EAA0E;AAC1E,eAAO,MAAM,gBAAgB,mHASnB,CAAC;AAEX,eAAO,MAAM,iBAAiB,iCAAkC,CAAC;AACjE,eAAO,MAAM,eAAe,gDAAiD,CAAC;AAC9E,eAAO,MAAM,kBAAkB,0CAA2C,CAAC;AAC3E,eAAO,MAAM,eAAe,qDAAsD,CAAC;AAEnF,+EAA+E;AAC/E,eAAO,MAAM,qBAAqB,gOAoBxB,CAAC;AAUX,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAEpC,kEAAkE;AAClE,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEnD,yEAAyE;AACzE,MAAM,WAAW,eAAe;IAC9B,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAmBD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAe9D;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,aAAa,CAAC;IACpB;gEAC4D;IAC5D,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,eAAe,CAiE3E;AAED,iEAAiE;AACjE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUjF;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAOlE;AAaD,gEAAgE;AAChE,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAE7E;AAID;iEACiE;AACjE,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAMvD,CAAC;AAEF;;;wEAGwE;AACxE,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAUvC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAOzE;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,SAAS;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,GAC/D,OAAO,CAAC,MAAM,CAAC,CAMjB;AAED,4DAA4D;AAC5D,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,eAAe,EACzB,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACxC,OAAO,CAAC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAGnE"}
package/dist/context.js CHANGED
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * One algorithm, two implementations: this file and
5
5
  * `mosaic-edge-serve/internal/ctxhash`. The shared vectors in
6
- * `sdk/parity/fixtures/ctxhash/vectors.json` are the contract; a change here
6
+ * `parity/fixtures/ctxhash/vectors.json` are the contract; a change here
7
7
  * that is not mirrored in Go fails both parity suites.
8
8
  *
9
9
  * The vocabulary is CLOSED on purpose: it is simultaneously the cardinality
@@ -245,22 +245,55 @@ export const FRAGMENT_KIND_FLOORS = {
245
245
  body: 160,
246
246
  "empty-state": 160,
247
247
  };
248
+ /** The mint validator's caps (mosaic/app/api/embed/v1/fragments/mint/route.ts
249
+ * — both counted in UTF-16 code units, the same unit `.length` reads below).
250
+ * Exported so warnings and docs cite the number the server actually
251
+ * enforces. These MAY move again; the budget boundary below may not. */
252
+ export const MAX_FRAGMENT_FIELDS = 24;
253
+ export const MAX_FALLBACK_CHARS = 2000;
254
+ /** FROZEN at the 0.2.0 boundary — NEVER derive this from the live cap. The
255
+ * taper switch and the quantization line are baked into every schema hash a
256
+ * shipped SDK has ever computed; moving them with a cap change would split
257
+ * client generations onto hashes the server never mints. */
258
+ const BUDGET_TAPER_ABOVE = 500;
259
+ const QUANTIZE_ABOVE = Math.ceil(BUDGET_TAPER_ABOVE * 1.3); // 650
260
+ const QUANTIZE_STEP = 64;
248
261
  /**
249
- * ceil(max(len(fallback) × 1.3, floor(kind))). The developer's own fallback
250
- * defines the layout envelope, which is what makes CLS zero by construction.
262
+ * Piecewise: identity at or below `QUANTIZE_ABOVE`, tapered and quantized
263
+ * above it.
264
+ *
265
+ * Below the frozen boundary this is exactly the historical function —
266
+ * ceil(max(len × 1.3, floor)) — so every schema hash computed by any shipped
267
+ * SDK is stable across releases. Above it, two properties for large fields:
268
+ *
269
+ * - The multiplier tapers (1.05·len + 125, which equals 1.3·len exactly at
270
+ * len = 500, so the curve is continuous): ±30% of a paragraph is a line,
271
+ * ±30% of 5,000 chars is ~250px of layout shift.
272
+ * - The result quantizes to steps of 64. The raw budget is in the schema
273
+ * hash, so un-quantized, EVERY character edit re-keys the cache and costs
274
+ * a fresh generation; stepped, a typo stays on the same copy while a new
275
+ * sentence is honestly new.
276
+ *
251
277
  * Server twin: mosaic/services/fragments/fragmentService.ts computeFieldBudget
252
- * — the server recomputes and never trusts the client's number.
278
+ * — adopted in the fragments-0.3 release that lifted the caps, byte-identical,
279
+ * held to the shared vectors (including `quantized_vectors`). The server
280
+ * recomputes and never trusts the client's number.
253
281
  */
254
282
  export function computeFieldBudget(fallback, kind) {
255
283
  const floor = FRAGMENT_KIND_FLOORS[kind] ?? FRAGMENT_KIND_FLOORS.body;
256
- return Math.ceil(Math.max(fallback.length * 1.3, floor));
284
+ const len = fallback.length;
285
+ const raw = len <= BUDGET_TAPER_ABOVE ? len * 1.3 : len * 1.05 + 125;
286
+ const budget = Math.ceil(Math.max(raw, floor));
287
+ if (budget <= QUANTIZE_ABOVE)
288
+ return budget;
289
+ return QUANTIZE_ABOVE + Math.ceil((budget - QUANTIZE_ABOVE) / QUANTIZE_STEP) * QUANTIZE_STEP;
257
290
  }
258
291
  /**
259
292
  * Schema hash: keys + kinds + budgets, never the fallback prose (prose in the
260
293
  * GET URL would make the CDN object private and delete the cost story). MUST
261
294
  * stay byte-identical to mosaic/services/fragments/fragmentService.ts
262
295
  * computeSchemaHash; the shared vectors in
263
- * sdk/parity/fixtures/ctxhash/schema-vectors.json are the contract.
296
+ * parity/fixtures/ctxhash/schema-vectors.json are the contract.
264
297
  */
265
298
  export async function computeSchemaHash(fields) {
266
299
  const canonical = [...fields]
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Development-only warnings, deduplicated per page load.
3
+ *
4
+ * The SDK's failure doctrine is silence: every failure path serves the
5
+ * developer's own copy and never throws. That is correct for a visitor and a
6
+ * trap for a developer — several misconfigurations (an over-cap fallback, a
7
+ * refused mint, a key the server will reject) are indistinguishable from a
8
+ * cold cache from the outside, so a developer can ship one and wait forever
9
+ * for copy that is not coming. Dev builds say so once; production stays
10
+ * silent, always.
11
+ */
12
+ export declare function inDevelopment(): boolean;
13
+ export declare function warnDev(key: string, message: string): void;
14
+ //# sourceMappingURL=devwarn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devwarn.d.ts","sourceRoot":"","sources":["../src/devwarn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA2BH,wBAAgB,aAAa,IAAI,OAAO,CAcvC;AAMD,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAI1D"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Development-only warnings, deduplicated per page load.
3
+ *
4
+ * The SDK's failure doctrine is silence: every failure path serves the
5
+ * developer's own copy and never throws. That is correct for a visitor and a
6
+ * trap for a developer — several misconfigurations (an over-cap fallback, a
7
+ * refused mint, a key the server will reject) are indistinguishable from a
8
+ * cold cache from the outside, so a developer can ship one and wait forever
9
+ * for copy that is not coming. Dev builds say so once; production stays
10
+ * silent, always.
11
+ */
12
+ /** Literal member access on purpose: webpack DefinePlugin (and Next) replace
13
+ * the TEXT `process.env.NODE_ENV` at build time — a dynamic `globalThis`
14
+ * lookup defeats the replacement and reads undefined in browser builds,
15
+ * silencing every warning for exactly the toolchains most integrations use.
16
+ * Where nothing replaced it and no runtime `process` exists, the throw is
17
+ * caught and Node's real env is tried the dynamic way. */
18
+ function readNodeEnv() {
19
+ try {
20
+ return process.env.NODE_ENV;
21
+ }
22
+ catch {
23
+ const proc = globalThis
24
+ .process;
25
+ return proc?.env?.NODE_ENV;
26
+ }
27
+ }
28
+ export function inDevelopment() {
29
+ try {
30
+ const viteEnv = import.meta.env;
31
+ const nodeEnv = readNodeEnv();
32
+ // Any explicit production marker wins, whichever bundler set it. The
33
+ // asymmetry is deliberate: a missed dev warning is a doc lookup, a
34
+ // warning on a live page is the customer's console.
35
+ if (nodeEnv === "production" || viteEnv?.PROD === true || viteEnv?.DEV === false)
36
+ return false;
37
+ if (viteEnv?.DEV === true)
38
+ return true;
39
+ if (typeof nodeEnv === "string")
40
+ return true;
41
+ }
42
+ catch {
43
+ // No bundler env to read. Stay silent.
44
+ }
45
+ return false;
46
+ }
47
+ /** Once per key per page load. Most conditions here are configuration, so
48
+ * they are identical for every call site and repeating them is only noise. */
49
+ const warned = new Set();
50
+ export function warnDev(key, message) {
51
+ if (!inDevelopment() || warned.has(key))
52
+ return;
53
+ warned.add(key);
54
+ console.warn(`SparkleTree: ${message}`);
55
+ }
56
+ //# sourceMappingURL=devwarn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devwarn.js","sourceRoot":"","sources":["../src/devwarn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAWH;;;;;0DAK0D;AAC1D,SAAS,WAAW;IAClB,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,GAAI,UAAyE;aACpF,OAAO,CAAC;QACX,OAAO,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,IAAI,CAAC;QACH,MAAM,OAAO,GAAI,MAAM,CAAC,IAA+D,CAAC,GAAG,CAAC;QAC5F,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;QAC9B,qEAAqE;QACrE,mEAAmE;QACnE,oDAAoD;QACpD,IAAI,OAAO,KAAK,YAAY,IAAI,OAAO,EAAE,IAAI,KAAK,IAAI,IAAI,OAAO,EAAE,GAAG,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;QAC/F,IAAI,OAAO,EAAE,GAAG,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACvC,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,uCAAuC;IACzC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;8EAC8E;AAC9E,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;AAEjC,MAAM,UAAU,OAAO,CAAC,GAAW,EAAE,OAAe;IAClD,IAAI,CAAC,aAAa,EAAE,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO;IAChD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChB,OAAO,CAAC,IAAI,CAAC,gBAAgB,OAAO,EAAE,CAAC,CAAC;AAC1C,CAAC"}
@@ -22,11 +22,40 @@
22
22
  import { type DeclaredContext } from "./context.js";
23
23
  import type { FieldState } from "./state.js";
24
24
  import type { ContentSource, FragmentKind, FragmentWarmth } from "./wire.js";
25
- /** Bare-string shorthand: `"Sign in"` means `{ kind: "body", fallback: "Sign in" }`. */
25
+ /**
26
+ * When a late response may replace copy already on screen.
27
+ *
28
+ * `"before-paint"` — swap only if the response beat the fallback onto the
29
+ * canvas; otherwise the fallback stands for the whole page view. The default
30
+ * for `cta` and `label`, because relabelling a button under a moving cursor
31
+ * produces a misclick rather than an adaptation.
32
+ *
33
+ * `"always"` — take the single permitted swap whenever the response lands.
34
+ * The default for `headline`, `body` and `empty-state`.
35
+ *
36
+ * Set it per field to override either default. Presentation only: it never
37
+ * reaches the wire and never enters the schema hash.
38
+ */
39
+ export type FragmentSwapPolicy = "always" | "before-paint";
40
+ /**
41
+ * Bare-string shorthand: `"Sign in"` means `{ kind: "body", fallback: "Sign in" }`.
42
+ *
43
+ * An ARRAY fallback declares one paragraph per element: `intro` with three
44
+ * elements expands to the ordinary fields `intro1`, `intro2`, `intro3` before
45
+ * anything is hashed or sent — the wire never learns arrays exist. One kind
46
+ * per array, applied to every element; per-paragraph budgets, so each
47
+ * paragraph's envelope is its own and a whole section stays layout-stable.
48
+ * The array is a DECLARATION, not data: it must be literal in your source,
49
+ * because its length is part of the schema hash — a different paragraph
50
+ * count is a different construction.
51
+ */
26
52
  export type FragmentFieldSpec = string | {
27
53
  kind?: FragmentKind;
28
- fallback: string;
54
+ fallback: string | string[];
55
+ swap?: FragmentSwapPolicy;
29
56
  };
57
+ /** The swap policy for a field: the caller's choice, else the kind's default. */
58
+ export declare function fragmentSwapPolicy(spec: FragmentFieldSpec | undefined, kind: FragmentKind): FragmentSwapPolicy;
30
59
  /**
31
60
  * A signed mint token, or a function producing one.
32
61
  *
@@ -73,8 +102,14 @@ export interface NormalizedFragmentField {
73
102
  budget: number;
74
103
  fallback: string;
75
104
  }
76
- /** Expand shorthands and derive budgets. Deterministic: same fields object →
77
- * same schema same schemahash. */
105
+ /**
106
+ * Expand array fallbacks into ordinary per-paragraph fields: `intro` with
107
+ * three elements becomes `intro1`, `intro2`, `intro3`, each inheriting the
108
+ * field's kind and swap. Runs BEFORE hashing and before the wire, in both the
109
+ * React and the core paths, so the server never learns arrays exist.
110
+ * Idempotent: expanded specs contain no arrays.
111
+ */
112
+ export declare function expandFieldSpecs(fields: Record<string, FragmentFieldSpec>): Record<string, FragmentFieldSpec>;
78
113
  export declare function normalizeFieldSpecs(fields: Record<string, FragmentFieldSpec>): NormalizedFragmentField[];
79
114
  /** Strongest provenance across a set of field states (static < cached < generated). */
80
115
  export declare function strongestFragmentSource(fields: Iterable<FieldState>): ContentSource;
@@ -1 +1 @@
1
- {"version":3,"file":"fragments.d.ts","sourceRoot":"","sources":["../src/fragments.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,cAAc,EAEf,MAAM,WAAW,CAAC;AAEnB,wFAAwF;AACxF,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG;IAAE,IAAI,CAAC,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnF;;;;;;;;GAQG;AACH,MAAM,MAAM,eAAe,GACvB,MAAM,GACN,CAAC,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC;AAE3E,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC1C;;iEAE6D;IAC7D,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B;;;;;4CAKwC;IACxC,iBAAiB,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC;IACvC,iDAAiD;IACjD,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,0EAA0E;IAC1E,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACnC,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,cAAc,CAAC;IACvB;sEACkE;IAClE,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,kFAAkF;AAClF,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAKD;oCACoC;AACpC,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,GACxC,uBAAuB,EAAE,CAU3B;AAED,uFAAuF;AACvF,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,aAAa,CAMnF;AAqFD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC,CA+D7F;AAID,MAAM,WAAW,mBAAmB;IAClC;2EACuE;IACvE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,OAAO,EAAE;QACjB,OAAO,CAAC,EAAE,eAAe,CAAC;QAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;KAC3C,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,iBAAiB,CA+B5E"}
1
+ {"version":3,"file":"fragments.d.ts","sourceRoot":"","sources":["../src/fragments.ts"],"names":[],"mappings":"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"}
package/dist/fragments.js CHANGED
@@ -19,24 +19,135 @@
19
19
  * hashing, a hostile response — resolves to fallback-shaped fields with
20
20
  * source "static". The developer's copy is the floor.
21
21
  */
22
- import { computeFieldBudget, computeSchemaHash, declaredToDims, hashDeclaredContext, } from "./context.js";
22
+ import { computeFieldBudget, computeSchemaHash, declaredToDims, hashDeclaredContext, MAX_FALLBACK_CHARS, MAX_FRAGMENT_FIELDS, } from "./context.js";
23
+ import { inDevelopment, warnDev } from "./devwarn.js";
23
24
  import { decodePublishableKey } from "./publishableKey.js";
24
25
  import { isFirstPartyApiBase, isSecureApiBase } from "./safeUrl.js";
25
26
  import { decideChrome } from "./trust.js";
26
27
  import { FRAGMENT_KINDS, FRAGMENT_WARMTHS } from "./wire.js";
28
+ /** The swap policy for a field: the caller's choice, else the kind's default. */
29
+ export function fragmentSwapPolicy(spec, kind) {
30
+ if (typeof spec === "object" && spec?.swap)
31
+ return spec.swap;
32
+ return kind === "cta" || kind === "label" ? "before-paint" : "always";
33
+ }
27
34
  const VALID_SOURCES = new Set(["generated", "cached", "static"]);
28
35
  const SOURCE_RANK = { static: 0, cached: 1, generated: 2 };
29
36
  /** Expand shorthands and derive budgets. Deterministic: same fields object →
30
37
  * same schema → same schemahash. */
38
+ /** The mint validator's key shape (mosaic mint/route.ts). A key outside it is
39
+ * refused at mint — which the page experiences as a cold cache, silently. */
40
+ const VALID_KEY = /^[a-zA-Z][a-zA-Z0-9_-]{0,31}$/;
41
+ /**
42
+ * Expand array fallbacks into ordinary per-paragraph fields: `intro` with
43
+ * three elements becomes `intro1`, `intro2`, `intro3`, each inheriting the
44
+ * field's kind and swap. Runs BEFORE hashing and before the wire, in both the
45
+ * React and the core paths, so the server never learns arrays exist.
46
+ * Idempotent: expanded specs contain no arrays.
47
+ */
48
+ export function expandFieldSpecs(fields) {
49
+ let hasArray = false;
50
+ for (const spec of Object.values(fields)) {
51
+ if (typeof spec === "object" && Array.isArray(spec.fallback)) {
52
+ hasArray = true;
53
+ break;
54
+ }
55
+ }
56
+ if (!hasArray)
57
+ return fields;
58
+ const out = {};
59
+ for (const [key, spec] of Object.entries(fields)) {
60
+ if (typeof spec !== "object" || !Array.isArray(spec.fallback)) {
61
+ out[key] = spec;
62
+ continue;
63
+ }
64
+ const { fallback: paragraphs, ...rest } = spec;
65
+ if (rest.kind === "cta" || rest.kind === "label") {
66
+ warnDev(`frag:array-kind:${key}`, `"${key}" declares an array fallback with kind "${rest.kind}" — a ` +
67
+ `button with N paragraphs is not a thing. Each element becomes its ` +
68
+ `own "${rest.kind}" field; you probably want kind "body".`);
69
+ }
70
+ if (paragraphs.length === 0) {
71
+ warnDev(`frag:array-empty:${key}`, `"${key}" declares an empty array fallback, which expands to no fields ` +
72
+ `at all — the paragraphs simply vanish from the page. There is no ` +
73
+ `fragment without a fallback.`);
74
+ continue;
75
+ }
76
+ paragraphs.forEach((text, index) => {
77
+ const expandedKey = `${key}${index + 1}`;
78
+ // Against the ACCUMULATED record too, not just the declared one: two
79
+ // expansions can collide with each other (`p` with 11 elements writes
80
+ // `p11`, and so does `p1` with one) — a check against `fields` alone
81
+ // misses those entirely.
82
+ if (out[expandedKey] !== undefined || fields[expandedKey] !== undefined) {
83
+ warnDev(`frag:array-collision:${expandedKey}`, `array field "${key}" expands to "${expandedKey}", which another ` +
84
+ `declaration also produces — one silently overwrites the other ` +
85
+ `in the schema. Rename one of them.`);
86
+ }
87
+ out[expandedKey] = { ...rest, fallback: text };
88
+ });
89
+ }
90
+ return out;
91
+ }
31
92
  export function normalizeFieldSpecs(fields) {
32
- return Object.entries(fields).map(([key, spec]) => {
93
+ const flat = expandFieldSpecs(fields);
94
+ // The diagnostics below (regexes, trims, the case-fold map) exist only to
95
+ // feed warnDev, which is a guaranteed no-op in production — so production
96
+ // skips the work, not just the output. This runs on a hot path, three
97
+ // words into every page view.
98
+ const dev = inDevelopment();
99
+ // Case-fold collisions: the schema hash lowercases keys, so `Intro` and
100
+ // `intro` are distinct fields that hash as duplicates.
101
+ const seenLower = dev ? new Map() : null;
102
+ const normalized = Object.entries(flat).map(([key, spec]) => {
33
103
  const expanded = typeof spec === "string" ? { fallback: spec } : spec;
34
- const kind = expanded.kind && FRAGMENT_KINDS.includes(expanded.kind)
35
- ? expanded.kind
36
- : "body";
37
- const fallback = expanded.fallback ?? "";
104
+ const declaredKind = expanded.kind;
105
+ const known = declaredKind !== undefined && FRAGMENT_KINDS.includes(declaredKind);
106
+ const kind = known ? declaredKind : "body";
107
+ const fallback = typeof expanded.fallback === "string" ? expanded.fallback : "";
108
+ if (dev) {
109
+ if (declaredKind !== undefined && !known) {
110
+ warnDev(`frag:kind:${declaredKind}`, `unknown fragment kind "${declaredKind}" on "${key}" — treated as ` +
111
+ `"body", which changes the budget floor and therefore the schema ` +
112
+ `hash. Check the spelling.`);
113
+ }
114
+ if (fallback.trim() === "") {
115
+ warnDev(`frag:empty:${key}`, `"${key}" has an empty fallback. There is no fragment without a ` +
116
+ `fallback: we never generate from nothing, and this field renders ` +
117
+ `a blank on every cold context.`);
118
+ }
119
+ else if (fallback.length > MAX_FALLBACK_CHARS) {
120
+ warnDev(`frag:overcap:${key}`, `"${key}"'s fallback is ${fallback.length} characters; the mint ` +
121
+ `validator refuses fallbacks over ${MAX_FALLBACK_CHARS}, so this ` +
122
+ `group will never mint and serves fallbacks forever. Split the copy ` +
123
+ `into more fields (an array fallback declares one field per ` +
124
+ `paragraph).`);
125
+ }
126
+ if (key === "$group") {
127
+ warnDev(`frag:reserved:${key}`, `"$group" is a reserved key: it is where useFragments reports group ` +
128
+ `state, and the mint validator refuses it anyway. Rename the field.`);
129
+ }
130
+ else if (!VALID_KEY.test(key)) {
131
+ warnDev(`frag:key:${key}`, `"${key}" does not match the key shape the mint validator accepts ` +
132
+ `(a letter, then up to 31 of [a-zA-Z0-9_-]) — the mint is refused ` +
133
+ `and this group serves fallbacks forever.`);
134
+ }
135
+ const lower = key.toLowerCase();
136
+ const prior = seenLower?.get(lower);
137
+ if (prior !== undefined && prior !== key) {
138
+ warnDev(`frag:casefold:${lower}`, `"${prior}" and "${key}" differ only by case; the schema hash ` +
139
+ `lowercases keys, so they collide as duplicates. Rename one.`);
140
+ }
141
+ seenLower?.set(lower, key);
142
+ }
38
143
  return { key, kind, budget: computeFieldBudget(fallback, kind), fallback };
39
144
  });
145
+ if (dev && normalized.length > MAX_FRAGMENT_FIELDS) {
146
+ warnDev(`frag:fieldcap:${normalized.length}`, `${normalized.length} fields in one group; the mint validator refuses ` +
147
+ `more than ${MAX_FRAGMENT_FIELDS}, so this group will never mint. ` +
148
+ `Split it into two useFragments calls (each is its own draw).`);
149
+ }
150
+ return normalized;
40
151
  }
41
152
  /** Strongest provenance across a set of field states (static < cached < generated). */
42
153
  export function strongestFragmentSource(fields) {
@@ -57,6 +168,20 @@ function fallbackFields(schema) {
57
168
  }
58
169
  /** The header the mint POST echoes the signed token on. */
59
170
  const MINT_TOKEN_HEADER = "x-st-mint-token";
171
+ /**
172
+ * The S-2 gate is one of the places the SDK can go permanently quiet:
173
+ * fragments keep serving fallbacks, `warmth` stays "cold", nothing throws,
174
+ * and no copy is ever written. That is indistinguishable from a cold cache
175
+ * from the outside, so a developer can ship it and wait forever for copy
176
+ * that is not coming. Everywhere else silence is the correct behaviour; here
177
+ * it hides a misconfiguration with a one-line fix, so dev builds say so once.
178
+ */
179
+ function warnMintWithheld(apiBase) {
180
+ warnDev(`frag:mint-withheld:${apiBase}`, `fragments will never adapt at ${apiBase} — the mint request is ` +
181
+ `withheld because this apiBase came from a publishable key and is not a ` +
182
+ `SparkleTree host. Pass apiBase and organizationId to the provider explicitly ` +
183
+ `instead of publishableKey. See https://docs.sparkletree.io/developers/sdk/signed-minting/`);
184
+ }
60
185
  /**
61
186
  * Resolve a mint token to a header-ready string, or "" for "send no header".
62
187
  *
@@ -88,8 +213,10 @@ function maybeMint(options, schema, contextHash, schemaHash) {
88
213
  // so it only follows an apiBase the developer chose explicitly, or one
89
214
  // provably first-party/loopback. Withheld, fragments simply stay cold —
90
215
  // the fallback already shipped, and nothing leaks.
91
- if (options.apiBaseProvenance === "key" && !isFirstPartyApiBase(options.apiBase))
216
+ if (options.apiBaseProvenance === "key" && !isFirstPartyApiBase(options.apiBase)) {
217
+ warnMintWithheld(options.apiBase);
92
218
  return;
219
+ }
93
220
  const dedupKey = `st:frag:mint:${contextHash}:${schemaHash}`;
94
221
  try {
95
222
  if (window.sessionStorage.getItem(dedupKey) === "1")
@@ -106,7 +233,7 @@ function maybeMint(options, schema, contextHash, schemaHash) {
106
233
  void Promise.resolve()
107
234
  .then(async () => {
108
235
  const token = await resolveMintToken(options.mintToken);
109
- return doFetch(url.toString(), {
236
+ const response = await doFetch(url.toString(), {
110
237
  method: "POST",
111
238
  headers: {
112
239
  "Content-Type": "application/json",
@@ -122,6 +249,16 @@ function maybeMint(options, schema, contextHash, schemaHash) {
122
249
  schema,
123
250
  }),
124
251
  });
252
+ // A refused mint is the other place the SDK goes permanently quiet: the
253
+ // GET stays cold and the page cannot tell a rejection from a cache that
254
+ // has not warmed yet. Production stays fire-and-forget; dev says so.
255
+ if (!response.ok) {
256
+ warnDev(`frag:mint-refused:${response.status}:${options.apiBase}`, `fragment mint was refused (HTTP ${response.status}) at ` +
257
+ `${options.apiBase} — this group keeps serving your fallbacks. ` +
258
+ `Common causes: an over-cap fallback or field count, a key the ` +
259
+ `validator rejects, an unregistered origin, or "signed mints ` +
260
+ `only" without a token.`);
261
+ }
125
262
  })
126
263
  .catch(() => { });
127
264
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fragments.js","sourceRoot":"","sources":["../src/fragments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fragments.js","sourceRoot":"","sources":["../src/fragments.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -16,7 +16,7 @@ export { FRAGMENT_KINDS, FRAGMENT_WARMTHS } from "./wire.js";
16
16
  export { PROTOCOL_CURRENT, PROTOCOL_DEFAULT, PROTOCOL_HEADER, PROTOCOL_PARAM, PROTOCOL_VERSIONS, SDK_PARAM, SDK_PARAM_VALUE, VARIANT_PARAM, buildContentUrl, buildStreamUrl, negotiatedProtocol, type StreamTarget, } from "./protocol.js";
17
17
  export { SseParser, readSseStream, type SseMessage } from "./sse.js";
18
18
  export { isFirstPartyApiBase, isSecureApiBase, safeActionUrl } from "./safeUrl.js";
19
- export { CONTEXT_DAYPARTS, CONTEXT_DAY_TYPES, CONTEXT_DEVICES, CONTEXT_INTENTS, CONTEXT_SURFACE_TYPES, CONTEXT_TEMP_BANDS, CONTEXT_WEATHER, FRAGMENT_KIND_FLOORS, MAX_CUSTOM_DIMS, MAX_NOTES_LENGTH, canonicalContextString, computeContextHash, computeFieldBudget, computeSchemaHash, declaredToDims, hashDeclaredContext, normalizeDims, normalizeNotes, type CanonicalDims, type DeclaredContext, type NormalizeResult, } from "./context.js";
19
+ export { CONTEXT_DAYPARTS, CONTEXT_DAY_TYPES, CONTEXT_DEVICES, CONTEXT_INTENTS, CONTEXT_SURFACE_TYPES, CONTEXT_TEMP_BANDS, CONTEXT_WEATHER, FRAGMENT_KIND_FLOORS, MAX_CUSTOM_DIMS, MAX_FALLBACK_CHARS, MAX_FRAGMENT_FIELDS, MAX_NOTES_LENGTH, canonicalContextString, computeContextHash, computeFieldBudget, computeSchemaHash, declaredToDims, hashDeclaredContext, normalizeDims, normalizeNotes, type CanonicalDims, type DeclaredContext, type NormalizeResult, } from "./context.js";
20
20
  export { COPY_FIELDS, COPY_HOLD_MS, CopyChoreographer, type ChoreographerOptions, type CopyField, type CreativeState, type FieldState, type Phase, } from "./state.js";
21
21
  export { fetchContent, openStream, type ContentSnapshot, type StreamHandle, type StreamOptions, } from "./client.js";
22
22
  export { TOKEN_PREFIX, applyTheme, themeStyle, tokenName, tokenSource, type ResolvedTheme, } from "./theme.js";
@@ -27,5 +27,6 @@ export { activePlayer, destroyActiveAudio, mountAudio, type AudioBlock, type Aud
27
27
  export { plainText } from "./text.js";
28
28
  export { readableTextColor } from "./theme.js";
29
29
  export { decodePublishableKey, encodePublishableKey, type PublishableKeyEnv, type PublishableKeyPayload, } from "./publishableKey.js";
30
- export { createClient, fetchFragments, normalizeFieldSpecs, strongestFragmentSource, type CreateClientOptions, type FetchFragmentsOptions, type FragmentFieldSpec, type FragmentsResult, type MintTokenSource, type NormalizedFragmentField, type SparkletreeClient, } from "./fragments.js";
30
+ export { inDevelopment, warnDev } from "./devwarn.js";
31
+ export { createClient, expandFieldSpecs, fetchFragments, fragmentSwapPolicy, normalizeFieldSpecs, strongestFragmentSource, type CreateClientOptions, type FetchFragmentsOptions, type FragmentFieldSpec, type FragmentSwapPolicy, type FragmentsResult, type MintTokenSource, type NormalizedFragmentField, type SparkletreeClient, } from "./fragments.js";
31
32
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -15,7 +15,7 @@ export { FRAGMENT_KINDS, FRAGMENT_WARMTHS } from "./wire.js";
15
15
  export { PROTOCOL_CURRENT, PROTOCOL_DEFAULT, PROTOCOL_HEADER, PROTOCOL_PARAM, PROTOCOL_VERSIONS, SDK_PARAM, SDK_PARAM_VALUE, VARIANT_PARAM, buildContentUrl, buildStreamUrl, negotiatedProtocol, } from "./protocol.js";
16
16
  export { SseParser, readSseStream } from "./sse.js";
17
17
  export { isFirstPartyApiBase, isSecureApiBase, safeActionUrl } from "./safeUrl.js";
18
- export { CONTEXT_DAYPARTS, CONTEXT_DAY_TYPES, CONTEXT_DEVICES, CONTEXT_INTENTS, CONTEXT_SURFACE_TYPES, CONTEXT_TEMP_BANDS, CONTEXT_WEATHER, FRAGMENT_KIND_FLOORS, MAX_CUSTOM_DIMS, MAX_NOTES_LENGTH, canonicalContextString, computeContextHash, computeFieldBudget, computeSchemaHash, declaredToDims, hashDeclaredContext, normalizeDims, normalizeNotes, } from "./context.js";
18
+ export { CONTEXT_DAYPARTS, CONTEXT_DAY_TYPES, CONTEXT_DEVICES, CONTEXT_INTENTS, CONTEXT_SURFACE_TYPES, CONTEXT_TEMP_BANDS, CONTEXT_WEATHER, FRAGMENT_KIND_FLOORS, MAX_CUSTOM_DIMS, MAX_FALLBACK_CHARS, MAX_FRAGMENT_FIELDS, MAX_NOTES_LENGTH, canonicalContextString, computeContextHash, computeFieldBudget, computeSchemaHash, declaredToDims, hashDeclaredContext, normalizeDims, normalizeNotes, } from "./context.js";
19
19
  export { COPY_FIELDS, COPY_HOLD_MS, CopyChoreographer, } from "./state.js";
20
20
  export { fetchContent, openStream, } from "./client.js";
21
21
  export { TOKEN_PREFIX, applyTheme, themeStyle, tokenName, tokenSource, } from "./theme.js";
@@ -26,5 +26,6 @@ export { activePlayer, destroyActiveAudio, mountAudio, } from "./audio.js";
26
26
  export { plainText } from "./text.js";
27
27
  export { readableTextColor } from "./theme.js";
28
28
  export { decodePublishableKey, encodePublishableKey, } from "./publishableKey.js";
29
- export { createClient, fetchFragments, normalizeFieldSpecs, strongestFragmentSource, } from "./fragments.js";
29
+ export { inDevelopment, warnDev } from "./devwarn.js";
30
+ export { createClient, expandFieldSpecs, fetchFragments, fragmentSwapPolicy, normalizeFieldSpecs, strongestFragmentSource, } from "./fragments.js";
30
31
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAeH,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7D,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,SAAS,EACT,eAAe,EACf,aAAa,EACb,eAAe,EACf,cAAc,EACd,kBAAkB,GAEnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAmB,MAAM,UAAU,CAAC;AAErE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAEnF,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,cAAc,GAIf,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,WAAW,EACX,YAAY,EACZ,iBAAiB,GAMlB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,YAAY,EACZ,UAAU,GAIX,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,YAAY,EACZ,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,GAEZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,wBAAwB,EACxB,qBAAqB,GAEtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,SAAS,EACT,KAAK,GAKN,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,YAAY,GAIb,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,UAAU,GAOX,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GAGrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,uBAAuB,GAQxB,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAeH,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7D,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,SAAS,EACT,eAAe,EACf,aAAa,EACb,eAAe,EACf,cAAc,EACd,kBAAkB,GAEnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAmB,MAAM,UAAU,CAAC;AAErE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAEnF,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,cAAc,GAIf,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,WAAW,EACX,YAAY,EACZ,iBAAiB,GAMlB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,YAAY,EACZ,UAAU,GAIX,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,YAAY,EACZ,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,GAEZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,wBAAwB,EACxB,qBAAqB,GAEtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,SAAS,EACT,KAAK,GAKN,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,YAAY,GAIb,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,UAAU,GAOX,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GAGrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,GASxB,MAAM,gBAAgB,CAAC"}
package/dist/protocol.js CHANGED
@@ -35,8 +35,8 @@ export function buildStreamUrl(target, protocol = PROTOCOL_CURRENT) {
35
35
  if (target.sessionId)
36
36
  params.set("session", target.sessionId);
37
37
  params.set(SDK_PARAM, SDK_PARAM_VALUE);
38
- // Sent as a param as well as a header: EventSource cannot set headers, and
39
- // a consumer that swaps our fetch transport for one must still negotiate.
38
+ // A query param, never a request header: ours sends none and a consumer's
39
+ // EventSource cannot set them. The server echoes the version back instead.
40
40
  params.set(PROTOCOL_PARAM, String(protocol));
41
41
  for (const [key, value] of Object.entries(target.extra ?? {})) {
42
42
  if (value !== undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
package/dist/state.d.ts CHANGED
@@ -4,8 +4,8 @@
4
4
  * This is the part of the SDK that is not a fetch wrapper. The doctrine it
5
5
  * implements (Squid V2, shipped 2026-07-23) is three rules:
6
6
  *
7
- * 1. FIRST PAINT IS REAL COPY. Never a skeleton, never an empty frame. The
8
- * client starts from SSR `/content` or a required `fallback`.
7
+ * 1. WHAT A VISITOR READS IS REAL COPY. Never a skeleton, never a spinner.
8
+ * The client starts from SSR `/content` or a required `fallback`.
9
9
  * 2. COPY CHANGES AT MOST ONCE. Text a reader may already be mid-sentence on
10
10
  * is never wiped and retyped. The stream lands as ONE deliberate rewrite.
11
11
  * 3. TEXT ON THE WIRE IS TEXT WE CAN SHOW. The first CHUNK takes the canvas,
@@ -66,7 +66,8 @@ export type Phase =
66
66
  | "live"
67
67
  /** `done` received. */
68
68
  | "settled"
69
- /** `error`, or the transport failed. Whatever was painted STAYS painted. */
69
+ /** `error`, or the transport failed. Copy that closed stays; anything the
70
+ * stream left unfinished or blank is back on its fallback. */
70
71
  | "failed";
71
72
  export interface CreativeState {
72
73
  phase: Phase;
@@ -138,6 +139,9 @@ export interface ChoreographerOptions {
138
139
  * Implies the hold exemption: server-rendered creative is on screen.
139
140
  */
140
141
  serverRendered?: boolean;
142
+ /** How long the canvas holds blank waiting for the stream before the initial
143
+ * copy paints. Defaults to `COPY_HOLD_MS`, and restarts ONCE when the stream
144
+ * proves it is alive — so the blank can last up to twice this. */
141
145
  holdMs?: number;
142
146
  /** Injectable for tests; defaults to the platform timers. */
143
147
  setTimeout?: (fn: () => void, ms: number) => unknown;
@@ -346,9 +350,11 @@ export declare class CopyChoreographer {
346
350
  /**
347
351
  * The stream failed.
348
352
  *
349
- * Whatever is painted STAYS painted. An error is never a reason to blank
350
- * copy a reader is mid-sentence on the worst honest outcome is that the
351
- * creative simply stopped adapting, which looks like a normal page.
353
+ * No failure blanks the canvas. A field that closed keeps its delivered
354
+ * copy; a field the stream opened but never finished is repainted with its
355
+ * WHOLE fallback and demoted to `static`; a still-blank field gets its
356
+ * fallback back. The worst honest outcome is that the creative simply
357
+ * stopped adapting, which looks like a normal page.
352
358
  */
353
359
  failed(message: string): void;
354
360
  /** Release timers. Safe to call twice. */
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
package/dist/state.js CHANGED
@@ -4,8 +4,8 @@
4
4
  * This is the part of the SDK that is not a fetch wrapper. The doctrine it
5
5
  * implements (Squid V2, shipped 2026-07-23) is three rules:
6
6
  *
7
- * 1. FIRST PAINT IS REAL COPY. Never a skeleton, never an empty frame. The
8
- * client starts from SSR `/content` or a required `fallback`.
7
+ * 1. WHAT A VISITOR READS IS REAL COPY. Never a skeleton, never a spinner.
8
+ * The client starts from SSR `/content` or a required `fallback`.
9
9
  * 2. COPY CHANGES AT MOST ONCE. Text a reader may already be mid-sentence on
10
10
  * is never wiped and retyped. The stream lands as ONE deliberate rewrite.
11
11
  * 3. TEXT ON THE WIRE IS TEXT WE CAN SHOW. The first CHUNK takes the canvas,
@@ -537,14 +537,35 @@ export class CopyChoreographer {
537
537
  typing: false,
538
538
  settled: fields[field].settled || this.closed.has(field),
539
539
  };
540
- // A field the stream never delivered ends on its fallback, never on
541
- // the blank the hold painted. Not a rewrite: nothing the reader saw
540
+ // A field the stream never PAINTED ends on its fallback, never on the
541
+ // blank the hold painted. Not a rewrite: nothing the reader saw
542
542
  // changed versus first paint.
543
- const held = this.heldCopy?.[field];
544
- if (fields[field].text === "" && held !== undefined && held !== "") {
545
- fields[field] = { ...fields[field], text: held };
543
+ //
544
+ // "Unfinished" is `started && !closed` the SAME predicate `failed()`
545
+ // uses, or the two terminal paths disagree about what counts as
546
+ // delivered. Testing only for blank text missed the case where the
547
+ // fallback was ALREADY ON SCREEN (the ordinary hydrated `"use client"`
548
+ // path): the field was neither held nor blank, so it was neither
549
+ // restored nor demoted, and ended carrying `source: "generated"` over
550
+ // the customer's own sentence.
551
+ //
552
+ // But an unfinished field with VISIBLE streamed text is different: the
553
+ // reader is mid-way through real generated copy, and wiping it back to
554
+ // the fallback at `done` is exactly the mid-read yank the doctrine
555
+ // forbids. A lost close frame stays cosmetic — the partial text
556
+ // stands, its provenance true, and the field settles where it is.
557
+ const held = this.heldCopy?.[field] ?? this.initialCopy[field];
558
+ const unfinished = this.started.has(field) && !this.closed.has(field);
559
+ const neverPainted = fields[field].text === "" || (unfinished && fields[field].text === held);
560
+ if (neverPainted && held !== undefined && held !== "") {
561
+ // Restored copy is final resting copy: settled, whatever the stream
562
+ // failed to close.
563
+ fields[field] = { ...fields[field], text: held, settled: true };
546
564
  restored.push(field);
547
565
  }
566
+ else if (unfinished) {
567
+ fields[field] = { ...fields[field], settled: true };
568
+ }
548
569
  }
549
570
  this.heldCopy = null;
550
571
  this.demoteUndeliveredProvenance(fields, restored);
@@ -572,9 +593,11 @@ export class CopyChoreographer {
572
593
  /**
573
594
  * The stream failed.
574
595
  *
575
- * Whatever is painted STAYS painted. An error is never a reason to blank
576
- * copy a reader is mid-sentence on the worst honest outcome is that the
577
- * creative simply stopped adapting, which looks like a normal page.
596
+ * No failure blanks the canvas. A field that closed keeps its delivered
597
+ * copy; a field the stream opened but never finished is repainted with its
598
+ * WHOLE fallback and demoted to `static`; a still-blank field gets its
599
+ * fallback back. The worst honest outcome is that the creative simply
600
+ * stopped adapting, which looks like a normal page.
578
601
  */
579
602
  failed(message) {
580
603
  // Terminal is terminal: a late `error` after `done` must not rebrand a
package/dist/state.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sparkletree/core",
3
- "version": "0.1.4",
3
+ "version": "0.3.0",
4
4
  "description": "Framework-agnostic core for the SparkleTree SDK: wire protocol, copy choreography, theme, analytics, audio.",
5
5
  "license": "MIT",
6
6
  "type": "module",