@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.
Files changed (68) hide show
  1. package/dist/components/PieItemPlayer.svelte +21 -0
  2. package/dist/components/PiePreviewLayout.svelte +8 -1
  3. package/dist/index.js +4 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/loaders/ElementLoader.d.ts +6 -34
  6. package/dist/loaders/ElementLoader.d.ts.map +1 -1
  7. package/dist/loaders/ElementLoader.js +21 -9
  8. package/dist/loaders/ElementLoader.js.map +1 -1
  9. package/dist/loaders/element-loader-types.d.ts +91 -0
  10. package/dist/loaders/element-loader-types.d.ts.map +1 -0
  11. package/dist/loaders/element-loader-types.js +26 -0
  12. package/dist/loaders/element-loader-types.js.map +1 -0
  13. package/dist/loaders/element-loader.d.ts +92 -0
  14. package/dist/loaders/element-loader.d.ts.map +1 -0
  15. package/dist/loaders/element-loader.js +391 -0
  16. package/dist/loaders/element-loader.js.map +1 -0
  17. package/dist/loaders/esm-adapter.d.ts +40 -0
  18. package/dist/loaders/esm-adapter.d.ts.map +1 -0
  19. package/dist/loaders/esm-adapter.js +274 -0
  20. package/dist/loaders/esm-adapter.js.map +1 -0
  21. package/dist/loaders/iife-adapter.d.ts +86 -0
  22. package/dist/loaders/iife-adapter.d.ts.map +1 -0
  23. package/dist/loaders/iife-adapter.js +365 -0
  24. package/dist/loaders/iife-adapter.js.map +1 -0
  25. package/dist/loaders/index.d.ts +30 -17
  26. package/dist/loaders/index.d.ts.map +1 -1
  27. package/dist/loaders/index.js +26 -14
  28. package/dist/loaders/index.js.map +1 -1
  29. package/dist/pie/index.d.ts +4 -4
  30. package/dist/pie/index.d.ts.map +1 -1
  31. package/dist/pie/index.js +7 -2
  32. package/dist/pie/index.js.map +1 -1
  33. package/dist/pie/initialization.d.ts +26 -1
  34. package/dist/pie/initialization.d.ts.map +1 -1
  35. package/dist/pie/initialization.js +72 -15
  36. package/dist/pie/initialization.js.map +1 -1
  37. package/dist/pie/instrumentation-event-map.d.ts.map +1 -1
  38. package/dist/pie/instrumentation-event-map.js +27 -16
  39. package/dist/pie/instrumentation-event-map.js.map +1 -1
  40. package/dist/pie/stage-tracker.d.ts +51 -0
  41. package/dist/pie/stage-tracker.d.ts.map +1 -0
  42. package/dist/pie/stage-tracker.js +106 -0
  43. package/dist/pie/stage-tracker.js.map +1 -0
  44. package/dist/pie/stages.d.ts +75 -0
  45. package/dist/pie/stages.d.ts.map +1 -0
  46. package/dist/pie/stages.js +58 -0
  47. package/dist/pie/stages.js.map +1 -0
  48. package/dist/pie/use-resource-monitor.svelte.d.ts.map +1 -1
  49. package/dist/pie/use-resource-monitor.svelte.js +88 -75
  50. package/dist/pie/use-resource-monitor.svelte.js.map +1 -1
  51. package/dist/ui/use-promise.svelte.ts +109 -0
  52. package/package.json +6 -1
  53. package/dist/loaders/EsmElementLoader.d.ts +0 -69
  54. package/dist/loaders/EsmElementLoader.d.ts.map +0 -1
  55. package/dist/loaders/EsmElementLoader.js +0 -72
  56. package/dist/loaders/EsmElementLoader.js.map +0 -1
  57. package/dist/loaders/IifeElementLoader.d.ts +0 -61
  58. package/dist/loaders/IifeElementLoader.d.ts.map +0 -1
  59. package/dist/loaders/IifeElementLoader.js +0 -63
  60. package/dist/loaders/IifeElementLoader.js.map +0 -1
  61. package/dist/pie/esm-loader.d.ts +0 -104
  62. package/dist/pie/esm-loader.d.ts.map +0 -1
  63. package/dist/pie/esm-loader.js +0 -358
  64. package/dist/pie/esm-loader.js.map +0 -1
  65. package/dist/pie/iife-loader.d.ts +0 -116
  66. package/dist/pie/iife-loader.d.ts.map +0 -1
  67. package/dist/pie/iife-loader.js +0 -561
  68. 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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"}
@@ -1,28 +1,41 @@
1
1
  /**
2
2
  * PIE Element Loaders
3
3
  *
4
- * Element-level loading abstractions for PIE players.
5
- * Provides both IIFE and ESM loaders with element aggregation capabilities.
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
- * // ESM (modern, preferred)
10
- * import { EsmElementLoader } from '@pie-players/pie-players-shared/loaders';
11
- *
12
- * const loader = new EsmElementLoader({ esmCdnUrl: 'https://esm.sh' });
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
- * const loader = new IifeElementLoader({ bundleHost: 'https://bundles.pie.org' });
19
- * await loader.loadFromItems(section.items);
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 { ElementLoaderInterface, ElementMap, LoadOptions, } from "./ElementLoader.js";
33
+ export type { ElementMap } from "./ElementLoader.js";
23
34
  export { aggregateElements } from "./ElementLoader.js";
24
- export type { EsmElementLoaderConfig } from "./EsmElementLoader.js";
25
- export { EsmElementLoader } from "./EsmElementLoader.js";
26
- export type { IifeElementLoaderConfig } from "./IifeElementLoader.js";
27
- export { IifeElementLoader } from "./IifeElementLoader.js";
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;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,YAAY,EACX,sBAAsB,EACtB,UAAU,EACV,WAAW,GACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
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"}
@@ -1,25 +1,37 @@
1
1
  /**
2
2
  * PIE Element Loaders
3
3
  *
4
- * Element-level loading abstractions for PIE players.
5
- * Provides both IIFE and ESM loaders with element aggregation capabilities.
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
- * // ESM (modern, preferred)
10
- * import { EsmElementLoader } from '@pie-players/pie-players-shared/loaders';
11
- *
12
- * const loader = new EsmElementLoader({ esmCdnUrl: 'https://esm.sh' });
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
- * const loader = new IifeElementLoader({ bundleHost: 'https://bundles.pie.org' });
19
- * await loader.loadFromItems(section.items);
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 { EsmElementLoader } from "./EsmElementLoader.js";
24
- export { IifeElementLoader } from "./IifeElementLoader.js";
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;;;;;;;;;;;;;;;;;;;;GAoBG;AAOH,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
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"}
@@ -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";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pie/index.ts"],"names":[],"mappings":"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"}
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;AAIrB,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;AACrF,YAAY,EAAE,oCAAoC,EAAE,MAAM,mCAAmC,CAAC;AAC9F,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAI1F,OAAO,EACN,MAAM,EACN,gBAAgB,EAChB,YAAY,GACZ,MAAM,aAAa,CAAC;AACrB,YAAY,EACX,qBAAqB,EACrB,KAAK,EACL,iBAAiB,EACjB,aAAa,EACb,WAAW,GACX,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EACX,yBAAyB,EACzB,YAAY,GACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACN,oCAAoC,EACpC,iCAAiC,EACjC,iCAAiC,GACjC,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAElF,YAAY,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AACrF,YAAY,EACX,oBAAoB,IAAI,6BAA6B,EACrD,uBAAuB,EACvB,2BAA2B,GAC3B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACN,gBAAgB,EAChB,0BAA0B,GAC1B,MAAM,4BAA4B,CAAC;AACpC,YAAY,EACX,oBAAoB,EACpB,0BAA0B,GAC1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACN,wBAAwB,EACxB,gCAAgC,GAChC,MAAM,8BAA8B,CAAC;AAEtC,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEpE,YAAY,EACX,QAAQ,EACR,eAAe,EACf,iBAAiB,GACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACN,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,aAAa,EACb,mBAAmB,GACnB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE/D,YAAY,EACX,KAAK,EACL,cAAc,EACd,iBAAiB,EACjB,sBAAsB,EACtB,UAAU,EACV,WAAW,EACX,uBAAuB,GACvB,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,UAAU,EACV,wBAAwB,EACxB,0BAA0B,EAE1B,cAAc,EACd,sBAAsB,EACtB,MAAM,GACN,MAAM,YAAY,CAAC;AAEpB,OAAO,EACN,yBAAyB,EACzB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACN,gBAAgB,EAChB,SAAS,EACT,wBAAwB,EACxB,eAAe,GACf,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EACN,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,GACvB,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EACN,wBAAwB,EACxB,qBAAqB,EACrB,wCAAwC,EACxC,kBAAkB,EAClB,0BAA0B,EAC1B,mCAAmC,EACnC,4BAA4B,GAC5B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACN,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,gBAAgB,GAChB,MAAM,YAAY,CAAC"}
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
- export { EsmPieLoader } from "./esm-loader.js";
18
- export { DEFAULT_BUNDLE_HOST, IifePieLoader } from "./iife-loader.js";
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";
@@ -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;AAGrB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtE,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,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"}
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 into window.pie
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;AA8YD;;GAEG;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"}
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"}