@qwen-code/channel-feishu 0.21.7 → 0.21.8
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/FeishuAdapter.d.ts +34 -2
- package/dist/FeishuAdapter.d.ts.map +1 -1
- package/dist/FeishuAdapter.js +563 -161
- package/dist/FeishuAdapter.js.map +1 -1
- package/dist/question-card-controller.d.ts +37 -0
- package/dist/question-card-controller.d.ts.map +1 -0
- package/dist/question-card-controller.js +284 -0
- package/dist/question-card-controller.js.map +1 -0
- package/dist/question-card.d.ts +24 -0
- package/dist/question-card.d.ts.map +1 -0
- package/dist/question-card.js +182 -0
- package/dist/question-card.js.map +1 -0
- package/package.json +2 -2
package/dist/FeishuAdapter.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ChannelBase } from '@qwen-code/channel-base';
|
|
2
|
-
import type { ChannelConfig, ChannelBaseOptions, ChannelAgentBridge, ChannelTaskLifecycleEvent, SessionTarget } from '@qwen-code/channel-base';
|
|
2
|
+
import type { ChannelConfig, ChannelBaseOptions, Envelope, ChannelAgentBridge, ChannelOutputSegmentContext, ChannelOutputSegmentEndReason, ChannelUserInputRequestContext, UserInputPresentationResult, ChannelTaskLifecycleEvent, SessionTarget } from '@qwen-code/channel-base';
|
|
3
3
|
export declare class FeishuChannel extends ChannelBase {
|
|
4
4
|
private eventDispatcher;
|
|
5
5
|
private wsClient?;
|
|
@@ -21,6 +21,14 @@ export declare class FeishuChannel extends ChannelBase {
|
|
|
21
21
|
private botOpenId?;
|
|
22
22
|
private tokenCache?;
|
|
23
23
|
private tokenRefreshPromise?;
|
|
24
|
+
private questionCardController;
|
|
25
|
+
private tokenRefreshHasCoreWaiters;
|
|
26
|
+
private readonly observedUserNames;
|
|
27
|
+
private readonly observedChatNames;
|
|
28
|
+
private readonly observedUserLookups;
|
|
29
|
+
private readonly observedChatLookups;
|
|
30
|
+
private readonly observedContactWrites;
|
|
31
|
+
private hydratedObservedNames;
|
|
24
32
|
private collapsible;
|
|
25
33
|
private collapsibleThreshold;
|
|
26
34
|
constructor(name: string, config: ChannelConfig, bridge: ChannelAgentBridge, options?: ChannelBaseOptions);
|
|
@@ -44,16 +52,35 @@ export declare class FeishuChannel extends ChannelBase {
|
|
|
44
52
|
private extractCardText;
|
|
45
53
|
private getTenantAccessToken;
|
|
46
54
|
private refreshToken;
|
|
55
|
+
private hydrateObservedNames;
|
|
56
|
+
/** Evicts the oldest-inserted entries once a runtime cache exceeds the cap. */
|
|
57
|
+
private capObservedCache;
|
|
58
|
+
private observedUserName;
|
|
59
|
+
private observedChatName;
|
|
60
|
+
private observedNameLookup;
|
|
61
|
+
protected onObservedContact(envelope: Envelope): void;
|
|
62
|
+
private observedContactKey;
|
|
63
|
+
private enrichObservedContact;
|
|
47
64
|
sendMessage(chatId: string, text: string): Promise<void>;
|
|
48
65
|
protected pushProactive(target: SessionTarget, text: string): Promise<void>;
|
|
49
66
|
protected pushProactiveDelivery(target: SessionTarget, text: string): Promise<void>;
|
|
50
67
|
private sendMessageInternal;
|
|
68
|
+
private sendInteractiveCard;
|
|
69
|
+
private patchInteractiveCard;
|
|
51
70
|
private createStreamingCard;
|
|
52
71
|
private updateCard;
|
|
72
|
+
protected presentUserInputRequest(context: ChannelUserInputRequestContext): Promise<UserInputPresentationResult>;
|
|
53
73
|
/** Delete a card message from Feishu to prevent orphaned "思考中..." cards. */
|
|
54
74
|
private deleteCard;
|
|
55
75
|
protected onResponseChunk(chatId: string, chunk: string, sessionId: string): void;
|
|
76
|
+
/** Runs one throttled streaming PATCH, then re-runs once when timer fires
|
|
77
|
+
* coalesced behind it (`updateQueued`) so the latest buffer still goes out.
|
|
78
|
+
* `pendingUpdatePromise` covers the whole chain so finalization can drain
|
|
79
|
+
* every in-flight update before sending the final patch. */
|
|
80
|
+
private runThrottledCardUpdate;
|
|
56
81
|
protected onResponseBoundary(_chatId: string, sessionId: string): void;
|
|
82
|
+
protected onOutputSegmentEnd(chatId: string, sessionId: string, _segment: ChannelOutputSegmentContext, reason: ChannelOutputSegmentEndReason): Promise<void>;
|
|
83
|
+
private endOutputCardBeforeInputRequest;
|
|
57
84
|
private isKnownInboundMessageId;
|
|
58
85
|
private knownInboundMessageId;
|
|
59
86
|
private statusLabelFor;
|
|
@@ -61,7 +88,7 @@ export declare class FeishuChannel extends ChannelBase {
|
|
|
61
88
|
private finalizeStoppedCardUpdate;
|
|
62
89
|
protected onTaskLifecycle(event: ChannelTaskLifecycleEvent): void;
|
|
63
90
|
protected onResponseComplete(chatId: string, fullText: string, sessionId: string): Promise<void>;
|
|
64
|
-
protected onPromptStart(
|
|
91
|
+
protected onPromptStart(_chatId: string, sessionId: string, messageId?: string): void;
|
|
65
92
|
protected onPromptEnd(_chatId: string, sessionId: string, messageId?: string): Promise<void>;
|
|
66
93
|
private addReaction;
|
|
67
94
|
private removeReaction;
|
|
@@ -77,7 +104,12 @@ export declare class FeishuChannel extends ChannelBase {
|
|
|
77
104
|
* Collapses consecutive table rows into a single replacement line.
|
|
78
105
|
*/
|
|
79
106
|
private stripTables;
|
|
107
|
+
/** Truncate card content to the Feishu card size limit, keeping the tail.
|
|
108
|
+
* `reservedChars` covers content rendered alongside the text (greeting
|
|
109
|
+
* prefix, status block) that must fit the same limit. */
|
|
110
|
+
private truncateCardText;
|
|
80
111
|
private cleanupCard;
|
|
112
|
+
private releaseOutputCard;
|
|
81
113
|
private onMessage;
|
|
82
114
|
/**
|
|
83
115
|
* Extract text and media keys from Feishu message content.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeishuAdapter.d.ts","sourceRoot":"","sources":["../src/FeishuAdapter.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,WAAW,
|
|
1
|
+
{"version":3,"file":"FeishuAdapter.d.ts","sourceRoot":"","sources":["../src/FeishuAdapter.ts"],"names":[],"mappings":"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"}
|