@pie-players/pie-assessment-toolkit 0.2.7 → 0.2.10

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 (249) 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 +953 -0
  11. package/dist/components/PieAssessmentToolkit.custom-element.js +757 -0
  12. package/dist/components/SectionToolBar.custom-element.js +162 -0
  13. package/dist/components/item-toolbar-element.d.ts +3 -0
  14. package/dist/components/item-toolbar-element.d.ts.map +1 -0
  15. package/dist/components/item-toolbar-element.js +2 -0
  16. package/dist/components/item-toolbar-element.js.map +1 -0
  17. package/dist/components/pie-assessment-toolkit-element.d.ts +3 -0
  18. package/dist/components/pie-assessment-toolkit-element.d.ts.map +1 -0
  19. package/dist/components/pie-assessment-toolkit-element.js +2 -0
  20. package/dist/components/pie-assessment-toolkit-element.js.map +1 -0
  21. package/dist/components/section-toolbar-element.d.ts +3 -0
  22. package/dist/components/section-toolbar-element.d.ts.map +1 -0
  23. package/dist/components/section-toolbar-element.js +2 -0
  24. package/dist/components/section-toolbar-element.js.map +1 -0
  25. package/dist/context/assessment-toolkit-context.d.ts +52 -0
  26. package/dist/context/assessment-toolkit-context.d.ts.map +1 -0
  27. package/dist/context/assessment-toolkit-context.js +6 -0
  28. package/dist/context/assessment-toolkit-context.js.map +1 -0
  29. package/dist/context/runtime-context-consumer.d.ts +14 -0
  30. package/dist/context/runtime-context-consumer.d.ts.map +1 -0
  31. package/dist/context/runtime-context-consumer.js +52 -0
  32. package/dist/context/runtime-context-consumer.js.map +1 -0
  33. package/dist/index.d.ts +19 -6
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +14 -11
  36. package/dist/index.js.map +1 -1
  37. package/dist/runtime/RuntimeRegistry.d.ts +13 -0
  38. package/dist/runtime/RuntimeRegistry.d.ts.map +1 -0
  39. package/dist/runtime/RuntimeRegistry.js +50 -0
  40. package/dist/runtime/RuntimeRegistry.js.map +1 -0
  41. package/dist/runtime/SectionRuntimeEngine.d.ts +45 -0
  42. package/dist/runtime/SectionRuntimeEngine.d.ts.map +1 -0
  43. package/dist/runtime/SectionRuntimeEngine.js +81 -0
  44. package/dist/runtime/SectionRuntimeEngine.js.map +1 -0
  45. package/dist/runtime/registration-events.d.ts +19 -0
  46. package/dist/runtime/registration-events.d.ts.map +1 -0
  47. package/dist/runtime/registration-events.js +4 -0
  48. package/dist/runtime/registration-events.js.map +1 -0
  49. package/dist/runtime/runtime-event-guards.d.ts +3 -0
  50. package/dist/runtime/runtime-event-guards.d.ts.map +1 -0
  51. package/dist/runtime/runtime-event-guards.js +9 -0
  52. package/dist/runtime/runtime-event-guards.js.map +1 -0
  53. package/dist/runtime/tool-host-contract.d.ts +30 -0
  54. package/dist/runtime/tool-host-contract.d.ts.map +1 -0
  55. package/dist/runtime/tool-host-contract.js +48 -0
  56. package/dist/runtime/tool-host-contract.js.map +1 -0
  57. package/dist/services/HighlightCoordinator.d.ts +9 -0
  58. package/dist/services/HighlightCoordinator.d.ts.map +1 -1
  59. package/dist/services/HighlightCoordinator.js +196 -55
  60. package/dist/services/HighlightCoordinator.js.map +1 -1
  61. package/dist/services/TTSService.d.ts +21 -1
  62. package/dist/services/TTSService.d.ts.map +1 -1
  63. package/dist/services/TTSService.js +356 -117
  64. package/dist/services/TTSService.js.map +1 -1
  65. package/dist/services/ThemeProvider.d.ts +1 -0
  66. package/dist/services/ThemeProvider.d.ts.map +1 -1
  67. package/dist/services/ThemeProvider.js +82 -46
  68. package/dist/services/ThemeProvider.js.map +1 -1
  69. package/dist/services/ToolConfigResolver.d.ts +1 -1
  70. package/dist/services/ToolConfigResolver.js +1 -1
  71. package/dist/services/ToolCoordinator.d.ts +1 -1
  72. package/dist/services/ToolCoordinator.d.ts.map +1 -1
  73. package/dist/services/ToolRegistry.d.ts +76 -67
  74. package/dist/services/ToolRegistry.d.ts.map +1 -1
  75. package/dist/services/ToolRegistry.js +73 -22
  76. package/dist/services/ToolRegistry.js.map +1 -1
  77. package/dist/services/ToolkitCoordinator.d.ts +126 -8
  78. package/dist/services/ToolkitCoordinator.d.ts.map +1 -1
  79. package/dist/services/ToolkitCoordinator.js +607 -72
  80. package/dist/services/ToolkitCoordinator.js.map +1 -1
  81. package/dist/services/createDefaultToolRegistry.d.ts +11 -12
  82. package/dist/services/createDefaultToolRegistry.d.ts.map +1 -1
  83. package/dist/services/createDefaultToolRegistry.js +9 -56
  84. package/dist/services/createDefaultToolRegistry.js.map +1 -1
  85. package/dist/services/defaultPersonalNeedsProfile.d.ts +4 -0
  86. package/dist/services/defaultPersonalNeedsProfile.d.ts.map +1 -0
  87. package/dist/services/defaultPersonalNeedsProfile.js +25 -0
  88. package/dist/services/defaultPersonalNeedsProfile.js.map +1 -0
  89. package/dist/services/interfaces.d.ts +62 -2
  90. package/dist/services/interfaces.d.ts.map +1 -1
  91. package/dist/services/interfaces.js.map +1 -1
  92. package/dist/services/pnp-standard-features.d.ts +3 -4
  93. package/dist/services/pnp-standard-features.d.ts.map +1 -1
  94. package/dist/services/pnp-standard-features.js +0 -3
  95. package/dist/services/pnp-standard-features.js.map +1 -1
  96. package/dist/services/section-controller-types.d.ts +37 -0
  97. package/dist/services/section-controller-types.d.ts.map +1 -0
  98. package/dist/services/section-controller-types.js +2 -0
  99. package/dist/services/section-controller-types.js.map +1 -0
  100. package/dist/services/tool-config-defaults.d.ts +14 -0
  101. package/dist/services/tool-config-defaults.d.ts.map +1 -0
  102. package/dist/services/tool-config-defaults.js +23 -0
  103. package/dist/services/tool-config-defaults.js.map +1 -0
  104. package/dist/services/tool-context.d.ts +4 -4
  105. package/dist/services/tool-context.d.ts.map +1 -1
  106. package/dist/services/tool-context.js +156 -20
  107. package/dist/services/tool-context.js.map +1 -1
  108. package/dist/services/tool-instance-id.d.ts +15 -0
  109. package/dist/services/tool-instance-id.d.ts.map +1 -0
  110. package/dist/services/tool-instance-id.js +55 -0
  111. package/dist/services/tool-instance-id.js.map +1 -0
  112. package/dist/services/tool-providers/IToolProvider.d.ts +2 -3
  113. package/dist/services/tool-providers/IToolProvider.d.ts.map +1 -1
  114. package/dist/services/tool-providers/IToolProvider.js +1 -2
  115. package/dist/services/tool-providers/IToolProvider.js.map +1 -1
  116. package/dist/services/tool-providers/MathJsToolProvider.d.ts +25 -0
  117. package/dist/services/tool-providers/MathJsToolProvider.d.ts.map +1 -0
  118. package/dist/services/tool-providers/MathJsToolProvider.js +53 -0
  119. package/dist/services/tool-providers/MathJsToolProvider.js.map +1 -0
  120. package/dist/services/tool-providers/index.d.ts +2 -0
  121. package/dist/services/tool-providers/index.d.ts.map +1 -1
  122. package/dist/services/tool-providers/index.js +1 -0
  123. package/dist/services/tool-providers/index.js.map +1 -1
  124. package/dist/services/toolbar-items.d.ts +26 -0
  125. package/dist/services/toolbar-items.d.ts.map +1 -0
  126. package/dist/services/toolbar-items.js +10 -0
  127. package/dist/services/toolbar-items.js.map +1 -0
  128. package/dist/services/tools-config-normalizer.d.ts +26 -0
  129. package/dist/services/tools-config-normalizer.d.ts.map +1 -0
  130. package/dist/services/tools-config-normalizer.js +62 -0
  131. package/dist/services/tools-config-normalizer.js.map +1 -0
  132. package/dist/services/tts/browser-provider.d.ts.map +1 -1
  133. package/dist/services/tts/browser-provider.js +201 -34
  134. package/dist/services/tts/browser-provider.js.map +1 -1
  135. package/dist/services/tts/text-processing.d.ts +17 -0
  136. package/dist/services/tts/text-processing.d.ts.map +1 -0
  137. package/dist/services/tts/text-processing.js +144 -0
  138. package/dist/services/tts/text-processing.js.map +1 -0
  139. package/dist/tools/calculators/ti-provider.d.ts.map +1 -1
  140. package/dist/tools/calculators/ti-provider.js +127 -4
  141. package/dist/tools/calculators/ti-provider.js.map +1 -1
  142. package/dist/tools/client.d.ts +2 -1
  143. package/dist/tools/client.d.ts.map +1 -1
  144. package/dist/tools/client.js +2 -1
  145. package/dist/tools/client.js.map +1 -1
  146. package/dist/tools/default-tool-module-loaders.d.ts +9 -0
  147. package/dist/tools/default-tool-module-loaders.d.ts.map +1 -0
  148. package/dist/tools/default-tool-module-loaders.js +11 -0
  149. package/dist/tools/default-tool-module-loaders.js.map +1 -0
  150. package/dist/tools/index.d.ts +2 -1
  151. package/dist/tools/index.d.ts.map +1 -1
  152. package/dist/tools/index.js +2 -1
  153. package/dist/tools/index.js.map +1 -1
  154. package/dist/tools/library-loader.d.ts +1 -1
  155. package/dist/tools/library-loader.d.ts.map +1 -1
  156. package/dist/tools/library-loader.js +7 -2
  157. package/dist/tools/library-loader.js.map +1 -1
  158. package/dist/tools/registrations/accessibility-tools.d.ts +8 -11
  159. package/dist/tools/registrations/accessibility-tools.d.ts.map +1 -1
  160. package/dist/tools/registrations/accessibility-tools.js +108 -120
  161. package/dist/tools/registrations/accessibility-tools.js.map +1 -1
  162. package/dist/tools/registrations/calculator.d.ts +2 -2
  163. package/dist/tools/registrations/calculator.d.ts.map +1 -1
  164. package/dist/tools/registrations/calculator.js +42 -55
  165. package/dist/tools/registrations/calculator.js.map +1 -1
  166. package/dist/tools/registrations/interaction-tools.d.ts.map +1 -1
  167. package/dist/tools/registrations/interaction-tools.js +77 -52
  168. package/dist/tools/registrations/interaction-tools.js.map +1 -1
  169. package/dist/tools/registrations/measurement-tools.d.ts.map +1 -1
  170. package/dist/tools/registrations/measurement-tools.js +63 -38
  171. package/dist/tools/registrations/measurement-tools.js.map +1 -1
  172. package/dist/tools/registrations/subject-specific-tools.d.ts.map +1 -1
  173. package/dist/tools/registrations/subject-specific-tools.js +63 -38
  174. package/dist/tools/registrations/subject-specific-tools.js.map +1 -1
  175. package/dist/tools/registrations/tts.d.ts +1 -1
  176. package/dist/tools/registrations/tts.d.ts.map +1 -1
  177. package/dist/tools/registrations/tts.js +171 -41
  178. package/dist/tools/registrations/tts.js.map +1 -1
  179. package/dist/tools/response-discovery.d.ts +12 -14
  180. package/dist/tools/response-discovery.d.ts.map +1 -1
  181. package/dist/tools/response-discovery.js +23 -80
  182. package/dist/tools/response-discovery.js.map +1 -1
  183. package/dist/tools/tool-tag-map.d.ts +3 -3
  184. package/dist/tools/tool-tag-map.d.ts.map +1 -1
  185. package/dist/tools/tool-tag-map.js +4 -4
  186. package/dist/tools/tool-tag-map.js.map +1 -1
  187. package/dist/tools/types.d.ts +3 -1
  188. package/dist/tools/types.d.ts.map +1 -1
  189. package/package.json +28 -27
  190. package/src/README.md +16 -32
  191. package/src/components/ItemToolBar.svelte +701 -0
  192. package/src/components/PieAssessmentToolkit.svelte +610 -0
  193. package/src/components/SectionToolBar.svelte +58 -0
  194. package/src/components/ToolButton.svelte +11 -11
  195. package/src/components/ToolButtonGroup.svelte +27 -11
  196. package/src/tools/README.md +6 -5
  197. package/src/tools/calculators/README.md +4 -4
  198. package/dist/player/AssessmentPlayer.d.ts +0 -397
  199. package/dist/player/AssessmentPlayer.d.ts.map +0 -1
  200. package/dist/player/AssessmentPlayer.js +0 -974
  201. package/dist/player/AssessmentPlayer.js.map +0 -1
  202. package/dist/player/index.d.ts +0 -17
  203. package/dist/player/index.d.ts.map +0 -1
  204. package/dist/player/index.js +0 -15
  205. package/dist/player/index.js.map +0 -1
  206. package/dist/player/navigation-types.d.ts +0 -63
  207. package/dist/player/navigation-types.d.ts.map +0 -1
  208. package/dist/player/navigation-types.js +0 -7
  209. package/dist/player/navigation-types.js.map +0 -1
  210. package/dist/player/qti-navigation.d.ts +0 -29
  211. package/dist/player/qti-navigation.d.ts.map +0 -1
  212. package/dist/player/qti-navigation.js +0 -160
  213. package/dist/player/qti-navigation.js.map +0 -1
  214. package/dist/reference-layout/index.d.ts +0 -19
  215. package/dist/reference-layout/index.d.ts.map +0 -1
  216. package/dist/reference-layout/index.js +0 -20
  217. package/dist/reference-layout/index.js.map +0 -1
  218. package/dist/services/AnnotationToolbarConfig.d.ts +0 -134
  219. package/dist/services/AnnotationToolbarConfig.d.ts.map +0 -1
  220. package/dist/services/AnnotationToolbarConfig.js +0 -100
  221. package/dist/services/AnnotationToolbarConfig.js.map +0 -1
  222. package/dist/services/AssessmentAuthoringService.d.ts +0 -60
  223. package/dist/services/AssessmentAuthoringService.d.ts.map +0 -1
  224. package/dist/services/AssessmentAuthoringService.js +0 -183
  225. package/dist/services/AssessmentAuthoringService.js.map +0 -1
  226. package/dist/services/PNPMapper.d.ts +0 -81
  227. package/dist/services/PNPMapper.d.ts.map +0 -1
  228. package/dist/services/PNPMapper.js +0 -108
  229. package/dist/services/PNPMapper.js.map +0 -1
  230. package/dist/services/tts/provider-interface.d.ts +0 -131
  231. package/dist/services/tts/provider-interface.d.ts.map +0 -1
  232. package/dist/services/tts/provider-interface.js +0 -10
  233. package/dist/services/tts/provider-interface.js.map +0 -1
  234. package/src/components/PNPProfileTester.example.svelte +0 -188
  235. package/src/components/PNPProfileTester.svelte +0 -397
  236. package/src/components/PNPProvenanceViewer.svelte +0 -260
  237. package/src/components/QuestionToolBar.svelte +0 -483
  238. package/src/player/AssessmentLayout.svelte +0 -68
  239. package/src/player/README.md +0 -154
  240. package/src/reference-layout/README.md +0 -135
  241. package/src/reference-layout/ReferenceLayout.svelte +0 -201
  242. package/src/reference-layout/components/AssessmentContent.svelte +0 -259
  243. package/src/reference-layout/components/AssessmentFooter.svelte +0 -89
  244. package/src/reference-layout/components/AssessmentHeader.svelte +0 -250
  245. package/src/reference-layout/components/AssessmentNavigation.svelte +0 -134
  246. package/src/reference-layout/components/AssessmentToolsBar.svelte +0 -176
  247. package/src/reference-layout/components/ItemPanel.svelte +0 -200
  248. package/src/reference-layout/components/NotesPanel.svelte +0 -179
  249. package/src/reference-layout/components/PassagePanel.svelte +0 -76
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-config-defaults.d.ts","sourceRoot":"","sources":["../../src/services/tool-config-defaults.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;CAGzB,CAAC;AAEX,eAAO,MAAM,sBAAsB;;;;;;;CAiBzB,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,sBAAsB,CAAC"}
@@ -0,0 +1,23 @@
1
+ export const DEFAULT_TOOL_ALIAS_MAP = {
2
+ tts: "textToSpeech",
3
+ colorScheme: "theme",
4
+ };
5
+ export const DEFAULT_TOOL_PLACEMENT = {
6
+ assessment: ["theme"],
7
+ section: ["theme", "textToSpeech"],
8
+ item: ["textToSpeech", "highlighter", "annotationToolbar", "graph", "periodicTable"],
9
+ passage: ["textToSpeech", "highlighter", "annotationToolbar", "lineReader"],
10
+ rubric: ["textToSpeech", "highlighter", "annotationToolbar", "lineReader"],
11
+ element: [
12
+ "calculator",
13
+ "answerEliminator",
14
+ "textToSpeech",
15
+ "ruler",
16
+ "protractor",
17
+ "highlighter",
18
+ "annotationToolbar",
19
+ "graph",
20
+ "periodicTable",
21
+ ],
22
+ };
23
+ //# sourceMappingURL=tool-config-defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-config-defaults.js","sourceRoot":"","sources":["../../src/services/tool-config-defaults.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACrC,GAAG,EAAE,cAAc;IACnB,WAAW,EAAE,OAAO;CACX,CAAC;AAEX,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACrC,UAAU,EAAE,CAAC,OAAO,CAAC;IACrB,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC;IAClC,IAAI,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,OAAO,EAAE,eAAe,CAAC;IACpF,OAAO,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,YAAY,CAAC;IAC3E,MAAM,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,YAAY,CAAC;IAC1E,OAAO,EAAE;QACR,YAAY;QACZ,kBAAkB;QAClB,cAAc;QACd,OAAO;QACP,YAAY;QACZ,aAAa;QACb,mBAAmB;QACnB,OAAO;QACP,eAAe;KACf;CACQ,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * Defines the context types passed to tools for making visibility and behavior decisions.
5
5
  * Each context level provides increasingly specific information about where the tool is being used.
6
6
  */
7
- import type { AssessmentEntity, AssessmentItemRef, ItemEntity, PassageEntity, QtiAssessmentSection, RubricBlock } from "@pie-players/pie-players-shared/types";
7
+ import type { AssessmentEntity, AssessmentItemRef, AssessmentSection, ItemEntity, PassageEntity, RubricBlock } from "@pie-players/pie-players-shared/types";
8
8
  /**
9
9
  * Tool placement levels - where a tool can appear in the UI
10
10
  */
@@ -18,7 +18,7 @@ export interface BaseToolContext {
18
18
  /** The full assessment entity */
19
19
  assessment: AssessmentEntity;
20
20
  /** Current section, if applicable */
21
- section?: QtiAssessmentSection;
21
+ section?: AssessmentSection;
22
22
  /** Reference to the current item (always available except at assessment level) */
23
23
  itemRef?: AssessmentItemRef;
24
24
  /** DOM container where the tool will be rendered */
@@ -35,7 +35,7 @@ export interface AssessmentToolContext extends BaseToolContext {
35
35
  */
36
36
  export interface SectionToolContext extends BaseToolContext {
37
37
  level: "section";
38
- section: QtiAssessmentSection;
38
+ section: AssessmentSection;
39
39
  }
40
40
  /**
41
41
  * Context for item-level tools (question toolbar)
@@ -76,7 +76,7 @@ export interface RubricToolContext extends BaseToolContext {
76
76
  level: "rubric";
77
77
  rubricBlock: RubricBlock;
78
78
  /** Section containing this rubric block */
79
- section: QtiAssessmentSection;
79
+ section: AssessmentSection;
80
80
  /** If rubric contains a passage (class="stimulus") */
81
81
  passage?: PassageEntity;
82
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tool-context.d.ts","sourceRoot":"","sources":["../../src/services/tool-context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACX,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,MAAM,uCAAuC,CAAC;AAE/C;;GAEG;AACH,MAAM,MAAM,SAAS,GAClB,YAAY,GACZ,SAAS,GACT,MAAM,GACN,SAAS,GACT,QAAQ,GACR,SAAS,CAAC;AAEb;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,sDAAsD;IACtD,KAAK,EAAE,SAAS,CAAC;IAEjB,iCAAiC;IACjC,UAAU,EAAE,gBAAgB,CAAC;IAE7B,qCAAqC;IACrC,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAE/B,kFAAkF;IAClF,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAE5B,oDAAoD;IACpD,SAAS,CAAC,EAAE,WAAW,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAC7D,KAAK,EAAE,YAAY,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IAC1D,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,oBAAoB,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,EAAE,UAAU,CAAC;IAEjB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,aAAa,CAAC;CACxB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IAC1D,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,OAAO,EAAE,aAAa,CAAC;IAEvB,yDAAyD;IACzD,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IAErB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,WAAW,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACzD,KAAK,EAAE,QAAQ,CAAC;IAChB,WAAW,EAAE,WAAW,CAAC;IAEzB,2CAA2C;IAC3C,OAAO,EAAE,oBAAoB,CAAC;IAE9B,sDAAsD;IACtD,OAAO,CAAC,EAAE,aAAa,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IAC1D,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,EAAE,UAAU,CAAC;IAEjB,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAElB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB,2EAA2E;IAC3E,cAAc,CAAC,EAAE,WAAW,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GACpB,qBAAqB,GACrB,kBAAkB,GAClB,eAAe,GACf,kBAAkB,GAClB,iBAAiB,GACjB,kBAAkB,CAAC;AAEtB;;GAEG;AACH,wBAAgB,mBAAmB,CAClC,OAAO,EAAE,WAAW,GAClB,OAAO,IAAI,qBAAqB,CAElC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC/B,OAAO,EAAE,WAAW,GAClB,OAAO,IAAI,kBAAkB,CAE/B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC5B,OAAO,EAAE,WAAW,GAClB,OAAO,IAAI,eAAe,CAE5B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC/B,OAAO,EAAE,WAAW,GAClB,OAAO,IAAI,kBAAkB,CAE/B;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC9B,OAAO,EAAE,WAAW,GAClB,OAAO,IAAI,iBAAiB,CAE9B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC/B,OAAO,EAAE,WAAW,GAClB,OAAO,IAAI,kBAAkB,CAE/B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAiD/D;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAc5D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CA2BlE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAI7D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAc/D"}
1
+ {"version":3,"file":"tool-context.d.ts","sourceRoot":"","sources":["../../src/services/tool-context.ts"],"names":[],"mappings":"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"}
@@ -45,34 +45,150 @@ export function isElementContext(context) {
45
45
  */
46
46
  export function extractTextContent(context) {
47
47
  if (isElementContext(context)) {
48
- // Extract text from specific element in the config
49
48
  const config = context.item.config;
50
49
  if (!config)
51
50
  return "";
52
- // Try to find element markup
51
+ const textChunks = [];
52
+ const stripHtml = (value) => value.replace(/<[^>]*>/g, " ").trim();
53
+ // Try to find element markup by element id.
53
54
  const elementMarkup = config.elements?.[context.elementId];
54
55
  if (elementMarkup) {
55
- // Strip HTML tags for text analysis
56
- return elementMarkup.replace(/<[^>]*>/g, " ").trim();
56
+ if (typeof elementMarkup === "string") {
57
+ textChunks.push(stripHtml(elementMarkup));
58
+ }
57
59
  }
58
- return "";
60
+ // Also inspect model data keyed by this element id.
61
+ // In many items, math appears in model.prompt/labels rather than elements[elementId].
62
+ const modelsRaw = config.models;
63
+ const models = Array.isArray(modelsRaw)
64
+ ? modelsRaw
65
+ : modelsRaw && typeof modelsRaw === "object"
66
+ ? Object.values(modelsRaw)
67
+ : [];
68
+ const model = models.find((m) => m && typeof m === "object" && m.id === context.elementId);
69
+ if (model) {
70
+ for (const value of Object.values(model)) {
71
+ if (typeof value === "string") {
72
+ textChunks.push(stripHtml(value));
73
+ }
74
+ if (Array.isArray(value)) {
75
+ for (const entry of value) {
76
+ if (entry && typeof entry === "object") {
77
+ for (const nested of Object.values(entry)) {
78
+ if (typeof nested === "string") {
79
+ textChunks.push(stripHtml(nested));
80
+ }
81
+ }
82
+ }
83
+ }
84
+ }
85
+ }
86
+ }
87
+ return textChunks.filter(Boolean).join(" ").trim();
59
88
  }
60
89
  if (isItemContext(context)) {
61
90
  const item = context.item;
62
91
  if (!item?.config)
63
92
  return "";
64
- // Extract all markup from config
65
- const markup = item.config.markup || "";
66
- // Strip HTML tags
67
- return markup.replace(/<[^>]*>/g, " ").trim();
93
+ const config = item.config;
94
+ const textChunks = [];
95
+ const stripHtml = (value) => value.replace(/<[^>]*>/g, " ").trim();
96
+ // Primary item markup
97
+ if (typeof config.markup === "string") {
98
+ textChunks.push(stripHtml(config.markup));
99
+ }
100
+ // Element markup snippets
101
+ const elements = config.elements;
102
+ if (elements && typeof elements === "object") {
103
+ for (const elementMarkup of Object.values(elements)) {
104
+ if (typeof elementMarkup === "string") {
105
+ textChunks.push(stripHtml(elementMarkup));
106
+ }
107
+ }
108
+ }
109
+ // Model-level text (prompts, labels, etc.)
110
+ const modelsRaw = config.models;
111
+ const models = Array.isArray(modelsRaw)
112
+ ? modelsRaw
113
+ : modelsRaw && typeof modelsRaw === "object"
114
+ ? Object.values(modelsRaw)
115
+ : [];
116
+ for (const model of models) {
117
+ if (!model || typeof model !== "object")
118
+ continue;
119
+ for (const value of Object.values(model)) {
120
+ if (typeof value === "string") {
121
+ textChunks.push(stripHtml(value));
122
+ }
123
+ if (Array.isArray(value)) {
124
+ for (const entry of value) {
125
+ if (entry && typeof entry === "object") {
126
+ for (const nested of Object.values(entry)) {
127
+ if (typeof nested === "string") {
128
+ textChunks.push(stripHtml(nested));
129
+ }
130
+ }
131
+ }
132
+ }
133
+ }
134
+ }
135
+ }
136
+ return textChunks.filter(Boolean).join(" ").trim();
68
137
  }
69
138
  if (isPassageContext(context)) {
70
139
  const passage = context.passage;
71
140
  if (!passage?.config)
72
141
  return "";
73
- // Extract markup from passage
74
- const markup = passage.config.markup || "";
75
- return markup.replace(/<[^>]*>/g, " ").trim();
142
+ const config = passage.config;
143
+ const textChunks = [];
144
+ const stripHtml = (value) => value.replace(/<[^>]*>/g, " ").trim();
145
+ // Primary passage markup/content
146
+ if (typeof config.markup === "string") {
147
+ textChunks.push(stripHtml(config.markup));
148
+ }
149
+ if (typeof config.content === "string") {
150
+ textChunks.push(stripHtml(config.content));
151
+ }
152
+ if (typeof config.prompt === "string") {
153
+ textChunks.push(stripHtml(config.prompt));
154
+ }
155
+ // Element markup snippets
156
+ const elements = config.elements;
157
+ if (elements && typeof elements === "object") {
158
+ for (const elementMarkup of Object.values(elements)) {
159
+ if (typeof elementMarkup === "string") {
160
+ textChunks.push(stripHtml(elementMarkup));
161
+ }
162
+ }
163
+ }
164
+ // Model-level text (prompts, labels, etc.)
165
+ const modelsRaw = config.models;
166
+ const models = Array.isArray(modelsRaw)
167
+ ? modelsRaw
168
+ : modelsRaw && typeof modelsRaw === "object"
169
+ ? Object.values(modelsRaw)
170
+ : [];
171
+ for (const model of models) {
172
+ if (!model || typeof model !== "object")
173
+ continue;
174
+ for (const value of Object.values(model)) {
175
+ if (typeof value === "string") {
176
+ textChunks.push(stripHtml(value));
177
+ }
178
+ if (Array.isArray(value)) {
179
+ for (const entry of value) {
180
+ if (entry && typeof entry === "object") {
181
+ for (const nested of Object.values(entry)) {
182
+ if (typeof nested === "string") {
183
+ textChunks.push(stripHtml(nested));
184
+ }
185
+ }
186
+ }
187
+ }
188
+ }
189
+ }
190
+ }
191
+ return textChunks.filter(Boolean).join(" ").trim();
76
192
  }
77
193
  if (isRubricContext(context)) {
78
194
  const rubric = context.rubricBlock;
@@ -108,24 +224,44 @@ export function hasMathContent(context) {
108
224
  * Helper to check if context contains choice-based interactions
109
225
  */
110
226
  export function hasChoiceInteraction(context) {
227
+ const interactionTypes = [
228
+ "pie-multiple-choice",
229
+ "pie-inline-choice",
230
+ "pie-select-text",
231
+ "multiple-choice",
232
+ "inline-choice",
233
+ "select-text",
234
+ ];
111
235
  if (isElementContext(context)) {
112
236
  const config = context.item.config;
113
237
  if (!config?.models)
114
238
  return false;
115
239
  // Find model for this element
116
- const model = config.models.find((m) => m.id === context.elementId);
240
+ const models = Array.isArray(config.models)
241
+ ? config.models
242
+ : Object.values(config.models);
243
+ const model = models.find((m) => m && typeof m === "object" && m.id === context.elementId);
117
244
  if (!model)
118
245
  return false;
119
246
  const type = model.element || "";
120
- return [
121
- "pie-multiple-choice",
122
- "pie-inline-choice",
123
- "pie-select-text",
124
- ].includes(type);
247
+ return interactionTypes.includes(type);
125
248
  }
126
249
  if (isItemContext(context)) {
127
- const models = context.item.config?.models || [];
128
- return models.some((m) => ["pie-multiple-choice", "pie-inline-choice", "pie-select-text"].includes(m.element || ""));
250
+ const modelsRaw = context.item.config?.models;
251
+ const models = Array.isArray(modelsRaw)
252
+ ? modelsRaw
253
+ : modelsRaw && typeof modelsRaw === "object"
254
+ ? Object.values(modelsRaw)
255
+ : [];
256
+ return models.some((m) => {
257
+ if (!m || typeof m !== "object")
258
+ return false;
259
+ const type = m.element || "";
260
+ if (interactionTypes.includes(type))
261
+ return true;
262
+ // Fallback for configs that don't provide canonical element names.
263
+ return Array.isArray(m.choices) && m.choices.length > 0;
264
+ });
129
265
  }
130
266
  return false;
131
267
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tool-context.js","sourceRoot":"","sources":["../../src/services/tool-context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA4IH;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAClC,OAAoB;IAEpB,OAAO,OAAO,CAAC,KAAK,KAAK,YAAY,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC/B,OAAoB;IAEpB,OAAO,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAC5B,OAAoB;IAEpB,OAAO,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC/B,OAAoB;IAEpB,OAAO,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC9B,OAAoB;IAEpB,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC/B,OAAoB;IAEpB,OAAO,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAoB;IACtD,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,mDAAmD;QACnD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;QACnC,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAEvB,6BAA6B;QAC7B,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,aAAa,EAAE,CAAC;YACnB,oCAAoC;YACpC,OAAO,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACtD,CAAC;QACD,OAAO,EAAE,CAAC;IACX,CAAC;IAED,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC1B,IAAI,CAAC,IAAI,EAAE,MAAM;YAAE,OAAO,EAAE,CAAC;QAE7B,iCAAiC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QACxC,kBAAkB;QAClB,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/C,CAAC;IAED,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,OAAO,EAAE,MAAM;YAAE,OAAO,EAAE,CAAC;QAEhC,8BAA8B;QAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QAC3C,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/C,CAAC;IAED,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;QAEnC,8DAA8D;QAC9D,IAAI,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;YAClD,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/C,CAAC;QAED,uCAAuC;QACvC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACrC,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAChD,CAAC;IAED,OAAO,EAAE,CAAC;AACX,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,OAAoB;IAClD,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAEzC,kCAAkC;IAClC,MAAM,cAAc,GAAG;QACtB,aAAa,EAAE,SAAS;QACxB,kBAAkB,EAAE,qBAAqB;QACzC,eAAe,EAAE,+BAA+B;QAChD,MAAM,EAAE,oBAAoB;QAC5B,kBAAkB,EAAE,eAAe;QACnC,sBAAsB,EAAE,oBAAoB;KAC5C,CAAC;IAEF,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAoB;IACxD,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;QACnC,IAAI,CAAC,MAAM,EAAE,MAAM;YAAE,OAAO,KAAK,CAAC;QAElC,8BAA8B;QAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;QACpE,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAEzB,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;QACjC,OAAO;YACN,qBAAqB;YACrB,mBAAmB;YACnB,iBAAiB;SACjB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;QACjD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACxB,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CACvE,CAAC,CAAC,OAAO,IAAI,EAAE,CACf,CACD,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAAoB;IACnD,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,iEAAiE;IACjE,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAoB;IACrD,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAEzC,qCAAqC;IACrC,MAAM,iBAAiB,GAAG;QACzB,oDAAoD;QACpD,mBAAmB;QACnB,qBAAqB,EAAE,oBAAoB;QAC3C,oBAAoB,EAAE,oCAAoC;QAC1D,wCAAwC;QACxC,6CAA6C;KAC7C,CAAC;IAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAChE,CAAC"}
1
+ {"version":3,"file":"tool-context.js","sourceRoot":"","sources":["../../src/services/tool-context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export declare const DEFAULT_TOOL_SCOPE_LEVELS: readonly ["assessment", "section", "item", "passage", "rubric"];
2
+ export type BuiltinToolScopeLevel = (typeof DEFAULT_TOOL_SCOPE_LEVELS)[number];
3
+ export type ToolScopeLevel = BuiltinToolScopeLevel | (string & {});
4
+ export interface ParsedToolInstanceId {
5
+ baseToolId: string;
6
+ scopeLevel: ToolScopeLevel;
7
+ scopeId: string;
8
+ }
9
+ export declare function getRegisteredToolScopeLevels(): string[];
10
+ export declare function registerToolScopeLevel(scopeLevel: string): void;
11
+ export declare function isRegisteredToolScopeLevel(scopeLevel: string): scopeLevel is ToolScopeLevel;
12
+ export declare function createScopedToolId(baseToolId: string, scopeLevel: ToolScopeLevel, scopeId: string): string;
13
+ export declare function parseScopedToolId(id: string): ParsedToolInstanceId | null;
14
+ export declare function toOverlayToolId(id: string): string;
15
+ //# sourceMappingURL=tool-instance-id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-instance-id.d.ts","sourceRoot":"","sources":["../../src/services/tool-instance-id.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB,iEAM5B,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/E,MAAM,MAAM,cAAc,GAAG,qBAAqB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEnE,MAAM,WAAW,oBAAoB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,cAAc,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CAChB;AAID,wBAAgB,4BAA4B,IAAI,MAAM,EAAE,CAEvD;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAM/D;AAED,wBAAgB,0BAA0B,CACzC,UAAU,EAAE,MAAM,GAChB,UAAU,IAAI,cAAc,CAE9B;AAED,wBAAgB,kBAAkB,CACjC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,cAAc,EAC1B,OAAO,EAAE,MAAM,GACb,MAAM,CAYR;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAazE;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAIlD"}
@@ -0,0 +1,55 @@
1
+ export const DEFAULT_TOOL_SCOPE_LEVELS = [
2
+ "assessment",
3
+ "section",
4
+ "item",
5
+ "passage",
6
+ "rubric",
7
+ ];
8
+ const registeredToolScopeLevels = new Set(DEFAULT_TOOL_SCOPE_LEVELS);
9
+ export function getRegisteredToolScopeLevels() {
10
+ return Array.from(registeredToolScopeLevels.values());
11
+ }
12
+ export function registerToolScopeLevel(scopeLevel) {
13
+ const normalized = scopeLevel.trim();
14
+ if (!normalized) {
15
+ throw new Error("Tool scope level must be a non-empty string");
16
+ }
17
+ registeredToolScopeLevels.add(normalized);
18
+ }
19
+ export function isRegisteredToolScopeLevel(scopeLevel) {
20
+ return registeredToolScopeLevels.has(scopeLevel);
21
+ }
22
+ export function createScopedToolId(baseToolId, scopeLevel, scopeId) {
23
+ const normalizedBase = baseToolId.trim();
24
+ const normalizedScopeId = scopeId.trim();
25
+ if (!normalizedBase || !normalizedScopeId) {
26
+ throw new Error("Tool instance ids require non-empty tool and scope ids");
27
+ }
28
+ if (!isRegisteredToolScopeLevel(scopeLevel)) {
29
+ throw new Error(`Unknown tool scope level '${scopeLevel}'. Register custom levels with registerToolScopeLevel().`);
30
+ }
31
+ return `${normalizedBase}:${scopeLevel}:${normalizedScopeId}`;
32
+ }
33
+ export function parseScopedToolId(id) {
34
+ const parts = id.split(":");
35
+ if (parts.length !== 3 && parts.length !== 4)
36
+ return null;
37
+ const [baseToolId, scopeLevelRaw, scopeId] = parts;
38
+ if (!baseToolId || !scopeId)
39
+ return null;
40
+ if (!isRegisteredToolScopeLevel(scopeLevelRaw)) {
41
+ return null;
42
+ }
43
+ return {
44
+ baseToolId,
45
+ scopeLevel: scopeLevelRaw,
46
+ scopeId,
47
+ };
48
+ }
49
+ export function toOverlayToolId(id) {
50
+ const parsed = parseScopedToolId(id);
51
+ if (!parsed)
52
+ return id;
53
+ return createScopedToolId(parsed.baseToolId, parsed.scopeLevel, parsed.scopeId);
54
+ }
55
+ //# sourceMappingURL=tool-instance-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-instance-id.js","sourceRoot":"","sources":["../../src/services/tool-instance-id.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACxC,YAAY;IACZ,SAAS;IACT,MAAM;IACN,SAAS;IACT,QAAQ;CACC,CAAC;AAWX,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAS,yBAAyB,CAAC,CAAC;AAE7E,MAAM,UAAU,4BAA4B;IAC3C,OAAO,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,UAAkB;IACxD,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;IACrC,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAChE,CAAC;IACD,yBAAyB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,0BAA0B,CACzC,UAAkB;IAElB,OAAO,yBAAyB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,kBAAkB,CACjC,UAAkB,EAClB,UAA0B,EAC1B,OAAe;IAEf,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;IACzC,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IACzC,IAAI,CAAC,cAAc,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CACd,6BAA6B,UAAU,0DAA0D,CACjG,CAAC;IACH,CAAC;IACD,OAAO,GAAG,cAAc,IAAI,UAAU,IAAI,iBAAiB,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAAU;IAC3C,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1D,MAAM,CAAC,UAAU,EAAE,aAAa,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC;IACnD,IAAI,CAAC,UAAU,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,CAAC,0BAA0B,CAAC,aAAa,CAAC,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO;QACN,UAAU;QACV,UAAU,EAAE,aAAa;QACzB,OAAO;KACP,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAAU;IACzC,MAAM,MAAM,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,OAAO,kBAAkB,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;AACjF,CAAC"}
@@ -4,15 +4,14 @@
4
4
  * Unified interface for all assessment tools that require
5
5
  * configuration, authentication, or external services.
6
6
  *
7
- * Examples: Desmos calculators, TI calculators, TTS services,
8
- * translation services, dictionary APIs, etc.
7
+ * Examples: Desmos calculators, TI calculators, and TTS services.
9
8
  *
10
9
  * Part of PIE Assessment Toolkit.
11
10
  */
12
11
  /**
13
12
  * Tool category classification
14
13
  */
15
- export type ToolCategory = "calculator" | "tts" | "translation" | "dictionary" | "annotation" | "accessibility" | "other";
14
+ export type ToolCategory = "calculator" | "tts" | "translation" | "annotation" | "accessibility" | "other";
16
15
  /**
17
16
  * Tool provider capabilities descriptor
18
17
  *
@@ -1 +1 @@
1
- {"version":3,"file":"IToolProvider.d.ts","sourceRoot":"","sources":["../../../src/services/tool-providers/IToolProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;GAEG;AACH,MAAM,MAAM,YAAY,GACrB,YAAY,GACZ,KAAK,GACL,aAAa,GACb,YAAY,GACZ,YAAY,GACZ,eAAe,GACf,OAAO,CAAC;AAEX;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACxC;;OAEG;IACH,eAAe,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7B;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,aAAa,CAAC,OAAO,GAAG,GAAG,EAAE,SAAS,GAAG,GAAG;IAC5D;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAEhC;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAE/B;;;;;;;;;OASG;IACH,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3C;;;;;;;;;OASG;IACH,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAE9D;;;;;;OAMG;IACH,eAAe,IAAI,wBAAwB,CAAC;IAE5C;;;;;;OAMG;IACH,OAAO,IAAI,OAAO,CAAC;IAEnB;;;;;OAKG;IACH,OAAO,IAAI,IAAI,CAAC;CAChB"}
1
+ {"version":3,"file":"IToolProvider.d.ts","sourceRoot":"","sources":["../../../src/services/tool-providers/IToolProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;GAEG;AACH,MAAM,MAAM,YAAY,GACrB,YAAY,GACZ,KAAK,GACL,aAAa,GACb,YAAY,GACZ,eAAe,GACf,OAAO,CAAC;AAEX;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACxC;;OAEG;IACH,eAAe,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7B;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,aAAa,CAAC,OAAO,GAAG,GAAG,EAAE,SAAS,GAAG,GAAG;IAC5D;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAEhC;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAE/B;;;;;;;;;OASG;IACH,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3C;;;;;;;;;OASG;IACH,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAE9D;;;;;;OAMG;IACH,eAAe,IAAI,wBAAwB,CAAC;IAE5C;;;;;;OAMG;IACH,OAAO,IAAI,OAAO,CAAC;IAEnB;;;;;OAKG;IACH,OAAO,IAAI,IAAI,CAAC;CAChB"}
@@ -4,8 +4,7 @@
4
4
  * Unified interface for all assessment tools that require
5
5
  * configuration, authentication, or external services.
6
6
  *
7
- * Examples: Desmos calculators, TI calculators, TTS services,
8
- * translation services, dictionary APIs, etc.
7
+ * Examples: Desmos calculators, TI calculators, and TTS services.
9
8
  *
10
9
  * Part of PIE Assessment Toolkit.
11
10
  */
@@ -1 +1 @@
1
- {"version":3,"file":"IToolProvider.js","sourceRoot":"","sources":["../../../src/services/tool-providers/IToolProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
1
+ {"version":3,"file":"IToolProvider.js","sourceRoot":"","sources":["../../../src/services/tool-providers/IToolProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Math.js Calculator Tool Provider
3
+ *
4
+ * Provides an open-source calculator provider that supports
5
+ * basic and scientific calculator types without API keys.
6
+ */
7
+ import type { CalculatorProvider } from "@pie-players/pie-calculator";
8
+ import type { IToolProvider, ToolProviderCapabilities } from "./IToolProvider.js";
9
+ export interface MathJsToolProviderConfig {
10
+ defaultConfig?: Record<string, unknown>;
11
+ }
12
+ export declare class MathJsToolProvider implements IToolProvider<MathJsToolProviderConfig, CalculatorProvider> {
13
+ readonly providerId = "mathjs-calculator";
14
+ readonly providerName = "Math.js Calculator";
15
+ readonly category: "calculator";
16
+ readonly version = "1.0";
17
+ readonly requiresAuth = false;
18
+ private mathjsProvider;
19
+ initialize(_config: MathJsToolProviderConfig): Promise<void>;
20
+ createInstance(): Promise<CalculatorProvider>;
21
+ getCapabilities(): ToolProviderCapabilities;
22
+ isReady(): boolean;
23
+ destroy(): void;
24
+ }
25
+ //# sourceMappingURL=MathJsToolProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MathJsToolProvider.d.ts","sourceRoot":"","sources":["../../../src/services/tool-providers/MathJsToolProvider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,OAAO,KAAK,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAElF,MAAM,WAAW,wBAAwB;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAED,qBAAa,kBACZ,YAAW,aAAa,CAAC,wBAAwB,EAAE,kBAAkB,CAAC;IAEtE,QAAQ,CAAC,UAAU,uBAAuB;IAC1C,QAAQ,CAAC,YAAY,wBAAwB;IAC7C,QAAQ,CAAC,QAAQ,EAAG,YAAY,CAAU;IAC1C,QAAQ,CAAC,OAAO,SAAS;IACzB,QAAQ,CAAC,YAAY,SAAS;IAE9B,OAAO,CAAC,cAAc,CAAyC;IAEzD,UAAU,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAU5D,cAAc,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAUnD,eAAe,IAAI,wBAAwB;IAc3C,OAAO,IAAI,OAAO;IAIlB,OAAO,IAAI,IAAI;CAOf"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Math.js Calculator Tool Provider
3
+ *
4
+ * Provides an open-source calculator provider that supports
5
+ * basic and scientific calculator types without API keys.
6
+ */
7
+ import { MathJsCalculatorProvider } from "../../tools/calculators/mathjs-provider.js";
8
+ export class MathJsToolProvider {
9
+ providerId = "mathjs-calculator";
10
+ providerName = "Math.js Calculator";
11
+ category = "calculator";
12
+ version = "1.0";
13
+ requiresAuth = false;
14
+ mathjsProvider = null;
15
+ async initialize(_config) {
16
+ if (this.mathjsProvider) {
17
+ return;
18
+ }
19
+ this.mathjsProvider = new MathJsCalculatorProvider();
20
+ await this.mathjsProvider.initialize();
21
+ console.log("[MathJsToolProvider] Initialized successfully");
22
+ }
23
+ async createInstance() {
24
+ if (!this.mathjsProvider) {
25
+ throw new Error("[MathJsToolProvider] Provider not initialized. Call initialize() first.");
26
+ }
27
+ return this.mathjsProvider;
28
+ }
29
+ getCapabilities() {
30
+ return {
31
+ supportsOffline: false,
32
+ requiresAuth: false,
33
+ maxInstances: null,
34
+ features: {
35
+ basic: true,
36
+ scientific: true,
37
+ graphing: false,
38
+ fourFunction: true,
39
+ },
40
+ };
41
+ }
42
+ isReady() {
43
+ return this.mathjsProvider !== null;
44
+ }
45
+ destroy() {
46
+ if (this.mathjsProvider) {
47
+ this.mathjsProvider.destroy();
48
+ this.mathjsProvider = null;
49
+ }
50
+ console.log("[MathJsToolProvider] Destroyed");
51
+ }
52
+ }
53
+ //# sourceMappingURL=MathJsToolProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MathJsToolProvider.js","sourceRoot":"","sources":["../../../src/services/tool-providers/MathJsToolProvider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AAOtF,MAAM,OAAO,kBAAkB;IAGrB,UAAU,GAAG,mBAAmB,CAAC;IACjC,YAAY,GAAG,oBAAoB,CAAC;IACpC,QAAQ,GAAG,YAAqB,CAAC;IACjC,OAAO,GAAG,KAAK,CAAC;IAChB,YAAY,GAAG,KAAK,CAAC;IAEtB,cAAc,GAAoC,IAAI,CAAC;IAE/D,KAAK,CAAC,UAAU,CAAC,OAAiC;QACjD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO;QACR,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACrD,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,cAAc;QACnB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACd,yEAAyE,CACzE,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC;IAC5B,CAAC;IAED,eAAe;QACd,OAAO;YACN,eAAe,EAAE,KAAK;YACtB,YAAY,EAAE,KAAK;YACnB,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE;gBACT,KAAK,EAAE,IAAI;gBACX,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,KAAK;gBACf,YAAY,EAAE,IAAI;aAClB;SACD,CAAC;IACH,CAAC;IAED,OAAO;QACN,OAAO,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC;IACrC,CAAC;IAED,OAAO;QACN,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC5B,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC/C,CAAC;CACD"}
@@ -13,6 +13,8 @@ export { DesmosToolProvider } from "./DesmosToolProvider.js";
13
13
  export type { DesmosToolProviderConfig } from "./DesmosToolProvider.js";
14
14
  export { TIToolProvider } from "./TIToolProvider.js";
15
15
  export type { TIToolProviderConfig } from "./TIToolProvider.js";
16
+ export { MathJsToolProvider } from "./MathJsToolProvider.js";
17
+ export type { MathJsToolProviderConfig } from "./MathJsToolProvider.js";
16
18
  export { TTSToolProvider } from "./TTSToolProvider.js";
17
19
  export type { TTSToolProviderConfig, TTSBackend, } from "./TTSToolProvider.js";
18
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/tool-providers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,YAAY,EACX,aAAa,EACb,YAAY,EACZ,wBAAwB,GACxB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAExE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EACX,qBAAqB,EACrB,UAAU,GACV,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/tool-providers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,YAAY,EACX,aAAa,EACb,YAAY,EACZ,wBAAwB,GACxB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAExE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAExE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EACX,qBAAqB,EACrB,UAAU,GACV,MAAM,sBAAsB,CAAC"}
@@ -11,5 +11,6 @@ export { ToolProviderRegistry } from "./ToolProviderRegistry.js";
11
11
  // Concrete providers
12
12
  export { DesmosToolProvider } from "./DesmosToolProvider.js";
13
13
  export { TIToolProvider } from "./TIToolProvider.js";
14
+ export { MathJsToolProvider } from "./MathJsToolProvider.js";
14
15
  export { TTSToolProvider } from "./TTSToolProvider.js";
15
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/tool-providers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,WAAW;AACX,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjE,qBAAqB;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/tool-providers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,WAAW;AACX,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjE,qBAAqB;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,26 @@
1
+ export interface ToolbarItemBase {
2
+ id: string;
3
+ label: string;
4
+ ariaLabel?: string;
5
+ icon?: string;
6
+ tooltip?: string;
7
+ active?: boolean;
8
+ disabled?: boolean;
9
+ }
10
+ export interface ToolbarButtonItem extends ToolbarItemBase {
11
+ onClick: () => void;
12
+ href?: never;
13
+ target?: never;
14
+ rel?: never;
15
+ }
16
+ export interface ToolbarLinkItem extends ToolbarItemBase {
17
+ href: string;
18
+ target?: "_self" | "_blank" | "_parent" | "_top" | string;
19
+ rel?: string;
20
+ onClick?: never;
21
+ }
22
+ export type ToolbarItem = ToolbarButtonItem | ToolbarLinkItem;
23
+ export declare function isToolbarLinkItem(item: ToolbarItem): item is ToolbarLinkItem;
24
+ export declare function isInlineSvgIcon(icon: string | undefined): boolean;
25
+ export declare function isExternalIconUrl(icon: string | undefined): boolean;
26
+ //# sourceMappingURL=toolbar-items.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolbar-items.d.ts","sourceRoot":"","sources":["../../src/services/toolbar-items.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACzD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,GAAG,CAAC,EAAE,KAAK,CAAC;CACZ;AAED,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,KAAK,CAAC;CAChB;AAED,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG,eAAe,CAAC;AAE9D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,IAAI,eAAe,CAE5E;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAEjE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAEnE"}
@@ -0,0 +1,10 @@
1
+ export function isToolbarLinkItem(item) {
2
+ return typeof item.href === "string";
3
+ }
4
+ export function isInlineSvgIcon(icon) {
5
+ return typeof icon === "string" && icon.startsWith("<svg");
6
+ }
7
+ export function isExternalIconUrl(icon) {
8
+ return typeof icon === "string" && icon.startsWith("http");
9
+ }
10
+ //# sourceMappingURL=toolbar-items.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolbar-items.js","sourceRoot":"","sources":["../../src/services/toolbar-items.ts"],"names":[],"mappings":"AA0BA,MAAM,UAAU,iBAAiB,CAAC,IAAiB;IAClD,OAAO,OAAQ,IAAwB,CAAC,IAAI,KAAK,QAAQ,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAwB;IACvD,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAwB;IACzD,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAC5D,CAAC"}