@neomei/opencode-feishu 0.2.6 → 0.2.7
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/dist/core/message-handler.d.ts +18 -11
- package/dist/core/message-handler.d.ts.map +1 -1
- package/dist/core/message-handler.js +266 -97
- package/dist/core/message-handler.js.map +1 -1
- package/dist/core/types.d.ts +21 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/feishu/api.d.ts +6 -0
- package/dist/feishu/api.d.ts.map +1 -1
- package/dist/feishu/api.js +71 -6
- package/dist/feishu/api.js.map +1 -1
- package/dist/feishu/card.d.ts +3 -4
- package/dist/feishu/card.d.ts.map +1 -1
- package/dist/feishu/card.js +61 -94
- package/dist/feishu/card.js.map +1 -1
- package/dist/feishu/event-source.d.ts +6 -0
- package/dist/feishu/event-source.d.ts.map +1 -1
- package/dist/feishu/event-source.js +54 -0
- package/dist/feishu/event-source.js.map +1 -1
- package/dist/opencode/client.d.ts +1 -0
- package/dist/opencode/client.d.ts.map +1 -1
- package/dist/opencode/client.js +28 -9
- package/dist/opencode/client.js.map +1 -1
- package/dist/opencode/event-handler.d.ts +1 -0
- package/dist/opencode/event-handler.d.ts.map +1 -1
- package/dist/opencode/event-handler.js +82 -16
- package/dist/opencode/event-handler.js.map +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +10 -3
- package/dist/plugin.js.map +1 -1
- package/dist/services/doc-service.d.ts +11 -45
- package/dist/services/doc-service.d.ts.map +1 -1
- package/dist/services/doc-service.js +72 -174
- package/dist/services/doc-service.js.map +1 -1
- package/dist/services/im-service.d.ts.map +1 -1
- package/dist/services/im-service.js +10 -6
- package/dist/services/im-service.js.map +1 -1
- package/dist/standalone.d.ts.map +1 -1
- package/dist/standalone.js +10 -3
- package/dist/standalone.js.map +1 -1
- package/dist/types/extended.d.ts +2 -1
- package/dist/types/extended.d.ts.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-source.js","sourceRoot":"","sources":["../../src/feishu/event-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,IAAI,MAAM,yBAAyB,CAAC;AAGhD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,GAAG,GAAG,YAAY,CAAC,mBAAmB,CAAC,CAAC;AAE9C
|
|
1
|
+
{"version":3,"file":"event-source.js","sourceRoot":"","sources":["../../src/feishu/event-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/opencode/client.ts"],"names":[],"mappings":"AAEA,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAA0C;IACxD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/opencode/client.ts"],"names":[],"mappings":"AAEA,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAA0C;IACxD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;IAmB/E,OAAO,CAAC,WAAW;IAcb,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAY3C,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IA8BlI,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC;IAK/B,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAU7D,YAAY,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAU9B,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpD;;;;OAIG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUlD,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAazF,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAavE,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAelF,UAAU,IAAI,MAAM;IAIpB,YAAY,IAAI,MAAM;CAGvB"}
|
package/dist/opencode/client.js
CHANGED
|
@@ -18,12 +18,28 @@ export class OpenCodeClient {
|
|
|
18
18
|
}
|
|
19
19
|
this.client = createOpencodeClient(config);
|
|
20
20
|
}
|
|
21
|
+
formatError(error) {
|
|
22
|
+
if (typeof error === 'string')
|
|
23
|
+
return error;
|
|
24
|
+
if (error instanceof Error)
|
|
25
|
+
return error.message;
|
|
26
|
+
try {
|
|
27
|
+
// Try to stringify with all own property names (including non-enumerable)
|
|
28
|
+
const props = error && typeof error === 'object'
|
|
29
|
+
? Object.getOwnPropertyNames(error)
|
|
30
|
+
: undefined;
|
|
31
|
+
return JSON.stringify(error, props);
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
return String(error);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
21
37
|
async createSession(title) {
|
|
22
38
|
const { data, error } = await this.client.session.create({
|
|
23
39
|
title: title || 'Feishu Chat',
|
|
24
40
|
});
|
|
25
41
|
if (error) {
|
|
26
|
-
throw new Error(`Failed to create session: ${error}`);
|
|
42
|
+
throw new Error(`Failed to create session: ${this.formatError(error)}`);
|
|
27
43
|
}
|
|
28
44
|
return data;
|
|
29
45
|
}
|
|
@@ -41,12 +57,14 @@ export class OpenCodeClient {
|
|
|
41
57
|
});
|
|
42
58
|
}
|
|
43
59
|
}
|
|
44
|
-
|
|
60
|
+
// Use promptAsync so the call returns immediately instead of blocking
|
|
61
|
+
// until the AI finishes. Responses arrive through the event stream.
|
|
62
|
+
const { data, error } = await this.client.session.promptAsync({
|
|
45
63
|
sessionID: sessionId,
|
|
46
64
|
parts,
|
|
47
65
|
});
|
|
48
66
|
if (error) {
|
|
49
|
-
throw new Error(`Failed to send prompt: ${error}`);
|
|
67
|
+
throw new Error(`Failed to send prompt: ${this.formatError(error)}`);
|
|
50
68
|
}
|
|
51
69
|
return data;
|
|
52
70
|
}
|
|
@@ -57,14 +75,14 @@ export class OpenCodeClient {
|
|
|
57
75
|
async getSessionStatus() {
|
|
58
76
|
const { data, error } = await this.client.session.status({});
|
|
59
77
|
if (error) {
|
|
60
|
-
throw new Error(`Failed to get session status: ${error}`);
|
|
78
|
+
throw new Error(`Failed to get session status: ${this.formatError(error)}`);
|
|
61
79
|
}
|
|
62
80
|
return data || {};
|
|
63
81
|
}
|
|
64
82
|
async listSessions() {
|
|
65
83
|
const { data, error } = await this.client.session.list({});
|
|
66
84
|
if (error) {
|
|
67
|
-
throw new Error(`Failed to list sessions: ${error}`);
|
|
85
|
+
throw new Error(`Failed to list sessions: ${this.formatError(error)}`);
|
|
68
86
|
}
|
|
69
87
|
return data || [];
|
|
70
88
|
}
|
|
@@ -95,7 +113,7 @@ export class OpenCodeClient {
|
|
|
95
113
|
reply,
|
|
96
114
|
});
|
|
97
115
|
if (error) {
|
|
98
|
-
throw new Error(`Failed to reply to permission: ${error}`);
|
|
116
|
+
throw new Error(`Failed to reply to permission: ${this.formatError(error)}`);
|
|
99
117
|
}
|
|
100
118
|
return !!data;
|
|
101
119
|
}
|
|
@@ -105,7 +123,7 @@ export class OpenCodeClient {
|
|
|
105
123
|
answers,
|
|
106
124
|
});
|
|
107
125
|
if (error) {
|
|
108
|
-
throw new Error(`Failed to reply to question: ${error}`);
|
|
126
|
+
throw new Error(`Failed to reply to question: ${this.formatError(error)}`);
|
|
109
127
|
}
|
|
110
128
|
return !!data;
|
|
111
129
|
}
|
|
@@ -113,10 +131,11 @@ export class OpenCodeClient {
|
|
|
113
131
|
const { data, error } = await this.client.session.command({
|
|
114
132
|
sessionID: sessionId,
|
|
115
133
|
command,
|
|
116
|
-
arguments: args,
|
|
134
|
+
arguments: args || '',
|
|
117
135
|
});
|
|
118
136
|
if (error) {
|
|
119
|
-
|
|
137
|
+
const msg = typeof error === 'string' ? error : JSON.stringify(error);
|
|
138
|
+
throw new Error(`Failed to send command: ${msg}`);
|
|
120
139
|
}
|
|
121
140
|
return data;
|
|
122
141
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/opencode/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,MAAM,OAAO,cAAc;IACjB,MAAM,CAA0C;IAChD,OAAO,CAAS;IAChB,SAAS,CAAS;IAE1B,YAAY,OAAmE;QAC7E,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAEpD,MAAM,MAAM,GAAQ;YAClB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;QAEF,iBAAiB;QACjB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,CAAC,OAAO,GAAG;gBACf,eAAe,EAAE,SAAS,MAAM,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;aAC3F,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAc;QAChC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YACvD,KAAK,EAAE,KAAK,IAAI,aAAa;SAC9B,CAAC,CAAC;QAEH,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/opencode/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,7 @@ export declare class OpenCodeEventHandler {
|
|
|
25
25
|
private handleQuestionAsked;
|
|
26
26
|
private handleQuestionReplied;
|
|
27
27
|
private handleQuestionRejected;
|
|
28
|
+
private handleCommandExecuted;
|
|
28
29
|
/**
|
|
29
30
|
* 合成并推送主流式卡片(一个 chat 对应一张持续更新的卡片)。
|
|
30
31
|
* - 首次调用:sendCard 新建一张并记录 message_id
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-handler.d.ts","sourceRoot":"","sources":["../../src/opencode/event-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAQ3D,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,OAAO,CAAS;gBAEtB,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,SAAS,EACpB,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,UAAQ,EACnB,OAAO,SAAO;IAUV,KAAK,CAAC,WAAW,EAAE;QAAE,MAAM,EAAE,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBvF,IAAI,IAAI,IAAI;YAKE,WAAW;
|
|
1
|
+
{"version":3,"file":"event-handler.d.ts","sourceRoot":"","sources":["../../src/opencode/event-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAQ3D,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,OAAO,CAAS;gBAEtB,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,SAAS,EACpB,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,UAAQ,EACnB,OAAO,SAAO;IAUV,KAAK,CAAC,WAAW,EAAE;QAAE,MAAM,EAAE,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBvF,IAAI,IAAI,IAAI;YAKE,WAAW;YAoDX,eAAe;YAsBf,gBAAgB;YA0ChB,kBAAkB;YAsClB,WAAW;YAkBX,iBAAiB;YAkCjB,qBAAqB;YA4BrB,uBAAuB;YAiBvB,mBAAmB;YA6BnB,qBAAqB;YAerB,sBAAsB;YAatB,qBAAqB;IAmBnC;;;;;OAKG;YACW,SAAS;CAoExB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { FeishuCard } from '../feishu/card.js';
|
|
2
2
|
import { createLogger } from '../core/logger.js';
|
|
3
3
|
const log = createLogger('EventHandler');
|
|
4
|
-
const UPDATE_THROTTLE_MS =
|
|
4
|
+
const UPDATE_THROTTLE_MS = 2000;
|
|
5
5
|
export class OpenCodeEventHandler {
|
|
6
6
|
sessionManager;
|
|
7
7
|
feishuApi;
|
|
@@ -81,11 +81,14 @@ export class OpenCodeEventHandler {
|
|
|
81
81
|
await this.handleQuestionRejected(props);
|
|
82
82
|
break;
|
|
83
83
|
case 'command.executed':
|
|
84
|
-
|
|
84
|
+
await this.handleCommandExecuted(props);
|
|
85
85
|
break;
|
|
86
86
|
case 'server.heartbeat':
|
|
87
87
|
// Silently ignore heartbeat events to reduce log noise
|
|
88
88
|
break;
|
|
89
|
+
default:
|
|
90
|
+
log.debug({ type: payload.type }, 'Unhandled event type');
|
|
91
|
+
break;
|
|
89
92
|
}
|
|
90
93
|
}
|
|
91
94
|
catch (err) {
|
|
@@ -163,7 +166,14 @@ export class OpenCodeEventHandler {
|
|
|
163
166
|
break;
|
|
164
167
|
case 'idle':
|
|
165
168
|
// 不在这里清理 currentMessage,等 session.idle 事件做 final flush 后再清
|
|
166
|
-
|
|
169
|
+
// 但如果用户在处理交互(权限/问题),保持 busy 状态,防止新消息绕过检查。
|
|
170
|
+
if (session.pendingInteraction) {
|
|
171
|
+
log.info({ chatId, interactionKind: session.pendingInteraction.kind }, 'OpenCode reports idle but pending interaction remains; keeping status busy');
|
|
172
|
+
session.status = 'busy';
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
session.status = 'idle';
|
|
176
|
+
}
|
|
167
177
|
break;
|
|
168
178
|
case 'retry':
|
|
169
179
|
session.retryMessage = properties.status.message || '等待重试';
|
|
@@ -195,13 +205,18 @@ export class OpenCodeEventHandler {
|
|
|
195
205
|
return;
|
|
196
206
|
const hasContent = !!(session.currentContent && session.currentContent.length > 0);
|
|
197
207
|
const hasTools = !!(session.tools && session.tools.length > 0);
|
|
198
|
-
if
|
|
208
|
+
// Always finalize the card if one exists, even when the bot turn produced
|
|
209
|
+
// no text (e.g. slash commands that only trigger side effects).
|
|
210
|
+
if (hasContent || hasTools || session.currentMessageId) {
|
|
199
211
|
await this.flushCard(chatId, { force: true, done: true });
|
|
200
212
|
}
|
|
201
213
|
session.tools = undefined;
|
|
202
214
|
session.retryMessage = undefined;
|
|
215
|
+
session.interactionReplied = undefined;
|
|
203
216
|
this.sessionManager.updateStatus(chatId, 'idle');
|
|
204
|
-
|
|
217
|
+
// Don't clear currentMessageId here — let MessageHandler clear it when a
|
|
218
|
+
// new user message arrives. This prevents race conditions where AI sends
|
|
219
|
+
// a card (via MCP) and our flushCard updates the wrong message.
|
|
205
220
|
// Fire hook on session idle (context may have been compressed)
|
|
206
221
|
if (this.hookManager) {
|
|
207
222
|
this.hookManager.run('onSessionIdle', {
|
|
@@ -211,9 +226,12 @@ export class OpenCodeEventHandler {
|
|
|
211
226
|
}
|
|
212
227
|
}
|
|
213
228
|
async handlePermissionAsked(properties) {
|
|
229
|
+
log.info({ sessionID: properties.sessionID }, 'handlePermissionAsked called');
|
|
214
230
|
const chatId = this.sessionManager.getChatIdBySession(properties.sessionID);
|
|
215
|
-
if (!chatId)
|
|
231
|
+
if (!chatId) {
|
|
232
|
+
log.warn({ sessionID: properties.sessionID, sessions: this.sessionManager.getAllSessions().map(s => ({ chatId: s.chatId, sessionId: s.id })) }, 'getChatIdBySession returned undefined');
|
|
216
233
|
return;
|
|
234
|
+
}
|
|
217
235
|
const perm = properties.permission || properties.type || 'unknown';
|
|
218
236
|
const patterns = properties.patterns || (properties.pattern ? [properties.pattern] : []);
|
|
219
237
|
const title = properties.title || `${perm}: ${patterns.join(', ')}`;
|
|
@@ -227,7 +245,8 @@ export class OpenCodeEventHandler {
|
|
|
227
245
|
},
|
|
228
246
|
};
|
|
229
247
|
this.sessionManager.setPendingInteraction(chatId, interaction);
|
|
230
|
-
|
|
248
|
+
const session = this.sessionManager.getSession(chatId);
|
|
249
|
+
log.info({ chatId, permission: perm, patterns, currentMessageId: session?.currentMessageId }, 'Permission asked');
|
|
231
250
|
await this.flushCard(chatId, { force: true });
|
|
232
251
|
}
|
|
233
252
|
async handlePermissionReplied(properties) {
|
|
@@ -235,9 +254,15 @@ export class OpenCodeEventHandler {
|
|
|
235
254
|
if (!chatId)
|
|
236
255
|
return;
|
|
237
256
|
const reply = properties.reply || 'once';
|
|
238
|
-
|
|
257
|
+
const hadPending = this.sessionManager.getPendingInteraction(chatId) !== undefined;
|
|
258
|
+
log.info({ chatId, reply, hadPending }, 'Permission replied');
|
|
259
|
+
// Only flush if the interaction was still pending (i.e. user replied via text).
|
|
260
|
+
// If the user already clicked a card button, handleCardAction already updated
|
|
261
|
+
// the card to a confirmation state — don't overwrite it.
|
|
239
262
|
this.sessionManager.clearPendingInteraction(chatId);
|
|
240
|
-
|
|
263
|
+
if (hadPending) {
|
|
264
|
+
await this.flushCard(chatId, { force: true });
|
|
265
|
+
}
|
|
241
266
|
}
|
|
242
267
|
async handleQuestionAsked(properties) {
|
|
243
268
|
const chatId = this.sessionManager.getChatIdBySession(properties.sessionID);
|
|
@@ -272,15 +297,34 @@ export class OpenCodeEventHandler {
|
|
|
272
297
|
const answers = properties.answers || [];
|
|
273
298
|
const label = answers.map((a) => a.join(', ')).join('; ');
|
|
274
299
|
log.info({ chatId, label }, 'Question replied');
|
|
300
|
+
const hadPending = this.sessionManager.getPendingInteraction(chatId) !== undefined;
|
|
275
301
|
this.sessionManager.clearPendingInteraction(chatId);
|
|
276
|
-
|
|
302
|
+
if (hadPending) {
|
|
303
|
+
await this.flushCard(chatId, { force: true });
|
|
304
|
+
}
|
|
277
305
|
}
|
|
278
306
|
async handleQuestionRejected(properties) {
|
|
279
307
|
const chatId = this.sessionManager.getChatIdBySession(properties.sessionID);
|
|
280
308
|
if (!chatId)
|
|
281
309
|
return;
|
|
282
310
|
log.info({ chatId }, 'Question rejected');
|
|
311
|
+
const hadPending = this.sessionManager.getPendingInteraction(chatId) !== undefined;
|
|
283
312
|
this.sessionManager.clearPendingInteraction(chatId);
|
|
313
|
+
if (hadPending) {
|
|
314
|
+
await this.flushCard(chatId, { force: true });
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
async handleCommandExecuted(properties) {
|
|
318
|
+
const chatId = this.sessionManager.getChatIdBySession(properties.sessionID);
|
|
319
|
+
if (!chatId)
|
|
320
|
+
return;
|
|
321
|
+
const commandName = properties.name || 'unknown';
|
|
322
|
+
const args = properties.arguments || '';
|
|
323
|
+
log.info({ chatId, command: commandName, args }, 'Command executed');
|
|
324
|
+
// Append a command notice to the session content so the user sees
|
|
325
|
+
// feedback in the card (and the thinking animation stops).
|
|
326
|
+
const notice = `⚡ 命令 \`/${commandName}\`${args ? ` \`${args}\`` : ''} 已执行`;
|
|
327
|
+
this.sessionManager.appendContent(chatId, notice);
|
|
284
328
|
await this.flushCard(chatId, { force: true });
|
|
285
329
|
}
|
|
286
330
|
/**
|
|
@@ -293,9 +337,20 @@ export class OpenCodeEventHandler {
|
|
|
293
337
|
const session = this.sessionManager.getSession(chatId);
|
|
294
338
|
if (!session)
|
|
295
339
|
return;
|
|
340
|
+
// When the user replied via card button, the confirmation card should stay
|
|
341
|
+
// as-is. Skip flushCard updates so the AI streaming output doesn't overwrite
|
|
342
|
+
// the confirmation state. The flag is cleared on session.idle.
|
|
343
|
+
if (session.interactionReplied) {
|
|
344
|
+
log.info({ chatId, targetMessageId: session.currentMessageId, done: opts.done }, 'flushCard skipped: interaction was handled via card');
|
|
345
|
+
return;
|
|
346
|
+
}
|
|
347
|
+
// Capture target message ID at the start so concurrent flushCard calls
|
|
348
|
+
// don't race against each other and update different messages.
|
|
349
|
+
const targetMessageId = session.currentMessageId;
|
|
296
350
|
const content = session.currentContent || '';
|
|
297
351
|
const tools = this.showProcess ? (session.tools || []) : [];
|
|
298
352
|
const interaction = session.pendingInteraction;
|
|
353
|
+
log.info({ chatId, hasInteraction: !!interaction, interactionKind: interaction?.kind, targetMessageId, force: opts.force, done: opts.done }, 'flushCard');
|
|
299
354
|
const card = FeishuCard.createStreamingCard({
|
|
300
355
|
content,
|
|
301
356
|
tools,
|
|
@@ -305,11 +360,18 @@ export class OpenCodeEventHandler {
|
|
|
305
360
|
botName: this.botName,
|
|
306
361
|
interaction,
|
|
307
362
|
});
|
|
308
|
-
if (!
|
|
363
|
+
if (!targetMessageId) {
|
|
309
364
|
try {
|
|
310
365
|
const message = await this.feishuApi.sendCard(chatId, card);
|
|
311
366
|
if (message && message.message_id) {
|
|
312
|
-
|
|
367
|
+
// Only set currentMessageId if it hasn't been set by another concurrent flushCard
|
|
368
|
+
if (!session.currentMessageId) {
|
|
369
|
+
this.sessionManager.setCurrentMessage(chatId, message.message_id);
|
|
370
|
+
log.info({ chatId, messageId: message.message_id }, 'sendCard created new card');
|
|
371
|
+
}
|
|
372
|
+
else {
|
|
373
|
+
log.info({ chatId, messageId: message.message_id, existingMessageId: session.currentMessageId }, 'sendCard created card but currentMessageId already set by concurrent flushCard');
|
|
374
|
+
}
|
|
313
375
|
}
|
|
314
376
|
}
|
|
315
377
|
catch (err) {
|
|
@@ -319,12 +381,16 @@ export class OpenCodeEventHandler {
|
|
|
319
381
|
}
|
|
320
382
|
const now = Date.now();
|
|
321
383
|
const lastUpdate = session.lastUpdateTime || 0;
|
|
322
|
-
if (!opts.force && now - lastUpdate <= UPDATE_THROTTLE_MS)
|
|
384
|
+
if (!opts.force && now - lastUpdate <= UPDATE_THROTTLE_MS) {
|
|
385
|
+
log.info({ chatId, targetMessageId, elapsed: now - lastUpdate }, 'flushCard throttled');
|
|
323
386
|
return;
|
|
387
|
+
}
|
|
388
|
+
// Update timestamp immediately to prevent concurrent flushCard calls
|
|
389
|
+
// from all passing the throttle check while this one awaits updateCard.
|
|
390
|
+
session.lastUpdateTime = now;
|
|
324
391
|
try {
|
|
325
|
-
await this.feishuApi.updateCard(
|
|
326
|
-
|
|
327
|
-
session.lastUpdateTime = now;
|
|
392
|
+
await this.feishuApi.updateCard(targetMessageId, card);
|
|
393
|
+
log.info({ chatId, targetMessageId }, 'updateCard success');
|
|
328
394
|
}
|
|
329
395
|
catch (err) {
|
|
330
396
|
log.error({ err }, 'Failed to update card');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-handler.js","sourceRoot":"","sources":["../../src/opencode/event-handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"event-handler.js","sourceRoot":"","sources":["../../src/opencode/event-handler.ts"],"names":[],"mappings":"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"}
|
package/dist/plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAe,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAe,MAAM,mBAAmB,CAAC;AAY7D,QAAA,MAAM,YAAY,EAAE,MA8EnB,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
package/dist/plugin.js
CHANGED
|
@@ -5,7 +5,6 @@ import { FeishuAPI } from './feishu/api.js';
|
|
|
5
5
|
import { FeishuEventSource } from './feishu/event-source.js';
|
|
6
6
|
import { OpenCodeClient } from './opencode/client.js';
|
|
7
7
|
import { OpenCodeEventHandler } from './opencode/event-handler.js';
|
|
8
|
-
import { DocService } from './services/doc-service.js';
|
|
9
8
|
import { createLogger } from './core/logger.js';
|
|
10
9
|
const log = createLogger('plugin');
|
|
11
10
|
const FeishuPlugin = {
|
|
@@ -25,8 +24,7 @@ const FeishuPlugin = {
|
|
|
25
24
|
});
|
|
26
25
|
const botName = parseBotName(directory || project?.root || process.cwd());
|
|
27
26
|
const sessionManager = new SessionManager(opencode);
|
|
28
|
-
const
|
|
29
|
-
const messageHandler = new MessageHandler(config, sessionManager, feishuApi, opencode, docService, botName);
|
|
27
|
+
const messageHandler = new MessageHandler(config, sessionManager, feishuApi, opencode, botName);
|
|
30
28
|
let eventHandler;
|
|
31
29
|
if (config.streaming) {
|
|
32
30
|
eventHandler = new OpenCodeEventHandler(sessionManager, feishuApi, undefined, undefined, config.showProcess, botName);
|
|
@@ -50,6 +48,15 @@ const FeishuPlugin = {
|
|
|
50
48
|
log.error({ err }, 'Message handling failed');
|
|
51
49
|
}
|
|
52
50
|
});
|
|
51
|
+
feishuEvents.on('cardAction', async (action) => {
|
|
52
|
+
try {
|
|
53
|
+
return await messageHandler.handleCardAction(action);
|
|
54
|
+
}
|
|
55
|
+
catch (err) {
|
|
56
|
+
log.error({ err }, 'Card action handling failed');
|
|
57
|
+
return { toast: { type: 'error', content: '操作处理失败' } };
|
|
58
|
+
}
|
|
59
|
+
});
|
|
53
60
|
await feishuEvents.connect();
|
|
54
61
|
log.info('Connected to Feishu');
|
|
55
62
|
return {
|
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,25 +4,16 @@ import type { DocumentContent, DocumentSearchResult, ResourceUploadResult, Feish
|
|
|
4
4
|
/**
|
|
5
5
|
* Document Service
|
|
6
6
|
* Provides document operations: create, read, search, update
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* Aligned with lark-cli docs features:
|
|
10
|
-
* - +create: Create from XML/Markdown content
|
|
11
|
-
* - +fetch: Read with detail/scope support
|
|
12
|
-
* - +update: 8 commands (str_replace, block_insert_after, etc.)
|
|
13
|
-
* - +search: Cloud space search
|
|
7
|
+
* Uses Feishu SDK semantic methods where available.
|
|
14
8
|
*/
|
|
15
9
|
export declare class DocService extends BaseService {
|
|
16
10
|
constructor(api: FeishuAPI);
|
|
17
11
|
/**
|
|
18
|
-
* Create a new
|
|
19
|
-
* Supports XML (default) and Markdown formats.
|
|
12
|
+
* Create a new blank docx document.
|
|
20
13
|
*/
|
|
21
14
|
createDocument(options: {
|
|
22
|
-
|
|
23
|
-
format?: 'xml' | 'markdown';
|
|
15
|
+
title?: string;
|
|
24
16
|
parentToken?: string;
|
|
25
|
-
parentPosition?: string;
|
|
26
17
|
}): Promise<{
|
|
27
18
|
documentId: string;
|
|
28
19
|
revisionId: number;
|
|
@@ -30,7 +21,8 @@ export declare class DocService extends BaseService {
|
|
|
30
21
|
title: string;
|
|
31
22
|
}>;
|
|
32
23
|
/**
|
|
33
|
-
* Create a document from Markdown content
|
|
24
|
+
* Create a document from Markdown content.
|
|
25
|
+
* Creates a blank document, then inserts parsed blocks via SDK.
|
|
34
26
|
*/
|
|
35
27
|
createDocumentFromMarkdown(title: string, markdown: string, options?: {
|
|
36
28
|
parentToken?: string;
|
|
@@ -42,16 +34,6 @@ export declare class DocService extends BaseService {
|
|
|
42
34
|
}>;
|
|
43
35
|
/**
|
|
44
36
|
* Fetch document content with support for detail levels and scopes.
|
|
45
|
-
*
|
|
46
|
-
* @param docToken - Document token or URL
|
|
47
|
-
* @param options - Fetch options
|
|
48
|
-
* - detail: 'simple' | 'with-ids' | 'full' (default: 'simple')
|
|
49
|
-
* - scope: 'outline' | 'section' | 'range' | 'keyword' (default: undefined = full doc)
|
|
50
|
-
* - docFormat: 'xml' | 'markdown' | 'text' (default: 'markdown')
|
|
51
|
-
* - startBlockId: For section/range scope
|
|
52
|
-
* - endBlockId: For range scope
|
|
53
|
-
* - keyword: For keyword scope
|
|
54
|
-
* - maxDepth: For outline scope (heading depth limit)
|
|
55
37
|
*/
|
|
56
38
|
fetchDocument(docToken: string, options?: {
|
|
57
39
|
detail?: 'simple' | 'with-ids' | 'full';
|
|
@@ -64,7 +46,6 @@ export declare class DocService extends BaseService {
|
|
|
64
46
|
}): Promise<DocumentContent>;
|
|
65
47
|
/**
|
|
66
48
|
* Get document outline (table of contents).
|
|
67
|
-
* Returns heading structure up to specified depth.
|
|
68
49
|
*/
|
|
69
50
|
getDocumentOutline(docToken: string, maxDepth?: number): Promise<Array<{
|
|
70
51
|
level: number;
|
|
@@ -72,30 +53,11 @@ export declare class DocService extends BaseService {
|
|
|
72
53
|
blockId: string;
|
|
73
54
|
}>>;
|
|
74
55
|
/**
|
|
75
|
-
* Update
|
|
76
|
-
*
|
|
77
|
-
* Commands:
|
|
78
|
-
* - str_replace: Find and replace text
|
|
79
|
-
* - block_insert_after: Insert after a block
|
|
80
|
-
* - block_replace: Replace a block
|
|
81
|
-
* - block_delete: Delete block(s)
|
|
82
|
-
* - block_copy_insert_after: Copy blocks and insert after
|
|
83
|
-
* - block_move_after: Move blocks after a position
|
|
84
|
-
* - append: Append to end of document
|
|
85
|
-
* - overwrite: Overwrite entire document
|
|
56
|
+
* Update a single block's content via SDK patch.
|
|
86
57
|
*/
|
|
87
|
-
|
|
88
|
-
content?: string;
|
|
89
|
-
pattern?: string;
|
|
90
|
-
blockId?: string;
|
|
91
|
-
srcBlockIds?: string[];
|
|
92
|
-
docFormat?: 'xml' | 'markdown';
|
|
93
|
-
}): Promise<{
|
|
94
|
-
revisionId: number;
|
|
95
|
-
}>;
|
|
58
|
+
patchBlock(docToken: string, blockId: string, blockData: any): Promise<void>;
|
|
96
59
|
/**
|
|
97
60
|
* Search documents in cloud space.
|
|
98
|
-
* Supports advanced query syntax.
|
|
99
61
|
*/
|
|
100
62
|
searchDocuments(query: string, options?: {
|
|
101
63
|
pageSize?: number;
|
|
@@ -127,6 +89,10 @@ export declare class DocService extends BaseService {
|
|
|
127
89
|
* Upload a resource (image/file) to a document.
|
|
128
90
|
*/
|
|
129
91
|
uploadResource(filePath: string, fileName?: string): Promise<ResourceUploadResult>;
|
|
92
|
+
/**
|
|
93
|
+
* Insert blocks under a parent block.
|
|
94
|
+
*/
|
|
95
|
+
private insertBlocks;
|
|
130
96
|
private parseSearchResult;
|
|
131
97
|
private mapDocType;
|
|
132
98
|
private guessMimeType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doc-service.d.ts","sourceRoot":"","sources":["../../src/services/doc-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"doc-service.d.ts","sourceRoot":"","sources":["../../src/services/doc-service.ts"],"names":[],"mappings":"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"}
|