@soimy/dingtalk 3.4.2 → 3.5.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/README.md +86 -1421
- package/package.json +17 -4
- package/src/ack-reaction-service.ts +45 -27
- package/src/card/card-action-handler.ts +62 -0
- package/src/card/card-run-registry.ts +118 -0
- package/src/card/card-stop-handler.ts +94 -0
- package/src/card/card-template.ts +20 -0
- package/src/card-callback-service.ts +90 -8
- package/src/card-draft-controller.ts +270 -52
- package/src/card-service.ts +198 -138
- package/src/channel.ts +21 -7
- package/src/command/card-stop-command.ts +96 -0
- package/src/config-schema.ts +0 -18
- package/src/config.ts +28 -11
- package/src/feedback-learning-service.ts +4 -6
- package/src/inbound-handler.ts +193 -29
- package/src/message-context-store.ts +74 -0
- package/src/message-utils.ts +22 -0
- package/src/onboarding.ts +4 -77
- package/src/reply-strategy-card.ts +46 -35
- package/src/reply-strategy.ts +4 -3
- package/src/send-service.ts +42 -64
- package/src/targeting/agent-routing.ts +12 -6
- package/src/types.ts +10 -28
package/src/types.ts
CHANGED
|
@@ -32,9 +32,6 @@ export type AckReactionConfigValue = string;
|
|
|
32
32
|
export interface DingTalkConfig extends OpenClawConfig {
|
|
33
33
|
clientId: string;
|
|
34
34
|
clientSecret: string;
|
|
35
|
-
robotCode?: string;
|
|
36
|
-
corpId?: string;
|
|
37
|
-
agentId?: string;
|
|
38
35
|
name?: string;
|
|
39
36
|
enabled?: boolean;
|
|
40
37
|
dmPolicy?: "open" | "pairing" | "allowlist";
|
|
@@ -47,7 +44,9 @@ export interface DingTalkConfig extends OpenClawConfig {
|
|
|
47
44
|
ackReaction?: AckReactionConfigValue;
|
|
48
45
|
debug?: boolean;
|
|
49
46
|
messageType?: "markdown" | "card";
|
|
47
|
+
/** @deprecated 已固定使用内置模板契约 */
|
|
50
48
|
cardTemplateId?: string;
|
|
49
|
+
/** @deprecated 已固定使用内置模板契约 */
|
|
51
50
|
cardTemplateKey?: string;
|
|
52
51
|
groups?: Record<string, { systemPrompt?: string; requireMention?: boolean; groupAllowFrom?: string[] }>;
|
|
53
52
|
accounts?: Record<string, DingTalkConfig>;
|
|
@@ -82,12 +81,6 @@ export interface DingTalkConfig extends OpenClawConfig {
|
|
|
82
81
|
learningAutoApply?: boolean;
|
|
83
82
|
/** Session learning note TTL in milliseconds (default 6h) */
|
|
84
83
|
learningNoteTtlMs?: number;
|
|
85
|
-
/** @deprecated Use learningEnabled */
|
|
86
|
-
feedbackLearningEnabled?: boolean;
|
|
87
|
-
/** @deprecated Use learningAutoApply */
|
|
88
|
-
feedbackLearningAutoApply?: boolean;
|
|
89
|
-
/** @deprecated Use learningNoteTtlMs */
|
|
90
|
-
feedbackLearningNoteTtlMs?: number;
|
|
91
84
|
/** Whether to convert markdown tables to plain text for better rendering on some clients (default: true) */
|
|
92
85
|
convertMarkdownTables?: boolean;
|
|
93
86
|
/** @mention the sender after card finalization in group chats; value is the message text */
|
|
@@ -101,9 +94,6 @@ export interface DingTalkChannelConfig {
|
|
|
101
94
|
enabled?: boolean;
|
|
102
95
|
clientId: string;
|
|
103
96
|
clientSecret: string;
|
|
104
|
-
robotCode?: string;
|
|
105
|
-
corpId?: string;
|
|
106
|
-
agentId?: string;
|
|
107
97
|
name?: string;
|
|
108
98
|
dmPolicy?: "open" | "pairing" | "allowlist";
|
|
109
99
|
groupPolicy?: "open" | "allowlist" | "disabled";
|
|
@@ -115,7 +105,9 @@ export interface DingTalkChannelConfig {
|
|
|
115
105
|
ackReaction?: AckReactionConfigValue;
|
|
116
106
|
debug?: boolean;
|
|
117
107
|
messageType?: "markdown" | "card";
|
|
108
|
+
/** @deprecated 已固定使用内置模板契约 */
|
|
118
109
|
cardTemplateId?: string;
|
|
110
|
+
/** @deprecated 已固定使用内置模板契约 */
|
|
119
111
|
cardTemplateKey?: string;
|
|
120
112
|
groups?: Record<string, { systemPrompt?: string; requireMention?: boolean; groupAllowFrom?: string[] }>;
|
|
121
113
|
accounts?: Record<string, DingTalkConfig>;
|
|
@@ -149,12 +141,6 @@ export interface DingTalkChannelConfig {
|
|
|
149
141
|
learningAutoApply?: boolean;
|
|
150
142
|
/** Session learning note TTL in milliseconds (default 6h) */
|
|
151
143
|
learningNoteTtlMs?: number;
|
|
152
|
-
/** @deprecated Use learningEnabled */
|
|
153
|
-
feedbackLearningEnabled?: boolean;
|
|
154
|
-
/** @deprecated Use learningAutoApply */
|
|
155
|
-
feedbackLearningAutoApply?: boolean;
|
|
156
|
-
/** @deprecated Use learningNoteTtlMs */
|
|
157
|
-
feedbackLearningNoteTtlMs?: number;
|
|
158
144
|
/** Whether to convert markdown tables to plain text for better rendering on some clients (default: true) */
|
|
159
145
|
convertMarkdownTables?: boolean;
|
|
160
146
|
/** @mention the sender after card finalization in group chats; value is the message text */
|
|
@@ -313,6 +299,7 @@ export interface QuotedInfo {
|
|
|
313
299
|
cardCreatedAt?: number;
|
|
314
300
|
processQueryKey?: string;
|
|
315
301
|
fileCreatedAt?: number;
|
|
302
|
+
fileDownloadCode?: string;
|
|
316
303
|
msgId?: string;
|
|
317
304
|
previewText?: string;
|
|
318
305
|
previewMessageType?: string;
|
|
@@ -635,6 +622,7 @@ export const AICardStatus = {
|
|
|
635
622
|
PROCESSING: "1",
|
|
636
623
|
INPUTING: "2",
|
|
637
624
|
FINISHED: "3",
|
|
625
|
+
STOPPED: "4",
|
|
638
626
|
FAILED: "5",
|
|
639
627
|
} as const;
|
|
640
628
|
|
|
@@ -656,7 +644,7 @@ export interface AICardInstance {
|
|
|
656
644
|
storePath?: string;
|
|
657
645
|
createdAt: number;
|
|
658
646
|
lastUpdated: number;
|
|
659
|
-
state: AICardState; // Current card state: PROCESSING, INPUTING, FINISHED, FAILED
|
|
647
|
+
state: AICardState; // Current card state: PROCESSING, INPUTING, FINISHED, STOPPED, FAILED
|
|
660
648
|
config?: DingTalkConfig; // Store config reference for token refresh
|
|
661
649
|
lastStreamedContent?: string;
|
|
662
650
|
outTrackId?: string;
|
|
@@ -771,9 +759,6 @@ export function resolveDingTalkAccount(
|
|
|
771
759
|
const config: DingTalkConfig = {
|
|
772
760
|
clientId: dingtalk?.clientId ?? "",
|
|
773
761
|
clientSecret: dingtalk?.clientSecret ?? "",
|
|
774
|
-
robotCode: dingtalk?.robotCode,
|
|
775
|
-
corpId: dingtalk?.corpId,
|
|
776
|
-
agentId: dingtalk?.agentId,
|
|
777
762
|
name: dingtalk?.name,
|
|
778
763
|
enabled: dingtalk?.enabled,
|
|
779
764
|
dmPolicy: dingtalk?.dmPolicy,
|
|
@@ -802,12 +787,9 @@ export function resolveDingTalkAccount(
|
|
|
802
787
|
proactivePermissionHint: dingtalk?.proactivePermissionHint,
|
|
803
788
|
cardRealTimeStream: dingtalk?.cardRealTimeStream,
|
|
804
789
|
aicardDegradeMs: dingtalk?.aicardDegradeMs,
|
|
805
|
-
learningEnabled: dingtalk?.learningEnabled
|
|
806
|
-
learningAutoApply: dingtalk?.learningAutoApply
|
|
807
|
-
learningNoteTtlMs: dingtalk?.learningNoteTtlMs
|
|
808
|
-
feedbackLearningEnabled: dingtalk?.feedbackLearningEnabled,
|
|
809
|
-
feedbackLearningAutoApply: dingtalk?.feedbackLearningAutoApply,
|
|
810
|
-
feedbackLearningNoteTtlMs: dingtalk?.feedbackLearningNoteTtlMs,
|
|
790
|
+
learningEnabled: dingtalk?.learningEnabled,
|
|
791
|
+
learningAutoApply: dingtalk?.learningAutoApply,
|
|
792
|
+
learningNoteTtlMs: dingtalk?.learningNoteTtlMs,
|
|
811
793
|
convertMarkdownTables: dingtalk?.convertMarkdownTables,
|
|
812
794
|
cardAtSender: dingtalk?.cardAtSender,
|
|
813
795
|
};
|