@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,388 @@
1
+ /**
2
+ * AssessmentPlayer
3
+ *
4
+ * Reference implementation showing how to wire PIE Assessment Toolkit services
5
+ * together for a complete assessment player.
6
+ *
7
+ * This implementation provides:
8
+ * - Navigation through assessment items (linear or nonlinear)
9
+ * - QTI navigation model (testParts/sections/questionRefs)
10
+ * - Section awareness and rubric block support
11
+ * - Event-driven architecture using TypedEventBus
12
+ * - Session state management
13
+ * - TTS integration via TTSService
14
+ * - Theme support via ThemeProvider
15
+ * - Tool coordination (optional)
16
+ *
17
+ * Products can use this as-is, extend it, or use it as a pattern for their own implementation.
18
+ */
19
+ import type { AssessmentAuthoringCallbacks, AssessmentEntity, ItemConfig, ItemEntity, RubricBlock } from "@pie-players/pie-players-shared/types";
20
+ import { type StorageLike, type TestSession } from "../attempt/TestSession";
21
+ import { type AssessmentToolkitEvents, HighlightCoordinator, I18nService, type ThemeConfig, ThemeProvider, ToolCoordinator, TTSService, TypedEventBus } from "../index";
22
+ import type { LoadItem } from "../item-loader";
23
+ import { AssessmentAuthoringService } from "../services/AssessmentAuthoringService";
24
+ import { type ResolvedToolConfig } from "../services/PNPToolResolver";
25
+ import { DesmosCalculatorProvider, TICalculatorProvider } from "../tools/client";
26
+ export interface ReferencePlayerConfig {
27
+ assessment: AssessmentEntity;
28
+ organizationId?: string | null;
29
+ bundleHost?: string;
30
+ /**
31
+ * Item loader. Must be client-resolvable (can be backed by an API or local itemBank).
32
+ */
33
+ loadItem: LoadItem;
34
+ /**
35
+ * Player mode (defaults to 'gather' for student assessment mode)
36
+ */
37
+ mode?: "gather" | "view" | "evaluate" | "author";
38
+ /**
39
+ * Optional context to generate a deterministic TestSession identifier.
40
+ * If omitted, a stable anonymous device id is used.
41
+ */
42
+ userId?: string | null;
43
+ assignmentId?: string | null;
44
+ /**
45
+ * Optional storage injection for tests / custom persistence.
46
+ * Defaults to browser localStorage when available.
47
+ */
48
+ attemptStorage?: StorageLike;
49
+ navigationMode?: "linear" | "nonlinear";
50
+ showSections?: boolean;
51
+ allowSectionNavigation?: boolean;
52
+ onSessionChanged?: (session: any) => void | Promise<void>;
53
+ onItemChanged?: (itemId: string, index: number) => void | Promise<void>;
54
+ onNavigationRequested?: (direction: "next" | "previous" | "index", targetIndex?: number) => void | Promise<void>;
55
+ authoringCallbacks?: AssessmentAuthoringCallbacks;
56
+ services?: {
57
+ eventBus?: TypedEventBus<AssessmentToolkitEvents>;
58
+ ttsService?: TTSService;
59
+ toolCoordinator?: ToolCoordinator;
60
+ themeProvider?: ThemeProvider;
61
+ highlightCoordinator?: HighlightCoordinator;
62
+ i18nService?: I18nService;
63
+ desmosProvider?: DesmosCalculatorProvider;
64
+ tiProvider?: TICalculatorProvider;
65
+ };
66
+ }
67
+ export interface NavigationState {
68
+ currentIndex: number;
69
+ totalItems: number;
70
+ canNext: boolean;
71
+ canPrevious: boolean;
72
+ isLoading: boolean;
73
+ currentSection?: {
74
+ id: string;
75
+ title?: string;
76
+ index: number;
77
+ };
78
+ totalSections?: number;
79
+ }
80
+ export declare class AssessmentPlayer {
81
+ private eventBus;
82
+ private ttsService;
83
+ private themeProvider;
84
+ private toolCoordinator;
85
+ private highlightCoordinator;
86
+ private i18nService;
87
+ private desmosProvider;
88
+ private tiProvider;
89
+ private authoringService;
90
+ private config;
91
+ private pnpResolver;
92
+ private currentTools;
93
+ private contextStore;
94
+ private assessmentFormat;
95
+ private questionRefs;
96
+ private navigationStructure;
97
+ private navigationMode;
98
+ private currentItemIndex;
99
+ private currentItem;
100
+ private isLoadingItem;
101
+ private sessionState;
102
+ private attemptStorage;
103
+ private testSession;
104
+ private ttsInitialized;
105
+ private ttsSpeaking;
106
+ private ttsPaused;
107
+ private ttsRootElement;
108
+ private navigationListeners;
109
+ private itemListeners;
110
+ private loadingListeners;
111
+ private sessionListeners;
112
+ private ttsStateListeners;
113
+ constructor(config: ReferencePlayerConfig);
114
+ private initializeOrLoadTestSession;
115
+ /**
116
+ * Set up internal event listeners
117
+ */
118
+ private setupEventListeners;
119
+ /**
120
+ * Initialize TTS service
121
+ */
122
+ private initializeTTS;
123
+ /**
124
+ * Get event bus for external listeners
125
+ */
126
+ getEventBus(): TypedEventBus<AssessmentToolkitEvents>;
127
+ /**
128
+ * Get current navigation state
129
+ */
130
+ getNavigationState(): NavigationState;
131
+ /**
132
+ * Flatten navigation structure to get all sections
133
+ */
134
+ private flattenSections;
135
+ /**
136
+ * Check if a section contains a specific question
137
+ */
138
+ private sectionContainsQuestion;
139
+ /**
140
+ * Get current item
141
+ */
142
+ getCurrentItem(): ItemEntity | null;
143
+ /**
144
+ * Get current item config
145
+ */
146
+ getCurrentItemConfig(): ItemConfig | null;
147
+ /**
148
+ * Get session state
149
+ */
150
+ getSessionState(): {
151
+ id: string;
152
+ data: any[];
153
+ };
154
+ /**
155
+ * Get the client-side QTI-like TestSession (attempt) state.
156
+ */
157
+ getTestSession(): TestSession | null;
158
+ /**
159
+ * Get player environment
160
+ */
161
+ getEnv(): {
162
+ mode: "view" | "gather" | "evaluate" | "author";
163
+ };
164
+ /**
165
+ * Get ToolCoordinator for tool management
166
+ */
167
+ getToolCoordinator(): ToolCoordinator;
168
+ /**
169
+ * Get HighlightCoordinator for annotation/TTS highlighting
170
+ */
171
+ getHighlightCoordinator(): HighlightCoordinator | null;
172
+ /**
173
+ * Get ThemeProvider for accessibility theming
174
+ */
175
+ getThemeProvider(): ThemeProvider | null;
176
+ /**
177
+ * Get I18nService for internationalization
178
+ */
179
+ getI18nService(): I18nService;
180
+ /**
181
+ * Get Desmos calculator provider
182
+ */
183
+ getDesmosProvider(): DesmosCalculatorProvider;
184
+ /**
185
+ * Get TI calculator provider
186
+ */
187
+ getTIProvider(): TICalculatorProvider;
188
+ /**
189
+ * Navigate to specific item index
190
+ */
191
+ navigate(index: number): Promise<void>;
192
+ /**
193
+ * Navigate to next item
194
+ */
195
+ navigateNext(): Promise<void>;
196
+ /**
197
+ * Navigate to previous item
198
+ */
199
+ navigatePrevious(): Promise<void>;
200
+ /**
201
+ * Start assessment (navigate to first item)
202
+ */
203
+ start(): Promise<void>;
204
+ /**
205
+ * TTS: Read current question
206
+ */
207
+ readQuestion(rootElement: HTMLElement): Promise<void>;
208
+ /**
209
+ * TTS: Toggle play/pause
210
+ */
211
+ toggleTTS(rootElement?: HTMLElement): void;
212
+ /**
213
+ * TTS: Stop reading
214
+ */
215
+ stopTTS(): void;
216
+ /**
217
+ * TTS: Get state
218
+ */
219
+ getTTSState(): {
220
+ initialized: boolean;
221
+ speaking: boolean;
222
+ paused: boolean;
223
+ };
224
+ /**
225
+ * Apply theme
226
+ */
227
+ applyTheme(theme: ThemeConfig): void;
228
+ /**
229
+ * Handle PIE player session-changed event
230
+ * Call this from your component when you receive session-changed from pie-iife-player
231
+ */
232
+ handlePieSessionChanged(detail: any): void;
233
+ private persistAttemptNavigation;
234
+ private findSectionIdentifierForQuestion;
235
+ /**
236
+ * Subscribe to navigation state changes
237
+ */
238
+ onNavigationChange(listener: (state: NavigationState) => void): () => void;
239
+ /**
240
+ * Subscribe to item changes
241
+ */
242
+ onItemChange(listener: (item: ItemEntity | null) => void): () => void;
243
+ /**
244
+ * Subscribe to loading state changes
245
+ */
246
+ onLoadingChange(listener: (isLoading: boolean) => void): () => void;
247
+ /**
248
+ * Subscribe to session changes
249
+ */
250
+ onSessionChange(listener: (session: any) => void): () => void;
251
+ /**
252
+ * Subscribe to TTS state changes
253
+ */
254
+ onTTSStateChange(listener: (speaking: boolean, paused: boolean) => void): () => void;
255
+ /**
256
+ * Notify listeners
257
+ */
258
+ private notifyNavigationListeners;
259
+ private notifyItemListeners;
260
+ private notifyLoadingListeners;
261
+ private notifySessionListeners;
262
+ private notifyTTSStateListeners;
263
+ /**
264
+ * Extract text from element (simplified)
265
+ * Production would use extractTextFromElement from tts/utils
266
+ */
267
+ private extractText;
268
+ /**
269
+ * Get current section's rubric blocks (passages, instructions)
270
+ */
271
+ getCurrentSectionRubricBlocks(): RubricBlock[];
272
+ /**
273
+ * Extract rubric blocks for a specific section identifier
274
+ */
275
+ private extractRubricBlocksForSection;
276
+ /**
277
+ * Recursively search for rubric blocks in sections
278
+ */
279
+ private findRubricBlocksInSections;
280
+ /**
281
+ * Navigate to a specific section (goes to first item in section)
282
+ */
283
+ navigateToSection(sectionIndex: number): Promise<void>;
284
+ /**
285
+ * Find the index of the first question in a section
286
+ */
287
+ private findFirstQuestionInSection;
288
+ /**
289
+ * Get navigation mode (linear or nonlinear)
290
+ */
291
+ getNavigationMode(): "linear" | "nonlinear";
292
+ /**
293
+ * Get all sections for display (e.g., in a section menu)
294
+ */
295
+ getAllSections(): Array<{
296
+ id: string;
297
+ title?: string;
298
+ index: number;
299
+ }>;
300
+ /**
301
+ * Get the authoring service (only available in author mode)
302
+ */
303
+ getAuthoringService(): AssessmentAuthoringService | null;
304
+ /**
305
+ * Enable or disable authoring mode
306
+ */
307
+ setAuthoringMode(enabled: boolean): void;
308
+ /**
309
+ * Apply an assessment context profile
310
+ */
311
+ /**
312
+ * Initialize tools from assessment PNP
313
+ */
314
+ private initializeTools;
315
+ /**
316
+ * Apply theme from assessment settings
317
+ */
318
+ private applyAssessmentTheme;
319
+ /**
320
+ * Auto-activate tools marked in PNP
321
+ */
322
+ private autoActivateTools;
323
+ /**
324
+ * Configure calculator with settings
325
+ */
326
+ private configureCalculator;
327
+ /**
328
+ * Convert tool ID to human-readable name
329
+ */
330
+ private humanizeName;
331
+ /**
332
+ * Get available tools (resolved from PNP)
333
+ */
334
+ getAvailableTools(): ResolvedToolConfig[];
335
+ /**
336
+ * Check if a specific tool is enabled
337
+ */
338
+ isToolEnabled(toolId: string): boolean;
339
+ /**
340
+ * Check if a specific tool is required
341
+ */
342
+ isToolRequired(toolId: string): boolean;
343
+ /**
344
+ * Get configuration for a specific tool
345
+ */
346
+ getToolConfig(toolId: string): any | undefined;
347
+ /**
348
+ * Get layout preferences from settings
349
+ */
350
+ getLayoutPreferences(): any;
351
+ /**
352
+ * Get context variable value
353
+ *
354
+ * @param identifier Variable identifier
355
+ * @returns Variable value or undefined
356
+ */
357
+ getContextVariable(identifier: string): any;
358
+ /**
359
+ * Set context variable value
360
+ *
361
+ * @param identifier Variable identifier
362
+ * @param value New value
363
+ */
364
+ setContextVariable(identifier: string, value: any): void;
365
+ /**
366
+ * Get all context variables as object
367
+ *
368
+ * @returns Object containing all context variables
369
+ */
370
+ getContextVariables(): Record<string, any>;
371
+ /**
372
+ * Reset context variables to default values
373
+ */
374
+ resetContextVariables(): void;
375
+ /**
376
+ * Restore context variables from session storage
377
+ */
378
+ private restoreContextVariables;
379
+ /**
380
+ * Persist context variables to session storage
381
+ */
382
+ private persistContextVariables;
383
+ /**
384
+ * Cleanup
385
+ */
386
+ destroy(): void;
387
+ }
388
+ //# sourceMappingURL=AssessmentPlayer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssessmentPlayer.d.ts","sourceRoot":"","sources":["../../src/player/AssessmentPlayer.ts"],"names":[],"mappings":"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"}