@pie-players/pie-assessment-toolkit 0.3.25 → 0.3.27
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/README.md +70 -17
- package/dist/components/ItemToolBar.custom-element.js +116 -9
- package/dist/components/PieAssessmentToolkit.custom-element.js +302 -7
- package/dist/index.d.ts +9 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/services/HighlightCoordinator.d.ts +3 -2
- package/dist/services/HighlightCoordinator.d.ts.map +1 -1
- package/dist/services/HighlightCoordinator.js +6 -3
- package/dist/services/HighlightCoordinator.js.map +1 -1
- package/dist/services/TTSService.d.ts +3 -0
- package/dist/services/TTSService.d.ts.map +1 -1
- package/dist/services/TTSService.js +66 -5
- package/dist/services/TTSService.js.map +1 -1
- package/dist/services/ToolRegistry.d.ts +10 -1
- package/dist/services/ToolRegistry.d.ts.map +1 -1
- package/dist/services/ToolRegistry.js.map +1 -1
- package/dist/services/ToolkitCoordinator.d.ts +37 -5
- package/dist/services/ToolkitCoordinator.d.ts.map +1 -1
- package/dist/services/ToolkitCoordinator.js +114 -35
- package/dist/services/ToolkitCoordinator.js.map +1 -1
- package/dist/services/create-tools-config.d.ts +15 -0
- package/dist/services/create-tools-config.d.ts.map +1 -0
- package/dist/services/create-tools-config.js +13 -0
- package/dist/services/create-tools-config.js.map +1 -0
- package/dist/services/framework-error.d.ts +34 -0
- package/dist/services/framework-error.d.ts.map +1 -0
- package/dist/services/framework-error.js +43 -0
- package/dist/services/framework-error.js.map +1 -0
- package/dist/services/tool-config-validation.d.ts +31 -0
- package/dist/services/tool-config-validation.d.ts.map +1 -0
- package/dist/services/tool-config-validation.js +242 -0
- package/dist/services/tool-config-validation.js.map +1 -0
- package/dist/services/toolbar-items.d.ts +1 -0
- package/dist/services/toolbar-items.d.ts.map +1 -1
- package/dist/services/toolbar-items.js +28 -2
- package/dist/services/toolbar-items.js.map +1 -1
- package/dist/services/tts/visual-line-ranges.d.ts +19 -0
- package/dist/services/tts/visual-line-ranges.d.ts.map +1 -0
- package/dist/services/tts/visual-line-ranges.js +227 -0
- package/dist/services/tts/visual-line-ranges.js.map +1 -0
- package/dist/services/tts-runtime-config.d.ts +29 -0
- package/dist/services/tts-runtime-config.d.ts.map +1 -1
- package/dist/services/tts-runtime-config.js +101 -9
- package/dist/services/tts-runtime-config.js.map +1 -1
- package/dist/tools/registrations/accessibility-tools.js +1 -1
- package/dist/tools/registrations/accessibility-tools.js.map +1 -1
- package/dist/tools/registrations/measurement-tools.js +4 -4
- package/dist/tools/registrations/measurement-tools.js.map +1 -1
- package/dist/tools/registrations/tts.d.ts +1 -0
- package/dist/tools/registrations/tts.d.ts.map +1 -1
- package/dist/tools/registrations/tts.js +52 -21
- package/dist/tools/registrations/tts.js.map +1 -1
- package/package.json +7 -7
|
@@ -33,6 +33,8 @@ import {
|
|
|
33
33
|
|
|
34
34
|
import { connectAssessmentToolkitHostRuntimeContext } from "../context/runtime-context-consumer.js";
|
|
35
35
|
import { ToolkitCoordinator } from "../services/ToolkitCoordinator.js";
|
|
36
|
+
import { formatFrameworkErrorForConsole, frameworkErrorFromUnknown } from "../services/framework-error.js";
|
|
37
|
+
import { normalizeAndValidateToolsConfig } from "../services/tool-config-validation.js";
|
|
36
38
|
|
|
37
39
|
import {
|
|
38
40
|
PIE_INTERNAL_CONTENT_LOADED_EVENT,
|
|
@@ -52,11 +54,12 @@ import {
|
|
|
52
54
|
shouldEmitCanonicalSessionEvent
|
|
53
55
|
} from "../runtime/session-event-emitter-policy.js";
|
|
54
56
|
|
|
57
|
+
var root_1 = $.from_html(`<div class="pie-assessment-toolkit-error svelte-vpe4u2" role="alert" aria-live="assertive"><div class="pie-assessment-toolkit-error-title svelte-vpe4u2"> </div> <div class="pie-assessment-toolkit-error-message svelte-vpe4u2"> </div> <pre class="pie-assessment-toolkit-error-details svelte-vpe4u2"> </pre></div>`);
|
|
55
58
|
var root = $.from_html(`<div class="pie-assessment-toolkit-anchor svelte-vpe4u2" aria-hidden="true"></div> <!>`, 1);
|
|
56
59
|
|
|
57
60
|
const $$css = {
|
|
58
61
|
hash: 'svelte-vpe4u2',
|
|
59
|
-
code: '.pie-assessment-toolkit-anchor.svelte-vpe4u2 {display:none;}'
|
|
62
|
+
code: '.pie-assessment-toolkit-anchor.svelte-vpe4u2 {display:none;}.pie-assessment-toolkit-error.svelte-vpe4u2 {margin:0.75rem;padding:0.75rem 1rem;border-radius:0.5rem;border:1px solid color-mix(in srgb, #dc2626 40%, transparent);background:color-mix(in srgb, #dc2626 12%, transparent);color:#7f1d1d;font-size:0.9rem;}.pie-assessment-toolkit-error-title.svelte-vpe4u2 {font-weight:600;margin-bottom:0.25rem;}.pie-assessment-toolkit-error-message.svelte-vpe4u2 {margin-bottom:0.5rem;}.pie-assessment-toolkit-error-details.svelte-vpe4u2 {margin:0;white-space:pre-wrap;word-break:break-word;}'
|
|
60
63
|
};
|
|
61
64
|
|
|
62
65
|
export default function PieAssessmentToolkit($$anchor, $$props) {
|
|
@@ -81,12 +84,18 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
|
|
|
81
84
|
view = $.prop($$props, 'view', 7, "candidate"),
|
|
82
85
|
env = $.prop($$props, 'env', 23, () => ({})),
|
|
83
86
|
lazyInit = $.prop($$props, 'lazyInit', 7, true),
|
|
87
|
+
toolConfigStrictness = $.prop($$props, 'toolConfigStrictness', 7, "error"),
|
|
84
88
|
tools = $.prop($$props, 'tools', 23, () => ({})),
|
|
89
|
+
toolRegistry = $.prop($$props, 'toolRegistry', 7, null),
|
|
85
90
|
accessibility = $.prop($$props, 'accessibility', 23, () => ({})),
|
|
86
91
|
player = $.prop($$props, 'player', 7, null),
|
|
87
92
|
playerType = $.prop($$props, 'playerType', 7, ""),
|
|
88
93
|
coordinator = $.prop($$props, 'coordinator', 7, null),
|
|
89
94
|
createSectionController = $.prop($$props, 'createSectionController', 7, null),
|
|
95
|
+
frameworkErrorCallback = $.prop($$props, 'frameworkErrorHook', 7, null),
|
|
96
|
+
onFrameworkError = $.prop($$props, 'onFrameworkError', 7, null),
|
|
97
|
+
onframeworkerror = $.prop($$props, 'onframeworkerror', 7, null),
|
|
98
|
+
errorRenderer = $.prop($$props, 'errorRenderer', 7, null),
|
|
90
99
|
isolation = $.prop($$props, 'isolation', 7, "inherit");
|
|
91
100
|
|
|
92
101
|
let anchor = $.state(null);
|
|
@@ -100,10 +109,16 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
|
|
|
100
109
|
let compositionVersion = $.state(0);
|
|
101
110
|
let compositionModel = $.state(null);
|
|
102
111
|
let runtimeError = $.state(null);
|
|
112
|
+
let frameworkErrorModel = $.state(null);
|
|
113
|
+
let frameworkErrorTitle = $.state("Unable to initialize assessment toolkit.");
|
|
114
|
+
let frameworkErrorDetails = $.state($.proxy([]));
|
|
115
|
+
let deliveredFrameworkErrorKey = $.state("");
|
|
116
|
+
let lastOwnedBootstrapFailureKey = $.state("");
|
|
103
117
|
let lastCompositionRevisionKey = $.state("");
|
|
104
118
|
let pendingCompositionModel = null;
|
|
105
119
|
let pendingCompositionEmit = false;
|
|
106
120
|
let compositionEmitRaf = null;
|
|
121
|
+
let pendingCrossBoundaryEvents = [];
|
|
107
122
|
const sessionEmitPolicyState = createSessionEmitPolicyState();
|
|
108
123
|
|
|
109
124
|
function getHostElement() {
|
|
@@ -121,11 +136,123 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
|
|
|
121
136
|
const host = $.derived(() => getHostElement());
|
|
122
137
|
|
|
123
138
|
function emit(name, detail) {
|
|
124
|
-
if (!$.get(host))
|
|
139
|
+
if (!$.get(host)) {
|
|
140
|
+
pendingCrossBoundaryEvents = [...pendingCrossBoundaryEvents, { name, detail }];
|
|
141
|
+
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
125
144
|
|
|
126
145
|
dispatchCrossBoundaryEvent($.get(host), name, detail);
|
|
127
146
|
}
|
|
128
147
|
|
|
148
|
+
$.user_effect(() => {
|
|
149
|
+
if (!$.get(host)) return;
|
|
150
|
+
if (pendingCrossBoundaryEvents.length === 0) return;
|
|
151
|
+
|
|
152
|
+
const queued = pendingCrossBoundaryEvents;
|
|
153
|
+
|
|
154
|
+
pendingCrossBoundaryEvents = [];
|
|
155
|
+
|
|
156
|
+
queueMicrotask(() => {
|
|
157
|
+
const resolvedHost = $.get(host);
|
|
158
|
+
|
|
159
|
+
if (!resolvedHost) {
|
|
160
|
+
pendingCrossBoundaryEvents = [...queued, ...pendingCrossBoundaryEvents];
|
|
161
|
+
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
for (const event of queued) {
|
|
166
|
+
dispatchCrossBoundaryEvent(resolvedHost, event.name, event.detail);
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
});
|
|
170
|
+
|
|
171
|
+
function applyErrorRenderer(model) {
|
|
172
|
+
if (!errorRenderer()) {
|
|
173
|
+
return {
|
|
174
|
+
title: "Unable to initialize assessment toolkit.",
|
|
175
|
+
details: model.details.length > 0 ? model.details : [model.message]
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
try {
|
|
180
|
+
const rendered = errorRenderer()(model) || {};
|
|
181
|
+
|
|
182
|
+
return {
|
|
183
|
+
title: typeof rendered.title === "string" && rendered.title.trim().length > 0
|
|
184
|
+
? rendered.title
|
|
185
|
+
: "Unable to initialize assessment toolkit.",
|
|
186
|
+
|
|
187
|
+
details: Array.isArray(rendered.details) && rendered.details.length > 0
|
|
188
|
+
? rendered.details.map((detail) => String(detail))
|
|
189
|
+
: model.details.length > 0 ? model.details : [model.message]
|
|
190
|
+
};
|
|
191
|
+
} catch(rendererError) {
|
|
192
|
+
const message = rendererError instanceof Error && rendererError.message.trim().length > 0
|
|
193
|
+
? rendererError.message
|
|
194
|
+
: String(rendererError || "Unknown renderer error");
|
|
195
|
+
|
|
196
|
+
return {
|
|
197
|
+
title: "Unable to initialize assessment toolkit.",
|
|
198
|
+
details: [...model.details, `Error renderer failed: ${message}`]
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
function reportFrameworkError(args) {
|
|
204
|
+
const model = frameworkErrorFromUnknown({
|
|
205
|
+
kind: args.kind,
|
|
206
|
+
source: args.source,
|
|
207
|
+
error: args.error,
|
|
208
|
+
recoverable: args.recoverable
|
|
209
|
+
});
|
|
210
|
+
|
|
211
|
+
console.error(formatFrameworkErrorForConsole(model), model.cause);
|
|
212
|
+
|
|
213
|
+
const rendered = applyErrorRenderer(model);
|
|
214
|
+
|
|
215
|
+
$.set(frameworkErrorModel, model, true);
|
|
216
|
+
$.set(frameworkErrorTitle, rendered.title, true);
|
|
217
|
+
$.set(frameworkErrorDetails, rendered.details, true);
|
|
218
|
+
emit("framework-error", model);
|
|
219
|
+
emit("runtime-error", { runtimeId, error: args.error, frameworkError: model });
|
|
220
|
+
|
|
221
|
+
const frameworkErrorHook = frameworkErrorCallback() ?? onFrameworkError() ?? onframeworkerror();
|
|
222
|
+
|
|
223
|
+
if (frameworkErrorHook) {
|
|
224
|
+
try {
|
|
225
|
+
frameworkErrorHook(model);
|
|
226
|
+
$.set(deliveredFrameworkErrorKey, `${model.kind}|${model.source}|${model.message}`);
|
|
227
|
+
} catch(hookError) {
|
|
228
|
+
console.error(`[pie-framework:runtime-init:pie-assessment-toolkit] framework error hook failed`, hookError);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
return model;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
$.user_effect(() => {
|
|
236
|
+
if (!$.get(frameworkErrorModel)) {
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
const frameworkErrorKey = `${$.get(frameworkErrorModel).kind}|${$.get(frameworkErrorModel).source}|${$.get(frameworkErrorModel).message}`;
|
|
241
|
+
|
|
242
|
+
if ($.get(deliveredFrameworkErrorKey) === frameworkErrorKey) return;
|
|
243
|
+
|
|
244
|
+
const frameworkErrorHook = frameworkErrorCallback() ?? onFrameworkError() ?? onframeworkerror();
|
|
245
|
+
|
|
246
|
+
if (!frameworkErrorHook) return;
|
|
247
|
+
|
|
248
|
+
try {
|
|
249
|
+
frameworkErrorHook($.get(frameworkErrorModel));
|
|
250
|
+
$.set(deliveredFrameworkErrorKey, frameworkErrorKey);
|
|
251
|
+
} catch(hookError) {
|
|
252
|
+
console.error(`[pie-framework:runtime-init:pie-assessment-toolkit] framework error hook failed`, hookError);
|
|
253
|
+
}
|
|
254
|
+
});
|
|
255
|
+
|
|
129
256
|
function hashString(input) {
|
|
130
257
|
let hash = 5381;
|
|
131
258
|
|
|
@@ -265,13 +392,40 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
|
|
|
265
392
|
throw new Error("pie-assessment-toolkit requires createSectionController when no coordinator hook provides one");
|
|
266
393
|
}
|
|
267
394
|
|
|
268
|
-
function
|
|
395
|
+
function validateToolsConfigForBootstrap() {
|
|
396
|
+
return normalizeAndValidateToolsConfig(tools(), {
|
|
397
|
+
strictness: toolConfigStrictness(),
|
|
398
|
+
source: "pie-assessment-toolkit.bootstrap",
|
|
399
|
+
toolRegistry: toolRegistry()
|
|
400
|
+
}).config;
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
function getOwnedBootstrapFailureKey() {
|
|
404
|
+
let toolsSignature = "";
|
|
405
|
+
|
|
406
|
+
try {
|
|
407
|
+
toolsSignature = JSON.stringify(tools() || {});
|
|
408
|
+
} catch {
|
|
409
|
+
toolsSignature = "[unserializable-tools]";
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
return [
|
|
413
|
+
assessmentId() || "",
|
|
414
|
+
String(toolConfigStrictness() || "error"),
|
|
415
|
+
toolsSignature
|
|
416
|
+
].join("|");
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
function buildOwnedCoordinator(validatedTools) {
|
|
269
420
|
const fallbackAssessmentId = assessmentId() || section()?.identifier || `assessment-${Math.random().toString(16).slice(2)}`;
|
|
270
421
|
|
|
271
422
|
return new ToolkitCoordinator({
|
|
272
423
|
assessmentId: fallbackAssessmentId,
|
|
273
424
|
lazyInit: lazyInit(),
|
|
274
|
-
|
|
425
|
+
toolConfigStrictness: toolConfigStrictness(),
|
|
426
|
+
deferToolConfigValidation: true,
|
|
427
|
+
tools: validatedTools,
|
|
428
|
+
toolRegistry: toolRegistry(),
|
|
275
429
|
accessibility: accessibility()
|
|
276
430
|
});
|
|
277
431
|
}
|
|
@@ -285,6 +439,8 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
|
|
|
285
439
|
});
|
|
286
440
|
|
|
287
441
|
$.user_effect(() => {
|
|
442
|
+
if (!$.get(host)) return;
|
|
443
|
+
|
|
288
444
|
if (coordinator()) {
|
|
289
445
|
if ($.get(ownedCoordinator)) {
|
|
290
446
|
$.set(ownedCoordinator, null);
|
|
@@ -302,7 +458,31 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
|
|
|
302
458
|
}
|
|
303
459
|
|
|
304
460
|
if (!$.get(ownedCoordinator)) {
|
|
305
|
-
|
|
461
|
+
const failureKey = getOwnedBootstrapFailureKey();
|
|
462
|
+
|
|
463
|
+
if ($.get(lastOwnedBootstrapFailureKey) === failureKey) {
|
|
464
|
+
return;
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
try {
|
|
468
|
+
const validatedTools = validateToolsConfigForBootstrap();
|
|
469
|
+
|
|
470
|
+
$.set(ownedCoordinator, buildOwnedCoordinator(validatedTools), true);
|
|
471
|
+
$.set(lastOwnedBootstrapFailureKey, "");
|
|
472
|
+
$.set(frameworkErrorModel, null);
|
|
473
|
+
$.set(frameworkErrorTitle, "Unable to initialize assessment toolkit.");
|
|
474
|
+
$.set(frameworkErrorDetails, [], true);
|
|
475
|
+
} catch(error) {
|
|
476
|
+
$.set(runtimeError, error, true);
|
|
477
|
+
$.set(ownedCoordinator, null);
|
|
478
|
+
$.set(lastOwnedBootstrapFailureKey, failureKey, true);
|
|
479
|
+
|
|
480
|
+
reportFrameworkError({
|
|
481
|
+
kind: "coordinator-init",
|
|
482
|
+
source: "pie-assessment-toolkit",
|
|
483
|
+
error
|
|
484
|
+
});
|
|
485
|
+
}
|
|
306
486
|
}
|
|
307
487
|
});
|
|
308
488
|
|
|
@@ -615,7 +795,12 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
|
|
|
615
795
|
}).catch((error) => {
|
|
616
796
|
$.set(runtimeError, error, true);
|
|
617
797
|
sectionEngine.reportSectionError({ source: "section-runtime", error, timestamp: Date.now() });
|
|
618
|
-
|
|
798
|
+
|
|
799
|
+
reportFrameworkError({
|
|
800
|
+
kind: "runtime-init",
|
|
801
|
+
source: "pie-assessment-toolkit",
|
|
802
|
+
error
|
|
803
|
+
});
|
|
619
804
|
});
|
|
620
805
|
|
|
621
806
|
return () => {
|
|
@@ -781,6 +966,13 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
|
|
|
781
966
|
|
|
782
967
|
void sectionEngine.dispose().catch((error) => {
|
|
783
968
|
$.set(runtimeError, error, true);
|
|
969
|
+
|
|
970
|
+
reportFrameworkError({
|
|
971
|
+
kind: "runtime-dispose",
|
|
972
|
+
source: "pie-assessment-toolkit",
|
|
973
|
+
error,
|
|
974
|
+
recoverable: true
|
|
975
|
+
});
|
|
784
976
|
});
|
|
785
977
|
};
|
|
786
978
|
});
|
|
@@ -857,6 +1049,15 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
|
|
|
857
1049
|
$.flush();
|
|
858
1050
|
},
|
|
859
1051
|
|
|
1052
|
+
get toolConfigStrictness() {
|
|
1053
|
+
return toolConfigStrictness();
|
|
1054
|
+
},
|
|
1055
|
+
|
|
1056
|
+
set toolConfigStrictness($$value) {
|
|
1057
|
+
toolConfigStrictness($$value);
|
|
1058
|
+
$.flush();
|
|
1059
|
+
},
|
|
1060
|
+
|
|
860
1061
|
get tools() {
|
|
861
1062
|
return tools();
|
|
862
1063
|
},
|
|
@@ -866,6 +1067,15 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
|
|
|
866
1067
|
$.flush();
|
|
867
1068
|
},
|
|
868
1069
|
|
|
1070
|
+
get toolRegistry() {
|
|
1071
|
+
return toolRegistry();
|
|
1072
|
+
},
|
|
1073
|
+
|
|
1074
|
+
set toolRegistry($$value) {
|
|
1075
|
+
toolRegistry($$value);
|
|
1076
|
+
$.flush();
|
|
1077
|
+
},
|
|
1078
|
+
|
|
869
1079
|
get accessibility() {
|
|
870
1080
|
return accessibility();
|
|
871
1081
|
},
|
|
@@ -911,6 +1121,42 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
|
|
|
911
1121
|
$.flush();
|
|
912
1122
|
},
|
|
913
1123
|
|
|
1124
|
+
get frameworkErrorHook() {
|
|
1125
|
+
return frameworkErrorCallback();
|
|
1126
|
+
},
|
|
1127
|
+
|
|
1128
|
+
set frameworkErrorHook($$value) {
|
|
1129
|
+
frameworkErrorCallback($$value);
|
|
1130
|
+
$.flush();
|
|
1131
|
+
},
|
|
1132
|
+
|
|
1133
|
+
get onFrameworkError() {
|
|
1134
|
+
return onFrameworkError();
|
|
1135
|
+
},
|
|
1136
|
+
|
|
1137
|
+
set onFrameworkError($$value) {
|
|
1138
|
+
onFrameworkError($$value);
|
|
1139
|
+
$.flush();
|
|
1140
|
+
},
|
|
1141
|
+
|
|
1142
|
+
get onframeworkerror() {
|
|
1143
|
+
return onframeworkerror();
|
|
1144
|
+
},
|
|
1145
|
+
|
|
1146
|
+
set onframeworkerror($$value) {
|
|
1147
|
+
onframeworkerror($$value);
|
|
1148
|
+
$.flush();
|
|
1149
|
+
},
|
|
1150
|
+
|
|
1151
|
+
get errorRenderer() {
|
|
1152
|
+
return errorRenderer();
|
|
1153
|
+
},
|
|
1154
|
+
|
|
1155
|
+
set errorRenderer($$value) {
|
|
1156
|
+
errorRenderer($$value);
|
|
1157
|
+
$.flush();
|
|
1158
|
+
},
|
|
1159
|
+
|
|
914
1160
|
get isolation() {
|
|
915
1161
|
return isolation();
|
|
916
1162
|
},
|
|
@@ -928,7 +1174,50 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
|
|
|
928
1174
|
|
|
929
1175
|
var node = $.sibling(div, 2);
|
|
930
1176
|
|
|
931
|
-
|
|
1177
|
+
{
|
|
1178
|
+
var consequent = ($$anchor) => {
|
|
1179
|
+
var div_1 = root_1();
|
|
1180
|
+
var div_2 = $.child(div_1);
|
|
1181
|
+
var text = $.child(div_2, true);
|
|
1182
|
+
|
|
1183
|
+
$.reset(div_2);
|
|
1184
|
+
|
|
1185
|
+
var div_3 = $.sibling(div_2, 2);
|
|
1186
|
+
var text_1 = $.child(div_3, true);
|
|
1187
|
+
|
|
1188
|
+
$.reset(div_3);
|
|
1189
|
+
|
|
1190
|
+
var pre = $.sibling(div_3, 2);
|
|
1191
|
+
var text_2 = $.child(pre, true);
|
|
1192
|
+
|
|
1193
|
+
$.reset(pre);
|
|
1194
|
+
$.reset(div_1);
|
|
1195
|
+
|
|
1196
|
+
$.template_effect(
|
|
1197
|
+
($0) => {
|
|
1198
|
+
$.set_text(text, $.get(frameworkErrorTitle));
|
|
1199
|
+
$.set_text(text_1, $.get(frameworkErrorModel).message);
|
|
1200
|
+
$.set_text(text_2, $0);
|
|
1201
|
+
},
|
|
1202
|
+
[() => $.get(frameworkErrorDetails).join("\n")]
|
|
1203
|
+
);
|
|
1204
|
+
|
|
1205
|
+
$.append($$anchor, div_1);
|
|
1206
|
+
};
|
|
1207
|
+
|
|
1208
|
+
var alternate = ($$anchor) => {
|
|
1209
|
+
var fragment_1 = $.comment();
|
|
1210
|
+
var node_1 = $.first_child(fragment_1);
|
|
1211
|
+
|
|
1212
|
+
$.slot(node_1, $$props, 'default', {}, null);
|
|
1213
|
+
$.append($$anchor, fragment_1);
|
|
1214
|
+
};
|
|
1215
|
+
|
|
1216
|
+
$.if(node, ($$render) => {
|
|
1217
|
+
if ($.get(frameworkErrorModel) && !$.get(frameworkErrorModel).recoverable) $$render(consequent); else $$render(alternate, -1);
|
|
1218
|
+
});
|
|
1219
|
+
}
|
|
1220
|
+
|
|
932
1221
|
$.append($$anchor, fragment);
|
|
933
1222
|
|
|
934
1223
|
return $.pop($$exports);
|
|
@@ -944,12 +1233,18 @@ __pieDefineSafely('pie-assessment-toolkit', $.create_custom_element(
|
|
|
944
1233
|
view: { attribute: 'view', type: 'String' },
|
|
945
1234
|
env: { attribute: 'env', type: 'Object' },
|
|
946
1235
|
lazyInit: { attribute: 'lazy-init', type: 'Boolean' },
|
|
1236
|
+
toolConfigStrictness: { attribute: 'tool-config-strictness', type: 'String' },
|
|
947
1237
|
tools: { attribute: 'tools', type: 'Object' },
|
|
1238
|
+
toolRegistry: { type: 'Object' },
|
|
948
1239
|
accessibility: { attribute: 'accessibility', type: 'Object' },
|
|
949
1240
|
player: { attribute: 'player', type: 'Object' },
|
|
950
1241
|
playerType: { attribute: 'player-type', type: 'String' },
|
|
951
1242
|
coordinator: { type: 'Object' },
|
|
952
1243
|
createSectionController: { type: 'Object' },
|
|
1244
|
+
frameworkErrorHook: { type: 'Object' },
|
|
1245
|
+
onFrameworkError: { type: 'Object' },
|
|
1246
|
+
onframeworkerror: { type: 'Object' },
|
|
1247
|
+
errorRenderer: { type: 'Object' },
|
|
953
1248
|
isolation: { attribute: 'isolation', type: 'String' }
|
|
954
1249
|
},
|
|
955
1250
|
['default'],
|
package/dist/index.d.ts
CHANGED
|
@@ -28,6 +28,8 @@ export { ToolRegistry } from "./services/ToolRegistry.js";
|
|
|
28
28
|
export type { AssessmentToolContext, BaseToolContext, ElementToolContext, ItemToolContext, PassageToolContext, RubricToolContext, SectionToolContext, ToolContext, ToolLevel, } from "./services/tool-context.js";
|
|
29
29
|
export { extractTextContent, hasChoiceInteraction, hasMathContent, hasReadableText, isAssessmentContext, isElementContext, isItemContext, isPassageContext, isRubricContext, isSectionContext, } from "./services/tool-context.js";
|
|
30
30
|
export { DEFAULT_TOOL_PLACEMENT, DEFAULT_TOOL_ORDER, createPackagedToolRegistry, PACKAGED_TOOL_PLACEMENT, registerPackagedTools, } from "./services/createDefaultToolRegistry.js";
|
|
31
|
+
export type { CreateToolsConfigArgs } from "./services/create-tools-config.js";
|
|
32
|
+
export { createToolsConfig } from "./services/create-tools-config.js";
|
|
31
33
|
export { DEFAULT_PERSONAL_NEEDS_PROFILE, createDefaultPersonalNeedsProfile, } from "./services/defaultPersonalNeedsProfile.js";
|
|
32
34
|
export type { ToolComponentFactory, ToolComponentFactoryMap, ToolComponentOverrides, ToolTagMap, } from "./tools/tool-tag-map.js";
|
|
33
35
|
export { createToolElement, DEFAULT_TOOL_TAG_MAP, resolveToolTag, toToolIdFromTag, } from "./tools/tool-tag-map.js";
|
|
@@ -44,14 +46,20 @@ export { ToolCoordinator, ZIndexLayer } from "./services/ToolCoordinator.js";
|
|
|
44
46
|
export type { AnswerEliminatorToolConfig, ProviderLifecycleContext, SectionControllerContext, SectionControllerEvent, SectionControllerEventType, SectionItemEvent, SectionItemEventType, SectionControllerFactoryDefaults, SectionControllerHandle, SectionControllerKey, SectionScopedEvent, SectionScopedEventType, SectionSessionPersistenceConfig, SectionItemEventSubscriptionArgs, SectionScopedEventSubscriptionArgs, SectionEventSubscriptionArgs, SectionSessionPersistenceStrategy, SectionControllerRuntimeState, SectionControllerSessionState, SectionPersistenceFactoryDefaults, ToolConfig, ToolkitCoordinatorConfig, ToolkitCoordinatorHooks, ToolkitErrorContext, ToolkitInitStatus, ToolkitServiceBundle, ToolkitToolsConfig, TTSToolConfig, } from "./services/ToolkitCoordinator.js";
|
|
45
47
|
export { ToolkitCoordinator } from "./services/ToolkitCoordinator.js";
|
|
46
48
|
export type { CanonicalToolsConfig, ToolPlacementConfig, ToolPlacementLevel, ToolPolicyConfig, ToolProvidersConfig, } from "./services/tools-config-normalizer.js";
|
|
49
|
+
export type { FrameworkErrorKind, FrameworkErrorModel, FrameworkErrorSeverity, } from "./services/framework-error.js";
|
|
50
|
+
export { formatFrameworkErrorForConsole, frameworkErrorFromToolConfigDiagnostics, frameworkErrorFromUnknown, toFrameworkErrorModel, } from "./services/framework-error.js";
|
|
51
|
+
export type { ToolConfigDiagnostic, ToolConfigDiagnosticSeverity, ToolConfigStrictness, ToolConfigValidationOptions, ToolConfigValidationResult, } from "./services/tool-config-validation.js";
|
|
47
52
|
export type { ToolbarButtonItem, ToolbarItem, ToolbarItemBase, ToolbarLinkItem, } from "./services/toolbar-items.js";
|
|
48
|
-
export { isExternalIconUrl, isInlineSvgIcon, isToolbarLinkItem, } from "./services/toolbar-items.js";
|
|
53
|
+
export { isExternalIconUrl, isInlineSvgIcon, isToolbarLinkItem, isValidToolbarItemShape, } from "./services/toolbar-items.js";
|
|
49
54
|
export { normalizeToolsConfig, normalizeToolAlias, normalizeToolList, parseToolList, resolveToolsForLevel, } from "./services/tools-config-normalizer.js";
|
|
55
|
+
export { frameworkErrorFromToolConfigValidation, normalizeAndValidateToolsConfig, } from "./services/tool-config-validation.js";
|
|
50
56
|
export type { ParsedToolInstanceId, ToolScopeLevel, } from "./services/tool-instance-id.js";
|
|
51
57
|
export { createScopedToolId, parseScopedToolId, toOverlayToolId, } from "./services/tool-instance-id.js";
|
|
52
58
|
export type { TTSConfig } from "./services/TTSService.js";
|
|
53
59
|
export { PlaybackState, TTSService } from "./services/TTSService.js";
|
|
54
60
|
export { BrowserTTSProvider } from "./services/tts/browser-provider.js";
|
|
61
|
+
export type { TTSHostToolbarLayout, TTSLayoutMode, TTSRuntimeSettings, } from "./services/tts-runtime-config.js";
|
|
62
|
+
export { DEFAULT_TTS_SPEED_OPTIONS, formatTTSSpeedOptionsAsText, normalizeTTSLayoutMode, normalizeTTSSpeedOptions, parseTTSSpeedOptionsFromText, resolveTTSHostToolbarLayout, resolveTTSLayoutMode, resolveTTSRuntimeSettings, } from "./services/tts-runtime-config.js";
|
|
55
63
|
export type { ITTSProvider, ITTSProviderImplementation, TTSSpeechSegment, TTSFeature, TTSProviderCapabilities, } from "@pie-players/pie-tts";
|
|
56
64
|
export type { CreateLoadItemOptions, LoadItem, LoadItemOptions, } from "./item-loader.js";
|
|
57
65
|
export { createFetchItemLoader, createLoadItem, ItemLoadError, } from "./item-loader.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
|
@@ -25,6 +25,7 @@ export { I18nService } from "./services/I18nService.js";
|
|
|
25
25
|
export { ToolRegistry } from "./services/ToolRegistry.js";
|
|
26
26
|
export { extractTextContent, hasChoiceInteraction, hasMathContent, hasReadableText, isAssessmentContext, isElementContext, isItemContext, isPassageContext, isRubricContext, isSectionContext, } from "./services/tool-context.js";
|
|
27
27
|
export { DEFAULT_TOOL_PLACEMENT, DEFAULT_TOOL_ORDER, createPackagedToolRegistry, PACKAGED_TOOL_PLACEMENT, registerPackagedTools, } from "./services/createDefaultToolRegistry.js";
|
|
28
|
+
export { createToolsConfig } from "./services/create-tools-config.js";
|
|
28
29
|
export { DEFAULT_PERSONAL_NEEDS_PROFILE, createDefaultPersonalNeedsProfile, } from "./services/defaultPersonalNeedsProfile.js";
|
|
29
30
|
export { createToolElement, DEFAULT_TOOL_TAG_MAP, resolveToolTag, toToolIdFromTag, } from "./tools/tool-tag-map.js";
|
|
30
31
|
export { PnpToolResolver } from "./services/PNPToolResolver.js";
|
|
@@ -36,11 +37,14 @@ export { ThemeProvider } from "./services/ThemeProvider.js";
|
|
|
36
37
|
// Tool Coordinator
|
|
37
38
|
export { ToolCoordinator, ZIndexLayer } from "./services/ToolCoordinator.js";
|
|
38
39
|
export { ToolkitCoordinator } from "./services/ToolkitCoordinator.js";
|
|
39
|
-
export {
|
|
40
|
+
export { formatFrameworkErrorForConsole, frameworkErrorFromToolConfigDiagnostics, frameworkErrorFromUnknown, toFrameworkErrorModel, } from "./services/framework-error.js";
|
|
41
|
+
export { isExternalIconUrl, isInlineSvgIcon, isToolbarLinkItem, isValidToolbarItemShape, } from "./services/toolbar-items.js";
|
|
40
42
|
export { normalizeToolsConfig, normalizeToolAlias, normalizeToolList, parseToolList, resolveToolsForLevel, } from "./services/tools-config-normalizer.js";
|
|
43
|
+
export { frameworkErrorFromToolConfigValidation, normalizeAndValidateToolsConfig, } from "./services/tool-config-validation.js";
|
|
41
44
|
export { createScopedToolId, parseScopedToolId, toOverlayToolId, } from "./services/tool-instance-id.js";
|
|
42
45
|
export { PlaybackState, TTSService } from "./services/TTSService.js";
|
|
43
46
|
export { BrowserTTSProvider } from "./services/tts/browser-provider.js";
|
|
47
|
+
export { DEFAULT_TTS_SPEED_OPTIONS, formatTTSSpeedOptionsAsText, normalizeTTSLayoutMode, normalizeTTSSpeedOptions, parseTTSSpeedOptionsFromText, resolveTTSHostToolbarLayout, resolveTTSLayoutMode, resolveTTSRuntimeSettings, } from "./services/tts-runtime-config.js";
|
|
44
48
|
export { createFetchItemLoader, createLoadItem, ItemLoadError, } from "./item-loader.js";
|
|
45
49
|
export { createMemoryStorage, createTestAttemptSessionIdentifier, createNewTestAttemptSession, getBrowserLocalStorage, getOrCreateAnonymousDeviceId, getTestAttemptSessionStorageKey, loadTestAttemptSession, saveTestAttemptSession, setCurrentPosition, upsertItemSessionFromPieSessionChange, upsertVisitedItem, } from "./attempt/TestSession.js";
|
|
46
50
|
export { createNewAssessmentSession, getAssessmentSessionStorageKey, loadAssessmentSession, saveAssessmentSession, setCurrentSectionPosition, upsertSectionSession, } from "./attempt/AssessmentSession.js";
|
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,iCAAiC,EACjC,uCAAuC,EACvC,oCAAoC,EACpC,8BAA8B,EAC9B,kBAAkB,EAClB,oBAAoB,GAOpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACN,6BAA6B,EAC7B,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,qBAAqB,GACrB,MAAM,iCAAiC,CAAC;AA6BzC,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAC1F,wDAAwD;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,gEAAgE;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAG5E,OAAO,EACN,cAAc,EACd,oBAAoB,EACpB,aAAa,GACb,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAOhE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AASxD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAY1D,OAAO,EACN,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,gBAAgB,GAChB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACN,sBAAsB,EACtB,kBAAkB,EAClB,0BAA0B,EAC1B,uBAAuB,EACvB,qBAAqB,GACrB,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -92,9 +92,10 @@ export declare class HighlightCoordinator implements HighlightCoordinatorApi {
|
|
|
92
92
|
*/
|
|
93
93
|
highlightTTSWord(textNode: Text, startOffset: number, endOffset: number): void;
|
|
94
94
|
/**
|
|
95
|
-
* Highlight
|
|
95
|
+
* Highlight the coarse TTS read-along band (temporary).
|
|
96
|
+
* Usually one Range per visual line; CSS layer `tts-sentence` for compatibility.
|
|
96
97
|
*
|
|
97
|
-
* @param ranges
|
|
98
|
+
* @param ranges Line (or sentence) ranges to paint with `--pie-tts-line-highlight`
|
|
98
99
|
*/
|
|
99
100
|
highlightTTSSentence(ranges: Range[]): void;
|
|
100
101
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HighlightCoordinator.d.ts","sourceRoot":"","sources":["../../src/services/HighlightCoordinator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE7E;;GAEG;AACH,oBAAY,aAAa;IACxB,QAAQ,aAAa;IACrB,YAAY,iBAAiB;IAC7B,UAAU,eAAe;CACzB;AAED;;GAEG;AACH,oBAAY,cAAc;IACzB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,SAAS,cAAc;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC;IAC/B,KAAK,EAAE,cAAc,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAE/D,qBAAa,oBAAqB,YAAW,uBAAuB;IACnE,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,oBAAoB,CAA0B;IACtD,OAAO,CAAC,WAAW,CAAiC;IAEpD,OAAO,CAAC,eAAe,CAAwC;IAC/D,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,aAAa,CAAiC;IACtD,OAAO,CAAC,wBAAwB,CAAmD;gBAEvE,MAAM,GAAE,0BAA+B;IAmBnD,OAAO,CAAC,qBAAqB;IA4B7B,OAAO,CAAC,UAAU;IA4DlB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,KAAK;IAYb,OAAO,CAAC,uBAAuB;IA2E/B,OAAO,CAAC,qBAAqB;
|
|
1
|
+
{"version":3,"file":"HighlightCoordinator.d.ts","sourceRoot":"","sources":["../../src/services/HighlightCoordinator.ts"],"names":[],"mappings":"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"}
|
|
@@ -233,6 +233,7 @@ export class HighlightCoordinator {
|
|
|
233
233
|
const vars = this.resolveAdaptiveTTSStyle(sourceEl);
|
|
234
234
|
document.documentElement.style.setProperty("--pie-tts-word-highlight", vars.wordHighlight);
|
|
235
235
|
document.documentElement.style.setProperty("--pie-tts-sentence-highlight", vars.sentenceHighlight);
|
|
236
|
+
document.documentElement.style.setProperty("--pie-tts-line-highlight", vars.sentenceHighlight);
|
|
236
237
|
document.documentElement.style.setProperty("--pie-tts-word-underline", vars.wordUnderline);
|
|
237
238
|
document.documentElement.style.setProperty("--pie-tts-word-shadow", vars.wordShadow);
|
|
238
239
|
}
|
|
@@ -278,8 +279,9 @@ export class HighlightCoordinator {
|
|
|
278
279
|
color: inherit;
|
|
279
280
|
}
|
|
280
281
|
|
|
282
|
+
/* tts-sentence registry id: coarse read-along band (visual line boxes in layout) */
|
|
281
283
|
::highlight(tts-sentence) {
|
|
282
|
-
background-color: var(--pie-tts-sentence-highlight, color-mix(in srgb, var(--pie-missing, #ffeb3b) 38%, transparent));
|
|
284
|
+
background-color: var(--pie-tts-line-highlight, var(--pie-tts-sentence-highlight, color-mix(in srgb, var(--pie-missing, #ffeb3b) 38%, transparent)));
|
|
283
285
|
color: inherit;
|
|
284
286
|
}
|
|
285
287
|
|
|
@@ -339,9 +341,10 @@ export class HighlightCoordinator {
|
|
|
339
341
|
this.ttsWordHighlight.add(range);
|
|
340
342
|
}
|
|
341
343
|
/**
|
|
342
|
-
* Highlight
|
|
344
|
+
* Highlight the coarse TTS read-along band (temporary).
|
|
345
|
+
* Usually one Range per visual line; CSS layer `tts-sentence` for compatibility.
|
|
343
346
|
*
|
|
344
|
-
* @param ranges
|
|
347
|
+
* @param ranges Line (or sentence) ranges to paint with `--pie-tts-line-highlight`
|
|
345
348
|
*/
|
|
346
349
|
highlightTTSSentence(ranges) {
|
|
347
350
|
if (!this.ttsSentenceHighlight)
|