flujo-ai 3.28.0 → 3.29.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 (654) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +383 -373
  3. package/.next/app-path-routes-manifest.json +28 -26
  4. package/.next/build-manifest.json +5 -5
  5. package/.next/react-loadable-manifest.json +5 -4
  6. package/.next/routes-manifest.json +8 -0
  7. package/.next/server/app/_not-found/page.js +2 -2
  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 +3 -3
  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.nft.json +1 -1
  18. package/.next/server/app/api/backup/route_client-reference-manifest.js +1 -1
  19. package/.next/server/app/api/browse/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/bugs/enhance/route.js +2 -2
  21. package/.next/server/app/api/bugs/enhance/route.js.nft.json +1 -1
  22. package/.next/server/app/api/bugs/enhance/route_client-reference-manifest.js +1 -1
  23. package/.next/server/app/api/cwd/route.js +1 -1
  24. package/.next/server/app/api/cwd/route_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/encryption/secure/route.js +1 -1
  26. package/.next/server/app/api/encryption/secure/route.js.nft.json +1 -1
  27. package/.next/server/app/api/encryption/secure/route_client-reference-manifest.js +1 -1
  28. package/.next/server/app/api/env/route.js +1 -1
  29. package/.next/server/app/api/env/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/flow/[id]/route.js.nft.json +1 -1
  31. package/.next/server/app/api/flow/[id]/route_client-reference-manifest.js +1 -1
  32. package/.next/server/app/api/flow/[id]/versions/[versionId]/route.js.nft.json +1 -1
  33. package/.next/server/app/api/flow/[id]/versions/[versionId]/route_client-reference-manifest.js +1 -1
  34. package/.next/server/app/api/flow/[id]/versions/route.js.nft.json +1 -1
  35. package/.next/server/app/api/flow/[id]/versions/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/flow/compile/route.js +1 -1
  37. package/.next/server/app/api/flow/compile/route.js.nft.json +1 -1
  38. package/.next/server/app/api/flow/compile/route_client-reference-manifest.js +1 -1
  39. package/.next/server/app/api/flow/generate/route.js +1 -1
  40. package/.next/server/app/api/flow/generate/route.js.nft.json +1 -1
  41. package/.next/server/app/api/flow/generate/route_client-reference-manifest.js +1 -1
  42. package/.next/server/app/api/flow/improve/route.js +1 -1
  43. package/.next/server/app/api/flow/improve/route.js.nft.json +1 -1
  44. package/.next/server/app/api/flow/improve/route_client-reference-manifest.js +1 -1
  45. package/.next/server/app/api/flow/prompt-renderer/route.js +2 -2
  46. package/.next/server/app/api/flow/prompt-renderer/route.js.nft.json +1 -1
  47. package/.next/server/app/api/flow/prompt-renderer/route_client-reference-manifest.js +1 -1
  48. package/.next/server/app/api/flow/quick-chat/route.js +1 -1
  49. package/.next/server/app/api/flow/quick-chat/route.js.nft.json +1 -1
  50. package/.next/server/app/api/flow/quick-chat/route_client-reference-manifest.js +1 -1
  51. package/.next/server/app/api/flow/repair/route.js +1 -1
  52. package/.next/server/app/api/flow/repair/route.js.nft.json +1 -1
  53. package/.next/server/app/api/flow/repair/route_client-reference-manifest.js +1 -1
  54. package/.next/server/app/api/flow/route.js.nft.json +1 -1
  55. package/.next/server/app/api/flow/route_client-reference-manifest.js +1 -1
  56. package/.next/server/app/api/git/route.js +1 -1
  57. package/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
  58. package/.next/server/app/api/init/route.js +1 -1
  59. package/.next/server/app/api/init/route.js.nft.json +1 -1
  60. package/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  61. package/.next/server/app/api/local-models/capability/route.js +2 -1
  62. package/.next/server/app/api/local-models/capability/route.js.nft.json +1 -1
  63. package/.next/server/app/api/local-models/capability/route_client-reference-manifest.js +1 -1
  64. package/.next/server/app/api/local-models/pull/route.js +2 -1
  65. package/.next/server/app/api/local-models/pull/route.js.nft.json +1 -1
  66. package/.next/server/app/api/local-models/pull/route_client-reference-manifest.js +1 -1
  67. package/.next/server/app/api/local-models/suggest/route_client-reference-manifest.js +1 -1
  68. package/.next/server/app/api/mcp/app-sandbox/route.js +1 -1
  69. package/.next/server/app/api/mcp/app-sandbox/route_client-reference-manifest.js +1 -1
  70. package/.next/server/app/api/mcp/cancel/route.js +2 -2
  71. package/.next/server/app/api/mcp/cancel/route.js.nft.json +1 -1
  72. package/.next/server/app/api/mcp/cancel/route_client-reference-manifest.js +1 -1
  73. package/.next/server/app/api/mcp/oauth-capability/route.js +1 -1
  74. package/.next/server/app/api/mcp/oauth-capability/route.js.nft.json +1 -1
  75. package/.next/server/app/api/mcp/oauth-capability/route_client-reference-manifest.js +1 -1
  76. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js +1 -1
  77. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js.nft.json +1 -1
  78. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route_client-reference-manifest.js +1 -1
  79. package/.next/server/app/api/mcp/servers/[name]/prompts/route.js +1 -1
  80. package/.next/server/app/api/mcp/servers/[name]/prompts/route.js.nft.json +1 -1
  81. package/.next/server/app/api/mcp/servers/[name]/prompts/route_client-reference-manifest.js +1 -1
  82. package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js +1 -1
  83. package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js.nft.json +1 -1
  84. package/.next/server/app/api/mcp/servers/[name]/resources/read/route_client-reference-manifest.js +1 -1
  85. package/.next/server/app/api/mcp/servers/[name]/resources/route.js +1 -1
  86. package/.next/server/app/api/mcp/servers/[name]/resources/route.js.nft.json +1 -1
  87. package/.next/server/app/api/mcp/servers/[name]/resources/route_client-reference-manifest.js +1 -1
  88. package/.next/server/app/api/mcp/servers/[name]/route.js +1 -1
  89. package/.next/server/app/api/mcp/servers/[name]/route.js.nft.json +1 -1
  90. package/.next/server/app/api/mcp/servers/[name]/route_client-reference-manifest.js +1 -1
  91. package/.next/server/app/api/mcp/servers/[name]/status/route.js +1 -1
  92. package/.next/server/app/api/mcp/servers/[name]/status/route.js.nft.json +1 -1
  93. package/.next/server/app/api/mcp/servers/[name]/status/route_client-reference-manifest.js +1 -1
  94. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js +1 -1
  95. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js.nft.json +1 -1
  96. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route_client-reference-manifest.js +1 -1
  97. package/.next/server/app/api/mcp/servers/[name]/tools/route.js +1 -1
  98. package/.next/server/app/api/mcp/servers/[name]/tools/route.js.nft.json +1 -1
  99. package/.next/server/app/api/mcp/servers/[name]/tools/route_client-reference-manifest.js +1 -1
  100. package/.next/server/app/api/mcp/servers/route.js +1 -1
  101. package/.next/server/app/api/mcp/servers/route.js.nft.json +1 -1
  102. package/.next/server/app/api/mcp/servers/route_client-reference-manifest.js +1 -1
  103. package/.next/server/app/api/mcp/test-connection/route.js +1 -1
  104. package/.next/server/app/api/mcp/test-connection/route.js.nft.json +1 -1
  105. package/.next/server/app/api/mcp/test-connection/route_client-reference-manifest.js +1 -1
  106. package/.next/server/app/api/mcp/test-connection/stream/route.js +1 -1
  107. package/.next/server/app/api/mcp/test-connection/stream/route.js.nft.json +1 -1
  108. package/.next/server/app/api/mcp/test-connection/stream/route_client-reference-manifest.js +1 -1
  109. package/.next/server/app/api/mcp-registry/route.js +2 -2
  110. package/.next/server/app/api/mcp-registry/route.js.nft.json +1 -1
  111. package/.next/server/app/api/mcp-registry/route_client-reference-manifest.js +1 -1
  112. package/.next/server/app/api/mcp-registry/spotlight/route.js +1 -1
  113. package/.next/server/app/api/mcp-registry/spotlight/route_client-reference-manifest.js +1 -1
  114. package/.next/server/app/api/model/[id]/route.js +1 -1
  115. package/.next/server/app/api/model/[id]/route.js.nft.json +1 -1
  116. package/.next/server/app/api/model/[id]/route_client-reference-manifest.js +1 -1
  117. package/.next/server/app/api/model/provider/route.js +2 -2
  118. package/.next/server/app/api/model/provider/route.js.nft.json +1 -1
  119. package/.next/server/app/api/model/provider/route_client-reference-manifest.js +1 -1
  120. package/.next/server/app/api/model/route.js +1 -1
  121. package/.next/server/app/api/model/route.js.nft.json +1 -1
  122. package/.next/server/app/api/model/route_client-reference-manifest.js +1 -1
  123. package/.next/server/app/api/model/test/route.js +2 -2
  124. package/.next/server/app/api/model/test/route.js.nft.json +1 -1
  125. package/.next/server/app/api/model/test/route_client-reference-manifest.js +1 -1
  126. package/.next/server/app/api/oauth/callback/route_client-reference-manifest.js +1 -1
  127. package/.next/server/app/api/oauth/initiate/route_client-reference-manifest.js +1 -1
  128. package/.next/server/app/api/oauth/reset/route.js +2 -2
  129. package/.next/server/app/api/oauth/reset/route.js.nft.json +1 -1
  130. package/.next/server/app/api/oauth/reset/route_client-reference-manifest.js +1 -1
  131. package/.next/server/app/api/packages/build/route.js.nft.json +1 -1
  132. package/.next/server/app/api/packages/build/route_client-reference-manifest.js +1 -1
  133. package/.next/server/app/api/packages/derive-secrets/route.js.nft.json +1 -1
  134. package/.next/server/app/api/packages/derive-secrets/route_client-reference-manifest.js +1 -1
  135. package/.next/server/app/api/packages/install/route.js +1 -1
  136. package/.next/server/app/api/packages/install/route.js.nft.json +1 -1
  137. package/.next/server/app/api/packages/install/route_client-reference-manifest.js +1 -1
  138. package/.next/server/app/api/packages/install/status/route.js +1 -1
  139. package/.next/server/app/api/packages/install/status/route.js.nft.json +1 -1
  140. package/.next/server/app/api/packages/install/status/route_client-reference-manifest.js +1 -1
  141. package/.next/server/app/api/packages/installed/route.js +1 -1
  142. package/.next/server/app/api/packages/installed/route.js.nft.json +1 -1
  143. package/.next/server/app/api/packages/installed/route_client-reference-manifest.js +1 -1
  144. package/.next/server/app/api/packages/resolve/route.js.nft.json +1 -1
  145. package/.next/server/app/api/packages/resolve/route_client-reference-manifest.js +1 -1
  146. package/.next/server/app/api/packages/scan-targets/route.js +1 -0
  147. package/.next/server/app/api/packages/scan-targets/route.js.nft.json +1 -0
  148. package/.next/server/app/api/packages/scan-targets/route_client-reference-manifest.js +1 -0
  149. package/.next/server/app/api/packages/uninstall/route.js +1 -1
  150. package/.next/server/app/api/packages/uninstall/route.js.nft.json +1 -1
  151. package/.next/server/app/api/packages/uninstall/route_client-reference-manifest.js +1 -1
  152. package/.next/server/app/api/planned-executions/[id]/route.js +2 -2
  153. package/.next/server/app/api/planned-executions/[id]/route.js.nft.json +1 -1
  154. package/.next/server/app/api/planned-executions/[id]/route_client-reference-manifest.js +1 -1
  155. package/.next/server/app/api/planned-executions/[id]/run/route.js +2 -2
  156. package/.next/server/app/api/planned-executions/[id]/run/route.js.nft.json +1 -1
  157. package/.next/server/app/api/planned-executions/[id]/run/route_client-reference-manifest.js +1 -1
  158. package/.next/server/app/api/planned-executions/[id]/runs/route.js +2 -2
  159. package/.next/server/app/api/planned-executions/[id]/runs/route.js.nft.json +1 -1
  160. package/.next/server/app/api/planned-executions/[id]/runs/route_client-reference-manifest.js +1 -1
  161. package/.next/server/app/api/planned-executions/preview-schedule/route.js +1 -1
  162. package/.next/server/app/api/planned-executions/preview-schedule/route_client-reference-manifest.js +1 -1
  163. package/.next/server/app/api/planned-executions/reconcile/route.js +1 -1
  164. package/.next/server/app/api/planned-executions/reconcile/route.js.nft.json +1 -1
  165. package/.next/server/app/api/planned-executions/reconcile/route_client-reference-manifest.js +1 -1
  166. package/.next/server/app/api/planned-executions/route.js +1 -1
  167. package/.next/server/app/api/planned-executions/route.js.nft.json +1 -1
  168. package/.next/server/app/api/planned-executions/route_client-reference-manifest.js +1 -1
  169. package/.next/server/app/api/registry/auth/resend/route.js +1 -1
  170. package/.next/server/app/api/registry/auth/resend/route_client-reference-manifest.js +1 -1
  171. package/.next/server/app/api/registry/auth/reset/route.js +1 -1
  172. package/.next/server/app/api/registry/auth/reset/route_client-reference-manifest.js +1 -1
  173. package/.next/server/app/api/registry/auth/route.js +1 -1
  174. package/.next/server/app/api/registry/auth/route_client-reference-manifest.js +1 -1
  175. package/.next/server/app/api/registry/oauth/callback/route.js +1 -1
  176. package/.next/server/app/api/registry/oauth/callback/route_client-reference-manifest.js +1 -1
  177. package/.next/server/app/api/registry/oauth/initiate/route.js +1 -1
  178. package/.next/server/app/api/registry/oauth/initiate/route_client-reference-manifest.js +1 -1
  179. package/.next/server/app/api/registry/publish/route.js +1 -1
  180. package/.next/server/app/api/registry/publish/route_client-reference-manifest.js +1 -1
  181. package/.next/server/app/api/registry/settings/route.js +1 -1
  182. package/.next/server/app/api/registry/settings/route_client-reference-manifest.js +1 -1
  183. package/.next/server/app/api/restore/route.js.nft.json +1 -1
  184. package/.next/server/app/api/restore/route_client-reference-manifest.js +1 -1
  185. package/.next/server/app/api/runs/active/route.js +2 -2
  186. package/.next/server/app/api/runs/active/route.js.nft.json +1 -1
  187. package/.next/server/app/api/runs/active/route_client-reference-manifest.js +1 -1
  188. package/.next/server/app/api/storage/route.js +1 -1
  189. package/.next/server/app/api/storage/route_client-reference-manifest.js +1 -1
  190. package/.next/server/app/api/update/route.js +1 -1
  191. package/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  192. package/.next/server/app/api/waves/route.js +1 -1
  193. package/.next/server/app/api/waves/route.js.nft.json +1 -1
  194. package/.next/server/app/api/waves/route_client-reference-manifest.js +1 -1
  195. package/.next/server/app/api/webhooks/[id]/route.js +1 -1
  196. package/.next/server/app/api/webhooks/[id]/route.js.nft.json +1 -1
  197. package/.next/server/app/api/webhooks/[id]/route_client-reference-manifest.js +1 -1
  198. package/.next/server/app/chat/page.js +8 -8
  199. package/.next/server/app/chat/page.js.nft.json +1 -1
  200. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  201. package/.next/server/app/chat.html +1 -1
  202. package/.next/server/app/chat.rsc +4 -4
  203. package/.next/server/app/docs/page.js +3 -3
  204. package/.next/server/app/docs/page.js.nft.json +1 -1
  205. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  206. package/.next/server/app/docs.html +1 -1
  207. package/.next/server/app/docs.rsc +4 -4
  208. package/.next/server/app/executions/page.js +2 -39
  209. package/.next/server/app/executions/page.js.nft.json +1 -1
  210. package/.next/server/app/executions/page_client-reference-manifest.js +1 -1
  211. package/.next/server/app/executions.html +1 -1
  212. package/.next/server/app/executions.rsc +4 -4
  213. package/.next/server/app/flows/page.js +3 -3
  214. package/.next/server/app/flows/page.js.nft.json +1 -1
  215. package/.next/server/app/flows/page_client-reference-manifest.js +1 -1
  216. package/.next/server/app/flows.html +1 -1
  217. package/.next/server/app/flows.rsc +4 -4
  218. package/.next/server/app/index.html +1 -1
  219. package/.next/server/app/index.rsc +3 -3
  220. package/.next/server/app/mcp/page.js +11 -11
  221. package/.next/server/app/mcp/page.js.nft.json +1 -1
  222. package/.next/server/app/mcp/page_client-reference-manifest.js +1 -1
  223. package/.next/server/app/mcp-flows/route.js +1 -1
  224. package/.next/server/app/mcp-flows/route.js.nft.json +1 -1
  225. package/.next/server/app/mcp-flows/route_client-reference-manifest.js +1 -1
  226. package/.next/server/app/mcp-proxy/[server]/route.js +1 -1
  227. package/.next/server/app/mcp-proxy/[server]/route.js.nft.json +1 -1
  228. package/.next/server/app/mcp-proxy/[server]/route_client-reference-manifest.js +1 -1
  229. package/.next/server/app/mcp.html +1 -1
  230. package/.next/server/app/mcp.rsc +4 -4
  231. package/.next/server/app/models/page.js +2 -2
  232. package/.next/server/app/models/page.js.nft.json +1 -1
  233. package/.next/server/app/models/page_client-reference-manifest.js +1 -1
  234. package/.next/server/app/packages/page.js +2 -2
  235. package/.next/server/app/packages/page.js.nft.json +1 -1
  236. package/.next/server/app/packages/page_client-reference-manifest.js +1 -1
  237. package/.next/server/app/packages.html +1 -1
  238. package/.next/server/app/packages.rsc +4 -4
  239. package/.next/server/app/page_client-reference-manifest.js +1 -1
  240. package/.next/server/app/settings/page.js +2 -2
  241. package/.next/server/app/settings/page.js.nft.json +1 -1
  242. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  243. package/.next/server/app/settings.html +1 -1
  244. package/.next/server/app/settings.rsc +4 -4
  245. package/.next/server/app/v1/chat/completions/route.js +1 -1
  246. package/.next/server/app/v1/chat/completions/route.js.nft.json +1 -1
  247. package/.next/server/app/v1/chat/completions/route_client-reference-manifest.js +1 -1
  248. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js +2 -2
  249. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js.nft.json +1 -1
  250. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route_client-reference-manifest.js +1 -1
  251. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js +2 -2
  252. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js.nft.json +1 -1
  253. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route_client-reference-manifest.js +1 -1
  254. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js +1 -1
  255. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js.nft.json +1 -1
  256. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route_client-reference-manifest.js +1 -1
  257. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js +1 -1
  258. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js.nft.json +1 -1
  259. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route_client-reference-manifest.js +1 -1
  260. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js +2 -2
  261. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js.nft.json +1 -1
  262. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route_client-reference-manifest.js +1 -1
  263. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js +4 -4
  264. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js.nft.json +1 -1
  265. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route_client-reference-manifest.js +1 -1
  266. package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route.js +2 -0
  267. package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route.js.nft.json +1 -0
  268. package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route_client-reference-manifest.js +1 -0
  269. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route.js +1 -1
  270. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route_client-reference-manifest.js +1 -1
  271. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js +1 -1
  272. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js.nft.json +1 -1
  273. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route_client-reference-manifest.js +1 -1
  274. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js +2 -2
  275. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js.nft.json +1 -1
  276. package/.next/server/app/v1/chat/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
  277. package/.next/server/app/v1/chat/conversations/route.js +2 -2
  278. package/.next/server/app/v1/chat/conversations/route.js.nft.json +1 -1
  279. package/.next/server/app/v1/chat/conversations/route_client-reference-manifest.js +1 -1
  280. package/.next/server/app/v1/chat/events/route.js +2 -2
  281. package/.next/server/app/v1/chat/events/route.js.nft.json +1 -1
  282. package/.next/server/app/v1/chat/events/route_client-reference-manifest.js +1 -1
  283. package/.next/server/app/v1/models/route.js +2 -2
  284. package/.next/server/app/v1/models/route.js.nft.json +1 -1
  285. package/.next/server/app/v1/models/route_client-reference-manifest.js +1 -1
  286. package/.next/server/app/waves/page.js +2 -2
  287. package/.next/server/app/waves/page.js.nft.json +1 -1
  288. package/.next/server/app/waves/page_client-reference-manifest.js +1 -1
  289. package/.next/server/app/waves.html +1 -1
  290. package/.next/server/app/waves.rsc +4 -4
  291. package/.next/server/app-paths-manifest.json +28 -26
  292. package/.next/server/chunks/1083.js +1 -1
  293. package/.next/server/chunks/1114.js +1 -1
  294. package/.next/server/chunks/1226.js +1 -1
  295. package/.next/server/chunks/1314.js +1 -1
  296. package/.next/server/chunks/{6529.js → 1578.js} +2 -2
  297. package/.next/server/chunks/1634.js +1 -0
  298. package/.next/server/chunks/166.js +5 -5
  299. package/.next/server/chunks/1819.js +1 -1
  300. package/.next/server/chunks/2180.js +1 -0
  301. package/.next/server/chunks/227.js +2 -2
  302. package/.next/server/chunks/2368.js +2 -0
  303. package/.next/server/chunks/2859.js +1 -1
  304. package/.next/server/chunks/{7674.js → 3030.js} +1 -1
  305. package/.next/server/chunks/3101.js +1 -0
  306. package/.next/server/chunks/3128.js +4 -4
  307. package/.next/server/chunks/3570.js +228 -105
  308. package/.next/server/chunks/3629.js +1 -1
  309. package/.next/server/chunks/3984.js +4 -4
  310. package/.next/server/chunks/4239.js +1 -1
  311. package/.next/server/chunks/4265.js +1 -1
  312. package/.next/server/chunks/4366.js +2 -0
  313. package/.next/server/chunks/4426.js +1 -1
  314. package/.next/server/chunks/4551.js +6 -0
  315. package/.next/server/chunks/4663.js +1 -0
  316. package/.next/server/chunks/4671.js +1 -1
  317. package/.next/server/chunks/4681.js +1 -1
  318. package/.next/server/chunks/4685.js +1 -0
  319. package/.next/server/chunks/4771.js +2 -2
  320. package/.next/server/chunks/4961.js +2 -0
  321. package/.next/server/chunks/5040.js +53 -0
  322. package/.next/server/chunks/5067.js +1 -1
  323. package/.next/server/chunks/544.js +135 -0
  324. package/.next/server/chunks/5463.js +1 -1
  325. package/.next/server/chunks/5544.js +5 -5
  326. package/.next/server/chunks/5561.js +1 -0
  327. package/.next/server/chunks/5708.js +1 -1
  328. package/.next/server/chunks/5786.js +2 -0
  329. package/.next/server/chunks/5829.js +1 -0
  330. package/.next/server/chunks/5863.js +37 -0
  331. package/.next/server/chunks/5880.js +1 -1
  332. package/.next/server/chunks/6034.js +77 -0
  333. package/.next/server/chunks/{5471.js → 6219.js} +1 -1
  334. package/.next/server/chunks/6226.js +6 -0
  335. package/.next/server/chunks/6432.js +1 -0
  336. package/.next/server/chunks/6496.js +1 -0
  337. package/.next/server/chunks/6518.js +2 -0
  338. package/.next/server/chunks/6588.js +2 -0
  339. package/.next/server/chunks/6793.js +1 -0
  340. package/.next/server/chunks/701.js +1 -1
  341. package/.next/server/chunks/7506.js +1 -1
  342. package/.next/server/chunks/7579.js +4 -4
  343. package/.next/server/chunks/7634.js +4 -0
  344. package/.next/server/chunks/7821.js +1 -1
  345. package/.next/server/chunks/793.js +15 -5
  346. package/.next/server/chunks/7969.js +1 -0
  347. package/.next/server/chunks/{6537.js → 8001.js} +1 -1
  348. package/.next/server/chunks/8092.js +1 -0
  349. package/.next/server/chunks/8321.js +1 -0
  350. package/.next/server/chunks/8339.js +1 -1
  351. package/.next/server/chunks/8356.js +1 -0
  352. package/.next/server/chunks/8387.js +1 -1
  353. package/.next/server/chunks/848.js +39 -0
  354. package/.next/server/chunks/8667.js +1 -1
  355. package/.next/server/chunks/8739.js +1 -1
  356. package/.next/server/chunks/9174.js +1 -0
  357. package/.next/server/chunks/9251.js +1 -0
  358. package/.next/server/chunks/9253.js +3 -0
  359. package/.next/server/chunks/94.js +1 -1
  360. package/.next/server/chunks/9537.js +39 -0
  361. package/.next/server/chunks/9671.js +1 -1
  362. package/.next/server/chunks/9724.js +16 -6
  363. package/.next/server/chunks/9857.js +1 -0
  364. package/.next/server/chunks/{3298.js → 9868.js} +2 -2
  365. package/.next/server/instrumentation.js.nft.json +1 -1
  366. package/.next/server/middleware-build-manifest.js +1 -1
  367. package/.next/server/middleware-manifest.json +1 -1
  368. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  369. package/.next/server/pages/404.html +1 -1
  370. package/.next/server/pages/500.html +1 -1
  371. package/.next/server/pages-manifest.json +1 -1
  372. package/.next/server/server-reference-manifest.js +1 -1
  373. package/.next/server/server-reference-manifest.json +1 -1
  374. package/.next/static/JGMk-MwwdpQ94asqw-mUR/_buildManifest.js +1 -0
  375. package/.next/static/chunks/1572-b663a83bba28a0a1.js +8 -0
  376. package/.next/static/chunks/1988-bd73f26184e930c1.js +1 -0
  377. package/.next/static/chunks/2233-1139c1d3ef356980.js +1 -0
  378. package/.next/static/chunks/2266-d812473724cc6643.js +1 -0
  379. package/.next/static/chunks/2988-0b197a9b468a2df9.js +1 -0
  380. package/.next/static/chunks/3089.a0856f8093b90939.js +1 -0
  381. package/.next/static/chunks/3659-0ab9580d5ee5deea.js +1 -0
  382. package/.next/static/chunks/3672-cd86ace43288da79.js +1 -0
  383. package/.next/static/chunks/435-17c79f3b9f8dd38d.js +1 -0
  384. package/.next/static/chunks/454.5fc2f8eef98483e3.js +1 -0
  385. package/.next/static/chunks/4740-62814d07b2b7f760.js +1 -0
  386. package/.next/static/chunks/5418-45aa7e646ad024be.js +1 -0
  387. package/.next/static/chunks/5661-1b976072cc3d2fed.js +1 -0
  388. package/.next/static/chunks/6404-86615a5f5ce5c00f.js +1 -0
  389. package/.next/static/chunks/7445-d8a8be6e451c522e.js +1 -0
  390. package/.next/static/chunks/8054-f33d06ecea5d36e4.js +1 -0
  391. package/.next/static/chunks/812-dfe7ba07ddb7a565.js +1 -0
  392. package/.next/static/chunks/8404-14ef0345dc401ac5.js +1 -0
  393. package/.next/static/chunks/8863-c140a742178a4a87.js +1 -0
  394. package/.next/static/chunks/9562-5494feecd8c6f7a3.js +1 -0
  395. package/.next/static/chunks/9581-6d2523fd68a5e3c4.js +1 -0
  396. package/.next/static/chunks/app/api/approvals/[id]/route-7d60cffa598f4779.js +1 -0
  397. package/.next/static/chunks/app/api/approvals/route-7d60cffa598f4779.js +1 -0
  398. package/.next/static/chunks/app/api/backup/route-7d60cffa598f4779.js +1 -0
  399. package/.next/static/chunks/app/api/browse/route-7d60cffa598f4779.js +1 -0
  400. package/.next/static/chunks/app/api/bugs/enhance/route-7d60cffa598f4779.js +1 -0
  401. package/.next/static/chunks/app/api/cwd/route-7d60cffa598f4779.js +1 -0
  402. package/.next/static/chunks/app/api/encryption/secure/route-7d60cffa598f4779.js +1 -0
  403. package/.next/static/chunks/app/api/env/route-7d60cffa598f4779.js +1 -0
  404. package/.next/static/chunks/app/api/flow/[id]/route-7d60cffa598f4779.js +1 -0
  405. package/.next/static/chunks/app/api/flow/[id]/versions/[versionId]/route-7d60cffa598f4779.js +1 -0
  406. package/.next/static/chunks/app/api/flow/[id]/versions/route-7d60cffa598f4779.js +1 -0
  407. package/.next/static/chunks/app/api/flow/compile/route-7d60cffa598f4779.js +1 -0
  408. package/.next/static/chunks/app/api/flow/generate/route-7d60cffa598f4779.js +1 -0
  409. package/.next/static/chunks/app/api/flow/improve/route-7d60cffa598f4779.js +1 -0
  410. package/.next/static/chunks/app/api/flow/prompt-renderer/route-7d60cffa598f4779.js +1 -0
  411. package/.next/static/chunks/app/api/flow/quick-chat/route-7d60cffa598f4779.js +1 -0
  412. package/.next/static/chunks/app/api/flow/repair/route-7d60cffa598f4779.js +1 -0
  413. package/.next/static/chunks/app/api/flow/route-7d60cffa598f4779.js +1 -0
  414. package/.next/static/chunks/app/api/git/route-7d60cffa598f4779.js +1 -0
  415. package/.next/static/chunks/app/api/init/route-7d60cffa598f4779.js +1 -0
  416. package/.next/static/chunks/app/api/local-models/capability/route-7d60cffa598f4779.js +1 -0
  417. package/.next/static/chunks/app/api/local-models/pull/route-7d60cffa598f4779.js +1 -0
  418. package/.next/static/chunks/app/api/local-models/suggest/route-7d60cffa598f4779.js +1 -0
  419. package/.next/static/chunks/app/api/mcp/app-sandbox/route-7d60cffa598f4779.js +1 -0
  420. package/.next/static/chunks/app/api/mcp/cancel/route-7d60cffa598f4779.js +1 -0
  421. package/.next/static/chunks/app/api/mcp/oauth-capability/route-7d60cffa598f4779.js +1 -0
  422. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-7d60cffa598f4779.js +1 -0
  423. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-7d60cffa598f4779.js +1 -0
  424. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-7d60cffa598f4779.js +1 -0
  425. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-7d60cffa598f4779.js +1 -0
  426. package/.next/static/chunks/app/api/mcp/servers/[name]/route-7d60cffa598f4779.js +1 -0
  427. package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-7d60cffa598f4779.js +1 -0
  428. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-7d60cffa598f4779.js +1 -0
  429. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-7d60cffa598f4779.js +1 -0
  430. package/.next/static/chunks/app/api/mcp/servers/route-7d60cffa598f4779.js +1 -0
  431. package/.next/static/chunks/app/api/mcp/test-connection/route-7d60cffa598f4779.js +1 -0
  432. package/.next/static/chunks/app/api/mcp/test-connection/stream/route-7d60cffa598f4779.js +1 -0
  433. package/.next/static/chunks/app/api/mcp-registry/route-7d60cffa598f4779.js +1 -0
  434. package/.next/static/chunks/app/api/mcp-registry/spotlight/route-7d60cffa598f4779.js +1 -0
  435. package/.next/static/chunks/app/api/model/[id]/route-7d60cffa598f4779.js +1 -0
  436. package/.next/static/chunks/app/api/model/provider/route-7d60cffa598f4779.js +1 -0
  437. package/.next/static/chunks/app/api/model/route-7d60cffa598f4779.js +1 -0
  438. package/.next/static/chunks/app/api/model/test/route-7d60cffa598f4779.js +1 -0
  439. package/.next/static/chunks/app/api/oauth/callback/route-7d60cffa598f4779.js +1 -0
  440. package/.next/static/chunks/app/api/oauth/initiate/route-7d60cffa598f4779.js +1 -0
  441. package/.next/static/chunks/app/api/oauth/reset/route-7d60cffa598f4779.js +1 -0
  442. package/.next/static/chunks/app/api/packages/build/route-7d60cffa598f4779.js +1 -0
  443. package/.next/static/chunks/app/api/packages/derive-secrets/route-7d60cffa598f4779.js +1 -0
  444. package/.next/static/chunks/app/api/packages/install/route-7d60cffa598f4779.js +1 -0
  445. package/.next/static/chunks/app/api/packages/install/status/route-7d60cffa598f4779.js +1 -0
  446. package/.next/static/chunks/app/api/packages/installed/route-7d60cffa598f4779.js +1 -0
  447. package/.next/static/chunks/app/api/packages/resolve/route-7d60cffa598f4779.js +1 -0
  448. package/.next/static/chunks/app/api/packages/scan-targets/route-7d60cffa598f4779.js +1 -0
  449. package/.next/static/chunks/app/api/packages/uninstall/route-7d60cffa598f4779.js +1 -0
  450. package/.next/static/chunks/app/api/planned-executions/[id]/route-7d60cffa598f4779.js +1 -0
  451. package/.next/static/chunks/app/api/planned-executions/[id]/run/route-7d60cffa598f4779.js +1 -0
  452. package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-7d60cffa598f4779.js +1 -0
  453. package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-7d60cffa598f4779.js +1 -0
  454. package/.next/static/chunks/app/api/planned-executions/reconcile/route-7d60cffa598f4779.js +1 -0
  455. package/.next/static/chunks/app/api/planned-executions/route-7d60cffa598f4779.js +1 -0
  456. package/.next/static/chunks/app/api/registry/auth/resend/route-7d60cffa598f4779.js +1 -0
  457. package/.next/static/chunks/app/api/registry/auth/reset/route-7d60cffa598f4779.js +1 -0
  458. package/.next/static/chunks/app/api/registry/auth/route-7d60cffa598f4779.js +1 -0
  459. package/.next/static/chunks/app/api/registry/oauth/callback/route-7d60cffa598f4779.js +1 -0
  460. package/.next/static/chunks/app/api/registry/oauth/initiate/route-7d60cffa598f4779.js +1 -0
  461. package/.next/static/chunks/app/api/registry/publish/route-7d60cffa598f4779.js +1 -0
  462. package/.next/static/chunks/app/api/registry/settings/route-7d60cffa598f4779.js +1 -0
  463. package/.next/static/chunks/app/api/restore/route-7d60cffa598f4779.js +1 -0
  464. package/.next/static/chunks/app/api/runs/active/route-7d60cffa598f4779.js +1 -0
  465. package/.next/static/chunks/app/api/storage/route-7d60cffa598f4779.js +1 -0
  466. package/.next/static/chunks/app/api/update/route-7d60cffa598f4779.js +1 -0
  467. package/.next/static/chunks/app/api/waves/route-7d60cffa598f4779.js +1 -0
  468. package/.next/static/chunks/app/api/webhooks/[id]/route-7d60cffa598f4779.js +1 -0
  469. package/.next/static/chunks/app/chat/page-2b69c5e35164f553.js +1 -0
  470. package/.next/static/chunks/app/executions/page-1d8557a642114697.js +1 -0
  471. package/.next/static/chunks/app/flows/page-3f0d7cca2edff792.js +1 -0
  472. package/.next/static/chunks/app/layout-81f91fb3b894951a.js +1 -0
  473. package/.next/static/chunks/app/mcp/page-0e90177062130679.js +1 -0
  474. package/.next/static/chunks/app/mcp-flows/route-7d60cffa598f4779.js +1 -0
  475. package/.next/static/chunks/app/mcp-proxy/[server]/route-7d60cffa598f4779.js +1 -0
  476. package/.next/static/chunks/app/models/page-c69e10b83c06535d.js +1 -0
  477. package/.next/static/chunks/app/packages/page-bf8aad441c664433.js +1 -0
  478. package/.next/static/chunks/app/settings/page-4a9952c514f284e0.js +1 -0
  479. package/.next/static/chunks/app/v1/chat/completions/route-7d60cffa598f4779.js +1 -0
  480. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-7d60cffa598f4779.js +1 -0
  481. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-7d60cffa598f4779.js +1 -0
  482. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-7d60cffa598f4779.js +1 -0
  483. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-7d60cffa598f4779.js +1 -0
  484. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-7d60cffa598f4779.js +1 -0
  485. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-7d60cffa598f4779.js +1 -0
  486. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/inject/route-7d60cffa598f4779.js +1 -0
  487. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/resources/route-7d60cffa598f4779.js +1 -0
  488. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-7d60cffa598f4779.js +1 -0
  489. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-7d60cffa598f4779.js +1 -0
  490. package/.next/static/chunks/app/v1/chat/conversations/route-7d60cffa598f4779.js +1 -0
  491. package/.next/static/chunks/app/v1/chat/events/route-7d60cffa598f4779.js +1 -0
  492. package/.next/static/chunks/app/v1/models/route-7d60cffa598f4779.js +1 -0
  493. package/.next/static/chunks/app/waves/{page-97ad6b51c9cae4b3.js → page-3ca939f0f7e817b1.js} +1 -1
  494. package/.next/static/chunks/webpack-08eb993682e1fb1a.js +1 -0
  495. package/.next/static/css/30253fcfa8035221.css +1 -0
  496. package/.next/trace +10 -10
  497. package/.next/types/app/api/packages/scan-targets/route.ts +347 -0
  498. package/.next/types/app/v1/chat/conversations/[conversationId]/inject/route.ts +347 -0
  499. package/.next/types/routes.d.ts +3 -1
  500. package/.next/types/validator.ts +18 -0
  501. package/README.md +6 -1
  502. package/package.json +2 -1
  503. package/.next/server/chunks/1197.js +0 -2
  504. package/.next/server/chunks/1373.js +0 -1
  505. package/.next/server/chunks/1604.js +0 -70
  506. package/.next/server/chunks/1659.js +0 -1
  507. package/.next/server/chunks/2434.js +0 -2
  508. package/.next/server/chunks/2940.js +0 -46
  509. package/.next/server/chunks/3304.js +0 -1
  510. package/.next/server/chunks/346.js +0 -1
  511. package/.next/server/chunks/4042.js +0 -1
  512. package/.next/server/chunks/4661.js +0 -1
  513. package/.next/server/chunks/4765.js +0 -1
  514. package/.next/server/chunks/5958.js +0 -2
  515. package/.next/server/chunks/6005.js +0 -1
  516. package/.next/server/chunks/6126.js +0 -53
  517. package/.next/server/chunks/6849.js +0 -66
  518. package/.next/server/chunks/7214.js +0 -6
  519. package/.next/server/chunks/724.js +0 -27
  520. package/.next/server/chunks/7463.js +0 -6
  521. package/.next/server/chunks/7538.js +0 -21
  522. package/.next/server/chunks/8037.js +0 -1
  523. package/.next/server/chunks/8522.js +0 -2
  524. package/.next/server/chunks/8572.js +0 -1
  525. package/.next/server/chunks/869.js +0 -2
  526. package/.next/server/chunks/8979.js +0 -37
  527. package/.next/server/chunks/8994.js +0 -2
  528. package/.next/server/chunks/9165.js +0 -1
  529. package/.next/server/chunks/9387.js +0 -15
  530. package/.next/server/chunks/9400.js +0 -2
  531. package/.next/server/chunks/9472.js +0 -2
  532. package/.next/server/chunks/9583.js +0 -1
  533. package/.next/static/Q6ITx_bZyoEOnKdZu_C7j/_buildManifest.js +0 -1
  534. package/.next/static/chunks/1594-309fa6363f215d76.js +0 -1
  535. package/.next/static/chunks/1809-e56cf3c476261e34.js +0 -1
  536. package/.next/static/chunks/1937-6bbdcdc660db562c.js +0 -1
  537. package/.next/static/chunks/1988-1b651d581fc44a36.js +0 -1
  538. package/.next/static/chunks/2164-7d6451e88a447de7.js +0 -1
  539. package/.next/static/chunks/218-6cbe09820faa3272.js +0 -1
  540. package/.next/static/chunks/2566-60acd5838abd9f3f.js +0 -1
  541. package/.next/static/chunks/2800-4fa29a3eeb693593.js +0 -1
  542. package/.next/static/chunks/3089.9e15df4ffd0fe4e8.js +0 -1
  543. package/.next/static/chunks/3556-b9855146c7506696.js +0 -1
  544. package/.next/static/chunks/3948-1cb8fc7a64805254.js +0 -1
  545. package/.next/static/chunks/5328-4e556503b70e72b4.js +0 -1
  546. package/.next/static/chunks/5512.682bef7fd3a7c286.js +0 -1
  547. package/.next/static/chunks/6195-8c4c57628e9013d5.js +0 -1
  548. package/.next/static/chunks/6669-a949326b30ea1d39.js +0 -1
  549. package/.next/static/chunks/6777-4b0d05731a089de4.js +0 -1
  550. package/.next/static/chunks/7304-e7cd725083617b81.js +0 -8
  551. package/.next/static/chunks/7445-2802e158c9093556.js +0 -1
  552. package/.next/static/chunks/795-704a0e742ecc2ef6.js +0 -1
  553. package/.next/static/chunks/812-3ceea0da38ad2891.js +0 -1
  554. package/.next/static/chunks/8551-a28272acfda62ac9.js +0 -1
  555. package/.next/static/chunks/9554-cb5bd72cb40e8dbe.js +0 -1
  556. package/.next/static/chunks/9562-ef0ddd4e6b9023cf.js +0 -1
  557. package/.next/static/chunks/app/api/approvals/[id]/route-c745e5b53b81491a.js +0 -1
  558. package/.next/static/chunks/app/api/approvals/route-c745e5b53b81491a.js +0 -1
  559. package/.next/static/chunks/app/api/backup/route-c745e5b53b81491a.js +0 -1
  560. package/.next/static/chunks/app/api/browse/route-c745e5b53b81491a.js +0 -1
  561. package/.next/static/chunks/app/api/bugs/enhance/route-c745e5b53b81491a.js +0 -1
  562. package/.next/static/chunks/app/api/cwd/route-c745e5b53b81491a.js +0 -1
  563. package/.next/static/chunks/app/api/encryption/secure/route-c745e5b53b81491a.js +0 -1
  564. package/.next/static/chunks/app/api/env/route-c745e5b53b81491a.js +0 -1
  565. package/.next/static/chunks/app/api/flow/[id]/route-c745e5b53b81491a.js +0 -1
  566. package/.next/static/chunks/app/api/flow/[id]/versions/[versionId]/route-c745e5b53b81491a.js +0 -1
  567. package/.next/static/chunks/app/api/flow/[id]/versions/route-c745e5b53b81491a.js +0 -1
  568. package/.next/static/chunks/app/api/flow/compile/route-c745e5b53b81491a.js +0 -1
  569. package/.next/static/chunks/app/api/flow/generate/route-c745e5b53b81491a.js +0 -1
  570. package/.next/static/chunks/app/api/flow/improve/route-c745e5b53b81491a.js +0 -1
  571. package/.next/static/chunks/app/api/flow/prompt-renderer/route-c745e5b53b81491a.js +0 -1
  572. package/.next/static/chunks/app/api/flow/quick-chat/route-c745e5b53b81491a.js +0 -1
  573. package/.next/static/chunks/app/api/flow/repair/route-c745e5b53b81491a.js +0 -1
  574. package/.next/static/chunks/app/api/flow/route-c745e5b53b81491a.js +0 -1
  575. package/.next/static/chunks/app/api/git/route-c745e5b53b81491a.js +0 -1
  576. package/.next/static/chunks/app/api/init/route-c745e5b53b81491a.js +0 -1
  577. package/.next/static/chunks/app/api/local-models/capability/route-c745e5b53b81491a.js +0 -1
  578. package/.next/static/chunks/app/api/local-models/pull/route-c745e5b53b81491a.js +0 -1
  579. package/.next/static/chunks/app/api/local-models/suggest/route-c745e5b53b81491a.js +0 -1
  580. package/.next/static/chunks/app/api/mcp/app-sandbox/route-c745e5b53b81491a.js +0 -1
  581. package/.next/static/chunks/app/api/mcp/cancel/route-c745e5b53b81491a.js +0 -1
  582. package/.next/static/chunks/app/api/mcp/oauth-capability/route-c745e5b53b81491a.js +0 -1
  583. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-c745e5b53b81491a.js +0 -1
  584. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-c745e5b53b81491a.js +0 -1
  585. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-c745e5b53b81491a.js +0 -1
  586. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-c745e5b53b81491a.js +0 -1
  587. package/.next/static/chunks/app/api/mcp/servers/[name]/route-c745e5b53b81491a.js +0 -1
  588. package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-c745e5b53b81491a.js +0 -1
  589. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-c745e5b53b81491a.js +0 -1
  590. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-c745e5b53b81491a.js +0 -1
  591. package/.next/static/chunks/app/api/mcp/servers/route-c745e5b53b81491a.js +0 -1
  592. package/.next/static/chunks/app/api/mcp/test-connection/route-c745e5b53b81491a.js +0 -1
  593. package/.next/static/chunks/app/api/mcp/test-connection/stream/route-c745e5b53b81491a.js +0 -1
  594. package/.next/static/chunks/app/api/mcp-registry/route-c745e5b53b81491a.js +0 -1
  595. package/.next/static/chunks/app/api/mcp-registry/spotlight/route-c745e5b53b81491a.js +0 -1
  596. package/.next/static/chunks/app/api/model/[id]/route-c745e5b53b81491a.js +0 -1
  597. package/.next/static/chunks/app/api/model/provider/route-c745e5b53b81491a.js +0 -1
  598. package/.next/static/chunks/app/api/model/route-c745e5b53b81491a.js +0 -1
  599. package/.next/static/chunks/app/api/model/test/route-c745e5b53b81491a.js +0 -1
  600. package/.next/static/chunks/app/api/oauth/callback/route-c745e5b53b81491a.js +0 -1
  601. package/.next/static/chunks/app/api/oauth/initiate/route-c745e5b53b81491a.js +0 -1
  602. package/.next/static/chunks/app/api/oauth/reset/route-c745e5b53b81491a.js +0 -1
  603. package/.next/static/chunks/app/api/packages/build/route-c745e5b53b81491a.js +0 -1
  604. package/.next/static/chunks/app/api/packages/derive-secrets/route-c745e5b53b81491a.js +0 -1
  605. package/.next/static/chunks/app/api/packages/install/route-c745e5b53b81491a.js +0 -1
  606. package/.next/static/chunks/app/api/packages/install/status/route-c745e5b53b81491a.js +0 -1
  607. package/.next/static/chunks/app/api/packages/installed/route-c745e5b53b81491a.js +0 -1
  608. package/.next/static/chunks/app/api/packages/resolve/route-c745e5b53b81491a.js +0 -1
  609. package/.next/static/chunks/app/api/packages/uninstall/route-c745e5b53b81491a.js +0 -1
  610. package/.next/static/chunks/app/api/planned-executions/[id]/route-c745e5b53b81491a.js +0 -1
  611. package/.next/static/chunks/app/api/planned-executions/[id]/run/route-c745e5b53b81491a.js +0 -1
  612. package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-c745e5b53b81491a.js +0 -1
  613. package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-c745e5b53b81491a.js +0 -1
  614. package/.next/static/chunks/app/api/planned-executions/reconcile/route-c745e5b53b81491a.js +0 -1
  615. package/.next/static/chunks/app/api/planned-executions/route-c745e5b53b81491a.js +0 -1
  616. package/.next/static/chunks/app/api/registry/auth/resend/route-c745e5b53b81491a.js +0 -1
  617. package/.next/static/chunks/app/api/registry/auth/reset/route-c745e5b53b81491a.js +0 -1
  618. package/.next/static/chunks/app/api/registry/auth/route-c745e5b53b81491a.js +0 -1
  619. package/.next/static/chunks/app/api/registry/oauth/callback/route-c745e5b53b81491a.js +0 -1
  620. package/.next/static/chunks/app/api/registry/oauth/initiate/route-c745e5b53b81491a.js +0 -1
  621. package/.next/static/chunks/app/api/registry/publish/route-c745e5b53b81491a.js +0 -1
  622. package/.next/static/chunks/app/api/registry/settings/route-c745e5b53b81491a.js +0 -1
  623. package/.next/static/chunks/app/api/restore/route-c745e5b53b81491a.js +0 -1
  624. package/.next/static/chunks/app/api/runs/active/route-c745e5b53b81491a.js +0 -1
  625. package/.next/static/chunks/app/api/storage/route-c745e5b53b81491a.js +0 -1
  626. package/.next/static/chunks/app/api/update/route-c745e5b53b81491a.js +0 -1
  627. package/.next/static/chunks/app/api/waves/route-c745e5b53b81491a.js +0 -1
  628. package/.next/static/chunks/app/api/webhooks/[id]/route-c745e5b53b81491a.js +0 -1
  629. package/.next/static/chunks/app/chat/page-c39160ddf90bbae9.js +0 -1
  630. package/.next/static/chunks/app/executions/page-10d09f36de30939f.js +0 -1
  631. package/.next/static/chunks/app/flows/page-0d8fb471adfc2981.js +0 -1
  632. package/.next/static/chunks/app/layout-eea7078d7553c21a.js +0 -1
  633. package/.next/static/chunks/app/mcp/page-8ad71bf5801bfe5f.js +0 -1
  634. package/.next/static/chunks/app/mcp-flows/route-c745e5b53b81491a.js +0 -1
  635. package/.next/static/chunks/app/mcp-proxy/[server]/route-c745e5b53b81491a.js +0 -1
  636. package/.next/static/chunks/app/models/page-17e8e6668f92f58d.js +0 -1
  637. package/.next/static/chunks/app/packages/page-9f61751e98134f3d.js +0 -1
  638. package/.next/static/chunks/app/settings/page-afbf8790e99fecaf.js +0 -1
  639. package/.next/static/chunks/app/v1/chat/completions/route-c745e5b53b81491a.js +0 -1
  640. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-c745e5b53b81491a.js +0 -1
  641. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-c745e5b53b81491a.js +0 -1
  642. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-c745e5b53b81491a.js +0 -1
  643. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-c745e5b53b81491a.js +0 -1
  644. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-c745e5b53b81491a.js +0 -1
  645. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-c745e5b53b81491a.js +0 -1
  646. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/resources/route-c745e5b53b81491a.js +0 -1
  647. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-c745e5b53b81491a.js +0 -1
  648. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-c745e5b53b81491a.js +0 -1
  649. package/.next/static/chunks/app/v1/chat/conversations/route-c745e5b53b81491a.js +0 -1
  650. package/.next/static/chunks/app/v1/chat/events/route-c745e5b53b81491a.js +0 -1
  651. package/.next/static/chunks/app/v1/models/route-c745e5b53b81491a.js +0 -1
  652. package/.next/static/chunks/webpack-0d4a4e773990ac44.js +0 -1
  653. package/.next/static/css/40f9bef305b11bf5.css +0 -1
  654. /package/.next/static/{Q6ITx_bZyoEOnKdZu_C7j → JGMk-MwwdpQ94asqw-mUR}/_ssgManifest.js +0 -0
@@ -1,53 +0,0 @@
1
- "use strict";exports.id=6126,exports.ids=[1925,4306,6126],exports.modules={1925:(a,b,c)=>{c.d(b,{Hm:()=>f,xc:()=>e});let d=["key","secret","token","password"],e=a=>d.some(b=>a.toLowerCase().includes(b)),f=a=>e(a)||"authorization"===a.trim().toLowerCase()},5248:(a,b,c)=>{c.d(b,{P:()=>m,p:()=>k});var d=c(32524),e=c(81226);function f(a){return!!a&&a.includes("mcp")}function g(a){return!!a&&a.includes("resource")}let h=a=>({source:`${a}-bottom`,target:`${a}-top`});function i(a,b){let c=a.filter(a=>"mcp"!==a.type&&"resource"!==a.type&&"string"==typeof a.id),d=new Map(c.map(a=>[a.id,a])),e=new Map,i=new Map,j=new Set;for(let a of c)e.set(a.id,0),i.set(a.id,0);let k=(a,b)=>{j.add(`${a}->${b}`),i.set(a,(i.get(a)??0)+1),e.set(b,(e.get(b)??0)+1)};for(let a of b)d.has(a.from)&&d.has(a.to)&&a.from!==a.to&&(k(a.from,a.to),a.bidirectional&&k(a.to,a.from));let l=[];for(let a of[...c].sort((a,b)=>a.y-b.y||a.x-b.x)){let b=l[l.length-1];b&&70>=Math.abs(a.y-b[0].y)?b.push(a):l.push([a])}let m=new Map;l.forEach((a,b)=>a.forEach(a=>m.set(a.id,b)));let n=new Map;for(let a=1;a<l.length;a++){let b=l[a],c=b.filter(a=>"subflow"===a.type);if(c.length>=2&&c.length===b.length){let b=l[a-1];if(1===b.length&&"process"===b[0].type)for(let a of c)n.set(a.id,b[0].id)}}let o=[],p=(a,b)=>{if(a===b||j.has(`${a}->${b}`))return!1;let c=d.get(a),e=d.get(b);return!(!c||!e||null!==function(a,b,c,d){if("start"===c)return"Start nodes cannot have incoming connections";if("finish"===a)return"Finish nodes cannot have outgoing connections";if("mcp"===a||"mcp"===c||f(b)||f(d))return("mcp"!==a||"process"!==c)&&("process"!==a||"mcp"!==c)?"MCP connections must link an MCP node to a Process node via MCP handles":"process"!==a||f(b)?null:"Connect MCP nodes from the Process node's left/right MCP handles";if("resource"===a||"resource"===c||g(b)||g(d)){if(("resource"!==a||"process"!==c)&&("process"!==a||"resource"!==c))return"Resource connections must link a Resource node to a Process node via resource handles";if("process"===a&&!g(b))return"Connect Resource nodes from the Process node's left/right resource handles"}return null}(c.type,h(c.type).source,e.type,h(e.type).target)||"subflow"===c.type&&(i.get(a)??0)>=1)},q=(a,b,c,d)=>{o.push({from:a,to:b,bidirectional:c,reason:d}),k(a,b),c&&k(b,a)},r=a=>{let b=m.get(a.id)??0;for(let c=b-1;c>=0;c--){let b=l[c].filter(b=>b.id!==a.id&&"finish"!==b.type&&!n.has(b.id));if(0!==b.length){if(1===b.length)return b[0];return b.reduce((b,c)=>Math.abs(c.x-a.x)<Math.abs(b.x-a.x)?c:b)}}return null};for(let a of l)for(let b of a){if("start"===b.type||(e.get(b.id)??0)>0)continue;let a=n.get(b.id);if(a){p(a,b.id)&&q(a,b.id,!0,"auto-bidirectional-subflow");continue}let c=r(b);c&&p(c.id,b.id)&&q(c.id,b.id,!1,"auto-connected")}let s=c.filter(a=>"start"===a.type),t=()=>c.filter(a=>"start"!==a.type&&"finish"!==a.type&&!n.has(a.id)&&(e.get(a.id)??0)===0),u=null;if(0===s.length){let a=t();if(a.length>0)u={targets:a.map(a=>a.id)};else{let a=c.filter(a=>"finish"!==a.type).sort((a,b)=>a.y-b.y)[0];a&&(u={targets:[a.id]})}}else{let a=s[0];for(let b of t())p(a.id,b.id)&&q(a.id,b.id,!1,"auto-connected")}let v=c.filter(a=>"finish"===a.type),w=()=>c.filter(a=>"start"!==a.type&&"finish"!==a.type&&!n.has(a.id)&&(i.get(a.id)??0)===0),x=null;if(0===v.length){let a=w();a.length>0&&(x={sources:a.map(a=>a.id)})}else{let a=v[0];for(let b of w())p(b.id,a.id)&&q(b.id,a.id,!1,"auto-connected")}return{addEdges:o,addStart:u,addFinish:x}}function j(a,b){if(!b.has(a))return a;for(let c=2;;c++){let d=`${a}_${c}`;if(!b.has(d))return d}}function k(a){let b=[];return{spec:function a(b,c){let d=Array.isArray(b?.nodes)?b.nodes.map(a=>({...a})):[],e=Array.isArray(b?.edges)?b.edges.map(a=>({...a})):[];for(let b of d)b?.type==="subflow"&&b.subflowSpec&&(b.subflowSpec=a(b.subflowSpec,c));let f=d.filter(a=>a&&"string"==typeof a.key&&!!a.key&&"mcp"!==a.type);if(0===f.length)return{...b,nodes:d,edges:e};let g=i(f.map((a,b)=>({id:a.key,type:a.type,x:0,y:1e3*b})),e.filter(a=>a&&"string"==typeof a.from&&"string"==typeof a.to).map(a=>({from:a.from,to:a.to,bidirectional:!0===a.bidirectional})));for(let a of g.addEdges)e.push({from:a.from,to:a.to,...a.bidirectional?{bidirectional:!0}:{}}),c.push({code:a.reason,message:n(a.reason),nodeId:a.to});let h=new Set(d.map(a=>a.key).filter(Boolean));if(g.addStart){let a=j("start",h);for(let b of(h.add(a),d.unshift({key:a,type:"start"}),g.addStart.targets))e.push({from:a,to:b});c.push({code:"auto-added-start",message:`Added a Start node connected to ${g.addStart.targets.length} entry step(s).`})}if(g.addFinish){let a=j("finish",h);for(let b of(h.add(a),d.push({key:a,type:"finish"}),g.addFinish.sources))e.push({from:b,to:a});c.push({code:"auto-added-finish",message:`Added a Finish node connected from ${g.addFinish.sources.length} final step(s).`})}return{...b,nodes:d,edges:e}}(a,b),changes:b}}function l(a){return a.data?.type??a.type??"unknown"}function m(a){var b,c;let f=(a?.nodes??[]).map(a=>({...a,position:{...a.position??{x:0,y:0}},data:{...a.data}})),g=[...a?.edges??[]],h={...a,nodes:f,edges:g},j=[],k=i(f.filter(a=>"mcp"!==l(a)&&"resource"!==l(a)).map(a=>({id:a.id,type:l(a),x:a.position?.x??0,y:a.position?.y??0})),g.filter(a=>!function(a){let b=a.data?.edgeType;return"mcp"===b||"resource"===b}(a)).map(a=>({from:a.source,to:a.target,bidirectional:a.data?.bidirectional===!0}))),m=new Map(f.map(a=>[a.id,a])),o=(a,b,c)=>{let d=m.get(a),f=m.get(b);d&&f&&g.push((0,e.pX)(d,f,c))};for(let a of k.addEdges)o(a.from,a.to,a.bidirectional),j.push({code:a.reason,message:n(a.reason),nodeId:a.to});if(k.addStart){let a=k.addStart.targets.map(a=>m.get(a)).filter(Boolean).reduce((a,b)=>!a||b.position.y<a.position.y?b:a,null),c=(b={x:a?.position.x??250,y:(a?.position.y??150)-150},{id:(0,d.A)(),type:"start",position:b,data:{label:"Start Node",type:"start",properties:{promptTemplate:""}}});for(let a of(f.unshift(c),m.set(c.id,c),k.addStart.targets))o(c.id,a,!1);j.push({code:"auto-added-start",message:`Added a Start node connected to ${k.addStart.targets.length} entry step(s).`,nodeId:c.id})}if(k.addFinish){let a=k.addFinish.sources.map(a=>m.get(a)).filter(Boolean).reduce((a,b)=>!a||b.position.y>a.position.y?b:a,null),b=(c={x:a?.position.x??250,y:(a?.position.y??0)+150},{id:(0,d.A)(),type:"finish",position:c,data:{label:"Finish Node",type:"finish",properties:{}}});for(let a of(f.push(b),m.set(b.id,b),k.addFinish.sources))o(a,b.id,!1);j.push({code:"auto-added-finish",message:`Added a Finish node connected from ${k.addFinish.sources.length} final step(s).`,nodeId:b.id})}return{flow:h,changes:j}}function n(a){switch(a){case"auto-connected":return"Connected a disconnected step into the flow.";case"auto-bidirectional-subflow":return"Wired a parallel subflow with a two-way handoff to its orchestrator.";case"auto-added-start":return"Added a Start node.";case"auto-added-finish":return"Added a Finish node."}}},71994:(a,b,c)=>{c.d(b,{GN:()=>B,Xg:()=>C,UC:()=>D});var d=c(50846),e=c(20433),f=c(62101),g=c(54042),h=c(81226),i=c(84671),j=c(5248),k=c(88185),l=c(14265),m=c(1905),n=c(33233),o=c(9312),p=c(41527);let q=["prompt","isolatedPrompt","payloadTemplate"];function r(a){return RegExp("\\$\\{var:\\s*"+a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"\\s*\\}","g")}function s(a,b){for(let c of q){let d=a[c];"string"==typeof d&&(a[c]=b(d))}Array.isArray(a.spawnBriefs)&&(a.spawnBriefs=a.spawnBriefs.map(a=>"string"==typeof a?b(a):a))}function t(a){return a.replace(/[ \t]{2,}/g," ").replace(/[ \t]+([.,;:!?])/g,"$1").replace(/[ \t]+\n/g,"\n")}let u=(0,d.h)("backend/services/flow/generateFlow");function v(a,b,c,d){let e=c?`MULTI-LEVEL FLOWS — you MAY design subflows that are themselves brand-new flows:
2
- - A subflow node normally references an EXISTING flow via "flow". To instead create a NEW child flow, use ONE of these on the subflow node (not "flow"):
3
- - "subflowSpec": an inline nested FlowSpec (you author the whole child now), or
4
- - "generateSubflow": a short natural-language description of the child — FLUJO will generate that child flow for you.
5
- - Nest only when a self-contained sub-task genuinely deserves its own flow. Nesting is bounded: at most ${d} level(s) deep and ${h.lk} flows total. Keep it minimal.`:`SUBFLOWS: a subflow node's "flow" must reference an EXISTING flow (by name or id). Do NOT use "subflowSpec" or "generateSubflow" — multi-level generation is off for this run.`,f=b?`CAPABILITY ACQUISITION — you are allowed to EXPAND this FLUJO instance:
6
- - If the task needs a capability none of the configured servers provides (voice, vision, browsing, email, code execution, …), use search_mcp_marketplace to find a server for it, then install_mcp_server to install the best match. Prefer servers that need no API keys (empty requiredEnv); if the best option needs keys, install a keyless alternative or note the requirement in the flow description.
7
- - After a successful install, reference the returned server name in a process node's "servers" list and enable the tools it reported.
8
- - Be ambitious: an actual capability (real audio, real browsing, real files) beats a text approximation. Search with several short terms ("voice", "tts", "speech") — the registry matches server NAMES only.`:`CAPABILITY DISCOVERY — you may search but NOT install:
9
- - If the task needs a capability none of the configured servers provides, you may use search_mcp_marketplace to see what exists. Do NOT reference unconfigured servers in the spec; instead mention the recommended server (its registry name) in the flow "description" so the user can install it.`;return`You design workflows for FLUJO, an MCP-first workflow builder. The user describes what they want; you emit a flow specification as JSON.
10
-
11
- OUTPUT FORMAT — when you are done (after any tool use), respond with ONLY one JSON object, no prose, no code fences.
12
-
13
- ${k.R}
14
-
15
- GENERATED-FLOW DEFAULTS (context saving): process nodes you leave without an explicit inputMode/outputMode are compiled with inputMode "latest-message" and outputMode "latest-message" — each step sees only the current task and later steps see only its final response, not its tool calls/results. When a step genuinely needs the whole conversation or later steps need its intermediate work, set "full-history" / "full-conversation" explicitly.
16
-
17
- GENERATED-FLOW DATA-FLOW POLICY (IMPORTANT — carry data through the conversation, NOT scratchpad variables):
18
- 1. PREFER CONVERSATION HISTORY. For a later step to use an earlier step's output, keep that output in the thread: give the earlier (producer) step outputMode "full-conversation" (or leave "latest-message" when only its final text matters) and give the later (consumer) step inputMode "full-history" so it actually sees the producer's turn. This is the default, robust way to move data forward.
19
- 2. DO NOT emit \${var:NAME} in generated prompts. The scratchpad variable feature (captureVariable + \${var:NAME}) is a valid HAND-AUTHORING tool, but for AUTO-GENERATED flows it is a footgun: a missing/late capture silently bakes an EMPTY string into the reading step's prompt and breaks the run. Do not use \${var:NAME} just to shuttle ordinary text one step forward — use history (rule 1).
20
- 3. WHEN HISTORY IS INSUFFICIENT (the consumer is "isolated"/"latest-message" and still needs an earlier step's data, or the artifact is large/structured/binary), use a RUN RESOURCE instead of a scratchpad variable: the producer step sets "captureResource": "NAME" and the consumer step injects \${res:NAME} in its prompt. A run resource survives isolated/latest-message scoping and is tracked with lineage. Example:
21
- { "key": "writer", "type": "process", "model": "...", "prompt": "Draft the full report.", "captureResource": "report" }
22
- { "key": "critic", "type": "process", "model": "...", "inputMode": "isolated", "isolatedPrompt": "Critique this report:
23
-
24
- \${res:report}" }
25
- (edge writer -> critic). Use \${res:NAME}, never \${var:NAME}, in generated flows.
26
- 4. Any \${var:NAME} you emit anyway will be automatically rewritten to history or a run resource (or removed if nothing captures it), so emit history/\${res:...} directly to keep control of the design.
27
-
28
- ${f}
29
-
30
- ${e}
31
-
32
- ${a}`}function w(a){return a.map(a=>`- [${a.severity}] ${a.message}`).join("\n")}function x(a){let b=[{type:"function",function:{name:"search_mcp_marketplace",description:'Search the public MCP server registry. The registry matches the query against server NAMES only (substring), so use short single terms ("voice", "tts", "browser") and try several. Returns name, description, whether FLUJO can install it, and which env vars/keys it requires.',parameters:{type:"object",properties:{query:{type:"string",description:"Short search term matched against server names."}},required:["query"]}}}];return a&&b.push({type:"function",function:{name:"install_mcp_server",description:"Install an MCP server from the registry (by the exact name returned by search) and connect it. Returns the server name to reference in the spec and the tools it provides — or needsEnv when required keys are missing (then pick an alternative or note it for the user). Installing can take a while (package download).",parameters:{type:"object",properties:{name:{type:"string",description:'Exact registry name from search results, e.g. "ai.keenable/web-search".'}},required:["name"]}}}),b}async function y(a,b,c,d){if("search_mcp_marketplace"===a){let a="string"==typeof b.query?b.query:"";try{return await (0,l.e3)(a)}catch(a){return{error:`Registry search failed: ${a instanceof Error?a.message:String(a)}`}}}if("install_mcp_server"===a){if(!c)return{error:"Installing is not allowed in this generation (allowInstall is off)."};let a="string"==typeof b.name?b.name:"",e=await (0,l.aM)(a,void 0,{resolveOnly:!0}),f=await (0,m.Ej)(),g=(0,n.e5)({caller:"generator",settings:f,registryName:a,allowInstall:c});e.plan&&await (0,m.NB)((0,n.UM)(e.plan,"generator",g,!1));let h=await (0,l.aM)(a);return h.plan&&await (0,m.NB)((0,n.UM)(h.plan,"generator",g,h.installed,h.error)),h.installed&&h.serverName&&(d.contextDirty=!0,d.installedServers.push({name:h.serverName,tools:(h.tools??[]).map(a=>a.name),...h.alreadyExisted?{alreadyExisted:!0}:{},...h.plan?.command?{command:h.plan.command}:{},...h.plan?.args?{args:h.plan.args}:{},...h.plan?.verificationStatus?{verificationStatus:h.plan.verificationStatus}:{}})),h}return{error:`Unknown tool: ${a}`}}async function z(a,b,c,d,e,f,h){let i={};for(let a of e){if("function"!==a.type)continue;let b=a.function.name;i[b]=a=>y(b,a,f,h)}for(let j=0;j<=8;j++){let k=e.length>0&&j<8,{completion:l}=await a.createCompletion({model:b,apiKey:c,messages:d,temperature:0,maxTokens:(0,g.normalizeMaxTokens)(b.maxTokens),...k?{tools:e,localToolExecutors:i}:{}}),m=l.choices?.[0]?.message,n=m?.tool_calls??[];if(0===n.length)return"string"==typeof m?.content?m.content:"";for(let a of(d.push({role:"assistant",content:m?.content??null,tool_calls:n}),n)){if("function"!==a.type)continue;let b={};try{b=JSON.parse(a.function.arguments||"{}")}catch{}u.info(`Generator tool call: ${a.function.name}(${a.function.arguments})`);let c=await y(a.function.name,b,f,h);d.push({role:"tool",tool_call_id:a.id,content:JSON.stringify(c)})}7===j&&d.push({role:"user",content:"Tool budget exhausted. Emit the COMPLETE flow specification now as a single JSON object using what you have."})}return""}function A(a){let b=a.indexOf("{");if(-1===b)return null;let c=0,d=!1,e=!1;for(let f=b;f<a.length;f++){let g=a[f];if(d){e?e=!1:"\\"===g?e=!0:'"'===g&&(d=!1);continue}if('"'===g)d=!0;else if("{"===g)c++;else if("}"===g&&0==--c)try{return JSON.parse(a.slice(b,f+1))}catch{break}}return null}async function B(a){var b;let c="string"==typeof a?.description?a.description.trim():"";if(!c)return{success:!1,error:"A flow description is required",statusCode:400};if(!a?.modelId||"string"!=typeof a.modelId)return{success:!1,error:"A generator model id is required",statusCode:400};let d=!0===a.allowInstall,g=!0===a.allowSubflows,k=g?"number"!=typeof(b=a.maxDepth)||Number.isNaN(b)?2:Math.max(0,Math.min(h.A_,Math.floor(b))):0,l=await e.modelService.getModel(a.modelId);if(!l)return{success:!1,error:`Generator model not found: ${a.modelId}`,statusCode:404};let m=await e.modelService.resolveAndDecryptApiKey(l.ApiKey);if(!m)return{success:!1,error:"Could not resolve the generator model API key",statusCode:500};let n=await (0,o.jY)(),y=(0,f.getCompletionAdapter)(l),B=x(d),C={installedServers:[],contextDirty:!1},D=Math.min("number"==typeof a.maxRepairs&&a.maxRepairs>=0?a.maxRepairs:1,2),E=1;async function F(a,b){let c,e=[{role:"system",content:v(n.catalog,d,g&&b<k,k)},{role:"user",content:a}];try{c=await z(y,l,m,e,B,d,C)}catch(a){return u.warn("A child subflow generation call failed; leaving the subflow unresolved",a),null}let f=A(c);return f&&"object"==typeof f?f:null}async function G(a,b){if(a&&Array.isArray(a.nodes))for(let c of a.nodes){if(c?.type!=="subflow"||c.flow)continue;if(c.subflowSpec){await G(c.subflowSpec,b+1);continue}let a="string"==typeof c.generateSubflow?c.generateSubflow.trim():"";if(!a)continue;if(b+1>k||E>=h.lk){u.info(`Not expanding generateSubflow (depth ${b+1}, ${E} flows so far): budget/depth reached`);continue}let d=await F(a,b+1);d?(E++,c.subflowSpec=d,delete c.generateSubflow,await G(d,b+1)):delete c.generateSubflow}}let H=[{role:"system",content:v(n.catalog,d,g,k)},{role:"user",content:c}],I=null,J=0;for(let a=0;a<=D;a++){let b;J++,E=1;try{b=await z(y,l,m,H,B,d,C)}catch(a){if(u.error("Generator model call failed",a),I)break;return{success:!1,error:`The generator model call failed: ${a instanceof Error?a.message:String(a)}`,statusCode:502}}let c=A(b);if(!c){if(u.warn(`Attempt ${J}: model output contained no parseable JSON object`),C.contextDirty){try{n=await (0,o.jY)()}catch(a){u.warn("Re-gathering context after install failed; keeping the stale catalog",a)}C.contextDirty=!1}H.push({role:"assistant",content:b},{role:"user",content:"Your reply contained no parseable JSON object. Re-emit the COMPLETE flow specification as a single JSON object and nothing else."});continue}if(g)try{await G(c,0)}catch(a){u.warn("Subflow expansion failed; compiling the root spec as-is",a)}if(C.contextDirty){try{n=await (0,o.jY)()}catch(a){u.warn("Re-gathering context after install failed; validating with the stale catalog",a)}C.contextDirty=!1}let e=[];try{let a=function(a){let b=[];try{!function a(b,c){if(b&&Array.isArray(b.nodes)){for(let d of(!function(a,b){let c=Array.isArray(a?.nodes)?a.nodes.filter(a=>a&&"string"==typeof a.key):[];if(0===c.length)return;let d=Array.isArray(a?.edges)?a.edges:[],e=new Map;for(let a of c)e.set(a.key,new Set);for(let a of d)a&&"string"==typeof a.from&&"string"==typeof a.to&&(e.has(a.to)&&e.get(a.to).add(a.from),a.bidirectional&&e.has(a.from)&&e.get(a.from).add(a.to));let f=a=>{let b=new Set,c=[...e.get(a)??[]];for(;c.length;){let d=c.pop();if(!b.has(d)&&d!==a)for(let a of(b.add(d),e.get(d)??[]))c.push(a)}return b},g=new Set;for(let a of c)"string"==typeof a.parallelFlowsVariable&&a.parallelFlowsVariable.trim()&&g.add(a.parallelFlowsVariable.trim());let h=new Map;for(let a of c){let b="string"==typeof a.captureVariable?a.captureVariable.trim():"";b&&(h.has(b)||h.set(b,[]),h.get(b).push(a))}let i=new Map;for(let a of c)for(let b of function(a){let b=new Set;for(let c of q){let d=a[c];if("string"==typeof d)for(let a of(0,p.T9)(d))b.add(a)}if(Array.isArray(a.spawnBriefs)){for(let c of a.spawnBriefs)if("string"==typeof c)for(let a of(0,p.T9)(c))b.add(a)}return[...b]}(a))i.has(b)||i.set(b,[]),i.get(b).push(a);for(let[a,d]of i){if(g.has(a))continue;let e=h.get(a)??[],i=d.filter(a=>{let b=f(a.key);return e.some(c=>c.key!==a.key&&b.has(c.key))});if(0===i.length){let d=r(a);for(let a of c)s(a,a=>t(a.replace(d,"")));b.push({code:"var-dangling",message:`Removed \${var:${a}} — no earlier step captures it (it would resolve to an empty string at run time).`});continue}if(i.some(a=>"isolated"===a.inputMode)){if(e.some(b=>"string"==typeof b.captureResource&&b.captureResource.trim()&&b.captureResource.trim()!==a))continue;for(let b of e)b.captureResource=a,delete b.captureVariable;let d=r(a);for(let b of c)s(b,b=>b.replace(d,"${res:"+a+"}"));b.push({code:"var-resource",message:`Converted scratchpad \${var:${a}} to a tracked run resource \${res:${a}} (a consumer is isolated, so conversation history cannot carry it).`});continue}let j=r(a);for(let a of c)s(a,a=>t(a.replace(j,"")));for(let a of i)a.inputMode="full-history";for(let b of e)b.captureVariable===a&&delete b.captureVariable;b.push({code:"var-history",message:`Removed scratchpad \${var:${a}} and set the reading step(s) to full-history so the value flows through the conversation instead.`})}}(b,c),b.nodes))if(d&&(d.subflowSpec&&a(d.subflowSpec,c),Array.isArray(d.parallelSubflowSpecs)))for(let b of d.parallelSubflowSpecs)a(b,c)}}(a,b)}catch{}return{spec:a,changes:b}}(c);a.changes.length>0&&(u.info(`Attempt ${J}: scratchpad-var guard rewrote ${a.changes.length} reference(s)`),e=a.changes.map(a=>({severity:"warning",code:a.code,message:a.message})))}catch(a){u.warn("Scratchpad-var guard failed; compiling the spec as-is",a)}let f=c,v=[];try{let a=(0,j.p)(c);a.changes.length>0&&(f=a.spec,v=a.changes,u.info(`Attempt ${J}: auto-repair adjusted the spec (${v.length} change(s))`))}catch(a){u.warn("Auto-repair of the generated spec failed; compiling the spec as-is",a)}let x=v.map(a=>({severity:"warning",code:a.code,message:a.message})),F=(0,h.dM)(f,n.compile,{maxDepth:k,maxFlows:h.lk});if(!F.flow){H.push({role:"assistant",content:b},{role:"user",content:`The specification could not be compiled:
33
- ${w(F.issues)}
34
- Fix these problems and re-emit the COMPLETE corrected JSON (only the JSON).`});continue}for(let a of F.flows)(0,h.Zn)(a);let K=F.flows.map(a=>({flow:a,validation:(0,i.nC)(a,{models:n.compile.models,servers:n.validatorServers,serverTools:n.compile.serverTools})})),L=(0,o.RB)([...e,...x,...F.issues],{issues:K.flatMap(a=>a.validation.issues),errorCount:0,warningCount:0,isRunnable:!0});if(I={flows:K,rootFlow:F.flow,validation:L},0===L.errorCount)break;u.info(`Attempt ${J}: bundle has ${L.errorCount} error(s)`+(a<D?"; asking the model to repair":"; repair budget exhausted")),a<D&&H.push({role:"assistant",content:b},{role:"user",content:`The flow you specified has these problems:
35
- ${w(L.issues)}
36
- Fix the errors (warnings are advisory) and re-emit the COMPLETE corrected JSON (only the JSON).`})}return I?(u.info(`Generated draft bundle rooted at "${I.rootFlow.name}" (${I.flows.length} flow(s)) in ${J} attempt(s): ${I.validation.errorCount} error(s), ${I.validation.warningCount} warning(s), ${C.installedServers.length} server(s) installed`),{success:!0,flow:I.rootFlow,validation:I.validation,flows:I.flows,rootFlowId:I.rootFlow.id,attempts:J,installedServers:C.installedServers}):{success:!1,error:"The model did not produce a usable flow specification. Try rephrasing the description or a different generator model.",statusCode:422}}async function C(a){let b="string"==typeof a?.description?a.description.trim():"";if(!b)return{success:!1,error:"A change description is required",statusCode:400};if(!a?.modelId||"string"!=typeof a.modelId)return{success:!1,error:"A generator model id is required",statusCode:400};let c=a?.flow;if(!c||"object"!=typeof c||!Array.isArray(c.nodes)||!Array.isArray(c.edges))return{success:!1,error:"A valid flow to improve is required",statusCode:400};let d=await e.modelService.getModel(a.modelId);if(!d)return{success:!1,error:`Generator model not found: ${a.modelId}`,statusCode:404};let g=await e.modelService.resolveAndDecryptApiKey(d.ApiKey);if(!g)return{success:!1,error:"Could not resolve the generator model API key",statusCode:500};let j=!0===a.allowInstall,k=await (0,o.jY)(),l=(0,f.getCompletionAdapter)(d),m=x(j),n={installedServers:[],contextDirty:!1},p=Math.min("number"==typeof a.maxRepairs&&a.maxRepairs>=0?a.maxRepairs:1,2),q=(0,h.FH)(c),r={};for(let a of c.nodes)a?.id&&a.position&&"number"==typeof a.position.x&&"number"==typeof a.position.y&&(r[a.id]={x:a.position.x,y:a.position.y});let s=a=>({models:a.compile.models,servers:a.compile.servers,serverTools:a.compile.serverTools,flows:(a.compile.flows??[]).filter(a=>a.id!==c.id)}),t=`EXISTING FLOW (modify this — keep unchanged parts intact, and KEEP each node's "key" for any node you do NOT restructure so its canvas position is preserved):
37
- ${JSON.stringify(q)}
38
-
39
- CHANGE REQUEST:
40
- ${b}
41
-
42
- Re-emit the COMPLETE flow specification as a single JSON object (only the JSON), including the nodes you did not change.`,y=[{role:"system",content:v(k.catalog,j,!1,0)},{role:"user",content:t}],B=null,C=0;for(let a=0;a<=p;a++){let b;C++;try{b=await z(l,d,g,y,m,j,n)}catch(a){if(u.error("Improver model call failed",a),B)break;return{success:!1,error:`The generator model call failed: ${a instanceof Error?a.message:String(a)}`,statusCode:502}}if(n.contextDirty){try{k=await (0,o.jY)()}catch(a){u.warn("Re-gathering context after install failed; using the stale catalog",a)}n.contextDirty=!1}let e=A(b);if(!e){u.warn(`Improve attempt ${C}: model output contained no parseable JSON object`),y.push({role:"assistant",content:b},{role:"user",content:"Your reply contained no parseable JSON object. Re-emit the COMPLETE flow specification as a single JSON object and nothing else."});continue}let f=(0,h.dM)(e,s(k),{maxDepth:0,maxFlows:1,positions:r});if(!f.flow){y.push({role:"assistant",content:b},{role:"user",content:`The specification could not be compiled:
43
- ${w(f.issues)}
44
- Fix these problems and re-emit the COMPLETE corrected JSON (only the JSON).`});continue}f.flow.id=c.id,"string"==typeof e.name&&e.name.trim()||(f.flow.name=c.name),(0,h.Zn)(f.flow);let q=(0,i.nC)(f.flow,{models:k.compile.models,servers:k.validatorServers,serverTools:k.compile.serverTools}),t=(0,o.RB)(f.issues,q);if(B={flows:[{flow:f.flow,validation:q}],rootFlow:f.flow,validation:t},0===t.errorCount)break;u.info(`Improve attempt ${C}: flow has ${t.errorCount} error(s)`+(a<p?"; asking the model to repair":"; repair budget exhausted")),a<p&&y.push({role:"assistant",content:b},{role:"user",content:`The flow you specified has these problems:
45
- ${w(t.issues)}
46
- Fix the errors (warnings are advisory) and re-emit the COMPLETE corrected JSON (only the JSON).`})}return B?(u.info(`Improved draft "${B.rootFlow.name}" in ${C} attempt(s): ${B.validation.errorCount} error(s), ${B.validation.warningCount} warning(s), ${n.installedServers.length} server(s) installed`),{success:!0,flow:B.rootFlow,validation:B.validation,flows:B.flows,rootFlowId:B.rootFlow.id,attempts:C,installedServers:n.installedServers}):{success:!1,error:"The model did not produce a usable flow specification. Try rephrasing the change request or a different generator model.",statusCode:422}}async function D(a){let b=a?.flow;if(!b||"object"!=typeof b||!Array.isArray(b.nodes)||!Array.isArray(b.edges))return{success:!1,error:"A valid flow to repair is required",statusCode:400};if(!a?.modelId||"string"!=typeof a.modelId)return{success:!1,error:"A repair model id is required",statusCode:400};let c=(0,i.nC)(b),d=c.issues.length>0?`
47
-
48
- Known problems to fix:
49
- ${w(c.issues)}`:"";return C({flow:b,description:`Repair this flow's wiring so it is runnable, WITHOUT changing any node's prompt, model, or servers:
50
- - add a Start node if one is missing, connected to the first step;
51
- - add a Finish node if one is missing, connected from the last step;
52
- - connect any disconnected process/subflow nodes.
53
- Read node placement as intent: nodes stacked top-to-bottom are sequential steps, and nodes on the same horizontal line are parallel branches under a shared parent above them.${d}`,modelId:a.modelId,...void 0!==a.allowInstall?{allowInstall:a.allowInstall}:{},...void 0!==a.maxRepairs?{maxRepairs:a.maxRepairs}:{}})}}};