@sparkletree/core 0.10.0 → 0.11.1
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/fragments.d.ts +13 -5
- package/dist/fragments.d.ts.map +1 -1
- package/dist/fragments.js +76 -21
- package/dist/fragments.js.map +1 -1
- package/dist/publishableKey.d.ts +1 -1
- package/dist/publishableKey.js +1 -1
- package/dist/safeUrl.d.ts +6 -0
- package/dist/safeUrl.d.ts.map +1 -1
- package/dist/safeUrl.js +8 -0
- package/dist/safeUrl.js.map +1 -1
- package/package.json +1 -1
package/dist/fragments.d.ts
CHANGED
|
@@ -9,11 +9,14 @@
|
|
|
9
9
|
* 2. ctxhash + schemahash are computed locally (declared dims ONLY — env
|
|
10
10
|
* signals never enter the fragment identity, so cardinality stays "the
|
|
11
11
|
* number of call sites in the org's source").
|
|
12
|
-
* 3. One cacheable GET. Warm hit → serve those fields
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
12
|
+
* 3. One cacheable GET. Warm hit → serve those fields.
|
|
13
|
+
* 4. On a miss with `pending: true`, ONE POST /mint, deduplicated per
|
|
14
|
+
* session. The server generates ON THIS REQUEST and streams the copy
|
|
15
|
+
* back (SSE: `accepted`, then `fragments` or `done`), so the visitor
|
|
16
|
+
* whose page asked is the visitor who gets the words — inside the
|
|
17
|
+
* renderer's hold budget when generation is quick enough, and from the
|
|
18
|
+
* warm read on every view after. A server that still answers 202 JSON
|
|
19
|
+
* (the pre-request-time contract) is tolerated: the fallbacks stand.
|
|
17
20
|
*
|
|
18
21
|
* `fetchFragments` NEVER rejects. Any failure — network, malformed body,
|
|
19
22
|
* hashing, a hostile response — resolves to fallback-shaped fields with
|
|
@@ -94,6 +97,11 @@ export interface FetchFragmentsOptions {
|
|
|
94
97
|
apiBaseProvenance?: "explicit" | "key";
|
|
95
98
|
/** Test seam; defaults to the platform fetch. */
|
|
96
99
|
fetchImpl?: typeof fetch;
|
|
100
|
+
/** Called once when the server has accepted a request-time generation and
|
|
101
|
+
* is writing the copy for this very page view. A renderer holding the
|
|
102
|
+
* canvas may restart its budget ONCE here — the same rule as an island
|
|
103
|
+
* stream proving it is alive (`copyStart`). */
|
|
104
|
+
onMintStarted?: () => void;
|
|
97
105
|
}
|
|
98
106
|
export interface FragmentsResult {
|
|
99
107
|
/** One FieldState per requested key — the exact shape islands produce. */
|
package/dist/fragments.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fragments.d.ts","sourceRoot":"","sources":["../src/fragments.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"fragments.d.ts","sourceRoot":"","sources":["../src/fragments.ts"],"names":[],"mappings":"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"}
|
package/dist/fragments.js
CHANGED
|
@@ -9,11 +9,14 @@
|
|
|
9
9
|
* 2. ctxhash + schemahash are computed locally (declared dims ONLY — env
|
|
10
10
|
* signals never enter the fragment identity, so cardinality stays "the
|
|
11
11
|
* number of call sites in the org's source").
|
|
12
|
-
* 3. One cacheable GET. Warm hit → serve those fields
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
12
|
+
* 3. One cacheable GET. Warm hit → serve those fields.
|
|
13
|
+
* 4. On a miss with `pending: true`, ONE POST /mint, deduplicated per
|
|
14
|
+
* session. The server generates ON THIS REQUEST and streams the copy
|
|
15
|
+
* back (SSE: `accepted`, then `fragments` or `done`), so the visitor
|
|
16
|
+
* whose page asked is the visitor who gets the words — inside the
|
|
17
|
+
* renderer's hold budget when generation is quick enough, and from the
|
|
18
|
+
* warm read on every view after. A server that still answers 202 JSON
|
|
19
|
+
* (the pre-request-time contract) is tolerated: the fallbacks stand.
|
|
17
20
|
*
|
|
18
21
|
* `fetchFragments` NEVER rejects. Any failure — network, malformed body,
|
|
19
22
|
* hashing, a hostile response — resolves to fallback-shaped fields with
|
|
@@ -23,6 +26,7 @@ import { computeFieldBudget, computeSchemaHash, declaredToDims, hashDeclaredCont
|
|
|
23
26
|
import { inDevelopment, warnDev } from "./devwarn.js";
|
|
24
27
|
import { decodePublishableKey } from "./publishableKey.js";
|
|
25
28
|
import { isFirstPartyApiBase, isSecureApiBase } from "./safeUrl.js";
|
|
29
|
+
import { readSseStream } from "./sse.js";
|
|
26
30
|
import { decideChrome } from "./trust.js";
|
|
27
31
|
import { FRAGMENT_KINDS, FRAGMENT_WARMTHS } from "./wire.js";
|
|
28
32
|
/** The swap policy for a field: the caller's choice, else the kind's default. */
|
|
@@ -202,14 +206,18 @@ async function resolveMintToken(source) {
|
|
|
202
206
|
}
|
|
203
207
|
}
|
|
204
208
|
/**
|
|
205
|
-
*
|
|
209
|
+
* The one permitted mint for this (ctxhash, schemahash), deduplicated in
|
|
206
210
|
* sessionStorage. Outside a browser there is no page view to warm — skip
|
|
207
211
|
* entirely. In a privacy mode where sessionStorage throws, the POST still
|
|
208
|
-
* fires once per call; the server's
|
|
212
|
+
* fires once per call; the server's identity claim absorbs repeats.
|
|
213
|
+
*
|
|
214
|
+
* Resolves with the served fields when the server generated on this request,
|
|
215
|
+
* null otherwise (refused, deduplicated, withheld, old JSON contract, or any
|
|
216
|
+
* failure). Never rejects.
|
|
209
217
|
*/
|
|
210
|
-
function
|
|
218
|
+
async function mintNow(options, schema, contextHash, schemaHash) {
|
|
211
219
|
if (typeof window === "undefined")
|
|
212
|
-
return;
|
|
220
|
+
return null;
|
|
213
221
|
// S-2: the SDK cannot verify a key's signature, so a key-derived apiBase
|
|
214
222
|
// is an unproven host client-side (anyone can hand-encode one). The mint
|
|
215
223
|
// POST carries the signed token (a spend credential) and the declared dims,
|
|
@@ -218,12 +226,12 @@ function maybeMint(options, schema, contextHash, schemaHash) {
|
|
|
218
226
|
// the fallback already shipped, and nothing leaks.
|
|
219
227
|
if (options.apiBaseProvenance === "key" && !isFirstPartyApiBase(options.apiBase)) {
|
|
220
228
|
warnMintWithheld(options.apiBase);
|
|
221
|
-
return;
|
|
229
|
+
return null;
|
|
222
230
|
}
|
|
223
231
|
const dedupKey = `st:frag:mint:${contextHash}:${schemaHash}`;
|
|
224
232
|
try {
|
|
225
233
|
if (window.sessionStorage.getItem(dedupKey) === "1")
|
|
226
|
-
return;
|
|
234
|
+
return null;
|
|
227
235
|
window.sessionStorage.setItem(dedupKey, "1");
|
|
228
236
|
}
|
|
229
237
|
catch {
|
|
@@ -231,15 +239,13 @@ function maybeMint(options, schema, contextHash, schemaHash) {
|
|
|
231
239
|
}
|
|
232
240
|
const doFetch = options.fetchImpl ?? fetch;
|
|
233
241
|
const url = new URL("/api/embed/v1/fragments/mint", options.apiBase);
|
|
234
|
-
|
|
235
|
-
// is indistinguishable from a cold cache — the fallback already shipped.
|
|
236
|
-
void Promise.resolve()
|
|
237
|
-
.then(async () => {
|
|
242
|
+
try {
|
|
238
243
|
const token = await resolveMintToken(options.mintToken);
|
|
239
244
|
const response = await doFetch(url.toString(), {
|
|
240
245
|
method: "POST",
|
|
241
246
|
headers: {
|
|
242
247
|
"Content-Type": "application/json",
|
|
248
|
+
Accept: "text/event-stream, application/json",
|
|
243
249
|
// Absent, not empty: a blank token is a PRESENT-but-bad token to the
|
|
244
250
|
// server, which refuses outright rather than falling back to Origin.
|
|
245
251
|
...(token ? { [MINT_TOKEN_HEADER]: token } : {}),
|
|
@@ -254,16 +260,46 @@ function maybeMint(options, schema, contextHash, schemaHash) {
|
|
|
254
260
|
});
|
|
255
261
|
// A refused mint is the other place the SDK goes permanently quiet: the
|
|
256
262
|
// GET stays cold and the page cannot tell a rejection from a cache that
|
|
257
|
-
// has not warmed yet. Production stays
|
|
263
|
+
// has not warmed yet. Production stays silent; dev says so.
|
|
258
264
|
if (!response.ok) {
|
|
259
265
|
warnDev(`frag:mint-refused:${response.status}:${options.apiBase}`, `fragment mint was refused (HTTP ${response.status}) at ` +
|
|
260
266
|
`${options.apiBase} — this group keeps serving your fallbacks. ` +
|
|
261
267
|
`Common causes: an over-cap fallback or field count, a key the ` +
|
|
262
268
|
`validator rejects, an unregistered origin, or "signed mints ` +
|
|
263
269
|
`only" without a token.`);
|
|
270
|
+
return null;
|
|
264
271
|
}
|
|
265
|
-
|
|
266
|
-
.
|
|
272
|
+
const type = response.headers.get("content-type") ?? "";
|
|
273
|
+
// The pre-request-time contract: 202 JSON, nothing to show. Tolerated so
|
|
274
|
+
// a newer SDK against an older server degrades to exactly the old
|
|
275
|
+
// behaviour (fallbacks stand, the next view reads warm).
|
|
276
|
+
if (!type.includes("text/event-stream"))
|
|
277
|
+
return null;
|
|
278
|
+
let served = null;
|
|
279
|
+
await readSseStream(response, {
|
|
280
|
+
onMessage: (message) => {
|
|
281
|
+
if (message.event === "accepted") {
|
|
282
|
+
options.onMintStarted?.();
|
|
283
|
+
return;
|
|
284
|
+
}
|
|
285
|
+
if (message.event !== "fragments")
|
|
286
|
+
return;
|
|
287
|
+
try {
|
|
288
|
+
const body = JSON.parse(message.data);
|
|
289
|
+
if (body.fragments && typeof body.fragments === "object") {
|
|
290
|
+
served = body.fragments;
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
catch {
|
|
294
|
+
// A malformed frame is a cold mint, not an exception in the page.
|
|
295
|
+
}
|
|
296
|
+
},
|
|
297
|
+
});
|
|
298
|
+
return served;
|
|
299
|
+
}
|
|
300
|
+
catch {
|
|
301
|
+
return null;
|
|
302
|
+
}
|
|
267
303
|
}
|
|
268
304
|
/**
|
|
269
305
|
* Resolve fragments for a declared context. Resolves fast; NEVER rejects;
|
|
@@ -314,11 +350,30 @@ export async function fetchFragments(options) {
|
|
|
314
350
|
? fragmentField(candidate.text, candidate.source)
|
|
315
351
|
: fragmentField(field.fallback, "static");
|
|
316
352
|
}
|
|
317
|
-
|
|
353
|
+
let warmth = body?.warmth && FRAGMENT_WARMTHS.includes(body.warmth)
|
|
318
354
|
? body.warmth
|
|
319
355
|
: "cold";
|
|
320
|
-
if (body?.pending === true)
|
|
321
|
-
|
|
356
|
+
if (body?.pending === true) {
|
|
357
|
+
// The server generates on THIS request and streams the copy back. The
|
|
358
|
+
// renderer's hold decides whether it lands on this view; either way the
|
|
359
|
+
// read is warm for the next one.
|
|
360
|
+
const minted = await mintNow(options, schema, contextHash, schemaHash);
|
|
361
|
+
if (minted) {
|
|
362
|
+
let any = false;
|
|
363
|
+
for (const field of schema) {
|
|
364
|
+
const candidate = minted[field.key];
|
|
365
|
+
if (candidate &&
|
|
366
|
+
typeof candidate.text === "string" &&
|
|
367
|
+
candidate.text !== "" &&
|
|
368
|
+
VALID_SOURCES.has(candidate.source)) {
|
|
369
|
+
fields[field.key] = fragmentField(candidate.text, candidate.source);
|
|
370
|
+
any = true;
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
if (any)
|
|
374
|
+
warmth = "warm";
|
|
375
|
+
}
|
|
376
|
+
}
|
|
322
377
|
// Core has no viewer preference to consult; the React layer re-decides
|
|
323
378
|
// with `prefersStandard`. This is the provenance-honest default.
|
|
324
379
|
const marked = decideChrome(strongestFragmentSource(Object.values(fields)), false).marked;
|
package/dist/fragments.js.map
CHANGED
|
@@ -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/publishableKey.d.ts
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* Because the client cannot verify the signature, an apiBase that arrives VIA
|
|
21
21
|
* a key is still an unproven host client-side. Content fetches may follow it,
|
|
22
22
|
* but the mint token — a spend credential — may not: the mint POST fires only
|
|
23
|
-
* for an explicit, first-party (*.sparkletree.io), or loopback apiBase
|
|
23
|
+
* for an explicit, first-party (*.sparkletree.io, *.qrtree.ai), or loopback apiBase
|
|
24
24
|
* (security review S-2; see isFirstPartyApiBase/maybeMint).
|
|
25
25
|
*/
|
|
26
26
|
export interface PublishableKeyPayload {
|
package/dist/publishableKey.js
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* Because the client cannot verify the signature, an apiBase that arrives VIA
|
|
21
21
|
* a key is still an unproven host client-side. Content fetches may follow it,
|
|
22
22
|
* but the mint token — a spend credential — may not: the mint POST fires only
|
|
23
|
-
* for an explicit, first-party (*.sparkletree.io), or loopback apiBase
|
|
23
|
+
* for an explicit, first-party (*.sparkletree.io, *.qrtree.ai), or loopback apiBase
|
|
24
24
|
* (security review S-2; see isFirstPartyApiBase/maybeMint).
|
|
25
25
|
*/
|
|
26
26
|
const KEY_PATTERN = /^st_pk_(live|test)_([A-Za-z0-9_-]+)$/;
|
package/dist/safeUrl.d.ts
CHANGED
|
@@ -41,6 +41,12 @@ export declare function isSecureApiBase(apiBase: string): boolean;
|
|
|
41
41
|
/**
|
|
42
42
|
* Is this apiBase first-party — the hosted SparkleTree edge, or loopback?
|
|
43
43
|
*
|
|
44
|
+
* "First-party" is the fixed set of hosts SparkleTree itself operates:
|
|
45
|
+
* sparkletree.io (the platform and the campaigns edge alias) and qrtree.ai
|
|
46
|
+
* (the public edge origin the dashboard writes into every publishable key,
|
|
47
|
+
* `p.qrtree.ai`). A key minted by the dashboard therefore mints as-is; a
|
|
48
|
+
* hand-encoded key pointing anywhere else still gets content and no token.
|
|
49
|
+
*
|
|
44
50
|
* The publishable key is an unsigned address ANYONE can hand-encode (see
|
|
45
51
|
* publishableKey.ts), so an apiBase that arrived via a key proves nothing
|
|
46
52
|
* about who chose it. The one value that must never follow an unproven
|
package/dist/safeUrl.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safeUrl.d.ts","sourceRoot":"","sources":["../src/safeUrl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAmBH;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAyBhF;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CASxD;AAED
|
|
1
|
+
{"version":3,"file":"safeUrl.d.ts","sourceRoot":"","sources":["../src/safeUrl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAmBH;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAyBhF;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CASxD;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAc5D"}
|
package/dist/safeUrl.js
CHANGED
|
@@ -91,6 +91,12 @@ export function isSecureApiBase(apiBase) {
|
|
|
91
91
|
/**
|
|
92
92
|
* Is this apiBase first-party — the hosted SparkleTree edge, or loopback?
|
|
93
93
|
*
|
|
94
|
+
* "First-party" is the fixed set of hosts SparkleTree itself operates:
|
|
95
|
+
* sparkletree.io (the platform and the campaigns edge alias) and qrtree.ai
|
|
96
|
+
* (the public edge origin the dashboard writes into every publishable key,
|
|
97
|
+
* `p.qrtree.ai`). A key minted by the dashboard therefore mints as-is; a
|
|
98
|
+
* hand-encoded key pointing anywhere else still gets content and no token.
|
|
99
|
+
*
|
|
94
100
|
* The publishable key is an unsigned address ANYONE can hand-encode (see
|
|
95
101
|
* publishableKey.ts), so an apiBase that arrived via a key proves nothing
|
|
96
102
|
* about who chose it. The one value that must never follow an unproven
|
|
@@ -107,6 +113,8 @@ export function isFirstPartyApiBase(apiBase) {
|
|
|
107
113
|
const { hostname } = new URL(apiBase);
|
|
108
114
|
return (hostname === "sparkletree.io" ||
|
|
109
115
|
hostname.endsWith(".sparkletree.io") ||
|
|
116
|
+
hostname === "qrtree.ai" ||
|
|
117
|
+
hostname.endsWith(".qrtree.ai") ||
|
|
110
118
|
hostname === "localhost" ||
|
|
111
119
|
hostname === "127.0.0.1");
|
|
112
120
|
}
|
package/dist/safeUrl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safeUrl.js","sourceRoot":"","sources":["../src/safeUrl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;GAKG;AACH,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;AAE/E,6EAA6E;AAC7E,MAAM,aAAa,GAAG,2BAA2B,CAAC;AAElD;;;GAGG;AACH,MAAM,UAAU,GAAG,iCAAiC,CAAC;AAErD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,aAAa,CAAC,GAA8B;IAC1D,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAE/B,IACE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QACvB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;QACxB,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QACvB,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EACvB,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,uEAAuE;IACvE,0EAA0E;IAC1E,oEAAoE;IACpE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IAEnD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC;QACrD,OAAO,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3C,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO;YAAE,OAAO,KAAK,CAAC;QAC3C,OAAO,GAAG,CAAC,QAAQ,KAAK,WAAW,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"safeUrl.js","sourceRoot":"","sources":["../src/safeUrl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;GAKG;AACH,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;AAE/E,6EAA6E;AAC7E,MAAM,aAAa,GAAG,2BAA2B,CAAC;AAElD;;;GAGG;AACH,MAAM,UAAU,GAAG,iCAAiC,CAAC;AAErD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,aAAa,CAAC,GAA8B;IAC1D,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAE/B,IACE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QACvB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;QACxB,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QACvB,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EACvB,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,uEAAuE;IACvE,0EAA0E;IAC1E,oEAAoE;IACpE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IAEnD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC;QACrD,OAAO,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3C,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO;YAAE,OAAO,KAAK,CAAC;QAC3C,OAAO,GAAG,CAAC,QAAQ,KAAK,WAAW,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO,CACL,QAAQ,KAAK,gBAAgB;YAC7B,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACpC,QAAQ,KAAK,WAAW;YACxB,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC/B,QAAQ,KAAK,WAAW;YACxB,QAAQ,KAAK,WAAW,CACzB,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED