@roarpeng/graphflow 1.7.0 → 1.7.5

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 (332) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/README.md +13 -10
  3. package/dist/agents/insight.d.ts +13 -2
  4. package/dist/agents/insight.d.ts.map +1 -1
  5. package/dist/agents/insight.js +56 -26
  6. package/dist/agents/insight.js.map +1 -1
  7. package/dist/agents/task-profile.d.ts +19 -0
  8. package/dist/agents/task-profile.d.ts.map +1 -0
  9. package/dist/agents/task-profile.js +64 -0
  10. package/dist/agents/task-profile.js.map +1 -0
  11. package/dist/agents/validator.js +1 -1
  12. package/dist/agents/validator.js.map +1 -1
  13. package/dist/config/defaults.d.ts.map +1 -1
  14. package/dist/config/defaults.js +3 -1
  15. package/dist/config/defaults.js.map +1 -1
  16. package/dist/config/discover-workspace.d.ts.map +1 -1
  17. package/dist/config/discover-workspace.js +10 -2
  18. package/dist/config/discover-workspace.js.map +1 -1
  19. package/dist/config/embedding-factory.d.ts.map +1 -1
  20. package/dist/config/embedding-factory.js +88 -9
  21. package/dist/config/embedding-factory.js.map +1 -1
  22. package/dist/config/loader.d.ts.map +1 -1
  23. package/dist/config/loader.js +9 -2
  24. package/dist/config/loader.js.map +1 -1
  25. package/dist/config/provider-env.d.ts +32 -0
  26. package/dist/config/provider-env.d.ts.map +1 -0
  27. package/dist/config/provider-env.js +51 -0
  28. package/dist/config/provider-env.js.map +1 -0
  29. package/dist/config/resolve.d.ts.map +1 -1
  30. package/dist/config/resolve.js +7 -2
  31. package/dist/config/resolve.js.map +1 -1
  32. package/dist/config/schema.d.ts +17 -2
  33. package/dist/config/schema.d.ts.map +1 -1
  34. package/dist/config/workspace-root.d.ts +0 -12
  35. package/dist/config/workspace-root.d.ts.map +1 -1
  36. package/dist/config/workspace-root.js +21 -5
  37. package/dist/config/workspace-root.js.map +1 -1
  38. package/dist/core/agent-delegation.d.ts +5 -0
  39. package/dist/core/agent-delegation.d.ts.map +1 -1
  40. package/dist/core/agent-delegation.js +131 -57
  41. package/dist/core/agent-delegation.js.map +1 -1
  42. package/dist/core/cancellation.d.ts +57 -0
  43. package/dist/core/cancellation.d.ts.map +1 -0
  44. package/dist/core/cancellation.js +195 -0
  45. package/dist/core/cancellation.js.map +1 -0
  46. package/dist/core/dag-engine.d.ts +6 -1
  47. package/dist/core/dag-engine.d.ts.map +1 -1
  48. package/dist/core/dag-engine.js +67 -9
  49. package/dist/core/dag-engine.js.map +1 -1
  50. package/dist/core/orchestrator-context.d.ts.map +1 -1
  51. package/dist/core/orchestrator-context.js +3 -0
  52. package/dist/core/orchestrator-context.js.map +1 -1
  53. package/dist/core/orchestrator-route.d.ts +1 -1
  54. package/dist/core/orchestrator-route.d.ts.map +1 -1
  55. package/dist/core/orchestrator-route.js.map +1 -1
  56. package/dist/core/orchestrator.d.ts.map +1 -1
  57. package/dist/core/orchestrator.js +61 -42
  58. package/dist/core/orchestrator.js.map +1 -1
  59. package/dist/core/runtime-controller.d.ts +19 -0
  60. package/dist/core/runtime-controller.d.ts.map +1 -0
  61. package/dist/core/runtime-controller.js +89 -0
  62. package/dist/core/runtime-controller.js.map +1 -0
  63. package/dist/core/types.d.ts +5 -0
  64. package/dist/core/types.d.ts.map +1 -1
  65. package/dist/graph/context-cache.d.ts +23 -0
  66. package/dist/graph/context-cache.d.ts.map +1 -0
  67. package/dist/graph/context-cache.js +92 -0
  68. package/dist/graph/context-cache.js.map +1 -0
  69. package/dist/graph/context-slicer-types.d.ts +2 -0
  70. package/dist/graph/context-slicer-types.d.ts.map +1 -1
  71. package/dist/graph/context-slicer-types.js.map +1 -1
  72. package/dist/graph/context-slicer.d.ts +1 -0
  73. package/dist/graph/context-slicer.d.ts.map +1 -1
  74. package/dist/graph/context-slicer.js +54 -8
  75. package/dist/graph/context-slicer.js.map +1 -1
  76. package/dist/graph/file-indexer.d.ts +4 -1
  77. package/dist/graph/file-indexer.d.ts.map +1 -1
  78. package/dist/graph/file-indexer.js +16 -5
  79. package/dist/graph/file-indexer.js.map +1 -1
  80. package/dist/graph/file-watcher.d.ts.map +1 -1
  81. package/dist/graph/file-watcher.js +9 -2
  82. package/dist/graph/file-watcher.js.map +1 -1
  83. package/dist/graph/graph-utils.d.ts +6 -1
  84. package/dist/graph/graph-utils.d.ts.map +1 -1
  85. package/dist/graph/graph-utils.js +116 -2
  86. package/dist/graph/graph-utils.js.map +1 -1
  87. package/dist/graph/graphify-file-client.d.ts.map +1 -1
  88. package/dist/graph/graphify-file-client.js +2 -1
  89. package/dist/graph/graphify-file-client.js.map +1 -1
  90. package/dist/graph/hit-diversify.d.ts +31 -0
  91. package/dist/graph/hit-diversify.d.ts.map +1 -0
  92. package/dist/graph/hit-diversify.js +270 -0
  93. package/dist/graph/hit-diversify.js.map +1 -0
  94. package/dist/graph/language-indexers/go.d.ts.map +1 -1
  95. package/dist/graph/language-indexers/go.js +2 -3
  96. package/dist/graph/language-indexers/go.js.map +1 -1
  97. package/dist/graph/language-indexers/incremental-parse.d.ts +9 -0
  98. package/dist/graph/language-indexers/incremental-parse.d.ts.map +1 -0
  99. package/dist/graph/language-indexers/incremental-parse.js +114 -0
  100. package/dist/graph/language-indexers/incremental-parse.js.map +1 -0
  101. package/dist/graph/language-indexers/python.d.ts.map +1 -1
  102. package/dist/graph/language-indexers/python.js +2 -3
  103. package/dist/graph/language-indexers/python.js.map +1 -1
  104. package/dist/graph/language-indexers/rust.d.ts.map +1 -1
  105. package/dist/graph/language-indexers/rust.js +2 -3
  106. package/dist/graph/language-indexers/rust.js.map +1 -1
  107. package/dist/graph/language-indexers/tree-sitter-loader.d.ts +19 -3
  108. package/dist/graph/language-indexers/tree-sitter-loader.d.ts.map +1 -1
  109. package/dist/graph/language-indexers/tree-sitter-loader.js +24 -4
  110. package/dist/graph/language-indexers/tree-sitter-loader.js.map +1 -1
  111. package/dist/graph/query-expand.d.ts.map +1 -1
  112. package/dist/graph/query-expand.js +2 -0
  113. package/dist/graph/query-expand.js.map +1 -1
  114. package/dist/index.d.ts +1 -1
  115. package/dist/index.d.ts.map +1 -1
  116. package/dist/index.js +2 -1
  117. package/dist/index.js.map +1 -1
  118. package/dist/integrations/agent-mcp-installer.d.ts +39 -0
  119. package/dist/integrations/agent-mcp-installer.d.ts.map +1 -1
  120. package/dist/integrations/agent-mcp-installer.js +242 -31
  121. package/dist/integrations/agent-mcp-installer.js.map +1 -1
  122. package/dist/integrations/agent-profiles/index.d.ts +26 -0
  123. package/dist/integrations/agent-profiles/index.d.ts.map +1 -0
  124. package/dist/integrations/agent-profiles/index.js +31 -0
  125. package/dist/integrations/agent-profiles/index.js.map +1 -0
  126. package/dist/integrations/agent-profiles/profiles/amazon-q.d.ts +2 -0
  127. package/dist/integrations/agent-profiles/profiles/amazon-q.d.ts.map +1 -0
  128. package/dist/integrations/agent-profiles/profiles/amazon-q.js +18 -0
  129. package/dist/integrations/agent-profiles/profiles/amazon-q.js.map +1 -0
  130. package/dist/integrations/agent-profiles/profiles/antigravity.d.ts +2 -0
  131. package/dist/integrations/agent-profiles/profiles/antigravity.d.ts.map +1 -0
  132. package/dist/integrations/agent-profiles/profiles/antigravity.js +33 -0
  133. package/dist/integrations/agent-profiles/profiles/antigravity.js.map +1 -0
  134. package/dist/integrations/agent-profiles/profiles/claude-code.d.ts +2 -0
  135. package/dist/integrations/agent-profiles/profiles/claude-code.d.ts.map +1 -0
  136. package/dist/integrations/agent-profiles/profiles/claude-code.js +22 -0
  137. package/dist/integrations/agent-profiles/profiles/claude-code.js.map +1 -0
  138. package/dist/integrations/agent-profiles/profiles/cline.d.ts +2 -0
  139. package/dist/integrations/agent-profiles/profiles/cline.d.ts.map +1 -0
  140. package/dist/integrations/agent-profiles/profiles/cline.js +33 -0
  141. package/dist/integrations/agent-profiles/profiles/cline.js.map +1 -0
  142. package/dist/integrations/agent-profiles/profiles/codex.d.ts +2 -0
  143. package/dist/integrations/agent-profiles/profiles/codex.d.ts.map +1 -0
  144. package/dist/integrations/agent-profiles/profiles/codex.js +22 -0
  145. package/dist/integrations/agent-profiles/profiles/codex.js.map +1 -0
  146. package/dist/integrations/agent-profiles/profiles/continue.d.ts +2 -0
  147. package/dist/integrations/agent-profiles/profiles/continue.d.ts.map +1 -0
  148. package/dist/integrations/agent-profiles/profiles/continue.js +23 -0
  149. package/dist/integrations/agent-profiles/profiles/continue.js.map +1 -0
  150. package/dist/integrations/agent-profiles/profiles/cursor.d.ts +2 -0
  151. package/dist/integrations/agent-profiles/profiles/cursor.d.ts.map +1 -0
  152. package/dist/integrations/agent-profiles/profiles/cursor.js +28 -0
  153. package/dist/integrations/agent-profiles/profiles/cursor.js.map +1 -0
  154. package/dist/integrations/agent-profiles/profiles/gemini.d.ts +2 -0
  155. package/dist/integrations/agent-profiles/profiles/gemini.d.ts.map +1 -0
  156. package/dist/integrations/agent-profiles/profiles/gemini.js +30 -0
  157. package/dist/integrations/agent-profiles/profiles/gemini.js.map +1 -0
  158. package/dist/integrations/agent-profiles/profiles/kilocode.d.ts +2 -0
  159. package/dist/integrations/agent-profiles/profiles/kilocode.d.ts.map +1 -0
  160. package/dist/integrations/agent-profiles/profiles/kilocode.js +33 -0
  161. package/dist/integrations/agent-profiles/profiles/kilocode.js.map +1 -0
  162. package/dist/integrations/agent-profiles/profiles/pearai.d.ts +2 -0
  163. package/dist/integrations/agent-profiles/profiles/pearai.d.ts.map +1 -0
  164. package/dist/integrations/agent-profiles/profiles/pearai.js +23 -0
  165. package/dist/integrations/agent-profiles/profiles/pearai.js.map +1 -0
  166. package/dist/integrations/agent-profiles/profiles/qoder.d.ts +2 -0
  167. package/dist/integrations/agent-profiles/profiles/qoder.d.ts.map +1 -0
  168. package/dist/integrations/agent-profiles/profiles/qoder.js +32 -0
  169. package/dist/integrations/agent-profiles/profiles/qoder.js.map +1 -0
  170. package/dist/integrations/agent-profiles/profiles/roo-code.d.ts +2 -0
  171. package/dist/integrations/agent-profiles/profiles/roo-code.d.ts.map +1 -0
  172. package/dist/integrations/agent-profiles/profiles/roo-code.js +33 -0
  173. package/dist/integrations/agent-profiles/profiles/roo-code.js.map +1 -0
  174. package/dist/integrations/agent-profiles/profiles/trae.d.ts +2 -0
  175. package/dist/integrations/agent-profiles/profiles/trae.d.ts.map +1 -0
  176. package/dist/integrations/agent-profiles/profiles/trae.js +42 -0
  177. package/dist/integrations/agent-profiles/profiles/trae.js.map +1 -0
  178. package/dist/integrations/agent-profiles/profiles/vscode.d.ts +2 -0
  179. package/dist/integrations/agent-profiles/profiles/vscode.d.ts.map +1 -0
  180. package/dist/integrations/agent-profiles/profiles/vscode.js +28 -0
  181. package/dist/integrations/agent-profiles/profiles/vscode.js.map +1 -0
  182. package/dist/integrations/agent-profiles/profiles/windsurf.d.ts +2 -0
  183. package/dist/integrations/agent-profiles/profiles/windsurf.d.ts.map +1 -0
  184. package/dist/integrations/agent-profiles/profiles/windsurf.js +21 -0
  185. package/dist/integrations/agent-profiles/profiles/windsurf.js.map +1 -0
  186. package/dist/integrations/agent-profiles/profiles/zed.d.ts +2 -0
  187. package/dist/integrations/agent-profiles/profiles/zed.d.ts.map +1 -0
  188. package/dist/integrations/agent-profiles/profiles/zed.js +26 -0
  189. package/dist/integrations/agent-profiles/profiles/zed.js.map +1 -0
  190. package/dist/integrations/agent-profiles/registry.d.ts +5 -0
  191. package/dist/integrations/agent-profiles/registry.d.ts.map +1 -0
  192. package/dist/integrations/agent-profiles/registry.js +45 -0
  193. package/dist/integrations/agent-profiles/registry.js.map +1 -0
  194. package/dist/integrations/agent-profiles/skills/antigravity.d.ts +2 -0
  195. package/dist/integrations/agent-profiles/skills/antigravity.d.ts.map +1 -0
  196. package/dist/integrations/agent-profiles/skills/antigravity.js +13 -0
  197. package/dist/integrations/agent-profiles/skills/antigravity.js.map +1 -0
  198. package/dist/integrations/agent-profiles/skills/claude-code.d.ts +2 -0
  199. package/dist/integrations/agent-profiles/skills/claude-code.d.ts.map +1 -0
  200. package/dist/integrations/agent-profiles/skills/claude-code.js +13 -0
  201. package/dist/integrations/agent-profiles/skills/claude-code.js.map +1 -0
  202. package/dist/integrations/agent-profiles/skills/codex.d.ts +2 -0
  203. package/dist/integrations/agent-profiles/skills/codex.d.ts.map +1 -0
  204. package/dist/integrations/agent-profiles/skills/codex.js +18 -0
  205. package/dist/integrations/agent-profiles/skills/codex.js.map +1 -0
  206. package/dist/integrations/agent-profiles/skills/cursor.d.ts +2 -0
  207. package/dist/integrations/agent-profiles/skills/cursor.d.ts.map +1 -0
  208. package/dist/integrations/agent-profiles/skills/cursor.js +13 -0
  209. package/dist/integrations/agent-profiles/skills/cursor.js.map +1 -0
  210. package/dist/integrations/agent-profiles/skills/kilocode.d.ts +2 -0
  211. package/dist/integrations/agent-profiles/skills/kilocode.d.ts.map +1 -0
  212. package/dist/integrations/agent-profiles/skills/kilocode.js +13 -0
  213. package/dist/integrations/agent-profiles/skills/kilocode.js.map +1 -0
  214. package/dist/integrations/agent-profiles/skills/qoder.d.ts +2 -0
  215. package/dist/integrations/agent-profiles/skills/qoder.d.ts.map +1 -0
  216. package/dist/integrations/agent-profiles/skills/qoder.js +13 -0
  217. package/dist/integrations/agent-profiles/skills/qoder.js.map +1 -0
  218. package/dist/integrations/agent-profiles/skills/roo-code.d.ts +2 -0
  219. package/dist/integrations/agent-profiles/skills/roo-code.d.ts.map +1 -0
  220. package/dist/integrations/agent-profiles/skills/roo-code.js +13 -0
  221. package/dist/integrations/agent-profiles/skills/roo-code.js.map +1 -0
  222. package/dist/integrations/agent-profiles/types.d.ts +31 -0
  223. package/dist/integrations/agent-profiles/types.d.ts.map +1 -0
  224. package/dist/integrations/agent-profiles/types.js +3 -0
  225. package/dist/integrations/agent-profiles/types.js.map +1 -0
  226. package/dist/integrations/agent-profiles/utils.d.ts +12 -0
  227. package/dist/integrations/agent-profiles/utils.d.ts.map +1 -0
  228. package/dist/integrations/agent-profiles/utils.js +75 -0
  229. package/dist/integrations/agent-profiles/utils.js.map +1 -0
  230. package/dist/integrations/errors.d.ts +28 -0
  231. package/dist/integrations/errors.d.ts.map +1 -0
  232. package/dist/integrations/errors.js +97 -0
  233. package/dist/integrations/errors.js.map +1 -0
  234. package/dist/integrations/skill-health.d.ts +24 -0
  235. package/dist/integrations/skill-health.d.ts.map +1 -0
  236. package/dist/integrations/skill-health.js +111 -0
  237. package/dist/integrations/skill-health.js.map +1 -0
  238. package/dist/integrations/skill-installer.d.ts.map +1 -1
  239. package/dist/integrations/skill-installer.js +5 -8
  240. package/dist/integrations/skill-installer.js.map +1 -1
  241. package/dist/learning/embedding-quality.d.ts +46 -0
  242. package/dist/learning/embedding-quality.d.ts.map +1 -0
  243. package/dist/learning/embedding-quality.js +131 -0
  244. package/dist/learning/embedding-quality.js.map +1 -0
  245. package/dist/learning/embeddings.d.ts +45 -1
  246. package/dist/learning/embeddings.d.ts.map +1 -1
  247. package/dist/learning/embeddings.js +180 -5
  248. package/dist/learning/embeddings.js.map +1 -1
  249. package/dist/learning/skill-flywheel.d.ts +1 -1
  250. package/dist/learning/skill-flywheel.d.ts.map +1 -1
  251. package/dist/learning/skill-flywheel.js +10 -3
  252. package/dist/learning/skill-flywheel.js.map +1 -1
  253. package/dist/routing/deepseek-tools.d.ts +7 -0
  254. package/dist/routing/deepseek-tools.d.ts.map +1 -0
  255. package/dist/routing/deepseek-tools.js +154 -0
  256. package/dist/routing/deepseek-tools.js.map +1 -0
  257. package/dist/routing/model-router.d.ts +1 -1
  258. package/dist/routing/model-router.d.ts.map +1 -1
  259. package/dist/routing/model-router.js +5 -1
  260. package/dist/routing/model-router.js.map +1 -1
  261. package/dist/routing/provider-adapters/anthropic.d.ts.map +1 -1
  262. package/dist/routing/provider-adapters/anthropic.js +7 -4
  263. package/dist/routing/provider-adapters/anthropic.js.map +1 -1
  264. package/dist/routing/provider-adapters/bailian.d.ts.map +1 -1
  265. package/dist/routing/provider-adapters/bailian.js +7 -4
  266. package/dist/routing/provider-adapters/bailian.js.map +1 -1
  267. package/dist/routing/provider-adapters/deepseek.d.ts +5 -0
  268. package/dist/routing/provider-adapters/deepseek.d.ts.map +1 -0
  269. package/dist/routing/provider-adapters/deepseek.js +109 -0
  270. package/dist/routing/provider-adapters/deepseek.js.map +1 -0
  271. package/dist/routing/provider-adapters/doubao.d.ts.map +1 -1
  272. package/dist/routing/provider-adapters/doubao.js +7 -4
  273. package/dist/routing/provider-adapters/doubao.js.map +1 -1
  274. package/dist/routing/provider-adapters/openai.d.ts +2 -4
  275. package/dist/routing/provider-adapters/openai.d.ts.map +1 -1
  276. package/dist/routing/provider-adapters/openai.js +23 -32
  277. package/dist/routing/provider-adapters/openai.js.map +1 -1
  278. package/dist/routing/provider-adapters/types.d.ts +61 -0
  279. package/dist/routing/provider-adapters/types.d.ts.map +1 -0
  280. package/dist/routing/provider-adapters/types.js +56 -0
  281. package/dist/routing/provider-adapters/types.js.map +1 -0
  282. package/dist/routing/provider-executor.d.ts +6 -1
  283. package/dist/routing/provider-executor.d.ts.map +1 -1
  284. package/dist/routing/provider-executor.js +70 -39
  285. package/dist/routing/provider-executor.js.map +1 -1
  286. package/dist/routing/provider-health.d.ts.map +1 -1
  287. package/dist/routing/provider-health.js +7 -1
  288. package/dist/routing/provider-health.js.map +1 -1
  289. package/dist/routing/role-capabilities.d.ts +11 -0
  290. package/dist/routing/role-capabilities.d.ts.map +1 -0
  291. package/dist/routing/role-capabilities.js +94 -0
  292. package/dist/routing/role-capabilities.js.map +1 -0
  293. package/dist/surfaces/antigravity-rules/graphflow.md +3 -2
  294. package/dist/surfaces/cli/runtime/env.d.ts.map +1 -1
  295. package/dist/surfaces/cli/runtime/env.js +3 -0
  296. package/dist/surfaces/cli/runtime/env.js.map +1 -1
  297. package/dist/surfaces/cli/runtime/facade.d.ts +2 -1
  298. package/dist/surfaces/cli/runtime/facade.d.ts.map +1 -1
  299. package/dist/surfaces/cli/runtime/facade.js +1 -0
  300. package/dist/surfaces/cli/runtime/facade.js.map +1 -1
  301. package/dist/surfaces/cli/runtime/graph.d.ts.map +1 -1
  302. package/dist/surfaces/cli/runtime/graph.js +18 -2
  303. package/dist/surfaces/cli/runtime/graph.js.map +1 -1
  304. package/dist/surfaces/cli/runtime/routing.d.ts +3 -0
  305. package/dist/surfaces/cli/runtime/routing.d.ts.map +1 -1
  306. package/dist/surfaces/cli/runtime/routing.js +34 -6
  307. package/dist/surfaces/cli/runtime/routing.js.map +1 -1
  308. package/dist/surfaces/cli/runtime/types.d.ts +24 -1
  309. package/dist/surfaces/cli/runtime/types.d.ts.map +1 -1
  310. package/dist/surfaces/cli/runtime.d.ts +1 -1
  311. package/dist/surfaces/cli/runtime.d.ts.map +1 -1
  312. package/dist/surfaces/cli/runtime.js +2 -1
  313. package/dist/surfaces/cli/runtime.js.map +1 -1
  314. package/dist/surfaces/copilot-instructions/graphflow.md +3 -2
  315. package/dist/surfaces/cursor-rules/graphflow.mdc +3 -2
  316. package/dist/surfaces/mcp/server.js +17 -6
  317. package/dist/surfaces/mcp/server.js.map +1 -1
  318. package/dist/surfaces/mcp/tool-definitions.d.ts.map +1 -1
  319. package/dist/surfaces/mcp/tool-definitions.js +1 -1
  320. package/dist/surfaces/mcp/tool-definitions.js.map +1 -1
  321. package/dist/surfaces/mcp/tool-handlers.d.ts.map +1 -1
  322. package/dist/surfaces/mcp/tool-handlers.js +2 -0
  323. package/dist/surfaces/mcp/tool-handlers.js.map +1 -1
  324. package/dist/surfaces/trae-rules/graphflow.md +3 -2
  325. package/dist/surfaces/trae-skill/graphflow/SKILL.md +2 -0
  326. package/package.json +1 -1
  327. package/scripts/safe-postinstall.cjs +1 -0
  328. package/src/surfaces/antigravity-rules/graphflow.md +3 -2
  329. package/src/surfaces/copilot-instructions/graphflow.md +3 -2
  330. package/src/surfaces/cursor-rules/graphflow.mdc +3 -2
  331. package/src/surfaces/trae-rules/graphflow.md +3 -2
  332. package/src/surfaces/trae-skill/graphflow/SKILL.md +2 -0
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-root.js","sourceRoot":"","sources":["../../src/config/workspace-root.ts"],"names":[],"mappings":";;AAsBA,kEAyCC;AAED,4DAeC;AAGD,gFAMC;AAzFD,yCAAoC;AAEpC,6DAM8B;AAE9B;;;;;;;;;;;GAWG;AACH,SAAgB,2BAA2B,CAAC,OAG3C;IACC,IAAI,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;QAC7B,OAAO,IAAA,mBAAO,EAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,EAAE,CAAC;IAC7D,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,IAAA,mBAAO,EAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,OAAO,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE,CAAC;QAC1C,OAAO,IAAA,mBAAO,EAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,UAAU,GAAG,IAAA,0CAAqB,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACxD,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,GAAG,GAAG,IAAA,mBAAO,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACnC,IAAI,IAAA,8CAAyB,EAAC,GAAG,CAAC,EAAE,CAAC;QACnC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI,IAAA,gDAA2B,EAAC,GAAG,CAAC,IAAI,IAAA,8CAAyB,EAAC,GAAG,CAAC,EAAE,CAAC;QACvE,MAAM,MAAM,GAAG,IAAA,+CAA0B,GAAE,CAAC;QAC5C,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,IAAI,IAAA,gDAA2B,EAAC,GAAG,CAAC,EAAE,CAAC;YACrC,OAAO,GAAG,CAAC;QACb,CAAC;QACD,MAAM,IAAI,KAAK,CACb,4CAA4C,GAAG,2DAA2D,CAC3G,CAAC;IACJ,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,wBAAwB,CACtC,MAAuB,EACvB,OAGC;IAED,MAAM,aAAa,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;IAC3D,OAAO;QACL,GAAG,MAAM;QACT,WAAW,EAAE;YACX,GAAG,MAAM,CAAC,WAAW;YACrB,aAAa;SACd;KACF,CAAC;AACJ,CAAC;AAED,wEAAwE;AACxE,SAAgB,kCAAkC,CAAC,MAAuB;IACxE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC;IACvE,OAAO;QACL,GAAG,MAAM;QACT,WAAW,EAAE,WAA6C;KAC3D,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"workspace-root.js","sourceRoot":"","sources":["../../src/config/workspace-root.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { type SixHatsInsight } from "../agents/insight";
2
2
  import type { TaskNode } from "./types";
3
+ export { isCompactAgentInsightTask, isResearchAnalysisTask } from "../agents/task-profile";
3
4
  export interface AgentWorkItem {
4
5
  id: string;
5
6
  kind: "six-hats" | "five-whys" | "plan-refinement" | "query-translate" | "intent" | "requirement" | "first-principles" | "decision-matrix" | "reflection";
@@ -18,6 +19,10 @@ export interface AgentDelegatedPlanInsight {
18
19
  agentInstructions?: string;
19
20
  /** ATP (Advanced Task Protocol) analysis result, when full ATP flow is enabled. */
20
21
  atp?: unknown;
22
+ /** Agent-bridge lifecycle: incomplete until work items are submitted + merged. */
23
+ status?: "awaiting-agent" | "complete";
24
+ complete?: boolean;
25
+ requiresAgentBridge?: boolean;
21
26
  }
22
27
  export declare function buildAgentInsightWorkItems(task: string): AgentWorkItem[];
23
28
  export declare function buildAgentDelegationInstructions(task: string, workItems: AgentWorkItem[]): string;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-delegation.d.ts","sourceRoot":"","sources":["../../src/core/agent-delegation.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,GAAG,WAAW,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,QAAQ,GAAG,aAAa,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,YAAY,CAAC;IAC1J,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,iBAAiB,GAAG,WAAW,CAAC;AAE1E,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IACxB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mFAAmF;IACnF,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAQD,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE,CAsLxE;AAED,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,aAAa,EAAE,GACzB,MAAM,CAoBR;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,QAAQ,EAAE,CAwB/F;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,GAAG,yBAAyB,CAYtF;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAO1E"}
1
+ {"version":3,"file":"agent-delegation.d.ts","sourceRoot":"","sources":["../../src/core/agent-delegation.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAM3B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAE3F,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,GAAG,WAAW,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,QAAQ,GAAG,aAAa,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,YAAY,CAAC;IAC1J,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,iBAAiB,GAAG,WAAW,CAAC;AAE1E,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IACxB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mFAAmF;IACnF,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,kFAAkF;IAClF,MAAM,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAuPD,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE,CAIxE;AAED,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,aAAa,EAAE,GACzB,MAAM,CAiCR;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,QAAQ,EAAE,CAwB/F;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,GAAG,yBAAyB,CAgBtF;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAO1E"}
@@ -1,27 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isResearchAnalysisTask = exports.isCompactAgentInsightTask = void 0;
3
4
  exports.buildAgentInsightWorkItems = buildAgentInsightWorkItems;
4
5
  exports.buildAgentDelegationInstructions = buildAgentDelegationInstructions;
5
6
  exports.buildHeuristicPlanFromInsight = buildHeuristicPlanFromInsight;
6
7
  exports.buildAgentDelegatedPlanInsight = buildAgentDelegatedPlanInsight;
7
8
  exports.summarizeInsightForContext = summarizeInsightForContext;
8
9
  const insight_1 = require("../agents/insight");
10
+ const task_profile_1 = require("../agents/task-profile");
9
11
  const planner_1 = require("../agents/planner");
12
+ var task_profile_2 = require("../agents/task-profile");
13
+ Object.defineProperty(exports, "isCompactAgentInsightTask", { enumerable: true, get: function () { return task_profile_2.isCompactAgentInsightTask; } });
14
+ Object.defineProperty(exports, "isResearchAnalysisTask", { enumerable: true, get: function () { return task_profile_2.isResearchAnalysisTask; } });
10
15
  const HAT_RESPONSE_SCHEMA = {
11
16
  observation: "string — single key observation from this hat",
12
17
  certainty: "number 0.0-1.0",
13
18
  criticalInsight: "string — what this hat contributes",
14
19
  };
15
- function buildAgentInsightWorkItems(task) {
16
- const items = insight_1.SIX_HATS.map((hat, index) => ({
17
- id: `hat-${index + 1}-${hat.color}`,
18
- kind: "six-hats",
19
- hat: hat.name,
20
- prompt: (0, insight_1.buildHatAnalysisPrompt)(task, hat),
21
- expectedFormat: "json",
22
- responseSchema: HAT_RESPONSE_SCHEMA,
23
- }));
24
- items.unshift({
20
+ function buildIntentWorkItem(task) {
21
+ return {
25
22
  id: "intent-analysis",
26
23
  kind: "intent",
27
24
  prompt: [
@@ -45,8 +42,10 @@ function buildAgentInsightWorkItems(task) {
45
42
  nonGoals: "string[]",
46
43
  successDefinition: "string",
47
44
  },
48
- });
49
- items.splice(1, 0, {
45
+ };
46
+ }
47
+ function buildRequirementWorkItem(task) {
48
+ return {
50
49
  id: "requirement-analysis",
51
50
  kind: "requirement",
52
51
  prompt: [
@@ -70,37 +69,49 @@ function buildAgentInsightWorkItems(task) {
70
69
  priority: "string",
71
70
  scope: "object",
72
71
  },
73
- });
74
- insight_1.SIX_HATS.forEach((hat, index) => {
75
- items.push({
76
- id: `why-${index + 1}-${hat.color}`,
77
- kind: "five-whys",
78
- hat: hat.name,
79
- optional: true,
80
- prompt: [
81
- `Task: ${task}`,
82
- "",
83
- `[OPTIONAL — only answer if your ${hat.name} observation had certainty < 0.6]`,
84
- `You are drilling into your ${hat.name} observation with a 5-Why chain.`,
85
- `Focus per step: ${hat.whyFocus}`,
86
- `Final convergence: ${hat.whyRootFocus}`,
87
- "",
88
- "Produce up to 5 Why steps, each a {question, answer}, then the converged rootCause.",
89
- "Return ONLY a JSON object:",
90
- "{",
91
- ' "steps": [{"question": "Why ...?", "answer": "..."}],',
92
- ' "rootCause": "the single root cause this chain converges to"',
93
- "}",
94
- "If the hat's certainty was >= 0.6, skip this item (do not submit).",
95
- ].join("\n"),
96
- expectedFormat: "json",
97
- responseSchema: {
98
- steps: "Array<{question:string, answer:string}>",
99
- rootCause: "string the converged root cause",
100
- },
101
- });
102
- });
103
- items.push({
72
+ };
73
+ }
74
+ function buildHatWorkItem(task, hat, index) {
75
+ return {
76
+ id: `hat-${index + 1}-${hat.color}`,
77
+ kind: "six-hats",
78
+ hat: hat.name,
79
+ prompt: (0, insight_1.buildHatAnalysisPrompt)(task, hat),
80
+ expectedFormat: "json",
81
+ responseSchema: HAT_RESPONSE_SCHEMA,
82
+ };
83
+ }
84
+ function buildFiveWhyWorkItem(task, hat, index) {
85
+ return {
86
+ id: `why-${index + 1}-${hat.color}`,
87
+ kind: "five-whys",
88
+ hat: hat.name,
89
+ optional: true,
90
+ prompt: [
91
+ `Task: ${task}`,
92
+ "",
93
+ `[OPTIONAL only answer if your ${hat.name} observation had certainty < 0.6]`,
94
+ `You are drilling into your ${hat.name} observation with a 5-Why chain.`,
95
+ `Focus per step: ${hat.whyFocus}`,
96
+ `Final convergence: ${hat.whyRootFocus}`,
97
+ "",
98
+ "Produce up to 5 Why steps, each a {question, answer}, then the converged rootCause.",
99
+ "Return ONLY a JSON object:",
100
+ "{",
101
+ ' "steps": [{"question": "Why ...?", "answer": "..."}],',
102
+ ' "rootCause": "the single root cause this chain converges to"',
103
+ "}",
104
+ "If the hat's certainty was >= 0.6, skip this item (do not submit).",
105
+ ].join("\n"),
106
+ expectedFormat: "json",
107
+ responseSchema: {
108
+ steps: "Array<{question:string, answer:string}>",
109
+ rootCause: "string — the converged root cause",
110
+ },
111
+ };
112
+ }
113
+ function buildFirstPrinciplesWorkItem(task) {
114
+ return {
104
115
  id: "first-principles",
105
116
  kind: "first-principles",
106
117
  optional: true,
@@ -124,8 +135,10 @@ function buildAgentInsightWorkItems(task) {
124
135
  deconstructedTo: "string[]",
125
136
  challenges: "string[]",
126
137
  },
127
- });
128
- items.push({
138
+ };
139
+ }
140
+ function buildDecisionMatrixWorkItem(task) {
141
+ return {
129
142
  id: "decision-matrix",
130
143
  kind: "decision-matrix",
131
144
  prompt: [
@@ -145,8 +158,10 @@ function buildAgentInsightWorkItems(task) {
145
158
  recommendedOption: "string",
146
159
  rationale: "string",
147
160
  },
148
- });
149
- items.push({
161
+ };
162
+ }
163
+ function buildPlanRefinementWorkItem(task) {
164
+ return {
150
165
  id: "plan-refinement",
151
166
  kind: "plan-refinement",
152
167
  prompt: [
@@ -161,14 +176,20 @@ function buildAgentInsightWorkItems(task) {
161
176
  responseSchema: {
162
177
  items: { id: "string", description: "string", dependencies: "string[]" },
163
178
  },
164
- });
165
- items.push({
179
+ };
180
+ }
181
+ function buildPlanReflectionWorkItem(task, optional) {
182
+ return {
166
183
  id: "plan-reflection",
167
184
  kind: "reflection",
185
+ ...(optional ? { optional: true } : {}),
168
186
  prompt: [
169
187
  `Task: ${task}`,
170
188
  "",
171
- "Reflect on the quality of the plan you produced.",
189
+ optional
190
+ ? "[OPTIONAL for research/architecture compact mode]"
191
+ : "Reflect on the quality of the plan you produced.",
192
+ optional ? "Optionally reflect on the quality of the plan you produced." : "",
172
193
  "Return ONLY a JSON object:",
173
194
  "{",
174
195
  ' "confidence": 0.0-1.0,',
@@ -176,7 +197,9 @@ function buildAgentInsightWorkItems(task) {
176
197
  ' "missingInformation": ["information that would improve the plan"],',
177
198
  ' "improvementDirections": ["how the plan could be improved"]',
178
199
  "}",
179
- ].join("\n"),
200
+ ]
201
+ .filter(Boolean)
202
+ .join("\n"),
180
203
  expectedFormat: "json",
181
204
  responseSchema: {
182
205
  confidence: "number",
@@ -184,23 +207,70 @@ function buildAgentInsightWorkItems(task) {
184
207
  missingInformation: "string[]",
185
208
  improvementDirections: "string[]",
186
209
  },
210
+ };
211
+ }
212
+ /** Compact set for research/analysis: ~7 required (+ optional reflection). */
213
+ function buildCompactAgentInsightWorkItems(task) {
214
+ const items = [buildIntentWorkItem(task)];
215
+ insight_1.SIX_HATS.forEach((hat, index) => {
216
+ if (!(0, task_profile_1.isResearchKeyHatColor)(hat.color)) {
217
+ return;
218
+ }
219
+ items.push(buildHatWorkItem(task, hat, index));
187
220
  });
221
+ items.push(buildDecisionMatrixWorkItem(task));
222
+ items.push(buildPlanRefinementWorkItem(task));
223
+ // Reflection is optional in compact mode — merge only requires !optional IDs.
224
+ items.push(buildPlanReflectionWorkItem(task, true));
188
225
  return items;
189
226
  }
227
+ /** Full 18-item set for coding/refactor (default). */
228
+ function buildFullAgentInsightWorkItems(task) {
229
+ const items = [buildIntentWorkItem(task), buildRequirementWorkItem(task)];
230
+ insight_1.SIX_HATS.forEach((hat, index) => {
231
+ items.push(buildHatWorkItem(task, hat, index));
232
+ });
233
+ insight_1.SIX_HATS.forEach((hat, index) => {
234
+ items.push(buildFiveWhyWorkItem(task, hat, index));
235
+ });
236
+ items.push(buildFirstPrinciplesWorkItem(task));
237
+ items.push(buildDecisionMatrixWorkItem(task));
238
+ items.push(buildPlanRefinementWorkItem(task));
239
+ items.push(buildPlanReflectionWorkItem(task, false));
240
+ return items;
241
+ }
242
+ function buildAgentInsightWorkItems(task) {
243
+ return (0, task_profile_1.isCompactAgentInsightTask)(task)
244
+ ? buildCompactAgentInsightWorkItems(task)
245
+ : buildFullAgentInsightWorkItems(task);
246
+ }
190
247
  function buildAgentDelegationInstructions(task, workItems) {
248
+ const required = workItems.filter((item) => !item.optional);
249
+ const compact = (0, task_profile_1.isCompactAgentInsightTask)(task);
191
250
  const lines = [
192
- "[AGENT-DELEGATED LLM] No external GraphFlow API key is configured.",
193
- "Use your own model to complete the analysis prompts below, then execute the heuristic plan.",
194
- "Optional: incorporate your answers into implementation; call graphflow_report_outcome when done.",
251
+ "[AGENT-BRIDGE REQUIRED] No GraphFlow LLM API key is configured.",
252
+ "YOU (the connected coding agent) MUST complete the insight analysis with your own model.",
253
+ "The insight/plan fields in this response are PLACEHOLDERS not a finished analysis.",
254
+ "Do NOT treat placeholder insight/plan as final. Do NOT skip submit+merge.",
255
+ "",
256
+ "Protocol (MUST follow in order):",
257
+ '1. Answer each REQUIRED work item prompt with your model (JSON only).',
258
+ '2. MUST submit each via graphflow_insight({ mode: "submit", task, workItemId, response }).',
259
+ '3. After all required items are submitted, MUST call graphflow_insight({ mode: "merge", task }).',
260
+ "4. Use the merged insight + plan as the real result, then implement / report_outcome as needed.",
195
261
  "",
196
262
  `Task: ${task}`,
197
263
  "",
198
- "Complete the work items in order: (1) intent-analysis, (2) requirement-analysis, (3-8) six-hats, (9-14) five-whys [optional], (15) first-principles [optional], (16) decision-matrix, (17) plan-refinement, (18) plan-reflection. Submit each via graphflow_submit_insight.",
264
+ `Mode: ${compact ? "compact (research/architecture analysis)" : "full (coding/refactor)"}`,
265
+ `Required work items (${required.length}): ${required.map((item) => item.id).join(", ")}`,
266
+ compact
267
+ ? "Suggested order: (1) intent-analysis, (2-5) hats white/black/yellow/blue, (6) decision-matrix, (7) plan-refinement, (8) plan-reflection [optional]."
268
+ : "Suggested order: (1) intent-analysis, (2) requirement-analysis, (3-8) six-hats, (9-14) five-whys [optional if hat certainty>=0.6], (15) first-principles [optional], (16) decision-matrix, (17) plan-refinement, (18) plan-reflection.",
199
269
  "",
200
270
  "Work items:",
201
271
  ];
202
272
  for (const item of workItems) {
203
- lines.push(`- ${item.id} (${item.kind}${item.hat ? ` / ${item.hat}` : ""})${item.optional ? " [optional]" : ""}`);
273
+ lines.push(`- ${item.id} (${item.kind}${item.hat ? ` / ${item.hat}` : ""})${item.optional ? " [optional]" : " [REQUIRED]"}`);
204
274
  }
205
275
  return lines.join("\n");
206
276
  }
@@ -228,13 +298,17 @@ function buildHeuristicPlanFromInsight(task, insight) {
228
298
  function buildAgentDelegatedPlanInsight(task) {
229
299
  const insight = (0, insight_1.analyzeWithSixHatsHeuristic)(task);
230
300
  const agentWorkItems = buildAgentInsightWorkItems(task);
231
- const plan = buildHeuristicPlanFromInsight(task, insight);
301
+ // Do not invent a DAG from placeholders — agent must submit plan-refinement then merge.
302
+ const plan = [];
232
303
  return {
233
304
  mode: "agent-delegated",
234
305
  insight,
235
306
  plan,
236
307
  agentWorkItems,
237
308
  agentInstructions: buildAgentDelegationInstructions(task, agentWorkItems),
309
+ status: "awaiting-agent",
310
+ complete: false,
311
+ requiresAgentBridge: true,
238
312
  };
239
313
  }
240
314
  function summarizeInsightForContext(insight) {
@@ -1 +1 @@
1
- {"version":3,"file":"agent-delegation.js","sourceRoot":"","sources":["../../src/core/agent-delegation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-delegation.js","sourceRoot":"","sources":["../../src/core/agent-delegation.ts"],"names":[],"mappings":";;;AA8RA,gEAIC;AAED,4EAoCC;AAED,sEAwBC;AAED,wEAgBC;AAED,gEAOC;AA7XD,+CAK2B;AAC3B,yDAGgC;AAChC,+CAA8C;AAG9C,uDAA2F;AAAlF,yHAAA,yBAAyB,OAAA;AAAE,sHAAA,sBAAsB,OAAA;AA4B1D,MAAM,mBAAmB,GAAG;IAC1B,WAAW,EAAE,+CAA+C;IAC5D,SAAS,EAAE,gBAAgB;IAC3B,eAAe,EAAE,oCAAoC;CACtD,CAAC;AAEF,SAAS,mBAAmB,CAAC,IAAY;IACvC,OAAO;QACL,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE;YACN,SAAS,IAAI,EAAE;YACf,EAAE;YACF,sCAAsC;YACtC,4BAA4B;YAC5B,GAAG;YACH,2DAA2D;YAC3D,4CAA4C;YAC5C,+CAA+C;YAC/C,wCAAwC;YACxC,uDAAuD;YACvD,GAAG;SACJ,CAAC,IAAI,CAAC,IAAI,CAAC;QACZ,cAAc,EAAE,MAAM;QACtB,cAAc,EAAE;YACd,cAAc,EAAE,QAAQ;YACxB,cAAc,EAAE,QAAQ;YACxB,WAAW,EAAE,QAAQ;YACrB,QAAQ,EAAE,UAAU;YACpB,iBAAiB,EAAE,QAAQ;SAC5B;KACF,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAY;IAC5C,OAAO;QACL,EAAE,EAAE,sBAAsB;QAC1B,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE;YACN,SAAS,IAAI,EAAE;YACf,EAAE;YACF,kCAAkC;YAClC,4BAA4B;YAC5B,GAAG;YACH,8CAA8C;YAC9C,qDAAqD;YACrD,yCAAyC;YACzC,2CAA2C;YAC3C,qEAAqE;YACrE,GAAG;SACJ,CAAC,IAAI,CAAC,IAAI,CAAC;QACZ,cAAc,EAAE,MAAM;QACtB,cAAc,EAAE;YACd,UAAU,EAAE,UAAU;YACtB,aAAa,EAAE,UAAU;YACzB,WAAW,EAAE,UAAU;YACvB,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,QAAQ;SAChB;KACF,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY,EAAE,GAA8B,EAAE,KAAa;IACnF,OAAO;QACL,EAAE,EAAE,OAAO,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE;QACnC,IAAI,EAAE,UAAU;QAChB,GAAG,EAAE,GAAG,CAAC,IAAI;QACb,MAAM,EAAE,IAAA,gCAAsB,EAAC,IAAI,EAAE,GAAG,CAAC;QACzC,cAAc,EAAE,MAAM;QACtB,cAAc,EAAE,mBAAmB;KACpC,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY,EAAE,GAA8B,EAAE,KAAa;IACvF,OAAO;QACL,EAAE,EAAE,OAAO,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE;QACnC,IAAI,EAAE,WAAW;QACjB,GAAG,EAAE,GAAG,CAAC,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE;YACN,SAAS,IAAI,EAAE;YACf,EAAE;YACF,mCAAmC,GAAG,CAAC,IAAI,mCAAmC;YAC9E,8BAA8B,GAAG,CAAC,IAAI,kCAAkC;YACxE,mBAAmB,GAAG,CAAC,QAAQ,EAAE;YACjC,sBAAsB,GAAG,CAAC,YAAY,EAAE;YACxC,EAAE;YACF,qFAAqF;YACrF,4BAA4B;YAC5B,GAAG;YACH,yDAAyD;YACzD,gEAAgE;YAChE,GAAG;YACH,oEAAoE;SACrE,CAAC,IAAI,CAAC,IAAI,CAAC;QACZ,cAAc,EAAE,MAAM;QACtB,cAAc,EAAE;YACd,KAAK,EAAE,yCAAyC;YAChD,SAAS,EAAE,mCAAmC;SAC/C;KACF,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CAAC,IAAY;IAChD,OAAO;QACL,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,kBAAkB;QACxB,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE;YACN,SAAS,IAAI,EAAE;YACf,EAAE;YACF,4DAA4D;YAC5D,+CAA+C;YAC/C,4BAA4B;YAC5B,GAAG;YACH,2CAA2C;YAC3C,mCAAmC;YACnC,qEAAqE;YACrE,+CAA+C;YAC/C,GAAG;SACJ,CAAC,IAAI,CAAC,IAAI,CAAC;QACZ,cAAc,EAAE,MAAM;QACtB,cAAc,EAAE;YACd,WAAW,EAAE,UAAU;YACvB,KAAK,EAAE,UAAU;YACjB,eAAe,EAAE,UAAU;YAC3B,UAAU,EAAE,UAAU;SACvB;KACF,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAY;IAC/C,OAAO;QACL,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE;YACN,SAAS,IAAI,EAAE;YACf,EAAE;YACF,+CAA+C;YAC/C,4BAA4B;YAC5B,GAAG;YACH,4KAA4K;YAC5K,sDAAsD;YACtD,iDAAiD;YACjD,GAAG;SACJ,CAAC,IAAI,CAAC,IAAI,CAAC;QACZ,cAAc,EAAE,MAAM;QACtB,cAAc,EAAE;YACd,OAAO,EAAE,eAAe;YACxB,iBAAiB,EAAE,QAAQ;YAC3B,SAAS,EAAE,QAAQ;SACpB;KACF,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAY;IAC/C,OAAO;QACL,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE;YACN,SAAS,IAAI,EAAE;YACf,EAAE;YACF,mEAAmE;YACnE,6DAA6D;YAC7D,eAAe;YACf,2DAA2D;SAC5D,CAAC,IAAI,CAAC,IAAI,CAAC;QACZ,cAAc,EAAE,MAAM;QACtB,cAAc,EAAE;YACd,KAAK,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE;SACzE;KACF,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAY,EAAE,QAAiB;IAClE,OAAO;QACL,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,YAAY;QAClB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,MAAM,EAAE;YACN,SAAS,IAAI,EAAE;YACf,EAAE;YACF,QAAQ;gBACN,CAAC,CAAC,mDAAmD;gBACrD,CAAC,CAAC,kDAAkD;YACtD,QAAQ,CAAC,CAAC,CAAC,6DAA6D,CAAC,CAAC,CAAC,EAAE;YAC7E,4BAA4B;YAC5B,GAAG;YACH,0BAA0B;YAC1B,qDAAqD;YACrD,sEAAsE;YACtE,+DAA+D;YAC/D,GAAG;SACJ;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,IAAI,CAAC;QACb,cAAc,EAAE,MAAM;QACtB,cAAc,EAAE;YACd,UAAU,EAAE,QAAQ;YACpB,aAAa,EAAE,UAAU;YACzB,kBAAkB,EAAE,UAAU;YAC9B,qBAAqB,EAAE,UAAU;SAClC;KACF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,SAAS,iCAAiC,CAAC,IAAY;IACrD,MAAM,KAAK,GAAoB,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;IAE3D,kBAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAC9B,IAAI,CAAC,IAAA,oCAAqB,EAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,8EAA8E;IAC9E,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAEpD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,sDAAsD;AACtD,SAAS,8BAA8B,CAAC,IAAY;IAClD,MAAM,KAAK,GAAoB,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;IAE3F,kBAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAC9B,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,kBAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAC9B,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAErD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,0BAA0B,CAAC,IAAY;IACrD,OAAO,IAAA,wCAAyB,EAAC,IAAI,CAAC;QACpC,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC;QACzC,CAAC,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED,SAAgB,gCAAgC,CAC9C,IAAY,EACZ,SAA0B;IAE1B,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,IAAA,wCAAyB,EAAC,IAAI,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG;QACZ,iEAAiE;QACjE,0FAA0F;QAC1F,sFAAsF;QACtF,2EAA2E;QAC3E,EAAE;QACF,kCAAkC;QAClC,uEAAuE;QACvE,4FAA4F;QAC5F,kGAAkG;QAClG,iGAAiG;QACjG,EAAE;QACF,SAAS,IAAI,EAAE;QACf,EAAE;QACF,SAAS,OAAO,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC,CAAC,wBAAwB,EAAE;QAC1F,wBAAwB,QAAQ,CAAC,MAAM,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACzF,OAAO;YACL,CAAC,CAAC,qJAAqJ;YACvJ,CAAC,CAAC,wOAAwO;QAC5O,EAAE;QACF,aAAa;KACd,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CACR,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,EAAE,CACjH,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAgB,6BAA6B,CAAC,IAAY,EAAE,OAAuB;IACjF,MAAM,QAAQ,GAAG,OAAO,CAAC,oBAAoB,IAAI,IAAI,CAAC;IACtD,MAAM,IAAI,GAAG,IAAA,mBAAS,EAAC,QAAQ,CAAC,CAAC;IAEjC,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAa;QACzB,EAAE,EAAE,sBAAsB;QAC1B,WAAW,EAAE,mBAAmB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACnG,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,MAAM,EAAE,SAAS;QACjB,YAAY,EAAE,iBAAiB;QAC/B,UAAU,EAAE,CAAC;KACd,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAED,SAAS,CAAC,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AACrD,CAAC;AAED,SAAgB,8BAA8B,CAAC,IAAY;IACzD,MAAM,OAAO,GAAG,IAAA,qCAA2B,EAAC,IAAI,CAAC,CAAC;IAClD,MAAM,cAAc,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;IACxD,wFAAwF;IACxF,MAAM,IAAI,GAAe,EAAE,CAAC;IAE5B,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,OAAO;QACP,IAAI;QACJ,cAAc;QACd,iBAAiB,EAAE,gCAAgC,CAAC,IAAI,EAAE,cAAc,CAAC;QACzE,MAAM,EAAE,gBAAgB;QACxB,QAAQ,EAAE,KAAK;QACf,mBAAmB,EAAE,IAAI;KAC1B,CAAC;AACJ,CAAC;AAED,SAAgB,0BAA0B,CAAC,OAAuB;IAChE,OAAO;QACL,WAAW,OAAO,CAAC,oBAAoB,EAAE;QACzC,SAAS,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE;QACpD,SAAS,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE;QACjD,SAAS,OAAO,CAAC,SAAS,IAAI,MAAM,EAAE;KACvC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Unified runtime cancellation + lightweight timeline events.
3
+ *
4
+ * AbortSignal is the single source of truth for cancel/timeout.
5
+ * Pause/resume can later wrap the same token without inventing a second API.
6
+ */
7
+ export type RuntimeTimelinePhase = "runtime.controller" | "dag.node" | "provider.fetch" | "provider.execute" | "index.file" | "watcher.flush";
8
+ export type RuntimeTimelineStatus = "started" | "completed" | "aborted" | "timeout" | "failed" | "paused" | "resumed";
9
+ export interface RuntimeTimelineEvent {
10
+ ts: number;
11
+ phase: RuntimeTimelinePhase;
12
+ status: RuntimeTimelineStatus;
13
+ id?: string;
14
+ detail?: string;
15
+ durationMs?: number;
16
+ }
17
+ export interface RuntimeTimelineQuery {
18
+ limit?: number;
19
+ phase?: RuntimeTimelinePhase;
20
+ status?: RuntimeTimelineStatus;
21
+ id?: string;
22
+ }
23
+ export interface RuntimeTimelineSummary {
24
+ totalBuffered: number;
25
+ byStatus: Partial<Record<RuntimeTimelineStatus, number>>;
26
+ byPhase: Partial<Record<RuntimeTimelinePhase, number>>;
27
+ recent: RuntimeTimelineEvent[];
28
+ }
29
+ export declare function emitRuntimeTimeline(event: Omit<RuntimeTimelineEvent, "ts"> & {
30
+ ts?: number;
31
+ }): void;
32
+ export declare function getRuntimeTimeline(limit?: number): RuntimeTimelineEvent[];
33
+ export declare function queryRuntimeTimeline(query?: RuntimeTimelineQuery): RuntimeTimelineEvent[];
34
+ export declare function getRuntimeTimelineSummary(): RuntimeTimelineSummary;
35
+ export declare function clearRuntimeTimeline(): void;
36
+ export declare function isAbortError(error: unknown): boolean;
37
+ export interface PauseAwareRuntimeController {
38
+ waitIfPaused(): Promise<void>;
39
+ }
40
+ export declare function waitWhilePaused(controller?: PauseAwareRuntimeController): Promise<void>;
41
+ /** Merge any number of external signals into one disposable child signal. */
42
+ export declare function createMergedAbortSignal(externals: Array<AbortSignal | undefined>): {
43
+ signal?: AbortSignal;
44
+ dispose: () => void;
45
+ };
46
+ /** Merge an optional external signal with a timeout into one AbortSignal. */
47
+ export declare function createTimeoutSignal(timeoutMs: number, external?: AbortSignal): {
48
+ signal: AbortSignal;
49
+ abort: (reason?: unknown) => void;
50
+ dispose: () => void;
51
+ };
52
+ /**
53
+ * Run an async operation bound to a timeout + optional external AbortSignal.
54
+ * On timeout/cancel, aborts the signal so underlying fetch can tear down sockets.
55
+ */
56
+ export declare function runAbortable<T>(label: string, timeoutMs: number, external: AbortSignal | undefined, execute: (signal: AbortSignal) => Promise<T>, phase?: RuntimeTimelinePhase): Promise<T>;
57
+ //# sourceMappingURL=cancellation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cancellation.d.ts","sourceRoot":"","sources":["../../src/core/cancellation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,MAAM,oBAAoB,GAC5B,oBAAoB,GACpB,UAAU,GACV,gBAAgB,GAChB,kBAAkB,GAClB,YAAY,GACZ,eAAe,CAAC;AAEpB,MAAM,MAAM,qBAAqB,GAC7B,SAAS,GACT,WAAW,GACX,SAAS,GACT,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,oBAAoB,CAAC;IAC5B,MAAM,EAAE,qBAAqB,CAAC;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC;IACzD,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD,MAAM,EAAE,oBAAoB,EAAE,CAAC;CAChC;AAMD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAUnG;AAED,wBAAgB,kBAAkB,CAAC,KAAK,SAAK,GAAG,oBAAoB,EAAE,CAGrE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,GAAE,oBAAyB,GAAG,oBAAoB,EAAE,CAoB7F;AAED,wBAAgB,yBAAyB,IAAI,sBAAsB,CAelE;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAOpD;AAED,MAAM,WAAW,2BAA2B;IAC1C,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B;AAED,wBAAsB,eAAe,CAAC,UAAU,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7F;AAED,6EAA6E;AAC7E,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC,GACxC;IAAE,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,CA+B/C;AAED,6EAA6E;AAC7E,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,WAAW,GACrB;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,CAuCjF;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAClC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,WAAW,GAAG,SAAS,EACjC,OAAO,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,EAC5C,KAAK,GAAE,oBAAyC,GAC/C,OAAO,CAAC,CAAC,CAAC,CAyCZ"}
@@ -0,0 +1,195 @@
1
+ "use strict";
2
+ /**
3
+ * Unified runtime cancellation + lightweight timeline events.
4
+ *
5
+ * AbortSignal is the single source of truth for cancel/timeout.
6
+ * Pause/resume can later wrap the same token without inventing a second API.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.emitRuntimeTimeline = emitRuntimeTimeline;
10
+ exports.getRuntimeTimeline = getRuntimeTimeline;
11
+ exports.queryRuntimeTimeline = queryRuntimeTimeline;
12
+ exports.getRuntimeTimelineSummary = getRuntimeTimelineSummary;
13
+ exports.clearRuntimeTimeline = clearRuntimeTimeline;
14
+ exports.isAbortError = isAbortError;
15
+ exports.waitWhilePaused = waitWhilePaused;
16
+ exports.createMergedAbortSignal = createMergedAbortSignal;
17
+ exports.createTimeoutSignal = createTimeoutSignal;
18
+ exports.runAbortable = runAbortable;
19
+ const logger_js_1 = require("../utils/logger.js");
20
+ const timelineBuffer = [];
21
+ const MAX_TIMELINE_EVENTS = 200;
22
+ const DEFAULT_TIMELINE_RECENT_LIMIT = 30;
23
+ function emitRuntimeTimeline(event) {
24
+ const full = {
25
+ ...event,
26
+ ts: event.ts ?? Date.now(),
27
+ };
28
+ timelineBuffer.push(full);
29
+ if (timelineBuffer.length > MAX_TIMELINE_EVENTS) {
30
+ timelineBuffer.splice(0, timelineBuffer.length - MAX_TIMELINE_EVENTS);
31
+ }
32
+ logger_js_1.logger.debug(full, "runtime.timeline");
33
+ }
34
+ function getRuntimeTimeline(limit = 50) {
35
+ const n = Math.max(1, Math.min(limit, MAX_TIMELINE_EVENTS));
36
+ return timelineBuffer.slice(-n);
37
+ }
38
+ function queryRuntimeTimeline(query = {}) {
39
+ const filtered = timelineBuffer.filter((event) => {
40
+ if (query.phase !== undefined && event.phase !== query.phase) {
41
+ return false;
42
+ }
43
+ if (query.status !== undefined && event.status !== query.status) {
44
+ return false;
45
+ }
46
+ if (query.id !== undefined && event.id !== query.id) {
47
+ return false;
48
+ }
49
+ return true;
50
+ });
51
+ if (query.limit === undefined) {
52
+ return filtered;
53
+ }
54
+ const n = Math.max(0, Math.min(query.limit, MAX_TIMELINE_EVENTS));
55
+ return filtered.slice(-n);
56
+ }
57
+ function getRuntimeTimelineSummary() {
58
+ const byStatus = {};
59
+ const byPhase = {};
60
+ for (const event of timelineBuffer) {
61
+ byStatus[event.status] = (byStatus[event.status] ?? 0) + 1;
62
+ byPhase[event.phase] = (byPhase[event.phase] ?? 0) + 1;
63
+ }
64
+ return {
65
+ totalBuffered: timelineBuffer.length,
66
+ byStatus,
67
+ byPhase,
68
+ recent: queryRuntimeTimeline({ limit: DEFAULT_TIMELINE_RECENT_LIMIT }),
69
+ };
70
+ }
71
+ function clearRuntimeTimeline() {
72
+ timelineBuffer.length = 0;
73
+ }
74
+ function isAbortError(error) {
75
+ if (!error || typeof error !== "object") {
76
+ return false;
77
+ }
78
+ const name = "name" in error ? String(error.name) : "";
79
+ const message = "message" in error ? String(error.message) : "";
80
+ return name === "AbortError" || /aborted|abort/i.test(message);
81
+ }
82
+ async function waitWhilePaused(controller) {
83
+ await controller?.waitIfPaused();
84
+ }
85
+ /** Merge any number of external signals into one disposable child signal. */
86
+ function createMergedAbortSignal(externals) {
87
+ const signals = externals.filter((signal) => signal !== undefined);
88
+ if (signals.length === 0) {
89
+ return { dispose: () => undefined };
90
+ }
91
+ const controller = new AbortController();
92
+ const listeners = [];
93
+ const abortFrom = (source) => {
94
+ if (!controller.signal.aborted) {
95
+ controller.abort(source.reason ?? new Error("Aborted"));
96
+ }
97
+ };
98
+ for (const signal of signals) {
99
+ if (signal.aborted) {
100
+ abortFrom(signal);
101
+ continue;
102
+ }
103
+ const listener = () => abortFrom(signal);
104
+ listeners.push({ signal, listener });
105
+ signal.addEventListener("abort", listener, { once: true });
106
+ }
107
+ const dispose = () => {
108
+ for (const { signal, listener } of listeners) {
109
+ signal.removeEventListener("abort", listener);
110
+ }
111
+ };
112
+ return { signal: controller.signal, dispose };
113
+ }
114
+ /** Merge an optional external signal with a timeout into one AbortSignal. */
115
+ function createTimeoutSignal(timeoutMs, external) {
116
+ const controller = new AbortController();
117
+ let timer;
118
+ const abort = (reason) => {
119
+ if (!controller.signal.aborted) {
120
+ controller.abort(reason);
121
+ }
122
+ };
123
+ const onExternalAbort = () => {
124
+ abort(external?.reason ?? new Error("Aborted"));
125
+ };
126
+ if (external) {
127
+ if (external.aborted) {
128
+ onExternalAbort();
129
+ }
130
+ else {
131
+ external.addEventListener("abort", onExternalAbort, { once: true });
132
+ }
133
+ }
134
+ if (timeoutMs > 0) {
135
+ timer = setTimeout(() => {
136
+ abort(new Error(`Timed out after ${timeoutMs}ms`));
137
+ }, timeoutMs);
138
+ }
139
+ const dispose = () => {
140
+ if (timer) {
141
+ clearTimeout(timer);
142
+ timer = undefined;
143
+ }
144
+ if (external) {
145
+ external.removeEventListener("abort", onExternalAbort);
146
+ }
147
+ };
148
+ return { signal: controller.signal, abort, dispose };
149
+ }
150
+ /**
151
+ * Run an async operation bound to a timeout + optional external AbortSignal.
152
+ * On timeout/cancel, aborts the signal so underlying fetch can tear down sockets.
153
+ */
154
+ async function runAbortable(label, timeoutMs, external, execute, phase = "provider.execute") {
155
+ const startedAt = Date.now();
156
+ const { signal, dispose } = createTimeoutSignal(timeoutMs, external);
157
+ emitRuntimeTimeline({ phase, status: "started", id: label });
158
+ try {
159
+ const value = await execute(signal);
160
+ emitRuntimeTimeline({
161
+ phase,
162
+ status: "completed",
163
+ id: label,
164
+ durationMs: Date.now() - startedAt,
165
+ });
166
+ return value;
167
+ }
168
+ catch (error) {
169
+ const aborted = signal.aborted || isAbortError(error);
170
+ const reasonText = signal.reason instanceof Error
171
+ ? signal.reason.message
172
+ : error instanceof Error
173
+ ? error.message
174
+ : String(signal.reason ?? error);
175
+ const timedOut = aborted && /timed out/i.test(reasonText);
176
+ emitRuntimeTimeline({
177
+ phase,
178
+ status: timedOut ? "timeout" : aborted ? "aborted" : "failed",
179
+ id: label,
180
+ detail: error instanceof Error ? error.message : String(error),
181
+ durationMs: Date.now() - startedAt,
182
+ });
183
+ if (aborted && !isAbortError(error)) {
184
+ const reason = signal.reason instanceof Error
185
+ ? signal.reason
186
+ : new Error(`${label} aborted${timedOut ? ` (timeout ${timeoutMs}ms)` : ""}`);
187
+ throw reason;
188
+ }
189
+ throw error;
190
+ }
191
+ finally {
192
+ dispose();
193
+ }
194
+ }
195
+ //# sourceMappingURL=cancellation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cancellation.js","sourceRoot":"","sources":["../../src/core/cancellation.ts"],"names":[],"mappings":"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"}