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.
- package/dist/cjs/api/routes/analytics.js +288 -0
- package/dist/cjs/api/routes/analytics.js.map +1 -0
- package/dist/cjs/api/routes/assessments.js +269 -0
- package/dist/cjs/api/routes/assessments.js.map +1 -0
- package/dist/cjs/api/routes/curriculum.js +345 -0
- package/dist/cjs/api/routes/curriculum.js.map +1 -0
- package/dist/cjs/api/routes/edges.js +162 -0
- package/dist/cjs/api/routes/edges.js.map +1 -0
- package/dist/cjs/api/routes/explore.js +224 -0
- package/dist/cjs/api/routes/explore.js.map +1 -0
- package/dist/cjs/api/routes/learners.js +324 -0
- package/dist/cjs/api/routes/learners.js.map +1 -0
- package/dist/cjs/api/routes/me.js +404 -0
- package/dist/cjs/api/routes/me.js.map +1 -0
- package/dist/cjs/api/routes/skills.js +319 -0
- package/dist/cjs/api/routes/skills.js.map +1 -0
- package/dist/cjs/api/server.js +185 -0
- package/dist/cjs/api/server.js.map +1 -0
- package/dist/cjs/api/types.js +10 -0
- package/dist/cjs/api/types.js.map +1 -0
- package/dist/cjs/assessment/adaptive.js +390 -0
- package/dist/cjs/assessment/adaptive.js.map +1 -0
- package/dist/cjs/assessment/bkt.js +362 -0
- package/dist/cjs/assessment/bkt.js.map +1 -0
- package/dist/cjs/assessment/index.js +54 -0
- package/dist/cjs/assessment/index.js.map +1 -0
- package/dist/cjs/assessment/irt.js +420 -0
- package/dist/cjs/assessment/irt.js.map +1 -0
- package/dist/cjs/assessment/mastery-engine.js +411 -0
- package/dist/cjs/assessment/mastery-engine.js.map +1 -0
- package/dist/cjs/components/LearningPathView.js +320 -0
- package/dist/cjs/components/LearningPathView.js.map +1 -0
- package/dist/cjs/components/ProgressDashboard.js +308 -0
- package/dist/cjs/components/ProgressDashboard.js.map +1 -0
- package/dist/cjs/components/SkillCard.js +264 -0
- package/dist/cjs/components/SkillCard.js.map +1 -0
- package/dist/cjs/components/SkillExplorer.js +401 -0
- package/dist/cjs/components/SkillExplorer.js.map +1 -0
- package/dist/cjs/components/SkillGraph.js +435 -0
- package/dist/cjs/components/SkillGraph.js.map +1 -0
- package/dist/cjs/components/hooks.js +510 -0
- package/dist/cjs/components/hooks.js.map +1 -0
- package/dist/cjs/components/index.js +77 -0
- package/dist/cjs/components/index.js.map +1 -0
- package/dist/cjs/components/types.js +34 -0
- package/dist/cjs/components/types.js.map +1 -0
- package/dist/cjs/index.js +35 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/llm/adapters/anthropic.js +91 -3
- package/dist/cjs/llm/adapters/anthropic.js.map +1 -1
- package/dist/cjs/llm/adapters/gemini.js +101 -8
- package/dist/cjs/llm/adapters/gemini.js.map +1 -1
- package/dist/cjs/llm/adapters/index.js +42 -1
- package/dist/cjs/llm/adapters/index.js.map +1 -1
- package/dist/cjs/llm/adapters/ollama.js +120 -3
- package/dist/cjs/llm/adapters/ollama.js.map +1 -1
- package/dist/cjs/llm/adapters/openai.js +108 -2
- package/dist/cjs/llm/adapters/openai.js.map +1 -1
- package/dist/cjs/mcp/cli.js +302 -0
- package/dist/cjs/mcp/cli.js.map +1 -0
- package/dist/cjs/mcp/index.js +79 -0
- package/dist/cjs/mcp/index.js.map +1 -0
- package/dist/cjs/mcp/prompts.js +425 -0
- package/dist/cjs/mcp/prompts.js.map +1 -0
- package/dist/cjs/mcp/resources.js +371 -0
- package/dist/cjs/mcp/resources.js.map +1 -0
- package/dist/cjs/mcp/server.js +410 -0
- package/dist/cjs/mcp/server.js.map +1 -0
- package/dist/cjs/mcp/tools.js +612 -0
- package/dist/cjs/mcp/tools.js.map +1 -0
- package/dist/cjs/mcp/types.js +10 -0
- package/dist/cjs/mcp/types.js.map +1 -0
- package/dist/cjs/types/assessment.js +46 -0
- package/dist/cjs/types/assessment.js.map +1 -0
- package/dist/cjs/types/bloom.js +12 -1
- package/dist/cjs/types/bloom.js.map +1 -1
- package/dist/cjs/types/index.js +7 -1
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/esm/api/routes/analytics.js +285 -0
- package/dist/esm/api/routes/analytics.js.map +1 -0
- package/dist/esm/api/routes/assessments.js +266 -0
- package/dist/esm/api/routes/assessments.js.map +1 -0
- package/dist/esm/api/routes/curriculum.js +342 -0
- package/dist/esm/api/routes/curriculum.js.map +1 -0
- package/dist/esm/api/routes/edges.js +159 -0
- package/dist/esm/api/routes/edges.js.map +1 -0
- package/dist/esm/api/routes/explore.js +221 -0
- package/dist/esm/api/routes/explore.js.map +1 -0
- package/dist/esm/api/routes/learners.js +321 -0
- package/dist/esm/api/routes/learners.js.map +1 -0
- package/dist/esm/api/routes/me.js +401 -0
- package/dist/esm/api/routes/me.js.map +1 -0
- package/dist/esm/api/routes/skills.js +316 -0
- package/dist/esm/api/routes/skills.js.map +1 -0
- package/dist/esm/api/server.js +179 -0
- package/dist/esm/api/server.js.map +1 -0
- package/dist/esm/api/types.js +9 -0
- package/dist/esm/api/types.js.map +1 -0
- package/dist/esm/assessment/adaptive.js +384 -0
- package/dist/esm/assessment/adaptive.js.map +1 -0
- package/dist/esm/assessment/bkt.js +354 -0
- package/dist/esm/assessment/bkt.js.map +1 -0
- package/dist/esm/assessment/index.js +21 -0
- package/dist/esm/assessment/index.js.map +1 -0
- package/dist/esm/assessment/irt.js +406 -0
- package/dist/esm/assessment/irt.js.map +1 -0
- package/dist/esm/assessment/mastery-engine.js +406 -0
- package/dist/esm/assessment/mastery-engine.js.map +1 -0
- package/dist/esm/components/LearningPathView.js +316 -0
- package/dist/esm/components/LearningPathView.js.map +1 -0
- package/dist/esm/components/ProgressDashboard.js +304 -0
- package/dist/esm/components/ProgressDashboard.js.map +1 -0
- package/dist/esm/components/SkillCard.js +260 -0
- package/dist/esm/components/SkillCard.js.map +1 -0
- package/dist/esm/components/SkillExplorer.js +397 -0
- package/dist/esm/components/SkillExplorer.js.map +1 -0
- package/dist/esm/components/SkillGraph.js +398 -0
- package/dist/esm/components/SkillGraph.js.map +1 -0
- package/dist/esm/components/hooks.js +502 -0
- package/dist/esm/components/hooks.js.map +1 -0
- package/dist/esm/components/index.js +61 -0
- package/dist/esm/components/index.js.map +1 -0
- package/dist/esm/components/types.js +31 -0
- package/dist/esm/components/types.js.map +1 -0
- package/dist/esm/index.js +12 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/llm/adapters/anthropic.js +88 -2
- package/dist/esm/llm/adapters/anthropic.js.map +1 -1
- package/dist/esm/llm/adapters/gemini.js +98 -7
- package/dist/esm/llm/adapters/gemini.js.map +1 -1
- package/dist/esm/llm/adapters/index.js +15 -4
- package/dist/esm/llm/adapters/index.js.map +1 -1
- package/dist/esm/llm/adapters/ollama.js +117 -2
- package/dist/esm/llm/adapters/ollama.js.map +1 -1
- package/dist/esm/llm/adapters/openai.js +105 -1
- package/dist/esm/llm/adapters/openai.js.map +1 -1
- package/dist/esm/mcp/cli.js +267 -0
- package/dist/esm/mcp/cli.js.map +1 -0
- package/dist/esm/mcp/index.js +39 -0
- package/dist/esm/mcp/index.js.map +1 -0
- package/dist/esm/mcp/prompts.js +419 -0
- package/dist/esm/mcp/prompts.js.map +1 -0
- package/dist/esm/mcp/resources.js +359 -0
- package/dist/esm/mcp/resources.js.map +1 -0
- package/dist/esm/mcp/server.js +372 -0
- package/dist/esm/mcp/server.js.map +1 -0
- package/dist/esm/mcp/tools.js +598 -0
- package/dist/esm/mcp/tools.js.map +1 -0
- package/dist/esm/mcp/types.js +9 -0
- package/dist/esm/mcp/types.js.map +1 -0
- package/dist/esm/types/assessment.js +40 -0
- package/dist/esm/types/assessment.js.map +1 -0
- package/dist/esm/types/bloom.js +11 -0
- package/dist/esm/types/bloom.js.map +1 -1
- package/dist/esm/types/index.js +2 -1
- package/dist/esm/types/index.js.map +1 -1
- package/dist/types/api/routes/analytics.d.ts +14 -0
- package/dist/types/api/routes/analytics.d.ts.map +1 -0
- package/dist/types/api/routes/assessments.d.ts +14 -0
- package/dist/types/api/routes/assessments.d.ts.map +1 -0
- package/dist/types/api/routes/curriculum.d.ts +14 -0
- package/dist/types/api/routes/curriculum.d.ts.map +1 -0
- package/dist/types/api/routes/edges.d.ts +14 -0
- package/dist/types/api/routes/edges.d.ts.map +1 -0
- package/dist/types/api/routes/explore.d.ts +14 -0
- package/dist/types/api/routes/explore.d.ts.map +1 -0
- package/dist/types/api/routes/learners.d.ts +14 -0
- package/dist/types/api/routes/learners.d.ts.map +1 -0
- package/dist/types/api/routes/me.d.ts +14 -0
- package/dist/types/api/routes/me.d.ts.map +1 -0
- package/dist/types/api/routes/skills.d.ts +14 -0
- package/dist/types/api/routes/skills.d.ts.map +1 -0
- package/dist/types/api/server.d.ts +147 -0
- package/dist/types/api/server.d.ts.map +1 -0
- package/dist/types/api/types.d.ts +443 -0
- package/dist/types/api/types.d.ts.map +1 -0
- package/dist/types/assessment/adaptive.d.ts +155 -0
- package/dist/types/assessment/adaptive.d.ts.map +1 -0
- package/dist/types/assessment/bkt.d.ts +185 -0
- package/dist/types/assessment/bkt.d.ts.map +1 -0
- package/dist/types/assessment/index.d.ts +18 -0
- package/dist/types/assessment/index.d.ts.map +1 -0
- package/dist/types/assessment/irt.d.ts +159 -0
- package/dist/types/assessment/irt.d.ts.map +1 -0
- package/dist/types/assessment/mastery-engine.d.ts +178 -0
- package/dist/types/assessment/mastery-engine.d.ts.map +1 -0
- package/dist/types/components/LearningPathView.d.ts +40 -0
- package/dist/types/components/LearningPathView.d.ts.map +1 -0
- package/dist/types/components/ProgressDashboard.d.ts +49 -0
- package/dist/types/components/ProgressDashboard.d.ts.map +1 -0
- package/dist/types/components/SkillCard.d.ts +34 -0
- package/dist/types/components/SkillCard.d.ts.map +1 -0
- package/dist/types/components/SkillExplorer.d.ts +39 -0
- package/dist/types/components/SkillExplorer.d.ts.map +1 -0
- package/dist/types/components/SkillGraph.d.ts +38 -0
- package/dist/types/components/SkillGraph.d.ts.map +1 -0
- package/dist/types/components/hooks.d.ts +187 -0
- package/dist/types/components/hooks.d.ts.map +1 -0
- package/dist/types/components/index.d.ts +59 -0
- package/dist/types/components/index.d.ts.map +1 -0
- package/dist/types/components/types.d.ts +410 -0
- package/dist/types/components/types.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/llm/adapters/anthropic.d.ts +84 -1
- package/dist/types/llm/adapters/anthropic.d.ts.map +1 -1
- package/dist/types/llm/adapters/gemini.d.ts +93 -6
- package/dist/types/llm/adapters/gemini.d.ts.map +1 -1
- package/dist/types/llm/adapters/index.d.ts +13 -4
- package/dist/types/llm/adapters/index.d.ts.map +1 -1
- package/dist/types/llm/adapters/ollama.d.ts +126 -1
- package/dist/types/llm/adapters/ollama.d.ts.map +1 -1
- package/dist/types/llm/adapters/openai.d.ts +104 -1
- package/dist/types/llm/adapters/openai.d.ts.map +1 -1
- package/dist/types/mcp/cli.d.ts +15 -0
- package/dist/types/mcp/cli.d.ts.map +1 -0
- package/dist/types/mcp/index.d.ts +32 -0
- package/dist/types/mcp/index.d.ts.map +1 -0
- package/dist/types/mcp/prompts.d.ts +27 -0
- package/dist/types/mcp/prompts.d.ts.map +1 -0
- package/dist/types/mcp/resources.d.ts +59 -0
- package/dist/types/mcp/resources.d.ts.map +1 -0
- package/dist/types/mcp/server.d.ts +136 -0
- package/dist/types/mcp/server.d.ts.map +1 -0
- package/dist/types/mcp/tools.d.ts +344 -0
- package/dist/types/mcp/tools.d.ts.map +1 -0
- package/dist/types/mcp/types.d.ts +137 -0
- package/dist/types/mcp/types.d.ts.map +1 -0
- package/dist/types/types/assessment.d.ts +512 -0
- package/dist/types/types/assessment.d.ts.map +1 -0
- package/dist/types/types/bloom.d.ts +4 -0
- package/dist/types/types/bloom.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +3 -1
- package/dist/types/types/index.d.ts.map +1 -1
- package/package.json +48 -3
|
@@ -0,0 +1,512 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Assessment Types
|
|
3
|
+
*
|
|
4
|
+
* Comprehensive type definitions for the assessment framework including:
|
|
5
|
+
* - Question types (multiple choice, free response, etc.)
|
|
6
|
+
* - Assessment structures
|
|
7
|
+
* - Item Response Theory (IRT) parameters
|
|
8
|
+
* - Bayesian Knowledge Tracing (BKT) parameters
|
|
9
|
+
* - Evidence of learning
|
|
10
|
+
*
|
|
11
|
+
* @packageDocumentation
|
|
12
|
+
*/
|
|
13
|
+
import type { SkillId } from './skill.js';
|
|
14
|
+
import type { BloomLevel } from './bloom.js';
|
|
15
|
+
/**
|
|
16
|
+
* Unique identifier for a question/item
|
|
17
|
+
*/
|
|
18
|
+
export type QuestionId = string & {
|
|
19
|
+
readonly __brand: 'QuestionId';
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Create a typed QuestionId from a string
|
|
23
|
+
*/
|
|
24
|
+
export declare function createQuestionId(id: string): QuestionId;
|
|
25
|
+
/**
|
|
26
|
+
* Supported question formats
|
|
27
|
+
*/
|
|
28
|
+
export type QuestionType = 'multiple-choice' | 'multiple-select' | 'true-false' | 'free-response' | 'numeric' | 'ordering' | 'matching' | 'fill-blank' | 'code' | 'diagram';
|
|
29
|
+
/**
|
|
30
|
+
* Answer option for choice-based questions
|
|
31
|
+
*/
|
|
32
|
+
export interface AnswerOption {
|
|
33
|
+
/** Unique identifier for this option */
|
|
34
|
+
id: string;
|
|
35
|
+
/** Display text for the option */
|
|
36
|
+
text: string;
|
|
37
|
+
/** Whether this is a correct answer */
|
|
38
|
+
isCorrect: boolean;
|
|
39
|
+
/** Explanation for why this option is correct/incorrect (shown after response) */
|
|
40
|
+
explanation?: string;
|
|
41
|
+
/** Partial credit weight (0-1) for partially correct answers */
|
|
42
|
+
partialCredit?: number;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Matching pair for matching questions
|
|
46
|
+
*/
|
|
47
|
+
export interface MatchingPair {
|
|
48
|
+
/** Left side item */
|
|
49
|
+
prompt: string;
|
|
50
|
+
/** Right side item (correct match) */
|
|
51
|
+
response: string;
|
|
52
|
+
/** Optional ID for the pair */
|
|
53
|
+
id?: string;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Question/Item definition
|
|
57
|
+
*/
|
|
58
|
+
export interface Question {
|
|
59
|
+
/** Unique identifier */
|
|
60
|
+
id: QuestionId;
|
|
61
|
+
/** Question type */
|
|
62
|
+
type: QuestionType;
|
|
63
|
+
/** Question prompt/stem */
|
|
64
|
+
prompt: string;
|
|
65
|
+
/** Skill(s) this question assesses */
|
|
66
|
+
skillIds: SkillId[];
|
|
67
|
+
/** Bloom's taxonomy level */
|
|
68
|
+
bloomLevel: BloomLevel;
|
|
69
|
+
/** Answer options (for choice-based questions) */
|
|
70
|
+
options?: AnswerOption[];
|
|
71
|
+
/** Correct answer for non-choice questions */
|
|
72
|
+
correctAnswer?: string | number | string[];
|
|
73
|
+
/** Matching pairs (for matching questions) */
|
|
74
|
+
matchingPairs?: MatchingPair[];
|
|
75
|
+
/** Tolerance for numeric answers (e.g., 0.01 for 1% tolerance) */
|
|
76
|
+
numericTolerance?: number;
|
|
77
|
+
/** Hint text (optional scaffolding) */
|
|
78
|
+
hint?: string;
|
|
79
|
+
/** Detailed explanation shown after response */
|
|
80
|
+
explanation?: string;
|
|
81
|
+
/** Tags for categorization */
|
|
82
|
+
tags: string[];
|
|
83
|
+
/** Additional metadata */
|
|
84
|
+
metadata: Record<string, unknown>;
|
|
85
|
+
/** IRT parameters (if calibrated) */
|
|
86
|
+
irtParams?: IRTParameters;
|
|
87
|
+
/** Estimated time to answer (minutes) */
|
|
88
|
+
estimatedMinutes?: number;
|
|
89
|
+
/** Creation timestamp */
|
|
90
|
+
createdAt: string;
|
|
91
|
+
/** Last update timestamp */
|
|
92
|
+
updatedAt: string;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Input for creating a new question
|
|
96
|
+
*/
|
|
97
|
+
export type QuestionInput = Omit<Question, 'id' | 'createdAt' | 'updatedAt'>;
|
|
98
|
+
/**
|
|
99
|
+
* Unique identifier for an assessment
|
|
100
|
+
*/
|
|
101
|
+
export type AssessmentId = string & {
|
|
102
|
+
readonly __brand: 'AssessmentId';
|
|
103
|
+
};
|
|
104
|
+
/**
|
|
105
|
+
* Create a typed AssessmentId from a string
|
|
106
|
+
*/
|
|
107
|
+
export declare function createAssessmentId(id: string): AssessmentId;
|
|
108
|
+
/**
|
|
109
|
+
* Assessment type/purpose
|
|
110
|
+
*/
|
|
111
|
+
export type AssessmentType = 'diagnostic' | 'formative' | 'summative' | 'practice' | 'placement' | 'review';
|
|
112
|
+
/**
|
|
113
|
+
* Question selection strategy for adaptive assessments
|
|
114
|
+
*/
|
|
115
|
+
export type SelectionStrategy = 'sequential' | 'random' | 'adaptive-irt' | 'adaptive-mastery' | 'zpd-focused';
|
|
116
|
+
/**
|
|
117
|
+
* Termination criterion for adaptive assessments
|
|
118
|
+
*/
|
|
119
|
+
export interface TerminationCriteria {
|
|
120
|
+
/** Maximum number of questions */
|
|
121
|
+
maxQuestions?: number;
|
|
122
|
+
/** Minimum number of questions before early termination */
|
|
123
|
+
minQuestions?: number;
|
|
124
|
+
/** Target precision (standard error) for ability estimate */
|
|
125
|
+
targetPrecision?: number;
|
|
126
|
+
/** Maximum time in minutes */
|
|
127
|
+
maxTimeMinutes?: number;
|
|
128
|
+
/** Mastery threshold to achieve */
|
|
129
|
+
masteryThreshold?: number;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Assessment configuration
|
|
133
|
+
*/
|
|
134
|
+
export interface Assessment {
|
|
135
|
+
/** Unique identifier */
|
|
136
|
+
id: AssessmentId;
|
|
137
|
+
/** Assessment name */
|
|
138
|
+
name: string;
|
|
139
|
+
/** Assessment description */
|
|
140
|
+
description?: string;
|
|
141
|
+
/** Assessment type/purpose */
|
|
142
|
+
type: AssessmentType;
|
|
143
|
+
/** Skills being assessed */
|
|
144
|
+
skillIds: SkillId[];
|
|
145
|
+
/** Question pool */
|
|
146
|
+
questions: QuestionId[];
|
|
147
|
+
/** Question selection strategy */
|
|
148
|
+
selectionStrategy: SelectionStrategy;
|
|
149
|
+
/** Termination criteria */
|
|
150
|
+
terminationCriteria: TerminationCriteria;
|
|
151
|
+
/** Whether to show feedback after each question */
|
|
152
|
+
immediateFeedback: boolean;
|
|
153
|
+
/** Whether to allow review/changing answers */
|
|
154
|
+
allowReview: boolean;
|
|
155
|
+
/** Time limit in minutes (null for untimed) */
|
|
156
|
+
timeLimitMinutes: number | null;
|
|
157
|
+
/** Shuffle question order */
|
|
158
|
+
shuffleQuestions: boolean;
|
|
159
|
+
/** Shuffle answer options */
|
|
160
|
+
shuffleOptions: boolean;
|
|
161
|
+
/** Passing score (0-1) */
|
|
162
|
+
passingScore?: number;
|
|
163
|
+
/** Tags for categorization */
|
|
164
|
+
tags: string[];
|
|
165
|
+
/** Additional metadata */
|
|
166
|
+
metadata: Record<string, unknown>;
|
|
167
|
+
/** Creation timestamp */
|
|
168
|
+
createdAt: string;
|
|
169
|
+
/** Last update timestamp */
|
|
170
|
+
updatedAt: string;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Input for creating a new assessment
|
|
174
|
+
*/
|
|
175
|
+
export type AssessmentInput = Omit<Assessment, 'id' | 'createdAt' | 'updatedAt'>;
|
|
176
|
+
/**
|
|
177
|
+
* Unique identifier for a response
|
|
178
|
+
*/
|
|
179
|
+
export type ResponseId = string & {
|
|
180
|
+
readonly __brand: 'ResponseId';
|
|
181
|
+
};
|
|
182
|
+
/**
|
|
183
|
+
* Create a typed ResponseId from a string
|
|
184
|
+
*/
|
|
185
|
+
export declare function createResponseId(id: string): ResponseId;
|
|
186
|
+
/**
|
|
187
|
+
* Learner's response to a question
|
|
188
|
+
*/
|
|
189
|
+
export interface LearnerResponse {
|
|
190
|
+
/** Unique identifier */
|
|
191
|
+
id: ResponseId;
|
|
192
|
+
/** Question being answered */
|
|
193
|
+
questionId: QuestionId;
|
|
194
|
+
/** Assessment context (if part of an assessment) */
|
|
195
|
+
assessmentId?: AssessmentId;
|
|
196
|
+
/** Learner's answer */
|
|
197
|
+
answer: string | number | string[] | null;
|
|
198
|
+
/** Whether the response was correct */
|
|
199
|
+
isCorrect: boolean;
|
|
200
|
+
/** Partial credit score (0-1) */
|
|
201
|
+
score: number;
|
|
202
|
+
/** Response time in milliseconds */
|
|
203
|
+
responseTimeMs: number;
|
|
204
|
+
/** Number of attempts on this question in this session */
|
|
205
|
+
attemptNumber: number;
|
|
206
|
+
/** Whether a hint was used */
|
|
207
|
+
usedHint: boolean;
|
|
208
|
+
/** Confidence rating if provided by learner (1-5) */
|
|
209
|
+
confidence?: number;
|
|
210
|
+
/** Timestamp of response */
|
|
211
|
+
timestamp: string;
|
|
212
|
+
/** Session identifier */
|
|
213
|
+
sessionId?: string;
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Assessment session (learner taking an assessment)
|
|
217
|
+
*/
|
|
218
|
+
export interface AssessmentSession {
|
|
219
|
+
/** Session identifier */
|
|
220
|
+
id: string;
|
|
221
|
+
/** Assessment being taken */
|
|
222
|
+
assessmentId: AssessmentId;
|
|
223
|
+
/** Learner identifier */
|
|
224
|
+
learnerId: string;
|
|
225
|
+
/** Session status */
|
|
226
|
+
status: 'in-progress' | 'completed' | 'abandoned' | 'timed-out';
|
|
227
|
+
/** Questions presented in order */
|
|
228
|
+
questionsPresented: QuestionId[];
|
|
229
|
+
/** All responses in order */
|
|
230
|
+
responses: LearnerResponse[];
|
|
231
|
+
/** Current ability estimate (IRT theta) */
|
|
232
|
+
abilityEstimate?: number;
|
|
233
|
+
/** Standard error of ability estimate */
|
|
234
|
+
abilityStandardError?: number;
|
|
235
|
+
/** Mastery estimates per skill */
|
|
236
|
+
masteryEstimates: Map<SkillId, number>;
|
|
237
|
+
/** Start timestamp */
|
|
238
|
+
startedAt: string;
|
|
239
|
+
/** Completion timestamp */
|
|
240
|
+
completedAt?: string;
|
|
241
|
+
/** Total time spent (milliseconds) */
|
|
242
|
+
totalTimeMs: number;
|
|
243
|
+
/** Final score (0-1) */
|
|
244
|
+
finalScore?: number;
|
|
245
|
+
/** Whether passed */
|
|
246
|
+
passed?: boolean;
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* IRT model type
|
|
250
|
+
*/
|
|
251
|
+
export type IRTModel = '1PL' | '2PL' | '3PL';
|
|
252
|
+
/**
|
|
253
|
+
* IRT item parameters
|
|
254
|
+
*/
|
|
255
|
+
export interface IRTParameters {
|
|
256
|
+
/** Item difficulty (b parameter, typically -3 to +3) */
|
|
257
|
+
difficulty: number;
|
|
258
|
+
/** Item discrimination (a parameter, typically 0.5 to 2.5) */
|
|
259
|
+
discrimination?: number;
|
|
260
|
+
/** Pseudo-guessing parameter (c parameter, 0 to 0.5) */
|
|
261
|
+
guessing?: number;
|
|
262
|
+
/** Model used for calibration */
|
|
263
|
+
model: IRTModel;
|
|
264
|
+
/** Standard error of parameter estimates */
|
|
265
|
+
standardErrors?: {
|
|
266
|
+
difficulty?: number;
|
|
267
|
+
discrimination?: number;
|
|
268
|
+
guessing?: number;
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* IRT ability estimate for a learner
|
|
273
|
+
*/
|
|
274
|
+
export interface IRTAbilityEstimate {
|
|
275
|
+
/** Ability estimate (theta, typically -3 to +3) */
|
|
276
|
+
theta: number;
|
|
277
|
+
/** Standard error of estimate */
|
|
278
|
+
standardError: number;
|
|
279
|
+
/** Number of items used in estimation */
|
|
280
|
+
itemCount: number;
|
|
281
|
+
/** Estimation method used */
|
|
282
|
+
method: 'MLE' | 'EAP' | 'MAP';
|
|
283
|
+
/** Confidence interval (95%) */
|
|
284
|
+
confidenceInterval: {
|
|
285
|
+
lower: number;
|
|
286
|
+
upper: number;
|
|
287
|
+
};
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* IRT configuration options
|
|
291
|
+
*/
|
|
292
|
+
export interface IRTConfig {
|
|
293
|
+
/** IRT model to use */
|
|
294
|
+
model?: IRTModel;
|
|
295
|
+
/** Prior distribution for ability (for Bayesian methods) */
|
|
296
|
+
abilityPrior?: {
|
|
297
|
+
mean: number;
|
|
298
|
+
sd: number;
|
|
299
|
+
};
|
|
300
|
+
/** Maximum iterations for estimation */
|
|
301
|
+
maxIterations?: number;
|
|
302
|
+
/** Convergence threshold */
|
|
303
|
+
convergenceThreshold?: number;
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* BKT parameters for a skill
|
|
307
|
+
*/
|
|
308
|
+
export interface BKTParameters {
|
|
309
|
+
/** Prior probability of mastery (P(L₀)) */
|
|
310
|
+
pInit: number;
|
|
311
|
+
/** Probability of learning per opportunity (P(T)) */
|
|
312
|
+
pLearn: number;
|
|
313
|
+
/** Probability of slip (wrong despite mastery) (P(S)) */
|
|
314
|
+
pSlip: number;
|
|
315
|
+
/** Probability of guess (correct despite no mastery) (P(G)) */
|
|
316
|
+
pGuess: number;
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* Default BKT parameters (empirically derived)
|
|
320
|
+
*/
|
|
321
|
+
export declare const BKT_DEFAULTS: BKTParameters;
|
|
322
|
+
/**
|
|
323
|
+
* BKT state for a skill
|
|
324
|
+
*/
|
|
325
|
+
export interface BKTState {
|
|
326
|
+
/** Skill being tracked */
|
|
327
|
+
skillId: SkillId;
|
|
328
|
+
/** Current mastery probability P(Lₙ) */
|
|
329
|
+
pMastery: number;
|
|
330
|
+
/** Number of observations */
|
|
331
|
+
observations: number;
|
|
332
|
+
/** History of responses (for debugging/analysis) */
|
|
333
|
+
history?: boolean[];
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* BKT configuration options
|
|
337
|
+
*/
|
|
338
|
+
export interface BKTConfig {
|
|
339
|
+
/** Mastery threshold for declaring skill "learned" */
|
|
340
|
+
masteryThreshold?: number;
|
|
341
|
+
/** Whether to use individualized parameters */
|
|
342
|
+
individualizedParams?: boolean;
|
|
343
|
+
/** Whether to track response history */
|
|
344
|
+
trackHistory?: boolean;
|
|
345
|
+
}
|
|
346
|
+
/**
|
|
347
|
+
* Evidence source type
|
|
348
|
+
*/
|
|
349
|
+
export type EvidenceSource = 'assessment' | 'practice' | 'observation' | 'self-report' | 'project' | 'portfolio' | 'peer-review' | 'automated';
|
|
350
|
+
/**
|
|
351
|
+
* Evidence of learning
|
|
352
|
+
*/
|
|
353
|
+
export interface LearningEvidence {
|
|
354
|
+
/** Evidence identifier */
|
|
355
|
+
id: string;
|
|
356
|
+
/** Skill demonstrated */
|
|
357
|
+
skillId: SkillId;
|
|
358
|
+
/** Evidence source */
|
|
359
|
+
source: EvidenceSource;
|
|
360
|
+
/** Demonstrated mastery level (0-1) */
|
|
361
|
+
masteryLevel: number;
|
|
362
|
+
/** Bloom's level demonstrated */
|
|
363
|
+
bloomLevel: BloomLevel;
|
|
364
|
+
/** Confidence in this evidence (0-1) */
|
|
365
|
+
confidence: number;
|
|
366
|
+
/** Timestamp of evidence */
|
|
367
|
+
timestamp: string;
|
|
368
|
+
/** Description of evidence */
|
|
369
|
+
description?: string;
|
|
370
|
+
/** Link to artifact (if applicable) */
|
|
371
|
+
artifactUrl?: string;
|
|
372
|
+
/** Related responses (if from assessment) */
|
|
373
|
+
responseIds?: ResponseId[];
|
|
374
|
+
/** Evaluator (for observation/peer evidence) */
|
|
375
|
+
evaluator?: string;
|
|
376
|
+
/** Additional metadata */
|
|
377
|
+
metadata: Record<string, unknown>;
|
|
378
|
+
}
|
|
379
|
+
/**
|
|
380
|
+
* Aggregated evidence summary for a skill
|
|
381
|
+
*/
|
|
382
|
+
export interface EvidenceSummary {
|
|
383
|
+
/** Skill being summarized */
|
|
384
|
+
skillId: SkillId;
|
|
385
|
+
/** Number of evidence items */
|
|
386
|
+
evidenceCount: number;
|
|
387
|
+
/** Weighted average mastery */
|
|
388
|
+
averageMastery: number;
|
|
389
|
+
/** Most recent evidence */
|
|
390
|
+
latestEvidence: LearningEvidence;
|
|
391
|
+
/** Evidence by source type */
|
|
392
|
+
bySource: Partial<Record<EvidenceSource, number>>;
|
|
393
|
+
/** Trend direction */
|
|
394
|
+
trend: 'improving' | 'stable' | 'declining';
|
|
395
|
+
/** Confidence in the summary */
|
|
396
|
+
confidence: number;
|
|
397
|
+
}
|
|
398
|
+
/**
|
|
399
|
+
* Item selection result from adaptive algorithm
|
|
400
|
+
*/
|
|
401
|
+
export interface ItemSelection {
|
|
402
|
+
/** Selected question ID */
|
|
403
|
+
questionId: QuestionId;
|
|
404
|
+
/** Information value of the selected item */
|
|
405
|
+
information: number;
|
|
406
|
+
/** Reason for selection */
|
|
407
|
+
reason: string;
|
|
408
|
+
/** Alternative candidates considered */
|
|
409
|
+
alternatives?: QuestionId[];
|
|
410
|
+
}
|
|
411
|
+
/**
|
|
412
|
+
* Adaptive assessment state
|
|
413
|
+
*/
|
|
414
|
+
export interface AdaptiveState {
|
|
415
|
+
/** Current ability estimate */
|
|
416
|
+
abilityEstimate: number;
|
|
417
|
+
/** Standard error */
|
|
418
|
+
standardError: number;
|
|
419
|
+
/** Items already administered */
|
|
420
|
+
administeredItems: QuestionId[];
|
|
421
|
+
/** Current content coverage */
|
|
422
|
+
contentCoverage: Map<SkillId, number>;
|
|
423
|
+
/** Termination status */
|
|
424
|
+
shouldTerminate: boolean;
|
|
425
|
+
/** Reason for termination (if applicable) */
|
|
426
|
+
terminationReason?: string;
|
|
427
|
+
}
|
|
428
|
+
/**
|
|
429
|
+
* Adaptive algorithm configuration
|
|
430
|
+
*/
|
|
431
|
+
export interface AdaptiveConfig {
|
|
432
|
+
/** Item selection method */
|
|
433
|
+
selectionMethod: 'MFI' | 'KL' | 'EBI' | 'MEPV';
|
|
434
|
+
/** Content balancing constraints */
|
|
435
|
+
contentBalancing?: {
|
|
436
|
+
skillId: SkillId;
|
|
437
|
+
minItems?: number;
|
|
438
|
+
maxItems?: number;
|
|
439
|
+
}[];
|
|
440
|
+
/** Exposure control (0-1) */
|
|
441
|
+
maxExposureRate?: number;
|
|
442
|
+
/** Item overlap control for retests */
|
|
443
|
+
preventOverlap?: boolean;
|
|
444
|
+
}
|
|
445
|
+
/**
|
|
446
|
+
* Detailed assessment results
|
|
447
|
+
*/
|
|
448
|
+
export interface AssessmentResult {
|
|
449
|
+
/** Session that produced this result */
|
|
450
|
+
sessionId: string;
|
|
451
|
+
/** Assessment taken */
|
|
452
|
+
assessmentId: AssessmentId;
|
|
453
|
+
/** Final score (0-1) */
|
|
454
|
+
score: number;
|
|
455
|
+
/** Whether passed */
|
|
456
|
+
passed: boolean;
|
|
457
|
+
/** Ability estimate (IRT) */
|
|
458
|
+
abilityEstimate?: IRTAbilityEstimate;
|
|
459
|
+
/** Mastery per skill */
|
|
460
|
+
masteryBySkill: Map<SkillId, number>;
|
|
461
|
+
/** Performance by Bloom's level */
|
|
462
|
+
performanceByBloom: Record<BloomLevel, {
|
|
463
|
+
correct: number;
|
|
464
|
+
total: number;
|
|
465
|
+
percentage: number;
|
|
466
|
+
}>;
|
|
467
|
+
/** Strengths identified */
|
|
468
|
+
strengths: SkillId[];
|
|
469
|
+
/** Areas for improvement */
|
|
470
|
+
areasForImprovement: SkillId[];
|
|
471
|
+
/** Recommended next skills */
|
|
472
|
+
recommendedSkills: SkillId[];
|
|
473
|
+
/** Summary statistics */
|
|
474
|
+
stats: {
|
|
475
|
+
totalQuestions: number;
|
|
476
|
+
correctAnswers: number;
|
|
477
|
+
averageResponseTime: number;
|
|
478
|
+
totalTimeMinutes: number;
|
|
479
|
+
hintsUsed: number;
|
|
480
|
+
};
|
|
481
|
+
}
|
|
482
|
+
/**
|
|
483
|
+
* Difficulty adjustment based on response
|
|
484
|
+
*/
|
|
485
|
+
export interface DifficultyAdjustment {
|
|
486
|
+
/** Current difficulty level (0-1) */
|
|
487
|
+
currentDifficulty: number;
|
|
488
|
+
/** Recommended adjustment (-1 to +1) */
|
|
489
|
+
adjustment: number;
|
|
490
|
+
/** New recommended difficulty */
|
|
491
|
+
newDifficulty: number;
|
|
492
|
+
/** Reason for adjustment */
|
|
493
|
+
reason: string;
|
|
494
|
+
}
|
|
495
|
+
/**
|
|
496
|
+
* Validation result for assessment
|
|
497
|
+
*/
|
|
498
|
+
export interface AssessmentValidation {
|
|
499
|
+
/** Whether the assessment is valid */
|
|
500
|
+
isValid: boolean;
|
|
501
|
+
/** Validation errors */
|
|
502
|
+
errors: string[];
|
|
503
|
+
/** Validation warnings */
|
|
504
|
+
warnings: string[];
|
|
505
|
+
/** Coverage analysis */
|
|
506
|
+
coverage: {
|
|
507
|
+
skillsCovered: number;
|
|
508
|
+
skillsMissing: SkillId[];
|
|
509
|
+
bloomLevelsCovered: BloomLevel[];
|
|
510
|
+
};
|
|
511
|
+
}
|
|
512
|
+
//# sourceMappingURL=assessment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assessment.d.ts","sourceRoot":"","sources":["../../../src/types/assessment.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,10 @@
|
|
|
7
7
|
* @see https://cft.vanderbilt.edu/guides-sub-pages/blooms-taxonomy/
|
|
8
8
|
*/
|
|
9
9
|
export type BloomLevel = 'remember' | 'understand' | 'apply' | 'analyze' | 'evaluate' | 'create';
|
|
10
|
+
/**
|
|
11
|
+
* All Bloom's levels as an ordered array
|
|
12
|
+
*/
|
|
13
|
+
export declare const BLOOM_LEVELS: readonly BloomLevel[];
|
|
10
14
|
/**
|
|
11
15
|
* Numeric mapping for Bloom's levels (1-6 scale)
|
|
12
16
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bloom.d.ts","sourceRoot":"","sources":["../../../src/types/bloom.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,GAClB,UAAU,GACV,YAAY,GACZ,OAAO,GACP,SAAS,GACT,UAAU,GACV,QAAQ,CAAC;AAEb;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAO/C,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CA8GpD,CAAC;AAEX;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CA4BhE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,MAAM,CAEvE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAEnF"}
|
|
1
|
+
{"version":3,"file":"bloom.d.ts","sourceRoot":"","sources":["../../../src/types/bloom.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,GAClB,UAAU,GACV,YAAY,GACZ,OAAO,GACP,SAAS,GACT,UAAU,GACV,QAAQ,CAAC;AAEb;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,SAAS,UAAU,EAOpC,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAO/C,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CA8GpD,CAAC;AAEX;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CA4BhE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,MAAM,CAEvE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAEnF"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @packageDocumentation
|
|
5
5
|
*/
|
|
6
6
|
export type { BloomLevel } from './bloom.js';
|
|
7
|
-
export { BLOOM_LEVEL_ORDER, BLOOM_VERBS, detectBloomLevel, compareBloomLevels, meetsBloomThreshold, } from './bloom.js';
|
|
7
|
+
export { BLOOM_LEVELS, BLOOM_LEVEL_ORDER, BLOOM_VERBS, detectBloomLevel, compareBloomLevels, meetsBloomThreshold, } from './bloom.js';
|
|
8
8
|
export type { SkillId, SkillNode, SkillNodeInput, SkillNodeUpdate } from './skill.js';
|
|
9
9
|
export { createSkillId, SKILL_DEFAULTS, THRESHOLD_CONCEPT_MASTERY, isValidDifficulty, isValidMasteryThreshold, } from './skill.js';
|
|
10
10
|
export type { EdgeId, EdgeType, PrerequisiteEdge, PrerequisiteEdgeInput } from './edge.js';
|
|
@@ -17,4 +17,6 @@ export type { QueryOperator, QueryFilter, QuerySort, QueryPagination, SkillQuery
|
|
|
17
17
|
export type { StorageBackend, StorageConfigBase, Neo4jConfig, LevelGraphConfig, MemoryConfig, StorageConfig, ConnectionStatus, ImportResult, GraphStorage, StorageFactory, } from './storage.js';
|
|
18
18
|
export type { ParseFormat, DocumentMetadata, LearningObjective, Topic, Module, ParseResult, ParseWarning, ParseStats, ExtractedSkill, SkillExtractionResult, ParseOptions, ExtractionOptions, Parser, SkillExtractor, } from './parser.js';
|
|
19
19
|
export type { LLMProvider, LLMConfig, OpenAIConfig, AnthropicConfig, OllamaConfig, MessageRole, ChatMessage, CompletionRequest, CompletionResponse, SkillExtractionRequest, ExtractedSkillLLM, SkillExtractionResponse, PrerequisiteInferenceRequest, InferredPrerequisite, PrerequisiteInferenceResponse, BloomAnalysisRequest, BloomAnalysisResponse, DecompositionRequest, DecompositionResponse, LLMAdapter, LLMOrchestrator, } from './llm.js';
|
|
20
|
+
export type { QuestionId, QuestionType, AnswerOption, MatchingPair, Question, QuestionInput, AssessmentId, AssessmentType, SelectionStrategy, TerminationCriteria, Assessment, AssessmentInput, ResponseId, LearnerResponse, AssessmentSession, IRTModel, IRTParameters, IRTAbilityEstimate, IRTConfig, BKTParameters, BKTState, BKTConfig, EvidenceSource, LearningEvidence, EvidenceSummary, ItemSelection, AdaptiveState, AdaptiveConfig, AssessmentResult, DifficultyAdjustment, AssessmentValidation, } from './assessment.js';
|
|
21
|
+
export { createQuestionId, createAssessmentId, createResponseId, BKT_DEFAULTS, } from './assessment.js';
|
|
20
22
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAKpB,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACtF,OAAO,EACL,aAAa,EACb,cAAc,EACd,yBAAyB,EACzB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,YAAY,CAAC;AAKpB,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAC3F,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,GAChB,MAAM,WAAW,CAAC;AAKnB,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAK1E,YAAY,EACV,QAAQ,EACR,WAAW,EACX,UAAU,EACV,eAAe,EACf,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAK3C,YAAY,EACV,aAAa,EACb,WAAW,EACX,SAAS,EACT,eAAe,EACf,UAAU,EACV,SAAS,EACT,YAAY,EACZ,eAAe,EACf,cAAc,EACd,UAAU,EACV,UAAU,EACV,WAAW,EACX,aAAa,GACd,MAAM,YAAY,CAAC;AAKpB,YAAY,EACV,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,cAAc,GACf,MAAM,cAAc,CAAC;AAKtB,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,EACL,MAAM,EACN,WAAW,EACX,YAAY,EACZ,UAAU,EACV,cAAc,EACd,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,EACjB,MAAM,EACN,cAAc,GACf,MAAM,aAAa,CAAC;AAKrB,YAAY,EACV,WAAW,EACX,SAAS,EACT,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,EACvB,4BAA4B,EAC5B,oBAAoB,EACpB,6BAA6B,EAC7B,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,UAAU,EACV,eAAe,GAChB,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAKpB,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACtF,OAAO,EACL,aAAa,EACb,cAAc,EACd,yBAAyB,EACzB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,YAAY,CAAC;AAKpB,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAC3F,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,GAChB,MAAM,WAAW,CAAC;AAKnB,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAK1E,YAAY,EACV,QAAQ,EACR,WAAW,EACX,UAAU,EACV,eAAe,EACf,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAK3C,YAAY,EACV,aAAa,EACb,WAAW,EACX,SAAS,EACT,eAAe,EACf,UAAU,EACV,SAAS,EACT,YAAY,EACZ,eAAe,EACf,cAAc,EACd,UAAU,EACV,UAAU,EACV,WAAW,EACX,aAAa,GACd,MAAM,YAAY,CAAC;AAKpB,YAAY,EACV,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,cAAc,GACf,MAAM,cAAc,CAAC;AAKtB,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,EACL,MAAM,EACN,WAAW,EACX,YAAY,EACZ,UAAU,EACV,cAAc,EACd,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,EACjB,MAAM,EACN,cAAc,GACf,MAAM,aAAa,CAAC;AAKrB,YAAY,EACV,WAAW,EACX,SAAS,EACT,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,EACvB,4BAA4B,EAC5B,oBAAoB,EACpB,6BAA6B,EAC7B,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,UAAU,EACV,eAAe,GAChB,MAAM,UAAU,CAAC;AAKlB,YAAY,EAEV,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,aAAa,EAEb,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,UAAU,EACV,eAAe,EAEf,UAAU,EACV,eAAe,EACf,iBAAiB,EAEjB,QAAQ,EACR,aAAa,EACb,kBAAkB,EAClB,SAAS,EAET,aAAa,EACb,QAAQ,EACR,SAAS,EAET,cAAc,EACd,gBAAgB,EAChB,eAAe,EAEf,aAAa,EACb,aAAa,EACb,cAAc,EAEd,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,GACb,MAAM,iBAAiB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "learngraph",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "The world's first AI-powered learning path generator. Transform syllabi into personalized mastery paths with Zone of Proximal Development (ZPD), Bloom's Taxonomy, spaced repetition, and Bayesian Knowledge Tracing built in. Every student's path to mastery.",
|
|
5
5
|
"author": "Dr. Ernesto Lee <dr.ernesto.lee@gmail.com>",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -123,6 +123,26 @@
|
|
|
123
123
|
"types": "./dist/types/education/index.d.ts",
|
|
124
124
|
"default": "./dist/cjs/education/index.js"
|
|
125
125
|
}
|
|
126
|
+
},
|
|
127
|
+
"./mcp": {
|
|
128
|
+
"import": {
|
|
129
|
+
"types": "./dist/types/mcp/index.d.ts",
|
|
130
|
+
"default": "./dist/esm/mcp/index.js"
|
|
131
|
+
},
|
|
132
|
+
"require": {
|
|
133
|
+
"types": "./dist/types/mcp/index.d.ts",
|
|
134
|
+
"default": "./dist/cjs/mcp/index.js"
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
"./components": {
|
|
138
|
+
"import": {
|
|
139
|
+
"types": "./dist/types/components/index.d.ts",
|
|
140
|
+
"default": "./dist/esm/components/index.js"
|
|
141
|
+
},
|
|
142
|
+
"require": {
|
|
143
|
+
"types": "./dist/types/components/index.d.ts",
|
|
144
|
+
"default": "./dist/cjs/components/index.js"
|
|
145
|
+
}
|
|
126
146
|
}
|
|
127
147
|
},
|
|
128
148
|
"files": [
|
|
@@ -146,22 +166,32 @@
|
|
|
146
166
|
"clean": "rm -rf dist coverage"
|
|
147
167
|
},
|
|
148
168
|
"dependencies": {
|
|
169
|
+
"hono": "^4.11.1",
|
|
149
170
|
"zod": "^3.23.0"
|
|
150
171
|
},
|
|
151
172
|
"devDependencies": {
|
|
152
173
|
"@types/node": "^20.0.0",
|
|
174
|
+
"@types/react": "^18.3.27",
|
|
175
|
+
"@types/react-dom": "^18.3.7",
|
|
153
176
|
"@typescript-eslint/eslint-plugin": "^7.0.0",
|
|
154
177
|
"@typescript-eslint/parser": "^7.0.0",
|
|
155
178
|
"@vitest/coverage-v8": "^1.6.0",
|
|
156
179
|
"eslint": "^8.57.0",
|
|
180
|
+
"react": "^19.2.3",
|
|
181
|
+
"react-dom": "^19.2.3",
|
|
182
|
+
"reactflow": "^11.11.4",
|
|
157
183
|
"typescript": "^5.4.0",
|
|
158
184
|
"vitest": "^1.6.0"
|
|
159
185
|
},
|
|
160
186
|
"peerDependencies": {
|
|
161
|
-
"
|
|
187
|
+
"@mediapipe/tasks-genai": "^0.10.0",
|
|
188
|
+
"@modelcontextprotocol/sdk": "^1.25.1",
|
|
162
189
|
"level": "^8.0.0",
|
|
163
190
|
"levelgraph": "^3.0.0",
|
|
164
|
-
"
|
|
191
|
+
"neo4j-driver": "^5.0.0",
|
|
192
|
+
"react": "^18.0.0",
|
|
193
|
+
"react-dom": "^18.0.0",
|
|
194
|
+
"reactflow": "^11.0.0"
|
|
165
195
|
},
|
|
166
196
|
"peerDependenciesMeta": {
|
|
167
197
|
"neo4j-driver": {
|
|
@@ -175,6 +205,21 @@
|
|
|
175
205
|
},
|
|
176
206
|
"@mediapipe/tasks-genai": {
|
|
177
207
|
"optional": true
|
|
208
|
+
},
|
|
209
|
+
"@modelcontextprotocol/sdk": {
|
|
210
|
+
"optional": true
|
|
211
|
+
},
|
|
212
|
+
"react": {
|
|
213
|
+
"optional": true
|
|
214
|
+
},
|
|
215
|
+
"react-dom": {
|
|
216
|
+
"optional": true
|
|
217
|
+
},
|
|
218
|
+
"reactflow": {
|
|
219
|
+
"optional": true
|
|
178
220
|
}
|
|
221
|
+
},
|
|
222
|
+
"bin": {
|
|
223
|
+
"learngraph-mcp": "./dist/esm/mcp/cli.js"
|
|
179
224
|
}
|
|
180
225
|
}
|