@goscribe/server 1.0.8 โ†’ 1.0.10

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 (58) hide show
  1. package/AUTH_FRONTEND_SPEC.md +21 -0
  2. package/CHAT_FRONTEND_SPEC.md +474 -0
  3. package/DATABASE_SETUP.md +165 -0
  4. package/MEETINGSUMMARY_FRONTEND_SPEC.md +28 -0
  5. package/PODCAST_FRONTEND_SPEC.md +595 -0
  6. package/STUDYGUIDE_FRONTEND_SPEC.md +18 -0
  7. package/WORKSHEETS_FRONTEND_SPEC.md +26 -0
  8. package/WORKSPACE_FRONTEND_SPEC.md +47 -0
  9. package/dist/lib/ai-session.d.ts +26 -0
  10. package/dist/lib/ai-session.js +343 -0
  11. package/dist/lib/inference.d.ts +2 -0
  12. package/dist/lib/inference.js +21 -0
  13. package/dist/lib/pusher.d.ts +14 -0
  14. package/dist/lib/pusher.js +94 -0
  15. package/dist/lib/storage.d.ts +10 -2
  16. package/dist/lib/storage.js +63 -6
  17. package/dist/routers/_app.d.ts +840 -58
  18. package/dist/routers/_app.js +6 -0
  19. package/dist/routers/ai-session.d.ts +0 -0
  20. package/dist/routers/ai-session.js +1 -0
  21. package/dist/routers/auth.d.ts +1 -0
  22. package/dist/routers/auth.js +6 -4
  23. package/dist/routers/chat.d.ts +171 -0
  24. package/dist/routers/chat.js +270 -0
  25. package/dist/routers/flashcards.d.ts +37 -0
  26. package/dist/routers/flashcards.js +128 -0
  27. package/dist/routers/meetingsummary.d.ts +0 -0
  28. package/dist/routers/meetingsummary.js +377 -0
  29. package/dist/routers/podcast.d.ts +277 -0
  30. package/dist/routers/podcast.js +847 -0
  31. package/dist/routers/studyguide.d.ts +54 -0
  32. package/dist/routers/studyguide.js +125 -0
  33. package/dist/routers/worksheets.d.ts +138 -51
  34. package/dist/routers/worksheets.js +317 -7
  35. package/dist/routers/workspace.d.ts +162 -7
  36. package/dist/routers/workspace.js +440 -8
  37. package/dist/server.js +6 -2
  38. package/package.json +11 -4
  39. package/prisma/migrations/20250826124819_add_worksheet_difficulty_and_estimated_time/migration.sql +213 -0
  40. package/prisma/migrations/20250826133236_add_worksheet_question_progress/migration.sql +31 -0
  41. package/prisma/migrations/migration_lock.toml +3 -0
  42. package/prisma/schema.prisma +87 -6
  43. package/prisma/seed.mjs +135 -0
  44. package/src/lib/ai-session.ts +412 -0
  45. package/src/lib/inference.ts +21 -0
  46. package/src/lib/pusher.ts +104 -0
  47. package/src/lib/storage.ts +89 -6
  48. package/src/routers/_app.ts +6 -0
  49. package/src/routers/auth.ts +8 -4
  50. package/src/routers/chat.ts +275 -0
  51. package/src/routers/flashcards.ts +142 -0
  52. package/src/routers/meetingsummary.ts +416 -0
  53. package/src/routers/podcast.ts +934 -0
  54. package/src/routers/studyguide.ts +144 -0
  55. package/src/routers/worksheets.ts +336 -7
  56. package/src/routers/workspace.ts +487 -8
  57. package/src/server.ts +7 -2
  58. package/test-ai-integration.js +134 -0
@@ -0,0 +1,134 @@
1
+ // Test script for AI backend integration
2
+ // Run this with: node test-ai-integration.js
3
+
4
+ const AI_SERVICE_URL = 'https://txp-tckxn64wn5vtgip72-kzoemq8qw-custom.service.onethingrobot.com/upload';
5
+ const AI_RESPONSE_URL = 'https://txp-tckxn64wn5vtgip72-kzoemq8qw-custom.service.onethingrobot.com/last_response';
6
+
7
+ async function testAIBackend() {
8
+ console.log('๐Ÿงช Testing AI Backend Integration...\n');
9
+
10
+ try {
11
+ // Test 1: Initialize Session
12
+ console.log('1๏ธโƒฃ Testing Session Initialization...');
13
+ const sessionId = `test_session_${Date.now()}`;
14
+ const formData1 = new FormData();
15
+ formData1.append('command', 'init_session');
16
+ formData1.append('id', sessionId);
17
+
18
+ const response1 = await fetch(AI_SERVICE_URL, {
19
+ method: 'POST',
20
+ body: formData1,
21
+ });
22
+
23
+ if (response1.ok) {
24
+ const result1 = await response1.json();
25
+ console.log('โœ… Session initialized:', result1);
26
+ } else {
27
+ console.log('โŒ Session init failed:', response1.status, response1.statusText);
28
+ return;
29
+ }
30
+
31
+ // Test 2: Set Instruction
32
+ console.log('\n2๏ธโƒฃ Testing Instruction Setting...');
33
+ const formData2 = new FormData();
34
+ formData2.append('command', 'set_instruct');
35
+ formData2.append('instruction_text', 'Create flashcards about calculus derivatives');
36
+
37
+ const response2 = await fetch(AI_SERVICE_URL, {
38
+ method: 'POST',
39
+ body: formData2,
40
+ });
41
+
42
+ if (response2.ok) {
43
+ const result2 = await response2.json();
44
+ console.log('โœ… Instruction set:', result2);
45
+ } else {
46
+ console.log('โŒ Instruction setting failed:', response2.status, response2.statusText);
47
+ }
48
+
49
+ // Test 3: Start LLM Session
50
+ console.log('\n3๏ธโƒฃ Testing LLM Session Start...');
51
+ const formData3 = new FormData();
52
+ formData3.append('command', 'start_LLM_session');
53
+
54
+ const response3 = await fetch(AI_SERVICE_URL, {
55
+ method: 'POST',
56
+ body: formData3,
57
+ });
58
+
59
+ if (response3.ok) {
60
+ const result3 = await response3.json();
61
+ console.log('โœ… LLM session started:', result3);
62
+ } else {
63
+ console.log('โŒ LLM session start failed:', response3.status, response3.statusText);
64
+ }
65
+
66
+ // Test 4: Generate Study Guide
67
+ console.log('\n4๏ธโƒฃ Testing Study Guide Generation...');
68
+ const formData4 = new FormData();
69
+ formData4.append('command', 'generate_study_guide');
70
+
71
+ const response4 = await fetch(AI_SERVICE_URL, {
72
+ method: 'POST',
73
+ body: formData4,
74
+ });
75
+
76
+ if (response4.ok) {
77
+ console.log('โœ… Study guide generation started');
78
+
79
+ // Wait a bit for generation to complete
80
+ await new Promise(resolve => setTimeout(resolve, 3000));
81
+
82
+ // Get the generated content
83
+ const contentResponse = await fetch(AI_RESPONSE_URL);
84
+ if (contentResponse.ok) {
85
+ const content = await contentResponse.text();
86
+ console.log('๐Ÿ“š Generated Study Guide Preview:');
87
+ console.log(content.substring(0, 200) + '...');
88
+ } else {
89
+ console.log('โŒ Failed to retrieve generated content');
90
+ }
91
+ } else {
92
+ console.log('โŒ Study guide generation failed:', response4.status, response4.statusText);
93
+ }
94
+
95
+ // Test 5: Generate Flashcard Questions
96
+ console.log('\n5๏ธโƒฃ Testing Flashcard Generation...');
97
+ const formData5 = new FormData();
98
+ formData5.append('command', 'generate_flashcard_questions');
99
+ formData5.append('num_questions', '3');
100
+ formData5.append('difficulty', 'medium');
101
+
102
+ const response5 = await fetch(AI_SERVICE_URL, {
103
+ method: 'POST',
104
+ body: formData5,
105
+ });
106
+
107
+ if (response5.ok) {
108
+ console.log('โœ… Flashcard generation started');
109
+
110
+ // Wait a bit for generation to complete
111
+ await new Promise(resolve => setTimeout(resolve, 3000));
112
+
113
+ // Get the generated content
114
+ const contentResponse = await fetch(AI_RESPONSE_URL);
115
+ if (contentResponse.ok) {
116
+ const content = await contentResponse.text();
117
+ console.log('๐Ÿƒ Generated Flashcards Preview:');
118
+ console.log(content.substring(0, 200) + '...');
119
+ } else {
120
+ console.log('โŒ Failed to retrieve generated content');
121
+ }
122
+ } else {
123
+ console.log('โŒ Flashcard generation failed:', response5.status, response5.statusText);
124
+ }
125
+
126
+ console.log('\n๐ŸŽ‰ AI Backend Integration Test Complete!');
127
+
128
+ } catch (error) {
129
+ console.error('โŒ Test failed with error:', error);
130
+ }
131
+ }
132
+
133
+ // Run the test
134
+ testAIBackend();