@pie-players/pie-assessment-toolkit 0.2.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 (194) hide show
  1. package/README.md +520 -0
  2. package/dist/attempt/TestSession.d.ts +90 -0
  3. package/dist/attempt/TestSession.d.ts.map +1 -0
  4. package/dist/attempt/TestSession.js +174 -0
  5. package/dist/attempt/TestSession.js.map +1 -0
  6. package/dist/core/TypedEventBus.d.ts +48 -0
  7. package/dist/core/TypedEventBus.d.ts.map +1 -0
  8. package/dist/core/TypedEventBus.js +63 -0
  9. package/dist/core/TypedEventBus.js.map +1 -0
  10. package/dist/index.d.ts +37 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +44 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/item-loader.d.ts +45 -0
  15. package/dist/item-loader.d.ts.map +1 -0
  16. package/dist/item-loader.js +62 -0
  17. package/dist/item-loader.js.map +1 -0
  18. package/dist/player/AssessmentPlayer.d.ts +388 -0
  19. package/dist/player/AssessmentPlayer.d.ts.map +1 -0
  20. package/dist/player/AssessmentPlayer.js +965 -0
  21. package/dist/player/AssessmentPlayer.js.map +1 -0
  22. package/dist/player/index.d.ts +17 -0
  23. package/dist/player/index.d.ts.map +1 -0
  24. package/dist/player/index.js +15 -0
  25. package/dist/player/index.js.map +1 -0
  26. package/dist/player/navigation-types.d.ts +63 -0
  27. package/dist/player/navigation-types.d.ts.map +1 -0
  28. package/dist/player/navigation-types.js +7 -0
  29. package/dist/player/navigation-types.js.map +1 -0
  30. package/dist/player/qti-navigation.d.ts +29 -0
  31. package/dist/player/qti-navigation.d.ts.map +1 -0
  32. package/dist/player/qti-navigation.js +160 -0
  33. package/dist/player/qti-navigation.js.map +1 -0
  34. package/dist/reference-layout/index.d.ts +19 -0
  35. package/dist/reference-layout/index.d.ts.map +1 -0
  36. package/dist/reference-layout/index.js +20 -0
  37. package/dist/reference-layout/index.js.map +1 -0
  38. package/dist/services/AccessibilityCatalogResolver.d.ts +141 -0
  39. package/dist/services/AccessibilityCatalogResolver.d.ts.map +1 -0
  40. package/dist/services/AccessibilityCatalogResolver.js +249 -0
  41. package/dist/services/AccessibilityCatalogResolver.js.map +1 -0
  42. package/dist/services/AssessmentAuthoringService.d.ts +60 -0
  43. package/dist/services/AssessmentAuthoringService.d.ts.map +1 -0
  44. package/dist/services/AssessmentAuthoringService.js +183 -0
  45. package/dist/services/AssessmentAuthoringService.js.map +1 -0
  46. package/dist/services/ContextVariableStore.d.ts +114 -0
  47. package/dist/services/ContextVariableStore.d.ts.map +1 -0
  48. package/dist/services/ContextVariableStore.js +207 -0
  49. package/dist/services/ContextVariableStore.js.map +1 -0
  50. package/dist/services/ElementToolStateStore.d.ts +125 -0
  51. package/dist/services/ElementToolStateStore.d.ts.map +1 -0
  52. package/dist/services/ElementToolStateStore.js +200 -0
  53. package/dist/services/ElementToolStateStore.js.map +1 -0
  54. package/dist/services/HighlightCoordinator.d.ts +179 -0
  55. package/dist/services/HighlightCoordinator.d.ts.map +1 -0
  56. package/dist/services/HighlightCoordinator.js +446 -0
  57. package/dist/services/HighlightCoordinator.js.map +1 -0
  58. package/dist/services/I18nService.d.ts +121 -0
  59. package/dist/services/I18nService.d.ts.map +1 -0
  60. package/dist/services/I18nService.js +276 -0
  61. package/dist/services/I18nService.js.map +1 -0
  62. package/dist/services/PNPMapper.d.ts +71 -0
  63. package/dist/services/PNPMapper.d.ts.map +1 -0
  64. package/dist/services/PNPMapper.js +98 -0
  65. package/dist/services/PNPMapper.js.map +1 -0
  66. package/dist/services/PNPToolResolver.d.ts +127 -0
  67. package/dist/services/PNPToolResolver.d.ts.map +1 -0
  68. package/dist/services/PNPToolResolver.js +222 -0
  69. package/dist/services/PNPToolResolver.js.map +1 -0
  70. package/dist/services/SSMLExtractor.d.ts +61 -0
  71. package/dist/services/SSMLExtractor.d.ts.map +1 -0
  72. package/dist/services/SSMLExtractor.js +181 -0
  73. package/dist/services/SSMLExtractor.js.map +1 -0
  74. package/dist/services/TTSService.d.ts +162 -0
  75. package/dist/services/TTSService.d.ts.map +1 -0
  76. package/dist/services/TTSService.js +465 -0
  77. package/dist/services/TTSService.js.map +1 -0
  78. package/dist/services/ThemeProvider.d.ts +95 -0
  79. package/dist/services/ThemeProvider.d.ts.map +1 -0
  80. package/dist/services/ThemeProvider.js +299 -0
  81. package/dist/services/ThemeProvider.js.map +1 -0
  82. package/dist/services/ToolConfigResolver.d.ts +162 -0
  83. package/dist/services/ToolConfigResolver.d.ts.map +1 -0
  84. package/dist/services/ToolConfigResolver.js +230 -0
  85. package/dist/services/ToolConfigResolver.js.map +1 -0
  86. package/dist/services/ToolCoordinator.d.ts +137 -0
  87. package/dist/services/ToolCoordinator.d.ts.map +1 -0
  88. package/dist/services/ToolCoordinator.js +318 -0
  89. package/dist/services/ToolCoordinator.js.map +1 -0
  90. package/dist/services/ToolkitCoordinator.d.ts +188 -0
  91. package/dist/services/ToolkitCoordinator.d.ts.map +1 -0
  92. package/dist/services/ToolkitCoordinator.js +252 -0
  93. package/dist/services/ToolkitCoordinator.js.map +1 -0
  94. package/dist/services/interfaces.d.ts +391 -0
  95. package/dist/services/interfaces.d.ts.map +1 -0
  96. package/dist/services/interfaces.js +12 -0
  97. package/dist/services/interfaces.js.map +1 -0
  98. package/dist/services/tool-providers/DesmosToolProvider.d.ts +103 -0
  99. package/dist/services/tool-providers/DesmosToolProvider.d.ts.map +1 -0
  100. package/dist/services/tool-providers/DesmosToolProvider.js +127 -0
  101. package/dist/services/tool-providers/DesmosToolProvider.js.map +1 -0
  102. package/dist/services/tool-providers/IToolProvider.d.ts +137 -0
  103. package/dist/services/tool-providers/IToolProvider.d.ts.map +1 -0
  104. package/dist/services/tool-providers/IToolProvider.js +13 -0
  105. package/dist/services/tool-providers/IToolProvider.js.map +1 -0
  106. package/dist/services/tool-providers/TIToolProvider.d.ts +107 -0
  107. package/dist/services/tool-providers/TIToolProvider.d.ts.map +1 -0
  108. package/dist/services/tool-providers/TIToolProvider.js +123 -0
  109. package/dist/services/tool-providers/TIToolProvider.js.map +1 -0
  110. package/dist/services/tool-providers/TTSToolProvider.d.ts +143 -0
  111. package/dist/services/tool-providers/TTSToolProvider.d.ts.map +1 -0
  112. package/dist/services/tool-providers/TTSToolProvider.js +168 -0
  113. package/dist/services/tool-providers/TTSToolProvider.js.map +1 -0
  114. package/dist/services/tool-providers/ToolProviderRegistry.d.ts +165 -0
  115. package/dist/services/tool-providers/ToolProviderRegistry.d.ts.map +1 -0
  116. package/dist/services/tool-providers/ToolProviderRegistry.js +240 -0
  117. package/dist/services/tool-providers/ToolProviderRegistry.js.map +1 -0
  118. package/dist/services/tool-providers/index.d.ts +18 -0
  119. package/dist/services/tool-providers/index.d.ts.map +1 -0
  120. package/dist/services/tool-providers/index.js +15 -0
  121. package/dist/services/tool-providers/index.js.map +1 -0
  122. package/dist/services/tts/browser-provider.d.ts +24 -0
  123. package/dist/services/tts/browser-provider.d.ts.map +1 -0
  124. package/dist/services/tts/browser-provider.js +177 -0
  125. package/dist/services/tts/browser-provider.js.map +1 -0
  126. package/dist/services/tts/provider-interface.d.ts +131 -0
  127. package/dist/services/tts/provider-interface.d.ts.map +1 -0
  128. package/dist/services/tts/provider-interface.js +10 -0
  129. package/dist/services/tts/provider-interface.js.map +1 -0
  130. package/dist/tools/calculators/desmos-provider.d.ts +54 -0
  131. package/dist/tools/calculators/desmos-provider.d.ts.map +1 -0
  132. package/dist/tools/calculators/desmos-provider.js +384 -0
  133. package/dist/tools/calculators/desmos-provider.js.map +1 -0
  134. package/dist/tools/calculators/mathjs-provider.d.ts +50 -0
  135. package/dist/tools/calculators/mathjs-provider.d.ts.map +1 -0
  136. package/dist/tools/calculators/mathjs-provider.js +660 -0
  137. package/dist/tools/calculators/mathjs-provider.js.map +1 -0
  138. package/dist/tools/calculators/ti-provider.d.ts +122 -0
  139. package/dist/tools/calculators/ti-provider.d.ts.map +1 -0
  140. package/dist/tools/calculators/ti-provider.js +587 -0
  141. package/dist/tools/calculators/ti-provider.js.map +1 -0
  142. package/dist/tools/client.d.ts +17 -0
  143. package/dist/tools/client.d.ts.map +1 -0
  144. package/dist/tools/client.js +26 -0
  145. package/dist/tools/client.js.map +1 -0
  146. package/dist/tools/index.d.ts +8 -0
  147. package/dist/tools/index.d.ts.map +1 -0
  148. package/dist/tools/index.js +10 -0
  149. package/dist/tools/index.js.map +1 -0
  150. package/dist/tools/library-loader.d.ts +63 -0
  151. package/dist/tools/library-loader.d.ts.map +1 -0
  152. package/dist/tools/library-loader.js +292 -0
  153. package/dist/tools/library-loader.js.map +1 -0
  154. package/dist/tools/response-discovery.d.ts +72 -0
  155. package/dist/tools/response-discovery.d.ts.map +1 -0
  156. package/dist/tools/response-discovery.js +183 -0
  157. package/dist/tools/response-discovery.js.map +1 -0
  158. package/dist/tools/tool-coordinator.d.ts +76 -0
  159. package/dist/tools/tool-coordinator.d.ts.map +1 -0
  160. package/dist/tools/tool-coordinator.js +197 -0
  161. package/dist/tools/tool-coordinator.js.map +1 -0
  162. package/dist/tools/types.d.ts +427 -0
  163. package/dist/tools/types.d.ts.map +1 -0
  164. package/dist/tools/types.js +13 -0
  165. package/dist/tools/types.js.map +1 -0
  166. package/dist/tools/variant-resolver.d.ts +48 -0
  167. package/dist/tools/variant-resolver.d.ts.map +1 -0
  168. package/dist/tools/variant-resolver.js +214 -0
  169. package/dist/tools/variant-resolver.js.map +1 -0
  170. package/dist/types/events.d.ts +157 -0
  171. package/dist/types/events.d.ts.map +1 -0
  172. package/dist/types/events.js +11 -0
  173. package/dist/types/events.js.map +1 -0
  174. package/dist/utils/logger.d.ts +7 -0
  175. package/dist/utils/logger.d.ts.map +1 -0
  176. package/dist/utils/logger.js +11 -0
  177. package/dist/utils/logger.js.map +1 -0
  178. package/package.json +71 -0
  179. package/src/README.md +626 -0
  180. package/src/components/QuestionToolBar.svelte +406 -0
  181. package/src/player/AssessmentLayout.svelte +68 -0
  182. package/src/player/README.md +154 -0
  183. package/src/reference-layout/README.md +135 -0
  184. package/src/reference-layout/ReferenceLayout.svelte +209 -0
  185. package/src/reference-layout/components/AssessmentContent.svelte +259 -0
  186. package/src/reference-layout/components/AssessmentFooter.svelte +89 -0
  187. package/src/reference-layout/components/AssessmentHeader.svelte +250 -0
  188. package/src/reference-layout/components/AssessmentNavigation.svelte +134 -0
  189. package/src/reference-layout/components/AssessmentToolsBar.svelte +176 -0
  190. package/src/reference-layout/components/ItemPanel.svelte +200 -0
  191. package/src/reference-layout/components/NotesPanel.svelte +179 -0
  192. package/src/reference-layout/components/PassagePanel.svelte +76 -0
  193. package/src/tools/README.md +616 -0
  194. package/src/tools/calculators/README.md +395 -0
@@ -0,0 +1,427 @@
1
+ /**
2
+ * Tool system type definitions
3
+ */
4
+ export type { CalculationHistoryEntry, Calculator, CalculatorProvider, CalculatorProviderCapabilities, CalculatorProviderConfig, CalculatorState, CalculatorType, DesmosCalculatorConfig, TICalculatorConfig, } from "@pie-players/pie-calculator";
5
+ export type ToolId = string;
6
+ export interface ToolState {
7
+ id: ToolId;
8
+ name: string;
9
+ isVisible: boolean;
10
+ isActive: boolean;
11
+ zIndex: number;
12
+ element?: HTMLElement;
13
+ }
14
+ export interface ToolPosition {
15
+ x: number;
16
+ y: number;
17
+ }
18
+ export interface ToolSize {
19
+ width: number;
20
+ height: number;
21
+ }
22
+ export interface ToolConfig {
23
+ id: ToolId;
24
+ name: string;
25
+ icon?: string;
26
+ enabled: boolean;
27
+ alwaysAvailable?: boolean;
28
+ }
29
+ export interface AssessmentToolConfig {
30
+ enabledTools: ToolId[];
31
+ toolSettings?: Record<ToolId, any>;
32
+ }
33
+ /**
34
+ * Tool allowance: "0" = blocked, "1" = allowed
35
+ * Based on existing platform patterns
36
+ */
37
+ export type ToolAllowance = "0" | "1";
38
+ /**
39
+ * Roster/Test-level tool configuration
40
+ * Defines default tool availability for an assessment
41
+ */
42
+ export interface RosterToolConfiguration {
43
+ rosterId: string;
44
+ testId?: string;
45
+ toolAllowances: Record<string, ToolAllowance>;
46
+ defaultToolConfigs?: Record<string, ToolConfig>;
47
+ }
48
+ /**
49
+ * Configuration source for tool resolution
50
+ */
51
+ export type ConfigurationSource = "roster-block" | "item-restriction" | "item-requirement" | "student-accommodation" | "roster-default" | "system-default";
52
+ /**
53
+ * Resolved tool configuration with source tracking
54
+ */
55
+ export interface ResolvedToolConfig extends ToolConfig {
56
+ resolvedFrom: ConfigurationSource;
57
+ required: boolean;
58
+ reason: string;
59
+ }
60
+ /**
61
+ * Tool resolution result
62
+ */
63
+ export interface ToolResolutionResult {
64
+ allowed: boolean;
65
+ reason: string;
66
+ source: ConfigurationSource;
67
+ config?: ToolConfig;
68
+ }
69
+ /**
70
+ * Item-level tool configuration
71
+ */
72
+ export interface ItemToolConfig {
73
+ itemId: string;
74
+ requiredTools?: string[];
75
+ restrictedTools?: string[];
76
+ toolParameters?: Record<string, ItemToolParameters>;
77
+ variantConfig?: ItemVariantConfig;
78
+ }
79
+ /**
80
+ * Item tool parameters
81
+ */
82
+ export interface ItemToolParameters {
83
+ config?: Partial<ToolConfig>;
84
+ hint?: string;
85
+ preOpen?: boolean;
86
+ variants?: Record<string, ItemToolParametersVariant>;
87
+ }
88
+ /**
89
+ * Item tool parameters variant
90
+ */
91
+ export interface ItemToolParametersVariant {
92
+ config?: Partial<ToolConfig>;
93
+ hint?: string;
94
+ preOpen?: boolean;
95
+ }
96
+ /**
97
+ * Item variant configuration for A/B testing and scaffolding
98
+ */
99
+ export interface ItemVariantConfig {
100
+ variantId?: string;
101
+ toolOverrides?: Record<string, ItemToolOverride>;
102
+ adaptations?: ContentAdaptation[];
103
+ experimental?: Record<string, any>;
104
+ }
105
+ /**
106
+ * Tool override for item variants
107
+ */
108
+ export interface ItemToolOverride {
109
+ config?: Partial<ToolConfig>;
110
+ uiVariant?: string;
111
+ parameters?: Record<string, any>;
112
+ replacementTool?: string;
113
+ }
114
+ /**
115
+ * Content adaptation types
116
+ */
117
+ export interface ContentAdaptation {
118
+ type: "scaffolding" | "difficulty" | "language" | "modality" | "custom";
119
+ level: string | number;
120
+ affectedTools?: string[];
121
+ config?: Record<string, any>;
122
+ }
123
+ /**
124
+ * Variant context for resolution
125
+ */
126
+ export interface VariantContext {
127
+ studentId: string;
128
+ sessionId: string;
129
+ language?: string;
130
+ scaffoldingLevel?: number;
131
+ difficultyLevel?: string;
132
+ custom?: Record<string, any>;
133
+ }
134
+ /**
135
+ * Resolved item configuration with variants applied
136
+ */
137
+ export interface ResolvedItemConfig {
138
+ itemId: string;
139
+ requiredTools: string[];
140
+ restrictedTools: string[];
141
+ toolParameters: Record<string, ResolvedItemToolParameters>;
142
+ appliedVariant?: string;
143
+ appliedAdaptations?: ContentAdaptation[];
144
+ }
145
+ /**
146
+ * Resolved item tool parameters
147
+ */
148
+ export interface ResolvedItemToolParameters extends ItemToolParameters {
149
+ finalConfig: ToolConfig;
150
+ }
151
+ /**
152
+ * Library configuration for external dependencies
153
+ */
154
+ export interface LibraryConfig {
155
+ id: string;
156
+ url: string;
157
+ fallbackUrls?: string[];
158
+ globalVar?: string;
159
+ dependencies?: string[];
160
+ integrity?: string;
161
+ crossorigin?: "anonymous" | "use-credentials";
162
+ timeout?: number;
163
+ async?: boolean;
164
+ defer?: boolean;
165
+ retry?: RetryConfig;
166
+ }
167
+ /**
168
+ * Retry configuration for library loading
169
+ */
170
+ export interface RetryConfig {
171
+ maxAttempts: number;
172
+ delay: number;
173
+ backoffMultiplier?: number;
174
+ }
175
+ /**
176
+ * Library loader statistics
177
+ */
178
+ export interface LoaderStats {
179
+ loaded: string[];
180
+ failed: string[];
181
+ pending: string[];
182
+ cacheHits: number;
183
+ cacheMisses: number;
184
+ totalLoadTime: number;
185
+ }
186
+ /**
187
+ * Base interface that all tool components should implement
188
+ */
189
+ export interface Tool {
190
+ /** Unique identifier for this tool */
191
+ id: ToolId;
192
+ /** Display name */
193
+ name: string;
194
+ /** Show the tool */
195
+ show(): void;
196
+ /** Hide the tool */
197
+ hide(): void;
198
+ /** Toggle visibility */
199
+ toggle(): void;
200
+ /** Cleanup when tool is destroyed */
201
+ destroy?(): void;
202
+ }
203
+ /**
204
+ * Tool categories for organizational purposes
205
+ */
206
+ export declare enum ToolCategory {
207
+ STANDALONE = "standalone",
208
+ CONTENT_INTERACTIVE = "content-interactive",
209
+ SERVICE_DEPENDENT = "service-dependent"
210
+ }
211
+ /**
212
+ * Tool metadata
213
+ */
214
+ export interface ToolMetadata {
215
+ id: ToolId;
216
+ name: string;
217
+ description: string;
218
+ category: ToolCategory;
219
+ icon?: string;
220
+ dependencies?: string[];
221
+ }
222
+ /**
223
+ * Tool Coordinator interface
224
+ * Manages tool registration, visibility, and z-index coordination
225
+ */
226
+ export interface ToolCoordinator {
227
+ /** Bring an element to the front (highest z-index) */
228
+ bringToFront(element: HTMLElement): void;
229
+ /** Register a tool with the coordinator */
230
+ registerTool(id: ToolId, name: string, element?: HTMLElement): void;
231
+ /** Unregister a tool */
232
+ unregisterTool(id: ToolId): void;
233
+ /** Show a tool */
234
+ showTool(id: ToolId): void;
235
+ /** Hide a tool */
236
+ hideTool(id: ToolId): void;
237
+ /** Toggle a tool's visibility */
238
+ toggleTool(id: ToolId): void;
239
+ /** Update a tool's element reference */
240
+ updateToolElement(id: ToolId, element: HTMLElement): void;
241
+ /** Hide all tools */
242
+ hideAllTools(): void;
243
+ /** Get the state of a specific tool */
244
+ getToolState(id: ToolId): ToolState | undefined;
245
+ /** Check if a tool is visible */
246
+ isToolVisible(id: ToolId): boolean;
247
+ }
248
+ /**
249
+ * Accommodation Resolver Service
250
+ * Resolves final tool configuration by merging roster, student, and item configs
251
+ * Precedence: Roster block > Item restriction > Item requirement > Student accommodation > Roster default
252
+ */
253
+ export interface AccommodationResolver {
254
+ /**
255
+ * Resolve final tools for an item given all configuration sources
256
+ */
257
+ resolveToolsForItem(student: AccommodationProfile, roster: RosterToolConfiguration, item: ItemToolConfig): ResolvedToolConfig[];
258
+ /**
259
+ * Check if a specific tool is allowed
260
+ */
261
+ isToolAllowed(toolType: string, student: AccommodationProfile, roster: RosterToolConfiguration, item: ItemToolConfig): ToolResolutionResult;
262
+ /**
263
+ * Get resolution trace for debugging
264
+ */
265
+ getResolutionTrace(toolType: string, student: AccommodationProfile, roster: RosterToolConfiguration, item: ItemToolConfig): ResolutionTrace;
266
+ }
267
+ /**
268
+ * Accommodation profile (student-level tool permissions)
269
+ */
270
+ export interface AccommodationProfile {
271
+ studentId: string;
272
+ testId?: string;
273
+ rosterId?: string;
274
+ accommodations: Record<string, boolean>;
275
+ }
276
+ /**
277
+ * Resolution trace for debugging
278
+ */
279
+ export interface ResolutionTrace {
280
+ toolType: string;
281
+ steps: ResolutionStep[];
282
+ finalDecision: ToolResolutionResult;
283
+ }
284
+ /**
285
+ * Resolution step in trace
286
+ */
287
+ export interface ResolutionStep {
288
+ source: ConfigurationSource;
289
+ decision: "allow" | "block" | "require" | "skip";
290
+ reason: string;
291
+ config?: Partial<ToolConfig>;
292
+ }
293
+ /**
294
+ * Variant Resolver Service
295
+ * Resolves item configuration considering variants
296
+ */
297
+ export interface VariantResolver {
298
+ /**
299
+ * Resolve variant configuration for an item
300
+ */
301
+ resolveVariant(itemConfig: ItemToolConfig, context: VariantContext): ResolvedItemConfig;
302
+ }
303
+ /**
304
+ * Library Loader Service
305
+ * Dynamically loads external libraries with retry and fallback support
306
+ */
307
+ export interface LibraryLoader {
308
+ /**
309
+ * Load a JavaScript library
310
+ */
311
+ loadScript(library: LibraryConfig): Promise<void>;
312
+ /**
313
+ * Load a stylesheet
314
+ */
315
+ loadStylesheet(url: string): Promise<void>;
316
+ /**
317
+ * Check if a library is already loaded
318
+ */
319
+ isLoaded(libraryId: string): boolean;
320
+ /**
321
+ * Preload multiple libraries in parallel
322
+ */
323
+ preload(libraries: LibraryConfig[]): Promise<void>;
324
+ /**
325
+ * Unload a library (remove script tag)
326
+ */
327
+ unload(libraryId: string): void;
328
+ /**
329
+ * Get loader statistics
330
+ */
331
+ getStats(): LoaderStats;
332
+ }
333
+ /**
334
+ * PIE Response Component Interface
335
+ * For tool-to-response integration (e.g., calculator inserting into text field)
336
+ */
337
+ export interface PIEResponseComponent {
338
+ readonly responseId: string;
339
+ readonly responseType: PIEResponseType;
340
+ getCapabilities(): ResponseCapabilities;
341
+ canAccept(content: string, format: ContentFormat): boolean;
342
+ insertContent(content: string, options: InsertionOptions): Promise<InsertionResult>;
343
+ getContent(format?: ContentFormat): string;
344
+ getCursorPosition(): number | null;
345
+ setCursorPosition(position: number): void;
346
+ focus(): void;
347
+ isFocused(): boolean;
348
+ validate(content: string, format: ContentFormat): ValidationResult;
349
+ }
350
+ /**
351
+ * PIE response types
352
+ */
353
+ export type PIEResponseType = "text-entry" | "extended-text-entry" | "math-inline" | "math-block" | "numeric" | "multiple-choice" | "custom";
354
+ /**
355
+ * Response capabilities
356
+ */
357
+ export interface ResponseCapabilities {
358
+ acceptsPlainText?: boolean;
359
+ acceptsLatex?: boolean;
360
+ acceptsNumeric?: boolean;
361
+ acceptsHtml?: boolean;
362
+ acceptsFormattedText?: boolean;
363
+ supportedFormats: ContentFormat[];
364
+ supportsReplacement?: boolean;
365
+ supportsInsertion?: boolean;
366
+ supportsAppend?: boolean;
367
+ maxLength?: number;
368
+ allowedCharacters?: string;
369
+ }
370
+ /**
371
+ * Content formats
372
+ */
373
+ export type ContentFormat = "plain-text" | "latex" | "mathml" | "numeric" | "html" | "markdown" | "formatted-text";
374
+ /**
375
+ * Insertion options for response content
376
+ */
377
+ export interface InsertionOptions {
378
+ mode: "replace" | "insert" | "append";
379
+ format: ContentFormat;
380
+ position?: number;
381
+ select?: boolean;
382
+ focus?: boolean;
383
+ source?: {
384
+ toolId: string;
385
+ toolType: string;
386
+ timestamp: number;
387
+ };
388
+ }
389
+ /**
390
+ * Insertion result
391
+ */
392
+ export interface InsertionResult {
393
+ success: boolean;
394
+ error?: string;
395
+ insertedLength?: number;
396
+ finalCursorPosition?: number;
397
+ }
398
+ /**
399
+ * Validation result
400
+ */
401
+ export interface ValidationResult {
402
+ valid: boolean;
403
+ errors?: ValidationError[];
404
+ warnings?: string[];
405
+ }
406
+ /**
407
+ * Validation error
408
+ */
409
+ export interface ValidationError {
410
+ code: string;
411
+ message: string;
412
+ position?: number;
413
+ }
414
+ /**
415
+ * Response Discovery Service
416
+ * Finds and manages PIE response components for tool integration
417
+ */
418
+ export interface ResponseDiscoveryService {
419
+ getActiveResponse(): PIEResponseComponent | null;
420
+ getResponse(responseId: string): PIEResponseComponent | null;
421
+ getAllResponses(): PIEResponseComponent[];
422
+ getResponsesAccepting(format: ContentFormat): PIEResponseComponent[];
423
+ registerResponse(response: PIEResponseComponent): void;
424
+ unregisterResponse(responseId: string): void;
425
+ onActiveResponseChanged(listener: (response: PIEResponseComponent | null) => void): void;
426
+ }
427
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Tool system type definitions
3
+ */
4
+ /**
5
+ * Tool categories for organizational purposes
6
+ */
7
+ export var ToolCategory;
8
+ (function (ToolCategory) {
9
+ ToolCategory["STANDALONE"] = "standalone";
10
+ ToolCategory["CONTENT_INTERACTIVE"] = "content-interactive";
11
+ ToolCategory["SERVICE_DEPENDENT"] = "service-dependent";
12
+ })(ToolCategory || (ToolCategory = {}));
13
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AA0PH;;GAEG;AACH,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACvB,yCAAyB,CAAA;IACzB,2DAA2C,CAAA;IAC3C,uDAAuC,CAAA;AACxC,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Variant Resolver Service
3
+ * Resolves item configuration considering variants for A/B testing, scaffolding, and adaptations
4
+ *
5
+ * Based on architectural enhancements for item-level variant configuration
6
+ */
7
+ import type { ItemToolConfig, ResolvedItemConfig, VariantContext, VariantResolver } from "./types";
8
+ export declare class VariantResolverImpl implements VariantResolver {
9
+ /**
10
+ * Resolve variant configuration for an item
11
+ */
12
+ resolveVariant(itemConfig: ItemToolConfig, context: VariantContext): ResolvedItemConfig;
13
+ /**
14
+ * Resolve tool parameters considering variant and context
15
+ */
16
+ private _resolveToolParameters;
17
+ /**
18
+ * Select variant parameters based on context
19
+ */
20
+ private _selectVariantParameters;
21
+ /**
22
+ * Create tool parameters from override
23
+ */
24
+ private _createToolParametersFromOverride;
25
+ /**
26
+ * Resolve required tools considering overrides
27
+ */
28
+ private _resolveRequiredTools;
29
+ /**
30
+ * Filter adaptations based on context
31
+ */
32
+ private _filterAdaptations;
33
+ /**
34
+ * Build resolved config without variants
35
+ */
36
+ private _buildResolvedConfig;
37
+ /**
38
+ * Convert tool type to human-readable name
39
+ */
40
+ private _humanizeName;
41
+ }
42
+ /**
43
+ * Singleton instance (deprecated)
44
+ * @deprecated Instantiate VariantResolverImpl directly instead:
45
+ * const resolver = new VariantResolverImpl();
46
+ */
47
+ export declare const variantResolver: VariantResolverImpl;
48
+ //# sourceMappingURL=variant-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variant-resolver.d.ts","sourceRoot":"","sources":["../../src/tools/variant-resolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACX,cAAc,EAEd,kBAAkB,EAGlB,cAAc,EACd,eAAe,EACf,MAAM,SAAS,CAAC;AAEjB,qBAAa,mBAAoB,YAAW,eAAe;IAC1D;;OAEG;IACH,cAAc,CACb,UAAU,EAAE,cAAc,EAC1B,OAAO,EAAE,cAAc,GACrB,kBAAkB;IA+CrB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA8C9B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAsChC;;OAEG;IACH,OAAO,CAAC,iCAAiC;IAiBzC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAmB7B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA4B1B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkC5B;;OAEG;IACH,OAAO,CAAC,aAAa;CAKrB;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,qBAA4B,CAAC"}