@ai-setting/roy-agent-core 1.7.51 → 1.7.53

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 (337) hide show
  1. package/dist/config/config-component.d.ts +346 -0
  2. package/dist/config/config-parser.d.ts +45 -0
  3. package/dist/config/env-key.d.ts +97 -0
  4. package/dist/config/env-source.d.ts +113 -0
  5. package/dist/config/file-source.d.ts +90 -0
  6. package/dist/config/index.d.ts +4 -0
  7. package/dist/config/protocol-resolver.d.ts +94 -0
  8. package/dist/env/agent/agent-component.d.ts +646 -0
  9. package/dist/env/agent/agent-config-registration.d.ts +18 -0
  10. package/dist/env/agent/agent-registry.d.ts +500 -0
  11. package/dist/env/agent/index.d.ts +9 -0
  12. package/dist/env/agent/summary-agent.d.ts +44 -0
  13. package/dist/env/agent/types.d.ts +503 -0
  14. package/dist/env/commands/commands-component.d.ts +97 -0
  15. package/dist/env/commands/commands-config-registration.d.ts +19 -0
  16. package/dist/env/commands/index.d.ts +7 -0
  17. package/dist/env/commands/parser.d.ts +18 -0
  18. package/dist/env/commands/types.d.ts +133 -0
  19. package/dist/env/component.d.ts +186 -0
  20. package/dist/env/constants.d.ts +112 -0
  21. package/dist/env/context/env-context.d.ts +420 -0
  22. package/dist/env/context/env-event.d.ts +144 -0
  23. package/dist/env/context/index.d.ts +13 -0
  24. package/dist/env/debug/debug-component.d.ts +160 -0
  25. package/dist/env/debug/formatters/index.d.ts +8 -0
  26. package/dist/env/debug/formatters/repl-formatter.d.ts +80 -0
  27. package/dist/env/debug/formatters/trace-formatter.d.ts +43 -0
  28. package/dist/env/debug/formatters/tree-formatter.d.ts +72 -0
  29. package/dist/env/debug/index.d.ts +15 -0
  30. package/dist/env/debug/index.js +1 -1
  31. package/dist/env/debug/parser/regex-parser.d.ts +49 -0
  32. package/dist/env/debug/parser/span-builder.d.ts +79 -0
  33. package/dist/env/debug/reader/log-reader.d.ts +55 -0
  34. package/dist/env/debug/reader/span-db-reader.d.ts +70 -0
  35. package/dist/env/debug/types.d.ts +145 -0
  36. package/dist/env/environment.d.ts +185 -0
  37. package/dist/env/errors.d.ts +120 -0
  38. package/dist/env/event-source/bounty-cli-handler.d.ts +42 -0
  39. package/dist/env/event-source/bounty-im-handler.d.ts +232 -0
  40. package/dist/env/event-source/event-source-component.d.ts +177 -0
  41. package/dist/env/event-source/event-source-config-registration.d.ts +18 -0
  42. package/dist/env/event-source/event-source-handlers.d.ts +486 -0
  43. package/dist/env/event-source/event-store.d.ts +110 -0
  44. package/dist/env/event-source/idempotency-key.d.ts +19 -0
  45. package/dist/env/event-source/index.d.ts +15 -0
  46. package/dist/env/event-source/index.js +4 -4
  47. package/dist/env/event-source/timer-handler.d.ts +74 -0
  48. package/dist/env/event-source/types.d.ts +803 -0
  49. package/dist/env/hook/global-hook-manager.d.ts +73 -0
  50. package/dist/env/hook/hook-manager.d.ts +139 -0
  51. package/dist/env/hook/index.d.ts +9 -0
  52. package/dist/env/hook/types.d.ts +107 -0
  53. package/dist/env/index.d.ts +24 -0
  54. package/dist/env/index.js +6 -6
  55. package/dist/env/interface.d.ts +156 -0
  56. package/dist/env/lark-mention-utils.d.ts +59 -0
  57. package/dist/env/llm/adapter-ai-sdk.d.ts +10 -0
  58. package/dist/env/llm/adapter-pi-ai.d.ts +39 -0
  59. package/dist/env/llm/adapter.d.ts +80 -0
  60. package/dist/env/llm/factory.d.ts +13 -0
  61. package/dist/env/llm/hooks.d.ts +150 -0
  62. package/dist/env/llm/index.d.ts +16 -0
  63. package/dist/env/llm/invoke.d.ts +264 -0
  64. package/dist/env/llm/llm-cache.d.ts +38 -0
  65. package/dist/env/llm/llm.d.ts +238 -0
  66. package/dist/env/llm/opencode-session.d.ts +79 -0
  67. package/dist/env/llm/provider.d.ts +40 -0
  68. package/dist/env/llm/tool-args-parser.d.ts +77 -0
  69. package/dist/env/llm/tool-schema.d.ts +54 -0
  70. package/dist/env/llm/transform.d.ts +57 -0
  71. package/dist/env/llm/types.d.ts +818 -0
  72. package/dist/env/log-trace/decorator.d.ts +88 -0
  73. package/dist/env/log-trace/index.d.ts +14 -0
  74. package/dist/env/log-trace/log-trace-component.d.ts +268 -0
  75. package/dist/env/log-trace/log-trace-config-registration.d.ts +25 -0
  76. package/dist/env/log-trace/logger.d.ts +83 -0
  77. package/dist/env/log-trace/opentelemetry/cli-propagation.d.ts +105 -0
  78. package/dist/env/log-trace/opentelemetry/mod.d.ts +24 -0
  79. package/dist/env/log-trace/opentelemetry/propagation-env.d.ts +81 -0
  80. package/dist/env/log-trace/opentelemetry/propagation.d.ts +79 -0
  81. package/dist/env/log-trace/opentelemetry/tracer-provider.d.ts +157 -0
  82. package/dist/env/log-trace/span-storage.d.ts +37 -0
  83. package/dist/env/log-trace/trace-context.d.ts +28 -0
  84. package/dist/env/log-trace/types.d.ts +127 -0
  85. package/dist/env/mcp/command-resolver.d.ts +12 -0
  86. package/dist/env/mcp/config.d.ts +103 -0
  87. package/dist/env/mcp/index.d.ts +13 -0
  88. package/dist/env/mcp/loader.d.ts +78 -0
  89. package/dist/env/mcp/mcp-component.d.ts +54 -0
  90. package/dist/env/mcp/mcp-config-registration.d.ts +19 -0
  91. package/dist/env/mcp/npm-prefix/index.d.ts +17 -0
  92. package/dist/env/mcp/scanner.d.ts +38 -0
  93. package/dist/env/mcp/tool/adapter.d.ts +32 -0
  94. package/dist/env/mcp/tool/index.d.ts +4 -0
  95. package/dist/env/mcp/types.d.ts +131 -0
  96. package/dist/env/memory/built-in/index.d.ts +41 -0
  97. package/dist/env/memory/built-in/recall-memory.d.ts +29 -0
  98. package/dist/env/memory/built-in/record-memory.d.ts +44 -0
  99. package/dist/env/memory/index.d.ts +10 -0
  100. package/dist/env/memory/memory-component.d.ts +114 -0
  101. package/dist/env/memory/memory-config-registration.d.ts +18 -0
  102. package/dist/env/memory/memory-config.d.ts +18 -0
  103. package/dist/env/memory/plugin/index.d.ts +16 -0
  104. package/dist/env/memory/plugin/memory-agent.d.ts +126 -0
  105. package/dist/env/memory/plugin/memory-manager.d.ts +71 -0
  106. package/dist/env/memory/plugin/memory-plugin.d.ts +103 -0
  107. package/dist/env/memory/plugin/recall-memory.d.ts +16 -0
  108. package/dist/env/memory/plugin/types.d.ts +75 -0
  109. package/dist/env/memory/tools/memory-agent-tools.d.ts +109 -0
  110. package/dist/env/memory/types.d.ts +80 -0
  111. package/dist/env/paths.d.ts +46 -0
  112. package/dist/env/plugin/bounty-cli-notification-channel.d.ts +60 -0
  113. package/dist/env/plugin/event-bus-notification-channel.d.ts +50 -0
  114. package/dist/env/plugin/index.d.ts +13 -0
  115. package/dist/env/plugin/lark-cli-notification-channel.d.ts +61 -0
  116. package/dist/env/plugin/notification-channel.d.ts +143 -0
  117. package/dist/env/plugin/plugin-component.d.ts +232 -0
  118. package/dist/env/plugin/types.d.ts +146 -0
  119. package/dist/env/prompt/index.d.ts +7 -0
  120. package/dist/env/prompt/prompt-component.d.ts +194 -0
  121. package/dist/env/prompt/prompt-config-registration.d.ts +18 -0
  122. package/dist/env/prompt/prompt-store.d.ts +26 -0
  123. package/dist/env/prompt/prompts-index.d.ts +146 -0
  124. package/dist/env/prompt/renderer.d.ts +21 -0
  125. package/dist/env/prompt/types.d.ts +176 -0
  126. package/dist/env/session/hooks.d.ts +14 -0
  127. package/dist/env/session/index.d.ts +19 -0
  128. package/dist/env/session/search-query-parser.d.ts +41 -0
  129. package/dist/env/session/session-component.d.ts +464 -0
  130. package/dist/env/session/session-config-registration.d.ts +18 -0
  131. package/dist/env/session/session-id.d.ts +26 -0
  132. package/dist/env/session/session-message-converter.d.ts +142 -0
  133. package/dist/env/session/session-store.d.ts +188 -0
  134. package/dist/env/session/storage/index.d.ts +5 -0
  135. package/dist/env/session/storage/memory.d.ts +119 -0
  136. package/dist/env/session/storage/sqlite.d.ts +108 -0
  137. package/dist/env/session/types.d.ts +705 -0
  138. package/dist/env/session-tree-stopper.d.ts +79 -0
  139. package/dist/env/skill/config.d.ts +13 -0
  140. package/dist/env/skill/index.d.ts +6 -0
  141. package/dist/env/skill/parser.d.ts +9 -0
  142. package/dist/env/skill/scanner.d.ts +25 -0
  143. package/dist/env/skill/skill-component.d.ts +89 -0
  144. package/dist/env/skill/skill-config-registration.d.ts +18 -0
  145. package/dist/env/skill/tool/index.d.ts +1 -0
  146. package/dist/env/skill/tool/skill-tool.d.ts +15 -0
  147. package/dist/env/skill/types.d.ts +61 -0
  148. package/dist/env/task/backend/index.d.ts +24 -0
  149. package/dist/env/task/backend/index.js +704 -0
  150. package/dist/env/task/backend/roy-sidecar-task-port.d.ts +148 -0
  151. package/dist/env/task/backend/sqlite-task-port.d.ts +28 -0
  152. package/dist/env/task/backend/task-store-backend.d.ts +107 -0
  153. package/dist/env/task/backend/types.d.ts +293 -0
  154. package/dist/env/task/delegate/bg-task-id-storage.d.ts +9 -0
  155. package/dist/env/task/delegate/delegate-tool.d.ts +681 -0
  156. package/dist/env/task/delegate/index.d.ts +8 -0
  157. package/dist/env/task/delegate/process-registry.d.ts +58 -0
  158. package/dist/env/task/delegate/stop-tool.d.ts +12 -0
  159. package/dist/env/task/delegate/subagent-resolver.d.ts +25 -0
  160. package/dist/env/task/events/index.d.ts +7 -0
  161. package/dist/env/task/events/task-event-payloads.d.ts +101 -0
  162. package/dist/env/task/events/task-event-types.d.ts +23 -0
  163. package/dist/env/task/hooks/contexts.d.ts +191 -0
  164. package/dist/env/task/hooks/index.d.ts +7 -0
  165. package/dist/env/task/hooks/task-hook-points.d.ts +42 -0
  166. package/dist/env/task/index.d.ts +7 -0
  167. package/dist/env/task/plugins/auto-task-plugin.d.ts +38 -0
  168. package/dist/env/task/plugins/card-chat-routing.d.ts +135 -0
  169. package/dist/env/task/plugins/fake-user-message-helper.d.ts +90 -0
  170. package/dist/env/task/plugins/index.d.ts +8 -0
  171. package/dist/env/task/plugins/index.js +2 -2
  172. package/dist/env/task/plugins/lark-card-action-handler.d.ts +166 -0
  173. package/dist/env/task/plugins/lark-card-patch-notifier.d.ts +651 -0
  174. package/dist/env/task/plugins/lark-cli-task-notify-plugin.d.ts +248 -0
  175. package/dist/env/task/plugins/max-iteration-reminder-plugin.d.ts +112 -0
  176. package/dist/env/task/plugins/per-task-group-chat-plugin.d.ts +561 -0
  177. package/dist/env/task/plugins/task-tag-plugin.d.ts +70 -0
  178. package/dist/env/task/plugins/workflow-extractor-agent.d.ts +43 -0
  179. package/dist/env/task/registry-hook-installer.d.ts +43 -0
  180. package/dist/env/task/storage/index.d.ts +5 -0
  181. package/dist/env/task/storage/migrations/001_add_project_path_context.d.ts +14 -0
  182. package/dist/env/task/storage/migrations/002_add_task_type.d.ts +14 -0
  183. package/dist/env/task/storage/migrations/003_add_process_description.d.ts +20 -0
  184. package/dist/env/task/storage/migrations/004_rename_action_to_milestone.d.ts +37 -0
  185. package/dist/env/task/storage/migrations/005_convert_blob_description_to_text.d.ts +51 -0
  186. package/dist/env/task/storage/sqlite-task-store.d.ts +241 -0
  187. package/dist/env/task/tag-service.d.ts +138 -0
  188. package/dist/env/task/task-child-context.d.ts +70 -0
  189. package/dist/env/task/task-component.d.ts +270 -0
  190. package/dist/env/task/task-config-registration.d.ts +19 -0
  191. package/dist/env/task/task-creation-registry.d.ts +181 -0
  192. package/dist/env/task/task-reuse-context.d.ts +52 -0
  193. package/dist/env/task/task-reuse-registry.d.ts +31 -0
  194. package/dist/env/task/tools/batch-archive-tool.d.ts +9 -0
  195. package/dist/env/task/tools/batch-delete-tool.d.ts +9 -0
  196. package/dist/env/task/tools/complete-tool.d.ts +12 -0
  197. package/dist/env/task/tools/create-tool.d.ts +6 -0
  198. package/dist/env/task/tools/delete-tool.d.ts +6 -0
  199. package/dist/env/task/tools/get-tool.d.ts +6 -0
  200. package/dist/env/task/tools/index.d.ts +13 -0
  201. package/dist/env/task/tools/list-tool.d.ts +6 -0
  202. package/dist/env/task/tools/operation/create-tool.d.ts +12 -0
  203. package/dist/env/task/tools/operation/delete-tool.d.ts +6 -0
  204. package/dist/env/task/tools/operation/get-tool.d.ts +6 -0
  205. package/dist/env/task/tools/operation/index.d.ts +8 -0
  206. package/dist/env/task/tools/operation/list-tool.d.ts +6 -0
  207. package/dist/env/task/tools/operation/operation-types.d.ts +225 -0
  208. package/dist/env/task/tools/operation/update-tool.d.ts +6 -0
  209. package/dist/env/task/tools/search-tool.d.ts +9 -0
  210. package/dist/env/task/tools/task-tree-tool.d.ts +65 -0
  211. package/dist/env/task/tools/task-types.d.ts +255 -0
  212. package/dist/env/task/tools/update-tool.d.ts +6 -0
  213. package/dist/env/task/types.d.ts +290 -0
  214. package/dist/env/tool/built-in/bash-effect.d.ts +36 -0
  215. package/dist/env/tool/built-in/bash.d.ts +16 -0
  216. package/dist/env/tool/built-in/echo.d.ts +7 -0
  217. package/dist/env/tool/built-in/edit-file.d.ts +6 -0
  218. package/dist/env/tool/built-in/glob.d.ts +6 -0
  219. package/dist/env/tool/built-in/grep.d.ts +6 -0
  220. package/dist/env/tool/built-in/index.d.ts +39 -0
  221. package/dist/env/tool/built-in/query-background-process-tool.d.ts +113 -0
  222. package/dist/env/tool/built-in/read-file.d.ts +5 -0
  223. package/dist/env/tool/built-in/understand-image.d.ts +59 -0
  224. package/dist/env/tool/built-in/write-file.d.ts +5 -0
  225. package/dist/env/tool/index.d.ts +16 -0
  226. package/dist/env/tool/registry.d.ts +61 -0
  227. package/dist/env/tool/tool-component.d.ts +242 -0
  228. package/dist/env/tool/tool-config-registration.d.ts +18 -0
  229. package/dist/env/tool/types.d.ts +274 -0
  230. package/dist/env/tool/validator.d.ts +14 -0
  231. package/dist/env/types.d.ts +184 -0
  232. package/dist/env/workflow/decorators/decorator-node.d.ts +76 -0
  233. package/dist/env/workflow/decorators/edge.d.ts +42 -0
  234. package/dist/env/workflow/decorators/index.d.ts +13 -0
  235. package/dist/env/workflow/decorators/node-as.d.ts +40 -0
  236. package/dist/env/workflow/decorators/workflow.d.ts +30 -0
  237. package/dist/env/workflow/engine/dag-manager.d.ts +176 -0
  238. package/dist/env/workflow/engine/engine.d.ts +375 -0
  239. package/dist/env/workflow/engine/event-bus.d.ts +54 -0
  240. package/dist/env/workflow/engine/executor.d.ts +122 -0
  241. package/dist/env/workflow/engine/index.d.ts +15 -0
  242. package/dist/env/workflow/engine/node-registry.d.ts +159 -0
  243. package/dist/env/workflow/engine/scheduler.d.ts +164 -0
  244. package/dist/env/workflow/extractor/workflow-converter.d.ts +55 -0
  245. package/dist/env/workflow/fixtures.d.ts +401 -0
  246. package/dist/env/workflow/hooks/index.d.ts +4 -0
  247. package/dist/env/workflow/hooks/workflow-hook-points.d.ts +161 -0
  248. package/dist/env/workflow/index.d.ts +30 -0
  249. package/dist/env/workflow/index.js +1 -1
  250. package/dist/env/workflow/metadata/keys.d.ts +6 -0
  251. package/dist/env/workflow/nodes/agent-component-adapter.d.ts +175 -0
  252. package/dist/env/workflow/nodes/agent-node.d.ts +206 -0
  253. package/dist/env/workflow/nodes/ask-user-node.d.ts +66 -0
  254. package/dist/env/workflow/nodes/condition-node.d.ts +39 -0
  255. package/dist/env/workflow/nodes/index.d.ts +8 -0
  256. package/dist/env/workflow/nodes/merge-node.d.ts +40 -0
  257. package/dist/env/workflow/nodes/python-call-node.d.ts +95 -0
  258. package/dist/env/workflow/nodes/skill-node.d.ts +29 -0
  259. package/dist/env/workflow/nodes/tool-node.d.ts +58 -0
  260. package/dist/env/workflow/nodes/workflow-node.d.ts +118 -0
  261. package/dist/env/workflow/plugins/index.d.ts +6 -0
  262. package/dist/env/workflow/plugins/index.js +2 -2
  263. package/dist/env/workflow/plugins/lark-cli-workflow-notify-plugin.d.ts +107 -0
  264. package/dist/env/workflow/plugins/workflow-json-output-plugin.d.ts +166 -0
  265. package/dist/env/workflow/runtime/runtime-cancellation-scope.d.ts +121 -0
  266. package/dist/env/workflow/service/index.d.ts +9 -0
  267. package/dist/env/workflow/service/registry.d.ts +37 -0
  268. package/dist/env/workflow/service/workflow-service.d.ts +422 -0
  269. package/dist/env/workflow/storage/index.d.ts +11 -0
  270. package/dist/env/workflow/storage/mock-repositories.d.ts +106 -0
  271. package/dist/env/workflow/storage/safe-json.d.ts +62 -0
  272. package/dist/env/workflow/storage/sqlite.d.ts +57 -0
  273. package/dist/env/workflow/storage/tag-repo.d.ts +65 -0
  274. package/dist/env/workflow/storage/workflow-repo.d.ts +161 -0
  275. package/dist/env/workflow/tools/ask-user-tool.d.ts +35 -0
  276. package/dist/env/workflow/tools/index.d.ts +16 -0
  277. package/dist/env/workflow/tools/run-workflow.d.ts +130 -0
  278. package/dist/env/workflow/tools/submit-json-output-tool.d.ts +38 -0
  279. package/dist/env/workflow/tools/workflow-add-tool.d.ts +47 -0
  280. package/dist/env/workflow/tools/workflow-get-tool.d.ts +29 -0
  281. package/dist/env/workflow/tools/workflow-list-tool.d.ts +55 -0
  282. package/dist/env/workflow/tools/workflow-run-status-tool.d.ts +26 -0
  283. package/dist/env/workflow/tools/workflow-run-stop-tool.d.ts +29 -0
  284. package/dist/env/workflow/tools/workflow-search-tool.d.ts +33 -0
  285. package/dist/env/workflow/tools/workflow-tag-list-tool.d.ts +59 -0
  286. package/dist/env/workflow/tools/workflow-validate-tool.d.ts +60 -0
  287. package/dist/env/workflow/types/context.d.ts +17 -0
  288. package/dist/env/workflow/types/decorators-types.d.ts +182 -0
  289. package/dist/env/workflow/types/edge.d.ts +33 -0
  290. package/dist/env/workflow/types/event.d.ts +869 -0
  291. package/dist/env/workflow/types/index.d.ts +16 -0
  292. package/dist/env/workflow/types/run.d.ts +235 -0
  293. package/dist/env/workflow/types/workflow-error.d.ts +79 -0
  294. package/dist/env/workflow/types/workflow-hil.d.ts +57 -0
  295. package/dist/env/workflow/types/workflow-message.d.ts +193 -0
  296. package/dist/env/workflow/types/workflow-session.d.ts +17 -0
  297. package/dist/env/workflow/types/workflow.d.ts +654 -0
  298. package/dist/env/workflow/types_compat.d.ts +10 -0
  299. package/dist/env/workflow/utils/agent-session-metadata.d.ts +35 -0
  300. package/dist/env/workflow/utils/build-agent-node-output.d.ts +11 -0
  301. package/dist/env/workflow/utils/create-workflow.d.ts +35 -0
  302. package/dist/env/workflow/utils/dependency-prescan.d.ts +67 -0
  303. package/dist/env/workflow/utils/execution-state.d.ts +46 -0
  304. package/dist/env/workflow/utils/extract-agent-json-output.d.ts +6 -0
  305. package/dist/env/workflow/utils/index.d.ts +14 -0
  306. package/dist/env/workflow/utils/json-schema-to-zod.d.ts +23 -0
  307. package/dist/env/workflow/utils/node-id-utils.d.ts +20 -0
  308. package/dist/env/workflow/utils/node-output-contracts.d.ts +137 -0
  309. package/dist/env/workflow/utils/node-registry-helper.d.ts +36 -0
  310. package/dist/env/workflow/utils/output-schema-hint.d.ts +7 -0
  311. package/dist/env/workflow/utils/parse-agent-output-config.d.ts +9 -0
  312. package/dist/env/workflow/utils/recovery-validator.d.ts +30 -0
  313. package/dist/env/workflow/utils/sensitive-redact.d.ts +37 -0
  314. package/dist/env/workflow/utils/session-parser.d.ts +23 -0
  315. package/dist/env/workflow/utils/session-recovery.d.ts +122 -0
  316. package/dist/env/workflow/utils/template-contract-validator.d.ts +87 -0
  317. package/dist/env/workflow/utils/template-resolver.d.ts +285 -0
  318. package/dist/env/workflow/utils/validate-workflow-definition.d.ts +57 -0
  319. package/dist/env/workflow/utils/validation-rules.d.ts +103 -0
  320. package/dist/env/workflow/utils/workflow-message-metadata.d.ts +20 -0
  321. package/dist/env/workflow/utils/workflow-sanitize.d.ts +51 -0
  322. package/dist/env/workflow/workflow-component.d.ts +138 -0
  323. package/dist/index.d.ts +59 -0
  324. package/dist/index.js +7 -7
  325. package/dist/shared/@ai-setting/{roy-agent-core-9faekt5n.js → roy-agent-core-4sx6sdb2.js} +1 -1
  326. package/dist/shared/@ai-setting/{roy-agent-core-wxsgay02.js → roy-agent-core-brwzs8wf.js} +1 -1
  327. package/dist/shared/@ai-setting/{roy-agent-core-kyasfzeh.js → roy-agent-core-hch2geta.js} +45 -14
  328. package/dist/shared/@ai-setting/{roy-agent-core-zd077w51.js → roy-agent-core-j8e92gj8.js} +43 -1
  329. package/dist/shared/@ai-setting/{roy-agent-core-wwytg8rv.js → roy-agent-core-ph5qbqcx.js} +566 -78
  330. package/dist/util/process/process-tree-killer.d.ts +67 -0
  331. package/dist/utils/id.d.ts +11 -0
  332. package/dist/utils/loose-json.d.ts +30 -0
  333. package/dist/utils/media.d.ts +70 -0
  334. package/dist/utils/temp-file-manager/index.d.ts +99 -0
  335. package/package.json +4 -2
  336. /package/dist/shared/@ai-setting/{roy-agent-core-s214vmmd.js → roy-agent-core-4vpk40ss.js} +0 -0
  337. /package/dist/shared/@ai-setting/{roy-agent-core-0cfaqnz9.js → roy-agent-core-k25gv86p.js} +0 -0
@@ -0,0 +1,138 @@
1
+ /**
2
+ * @fileoverview WorkflowComponent
3
+ *
4
+ * Workflow 组件入口,提供工作流管理和执行能力。
5
+ *
6
+ * 功能:
7
+ * - 工作流 CRUD 操作(通过 WorkflowService)
8
+ * - 工作流执行(通过 WorkflowEngine)
9
+ * - Decorator 节点注册
10
+ *
11
+ * Note: After session-based refactoring, workflow runs are managed via SessionComponent.
12
+ * The Session.metadata stores workflow run state (status, input, agentSessions).
13
+ * Node execution messages are stored in Session.messages with workflow.node.* roles.
14
+ */
15
+ import 'reflect-metadata';
16
+ import { BaseComponent, type ComponentConfig } from '../component';
17
+ import type { WorkflowDefinition, RunOptions, RunResult } from './types';
18
+ import { WorkflowService } from './service';
19
+ import type { ToolComponent } from '../tool/tool-component';
20
+ import type { LogTraceComponent } from '../log-trace/log-trace-component';
21
+ import type { Environment } from '../interface';
22
+ import type { AgentRunner } from './nodes/agent-node';
23
+ export { EventBus, DAGManager, Scheduler, Executor, WorkflowEngine, } from './engine';
24
+ export type { NodeExecutionContext, RunOptions, RunResult, RunStatus, NodeStatus, DAGAnalysis, SchedulerOptions, SchedulerState, ExecutorOptions, WorkflowEngineConfig, NodeContext, NodeFactory, } from './engine';
25
+ export type { NodeDefinition, RetryConfig, TemplateResolver, } from './types';
26
+ export type { WorkflowDefinition, } from './types/workflow';
27
+ export { WorkflowService, WorkflowServiceRegistry, } from './service';
28
+ export type { WorkflowOptions, NodeAsOptions, EdgeOptions, WorkflowMetadata, NodeMetadata, EdgeMetadata, ValidationResult, ConvertedWorkflowDefinition, ConvertedNodeDefinition, } from './types/decorators-types';
29
+ export { Workflow, NodeAs, Edge, WorkflowEdges, getWorkflowMetadata, getNodeMetadatas, getEdgeMetadatas, DecoratorNode, } from './decorators';
30
+ export type { DecoratorNodeConfig, } from './decorators/decorator-node';
31
+ export { WorkflowConverter, } from './extractor/workflow-converter';
32
+ export { createWorkflowFromClass } from './utils/create-workflow';
33
+ export { registerDecoratorNodeType } from './utils/node-registry-helper';
34
+ export interface WorkflowComponentConfig extends ComponentConfig {
35
+ /** 自动注册 decorator 节点类型 */
36
+ autoRegisterDecorators?: boolean;
37
+ }
38
+ export interface WorkflowComponentOptions {
39
+ /** Tool 组件(可选) */
40
+ toolComponent?: ToolComponent;
41
+ /** Log Trace 组件(可选) */
42
+ logTraceComponent?: LogTraceComponent;
43
+ /** Environment(包含 AgentComponent 等) */
44
+ env?: Environment;
45
+ /** Skill registry(可选) */
46
+ skillRegistry?: {
47
+ getSkill(name: string): any;
48
+ hasSkill(name: string): boolean;
49
+ };
50
+ /** Agent runner(可选,用于 agent 节点) */
51
+ agentRunner?: AgentRunner;
52
+ }
53
+ export declare class WorkflowComponent extends BaseComponent {
54
+ readonly name = "workflow";
55
+ readonly version = "1.0.0";
56
+ workflowService: WorkflowService | null;
57
+ sessionComponent: any;
58
+ private nodeRegistry;
59
+ private decoratorsRegistered;
60
+ /**
61
+ * 获取 WorkflowService 实例
62
+ */
63
+ getService(): WorkflowService | null;
64
+ private toolComponent?;
65
+ private logTraceComponent?;
66
+ private _workflowEnv?;
67
+ private skillRegistry?;
68
+ private agentRunner?;
69
+ /**
70
+ * 初始化 WorkflowComponent
71
+ */
72
+ init(options: any): Promise<void>;
73
+ /**
74
+ * 注册 decorator 节点类型
75
+ */
76
+ private registerDecorators;
77
+ /**
78
+ * Note: After session-based refactoring, runRepository is no longer needed.
79
+ * Workflow runs are managed via SessionComponent.
80
+ */
81
+ createService(options: {
82
+ workflowRepository: any;
83
+ toolComponent?: ToolComponent;
84
+ env?: Environment;
85
+ skillRegistry?: {
86
+ getSkill(name: string): any;
87
+ hasSkill(name: string): boolean;
88
+ };
89
+ sessionComponent?: any;
90
+ tagRepository?: any;
91
+ }): WorkflowService;
92
+ /**
93
+ * 运行工作流定义
94
+ */
95
+ runWorkflow(definition: WorkflowDefinition, input?: Record<string, any>, options?: RunOptions): Promise<RunResult>;
96
+ /**
97
+ * 停止组件并清理资源
98
+ *
99
+ * 遵循 Component 接口契约,通过 onStop 钩子实现
100
+ */
101
+ protected onStop(): Promise<void>;
102
+ /**
103
+ * 启动组件 - 初始化持久化的 SQLite WorkflowService
104
+ */
105
+ start(): Promise<void>;
106
+ /**
107
+ * 注册 ask_user 工具到 ToolComponent
108
+ *
109
+ * 这样 Workflow 中的 AgentNode 执行时,Agent 能够找到并调用 ask_user 工具。
110
+ * ask_user 工具会抛出 AskUserError,触发 workflow pause。
111
+ */
112
+ private registerAskUserTool;
113
+ /**
114
+ * 注册 workflow tools 到 ToolComponent
115
+ *
116
+ * 注册 5 个 workflow 工具:workflow_get, workflow_list, workflow_run,
117
+ * workflow_run_status, workflow_run_stop。
118
+ *
119
+ * 注意:这些工具不自动加入 defaultTools,只通过 ToolComponent 的注册表可见。
120
+ * 只有通过 allowedTools 明确引用的 agent(如 workflow-runner)才能使用。
121
+ */
122
+ private registerWorkflowTools;
123
+ /**
124
+ * 初始化 SQLite 持久化的 WorkflowService
125
+ *
126
+ * Note: After session-based refactoring, runRepository is no longer needed.
127
+ * Workflow runs are managed via SessionComponent.
128
+ */
129
+ private initSqliteService;
130
+ /**
131
+ * 创建内存中的 WorkflowService(用于快速运行或降级)
132
+ */
133
+ private createInMemoryService;
134
+ /**
135
+ * 停止组件
136
+ */
137
+ stop(): Promise<void>;
138
+ }
@@ -0,0 +1,59 @@
1
+ /**
2
+ * @roy-agent/core - Core SDK
3
+ */
4
+ export { generateId, generateDescendingId } from "./utils/id";
5
+ export { ATTACH_FILE_MAX_BYTES, sniffMimeType, isMediaType, parseImageInput, } from "./utils/media";
6
+ export { type Environment, BaseEnvironment, } from "./env";
7
+ export type { EnvironmentConfig, BaseEnvironmentConfig, EnvEvent, EnvEventMetadata, EnvEventHandler, Action, Context, } from "./env";
8
+ export { type Component, type ComponentConfig, type ComponentSchema, type ComponentPaths, type ComponentStatus, type ComponentConfigChangeEvent, type ComponentWatchCallback, BaseComponent, } from "./env/component";
9
+ export { globalHookManager, type HookPhase, type HookMeta, type BaseHookContext, // 通用 HookContext
10
+ type BaseHook, // 通用 Hook
11
+ type BaseHookFn, // 通用 HookFn
12
+ type HookManagerOptions, type HookAction, type HookResult, type HookActionType, createHook, createPriorityHook, HookManager, } from "./env/hook";
13
+ export { type XDGPaths, type XDGDirType, XDG_PATHS, getXDGPaths, getXDGPath, } from "./env/paths";
14
+ export { type ConfigSource, type ConfigSourceType, type ConfigChangeEvent, type ComponentRegistration, ConfigComponent, } from "./config/config-component";
15
+ export { LLMComponent, type LLMComponentOptions, type ContentPart, type LLMMessage, type LLMOutput, type UsageInfo, type ToolCall, type LLMConfig, type LLMProvider, type ProviderConfig, type ProviderType, type LLMInvokeRequest, type LLMInvokeResult, type StreamEvent, invoke, invokeNonStream, parseModelString, createInvokeConfig, type InvokeConfig, type InvokeOptions, type LLMToolContext, type ConvertedUsageInfo, LLMConfigSchema, ProviderConfigSchema, ProviderCapabilitiesSchema, ModelLimitsSchema, LLMDefaultConfigSchema, isOpencodeProvider, isOpencodeEndpoint, buildOpencodeHeaders, } from "./env/llm";
16
+ export { ToolComponent, type ToolComponentConfig, type Tool, type ToolInfo, type ToolResult, type ToolResultMetadata, type ToolMetadata, type SandboxConfig, type ValidationResult, ToolRegistry, ToolValidator, getAllBuiltInTools, getBuiltInTool, bashTool, globTool, readFileTool, writeFileTool, editFileTool, grepTool, understandImageTool, setUnderstandImageLLMProvider, getUnderstandImageLLMProvider, resetUnderstandImageLLMProvider, type UnderstandImageLLMProvider, } from "./env/tool";
17
+ export type { ToolContext } from "./env/tool/types";
18
+ export type { ToolHookContext } from "./env/tool/tool-component";
19
+ export { AgentComponent, type AgentComponentConfig, type AgentContext, AgentComponentConfigSchema, type Plugin, type HookPoint, type HookContext, } from "./env/agent";
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, } from "./env/log-trace";
22
+ export { DebugComponent, TraceFormatter, TreeFormatter, ReplFormatter, type TraceDataSource, type TraceParserOptions, } from "./env/debug";
23
+ export type { TraceEntry, TraceTreeNode, ParserOptions, LogDiscoveryOptions, TraceIdInfo, TraceSummary, TraceAction, LogLevel as DebugLogLevel, FormatOptions, } from "./env/debug";
24
+ export { PromptComponent, type PromptComponentOptions, } from "./env/prompt/prompt-component";
25
+ export { PromptStore } from "./env/prompt/prompt-store";
26
+ export { closeDatabase } from "./env/workflow/storage/sqlite";
27
+ export type { PromptConfig, PromptPath, PromptEntry, PromptSource, PromptHook, RenderHookContext, PromptHookMap, } from "./env/prompt/types";
28
+ export { SessionComponent, MemorySessionStore, } from "./env/session";
29
+ export type { Session, SessionMessage, SessionConfig, CreateSessionOptions, UpdateSessionOptions, ListSessionsOptions, AddMessageOptions, SessionCheckpoint, CompactOptions, CompactResult, CompactPreview, GetContextOptions, GetContextResult, CheckpointType, SearchMessagesOptions, MessageMatch, SearchResult, } from "./env/session/types";
30
+ export { cascadeStopSessionTree, type CascadeStopOptions, type CascadeStopResult, } from "./env/session-tree-stopper";
31
+ export { createMemoryAgentTools, } from "./env/memory/tools/memory-agent-tools";
32
+ export type { SearchSessionsParams, GetSessionParams, WriteMemoryParams, } from "./env/memory/tools/memory-agent-tools";
33
+ export { getBuiltInPrompt, getBuiltInPromptNames, } from "./env/prompt/prompts-index";
34
+ export { TaskComponent, SQLiteTaskStore, getDefaultTaskDbPath, } from "./env/task";
35
+ export type { Task, TaskOperation, TaskStatus, TaskPriority, ActionType, CreateTaskOptions, UpdateTaskOptions, ListTasksOptions, CreateOperationOptions, ListOperationsOptions, TaskConfig, } from "./env/task/types";
36
+ export { TaskTagPlugin, createAutoTaskPlugin, type AutoTaskPluginConfig, } from "./env/task/plugins";
37
+ export { TaskHookPoints, type TaskHookPoint, } from "./env/task/hooks";
38
+ export { SkillComponent, } from "./env/skill";
39
+ export type { SkillEntry, SkillListItem, SkillConfig, SkillPath, SkillSource, SkillToolParams, } from "./env/skill/types";
40
+ export { McpComponent, } from "./env/mcp";
41
+ export type { McpComponentConfig, McpComponentOptions, McpPath, McpServerConfig, McpServerLocalConfig, McpServerRemoteConfig, McpServerStatus, DiscoveredMcpServer, } from "./env/mcp";
42
+ export { MemoryComponent, } from "./env/memory";
43
+ export type { MemoryConfig, MemoryPath, MemorySource, RecordMemoryParams, RecallMemoryParams, RecordMemoryMode, RecordMemoryResult, } from "./env/memory/types";
44
+ export type { MemoryComponentOptions } from "./env/memory";
45
+ export { MemoryPlugin, createMemoryPlugin, } from "./env/memory/plugin";
46
+ export type { MemoryPluginConfig, } from "./env/memory/plugin/types";
47
+ export { CommandsComponent, } from "./env/commands";
48
+ export type { CommandsComponentConfig, CommandIndex, ScanResult, ExecutionResult, DiscoverOptions, AddCommandOptions, RemoveCommandOptions, CommandSource, CommandsComponentOptions, } from "./env/commands";
49
+ export * from "./env/event-source";
50
+ export { ErrorCodes, RoyError, AgentError, ToolError, LLMError, ComponentError, ContextError, isRoyError, getErrorCode, } from "./env/errors";
51
+ export type { ErrorCode } from "./env/errors";
52
+ export { WorkflowComponent, type WorkflowComponentConfig, } from "./env/workflow/workflow-component";
53
+ export { AskUserError, type NodeInterruptEvent, type WorkflowAskUserEvent, } from "./env/workflow/types/workflow-hil";
54
+ export { Workflow, WorkflowEdges, NodeAs, Edge, } from "./env/workflow/decorators";
55
+ export type { WorkflowOptions, NodeAsOptions, EdgeMetadata, } from "./env/workflow/types/decorators-types";
56
+ export { createWorkflowFromClass, } from "./env/workflow/utils/create-workflow";
57
+ export { registerDecoratorNodeType, } from "./env/workflow/utils/node-registry-helper";
58
+ export { PluginComponent, type PluginComponentOptions, } from "./env/plugin/plugin-component";
59
+ export { BasePlugin, type PluginEnv, type HookDefinition, type HookHandler, type AgentInstanceConfig, type ToolDefinition, type HookResult as PluginHookResult, type HookContext as PluginHookContext, } from "./env/plugin/types";
package/dist/index.js CHANGED
@@ -47,7 +47,7 @@ import {
47
47
  } from "./shared/@ai-setting/roy-agent-core-j5c3chtn.js";
48
48
  import {
49
49
  DebugComponent
50
- } from "./shared/@ai-setting/roy-agent-core-0cfaqnz9.js";
50
+ } from "./shared/@ai-setting/roy-agent-core-k25gv86p.js";
51
51
  import {
52
52
  ReplFormatter,
53
53
  TraceFormatter,
@@ -66,7 +66,7 @@ import {
66
66
  BaseEnvironment,
67
67
  generateDescendingId,
68
68
  generateId
69
- } from "./shared/@ai-setting/roy-agent-core-9faekt5n.js";
69
+ } from "./shared/@ai-setting/roy-agent-core-4sx6sdb2.js";
70
70
  import {
71
71
  TaskComponent
72
72
  } from "./shared/@ai-setting/roy-agent-core-39xejr39.js";
@@ -92,7 +92,7 @@ import {
92
92
  larkCliHandler,
93
93
  resolveBountyIMSystemPrompt,
94
94
  timerHandler
95
- } from "./shared/@ai-setting/roy-agent-core-wwytg8rv.js";
95
+ } from "./shared/@ai-setting/roy-agent-core-ph5qbqcx.js";
96
96
  import {
97
97
  BUILT_IN_EVENT_SOURCE_TYPES,
98
98
  BUILT_IN_EVENT_SOURCE_TYPE_LIST,
@@ -109,7 +109,7 @@ import {
109
109
  import {
110
110
  TaskTagPlugin,
111
111
  createAutoTaskPlugin
112
- } from "./shared/@ai-setting/roy-agent-core-kyasfzeh.js";
112
+ } from "./shared/@ai-setting/roy-agent-core-hch2geta.js";
113
113
  import {
114
114
  EventStoreImpl,
115
115
  getSharedEventStore,
@@ -123,11 +123,11 @@ import {
123
123
  getBuiltInPrompt,
124
124
  getBuiltInPromptNames
125
125
  } from "./shared/@ai-setting/roy-agent-core-gdsqp6j8.js";
126
- import"./shared/@ai-setting/roy-agent-core-wxsgay02.js";
127
- import"./shared/@ai-setting/roy-agent-core-zd077w51.js";
126
+ import"./shared/@ai-setting/roy-agent-core-brwzs8wf.js";
127
+ import"./shared/@ai-setting/roy-agent-core-j8e92gj8.js";
128
128
  import {
129
129
  WorkflowComponent
130
- } from "./shared/@ai-setting/roy-agent-core-s214vmmd.js";
130
+ } from "./shared/@ai-setting/roy-agent-core-4vpk40ss.js";
131
131
  import {
132
132
  init_node_registry_helper,
133
133
  registerDecoratorNodeType
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createAutoTaskPlugin
3
- } from "./roy-agent-core-kyasfzeh.js";
3
+ } from "./roy-agent-core-hch2geta.js";
4
4
  import {
5
5
  ContextError,
6
6
  ErrorCodes
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  LarkCardPatchNotifier,
3
3
  formatDurationMs
4
- } from "./roy-agent-core-zd077w51.js";
4
+ } from "./roy-agent-core-j8e92gj8.js";
5
5
  import {
6
6
  WorkflowHookPoints,
7
7
  init_workflow_hook_points
@@ -10,7 +10,7 @@ import {
10
10
  import {
11
11
  LarkCardPatchNotifier,
12
12
  humanizeValue
13
- } from "./roy-agent-core-zd077w51.js";
13
+ } from "./roy-agent-core-j8e92gj8.js";
14
14
  import {
15
15
  validateWorkflowDefinition
16
16
  } from "./roy-agent-core-na73mym1.js";
@@ -393,6 +393,17 @@ function extractPerTaskChatId(contextStr) {
393
393
  return;
394
394
  }
395
395
  }
396
+ function extractPerTaskChatName(contextStr) {
397
+ if (!contextStr)
398
+ return;
399
+ try {
400
+ const obj = JSON.parse(contextStr);
401
+ const v = obj?.["larkPerTaskChatName"];
402
+ return typeof v === "string" && v.length > 0 ? v : undefined;
403
+ } catch {
404
+ return;
405
+ }
406
+ }
396
407
  function extractPerTaskChatProfile(contextStr) {
397
408
  if (!contextStr)
398
409
  return;
@@ -507,7 +518,8 @@ function decideCardChatTarget(input) {
507
518
  lineageChat,
508
519
  triggerChatId,
509
520
  triggerProfile,
510
- triggerOwnership
521
+ triggerOwnership,
522
+ allowNewGroup
511
523
  } = input;
512
524
  const foreign = !!triggerChatId && !!triggerOwnership?.dedicated && triggerOwnership.ownerTaskIds.length > 0 && !triggerOwnership.ownerTaskIds.some((id) => lineageIds.includes(id));
513
525
  if (triggerChatId && !foreign) {
@@ -538,16 +550,25 @@ function decideCardChatTarget(input) {
538
550
  reason: "既没有触发群也没有 lineage 群(无法决定投递目标)"
539
551
  };
540
552
  }
553
+ if (allowNewGroup === true) {
554
+ return {
555
+ chatId: undefined,
556
+ source: "new-group",
557
+ profile: triggerProfile,
558
+ reroutedFrom: foreign ? {
559
+ chatId: triggerChatId,
560
+ ownerTaskIds: triggerOwnership.ownerTaskIds,
561
+ sources: triggerOwnership.sources
562
+ } : undefined,
563
+ reason: foreign ? `触发群 ${triggerChatId} 是 task ${triggerOwnership.ownerTaskIds.join(",")} 的专属群,且本 task 无群 → 需要新建(allowNewGroup=true)` : "无触发群且本 task 无群 → 需要新建(allowNewGroup=true)"
564
+ };
565
+ }
541
566
  return {
542
- chatId: undefined,
543
- source: "new-group",
567
+ chatId: triggerChatId,
544
568
  profile: triggerProfile,
545
- reroutedFrom: foreign ? {
546
- chatId: triggerChatId,
547
- ownerTaskIds: triggerOwnership.ownerTaskIds,
548
- sources: triggerOwnership.sources
549
- } : undefined,
550
- reason: foreign ? `触发群 ${triggerChatId} 是 task ${triggerOwnership.ownerTaskIds.join(",")} 的专属群,且本 task 无群 → 需要新建` : "无触发群且本 task 无群 → 需要新建"
569
+ source: "fallback-to-trigger",
570
+ reroutedFrom: undefined,
571
+ reason: foreign ? `触发群 ${triggerChatId} 是 task ${triggerOwnership.ownerTaskIds.join(",")} 的专属群,但默认不建群 → 退回触发群 ${triggerChatId}` : `默认不建群 → 退回触发群 ${triggerChatId}`
551
572
  };
552
573
  }
553
574
 
@@ -777,7 +798,8 @@ class LarkCliTaskNotifyHook {
777
798
  lineageChat,
778
799
  triggerChatId,
779
800
  triggerProfile,
780
- triggerOwnership
801
+ triggerOwnership,
802
+ allowNewGroup: this.config.allowNewGroup === true
781
803
  });
782
804
  if (decision.source === "new-group") {
783
805
  if (this.cardRoutingPorts?.ensureTaskGroupChat) {
@@ -987,6 +1009,8 @@ class LarkCliTaskNotifyHook {
987
1009
  return;
988
1010
  }
989
1011
  buildTaskMeta(task) {
1012
+ const recordedNames = extractRecordedChatNames(task.context);
1013
+ const matchedName = recordedNames.find((n) => new RegExp(`(?:Task\\s*#?\\s*|#)(?<![\\d])(?<!\\d)${task.id}(?!\\d)(?![\\d])`, "i").test(n));
990
1014
  return {
991
1015
  id: task.id,
992
1016
  title: task.title,
@@ -997,7 +1021,9 @@ class LarkCliTaskNotifyHook {
997
1021
  type: task.type,
998
1022
  projectPath: task.project_path,
999
1023
  context: task.context,
1000
- currentStatus: task.current_status
1024
+ currentStatus: task.current_status,
1025
+ perTaskChatId: extractPerTaskChatId(task.context),
1026
+ perTaskChatName: matchedName
1001
1027
  };
1002
1028
  }
1003
1029
  deriveTimelineFromOperation(operation) {
@@ -1119,6 +1145,7 @@ class PerTaskGroupChatPlugin {
1119
1145
  sendWelcomeMessage: config.sendWelcomeMessage ?? true,
1120
1146
  resolveToTriggerChatFallback: config.resolveToTriggerChatFallback ?? false,
1121
1147
  cardInitialMessage: config.cardInitialMessage !== false,
1148
+ autoCreateGroup: config.autoCreateGroup === true,
1122
1149
  cardNotifier: config.cardNotifier ?? new LarkCardPatchNotifier
1123
1150
  };
1124
1151
  this.cardNotifier = this.config.cardNotifier;
@@ -1263,7 +1290,11 @@ class PerTaskGroupChatPlugin {
1263
1290
  console.error(`[DEBUG per-task-group-chat.onAfterCreate] env.messageId=${env.messageId}`);
1264
1291
  console.error(`[DEBUG per-task-group-chat.onAfterCreate] env.sourceId=${env.sourceId}`);
1265
1292
  }
1266
- logger4.debug(`onAfterCreate[${this.pluginName}]: enter task=${task.id} "${task.title}" ` + `parent_task_id=${task.parent_task_id ?? "none"} ` + `requireReplyChannel=${this.config.requireReplyChannel} ` + `disableSubTaskSkip=${this.config.disableSubTaskSkip} ` + `sendWelcomeMessage=${this.config.sendWelcomeMessage}`);
1293
+ logger4.debug(`onAfterCreate[${this.pluginName}]: enter task=${task.id} "${task.title}" ` + `parent_task_id=${task.parent_task_id ?? "none"} ` + `requireReplyChannel=${this.config.requireReplyChannel} ` + `disableSubTaskSkip=${this.config.disableSubTaskSkip} ` + `sendWelcomeMessage=${this.config.sendWelcomeMessage} ` + `autoCreateGroup=${this.config.autoCreateGroup}`);
1294
+ if (!this.config.autoCreateGroup) {
1295
+ logger4.debug(`onAfterCreate[${this.pluginName}]: task #${task.id} autoCreateGroup=false ` + `→ skip group chat creation(按需建群:用户在卡片顶部按钮触发)`);
1296
+ return;
1297
+ }
1267
1298
  const replyChannel = this.getReplyChannelFromCtx(ctx);
1268
1299
  if (!replyChannel?.chatId && this.config.requireReplyChannel) {
1269
1300
  logger4.debug(`onAfterCreate[${this.pluginName}]: no replyChannel.chatId for task #${task.id}, skip. ` + `修复:eventsource 收到 im.message.receive_v1 事件时 replyChannel 应有值;` + `或在 plugin config 设 requireReplyChannel=false 强制创建群聊(profile 降级到 fallbackProfile/无)`);
@@ -1714,4 +1745,4 @@ __legacyDecorateClassTS([
1714
1745
  function createPerTaskGroupChatPlugin(config = {}) {
1715
1746
  return new PerTaskGroupChatPlugin(config);
1716
1747
  }
1717
- export { createAutoTaskPlugin, WORKFLOW_EXTRACTOR_PROMPT, formatExtractorInput, formatExtractorInputFromDescription, parseExtractorOutput, TaskTagPlugin, mergeChatOwnership, NotifyType, LarkCliTaskNotifyHook, createLarkCliTaskNotifyHook, PerTaskGroupChatPlugin, createPerTaskGroupChatPlugin };
1748
+ export { createAutoTaskPlugin, WORKFLOW_EXTRACTOR_PROMPT, formatExtractorInput, formatExtractorInputFromDescription, parseExtractorOutput, TaskTagPlugin, extractPerTaskChatId, extractPerTaskChatName, mergeChatOwnership, NotifyType, LarkCliTaskNotifyHook, createLarkCliTaskNotifyHook, PerTaskGroupChatPlugin, createPerTaskGroupChatPlugin };
@@ -229,6 +229,29 @@ function buildTaskCard(opts) {
229
229
  const updateCount = opts.updateCount ?? 0;
230
230
  const spinner = opts.spinner ?? "";
231
231
  const elements = [];
232
+ const hasGroup = !!(opts.meta.perTaskChatId && opts.meta.perTaskChatId.length > 0);
233
+ const taskIdForButton = opts.meta.id !== undefined ? String(opts.meta.id) : "";
234
+ elements.push({
235
+ tag: "button",
236
+ text: {
237
+ tag: "plain_text",
238
+ content: hasGroup ? "解散该群" : "为这个任务建群"
239
+ },
240
+ type: hasGroup ? "danger" : "primary",
241
+ value: {
242
+ action: hasGroup ? "disband_group" : "create_group",
243
+ taskId: taskIdForButton
244
+ }
245
+ });
246
+ if (hasGroup) {
247
+ const link = buildChatAppLink(opts.meta.perTaskChatId);
248
+ const label = opts.meta.perTaskChatName ? `\uD83D\uDCE8 进入专属群:${sanitizeInlineText(opts.meta.perTaskChatName, 60)}` : "\uD83D\uDCE8 进入专属群";
249
+ elements.push({
250
+ tag: "markdown",
251
+ content: `[${label}](${link})`
252
+ });
253
+ elements.push({ tag: "hr" });
254
+ }
232
255
  const infoLines = renderTaskInfoLines(opts.meta);
233
256
  if (infoLines.length > 0) {
234
257
  elements.push({ tag: "markdown", content: infoLines.join(`
@@ -595,6 +618,25 @@ class LarkCardPatchNotifier {
595
618
  this.states.delete(opts.messageId);
596
619
  this.mutexes.delete(opts.messageId);
597
620
  }
621
+ updateMetaAndBuildCard(messageId, meta, opts = {}) {
622
+ const state = this.states.get(messageId);
623
+ if (!state)
624
+ return;
625
+ state.meta = mergeTaskMeta(state.meta, meta);
626
+ if (opts.clearPerTaskChat) {
627
+ delete state.meta.perTaskChatId;
628
+ delete state.meta.perTaskChatName;
629
+ }
630
+ return buildTaskCard({
631
+ status: "running",
632
+ meta: state.meta,
633
+ milestones: state.milestones,
634
+ processSteps: state.processSteps,
635
+ progress: state.progress,
636
+ updateCount: state.updateCount,
637
+ spinner: SPINNER_EMOJIS[state.spinnerIndex] ?? SPINNER_EMOJIS[0]
638
+ });
639
+ }
598
640
  trackedCardCount() {
599
641
  return this.states.size;
600
642
  }
@@ -1034,4 +1076,4 @@ function sanitize(text) {
1034
1076
  return `${trimmed.slice(0, 500)}…`;
1035
1077
  }
1036
1078
 
1037
- export { humanizeValue, formatDurationMs, LarkCardPatchNotifier };
1079
+ export { humanizeValue, buildTaskCard, formatDurationMs, LarkCardPatchNotifier };