@pie-players/pie-players-shared 0.3.30 → 0.3.32
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/components/PieItemPlayer.svelte +21 -0
- package/dist/components/PiePreviewLayout.svelte +8 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/loaders/ElementLoader.d.ts +6 -34
- package/dist/loaders/ElementLoader.d.ts.map +1 -1
- package/dist/loaders/ElementLoader.js +21 -9
- package/dist/loaders/ElementLoader.js.map +1 -1
- package/dist/loaders/element-loader-types.d.ts +91 -0
- package/dist/loaders/element-loader-types.d.ts.map +1 -0
- package/dist/loaders/element-loader-types.js +26 -0
- package/dist/loaders/element-loader-types.js.map +1 -0
- package/dist/loaders/element-loader.d.ts +92 -0
- package/dist/loaders/element-loader.d.ts.map +1 -0
- package/dist/loaders/element-loader.js +391 -0
- package/dist/loaders/element-loader.js.map +1 -0
- package/dist/loaders/esm-adapter.d.ts +40 -0
- package/dist/loaders/esm-adapter.d.ts.map +1 -0
- package/dist/loaders/esm-adapter.js +274 -0
- package/dist/loaders/esm-adapter.js.map +1 -0
- package/dist/loaders/iife-adapter.d.ts +86 -0
- package/dist/loaders/iife-adapter.d.ts.map +1 -0
- package/dist/loaders/iife-adapter.js +365 -0
- package/dist/loaders/iife-adapter.js.map +1 -0
- package/dist/loaders/index.d.ts +30 -17
- package/dist/loaders/index.d.ts.map +1 -1
- package/dist/loaders/index.js +26 -14
- package/dist/loaders/index.js.map +1 -1
- package/dist/pie/index.d.ts +4 -4
- package/dist/pie/index.d.ts.map +1 -1
- package/dist/pie/index.js +7 -2
- package/dist/pie/index.js.map +1 -1
- package/dist/pie/initialization.d.ts +26 -1
- package/dist/pie/initialization.d.ts.map +1 -1
- package/dist/pie/initialization.js +72 -15
- package/dist/pie/initialization.js.map +1 -1
- package/dist/pie/instrumentation-event-map.d.ts.map +1 -1
- package/dist/pie/instrumentation-event-map.js +27 -16
- package/dist/pie/instrumentation-event-map.js.map +1 -1
- package/dist/pie/stage-tracker.d.ts +51 -0
- package/dist/pie/stage-tracker.d.ts.map +1 -0
- package/dist/pie/stage-tracker.js +106 -0
- package/dist/pie/stage-tracker.js.map +1 -0
- package/dist/pie/stages.d.ts +75 -0
- package/dist/pie/stages.d.ts.map +1 -0
- package/dist/pie/stages.js +58 -0
- package/dist/pie/stages.js.map +1 -0
- package/dist/pie/use-resource-monitor.svelte.d.ts.map +1 -1
- package/dist/pie/use-resource-monitor.svelte.js +88 -75
- package/dist/pie/use-resource-monitor.svelte.js.map +1 -1
- package/dist/ui/use-promise.svelte.ts +109 -0
- package/package.json +6 -1
- package/dist/loaders/EsmElementLoader.d.ts +0 -69
- package/dist/loaders/EsmElementLoader.d.ts.map +0 -1
- package/dist/loaders/EsmElementLoader.js +0 -72
- package/dist/loaders/EsmElementLoader.js.map +0 -1
- package/dist/loaders/IifeElementLoader.d.ts +0 -61
- package/dist/loaders/IifeElementLoader.d.ts.map +0 -1
- package/dist/loaders/IifeElementLoader.js +0 -63
- package/dist/loaders/IifeElementLoader.js.map +0 -1
- package/dist/pie/esm-loader.d.ts +0 -104
- package/dist/pie/esm-loader.d.ts.map +0 -1
- package/dist/pie/esm-loader.js +0 -358
- package/dist/pie/esm-loader.js.map +0 -1
- package/dist/pie/iife-loader.d.ts +0 -116
- package/dist/pie/iife-loader.d.ts.map +0 -1
- package/dist/pie/iife-loader.js +0 -561
- package/dist/pie/iife-loader.js.map +0 -1
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IIFE backend adapter for the ElementLoader primitive.
|
|
3
|
+
*
|
|
4
|
+
* Loads PIE elements from IIFE bundles served by the PIE build service,
|
|
5
|
+
* then registers them with `customElements`. On any per-tag failure
|
|
6
|
+
* (missing package, non-constructor element class, define failure),
|
|
7
|
+
* throws `AdapterFailure` with a structured `reasons` map that the
|
|
8
|
+
* primitive unpacks into `ElementLoaderError.reasons`.
|
|
9
|
+
*
|
|
10
|
+
* This adapter deliberately does *not* gate its own promise on
|
|
11
|
+
* `customElements.whenDefined` — the primitive performs that verification
|
|
12
|
+
* uniformly for every backend, so the adapter's job is narrowly:
|
|
13
|
+
*
|
|
14
|
+
* 1. Fetch the bundle.
|
|
15
|
+
* 2. Extract per-tag element classes from `window.pie.default`.
|
|
16
|
+
* 3. Validate each class is a custom-element constructor.
|
|
17
|
+
* 4. Call `customElements.define` via `defineCustomElementSafely`.
|
|
18
|
+
* 5. Collect structured per-tag reasons for anything that failed.
|
|
19
|
+
* 6. Resolve (everything OK) or throw `AdapterFailure` (anything failed).
|
|
20
|
+
*/
|
|
21
|
+
import { isInstrumentationProvider } from "../instrumentation/provider-guards.js";
|
|
22
|
+
import { DEFAULT_IIFE_BUNDLE_RETRY_CONFIG, } from "../loader-config.js";
|
|
23
|
+
import { defineCustomElementSafely } from "../pie/custom-element-define.js";
|
|
24
|
+
import { pieRegistry } from "../pie/registry.js";
|
|
25
|
+
import { validateCustomElementTag } from "../pie/tag-names.js";
|
|
26
|
+
import { BundleType, isCustomElementConstructor, Status, } from "../pie/types.js";
|
|
27
|
+
import { getPackageWithoutVersion } from "../pie/utils.js";
|
|
28
|
+
import { AdapterFailure, } from "./element-loader-types.js";
|
|
29
|
+
/**
|
|
30
|
+
* Default PIE bundle service base URL. Exported so widgets can use it as
|
|
31
|
+
* the fallback when the host does not supply `loaderOptions.bundleHost`.
|
|
32
|
+
*/
|
|
33
|
+
export const DEFAULT_BUNDLE_HOST = "https://proxy.pie-api.com/bundles/";
|
|
34
|
+
export function createIifeBackend(config) {
|
|
35
|
+
const bundleType = config.bundleType ?? BundleType.clientPlayer;
|
|
36
|
+
const needsControllers = config.needsControllers ?? true;
|
|
37
|
+
let loadBundleScript = defaultLoadBundleScript;
|
|
38
|
+
const inFlightBundleLoads = new Map();
|
|
39
|
+
const __seams = {
|
|
40
|
+
replaceLoadBundleScript(fn) {
|
|
41
|
+
loadBundleScript = fn;
|
|
42
|
+
inFlightBundleLoads.clear();
|
|
43
|
+
},
|
|
44
|
+
restore() {
|
|
45
|
+
loadBundleScript = defaultLoadBundleScript;
|
|
46
|
+
inFlightBundleLoads.clear();
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
async function ensureBundleLoaded(url, doc) {
|
|
50
|
+
const existing = inFlightBundleLoads.get(url);
|
|
51
|
+
if (existing)
|
|
52
|
+
return existing;
|
|
53
|
+
const promise = loadBundleScriptWithRetry(url, doc).finally(() => {
|
|
54
|
+
inFlightBundleLoads.delete(url);
|
|
55
|
+
});
|
|
56
|
+
inFlightBundleLoads.set(url, promise);
|
|
57
|
+
return promise;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Wrap the single-shot script loader with poll-until-ready retry.
|
|
61
|
+
*
|
|
62
|
+
* The PIE bundle service may return a transient failure while it
|
|
63
|
+
* builds a bundle on demand. Retry with fixed-interval polling until
|
|
64
|
+
* the bundle is ready or the cumulative deadline elapses. Emits
|
|
65
|
+
* retry lifecycle events to the host via `onBundleRetryStatus` and to
|
|
66
|
+
* the instrumentation provider (if configured and ready).
|
|
67
|
+
*/
|
|
68
|
+
async function loadBundleScriptWithRetry(url, doc) {
|
|
69
|
+
const { retryDelayMs, timeoutMs } = resolveBundleRetryConfig(config.bundleRetry);
|
|
70
|
+
const startedAt = Date.now();
|
|
71
|
+
let attempt = 0;
|
|
72
|
+
while (true) {
|
|
73
|
+
attempt += 1;
|
|
74
|
+
try {
|
|
75
|
+
await loadBundleScript(url, doc);
|
|
76
|
+
const elapsedMs = Date.now() - startedAt;
|
|
77
|
+
if (attempt > 1) {
|
|
78
|
+
config.onBundleRetryStatus?.({
|
|
79
|
+
state: "completed",
|
|
80
|
+
url,
|
|
81
|
+
attempt,
|
|
82
|
+
elapsedMs,
|
|
83
|
+
timeoutMs,
|
|
84
|
+
});
|
|
85
|
+
trackRetryEvent("pie-iife-bundle-retry-success", {
|
|
86
|
+
url,
|
|
87
|
+
attempt,
|
|
88
|
+
elapsedMs,
|
|
89
|
+
timeoutMs,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
const elapsedMs = Date.now() - startedAt;
|
|
96
|
+
const remainingMs = timeoutMs - elapsedMs;
|
|
97
|
+
const reason = error instanceof Error ? error.message : String(error);
|
|
98
|
+
if (remainingMs <= 0) {
|
|
99
|
+
const timeoutError = new Error(`IIFE bundle load timed out after ${timeoutMs}ms: ${url}`);
|
|
100
|
+
config.onBundleRetryStatus?.({
|
|
101
|
+
state: "timeout",
|
|
102
|
+
url,
|
|
103
|
+
attempt,
|
|
104
|
+
elapsedMs,
|
|
105
|
+
timeoutMs,
|
|
106
|
+
reason,
|
|
107
|
+
});
|
|
108
|
+
trackRetryEvent("pie-iife-bundle-retry-timeout", {
|
|
109
|
+
url,
|
|
110
|
+
attempt,
|
|
111
|
+
elapsedMs,
|
|
112
|
+
timeoutMs,
|
|
113
|
+
lastError: reason,
|
|
114
|
+
});
|
|
115
|
+
trackRetryError(timeoutError, {
|
|
116
|
+
url,
|
|
117
|
+
attempt,
|
|
118
|
+
elapsedMs,
|
|
119
|
+
timeoutMs,
|
|
120
|
+
lastError: reason,
|
|
121
|
+
});
|
|
122
|
+
throw timeoutError;
|
|
123
|
+
}
|
|
124
|
+
const nextDelay = Math.min(retryDelayMs, remainingMs);
|
|
125
|
+
config.onBundleRetryStatus?.({
|
|
126
|
+
state: "retrying",
|
|
127
|
+
url,
|
|
128
|
+
attempt,
|
|
129
|
+
elapsedMs,
|
|
130
|
+
timeoutMs,
|
|
131
|
+
retryDelayMs: nextDelay,
|
|
132
|
+
reason,
|
|
133
|
+
});
|
|
134
|
+
trackRetryEvent("pie-iife-bundle-retry", {
|
|
135
|
+
url,
|
|
136
|
+
attempt,
|
|
137
|
+
elapsedMs,
|
|
138
|
+
retryDelayMs: nextDelay,
|
|
139
|
+
timeoutMs,
|
|
140
|
+
lastError: reason,
|
|
141
|
+
});
|
|
142
|
+
await waitMs(nextDelay);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
function getInstrumentationProvider() {
|
|
147
|
+
if (!config.trackPageActions)
|
|
148
|
+
return undefined;
|
|
149
|
+
const provider = config.instrumentationProvider;
|
|
150
|
+
if (!isInstrumentationProvider(provider))
|
|
151
|
+
return undefined;
|
|
152
|
+
if (!provider.isReady())
|
|
153
|
+
return undefined;
|
|
154
|
+
return provider;
|
|
155
|
+
}
|
|
156
|
+
function trackRetryEvent(eventName, attributes) {
|
|
157
|
+
const provider = getInstrumentationProvider();
|
|
158
|
+
if (!provider)
|
|
159
|
+
return;
|
|
160
|
+
try {
|
|
161
|
+
provider.trackEvent(eventName, attributes);
|
|
162
|
+
}
|
|
163
|
+
catch {
|
|
164
|
+
// Swallow: instrumentation must never break loading.
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
function trackRetryError(error, attributes) {
|
|
168
|
+
const provider = getInstrumentationProvider();
|
|
169
|
+
if (!provider)
|
|
170
|
+
return;
|
|
171
|
+
try {
|
|
172
|
+
provider.trackError(error, {
|
|
173
|
+
...attributes,
|
|
174
|
+
component: "iife-adapter",
|
|
175
|
+
errorType: "IifeBundleRetryError",
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
catch {
|
|
179
|
+
// Swallow: instrumentation must never break loading.
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
async function load(elements, context) {
|
|
183
|
+
if (!elements || Object.keys(elements).length === 0)
|
|
184
|
+
return;
|
|
185
|
+
const bundleUrl = buildBundleUrl(elements, bundleType, config);
|
|
186
|
+
try {
|
|
187
|
+
await ensureBundleLoaded(bundleUrl, context.doc);
|
|
188
|
+
}
|
|
189
|
+
catch (err) {
|
|
190
|
+
const cause = err instanceof Error ? err.message : String(err);
|
|
191
|
+
const reasons = new Map();
|
|
192
|
+
for (const tag of Object.keys(elements)) {
|
|
193
|
+
reasons.set(tag, {
|
|
194
|
+
kind: "bundle-load-failed",
|
|
195
|
+
tag,
|
|
196
|
+
url: bundleUrl,
|
|
197
|
+
cause,
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
throw new AdapterFailure(reasons);
|
|
201
|
+
}
|
|
202
|
+
const pieModule = readPieModule();
|
|
203
|
+
if (!pieModule) {
|
|
204
|
+
const reasons = new Map();
|
|
205
|
+
for (const tag of Object.keys(elements)) {
|
|
206
|
+
reasons.set(tag, {
|
|
207
|
+
kind: "bundle-load-failed",
|
|
208
|
+
tag,
|
|
209
|
+
url: bundleUrl,
|
|
210
|
+
cause: "window.pie.default missing after bundle load",
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
throw new AdapterFailure(reasons);
|
|
214
|
+
}
|
|
215
|
+
const reasons = new Map();
|
|
216
|
+
const isEditorBundle = bundleType === BundleType.editor;
|
|
217
|
+
const registry = pieRegistry();
|
|
218
|
+
for (const [tag, packageVersion] of Object.entries(elements)) {
|
|
219
|
+
const packageName = getPackageWithoutVersion(packageVersion);
|
|
220
|
+
const elementData = pieModule[packageName];
|
|
221
|
+
if (!elementData) {
|
|
222
|
+
reasons.set(tag, {
|
|
223
|
+
kind: "package-not-in-bundle",
|
|
224
|
+
tag,
|
|
225
|
+
packageName,
|
|
226
|
+
availablePackages: Object.keys(pieModule),
|
|
227
|
+
});
|
|
228
|
+
continue;
|
|
229
|
+
}
|
|
230
|
+
const ElementClass = isEditorBundle
|
|
231
|
+
? (elementData.Configure ?? createEmptyConfigure())
|
|
232
|
+
: elementData.Element;
|
|
233
|
+
if (!ElementClass) {
|
|
234
|
+
reasons.set(tag, {
|
|
235
|
+
kind: "no-element-class",
|
|
236
|
+
tag,
|
|
237
|
+
packageName,
|
|
238
|
+
});
|
|
239
|
+
continue;
|
|
240
|
+
}
|
|
241
|
+
if (!isCustomElementConstructor(ElementClass)) {
|
|
242
|
+
reasons.set(tag, {
|
|
243
|
+
kind: "not-a-constructor",
|
|
244
|
+
tag,
|
|
245
|
+
packageName,
|
|
246
|
+
});
|
|
247
|
+
continue;
|
|
248
|
+
}
|
|
249
|
+
let actualTag;
|
|
250
|
+
try {
|
|
251
|
+
actualTag = validateCustomElementTag(isEditorBundle ? `${tag}-config` : tag, `element tag for ${packageName}`);
|
|
252
|
+
}
|
|
253
|
+
catch (err) {
|
|
254
|
+
reasons.set(tag, {
|
|
255
|
+
kind: "define-failed",
|
|
256
|
+
tag,
|
|
257
|
+
cause: err instanceof Error ? err.message : String(err),
|
|
258
|
+
});
|
|
259
|
+
continue;
|
|
260
|
+
}
|
|
261
|
+
try {
|
|
262
|
+
defineCustomElementSafely(actualTag, class extends ElementClass {
|
|
263
|
+
}, `element tag for ${packageName}`);
|
|
264
|
+
}
|
|
265
|
+
catch (err) {
|
|
266
|
+
reasons.set(tag, {
|
|
267
|
+
kind: "define-failed",
|
|
268
|
+
tag,
|
|
269
|
+
cause: err instanceof Error ? err.message : String(err),
|
|
270
|
+
});
|
|
271
|
+
continue;
|
|
272
|
+
}
|
|
273
|
+
registry[actualTag] = {
|
|
274
|
+
package: packageVersion,
|
|
275
|
+
status: Status.loaded,
|
|
276
|
+
tagName: actualTag,
|
|
277
|
+
element: ElementClass,
|
|
278
|
+
controller: needsControllers ? (elementData.controller ?? null) : null,
|
|
279
|
+
config: elementData.config ?? null,
|
|
280
|
+
bundleType,
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
if (reasons.size > 0) {
|
|
284
|
+
throw new AdapterFailure(reasons);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
return {
|
|
288
|
+
load,
|
|
289
|
+
get __seams() {
|
|
290
|
+
return __seams;
|
|
291
|
+
},
|
|
292
|
+
};
|
|
293
|
+
}
|
|
294
|
+
// ─── Helpers ─────────────────────────────────────────────────────────────────
|
|
295
|
+
function defaultLoadBundleScript(url, doc) {
|
|
296
|
+
return new Promise((resolve, reject) => {
|
|
297
|
+
const script = doc.createElement("script");
|
|
298
|
+
script.src = url;
|
|
299
|
+
script.defer = true;
|
|
300
|
+
script.setAttribute("data-pie-bundle", "true");
|
|
301
|
+
script.onload = () => resolve();
|
|
302
|
+
script.onerror = () => reject(new Error(`Failed to load IIFE bundle from: ${url}`));
|
|
303
|
+
doc.head.appendChild(script);
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
function readPieModule() {
|
|
307
|
+
const maybeWindow = globalThis
|
|
308
|
+
.window;
|
|
309
|
+
const pieDefault = maybeWindow?.pie?.default;
|
|
310
|
+
if (!pieDefault || typeof pieDefault !== "object")
|
|
311
|
+
return undefined;
|
|
312
|
+
return pieDefault;
|
|
313
|
+
}
|
|
314
|
+
function buildBundleUrl(elements, bundleType, config) {
|
|
315
|
+
const elementTags = Object.keys(elements).sort().join(",");
|
|
316
|
+
if (config.bundleInfo?.url) {
|
|
317
|
+
const separator = config.bundleInfo.url.includes("?") ? "&" : "?";
|
|
318
|
+
return elementTags
|
|
319
|
+
? `${config.bundleInfo.url}${separator}elements=${encodeURIComponent(elementTags)}`
|
|
320
|
+
: config.bundleInfo.url;
|
|
321
|
+
}
|
|
322
|
+
const packageVersions = Object.values(elements).join("+");
|
|
323
|
+
const host = normalizeBundleHost(config.bundleHost);
|
|
324
|
+
const base = `${host}${encodeURI(packageVersions)}/${bundleType}`;
|
|
325
|
+
return elementTags
|
|
326
|
+
? `${base}?elements=${encodeURIComponent(elementTags)}`
|
|
327
|
+
: base;
|
|
328
|
+
}
|
|
329
|
+
function normalizeBundleHost(host) {
|
|
330
|
+
return `${host.trim().replace(/\/+$/, "")}/`;
|
|
331
|
+
}
|
|
332
|
+
function resolveBundleRetryConfig(configured) {
|
|
333
|
+
const retryDelayMs = typeof configured?.retryDelayMs === "number" && configured.retryDelayMs > 0
|
|
334
|
+
? configured.retryDelayMs
|
|
335
|
+
: DEFAULT_IIFE_BUNDLE_RETRY_CONFIG.retryDelayMs;
|
|
336
|
+
const timeoutMs = typeof configured?.timeoutMs === "number" && configured.timeoutMs > 0
|
|
337
|
+
? configured.timeoutMs
|
|
338
|
+
: DEFAULT_IIFE_BUNDLE_RETRY_CONFIG.timeoutMs;
|
|
339
|
+
return { retryDelayMs, timeoutMs };
|
|
340
|
+
}
|
|
341
|
+
function waitMs(ms) {
|
|
342
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
343
|
+
}
|
|
344
|
+
function createEmptyConfigure() {
|
|
345
|
+
// Minimal configure fallback used for editor bundles that omit a Configure
|
|
346
|
+
// export. Intentionally silent; the host will see a blank configuration UI
|
|
347
|
+
// rather than a hard failure.
|
|
348
|
+
return class EmptyConfigureElement extends HTMLElement {
|
|
349
|
+
_model;
|
|
350
|
+
_configuration;
|
|
351
|
+
get model() {
|
|
352
|
+
return this._model;
|
|
353
|
+
}
|
|
354
|
+
set model(v) {
|
|
355
|
+
this._model = v;
|
|
356
|
+
}
|
|
357
|
+
get configuration() {
|
|
358
|
+
return this._configuration;
|
|
359
|
+
}
|
|
360
|
+
set configuration(v) {
|
|
361
|
+
this._configuration = v;
|
|
362
|
+
}
|
|
363
|
+
};
|
|
364
|
+
}
|
|
365
|
+
//# sourceMappingURL=iife-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iife-adapter.js","sourceRoot":"","sources":["../../src/loaders/iife-adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/loaders/index.d.ts
CHANGED
|
@@ -1,28 +1,41 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* PIE Element Loaders
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Deep `ElementLoader` primitive — the public entry point for registering
|
|
5
|
+
* PIE custom elements at runtime. Exposes `ensureRegistered` (async) and
|
|
6
|
+
* `assertRegistered` (sync) with a truthful promise contract: the returned
|
|
7
|
+
* promise resolves iff every requested tag is actually in `customElements`.
|
|
8
|
+
*
|
|
9
|
+
* Backends (IIFE, ESM) are internal adapter modules; they implement the
|
|
10
|
+
* `ElementLoaderBackend` interface and are wired via `{ backend: ... }`
|
|
11
|
+
* options.
|
|
6
12
|
*
|
|
7
13
|
* @example
|
|
8
14
|
* ```typescript
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* await loader.loadFromItems(section.items);
|
|
14
|
-
*
|
|
15
|
-
* // IIFE (legacy compatibility)
|
|
16
|
-
* import { IifeElementLoader } from '@pie-players/pie-players-shared/loaders';
|
|
15
|
+
* import {
|
|
16
|
+
* ensureRegistered,
|
|
17
|
+
* BundleType,
|
|
18
|
+
* } from "@pie-players/pie-players-shared/loaders";
|
|
17
19
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
+
* await ensureRegistered(
|
|
21
|
+
* { "pie-multiple-choice": "@pie-element/multiple-choice@11.0.1" },
|
|
22
|
+
* {
|
|
23
|
+
* backend: {
|
|
24
|
+
* kind: "iife",
|
|
25
|
+
* bundleHost: "https://proxy.pie-api.com/bundles/",
|
|
26
|
+
* bundleType: BundleType.clientPlayer,
|
|
27
|
+
* needsControllers: true,
|
|
28
|
+
* },
|
|
29
|
+
* },
|
|
30
|
+
* );
|
|
20
31
|
* ```
|
|
21
32
|
*/
|
|
22
|
-
export type {
|
|
33
|
+
export type { ElementMap } from "./ElementLoader.js";
|
|
23
34
|
export { aggregateElements } from "./ElementLoader.js";
|
|
24
|
-
export type {
|
|
25
|
-
export {
|
|
26
|
-
export type {
|
|
27
|
-
export {
|
|
35
|
+
export type { BackendContext, BackendOption, ElementLoaderBackend, ElementTag, EnsureRegisteredOptions, EsmBackendConfig, IifeBackendConfig, RegistrationFailureReason, } from "./element-loader.js";
|
|
36
|
+
export { AdapterFailure, ElementAssertionError, ElementLoaderError, assertRegistered, ensureRegistered, } from "./element-loader.js";
|
|
37
|
+
export type { EsmBackend, ViewConfig } from "./esm-adapter.js";
|
|
38
|
+
export { BUILT_IN_VIEWS, createEsmBackend } from "./esm-adapter.js";
|
|
39
|
+
export type { IifeBackend, IifeBundleRetryStatus, } from "./iife-adapter.js";
|
|
40
|
+
export { createIifeBackend, DEFAULT_BUNDLE_HOST } from "./iife-adapter.js";
|
|
28
41
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/loaders/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/loaders/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAIvD,YAAY,EACX,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,UAAU,EACV,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACN,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,GAChB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpE,YAAY,EACX,WAAW,EACX,qBAAqB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/loaders/index.js
CHANGED
|
@@ -1,25 +1,37 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* PIE Element Loaders
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Deep `ElementLoader` primitive — the public entry point for registering
|
|
5
|
+
* PIE custom elements at runtime. Exposes `ensureRegistered` (async) and
|
|
6
|
+
* `assertRegistered` (sync) with a truthful promise contract: the returned
|
|
7
|
+
* promise resolves iff every requested tag is actually in `customElements`.
|
|
8
|
+
*
|
|
9
|
+
* Backends (IIFE, ESM) are internal adapter modules; they implement the
|
|
10
|
+
* `ElementLoaderBackend` interface and are wired via `{ backend: ... }`
|
|
11
|
+
* options.
|
|
6
12
|
*
|
|
7
13
|
* @example
|
|
8
14
|
* ```typescript
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* await loader.loadFromItems(section.items);
|
|
14
|
-
*
|
|
15
|
-
* // IIFE (legacy compatibility)
|
|
16
|
-
* import { IifeElementLoader } from '@pie-players/pie-players-shared/loaders';
|
|
15
|
+
* import {
|
|
16
|
+
* ensureRegistered,
|
|
17
|
+
* BundleType,
|
|
18
|
+
* } from "@pie-players/pie-players-shared/loaders";
|
|
17
19
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
+
* await ensureRegistered(
|
|
21
|
+
* { "pie-multiple-choice": "@pie-element/multiple-choice@11.0.1" },
|
|
22
|
+
* {
|
|
23
|
+
* backend: {
|
|
24
|
+
* kind: "iife",
|
|
25
|
+
* bundleHost: "https://proxy.pie-api.com/bundles/",
|
|
26
|
+
* bundleType: BundleType.clientPlayer,
|
|
27
|
+
* needsControllers: true,
|
|
28
|
+
* },
|
|
29
|
+
* },
|
|
30
|
+
* );
|
|
20
31
|
* ```
|
|
21
32
|
*/
|
|
22
33
|
export { aggregateElements } from "./ElementLoader.js";
|
|
23
|
-
export {
|
|
24
|
-
export {
|
|
34
|
+
export { AdapterFailure, ElementAssertionError, ElementLoaderError, assertRegistered, ensureRegistered, } from "./element-loader.js";
|
|
35
|
+
export { BUILT_IN_VIEWS, createEsmBackend } from "./esm-adapter.js";
|
|
36
|
+
export { createIifeBackend, DEFAULT_BUNDLE_HOST } from "./iife-adapter.js";
|
|
25
37
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/loaders/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/loaders/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAcvD,OAAO,EACN,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,GAChB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAKpE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/pie/index.d.ts
CHANGED
|
@@ -13,15 +13,15 @@
|
|
|
13
13
|
* - `pie/initialization` - Bundle loading and element initialization
|
|
14
14
|
*/
|
|
15
15
|
export { assertPieConfigContract, addMarkupForPackage, addRubricIfNeeded, elementForPackage, makeUniqueTags, modelsForPackage, validatePieConfigContract, } from "./config.js";
|
|
16
|
-
export type { EsmLoaderConfig } from "./esm-loader.js";
|
|
17
|
-
export { EsmPieLoader } from "./esm-loader.js";
|
|
18
|
-
export type { IifeBundleRetryStatus, IifeLoaderConfig } from "./iife-loader.js";
|
|
19
|
-
export { DEFAULT_BUNDLE_HOST, IifePieLoader } from "./iife-loader.js";
|
|
20
16
|
export { initializePiesFromLoadedBundle, loadBundleFromString, loadPieModule, loadPieModuleFromString, } from "./initialization.js";
|
|
21
17
|
export { initializeMathRendering, renderMath, setMathRenderer, } from "./math-rendering.js";
|
|
22
18
|
export { attachInstrumentationEventBridge } from "./instrumentation-event-bridge.js";
|
|
23
19
|
export type { AttachInstrumentationEventBridgeArgs } from "./instrumentation-event-bridge.js";
|
|
24
20
|
export { resolveInstrumentationProvider } from "./instrumentation-provider-resolution.js";
|
|
21
|
+
export { STAGES, applicableStages, stageOrdinal, } from "./stages.js";
|
|
22
|
+
export type { LoadingCompleteDetail, Stage, StageChangeDetail, StageSourceCe, StageStatus, } from "./stages.js";
|
|
23
|
+
export { createStageTracker } from "./stage-tracker.js";
|
|
24
|
+
export type { CreateStageTrackerOptions, StageTracker, } from "./stage-tracker.js";
|
|
25
25
|
export { ASSESSMENT_INSTRUMENTATION_EVENT_MAP, SECTION_INSTRUMENTATION_EVENT_MAP, TOOLKIT_INSTRUMENTATION_EVENT_MAP, } from "./instrumentation-event-map.js";
|
|
26
26
|
export type { InstrumentationEventMapping } from "./instrumentation-event-map.js";
|
|
27
27
|
export type { ItemControllerOptions } from "./item-controller.js";
|
package/dist/pie/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pie/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EACN,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,yBAAyB,GACzB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pie/index.ts"],"names":[],"mappings":"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"}
|
package/dist/pie/index.js
CHANGED
|
@@ -14,13 +14,18 @@
|
|
|
14
14
|
*/
|
|
15
15
|
// Config
|
|
16
16
|
export { assertPieConfigContract, addMarkupForPackage, addRubricIfNeeded, elementForPackage, makeUniqueTags, modelsForPackage, validatePieConfigContract, } from "./config.js";
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
// Loaders — the deep `ElementLoader` primitive (async `ensureRegistered` /
|
|
18
|
+
// sync `assertRegistered`) lives under `pie-players-shared/loaders`.
|
|
19
19
|
// Initialization
|
|
20
20
|
export { initializePiesFromLoadedBundle, loadBundleFromString, loadPieModule, loadPieModuleFromString, } from "./initialization.js";
|
|
21
21
|
export { initializeMathRendering, renderMath, setMathRenderer, } from "./math-rendering.js";
|
|
22
22
|
export { attachInstrumentationEventBridge } from "./instrumentation-event-bridge.js";
|
|
23
23
|
export { resolveInstrumentationProvider } from "./instrumentation-provider-resolution.js";
|
|
24
|
+
// Canonical stage vocabulary (M6). Both `<pie-section-player-*>` and
|
|
25
|
+
// `<pie-assessment-toolkit>` share this primitive so the
|
|
26
|
+
// `pie-stage-change` event family stays coherent across CE shapes.
|
|
27
|
+
export { STAGES, applicableStages, stageOrdinal, } from "./stages.js";
|
|
28
|
+
export { createStageTracker } from "./stage-tracker.js";
|
|
24
29
|
export { ASSESSMENT_INSTRUMENTATION_EVENT_MAP, SECTION_INSTRUMENTATION_EVENT_MAP, TOOLKIT_INSTRUMENTATION_EVENT_MAP, } from "./instrumentation-event-map.js";
|
|
25
30
|
export { ItemController, normalizeItemSessionContainer } from "./item-controller.js";
|
|
26
31
|
export { hasResponseValue, normalizeItemSessionChange, } from "./item-session-contract.js";
|
package/dist/pie/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pie/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,SAAS;AACT,OAAO,EACN,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,yBAAyB,GACzB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pie/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,SAAS;AACT,OAAO,EACN,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,yBAAyB,GACzB,MAAM,aAAa,CAAC;AACrB,2EAA2E;AAC3E,qEAAqE;AACrE,iBAAiB;AACjB,OAAO,EACN,8BAA8B,EAC9B,oBAAoB,EACpB,aAAa,EACb,uBAAuB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACN,uBAAuB,EACvB,UAAU,EACV,eAAe,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAC;AAErF,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,qEAAqE;AACrE,yDAAyD;AACzD,mEAAmE;AACnE,OAAO,EACN,MAAM,EACN,gBAAgB,EAChB,YAAY,GACZ,MAAM,aAAa,CAAC;AAQrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAKxD,OAAO,EACN,oCAAoC,EACpC,iCAAiC,EACjC,iCAAiC,GACjC,MAAM,gCAAgC,CAAC;AAIxC,OAAO,EAAE,cAAc,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAMrF,OAAO,EACN,gBAAgB,EAChB,0BAA0B,GAC1B,MAAM,4BAA4B,CAAC;AAKpC,OAAO,EACN,wBAAwB,EACxB,gCAAgC,GAChC,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAOpE,OAAO,EACN,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,aAAa,EACb,mBAAmB,GACnB,MAAM,yBAAyB,CAAC;AACjC,WAAW;AACX,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,UAAU;AACV,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAW/D,OAAO,EACN,UAAU,EACV,wBAAwB,EACxB,0BAA0B;AAC1B,0BAA0B;AAC1B,cAAc,EACd,sBAAsB,EACtB,MAAM,GACN,MAAM,YAAY,CAAC;AACpB,qBAAqB;AACrB,OAAO,EACN,yBAAyB,GAGzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACN,gBAAgB,EAChB,SAAS,EACT,wBAAwB,EACxB,eAAe,GACf,MAAM,gBAAgB,CAAC;AAExB,UAAU;AACV,OAAO,EACN,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,GACvB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACN,wBAAwB,EACxB,qBAAqB,EACrB,wCAAwC,EACxC,kBAAkB,EAClB,0BAA0B,EAC1B,mCAAmC,EACnC,4BAA4B,GAC5B,MAAM,gBAAgB,CAAC;AACxB,QAAQ;AACR,OAAO,EACN,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,gBAAgB,GAChB,MAAM,YAAY,CAAC"}
|
|
@@ -18,7 +18,32 @@ declare global {
|
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
21
|
-
* Initialize PIE elements from a bundle already loaded
|
|
21
|
+
* Initialize PIE elements from a bundle that may already be loaded.
|
|
22
|
+
*
|
|
23
|
+
* `window.pie` is the legacy bundle-loading global populated by
|
|
24
|
+
* `loadPieModule` / `loadBundleFromString`. When the host loaded the
|
|
25
|
+
* bundle through the deep `ElementLoader` primitive instead — as
|
|
26
|
+
* `pie-section-player` does — the global is irrelevant: the loader
|
|
27
|
+
* registers tags directly with `customElements`, so this function only
|
|
28
|
+
* needs to bind models/sessions to whatever is already registered.
|
|
29
|
+
*
|
|
30
|
+
* Behavior:
|
|
31
|
+
* - `window.pie` available → register any new tags from the bundle and
|
|
32
|
+
* update bindings for already-registered tags (legacy fast path).
|
|
33
|
+
* - `window.pie` missing → fall back to the update-only path. Tags that
|
|
34
|
+
* are already registered get their model/session updated; tags that
|
|
35
|
+
* are not yet registered are logged at `warn` and left alone — the
|
|
36
|
+
* host's loader is expected to register them imminently, after which
|
|
37
|
+
* the existing `MutationObserver` / `updatePieElements` flow binds
|
|
38
|
+
* them on the next reactive pass.
|
|
39
|
+
*
|
|
40
|
+
* The original blanket `window.pie not found; was the bundle inlined
|
|
41
|
+
* correctly?` error has been removed: in the section-player + item-player
|
|
42
|
+
* composition it produced a confusing red stack trace for a routine
|
|
43
|
+
* timing condition that the host already handles. Genuine failures
|
|
44
|
+
* (bundle not loaded by *anyone*) still surface — every unregistered tag
|
|
45
|
+
* gets its own warning, and `updatePieElements` later reports any tag
|
|
46
|
+
* that never resolves.
|
|
22
47
|
*/
|
|
23
48
|
export declare const initializePiesFromLoadedBundle: (config: ConfigEntity, session: any[], opts?: LoadPieElementsOptions) => void;
|
|
24
49
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialization.d.ts","sourceRoot":"","sources":["../../src/pie/initialization.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,GAAG,EAAY,MAAM,mBAAmB,CAAC;AAQrE,OAAO,KAAK,EAEX,sBAAsB,EAGtB,MAAM,YAAY,CAAC;AA2BpB,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,MAAM;QACf,mBAAmB,CAAC,EAAE,gBAAgB,CAAC;QACvC,kBAAkB,CAAC,EAAE;YACpB,MAAM,EAAE,YAAY,CAAC;YACrB,OAAO,EAAE,GAAG,EAAE,CAAC;YACf,GAAG,CAAC,EAAE,GAAG,CAAC;YACV,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;SAC/B,CAAC;KACF;CACD;
|
|
1
|
+
{"version":3,"file":"initialization.d.ts","sourceRoot":"","sources":["../../src/pie/initialization.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,GAAG,EAAY,MAAM,mBAAmB,CAAC;AAQrE,OAAO,KAAK,EAEX,sBAAsB,EAGtB,MAAM,YAAY,CAAC;AA2BpB,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,MAAM;QACf,mBAAmB,CAAC,EAAE,gBAAgB,CAAC;QACvC,kBAAkB,CAAC,EAAE;YACpB,MAAM,EAAE,YAAY,CAAC;YACrB,OAAO,EAAE,GAAG,EAAE,CAAC;YACf,GAAG,CAAC,EAAE,GAAG,CAAC;YACV,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;SAC/B,CAAC;KACF;CACD;AAsbD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,8BAA8B,GAC1C,QAAQ,YAAY,EACpB,SAAS,GAAG,EAAE,EACd,OAAM,sBAA2B,KAC/B,IAqBF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,GACzB,QAAQ,YAAY,EACpB,SAAS,GAAG,EAAE,EACd,OAAM,sBAA2B,KAC/B,OAAO,CAAC;IACV,OAAO,EAAE,GAAG,EAAE,CAAC;CACf,CAiDA,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,IAAI,CAoBzE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,GACnC,UAAU,MAAM,EAChB,QAAQ,YAAY,EACpB,SAAS,GAAG,EAAE,EACd,OAAM,sBAA2B,KAC/B,OAAO,CAAC,IAAI,CAKd,CAAC"}
|