@pie-players/pie-assessment-toolkit 0.3.74 → 1.0.0-beta.0

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 (257) hide show
  1. package/README.md +658 -714
  2. package/custom-elements.json +1315 -0
  3. package/dist/attempt/TestSession.d.ts +1 -21
  4. package/dist/attempt/TestSession.js +16 -102
  5. package/dist/components/ItemScope.custom-element.d.ts +1 -0
  6. package/dist/components/ItemScope.custom-element.js +1 -0
  7. package/dist/components/ItemToolBar.custom-element.js +1 -1
  8. package/dist/components/PieAssessmentToolkit.custom-element.js +14 -14
  9. package/dist/components/SectionToolBar.custom-element.js +1 -1
  10. package/dist/components/chunks/ItemToolBar-3zrc4p3d.js +4 -0
  11. package/dist/components/chunks/ItemToolBar-66hcwmfw.js +2 -0
  12. package/dist/components/chunks/ItemToolBar-9gqhfxtn.js +40 -0
  13. package/dist/components/chunks/ItemToolBar-hzc5wyjp.js +2 -0
  14. package/dist/components/chunks/{ItemToolBar-gmrryv2v.js → ItemToolBar-kkj69ptr.js} +1 -1
  15. package/dist/components/chunks/ItemToolBar-vdkyn9f3.js +2 -0
  16. package/dist/components/chunks/sre-engine-bj997w4b.js +1 -0
  17. package/dist/components/item-scope-element.d.ts +2 -0
  18. package/dist/components/item-scope-element.js +2 -0
  19. package/dist/context/assessment-toolkit-context.d.ts +33 -6
  20. package/dist/index.d.ts +25 -50
  21. package/dist/index.js +15 -45
  22. package/dist/policy/core/PolicySource.d.ts +2 -2
  23. package/dist/policy/core/ToolPolicyEngine.d.ts +118 -34
  24. package/dist/policy/core/ToolPolicyEngine.js +203 -56
  25. package/dist/policy/core/compose-decision.d.ts +28 -7
  26. package/dist/policy/core/compose-decision.js +95 -74
  27. package/dist/policy/core/decision-types.d.ts +98 -55
  28. package/dist/policy/core/feature-decision.d.ts +28 -19
  29. package/dist/policy/core/feature-decision.js +15 -11
  30. package/dist/policy/core/pnp-policy-inputs.d.ts +29 -35
  31. package/dist/policy/core/pnp-policy-inputs.js +40 -88
  32. package/dist/policy/core/provenance.d.ts +10 -5
  33. package/dist/policy/core/provenance.js +1 -1
  34. package/dist/policy/core/tool-parameters.d.ts +11 -0
  35. package/dist/policy/core/tool-parameters.js +15 -0
  36. package/dist/policy/engine.d.ts +7 -23
  37. package/dist/policy/engine.js +5 -20
  38. package/dist/policy/sources/PnpPolicySource.d.ts +43 -68
  39. package/dist/policy/sources/PnpPolicySource.js +133 -132
  40. package/dist/runtime/SectionControllerBinding.d.ts +283 -0
  41. package/dist/runtime/SectionControllerBinding.js +456 -0
  42. package/dist/runtime/SectionRuntimeEngine.d.ts +26 -289
  43. package/dist/runtime/SectionRuntimeEngine.js +30 -372
  44. package/dist/runtime/adapter/SectionEngineAdapter.d.ts +19 -80
  45. package/dist/runtime/adapter/SectionEngineAdapter.js +19 -92
  46. package/dist/runtime/adapter/dom-event-bridge.d.ts +15 -30
  47. package/dist/runtime/adapter/dom-event-bridge.js +17 -44
  48. package/dist/runtime/adapter/subscriber-fanout.d.ts +1 -3
  49. package/dist/runtime/adapter/subscriber-fanout.js +2 -6
  50. package/dist/runtime/catalog-context.d.ts +19 -0
  51. package/dist/runtime/catalog-context.js +28 -0
  52. package/dist/runtime/composition-emit-scheduler.d.ts +12 -18
  53. package/dist/runtime/composition-emit-scheduler.js +10 -16
  54. package/dist/runtime/content-language.d.ts +32 -0
  55. package/dist/runtime/content-language.js +46 -0
  56. package/dist/runtime/content-region.d.ts +13 -0
  57. package/dist/runtime/content-region.js +29 -0
  58. package/dist/runtime/content-registration.d.ts +13 -0
  59. package/dist/runtime/content-registration.js +25 -0
  60. package/dist/runtime/core/SectionEngineCore.d.ts +2 -4
  61. package/dist/runtime/core/SectionEngineCore.js +2 -6
  62. package/dist/runtime/core/cohort.d.ts +1 -6
  63. package/dist/runtime/core/cohort.js +1 -10
  64. package/dist/runtime/core/engine-input.d.ts +18 -30
  65. package/dist/runtime/core/engine-input.js +11 -12
  66. package/dist/runtime/core/engine-output.d.ts +17 -40
  67. package/dist/runtime/core/engine-output.js +9 -21
  68. package/dist/runtime/core/engine-readiness.d.ts +5 -37
  69. package/dist/runtime/core/engine-readiness.js +8 -41
  70. package/dist/runtime/core/engine-resolver.d.ts +46 -74
  71. package/dist/runtime/core/engine-resolver.js +18 -43
  72. package/dist/runtime/core/engine-state.d.ts +28 -36
  73. package/dist/runtime/core/engine-state.js +18 -21
  74. package/dist/runtime/core/engine-transition.d.ts +14 -19
  75. package/dist/runtime/core/engine-transition.js +74 -53
  76. package/dist/runtime/engine.d.ts +16 -19
  77. package/dist/runtime/engine.js +12 -19
  78. package/dist/runtime/page-warnings.d.ts +13 -0
  79. package/dist/runtime/page-warnings.js +22 -0
  80. package/dist/runtime/policy-input-forwarding.d.ts +25 -0
  81. package/dist/runtime/policy-input-forwarding.js +25 -0
  82. package/dist/runtime/registration-events.d.ts +22 -14
  83. package/dist/runtime/runtime-event-claim.d.ts +8 -0
  84. package/dist/runtime/runtime-event-claim.js +15 -0
  85. package/dist/runtime/runtime-id.d.ts +1 -1
  86. package/dist/runtime/runtime-id.js +1 -1
  87. package/dist/runtime/shell-event-bridge.d.ts +45 -0
  88. package/dist/runtime/shell-event-bridge.js +127 -0
  89. package/dist/runtime/shell-registration.d.ts +73 -0
  90. package/dist/runtime/shell-registration.js +95 -0
  91. package/dist/runtime/shell-scope.d.ts +68 -0
  92. package/dist/runtime/shell-scope.js +194 -0
  93. package/dist/runtime/tool-host-contract.d.ts +8 -14
  94. package/dist/runtime/tool-host-contract.js +12 -12
  95. package/dist/runtime/unclaimed-registration-watch.d.ts +7 -0
  96. package/dist/runtime/unclaimed-registration-watch.js +23 -0
  97. package/dist/services/AccessibilityCatalogResolver.d.ts +21 -31
  98. package/dist/services/AccessibilityCatalogResolver.js +29 -42
  99. package/dist/services/ElementToolStateStore.d.ts +42 -67
  100. package/dist/services/ElementToolStateStore.js +65 -71
  101. package/dist/services/HighlightCoordinator.d.ts +28 -40
  102. package/dist/services/HighlightCoordinator.js +459 -381
  103. package/dist/services/RangeSerializer.d.ts +11 -33
  104. package/dist/services/RangeSerializer.js +88 -59
  105. package/dist/services/SSMLExtractor.d.ts +8 -31
  106. package/dist/services/SSMLExtractor.js +18 -40
  107. package/dist/services/TTSService.d.ts +159 -119
  108. package/dist/services/TTSService.js +937 -822
  109. package/dist/services/ToolCoordinator.d.ts +42 -102
  110. package/dist/services/ToolCoordinator.js +178 -256
  111. package/dist/services/ToolRegistry.d.ts +152 -133
  112. package/dist/services/ToolRegistry.js +192 -178
  113. package/dist/services/ToolkitCoordinator.d.ts +233 -237
  114. package/dist/services/ToolkitCoordinator.js +615 -557
  115. package/dist/services/audio-handoff.d.ts +6 -7
  116. package/dist/services/audio-handoff.js +20 -14
  117. package/dist/services/catalog-owner.d.ts +0 -1
  118. package/dist/services/framework-error-bus.d.ts +3 -6
  119. package/dist/services/framework-error-bus.js +3 -6
  120. package/dist/services/framework-error.d.ts +51 -13
  121. package/dist/services/framework-error.js +19 -20
  122. package/dist/services/interfaces.d.ts +189 -184
  123. package/dist/services/section-controller-types.d.ts +7 -7
  124. package/dist/services/section-session-assignment.d.ts +21 -0
  125. package/dist/services/section-session-assignment.js +80 -0
  126. package/dist/services/spoken-audio-cards.d.ts +2 -6
  127. package/dist/services/spoken-audio-cards.js +2 -6
  128. package/dist/services/tool-config-defaults.d.ts +3 -3
  129. package/dist/services/tool-config-defaults.js +3 -3
  130. package/dist/services/tool-config-validation.d.ts +9 -12
  131. package/dist/services/tool-config-validation.js +47 -87
  132. package/dist/services/tool-context.d.ts +7 -31
  133. package/dist/services/tool-context.js +99 -65
  134. package/dist/services/tool-failure.d.ts +30 -0
  135. package/dist/services/tool-failure.js +11 -0
  136. package/dist/services/tool-icons.d.ts +5 -5
  137. package/dist/services/tool-icons.js +6 -5
  138. package/dist/services/tool-instance-id.d.ts +8 -7
  139. package/dist/services/tool-instance-id.js +12 -24
  140. package/dist/services/tool-providers/TTSToolProvider.d.ts +20 -58
  141. package/dist/services/tool-providers/TTSToolProvider.js +32 -85
  142. package/dist/services/tool-providers/ToolProviderApi.d.ts +10 -11
  143. package/dist/services/tool-providers/ToolProviderRegistry.d.ts +29 -60
  144. package/dist/services/tool-providers/ToolProviderRegistry.js +128 -144
  145. package/dist/services/tool-request.d.ts +31 -12
  146. package/dist/services/tool-request.js +31 -16
  147. package/dist/services/toolbar-decided-tools.d.ts +16 -0
  148. package/dist/services/toolbar-decided-tools.js +29 -0
  149. package/dist/services/toolbar-items.js +2 -5
  150. package/dist/services/tools-config-normalizer.d.ts +33 -29
  151. package/dist/services/tools-config-normalizer.js +26 -28
  152. package/dist/services/tts/browser-provider.d.ts +39 -6
  153. package/dist/services/tts/browser-provider.js +280 -160
  154. package/dist/services/tts/catalog-span-alignment.js +14 -7
  155. package/dist/services/tts/flat-tree.d.ts +64 -0
  156. package/dist/services/tts/flat-tree.js +269 -0
  157. package/dist/services/tts/generated-speech/assemble-plan.d.ts +3 -1
  158. package/dist/services/tts/generated-speech/assemble-plan.js +3 -1
  159. package/dist/services/tts/generated-speech/dom/build-dom-plan.d.ts +2 -0
  160. package/dist/services/tts/generated-speech/dom/build-dom-plan.js +1 -1
  161. package/dist/services/tts/generated-speech/dom/to-chunk-inputs.d.ts +2 -2
  162. package/dist/services/tts/generated-speech/index.d.ts +1 -1
  163. package/dist/services/tts/generated-speech/index.js +1 -1
  164. package/dist/services/tts/generated-speech/math-speech-cache.d.ts +3 -1
  165. package/dist/services/tts/generated-speech/math-speech-cache.js +5 -1
  166. package/dist/services/tts/generated-speech/types.d.ts +1 -1
  167. package/dist/services/tts/generated-speech/types.js +1 -1
  168. package/dist/services/tts/highlight-pipeline/create-highlight-plan.js +22 -16
  169. package/dist/services/tts/highlight-pipeline/prose-boundary-resolver.js +6 -4
  170. package/dist/services/tts/highlight-pipeline/readable-region.js +3 -2
  171. package/dist/services/tts/highlight-pipeline/types.d.ts +5 -0
  172. package/dist/services/tts/highlight-pipeline/visible-map-range.d.ts +12 -0
  173. package/dist/services/tts/highlight-pipeline/visible-map-range.js +73 -7
  174. package/dist/services/tts/highlight-target-resolver.d.ts +12 -0
  175. package/dist/services/tts/math-aware-text-processing.d.ts +5 -1
  176. package/dist/services/tts/math-aware-text-processing.js +42 -47
  177. package/dist/services/tts/math-control-names.d.ts +21 -0
  178. package/dist/services/tts/math-control-names.js +142 -0
  179. package/dist/services/tts/math-speech.d.ts +12 -1
  180. package/dist/services/tts/math-speech.js +54 -18
  181. package/dist/services/tts/mathml-sanitization.d.ts +7 -0
  182. package/dist/services/tts/mathml-sanitization.js +9 -1
  183. package/dist/services/tts/provider-options.d.ts +52 -0
  184. package/dist/services/tts/provider-options.js +1 -0
  185. package/dist/services/tts/ssml/spoken-text.d.ts +2 -26
  186. package/dist/services/tts/ssml/spoken-text.js +29 -0
  187. package/dist/services/tts/start-failure.d.ts +4 -0
  188. package/dist/services/tts/start-failure.js +19 -0
  189. package/dist/services/tts/text-processing.d.ts +9 -0
  190. package/dist/services/tts/text-processing.js +46 -33
  191. package/dist/services/tts/text-segmentation.d.ts +12 -0
  192. package/dist/services/tts/text-segmentation.js +60 -10
  193. package/dist/services/tts-runtime-config.d.ts +54 -26
  194. package/dist/services/tts-runtime-config.js +27 -112
  195. package/dist/tools/content-capability-resolution.d.ts +9 -11
  196. package/dist/tools/content-capability-resolution.js +8 -45
  197. package/dist/tools/registration.d.ts +59 -0
  198. package/dist/tools/registration.js +55 -0
  199. package/dist/tools/registrations/toolbar-registration-helpers.d.ts +6 -0
  200. package/dist/tools/registrations/toolbar-registration-helpers.js +8 -2
  201. package/dist/tools/tool-surface-host.d.ts +6 -10
  202. package/dist/tools/tool-surface-host.js +45 -50
  203. package/dist/tools/tool-tag-map.d.ts +5 -15
  204. package/dist/tools/tool-tag-map.js +6 -20
  205. package/dist/utils/structural-equality.d.ts +11 -0
  206. package/dist/utils/structural-equality.js +47 -0
  207. package/package.json +15 -29
  208. package/dist/attempt/adapters/activity-to-test-attempt-session.d.ts +0 -49
  209. package/dist/attempt/adapters/activity-to-test-attempt-session.js +0 -138
  210. package/dist/components/chunks/ItemToolBar-b9dz5jvd.js +0 -40
  211. package/dist/components/chunks/ItemToolBar-h4xap0t0.js +0 -4
  212. package/dist/components/chunks/ItemToolBar-wr2myaah.js +0 -2
  213. package/dist/components/chunks/sre-engine-wf9s43gg.js +0 -1
  214. package/dist/context/runtime-context-consumer.d.ts +0 -13
  215. package/dist/context/runtime-context-consumer.js +0 -18
  216. package/dist/item-loader.d.ts +0 -44
  217. package/dist/item-loader.js +0 -61
  218. package/dist/policy/core/engine-context.d.ts +0 -29
  219. package/dist/policy/core/engine-context.js +0 -27
  220. package/dist/policy/core/policy-source-tag.d.ts +0 -31
  221. package/dist/policy/core/policy-source-tag.js +0 -28
  222. package/dist/policy/internal.d.ts +0 -25
  223. package/dist/policy/internal.js +0 -25
  224. package/dist/runtime/adapter/coordinator-bridge.d.ts +0 -92
  225. package/dist/runtime/adapter/coordinator-bridge.js +0 -126
  226. package/dist/runtime/adapter/framework-error-bridge.d.ts +0 -36
  227. package/dist/runtime/adapter/framework-error-bridge.js +0 -46
  228. package/dist/runtime/adapter/instrumentation-bridge.d.ts +0 -31
  229. package/dist/runtime/adapter/instrumentation-bridge.js +0 -38
  230. package/dist/runtime/core/engine-stage-derivation.d.ts +0 -18
  231. package/dist/runtime/core/engine-stage-derivation.js +0 -29
  232. package/dist/runtime/engine-context.d.ts +0 -39
  233. package/dist/runtime/engine-context.js +0 -31
  234. package/dist/runtime/internal.d.ts +0 -43
  235. package/dist/runtime/internal.js +0 -45
  236. package/dist/runtime/section-runtime-engine-host-context.d.ts +0 -74
  237. package/dist/runtime/section-runtime-engine-host-context.js +0 -57
  238. package/dist/runtime/stage-emit-gate.d.ts +0 -92
  239. package/dist/runtime/stage-emit-gate.js +0 -82
  240. package/dist/services/ContextVariableStore.d.ts +0 -113
  241. package/dist/services/ContextVariableStore.js +0 -206
  242. package/dist/services/I18nService.d.ts +0 -47
  243. package/dist/services/I18nService.js +0 -84
  244. package/dist/services/ThemeProvider.d.ts +0 -95
  245. package/dist/services/ThemeProvider.js +0 -334
  246. package/dist/services/defaultPersonalNeedsProfile.d.ts +0 -21
  247. package/dist/services/defaultPersonalNeedsProfile.js +0 -26
  248. package/dist/services/pnp-standard-features.d.ts +0 -238
  249. package/dist/services/pnp-standard-features.js +0 -338
  250. package/dist/services/tts-control-events.d.ts +0 -13
  251. package/dist/services/tts-control-events.js +0 -7
  252. package/dist/tools/client.d.ts +0 -10
  253. package/dist/tools/client.js +0 -10
  254. package/dist/tools/internal.d.ts +0 -44
  255. package/dist/tools/internal.js +0 -39
  256. package/dist/utils/logger.d.ts +0 -6
  257. package/dist/utils/logger.js +0 -10
@@ -1,238 +0,0 @@
1
- /**
2
- * QTI 3.0 / IMS Access for All (AfA) 3.0 Standard Access Features
3
- *
4
- * This file contains standardized accessibility feature identifiers from:
5
- * - IMS Global Access for All (AfA) 3.0 specification
6
- * - QTI 3.0 Personal Needs and Preferences (PNP)
7
- * - Schema.org accessibility features vocabulary
8
- * - WCAG 2.x accessibility guidelines
9
- *
10
- * These are the officially recognized values for QTI 3.0's accessibilityInfo.accessFeature
11
- * and can be used as a reference for PNP profile configuration and tool mapping.
12
- *
13
- * References:
14
- * - IMS AfA 3.0: https://www.imsglobal.org/spec/afa/v3p0
15
- * - QTI 3.0: https://www.imsglobal.org/spec/qti/v3p0
16
- * - Schema.org: https://schema.org/accessibilityFeature
17
- */
18
- /**
19
- * Standard QTI 3.0 accessibility features organized by category
20
- */
21
- export declare const QTI_STANDARD_ACCESS_FEATURES: {
22
- /**
23
- * Visual accessibility features
24
- * For students with low vision, color blindness, or visual processing needs
25
- */
26
- readonly visual: {
27
- readonly magnification: "magnification";
28
- readonly screenMagnifier: "screenMagnifier";
29
- readonly zoomable: "zoomable";
30
- readonly highContrastDisplay: "highContrastDisplay";
31
- readonly highContrastAudio: "highContrastAudio";
32
- readonly colorContrast: "colorContrast";
33
- readonly invertColors: "invertColors";
34
- readonly displayTransformability: "displayTransformability";
35
- readonly largePrint: "largePrint";
36
- readonly fontEnlargement: "fontEnlargement";
37
- readonly resizeText: "resizeText";
38
- readonly alternativeText: "alternativeText";
39
- readonly longDescription: "longDescription";
40
- readonly describedMath: "describedMath";
41
- readonly tactileGraphic: "tactileGraphic";
42
- readonly tactileObject: "tactileObject";
43
- };
44
- /**
45
- * Auditory accessibility features
46
- * For students who are deaf, hard of hearing, or benefit from audio
47
- */
48
- readonly auditory: {
49
- readonly audioDescription: "audioDescription";
50
- readonly textToSpeech: "textToSpeech";
51
- readonly readAloud: "readAloud";
52
- readonly humanVoice: "humanVoice";
53
- readonly syntheticVoice: "syntheticVoice";
54
- readonly speechRate: "speechRate";
55
- readonly speechVolume: "speechVolume";
56
- readonly voicePitch: "voicePitch";
57
- readonly captions: "captions";
58
- readonly closedCaptions: "closedCaptions";
59
- readonly openCaptions: "openCaptions";
60
- readonly transcript: "transcript";
61
- readonly signLanguage: "signLanguage";
62
- readonly subtitles: "subtitles";
63
- readonly audioControl: "audioControl";
64
- readonly noBackgroundAudio: "noBackgroundAudio";
65
- };
66
- /**
67
- * Motor/physical accessibility features
68
- * For students with limited mobility or motor control
69
- */
70
- readonly motor: {
71
- readonly keyboardControl: "keyboardControl";
72
- readonly mouseControl: "mouseControl";
73
- readonly touchControl: "touchControl";
74
- readonly voiceControl: "voiceControl";
75
- readonly switchControl: "switchControl";
76
- readonly eyeGazeControl: "eyeGazeControl";
77
- readonly singleSwitchAccess: "singleSwitchAccess";
78
- readonly stickyKeys: "stickyKeys";
79
- readonly keyboardShortcuts: "keyboardShortcuts";
80
- readonly timingControl: "timingControl";
81
- readonly unlimitedTime: "unlimitedTime";
82
- readonly extendedTime: "extendedTime";
83
- readonly pauseControl: "pauseControl";
84
- };
85
- /**
86
- * Cognitive/learning accessibility features
87
- * For students with learning disabilities, ADHD, autism, etc.
88
- */
89
- readonly cognitive: {
90
- readonly simplifiedLanguage: "simplifiedLanguage";
91
- readonly reducedComplexity: "reducedComplexity";
92
- readonly structuralNavigation: "structuralNavigation";
93
- readonly tableOfContents: "tableOfContents";
94
- readonly reducedDistraction: "reducedDistraction";
95
- readonly noFlashing: "noFlashing";
96
- readonly pauseAnimation: "pauseAnimation";
97
- readonly annotations: "annotations";
98
- readonly bookmarking: "bookmarking";
99
- readonly highlighting: "highlighting";
100
- readonly guidedNavigation: "guidedNavigation";
101
- readonly calculator: "calculator";
102
- readonly thesaurus: "thesaurus";
103
- readonly spellingAssistance: "spellingAssistance";
104
- readonly grammarAssistance: "grammarAssistance";
105
- };
106
- /**
107
- * Reading support features
108
- * For students with dyslexia or reading challenges
109
- */
110
- readonly reading: {
111
- readonly lineSpacing: "lineSpacing";
112
- readonly wordSpacing: "wordSpacing";
113
- readonly letterSpacing: "letterSpacing";
114
- readonly fontFamily: "fontFamily";
115
- readonly readingMask: "readingMask";
116
- readonly readingGuide: "readingGuide";
117
- readonly readingRuler: "readingRuler";
118
- readonly wordHighlighting: "wordHighlighting";
119
- readonly lineHighlighting: "lineHighlighting";
120
- readonly focusIndicator: "focusIndicator";
121
- readonly printableResource: "printableResource";
122
- readonly braille: "braille";
123
- readonly nemeth: "nemeth";
124
- readonly refreshableBraille: "refreshableBraille";
125
- };
126
- /**
127
- * Navigation features
128
- * For efficient content navigation
129
- */
130
- readonly navigation: {
131
- readonly index: "index";
132
- readonly pageNavigation: "pageNavigation";
133
- readonly skipContent: "skipContent";
134
- readonly breadcrumbs: "breadcrumbs";
135
- readonly searchable: "searchable";
136
- readonly fullTextSearch: "fullTextSearch";
137
- };
138
- /**
139
- * Linguistic features
140
- * For language support
141
- */
142
- readonly linguistic: {
143
- readonly multilingualText: "multilingualText";
144
- readonly translatedText: "translatedText";
145
- readonly glossary: "glossary";
146
- readonly signLanguageInterpretation: "signLanguageInterpretation";
147
- readonly visualLanguage: "visualLanguage";
148
- };
149
- /**
150
- * Assessment-specific features
151
- * Features specific to test-taking environments
152
- */
153
- readonly assessment: {
154
- readonly protractor: "protractor";
155
- readonly ruler: "ruler";
156
- readonly graph: "graph";
157
- readonly graphingCalculator: "graphingCalculator";
158
- readonly periodicTable: "periodicTable";
159
- readonly formulaSheet: "formulaSheet";
160
- readonly answerMasking: "answerMasking";
161
- readonly answerEliminator: "answerEliminator";
162
- readonly strikethrough: "strikethrough";
163
- readonly itemGlossary: "itemGlossary";
164
- readonly tutorialAvailable: "tutorialAvailable";
165
- };
166
- };
167
- /**
168
- * Flat list of all standard access features for validation
169
- */
170
- export declare const ALL_STANDARD_ACCESS_FEATURES: ("transcript" | "braille" | "textToSpeech" | "calculator" | "graph" | "periodicTable" | "ruler" | "protractor" | "answerEliminator" | "signLanguage" | "readAloud" | "index" | "strikethrough" | "magnification" | "screenMagnifier" | "zoomable" | "highContrastDisplay" | "highContrastAudio" | "colorContrast" | "invertColors" | "displayTransformability" | "largePrint" | "fontEnlargement" | "resizeText" | "alternativeText" | "longDescription" | "describedMath" | "tactileGraphic" | "tactileObject" | "audioDescription" | "humanVoice" | "syntheticVoice" | "speechRate" | "speechVolume" | "voicePitch" | "captions" | "closedCaptions" | "openCaptions" | "subtitles" | "audioControl" | "noBackgroundAudio" | "keyboardControl" | "mouseControl" | "touchControl" | "voiceControl" | "switchControl" | "eyeGazeControl" | "singleSwitchAccess" | "stickyKeys" | "keyboardShortcuts" | "timingControl" | "unlimitedTime" | "extendedTime" | "pauseControl" | "simplifiedLanguage" | "reducedComplexity" | "structuralNavigation" | "tableOfContents" | "reducedDistraction" | "noFlashing" | "pauseAnimation" | "annotations" | "bookmarking" | "highlighting" | "guidedNavigation" | "thesaurus" | "spellingAssistance" | "grammarAssistance" | "lineSpacing" | "wordSpacing" | "letterSpacing" | "fontFamily" | "readingMask" | "readingGuide" | "readingRuler" | "wordHighlighting" | "lineHighlighting" | "focusIndicator" | "printableResource" | "nemeth" | "refreshableBraille" | "pageNavigation" | "skipContent" | "breadcrumbs" | "searchable" | "fullTextSearch" | "multilingualText" | "translatedText" | "glossary" | "signLanguageInterpretation" | "visualLanguage" | "graphingCalculator" | "formulaSheet" | "answerMasking" | "itemGlossary" | "tutorialAvailable")[];
171
- /**
172
- * Example PNP configurations for common accessibility needs
173
- * These are NOT official profiles but illustrative examples showing
174
- * how standard features can be combined for different student needs.
175
- */
176
- export declare const EXAMPLE_PNP_CONFIGURATIONS: {
177
- /**
178
- * Example: Student with low vision
179
- */
180
- readonly lowVision: {
181
- readonly label: "Example: Low Vision Support";
182
- readonly features: readonly ["magnification", "screenMagnifier", "highContrastDisplay", "colorContrast", "fontEnlargement", "textToSpeech", "alternativeText", "describedMath"];
183
- };
184
- /**
185
- * Example: Student who is blind
186
- */
187
- readonly blind: {
188
- readonly label: "Example: Blind Student Support";
189
- readonly features: readonly ["textToSpeech", "screenReader", "alternativeText", "longDescription", "describedMath", "braille", "refreshableBraille", "keyboardControl", "structuralNavigation"];
190
- };
191
- /**
192
- * Example: Student who is deaf or hard of hearing
193
- */
194
- readonly deafHardOfHearing: {
195
- readonly label: "Example: Deaf/Hard of Hearing Support";
196
- readonly features: readonly ["captions", "closedCaptions", "signLanguage", "transcript", "visualLanguage", "noBackgroundAudio"];
197
- };
198
- /**
199
- * Example: Student with dyslexia
200
- */
201
- readonly dyslexia: {
202
- readonly label: "Example: Dyslexia Support";
203
- readonly features: readonly ["textToSpeech", "readAloud", "highlighting", "wordHighlighting", "lineHighlighting", "readingMask", "readingGuide", "fontFamily", "lineSpacing", "wordSpacing", "simplifiedLanguage"];
204
- };
205
- /**
206
- * Example: Student with ADHD
207
- */
208
- readonly adhd: {
209
- readonly label: "Example: ADHD Support";
210
- readonly features: readonly ["reducedDistraction", "noFlashing", "pauseAnimation", "timingControl", "extendedTime", "highlighting", "annotations", "guidedNavigation", "structuralNavigation"];
211
- };
212
- /**
213
- * Example: Student with motor limitations
214
- */
215
- readonly motorLimitations: {
216
- readonly label: "Example: Motor Limitations Support";
217
- readonly features: readonly ["keyboardControl", "stickyKeys", "keyboardShortcuts", "voiceControl", "switchControl", "timingControl", "extendedTime", "unlimitedTime"];
218
- };
219
- /**
220
- * Example: English language learner
221
- */
222
- readonly englishLearner: {
223
- readonly label: "Example: English Language Learner Support";
224
- readonly features: readonly ["textToSpeech", "translatedText", "glossary", "simplifiedLanguage", "readAloud", "highlighting"];
225
- };
226
- };
227
- /**
228
- * Helper to validate if a feature ID is a standard QTI 3.0 feature
229
- */
230
- export declare function isStandardAccessFeature(featureId: string): boolean;
231
- /**
232
- * Helper to get category for a feature
233
- */
234
- export declare function getFeatureCategory(featureId: string): keyof typeof QTI_STANDARD_ACCESS_FEATURES | null;
235
- /**
236
- * Helper to get all features in a category
237
- */
238
- export declare function getFeaturesInCategory(category: keyof typeof QTI_STANDARD_ACCESS_FEATURES): string[];
@@ -1,338 +0,0 @@
1
- /**
2
- * QTI 3.0 / IMS Access for All (AfA) 3.0 Standard Access Features
3
- *
4
- * This file contains standardized accessibility feature identifiers from:
5
- * - IMS Global Access for All (AfA) 3.0 specification
6
- * - QTI 3.0 Personal Needs and Preferences (PNP)
7
- * - Schema.org accessibility features vocabulary
8
- * - WCAG 2.x accessibility guidelines
9
- *
10
- * These are the officially recognized values for QTI 3.0's accessibilityInfo.accessFeature
11
- * and can be used as a reference for PNP profile configuration and tool mapping.
12
- *
13
- * References:
14
- * - IMS AfA 3.0: https://www.imsglobal.org/spec/afa/v3p0
15
- * - QTI 3.0: https://www.imsglobal.org/spec/qti/v3p0
16
- * - Schema.org: https://schema.org/accessibilityFeature
17
- */
18
- /**
19
- * Standard QTI 3.0 accessibility features organized by category
20
- */
21
- export const QTI_STANDARD_ACCESS_FEATURES = {
22
- /**
23
- * Visual accessibility features
24
- * For students with low vision, color blindness, or visual processing needs
25
- */
26
- visual: {
27
- // Magnification and zoom
28
- magnification: "magnification",
29
- screenMagnifier: "screenMagnifier",
30
- zoomable: "zoomable",
31
- // Color and contrast
32
- highContrastDisplay: "highContrastDisplay",
33
- highContrastAudio: "highContrastAudio",
34
- colorContrast: "colorContrast",
35
- invertColors: "invertColors",
36
- // Display customization
37
- displayTransformability: "displayTransformability",
38
- largePrint: "largePrint",
39
- fontEnlargement: "fontEnlargement",
40
- resizeText: "resizeText",
41
- // Visual alternatives
42
- alternativeText: "alternativeText",
43
- longDescription: "longDescription",
44
- describedMath: "describedMath",
45
- tactileGraphic: "tactileGraphic",
46
- tactileObject: "tactileObject",
47
- },
48
- /**
49
- * Auditory accessibility features
50
- * For students who are deaf, hard of hearing, or benefit from audio
51
- */
52
- auditory: {
53
- // Audio output
54
- audioDescription: "audioDescription",
55
- textToSpeech: "textToSpeech",
56
- readAloud: "readAloud",
57
- humanVoice: "humanVoice",
58
- syntheticVoice: "syntheticVoice",
59
- // Speech control
60
- speechRate: "speechRate",
61
- speechVolume: "speechVolume",
62
- voicePitch: "voicePitch",
63
- // Visual alternatives for audio
64
- captions: "captions",
65
- closedCaptions: "closedCaptions",
66
- openCaptions: "openCaptions",
67
- transcript: "transcript",
68
- signLanguage: "signLanguage",
69
- subtitles: "subtitles",
70
- // Audio adjustments
71
- audioControl: "audioControl",
72
- noBackgroundAudio: "noBackgroundAudio",
73
- },
74
- /**
75
- * Motor/physical accessibility features
76
- * For students with limited mobility or motor control
77
- */
78
- motor: {
79
- // Input alternatives
80
- keyboardControl: "keyboardControl",
81
- mouseControl: "mouseControl",
82
- touchControl: "touchControl",
83
- voiceControl: "voiceControl",
84
- switchControl: "switchControl",
85
- eyeGazeControl: "eyeGazeControl",
86
- // Keyboard features
87
- singleSwitchAccess: "singleSwitchAccess",
88
- stickyKeys: "stickyKeys",
89
- keyboardShortcuts: "keyboardShortcuts",
90
- // Timing
91
- timingControl: "timingControl",
92
- unlimitedTime: "unlimitedTime",
93
- extendedTime: "extendedTime",
94
- pauseControl: "pauseControl",
95
- },
96
- /**
97
- * Cognitive/learning accessibility features
98
- * For students with learning disabilities, ADHD, autism, etc.
99
- */
100
- cognitive: {
101
- // Content simplification
102
- simplifiedLanguage: "simplifiedLanguage",
103
- reducedComplexity: "reducedComplexity",
104
- structuralNavigation: "structuralNavigation",
105
- tableOfContents: "tableOfContents",
106
- // Focus and attention
107
- reducedDistraction: "reducedDistraction",
108
- noFlashing: "noFlashing",
109
- pauseAnimation: "pauseAnimation",
110
- // Organization and support
111
- annotations: "annotations",
112
- bookmarking: "bookmarking",
113
- highlighting: "highlighting",
114
- guidedNavigation: "guidedNavigation",
115
- // Tools
116
- calculator: "calculator",
117
- thesaurus: "thesaurus",
118
- spellingAssistance: "spellingAssistance",
119
- grammarAssistance: "grammarAssistance",
120
- },
121
- /**
122
- * Reading support features
123
- * For students with dyslexia or reading challenges
124
- */
125
- reading: {
126
- // Text presentation
127
- lineSpacing: "lineSpacing",
128
- wordSpacing: "wordSpacing",
129
- letterSpacing: "letterSpacing",
130
- fontFamily: "fontFamily",
131
- readingMask: "readingMask",
132
- readingGuide: "readingGuide",
133
- readingRuler: "readingRuler",
134
- // Highlighting and emphasis
135
- wordHighlighting: "wordHighlighting",
136
- lineHighlighting: "lineHighlighting",
137
- focusIndicator: "focusIndicator",
138
- // Content support
139
- printableResource: "printableResource",
140
- braille: "braille",
141
- nemeth: "nemeth",
142
- refreshableBraille: "refreshableBraille",
143
- },
144
- /**
145
- * Navigation features
146
- * For efficient content navigation
147
- */
148
- navigation: {
149
- // Structure
150
- index: "index",
151
- pageNavigation: "pageNavigation",
152
- skipContent: "skipContent",
153
- breadcrumbs: "breadcrumbs",
154
- // Search
155
- searchable: "searchable",
156
- fullTextSearch: "fullTextSearch",
157
- },
158
- /**
159
- * Linguistic features
160
- * For language support
161
- */
162
- linguistic: {
163
- // Languages
164
- multilingualText: "multilingualText",
165
- translatedText: "translatedText",
166
- glossary: "glossary",
167
- // Sign language
168
- signLanguageInterpretation: "signLanguageInterpretation",
169
- visualLanguage: "visualLanguage",
170
- },
171
- /**
172
- * Assessment-specific features
173
- * Features specific to test-taking environments
174
- */
175
- assessment: {
176
- // Tools
177
- protractor: "protractor",
178
- ruler: "ruler",
179
- graph: "graph",
180
- graphingCalculator: "graphingCalculator",
181
- periodicTable: "periodicTable",
182
- formulaSheet: "formulaSheet",
183
- // Answer support
184
- answerMasking: "answerMasking",
185
- answerEliminator: "answerEliminator",
186
- strikethrough: "strikethrough",
187
- // Item features
188
- itemGlossary: "itemGlossary",
189
- tutorialAvailable: "tutorialAvailable",
190
- },
191
- };
192
- /**
193
- * Flat list of all standard access features for validation
194
- */
195
- export const ALL_STANDARD_ACCESS_FEATURES = Object.values(QTI_STANDARD_ACCESS_FEATURES).flatMap((category) => Object.values(category));
196
- /**
197
- * Example PNP configurations for common accessibility needs
198
- * These are NOT official profiles but illustrative examples showing
199
- * how standard features can be combined for different student needs.
200
- */
201
- export const EXAMPLE_PNP_CONFIGURATIONS = {
202
- /**
203
- * Example: Student with low vision
204
- */
205
- lowVision: {
206
- label: "Example: Low Vision Support",
207
- features: [
208
- "magnification",
209
- "screenMagnifier",
210
- "highContrastDisplay",
211
- "colorContrast",
212
- "fontEnlargement",
213
- "textToSpeech",
214
- "alternativeText",
215
- "describedMath",
216
- ],
217
- },
218
- /**
219
- * Example: Student who is blind
220
- */
221
- blind: {
222
- label: "Example: Blind Student Support",
223
- features: [
224
- "textToSpeech",
225
- "screenReader",
226
- "alternativeText",
227
- "longDescription",
228
- "describedMath",
229
- "braille",
230
- "refreshableBraille",
231
- "keyboardControl",
232
- "structuralNavigation",
233
- ],
234
- },
235
- /**
236
- * Example: Student who is deaf or hard of hearing
237
- */
238
- deafHardOfHearing: {
239
- label: "Example: Deaf/Hard of Hearing Support",
240
- features: [
241
- "captions",
242
- "closedCaptions",
243
- "signLanguage",
244
- "transcript",
245
- "visualLanguage",
246
- "noBackgroundAudio",
247
- ],
248
- },
249
- /**
250
- * Example: Student with dyslexia
251
- */
252
- dyslexia: {
253
- label: "Example: Dyslexia Support",
254
- features: [
255
- "textToSpeech",
256
- "readAloud",
257
- "highlighting",
258
- "wordHighlighting",
259
- "lineHighlighting",
260
- "readingMask",
261
- "readingGuide",
262
- "fontFamily",
263
- "lineSpacing",
264
- "wordSpacing",
265
- "simplifiedLanguage",
266
- ],
267
- },
268
- /**
269
- * Example: Student with ADHD
270
- */
271
- adhd: {
272
- label: "Example: ADHD Support",
273
- features: [
274
- "reducedDistraction",
275
- "noFlashing",
276
- "pauseAnimation",
277
- "timingControl",
278
- "extendedTime",
279
- "highlighting",
280
- "annotations",
281
- "guidedNavigation",
282
- "structuralNavigation",
283
- ],
284
- },
285
- /**
286
- * Example: Student with motor limitations
287
- */
288
- motorLimitations: {
289
- label: "Example: Motor Limitations Support",
290
- features: [
291
- "keyboardControl",
292
- "stickyKeys",
293
- "keyboardShortcuts",
294
- "voiceControl",
295
- "switchControl",
296
- "timingControl",
297
- "extendedTime",
298
- "unlimitedTime",
299
- ],
300
- },
301
- /**
302
- * Example: English language learner
303
- */
304
- englishLearner: {
305
- label: "Example: English Language Learner Support",
306
- features: [
307
- "textToSpeech",
308
- "translatedText",
309
- "glossary",
310
- "simplifiedLanguage",
311
- "readAloud",
312
- "highlighting",
313
- ],
314
- },
315
- };
316
- /**
317
- * Helper to validate if a feature ID is a standard QTI 3.0 feature
318
- */
319
- export function isStandardAccessFeature(featureId) {
320
- return ALL_STANDARD_ACCESS_FEATURES.includes(featureId);
321
- }
322
- /**
323
- * Helper to get category for a feature
324
- */
325
- export function getFeatureCategory(featureId) {
326
- for (const [category, features] of Object.entries(QTI_STANDARD_ACCESS_FEATURES)) {
327
- if (Object.values(features).includes(featureId)) {
328
- return category;
329
- }
330
- }
331
- return null;
332
- }
333
- /**
334
- * Helper to get all features in a category
335
- */
336
- export function getFeaturesInCategory(category) {
337
- return Object.values(QTI_STANDARD_ACCESS_FEATURES[category]);
338
- }
@@ -1,13 +0,0 @@
1
- /**
2
- * Shared orchestration events for TTS tool UI controls.
3
- *
4
- * These events are intentionally UI-level coordination hints. They do not replace
5
- * playback controls such as stop/pause/resume.
6
- */
7
- export declare const PIE_TTS_CONTROL_HANDOFF_EVENT = "pie-tts-control-handoff";
8
- export type TTSControlHandoffDetail = {
9
- /**
10
- * Optional source identifier for host-orchestrated handoff tracing.
11
- */
12
- source?: "host";
13
- };
@@ -1,7 +0,0 @@
1
- /**
2
- * Shared orchestration events for TTS tool UI controls.
3
- *
4
- * These events are intentionally UI-level coordination hints. They do not replace
5
- * playback controls such as stop/pause/resume.
6
- */
7
- export const PIE_TTS_CONTROL_HANDOFF_EVENT = "pie-tts-control-handoff";
@@ -1,10 +0,0 @@
1
- /**
2
- * Client-only tool system exports
3
- *
4
- * This entry point exports only browser-safe code for use in custom elements.
5
- *
6
- * Tools should import from '@pie-players/pie-assessment-toolkit/tools/client' instead of
7
- * '@pie-players/pie-assessment-toolkit' to ensure
8
- * they don't accidentally pull in server-side dependencies.
9
- */
10
- export type { CalculationHistoryEntry, Calculator, CalculatorProvider, CalculatorProviderCapabilities, CalculatorProviderConfig, CalculatorState, CalculatorType, } from "@pie-players/pie-calculator";
@@ -1,10 +0,0 @@
1
- /**
2
- * Client-only tool system exports
3
- *
4
- * This entry point exports only browser-safe code for use in custom elements.
5
- *
6
- * Tools should import from '@pie-players/pie-assessment-toolkit/tools/client' instead of
7
- * '@pie-players/pie-assessment-toolkit' to ensure
8
- * they don't accidentally pull in server-side dependencies.
9
- */
10
- export {};
@@ -1,44 +0,0 @@
1
- /**
2
- * Registration-authoring surface.
3
- *
4
- * What a package outside this one needs to write a `ToolRegistration`: the
5
- * registration types, the context predicates a tool answers `isVisibleInContext`
6
- * with, scoped-id and element-creation helpers, the toolbar button/overlay
7
- * helpers, the provider contract a registration's descriptor creates, and the
8
- * TTS provider.
9
- *
10
- * A separate entry point rather than additions to `.` for the same reason
11
- * `runtime/internal` and `policy/internal` exist: this is a surface for sibling
12
- * packages in this repo, not a contract offered to hosts. Widening `.` with two
13
- * dozen registration-authoring helpers would make every one of them something a
14
- * host could reasonably expect us to keep.
15
- *
16
- * It exists because the packaged registrations moved out to the composition layer
17
- * (`@pie-players/pie-default-tool-loaders`) so core stops naming capabilities.
18
- * A host writing its own capability package imports from here too, which is the
19
- * point — the mechanism is the same one our own registrations use.
20
- */
21
- export type { HostedToolContext, HostedToolSize, ResolvedToolContext, ToolActivation, ToolContentDependency, ToolContentDependencyContext, ToolModuleLoader, ToolProviderDescriptor, ToolRegistration, ToolRenderElement, ToolSingletonScope, ToolSurfaceRenderContext, ToolSurfaceRenderResult, ToolSurfaceServices, ToolToolbarButtonDefinition, ToolToolbarRenderResult, ToolWindowShellConfig, ToolbarContext, } from "../services/ToolRegistry.js";
22
- export { resolveToolProviderId, ToolRegistry, } from "../services/ToolRegistry.js";
23
- export { resolveToolRegistrationName } from "../services/ToolRegistry.js";
24
- export type { CatalogOwnerCard, CatalogOwnerSnapshot, } from "../services/AccessibilityCatalogResolver.js";
25
- export type { ToolSelectionAction, ToolSelectionContext, } from "../services/selection-action.js";
26
- export type { ToolOpenRequest, ToolRequestTarget, } from "../services/tool-request.js";
27
- export { resolveFallbackToolIcon, TOOL_FALLBACK_ICONS, } from "../services/tool-icons.js";
28
- export type { ContentCapabilityPhase, ContentCapabilityPolicy, ResolveContentCapabilitiesArgs, ResolvedContentCapability, } from "./content-capability-resolution.js";
29
- export { resolveContentCapabilities } from "./content-capability-resolution.js";
30
- export type { ToolSurfaceHost, ToolSurfaceHostInput, ToolSurfaceHostOptions, ToolSurfaceHostSnapshot, ToolSurfaceScope, } from "./tool-surface-host.js";
31
- export { createToolSurfaceHost } from "./tool-surface-host.js";
32
- export type { ToolContext, ToolLevel } from "../services/tool-context.js";
33
- export { hasChoiceInteraction, hasMathContent, hasReadableText, hasScienceContent, } from "../services/tool-context.js";
34
- export { createScopedToolId } from "../services/tool-instance-id.js";
35
- export type { ToolComponentFactory, ToolComponentFactoryMap, ToolComponentOverrides, ToolTagMap, } from "./tool-tag-map.js";
36
- export { createToolElement, resolveToolTag, toToolIdFromTag, } from "./tool-tag-map.js";
37
- export { applyOverlaySurface, createScopedVisibilityBinding, syncButtonAndOverlayVisibility, } from "./registrations/toolbar-registration-helpers.js";
38
- export type { ElementToolStateStoreApi, ToolCoordinatorApi, ToolkitCoordinatorApi, TtsServiceApi, } from "../services/interfaces.js";
39
- export type { CalculatorToolProviderConfig, ToolPlacementConfig, ToolProviderConfig, } from "../services/tools-config-normalizer.js";
40
- export type { ToolConfigDiagnostic } from "../services/tool-config-validation.js";
41
- export type { ToolProviderApi, ToolProviderCapabilities, } from "../services/tool-providers/ToolProviderApi.js";
42
- export { TTSToolProvider } from "../services/tool-providers/index.js";
43
- export type { NormalizedTTSSpeedOption } from "../services/tts-runtime-config.js";
44
- export { buildRuntimeTTSConfig, normalizeTTSLayoutMode, normalizeTTSSpeedControlOptions, resolveRuntimeProvider, resolveTTSBackend, resolveTTSHostToolbarLayout, resolveTTSLayoutMode, resolveTTSRuntimeSettings, resolveTransportMode, } from "../services/tts-runtime-config.js";