flujo-ai 3.30.0 → 3.33.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 (700) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +359 -317
  3. package/.next/app-path-routes-manifest.json +15 -11
  4. package/.next/build-manifest.json +5 -5
  5. package/.next/prerender-manifest.json +21 -21
  6. package/.next/react-loadable-manifest.json +28 -13
  7. package/.next/server/app/_not-found/page.js +1 -1
  8. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/_not-found.html +1 -1
  10. package/.next/server/app/_not-found.rsc +2 -2
  11. package/.next/server/app/api/approvals/[id]/route.js +1 -1
  12. package/.next/server/app/api/approvals/[id]/route.js.nft.json +1 -1
  13. package/.next/server/app/api/approvals/[id]/route_client-reference-manifest.js +1 -1
  14. package/.next/server/app/api/approvals/route.js +2 -2
  15. package/.next/server/app/api/approvals/route.js.nft.json +1 -1
  16. package/.next/server/app/api/approvals/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/backup/route.js +1 -1
  18. package/.next/server/app/api/backup/route.js.nft.json +1 -1
  19. package/.next/server/app/api/backup/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/browse/route.js +1 -1
  21. package/.next/server/app/api/browse/route.js.nft.json +1 -1
  22. package/.next/server/app/api/browse/route_client-reference-manifest.js +1 -1
  23. package/.next/server/app/api/bugs/enhance/route.js +3 -3
  24. package/.next/server/app/api/bugs/enhance/route.js.nft.json +1 -1
  25. package/.next/server/app/api/bugs/enhance/route_client-reference-manifest.js +1 -1
  26. package/.next/server/app/api/cwd/route.js +1 -1
  27. package/.next/server/app/api/cwd/route.js.nft.json +1 -1
  28. package/.next/server/app/api/cwd/route_client-reference-manifest.js +1 -1
  29. package/.next/server/app/api/encryption/secure/route.js +1 -1
  30. package/.next/server/app/api/encryption/secure/route.js.nft.json +1 -1
  31. package/.next/server/app/api/encryption/secure/route_client-reference-manifest.js +1 -1
  32. package/.next/server/app/api/env/route.js +2 -2
  33. package/.next/server/app/api/env/route.js.nft.json +1 -1
  34. package/.next/server/app/api/env/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/flow/[id]/route.js +1 -1
  36. package/.next/server/app/api/flow/[id]/route.js.nft.json +1 -1
  37. package/.next/server/app/api/flow/[id]/route_client-reference-manifest.js +1 -1
  38. package/.next/server/app/api/flow/[id]/versions/[versionId]/route.js +1 -1
  39. package/.next/server/app/api/flow/[id]/versions/[versionId]/route.js.nft.json +1 -1
  40. package/.next/server/app/api/flow/[id]/versions/[versionId]/route_client-reference-manifest.js +1 -1
  41. package/.next/server/app/api/flow/[id]/versions/route.js +1 -1
  42. package/.next/server/app/api/flow/[id]/versions/route.js.nft.json +1 -1
  43. package/.next/server/app/api/flow/[id]/versions/route_client-reference-manifest.js +1 -1
  44. package/.next/server/app/api/flow/compile/route.js +1 -1
  45. package/.next/server/app/api/flow/compile/route.js.nft.json +1 -1
  46. package/.next/server/app/api/flow/compile/route_client-reference-manifest.js +1 -1
  47. package/.next/server/app/api/flow/generate/route.js +1 -1
  48. package/.next/server/app/api/flow/generate/route.js.nft.json +1 -1
  49. package/.next/server/app/api/flow/generate/route_client-reference-manifest.js +1 -1
  50. package/.next/server/app/api/flow/generator/route.js +7 -0
  51. package/.next/server/app/api/flow/generator/route.js.nft.json +1 -0
  52. package/.next/server/app/api/flow/generator/route_client-reference-manifest.js +1 -0
  53. package/.next/server/app/api/flow/improve/route.js +1 -1
  54. package/.next/server/app/api/flow/improve/route.js.nft.json +1 -1
  55. package/.next/server/app/api/flow/improve/route_client-reference-manifest.js +1 -1
  56. package/.next/server/app/api/flow/prompt-renderer/route.js +2 -2
  57. package/.next/server/app/api/flow/prompt-renderer/route.js.nft.json +1 -1
  58. package/.next/server/app/api/flow/prompt-renderer/route_client-reference-manifest.js +1 -1
  59. package/.next/server/app/api/flow/quick-chat/route.js +1 -1
  60. package/.next/server/app/api/flow/quick-chat/route.js.nft.json +1 -1
  61. package/.next/server/app/api/flow/quick-chat/route_client-reference-manifest.js +1 -1
  62. package/.next/server/app/api/flow/repair/route.js +1 -1
  63. package/.next/server/app/api/flow/repair/route.js.nft.json +1 -1
  64. package/.next/server/app/api/flow/repair/route_client-reference-manifest.js +1 -1
  65. package/.next/server/app/api/flow/route.js +1 -1
  66. package/.next/server/app/api/flow/route.js.nft.json +1 -1
  67. package/.next/server/app/api/flow/route_client-reference-manifest.js +1 -1
  68. package/.next/server/app/api/git/route.js +1 -1
  69. package/.next/server/app/api/git/route.js.nft.json +1 -1
  70. package/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
  71. package/.next/server/app/api/init/route.js +1 -1
  72. package/.next/server/app/api/init/route.js.nft.json +1 -1
  73. package/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  74. package/.next/server/app/api/local-models/capability/route_client-reference-manifest.js +1 -1
  75. package/.next/server/app/api/local-models/pull/route_client-reference-manifest.js +1 -1
  76. package/.next/server/app/api/local-models/suggest/route_client-reference-manifest.js +1 -1
  77. package/.next/server/app/api/mcp/app-sandbox/route.js +1 -1
  78. package/.next/server/app/api/mcp/app-sandbox/route.js.nft.json +1 -1
  79. package/.next/server/app/api/mcp/app-sandbox/route_client-reference-manifest.js +1 -1
  80. package/.next/server/app/api/mcp/cancel/route.js +2 -2
  81. package/.next/server/app/api/mcp/cancel/route.js.nft.json +1 -1
  82. package/.next/server/app/api/mcp/cancel/route_client-reference-manifest.js +1 -1
  83. package/.next/server/app/api/mcp/oauth-capability/route.js +1 -1
  84. package/.next/server/app/api/mcp/oauth-capability/route.js.nft.json +1 -1
  85. package/.next/server/app/api/mcp/oauth-capability/route_client-reference-manifest.js +1 -1
  86. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js +1 -1
  87. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js.nft.json +1 -1
  88. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route_client-reference-manifest.js +1 -1
  89. package/.next/server/app/api/mcp/servers/[name]/prompts/route.js +1 -1
  90. package/.next/server/app/api/mcp/servers/[name]/prompts/route.js.nft.json +1 -1
  91. package/.next/server/app/api/mcp/servers/[name]/prompts/route_client-reference-manifest.js +1 -1
  92. package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js +1 -1
  93. package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js.nft.json +1 -1
  94. package/.next/server/app/api/mcp/servers/[name]/resources/read/route_client-reference-manifest.js +1 -1
  95. package/.next/server/app/api/mcp/servers/[name]/resources/route.js +1 -1
  96. package/.next/server/app/api/mcp/servers/[name]/resources/route.js.nft.json +1 -1
  97. package/.next/server/app/api/mcp/servers/[name]/resources/route_client-reference-manifest.js +1 -1
  98. package/.next/server/app/api/mcp/servers/[name]/route.js +1 -1
  99. package/.next/server/app/api/mcp/servers/[name]/route.js.nft.json +1 -1
  100. package/.next/server/app/api/mcp/servers/[name]/route_client-reference-manifest.js +1 -1
  101. package/.next/server/app/api/mcp/servers/[name]/status/route.js +1 -1
  102. package/.next/server/app/api/mcp/servers/[name]/status/route.js.nft.json +1 -1
  103. package/.next/server/app/api/mcp/servers/[name]/status/route_client-reference-manifest.js +1 -1
  104. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js +1 -1
  105. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js.nft.json +1 -1
  106. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route_client-reference-manifest.js +1 -1
  107. package/.next/server/app/api/mcp/servers/[name]/tools/route.js +1 -1
  108. package/.next/server/app/api/mcp/servers/[name]/tools/route.js.nft.json +1 -1
  109. package/.next/server/app/api/mcp/servers/[name]/tools/route_client-reference-manifest.js +1 -1
  110. package/.next/server/app/api/mcp/servers/route.js +1 -1
  111. package/.next/server/app/api/mcp/servers/route.js.nft.json +1 -1
  112. package/.next/server/app/api/mcp/servers/route_client-reference-manifest.js +1 -1
  113. package/.next/server/app/api/mcp/test-connection/route.js +1 -1
  114. package/.next/server/app/api/mcp/test-connection/route.js.nft.json +1 -1
  115. package/.next/server/app/api/mcp/test-connection/route_client-reference-manifest.js +1 -1
  116. package/.next/server/app/api/mcp/test-connection/stream/route.js +1 -1
  117. package/.next/server/app/api/mcp/test-connection/stream/route.js.nft.json +1 -1
  118. package/.next/server/app/api/mcp/test-connection/stream/route_client-reference-manifest.js +1 -1
  119. package/.next/server/app/api/mcp-registry/route.js +2 -2
  120. package/.next/server/app/api/mcp-registry/route.js.nft.json +1 -1
  121. package/.next/server/app/api/mcp-registry/route_client-reference-manifest.js +1 -1
  122. package/.next/server/app/api/mcp-registry/spotlight/route.js +1 -1
  123. package/.next/server/app/api/mcp-registry/spotlight/route.js.nft.json +1 -1
  124. package/.next/server/app/api/mcp-registry/spotlight/route_client-reference-manifest.js +1 -1
  125. package/.next/server/app/api/model/[id]/route.js +1 -1
  126. package/.next/server/app/api/model/[id]/route.js.nft.json +1 -1
  127. package/.next/server/app/api/model/[id]/route_client-reference-manifest.js +1 -1
  128. package/.next/server/app/api/model/provider/route.js +2 -2
  129. package/.next/server/app/api/model/provider/route.js.nft.json +1 -1
  130. package/.next/server/app/api/model/provider/route_client-reference-manifest.js +1 -1
  131. package/.next/server/app/api/model/route.js +1 -1
  132. package/.next/server/app/api/model/route.js.nft.json +1 -1
  133. package/.next/server/app/api/model/route_client-reference-manifest.js +1 -1
  134. package/.next/server/app/api/model/test/route.js +2 -2
  135. package/.next/server/app/api/model/test/route.js.nft.json +1 -1
  136. package/.next/server/app/api/model/test/route_client-reference-manifest.js +1 -1
  137. package/.next/server/app/api/oauth/callback/route.js +2 -2
  138. package/.next/server/app/api/oauth/callback/route.js.nft.json +1 -1
  139. package/.next/server/app/api/oauth/callback/route_client-reference-manifest.js +1 -1
  140. package/.next/server/app/api/oauth/initiate/route.js +2 -2
  141. package/.next/server/app/api/oauth/initiate/route.js.nft.json +1 -1
  142. package/.next/server/app/api/oauth/initiate/route_client-reference-manifest.js +1 -1
  143. package/.next/server/app/api/oauth/reset/route.js +2 -2
  144. package/.next/server/app/api/oauth/reset/route.js.nft.json +1 -1
  145. package/.next/server/app/api/oauth/reset/route_client-reference-manifest.js +1 -1
  146. package/.next/server/app/api/packages/build/route.js +1 -1
  147. package/.next/server/app/api/packages/build/route.js.nft.json +1 -1
  148. package/.next/server/app/api/packages/build/route_client-reference-manifest.js +1 -1
  149. package/.next/server/app/api/packages/derive-secrets/route.js +1 -1
  150. package/.next/server/app/api/packages/derive-secrets/route.js.nft.json +1 -1
  151. package/.next/server/app/api/packages/derive-secrets/route_client-reference-manifest.js +1 -1
  152. package/.next/server/app/api/packages/install/route.js +1 -1
  153. package/.next/server/app/api/packages/install/route.js.nft.json +1 -1
  154. package/.next/server/app/api/packages/install/route_client-reference-manifest.js +1 -1
  155. package/.next/server/app/api/packages/install/status/route.js +1 -1
  156. package/.next/server/app/api/packages/install/status/route.js.nft.json +1 -1
  157. package/.next/server/app/api/packages/install/status/route_client-reference-manifest.js +1 -1
  158. package/.next/server/app/api/packages/installed/route.js +1 -1
  159. package/.next/server/app/api/packages/installed/route.js.nft.json +1 -1
  160. package/.next/server/app/api/packages/installed/route_client-reference-manifest.js +1 -1
  161. package/.next/server/app/api/packages/resolve/route.js +1 -1
  162. package/.next/server/app/api/packages/resolve/route.js.nft.json +1 -1
  163. package/.next/server/app/api/packages/resolve/route_client-reference-manifest.js +1 -1
  164. package/.next/server/app/api/packages/scan-targets/route.js +1 -1
  165. package/.next/server/app/api/packages/scan-targets/route.js.nft.json +1 -1
  166. package/.next/server/app/api/packages/scan-targets/route_client-reference-manifest.js +1 -1
  167. package/.next/server/app/api/packages/search/route.js +1 -1
  168. package/.next/server/app/api/packages/search/route.js.nft.json +1 -1
  169. package/.next/server/app/api/packages/search/route_client-reference-manifest.js +1 -1
  170. package/.next/server/app/api/packages/uninstall/route.js +1 -1
  171. package/.next/server/app/api/packages/uninstall/route.js.nft.json +1 -1
  172. package/.next/server/app/api/packages/uninstall/route_client-reference-manifest.js +1 -1
  173. package/.next/server/app/api/planned-executions/[id]/route.js +2 -2
  174. package/.next/server/app/api/planned-executions/[id]/route.js.nft.json +1 -1
  175. package/.next/server/app/api/planned-executions/[id]/route_client-reference-manifest.js +1 -1
  176. package/.next/server/app/api/planned-executions/[id]/run/route.js +2 -2
  177. package/.next/server/app/api/planned-executions/[id]/run/route.js.nft.json +1 -1
  178. package/.next/server/app/api/planned-executions/[id]/run/route_client-reference-manifest.js +1 -1
  179. package/.next/server/app/api/planned-executions/[id]/runs/route.js +2 -2
  180. package/.next/server/app/api/planned-executions/[id]/runs/route.js.nft.json +1 -1
  181. package/.next/server/app/api/planned-executions/[id]/runs/route_client-reference-manifest.js +1 -1
  182. package/.next/server/app/api/planned-executions/preview-schedule/route.js +1 -1
  183. package/.next/server/app/api/planned-executions/preview-schedule/route.js.nft.json +1 -1
  184. package/.next/server/app/api/planned-executions/preview-schedule/route_client-reference-manifest.js +1 -1
  185. package/.next/server/app/api/planned-executions/reconcile/route.js +1 -1
  186. package/.next/server/app/api/planned-executions/reconcile/route.js.nft.json +1 -1
  187. package/.next/server/app/api/planned-executions/reconcile/route_client-reference-manifest.js +1 -1
  188. package/.next/server/app/api/planned-executions/route.js +1 -1
  189. package/.next/server/app/api/planned-executions/route.js.nft.json +1 -1
  190. package/.next/server/app/api/planned-executions/route_client-reference-manifest.js +1 -1
  191. package/.next/server/app/api/registry/auth/resend/route.js +1 -1
  192. package/.next/server/app/api/registry/auth/resend/route.js.nft.json +1 -1
  193. package/.next/server/app/api/registry/auth/resend/route_client-reference-manifest.js +1 -1
  194. package/.next/server/app/api/registry/auth/reset/route.js +1 -1
  195. package/.next/server/app/api/registry/auth/reset/route.js.nft.json +1 -1
  196. package/.next/server/app/api/registry/auth/reset/route_client-reference-manifest.js +1 -1
  197. package/.next/server/app/api/registry/auth/route.js +1 -1
  198. package/.next/server/app/api/registry/auth/route.js.nft.json +1 -1
  199. package/.next/server/app/api/registry/auth/route_client-reference-manifest.js +1 -1
  200. package/.next/server/app/api/registry/feedback/route.js +1 -0
  201. package/.next/server/app/api/registry/feedback/route.js.nft.json +1 -0
  202. package/.next/server/app/api/registry/feedback/route_client-reference-manifest.js +1 -0
  203. package/.next/server/app/api/registry/oauth/callback/route.js +1 -1
  204. package/.next/server/app/api/registry/oauth/callback/route.js.nft.json +1 -1
  205. package/.next/server/app/api/registry/oauth/callback/route_client-reference-manifest.js +1 -1
  206. package/.next/server/app/api/registry/oauth/initiate/route.js +1 -1
  207. package/.next/server/app/api/registry/oauth/initiate/route.js.nft.json +1 -1
  208. package/.next/server/app/api/registry/oauth/initiate/route_client-reference-manifest.js +1 -1
  209. package/.next/server/app/api/registry/packages/route.js +1 -0
  210. package/.next/server/app/api/registry/packages/route.js.nft.json +1 -0
  211. package/.next/server/app/api/registry/packages/route_client-reference-manifest.js +1 -0
  212. package/.next/server/app/api/registry/publish/route.js +1 -1
  213. package/.next/server/app/api/registry/publish/route.js.nft.json +1 -1
  214. package/.next/server/app/api/registry/publish/route_client-reference-manifest.js +1 -1
  215. package/.next/server/app/api/registry/settings/route.js +1 -1
  216. package/.next/server/app/api/registry/settings/route.js.nft.json +1 -1
  217. package/.next/server/app/api/registry/settings/route_client-reference-manifest.js +1 -1
  218. package/.next/server/app/api/restore/route.js +1 -1
  219. package/.next/server/app/api/restore/route.js.nft.json +1 -1
  220. package/.next/server/app/api/restore/route_client-reference-manifest.js +1 -1
  221. package/.next/server/app/api/runs/active/route.js +2 -2
  222. package/.next/server/app/api/runs/active/route.js.nft.json +1 -1
  223. package/.next/server/app/api/runs/active/route_client-reference-manifest.js +1 -1
  224. package/.next/server/app/api/storage/route.js +1 -1
  225. package/.next/server/app/api/storage/route.js.nft.json +1 -1
  226. package/.next/server/app/api/storage/route_client-reference-manifest.js +1 -1
  227. package/.next/server/app/api/telemetry/daily-active/route.js +1 -0
  228. package/.next/server/app/api/telemetry/daily-active/route.js.nft.json +1 -0
  229. package/.next/server/app/api/telemetry/daily-active/route_client-reference-manifest.js +1 -0
  230. package/.next/server/app/api/update/route.js +1 -1
  231. package/.next/server/app/api/update/route.js.nft.json +1 -1
  232. package/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  233. package/.next/server/app/api/waves/route.js +1 -1
  234. package/.next/server/app/api/waves/route.js.nft.json +1 -1
  235. package/.next/server/app/api/waves/route_client-reference-manifest.js +1 -1
  236. package/.next/server/app/api/webhooks/[id]/route.js +1 -1
  237. package/.next/server/app/api/webhooks/[id]/route.js.nft.json +1 -1
  238. package/.next/server/app/api/webhooks/[id]/route_client-reference-manifest.js +1 -1
  239. package/.next/server/app/chat/page.js +58 -10
  240. package/.next/server/app/chat/page.js.nft.json +1 -1
  241. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  242. package/.next/server/app/chat.html +1 -1
  243. package/.next/server/app/chat.rsc +3 -3
  244. package/.next/server/app/docs/page.js +4 -5
  245. package/.next/server/app/docs/page.js.nft.json +1 -1
  246. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  247. package/.next/server/app/docs.html +1 -1
  248. package/.next/server/app/docs.rsc +3 -3
  249. package/.next/server/app/executions/page.js +3 -2
  250. package/.next/server/app/executions/page.js.nft.json +1 -1
  251. package/.next/server/app/executions/page_client-reference-manifest.js +1 -1
  252. package/.next/server/app/executions.html +1 -1
  253. package/.next/server/app/executions.rsc +3 -3
  254. package/.next/server/app/flows/page.js +3 -3
  255. package/.next/server/app/flows/page.js.nft.json +1 -1
  256. package/.next/server/app/flows/page_client-reference-manifest.js +1 -1
  257. package/.next/server/app/flows.html +1 -1
  258. package/.next/server/app/flows.rsc +3 -3
  259. package/.next/server/app/index.html +1 -1
  260. package/.next/server/app/index.rsc +3 -3
  261. package/.next/server/app/mcp/page.js +56 -5
  262. package/.next/server/app/mcp/page.js.nft.json +1 -1
  263. package/.next/server/app/mcp/page_client-reference-manifest.js +1 -1
  264. package/.next/server/app/mcp-flows/route.js +1 -1
  265. package/.next/server/app/mcp-flows/route.js.nft.json +1 -1
  266. package/.next/server/app/mcp-flows/route_client-reference-manifest.js +1 -1
  267. package/.next/server/app/mcp-proxy/[server]/route.js +1 -1
  268. package/.next/server/app/mcp-proxy/[server]/route.js.nft.json +1 -1
  269. package/.next/server/app/mcp-proxy/[server]/route_client-reference-manifest.js +1 -1
  270. package/.next/server/app/mcp.html +1 -1
  271. package/.next/server/app/mcp.rsc +3 -3
  272. package/.next/server/app/models/page.js +2 -2
  273. package/.next/server/app/models/page.js.nft.json +1 -1
  274. package/.next/server/app/models/page_client-reference-manifest.js +1 -1
  275. package/.next/server/app/packages/page.js +2 -2
  276. package/.next/server/app/packages/page.js.nft.json +1 -1
  277. package/.next/server/app/packages/page_client-reference-manifest.js +1 -1
  278. package/.next/server/app/packages.html +1 -1
  279. package/.next/server/app/packages.rsc +3 -3
  280. package/.next/server/app/page.js +3 -3
  281. package/.next/server/app/page.js.nft.json +1 -1
  282. package/.next/server/app/page_client-reference-manifest.js +1 -1
  283. package/.next/server/app/settings/page.js +2 -2
  284. package/.next/server/app/settings/page.js.nft.json +1 -1
  285. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  286. package/.next/server/app/settings.html +1 -1
  287. package/.next/server/app/settings.rsc +3 -3
  288. package/.next/server/app/v1/chat/completions/route.js +1 -1
  289. package/.next/server/app/v1/chat/completions/route.js.nft.json +1 -1
  290. package/.next/server/app/v1/chat/completions/route_client-reference-manifest.js +1 -1
  291. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js +2 -2
  292. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js.nft.json +1 -1
  293. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route_client-reference-manifest.js +1 -1
  294. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js +2 -2
  295. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js.nft.json +1 -1
  296. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route_client-reference-manifest.js +1 -1
  297. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js +1 -1
  298. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js.nft.json +1 -1
  299. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route_client-reference-manifest.js +1 -1
  300. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js +1 -1
  301. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js.nft.json +1 -1
  302. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route_client-reference-manifest.js +1 -1
  303. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js +2 -2
  304. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js.nft.json +1 -1
  305. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route_client-reference-manifest.js +1 -1
  306. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js +2 -2
  307. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js.nft.json +1 -1
  308. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route_client-reference-manifest.js +1 -1
  309. package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route.js +2 -2
  310. package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route.js.nft.json +1 -1
  311. package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route_client-reference-manifest.js +1 -1
  312. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route.js +1 -1
  313. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route.js.nft.json +1 -1
  314. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route_client-reference-manifest.js +1 -1
  315. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js +1 -1
  316. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js.nft.json +1 -1
  317. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route_client-reference-manifest.js +1 -1
  318. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js +2 -2
  319. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js.nft.json +1 -1
  320. package/.next/server/app/v1/chat/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
  321. package/.next/server/app/v1/chat/conversations/route.js +2 -2
  322. package/.next/server/app/v1/chat/conversations/route.js.nft.json +1 -1
  323. package/.next/server/app/v1/chat/conversations/route_client-reference-manifest.js +1 -1
  324. package/.next/server/app/v1/chat/events/route.js +3 -3
  325. package/.next/server/app/v1/chat/events/route.js.nft.json +1 -1
  326. package/.next/server/app/v1/chat/events/route_client-reference-manifest.js +1 -1
  327. package/.next/server/app/v1/models/route.js +2 -2
  328. package/.next/server/app/v1/models/route.js.nft.json +1 -1
  329. package/.next/server/app/v1/models/route_client-reference-manifest.js +1 -1
  330. package/.next/server/app/waves/page.js +3 -3
  331. package/.next/server/app/waves/page.js.nft.json +1 -1
  332. package/.next/server/app/waves/page_client-reference-manifest.js +1 -1
  333. package/.next/server/app/waves.html +1 -1
  334. package/.next/server/app/waves.rsc +3 -3
  335. package/.next/server/app-paths-manifest.json +15 -11
  336. package/.next/server/chunks/1114.js +1 -1
  337. package/.next/server/chunks/1226.js +1 -1
  338. package/.next/server/chunks/1227.js +1 -0
  339. package/.next/server/chunks/1314.js +1 -1
  340. package/.next/server/chunks/1439.js +1 -0
  341. package/.next/server/chunks/1578.js +1 -1
  342. package/.next/server/chunks/1634.js +1 -1
  343. package/.next/server/chunks/166.js +5 -5
  344. package/.next/server/chunks/1664.js +2 -0
  345. package/.next/server/chunks/180.js +12 -0
  346. package/.next/server/chunks/227.js +1 -5
  347. package/.next/server/chunks/2273.js +2 -2
  348. package/.next/server/chunks/2372.js +2 -0
  349. package/.next/server/chunks/2859.js +1 -1
  350. package/.next/server/chunks/2985.js +1 -0
  351. package/.next/server/chunks/3128.js +4 -4
  352. package/.next/server/chunks/3653.js +2 -0
  353. package/.next/server/chunks/3855.js +1 -0
  354. package/.next/server/chunks/4013.js +1 -0
  355. package/.next/server/chunks/4308.js +4 -0
  356. package/.next/server/chunks/{4685.js → 4466.js} +1 -1
  357. package/.next/server/chunks/4551.js +1 -1
  358. package/.next/server/chunks/4663.js +1 -0
  359. package/.next/server/chunks/4822.js +1 -0
  360. package/.next/server/chunks/5040.js +4 -9
  361. package/.next/server/chunks/5067.js +1 -1
  362. package/.next/server/chunks/544.js +38 -37
  363. package/.next/server/chunks/5463.js +1 -1
  364. package/.next/server/chunks/5544.js +5 -5
  365. package/.next/server/chunks/5703.js +2 -0
  366. package/.next/server/chunks/5708.js +2 -3
  367. package/.next/server/chunks/6034.js +1 -1
  368. package/.next/server/chunks/6226.js +1 -1
  369. package/.next/server/chunks/{3570.js → 6747.js} +287 -253
  370. package/.next/server/chunks/6967.js +82 -0
  371. package/.next/server/chunks/701.js +1 -1
  372. package/.next/server/chunks/{5548.js → 7058.js} +2 -2
  373. package/.next/server/chunks/{4566.js → 7069.js} +3 -3
  374. package/.next/server/chunks/{2388.js → 7104.js} +1 -1
  375. package/.next/server/chunks/7506.js +1 -1
  376. package/.next/server/chunks/7519.js +1 -0
  377. package/.next/server/chunks/7628.js +1 -0
  378. package/.next/server/chunks/{3030.js → 7674.js} +1 -1
  379. package/.next/server/chunks/7821.js +1 -1
  380. package/.next/server/chunks/{2866.js → 7891.js} +2 -2
  381. package/.next/server/chunks/793.js +3 -3
  382. package/.next/server/chunks/7965.js +39 -0
  383. package/.next/server/chunks/{6404.js → 7993.js} +2 -2
  384. package/.next/server/chunks/8187.js +78 -0
  385. package/.next/server/chunks/8387.js +1 -1
  386. package/.next/server/chunks/87.js +1 -0
  387. package/.next/server/chunks/8739.js +1 -2
  388. package/.next/server/chunks/{3912.js → 9085.js} +2 -2
  389. package/.next/server/chunks/9235.js +8 -0
  390. package/.next/server/chunks/94.js +1 -1
  391. package/.next/server/chunks/9724.js +3 -3
  392. package/.next/server/chunks/9983.js +1 -1
  393. package/.next/server/functions-config-manifest.json +3 -3
  394. package/.next/server/instrumentation.js +1 -1
  395. package/.next/server/instrumentation.js.nft.json +1 -1
  396. package/.next/server/middleware-build-manifest.js +1 -1
  397. package/.next/server/middleware-manifest.json +5 -5
  398. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  399. package/.next/server/pages/404.html +1 -1
  400. package/.next/server/pages/500.html +1 -1
  401. package/.next/server/server-reference-manifest.js +1 -1
  402. package/.next/server/server-reference-manifest.json +1 -1
  403. package/.next/static/chunks/1675-773454288de4309d.js +1 -0
  404. package/.next/static/chunks/{3189-fa8ec6d719d5e72b.js → 2005-f9d38c39f10c321f.js} +1 -1
  405. package/.next/static/chunks/2318-13ef0d3048e97834.js +1 -0
  406. package/.next/static/chunks/289-98f50bfcf833d661.js +1 -0
  407. package/.next/static/chunks/3089.df88f3b16898aad7.js +1 -0
  408. package/.next/static/chunks/361.bb75b03b740930cd.js +1 -0
  409. package/.next/static/chunks/3772-20197853c04a6993.js +1 -0
  410. package/.next/static/chunks/422-61b173ba64cf0c94.js +1 -0
  411. package/.next/static/chunks/4555-c9070f8c79bccfad.js +39 -0
  412. package/.next/static/chunks/4929-150b03595474c9d8.js +1 -0
  413. package/.next/static/chunks/5733-1419095a28c1ddc3.js +1 -0
  414. package/.next/static/chunks/639-90ed75d402dc872b.js +1 -0
  415. package/.next/static/chunks/{3452-a639f121f2953f50.js → 6428-951188daa6f74b86.js} +3 -3
  416. package/.next/static/chunks/6430-8c6dac4a758119f2.js +1 -0
  417. package/.next/static/chunks/6539-118a0084e0bfae34.js +1 -0
  418. package/.next/static/chunks/6733-c9029143901e62e9.js +1 -0
  419. package/.next/static/chunks/7264-91d1fa99abcd91ad.js +1 -0
  420. package/.next/static/chunks/7328-c8a51bb8c7470d77.js +1 -0
  421. package/.next/static/chunks/7391-5a0abd837ba241f5.js +1 -0
  422. package/.next/static/chunks/8124-4a80e3201b8e51b0.js +1 -0
  423. package/.next/static/chunks/{2969.eb9ff8cd2a5034b0.js → 8345.bc5534ec13abc9ee.js} +1 -1
  424. package/.next/static/chunks/8404-bfa9203e4296f3fb.js +1 -0
  425. package/.next/static/chunks/{8405.73e8be2c8e5b55c5.js → 8405.a425f94b6b13d2be.js} +1 -1
  426. package/.next/static/chunks/8551-a28272acfda62ac9.js +1 -0
  427. package/.next/static/chunks/8650-41c2afc0eba37fb8.js +1 -0
  428. package/.next/static/chunks/{9164-840f056a0e11d979.js → 9164-de1d167d87614a6d.js} +1 -1
  429. package/.next/static/chunks/9203-786f457ecf60b49c.js +1 -0
  430. package/.next/static/chunks/9345-11d6e48d892b1862.js +8 -0
  431. package/.next/static/chunks/95-b9691d3cb15556dc.js +1 -0
  432. package/.next/static/chunks/9562-f8371be653010627.js +1 -0
  433. package/.next/static/chunks/981-dd289e60d81da0d1.js +1 -0
  434. package/.next/static/chunks/9951-566fc6b05c12209e.js +1 -0
  435. package/.next/static/chunks/app/api/approvals/[id]/route-9ea2990be4b67136.js +1 -0
  436. package/.next/static/chunks/app/api/approvals/route-9ea2990be4b67136.js +1 -0
  437. package/.next/static/chunks/app/api/backup/route-9ea2990be4b67136.js +1 -0
  438. package/.next/static/chunks/app/api/browse/route-9ea2990be4b67136.js +1 -0
  439. package/.next/static/chunks/app/api/bugs/enhance/route-9ea2990be4b67136.js +1 -0
  440. package/.next/static/chunks/app/api/cwd/route-9ea2990be4b67136.js +1 -0
  441. package/.next/static/chunks/app/api/encryption/secure/route-9ea2990be4b67136.js +1 -0
  442. package/.next/static/chunks/app/api/env/route-9ea2990be4b67136.js +1 -0
  443. package/.next/static/chunks/app/api/flow/[id]/route-9ea2990be4b67136.js +1 -0
  444. package/.next/static/chunks/app/api/flow/[id]/versions/[versionId]/route-9ea2990be4b67136.js +1 -0
  445. package/.next/static/chunks/app/api/flow/[id]/versions/route-9ea2990be4b67136.js +1 -0
  446. package/.next/static/chunks/app/api/flow/compile/route-9ea2990be4b67136.js +1 -0
  447. package/.next/static/chunks/app/api/flow/generate/route-9ea2990be4b67136.js +1 -0
  448. package/.next/static/chunks/app/api/flow/generator/route-9ea2990be4b67136.js +1 -0
  449. package/.next/static/chunks/app/api/flow/improve/route-9ea2990be4b67136.js +1 -0
  450. package/.next/static/chunks/app/api/flow/prompt-renderer/route-9ea2990be4b67136.js +1 -0
  451. package/.next/static/chunks/app/api/flow/quick-chat/route-9ea2990be4b67136.js +1 -0
  452. package/.next/static/chunks/app/api/flow/repair/route-9ea2990be4b67136.js +1 -0
  453. package/.next/static/chunks/app/api/flow/route-9ea2990be4b67136.js +1 -0
  454. package/.next/static/chunks/app/api/git/route-9ea2990be4b67136.js +1 -0
  455. package/.next/static/chunks/app/api/init/route-9ea2990be4b67136.js +1 -0
  456. package/.next/static/chunks/app/api/local-models/capability/route-9ea2990be4b67136.js +1 -0
  457. package/.next/static/chunks/app/api/local-models/pull/route-9ea2990be4b67136.js +1 -0
  458. package/.next/static/chunks/app/api/local-models/suggest/route-9ea2990be4b67136.js +1 -0
  459. package/.next/static/chunks/app/api/mcp/app-sandbox/route-9ea2990be4b67136.js +1 -0
  460. package/.next/static/chunks/app/api/mcp/cancel/route-9ea2990be4b67136.js +1 -0
  461. package/.next/static/chunks/app/api/mcp/oauth-capability/route-9ea2990be4b67136.js +1 -0
  462. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-9ea2990be4b67136.js +1 -0
  463. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-9ea2990be4b67136.js +1 -0
  464. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-9ea2990be4b67136.js +1 -0
  465. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-9ea2990be4b67136.js +1 -0
  466. package/.next/static/chunks/app/api/mcp/servers/[name]/route-9ea2990be4b67136.js +1 -0
  467. package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-9ea2990be4b67136.js +1 -0
  468. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-9ea2990be4b67136.js +1 -0
  469. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-9ea2990be4b67136.js +1 -0
  470. package/.next/static/chunks/app/api/mcp/servers/route-9ea2990be4b67136.js +1 -0
  471. package/.next/static/chunks/app/api/mcp/test-connection/route-9ea2990be4b67136.js +1 -0
  472. package/.next/static/chunks/app/api/mcp/test-connection/stream/route-9ea2990be4b67136.js +1 -0
  473. package/.next/static/chunks/app/api/mcp-registry/route-9ea2990be4b67136.js +1 -0
  474. package/.next/static/chunks/app/api/mcp-registry/spotlight/route-9ea2990be4b67136.js +1 -0
  475. package/.next/static/chunks/app/api/model/[id]/route-9ea2990be4b67136.js +1 -0
  476. package/.next/static/chunks/app/api/model/provider/route-9ea2990be4b67136.js +1 -0
  477. package/.next/static/chunks/app/api/model/route-9ea2990be4b67136.js +1 -0
  478. package/.next/static/chunks/app/api/model/test/route-9ea2990be4b67136.js +1 -0
  479. package/.next/static/chunks/app/api/oauth/callback/route-9ea2990be4b67136.js +1 -0
  480. package/.next/static/chunks/app/api/oauth/initiate/route-9ea2990be4b67136.js +1 -0
  481. package/.next/static/chunks/app/api/oauth/reset/route-9ea2990be4b67136.js +1 -0
  482. package/.next/static/chunks/app/api/packages/build/route-9ea2990be4b67136.js +1 -0
  483. package/.next/static/chunks/app/api/packages/derive-secrets/route-9ea2990be4b67136.js +1 -0
  484. package/.next/static/chunks/app/api/packages/install/route-9ea2990be4b67136.js +1 -0
  485. package/.next/static/chunks/app/api/packages/install/status/route-9ea2990be4b67136.js +1 -0
  486. package/.next/static/chunks/app/api/packages/installed/route-9ea2990be4b67136.js +1 -0
  487. package/.next/static/chunks/app/api/packages/resolve/route-9ea2990be4b67136.js +1 -0
  488. package/.next/static/chunks/app/api/packages/scan-targets/route-9ea2990be4b67136.js +1 -0
  489. package/.next/static/chunks/app/api/packages/search/route-9ea2990be4b67136.js +1 -0
  490. package/.next/static/chunks/app/api/packages/uninstall/route-9ea2990be4b67136.js +1 -0
  491. package/.next/static/chunks/app/api/planned-executions/[id]/route-9ea2990be4b67136.js +1 -0
  492. package/.next/static/chunks/app/api/planned-executions/[id]/run/route-9ea2990be4b67136.js +1 -0
  493. package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-9ea2990be4b67136.js +1 -0
  494. package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-9ea2990be4b67136.js +1 -0
  495. package/.next/static/chunks/app/api/planned-executions/reconcile/route-9ea2990be4b67136.js +1 -0
  496. package/.next/static/chunks/app/api/planned-executions/route-9ea2990be4b67136.js +1 -0
  497. package/.next/static/chunks/app/api/registry/auth/resend/route-9ea2990be4b67136.js +1 -0
  498. package/.next/static/chunks/app/api/registry/auth/reset/route-9ea2990be4b67136.js +1 -0
  499. package/.next/static/chunks/app/api/registry/auth/route-9ea2990be4b67136.js +1 -0
  500. package/.next/static/chunks/app/api/registry/feedback/route-9ea2990be4b67136.js +1 -0
  501. package/.next/static/chunks/app/api/registry/oauth/callback/route-9ea2990be4b67136.js +1 -0
  502. package/.next/static/chunks/app/api/registry/oauth/initiate/route-9ea2990be4b67136.js +1 -0
  503. package/.next/static/chunks/app/api/registry/packages/route-9ea2990be4b67136.js +1 -0
  504. package/.next/static/chunks/app/api/registry/publish/route-9ea2990be4b67136.js +1 -0
  505. package/.next/static/chunks/app/api/registry/settings/route-9ea2990be4b67136.js +1 -0
  506. package/.next/static/chunks/app/api/restore/route-9ea2990be4b67136.js +1 -0
  507. package/.next/static/chunks/app/api/runs/active/route-9ea2990be4b67136.js +1 -0
  508. package/.next/static/chunks/app/api/storage/route-9ea2990be4b67136.js +1 -0
  509. package/.next/static/chunks/app/api/telemetry/daily-active/route-9ea2990be4b67136.js +1 -0
  510. package/.next/static/chunks/app/api/update/route-9ea2990be4b67136.js +1 -0
  511. package/.next/static/chunks/app/api/waves/route-9ea2990be4b67136.js +1 -0
  512. package/.next/static/chunks/app/api/webhooks/[id]/route-9ea2990be4b67136.js +1 -0
  513. package/.next/static/chunks/app/chat/page-1d100e5d974c919e.js +1 -0
  514. package/.next/static/chunks/app/docs/page-3b9ce48854b2147d.js +1 -0
  515. package/.next/static/chunks/app/executions/page-10ec7d58c7fbdd6f.js +1 -0
  516. package/.next/static/chunks/app/flows/page-9a78a2915268b2f8.js +1 -0
  517. package/.next/static/chunks/app/layout-38b88f3b057f4852.js +1 -0
  518. package/.next/static/chunks/app/mcp/{page-6041156fc67ef361.js → page-56b43b2f8752e9a5.js} +1 -1
  519. package/.next/static/chunks/app/mcp-flows/route-9ea2990be4b67136.js +1 -0
  520. package/.next/static/chunks/app/mcp-proxy/[server]/route-9ea2990be4b67136.js +1 -0
  521. package/.next/static/chunks/app/models/page-808c0568ebc5e2c7.js +1 -0
  522. package/.next/static/chunks/app/packages/page-af6ec89522915206.js +1 -0
  523. package/.next/static/chunks/app/page-30bf4293efa47a47.js +1 -0
  524. package/.next/static/chunks/app/settings/page-59ae1b658838f0bc.js +1 -0
  525. package/.next/static/chunks/app/v1/chat/completions/route-9ea2990be4b67136.js +1 -0
  526. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-9ea2990be4b67136.js +1 -0
  527. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-9ea2990be4b67136.js +1 -0
  528. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-9ea2990be4b67136.js +1 -0
  529. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-9ea2990be4b67136.js +1 -0
  530. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-9ea2990be4b67136.js +1 -0
  531. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-9ea2990be4b67136.js +1 -0
  532. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/inject/route-9ea2990be4b67136.js +1 -0
  533. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/resources/route-9ea2990be4b67136.js +1 -0
  534. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-9ea2990be4b67136.js +1 -0
  535. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-9ea2990be4b67136.js +1 -0
  536. package/.next/static/chunks/app/v1/chat/conversations/route-9ea2990be4b67136.js +1 -0
  537. package/.next/static/chunks/app/v1/chat/events/route-9ea2990be4b67136.js +1 -0
  538. package/.next/static/chunks/app/v1/models/route-9ea2990be4b67136.js +1 -0
  539. package/.next/static/chunks/app/waves/{page-3cf4b47b12662196.js → page-dc99a16141dd902b.js} +1 -1
  540. package/.next/static/chunks/webpack-dccb4f149ebdedcc.js +1 -0
  541. package/.next/static/jfb1GsjSGMjBmwfa3kM26/_buildManifest.js +1 -0
  542. package/.next/trace +10 -10
  543. package/.next/types/app/api/flow/generator/route.ts +347 -0
  544. package/.next/types/app/api/registry/feedback/route.ts +347 -0
  545. package/.next/types/app/api/registry/packages/route.ts +347 -0
  546. package/.next/types/app/api/telemetry/daily-active/route.ts +347 -0
  547. package/.next/types/routes.d.ts +5 -1
  548. package/.next/types/validator.ts +36 -0
  549. package/README.md +46 -7
  550. package/next.config.mjs +2 -2
  551. package/package.json +4 -3
  552. package/.next/server/chunks/2180.js +0 -1
  553. package/.next/server/chunks/237.js +0 -1
  554. package/.next/server/chunks/3392.js +0 -82
  555. package/.next/server/chunks/4961.js +0 -2
  556. package/.next/server/chunks/510.js +0 -1
  557. package/.next/server/chunks/5150.js +0 -1
  558. package/.next/server/chunks/5561.js +0 -1
  559. package/.next/server/chunks/5705.js +0 -1
  560. package/.next/server/chunks/5829.js +0 -1
  561. package/.next/server/chunks/694.js +0 -3
  562. package/.next/server/chunks/7579.js +0 -83
  563. package/.next/server/chunks/7724.js +0 -1
  564. package/.next/server/chunks/8034.js +0 -1
  565. package/.next/server/chunks/8037.js +0 -1
  566. package/.next/server/chunks/8192.js +0 -12
  567. package/.next/server/chunks/826.js +0 -2
  568. package/.next/server/chunks/8366.js +0 -90
  569. package/.next/server/chunks/848.js +0 -39
  570. package/.next/server/chunks/8615.js +0 -1
  571. package/.next/server/chunks/9313.js +0 -1
  572. package/.next/server/chunks/9537.js +0 -39
  573. package/.next/server/chunks/9576.js +0 -2
  574. package/.next/server/chunks/9632.js +0 -1
  575. package/.next/server/chunks/9671.js +0 -1
  576. package/.next/server/chunks/9857.js +0 -1
  577. package/.next/static/A9jP2ydtYbqx-IayWP2Sg/_buildManifest.js +0 -1
  578. package/.next/static/chunks/1496-d478bce7d7c85080.js +0 -1
  579. package/.next/static/chunks/1572-b663a83bba28a0a1.js +0 -8
  580. package/.next/static/chunks/1641-e5ff8f112da0a335.js +0 -1
  581. package/.next/static/chunks/1988-bd73f26184e930c1.js +0 -1
  582. package/.next/static/chunks/2266-d812473724cc6643.js +0 -1
  583. package/.next/static/chunks/3089.a0856f8093b90939.js +0 -1
  584. package/.next/static/chunks/3560-5bdceef09b50e1c3.js +0 -1
  585. package/.next/static/chunks/3672-cd86ace43288da79.js +0 -1
  586. package/.next/static/chunks/3711-0050bb4d345c2c9c.js +0 -1
  587. package/.next/static/chunks/4147-20897d83b3cd3978.js +0 -39
  588. package/.next/static/chunks/435-17c79f3b9f8dd38d.js +0 -1
  589. package/.next/static/chunks/469-1f043fe082d9f475.js +0 -1
  590. package/.next/static/chunks/4740-62814d07b2b7f760.js +0 -1
  591. package/.next/static/chunks/5441-cb0c31de8bce65c3.js +0 -1
  592. package/.next/static/chunks/7111-44538f8a64241b74.js +0 -1
  593. package/.next/static/chunks/812-dfe7ba07ddb7a565.js +0 -1
  594. package/.next/static/chunks/8401-0f39d91810180a88.js +0 -1
  595. package/.next/static/chunks/8404-14ef0345dc401ac5.js +0 -1
  596. package/.next/static/chunks/8678-c6c6be2672f337f6.js +0 -1
  597. package/.next/static/chunks/8834-faf121e257b517d5.js +0 -1
  598. package/.next/static/chunks/8855-f802599c4af81cca.js +0 -1
  599. package/.next/static/chunks/9562-5494feecd8c6f7a3.js +0 -1
  600. package/.next/static/chunks/app/api/approvals/[id]/route-1a4c9e7a416ccbcf.js +0 -1
  601. package/.next/static/chunks/app/api/approvals/route-1a4c9e7a416ccbcf.js +0 -1
  602. package/.next/static/chunks/app/api/backup/route-1a4c9e7a416ccbcf.js +0 -1
  603. package/.next/static/chunks/app/api/browse/route-1a4c9e7a416ccbcf.js +0 -1
  604. package/.next/static/chunks/app/api/bugs/enhance/route-1a4c9e7a416ccbcf.js +0 -1
  605. package/.next/static/chunks/app/api/cwd/route-1a4c9e7a416ccbcf.js +0 -1
  606. package/.next/static/chunks/app/api/encryption/secure/route-1a4c9e7a416ccbcf.js +0 -1
  607. package/.next/static/chunks/app/api/env/route-1a4c9e7a416ccbcf.js +0 -1
  608. package/.next/static/chunks/app/api/flow/[id]/route-1a4c9e7a416ccbcf.js +0 -1
  609. package/.next/static/chunks/app/api/flow/[id]/versions/[versionId]/route-1a4c9e7a416ccbcf.js +0 -1
  610. package/.next/static/chunks/app/api/flow/[id]/versions/route-1a4c9e7a416ccbcf.js +0 -1
  611. package/.next/static/chunks/app/api/flow/compile/route-1a4c9e7a416ccbcf.js +0 -1
  612. package/.next/static/chunks/app/api/flow/generate/route-1a4c9e7a416ccbcf.js +0 -1
  613. package/.next/static/chunks/app/api/flow/improve/route-1a4c9e7a416ccbcf.js +0 -1
  614. package/.next/static/chunks/app/api/flow/prompt-renderer/route-1a4c9e7a416ccbcf.js +0 -1
  615. package/.next/static/chunks/app/api/flow/quick-chat/route-1a4c9e7a416ccbcf.js +0 -1
  616. package/.next/static/chunks/app/api/flow/repair/route-1a4c9e7a416ccbcf.js +0 -1
  617. package/.next/static/chunks/app/api/flow/route-1a4c9e7a416ccbcf.js +0 -1
  618. package/.next/static/chunks/app/api/git/route-1a4c9e7a416ccbcf.js +0 -1
  619. package/.next/static/chunks/app/api/init/route-1a4c9e7a416ccbcf.js +0 -1
  620. package/.next/static/chunks/app/api/local-models/capability/route-1a4c9e7a416ccbcf.js +0 -1
  621. package/.next/static/chunks/app/api/local-models/pull/route-1a4c9e7a416ccbcf.js +0 -1
  622. package/.next/static/chunks/app/api/local-models/suggest/route-1a4c9e7a416ccbcf.js +0 -1
  623. package/.next/static/chunks/app/api/mcp/app-sandbox/route-1a4c9e7a416ccbcf.js +0 -1
  624. package/.next/static/chunks/app/api/mcp/cancel/route-1a4c9e7a416ccbcf.js +0 -1
  625. package/.next/static/chunks/app/api/mcp/oauth-capability/route-1a4c9e7a416ccbcf.js +0 -1
  626. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-1a4c9e7a416ccbcf.js +0 -1
  627. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-1a4c9e7a416ccbcf.js +0 -1
  628. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-1a4c9e7a416ccbcf.js +0 -1
  629. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-1a4c9e7a416ccbcf.js +0 -1
  630. package/.next/static/chunks/app/api/mcp/servers/[name]/route-1a4c9e7a416ccbcf.js +0 -1
  631. package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-1a4c9e7a416ccbcf.js +0 -1
  632. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-1a4c9e7a416ccbcf.js +0 -1
  633. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-1a4c9e7a416ccbcf.js +0 -1
  634. package/.next/static/chunks/app/api/mcp/servers/route-1a4c9e7a416ccbcf.js +0 -1
  635. package/.next/static/chunks/app/api/mcp/test-connection/route-1a4c9e7a416ccbcf.js +0 -1
  636. package/.next/static/chunks/app/api/mcp/test-connection/stream/route-1a4c9e7a416ccbcf.js +0 -1
  637. package/.next/static/chunks/app/api/mcp-registry/route-1a4c9e7a416ccbcf.js +0 -1
  638. package/.next/static/chunks/app/api/mcp-registry/spotlight/route-1a4c9e7a416ccbcf.js +0 -1
  639. package/.next/static/chunks/app/api/model/[id]/route-1a4c9e7a416ccbcf.js +0 -1
  640. package/.next/static/chunks/app/api/model/provider/route-1a4c9e7a416ccbcf.js +0 -1
  641. package/.next/static/chunks/app/api/model/route-1a4c9e7a416ccbcf.js +0 -1
  642. package/.next/static/chunks/app/api/model/test/route-1a4c9e7a416ccbcf.js +0 -1
  643. package/.next/static/chunks/app/api/oauth/callback/route-1a4c9e7a416ccbcf.js +0 -1
  644. package/.next/static/chunks/app/api/oauth/initiate/route-1a4c9e7a416ccbcf.js +0 -1
  645. package/.next/static/chunks/app/api/oauth/reset/route-1a4c9e7a416ccbcf.js +0 -1
  646. package/.next/static/chunks/app/api/packages/build/route-1a4c9e7a416ccbcf.js +0 -1
  647. package/.next/static/chunks/app/api/packages/derive-secrets/route-1a4c9e7a416ccbcf.js +0 -1
  648. package/.next/static/chunks/app/api/packages/install/route-1a4c9e7a416ccbcf.js +0 -1
  649. package/.next/static/chunks/app/api/packages/install/status/route-1a4c9e7a416ccbcf.js +0 -1
  650. package/.next/static/chunks/app/api/packages/installed/route-1a4c9e7a416ccbcf.js +0 -1
  651. package/.next/static/chunks/app/api/packages/resolve/route-1a4c9e7a416ccbcf.js +0 -1
  652. package/.next/static/chunks/app/api/packages/scan-targets/route-1a4c9e7a416ccbcf.js +0 -1
  653. package/.next/static/chunks/app/api/packages/search/route-1a4c9e7a416ccbcf.js +0 -1
  654. package/.next/static/chunks/app/api/packages/uninstall/route-1a4c9e7a416ccbcf.js +0 -1
  655. package/.next/static/chunks/app/api/planned-executions/[id]/route-1a4c9e7a416ccbcf.js +0 -1
  656. package/.next/static/chunks/app/api/planned-executions/[id]/run/route-1a4c9e7a416ccbcf.js +0 -1
  657. package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-1a4c9e7a416ccbcf.js +0 -1
  658. package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-1a4c9e7a416ccbcf.js +0 -1
  659. package/.next/static/chunks/app/api/planned-executions/reconcile/route-1a4c9e7a416ccbcf.js +0 -1
  660. package/.next/static/chunks/app/api/planned-executions/route-1a4c9e7a416ccbcf.js +0 -1
  661. package/.next/static/chunks/app/api/registry/auth/resend/route-1a4c9e7a416ccbcf.js +0 -1
  662. package/.next/static/chunks/app/api/registry/auth/reset/route-1a4c9e7a416ccbcf.js +0 -1
  663. package/.next/static/chunks/app/api/registry/auth/route-1a4c9e7a416ccbcf.js +0 -1
  664. package/.next/static/chunks/app/api/registry/oauth/callback/route-1a4c9e7a416ccbcf.js +0 -1
  665. package/.next/static/chunks/app/api/registry/oauth/initiate/route-1a4c9e7a416ccbcf.js +0 -1
  666. package/.next/static/chunks/app/api/registry/publish/route-1a4c9e7a416ccbcf.js +0 -1
  667. package/.next/static/chunks/app/api/registry/settings/route-1a4c9e7a416ccbcf.js +0 -1
  668. package/.next/static/chunks/app/api/restore/route-1a4c9e7a416ccbcf.js +0 -1
  669. package/.next/static/chunks/app/api/runs/active/route-1a4c9e7a416ccbcf.js +0 -1
  670. package/.next/static/chunks/app/api/storage/route-1a4c9e7a416ccbcf.js +0 -1
  671. package/.next/static/chunks/app/api/update/route-1a4c9e7a416ccbcf.js +0 -1
  672. package/.next/static/chunks/app/api/waves/route-1a4c9e7a416ccbcf.js +0 -1
  673. package/.next/static/chunks/app/api/webhooks/[id]/route-1a4c9e7a416ccbcf.js +0 -1
  674. package/.next/static/chunks/app/chat/page-558edb21321a32d0.js +0 -1
  675. package/.next/static/chunks/app/docs/page-fc30f613607b8a26.js +0 -1
  676. package/.next/static/chunks/app/executions/page-e71689c7256af1e8.js +0 -1
  677. package/.next/static/chunks/app/flows/page-e90e8d7b4c1bd1c8.js +0 -1
  678. package/.next/static/chunks/app/layout-038b35b382eef11d.js +0 -1
  679. package/.next/static/chunks/app/mcp-flows/route-1a4c9e7a416ccbcf.js +0 -1
  680. package/.next/static/chunks/app/mcp-proxy/[server]/route-1a4c9e7a416ccbcf.js +0 -1
  681. package/.next/static/chunks/app/models/page-d16f2721e7a93b43.js +0 -1
  682. package/.next/static/chunks/app/packages/page-c6b0e7aa95bc1064.js +0 -1
  683. package/.next/static/chunks/app/page-5c7fccd019942d46.js +0 -1
  684. package/.next/static/chunks/app/settings/page-fb336bb049bab72a.js +0 -1
  685. package/.next/static/chunks/app/v1/chat/completions/route-1a4c9e7a416ccbcf.js +0 -1
  686. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-1a4c9e7a416ccbcf.js +0 -1
  687. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-1a4c9e7a416ccbcf.js +0 -1
  688. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-1a4c9e7a416ccbcf.js +0 -1
  689. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-1a4c9e7a416ccbcf.js +0 -1
  690. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-1a4c9e7a416ccbcf.js +0 -1
  691. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-1a4c9e7a416ccbcf.js +0 -1
  692. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/inject/route-1a4c9e7a416ccbcf.js +0 -1
  693. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/resources/route-1a4c9e7a416ccbcf.js +0 -1
  694. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-1a4c9e7a416ccbcf.js +0 -1
  695. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-1a4c9e7a416ccbcf.js +0 -1
  696. package/.next/static/chunks/app/v1/chat/conversations/route-1a4c9e7a416ccbcf.js +0 -1
  697. package/.next/static/chunks/app/v1/chat/events/route-1a4c9e7a416ccbcf.js +0 -1
  698. package/.next/static/chunks/app/v1/models/route-1a4c9e7a416ccbcf.js +0 -1
  699. package/.next/static/chunks/webpack-2d8e0c13c0b865fe.js +0 -1
  700. /package/.next/static/{A9jP2ydtYbqx-IayWP2Sg → jfb1GsjSGMjBmwfa3kM26}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=6226,exports.ids=[4681,6226],exports.modules={1686:(a,b,c)=>{c.d(b,{PD:()=>h,PJ:()=>f,fS:()=>j,iS:()=>i,xk:()=>g});let d=globalThis,e=d.__flujoSteeringInbox??(d.__flujoSteeringInbox=new Map);function f(a,b){let c=e.get(a);c?c.push(b):e.set(a,[b])}function g(a){return e.get(a)?.length??0}function h(a){let b=e.get(a);return b&&0!==b.length?(e.delete(a),b):[]}function i(a,b){if(0===b.length)return;let c=e.get(a)??[];e.set(a,[...b,...c])}function j(a){e.delete(a)}},16226:(a,b,c)=>{c.d(b,{runFlow:()=>D});var d=c(50846),e=c(95708),f=c(38291),g=c(60184),h=c(1686),i=c(14214),j=c(56793),k=c(99978),l=c(22921),m=c(75312),n=c(87821),o=c(92372),p=c(13516),q=c(44681),r=c(67490),s=c(75028),t=c(23529),u=c(30767),v=c(48706),w=c(41561);let x=(0,d.h)("backend/execution/flow/runFlow");n.flowService.getFlowByName||(n.flowService.getFlowByName=async a=>(await n.flowService.loadFlows()).find(b=>b.name===a)||null,x.info("Added getFlowByName method directly to flowService instance."));let y=n.flowService,z=f.persistConversationState;async function A(a){let b;if("boolean"==typeof a.unattended)return a.unattended;try{let c=a.flowSnapshot??(a.flowId?await n.flowService.getFlow(a.flowId)??void 0:void 0);b=c?.unattended}catch(a){x.debug("resolveUnattended: flow load failed; using source default",{err:a})}let c="boolean"==typeof b?b:"schedule"===a.source;return a.unattended=c,c}async function B(a,b,c){let d;if(!await A(a))return"complete";let e=a.currentNodeId;if(!e)return"complete";try{d=a.flowSnapshot??(a.flowId?await n.flowService.getFlow(a.flowId)??void 0:void 0)}catch(a){return x.debug("[Unattended] flow load failed; completing normally",{err:a}),"complete"}if(!d)return"complete";let f=d.nodes?.find(a=>a.id===e);if(!f||"process"!==f.type)return"complete";let g=new Set((d.nodes??[]).filter(a=>"mcp"===a.type).map(a=>a.id)),h=Array.from(new Set((d.edges??[]).filter(a=>a.source===e&&"mcpEdge"!==a.type&&a.data?.edgeType!=="mcp"&&a.data?.bidirectional!==!0&&!g.has(a.target)).map(a=>a.target))).filter(a=>(d.nodes??[]).some(b=>b.id===a));if(1===h.length){let d=h[0];x.info(`[Unattended] Process node ${e} ended on plain text; auto-advancing to sole forward successor ${d} for conv ${a.conversationId}.`);let f=a.currentNodeId;return a.currentNodeId=d,a.handoffRequested=void 0,c.delete(e),b({type:"handoff",from:f?{nodeId:f}:void 0,toNodeId:d,edgeId:`unattended-auto:${e}->${d}`}),"advanced"}if(h.length>1){let b=c.get(e)??0;if(b<1)return c.set(e,b+1),x.info(`[Unattended] Process node ${e} ended on plain text with ${h.length} forward successors; nudging to hand off (attempt ${b+1}/1).`),a.messages.push({id:crypto.randomUUID(),role:"user",content:"You ended your turn without calling a tool or handing off, but this is an unattended run that cannot stop at this step. To continue you MUST call one of your handoff tools to route to the next step. If your work at this step is complete, hand off to the finishing/next step now.",timestamp:Date.now(),processNodeId:e}),"nudged";x.warn(`[Unattended] Process node ${e} still did not hand off after 1 nudge(s); completing the run to avoid a loop.`)}return"complete"}async function C(a,b,c){try{let d,e=a.flowId;if(!e)return;try{d=(await n.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,j.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){x.warn("Failed to publish runFlow flow-run event:",a)}}async function D(a){let b,c,d,f=Date.now(),j=a.flujo??!0,A=a.requireApproval??!1,D=a.debug??!1,E=a.continueDebug??!1,F=a.userTurn??!1,G="ephemeral"===a.mode,H=a.messages??(void 0!==a.prompt?[{role:"user",content:a.prompt}]:[]),I={model:a.modelName,messages:H,processNodeId:a.processNodeId};x.info("runFlow invoked",{flowId:a.flowId,model:a.modelName,messageCount:H.length,mode:G?"ephemeral":"conversation",flujo:j,requireApproval:A,flujodebug:D,conversationId:a.conversationId});let J=a.conversationId||crypto.randomUUID(),K=`conversations/${J}`,L="new",M=!1;if(x.info(`Effective Conversation ID for this run: ${J}`,{providedId:a.conversationId}),e.FlowExecutor.conversationStates.has(J))c=e.FlowExecutor.conversationStates.get(J),x.info(`Resuming conversation ${J} from memory`,{currentNodeId:c.currentNodeId}),L="memory";else if(!G)try{(c=await (0,o.YM)(K,void 0))?(x.info(`Loaded conversation state from storage: ${J}`),L="storage",await (0,g.recoverMessagesFromLog)(c),e.FlowExecutor.conversationStates.set(J,c)):x.info(`No state found in storage for conversation: ${J}. Will create new state.`)}catch(a){x.warn(`Error loading conversation state from storage for ${J}:`,a)}if(c?((b=c).conversationId!==J&&(x.warn(`Loaded state's internal conversationId (${b.conversationId}) differs from effectiveConvId (${J}). Using effectiveConvId.`),b.conversationId=J),"new"!==L&&("completed"===b.status||"error"===b.status||void 0===b.status)&&(x.info(`Resuming completed/errored/fresh conversation ${J}. Resetting status to 'running'.`),M="error"===b.status,b.status="running",b.lastResponse=void 0,b.isCancelled=!1,"storage"===L&&e.FlowExecutor.conversationStates.set(J,b)),I.processNodeId&&"new"!==L&&(x.info(`Edit detected: Resetting currentNodeId for conversation ${J} to provided processNodeId: ${I.processNodeId}`),b.currentNodeId=I.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:[]},p.G.ENABLE_EXECUTION_TRACKER&&b.executionTrace&&(b.executionTrace=[]),e.FlowExecutor.conversationStates.set(J,b),x.verbose(`State updated in memory with reset currentNodeId: ${b.currentNodeId}`))):(x.info(`Creating new conversation state object for ID: ${J}`),b={trackingInfo:{executionId:crypto.randomUUID(),startTime:Date.now(),nodeExecutionTracker:(p.G.ENABLE_EXECUTION_TRACKER,[])},messages:[],flowId:"",conversationId:J,currentNodeId:void 0,status:"running",title:a.title?.trim()||"New Conversation",createdAt:Date.now(),updatedAt:Date.now(),debugMode:D,executionTrace:D&&p.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=A,a.source&&(b.source=a.source),a.plannedExecutionId&&(b.plannedExecutionId=a.plannedExecutionId),G&&(b.ephemeral=!0),a.parentRunId&&(b.parentRunId=a.parentRunId,b.parentConversationId=a.parentRunId,!b.rootConversationId)){let c=e.FlowExecutor.conversationStates.get(a.parentRunId);b.rootConversationId=c?.rootConversationId??c?.conversationId??a.parentRunId}if(b.runDepth=a.depth??b.runDepth??0,b.chainDepth=a.chainDepth??b.chainDepth??0,b.onApprovalRequired=a.onApprovalRequired??b.onApprovalRequired??"auto",b.runDepth>r.A)return x.error(`runFlow aborted: subflow depth ${b.runDepth} exceeds max ${r.A}`),b.status="error",{status:"error",conversationId:J,outputText:"",messages:b.messages,error:{message:`Subflow recursion limit (${r.A}) exceeded`,statusCode:500},finalAction:k.O,sharedState:b};let N=[...b.messages??[]];if("new"===L){a.flowDefinition&&(b.flowSnapshot=a.flowDefinition,b.flowId=a.flowDefinition.id);let c=a.flowDefinition?a.flowDefinition.id:a.flowId;if(!c&&I.model){let a=I.model.substring(5),d=await y.getFlowByName(a);if(!d)return x.error(`Flow not found: ${a}`),{status:"error",conversationId:J,outputText:"",messages:b.messages,flowNotFound:{name:a},error:{message:`Flow not found: ${a}`,statusCode:400},finalAction:k.O,sharedState:b};c=d.id}if(!c)return x.error("No flow specified for run (neither flowId nor model provided)."),{status:"error",conversationId:J,outputText:"",messages:b.messages,error:{message:"No flow specified (provide flowId or model).",statusCode:400},finalAction:k.O,sharedState:b};b.flowId=c;let d=(I.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;let f=[...d].reverse().find(a=>"user"===a.role);f&&(b.lastUserMessageAt=f.timestamp??Date.now());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=(0,t.oO)(a.content),x.verbose(`Updated conversation title for ${J} during init to: ${b.title}`))}await z(K,b),x.debug(`Saved initial state for new conversation ${J}.`)}catch(a){x.error(`Failed to save initial state for new conversation ${J}:`,a)}e.FlowExecutor.conversationStates.set(J,b)}else{if(I.messages&&I.messages.length>0&&(b.messages=I.messages.filter(a=>!(a.depth>0)).map(a=>({...a,id:a.id||crypto.randomUUID(),timestamp:a.timestamp||Date.now(),processNodeId:a.processNodeId||void 0})),x.info(`Updated conversation ${b.conversationId} with ${b.messages.length} messages from request`),F)){let a=[...b.messages].reverse().find(a=>"user"===a.role);a&&(b.lastUserMessageAt=a.timestamp??Date.now())}(F||void 0===b.debugMode)&&(b.debugMode=D),F&&(b.debugPendingToolCalls=void 0),b.debugMode&&p.G.ENABLE_EXECUTION_TRACKER&&!b.executionTrace&&(b.executionTrace=[])}try{await (0,g.reconcileConversationLog)(b,N);let a=(0,g.repairDanglingToolCalls)(b);a.length&&(x.info(`Repaired ${a.length} dangling tool call(s) for ${J} at run start (issue #256).`),await (0,g.appendRawForState)(b,a.map(a=>({type:"message",message:a}))))}catch(a){x.warn(`Conversation-log reconcile failed for ${J}; continuing`,a)}if(F&&"new"!==L&&!I.processNodeId){let a=b.messages.length>0?b.messages[b.messages.length-1]:void 0;a?.role==="user"&&a.processNodeId&&a.processNodeId!==b.currentNodeId&&(x.info(`New user turn for ${J}: directing execution to node ${a.processNodeId} (was ${b.currentNodeId}).`),b.currentNodeId=a.processNodeId,e.FlowExecutor.conversationStates.set(J,b))}if(M&&F&&!G&&"new"!==L&&!I.processNodeId){let a=b.messages.length>0?b.messages[b.messages.length-1]:void 0;if(a?.role!=="user"){let a;for(let c=b.messages.length-1;c>=0;c--)if("user"===b.messages[c].role){a=b.messages[c].processNodeId;break}if(!a&&b.flowId)try{let c=await n.flowService.getFlow(b.flowId);a=c?.nodes?.find(a=>"start"===a.type)?.id}catch(a){x.warn(`Could not resolve start node for error-resume of ${J}`,a)}a&&a!==b.currentNodeId&&(x.info(`Error-resume for ${J}: replaying turn from entry node ${a} (was ${b.currentNodeId}).`),b.currentNodeId=a,e.FlowExecutor.conversationStates.set(J,b))}}F&&b.flowId&&(e.FlowExecutor.clearFlowCache(b.flowId),x.debug(`Cleared compiled-flow cache for ${b.flowId} at start of user turn ${J}.`));let O=!1,P=0,Q=new Map,R=new Map,S=a.emit??i.$.emitterFor(J),T=new Set(b.messages.map(a=>a.id).filter(a=>!!a)),U=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,S({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}:{}})},V=()=>{for(let a of b.messages)a.id||(a.id=crypto.randomUUID()),T.has(a.id)||(T.add(a.id),"system"!==a.role&&(S({type:"message",message:a,node:a.processNodeId?{nodeId:a.processNodeId}:void 0}),U(a)))};S({type:"run:start",flowId:b.flowId});let W=[];if(b.flowId)try{let a=b.flowSnapshot??await n.flowService.getFlow(b.flowId);if(a)for(let c of a.nodes||[]){let a=c.data?.properties?.boundServer;c.data?.type==="mcp"&&a&&(W.push(a),(0,u.F7)(a,{conversationId:J,getUnattended:()=>!!b.unattended}))}}catch(a){x.debug("Could not enumerate MCP servers for elicitation context; skipping",{err:a})}if((F||"new"===L)&&b.flowId)try{let a=b.flowSnapshot?await (0,q.Q)(b.flowSnapshot):await (0,q.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=6226,exports.ids=[4681,6226],exports.modules={1686:(a,b,c)=>{c.d(b,{PD:()=>h,PJ:()=>f,fS:()=>j,iS:()=>i,xk:()=>g});let d=globalThis,e=d.__flujoSteeringInbox??(d.__flujoSteeringInbox=new Map);function f(a,b){let c=e.get(a);c?c.push(b):e.set(a,[b])}function g(a){return e.get(a)?.length??0}function h(a){let b=e.get(a);return b&&0!==b.length?(e.delete(a),b):[]}function i(a,b){if(0===b.length)return;let c=e.get(a)??[];e.set(a,[...b,...c])}function j(a){e.delete(a)}},16226:(a,b,c)=>{c.d(b,{runFlow:()=>D});var d=c(50846),e=c(95708),f=c(38291),g=c(60184),h=c(1686),i=c(14214),j=c(56793),k=c(99978),l=c(37816),m=c(75312),n=c(87821),o=c(92372),p=c(13516),q=c(44681),r=c(67490),s=c(75028),t=c(23529),u=c(30767),v=c(48706),w=c(41561);let x=(0,d.h)("backend/execution/flow/runFlow");n.flowService.getFlowByName||(n.flowService.getFlowByName=async a=>(await n.flowService.loadFlows()).find(b=>b.name===a)||null,x.info("Added getFlowByName method directly to flowService instance."));let y=n.flowService,z=f.persistConversationState;async function A(a){let b;if("boolean"==typeof a.unattended)return a.unattended;try{let c=a.flowSnapshot??(a.flowId?await n.flowService.getFlow(a.flowId)??void 0:void 0);b=c?.unattended}catch(a){x.debug("resolveUnattended: flow load failed; using source default",{err:a})}let c="boolean"==typeof b?b:"schedule"===a.source;return a.unattended=c,c}async function B(a,b,c){let d;if(!await A(a))return"complete";let e=a.currentNodeId;if(!e)return"complete";try{d=a.flowSnapshot??(a.flowId?await n.flowService.getFlow(a.flowId)??void 0:void 0)}catch(a){return x.debug("[Unattended] flow load failed; completing normally",{err:a}),"complete"}if(!d)return"complete";let f=d.nodes?.find(a=>a.id===e);if(!f||"process"!==f.type)return"complete";let g=new Set((d.nodes??[]).filter(a=>"mcp"===a.type).map(a=>a.id)),h=Array.from(new Set((d.edges??[]).filter(a=>a.source===e&&"mcpEdge"!==a.type&&a.data?.edgeType!=="mcp"&&a.data?.bidirectional!==!0&&!g.has(a.target)).map(a=>a.target))).filter(a=>(d.nodes??[]).some(b=>b.id===a));if(1===h.length){let d=h[0];x.info(`[Unattended] Process node ${e} ended on plain text; auto-advancing to sole forward successor ${d} for conv ${a.conversationId}.`);let f=a.currentNodeId;return a.currentNodeId=d,a.handoffRequested=void 0,c.delete(e),b({type:"handoff",from:f?{nodeId:f}:void 0,toNodeId:d,edgeId:`unattended-auto:${e}->${d}`}),"advanced"}if(h.length>1){let b=c.get(e)??0;if(b<1)return c.set(e,b+1),x.info(`[Unattended] Process node ${e} ended on plain text with ${h.length} forward successors; nudging to hand off (attempt ${b+1}/1).`),a.messages.push({id:crypto.randomUUID(),role:"user",content:"You ended your turn without calling a tool or handing off, but this is an unattended run that cannot stop at this step. To continue you MUST call one of your handoff tools to route to the next step. If your work at this step is complete, hand off to the finishing/next step now.",timestamp:Date.now(),processNodeId:e}),"nudged";x.warn(`[Unattended] Process node ${e} still did not hand off after 1 nudge(s); completing the run to avoid a loop.`)}return"complete"}async function C(a,b,c){try{let d,e=a.flowId;if(!e)return;try{d=(await n.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,j.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){x.warn("Failed to publish runFlow flow-run event:",a)}}async function D(a){let b,c,d,f=Date.now(),j=a.flujo??!0,A=a.requireApproval??!1,D=a.debug??!1,E=a.continueDebug??!1,F=a.userTurn??!1,G="ephemeral"===a.mode,H=a.messages??(void 0!==a.prompt?[{role:"user",content:a.prompt}]:[]),I={model:a.modelName,messages:H,processNodeId:a.processNodeId};x.info("runFlow invoked",{flowId:a.flowId,model:a.modelName,messageCount:H.length,mode:G?"ephemeral":"conversation",flujo:j,requireApproval:A,flujodebug:D,conversationId:a.conversationId});let J=a.conversationId||crypto.randomUUID(),K=`conversations/${J}`,L="new",M=!1;if(x.info(`Effective Conversation ID for this run: ${J}`,{providedId:a.conversationId}),e.FlowExecutor.conversationStates.has(J))c=e.FlowExecutor.conversationStates.get(J),x.info(`Resuming conversation ${J} from memory`,{currentNodeId:c.currentNodeId}),L="memory";else if(!G)try{(c=await (0,o.YM)(K,void 0))?(x.info(`Loaded conversation state from storage: ${J}`),L="storage",await (0,g.recoverMessagesFromLog)(c),e.FlowExecutor.conversationStates.set(J,c)):x.info(`No state found in storage for conversation: ${J}. Will create new state.`)}catch(a){x.warn(`Error loading conversation state from storage for ${J}:`,a)}if(c?((b=c).conversationId!==J&&(x.warn(`Loaded state's internal conversationId (${b.conversationId}) differs from effectiveConvId (${J}). Using effectiveConvId.`),b.conversationId=J),"new"!==L&&("completed"===b.status||"error"===b.status||void 0===b.status)&&(x.info(`Resuming completed/errored/fresh conversation ${J}. Resetting status to 'running'.`),M="error"===b.status,b.status="running",b.lastResponse=void 0,b.isCancelled=!1,"storage"===L&&e.FlowExecutor.conversationStates.set(J,b)),I.processNodeId&&"new"!==L&&(x.info(`Edit detected: Resetting currentNodeId for conversation ${J} to provided processNodeId: ${I.processNodeId}`),b.currentNodeId=I.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:[]},p.G.ENABLE_EXECUTION_TRACKER&&b.executionTrace&&(b.executionTrace=[]),e.FlowExecutor.conversationStates.set(J,b),x.verbose(`State updated in memory with reset currentNodeId: ${b.currentNodeId}`))):(x.info(`Creating new conversation state object for ID: ${J}`),b={trackingInfo:{executionId:crypto.randomUUID(),startTime:Date.now(),nodeExecutionTracker:(p.G.ENABLE_EXECUTION_TRACKER,[])},messages:[],flowId:"",conversationId:J,currentNodeId:void 0,status:"running",title:a.title?.trim()||"New Conversation",createdAt:Date.now(),updatedAt:Date.now(),debugMode:D,executionTrace:D&&p.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(void 0!==a.mcpAppContexts&&(b.mcpAppContexts=a.mcpAppContexts),b.requireApproval=A,a.source&&(b.source=a.source),a.plannedExecutionId&&(b.plannedExecutionId=a.plannedExecutionId),G&&(b.ephemeral=!0),a.parentRunId&&(b.parentRunId=a.parentRunId,b.parentConversationId=a.parentRunId,!b.rootConversationId)){let c=e.FlowExecutor.conversationStates.get(a.parentRunId);b.rootConversationId=c?.rootConversationId??c?.conversationId??a.parentRunId}if(b.runDepth=a.depth??b.runDepth??0,b.chainDepth=a.chainDepth??b.chainDepth??0,b.onApprovalRequired=a.onApprovalRequired??b.onApprovalRequired??"auto",b.runDepth>r.A)return x.error(`runFlow aborted: subflow depth ${b.runDepth} exceeds max ${r.A}`),b.status="error",{status:"error",conversationId:J,outputText:"",messages:b.messages,error:{message:`Subflow recursion limit (${r.A}) exceeded`,statusCode:500},finalAction:k.O,sharedState:b};let N=[...b.messages??[]];if("new"===L){a.flowDefinition&&(b.flowSnapshot=a.flowDefinition,b.flowId=a.flowDefinition.id);let c=a.flowDefinition?a.flowDefinition.id:a.flowId;if(!c&&I.model){let a=I.model.substring(5),d=await y.getFlowByName(a);if(!d)return x.error(`Flow not found: ${a}`),{status:"error",conversationId:J,outputText:"",messages:b.messages,flowNotFound:{name:a},error:{message:`Flow not found: ${a}`,statusCode:400},finalAction:k.O,sharedState:b};c=d.id}if(!c)return x.error("No flow specified for run (neither flowId nor model provided)."),{status:"error",conversationId:J,outputText:"",messages:b.messages,error:{message:"No flow specified (provide flowId or model).",statusCode:400},finalAction:k.O,sharedState:b};b.flowId=c;let d=(I.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;let f=[...d].reverse().find(a=>"user"===a.role);f&&(b.lastUserMessageAt=f.timestamp??Date.now());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=(0,t.oO)(a.content),x.verbose(`Updated conversation title for ${J} during init to: ${b.title}`))}await z(K,b),x.debug(`Saved initial state for new conversation ${J}.`)}catch(a){x.error(`Failed to save initial state for new conversation ${J}:`,a)}e.FlowExecutor.conversationStates.set(J,b)}else{if(I.messages&&I.messages.length>0&&(b.messages=I.messages.filter(a=>!(a.depth>0)).map(a=>({...a,id:a.id||crypto.randomUUID(),timestamp:a.timestamp||Date.now(),processNodeId:a.processNodeId||void 0})),x.info(`Updated conversation ${b.conversationId} with ${b.messages.length} messages from request`),F)){let a=[...b.messages].reverse().find(a=>"user"===a.role);a&&(b.lastUserMessageAt=a.timestamp??Date.now())}(F||void 0===b.debugMode)&&(b.debugMode=D),F&&(b.debugPendingToolCalls=void 0),b.debugMode&&p.G.ENABLE_EXECUTION_TRACKER&&!b.executionTrace&&(b.executionTrace=[])}try{await (0,g.reconcileConversationLog)(b,N);let a=(0,g.repairDanglingToolCalls)(b);a.length&&(x.info(`Repaired ${a.length} dangling tool call(s) for ${J} at run start (issue #256).`),await (0,g.appendRawForState)(b,a.map(a=>({type:"message",message:a}))))}catch(a){x.warn(`Conversation-log reconcile failed for ${J}; continuing`,a)}if(F&&"new"!==L&&!I.processNodeId){let a=b.messages.length>0?b.messages[b.messages.length-1]:void 0;a?.role==="user"&&a.processNodeId&&a.processNodeId!==b.currentNodeId&&(x.info(`New user turn for ${J}: directing execution to node ${a.processNodeId} (was ${b.currentNodeId}).`),b.currentNodeId=a.processNodeId,e.FlowExecutor.conversationStates.set(J,b))}if(M&&F&&!G&&"new"!==L&&!I.processNodeId){let a=b.messages.length>0?b.messages[b.messages.length-1]:void 0;if(a?.role!=="user"){let a;for(let c=b.messages.length-1;c>=0;c--)if("user"===b.messages[c].role){a=b.messages[c].processNodeId;break}if(!a&&b.flowId)try{let c=await n.flowService.getFlow(b.flowId);a=c?.nodes?.find(a=>"start"===a.type)?.id}catch(a){x.warn(`Could not resolve start node for error-resume of ${J}`,a)}a&&a!==b.currentNodeId&&(x.info(`Error-resume for ${J}: replaying turn from entry node ${a} (was ${b.currentNodeId}).`),b.currentNodeId=a,e.FlowExecutor.conversationStates.set(J,b))}}F&&b.flowId&&(e.FlowExecutor.clearFlowCache(b.flowId),x.debug(`Cleared compiled-flow cache for ${b.flowId} at start of user turn ${J}.`));let O=!1,P=0,Q=new Map,R=new Map,S=a.emit??i.$.emitterFor(J),T=new Set(b.messages.map(a=>a.id).filter(a=>!!a)),U=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,S({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}:{}})},V=()=>{for(let a of b.messages)a.id||(a.id=crypto.randomUUID()),T.has(a.id)||(T.add(a.id),"system"!==a.role&&(S({type:"message",message:a,node:a.processNodeId?{nodeId:a.processNodeId}:void 0}),U(a)))};S({type:"run:start",flowId:b.flowId});let W=[];if(b.flowId)try{let a=b.flowSnapshot??await n.flowService.getFlow(b.flowId);if(a)for(let c of a.nodes||[]){let a=c.data?.properties?.boundServer;c.data?.type==="mcp"&&a&&(W.push(a),(0,u.F7)(a,{conversationId:J,getUnattended:()=>!!b.unattended}))}}catch(a){x.debug("Could not enumerate MCP servers for elicitation context; skipping",{err:a})}if((F||"new"===L)&&b.flowId)try{let a=b.flowSnapshot?await (0,q.Q)(b.flowSnapshot):await (0,q.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");x.warn(`Pre-run validation blocked flow ${b.flowId} for conv ${J}`,{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=k.O,O=!0}}catch(a){x.warn(`Pre-run validation could not complete for ${b.flowId}; proceeding`,a)}let X=()=>!!b.isCancelled||!!(0,s.isCancelledByAncestry)(b.parentRunId,e.FlowExecutor.conversationStates)&&(b.isCancelled=!0,!0),Y=async()=>{if(0===(0,h.xk)(J))return!1;if((()=>{let a=new Set;for(let c of b.messages)if("tool"===c.role){let b=c.tool_call_id;b&&a.add(b)}return b.messages.some(b=>"assistant"===b.role&&Array.isArray(b.tool_calls)&&b.tool_calls.some(b=>b.id&&!a.has(b.id)))})())return x.debug(`Steering message(s) waiting for ${J} but a tool exchange is in flight; deferring.`),!1;let a=(0,h.PD)(J);if(0===a.length)return!1;try{for(let c of a)!c.processNodeId&&b.currentNodeId&&(c.processNodeId=b.currentNodeId);return b.messages.push(...a),b.lastUserMessageAt=a[a.length-1].timestamp??Date.now(),e.FlowExecutor.conversationStates.set(J,b),V(),b.ephemeral||await (0,g.appendRawForState)(b,a.map(a=>({type:"message",message:a}))),x.info(`Folded ${a.length} steering message(s) into the live run for ${J}.`),!0}catch(b){return(0,h.iS)(J,a),x.warn(`Failed to fold steering message(s) for ${J}; re-queued`,b),!1}},Z=!!b.debugMode&&!E,$=()=>{b.status="paused_debug",S({type:"run:paused",reason:"debug",node:b.currentNodeId?{nodeId:b.currentNodeId}:void 0})};try{if(!O)for(;;){if(P++,x.debug(`--- Starting Execution Step ${P} for Conv ${J} ---`),P>150){x.warn(`Max internal iterations (150) reached for conv ${J}. Breaking loop.`),d!==k.O&&(b.lastResponse={success:!1,error:"Maximum internal iterations (150) reached."},d=k.O);break}if(X()){x.info(`Cancellation flag detected for conv ${J}. Terminating execution.`),b.status="error",b.lastResponse={success:!1,error:"Execution cancelled by user."},d=k.O;break}if(await Y(),b.debugPendingToolCalls&&b.debugPendingToolCalls.length>0){let a=b.debugPendingToolCalls;b.debugPendingToolCalls=void 0,x.info(`[Debug Step] Executing ${a.length} pending tool call(s) for conv ${J}.`);let c=await l.s.processToolCalls({toolCalls:a,toolNameMap:b.toolNameMap,emit:S,conversationId:b.ephemeral?void 0:b.conversationId,node:b.currentNodeId?{nodeId:b.currentNodeId}:void 0,shouldAbort:X,mcpNodes:b.currentMCPNodes});if(!c.success){x.error(`Debug tool processing failed for conv ${J}`,{error:c.error}),b.lastResponse={success:!1,error:"Tool processing failed",errorDetails:c.error},d=k.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(J,b),V();try{b.updatedAt=Date.now(),await z(K,b)}catch(a){x.error(`Failed to save state after debug tool execution for conv ${J}:`,a)}if(Z){x.info(`[Debug Step] Paused after tool execution for conv ${J}.`),$();break}continue}if(!Z&&b.breakpoints&&b.breakpoints.length>0){let a=await e.FlowExecutor.peekNextNodeId(b),c=b.breakpoints.includes("*");if(a&&(c||b.breakpoints.includes(a))&&b.lastBreakNodeId!==a){c&&(b.breakpoints=b.breakpoints.filter(a=>"*"!==a)),x.info(`Breakpoint hit at node ${a}${c?" (attach)":""} for conv ${J}. Pausing.`),b.status="paused_debug",b.debugMode=!0,b.lastBreakNodeId=a,S({type:"breakpoint:hit",node:{nodeId:a}}),S({type:"run:paused",reason:"breakpoint",node:{nodeId:a}});try{b.updatedAt=Date.now(),await z(K,b)}catch(a){x.error(`Failed to save state on breakpoint for conv ${J}:`,a)}break}a&&b.lastBreakNodeId&&a!==b.lastBreakNodeId&&(b.lastBreakNodeId=void 0)}if(b.messages.length>0){let a=b.messages.slice(-3);x.verbose(`Message history before step ${P}`,a)}else x.verbose(`No messages in history before step ${P}`);let a=await e.FlowExecutor.executeStep(b,S);if(b=a.sharedState,d=a.action,V(),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=(0,t.oO)(a.content),x.verbose(`Updated conversation title for ${J} after step ${P} to: ${b.title}`))}if(x.info(`Step ${P} completed for conv ${J}. Action: ${d}`,{currentNodeId:b.currentNodeId}),x.verbose(`Shared state after step ${P}`,b),x.debug(`[Action Handling] Step ${P}: Received action "${d}" for conv ${J}`),d===k.O){x.info(`[Action Handling] Step ${P}: Handling ERROR_ACTION for conv ${J}`),x.error(`Error action received during step ${P} for conv ${J}`,{error:b.lastResponse});break}if(d===k.g4){if(x.info(`[Action Handling] Step ${P}: Handling FINAL_RESPONSE_ACTION for conv ${J}`),x.info(`Final response action received at step ${P} for conv ${J}`),b.forceSummaryTurn){b.forceSummaryTurn=!1,b.capped=!0,b.status="capped",x.info(`[#253] Graceful landing complete for conv ${J}; status=capped.`);break}let a=await B(b,S,Q);if("advanced"===a||"nudged"===a){V(),e.FlowExecutor.conversationStates.set(J,b);continue}if(await Y()){x.info(`Steering message arrived as ${J} was completing; continuing the run to answer it.`),e.FlowExecutor.conversationStates.set(J,b);continue}b.status="completed",x.info(`Setting conversation status to 'completed' for conv ${J}`);break}if(d===k.Jp){x.info(`[Action Handling] Step ${P}: Handling TOOL_CALL_ACTION for conv ${J}`),x.info(`Tool call action received at step ${P} for conv ${J}`);let a=b.messages.length>0?b.messages[b.messages.length-1]:null;if(a?.role==="assistant"&&a.tool_calls)if(j){let c=b.currentNodeId;if(c&&!b.forceSummaryTurn){let d=(R.get(c)??0)+1;R.set(c,d);let f=b.turnBudgets?.[c]??w.m;if(d>=f){x.info(`[#253] Turn budget (${f}) reached for node ${c} on conv ${J}; forcing a graceful summary turn instead of executing tools.`);let d=Date.now(),h=a.tool_calls.map(a=>({id:crypto.randomUUID(),role:"tool",tool_call_id:a.id,content:"Turn budget reached: this tool was not executed. No further tool calls are possible. Provide a final text-only summary instead.",timestamp:d,processNodeId:c})),i={id:crypto.randomUUID(),role:"user",content:"SYSTEM NOTICE — TURN BUDGET REACHED. You have used up the maximum number of agentic turns allotted for this task, so no further tool calls are possible. This overrides every previous instruction to keep working or to call a tool. Produce a single, final, text-only message that:\n1. Summarizes what was accomplished so far.\n2. Lists the tasks that remain unfinished.\n3. Recommends concrete next steps for whoever continues this work.\nDo NOT attempt to call any tool. Answer with plain text only.",timestamp:d+1,processNodeId:c};if(b.messages.push(...h,i),b.forceSummaryTurn=!0,b.cappedReason="maxTurns",e.FlowExecutor.conversationStates.set(J,b),V(),!b.ephemeral)try{await (0,g.appendRawForState)(b,[...h,i].map(a=>({type:"message",message:a})))}catch(a){x.warn(`Failed to append graceful-cap messages to log for ${J}`,a)}continue}}if(A&&"fail"===b.onApprovalRequired){let c=a.tool_calls[0],e=c&&"function"===c.type?c.function.name:"unknown";x.info(`[flujo=true, onApprovalRequired=fail] Failing fast for tool "${e}" (conv ${J})`),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=k.O;break}if(A){let c=[],d=[],f=b.permissionRules??[],g=b.savedPermissionRules??[];if(f.length>0||g.length>0)for(let e of a.tool_calls){let a=(0,m.ud)(e.function.name,b.toolNameMap);if(!a){c.push(e);continue}let h={};try{h=JSON.parse(e.function.arguments)}catch{}let i=(0,v.SX)(h),j=(0,v.R6)(f,g,a.server,a.tool,i);"deny"===j||"allow"===j?d.push(e):c.push(e)}else c.push(...a.tool_calls);if(d.length>0){let a=await l.s.processToolCalls({toolCalls:d,toolNameMap:b.toolNameMap,emit:S,conversationId:b.ephemeral?void 0:b.conversationId,node:b.currentNodeId?{nodeId:b.currentNodeId}:void 0,shouldAbort:X,mcpNodes:b.currentMCPNodes,permissionRules:f,savedPermissionRules:g,unattended:b.unattended});if(a.success){let c=a.value.toolCallMessages.map(a=>({...a,id:crypto.randomUUID(),timestamp:Date.now(),processNodeId:b.currentNodeId}));b.messages.push(...c),V()}}if(0===c.length){e.FlowExecutor.conversationStates.set(J,b);continue}x.info(`[flujo=true, requireApproval=true] Pausing execution for tool approval for conv ${J}`),b.status="awaiting_tool_approval",b.pendingToolCalls=c,b.lastResponse=void 0,e.FlowExecutor.conversationStates.set(J,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=(0,t.oO)(a.content),x.verbose(`Updated conversation title for ${J} before pausing to: ${b.title}`))}await z(K,b),x.verbose(`Saved state before pausing for approval for conv ${J}`)}catch(a){x.error(`Failed to save state before pausing for approval for conv ${J}:`,a)}S({type:"run:awaiting_approval",pendingToolCalls:a.tool_calls});break}if(Z){x.info(`[Debug Step] Paused before executing ${a.tool_calls.length} tool call(s) for conv ${J}.`),b.debugPendingToolCalls=a.tool_calls,e.FlowExecutor.conversationStates.set(J,b);try{b.updatedAt=Date.now(),await z(K,b)}catch(a){x.error(`Failed to save state before debug tool pause for conv ${J}:`,a)}$();break}{x.info(`[flujo=true, requireApproval=false] Processing ${a.tool_calls.length} tools internally for conv ${J}`);let c=await l.s.processToolCalls({toolCalls:a.tool_calls,toolNameMap:b.toolNameMap,emit:S,conversationId:b.ephemeral?void 0:b.conversationId,node:b.currentNodeId?{nodeId:b.currentNodeId}:void 0,shouldAbort:X,mcpNodes:b.currentMCPNodes,permissionRules:b.permissionRules,savedPermissionRules:b.savedPermissionRules,unattended:b.unattended});if(!c.success){x.error(`Internal tool processing failed for conv ${J}`,{error:c.error}),b.lastResponse={success:!1,error:"Tool processing failed",errorDetails:c.error},d=k.O;break}x.info(`Adding ${c.value.toolCallMessages.length} tool result messages for conv ${J}`);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(J,b),V(),x.info(`Continuing loop for conv ${J} after internal tool processing (no approval needed).`);continue}}else{x.info(`[flujo=false] Tool call action received for conv ${J}. Checking tool types.`);let c=a.tool_calls||[],f=[],g=[];if(c.forEach(a=>{"function"===a.type&&(0,m.$9)(a.function.name,b.toolNameMap)?(x.verbose("tool is internal:",a.function.name),f.push(a)):(x.verbose("tool is external:",a.function.name),g.push(a))}),f.length>0){x.info(`[flujo=false] Processing ${f.length} internal tools for conv ${J}. External tools (${g.length}) will be ignored this step.`);let a=await l.s.processToolCalls({toolCalls:f,toolNameMap:b.toolNameMap,emit:S,conversationId:b.ephemeral?void 0:b.conversationId,node:b.currentNodeId?{nodeId:b.currentNodeId}:void 0,shouldAbort:X,mcpNodes:b.currentMCPNodes});if(!a.success){x.error(`[flujo=false] Internal tool processing failed for conv ${J}`,{error:a.error}),b.lastResponse={success:!1,error:"Internal tool processing failed",errorDetails:a.error},d=k.O;break}x.info(`Adding ${a.value.toolCallMessages.length} internal tool result messages for conv ${J}`);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(J,b),x.info(`Continuing loop for conv ${J} after internal tool processing (flujo=false).`);continue}if(g.length>0){x.info(`[flujo=false] Found ${g.length} external tools for conv ${J}. 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){x.error(`[flujo=false] Failed to parse arguments for external tool ${b.function.name}`,{args:b.function.arguments,error:c,convId:J}),a.push(`<${b.function.name}>