ylib-wecom-openclaw-plugin 2026.4.29
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 +596 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.js +99 -0
- package/dist/src/accounts.d.ts +57 -0
- package/dist/src/accounts.js +247 -0
- package/dist/src/agent/api-client.d.ts +95 -0
- package/dist/src/agent/api-client.js +425 -0
- package/dist/src/agent/handler.d.ts +64 -0
- package/dist/src/agent/handler.js +731 -0
- package/dist/src/agent/index.d.ts +5 -0
- package/dist/src/agent/index.js +21 -0
- package/dist/src/agent/webhook.d.ts +25 -0
- package/dist/src/agent/webhook.js +294 -0
- package/dist/src/agent/xml.d.ts +21 -0
- package/dist/src/agent/xml.js +43 -0
- package/dist/src/channel.d.ts +5 -0
- package/dist/src/channel.js +815 -0
- package/dist/src/chat-queue.d.ts +31 -0
- package/dist/src/chat-queue.js +53 -0
- package/dist/src/config-schema.d.ts +587 -0
- package/dist/src/config-schema.js +146 -0
- package/dist/src/const.d.ts +128 -0
- package/dist/src/const.js +168 -0
- package/dist/src/dm-policy.d.ts +29 -0
- package/dist/src/dm-policy.js +146 -0
- package/dist/src/dynamic-agent.d.ts +37 -0
- package/dist/src/dynamic-agent.js +67 -0
- package/dist/src/dynamic-routing.d.ts +65 -0
- package/dist/src/dynamic-routing.js +62 -0
- package/dist/src/endpoint-dispatch.d.ts +54 -0
- package/dist/src/endpoint-dispatch.js +967 -0
- package/dist/src/endpoint-event-adapter.d.ts +15 -0
- package/dist/src/endpoint-event-adapter.js +427 -0
- package/dist/src/group-policy.d.ts +30 -0
- package/dist/src/group-policy.js +126 -0
- package/dist/src/http.d.ts +27 -0
- package/dist/src/http.js +168 -0
- package/dist/src/im-runtime-telemetry.d.ts +25 -0
- package/dist/src/im-runtime-telemetry.js +68 -0
- package/dist/src/interface.d.ts +192 -0
- package/dist/src/interface.js +5 -0
- package/dist/src/markdown-chunk.d.ts +1 -0
- package/dist/src/markdown-chunk.js +396 -0
- package/dist/src/mcp/index.d.ts +6 -0
- package/dist/src/mcp/index.js +28 -0
- package/dist/src/mcp/interceptors/biz-error.d.ts +11 -0
- package/dist/src/mcp/interceptors/biz-error.js +73 -0
- package/dist/src/mcp/interceptors/doc-auth-error.d.ts +10 -0
- package/dist/src/mcp/interceptors/doc-auth-error.js +235 -0
- package/dist/src/mcp/interceptors/index.d.ts +35 -0
- package/dist/src/mcp/interceptors/index.js +143 -0
- package/dist/src/mcp/interceptors/msg-media.d.ts +11 -0
- package/dist/src/mcp/interceptors/msg-media.js +201 -0
- package/dist/src/mcp/interceptors/smartpage-create.d.ts +30 -0
- package/dist/src/mcp/interceptors/smartpage-create.js +252 -0
- package/dist/src/mcp/interceptors/smartpage-export.d.ts +17 -0
- package/dist/src/mcp/interceptors/smartpage-export.js +135 -0
- package/dist/src/mcp/interceptors/smartsheet-upload.d.ts +22 -0
- package/dist/src/mcp/interceptors/smartsheet-upload.js +388 -0
- package/dist/src/mcp/interceptors/types.d.ts +64 -0
- package/dist/src/mcp/interceptors/types.js +8 -0
- package/dist/src/mcp/schema.d.ts +11 -0
- package/dist/src/mcp/schema.js +115 -0
- package/dist/src/mcp/tool.d.ts +63 -0
- package/dist/src/mcp/tool.js +318 -0
- package/dist/src/mcp/transport.d.ts +94 -0
- package/dist/src/mcp/transport.js +702 -0
- package/dist/src/media-handler.d.ts +55 -0
- package/dist/src/media-handler.js +306 -0
- package/dist/src/media-uploader.d.ts +142 -0
- package/dist/src/media-uploader.js +446 -0
- package/dist/src/message-parser.d.ts +104 -0
- package/dist/src/message-parser.js +232 -0
- package/dist/src/message-sender.d.ts +54 -0
- package/dist/src/message-sender.js +210 -0
- package/dist/src/monitor.d.ts +69 -0
- package/dist/src/monitor.js +1846 -0
- package/dist/src/onboarding.d.ts +8 -0
- package/dist/src/onboarding.js +248 -0
- package/dist/src/openclaw-compat.d.ts +148 -0
- package/dist/src/openclaw-compat.js +839 -0
- package/dist/src/proactive-markdown-send.d.ts +14 -0
- package/dist/src/proactive-markdown-send.js +205 -0
- package/dist/src/reqid-store.d.ts +23 -0
- package/dist/src/reqid-store.js +136 -0
- package/dist/src/runtime.d.ts +2 -0
- package/dist/src/runtime.js +7 -0
- package/dist/src/shared/command-auth.d.ts +23 -0
- package/dist/src/shared/command-auth.js +112 -0
- package/dist/src/shared/xml-parser.d.ts +46 -0
- package/dist/src/shared/xml-parser.js +228 -0
- package/dist/src/state-dir-resolve.d.ts +2 -0
- package/dist/src/state-dir-resolve.js +33 -0
- package/dist/src/state-manager.d.ts +115 -0
- package/dist/src/state-manager.js +413 -0
- package/dist/src/target.d.ts +35 -0
- package/dist/src/target.js +71 -0
- package/dist/src/template-card-manager.d.ts +55 -0
- package/dist/src/template-card-manager.js +316 -0
- package/dist/src/template-card-parser.d.ts +37 -0
- package/dist/src/template-card-parser.js +672 -0
- package/dist/src/timeout.d.ts +20 -0
- package/dist/src/timeout.js +57 -0
- package/dist/src/types/account.d.ts +29 -0
- package/dist/src/types/account.js +5 -0
- package/dist/src/types/config.d.ts +98 -0
- package/dist/src/types/config.js +8 -0
- package/dist/src/types/constants.d.ts +42 -0
- package/dist/src/types/constants.js +45 -0
- package/dist/src/types/index.d.ts +7 -0
- package/dist/src/types/index.js +17 -0
- package/dist/src/types/message.d.ts +238 -0
- package/dist/src/types/message.js +6 -0
- package/dist/src/utils.d.ts +148 -0
- package/dist/src/utils.js +92 -0
- package/dist/src/version.d.ts +2 -0
- package/dist/src/version.js +28 -0
- package/dist/src/webhook/command-auth.d.ts +47 -0
- package/dist/src/webhook/command-auth.js +137 -0
- package/dist/src/webhook/gateway.d.ts +36 -0
- package/dist/src/webhook/gateway.js +297 -0
- package/dist/src/webhook/handler.d.ts +19 -0
- package/dist/src/webhook/handler.js +481 -0
- package/dist/src/webhook/helpers.d.ts +157 -0
- package/dist/src/webhook/helpers.js +936 -0
- package/dist/src/webhook/http.d.ts +27 -0
- package/dist/src/webhook/http.js +168 -0
- package/dist/src/webhook/index.d.ts +11 -0
- package/dist/src/webhook/index.js +43 -0
- package/dist/src/webhook/media.d.ts +30 -0
- package/dist/src/webhook/media.js +152 -0
- package/dist/src/webhook/monitor.d.ts +59 -0
- package/dist/src/webhook/monitor.js +1672 -0
- package/dist/src/webhook/state.d.ts +220 -0
- package/dist/src/webhook/state.js +568 -0
- package/dist/src/webhook/target.d.ts +41 -0
- package/dist/src/webhook/target.js +165 -0
- package/dist/src/webhook/types.d.ts +348 -0
- package/dist/src/webhook/types.js +36 -0
- package/dist/src/webhook/video-frame.d.ts +13 -0
- package/dist/src/webhook/video-frame.js +108 -0
- package/openclaw.plugin.json +19 -0
- package/package.json +96 -0
- package/schema.json +534 -0
- package/scripts/generate-schema.mjs +33 -0
- package/skills/wecom-contact/SKILL.md +162 -0
- package/skills/wecom-doc/SKILL.md +162 -0
- package/skills/wecom-doc/references/create-doc.md +56 -0
- package/skills/wecom-doc/references/edit-doc-content.md +68 -0
- package/skills/wecom-doc/references/get-doc-content.md +88 -0
- package/skills/wecom-doc/references/smartpage-create.md +125 -0
- package/skills/wecom-doc/references/smartpage-export.md +160 -0
- package/skills/wecom-meeting/SKILL.md +441 -0
- package/skills/wecom-meeting/references/example-full.md +30 -0
- package/skills/wecom-meeting/references/example-reminder.md +46 -0
- package/skills/wecom-meeting/references/example-security.md +22 -0
- package/skills/wecom-meeting/references/response-get-meeting-info.md +148 -0
- package/skills/wecom-msg/SKILL.md +157 -0
- package/skills/wecom-msg/references/api-get-messages.md +93 -0
- package/skills/wecom-msg/references/api-get-msg-chat-list.md +58 -0
- package/skills/wecom-msg/references/api-get-msg-media.md +44 -0
- package/skills/wecom-msg/references/api-send-message.md +39 -0
- package/skills/wecom-preflight/SKILL.md +141 -0
- package/skills/wecom-schedule/SKILL.md +161 -0
- package/skills/wecom-schedule/references/api-check-availability.md +56 -0
- package/skills/wecom-schedule/references/api-create-schedule.md +38 -0
- package/skills/wecom-schedule/references/api-get-schedule-detail.md +81 -0
- package/skills/wecom-schedule/references/api-update-schedule.md +32 -0
- package/skills/wecom-schedule/references/ref-reminders.md +24 -0
- package/skills/wecom-send-media/SKILL.md +68 -0
- package/skills/wecom-send-template-card/SKILL.md +157 -0
- package/skills/wecom-send-template-card/references/api-template-card-types.md +358 -0
- package/skills/wecom-smartsheet/SKILL.md +164 -0
- package/skills/wecom-smartsheet/references/smartsheet-cell-value-formats.md +163 -0
- package/skills/wecom-smartsheet/references/smartsheet-field-types.md +44 -0
- package/skills/wecom-smartsheet/references/smartsheet-get-records.md +96 -0
- package/skills/wecom-smartsheet/references/webhook-examples.md +185 -0
- package/skills/wecom-smartsheet/references/webhook-fallback.md +184 -0
- package/skills/wecom-todo/SKILL.md +392 -0
- package/skills/wecom-todo/examples/workflows.md +163 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* **动态 Agent 路由模块**
|
|
4
|
+
*
|
|
5
|
+
* 为每个用户/群组自动生成独立的 Agent ID,实现会话隔离。
|
|
6
|
+
* 参考: openclaw-plugin-wecom/dynamic-agent.js
|
|
7
|
+
*/
|
|
8
|
+
exports.__esModule = true;
|
|
9
|
+
exports.shouldUseDynamicAgent = exports.generateAgentId = exports.getDynamicAgentConfig = void 0;
|
|
10
|
+
/**
|
|
11
|
+
* **getDynamicAgentConfig (读取动态 Agent 配置)**
|
|
12
|
+
*
|
|
13
|
+
* 从全局配置中读取动态 Agent 配置,提供默认值。
|
|
14
|
+
*/
|
|
15
|
+
function getDynamicAgentConfig(config) {
|
|
16
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
17
|
+
var dynamicAgents = (_c = (_b = (_a = config) === null || _a === void 0 ? void 0 : _a.channels) === null || _b === void 0 ? void 0 : _b.wecom) === null || _c === void 0 ? void 0 : _c.dynamicAgents;
|
|
18
|
+
return {
|
|
19
|
+
enabled: (_d = dynamicAgents === null || dynamicAgents === void 0 ? void 0 : dynamicAgents.enabled) !== null && _d !== void 0 ? _d : false,
|
|
20
|
+
dmCreateAgent: (_e = dynamicAgents === null || dynamicAgents === void 0 ? void 0 : dynamicAgents.dmCreateAgent) !== null && _e !== void 0 ? _e : true,
|
|
21
|
+
groupEnabled: (_f = dynamicAgents === null || dynamicAgents === void 0 ? void 0 : dynamicAgents.groupEnabled) !== null && _f !== void 0 ? _f : true,
|
|
22
|
+
adminUsers: (_g = dynamicAgents === null || dynamicAgents === void 0 ? void 0 : dynamicAgents.adminUsers) !== null && _g !== void 0 ? _g : []
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
exports.getDynamicAgentConfig = getDynamicAgentConfig;
|
|
26
|
+
function sanitizeDynamicIdPart(value) {
|
|
27
|
+
return String(value)
|
|
28
|
+
.trim()
|
|
29
|
+
.toLowerCase()
|
|
30
|
+
.replace(/[^a-z0-9_-]/g, "_");
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* **generateAgentId (生成动态 Agent ID)**
|
|
34
|
+
*
|
|
35
|
+
* 根据账号 + 聊天类型 + 对端 ID 生成确定性的 Agent ID,避免多账号串会话。
|
|
36
|
+
* 格式: wecom-{accountId}-{type}-{sanitizedPeerId}
|
|
37
|
+
*/
|
|
38
|
+
function generateAgentId(chatType, peerId, accountId) {
|
|
39
|
+
var sanitizedPeer = sanitizeDynamicIdPart(peerId) || "unknown";
|
|
40
|
+
var sanitizedAccountId = sanitizeDynamicIdPart(accountId !== null && accountId !== void 0 ? accountId : "default") || "default";
|
|
41
|
+
return "wecom-" + sanitizedAccountId + "-" + chatType + "-" + sanitizedPeer;
|
|
42
|
+
}
|
|
43
|
+
exports.generateAgentId = generateAgentId;
|
|
44
|
+
/**
|
|
45
|
+
* **shouldUseDynamicAgent (检查是否使用动态 Agent)**
|
|
46
|
+
*
|
|
47
|
+
* 根据配置和发送者信息判断是否应使用动态 Agent。
|
|
48
|
+
* 管理员(adminUsers)始终绕过动态路由,使用主 Agent。
|
|
49
|
+
*/
|
|
50
|
+
function shouldUseDynamicAgent(params) {
|
|
51
|
+
var chatType = params.chatType, senderId = params.senderId, config = params.config;
|
|
52
|
+
var dynamicConfig = getDynamicAgentConfig(config);
|
|
53
|
+
if (!dynamicConfig.enabled) {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
// 管理员绕过动态路由
|
|
57
|
+
var sender = String(senderId).trim().toLowerCase();
|
|
58
|
+
var isAdmin = dynamicConfig.adminUsers.some(function (admin) { return admin.trim().toLowerCase() === sender; });
|
|
59
|
+
if (isAdmin) {
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
if (chatType === "group") {
|
|
63
|
+
return dynamicConfig.groupEnabled;
|
|
64
|
+
}
|
|
65
|
+
return dynamicConfig.dmCreateAgent;
|
|
66
|
+
}
|
|
67
|
+
exports.shouldUseDynamicAgent = shouldUseDynamicAgent;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 动态路由统一处理模块
|
|
3
|
+
* 提供统一的路由注入接口。
|
|
4
|
+
*/
|
|
5
|
+
import type { OpenClawConfig } from "ylib-openclaw/plugin-sdk";
|
|
6
|
+
import type { PluginRuntime } from "ylib-openclaw/plugin-sdk";
|
|
7
|
+
/**
|
|
8
|
+
* 路由对象(从 core.channel.routing.resolveAgentRoute 返回)
|
|
9
|
+
*/
|
|
10
|
+
export interface AgentRoute {
|
|
11
|
+
agentId: string;
|
|
12
|
+
sessionKey: string;
|
|
13
|
+
matchedBy: string;
|
|
14
|
+
accountId: string;
|
|
15
|
+
mainSessionKey?: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* 动态路由处理参数
|
|
19
|
+
*/
|
|
20
|
+
export interface DynamicRoutingParams {
|
|
21
|
+
/** 原始路由对象 */
|
|
22
|
+
route: AgentRoute;
|
|
23
|
+
/** 全局配置 */
|
|
24
|
+
config: OpenClawConfig;
|
|
25
|
+
/** 插件运行时 */
|
|
26
|
+
core: PluginRuntime;
|
|
27
|
+
/** 账号 ID */
|
|
28
|
+
accountId: string;
|
|
29
|
+
/** 会话类型 */
|
|
30
|
+
chatType: "group" | "dm";
|
|
31
|
+
/** 对话 ID(群聊为 chatId,私聊为 userId) */
|
|
32
|
+
chatId: string;
|
|
33
|
+
/** 发送者用户 ID */
|
|
34
|
+
senderId: string;
|
|
35
|
+
/** 日志输出函数(可选) */
|
|
36
|
+
log?: (msg: string) => void;
|
|
37
|
+
/** 错误日志输出函数(可选) */
|
|
38
|
+
error?: (msg: string) => void;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* 动态路由处理结果
|
|
42
|
+
*/
|
|
43
|
+
export interface DynamicRoutingResult {
|
|
44
|
+
/** 是否使用动态 Agent */
|
|
45
|
+
useDynamicAgent: boolean;
|
|
46
|
+
/** 最终的 agentId(可能被动态注入修改) */
|
|
47
|
+
finalAgentId: string;
|
|
48
|
+
/** 最终的 sessionKey(可能被动态注入修改) */
|
|
49
|
+
finalSessionKey: string;
|
|
50
|
+
/** 是否修改了路由(注入了动态 Agent) */
|
|
51
|
+
routeModified: boolean;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* 统一处理动态路由注入逻辑
|
|
55
|
+
*
|
|
56
|
+
* 功能:
|
|
57
|
+
* 1. 判断是否需要使用动态 Agent
|
|
58
|
+
* 2. 根据 matchedBy 判断配置类型
|
|
59
|
+
* 3. 返回最终的路由信息(不修改传入的 route 对象)
|
|
60
|
+
* 4. 输出详细的调试日志
|
|
61
|
+
*
|
|
62
|
+
* @param params 动态路由处理参数
|
|
63
|
+
* @returns 处理结果
|
|
64
|
+
*/
|
|
65
|
+
export declare function processDynamicRouting(params: DynamicRoutingParams): DynamicRoutingResult;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* 动态路由统一处理模块
|
|
4
|
+
* 提供统一的路由注入接口。
|
|
5
|
+
*/
|
|
6
|
+
exports.__esModule = true;
|
|
7
|
+
exports.processDynamicRouting = void 0;
|
|
8
|
+
var dynamic_agent_js_1 = require("./dynamic-agent.js");
|
|
9
|
+
/**
|
|
10
|
+
* 统一处理动态路由注入逻辑
|
|
11
|
+
*
|
|
12
|
+
* 功能:
|
|
13
|
+
* 1. 判断是否需要使用动态 Agent
|
|
14
|
+
* 2. 根据 matchedBy 判断配置类型
|
|
15
|
+
* 3. 返回最终的路由信息(不修改传入的 route 对象)
|
|
16
|
+
* 4. 输出详细的调试日志
|
|
17
|
+
*
|
|
18
|
+
* @param params 动态路由处理参数
|
|
19
|
+
* @returns 处理结果
|
|
20
|
+
*/
|
|
21
|
+
function processDynamicRouting(params) {
|
|
22
|
+
var route = params.route, config = params.config, accountId = params.accountId, chatType = params.chatType, chatId = params.chatId, senderId = params.senderId, log = params.log;
|
|
23
|
+
log === null || log === void 0 ? void 0 : log("[dynamic-routing] \uD83D\uDD0D \u8C03\u8BD5 - matchedBy=" + route.matchedBy + ", agentId=" + route.agentId);
|
|
24
|
+
if (route.matchedBy !== "default") {
|
|
25
|
+
log === null || log === void 0 ? void 0 : log("[dynamic-routing] \u2139\uFE0F \u68C0\u6D4B\u5230\u5339\u914D\u7684 bindings (matchedBy=" + route.matchedBy + ")\uFF0C\u8DF3\u8FC7\u52A8\u6001\u8DEF\u7531");
|
|
26
|
+
return {
|
|
27
|
+
useDynamicAgent: false,
|
|
28
|
+
finalAgentId: route.agentId,
|
|
29
|
+
finalSessionKey: route.sessionKey,
|
|
30
|
+
routeModified: false
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
// 判断是否使用动态 Agent
|
|
34
|
+
var useDynamicAgent = dynamic_agent_js_1.shouldUseDynamicAgent({
|
|
35
|
+
chatType: chatType,
|
|
36
|
+
senderId: senderId,
|
|
37
|
+
config: config
|
|
38
|
+
});
|
|
39
|
+
log === null || log === void 0 ? void 0 : log("[dynamic-routing] \u662F\u5426\u4F7F\u7528\u52A8\u6001\u8DEF\u7531: useDynamicAgent=" + useDynamicAgent);
|
|
40
|
+
// 使用动态 Agent
|
|
41
|
+
if (useDynamicAgent) {
|
|
42
|
+
log === null || log === void 0 ? void 0 : log("[dynamic-routing] \u539F\u59CB\u8DEF\u7531\u4FE1\u606F: agentId=" + route.agentId + ", matchedBy=" + route.matchedBy + ", sessionKey=" + route.sessionKey);
|
|
43
|
+
var targetAgentId = dynamic_agent_js_1.generateAgentId(chatType, chatId, accountId);
|
|
44
|
+
var targetSessionKey = "agent:" + targetAgentId + ":wecom:" + accountId + ":" + chatType + ":" + chatId;
|
|
45
|
+
log === null || log === void 0 ? void 0 : log("[dynamic-routing] \uD83D\uDD04 \u8DEF\u7531\u6CE8\u5165: agentId=" + targetAgentId + ", sessionKey=" + targetSessionKey);
|
|
46
|
+
return {
|
|
47
|
+
useDynamicAgent: true,
|
|
48
|
+
finalAgentId: targetAgentId,
|
|
49
|
+
finalSessionKey: targetSessionKey,
|
|
50
|
+
routeModified: true
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
log === null || log === void 0 ? void 0 : log('[dynamic-routing] 🔄不使用动态路由');
|
|
54
|
+
// 不使用动态 Agent,返回原始路由
|
|
55
|
+
return {
|
|
56
|
+
useDynamicAgent: false,
|
|
57
|
+
finalAgentId: route.agentId,
|
|
58
|
+
finalSessionKey: route.sessionKey,
|
|
59
|
+
routeModified: false
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
exports.processDynamicRouting = processDynamicRouting;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { WeComConfig } from "./utils.js";
|
|
2
|
+
export declare type WecomEndpointConfig = {
|
|
3
|
+
gatewayBaseUrl: string;
|
|
4
|
+
gatewayToken?: string;
|
|
5
|
+
uploadHost?: string;
|
|
6
|
+
modelName?: string;
|
|
7
|
+
agentId?: string;
|
|
8
|
+
showFinalAnswerOnly?: boolean;
|
|
9
|
+
separateSessionByConversation: boolean;
|
|
10
|
+
groupSessionScope: "group" | "group_sender";
|
|
11
|
+
scopeType: "workspace" | "my_workspace" | "project";
|
|
12
|
+
workspaceId: string;
|
|
13
|
+
projectId: string;
|
|
14
|
+
};
|
|
15
|
+
declare type DispatchResult = {
|
|
16
|
+
outboundText: string;
|
|
17
|
+
mediaUrls: string[];
|
|
18
|
+
resourceCount: number;
|
|
19
|
+
textLength: number;
|
|
20
|
+
};
|
|
21
|
+
declare type DispatchParams = {
|
|
22
|
+
endpointConfig: WecomEndpointConfig;
|
|
23
|
+
routeAgentId?: string;
|
|
24
|
+
accountId: string;
|
|
25
|
+
platformId: string;
|
|
26
|
+
chatId: string;
|
|
27
|
+
chatType: "direct" | "group";
|
|
28
|
+
senderId: string;
|
|
29
|
+
senderName?: string;
|
|
30
|
+
chatName?: string;
|
|
31
|
+
userContent: string;
|
|
32
|
+
mediaPath?: string;
|
|
33
|
+
mediaType?: string;
|
|
34
|
+
mediaFileName?: string;
|
|
35
|
+
onConfirmationAction?: (text: string) => Promise<void>;
|
|
36
|
+
onChunk?: (chunk: string, accumulated: string) => Promise<void>;
|
|
37
|
+
runtimeLog?: (...args: any[]) => void;
|
|
38
|
+
runtimeError?: (...args: any[]) => void;
|
|
39
|
+
};
|
|
40
|
+
export declare function resolveWecomEndpointConfig(config: WeComConfig, fallbackScope?: {
|
|
41
|
+
scopeType: "workspace" | "my_workspace" | "project";
|
|
42
|
+
workspaceId: string;
|
|
43
|
+
projectId: string;
|
|
44
|
+
} | null): WecomEndpointConfig | null;
|
|
45
|
+
export declare function resolveWecomScopeByBindings(params: {
|
|
46
|
+
cfg: unknown;
|
|
47
|
+
accountId: string;
|
|
48
|
+
}): {
|
|
49
|
+
scopeType: "workspace" | "my_workspace" | "project";
|
|
50
|
+
workspaceId: string;
|
|
51
|
+
projectId: string;
|
|
52
|
+
} | null;
|
|
53
|
+
export declare function dispatchWecomViaEndpoint(params: DispatchParams): Promise<DispatchResult>;
|
|
54
|
+
export {};
|