@qwen-code/channel-dingtalk 0.23.1-preview.1 → 0.23.1
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/DingtalkAdapter.d.ts +65 -3
- package/dist/DingtalkAdapter.d.ts.map +1 -1
- package/dist/DingtalkAdapter.js +1059 -58
- package/dist/DingtalkAdapter.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/interaction-presenter.d.ts +9 -0
- package/dist/interaction-presenter.d.ts.map +1 -1
- package/dist/interaction-presenter.js +25 -2
- package/dist/interaction-presenter.js.map +1 -1
- package/dist/presentation-phase.d.ts +7 -0
- package/dist/presentation-phase.d.ts.map +1 -0
- package/dist/presentation-phase.js +85 -0
- package/dist/presentation-phase.js.map +1 -0
- package/dist/status-card-controller.d.ts +4 -0
- package/dist/status-card-controller.d.ts.map +1 -1
- package/dist/status-card-controller.js +68 -7
- package/dist/status-card-controller.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { ChannelBase } from '@qwen-code/channel-base';
|
|
2
2
|
import { DingtalkInteractiveCardClient } from './interactive-card-client.js';
|
|
3
3
|
import { type DingtalkCardCallback, type DingtalkCardCallbackResult } from './interactive-card-types.js';
|
|
4
|
-
import type { ChannelConfig, ChannelBaseOptions, Envelope, ChannelAgentBridge, ChannelOutputSegmentContext, ChannelOutputSegmentEndReason, ChannelTaskLifecycleEvent, ChannelUserInputRequestContext, SessionTarget, UserInputPresentationResult } from '@qwen-code/channel-base';
|
|
4
|
+
import type { BackgroundResponseContext, ChannelConfig, ChannelBaseOptions, Envelope, ChannelAgentBridge, ChannelOutputSegmentContext, ChannelOutputSegmentEndReason, ChannelTaskLifecycleEvent, ChannelUserInputRequestContext, SessionTarget, UserInputPresentationResult } from '@qwen-code/channel-base';
|
|
5
5
|
export declare class DingtalkChannel extends ChannelBase {
|
|
6
6
|
private client;
|
|
7
7
|
private readonly atSender;
|
|
8
|
+
private readonly displayLanguage;
|
|
8
9
|
private connectionManager?;
|
|
9
10
|
private seenMessages;
|
|
10
11
|
private mentionTargets;
|
|
@@ -15,8 +16,11 @@ export declare class DingtalkChannel extends ChannelBase {
|
|
|
15
16
|
/** Map conversationId → latest sessionWebhook URL for sending replies. */
|
|
16
17
|
private webhooks;
|
|
17
18
|
private activeReactionKeys;
|
|
19
|
+
private reactionStates;
|
|
18
20
|
/** sessionId → reaction keys, so a dead session's reactions can be recalled. */
|
|
19
21
|
private sessionReactionKeys;
|
|
22
|
+
/** Settles when the reaction cleanup queued by disconnect() has run. */
|
|
23
|
+
private disconnectDrain;
|
|
20
24
|
/**
|
|
21
25
|
* Real inbound message ids (insertion-ordered, size-capped). Unlike the
|
|
22
26
|
* TTL-swept seenMessages dedup map, entries survive long queue waits, so a
|
|
@@ -29,6 +33,7 @@ export declare class DingtalkChannel extends ChannelBase {
|
|
|
29
33
|
*/
|
|
30
34
|
private proactiveToken?;
|
|
31
35
|
private readonly interactiveCardConfig;
|
|
36
|
+
private readonly aggregateBackgroundAgentResponses;
|
|
32
37
|
protected readonly interactiveCardClient?: DingtalkInteractiveCardClient;
|
|
33
38
|
private statusCardController?;
|
|
34
39
|
private questionCardController?;
|
|
@@ -39,6 +44,10 @@ export declare class DingtalkChannel extends ChannelBase {
|
|
|
39
44
|
private readonly fileProjectors;
|
|
40
45
|
private readonly blockFileProjectors;
|
|
41
46
|
private readonly blockProjectionArmed;
|
|
47
|
+
private readonly backgroundResponseAggregations;
|
|
48
|
+
private readonly detachedBackgroundResponseAggregations;
|
|
49
|
+
private readonly pendingBackgroundResponseTerminals;
|
|
50
|
+
private readonly detachedPendingBackgroundResponseTerminals;
|
|
42
51
|
constructor(name: string, config: ChannelConfig, bridge: ChannelAgentBridge, options?: ChannelBaseOptions);
|
|
43
52
|
private createClient;
|
|
44
53
|
private installStructuredDownstreamHandler;
|
|
@@ -64,6 +73,8 @@ export declare class DingtalkChannel extends ChannelBase {
|
|
|
64
73
|
private prepareFileOutput;
|
|
65
74
|
private prepareOutgoingText;
|
|
66
75
|
private sendReply;
|
|
76
|
+
private createReplyTextDelivery;
|
|
77
|
+
private deliverReplyText;
|
|
67
78
|
sendMessage(chatId: string, text: string): Promise<void>;
|
|
68
79
|
protected sendThreadMessage(chatId: string, _threadId: string | undefined, text: string, sourceLabel?: string): Promise<void>;
|
|
69
80
|
supportsProactiveSend(): boolean;
|
|
@@ -75,6 +86,8 @@ export declare class DingtalkChannel extends ChannelBase {
|
|
|
75
86
|
* chunks are not recalled) and the error surfaces in the loop's lastError.
|
|
76
87
|
*/
|
|
77
88
|
protected pushProactive(target: SessionTarget, text: string, sourceLabel?: string): Promise<void>;
|
|
89
|
+
private createProactiveTextDelivery;
|
|
90
|
+
private deliverProactiveText;
|
|
78
91
|
private getProactiveToken;
|
|
79
92
|
private sendCardInteractionFeedback;
|
|
80
93
|
private sendProactiveChunk;
|
|
@@ -85,15 +98,34 @@ export declare class DingtalkChannel extends ChannelBase {
|
|
|
85
98
|
private attachReaction;
|
|
86
99
|
private recallReaction;
|
|
87
100
|
disconnect(): void;
|
|
101
|
+
waitForDisconnect(): Promise<void>;
|
|
88
102
|
/** Stable API targets are conversation or user IDs, never webhook URLs. */
|
|
89
103
|
private isStableTargetId;
|
|
90
104
|
private reactionKey;
|
|
105
|
+
private forgetReactionState;
|
|
106
|
+
private enqueueReaction;
|
|
107
|
+
private scheduleReactionDrain;
|
|
108
|
+
private drainReactionState;
|
|
109
|
+
private finishReactionState;
|
|
91
110
|
private rememberInboundMessageId;
|
|
92
111
|
private logReactionFailure;
|
|
93
112
|
private startReaction;
|
|
113
|
+
private replaceStatusReaction;
|
|
114
|
+
private phaseReactionTag;
|
|
115
|
+
private terminalReactionTag;
|
|
116
|
+
private finishReaction;
|
|
94
117
|
private stopReaction;
|
|
95
118
|
/** Recall reactions left behind when a session dies without terminal lifecycle events. */
|
|
96
119
|
onSessionDied(sessionId: string): void;
|
|
120
|
+
/**
|
|
121
|
+
* A crashed standalone bridge never settles its in-flight turns, so their
|
|
122
|
+
* transient tags and ticking status cards would otherwise assert a live
|
|
123
|
+
* turn forever. Finish the tags without a terminal result and terminalize
|
|
124
|
+
* the cards as interrupted. Session state stays: crash recovery restores
|
|
125
|
+
* the sessions on a fresh bridge.
|
|
126
|
+
*/
|
|
127
|
+
onBridgeDisconnected(): void;
|
|
128
|
+
protected onSessionRetiring(sessionId: string): void;
|
|
97
129
|
protected onTaskLifecycle(event: ChannelTaskLifecycleEvent): void;
|
|
98
130
|
protected onPromptBufferDropped(_chatId: string, sessionId: string, messageIds: string[]): void;
|
|
99
131
|
protected onPromptBufferDrained(_chatId: string, sessionId: string, messageIds: string[]): void;
|
|
@@ -115,13 +147,43 @@ export declare class DingtalkChannel extends ChannelBase {
|
|
|
115
147
|
* rather than recreating projector state.
|
|
116
148
|
*/
|
|
117
149
|
private settleBlockFileProjector;
|
|
150
|
+
/** Deliver every Agent segment immediately unless aggregation is enabled. */
|
|
151
|
+
dispatchBackgroundResponse(sessionId: string, text: string, context?: BackgroundResponseContext): Promise<void>;
|
|
152
|
+
private flushBackgroundResponseAggregation;
|
|
153
|
+
/**
|
|
154
|
+
* A card carries `(部分)` whenever it is not the turn's whole output: the
|
|
155
|
+
* turn is still open, earlier text already went out (or was given up on),
|
|
156
|
+
* or the turn itself ended early.
|
|
157
|
+
*/
|
|
158
|
+
private isPartialBackgroundResponseDelivery;
|
|
159
|
+
/**
|
|
160
|
+
* A turn that outran the bounded wait had its text delivered under the
|
|
161
|
+
* `(部分)` label. When it then completes normally with nothing buffered,
|
|
162
|
+
* a header-only card is the only way the chat ever learns it finished.
|
|
163
|
+
*/
|
|
164
|
+
private owesTerminalBackgroundResponseCard;
|
|
165
|
+
private refreshBackgroundResponseDelivery;
|
|
166
|
+
private removeBackgroundResponseAggregation;
|
|
167
|
+
private drainBackgroundResponseAggregations;
|
|
168
|
+
private createBackgroundResponseAggregation;
|
|
169
|
+
private scheduleBackgroundResponseResolutionRetry;
|
|
170
|
+
private retryBackgroundResponseResolution;
|
|
171
|
+
private holdPendingBackgroundResponse;
|
|
172
|
+
private applyHeldBackgroundResponses;
|
|
173
|
+
private applyPendingBackgroundResponseTerminal;
|
|
174
|
+
private completeBackgroundResponseAggregation;
|
|
175
|
+
private flushDetachedBackgroundResponse;
|
|
176
|
+
private scheduleBackgroundResponseAggregationFlush;
|
|
177
|
+
private formatBackgroundResponseAggregation;
|
|
178
|
+
private formatBackgroundAgentResponse;
|
|
179
|
+
private formatBackgroundAgentLabel;
|
|
118
180
|
/**
|
|
119
181
|
* Out-of-turn one-shot sends (background responses) must not flow through
|
|
120
182
|
* the session's block-streaming projector: a second sender interleaving with
|
|
121
183
|
* mid-projection state can swallow the send or split a held marker.
|
|
122
184
|
*/
|
|
123
|
-
protected deliverBackgroundReply(chatId: string, text: string, sessionId: string, sourceLabel?: string): Promise<void>;
|
|
124
|
-
protected sendResponseMessage(chatId: string, text: string, sessionId: string, sourceLabel?: string, prepared?: boolean): Promise<void>;
|
|
185
|
+
protected deliverBackgroundReply(chatId: string, text: string, sessionId: string, sourceLabel?: string, prepared?: boolean, failOnHttpError?: boolean): Promise<void>;
|
|
186
|
+
protected sendResponseMessage(chatId: string, text: string, sessionId: string, sourceLabel?: string, prepared?: boolean, failOnHttpError?: boolean): Promise<void>;
|
|
125
187
|
private projectBlockStreamChunk;
|
|
126
188
|
private sendFallbackReply;
|
|
127
189
|
protected onResponseComplete(chatId: string, text: string, sessionId: string, segment?: ChannelOutputSegmentContext): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DingtalkAdapter.d.ts","sourceRoot":"","sources":["../src/DingtalkAdapter.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,WAAW,EAMZ,MAAM,yBAAyB,CAAC;AA6BjC,OAAO,EAEL,6BAA6B,EAC9B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAIL,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAEhC,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"DingtalkAdapter.d.ts","sourceRoot":"","sources":["../src/DingtalkAdapter.ts"],"names":[],"mappings":"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"}
|