@ai-setting/roy-agent-core 1.7.56 → 1.7.58

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 (108) hide show
  1. package/dist/config/index.js +8 -8
  2. package/dist/env/agent/agent-component.d.ts +11 -0
  3. package/dist/env/agent/index.js +14 -14
  4. package/dist/env/commands/index.js +8 -8
  5. package/dist/env/context/index.js +4 -4
  6. package/dist/env/debug/index.js +8 -8
  7. package/dist/env/error-reply.d.ts +4 -3
  8. package/dist/env/event-source/event-source-handlers.d.ts +28 -0
  9. package/dist/env/event-source/index.js +18 -17
  10. package/dist/env/hook/index.js +6 -6
  11. package/dist/env/index.js +44 -43
  12. package/dist/env/llm/index.js +9 -9
  13. package/dist/env/log-trace/index.js +8 -8
  14. package/dist/env/log-trace/opentelemetry/tracer-provider.d.ts +86 -1
  15. package/dist/env/mcp/index.js +9 -9
  16. package/dist/env/mcp/tool/index.js +2 -2
  17. package/dist/env/memory/index.js +9 -9
  18. package/dist/env/memory/plugin/index.js +2 -2
  19. package/dist/env/plugin/index.js +11 -9
  20. package/dist/env/plugin/lark-cli-notification-channel.d.ts +11 -2
  21. package/dist/env/prompt/index.js +8 -8
  22. package/dist/env/session/index.js +11 -11
  23. package/dist/env/session/storage/index.js +5 -5
  24. package/dist/env/skill/index.js +8 -8
  25. package/dist/env/task/delegate/delegate-tool.d.ts +26 -0
  26. package/dist/env/task/delegate/index.js +9 -9
  27. package/dist/env/task/index.js +18 -17
  28. package/dist/env/task/plugins/index.js +11 -10
  29. package/dist/env/task/plugins/lark-card-patch-notifier.d.ts +109 -2
  30. package/dist/env/task/plugins/lark-card-state-store.d.ts +137 -0
  31. package/dist/env/task/plugins/lark-cli-task-notify-plugin.d.ts +154 -2
  32. package/dist/env/task/storage/index.js +4 -3
  33. package/dist/env/task/tools/index.js +4 -4
  34. package/dist/env/tool/built-in/index.js +4 -4
  35. package/dist/env/tool/index.js +11 -11
  36. package/dist/env/workflow/engine/index.js +13 -13
  37. package/dist/env/workflow/hooks/index.js +8 -8
  38. package/dist/env/workflow/index.js +23 -23
  39. package/dist/env/workflow/nodes/index.js +3 -3
  40. package/dist/env/workflow/plugins/index.js +9 -9
  41. package/dist/env/workflow/service/index.js +3 -3
  42. package/dist/env/workflow/storage/index.js +4 -4
  43. package/dist/env/workflow/tools/index.js +15 -15
  44. package/dist/env/workflow/utils/index.js +5 -5
  45. package/dist/index.js +58 -57
  46. package/dist/shared/@ai-setting/{roy-agent-core-0b3fdnn3.js → roy-agent-core-029r8kdw.js} +4 -4
  47. package/dist/shared/@ai-setting/{roy-agent-core-nra8vfrs.js → roy-agent-core-08njdcpj.js} +1 -1
  48. package/dist/shared/@ai-setting/{roy-agent-core-40xzbjtm.js → roy-agent-core-0kn3zt1t.js} +2 -2
  49. package/dist/shared/@ai-setting/{roy-agent-core-nhk0dsxr.js → roy-agent-core-0yn7a78e.js} +14 -14
  50. package/dist/shared/@ai-setting/{roy-agent-core-tbrn9wdm.js → roy-agent-core-14bq77wr.js} +1 -1
  51. package/dist/shared/@ai-setting/{roy-agent-core-qyqnmz8c.js → roy-agent-core-20m8je6e.js} +1 -1
  52. package/dist/shared/@ai-setting/{roy-agent-core-zmeka63k.js → roy-agent-core-2ctyjy62.js} +1 -1
  53. package/dist/shared/@ai-setting/{roy-agent-core-heft3j4c.js → roy-agent-core-2fk8c9ax.js} +3 -3
  54. package/dist/shared/@ai-setting/{roy-agent-core-8cgtwytv.js → roy-agent-core-4096f575.js} +4 -4
  55. package/dist/shared/@ai-setting/{roy-agent-core-yg247mk4.js → roy-agent-core-47s81t6g.js} +2 -2
  56. package/dist/shared/@ai-setting/{roy-agent-core-q7zksbw0.js → roy-agent-core-5f7myqnb.js} +5 -5
  57. package/dist/shared/@ai-setting/{roy-agent-core-vmg30n5x.js → roy-agent-core-6bradb0j.js} +15 -10
  58. package/dist/shared/@ai-setting/{roy-agent-core-zjttt2y4.js → roy-agent-core-7nb23tdd.js} +1 -1
  59. package/dist/shared/@ai-setting/roy-agent-core-7q4wdze2.js +7 -0
  60. package/dist/shared/@ai-setting/{roy-agent-core-d4jpn06f.js → roy-agent-core-84rs0c8d.js} +7 -7
  61. package/dist/shared/@ai-setting/{roy-agent-core-c6at31ra.js → roy-agent-core-84xtww7d.js} +3 -3
  62. package/dist/shared/@ai-setting/{roy-agent-core-202v00x4.js → roy-agent-core-89sxsrc7.js} +1 -1
  63. package/dist/shared/@ai-setting/{roy-agent-core-ezsyyjxw.js → roy-agent-core-8bngppw0.js} +580 -83
  64. package/dist/shared/@ai-setting/{roy-agent-core-b599jgyd.js → roy-agent-core-8p63s836.js} +1 -1
  65. package/dist/shared/@ai-setting/{roy-agent-core-e0wbq0qq.js → roy-agent-core-991pk4ss.js} +11 -11
  66. package/dist/shared/@ai-setting/{roy-agent-core-5rxs0ra3.js → roy-agent-core-9zhkdg6w.js} +2 -2
  67. package/dist/shared/@ai-setting/{roy-agent-core-gn8f4rhs.js → roy-agent-core-baaa4wtp.js} +2 -2
  68. package/dist/shared/@ai-setting/{roy-agent-core-nntphgww.js → roy-agent-core-c36335nw.js} +146 -8
  69. package/dist/shared/@ai-setting/{roy-agent-core-tc7gw38m.js → roy-agent-core-c7w2h47a.js} +3 -3
  70. package/dist/shared/@ai-setting/{roy-agent-core-j5c3chtn.js → roy-agent-core-cyefe8z5.js} +1 -1
  71. package/dist/shared/@ai-setting/{roy-agent-core-n3b7ztms.js → roy-agent-core-d75t8gea.js} +1 -1
  72. package/dist/shared/@ai-setting/{roy-agent-core-yv9x4wmg.js → roy-agent-core-e1w17tht.js} +2 -2
  73. package/dist/shared/@ai-setting/{roy-agent-core-f8sp1txg.js → roy-agent-core-e250355z.js} +3 -3
  74. package/dist/shared/@ai-setting/{roy-agent-core-9nv586rw.js → roy-agent-core-eanq305k.js} +22 -16
  75. package/dist/shared/@ai-setting/{roy-agent-core-6qgq7h1g.js → roy-agent-core-em4hks9t.js} +4 -4
  76. package/dist/shared/@ai-setting/{roy-agent-core-0bmk44ye.js → roy-agent-core-en2xqxs9.js} +5 -5
  77. package/dist/shared/@ai-setting/{roy-agent-core-3kz6934b.js → roy-agent-core-fbjd7bt6.js} +3 -7
  78. package/dist/shared/@ai-setting/{roy-agent-core-98aa9r0x.js → roy-agent-core-fw6k4w1h.js} +6 -6
  79. package/dist/shared/@ai-setting/{roy-agent-core-2044fbsd.js → roy-agent-core-fy4mcj6x.js} +40 -47
  80. package/dist/shared/@ai-setting/{roy-agent-core-ns3pbyz4.js → roy-agent-core-ge87xbas.js} +1 -1
  81. package/dist/shared/@ai-setting/{roy-agent-core-r9qe0ghe.js → roy-agent-core-geh6j7bw.js} +2 -2
  82. package/dist/shared/@ai-setting/{roy-agent-core-wafk25ff.js → roy-agent-core-gksw1gjb.js} +1 -1
  83. package/dist/shared/@ai-setting/{roy-agent-core-3dkzqqsd.js → roy-agent-core-hefarcp0.js} +1 -1
  84. package/dist/shared/@ai-setting/{roy-agent-core-5gw6w424.js → roy-agent-core-hs41gx9w.js} +5 -5
  85. package/dist/shared/@ai-setting/{roy-agent-core-d14h726p.js → roy-agent-core-jjhw9am6.js} +4 -4
  86. package/dist/shared/@ai-setting/{roy-agent-core-5psjwd08.js → roy-agent-core-jjxdmedn.js} +2 -2
  87. package/dist/shared/@ai-setting/{roy-agent-core-bwzy00t2.js → roy-agent-core-kq9pz2a7.js} +4 -4
  88. package/dist/shared/@ai-setting/{roy-agent-core-8t7wny6v.js → roy-agent-core-m68z3pw1.js} +1 -1
  89. package/dist/shared/@ai-setting/{roy-agent-core-16t0zfbk.js → roy-agent-core-m97jn2ra.js} +1 -1
  90. package/dist/shared/@ai-setting/{roy-agent-core-kzg1jwt8.js → roy-agent-core-n0p0hwgd.js} +1 -1
  91. package/dist/shared/@ai-setting/{roy-agent-core-xcq04fq0.js → roy-agent-core-psg6f1v6.js} +6 -6
  92. package/dist/shared/@ai-setting/{roy-agent-core-4zy2v3br.js → roy-agent-core-q4gdfypk.js} +3 -3
  93. package/dist/shared/@ai-setting/{roy-agent-core-m8n0dffe.js → roy-agent-core-rcgvmtms.js} +1 -1
  94. package/dist/shared/@ai-setting/{roy-agent-core-8seq65bp.js → roy-agent-core-rt115qfc.js} +44 -1
  95. package/dist/shared/@ai-setting/{roy-agent-core-jszgaevt.js → roy-agent-core-syyw58p9.js} +2 -2
  96. package/dist/shared/@ai-setting/{roy-agent-core-3mc6vmvj.js → roy-agent-core-t4x089js.js} +1 -1
  97. package/dist/shared/@ai-setting/{roy-agent-core-qjjf4tjb.js → roy-agent-core-t64nmayv.js} +2 -2
  98. package/dist/shared/@ai-setting/{roy-agent-core-833t16n1.js → roy-agent-core-txwptxk1.js} +3 -3
  99. package/dist/shared/@ai-setting/{roy-agent-core-w7hnjhvx.js → roy-agent-core-tze5596n.js} +3 -3
  100. package/dist/shared/@ai-setting/{roy-agent-core-pjxa78mp.js → roy-agent-core-vath15kt.js} +6 -6
  101. package/dist/shared/@ai-setting/{roy-agent-core-e677am8e.js → roy-agent-core-vgdhxbx3.js} +2 -2
  102. package/dist/shared/@ai-setting/{roy-agent-core-pemxr5n4.js → roy-agent-core-vh0qzb24.js} +2 -2
  103. package/dist/shared/@ai-setting/{roy-agent-core-v2188rnk.js → roy-agent-core-w93z6a42.js} +8 -8
  104. package/dist/shared/@ai-setting/{roy-agent-core-97eyghsp.js → roy-agent-core-ygn5tzt1.js} +2 -2
  105. package/dist/shared/@ai-setting/{roy-agent-core-1pnfkspm.js → roy-agent-core-yphwdm9x.js} +2 -2
  106. package/dist/shared/@ai-setting/{roy-agent-core-gngjkw3b.js → roy-agent-core-ytd5eztz.js} +1 -1
  107. package/dist/utils/temp-file-manager/index.js +2 -2
  108. package/package.json +1 -1
@@ -102,6 +102,35 @@ export declare class OTelTracerProvider {
102
102
  private storage;
103
103
  private initialized;
104
104
  private globalContext;
105
+ /**
106
+ * ★ Task #4486 Phase 3: per-run trace context 作用域(AsyncLocalStorage)。
107
+ *
108
+ * 为什么需要:`globalContext` 是进程级单槽。并发多 session 时
109
+ * - run B 的 startSpan() 会继承 run A 刚设的 traceId(串 trace)
110
+ * - run A 收尾 setGlobalContext(undefined) 会把 run B 的父上下文清掉
111
+ *
112
+ * `withGlobalContext(ctx, fn)` 在异步链内覆盖读值(链外仍回落进程级单槽,
113
+ * 完全向后兼容既有调用方)。
114
+ *
115
+ * 用 `{ value }` 包装而不是直接存 SpanContext:需要区分
116
+ * "链内显式设为 undefined"(屏蔽继承)与 "链内没设置"(回落进程级)。
117
+ */
118
+ private globalContextScope;
119
+ /**
120
+ * ★ Task #4515 (H1): 进程级 tracer currentContext 表(ALS 作用域外使用)。
121
+ *
122
+ * `instanceId → SpanContext`。取代原来 `OTelTracerImpl` 的私有单槽字段。
123
+ * 作用域外的读写在**同一个 map** 上做,所以既有的"同步链式嵌套"语义
124
+ * (root → child 自动继承)完全不变。
125
+ */
126
+ private tracerContexts;
127
+ /**
128
+ * ★ Task #4515 (H1): 当前 ALS 作用域内的 tracer currentContext 表。
129
+ *
130
+ * `withGlobalContext()` 为每次 run 建一张**独立的 map**,所以并发 run 的
131
+ * `startSpan()` / `span.end()` 各改各的槽,互不可见 —— 这是 H1 的根治点。
132
+ */
133
+ private tracerContextScope;
105
134
  readonly instanceId: string;
106
135
  constructor(storage?: SpanStorage, dbPath?: string);
107
136
  /**
@@ -115,13 +144,69 @@ export declare class OTelTracerProvider {
115
144
  */
116
145
  isInitialized(): boolean;
117
146
  /**
118
- * 获取全局 context(所有 tracer 共享)
147
+ * 获取当前 trace context。
148
+ *
149
+ * ★ Task #4486 Phase 3: 优先读 ALS 作用域(withGlobalContext 设置),
150
+ * 没有作用域时回落进程级单槽(旧语义)。
119
151
  */
120
152
  getGlobalContext(): SpanContext | undefined;
121
153
  /**
122
154
  * 设置全局 context(所有 tracer 共享)
155
+ *
156
+ * ⚠️ 并发场景请优先用 `withGlobalContext()` —— 直接设置是进程级、
157
+ * 会被其他并发 run 观察到,且单方 set(undefined) 会连带清掉别人的父上下文。
123
158
  */
124
159
  setGlobalContext(context: SpanContext | undefined): void;
160
+ /**
161
+ * ★ Task #4486 Phase 3: 在指定 trace context 作用域内执行异步函数。
162
+ *
163
+ * - 作用域内 `getGlobalContext()` 返回 `context`(即使传 undefined 也会
164
+ * 屏蔽进程级单槽,即"本次 run 没有父 trace")
165
+ * - 作用域外不受影响,也不影响其他并发 run
166
+ * - 嵌套调用以内层为准,退出后恢复外层
167
+ *
168
+ * @param context 本次 run 的 trace context(可为 undefined = 无父)
169
+ * @param fn 要执行的异步函数
170
+ */
171
+ withGlobalContext<T>(context: SpanContext | undefined, fn: () => Promise<T>): Promise<T>;
172
+ /**
173
+ * ★ Task #4515 (H1-c): 在指定 context 的**同步**作用域内执行 `fn`。
174
+ *
175
+ * 为什么要这个:`withGlobalContext` 只接受 async 函数,而 `span.end()` 是
176
+ * 同步调用。如果 end() 在作用域外执行,`handleSpanEnd()` 会把恢复出的父上下文
177
+ * 写进**进程级**表 —— 于是下一轮 run 的 ALS 播种快照会继承上一轮的 trace,
178
+ * 表现为"下一轮复用了上一轮的 traceId"。
179
+ *
180
+ * 用这个把 end() 包回本 run 的作用域,写入就落在本 run 那张(随后丢弃的)表里。
181
+ */
182
+ runInGlobalContextSync<T>(context: SpanContext | undefined, fn: () => T): T;
183
+ /**
184
+ * ★ Task #4515 (H1): 读某 tracer 实例的 currentContext。
185
+ *
186
+ * 作用域内 → 读该 run 的 map(miss 回落进程级表,兼容作用域外设的上下文);
187
+ * 作用域外 → 读进程级表(旧语义)。
188
+ */
189
+ getTracerCurrentContext(instanceId: string): SpanContext | undefined;
190
+ /**
191
+ * ★ Task #4515 (H1): 写某 tracer 实例的 currentContext。
192
+ *
193
+ * 作用域内 → 只写该 run 的 map(并发 run 互不可见);
194
+ * 作用域外 → 写进程级表(旧语义)。
195
+ */
196
+ setTracerCurrentContext(instanceId: string, context: SpanContext | undefined): void;
197
+ /**
198
+ * ★ Task #4519: 清空**所有** tracer 实例的 currentContext(当前作用域内)。
199
+ *
200
+ * 为什么需要它、而不是逐个 `getTracer(name).setCurrentContext(undefined)`:
201
+ * 按名字清只能清掉**已实例化**的那个 tracer。而 `tracerContexts` 表是
202
+ * `instanceId → context`,此前其它名字的 tracer 若在进程级表里留了父上下文,
203
+ * 它仍会被继承(交叉复核指出:只清 "roy-tracer" 清不干净)。
204
+ * 这里直接清整表,保证**任何** tracer 名都不在事件之间串味。
205
+ *
206
+ * 作用域内 → 只清本 run 那张 map(不动进程级,并发 run 互不影响);
207
+ * 作用域外 → 清进程级表。
208
+ */
209
+ clearAllTracerCurrentContexts(): void;
125
210
  /**
126
211
  * 获取 Tracer
127
212
  */
@@ -10,21 +10,21 @@ import {
10
10
  augmentNpmEnvForPackageRunner,
11
11
  getMcpPathPriority,
12
12
  resolvePackageRunnerCommand
13
- } from "../../shared/@ai-setting/roy-agent-core-c6at31ra.js";
13
+ } from "../../shared/@ai-setting/roy-agent-core-84xtww7d.js";
14
14
  import {
15
15
  adaptMcpTool,
16
16
  convertInputSchemaToZod,
17
17
  createMcpToolsDescription
18
- } from "../../shared/@ai-setting/roy-agent-core-8t7wny6v.js";
18
+ } from "../../shared/@ai-setting/roy-agent-core-m68z3pw1.js";
19
19
  import"../../shared/@ai-setting/roy-agent-core-ctdhjv68.js";
20
20
  import"../../shared/@ai-setting/roy-agent-core-7hh0brvs.js";
21
- import"../../shared/@ai-setting/roy-agent-core-40xzbjtm.js";
22
- import"../../shared/@ai-setting/roy-agent-core-gngjkw3b.js";
23
- import"../../shared/@ai-setting/roy-agent-core-1pnfkspm.js";
24
- import"../../shared/@ai-setting/roy-agent-core-16t0zfbk.js";
25
- import"../../shared/@ai-setting/roy-agent-core-jszgaevt.js";
26
- import"../../shared/@ai-setting/roy-agent-core-b599jgyd.js";
27
- import"../../shared/@ai-setting/roy-agent-core-8seq65bp.js";
21
+ import"../../shared/@ai-setting/roy-agent-core-0kn3zt1t.js";
22
+ import"../../shared/@ai-setting/roy-agent-core-ytd5eztz.js";
23
+ import"../../shared/@ai-setting/roy-agent-core-yphwdm9x.js";
24
+ import"../../shared/@ai-setting/roy-agent-core-m97jn2ra.js";
25
+ import"../../shared/@ai-setting/roy-agent-core-syyw58p9.js";
26
+ import"../../shared/@ai-setting/roy-agent-core-8p63s836.js";
27
+ import"../../shared/@ai-setting/roy-agent-core-rt115qfc.js";
28
28
  import"../../shared/@ai-setting/roy-agent-core-jnszp0jq.js";
29
29
  import {
30
30
  ensureFallbackNpmPrefix,
@@ -2,8 +2,8 @@ import {
2
2
  adaptMcpTool,
3
3
  convertInputSchemaToZod,
4
4
  createMcpToolsDescription
5
- } from "../../../shared/@ai-setting/roy-agent-core-8t7wny6v.js";
6
- import"../../../shared/@ai-setting/roy-agent-core-8seq65bp.js";
5
+ } from "../../../shared/@ai-setting/roy-agent-core-m68z3pw1.js";
6
+ import"../../../shared/@ai-setting/roy-agent-core-rt115qfc.js";
7
7
  import"../../../shared/@ai-setting/roy-agent-core-jnszp0jq.js";
8
8
  import"../../../shared/@ai-setting/roy-agent-core-fs0mn2jk.js";
9
9
  export {
@@ -3,7 +3,7 @@ import {
3
3
  MemoryComponent,
4
4
  SOURCE_PRIORITY,
5
5
  getSourcePriority
6
- } from "../../shared/@ai-setting/roy-agent-core-gn8f4rhs.js";
6
+ } from "../../shared/@ai-setting/roy-agent-core-baaa4wtp.js";
7
7
  import {
8
8
  RecallMemorySchema,
9
9
  RecordMemorySchema
@@ -23,15 +23,15 @@ import {
23
23
  generateProjectSummary,
24
24
  parseMemoryAgentOutput,
25
25
  recallMemory
26
- } from "../../shared/@ai-setting/roy-agent-core-j5c3chtn.js";
26
+ } from "../../shared/@ai-setting/roy-agent-core-cyefe8z5.js";
27
27
  import"../../shared/@ai-setting/roy-agent-core-7hh0brvs.js";
28
- import"../../shared/@ai-setting/roy-agent-core-40xzbjtm.js";
29
- import"../../shared/@ai-setting/roy-agent-core-gngjkw3b.js";
30
- import"../../shared/@ai-setting/roy-agent-core-1pnfkspm.js";
31
- import"../../shared/@ai-setting/roy-agent-core-16t0zfbk.js";
32
- import"../../shared/@ai-setting/roy-agent-core-jszgaevt.js";
33
- import"../../shared/@ai-setting/roy-agent-core-b599jgyd.js";
34
- import"../../shared/@ai-setting/roy-agent-core-8seq65bp.js";
28
+ import"../../shared/@ai-setting/roy-agent-core-0kn3zt1t.js";
29
+ import"../../shared/@ai-setting/roy-agent-core-ytd5eztz.js";
30
+ import"../../shared/@ai-setting/roy-agent-core-yphwdm9x.js";
31
+ import"../../shared/@ai-setting/roy-agent-core-m97jn2ra.js";
32
+ import"../../shared/@ai-setting/roy-agent-core-syyw58p9.js";
33
+ import"../../shared/@ai-setting/roy-agent-core-8p63s836.js";
34
+ import"../../shared/@ai-setting/roy-agent-core-rt115qfc.js";
35
35
  import"../../shared/@ai-setting/roy-agent-core-jnszp0jq.js";
36
36
  import"../../shared/@ai-setting/roy-agent-core-fs0mn2jk.js";
37
37
  export {
@@ -13,8 +13,8 @@ import {
13
13
  generateProjectSummary,
14
14
  parseMemoryAgentOutput,
15
15
  recallMemory
16
- } from "../../../shared/@ai-setting/roy-agent-core-j5c3chtn.js";
17
- import"../../../shared/@ai-setting/roy-agent-core-8seq65bp.js";
16
+ } from "../../../shared/@ai-setting/roy-agent-core-cyefe8z5.js";
17
+ import"../../../shared/@ai-setting/roy-agent-core-rt115qfc.js";
18
18
  import"../../../shared/@ai-setting/roy-agent-core-jnszp0jq.js";
19
19
  import"../../../shared/@ai-setting/roy-agent-core-fs0mn2jk.js";
20
20
  export {
@@ -1,23 +1,23 @@
1
1
  import {
2
2
  EventBusNotificationChannel,
3
3
  PluginComponent
4
- } from "../../shared/@ai-setting/roy-agent-core-5gw6w424.js";
4
+ } from "../../shared/@ai-setting/roy-agent-core-hs41gx9w.js";
5
5
  import {
6
6
  normalizeLarkAtMentions
7
7
  } from "../../shared/@ai-setting/roy-agent-core-64f22h1g.js";
8
8
  import {
9
9
  BasePlugin
10
10
  } from "../../shared/@ai-setting/roy-agent-core-az13yzmc.js";
11
- import"../../shared/@ai-setting/roy-agent-core-40xzbjtm.js";
12
- import"../../shared/@ai-setting/roy-agent-core-gngjkw3b.js";
13
- import"../../shared/@ai-setting/roy-agent-core-1pnfkspm.js";
14
- import"../../shared/@ai-setting/roy-agent-core-16t0zfbk.js";
15
- import"../../shared/@ai-setting/roy-agent-core-jszgaevt.js";
16
- import"../../shared/@ai-setting/roy-agent-core-b599jgyd.js";
11
+ import"../../shared/@ai-setting/roy-agent-core-0kn3zt1t.js";
12
+ import"../../shared/@ai-setting/roy-agent-core-ytd5eztz.js";
13
+ import"../../shared/@ai-setting/roy-agent-core-yphwdm9x.js";
14
+ import"../../shared/@ai-setting/roy-agent-core-m97jn2ra.js";
15
+ import"../../shared/@ai-setting/roy-agent-core-syyw58p9.js";
16
+ import"../../shared/@ai-setting/roy-agent-core-8p63s836.js";
17
17
  import {
18
18
  createLogger,
19
19
  init_logger
20
- } from "../../shared/@ai-setting/roy-agent-core-8seq65bp.js";
20
+ } from "../../shared/@ai-setting/roy-agent-core-rt115qfc.js";
21
21
  import"../../shared/@ai-setting/roy-agent-core-jnszp0jq.js";
22
22
  import"../../shared/@ai-setting/roy-agent-core-fs0mn2jk.js";
23
23
  // src/env/plugin/lark-cli-notification-channel.ts
@@ -86,7 +86,9 @@ ${options.content}`;
86
86
  "--chat-id",
87
87
  chatId,
88
88
  "--markdown",
89
- normalizedContent
89
+ normalizedContent,
90
+ "--as",
91
+ "bot"
90
92
  ];
91
93
  }
92
94
  if (profile) {
@@ -19,10 +19,19 @@
19
19
  *
20
20
  * ## spawn lark-cli
21
21
  *
22
- * - messageId 走 `lark-cli im +messages-reply --message-id <id> --markdown <md>`
23
- * - chatId 走 `lark-cli im +messages-send --chat-id <id> --markdown <md>`
22
+ * - messageId 走 `lark-cli im +messages-reply --message-id <id> --markdown <md> --as bot`
23
+ * - chatId 走 `lark-cli im +messages-send --chat-id <id> --markdown <md> --as bot`
24
24
  * - profile 不为 undefined 时在 args 头部插入 `--profile <name>`
25
25
  *
26
+ * ⚠️ **两支都必须显式 `--as bot`**(Task #4557)。chatId 分支历史上漏了,
27
+ * 不带 flag 时 lark-cli 用默认身份 = **user(真人账号)** 发出 →
28
+ * `lark-cli event consume im.message.receive_v1` 只看「是不是 user 发的」→
29
+ * 自己的通知被同一个 consumer 回灌成「用户消息」→ 又跑一次完整 agent run。
30
+ * Task #4552 在同类路径实测回灌率 **5/11 = 45%**,补 flag 后 **0/5 = 0%**
31
+ * (证据:本机 E2E 报告 `reports/4552-a1-real-e2e.md` §6(`reports/` 被 .gitignore 忽略,未入库))。
32
+ * 本 channel 虽 `@deprecated` 但仍是 opt-in 可启用实现,所以同样必须修。
33
+ * 失败即 reject → 由 `send()` 层 swallow + warn,**绝不降级成 user**。
34
+ *
26
35
  * ## 失败处理
27
36
  *
28
37
  * - spawn 失败 / exit code != 0 → swallow(log warn,notification 失败不污染 Plugin 主流程)
@@ -3,17 +3,17 @@ import {
3
3
  PromptConfigSchema,
4
4
  PromptPathSchema,
5
5
  PromptRenderer
6
- } from "../../shared/@ai-setting/roy-agent-core-6qgq7h1g.js";
6
+ } from "../../shared/@ai-setting/roy-agent-core-em4hks9t.js";
7
7
  import"../../shared/@ai-setting/roy-agent-core-6masakz4.js";
8
8
  import"../../shared/@ai-setting/roy-agent-core-qxnbvgwe.js";
9
9
  import"../../shared/@ai-setting/roy-agent-core-7hh0brvs.js";
10
- import"../../shared/@ai-setting/roy-agent-core-40xzbjtm.js";
11
- import"../../shared/@ai-setting/roy-agent-core-gngjkw3b.js";
12
- import"../../shared/@ai-setting/roy-agent-core-1pnfkspm.js";
13
- import"../../shared/@ai-setting/roy-agent-core-16t0zfbk.js";
14
- import"../../shared/@ai-setting/roy-agent-core-jszgaevt.js";
15
- import"../../shared/@ai-setting/roy-agent-core-b599jgyd.js";
16
- import"../../shared/@ai-setting/roy-agent-core-8seq65bp.js";
10
+ import"../../shared/@ai-setting/roy-agent-core-0kn3zt1t.js";
11
+ import"../../shared/@ai-setting/roy-agent-core-ytd5eztz.js";
12
+ import"../../shared/@ai-setting/roy-agent-core-yphwdm9x.js";
13
+ import"../../shared/@ai-setting/roy-agent-core-m97jn2ra.js";
14
+ import"../../shared/@ai-setting/roy-agent-core-syyw58p9.js";
15
+ import"../../shared/@ai-setting/roy-agent-core-8p63s836.js";
16
+ import"../../shared/@ai-setting/roy-agent-core-rt115qfc.js";
17
17
  import"../../shared/@ai-setting/roy-agent-core-jnszp0jq.js";
18
18
  import"../../shared/@ai-setting/roy-agent-core-fs0mn2jk.js";
19
19
  export {
@@ -3,25 +3,25 @@ import {
3
3
  MIN_SESSION_ID_LENGTH,
4
4
  SessionComponent,
5
5
  isValidSessionId
6
- } from "../../shared/@ai-setting/roy-agent-core-bwzy00t2.js";
6
+ } from "../../shared/@ai-setting/roy-agent-core-kq9pz2a7.js";
7
7
  import {
8
8
  MemorySessionStore
9
- } from "../../shared/@ai-setting/roy-agent-core-tc7gw38m.js";
9
+ } from "../../shared/@ai-setting/roy-agent-core-c7w2h47a.js";
10
10
  import"../../shared/@ai-setting/roy-agent-core-ze068vc9.js";
11
11
  import"../../shared/@ai-setting/roy-agent-core-rvxg1wps.js";
12
12
  import {
13
13
  SessionMessageConverter
14
- } from "../../shared/@ai-setting/roy-agent-core-ns3pbyz4.js";
15
- import"../../shared/@ai-setting/roy-agent-core-yv9x4wmg.js";
14
+ } from "../../shared/@ai-setting/roy-agent-core-ge87xbas.js";
15
+ import"../../shared/@ai-setting/roy-agent-core-e1w17tht.js";
16
16
  import"../../shared/@ai-setting/roy-agent-core-zjdzk1gg.js";
17
17
  import"../../shared/@ai-setting/roy-agent-core-7hh0brvs.js";
18
- import"../../shared/@ai-setting/roy-agent-core-40xzbjtm.js";
19
- import"../../shared/@ai-setting/roy-agent-core-gngjkw3b.js";
20
- import"../../shared/@ai-setting/roy-agent-core-1pnfkspm.js";
21
- import"../../shared/@ai-setting/roy-agent-core-16t0zfbk.js";
22
- import"../../shared/@ai-setting/roy-agent-core-jszgaevt.js";
23
- import"../../shared/@ai-setting/roy-agent-core-b599jgyd.js";
24
- import"../../shared/@ai-setting/roy-agent-core-8seq65bp.js";
18
+ import"../../shared/@ai-setting/roy-agent-core-0kn3zt1t.js";
19
+ import"../../shared/@ai-setting/roy-agent-core-ytd5eztz.js";
20
+ import"../../shared/@ai-setting/roy-agent-core-yphwdm9x.js";
21
+ import"../../shared/@ai-setting/roy-agent-core-m97jn2ra.js";
22
+ import"../../shared/@ai-setting/roy-agent-core-syyw58p9.js";
23
+ import"../../shared/@ai-setting/roy-agent-core-8p63s836.js";
24
+ import"../../shared/@ai-setting/roy-agent-core-rt115qfc.js";
25
25
  import"../../shared/@ai-setting/roy-agent-core-jnszp0jq.js";
26
26
  import"../../shared/@ai-setting/roy-agent-core-fs0mn2jk.js";
27
27
  export {
@@ -3,12 +3,12 @@ import {
3
3
  SQLiteSessionStore,
4
4
  getDefaultDataDir,
5
5
  getDefaultSessionDbPath
6
- } from "../../../shared/@ai-setting/roy-agent-core-tc7gw38m.js";
7
- import"../../../shared/@ai-setting/roy-agent-core-ns3pbyz4.js";
8
- import"../../../shared/@ai-setting/roy-agent-core-yv9x4wmg.js";
6
+ } from "../../../shared/@ai-setting/roy-agent-core-c7w2h47a.js";
7
+ import"../../../shared/@ai-setting/roy-agent-core-ge87xbas.js";
8
+ import"../../../shared/@ai-setting/roy-agent-core-e1w17tht.js";
9
9
  import"../../../shared/@ai-setting/roy-agent-core-zjdzk1gg.js";
10
- import"../../../shared/@ai-setting/roy-agent-core-b599jgyd.js";
11
- import"../../../shared/@ai-setting/roy-agent-core-8seq65bp.js";
10
+ import"../../../shared/@ai-setting/roy-agent-core-8p63s836.js";
11
+ import"../../../shared/@ai-setting/roy-agent-core-rt115qfc.js";
12
12
  import"../../../shared/@ai-setting/roy-agent-core-jnszp0jq.js";
13
13
  import"../../../shared/@ai-setting/roy-agent-core-fs0mn2jk.js";
14
14
  export {
@@ -6,20 +6,20 @@ import {
6
6
  getSourcePriority,
7
7
  parseFrontmatter,
8
8
  parseSkillFile
9
- } from "../../shared/@ai-setting/roy-agent-core-yg247mk4.js";
9
+ } from "../../shared/@ai-setting/roy-agent-core-47s81t6g.js";
10
10
  import {
11
11
  SkillToolSchema,
12
12
  buildSkillDescription,
13
13
  createSkillTool
14
14
  } from "../../shared/@ai-setting/roy-agent-core-psvxt4c9.js";
15
15
  import"../../shared/@ai-setting/roy-agent-core-7hh0brvs.js";
16
- import"../../shared/@ai-setting/roy-agent-core-40xzbjtm.js";
17
- import"../../shared/@ai-setting/roy-agent-core-gngjkw3b.js";
18
- import"../../shared/@ai-setting/roy-agent-core-1pnfkspm.js";
19
- import"../../shared/@ai-setting/roy-agent-core-16t0zfbk.js";
20
- import"../../shared/@ai-setting/roy-agent-core-jszgaevt.js";
21
- import"../../shared/@ai-setting/roy-agent-core-b599jgyd.js";
22
- import"../../shared/@ai-setting/roy-agent-core-8seq65bp.js";
16
+ import"../../shared/@ai-setting/roy-agent-core-0kn3zt1t.js";
17
+ import"../../shared/@ai-setting/roy-agent-core-ytd5eztz.js";
18
+ import"../../shared/@ai-setting/roy-agent-core-yphwdm9x.js";
19
+ import"../../shared/@ai-setting/roy-agent-core-m97jn2ra.js";
20
+ import"../../shared/@ai-setting/roy-agent-core-syyw58p9.js";
21
+ import"../../shared/@ai-setting/roy-agent-core-8p63s836.js";
22
+ import"../../shared/@ai-setting/roy-agent-core-rt115qfc.js";
23
23
  import"../../shared/@ai-setting/roy-agent-core-jnszp0jq.js";
24
24
  import"../../shared/@ai-setting/roy-agent-core-fs0mn2jk.js";
25
25
  export {
@@ -49,6 +49,20 @@ export interface BackgroundTaskStartedPayload {
49
49
  parentSessionId: string;
50
50
  description: string;
51
51
  subagentType: string;
52
+ /**
53
+ * ★ Task #4552 (A1):任务启动时刻(epoch ms)。
54
+ *
55
+ * 消费端(CLI EventHandler)把 telemetry 降级成一条纯 IM 进展提示后,
56
+ * 文案要回答「跑了多久」,只能从这里读。缺失时文案降级(不渲染「已跑」)。
57
+ */
58
+ startedAt?: number;
59
+ /**
60
+ * ★ Task #4552 (A1):本任务被允许的运行时长(毫秒)。
61
+ *
62
+ * 让用户看到「预计 17:23 超时(timeout 5h)」,避免以为「早该有结论了」——
63
+ * 这正是 Task #4552 报障的认知错位(用户 16:40 以为超时,实际 17:23 才超)。
64
+ */
65
+ timeoutMs?: number;
52
66
  }
53
67
  export interface BackgroundTaskProgressPayload {
54
68
  backgroundTaskId: string;
@@ -58,6 +72,10 @@ export interface BackgroundTaskProgressPayload {
58
72
  progress?: number;
59
73
  description?: string;
60
74
  associatedTaskId?: number;
75
+ /** ★ Task #4552 (A1):见 BackgroundTaskStartedPayload.startedAt */
76
+ startedAt?: number;
77
+ /** ★ Task #4552 (A1):见 BackgroundTaskStartedPayload.timeoutMs */
78
+ timeoutMs?: number;
61
79
  }
62
80
  export interface BackgroundTaskCompletedPayload {
63
81
  backgroundTaskId: string;
@@ -191,6 +209,14 @@ export interface BackgroundTask {
191
209
  /** Timestamp of the latest lifecycle state change or progress notification. */
192
210
  lastUpdatedAt?: number;
193
211
  startedAt?: number;
212
+ /**
213
+ * ★ Task #4552 (A1):本任务被允许的运行时长(毫秒,createTask 时确定)。
214
+ *
215
+ * 存到 task 上而不是每次重算:progress 心跳发生在 20 分钟后,那时
216
+ * `timeout` 参数已不在作用域内,只能靠这里。同时保证 started / progress
217
+ * 两条通知给出同一个超时时刻。
218
+ */
219
+ timeoutMs?: number;
194
220
  completedAt?: number;
195
221
  result?: string;
196
222
  error?: string;
@@ -3,19 +3,19 @@ import {
3
3
  BackgroundTaskManager,
4
4
  createDelegateTool,
5
5
  createStopTool
6
- } from "../../../shared/@ai-setting/roy-agent-core-vmg30n5x.js";
7
- import"../../../shared/@ai-setting/roy-agent-core-tbrn9wdm.js";
8
- import"../../../shared/@ai-setting/roy-agent-core-zmeka63k.js";
6
+ } from "../../../shared/@ai-setting/roy-agent-core-6bradb0j.js";
7
+ import"../../../shared/@ai-setting/roy-agent-core-14bq77wr.js";
8
+ import"../../../shared/@ai-setting/roy-agent-core-2ctyjy62.js";
9
9
  import"../../../shared/@ai-setting/roy-agent-core-1pg0fepg.js";
10
10
  import"../../../shared/@ai-setting/roy-agent-core-6masakz4.js";
11
- import"../../../shared/@ai-setting/roy-agent-core-97eyghsp.js";
11
+ import"../../../shared/@ai-setting/roy-agent-core-ygn5tzt1.js";
12
12
  import"../../../shared/@ai-setting/roy-agent-core-qxnbvgwe.js";
13
13
  import"../../../shared/@ai-setting/roy-agent-core-c1v263jn.js";
14
- import"../../../shared/@ai-setting/roy-agent-core-1pnfkspm.js";
15
- import"../../../shared/@ai-setting/roy-agent-core-16t0zfbk.js";
16
- import"../../../shared/@ai-setting/roy-agent-core-jszgaevt.js";
17
- import"../../../shared/@ai-setting/roy-agent-core-b599jgyd.js";
18
- import"../../../shared/@ai-setting/roy-agent-core-8seq65bp.js";
14
+ import"../../../shared/@ai-setting/roy-agent-core-yphwdm9x.js";
15
+ import"../../../shared/@ai-setting/roy-agent-core-m97jn2ra.js";
16
+ import"../../../shared/@ai-setting/roy-agent-core-syyw58p9.js";
17
+ import"../../../shared/@ai-setting/roy-agent-core-8p63s836.js";
18
+ import"../../../shared/@ai-setting/roy-agent-core-rt115qfc.js";
19
19
  import"../../../shared/@ai-setting/roy-agent-core-jnszp0jq.js";
20
20
  import"../../../shared/@ai-setting/roy-agent-core-fs0mn2jk.js";
21
21
  export {
@@ -5,33 +5,34 @@ import {
5
5
  TaskPriorityEnum,
6
6
  TaskStatusEnum,
7
7
  TaskTypeEnum
8
- } from "../../shared/@ai-setting/roy-agent-core-e0wbq0qq.js";
8
+ } from "../../shared/@ai-setting/roy-agent-core-991pk4ss.js";
9
9
  import"../../shared/@ai-setting/roy-agent-core-amkqnyzy.js";
10
- import {
11
- SQLiteTaskStore,
12
- getDefaultTaskDbPath
13
- } from "../../shared/@ai-setting/roy-agent-core-3kz6934b.js";
14
- import"../../shared/@ai-setting/roy-agent-core-pemxr5n4.js";
10
+ import"../../shared/@ai-setting/roy-agent-core-7q4wdze2.js";
11
+ import"../../shared/@ai-setting/roy-agent-core-vh0qzb24.js";
15
12
  import"../../shared/@ai-setting/roy-agent-core-rn57psp0.js";
16
13
  import {
17
14
  TaskEntityEventTypes
18
15
  } from "../../shared/@ai-setting/roy-agent-core-8gxth0eh.js";
19
- import"../../shared/@ai-setting/roy-agent-core-vmg30n5x.js";
20
- import"../../shared/@ai-setting/roy-agent-core-tbrn9wdm.js";
21
- import"../../shared/@ai-setting/roy-agent-core-zmeka63k.js";
16
+ import"../../shared/@ai-setting/roy-agent-core-6bradb0j.js";
17
+ import"../../shared/@ai-setting/roy-agent-core-14bq77wr.js";
18
+ import {
19
+ SQLiteTaskStore,
20
+ getDefaultTaskDbPath
21
+ } from "../../shared/@ai-setting/roy-agent-core-fbjd7bt6.js";
22
+ import"../../shared/@ai-setting/roy-agent-core-2ctyjy62.js";
22
23
  import"../../shared/@ai-setting/roy-agent-core-1pg0fepg.js";
23
24
  import"../../shared/@ai-setting/roy-agent-core-6masakz4.js";
24
- import"../../shared/@ai-setting/roy-agent-core-97eyghsp.js";
25
+ import"../../shared/@ai-setting/roy-agent-core-ygn5tzt1.js";
25
26
  import"../../shared/@ai-setting/roy-agent-core-qxnbvgwe.js";
26
27
  import"../../shared/@ai-setting/roy-agent-core-c1v263jn.js";
27
28
  import"../../shared/@ai-setting/roy-agent-core-7hh0brvs.js";
28
- import"../../shared/@ai-setting/roy-agent-core-40xzbjtm.js";
29
- import"../../shared/@ai-setting/roy-agent-core-gngjkw3b.js";
30
- import"../../shared/@ai-setting/roy-agent-core-1pnfkspm.js";
31
- import"../../shared/@ai-setting/roy-agent-core-16t0zfbk.js";
32
- import"../../shared/@ai-setting/roy-agent-core-jszgaevt.js";
33
- import"../../shared/@ai-setting/roy-agent-core-b599jgyd.js";
34
- import"../../shared/@ai-setting/roy-agent-core-8seq65bp.js";
29
+ import"../../shared/@ai-setting/roy-agent-core-0kn3zt1t.js";
30
+ import"../../shared/@ai-setting/roy-agent-core-ytd5eztz.js";
31
+ import"../../shared/@ai-setting/roy-agent-core-yphwdm9x.js";
32
+ import"../../shared/@ai-setting/roy-agent-core-m97jn2ra.js";
33
+ import"../../shared/@ai-setting/roy-agent-core-syyw58p9.js";
34
+ import"../../shared/@ai-setting/roy-agent-core-8p63s836.js";
35
+ import"../../shared/@ai-setting/roy-agent-core-rt115qfc.js";
35
36
  import"../../shared/@ai-setting/roy-agent-core-jnszp0jq.js";
36
37
  import"../../shared/@ai-setting/roy-agent-core-fs0mn2jk.js";
37
38
  export {
@@ -10,21 +10,22 @@ import {
10
10
  formatExtractorInput,
11
11
  formatExtractorInputFromDescription,
12
12
  parseExtractorOutput
13
- } from "../../../shared/@ai-setting/roy-agent-core-ezsyyjxw.js";
14
- import"../../../shared/@ai-setting/roy-agent-core-zmeka63k.js";
13
+ } from "../../../shared/@ai-setting/roy-agent-core-8bngppw0.js";
14
+ import"../../../shared/@ai-setting/roy-agent-core-fbjd7bt6.js";
15
+ import"../../../shared/@ai-setting/roy-agent-core-2ctyjy62.js";
15
16
  import"../../../shared/@ai-setting/roy-agent-core-1pg0fepg.js";
16
17
  import"../../../shared/@ai-setting/roy-agent-core-6masakz4.js";
17
- import"../../../shared/@ai-setting/roy-agent-core-nntphgww.js";
18
- import"../../../shared/@ai-setting/roy-agent-core-202v00x4.js";
19
- import"../../../shared/@ai-setting/roy-agent-core-nra8vfrs.js";
18
+ import"../../../shared/@ai-setting/roy-agent-core-c36335nw.js";
19
+ import"../../../shared/@ai-setting/roy-agent-core-89sxsrc7.js";
20
+ import"../../../shared/@ai-setting/roy-agent-core-08njdcpj.js";
20
21
  import"../../../shared/@ai-setting/roy-agent-core-jrj30vq3.js";
21
- import"../../../shared/@ai-setting/roy-agent-core-wafk25ff.js";
22
+ import"../../../shared/@ai-setting/roy-agent-core-gksw1gjb.js";
22
23
  import"../../../shared/@ai-setting/roy-agent-core-e25xkv53.js";
23
24
  import"../../../shared/@ai-setting/roy-agent-core-az13yzmc.js";
24
- import"../../../shared/@ai-setting/roy-agent-core-16t0zfbk.js";
25
- import"../../../shared/@ai-setting/roy-agent-core-jszgaevt.js";
26
- import"../../../shared/@ai-setting/roy-agent-core-b599jgyd.js";
27
- import"../../../shared/@ai-setting/roy-agent-core-8seq65bp.js";
25
+ import"../../../shared/@ai-setting/roy-agent-core-m97jn2ra.js";
26
+ import"../../../shared/@ai-setting/roy-agent-core-syyw58p9.js";
27
+ import"../../../shared/@ai-setting/roy-agent-core-8p63s836.js";
28
+ import"../../../shared/@ai-setting/roy-agent-core-rt115qfc.js";
28
29
  import"../../../shared/@ai-setting/roy-agent-core-jnszp0jq.js";
29
30
  import"../../../shared/@ai-setting/roy-agent-core-fs0mn2jk.js";
30
31
  export {