team-anya-cli 0.1.4 → 0.1.5
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/apps/server/dist/gateway/feishu-sender.js +46 -2
- package/apps/server/dist/gateway/feishu-ws.js +4 -4
- package/apps/server/dist/loid/brain.js +1 -0
- package/apps/server/dist/loid/session-manager.js +126 -11
- package/apps/server/dist/main.js +20 -1
- package/apps/web/dist/assets/index-BiiEB0qZ.css +1 -0
- package/apps/web/dist/assets/{index-CJzAjoVH.js → index-DT5NuALG.js} +189 -189
- package/apps/web/dist/index.html +2 -2
- package/package.json +1 -1
- package/packages/db/dist/index.js +27 -6
- package/packages/db/dist/schema/cc-sessions.js +1 -1
- package/packages/db/src/migrations/0005_lethal_golden_guardian.sql +5 -0
- package/packages/db/src/migrations/meta/0005_snapshot.json +1513 -0
- package/packages/db/src/migrations/meta/_journal.json +7 -0
- package/apps/web/dist/assets/index-CHIT0Dya.css +0 -1
package/apps/web/dist/index.html
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<title>Anya Gateway Dashboard</title>
|
|
7
|
-
<script type="module" crossorigin src="/assets/index-
|
|
8
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
7
|
+
<script type="module" crossorigin src="/assets/index-DT5NuALG.js"></script>
|
|
8
|
+
<link rel="stylesheet" crossorigin href="/assets/index-BiiEB0qZ.css">
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
11
11
|
<div id="root"></div>
|
package/package.json
CHANGED
|
@@ -236,11 +236,32 @@ export function getRecentMessages(db, opts = {}) {
|
|
|
236
236
|
conditions.push(eq(messageLog.chat_id, chat_id));
|
|
237
237
|
if (chat_type)
|
|
238
238
|
conditions.push(eq(messageLog.chat_type, chat_type));
|
|
239
|
-
const
|
|
240
|
-
? db.select().from(messageLog).where(and(...conditions))
|
|
241
|
-
: db.select().from(messageLog);
|
|
239
|
+
const whereClause = conditions.length > 0 ? and(...conditions) : undefined;
|
|
242
240
|
const orderBy = sortOrder === 'asc' ? messageLog.created_at : desc(messageLog.created_at);
|
|
243
|
-
return
|
|
241
|
+
return db
|
|
242
|
+
.select({
|
|
243
|
+
id: messageLog.id,
|
|
244
|
+
direction: messageLog.direction,
|
|
245
|
+
source_type: messageLog.source_type,
|
|
246
|
+
source_ref: messageLog.source_ref,
|
|
247
|
+
sender: messageLog.sender,
|
|
248
|
+
sender_name: sql `(SELECT name FROM org_members WHERE member_id = ${messageLog.sender})`,
|
|
249
|
+
receiver: messageLog.receiver,
|
|
250
|
+
receiver_name: sql `(SELECT name FROM org_members WHERE member_id = ${messageLog.receiver})`,
|
|
251
|
+
chat_id: messageLog.chat_id,
|
|
252
|
+
chat_type: messageLog.chat_type,
|
|
253
|
+
content: messageLog.content,
|
|
254
|
+
message_type: messageLog.message_type,
|
|
255
|
+
intent_level: messageLog.intent_level,
|
|
256
|
+
related_task_id: messageLog.related_task_id,
|
|
257
|
+
metadata: messageLog.metadata,
|
|
258
|
+
trace_id: messageLog.trace_id,
|
|
259
|
+
created_at: messageLog.created_at,
|
|
260
|
+
chat_name: chats.name,
|
|
261
|
+
})
|
|
262
|
+
.from(messageLog)
|
|
263
|
+
.leftJoin(chats, eq(messageLog.chat_id, chats.chat_id))
|
|
264
|
+
.where(whereClause)
|
|
244
265
|
.orderBy(orderBy)
|
|
245
266
|
.limit(limit)
|
|
246
267
|
.offset(offset)
|
|
@@ -425,7 +446,7 @@ export function getMemberChats(db, memberId) {
|
|
|
425
446
|
return db.select({
|
|
426
447
|
chat_id: chats.chat_id,
|
|
427
448
|
name: chats.name,
|
|
428
|
-
|
|
449
|
+
chat_mode: chats.chat_mode,
|
|
429
450
|
chat_tag: chats.chat_tag,
|
|
430
451
|
user_count: chats.user_count,
|
|
431
452
|
role: chatMembers.role,
|
|
@@ -506,7 +527,7 @@ export function getProjectWithRepos(db, projectId) {
|
|
|
506
527
|
}
|
|
507
528
|
// ── CC Sessions CRUD ──
|
|
508
529
|
export function insertCCSession(db, data) {
|
|
509
|
-
return db.insert(ccSessions).values(data).returning().get();
|
|
530
|
+
return db.insert(ccSessions).values(data).onConflictDoNothing({ target: ccSessions.session_id }).returning().get();
|
|
510
531
|
}
|
|
511
532
|
export function getCCSessionsByTask(db, taskId) {
|
|
512
533
|
return db.select().from(ccSessions)
|
|
@@ -2,7 +2,7 @@ import { sqliteTable, text, integer } from 'drizzle-orm/sqlite-core';
|
|
|
2
2
|
import { sql } from 'drizzle-orm';
|
|
3
3
|
export const ccSessions = sqliteTable('cc_sessions', {
|
|
4
4
|
id: integer('id').primaryKey({ autoIncrement: true }),
|
|
5
|
-
session_id: text('session_id').notNull(),
|
|
5
|
+
session_id: text('session_id').notNull().unique(),
|
|
6
6
|
role: text('role').notNull(), // 'loid' | 'yor'
|
|
7
7
|
instance_id: text('instance_id'),
|
|
8
8
|
task_id: text('task_id'),
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
-- 先删除重复的 cc_sessions 记录(保留每个 session_id 中 id 最小的那条)
|
|
2
|
+
DELETE FROM `cc_sessions` WHERE `id` NOT IN (
|
|
3
|
+
SELECT MIN(`id`) FROM `cc_sessions` GROUP BY `session_id`
|
|
4
|
+
);--> statement-breakpoint
|
|
5
|
+
CREATE UNIQUE INDEX `cc_sessions_session_id_unique` ON `cc_sessions` (`session_id`);
|