@pie-players/pie-assessment-toolkit 0.2.10 → 0.2.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/ItemToolBar.custom-element.js +12 -5
- package/dist/components/PieAssessmentToolkit.custom-element.js +75 -8
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/runtime/SectionRuntimeEngine.d.ts +56 -0
- package/dist/runtime/SectionRuntimeEngine.d.ts.map +1 -1
- package/dist/runtime/SectionRuntimeEngine.js +23 -0
- package/dist/runtime/SectionRuntimeEngine.js.map +1 -1
- package/dist/runtime/registration-events.d.ts +19 -0
- package/dist/runtime/registration-events.d.ts.map +1 -1
- package/dist/runtime/registration-events.js +3 -0
- package/dist/runtime/registration-events.js.map +1 -1
- package/dist/runtime/runtime-event-guards.d.ts +0 -1
- package/dist/runtime/runtime-event-guards.d.ts.map +1 -1
- package/dist/runtime/runtime-event-guards.js +0 -5
- package/dist/runtime/runtime-event-guards.js.map +1 -1
- package/dist/runtime/session-event-emitter-policy.d.ts +12 -0
- package/dist/runtime/session-event-emitter-policy.d.ts.map +1 -0
- package/dist/runtime/session-event-emitter-policy.js +57 -0
- package/dist/runtime/session-event-emitter-policy.js.map +1 -0
- package/dist/services/ToolRegistry.d.ts +26 -0
- package/dist/services/ToolRegistry.d.ts.map +1 -1
- package/dist/services/ToolRegistry.js +20 -0
- package/dist/services/ToolRegistry.js.map +1 -1
- package/dist/services/ToolkitCoordinator.d.ts +13 -0
- package/dist/services/ToolkitCoordinator.d.ts.map +1 -1
- package/dist/services/ToolkitCoordinator.js +97 -0
- package/dist/services/ToolkitCoordinator.js.map +1 -1
- package/dist/services/interfaces.d.ts +6 -1
- package/dist/services/interfaces.d.ts.map +1 -1
- package/dist/services/interfaces.js.map +1 -1
- package/dist/tools/registrations/accessibility-tools.d.ts.map +1 -1
- package/dist/tools/registrations/accessibility-tools.js +2 -0
- package/dist/tools/registrations/accessibility-tools.js.map +1 -1
- package/dist/tools/registrations/interaction-tools.d.ts.map +1 -1
- package/dist/tools/registrations/interaction-tools.js +1 -0
- package/dist/tools/registrations/interaction-tools.js.map +1 -1
- package/package.json +8 -8
- package/src/components/ItemToolBar.svelte +21 -5
- package/src/components/PieAssessmentToolkit.svelte +81 -10
|
@@ -129,21 +129,26 @@ export default function ItemToolBar($$anchor, $$props) {
|
|
|
129
129
|
return $.get(effectiveToolRegistry).normalizeToolIds(resolved).filter(Boolean);
|
|
130
130
|
});
|
|
131
131
|
|
|
132
|
+
const providerConfig = $.derived(() => $.get(effectiveToolsConfig)?.providers || {});
|
|
133
|
+
const isProviderEnabled = (toolId) => $.get(providerConfig)[toolId]?.enabled !== false;
|
|
134
|
+
|
|
132
135
|
// Pass 1: determine allowed tools
|
|
133
136
|
const allowedToolIds = $.derived(() => {
|
|
134
137
|
const configuredTools = $.get(normalizedExplicitTools).length > 0
|
|
135
138
|
? $.get(normalizedExplicitTools)
|
|
136
139
|
: $.get(placementAllowedToolIds);
|
|
137
140
|
|
|
141
|
+
const providerEnabledConfiguredTools = configuredTools.filter((toolId) => isProviderEnabled(toolId));
|
|
142
|
+
|
|
138
143
|
if (pnpResolver() && assessment() && itemRef()) {
|
|
139
144
|
const allowedByPnp = pnpResolver().getAllowedToolIds(assessment(), itemRef());
|
|
140
145
|
|
|
141
|
-
if (
|
|
146
|
+
if (providerEnabledConfiguredTools.length === 0) return allowedByPnp;
|
|
142
147
|
|
|
143
|
-
return allowedByPnp.filter((toolId) =>
|
|
148
|
+
return allowedByPnp.filter((toolId) => providerEnabledConfiguredTools.includes(toolId));
|
|
144
149
|
}
|
|
145
150
|
|
|
146
|
-
return
|
|
151
|
+
return providerEnabledConfiguredTools;
|
|
147
152
|
});
|
|
148
153
|
|
|
149
154
|
const contentReady = $.derived(() => {
|
|
@@ -256,6 +261,8 @@ export default function ItemToolBar($$anchor, $$props) {
|
|
|
256
261
|
return Array.from(visible);
|
|
257
262
|
});
|
|
258
263
|
|
|
264
|
+
const toolbarVisibleToolIds = $.derived(() => $.get(effectiveToolRegistry).filterToolIdsByActivation($.get(visibleToolIds), 'toolbar-toggle'));
|
|
265
|
+
|
|
259
266
|
// Dynamically load whatever tools are currently visible.
|
|
260
267
|
// The registry owns module loader configuration by toolId.
|
|
261
268
|
$.user_effect(() => {
|
|
@@ -263,7 +270,7 @@ export default function ItemToolBar($$anchor, $$props) {
|
|
|
263
270
|
|
|
264
271
|
let cancelled = false;
|
|
265
272
|
|
|
266
|
-
void $.get(effectiveToolRegistry).ensureToolModulesLoaded($.get(
|
|
273
|
+
void $.get(effectiveToolRegistry).ensureToolModulesLoaded($.get(toolbarVisibleToolIds)).then(() => {
|
|
267
274
|
if (!cancelled) $.set(moduleLoadVersion, $.get(moduleLoadVersion) + 1);
|
|
268
275
|
}).catch((error) => {
|
|
269
276
|
console.error('[ItemToolBar] Failed to load one or more tool modules:', error);
|
|
@@ -351,7 +358,7 @@ export default function ItemToolBar($$anchor, $$props) {
|
|
|
351
358
|
|
|
352
359
|
const rendered = [];
|
|
353
360
|
|
|
354
|
-
for (const toolId of $.get(
|
|
361
|
+
for (const toolId of $.get(toolbarVisibleToolIds)) {
|
|
355
362
|
const result = $.get(effectiveToolRegistry).renderForToolbar(toolId, $.get(renderContext), $.get(toolbarContext));
|
|
356
363
|
|
|
357
364
|
if (result) {
|
|
@@ -12,14 +12,22 @@ import { connectAssessmentToolkitHostRuntimeContext } from "../context/runtime-c
|
|
|
12
12
|
import { ToolkitCoordinator } from "../services/ToolkitCoordinator.js";
|
|
13
13
|
|
|
14
14
|
import {
|
|
15
|
-
|
|
15
|
+
PIE_INTERNAL_CONTENT_LOADED_EVENT,
|
|
16
|
+
PIE_INTERNAL_ITEM_SESSION_CHANGED_EVENT,
|
|
17
|
+
PIE_INTERNAL_ITEM_PLAYER_ERROR_EVENT,
|
|
16
18
|
PIE_REGISTER_EVENT,
|
|
17
19
|
PIE_UNREGISTER_EVENT
|
|
18
20
|
} from "../runtime/registration-events.js";
|
|
19
21
|
|
|
20
22
|
import { dispatchCrossBoundaryEvent } from "../runtime/tool-host-contract.js";
|
|
21
23
|
import { SectionRuntimeEngine } from "../runtime/SectionRuntimeEngine.js";
|
|
22
|
-
import { createRuntimeId
|
|
24
|
+
import { createRuntimeId } from "../runtime/runtime-event-guards.js";
|
|
25
|
+
|
|
26
|
+
import {
|
|
27
|
+
createSessionEmitPolicyState,
|
|
28
|
+
resetSessionEmitPolicyState,
|
|
29
|
+
shouldEmitCanonicalSessionEvent
|
|
30
|
+
} from "../runtime/session-event-emitter-policy.js";
|
|
23
31
|
|
|
24
32
|
var root = $.from_html(`<div class="pie-assessment-toolkit-anchor svelte-vpe4u2" aria-hidden="true"></div> <!>`, 1);
|
|
25
33
|
|
|
@@ -73,6 +81,7 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
|
|
|
73
81
|
let pendingCompositionModel = null;
|
|
74
82
|
let pendingCompositionEmit = false;
|
|
75
83
|
let compositionEmitRaf = null;
|
|
84
|
+
const sessionEmitPolicyState = createSessionEmitPolicyState();
|
|
76
85
|
|
|
77
86
|
function getHostElement() {
|
|
78
87
|
if (!$.get(anchor)) return null;
|
|
@@ -316,12 +325,18 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
|
|
|
316
325
|
function emitNormalizedSessionChanged(args) {
|
|
317
326
|
const normalized = args.result?.eventDetail || args.fallbackSession;
|
|
318
327
|
|
|
319
|
-
|
|
328
|
+
const payload = {
|
|
320
329
|
...normalized,
|
|
321
330
|
itemId: args.itemId,
|
|
322
331
|
canonicalItemId: args.canonicalItemId || args.itemId,
|
|
323
332
|
sourceRuntimeId: runtimeId
|
|
324
|
-
}
|
|
333
|
+
};
|
|
334
|
+
|
|
335
|
+
if (!shouldEmitCanonicalSessionEvent({ state: sessionEmitPolicyState, itemId: args.itemId, payload })) {
|
|
336
|
+
return;
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
emit("session-changed", payload);
|
|
325
340
|
}
|
|
326
341
|
|
|
327
342
|
function isLocalToCurrentRuntime(eventTarget) {
|
|
@@ -360,6 +375,15 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
|
|
|
360
375
|
}
|
|
361
376
|
});
|
|
362
377
|
|
|
378
|
+
$.user_effect(() => {
|
|
379
|
+
const currentSectionId = $.get(effectiveSectionId);
|
|
380
|
+
const currentAttemptId = attemptId() || "";
|
|
381
|
+
|
|
382
|
+
void currentSectionId;
|
|
383
|
+
void currentAttemptId;
|
|
384
|
+
resetSessionEmitPolicyState(sessionEmitPolicyState);
|
|
385
|
+
});
|
|
386
|
+
|
|
363
387
|
$.user_effect(() => {
|
|
364
388
|
if (!$.get(host) || !$.get(hostRuntimeContextValue)) return;
|
|
365
389
|
|
|
@@ -453,6 +477,7 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
|
|
|
453
477
|
emit("section-ready", { sectionId: $.get(effectiveSectionId) });
|
|
454
478
|
}).catch((error) => {
|
|
455
479
|
$.set(runtimeError, error, true);
|
|
480
|
+
sectionEngine.reportSectionError({ source: "section-runtime", error, timestamp: Date.now() });
|
|
456
481
|
emit("runtime-error", { runtimeId, error });
|
|
457
482
|
});
|
|
458
483
|
|
|
@@ -475,6 +500,8 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
|
|
|
475
500
|
|
|
476
501
|
const changed = sectionEngine.register(detail);
|
|
477
502
|
|
|
503
|
+
sectionEngine.handleContentRegistered(detail);
|
|
504
|
+
|
|
478
505
|
if (changed) emitCompositionChanged();
|
|
479
506
|
};
|
|
480
507
|
|
|
@@ -482,8 +509,13 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
|
|
|
482
509
|
if (!isLocalToCurrentRuntime(event.target)) return;
|
|
483
510
|
|
|
484
511
|
const detail = event.detail;
|
|
512
|
+
|
|
513
|
+
if (!detail?.itemId) return;
|
|
514
|
+
|
|
485
515
|
const changed = detail?.element ? sectionEngine.unregister(detail.element) : false;
|
|
486
516
|
|
|
517
|
+
sectionEngine.handleContentUnregistered(detail);
|
|
518
|
+
|
|
487
519
|
if (changed) emitCompositionChanged();
|
|
488
520
|
};
|
|
489
521
|
|
|
@@ -493,26 +525,61 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
|
|
|
493
525
|
const detail = event.detail;
|
|
494
526
|
|
|
495
527
|
if (!detail?.itemId) return;
|
|
496
|
-
if (!shouldHandleBySourceRuntime(detail.sourceRuntimeId, runtimeId)) return;
|
|
497
528
|
|
|
498
529
|
const result = sectionEngine.handleItemSessionChanged(detail.itemId, detail.session);
|
|
499
530
|
|
|
500
531
|
emitNormalizedSessionChanged({
|
|
501
532
|
itemId: detail.itemId,
|
|
502
|
-
canonicalItemId: detail.
|
|
533
|
+
canonicalItemId: sectionEngine.getCanonicalItemId(detail.itemId),
|
|
503
534
|
result,
|
|
504
535
|
fallbackSession: detail.session
|
|
505
536
|
});
|
|
506
537
|
};
|
|
507
538
|
|
|
539
|
+
const onContentLoaded = (event) => {
|
|
540
|
+
if (!isLocalToCurrentRuntime(event.target)) return;
|
|
541
|
+
|
|
542
|
+
const detail = event.detail;
|
|
543
|
+
|
|
544
|
+
if (!detail?.itemId) return;
|
|
545
|
+
|
|
546
|
+
sectionEngine.handleContentLoaded({
|
|
547
|
+
itemId: detail.itemId,
|
|
548
|
+
canonicalItemId: detail.canonicalItemId,
|
|
549
|
+
contentKind: detail.contentKind,
|
|
550
|
+
detail: detail.detail,
|
|
551
|
+
timestamp: Date.now()
|
|
552
|
+
});
|
|
553
|
+
};
|
|
554
|
+
|
|
555
|
+
const onItemPlayerError = (event) => {
|
|
556
|
+
if (!isLocalToCurrentRuntime(event.target)) return;
|
|
557
|
+
|
|
558
|
+
const detail = event.detail;
|
|
559
|
+
|
|
560
|
+
if (!detail?.itemId) return;
|
|
561
|
+
|
|
562
|
+
sectionEngine.handleItemPlayerError({
|
|
563
|
+
itemId: detail.itemId,
|
|
564
|
+
canonicalItemId: detail.canonicalItemId,
|
|
565
|
+
contentKind: detail.contentKind,
|
|
566
|
+
error: detail.error,
|
|
567
|
+
timestamp: Date.now()
|
|
568
|
+
});
|
|
569
|
+
};
|
|
570
|
+
|
|
508
571
|
localHost.addEventListener(PIE_REGISTER_EVENT, onRegister);
|
|
509
572
|
localHost.addEventListener(PIE_UNREGISTER_EVENT, onUnregister);
|
|
510
|
-
localHost.addEventListener(
|
|
573
|
+
localHost.addEventListener(PIE_INTERNAL_ITEM_SESSION_CHANGED_EVENT, onItemSessionChanged);
|
|
574
|
+
localHost.addEventListener(PIE_INTERNAL_CONTENT_LOADED_EVENT, onContentLoaded);
|
|
575
|
+
localHost.addEventListener(PIE_INTERNAL_ITEM_PLAYER_ERROR_EVENT, onItemPlayerError);
|
|
511
576
|
|
|
512
577
|
return () => {
|
|
513
578
|
localHost.removeEventListener(PIE_REGISTER_EVENT, onRegister);
|
|
514
579
|
localHost.removeEventListener(PIE_UNREGISTER_EVENT, onUnregister);
|
|
515
|
-
localHost.removeEventListener(
|
|
580
|
+
localHost.removeEventListener(PIE_INTERNAL_ITEM_SESSION_CHANGED_EVENT, onItemSessionChanged);
|
|
581
|
+
localHost.removeEventListener(PIE_INTERNAL_CONTENT_LOADED_EVENT, onContentLoaded);
|
|
582
|
+
localHost.removeEventListener(PIE_INTERNAL_ITEM_PLAYER_ERROR_EVENT, onItemPlayerError);
|
|
516
583
|
};
|
|
517
584
|
});
|
|
518
585
|
|
package/dist/index.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export { TypedEventBus } from "./core/TypedEventBus.js";
|
|
|
10
10
|
export type { AssessmentToolkitHostRuntimeContext, AssessmentToolkitRegionScopeContext, AssessmentToolkitRuntimeContext, AssessmentToolkitShellContext, ItemPlayerConfig, ItemPlayerType, ShellContextKind, } from "./context/assessment-toolkit-context.js";
|
|
11
11
|
export { assessmentToolkitHostRuntimeContext, assessmentToolkitRegionScopeContext, assessmentToolkitRuntimeContext, assessmentToolkitShellContext, } from "./context/assessment-toolkit-context.js";
|
|
12
12
|
export { connectAssessmentToolkitHostRuntimeContext, connectAssessmentToolkitRegionScopeContext, connectAssessmentToolkitRuntimeContext, connectAssessmentToolkitShellContext, } from "./context/runtime-context-consumer.js";
|
|
13
|
-
export { PIE_ITEM_SESSION_CHANGED_EVENT, PIE_REGISTER_EVENT, PIE_UNREGISTER_EVENT, type ItemSessionChangedDetail, type RuntimeRegistrationDetail, type RuntimeRegistrationKind, } from "./runtime/registration-events.js";
|
|
13
|
+
export { PIE_INTERNAL_CONTENT_LOADED_EVENT, PIE_INTERNAL_ITEM_SESSION_CHANGED_EVENT, PIE_INTERNAL_ITEM_PLAYER_ERROR_EVENT, PIE_ITEM_SESSION_CHANGED_EVENT, PIE_REGISTER_EVENT, PIE_UNREGISTER_EVENT, type InternalContentLoadedDetail, type InternalItemSessionChangedDetail, type InternalItemPlayerErrorDetail, type ItemSessionChangedDetail, type RuntimeRegistrationDetail, type RuntimeRegistrationKind, } from "./runtime/registration-events.js";
|
|
14
14
|
export { connectToolRegionScopeContext, connectToolRuntimeContext, connectToolShellContext, createCrossBoundaryEvent, dispatchCrossBoundaryEvent, isContextValueDefined, } from "./runtime/tool-host-contract.js";
|
|
15
15
|
export type { IAccessibilityCatalogResolver, IElementToolStateStore, IHighlightCoordinator, II18nService, IThemeProvider, IToolCoordinator, IToolkitCoordinator, ITTSService, ToolState, } from "./services/interfaces.js";
|
|
16
16
|
export type { CatalogLookupOptions, CatalogStatistics, CatalogType, ResolvedCatalog, } from "./services/AccessibilityCatalogResolver.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
export { TypedEventBus } from "./core/TypedEventBus.js";
|
|
13
13
|
export { assessmentToolkitHostRuntimeContext, assessmentToolkitRegionScopeContext, assessmentToolkitRuntimeContext, assessmentToolkitShellContext, } from "./context/assessment-toolkit-context.js";
|
|
14
14
|
export { connectAssessmentToolkitHostRuntimeContext, connectAssessmentToolkitRegionScopeContext, connectAssessmentToolkitRuntimeContext, connectAssessmentToolkitShellContext, } from "./context/runtime-context-consumer.js";
|
|
15
|
-
export { PIE_ITEM_SESSION_CHANGED_EVENT, PIE_REGISTER_EVENT, PIE_UNREGISTER_EVENT, } from "./runtime/registration-events.js";
|
|
15
|
+
export { PIE_INTERNAL_CONTENT_LOADED_EVENT, PIE_INTERNAL_ITEM_SESSION_CHANGED_EVENT, PIE_INTERNAL_ITEM_PLAYER_ERROR_EVENT, PIE_ITEM_SESSION_CHANGED_EVENT, PIE_REGISTER_EVENT, PIE_UNREGISTER_EVENT, } from "./runtime/registration-events.js";
|
|
16
16
|
export { connectToolRegionScopeContext, connectToolRuntimeContext, connectToolShellContext, createCrossBoundaryEvent, dispatchCrossBoundaryEvent, isContextValueDefined, } from "./runtime/tool-host-contract.js";
|
|
17
17
|
export { AccessibilityCatalogResolver } from "./services/AccessibilityCatalogResolver.js";
|
|
18
18
|
// Context Variable Store (QTI 3.0 Context Declarations)
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAUxD,OAAO,EACN,mCAAmC,EACnC,mCAAmC,EACnC,+BAA+B,EAC/B,6BAA6B,GAC7B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACN,0CAA0C,EAC1C,0CAA0C,EAC1C,sCAAsC,EACtC,oCAAoC,GACpC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACN,8BAA8B,EAC9B,kBAAkB,EAClB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,38 @@ import { RuntimeRegistry } from "./RuntimeRegistry.js";
|
|
|
5
5
|
interface RuntimeController extends SectionControllerHandle {
|
|
6
6
|
getCompositionModel?: () => unknown;
|
|
7
7
|
getCanonicalItemId?: (itemId: string) => string;
|
|
8
|
+
handleContentLoaded?: (args: {
|
|
9
|
+
itemId: string;
|
|
10
|
+
canonicalItemId?: string;
|
|
11
|
+
contentKind?: string;
|
|
12
|
+
detail?: unknown;
|
|
13
|
+
timestamp?: number;
|
|
14
|
+
}) => void;
|
|
15
|
+
handleContentRegistered?: (args: {
|
|
16
|
+
itemId: string;
|
|
17
|
+
canonicalItemId?: string;
|
|
18
|
+
contentKind?: string;
|
|
19
|
+
}) => void;
|
|
20
|
+
handleContentUnregistered?: (args: {
|
|
21
|
+
itemId: string;
|
|
22
|
+
canonicalItemId?: string;
|
|
23
|
+
contentKind?: string;
|
|
24
|
+
}) => void;
|
|
25
|
+
handleItemPlayerError?: (args: {
|
|
26
|
+
itemId: string;
|
|
27
|
+
canonicalItemId?: string;
|
|
28
|
+
contentKind?: string;
|
|
29
|
+
error: unknown;
|
|
30
|
+
timestamp?: number;
|
|
31
|
+
}) => void;
|
|
32
|
+
reportSectionError?: (args: {
|
|
33
|
+
source: "item-player" | "section-runtime" | "toolkit" | "controller";
|
|
34
|
+
error: unknown;
|
|
35
|
+
itemId?: string;
|
|
36
|
+
canonicalItemId?: string;
|
|
37
|
+
contentKind?: string;
|
|
38
|
+
timestamp?: number;
|
|
39
|
+
}) => void;
|
|
8
40
|
handleItemSessionChanged?: (itemId: string, session: unknown) => {
|
|
9
41
|
eventDetail?: unknown;
|
|
10
42
|
} | null;
|
|
@@ -34,6 +66,30 @@ export declare class SectionRuntimeEngine {
|
|
|
34
66
|
unregister(element: HTMLElement): boolean;
|
|
35
67
|
getCompositionModel(): unknown;
|
|
36
68
|
getCanonicalItemId(itemId: string): string;
|
|
69
|
+
handleContentRegistered(detail: RuntimeRegistrationDetail): void;
|
|
70
|
+
handleContentUnregistered(detail: RuntimeRegistrationDetail): void;
|
|
71
|
+
handleContentLoaded(args: {
|
|
72
|
+
itemId: string;
|
|
73
|
+
canonicalItemId?: string;
|
|
74
|
+
contentKind?: string;
|
|
75
|
+
detail?: unknown;
|
|
76
|
+
timestamp?: number;
|
|
77
|
+
}): void;
|
|
78
|
+
handleItemPlayerError(args: {
|
|
79
|
+
itemId: string;
|
|
80
|
+
canonicalItemId?: string;
|
|
81
|
+
contentKind?: string;
|
|
82
|
+
error: unknown;
|
|
83
|
+
timestamp?: number;
|
|
84
|
+
}): void;
|
|
85
|
+
reportSectionError(args: {
|
|
86
|
+
source: "item-player" | "section-runtime" | "toolkit" | "controller";
|
|
87
|
+
error: unknown;
|
|
88
|
+
itemId?: string;
|
|
89
|
+
canonicalItemId?: string;
|
|
90
|
+
contentKind?: string;
|
|
91
|
+
timestamp?: number;
|
|
92
|
+
}): void;
|
|
37
93
|
handleItemSessionChanged(itemId: string, session: unknown): unknown;
|
|
38
94
|
navigateToItem(index: number): unknown;
|
|
39
95
|
persist(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SectionRuntimeEngine.d.ts","sourceRoot":"","sources":["../../src/runtime/SectionRuntimeEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AACvF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,UAAU,iBAAkB,SAAQ,uBAAuB;IAC1D,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC;IACpC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IAChD,wBAAwB,CAAC,EAAE,CAC1B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,KACZ;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACtC,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;IAC/D,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;CAC5C;AAED,UAAU,cAAc;IACvB,WAAW,EAAE,kBAAkB,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uBAAuB,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,CAAC;IAC9E,oBAAoB,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;CACtD;AAED,qBAAa,oBAAoB;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAClD,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,WAAW,CAAmC;IACtD,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,qBAAqB,CAA6B;IAC1D,OAAO,CAAC,eAAe,CAAK;IAEtB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BrD,QAAQ,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO;IAIpD,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO;IAIzC,mBAAmB,IAAI,OAAO;IAI9B,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAK1C,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;IAKnE,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIhC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,WAAW;IAIL,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAc9B"}
|
|
1
|
+
{"version":3,"file":"SectionRuntimeEngine.d.ts","sourceRoot":"","sources":["../../src/runtime/SectionRuntimeEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,6 +47,29 @@ export class SectionRuntimeEngine {
|
|
|
47
47
|
const map = this.registry.getCanonicalIdMap();
|
|
48
48
|
return map[itemId] || this.controller?.getCanonicalItemId?.(itemId) || itemId;
|
|
49
49
|
}
|
|
50
|
+
handleContentRegistered(detail) {
|
|
51
|
+
this.controller?.handleContentRegistered?.({
|
|
52
|
+
itemId: detail.itemId,
|
|
53
|
+
canonicalItemId: detail.canonicalItemId || detail.itemId,
|
|
54
|
+
contentKind: detail.contentKind || detail.kind,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
handleContentUnregistered(detail) {
|
|
58
|
+
this.controller?.handleContentUnregistered?.({
|
|
59
|
+
itemId: detail.itemId,
|
|
60
|
+
canonicalItemId: detail.canonicalItemId || detail.itemId,
|
|
61
|
+
contentKind: detail.contentKind || detail.kind,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
handleContentLoaded(args) {
|
|
65
|
+
this.controller?.handleContentLoaded?.(args);
|
|
66
|
+
}
|
|
67
|
+
handleItemPlayerError(args) {
|
|
68
|
+
this.controller?.handleItemPlayerError?.(args);
|
|
69
|
+
}
|
|
70
|
+
reportSectionError(args) {
|
|
71
|
+
this.controller?.reportSectionError?.(args);
|
|
72
|
+
}
|
|
50
73
|
handleItemSessionChanged(itemId, session) {
|
|
51
74
|
const canonicalId = this.getCanonicalItemId(itemId);
|
|
52
75
|
return this.controller?.handleItemSessionChanged?.(canonicalId, session) ?? null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SectionRuntimeEngine.js","sourceRoot":"","sources":["../../src/runtime/SectionRuntimeEngine.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"SectionRuntimeEngine.js","sourceRoot":"","sources":["../../src/runtime/SectionRuntimeEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
export declare const PIE_REGISTER_EVENT = "pie-register";
|
|
2
2
|
export declare const PIE_UNREGISTER_EVENT = "pie-unregister";
|
|
3
|
+
export declare const PIE_INTERNAL_ITEM_SESSION_CHANGED_EVENT = "pie-item-session-changed";
|
|
3
4
|
export declare const PIE_ITEM_SESSION_CHANGED_EVENT = "item-session-changed";
|
|
5
|
+
export declare const PIE_INTERNAL_CONTENT_LOADED_EVENT = "pie-content-loaded";
|
|
6
|
+
export declare const PIE_INTERNAL_ITEM_PLAYER_ERROR_EVENT = "pie-item-player-error";
|
|
4
7
|
export type RuntimeRegistrationKind = "item" | "passage";
|
|
5
8
|
export interface RuntimeRegistrationDetail {
|
|
6
9
|
kind: RuntimeRegistrationKind;
|
|
@@ -16,4 +19,20 @@ export interface ItemSessionChangedDetail {
|
|
|
16
19
|
session: unknown;
|
|
17
20
|
sourceRuntimeId?: string;
|
|
18
21
|
}
|
|
22
|
+
export interface InternalItemSessionChangedDetail {
|
|
23
|
+
itemId: string;
|
|
24
|
+
session: unknown;
|
|
25
|
+
}
|
|
26
|
+
export interface InternalContentLoadedDetail {
|
|
27
|
+
itemId: string;
|
|
28
|
+
canonicalItemId?: string;
|
|
29
|
+
contentKind?: string;
|
|
30
|
+
detail?: unknown;
|
|
31
|
+
}
|
|
32
|
+
export interface InternalItemPlayerErrorDetail {
|
|
33
|
+
itemId: string;
|
|
34
|
+
canonicalItemId?: string;
|
|
35
|
+
contentKind?: string;
|
|
36
|
+
error: unknown;
|
|
37
|
+
}
|
|
19
38
|
//# sourceMappingURL=registration-events.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registration-events.d.ts","sourceRoot":"","sources":["../../src/runtime/registration-events.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AACjD,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AACrD,eAAO,MAAM,8BAA8B,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"registration-events.d.ts","sourceRoot":"","sources":["../../src/runtime/registration-events.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AACjD,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AACrD,eAAO,MAAM,uCAAuC,6BAA6B,CAAC;AAClF,eAAO,MAAM,8BAA8B,yBAAyB,CAAC;AACrE,eAAO,MAAM,iCAAiC,uBAAuB,CAAC;AACtE,eAAO,MAAM,oCAAoC,0BAA0B,CAAC;AAE5E,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,SAAS,CAAC;AAEzD,MAAM,WAAW,yBAAyB;IACzC,IAAI,EAAE,uBAAuB,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,wBAAwB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gCAAgC;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,2BAA2B;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,6BAA6B;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;CACf"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
export const PIE_REGISTER_EVENT = "pie-register";
|
|
2
2
|
export const PIE_UNREGISTER_EVENT = "pie-unregister";
|
|
3
|
+
export const PIE_INTERNAL_ITEM_SESSION_CHANGED_EVENT = "pie-item-session-changed";
|
|
3
4
|
export const PIE_ITEM_SESSION_CHANGED_EVENT = "item-session-changed";
|
|
5
|
+
export const PIE_INTERNAL_CONTENT_LOADED_EVENT = "pie-content-loaded";
|
|
6
|
+
export const PIE_INTERNAL_ITEM_PLAYER_ERROR_EVENT = "pie-item-player-error";
|
|
4
7
|
//# sourceMappingURL=registration-events.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registration-events.js","sourceRoot":"","sources":["../../src/runtime/registration-events.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC;AACjD,MAAM,CAAC,MAAM,oBAAoB,GAAG,gBAAgB,CAAC;AACrD,MAAM,CAAC,MAAM,8BAA8B,GAAG,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"registration-events.js","sourceRoot":"","sources":["../../src/runtime/registration-events.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC;AACjD,MAAM,CAAC,MAAM,oBAAoB,GAAG,gBAAgB,CAAC;AACrD,MAAM,CAAC,MAAM,uCAAuC,GAAG,0BAA0B,CAAC;AAClF,MAAM,CAAC,MAAM,8BAA8B,GAAG,sBAAsB,CAAC;AACrE,MAAM,CAAC,MAAM,iCAAiC,GAAG,oBAAoB,CAAC;AACtE,MAAM,CAAC,MAAM,oCAAoC,GAAG,uBAAuB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-event-guards.d.ts","sourceRoot":"","sources":["../../src/runtime/runtime-event-guards.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAAC,MAAM,SAAY,GAAG,MAAM,CAE1D
|
|
1
|
+
{"version":3,"file":"runtime-event-guards.d.ts","sourceRoot":"","sources":["../../src/runtime/runtime-event-guards.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAAC,MAAM,SAAY,GAAG,MAAM,CAE1D"}
|
|
@@ -1,9 +1,4 @@
|
|
|
1
1
|
export function createRuntimeId(prefix = "runtime") {
|
|
2
2
|
return `${prefix}-${Math.random().toString(16).slice(2)}-${Date.now()}`;
|
|
3
3
|
}
|
|
4
|
-
export function shouldHandleBySourceRuntime(sourceRuntimeId, currentRuntimeId) {
|
|
5
|
-
if (!sourceRuntimeId)
|
|
6
|
-
return true;
|
|
7
|
-
return sourceRuntimeId !== currentRuntimeId;
|
|
8
|
-
}
|
|
9
4
|
//# sourceMappingURL=runtime-event-guards.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-event-guards.js","sourceRoot":"","sources":["../../src/runtime/runtime-event-guards.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,eAAe,CAAC,MAAM,GAAG,SAAS;IACjD,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;AACzE,CAAC
|
|
1
|
+
{"version":3,"file":"runtime-event-guards.js","sourceRoot":"","sources":["../../src/runtime/runtime-event-guards.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,eAAe,CAAC,MAAM,GAAG,SAAS;IACjD,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;AACzE,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type SessionEmitPolicyState = {
|
|
2
|
+
lastSessionEventSignatureByItemId: Map<string, string>;
|
|
3
|
+
lastMetadataSignatureByItemId: Map<string, string>;
|
|
4
|
+
};
|
|
5
|
+
export declare function createSessionEmitPolicyState(): SessionEmitPolicyState;
|
|
6
|
+
export declare function resetSessionEmitPolicyState(state: SessionEmitPolicyState): void;
|
|
7
|
+
export declare function shouldEmitCanonicalSessionEvent(args: {
|
|
8
|
+
state: SessionEmitPolicyState;
|
|
9
|
+
itemId: string;
|
|
10
|
+
payload: Record<string, unknown>;
|
|
11
|
+
}): boolean;
|
|
12
|
+
//# sourceMappingURL=session-event-emitter-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-event-emitter-policy.d.ts","sourceRoot":"","sources":["../../src/runtime/session-event-emitter-policy.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAAG;IACpC,iCAAiC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvD,6BAA6B,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnD,CAAC;AAEF,wBAAgB,4BAA4B,IAAI,sBAAsB,CAKrE;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI,CAG/E;AAED,wBAAgB,+BAA+B,CAAC,IAAI,EAAE;IACrD,KAAK,EAAE,sBAAsB,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC,GAAG,OAAO,CAiBV"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
export function createSessionEmitPolicyState() {
|
|
2
|
+
return {
|
|
3
|
+
lastSessionEventSignatureByItemId: new Map(),
|
|
4
|
+
lastMetadataSignatureByItemId: new Map(),
|
|
5
|
+
};
|
|
6
|
+
}
|
|
7
|
+
export function resetSessionEmitPolicyState(state) {
|
|
8
|
+
state.lastSessionEventSignatureByItemId.clear();
|
|
9
|
+
state.lastMetadataSignatureByItemId.clear();
|
|
10
|
+
}
|
|
11
|
+
export function shouldEmitCanonicalSessionEvent(args) {
|
|
12
|
+
const { state, itemId, payload } = args;
|
|
13
|
+
if (isMetadataOnlyEvent(payload)) {
|
|
14
|
+
const metadataSignature = getMetadataOnlySignature(payload);
|
|
15
|
+
const previousMetadataSignature = state.lastMetadataSignatureByItemId.get(itemId);
|
|
16
|
+
if (previousMetadataSignature === metadataSignature) {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
state.lastMetadataSignatureByItemId.set(itemId, metadataSignature);
|
|
20
|
+
}
|
|
21
|
+
const signature = getSessionEventSemanticSignature(payload);
|
|
22
|
+
const previousSignature = state.lastSessionEventSignatureByItemId.get(itemId);
|
|
23
|
+
if (previousSignature === signature) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
state.lastSessionEventSignatureByItemId.set(itemId, signature);
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
function getSessionEventSemanticSignature(payload) {
|
|
30
|
+
const semanticPayload = { ...payload };
|
|
31
|
+
delete semanticPayload.timestamp;
|
|
32
|
+
delete semanticPayload.sourceRuntimeId;
|
|
33
|
+
try {
|
|
34
|
+
return JSON.stringify(semanticPayload);
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
return String(semanticPayload.itemId || "");
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
function isMetadataOnlyEvent(payload) {
|
|
41
|
+
return payload.intent === "metadata-only";
|
|
42
|
+
}
|
|
43
|
+
function getMetadataOnlySignature(payload) {
|
|
44
|
+
try {
|
|
45
|
+
return JSON.stringify({
|
|
46
|
+
itemId: payload.itemId,
|
|
47
|
+
canonicalItemId: payload.canonicalItemId,
|
|
48
|
+
intent: payload.intent,
|
|
49
|
+
complete: payload.complete ?? null,
|
|
50
|
+
component: payload.component ?? null,
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
return String(payload.itemId || "");
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=session-event-emitter-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-event-emitter-policy.js","sourceRoot":"","sources":["../../src/runtime/session-event-emitter-policy.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,4BAA4B;IAC3C,OAAO;QACN,iCAAiC,EAAE,IAAI,GAAG,EAAkB;QAC5D,6BAA6B,EAAE,IAAI,GAAG,EAAkB;KACxD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAA6B;IACxE,KAAK,CAAC,iCAAiC,CAAC,KAAK,EAAE,CAAC;IAChD,KAAK,CAAC,6BAA6B,CAAC,KAAK,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,IAI/C;IACA,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACxC,IAAI,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAC5D,MAAM,yBAAyB,GAAG,KAAK,CAAC,6BAA6B,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAClF,IAAI,yBAAyB,KAAK,iBAAiB,EAAE,CAAC;YACrD,OAAO,KAAK,CAAC;QACd,CAAC;QACD,KAAK,CAAC,6BAA6B,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,SAAS,GAAG,gCAAgC,CAAC,OAAO,CAAC,CAAC;IAC5D,MAAM,iBAAiB,GAAG,KAAK,CAAC,iCAAiC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9E,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC;IACd,CAAC;IACD,KAAK,CAAC,iCAAiC,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC/D,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,gCAAgC,CAAC,OAAgC;IACzE,MAAM,eAAe,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;IACvC,OAAO,eAAe,CAAC,SAAS,CAAC;IACjC,OAAO,eAAe,CAAC,eAAe,CAAC;IACvC,IAAI,CAAC;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,MAAM,CAAC,eAAe,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;AACF,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAgC;IAC5D,OAAO,OAAO,CAAC,MAAM,KAAK,eAAe,CAAC;AAC3C,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAgC;IACjE,IAAI,CAAC;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC;YACrB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;YAClC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI;SACpC,CAAC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IACrC,CAAC;AACF,CAAC"}
|
|
@@ -58,6 +58,8 @@ export interface ToolToolbarRenderResult {
|
|
|
58
58
|
sync?: () => void;
|
|
59
59
|
subscribeActive?: (callback: (active: boolean) => void) => (() => void);
|
|
60
60
|
}
|
|
61
|
+
export type ToolActivation = "toolbar-toggle" | "selection-gateway";
|
|
62
|
+
export type ToolSingletonScope = "section";
|
|
61
63
|
/**
|
|
62
64
|
* Tool registration interface
|
|
63
65
|
*/
|
|
@@ -72,6 +74,16 @@ export interface ToolRegistration {
|
|
|
72
74
|
icon: string | ((context: ToolContext) => string);
|
|
73
75
|
/** Which levels this tool supports */
|
|
74
76
|
supportedLevels: ToolLevel[];
|
|
77
|
+
/**
|
|
78
|
+
* Activation model for this tool.
|
|
79
|
+
* - toolbar-toggle: rendered as a toolbar button (default)
|
|
80
|
+
* - selection-gateway: rendered as a singleton selection-driven gateway
|
|
81
|
+
*/
|
|
82
|
+
activation?: ToolActivation;
|
|
83
|
+
/**
|
|
84
|
+
* Optional singleton scope for activation models that mount exactly one instance.
|
|
85
|
+
*/
|
|
86
|
+
singletonScope?: ToolSingletonScope;
|
|
75
87
|
/**
|
|
76
88
|
* PNP support IDs that enable this tool (optional)
|
|
77
89
|
* Used by PNPToolResolver to determine if tool is allowed
|
|
@@ -168,6 +180,18 @@ export declare class ToolRegistry {
|
|
|
168
180
|
* @returns Array of tool registrations that support this level
|
|
169
181
|
*/
|
|
170
182
|
getToolsByLevel(level: ToolLevel): ToolRegistration[];
|
|
183
|
+
/**
|
|
184
|
+
* Resolve tool activation with backward-compatible defaults.
|
|
185
|
+
*/
|
|
186
|
+
getToolActivation(toolId: string): ToolActivation;
|
|
187
|
+
/**
|
|
188
|
+
* Resolve singleton scope for a tool when present.
|
|
189
|
+
*/
|
|
190
|
+
getToolSingletonScope(toolId: string): ToolSingletonScope | null;
|
|
191
|
+
/**
|
|
192
|
+
* Filter tool IDs by activation type.
|
|
193
|
+
*/
|
|
194
|
+
filterToolIdsByActivation(toolIds: string[], activation: ToolActivation): string[];
|
|
171
195
|
/**
|
|
172
196
|
* Filter tools by visibility in a given context
|
|
173
197
|
*
|
|
@@ -191,6 +215,8 @@ export declare class ToolRegistry {
|
|
|
191
215
|
description: string;
|
|
192
216
|
pnpSupportIds: string[];
|
|
193
217
|
supportedLevels: ToolLevel[];
|
|
218
|
+
activation: ToolActivation;
|
|
219
|
+
singletonScope: ToolSingletonScope | null;
|
|
194
220
|
}>;
|
|
195
221
|
/**
|
|
196
222
|
* Generate PNP support IDs from enabled tools
|