flujo-ai 3.21.0 → 3.22.0

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 (522) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +267 -225
  3. package/.next/app-path-routes-manifest.json +9 -6
  4. package/.next/build-manifest.json +5 -5
  5. package/.next/prerender-manifest.json +36 -12
  6. package/.next/react-loadable-manifest.json +10 -8
  7. package/.next/routes-manifest.json +6 -0
  8. package/.next/server/app/_not-found/page.js +2 -2
  9. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  10. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  11. package/.next/server/app/_not-found.html +1 -1
  12. package/.next/server/app/_not-found.rsc +5 -3
  13. package/.next/server/app/api/approvals/[id]/route.js +1 -1
  14. package/.next/server/app/api/approvals/[id]/route.js.nft.json +1 -1
  15. package/.next/server/app/api/approvals/[id]/route_client-reference-manifest.js +1 -1
  16. package/.next/server/app/api/approvals/route.js +2 -2
  17. package/.next/server/app/api/approvals/route.js.nft.json +1 -1
  18. package/.next/server/app/api/approvals/route_client-reference-manifest.js +1 -1
  19. package/.next/server/app/api/backup/route.js +1 -1
  20. package/.next/server/app/api/backup/route.js.nft.json +1 -1
  21. package/.next/server/app/api/backup/route_client-reference-manifest.js +1 -1
  22. package/.next/server/app/api/browse/route.js +1 -1
  23. package/.next/server/app/api/browse/route.js.nft.json +1 -1
  24. package/.next/server/app/api/browse/route_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/bugs/enhance/route.js +14 -0
  26. package/.next/server/app/api/bugs/enhance/route.js.nft.json +1 -0
  27. package/.next/server/app/api/bugs/enhance/route_client-reference-manifest.js +1 -0
  28. package/.next/server/app/api/cwd/route.js +1 -1
  29. package/.next/server/app/api/cwd/route.js.nft.json +1 -1
  30. package/.next/server/app/api/cwd/route_client-reference-manifest.js +1 -1
  31. package/.next/server/app/api/encryption/secure/route.js +1 -1
  32. package/.next/server/app/api/encryption/secure/route.js.nft.json +1 -1
  33. package/.next/server/app/api/encryption/secure/route_client-reference-manifest.js +1 -1
  34. package/.next/server/app/api/env/route.js +1 -1
  35. package/.next/server/app/api/env/route.js.nft.json +1 -1
  36. package/.next/server/app/api/env/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/api/flow/[id]/route.js +1 -1
  38. package/.next/server/app/api/flow/[id]/route.js.nft.json +1 -1
  39. package/.next/server/app/api/flow/[id]/route_client-reference-manifest.js +1 -1
  40. package/.next/server/app/api/flow/compile/route.js +1 -1
  41. package/.next/server/app/api/flow/compile/route.js.nft.json +1 -1
  42. package/.next/server/app/api/flow/compile/route_client-reference-manifest.js +1 -1
  43. package/.next/server/app/api/flow/generate/route.js +1 -1
  44. package/.next/server/app/api/flow/generate/route.js.nft.json +1 -1
  45. package/.next/server/app/api/flow/generate/route_client-reference-manifest.js +1 -1
  46. package/.next/server/app/api/flow/improve/route.js +1 -1
  47. package/.next/server/app/api/flow/improve/route.js.nft.json +1 -1
  48. package/.next/server/app/api/flow/improve/route_client-reference-manifest.js +1 -1
  49. package/.next/server/app/api/flow/prompt-renderer/route.js +1 -1
  50. package/.next/server/app/api/flow/prompt-renderer/route.js.nft.json +1 -1
  51. package/.next/server/app/api/flow/prompt-renderer/route_client-reference-manifest.js +1 -1
  52. package/.next/server/app/api/flow/quick-chat/route.js +1 -1
  53. package/.next/server/app/api/flow/quick-chat/route.js.nft.json +1 -1
  54. package/.next/server/app/api/flow/quick-chat/route_client-reference-manifest.js +1 -1
  55. package/.next/server/app/api/flow/repair/route.js +1 -1
  56. package/.next/server/app/api/flow/repair/route.js.nft.json +1 -1
  57. package/.next/server/app/api/flow/repair/route_client-reference-manifest.js +1 -1
  58. package/.next/server/app/api/flow/route.js +1 -1
  59. package/.next/server/app/api/flow/route.js.nft.json +1 -1
  60. package/.next/server/app/api/flow/route_client-reference-manifest.js +1 -1
  61. package/.next/server/app/api/git/route.js +6 -4
  62. package/.next/server/app/api/git/route.js.nft.json +1 -1
  63. package/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
  64. package/.next/server/app/api/init/route.js +1 -1
  65. package/.next/server/app/api/init/route.js.nft.json +1 -1
  66. package/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  67. package/.next/server/app/api/local-models/capability/route_client-reference-manifest.js +1 -1
  68. package/.next/server/app/api/local-models/pull/route_client-reference-manifest.js +1 -1
  69. package/.next/server/app/api/local-models/suggest/route_client-reference-manifest.js +1 -1
  70. package/.next/server/app/api/mcp/cancel/route.js +2 -2
  71. package/.next/server/app/api/mcp/cancel/route.js.nft.json +1 -1
  72. package/.next/server/app/api/mcp/cancel/route_client-reference-manifest.js +1 -1
  73. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js +1 -1
  74. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js.nft.json +1 -1
  75. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route_client-reference-manifest.js +1 -1
  76. package/.next/server/app/api/mcp/servers/[name]/prompts/route.js +1 -1
  77. package/.next/server/app/api/mcp/servers/[name]/prompts/route.js.nft.json +1 -1
  78. package/.next/server/app/api/mcp/servers/[name]/prompts/route_client-reference-manifest.js +1 -1
  79. package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js +1 -1
  80. package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js.nft.json +1 -1
  81. package/.next/server/app/api/mcp/servers/[name]/resources/read/route_client-reference-manifest.js +1 -1
  82. package/.next/server/app/api/mcp/servers/[name]/resources/route.js +1 -1
  83. package/.next/server/app/api/mcp/servers/[name]/resources/route.js.nft.json +1 -1
  84. package/.next/server/app/api/mcp/servers/[name]/resources/route_client-reference-manifest.js +1 -1
  85. package/.next/server/app/api/mcp/servers/[name]/route.js +1 -1
  86. package/.next/server/app/api/mcp/servers/[name]/route.js.nft.json +1 -1
  87. package/.next/server/app/api/mcp/servers/[name]/route_client-reference-manifest.js +1 -1
  88. package/.next/server/app/api/mcp/servers/[name]/status/route.js +1 -1
  89. package/.next/server/app/api/mcp/servers/[name]/status/route.js.nft.json +1 -1
  90. package/.next/server/app/api/mcp/servers/[name]/status/route_client-reference-manifest.js +1 -1
  91. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js +1 -1
  92. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js.nft.json +1 -1
  93. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route_client-reference-manifest.js +1 -1
  94. package/.next/server/app/api/mcp/servers/[name]/tools/route.js +1 -1
  95. package/.next/server/app/api/mcp/servers/[name]/tools/route.js.nft.json +1 -1
  96. package/.next/server/app/api/mcp/servers/[name]/tools/route_client-reference-manifest.js +1 -1
  97. package/.next/server/app/api/mcp/servers/route.js +1 -1
  98. package/.next/server/app/api/mcp/servers/route.js.nft.json +1 -1
  99. package/.next/server/app/api/mcp/servers/route_client-reference-manifest.js +1 -1
  100. package/.next/server/app/api/mcp/test-connection/route.js +1 -1
  101. package/.next/server/app/api/mcp/test-connection/route.js.nft.json +1 -1
  102. package/.next/server/app/api/mcp/test-connection/route_client-reference-manifest.js +1 -1
  103. package/.next/server/app/api/mcp/test-connection/stream/route.js +1 -1
  104. package/.next/server/app/api/mcp/test-connection/stream/route.js.nft.json +1 -1
  105. package/.next/server/app/api/mcp/test-connection/stream/route_client-reference-manifest.js +1 -1
  106. package/.next/server/app/api/mcp-registry/route.js +1 -1
  107. package/.next/server/app/api/mcp-registry/route.js.nft.json +1 -1
  108. package/.next/server/app/api/mcp-registry/route_client-reference-manifest.js +1 -1
  109. package/.next/server/app/api/mcp-registry/spotlight/route.js +1 -1
  110. package/.next/server/app/api/mcp-registry/spotlight/route.js.nft.json +1 -1
  111. package/.next/server/app/api/mcp-registry/spotlight/route_client-reference-manifest.js +1 -1
  112. package/.next/server/app/api/model/[id]/route.js +1 -1
  113. package/.next/server/app/api/model/[id]/route.js.nft.json +1 -1
  114. package/.next/server/app/api/model/[id]/route_client-reference-manifest.js +1 -1
  115. package/.next/server/app/api/model/provider/route.js +1 -1
  116. package/.next/server/app/api/model/provider/route.js.nft.json +1 -1
  117. package/.next/server/app/api/model/provider/route_client-reference-manifest.js +1 -1
  118. package/.next/server/app/api/model/route.js +1 -1
  119. package/.next/server/app/api/model/route.js.nft.json +1 -1
  120. package/.next/server/app/api/model/route_client-reference-manifest.js +1 -1
  121. package/.next/server/app/api/model/test/route.js +1 -1
  122. package/.next/server/app/api/model/test/route.js.nft.json +1 -1
  123. package/.next/server/app/api/model/test/route_client-reference-manifest.js +1 -1
  124. package/.next/server/app/api/oauth/callback/route.js +1 -1
  125. package/.next/server/app/api/oauth/callback/route.js.nft.json +1 -1
  126. package/.next/server/app/api/oauth/callback/route_client-reference-manifest.js +1 -1
  127. package/.next/server/app/api/oauth/initiate/route.js +1 -1
  128. package/.next/server/app/api/oauth/initiate/route.js.nft.json +1 -1
  129. package/.next/server/app/api/oauth/initiate/route_client-reference-manifest.js +1 -1
  130. package/.next/server/app/api/oauth/reset/route.js +1 -1
  131. package/.next/server/app/api/oauth/reset/route.js.nft.json +1 -1
  132. package/.next/server/app/api/oauth/reset/route_client-reference-manifest.js +1 -1
  133. package/.next/server/app/api/planned-executions/[id]/route.js +1 -1
  134. package/.next/server/app/api/planned-executions/[id]/route.js.nft.json +1 -1
  135. package/.next/server/app/api/planned-executions/[id]/route_client-reference-manifest.js +1 -1
  136. package/.next/server/app/api/planned-executions/[id]/run/route.js +1 -1
  137. package/.next/server/app/api/planned-executions/[id]/run/route.js.nft.json +1 -1
  138. package/.next/server/app/api/planned-executions/[id]/run/route_client-reference-manifest.js +1 -1
  139. package/.next/server/app/api/planned-executions/[id]/runs/route.js +1 -1
  140. package/.next/server/app/api/planned-executions/[id]/runs/route.js.nft.json +1 -1
  141. package/.next/server/app/api/planned-executions/[id]/runs/route_client-reference-manifest.js +1 -1
  142. package/.next/server/app/api/planned-executions/preview-schedule/route.js +1 -1
  143. package/.next/server/app/api/planned-executions/preview-schedule/route.js.nft.json +1 -1
  144. package/.next/server/app/api/planned-executions/preview-schedule/route_client-reference-manifest.js +1 -1
  145. package/.next/server/app/api/planned-executions/reconcile/route.js +1 -1
  146. package/.next/server/app/api/planned-executions/reconcile/route.js.nft.json +1 -1
  147. package/.next/server/app/api/planned-executions/reconcile/route_client-reference-manifest.js +1 -1
  148. package/.next/server/app/api/planned-executions/route.js +1 -1
  149. package/.next/server/app/api/planned-executions/route.js.nft.json +1 -1
  150. package/.next/server/app/api/planned-executions/route_client-reference-manifest.js +1 -1
  151. package/.next/server/app/api/restore/route.js +1 -1
  152. package/.next/server/app/api/restore/route.js.nft.json +1 -1
  153. package/.next/server/app/api/restore/route_client-reference-manifest.js +1 -1
  154. package/.next/server/app/api/runs/active/route.js +1 -1
  155. package/.next/server/app/api/runs/active/route.js.nft.json +1 -1
  156. package/.next/server/app/api/runs/active/route_client-reference-manifest.js +1 -1
  157. package/.next/server/app/api/storage/route.js +1 -1
  158. package/.next/server/app/api/storage/route.js.nft.json +1 -1
  159. package/.next/server/app/api/storage/route_client-reference-manifest.js +1 -1
  160. package/.next/server/app/api/update/route.js +1 -1
  161. package/.next/server/app/api/update/route.js.nft.json +1 -1
  162. package/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  163. package/.next/server/app/api/waves/route.js +1 -0
  164. package/.next/server/app/api/waves/route.js.nft.json +1 -0
  165. package/.next/server/app/api/waves/route_client-reference-manifest.js +1 -0
  166. package/.next/server/app/api/webhooks/[id]/route.js +1 -1
  167. package/.next/server/app/api/webhooks/[id]/route.js.nft.json +1 -1
  168. package/.next/server/app/api/webhooks/[id]/route_client-reference-manifest.js +1 -1
  169. package/.next/server/app/chat/page.js +3 -3
  170. package/.next/server/app/chat/page.js.nft.json +1 -1
  171. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  172. package/.next/server/app/chat.html +1 -1
  173. package/.next/server/app/chat.rsc +6 -4
  174. package/.next/server/app/docs/page.js +6 -4
  175. package/.next/server/app/docs/page.js.nft.json +1 -1
  176. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  177. package/.next/server/app/docs.html +1 -1
  178. package/.next/server/app/docs.rsc +6 -4
  179. package/.next/server/app/executions/page.js +3 -3
  180. package/.next/server/app/executions/page.js.nft.json +1 -1
  181. package/.next/server/app/executions/page_client-reference-manifest.js +1 -1
  182. package/.next/server/app/executions.html +1 -1
  183. package/.next/server/app/executions.rsc +6 -4
  184. package/.next/server/app/flows/page.js +3 -3
  185. package/.next/server/app/flows/page.js.nft.json +1 -1
  186. package/.next/server/app/flows/page_client-reference-manifest.js +1 -1
  187. package/.next/server/app/flows.html +1 -1
  188. package/.next/server/app/flows.rsc +6 -4
  189. package/.next/server/app/index.html +1 -1
  190. package/.next/server/app/index.rsc +6 -4
  191. package/.next/server/app/mcp/page.js +1 -1
  192. package/.next/server/app/mcp/page.js.nft.json +1 -1
  193. package/.next/server/app/mcp/page_client-reference-manifest.js +1 -1
  194. package/.next/server/app/mcp-flows/route.js +1 -1
  195. package/.next/server/app/mcp-flows/route.js.nft.json +1 -1
  196. package/.next/server/app/mcp-flows/route_client-reference-manifest.js +1 -1
  197. package/.next/server/app/mcp-proxy/[server]/route.js +1 -1
  198. package/.next/server/app/mcp-proxy/[server]/route.js.nft.json +1 -1
  199. package/.next/server/app/mcp-proxy/[server]/route_client-reference-manifest.js +1 -1
  200. package/.next/server/app/mcp.html +1 -1
  201. package/.next/server/app/mcp.rsc +6 -4
  202. package/.next/server/app/models/page.js +2 -2
  203. package/.next/server/app/models/page.js.nft.json +1 -1
  204. package/.next/server/app/models/page_client-reference-manifest.js +1 -1
  205. package/.next/server/app/page.js +2 -2
  206. package/.next/server/app/page.js.nft.json +1 -1
  207. package/.next/server/app/page_client-reference-manifest.js +1 -1
  208. package/.next/server/app/settings/page.js +14 -4
  209. package/.next/server/app/settings/page.js.nft.json +1 -1
  210. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  211. package/.next/server/app/settings.html +1 -1
  212. package/.next/server/app/settings.rsc +6 -4
  213. package/.next/server/app/v1/chat/completions/route.js +1 -1
  214. package/.next/server/app/v1/chat/completions/route.js.nft.json +1 -1
  215. package/.next/server/app/v1/chat/completions/route_client-reference-manifest.js +1 -1
  216. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js +2 -2
  217. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js.nft.json +1 -1
  218. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route_client-reference-manifest.js +1 -1
  219. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js +2 -2
  220. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js.nft.json +1 -1
  221. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route_client-reference-manifest.js +1 -1
  222. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js +1 -1
  223. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js.nft.json +1 -1
  224. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route_client-reference-manifest.js +1 -1
  225. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js +1 -1
  226. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js.nft.json +1 -1
  227. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route_client-reference-manifest.js +1 -1
  228. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js +2 -2
  229. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js.nft.json +1 -1
  230. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route_client-reference-manifest.js +1 -1
  231. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js +1 -1
  232. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js.nft.json +1 -1
  233. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route_client-reference-manifest.js +1 -1
  234. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route.js +1 -1
  235. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route.js.nft.json +1 -1
  236. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route_client-reference-manifest.js +1 -1
  237. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js +1 -1
  238. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js.nft.json +1 -1
  239. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route_client-reference-manifest.js +1 -1
  240. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js +1 -1
  241. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js.nft.json +1 -1
  242. package/.next/server/app/v1/chat/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
  243. package/.next/server/app/v1/chat/conversations/route.js +1 -1
  244. package/.next/server/app/v1/chat/conversations/route.js.nft.json +1 -1
  245. package/.next/server/app/v1/chat/conversations/route_client-reference-manifest.js +1 -1
  246. package/.next/server/app/v1/models/route.js +1 -1
  247. package/.next/server/app/v1/models/route.js.nft.json +1 -1
  248. package/.next/server/app/v1/models/route_client-reference-manifest.js +1 -1
  249. package/.next/server/app/waves/page.js +4 -0
  250. package/.next/server/app/waves/page.js.nft.json +1 -0
  251. package/.next/server/app/waves/page_client-reference-manifest.js +1 -0
  252. package/.next/server/app/waves.html +1 -0
  253. package/.next/server/app/waves.meta +7 -0
  254. package/.next/server/app/waves.rsc +22 -0
  255. package/.next/server/app-paths-manifest.json +9 -6
  256. package/.next/server/chunks/1152.js +1 -1
  257. package/.next/server/chunks/1226.js +1 -1
  258. package/.next/server/chunks/1377.js +1 -1
  259. package/.next/server/chunks/1439.js +1 -0
  260. package/.next/server/chunks/1556.js +52 -0
  261. package/.next/server/chunks/1910.js +37 -0
  262. package/.next/server/chunks/{4949.js → 1999.js} +1 -1
  263. package/.next/server/chunks/264.js +17 -0
  264. package/.next/server/chunks/2859.js +1 -1
  265. package/.next/server/chunks/289.js +1 -1
  266. package/.next/server/chunks/{6772.js → 3030.js} +1 -1
  267. package/.next/server/chunks/{6901.js → 3286.js} +1 -1
  268. package/.next/server/chunks/3489.js +1 -0
  269. package/.next/server/chunks/3648.js +1 -0
  270. package/.next/server/chunks/3823.js +5 -5
  271. package/.next/server/chunks/4239.js +1 -0
  272. package/.next/server/chunks/4265.js +1 -1
  273. package/.next/server/chunks/4372.js +1 -0
  274. package/.next/server/chunks/4456.js +1 -1
  275. package/.next/server/chunks/4561.js +3 -3
  276. package/.next/server/chunks/4637.js +5 -3
  277. package/.next/server/chunks/4671.js +1 -1
  278. package/.next/server/chunks/472.js +1 -0
  279. package/.next/server/chunks/4771.js +6 -0
  280. package/.next/server/chunks/5148.js +1 -0
  281. package/.next/server/chunks/5311.js +1 -0
  282. package/.next/server/chunks/5708.js +5 -3
  283. package/.next/server/chunks/6644.js +1 -0
  284. package/.next/server/chunks/6908.js +3 -3
  285. package/.next/server/chunks/7214.js +1 -1
  286. package/.next/server/chunks/724.js +1 -1
  287. package/.next/server/chunks/7362.js +10 -10
  288. package/.next/server/chunks/7427.js +1 -0
  289. package/.next/server/chunks/7463.js +4 -4
  290. package/.next/server/chunks/7506.js +1 -1
  291. package/.next/server/chunks/7821.js +1 -1
  292. package/.next/server/chunks/8357.js +1 -0
  293. package/.next/server/chunks/8518.js +2 -0
  294. package/.next/server/chunks/8745.js +28 -0
  295. package/.next/server/functions-config-manifest.json +2 -2
  296. package/.next/server/middleware-build-manifest.js +1 -1
  297. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  298. package/.next/server/pages/404.html +1 -1
  299. package/.next/server/pages/500.html +1 -1
  300. package/.next/server/server-reference-manifest.js +1 -1
  301. package/.next/server/server-reference-manifest.json +1 -1
  302. package/.next/static/MMmWHUQ3UAJBdRB7G1zGj/_buildManifest.js +1 -0
  303. package/.next/static/chunks/1871-dd8c10ed9d37100b.js +1 -0
  304. package/.next/static/chunks/1983-242862b3dc022a26.js +1 -0
  305. package/.next/static/chunks/2003-460f30484998c05d.js +1 -0
  306. package/.next/static/chunks/4207-41abb9622eb4b4f8.js +1 -0
  307. package/.next/static/chunks/4812-4a9aceb49632a973.js +1 -0
  308. package/.next/static/chunks/5501-f5b093c8dfd74196.js +1 -0
  309. package/.next/static/chunks/5545-2ab6e5d749e103cd.js +1 -0
  310. package/.next/static/chunks/6016.a157e5bde2faa652.js +1 -0
  311. package/.next/static/chunks/6288-a285bbbd701e0dbf.js +1 -0
  312. package/.next/static/chunks/{9114-f8e481157e7d8d16.js → 6730-c330b55cd0fe4f47.js} +1 -1
  313. package/.next/static/chunks/{5619-7ed132269b34f9b6.js → 7430-6e78aaeac66988a9.js} +1 -1
  314. package/.next/static/chunks/8083.16fda2c7f6d10d0c.js +1 -0
  315. package/.next/static/chunks/812-181496bc32cd0cd3.js +1 -0
  316. package/.next/static/chunks/{4742-8501334dffd3b129.js → 8480-229fd353b68b570f.js} +1 -1
  317. package/.next/static/chunks/8834-bda798efab40c60a.js +1 -0
  318. package/.next/static/chunks/9181-8d8ecd3f641b7209.js +8 -0
  319. package/.next/static/chunks/9356-99ba407b60b9dfe9.js +1 -0
  320. package/.next/static/chunks/9451-680fa09f81f18806.js +1 -0
  321. package/.next/static/chunks/9659-a279e3aaba407251.js +1 -0
  322. package/.next/static/chunks/app/api/approvals/[id]/route-6b442f97c5062f2c.js +1 -0
  323. package/.next/static/chunks/app/api/approvals/route-6b442f97c5062f2c.js +1 -0
  324. package/.next/static/chunks/app/api/backup/route-6b442f97c5062f2c.js +1 -0
  325. package/.next/static/chunks/app/api/browse/route-6b442f97c5062f2c.js +1 -0
  326. package/.next/static/chunks/app/api/bugs/enhance/route-6b442f97c5062f2c.js +1 -0
  327. package/.next/static/chunks/app/api/cwd/route-6b442f97c5062f2c.js +1 -0
  328. package/.next/static/chunks/app/api/encryption/secure/route-6b442f97c5062f2c.js +1 -0
  329. package/.next/static/chunks/app/api/env/route-6b442f97c5062f2c.js +1 -0
  330. package/.next/static/chunks/app/api/flow/[id]/route-6b442f97c5062f2c.js +1 -0
  331. package/.next/static/chunks/app/api/flow/compile/route-6b442f97c5062f2c.js +1 -0
  332. package/.next/static/chunks/app/api/flow/generate/route-6b442f97c5062f2c.js +1 -0
  333. package/.next/static/chunks/app/api/flow/improve/route-6b442f97c5062f2c.js +1 -0
  334. package/.next/static/chunks/app/api/flow/prompt-renderer/route-6b442f97c5062f2c.js +1 -0
  335. package/.next/static/chunks/app/api/flow/quick-chat/route-6b442f97c5062f2c.js +1 -0
  336. package/.next/static/chunks/app/api/flow/repair/route-6b442f97c5062f2c.js +1 -0
  337. package/.next/static/chunks/app/api/flow/route-6b442f97c5062f2c.js +1 -0
  338. package/.next/static/chunks/app/api/git/route-6b442f97c5062f2c.js +1 -0
  339. package/.next/static/chunks/app/api/init/route-6b442f97c5062f2c.js +1 -0
  340. package/.next/static/chunks/app/api/local-models/capability/route-6b442f97c5062f2c.js +1 -0
  341. package/.next/static/chunks/app/api/local-models/pull/route-6b442f97c5062f2c.js +1 -0
  342. package/.next/static/chunks/app/api/local-models/suggest/route-6b442f97c5062f2c.js +1 -0
  343. package/.next/static/chunks/app/api/mcp/cancel/route-6b442f97c5062f2c.js +1 -0
  344. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-6b442f97c5062f2c.js +1 -0
  345. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-6b442f97c5062f2c.js +1 -0
  346. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-6b442f97c5062f2c.js +1 -0
  347. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-6b442f97c5062f2c.js +1 -0
  348. package/.next/static/chunks/app/api/mcp/servers/[name]/route-6b442f97c5062f2c.js +1 -0
  349. package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-6b442f97c5062f2c.js +1 -0
  350. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-6b442f97c5062f2c.js +1 -0
  351. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-6b442f97c5062f2c.js +1 -0
  352. package/.next/static/chunks/app/api/mcp/servers/route-6b442f97c5062f2c.js +1 -0
  353. package/.next/static/chunks/app/api/mcp/test-connection/route-6b442f97c5062f2c.js +1 -0
  354. package/.next/static/chunks/app/api/mcp/test-connection/stream/route-6b442f97c5062f2c.js +1 -0
  355. package/.next/static/chunks/app/api/mcp-registry/route-6b442f97c5062f2c.js +1 -0
  356. package/.next/static/chunks/app/api/mcp-registry/spotlight/route-6b442f97c5062f2c.js +1 -0
  357. package/.next/static/chunks/app/api/model/[id]/route-6b442f97c5062f2c.js +1 -0
  358. package/.next/static/chunks/app/api/model/provider/route-6b442f97c5062f2c.js +1 -0
  359. package/.next/static/chunks/app/api/model/route-6b442f97c5062f2c.js +1 -0
  360. package/.next/static/chunks/app/api/model/test/route-6b442f97c5062f2c.js +1 -0
  361. package/.next/static/chunks/app/api/oauth/callback/route-6b442f97c5062f2c.js +1 -0
  362. package/.next/static/chunks/app/api/oauth/initiate/route-6b442f97c5062f2c.js +1 -0
  363. package/.next/static/chunks/app/api/oauth/reset/route-6b442f97c5062f2c.js +1 -0
  364. package/.next/static/chunks/app/api/planned-executions/[id]/route-6b442f97c5062f2c.js +1 -0
  365. package/.next/static/chunks/app/api/planned-executions/[id]/run/route-6b442f97c5062f2c.js +1 -0
  366. package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-6b442f97c5062f2c.js +1 -0
  367. package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-6b442f97c5062f2c.js +1 -0
  368. package/.next/static/chunks/app/api/planned-executions/reconcile/route-6b442f97c5062f2c.js +1 -0
  369. package/.next/static/chunks/app/api/planned-executions/route-6b442f97c5062f2c.js +1 -0
  370. package/.next/static/chunks/app/api/restore/route-6b442f97c5062f2c.js +1 -0
  371. package/.next/static/chunks/app/api/runs/active/route-6b442f97c5062f2c.js +1 -0
  372. package/.next/static/chunks/app/api/storage/route-6b442f97c5062f2c.js +1 -0
  373. package/.next/static/chunks/app/api/update/route-6b442f97c5062f2c.js +1 -0
  374. package/.next/static/chunks/app/api/waves/route-6b442f97c5062f2c.js +1 -0
  375. package/.next/static/chunks/app/api/webhooks/[id]/route-6b442f97c5062f2c.js +1 -0
  376. package/.next/static/chunks/app/chat/page-3a3efba25b59a747.js +1 -0
  377. package/.next/static/chunks/app/docs/page-84a92c3d5d8d5e13.js +1 -0
  378. package/.next/static/chunks/app/executions/{page-98e51554d7b1df19.js → page-445afbf37819e3ce.js} +1 -1
  379. package/.next/static/chunks/app/flows/page-74ebca19957cc6db.js +1 -0
  380. package/.next/static/chunks/app/layout-2ebf01d97702a18a.js +1 -0
  381. package/.next/static/chunks/app/mcp/page-770a870b3d40766b.js +1 -0
  382. package/.next/static/chunks/app/mcp-flows/route-6b442f97c5062f2c.js +1 -0
  383. package/.next/static/chunks/app/mcp-proxy/[server]/route-6b442f97c5062f2c.js +1 -0
  384. package/.next/static/chunks/app/models/error-a3183f168e8a9b04.js +1 -0
  385. package/.next/static/chunks/app/models/page-5a13ea6ff5ac1b9c.js +1 -0
  386. package/.next/static/chunks/app/{page-77e1ba238b0ee1d0.js → page-a859e4dbd180df98.js} +1 -1
  387. package/.next/static/chunks/app/settings/page-7a68583660508ffd.js +1 -0
  388. package/.next/static/chunks/app/v1/chat/completions/route-6b442f97c5062f2c.js +1 -0
  389. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-6b442f97c5062f2c.js +1 -0
  390. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-6b442f97c5062f2c.js +1 -0
  391. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-6b442f97c5062f2c.js +1 -0
  392. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-6b442f97c5062f2c.js +1 -0
  393. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-6b442f97c5062f2c.js +1 -0
  394. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-6b442f97c5062f2c.js +1 -0
  395. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/resources/route-6b442f97c5062f2c.js +1 -0
  396. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-6b442f97c5062f2c.js +1 -0
  397. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-6b442f97c5062f2c.js +1 -0
  398. package/.next/static/chunks/app/v1/chat/conversations/route-6b442f97c5062f2c.js +1 -0
  399. package/.next/static/chunks/app/v1/models/route-6b442f97c5062f2c.js +1 -0
  400. package/.next/static/chunks/app/waves/page-ec33cf79f6103a9e.js +1 -0
  401. package/.next/static/chunks/webpack-dded92b3d7b33173.js +1 -0
  402. package/.next/static/css/39393a79f7cb0dee.css +1 -0
  403. package/.next/static/css/599369d853c61df7.css +31 -0
  404. package/.next/static/css/b496025c9cd768cc.css +1 -0
  405. package/.next/trace +9 -8
  406. package/.next/types/app/api/bugs/enhance/route.ts +347 -0
  407. package/.next/types/app/api/waves/route.ts +347 -0
  408. package/.next/types/app/waves/page.ts +84 -0
  409. package/.next/types/routes.d.ts +5 -2
  410. package/.next/types/validator.ts +27 -0
  411. package/README.md +1 -1
  412. package/package.json +1 -1
  413. package/.next/server/chunks/1491.js +0 -1
  414. package/.next/server/chunks/1690.js +0 -1
  415. package/.next/server/chunks/1746.js +0 -1
  416. package/.next/server/chunks/2430.js +0 -1
  417. package/.next/server/chunks/3280.js +0 -38
  418. package/.next/server/chunks/3802.js +0 -1
  419. package/.next/server/chunks/4043.js +0 -6
  420. package/.next/server/chunks/4045.js +0 -1
  421. package/.next/server/chunks/4322.js +0 -1
  422. package/.next/server/chunks/5625.js +0 -28
  423. package/.next/server/chunks/7959.js +0 -1
  424. package/.next/server/chunks/8298.js +0 -1
  425. package/.next/server/chunks/9201.js +0 -17
  426. package/.next/server/chunks/9432.js +0 -52
  427. package/.next/server/chunks/9957.js +0 -1
  428. package/.next/static/PgkIffa5DdoRlsKKJyFOk/_buildManifest.js +0 -1
  429. package/.next/static/chunks/1161-970b105d0ab11425.js +0 -1
  430. package/.next/static/chunks/1423-19dafbb953c4992d.js +0 -8
  431. package/.next/static/chunks/1871-14c3e63ca865d85e.js +0 -1
  432. package/.next/static/chunks/1892-5c1e38d89e0a5a9c.js +0 -1
  433. package/.next/static/chunks/2003-7710c23acaef11c9.js +0 -1
  434. package/.next/static/chunks/2720-2a926505ec98a6de.js +0 -1
  435. package/.next/static/chunks/3930-cc8d73c953811b97.js +0 -1
  436. package/.next/static/chunks/4031-ac736d3645071bb6.js +0 -1
  437. package/.next/static/chunks/4058-0d7bba578ece1784.js +0 -1
  438. package/.next/static/chunks/4365-5d0e3d01c1bc0fdc.js +0 -1
  439. package/.next/static/chunks/4480-7fb4d36c17264491.js +0 -1
  440. package/.next/static/chunks/5501-c400aaeaf57e6297.js +0 -1
  441. package/.next/static/chunks/557-dbc9903702465976.js +0 -1
  442. package/.next/static/chunks/7539.41f0448cf9783388.js +0 -1
  443. package/.next/static/chunks/8066-c202a83aef15143a.js +0 -1
  444. package/.next/static/chunks/8187.204e85fb197ddeb1.js +0 -1
  445. package/.next/static/chunks/8345.76f420453fc0dee7.js +0 -1
  446. package/.next/static/chunks/app/api/approvals/[id]/route-0343078cf7f19a65.js +0 -1
  447. package/.next/static/chunks/app/api/approvals/route-0343078cf7f19a65.js +0 -1
  448. package/.next/static/chunks/app/api/backup/route-0343078cf7f19a65.js +0 -1
  449. package/.next/static/chunks/app/api/browse/route-0343078cf7f19a65.js +0 -1
  450. package/.next/static/chunks/app/api/cwd/route-0343078cf7f19a65.js +0 -1
  451. package/.next/static/chunks/app/api/encryption/secure/route-0343078cf7f19a65.js +0 -1
  452. package/.next/static/chunks/app/api/env/route-0343078cf7f19a65.js +0 -1
  453. package/.next/static/chunks/app/api/flow/[id]/route-0343078cf7f19a65.js +0 -1
  454. package/.next/static/chunks/app/api/flow/compile/route-0343078cf7f19a65.js +0 -1
  455. package/.next/static/chunks/app/api/flow/generate/route-0343078cf7f19a65.js +0 -1
  456. package/.next/static/chunks/app/api/flow/improve/route-0343078cf7f19a65.js +0 -1
  457. package/.next/static/chunks/app/api/flow/prompt-renderer/route-0343078cf7f19a65.js +0 -1
  458. package/.next/static/chunks/app/api/flow/quick-chat/route-0343078cf7f19a65.js +0 -1
  459. package/.next/static/chunks/app/api/flow/repair/route-0343078cf7f19a65.js +0 -1
  460. package/.next/static/chunks/app/api/flow/route-0343078cf7f19a65.js +0 -1
  461. package/.next/static/chunks/app/api/git/route-0343078cf7f19a65.js +0 -1
  462. package/.next/static/chunks/app/api/init/route-0343078cf7f19a65.js +0 -1
  463. package/.next/static/chunks/app/api/local-models/capability/route-0343078cf7f19a65.js +0 -1
  464. package/.next/static/chunks/app/api/local-models/pull/route-0343078cf7f19a65.js +0 -1
  465. package/.next/static/chunks/app/api/local-models/suggest/route-0343078cf7f19a65.js +0 -1
  466. package/.next/static/chunks/app/api/mcp/cancel/route-0343078cf7f19a65.js +0 -1
  467. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-0343078cf7f19a65.js +0 -1
  468. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-0343078cf7f19a65.js +0 -1
  469. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-0343078cf7f19a65.js +0 -1
  470. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-0343078cf7f19a65.js +0 -1
  471. package/.next/static/chunks/app/api/mcp/servers/[name]/route-0343078cf7f19a65.js +0 -1
  472. package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-0343078cf7f19a65.js +0 -1
  473. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-0343078cf7f19a65.js +0 -1
  474. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-0343078cf7f19a65.js +0 -1
  475. package/.next/static/chunks/app/api/mcp/servers/route-0343078cf7f19a65.js +0 -1
  476. package/.next/static/chunks/app/api/mcp/test-connection/route-0343078cf7f19a65.js +0 -1
  477. package/.next/static/chunks/app/api/mcp/test-connection/stream/route-0343078cf7f19a65.js +0 -1
  478. package/.next/static/chunks/app/api/mcp-registry/route-0343078cf7f19a65.js +0 -1
  479. package/.next/static/chunks/app/api/mcp-registry/spotlight/route-0343078cf7f19a65.js +0 -1
  480. package/.next/static/chunks/app/api/model/[id]/route-0343078cf7f19a65.js +0 -1
  481. package/.next/static/chunks/app/api/model/provider/route-0343078cf7f19a65.js +0 -1
  482. package/.next/static/chunks/app/api/model/route-0343078cf7f19a65.js +0 -1
  483. package/.next/static/chunks/app/api/model/test/route-0343078cf7f19a65.js +0 -1
  484. package/.next/static/chunks/app/api/oauth/callback/route-0343078cf7f19a65.js +0 -1
  485. package/.next/static/chunks/app/api/oauth/initiate/route-0343078cf7f19a65.js +0 -1
  486. package/.next/static/chunks/app/api/oauth/reset/route-0343078cf7f19a65.js +0 -1
  487. package/.next/static/chunks/app/api/planned-executions/[id]/route-0343078cf7f19a65.js +0 -1
  488. package/.next/static/chunks/app/api/planned-executions/[id]/run/route-0343078cf7f19a65.js +0 -1
  489. package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-0343078cf7f19a65.js +0 -1
  490. package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-0343078cf7f19a65.js +0 -1
  491. package/.next/static/chunks/app/api/planned-executions/reconcile/route-0343078cf7f19a65.js +0 -1
  492. package/.next/static/chunks/app/api/planned-executions/route-0343078cf7f19a65.js +0 -1
  493. package/.next/static/chunks/app/api/restore/route-0343078cf7f19a65.js +0 -1
  494. package/.next/static/chunks/app/api/runs/active/route-0343078cf7f19a65.js +0 -1
  495. package/.next/static/chunks/app/api/storage/route-0343078cf7f19a65.js +0 -1
  496. package/.next/static/chunks/app/api/update/route-0343078cf7f19a65.js +0 -1
  497. package/.next/static/chunks/app/api/webhooks/[id]/route-0343078cf7f19a65.js +0 -1
  498. package/.next/static/chunks/app/chat/page-1367f696bc0ade9b.js +0 -1
  499. package/.next/static/chunks/app/docs/page-10b73b5b2c608484.js +0 -1
  500. package/.next/static/chunks/app/flows/page-edee8e5c15219bc6.js +0 -1
  501. package/.next/static/chunks/app/layout-64fc0ae7efe81e3c.js +0 -1
  502. package/.next/static/chunks/app/mcp/page-3cae88bf0236503e.js +0 -1
  503. package/.next/static/chunks/app/mcp-flows/route-0343078cf7f19a65.js +0 -1
  504. package/.next/static/chunks/app/mcp-proxy/[server]/route-0343078cf7f19a65.js +0 -1
  505. package/.next/static/chunks/app/models/error-5732fbb053e182c5.js +0 -1
  506. package/.next/static/chunks/app/models/page-d2dc022339075a6a.js +0 -1
  507. package/.next/static/chunks/app/settings/page-199d0ffae9ec7263.js +0 -1
  508. package/.next/static/chunks/app/v1/chat/completions/route-0343078cf7f19a65.js +0 -1
  509. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-0343078cf7f19a65.js +0 -1
  510. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-0343078cf7f19a65.js +0 -1
  511. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-0343078cf7f19a65.js +0 -1
  512. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-0343078cf7f19a65.js +0 -1
  513. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-0343078cf7f19a65.js +0 -1
  514. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-0343078cf7f19a65.js +0 -1
  515. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/resources/route-0343078cf7f19a65.js +0 -1
  516. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-0343078cf7f19a65.js +0 -1
  517. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-0343078cf7f19a65.js +0 -1
  518. package/.next/static/chunks/app/v1/chat/conversations/route-0343078cf7f19a65.js +0 -1
  519. package/.next/static/chunks/app/v1/models/route-0343078cf7f19a65.js +0 -1
  520. package/.next/static/chunks/webpack-fd64460ba6699c85.js +0 -1
  521. package/.next/static/css/d1484588c616b291.css +0 -31
  522. /package/.next/static/{PgkIffa5DdoRlsKKJyFOk → MMmWHUQ3UAJBdRB7G1zGj}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=7214,exports.ids=[7214],exports.modules={38291:(a,b,c)=>{c.d(b,{n:()=>g});var d=c(92372),e=c(75028);let f=(0,c(50846).h)("backend/execution/flow/persistConversationState");function g(a,b){return b.ephemeral?(f.debug(`Refusing to persist ephemeral state (key ${a}); ephemeral runs never reach the conversations store.`),Promise.resolve()):(0,e.isConversationDeleted)(b.conversationId)?(f.info(`Refusing to persist state for deleted conversation ${b.conversationId} (key ${a}).`),Promise.resolve()):(0,d.VH)(a,{...b,executionTrace:void 0,emit:void 0})}},44681:(a,b,c)=>{c.d(b,{Q:()=>j,validateFlowForRun:()=>k});var d=c(50846),e=c(87821),f=c(20433),g=c(1133),h=c(84671);let i=(0,d.h)("backend/execution/flow/validateFlowForRun");async function j(a){let b,c;try{b=await f.modelService.loadModels()}catch(a){i.warn("validateFlowObjectForRun: could not load models; skipping model checks",a)}try{let a=await g.mcpService.loadServerConfigs();Array.isArray(a)&&(c=a.map(a=>({name:a.name,status:a.disabled?"disabled":void 0})))}catch(a){i.warn("validateFlowObjectForRun: could not load servers; skipping server checks",a)}return(0,h.nC)(a,{models:b,servers:c})}async function k(a){let b=await e.flowService.getFlow(a);return b?j(b):(i.warn(`validateFlowForRun: flow ${a} could not be loaded; skipping pre-run checks`),{issues:[],errorCount:0,warningCount:0,isRunnable:!0})}},57214:(a,b,c)=>{c.d(b,{runFlow:()=>w});var d=c(50846),e=c(23823),f=c(38291),g=c(60184),h=c(14214),i=c(56793),j=c(99978),k=c(32642),l=c(75312),m=c(87821),n=c(92372),o=c(13516),p=c(44681),q=c(67490),r=c(75028);let s=(0,d.h)("backend/execution/flow/runFlow");m.flowService.getFlowByName||(m.flowService.getFlowByName=async a=>(await m.flowService.loadFlows()).find(b=>b.name===a)||null,s.info("Added getFlowByName method directly to flowService instance."));let t=m.flowService,u=f.n;async function v(a,b,c){try{let d,e=a.flowId;if(!e)return;try{d=(await m.flowService.getFlow(e))?.name??void 0}catch{}let f="api"===a.source?"api":"chat",g=c&&c.length>4096?`${c.slice(0,4096)}…`:c;(0,i.eh)().publish({flowId:e,flowName:d,executionId:a.plannedExecutionId,runId:a.conversationId||"",conversationId:a.conversationId||"",status:b,outputText:g,firedBy:f,chainDepth:a.chainDepth??0,timestamp:new Date().toISOString()})}catch(a){s.warn("Failed to publish runFlow flow-run event:",a)}}async function w(a){let b,c,d,f=Date.now(),i=a.flujo??!0,m=a.requireApproval??!1,w=a.debug??!1,x=a.continueDebug??!1,y=a.userTurn??!1,z="ephemeral"===a.mode,A=a.messages??(void 0!==a.prompt?[{role:"user",content:a.prompt}]:[]),B={model:a.modelName,messages:A,processNodeId:a.processNodeId};s.info("runFlow invoked",{flowId:a.flowId,model:a.modelName,messageCount:A.length,mode:z?"ephemeral":"conversation",flujo:i,requireApproval:m,flujodebug:w,conversationId:a.conversationId});let C=a.conversationId||crypto.randomUUID(),D=`conversations/${C}`,E="new";if(s.info(`Effective Conversation ID for this run: ${C}`,{providedId:a.conversationId}),e.FlowExecutor.conversationStates.has(C))c=e.FlowExecutor.conversationStates.get(C),s.info(`Resuming conversation ${C} from memory`,{currentNodeId:c.currentNodeId}),E="memory";else if(!z)try{(c=await (0,n.YM)(D,void 0))?(s.info(`Loaded conversation state from storage: ${C}`),E="storage",await (0,g.jM)(c),e.FlowExecutor.conversationStates.set(C,c)):s.info(`No state found in storage for conversation: ${C}. Will create new state.`)}catch(a){s.warn(`Error loading conversation state from storage for ${C}:`,a)}if(c?((b=c).conversationId!==C&&(s.warn(`Loaded state's internal conversationId (${b.conversationId}) differs from effectiveConvId (${C}). Using effectiveConvId.`),b.conversationId=C),"new"!==E&&("completed"===b.status||"error"===b.status||void 0===b.status)&&(s.info(`Resuming completed/errored/fresh conversation ${C}. Resetting status to 'running'.`),b.status="running",b.lastResponse=void 0,b.isCancelled=!1,"storage"===E&&e.FlowExecutor.conversationStates.set(C,b)),B.processNodeId&&"new"!==E&&(s.info(`Edit detected: Resetting currentNodeId for conversation ${C} to provided processNodeId: ${B.processNodeId}`),b.currentNodeId=B.processNodeId,b.status="running",b.lastResponse=void 0,b.pendingToolCalls=void 0,b.handoffRequested=void 0,b.isCancelled=!1,b.trackingInfo={executionId:crypto.randomUUID(),startTime:Date.now(),nodeExecutionTracker:[]},o.G.ENABLE_EXECUTION_TRACKER&&b.executionTrace&&(b.executionTrace=[]),e.FlowExecutor.conversationStates.set(C,b),s.verbose(`State updated in memory with reset currentNodeId: ${b.currentNodeId}`))):(s.info(`Creating new conversation state object for ID: ${C}`),b={trackingInfo:{executionId:crypto.randomUUID(),startTime:Date.now(),nodeExecutionTracker:(o.G.ENABLE_EXECUTION_TRACKER,[])},messages:[],flowId:"",conversationId:C,currentNodeId:void 0,status:"running",title:"New Conversation",createdAt:Date.now(),updatedAt:Date.now(),debugMode:w,executionTrace:w&&o.G.ENABLE_EXECUTION_TRACKER?[]:void 0,variables:{}}),a.variables&&"object"==typeof a.variables)for(let[c,d]of(b.variables=b.variables??{},Object.entries(a.variables)))null!=d&&(b.variables[c]="string"==typeof d?d:String(d));if(b.requireApproval=m,a.source&&(b.source=a.source),a.plannedExecutionId&&(b.plannedExecutionId=a.plannedExecutionId),z&&(b.ephemeral=!0),a.parentRunId&&(b.parentRunId=a.parentRunId),b.runDepth=a.depth??b.runDepth??0,b.chainDepth=a.chainDepth??b.chainDepth??0,b.onApprovalRequired=a.onApprovalRequired??b.onApprovalRequired??"auto",b.runDepth>q.A)return s.error(`runFlow aborted: subflow depth ${b.runDepth} exceeds max ${q.A}`),b.status="error",{status:"error",conversationId:C,outputText:"",messages:b.messages,error:{message:`Subflow recursion limit (${q.A}) exceeded`,statusCode:500},finalAction:j.O,sharedState:b};let F=[...b.messages??[]];if("new"===E){a.flowDefinition&&(b.flowSnapshot=a.flowDefinition,b.flowId=a.flowDefinition.id);let c=a.flowDefinition?a.flowDefinition.id:a.flowId;if(!c&&B.model){let a=B.model.substring(5),d=await t.getFlowByName(a);if(!d)return s.error(`Flow not found: ${a}`),{status:"error",conversationId:C,outputText:"",messages:b.messages,flowNotFound:{name:a},error:{message:`Flow not found: ${a}`,statusCode:400},finalAction:j.O,sharedState:b};c=d.id}if(!c)return s.error("No flow specified for run (neither flowId nor model provided)."),{status:"error",conversationId:C,outputText:"",messages:b.messages,error:{message:"No flow specified (provide flowId or model).",statusCode:400},finalAction:j.O,sharedState:b};b.flowId=c;let d=(B.messages||[]).filter(a=>!(a.depth>0)).map(a=>({...a,id:a.id||crypto.randomUUID(),timestamp:a.timestamp||Date.now(),processNodeId:a.processNodeId||void 0}));b.messages=d;try{if(b.updatedAt=Date.now(),"New Conversation"===b.title&&b.messages.length>0){let a=b.messages.find(a=>"user"===a.role);a&&"string"==typeof a.content&&(b.title=a.content.split(" ").slice(0,5).join(" ")+"...",s.verbose(`Updated conversation title for ${C} during init to: ${b.title}`))}await u(D,b),s.debug(`Saved initial state for new conversation ${C}.`)}catch(a){s.error(`Failed to save initial state for new conversation ${C}:`,a)}e.FlowExecutor.conversationStates.set(C,b)}else B.messages&&B.messages.length>0&&(b.messages=B.messages.filter(a=>!(a.depth>0)).map(a=>({...a,id:a.id||crypto.randomUUID(),timestamp:a.timestamp||Date.now(),processNodeId:a.processNodeId||void 0})),s.info(`Updated conversation ${b.conversationId} with ${b.messages.length} messages from request`)),(y||void 0===b.debugMode)&&(b.debugMode=w),y&&(b.debugPendingToolCalls=void 0),b.debugMode&&o.G.ENABLE_EXECUTION_TRACKER&&!b.executionTrace&&(b.executionTrace=[]);try{await (0,g.UG)(b,F)}catch(a){s.warn(`Conversation-log reconcile failed for ${C}; continuing`,a)}if(y&&"new"!==E&&!B.processNodeId){let a=b.messages.length>0?b.messages[b.messages.length-1]:void 0;a?.role==="user"&&a.processNodeId&&a.processNodeId!==b.currentNodeId&&(s.info(`New user turn for ${C}: directing execution to node ${a.processNodeId} (was ${b.currentNodeId}).`),b.currentNodeId=a.processNodeId,e.FlowExecutor.conversationStates.set(C,b))}y&&b.flowId&&(e.FlowExecutor.clearFlowCache(b.flowId),s.debug(`Cleared compiled-flow cache for ${b.flowId} at start of user turn ${C}.`));let G=!1,H=0,I=a.emit??h.$.emitterFor(C),J=new Set(b.messages.map(a=>a.id).filter(a=>!!a)),K=a=>{if(!a.usage)return;let c=b.usage??{promptTokens:0,completionTokens:0,totalTokens:0,costUsd:0,byNode:{}};c.promptTokens+=a.usage.promptTokens,c.completionTokens+=a.usage.completionTokens,c.totalTokens+=a.usage.totalTokens;let d=a.usage.cacheReadTokens??0;d&&(c.cacheReadTokens=(c.cacheReadTokens??0)+d);let e=a.processNodeId||"unknown",f=c.byNode[e]??{promptTokens:0,completionTokens:0,totalTokens:0,costUsd:0};f.promptTokens+=a.usage.promptTokens,f.completionTokens+=a.usage.completionTokens,f.totalTokens+=a.usage.totalTokens,d&&(f.cacheReadTokens=(f.cacheReadTokens??0)+d),c.byNode[e]=f,b.usage=c,I({type:"usage",node:a.processNodeId?{nodeId:a.processNodeId}:void 0,promptTokens:a.usage.promptTokens,completionTokens:a.usage.completionTokens,totalTokens:a.usage.totalTokens,costUsd:0,...d?{cacheReadTokens:d}:{}})},L=()=>{for(let a of b.messages)a.id||(a.id=crypto.randomUUID()),J.has(a.id)||(J.add(a.id),"system"!==a.role&&(I({type:"message",message:a,node:a.processNodeId?{nodeId:a.processNodeId}:void 0}),K(a)))};if(I({type:"run:start",flowId:b.flowId}),(y||"new"===E)&&b.flowId)try{let a=b.flowSnapshot?await (0,p.Q)(b.flowSnapshot):await (0,p.validateFlowForRun)(b.flowId);if(!a.isRunnable){let c=a.issues.filter(a=>"error"===a.severity),e=`This flow can't run yet — please fix the following before running:
1
+ "use strict";exports.id=7214,exports.ids=[7214],exports.modules={38291:(a,b,c)=>{c.d(b,{n:()=>g});var d=c(92372),e=c(75028);let f=(0,c(50846).h)("backend/execution/flow/persistConversationState");async function g(a,b){let c="conversations/",g=String(a).startsWith(c)?String(a).slice(c.length):String(a);return((0,d.ln)(g),null!=b.conversationId&&(0,d.ln)(b.conversationId),b.ephemeral)?(f.debug(`Refusing to persist ephemeral state (key ${a}); ephemeral runs never reach the conversations store.`),Promise.resolve()):(0,e.isConversationDeleted)(b.conversationId)?(f.info(`Refusing to persist state for deleted conversation ${b.conversationId} (key ${a}).`),Promise.resolve()):(0,d.VH)(a,{...b,executionTrace:void 0,emit:void 0})}},44681:(a,b,c)=>{c.d(b,{Q:()=>j,validateFlowForRun:()=>k});var d=c(50846),e=c(87821),f=c(20433),g=c(61397),h=c(84671);let i=(0,d.h)("backend/execution/flow/validateFlowForRun");async function j(a){let b,c;try{b=await f.modelService.loadModels()}catch(a){i.warn("validateFlowObjectForRun: could not load models; skipping model checks",a)}try{let a=await g.mcpService.loadServerConfigs();Array.isArray(a)&&(c=a.map(a=>({name:a.name,status:a.disabled?"disabled":void 0})))}catch(a){i.warn("validateFlowObjectForRun: could not load servers; skipping server checks",a)}return(0,h.nC)(a,{models:b,servers:c})}async function k(a){let b=await e.flowService.getFlow(a);return b?j(b):(i.warn(`validateFlowForRun: flow ${a} could not be loaded; skipping pre-run checks`),{issues:[],errorCount:0,warningCount:0,isRunnable:!0})}},57214:(a,b,c)=>{c.d(b,{runFlow:()=>w});var d=c(50846),e=c(23823),f=c(38291),g=c(60184),h=c(14214),i=c(56793),j=c(99978),k=c(32642),l=c(75312),m=c(87821),n=c(92372),o=c(13516),p=c(44681),q=c(67490),r=c(75028);let s=(0,d.h)("backend/execution/flow/runFlow");m.flowService.getFlowByName||(m.flowService.getFlowByName=async a=>(await m.flowService.loadFlows()).find(b=>b.name===a)||null,s.info("Added getFlowByName method directly to flowService instance."));let t=m.flowService,u=f.n;async function v(a,b,c){try{let d,e=a.flowId;if(!e)return;try{d=(await m.flowService.getFlow(e))?.name??void 0}catch{}let f="api"===a.source?"api":"chat",g=c&&c.length>4096?`${c.slice(0,4096)}…`:c;(0,i.eh)().publish({flowId:e,flowName:d,executionId:a.plannedExecutionId,runId:a.conversationId||"",conversationId:a.conversationId||"",status:b,outputText:g,firedBy:f,chainDepth:a.chainDepth??0,timestamp:new Date().toISOString()})}catch(a){s.warn("Failed to publish runFlow flow-run event:",a)}}async function w(a){let b,c,d,f=Date.now(),i=a.flujo??!0,m=a.requireApproval??!1,w=a.debug??!1,x=a.continueDebug??!1,y=a.userTurn??!1,z="ephemeral"===a.mode,A=a.messages??(void 0!==a.prompt?[{role:"user",content:a.prompt}]:[]),B={model:a.modelName,messages:A,processNodeId:a.processNodeId};s.info("runFlow invoked",{flowId:a.flowId,model:a.modelName,messageCount:A.length,mode:z?"ephemeral":"conversation",flujo:i,requireApproval:m,flujodebug:w,conversationId:a.conversationId});let C=a.conversationId||crypto.randomUUID(),D=`conversations/${C}`,E="new";if(s.info(`Effective Conversation ID for this run: ${C}`,{providedId:a.conversationId}),e.FlowExecutor.conversationStates.has(C))c=e.FlowExecutor.conversationStates.get(C),s.info(`Resuming conversation ${C} from memory`,{currentNodeId:c.currentNodeId}),E="memory";else if(!z)try{(c=await (0,n.YM)(D,void 0))?(s.info(`Loaded conversation state from storage: ${C}`),E="storage",await (0,g.jM)(c),e.FlowExecutor.conversationStates.set(C,c)):s.info(`No state found in storage for conversation: ${C}. Will create new state.`)}catch(a){s.warn(`Error loading conversation state from storage for ${C}:`,a)}if(c?((b=c).conversationId!==C&&(s.warn(`Loaded state's internal conversationId (${b.conversationId}) differs from effectiveConvId (${C}). Using effectiveConvId.`),b.conversationId=C),"new"!==E&&("completed"===b.status||"error"===b.status||void 0===b.status)&&(s.info(`Resuming completed/errored/fresh conversation ${C}. Resetting status to 'running'.`),b.status="running",b.lastResponse=void 0,b.isCancelled=!1,"storage"===E&&e.FlowExecutor.conversationStates.set(C,b)),B.processNodeId&&"new"!==E&&(s.info(`Edit detected: Resetting currentNodeId for conversation ${C} to provided processNodeId: ${B.processNodeId}`),b.currentNodeId=B.processNodeId,b.status="running",b.lastResponse=void 0,b.pendingToolCalls=void 0,b.handoffRequested=void 0,b.isCancelled=!1,b.trackingInfo={executionId:crypto.randomUUID(),startTime:Date.now(),nodeExecutionTracker:[]},o.G.ENABLE_EXECUTION_TRACKER&&b.executionTrace&&(b.executionTrace=[]),e.FlowExecutor.conversationStates.set(C,b),s.verbose(`State updated in memory with reset currentNodeId: ${b.currentNodeId}`))):(s.info(`Creating new conversation state object for ID: ${C}`),b={trackingInfo:{executionId:crypto.randomUUID(),startTime:Date.now(),nodeExecutionTracker:(o.G.ENABLE_EXECUTION_TRACKER,[])},messages:[],flowId:"",conversationId:C,currentNodeId:void 0,status:"running",title:"New Conversation",createdAt:Date.now(),updatedAt:Date.now(),debugMode:w,executionTrace:w&&o.G.ENABLE_EXECUTION_TRACKER?[]:void 0,variables:{}}),a.variables&&"object"==typeof a.variables)for(let[c,d]of(b.variables=b.variables??{},Object.entries(a.variables)))null!=d&&(b.variables[c]="string"==typeof d?d:String(d));if(b.requireApproval=m,a.source&&(b.source=a.source),a.plannedExecutionId&&(b.plannedExecutionId=a.plannedExecutionId),z&&(b.ephemeral=!0),a.parentRunId&&(b.parentRunId=a.parentRunId),b.runDepth=a.depth??b.runDepth??0,b.chainDepth=a.chainDepth??b.chainDepth??0,b.onApprovalRequired=a.onApprovalRequired??b.onApprovalRequired??"auto",b.runDepth>q.A)return s.error(`runFlow aborted: subflow depth ${b.runDepth} exceeds max ${q.A}`),b.status="error",{status:"error",conversationId:C,outputText:"",messages:b.messages,error:{message:`Subflow recursion limit (${q.A}) exceeded`,statusCode:500},finalAction:j.O,sharedState:b};let F=[...b.messages??[]];if("new"===E){a.flowDefinition&&(b.flowSnapshot=a.flowDefinition,b.flowId=a.flowDefinition.id);let c=a.flowDefinition?a.flowDefinition.id:a.flowId;if(!c&&B.model){let a=B.model.substring(5),d=await t.getFlowByName(a);if(!d)return s.error(`Flow not found: ${a}`),{status:"error",conversationId:C,outputText:"",messages:b.messages,flowNotFound:{name:a},error:{message:`Flow not found: ${a}`,statusCode:400},finalAction:j.O,sharedState:b};c=d.id}if(!c)return s.error("No flow specified for run (neither flowId nor model provided)."),{status:"error",conversationId:C,outputText:"",messages:b.messages,error:{message:"No flow specified (provide flowId or model).",statusCode:400},finalAction:j.O,sharedState:b};b.flowId=c;let d=(B.messages||[]).filter(a=>!(a.depth>0)).map(a=>({...a,id:a.id||crypto.randomUUID(),timestamp:a.timestamp||Date.now(),processNodeId:a.processNodeId||void 0}));b.messages=d;try{if(b.updatedAt=Date.now(),"New Conversation"===b.title&&b.messages.length>0){let a=b.messages.find(a=>"user"===a.role);a&&"string"==typeof a.content&&(b.title=a.content.split(" ").slice(0,5).join(" ")+"...",s.verbose(`Updated conversation title for ${C} during init to: ${b.title}`))}await u(D,b),s.debug(`Saved initial state for new conversation ${C}.`)}catch(a){s.error(`Failed to save initial state for new conversation ${C}:`,a)}e.FlowExecutor.conversationStates.set(C,b)}else B.messages&&B.messages.length>0&&(b.messages=B.messages.filter(a=>!(a.depth>0)).map(a=>({...a,id:a.id||crypto.randomUUID(),timestamp:a.timestamp||Date.now(),processNodeId:a.processNodeId||void 0})),s.info(`Updated conversation ${b.conversationId} with ${b.messages.length} messages from request`)),(y||void 0===b.debugMode)&&(b.debugMode=w),y&&(b.debugPendingToolCalls=void 0),b.debugMode&&o.G.ENABLE_EXECUTION_TRACKER&&!b.executionTrace&&(b.executionTrace=[]);try{await (0,g.UG)(b,F)}catch(a){s.warn(`Conversation-log reconcile failed for ${C}; continuing`,a)}if(y&&"new"!==E&&!B.processNodeId){let a=b.messages.length>0?b.messages[b.messages.length-1]:void 0;a?.role==="user"&&a.processNodeId&&a.processNodeId!==b.currentNodeId&&(s.info(`New user turn for ${C}: directing execution to node ${a.processNodeId} (was ${b.currentNodeId}).`),b.currentNodeId=a.processNodeId,e.FlowExecutor.conversationStates.set(C,b))}y&&b.flowId&&(e.FlowExecutor.clearFlowCache(b.flowId),s.debug(`Cleared compiled-flow cache for ${b.flowId} at start of user turn ${C}.`));let G=!1,H=0,I=a.emit??h.$.emitterFor(C),J=new Set(b.messages.map(a=>a.id).filter(a=>!!a)),K=a=>{if(!a.usage)return;let c=b.usage??{promptTokens:0,completionTokens:0,totalTokens:0,costUsd:0,byNode:{}};c.promptTokens+=a.usage.promptTokens,c.completionTokens+=a.usage.completionTokens,c.totalTokens+=a.usage.totalTokens;let d=a.usage.cacheReadTokens??0;d&&(c.cacheReadTokens=(c.cacheReadTokens??0)+d);let e=a.processNodeId||"unknown",f=c.byNode[e]??{promptTokens:0,completionTokens:0,totalTokens:0,costUsd:0};f.promptTokens+=a.usage.promptTokens,f.completionTokens+=a.usage.completionTokens,f.totalTokens+=a.usage.totalTokens,d&&(f.cacheReadTokens=(f.cacheReadTokens??0)+d),c.byNode[e]=f,b.usage=c,I({type:"usage",node:a.processNodeId?{nodeId:a.processNodeId}:void 0,promptTokens:a.usage.promptTokens,completionTokens:a.usage.completionTokens,totalTokens:a.usage.totalTokens,costUsd:0,...d?{cacheReadTokens:d}:{}})},L=()=>{for(let a of b.messages)a.id||(a.id=crypto.randomUUID()),J.has(a.id)||(J.add(a.id),"system"!==a.role&&(I({type:"message",message:a,node:a.processNodeId?{nodeId:a.processNodeId}:void 0}),K(a)))};if(I({type:"run:start",flowId:b.flowId}),(y||"new"===E)&&b.flowId)try{let a=b.flowSnapshot?await (0,p.Q)(b.flowSnapshot):await (0,p.validateFlowForRun)(b.flowId);if(!a.isRunnable){let c=a.issues.filter(a=>"error"===a.severity),e=`This flow can't run yet — please fix the following before running:
2
2
  `+c.map(a=>`• ${a.message}`).join("\n");s.warn(`Pre-run validation blocked flow ${b.flowId} for conv ${C}`,{errorCount:c.length,codes:c.map(a=>a.code)}),b.lastResponse={success:!1,error:e,errorDetails:{message:e,type:"invalid_request_error",code:"flow_invalid",status:400}},d=j.O,G=!0}}catch(a){s.warn(`Pre-run validation could not complete for ${b.flowId}; proceeding`,a)}let M=()=>!!b.isCancelled||!!(0,r.isCancelledByAncestry)(b.parentRunId,e.FlowExecutor.conversationStates)&&(b.isCancelled=!0,!0),N=!!b.debugMode&&!x,O=()=>{b.status="paused_debug",I({type:"run:paused",reason:"debug",node:b.currentNodeId?{nodeId:b.currentNodeId}:void 0})};try{if(!G)for(;;){if(H++,s.debug(`--- Starting Execution Step ${H} for Conv ${C} ---`),H>150){s.warn(`Max internal iterations (150) reached for conv ${C}. Breaking loop.`),d!==j.O&&(b.lastResponse={success:!1,error:"Maximum internal iterations (150) reached."},d=j.O);break}if(M()){s.info(`Cancellation flag detected for conv ${C}. Terminating execution.`),b.status="error",b.lastResponse={success:!1,error:"Execution cancelled by user."},d=j.O;break}if(b.debugPendingToolCalls&&b.debugPendingToolCalls.length>0){let a=b.debugPendingToolCalls;b.debugPendingToolCalls=void 0,s.info(`[Debug Step] Executing ${a.length} pending tool call(s) for conv ${C}.`);let c=await k.s.processToolCalls({toolCalls:a,toolNameMap:b.toolNameMap,emit:I,conversationId:b.ephemeral?void 0:b.conversationId,node:b.currentNodeId?{nodeId:b.currentNodeId}:void 0,shouldAbort:M});if(!c.success){s.error(`Debug tool processing failed for conv ${C}`,{error:c.error}),b.lastResponse={success:!1,error:"Tool processing failed",errorDetails:c.error},d=j.O;break}let f=c.value.toolCallMessages.map(a=>({...a,id:crypto.randomUUID(),timestamp:Date.now(),processNodeId:b.currentNodeId}));b.messages.push(...f),e.FlowExecutor.conversationStates.set(C,b),L();try{b.updatedAt=Date.now(),await u(D,b)}catch(a){s.error(`Failed to save state after debug tool execution for conv ${C}:`,a)}if(N){s.info(`[Debug Step] Paused after tool execution for conv ${C}.`),O();break}continue}if(!N&&b.breakpoints&&b.breakpoints.length>0){let a=await e.FlowExecutor.peekNextNodeId(b);if(a&&b.breakpoints.includes(a)&&b.lastBreakNodeId!==a){s.info(`Breakpoint hit at node ${a} for conv ${C}. Pausing.`),b.status="paused_debug",b.debugMode=!0,b.lastBreakNodeId=a,I({type:"breakpoint:hit",node:{nodeId:a}}),I({type:"run:paused",reason:"breakpoint",node:{nodeId:a}});try{b.updatedAt=Date.now(),await u(D,b)}catch(a){s.error(`Failed to save state on breakpoint for conv ${C}:`,a)}break}a&&b.lastBreakNodeId&&a!==b.lastBreakNodeId&&(b.lastBreakNodeId=void 0)}if(b.messages.length>0){let a=b.messages.slice(-3);s.verbose(`Message history before step ${H}`,a)}else s.verbose(`No messages in history before step ${H}`);let a=await e.FlowExecutor.executeStep(b,I);if(b=a.sharedState,d=a.action,L(),b.updatedAt=Date.now(),"New Conversation"===b.title&&b.messages.length>0){let a=b.messages.find(a=>"user"===a.role);a&&"string"==typeof a.content&&(b.title=a.content.split(" ").slice(0,5).join(" ")+"...",s.verbose(`Updated conversation title for ${C} after step ${H} to: ${b.title}`))}if(s.info(`Step ${H} completed for conv ${C}. Action: ${d}`,{currentNodeId:b.currentNodeId}),s.verbose(`Shared state after step ${H}`,b),s.debug(`[Action Handling] Step ${H}: Received action "${d}" for conv ${C}`),d===j.O){s.info(`[Action Handling] Step ${H}: Handling ERROR_ACTION for conv ${C}`),s.error(`Error action received during step ${H} for conv ${C}`,{error:b.lastResponse});break}if(d===j.g4){s.info(`[Action Handling] Step ${H}: Handling FINAL_RESPONSE_ACTION for conv ${C}`),s.info(`Final response action received at step ${H} for conv ${C}`),b.status="completed",s.info(`Setting conversation status to 'completed' for conv ${C}`);break}if(d===j.Jp){s.info(`[Action Handling] Step ${H}: Handling TOOL_CALL_ACTION for conv ${C}`),s.info(`Tool call action received at step ${H} for conv ${C}`);let a=b.messages.length>0?b.messages[b.messages.length-1]:null;if(a?.role==="assistant"&&a.tool_calls)if(i){if(m&&"fail"===b.onApprovalRequired){let c=a.tool_calls[0],e=c&&"function"===c.type?c.function.name:"unknown";s.info(`[flujo=true, onApprovalRequired=fail] Failing fast for tool "${e}" (conv ${C})`),b.status="error",b.pendingToolCalls=a.tool_calls,b.lastResponse={success:!1,error:`Headless run requires approval for tool "${e}" but no approver is available (approvalPolicy: fail).`,errorDetails:{message:`Headless run requires approval for tool "${e}" but no approver is available (approvalPolicy: fail).`,type:"approval_required",name:e}},d=j.O;break}if(m){s.info(`[flujo=true, requireApproval=true] Pausing execution for tool approval for conv ${C}`),b.status="awaiting_tool_approval",b.pendingToolCalls=a.tool_calls,b.lastResponse=void 0,e.FlowExecutor.conversationStates.set(C,b);try{if(b.updatedAt=Date.now(),"New Conversation"===b.title&&b.messages.length>0){let a=b.messages.find(a=>"user"===a.role);a&&"string"==typeof a.content&&(b.title=a.content.split(" ").slice(0,5).join(" ")+"...",s.verbose(`Updated conversation title for ${C} before pausing to: ${b.title}`))}await u(D,b),s.verbose(`Saved state before pausing for approval for conv ${C}`)}catch(a){s.error(`Failed to save state before pausing for approval for conv ${C}:`,a)}I({type:"run:awaiting_approval",pendingToolCalls:a.tool_calls});break}if(N){s.info(`[Debug Step] Paused before executing ${a.tool_calls.length} tool call(s) for conv ${C}.`),b.debugPendingToolCalls=a.tool_calls,e.FlowExecutor.conversationStates.set(C,b);try{b.updatedAt=Date.now(),await u(D,b)}catch(a){s.error(`Failed to save state before debug tool pause for conv ${C}:`,a)}O();break}{s.info(`[flujo=true, requireApproval=false] Processing ${a.tool_calls.length} tools internally for conv ${C}`);let c=await k.s.processToolCalls({toolCalls:a.tool_calls,toolNameMap:b.toolNameMap,emit:I,conversationId:b.ephemeral?void 0:b.conversationId,node:b.currentNodeId?{nodeId:b.currentNodeId}:void 0,shouldAbort:M});if(!c.success){s.error(`Internal tool processing failed for conv ${C}`,{error:c.error}),b.lastResponse={success:!1,error:"Tool processing failed",errorDetails:c.error},d=j.O;break}s.info(`Adding ${c.value.toolCallMessages.length} tool result messages for conv ${C}`);let f=c.value.toolCallMessages.map(a=>({...a,id:crypto.randomUUID(),timestamp:Date.now(),processNodeId:b.currentNodeId}));b.messages.push(...f),e.FlowExecutor.conversationStates.set(C,b),L(),s.info(`Continuing loop for conv ${C} after internal tool processing (no approval needed).`);continue}}else{s.info(`[flujo=false] Tool call action received for conv ${C}. Checking tool types.`);let c=a.tool_calls||[],f=[],g=[];if(c.forEach(a=>{"function"===a.type&&(0,l.$9)(a.function.name,b.toolNameMap)?(s.verbose("tool is internal:",a.function.name),f.push(a)):(s.verbose("tool is external:",a.function.name),g.push(a))}),f.length>0){s.info(`[flujo=false] Processing ${f.length} internal tools for conv ${C}. External tools (${g.length}) will be ignored this step.`);let a=await k.s.processToolCalls({toolCalls:f,toolNameMap:b.toolNameMap,emit:I,conversationId:b.ephemeral?void 0:b.conversationId,node:b.currentNodeId?{nodeId:b.currentNodeId}:void 0,shouldAbort:M});if(!a.success){s.error(`[flujo=false] Internal tool processing failed for conv ${C}`,{error:a.error}),b.lastResponse={success:!1,error:"Internal tool processing failed",errorDetails:a.error},d=j.O;break}s.info(`Adding ${a.value.toolCallMessages.length} internal tool result messages for conv ${C}`);let c=a.value.toolCallMessages.map(a=>({...a,id:crypto.randomUUID(),timestamp:Date.now(),processNodeId:b.currentNodeId}));b.messages.push(...c),e.FlowExecutor.conversationStates.set(C,b),s.info(`Continuing loop for conv ${C} after internal tool processing (flujo=false).`);continue}if(g.length>0){s.info(`[flujo=false] Found ${g.length} external tools for conv ${C}. Wrapping in XML and returning.`);let a=[];for(let b of g)if("function"===b.type)try{let c=JSON.parse(b.function.arguments||"{}"),d="";for(let a in c){let b=String(c[a]).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;");d+=`
3
3
  <${a}>${b}</${a}>`}a.push(`<${b.function.name}>${d}
4
4
  </${b.function.name}>`)}catch(c){s.error(`[flujo=false] Failed to parse arguments for external tool ${b.function.name}`,{args:b.function.arguments,error:c,convId:C}),a.push(`<${b.function.name}>
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=724,exports.ids=[724],exports.modules={49181:(a,b,c)=>{c.d(b,{A$:()=>g});let d="_-_-_",e=/^(tool|resource):(.+)$/,f=/\$\{((?:tool|resource):[^}]+|_-_-_[^}]+)\}/g;function g(a){let b,c=[];for(f.lastIndex=0;null!==(b=f.exec(a));){let a=function(a){let b=e.exec(a);if(b){let a=b[1],c=function(a){let b=a.indexOf("__");if(b<=0)return null;let c=a.slice(b+2);return c?{server:a.slice(0,b),name:c}:null}(b[2]);return c?{kind:a,server:c.server,name:c.name}:null}if(a.startsWith(d)){let b=a.split(d);if(3===b.length&&b[1]&&b[2])return{kind:"tool",server:b[1],name:b[2]}}return null}(b[1]);a&&c.push({...a,fullMatch:b[0],index:b.index})}return c}},60724:(a,b,c)=>{c.d(b,{h:()=>k});var d=c(87821),e=c(20433),f=c(1133),g=c(50846),h=c(65007);let i=(0,g.h)("backend/utils/PromptRenderer");class j{async renderPrompt(a,b,c){let d=c?.renderMode||"rendered",e=c?.includeConversationHistory||!1;i.info(`Rendering prompt for node ${b} in flow ${a}`,{renderMode:d,includeConversationHistory:e});let{prompt:f,excludeModelPrompt:g,excludeStartNodePrompt:h,excludeSystemPrompt:j}=await this.findNodePrompt(b,a),k=c?.excludeModelPrompt!==void 0?c?.excludeModelPrompt:g,l=c?.excludeStartNodePrompt!==void 0?c?.excludeStartNodePrompt:h,m=c?.excludeSystemPrompt!==void 0?c?.excludeSystemPrompt:j;i.debug("Exclusion settings",{excludeModelPrompt:k,excludeStartNodePrompt:l,excludeSystemPrompt:m,fromOptions:{excludeModelPrompt:c?.excludeModelPrompt!==void 0,excludeStartNodePrompt:c?.excludeStartNodePrompt!==void 0,excludeSystemPrompt:c?.excludeSystemPrompt!==void 0}});let n="",o=null;if(!l){let b=await this.findStartNodePrompt(a);b&&(i.debug("Adding start node prompt",{length:b.length}),n+=b+"\n\n")}if(!k){let c=await this.findModelPrompt(b,a);c.prompt&&(i.debug("Adding model prompt",{modelId:c.modelId,length:c.prompt.length}),n+=c.prompt+"\n\n"),o=c.functionCallingSchema,c.reasoningSchema&&(n+=`Please use the following pattern to mark your reasoning: ${c.reasoningSchema}
1
+ "use strict";exports.id=724,exports.ids=[724],exports.modules={49181:(a,b,c)=>{c.d(b,{A$:()=>g});let d="_-_-_",e=/^(tool|resource):(.+)$/,f=/\$\{((?:tool|resource):[^}]+|_-_-_[^}]+)\}/g;function g(a){let b,c=[];for(f.lastIndex=0;null!==(b=f.exec(a));){let a=function(a){let b=e.exec(a);if(b){let a=b[1],c=function(a){let b=a.indexOf("__");if(b<=0)return null;let c=a.slice(b+2);return c?{server:a.slice(0,b),name:c}:null}(b[2]);return c?{kind:a,server:c.server,name:c.name}:null}if(a.startsWith(d)){let b=a.split(d);if(3===b.length&&b[1]&&b[2])return{kind:"tool",server:b[1],name:b[2]}}return null}(b[1]);a&&c.push({...a,fullMatch:b[0],index:b.index})}return c}},60724:(a,b,c)=>{c.d(b,{h:()=>k});var d=c(87821),e=c(20433),f=c(61397),g=c(50846),h=c(65007);let i=(0,g.h)("backend/utils/PromptRenderer");class j{async renderPrompt(a,b,c){let d=c?.renderMode||"rendered",e=c?.includeConversationHistory||!1;i.info(`Rendering prompt for node ${b} in flow ${a}`,{renderMode:d,includeConversationHistory:e});let{prompt:f,excludeModelPrompt:g,excludeStartNodePrompt:h,excludeSystemPrompt:j}=await this.findNodePrompt(b,a),k=c?.excludeModelPrompt!==void 0?c?.excludeModelPrompt:g,l=c?.excludeStartNodePrompt!==void 0?c?.excludeStartNodePrompt:h,m=c?.excludeSystemPrompt!==void 0?c?.excludeSystemPrompt:j;i.debug("Exclusion settings",{excludeModelPrompt:k,excludeStartNodePrompt:l,excludeSystemPrompt:m,fromOptions:{excludeModelPrompt:c?.excludeModelPrompt!==void 0,excludeStartNodePrompt:c?.excludeStartNodePrompt!==void 0,excludeSystemPrompt:c?.excludeSystemPrompt!==void 0}});let n="",o=null;if(!l){let b=await this.findStartNodePrompt(a);b&&(i.debug("Adding start node prompt",{length:b.length}),n+=b+"\n\n")}if(!k){let c=await this.findModelPrompt(b,a);c.prompt&&(i.debug("Adding model prompt",{modelId:c.modelId,length:c.prompt.length}),n+=c.prompt+"\n\n"),o=c.functionCallingSchema,c.reasoningSchema&&(n+=`Please use the following pattern to mark your reasoning: ${c.reasoningSchema}
2
2
 
3
3
  `),o&&(n+=`Please use the following pattern to use a tool: ${o}
4
4