opencode-bridge 2.9.0-beta
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/.env.example +131 -0
- package/LICENSE +674 -0
- package/README.md +1195 -0
- package/bin/opencode-bridge.js +31 -0
- package/dist/commands/effort.d.ts +9 -0
- package/dist/commands/effort.d.ts.map +1 -0
- package/dist/commands/effort.js +56 -0
- package/dist/commands/effort.js.map +1 -0
- package/dist/commands/parser.d.ts +37 -0
- package/dist/commands/parser.d.ts.map +1 -0
- package/dist/commands/parser.js +355 -0
- package/dist/commands/parser.js.map +1 -0
- package/dist/config.d.ts +91 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +340 -0
- package/dist/config.js.map +1 -0
- package/dist/feishu/cards-stream.d.ts +65 -0
- package/dist/feishu/cards-stream.d.ts.map +1 -0
- package/dist/feishu/cards-stream.js +448 -0
- package/dist/feishu/cards-stream.js.map +1 -0
- package/dist/feishu/cards.d.ts +81 -0
- package/dist/feishu/cards.d.ts.map +1 -0
- package/dist/feishu/cards.js +560 -0
- package/dist/feishu/cards.js.map +1 -0
- package/dist/feishu/client.d.ts +132 -0
- package/dist/feishu/client.d.ts.map +1 -0
- package/dist/feishu/client.js +952 -0
- package/dist/feishu/client.js.map +1 -0
- package/dist/feishu/streamer.d.ts +30 -0
- package/dist/feishu/streamer.d.ts.map +1 -0
- package/dist/feishu/streamer.js +95 -0
- package/dist/feishu/streamer.js.map +1 -0
- package/dist/handlers/card-action.d.ts +12 -0
- package/dist/handlers/card-action.d.ts.map +1 -0
- package/dist/handlers/card-action.js +154 -0
- package/dist/handlers/card-action.js.map +1 -0
- package/dist/handlers/command.d.ts +76 -0
- package/dist/handlers/command.d.ts.map +1 -0
- package/dist/handlers/command.js +1773 -0
- package/dist/handlers/command.js.map +1 -0
- package/dist/handlers/discord.d.ts +78 -0
- package/dist/handlers/discord.d.ts.map +1 -0
- package/dist/handlers/discord.js +1832 -0
- package/dist/handlers/discord.js.map +1 -0
- package/dist/handlers/file-sender.d.ts +22 -0
- package/dist/handlers/file-sender.d.ts.map +1 -0
- package/dist/handlers/file-sender.js +183 -0
- package/dist/handlers/file-sender.js.map +1 -0
- package/dist/handlers/group.d.ts +21 -0
- package/dist/handlers/group.d.ts.map +1 -0
- package/dist/handlers/group.js +414 -0
- package/dist/handlers/group.js.map +1 -0
- package/dist/handlers/lifecycle.d.ts +17 -0
- package/dist/handlers/lifecycle.d.ts.map +1 -0
- package/dist/handlers/lifecycle.js +129 -0
- package/dist/handlers/lifecycle.js.map +1 -0
- package/dist/handlers/p2p.d.ts +44 -0
- package/dist/handlers/p2p.d.ts.map +1 -0
- package/dist/handlers/p2p.js +625 -0
- package/dist/handlers/p2p.js.map +1 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1562 -0
- package/dist/index.js.map +1 -0
- package/dist/opencode/client.d.ts +176 -0
- package/dist/opencode/client.d.ts.map +1 -0
- package/dist/opencode/client.js +1126 -0
- package/dist/opencode/client.js.map +1 -0
- package/dist/opencode/delayed-handler.d.ts +33 -0
- package/dist/opencode/delayed-handler.d.ts.map +1 -0
- package/dist/opencode/delayed-handler.js +74 -0
- package/dist/opencode/delayed-handler.js.map +1 -0
- package/dist/opencode/output-buffer.d.ts +56 -0
- package/dist/opencode/output-buffer.d.ts.map +1 -0
- package/dist/opencode/output-buffer.js +202 -0
- package/dist/opencode/output-buffer.js.map +1 -0
- package/dist/opencode/question-handler.d.ts +61 -0
- package/dist/opencode/question-handler.d.ts.map +1 -0
- package/dist/opencode/question-handler.js +183 -0
- package/dist/opencode/question-handler.js.map +1 -0
- package/dist/opencode/question-parser.d.ts +9 -0
- package/dist/opencode/question-parser.d.ts.map +1 -0
- package/dist/opencode/question-parser.js +69 -0
- package/dist/opencode/question-parser.js.map +1 -0
- package/dist/opencode/session-queue.d.ts +16 -0
- package/dist/opencode/session-queue.d.ts.map +1 -0
- package/dist/opencode/session-queue.js +41 -0
- package/dist/opencode/session-queue.js.map +1 -0
- package/dist/permissions/handler.d.ts +36 -0
- package/dist/permissions/handler.d.ts.map +1 -0
- package/dist/permissions/handler.js +141 -0
- package/dist/permissions/handler.js.map +1 -0
- package/dist/platform/adapters/discord-adapter.d.ts +45 -0
- package/dist/platform/adapters/discord-adapter.d.ts.map +1 -0
- package/dist/platform/adapters/discord-adapter.js +497 -0
- package/dist/platform/adapters/discord-adapter.js.map +1 -0
- package/dist/platform/adapters/feishu-adapter.d.ts +29 -0
- package/dist/platform/adapters/feishu-adapter.d.ts.map +1 -0
- package/dist/platform/adapters/feishu-adapter.js +150 -0
- package/dist/platform/adapters/feishu-adapter.js.map +1 -0
- package/dist/platform/registry.d.ts +41 -0
- package/dist/platform/registry.d.ts.map +1 -0
- package/dist/platform/registry.js +87 -0
- package/dist/platform/registry.js.map +1 -0
- package/dist/platform/types.d.ts +92 -0
- package/dist/platform/types.d.ts.map +1 -0
- package/dist/platform/types.js +4 -0
- package/dist/platform/types.js.map +1 -0
- package/dist/reliability/audit-log.d.ts +93 -0
- package/dist/reliability/audit-log.d.ts.map +1 -0
- package/dist/reliability/audit-log.js +248 -0
- package/dist/reliability/audit-log.js.map +1 -0
- package/dist/reliability/config-guard.d.ts +42 -0
- package/dist/reliability/config-guard.d.ts.map +1 -0
- package/dist/reliability/config-guard.js +264 -0
- package/dist/reliability/config-guard.js.map +1 -0
- package/dist/reliability/conversation-heartbeat.d.ts +37 -0
- package/dist/reliability/conversation-heartbeat.d.ts.map +1 -0
- package/dist/reliability/conversation-heartbeat.js +179 -0
- package/dist/reliability/conversation-heartbeat.js.map +1 -0
- package/dist/reliability/cron-api-server.d.ts +13 -0
- package/dist/reliability/cron-api-server.d.ts.map +1 -0
- package/dist/reliability/cron-api-server.js +247 -0
- package/dist/reliability/cron-api-server.js.map +1 -0
- package/dist/reliability/cron-control.d.ts +34 -0
- package/dist/reliability/cron-control.d.ts.map +1 -0
- package/dist/reliability/cron-control.js +864 -0
- package/dist/reliability/cron-control.js.map +1 -0
- package/dist/reliability/cron-semantic.d.ts +9 -0
- package/dist/reliability/cron-semantic.d.ts.map +1 -0
- package/dist/reliability/cron-semantic.js +208 -0
- package/dist/reliability/cron-semantic.js.map +1 -0
- package/dist/reliability/environment-doctor.d.ts +56 -0
- package/dist/reliability/environment-doctor.d.ts.map +1 -0
- package/dist/reliability/environment-doctor.js +213 -0
- package/dist/reliability/environment-doctor.js.map +1 -0
- package/dist/reliability/job-registry.d.ts +26 -0
- package/dist/reliability/job-registry.d.ts.map +1 -0
- package/dist/reliability/job-registry.js +77 -0
- package/dist/reliability/job-registry.js.map +1 -0
- package/dist/reliability/opencode-probe.d.ts +37 -0
- package/dist/reliability/opencode-probe.d.ts.map +1 -0
- package/dist/reliability/opencode-probe.js +195 -0
- package/dist/reliability/opencode-probe.js.map +1 -0
- package/dist/reliability/opencode-restart.d.ts +42 -0
- package/dist/reliability/opencode-restart.d.ts.map +1 -0
- package/dist/reliability/opencode-restart.js +155 -0
- package/dist/reliability/opencode-restart.js.map +1 -0
- package/dist/reliability/proactive-heartbeat.d.ts +39 -0
- package/dist/reliability/proactive-heartbeat.d.ts.map +1 -0
- package/dist/reliability/proactive-heartbeat.js +147 -0
- package/dist/reliability/proactive-heartbeat.js.map +1 -0
- package/dist/reliability/process-check-job.d.ts +73 -0
- package/dist/reliability/process-check-job.d.ts.map +1 -0
- package/dist/reliability/process-check-job.js +254 -0
- package/dist/reliability/process-check-job.js.map +1 -0
- package/dist/reliability/process-guard.d.ts +53 -0
- package/dist/reliability/process-guard.d.ts.map +1 -0
- package/dist/reliability/process-guard.js +344 -0
- package/dist/reliability/process-guard.js.map +1 -0
- package/dist/reliability/recovery-reporter.d.ts +37 -0
- package/dist/reliability/recovery-reporter.d.ts.map +1 -0
- package/dist/reliability/recovery-reporter.js +161 -0
- package/dist/reliability/recovery-reporter.js.map +1 -0
- package/dist/reliability/rescue-executor.d.ts +52 -0
- package/dist/reliability/rescue-executor.d.ts.map +1 -0
- package/dist/reliability/rescue-executor.js +244 -0
- package/dist/reliability/rescue-executor.js.map +1 -0
- package/dist/reliability/rescue-policy.d.ts +39 -0
- package/dist/reliability/rescue-policy.d.ts.map +1 -0
- package/dist/reliability/rescue-policy.js +85 -0
- package/dist/reliability/rescue-policy.js.map +1 -0
- package/dist/reliability/runtime-cron-dispatcher.d.ts +30 -0
- package/dist/reliability/runtime-cron-dispatcher.d.ts.map +1 -0
- package/dist/reliability/runtime-cron-dispatcher.js +100 -0
- package/dist/reliability/runtime-cron-dispatcher.js.map +1 -0
- package/dist/reliability/runtime-cron-orphan.d.ts +18 -0
- package/dist/reliability/runtime-cron-orphan.d.ts.map +1 -0
- package/dist/reliability/runtime-cron-orphan.js +87 -0
- package/dist/reliability/runtime-cron-orphan.js.map +1 -0
- package/dist/reliability/runtime-cron-registry.d.ts +4 -0
- package/dist/reliability/runtime-cron-registry.d.ts.map +1 -0
- package/dist/reliability/runtime-cron-registry.js +8 -0
- package/dist/reliability/runtime-cron-registry.js.map +1 -0
- package/dist/reliability/runtime-cron.d.ts +75 -0
- package/dist/reliability/runtime-cron.d.ts.map +1 -0
- package/dist/reliability/runtime-cron.js +309 -0
- package/dist/reliability/runtime-cron.js.map +1 -0
- package/dist/reliability/scheduler.d.ts +38 -0
- package/dist/reliability/scheduler.d.ts.map +1 -0
- package/dist/reliability/scheduler.js +174 -0
- package/dist/reliability/scheduler.js.map +1 -0
- package/dist/reliability/types.d.ts +151 -0
- package/dist/reliability/types.d.ts.map +1 -0
- package/dist/reliability/types.js +178 -0
- package/dist/reliability/types.js.map +1 -0
- package/dist/router/action-handlers.d.ts +27 -0
- package/dist/router/action-handlers.d.ts.map +1 -0
- package/dist/router/action-handlers.js +226 -0
- package/dist/router/action-handlers.js.map +1 -0
- package/dist/router/opencode-event-hub.d.ts +159 -0
- package/dist/router/opencode-event-hub.d.ts.map +1 -0
- package/dist/router/opencode-event-hub.js +589 -0
- package/dist/router/opencode-event-hub.js.map +1 -0
- package/dist/router/root-router.d.ts +94 -0
- package/dist/router/root-router.d.ts.map +1 -0
- package/dist/router/root-router.js +214 -0
- package/dist/router/root-router.js.map +1 -0
- package/dist/store/chat-session.d.ts +150 -0
- package/dist/store/chat-session.d.ts.map +1 -0
- package/dist/store/chat-session.js +640 -0
- package/dist/store/chat-session.js.map +1 -0
- package/dist/store/session-directory.d.ts +12 -0
- package/dist/store/session-directory.d.ts.map +1 -0
- package/dist/store/session-directory.js +47 -0
- package/dist/store/session-directory.js.map +1 -0
- package/dist/store/session-group.d.ts +19 -0
- package/dist/store/session-group.d.ts.map +1 -0
- package/dist/store/session-group.js +92 -0
- package/dist/store/session-group.js.map +1 -0
- package/dist/store/user-session.d.ts +19 -0
- package/dist/store/user-session.d.ts.map +1 -0
- package/dist/store/user-session.js +112 -0
- package/dist/store/user-session.js.map +1 -0
- package/dist/utils/async-queue.d.ts +12 -0
- package/dist/utils/async-queue.d.ts.map +1 -0
- package/dist/utils/async-queue.js +51 -0
- package/dist/utils/async-queue.js.map +1 -0
- package/dist/utils/directory-policy.d.ts +50 -0
- package/dist/utils/directory-policy.d.ts.map +1 -0
- package/dist/utils/directory-policy.js +379 -0
- package/dist/utils/directory-policy.js.map +1 -0
- package/dist/utils/session-title.d.ts +2 -0
- package/dist/utils/session-title.d.ts.map +1 -0
- package/dist/utils/session-title.js +10 -0
- package/dist/utils/session-title.js.map +1 -0
- package/package.json +73 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/feishu/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export interface StreamState {
|
|
2
|
+
text: string;
|
|
3
|
+
thinking: string;
|
|
4
|
+
tools: Array<{
|
|
5
|
+
name: string;
|
|
6
|
+
status: 'pending' | 'running' | 'completed' | 'failed';
|
|
7
|
+
output?: string;
|
|
8
|
+
}>;
|
|
9
|
+
status: 'processing' | 'completed' | 'failed';
|
|
10
|
+
}
|
|
11
|
+
export declare class CardStreamer {
|
|
12
|
+
private chatId;
|
|
13
|
+
private messageId;
|
|
14
|
+
private state;
|
|
15
|
+
private lastUpdate;
|
|
16
|
+
private throttleMs;
|
|
17
|
+
private pendingUpdate;
|
|
18
|
+
constructor(chatId: string);
|
|
19
|
+
start(): Promise<void>;
|
|
20
|
+
updateText(delta: string): void;
|
|
21
|
+
updateThinking(delta: string): void;
|
|
22
|
+
addTool(name: string): void;
|
|
23
|
+
updateToolStatus(name: string, status: 'running' | 'completed' | 'failed', output?: string): void;
|
|
24
|
+
setStatus(status: 'completed' | 'failed'): void;
|
|
25
|
+
private scheduleUpdate;
|
|
26
|
+
private doUpdate;
|
|
27
|
+
private buildCard;
|
|
28
|
+
close(): void;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=streamer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streamer.d.ts","sourceRoot":"","sources":["../../src/feishu/streamer.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;QACvD,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,MAAM,EAAE,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC;CAC/C;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,KAAK,CAKX;IACF,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAe;IACjC,OAAO,CAAC,aAAa,CAA+B;gBAExC,MAAM,EAAE,MAAM;IAIpB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK/B,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKnC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK3B,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IASjG,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,IAAI;IAK/C,OAAO,CAAC,cAAc;YAsBR,QAAQ;IAOtB,OAAO,CAAC,SAAS;IAajB,KAAK,IAAI,IAAI;CAMd"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { feishuClient } from './client.js';
|
|
2
|
+
import { buildStreamCard } from './cards-stream.js';
|
|
3
|
+
export class CardStreamer {
|
|
4
|
+
chatId;
|
|
5
|
+
messageId = null;
|
|
6
|
+
state = {
|
|
7
|
+
text: '',
|
|
8
|
+
thinking: '',
|
|
9
|
+
tools: [],
|
|
10
|
+
status: 'processing',
|
|
11
|
+
};
|
|
12
|
+
lastUpdate = 0;
|
|
13
|
+
throttleMs = 500;
|
|
14
|
+
pendingUpdate = null;
|
|
15
|
+
constructor(chatId) {
|
|
16
|
+
this.chatId = chatId;
|
|
17
|
+
}
|
|
18
|
+
async start() {
|
|
19
|
+
const card = this.buildCard();
|
|
20
|
+
this.messageId = await feishuClient.sendCard(this.chatId, card);
|
|
21
|
+
}
|
|
22
|
+
updateText(delta) {
|
|
23
|
+
this.state.text += delta;
|
|
24
|
+
this.scheduleUpdate();
|
|
25
|
+
}
|
|
26
|
+
updateThinking(delta) {
|
|
27
|
+
this.state.thinking += delta;
|
|
28
|
+
this.scheduleUpdate();
|
|
29
|
+
}
|
|
30
|
+
addTool(name) {
|
|
31
|
+
this.state.tools.push({ name, status: 'pending' });
|
|
32
|
+
this.scheduleUpdate();
|
|
33
|
+
}
|
|
34
|
+
updateToolStatus(name, status, output) {
|
|
35
|
+
const tool = this.state.tools.find(t => t.name === name && t.status !== 'completed' && t.status !== 'failed');
|
|
36
|
+
if (tool) {
|
|
37
|
+
tool.status = status;
|
|
38
|
+
if (output)
|
|
39
|
+
tool.output = output;
|
|
40
|
+
this.scheduleUpdate();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
setStatus(status) {
|
|
44
|
+
this.state.status = status;
|
|
45
|
+
this.scheduleUpdate(true); // 立即更新
|
|
46
|
+
}
|
|
47
|
+
scheduleUpdate(immediate = false) {
|
|
48
|
+
if (!this.messageId)
|
|
49
|
+
return;
|
|
50
|
+
if (immediate) {
|
|
51
|
+
if (this.pendingUpdate)
|
|
52
|
+
clearTimeout(this.pendingUpdate);
|
|
53
|
+
this.doUpdate();
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
if (this.pendingUpdate)
|
|
57
|
+
return;
|
|
58
|
+
const now = Date.now();
|
|
59
|
+
if (now - this.lastUpdate > this.throttleMs) {
|
|
60
|
+
this.doUpdate();
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
this.pendingUpdate = setTimeout(() => {
|
|
64
|
+
this.pendingUpdate = null;
|
|
65
|
+
this.doUpdate();
|
|
66
|
+
}, this.throttleMs);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
async doUpdate() {
|
|
70
|
+
if (!this.messageId)
|
|
71
|
+
return;
|
|
72
|
+
this.lastUpdate = Date.now();
|
|
73
|
+
const card = this.buildCard();
|
|
74
|
+
await feishuClient.updateCard(this.messageId, card);
|
|
75
|
+
}
|
|
76
|
+
buildCard() {
|
|
77
|
+
// 复用 cards.ts 中的 buildStreamCard,但可能需要扩展它以支持更复杂的工具状态
|
|
78
|
+
// 这里简单构造一个对象,或者稍后修改 cards.ts
|
|
79
|
+
// 现有的 buildStreamCard 主要针对文本和简单的工具状态
|
|
80
|
+
return buildStreamCard({
|
|
81
|
+
thinking: this.state.thinking,
|
|
82
|
+
text: this.state.text,
|
|
83
|
+
tools: this.state.tools,
|
|
84
|
+
status: this.state.status,
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
// 清理资源
|
|
88
|
+
close() {
|
|
89
|
+
if (this.pendingUpdate) {
|
|
90
|
+
clearTimeout(this.pendingUpdate);
|
|
91
|
+
this.pendingUpdate = null;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=streamer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streamer.js","sourceRoot":"","sources":["../../src/feishu/streamer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { FeishuCardActionEvent } from '../feishu/client.js';
|
|
2
|
+
export declare class CardActionHandler {
|
|
3
|
+
private extractSelectedOption;
|
|
4
|
+
handle(event: FeishuCardActionEvent): Promise<object | void>;
|
|
5
|
+
private handleStop;
|
|
6
|
+
private handleUndo;
|
|
7
|
+
private handleModelSelect;
|
|
8
|
+
private handleAgentSelect;
|
|
9
|
+
private handleToggleThinking;
|
|
10
|
+
}
|
|
11
|
+
export declare const cardActionHandler: CardActionHandler;
|
|
12
|
+
//# sourceMappingURL=card-action.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card-action.d.ts","sourceRoot":"","sources":["../../src/handlers/card-action.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEjE,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,qBAAqB;IAyBvB,MAAM,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;YA8BpD,UAAU;YA2BV,UAAU;YAyBV,iBAAiB;YA6BjB,iBAAiB;YAsBjB,oBAAoB;CAInC;AAED,eAAO,MAAM,iBAAiB,mBAA0B,CAAC"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
// 飞书卡片动作处理器
|
|
2
|
+
// 处理 /panel 和 question 工具的卡片交互
|
|
3
|
+
import { opencodeClient } from '../opencode/client.js';
|
|
4
|
+
import { chatSessionStore } from '../store/chat-session.js';
|
|
5
|
+
import { outputBuffer } from '../opencode/output-buffer.js';
|
|
6
|
+
import { commandHandler } from './command.js';
|
|
7
|
+
export class CardActionHandler {
|
|
8
|
+
extractSelectedOption(value) {
|
|
9
|
+
if (typeof value === 'string') {
|
|
10
|
+
const normalized = value.trim();
|
|
11
|
+
return normalized.length > 0 ? normalized : undefined;
|
|
12
|
+
}
|
|
13
|
+
if (!value || typeof value !== 'object') {
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
const record = value;
|
|
17
|
+
const candidates = [record.value, record.key, record.label];
|
|
18
|
+
for (const candidate of candidates) {
|
|
19
|
+
if (typeof candidate !== 'string') {
|
|
20
|
+
continue;
|
|
21
|
+
}
|
|
22
|
+
const normalized = candidate.trim();
|
|
23
|
+
if (normalized.length > 0) {
|
|
24
|
+
return normalized;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
async handle(event) {
|
|
30
|
+
const actionValue = event.action.value;
|
|
31
|
+
const action = actionValue?.action;
|
|
32
|
+
console.log(`[CardAction] 收到动作: ${action}, value:`, JSON.stringify(actionValue));
|
|
33
|
+
switch (action) {
|
|
34
|
+
case 'stop':
|
|
35
|
+
return this.handleStop(actionValue);
|
|
36
|
+
case 'undo':
|
|
37
|
+
return this.handleUndo(actionValue);
|
|
38
|
+
case 'model_select':
|
|
39
|
+
return this.handleModelSelect(actionValue, event);
|
|
40
|
+
case 'agent_select':
|
|
41
|
+
return this.handleAgentSelect(actionValue, event);
|
|
42
|
+
case 'toggle_thinking':
|
|
43
|
+
return this.handleToggleThinking(actionValue, event);
|
|
44
|
+
case 'create_chat':
|
|
45
|
+
// P2P 创建会话,由 p2pHandler 处理
|
|
46
|
+
return;
|
|
47
|
+
case 'permission_allow':
|
|
48
|
+
case 'permission_deny':
|
|
49
|
+
// 权限确认,由 index.ts 直接处理
|
|
50
|
+
return;
|
|
51
|
+
default:
|
|
52
|
+
console.warn(`[CardAction] 未知动作: ${action}`);
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
async handleStop(value) {
|
|
57
|
+
const { conversationKey, chatId } = value;
|
|
58
|
+
if (!conversationKey)
|
|
59
|
+
return { msg: 'ok' };
|
|
60
|
+
// 1. 中断本地输出缓冲
|
|
61
|
+
outputBuffer.abort(conversationKey);
|
|
62
|
+
// 2. 获取会话ID并中断OpenCode会话
|
|
63
|
+
const session = chatId ? chatSessionStore.getSession(chatId) : null;
|
|
64
|
+
if (session?.sessionId) {
|
|
65
|
+
try {
|
|
66
|
+
await opencodeClient.abortSession(session.sessionId);
|
|
67
|
+
console.log(`[CardAction] 已中断会话: ${session.sessionId}`);
|
|
68
|
+
}
|
|
69
|
+
catch (e) {
|
|
70
|
+
console.error('[CardAction] 中断会话失败:', e);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return {
|
|
74
|
+
toast: {
|
|
75
|
+
type: 'success',
|
|
76
|
+
content: '已停止',
|
|
77
|
+
i18n_content: { zh_cn: '已停止', en_us: 'Stopped' }
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
async handleUndo(value) {
|
|
82
|
+
const { chatId } = value;
|
|
83
|
+
if (!chatId)
|
|
84
|
+
return { msg: 'ok' };
|
|
85
|
+
try {
|
|
86
|
+
await commandHandler.handleUndo(chatId);
|
|
87
|
+
return {
|
|
88
|
+
toast: {
|
|
89
|
+
type: 'success',
|
|
90
|
+
content: '已撤回',
|
|
91
|
+
i18n_content: { zh_cn: '已撤回', en_us: 'Undone' }
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
console.error('[CardAction] Undo failed:', error);
|
|
97
|
+
return {
|
|
98
|
+
toast: {
|
|
99
|
+
type: 'error',
|
|
100
|
+
content: '撤回失败',
|
|
101
|
+
i18n_content: { zh_cn: '撤回失败', en_us: 'Undo failed' }
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
async handleModelSelect(value, event) {
|
|
107
|
+
const { chatId } = value;
|
|
108
|
+
const selectedOption = this.extractSelectedOption(event.action.option) || this.extractSelectedOption(value.selected);
|
|
109
|
+
if (!chatId || !selectedOption) {
|
|
110
|
+
return { toast: { type: 'error', content: '参数错误' } };
|
|
111
|
+
}
|
|
112
|
+
// 更新配置
|
|
113
|
+
chatSessionStore.updateConfig(chatId, { preferredModel: selectedOption });
|
|
114
|
+
console.log(`[CardAction] 已切换模型: ${selectedOption}`);
|
|
115
|
+
const reconciled = await commandHandler.reconcilePreferredEffort(chatId);
|
|
116
|
+
const effortNotice = reconciled.clearedEffort
|
|
117
|
+
? `;强度 ${reconciled.clearedEffort} 不兼容,已回退为默认`
|
|
118
|
+
: '';
|
|
119
|
+
const toastText = `已切换模型: ${selectedOption}${effortNotice}`;
|
|
120
|
+
// 只返回toast,不更新卡片
|
|
121
|
+
// 卡片更新可能失败(错误码200672),所以只返回toast确保用户知道操作成功
|
|
122
|
+
return {
|
|
123
|
+
toast: {
|
|
124
|
+
type: 'success',
|
|
125
|
+
content: toastText,
|
|
126
|
+
i18n_content: { zh_cn: toastText, en_us: `Model changed: ${selectedOption}` }
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
async handleAgentSelect(value, event) {
|
|
131
|
+
const { chatId } = value;
|
|
132
|
+
const selectedOption = this.extractSelectedOption(event.action.option) || this.extractSelectedOption(value.selected);
|
|
133
|
+
if (!chatId) {
|
|
134
|
+
return { toast: { type: 'error', content: '参数错误' } };
|
|
135
|
+
}
|
|
136
|
+
const agentName = selectedOption === 'none' ? undefined : selectedOption;
|
|
137
|
+
chatSessionStore.updateConfig(chatId, { preferredAgent: agentName });
|
|
138
|
+
console.log(`[CardAction] 已切换角色: ${agentName || '默认'}`);
|
|
139
|
+
// 只返回toast,不更新卡片
|
|
140
|
+
return {
|
|
141
|
+
toast: {
|
|
142
|
+
type: 'success',
|
|
143
|
+
content: agentName ? `已切换角色: ${agentName}` : '已切换为默认角色',
|
|
144
|
+
i18n_content: { zh_cn: agentName ? `已切换角色: ${agentName}` : '已切换为默认角色', en_us: agentName ? `Role changed: ${agentName}` : 'Role reset to default' }
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
async handleToggleThinking(_value, _event) {
|
|
149
|
+
// 兼容历史卡片按钮:思考展开已改为飞书原生折叠面板,无需回调更新。
|
|
150
|
+
return { msg: 'ok' };
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
export const cardActionHandler = new CardActionHandler();
|
|
154
|
+
//# sourceMappingURL=card-action.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card-action.js","sourceRoot":"","sources":["../../src/handlers/card-action.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { type ParsedCommand } from '../commands/parser.js';
|
|
2
|
+
import { type EffortLevel } from '../commands/effort.js';
|
|
3
|
+
interface EffortSupportInfo {
|
|
4
|
+
model: {
|
|
5
|
+
providerId: string;
|
|
6
|
+
modelId: string;
|
|
7
|
+
} | null;
|
|
8
|
+
supportedEfforts: EffortLevel[];
|
|
9
|
+
modelMatched: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare class CommandHandler {
|
|
12
|
+
private parseProviderModel;
|
|
13
|
+
private extractProviderId;
|
|
14
|
+
private extractProviderModelIds;
|
|
15
|
+
private extractEffortVariants;
|
|
16
|
+
private sortEffortLevels;
|
|
17
|
+
private extractProviderModels;
|
|
18
|
+
private isSameIdentifier;
|
|
19
|
+
private findProviderModel;
|
|
20
|
+
private resolveModelFromProviderPayload;
|
|
21
|
+
private getEffortSupportInfo;
|
|
22
|
+
private formatModelLabel;
|
|
23
|
+
private formatEffortList;
|
|
24
|
+
reconcilePreferredEffort(chatId: string): Promise<{
|
|
25
|
+
clearedEffort?: EffortLevel;
|
|
26
|
+
support: EffortSupportInfo;
|
|
27
|
+
}>;
|
|
28
|
+
private resolveCompactModel;
|
|
29
|
+
private resolveShellAgent;
|
|
30
|
+
private handleCompact;
|
|
31
|
+
private getPrivateSessionShortId;
|
|
32
|
+
private buildSessionTitle;
|
|
33
|
+
handle(command: ParsedCommand, context: {
|
|
34
|
+
chatId: string;
|
|
35
|
+
messageId: string;
|
|
36
|
+
senderId: string;
|
|
37
|
+
chatType: 'p2p' | 'group';
|
|
38
|
+
}): Promise<void>;
|
|
39
|
+
private handleRename;
|
|
40
|
+
private handleCronCommand;
|
|
41
|
+
private handleRestartCommand;
|
|
42
|
+
private handleStatus;
|
|
43
|
+
private handleNewSession;
|
|
44
|
+
private handleProjectList;
|
|
45
|
+
private handleProjectDefault;
|
|
46
|
+
private handleProjectDefaultShow;
|
|
47
|
+
private handleSwitchSession;
|
|
48
|
+
private handleListSessions;
|
|
49
|
+
private handleModel;
|
|
50
|
+
private handleEffort;
|
|
51
|
+
private getVisibleAgents;
|
|
52
|
+
private getAgentModePrefix;
|
|
53
|
+
private getBuiltinAgentTranslation;
|
|
54
|
+
private getAgentDisplayName;
|
|
55
|
+
private getAgentDisplayText;
|
|
56
|
+
private resolveAgentByInput;
|
|
57
|
+
private getCurrentRoleDisplay;
|
|
58
|
+
private getRuntimeDefaultAgentName;
|
|
59
|
+
private findAgentByNameInsensitive;
|
|
60
|
+
private shouldHideDefaultRoleOption;
|
|
61
|
+
private getDefaultRoleDisplay;
|
|
62
|
+
private getRoleAgentMap;
|
|
63
|
+
private handleRoleCreate;
|
|
64
|
+
private handleAgent;
|
|
65
|
+
private buildPanelCard;
|
|
66
|
+
pushPanelCard(chatId: string, chatType?: 'p2p' | 'group'): Promise<void>;
|
|
67
|
+
private handlePanel;
|
|
68
|
+
private handlePassthroughCommand;
|
|
69
|
+
private formatOutput;
|
|
70
|
+
private handleClearFreeSession;
|
|
71
|
+
private handleSendFile;
|
|
72
|
+
handleUndo(chatId: string, triggerMessageId?: string): Promise<void>;
|
|
73
|
+
}
|
|
74
|
+
export declare const commandHandler: CommandHandler;
|
|
75
|
+
export {};
|
|
76
|
+
//# sourceMappingURL=command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/handlers/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAe,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAA6C,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAgFpG,UAAU,iBAAiB;IACzB,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACtD,gBAAgB,EAAE,WAAW,EAAE,CAAC;IAChC,YAAY,EAAE,OAAO,CAAC;CACvB;AA4MD,qBAAa,cAAc;IACzB,OAAO,CAAC,kBAAkB;IAyB1B,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,uBAAuB;IA+C/B,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,qBAAqB;IAgF7B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,+BAA+B;YA2EzB,oBAAoB;IA4BlC,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,gBAAgB;IAOX,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,aAAa,CAAC,EAAE,WAAW,CAAC;QAAC,OAAO,EAAE,iBAAiB,CAAA;KAAE,CAAC;YAmB7G,mBAAmB;YAKnB,iBAAiB;YAqCjB,aAAa;IAsB3B,OAAO,CAAC,wBAAwB;IAKhC,OAAO,CAAC,iBAAiB;IAQnB,MAAM,CACV,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,KAAK,GAAG,OAAO,CAAC;KAC3B,GACA,OAAO,CAAC,IAAI,CAAC;YAsIF,YAAY;YA+BZ,iBAAiB;YAmCjB,oBAAoB;YAYpB,YAAY;YAcZ,gBAAgB;YAqDhB,iBAAiB;YAqCjB,oBAAoB;YA+BpB,wBAAwB;YASxB,mBAAmB;YAsDnB,kBAAkB;YAuJlB,WAAW;YAuGX,YAAY;IA4F1B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,0BAA0B;IAgBlC,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,mBAAmB;IAoB3B,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,0BAA0B;IAWlC,OAAO,CAAC,0BAA0B;IAMlC,OAAO,CAAC,2BAA2B;IAanC,OAAO,CAAC,qBAAqB;IAiB7B,OAAO,CAAC,eAAe;YAOT,gBAAgB;YA0EhB,WAAW;YAsDX,cAAc;IAgFf,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,KAAK,GAAG,OAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;YAKhF,WAAW;YAUX,wBAAwB;IAwDtC,OAAO,CAAC,YAAY;YAwDN,sBAAsB;YAoFtB,cAAc;IAgBf,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAiHlF;AAED,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
|