@openclaw/feishu 2026.7.2-beta.7 → 2026.8.1-beta.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.
Files changed (35) hide show
  1. package/dist/accounts-CCCdMen2.js +203 -0
  2. package/dist/api.js +61 -60
  3. package/dist/{channel-CScE82zY.js → channel-Ceq80_zP.js} +71 -42
  4. package/dist/channel-plugin-api.js +1 -1
  5. package/dist/{channel.runtime-B21e1E0r.js → channel.runtime-DnRyzGoU.js} +201 -152
  6. package/dist/{client-Dcbs6vml.js → client-Hp7uo_cl.js} +27 -16
  7. package/dist/contract-api.js +2 -2
  8. package/dist/{conversation-id-BeJL-wq7.js → conversation-id-VYgGQ-GX.js} +11 -15
  9. package/dist/doctor-contract-api.js +1 -1
  10. package/dist/doctor-contract-bEQXIXyP.js +158 -0
  11. package/dist/{drive-hSi_Utp0.js → drive-BVYM_Y4k.js} +325 -44
  12. package/dist/{media-CEUraFOR.js → media-BDouVaaM.js} +298 -182
  13. package/dist/{monitor-DngbaA6a.js → monitor-CZ8cDXrq.js} +3 -3
  14. package/dist/{monitor.account-BnTWCw55.js → monitor.account-Dq_voVMB.js} +263 -179
  15. package/dist/{monitor.startup-CqH2tiJq.js → monitor.startup-BGErejNH.js} +1 -1
  16. package/dist/{probe-p3POS2RN.js → probe-DVpy58s0.js} +2 -2
  17. package/dist/security-audit-D6Fz2h6p.js +23 -0
  18. package/dist/{send-result-B9_BpUPx.js → send-result-DEAycmOk.js} +18 -9
  19. package/dist/session-binding-contract-api.js +2 -2
  20. package/dist/{session-conversation-BksWrfzm.js → session-conversation-DFCIvQK-.js} +1 -1
  21. package/dist/session-key-api.js +1 -1
  22. package/dist/setup-api.js +1 -1
  23. package/dist/{subagent-hooks-Cx1cX7rW.js → subagent-hooks-KUi-7vUy.js} +4 -64
  24. package/dist/subagent-hooks-api.js +1 -1
  25. package/dist/{thread-bindings-N3wkgkIN.js → thread-bindings-CptM_YU6.js} +7 -9
  26. package/openclaw.plugin.json +143 -1
  27. package/package.json +4 -4
  28. package/skills/feishu-doc/SKILL.md +20 -195
  29. package/skills/feishu-doc/references/block-types.md +9 -14
  30. package/skills/feishu-drive/SKILL.md +16 -102
  31. package/skills/feishu-perm/SKILL.md +10 -110
  32. package/skills/feishu-wiki/SKILL.md +13 -109
  33. package/dist/accounts-u9X5Wsan.js +0 -469
  34. package/dist/doctor-contract-BiD9tyIv.js +0 -102
  35. package/dist/security-audit-D7WK_BHh.js +0 -11
@@ -1,102 +0,0 @@
1
- import { asObjectRecord, defineChannelAliasMigration, defineKeyMoveMigration, hasLegacyAccountStreamingAliases, normalizeChannelConfigEntries } from "openclaw/plugin-sdk/runtime-doctor";
2
- //#region extensions/feishu/src/doctor-contract.ts
3
- const streamingAliasMigration = defineChannelAliasMigration({
4
- channelId: "feishu",
5
- streaming: { defaultMode: "partial" },
6
- accountStreamingReplacesRoot: true
7
- });
8
- const LEGACY_COALESCE_FIELDS = [
9
- "enabled",
10
- "minDelayMs",
11
- "maxDelayMs"
12
- ];
13
- const LEGACY_HEARTBEAT_FIELDS = ["visibility", "intervalMs"];
14
- const toolsBaseMigration = defineKeyMoveMigration({
15
- from: ["tools", "base"],
16
- to: ["tools", "bitable"],
17
- match: (value) => typeof value === "boolean",
18
- sourceOwn: false
19
- });
20
- function sanitizeLegacyHeartbeatFields(params) {
21
- const heartbeat = asObjectRecord(params.entry.heartbeat);
22
- if (!heartbeat || Object.keys(heartbeat).length > 0 && !LEGACY_HEARTBEAT_FIELDS.some((field) => Object.hasOwn(heartbeat, field))) return {
23
- entry: params.entry,
24
- changed: false
25
- };
26
- const next = { ...params.entry };
27
- delete next.heartbeat;
28
- params.changes.push(`Removed ${params.pathPrefix}.heartbeat (legacy Feishu fields were never read by runtime).`);
29
- return {
30
- entry: next,
31
- changed: true
32
- };
33
- }
34
- function sanitizeLegacyCoalesceFields(params) {
35
- const streaming = asObjectRecord(params.entry.streaming);
36
- const block = asObjectRecord(streaming?.block);
37
- const coalesce = asObjectRecord(block?.coalesce);
38
- if (!streaming || !block || !coalesce) return {
39
- entry: params.entry,
40
- changed: false
41
- };
42
- const removed = LEGACY_COALESCE_FIELDS.filter((field) => coalesce[field] !== void 0);
43
- if (removed.length === 0) return {
44
- entry: params.entry,
45
- changed: false
46
- };
47
- const nextCoalesce = { ...coalesce };
48
- for (const field of removed) delete nextCoalesce[field];
49
- params.changes.push(`Removed ${params.pathPrefix}.streaming.block.coalesce.{${removed.join(",")}} (legacy Feishu-only fields; block delivery reads minChars/maxChars/idleMs).`);
50
- return {
51
- entry: {
52
- ...params.entry,
53
- streaming: {
54
- ...streaming,
55
- block: {
56
- ...block,
57
- coalesce: nextCoalesce
58
- }
59
- }
60
- },
61
- changed: true
62
- };
63
- }
64
- function sanitizeFeishuCoalesce(cfg, changes) {
65
- return normalizeChannelConfigEntries({
66
- cfg,
67
- channelId: "feishu",
68
- changes,
69
- normalizeEntry: (params) => {
70
- const tools = toolsBaseMigration.normalize(params);
71
- const coalesce = sanitizeLegacyCoalesceFields({
72
- ...params,
73
- entry: tools.entry
74
- });
75
- const heartbeat = sanitizeLegacyHeartbeatFields({
76
- ...params,
77
- entry: coalesce.entry
78
- });
79
- return {
80
- entry: heartbeat.entry,
81
- changed: tools.changed || coalesce.changed || heartbeat.changed
82
- };
83
- }
84
- }).config;
85
- }
86
- const legacyConfigRules = [...streamingAliasMigration.legacyConfigRules, {
87
- path: ["channels", "feishu"],
88
- message: "channels.feishu[.accounts.<id>].tools.base is legacy; use tools.bitable. Run \"openclaw doctor --fix\".",
89
- match: (value) => {
90
- const entry = asObjectRecord(value);
91
- return toolsBaseMigration.hasLegacy(entry) || hasLegacyAccountStreamingAliases(entry?.accounts, toolsBaseMigration.hasLegacy);
92
- }
93
- }];
94
- function normalizeCompatibilityConfig({ cfg }) {
95
- const aliases = streamingAliasMigration.normalizeChannelConfig({ cfg });
96
- return {
97
- config: sanitizeFeishuCoalesce(aliases.config, aliases.changes),
98
- changes: aliases.changes
99
- };
100
- }
101
- //#endregion
102
- export { normalizeCompatibilityConfig as n, legacyConfigRules as t };
@@ -1,11 +0,0 @@
1
- import "./security-audit-shared-BgpY7AiJ.js";
2
- //#region extensions/feishu/src/message-action-contract.ts
3
- const messageActionTargetAliases = {
4
- read: { aliases: ["messageId"] },
5
- pin: { aliases: ["messageId"] },
6
- unpin: { aliases: ["messageId"] },
7
- "list-pins": { aliases: ["chatId"] },
8
- "channel-info": { aliases: ["chatId"] }
9
- };
10
- //#endregion
11
- export { messageActionTargetAliases as t };