@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,420 @@
1
+ /**
2
+ * @fileoverview EnvContext - 线程级事件上下文
3
+ * 用于在异步调用链中传递所有相关上下文信息
4
+ *
5
+ * 解决的问题:
6
+ * - EventSource 发出的 EnvEvent 信息需要传递到各 Hook 点
7
+ * - 避免层层传递导致的接口污染
8
+ *
9
+ * 使用方式:
10
+ * - 在 AgentComponent.run() 开始时设置 EnvContext
11
+ * - 任何地方通过 getEnvContext() 获取
12
+ * - Hook/Plugin 中使用 getEnvContextOrEmpty()
13
+ */
14
+ import { AsyncLocalStorage } from "async_hooks";
15
+ import { type EventEnvelope } from "./env-event";
16
+ export { type EventEnvelope, type EventSource, EVENT_ENV_PREFIX, serializeEventToEnv, restoreEventFromEnv, isLarkEvent, isGithubEvent, isJiraEvent, getLarkMessageId, getLarkChatId, getLarkUserId, } from "./env-event";
17
+ /**
18
+ * ReplyChannel - 回复通道接口
19
+ *
20
+ * 基于 lark-cli 接口设计:
21
+ * - messages-send: 需要 userId/chatId + content + as
22
+ * - messages-reply: 需要 messageId + content + as
23
+ *
24
+ * 使用示例:
25
+ * ```typescript
26
+ * // 发送消息到用户
27
+ * await replyChannel.sendText("Hello!");
28
+ * await replyChannel.sendMarkdown("**Bold** text");
29
+ *
30
+ * // 回复原消息
31
+ * await replyChannel.reply({ text: "Reply content" });
32
+ * ```
33
+ */
34
+ export interface ReplyChannel {
35
+ /** 渠道类型,如 "lark" */
36
+ type: string;
37
+ /** 消息 ID(用于回复,om_xxx 格式) */
38
+ messageId?: string;
39
+ /** 用户 ID(用于发送,ou_xxx 格式) */
40
+ userId?: string;
41
+ /** 聊天 ID(用于发送,oc_xxx 格式) */
42
+ chatId?: string;
43
+ /**
44
+ * 飞书应用 ID(cli_xxx 格式,多 appId 场景用)
45
+ *
46
+ * ★ 用于在新建群聊时通过 --bots <appId> 把 bot 自动拉入群聊。
47
+ * 例如 PerTaskGroupChatPlugin 创建 task 群聊时会读这个字段来决定邀请哪个 bot 加入群。
48
+ *
49
+ * 数据来源:lark-cli event header.app_id 或 eventsource config.appId。
50
+ */
51
+ appId?: string;
52
+ /** 身份类型:bot | user */
53
+ identity?: "bot" | "user";
54
+ /**
55
+ * lark-cli profile(多 appId 场景用,#1637)
56
+ *
57
+ * 飞书 openId 是 per-app 隔离的,不同 event-source 对应不同 appId,
58
+ * 回复时必须用对应 app 的 lark-cli profile 才能成功。
59
+ * 错误使用 profile 会导致 `open_id cross app` 错误(99992361)。
60
+ *
61
+ * 不设置时使用 lark-cli 的 active profile(默认行为)。
62
+ */
63
+ profile?: string;
64
+ /**
65
+ * 发送文本消息
66
+ * 调用 lark-cli: im +messages-send --user-id/--chat-id --text
67
+ */
68
+ sendText(text: string): Promise<void>;
69
+ /**
70
+ * 发送 Markdown 消息
71
+ * 调用 lark-cli: im +messages-send --user-id/--chat-id --markdown
72
+ */
73
+ sendMarkdown(markdown: string): Promise<void>;
74
+ /**
75
+ * 发送富文本消息(JSON content)
76
+ * 调用 lark-cli: im +messages-send --content
77
+ */
78
+ sendMessage(message: unknown): Promise<void>;
79
+ /**
80
+ * 回复指定消息(使用 messageId)
81
+ * 调用 lark-cli: im +messages-reply --message-id
82
+ */
83
+ reply(message: unknown): Promise<void>;
84
+ }
85
+ /**
86
+ * EnvContext - 事件上下文
87
+ *
88
+ * 包含请求处理的所有相关信息,可在任意层级获取
89
+ *
90
+ * 设计原则:
91
+ * 1. rawEvent 存储完整的 EnvEvent,Plugin 按需从其中提取字段
92
+ * 2. replyChannel 由 EnvEvent 中的 replyChannel 构建
93
+ * 3. sourceId、userId 等可作为快捷访问字段(从 EnvEvent 提取)
94
+ */
95
+ /**
96
+ * LarkEventContext - DEPRECATED: 飞书事件 payload 容器 (Task #2326 → Task #2331)
97
+ *
98
+ * @deprecated Task #2331 重构:env context 已通用化为 EventEnvelope。
99
+ * 请使用 EventEnvelope 替代,通过 source='lark' + payload 包含 lark 字段。
100
+ * lark-cli plugin 内部用 getLarkMessageId()/getLarkChatId()/getLarkUserId() 提取字段。
101
+ *
102
+ * 保留这个 type alias 用于:
103
+ * 1. 文档/迁移说明引用
104
+ * 2. 第三方代码可能 import 这个类型
105
+ *
106
+ * 新代码请使用 EventEnvelope (来自 './env-event')。
107
+ */
108
+ export interface LarkEventContext {
109
+ /** 飞书消息 ID(om_xxx 格式) */
110
+ messageId: string;
111
+ /** 飞书聊天 ID(oc_xxx 格式) */
112
+ chatId?: string;
113
+ /** 用户 open_id(ou_xxx 格式) */
114
+ userId?: string;
115
+ /** 聊天类型:p2p | group | channel */
116
+ chatType?: "p2p" | "group" | "channel" | string;
117
+ /** 事件接收时间戳(毫秒) */
118
+ receivedAt?: number;
119
+ /** lark-cli profile 名(多 appId 场景) */
120
+ profile?: string;
121
+ /** 飞书 app ID(multi-appId 场景) */
122
+ appId?: string;
123
+ }
124
+ export interface EnvContext {
125
+ /**
126
+ * 完整的 EnvEvent,包含所有事件信息
127
+ *
128
+ * 【优先级策略】effective 优先,parent 兜底
129
+ * 在 AgentComponent 构建 EnvContext 时:
130
+ * - 优先使用 effectiveContext.envEvent(当前层级显式传入的 envEvent)
131
+ * - 如果 effectiveContext 未设置,则回退到 parentEnvContext.envEvent(继承父级 ALS 上下文)
132
+ *
133
+ * 参考实现:agent-component.ts 中 EnvContext 构建逻辑
134
+ * ```
135
+ * envEvent: effectiveContext.envEvent ?? parentEnvContext?.envEvent,
136
+ * ```
137
+ */
138
+ envEvent: unknown;
139
+ /** 事件源 ID(EventSource 配置的 ID) */
140
+ sourceId: string;
141
+ /** 事件源类型(EventSource 类型,如 lark-cli、bounty-im、timer 等) */
142
+ sourceType?: string;
143
+ /** 用户 ID(从 EnvEvent 提取) */
144
+ userId: string;
145
+ /**
146
+ * 飞书 messageId(om_xxx 格式,从 im.message.receive_v1 事件提取)
147
+ *
148
+ * 设计目的:
149
+ * - 子 Agent(delegate_task 派生的 sub-agent)能拿到原 user query 的 messageId,
150
+ * 让所有 sub-agent 的飞书回复都通过 +messages-reply 关联回原 query。
151
+ * - 与 replyChannel.messageId 保持一致(冗余设计,简化访问)。
152
+ *
153
+ * 优先级(agent-component.ts 中构建子 EnvContext 时):
154
+ * - parentEnvContext.messageId 优先(继承父级 ALS 上下文)
155
+ * - effectiveContext.metadata?.messageId 兜底
156
+ *
157
+ * ⚠️ 历史背景:之前只有 replyChannel.messageId,没有顶层 messageId,
158
+ * 导致 delegate_task 派生的 sub-agent 读取 effectiveContext.metadata?.messageId
159
+ * 拿不到原 messageId(sub-session metadata 不包含)。
160
+ */
161
+ messageId?: string;
162
+ /** Trace ID(用于完整会话链路追踪) */
163
+ traceId?: string;
164
+ /** Request ID(每个请求唯一) */
165
+ requestId?: string;
166
+ /**
167
+ * 回复通道(由 EnvEvent 构建)
168
+ *
169
+ * 【优先级策略】parent 优先,effective 兜底
170
+ * 在 AgentComponent 构建 EnvContext 时:
171
+ * - 优先继承父级 ALS 上下文的 replyChannel(确保子 Agent 能通过父级通道回复)
172
+ * - 仅在父级没有 replyChannel 时,尝试从 effectiveContext.envEvent.metadata 提取
173
+ *
174
+ * 与 envEvent 的优先级策略不同:
175
+ * - envEvent: effective 优先(当前层级的 envEvent 覆盖父级)
176
+ * - replyChannel: parent 优先(继承父级的回复通道,避免子 Agent 构建新通道丢失上下文)
177
+ *
178
+ * 参考实现:agent-component.ts 中 EnvContext 构建逻辑
179
+ * ```
180
+ * replyChannel: parentEnvContext?.replyChannel ?? (effectiveContext.envEvent as any)?.metadata?.replyChannel,
181
+ * ```
182
+ */
183
+ replyChannel?: ReplyChannel;
184
+ /** 插件启用状态 { "sourceId:pluginName": true } */
185
+ pluginEnabled?: Record<string, boolean>;
186
+ /** 启用的插件列表 */
187
+ plugins?: string[];
188
+ /**
189
+ * 群聊绑定的父任务 ID
190
+ *
191
+ * 当 EventSource 收到的飞书消息来自 per-task 群聊时,handleEvent 会从
192
+ * SessionComponent 查 chat_id → task_id 绑定并注入到这里。
193
+ *
194
+ * 用途:
195
+ * - task_create tool 在用户没显式传 parent_task_id 时,自动用这个值
196
+ * 作为新任务的父任务,让群消息触发的子任务挂到群绑定的任务下(避免根任务爆炸)
197
+ * - delegate_task 派生 sub-agent 时透传给子 EnvContext
198
+ *
199
+ * 注意:
200
+ * - undefined 表示无绑定(普通消息 / CLI 触发)
201
+ * - 用户在 tool 调用里显式传 parent_task_id 优先于该字段
202
+ */
203
+ parentTaskId?: number;
204
+ /** 时间戳 */
205
+ timestamp?: number;
206
+ /**
207
+ * 通用 event envelope (Task #2331 重构)
208
+ *
209
+ * 设计目的:
210
+ * - 把 lark 专属字段通用化,支持任意 event source (lark/github/jira/calendar/email)
211
+ * - EnvContext 不再绑定 lark 字段, 避免未来加新 source 时污染环境
212
+ * - lark-cli plugin 内部通过 getLarkMessageId()/getLarkChatId()/getLarkUserId() 做类型转换
213
+ *
214
+ * 字段说明:
215
+ * - source: event 来源 ('lark' | 'github' | 'jira' | 'calendar' | 'email' | 'unknown')
216
+ * - id: source 内 ID (lark message_id om_xxx, github issue number 等)
217
+ * - receivedAt: ISO 8601 timestamp
218
+ * - payload: 原始 payload (保持原样)
219
+ * - metadata: 业务级扩展字段 (任意 source 可自定义)
220
+ *
221
+ * 与顶层 messageId 的关系:
222
+ * - messageId 是顶层快速访问字段(从 event.id 推导, lark source 时有效)
223
+ * - event 是完整 event envelope (任何 source 都有)
224
+ * - 两者并存: event 提供 "事件是什么", messageId 提供 "lark 便捷访问"
225
+ *
226
+ * 通过 spread 父 EnvContext 自动传播, delegate_task sub-agent 也能拿到原 event 上下文。
227
+ */
228
+ event?: EventEnvelope;
229
+ /**
230
+ * 共享可变状态——父子 Agent 持有同一引用
231
+ *
232
+ * 子 Agent 通过 spread 展开父 context 时,agentContext 是引用共享而非值拷贝。
233
+ * 因此子 Agent 对 agentContext 内部字段的修改(如 currentTaskId),
234
+ * 父 Agent 立即可见。
235
+ *
236
+ * 设计目的:
237
+ * - 子 Agent 创建 Task 后,父 Agent 能感知到 currentTaskId
238
+ * - workflow 的多个 agent node 之间共享 currentTaskId
239
+ * - 替代旧的 _parentEnvContext 引用机制和 hasParentContextCycle 检测
240
+ *
241
+ * @example
242
+ * ```typescript
243
+ * // 父 context 持有 agentContext 引用
244
+ * const parentCtx = { ..., agentContext: {} };
245
+ * // 子 context spread 父级,agentContext 是同一个引用
246
+ * const childCtx = { ...parentCtx };
247
+ * // 子写
248
+ * childCtx.agentContext.currentTaskId = 42;
249
+ * // 父读——立即可见!
250
+ * parentCtx.agentContext.currentTaskId === 42 // true
251
+ * ```
252
+ */
253
+ agentContext?: {
254
+ /** 当前正在处理的 Task ID(由 task_create 设置,task_complete 清除) */
255
+ currentTaskId?: number;
256
+ };
257
+ }
258
+ declare const envContextStorage: AsyncLocalStorage<EnvContext>;
259
+ export { envContextStorage };
260
+ /**
261
+ * 获取当前 EnvContext
262
+ *
263
+ * @returns 当前线程的 EnvContext,如果不存在则返回 undefined
264
+ */
265
+ export declare function getEnvContext(): EnvContext | undefined;
266
+ /**
267
+ * 获取当前 EnvContext,如果不存在则返回空对象(安全访问)
268
+ *
269
+ * @returns 当前线程的 EnvContext,从不返回 undefined
270
+ */
271
+ export declare function getEnvContextOrEmpty(): Partial<EnvContext>;
272
+ /**
273
+ * 检查是否存在 EnvContext
274
+ */
275
+ export declare function hasEnvContext(): boolean;
276
+ /**
277
+ * 获取当前正在处理的 Task ID
278
+ *
279
+ * 由 task_create 工具设置,task_complete 工具清除。
280
+ * 在 LLM 调用时,additionInfo 会包含此信息,提醒 LLM 当前任务上下文。
281
+ *
282
+ * 通过 agentContext 共享引用读取,父子 Agent 看到同一值。
283
+ *
284
+ * @returns 当前 Task ID,如果不存在则返回 undefined
285
+ */
286
+ export declare function getCurrentTaskId(): number | undefined;
287
+ /**
288
+ * 在指定 EnvContext 中执行函数
289
+ *
290
+ * @param context 要设置的 EnvContext
291
+ * @param fn 要执行的函数
292
+ * @returns 函数返回值
293
+ */
294
+ export declare function runWithEnvContext<T>(context: EnvContext | undefined, fn: () => T): T;
295
+ /**
296
+ * 在指定 EnvContext 中执行异步函数
297
+ *
298
+ * @param context 要设置的 EnvContext
299
+ * @param fn 要执行的异步函数
300
+ * @returns Promise resolving to 函数返回值
301
+ */
302
+ export declare function runWithEnvContextAsync<T>(context: EnvContext | undefined, fn: () => Promise<T>): Promise<T>;
303
+ /**
304
+ * EnvContext 创建参数
305
+ */
306
+ export interface CreateEnvContextOptions {
307
+ /** 完整的 EnvEvent(必填) */
308
+ envEvent: unknown;
309
+ /** 事件源 ID(必填) */
310
+ sourceId: string;
311
+ /** 用户 ID(必填) */
312
+ userId: string;
313
+ /**
314
+ * 飞书 messageId(可选,Task #2326)
315
+ *
316
+ * 从 lark `im.message.receive_v1` 事件提取的 messageId(om_xxx 格式)。
317
+ * 透传到 EnvContext 后,子 Agent 通过 `getEnvContext()?.messageId` 拿到,
318
+ * 让飞书回复优先用 `+messages-reply --message-id` 关联回原 user query。
319
+ *
320
+ * 传值时同时存入 EnvContext.messageId 和 replyChannel.messageId(如果 replyChannel 已有 messageId 则不覆盖)。
321
+ */
322
+ messageId?: string;
323
+ /**
324
+ * 通用 event envelope (Task #2331 重构)
325
+ *
326
+ * 推荐用此字段替代单独的 messageId —— 保留完整 event 上下文,
327
+ * 子 Agent 可按需访问任何 source-specific 字段。
328
+ *
329
+ * 如果传了 event, 同时会从 event.id 提取 messageId (顶层字段 + replyChannel.messageId).
330
+ * 如果 event.source === 'lark' 且 payload 是 lark message, messageId 等于 om_xxx 格式.
331
+ */
332
+ event?: EventEnvelope;
333
+ /** Trace ID(可选,自动生成) */
334
+ traceId?: string;
335
+ /** Request ID(可选,自动生成) */
336
+ requestId?: string;
337
+ /** 回复通道(可选,从 envEvent 构建) */
338
+ replyChannel?: ReplyChannel;
339
+ /** 插件启用状态(可选,从 envEvent.metadata 构建) */
340
+ pluginEnabled?: Record<string, boolean>;
341
+ /** 启用的插件列表(可选) */
342
+ plugins?: string[];
343
+ /** 时间戳(可选,自动生成) */
344
+ timestamp?: number;
345
+ /**
346
+ * 父任务 ID(可选,Task #4023)
347
+ *
348
+ * 由 EventSource 在 handleEvent 阶段从 chat_id → task_id 绑定注入。
349
+ * task_create tool 在用户没显式传 parent_task_id 时优先使用此值。
350
+ */
351
+ parentTaskId?: number;
352
+ }
353
+ /**
354
+ * 规范化 chat↔task 绑定注入的父任务 ID(Task #4023)。
355
+ *
356
+ * 只接受正整数:task id 从 1 开始,0 / 负数 / 非整数 / 字符串 / null /
357
+ * undefined 一律视为"无绑定"(返回 undefined)。event-source-handlers 与
358
+ * agent-component 共用同一套校验,避免两侧判定不一致导致注入断链。
359
+ */
360
+ export declare function normalizeParentTaskId(value: unknown): number | undefined;
361
+ /**
362
+ * 解析本次 Agent run 生效的父任务 ID(Task #4023)。
363
+ *
364
+ * 优先级(高 → 低):
365
+ * 1. 本次事件 `envEvent.metadata.parentTaskId`(event-source-handlers 从
366
+ * chat↔task 绑定注入,是"本次消息属于哪个群任务"的权威来源)
367
+ * 2. 上游 ALS EnvContext 的 `parentTaskId`(delegate_task 派生的 sub-agent
368
+ * 继承父级绑定)
369
+ *
370
+ * 提取出来作为纯函数,便于单测覆盖"envEvent → EnvContext.parentTaskId"这一
371
+ * 曾断链的映射(此前该映射不存在,导致 task_create 永远拿不到绑定父任务)。
372
+ */
373
+ export declare const resolveEnvParentTaskId: (envEvent: unknown, parentEnvContext?: Partial<EnvContext> | undefined) => number | undefined;
374
+ /**
375
+ * 创建 EnvContext(便捷函数)
376
+ *
377
+ * @param options 创建参数
378
+ * @returns 完整的 EnvContext,自动生成 traceId、requestId 和 timestamp
379
+ */
380
+ export declare function createEnvContext(options: CreateEnvContextOptions): EnvContext;
381
+ /**
382
+ * 合并 EnvContext 到当前上下文
383
+ *
384
+ * 🛡️ agentContext 保护:如果传入 partial.agentContext 且当前上下文已有
385
+ * agentContext,不会替换引用,而是合并属性到现有对象中。
386
+ * 这是为了确保父子 Agent 间的 agentContext 引用共享不被意外破坏。
387
+ *
388
+ * @param partial 要合并的部分 EnvContext
389
+ *
390
+ * @example
391
+ * ```typescript
392
+ * // ✅ 正确:通过 setCurrentTaskId 修改 currentTaskId
393
+ * setCurrentTaskId(42);
394
+ *
395
+ * // ✅ 安全:mergeEnvContext 处理其他非 agentContext 字段
396
+ * mergeEnvContext({ sessionId: "xxx" });
397
+ *
398
+ * // ⚠️ 不会破坏:agentContext 不会被替换,而是合并
399
+ * mergeEnvContext({ agentContext: { currentTaskId: 99 } });
400
+ * // 实际等价于:current.agentContext.currentTaskId = 99
401
+ * ```
402
+ */
403
+ export declare function mergeEnvContext(partial: Partial<EnvContext>): void;
404
+ /**
405
+ * 设置当前正在处理的 Task ID(便捷函数,带 @TracedAs 追踪)
406
+ *
407
+ * 通过 wrapFunction 包装,自动创建 OTel Span,
408
+ * 可在 debug trace / debug span 中查看 currentTaskId 的设置路径
409
+ *
410
+ * 写入 agentContext 共享引用,父子 Agent 立即可见。
411
+ */
412
+ export declare const setCurrentTaskId: (taskId: number | undefined) => void;
413
+ /**
414
+ * 从 EnvContext 提取 EventEnvelope (Task #2331)
415
+ *
416
+ * 优先级: event > replyChannel.messageId (兼容 lark source, 因为 replyChannel 仅含 messageId)
417
+ *
418
+ * 如果当前 EnvContext 没有 event 上下文, 返回 undefined.
419
+ */
420
+ export declare function getEventFromEnvContext(ctx: Partial<EnvContext> | undefined): EventEnvelope | undefined;
@@ -0,0 +1,144 @@
1
+ /**
2
+ * @fileoverview EventEnvelope - 通用 event source envelope (Task #2331)
3
+ *
4
+ * 设计目的:
5
+ * - 把 env context 的 lark-specific 字段通用化,支持任意 event source
6
+ * - 让 EnvContext 不再绑定 lark 专属字段,将来加 github/jira/calendar/email 不污染
7
+ * - lark-cli plugin 自己在内部做类型转换 (extractLarkFields helper)
8
+ *
9
+ * 与 Task #2326 LarkEventContext 的关系:
10
+ * - LarkEventContext 是 lark 专属字段(messageId/chatId/userId/chatType/...)
11
+ * - EventEnvelope 是通用 envelope,source 标识 event 来源,payload 是原始 payload
12
+ * - Lark 事件通过 source='lark' + payload 是 lark message payload 来表达
13
+ *
14
+ * 与 replyChannel 的关系:
15
+ * - replyChannel 是 runtime 通道抽象(sendText/sendMarkdown/reply 等方法)
16
+ * - event 是 event metadata(用于 prompt 渲染、event 关联、subprocess env 序列化等)
17
+ * - 两者并存:replyChannel 提供 "怎么回复",event 提供 "事件是什么"
18
+ *
19
+ * 使用示例:
20
+ * ```typescript
21
+ * // event-source-handlers.ts 注入 lark event
22
+ * setEnvContext({
23
+ * event: {
24
+ * source: 'lark',
25
+ * id: messageId,
26
+ * receivedAt: new Date().toISOString(),
27
+ * payload: rawLarkEvent,
28
+ * metadata: { chatType: 'p2p', profile: 'myapp' },
29
+ * },
30
+ * });
31
+ *
32
+ * // lark-cli plugin 内部提取 lark 字段
33
+ * const { messageId, chatId, userId } = extractLarkFields(env);
34
+ * ```
35
+ */
36
+ /**
37
+ * EventSource - 事件来源标识
38
+ *
39
+ * 设计原则:
40
+ * - 字符串字面量而非 enum,方便第三方 plugin 扩展自定义 source
41
+ * - 已知的 source 列举在这里供 IDE 自动补全,未知 source 用 "unknown"
42
+ * - 未来加 github/jira/calendar/email 时扩展这个 union
43
+ */
44
+ export type EventSource = "lark" | "github" | "jira" | "calendar" | "email" | "unknown";
45
+ /**
46
+ * EventEnvelope - 通用 event 容器
47
+ *
48
+ * 字段说明:
49
+ * - source: event 来源类型(如 'lark'、'github'、'unknown')
50
+ * - id: source 内的 event 唯一标识(lark 用 message_id om_xxx,github 用 issue number 等)
51
+ * - receivedAt: event 接收时间(ISO 8601 字符串,便于跨进程序列化)
52
+ * - payload: 原始 payload(保持原样,不做类型转换)
53
+ * - metadata: 业务级扩展字段(任意 source 可自定义的额外信息)
54
+ *
55
+ * 不在 envelope 中的字段:
56
+ * - userId/chatId 等 source-specific 字段:放在 payload 或 metadata 里
57
+ * - replyChannel: 由 EventSource 单独构建,不混入 envelope
58
+ */
59
+ export interface EventEnvelope {
60
+ /** Event 来源标识 */
61
+ source: EventSource;
62
+ /** Source 内的 event 唯一 ID(lark message_id、github issue number 等) */
63
+ id: string;
64
+ /** Event 接收时间,ISO 8601 格式 */
65
+ receivedAt: string;
66
+ /** 原始 payload(不解析,保持原样) */
67
+ payload?: unknown;
68
+ /** 业务级扩展字段 */
69
+ metadata?: Record<string, unknown>;
70
+ }
71
+ /**
72
+ * 判断 envelope 是否来自 lark
73
+ */
74
+ export declare function isLarkEvent(event: EventEnvelope | undefined): event is EventEnvelope;
75
+ /**
76
+ * 判断 envelope 是否来自 github
77
+ */
78
+ export declare function isGithubEvent(event: EventEnvelope | undefined): event is EventEnvelope;
79
+ /**
80
+ * 判断 envelope 是否来自 jira
81
+ */
82
+ export declare function isJiraEvent(event: EventEnvelope | undefined): event is EventEnvelope;
83
+ /**
84
+ * 从 lark envelope 提取 messageId (om_xxx 格式)
85
+ *
86
+ * 优先级:
87
+ * 1. event.id(推荐,所有 event source 都用 id 字段存 source-specific ID)
88
+ * 2. event.payload.message_id(兼容老 payload 嵌套结构)
89
+ *
90
+ * 返回 undefined 如果 envelope 不是 lark 来源。
91
+ */
92
+ export declare function getLarkMessageId(event: EventEnvelope | undefined): string | undefined;
93
+ /**
94
+ * 从 lark envelope 提取 chatId (oc_xxx 格式)
95
+ *
96
+ * 返回 undefined 如果 envelope 不是 lark 来源。
97
+ */
98
+ export declare function getLarkChatId(event: EventEnvelope | undefined): string | undefined;
99
+ /**
100
+ * 从 lark envelope 提取 userId (ou_xxx 格式)
101
+ *
102
+ * 飞书 sender_id.open_id 嵌套在 payload.event.sender.sender_id 中。
103
+ *
104
+ * 返回 undefined 如果 envelope 不是 lark 来源。
105
+ */
106
+ export declare function getLarkUserId(event: EventEnvelope | undefined): string | undefined;
107
+ /**
108
+ * ROY_EVENT_* 环境变量前缀。
109
+ *
110
+ * 当前架构用 ALS (AsyncLocalStorage) 透传, delegate_task 不真正 spawn subprocess.
111
+ * 但保留这些 env 变量约定, 未来若需要 subprocess 隔离可直接使用, 无需改协议.
112
+ *
113
+ * 字段映射:
114
+ * - source → ROY_EVENT_SOURCE
115
+ * - id → ROY_EVENT_ID
116
+ * - receivedAt → ROY_EVENT_RECEIVED_AT
117
+ * - payload → ROY_EVENT_PAYLOAD (JSON 序列化)
118
+ * - metadata → ROY_EVENT_METADATA (JSON 序列化)
119
+ */
120
+ export declare const EVENT_ENV_PREFIX = "ROY_EVENT_";
121
+ /**
122
+ * 序列化 EventEnvelope 为环境变量字典
123
+ *
124
+ * 使用方式 (假设有 subprocess spawn):
125
+ * ```ts
126
+ * const env = { ...process.env, ...serializeEventToEnv(event) };
127
+ * spawn(command, { env });
128
+ * ```
129
+ *
130
+ * 返回空对象当 envelope 缺失。
131
+ */
132
+ export declare function serializeEventToEnv(event: EventEnvelope | undefined): Record<string, string>;
133
+ /**
134
+ * 从 process.env 恢复 EventEnvelope
135
+ *
136
+ * 使用方式 (subprocess 入口):
137
+ * ```ts
138
+ * const event = restoreEventFromEnv(process.env);
139
+ * if (event) setEnvContext({ event });
140
+ * ```
141
+ *
142
+ * 返回 undefined 当环境变量中没有 ROY_EVENT_SOURCE (表示不是 event-driven 触发)。
143
+ */
144
+ export declare function restoreEventFromEnv(env?: NodeJS.ProcessEnv): EventEnvelope | undefined;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @fileoverview EnvContext 模块导出
3
+ *
4
+ * Task #2331: env context 通用化为 EventEnvelope, 替代 lark-specific LarkEventContext.
5
+ *
6
+ * 保留 LarkEventContext type alias 用于:
7
+ * 1. 文档/迁移说明引用
8
+ * 2. 第三方代码可能 import 这个类型
9
+ *
10
+ * 新代码请使用 EventEnvelope (来自 './env-event')。
11
+ */
12
+ export { type EnvContext, type ReplyChannel, type LarkEventContext, type CreateEnvContextOptions, getEnvContext, getEnvContextOrEmpty, hasEnvContext, runWithEnvContext, runWithEnvContextAsync, createEnvContext, mergeEnvContext, normalizeParentTaskId, resolveEnvParentTaskId, getCurrentTaskId, setCurrentTaskId, envContextStorage, getEventFromEnvContext, type EventEnvelope, type EventSource, EVENT_ENV_PREFIX, serializeEventToEnv, restoreEventFromEnv, } from "./env-context";
13
+ export { isLarkEvent, isGithubEvent, isJiraEvent, getLarkMessageId, getLarkChatId, getLarkUserId, } from "./env-event";