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

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 (135) hide show
  1. package/dist/config/index.js +7 -7
  2. package/dist/env/agent/agent-component.d.ts +1 -1
  3. package/dist/env/agent/agent-component.js +13 -12
  4. package/dist/env/agent/index.js +13 -12
  5. package/dist/env/agent/types.d.ts +14 -0
  6. package/dist/env/commands/index.js +7 -7
  7. package/dist/env/context/index.js +3 -3
  8. package/dist/env/debug/index.js +7 -7
  9. package/dist/env/error-reply.js +1 -1
  10. package/dist/env/event-source/event-source-handlers.d.ts +18 -2
  11. package/dist/env/event-source/event-source-handlers.js +26 -21
  12. package/dist/env/event-source/event-store.js +2 -2
  13. package/dist/env/event-source/index.js +25 -22
  14. package/dist/env/event-source/timer-handler.d.ts +98 -0
  15. package/dist/env/event-source/types.d.ts +53 -1
  16. package/dist/env/event-source/wecom-card-action-handler.d.ts +235 -3
  17. package/dist/env/event-source/wecom-card-builder.d.ts +207 -1
  18. package/dist/env/event-source/wecom-cli-handler.d.ts +25 -0
  19. package/dist/{shared/@ai-setting/roy-agent-core-vyr6svt6.js → env/event-source/wecom-respond-registry.js} +8 -6
  20. package/dist/env/event-source/wecom-session-card-sender.d.ts +135 -0
  21. package/dist/env/event-source/wecom-session-card-sender.js +153 -0
  22. package/dist/env/hook/index.js +5 -5
  23. package/dist/env/index.js +49 -45
  24. package/dist/env/llm/index.js +9 -8
  25. package/dist/env/log-trace/index.js +7 -7
  26. package/dist/env/log-trace/trace-filters.d.ts +6 -1
  27. package/dist/env/mcp/index.js +7 -7
  28. package/dist/env/memory/index.js +7 -7
  29. package/dist/env/plugin/index.js +7 -7
  30. package/dist/env/prompt/index.js +8 -8
  31. package/dist/env/prompt/prompts-index.d.ts +1 -1
  32. package/dist/env/session/group-session-link.d.ts +99 -0
  33. package/dist/env/session/index.js +11 -10
  34. package/dist/env/session/session-component.d.ts +89 -0
  35. package/dist/env/session/storage/index.js +5 -4
  36. package/dist/env/session/types.d.ts +10 -0
  37. package/dist/env/skill/index.js +7 -7
  38. package/dist/env/task/delegate/delegate-channel-hint.d.ts +39 -0
  39. package/dist/env/task/delegate/delegate-tool.d.ts +71 -6
  40. package/dist/env/task/delegate/delegate-tool.js +11 -9
  41. package/dist/env/task/delegate/index.js +8 -8
  42. package/dist/env/task/index.js +18 -18
  43. package/dist/env/task/mcp/index.js +4 -4
  44. package/dist/env/task/plugins/card-subject.d.ts +117 -0
  45. package/dist/env/task/plugins/index.js +19 -17
  46. package/dist/env/task/plugins/lark-card-action-handler.d.ts +261 -6
  47. package/dist/env/task/plugins/lark-card-patch-notifier.d.ts +501 -0
  48. package/dist/env/task/plugins/lark-card-patch-notifier.js +12 -2
  49. package/dist/env/task/plugins/lark-card-state-store.d.ts +60 -0
  50. package/dist/env/task/plugins/lark-cli-task-notify-plugin.d.ts +45 -0
  51. package/dist/env/task/plugins/sub-session-activity.d.ts +415 -0
  52. package/dist/env/task/plugins/wecom-session-card-store.d.ts +134 -0
  53. package/dist/env/task/plugins/wecom-session-card-store.js +23 -0
  54. package/dist/env/task/plugins/wecom-task-notify-plugin.d.ts +40 -0
  55. package/dist/env/task/storage/index.js +3 -3
  56. package/dist/env/task/tools/index.js +4 -4
  57. package/dist/env/tool/built-in/index.js +6 -4
  58. package/dist/env/tool/index.js +14 -10
  59. package/dist/env/tool/types.d.ts +25 -0
  60. package/dist/env/tool/validator.d.ts +8 -0
  61. package/dist/env/workflow/engine/index.js +12 -12
  62. package/dist/env/workflow/hooks/index.js +7 -7
  63. package/dist/env/workflow/index.js +24 -23
  64. package/dist/env/workflow/nodes/index.js +2 -2
  65. package/dist/env/workflow/plugins/index.js +10 -8
  66. package/dist/env/workflow/service/index.js +2 -2
  67. package/dist/env/workflow/storage/index.js +3 -3
  68. package/dist/env/workflow/tools/index.js +16 -15
  69. package/dist/env/workflow/utils/index.js +4 -4
  70. package/dist/index.js +65 -60
  71. package/dist/shared/@ai-setting/{roy-agent-core-dc9zq75z.js → roy-agent-core-0crmsc12.js} +3 -3
  72. package/dist/shared/@ai-setting/{roy-agent-core-cha0jc7n.js → roy-agent-core-0sbmdz8d.js} +137 -16
  73. package/dist/shared/@ai-setting/{roy-agent-core-87942bw4.js → roy-agent-core-1mhyh4c5.js} +1 -1
  74. package/dist/shared/@ai-setting/{roy-agent-core-v6vr6za7.js → roy-agent-core-1vv4fx15.js} +4 -4
  75. package/dist/shared/@ai-setting/{roy-agent-core-nwbfepba.js → roy-agent-core-3e040tc5.js} +1 -1
  76. package/dist/shared/@ai-setting/roy-agent-core-418zc9ha.js +288 -0
  77. package/dist/shared/@ai-setting/{roy-agent-core-r5wt1h3c.js → roy-agent-core-4fkxy2gv.js} +1 -1
  78. package/dist/shared/@ai-setting/{roy-agent-core-na18zwj0.js → roy-agent-core-4t3yskp8.js} +1 -1
  79. package/dist/shared/@ai-setting/{roy-agent-core-5pr4zp88.js → roy-agent-core-5kzhaap1.js} +1 -1
  80. package/dist/shared/@ai-setting/{roy-agent-core-qq96p0tj.js → roy-agent-core-5s2t8z00.js} +22 -1
  81. package/dist/shared/@ai-setting/{roy-agent-core-6rh8k6ba.js → roy-agent-core-6gj1hc5z.js} +7 -7
  82. package/dist/shared/@ai-setting/{roy-agent-core-ezvpreqz.js → roy-agent-core-6k8mb7zx.js} +1 -1
  83. package/dist/shared/@ai-setting/{roy-agent-core-g8htfwxj.js → roy-agent-core-7f10p7m2.js} +1 -1
  84. package/dist/shared/@ai-setting/roy-agent-core-7kvpc0w5.js +177 -0
  85. package/dist/shared/@ai-setting/{roy-agent-core-h21gngxf.js → roy-agent-core-7yh5wps0.js} +1 -1
  86. package/dist/shared/@ai-setting/{roy-agent-core-efkjyh69.js → roy-agent-core-9710zwwz.js} +1 -1
  87. package/dist/shared/@ai-setting/{roy-agent-core-rykf7c04.js → roy-agent-core-9c565frx.js} +1 -1
  88. package/dist/shared/@ai-setting/{roy-agent-core-fghc2m8z.js → roy-agent-core-aa8kv18f.js} +34 -2
  89. package/dist/shared/@ai-setting/{roy-agent-core-p6ks90tb.js → roy-agent-core-an35dzbf.js} +6 -6
  90. package/dist/shared/@ai-setting/{roy-agent-core-7bpj859q.js → roy-agent-core-azyz78ky.js} +7 -7
  91. package/dist/shared/@ai-setting/{roy-agent-core-264qexac.js → roy-agent-core-b7h39vrc.js} +4 -4
  92. package/dist/shared/@ai-setting/{roy-agent-core-dqxec05w.js → roy-agent-core-bjtc9d35.js} +2 -2
  93. package/dist/shared/@ai-setting/roy-agent-core-c4ec7k0p.js +426 -0
  94. package/dist/shared/@ai-setting/{roy-agent-core-ddyk1rc0.js → roy-agent-core-cre2y2ct.js} +160 -4
  95. package/dist/shared/@ai-setting/{roy-agent-core-tr3ep81v.js → roy-agent-core-d6zdbgtc.js} +1 -1
  96. package/dist/shared/@ai-setting/{roy-agent-core-0qyrk5k0.js → roy-agent-core-ds6qzmf8.js} +14 -5
  97. package/dist/shared/@ai-setting/{roy-agent-core-cgtq6427.js → roy-agent-core-e08bvpaq.js} +1 -1
  98. package/dist/shared/@ai-setting/{roy-agent-core-12n08pg5.js → roy-agent-core-e69qxdyy.js} +1 -1
  99. package/dist/shared/@ai-setting/{roy-agent-core-qk9hd89p.js → roy-agent-core-fan8g0z1.js} +10 -10
  100. package/dist/shared/@ai-setting/{roy-agent-core-xcp8vwax.js → roy-agent-core-fepm835e.js} +2 -2
  101. package/dist/shared/@ai-setting/{roy-agent-core-6j02sbee.js → roy-agent-core-fhg03v43.js} +1 -1
  102. package/dist/shared/@ai-setting/{roy-agent-core-dvtg4sn0.js → roy-agent-core-g8yr733d.js} +1 -1
  103. package/dist/shared/@ai-setting/{roy-agent-core-xf6z96qy.js → roy-agent-core-gr5h1dyr.js} +818 -346
  104. package/dist/shared/@ai-setting/{roy-agent-core-m3vjepzz.js → roy-agent-core-h1e1fm9b.js} +38 -202
  105. package/dist/shared/@ai-setting/{roy-agent-core-c2gbt68e.js → roy-agent-core-h83zdsrq.js} +2 -2
  106. package/dist/shared/@ai-setting/{roy-agent-core-tk98f92b.js → roy-agent-core-k3gcvybs.js} +2 -2
  107. package/dist/shared/@ai-setting/{roy-agent-core-pgvcf91v.js → roy-agent-core-m39v7qpx.js} +2 -2
  108. package/dist/shared/@ai-setting/{roy-agent-core-tm1mxttk.js → roy-agent-core-mf5p38yf.js} +2 -2
  109. package/dist/shared/@ai-setting/{roy-agent-core-83bewqx8.js → roy-agent-core-mvh0td7p.js} +2 -2
  110. package/dist/shared/@ai-setting/{roy-agent-core-ze5cqpf2.js → roy-agent-core-mx855td4.js} +17 -38
  111. package/dist/shared/@ai-setting/{roy-agent-core-0dh8npnz.js → roy-agent-core-n197medr.js} +13 -13
  112. package/dist/shared/@ai-setting/{roy-agent-core-cmprygrp.js → roy-agent-core-nqkfkpf4.js} +4 -4
  113. package/dist/shared/@ai-setting/{roy-agent-core-7cbpmk4q.js → roy-agent-core-p31ftgq9.js} +1 -1
  114. package/dist/shared/@ai-setting/{roy-agent-core-vffccgf6.js → roy-agent-core-qwd2dq5q.js} +10 -3
  115. package/dist/shared/@ai-setting/{roy-agent-core-b31v3qpv.js → roy-agent-core-ra66sf50.js} +990 -211
  116. package/dist/shared/@ai-setting/{roy-agent-core-1v4g0d4x.js → roy-agent-core-rm7seqwb.js} +1 -1
  117. package/dist/shared/@ai-setting/{roy-agent-core-7dd0s3xb.js → roy-agent-core-shb1qsyg.js} +1027 -14
  118. package/dist/shared/@ai-setting/{roy-agent-core-ax9e9szb.js → roy-agent-core-smf94h73.js} +1 -1
  119. package/dist/shared/@ai-setting/{roy-agent-core-acj8ag08.js → roy-agent-core-tjnabyvq.js} +1 -1
  120. package/dist/shared/@ai-setting/{roy-agent-core-qqaak24r.js → roy-agent-core-tkpp1ba0.js} +1 -1
  121. package/dist/shared/@ai-setting/{roy-agent-core-dkrvmjsh.js → roy-agent-core-tpm1dd1g.js} +23 -15
  122. package/dist/shared/@ai-setting/{roy-agent-core-ed233k5z.js → roy-agent-core-v1n0106v.js} +1 -1
  123. package/dist/shared/@ai-setting/{roy-agent-core-zxz5fkwj.js → roy-agent-core-v6yshv0z.js} +1 -1
  124. package/dist/shared/@ai-setting/{roy-agent-core-mcy5apay.js → roy-agent-core-vf9sp6s3.js} +1 -1
  125. package/dist/shared/@ai-setting/{roy-agent-core-q813vafd.js → roy-agent-core-vpcxv1ty.js} +1 -1
  126. package/dist/shared/@ai-setting/{roy-agent-core-xvt7kf7p.js → roy-agent-core-w9ryeg2p.js} +3 -3
  127. package/dist/shared/@ai-setting/{roy-agent-core-es203w7p.js → roy-agent-core-wqs6yypq.js} +1 -1
  128. package/dist/shared/@ai-setting/{roy-agent-core-d1n4jbza.js → roy-agent-core-wr1qexzq.js} +5 -5
  129. package/dist/shared/@ai-setting/roy-agent-core-wxrkcb17.js +56 -0
  130. package/dist/shared/@ai-setting/{roy-agent-core-0snm5hc5.js → roy-agent-core-y6shd91r.js} +1 -1
  131. package/dist/shared/@ai-setting/{roy-agent-core-9vxh6f8h.js → roy-agent-core-y7fqtzk2.js} +7 -7
  132. package/dist/shared/@ai-setting/{roy-agent-core-cpcd24n2.js → roy-agent-core-yet36q5k.js} +2 -2
  133. package/dist/shared/@ai-setting/{roy-agent-core-3fh1f7s7.js → roy-agent-core-yfpnkc4z.js} +5 -5
  134. package/dist/shared/@ai-setting/{roy-agent-core-begm7ytz.js → roy-agent-core-yh68z1bg.js} +3 -3
  135. package/package.json +9 -1
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  PromptComponent,
3
3
  PromptStore
4
- } from "./shared/@ai-setting/roy-agent-core-cmprygrp.js";
4
+ } from "./shared/@ai-setting/roy-agent-core-nqkfkpf4.js";
5
5
  import {
6
6
  LLMComponent,
7
7
  LLMConfigSchema,
@@ -9,7 +9,7 @@ import {
9
9
  ModelLimitsSchema,
10
10
  ProviderCapabilitiesSchema,
11
11
  ProviderConfigSchema
12
- } from "./shared/@ai-setting/roy-agent-core-264qexac.js";
12
+ } from "./shared/@ai-setting/roy-agent-core-b7h39vrc.js";
13
13
  import"./shared/@ai-setting/roy-agent-core-wjmwwc4a.js";
14
14
  import"./shared/@ai-setting/roy-agent-core-pnj0zh25.js";
15
15
  import {
@@ -21,7 +21,7 @@ import {
21
21
  grepTool,
22
22
  readFileTool,
23
23
  writeFileTool
24
- } from "./shared/@ai-setting/roy-agent-core-tk98f92b.js";
24
+ } from "./shared/@ai-setting/roy-agent-core-k3gcvybs.js";
25
25
  import {
26
26
  getUnderstandImageLLMProvider,
27
27
  resetUnderstandImageLLMProvider,
@@ -30,12 +30,12 @@ import {
30
30
  } from "./shared/@ai-setting/roy-agent-core-xwm8zavb.js";
31
31
  import {
32
32
  ConfigComponent
33
- } from "./shared/@ai-setting/roy-agent-core-zxz5fkwj.js";
33
+ } from "./shared/@ai-setting/roy-agent-core-v6yshv0z.js";
34
34
  import"./shared/@ai-setting/roy-agent-core-adg9ghbt.js";
35
35
  import"./shared/@ai-setting/roy-agent-core-qkdegdvc.js";
36
36
  import {
37
37
  MemoryComponent
38
- } from "./shared/@ai-setting/roy-agent-core-nwbfepba.js";
38
+ } from "./shared/@ai-setting/roy-agent-core-3e040tc5.js";
39
39
  import"./shared/@ai-setting/roy-agent-core-g1s2h0e5.js";
40
40
  import {
41
41
  MemoryPlugin,
@@ -43,7 +43,7 @@ import {
43
43
  } from "./shared/@ai-setting/roy-agent-core-nm4xbs1d.js";
44
44
  import {
45
45
  DebugComponent
46
- } from "./shared/@ai-setting/roy-agent-core-87942bw4.js";
46
+ } from "./shared/@ai-setting/roy-agent-core-1mhyh4c5.js";
47
47
  import {
48
48
  ReplFormatter,
49
49
  TraceFormatter,
@@ -51,32 +51,32 @@ import {
51
51
  } from "./shared/@ai-setting/roy-agent-core-rvv6ydff.js";
52
52
  import {
53
53
  SkillComponent
54
- } from "./shared/@ai-setting/roy-agent-core-5pr4zp88.js";
54
+ } from "./shared/@ai-setting/roy-agent-core-5kzhaap1.js";
55
55
  import"./shared/@ai-setting/roy-agent-core-psvxt4c9.js";
56
56
  import"./shared/@ai-setting/roy-agent-core-m1fgtnrc.js";
57
57
  import {
58
58
  closeDatabase
59
- } from "./shared/@ai-setting/roy-agent-core-r5wt1h3c.js";
60
- import"./shared/@ai-setting/roy-agent-core-mcy5apay.js";
59
+ } from "./shared/@ai-setting/roy-agent-core-4fkxy2gv.js";
60
+ import"./shared/@ai-setting/roy-agent-core-vf9sp6s3.js";
61
61
  import {
62
62
  BaseEnvironment,
63
63
  generateDescendingId,
64
64
  generateId
65
- } from "./shared/@ai-setting/roy-agent-core-p6ks90tb.js";
65
+ } from "./shared/@ai-setting/roy-agent-core-an35dzbf.js";
66
66
  import {
67
67
  TaskComponent
68
- } from "./shared/@ai-setting/roy-agent-core-qk9hd89p.js";
68
+ } from "./shared/@ai-setting/roy-agent-core-fan8g0z1.js";
69
69
  import"./shared/@ai-setting/roy-agent-core-2akfd64z.js";
70
70
  import"./shared/@ai-setting/roy-agent-core-jm136jzh.js";
71
- import"./shared/@ai-setting/roy-agent-core-cha0jc7n.js";
71
+ import"./shared/@ai-setting/roy-agent-core-0sbmdz8d.js";
72
72
  import"./shared/@ai-setting/roy-agent-core-fttgm52a.js";
73
- import"./shared/@ai-setting/roy-agent-core-q813vafd.js";
73
+ import"./shared/@ai-setting/roy-agent-core-vpcxv1ty.js";
74
74
  import"./shared/@ai-setting/roy-agent-core-8gxth0eh.js";
75
- import"./shared/@ai-setting/roy-agent-core-vffccgf6.js";
75
+ import"./shared/@ai-setting/roy-agent-core-qwd2dq5q.js";
76
76
  import"./shared/@ai-setting/roy-agent-core-p5cz9m8v.js";
77
77
  import {
78
78
  EventSourceComponent
79
- } from "./shared/@ai-setting/roy-agent-core-begm7ytz.js";
79
+ } from "./shared/@ai-setting/roy-agent-core-yh68z1bg.js";
80
80
  import {
81
81
  BountyIMInstance,
82
82
  COMMAND_PREFIX,
@@ -131,7 +131,7 @@ import {
131
131
  translateCardActionToCommand,
132
132
  wecomCliHandler,
133
133
  writeFallbackModelList
134
- } from "./shared/@ai-setting/roy-agent-core-xf6z96qy.js";
134
+ } from "./shared/@ai-setting/roy-agent-core-gr5h1dyr.js";
135
135
  import {
136
136
  BUILT_IN_EVENT_SOURCE_TYPES,
137
137
  BUILT_IN_EVENT_SOURCE_TYPE_LIST,
@@ -148,34 +148,32 @@ import {
148
148
  cliCommandHandler,
149
149
  parseCliSessionChatId
150
150
  } from "./shared/@ai-setting/roy-agent-core-v0hf14bj.js";
151
+ import"./shared/@ai-setting/roy-agent-core-7kvpc0w5.js";
151
152
  import {
152
153
  LogTraceComponent,
153
154
  LogTraceConfigSchema
154
- } from "./shared/@ai-setting/roy-agent-core-tm1mxttk.js";
155
+ } from "./shared/@ai-setting/roy-agent-core-mf5p38yf.js";
155
156
  import"./shared/@ai-setting/roy-agent-core-2stt4rp5.js";
156
157
  import {
157
158
  TaskTagPlugin,
158
159
  createAutoTaskPlugin
159
- } from "./shared/@ai-setting/roy-agent-core-b31v3qpv.js";
160
- import"./shared/@ai-setting/roy-agent-core-m3vjepzz.js";
160
+ } from "./shared/@ai-setting/roy-agent-core-ra66sf50.js";
161
+ import"./shared/@ai-setting/roy-agent-core-h1e1fm9b.js";
162
+ import"./shared/@ai-setting/roy-agent-core-c4ec7k0p.js";
161
163
  import {
162
164
  EventStoreImpl,
163
165
  getSharedEventStore,
164
166
  resetSharedEventStore,
165
167
  setSharedEventStore
166
- } from "./shared/@ai-setting/roy-agent-core-na18zwj0.js";
168
+ } from "./shared/@ai-setting/roy-agent-core-4t3yskp8.js";
167
169
  import {
168
170
  getBuiltInPrompt,
169
171
  getBuiltInPromptNames
170
- } from "./shared/@ai-setting/roy-agent-core-9vxh6f8h.js";
171
- import {
172
- SQLiteTaskStore,
173
- getDefaultTaskDbPath
174
- } from "./shared/@ai-setting/roy-agent-core-ezvpreqz.js";
172
+ } from "./shared/@ai-setting/roy-agent-core-y7fqtzk2.js";
175
173
  import {
176
174
  TaskHookPoints
177
175
  } from "./shared/@ai-setting/roy-agent-core-1pg0fepg.js";
178
- import"./shared/@ai-setting/roy-agent-core-tr3ep81v.js";
176
+ import"./shared/@ai-setting/roy-agent-core-d6zdbgtc.js";
179
177
  import {
180
178
  TASK_DISCIPLINE_COMPLETE,
181
179
  TASK_DISCIPLINE_GOALS,
@@ -189,15 +187,20 @@ import {
189
187
  TASK_COMPLETED_STATUS_WORD,
190
188
  TASK_DELIVERABLE_RECORDED
191
189
  } from "./shared/@ai-setting/roy-agent-core-4rtg69cn.js";
192
- import"./shared/@ai-setting/roy-agent-core-d1n4jbza.js";
193
- import"./shared/@ai-setting/roy-agent-core-7dd0s3xb.js";
190
+ import"./shared/@ai-setting/roy-agent-core-wr1qexzq.js";
191
+ import"./shared/@ai-setting/roy-agent-core-shb1qsyg.js";
192
+ import"./shared/@ai-setting/roy-agent-core-418zc9ha.js";
193
+ import {
194
+ SQLiteTaskStore,
195
+ getDefaultTaskDbPath
196
+ } from "./shared/@ai-setting/roy-agent-core-6k8mb7zx.js";
194
197
  import {
195
198
  WorkflowComponent
196
- } from "./shared/@ai-setting/roy-agent-core-0dh8npnz.js";
199
+ } from "./shared/@ai-setting/roy-agent-core-n197medr.js";
197
200
  import {
198
201
  init_node_registry_helper,
199
202
  registerDecoratorNodeType
200
- } from "./shared/@ai-setting/roy-agent-core-es203w7p.js";
203
+ } from "./shared/@ai-setting/roy-agent-core-wqs6yypq.js";
201
204
  import {
202
205
  Edge,
203
206
  NodeAs,
@@ -206,54 +209,53 @@ import {
206
209
  createWorkflowFromClass
207
210
  } from "./shared/@ai-setting/roy-agent-core-h0x19xgn.js";
208
211
  import"./shared/@ai-setting/roy-agent-core-1ce3fqrk.js";
209
- import"./shared/@ai-setting/roy-agent-core-7bpj859q.js";
212
+ import"./shared/@ai-setting/roy-agent-core-azyz78ky.js";
210
213
  import {
211
214
  SessionComponent
212
- } from "./shared/@ai-setting/roy-agent-core-ddyk1rc0.js";
215
+ } from "./shared/@ai-setting/roy-agent-core-cre2y2ct.js";
213
216
  import {
214
217
  MemorySessionStore
215
- } from "./shared/@ai-setting/roy-agent-core-0qyrk5k0.js";
218
+ } from "./shared/@ai-setting/roy-agent-core-ds6qzmf8.js";
216
219
  import"./shared/@ai-setting/roy-agent-core-hhrg314p.js";
217
- import"./shared/@ai-setting/roy-agent-core-12n08pg5.js";
218
- import"./shared/@ai-setting/roy-agent-core-rykf7c04.js";
219
- import"./shared/@ai-setting/roy-agent-core-6rh8k6ba.js";
220
+ import"./shared/@ai-setting/roy-agent-core-e69qxdyy.js";
221
+ import"./shared/@ai-setting/roy-agent-core-9c565frx.js";
222
+ import"./shared/@ai-setting/roy-agent-core-6gj1hc5z.js";
220
223
  import"./shared/@ai-setting/roy-agent-core-6atd905e.js";
221
- import"./shared/@ai-setting/roy-agent-core-dqxec05w.js";
222
- import"./shared/@ai-setting/roy-agent-core-efkjyh69.js";
224
+ import"./shared/@ai-setting/roy-agent-core-bjtc9d35.js";
225
+ import"./shared/@ai-setting/roy-agent-core-9710zwwz.js";
223
226
  import"./shared/@ai-setting/roy-agent-core-1db4vpc6.js";
224
- import"./shared/@ai-setting/roy-agent-core-dvtg4sn0.js";
225
- import"./shared/@ai-setting/roy-agent-core-c2gbt68e.js";
227
+ import"./shared/@ai-setting/roy-agent-core-g8yr733d.js";
228
+ import"./shared/@ai-setting/roy-agent-core-h83zdsrq.js";
226
229
  import"./shared/@ai-setting/roy-agent-core-7exqwax1.js";
227
- import"./shared/@ai-setting/roy-agent-core-1v4g0d4x.js";
228
- import"./shared/@ai-setting/roy-agent-core-acj8ag08.js";
230
+ import"./shared/@ai-setting/roy-agent-core-rm7seqwb.js";
231
+ import"./shared/@ai-setting/roy-agent-core-tjnabyvq.js";
229
232
  import"./shared/@ai-setting/roy-agent-core-ddwa0n6h.js";
230
- import"./shared/@ai-setting/roy-agent-core-cgtq6427.js";
233
+ import"./shared/@ai-setting/roy-agent-core-e08bvpaq.js";
231
234
  import"./shared/@ai-setting/roy-agent-core-er070zjq.js";
232
235
  import"./shared/@ai-setting/roy-agent-core-rvxg1wps.js";
233
236
  import {
234
237
  CommandsComponent
235
- } from "./shared/@ai-setting/roy-agent-core-g8htfwxj.js";
238
+ } from "./shared/@ai-setting/roy-agent-core-7f10p7m2.js";
236
239
  import"./shared/@ai-setting/roy-agent-core-jagkferh.js";
237
240
  import {
238
241
  AgentComponent,
239
242
  AgentComponentConfigSchema
240
- } from "./shared/@ai-setting/roy-agent-core-dkrvmjsh.js";
243
+ } from "./shared/@ai-setting/roy-agent-core-tpm1dd1g.js";
241
244
  import {
242
245
  ToolComponent,
243
- ToolRegistry,
244
- ToolValidator
245
- } from "./shared/@ai-setting/roy-agent-core-ze5cqpf2.js";
246
+ ToolRegistry
247
+ } from "./shared/@ai-setting/roy-agent-core-mx855td4.js";
246
248
  import"./shared/@ai-setting/roy-agent-core-jvv2h3d6.js";
247
249
  import {
248
250
  AgentRegistry
249
- } from "./shared/@ai-setting/roy-agent-core-ed233k5z.js";
251
+ } from "./shared/@ai-setting/roy-agent-core-v1n0106v.js";
250
252
  import {
251
253
  XDG_PATHS,
252
254
  getXDGPath,
253
255
  getXDGPaths
254
256
  } from "./shared/@ai-setting/roy-agent-core-qxnbvgwe.js";
255
- import"./shared/@ai-setting/roy-agent-core-h21gngxf.js";
256
- import"./shared/@ai-setting/roy-agent-core-0snm5hc5.js";
257
+ import"./shared/@ai-setting/roy-agent-core-7yh5wps0.js";
258
+ import"./shared/@ai-setting/roy-agent-core-y6shd91r.js";
257
259
  import {
258
260
  buildOpencodeHeaders,
259
261
  createInvokeConfig,
@@ -262,7 +264,10 @@ import {
262
264
  isOpencodeEndpoint,
263
265
  isOpencodeProvider,
264
266
  parseModelString
265
- } from "./shared/@ai-setting/roy-agent-core-fghc2m8z.js";
267
+ } from "./shared/@ai-setting/roy-agent-core-aa8kv18f.js";
268
+ import {
269
+ ToolValidator
270
+ } from "./shared/@ai-setting/roy-agent-core-wxrkcb17.js";
266
271
  import {
267
272
  ATTACH_FILE_MAX_BYTES,
268
273
  isMediaType,
@@ -277,14 +282,14 @@ import {
277
282
  } from "./shared/@ai-setting/roy-agent-core-mkc3zshb.js";
278
283
  import {
279
284
  PluginComponent
280
- } from "./shared/@ai-setting/roy-agent-core-v6vr6za7.js";
285
+ } from "./shared/@ai-setting/roy-agent-core-1vv4fx15.js";
281
286
  import {
282
287
  BasePlugin
283
288
  } from "./shared/@ai-setting/roy-agent-core-az13yzmc.js";
284
289
  import"./shared/@ai-setting/roy-agent-core-m880qz3y.js";
285
290
  import {
286
291
  McpComponent
287
- } from "./shared/@ai-setting/roy-agent-core-6j02sbee.js";
292
+ } from "./shared/@ai-setting/roy-agent-core-fhg03v43.js";
288
293
  import"./shared/@ai-setting/roy-agent-core-q96qynhb.js";
289
294
  import {
290
295
  AgentError,
@@ -300,18 +305,18 @@ import {
300
305
  import"./shared/@ai-setting/roy-agent-core-7hh0brvs.js";
301
306
  import {
302
307
  BaseComponent
303
- } from "./shared/@ai-setting/roy-agent-core-pgvcf91v.js";
308
+ } from "./shared/@ai-setting/roy-agent-core-m39v7qpx.js";
304
309
  import {
305
310
  createHook,
306
311
  createPriorityHook,
307
312
  init_hook
308
- } from "./shared/@ai-setting/roy-agent-core-ax9e9szb.js";
313
+ } from "./shared/@ai-setting/roy-agent-core-smf94h73.js";
309
314
  import {
310
315
  HookManager,
311
316
  globalHookManager
312
- } from "./shared/@ai-setting/roy-agent-core-cpcd24n2.js";
313
- import"./shared/@ai-setting/roy-agent-core-qqaak24r.js";
314
- import"./shared/@ai-setting/roy-agent-core-7cbpmk4q.js";
317
+ } from "./shared/@ai-setting/roy-agent-core-yet36q5k.js";
318
+ import"./shared/@ai-setting/roy-agent-core-tkpp1ba0.js";
319
+ import"./shared/@ai-setting/roy-agent-core-p31ftgq9.js";
315
320
  import {
316
321
  Traced,
317
322
  TracedAs,
@@ -331,7 +336,7 @@ import {
331
336
  toolExecResultFilter,
332
337
  toolInvokeParamFilter,
333
338
  wrapFunction
334
- } from "./shared/@ai-setting/roy-agent-core-qq96p0tj.js";
339
+ } from "./shared/@ai-setting/roy-agent-core-5s2t8z00.js";
335
340
  import {
336
341
  OTelTracerProvider,
337
342
  SpanKind,
@@ -5,10 +5,10 @@ import {
5
5
  initDatabase,
6
6
  initializeTables,
7
7
  resetDatabase
8
- } from "./roy-agent-core-r5wt1h3c.js";
9
- import"./roy-agent-core-mcy5apay.js";
8
+ } from "./roy-agent-core-4fkxy2gv.js";
9
+ import"./roy-agent-core-vf9sp6s3.js";
10
10
  import"./roy-agent-core-rvxg1wps.js";
11
- import"./roy-agent-core-qq96p0tj.js";
11
+ import"./roy-agent-core-5s2t8z00.js";
12
12
  import"./roy-agent-core-7f7t9wwp.js";
13
13
  import"./roy-agent-core-85xyctnb.js";
14
14
  import"./roy-agent-core-fs0mn2jk.js";
@@ -4,35 +4,35 @@ import {
4
4
  } from "./roy-agent-core-fttgm52a.js";
5
5
  import {
6
6
  getSharedEventStore
7
- } from "./roy-agent-core-na18zwj0.js";
7
+ } from "./roy-agent-core-4t3yskp8.js";
8
8
  import {
9
9
  builtInPrompts
10
- } from "./roy-agent-core-9vxh6f8h.js";
10
+ } from "./roy-agent-core-y7fqtzk2.js";
11
11
  import {
12
12
  TaskHookPoints
13
13
  } from "./roy-agent-core-1pg0fepg.js";
14
14
  import {
15
15
  DEFAULT_SUBAGENT_PROMPT
16
- } from "./roy-agent-core-ed233k5z.js";
16
+ } from "./roy-agent-core-v1n0106v.js";
17
17
  import {
18
18
  runWithBgTaskIdAsync
19
19
  } from "./roy-agent-core-c1v263jn.js";
20
20
  import {
21
21
  globalHookManager,
22
22
  init_global_hook_manager
23
- } from "./roy-agent-core-cpcd24n2.js";
23
+ } from "./roy-agent-core-yet36q5k.js";
24
24
  import {
25
25
  init_context
26
- } from "./roy-agent-core-qqaak24r.js";
26
+ } from "./roy-agent-core-tkpp1ba0.js";
27
27
  import {
28
28
  getCurrentTaskId,
29
29
  getEnvContext
30
- } from "./roy-agent-core-7cbpmk4q.js";
30
+ } from "./roy-agent-core-p31ftgq9.js";
31
31
  import {
32
32
  TracedAs,
33
33
  init_decorator,
34
34
  wrapFunction
35
- } from "./roy-agent-core-qq96p0tj.js";
35
+ } from "./roy-agent-core-5s2t8z00.js";
36
36
  import {
37
37
  createLogger,
38
38
  init_logger
@@ -47,6 +47,43 @@ init_decorator();
47
47
  init_context();
48
48
  import { z } from "zod";
49
49
 
50
+ // src/env/task/delegate/delegate-channel-hint.ts
51
+ var DELEGATE_CHANNEL_HINT_TITLE = "## 渠道交付提示(当前会话来自外部渠道)";
52
+ function buildDelegateChannelHint(channelType) {
53
+ if (!channelType)
54
+ return;
55
+ let channelBody;
56
+ if (channelType === "lark-cli" || channelType.startsWith("lark")) {
57
+ channelBody = [
58
+ `- 触发渠道是**飞书**。文档类产出(调研文档 / 报告 / PPT / doc 等)`,
59
+ ` 必须用**飞书云盘**存储:\`lark-cli docs +create --title <标题> --markdown @<本地md>\`,用完即弃。`,
60
+ `- 交付时只给**云盘链接**(https://my.feishu.cn/...),**不落本地路径**交付。`,
61
+ ` 本地路径只作中转(生成 md → 上传云盘 → 回复里贴云盘链接),不作为交付物。`
62
+ ].join(`
63
+ `);
64
+ } else if (channelType === "wecom-cli" || channelType.startsWith("wecom")) {
65
+ channelBody = [
66
+ `- 触发渠道是**企业微信**。文档类产出(调研文档 / docs / ppt 等)`,
67
+ ` 必须上传到**企微文档**,链接作为交付物:`,
68
+ ` - 在线文档:\`wecom-cli doc create --doc-name <标题> --doc-type doc --content-type text --file-path <本地md>\``,
69
+ ` - 微盘文件:\`wecom-cli disk files upload --file-path <本地文件>\`(默认传到我的空间)`,
70
+ `- 本地路径只作中转(生成 → 上传企微文档 → 回复里贴链接),**不落本地路径**交付。`
71
+ ].join(`
72
+ `);
73
+ }
74
+ if (!channelBody)
75
+ return;
76
+ return [
77
+ DELEGATE_CHANNEL_HINT_TITLE,
78
+ ``,
79
+ `通用措辞:当前会话来自外部渠道,交付类产出优先用该渠道的原生存储/展示方式,`,
80
+ `不要把本地文件路径当作交付物(渠道用户无法访问本机文件系统)。`,
81
+ ``,
82
+ channelBody
83
+ ].join(`
84
+ `);
85
+ }
86
+
50
87
  // src/env/task/delegate/subagent-resolver.ts
51
88
  function isKnownSubagentType(subagentType, registry) {
52
89
  if (getSubAgentSpec(subagentType)) {
@@ -743,7 +780,8 @@ var BackgroundTaskEventTypes = {
743
780
  FAILED: "task.background.failed",
744
781
  TIMEOUT: "task.background.timeout",
745
782
  STOPPED: "task.background.stopped",
746
- ASK_USER: "task.background.ask_user"
783
+ ASK_USER: "task.background.ask_user",
784
+ SESSION_STARTED: "task.background.session_started"
747
785
  };
748
786
  var builtInSubAgents = [
749
787
  {
@@ -825,6 +863,21 @@ var builtInSubAgents = [
825
863
  function getSubAgentSpec(id) {
826
864
  return builtInSubAgents.find((agent) => agent.id === id);
827
865
  }
866
+ function normalizeExtendTools(raw) {
867
+ if (!Array.isArray(raw))
868
+ return;
869
+ const out = [];
870
+ for (const v of raw) {
871
+ if (typeof v !== "string")
872
+ continue;
873
+ const trimmed = v.trim();
874
+ if (trimmed.length === 0)
875
+ continue;
876
+ if (!out.includes(trimmed))
877
+ out.push(trimmed);
878
+ }
879
+ return out.length > 0 ? out : undefined;
880
+ }
828
881
  function ensureSubAgentRegistered(agentComponent, subagentType, basePrompt, subAgent, deniedTools) {
829
882
  const registry = agentComponent.getRegistry?.();
830
883
  if (registry) {
@@ -858,7 +911,7 @@ var DelegateToolParameters = z.object({
858
911
  timeout: z.number().describe("Task timeout in milliseconds. Default: 1800000 (30 minutes). If set, task will be terminated after timeout.").optional(),
859
912
  reason: z.string().describe("Brief reason for calling this tool (max 30 chars, e.g., 'Delegate refactor task')").optional(),
860
913
  similar_task_ids: z.array(z.number()).max(3).describe("Similar task IDs (max 3) to reference for improving task execution. Search for similar tasks before calling this tool."),
861
- sub_session_id: z.string().describe("Existing sub-agent session ID to resume. " + "If provided, the sub-agent will continue from the previous conversation " + "context (used for retry on timeout/failure). " + "Leave empty for a new session.").optional(),
914
+ sub_session_id: z.string().describe("⚠️ 硬约束:同一任务链的续跑必须传此参数(从终态 notify 的「子 session:」行" + "或 delegate 返回的「\uD83D\uDD17 Sub-session:」行复制)。" + "仅当旧 session 上下文已确认不可救(compact_session 后仍超限 / 迭代上限且无可复用断点)时才留空;" + "留空等于丢弃全部上下文,从零开始。").optional(),
862
915
  triggerEventId: z.string().describe("EventStore trigger event ID (ESPlugin v2). Pass it when this delegate_task " + "is triggered by an external event source (e.g. Feishu message) so the " + "completion notification can reply to the original chat instead of a " + "fallback channel. Leave empty if not triggered by an event source.").optional()
863
916
  });
864
917
  function buildEntryAgentPrompt(options) {
@@ -1116,7 +1169,7 @@ class BackgroundTaskManager {
1116
1169
  return null;
1117
1170
  }
1118
1171
  async createTask(options) {
1119
- const { parentSessionId, description, prompt, subagentType, timeout, similarTaskIds, existingSubSessionId, triggerEventId, model, fallbackModel, fallbackModels, systemPrompt } = options;
1172
+ const { parentSessionId, description, prompt, subagentType, timeout, similarTaskIds, existingSubSessionId, triggerEventId, model, fallbackModel, fallbackModels, systemPrompt, extendTools } = options;
1120
1173
  const taskIdGen = `process_${Date.now()}_${Math.random().toString(36).slice(2, 11)}`;
1121
1174
  const sessionComponent = this.getSessionComponent();
1122
1175
  if (!sessionComponent) {
@@ -1175,6 +1228,10 @@ class BackgroundTaskManager {
1175
1228
  if (profile) {
1176
1229
  metadata.larkProfile = profile;
1177
1230
  }
1231
+ const channelType = replyChannel?.type;
1232
+ if (channelType) {
1233
+ metadata.channelType = channelType;
1234
+ }
1178
1235
  }
1179
1236
  if (triggerEventId) {
1180
1237
  metadata.triggerEventId = triggerEventId;
@@ -1219,6 +1276,7 @@ class BackgroundTaskManager {
1219
1276
  fallbackModel,
1220
1277
  fallbackModels,
1221
1278
  systemPrompt,
1279
+ extendTools,
1222
1280
  replyChannel: replyChannelSnapshot,
1223
1281
  pluginEnabledSnapshot
1224
1282
  };
@@ -1234,6 +1292,16 @@ class BackgroundTaskManager {
1234
1292
  timeoutMs: timeout || DEFAULT_TIMEOUT
1235
1293
  };
1236
1294
  this.publishBackgroundEvent(BackgroundTaskEventTypes.STARTED, startedPayload, parentSessionId, triggerEventId, replyChannelSnapshot, task.pluginEnabledSnapshot);
1295
+ this.publishBackgroundEvent(BackgroundTaskEventTypes.SESSION_STARTED, {
1296
+ backgroundTaskId: taskIdGen,
1297
+ subSessionId: subSession.id,
1298
+ parentSessionId,
1299
+ description,
1300
+ subagentType,
1301
+ associatedTaskId: undefined,
1302
+ lifecycle: "running",
1303
+ startedAt: createdAt
1304
+ }, parentSessionId, triggerEventId, replyChannelSnapshot, task.pluginEnabledSnapshot);
1237
1305
  this.executeTask(taskIdGen, prompt, timeout, parentSessionId).catch((err) => {
1238
1306
  logger3.error(`[BackgroundTaskManager] executeTask unhandled rejection`, {
1239
1307
  taskId: taskIdGen,
@@ -1277,6 +1345,16 @@ class BackgroundTaskManager {
1277
1345
  if (task.associatedTaskId === undefined) {
1278
1346
  task.associatedTaskId = getCurrentTaskId();
1279
1347
  }
1348
+ this.publishBackgroundEvent(BackgroundTaskEventTypes.SESSION_STARTED, {
1349
+ backgroundTaskId: task.id,
1350
+ subSessionId: task.subSessionId,
1351
+ parentSessionId: parentSessionId || task.parentSessionId,
1352
+ description: task.description,
1353
+ subagentType: task.subagentType,
1354
+ associatedTaskId: task.associatedTaskId,
1355
+ lifecycle: "completed",
1356
+ executionTimeMs
1357
+ }, parentSessionId || task.parentSessionId, task.triggerEventId, task.replyChannel, task.pluginEnabledSnapshot);
1280
1358
  const completedPayload = {
1281
1359
  backgroundTaskId: task.id,
1282
1360
  subSessionId: task.subSessionId,
@@ -1324,7 +1402,7 @@ class BackgroundTaskManager {
1324
1402
  executionTimeMs,
1325
1403
  hints: [
1326
1404
  "请把上面的问题原样通过 ask_user tool 展示给用户并等待答复",
1327
- `得到用户回复后,通过 delegate_task(subagentType="${task.subagentType}", existingSubSessionId="${task.subSessionId}", prompt=<基于用户回复>) 复用 sub-session 让 sub-agent 继承之前消息历史继续推进,无需实现 resume function`
1405
+ `得到用户回复后,通过 delegate_task(subagent_type="${task.subagentType}", sub_session_id="${task.subSessionId}", prompt=<基于用户回复>) 复用 sub-session 让 sub-agent 继承之前消息历史继续推进,无需实现 resume function`
1328
1406
  ],
1329
1407
  associatedTaskId: task.associatedTaskId
1330
1408
  };
@@ -1351,6 +1429,16 @@ class BackgroundTaskManager {
1351
1429
  associatedTaskId: task.associatedTaskId
1352
1430
  };
1353
1431
  this.publishBackgroundEvent(BackgroundTaskEventTypes.STOPPED, stoppedPayload, parentSessionId || task.parentSessionId, task.triggerEventId, task.replyChannel, task.pluginEnabledSnapshot);
1432
+ this.publishBackgroundEvent(BackgroundTaskEventTypes.SESSION_STARTED, {
1433
+ backgroundTaskId: task.id,
1434
+ subSessionId: task.subSessionId,
1435
+ parentSessionId: parentSessionId || task.parentSessionId,
1436
+ description: task.description,
1437
+ subagentType: task.subagentType,
1438
+ associatedTaskId: task.associatedTaskId,
1439
+ lifecycle: "stopped",
1440
+ executionTimeMs
1441
+ }, parentSessionId || task.parentSessionId, task.triggerEventId, task.replyChannel, task.pluginEnabledSnapshot);
1354
1442
  } else if (errorMessage.startsWith("Task execution timeout after")) {
1355
1443
  task.status = "timeout";
1356
1444
  const timeoutPayload = {
@@ -1364,6 +1452,16 @@ class BackgroundTaskManager {
1364
1452
  associatedTaskId: task.associatedTaskId
1365
1453
  };
1366
1454
  this.publishBackgroundEvent(BackgroundTaskEventTypes.TIMEOUT, timeoutPayload, parentSessionId || task.parentSessionId, task.triggerEventId, task.replyChannel, task.pluginEnabledSnapshot);
1455
+ this.publishBackgroundEvent(BackgroundTaskEventTypes.SESSION_STARTED, {
1456
+ backgroundTaskId: task.id,
1457
+ subSessionId: task.subSessionId,
1458
+ parentSessionId: parentSessionId || task.parentSessionId,
1459
+ description: task.description,
1460
+ subagentType: task.subagentType,
1461
+ associatedTaskId: task.associatedTaskId,
1462
+ lifecycle: "timeout",
1463
+ executionTimeMs
1464
+ }, parentSessionId || task.parentSessionId, task.triggerEventId, task.replyChannel, task.pluginEnabledSnapshot);
1367
1465
  } else {
1368
1466
  task.status = "failed";
1369
1467
  const failedPayload = {
@@ -1376,6 +1474,16 @@ class BackgroundTaskManager {
1376
1474
  associatedTaskId: task.associatedTaskId
1377
1475
  };
1378
1476
  this.publishBackgroundEvent(BackgroundTaskEventTypes.FAILED, failedPayload, parentSessionId || task.parentSessionId, task.triggerEventId, task.replyChannel, task.pluginEnabledSnapshot);
1477
+ this.publishBackgroundEvent(BackgroundTaskEventTypes.SESSION_STARTED, {
1478
+ backgroundTaskId: task.id,
1479
+ subSessionId: task.subSessionId,
1480
+ parentSessionId: parentSessionId || task.parentSessionId,
1481
+ description: task.description,
1482
+ subagentType: task.subagentType,
1483
+ associatedTaskId: task.associatedTaskId,
1484
+ lifecycle: "failed",
1485
+ executionTimeMs
1486
+ }, parentSessionId || task.parentSessionId, task.triggerEventId, task.replyChannel, task.pluginEnabledSnapshot);
1379
1487
  }
1380
1488
  task.error = errorMessage;
1381
1489
  logger3.error(`[BackgroundTaskManager] Task execution error`, {
@@ -1552,6 +1660,15 @@ ${reuseSection.markdown}`;
1552
1660
  error: err instanceof Error ? err.message : String(err)
1553
1661
  });
1554
1662
  }
1663
+ const channelTypeHint = metadata.channelType ?? getEnvContext()?.replyChannel?.type;
1664
+ const channelHint = buildDelegateChannelHint(channelTypeHint);
1665
+ if (channelHint) {
1666
+ fullPrompt += `
1667
+
1668
+ ---
1669
+
1670
+ ${channelHint}`;
1671
+ }
1555
1672
  const subAgentForRegister = subAgent ? { ...subAgent, allowedTools } : allowedTools ? {
1556
1673
  id: subagentType,
1557
1674
  name: subagentType,
@@ -1641,7 +1758,8 @@ ${reuseSection.markdown}`;
1641
1758
  ...inheritedModel ? { model: inheritedModel } : {},
1642
1759
  ...inheritedFallbackModel ? { fallbackModel: inheritedFallbackModel } : {},
1643
1760
  ...Array.isArray(inheritedFallbackModels) ? { fallbackModels: inheritedFallbackModels } : {},
1644
- ...task?.systemPrompt ? { metadata: { systemPrompt: task.systemPrompt } } : {}
1761
+ ...task?.systemPrompt ? { metadata: { systemPrompt: task.systemPrompt } } : {},
1762
+ ...task?.extendTools?.length ? { extendTools: task.extendTools } : {}
1645
1763
  });
1646
1764
  };
1647
1765
  const wrappedPromise = processRegistry ? runWithProcessRegistryAsync(processRegistry, () => runWithBgTaskIdAsync(bgTaskId, () => invokeHandleQuery())) : runWithBgTaskIdAsync(bgTaskId, () => invokeHandleQuery());
@@ -2057,7 +2175,7 @@ No need to poll — just wait for the notification and use \`task_get\` with the
2057
2175
  };
2058
2176
  await globalHookManager.execute(TaskHookPoints.DELEGATE_BEFORE, delegateCtx, { sessionId: parentSessionId });
2059
2177
  promptWithTaskInfo = delegateCtx.prompt;
2060
- return await handleBackgroundTask(backgroundTaskManager, parentSessionId, description, promptWithTaskInfo, delegateCtx.subagentType, delegateCtx.timeout, similar_task_ids, params.sub_session_id, resolvedTriggerEventId, ctx.model, ctx.fallbackModel, ctx.fallbackModels, ctx.metadata?.systemPrompt);
2178
+ return await handleBackgroundTask(backgroundTaskManager, parentSessionId, description, promptWithTaskInfo, delegateCtx.subagentType, delegateCtx.timeout, similar_task_ids, params.sub_session_id, resolvedTriggerEventId, ctx.model, ctx.fallbackModel, ctx.fallbackModels, ctx.metadata?.systemPrompt, normalizeExtendTools(ctx.metadata?.extendTools));
2061
2179
  }
2062
2180
  };
2063
2181
  tool.execute = wrapFunction(tool.execute, "delegate.execute", {
@@ -2113,7 +2231,7 @@ function _capturePluginEnabledSnapshot() {
2113
2231
  return { ...pluginEnabled };
2114
2232
  }
2115
2233
  var capturePluginEnabledSnapshot = wrapFunction(_capturePluginEnabledSnapshot, "delegate.capturePluginEnabled", { recordParams: false, recordResult: true, recordError: true });
2116
- async function handleBackgroundTask(backgroundTaskManager, parentSessionId, description, prompt, subagentType, timeout, similarTaskIds, existingSubSessionId, triggerEventId, model, fallbackModel, fallbackModels, systemPrompt) {
2234
+ async function handleBackgroundTask(backgroundTaskManager, parentSessionId, description, prompt, subagentType, timeout, similarTaskIds, existingSubSessionId, triggerEventId, model, fallbackModel, fallbackModels, systemPrompt, extendTools) {
2117
2235
  const startTime = Date.now();
2118
2236
  try {
2119
2237
  let actualSubagentType = subagentType;
@@ -2143,7 +2261,8 @@ async function handleBackgroundTask(backgroundTaskManager, parentSessionId, desc
2143
2261
  model,
2144
2262
  fallbackModel,
2145
2263
  fallbackModels,
2146
- systemPrompt
2264
+ systemPrompt,
2265
+ extendTools
2147
2266
  });
2148
2267
  const output = [
2149
2268
  `✅ Background task accepted`,
@@ -2153,6 +2272,8 @@ async function handleBackgroundTask(backgroundTaskManager, parentSessionId, desc
2153
2272
  `\uD83E\uDD16 Sub-agent: ${actualSubagentType}${originalWorkflowName ? ` (workflow: ${originalWorkflowName})` : ""}`,
2154
2273
  `⏱️ Timeout: ${(timeout || DEFAULT_TIMEOUT) / 1000}s`,
2155
2274
  "",
2275
+ `\uD83D\uDD17 Sub-session: ${subSessionId} (续跑本任务:delegate_task(sub_session_id="${subSessionId}", prompt="..."))`,
2276
+ "",
2156
2277
  `Use stop_task with task_id="${bgProcessId}" to cancel this task.`
2157
2278
  ].join(`
2158
2279
  `);
@@ -2176,4 +2297,4 @@ async function handleBackgroundTask(backgroundTaskManager, parentSessionId, desc
2176
2297
  };
2177
2298
  }
2178
2299
  }
2179
- export { BackgroundTaskEventTypes, builtInSubAgents, getSubAgentSpec, DelegateToolParameters, buildEntryAgentPrompt, WORKFLOW_COMPAT_ALIASES, DEFAULT_TIMEOUT, PROGRESS_INTERVAL, BackgroundTaskManager, createDelegateTool, deriveTriggerEventIdFromEnvContext, captureReplyChannelSnapshot, capturePluginEnabledSnapshot, handleBackgroundTask };
2300
+ export { BackgroundTaskEventTypes, builtInSubAgents, getSubAgentSpec, normalizeExtendTools, DelegateToolParameters, buildEntryAgentPrompt, WORKFLOW_COMPAT_ALIASES, DEFAULT_TIMEOUT, PROGRESS_INTERVAL, BackgroundTaskManager, createDelegateTool, deriveTriggerEventIdFromEnvContext, captureReplyChannelSnapshot, capturePluginEnabledSnapshot, handleBackgroundTask };
@@ -4,7 +4,7 @@ import {
4
4
  } from "./roy-agent-core-rvv6ydff.js";
5
5
  import {
6
6
  BaseComponent
7
- } from "./roy-agent-core-pgvcf91v.js";
7
+ } from "./roy-agent-core-m39v7qpx.js";
8
8
  import {
9
9
  __require
10
10
  } from "./roy-agent-core-fs0mn2jk.js";
@@ -3,17 +3,17 @@ import {
3
3
  } from "./roy-agent-core-az13yzmc.js";
4
4
  import {
5
5
  BaseComponent
6
- } from "./roy-agent-core-pgvcf91v.js";
6
+ } from "./roy-agent-core-m39v7qpx.js";
7
7
  import {
8
8
  globalHookManager,
9
9
  init_global_hook_manager
10
- } from "./roy-agent-core-cpcd24n2.js";
10
+ } from "./roy-agent-core-yet36q5k.js";
11
11
  import {
12
12
  init_context
13
- } from "./roy-agent-core-qqaak24r.js";
13
+ } from "./roy-agent-core-tkpp1ba0.js";
14
14
  import {
15
15
  getEnvContextOrEmpty
16
- } from "./roy-agent-core-7cbpmk4q.js";
16
+ } from "./roy-agent-core-p31ftgq9.js";
17
17
  import {
18
18
  createLogger,
19
19
  init_logger