@neomei/opencode-feishu 0.2.5 → 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/CHANGELOG.md +18 -1
- package/dist/core/message-handler.d.ts +27 -9
- package/dist/core/message-handler.d.ts.map +1 -1
- package/dist/core/message-handler.js +362 -79
- package/dist/core/message-handler.js.map +1 -1
- package/dist/core/session-manager.d.ts +4 -1
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +15 -0
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/types.d.ts +49 -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 +5 -2
- package/dist/feishu/card.d.ts.map +1 -1
- package/dist/feishu/card.js +145 -18
- 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 +4 -0
- package/dist/opencode/client.d.ts.map +1 -1
- package/dist/opencode/client.js +55 -5
- package/dist/opencode/client.js.map +1 -1
- package/dist/opencode/event-handler.d.ts +6 -0
- package/dist/opencode/event-handler.d.ts.map +1 -1
- package/dist/opencode/event-handler.js +170 -10
- 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,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;
|
|
@@ -64,9 +64,31 @@ export class OpenCodeEventHandler {
|
|
|
64
64
|
case 'session.idle':
|
|
65
65
|
await this.handleSessionIdle(props);
|
|
66
66
|
break;
|
|
67
|
+
case 'permission.asked':
|
|
68
|
+
case 'permission.updated':
|
|
69
|
+
await this.handlePermissionAsked(props);
|
|
70
|
+
break;
|
|
71
|
+
case 'permission.replied':
|
|
72
|
+
await this.handlePermissionReplied(props);
|
|
73
|
+
break;
|
|
74
|
+
case 'question.asked':
|
|
75
|
+
await this.handleQuestionAsked(props);
|
|
76
|
+
break;
|
|
77
|
+
case 'question.replied':
|
|
78
|
+
await this.handleQuestionReplied(props);
|
|
79
|
+
break;
|
|
80
|
+
case 'question.rejected':
|
|
81
|
+
await this.handleQuestionRejected(props);
|
|
82
|
+
break;
|
|
83
|
+
case 'command.executed':
|
|
84
|
+
await this.handleCommandExecuted(props);
|
|
85
|
+
break;
|
|
67
86
|
case 'server.heartbeat':
|
|
68
87
|
// Silently ignore heartbeat events to reduce log noise
|
|
69
88
|
break;
|
|
89
|
+
default:
|
|
90
|
+
log.debug({ type: payload.type }, 'Unhandled event type');
|
|
91
|
+
break;
|
|
70
92
|
}
|
|
71
93
|
}
|
|
72
94
|
catch (err) {
|
|
@@ -144,7 +166,14 @@ export class OpenCodeEventHandler {
|
|
|
144
166
|
break;
|
|
145
167
|
case 'idle':
|
|
146
168
|
// 不在这里清理 currentMessage,等 session.idle 事件做 final flush 后再清
|
|
147
|
-
|
|
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
|
+
}
|
|
148
177
|
break;
|
|
149
178
|
case 'retry':
|
|
150
179
|
session.retryMessage = properties.status.message || '等待重试';
|
|
@@ -176,13 +205,18 @@ export class OpenCodeEventHandler {
|
|
|
176
205
|
return;
|
|
177
206
|
const hasContent = !!(session.currentContent && session.currentContent.length > 0);
|
|
178
207
|
const hasTools = !!(session.tools && session.tools.length > 0);
|
|
179
|
-
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) {
|
|
180
211
|
await this.flushCard(chatId, { force: true, done: true });
|
|
181
212
|
}
|
|
182
213
|
session.tools = undefined;
|
|
183
214
|
session.retryMessage = undefined;
|
|
215
|
+
session.interactionReplied = undefined;
|
|
184
216
|
this.sessionManager.updateStatus(chatId, 'idle');
|
|
185
|
-
|
|
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.
|
|
186
220
|
// Fire hook on session idle (context may have been compressed)
|
|
187
221
|
if (this.hookManager) {
|
|
188
222
|
this.hookManager.run('onSessionIdle', {
|
|
@@ -191,6 +225,108 @@ export class OpenCodeEventHandler {
|
|
|
191
225
|
}).catch(err => log.error({ err }, 'onSessionIdle hook failed'));
|
|
192
226
|
}
|
|
193
227
|
}
|
|
228
|
+
async handlePermissionAsked(properties) {
|
|
229
|
+
log.info({ sessionID: properties.sessionID }, 'handlePermissionAsked called');
|
|
230
|
+
const chatId = this.sessionManager.getChatIdBySession(properties.sessionID);
|
|
231
|
+
if (!chatId) {
|
|
232
|
+
log.warn({ sessionID: properties.sessionID, sessions: this.sessionManager.getAllSessions().map(s => ({ chatId: s.chatId, sessionId: s.id })) }, 'getChatIdBySession returned undefined');
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
const perm = properties.permission || properties.type || 'unknown';
|
|
236
|
+
const patterns = properties.patterns || (properties.pattern ? [properties.pattern] : []);
|
|
237
|
+
const title = properties.title || `${perm}: ${patterns.join(', ')}`;
|
|
238
|
+
const interaction = {
|
|
239
|
+
kind: 'permission',
|
|
240
|
+
data: {
|
|
241
|
+
id: properties.id || properties.permissionID || '',
|
|
242
|
+
permission: perm,
|
|
243
|
+
patterns,
|
|
244
|
+
title,
|
|
245
|
+
},
|
|
246
|
+
};
|
|
247
|
+
this.sessionManager.setPendingInteraction(chatId, interaction);
|
|
248
|
+
const session = this.sessionManager.getSession(chatId);
|
|
249
|
+
log.info({ chatId, permission: perm, patterns, currentMessageId: session?.currentMessageId }, 'Permission asked');
|
|
250
|
+
await this.flushCard(chatId, { force: true });
|
|
251
|
+
}
|
|
252
|
+
async handlePermissionReplied(properties) {
|
|
253
|
+
const chatId = this.sessionManager.getChatIdBySession(properties.sessionID);
|
|
254
|
+
if (!chatId)
|
|
255
|
+
return;
|
|
256
|
+
const reply = properties.reply || 'once';
|
|
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.
|
|
262
|
+
this.sessionManager.clearPendingInteraction(chatId);
|
|
263
|
+
if (hadPending) {
|
|
264
|
+
await this.flushCard(chatId, { force: true });
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
async handleQuestionAsked(properties) {
|
|
268
|
+
const chatId = this.sessionManager.getChatIdBySession(properties.sessionID);
|
|
269
|
+
if (!chatId)
|
|
270
|
+
return;
|
|
271
|
+
const rawQuestions = properties.questions || [];
|
|
272
|
+
const questions = rawQuestions.map((q) => ({
|
|
273
|
+
question: q.question || '',
|
|
274
|
+
header: q.header || q.question?.substring(0, 30) || '',
|
|
275
|
+
options: (q.options || []).map((o) => ({
|
|
276
|
+
label: o.label || '',
|
|
277
|
+
description: o.description || '',
|
|
278
|
+
})),
|
|
279
|
+
multiple: !!q.multiple,
|
|
280
|
+
custom: q.custom !== false,
|
|
281
|
+
}));
|
|
282
|
+
const interaction = {
|
|
283
|
+
kind: 'question',
|
|
284
|
+
data: {
|
|
285
|
+
id: properties.id || properties.requestID || '',
|
|
286
|
+
questions,
|
|
287
|
+
},
|
|
288
|
+
};
|
|
289
|
+
this.sessionManager.setPendingInteraction(chatId, interaction);
|
|
290
|
+
log.info({ chatId, questionCount: questions.length }, 'Question asked');
|
|
291
|
+
await this.flushCard(chatId, { force: true });
|
|
292
|
+
}
|
|
293
|
+
async handleQuestionReplied(properties) {
|
|
294
|
+
const chatId = this.sessionManager.getChatIdBySession(properties.sessionID);
|
|
295
|
+
if (!chatId)
|
|
296
|
+
return;
|
|
297
|
+
const answers = properties.answers || [];
|
|
298
|
+
const label = answers.map((a) => a.join(', ')).join('; ');
|
|
299
|
+
log.info({ chatId, label }, 'Question replied');
|
|
300
|
+
const hadPending = this.sessionManager.getPendingInteraction(chatId) !== undefined;
|
|
301
|
+
this.sessionManager.clearPendingInteraction(chatId);
|
|
302
|
+
if (hadPending) {
|
|
303
|
+
await this.flushCard(chatId, { force: true });
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
async handleQuestionRejected(properties) {
|
|
307
|
+
const chatId = this.sessionManager.getChatIdBySession(properties.sessionID);
|
|
308
|
+
if (!chatId)
|
|
309
|
+
return;
|
|
310
|
+
log.info({ chatId }, 'Question rejected');
|
|
311
|
+
const hadPending = this.sessionManager.getPendingInteraction(chatId) !== undefined;
|
|
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);
|
|
328
|
+
await this.flushCard(chatId, { force: true });
|
|
329
|
+
}
|
|
194
330
|
/**
|
|
195
331
|
* 合成并推送主流式卡片(一个 chat 对应一张持续更新的卡片)。
|
|
196
332
|
* - 首次调用:sendCard 新建一张并记录 message_id
|
|
@@ -201,8 +337,20 @@ export class OpenCodeEventHandler {
|
|
|
201
337
|
const session = this.sessionManager.getSession(chatId);
|
|
202
338
|
if (!session)
|
|
203
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;
|
|
204
350
|
const content = session.currentContent || '';
|
|
205
351
|
const tools = this.showProcess ? (session.tools || []) : [];
|
|
352
|
+
const interaction = session.pendingInteraction;
|
|
353
|
+
log.info({ chatId, hasInteraction: !!interaction, interactionKind: interaction?.kind, targetMessageId, force: opts.force, done: opts.done }, 'flushCard');
|
|
206
354
|
const card = FeishuCard.createStreamingCard({
|
|
207
355
|
content,
|
|
208
356
|
tools,
|
|
@@ -210,12 +358,20 @@ export class OpenCodeEventHandler {
|
|
|
210
358
|
retry: session.retryMessage,
|
|
211
359
|
showProcess: this.showProcess,
|
|
212
360
|
botName: this.botName,
|
|
361
|
+
interaction,
|
|
213
362
|
});
|
|
214
|
-
if (!
|
|
363
|
+
if (!targetMessageId) {
|
|
215
364
|
try {
|
|
216
365
|
const message = await this.feishuApi.sendCard(chatId, card);
|
|
217
366
|
if (message && message.message_id) {
|
|
218
|
-
|
|
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
|
+
}
|
|
219
375
|
}
|
|
220
376
|
}
|
|
221
377
|
catch (err) {
|
|
@@ -225,12 +381,16 @@ export class OpenCodeEventHandler {
|
|
|
225
381
|
}
|
|
226
382
|
const now = Date.now();
|
|
227
383
|
const lastUpdate = session.lastUpdateTime || 0;
|
|
228
|
-
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');
|
|
229
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;
|
|
230
391
|
try {
|
|
231
|
-
await this.feishuApi.updateCard(
|
|
232
|
-
|
|
233
|
-
session.lastUpdateTime = now;
|
|
392
|
+
await this.feishuApi.updateCard(targetMessageId, card);
|
|
393
|
+
log.info({ chatId, targetMessageId }, 'updateCard success');
|
|
234
394
|
}
|
|
235
395
|
catch (err) {
|
|
236
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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"}
|