@pie-players/pie-assessment-toolkit 0.3.2 → 0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/README.md +5 -8
  2. package/dist/components/ItemToolBar.custom-element.js +539 -94
  3. package/dist/index.d.ts +1 -2
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +1 -1
  6. package/dist/index.js.map +1 -1
  7. package/dist/services/PNPToolResolver.d.ts.map +1 -1
  8. package/dist/services/PNPToolResolver.js +4 -1
  9. package/dist/services/PNPToolResolver.js.map +1 -1
  10. package/dist/services/ToolRegistry.d.ts +51 -0
  11. package/dist/services/ToolRegistry.d.ts.map +1 -1
  12. package/dist/services/ToolRegistry.js +60 -0
  13. package/dist/services/ToolRegistry.js.map +1 -1
  14. package/dist/services/ToolkitCoordinator.d.ts +12 -24
  15. package/dist/services/ToolkitCoordinator.d.ts.map +1 -1
  16. package/dist/services/ToolkitCoordinator.js +60 -99
  17. package/dist/services/ToolkitCoordinator.js.map +1 -1
  18. package/dist/services/defaultPersonalNeedsProfile.js +2 -2
  19. package/dist/services/defaultPersonalNeedsProfile.js.map +1 -1
  20. package/dist/services/interfaces.d.ts +8 -3
  21. package/dist/services/interfaces.d.ts.map +1 -1
  22. package/dist/services/interfaces.js.map +1 -1
  23. package/dist/services/pnp-standard-features.d.ts +1 -1
  24. package/dist/services/tool-providers/index.d.ts +0 -4
  25. package/dist/services/tool-providers/index.d.ts.map +1 -1
  26. package/dist/services/tool-providers/index.js +0 -2
  27. package/dist/services/tool-providers/index.js.map +1 -1
  28. package/dist/services/tools-config-normalizer.d.ts +40 -3
  29. package/dist/services/tools-config-normalizer.d.ts.map +1 -1
  30. package/dist/services/tools-config-normalizer.js +86 -11
  31. package/dist/services/tools-config-normalizer.js.map +1 -1
  32. package/dist/tools/client.d.ts +0 -2
  33. package/dist/tools/client.d.ts.map +1 -1
  34. package/dist/tools/client.js +0 -4
  35. package/dist/tools/client.js.map +1 -1
  36. package/dist/tools/default-tool-module-loaders.js +1 -1
  37. package/dist/tools/default-tool-module-loaders.js.map +1 -1
  38. package/dist/tools/library-loader.d.ts.map +1 -1
  39. package/dist/tools/library-loader.js +0 -35
  40. package/dist/tools/library-loader.js.map +1 -1
  41. package/dist/tools/registrations/accessibility-tools.d.ts.map +1 -1
  42. package/dist/tools/registrations/accessibility-tools.js +44 -41
  43. package/dist/tools/registrations/accessibility-tools.js.map +1 -1
  44. package/dist/tools/registrations/calculator.d.ts.map +1 -1
  45. package/dist/tools/registrations/calculator.js +50 -2
  46. package/dist/tools/registrations/calculator.js.map +1 -1
  47. package/dist/tools/registrations/interaction-tools.d.ts.map +1 -1
  48. package/dist/tools/registrations/interaction-tools.js +22 -28
  49. package/dist/tools/registrations/interaction-tools.js.map +1 -1
  50. package/dist/tools/registrations/measurement-tools.d.ts.map +1 -1
  51. package/dist/tools/registrations/measurement-tools.js +19 -27
  52. package/dist/tools/registrations/measurement-tools.js.map +1 -1
  53. package/dist/tools/registrations/subject-specific-tools.d.ts.map +1 -1
  54. package/dist/tools/registrations/subject-specific-tools.js +53 -37
  55. package/dist/tools/registrations/subject-specific-tools.js.map +1 -1
  56. package/dist/tools/registrations/toolbar-registration-helpers.d.ts +15 -0
  57. package/dist/tools/registrations/toolbar-registration-helpers.d.ts.map +1 -0
  58. package/dist/tools/registrations/toolbar-registration-helpers.js +22 -0
  59. package/dist/tools/registrations/toolbar-registration-helpers.js.map +1 -0
  60. package/dist/tools/registrations/tts.d.ts.map +1 -1
  61. package/dist/tools/registrations/tts.js +49 -0
  62. package/dist/tools/registrations/tts.js.map +1 -1
  63. package/dist/tools/types.d.ts +1 -1
  64. package/dist/tools/types.d.ts.map +1 -1
  65. package/dist/tools/types.js.map +1 -1
  66. package/package.json +8 -10
  67. package/dist/services/tool-providers/MathJsToolProvider.d.ts +0 -25
  68. package/dist/services/tool-providers/MathJsToolProvider.d.ts.map +0 -1
  69. package/dist/services/tool-providers/MathJsToolProvider.js +0 -53
  70. package/dist/services/tool-providers/MathJsToolProvider.js.map +0 -1
  71. package/dist/services/tool-providers/TIToolProvider.d.ts +0 -107
  72. package/dist/services/tool-providers/TIToolProvider.d.ts.map +0 -1
  73. package/dist/services/tool-providers/TIToolProvider.js +0 -123
  74. package/dist/services/tool-providers/TIToolProvider.js.map +0 -1
  75. package/dist/tools/calculators/mathjs-provider.d.ts +0 -50
  76. package/dist/tools/calculators/mathjs-provider.d.ts.map +0 -1
  77. package/dist/tools/calculators/mathjs-provider.js +0 -660
  78. package/dist/tools/calculators/mathjs-provider.js.map +0 -1
  79. package/dist/tools/calculators/ti-provider.d.ts +0 -122
  80. package/dist/tools/calculators/ti-provider.d.ts.map +0 -1
  81. package/dist/tools/calculators/ti-provider.js +0 -710
  82. package/dist/tools/calculators/ti-provider.js.map +0 -1
  83. package/src/README.md +0 -626
  84. package/src/components/ItemToolBar.svelte +0 -717
  85. package/src/components/PieAssessmentToolkit.svelte +0 -681
  86. package/src/components/SectionToolBar.svelte +0 -58
  87. package/src/components/ToolButton.svelte +0 -146
  88. package/src/components/ToolButtonGroup.svelte +0 -125
  89. package/src/tools/README.md +0 -617
  90. package/src/tools/calculators/README.md +0 -395
@@ -1 +0,0 @@
1
- {"version":3,"file":"ti-provider.js","sourceRoot":"","sources":["../../../src/tools/calculators/ti-provider.ts"],"names":[],"mappings":"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"}
package/src/README.md DELETED
@@ -1,626 +0,0 @@
1
- # PIE Assessment Toolkit
2
-
3
- **Independent, composable services** for coordinating tools, accommodations, and item players in assessment applications.
4
-
5
- This is not an opinionated framework or monolithic "player" - it's a toolkit that solves specific problems.
6
-
7
- ## What Does It Solve?
8
-
9
- - **Tool coordination**: z-index management, visibility state
10
- - **Accommodation support**: IEP/504 tool configuration logic
11
- - **TTS + annotation coordination**: Prevent conflicts between highlights
12
- - **Event communication**: Standard contracts between components
13
- - **Accessibility theming**: Consistent high-contrast, font sizing
14
-
15
- ## Architecture Overview
16
-
17
- See [Tools & Accommodations Architecture](../../../docs/tools-and-accomodations/architecture.md) for complete design documentation.
18
-
19
- ### Primary Interface: Section Player
20
-
21
- The **PIE Section Player** (`@pie-players/pie-section-player`) is the primary interface for integrating toolkit services. Pass services as JavaScript properties, and the player handles SSML extraction, catalog lifecycle, and TTS tool rendering automatically.
22
-
23
- ### Core Principles
24
-
25
- 1. **Composable Services**: Import only what you need
26
- 2. **No Framework Lock-in**: Works with any JavaScript framework
27
- 3. **Product Control**: Products control navigation, persistence, layout, backend
28
- 4. **Standard Contracts**: Well-defined event types for component communication
29
- 5. **Section Player Integration**: Seamless integration with the section player for automatic service coordination
30
-
31
- ## Implementation Status
32
-
33
- ### ✅ Core Infrastructure
34
-
35
- - **TypedEventBus**: Type-safe event bus built on native EventTarget
36
- - **Event Types**: Complete event definitions (player, tools, navigation, state, interaction)
37
-
38
- ### ✅ Toolkit Services
39
-
40
- - **ToolCoordinator**: Manages z-index layering and visibility for floating tools
41
- - **HighlightCoordinator**: Separate highlight layers for TTS (temporary) and annotations (persistent)
42
- - **TTSService**: Singleton service providing text-to-speech across multiple entry points with QTI 3.0 catalog support
43
- - **AccessibilityCatalogResolver**: QTI 3.0 accessibility catalog management for SSML, sign language, braille, etc.
44
- - **SSMLExtractor**: Automatic extraction of embedded `<speak>` tags from content into accessibility catalogs
45
- - **ThemeProvider**: Consistent accessibility theming across items and tools
46
- - **ToolConfigResolver**: 3-tier hierarchy for IEP/504 tool configuration
47
-
48
- ### ✅ Section Player Integration
49
-
50
- The toolkit integrates seamlessly with the **PIE Section Player**:
51
-
52
- - **Primary Interface**: Section player is the main integration point
53
- - **Automatic SSML Extraction**: Extracts embedded `<speak>` tags from passages and items
54
- - **Catalog Lifecycle**: Manages item-level catalogs automatically (add on load, clear on navigation)
55
- - **TTS Tool Rendering**: Shows inline TTS buttons in passage/item headers
56
- - **Service Coordination**: All toolkit services work together automatically
57
-
58
- **Integration Pattern**:
59
-
60
- ```javascript
61
- import {
62
- TTSService,
63
- AccessibilityCatalogResolver,
64
- ToolCoordinator,
65
- HighlightCoordinator
66
- } from '@pie-players/pie-assessment-toolkit';
67
-
68
- // Initialize services
69
- const ttsService = new TTSService();
70
- const catalogResolver = new AccessibilityCatalogResolver([], 'en-US');
71
- // ... initialize other services
72
-
73
- // Pass to section player
74
- sectionPlayer.ttsService = ttsService;
75
- sectionPlayer.catalogResolver = catalogResolver;
76
- sectionPlayer.section = section;
77
- ```
78
-
79
- ### ✅ Runtime Integration
80
-
81
- Use this toolkit package for shared services, section-player orchestration, and host-app integrations.
82
-
83
- ## Project Structure
84
-
85
- ```text
86
- assessment-toolkit/
87
- ├── core/
88
- │ └── TypedEventBus.ts # Event system
89
- ├── services/
90
- │ ├── ToolCoordinator.ts # Z-index, visibility
91
- │ ├── HighlightCoordinator.ts # TTS + annotation highlights
92
- │ ├── TTSService.ts # Text-to-speech with catalog support
93
- │ ├── AccessibilityCatalogResolver.ts # QTI 3.0 catalog management
94
- │ ├── SSMLExtractor.ts # Automatic SSML extraction
95
- │ ├── ThemeProvider.ts # Accessibility theming
96
- │ └── ToolConfigResolver.ts # IEP/504 configuration
97
- ├── types/
98
- │ └── events.ts # Event definitions
99
- ├── player/
100
- │ ├── README.md # Optional reference patterns
101
- │ └── navigation-types.ts # Navigation abstractions
102
- └── index.ts # Public exports
103
- ```
104
-
105
- ## Usage Examples
106
-
107
- ### Minimal Integration (Just Events + Tools)
108
-
109
- ```typescript
110
- import {
111
- TypedEventBus,
112
- ToolCoordinator,
113
- type AssessmentToolkitEvents
114
- } from '$lib/assessment-toolkit';
115
-
116
- const eventBus = new TypedEventBus<AssessmentToolkitEvents>();
117
- const toolCoordinator = new ToolCoordinator();
118
-
119
- // Register tools
120
- toolCoordinator.registerTool('calculator', 'Calculator', calcElement);
121
-
122
- // Wire up events
123
- eventBus.on('player:session-changed', async (e) => {
124
- await myBackend.save(e.detail.session);
125
- });
126
-
127
- eventBus.on('tool:activated', (e) => {
128
- toolCoordinator.bringToFront(e.target);
129
- });
130
- ```
131
-
132
- ### Advanced Integration (All Services)
133
-
134
- ```typescript
135
- import {
136
- TypedEventBus,
137
- ToolCoordinator,
138
- HighlightCoordinator,
139
- TTSService,
140
- ThemeProvider,
141
- ToolConfigResolver,
142
- type AssessmentToolkitEvents
143
- } from '$lib/assessment-toolkit';
144
-
145
- // Initialize services
146
- const eventBus = new TypedEventBus<AssessmentToolkitEvents>();
147
- const toolCoordinator = new ToolCoordinator();
148
- const highlightCoordinator = new HighlightCoordinator();
149
- const ttsService = TTSService.getInstance();
150
- const themeProvider = new ThemeProvider();
151
- const toolResolver = new ToolConfigResolver();
152
-
153
- // Initialize TTS
154
- await ttsService.initialize('browser');
155
- ttsService.setHighlightCoordinator(highlightCoordinator);
156
-
157
- // Apply accessibility theme
158
- themeProvider.applyTheme({
159
- highContrast: true,
160
- fontSize: 'large'
161
- });
162
-
163
- // Resolve tool configuration
164
- const toolConfig = toolResolver.resolveTool(
165
- 'calculator',
166
- itemConfig.tools, // Item level
167
- rosterConfig.allowances, // Roster level
168
- studentProfile.accommodations // Student level
169
- );
170
-
171
- // Wire up events
172
- eventBus.on('player:session-changed', async (e) => {
173
- await myBackend.saveSession(e.detail);
174
- myAnalytics.track('response', e.detail);
175
- });
176
-
177
- eventBus.on('tool:activated', (e) => {
178
- toolCoordinator.bringToFront(e.target);
179
- myAnalytics.track('tool-usage', e.detail);
180
- });
181
- ```
182
-
183
- ### Tool Configuration Example
184
-
185
- ```typescript
186
- import {
187
- ToolConfigResolver,
188
- type ItemToolConfig,
189
- type RosterToolConfig,
190
- type StudentAccommodations
191
- } from '$lib/assessment-toolkit';
192
-
193
- const resolver = new ToolConfigResolver();
194
-
195
- // Scenario: Student with IEP requiring TTS and calculator
196
- const studentProfile: StudentAccommodations = {
197
- accommodations: ['tts', 'calculator', 'extended-time']
198
- };
199
-
200
- // Test blocks lineReader but allows calculator
201
- const rosterConfig: RosterToolConfig = {
202
- calculator: "1",
203
- lineReader: "0"
204
- };
205
-
206
- // Current item requires scientific calculator
207
- const itemConfig: ItemToolConfig = {
208
- calculator: {
209
- type: 'scientific',
210
- required: true
211
- }
212
- };
213
-
214
- // Resolve all tools
215
- const resolved = resolver.resolveAll({
216
- itemConfig,
217
- rosterConfig,
218
- studentProfile
219
- });
220
-
221
- // Result:
222
- // - calculator: enabled (scientific, required by item)
223
- // - tts: enabled (student accommodation)
224
- // - lineReader: disabled (blocked by roster)
225
- ```
226
-
227
- ## Integration Patterns
228
-
229
- ### Pattern 1: Quiz Engine (Advanced - DIY Wiring)
230
-
231
- Quiz Engine imports services and wires their own way.
232
-
233
- ```typescript
234
- class QuizEngineAssessmentPlayer {
235
- private eventBus = new TypedEventBus<AssessmentToolkitEvents>();
236
- private toolCoordinator = new ToolCoordinator();
237
-
238
- constructor() {
239
- this.setupEventHandlers();
240
- this.setupQENavigation();
241
- this.setupQEPersistence();
242
- }
243
-
244
- private setupEventHandlers() {
245
- this.eventBus.on('player:session-changed', async (e) => {
246
- await this.qeBackend.saveSession(e.detail);
247
- this.qeAnalytics.track('response', e.detail);
248
- });
249
- }
250
- }
251
- ```
252
-
253
- ### Pattern 2: Reference Implementation (Pre-fab)
254
-
255
- Use the reference implementation with custom navigation.
256
-
257
- ```typescript
258
- // Coming soon - reference implementation
259
- ```
260
-
261
- ## API Documentation
262
-
263
- ### TypedEventBus
264
-
265
- Type-safe event bus built on native EventTarget.
266
-
267
- ```typescript
268
- const eventBus = new TypedEventBus<AssessmentToolkitEvents>();
269
-
270
- // Emit events
271
- eventBus.emit('player:session-changed', { /* ... */ });
272
-
273
- // Listen to events
274
- eventBus.on('player:session-changed', (e) => {
275
- console.log('Session changed:', e.detail);
276
- });
277
-
278
- // One-time listeners
279
- eventBus.once('player:load-complete', (e) => { /* ... */ });
280
-
281
- // Remove listeners
282
- eventBus.off('player:session-changed', handler);
283
- ```
284
-
285
- ### ToolCoordinator
286
-
287
- Manages z-index layering and visibility.
288
-
289
- ```typescript
290
- const toolCoordinator = new ToolCoordinator();
291
-
292
- // Register tools
293
- toolCoordinator.registerTool('calculator', 'Calculator', element);
294
-
295
- // Manage visibility
296
- toolCoordinator.showTool('calculator');
297
- toolCoordinator.hideTool('calculator');
298
- toolCoordinator.toggleTool('calculator');
299
-
300
- // Bring to front
301
- toolCoordinator.bringToFront(element);
302
-
303
- // Check state
304
- const isVisible = toolCoordinator.isToolVisible('calculator');
305
- ```
306
-
307
- ### HighlightCoordinator
308
-
309
- Manages TTS and annotation highlights.
310
-
311
- ```typescript
312
- const highlightCoordinator = new HighlightCoordinator();
313
-
314
- // TTS highlights (temporary)
315
- highlightCoordinator.highlightTTSWord(textNode, start, end);
316
- highlightCoordinator.highlightTTSSentence([range1, range2]);
317
- highlightCoordinator.clearTTS();
318
-
319
- // Annotation highlights (persistent)
320
- const id = highlightCoordinator.addAnnotation(range, 'yellow');
321
- highlightCoordinator.removeAnnotation(id);
322
- ```
323
-
324
- ### TTSService
325
-
326
- Singleton text-to-speech service with QTI 3.0 accessibility catalog support.
327
-
328
- ```typescript
329
- import {
330
- TTSService,
331
- BrowserTTSProvider,
332
- AccessibilityCatalogResolver
333
- } from '@pie-players/pie-assessment-toolkit';
334
-
335
- const ttsService = new TTSService();
336
-
337
- // Initialize with provider
338
- await ttsService.initialize(new BrowserTTSProvider());
339
-
340
- // Set up catalog resolver for SSML support
341
- const catalogResolver = new AccessibilityCatalogResolver(
342
- assessment.accessibilityCatalogs,
343
- 'en-US'
344
- );
345
- ttsService.setCatalogResolver(catalogResolver);
346
-
347
- // Playback with catalog support
348
- await ttsService.speak('Read this text', {
349
- catalogId: 'prompt-001', // Uses pre-authored SSML if available
350
- language: 'en-US'
351
- });
352
-
353
- // Plain text fallback (no catalog)
354
- await ttsService.speak('Read this text');
355
-
356
- // Controls
357
- ttsService.pause();
358
- ttsService.resume();
359
- ttsService.stop();
360
-
361
- // State
362
- const isPlaying = ttsService.isPlaying();
363
-
364
- // Dynamic settings updates (for preview/live changes)
365
- await ttsService.updateSettings({
366
- rate: 1.5,
367
- pitch: 1.2,
368
- voice: 'Matthew'
369
- });
370
- ```
371
-
372
- ### AccessibilityCatalogResolver
373
-
374
- Manages QTI 3.0 accessibility catalogs (SSML, sign language, braille, simplified language, etc.).
375
-
376
- ```typescript
377
- import { AccessibilityCatalogResolver } from '@pie-players/pie-assessment-toolkit';
378
-
379
- // Initialize with assessment-level catalogs
380
- const resolver = new AccessibilityCatalogResolver(
381
- assessment.accessibilityCatalogs,
382
- 'en-US' // default language
383
- );
384
-
385
- // Add item-level catalogs (higher priority)
386
- resolver.addItemCatalogs(item.accessibilityCatalogs);
387
-
388
- // Get alternative representation
389
- const alternative = resolver.getAlternative('prompt-001', {
390
- type: 'spoken',
391
- language: 'en-US',
392
- useFallback: true
393
- });
394
-
395
- // Clear item catalogs when navigating away
396
- resolver.clearItemCatalogs();
397
-
398
- // Get all alternatives for an identifier
399
- const alternatives = resolver.getAllAlternatives('prompt-001');
400
-
401
- // Check availability
402
- const hasSpoken = resolver.hasCatalog('prompt-001');
403
- ```
404
-
405
- ### SSMLExtractor
406
-
407
- Automatically extracts embedded `<speak>` tags from PIE content and generates QTI 3.0 accessibility catalogs.
408
-
409
- ```typescript
410
- import { SSMLExtractor } from '@pie-players/pie-assessment-toolkit';
411
-
412
- const extractor = new SSMLExtractor();
413
-
414
- // Extract from item config
415
- const result = extractor.extractFromItemConfig(item.config);
416
-
417
- // Result contains:
418
- // - cleanedConfig: Config with SSML removed, catalog IDs added
419
- // - catalogs: Generated accessibility catalogs
420
-
421
- // Update item with cleaned config
422
- item.config = result.cleanedConfig;
423
- item.config.extractedCatalogs = result.catalogs;
424
-
425
- // Register with catalog resolver
426
- catalogResolver.addItemCatalogs(result.catalogs);
427
- ```
428
-
429
- **Example Input:**
430
-
431
- ```typescript
432
- {
433
- prompt: `<div>
434
- <speak>Solve <prosody rate="slow">x squared</prosody>.</speak>
435
- <p>Solve x² = 0</p>
436
- </div>`
437
- }
438
- ```
439
-
440
- **Example Output:**
441
-
442
- ```typescript
443
- {
444
- // Cleaned config
445
- prompt: `<div data-catalog-id="auto-prompt-q1-0">
446
- <p>Solve x² = 0</p>
447
- </div>`,
448
-
449
- // Generated catalogs
450
- extractedCatalogs: [{
451
- identifier: 'auto-prompt-q1-0',
452
- cards: [{
453
- catalog: 'spoken',
454
- language: 'en-US',
455
- content: '<speak>Solve <prosody rate="slow">x squared</prosody>.</speak>'
456
- }]
457
- }]
458
- }
459
- ```
460
-
461
- **Integration:** Used automatically by section player's ItemRenderer and PassageRenderer components.
462
-
463
- ### ThemeProvider
464
-
465
- Accessibility theming.
466
-
467
- ```typescript
468
- const themeProvider = new ThemeProvider();
469
-
470
- // Apply theme
471
- themeProvider.applyTheme({
472
- highContrast: true,
473
- fontSize: 'large',
474
- backgroundColor: '#000',
475
- foregroundColor: '#fff'
476
- });
477
-
478
- // Quick settings
479
- themeProvider.setHighContrast(true);
480
- themeProvider.setFontSize('xlarge');
481
- ```
482
-
483
- ### ToolConfigResolver
484
-
485
- IEP/504 tool configuration.
486
-
487
- ```typescript
488
- const resolver = new ToolConfigResolver();
489
-
490
- // Resolve single tool
491
- const config = resolver.resolveTool('calculator', itemConfig, rosterConfig, studentProfile);
492
-
493
- // Resolve all tools
494
- const allTools = resolver.resolveAll({ itemConfig, rosterConfig, studentProfile });
495
-
496
- // Helpers
497
- const enabled = resolver.isToolEnabled('calculator', input);
498
- const required = resolver.isToolRequired('calculator', input);
499
- const enabledTools = resolver.getEnabledTools(input);
500
- ```
501
-
502
- ## QTI 3.0 Support
503
-
504
- The toolkit natively supports QTI 3.0 features for standards-compliant assessment delivery.
505
-
506
- ### Personal Needs Profile (PNP)
507
-
508
- Student accommodations and IEP/504 support with automatic tool resolution:
509
-
510
- ```typescript
511
- import { PNPToolResolver } from '@pie-players/pie-assessment-toolkit';
512
-
513
- // QTI 3.0 assessment with PNP
514
- const assessment = {
515
- personalNeedsProfile: {
516
- supports: ['textToSpeech', 'calculator'],
517
- activateAtInit: ['textToSpeech']
518
- },
519
- settings: {
520
- districtPolicy: {
521
- blockedTools: [], // District blocks (absolute veto)
522
- requiredTools: ['ruler'] // District requires
523
- },
524
- toolConfigs: {
525
- calculator: {
526
- type: 'scientific',
527
- provider: 'desmos'
528
- }
529
- }
530
- }
531
- };
532
-
533
- // Or use PNPToolResolver directly
534
- const resolver = new PNPToolResolver();
535
- const tools = resolver.resolveTools(assessment, currentItemRef);
536
- // Returns: [{ id: 'textToSpeech', enabled: true, ... }, ...]
537
- ```
538
-
539
- **Standard PNP Support IDs -> toolkit tool IDs (semantic):**
540
-
541
- ```typescript
542
- 'textToSpeech' → 'textToSpeech'
543
- 'calculator' → 'calculator'
544
- 'ruler' → 'ruler'
545
- 'protractor' → 'protractor'
546
- 'highlighter' → 'highlighter'
547
- 'lineReader' → 'lineReader'
548
- 'colorContrast' → 'colorScheme'
549
- 'answerMasking' → 'answerEliminator'
550
- ```
551
-
552
- Toolkit tool IDs resolve to default web component tags through `DEFAULT_TOOL_TAG_MAP`
553
- and can be overridden via `createDefaultToolRegistry(...)`:
554
-
555
- ```typescript
556
- import { createDefaultToolRegistry } from '@pie-players/pie-assessment-toolkit';
557
-
558
- const toolRegistry = createDefaultToolRegistry({
559
- // Optional: override only the tools you want to customize.
560
- // Built-in toolbar elements already provide lazy loading defaults.
561
- toolModuleLoaders: {
562
- calculator: () => import('@pie-players/pie-tool-calculator')
563
- },
564
- toolTagMap: {
565
- calculator: 'my-calculator-tool',
566
- textToSpeech: 'my-tts-tool'
567
- }
568
- });
569
- ```
570
-
571
- ### Context Declarations
572
-
573
- Global variables shared across assessment items:
574
-
575
- ```typescript
576
- import { ContextVariableStore } from '@pie-players/pie-assessment-toolkit';
577
-
578
- // Assessment with context declarations
579
- const assessment = {
580
- contextDeclarations: [
581
- {
582
- identifier: 'RANDOM_SEED',
583
- baseType: 'integer',
584
- cardinality: 'single',
585
- defaultValue: 42
586
- },
587
- {
588
- identifier: 'DIFFICULTY_LEVEL',
589
- baseType: 'string',
590
- cardinality: 'single',
591
- defaultValue: 'medium'
592
- }
593
- ]
594
- };
595
-
596
- // Use ContextVariableStore directly
597
- const store = new ContextVariableStore(assessment.contextDeclarations);
598
- store.set('RANDOM_SEED', 12345);
599
- const context = store.toObject();
600
- ```
601
-
602
- **Use Cases:**
603
-
604
- - Cross-item randomization (shared random seeds)
605
- - Adaptive testing (difficulty adjustment based on performance)
606
- - Shared configuration (currency symbols, measurement units)
607
- - Item dependencies (later items react to earlier responses)
608
-
609
- ### QTI 3.0 Precedence Hierarchy
610
-
611
- Tool resolution follows this precedence (highest to lowest):
612
-
613
- ```text
614
- 1. District Block (absolute veto)
615
- 2. Test Administration Override
616
- 3. Item Restriction (per-item block)
617
- 4. Item Requirement (forces enable)
618
- 5. District Requirement
619
- 6. PNP Supports (student accommodations)
620
- ```
621
-
622
- ## Related Documentation
623
-
624
- - [Architecture Overview](../../../docs/ARCHITECTURE.md) - Complete system architecture
625
- - [Assessment Toolkit Architecture](../../../docs/tools-and-accomodations/tools-high-level-architecture.md) - Toolkit design
626
- - [Tools Architecture](../../../docs/tools-and-accomodations/tools-high-level-architecture.md) - Tool coordination