@yaoyuanchao/dingtalk 1.3.10 → 1.3.12
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/package.json +1 -1
- package/src/config-schema.ts +1 -1
- package/src/monitor.ts +8 -10
package/package.json
CHANGED
package/src/config-schema.ts
CHANGED
|
@@ -74,7 +74,7 @@ export const dingTalkConfigSchema = z.object({
|
|
|
74
74
|
streamingEnabled: z.boolean().default(false)
|
|
75
75
|
.describe('Enable streaming update for AI typewriter effect (costs more API quota)'),
|
|
76
76
|
streamingKey: z.string().default('content')
|
|
77
|
-
.describe('Variable key for
|
|
77
|
+
.describe('Variable key for content in the card template (must match template variable name)'),
|
|
78
78
|
fallbackToMarkdown: z.boolean().default(true)
|
|
79
79
|
.describe('Fall back to markdown when card delivery fails'),
|
|
80
80
|
}).optional()
|
package/src/monitor.ts
CHANGED
|
@@ -770,12 +770,15 @@ async function deliverCardReply(
|
|
|
770
770
|
|
|
771
771
|
const robotCodeValue = robotCode || clientId;
|
|
772
772
|
|
|
773
|
-
// Prepare card data - use
|
|
774
|
-
// For basic cards:
|
|
775
|
-
// For AI streaming cards: also send 'flowStatus'
|
|
773
|
+
// Prepare card data - use configurable key for content variable (default: 'content')
|
|
774
|
+
// For basic cards: send content and title
|
|
775
|
+
// For AI streaming cards: also send 'flowStatus'
|
|
776
776
|
const isStreaming = cardConfig.streamingEnabled;
|
|
777
|
+
const contentKey = cardConfig.streamingKey || 'content';
|
|
777
778
|
const cardData: Record<string, string> = {
|
|
778
|
-
|
|
779
|
+
[contentKey]: text,
|
|
780
|
+
// Always send title - required by templates with title variable
|
|
781
|
+
title: cardConfig.title || "",
|
|
779
782
|
};
|
|
780
783
|
|
|
781
784
|
// Only add flowStatus for streaming cards (AI cards)
|
|
@@ -783,12 +786,7 @@ async function deliverCardReply(
|
|
|
783
786
|
cardData.flowStatus = "0"; // "0" = streaming in progress
|
|
784
787
|
}
|
|
785
788
|
|
|
786
|
-
|
|
787
|
-
if (cardConfig.title) {
|
|
788
|
-
cardData.title = cardConfig.title;
|
|
789
|
-
}
|
|
790
|
-
|
|
791
|
-
log?.info?.("[dingtalk-card] Sending card message, templateId=" + cardConfig.templateId);
|
|
789
|
+
log?.info?.("[dingtalk-card] Sending card message, templateId=" + cardConfig.templateId + ", contentKey=" + contentKey);
|
|
792
790
|
|
|
793
791
|
const result = await sendCardMessage({
|
|
794
792
|
clientId,
|