@myassis/gateway 1.0.19 → 1.0.21

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 (66) hide show
  1. package/dist/api/index.js +27 -19
  2. package/dist/cli.js +10 -5
  3. package/dist/config/index.js +34 -11
  4. package/dist/index.js +1 -2
  5. package/dist/main.js +76 -71
  6. package/dist/middleware/auth.js +9 -5
  7. package/dist/middleware/errorHandler.js +9 -4
  8. package/dist/routes/agent.js +39 -37
  9. package/dist/routes/auth.js +32 -30
  10. package/dist/routes/chat.js +7 -5
  11. package/dist/routes/config.js +5 -3
  12. package/dist/routes/models.js +28 -23
  13. package/dist/routes/service.js +29 -24
  14. package/dist/routes/settings.js +26 -21
  15. package/dist/routes/skillHub.js +22 -17
  16. package/dist/routes/skills.js +25 -20
  17. package/dist/routes/tasks.js +24 -19
  18. package/dist/routes/upload.js +24 -17
  19. package/dist/routes/version.js +20 -19
  20. package/dist/services/HMSPushService.js +4 -1
  21. package/dist/services/LocalTaskService.js +12 -9
  22. package/dist/services/NotificationService.js +14 -11
  23. package/dist/services/ServiceManager.js +77 -65
  24. package/dist/services/TaskSchedulerService.js +33 -30
  25. package/dist/services/TaskService.js +27 -24
  26. package/dist/services/WebSocketService.js +14 -11
  27. package/dist/services/agent/Agent.js +13 -9
  28. package/dist/services/agent/AgentManager.js +32 -24
  29. package/dist/services/agent/AgentStore.js +7 -3
  30. package/dist/services/dataService.js +72 -69
  31. package/dist/services/index.js +25 -9
  32. package/dist/services/llm/LLMClient.js +17 -9
  33. package/dist/services/memory/MemoryManager.js +22 -18
  34. package/dist/services/model/ModelCapabilities.js +11 -7
  35. package/dist/services/model/index.js +17 -1
  36. package/dist/services/models.js +5 -1
  37. package/dist/services/session/MigrationManager.js +18 -11
  38. package/dist/services/session/Session.js +33 -29
  39. package/dist/services/session/SessionManager.js +26 -21
  40. package/dist/services/session/SessionStore.js +32 -25
  41. package/dist/services/session/index.js +8 -2
  42. package/dist/services/skills.js +4 -1
  43. package/dist/services/systemPrompt.js +23 -16
  44. package/dist/services/task/PushTokenStore.js +9 -5
  45. package/dist/services/task/TaskStore.js +10 -6
  46. package/dist/services/tools/calculator.js +4 -1
  47. package/dist/services/tools/edit.js +16 -10
  48. package/dist/services/tools/exec.js +25 -16
  49. package/dist/services/tools/fetch.js +30 -4
  50. package/dist/services/tools/file.js +41 -35
  51. package/dist/services/tools/index.js +44 -24
  52. package/dist/services/tools/keyboard.js +41 -38
  53. package/dist/services/tools/model.js +12 -9
  54. package/dist/services/tools/mouse.js +12 -9
  55. package/dist/services/tools/screenshot.js +9 -3
  56. package/dist/services/tools/search.js +34 -4
  57. package/dist/services/tools/sessionsSpawn.js +11 -8
  58. package/dist/services/tools/skill.js +19 -16
  59. package/dist/services/tools/task.js +12 -9
  60. package/dist/services/tools/types.js +2 -1
  61. package/dist/services/tools/webFetch.js +34 -4
  62. package/dist/stores/authStore.js +25 -19
  63. package/dist/stores/index.js +9 -3
  64. package/dist/stores/memoryStore.js +5 -2
  65. package/dist/stores/persistStore.js +20 -14
  66. package/package.json +11 -20
@@ -1,26 +1,28 @@
1
- import { Router } from 'express';
2
- import { requireAuth } from '../middleware/auth.js';
3
- import { runWithToken } from '../api/index.js';
4
- import { getSessionManager } from '../services/session/index.js';
5
- import { initAgentManager, agentManagerMap } from '../services/agent/AgentManager.js';
6
- import { AgentStore } from '../services/agent/AgentStore.js';
7
- import { getLogger } from '@myassis/shared';
8
- const logger = getLogger('AgentRoutes');
9
- import { sessionStore } from '../services/session/SessionStore.js';
10
- const router = Router();
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const express_1 = require("express");
4
+ const auth_js_1 = require("../middleware/auth.js");
5
+ const index_js_1 = require("../api/index.js");
6
+ const index_js_2 = require("../services/session/index.js");
7
+ const AgentManager_js_1 = require("../services/agent/AgentManager.js");
8
+ const AgentStore_js_1 = require("../services/agent/AgentStore.js");
9
+ const shared_1 = require("@myassis/shared");
10
+ const logger = (0, shared_1.getLogger)('AgentRoutes');
11
+ const SessionStore_js_1 = require("../services/session/SessionStore.js");
12
+ const router = (0, express_1.Router)();
11
13
  // 所有路由需要认证
12
- router.use(requireAuth, (req, _res, next) => {
13
- void runWithToken(req.token, async () => { next(); });
14
+ router.use(auth_js_1.requireAuth, (req, _res, next) => {
15
+ void (0, index_js_1.runWithToken)(req.token, async () => { next(); });
14
16
  });
15
17
  // Middleware: ensure agentManager is initialized
16
18
  function ensureAgentManager(req, res, next) {
17
19
  try {
18
20
  // Get or create AgentStore using SessionStore's db instance
19
- const db = sessionStore.getDb();
20
- const agentStore = new AgentStore(db);
21
- const agentManager = initAgentManager(agentStore, req.userId);
21
+ const db = SessionStore_js_1.sessionStore.getDb();
22
+ const agentStore = new AgentStore_js_1.AgentStore(db);
23
+ const agentManager = (0, AgentManager_js_1.initAgentManager)(agentStore, req.userId);
22
24
  agentManager.initialize();
23
- req.agentManager = agentManagerMap;
25
+ req.agentManager = AgentManager_js_1.agentManagerMap;
24
26
  next();
25
27
  }
26
28
  catch (error) {
@@ -36,7 +38,7 @@ function ensureAgentManager(req, res, next) {
36
38
  router.get('/list', ensureAgentManager, async (req, res) => {
37
39
  try {
38
40
  const userId = req.userId;
39
- const agentManager = agentManagerMap.get(userId);
41
+ const agentManager = AgentManager_js_1.agentManagerMap.get(userId);
40
42
  const agentList = agentManager.getAgentList();
41
43
  res.json({ success: true, data: agentList });
42
44
  }
@@ -52,7 +54,7 @@ router.get('/list', ensureAgentManager, async (req, res) => {
52
54
  router.get('/:id', ensureAgentManager, async (req, res) => {
53
55
  try {
54
56
  const userId = req.userId;
55
- const agentManager = agentManagerMap.get(userId);
57
+ const agentManager = AgentManager_js_1.agentManagerMap.get(userId);
56
58
  const agent = agentManager.getAgent(req.params.id);
57
59
  if (!agent) {
58
60
  return res.status(404).json({ success: false, error: 'Agent not found' });
@@ -87,7 +89,7 @@ router.post('/create', ensureAgentManager, async (req, res) => {
87
89
  if (!name) {
88
90
  return res.status(400).json({ success: false, error: 'Name is required' });
89
91
  }
90
- const agentManager = agentManagerMap.get(userId);
92
+ const agentManager = AgentManager_js_1.agentManagerMap.get(userId);
91
93
  const agent = agentManager.createAgent({
92
94
  name,
93
95
  description,
@@ -123,7 +125,7 @@ router.put('/:id', ensureAgentManager, async (req, res) => {
123
125
  const userId = req.userId;
124
126
  logger.debug('update agent', req.body);
125
127
  const { name, description, systemPrompt, avatar, config } = req.body;
126
- const agentManager = agentManagerMap.get(userId);
128
+ const agentManager = AgentManager_js_1.agentManagerMap.get(userId);
127
129
  const agent = agentManager.updateAgent(req.params.id, {
128
130
  name,
129
131
  description,
@@ -159,7 +161,7 @@ router.put('/:id', ensureAgentManager, async (req, res) => {
159
161
  router.delete('/:id', ensureAgentManager, async (req, res) => {
160
162
  try {
161
163
  const userId = req.userId;
162
- const agentManager = agentManagerMap.get(userId);
164
+ const agentManager = AgentManager_js_1.agentManagerMap.get(userId);
163
165
  const deleted = agentManager.deleteAgent(req.params.id);
164
166
  if (!deleted) {
165
167
  return res.status(404).json({ success: false, error: 'Agent not found' });
@@ -180,7 +182,7 @@ router.delete('/:id', ensureAgentManager, async (req, res) => {
180
182
  router.get('/current', ensureAgentManager, async (req, res) => {
181
183
  try {
182
184
  const userId = req.userId;
183
- const agentManager = agentManagerMap.get(userId);
185
+ const agentManager = AgentManager_js_1.agentManagerMap.get(userId);
184
186
  const current = agentManager.getCurrentAgent();
185
187
  res.json({
186
188
  success: true, data: current ? {
@@ -209,7 +211,7 @@ router.post('/set-current', ensureAgentManager, async (req, res) => {
209
211
  try {
210
212
  const userId = req.userId;
211
213
  const { agentId } = req.body;
212
- const agentManager = agentManagerMap.get(userId);
214
+ const agentManager = AgentManager_js_1.agentManagerMap.get(userId);
213
215
  agentManager.setCurrentAgent(agentId || null);
214
216
  res.json({ success: true });
215
217
  }
@@ -226,7 +228,7 @@ router.post('/set-current', ensureAgentManager, async (req, res) => {
226
228
  router.get('/:id/sessions', ensureAgentManager, async (req, res) => {
227
229
  try {
228
230
  const userId = req.userId;
229
- const agentManager = agentManagerMap.get(userId);
231
+ const agentManager = AgentManager_js_1.agentManagerMap.get(userId);
230
232
  const agent = agentManager.getAgent(req.params.id);
231
233
  if (!agent) {
232
234
  return res.status(404).json({ success: false, error: 'Agent not found' });
@@ -246,7 +248,7 @@ router.get('/:id/sessions', ensureAgentManager, async (req, res) => {
246
248
  router.post('/:id/sessions', ensureAgentManager, async (req, res) => {
247
249
  try {
248
250
  const userId = req.userId;
249
- const agentManager = agentManagerMap.get(userId);
251
+ const agentManager = AgentManager_js_1.agentManagerMap.get(userId);
250
252
  const agent = agentManager.getAgent(req.params.id);
251
253
  if (!agent) {
252
254
  return res.status(404).json({ success: false, error: 'Agent not found' });
@@ -279,7 +281,7 @@ router.post('/:id/sessions', ensureAgentManager, async (req, res) => {
279
281
  router.put('/:id/sessions/:sessionId', ensureAgentManager, async (req, res) => {
280
282
  try {
281
283
  const userId = req.userId;
282
- const agentManager = agentManagerMap.get(userId);
284
+ const agentManager = AgentManager_js_1.agentManagerMap.get(userId);
283
285
  const agent = agentManager.getAgent(req.params.id);
284
286
  if (!agent) {
285
287
  return res.status(404).json({ success: false, error: 'Agent not found' });
@@ -309,7 +311,7 @@ router.put('/:id/sessions/:sessionId', ensureAgentManager, async (req, res) => {
309
311
  router.delete('/:id/sessions/:sessionId', ensureAgentManager, async (req, res) => {
310
312
  try {
311
313
  const userId = req.userId;
312
- const agentManager = agentManagerMap.get(userId);
314
+ const agentManager = AgentManager_js_1.agentManagerMap.get(userId);
313
315
  const agent = agentManager.getAgent(req.params.id);
314
316
  if (!agent) {
315
317
  return res.status(404).json({ success: false, error: 'Agent not found' });
@@ -334,7 +336,7 @@ router.get('/sessions/:sessionId/messages', ensureAgentManager, async (req, res)
334
336
  const page = parseInt(req.query.page) || 1;
335
337
  const pageSize = parseInt(req.query.pageSize) || 20;
336
338
  // Find session directly
337
- const session = getSessionManager(userId).getSession(sessionId);
339
+ const session = (0, index_js_2.getSessionManager)(userId).getSession(sessionId);
338
340
  if (session) {
339
341
  session.loadMessages(); // Ensure messages are loaded
340
342
  const messages = session.getMessagesByPage(page, pageSize);
@@ -365,7 +367,7 @@ router.delete('/sessions/:sessionId/messages/:messageId', ensureAgentManager, as
365
367
  const userId = req.userId;
366
368
  const { sessionId, messageId } = req.params;
367
369
  // Find session directly
368
- const session = getSessionManager(userId).getSession(sessionId);
370
+ const session = (0, index_js_2.getSessionManager)(userId).getSession(sessionId);
369
371
  if (session) {
370
372
  session.deleteMessage(messageId);
371
373
  return res.json({ success: true });
@@ -389,7 +391,7 @@ router.put('/sessions/:sessionId/messages/:messageId/feedback', ensureAgentManag
389
391
  if (feedback !== null && feedback !== 'like' && feedback !== 'dislike') {
390
392
  return res.status(400).json({ success: false, error: 'Invalid feedback value. Must be "like", "dislike", or null' });
391
393
  }
392
- const session = getSessionManager(userId).getSession(sessionId);
394
+ const session = (0, index_js_2.getSessionManager)(userId).getSession(sessionId);
393
395
  if (session) {
394
396
  session.updateMessageFeedback(messageId, feedback);
395
397
  return res.json({ success: true, data: { messageId, feedback } });
@@ -410,7 +412,7 @@ router.delete('/sessions/:sessionId/messages', ensureAgentManager, async (req, r
410
412
  const userId = req.userId;
411
413
  const { sessionId } = req.params;
412
414
  // Find session directly
413
- const session = getSessionManager(userId).getSession(sessionId);
415
+ const session = (0, index_js_2.getSessionManager)(userId).getSession(sessionId);
414
416
  if (session) {
415
417
  session.clearMessages();
416
418
  return res.json({ success: true });
@@ -435,7 +437,7 @@ router.post('/sessions/:sessionId/stream', ensureAgentManager, async (req, res)
435
437
  return res.status(400).json({ success: false, error: 'Content is required' });
436
438
  }
437
439
  // Find session directly
438
- const session = getSessionManager(userId).getSession(sessionId);
440
+ const session = (0, index_js_2.getSessionManager)(userId).getSession(sessionId);
439
441
  if (session) {
440
442
  // Set SSE headers
441
443
  res.setHeader('Content-Type', 'text/event-stream');
@@ -475,7 +477,7 @@ router.post('/sessions/:sessionId/reset', async (req, res) => {
475
477
  try {
476
478
  const userId = req.userId;
477
479
  const { sessionId } = req.params;
478
- const stopped = getSessionManager(userId).stopSession(sessionId);
480
+ const stopped = (0, index_js_2.getSessionManager)(userId).stopSession(sessionId);
479
481
  res.json({ success: true, data: { stopped } });
480
482
  }
481
483
  catch (error) {
@@ -492,9 +494,9 @@ router.post('/sessions/:sessionId/set-current', async (req, res) => {
492
494
  try {
493
495
  const userId = req.userId;
494
496
  const { sessionId } = req.params;
495
- getSessionManager(userId).setCurrentSession(sessionId);
497
+ (0, index_js_2.getSessionManager)(userId).setCurrentSession(sessionId);
496
498
  // 同步清除 session 的未读数
497
- const session = getSessionManager(userId).getSession(sessionId);
499
+ const session = (0, index_js_2.getSessionManager)(userId).getSession(sessionId);
498
500
  if (session) {
499
501
  session.clearUnreadCount();
500
502
  }
@@ -513,7 +515,7 @@ router.post('/sessions/:sessionId/set-current', async (req, res) => {
513
515
  router.get('/sessions/unread-count', async (req, res) => {
514
516
  try {
515
517
  const userId = req.userId;
516
- const total = getSessionManager(userId).getTotalUnreadCount();
518
+ const total = (0, index_js_2.getSessionManager)(userId).getTotalUnreadCount();
517
519
  res.json({ success: true, data: { total } });
518
520
  }
519
521
  catch (error) {
@@ -521,4 +523,4 @@ router.get('/sessions/unread-count', async (req, res) => {
521
523
  res.status(500).json({ success: false, error: 'Failed to get unread count' });
522
524
  }
523
525
  });
524
- export default router;
526
+ exports.default = router;
@@ -1,14 +1,16 @@
1
- import { Router } from 'express';
2
- import { authApi } from '../api/index.js';
3
- import { authStore } from '../stores/index.js';
4
- import { requireAuth } from '../middleware/auth.js';
5
- import { runWithToken } from '../api/index.js';
6
- import { getLogger } from '@myassis/shared';
7
- import { getPlatform } from '@myassis/shared/dist/utils/system.js';
8
- const logger = getLogger('auth');
9
- const router = Router();
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const express_1 = require("express");
4
+ const index_js_1 = require("../api/index.js");
5
+ const index_js_2 = require("../stores/index.js");
6
+ const auth_js_1 = require("../middleware/auth.js");
7
+ const index_js_3 = require("../api/index.js");
8
+ const shared_1 = require("@myassis/shared");
9
+ const system_js_1 = require("@myassis/shared/dist/utils/system.js");
10
+ const logger = (0, shared_1.getLogger)('auth');
11
+ const router = (0, express_1.Router)();
10
12
  // Get publish token - 获取发布技能库所需的 token
11
- router.get('/publish-token', requireAuth, async (req, res) => {
13
+ router.get('/publish-token', auth_js_1.requireAuth, async (req, res) => {
12
14
  res.json({
13
15
  success: true,
14
16
  token: req.token,
@@ -24,15 +26,15 @@ router.post('/register', async (req, res) => {
24
26
  return;
25
27
  }
26
28
  // 使用 authApi.register(服务端路由期望 account 字段)
27
- const response = await authApi.register({
29
+ const response = await index_js_1.authApi.register({
28
30
  account: username,
29
31
  password,
30
32
  nickname: username,
31
- platform: getPlatform(),
33
+ platform: (0, system_js_1.getPlatform)(),
32
34
  });
33
35
  if (response.success && response.data) {
34
36
  const expiresIn = response.data.expiresIn || 86400;
35
- authStore.save({
37
+ index_js_2.authStore.save({
36
38
  accessToken: response.data.accessToken,
37
39
  refreshToken: response.data.refreshToken,
38
40
  expiresIn,
@@ -66,13 +68,13 @@ router.post('/login', async (req, res) => {
66
68
  return;
67
69
  }
68
70
  // 使用 authApi.login(服务端路由期望 email 字段)
69
- const response = await authApi.login({
71
+ const response = await index_js_1.authApi.login({
70
72
  account: username,
71
73
  password,
72
- platform: getPlatform(),
74
+ platform: (0, system_js_1.getPlatform)(),
73
75
  });
74
76
  if (response.success && response.data) {
75
- authStore.save(response.data);
77
+ index_js_2.authStore.save(response.data);
76
78
  res.json({
77
79
  success: true,
78
80
  data: response.data,
@@ -98,9 +100,9 @@ router.post('/refresh', async (req, res) => {
98
100
  res.status(400).json({ success: false, error: 'Missing refresh token' });
99
101
  return;
100
102
  }
101
- const response = await authApi.refresh(refreshToken);
103
+ const response = await index_js_1.authApi.refresh(refreshToken);
102
104
  if (response.success && response.accessToken) {
103
- authStore.updateToken(response.accessToken, response.refreshToken);
105
+ index_js_2.authStore.updateToken(response.accessToken, response.refreshToken);
104
106
  res.json({ success: true });
105
107
  }
106
108
  else {
@@ -116,29 +118,29 @@ router.post('/refresh', async (req, res) => {
116
118
  }
117
119
  });
118
120
  // Logout - 清除本地存储
119
- router.post('/logout', requireAuth, async (req, res) => {
121
+ router.post('/logout', auth_js_1.requireAuth, async (req, res) => {
120
122
  try {
121
123
  const { refreshToken } = req.body;
122
124
  // 用 AsyncLocalStorage 将 token 注入 server 请求上下文
123
- await runWithToken(req.token, async () => {
125
+ await (0, index_js_3.runWithToken)(req.token, async () => {
124
126
  if (refreshToken) {
125
- authApi.logout(req.token).catch(() => { });
127
+ index_js_1.authApi.logout(req.token).catch(() => { });
126
128
  }
127
129
  });
128
- authStore.clear();
130
+ index_js_2.authStore.clear();
129
131
  res.json({ success: true });
130
132
  }
131
133
  catch (error) {
132
- authStore.clear();
134
+ index_js_2.authStore.clear();
133
135
  res.json({ success: true });
134
136
  }
135
137
  });
136
138
  // Check authentication - 验证 token 有效性并获取用户信息
137
- router.get('/isAuth', requireAuth, async (req, res) => {
139
+ router.get('/isAuth', auth_js_1.requireAuth, async (req, res) => {
138
140
  try {
139
141
  // 用 AsyncLocalStorage 将 token 注入 server 请求上下文
140
- const userResponse = await runWithToken(req.token, async () => {
141
- return await authApi.me(req.token);
142
+ const userResponse = await (0, index_js_3.runWithToken)(req.token, async () => {
143
+ return await index_js_1.authApi.me(req.token);
142
144
  });
143
145
  res.json({
144
146
  authenticated: true,
@@ -156,7 +158,7 @@ router.get('/isAuth', requireAuth, async (req, res) => {
156
158
  }
157
159
  });
158
160
  // Delete account - 删除账号
159
- router.post('/account/delete', requireAuth, async (req, res) => {
161
+ router.post('/account/delete', auth_js_1.requireAuth, async (req, res) => {
160
162
  try {
161
163
  const { password } = req.body;
162
164
  if (!password) {
@@ -164,9 +166,9 @@ router.post('/account/delete', requireAuth, async (req, res) => {
164
166
  return;
165
167
  }
166
168
  // 转发删除账号请求到 Server(带上 token)
167
- const response = await authApi.deleteAccount({ password }, req.token);
169
+ const response = await index_js_1.authApi.deleteAccount({ password }, req.token);
168
170
  if (response.success) {
169
- authStore.clear();
171
+ index_js_2.authStore.clear();
170
172
  }
171
173
  res.json(response);
172
174
  }
@@ -178,4 +180,4 @@ router.post('/account/delete', requireAuth, async (req, res) => {
178
180
  });
179
181
  }
180
182
  });
181
- export default router;
183
+ exports.default = router;
@@ -1,7 +1,9 @@
1
- import { Router } from 'express';
2
- import { getLogger } from '@myassis/shared';
3
- const logger = getLogger('ChatRoutes');
4
- const router = Router();
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const express_1 = require("express");
4
+ const shared_1 = require("@myassis/shared");
5
+ const logger = (0, shared_1.getLogger)('ChatRoutes');
6
+ const router = (0, express_1.Router)();
5
7
  // Chat completion proxy - forwards to cloud API
6
8
  router.post('/completion', async (req, res) => {
7
9
  try {
@@ -42,4 +44,4 @@ router.post('/stream', async (req, res) => {
42
44
  res.status(500).json({ error: 'Streaming failed' });
43
45
  }
44
46
  });
45
- export default router;
47
+ exports.default = router;
@@ -1,5 +1,7 @@
1
- import { Router } from 'express';
2
- const router = Router();
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const express_1 = require("express");
4
+ const router = (0, express_1.Router)();
3
5
  // Get app configuration
4
6
  router.get('/', (req, res) => {
5
7
  res.json({
@@ -18,4 +20,4 @@ router.get('/', (req, res) => {
18
20
  }
19
21
  });
20
22
  });
21
- export default router;
23
+ exports.default = router;
@@ -1,13 +1,18 @@
1
- import express from 'express';
2
- import { getLogger, detectModelCapabilities } from '@myassis/shared';
3
- import { modelsService } from '../services/index.js';
4
- import { persistStore } from '../stores/persistStore.js';
5
- import { requireAuth } from '../middleware/auth.js';
6
- import { runWithToken } from '../api/index.js';
7
- const logger = getLogger('models');
8
- const router = express.Router();
9
- router.use(requireAuth, (req, _res, next) => {
10
- void runWithToken(req.token, async () => { next(); });
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const express_1 = __importDefault(require("express"));
7
+ const shared_1 = require("@myassis/shared");
8
+ const index_js_1 = require("../services/index.js");
9
+ const persistStore_js_1 = require("../stores/persistStore.js");
10
+ const auth_js_1 = require("../middleware/auth.js");
11
+ const index_js_2 = require("../api/index.js");
12
+ const logger = (0, shared_1.getLogger)('models');
13
+ const router = express_1.default.Router();
14
+ router.use(auth_js_1.requireAuth, (req, _res, next) => {
15
+ void (0, index_js_2.runWithToken)(req.token, async () => { next(); });
11
16
  });
12
17
  /**
13
18
  * 获取所有模型配置
@@ -15,7 +20,7 @@ router.use(requireAuth, (req, _res, next) => {
15
20
  */
16
21
  router.get('/', async (req, res) => {
17
22
  try {
18
- const result = await modelsService.list(req.token);
23
+ const result = await index_js_1.modelsService.list(req.token);
19
24
  res.json(result);
20
25
  }
21
26
  catch (error) {
@@ -29,7 +34,7 @@ router.get('/', async (req, res) => {
29
34
  */
30
35
  router.get('/:id', async (req, res) => {
31
36
  try {
32
- const result = await modelsService.get(req.params.id, req.token);
37
+ const result = await index_js_1.modelsService.get(req.params.id, req.token);
33
38
  res.json(result);
34
39
  }
35
40
  catch (error) {
@@ -41,21 +46,21 @@ router.get('/:id', async (req, res) => {
41
46
  * 创建模型配置
42
47
  * POST /api/v1/models
43
48
  */
44
- router.post('/', requireAuth, async (req, res) => {
49
+ router.post('/', auth_js_1.requireAuth, async (req, res) => {
45
50
  try {
46
51
  const userId = req.userId;
47
52
  const modelData = req.body;
48
53
  const apiKey = modelData.apiKey;
49
- const modelCapabilities = detectModelCapabilities(modelData.modelId || '');
54
+ const modelCapabilities = (0, shared_1.detectModelCapabilities)(modelData.modelId || '');
50
55
  const dataToSave = {
51
56
  ...modelData,
52
57
  isPrimary: modelData.isPrimary ? 1 : 0,
53
58
  isActive: modelData.isActive ? 1 : 0,
54
59
  supportsToolCall: modelCapabilities.supportsToolCall ? 1 : 0,
55
60
  };
56
- const result = await runWithToken(req.token, () => modelsService.create(dataToSave, req.token));
61
+ const result = await (0, index_js_2.runWithToken)(req.token, () => index_js_1.modelsService.create(dataToSave, req.token));
57
62
  if (apiKey && result.success && result.data?.id) {
58
- persistStore.setModelApiKey(result.data.id, apiKey);
63
+ persistStore_js_1.persistStore.setModelApiKey(result.data.id, apiKey);
59
64
  }
60
65
  res.json(result);
61
66
  }
@@ -68,20 +73,20 @@ router.post('/', requireAuth, async (req, res) => {
68
73
  * 更新模型配置
69
74
  * PUT /api/v1/models/:id
70
75
  */
71
- router.put('/:id', requireAuth, async (req, res) => {
76
+ router.put('/:id', auth_js_1.requireAuth, async (req, res) => {
72
77
  try {
73
78
  const userId = req.userId;
74
79
  const modelData = req.body;
75
80
  const apiKey = modelData.apiKey;
76
81
  if (apiKey) {
77
- persistStore.setModelApiKey(req.params.id, apiKey);
82
+ persistStore_js_1.persistStore.setModelApiKey(req.params.id, apiKey);
78
83
  }
79
- const modelCapabilities = detectModelCapabilities(modelData.modelId || '');
84
+ const modelCapabilities = (0, shared_1.detectModelCapabilities)(modelData.modelId || '');
80
85
  const dataToSave = {
81
86
  ...modelData,
82
87
  supportsToolCall: modelCapabilities.supportsToolCall ? 1 : 0,
83
88
  };
84
- const result = await runWithToken(req.token, () => modelsService.update(req.params.id, dataToSave, req.token));
89
+ const result = await (0, index_js_2.runWithToken)(req.token, () => index_js_1.modelsService.update(req.params.id, dataToSave, req.token));
85
90
  res.json(result);
86
91
  }
87
92
  catch (error) {
@@ -95,7 +100,7 @@ router.put('/:id', requireAuth, async (req, res) => {
95
100
  */
96
101
  router.delete('/:id', async (req, res) => {
97
102
  try {
98
- const result = await modelsService.delete(req.params.id, req.token);
103
+ const result = await index_js_1.modelsService.delete(req.params.id, req.token);
99
104
  res.json(result);
100
105
  }
101
106
  catch (error) {
@@ -109,7 +114,7 @@ router.delete('/:id', async (req, res) => {
109
114
  */
110
115
  router.post('/:id/primary', async (req, res) => {
111
116
  try {
112
- const result = await modelsService.setPrimary(req.params.id, req.token);
117
+ const result = await index_js_1.modelsService.setPrimary(req.params.id, req.token);
113
118
  res.json(result);
114
119
  }
115
120
  catch (error) {
@@ -117,4 +122,4 @@ router.post('/:id/primary', async (req, res) => {
117
122
  res.status(500).json({ success: false, error: '设置主模型失败' });
118
123
  }
119
124
  });
120
- export default router;
125
+ exports.default = router;