@pie-players/pie-assessment-toolkit 0.2.5 → 0.2.9

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 +200 -67
  2. package/dist/attempt/TestSession.d.ts +23 -21
  3. package/dist/attempt/TestSession.d.ts.map +1 -1
  4. package/dist/attempt/TestSession.js +17 -15
  5. package/dist/attempt/TestSession.js.map +1 -1
  6. package/dist/attempt/adapters/activity-to-test-attempt-session.d.ts +50 -0
  7. package/dist/attempt/adapters/activity-to-test-attempt-session.d.ts.map +1 -0
  8. package/dist/attempt/adapters/activity-to-test-attempt-session.js +135 -0
  9. package/dist/attempt/adapters/activity-to-test-attempt-session.js.map +1 -0
  10. package/dist/components/ItemToolBar.custom-element.js +628 -0
  11. package/dist/components/PieAssessmentToolkit.custom-element.js +670 -0
  12. package/dist/components/item-toolbar-element.d.ts +3 -0
  13. package/dist/components/item-toolbar-element.d.ts.map +1 -0
  14. package/dist/components/item-toolbar-element.js +2 -0
  15. package/dist/components/item-toolbar-element.js.map +1 -0
  16. package/dist/components/pie-assessment-toolkit-element.d.ts +3 -0
  17. package/dist/components/pie-assessment-toolkit-element.d.ts.map +1 -0
  18. package/dist/components/pie-assessment-toolkit-element.js +2 -0
  19. package/dist/components/pie-assessment-toolkit-element.js.map +1 -0
  20. package/dist/context/assessment-toolkit-context.d.ts +52 -0
  21. package/dist/context/assessment-toolkit-context.d.ts.map +1 -0
  22. package/dist/context/assessment-toolkit-context.js +6 -0
  23. package/dist/context/assessment-toolkit-context.js.map +1 -0
  24. package/dist/context/runtime-context-consumer.d.ts +14 -0
  25. package/dist/context/runtime-context-consumer.d.ts.map +1 -0
  26. package/dist/context/runtime-context-consumer.js +52 -0
  27. package/dist/context/runtime-context-consumer.js.map +1 -0
  28. package/dist/index.d.ts +53 -42
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +34 -32
  31. package/dist/index.js.map +1 -1
  32. package/dist/runtime/RuntimeRegistry.d.ts +13 -0
  33. package/dist/runtime/RuntimeRegistry.d.ts.map +1 -0
  34. package/dist/runtime/RuntimeRegistry.js +50 -0
  35. package/dist/runtime/RuntimeRegistry.js.map +1 -0
  36. package/dist/runtime/SectionRuntimeEngine.d.ts +45 -0
  37. package/dist/runtime/SectionRuntimeEngine.d.ts.map +1 -0
  38. package/dist/runtime/SectionRuntimeEngine.js +81 -0
  39. package/dist/runtime/SectionRuntimeEngine.js.map +1 -0
  40. package/dist/runtime/registration-events.d.ts +19 -0
  41. package/dist/runtime/registration-events.d.ts.map +1 -0
  42. package/dist/runtime/registration-events.js +4 -0
  43. package/dist/runtime/registration-events.js.map +1 -0
  44. package/dist/runtime/runtime-event-guards.d.ts +3 -0
  45. package/dist/runtime/runtime-event-guards.d.ts.map +1 -0
  46. package/dist/runtime/runtime-event-guards.js +9 -0
  47. package/dist/runtime/runtime-event-guards.js.map +1 -0
  48. package/dist/runtime/tool-host-contract.d.ts +30 -0
  49. package/dist/runtime/tool-host-contract.d.ts.map +1 -0
  50. package/dist/runtime/tool-host-contract.js +48 -0
  51. package/dist/runtime/tool-host-contract.js.map +1 -0
  52. package/dist/services/HighlightCoordinator.d.ts +2 -2
  53. package/dist/services/HighlightCoordinator.d.ts.map +1 -1
  54. package/dist/services/HighlightCoordinator.js +1 -1
  55. package/dist/services/HighlightCoordinator.js.map +1 -1
  56. package/dist/services/I18nService.js +1 -1
  57. package/dist/services/I18nService.js.map +1 -1
  58. package/dist/services/PNPToolResolver.d.ts +2 -2
  59. package/dist/services/PNPToolResolver.d.ts.map +1 -1
  60. package/dist/services/PNPToolResolver.js +1 -1
  61. package/dist/services/PNPToolResolver.js.map +1 -1
  62. package/dist/services/TTSService.d.ts +5 -3
  63. package/dist/services/TTSService.d.ts.map +1 -1
  64. package/dist/services/TTSService.js +13 -12
  65. package/dist/services/TTSService.js.map +1 -1
  66. package/dist/services/ThemeProvider.d.ts +2 -1
  67. package/dist/services/ThemeProvider.d.ts.map +1 -1
  68. package/dist/services/ThemeProvider.js +82 -46
  69. package/dist/services/ThemeProvider.js.map +1 -1
  70. package/dist/services/ToolConfigResolver.d.ts +1 -1
  71. package/dist/services/ToolConfigResolver.js +1 -1
  72. package/dist/services/ToolCoordinator.d.ts +2 -2
  73. package/dist/services/ToolCoordinator.d.ts.map +1 -1
  74. package/dist/services/ToolCoordinator.js +1 -1
  75. package/dist/services/ToolCoordinator.js.map +1 -1
  76. package/dist/services/ToolRegistry.d.ts +66 -69
  77. package/dist/services/ToolRegistry.d.ts.map +1 -1
  78. package/dist/services/ToolRegistry.js +72 -22
  79. package/dist/services/ToolRegistry.js.map +1 -1
  80. package/dist/services/ToolkitCoordinator.d.ts +112 -14
  81. package/dist/services/ToolkitCoordinator.d.ts.map +1 -1
  82. package/dist/services/ToolkitCoordinator.js +508 -77
  83. package/dist/services/ToolkitCoordinator.js.map +1 -1
  84. package/dist/services/createDefaultToolRegistry.d.ts +15 -10
  85. package/dist/services/createDefaultToolRegistry.d.ts.map +1 -1
  86. package/dist/services/createDefaultToolRegistry.js +13 -17
  87. package/dist/services/createDefaultToolRegistry.js.map +1 -1
  88. package/dist/services/defaultPersonalNeedsProfile.d.ts +4 -0
  89. package/dist/services/defaultPersonalNeedsProfile.d.ts.map +1 -0
  90. package/dist/services/defaultPersonalNeedsProfile.js +25 -0
  91. package/dist/services/defaultPersonalNeedsProfile.js.map +1 -0
  92. package/dist/services/interfaces.d.ts +67 -7
  93. package/dist/services/interfaces.d.ts.map +1 -1
  94. package/dist/services/interfaces.js.map +1 -1
  95. package/dist/services/pnp-standard-features.d.ts +3 -4
  96. package/dist/services/pnp-standard-features.d.ts.map +1 -1
  97. package/dist/services/pnp-standard-features.js +0 -3
  98. package/dist/services/pnp-standard-features.js.map +1 -1
  99. package/dist/services/section-controller-types.d.ts +32 -0
  100. package/dist/services/section-controller-types.d.ts.map +1 -0
  101. package/dist/services/section-controller-types.js +2 -0
  102. package/dist/services/section-controller-types.js.map +1 -0
  103. package/dist/services/tool-context.d.ts +4 -4
  104. package/dist/services/tool-context.d.ts.map +1 -1
  105. package/dist/services/tool-context.js +106 -17
  106. package/dist/services/tool-context.js.map +1 -1
  107. package/dist/services/tool-instance-id.d.ts +17 -0
  108. package/dist/services/tool-instance-id.d.ts.map +1 -0
  109. package/dist/services/tool-instance-id.js +61 -0
  110. package/dist/services/tool-instance-id.js.map +1 -0
  111. package/dist/services/tool-providers/DesmosToolProvider.d.ts +1 -1
  112. package/dist/services/tool-providers/DesmosToolProvider.d.ts.map +1 -1
  113. package/dist/services/tool-providers/IToolProvider.d.ts +2 -3
  114. package/dist/services/tool-providers/IToolProvider.d.ts.map +1 -1
  115. package/dist/services/tool-providers/IToolProvider.js +1 -2
  116. package/dist/services/tool-providers/IToolProvider.js.map +1 -1
  117. package/dist/services/tool-providers/MathJsToolProvider.d.ts +25 -0
  118. package/dist/services/tool-providers/MathJsToolProvider.d.ts.map +1 -0
  119. package/dist/services/tool-providers/MathJsToolProvider.js +53 -0
  120. package/dist/services/tool-providers/MathJsToolProvider.js.map +1 -0
  121. package/dist/services/tool-providers/TIToolProvider.d.ts +1 -1
  122. package/dist/services/tool-providers/TIToolProvider.d.ts.map +1 -1
  123. package/dist/services/tool-providers/TIToolProvider.js +1 -1
  124. package/dist/services/tool-providers/TIToolProvider.js.map +1 -1
  125. package/dist/services/tool-providers/TTSToolProvider.d.ts +1 -1
  126. package/dist/services/tool-providers/TTSToolProvider.d.ts.map +1 -1
  127. package/dist/services/tool-providers/TTSToolProvider.js +1 -1
  128. package/dist/services/tool-providers/TTSToolProvider.js.map +1 -1
  129. package/dist/services/tool-providers/ToolProviderRegistry.d.ts +1 -1
  130. package/dist/services/tool-providers/ToolProviderRegistry.d.ts.map +1 -1
  131. package/dist/services/tool-providers/index.d.ts +11 -9
  132. package/dist/services/tool-providers/index.d.ts.map +1 -1
  133. package/dist/services/tool-providers/index.js +5 -4
  134. package/dist/services/tool-providers/index.js.map +1 -1
  135. package/dist/services/tools-config-normalizer.d.ts +26 -0
  136. package/dist/services/tools-config-normalizer.d.ts.map +1 -0
  137. package/dist/services/tools-config-normalizer.js +63 -0
  138. package/dist/services/tools-config-normalizer.js.map +1 -0
  139. package/dist/services/tts/provider-interface.d.ts +1 -1
  140. package/dist/services/tts/provider-interface.d.ts.map +1 -1
  141. package/dist/tools/calculators/desmos-provider.js +1 -1
  142. package/dist/tools/calculators/desmos-provider.js.map +1 -1
  143. package/dist/tools/calculators/mathjs-provider.js +1 -1
  144. package/dist/tools/calculators/mathjs-provider.js.map +1 -1
  145. package/dist/tools/calculators/ti-provider.d.ts.map +1 -1
  146. package/dist/tools/calculators/ti-provider.js +127 -4
  147. package/dist/tools/calculators/ti-provider.js.map +1 -1
  148. package/dist/tools/client.d.ts +9 -8
  149. package/dist/tools/client.d.ts.map +1 -1
  150. package/dist/tools/client.js +9 -8
  151. package/dist/tools/client.js.map +1 -1
  152. package/dist/tools/default-tool-module-loaders.d.ts +9 -0
  153. package/dist/tools/default-tool-module-loaders.d.ts.map +1 -0
  154. package/dist/tools/default-tool-module-loaders.js +17 -0
  155. package/dist/tools/default-tool-module-loaders.js.map +1 -0
  156. package/dist/tools/index.d.ts +4 -3
  157. package/dist/tools/index.d.ts.map +1 -1
  158. package/dist/tools/index.js +4 -3
  159. package/dist/tools/index.js.map +1 -1
  160. package/dist/tools/library-loader.d.ts +2 -2
  161. package/dist/tools/library-loader.d.ts.map +1 -1
  162. package/dist/tools/library-loader.js +7 -2
  163. package/dist/tools/library-loader.js.map +1 -1
  164. package/dist/tools/registrations/accessibility-tools.d.ts +2 -10
  165. package/dist/tools/registrations/accessibility-tools.d.ts.map +1 -1
  166. package/dist/tools/registrations/accessibility-tools.js +97 -115
  167. package/dist/tools/registrations/accessibility-tools.js.map +1 -1
  168. package/dist/tools/registrations/calculator.d.ts +3 -3
  169. package/dist/tools/registrations/calculator.d.ts.map +1 -1
  170. package/dist/tools/registrations/calculator.js +35 -56
  171. package/dist/tools/registrations/calculator.js.map +1 -1
  172. package/dist/tools/registrations/interaction-tools.d.ts +1 -1
  173. package/dist/tools/registrations/interaction-tools.d.ts.map +1 -1
  174. package/dist/tools/registrations/interaction-tools.js +79 -54
  175. package/dist/tools/registrations/interaction-tools.js.map +1 -1
  176. package/dist/tools/registrations/measurement-tools.d.ts +1 -1
  177. package/dist/tools/registrations/measurement-tools.d.ts.map +1 -1
  178. package/dist/tools/registrations/measurement-tools.js +65 -40
  179. package/dist/tools/registrations/measurement-tools.js.map +1 -1
  180. package/dist/tools/registrations/subject-specific-tools.d.ts +1 -1
  181. package/dist/tools/registrations/subject-specific-tools.d.ts.map +1 -1
  182. package/dist/tools/registrations/subject-specific-tools.js +65 -40
  183. package/dist/tools/registrations/subject-specific-tools.js.map +1 -1
  184. package/dist/tools/registrations/tts.d.ts +2 -2
  185. package/dist/tools/registrations/tts.d.ts.map +1 -1
  186. package/dist/tools/registrations/tts.js +28 -42
  187. package/dist/tools/registrations/tts.js.map +1 -1
  188. package/dist/tools/response-discovery.d.ts +13 -15
  189. package/dist/tools/response-discovery.d.ts.map +1 -1
  190. package/dist/tools/response-discovery.js +23 -80
  191. package/dist/tools/response-discovery.js.map +1 -1
  192. package/dist/tools/tool-coordinator.d.ts +1 -1
  193. package/dist/tools/tool-coordinator.d.ts.map +1 -1
  194. package/dist/tools/tool-tag-map.d.ts +4 -4
  195. package/dist/tools/tool-tag-map.d.ts.map +1 -1
  196. package/dist/tools/tool-tag-map.js +2 -3
  197. package/dist/tools/tool-tag-map.js.map +1 -1
  198. package/dist/tools/types.d.ts +3 -1
  199. package/dist/tools/types.d.ts.map +1 -1
  200. package/dist/tools/variant-resolver.d.ts +1 -1
  201. package/dist/tools/variant-resolver.d.ts.map +1 -1
  202. package/package.json +25 -28
  203. package/src/README.md +16 -32
  204. package/src/components/ItemToolBar.svelte +489 -0
  205. package/src/components/PNPProvenanceViewer.svelte +14 -4
  206. package/src/components/PieAssessmentToolkit.svelte +517 -0
  207. package/src/components/ToolButton.svelte +11 -11
  208. package/src/components/ToolButtonGroup.svelte +27 -11
  209. package/src/tools/README.md +6 -5
  210. package/src/tools/calculators/README.md +4 -4
  211. package/dist/player/AssessmentPlayer.d.ts +0 -397
  212. package/dist/player/AssessmentPlayer.d.ts.map +0 -1
  213. package/dist/player/AssessmentPlayer.js +0 -974
  214. package/dist/player/AssessmentPlayer.js.map +0 -1
  215. package/dist/player/index.d.ts +0 -17
  216. package/dist/player/index.d.ts.map +0 -1
  217. package/dist/player/index.js +0 -15
  218. package/dist/player/index.js.map +0 -1
  219. package/dist/player/navigation-types.d.ts +0 -63
  220. package/dist/player/navigation-types.d.ts.map +0 -1
  221. package/dist/player/navigation-types.js +0 -7
  222. package/dist/player/navigation-types.js.map +0 -1
  223. package/dist/player/qti-navigation.d.ts +0 -29
  224. package/dist/player/qti-navigation.d.ts.map +0 -1
  225. package/dist/player/qti-navigation.js +0 -160
  226. package/dist/player/qti-navigation.js.map +0 -1
  227. package/dist/reference-layout/index.d.ts +0 -19
  228. package/dist/reference-layout/index.d.ts.map +0 -1
  229. package/dist/reference-layout/index.js +0 -20
  230. package/dist/reference-layout/index.js.map +0 -1
  231. package/dist/services/AnnotationToolbarConfig.d.ts +0 -134
  232. package/dist/services/AnnotationToolbarConfig.d.ts.map +0 -1
  233. package/dist/services/AnnotationToolbarConfig.js +0 -100
  234. package/dist/services/AnnotationToolbarConfig.js.map +0 -1
  235. package/dist/services/AssessmentAuthoringService.d.ts +0 -60
  236. package/dist/services/AssessmentAuthoringService.d.ts.map +0 -1
  237. package/dist/services/AssessmentAuthoringService.js +0 -183
  238. package/dist/services/AssessmentAuthoringService.js.map +0 -1
  239. package/dist/services/PNPMapper.d.ts +0 -81
  240. package/dist/services/PNPMapper.d.ts.map +0 -1
  241. package/dist/services/PNPMapper.js +0 -108
  242. package/dist/services/PNPMapper.js.map +0 -1
  243. package/src/components/PNPProfileTester.example.svelte +0 -188
  244. package/src/components/PNPProfileTester.svelte +0 -397
  245. package/src/components/QuestionToolBar.svelte +0 -483
  246. package/src/player/AssessmentLayout.svelte +0 -68
  247. package/src/player/README.md +0 -154
  248. package/src/reference-layout/README.md +0 -135
  249. package/src/reference-layout/ReferenceLayout.svelte +0 -201
  250. package/src/reference-layout/components/AssessmentContent.svelte +0 -259
  251. package/src/reference-layout/components/AssessmentFooter.svelte +0 -89
  252. package/src/reference-layout/components/AssessmentHeader.svelte +0 -250
  253. package/src/reference-layout/components/AssessmentNavigation.svelte +0 -134
  254. package/src/reference-layout/components/AssessmentToolsBar.svelte +0 -176
  255. package/src/reference-layout/components/ItemPanel.svelte +0 -200
  256. package/src/reference-layout/components/NotesPanel.svelte +0 -179
  257. package/src/reference-layout/components/PassagePanel.svelte +0 -76
@@ -13,6 +13,21 @@ export class ToolRegistry {
13
13
  tools = new Map();
14
14
  pnpIndex = new Map(); // pnpSupportId → Set<toolId>
15
15
  componentOverrides = {};
16
+ moduleLoaders = new Map();
17
+ loadedToolModules = new Set();
18
+ moduleLoadPromises = new Map();
19
+ /**
20
+ * Normalize a single tool alias to canonical toolId.
21
+ */
22
+ normalizeToolId(toolId) {
23
+ return toolId === "tts" ? "textToSpeech" : toolId;
24
+ }
25
+ /**
26
+ * Normalize a list of tool aliases to canonical toolIds.
27
+ */
28
+ normalizeToolIds(toolIds) {
29
+ return toolIds.map((toolId) => this.normalizeToolId(toolId));
30
+ }
16
31
  /**
17
32
  * Register a tool
18
33
  *
@@ -165,21 +180,6 @@ export class ToolRegistry {
165
180
  }
166
181
  return visible;
167
182
  }
168
- /**
169
- * Create button definitions for visible tools
170
- *
171
- * @param allowedToolIds - Tool IDs that passed Pass 1
172
- * @param context - Context to evaluate
173
- * @param buttonOptions - Options for button creation
174
- * @returns Array of button definitions ready for rendering
175
- */
176
- createButtons(allowedToolIds, context, buttonOptions) {
177
- const visibleTools = this.filterVisibleInContext(allowedToolIds, context);
178
- return visibleTools.map((tool) => {
179
- const options = buttonOptions(tool.toolId);
180
- return tool.createButton(context, options);
181
- });
182
- }
183
183
  /**
184
184
  * Get tool metadata for building UIs
185
185
  * Useful for building PNP configuration interfaces
@@ -228,21 +228,71 @@ export class ToolRegistry {
228
228
  this.componentOverrides = overrides;
229
229
  }
230
230
  /**
231
- * Create a tool instance by tool ID using registered tool definition.
231
+ * Register lazy module loaders by toolId.
232
+ * Toolbars call ensureToolModuleLoaded(toolId) before instance creation.
233
+ */
234
+ setToolModuleLoaders(loaders) {
235
+ for (const [toolId, loader] of Object.entries(loaders)) {
236
+ if (!loader)
237
+ continue;
238
+ this.moduleLoaders.set(toolId, loader);
239
+ }
240
+ }
241
+ /**
242
+ * Ensure tool module side-effects are loaded exactly once.
243
+ * Safe to call repeatedly; concurrent callers share the same promise.
244
+ */
245
+ async ensureToolModuleLoaded(toolId) {
246
+ if (this.loadedToolModules.has(toolId))
247
+ return;
248
+ const existingPromise = this.moduleLoadPromises.get(toolId);
249
+ if (existingPromise) {
250
+ await existingPromise;
251
+ return;
252
+ }
253
+ const loader = this.moduleLoaders.get(toolId);
254
+ if (!loader)
255
+ return;
256
+ const loadPromise = (async () => {
257
+ await loader();
258
+ this.loadedToolModules.add(toolId);
259
+ })();
260
+ this.moduleLoadPromises.set(toolId, loadPromise);
261
+ try {
262
+ await loadPromise;
263
+ }
264
+ finally {
265
+ this.moduleLoadPromises.delete(toolId);
266
+ }
267
+ }
268
+ /**
269
+ * Ensure a set of tool modules are loaded.
270
+ */
271
+ async ensureToolModulesLoaded(toolIds) {
272
+ await Promise.all(toolIds.map((toolId) => this.ensureToolModuleLoaded(toolId)));
273
+ }
274
+ /**
275
+ * Whether a tool module has already been loaded.
276
+ */
277
+ isToolModuleLoaded(toolId) {
278
+ return this.loadedToolModules.has(toolId);
279
+ }
280
+ /**
281
+ * Render a tool for toolbar use with component overrides attached.
232
282
  */
233
- createToolInstance(toolId, context, options = {}) {
283
+ renderForToolbar(toolId, context, toolbarContext) {
234
284
  const tool = this.get(toolId);
235
285
  if (!tool) {
236
286
  throw new Error(`Tool '${toolId}' is not registered`);
237
287
  }
238
- const mergedOptions = {
239
- ...options,
240
- config: {
288
+ const mergedContext = {
289
+ ...toolbarContext,
290
+ componentOverrides: {
241
291
  ...(this.componentOverrides || {}),
242
- ...(options.config || {}),
292
+ ...(toolbarContext.componentOverrides || {}),
243
293
  },
244
294
  };
245
- return tool.createToolInstance(context, mergedOptions);
295
+ return tool.renderToolbar(context, mergedContext);
246
296
  }
247
297
  }
248
298
  //# sourceMappingURL=ToolRegistry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolRegistry.js","sourceRoot":"","sources":["../../src/services/ToolRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToolRegistry.js","sourceRoot":"","sources":["../../src/services/ToolRegistry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgGH;;;;GAIG;AACH,MAAM,OAAO,YAAY;IAChB,KAAK,GAAG,IAAI,GAAG,EAA4B,CAAC;IAC5C,QAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC,CAAC,6BAA6B;IACxE,kBAAkB,GAA2B,EAAE,CAAC;IAChD,aAAa,GAAG,IAAI,GAAG,EAA4B,CAAC;IACpD,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,kBAAkB,GAAG,IAAI,GAAG,EAAyB,CAAC;IAE9D;;OAEG;IACH,eAAe,CAAC,MAAc;QAC7B,OAAO,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,OAAiB;QACjC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,YAA8B;QACtC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,SAAS,YAAY,CAAC,MAAM,yBAAyB,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAElD,wBAAwB;QACxB,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC;YAChC,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC;gBAChD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC/B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;gBACrC,CAAC;gBACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACpD,CAAC;QACF,CAAC;IACF,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,YAA8B;QACtC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CACd,sCAAsC,YAAY,CAAC,MAAM,GAAG,CAC5D,CAAC;QACH,CAAC;QAED,+BAA+B;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAE,CAAC;QACpD,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YAC1B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gBAC1C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACvD,CAAC;QACF,CAAC;QAED,uBAAuB;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAElD,2BAA2B;QAC3B,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC;YAChC,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC;gBAChD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC/B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;gBACrC,CAAC;gBACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACpD,CAAC;QACF,CAAC;IACF,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,MAAc;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG;YAAE,OAAO;QAEjB,2BAA2B;QAC3B,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;YACvB,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;gBACvC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC;QACF,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,MAAc;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,MAAc;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACH,aAAa;QACZ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACH,WAAW;QACV,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACH,oBAAoB,CAAC,YAAoB;QACxC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;IACrD,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,KAAgB;QAC/B,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACzC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CACpC,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,sBAAsB,CACrB,cAAwB,EACxB,OAAoB;QAEpB,MAAM,OAAO,GAAuB,EAAE,CAAC;QAEvC,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC9B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,SAAS,MAAM,iCAAiC,CAAC,CAAC;gBAC/D,SAAS;YACV,CAAC;YAED,oCAAoC;YACpC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnD,SAAS;YACV,CAAC;YAED,oCAAoC;YACpC,IAAI,CAAC;gBACJ,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;oBACtC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpB,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,OAAO,CAAC,KAAK,CACZ,yCAAyC,MAAM,IAAI,EACnD,KAAK,CACL,CAAC;YACH,CAAC;QACF,CAAC;QAED,OAAO,OAAO,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,eAAe;QAOd,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACxC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,EAAE;YACvC,eAAe,EAAE,IAAI,CAAC,eAAe;SACrC,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,4BAA4B,CAAC,cAAwB;QACpD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QAEtC,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC9B,IAAI,IAAI,EAAE,aAAa,EAAE,CAAC;gBACzB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACxC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACxB,CAAC;YACF,CAAC;QACF,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,KAAK;QACJ,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,qBAAqB,CAAC,SAAiC;QACtD,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;IACrC,CAAC;IAED;;;OAGG;IACH,oBAAoB,CACnB,OAAkD;QAElD,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACxD,IAAI,CAAC,MAAM;gBAAE,SAAS;YACtB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxC,CAAC;IACF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,sBAAsB,CAAC,MAAc;QAC1C,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO;QAE/C,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,eAAe,EAAE,CAAC;YACrB,MAAM,eAAe,CAAC;YACtB,OAAO;QACR,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,MAAM,WAAW,GAAG,CAAC,KAAK,IAAI,EAAE;YAC/B,MAAM,MAAM,EAAE,CAAC;YACf,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC,CAAC,EAAE,CAAC;QAEL,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC;YACJ,MAAM,WAAW,CAAC;QACnB,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;IACF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,uBAAuB,CAAC,OAAiB;QAC9C,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACjF,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,MAAc;QAChC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,gBAAgB,CACf,MAAc,EACd,OAAoB,EACpB,cAA8B;QAE9B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,SAAS,MAAM,qBAAqB,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,aAAa,GAAmB;YACrC,GAAG,cAAc;YACjB,kBAAkB,EAAE;gBACnB,GAAG,CAAC,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAAC;gBAClC,GAAG,CAAC,cAAc,CAAC,kBAAkB,IAAI,EAAE,CAAC;aAC5C;SACD,CAAC;QAEF,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACnD,CAAC;CACD"}
@@ -14,13 +14,17 @@
14
14
  * Part of PIE Assessment Toolkit.
15
15
  */
16
16
  import type { AccessibilityCatalog } from "@pie-players/pie-players-shared/types";
17
- import { AccessibilityCatalogResolver } from "./AccessibilityCatalogResolver";
18
- import { ElementToolStateStore } from "./ElementToolStateStore";
19
- import { HighlightCoordinator } from "./HighlightCoordinator";
20
- import { ToolCoordinator } from "./ToolCoordinator";
21
- import { TTSService } from "./TTSService";
22
- import { ToolProviderRegistry } from "./tool-providers";
23
- import type { DesmosToolProviderConfig, TIToolProviderConfig, TTSToolProviderConfig } from "./tool-providers";
17
+ import { type CanonicalToolsConfig, type ToolPlacementConfig, type ToolPolicyConfig, type ToolProvidersConfig } from "./tools-config-normalizer.js";
18
+ import { AccessibilityCatalogResolver } from "./AccessibilityCatalogResolver.js";
19
+ import { ElementToolStateStore } from "./ElementToolStateStore.js";
20
+ import { HighlightCoordinator } from "./HighlightCoordinator.js";
21
+ import { ToolCoordinator } from "./ToolCoordinator.js";
22
+ import { TTSService } from "./TTSService.js";
23
+ import { ToolProviderRegistry } from "./tool-providers/index.js";
24
+ import type { IToolProvider } from "./tool-providers/IToolProvider.js";
25
+ import type { DesmosToolProviderConfig, MathJsToolProviderConfig, TIToolProviderConfig, TTSToolProviderConfig } from "./tool-providers/index.js";
26
+ import type { SectionControllerContext, SectionControllerFactoryDefaults, SectionControllerHandle, SectionControllerPersistenceStrategy, SectionPersistenceFactoryDefaults } from "./section-controller-types.js";
27
+ export type { SectionControllerContext, SectionControllerFactoryDefaults, SectionControllerHandle, SectionControllerKey, SectionControllerPersistenceStrategy, SectionPersistenceFactoryDefaults, } from "./section-controller-types.js";
24
28
  /**
25
29
  * Generic tool configuration
26
30
  */
@@ -50,7 +54,7 @@ export interface AnswerEliminatorToolConfig extends ToolConfig {
50
54
  */
51
55
  export interface CalculatorToolConfig extends ToolConfig {
52
56
  provider?: "desmos" | "ti" | "mathjs";
53
- authFetcher?: () => Promise<Partial<DesmosToolProviderConfig | TIToolProviderConfig>>;
57
+ authFetcher?: () => Promise<Partial<DesmosToolProviderConfig | TIToolProviderConfig | MathJsToolProviderConfig>>;
54
58
  }
55
59
  /**
56
60
  * Floating tools configuration (calculator, graph, etc.)
@@ -59,6 +63,14 @@ export interface FloatingToolsConfig extends ToolConfig {
59
63
  enabledTools?: string[];
60
64
  calculator?: CalculatorToolConfig;
61
65
  }
66
+ export interface ToolkitToolsConfig extends CanonicalToolsConfig {
67
+ policy: ToolPolicyConfig;
68
+ placement: Required<ToolPlacementConfig>;
69
+ providers: ToolProvidersConfig & {
70
+ tts?: TTSToolConfig;
71
+ calculator?: CalculatorToolConfig;
72
+ };
73
+ }
62
74
  /**
63
75
  * Configuration for ToolkitCoordinator
64
76
  */
@@ -73,11 +85,9 @@ export interface ToolkitCoordinatorConfig {
73
85
  * Defaults: all tools enabled with default settings.
74
86
  */
75
87
  tools?: {
76
- tts?: TTSToolConfig;
77
- answerEliminator?: AnswerEliminatorToolConfig;
78
- highlighter?: ToolConfig;
79
- flagging?: ToolConfig;
80
- floatingTools?: FloatingToolsConfig;
88
+ policy?: ToolPolicyConfig;
89
+ placement?: ToolPlacementConfig;
90
+ providers?: ToolProvidersConfig;
81
91
  };
82
92
  /**
83
93
  * Accessibility configuration.
@@ -87,6 +97,50 @@ export interface ToolkitCoordinatorConfig {
87
97
  catalogs?: AccessibilityCatalog[];
88
98
  language?: string;
89
99
  };
100
+ /**
101
+ * Optional lifecycle and extension hooks for runtime customization.
102
+ */
103
+ hooks?: ToolkitCoordinatorHooks;
104
+ /**
105
+ * Lazy initialization mode.
106
+ * When true, async service/provider initialization is deferred until ensure methods are called.
107
+ *
108
+ * @default false
109
+ */
110
+ lazyInit?: boolean;
111
+ }
112
+ export interface ToolkitErrorContext {
113
+ phase: "coordinator-ready" | "state-load" | "state-save" | "provider-register" | "provider-init" | "tts-init" | "section-controller-init" | "section-controller-dispose";
114
+ providerId?: string;
115
+ details?: Record<string, unknown>;
116
+ }
117
+ export interface ProviderLifecycleContext {
118
+ providerId: string;
119
+ providerName?: string;
120
+ }
121
+ export interface ToolkitInitStatus {
122
+ tts: boolean;
123
+ stateLoaded: boolean;
124
+ coordinator: boolean;
125
+ providers: Record<string, boolean>;
126
+ }
127
+ export interface ToolkitCoordinatorHooks {
128
+ onError?: (error: Error, context: ToolkitErrorContext) => void;
129
+ onTTSError?: (error: Error, context: ToolkitErrorContext) => void;
130
+ onProviderError?: (providerId: string, error: Error, context: ToolkitErrorContext) => void;
131
+ onBeforeTTSInit?: (context: ToolkitErrorContext) => void | Promise<void>;
132
+ onTTSReady?: () => void | Promise<void>;
133
+ onCoordinatorReady?: (coordinator: ToolkitCoordinator) => void | Promise<void>;
134
+ onProviderRegistered?: (providerId: string, meta: ProviderLifecycleContext) => void | Promise<void>;
135
+ onProviderInitStart?: (providerId: string, meta: ProviderLifecycleContext) => void | Promise<void>;
136
+ onProviderReady?: (providerId: string, meta: ProviderLifecycleContext) => void | Promise<void>;
137
+ onTelemetry?: (eventName: string, payload?: Record<string, unknown>) => void | Promise<void>;
138
+ loadToolState?: () => Record<string, Record<string, unknown>> | Promise<Record<string, Record<string, unknown>> | null | undefined> | null | undefined;
139
+ saveToolState?: (state: Record<string, Record<string, unknown>>) => void | Promise<void>;
140
+ createSectionController?: (context: SectionControllerContext, defaults: SectionControllerFactoryDefaults) => SectionControllerHandle | Promise<SectionControllerHandle>;
141
+ createSectionPersistence?: (context: SectionControllerContext, defaults: SectionPersistenceFactoryDefaults) => SectionControllerPersistenceStrategy | Promise<SectionControllerPersistenceStrategy>;
142
+ onSectionControllerReady?: (context: SectionControllerContext, controller: SectionControllerHandle) => void | Promise<void>;
143
+ onSectionControllerDispose?: (context: SectionControllerContext, controller: SectionControllerHandle) => void | Promise<void>;
90
144
  }
91
145
  /**
92
146
  * Service bundle returned by getServiceBundle()
@@ -133,18 +187,58 @@ export declare class ToolkitCoordinator {
133
187
  readonly elementToolStateStore: ElementToolStateStore;
134
188
  readonly catalogResolver: AccessibilityCatalogResolver;
135
189
  readonly toolProviderRegistry: ToolProviderRegistry;
190
+ readonly hooks: ToolkitCoordinatorHooks;
191
+ readonly lazyInit: boolean;
136
192
  /** Track TTS initialization state */
137
193
  private ttsInitialized;
194
+ private ttsInitPromise?;
195
+ private stateLoaded;
196
+ private stateLoadPromise?;
197
+ private coordinatorReadyPromise?;
198
+ private coordinatorReadyNotified;
199
+ private readonly providerInitPromises;
200
+ private readonly sectionControllers;
201
+ private readonly sectionControllerInitPromises;
202
+ private readonly sectionPersistenceStrategies;
138
203
  /** Callback for floating tools changes */
139
204
  private floatingToolsChangeCallback;
205
+ private static resolveConfig;
140
206
  constructor(config: ToolkitCoordinatorConfig);
207
+ private emitTelemetry;
208
+ private handleError;
209
+ private getSectionControllerMapKey;
210
+ private createDefaultSectionPersistence;
211
+ private resolveSectionPersistence;
212
+ private setupStatePersistenceHooks;
213
+ private ensureStateLoaded;
141
214
  /**
142
215
  * Register tool providers in the registry
143
216
  */
144
217
  private _registerToolProviders;
218
+ private registerProvider;
219
+ ensureProviderReady(providerId: string): Promise<IToolProvider>;
220
+ setHooks(hooks: ToolkitCoordinatorHooks): void;
221
+ getSectionController(args: {
222
+ sectionId: string;
223
+ attemptId?: string;
224
+ }): SectionControllerHandle | undefined;
225
+ getOrCreateSectionController(args: {
226
+ sectionId: string;
227
+ attemptId?: string;
228
+ input?: unknown;
229
+ updateExisting?: boolean;
230
+ createDefaultController: () => SectionControllerHandle | Promise<SectionControllerHandle>;
231
+ }): Promise<SectionControllerHandle>;
232
+ disposeSectionController(args: {
233
+ sectionId: string;
234
+ attemptId?: string;
235
+ persistBeforeDispose?: boolean;
236
+ clearPersistence?: boolean;
237
+ }): Promise<void>;
145
238
  /**
146
239
  * Initialize TTS service with provider
147
240
  */
241
+ ensureTTSReady(config?: TTSToolConfig): Promise<void>;
148
242
  private _initializeTTS;
149
243
  /**
150
244
  * Get all services as a bundle for section player convenience.
@@ -157,7 +251,10 @@ export declare class ToolkitCoordinator {
157
251
  * @param providerId Provider identifier
158
252
  * @returns Tool provider instance
159
253
  */
160
- getToolProvider(providerId: string): Promise<import("./tool-providers").IToolProvider<any, any>>;
254
+ getToolProvider(providerId: string): Promise<IToolProvider<any, any>>;
255
+ waitUntilReady(): Promise<void>;
256
+ isReady(): boolean;
257
+ getInitStatus(): ToolkitInitStatus;
161
258
  /**
162
259
  * Check if a tool is enabled.
163
260
  * Tools are enabled by default unless explicitly disabled.
@@ -206,5 +303,6 @@ export declare class ToolkitCoordinator {
206
303
  * Called after updateToolConfig().
207
304
  */
208
305
  private _applyToolConfigChange;
306
+ private _reconfigureTTSProvider;
209
307
  }
210
308
  //# sourceMappingURL=ToolkitCoordinator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolkitCoordinator.d.ts","sourceRoot":"","sources":["../../src/services/ToolkitCoordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToolkitCoordinator.d.ts","sourceRoot":"","sources":["../../src/services/ToolkitCoordinator.ts"],"names":[],"mappings":"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"}