@goscribe/server 1.0.7 โ 1.0.9
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/AUTH_FRONTEND_SPEC.md +21 -0
- package/CHAT_FRONTEND_SPEC.md +474 -0
- package/MEETINGSUMMARY_FRONTEND_SPEC.md +28 -0
- package/PODCAST_FRONTEND_SPEC.md +595 -0
- package/STUDYGUIDE_FRONTEND_SPEC.md +18 -0
- package/WORKSHEETS_FRONTEND_SPEC.md +26 -0
- package/WORKSPACE_FRONTEND_SPEC.md +47 -0
- package/dist/context.d.ts +1 -1
- package/dist/lib/ai-session.d.ts +26 -0
- package/dist/lib/ai-session.js +343 -0
- package/dist/lib/auth.js +10 -6
- package/dist/lib/inference.d.ts +2 -0
- package/dist/lib/inference.js +21 -0
- package/dist/lib/pusher.d.ts +14 -0
- package/dist/lib/pusher.js +94 -0
- package/dist/lib/storage.d.ts +10 -2
- package/dist/lib/storage.js +63 -6
- package/dist/routers/_app.d.ts +878 -100
- package/dist/routers/_app.js +8 -2
- package/dist/routers/ai-session.d.ts +0 -0
- package/dist/routers/ai-session.js +1 -0
- package/dist/routers/auth.d.ts +13 -11
- package/dist/routers/auth.js +50 -21
- package/dist/routers/chat.d.ts +171 -0
- package/dist/routers/chat.js +270 -0
- package/dist/routers/flashcards.d.ts +51 -39
- package/dist/routers/flashcards.js +143 -31
- package/dist/routers/meetingsummary.d.ts +0 -0
- package/dist/routers/meetingsummary.js +377 -0
- package/dist/routers/podcast.d.ts +277 -0
- package/dist/routers/podcast.js +847 -0
- package/dist/routers/studyguide.d.ts +54 -0
- package/dist/routers/studyguide.js +125 -0
- package/dist/routers/worksheets.d.ts +147 -40
- package/dist/routers/worksheets.js +348 -33
- package/dist/routers/workspace.d.ts +163 -8
- package/dist/routers/workspace.js +453 -8
- package/dist/server.d.ts +1 -1
- package/dist/server.js +7 -2
- package/dist/trpc.d.ts +5 -5
- package/package.json +11 -3
- package/prisma/migrations/20250826124819_add_worksheet_difficulty_and_estimated_time/migration.sql +213 -0
- package/prisma/migrations/20250826133236_add_worksheet_question_progress/migration.sql +31 -0
- package/prisma/migrations/migration_lock.toml +3 -0
- package/prisma/schema.prisma +87 -6
- package/prisma/seed.mjs +135 -0
- package/src/lib/ai-session.ts +411 -0
- package/src/lib/auth.ts +1 -1
- package/src/lib/inference.ts +21 -0
- package/src/lib/pusher.ts +104 -0
- package/src/lib/storage.ts +89 -6
- package/src/routers/_app.ts +6 -0
- package/src/routers/auth.ts +8 -4
- package/src/routers/chat.ts +275 -0
- package/src/routers/flashcards.ts +151 -33
- package/src/routers/meetingsummary.ts +416 -0
- package/src/routers/podcast.ts +934 -0
- package/src/routers/studyguide.ts +144 -0
- package/src/routers/worksheets.ts +346 -18
- package/src/routers/workspace.ts +500 -8
- package/src/server.ts +7 -2
- package/test-ai-integration.js +134 -0
- package/dist/context.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/lib/auth.d.ts.map +0 -1
- package/dist/lib/file.d.ts.map +0 -1
- package/dist/lib/prisma.d.ts.map +0 -1
- package/dist/lib/storage.d.ts.map +0 -1
- package/dist/routers/_app.d.ts.map +0 -1
- package/dist/routers/auth.d.ts.map +0 -1
- package/dist/routers/sample.js +0 -21
- package/dist/routers/workspace.d.ts.map +0 -1
- package/dist/server.d.ts.map +0 -1
- package/dist/trpc.d.ts.map +0 -1
|
@@ -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();
|
package/dist/context.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAGjF,wBAAsB,aAAa,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,2BAA2B;;;;;GAI5E;AAED,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/lib/auth.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,UAAU,0HA0BnB,CAAA"}
|
package/dist/lib/file.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../src/lib/file.ts"],"names":[],"mappings":""}
|
package/dist/lib/prisma.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prisma.d.ts","sourceRoot":"","sources":["../../src/lib/prisma.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAI9C,eAAO,MAAM,MAAM,gIAIf,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/lib/storage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,eAAO,MAAM,OAAO,SAMlB,CAAC;AAEH,eAAO,MAAM,MAAM,wCAA0C,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_app.d.ts","sourceRoot":"","sources":["../../src/routers/_app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAKrE,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAGpB,CAAC;AAGH,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC;AACzC,MAAM,MAAM,YAAY,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACxD,MAAM,MAAM,aAAa,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/routers/auth.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;GA4Bf,CAAC"}
|
package/dist/routers/sample.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.sampleRouter = void 0;
|
|
4
|
-
const zod_1 = require("zod");
|
|
5
|
-
const trpc_1 = require("../trpc");
|
|
6
|
-
exports.sampleRouter = (0, trpc_1.router)({
|
|
7
|
-
// GET-like: query without input
|
|
8
|
-
hello: trpc_1.publicProcedure.query(() => {
|
|
9
|
-
return { message: 'Hello from tRPC + Express ๐' };
|
|
10
|
-
}),
|
|
11
|
-
// Mutation with Zod input
|
|
12
|
-
echo: trpc_1.publicProcedure
|
|
13
|
-
.input(zod_1.z.object({ text: zod_1.z.string().min(1) }))
|
|
14
|
-
.mutation(({ input }) => {
|
|
15
|
-
return { echoed: input.text };
|
|
16
|
-
}),
|
|
17
|
-
// Authed query
|
|
18
|
-
me: trpc_1.authedProcedure.query(({ ctx }) => {
|
|
19
|
-
return { userId: ctx.user.id, role: ctx.user.role };
|
|
20
|
-
}),
|
|
21
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/routers/workspace.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuJpB,CAAC"}
|
package/dist/server.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":""}
|
package/dist/trpc.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trpc.d.ts","sourceRoot":"","sources":["../src/trpc.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,MAAM;;;;;;;;;;EAAW,CAAC;AAC/B,eAAO,MAAM,UAAU;;;;;;;;;;sCAAe,CAAC;AACvC,eAAO,MAAM,eAAe;;;;;yLAAc,CAAC;AAsB3C,gCAAgC;AAChC,eAAO,MAAM,eAAe;;;;;;;;;;yKAAgC,CAAC"}
|