@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.
Files changed (52) hide show
  1. package/README.md +141 -0
  2. package/dist/cli.js +271 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/features/analyzeHistoricalArtifact.d.ts +11 -0
  5. package/dist/features/analyzeHistoricalArtifact.d.ts.map +1 -0
  6. package/dist/features/analyzeHistoricalArtifact.js +33 -0
  7. package/dist/features/analyzeHistoricalArtifact.js.map +1 -0
  8. package/dist/features/checkLabSetup.d.ts +12 -0
  9. package/dist/features/checkLabSetup.d.ts.map +1 -0
  10. package/dist/features/checkLabSetup.js +31 -0
  11. package/dist/features/checkLabSetup.js.map +1 -0
  12. package/dist/features/debugMathSolution.d.ts +11 -0
  13. package/dist/features/debugMathSolution.d.ts.map +1 -0
  14. package/dist/features/debugMathSolution.js +29 -0
  15. package/dist/features/debugMathSolution.js.map +1 -0
  16. package/dist/features/generateSpatialFlashcards.d.ts +11 -0
  17. package/dist/features/generateSpatialFlashcards.d.ts.map +1 -0
  18. package/dist/features/generateSpatialFlashcards.js +36 -0
  19. package/dist/features/generateSpatialFlashcards.js.map +1 -0
  20. package/dist/features/gradeVisualRubric.d.ts +12 -0
  21. package/dist/features/gradeVisualRubric.d.ts.map +1 -0
  22. package/dist/features/gradeVisualRubric.js +42 -0
  23. package/dist/features/gradeVisualRubric.js.map +1 -0
  24. package/dist/features/reduceCognitiveLoad.d.ts +11 -0
  25. package/dist/features/reduceCognitiveLoad.d.ts.map +1 -0
  26. package/dist/features/reduceCognitiveLoad.js +33 -0
  27. package/dist/features/reduceCognitiveLoad.js.map +1 -0
  28. package/dist/features/storyboardToOutline.d.ts +11 -0
  29. package/dist/features/storyboardToOutline.d.ts.map +1 -0
  30. package/dist/features/storyboardToOutline.js +37 -0
  31. package/dist/features/storyboardToOutline.js.map +1 -0
  32. package/dist/features/translateManipulatives.d.ts +11 -0
  33. package/dist/features/translateManipulatives.d.ts.map +1 -0
  34. package/dist/features/translateManipulatives.js +37 -0
  35. package/dist/features/translateManipulatives.js.map +1 -0
  36. package/dist/features/types.d.ts +101 -0
  37. package/dist/features/types.d.ts.map +1 -0
  38. package/dist/features/types.js +5 -0
  39. package/dist/features/types.js.map +1 -0
  40. package/dist/features/verifyRealWorldConcept.d.ts +12 -0
  41. package/dist/features/verifyRealWorldConcept.d.ts.map +1 -0
  42. package/dist/features/verifyRealWorldConcept.js +31 -0
  43. package/dist/features/verifyRealWorldConcept.js.map +1 -0
  44. package/dist/features/whiteboardToCode.d.ts +12 -0
  45. package/dist/features/whiteboardToCode.d.ts.map +1 -0
  46. package/dist/features/whiteboardToCode.js +29 -0
  47. package/dist/features/whiteboardToCode.js.map +1 -0
  48. package/dist/index.d.ts +53 -0
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +111 -0
  51. package/dist/index.js.map +1 -1
  52. 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