@edpear/sdk 1.1.6 → 1.3.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/README.md +141 -0
- package/dist/cli.js +271 -0
- package/dist/cli.js.map +1 -1
- package/dist/features/analyzeHistoricalArtifact.d.ts +11 -0
- package/dist/features/analyzeHistoricalArtifact.d.ts.map +1 -0
- package/dist/features/analyzeHistoricalArtifact.js +33 -0
- package/dist/features/analyzeHistoricalArtifact.js.map +1 -0
- package/dist/features/checkLabSetup.d.ts +12 -0
- package/dist/features/checkLabSetup.d.ts.map +1 -0
- package/dist/features/checkLabSetup.js +31 -0
- package/dist/features/checkLabSetup.js.map +1 -0
- package/dist/features/debugMathSolution.d.ts +11 -0
- package/dist/features/debugMathSolution.d.ts.map +1 -0
- package/dist/features/debugMathSolution.js +29 -0
- package/dist/features/debugMathSolution.js.map +1 -0
- package/dist/features/generateSpatialFlashcards.d.ts +11 -0
- package/dist/features/generateSpatialFlashcards.d.ts.map +1 -0
- package/dist/features/generateSpatialFlashcards.js +36 -0
- package/dist/features/generateSpatialFlashcards.js.map +1 -0
- package/dist/features/gradeVisualRubric.d.ts +12 -0
- package/dist/features/gradeVisualRubric.d.ts.map +1 -0
- package/dist/features/gradeVisualRubric.js +42 -0
- package/dist/features/gradeVisualRubric.js.map +1 -0
- package/dist/features/reduceCognitiveLoad.d.ts +11 -0
- package/dist/features/reduceCognitiveLoad.d.ts.map +1 -0
- package/dist/features/reduceCognitiveLoad.js +33 -0
- package/dist/features/reduceCognitiveLoad.js.map +1 -0
- package/dist/features/storyboardToOutline.d.ts +11 -0
- package/dist/features/storyboardToOutline.d.ts.map +1 -0
- package/dist/features/storyboardToOutline.js +37 -0
- package/dist/features/storyboardToOutline.js.map +1 -0
- package/dist/features/translateManipulatives.d.ts +11 -0
- package/dist/features/translateManipulatives.d.ts.map +1 -0
- package/dist/features/translateManipulatives.js +37 -0
- package/dist/features/translateManipulatives.js.map +1 -0
- package/dist/features/types.d.ts +101 -0
- package/dist/features/types.d.ts.map +1 -0
- package/dist/features/types.js +5 -0
- package/dist/features/types.js.map +1 -0
- package/dist/features/verifyRealWorldConcept.d.ts +12 -0
- package/dist/features/verifyRealWorldConcept.d.ts.map +1 -0
- package/dist/features/verifyRealWorldConcept.js +31 -0
- package/dist/features/verifyRealWorldConcept.js.map +1 -0
- package/dist/features/whiteboardToCode.d.ts +12 -0
- package/dist/features/whiteboardToCode.d.ts.map +1 -0
- package/dist/features/whiteboardToCode.js +29 -0
- package/dist/features/whiteboardToCode.js.map +1 -0
- package/dist/index.d.ts +53 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +111 -0
- package/dist/index.js.map +1 -1
- package/package.json +53 -53
package/README.md
CHANGED
|
@@ -78,6 +78,147 @@ const status = await client.getStatus();
|
|
|
78
78
|
console.log(`Credits remaining: ${status.credits}`);
|
|
79
79
|
```
|
|
80
80
|
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## Educational AI Wrappers (v1.3+)
|
|
84
|
+
|
|
85
|
+
All 10 methods below accept a **base64-encoded image string** as their first argument (format: `data:image/<mime>;base64,<data>`) and return structured, typed JSON — no prompt engineering required.
|
|
86
|
+
|
|
87
|
+
### 1. `debugMathSolution(image)`
|
|
88
|
+
|
|
89
|
+
Pinpoints the exact line of an error in a handwritten multi-step math solution.
|
|
90
|
+
|
|
91
|
+
```typescript
|
|
92
|
+
const result = await client.debugMathSolution(base64Image);
|
|
93
|
+
// result.errorAtLine → line number (0 = no error)
|
|
94
|
+
// result.incorrectStep, result.correctFormula, result.explanation, result.hints
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
CLI: `edpear math-debug ./photo.jpg`
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
### 2. `verifyRealWorldConcept(image, concept)`
|
|
102
|
+
|
|
103
|
+
Validates whether a photograph demonstrates a specific physics or geometry concept.
|
|
104
|
+
|
|
105
|
+
```typescript
|
|
106
|
+
const result = await client.verifyRealWorldConcept(base64Image, 'acute angle');
|
|
107
|
+
// result.matches (boolean), result.confidence (0–1), result.explanation
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
CLI: `edpear verify-concept ./photo.jpg "acute angle"`
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
### 3. `checkLabSetup(image, experimentType)`
|
|
115
|
+
|
|
116
|
+
Inspects lab equipment or circuit wiring for safety issues and correctness.
|
|
117
|
+
|
|
118
|
+
```typescript
|
|
119
|
+
const result = await client.checkLabSetup(base64Image, 'series circuit');
|
|
120
|
+
// result.overallCorrect, result.safetyIssues[], result.correctnessIssues[], result.riskLevel
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
CLI: `edpear lab-check ./circuit.jpg "series circuit"`
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
### 4. `generateSpatialFlashcards(image)`
|
|
128
|
+
|
|
129
|
+
Generates image-occlusion flashcards from a complex educational diagram.
|
|
130
|
+
|
|
131
|
+
```typescript
|
|
132
|
+
const result = await client.generateSpatialFlashcards(base64Image);
|
|
133
|
+
// result.flashcards[].front, .back, .region, .difficulty, .tags
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
CLI: `edpear flashcards ./diagram.png --output cards.json`
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
### 5. `whiteboardToCode(image, targetFormat?)`
|
|
141
|
+
|
|
142
|
+
Converts whiteboard equations to LaTeX or flowcharts to Python pseudocode.
|
|
143
|
+
|
|
144
|
+
```typescript
|
|
145
|
+
const result = await client.whiteboardToCode(base64Image, 'latex');
|
|
146
|
+
// result.output (string), result.format, result.explanation, result.variables
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
CLI: `edpear whiteboard-to-code ./board.jpg --format latex`
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
### 6. `gradeVisualRubric(image, rubricConstraints)`
|
|
154
|
+
|
|
155
|
+
Evaluates a drawing against an array of rubric constraint strings (scored 0–2 each).
|
|
156
|
+
|
|
157
|
+
```typescript
|
|
158
|
+
const result = await client.gradeVisualRubric(base64Image, [
|
|
159
|
+
'has a clear vanishing point',
|
|
160
|
+
'uses hatching for shading',
|
|
161
|
+
]);
|
|
162
|
+
// result.totalScore, result.grade, result.breakdown[].feedback
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
CLI: `edpear grade-rubric ./drawing.jpg "has vanishing point" "uses hatching"`
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
### 7. `reduceCognitiveLoad(image)`
|
|
170
|
+
|
|
171
|
+
Reformats dense textbook text into dyslexia-friendly, bulleted markdown.
|
|
172
|
+
|
|
173
|
+
```typescript
|
|
174
|
+
const result = await client.reduceCognitiveLoad(base64Image);
|
|
175
|
+
// result.markdown, result.keyTerms[], result.summary, result.readingLevel
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
CLI: `edpear simplify ./textbook.jpg --output simplified.md`
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
### 8. `translateManipulatives(image)`
|
|
183
|
+
|
|
184
|
+
Reads physical educational blocks/tiles on a desk and returns a digital state object.
|
|
185
|
+
|
|
186
|
+
```typescript
|
|
187
|
+
const result = await client.translateManipulatives(base64Image);
|
|
188
|
+
// result.blocks[].type/value/position, result.totalValue, result.digitalState
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
CLI: `edpear manipulatives ./blocks.jpg`
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
### 9. `analyzeHistoricalArtifact(image)`
|
|
196
|
+
|
|
197
|
+
Acts as an AR museum docent — returns period, origin, techniques, and historical context.
|
|
198
|
+
|
|
199
|
+
```typescript
|
|
200
|
+
const result = await client.analyzeHistoricalArtifact(base64Image);
|
|
201
|
+
// result.title, result.period, result.origin, result.techniques[], result.significance
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
CLI: `edpear artifact ./painting.jpg`
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
### 10. `storyboardToOutline(image)`
|
|
209
|
+
|
|
210
|
+
Converts sticky-note storyboards or mind maps into a hierarchical JSON outline.
|
|
211
|
+
|
|
212
|
+
```typescript
|
|
213
|
+
const result = await client.storyboardToOutline(base64Image);
|
|
214
|
+
// result.title, result.nodes[].text/level/children, result.linearSummary
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
CLI: `edpear storyboard ./sticky-notes.jpg --output outline.json`
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
|
|
81
222
|
## Types
|
|
82
223
|
|
|
83
224
|
### VisionRequest
|
package/dist/cli.js
CHANGED
|
@@ -14,6 +14,7 @@ const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
|
14
14
|
const path_1 = __importDefault(require("path"));
|
|
15
15
|
const os_1 = require("os");
|
|
16
16
|
const dotenv_1 = __importDefault(require("dotenv"));
|
|
17
|
+
const index_1 = require("./index");
|
|
17
18
|
// Load environment variables from .env or .env.local if they exist
|
|
18
19
|
dotenv_1.default.config();
|
|
19
20
|
dotenv_1.default.config({ path: path_1.default.join(process.cwd(), '.env.local') });
|
|
@@ -90,16 +91,29 @@ class EdPearCLI {
|
|
|
90
91
|
await (0, open_1.default)(url);
|
|
91
92
|
console.log(chalk_1.default.green('✅ Browser opened!'));
|
|
92
93
|
console.log(chalk_1.default.yellow('Please login and approve the request in your browser.'));
|
|
94
|
+
console.log(chalk_1.default.gray('You will receive a 6-digit verification code via email.'));
|
|
93
95
|
console.log(chalk_1.default.gray('The CLI will automatically detect when you are authenticated.\n'));
|
|
94
96
|
// 3. Poll for completion
|
|
95
97
|
const spinner = (0, ora_1.default)('Waiting for approval...').start();
|
|
96
98
|
const maxAttempts = 200; // 10 minutes
|
|
97
99
|
let attempts = 0;
|
|
100
|
+
let lastStatus = 'pending';
|
|
98
101
|
while (attempts < maxAttempts) {
|
|
99
102
|
await new Promise(resolve => setTimeout(resolve, 3000));
|
|
100
103
|
try {
|
|
101
104
|
// Poll status using requestId
|
|
102
105
|
const statusResponse = await axios_1.default.get(`${baseURL}/api/auth/cli/status?requestId=${requestId}`);
|
|
106
|
+
const currentStatus = statusResponse.data.status;
|
|
107
|
+
// Update spinner message based on status
|
|
108
|
+
if (currentStatus !== lastStatus) {
|
|
109
|
+
if (currentStatus === 'otp_pending') {
|
|
110
|
+
spinner.text = 'Waiting for OTP verification... (Check your email)';
|
|
111
|
+
}
|
|
112
|
+
else if (currentStatus === 'pending') {
|
|
113
|
+
spinner.text = 'Waiting for approval...';
|
|
114
|
+
}
|
|
115
|
+
lastStatus = currentStatus;
|
|
116
|
+
}
|
|
103
117
|
if (statusResponse.data.status === 'completed' && statusResponse.data.cliToken) {
|
|
104
118
|
spinner.stop();
|
|
105
119
|
// Save token and user data
|
|
@@ -266,9 +280,221 @@ class EdPearCLI {
|
|
|
266
280
|
}
|
|
267
281
|
}
|
|
268
282
|
async logout() {
|
|
283
|
+
if (!this.config.token) {
|
|
284
|
+
console.log(chalk_1.default.yellow('💡 You are not logged in.'));
|
|
285
|
+
return;
|
|
286
|
+
}
|
|
287
|
+
// Clear user data but keep the structure
|
|
288
|
+
const email = this.config.user?.email;
|
|
269
289
|
this.config = {};
|
|
270
290
|
this.saveConfig();
|
|
271
291
|
console.log(chalk_1.default.green('✅ Logged out successfully'));
|
|
292
|
+
if (email) {
|
|
293
|
+
console.log(chalk_1.default.gray(`Disconnected from ${email}`));
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
// ─── Shared helpers for AI feature commands ──────────────────────────────────
|
|
297
|
+
getApiKey() {
|
|
298
|
+
const envKey = process.env.EDPEAR_API_KEY;
|
|
299
|
+
if (envKey)
|
|
300
|
+
return envKey;
|
|
301
|
+
const storedKeys = this.config.apiKeys;
|
|
302
|
+
if (storedKeys && storedKeys.length > 0)
|
|
303
|
+
return storedKeys[0].key;
|
|
304
|
+
console.error(chalk_1.default.red('❌ No API key found.'));
|
|
305
|
+
console.error(chalk_1.default.gray('Run "edpear generate-key" or set EDPEAR_API_KEY in your environment.'));
|
|
306
|
+
process.exit(1);
|
|
307
|
+
}
|
|
308
|
+
imageToBase64(filePath) {
|
|
309
|
+
const resolved = path_1.default.resolve(filePath);
|
|
310
|
+
if (!fs_extra_1.default.existsSync(resolved)) {
|
|
311
|
+
console.error(chalk_1.default.red(`❌ Image file not found: ${resolved}`));
|
|
312
|
+
process.exit(1);
|
|
313
|
+
}
|
|
314
|
+
const ext = path_1.default.extname(resolved).toLowerCase().replace('.', '');
|
|
315
|
+
const mimeMap = { jpg: 'jpeg', jpeg: 'jpeg', png: 'png', gif: 'gif', webp: 'webp' };
|
|
316
|
+
const mime = mimeMap[ext] || 'jpeg';
|
|
317
|
+
const data = fs_extra_1.default.readFileSync(resolved).toString('base64');
|
|
318
|
+
return `data:image/${mime};base64,${data}`;
|
|
319
|
+
}
|
|
320
|
+
printResult(label, result) {
|
|
321
|
+
console.log(chalk_1.default.blue(`\n📊 ${label}\n`));
|
|
322
|
+
console.log(JSON.stringify(result, null, 2));
|
|
323
|
+
}
|
|
324
|
+
// ─── Feature 1: math-debug ───────────────────────────────────────────────────
|
|
325
|
+
async mathDebug(imagePath) {
|
|
326
|
+
const spinner = (0, ora_1.default)('Analyzing math solution...').start();
|
|
327
|
+
try {
|
|
328
|
+
const client = new index_1.EdPearClient({ apiKey: this.getApiKey() });
|
|
329
|
+
const image = this.imageToBase64(imagePath);
|
|
330
|
+
const result = await client.debugMathSolution(image);
|
|
331
|
+
spinner.succeed(chalk_1.default.green('✅ Analysis complete'));
|
|
332
|
+
this.printResult('Math Debug Result', result);
|
|
333
|
+
}
|
|
334
|
+
catch (err) {
|
|
335
|
+
spinner.fail(chalk_1.default.red('❌ Failed'));
|
|
336
|
+
console.error(chalk_1.default.red(err.message));
|
|
337
|
+
process.exit(1);
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
// ─── Feature 2: verify-concept ───────────────────────────────────────────────
|
|
341
|
+
async verifyConcept(imagePath, concept) {
|
|
342
|
+
const spinner = (0, ora_1.default)(`Verifying concept: "${concept}"...`).start();
|
|
343
|
+
try {
|
|
344
|
+
const client = new index_1.EdPearClient({ apiKey: this.getApiKey() });
|
|
345
|
+
const image = this.imageToBase64(imagePath);
|
|
346
|
+
const result = await client.verifyRealWorldConcept(image, concept);
|
|
347
|
+
spinner.succeed(chalk_1.default.green('✅ Verification complete'));
|
|
348
|
+
this.printResult('Concept Verification', result);
|
|
349
|
+
}
|
|
350
|
+
catch (err) {
|
|
351
|
+
spinner.fail(chalk_1.default.red('❌ Failed'));
|
|
352
|
+
console.error(chalk_1.default.red(err.message));
|
|
353
|
+
process.exit(1);
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
// ─── Feature 3: lab-check ────────────────────────────────────────────────────
|
|
357
|
+
async labCheck(imagePath, experimentType) {
|
|
358
|
+
const spinner = (0, ora_1.default)(`Checking lab setup for: "${experimentType}"...`).start();
|
|
359
|
+
try {
|
|
360
|
+
const client = new index_1.EdPearClient({ apiKey: this.getApiKey() });
|
|
361
|
+
const image = this.imageToBase64(imagePath);
|
|
362
|
+
const result = await client.checkLabSetup(image, experimentType);
|
|
363
|
+
spinner.succeed(chalk_1.default.green('✅ Lab check complete'));
|
|
364
|
+
this.printResult('Lab Setup Report', result);
|
|
365
|
+
}
|
|
366
|
+
catch (err) {
|
|
367
|
+
spinner.fail(chalk_1.default.red('❌ Failed'));
|
|
368
|
+
console.error(chalk_1.default.red(err.message));
|
|
369
|
+
process.exit(1);
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
// ─── Feature 4: flashcards ───────────────────────────────────────────────────
|
|
373
|
+
async flashcards(imagePath, outputFile) {
|
|
374
|
+
const spinner = (0, ora_1.default)('Generating spatial flashcards...').start();
|
|
375
|
+
try {
|
|
376
|
+
const client = new index_1.EdPearClient({ apiKey: this.getApiKey() });
|
|
377
|
+
const image = this.imageToBase64(imagePath);
|
|
378
|
+
const result = await client.generateSpatialFlashcards(image);
|
|
379
|
+
spinner.succeed(chalk_1.default.green(`✅ Generated ${result.totalCards} flashcard(s)`));
|
|
380
|
+
this.printResult('Spatial Flashcards', result);
|
|
381
|
+
if (outputFile) {
|
|
382
|
+
fs_extra_1.default.writeJsonSync(outputFile, result, { spaces: 2 });
|
|
383
|
+
console.log(chalk_1.default.gray(`\n💾 Saved to ${outputFile}`));
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
catch (err) {
|
|
387
|
+
spinner.fail(chalk_1.default.red('❌ Failed'));
|
|
388
|
+
console.error(chalk_1.default.red(err.message));
|
|
389
|
+
process.exit(1);
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
// ─── Feature 5: whiteboard-to-code ───────────────────────────────────────────
|
|
393
|
+
async whiteboardToCode(imagePath, format) {
|
|
394
|
+
const spinner = (0, ora_1.default)(`Converting whiteboard to ${format}...`).start();
|
|
395
|
+
try {
|
|
396
|
+
const client = new index_1.EdPearClient({ apiKey: this.getApiKey() });
|
|
397
|
+
const image = this.imageToBase64(imagePath);
|
|
398
|
+
const result = await client.whiteboardToCode(image, format);
|
|
399
|
+
spinner.succeed(chalk_1.default.green('✅ Conversion complete'));
|
|
400
|
+
this.printResult('Whiteboard Conversion', result);
|
|
401
|
+
}
|
|
402
|
+
catch (err) {
|
|
403
|
+
spinner.fail(chalk_1.default.red('❌ Failed'));
|
|
404
|
+
console.error(chalk_1.default.red(err.message));
|
|
405
|
+
process.exit(1);
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
// ─── Feature 6: grade-rubric ─────────────────────────────────────────────────
|
|
409
|
+
async gradeRubric(imagePath, constraints) {
|
|
410
|
+
const spinner = (0, ora_1.default)('Grading against visual rubric...').start();
|
|
411
|
+
try {
|
|
412
|
+
const client = new index_1.EdPearClient({ apiKey: this.getApiKey() });
|
|
413
|
+
const image = this.imageToBase64(imagePath);
|
|
414
|
+
const result = await client.gradeVisualRubric(image, constraints);
|
|
415
|
+
spinner.succeed(chalk_1.default.green(`✅ Graded: ${result.totalScore}/${result.maxScore} (${result.grade})`));
|
|
416
|
+
this.printResult('Visual Rubric Grade', result);
|
|
417
|
+
}
|
|
418
|
+
catch (err) {
|
|
419
|
+
spinner.fail(chalk_1.default.red('❌ Failed'));
|
|
420
|
+
console.error(chalk_1.default.red(err.message));
|
|
421
|
+
process.exit(1);
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
// ─── Feature 7: simplify ─────────────────────────────────────────────────────
|
|
425
|
+
async simplify(imagePath, outputFile) {
|
|
426
|
+
const spinner = (0, ora_1.default)('Reducing cognitive load...').start();
|
|
427
|
+
try {
|
|
428
|
+
const client = new index_1.EdPearClient({ apiKey: this.getApiKey() });
|
|
429
|
+
const image = this.imageToBase64(imagePath);
|
|
430
|
+
const result = await client.reduceCognitiveLoad(image);
|
|
431
|
+
spinner.succeed(chalk_1.default.green('✅ Simplified'));
|
|
432
|
+
console.log(chalk_1.default.blue('\n📄 Accessible Markdown:\n'));
|
|
433
|
+
console.log(result.markdown);
|
|
434
|
+
console.log(chalk_1.default.blue('\n🔑 Key Terms:'), result.keyTerms.join(', '));
|
|
435
|
+
console.log(chalk_1.default.blue('📝 Summary:'), result.summary);
|
|
436
|
+
if (outputFile) {
|
|
437
|
+
fs_extra_1.default.writeFileSync(outputFile, result.markdown);
|
|
438
|
+
console.log(chalk_1.default.gray(`\n💾 Markdown saved to ${outputFile}`));
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
catch (err) {
|
|
442
|
+
spinner.fail(chalk_1.default.red('❌ Failed'));
|
|
443
|
+
console.error(chalk_1.default.red(err.message));
|
|
444
|
+
process.exit(1);
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
// ─── Feature 8: manipulatives ────────────────────────────────────────────────
|
|
448
|
+
async manipulatives(imagePath) {
|
|
449
|
+
const spinner = (0, ora_1.default)('Translating manipulatives...').start();
|
|
450
|
+
try {
|
|
451
|
+
const client = new index_1.EdPearClient({ apiKey: this.getApiKey() });
|
|
452
|
+
const image = this.imageToBase64(imagePath);
|
|
453
|
+
const result = await client.translateManipulatives(image);
|
|
454
|
+
spinner.succeed(chalk_1.default.green('✅ Manipulatives translated'));
|
|
455
|
+
this.printResult('Manipulatives State', result);
|
|
456
|
+
}
|
|
457
|
+
catch (err) {
|
|
458
|
+
spinner.fail(chalk_1.default.red('❌ Failed'));
|
|
459
|
+
console.error(chalk_1.default.red(err.message));
|
|
460
|
+
process.exit(1);
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
// ─── Feature 9: artifact ─────────────────────────────────────────────────────
|
|
464
|
+
async artifact(imagePath) {
|
|
465
|
+
const spinner = (0, ora_1.default)('Analyzing historical artifact...').start();
|
|
466
|
+
try {
|
|
467
|
+
const client = new index_1.EdPearClient({ apiKey: this.getApiKey() });
|
|
468
|
+
const image = this.imageToBase64(imagePath);
|
|
469
|
+
const result = await client.analyzeHistoricalArtifact(image);
|
|
470
|
+
spinner.succeed(chalk_1.default.green(`✅ Identified: ${result.title}`));
|
|
471
|
+
this.printResult('Historical Artifact Analysis', result);
|
|
472
|
+
}
|
|
473
|
+
catch (err) {
|
|
474
|
+
spinner.fail(chalk_1.default.red('❌ Failed'));
|
|
475
|
+
console.error(chalk_1.default.red(err.message));
|
|
476
|
+
process.exit(1);
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
// ─── Feature 10: storyboard ──────────────────────────────────────────────────
|
|
480
|
+
async storyboard(imagePath, outputFile) {
|
|
481
|
+
const spinner = (0, ora_1.default)('Converting storyboard to outline...').start();
|
|
482
|
+
try {
|
|
483
|
+
const client = new index_1.EdPearClient({ apiKey: this.getApiKey() });
|
|
484
|
+
const image = this.imageToBase64(imagePath);
|
|
485
|
+
const result = await client.storyboardToOutline(image);
|
|
486
|
+
spinner.succeed(chalk_1.default.green(`✅ Outline created – ${result.totalNodes} nodes`));
|
|
487
|
+
this.printResult('Storyboard Outline', result);
|
|
488
|
+
if (outputFile) {
|
|
489
|
+
fs_extra_1.default.writeJsonSync(outputFile, result, { spaces: 2 });
|
|
490
|
+
console.log(chalk_1.default.gray(`\n💾 Saved to ${outputFile}`));
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
catch (err) {
|
|
494
|
+
spinner.fail(chalk_1.default.red('❌ Failed'));
|
|
495
|
+
console.error(chalk_1.default.red(err.message));
|
|
496
|
+
process.exit(1);
|
|
497
|
+
}
|
|
272
498
|
}
|
|
273
499
|
}
|
|
274
500
|
// CLI Commands
|
|
@@ -297,5 +523,50 @@ program
|
|
|
297
523
|
.command('logout')
|
|
298
524
|
.description('Logout from EdPear')
|
|
299
525
|
.action(() => cli.logout());
|
|
526
|
+
// ─── AI Feature Commands ──────────────────────────────────────────────────────
|
|
527
|
+
program
|
|
528
|
+
.command('math-debug <image>')
|
|
529
|
+
.description('Debug a handwritten multi-step math solution and identify the exact error line')
|
|
530
|
+
.action((image) => cli.mathDebug(image));
|
|
531
|
+
program
|
|
532
|
+
.command('verify-concept <image> <concept>')
|
|
533
|
+
.description('Verify whether a photo demonstrates a specific physics or geometry concept')
|
|
534
|
+
.action((image, concept) => cli.verifyConcept(image, concept));
|
|
535
|
+
program
|
|
536
|
+
.command('lab-check <image> <experimentType>')
|
|
537
|
+
.description('Check lab equipment or circuit wiring for safety and correctness')
|
|
538
|
+
.action((image, experimentType) => cli.labCheck(image, experimentType));
|
|
539
|
+
program
|
|
540
|
+
.command('flashcards <image>')
|
|
541
|
+
.description('Generate image-occlusion style flashcards from a complex diagram')
|
|
542
|
+
.option('-o, --output <file>', 'Save flashcards JSON to a file')
|
|
543
|
+
.action((image, options) => cli.flashcards(image, options.output));
|
|
544
|
+
program
|
|
545
|
+
.command('whiteboard-to-code <image>')
|
|
546
|
+
.description('Convert whiteboard equations or flowcharts to LaTeX, Python, or pseudocode')
|
|
547
|
+
.option('-f, --format <format>', 'Target format: latex | python | pseudocode | markdown', 'latex')
|
|
548
|
+
.action((image, options) => cli.whiteboardToCode(image, options.format));
|
|
549
|
+
program
|
|
550
|
+
.command('grade-rubric <image> <constraints...>')
|
|
551
|
+
.description('Grade a drawing against a list of rubric constraint strings')
|
|
552
|
+
.action((image, constraints) => cli.gradeRubric(image, constraints));
|
|
553
|
+
program
|
|
554
|
+
.command('simplify <image>')
|
|
555
|
+
.description('Reformat dense text into dyslexia-friendly accessible markdown')
|
|
556
|
+
.option('-o, --output <file>', 'Save markdown output to a file')
|
|
557
|
+
.action((image, options) => cli.simplify(image, options.output));
|
|
558
|
+
program
|
|
559
|
+
.command('manipulatives <image>')
|
|
560
|
+
.description('Translate physical educational block arrangements to a digital state')
|
|
561
|
+
.action((image) => cli.manipulatives(image));
|
|
562
|
+
program
|
|
563
|
+
.command('artifact <image>')
|
|
564
|
+
.description('Identify and analyze a historical artifact or artwork as an AR docent')
|
|
565
|
+
.action((image) => cli.artifact(image));
|
|
566
|
+
program
|
|
567
|
+
.command('storyboard <image>')
|
|
568
|
+
.description('Convert a sticky-note storyboard or mind-map into a hierarchical JSON outline')
|
|
569
|
+
.option('-o, --output <file>', 'Save outline JSON to a file')
|
|
570
|
+
.action((image, options) => cli.storyboard(image, options.output));
|
|
300
571
|
program.parse();
|
|
301
572
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { VisionRequest, VisionResponse } from '../index';
|
|
2
|
+
import type { HistoricalArtifactResult } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Acts as an AR museum docent: identifies a historical artifact, artwork, or
|
|
5
|
+
* primary source document and returns rich contextual information.
|
|
6
|
+
*
|
|
7
|
+
* @param analyzeImage - Bound reference to EdPearClient.analyzeImage
|
|
8
|
+
* @param image - Base64-encoded image string
|
|
9
|
+
*/
|
|
10
|
+
export declare function analyzeHistoricalArtifact(analyzeImage: (req: VisionRequest) => Promise<VisionResponse>, image: string): Promise<HistoricalArtifactResult>;
|
|
11
|
+
//# sourceMappingURL=analyzeHistoricalArtifact.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyzeHistoricalArtifact.d.ts","sourceRoot":"","sources":["../../src/features/analyzeHistoricalArtifact.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAExD;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAC7C,YAAY,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,cAAc,CAAC,EAC7D,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,wBAAwB,CAAC,CAqBnC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.analyzeHistoricalArtifact = analyzeHistoricalArtifact;
|
|
4
|
+
/**
|
|
5
|
+
* Acts as an AR museum docent: identifies a historical artifact, artwork, or
|
|
6
|
+
* primary source document and returns rich contextual information.
|
|
7
|
+
*
|
|
8
|
+
* @param analyzeImage - Bound reference to EdPearClient.analyzeImage
|
|
9
|
+
* @param image - Base64-encoded image string
|
|
10
|
+
*/
|
|
11
|
+
async function analyzeHistoricalArtifact(analyzeImage, image) {
|
|
12
|
+
const prompt = `You are an expert museum docent, historian, and art critic. Analyze this image of a historical artifact, artwork, or primary source document.
|
|
13
|
+
Provide detailed educational context as if narrating for an AR museum experience.
|
|
14
|
+
Return ONLY valid JSON matching this exact schema:
|
|
15
|
+
{
|
|
16
|
+
"title": "<name or title of the artifact/work, or best description if unknown>",
|
|
17
|
+
"period": "<historical period or date range>",
|
|
18
|
+
"origin": "<geographic or cultural origin>",
|
|
19
|
+
"medium": "<materials used, e.g. 'oil on canvas', 'bronze', 'papyrus'>",
|
|
20
|
+
"techniques": ["<technique 1>", "<technique 2>"],
|
|
21
|
+
"historicalContext": "<2–4 sentences on the historical context>",
|
|
22
|
+
"significance": "<why this is historically or culturally important>",
|
|
23
|
+
"primarySourceNotes": "<if applicable – translation excerpt or document summary>",
|
|
24
|
+
"relatedTopics": ["<topic 1>", "<topic 2>"]
|
|
25
|
+
}`;
|
|
26
|
+
const response = await analyzeImage({ image, prompt, maxTokens: 768 });
|
|
27
|
+
const cleaned = response.result
|
|
28
|
+
.replace(/^```(?:json)?\s*/i, '')
|
|
29
|
+
.replace(/\s*```\s*$/, '')
|
|
30
|
+
.trim();
|
|
31
|
+
return JSON.parse(cleaned);
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=analyzeHistoricalArtifact.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyzeHistoricalArtifact.js","sourceRoot":"","sources":["../../src/features/analyzeHistoricalArtifact.ts"],"names":[],"mappings":";;AAUA,8DAwBC;AA/BD;;;;;;GAMG;AACI,KAAK,UAAU,yBAAyB,CAC7C,YAA6D,EAC7D,KAAa;IAEb,MAAM,MAAM,GAAG;;;;;;;;;;;;;EAaf,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM;SAC5B,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC;SAChC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;SACzB,IAAI,EAAE,CAAC;IACV,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAA6B,CAAC;AACzD,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { VisionRequest, VisionResponse } from '../index';
|
|
2
|
+
import type { LabCheckResult } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Verifies physical lab equipment or circuit wiring against an expected
|
|
5
|
+
* experiment type, reporting safety issues and correctness problems.
|
|
6
|
+
*
|
|
7
|
+
* @param analyzeImage - Bound reference to EdPearClient.analyzeImage
|
|
8
|
+
* @param image - Base64-encoded image string
|
|
9
|
+
* @param experimentType - Description of the target experiment (e.g. "series circuit")
|
|
10
|
+
*/
|
|
11
|
+
export declare function checkLabSetup(analyzeImage: (req: VisionRequest) => Promise<VisionResponse>, image: string, experimentType: string): Promise<LabCheckResult>;
|
|
12
|
+
//# sourceMappingURL=checkLabSetup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkLabSetup.d.ts","sourceRoot":"","sources":["../../src/features/checkLabSetup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,YAAY,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,cAAc,CAAC,EAC7D,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,cAAc,CAAC,CAkBzB"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkLabSetup = checkLabSetup;
|
|
4
|
+
/**
|
|
5
|
+
* Verifies physical lab equipment or circuit wiring against an expected
|
|
6
|
+
* experiment type, reporting safety issues and correctness problems.
|
|
7
|
+
*
|
|
8
|
+
* @param analyzeImage - Bound reference to EdPearClient.analyzeImage
|
|
9
|
+
* @param image - Base64-encoded image string
|
|
10
|
+
* @param experimentType - Description of the target experiment (e.g. "series circuit")
|
|
11
|
+
*/
|
|
12
|
+
async function checkLabSetup(analyzeImage, image, experimentType) {
|
|
13
|
+
const prompt = `You are a lab safety and accuracy inspector. The student is setting up a "${experimentType}" experiment.
|
|
14
|
+
Examine the photo of their lab setup or circuit wiring.
|
|
15
|
+
Return ONLY valid JSON matching this exact schema:
|
|
16
|
+
{
|
|
17
|
+
"overallCorrect": <true|false>,
|
|
18
|
+
"safetyIssues": ["<issue 1>", "<issue 2>"],
|
|
19
|
+
"correctnessIssues": ["<issue 1>", "<issue 2>"],
|
|
20
|
+
"recommendations": ["<recommendation 1>", "<recommendation 2>"],
|
|
21
|
+
"riskLevel": "<low|medium|high>"
|
|
22
|
+
}
|
|
23
|
+
If there are no issues in a list, return an empty array [].`;
|
|
24
|
+
const response = await analyzeImage({ image, prompt, maxTokens: 512 });
|
|
25
|
+
const cleaned = response.result
|
|
26
|
+
.replace(/^```(?:json)?\s*/i, '')
|
|
27
|
+
.replace(/\s*```\s*$/, '')
|
|
28
|
+
.trim();
|
|
29
|
+
return JSON.parse(cleaned);
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=checkLabSetup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkLabSetup.js","sourceRoot":"","sources":["../../src/features/checkLabSetup.ts"],"names":[],"mappings":";;AAWA,sCAsBC;AA9BD;;;;;;;GAOG;AACI,KAAK,UAAU,aAAa,CACjC,YAA6D,EAC7D,KAAa,EACb,cAAsB;IAEtB,MAAM,MAAM,GAAG,6EAA6E,cAAc;;;;;;;;;;4DAUhD,CAAC;IAC3D,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM;SAC5B,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC;SAChC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;SACzB,IAAI,EAAE,CAAC;IACV,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAmB,CAAC;AAC/C,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { VisionRequest, VisionResponse } from '../index';
|
|
2
|
+
import type { MathDebugResult } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Analyzes a photo of multi-step handwritten math and pinpoints the exact line
|
|
5
|
+
* containing an error, returning the correct formula and a full explanation.
|
|
6
|
+
*
|
|
7
|
+
* @param analyzeImage - Bound reference to EdPearClient.analyzeImage
|
|
8
|
+
* @param image - Base64-encoded image string
|
|
9
|
+
*/
|
|
10
|
+
export declare function debugMathSolution(analyzeImage: (req: VisionRequest) => Promise<VisionResponse>, image: string): Promise<MathDebugResult>;
|
|
11
|
+
//# sourceMappingURL=debugMathSolution.d.ts.map
|