@qwen-code/channel-dingtalk 0.23.2-preview.0 → 0.23.3-nightly.20260910.c46cb85cf2
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 +4 -56
- package/dist/DingtalkAdapter.d.ts.map +1 -1
- package/dist/DingtalkAdapter.js +60 -813
- package/dist/DingtalkAdapter.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -6
- package/dist/index.js.map +1 -1
- package/dist/interaction-presenter.d.ts +4 -1
- package/dist/interaction-presenter.d.ts.map +1 -1
- package/dist/interaction-presenter.js +15 -0
- package/dist/interaction-presenter.js.map +1 -1
- package/dist/interactive-card-types.d.ts +4 -0
- package/dist/interactive-card-types.d.ts.map +1 -1
- package/dist/interactive-card-types.js +21 -5
- package/dist/interactive-card-types.js.map +1 -1
- package/dist/outbound-file.d.ts +0 -1
- package/dist/outbound-file.d.ts.map +1 -1
- package/dist/outbound-file.js +0 -4
- package/dist/outbound-file.js.map +1 -1
- package/dist/permission-card-controller.d.ts +34 -0
- package/dist/permission-card-controller.d.ts.map +1 -0
- package/dist/permission-card-controller.js +297 -0
- package/dist/permission-card-controller.js.map +1 -0
- package/package.json +2 -2
|
@@ -1,7 +1,7 @@
|
|
|
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 { BackgroundResponseContext, 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, ChannelPermissionRequestContext, 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;
|
|
@@ -33,21 +33,15 @@ export declare class DingtalkChannel extends ChannelBase {
|
|
|
33
33
|
*/
|
|
34
34
|
private proactiveToken?;
|
|
35
35
|
private readonly interactiveCardConfig;
|
|
36
|
-
private readonly aggregateBackgroundAgentResponses;
|
|
37
36
|
protected readonly interactiveCardClient?: DingtalkInteractiveCardClient;
|
|
38
37
|
private statusCardController?;
|
|
39
38
|
private questionCardController?;
|
|
39
|
+
private permissionCardController?;
|
|
40
40
|
private interactionPresenter?;
|
|
41
41
|
private readonly inboundCardOwners;
|
|
42
42
|
private readonly cardRunBySession;
|
|
43
43
|
private readonly cardRuns;
|
|
44
44
|
private readonly fileProjectors;
|
|
45
|
-
private readonly blockFileProjectors;
|
|
46
|
-
private readonly blockProjectionArmed;
|
|
47
|
-
private readonly backgroundResponseAggregations;
|
|
48
|
-
private readonly detachedBackgroundResponseAggregations;
|
|
49
|
-
private readonly pendingBackgroundResponseTerminals;
|
|
50
|
-
private readonly detachedPendingBackgroundResponseTerminals;
|
|
51
45
|
constructor(name: string, config: ChannelConfig, bridge: ChannelAgentBridge, options?: ChannelBaseOptions);
|
|
52
46
|
private createClient;
|
|
53
47
|
private installStructuredDownstreamHandler;
|
|
@@ -125,7 +119,6 @@ export declare class DingtalkChannel extends ChannelBase {
|
|
|
125
119
|
* the sessions on a fresh bridge.
|
|
126
120
|
*/
|
|
127
121
|
onBridgeDisconnected(): void;
|
|
128
|
-
protected onSessionRetiring(sessionId: string): void;
|
|
129
122
|
protected onTaskLifecycle(event: ChannelTaskLifecycleEvent): void;
|
|
130
123
|
protected onPromptBufferDropped(_chatId: string, sessionId: string, messageIds: string[]): void;
|
|
131
124
|
protected onPromptBufferDrained(_chatId: string, sessionId: string, messageIds: string[]): void;
|
|
@@ -135,62 +128,17 @@ export declare class DingtalkChannel extends ChannelBase {
|
|
|
135
128
|
protected processInbound(envelope: Envelope): Promise<void>;
|
|
136
129
|
private untrackBufferedMentionTarget;
|
|
137
130
|
protected onPromptEnd(chatId: string, sessionId: string, messageId?: string): void;
|
|
138
|
-
/**
|
|
139
|
-
* Turn end is the only point where the block projector's held state can be
|
|
140
|
-
* settled: ChannelBase drains the turn's queued block sends before calling
|
|
141
|
-
* onPromptEnd, so everything already appended belongs to this turn. Flush
|
|
142
|
-
* the held candidate bytes (a trailing `[FILE:` prefix the stream never
|
|
143
|
-
* completed) before deleting the entry — a later delete-without-settle
|
|
144
|
-
* would silently drop them from the delivered answer. Also disarm the
|
|
145
|
-
* session: /clear eviction and session death settle WITHOUT draining the
|
|
146
|
-
* turn's send chain, and any block that lands afterwards must be dropped
|
|
147
|
-
* rather than recreating projector state.
|
|
148
|
-
*/
|
|
149
|
-
private settleBlockFileProjector;
|
|
150
|
-
/** Deliver every Agent segment immediately unless aggregation is enabled. */
|
|
151
131
|
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
132
|
private formatBackgroundAgentResponse;
|
|
179
133
|
private formatBackgroundAgentLabel;
|
|
180
|
-
|
|
181
|
-
* Out-of-turn one-shot sends (background responses) must not flow through
|
|
182
|
-
* the session's block-streaming projector: a second sender interleaving with
|
|
183
|
-
* mid-projection state can swallow the send or split a held marker.
|
|
184
|
-
*/
|
|
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>;
|
|
187
|
-
private projectBlockStreamChunk;
|
|
134
|
+
protected sendResponseMessage(chatId: string, text: string, sessionId: string, sourceLabel?: string, prepared?: boolean): Promise<void>;
|
|
188
135
|
private sendFallbackReply;
|
|
189
136
|
protected onResponseComplete(chatId: string, text: string, sessionId: string, segment?: ChannelOutputSegmentContext): Promise<void>;
|
|
190
137
|
protected onOutputSegmentEnd(_chatId: string, _sessionId: string, segment: ChannelOutputSegmentContext, reason: ChannelOutputSegmentEndReason): void | Promise<void>;
|
|
191
138
|
protected onResponseChunk(_chatId: string, chunk: string, _sessionId: string, segment?: ChannelOutputSegmentContext): void;
|
|
192
139
|
private deleteFileProjectorsForRun;
|
|
193
140
|
protected presentUserInputRequest(context: ChannelUserInputRequestContext): Promise<UserInputPresentationResult>;
|
|
141
|
+
protected presentPermissionRequest(context: ChannelPermissionRequestContext): Promise<UserInputPresentationResult>;
|
|
194
142
|
/**
|
|
195
143
|
* Extract quoted/referenced message context from a reply.
|
|
196
144
|
* DingTalk provides this via text.repliedMsg (newer) or quoteMessage (legacy).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DingtalkAdapter.d.ts","sourceRoot":"","sources":["../src/DingtalkAdapter.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,WAAW,EAMZ,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"DingtalkAdapter.d.ts","sourceRoot":"","sources":["../src/DingtalkAdapter.ts"],"names":[],"mappings":"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"}
|