@synergenius/flow-weaver-pack-weaver 0.9.59 → 0.9.77

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 (217) hide show
  1. package/dist/ai-chat-provider.d.ts +12 -0
  2. package/dist/ai-chat-provider.d.ts.map +1 -1
  3. package/dist/ai-chat-provider.js +351 -335
  4. package/dist/ai-chat-provider.js.map +1 -1
  5. package/dist/bot/agent-loop.d.ts +20 -0
  6. package/dist/bot/agent-loop.d.ts.map +1 -0
  7. package/dist/bot/agent-loop.js +331 -0
  8. package/dist/bot/agent-loop.js.map +1 -0
  9. package/dist/bot/ai-router.d.ts +19 -0
  10. package/dist/bot/ai-router.d.ts.map +1 -0
  11. package/dist/bot/ai-router.js +104 -0
  12. package/dist/bot/ai-router.js.map +1 -0
  13. package/dist/bot/assistant-tools.d.ts.map +1 -1
  14. package/dist/bot/assistant-tools.js +49 -33
  15. package/dist/bot/assistant-tools.js.map +1 -1
  16. package/dist/bot/async-mutex.d.ts +13 -0
  17. package/dist/bot/async-mutex.d.ts.map +1 -0
  18. package/dist/bot/async-mutex.js +37 -0
  19. package/dist/bot/async-mutex.js.map +1 -0
  20. package/dist/bot/bot-manager.d.ts +2 -2
  21. package/dist/bot/bot-manager.d.ts.map +1 -1
  22. package/dist/bot/bot-manager.js +3 -3
  23. package/dist/bot/bot-manager.js.map +1 -1
  24. package/dist/bot/bot-registry.js +2 -2
  25. package/dist/bot/bot-registry.js.map +1 -1
  26. package/dist/bot/conversation-store.d.ts +1 -0
  27. package/dist/bot/conversation-store.d.ts.map +1 -1
  28. package/dist/bot/conversation-store.js.map +1 -1
  29. package/dist/bot/dashboard.d.ts.map +1 -1
  30. package/dist/bot/dashboard.js +17 -8
  31. package/dist/bot/dashboard.js.map +1 -1
  32. package/dist/bot/improve-loop.js.map +1 -1
  33. package/dist/bot/index.d.ts +2 -4
  34. package/dist/bot/index.d.ts.map +1 -1
  35. package/dist/bot/index.js +1 -2
  36. package/dist/bot/index.js.map +1 -1
  37. package/dist/bot/instance-manager.d.ts +31 -0
  38. package/dist/bot/instance-manager.d.ts.map +1 -0
  39. package/dist/bot/instance-manager.js +115 -0
  40. package/dist/bot/instance-manager.js.map +1 -0
  41. package/dist/bot/orchestrator.d.ts +36 -0
  42. package/dist/bot/orchestrator.d.ts.map +1 -0
  43. package/dist/bot/orchestrator.js +176 -0
  44. package/dist/bot/orchestrator.js.map +1 -0
  45. package/dist/bot/profile-store.d.ts +36 -0
  46. package/dist/bot/profile-store.d.ts.map +1 -0
  47. package/dist/bot/profile-store.js +208 -0
  48. package/dist/bot/profile-store.js.map +1 -0
  49. package/dist/bot/profile-types.d.ts +126 -0
  50. package/dist/bot/profile-types.d.ts.map +1 -0
  51. package/dist/bot/profile-types.js +7 -0
  52. package/dist/bot/profile-types.js.map +1 -0
  53. package/dist/bot/run-store.d.ts.map +1 -1
  54. package/dist/bot/run-store.js +8 -0
  55. package/dist/bot/run-store.js.map +1 -1
  56. package/dist/bot/runner.d.ts +4 -0
  57. package/dist/bot/runner.d.ts.map +1 -1
  58. package/dist/bot/runner.js +5 -1
  59. package/dist/bot/runner.js.map +1 -1
  60. package/dist/bot/swarm-controller.d.ts +109 -0
  61. package/dist/bot/swarm-controller.d.ts.map +1 -0
  62. package/dist/bot/swarm-controller.js +640 -0
  63. package/dist/bot/swarm-controller.js.map +1 -0
  64. package/dist/bot/swarm-event-log.d.ts +28 -0
  65. package/dist/bot/swarm-event-log.d.ts.map +1 -0
  66. package/dist/bot/swarm-event-log.js +54 -0
  67. package/dist/bot/swarm-event-log.js.map +1 -0
  68. package/dist/bot/task-prompt-builder.d.ts +22 -0
  69. package/dist/bot/task-prompt-builder.d.ts.map +1 -0
  70. package/dist/bot/task-prompt-builder.js +240 -0
  71. package/dist/bot/task-prompt-builder.js.map +1 -0
  72. package/dist/bot/task-store.d.ts +21 -0
  73. package/dist/bot/task-store.d.ts.map +1 -0
  74. package/dist/bot/task-store.js +364 -0
  75. package/dist/bot/task-store.js.map +1 -0
  76. package/dist/bot/task-types.d.ts +79 -0
  77. package/dist/bot/task-types.d.ts.map +1 -0
  78. package/dist/bot/task-types.js +6 -0
  79. package/dist/bot/task-types.js.map +1 -0
  80. package/dist/bot/types.d.ts +8 -0
  81. package/dist/bot/types.d.ts.map +1 -1
  82. package/dist/cli-handlers.d.ts.map +1 -1
  83. package/dist/cli-handlers.js +79 -54
  84. package/dist/cli-handlers.js.map +1 -1
  85. package/dist/cli.d.ts +3 -0
  86. package/dist/cli.d.ts.map +1 -0
  87. package/dist/cli.js +749 -0
  88. package/dist/cli.js.map +1 -0
  89. package/dist/docs/docs/weaver-bot-usage.md +35 -18
  90. package/dist/docs/docs/weaver-config.md +20 -0
  91. package/dist/docs/docs/weaver-task-queue.md +31 -19
  92. package/dist/docs/weaver-config.md +15 -9
  93. package/dist/index.d.ts +2 -2
  94. package/dist/index.d.ts.map +1 -1
  95. package/dist/index.js +1 -1
  96. package/dist/index.js.map +1 -1
  97. package/dist/mcp-tools.d.ts +17 -0
  98. package/dist/mcp-tools.d.ts.map +1 -1
  99. package/dist/mcp-tools.js +98 -279
  100. package/dist/mcp-tools.js.map +1 -1
  101. package/dist/node-types/bot-report.d.ts.map +1 -1
  102. package/dist/node-types/bot-report.js +6 -24
  103. package/dist/node-types/bot-report.js.map +1 -1
  104. package/dist/node-types/orchestrator-dispatch.d.ts +17 -0
  105. package/dist/node-types/orchestrator-dispatch.d.ts.map +1 -0
  106. package/dist/node-types/orchestrator-dispatch.js +63 -0
  107. package/dist/node-types/orchestrator-dispatch.js.map +1 -0
  108. package/dist/node-types/orchestrator-load-state.d.ts +16 -0
  109. package/dist/node-types/orchestrator-load-state.d.ts.map +1 -0
  110. package/dist/node-types/orchestrator-load-state.js +60 -0
  111. package/dist/node-types/orchestrator-load-state.js.map +1 -0
  112. package/dist/node-types/orchestrator-route.d.ts +16 -0
  113. package/dist/node-types/orchestrator-route.d.ts.map +1 -0
  114. package/dist/node-types/orchestrator-route.js +28 -0
  115. package/dist/node-types/orchestrator-route.js.map +1 -0
  116. package/dist/node-types/receive-task.d.ts +2 -3
  117. package/dist/node-types/receive-task.d.ts.map +1 -1
  118. package/dist/node-types/receive-task.js +3 -48
  119. package/dist/node-types/receive-task.js.map +1 -1
  120. package/dist/templates/weaver-template.d.ts +11 -0
  121. package/dist/templates/weaver-template.d.ts.map +1 -0
  122. package/dist/templates/weaver-template.js +53 -0
  123. package/dist/templates/weaver-template.js.map +1 -0
  124. package/dist/ui/bot-activity.js +2 -2
  125. package/dist/ui/bot-constants.d.ts +14 -0
  126. package/dist/ui/bot-constants.d.ts.map +1 -0
  127. package/dist/ui/bot-constants.js +189 -0
  128. package/dist/ui/bot-constants.js.map +1 -0
  129. package/dist/ui/bot-panel.js +207 -245
  130. package/dist/ui/bot-slot-card.js +141 -0
  131. package/dist/ui/budget-bar.js +59 -0
  132. package/dist/ui/chat-task-result.js +178 -0
  133. package/dist/ui/decision-log.js +136 -0
  134. package/dist/ui/profile-card.js +158 -0
  135. package/dist/ui/profile-editor.js +597 -0
  136. package/dist/ui/swarm-controls.js +245 -0
  137. package/dist/ui/swarm-dashboard.js +3012 -0
  138. package/dist/ui/task-create-form.js +98 -0
  139. package/dist/ui/task-detail-view.js +1044 -0
  140. package/dist/ui/task-pool-list.js +156 -0
  141. package/dist/workflows/orchestrator.d.ts +21 -0
  142. package/dist/workflows/orchestrator.d.ts.map +1 -0
  143. package/dist/workflows/orchestrator.js +281 -0
  144. package/dist/workflows/orchestrator.js.map +1 -0
  145. package/dist/workflows/weaver-bot-session.d.ts +65 -0
  146. package/dist/workflows/weaver-bot-session.d.ts.map +1 -0
  147. package/dist/workflows/weaver-bot-session.js +68 -0
  148. package/dist/workflows/weaver-bot-session.js.map +1 -0
  149. package/dist/workflows/weaver.d.ts +24 -0
  150. package/dist/workflows/weaver.d.ts.map +1 -0
  151. package/dist/workflows/weaver.js +28 -0
  152. package/dist/workflows/weaver.js.map +1 -0
  153. package/flowweaver.manifest.json +547 -133
  154. package/package.json +1 -1
  155. package/src/ai-chat-provider.ts +378 -371
  156. package/src/bot/ai-router.ts +132 -0
  157. package/src/bot/assistant-tools.ts +47 -29
  158. package/src/bot/async-mutex.ts +37 -0
  159. package/src/bot/bot-manager.ts +3 -3
  160. package/src/bot/bot-registry.ts +2 -2
  161. package/src/bot/conversation-store.ts +2 -1
  162. package/src/bot/dashboard.ts +17 -8
  163. package/src/bot/improve-loop.ts +6 -6
  164. package/src/bot/index.ts +2 -4
  165. package/src/bot/instance-manager.ts +128 -0
  166. package/src/bot/orchestrator.ts +244 -0
  167. package/src/bot/profile-store.ts +225 -0
  168. package/src/bot/profile-types.ts +141 -0
  169. package/src/bot/run-store.ts +8 -0
  170. package/src/bot/runner.ts +9 -1
  171. package/src/bot/swarm-controller.ts +780 -0
  172. package/src/bot/swarm-event-log.ts +57 -0
  173. package/src/bot/task-prompt-builder.ts +309 -0
  174. package/src/bot/task-store.ts +407 -0
  175. package/src/bot/task-types.ts +100 -0
  176. package/src/bot/types.ts +8 -0
  177. package/src/cli-handlers.ts +78 -53
  178. package/src/docs/weaver-bot-usage.md +35 -18
  179. package/src/docs/weaver-config.md +20 -0
  180. package/src/docs/weaver-task-queue.md +31 -19
  181. package/src/index.ts +5 -4
  182. package/src/mcp-tools.ts +129 -372
  183. package/src/node-types/bot-report.ts +6 -24
  184. package/src/node-types/orchestrator-dispatch.ts +71 -0
  185. package/src/node-types/orchestrator-load-state.ts +66 -0
  186. package/src/node-types/orchestrator-route.ts +33 -0
  187. package/src/node-types/receive-task.ts +3 -57
  188. package/src/ui/bot-activity.tsx +2 -2
  189. package/src/ui/bot-constants.ts +192 -0
  190. package/src/ui/bot-panel.tsx +213 -247
  191. package/src/ui/bot-slot-card.tsx +139 -0
  192. package/src/ui/budget-bar.tsx +30 -0
  193. package/src/ui/chat-task-result.tsx +236 -0
  194. package/src/ui/decision-log.tsx +148 -0
  195. package/src/ui/profile-card.tsx +157 -0
  196. package/src/ui/profile-editor.tsx +384 -0
  197. package/src/ui/swarm-controls.tsx +260 -0
  198. package/src/ui/swarm-dashboard.tsx +647 -0
  199. package/src/ui/task-create-form.tsx +87 -0
  200. package/src/ui/task-detail-view.tsx +841 -0
  201. package/src/ui/task-pool-list.tsx +187 -0
  202. package/src/workflows/orchestrator.ts +302 -0
  203. package/dist/docs/weaver-bot-usage.md +0 -34
  204. package/dist/docs/weaver-genesis.md +0 -32
  205. package/dist/docs/weaver-task-queue.md +0 -34
  206. package/dist/ui/bot-workspace.js +0 -1015
  207. package/dist/ui/chat-bot-result.js +0 -71
  208. package/dist/ui/queue-input.js +0 -82
  209. package/dist/ui/session-bar.js +0 -174
  210. package/src/bot/error-guide.ts +0 -4
  211. package/src/bot/retry-utils.ts +0 -4
  212. package/src/bot/session-state.ts +0 -116
  213. package/src/bot/task-queue.ts +0 -262
  214. package/src/ui/bot-workspace.tsx +0 -442
  215. package/src/ui/chat-bot-result.tsx +0 -81
  216. package/src/ui/queue-input.tsx +0 -56
  217. package/src/ui/session-bar.tsx +0 -157
@@ -1 +1 @@
1
- {"version":3,"file":"ai-chat-provider.js","sourceRoot":"","sources":["../src/ai-chat-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,oDAAoD;AACpD,IAAI,sBAAsB,GAAG,CAAC,CAAC;AAyB/B,8EAA8E;AAC9E,oDAAoD;AACpD,8EAA8E;AAE9E,MAAM,YAAY,GAGd;IACF,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG;QAC3B,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,IAAc,EAAE;YACpD,MAAM,EAAE,IAAI,CAAC,MAA6C;YAC1D,OAAO,EAAE,IAAI,CAAC,OAA8B;YAC5C,MAAM,EAAE,IAAI,CAAC,MAA6B;SAC3C,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAI;QAC1B,MAAM,KAAK,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAY,CAAC,CAAC;YAC5C,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B,IAAI,CAAC,EAAE,GAAG,CAAC;QACzF,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC;YACzB,OAAO,EAAE,IAAI,CAAC,OAAmE;YACjF,YAAY,EAAE,IAAI,CAAC,YAAkC;YACrD,KAAK,EAAG,IAAI,CAAC,KAA4B,IAAI,EAAE;SAChD,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAI;QACxB,MAAM,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC;QAC9B,IAAI,OAA2B,CAAC;QAChC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,GAAG,IAAI,CAAC,KAAe,CAAC;YAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC3C,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;gBAClC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtB,MAAM,EAAE,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;gBACrF,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;gBACpC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBAAE,OAAO,GAAG,EAAE,CAAC;YAC/B,CAAC;QACH,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAA2B,EAAE,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,MAAM,iBAAiB,CAAC,eAAe,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;YACpD,IAAI;YACJ,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,eAAe,EAAE,QAAQ,CAAC,eAAe;YACzC,UAAU,EAAE,QAAQ,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK;YACnF,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;SAC5C,CAAC,CAAC,CAAC;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG;QAC3B,iDAAiD;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,KAA2B,CAAC;QAC/C,IAAI,oBAAwC,CAAC;QAE7C,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YACpD,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,KAAK,aAAa,EAAE,CAAC,CAAC;YAC/D,CAAC;YACD,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACtB,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,KAAK,iBAAiB,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACrF,CAAC;YACD,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAClD,CAAC,CAAC,GAAG,CAAC,QAAQ;gBACd,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;QAGD,MAAM,IAAI,GAAG;YACX,WAAW,EAAE,IAAI,CAAC,IAAc;YAChC,IAAI,EAAG,IAAI,CAAC,IAAe,IAAI,QAAQ;YACvC,OAAO,EAAE,IAAI,CAAC,OAA+B;YAC7C,OAAO,EAAE;gBACP,QAAQ,EAAE,IAAI,CAAC,QAA8B;gBAC7C,MAAM,EAAE,IAAI,CAAC,MAA6B;gBAC1C,WAAW,EAAG,IAAI,CAAC,WAAmC,IAAI,KAAK;aAChE;SACF,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,YAAoB,CAAC;QACzB,IAAI,oBAAoB,EAAE,CAAC;YACzB,YAAY,GAAG,oBAAoB,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,6BAA6B,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC/E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBACjC,YAAY,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,8BAA8B,EAAE,QAAQ,CAAC,CAAC,CAAC;YAClF,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,GAAG,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;QAErC,0BAA0B;QAC1B,QAAQ,CAAC,OAAO,EAAE,CAAC;QAEnB,4EAA4E;QAC5E,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAE/H,oFAAoF;QACpF,yFAAyF;QACzF,+EAA+E;QAC/E,MAAM,YAAY,GAAG,IAAI,OAAO,CAAO,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,kCAAkC;QACpF,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;QAEhH,iEAAiE;QACjE,yCAAyC;QACzC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;QAC1D,MAAM,UAAU,GAAG,WAAW,CAAC,YAAY,EAAE;YAC3C,KAAK;YACL,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE;YACtD,MAAM,EAAE,IAAI,CAAC,MAA6B;YAC1C,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,EAAE,EAAE;YAClH,QAAQ;SACT,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACf,IAAI,CAAC;gBAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;YACrD,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;YACd,oEAAoE;YACpE,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,KAAK,UAAU,CAAC;QAEhB,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAI;QAExB,MAAM,UAAU,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAC5C,MAAM,UAAU,CAAC,KAAK,CAAC;YACrB,OAAO,EAAE,IAAI,CAAC,OAA+D;YAC7E,OAAO,EAAE,IAAI,CAAC,OAA6B;YAC3C,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC;QACH,OAAO,0BAA0B,IAAI,CAAC,OAAO,EAAE,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAI;QAExB,MAAM,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC;QAC9B,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,IAAI,CAAC,IAAI,CAAC,IAAI;oBAAE,OAAO,kCAAkC,CAAC;gBAC1D,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,IAAc,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC7F,OAAO,SAAS,CAAC,CAAC,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC;YACzE,CAAC;YACD,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACrD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;gBAClC,OAAO,WAAW,KAAK,UAAU,CAAC;YACpC,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,IAAI,CAAC,IAAI,CAAC,EAAE;oBAAE,OAAO,yBAAyB,CAAC;gBAC/C,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAY,CAAC,CAAC;gBACtD,OAAO,OAAO,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,EAAE,EAAE,CAAC;YAClE,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,IAAI,CAAC,IAAI,CAAC,EAAE;oBAAE,OAAO,yBAAyB,CAAC;gBAC/C,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;oBAAE,OAAO,0BAA0B,CAAC;gBACnE,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAY,EAAE,IAAI,CAAC,QAAkB,CAAC,CAAC;gBAClF,OAAO,SAAS,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,EAAE,gBAAgB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,EAAE,EAAE,CAAC;YACnG,CAAC;YACD;gBACE,OAAO,mBAAmB,IAAI,CAAC,MAAM,EAAE,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB;QAGpB,MAAM,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAE3B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAClE,CAAC;QAED,+EAA+E;QAC/E,8EAA8E;QAC9E,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC;YACpC,WAAW,CAAC,sBAAsB,EAAE,CAAC;YAErC,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACtD,qDAAqD;gBACrD,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC;gBACvC,IAAI,WAAW,EAAE,CAAC;oBAChB,IAAI,CAAC;wBAAC,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;gBACrE,CAAC;gBACD,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;QAED,mFAAmF;QACnF,qDAAqD;QACrD,0EAA0E;QAC1E,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACtD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,GAAG,GAAG,sBAAsB,GAAG,MAAM,EAAE,CAAC;gBAC1C,sBAAsB,GAAG,GAAG,CAAC;gBAC7B,IAAI,CAAC;oBAEH,MAAM,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC;oBAC9B,MAAM,KAAK,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;gBAClE,CAAC;gBAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,6DAA6D;QAC7D,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC;QAChD,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC;QAEvH,gEAAgE;QAChE,IAAI,YAAY,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC/D,IAAI,CAAC;gBAAC,IAAI,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;YACpE,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9E,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACpH,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAI;QAEzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAe,CAAC;QACnC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAElE,MAAM,MAAM,GAAI,IAAI,CAAC,MAAiB,IAAI,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,IAAI,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QAExB,2EAA2E;QAC3E,kEAAkE;QAClE,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC;gBAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;YAC7C,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAI;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAmB,CAAC;QAC1C,MAAM,MAAM,GAAI,IAAI,CAAC,MAAiB,IAAI,SAAS,CAAC;QACpD,MAAM,QAAQ,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAElD,8DAA8D;QAC9D,MAAM,OAAO,GAAI,UAAsC,CAAC,+BAE3C,CAAC;QACd,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,QAAQ,CAAC,CAAC;YAClB,OAAQ,UAAsC,CAAC,+BAA+B,CAAC;YAC/E,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,0BAA0B;QAC1B,MAAM,UAAU,GAAG,0BAA0B,CAAC;QAC9C,MAAM,QAAQ,GAAI,UAAsC,CAAC,UAAU,CAEtD,CAAC;QACd,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YACzC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;YACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;YACjC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1B,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACrB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,mCAAmC;QACnC,IAAI,CAAC;YACH,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;YACxC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;YACtB,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;YACzE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACpC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,wBAAwB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;gBAChE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACxC,CAAC,EAAE,OAAO,CAAC,CAAC;YACb,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;QACnD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG;QAG/B,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,YAAY,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,+BAA+B,EAAE,QAAQ,CAAC,CAAC,CAAC;QACrF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACjC,YAAY,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,gCAAgC,EAAE,QAAQ,CAAC,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE;YAC7C,MAAM,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE;YAC1D,MAAM,EAAE,IAAI,CAAC,MAA6B;SAC3C,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAgB,CAAC;QAErC,MAAM,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;QAEjC,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;YACnE,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC;YACxC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACtD,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YAEtB,MAAM,UAAU,GAAG,IAAI,kBAAkB,EAAE,CAAC;YAC5C,MAAM,UAAU,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACrE,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YAOvB,MAAM,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;YAE1D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,QAAQ,GAAI,IAAI,CAAC,QAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;YAC7D,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAG,IAAI,QAAQ,CAAC,WAAW,SAAS,EAAE,CAAC,CAAC;YAExD,0EAA0E;YAC1E,MAAM,KAAK,CAAC,IAAI,CAAC;gBACf,SAAS;gBACT,MAAM,EAAE,WAAW;gBACnB,WAAW,EAAE,IAAI;gBACjB,cAAc,EAAE,CAAC;gBACjB,SAAS,EAAE,CAAC;gBACZ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;aACzB,CAAC,CAAC;YAEH,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE;oBACtE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ;iBAC/C,EAAC,CAAC,CAAC;YAEJ,MAAM,UAAU,GAAG,GAAG,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YACtD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChD,IAAI,YAAY,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,6BAA6B,EAAE,QAAQ,CAAC,CAAC,CAAC;YACnF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBACjC,YAAY,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,8BAA8B,EAAE,QAAQ,CAAC,CAAC,CAAC;YAClF,CAAC;YAED,2CAA2C;YAC3C,CAAC,KAAK,IAAI,EAAE;gBACV,IAAI,SAAS,GAAG,CAAC,CAAC;gBAClB,IAAI,MAAM,GAAG,CAAC,CAAC;gBAEf,IAAI,CAAC;oBACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;wBAEzB,0BAA0B;wBAC1B,IAAI,CAAC;4BAEH,MAAM,IAAI,GAAG,IAAI,kBAAkB,EAAE,CAAC;4BACtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;4BAClC,IAAI,MAAM,EAAE,OAAO,KAAK,QAAQ,EAAE,CAAC;gCACjC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gCACtE,MAAM;4BACR,CAAC;wBACH,CAAC;wBAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;wBAE3B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;wBAC/B,MAAM,OAAO,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;wBAEpC,oCAAoC;wBACpC,IAAI,CAAC;4BAAC,MAAM,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBAAC,CAAC;wBAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;wBAEnE,MAAM,KAAK,CAAC,MAAM,CAAC;4BACjB,MAAM,EAAE,WAAW;4BACnB,WAAW,EAAE,IAAI,CAAC,WAAW;4BAC7B,YAAY,EAAE,KAAK;4BACnB,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;yBACzB,CAAC,CAAC;wBAEH,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE;gCACzE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC;6BAClG,EAAC,CAAC,CAAC;wBAEJ,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE;gCAC/D,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK;6BACrD,EAAC,CAAC,CAAC;wBAEJ,iEAAiE;wBACjE,6DAA6D;wBAC7D,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;wBAErH,IAAI,CAAC;4BACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE;gCAC7C,KAAK;gCACL,MAAM,EAAE;oCACN,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC;wCACvB,WAAW,EAAE,IAAI,CAAC,WAAW;wCAC7B,IAAI,EAAE,QAAQ;wCACd,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;qCAChC,CAAC;oCACF,UAAU;iCACX;gCACD,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,EAAE,EAAE;gCACrF,QAAQ,EAAE,OAAO;6BAClB,CAAC,CAAC;4BAEH,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;4BAC/B,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC7B,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;4BAE1B,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE;oCAC5E,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,aAAa;oCACtE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS;iCAC7B,EAAC,CAAC,CAAC;4BAEJ,qBAAqB;4BACrB,IAAI,CAAC;gCACH,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;4BAC9B,CAAC;4BAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;wBAE7B,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,MAAM,EAAE,CAAC;4BACT,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE;oCAC5E,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;iCACpD,EAAC,CAAC,CAAC;wBACN,CAAC;wBAED,MAAM,KAAK,CAAC,MAAM,CAAC;4BACjB,cAAc,EAAE,SAAS,GAAG,MAAM;4BAClC,YAAY,EAAE,IAAI;4BAClB,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;yBACzB,CAAC,CAAC;oBACL,CAAC;oBAED,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE;4BACpE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM;yBACjE,EAAC,CAAC,CAAC;gBACN,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAC;oBACvD,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE;4BACpE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;yBACpC,EAAC,CAAC,CAAC;gBACN,CAAC;wBAAS,CAAC;oBACT,mEAAmE;oBACnE,IAAI,CAAC;wBAAC,UAAU,CAAC,IAAI,EAAE,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;oBACvD,IAAI,CAAC;wBACH,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;oBAChF,CAAC;oBAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC,CAAC,EAAE,CAAC;YAEL,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrG,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,mBAAmB,MAAM,EAAE,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAI,EAAE,GAAG;QAGhC,MAAM,UAAU,GAAI,IAAI,CAAC,UAAqB,IAAI,GAAG,CAAC,aAAa,CAAC;QACpE,MAAM,GAAG,GAAG,IAAI,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YAC/B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,SAAS,EAAE;gBACT,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW;gBACxC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW;gBACxC,YAAY,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;aAChE;SACF,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACd,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAA6B,EAAE,GAAsB;QAC7E,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC7B,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACxC,GAAG,GAAG;YACN,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;SACtC,CAAC,CAAC,CAAC;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,IAA6B,EAAE,GAAsB;QAChF,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACpD,MAAM,GAAG,GAAG;YACV,EAAE,EAAG,IAAI,CAAC,EAAa,IAAI,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;YAC3D,IAAI,EAAE,IAAI,CAAC,IAAc;YACzB,WAAW,EAAG,IAAI,CAAC,WAAsB,IAAI,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,IAA0B;YACrC,KAAK,EAAE,IAAI,CAAC,KAA2B;YACvC,QAAQ,EAAE,IAAI,CAAC,QAAkB;YACjC,cAAc,EAAE,IAAI,CAAC,cAAwB;YAC7C,SAAS,EAAG,IAAI,CAAC,SAAoB,IAAI,UAAU;YACnD,MAAM,EAAE,IAAI,CAAC,MAA4B;YACzC,OAAO,EAAE,IAAI,CAAC,OAA8B;YAC5C,gBAAgB,EAAE,IAAI,CAAC,gBAAsC;SAC9D,CAAC;QACF,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,IAA6B,EAAE,GAAsB;QAClF,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACpD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAY,CAAC;QAC7B,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,IAA6B,EAAE,GAAsB;QAChF,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACpD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAY,CAAC;QAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAA6B,EAAE,GAAsB;QAC7E,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACpD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAY,CAAC;QAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,QAAkB,CAAC;QAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;IAChE,CAAC;CACF,CAAC;AAEF,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E,eAAe;IACb,KAAK,CAAC,WAAW,CACf,IAAY,EACZ,IAA6B,EAC7B,OAA0B;QAE1B,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,MAAM,EAAE,wBAAwB,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACnE,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC5C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACpC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACrF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,uBAAuB,CAC3B,OAA4B;QAE5B,MAAM,QAAQ,GAA0B,EAAE,CAAC;QAE3C,uFAAuF;QACvF,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,iBAAiB,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;YACvC,IAAI,MAAM,EAAE,CAAC;gBACX,QAAQ,CAAC,IAAI,CAAC;oBACZ,EAAE,EAAE,kBAAkB;oBACtB,KAAK,EAAE,yBAAyB;oBAChC,OAAO,EAAE,MAAM;oBACf,QAAQ,EAAE,CAAC;iBACZ,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,4CAA4C;QAC9C,CAAC;QAED,6DAA6D;QAC7D,QAAQ,CAAC,IAAI,CAAC;YACZ,EAAE,EAAE,qBAAqB;YACzB,KAAK,EAAE,qBAAqB;YAC5B,OAAO,EAAE;;;;;;;;;;;;;;;;;;uCAkBwB;YACjC,QAAQ,EAAE,EAAE;SACb,CAAC,CAAC;QAEH,uBAAuB;QACvB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAC1B,IAAI,CAAC;gBAEH,MAAM,GAAG,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBACzD,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;gBACrC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;oBAC1E,QAAQ,CAAC,IAAI,CAAC;wBACZ,EAAE,EAAE,sBAAsB;wBAC1B,KAAK,EAAE,sBAAsB;wBAC7B,OAAO,EAAE,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC;4BAC/B,8FAA8F;wBAChG,QAAQ,EAAE,EAAE;qBACb,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,yCAAyC;YAC3C,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAC1B,IAAI,CAAC;gBAEH,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;gBAEnC,MAAM,GAAG,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBACzD,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;gBACrC,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACnD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxB,QAAQ,CAAC,IAAI,CAAC;4BACZ,EAAE,EAAE,oBAAoB;4BACxB,KAAK,EAAE,oBAAoB;4BAC3B,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1B,MAAM,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,WAAW,EAAE,CACjD,CAAC,IAAI,CAAC,IAAI,CAAC;4BACZ,QAAQ,EAAE,EAAE;yBACb,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,qCAAqC;YACvC,CAAC;QACH,CAAC;QAED,kBAAkB;QAClB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBACxD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC7B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACnG,QAAQ,CAAC,IAAI,CAAC;wBACZ,EAAE,EAAE,iBAAiB;wBACrB,KAAK,EAAE,iBAAiB;wBACxB,OAAO,EAAE,2GAA2G,QAAQ,EAAE;wBAC9H,QAAQ,EAAE,EAAE;qBACb,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"ai-chat-provider.js","sourceRoot":"","sources":["../src/ai-chat-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Tool-use agent loop — Claude drives the entire task via tool calls.
3
+ *
4
+ * Instead of plan → execute → retry, the AI calls tools directly:
5
+ * validate → sees errors → read_file → sees code → patch_file → validate → done
6
+ *
7
+ * Supports two providers:
8
+ * - Anthropic API: direct streaming with tool_use blocks
9
+ * - Claude CLI: fallback via callCliAsync (no tool loop, uses --json-schema)
10
+ */
11
+ import type { ProviderInfo, StepLogEntry } from './types.js';
12
+ export interface AgentLoopResult {
13
+ success: boolean;
14
+ summary: string;
15
+ filesModified: string[];
16
+ stepLog: StepLogEntry[];
17
+ toolCallCount: number;
18
+ }
19
+ export declare function runAgentLoop(pInfo: Pick<ProviderInfo, 'type' | 'apiKey' | 'model' | 'maxTokens'>, systemPrompt: string, taskPrompt: string, projectDir: string, maxIterations?: number): Promise<AgentLoopResult>;
20
+ //# sourceMappingURL=agent-loop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-loop.d.ts","sourceRoot":"","sources":["../../src/bot/agent-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAqH7D,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;CACvB;AAaD,wBAAsB,YAAY,CAChC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,CAAC,EACpE,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,aAAa,SAAK,GACjB,OAAO,CAAC,eAAe,CAAC,CA8E1B"}
@@ -0,0 +1,331 @@
1
+ /**
2
+ * Tool-use agent loop — Claude drives the entire task via tool calls.
3
+ *
4
+ * Instead of plan → execute → retry, the AI calls tools directly:
5
+ * validate → sees errors → read_file → sees code → patch_file → validate → done
6
+ *
7
+ * Supports two providers:
8
+ * - Anthropic API: direct streaming with tool_use blocks
9
+ * - Claude CLI: fallback via callCliAsync (no tool loop, uses --json-schema)
10
+ */
11
+ import { executeStep } from './step-executor.js';
12
+ // ---------------------------------------------------------------------------
13
+ // Tool definitions
14
+ // ---------------------------------------------------------------------------
15
+ const TOOLS = [
16
+ {
17
+ name: 'validate',
18
+ description: 'Run flow-weaver validate on a workflow file. Returns JSON with errors and warnings. Use this FIRST to discover issues, and AFTER patching to confirm fixes.',
19
+ input_schema: { type: 'object', properties: { file: { type: 'string', description: 'Path to the workflow file to validate' } }, required: ['file'] },
20
+ },
21
+ {
22
+ name: 'read_file',
23
+ description: 'Read a file and return its full contents. Use this to understand file structure before patching.',
24
+ input_schema: { type: 'object', properties: { file: { type: 'string', description: 'Path to the file to read' } }, required: ['file'] },
25
+ },
26
+ {
27
+ name: 'patch_file',
28
+ description: 'Apply surgical find-and-replace patches to a file. Each patch must have exact "find" and "replace" strings. Preferred over write_file for modifications.',
29
+ input_schema: {
30
+ type: 'object',
31
+ properties: {
32
+ file: { type: 'string', description: 'Path to the file to patch' },
33
+ patches: {
34
+ type: 'array',
35
+ items: {
36
+ type: 'object',
37
+ properties: {
38
+ find: { type: 'string', description: 'Exact string to find' },
39
+ replace: { type: 'string', description: 'String to replace with' },
40
+ },
41
+ required: ['find', 'replace'],
42
+ },
43
+ description: 'Array of find/replace patches',
44
+ },
45
+ },
46
+ required: ['file', 'patches'],
47
+ },
48
+ },
49
+ {
50
+ name: 'run_shell',
51
+ description: 'Execute a shell command and return output. Use for: npx flow-weaver validate, git status, etc. Blocked: rm -rf, git push, sudo.',
52
+ input_schema: { type: 'object', properties: { command: { type: 'string', description: 'Shell command to execute' } }, required: ['command'] },
53
+ },
54
+ {
55
+ name: 'list_files',
56
+ description: 'List files in a directory, optionally filtered by regex pattern.',
57
+ input_schema: {
58
+ type: 'object',
59
+ properties: {
60
+ directory: { type: 'string', description: 'Directory to list' },
61
+ pattern: { type: 'string', description: 'Optional regex filter pattern' },
62
+ },
63
+ required: ['directory'],
64
+ },
65
+ },
66
+ {
67
+ name: 'write_file',
68
+ description: 'Write content to a file (creates or overwrites). Use patch_file instead for modifications to existing files.',
69
+ input_schema: {
70
+ type: 'object',
71
+ properties: {
72
+ file: { type: 'string', description: 'Path to the file to write' },
73
+ content: { type: 'string', description: 'Complete file content' },
74
+ },
75
+ required: ['file', 'content'],
76
+ },
77
+ },
78
+ ];
79
+ // ---------------------------------------------------------------------------
80
+ // Tool execution — delegates to step-executor with all safety guards
81
+ // ---------------------------------------------------------------------------
82
+ async function executeTool(name, args, projectDir) {
83
+ // Map tool names to step-executor operations
84
+ const operationMap = {
85
+ validate: 'run-shell',
86
+ read_file: 'read-file',
87
+ patch_file: 'patch-file',
88
+ run_shell: 'run-shell',
89
+ list_files: 'list-files',
90
+ write_file: 'write-file',
91
+ };
92
+ const operation = operationMap[name];
93
+ if (!operation) {
94
+ return { result: `Unknown tool: ${name}`, isError: true };
95
+ }
96
+ // Transform validate tool to run-shell with flow-weaver validate command
97
+ let stepArgs = { ...args };
98
+ if (name === 'validate') {
99
+ stepArgs = { command: `npx flow-weaver validate ${args.file} --json` };
100
+ }
101
+ try {
102
+ const result = await executeStep({ operation, args: stepArgs }, projectDir);
103
+ if (result.blocked) {
104
+ return { result: result.blockReason ?? 'Blocked by safety guard', isError: true };
105
+ }
106
+ return { result: result.output ?? 'Done', isError: false };
107
+ }
108
+ catch (err) {
109
+ const msg = err instanceof Error ? err.message : String(err);
110
+ return { result: msg, isError: true };
111
+ }
112
+ }
113
+ export async function runAgentLoop(pInfo, systemPrompt, taskPrompt, projectDir, maxIterations = 15) {
114
+ if (pInfo.type !== 'anthropic' || !pInfo.apiKey) {
115
+ throw new Error('Agent loop requires Anthropic API provider with API key');
116
+ }
117
+ const messages = [{ role: 'user', content: taskPrompt }];
118
+ const filesModified = [];
119
+ const stepLog = [];
120
+ let toolCallCount = 0;
121
+ for (let iteration = 0; iteration < maxIterations; iteration++) {
122
+ // Call Anthropic API with streaming
123
+ const { text, toolCalls, finishReason } = await streamAnthropicWithTools(pInfo.apiKey, pInfo.model ?? 'claude-sonnet-4-20250514', systemPrompt, messages, pInfo.maxTokens ?? 8192);
124
+ // Add assistant response to history
125
+ if (toolCalls.length > 0) {
126
+ messages.push({ role: 'assistant', content: text || '', toolCalls });
127
+ }
128
+ else if (text) {
129
+ messages.push({ role: 'assistant', content: text });
130
+ }
131
+ // If no tool calls, we're done
132
+ if (finishReason !== 'tool_calls' || toolCalls.length === 0) {
133
+ return {
134
+ success: true,
135
+ summary: text || 'Task completed',
136
+ filesModified: [...new Set(filesModified)],
137
+ stepLog,
138
+ toolCallCount,
139
+ };
140
+ }
141
+ // Execute tool calls and add results to history
142
+ for (const tc of toolCalls) {
143
+ toolCallCount++;
144
+ process.stderr.write(`\x1b[33m ⚡ ${tc.name}(${formatToolArgs(tc.arguments)})\x1b[0m\n`);
145
+ const { result, isError } = await executeTool(tc.name, tc.arguments, projectDir);
146
+ // Track files modified by patch_file and write_file
147
+ if ((tc.name === 'patch_file' || tc.name === 'write_file') && !isError && tc.arguments.file) {
148
+ filesModified.push(tc.arguments.file);
149
+ }
150
+ // Log step
151
+ stepLog.push({
152
+ step: `${tc.name}`,
153
+ status: isError ? 'error' : 'ok',
154
+ detail: isError ? result.slice(0, 200) : `${tc.name}(${formatToolArgs(tc.arguments)})`,
155
+ });
156
+ // Print result preview
157
+ const preview = result.slice(0, 150).replace(/\n/g, ' ');
158
+ const icon = isError ? '\x1b[31m ✗' : '\x1b[32m →';
159
+ process.stderr.write(`${icon} ${preview}\x1b[0m\n`);
160
+ // Add tool result to conversation
161
+ messages.push({
162
+ role: 'tool',
163
+ content: result.slice(0, 10000), // Cap tool result to prevent context overflow
164
+ toolCallId: tc.id,
165
+ });
166
+ }
167
+ }
168
+ return {
169
+ success: false,
170
+ summary: `Reached max iterations (${maxIterations})`,
171
+ filesModified: [...new Set(filesModified)],
172
+ stepLog,
173
+ toolCallCount,
174
+ };
175
+ }
176
+ function formatToolArgs(args) {
177
+ if (args.file)
178
+ return String(args.file).split('/').pop() ?? '';
179
+ if (args.command)
180
+ return String(args.command).slice(0, 60);
181
+ if (args.directory)
182
+ return String(args.directory);
183
+ return '';
184
+ }
185
+ // ---------------------------------------------------------------------------
186
+ // Anthropic streaming with tool support
187
+ // ---------------------------------------------------------------------------
188
+ async function streamAnthropicWithTools(apiKey, model, systemPrompt, messages, maxTokens) {
189
+ // Build Anthropic API request body
190
+ const apiMessages = messages.map((m) => {
191
+ if (m.role === 'tool') {
192
+ return {
193
+ role: 'user',
194
+ content: [{ type: 'tool_result', tool_use_id: m.toolCallId, content: m.content }],
195
+ };
196
+ }
197
+ if (m.role === 'assistant' && m.toolCalls?.length) {
198
+ const blocks = [];
199
+ if (m.content)
200
+ blocks.push({ type: 'text', text: m.content });
201
+ for (const tc of m.toolCalls) {
202
+ blocks.push({ type: 'tool_use', id: tc.id, name: tc.name, input: tc.arguments });
203
+ }
204
+ return { role: 'assistant', content: blocks };
205
+ }
206
+ return { role: m.role, content: m.content };
207
+ });
208
+ const body = JSON.stringify({
209
+ model,
210
+ max_tokens: maxTokens,
211
+ system: systemPrompt,
212
+ stream: true,
213
+ messages: apiMessages,
214
+ tools: TOOLS,
215
+ });
216
+ const response = await fetch('https://api.anthropic.com/v1/messages', {
217
+ method: 'POST',
218
+ headers: {
219
+ 'x-api-key': apiKey,
220
+ 'anthropic-version': '2025-04-15',
221
+ 'content-type': 'application/json',
222
+ },
223
+ body,
224
+ signal: AbortSignal.timeout(300_000),
225
+ });
226
+ if (!response.ok) {
227
+ const err = await response.text();
228
+ throw new Error(`Anthropic API error ${response.status}: ${err.slice(0, 200)}`);
229
+ }
230
+ if (!response.body)
231
+ throw new Error('No response body');
232
+ // Parse SSE stream
233
+ const reader = response.body.getReader();
234
+ const decoder = new TextDecoder();
235
+ let buffer = '';
236
+ let textContent = '';
237
+ let finishReason = 'stop';
238
+ const toolCalls = [];
239
+ const activeToolUses = new Map();
240
+ let inThinking = false;
241
+ try {
242
+ while (true) {
243
+ const { done, value } = await reader.read();
244
+ if (done)
245
+ break;
246
+ buffer += decoder.decode(value, { stream: true });
247
+ const lines = buffer.split('\n');
248
+ buffer = lines.pop() || '';
249
+ for (const line of lines) {
250
+ if (!line.startsWith('data: '))
251
+ continue;
252
+ const jsonStr = line.slice(6).trim();
253
+ if (jsonStr === '[DONE]')
254
+ continue;
255
+ let event;
256
+ try {
257
+ event = JSON.parse(jsonStr);
258
+ }
259
+ catch {
260
+ continue;
261
+ }
262
+ const eventType = event.type;
263
+ if (eventType === 'content_block_start') {
264
+ const block = event.content_block;
265
+ const index = event.index;
266
+ if (block.type === 'tool_use' && block.id && block.name) {
267
+ activeToolUses.set(index, { id: block.id, name: block.name, jsonChunks: [] });
268
+ }
269
+ if (block.type === 'thinking') {
270
+ inThinking = true;
271
+ process.stderr.write('\x1b[90m thinking...');
272
+ }
273
+ }
274
+ if (eventType === 'content_block_delta') {
275
+ const delta = event.delta;
276
+ const index = event.index;
277
+ if (delta.type === 'text_delta' && delta.text) {
278
+ textContent += delta.text;
279
+ process.stderr.write(`\x1b[36m${delta.text}\x1b[0m`);
280
+ }
281
+ if (delta.type === 'thinking_delta' && delta.thinking) {
282
+ // Thinking — just show indicator, don't spam
283
+ }
284
+ if (delta.type === 'input_json_delta' && delta.partial_json !== undefined) {
285
+ const active = activeToolUses.get(index);
286
+ if (active)
287
+ active.jsonChunks.push(delta.partial_json);
288
+ }
289
+ }
290
+ if (eventType === 'content_block_stop') {
291
+ const index = event.index;
292
+ if (inThinking) {
293
+ process.stderr.write('\x1b[0m\n');
294
+ inThinking = false;
295
+ }
296
+ const active = activeToolUses.get(index);
297
+ if (active) {
298
+ activeToolUses.delete(index);
299
+ let args = {};
300
+ try {
301
+ args = JSON.parse(active.jsonChunks.join(''));
302
+ }
303
+ catch { /* malformed */ }
304
+ toolCalls.push({ id: active.id, name: active.name, arguments: args });
305
+ }
306
+ }
307
+ if (eventType === 'message_delta') {
308
+ const delta = event.delta;
309
+ if (delta.stop_reason === 'tool_use')
310
+ finishReason = 'tool_calls';
311
+ else if (delta.stop_reason === 'end_turn')
312
+ finishReason = 'stop';
313
+ else if (delta.stop_reason)
314
+ finishReason = delta.stop_reason;
315
+ }
316
+ if (eventType === 'error') {
317
+ const errObj = event.error;
318
+ throw new Error(`Anthropic stream error: ${errObj?.message ?? 'unknown'}`);
319
+ }
320
+ }
321
+ }
322
+ }
323
+ finally {
324
+ reader.releaseLock();
325
+ }
326
+ // Newline after streamed text
327
+ if (textContent)
328
+ process.stderr.write('\n');
329
+ return { text: textContent, toolCalls, finishReason };
330
+ }
331
+ //# sourceMappingURL=agent-loop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-loop.js","sourceRoot":"","sources":["../../src/bot/agent-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,MAAM,KAAK,GAAG;IACZ;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,6JAA6J;QAC1K,YAAY,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE;KAC9J;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,kGAAkG;QAC/G,YAAY,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE;KACjJ;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,0JAA0J;QACvK,YAAY,EAAE;YACZ,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;gBAClE,OAAO,EAAE;oBACP,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;4BAC7D,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;yBACnE;wBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;qBAC9B;oBACD,WAAW,EAAE,+BAA+B;iBAC7C;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;SAC9B;KACF;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,iIAAiI;QAC9I,YAAY,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE;KACvJ;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,kEAAkE;QAC/E,YAAY,EAAE;YACZ,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;gBAC/D,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B,EAAE;aAC1E;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;SACxB;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,8GAA8G;QAC3H,YAAY,EAAE;YACZ,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;gBAClE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;aAClE;YACD,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;SAC9B;KACF;CACF,CAAC;AAEF,8EAA8E;AAC9E,qEAAqE;AACrE,8EAA8E;AAE9E,KAAK,UAAU,WAAW,CACxB,IAAY,EACZ,IAA6B,EAC7B,UAAkB;IAElB,6CAA6C;IAC7C,MAAM,YAAY,GAA2B;QAC3C,QAAQ,EAAE,WAAW;QACrB,SAAS,EAAE,WAAW;QACtB,UAAU,EAAE,YAAY;QACxB,SAAS,EAAE,WAAW;QACtB,UAAU,EAAE,YAAY;QACxB,UAAU,EAAE,YAAY;KACzB,CAAC;IAEF,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,EAAE,MAAM,EAAE,iBAAiB,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC5D,CAAC;IAED,yEAAyE;IACzE,IAAI,QAAQ,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;IAC3B,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,QAAQ,GAAG,EAAE,OAAO,EAAE,4BAA4B,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;IACzE,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,UAAU,CAAC,CAAC;QAC5E,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,IAAI,yBAAyB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACpF,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC7D,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACxC,CAAC;AACH,CAAC;AAyBD,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAoE,EACpE,YAAoB,EACpB,UAAkB,EAClB,UAAkB,EAClB,aAAa,GAAG,EAAE;IAElB,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,QAAQ,GAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IACpE,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,aAAa,EAAE,SAAS,EAAE,EAAE,CAAC;QAC/D,oCAAoC;QACpC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,MAAM,wBAAwB,CACtE,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,KAAK,IAAI,0BAA0B,EACzC,YAAY,EACZ,QAAQ,EACR,KAAK,CAAC,SAAS,IAAI,IAAI,CACxB,CAAC;QAEF,oCAAoC;QACpC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QACvE,CAAC;aAAM,IAAI,IAAI,EAAE,CAAC;YAChB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,+BAA+B;QAC/B,IAAI,YAAY,KAAK,YAAY,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5D,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,IAAI,IAAI,gBAAgB;gBACjC,aAAa,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;gBAC1C,OAAO;gBACP,aAAa;aACd,CAAC;QACJ,CAAC;QAED,gDAAgD;QAChD,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;YAC3B,aAAa,EAAE,CAAC;YAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,IAAI,IAAI,cAAc,CAAC,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YAEzF,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAEjF,oDAAoD;YACpD,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;gBAC5F,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAc,CAAC,CAAC;YAClD,CAAC;YAED,WAAW;YACX,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE;gBAClB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;gBAChC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,cAAc,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG;aACvF,CAAC,CAAC;YAEH,uBAAuB;YACvB,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACzD,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC;YACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,OAAO,WAAW,CAAC,CAAC;YAEpD,kCAAkC;YAClC,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,8CAA8C;gBAC/E,UAAU,EAAE,EAAE,CAAC,EAAE;aAClB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,2BAA2B,aAAa,GAAG;QACpD,aAAa,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;QAC1C,OAAO;QACP,aAAa;KACd,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,IAA6B;IACnD,IAAI,IAAI,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;IAC/D,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3D,IAAI,IAAI,CAAC,SAAS;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,8EAA8E;AAC9E,wCAAwC;AACxC,8EAA8E;AAE9E,KAAK,UAAU,wBAAwB,CACrC,MAAc,EACd,KAAa,EACb,YAAoB,EACpB,QAAmB,EACnB,SAAiB;IAEjB,mCAAmC;IACnC,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACrC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACtB,OAAO;gBACL,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;aAClF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;YAClD,MAAM,MAAM,GAAmC,EAAE,CAAC;YAClD,IAAI,CAAC,CAAC,OAAO;gBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9D,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;YACnF,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAChD,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;QAC1B,KAAK;QACL,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,WAAW;QACrB,KAAK,EAAE,KAAK;KACb,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,uCAAuC,EAAE;QACpE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,WAAW,EAAE,MAAM;YACnB,mBAAmB,EAAE,YAAY;YACjC,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI;QACJ,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;KACrC,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAExD,mBAAmB;IACnB,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,YAAY,GAAG,MAAM,CAAC;IAC1B,MAAM,SAAS,GAA4E,EAAE,CAAC;IAC9F,MAAM,cAAc,GAAG,IAAI,GAAG,EAA8D,CAAC;IAC7F,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI;gBAAE,MAAM;YAEhB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;YAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;oBAAE,SAAS;gBACzC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACrC,IAAI,OAAO,KAAK,QAAQ;oBAAE,SAAS;gBAEnC,IAAI,KAA8B,CAAC;gBACnC,IAAI,CAAC;oBAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC;oBAAC,SAAS;gBAAC,CAAC;gBAExD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAc,CAAC;gBAEvC,IAAI,SAAS,KAAK,qBAAqB,EAAE,CAAC;oBACxC,MAAM,KAAK,GAAG,KAAK,CAAC,aAA6D,CAAC;oBAClF,MAAM,KAAK,GAAG,KAAK,CAAC,KAAe,CAAC;oBACpC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;wBACxD,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;oBAChF,CAAC;oBACD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;wBAC9B,UAAU,GAAG,IAAI,CAAC;wBAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;oBAChD,CAAC;gBACH,CAAC;gBAED,IAAI,SAAS,KAAK,qBAAqB,EAAE,CAAC;oBACxC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAgC,CAAC;oBACrD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAe,CAAC;oBAEpC,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;wBAC9C,WAAW,IAAI,KAAK,CAAC,IAAc,CAAC;wBACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC;oBACvD,CAAC;oBACD,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;wBACtD,6CAA6C;oBAC/C,CAAC;oBACD,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;wBAC1E,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBACzC,IAAI,MAAM;4BAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,YAAsB,CAAC,CAAC;oBACnE,CAAC;gBACH,CAAC;gBAED,IAAI,SAAS,KAAK,oBAAoB,EAAE,CAAC;oBACvC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAe,CAAC;oBACpC,IAAI,UAAU,EAAE,CAAC;wBACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;wBAClC,UAAU,GAAG,KAAK,CAAC;oBACrB,CAAC;oBACD,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,MAAM,EAAE,CAAC;wBACX,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAC7B,IAAI,IAAI,GAA4B,EAAE,CAAC;wBACvC,IAAI,CAAC;4BAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;wBAAC,CAAC;wBAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;wBAChF,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACxE,CAAC;gBACH,CAAC;gBAED,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;oBAClC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAiC,CAAC;oBACtD,IAAI,KAAK,CAAC,WAAW,KAAK,UAAU;wBAAE,YAAY,GAAG,YAAY,CAAC;yBAC7D,IAAI,KAAK,CAAC,WAAW,KAAK,UAAU;wBAAE,YAAY,GAAG,MAAM,CAAC;yBAC5D,IAAI,KAAK,CAAC,WAAW;wBAAE,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC;gBAC/D,CAAC;gBAED,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;oBAC1B,MAAM,MAAM,GAAG,KAAK,CAAC,KAA6B,CAAC;oBACnD,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,EAAE,OAAO,IAAI,SAAS,EAAE,CAAC,CAAC;gBAC7E,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAED,8BAA8B;IAC9B,IAAI,WAAW;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE5C,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;AACxD,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * AIRouterImpl — LLM-powered routing for ambiguous profile selection.
3
+ *
4
+ * When multiple bot profiles match a task, the orchestrator delegates
5
+ * to this router to pick the best one.
6
+ * Uses the project's configured AI provider via the callAI infrastructure.
7
+ */
8
+ import type { AIRouter, AIRouterResult } from './orchestrator.js';
9
+ import type { BotProfile, OrchestratorInput } from './profile-types.js';
10
+ type Task = OrchestratorInput['pendingTasks'][number];
11
+ export declare class AIRouterImpl implements AIRouter {
12
+ private projectDir;
13
+ constructor(projectDir: string);
14
+ route(task: Task, candidates: BotProfile[]): Promise<AIRouterResult>;
15
+ /** @internal — exposed for testing */
16
+ _buildPrompt(task: Task, candidates: BotProfile[]): string;
17
+ }
18
+ export {};
19
+ //# sourceMappingURL=ai-router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-router.d.ts","sourceRoot":"","sources":["../../src/bot/ai-router.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAKxE,KAAK,IAAI,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AA8CtD,qBAAa,YAAa,YAAW,QAAQ;IAC3C,OAAO,CAAC,UAAU,CAAS;gBAEf,UAAU,EAAE,MAAM;IAIxB,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAwB1E,sCAAsC;IACtC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,MAAM;CAuC3D"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * AIRouterImpl — LLM-powered routing for ambiguous profile selection.
3
+ *
4
+ * When multiple bot profiles match a task, the orchestrator delegates
5
+ * to this router to pick the best one.
6
+ * Uses the project's configured AI provider via the callAI infrastructure.
7
+ */
8
+ import { callAI, parseJsonResponse } from './ai-client.js';
9
+ import { resolveProviderConfig } from './agent-provider.js';
10
+ // ---------------------------------------------------------------------------
11
+ // Provider resolution — map BotProviderConfig.name to ProviderInfo.type
12
+ // ---------------------------------------------------------------------------
13
+ const NAME_TO_TYPE = {
14
+ anthropic: 'anthropic',
15
+ 'claude-cli': 'claude-cli',
16
+ 'copilot-cli': 'copilot-cli',
17
+ platform: 'platform',
18
+ };
19
+ function resolveProviderInfo(projectDir) {
20
+ // Try reading .weaver.json from the project directory
21
+ let providerInput = 'auto';
22
+ try {
23
+ const fs = require('node:fs');
24
+ const path = require('node:path');
25
+ const configPath = path.join(projectDir, '.weaver.json');
26
+ if (fs.existsSync(configPath)) {
27
+ const config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
28
+ if (config.provider)
29
+ providerInput = config.provider;
30
+ }
31
+ }
32
+ catch { /* use auto detection */ }
33
+ const resolved = resolveProviderConfig(providerInput);
34
+ const type = NAME_TO_TYPE[resolved.name] ?? 'claude-cli';
35
+ return {
36
+ type,
37
+ model: resolved.model,
38
+ maxTokens: resolved.maxTokens,
39
+ apiKey: type === 'anthropic' ? process.env.ANTHROPIC_API_KEY : undefined,
40
+ };
41
+ }
42
+ // ---------------------------------------------------------------------------
43
+ // AIRouterImpl
44
+ // ---------------------------------------------------------------------------
45
+ const SYSTEM_PROMPT = 'You are a task routing orchestrator. Given a task and candidate bot profiles, ' +
46
+ 'select the best profile to handle the task. Respond with ONLY valid JSON: ' +
47
+ '{ "profileId": "...", "reason": "...", "confidence": 0.0-1.0 }';
48
+ export class AIRouterImpl {
49
+ projectDir;
50
+ constructor(projectDir) {
51
+ this.projectDir = projectDir;
52
+ }
53
+ async route(task, candidates) {
54
+ const prompt = this._buildPrompt(task, candidates);
55
+ const providerInfo = resolveProviderInfo(this.projectDir);
56
+ // Use a low max-tokens since this is just a routing decision
57
+ const response = await callAI(providerInfo, SYSTEM_PROMPT, prompt, 256);
58
+ const result = parseJsonResponse(response);
59
+ if (!result.profileId) {
60
+ throw new Error('AI router returned no profileId');
61
+ }
62
+ return {
63
+ profileId: result.profileId,
64
+ reason: result.reason || 'AI-selected',
65
+ confidence: typeof result.confidence === 'number' ? result.confidence : 0.5,
66
+ };
67
+ }
68
+ /** @internal — exposed for testing */
69
+ _buildPrompt(task, candidates) {
70
+ const lines = [
71
+ `Task: "${task.title}"`,
72
+ task.description ? `Description: ${task.description}` : '',
73
+ task.complexity ? `Complexity: ${task.complexity}` : '',
74
+ '',
75
+ 'Candidate profiles:',
76
+ ...candidates.map((p) => {
77
+ const parts = [`- ${p.id} (${p.name}):`];
78
+ if (p.capabilities.length > 0) {
79
+ parts.push(' Capabilities:');
80
+ for (const cap of p.capabilities) {
81
+ parts.push(` - ${cap.name}: ${cap.description}`);
82
+ }
83
+ }
84
+ parts.push(` Cost strategy: ${p.preferences.costStrategy}`);
85
+ if (p.preferences.instructions) {
86
+ parts.push(` Instructions: ${p.preferences.instructions}`);
87
+ }
88
+ parts.push(` maxInstances=${p.maxInstances}`);
89
+ return parts.join('\n');
90
+ }),
91
+ ];
92
+ // Add previous attempt info if available
93
+ const failures = task.context.runSummaries.filter((r) => r.outcome !== 'success');
94
+ if (failures.length > 0) {
95
+ lines.push('', `Previous attempts: ${task.context.runSummaries.length} (${failures.length} failed)`);
96
+ for (const f of failures.slice(-3)) {
97
+ lines.push(` - ${f.botId}: ${f.outcome}`);
98
+ }
99
+ }
100
+ lines.push('', 'Select the best profile. Respond with JSON only.');
101
+ return lines.filter(Boolean).join('\n');
102
+ }
103
+ }
104
+ //# sourceMappingURL=ai-router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-router.js","sourceRoot":"","sources":["../../src/bot/ai-router.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAkB,MAAM,qBAAqB,CAAC;AAI5E,8EAA8E;AAC9E,wEAAwE;AACxE,8EAA8E;AAE9E,MAAM,YAAY,GAAyC;IACzD,SAAS,EAAE,WAAW;IACtB,YAAY,EAAE,YAAY;IAC1B,aAAa,EAAE,aAAa;IAC5B,QAAQ,EAAE,UAAU;CACrB,CAAC;AAEF,SAAS,mBAAmB,CAAC,UAAkB;IAC7C,sDAAsD;IACtD,IAAI,aAAa,GAAkE,MAAM,CAAC;IAC1F,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QACzD,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;YAChE,IAAI,MAAM,CAAC,QAAQ;gBAAE,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC;QACvD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,wBAAwB,CAAC,CAAC;IAEpC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC;IAEzD,OAAO;QACL,IAAI;QACJ,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,MAAM,EAAE,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS;KACzE,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,MAAM,aAAa,GACjB,gFAAgF;IAChF,4EAA4E;IAC5E,gEAAgE,CAAC;AAEnE,MAAM,OAAO,YAAY;IACf,UAAU,CAAS;IAE3B,YAAY,UAAkB;QAC5B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAU,EAAE,UAAwB;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACnD,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE1D,6DAA6D;QAC7D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAExE,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAIxC,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QAED,OAAO;YACL,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,aAAa;YACtC,UAAU,EAAE,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG;SAC5E,CAAC;IACJ,CAAC;IAED,sCAAsC;IACtC,YAAY,CAAC,IAAU,EAAE,UAAwB;QAC/C,MAAM,KAAK,GAAG;YACZ,UAAU,IAAI,CAAC,KAAK,GAAG;YACvB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE;YAC1D,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE;YACvD,EAAE;YACF,qBAAqB;YACrB,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACtB,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;gBACzC,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9B,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;oBAC9B,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;wBACjC,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;oBACtD,CAAC;gBACH,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC;gBAC7D,IAAI,CAAC,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;oBAC/B,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC;gBAC9D,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;gBAC/C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC,CAAC;SACH,CAAC;QAEF,yCAAyC;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC;QAClF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CACR,EAAE,EACF,sBAAsB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,UAAU,CACrF,CAAC;YACF,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,kDAAkD,CAAC,CAAC;QACnE,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"assistant-tools.d.ts","sourceRoot":"","sources":["../../src/bot/assistant-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAMnF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,EAAE,eAAe,EAAE,CAAC;AAS3B,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,sBAAsB,EAAE,cAAc,GAAG,YAAY,CA+jBxI"}
1
+ {"version":3,"file":"assistant-tools.d.ts","sourceRoot":"","sources":["../../src/bot/assistant-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAMnF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,EAAE,eAAe,EAAE,CAAC;AAS3B,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,sBAAsB,EAAE,cAAc,GAAG,YAAY,CAilBxI"}