@yaoyuanchao/dingtalk 1.5.2 → 1.5.3
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/CHANGELOG.md +14 -0
- package/package.json +1 -1
- package/src/channel.ts +22 -4
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,20 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.5.3] - 2026-02-03
|
|
9
|
+
|
|
10
|
+
### Improved
|
|
11
|
+
|
|
12
|
+
- **sendAttachment action** — Now accepts both `target` and `to` parameters (agent may use either)
|
|
13
|
+
- **Context inference** — Tries to infer target from `conversationTarget` if not explicitly provided
|
|
14
|
+
- **Better error messages** — Returns clear error descriptions instead of silent `null` when parameters are missing
|
|
15
|
+
|
|
16
|
+
## [1.5.2] - 2026-02-03
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
|
|
20
|
+
- **OpenClaw plugin install** — Added `openclaw.extensions` field for proper plugin installation
|
|
21
|
+
|
|
8
22
|
## [1.5.1] - 2026-02-03
|
|
9
23
|
|
|
10
24
|
### Added
|
package/package.json
CHANGED
package/src/channel.ts
CHANGED
|
@@ -359,7 +359,7 @@ export const dingtalkPlugin = {
|
|
|
359
359
|
},
|
|
360
360
|
|
|
361
361
|
async handleAction(ctx: any) {
|
|
362
|
-
const { action, params, cfg, accountId } = ctx;
|
|
362
|
+
const { action, params, cfg, accountId, conversationTarget } = ctx;
|
|
363
363
|
|
|
364
364
|
// Only handle sendAttachment action
|
|
365
365
|
if (action !== 'sendAttachment') {
|
|
@@ -368,10 +368,28 @@ export const dingtalkPlugin = {
|
|
|
368
368
|
|
|
369
369
|
const buffer = params?.buffer;
|
|
370
370
|
const filename = params?.filename || 'attachment.bin';
|
|
371
|
-
const target = params?.target;
|
|
372
371
|
|
|
373
|
-
|
|
374
|
-
|
|
372
|
+
// Accept both 'target' and 'to' parameters (agent may use either)
|
|
373
|
+
// Also try to infer from conversation context if neither provided
|
|
374
|
+
let target = params?.target || params?.to;
|
|
375
|
+
|
|
376
|
+
// Try to get target from conversation context if not explicitly provided
|
|
377
|
+
if (!target && conversationTarget) {
|
|
378
|
+
target = conversationTarget;
|
|
379
|
+
console.log(`[dingtalk] sendAttachment: inferred target from context: ${target}`);
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
if (!buffer) {
|
|
383
|
+
console.warn('[dingtalk] sendAttachment: missing buffer parameter');
|
|
384
|
+
return { ok: false, error: 'Missing buffer parameter. Use base64-encoded file content.' };
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
if (!target) {
|
|
388
|
+
console.warn('[dingtalk] sendAttachment: missing target/to parameter');
|
|
389
|
+
return {
|
|
390
|
+
ok: false,
|
|
391
|
+
error: 'Missing target parameter. Use "to" or "target" with format: "dm:userId" or "group:conversationId" or just "userId" for DM.'
|
|
392
|
+
};
|
|
375
393
|
}
|
|
376
394
|
|
|
377
395
|
const account = resolveDingTalkAccount({ cfg, accountId });
|