@ai-setting/roy-agent-core 1.7.77 → 1.7.85

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 (66) hide show
  1. package/dist/config/config-protection.d.ts +89 -0
  2. package/dist/config/index.d.ts +1 -0
  3. package/dist/config/index.js +16 -0
  4. package/dist/env/agent/agent-component.d.ts +42 -21
  5. package/dist/env/agent/agent-component.js +2 -2
  6. package/dist/env/agent/index.js +2 -2
  7. package/dist/env/agent/types.d.ts +32 -12
  8. package/dist/env/error-reply.d.ts +6 -0
  9. package/dist/env/error-reply.js +1 -1
  10. package/dist/env/event-source/bounty-im-handler.d.ts +8 -0
  11. package/dist/env/event-source/es-command.d.ts +39 -0
  12. package/dist/env/event-source/es-plugins.d.ts +68 -0
  13. package/dist/env/event-source/event-source-component.d.ts +15 -0
  14. package/dist/env/event-source/event-source-handlers.d.ts +68 -0
  15. package/dist/env/event-source/event-source-handlers.js +20 -8
  16. package/dist/env/event-source/index.d.ts +5 -1
  17. package/dist/env/event-source/index.js +57 -8
  18. package/dist/env/event-source/types.d.ts +101 -1
  19. package/dist/env/event-source/wecom-card-action-handler.d.ts +141 -0
  20. package/dist/env/event-source/wecom-card-builder.d.ts +220 -0
  21. package/dist/env/event-source/wecom-cli-handler.d.ts +266 -0
  22. package/dist/env/event-source/wecom-cli-sender.d.ts +88 -0
  23. package/dist/env/event-source/wecom-media.d.ts +130 -0
  24. package/dist/env/event-source/wecom-respond-registry.d.ts +151 -0
  25. package/dist/env/event-source/wecom-ws-bridge.d.ts +213 -0
  26. package/dist/env/index.js +16 -14
  27. package/dist/env/task/delegate/delegate-tool.d.ts +62 -2
  28. package/dist/env/task/delegate/delegate-tool.js +3 -1
  29. package/dist/env/task/delegate/index.js +1 -1
  30. package/dist/env/task/index.js +2 -2
  31. package/dist/env/task/plugins/index.d.ts +2 -0
  32. package/dist/env/task/plugins/index.js +23 -2
  33. package/dist/env/task/plugins/lark-card-patch-notifier.d.ts +41 -2
  34. package/dist/env/task/plugins/lark-card-patch-notifier.js +1 -1
  35. package/dist/env/task/plugins/lark-cli-task-notify-plugin.d.ts +16 -0
  36. package/dist/env/task/plugins/wecom-card-state-store.d.ts +121 -0
  37. package/dist/env/task/plugins/wecom-task-notify-plugin.d.ts +224 -0
  38. package/dist/env/tool/built-in/index.d.ts +2 -0
  39. package/dist/env/tool/built-in/index.js +6 -1
  40. package/dist/env/tool/index.js +3 -2
  41. package/dist/env/workflow/index.js +3 -3
  42. package/dist/env/workflow/plugins/index.js +2 -2
  43. package/dist/env/workflow/tools/index.js +2 -2
  44. package/dist/index.d.ts +1 -1
  45. package/dist/index.js +68 -17
  46. package/dist/shared/@ai-setting/{roy-agent-core-v87njmq7.js → roy-agent-core-0dh8npnz.js} +1 -1
  47. package/dist/shared/@ai-setting/roy-agent-core-2stt4rp5.js +134 -0
  48. package/dist/shared/@ai-setting/{roy-agent-core-mww0mnd9.js → roy-agent-core-7bpj859q.js} +1 -1
  49. package/dist/shared/@ai-setting/{roy-agent-core-w0qjeq2v.js → roy-agent-core-7dd0s3xb.js} +14 -4
  50. package/dist/shared/@ai-setting/{roy-agent-core-rsn44n9y.js → roy-agent-core-b31v3qpv.js} +851 -46
  51. package/dist/shared/@ai-setting/{roy-agent-core-0v27y99n.js → roy-agent-core-begm7ytz.js} +63 -2
  52. package/dist/shared/@ai-setting/{roy-agent-core-aa2j7bk9.js → roy-agent-core-cha0jc7n.js} +40 -26
  53. package/dist/shared/@ai-setting/{roy-agent-core-hd3n57zs.js → roy-agent-core-d1n4jbza.js} +1 -1
  54. package/dist/shared/@ai-setting/{roy-agent-core-9vhq7fvv.js → roy-agent-core-dkrvmjsh.js} +12 -74
  55. package/dist/shared/@ai-setting/{roy-agent-core-99nwgj84.js → roy-agent-core-fzw9xzm1.js} +1 -1
  56. package/dist/shared/@ai-setting/roy-agent-core-m3vjepzz.js +544 -0
  57. package/dist/shared/@ai-setting/{roy-agent-core-ew6qb5yx.js → roy-agent-core-p6ks90tb.js} +1 -1
  58. package/dist/shared/@ai-setting/{roy-agent-core-rhtdspx6.js → roy-agent-core-qk9hd89p.js} +1 -1
  59. package/dist/shared/@ai-setting/{roy-agent-core-6cy43nss.js → roy-agent-core-rykf7c04.js} +49 -9
  60. package/dist/shared/@ai-setting/{roy-agent-core-8ez6mccb.js → roy-agent-core-tk98f92b.js} +4 -0
  61. package/dist/shared/@ai-setting/{roy-agent-core-bxkjk7zx.js → roy-agent-core-vx8zc847.js} +4 -1
  62. package/dist/shared/@ai-setting/roy-agent-core-vyr6svt6.js +31 -0
  63. package/dist/shared/@ai-setting/{roy-agent-core-3gpygqcx.js → roy-agent-core-xf6z96qy.js} +2086 -163
  64. package/package.json +10 -1
  65. /package/dist/shared/@ai-setting/{roy-agent-core-b4x6x4k2.js → roy-agent-core-m1fgtnrc.js} +0 -0
  66. /package/dist/shared/@ai-setting/{roy-agent-core-v85n42ve.js → roy-agent-core-ze5cqpf2.js} +0 -0
@@ -0,0 +1,121 @@
1
+ /**
2
+ * @fileoverview WecomCardStateStore — 企微任务进展消息的持久化记录(Task #5193)
3
+ *
4
+ * ## 为什么需要(与 lark-cards.db 同因)
5
+ *
6
+ * 企微 wecom-cli **没有** interactive card / 消息更新 API ——
7
+ * 进展卡片是**每次更新发一条新 markdown**。但节流判定、
8
+ * 「无卡片不凭空发卡」守卫、终态收尾都需要知道
9
+ * 「这个 task 是否发过、发到哪个 chat、当前什么状态」。
10
+ *
11
+ * ## 与 lark-card-state-store 的关系
12
+ *
13
+ * 结构对齐(同一套接口语义),但**独立库文件**(wecom-cards.db):
14
+ * - lark-cards.db 有 messageId(可 patch 同一张卡)
15
+ * - wecom-cards.db 无 messageId 语义(每条都是新消息),
16
+ * 记录 `taskId → chatId / status / timeline / updateCount`
17
+ *
18
+ * ## 记录生命周期
19
+ *
20
+ * ```
21
+ * create 成功 → upsert({status:"open"})
22
+ * update 成功 → touch(updateCount+1,timeline 追加)
23
+ * 节流 → touch timeline(数据不丢,只是不发)
24
+ * completed/failed/cancelled → markClosed()
25
+ * delete → markClosed()(保留记录便于追溯)
26
+ * ```
27
+ *
28
+ * ★ 终态**不删除**记录:保留 chatId / timeline 便于事后追溯。
29
+ */
30
+ /** 记录状态(与 LarkCardRecordStatus 语义一致) */
31
+ export type WecomCardRecordStatus = "open" | "paused" | "closed";
32
+ /** 一条企微卡片持久化记录 */
33
+ export interface WecomCardState {
34
+ /** 任务 ID(主键) */
35
+ taskId: number;
36
+ /** 企微 chat_id(单聊=userid,群聊=chatid) */
37
+ chatId: string;
38
+ /** 当前 pin 状态(企微无 pin,恒 false;保留字段对齐接口) */
39
+ pinned: boolean;
40
+ /** 记录状态 */
41
+ status: WecomCardRecordStatus;
42
+ /** 首次发卡时间(ms epoch) */
43
+ createdAt: number;
44
+ /** 最后更新时间(ms epoch) */
45
+ updatedAt: number;
46
+ /** 终结时间(ms epoch);仅 status=closed 有值 */
47
+ closedAt?: number;
48
+ /** 已发送的更新条数(诊断用) */
49
+ updateCount: number;
50
+ /**
51
+ * 累积时间线(JSON 字符串:Milestone[])
52
+ *
53
+ * ★ 企微每次发新消息都要带**完整历史时间线**(无 patch 能力),
54
+ * 所以时间线必须持久化 —— 重启后第一条 update 也要能渲染
55
+ * 完整历史。
56
+ */
57
+ timeline?: string;
58
+ }
59
+ /** 持久化端口(hook 只依赖这个接口,便于测试注入内存实现) */
60
+ export interface WecomCardStateStore {
61
+ /** 写入或覆盖一条记录 */
62
+ upsert(state: WecomCardState): void;
63
+ /** 按 taskId 读取 */
64
+ get(taskId: number): WecomCardState | undefined;
65
+ /** 列出全部记录(诊断用) */
66
+ list(): WecomCardState[];
67
+ /** 标记为暂停(保留记录) */
68
+ markPaused(taskId: number): void;
69
+ /** 从暂停/终结翻回进行中(resume) */
70
+ markReopened(taskId: number): void;
71
+ /** 标记终结(completed / failed / cancelled / deleted) */
72
+ markClosed(taskId: number): void;
73
+ /** 真删除(仅测试/手工清理用) */
74
+ delete(taskId: number): void;
75
+ /** 释放资源 */
76
+ close(): void;
77
+ }
78
+ /**
79
+ * 内存实现(测试 / 降级)
80
+ *
81
+ * ★ 独立导出(`createMemoryWecomCardStore`),测试直接用,
82
+ * 不经过 `createWecomCardStateStore` 的测试环境守卫。
83
+ */
84
+ export declare class MemoryWecomCardStateStore implements WecomCardStateStore {
85
+ private readonly records;
86
+ upsert(state: WecomCardState): void;
87
+ get(taskId: number): WecomCardState | undefined;
88
+ list(): WecomCardState[];
89
+ markPaused(taskId: number): void;
90
+ markReopened(taskId: number): void;
91
+ markClosed(taskId: number): void;
92
+ delete(taskId: number): void;
93
+ close(): void;
94
+ }
95
+ /** 测试工厂:内存 store */
96
+ export declare function createMemoryWecomCardStore(): WecomCardStateStore;
97
+ export declare class SqliteWecomCardStateStore implements WecomCardStateStore {
98
+ private readonly db;
99
+ constructor(dbPath: string);
100
+ upsert(state: WecomCardState): void;
101
+ get(taskId: number): WecomCardState | undefined;
102
+ list(): WecomCardState[];
103
+ markPaused(taskId: number): void;
104
+ markReopened(taskId: number): void;
105
+ markClosed(taskId: number): void;
106
+ delete(taskId: number): void;
107
+ close(): void;
108
+ }
109
+ /** 默认库文件路径:`$HOME/.local/share/roy-agent/wecom-cards.db` */
110
+ export declare function getDefaultWecomCardDbPath(): string;
111
+ /**
112
+ * 创建持久化 store
113
+ *
114
+ * ★ 失败降级:SQLite 打不开时**不抛错**,回落内存实现并 warn ——
115
+ * 卡片该发还得发,绝不能因为持久化层故障让通知路径整体崩掉。
116
+ *
117
+ * ★ 测试环境保护(与 createLarkCardStateStore 同配方):
118
+ * bun test 环境 + 未显式指定路径 → 一律返回内存实现(零副作用),
119
+ * 防止测试污染真实用户库。
120
+ */
121
+ export declare function createWecomCardStateStore(dbPath?: string): WecomCardStateStore;
@@ -0,0 +1,224 @@
1
+ /**
2
+ * @fileoverview WecomTaskNotifyHook — 企微任务进展通知 Hook(Task #5193)
3
+ *
4
+ * 在任务生命周期事件上,把「任务进展」渲染成 **markdown 消息**
5
+ * 发到企微(对齐 LarkCliTaskNotifyHook 的 hook 结构):
6
+ *
7
+ * - `task:after.create` → 发初始卡片
8
+ * - `task:after.update` → 发更新卡片(进度/状态/变更摘要)
9
+ * - `task:after.complete` → 发终态卡片(仅真验收完成)
10
+ * - `task:after.delete` → 发取消收尾
11
+ * - `task:operation:after.create` → 时间线追加(节流)
12
+ *
13
+ * ## 与 lark-cli 插件的关键差异
14
+ *
15
+ * | 维度 | lark-cli | wecom-cli |
16
+ * |------|----------|-----------|
17
+ * | 卡片形态 | interactive card(可 patch 同一张) | **markdown 消息(每次新发)** |
18
+ * | 更新方式 | PATCH 原卡片 | 每次更新发一条新 markdown |
19
+ * | pin/unpin | 支持 | **无**(恒 false) |
20
+ * | messageId 跟踪 | 必须(patch 键) | 不需要 |
21
+ *
22
+ * ⇒ 企微侧防刷屏靠**节流**(operationThrottleMs 默认 5s);
23
+ * 时间线**必须持久化**(wecom-cards.db)—— 每条新消息都要
24
+ * 渲染完整历史,重启后也不能丢。
25
+ *
26
+ * ## chat_id 语义(实测硬约束,Task #5174)
27
+ *
28
+ * - replyChannel.chatId:单聊 = 对方 userid,群聊 = chatid
29
+ * - CLI 需要真实 userid(`wotnB7Wg...` 形态)→ 出站统一走
30
+ * `sendWecomReply`(内部 `resolveWecomCliChatId` 解析 + 缓存)
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * import { createWecomTaskNotifyHook } from "./wecom-task-notify-plugin";
35
+ * globalHookManager.register("task:after.create", createWecomTaskNotifyHook({...}));
36
+ * ```
37
+ */
38
+ import type { Hook, HookContext } from "../../hook/types";
39
+ import type { Task } from "../types";
40
+ import { type WecomSendResult } from "../../event-source/wecom-respond-registry";
41
+ import { MemoryWecomCardStateStore, getDefaultWecomCardDbPath, type WecomCardStateStore } from "./wecom-card-state-store";
42
+ /** 通知类型(对齐 NotifyType) */
43
+ export declare const WecomNotifyType: {
44
+ readonly TASK_CREATED: "task_created";
45
+ readonly TASK_UPDATED: "task_updated";
46
+ readonly TASK_COMPLETED: "task_completed";
47
+ readonly OPERATION_CREATED: "operation_created";
48
+ };
49
+ export type WecomNotifyType = (typeof WecomNotifyType)[keyof typeof WecomNotifyType];
50
+ /** 时间线里程碑(渲染用,与 LarkCardPatchNotifier.Milestone 形态对齐) */
51
+ export interface WecomMilestone {
52
+ title: string;
53
+ timestamp: string;
54
+ description?: string;
55
+ }
56
+ /** 插件配置 */
57
+ export interface WecomTaskNotifyConfig {
58
+ /** 是否启用 */
59
+ enabled?: boolean;
60
+ /** 优先级 */
61
+ priority?: number;
62
+ /** 插件名称(用于 pluginEnabled 检查) */
63
+ pluginName?: string;
64
+ /** 事件源 ID(用于 pluginEnabled 检查) */
65
+ sourceId?: string;
66
+ /**
67
+ * 操作记录通知节流间隔(毫秒)
68
+ *
69
+ * 企微每次更新都是**新消息**,不加节流会刷屏。默认 5000ms;
70
+ * 设为 0 表示不节流。
71
+ */
72
+ operationThrottleMs?: number;
73
+ /**
74
+ * 时间线最多保留的里程碑条数(防消息无限膨胀)
75
+ *
76
+ * 企微 markdown 消息有长度上限,时间线太长会被截断。
77
+ * 默认 20 条,超出时丢最旧的(最新进展最重要)。
78
+ */
79
+ maxTimelineEntries?: number;
80
+ /** 通知类型过滤(空数组 = 全开) */
81
+ notifyTypes?: WecomNotifyType[];
82
+ /**
83
+ * 出站 sender(测试注入;不传用 sendWecomReply)
84
+ */
85
+ sender?: {
86
+ send(input: {
87
+ chatId: string;
88
+ content: string;
89
+ }): Promise<WecomSendResult>;
90
+ };
91
+ /**
92
+ * 卡片记录持久化 store
93
+ *
94
+ * 不传 → 自动创建(`~/.local/share/roy-agent/wecom-cards.db`);
95
+ * 测试可注入 MemoryWecomCardStateStore。
96
+ */
97
+ cardStateStore?: WecomCardStateStore;
98
+ }
99
+ /**
100
+ * 从 EnvContext 判定是否企微事件,并提取 chatId。
101
+ *
102
+ * 判定优先级:
103
+ * 1. `envEvent.type === "event-source.event.wecom-cli"`(生产主路径)
104
+ * 2. `replyChannel.type === "wecom-cli"`(兜底:事件类型缺失但通道明确)
105
+ *
106
+ * 两者都不满足(lark / cli-command / timer…)→ isWecom=false,插件跳过。
107
+ */
108
+ export declare function extractWecomFields(env: {
109
+ envEvent?: unknown;
110
+ replyChannel?: {
111
+ type?: string;
112
+ chatId?: string;
113
+ };
114
+ }, fallbackSourceId?: string): {
115
+ isWecom: boolean;
116
+ chatId?: string;
117
+ sourceId?: string;
118
+ };
119
+ /**
120
+ * 渲染企微进展卡片(markdown)
121
+ *
122
+ * 结构(对齐 lark 卡片的信息密度,压缩成 markdown):
123
+ * ```
124
+ * ### 📋 Task #42 · 时空增强任务
125
+ * **状态**:🔄 进行中(80%)
126
+ * > 任务描述第一行…
127
+ *
128
+ * **时间线**
129
+ * - 🕐 2026-06-01 00:00 — Task 创建
130
+ * - 🕐 2026-06-01 02:00 — 完成需求分析:已完成核心功能的需求拆解
131
+ * ```
132
+ */
133
+ export declare function buildWecomTaskCard(input: {
134
+ task: Task;
135
+ statusLabel: string;
136
+ milestones: WecomMilestone[];
137
+ /** 变更摘要(update 时) */
138
+ changeSummary?: string;
139
+ /** 是否终态(终态加收尾分隔线) */
140
+ terminal?: boolean;
141
+ }): string;
142
+ export declare class WecomTaskNotifyHook implements Hook {
143
+ readonly name: string;
144
+ readonly priority: number;
145
+ readonly description?: string;
146
+ readonly pluginName?: string;
147
+ readonly sourceId?: string;
148
+ private readonly config;
149
+ /** 出站 sender(默认 sendWecomReply,测试可注入) */
150
+ private readonly sender;
151
+ /** 持久化 store(taskId → chatId/status/timeline) */
152
+ private readonly cardStateStore;
153
+ /** 操作记录节流状态:key `op:${taskId}` → 上次发送时间戳 */
154
+ private lastNotifyTimestamps;
155
+ constructor(config?: WecomTaskNotifyConfig);
156
+ /**
157
+ * 默认出站:sendWecomReply(CLI 主路径 → WS fallback)
158
+ *
159
+ * sourceId 从事件 metadata 取(sendWecomReply 只在 WS fallback 时用)。
160
+ */
161
+ private defaultSend;
162
+ execute(ctx: HookContext<unknown>): Promise<void>;
163
+ /** 任务创建:发初始卡片 */
164
+ private onAfterCreate;
165
+ /** 任务更新:发更新卡片 */
166
+ private onAfterUpdate;
167
+ /** 任务终态(task_complete):仅真验收完成(to_validate 是自查关) */
168
+ private onAfterComplete;
169
+ /** 任务删除(硬删除):收尾 */
170
+ private onAfterDelete;
171
+ /** 操作记录创建:时间线追加(节流) */
172
+ private onAfterOperationCreate;
173
+ /** 发初始卡片 */
174
+ private sendCardStart;
175
+ /** 发更新卡片 */
176
+ private sendCardUpdate;
177
+ /** 发终态卡片 */
178
+ private sendCardFinish;
179
+ /**
180
+ * 投递(永不抛)
181
+ *
182
+ * ★ Task #5203:主路径 = WS 直发 template_card(text_notice 进展卡);
183
+ * 构造失败 / WS 不可用 → 回落 markdown(CLI 路径,#5193 行为)。
184
+ *
185
+ * @returns 是否成功(失败时调用方决定是否落库)
186
+ */
187
+ private deliver;
188
+ /**
189
+ * ★ Task #5203:经 WS 直发 template_card。
190
+ *
191
+ * - chatType:单聊 → chat_type=1;群聊 → 2
192
+ * (★ Task #5270:读 replyChannel.params.chatType——
193
+ * buildWecomReplyChannel 塞入,顶层无 chatType 字段;
194
+ * 另当 chatId 与当前 env 的 chatId 不一致时(终态/删除
195
+ * 链路用持久化记录的 rec.chatId,可能来自群会话)按群聊
196
+ * 处理,避免群 chatid + chat_type=1 错配被企微丢弃)
197
+ * - 失败返回 false(调用方回落 markdown),绝不抛
198
+ */
199
+ private deliverTemplateCard;
200
+ /** 读记录(store 异常降级为 undefined,绝不抛) */
201
+ private getRecord;
202
+ /** 解析持久化的时间线 JSON(损坏时返回空数组) */
203
+ private parseTimeline;
204
+ /** 时间线截断(保留最新 N 条) */
205
+ private trimTimeline;
206
+ /** 持久化时间线(失败只 warn) */
207
+ private persistTimeline;
208
+ /** 从记录重建最小 Task(delete 后 Task 已不存在) */
209
+ private hydrateTask;
210
+ /**
211
+ * 操作记录发送节流
212
+ *
213
+ * 同一 Task 在 operationThrottleMs(默认 5s)窗口内只发一次,
214
+ * 避免 agent 每次 tool call 都刷屏(企微每次都是新消息,比 lark 更敏感)。
215
+ *
216
+ * ★ 返回 true **不代表丢弃**:被节流的 operation 仍会先并进
217
+ * 时间线并落库,只是不立刻发送。
218
+ */
219
+ private shouldThrottleOperation;
220
+ /** 检查是否应该发送通知 */
221
+ private shouldNotify;
222
+ }
223
+ export declare function createWecomTaskNotifyHook(config?: WecomTaskNotifyConfig): WecomTaskNotifyHook;
224
+ export { MemoryWecomCardStateStore, getDefaultWecomCardDbPath };
@@ -7,6 +7,7 @@ import { writeFileTool } from "./write-file";
7
7
  import { editFileTool } from "./edit-file";
8
8
  import { grepTool } from "./grep";
9
9
  import { understandImageTool } from "./understand-image";
10
+ import { wecomRespondTool } from "../../event-source/wecom-respond-registry";
10
11
  import { createQueryBackgroundProcessTool } from "./query-background-process-tool";
11
12
  import { createCompactSessionTool, compactSessionTool } from "./compact-session-tool";
12
13
  export { bashTool };
@@ -17,6 +18,7 @@ export { writeFileTool };
17
18
  export { editFileTool };
18
19
  export { grepTool };
19
20
  export { understandImageTool };
21
+ export { wecomRespondTool };
20
22
  import { queryBackgroundProcessTool } from "./query-background-process-tool";
21
23
  export { queryBackgroundProcessTool, createQueryBackgroundProcessTool };
22
24
  export { compactSessionTool, createCompactSessionTool };
@@ -8,7 +8,7 @@ import {
8
8
  grepTool,
9
9
  readFileTool,
10
10
  writeFileTool
11
- } from "../../../shared/@ai-setting/roy-agent-core-8ez6mccb.js";
11
+ } from "../../../shared/@ai-setting/roy-agent-core-tk98f92b.js";
12
12
  import {
13
13
  getUnderstandImageLLMProvider,
14
14
  resetUnderstandImageLLMProvider,
@@ -22,13 +22,18 @@ import {
22
22
  queryBackgroundProcessTool
23
23
  } from "../../../shared/@ai-setting/roy-agent-core-2akfd64z.js";
24
24
  import"../../../shared/@ai-setting/roy-agent-core-fttgm52a.js";
25
+ import {
26
+ wecomRespondTool
27
+ } from "../../../shared/@ai-setting/roy-agent-core-m3vjepzz.js";
25
28
  import"../../../shared/@ai-setting/roy-agent-core-zjdzk1gg.js";
29
+ import"../../../shared/@ai-setting/roy-agent-core-7cbpmk4q.js";
26
30
  import"../../../shared/@ai-setting/roy-agent-core-qq96p0tj.js";
27
31
  import"../../../shared/@ai-setting/roy-agent-core-7f7t9wwp.js";
28
32
  import"../../../shared/@ai-setting/roy-agent-core-85xyctnb.js";
29
33
  import"../../../shared/@ai-setting/roy-agent-core-fs0mn2jk.js";
30
34
  export {
31
35
  writeFileTool,
36
+ wecomRespondTool,
32
37
  understandImageTool,
33
38
  setUnderstandImageLLMProvider,
34
39
  resetUnderstandImageLLMProvider,
@@ -10,7 +10,7 @@ import {
10
10
  grepTool,
11
11
  readFileTool,
12
12
  writeFileTool
13
- } from "../../shared/@ai-setting/roy-agent-core-8ez6mccb.js";
13
+ } from "../../shared/@ai-setting/roy-agent-core-tk98f92b.js";
14
14
  import {
15
15
  getUnderstandImageLLMProvider,
16
16
  resetUnderstandImageLLMProvider,
@@ -19,13 +19,14 @@ import {
19
19
  } from "../../shared/@ai-setting/roy-agent-core-xwm8zavb.js";
20
20
  import"../../shared/@ai-setting/roy-agent-core-2akfd64z.js";
21
21
  import"../../shared/@ai-setting/roy-agent-core-fttgm52a.js";
22
+ import"../../shared/@ai-setting/roy-agent-core-m3vjepzz.js";
22
23
  import {
23
24
  ToolComponent,
24
25
  ToolRegistry,
25
26
  ToolValidator,
26
27
  getMaxOutputSize,
27
28
  setToolConfigComponent
28
- } from "../../shared/@ai-setting/roy-agent-core-v85n42ve.js";
29
+ } from "../../shared/@ai-setting/roy-agent-core-ze5cqpf2.js";
29
30
  import"../../shared/@ai-setting/roy-agent-core-jvv2h3d6.js";
30
31
  import"../../shared/@ai-setting/roy-agent-core-zjdzk1gg.js";
31
32
  import"../../shared/@ai-setting/roy-agent-core-mkc3zshb.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  WorkflowComponent
3
- } from "../../shared/@ai-setting/roy-agent-core-v87njmq7.js";
3
+ } from "../../shared/@ai-setting/roy-agent-core-0dh8npnz.js";
4
4
  import"../../shared/@ai-setting/roy-agent-core-es203w7p.js";
5
5
  import {
6
6
  Edge,
@@ -14,12 +14,12 @@ import {
14
14
  DecoratorNode,
15
15
  init_decorator_node
16
16
  } from "../../shared/@ai-setting/roy-agent-core-1ce3fqrk.js";
17
- import"../../shared/@ai-setting/roy-agent-core-mww0mnd9.js";
17
+ import"../../shared/@ai-setting/roy-agent-core-7bpj859q.js";
18
18
  import"../../shared/@ai-setting/roy-agent-core-ddyk1rc0.js";
19
19
  import"../../shared/@ai-setting/roy-agent-core-0qyrk5k0.js";
20
20
  import"../../shared/@ai-setting/roy-agent-core-hhrg314p.js";
21
21
  import"../../shared/@ai-setting/roy-agent-core-12n08pg5.js";
22
- import"../../shared/@ai-setting/roy-agent-core-6cy43nss.js";
22
+ import"../../shared/@ai-setting/roy-agent-core-rykf7c04.js";
23
23
  import"../../shared/@ai-setting/roy-agent-core-6rh8k6ba.js";
24
24
  import"../../shared/@ai-setting/roy-agent-core-6atd905e.js";
25
25
  import"../../shared/@ai-setting/roy-agent-core-dqxec05w.js";
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  LarkCliWorkflowNotifyHook,
3
3
  createLarkCliWorkflowNotifyHook
4
- } from "../../../shared/@ai-setting/roy-agent-core-hd3n57zs.js";
5
- import"../../../shared/@ai-setting/roy-agent-core-w0qjeq2v.js";
4
+ } from "../../../shared/@ai-setting/roy-agent-core-d1n4jbza.js";
5
+ import"../../../shared/@ai-setting/roy-agent-core-7dd0s3xb.js";
6
6
  import"../../../shared/@ai-setting/roy-agent-core-c2gbt68e.js";
7
7
  import"../../../shared/@ai-setting/roy-agent-core-ax9e9szb.js";
8
8
  import"../../../shared/@ai-setting/roy-agent-core-cpcd24n2.js";
@@ -24,11 +24,11 @@ import {
24
24
  getRunWorkflowTool,
25
25
  initRunWorkflowTool,
26
26
  resetRunWorkflowTool
27
- } from "../../../shared/@ai-setting/roy-agent-core-mww0mnd9.js";
27
+ } from "../../../shared/@ai-setting/roy-agent-core-7bpj859q.js";
28
28
  import"../../../shared/@ai-setting/roy-agent-core-ddyk1rc0.js";
29
29
  import"../../../shared/@ai-setting/roy-agent-core-0qyrk5k0.js";
30
30
  import"../../../shared/@ai-setting/roy-agent-core-12n08pg5.js";
31
- import"../../../shared/@ai-setting/roy-agent-core-6cy43nss.js";
31
+ import"../../../shared/@ai-setting/roy-agent-core-rykf7c04.js";
32
32
  import {
33
33
  WORKFLOW_SUBMIT_OUTPUT_TOOL_NAME,
34
34
  WorkflowJsonOutputMarker,
package/dist/index.d.ts CHANGED
@@ -18,7 +18,7 @@ export type { ToolContext } from "./env/tool/types";
18
18
  export type { ToolHookContext } from "./env/tool/tool-component";
19
19
  export { AgentComponent, type AgentComponentConfig, type AgentContext, AgentComponentConfigSchema, type Plugin, type HookPoint, type HookContext, } from "./env/agent";
20
20
  export { AgentRegistry, type AgentDefinition, type AgentType, type AgentConfig, type ExportOptions, } from "./env/agent/agent-registry";
21
- export { LogTraceComponent, type LogTraceConfig, type LogTraceComponentOptions, LogTraceConfigSchema, Traced, TracedAs, TracedLightweight, wrapFunction, type TracedOptions, createLogger, getLogDir, setLogDirOverride, setQuietMode, isQuietMode, getLogLevels, getLogLevel, setLoggerConfigComponent, SQLiteSpanStorage, type SpanContext, type SpanAttributes, type Span, type TraceInfo, type SpanStorage, type LogLevel, type LoggerConfig, type ILogger, SpanKind, SpanStatus, OTelTracerProvider, getTracerProvider, resetTracerProvider, type OTelTracer, type OTelSpan, type SpanOptions, propagation, isTraceFullMode, resetTraceFullModeCache, llmInvokeParamFilter, llmInvokeResultFilter, messagesParamFilter, toolExecParamFilter, toolInvokeParamFilter, toolExecResultFilter, embedParamFilter, embedResultFilter, envQueryParamFilter, agentRunParamFilter, recordSessionMessagesParamFilter, } from "./env/log-trace";
21
+ export { LogTraceComponent, type LogTraceConfig, type LogTraceComponentOptions, LogTraceConfigSchema, Traced, TracedAs, TracedLightweight, wrapFunction, type TracedOptions, createLogger, getLogDir, setLogDirOverride, setQuietMode, isQuietMode, getLogLevels, getLogLevel, setLoggerConfigComponent, SQLiteSpanStorage, type SpanContext, type SpanAttributes, type Span, type TraceInfo, type SpanStorage, type LogLevel, type LoggerConfig, type ILogger, SpanKind, SpanStatus, OTelTracerProvider, getTracerProvider, resetTracerProvider, type OTelTracer, type OTelSpan, type SpanOptions, propagation, isTraceFullMode, resetTraceFullModeCache, llmInvokeParamFilter, llmInvokeResultFilter, messagesParamFilter, toolExecParamFilter, toolInvokeParamFilter, toolExecResultFilter, embedParamFilter, embedResultFilter, envQueryParamFilter, agentRunParamFilter, recordSessionMessagesParamFilter, setStdoutStrictMode, } from "./env/log-trace";
22
22
  export { DebugComponent, TraceFormatter, TreeFormatter, ReplFormatter, type TraceDataSource, type TraceParserOptions, } from "./env/debug";
23
23
  export type { TraceEntry, TraceTreeNode, ParserOptions, LogDiscoveryOptions, TraceIdInfo, TraceSummary, TraceAction, LogLevel as DebugLogLevel, FormatOptions, } from "./env/debug";
24
24
  export { PromptComponent, type PromptComponentOptions, } from "./env/prompt/prompt-component";