@pie-players/pie-players-shared 0.3.42 → 0.3.44
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/config/profile.d.ts +0 -1
- package/dist/config/profile.js.map +1 -1
- package/dist/i18n/index.d.ts +0 -3
- package/dist/i18n/index.js +0 -2
- package/dist/i18n/index.js.map +1 -1
- package/dist/i18n/loader.d.ts +0 -1
- package/dist/i18n/loader.js.map +1 -1
- package/dist/i18n/simple-i18n.d.ts +0 -1
- package/dist/i18n/simple-i18n.js.map +1 -1
- package/dist/i18n/types.d.ts +0 -1
- package/dist/i18n/types.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -4
- package/dist/index.js.map +1 -1
- package/dist/instrumentation/debug-panel-stream.d.ts +0 -1
- package/dist/instrumentation/debug-panel-stream.js.map +1 -1
- package/dist/instrumentation/index.d.ts +0 -1
- package/dist/instrumentation/index.js.map +1 -1
- package/dist/instrumentation/provider-guards.d.ts +0 -1
- package/dist/instrumentation/provider-guards.js.map +1 -1
- package/dist/instrumentation/providers/BaseInstrumentationProvider.d.ts +0 -1
- package/dist/instrumentation/providers/BaseInstrumentationProvider.js.map +1 -1
- package/dist/instrumentation/providers/CompositeInstrumentationProvider.d.ts +0 -1
- package/dist/instrumentation/providers/CompositeInstrumentationProvider.js.map +1 -1
- package/dist/instrumentation/providers/ConsoleInstrumentationProvider.d.ts +0 -1
- package/dist/instrumentation/providers/ConsoleInstrumentationProvider.js.map +1 -1
- package/dist/instrumentation/providers/DebugPanelInstrumentationProvider.d.ts +0 -1
- package/dist/instrumentation/providers/DebugPanelInstrumentationProvider.js.map +1 -1
- package/dist/instrumentation/providers/NewRelicInstrumentationProvider.d.ts +0 -1
- package/dist/instrumentation/providers/NewRelicInstrumentationProvider.js.map +1 -1
- package/dist/instrumentation/providers/index.d.ts +0 -1
- package/dist/instrumentation/providers/index.js.map +1 -1
- package/dist/instrumentation/types.d.ts +0 -1
- package/dist/instrumentation/types.js.map +1 -1
- package/dist/loader-config.d.ts +0 -1
- package/dist/loader-config.js.map +1 -1
- package/dist/loaders/ElementLoader.d.ts +0 -1
- package/dist/loaders/ElementLoader.js.map +1 -1
- package/dist/loaders/element-loader-types.d.ts +0 -1
- package/dist/loaders/element-loader-types.js.map +1 -1
- package/dist/loaders/element-loader.d.ts +0 -1
- package/dist/loaders/element-loader.js.map +1 -1
- package/dist/loaders/esm-adapter.d.ts +0 -1
- package/dist/loaders/esm-adapter.js.map +1 -1
- package/dist/loaders/iife-adapter.d.ts +0 -1
- package/dist/loaders/iife-adapter.js.map +1 -1
- package/dist/loaders/index.d.ts +0 -1
- package/dist/loaders/index.js.map +1 -1
- package/dist/object/index.d.ts +0 -1
- package/dist/object/index.js.map +1 -1
- package/dist/pie/asset-handler.d.ts +0 -1
- package/dist/pie/asset-handler.js.map +1 -1
- package/dist/pie/authoring.d.ts +0 -1
- package/dist/pie/authoring.js.map +1 -1
- package/dist/pie/component-context.d.ts +0 -1
- package/dist/pie/component-context.js.map +1 -1
- package/dist/pie/config.d.ts +0 -1
- package/dist/pie/config.js.map +1 -1
- package/dist/pie/configure-initialization.d.ts +0 -1
- package/dist/pie/configure-initialization.js.map +1 -1
- package/dist/pie/correct-response-env.d.ts +0 -1
- package/dist/pie/correct-response-env.js.map +1 -1
- package/dist/pie/custom-element-define.d.ts +0 -1
- package/dist/pie/custom-element-define.js.map +1 -1
- package/dist/pie/index.d.ts +4 -9
- package/dist/pie/index.js +4 -8
- package/dist/pie/index.js.map +1 -1
- package/dist/pie/initialization.d.ts +0 -1
- package/dist/pie/initialization.js.map +1 -1
- package/dist/pie/instrumentation-event-bridge.d.ts +0 -1
- package/dist/pie/instrumentation-event-bridge.js.map +1 -1
- package/dist/pie/instrumentation-event-map.d.ts +0 -1
- package/dist/pie/instrumentation-event-map.js.map +1 -1
- package/dist/pie/instrumentation-provider-resolution.d.ts +0 -1
- package/dist/pie/instrumentation-provider-resolution.js.map +1 -1
- package/dist/pie/item-controller-storage.d.ts +0 -1
- package/dist/pie/item-controller-storage.js.map +1 -1
- package/dist/pie/item-controller.d.ts +0 -1
- package/dist/pie/item-controller.js.map +1 -1
- package/dist/pie/item-session-contract.d.ts +0 -1
- package/dist/pie/item-session-contract.js.map +1 -1
- package/dist/pie/logger.d.ts +0 -1
- package/dist/pie/logger.js.map +1 -1
- package/dist/pie/math-rendering.d.ts +0 -1
- package/dist/pie/math-rendering.js.map +1 -1
- package/dist/pie/overrides.d.ts +0 -1
- package/dist/pie/overrides.js.map +1 -1
- package/dist/pie/player-initializer.d.ts +0 -1
- package/dist/pie/player-initializer.js.map +1 -1
- package/dist/pie/registry.d.ts +0 -1
- package/dist/pie/registry.js.map +1 -1
- package/dist/pie/resource-monitor.d.ts +0 -1
- package/dist/pie/resource-monitor.js.map +1 -1
- package/dist/pie/scoring.d.ts +0 -1
- package/dist/pie/scoring.js.map +1 -1
- package/dist/pie/stage-tracker.d.ts +0 -1
- package/dist/pie/stage-tracker.js.map +1 -1
- package/dist/pie/stages.d.ts +0 -1
- package/dist/pie/stages.js.map +1 -1
- package/dist/pie/tag-names.d.ts +0 -1
- package/dist/pie/tag-names.js.map +1 -1
- package/dist/pie/types.d.ts +0 -1
- package/dist/pie/types.js.map +1 -1
- package/dist/pie/updates.d.ts +0 -1
- package/dist/pie/updates.js.map +1 -1
- package/dist/pie/utils.d.ts +0 -1
- package/dist/pie/utils.js.map +1 -1
- package/dist/player-strategy.d.ts +0 -1
- package/dist/player-strategy.js.map +1 -1
- package/dist/security/index.d.ts +0 -1
- package/dist/security/index.js.map +1 -1
- package/dist/security/sanitize-item-markup.d.ts +0 -1
- package/dist/security/sanitize-item-markup.js.map +1 -1
- package/dist/security/sanitize-svg-icon.d.ts +0 -1
- package/dist/security/sanitize-svg-icon.js.map +1 -1
- package/dist/security/validate-style-url.d.ts +0 -1
- package/dist/security/validate-style-url.js.map +1 -1
- package/dist/security/wrap-overwide-images.d.ts +0 -1
- package/dist/security/wrap-overwide-images.js.map +1 -1
- package/dist/server/npm-registry.d.ts +0 -1
- package/dist/server/npm-registry.js.map +1 -1
- package/dist/types/index.d.ts +0 -1
- package/dist/types/index.js.map +1 -1
- package/dist/ui/debug-panel-persistence.d.ts +0 -1
- package/dist/ui/debug-panel-persistence.js.map +1 -1
- package/dist/ui/first-focusable.d.ts +0 -1
- package/dist/ui/first-focusable.js.map +1 -1
- package/dist/ui/focus-trap.d.ts +0 -1
- package/dist/ui/focus-trap.js.map +1 -1
- package/dist/ui/safe-storage.d.ts +0 -1
- package/dist/ui/safe-storage.js.map +1 -1
- package/package.json +6 -64
- package/dist/components/PieItemPlayer.svelte +0 -951
- package/dist/components/PiePreviewLayout.svelte +0 -154
- package/dist/components/PiePreviewToggle.svelte +0 -110
- package/dist/components/PieSpinner.svelte +0 -85
- package/dist/components/ToolSettingsButton.svelte +0 -62
- package/dist/components/ToolSettingsPanel.svelte +0 -104
- package/dist/components/index.ts +0 -6
- package/dist/config/profile.d.ts.map +0 -1
- package/dist/i18n/index.d.ts.map +0 -1
- package/dist/i18n/loader.d.ts.map +0 -1
- package/dist/i18n/simple-i18n.d.ts.map +0 -1
- package/dist/i18n/types.d.ts.map +0 -1
- package/dist/i18n/use-i18n-standalone.svelte.ts +0 -185
- package/dist/i18n/use-i18n.svelte.ts +0 -164
- package/dist/index.d.ts.map +0 -1
- package/dist/instrumentation/debug-panel-stream.d.ts.map +0 -1
- package/dist/instrumentation/index.d.ts.map +0 -1
- package/dist/instrumentation/provider-guards.d.ts.map +0 -1
- package/dist/instrumentation/providers/BaseInstrumentationProvider.d.ts.map +0 -1
- package/dist/instrumentation/providers/CompositeInstrumentationProvider.d.ts.map +0 -1
- package/dist/instrumentation/providers/ConsoleInstrumentationProvider.d.ts.map +0 -1
- package/dist/instrumentation/providers/DebugPanelInstrumentationProvider.d.ts.map +0 -1
- package/dist/instrumentation/providers/NewRelicInstrumentationProvider.d.ts.map +0 -1
- package/dist/instrumentation/providers/index.d.ts.map +0 -1
- package/dist/instrumentation/types.d.ts.map +0 -1
- package/dist/loader-config.d.ts.map +0 -1
- package/dist/loaders/ElementLoader.d.ts.map +0 -1
- package/dist/loaders/element-loader-types.d.ts.map +0 -1
- package/dist/loaders/element-loader.d.ts.map +0 -1
- package/dist/loaders/esm-adapter.d.ts.map +0 -1
- package/dist/loaders/iife-adapter.d.ts.map +0 -1
- package/dist/loaders/index.d.ts.map +0 -1
- package/dist/object/index.d.ts.map +0 -1
- package/dist/pie/asset-handler.d.ts.map +0 -1
- package/dist/pie/authoring.d.ts.map +0 -1
- package/dist/pie/component-context.d.ts.map +0 -1
- package/dist/pie/config.d.ts.map +0 -1
- package/dist/pie/configure-initialization.d.ts.map +0 -1
- package/dist/pie/correct-response-env.d.ts.map +0 -1
- package/dist/pie/custom-element-define.d.ts.map +0 -1
- package/dist/pie/index.d.ts.map +0 -1
- package/dist/pie/initialization.d.ts.map +0 -1
- package/dist/pie/instrumentation-event-bridge.d.ts.map +0 -1
- package/dist/pie/instrumentation-event-map.d.ts.map +0 -1
- package/dist/pie/instrumentation-provider-resolution.d.ts.map +0 -1
- package/dist/pie/item-controller-storage.d.ts.map +0 -1
- package/dist/pie/item-controller.d.ts.map +0 -1
- package/dist/pie/item-session-contract.d.ts.map +0 -1
- package/dist/pie/logger.d.ts.map +0 -1
- package/dist/pie/math-rendering.d.ts.map +0 -1
- package/dist/pie/overrides.d.ts.map +0 -1
- package/dist/pie/player-initializer.d.ts.map +0 -1
- package/dist/pie/registry.d.ts.map +0 -1
- package/dist/pie/resource-monitor.d.ts.map +0 -1
- package/dist/pie/scoring.d.ts.map +0 -1
- package/dist/pie/stage-tracker.d.ts.map +0 -1
- package/dist/pie/stages.d.ts.map +0 -1
- package/dist/pie/tag-names.d.ts.map +0 -1
- package/dist/pie/types.d.ts.map +0 -1
- package/dist/pie/updates.d.ts.map +0 -1
- package/dist/pie/use-resource-monitor.svelte.d.ts +0 -56
- package/dist/pie/use-resource-monitor.svelte.d.ts.map +0 -1
- package/dist/pie/use-resource-monitor.svelte.js +0 -176
- package/dist/pie/use-resource-monitor.svelte.js.map +0 -1
- package/dist/pie/utils.d.ts.map +0 -1
- package/dist/player-strategy.d.ts.map +0 -1
- package/dist/security/index.d.ts.map +0 -1
- package/dist/security/sanitize-item-markup.d.ts.map +0 -1
- package/dist/security/sanitize-svg-icon.d.ts.map +0 -1
- package/dist/security/validate-style-url.d.ts.map +0 -1
- package/dist/security/wrap-overwide-images.d.ts.map +0 -1
- package/dist/server/npm-registry.d.ts.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- package/dist/ui/debug-panel-persistence.d.ts.map +0 -1
- package/dist/ui/first-focusable.d.ts.map +0 -1
- package/dist/ui/focus-trap.d.ts.map +0 -1
- package/dist/ui/safe-storage.d.ts.map +0 -1
- package/dist/ui/use-promise.svelte.ts +0 -109
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"correct-response-env.js","sourceRoot":"","sources":["../../src/pie/correct-response-env.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,GAAQ,EAAW,EAAE,CAC/D,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC;AAE1B,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,GAAQ,EAAO,EAAE,CAAC,CAAC;IACvD,GAAG,GAAG;IACN,IAAI,EAAE,YAAY;CACnB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"correct-response-env.js","sourceRoot":"","sources":["../../src/pie/correct-response-env.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,GAAQ,EAAW,EAAE,CAC/D,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC;AAE1B,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,GAAQ,EAAO,EAAE,CAAC,CAAC;IACvD,GAAG,GAAG;IACN,IAAI,EAAE,YAAY;CACnB,CAAC,CAAC","sourcesContent":["import type { Env } from \"../types/index.js\";\n\nexport const canPopulateCorrectResponses = (env: Env): boolean =>\n env.mode !== \"evaluate\";\n\nexport const getCorrectResponseEnv = (env: Env): Env => ({\n ...env,\n role: \"instructor\",\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-element-define.js","sourceRoot":"","sources":["../../src/pie/custom-element-define.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAS1D,MAAM,sBAAsB,GAAG,CAAC,KAAc,EAAW,EAAE;IAC1D,IAAI,OAAO,YAAY,KAAK,WAAW,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;QAC1E,OAAO,CACN,KAAK,CAAC,IAAI,KAAK,mBAAmB;YAClC,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,iBAAiB,CAC7C,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GACd,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK;QAC7D,CAAC,CAAC,MAAM,CAAE,KAA4B,CAAC,IAAI,CAAC;QAC5C,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,SAAS,KAAK,mBAAmB,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACxC,OAAe,EACf,kBAA4C,EAC5C,OAAO,GAAG,oBAAoB,EACX,EAAE;IACrB,MAAM,YAAY,GAAG,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAChE,IAAI,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;IAC7D,CAAC;IAED,IAAI,CAAC;QACJ,cAAc,CAAC,MAAM,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;QACxD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,KAAK,CAAC;QACb,CAAC;QAED,IAAI,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACtC,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;QAC7D,CAAC;QAED,MAAM,KAAK,CAAC;IACb,CAAC;AACF,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"custom-element-define.js","sourceRoot":"","sources":["../../src/pie/custom-element-define.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAS1D,MAAM,sBAAsB,GAAG,CAAC,KAAc,EAAW,EAAE;IAC1D,IAAI,OAAO,YAAY,KAAK,WAAW,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;QAC1E,OAAO,CACN,KAAK,CAAC,IAAI,KAAK,mBAAmB;YAClC,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,iBAAiB,CAC7C,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GACd,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK;QAC7D,CAAC,CAAC,MAAM,CAAE,KAA4B,CAAC,IAAI,CAAC;QAC5C,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,SAAS,KAAK,mBAAmB,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACxC,OAAe,EACf,kBAA4C,EAC5C,OAAO,GAAG,oBAAoB,EACX,EAAE;IACrB,MAAM,YAAY,GAAG,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAChE,IAAI,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;IAC7D,CAAC;IAED,IAAI,CAAC;QACJ,cAAc,CAAC,MAAM,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;QACxD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,KAAK,CAAC;QACb,CAAC;QAED,IAAI,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACtC,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;QAC7D,CAAC;QAED,MAAM,KAAK,CAAC;IACb,CAAC;AACF,CAAC,CAAC","sourcesContent":["import { validateCustomElementTag } from \"./tag-names.js\";\n\nexport type SafeDefineStatus = \"already-defined\" | \"defined\";\n\nexport type SafeDefineResult = {\n\tstatus: SafeDefineStatus;\n\ttagName: string;\n};\n\nconst isDuplicateDefineError = (error: unknown): boolean => {\n\tif (typeof DOMException !== \"undefined\" && error instanceof DOMException) {\n\t\treturn (\n\t\t\terror.name === \"NotSupportedError\" ||\n\t\t\terror.code === DOMException.NOT_SUPPORTED_ERR\n\t\t);\n\t}\n\n\tconst maybeName =\n\t\ttypeof error === \"object\" && error !== null && \"name\" in error\n\t\t\t? String((error as { name?: unknown }).name)\n\t\t\t: \"\";\n\treturn maybeName === \"NotSupportedError\";\n};\n\nexport const defineCustomElementSafely = (\n\ttagName: string,\n\telementConstructor: CustomElementConstructor,\n\tcontext = \"custom element tag\",\n): SafeDefineResult => {\n\tconst validTagName = validateCustomElementTag(tagName, context);\n\tif (customElements.get(validTagName)) {\n\t\treturn { status: \"already-defined\", tagName: validTagName };\n\t}\n\n\ttry {\n\t\tcustomElements.define(validTagName, elementConstructor);\n\t\treturn { status: \"defined\", tagName: validTagName };\n\t} catch (error) {\n\t\tif (!isDuplicateDefineError(error)) {\n\t\t\tthrow error;\n\t\t}\n\n\t\tif (customElements.get(validTagName)) {\n\t\t\treturn { status: \"already-defined\", tagName: validTagName };\n\t\t}\n\n\t\tthrow error;\n\t}\n};\n"]}
|
package/dist/pie/index.d.ts
CHANGED
|
@@ -2,15 +2,11 @@
|
|
|
2
2
|
* PIE Utilities Index
|
|
3
3
|
*
|
|
4
4
|
* Barrel export for backward compatibility.
|
|
5
|
-
*
|
|
5
|
+
* Public consumers should import from this aggregate. The only supported
|
|
6
|
+
* deep `pie/*` subpath is `pie/tag-names` for tag helper reuse.
|
|
6
7
|
*
|
|
7
|
-
* - `pie
|
|
8
|
-
* - `pie/
|
|
9
|
-
* - `pie/utils` - URL building and session utilities
|
|
10
|
-
* - `pie/config` - Config manipulation
|
|
11
|
-
* - `pie/updates` - Element update functions
|
|
12
|
-
* - `pie/scoring` - Scoring and controller lookup
|
|
13
|
-
* - `pie/initialization` - Bundle loading and element initialization
|
|
8
|
+
* - `pie` - PIE runtime utilities, interfaces, and helpers
|
|
9
|
+
* - `pie/tag-names` - Custom element tag naming helpers
|
|
14
10
|
*/
|
|
15
11
|
export { assertPieConfigContract, addMarkupForPackage, addRubricIfNeeded, elementForPackage, makeUniqueTags, modelsForPackage, validatePieConfigContract, } from "./config.js";
|
|
16
12
|
export { initializePiesFromLoadedBundle, loadBundleFromString, loadPieModule, loadPieModuleFromString, } from "./initialization.js";
|
|
@@ -47,4 +43,3 @@ export { updatePieElement, updatePieElements, updatePieElementWithRef, } from ".
|
|
|
47
43
|
export type { ElementOverrides } from "./overrides.js";
|
|
48
44
|
export { addOrUpdateOverrideInUrl, applyElementOverrides, applyElementVersionOverridesPreserveTags, extractPackageInfo, formatElementOverrideParam, parseElementOverridesFromCurrentUrl, parseElementOverridesFromUrl, } from "./overrides.js";
|
|
49
45
|
export { findOrAddSession, getPackageWithoutVersion, getPieElementBundlesUrl, parsePackageName, } from "./utils.js";
|
|
50
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/pie/index.js
CHANGED
|
@@ -2,15 +2,11 @@
|
|
|
2
2
|
* PIE Utilities Index
|
|
3
3
|
*
|
|
4
4
|
* Barrel export for backward compatibility.
|
|
5
|
-
*
|
|
5
|
+
* Public consumers should import from this aggregate. The only supported
|
|
6
|
+
* deep `pie/*` subpath is `pie/tag-names` for tag helper reuse.
|
|
6
7
|
*
|
|
7
|
-
* - `pie
|
|
8
|
-
* - `pie/
|
|
9
|
-
* - `pie/utils` - URL building and session utilities
|
|
10
|
-
* - `pie/config` - Config manipulation
|
|
11
|
-
* - `pie/updates` - Element update functions
|
|
12
|
-
* - `pie/scoring` - Scoring and controller lookup
|
|
13
|
-
* - `pie/initialization` - Bundle loading and element initialization
|
|
8
|
+
* - `pie` - PIE runtime utilities, interfaces, and helpers
|
|
9
|
+
* - `pie/tag-names` - Custom element tag naming helpers
|
|
14
10
|
*/
|
|
15
11
|
// Config
|
|
16
12
|
export { assertPieConfigContract, addMarkupForPackage, addRubricIfNeeded, elementForPackage, makeUniqueTags, modelsForPackage, validatePieConfigContract, } from "./config.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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pie/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;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,gCAAgC,EAChC,6BAA6B,EAC7B,6BAA6B,EAC7B,uBAAuB,GACvB,MAAM,gBAAgB,CAAC;AAMxB,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","sourcesContent":["/**\n * PIE Utilities Index\n *\n * Barrel export for backward compatibility.\n * Public consumers should import from this aggregate. The only supported\n * deep `pie/*` subpath is `pie/tag-names` for tag helper reuse.\n *\n * - `pie` - PIE runtime utilities, interfaces, and helpers\n * - `pie/tag-names` - Custom element tag naming helpers\n */\n\n// Config\nexport {\n\tassertPieConfigContract,\n\taddMarkupForPackage,\n\taddRubricIfNeeded,\n\telementForPackage,\n\tmakeUniqueTags,\n\tmodelsForPackage,\n\tvalidatePieConfigContract,\n} from \"./config.js\";\n// Loaders — the deep `ElementLoader` primitive (async `ensureRegistered` /\n// sync `assertRegistered`) lives under `pie-players-shared/loaders`.\n// Initialization\nexport {\n\tinitializePiesFromLoadedBundle,\n\tloadBundleFromString,\n\tloadPieModule,\n\tloadPieModuleFromString,\n} from \"./initialization.js\";\nexport {\n\tcreateAuthoringAssetEventManager,\n\tinitializeAuthoringConfigures,\n\tresolveConfigureConfiguration,\n\tvalidateAuthoringModels,\n} from \"./authoring.js\";\nexport type {\n\tAuthoringMediaHandlers,\n\tAuthoringValidationResult,\n\tInitializedConfigureModel,\n} from \"./authoring.js\";\nexport {\n\tinitializeMathRendering,\n\trenderMath,\n\tsetMathRenderer,\n} from \"./math-rendering.js\";\nexport { attachInstrumentationEventBridge } from \"./instrumentation-event-bridge.js\";\nexport type { AttachInstrumentationEventBridgeArgs } from \"./instrumentation-event-bridge.js\";\nexport { resolveInstrumentationProvider } from \"./instrumentation-provider-resolution.js\";\n// Canonical stage vocabulary (M6). Both `<pie-section-player-*>` and\n// `<pie-assessment-toolkit>` share this primitive so the\n// `pie-stage-change` event family stays coherent across CE shapes.\nexport {\n\tSTAGES,\n\tapplicableStages,\n\tstageOrdinal,\n} from \"./stages.js\";\nexport type {\n\tLoadingCompleteDetail,\n\tStage,\n\tStageChangeDetail,\n\tStageSourceCe,\n\tStageStatus,\n} from \"./stages.js\";\nexport { createStageTracker } from \"./stage-tracker.js\";\nexport type {\n\tCreateStageTrackerOptions,\n\tStageTracker,\n} from \"./stage-tracker.js\";\nexport {\n\tASSESSMENT_INSTRUMENTATION_EVENT_MAP,\n\tSECTION_INSTRUMENTATION_EVENT_MAP,\n\tTOOLKIT_INSTRUMENTATION_EVENT_MAP,\n} from \"./instrumentation-event-map.js\";\nexport type { InstrumentationEventMapping } from \"./instrumentation-event-map.js\";\n// Item controller\nexport type { ItemControllerOptions } from \"./item-controller.js\";\nexport { ItemController, normalizeItemSessionContainer } from \"./item-controller.js\";\nexport type {\n\tItemSessionContainer as CanonicalItemSessionContainer,\n\tItemSessionUpdateIntent,\n\tNormalizedItemSessionChange,\n} from \"./item-session-contract.js\";\nexport {\n\thasResponseValue,\n\tnormalizeItemSessionChange,\n} from \"./item-session-contract.js\";\nexport type {\n\tItemSessionContainer,\n\tItemSessionStorageStrategy,\n} from \"./item-controller-storage.js\";\nexport {\n\tMemoryItemSessionStorage,\n\tSessionStorageItemSessionStorage,\n} from \"./item-controller-storage.js\";\n// Logging\nexport type { PieLogger } from \"./logger.js\";\nexport { createPieLogger, isGlobalDebugEnabled } from \"./logger.js\";\n// Player bootstrap helpers (used by inline/preloaded players)\nexport type {\n\tItemData,\n\tPiePlayerConfig,\n\tPiePlayerElements,\n} from \"./player-initializer.js\";\nexport {\n\tbuildApiParams,\n\tbuildEventListenersMap,\n\tensurePiePlayerLoaded,\n\textractPassageMarkup,\n\tfetchItemData,\n\tinitializePiePlayer,\n} from \"./player-initializer.js\";\n// Registry\nexport { pieRegistry } from \"./registry.js\";\n// Scoring\nexport { findPieController, scorePieItem } from \"./scoring.js\";\n// Types and interfaces\nexport type {\n\tEntry,\n\tEventListeners,\n\tEventListenersMap,\n\tLoadPieElementsOptions,\n\tPieElement,\n\tPieRegistry,\n\tUpdatePieElementOptions,\n} from \"./types.js\";\nexport {\n\tBundleType,\n\tdefaultPieElementOptions,\n\tisCustomElementConstructor,\n\t// Type guards (functions)\n\tisPieAvailable,\n\tisPieRegistryAvailable,\n\tStatus,\n} from \"./types.js\";\n// Tag naming helpers\nexport {\n\tdefineCustomElementSafely,\n\ttype SafeDefineResult,\n\ttype SafeDefineStatus,\n} from \"./custom-element-define.js\";\nexport {\n\ttoPrintHashedTag,\n\ttoViewTag,\n\tvalidateCustomElementTag,\n\tVIEW_TAG_SUFFIX,\n} from \"./tag-names.js\";\nexport type { PieViewMode } from \"./tag-names.js\";\n// Updates\nexport {\n\tupdatePieElement,\n\tupdatePieElements,\n\tupdatePieElementWithRef,\n} from \"./updates.js\";\n// URL / element override helpers\nexport type { ElementOverrides } from \"./overrides.js\";\nexport {\n\taddOrUpdateOverrideInUrl,\n\tapplyElementOverrides,\n\tapplyElementVersionOverridesPreserveTags,\n\textractPackageInfo,\n\tformatElementOverrideParam,\n\tparseElementOverridesFromCurrentUrl,\n\tparseElementOverridesFromUrl,\n} from \"./overrides.js\";\n// Utils\nexport {\n\tfindOrAddSession,\n\tgetPackageWithoutVersion,\n\tgetPieElementBundlesUrl,\n\tparsePackageName,\n} from \"./utils.js\";\n"]}
|
|
@@ -63,4 +63,3 @@ export declare const loadBundleFromString: (bundleJs: string) => Promise<void>;
|
|
|
63
63
|
* Convenience wrapper around loadBundleFromString + loadPieModule
|
|
64
64
|
*/
|
|
65
65
|
export declare const loadPieModuleFromString: (bundleJs: string, config: ConfigEntity, session: any[], opts?: LoadPieElementsOptions) => Promise<void>;
|
|
66
|
-
//# sourceMappingURL=initialization.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialization.js","sourceRoot":"","sources":["../../src/pie/initialization.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"initialization.js","sourceRoot":"","sources":["../../src/pie/initialization.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * PIE Initialization Module\n *\n * Bundle loading and element initialization logic.\n * This is the core of the PIE player system.\n */\n\nimport { BUILDER_BUNDLE_URL } from \"../config/profile.js\";\nimport { mergeObjectsIgnoringNullUndefined } from \"../object/index.js\";\nimport type { ConfigEntity, Env, PieModel } from \"../types/index.js\";\nimport { editorPostFix } from \"../types/index.js\";\nimport { createPieLogger, isGlobalDebugEnabled } from \"./logger.js\";\nimport { initializeMathRendering } from \"./math-rendering.js\";\nimport { pieRegistry } from \"./registry.js\";\nimport { findPieController } from \"./scoring.js\";\nimport { defineCustomElementSafely } from \"./custom-element-define.js\";\nimport { validateCustomElementTag } from \"./tag-names.js\";\nimport type {\n\tEventListeners,\n\tLoadPieElementsOptions,\n\tPieElement,\n\tPieRegistry,\n} from \"./types.js\";\nimport {\n\tBundleType,\n\tisCustomElementConstructor,\n\tisPieAvailable,\n\tStatus,\n} from \"./types.js\";\nimport { updatePieElement } from \"./updates.js\";\nimport {\n\tfindOrAddSession,\n\tgetPackageWithoutVersion,\n\tgetPieElementBundlesUrl,\n} from \"./utils.js\";\n\n// Create module-level logger (respects global debug flag - pass function for dynamic checking)\nconst logger = createPieLogger(\"pie-initialization\", () =>\n\tisGlobalDebugEnabled(),\n);\n\n// Default options for loading PIE elements\nconst defaultOptions: LoadPieElementsOptions = {\n\tbuildServiceBase: BUILDER_BUNDLE_URL,\n\tbundleType: BundleType.player, // Default to player.js (no controllers, server-processed models)\n\tenv: { mode: \"gather\", role: \"student\" },\n};\n\n// Add this to your window types\ndeclare global {\n\tinterface Window {\n\t\t_pieElementObserver?: MutationObserver;\n\t\t_pieCurrentContext?: {\n\t\t\tconfig: ConfigEntity;\n\t\t\tsession: any[];\n\t\t\tenv?: Env;\n\t\t\tcontainer?: Element | Document;\n\t\t};\n\t}\n}\n\n/**\n * Helper function to initialize a PIE element\n */\nconst initializePieElement = (\n\telement: PieElement,\n\toptions: {\n\t\tconfig: ConfigEntity;\n\t\tsession: any[];\n\t\tenv?: Env;\n\t\teventListeners?: EventListeners;\n\t},\n): void => {\n\tconst { config, session, env, eventListeners } = options;\n\tif ((element as any).__pieInitialized) {\n\t\treturn;\n\t}\n\tconst tagName = element.tagName.toLowerCase();\n\n\tlogger.debug(`[initializePieElement] Initializing ${tagName}#${element.id}`);\n\n\t// Find model for this element\n\tlet model = config?.models?.find((m) => m.id === element.id) as PieModel;\n\tif (!model) {\n\t\t// Only warn if this element is from a client-player.js bundle (where models are expected)\n\t\t// player.js bundles use server-processed models, so missing models are expected there\n\t\tconst registry = pieRegistry();\n\t\tconst registryEntry = registry[tagName];\n\n\t\tif (registryEntry && registryEntry.bundleType === BundleType.clientPlayer) {\n\t\t\tlogger.warn(\n\t\t\t\t`[initializePieElement] Model not found for PIE element ${tagName}#${element.id} (client-player.js bundle)`,\n\t\t\t);\n\t\t}\n\t\treturn;\n\t}\n\n\t// Set session (with element property for updateSession callback)\n\tconst elementSession = findOrAddSession(session, model.id, model.element);\n\telement.session = elementSession;\n\t(element as any).__pieInitialized = true;\n\tlogger.debug(\n\t\t`[initializePieElement] Session set for ${tagName}#${element.id}:`,\n\t\telementSession,\n\t);\n\n\t// Set model - use controller if available (client-player.js), or use server-processed model (player.js)\n\tconst controller = findPieController(tagName);\n\n\tif (!env) {\n\t\tlogger.error(\n\t\t\t`[initializePieElement] ❌ FATAL: No env provided for ${tagName}`,\n\t\t);\n\t\tthrow new Error(\n\t\t\t`No env provided for ${tagName}. PIE elements require an env object with mode and role.`,\n\t\t);\n\t}\n\n\tif (!controller) {\n\t\t// No controller available - using server-processed model (player.js bundle)\n\t\tlogger.debug(\n\t\t\t`[initializePieElement] ℹ️ No controller for ${tagName}, using server-processed model`,\n\t\t);\n\t\tlogger.debug(`[initializePieElement] Model already processed by server:`, {\n\t\t\tid: model.id,\n\t\t\telement: model.element,\n\t\t\thasCorrectResponse: \"correctResponse\" in model,\n\t\t\tmode: env.mode,\n\t\t\trole: env.role,\n\t\t});\n\n\t\t// Set model directly - server already processed it\n\t\telement.model = model;\n\t} else {\n\t\t// Controller available - run client-side processing (client-player.js bundle)\n\t\t// Note: updatePieElementWithRef handles controller invocation\n\t\tlogger.debug(\n\t\t\t`[initializePieElement] Controller found for ${tagName}, will invoke model() function`,\n\t\t);\n\t}\n\n\t// Add event listeners\n\tif (eventListeners) {\n\t\tObject.entries(eventListeners).forEach(([evt, fn]) => {\n\t\t\telement.addEventListener(evt as any, fn);\n\t\t});\n\t}\n};\n\nconst getEditorElementTagName = (elementTagName: string, pkg: string): string =>\n\tvalidateCustomElementTag(\n\t\telementTagName + editorPostFix,\n\t\t`editor element tag for ${pkg}`,\n\t);\n\nconst updateRegisteredElement = (\n\telementTagName: string,\n\tconfig: ConfigEntity,\n\tsession: any[],\n\toptions: LoadPieElementsOptions,\n\tomitEnv = false,\n): void => {\n\tupdatePieElement(elementTagName, {\n\t\tconfig,\n\t\tsession,\n\t\t...(omitEnv ? {} : { env: options.env }),\n\t\tcontainer: options.container,\n\t\t...(options.eventListeners?.[elementTagName] && {\n\t\t\teventListeners: options.eventListeners[elementTagName],\n\t\t}),\n\t});\n};\n\n/**\n * Shared element registration logic\n * Extracted from initializePiesFromLoadedBundle and loadPieModule to eliminate ~200 lines of duplication\n * Also fixes MutationObserver memory leak by storing latest config/session in window context\n *\n * `elementModule` may be `null`. In that case we cannot register *new*\n * tags (no element constructor source), but we can still update tags\n * that another loader (e.g. the section-player's IIFE adapter) has\n * already registered with `customElements`. This is the common case\n * when `pie-item-player` mounts inside `pie-section-player`: the\n * section player has already pre-warmed the bundle through the deep\n * `ElementLoader` primitive, so the legacy `window.pie.default`\n * requirement no longer applies for those tags.\n */\nconst registerPieElementsFromBundle = (\n\telementModule: any | null,\n\tconfig: ConfigEntity,\n\tsession: any[],\n\tregistry: PieRegistry,\n\toptions: LoadPieElementsOptions,\n): Promise<void>[] => {\n\tconst promises: Promise<void>[] = [];\n\tconst isNodeWithinContainer = (\n\t\tnode: Node,\n\t\tcontainer?: Element | Document,\n\t): boolean => {\n\t\tif (!container || container === document) return true;\n\t\treturn node instanceof Node && container.contains(node);\n\t};\n\n\tif (elementModule) {\n\t\tlogger.debug(\n\t\t\t\"[registerPieElementsFromBundle] Available packages in bundle:\",\n\t\t\tObject.keys(elementModule),\n\t\t);\n\t} else {\n\t\tlogger.debug(\n\t\t\t\"[registerPieElementsFromBundle] No bundle module supplied; will only update tags already registered with customElements.\",\n\t\t);\n\t}\n\tlogger.debug(\n\t\t\"[registerPieElementsFromBundle] config.elements:\",\n\t\tconfig.elements,\n\t);\n\n\t// Store latest config/session in window so MutationObserver can access current values\n\tif (typeof window !== \"undefined\") {\n\t\twindow._pieCurrentContext = {\n\t\t\tconfig,\n\t\t\tsession,\n\t\t\tenv: options.env,\n\t\t\tcontainer: options.container,\n\t\t};\n\t}\n\n\tObject.entries(config.elements).forEach(([elName, pkg]) => {\n\t\tconst elementTagName = validateCustomElementTag(\n\t\t\telName,\n\t\t\t`element tag in config.elements for ${String(pkg)}`,\n\t\t);\n\t\tlogger.debug(\n\t\t\t`[registerPieElementsFromBundle] Processing element: ${elementTagName} -> ${pkg}`,\n\t\t);\n\n\t\t// Fast path — the tag is already registered with customElements\n\t\t// (typically by the host's pre-warm pipeline). We can update its\n\t\t// session/model bindings without needing the bundle module at all.\n\t\t// This branch is also the one that runs when `elementModule` is\n\t\t// `null` because `window.pie` was missing.\n\t\tif (customElements.get(elementTagName)) {\n\t\t\tupdateRegisteredElement(elementTagName, config, session, options);\n\n\t\t\tif (options.bundleType === BundleType.editor) {\n\t\t\t\tconst editorElName = getEditorElementTagName(\n\t\t\t\t\telementTagName,\n\t\t\t\t\tString(pkg),\n\t\t\t\t);\n\t\t\t\tupdateRegisteredElement(\n\t\t\t\t\teditorElName,\n\t\t\t\t\tconfig,\n\t\t\t\t\tsession,\n\t\t\t\t\toptions,\n\t\t\t\t\ttrue,\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\t// From here on we are in the \"register a new tag\" branch, which\n\t\t// requires a bundle module to read the element constructor from.\n\t\tif (!elementModule) {\n\t\t\t// A missing bundle module + an unregistered tag is *not*\n\t\t\t// always an error: in the section-player composition the\n\t\t\t// host's own `ElementLoader` may register this tag\n\t\t\t// out-of-band moments later, in which case `updatePieElement`\n\t\t\t// will pick it up on the next reactive pass via the\n\t\t\t// MutationObserver / `whenDefined` paths. Log at warn so the\n\t\t\t// transient miss is still visible during diagnostics without\n\t\t\t// printing a red stack trace for a routine timing condition.\n\t\t\tlogger.warn(\n\t\t\t\t`[registerPieElementsFromBundle] Skipping \"${elementTagName}\" — no bundle module available and the tag is not yet registered. Will bind on next update if the host's loader registers it.`,\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst pkgStripped = getPackageWithoutVersion(pkg as string);\n\t\tlogger.debug(\n\t\t\t`[registerPieElementsFromBundle] Package without version: \"${pkgStripped}\"`,\n\t\t);\n\n\t\tconst elementData = elementModule[pkgStripped];\n\t\tlogger.debug(\n\t\t\t`[registerPieElementsFromBundle] elementData result:`,\n\t\t\telementData ? \"FOUND\" : \"UNDEFINED\",\n\t\t);\n\n\t\tif (!elementData) {\n\t\t\tlogger.error(\n\t\t\t\t`[registerPieElementsFromBundle] ❌ Package \"${pkgStripped}\" not found in bundle!`,\n\t\t\t);\n\t\t\tlogger.error(\n\t\t\t\t`[registerPieElementsFromBundle] Lookup key: \"${pkgStripped}\"`,\n\t\t\t);\n\t\t\tlogger.error(\n\t\t\t\t`[registerPieElementsFromBundle] Available packages:`,\n\t\t\t\tObject.keys(elementModule),\n\t\t\t);\n\t\t\tthrow new Error(\n\t\t\t\t`pie ${pkgStripped} not found in ${Object.keys(elementModule)}`,\n\t\t\t);\n\t\t}\n\n\t\tlogger.debug(\n\t\t\t`[registerPieElementsFromBundle] elementData for ${pkgStripped}:`,\n\t\t\t{\n\t\t\t\thasController: !!elementData.controller,\n\t\t\t\thasElement: !!elementData.Element,\n\t\t\t\thasConfig: !!elementData.config,\n\t\t\t\tcontrollerKeys: elementData.controller\n\t\t\t\t\t? Object.keys(elementData.controller)\n\t\t\t\t\t: [],\n\t\t\t\tbundleType: options.bundleType,\n\t\t\t},\n\t\t);\n\n\t\t// Validate controller presence based on bundle type\n\t\tif (!elementData.controller) {\n\t\t\tif (options.bundleType === BundleType.clientPlayer) {\n\t\t\t\tlogger.error(\n\t\t\t\t\t`[registerPieElementsFromBundle] ❌ CRITICAL: No controller found for ${pkgStripped}!`,\n\t\t\t\t);\n\t\t\t\tlogger.error(\n\t\t\t\t\t`[registerPieElementsFromBundle] Bundle type: ${options.bundleType} (controllers required)`,\n\t\t\t\t);\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`No controller found for ${pkgStripped}. client-player.js bundles MUST include controllers!`,\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tlogger.debug(\n\t\t\t\t\t`[registerPieElementsFromBundle] ℹ️ No controller found for ${pkgStripped} - using server-processed models (player.js bundle)`,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\t{\n\t\t\t// Register the element in our registry\n\t\t\tlogger.debug(\n\t\t\t\t`[registerPieElementsFromBundle] Registering ${elName} in registry${\n\t\t\t\t\telementData.controller\n\t\t\t\t\t\t? \" with controller\"\n\t\t\t\t\t\t: \" (no controller - server-processed models)\"\n\t\t\t\t}`,\n\t\t\t);\n\t\t\tregistry[elementTagName] = {\n\t\t\t\tpackage: pkg as string,\n\t\t\t\tstatus: Status.loading,\n\t\t\t\ttagName: elementTagName,\n\t\t\t\tcontroller: elementData.controller || null,\n\t\t\t\tconfig: elementData.config,\n\t\t\t\tbundleType: options.bundleType,\n\t\t\t};\n\n\t\t\tif (isCustomElementConstructor(elementData.Element)) {\n\t\t\t\tdefineCustomElementSafely(\n\t\t\t\t\telementTagName,\n\t\t\t\t\telementData.Element,\n\t\t\t\t\t`element tag in config.elements for ${String(pkg)}`,\n\t\t\t\t);\n\n\t\t\t\t// Initialize existing elements\n\t\t\t\tconst searchRoot = options.container || document;\n\t\t\t\tconst elements = searchRoot.querySelectorAll(elementTagName);\n\t\t\t\tlogger.debug(\n\t\t\t\t\t`[registerPieElementsFromBundle] Found ${elements.length} elements for tag '${elementTagName}'`,\n\t\t\t\t);\n\n\t\t\t\telements.forEach((el) => {\n\t\t\t\t\tinitializePieElement(el as PieElement, {\n\t\t\t\t\t\tconfig,\n\t\t\t\t\t\tsession,\n\t\t\t\t\t\tenv: options.env,\n\t\t\t\t\t\teventListeners: options.eventListeners?.[elementTagName],\n\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t\t\t// Update registry status\n\t\t\t\tregistry[elementTagName] = {\n\t\t\t\t\t...registry[elementTagName],\n\t\t\t\t\tstatus: Status.loaded,\n\t\t\t\t};\n\n\t\t\t\tpromises.push(\n\t\t\t\t\tcustomElements.whenDefined(elementTagName).then(() => {\n\t\t\t\t\t\tlogger.debug(\n\t\t\t\t\t\t\t\"[registerPieElementsFromBundle] defined custom PIE element: %s\",\n\t\t\t\t\t\t\telementTagName,\n\t\t\t\t\t\t);\n\t\t\t\t\t}),\n\t\t\t\t);\n\n\t\t\t\t// Setup MutationObserver that uses current context (only once)\n\t\t\t\tif (!window._pieElementObserver) {\n\t\t\t\t\twindow._pieElementObserver = new MutationObserver((mutations) => {\n\t\t\t\t\t\t// Use current context from window instead of stale closure\n\t\t\t\t\t\tconst context = window._pieCurrentContext;\n\t\t\t\t\t\tif (!context) {\n\t\t\t\t\t\t\tlogger.warn(\"[MutationObserver] No current context available\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tmutations.forEach((mutation) => {\n\t\t\t\t\t\t\tif (mutation.type === \"childList\") {\n\t\t\t\t\t\t\t\tmutation.addedNodes.forEach((node) => {\n\t\t\t\t\t\t\t\t\tif (node.nodeType === Node.ELEMENT_NODE) {\n\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t!isNodeWithinContainer(\n\t\t\t\t\t\t\t\t\t\t\t\tnode,\n\t\t\t\t\t\t\t\t\t\t\t\tcontext.container,\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tconst tagName = (node as Element).tagName.toLowerCase();\n\t\t\t\t\t\t\t\t\t\tif (registry[tagName]) {\n\t\t\t\t\t\t\t\t\t\t\tinitializePieElement(node as PieElement, {\n\t\t\t\t\t\t\t\t\t\t\t\tconfig: context.config,\n\t\t\t\t\t\t\t\t\t\t\t\tsession: context.session,\n\t\t\t\t\t\t\t\t\t\t\t\tenv: context.env,\n\t\t\t\t\t\t\t\t\t\t\t\teventListeners: options.eventListeners?.[tagName],\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t// Check children of added nodes\n\t\t\t\t\t\t\t\t\t\t(node as Element)\n\t\t\t\t\t\t\t\t\t\t\t.querySelectorAll(\"*\")\n\t\t\t\t\t\t\t\t\t\t\t.forEach((childNode) => {\n\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t!isNodeWithinContainer(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tchildNode,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontext.container,\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tconst childTagName = childNode.tagName.toLowerCase();\n\t\t\t\t\t\t\t\t\t\t\t\tif (registry[childTagName]) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tinitializePieElement(childNode as PieElement, {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tconfig: context.config,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsession: context.session,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tenv: context.env,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\teventListeners:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toptions.eventListeners?.[childTagName],\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\n\t\t\t\t\twindow._pieElementObserver.observe(document.body, {\n\t\t\t\t\t\tchildList: true,\n\t\t\t\t\t\tsubtree: true,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// Handle editor elements if needed\n\t\t\t\tif (options.bundleType === BundleType.editor) {\n\t\t\t\t\tif (isCustomElementConstructor(elementData.Configure)) {\n\t\t\t\t\t\tconst editorElName = getEditorElementTagName(\n\t\t\t\t\t\t\telementTagName,\n\t\t\t\t\t\t\tString(pkg),\n\t\t\t\t\t\t);\n\t\t\t\t\t\tdefineCustomElementSafely(\n\t\t\t\t\t\t\teditorElName,\n\t\t\t\t\t\t\telementData.Configure,\n\t\t\t\t\t\t\t`editor element tag for ${String(pkg)}`,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tpromises.push(\n\t\t\t\t\t\t\tcustomElements.whenDefined(editorElName).then(() => {\n\t\t\t\t\t\t\t\tlogger.debug(\n\t\t\t\t\t\t\t\t\t`[registerPieElementsFromBundle] defined custom PIE editor element: ${editorElName}`,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlogger.error(\n\t\t\t\t\t\t\t`[registerPieElementsFromBundle] pie.Configure for ${pkgStripped} is not a valid custom element constructor.`,\n\t\t\t\t\t\t\telementData.configure,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlogger.error(\n\t\t\t\t\t`[registerPieElementsFromBundle] pie.Element for ${pkgStripped} is not a valid custom element constructor.`,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t});\n\n\treturn promises;\n};\n\n/**\n * Initialize PIE elements from a bundle that may already be loaded.\n *\n * `window.pie` is the legacy bundle-loading global populated by\n * `loadPieModule` / `loadBundleFromString`. When the host loaded the\n * bundle through the deep `ElementLoader` primitive instead — as\n * `pie-section-player` does — the global is irrelevant: the loader\n * registers tags directly with `customElements`, so this function only\n * needs to bind models/sessions to whatever is already registered.\n *\n * Behavior:\n * - `window.pie` available → register any new tags from the bundle and\n * update bindings for already-registered tags (legacy fast path).\n * - `window.pie` missing → fall back to the update-only path. Tags that\n * are already registered get their model/session updated; tags that\n * are not yet registered are logged at `warn` and left alone — the\n * host's loader is expected to register them imminently, after which\n * the existing `MutationObserver` / `updatePieElements` flow binds\n * them on the next reactive pass.\n *\n * The original blanket `window.pie not found; was the bundle inlined\n * correctly?` error has been removed: in the section-player + item-player\n * composition it produced a confusing red stack trace for a routine\n * timing condition that the host already handles. Genuine failures\n * (bundle not loaded by *anyone*) still surface — every unregistered tag\n * gets its own warning, and `updatePieElements` later reports any tag\n * that never resolves.\n */\nexport const initializePiesFromLoadedBundle = (\n\tconfig: ConfigEntity,\n\tsession: any[],\n\topts: LoadPieElementsOptions = {},\n): void => {\n\tconst registry = pieRegistry();\n\tconst options = mergeObjectsIgnoringNullUndefined(defaultOptions, opts);\n\n\tif (isPieAvailable(window)) {\n\t\tlogger.debug(\"[initializePiesFromLoadedBundle] window.pie available\");\n\t\tconst elementModule = window.pie.default;\n\t\tregisterPieElementsFromBundle(\n\t\t\telementModule,\n\t\t\tconfig,\n\t\t\tsession,\n\t\t\tregistry,\n\t\t\toptions,\n\t\t);\n\t\treturn;\n\t}\n\n\tlogger.debug(\n\t\t\"[initializePiesFromLoadedBundle] window.pie not present; using update-only path. Already-registered tags will be bound now; missing tags are expected to be registered by the host's loader and will bind on the next update pass.\",\n\t);\n\tregisterPieElementsFromBundle(null, config, session, registry, options);\n};\n\n/**\n * Load a PIE bundle from a URL and initialize elements\n */\nexport const loadPieModule = async (\n\tconfig: ConfigEntity,\n\tsession: any[],\n\topts: LoadPieElementsOptions = {},\n): Promise<{\n\tsession: any[];\n}> => {\n\tif (!session) {\n\t\tthrow new Error(\"session is required\");\n\t}\n\n\t// Initialize math-rendering module (required by PIE elements)\n\tawait initializeMathRendering();\n\n\tconst registry = pieRegistry();\n\tconst options = mergeObjectsIgnoringNullUndefined(defaultOptions, opts);\n\tconst url = opts.bundleUrl || getPieElementBundlesUrl(config, options);\n\tconst script = document.createElement(\"script\");\n\tscript.src = url;\n\tscript.defer = true;\n\tscript.onerror = () => {\n\t\tthrow new Error(`failed to load script: ${url}`);\n\t};\n\n\tconst loadPromise = new Promise<void>((loadResolve) => {\n\t\tscript.addEventListener(\"load\", () => {\n\t\t\tlogger.debug(\"[loadPieModule] Script loaded from:\", url);\n\t\t\tif (isPieAvailable(window)) {\n\t\t\t\tlogger.debug(\"[loadPieModule] window.pie available\");\n\t\t\t\tconst elementModule = window.pie.default;\n\n\t\t\t\t// Use shared registration logic (returns array of promises)\n\t\t\t\tconst registrationPromises = registerPieElementsFromBundle(\n\t\t\t\t\telementModule,\n\t\t\t\t\tconfig,\n\t\t\t\t\tsession,\n\t\t\t\t\tregistry,\n\t\t\t\t\toptions,\n\t\t\t\t);\n\n\t\t\t\t// Wait for all element definitions to complete\n\t\t\t\tPromise.all(registrationPromises).then(() => loadResolve());\n\t\t\t} else {\n\t\t\t\tlogger.error(\n\t\t\t\t\t\"[loadPieModule] pie var not found; is %s a proper PIE IIFE module?\",\n\t\t\t\t\turl,\n\t\t\t\t);\n\t\t\t\tloadResolve();\n\t\t\t}\n\t\t});\n\t});\n\n\tdocument.head.appendChild(script);\n\tawait loadPromise;\n\treturn { session };\n};\n\n/**\n * Load a PIE bundle from a JavaScript string into window.pie (IIFE bundles only)\n * This only registers elements and controllers - does NOT initialize them.\n * For initialization, use initializePiesFromLoadedBundle after loading.\n */\nexport const loadBundleFromString = async (bundleJs: string): Promise<void> => {\n\tawait initializeMathRendering();\n\tawait withBlobBundleUrl(\n\t\tbundleJs,\n\t\t{ stripSourceMapComment: true },\n\t\tasync (bundleUrl) => {\n\t\t\t// Create a script tag to execute the bundle\n\t\t\tconst script = document.createElement(\"script\");\n\t\t\tscript.src = bundleUrl;\n\t\t\tscript.type = \"text/javascript\"; // IIFE bundles are standard JS\n\n\t\t\t// Wait for script to load\n\t\t\tawait new Promise<void>((resolve, reject) => {\n\t\t\t\tscript.onload = () => resolve();\n\t\t\t\tscript.onerror = () => reject(new Error(\"Failed to load bundle\"));\n\t\t\t\tdocument.head.appendChild(script);\n\t\t\t});\n\n\t\t\tlogger.debug(\"[loadBundleFromString] Bundle loaded into window.pie\");\n\t\t},\n\t);\n};\n\n/**\n * Load a PIE bundle from a JavaScript string and initialize elements\n * Convenience wrapper around loadBundleFromString + loadPieModule\n */\nexport const loadPieModuleFromString = async (\n\tbundleJs: string,\n\tconfig: ConfigEntity,\n\tsession: any[],\n\topts: LoadPieElementsOptions = {},\n): Promise<void> => {\n\tawait withBlobBundleUrl(bundleJs, {}, async (bundleUrl) => {\n\t\t// Use existing loadPieModule with the blob URL\n\t\tawait loadPieModule(config, session, { ...opts, bundleUrl });\n\t});\n};\n\nconst withBlobBundleUrl = async <T>(\n\tbundleJs: string,\n\toptions: { stripSourceMapComment?: boolean },\n\trun: (bundleUrl: string) => Promise<T>,\n): Promise<T> => {\n\tconst source = options.stripSourceMapComment\n\t\t? bundleJs.replace(/\\/\\/# sourceMappingURL=.*$/m, \"\")\n\t\t: bundleJs;\n\tconst blob = new Blob([source], { type: \"application/javascript\" });\n\tconst bundleUrl = URL.createObjectURL(blob);\n\ttry {\n\t\treturn await run(bundleUrl);\n\t} finally {\n\t\tURL.revokeObjectURL(bundleUrl);\n\t}\n};\n"]}
|
|
@@ -10,4 +10,3 @@ export type AttachInstrumentationEventBridgeArgs = {
|
|
|
10
10
|
shouldTrackEvent?: (event: Event) => boolean;
|
|
11
11
|
};
|
|
12
12
|
export declare function attachInstrumentationEventBridge(args: AttachInstrumentationEventBridgeArgs): () => void;
|
|
13
|
-
//# sourceMappingURL=instrumentation-event-bridge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrumentation-event-bridge.js","sourceRoot":"","sources":["../../src/pie/instrumentation-event-bridge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"instrumentation-event-bridge.js","sourceRoot":"","sources":["../../src/pie/instrumentation-event-bridge.ts"],"names":[],"mappings":"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","sourcesContent":["import { isInstrumentationProvider } from \"../instrumentation/provider-guards.js\";\nimport type { InstrumentationProvider } from \"../instrumentation/types.js\";\nimport type { InstrumentationEventMapping } from \"./instrumentation-event-map.js\";\nimport { createPieLogger, isGlobalDebugEnabled } from \"./logger.js\";\n\nconst logger = createPieLogger(\"instrumentation-event-bridge\", () =>\n\tisGlobalDebugEnabled(),\n);\n\nexport type AttachInstrumentationEventBridgeArgs = {\n\thost: EventTarget | null | undefined;\n\tinstrumentationProvider?: unknown;\n\tcomponent: string;\n\teventMap: InstrumentationEventMapping[];\n\tstaticAttributes?: Record<string, unknown>;\n\tdebug?: boolean;\n\tdedupeWindowMs?: number;\n\tshouldTrackEvent?: (event: Event) => boolean;\n};\n\nfunction normalizeEventDetail(detail: unknown): Record<string, unknown> {\n\tif (detail && typeof detail === \"object\") {\n\t\treturn detail as Record<string, unknown>;\n\t}\n\tif (typeof detail === \"undefined\") {\n\t\treturn {};\n\t}\n\treturn { value: detail };\n}\n\nfunction warnInvalidProvider(component: string): void {\n\tlogger.warn(\n\t\t`[InstrumentationEventBridge:${component}] Ignoring invalid instrumentation provider; expected InstrumentationProvider contract`,\n\t);\n}\n\nfunction trackBridgeError(args: {\n\tprovider: InstrumentationProvider;\n\tcomponent: string;\n\terror: unknown;\n\tsourceEventName: string;\n}): void {\n\ttry {\n\t\targs.provider.trackError(\n\t\t\targs.error instanceof Error\n\t\t\t\t? args.error\n\t\t\t\t: new Error(String(args.error ?? \"Unknown instrumentation bridge error\")),\n\t\t\t{\n\t\t\t\tcomponent: args.component,\n\t\t\t\terrorType: \"InstrumentationBridgeError\",\n\t\t\t\tsourceEventName: args.sourceEventName,\n\t\t\t},\n\t\t);\n\t} catch {\n\t\t// Avoid recursive failures while reporting instrumentation bridge errors.\n\t}\n}\n\nexport function attachInstrumentationEventBridge(\n\targs: AttachInstrumentationEventBridgeArgs,\n): () => void {\n\tif (!args.host || !args.eventMap.length) return () => {};\n\tif (!args.instrumentationProvider) return () => {};\n\tif (!isInstrumentationProvider(args.instrumentationProvider)) {\n\t\tif (args.debug) {\n\t\t\twarnInvalidProvider(args.component);\n\t\t}\n\t\treturn () => {};\n\t}\n\n\tconst provider = args.instrumentationProvider;\n\tconst removeListeners: Array<() => void> = [];\n\tconst dedupeWindowMs = Math.max(0, args.dedupeWindowMs ?? 0);\n\tconst recentEventMap = new Map<string, number>();\n\n\tconst computeDedupeKey = (\n\t\tmapping: InstrumentationEventMapping,\n\t\tdetail: Record<string, unknown>,\n\t): string => {\n\t\tconst summary = [\n\t\t\tdetail.assessmentId,\n\t\t\tdetail.sectionId,\n\t\t\tdetail.attemptId,\n\t\t\tdetail.itemId,\n\t\t\tdetail.canonicalItemId,\n\t\t\tdetail.sourceRuntimeId,\n\t\t]\n\t\t\t.map((value) => String(value ?? \"\"))\n\t\t\t.join(\"|\");\n\t\treturn `${mapping.instrumentationEventName}|${summary}`;\n\t};\n\n\tfor (const mapping of args.eventMap) {\n\t\tconst handler = (event: Event) => {\n\t\t\ttry {\n\t\t\t\tif (!provider.isReady()) return;\n\t\t\t\tif (args.shouldTrackEvent && !args.shouldTrackEvent(event)) return;\n\t\t\t\tconst customEvent = event as CustomEvent<unknown>;\n\t\t\t\tconst detail = normalizeEventDetail(customEvent.detail);\n\t\t\t\tconst timestamp = new Date().toISOString();\n\t\t\t\tconst mergedAttributes = {\n\t\t\t\t\t...detail,\n\t\t\t\t\t...args.staticAttributes,\n\t\t\t\t\tcomponent: args.component,\n\t\t\t\t\tsourceEventName: mapping.sourceEventName,\n\t\t\t\t\ttimestamp,\n\t\t\t\t};\n\t\t\t\tif (dedupeWindowMs > 0) {\n\t\t\t\t\tconst now = Date.now();\n\t\t\t\t\tconst dedupeKey = computeDedupeKey(mapping, mergedAttributes);\n\t\t\t\t\tconst previousTimestamp = recentEventMap.get(dedupeKey);\n\t\t\t\t\tif (\n\t\t\t\t\t\ttypeof previousTimestamp === \"number\" &&\n\t\t\t\t\t\tnow - previousTimestamp < dedupeWindowMs\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\trecentEventMap.set(dedupeKey, now);\n\t\t\t\t}\n\t\t\t\tprovider.trackEvent(mapping.instrumentationEventName, {\n\t\t\t\t\t...mergedAttributes,\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\ttrackBridgeError({\n\t\t\t\t\tprovider,\n\t\t\t\t\tcomponent: args.component,\n\t\t\t\t\terror,\n\t\t\t\t\tsourceEventName: mapping.sourceEventName,\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\targs.host.addEventListener(mapping.sourceEventName, handler as EventListener);\n\t\tremoveListeners.push(() => {\n\t\t\targs.host?.removeEventListener(mapping.sourceEventName, handler as EventListener);\n\t\t});\n\t}\n\n\treturn () => {\n\t\tfor (const removeListener of removeListeners) {\n\t\t\tremoveListener();\n\t\t}\n\t};\n}\n"]}
|
|
@@ -5,4 +5,3 @@ export type InstrumentationEventMapping = {
|
|
|
5
5
|
export declare const TOOLKIT_INSTRUMENTATION_EVENT_MAP: InstrumentationEventMapping[];
|
|
6
6
|
export declare const SECTION_INSTRUMENTATION_EVENT_MAP: InstrumentationEventMapping[];
|
|
7
7
|
export declare const ASSESSMENT_INSTRUMENTATION_EVENT_MAP: InstrumentationEventMapping[];
|
|
8
|
-
//# sourceMappingURL=instrumentation-event-map.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrumentation-event-map.js","sourceRoot":"","sources":["../../src/pie/instrumentation-event-map.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,iCAAiC,GAAkC;IAC/E,mEAAmE;IACnE,uEAAuE;IACvE,sEAAsE;IACtE,qEAAqE;IACrE,gEAAgE;IAChE,uEAAuE;IACvE,8CAA8C;IAC9C;QACC,eAAe,EAAE,kBAAkB;QACnC,wBAAwB,EAAE,0BAA0B;KACpD;IACD;QACC,eAAe,EAAE,eAAe;QAChC,wBAAwB,EAAE,2BAA2B;KACrD;IACD;QACC,eAAe,EAAE,mBAAmB;QACpC,wBAAwB,EAAE,+BAA+B;KACzD;IACD;QACC,eAAe,EAAE,eAAe;QAChC,wBAAwB,EAAE,mBAAmB;KAC7C;IACD;QACC,eAAe,EAAE,eAAe;QAChC,wBAAwB,EAAE,2BAA2B;KACrD;IACD;QACC,eAAe,EAAE,iBAAiB;QAClC,wBAAwB,EAAE,6BAA6B;KACvD;CACD,CAAC;AAEF,MAAM,CAAC,MAAM,iCAAiC,GAAkC;IAC/E,uEAAuE;IACvE,mEAAmE;IACnE,mEAAmE;IACnE,qDAAqD;IACrD,mDAAmD;IACnD,+DAA+D;IAC/D,6DAA6D;IAC7D,YAAY;IACZ;QACC,eAAe,EAAE,kBAAkB;QACnC,wBAAwB,EAAE,0BAA0B;KACpD;IACD;QACC,eAAe,EAAE,sBAAsB;QACvC,wBAAwB,EAAE,8BAA8B;KACxD;IACD;QACC,eAAe,EAAE,iBAAiB;QAClC,wBAAwB,EAAE,6BAA6B;KACvD;IACD;QACC,eAAe,EAAE,qBAAqB;QACtC,wBAAwB,EAAE,iCAAiC;KAC3D;IACD;QACC,eAAe,EAAE,iBAAiB;QAClC,wBAAwB,EAAE,6BAA6B;KACvD;IACD;QACC,eAAe,EAAE,uBAAuB;QACxC,wBAAwB,EAAE,mCAAmC;KAC7D;IACD;QACC,eAAe,EAAE,uBAAuB;QACxC,wBAAwB,EAAE,mCAAmC;KAC7D;CACD,CAAC;AAEF,MAAM,CAAC,MAAM,oCAAoC,GAAkC;IAClF;QACC,eAAe,EAAE,6BAA6B;QAC9C,wBAAwB,EAAE,iCAAiC;KAC3D;IACD;QACC,eAAe,EAAE,iCAAiC;QAClD,wBAAwB,EAAE,qCAAqC;KAC/D;IACD;QACC,eAAe,EAAE,0BAA0B;QAC3C,wBAAwB,EAAE,8BAA8B;KACxD;IACD;QACC,eAAe,EAAE,4BAA4B;QAC7C,wBAAwB,EAAE,gCAAgC;KAC1D;IACD;QACC,eAAe,EAAE,4BAA4B;QAC7C,wBAAwB,EAAE,gCAAgC;KAC1D;IACD;QACC,eAAe,EAAE,6BAA6B;QAC9C,wBAAwB,EAAE,iCAAiC;KAC3D;IACD;QACC,eAAe,EAAE,qCAAqC;QACtD,wBAAwB,EAAE,yCAAyC;KACnE;IACD;QACC,eAAe,EAAE,kBAAkB;QACnC,wBAAwB,EAAE,sBAAsB;KAChD;CACD,CAAC"}
|
|
1
|
+
{"version":3,"file":"instrumentation-event-map.js","sourceRoot":"","sources":["../../src/pie/instrumentation-event-map.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,iCAAiC,GAAkC;IAC/E,mEAAmE;IACnE,uEAAuE;IACvE,sEAAsE;IACtE,qEAAqE;IACrE,gEAAgE;IAChE,uEAAuE;IACvE,8CAA8C;IAC9C;QACC,eAAe,EAAE,kBAAkB;QACnC,wBAAwB,EAAE,0BAA0B;KACpD;IACD;QACC,eAAe,EAAE,eAAe;QAChC,wBAAwB,EAAE,2BAA2B;KACrD;IACD;QACC,eAAe,EAAE,mBAAmB;QACpC,wBAAwB,EAAE,+BAA+B;KACzD;IACD;QACC,eAAe,EAAE,eAAe;QAChC,wBAAwB,EAAE,mBAAmB;KAC7C;IACD;QACC,eAAe,EAAE,eAAe;QAChC,wBAAwB,EAAE,2BAA2B;KACrD;IACD;QACC,eAAe,EAAE,iBAAiB;QAClC,wBAAwB,EAAE,6BAA6B;KACvD;CACD,CAAC;AAEF,MAAM,CAAC,MAAM,iCAAiC,GAAkC;IAC/E,uEAAuE;IACvE,mEAAmE;IACnE,mEAAmE;IACnE,qDAAqD;IACrD,mDAAmD;IACnD,+DAA+D;IAC/D,6DAA6D;IAC7D,YAAY;IACZ;QACC,eAAe,EAAE,kBAAkB;QACnC,wBAAwB,EAAE,0BAA0B;KACpD;IACD;QACC,eAAe,EAAE,sBAAsB;QACvC,wBAAwB,EAAE,8BAA8B;KACxD;IACD;QACC,eAAe,EAAE,iBAAiB;QAClC,wBAAwB,EAAE,6BAA6B;KACvD;IACD;QACC,eAAe,EAAE,qBAAqB;QACtC,wBAAwB,EAAE,iCAAiC;KAC3D;IACD;QACC,eAAe,EAAE,iBAAiB;QAClC,wBAAwB,EAAE,6BAA6B;KACvD;IACD;QACC,eAAe,EAAE,uBAAuB;QACxC,wBAAwB,EAAE,mCAAmC;KAC7D;IACD;QACC,eAAe,EAAE,uBAAuB;QACxC,wBAAwB,EAAE,mCAAmC;KAC7D;CACD,CAAC;AAEF,MAAM,CAAC,MAAM,oCAAoC,GAAkC;IAClF;QACC,eAAe,EAAE,6BAA6B;QAC9C,wBAAwB,EAAE,iCAAiC;KAC3D;IACD;QACC,eAAe,EAAE,iCAAiC;QAClD,wBAAwB,EAAE,qCAAqC;KAC/D;IACD;QACC,eAAe,EAAE,0BAA0B;QAC3C,wBAAwB,EAAE,8BAA8B;KACxD;IACD;QACC,eAAe,EAAE,4BAA4B;QAC7C,wBAAwB,EAAE,gCAAgC;KAC1D;IACD;QACC,eAAe,EAAE,4BAA4B;QAC7C,wBAAwB,EAAE,gCAAgC;KAC1D;IACD;QACC,eAAe,EAAE,6BAA6B;QAC9C,wBAAwB,EAAE,iCAAiC;KAC3D;IACD;QACC,eAAe,EAAE,qCAAqC;QACtD,wBAAwB,EAAE,yCAAyC;KACnE;IACD;QACC,eAAe,EAAE,kBAAkB;QACnC,wBAAwB,EAAE,sBAAsB;KAChD;CACD,CAAC","sourcesContent":["export type InstrumentationEventMapping = {\n\tsourceEventName: string;\n\tinstrumentationEventName: string;\n};\n\nexport const TOOLKIT_INSTRUMENTATION_EVENT_MAP: InstrumentationEventMapping[] = [\n\t// M6 canonical readiness vocabulary. The four-stage canonical list\n\t// (`composed`, `engine-ready`, `interactive`, `disposed`) is identical\n\t// across the toolkit CE and the layout CEs — the M6 retro removed the\n\t// `attached`, `runtime-bound`, and `ui-rendered` stages because they\n\t// had zero internal or external consumers. Hosts listen for the\n\t// DOM-prefixed name directly (`pie-stage-change`); the instrumentation\n\t// bridge forwards the same name to telemetry.\n\t{\n\t\tsourceEventName: \"pie-stage-change\",\n\t\tinstrumentationEventName: \"pie-toolkit-stage-change\",\n\t},\n\t{\n\t\tsourceEventName: \"runtime-owned\",\n\t\tinstrumentationEventName: \"pie-toolkit-runtime-owned\",\n\t},\n\t{\n\t\tsourceEventName: \"runtime-inherited\",\n\t\tinstrumentationEventName: \"pie-toolkit-runtime-inherited\",\n\t},\n\t{\n\t\tsourceEventName: \"toolkit-ready\",\n\t\tinstrumentationEventName: \"pie-toolkit-ready\",\n\t},\n\t{\n\t\tsourceEventName: \"section-ready\",\n\t\tinstrumentationEventName: \"pie-toolkit-section-ready\",\n\t},\n\t{\n\t\tsourceEventName: \"framework-error\",\n\t\tinstrumentationEventName: \"pie-toolkit-framework-error\",\n\t},\n];\n\nexport const SECTION_INSTRUMENTATION_EVENT_MAP: InstrumentationEventMapping[] = [\n\t// M6 canonical readiness vocabulary. Hosts listen for the DOM-prefixed\n\t// names directly (`pie-stage-change`, `pie-loading-complete`); the\n\t// instrumentation bridge forwards the same names to telemetry. The\n\t// deprecated readiness mappings (`readiness-change`,\n\t// `interaction-ready`, `ready`) and the deprecated\n\t// `section-controller-ready` mapping were removed in the broad\n\t// architecture review compat sweep alongside their DOM-event\n\t// surfaces.\n\t{\n\t\tsourceEventName: \"pie-stage-change\",\n\t\tinstrumentationEventName: \"pie-section-stage-change\",\n\t},\n\t{\n\t\tsourceEventName: \"pie-loading-complete\",\n\t\tinstrumentationEventName: \"pie-section-loading-complete\",\n\t},\n\t{\n\t\tsourceEventName: \"session-changed\",\n\t\tinstrumentationEventName: \"pie-section-session-changed\",\n\t},\n\t{\n\t\tsourceEventName: \"composition-changed\",\n\t\tinstrumentationEventName: \"pie-section-composition-changed\",\n\t},\n\t{\n\t\tsourceEventName: \"framework-error\",\n\t\tinstrumentationEventName: \"pie-section-framework-error\",\n\t},\n\t{\n\t\tsourceEventName: \"element-preload-retry\",\n\t\tinstrumentationEventName: \"pie-section-element-preload-retry\",\n\t},\n\t{\n\t\tsourceEventName: \"element-preload-error\",\n\t\tinstrumentationEventName: \"pie-section-element-preload-error\",\n\t},\n];\n\nexport const ASSESSMENT_INSTRUMENTATION_EVENT_MAP: InstrumentationEventMapping[] = [\n\t{\n\t\tsourceEventName: \"assessment-controller-ready\",\n\t\tinstrumentationEventName: \"pie-assessment-controller-ready\",\n\t},\n\t{\n\t\tsourceEventName: \"assessment-navigation-requested\",\n\t\tinstrumentationEventName: \"pie-assessment-navigation-requested\",\n\t},\n\t{\n\t\tsourceEventName: \"assessment-route-changed\",\n\t\tinstrumentationEventName: \"pie-assessment-route-changed\",\n\t},\n\t{\n\t\tsourceEventName: \"assessment-session-applied\",\n\t\tinstrumentationEventName: \"pie-assessment-session-applied\",\n\t},\n\t{\n\t\tsourceEventName: \"assessment-session-changed\",\n\t\tinstrumentationEventName: \"pie-assessment-session-changed\",\n\t},\n\t{\n\t\tsourceEventName: \"assessment-progress-changed\",\n\t\tinstrumentationEventName: \"pie-assessment-progress-changed\",\n\t},\n\t{\n\t\tsourceEventName: \"assessment-submission-state-changed\",\n\t\tinstrumentationEventName: \"pie-assessment-submission-state-changed\",\n\t},\n\t{\n\t\tsourceEventName: \"assessment-error\",\n\t\tinstrumentationEventName: \"pie-assessment-error\",\n\t},\n];\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrumentation-provider-resolution.js","sourceRoot":"","sources":["../../src/pie/instrumentation-provider-resolution.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"instrumentation-provider-resolution.js","sourceRoot":"","sources":["../../src/pie/instrumentation-provider-resolution.ts"],"names":[],"mappings":"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","sourcesContent":["import { isInstrumentationProvider } from \"../instrumentation/provider-guards.js\";\nimport { NewRelicInstrumentationProvider } from \"../instrumentation/providers/NewRelicInstrumentationProvider.js\";\nimport { createPieLogger, isGlobalDebugEnabled } from \"./logger.js\";\n\ntype UnknownRecord = Record<string, unknown>;\ntype ProviderCandidate =\n\t| { kind: \"unset\" }\n\t| { kind: \"null\" }\n\t| { kind: \"value\"; value: unknown };\n\nfunction asRecord(value: unknown): UnknownRecord {\n\treturn value && typeof value === \"object\" ? (value as UnknownRecord) : {};\n}\n\nfunction resolveLoaderConfig(playerLike: unknown): UnknownRecord | null {\n\tconst player = asRecord(playerLike);\n\tconst loaderConfig = asRecord(player.loaderConfig);\n\treturn Object.keys(loaderConfig).length > 0 ? loaderConfig : null;\n}\n\nfunction resolveProviderFromLoaderConfig(loaderConfig: UnknownRecord | null): ProviderCandidate {\n\tif (!loaderConfig || !(\"instrumentationProvider\" in loaderConfig)) {\n\t\treturn { kind: \"unset\" };\n\t}\n\tconst provider = loaderConfig.instrumentationProvider;\n\tif (provider === null) return { kind: \"null\" };\n\tif (typeof provider === \"undefined\") return { kind: \"unset\" };\n\treturn { kind: \"value\", value: provider };\n}\n\nfunction resolveTrackPageActionsFromLoaderConfig(\n\tloaderConfig: UnknownRecord | null,\n): boolean | undefined {\n\tif (!loaderConfig || !(\"trackPageActions\" in loaderConfig)) return undefined;\n\tconst trackPageActions = loaderConfig.trackPageActions;\n\treturn typeof trackPageActions === \"boolean\" ? trackPageActions : undefined;\n}\n\nfunction selectProviderCandidate(\n\truntimeCandidate: ProviderCandidate,\n\ttopLevelCandidate: ProviderCandidate,\n): ProviderCandidate {\n\tif (runtimeCandidate.kind === \"value\" || runtimeCandidate.kind === \"null\") {\n\t\treturn runtimeCandidate;\n\t}\n\treturn topLevelCandidate;\n}\n\nlet defaultProvider: NewRelicInstrumentationProvider | undefined;\nconst logger = createPieLogger(\"instrumentation-provider-resolution\", () =>\n\tisGlobalDebugEnabled(),\n);\n\nfunction getDefaultInstrumentationProvider(): NewRelicInstrumentationProvider {\n\tif (!defaultProvider) {\n\t\tdefaultProvider = new NewRelicInstrumentationProvider();\n\t\t// New Relic provider sets readiness based on window.newrelic.\n\t\tvoid defaultProvider.initialize();\n\t}\n\treturn defaultProvider;\n}\n\nexport function resolveInstrumentationProvider(args: {\n\truntimePlayer?: unknown;\n\tplayer?: unknown;\n\tdebug?: boolean;\n\tcomponent?: string;\n}): unknown {\n\tconst runtimeLoaderConfig = resolveLoaderConfig(args.runtimePlayer);\n\tconst topLevelLoaderConfig = resolveLoaderConfig(args.player);\n\tconst runtimeTrackPageActions =\n\t\tresolveTrackPageActionsFromLoaderConfig(runtimeLoaderConfig);\n\tconst topLevelTrackPageActions =\n\t\tresolveTrackPageActionsFromLoaderConfig(topLevelLoaderConfig);\n\tconst trackPageActions =\n\t\truntimeTrackPageActions ?? topLevelTrackPageActions ?? false;\n\tconst candidateProvider = selectProviderCandidate(\n\t\tresolveProviderFromLoaderConfig(runtimeLoaderConfig),\n\t\tresolveProviderFromLoaderConfig(topLevelLoaderConfig),\n\t);\n\tif (candidateProvider.kind === \"null\") return undefined;\n\tif (candidateProvider.kind === \"unset\") {\n\t\treturn trackPageActions ? getDefaultInstrumentationProvider() : undefined;\n\t}\n\tif (isInstrumentationProvider(candidateProvider.value)) {\n\t\treturn candidateProvider.value;\n\t}\n\tif (args.debug) {\n\t\tconst prefix = args.component ? `[${args.component}] ` : \"\";\n\t\tlogger.warn(\n\t\t\t`${prefix}Ignoring invalid instrumentation provider; expected InstrumentationProvider contract`,\n\t\t);\n\t}\n\treturn undefined;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item-controller-storage.js","sourceRoot":"","sources":["../../src/pie/item-controller-storage.ts"],"names":[],"mappings":"AAcA,MAAM,OAAO,wBAAwB;IAC5B,KAAK,GAAG,IAAI,GAAG,EAAgC,CAAC;IAExD,IAAI,CAAC,GAAW;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;IACpC,CAAC;IAED,IAAI,CAAC,GAAW,EAAE,OAA6B;QAC9C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,GAAW;QAChB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;CACD;AAED,MAAM,OAAO,gCAAgC;IAG5C,IAAI,CAAC,GAAW;QACf,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO,IAAI,CAAC;QAC/C,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC/C,IAAI,CAAC,GAAG;gBAAE,OAAO,IAAI,CAAC;YACtB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAyB,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAED,IAAI,CAAC,GAAW,EAAE,OAA6B;QAC9C,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO;QAC1C,IAAI,CAAC;YACJ,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7D,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACX,CAAC;IAED,KAAK,CAAC,GAAW;QAChB,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO;QAC1C,IAAI,CAAC;YACJ,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACX,CAAC;CACD"}
|
|
1
|
+
{"version":3,"file":"item-controller-storage.js","sourceRoot":"","sources":["../../src/pie/item-controller-storage.ts"],"names":[],"mappings":"AAcA,MAAM,OAAO,wBAAwB;IAC5B,KAAK,GAAG,IAAI,GAAG,EAAgC,CAAC;IAExD,IAAI,CAAC,GAAW;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;IACpC,CAAC;IAED,IAAI,CAAC,GAAW,EAAE,OAA6B;QAC9C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,GAAW;QAChB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;CACD;AAED,MAAM,OAAO,gCAAgC;IAG5C,IAAI,CAAC,GAAW;QACf,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO,IAAI,CAAC;QAC/C,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC/C,IAAI,CAAC,GAAG;gBAAE,OAAO,IAAI,CAAC;YACtB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAyB,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAED,IAAI,CAAC,GAAW,EAAE,OAA6B;QAC9C,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO;QAC1C,IAAI,CAAC;YACJ,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7D,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACX,CAAC;IAED,KAAK,CAAC,GAAW;QAChB,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO;QAC1C,IAAI,CAAC;YACJ,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACX,CAAC;CACD","sourcesContent":["export type ItemSessionContainer = {\n\tid: string;\n\tdata: any[];\n};\n\nexport interface ItemSessionStorageStrategy {\n\tload(key: string): ItemSessionContainer | null | Promise<ItemSessionContainer | null>;\n\tsave(\n\t\tkey: string,\n\t\tsession: ItemSessionContainer,\n\t): void | Promise<void>;\n\tclear?(key: string): void | Promise<void>;\n}\n\nexport class MemoryItemSessionStorage implements ItemSessionStorageStrategy {\n\tprivate store = new Map<string, ItemSessionContainer>();\n\n\tload(key: string): ItemSessionContainer | null {\n\t\treturn this.store.get(key) ?? null;\n\t}\n\n\tsave(key: string, session: ItemSessionContainer): void {\n\t\tthis.store.set(key, session);\n\t}\n\n\tclear(key: string): void {\n\t\tthis.store.delete(key);\n\t}\n}\n\nexport class SessionStorageItemSessionStorage\n\timplements ItemSessionStorageStrategy\n{\n\tload(key: string): ItemSessionContainer | null {\n\t\tif (typeof window === \"undefined\") return null;\n\t\ttry {\n\t\t\tconst raw = window.sessionStorage.getItem(key);\n\t\t\tif (!raw) return null;\n\t\t\treturn JSON.parse(raw) as ItemSessionContainer;\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tsave(key: string, session: ItemSessionContainer): void {\n\t\tif (typeof window === \"undefined\") return;\n\t\ttry {\n\t\t\twindow.sessionStorage.setItem(key, JSON.stringify(session));\n\t\t} catch {}\n\t}\n\n\tclear(key: string): void {\n\t\tif (typeof window === \"undefined\") return;\n\t\ttry {\n\t\t\twindow.sessionStorage.removeItem(key);\n\t\t} catch {}\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item-controller.js","sourceRoot":"","sources":["../../src/pie/item-controller.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"item-controller.js","sourceRoot":"","sources":["../../src/pie/item-controller.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\tMemoryItemSessionStorage,\n\ttype ItemSessionContainer,\n\ttype ItemSessionStorageStrategy,\n} from \"./item-controller-storage.js\";\nimport {\n\thasResponseField,\n\thasResponseValue,\n\tnormalizeItemSessionContainer as normalizeSessionContainer,\n} from \"./item-session-contract.js\";\n\nexport type ItemControllerOptions = {\n\titemId: string;\n\tstorageKey?: string;\n\tsessionId?: string;\n\tinitialSession?: unknown;\n\tstorage?: ItemSessionStorageStrategy;\n};\n\ntype SetSessionOptions = {\n\tpersist?: boolean;\n\tallowMetadataOverwrite?: boolean;\n};\n\nconst DEFAULT_SESSION_ID = \"\";\n\nfunction cloneSession(session: ItemSessionContainer): ItemSessionContainer {\n\ttry {\n\t\treturn structuredClone(session);\n\t} catch {\n\t\treturn {\n\t\t\tid: session.id,\n\t\t\tdata: JSON.parse(JSON.stringify(session.data ?? [])),\n\t\t};\n\t}\n}\n\nexport class ItemController {\n\tprivate storage: ItemSessionStorageStrategy;\n\tprivate session: ItemSessionContainer;\n\tprivate storageKey: string;\n\tprivate sessionId: string;\n\n\tconstructor(options: ItemControllerOptions) {\n\t\tthis.storage = options.storage ?? new MemoryItemSessionStorage();\n\t\tthis.storageKey = options.storageKey ?? `pie:item-controller:v1:${options.itemId}`;\n\t\tthis.sessionId = options.sessionId ?? DEFAULT_SESSION_ID;\n\t\tthis.session = normalizeSessionContainer(options.initialSession, this.sessionId);\n\t}\n\n\tasync hydrate(): Promise<ItemSessionContainer> {\n\t\tconst loaded = await this.storage.load(this.storageKey);\n\t\tif (loaded) {\n\t\t\tthis.session = normalizeSessionContainer(loaded, this.sessionId);\n\t\t}\n\t\treturn this.getSession();\n\t}\n\n\tasync persist(): Promise<void> {\n\t\tawait this.storage.save(this.storageKey, this.session);\n\t}\n\n\tasync clearPersisted(): Promise<void> {\n\t\tawait this.storage.clear?.(this.storageKey);\n\t}\n\n\tgetSession(): ItemSessionContainer {\n\t\treturn cloneSession(this.session);\n\t}\n\n\tsetSession(input: unknown, options: SetSessionOptions = {}): ItemSessionContainer {\n\t\tconst next = normalizeSessionContainer(input, this.sessionId);\n\t\tconst allowMetadataOverwrite = options.allowMetadataOverwrite ?? false;\n\t\tif (\n\t\t\t!allowMetadataOverwrite &&\n\t\t\thasResponseValue(this.session) &&\n\t\t\t!hasResponseValue(next) &&\n\t\t\t!hasResponseField(next)\n\t\t) {\n\t\t\treturn this.getSession();\n\t\t}\n\t\tthis.session = next;\n\t\tif (options.persist !== false) {\n\t\t\tvoid this.persist();\n\t\t}\n\t\treturn this.getSession();\n\t}\n\n\tupdateFromEventDetail(\n\t\tdetail: unknown,\n\t\toptions: SetSessionOptions = {},\n\t): ItemSessionContainer {\n\t\tconst payload = (detail as any)?.session ?? detail;\n\t\treturn this.setSession(payload, options);\n\t}\n}\n\nexport const normalizeItemSessionContainer = normalizeSessionContainer;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item-session-contract.js","sourceRoot":"","sources":["../../src/pie/item-session-contract.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"item-session-contract.js","sourceRoot":"","sources":["../../src/pie/item-session-contract.ts"],"names":[],"mappings":"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","sourcesContent":["export type ItemSessionContainer = {\n\tid: string;\n\tdata: unknown[];\n};\n\nexport type ItemSessionUpdateIntent =\n\t| \"replace-item-session\"\n\t| \"merge-element-session\"\n\t| \"metadata-only\";\n\nexport type NormalizedItemSessionChange = {\n\titemId: string;\n\tsession: ItemSessionContainer | null;\n\tintent: ItemSessionUpdateIntent;\n\tcomponent?: string;\n\tcomplete?: boolean;\n};\n\nconst DEFAULT_SESSION_ID = \"\";\n\nfunction areSessionContainersEqual(\n\tleft: ItemSessionContainer | null,\n\tright: ItemSessionContainer | null,\n): boolean {\n\tif (!left && !right) return true;\n\tif (!left || !right) return false;\n\tif ((left.id || \"\") !== (right.id || \"\")) return false;\n\ttry {\n\t\treturn JSON.stringify(left.data || []) === JSON.stringify(right.data || []);\n\t} catch {\n\t\treturn false;\n\t}\n}\n\nexport function normalizeItemSessionContainer(\n\tinput: unknown,\n\tfallbackSessionId: string = DEFAULT_SESSION_ID,\n): ItemSessionContainer {\n\tif (input && typeof input === \"object\") {\n\t\tconst candidate = input as Record<string, unknown>;\n\t\tif (Array.isArray(candidate.data)) {\n\t\t\treturn {\n\t\t\t\tid:\n\t\t\t\t\ttypeof candidate.id === \"string\"\n\t\t\t\t\t\t? candidate.id\n\t\t\t\t\t\t: fallbackSessionId,\n\t\t\t\tdata: candidate.data,\n\t\t\t};\n\t\t}\n\t\tif (Array.isArray(input)) {\n\t\t\treturn { id: fallbackSessionId, data: input };\n\t\t}\n\t\treturn { id: fallbackSessionId, data: [input] };\n\t}\n\tif (Array.isArray(input)) {\n\t\treturn { id: fallbackSessionId, data: input };\n\t}\n\treturn { id: fallbackSessionId, data: [] };\n}\n\nexport function hasResponseValue(value: unknown): boolean {\n\tif (value == null) return false;\n\tif (Array.isArray(value)) return value.some((entry) => hasResponseValue(entry));\n\tif (typeof value !== \"object\") return false;\n\tfor (const [key, nested] of Object.entries(value as Record<string, unknown>)) {\n\t\tif (\n\t\t\tkey === \"value\" &&\n\t\t\tnested !== undefined &&\n\t\t\tnested !== null &&\n\t\t\t!(typeof nested === \"string\" && nested.trim() === \"\") &&\n\t\t\t!(Array.isArray(nested) && nested.length === 0)\n\t\t) {\n\t\t\treturn true;\n\t\t}\n\t\tif (hasResponseValue(nested)) return true;\n\t}\n\treturn false;\n}\n\nexport function hasResponseField(value: unknown): boolean {\n\tif (value == null) return false;\n\tif (Array.isArray(value)) return value.some((entry) => hasResponseField(entry));\n\tif (typeof value !== \"object\") return false;\n\tfor (const [key, nested] of Object.entries(value as Record<string, unknown>)) {\n\t\tif (key === \"value\") {\n\t\t\treturn true;\n\t\t}\n\t\tif (hasResponseField(nested)) return true;\n\t}\n\treturn false;\n}\n\nfunction mergeElementIntoSession(\n\titemId: string,\n\tpreviousItemSession: unknown,\n\tentryId: string,\n\tentry: Record<string, unknown>,\n): ItemSessionContainer {\n\tconst previous = normalizeItemSessionContainer(previousItemSession, itemId);\n\tconst nextData = [...previous.data];\n\tconst existingIndex = nextData.findIndex((candidate) => {\n\t\tif (!candidate || typeof candidate !== \"object\") return false;\n\t\treturn (candidate as Record<string, unknown>).id === entryId;\n\t});\n\tif (existingIndex >= 0) {\n\t\tconst existing = nextData[existingIndex];\n\t\tnextData[existingIndex] =\n\t\t\texisting && typeof existing === \"object\"\n\t\t\t\t? { ...(existing as Record<string, unknown>), ...entry }\n\t\t\t\t: entry;\n\t} else {\n\t\tnextData.push(entry);\n\t}\n\treturn {\n\t\tid: previous.id || itemId,\n\t\tdata: nextData,\n\t};\n}\n\nexport function normalizeItemSessionChange(args: {\n\titemId: string;\n\tsessionDetail: unknown;\n\tpreviousItemSession?: unknown;\n}): NormalizedItemSessionChange {\n\tconst sessionDetail = (args.sessionDetail || {}) as Record<string, unknown>;\n\tconst actualSession =\n\t\tsessionDetail && typeof sessionDetail === \"object\" && \"session\" in sessionDetail\n\t\t\t? sessionDetail.session\n\t\t\t: args.sessionDetail;\n\n\tconst safeItemId =\n\t\ttypeof args.itemId === \"string\" && args.itemId\n\t\t\t? args.itemId\n\t\t\t: typeof (actualSession as Record<string, unknown> | null)?.id === \"string\"\n\t\t\t\t? String((actualSession as Record<string, unknown>).id)\n\t\t\t\t: \"\";\n\n\tif (!actualSession || typeof actualSession !== \"object\") {\n\t\treturn {\n\t\t\titemId: safeItemId,\n\t\t\tsession: null,\n\t\t\tintent: \"metadata-only\",\n\t\t\tcomponent:\n\t\t\t\ttypeof sessionDetail.component === \"string\" ? sessionDetail.component : undefined,\n\t\t\tcomplete:\n\t\t\t\ttypeof sessionDetail.complete === \"boolean\" ? sessionDetail.complete : undefined,\n\t\t};\n\t}\n\n\tconst candidate = actualSession as Record<string, unknown>;\n\tif (Array.isArray(candidate.data)) {\n\t\tconst normalizedCandidate = normalizeItemSessionContainer(candidate, safeItemId);\n\t\tconst previousNormalized =\n\t\t\targs.previousItemSession !== undefined\n\t\t\t\t? normalizeItemSessionContainer(args.previousItemSession, safeItemId)\n\t\t\t\t: null;\n\t\tconst sessionDetailKeys = Object.keys(sessionDetail);\n\t\tconst metadataWithSessionOnly =\n\t\t\tsessionDetailKeys.length > 0 &&\n\t\t\tsessionDetailKeys.every(\n\t\t\t\t(key) =>\n\t\t\t\t\tkey === \"session\" ||\n\t\t\t\t\tkey === \"complete\" ||\n\t\t\t\t\tkey === \"component\" ||\n\t\t\t\t\tkey === \"timestamp\" ||\n\t\t\t\t\tkey === \"sourceRuntimeId\",\n\t\t\t);\n\t\tif (\n\t\t\tmetadataWithSessionOnly &&\n\t\t\tpreviousNormalized &&\n\t\t\tareSessionContainersEqual(normalizedCandidate, previousNormalized)\n\t\t) {\n\t\t\treturn {\n\t\t\t\titemId: safeItemId,\n\t\t\t\tsession: null,\n\t\t\t\tintent: \"metadata-only\",\n\t\t\t\tcomponent:\n\t\t\t\t\ttypeof sessionDetail.component === \"string\"\n\t\t\t\t\t\t? sessionDetail.component\n\t\t\t\t\t\t: undefined,\n\t\t\t\tcomplete:\n\t\t\t\t\ttypeof sessionDetail.complete === \"boolean\"\n\t\t\t\t\t\t? sessionDetail.complete\n\t\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\titemId: safeItemId,\n\t\t\tsession: normalizedCandidate,\n\t\t\tintent: \"replace-item-session\",\n\t\t\tcomponent:\n\t\t\t\ttypeof sessionDetail.component === \"string\" ? sessionDetail.component : undefined,\n\t\t\tcomplete:\n\t\t\t\ttypeof sessionDetail.complete === \"boolean\" ? sessionDetail.complete : undefined,\n\t\t};\n\t}\n\n\tconst candidateKeys = Object.keys(candidate);\n\tconst isMetadataOnlyPayload =\n\t\tcandidateKeys.length > 0 &&\n\t\tcandidateKeys.every(\n\t\t\t(key) =>\n\t\t\t\tkey === \"complete\" ||\n\t\t\t\tkey === \"component\" ||\n\t\t\t\tkey === \"timestamp\" ||\n\t\t\t\tkey === \"sourceRuntimeId\",\n\t\t);\n\tif (isMetadataOnlyPayload) {\n\t\treturn {\n\t\t\titemId: safeItemId,\n\t\t\tsession: null,\n\t\t\tintent: \"metadata-only\",\n\t\t\tcomponent:\n\t\t\t\ttypeof sessionDetail.component === \"string\" ? sessionDetail.component : undefined,\n\t\t\tcomplete:\n\t\t\t\ttypeof sessionDetail.complete === \"boolean\" ? sessionDetail.complete : undefined,\n\t\t};\n\t}\n\n\tconst component =\n\t\ttypeof sessionDetail.component === \"string\"\n\t\t\t? sessionDetail.component\n\t\t\t: typeof candidate.component === \"string\"\n\t\t\t\t? candidate.component\n\t\t\t\t: \"response\";\n\tconst elementEntryId =\n\t\ttypeof candidate.id === \"string\" && candidate.id ? candidate.id : component;\n\tconst merged = mergeElementIntoSession(\n\t\tsafeItemId,\n\t\targs.previousItemSession,\n\t\telementEntryId,\n\t\t{ id: elementEntryId, ...candidate },\n\t);\n\treturn {\n\t\titemId: safeItemId,\n\t\tsession: merged,\n\t\tintent: \"merge-element-session\",\n\t\tcomponent,\n\t\tcomplete:\n\t\t\ttypeof sessionDetail.complete === \"boolean\" ? sessionDetail.complete : undefined,\n\t};\n}\n"]}
|
package/dist/pie/logger.d.ts
CHANGED
package/dist/pie/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/pie/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AA4BH;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC9B,SAAiB,EACjB,cAA6B;IAE7B,MAAM,MAAM,GAAG,IAAI,SAAS,GAAG,CAAC;IAEhC,OAAO;QACN,mFAAmF;QACnF,KAAK,EAAE,CAAC,OAAe,EAAE,GAAG,IAAW,EAAE,EAAE;YAC1C,IAAI,cAAc,EAAE,EAAE,CAAC;gBACtB,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;YACzC,CAAC;QACF,CAAC;QAED,yDAAyD;QACzD,IAAI,EAAE,CAAC,OAAe,EAAE,GAAG,IAAW,EAAE,EAAE,CACzC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAEvC,IAAI,EAAE,CAAC,OAAe,EAAE,GAAG,IAAW,EAAE,EAAE,CACzC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAEvC,KAAK,EAAE,CAAC,OAAe,EAAE,GAAG,IAAW,EAAE,EAAE,CAC1C,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;KACxC,CAAC;AACH,CAAC;AAgBD;;GAEG;AACH,MAAM,UAAU,oBAAoB;IACnC,OAAO,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC;AACnE,CAAC"}
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/pie/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AA4BH;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC9B,SAAiB,EACjB,cAA6B;IAE7B,MAAM,MAAM,GAAG,IAAI,SAAS,GAAG,CAAC;IAEhC,OAAO;QACN,mFAAmF;QACnF,KAAK,EAAE,CAAC,OAAe,EAAE,GAAG,IAAW,EAAE,EAAE;YAC1C,IAAI,cAAc,EAAE,EAAE,CAAC;gBACtB,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;YACzC,CAAC;QACF,CAAC;QAED,yDAAyD;QACzD,IAAI,EAAE,CAAC,OAAe,EAAE,GAAG,IAAW,EAAE,EAAE,CACzC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAEvC,IAAI,EAAE,CAAC,OAAe,EAAE,GAAG,IAAW,EAAE,EAAE,CACzC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAEvC,KAAK,EAAE,CAAC,OAAe,EAAE,GAAG,IAAW,EAAE,EAAE,CAC1C,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;KACxC,CAAC;AACH,CAAC;AAgBD;;GAEG;AACH,MAAM,UAAU,oBAAoB;IACnC,OAAO,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC;AACnE,CAAC","sourcesContent":["/**\n * PIE Logger Utility\n *\n * Simple, efficient logging for PIE players with debug mode support.\n * Uses browser console methods (debug, info, warn, error) which can be\n * filtered natively in browser dev tools.\n *\n * Usage:\n * ```typescript\n * const logger = createPieLogger('pie-item-player', debug);\n * logger.debug('Detailed debug info', data); // Only shown if debug=true\n * logger.info('Important production info'); // Always shown\n * logger.warn('Warning message'); // Always shown\n * logger.error('Error occurred', error); // Always shown\n * ```\n */\n\nexport interface PieLogger {\n\t/**\n\t * Debug-level logging - only shown when debug mode is enabled\n\t * Use for: detailed initialization steps, data transformations, internal state\n\t */\n\tdebug: (message: string, ...args: any[]) => void;\n\n\t/**\n\t * Info-level logging - always shown\n\t * Use for: successful operations, lifecycle events, important milestones\n\t */\n\tinfo: (message: string, ...args: any[]) => void;\n\n\t/**\n\t * Warning-level logging - always shown\n\t * Use for: recoverable errors, deprecated features, potential issues\n\t */\n\twarn: (message: string, ...args: any[]) => void;\n\n\t/**\n\t * Error-level logging - always shown\n\t * Use for: errors, exceptions, failures\n\t */\n\terror: (message: string, ...args: any[]) => void;\n}\n\n/**\n * Create a PIE logger instance\n *\n * @param namespace - Component name for log prefixing (e.g., 'pie-item-player')\n * @param debugEnabledFn - Function that returns whether debug logs should be shown (checked dynamically on each call)\n * @returns Logger instance with debug, info, warn, error methods\n */\nexport function createPieLogger(\n\tnamespace: string,\n\tdebugEnabledFn: () => boolean,\n): PieLogger {\n\tconst prefix = `[${namespace}]`;\n\n\treturn {\n\t\t// Only debug method checks debugEnabledFn - it's checked dynamically on every call\n\t\tdebug: (message: string, ...args: any[]) => {\n\t\t\tif (debugEnabledFn()) {\n\t\t\t\tconsole.debug(prefix, message, ...args);\n\t\t\t}\n\t\t},\n\n\t\t// info, warn, error always log (not gated by debug flag)\n\t\tinfo: (message: string, ...args: any[]) =>\n\t\t\tconsole.info(prefix, message, ...args),\n\n\t\twarn: (message: string, ...args: any[]) =>\n\t\t\tconsole.warn(prefix, message, ...args),\n\n\t\terror: (message: string, ...args: any[]) =>\n\t\t\tconsole.error(prefix, message, ...args),\n\t};\n}\n\n/**\n * Global debug flag - can be set via window for runtime debugging\n *\n * Usage in browser console:\n * ```javascript\n * window.PIE_DEBUG = true; // Enable debug logging\n * ```\n */\ndeclare global {\n\tinterface Window {\n\t\tPIE_DEBUG?: boolean;\n\t}\n}\n\n/**\n * Check if debug mode is enabled globally\n */\nexport function isGlobalDebugEnabled(): boolean {\n\treturn typeof window !== \"undefined\" && window.PIE_DEBUG === true;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"math-rendering.js","sourceRoot":"","sources":["../../src/pie/math-rendering.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,sCAAsC;AACtC,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAUpE,MAAM,UAAU,GAAG,yBAAyB,CAAC;AAC7C,MAAM,cAAc,GAAG,8BAA8B,CAAC;AACtD,IAAI,WAAW,GAAyB,IAAI,CAAC;AAC7C,MAAM,MAAM,GAAG,eAAe,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,oBAAoB,EAAE,CAAC,CAAC;AAE/E,MAAM,iBAAiB,GAAG,GAA4B,EAAE;IACvD,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACb,CAAC;IACD,MAAM,QAAQ,GAAI,MAAc,CAAC,UAAU,CAAiC,CAAC;IAC7E,OAAO,QAAQ,IAAI,IAAI,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,QAA0B,EAAQ,EAAE;IAC9D,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO;IACzC,MAAc,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC;IACtC,MAAc,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC;AAC5C,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC5C,cAAiC;IAEjC,sBAAsB;IACtB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QACnC,OAAO;IACR,CAAC;IAED,iCAAiC;IACjC,IAAI,cAAc,EAAE,CAAC;QACpB,iBAAiB,CAAC,cAAc,CAAC,CAAC;QAClC,OAAO;IACR,CAAC;IAED,8BAA8B;IAC9B,IAAI,iBAAiB,EAAE,EAAE,CAAC;QACzB,OAAO;IACR,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QACjB,MAAM,WAAW,CAAC;QAClB,OAAO;IACR,CAAC;IAED,WAAW,GAAG,CAAC,KAAK,IAAI,EAAE;QACzB,IAAI,CAAC;YACJ,MAAM,EAAE,4BAA4B,EAAE,GAAG,MAAM,MAAM,CACpD,uCAAuC,CACvC,CAAC;YACF,iBAAiB,CAAC,4BAAgD,CAAC,CAAC;YAEpE,MAAM,CAAC,KAAK,CACX,sDAAsD,CACtD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;YAC5D,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC,CAAC,EAAE,CAAC;IACL,IAAI,CAAC;QACJ,MAAM,WAAW,CAAC;IACnB,CAAC;YAAS,CAAC;QACV,WAAW,GAAG,IAAI,CAAC;IACpB,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,eAAe,CAAC,QAA0B;IACzD,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CAAC,OAAoB;IAC9C,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;IACrC,IAAI,QAAQ,IAAI,OAAO,QAAQ,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QAC3D,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;AACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"math-rendering.js","sourceRoot":"","sources":["../../src/pie/math-rendering.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,sCAAsC;AACtC,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAUpE,MAAM,UAAU,GAAG,yBAAyB,CAAC;AAC7C,MAAM,cAAc,GAAG,8BAA8B,CAAC;AACtD,IAAI,WAAW,GAAyB,IAAI,CAAC;AAC7C,MAAM,MAAM,GAAG,eAAe,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,oBAAoB,EAAE,CAAC,CAAC;AAE/E,MAAM,iBAAiB,GAAG,GAA4B,EAAE;IACvD,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACb,CAAC;IACD,MAAM,QAAQ,GAAI,MAAc,CAAC,UAAU,CAAiC,CAAC;IAC7E,OAAO,QAAQ,IAAI,IAAI,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,QAA0B,EAAQ,EAAE;IAC9D,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO;IACzC,MAAc,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC;IACtC,MAAc,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC;AAC5C,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC5C,cAAiC;IAEjC,sBAAsB;IACtB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QACnC,OAAO;IACR,CAAC;IAED,iCAAiC;IACjC,IAAI,cAAc,EAAE,CAAC;QACpB,iBAAiB,CAAC,cAAc,CAAC,CAAC;QAClC,OAAO;IACR,CAAC;IAED,8BAA8B;IAC9B,IAAI,iBAAiB,EAAE,EAAE,CAAC;QACzB,OAAO;IACR,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QACjB,MAAM,WAAW,CAAC;QAClB,OAAO;IACR,CAAC;IAED,WAAW,GAAG,CAAC,KAAK,IAAI,EAAE;QACzB,IAAI,CAAC;YACJ,MAAM,EAAE,4BAA4B,EAAE,GAAG,MAAM,MAAM,CACpD,uCAAuC,CACvC,CAAC;YACF,iBAAiB,CAAC,4BAAgD,CAAC,CAAC;YAEpE,MAAM,CAAC,KAAK,CACX,sDAAsD,CACtD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;YAC5D,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC,CAAC,EAAE,CAAC;IACL,IAAI,CAAC;QACJ,MAAM,WAAW,CAAC;IACnB,CAAC;YAAS,CAAC;QACV,WAAW,GAAG,IAAI,CAAC;IACpB,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,eAAe,CAAC,QAA0B;IACzD,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CAAC,OAAoB;IAC9C,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;IACrC,IAAI,QAAQ,IAAI,OAAO,QAAQ,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QAC3D,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;AACF,CAAC","sourcesContent":["/**\n * Math rendering bootstrap for PIE players\n *\n * PIE elements expect @pie-lib/math-rendering to be available on window.\n * This module ensures required globals are populated from the upstream\n * @pie-lib/math-rendering-module package, and also supports overriding with\n * a custom renderer object when needed.\n */\n\n/// <reference path=\"../shims.d.ts\" />\nimport { createPieLogger, isGlobalDebugEnabled } from \"./logger.js\";\n\nexport type MathRenderer = (element: HTMLElement) => void | Promise<void>;\nexport interface MathRenderingAPI {\n\trenderMath: MathRenderer;\n\twrapMath?: (latex: string) => string;\n\tunWrapMath?: (wrapped: string) => string;\n\tmmlToLatex?: (mathml: string) => string;\n}\n\nconst GLOBAL_KEY = \"@pie-lib/math-rendering\";\nconst GLOBAL_DLL_KEY = \"_dll_pie_lib__math_rendering\";\nlet initPromise: Promise<void> | null = null;\nconst logger = createPieLogger(\"math-rendering\", () => isGlobalDebugEnabled());\n\nconst getWindowRenderer = (): MathRenderingAPI | null => {\n\tif (typeof window === \"undefined\") {\n\t\treturn null;\n\t}\n\tconst renderer = (window as any)[GLOBAL_KEY] as MathRenderingAPI | undefined;\n\treturn renderer || null;\n};\n\nconst setWindowRenderer = (renderer: MathRenderingAPI): void => {\n\tif (typeof window === \"undefined\") return;\n\t(window as any)[GLOBAL_KEY] = renderer;\n\t(window as any)[GLOBAL_DLL_KEY] = renderer;\n};\n\n/**\n * Initialize math rendering with optional custom renderer\n *\n * If no custom renderer is provided, defaults to MathJax.\n * For custom renderers, use setMathRenderer() before calling this function.\n *\n * Sets TWO window globals that PIE elements expect:\n * - window[\"@pie-lib/math-rendering\"] (standard key)\n * - window[\"_dll_pie_lib__math_rendering\"] (SystemJS/DLL key for IIFE bundles)\n *\n * @param customRenderer - Optional custom renderer to use instead of default MathJax\n *\n * @example\n * ```typescript\n * // Default MathJax\n * await initializeMathRendering();\n *\n * // Custom renderer instance implementing MathRenderingAPI\n * const customRenderer = await createCustomRenderer();\n * await initializeMathRendering(customRenderer);\n *\n * // Or use setMathRenderer first\n * setMathRenderer(katexRenderer);\n * await initializeMathRendering();\n * ```\n */\nexport async function initializeMathRendering(\n\tcustomRenderer?: MathRenderingAPI,\n): Promise<void> {\n\t// Only run in browser\n\tif (typeof window === \"undefined\") {\n\t\treturn;\n\t}\n\n\t// Explicit override always wins.\n\tif (customRenderer) {\n\t\tsetWindowRenderer(customRenderer);\n\t\treturn;\n\t}\n\n\t// Already initialized - skip.\n\tif (getWindowRenderer()) {\n\t\treturn;\n\t}\n\tif (initPromise) {\n\t\tawait initPromise;\n\t\treturn;\n\t}\n\n\tinitPromise = (async () => {\n\t\ttry {\n\t\t\tconst { _dll_pie_lib__math_rendering } = await import(\n\t\t\t\t\"@pie-lib/math-rendering-module/module\"\n\t\t\t);\n\t\t\tsetWindowRenderer(_dll_pie_lib__math_rendering as MathRenderingAPI);\n\n\t\t\tlogger.debug(\n\t\t\t\t\"Math rendering module initialized (both globals set)\",\n\t\t\t);\n\t\t} catch (error) {\n\t\t\tlogger.error(\"Failed to initialize math rendering:\", error);\n\t\t\tthrow error;\n\t\t}\n\t})();\n\ttry {\n\t\tawait initPromise;\n\t} finally {\n\t\tinitPromise = null;\n\t}\n}\n\n/**\n * Set custom math renderer programmatically\n *\n * Call this BEFORE initializeMathRendering() or any loader.load() calls\n * to override the default MathJax renderer.\n *\n * @param renderer - The renderer to use\n *\n * @example\n * ```typescript\n * import { setMathRenderer } from '@pie-players/pie-players-shared/pie';\n *\n * const renderer = await createCustomRenderer();\n * setMathRenderer(renderer);\n *\n * // Now load PIE elements - they'll use your custom renderer\n * await loader.load(config, document, needsControllers);\n * ```\n */\nexport function setMathRenderer(renderer: MathRenderingAPI): void {\n\tsetWindowRenderer(renderer);\n}\n\n/**\n * Render math in the given element\n *\n * Convenience wrapper that calls the active renderer's renderMath() function.\n * Typically called after PIE elements are rendered.\n *\n * @param element - The element to render math within\n */\nexport function renderMath(element: HTMLElement): void {\n\tconst renderer = getWindowRenderer();\n\tif (renderer && typeof renderer.renderMath === \"function\") {\n\t\trenderer.renderMath(element);\n\t}\n}\n"]}
|
package/dist/pie/overrides.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../src/pie/overrides.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG9C,MAAM,MAAM,GAAG,eAAe,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,oBAAoB,EAAE,CAAC,CAAC;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACpC,MAAW,EACX,gBAAkC;IAElC,IACC,CAAC,MAAM;QACP,CAAC,gBAAgB;QACjB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,KAAK,CAAC,EACzC,CAAC;QACF,OAAO,MAAM,CAAC;IACf,CAAC;IAED,kEAAkE;IAClE,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAExC,0CAA0C;IAC1C,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC7B,OAAO,aAAa,CAAC;IACtB,CAAC;IAED,wBAAwB;IACxB,KAAK,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACvE,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,8CAA8C;QAC9C,KAAK,MAAM,CAAC,UAAU,EAAE,mBAAmB,CAAC,IAAI,MAAM,CAAC,OAAO,CAC7D,aAAa,CAAC,QAAQ,CACtB,EAAE,CAAC;YACH,MAAM,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAEtD,IAAI,eAAe,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC;gBACJ,eAAe,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC;YAC5D,CAAC;YAAC,MAAM,CAAC;gBACR,MAAM,CAAC,KAAK,CACX,yCAAyC,iBAAiB,EAAE,CAC5D,CAAC;gBACF,SAAS;YACV,CAAC;YAED,IAAI,eAAe,KAAK,WAAW,EAAE,CAAC;gBACrC,OAAO,GAAG,IAAI,CAAC;gBAEf,sDAAsD;gBACtD,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBACrD,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACjC,MAAM,aAAa,GAAG,GAAG,eAAe,aAAa,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;gBAEzF,0BAA0B;gBAC1B,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,GAAG,WAAW,IAAI,OAAO,EAAE,CAAC;gBAEpE,6DAA6D;gBAC7D,IAAI,aAAa,KAAK,UAAU,EAAE,CAAC;oBAClC,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;wBAC1B,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,OAAO,CAC1D,IAAI,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,EAC3B,aAAa,CACb,CAAC;oBACH,CAAC;oBAED,sEAAsE;oBACtE,OAAO,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAC3C,CAAC;YACF,CAAC;QACF,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,CAAC,KAAK,CAAC,yCAAyC,WAAW,EAAE,CAAC,CAAC;QACtE,CAAC;IACF,CAAC;IAED,OAAO,aAAa,CAAC;AACtB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,wCAAwC,CACvD,MAAW,EACX,gBAAkC;IAElC,IACC,CAAC,MAAM;QACP,CAAC,gBAAgB;QACjB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,KAAK,CAAC,EACzC,CAAC;QACF,OAAO,MAAM,CAAC;IACf,CAAC;IAED,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,CAAC,aAAa,CAAC,QAAQ,IAAI,OAAO,aAAa,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC3E,OAAO,aAAa,CAAC;IACtB,CAAC;IAED,KAAK,MAAM,CAAC,UAAU,EAAE,mBAAmB,CAAC,IAAI,MAAM,CAAC,OAAO,CAC7D,aAAa,CAAC,QAAQ,CACtB,EAAE,CAAC;QACH,MAAM,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACtD,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;YACnD,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,WAAW;gBAAE,SAAS;YAC3B,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI;gBAC9B,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE;gBACjC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,GAAG,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACrF,CAAC;QAAC,MAAM,CAAC;YACR,MAAM,CAAC,KAAK,CACX,yCAAyC,iBAAiB,EAAE,CAC5D,CAAC;QACH,CAAC;IACF,CAAC;IAED,OAAO,aAAa,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CAC3C,YAA6B;IAE7B,MAAM,SAAS,GAAqB,EAAE,CAAC;IAEvC,0EAA0E;IAC1E,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;QACnD,IAAI,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3D,qDAAqD;YACrD,MAAM,WAAW,GAAG,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAEtD,0DAA0D;YAC1D,MAAM,qBAAqB,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC;gBACxD,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC;YACrB,SAAS,CAAC,qBAAqB,CAAC,GAAG,KAAK,CAAC;QAC1C,CAAC;IACF,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mCAAmC;IAClD,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QACnC,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,4BAA4B,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACzC,WAAmB,EACnB,OAAe;IAEf,qEAAqE;IACrE,MAAM,qBAAqB,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC;QACxD,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1B,CAAC,CAAC,WAAW,CAAC;IACf,OAAO,iBAAiB,qBAAqB,KAAK,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;AACjF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACvC,GAAQ,EACR,WAAmB,EACnB,OAAe;IAEf,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAE/C,6CAA6C;IAC7C,MAAM,qBAAqB,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC;QACxD,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1B,CAAC,CAAC,WAAW,CAAC;IAEf,uBAAuB;IACvB,MAAM,CAAC,GAAG,CAAC,iBAAiB,qBAAqB,GAAG,EAAE,OAAO,CAAC,CAAC;IAE/D,qBAAqB;IACrB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAClC,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAkB;IACpD,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QACpD,OAAO;YACN,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,SAAS;YACpC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,MAAM,CAAC,IAAI;SACxD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACR,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAC7B,OAAO;YACN,IAAI,EAAE,CAAC;YACP,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC;SACpC,CAAC;IACH,CAAC;AACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../src/pie/overrides.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * PIE element override helpers.\n *\n * Used to:\n * - parse overrides from URL params\n * - apply overrides to a PIE config (server-side or client-side)\n * - build URLs/params for sharing override state\n */\n\nimport { cloneDeep } from \"../object/index.js\";\nimport { createPieLogger, isGlobalDebugEnabled } from \"./logger.js\";\nimport { parsePackageName } from \"./utils.js\";\n\nexport type ElementOverrides = Record<string, string>;\nconst logger = createPieLogger(\"pie-overrides\", () => isGlobalDebugEnabled());\n\n/**\n * Apply element overrides to a PIE config\n * @param config The original PIE config\n * @param elementOverrides Map of element packages to override versions\n * @returns Updated config with overridden elements\n */\nexport function applyElementOverrides(\n\tconfig: any,\n\telementOverrides: ElementOverrides,\n) {\n\tif (\n\t\t!config ||\n\t\t!elementOverrides ||\n\t\tObject.keys(elementOverrides).length === 0\n\t) {\n\t\treturn config;\n\t}\n\n\t// Create a deep copy of the config to avoid mutating the original\n\tconst updatedConfig = cloneDeep(config);\n\n\t// Check if there are elements to override\n\tif (!updatedConfig.elements) {\n\t\treturn updatedConfig;\n\t}\n\n\t// Process each override\n\tfor (const [packageName, version] of Object.entries(elementOverrides)) {\n\t\tlet matched = false;\n\n\t\t// Find the element key that uses this package\n\t\tfor (const [elementKey, elementPackageValue] of Object.entries(\n\t\t\tupdatedConfig.elements,\n\t\t)) {\n\t\t\tconst elementPackageStr = String(elementPackageValue);\n\n\t\t\tlet basePackageName = \"\";\n\t\t\ttry {\n\t\t\t\tbasePackageName = parsePackageName(elementPackageStr).name;\n\t\t\t} catch {\n\t\t\t\tlogger.debug(\n\t\t\t\t\t`Couldn't parse element package value: ${elementPackageStr}`,\n\t\t\t\t);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (basePackageName === packageName) {\n\t\t\t\tmatched = true;\n\n\t\t\t\t// Create a new element key with the specified version\n\t\t\t\tconst versionNumber = String(version).replace(/[^0-9.-]/g, \"\");\n\t\t\t\tconst parts = String(elementKey).split(\"--version-\");\n\t\t\t\tconst baseElementName = parts[0];\n\t\t\t\tconst newElementKey = `${baseElementName}--version-${versionNumber.replace(/\\./g, \"-\")}`;\n\n\t\t\t\t// Update the elements map\n\t\t\t\tupdatedConfig.elements[newElementKey] = `${packageName}@${version}`;\n\n\t\t\t\t// If the key changed, update markup to reference the new key\n\t\t\t\tif (newElementKey !== elementKey) {\n\t\t\t\t\tif (updatedConfig.markup) {\n\t\t\t\t\t\tupdatedConfig.markup = String(updatedConfig.markup).replace(\n\t\t\t\t\t\t\tnew RegExp(elementKey, \"g\"),\n\t\t\t\t\t\t\tnewElementKey,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Remove the old element if we created a new one with a different key\n\t\t\t\t\tdelete updatedConfig.elements[elementKey];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (!matched) {\n\t\t\tlogger.debug(`No matching element found for package ${packageName}`);\n\t\t}\n\t}\n\n\treturn updatedConfig;\n}\n\n/**\n * Apply element version overrides without renaming custom element tags.\n *\n * Unlike `applyElementOverrides`, this helper keeps `config.markup` and\n * `config.elements` keys intact and only updates each matching element package\n * value to the requested version. This is intended for unified `pie-item-player`\n * flows where stable tag names are required.\n */\nexport function applyElementVersionOverridesPreserveTags(\n\tconfig: any,\n\telementOverrides: ElementOverrides,\n) {\n\tif (\n\t\t!config ||\n\t\t!elementOverrides ||\n\t\tObject.keys(elementOverrides).length === 0\n\t) {\n\t\treturn config;\n\t}\n\n\tconst updatedConfig = cloneDeep(config);\n\tif (!updatedConfig.elements || typeof updatedConfig.elements !== \"object\") {\n\t\treturn updatedConfig;\n\t}\n\n\tfor (const [elementKey, elementPackageValue] of Object.entries(\n\t\tupdatedConfig.elements,\n\t)) {\n\t\tconst elementPackageStr = String(elementPackageValue);\n\t\ttry {\n\t\t\tconst parsed = parsePackageName(elementPackageStr);\n\t\t\tconst nextVersion = elementOverrides[parsed.name];\n\t\t\tif (!nextVersion) continue;\n\t\t\tconst packageBase = parsed.path\n\t\t\t\t? `${parsed.name}/${parsed.path}`\n\t\t\t\t: parsed.name;\n\t\t\tupdatedConfig.elements[elementKey] = `${packageBase}@${String(nextVersion).trim()}`;\n\t\t} catch {\n\t\t\tlogger.debug(\n\t\t\t\t`Couldn't parse element package value: ${elementPackageStr}`,\n\t\t\t);\n\t\t}\n\t}\n\n\treturn updatedConfig;\n}\n\n/**\n * Parse element overrides from URL search params.\n * @returns Map of element package names to versions\n */\nexport function parseElementOverridesFromUrl(\n\tsearchParams: URLSearchParams,\n): ElementOverrides {\n\tconst overrides: ElementOverrides = {};\n\n\t// Look for parameters with the pattern pie-overrides[packageName]=version\n\tfor (const [key, value] of searchParams.entries()) {\n\t\tif (key.startsWith(\"pie-overrides[\") && key.endsWith(\"]\")) {\n\t\t\t// Extract the package name from between the brackets\n\t\t\tconst packageName = key.substring(14, key.length - 1);\n\n\t\t\t// Ensure the package name format is correct (including @)\n\t\t\tconst normalizedPackageName = packageName.startsWith(\"@\")\n\t\t\t\t? packageName\n\t\t\t\t: `@${packageName}`;\n\t\t\toverrides[normalizedPackageName] = value;\n\t\t}\n\t}\n\n\treturn overrides;\n}\n\n/**\n * Parse element overrides from current window URL (client-only).\n */\nexport function parseElementOverridesFromCurrentUrl(): ElementOverrides {\n\tif (typeof window === \"undefined\") {\n\t\treturn {};\n\t}\n\n\tconst url = new URL(window.location.href);\n\treturn parseElementOverridesFromUrl(url.searchParams);\n}\n\n/**\n * Generate a URL parameter string for an element override\n */\nexport function formatElementOverrideParam(\n\tpackageName: string,\n\tversion: string,\n): string {\n\t// Normalize the package name for the parameter key (strip leading @)\n\tconst normalizedPackageName = packageName.startsWith(\"@\")\n\t\t? packageName.substring(1)\n\t\t: packageName;\n\treturn `pie-overrides[${normalizedPackageName}]=${encodeURIComponent(version)}`;\n}\n\n/**\n * Creates a URL that preserves existing overrides and adds or updates a new one.\n */\nexport function addOrUpdateOverrideInUrl(\n\turl: URL,\n\tpackageName: string,\n\tversion: string,\n): string {\n\tconst params = new URLSearchParams(url.search);\n\n\t// Remove @ if present for consistency in URL\n\tconst normalizedPackageName = packageName.startsWith(\"@\")\n\t\t? packageName.substring(1)\n\t\t: packageName;\n\n\t// Set the new override\n\tparams.set(`pie-overrides[${normalizedPackageName}]`, version);\n\n\t// Create the new URL\n\tconst newUrl = new URL(url.pathname, url.origin);\n\tnewUrl.search = params.toString();\n\treturn newUrl.toString();\n}\n\n/**\n * Extract package information from a package string.\n * Intended for UI display.\n */\nexport function extractPackageInfo(packageStr: string) {\n\ttry {\n\t\tconst parsed = parsePackageName(String(packageStr));\n\t\treturn {\n\t\t\tname: parsed.name,\n\t\t\tversion: parsed.version || \"unknown\",\n\t\t\tdisplayName: parsed.name.split(\"/\").pop() || parsed.name,\n\t\t};\n\t} catch {\n\t\tconst s = String(packageStr);\n\t\treturn {\n\t\t\tname: s,\n\t\t\tversion: \"unknown\",\n\t\t\tdisplayName: s.split(\"/\").pop() || s,\n\t\t};\n\t}\n}\n"]}
|
|
@@ -52,4 +52,3 @@ export declare function buildApiParams(env: any, addCorrectResponse: boolean): U
|
|
|
52
52
|
* Shared by preloaded/static player entrypoints.
|
|
53
53
|
*/
|
|
54
54
|
export declare function fetchItemData(apiBaseUrl: string, itemId: string, token: string, endpoint: "packaged" | "data-only", env: any, addCorrectResponse: boolean, signal?: AbortSignal): Promise<any>;
|
|
55
|
-
//# sourceMappingURL=player-initializer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"player-initializer.js","sourceRoot":"","sources":["../../src/pie/player-initializer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"player-initializer.js","sourceRoot":"","sources":["../../src/pie/player-initializer.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Shared PIE player initialization logic\n * Used by preloaded static player runtimes\n */\n\nexport interface PiePlayerConfig {\n\tenv: any;\n\taddCorrectResponse: boolean;\n\tsession: any[];\n\texternalStyleUrls?: string;\n\tcustomClassName?: string;\n\tcontainerClass?: string;\n\tpassageContainerClass?: string;\n}\n\nexport interface ItemData {\n\titem: {\n\t\tconfig: any;\n\t};\n\tpassage?: {\n\t\tconfig: {\n\t\t\tmarkup?: string;\n\t\t};\n\t};\n}\n\nexport interface PiePlayerElements {\n\tplayerEl: HTMLElement;\n\tpassageMarkup: string | null;\n}\n\n/**\n * Initialize PIE player with item data\n * Shared initialization for preloaded/static player entrypoints.\n */\nexport async function initializePiePlayer(\n\titemData: ItemData,\n\tconfig: PiePlayerConfig,\n\telements: PiePlayerElements,\n): Promise<void> {\n\tconst { playerEl } = elements;\n\n\tif (!itemData.item?.config || !playerEl) {\n\t\tthrow new Error(\"Missing item config or player element\");\n\t}\n\n\t// Ensure pie-player is loaded\n\tawait ensurePiePlayerLoaded();\n\n\tconst defaultEnv = config.env || { mode: \"evaluate\", role: \"instructor\" };\n\n\t// Configure player element\n\t(playerEl as any).config = itemData.item.config;\n\t(playerEl as any).env = defaultEnv;\n\n\tconst shouldShowCorrect = !!(\n\t\tconfig.addCorrectResponse ||\n\t\t(defaultEnv.mode === \"evaluate\" && defaultEnv.role === \"instructor\")\n\t);\n\t(playerEl as any).addCorrectResponse = shouldShowCorrect;\n\n\t// Forward additional properties\n\t(playerEl as any).session = {\n\t\tid: \"\",\n\t\tdata: Array.isArray(config.session) ? config.session : [],\n\t};\n\n\tif (config.externalStyleUrls) {\n\t\t(playerEl as any).externalStyleUrls = config.externalStyleUrls;\n\t}\n\tif (config.customClassName) {\n\t\t(playerEl as any).customClassName = config.customClassName;\n\t}\n\tif (config.containerClass) {\n\t\t(playerEl as any).containerClass = config.containerClass;\n\t}\n\tif (config.passageContainerClass) {\n\t\t(playerEl as any).passageContainerClass = config.passageContainerClass;\n\t}\n}\n\n/**\n * Extract passage markup from item data\n */\nexport function extractPassageMarkup(itemData: ItemData): string | null {\n\treturn itemData.passage?.config?.markup || null;\n}\n\n/**\n * Ensure pie-player web component is loaded\n */\nexport async function ensurePiePlayerLoaded(): Promise<void> {\n\tif (customElements.get(\"pie-player\")) return;\n\n\tconst url =\n\t\t\"https://cdn.jsdelivr.net/npm/@pie-players/pie-player-components@latest/dist/pie-player-components/pie-player-components.esm.js\";\n\n\tawait new Promise<void>((resolve, reject) => {\n\t\tconst existing = document.querySelector(\n\t\t\t\"script[data-pie-player]\",\n\t\t) as HTMLScriptElement | null;\n\t\tif (existing) {\n\t\t\texisting.addEventListener(\"load\", () => resolve());\n\t\t\texisting.addEventListener(\"error\", () =>\n\t\t\t\treject(new Error(\"failed to load pie-player\")),\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst s = document.createElement(\"script\");\n\t\ts.type = \"module\";\n\t\ts.dataset.piePlayer = \"true\";\n\t\ts.src = url;\n\t\ts.addEventListener(\"load\", () => resolve());\n\t\ts.addEventListener(\"error\", () =>\n\t\t\treject(new Error(\"failed to load pie-player\")),\n\t\t);\n\t\tdocument.head.appendChild(s);\n\t});\n\n\tawait customElements.whenDefined(\"pie-player\");\n}\n\n/**\n * Build event listeners map for PIE elements\n */\nexport function buildEventListenersMap(\n\tconfig: any,\n\tonSessionChanged: (detail: any) => void,\n): Record<string, Record<string, (e: CustomEvent) => void>> | undefined {\n\tif (!config?.elements) return undefined;\n\n\tconst listeners: Record<\n\t\tstring,\n\t\tRecord<string, (e: CustomEvent) => void>\n\t> = {};\n\tObject.keys(config.elements).forEach((elName) => {\n\t\tlisteners[elName] = {\n\t\t\t\"session-changed\": (e: CustomEvent) => onSessionChanged(e.detail),\n\t\t};\n\t});\n\treturn listeners;\n}\n\n/**\n * Build URL parameters for API request\n * Shared by preloaded/static player entrypoints.\n */\nexport function buildApiParams(\n\tenv: any,\n\taddCorrectResponse: boolean,\n): URLSearchParams {\n\tconst params = new URLSearchParams();\n\tif (env && typeof env === \"object\") {\n\t\tif (env.mode) params.set(\"mode\", String(env.mode));\n\t\tif (env.role) params.set(\"role\", String(env.role));\n\t}\n\tif (addCorrectResponse) params.set(\"addCorrectResponse\", \"true\");\n\treturn params;\n}\n\n/**\n * Fetch item data from API\n * Shared by preloaded/static player entrypoints.\n */\nexport async function fetchItemData(\n\tapiBaseUrl: string,\n\titemId: string,\n\ttoken: string,\n\tendpoint: \"packaged\" | \"data-only\",\n\tenv: any,\n\taddCorrectResponse: boolean,\n\tsignal?: AbortSignal,\n): Promise<any> {\n\tif (typeof window === \"undefined\" || typeof document === \"undefined\") {\n\t\tthrow new Error(\"PIE initialization must run in browser\");\n\t}\n\n\tconst params = buildApiParams(env, addCorrectResponse);\n\tconst apiUrl = `${apiBaseUrl}/api/item/${itemId}/${endpoint}${params.toString() ? `?${params.toString()}` : \"\"}`;\n\n\tconst response = await fetch(apiUrl, {\n\t\theaders: {\n\t\t\tAuthorization: `Bearer ${token}`,\n\t\t\tAccept: \"application/json\",\n\t\t},\n\t\tsignal,\n\t});\n\n\tif (!response.ok) {\n\t\tthrow new Error(`Failed to fetch item data: ${response.statusText}`);\n\t}\n\n\treturn await response.json();\n}\n"]}
|