learngraph 0.5.0 → 0.7.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 (235) hide show
  1. package/dist/cjs/api/routes/analytics.js +288 -0
  2. package/dist/cjs/api/routes/analytics.js.map +1 -0
  3. package/dist/cjs/api/routes/assessments.js +269 -0
  4. package/dist/cjs/api/routes/assessments.js.map +1 -0
  5. package/dist/cjs/api/routes/curriculum.js +345 -0
  6. package/dist/cjs/api/routes/curriculum.js.map +1 -0
  7. package/dist/cjs/api/routes/edges.js +162 -0
  8. package/dist/cjs/api/routes/edges.js.map +1 -0
  9. package/dist/cjs/api/routes/explore.js +224 -0
  10. package/dist/cjs/api/routes/explore.js.map +1 -0
  11. package/dist/cjs/api/routes/learners.js +324 -0
  12. package/dist/cjs/api/routes/learners.js.map +1 -0
  13. package/dist/cjs/api/routes/me.js +404 -0
  14. package/dist/cjs/api/routes/me.js.map +1 -0
  15. package/dist/cjs/api/routes/skills.js +319 -0
  16. package/dist/cjs/api/routes/skills.js.map +1 -0
  17. package/dist/cjs/api/server.js +185 -0
  18. package/dist/cjs/api/server.js.map +1 -0
  19. package/dist/cjs/api/types.js +10 -0
  20. package/dist/cjs/api/types.js.map +1 -0
  21. package/dist/cjs/assessment/adaptive.js +390 -0
  22. package/dist/cjs/assessment/adaptive.js.map +1 -0
  23. package/dist/cjs/assessment/bkt.js +362 -0
  24. package/dist/cjs/assessment/bkt.js.map +1 -0
  25. package/dist/cjs/assessment/index.js +54 -0
  26. package/dist/cjs/assessment/index.js.map +1 -0
  27. package/dist/cjs/assessment/irt.js +420 -0
  28. package/dist/cjs/assessment/irt.js.map +1 -0
  29. package/dist/cjs/assessment/mastery-engine.js +411 -0
  30. package/dist/cjs/assessment/mastery-engine.js.map +1 -0
  31. package/dist/cjs/components/LearningPathView.js +320 -0
  32. package/dist/cjs/components/LearningPathView.js.map +1 -0
  33. package/dist/cjs/components/ProgressDashboard.js +308 -0
  34. package/dist/cjs/components/ProgressDashboard.js.map +1 -0
  35. package/dist/cjs/components/SkillCard.js +264 -0
  36. package/dist/cjs/components/SkillCard.js.map +1 -0
  37. package/dist/cjs/components/SkillExplorer.js +401 -0
  38. package/dist/cjs/components/SkillExplorer.js.map +1 -0
  39. package/dist/cjs/components/SkillGraph.js +435 -0
  40. package/dist/cjs/components/SkillGraph.js.map +1 -0
  41. package/dist/cjs/components/hooks.js +510 -0
  42. package/dist/cjs/components/hooks.js.map +1 -0
  43. package/dist/cjs/components/index.js +77 -0
  44. package/dist/cjs/components/index.js.map +1 -0
  45. package/dist/cjs/components/types.js +34 -0
  46. package/dist/cjs/components/types.js.map +1 -0
  47. package/dist/cjs/index.js +35 -1
  48. package/dist/cjs/index.js.map +1 -1
  49. package/dist/cjs/llm/adapters/anthropic.js +91 -3
  50. package/dist/cjs/llm/adapters/anthropic.js.map +1 -1
  51. package/dist/cjs/llm/adapters/gemini.js +101 -8
  52. package/dist/cjs/llm/adapters/gemini.js.map +1 -1
  53. package/dist/cjs/llm/adapters/index.js +42 -1
  54. package/dist/cjs/llm/adapters/index.js.map +1 -1
  55. package/dist/cjs/llm/adapters/ollama.js +120 -3
  56. package/dist/cjs/llm/adapters/ollama.js.map +1 -1
  57. package/dist/cjs/llm/adapters/openai.js +108 -2
  58. package/dist/cjs/llm/adapters/openai.js.map +1 -1
  59. package/dist/cjs/mcp/cli.js +302 -0
  60. package/dist/cjs/mcp/cli.js.map +1 -0
  61. package/dist/cjs/mcp/index.js +79 -0
  62. package/dist/cjs/mcp/index.js.map +1 -0
  63. package/dist/cjs/mcp/prompts.js +425 -0
  64. package/dist/cjs/mcp/prompts.js.map +1 -0
  65. package/dist/cjs/mcp/resources.js +371 -0
  66. package/dist/cjs/mcp/resources.js.map +1 -0
  67. package/dist/cjs/mcp/server.js +410 -0
  68. package/dist/cjs/mcp/server.js.map +1 -0
  69. package/dist/cjs/mcp/tools.js +612 -0
  70. package/dist/cjs/mcp/tools.js.map +1 -0
  71. package/dist/cjs/mcp/types.js +10 -0
  72. package/dist/cjs/mcp/types.js.map +1 -0
  73. package/dist/cjs/types/assessment.js +46 -0
  74. package/dist/cjs/types/assessment.js.map +1 -0
  75. package/dist/cjs/types/bloom.js +12 -1
  76. package/dist/cjs/types/bloom.js.map +1 -1
  77. package/dist/cjs/types/index.js +7 -1
  78. package/dist/cjs/types/index.js.map +1 -1
  79. package/dist/esm/api/routes/analytics.js +285 -0
  80. package/dist/esm/api/routes/analytics.js.map +1 -0
  81. package/dist/esm/api/routes/assessments.js +266 -0
  82. package/dist/esm/api/routes/assessments.js.map +1 -0
  83. package/dist/esm/api/routes/curriculum.js +342 -0
  84. package/dist/esm/api/routes/curriculum.js.map +1 -0
  85. package/dist/esm/api/routes/edges.js +159 -0
  86. package/dist/esm/api/routes/edges.js.map +1 -0
  87. package/dist/esm/api/routes/explore.js +221 -0
  88. package/dist/esm/api/routes/explore.js.map +1 -0
  89. package/dist/esm/api/routes/learners.js +321 -0
  90. package/dist/esm/api/routes/learners.js.map +1 -0
  91. package/dist/esm/api/routes/me.js +401 -0
  92. package/dist/esm/api/routes/me.js.map +1 -0
  93. package/dist/esm/api/routes/skills.js +316 -0
  94. package/dist/esm/api/routes/skills.js.map +1 -0
  95. package/dist/esm/api/server.js +179 -0
  96. package/dist/esm/api/server.js.map +1 -0
  97. package/dist/esm/api/types.js +9 -0
  98. package/dist/esm/api/types.js.map +1 -0
  99. package/dist/esm/assessment/adaptive.js +384 -0
  100. package/dist/esm/assessment/adaptive.js.map +1 -0
  101. package/dist/esm/assessment/bkt.js +354 -0
  102. package/dist/esm/assessment/bkt.js.map +1 -0
  103. package/dist/esm/assessment/index.js +21 -0
  104. package/dist/esm/assessment/index.js.map +1 -0
  105. package/dist/esm/assessment/irt.js +406 -0
  106. package/dist/esm/assessment/irt.js.map +1 -0
  107. package/dist/esm/assessment/mastery-engine.js +406 -0
  108. package/dist/esm/assessment/mastery-engine.js.map +1 -0
  109. package/dist/esm/components/LearningPathView.js +316 -0
  110. package/dist/esm/components/LearningPathView.js.map +1 -0
  111. package/dist/esm/components/ProgressDashboard.js +304 -0
  112. package/dist/esm/components/ProgressDashboard.js.map +1 -0
  113. package/dist/esm/components/SkillCard.js +260 -0
  114. package/dist/esm/components/SkillCard.js.map +1 -0
  115. package/dist/esm/components/SkillExplorer.js +397 -0
  116. package/dist/esm/components/SkillExplorer.js.map +1 -0
  117. package/dist/esm/components/SkillGraph.js +398 -0
  118. package/dist/esm/components/SkillGraph.js.map +1 -0
  119. package/dist/esm/components/hooks.js +502 -0
  120. package/dist/esm/components/hooks.js.map +1 -0
  121. package/dist/esm/components/index.js +61 -0
  122. package/dist/esm/components/index.js.map +1 -0
  123. package/dist/esm/components/types.js +31 -0
  124. package/dist/esm/components/types.js.map +1 -0
  125. package/dist/esm/index.js +12 -0
  126. package/dist/esm/index.js.map +1 -1
  127. package/dist/esm/llm/adapters/anthropic.js +88 -2
  128. package/dist/esm/llm/adapters/anthropic.js.map +1 -1
  129. package/dist/esm/llm/adapters/gemini.js +98 -7
  130. package/dist/esm/llm/adapters/gemini.js.map +1 -1
  131. package/dist/esm/llm/adapters/index.js +15 -4
  132. package/dist/esm/llm/adapters/index.js.map +1 -1
  133. package/dist/esm/llm/adapters/ollama.js +117 -2
  134. package/dist/esm/llm/adapters/ollama.js.map +1 -1
  135. package/dist/esm/llm/adapters/openai.js +105 -1
  136. package/dist/esm/llm/adapters/openai.js.map +1 -1
  137. package/dist/esm/mcp/cli.js +267 -0
  138. package/dist/esm/mcp/cli.js.map +1 -0
  139. package/dist/esm/mcp/index.js +39 -0
  140. package/dist/esm/mcp/index.js.map +1 -0
  141. package/dist/esm/mcp/prompts.js +419 -0
  142. package/dist/esm/mcp/prompts.js.map +1 -0
  143. package/dist/esm/mcp/resources.js +359 -0
  144. package/dist/esm/mcp/resources.js.map +1 -0
  145. package/dist/esm/mcp/server.js +372 -0
  146. package/dist/esm/mcp/server.js.map +1 -0
  147. package/dist/esm/mcp/tools.js +598 -0
  148. package/dist/esm/mcp/tools.js.map +1 -0
  149. package/dist/esm/mcp/types.js +9 -0
  150. package/dist/esm/mcp/types.js.map +1 -0
  151. package/dist/esm/types/assessment.js +40 -0
  152. package/dist/esm/types/assessment.js.map +1 -0
  153. package/dist/esm/types/bloom.js +11 -0
  154. package/dist/esm/types/bloom.js.map +1 -1
  155. package/dist/esm/types/index.js +2 -1
  156. package/dist/esm/types/index.js.map +1 -1
  157. package/dist/types/api/routes/analytics.d.ts +14 -0
  158. package/dist/types/api/routes/analytics.d.ts.map +1 -0
  159. package/dist/types/api/routes/assessments.d.ts +14 -0
  160. package/dist/types/api/routes/assessments.d.ts.map +1 -0
  161. package/dist/types/api/routes/curriculum.d.ts +14 -0
  162. package/dist/types/api/routes/curriculum.d.ts.map +1 -0
  163. package/dist/types/api/routes/edges.d.ts +14 -0
  164. package/dist/types/api/routes/edges.d.ts.map +1 -0
  165. package/dist/types/api/routes/explore.d.ts +14 -0
  166. package/dist/types/api/routes/explore.d.ts.map +1 -0
  167. package/dist/types/api/routes/learners.d.ts +14 -0
  168. package/dist/types/api/routes/learners.d.ts.map +1 -0
  169. package/dist/types/api/routes/me.d.ts +14 -0
  170. package/dist/types/api/routes/me.d.ts.map +1 -0
  171. package/dist/types/api/routes/skills.d.ts +14 -0
  172. package/dist/types/api/routes/skills.d.ts.map +1 -0
  173. package/dist/types/api/server.d.ts +147 -0
  174. package/dist/types/api/server.d.ts.map +1 -0
  175. package/dist/types/api/types.d.ts +443 -0
  176. package/dist/types/api/types.d.ts.map +1 -0
  177. package/dist/types/assessment/adaptive.d.ts +155 -0
  178. package/dist/types/assessment/adaptive.d.ts.map +1 -0
  179. package/dist/types/assessment/bkt.d.ts +185 -0
  180. package/dist/types/assessment/bkt.d.ts.map +1 -0
  181. package/dist/types/assessment/index.d.ts +18 -0
  182. package/dist/types/assessment/index.d.ts.map +1 -0
  183. package/dist/types/assessment/irt.d.ts +159 -0
  184. package/dist/types/assessment/irt.d.ts.map +1 -0
  185. package/dist/types/assessment/mastery-engine.d.ts +178 -0
  186. package/dist/types/assessment/mastery-engine.d.ts.map +1 -0
  187. package/dist/types/components/LearningPathView.d.ts +40 -0
  188. package/dist/types/components/LearningPathView.d.ts.map +1 -0
  189. package/dist/types/components/ProgressDashboard.d.ts +49 -0
  190. package/dist/types/components/ProgressDashboard.d.ts.map +1 -0
  191. package/dist/types/components/SkillCard.d.ts +34 -0
  192. package/dist/types/components/SkillCard.d.ts.map +1 -0
  193. package/dist/types/components/SkillExplorer.d.ts +39 -0
  194. package/dist/types/components/SkillExplorer.d.ts.map +1 -0
  195. package/dist/types/components/SkillGraph.d.ts +38 -0
  196. package/dist/types/components/SkillGraph.d.ts.map +1 -0
  197. package/dist/types/components/hooks.d.ts +187 -0
  198. package/dist/types/components/hooks.d.ts.map +1 -0
  199. package/dist/types/components/index.d.ts +59 -0
  200. package/dist/types/components/index.d.ts.map +1 -0
  201. package/dist/types/components/types.d.ts +410 -0
  202. package/dist/types/components/types.d.ts.map +1 -0
  203. package/dist/types/index.d.ts +1 -0
  204. package/dist/types/index.d.ts.map +1 -1
  205. package/dist/types/llm/adapters/anthropic.d.ts +84 -1
  206. package/dist/types/llm/adapters/anthropic.d.ts.map +1 -1
  207. package/dist/types/llm/adapters/gemini.d.ts +93 -6
  208. package/dist/types/llm/adapters/gemini.d.ts.map +1 -1
  209. package/dist/types/llm/adapters/index.d.ts +13 -4
  210. package/dist/types/llm/adapters/index.d.ts.map +1 -1
  211. package/dist/types/llm/adapters/ollama.d.ts +126 -1
  212. package/dist/types/llm/adapters/ollama.d.ts.map +1 -1
  213. package/dist/types/llm/adapters/openai.d.ts +104 -1
  214. package/dist/types/llm/adapters/openai.d.ts.map +1 -1
  215. package/dist/types/mcp/cli.d.ts +15 -0
  216. package/dist/types/mcp/cli.d.ts.map +1 -0
  217. package/dist/types/mcp/index.d.ts +32 -0
  218. package/dist/types/mcp/index.d.ts.map +1 -0
  219. package/dist/types/mcp/prompts.d.ts +27 -0
  220. package/dist/types/mcp/prompts.d.ts.map +1 -0
  221. package/dist/types/mcp/resources.d.ts +59 -0
  222. package/dist/types/mcp/resources.d.ts.map +1 -0
  223. package/dist/types/mcp/server.d.ts +136 -0
  224. package/dist/types/mcp/server.d.ts.map +1 -0
  225. package/dist/types/mcp/tools.d.ts +344 -0
  226. package/dist/types/mcp/tools.d.ts.map +1 -0
  227. package/dist/types/mcp/types.d.ts +137 -0
  228. package/dist/types/mcp/types.d.ts.map +1 -0
  229. package/dist/types/types/assessment.d.ts +512 -0
  230. package/dist/types/types/assessment.d.ts.map +1 -0
  231. package/dist/types/types/bloom.d.ts +4 -0
  232. package/dist/types/types/bloom.d.ts.map +1 -1
  233. package/dist/types/types/index.d.ts +3 -1
  234. package/dist/types/types/index.d.ts.map +1 -1
  235. package/package.json +48 -3
@@ -0,0 +1,410 @@
1
+ /**
2
+ * React Component Type Definitions
3
+ *
4
+ * Types for LearnGraph React components and hooks.
5
+ *
6
+ * @packageDocumentation
7
+ */
8
+ import type { SkillNode, PrerequisiteEdge, BloomLevel } from '../types/index.js';
9
+ /**
10
+ * Node data for graph visualization
11
+ */
12
+ export interface GraphNode {
13
+ /** Unique node ID */
14
+ id: string;
15
+ /** Display label */
16
+ label: string;
17
+ /** Skill data */
18
+ skill: SkillNode;
19
+ /** Node position */
20
+ position: {
21
+ x: number;
22
+ y: number;
23
+ };
24
+ /** Node type for styling */
25
+ type: 'skill' | 'mastered' | 'available' | 'locked' | 'target';
26
+ /** Whether the node is selected */
27
+ selected?: boolean;
28
+ /** Custom metadata */
29
+ data?: Record<string, unknown>;
30
+ }
31
+ /**
32
+ * Edge data for graph visualization
33
+ */
34
+ export interface GraphEdge {
35
+ /** Unique edge ID */
36
+ id: string;
37
+ /** Source node ID */
38
+ source: string;
39
+ /** Target node ID */
40
+ target: string;
41
+ /** Edge data from storage */
42
+ edge: PrerequisiteEdge;
43
+ /** Edge type for styling */
44
+ type: 'required' | 'recommended' | 'optional';
45
+ /** Whether the edge is animated */
46
+ animated?: boolean;
47
+ /** Custom label */
48
+ label?: string;
49
+ }
50
+ /**
51
+ * Graph layout algorithm options
52
+ */
53
+ export type GraphLayout = 'dagre' | 'hierarchical' | 'force' | 'circular' | 'radial';
54
+ /**
55
+ * SkillGraph component props
56
+ */
57
+ export interface SkillGraphProps {
58
+ /** Skills to display */
59
+ skills: SkillNode[];
60
+ /** Edges between skills */
61
+ edges: PrerequisiteEdge[];
62
+ /** IDs of mastered skills */
63
+ masteredSkillIds?: string[];
64
+ /** Target skill ID (for highlighting path) */
65
+ targetSkillId?: string;
66
+ /** Layout algorithm */
67
+ layout?: GraphLayout;
68
+ /** Node click handler */
69
+ onNodeClick?: (node: GraphNode) => void;
70
+ /** Edge click handler */
71
+ onEdgeClick?: (edge: GraphEdge) => void;
72
+ /** Whether graph is interactive */
73
+ interactive?: boolean;
74
+ /** Whether to show minimap */
75
+ showMinimap?: boolean;
76
+ /** Whether to show controls */
77
+ showControls?: boolean;
78
+ /** Custom node colors by Bloom level */
79
+ bloomColors?: Partial<Record<BloomLevel, string>>;
80
+ /** Container width */
81
+ width?: number | string;
82
+ /** Container height */
83
+ height?: number | string;
84
+ /** Custom CSS class */
85
+ className?: string;
86
+ /** Custom styles */
87
+ style?: React.CSSProperties;
88
+ }
89
+ /**
90
+ * Graph viewport state
91
+ */
92
+ export interface GraphViewport {
93
+ x: number;
94
+ y: number;
95
+ zoom: number;
96
+ }
97
+ /**
98
+ * Mastery state for display
99
+ */
100
+ export interface MasteryState {
101
+ /** Mastery probability (0-1) */
102
+ probability: number;
103
+ /** Confidence level */
104
+ confidence: 'low' | 'medium' | 'high';
105
+ /** Number of attempts */
106
+ attempts: number;
107
+ /** Last activity date */
108
+ lastActivity?: Date;
109
+ /** Time to next review */
110
+ nextReview?: Date;
111
+ }
112
+ /**
113
+ * SkillCard component props
114
+ */
115
+ export interface SkillCardProps {
116
+ /** Skill to display */
117
+ skill: SkillNode;
118
+ /** Mastery state (if known) */
119
+ mastery?: MasteryState;
120
+ /** Prerequisite skills */
121
+ prerequisites?: SkillNode[];
122
+ /** Dependent skills */
123
+ dependents?: SkillNode[];
124
+ /** Whether the skill is available to learn */
125
+ isAvailable?: boolean;
126
+ /** Whether the skill is mastered */
127
+ isMastered?: boolean;
128
+ /** Card variant */
129
+ variant?: 'compact' | 'detailed' | 'full';
130
+ /** Click handler */
131
+ onClick?: () => void;
132
+ /** Start learning handler */
133
+ onStartLearning?: () => void;
134
+ /** Practice handler */
135
+ onPractice?: () => void;
136
+ /** Custom CSS class */
137
+ className?: string;
138
+ /** Custom styles */
139
+ style?: React.CSSProperties;
140
+ }
141
+ /**
142
+ * Path step with progress info
143
+ */
144
+ export interface PathStep {
145
+ /** Skill in this step */
146
+ skill: SkillNode;
147
+ /** Step number (1-indexed) */
148
+ stepNumber: number;
149
+ /** Completion status */
150
+ status: 'completed' | 'current' | 'upcoming' | 'locked';
151
+ /** Mastery state */
152
+ mastery?: MasteryState;
153
+ /** Whether this is a prerequisite */
154
+ isPrerequisite: boolean;
155
+ /** Estimated time to complete */
156
+ estimatedMinutes: number;
157
+ }
158
+ /**
159
+ * LearningPathView component props
160
+ */
161
+ export interface LearningPathViewProps {
162
+ /** Path steps to display */
163
+ steps: PathStep[];
164
+ /** Target skill name */
165
+ targetSkillName: string;
166
+ /** Current step index */
167
+ currentStepIndex?: number;
168
+ /** View mode */
169
+ viewMode?: 'list' | 'timeline' | 'cards';
170
+ /** Step click handler */
171
+ onStepClick?: (step: PathStep) => void;
172
+ /** Start step handler */
173
+ onStartStep?: (step: PathStep) => void;
174
+ /** Show time estimates */
175
+ showTimeEstimates?: boolean;
176
+ /** Show progress bar */
177
+ showProgress?: boolean;
178
+ /** Custom CSS class */
179
+ className?: string;
180
+ /** Custom styles */
181
+ style?: React.CSSProperties;
182
+ }
183
+ /**
184
+ * Learning statistics
185
+ */
186
+ export interface LearningStats {
187
+ /** Total skills in curriculum */
188
+ totalSkills: number;
189
+ /** Skills mastered */
190
+ masteredSkills: number;
191
+ /** Skills in progress */
192
+ inProgressSkills: number;
193
+ /** Skills available to learn */
194
+ availableSkills: number;
195
+ /** Total learning time (minutes) */
196
+ totalLearningTime: number;
197
+ /** Average mastery probability */
198
+ averageMastery: number;
199
+ /** Streak days */
200
+ streakDays: number;
201
+ /** Skills mastered this week */
202
+ weeklyProgress: number;
203
+ }
204
+ /**
205
+ * Bloom level progress
206
+ */
207
+ export interface BloomProgress {
208
+ level: BloomLevel;
209
+ total: number;
210
+ mastered: number;
211
+ percentage: number;
212
+ }
213
+ /**
214
+ * Recent activity item
215
+ */
216
+ export interface ActivityItem {
217
+ /** Activity type */
218
+ type: 'mastered' | 'practiced' | 'started' | 'reviewed';
219
+ /** Skill involved */
220
+ skill: SkillNode;
221
+ /** Activity timestamp */
222
+ timestamp: Date;
223
+ /** Duration in minutes */
224
+ duration?: number;
225
+ /** Result (for practice) */
226
+ result?: {
227
+ correct: number;
228
+ total: number;
229
+ };
230
+ }
231
+ /**
232
+ * ProgressDashboard component props
233
+ */
234
+ export interface ProgressDashboardProps {
235
+ /** Learning statistics */
236
+ stats: LearningStats;
237
+ /** Progress by Bloom level */
238
+ bloomProgress: BloomProgress[];
239
+ /** Recent activities */
240
+ recentActivity: ActivityItem[];
241
+ /** Skills due for review */
242
+ dueForReview?: SkillNode[];
243
+ /** Recommended next skills */
244
+ recommendations?: SkillNode[];
245
+ /** Learning goals */
246
+ goals?: Array<{
247
+ name: string;
248
+ targetSkillId: string;
249
+ progress: number;
250
+ deadline?: Date;
251
+ }>;
252
+ /** Show detailed stats */
253
+ showDetailedStats?: boolean;
254
+ /** Show activity feed */
255
+ showActivityFeed?: boolean;
256
+ /** Skill click handler */
257
+ onSkillClick?: (skill: SkillNode) => void;
258
+ /** Start review handler */
259
+ onStartReview?: () => void;
260
+ /** Custom CSS class */
261
+ className?: string;
262
+ /** Custom styles */
263
+ style?: React.CSSProperties;
264
+ }
265
+ /**
266
+ * Filter options for skill explorer
267
+ */
268
+ export interface SkillFilters {
269
+ /** Search query */
270
+ query?: string;
271
+ /** Bloom levels to include */
272
+ bloomLevels?: BloomLevel[];
273
+ /** Tags to include */
274
+ tags?: string[];
275
+ /** Mastery status filter */
276
+ masteryStatus?: 'all' | 'mastered' | 'available' | 'locked';
277
+ /** Sort field */
278
+ sortBy?: 'name' | 'bloomLevel' | 'estimatedMinutes' | 'mastery';
279
+ /** Sort direction */
280
+ sortDirection?: 'asc' | 'desc';
281
+ }
282
+ /**
283
+ * SkillExplorer component props
284
+ */
285
+ export interface SkillExplorerProps {
286
+ /** Skills to explore */
287
+ skills: SkillNode[];
288
+ /** Edges between skills */
289
+ edges: PrerequisiteEdge[];
290
+ /** IDs of mastered skills */
291
+ masteredSkillIds?: string[];
292
+ /** Available tags for filtering */
293
+ availableTags?: string[];
294
+ /** Initial filters */
295
+ initialFilters?: SkillFilters;
296
+ /** View mode */
297
+ viewMode?: 'grid' | 'list' | 'graph';
298
+ /** Filter change handler */
299
+ onFiltersChange?: (filters: SkillFilters) => void;
300
+ /** Skill selection handler */
301
+ onSkillSelect?: (skill: SkillNode) => void;
302
+ /** Set goal handler */
303
+ onSetGoal?: (skill: SkillNode) => void;
304
+ /** Enable search */
305
+ enableSearch?: boolean;
306
+ /** Enable filters */
307
+ enableFilters?: boolean;
308
+ /** Enable view toggle */
309
+ enableViewToggle?: boolean;
310
+ /** Custom CSS class */
311
+ className?: string;
312
+ /** Custom styles */
313
+ style?: React.CSSProperties;
314
+ }
315
+ /**
316
+ * Graph context value
317
+ */
318
+ export interface LearnGraphContextValue {
319
+ /** All skills */
320
+ skills: SkillNode[];
321
+ /** All edges */
322
+ edges: PrerequisiteEdge[];
323
+ /** Mastered skill IDs */
324
+ masteredSkillIds: Set<string>;
325
+ /** Loading state */
326
+ isLoading: boolean;
327
+ /** Error state */
328
+ error: Error | null;
329
+ /** Refresh data */
330
+ refresh: () => Promise<void>;
331
+ /** Get skill by ID */
332
+ getSkill: (id: string) => SkillNode | undefined;
333
+ /** Get prerequisites of a skill */
334
+ getPrerequisites: (skillId: string) => SkillNode[];
335
+ /** Get dependents of a skill */
336
+ getDependents: (skillId: string) => SkillNode[];
337
+ /** Check if skill is available */
338
+ isSkillAvailable: (skillId: string) => boolean;
339
+ /** Mark skill as mastered */
340
+ markMastered: (skillId: string) => Promise<void>;
341
+ }
342
+ /**
343
+ * Use learning path hook options
344
+ */
345
+ export interface UseLearningPathOptions {
346
+ /** Target skill ID */
347
+ targetSkillId: string;
348
+ /** Mastered skill IDs */
349
+ masteredSkillIds?: string[];
350
+ /** Whether to auto-refresh */
351
+ autoRefresh?: boolean;
352
+ }
353
+ /**
354
+ * Use learning path hook result
355
+ */
356
+ export interface UseLearningPathResult {
357
+ /** Path steps */
358
+ steps: PathStep[];
359
+ /** Loading state */
360
+ isLoading: boolean;
361
+ /** Error state */
362
+ error: Error | null;
363
+ /** Total estimated minutes */
364
+ totalMinutes: number;
365
+ /** Number of prerequisites */
366
+ prerequisiteCount: number;
367
+ /** Refresh path */
368
+ refresh: () => Promise<void>;
369
+ }
370
+ /**
371
+ * Use ZPD hook options
372
+ */
373
+ export interface UseZPDOptions {
374
+ /** Mastered skill IDs */
375
+ masteredSkillIds?: string[];
376
+ /** Maximum skills to return */
377
+ limit?: number;
378
+ }
379
+ /**
380
+ * Use ZPD hook result
381
+ */
382
+ export interface UseZPDResult {
383
+ /** Skills ready to learn */
384
+ readyToLearn: SkillNode[];
385
+ /** Skills almost ready */
386
+ almostReady: Array<{
387
+ skill: SkillNode;
388
+ missingPrerequisites: SkillNode[];
389
+ }>;
390
+ /** Loading state */
391
+ isLoading: boolean;
392
+ /** Error state */
393
+ error: Error | null;
394
+ /** Refresh ZPD */
395
+ refresh: () => Promise<void>;
396
+ }
397
+ /**
398
+ * Default Bloom level colors
399
+ */
400
+ export declare const DEFAULT_BLOOM_COLORS: Record<BloomLevel, string>;
401
+ /**
402
+ * Status colors for mastery
403
+ */
404
+ export declare const STATUS_COLORS: {
405
+ readonly mastered: "#22c55e";
406
+ readonly available: "#3b82f6";
407
+ readonly inProgress: "#f59e0b";
408
+ readonly locked: "#9ca3af";
409
+ };
410
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/types.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,7 @@
27
27
  * @packageDocumentation
28
28
  */
29
29
  export * from './types/index.js';
30
+ export { BKTEngine, createBKTEngine, estimateMastery, fitBKTParameters, calculateLogLikelihood, BKT_CONFIG_DEFAULTS, IRTEstimator, createIRTEstimator, calculateProbability, calculateProbabilityDerivative, calculateInformation, calculateTestInformation, calculateStandardError, selectNextItemMFI, abilityToPercentile, abilityToGradeLevel, estimateAbility, IRT_CONFIG_DEFAULTS, MasteryEngine, createMasteryEngine, MASTERY_ENGINE_DEFAULTS, AdaptiveEngine, createAdaptiveEngine, createQuestionPool, ADAPTIVE_DEFAULTS, TERMINATION_DEFAULTS, } from './assessment/index.js';
30
31
  /**
31
32
  * Package version
32
33
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAKH,cAAc,kBAAkB,CAAC;AAMjC;;GAEG;AACH,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,YAAY,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAKH,cAAc,kBAAkB,CAAC;AAKjC,OAAO,EAEL,SAAS,EACT,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EAEnB,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,8BAA8B,EAC9B,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EAEnB,aAAa,EACb,mBAAmB,EACnB,uBAAuB,EAEvB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAM/B;;GAEG;AACH,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,YAAY,eAAe,CAAC"}
@@ -1,10 +1,70 @@
1
1
  /**
2
2
  * Anthropic adapter for LLM integration
3
3
  *
4
+ * Supports all Claude models including the latest Claude 4.5 family.
5
+ *
4
6
  * @packageDocumentation
5
7
  */
6
8
  import type { LLMProvider, AnthropicConfig, CompletionRequest, CompletionResponse } from '../../types/llm.js';
7
9
  import { BaseLLMAdapter } from './base.js';
10
+ /**
11
+ * Claude 4.5 Models (Latest - November 2025)
12
+ * - Opus 4.5: Most intelligent, complex reasoning
13
+ * - Sonnet 4.5: Best for coding & agents
14
+ * - Haiku 4.5: Fast & cost-effective
15
+ */
16
+ export declare const CLAUDE_4_5_MODELS: {
17
+ readonly 'opus-4.5': "claude-opus-4-5-20251101";
18
+ readonly 'sonnet-4.5': "claude-sonnet-4-5-20250514";
19
+ readonly 'haiku-4.5': "claude-haiku-4-5-20251001";
20
+ };
21
+ /**
22
+ * Claude 4 Models (May-August 2025)
23
+ */
24
+ export declare const CLAUDE_4_MODELS: {
25
+ readonly 'opus-4.1': "claude-opus-4-1-20250805";
26
+ readonly 'opus-4': "claude-opus-4-20250514";
27
+ readonly 'sonnet-4': "claude-sonnet-4-20250514";
28
+ };
29
+ /**
30
+ * Claude 3.5 Models (Legacy - 2024)
31
+ */
32
+ export declare const CLAUDE_3_5_MODELS: {
33
+ readonly 'sonnet-3.5': "claude-3-5-sonnet-20241022";
34
+ readonly 'haiku-3.5': "claude-3-5-haiku-20241022";
35
+ };
36
+ /**
37
+ * Claude 3 Models (Legacy - Early 2024)
38
+ */
39
+ export declare const CLAUDE_3_MODELS: {
40
+ readonly 'opus-3': "claude-3-opus-20240229";
41
+ readonly 'sonnet-3': "claude-3-sonnet-20240229";
42
+ readonly 'haiku-3': "claude-3-haiku-20240307";
43
+ };
44
+ /**
45
+ * All available Claude models
46
+ */
47
+ export declare const CLAUDE_MODELS: {
48
+ readonly 'opus-3': "claude-3-opus-20240229";
49
+ readonly 'sonnet-3': "claude-3-sonnet-20240229";
50
+ readonly 'haiku-3': "claude-3-haiku-20240307";
51
+ readonly 'sonnet-3.5': "claude-3-5-sonnet-20241022";
52
+ readonly 'haiku-3.5': "claude-3-5-haiku-20241022";
53
+ readonly 'opus-4.1': "claude-opus-4-1-20250805";
54
+ readonly 'opus-4': "claude-opus-4-20250514";
55
+ readonly 'sonnet-4': "claude-sonnet-4-20250514";
56
+ readonly 'opus-4.5': "claude-opus-4-5-20251101";
57
+ readonly 'sonnet-4.5': "claude-sonnet-4-5-20250514";
58
+ readonly 'haiku-4.5': "claude-haiku-4-5-20251001";
59
+ };
60
+ /**
61
+ * Model alias type for convenient model selection
62
+ */
63
+ export type ClaudeModelAlias = keyof typeof CLAUDE_MODELS;
64
+ /**
65
+ * Resolve a model alias or ID to the full model ID
66
+ */
67
+ export declare function resolveClaudeModel(modelOrAlias: string): string;
8
68
  /**
9
69
  * Anthropic adapter for Claude models
10
70
  */
@@ -16,6 +76,29 @@ export declare class AnthropicAdapter extends BaseLLMAdapter {
16
76
  }
17
77
  /**
18
78
  * Create an Anthropic adapter from environment variables
79
+ *
80
+ * @param model - Model ID or alias (e.g., 'sonnet-4.5', 'opus-4.5', 'haiku-4.5')
81
+ * Use aliases for convenience or full model IDs for specific versions.
82
+ * Any valid Claude model ID will work - not limited to the aliases.
83
+ *
84
+ * @example
85
+ * ```typescript
86
+ * // Using aliases (recommended)
87
+ * const adapter = createAnthropicAdapter('sonnet-4.5');
88
+ *
89
+ * // Using full model ID
90
+ * const adapter = createAnthropicAdapter('claude-opus-4-5-20251101');
91
+ *
92
+ * // Using a future model (when released)
93
+ * const adapter = createAnthropicAdapter('claude-opus-5-20260101');
94
+ * ```
95
+ */
96
+ export declare function createAnthropicAdapter(model?: ClaudeModelAlias | string, overrides?: Partial<AnthropicConfig>): AnthropicAdapter;
97
+ /**
98
+ * List all available Claude model aliases
19
99
  */
20
- export declare function createAnthropicAdapter(model?: string, overrides?: Partial<AnthropicConfig>): AnthropicAdapter;
100
+ export declare function listClaudeModels(): {
101
+ alias: string;
102
+ modelId: string;
103
+ }[];
21
104
  //# sourceMappingURL=anthropic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../../src/llm/adapters/anthropic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAA4B,MAAM,WAAW,CAAC;AAiCrE;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,cAAc;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,MAAM,EAAE,eAAe;IAKnC,IAAI,QAAQ,IAAI,WAAW,CAE1B;IAEK,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAyGxE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,SAA+B,EACpC,SAAS,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GACnC,gBAAgB,CAclB"}
1
+ {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../../src/llm/adapters/anthropic.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAA4B,MAAM,WAAW,CAAC;AAQrE;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,eAAe;;;;CAIlB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;CAGpB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,eAAe;;;;CAIlB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;CAKhB,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,aAAa,CAAC;AAE1D;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAO/D;AAiCD;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,cAAc;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,MAAM,EAAE,eAAe;IAKnC,IAAI,QAAQ,IAAI,WAAW,CAE1B;IAEK,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAyGxE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,GAAE,gBAAgB,GAAG,MAAqB,EAC/C,SAAS,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GACnC,gBAAgB,CAclB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,CAKvE"}
@@ -1,18 +1,79 @@
1
1
  /**
2
2
  * Google Gemini LLM adapter
3
3
  *
4
+ * Supports all Gemini models including the latest Gemini 3 family.
5
+ *
4
6
  * @packageDocumentation
5
7
  */
6
8
  import type { LLMProvider, GeminiConfig, CompletionRequest, CompletionResponse } from '../../types/llm.js';
7
9
  import { BaseLLMAdapter } from './base.js';
10
+ /**
11
+ * Gemini 3 Models (Latest - December 2025)
12
+ * - gemini-3-pro: Most intelligent, PhD-level reasoning
13
+ * - gemini-3-flash: Fast frontier performance
14
+ * - gemini-3-deep-think: Extended reasoning mode
15
+ */
16
+ export declare const GEMINI_3_MODELS: {
17
+ readonly 'gemini-3-pro': "gemini-3.0-pro";
18
+ readonly 'gemini-3-flash': "gemini-3.0-flash";
19
+ readonly 'gemini-3-deep-think': "gemini-3.0-deep-think";
20
+ };
21
+ /**
22
+ * Gemini 2.5 Models (2025)
23
+ * - Best price-performance ratio
24
+ */
25
+ export declare const GEMINI_2_5_MODELS: {
26
+ readonly 'gemini-2.5-pro': "gemini-2.5-pro";
27
+ readonly 'gemini-2.5-flash': "gemini-2.5-flash";
28
+ readonly 'gemini-2.5-flash-lite': "gemini-2.5-flash-lite";
29
+ };
30
+ /**
31
+ * Gemini 2.0 Models (Late 2024 - Early 2025)
32
+ */
33
+ export declare const GEMINI_2_0_MODELS: {
34
+ readonly 'gemini-2.0-flash': "gemini-2.0-flash";
35
+ readonly 'gemini-2.0-flash-exp': "gemini-2.0-flash-exp";
36
+ };
37
+ /**
38
+ * Gemini 1.5 Models (Legacy - 2024)
39
+ */
40
+ export declare const GEMINI_1_5_MODELS: {
41
+ readonly 'gemini-1.5-pro': "gemini-1.5-pro";
42
+ readonly 'gemini-1.5-flash': "gemini-1.5-flash";
43
+ };
44
+ /**
45
+ * All available Gemini models
46
+ */
47
+ export declare const GEMINI_MODELS: {
48
+ readonly 'gemini-1.5-pro': "gemini-1.5-pro";
49
+ readonly 'gemini-1.5-flash': "gemini-1.5-flash";
50
+ readonly 'gemini-2.0-flash': "gemini-2.0-flash";
51
+ readonly 'gemini-2.0-flash-exp': "gemini-2.0-flash-exp";
52
+ readonly 'gemini-2.5-pro': "gemini-2.5-pro";
53
+ readonly 'gemini-2.5-flash': "gemini-2.5-flash";
54
+ readonly 'gemini-2.5-flash-lite': "gemini-2.5-flash-lite";
55
+ readonly 'gemini-3-pro': "gemini-3.0-pro";
56
+ readonly 'gemini-3-flash': "gemini-3.0-flash";
57
+ readonly 'gemini-3-deep-think': "gemini-3.0-deep-think";
58
+ };
59
+ /**
60
+ * Model alias type for convenient model selection
61
+ */
62
+ export type GeminiModelAlias = keyof typeof GEMINI_MODELS;
63
+ /**
64
+ * Resolve a model alias or ID to the full model ID
65
+ */
66
+ export declare function resolveGeminiModel(modelOrAlias: string): string;
8
67
  /**
9
68
  * Adapter for Google Gemini models
10
69
  *
11
- * Supports:
12
- * - gemini-2.0-flash-exp
13
- * - gemini-1.5-pro
14
- * - gemini-1.5-flash
15
- * - gemini-1.0-pro
70
+ * Supports all Gemini models including:
71
+ * - Gemini 3: gemini-3-pro, gemini-3-flash, gemini-3-deep-think
72
+ * - Gemini 2.5: gemini-2.5-pro, gemini-2.5-flash
73
+ * - Gemini 2.0: gemini-2.0-flash
74
+ * - Legacy: gemini-1.5-pro, gemini-1.5-flash
75
+ *
76
+ * Any valid Gemini model ID will work.
16
77
  */
17
78
  export declare class GeminiAdapter extends BaseLLMAdapter {
18
79
  private readonly baseUrl;
@@ -25,6 +86,32 @@ export declare class GeminiAdapter extends BaseLLMAdapter {
25
86
  }
26
87
  /**
27
88
  * Create a Gemini adapter from environment variables
89
+ *
90
+ * @param model - Model ID or alias (e.g., 'gemini-3-flash', 'gemini-3-pro', 'gemini-2.5-flash')
91
+ * Use aliases for convenience or full model IDs for specific versions.
92
+ * Any valid Gemini model ID will work - not limited to the aliases.
93
+ *
94
+ * @example
95
+ * ```typescript
96
+ * // Using latest fast model
97
+ * const adapter = createGeminiAdapter('gemini-3-flash');
98
+ *
99
+ * // Using most capable model
100
+ * const adapter = createGeminiAdapter('gemini-3-pro');
101
+ *
102
+ * // Using cost-effective option
103
+ * const adapter = createGeminiAdapter('gemini-2.5-flash');
104
+ *
105
+ * // Using a future model (when released)
106
+ * const adapter = createGeminiAdapter('gemini-4-ultra');
107
+ * ```
108
+ */
109
+ export declare function createGeminiAdapter(model?: GeminiModelAlias | string, overrides?: Partial<GeminiConfig>): GeminiAdapter;
110
+ /**
111
+ * List all available Gemini model aliases
28
112
  */
29
- export declare function createGeminiAdapter(model?: string, overrides?: Partial<GeminiConfig>): GeminiAdapter;
113
+ export declare function listGeminiModels(): {
114
+ alias: string;
115
+ modelId: string;
116
+ }[];
30
117
  //# sourceMappingURL=gemini.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../../src/llm/adapters/gemini.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAY,MAAM,WAAW,CAAC;AAsCrD;;;;;;;;GAQG;AACH,qBAAa,aAAc,SAAQ,cAAc;IAC/C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,MAAM,EAAE,YAAY;IAOhC,IAAI,QAAQ,IAAI,WAAW,CAE1B;IAEK,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA2BvE,OAAO,CAAC,YAAY;YAgCN,cAAc;IAyC5B,OAAO,CAAC,aAAa;CA6CtB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,SAAyB,EAC9B,SAAS,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAChC,aAAa,CAkBf"}
1
+ {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../../src/llm/adapters/gemini.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAY,MAAM,WAAW,CAAC;AAQrD;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;;;CAIlB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;CAGpB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;CAGpB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;CAKhB,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,aAAa,CAAC;AAE1D;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAO/D;AAsCD;;;;;;;;;;GAUG;AACH,qBAAa,aAAc,SAAQ,cAAc;IAC/C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,MAAM,EAAE,YAAY;IAOhC,IAAI,QAAQ,IAAI,WAAW,CAE1B;IAEK,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA2BvE,OAAO,CAAC,YAAY;YAgCN,cAAc;IAyC5B,OAAO,CAAC,aAAa;CA6CtB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,GAAE,gBAAgB,GAAG,MAAyB,EACnD,SAAS,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAChC,aAAa,CAkBf;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,CAKvE"}