@pie-players/pie-assessment-toolkit 0.2.2 → 0.2.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.
- package/README.md +159 -1
- package/dist/index.d.ts +16 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -2
- package/dist/index.js.map +1 -1
- package/dist/player/AssessmentPlayer.d.ts +9 -0
- package/dist/player/AssessmentPlayer.d.ts.map +1 -1
- package/dist/player/AssessmentPlayer.js +13 -4
- package/dist/player/AssessmentPlayer.js.map +1 -1
- package/dist/services/AnnotationToolbarConfig.d.ts +134 -0
- package/dist/services/AnnotationToolbarConfig.d.ts.map +1 -0
- package/dist/services/AnnotationToolbarConfig.js +100 -0
- package/dist/services/AnnotationToolbarConfig.js.map +1 -0
- package/dist/services/HighlightCoordinator.d.ts +23 -10
- package/dist/services/HighlightCoordinator.d.ts.map +1 -1
- package/dist/services/HighlightCoordinator.js +87 -40
- package/dist/services/HighlightCoordinator.js.map +1 -1
- package/dist/services/PNPToolResolver.d.ts +171 -15
- package/dist/services/PNPToolResolver.d.ts.map +1 -1
- package/dist/services/PNPToolResolver.js +324 -32
- package/dist/services/PNPToolResolver.js.map +1 -1
- package/dist/services/RangeSerializer.d.ts +119 -0
- package/dist/services/RangeSerializer.d.ts.map +1 -0
- package/dist/services/RangeSerializer.js +199 -0
- package/dist/services/RangeSerializer.js.map +1 -0
- package/dist/services/TTSService.d.ts +4 -1
- package/dist/services/TTSService.d.ts.map +1 -1
- package/dist/services/TTSService.js +58 -3
- package/dist/services/TTSService.js.map +1 -1
- package/dist/services/ToolRegistry.d.ts +225 -0
- package/dist/services/ToolRegistry.d.ts.map +1 -0
- package/dist/services/ToolRegistry.js +248 -0
- package/dist/services/ToolRegistry.js.map +1 -0
- package/dist/services/ToolkitCoordinator.d.ts +22 -0
- package/dist/services/ToolkitCoordinator.d.ts.map +1 -1
- package/dist/services/ToolkitCoordinator.js +44 -0
- package/dist/services/ToolkitCoordinator.js.map +1 -1
- package/dist/services/createDefaultToolRegistry.d.ts +72 -0
- package/dist/services/createDefaultToolRegistry.d.ts.map +1 -0
- package/dist/services/createDefaultToolRegistry.js +147 -0
- package/dist/services/createDefaultToolRegistry.js.map +1 -0
- package/dist/services/interfaces.d.ts +8 -0
- package/dist/services/interfaces.d.ts.map +1 -1
- package/dist/services/interfaces.js.map +1 -1
- package/dist/services/pnp-provenance.d.ts +167 -0
- package/dist/services/pnp-provenance.d.ts.map +1 -0
- package/dist/services/pnp-provenance.js +230 -0
- package/dist/services/pnp-provenance.js.map +1 -0
- package/dist/services/pnp-standard-features.d.ts +240 -0
- package/dist/services/pnp-standard-features.d.ts.map +1 -0
- package/dist/services/pnp-standard-features.js +342 -0
- package/dist/services/pnp-standard-features.js.map +1 -0
- package/dist/services/tool-context.d.ts +150 -0
- package/dist/services/tool-context.d.ts.map +1 -0
- package/dist/services/tool-context.js +157 -0
- package/dist/services/tool-context.js.map +1 -0
- package/dist/services/tool-providers/ToolProviderRegistry.d.ts.map +1 -1
- package/dist/services/tool-providers/ToolProviderRegistry.js +7 -7
- package/dist/services/tool-providers/ToolProviderRegistry.js.map +1 -1
- package/dist/tools/registrations/accessibility-tools.d.ts +43 -0
- package/dist/tools/registrations/accessibility-tools.d.ts.map +1 -0
- package/dist/tools/registrations/accessibility-tools.js +230 -0
- package/dist/tools/registrations/accessibility-tools.js.map +1 -0
- package/dist/tools/registrations/calculator.d.ts +21 -0
- package/dist/tools/registrations/calculator.d.ts.map +1 -0
- package/dist/tools/registrations/calculator.js +98 -0
- package/dist/tools/registrations/calculator.js.map +1 -0
- package/dist/tools/registrations/interaction-tools.d.ts +28 -0
- package/dist/tools/registrations/interaction-tools.d.ts.map +1 -0
- package/dist/tools/registrations/interaction-tools.js +124 -0
- package/dist/tools/registrations/interaction-tools.js.map +1 -0
- package/dist/tools/registrations/measurement-tools.d.ts +25 -0
- package/dist/tools/registrations/measurement-tools.d.ts.map +1 -0
- package/dist/tools/registrations/measurement-tools.js +112 -0
- package/dist/tools/registrations/measurement-tools.js.map +1 -0
- package/dist/tools/registrations/subject-specific-tools.d.ts +28 -0
- package/dist/tools/registrations/subject-specific-tools.d.ts.map +1 -0
- package/dist/tools/registrations/subject-specific-tools.js +118 -0
- package/dist/tools/registrations/subject-specific-tools.js.map +1 -0
- package/dist/tools/registrations/tts.d.ts +20 -0
- package/dist/tools/registrations/tts.d.ts.map +1 -0
- package/dist/tools/registrations/tts.js +86 -0
- package/dist/tools/registrations/tts.js.map +1 -0
- package/dist/tools/tool-tag-map.d.ts +24 -0
- package/dist/tools/tool-tag-map.d.ts.map +1 -0
- package/dist/tools/tool-tag-map.js +38 -0
- package/dist/tools/tool-tag-map.js.map +1 -0
- package/package.json +15 -7
- package/src/README.md +25 -11
- package/src/components/PNPProfileTester.example.svelte +188 -0
- package/src/components/PNPProfileTester.svelte +397 -0
- package/src/components/PNPProvenanceViewer.svelte +260 -0
- package/src/components/QuestionToolBar.svelte +160 -83
- package/src/components/ToolButton.svelte +146 -0
- package/src/components/ToolButtonGroup.svelte +109 -0
- package/src/reference-layout/ReferenceLayout.svelte +5 -13
- package/dist/services/PNPMapper.d.ts +0 -71
- package/dist/services/PNPMapper.d.ts.map +0 -1
- package/dist/services/PNPMapper.js +0 -98
- package/dist/services/PNPMapper.js.map +0 -1
|
@@ -2,19 +2,49 @@
|
|
|
2
2
|
* PNP Tool Resolver
|
|
3
3
|
*
|
|
4
4
|
* Resolves tool availability from QTI 3.0 Personal Needs Profile (PNP) and
|
|
5
|
-
* assessment settings. Implements precedence hierarchy for tool configuration
|
|
5
|
+
* assessment settings. Implements a precedence hierarchy for tool configuration
|
|
6
|
+
* based on common assessment platform governance patterns.
|
|
6
7
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
8
|
+
* PRECEDENCE HIERARCHY (highest to lowest):
|
|
9
|
+
* ==========================================
|
|
10
|
+
*
|
|
11
|
+
* Standards-Based (QTI 3.0):
|
|
12
|
+
* - PNP supports (#6): Student's documented accessibility needs (accessibilityInfo.accessFeature)
|
|
13
|
+
* - Item-level settings (#3, #4): Per-item accessibility requirements/restrictions
|
|
14
|
+
*
|
|
15
|
+
* Implementation-Specific (Common Practice):
|
|
16
|
+
* - District policy (#1, #5): Institutional governance and legal compliance
|
|
17
|
+
* - Test administration (#2): Session-level operational control
|
|
18
|
+
*
|
|
19
|
+
* The hierarchy itself is NOT defined by QTI 3.0 standards but follows common
|
|
20
|
+
* patterns in K-12 assessment platforms, aligning with US IEP/504 accommodation
|
|
21
|
+
* hierarchies where legal requirements and institutional policies take precedence.
|
|
22
|
+
*
|
|
23
|
+
* Precedence Order:
|
|
24
|
+
* 1. District block (absolute veto) - Legal/policy requirements
|
|
25
|
+
* 2. Test administration override - Proctor/administrator operational control
|
|
26
|
+
* 3. Item restriction (per-item block) - Content author can disable for specific items
|
|
27
|
+
* 4. Item requirement (forces enable) - Required by IEP/504 or content needs
|
|
28
|
+
* 5. District requirement - Institutional accessibility requirements
|
|
29
|
+
* 6. PNP supports (student needs) - QTI 3.0 standard student preferences
|
|
30
|
+
*
|
|
31
|
+
* Governance Context:
|
|
32
|
+
* - Institutional veto (district) trumps individual preferences (legal compliance)
|
|
33
|
+
* - Session control (test admin) enables operational flexibility
|
|
34
|
+
* - Content restrictions (item) prevent tools that invalidate assessment
|
|
35
|
+
* - Required accommodations (IEP/504) ensure legal compliance
|
|
36
|
+
* - Student preferences (PNP) are honored when not overridden
|
|
37
|
+
*
|
|
38
|
+
* References:
|
|
39
|
+
* - QTI 3.0: https://www.imsglobal.org/spec/qti/v3p0
|
|
40
|
+
* - IMS AfA 3.0: https://www.imsglobal.org/spec/afa/v3p0
|
|
41
|
+
* - Common assessment platform governance patterns (not standardized)
|
|
14
42
|
*
|
|
15
43
|
* Part of PIE Assessment Toolkit.
|
|
16
44
|
*/
|
|
17
|
-
import type { AssessmentEntity, AssessmentItemRef } from "@pie-players/pie-players-shared/types";
|
|
45
|
+
import type { AssessmentEntity, AssessmentItemRef, PersonalNeedsProfile } from "@pie-players/pie-players-shared/types";
|
|
46
|
+
import type { ToolRegistry } from "./ToolRegistry";
|
|
47
|
+
import { type PNPResolutionProvenance } from "./pnp-provenance";
|
|
18
48
|
/**
|
|
19
49
|
* Resolved tool configuration with source tracking
|
|
20
50
|
*/
|
|
@@ -26,25 +56,72 @@ export interface ResolvedToolConfig {
|
|
|
26
56
|
settings?: any;
|
|
27
57
|
source: "district" | "item" | "pnp" | "settings";
|
|
28
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* Resolution result with provenance tracking
|
|
61
|
+
*/
|
|
62
|
+
export interface ToolResolutionResult {
|
|
63
|
+
/** Resolved tool configurations */
|
|
64
|
+
tools: ResolvedToolConfig[];
|
|
65
|
+
/** Complete provenance trail (for debugging/display) */
|
|
66
|
+
provenance: PNPResolutionProvenance;
|
|
67
|
+
}
|
|
29
68
|
/**
|
|
30
69
|
* Resolves tool availability from QTI 3.0 assessment structure
|
|
31
70
|
*/
|
|
32
71
|
export declare class PNPToolResolver {
|
|
72
|
+
private toolRegistry;
|
|
73
|
+
private enableProvenance;
|
|
74
|
+
/**
|
|
75
|
+
* Create a PNPToolResolver
|
|
76
|
+
*
|
|
77
|
+
* @param toolRegistry Tool registry for PNP support mapping
|
|
78
|
+
* @param enableProvenance Enable detailed provenance tracking (default: true)
|
|
79
|
+
*/
|
|
80
|
+
constructor(toolRegistry: ToolRegistry, enableProvenance?: boolean);
|
|
33
81
|
/**
|
|
34
82
|
* Resolve all tools from QTI 3.0 assessment + optional item context
|
|
35
83
|
*
|
|
36
84
|
* @param assessment QTI 3.0 assessment with personalNeedsProfile
|
|
37
85
|
* @param currentItemRef Current item for item-specific requirements (optional)
|
|
38
|
-
* @returns Array of resolved tool configurations
|
|
86
|
+
* @returns Array of resolved tool configurations (for backward compatibility)
|
|
87
|
+
*
|
|
88
|
+
* @deprecated Use resolveToolsWithProvenance() to get provenance tracking
|
|
39
89
|
*
|
|
40
90
|
* @example
|
|
41
|
-
* const resolver = new PNPToolResolver();
|
|
91
|
+
* const resolver = new PNPToolResolver(registry);
|
|
42
92
|
* const tools = resolver.resolveTools(assessment, itemRef);
|
|
43
93
|
* tools.forEach(tool => {
|
|
44
94
|
* console.log(`${tool.id}: ${tool.enabled ? 'enabled' : 'disabled'}`);
|
|
45
95
|
* });
|
|
46
96
|
*/
|
|
47
97
|
resolveTools(assessment: AssessmentEntity, currentItemRef?: AssessmentItemRef): ResolvedToolConfig[];
|
|
98
|
+
/**
|
|
99
|
+
* Resolve all tools with full provenance tracking
|
|
100
|
+
*
|
|
101
|
+
* Returns both resolved tools and complete provenance trail showing:
|
|
102
|
+
* - All configuration sources consulted
|
|
103
|
+
* - Decision steps at each precedence level
|
|
104
|
+
* - Reasons for enabling/blocking each feature
|
|
105
|
+
* - Human-readable explanations
|
|
106
|
+
*
|
|
107
|
+
* @param assessment QTI 3.0 assessment with personalNeedsProfile
|
|
108
|
+
* @param currentItemRef Current item for item-specific requirements (optional)
|
|
109
|
+
* @returns Resolution result with tools and provenance
|
|
110
|
+
*
|
|
111
|
+
* @example
|
|
112
|
+
* const resolver = new PNPToolResolver(registry);
|
|
113
|
+
* const result = resolver.resolveToolsWithProvenance(assessment, itemRef);
|
|
114
|
+
*
|
|
115
|
+
* // Use resolved tools
|
|
116
|
+
* result.tools.forEach(tool => console.log(tool.id, tool.enabled));
|
|
117
|
+
*
|
|
118
|
+
* // Display provenance to user
|
|
119
|
+
* console.log(result.provenance.summary);
|
|
120
|
+
* result.provenance.features.forEach((trail, featureId) => {
|
|
121
|
+
* console.log(`${featureId}: ${trail.explanation}`);
|
|
122
|
+
* });
|
|
123
|
+
*/
|
|
124
|
+
resolveToolsWithProvenance(assessment: AssessmentEntity, currentItemRef?: AssessmentItemRef): ToolResolutionResult;
|
|
48
125
|
/**
|
|
49
126
|
* Resolve availability of a single PNP support
|
|
50
127
|
*
|
|
@@ -52,9 +129,14 @@ export declare class PNPToolResolver {
|
|
|
52
129
|
*
|
|
53
130
|
* @param supportId PNP support identifier
|
|
54
131
|
* @param context Resolution context with all configuration sources
|
|
132
|
+
* @param provenanceBuilder Provenance tracking (optional)
|
|
55
133
|
* @returns Resolved config or null if blocked/disabled
|
|
56
134
|
*/
|
|
57
135
|
private resolveSupport;
|
|
136
|
+
/**
|
|
137
|
+
* Create empty provenance when tracking is disabled
|
|
138
|
+
*/
|
|
139
|
+
private createEmptyProvenance;
|
|
58
140
|
/**
|
|
59
141
|
* Build resolved tool configuration
|
|
60
142
|
*
|
|
@@ -69,7 +151,7 @@ export declare class PNPToolResolver {
|
|
|
69
151
|
/**
|
|
70
152
|
* Check if a specific tool is enabled
|
|
71
153
|
*
|
|
72
|
-
* @param toolId
|
|
154
|
+
* @param toolId Toolkit tool identifier (e.g., 'calculator')
|
|
73
155
|
* @param assessment Assessment with PNP
|
|
74
156
|
* @param itemRef Optional item context
|
|
75
157
|
* @returns true if tool is enabled
|
|
@@ -78,7 +160,7 @@ export declare class PNPToolResolver {
|
|
|
78
160
|
/**
|
|
79
161
|
* Check if a tool is required (cannot be disabled)
|
|
80
162
|
*
|
|
81
|
-
* @param toolId
|
|
163
|
+
* @param toolId Toolkit tool identifier
|
|
82
164
|
* @param assessment Assessment with PNP
|
|
83
165
|
* @param itemRef Optional item context
|
|
84
166
|
* @returns true if tool is required or always available
|
|
@@ -95,7 +177,7 @@ export declare class PNPToolResolver {
|
|
|
95
177
|
*
|
|
96
178
|
* @example
|
|
97
179
|
* const autoActivate = resolver.getAutoActivateTools(assessment);
|
|
98
|
-
* // Returns: ['
|
|
180
|
+
* // Returns: ['textToSpeech', 'lineReader']
|
|
99
181
|
*/
|
|
100
182
|
getAutoActivateTools(assessment: AssessmentEntity): string[];
|
|
101
183
|
/**
|
|
@@ -106,6 +188,80 @@ export declare class PNPToolResolver {
|
|
|
106
188
|
* @returns Array of PIE tool IDs that are enabled
|
|
107
189
|
*/
|
|
108
190
|
getEnabledTools(assessment: AssessmentEntity, itemRef?: AssessmentItemRef): string[];
|
|
191
|
+
/**
|
|
192
|
+
* Get allowed tool IDs (Pass 1 of two-pass visibility model)
|
|
193
|
+
*
|
|
194
|
+
* Returns tool IDs that pass orchestrator-level checks (PNP + policies + settings).
|
|
195
|
+
* This is the first gate - tools still need to pass Pass 2 (relevance check).
|
|
196
|
+
*
|
|
197
|
+
* This is the primary method to use with ToolRegistry.filterVisibleInContext()
|
|
198
|
+
*
|
|
199
|
+
* @param assessment Assessment with PNP
|
|
200
|
+
* @param itemRef Optional item context
|
|
201
|
+
* @returns Array of allowed tool IDs (Pass 1)
|
|
202
|
+
*
|
|
203
|
+
* @example
|
|
204
|
+
* // Two-pass visibility model
|
|
205
|
+
* const allowedToolIds = resolver.getAllowedToolIds(assessment, itemRef);
|
|
206
|
+
* const visibleTools = toolRegistry.filterVisibleInContext(allowedToolIds, context);
|
|
207
|
+
*/
|
|
208
|
+
getAllowedToolIds(assessment: AssessmentEntity, itemRef?: AssessmentItemRef): string[];
|
|
209
|
+
/**
|
|
210
|
+
* Resolve tools with a test/override PNP profile
|
|
211
|
+
*
|
|
212
|
+
* FOR TESTING/DEVELOPMENT ONLY
|
|
213
|
+
*
|
|
214
|
+
* Allows direct injection of a PNP profile for testing accessibility configurations
|
|
215
|
+
* without modifying the assessment entity. The override profile replaces the
|
|
216
|
+
* assessment's personalNeedsProfile entirely.
|
|
217
|
+
*
|
|
218
|
+
* Use cases:
|
|
219
|
+
* - Development/testing UI for trying different profiles
|
|
220
|
+
* - Automated testing with various accessibility configurations
|
|
221
|
+
* - Preview tools with profile simulation
|
|
222
|
+
* - Accessibility team testing and validation
|
|
223
|
+
*
|
|
224
|
+
* @param assessment Base assessment (settings, policies, etc.)
|
|
225
|
+
* @param overrideProfile PNP profile to inject (replaces assessment.personalNeedsProfile)
|
|
226
|
+
* @param itemRef Optional item context
|
|
227
|
+
* @returns Resolution result with tools and provenance
|
|
228
|
+
*
|
|
229
|
+
* @example
|
|
230
|
+
* // Test with low vision profile
|
|
231
|
+
* const testProfile = {
|
|
232
|
+
* supports: ['magnification', 'textToSpeech', 'highContrastDisplay']
|
|
233
|
+
* };
|
|
234
|
+
* const result = resolver.resolveWithOverride(assessment, testProfile);
|
|
235
|
+
*
|
|
236
|
+
* @example
|
|
237
|
+
* // Test with null profile (no accessibility features)
|
|
238
|
+
* const result = resolver.resolveWithOverride(assessment, null);
|
|
239
|
+
*/
|
|
240
|
+
resolveWithOverride(assessment: AssessmentEntity, overrideProfile: PersonalNeedsProfile | null, itemRef?: AssessmentItemRef): ToolResolutionResult;
|
|
241
|
+
/**
|
|
242
|
+
* Get allowed tool IDs with full provenance tracking
|
|
243
|
+
*
|
|
244
|
+
* Returns both tool IDs and complete resolution provenance for debugging,
|
|
245
|
+
* auditing, and displaying to users.
|
|
246
|
+
*
|
|
247
|
+
* @param assessment Assessment with PNP
|
|
248
|
+
* @param itemRef Optional item context
|
|
249
|
+
* @returns Object with tool IDs and provenance
|
|
250
|
+
*
|
|
251
|
+
* @example
|
|
252
|
+
* const result = resolver.getAllowedToolIdsWithProvenance(assessment, itemRef);
|
|
253
|
+
*
|
|
254
|
+
* // Use tool IDs
|
|
255
|
+
* const visibleTools = toolRegistry.filterVisibleInContext(result.toolIds, context);
|
|
256
|
+
*
|
|
257
|
+
* // Display provenance to user
|
|
258
|
+
* console.log('Resolution Summary:', result.provenance.summary);
|
|
259
|
+
* console.log('Explanation for calculator:', result.provenance.features.get('calculator')?.explanation);
|
|
260
|
+
*/
|
|
261
|
+
getAllowedToolIdsWithProvenance(assessment: AssessmentEntity, itemRef?: AssessmentItemRef): {
|
|
262
|
+
toolIds: string[];
|
|
263
|
+
provenance: PNPResolutionProvenance;
|
|
264
|
+
};
|
|
109
265
|
/**
|
|
110
266
|
* Get all required tools
|
|
111
267
|
*
|
|
@@ -117,7 +273,7 @@ export declare class PNPToolResolver {
|
|
|
117
273
|
/**
|
|
118
274
|
* Get tool configuration settings
|
|
119
275
|
*
|
|
120
|
-
* @param toolId
|
|
276
|
+
* @param toolId Toolkit tool identifier
|
|
121
277
|
* @param assessment Assessment with PNP
|
|
122
278
|
* @param itemRef Optional item context
|
|
123
279
|
* @returns Tool-specific settings or null if not found
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PNPToolResolver.d.ts","sourceRoot":"","sources":["../../src/services/PNPToolResolver.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"PNPToolResolver.d.ts","sourceRoot":"","sources":["../../src/services/PNPToolResolver.ts"],"names":[],"mappings":"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"}
|