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,34 @@
1
+ /**
2
+ * SkillCard Component
3
+ *
4
+ * Card component displaying skill details with mastery status.
5
+ *
6
+ * @packageDocumentation
7
+ */
8
+ import { type FC } from 'react';
9
+ import type { SkillCardProps } from './types.js';
10
+ /**
11
+ * SkillCard Component
12
+ *
13
+ * Displays skill information with optional mastery tracking.
14
+ *
15
+ * @example
16
+ * ```tsx
17
+ * import { SkillCard } from 'learngraph/components';
18
+ *
19
+ * function SkillDetails({ skill }) {
20
+ * return (
21
+ * <SkillCard
22
+ * skill={skill}
23
+ * mastery={{ probability: 0.75, confidence: 'medium', attempts: 10 }}
24
+ * isAvailable={true}
25
+ * variant="detailed"
26
+ * onStartLearning={() => console.log('Start learning')}
27
+ * />
28
+ * );
29
+ * }
30
+ * ```
31
+ */
32
+ export declare const SkillCard: FC<SkillCardProps>;
33
+ export default SkillCard;
34
+ //# sourceMappingURL=SkillCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkillCard.d.ts","sourceRoot":"","sources":["../../../src/components/SkillCard.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAc,EAAE,KAAK,EAAE,EAA+B,MAAM,OAAO,CAAC;AAEpE,OAAO,KAAK,EAAE,cAAc,EAAgB,MAAM,YAAY,CAAC;AAkN/D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAmMxC,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * SkillExplorer Component
3
+ *
4
+ * Interactive skill browser with filtering and search.
5
+ *
6
+ * @packageDocumentation
7
+ */
8
+ import { type FC } from 'react';
9
+ import type { SkillExplorerProps } from './types.js';
10
+ /**
11
+ * SkillExplorer Component
12
+ *
13
+ * Interactive browser for exploring and filtering skills.
14
+ *
15
+ * @example
16
+ * ```tsx
17
+ * import { SkillExplorer } from 'learngraph/components';
18
+ *
19
+ * function CurriculumBrowser() {
20
+ * const { skills, edges } = useLearnGraph();
21
+ *
22
+ * return (
23
+ * <SkillExplorer
24
+ * skills={skills}
25
+ * edges={edges}
26
+ * masteredSkillIds={['skill-1', 'skill-2']}
27
+ * viewMode="grid"
28
+ * enableSearch
29
+ * enableFilters
30
+ * onSkillSelect={(skill) => navigate(`/skill/${skill.id}`)}
31
+ * onSetGoal={(skill) => setLearningGoal(skill.id)}
32
+ * />
33
+ * );
34
+ * }
35
+ * ```
36
+ */
37
+ export declare const SkillExplorer: FC<SkillExplorerProps>;
38
+ export default SkillExplorer;
39
+ //# sourceMappingURL=SkillExplorer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkillExplorer.d.ts","sourceRoot":"","sources":["../../../src/components/SkillExplorer.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAc,EACZ,KAAK,EAAE,EAKR,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAE,kBAAkB,EAAgB,MAAM,YAAY,CAAC;AAuanE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAmRhD,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * SkillGraph Component
3
+ *
4
+ * Interactive graph visualization for skills and prerequisites.
5
+ * Uses React Flow for rendering and interaction.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ import { type FC } from 'react';
10
+ import type { SkillGraphProps } from './types.js';
11
+ /**
12
+ * SkillGraph Component
13
+ *
14
+ * Interactive visualization of skills and their prerequisite relationships.
15
+ *
16
+ * @example
17
+ * ```tsx
18
+ * import { SkillGraph } from 'learngraph/components';
19
+ *
20
+ * function CurriculumView() {
21
+ * const { skills, edges } = useLearnGraph();
22
+ *
23
+ * return (
24
+ * <SkillGraph
25
+ * skills={skills}
26
+ * edges={edges}
27
+ * masteredSkillIds={['skill-1', 'skill-2']}
28
+ * layout="hierarchical"
29
+ * onNodeClick={(node) => console.log('Selected:', node.skill.name)}
30
+ * height={600}
31
+ * />
32
+ * );
33
+ * }
34
+ * ```
35
+ */
36
+ export declare const SkillGraph: FC<SkillGraphProps>;
37
+ export default SkillGraph;
38
+ //# sourceMappingURL=SkillGraph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkillGraph.d.ts","sourceRoot":"","sources":["../../../src/components/SkillGraph.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAc,EAKZ,KAAK,EAAE,EAER,MAAM,OAAO,CAAC;AAmBf,OAAO,KAAK,EACV,eAAe,EAIhB,MAAM,YAAY,CAAC;AAmVpB;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CA6M1C,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,187 @@
1
+ /**
2
+ * React Hooks for LearnGraph
3
+ *
4
+ * Custom hooks for accessing graph data and learning state.
5
+ *
6
+ * @packageDocumentation
7
+ */
8
+ import { type ReactNode } from 'react';
9
+ import type { SkillNode } from '../types/index.js';
10
+ import type { GraphStorage } from '../storage/index.js';
11
+ import type { LearnGraphContextValue, UseLearningPathOptions, UseLearningPathResult, UseZPDOptions, UseZPDResult } from './types.js';
12
+ /**
13
+ * Provider props
14
+ */
15
+ export interface LearnGraphProviderProps {
16
+ /** Storage instance */
17
+ storage: GraphStorage;
18
+ /** Initial mastered skill IDs */
19
+ masteredSkillIds?: string[];
20
+ /** Children */
21
+ children: ReactNode;
22
+ }
23
+ /**
24
+ * LearnGraph context provider
25
+ *
26
+ * @example
27
+ * ```tsx
28
+ * import { LearnGraphProvider } from 'learngraph/components';
29
+ * import { MemoryStorage } from 'learngraph/storage';
30
+ *
31
+ * const storage = new MemoryStorage();
32
+ * await storage.connect({ backend: 'memory' });
33
+ *
34
+ * function App() {
35
+ * return (
36
+ * <LearnGraphProvider storage={storage}>
37
+ * <YourComponents />
38
+ * </LearnGraphProvider>
39
+ * );
40
+ * }
41
+ * ```
42
+ */
43
+ export declare function LearnGraphProvider({ storage, masteredSkillIds: initialMastered, children, }: LearnGraphProviderProps): JSX.Element;
44
+ /**
45
+ * Use LearnGraph context
46
+ *
47
+ * @example
48
+ * ```tsx
49
+ * function SkillList() {
50
+ * const { skills, isLoading } = useLearnGraph();
51
+ *
52
+ * if (isLoading) return <div>Loading...</div>;
53
+ *
54
+ * return (
55
+ * <ul>
56
+ * {skills.map(skill => (
57
+ * <li key={skill.id}>{skill.name}</li>
58
+ * ))}
59
+ * </ul>
60
+ * );
61
+ * }
62
+ * ```
63
+ */
64
+ export declare function useLearnGraph(): LearnGraphContextValue;
65
+ /**
66
+ * Generate learning path to target skill
67
+ *
68
+ * @example
69
+ * ```tsx
70
+ * function PathToAlgebra() {
71
+ * const { steps, totalMinutes, isLoading } = useLearningPath({
72
+ * targetSkillId: 'algebra-101',
73
+ * masteredSkillIds: ['arithmetic'],
74
+ * });
75
+ *
76
+ * if (isLoading) return <div>Loading...</div>;
77
+ *
78
+ * return (
79
+ * <div>
80
+ * <h2>Path to Algebra ({totalMinutes} min)</h2>
81
+ * {steps.map(step => (
82
+ * <div key={step.skill.id}>{step.skill.name}</div>
83
+ * ))}
84
+ * </div>
85
+ * );
86
+ * }
87
+ * ```
88
+ */
89
+ export declare function useLearningPath(options: UseLearningPathOptions): UseLearningPathResult;
90
+ /**
91
+ * Get Zone of Proximal Development skills
92
+ *
93
+ * @example
94
+ * ```tsx
95
+ * function NextSteps() {
96
+ * const { readyToLearn, almostReady, isLoading } = useZPD({
97
+ * masteredSkillIds: ['skill-1', 'skill-2'],
98
+ * limit: 5,
99
+ * });
100
+ *
101
+ * if (isLoading) return <div>Loading...</div>;
102
+ *
103
+ * return (
104
+ * <div>
105
+ * <h2>Ready to Learn</h2>
106
+ * {readyToLearn.map(skill => (
107
+ * <div key={skill.id}>{skill.name}</div>
108
+ * ))}
109
+ * </div>
110
+ * );
111
+ * }
112
+ * ```
113
+ */
114
+ export declare function useZPD(options?: UseZPDOptions): UseZPDResult;
115
+ /**
116
+ * Use skill hook result
117
+ */
118
+ export interface UseSkillResult {
119
+ skill: SkillNode | null;
120
+ prerequisites: SkillNode[];
121
+ dependents: SkillNode[];
122
+ isAvailable: boolean;
123
+ isMastered: boolean;
124
+ isLoading: boolean;
125
+ error: Error | null;
126
+ }
127
+ /**
128
+ * Get detailed skill information
129
+ *
130
+ * @example
131
+ * ```tsx
132
+ * function SkillDetails({ skillId }: { skillId: string }) {
133
+ * const { skill, prerequisites, isAvailable } = useSkill(skillId);
134
+ *
135
+ * if (!skill) return <div>Skill not found</div>;
136
+ *
137
+ * return (
138
+ * <div>
139
+ * <h2>{skill.name}</h2>
140
+ * <p>{skill.description}</p>
141
+ * {isAvailable && <button>Start Learning</button>}
142
+ * </div>
143
+ * );
144
+ * }
145
+ * ```
146
+ */
147
+ export declare function useSkill(skillId: string): UseSkillResult;
148
+ /**
149
+ * Use filtered skills hook result
150
+ */
151
+ export interface UseFilteredSkillsResult {
152
+ filteredSkills: SkillNode[];
153
+ availableTags: string[];
154
+ totalCount: number;
155
+ filteredCount: number;
156
+ }
157
+ /**
158
+ * Filter skills with various criteria
159
+ *
160
+ * @example
161
+ * ```tsx
162
+ * function FilteredList() {
163
+ * const { filteredSkills, availableTags } = useFilteredSkills({
164
+ * query: 'algebra',
165
+ * bloomLevels: ['apply', 'analyze'],
166
+ * tags: ['math'],
167
+ * });
168
+ *
169
+ * return (
170
+ * <ul>
171
+ * {filteredSkills.map(skill => (
172
+ * <li key={skill.id}>{skill.name}</li>
173
+ * ))}
174
+ * </ul>
175
+ * );
176
+ * }
177
+ * ```
178
+ */
179
+ export declare function useFilteredSkills(filters: {
180
+ query?: string;
181
+ bloomLevels?: string[];
182
+ tags?: string[];
183
+ masteryStatus?: 'all' | 'mastered' | 'available' | 'locked';
184
+ sortBy?: 'name' | 'bloomLevel' | 'estimatedMinutes';
185
+ sortDirection?: 'asc' | 'desc';
186
+ }): UseFilteredSkillsResult;
187
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/components/hooks.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,SAAS,EAAoB,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,EACb,YAAY,EAEb,MAAM,YAAY,CAAC;AAWpB;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,uBAAuB;IACvB,OAAO,EAAE,YAAY,CAAC;IACtB,iCAAiC;IACjC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,eAAe;IACf,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,OAAO,EACP,gBAAgB,EAAE,eAAoB,EACtC,QAAQ,GACT,EAAE,uBAAuB,GAAG,GAAG,CAAC,OAAO,CAkIvC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,aAAa,IAAI,sBAAsB,CAMtD;AAMD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,sBAAsB,GAC9B,qBAAqB,CAkGvB;AAMD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,YAAY,CA2EhE;AAMD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,aAAa,EAAE,SAAS,EAAE,CAAC;IAC3B,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CA0CxD;AAMD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,SAAS,EAAE,CAAC;IAC5B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,aAAa,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC5D,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,kBAAkB,CAAC;IACpD,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAChC,GAAG,uBAAuB,CAmH1B"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * LearnGraph React Components
3
+ *
4
+ * Visual components for graph exploration and learning dashboards.
5
+ *
6
+ * @packageDocumentation
7
+ *
8
+ * @example
9
+ * ```tsx
10
+ * import {
11
+ * LearnGraphProvider,
12
+ * useLearnGraph,
13
+ * SkillGraph,
14
+ * SkillCard,
15
+ * SkillExplorer,
16
+ * LearningPathView,
17
+ * ProgressDashboard,
18
+ * } from 'learngraph/components';
19
+ * import { MemoryStorage } from 'learngraph/storage';
20
+ *
21
+ * // Setup storage
22
+ * const storage = new MemoryStorage();
23
+ * await storage.connect({ backend: 'memory' });
24
+ *
25
+ * // Wrap your app with the provider
26
+ * function App() {
27
+ * return (
28
+ * <LearnGraphProvider storage={storage}>
29
+ * <CurriculumView />
30
+ * </LearnGraphProvider>
31
+ * );
32
+ * }
33
+ *
34
+ * // Use hooks and components
35
+ * function CurriculumView() {
36
+ * const { skills, edges, isLoading } = useLearnGraph();
37
+ *
38
+ * if (isLoading) return <div>Loading...</div>;
39
+ *
40
+ * return (
41
+ * <SkillGraph
42
+ * skills={skills}
43
+ * edges={edges}
44
+ * layout="hierarchical"
45
+ * height={600}
46
+ * />
47
+ * );
48
+ * }
49
+ * ```
50
+ */
51
+ export type { GraphNode, GraphEdge, GraphLayout, GraphViewport, SkillGraphProps, MasteryState, SkillCardProps, PathStep, LearningPathViewProps, LearningStats, BloomProgress, ActivityItem, ProgressDashboardProps, SkillFilters, SkillExplorerProps, LearnGraphContextValue, UseLearningPathOptions, UseLearningPathResult, UseZPDOptions, UseZPDResult, } from './types.js';
52
+ export { DEFAULT_BLOOM_COLORS, STATUS_COLORS } from './types.js';
53
+ export { LearnGraphProvider, useLearnGraph, useLearningPath, useZPD, useSkill, useFilteredSkills, type LearnGraphProviderProps, type UseSkillResult, type UseFilteredSkillsResult, } from './hooks.js';
54
+ export { SkillGraph } from './SkillGraph.js';
55
+ export { SkillCard } from './SkillCard.js';
56
+ export { LearningPathView } from './LearningPathView.js';
57
+ export { ProgressDashboard } from './ProgressDashboard.js';
58
+ export { SkillExplorer } from './SkillExplorer.js';
59
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAGH,YAAY,EAEV,SAAS,EACT,SAAS,EACT,WAAW,EACX,aAAa,EACb,eAAe,EAEf,YAAY,EACZ,cAAc,EAEd,QAAQ,EACR,qBAAqB,EAErB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,sBAAsB,EAEtB,YAAY,EACZ,kBAAkB,EAElB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,EACb,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGjE,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,MAAM,EACN,QAAQ,EACR,iBAAiB,EACjB,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EACnB,KAAK,uBAAuB,GAC7B,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}