flujo-ai 3.44.0 → 3.45.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 (386) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +7 -7
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/react-loadable-manifest.json +1 -1
  5. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  6. package/.next/server/app/_global-error.html +1 -1
  7. package/.next/server/app/_global-error.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  14. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  15. package/.next/server/app/_not-found.html +1 -1
  16. package/.next/server/app/_not-found.rsc +2 -2
  17. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  18. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  19. package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  20. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  21. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  22. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  23. package/.next/server/app/api/approvals/[id]/route.js +1 -1
  24. package/.next/server/app/api/approvals/[id]/route.js.nft.json +1 -1
  25. package/.next/server/app/api/approvals/route.js +1 -1
  26. package/.next/server/app/api/approvals/route.js.nft.json +1 -1
  27. package/.next/server/app/api/backup/route.js.nft.json +1 -1
  28. package/.next/server/app/api/bugs/enhance/route.js +1 -1
  29. package/.next/server/app/api/bugs/enhance/route.js.nft.json +1 -1
  30. package/.next/server/app/api/encryption/secure/route.js +1 -1
  31. package/.next/server/app/api/encryption/secure/route.js.nft.json +1 -1
  32. package/.next/server/app/api/flow/[id]/convert-process-to-subflow/route.js.nft.json +1 -1
  33. package/.next/server/app/api/flow/[id]/route.js.nft.json +1 -1
  34. package/.next/server/app/api/flow/[id]/versions/[versionId]/route.js.nft.json +1 -1
  35. package/.next/server/app/api/flow/[id]/versions/route.js.nft.json +1 -1
  36. package/.next/server/app/api/flow/assist/route.js +1 -1
  37. package/.next/server/app/api/flow/assist/route.js.nft.json +1 -1
  38. package/.next/server/app/api/flow/compile/route.js +1 -1
  39. package/.next/server/app/api/flow/compile/route.js.nft.json +1 -1
  40. package/.next/server/app/api/flow/generate/route.js +1 -1
  41. package/.next/server/app/api/flow/generate/route.js.nft.json +1 -1
  42. package/.next/server/app/api/flow/generate/visual/route.js +2 -2
  43. package/.next/server/app/api/flow/generate/visual/route.js.nft.json +1 -1
  44. package/.next/server/app/api/flow/generator/route.js +1 -1
  45. package/.next/server/app/api/flow/generator/route.js.nft.json +1 -1
  46. package/.next/server/app/api/flow/improve/route.js +1 -1
  47. package/.next/server/app/api/flow/improve/route.js.nft.json +1 -1
  48. package/.next/server/app/api/flow/prompt-renderer/route.js +1 -1
  49. package/.next/server/app/api/flow/prompt-renderer/route.js.nft.json +1 -1
  50. package/.next/server/app/api/flow/quick-chat/route.js +1 -1
  51. package/.next/server/app/api/flow/quick-chat/route.js.nft.json +1 -1
  52. package/.next/server/app/api/flow/repair/route.js +1 -1
  53. package/.next/server/app/api/flow/repair/route.js.nft.json +1 -1
  54. package/.next/server/app/api/flow/route.js.nft.json +1 -1
  55. package/.next/server/app/api/init/route.js +1 -1
  56. package/.next/server/app/api/init/route.js.nft.json +1 -1
  57. package/.next/server/app/api/mcp/app-consent/route.js +1 -1
  58. package/.next/server/app/api/mcp/app-consent/route.js.nft.json +1 -1
  59. package/.next/server/app/api/mcp/app-sandbox/route.js +2 -2
  60. package/.next/server/app/api/mcp/app-sandbox/route.js.nft.json +1 -1
  61. package/.next/server/app/api/mcp/assistant/route.js +1 -1
  62. package/.next/server/app/api/mcp/assistant/route.js.nft.json +1 -1
  63. package/.next/server/app/api/mcp/cancel/route.js +1 -1
  64. package/.next/server/app/api/mcp/cancel/route.js.nft.json +1 -1
  65. package/.next/server/app/api/mcp/flujo/authoring/route.js +1 -1
  66. package/.next/server/app/api/mcp/flujo/authoring/route.js.nft.json +1 -1
  67. package/.next/server/app/api/mcp/flujo/automation/route.js +1 -1
  68. package/.next/server/app/api/mcp/flujo/automation/route.js.nft.json +1 -1
  69. package/.next/server/app/api/mcp/flujo/flows/route.js +1 -1
  70. package/.next/server/app/api/mcp/flujo/flows/route.js.nft.json +1 -1
  71. package/.next/server/app/api/mcp/flujo/resources/read/route.js +1 -1
  72. package/.next/server/app/api/mcp/flujo/resources/read/route.js.nft.json +1 -1
  73. package/.next/server/app/api/mcp/flujo/resources/route.js +1 -1
  74. package/.next/server/app/api/mcp/flujo/resources/route.js.nft.json +1 -1
  75. package/.next/server/app/api/mcp/flujo/servers/route.js +1 -1
  76. package/.next/server/app/api/mcp/flujo/servers/route.js.nft.json +1 -1
  77. package/.next/server/app/api/mcp/flujo/state/route.js +1 -1
  78. package/.next/server/app/api/mcp/flujo/state/route.js.nft.json +1 -1
  79. package/.next/server/app/api/mcp/flujo/tools/route.js +1 -1
  80. package/.next/server/app/api/mcp/flujo/tools/route.js.nft.json +1 -1
  81. package/.next/server/app/api/mcp/oauth-capability/route.js +1 -1
  82. package/.next/server/app/api/mcp/oauth-capability/route.js.nft.json +1 -1
  83. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js +1 -1
  84. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js.nft.json +1 -1
  85. package/.next/server/app/api/mcp/servers/[name]/prompts/route.js +1 -1
  86. package/.next/server/app/api/mcp/servers/[name]/prompts/route.js.nft.json +1 -1
  87. package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js +1 -1
  88. package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js.nft.json +1 -1
  89. package/.next/server/app/api/mcp/servers/[name]/resources/route.js +1 -1
  90. package/.next/server/app/api/mcp/servers/[name]/resources/route.js.nft.json +1 -1
  91. package/.next/server/app/api/mcp/servers/[name]/route.js +1 -1
  92. package/.next/server/app/api/mcp/servers/[name]/route.js.nft.json +1 -1
  93. package/.next/server/app/api/mcp/servers/[name]/status/route.js +1 -1
  94. package/.next/server/app/api/mcp/servers/[name]/status/route.js.nft.json +1 -1
  95. package/.next/server/app/api/mcp/servers/[name]/stdio-oauth/confirm/route.js +1 -1
  96. package/.next/server/app/api/mcp/servers/[name]/stdio-oauth/confirm/route.js.nft.json +1 -1
  97. package/.next/server/app/api/mcp/servers/[name]/stdio-oauth/start/route.js +1 -1
  98. package/.next/server/app/api/mcp/servers/[name]/stdio-oauth/start/route.js.nft.json +1 -1
  99. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js +1 -1
  100. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js.nft.json +1 -1
  101. package/.next/server/app/api/mcp/servers/[name]/tools/route.js +1 -1
  102. package/.next/server/app/api/mcp/servers/[name]/tools/route.js.nft.json +1 -1
  103. package/.next/server/app/api/mcp/servers/route.js +1 -1
  104. package/.next/server/app/api/mcp/servers/route.js.nft.json +1 -1
  105. package/.next/server/app/api/mcp/test-connection/route.js +1 -1
  106. package/.next/server/app/api/mcp/test-connection/route.js.nft.json +1 -1
  107. package/.next/server/app/api/mcp/test-connection/stream/route.js +1 -1
  108. package/.next/server/app/api/mcp/test-connection/stream/route.js.nft.json +1 -1
  109. package/.next/server/app/api/mcp-registry/route.js +1 -1
  110. package/.next/server/app/api/mcp-registry/route.js.nft.json +1 -1
  111. package/.next/server/app/api/model/[id]/route.js +1 -1
  112. package/.next/server/app/api/model/[id]/route.js.nft.json +1 -1
  113. package/.next/server/app/api/model/provider/route.js +1 -1
  114. package/.next/server/app/api/model/provider/route.js.nft.json +1 -1
  115. package/.next/server/app/api/model/route.js +1 -1
  116. package/.next/server/app/api/model/route.js.nft.json +1 -1
  117. package/.next/server/app/api/model/test/route.js +1 -1
  118. package/.next/server/app/api/model/test/route.js.nft.json +1 -1
  119. package/.next/server/app/api/oauth/reset/route.js +1 -1
  120. package/.next/server/app/api/oauth/reset/route.js.nft.json +1 -1
  121. package/.next/server/app/api/packages/build/route.js.nft.json +1 -1
  122. package/.next/server/app/api/packages/derive-secrets/route.js.nft.json +1 -1
  123. package/.next/server/app/api/packages/install/route.js +1 -1
  124. package/.next/server/app/api/packages/install/route.js.nft.json +1 -1
  125. package/.next/server/app/api/packages/install/status/route.js +1 -1
  126. package/.next/server/app/api/packages/install/status/route.js.nft.json +1 -1
  127. package/.next/server/app/api/packages/installed/route.js +1 -1
  128. package/.next/server/app/api/packages/installed/route.js.nft.json +1 -1
  129. package/.next/server/app/api/packages/resolve/route.js.nft.json +1 -1
  130. package/.next/server/app/api/packages/scan-targets/route.js.nft.json +1 -1
  131. package/.next/server/app/api/packages/uninstall/route.js +1 -1
  132. package/.next/server/app/api/packages/uninstall/route.js.nft.json +1 -1
  133. package/.next/server/app/api/planned-executions/[id]/route.js.nft.json +1 -1
  134. package/.next/server/app/api/planned-executions/[id]/run/route.js.nft.json +1 -1
  135. package/.next/server/app/api/planned-executions/[id]/runs/route.js.nft.json +1 -1
  136. package/.next/server/app/api/planned-executions/reconcile/route.js +1 -1
  137. package/.next/server/app/api/planned-executions/reconcile/route.js.nft.json +1 -1
  138. package/.next/server/app/api/planned-executions/route.js +1 -1
  139. package/.next/server/app/api/planned-executions/route.js.nft.json +1 -1
  140. package/.next/server/app/api/restore/route.js.nft.json +1 -1
  141. package/.next/server/app/api/runs/active/route.js +1 -1
  142. package/.next/server/app/api/runs/active/route.js.nft.json +1 -1
  143. package/.next/server/app/api/telemetry/daily-active/route.js +1 -1
  144. package/.next/server/app/api/waves/route.js +1 -1
  145. package/.next/server/app/api/waves/route.js.nft.json +1 -1
  146. package/.next/server/app/api/webhooks/[id]/route.js +1 -1
  147. package/.next/server/app/api/webhooks/[id]/route.js.nft.json +1 -1
  148. package/.next/server/app/automation/triggers/page_client-reference-manifest.js +1 -1
  149. package/.next/server/app/automation/triggers.html +1 -1
  150. package/.next/server/app/automation/triggers.rsc +3 -3
  151. package/.next/server/app/automation/triggers.segments/_full.segment.rsc +3 -3
  152. package/.next/server/app/automation/triggers.segments/_head.segment.rsc +1 -1
  153. package/.next/server/app/automation/triggers.segments/_index.segment.rsc +2 -2
  154. package/.next/server/app/automation/triggers.segments/_tree.segment.rsc +1 -1
  155. package/.next/server/app/automation/triggers.segments/automation/triggers/__PAGE__.segment.rsc +2 -2
  156. package/.next/server/app/automation/triggers.segments/automation/triggers.segment.rsc +1 -1
  157. package/.next/server/app/automation/triggers.segments/automation.segment.rsc +1 -1
  158. package/.next/server/app/automation/waves/page_client-reference-manifest.js +1 -1
  159. package/.next/server/app/automation/waves.html +1 -1
  160. package/.next/server/app/automation/waves.rsc +3 -3
  161. package/.next/server/app/automation/waves.segments/_full.segment.rsc +3 -3
  162. package/.next/server/app/automation/waves.segments/_head.segment.rsc +1 -1
  163. package/.next/server/app/automation/waves.segments/_index.segment.rsc +2 -2
  164. package/.next/server/app/automation/waves.segments/_tree.segment.rsc +1 -1
  165. package/.next/server/app/automation/waves.segments/automation/waves/__PAGE__.segment.rsc +2 -2
  166. package/.next/server/app/automation/waves.segments/automation/waves.segment.rsc +1 -1
  167. package/.next/server/app/automation/waves.segments/automation.segment.rsc +1 -1
  168. package/.next/server/app/chain-chat/page_client-reference-manifest.js +1 -1
  169. package/.next/server/app/chain-chat.html +1 -1
  170. package/.next/server/app/chain-chat.rsc +3 -3
  171. package/.next/server/app/chain-chat.segments/_full.segment.rsc +3 -3
  172. package/.next/server/app/chain-chat.segments/_head.segment.rsc +1 -1
  173. package/.next/server/app/chain-chat.segments/_index.segment.rsc +2 -2
  174. package/.next/server/app/chain-chat.segments/_tree.segment.rsc +1 -1
  175. package/.next/server/app/chain-chat.segments/chain-chat/__PAGE__.segment.rsc +2 -2
  176. package/.next/server/app/chain-chat.segments/chain-chat.segment.rsc +1 -1
  177. package/.next/server/app/chat/page.js +4 -4
  178. package/.next/server/app/chat/page.js.nft.json +1 -1
  179. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  180. package/.next/server/app/chat.html +1 -1
  181. package/.next/server/app/chat.rsc +3 -3
  182. package/.next/server/app/chat.segments/_full.segment.rsc +3 -3
  183. package/.next/server/app/chat.segments/_head.segment.rsc +1 -1
  184. package/.next/server/app/chat.segments/_index.segment.rsc +2 -2
  185. package/.next/server/app/chat.segments/_tree.segment.rsc +1 -1
  186. package/.next/server/app/chat.segments/chat/__PAGE__.segment.rsc +2 -2
  187. package/.next/server/app/chat.segments/chat.segment.rsc +1 -1
  188. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  189. package/.next/server/app/docs.html +1 -1
  190. package/.next/server/app/docs.rsc +3 -3
  191. package/.next/server/app/docs.segments/_full.segment.rsc +3 -3
  192. package/.next/server/app/docs.segments/_head.segment.rsc +1 -1
  193. package/.next/server/app/docs.segments/_index.segment.rsc +2 -2
  194. package/.next/server/app/docs.segments/_tree.segment.rsc +1 -1
  195. package/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +2 -2
  196. package/.next/server/app/docs.segments/docs.segment.rsc +1 -1
  197. package/.next/server/app/executions/page_client-reference-manifest.js +1 -1
  198. package/.next/server/app/executions.html +1 -1
  199. package/.next/server/app/executions.rsc +3 -3
  200. package/.next/server/app/executions.segments/_full.segment.rsc +3 -3
  201. package/.next/server/app/executions.segments/_head.segment.rsc +1 -1
  202. package/.next/server/app/executions.segments/_index.segment.rsc +2 -2
  203. package/.next/server/app/executions.segments/_tree.segment.rsc +1 -1
  204. package/.next/server/app/executions.segments/executions/__PAGE__.segment.rsc +2 -2
  205. package/.next/server/app/executions.segments/executions.segment.rsc +1 -1
  206. package/.next/server/app/flows/page.js +5 -5
  207. package/.next/server/app/flows/page.js.nft.json +1 -1
  208. package/.next/server/app/flows/page_client-reference-manifest.js +1 -1
  209. package/.next/server/app/flows.html +1 -1
  210. package/.next/server/app/flows.rsc +3 -3
  211. package/.next/server/app/flows.segments/_full.segment.rsc +3 -3
  212. package/.next/server/app/flows.segments/_head.segment.rsc +1 -1
  213. package/.next/server/app/flows.segments/_index.segment.rsc +2 -2
  214. package/.next/server/app/flows.segments/_tree.segment.rsc +1 -1
  215. package/.next/server/app/flows.segments/flows/__PAGE__.segment.rsc +2 -2
  216. package/.next/server/app/flows.segments/flows.segment.rsc +1 -1
  217. package/.next/server/app/index.html +1 -1
  218. package/.next/server/app/index.rsc +3 -3
  219. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  220. package/.next/server/app/index.segments/_full.segment.rsc +3 -3
  221. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  222. package/.next/server/app/index.segments/_index.segment.rsc +2 -2
  223. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  224. package/.next/server/app/mcp/page.js +1 -1
  225. package/.next/server/app/mcp/page_client-reference-manifest.js +1 -1
  226. package/.next/server/app/mcp-flows/route.js +1 -1
  227. package/.next/server/app/mcp-flows/route.js.nft.json +1 -1
  228. package/.next/server/app/mcp-proxy/[server]/route.js +1 -1
  229. package/.next/server/app/mcp-proxy/[server]/route.js.nft.json +1 -1
  230. package/.next/server/app/mcp.html +1 -1
  231. package/.next/server/app/mcp.rsc +3 -3
  232. package/.next/server/app/mcp.segments/_full.segment.rsc +3 -3
  233. package/.next/server/app/mcp.segments/_head.segment.rsc +1 -1
  234. package/.next/server/app/mcp.segments/_index.segment.rsc +2 -2
  235. package/.next/server/app/mcp.segments/_tree.segment.rsc +1 -1
  236. package/.next/server/app/mcp.segments/mcp/__PAGE__.segment.rsc +2 -2
  237. package/.next/server/app/mcp.segments/mcp.segment.rsc +1 -1
  238. package/.next/server/app/meetings/page_client-reference-manifest.js +1 -1
  239. package/.next/server/app/meetings.html +1 -1
  240. package/.next/server/app/meetings.rsc +3 -3
  241. package/.next/server/app/meetings.segments/_full.segment.rsc +3 -3
  242. package/.next/server/app/meetings.segments/_head.segment.rsc +1 -1
  243. package/.next/server/app/meetings.segments/_index.segment.rsc +2 -2
  244. package/.next/server/app/meetings.segments/_tree.segment.rsc +1 -1
  245. package/.next/server/app/meetings.segments/meetings/__PAGE__.segment.rsc +2 -2
  246. package/.next/server/app/meetings.segments/meetings.segment.rsc +1 -1
  247. package/.next/server/app/models/page.js +3 -3
  248. package/.next/server/app/models/page_client-reference-manifest.js +1 -1
  249. package/.next/server/app/packages/page_client-reference-manifest.js +1 -1
  250. package/.next/server/app/packages.html +1 -1
  251. package/.next/server/app/packages.rsc +3 -3
  252. package/.next/server/app/packages.segments/_full.segment.rsc +3 -3
  253. package/.next/server/app/packages.segments/_head.segment.rsc +1 -1
  254. package/.next/server/app/packages.segments/_index.segment.rsc +2 -2
  255. package/.next/server/app/packages.segments/_tree.segment.rsc +1 -1
  256. package/.next/server/app/packages.segments/packages/__PAGE__.segment.rsc +2 -2
  257. package/.next/server/app/packages.segments/packages.segment.rsc +1 -1
  258. package/.next/server/app/page_client-reference-manifest.js +1 -1
  259. package/.next/server/app/settings/page.js +2 -2
  260. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  261. package/.next/server/app/settings.html +1 -1
  262. package/.next/server/app/settings.rsc +3 -3
  263. package/.next/server/app/settings.segments/_full.segment.rsc +3 -3
  264. package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  265. package/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  266. package/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  267. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
  268. package/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  269. package/.next/server/app/statistics/page_client-reference-manifest.js +1 -1
  270. package/.next/server/app/statistics.html +1 -1
  271. package/.next/server/app/statistics.rsc +3 -3
  272. package/.next/server/app/statistics.segments/_full.segment.rsc +3 -3
  273. package/.next/server/app/statistics.segments/_head.segment.rsc +1 -1
  274. package/.next/server/app/statistics.segments/_index.segment.rsc +2 -2
  275. package/.next/server/app/statistics.segments/_tree.segment.rsc +1 -1
  276. package/.next/server/app/statistics.segments/statistics/__PAGE__.segment.rsc +2 -2
  277. package/.next/server/app/statistics.segments/statistics.segment.rsc +1 -1
  278. package/.next/server/app/v1/chat/completions/route.js +1 -1
  279. package/.next/server/app/v1/chat/completions/route.js.nft.json +1 -1
  280. package/.next/server/app/v1/chat/conversation-chains/route.js +1 -1
  281. package/.next/server/app/v1/chat/conversation-chains/route.js.nft.json +1 -1
  282. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js +1 -1
  283. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js.nft.json +1 -1
  284. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js +1 -1
  285. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js.nft.json +1 -1
  286. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/attach/route.js +1 -1
  287. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/attach/route.js.nft.json +1 -1
  288. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js +1 -1
  289. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js.nft.json +1 -1
  290. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/state/route.js +1 -1
  291. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/state/route.js.nft.json +1 -1
  292. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js +1 -1
  293. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js.nft.json +1 -1
  294. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js +1 -1
  295. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js.nft.json +1 -1
  296. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js +1 -1
  297. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js.nft.json +1 -1
  298. package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route.js +1 -1
  299. package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route.js.nft.json +1 -1
  300. package/.next/server/app/v1/chat/conversations/[conversationId]/recovery/route.js +1 -1
  301. package/.next/server/app/v1/chat/conversations/[conversationId]/recovery/route.js.nft.json +1 -1
  302. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js +1 -1
  303. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js.nft.json +1 -1
  304. package/.next/server/app/v1/chat/conversations/[conversationId]/revert/route.js +1 -1
  305. package/.next/server/app/v1/chat/conversations/[conversationId]/revert/route.js.nft.json +1 -1
  306. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js +1 -1
  307. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js.nft.json +1 -1
  308. package/.next/server/app/v1/chat/conversations/route.js +1 -1
  309. package/.next/server/app/v1/chat/conversations/route.js.nft.json +1 -1
  310. package/.next/server/app/v1/chat/events/route.js +1 -1
  311. package/.next/server/app/v1/chat/events/route.js.nft.json +1 -1
  312. package/.next/server/app/v1/meetings/[meetingId]/cancel/route.js +1 -1
  313. package/.next/server/app/v1/meetings/[meetingId]/cancel/route.js.nft.json +1 -1
  314. package/.next/server/app/v1/meetings/[meetingId]/route.js +1 -1
  315. package/.next/server/app/v1/meetings/[meetingId]/route.js.nft.json +1 -1
  316. package/.next/server/app/v1/meetings/[meetingId]/start/route.js +1 -1
  317. package/.next/server/app/v1/meetings/[meetingId]/start/route.js.nft.json +1 -1
  318. package/.next/server/app/v1/meetings/route.js +1 -1
  319. package/.next/server/app/v1/meetings/route.js.nft.json +1 -1
  320. package/.next/server/app/v1/models/route.js +1 -1
  321. package/.next/server/app/v1/models/route.js.nft.json +1 -1
  322. package/.next/server/app/waves/page_client-reference-manifest.js +1 -1
  323. package/.next/server/app/waves.html +1 -1
  324. package/.next/server/app/waves.rsc +3 -3
  325. package/.next/server/app/waves.segments/_full.segment.rsc +3 -3
  326. package/.next/server/app/waves.segments/_head.segment.rsc +1 -1
  327. package/.next/server/app/waves.segments/_index.segment.rsc +2 -2
  328. package/.next/server/app/waves.segments/_tree.segment.rsc +1 -1
  329. package/.next/server/app/waves.segments/waves/__PAGE__.segment.rsc +2 -2
  330. package/.next/server/app/waves.segments/waves.segment.rsc +1 -1
  331. package/.next/server/app-paths-manifest.json +7 -7
  332. package/.next/server/chunks/1114.js +1 -1
  333. package/.next/server/chunks/{4271.js → 2126.js} +13 -13
  334. package/.next/server/chunks/2425.js +1 -1
  335. package/.next/server/chunks/244.js +1 -1
  336. package/.next/server/chunks/2728.js +1 -1
  337. package/.next/server/chunks/2970.js +1 -1
  338. package/.next/server/chunks/3133.js +2 -2
  339. package/.next/server/chunks/4558.js +1 -1
  340. package/.next/server/chunks/4779.js +1 -0
  341. package/.next/server/chunks/531.js +1 -1
  342. package/.next/server/chunks/5354.js +1 -1
  343. package/.next/server/chunks/5831.js +1 -1
  344. package/.next/server/chunks/609.js +1 -1
  345. package/.next/server/chunks/75.js +1 -1
  346. package/.next/server/chunks/7513.js +1 -1
  347. package/.next/server/chunks/7754.js +60 -60
  348. package/.next/server/chunks/811.js +1 -1
  349. package/.next/server/chunks/8542.js +1 -1
  350. package/.next/server/chunks/87.js +1 -1
  351. package/.next/server/chunks/8767.js +1 -1
  352. package/.next/server/middleware-build-manifest.js +1 -1
  353. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  354. package/.next/server/pages/404.html +1 -1
  355. package/.next/server/pages/500.html +1 -1
  356. package/.next/server/server-reference-manifest.js +1 -1
  357. package/.next/server/server-reference-manifest.json +1 -1
  358. package/.next/static/chunks/{8851-1ea4bbf9945c7b34.js → 2375-af6ebf80d9cb9975.js} +2 -2
  359. package/.next/static/chunks/{4742-e151939b0ae7ba74.js → 3841-0e4a10c621cac0e6.js} +1 -1
  360. package/.next/static/chunks/{5147-d239d0147237bb58.js → 5147-ec07dd70c20ec0b5.js} +1 -1
  361. package/.next/static/chunks/5212-898f308c44a32c22.js +2 -0
  362. package/.next/static/chunks/7401-cffc7c5fa1f5f06e.js +10 -0
  363. package/.next/static/chunks/app/chat/page-5b6d507b576cea9c.js +7 -0
  364. package/.next/static/chunks/app/flows/page-9b16d049d43ac817.js +9 -0
  365. package/.next/static/chunks/app/mcp/{page-70535f4bce57edbe.js → page-e4c284466c17fe32.js} +1 -1
  366. package/.next/static/chunks/app/models/page-2891efa80c126790.js +11 -0
  367. package/.next/static/chunks/{webpack-7efb2620f630c7d5.js → webpack-d9f1e56ee69d988f.js} +1 -1
  368. package/.next/trace +104 -104
  369. package/.next/trace-build +1 -1
  370. package/README.md +6 -3
  371. package/mcp-servers/bash/package.json +1 -1
  372. package/mcp-servers/browser/dist/resources.js +29 -3
  373. package/mcp-servers/browser/dist/resources.js.map +1 -1
  374. package/mcp-servers/browser/package.json +1 -1
  375. package/mcp-servers/filesystem/dist/resources.js +1 -1
  376. package/mcp-servers/filesystem/package.json +1 -1
  377. package/mcp-servers/flujo/package.json +1 -1
  378. package/package.json +5 -5
  379. package/.next/server/chunks/387.js +0 -1
  380. package/.next/static/chunks/5212-fa397222d5251b43.js +0 -2
  381. package/.next/static/chunks/7401-b0f0d4a7b2597302.js +0 -10
  382. package/.next/static/chunks/app/chat/page-3db891cc7ba29084.js +0 -7
  383. package/.next/static/chunks/app/flows/page-6b6748bc74604103.js +0 -9
  384. package/.next/static/chunks/app/models/page-e3430501cd05ff1f.js +0 -11
  385. /package/.next/static/{yjYCceqlIl4V9blcEb5AK → 4x_Vc1-WtJtqgqFZnCq3D}/_buildManifest.js +0 -0
  386. /package/.next/static/{yjYCceqlIl4V9blcEb5AK → 4x_Vc1-WtJtqgqFZnCq3D}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../../../../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../../../../../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../../../../../../node_modules/@swc/helpers/package.json","../../../../../../../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../../../node_modules/next/dist/client/components/hooks-server-context.js","../../../../../../../../node_modules/next/dist/client/components/static-generation-bailout.js","../../../../../../../../node_modules/next/dist/client/lib/console.js","../../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../../../node_modules/next/dist/compiled/source-map/package.json","../../../../../../../../node_modules/next/dist/compiled/source-map/source-map.js","../../../../../../../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../../../../../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../../../../../../node_modules/next/dist/compiled/ws/index.js","../../../../../../../../node_modules/next/dist/compiled/ws/package.json","../../../../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../../../../node_modules/next/dist/lib/constants.js","../../../../../../../../node_modules/next/dist/lib/framework/boundary-constants.js","../../../../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../../../../node_modules/next/dist/lib/is-error.js","../../../../../../../../node_modules/next/dist/lib/picocolors.js","../../../../../../../../node_modules/next/dist/lib/scheduler.js","../../../../../../../../node_modules/next/dist/lib/semver-noop.js","../../../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../../../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../../../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../../../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../../../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js","../../../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../../../../node_modules/next/dist/server/app-render/staged-rendering.js","../../../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../../../../../../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../../../../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../../../../../node_modules/next/dist/server/lib/parse-stack.js","../../../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../../../../node_modules/next/dist/server/lib/source-maps.js","../../../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../../../../../node_modules/next/dist/server/node-environment-baseline.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/date.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/random.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../../../../../../node_modules/next/dist/server/node-environment.js","../../../../../../../../node_modules/next/dist/server/node-polyfill-crypto.js","../../../../../../../../node_modules/next/dist/server/patch-error-inspect.js","../../../../../../../../node_modules/next/dist/server/require-hook.js","../../../../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../../../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../../../node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","../../../../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../../../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../../../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../../../../../node_modules/next/dist/shared/lib/segment.js","../../../../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../../../../node_modules/next/package.json","../../../../../../../../node_modules/react/cjs/react.development.js","../../../../../../../../node_modules/react/cjs/react.production.js","../../../../../../../../node_modules/react/index.js","../../../../../../../../node_modules/react/package.json","../../../../../../../../package.json","../../../../../../../../src/backend/services/mcp/internal/confinement.ts","../../../../../../../../src/backend/services/mcp/internal/protectedPaths.ts","../../../../../../../package.json","../../../../../../chunks/1067.js","../../../../../../chunks/1114.js","../../../../../../chunks/1346.js","../../../../../../chunks/1587.js","../../../../../../chunks/1724.js","../../../../../../chunks/1813.js","../../../../../../chunks/2480.js","../../../../../../chunks/2915.js","../../../../../../chunks/3078.js","../../../../../../chunks/3099.js","../../../../../../chunks/3133.js","../../../../../../chunks/3196.js","../../../../../../chunks/4165.js","../../../../../../chunks/4271.js","../../../../../../chunks/4741.js","../../../../../../chunks/531.js","../../../../../../chunks/626.js","../../../../../../chunks/6614.js","../../../../../../chunks/7196.js","../../../../../../chunks/7798.js","../../../../../../chunks/8440.js","../../../../../../chunks/8619.js","../../../../../../chunks/8775.js","../../../../../../chunks/8988.js","../../../../../../chunks/9312.js","../../../../../../chunks/9592.js","../../../../../../chunks/9880.js","../../../../../../webpack-runtime.js","route_client-reference-manifest.js"]}
1
+ {"version":1,"files":["../../../../../../../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../../../../../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../../../../../../node_modules/@swc/helpers/package.json","../../../../../../../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../../../node_modules/next/dist/client/components/hooks-server-context.js","../../../../../../../../node_modules/next/dist/client/components/static-generation-bailout.js","../../../../../../../../node_modules/next/dist/client/lib/console.js","../../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../../../node_modules/next/dist/compiled/source-map/package.json","../../../../../../../../node_modules/next/dist/compiled/source-map/source-map.js","../../../../../../../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../../../../../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../../../../../../node_modules/next/dist/compiled/ws/index.js","../../../../../../../../node_modules/next/dist/compiled/ws/package.json","../../../../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../../../../node_modules/next/dist/lib/constants.js","../../../../../../../../node_modules/next/dist/lib/framework/boundary-constants.js","../../../../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../../../../node_modules/next/dist/lib/is-error.js","../../../../../../../../node_modules/next/dist/lib/picocolors.js","../../../../../../../../node_modules/next/dist/lib/scheduler.js","../../../../../../../../node_modules/next/dist/lib/semver-noop.js","../../../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../../../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../../../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../../../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../../../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js","../../../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../../../../node_modules/next/dist/server/app-render/staged-rendering.js","../../../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../../../../../../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../../../../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../../../../../node_modules/next/dist/server/lib/parse-stack.js","../../../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../../../../node_modules/next/dist/server/lib/source-maps.js","../../../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../../../../../node_modules/next/dist/server/node-environment-baseline.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/date.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/random.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../../../../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../../../../../../node_modules/next/dist/server/node-environment.js","../../../../../../../../node_modules/next/dist/server/node-polyfill-crypto.js","../../../../../../../../node_modules/next/dist/server/patch-error-inspect.js","../../../../../../../../node_modules/next/dist/server/require-hook.js","../../../../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../../../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../../../node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","../../../../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../../../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../../../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../../../../../node_modules/next/dist/shared/lib/segment.js","../../../../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../../../../node_modules/next/package.json","../../../../../../../../node_modules/react/cjs/react.development.js","../../../../../../../../node_modules/react/cjs/react.production.js","../../../../../../../../node_modules/react/index.js","../../../../../../../../node_modules/react/package.json","../../../../../../../../package.json","../../../../../../../../src/backend/services/mcp/internal/confinement.ts","../../../../../../../../src/backend/services/mcp/internal/protectedPaths.ts","../../../../../../../package.json","../../../../../../chunks/1067.js","../../../../../../chunks/1114.js","../../../../../../chunks/1346.js","../../../../../../chunks/1587.js","../../../../../../chunks/1724.js","../../../../../../chunks/1813.js","../../../../../../chunks/2126.js","../../../../../../chunks/2480.js","../../../../../../chunks/2915.js","../../../../../../chunks/3078.js","../../../../../../chunks/3099.js","../../../../../../chunks/3133.js","../../../../../../chunks/3196.js","../../../../../../chunks/4165.js","../../../../../../chunks/4741.js","../../../../../../chunks/531.js","../../../../../../chunks/626.js","../../../../../../chunks/6614.js","../../../../../../chunks/7196.js","../../../../../../chunks/7798.js","../../../../../../chunks/8440.js","../../../../../../chunks/8619.js","../../../../../../chunks/8775.js","../../../../../../chunks/8988.js","../../../../../../chunks/9312.js","../../../../../../chunks/9592.js","../../../../../../chunks/9880.js","../../../../../../webpack-runtime.js","route_client-reference-manifest.js"]}
@@ -1,4 +1,4 @@
1
1
  "use strict";(()=>{var a={};a.id=9959,a.ids=[3099,4321,5111,6702,7492,9959],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{a.exports=require("node:perf_hooks")},1708:a=>{a.exports=require("node:process")},1932:a=>{a.exports=require("url")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},3844:(a,b,c)=>{c.d(b,{TM:()=>e,wM:()=>f});var d=c(92967);function e(a){return`quickchat-${a}`}function f(a,b){if(!a?.conversationId)return{flow:null,error:"A conversationId is required."};if(!a.modelId||"string"!=typeof a.modelId)return{flow:null,error:"A model is required for a quick chat."};let c=function(a,b){if(b.some(b=>b.id===a))return a;let c=a.toLowerCase(),d=b.find(a=>a.displayName?.toLowerCase()===c);if(d)return d.id;let e=b.find(a=>a.name?.toLowerCase()===c);return e?e.id:null}(a.modelId,b.models);if(!c)return{flow:null,error:`Unknown model "${a.modelId}".`};let f=new Set(b.servers.map(a=>a.name)),g=b.serverTools??{},h=[],i=new Set;for(let b of a.servers??[]){let a,c=b?.name;if(!c||"string"!=typeof c)return{flow:null,error:"A selected server is missing its name."};if(!f.has(c))return{flow:null,error:`Unknown MCP server "${c}".`};if(i.has(c))continue;i.add(c);let d=g[c];if(Array.isArray(b.enabledTools)){let c=b.enabledTools.filter(a=>"string"==typeof a&&a);a=d?c.filter(a=>d.includes(a)):c}else a=d?[...d]:void 0;h.push({name:c,...a?{tools:a}:{}})}let j={name:"Quick Chat",nodes:[{key:"start",type:"start",label:"Start",...a.systemPrompt?{prompt:a.systemPrompt}:{}},{key:"chat",type:"process",label:"Chat",model:c,...h.length>0?{servers:h}:{}},{key:"finish",type:"finish",label:"Finish"}],edges:[{from:"start",to:"chat"},{from:"chat",to:"finish"}]},k=(0,d.dM)(j,{models:b.models,servers:b.servers,serverTools:g});return k.flow?(k.flow.id=e(a.conversationId),k.flow.name="Quick Chat",{flow:k.flow}):{flow:null,error:k.issues.filter(a=>"error"===a.severity).map(a=>a.message).join(" ")||"Could not synthesize a quick-chat flow."}}},4573:a=>{a.exports=require("node:buffer")},4984:a=>{a.exports=require("readline")},5738:(a,b,c)=>{c.d(b,{$:()=>m,v5:()=>l});var d=c(23211),e=c(73560);let f=new Set(["localhost","127.0.0.1","::1"]);function g(a){return a.toLowerCase().replace(/^\[|\]$/g,"")}function h(){let a=process.env.FLUJO_EXTRA_LOCAL_HOSTS;return a?a.split(",").map(a=>a.trim().toLowerCase()).filter(a=>a.length>0&&"."!==a):[]}function i(a){return h().some(b=>b.startsWith(".")?a.endsWith(b):a===b)}function j(){return"legacy"===process.env.FLUJO_EXPOSURE_MODE_SOURCE||!process.env.FLUJO_EXPOSURE_MODE&&h().length>0}function k(a,b){var c;let d,e,h=g(a);return!!f.has(h)||("public"===b?/^[a-z0-9._-]+$/i.test(h)||h.includes(":"):"network"===b?j()?i(h):function(a){let b=a.split(".");if(4!==b.length||b.some(a=>!/^\d{1,3}$/.test(a)))return!1;let c=b.map(Number);if(c.some(a=>a<0||a>255))return!1;let[d,e]=c;return 10===d||172===d&&e>=16&&e<=31||192===d&&168===e||169===d&&254===e}(c=h)||(d=c.toLowerCase()).startsWith("fc")||d.startsWith("fd")||/^fe[89ab]/.test(d)||(!(e=process.env.FLUJO_RUNTIME_LOCAL_HOSTS)?[]:e.split(",").map(a=>a.trim().toLowerCase()).filter(Boolean)).includes(c)||[".local",".lan",".home",".internal",".localdomain"].some(a=>c.endsWith(a)):j()&&i(h))}function l(a,b){let c=(0,e.Th)(),d=function(a){if(!a)return null;let b=a.trim();if(b.startsWith("[")){let a=b.indexOf("]");return a>0?b.slice(1,a):null}return b.split(":")[0]||null}(a);if(!d||!k(d,c))return!1;if(b)try{let a=g(new URL(b).hostname);if(!k(a,c)||("public"===c||"network"===c&&!j())&&a!==g(d)&&!(f.has(a)&&f.has(g(d))))return!1}catch{return!1}return!0}function m(a){return l(a.headers.get("host"),a.headers.get("origin"))?null:d.NextResponse.json({error:"Forbidden: this endpoint only accepts local requests."},{status:403})}},8086:a=>{a.exports=require("module")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11723:a=>{a.exports=require("querystring")},12376:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>Z,patchFetch:()=>Y,routeModule:()=>U,serverHooks:()=>X,workAsyncStorage:()=>V,workUnitAsyncStorage:()=>W});var d={};c.r(d),c.d(d,{DELETE:()=>T,GET:()=>R,PATCH:()=>S});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(87182),w=c(38813),x=c(5738),y=c(23211),z=c(66844),A=c(84901),B=c(68751),C=c(65445),D=c(71114),E=c(42740),F=c(3844),G=c(47798),H=c(58605),I=c(10031),J=c(20149),K=c(10408),L=c(60349);let M=(0,z.h)("app/v1/chat/conversations/[conversationId]/route");async function N(a){try{let b=a.messages||[];for(let c=b.length-1;c>=0;c--){let d=b[c];if("assistant"!==d.role||!d.usage)continue;let e={promptTokens:d.usage.promptTokens,completionTokens:d.usage.completionTokens,nodeId:d.processNodeId};if(d.processNodeId&&a.flowId){let b=await D.flowService.getFlow(a.flowId),c=b?.nodes?.find(a=>a.id===d.processNodeId),f=c?.data?.properties?.boundModel;if(f){let a=await E.modelService.getModel(f);a&&(e.modelDisplayName=a.displayName||a.name,e.contextWindow=a.contextWindow)}}return e}}catch(a){M.warn("buildContextInfo failed; omitting context info",{error:a})}}async function O(a,{params:b}){let c=await (0,w.Wj)({openai:!0});if(c)return c;let d=(0,x.$)(a);if(d)return d;let e=(await b).conversationId,f=`conv-get-${Date.now()}`;if(M.info("Handling GET request for conversation state",{requestId:f,conversationId:e}),!e)return M.warn("Missing conversationId parameter",{requestId:f}),y.NextResponse.json({error:"Missing conversationId parameter"},{status:400});try{let b,c="not_found";if(A.FlowExecutor.conversationStates.has(e))b=A.FlowExecutor.conversationStates.get(e),c="memory",M.debug("Found conversation state in memory",{requestId:f,conversationId:e});else{M.debug("Conversation state not in memory, trying storage",{requestId:f,conversationId:e});let a=`conversations/${e}`;try{(b=await (0,C.loadItem)(a,void 0))?(c="storage",await (0,I.aC)(a,b),M.debug("Found conversation state in storage",{requestId:f,conversationId:e})):M.info("Conversation state not found in storage",{requestId:f,conversationId:e})}catch(a){M.warn("Error loading conversation state from storage",{requestId:f,conversationId:e,error:a})}}if(!b)return M.warn("Conversation state not found",{requestId:f,conversationId:e}),y.NextResponse.json({error:"Conversation not found"},{status:404});{let d;await (0,B.u8)(e);let g=await (0,B.$b)(b);if(g)d=g;else{let a=await (0,B.Os)(e),c=a?(0,B.cc)(a):[];d=c.length>0?c:(b.messages||[]).filter(a=>"system"!==a.role).map(a=>({...a,id:a.id||crypto.randomUUID()}))}let h="1"===a.nextUrl.searchParams.get("compactToolPayloads")?await (0,L.$)(d,e):d;M.info("Returning conversation state",{requestId:f,conversationId:e,stateSource:c,messageCount:h.length,status:b.status});let i={id:b.conversationId||e,title:b.title||"Untitled Conversation",messages:h,flowId:b.flowId||null,requireApproval:b.requireApproval??!1,createdAt:b.createdAt||0,updatedAt:b.updatedAt||Date.now(),status:b.status,recovery:b.recovery,parentConversationId:b.parentConversationId??null,rootConversationId:b.rootConversationId??null,currentNodeId:b.currentNodeId,usage:b.usage,contextInfo:await N(b),mcpAppContexts:b.mcpAppContexts,..."error"===b.status?{lastError:b.lastError??(0,J.Jj)(b.lastResponse)}:{}};return y.NextResponse.json(i)}}catch(a){return M.error("Error retrieving conversation state",{requestId:f,conversationId:e,error:a instanceof Error?{name:a.name,message:a.message,stack:a.stack}:a}),y.NextResponse.json({error:"Internal server error"},{status:500})}}async function P(a,{params:b}){let c,d=await (0,w.Wj)({openai:!0});if(d)return d;let e=(0,x.$)(a);if(e)return e;let f=(await b).conversationId,g=`conv-patch-${Date.now()}`;if(M.info("Handling PATCH request for conversation",{requestId:g,conversationId:f}),!f)return M.warn("Missing conversationId parameter",{requestId:g}),y.NextResponse.json({error:"Missing conversationId parameter"},{status:400});try{c=await a.json(),M.debug("Received update data",{requestId:g,conversationId:f,updateData:JSON.stringify(c)})}catch(a){return M.warn("Invalid JSON in PATCH request body",{requestId:g,conversationId:f,error:a}),y.NextResponse.json({error:"Invalid request body"},{status:400})}let h={};if("flowId"in c){if("string"!=typeof c.flowId&&null!==c.flowId)return M.warn("Invalid flowId in PATCH request body",{requestId:g,conversationId:f}),y.NextResponse.json({error:"Invalid flowId in request body"},{status:400});h.flowId=c.flowId}if("requireApproval"in c){if("boolean"!=typeof c.requireApproval)return M.warn("Invalid requireApproval in PATCH request body",{requestId:g,conversationId:f}),y.NextResponse.json({error:"requireApproval must be a boolean"},{status:400});h.requireApproval=c.requireApproval}if("title"in c){if("string"!=typeof c.title)return M.warn("Invalid title in PATCH request body",{requestId:g,conversationId:f}),y.NextResponse.json({error:"title must be a string"},{status:400});let a=c.title.trim().slice(0,200);if(!a)return M.warn("Empty title in PATCH request body",{requestId:g,conversationId:f}),y.NextResponse.json({error:"title must not be empty"},{status:400});h.title=a}if(0===Object.keys(h).length)return M.warn("No updatable fields in PATCH request body",{requestId:g,conversationId:f,updateData:JSON.stringify(c)}),y.NextResponse.json({error:"No updatable fields provided (flowId, requireApproval, title)"},{status:400});let i=`conversations/${f}`;try{let a=await (0,C.loadItem)(i,void 0);if(!a)return M.warn("Conversation state not found for PATCH",{requestId:g,conversationId:f}),y.NextResponse.json({error:"Conversation not found"},{status:404});let b=new Set(["requireApproval","title"]),c=Object.keys(h).every(a=>b.has(a))?a.updatedAt:Date.now(),d={...a,...h,updatedAt:c};if(await (0,C.VH)(i,d),await (0,K.CW)(f,d),M.info("Successfully updated and saved conversation state",{requestId:g,conversationId:f,updatedFields:Object.keys(h)}),A.FlowExecutor.conversationStates.has(f)){let a=A.FlowExecutor.conversationStates.get(f);if(a){let b={...a,...h,updatedAt:d.updatedAt};A.FlowExecutor.conversationStates.set(f,b),M.debug("Updated conversation state in memory",{requestId:g,conversationId:f})}}let e={id:f,title:d.title,flowId:d.flowId,createdAt:d.createdAt,updatedAt:d.updatedAt,status:d.status};return y.NextResponse.json(e,{status:200})}catch(a){return M.error("Error updating conversation state",{requestId:g,conversationId:f,storageKey:i,error:a instanceof Error?{name:a.name,message:a.message,stack:a.stack}:a}),y.NextResponse.json({error:"Internal server error during update"},{status:500})}}async function Q(a,{params:b}){let c=await (0,w.Wj)({openai:!0});if(c)return c;let d=(0,x.$)(a);if(d)return d;let e=(await b).conversationId,f=`conv-delete-${Date.now()}`;if(M.info("Handling DELETE request for conversation",{requestId:f,conversationId:e}),!e)return M.warn("Missing conversationId parameter",{requestId:f}),y.NextResponse.json({error:"Missing conversationId parameter"},{status:400});if(!/^[A-Za-z0-9_-]{1,64}$/.test(e))return M.warn("Refusing DELETE for unsafe conversationId",{requestId:f}),y.NextResponse.json({error:"Invalid conversationId"},{status:400});try{(0,H.markConversationDeleted)(e);let a=A.FlowExecutor.conversationStates.get(e);return a&&(a.isCancelled=!0,"running"!==a.status&&A.FlowExecutor.conversationStates.delete(e),M.debug("Cancelled and cleaned up in-memory conversation state",{requestId:f,conversationId:e,status:a.status})),await (0,C.bB)("conversations",e),await (0,K.lp)(e),M.info("Deleted conversation state from storage",{requestId:f,conversationId:e}),A.FlowExecutor.clearFlowCache((0,F.TM)(e)),await (0,B.RU)(e),await (0,G.iQ)(e),new Response(null,{status:204})}catch(a){return(0,H.unmarkConversationDeleted)(e),M.error("Error deleting conversation",{requestId:f,conversationId:e,error:a instanceof Error?{name:a.name,message:a.message,stack:a.stack,code:a.code}:a}),y.NextResponse.json({error:"Failed to delete conversation"},{status:500})}}let R=(0,v.pZ)(O),S=(0,v.pZ)(P),T=(0,v.pZ)(Q),U=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/v1/chat/conversations/[conversationId]/route",pathname:"/v1/chat/conversations/[conversationId]",filename:"route",bundlePath:"app/v1/chat/conversations/[conversationId]/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\src\\app\\v1\\chat\\conversations\\[conversationId]\\route.ts",nextConfigOutput:"",userland:d,...{}}),{workAsyncStorage:V,workUnitAsyncStorage:W,serverHooks:X}=U;function Y(){return(0,g.patchFetch)({workAsyncStorage:V,workUnitAsyncStorage:W})}async function Z(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),U.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/v1/chat/conversations/[conversationId]/route";"/index"===d&&(d="/");let e=await U.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(I&&!z){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||U.isDev||z||(K="/index"===(K=E)?"/":K);let L=!0===U.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await U.getIncrementalCache(a,x,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>U.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>U.handle(X,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(V,W,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await U.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await U.handleResponse({req:a,nextConfig:x,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await U.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},12412:a=>{a.exports=require("assert")},16698:a=>{a.exports=require("node:async_hooks")},17492:(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()},18705:(a,b,c)=>{c.d(b,{G:()=>m,V:()=>l,resolveGlobalVars:()=>k});var d=c(49796),e=c(66844),f=c(65445),g=c(74755),h=c(63078),i=c(24424);let j=(0,e.h)("backend/utils/resolveGlobalVars");async function k(a,b={}){j.debug("Entering resolveGlobalVars method");let c=!1!==b.resolveSecrets,d=await (0,f.loadItem)(g.Zg.GLOBAL_ENV_VARS,{}),e=function(a){if(!a||"object"!=typeof a)return!1;let b=Object.keys(a);if(0===b.length)return!0;let c=a[b[0]];return c&&"object"==typeof c&&"value"in c&&"metadata"in c&&"object"==typeof c.metadata&&"isSecret"in c.metadata}(d);j.debug(`Loaded ${Object.keys(d).length} global environment variables (${e?"new":"old"} format)`);let i={},l=new Set;if(e)for(let[a,b]of Object.entries(d))i[a]=b.value,b.metadata.isSecret&&l.add(a);else i={...d};let m=async a=>{let b=a.match(/\$\{global:([^}]+)\}/g);if(!b)return a;let d=a;for(let a of b){let b=a.substring(9,a.length-1);if(void 0!==i[b]){let e=i[b];if(!c&&(l.has(b)||e.startsWith("encrypted:")||e.startsWith("encrypted_failed:"))){j.debug(`Keeping secret global variable unresolved: ${b}`);continue}if(e.startsWith("encrypted:")){j.debug(`Decrypting encrypted global variable: ${b}`);try{let a=e.substring(10),c=await (0,h.decryptWithPassword)(a);if(c)e=c,j.debug(`Successfully decrypted global variable: ${b}`);else{j.warn(`Failed to decrypt global variable: ${b}`);continue}}catch(a){j.error(`Error decrypting global variable: ${b}`,a);continue}}else if(e.startsWith("encrypted_failed:")){j.warn(`Skipping failed encrypted global variable: ${b}`);continue}j.debug(`Resolved global variable: ${b}`),d=d.replace(a,e)}else j.warn(`Global variable not found: ${b}`)}return d},n=async a=>{if("string"==typeof a)return await m(a);if(Array.isArray(a))return await Promise.all(a.map(a=>n(a)));if(null!==a&&"object"==typeof a){let b={};for(let[c,d]of Object.entries(a))b[c]=await n(d);return b}return a},o=await n(a);return"object"==typeof a&&null!==a&&j.debug("Resolved global variables result:",JSON.stringify(o,null,2)),j.debug("Completed global variable resolution"),o}async function l(a){return k(a,{resolveSecrets:!1})}async function m(a,b=0){if(j.debug(`Entering resolveAndDecryptApiKey method (depth: ${b})`),!a)return j.warn("Empty value provided"),null;if(b>=10)return j.warn(`Maximum resolution depth reached (10) for value: ${a}`),a;let c=a;if(c.startsWith("encrypted:")){j.debug(`Decrypting encrypted value at depth ${b}`);try{let a=c.substring(10),d=await (0,h.decryptWithPassword)(a);if(!d)return j.warn(`Failed to decrypt value at depth ${b}`),null;j.debug(`Successfully decrypted value at depth ${b}`),j.verbose(d),c=d}catch(a){return j.error(`Error decrypting value at depth ${b}:`,a),null}}else c.startsWith("encrypted_failed:")&&(j.warn(`Skipping failed encrypted value at depth ${b}`),c=c.substring(17));if(c.includes("${global:")){j.debug(`Resolving global variables at depth ${b}`);try{let a=await k(c);if(j.verbose(a),a!==c)return j.debug(`Value changed after resolving globals at depth ${b}, processing recursively`),m(a,b+1);c=a}catch(a){return j.error(`Error resolving global variables at depth ${b}:`,a),null}}return j.debug(`Completed resolveAndDecryptApiKey at depth ${b}`),c}(0,i.D)([k,l,m]),(0,d.A)(k,"607793df0ea17d2b919c0fed894b6a3d928d219663",null),(0,d.A)(l,"405c2f3bec907fd31ca0ab15b319538c3df2266eed",null),(0,d.A)(m,"60f42344b32df2a3430af44b7a6ceaa86601eb8cbd",null)},19771:a=>{a.exports=require("process")},21820:a=>{a.exports=require("os")},24424:(a,b)=>{function c(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
2
  Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(b,"D",{enumerable:!0,get:function(){return c}})},27910:a=>{a.exports=require("stream")},27953:(a,b,c)=>{c.r(b),c.d(b,{"405c2f3bec907fd31ca0ab15b319538c3df2266eed":()=>d.V,"607793df0ea17d2b919c0fed894b6a3d928d219663":()=>d.resolveGlobalVars,"60f42344b32df2a3430af44b7a6ceaa86601eb8cbd":()=>d.G});var d=c(18705)},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},32467:a=>{a.exports=require("node:http2")},33873:a=>{a.exports=require("path")},34589:a=>{a.exports=require("node:assert")},34631:a=>{a.exports=require("tls")},36103:(a,b,c)=>{c.d(b,{DP:()=>i,Er:()=>f,FH:()=>e,Vc:()=>h,tv:()=>g});class d extends Error{constructor(){super("Workspace layout preparation has not started."),this.code="WORKSPACE_LAYOUT_NOT_STARTED",this.name="WorkspaceLayoutNotStartedError"}}function e(){return global.__flujo_workspace_migration_promise}function f(){return global.__flujo_workspace_layout_status??"not-started"}function g(a){global.__flujo_workspace_migration_promise=a,global.__flujo_workspace_layout_status=a?"preparing":"not-started",a&&a.then(()=>{global.__flujo_workspace_migration_promise===a&&(global.__flujo_workspace_layout_status="ready")},()=>{global.__flujo_workspace_migration_promise===a&&(global.__flujo_workspace_layout_status="failed")})}function h(a,b){global.__flujo_workspace_migration_promise===a&&(global.__flujo_workspace_migration_promise=void 0,global.__flujo_workspace_layout_status="failed")}async function i(){let a=e();if(!a)throw new d;await a}},37067:a=>{a.exports=require("node:http")},37540:a=>{a.exports=require("node:console")},37830:a=>{a.exports=require("node:stream/web")},38522:a=>{a.exports=require("node:zlib")},38813:(a,b,c)=>{c.d(b,{Wj:()=>h,ln:()=>g});var d=c(23211),e=c(63078);let f="encryption_locked";async function g(){return(0,e.isEncryptionLocked)()}async function h(a){return await g()?a?.openai?d.NextResponse.json({error:{message:"Encryption is locked. Unlock FLUJO to continue.",type:f,code:f,param:null}},{status:423}):d.NextResponse.json({error:f},{status:423}):null}},40610:a=>{a.exports=require("node:dns")},41204:a=>{a.exports=require("string_decoder")},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},44708:a=>{a.exports=require("node:https")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46466:a=>{a.exports=require("node:stream/promises")},46702:(a,b,c)=>{c.d(b,{eh:()=>i,ru:()=>g});var d=c(66844),e=c(7986);let f=(0,d.h)("backend/services/scheduler/flowRunEventBus");function g(a){return"signal"===a.kind}class h{publish(a){if(0===this.listeners.size)return;let b=g(a)?`signal topic=${a.topic} emitter=${a.emitterFlowId}`:`flow=${a.flowId} status=${a.status}`;for(let c of(f.debug(`Publishing flow event: ${b} firedBy=${a.firedBy} depth=${a.chainDepth} listeners=${this.listeners.size}`),[...this.listeners]))try{c(a)}catch(a){f.warn("A flow-run event listener threw:",a)}}subscribe(a){let b=(0,e.bindToCurrentWorkspace)(a);return this.listeners.add(b),()=>{this.listeners.delete(b)}}get listenerCount(){return this.listeners.size}constructor(){this.listeners=new Set}}function i(){let a=(0,e.getCurrentWorkspace)();if(a===e.DEFAULT_WORKSPACE)return global.__flujo_flow_run_event_bus||(global.__flujo_flow_run_event_bus=new h),global.__flujo_flow_run_event_bus;let b=global.__flujo_flow_run_event_buses_by_workspace??(global.__flujo_flow_run_event_buses_by_workspace=new Map),c=b.get(a);return c||(c=new h,b.set(a,c)),c}},48161:a=>{a.exports=require("node:os")},49796:(a,b,c)=>{Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(77943)},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57075:a=>{a.exports=require("node:stream")},57975:a=>{a.exports=require("node:util")},60349:(a,b,c)=>{c.d(b,{$:()=>i,Z:()=>k});var d=c(47798),e=c(30597),f=c(7986);function g(a,b,c){return a.length<=1200?a:`${a.slice(0,1200)}
3
3
 
4
- [${b} preview — expand to load the full ${c.toLocaleString("en-US")}-byte payload]`}function h(a){return{uri:a.uri,href:`/v1/chat/conversations/${encodeURIComponent(a.conversationId)}/resources/${encodeURIComponent(a.id)}/content?workspace=${encodeURIComponent((0,f.getCurrentWorkspace)())}`,size:a.size,...a.mimeType?{mimeType:a.mimeType}:{}}}async function i(a,b){let c=await (0,d.Bt)(b);if(0===c.length)return a;let{argumentsByCallId:e,resultByCallId:f}=function(a){let b=new Map,c=new Map;for(let d of[...a].sort((a,b)=>b.createdAt-a.createdAt)){let a=d.producedBy.toolCallId;a&&"text"===d.kind&&"utf8"===d.encoding&&("tool-args"!==d.producedBy.source||b.has(a)||b.set(a,d),"tool-result"!==d.producedBy.source||"tool-message"!==d.producedBy.payloadRole||c.has(a)||c.set(a,d))}return{argumentsByCallId:b,resultByCallId:c}}(c);if(0===e.size&&0===f.size)return a;let i=new Set;for(let b of a)"tool"===b.role&&b.ui&&"string"==typeof b.tool_call_id&&i.add(b.tool_call_id);return a.map(a=>{if("assistant"===a.role&&Array.isArray(a.tool_calls)){let b=!1,c={...a.toolPayloads??{}},d=a.tool_calls.map(a=>{let d=i.has(a.id)?void 0:e.get(a.id),f=a.function.arguments;return d&&"string"==typeof f?(b=!0,c[a.id]={...c[a.id],arguments:h(d)},{...a,function:{...a.function,arguments:g(f,"tool parameters",d.size)}}):a});return b?{...a,tool_calls:d,toolPayloads:c}:a}if("tool"===a.role&&"string"==typeof a.tool_call_id&&!i.has(a.tool_call_id)&&"string"==typeof a.content){let b=f.get(a.tool_call_id);return b?{...a,content:g(a.content,"tool result",b.size),toolPayloads:{...a.toolPayloads??{},[a.tool_call_id]:{...a.toolPayloads?.[a.tool_call_id],result:h(b)}}}:a}return a})}async function j(a,b,c){let e=await (0,d.gy)(a.uri);if(!e||e.entry.producedBy.source!==("arguments"===c?"tool-args":"tool-result")||e.entry.producedBy.toolCallId!==b||"result"===c&&"tool-message"!==e.entry.producedBy.payloadRole)throw Error(`Could not hydrate lazy tool ${c} for ${b}`);let f=e.contents.contents[0];if(!f||!("text"in f)||"string"!=typeof f.text)throw Error(`Lazy tool ${c} for ${b} is not textual`);return{text:f.text,entry:e.entry}}async function k(a,b,c){let f=new Map(b.map(a=>[a.id,a]));return Promise.all(a.map(async a=>{if(!a||"object"!=typeof a)return a;let b=a.toolPayloads;if(!b||0===Object.keys(b).length)return a;let g=f.get(a.id);if("assistant"===a.role&&Array.isArray(a.tool_calls)){let c=g?.role==="assistant"&&Array.isArray(g.tool_calls)?new Map(g.tool_calls.map(a=>[a.id,a])):new Map,d=await Promise.all(a.tool_calls.map(async a=>{let d=b[a.id]?.arguments;if(!d)return a;let e=c.get(a.id)?.function.arguments,f="string"==typeof e?e:(await j(d,a.id,"arguments")).text;return{...a,function:{...a.function,arguments:f}}})),e={...a,tool_calls:d};return delete e.toolPayloads,e}if("tool"===a.role&&"string"==typeof a.tool_call_id){let f=b[a.tool_call_id]?.result,h=a.content;if(f)if(g?.role==="tool"&&g.tool_call_id===a.tool_call_id&&"string"==typeof g.content)h=g.content;else{let b=await j(f,a.tool_call_id,"result"),g=await (0,d.jR)();h=(await (0,e.S)({conversationId:c,toolCallId:a.tool_call_id,server:b.entry.producedBy.server??"unknown",toolName:b.entry.producedBy.toolName??"unknown",nodeId:b.entry.producedBy.nodeId,content:b.text,settings:g})).content}let i={...a,content:h};return delete i.toolPayloads,i}let h={...a};return delete h.toolPayloads,h}))}},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},73496:a=>{a.exports=require("http2")},73560:(a,b,c)=>{c.d(b,{Th:()=>e});let d=["localhost","network","public"];function e(a=process.env){let b=a.FLUJO_EXPOSURE_MODE?.trim().toLowerCase();return"string"==typeof b&&d.includes(b)?b:function(a=process.env){return a.FLUJO_MCP_APP_SANDBOX_PUBLIC_URL?.trim()||a.FLUJO_MCP_APP_HOST_ORIGINS?.trim()?"public":a.FLUJO_EXTRA_LOCAL_HOSTS?.split(",").some(a=>a.trim().length>0&&"."!==a.trim())?"network":void 0}(a)??"localhost"}},73566:a=>{a.exports=require("worker_threads")},74075:a=>{a.exports=require("zlib")},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},77943:(a,b,c)=>{a.exports=c(7553).vendored["react-rsc"].ReactServerDOMWebpackServer},78474:a=>{a.exports=require("node:events")},79428:a=>{a.exports=require("buffer")},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},80099:a=>{a.exports=require("node:sqlite")},80481:a=>{a.exports=require("node:readline")},81630:a=>{a.exports=require("http")},83997:a=>{a.exports=require("tty")},84297:a=>{a.exports=require("async_hooks")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87182:(a,b,c)=>{c.d(b,{pZ:()=>l});var d=c(7986),e=c(66844),f=c(36103);let g=(0,e.h)("app/api/_workspace");class h extends Error{constructor(a,b){super(a),this.name="WorkspaceRequestError",this.status=b}}async function i(a){let b=function(a){let b=null;try{b=new URL(a.url).searchParams.get("workspace")}catch{}null===b&&(b=a.headers?.get?.("x-flujo-workspace")??null);try{return(0,d.normalizeWorkspaceName)(b)}catch(a){if(a instanceof d.InvalidWorkspaceNameError)throw new h("Invalid workspace name. Workspace names must match /^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$/.",400);throw a}}(a);try{await (0,f.DP)()}catch(a){throw g.error("Workspace layout is not ready; refusing workspace request",a),new h("Workspace storage is temporarily unavailable while its layout is being prepared.",503)}if(!await (0,d.workspaceExists)(b))throw new h(`Unknown workspace: ${b}`,404);return b}function j(a){return new Response(JSON.stringify({error:a.message}),{status:a.status,headers:{"Content-Type":"application/json",...503===a.status?{"Retry-After":"5"}:{}}})}async function k(a,b){let c;try{c=await i(a)}catch(a){if(a instanceof h)return j(a);throw a}return(0,d.runWithWorkspace)(c,async()=>{try{await (0,d.ensureWorkspaceDirs)(c)}catch(a){return g.error(`Workspace ${c} has an unsafe or unavailable storage layout`,a),j(new h(`Workspace storage is unavailable: ${c}`,503))}return b(c)})}function l(a){return async(b,...c)=>{let d=b instanceof Request?b:new Request("http://localhost/"),e=b??d;return k(d,()=>Promise.resolve(a(e,...c)))}}},87997:a=>{a.exports=require("node:timers")},91645:a=>{a.exports=require("net")},94735:a=>{a.exports=require("events")},98995:a=>{a.exports=require("node:module")}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,8440,6614,8775,4165,3133,1067,3078,1114,8619,7798,531,4271,2967],()=>b(b.s=12376));module.exports=c})();
4
+ [${b} preview — expand to load the full ${c.toLocaleString("en-US")}-byte payload]`}function h(a){return{uri:a.uri,href:`/v1/chat/conversations/${encodeURIComponent(a.conversationId)}/resources/${encodeURIComponent(a.id)}/content?workspace=${encodeURIComponent((0,f.getCurrentWorkspace)())}`,size:a.size,...a.mimeType?{mimeType:a.mimeType}:{}}}async function i(a,b){let c=await (0,d.Bt)(b);if(0===c.length)return a;let{argumentsByCallId:e,resultByCallId:f}=function(a){let b=new Map,c=new Map;for(let d of[...a].sort((a,b)=>b.createdAt-a.createdAt)){let a=d.producedBy.toolCallId;a&&"text"===d.kind&&"utf8"===d.encoding&&("tool-args"!==d.producedBy.source||b.has(a)||b.set(a,d),"tool-result"!==d.producedBy.source||"tool-message"!==d.producedBy.payloadRole||c.has(a)||c.set(a,d))}return{argumentsByCallId:b,resultByCallId:c}}(c);if(0===e.size&&0===f.size)return a;let i=new Set;for(let b of a)"tool"===b.role&&b.ui&&"string"==typeof b.tool_call_id&&i.add(b.tool_call_id);return a.map(a=>{if("assistant"===a.role&&Array.isArray(a.tool_calls)){let b=!1,c={...a.toolPayloads??{}},d=a.tool_calls.map(a=>{let d=i.has(a.id)?void 0:e.get(a.id),f=a.function.arguments;return d&&"string"==typeof f?(b=!0,c[a.id]={...c[a.id],arguments:h(d)},{...a,function:{...a.function,arguments:g(f,"tool parameters",d.size)}}):a});return b?{...a,tool_calls:d,toolPayloads:c}:a}if("tool"===a.role&&"string"==typeof a.tool_call_id&&!i.has(a.tool_call_id)&&"string"==typeof a.content){let b=f.get(a.tool_call_id);return b?{...a,content:g(a.content,"tool result",b.size),toolPayloads:{...a.toolPayloads??{},[a.tool_call_id]:{...a.toolPayloads?.[a.tool_call_id],result:h(b)}}}:a}return a})}async function j(a,b,c){let e=await (0,d.gy)(a.uri);if(!e||e.entry.producedBy.source!==("arguments"===c?"tool-args":"tool-result")||e.entry.producedBy.toolCallId!==b||"result"===c&&"tool-message"!==e.entry.producedBy.payloadRole)throw Error(`Could not hydrate lazy tool ${c} for ${b}`);let f=e.contents.contents[0];if(!f||!("text"in f)||"string"!=typeof f.text)throw Error(`Lazy tool ${c} for ${b} is not textual`);return{text:f.text,entry:e.entry}}async function k(a,b,c){let f=new Map(b.map(a=>[a.id,a]));return Promise.all(a.map(async a=>{if(!a||"object"!=typeof a)return a;let b=a.toolPayloads;if(!b||0===Object.keys(b).length)return a;let g=f.get(a.id);if("assistant"===a.role&&Array.isArray(a.tool_calls)){let c=g?.role==="assistant"&&Array.isArray(g.tool_calls)?new Map(g.tool_calls.map(a=>[a.id,a])):new Map,d=await Promise.all(a.tool_calls.map(async a=>{let d=b[a.id]?.arguments;if(!d)return a;let e=c.get(a.id)?.function.arguments,f="string"==typeof e?e:(await j(d,a.id,"arguments")).text;return{...a,function:{...a.function,arguments:f}}})),e={...a,tool_calls:d};return delete e.toolPayloads,e}if("tool"===a.role&&"string"==typeof a.tool_call_id){let f=b[a.tool_call_id]?.result,h=a.content;if(f)if(g?.role==="tool"&&g.tool_call_id===a.tool_call_id&&"string"==typeof g.content)h=g.content;else{let b=await j(f,a.tool_call_id,"result"),g=await (0,d.jR)();h=(await (0,e.S)({conversationId:c,toolCallId:a.tool_call_id,server:b.entry.producedBy.server??"unknown",toolName:b.entry.producedBy.toolName??"unknown",nodeId:b.entry.producedBy.nodeId,content:b.text,settings:g})).content}let i={...a,content:h};return delete i.toolPayloads,i}let h={...a};return delete h.toolPayloads,h}))}},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},73496:a=>{a.exports=require("http2")},73560:(a,b,c)=>{c.d(b,{Th:()=>e});let d=["localhost","network","public"];function e(a=process.env){let b=a.FLUJO_EXPOSURE_MODE?.trim().toLowerCase();return"string"==typeof b&&d.includes(b)?b:function(a=process.env){return a.FLUJO_MCP_APP_SANDBOX_PUBLIC_URL?.trim()||a.FLUJO_MCP_APP_HOST_ORIGINS?.trim()?"public":a.FLUJO_EXTRA_LOCAL_HOSTS?.split(",").some(a=>a.trim().length>0&&"."!==a.trim())?"network":void 0}(a)??"localhost"}},73566:a=>{a.exports=require("worker_threads")},74075:a=>{a.exports=require("zlib")},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},77943:(a,b,c)=>{a.exports=c(7553).vendored["react-rsc"].ReactServerDOMWebpackServer},78474:a=>{a.exports=require("node:events")},79428:a=>{a.exports=require("buffer")},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},80099:a=>{a.exports=require("node:sqlite")},80481:a=>{a.exports=require("node:readline")},81630:a=>{a.exports=require("http")},83997:a=>{a.exports=require("tty")},84297:a=>{a.exports=require("async_hooks")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87182:(a,b,c)=>{c.d(b,{pZ:()=>l});var d=c(7986),e=c(66844),f=c(36103);let g=(0,e.h)("app/api/_workspace");class h extends Error{constructor(a,b){super(a),this.name="WorkspaceRequestError",this.status=b}}async function i(a){let b=function(a){let b=null;try{b=new URL(a.url).searchParams.get("workspace")}catch{}null===b&&(b=a.headers?.get?.("x-flujo-workspace")??null);try{return(0,d.normalizeWorkspaceName)(b)}catch(a){if(a instanceof d.InvalidWorkspaceNameError)throw new h("Invalid workspace name. Workspace names must match /^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$/.",400);throw a}}(a);try{await (0,f.DP)()}catch(a){throw g.error("Workspace layout is not ready; refusing workspace request",a),new h("Workspace storage is temporarily unavailable while its layout is being prepared.",503)}if(!await (0,d.workspaceExists)(b))throw new h(`Unknown workspace: ${b}`,404);return b}function j(a){return new Response(JSON.stringify({error:a.message}),{status:a.status,headers:{"Content-Type":"application/json",...503===a.status?{"Retry-After":"5"}:{}}})}async function k(a,b){let c;try{c=await i(a)}catch(a){if(a instanceof h)return j(a);throw a}return(0,d.runWithWorkspace)(c,async()=>{try{await (0,d.ensureWorkspaceDirs)(c)}catch(a){return g.error(`Workspace ${c} has an unsafe or unavailable storage layout`,a),j(new h(`Workspace storage is unavailable: ${c}`,503))}return b(c)})}function l(a){return async(b,...c)=>{let d=b instanceof Request?b:new Request("http://localhost/"),e=b??d;return k(d,()=>Promise.resolve(a(e,...c)))}}},87997:a=>{a.exports=require("node:timers")},91645:a=>{a.exports=require("net")},94735:a=>{a.exports=require("events")},98995:a=>{a.exports=require("node:module")}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,8440,6614,8775,4165,3133,1067,3078,1114,8619,531,7798,2126,2967],()=>b(b.s=12376));module.exports=c})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../../../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../../../../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../../../../../node_modules/@swc/helpers/package.json","../../../../../../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../../node_modules/next/dist/client/components/hooks-server-context.js","../../../../../../../node_modules/next/dist/client/components/static-generation-bailout.js","../../../../../../../node_modules/next/dist/client/lib/console.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../../node_modules/next/dist/compiled/source-map/package.json","../../../../../../../node_modules/next/dist/compiled/source-map/source-map.js","../../../../../../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../../../../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../../../../../node_modules/next/dist/compiled/ws/index.js","../../../../../../../node_modules/next/dist/compiled/ws/package.json","../../../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../../../node_modules/next/dist/lib/constants.js","../../../../../../../node_modules/next/dist/lib/framework/boundary-constants.js","../../../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../../../node_modules/next/dist/lib/is-error.js","../../../../../../../node_modules/next/dist/lib/picocolors.js","../../../../../../../node_modules/next/dist/lib/scheduler.js","../../../../../../../node_modules/next/dist/lib/semver-noop.js","../../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js","../../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../../../node_modules/next/dist/server/app-render/staged-rendering.js","../../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../../../../../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../../../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../../../../node_modules/next/dist/server/lib/parse-stack.js","../../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../../../node_modules/next/dist/server/lib/source-maps.js","../../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../../../../node_modules/next/dist/server/node-environment-baseline.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/date.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/random.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../../../../../node_modules/next/dist/server/node-environment.js","../../../../../../../node_modules/next/dist/server/node-polyfill-crypto.js","../../../../../../../node_modules/next/dist/server/patch-error-inspect.js","../../../../../../../node_modules/next/dist/server/require-hook.js","../../../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../../node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","../../../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../../../../node_modules/next/dist/shared/lib/segment.js","../../../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../../../node_modules/next/package.json","../../../../../../../node_modules/react/cjs/react.development.js","../../../../../../../node_modules/react/cjs/react.production.js","../../../../../../../node_modules/react/index.js","../../../../../../../node_modules/react/package.json","../../../../../../../package.json","../../../../../../../src/backend/services/mcp/internal/confinement.ts","../../../../../../../src/backend/services/mcp/internal/protectedPaths.ts","../../../../../../package.json","../../../../../chunks/1067.js","../../../../../chunks/1114.js","../../../../../chunks/1346.js","../../../../../chunks/1587.js","../../../../../chunks/1724.js","../../../../../chunks/1813.js","../../../../../chunks/2480.js","../../../../../chunks/2915.js","../../../../../chunks/2967.js","../../../../../chunks/3078.js","../../../../../chunks/3099.js","../../../../../chunks/3133.js","../../../../../chunks/3196.js","../../../../../chunks/4165.js","../../../../../chunks/4271.js","../../../../../chunks/4741.js","../../../../../chunks/531.js","../../../../../chunks/626.js","../../../../../chunks/6614.js","../../../../../chunks/7196.js","../../../../../chunks/7798.js","../../../../../chunks/8440.js","../../../../../chunks/8619.js","../../../../../chunks/8775.js","../../../../../chunks/8988.js","../../../../../chunks/9312.js","../../../../../chunks/9592.js","../../../../../chunks/9880.js","../../../../../webpack-runtime.js","route_client-reference-manifest.js"]}
1
+ {"version":1,"files":["../../../../../../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../../../../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../../../../../node_modules/@swc/helpers/package.json","../../../../../../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../../node_modules/next/dist/client/components/hooks-server-context.js","../../../../../../../node_modules/next/dist/client/components/static-generation-bailout.js","../../../../../../../node_modules/next/dist/client/lib/console.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../../node_modules/next/dist/compiled/source-map/package.json","../../../../../../../node_modules/next/dist/compiled/source-map/source-map.js","../../../../../../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../../../../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../../../../../node_modules/next/dist/compiled/ws/index.js","../../../../../../../node_modules/next/dist/compiled/ws/package.json","../../../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../../../node_modules/next/dist/lib/constants.js","../../../../../../../node_modules/next/dist/lib/framework/boundary-constants.js","../../../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../../../node_modules/next/dist/lib/is-error.js","../../../../../../../node_modules/next/dist/lib/picocolors.js","../../../../../../../node_modules/next/dist/lib/scheduler.js","../../../../../../../node_modules/next/dist/lib/semver-noop.js","../../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js","../../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../../../node_modules/next/dist/server/app-render/staged-rendering.js","../../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../../../../../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../../../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../../../../node_modules/next/dist/server/lib/parse-stack.js","../../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../../../node_modules/next/dist/server/lib/source-maps.js","../../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../../../../node_modules/next/dist/server/node-environment-baseline.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/date.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/random.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../../../../../node_modules/next/dist/server/node-environment.js","../../../../../../../node_modules/next/dist/server/node-polyfill-crypto.js","../../../../../../../node_modules/next/dist/server/patch-error-inspect.js","../../../../../../../node_modules/next/dist/server/require-hook.js","../../../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../../node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","../../../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../../../../node_modules/next/dist/shared/lib/segment.js","../../../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../../../node_modules/next/package.json","../../../../../../../node_modules/react/cjs/react.development.js","../../../../../../../node_modules/react/cjs/react.production.js","../../../../../../../node_modules/react/index.js","../../../../../../../node_modules/react/package.json","../../../../../../../package.json","../../../../../../../src/backend/services/mcp/internal/confinement.ts","../../../../../../../src/backend/services/mcp/internal/protectedPaths.ts","../../../../../../package.json","../../../../../chunks/1067.js","../../../../../chunks/1114.js","../../../../../chunks/1346.js","../../../../../chunks/1587.js","../../../../../chunks/1724.js","../../../../../chunks/1813.js","../../../../../chunks/2126.js","../../../../../chunks/2480.js","../../../../../chunks/2915.js","../../../../../chunks/2967.js","../../../../../chunks/3078.js","../../../../../chunks/3099.js","../../../../../chunks/3133.js","../../../../../chunks/3196.js","../../../../../chunks/4165.js","../../../../../chunks/4741.js","../../../../../chunks/531.js","../../../../../chunks/626.js","../../../../../chunks/6614.js","../../../../../chunks/7196.js","../../../../../chunks/7798.js","../../../../../chunks/8440.js","../../../../../chunks/8619.js","../../../../../chunks/8775.js","../../../../../chunks/8988.js","../../../../../chunks/9312.js","../../../../../chunks/9592.js","../../../../../chunks/9880.js","../../../../../webpack-runtime.js","route_client-reference-manifest.js"]}
@@ -1,2 +1,2 @@
1
1
  "use strict";(()=>{var a={};a.id=846,a.ids=[846,3099,4321,5111,6702,7492],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{a.exports=require("node:perf_hooks")},1708:a=>{a.exports=require("node:process")},1932:a=>{a.exports=require("url")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},3844:(a,b,c)=>{c.d(b,{TM:()=>e,wM:()=>f});var d=c(92967);function e(a){return`quickchat-${a}`}function f(a,b){if(!a?.conversationId)return{flow:null,error:"A conversationId is required."};if(!a.modelId||"string"!=typeof a.modelId)return{flow:null,error:"A model is required for a quick chat."};let c=function(a,b){if(b.some(b=>b.id===a))return a;let c=a.toLowerCase(),d=b.find(a=>a.displayName?.toLowerCase()===c);if(d)return d.id;let e=b.find(a=>a.name?.toLowerCase()===c);return e?e.id:null}(a.modelId,b.models);if(!c)return{flow:null,error:`Unknown model "${a.modelId}".`};let f=new Set(b.servers.map(a=>a.name)),g=b.serverTools??{},h=[],i=new Set;for(let b of a.servers??[]){let a,c=b?.name;if(!c||"string"!=typeof c)return{flow:null,error:"A selected server is missing its name."};if(!f.has(c))return{flow:null,error:`Unknown MCP server "${c}".`};if(i.has(c))continue;i.add(c);let d=g[c];if(Array.isArray(b.enabledTools)){let c=b.enabledTools.filter(a=>"string"==typeof a&&a);a=d?c.filter(a=>d.includes(a)):c}else a=d?[...d]:void 0;h.push({name:c,...a?{tools:a}:{}})}let j={name:"Quick Chat",nodes:[{key:"start",type:"start",label:"Start",...a.systemPrompt?{prompt:a.systemPrompt}:{}},{key:"chat",type:"process",label:"Chat",model:c,...h.length>0?{servers:h}:{}},{key:"finish",type:"finish",label:"Finish"}],edges:[{from:"start",to:"chat"},{from:"chat",to:"finish"}]},k=(0,d.dM)(j,{models:b.models,servers:b.servers,serverTools:g});return k.flow?(k.flow.id=e(a.conversationId),k.flow.name="Quick Chat",{flow:k.flow}):{flow:null,error:k.issues.filter(a=>"error"===a.severity).map(a=>a.message).join(" ")||"Could not synthesize a quick-chat flow."}}},4573:a=>{a.exports=require("node:buffer")},4984:a=>{a.exports=require("readline")},5738:(a,b,c)=>{c.d(b,{$:()=>m,v5:()=>l});var d=c(23211),e=c(73560);let f=new Set(["localhost","127.0.0.1","::1"]);function g(a){return a.toLowerCase().replace(/^\[|\]$/g,"")}function h(){let a=process.env.FLUJO_EXTRA_LOCAL_HOSTS;return a?a.split(",").map(a=>a.trim().toLowerCase()).filter(a=>a.length>0&&"."!==a):[]}function i(a){return h().some(b=>b.startsWith(".")?a.endsWith(b):a===b)}function j(){return"legacy"===process.env.FLUJO_EXPOSURE_MODE_SOURCE||!process.env.FLUJO_EXPOSURE_MODE&&h().length>0}function k(a,b){var c;let d,e,h=g(a);return!!f.has(h)||("public"===b?/^[a-z0-9._-]+$/i.test(h)||h.includes(":"):"network"===b?j()?i(h):function(a){let b=a.split(".");if(4!==b.length||b.some(a=>!/^\d{1,3}$/.test(a)))return!1;let c=b.map(Number);if(c.some(a=>a<0||a>255))return!1;let[d,e]=c;return 10===d||172===d&&e>=16&&e<=31||192===d&&168===e||169===d&&254===e}(c=h)||(d=c.toLowerCase()).startsWith("fc")||d.startsWith("fd")||/^fe[89ab]/.test(d)||(!(e=process.env.FLUJO_RUNTIME_LOCAL_HOSTS)?[]:e.split(",").map(a=>a.trim().toLowerCase()).filter(Boolean)).includes(c)||[".local",".lan",".home",".internal",".localdomain"].some(a=>c.endsWith(a)):j()&&i(h))}function l(a,b){let c=(0,e.Th)(),d=function(a){if(!a)return null;let b=a.trim();if(b.startsWith("[")){let a=b.indexOf("]");return a>0?b.slice(1,a):null}return b.split(":")[0]||null}(a);if(!d||!k(d,c))return!1;if(b)try{let a=g(new URL(b).hostname);if(!k(a,c)||("public"===c||"network"===c&&!j())&&a!==g(d)&&!(f.has(a)&&f.has(g(d))))return!1}catch{return!1}return!0}function m(a){return l(a.headers.get("host"),a.headers.get("origin"))?null:d.NextResponse.json({error:"Forbidden: this endpoint only accepts local requests."},{status:403})}},8086:a=>{a.exports=require("module")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11723:a=>{a.exports=require("querystring")},12412:a=>{a.exports=require("assert")},16698:a=>{a.exports=require("node:async_hooks")},17492:(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()},18705:(a,b,c)=>{c.d(b,{G:()=>m,V:()=>l,resolveGlobalVars:()=>k});var d=c(49796),e=c(66844),f=c(65445),g=c(74755),h=c(63078),i=c(24424);let j=(0,e.h)("backend/utils/resolveGlobalVars");async function k(a,b={}){j.debug("Entering resolveGlobalVars method");let c=!1!==b.resolveSecrets,d=await (0,f.loadItem)(g.Zg.GLOBAL_ENV_VARS,{}),e=function(a){if(!a||"object"!=typeof a)return!1;let b=Object.keys(a);if(0===b.length)return!0;let c=a[b[0]];return c&&"object"==typeof c&&"value"in c&&"metadata"in c&&"object"==typeof c.metadata&&"isSecret"in c.metadata}(d);j.debug(`Loaded ${Object.keys(d).length} global environment variables (${e?"new":"old"} format)`);let i={},l=new Set;if(e)for(let[a,b]of Object.entries(d))i[a]=b.value,b.metadata.isSecret&&l.add(a);else i={...d};let m=async a=>{let b=a.match(/\$\{global:([^}]+)\}/g);if(!b)return a;let d=a;for(let a of b){let b=a.substring(9,a.length-1);if(void 0!==i[b]){let e=i[b];if(!c&&(l.has(b)||e.startsWith("encrypted:")||e.startsWith("encrypted_failed:"))){j.debug(`Keeping secret global variable unresolved: ${b}`);continue}if(e.startsWith("encrypted:")){j.debug(`Decrypting encrypted global variable: ${b}`);try{let a=e.substring(10),c=await (0,h.decryptWithPassword)(a);if(c)e=c,j.debug(`Successfully decrypted global variable: ${b}`);else{j.warn(`Failed to decrypt global variable: ${b}`);continue}}catch(a){j.error(`Error decrypting global variable: ${b}`,a);continue}}else if(e.startsWith("encrypted_failed:")){j.warn(`Skipping failed encrypted global variable: ${b}`);continue}j.debug(`Resolved global variable: ${b}`),d=d.replace(a,e)}else j.warn(`Global variable not found: ${b}`)}return d},n=async a=>{if("string"==typeof a)return await m(a);if(Array.isArray(a))return await Promise.all(a.map(a=>n(a)));if(null!==a&&"object"==typeof a){let b={};for(let[c,d]of Object.entries(a))b[c]=await n(d);return b}return a},o=await n(a);return"object"==typeof a&&null!==a&&j.debug("Resolved global variables result:",JSON.stringify(o,null,2)),j.debug("Completed global variable resolution"),o}async function l(a){return k(a,{resolveSecrets:!1})}async function m(a,b=0){if(j.debug(`Entering resolveAndDecryptApiKey method (depth: ${b})`),!a)return j.warn("Empty value provided"),null;if(b>=10)return j.warn(`Maximum resolution depth reached (10) for value: ${a}`),a;let c=a;if(c.startsWith("encrypted:")){j.debug(`Decrypting encrypted value at depth ${b}`);try{let a=c.substring(10),d=await (0,h.decryptWithPassword)(a);if(!d)return j.warn(`Failed to decrypt value at depth ${b}`),null;j.debug(`Successfully decrypted value at depth ${b}`),j.verbose(d),c=d}catch(a){return j.error(`Error decrypting value at depth ${b}:`,a),null}}else c.startsWith("encrypted_failed:")&&(j.warn(`Skipping failed encrypted value at depth ${b}`),c=c.substring(17));if(c.includes("${global:")){j.debug(`Resolving global variables at depth ${b}`);try{let a=await k(c);if(j.verbose(a),a!==c)return j.debug(`Value changed after resolving globals at depth ${b}, processing recursively`),m(a,b+1);c=a}catch(a){return j.error(`Error resolving global variables at depth ${b}:`,a),null}}return j.debug(`Completed resolveAndDecryptApiKey at depth ${b}`),c}(0,i.D)([k,l,m]),(0,d.A)(k,"607793df0ea17d2b919c0fed894b6a3d928d219663",null),(0,d.A)(l,"405c2f3bec907fd31ca0ab15b319538c3df2266eed",null),(0,d.A)(m,"60f42344b32df2a3430af44b7a6ceaa86601eb8cbd",null)},19771:a=>{a.exports=require("process")},21820:a=>{a.exports=require("os")},24424:(a,b)=>{function c(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(b,"D",{enumerable:!0,get:function(){return c}})},27910:a=>{a.exports=require("stream")},27953:(a,b,c)=>{c.r(b),c.d(b,{"405c2f3bec907fd31ca0ab15b319538c3df2266eed":()=>d.V,"607793df0ea17d2b919c0fed894b6a3d928d219663":()=>d.resolveGlobalVars,"60f42344b32df2a3430af44b7a6ceaa86601eb8cbd":()=>d.G});var d=c(18705)},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},32467:a=>{a.exports=require("node:http2")},33873:a=>{a.exports=require("path")},34589:a=>{a.exports=require("node:assert")},34631:a=>{a.exports=require("tls")},36103:(a,b,c)=>{c.d(b,{DP:()=>i,Er:()=>f,FH:()=>e,Vc:()=>h,tv:()=>g});class d extends Error{constructor(){super("Workspace layout preparation has not started."),this.code="WORKSPACE_LAYOUT_NOT_STARTED",this.name="WorkspaceLayoutNotStartedError"}}function e(){return global.__flujo_workspace_migration_promise}function f(){return global.__flujo_workspace_layout_status??"not-started"}function g(a){global.__flujo_workspace_migration_promise=a,global.__flujo_workspace_layout_status=a?"preparing":"not-started",a&&a.then(()=>{global.__flujo_workspace_migration_promise===a&&(global.__flujo_workspace_layout_status="ready")},()=>{global.__flujo_workspace_migration_promise===a&&(global.__flujo_workspace_layout_status="failed")})}function h(a,b){global.__flujo_workspace_migration_promise===a&&(global.__flujo_workspace_migration_promise=void 0,global.__flujo_workspace_layout_status="failed")}async function i(){let a=e();if(!a)throw new d;await a}},37067:a=>{a.exports=require("node:http")},37540:a=>{a.exports=require("node:console")},37830:a=>{a.exports=require("node:stream/web")},38522:a=>{a.exports=require("node:zlib")},38813:(a,b,c)=>{c.d(b,{Wj:()=>h,ln:()=>g});var d=c(23211),e=c(63078);let f="encryption_locked";async function g(){return(0,e.isEncryptionLocked)()}async function h(a){return await g()?a?.openai?d.NextResponse.json({error:{message:"Encryption is locked. Unlock FLUJO to continue.",type:f,code:f,param:null}},{status:423}):d.NextResponse.json({error:f},{status:423}):null}},40610:a=>{a.exports=require("node:dns")},41204:a=>{a.exports=require("string_decoder")},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},44708:a=>{a.exports=require("node:https")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46466:a=>{a.exports=require("node:stream/promises")},46702:(a,b,c)=>{c.d(b,{eh:()=>i,ru:()=>g});var d=c(66844),e=c(7986);let f=(0,d.h)("backend/services/scheduler/flowRunEventBus");function g(a){return"signal"===a.kind}class h{publish(a){if(0===this.listeners.size)return;let b=g(a)?`signal topic=${a.topic} emitter=${a.emitterFlowId}`:`flow=${a.flowId} status=${a.status}`;for(let c of(f.debug(`Publishing flow event: ${b} firedBy=${a.firedBy} depth=${a.chainDepth} listeners=${this.listeners.size}`),[...this.listeners]))try{c(a)}catch(a){f.warn("A flow-run event listener threw:",a)}}subscribe(a){let b=(0,e.bindToCurrentWorkspace)(a);return this.listeners.add(b),()=>{this.listeners.delete(b)}}get listenerCount(){return this.listeners.size}constructor(){this.listeners=new Set}}function i(){let a=(0,e.getCurrentWorkspace)();if(a===e.DEFAULT_WORKSPACE)return global.__flujo_flow_run_event_bus||(global.__flujo_flow_run_event_bus=new h),global.__flujo_flow_run_event_bus;let b=global.__flujo_flow_run_event_buses_by_workspace??(global.__flujo_flow_run_event_buses_by_workspace=new Map),c=b.get(a);return c||(c=new h,b.set(a,c)),c}},48161:a=>{a.exports=require("node:os")},49796:(a,b,c)=>{Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(77943)},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57075:a=>{a.exports=require("node:stream")},57975:a=>{a.exports=require("node:util")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},73496:a=>{a.exports=require("http2")},73560:(a,b,c)=>{c.d(b,{Th:()=>e});let d=["localhost","network","public"];function e(a=process.env){let b=a.FLUJO_EXPOSURE_MODE?.trim().toLowerCase();return"string"==typeof b&&d.includes(b)?b:function(a=process.env){return a.FLUJO_MCP_APP_SANDBOX_PUBLIC_URL?.trim()||a.FLUJO_MCP_APP_HOST_ORIGINS?.trim()?"public":a.FLUJO_EXTRA_LOCAL_HOSTS?.split(",").some(a=>a.trim().length>0&&"."!==a.trim())?"network":void 0}(a)??"localhost"}},73566:a=>{a.exports=require("worker_threads")},74075:a=>{a.exports=require("zlib")},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},77943:(a,b,c)=>{a.exports=c(7553).vendored["react-rsc"].ReactServerDOMWebpackServer},78474:a=>{a.exports=require("node:events")},79428:a=>{a.exports=require("buffer")},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},80099:a=>{a.exports=require("node:sqlite")},80481:a=>{a.exports=require("node:readline")},81630:a=>{a.exports=require("http")},83997:a=>{a.exports=require("tty")},84297:a=>{a.exports=require("async_hooks")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87182:(a,b,c)=>{c.d(b,{pZ:()=>l});var d=c(7986),e=c(66844),f=c(36103);let g=(0,e.h)("app/api/_workspace");class h extends Error{constructor(a,b){super(a),this.name="WorkspaceRequestError",this.status=b}}async function i(a){let b=function(a){let b=null;try{b=new URL(a.url).searchParams.get("workspace")}catch{}null===b&&(b=a.headers?.get?.("x-flujo-workspace")??null);try{return(0,d.normalizeWorkspaceName)(b)}catch(a){if(a instanceof d.InvalidWorkspaceNameError)throw new h("Invalid workspace name. Workspace names must match /^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$/.",400);throw a}}(a);try{await (0,f.DP)()}catch(a){throw g.error("Workspace layout is not ready; refusing workspace request",a),new h("Workspace storage is temporarily unavailable while its layout is being prepared.",503)}if(!await (0,d.workspaceExists)(b))throw new h(`Unknown workspace: ${b}`,404);return b}function j(a){return new Response(JSON.stringify({error:a.message}),{status:a.status,headers:{"Content-Type":"application/json",...503===a.status?{"Retry-After":"5"}:{}}})}async function k(a,b){let c;try{c=await i(a)}catch(a){if(a instanceof h)return j(a);throw a}return(0,d.runWithWorkspace)(c,async()=>{try{await (0,d.ensureWorkspaceDirs)(c)}catch(a){return g.error(`Workspace ${c} has an unsafe or unavailable storage layout`,a),j(new h(`Workspace storage is unavailable: ${c}`,503))}return b(c)})}function l(a){return async(b,...c)=>{let d=b instanceof Request?b:new Request("http://localhost/"),e=b??d;return k(d,()=>Promise.resolve(a(e,...c)))}}},87997:a=>{a.exports=require("node:timers")},91645:a=>{a.exports=require("net")},93533:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>ag,patchFetch:()=>af,routeModule:()=>ab,serverHooks:()=>ae,workAsyncStorage:()=>ac,workUnitAsyncStorage:()=>ad});var d={};c.r(d),c.d(d,{DELETE:()=>aa,GET:()=>$,POST:()=>_});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(38813),w=c(5738),x=c(23211),y=c(29021),z=c(33873),A=c.n(z),B=c(66844),C=c(65445),D=c(7986),E=c(87182),F=c(51459),G=c(58605),H=c(84901),I=c(47798),J=c(3844),K=c(1230),L=c(68751),M=c(10031),N=c(10408),O=c(71114);class P extends Error{constructor(a){super(a),this.name="ConversationCursorError"}}function Q(a,b){return(b.lastUserMessageAt??b.updatedAt)-(a.lastUserMessageAt??a.updatedAt)||a.id.localeCompare(b.id)}function R(a,b,c){var d;let e=[...a].sort(Q),f=c?function(a){if(!a||a.length>512)throw new P("cursor must be a non-empty cursor returned by a previous request");try{let b=JSON.parse(Buffer.from(a,"base64url").toString("utf8"));if(1!==b.v||"number"!=typeof b.activityAt||!Number.isFinite(b.activityAt)||"string"!=typeof b.id||0===b.id.length)throw Error("invalid cursor payload");return b}catch{throw new P("cursor is invalid or malformed")}}(c):void 0,g=f?e.filter(a=>{let b=a.lastUserMessageAt??a.updatedAt;return b<f.activityAt||b===f.activityAt&&a.id.localeCompare(f.id)>0}):e,h=g.slice(0,b),i=g.length>h.length,j=h[h.length-1];return{items:h,total:e.length,hasMore:i,...i&&j?{nextCursor:(d={v:1,activityAt:j.lastUserMessageAt??j.updatedAt,id:j.id},Buffer.from(JSON.stringify(d),"utf8").toString("base64url"))}:{}}}let S=(0,B.h)("app/v1/chat/conversations/route"),T=new Map,U=a=>(0,D.workspaceCacheKey)("conversation-list-summary",a),V={chat:"chat user interactive",api:"api",schedule:"automation schedule planned execution",trigger:"trigger unattended",subflow:"subagent subflow child",mcp:"mcp run",internal:"internal",meeting:"meeting multi-flow",unknown:"unknown origin"};function W(a){return a.source??(a.parentConversationId?"subflow":a.plannedExecutionId?"schedule":"unknown")}async function X(a){let b=await (0,v.Wj)({openai:!0});if(b)return b;let c=(0,w.$)(a);if(c)return c;let d=Date.now(),e=`conv-list-${Date.now()}`;S.info("Handling GET request for conversation list",{requestId:e});let f=new URL(a.url),g=(f.searchParams.get("search")??"").trim(),h=f.searchParams.get("dimension")??"title",i="1"===f.searchParams.get("presence"),j="1"===f.searchParams.get("paged"),k=f.searchParams.get("limit"),l=f.searchParams.get("cursor")??void 0,m=(f.searchParams.get("origin")??"").trim(),n=(f.searchParams.get("descendantsOf")??"").trim(),o=new Set(["chat","schedule","subflow","meeting"]);if(m&&!o.has(m))return x.NextResponse.json({error:"invalid origin filter"},{status:400});if(n)try{(0,C.ln)(n)}catch{return x.NextResponse.json({error:"invalid ancestor conversation id"},{status:400})}if(g.length>256)return x.NextResponse.json({error:"search term too long (max 256 chars)"},{status:400});let p="content"===h&&g.length>0,q=g.toLowerCase(),r=50;if(null!==k){let a=Number(k);if(!Number.isInteger(a)||a<1||a>200)return x.NextResponse.json({error:"limit must be an integer between 1 and 200"},{status:400});r=a}let s=A().join((0,D.getWorkspaceDataDir)(),"db","conversations");S.debug("Conversations directory path",{requestId:e,path:s});try{let b=await y.promises.readdir(s);S.debug(`Found ${b.length} items in directory`,{requestId:e});let c=b.filter(a=>a.endsWith(".json"));if(S.debug(`Found ${c.length} JSON files`,{requestId:e}),i)return x.NextResponse.json({count:c.length});if(j&&!p){let a=await (0,N.Mw)(),b=g.toLocaleLowerCase(),c=b?new Map((await O.flowService.loadFlows()).map(a=>[a.id,a.name])):new Map,d=a.map(a=>{let b=H.FlowExecutor.conversationStates.get(a.id),c=b?.status??a.status;return"running"===c&&0===F.$.currentSeq(a.id)&&(c="error"),{...a,title:b?.title??a.title,flowId:b?.flowId??a.flowId,status:c,updatedAt:b?.updatedAt??a.updatedAt,lastUserMessageAt:b?.lastUserMessageAt??a.lastUserMessageAt??null,source:b?.source??a.source??null,plannedExecutionId:b?.plannedExecutionId??a.plannedExecutionId??null,parentConversationId:b?.parentConversationId??a.parentConversationId??null,rootConversationId:b?.rootConversationId??a.rootConversationId??null,recovery:b?.recovery??a.recovery}}).filter(a=>(function(a,b,c){if(!b)return!0;let d=a.source??(a.parentConversationId?"subflow":a.plannedExecutionId?"schedule":"unknown"),e=a.flowId?.startsWith("quickchat-")?"Quick Chat":a.flowId?c.get(a.flowId)??"":"No agent";return[a.id,a.title,a.flowId??"",e,d,V[d]??""].join(" ").toLocaleLowerCase().includes(b)})(a,b,c));if(m&&(d=d.filter(a=>W(a)===m)),n){let a=function(a,b){let c=new Map;for(let b of a){let a=b.parentConversationId;if(!a||a===b.id)continue;let d=c.get(a)??[];d.push(b.id),c.set(a,d)}let d=new Set,e=[...c.get(b)??[]];for(;e.length>0;){let a=e.pop();a===b||d.has(a)||(d.add(a),e.push(...c.get(a)??[]))}return d}(d,n);d=d.filter(b=>a.has(b.id))}try{return x.NextResponse.json(R(d,r,l))}catch(a){if(a instanceof P)return x.NextResponse.json({error:a.message},{status:400});throw a}}let f=c.map(async b=>{let c=A().join(s,b),d=b.replace(".json","");try{let f,g,h=await y.promises.stat(c),i=U(b),j=T.get(i);if(j&&j.mtimeMs===h.mtimeMs&&j.size===h.size&&!p)f=j.item;else{if(p&&h.size>8388608)return null;let b=p?await y.promises.readFile(c,{encoding:"utf-8",signal:a.signal}):await y.promises.readFile(c,"utf-8"),j=JSON.parse(b);g=j,await (0,M.aC)(`conversations/${j.conversationId||d}`,j),j.conversationId&&j.conversationId!==d&&S.warn(`Mismatch between filename ID (${d}) and state ID (${j.conversationId})`,{requestId:e,filePath:c}),f={id:j.conversationId||d,title:j.title||"Untitled Conversation",flowId:j.flowId||null,createdAt:j.createdAt||0,updatedAt:j.updatedAt||0,lastUserMessageAt:j.lastUserMessageAt??null,status:j.status,recovery:j.recovery,source:j.source??null,plannedExecutionId:j.plannedExecutionId??null,parentConversationId:j.parentConversationId??null,rootConversationId:j.rootConversationId??null},T.set(i,{mtimeMs:h.mtimeMs,size:h.size,item:f})}if(p&&(!g||!function(a,b){for(let c of Array.isArray(a?.messages)?a.messages:[]){let a=c?.content;if("string"==typeof a){if(a.toLowerCase().includes(b))return!0}else if(null!=a)try{if(JSON.stringify(a).toLowerCase().includes(b))return!0}catch{}}return!1}(g,q)))return null;let k=H.FlowExecutor.conversationStates.get(f.id),l=k?.status??f.status,m=k?.title??f.title,n=k?.updatedAt??f.updatedAt,o=k?.lastUserMessageAt??f.lastUserMessageAt??null,r=k?.source??f.source??null,s=k?.plannedExecutionId??f.plannedExecutionId??null;return"running"===l&&0===F.$.currentSeq(f.id)&&(S.warn(`Conversation ${f.id} is 'running' with no live run; reporting as interrupted ('error').`,{requestId:e}),l="error"),{...f,title:m,updatedAt:n,lastUserMessageAt:o,status:l,source:r,plannedExecutionId:s}}catch(f){if(a.signal.aborted||f?.name==="AbortError"||(S.error(`Error reading or parsing conversation file: ${b}`,{requestId:e,filePath:c,error:f}),p))return null;try{let a=await y.promises.stat(c);return{id:d,title:`Error Loading (${d})`,flowId:null,createdAt:a.birthtimeMs,updatedAt:a.mtimeMs,status:"error",plannedExecutionId:null,source:null}}catch(a){return S.error(`Could not get stats for errored file: ${b}`,{requestId:e,statError:a}),null}}}),h=await Promise.all(f),k=`${(0,D.workspaceCacheKey)("conversation-list-summary")}\0`,o=Array.from(T.keys()).filter(a=>a.startsWith(k)),t=new Set(c.map(U));for(let a of o)t.has(a)||T.delete(a);let u=h.filter(a=>null!==a);S.debug(`Successfully processed ${u.length} conversation files`,{requestId:e}),u.sort((a,b)=>(b.lastUserMessageAt??b.updatedAt)-(a.lastUserMessageAt??a.updatedAt));let v=Date.now()-d;if(S.info("Successfully retrieved conversation list",{requestId:e,count:u.length,duration:`${v}ms`}),j){let a=m?u.filter(a=>W(a)===m):u;try{return x.NextResponse.json(R(a,r,l))}catch(a){if(a instanceof P)return x.NextResponse.json({error:a.message},{status:400});throw a}}return x.NextResponse.json(u)}catch(b){let a=Date.now()-d;if(S.error("Error listing conversations",{requestId:e,error:b instanceof Error?{name:b.name,message:b.message,stack:b.stack,code:b.code}:b,duration:`${a}ms`}),"ENOENT"===b.code){if(S.warn("Conversations directory does not exist, returning empty list.",{requestId:e,path:s}),i)return x.NextResponse.json({count:0});if(j)return x.NextResponse.json({items:[],total:0,hasMore:!1});return x.NextResponse.json([])}return x.NextResponse.json({error:"Failed to list conversations"},{status:500})}}async function Y(a){let b,c=await (0,v.Wj)({openai:!0});if(c)return c;let d=(0,w.$)(a);if(d)return d;let e=Date.now(),f=`conv-create-${Date.now()}`;S.info("Handling POST request to create conversation",{requestId:f});try{b=await a.json(),S.debug("Received payload",{requestId:f,payload:JSON.stringify(b)})}catch(a){return S.warn("Invalid JSON in request body",{requestId:f,error:a}),x.NextResponse.json({error:"Invalid request body: Must be valid JSON"},{status:400})}if(!b||"object"!=typeof b)return x.NextResponse.json({error:"Invalid request body: Must be an object"},{status:400});if(!b.id||"string"!=typeof b.id)return x.NextResponse.json({error:'Invalid request body: Missing or invalid "id" (string)'},{status:400});try{(0,C.ln)(b.id)}catch{return x.NextResponse.json({error:'Invalid request body: "id" must match ^[A-Za-z0-9_-]{1,64}$'},{status:400})}if(b.title&&"string"==typeof b.title||(b.title=K.t6,S.warn("Missing title in payload, using default",{requestId:f,conversationId:b.id})),"string"!=typeof b.flowId||!b.flowId)return x.NextResponse.json({error:'Invalid request body: Missing or invalid "flowId" (must be a non-empty string)'},{status:400});if("number"!=typeof b.createdAt||"number"!=typeof b.updatedAt){S.warn("Missing or invalid timestamps in payload, using current time",{requestId:f,conversationId:b.id});let a=Date.now();b.createdAt=b.createdAt||a,b.updatedAt=b.updatedAt||a}let g=b.id;(0,G.unmarkConversationDeleted)(g);let h=A().join((0,D.getWorkspaceDataDir)(),"db","conversations"),i=A().join(h,`${g}.json`);try{await y.promises.mkdir(h,{recursive:!0});try{await y.promises.access(i),S.warn("Conversation file already exists, potentially overwriting",{requestId:f,conversationId:g,filePath:i})}catch(a){if("ENOENT"!==a.code)throw a}let a={conversationId:g,title:b.title,flowId:b.flowId,...b.flowSnapshot?{flowSnapshot:b.flowSnapshot}:{},trackingInfo:{executionId:`exec-${g}-${e}`,startTime:e,nodeExecutionTracker:[]},messages:[],status:void 0,createdAt:b.createdAt,source:"chat",updatedAt:b.updatedAt};await (0,C.Vt)("conversations",g,a),await (0,N.CW)(g,a),S.info("Successfully saved initial state for conversation",{requestId:f,conversationId:g,filePath:i});let c={id:a.conversationId,title:a.title,flowId:a.flowId,createdAt:a.createdAt,updatedAt:a.updatedAt,status:a.status,source:a.source},d=Date.now()-e;return S.info("Successfully created conversation",{requestId:f,conversationId:g,duration:`${d}ms`}),x.NextResponse.json(c,{status:201})}catch(b){let a=Date.now()-e;return S.error("Error creating conversation",{requestId:f,conversationId:g,error:b instanceof Error?{name:b.name,message:b.message,stack:b.stack}:b,duration:`${a}ms`}),x.NextResponse.json({error:"Failed to create conversation state"},{status:500})}}async function Z(a){let b,c=await (0,v.Wj)({openai:!0});if(c)return c;let d=(0,w.$)(a);if(d)return d;let e=`conv-bulk-delete-${Date.now()}`;S.info("Handling bulk DELETE request",{requestId:e});try{b=await a.json()}catch{return x.NextResponse.json({error:"Invalid JSON body"},{status:400})}if(!Array.isArray(b?.ids)||0===b.ids.length)return x.NextResponse.json({error:"Body must be { ids: string[] } with at least one id"},{status:400});let f=/^[A-Za-z0-9_-]{1,64}$/,g=0,h=0;return await Promise.all(b.ids.map(async a=>{if("string"!=typeof a||!f.test(a))return void h++;try{(0,G.markConversationDeleted)(a);let b=H.FlowExecutor.conversationStates.get(a);b&&(b.isCancelled=!0,"running"!==b.status&&H.FlowExecutor.conversationStates.delete(a)),await (0,C.bB)("conversations",a),await (0,L.RU)(a),await (0,I.iQ)(a),await (0,N.lp)(a),H.FlowExecutor.clearFlowCache((0,J.TM)(a)),g++}catch(b){(0,G.unmarkConversationDeleted)(a),S.error("Failed to delete conversation in bulk",{requestId:e,id:a,err:b}),h++}})),S.info("Bulk DELETE complete",{requestId:e,deleted:g,errors:h}),x.NextResponse.json({deleted:g,errors:h},{status:200})}let $=(0,E.pZ)(X),_=(0,E.pZ)(Y),aa=(0,E.pZ)(Z),ab=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/v1/chat/conversations/route",pathname:"/v1/chat/conversations",filename:"route",bundlePath:"app/v1/chat/conversations/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\src\\app\\v1\\chat\\conversations\\route.ts",nextConfigOutput:"",userland:d,...{}}),{workAsyncStorage:ac,workUnitAsyncStorage:ad,serverHooks:ae}=ab;function af(){return(0,g.patchFetch)({workAsyncStorage:ac,workUnitAsyncStorage:ad})}async function ag(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),ab.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/v1/chat/conversations/route";"/index"===d&&(d="/");let e=await ab.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(I&&!z){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||ab.isDev||z||(K="/index"===(K=E)?"/":K);let L=!0===ab.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await ab.getIncrementalCache(a,x,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>ab.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>ab.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await ab.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await ab.handleResponse({req:a,nextConfig:x,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await ab.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}},94735:a=>{a.exports=require("events")},98995:a=>{a.exports=require("node:module")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,8440,6614,8775,4165,3133,1067,3078,1114,8619,7798,531,4271,2967],()=>b(b.s=93533));module.exports=c})();
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(b,"D",{enumerable:!0,get:function(){return c}})},27910:a=>{a.exports=require("stream")},27953:(a,b,c)=>{c.r(b),c.d(b,{"405c2f3bec907fd31ca0ab15b319538c3df2266eed":()=>d.V,"607793df0ea17d2b919c0fed894b6a3d928d219663":()=>d.resolveGlobalVars,"60f42344b32df2a3430af44b7a6ceaa86601eb8cbd":()=>d.G});var d=c(18705)},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},32467:a=>{a.exports=require("node:http2")},33873:a=>{a.exports=require("path")},34589:a=>{a.exports=require("node:assert")},34631:a=>{a.exports=require("tls")},36103:(a,b,c)=>{c.d(b,{DP:()=>i,Er:()=>f,FH:()=>e,Vc:()=>h,tv:()=>g});class d extends Error{constructor(){super("Workspace layout preparation has not started."),this.code="WORKSPACE_LAYOUT_NOT_STARTED",this.name="WorkspaceLayoutNotStartedError"}}function e(){return global.__flujo_workspace_migration_promise}function f(){return global.__flujo_workspace_layout_status??"not-started"}function g(a){global.__flujo_workspace_migration_promise=a,global.__flujo_workspace_layout_status=a?"preparing":"not-started",a&&a.then(()=>{global.__flujo_workspace_migration_promise===a&&(global.__flujo_workspace_layout_status="ready")},()=>{global.__flujo_workspace_migration_promise===a&&(global.__flujo_workspace_layout_status="failed")})}function h(a,b){global.__flujo_workspace_migration_promise===a&&(global.__flujo_workspace_migration_promise=void 0,global.__flujo_workspace_layout_status="failed")}async function i(){let a=e();if(!a)throw new d;await a}},37067:a=>{a.exports=require("node:http")},37540:a=>{a.exports=require("node:console")},37830:a=>{a.exports=require("node:stream/web")},38522:a=>{a.exports=require("node:zlib")},38813:(a,b,c)=>{c.d(b,{Wj:()=>h,ln:()=>g});var d=c(23211),e=c(63078);let f="encryption_locked";async function g(){return(0,e.isEncryptionLocked)()}async function h(a){return await g()?a?.openai?d.NextResponse.json({error:{message:"Encryption is locked. Unlock FLUJO to continue.",type:f,code:f,param:null}},{status:423}):d.NextResponse.json({error:f},{status:423}):null}},40610:a=>{a.exports=require("node:dns")},41204:a=>{a.exports=require("string_decoder")},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},44708:a=>{a.exports=require("node:https")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46466:a=>{a.exports=require("node:stream/promises")},46702:(a,b,c)=>{c.d(b,{eh:()=>i,ru:()=>g});var d=c(66844),e=c(7986);let f=(0,d.h)("backend/services/scheduler/flowRunEventBus");function g(a){return"signal"===a.kind}class h{publish(a){if(0===this.listeners.size)return;let b=g(a)?`signal topic=${a.topic} emitter=${a.emitterFlowId}`:`flow=${a.flowId} status=${a.status}`;for(let c of(f.debug(`Publishing flow event: ${b} firedBy=${a.firedBy} depth=${a.chainDepth} listeners=${this.listeners.size}`),[...this.listeners]))try{c(a)}catch(a){f.warn("A flow-run event listener threw:",a)}}subscribe(a){let b=(0,e.bindToCurrentWorkspace)(a);return this.listeners.add(b),()=>{this.listeners.delete(b)}}get listenerCount(){return this.listeners.size}constructor(){this.listeners=new Set}}function i(){let a=(0,e.getCurrentWorkspace)();if(a===e.DEFAULT_WORKSPACE)return global.__flujo_flow_run_event_bus||(global.__flujo_flow_run_event_bus=new h),global.__flujo_flow_run_event_bus;let b=global.__flujo_flow_run_event_buses_by_workspace??(global.__flujo_flow_run_event_buses_by_workspace=new Map),c=b.get(a);return c||(c=new h,b.set(a,c)),c}},48161:a=>{a.exports=require("node:os")},49796:(a,b,c)=>{Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(77943)},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57075:a=>{a.exports=require("node:stream")},57975:a=>{a.exports=require("node:util")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},73496:a=>{a.exports=require("http2")},73560:(a,b,c)=>{c.d(b,{Th:()=>e});let d=["localhost","network","public"];function e(a=process.env){let b=a.FLUJO_EXPOSURE_MODE?.trim().toLowerCase();return"string"==typeof b&&d.includes(b)?b:function(a=process.env){return a.FLUJO_MCP_APP_SANDBOX_PUBLIC_URL?.trim()||a.FLUJO_MCP_APP_HOST_ORIGINS?.trim()?"public":a.FLUJO_EXTRA_LOCAL_HOSTS?.split(",").some(a=>a.trim().length>0&&"."!==a.trim())?"network":void 0}(a)??"localhost"}},73566:a=>{a.exports=require("worker_threads")},74075:a=>{a.exports=require("zlib")},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},77943:(a,b,c)=>{a.exports=c(7553).vendored["react-rsc"].ReactServerDOMWebpackServer},78474:a=>{a.exports=require("node:events")},79428:a=>{a.exports=require("buffer")},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},80099:a=>{a.exports=require("node:sqlite")},80481:a=>{a.exports=require("node:readline")},81630:a=>{a.exports=require("http")},83997:a=>{a.exports=require("tty")},84297:a=>{a.exports=require("async_hooks")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87182:(a,b,c)=>{c.d(b,{pZ:()=>l});var d=c(7986),e=c(66844),f=c(36103);let g=(0,e.h)("app/api/_workspace");class h extends Error{constructor(a,b){super(a),this.name="WorkspaceRequestError",this.status=b}}async function i(a){let b=function(a){let b=null;try{b=new URL(a.url).searchParams.get("workspace")}catch{}null===b&&(b=a.headers?.get?.("x-flujo-workspace")??null);try{return(0,d.normalizeWorkspaceName)(b)}catch(a){if(a instanceof d.InvalidWorkspaceNameError)throw new h("Invalid workspace name. Workspace names must match /^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$/.",400);throw a}}(a);try{await (0,f.DP)()}catch(a){throw g.error("Workspace layout is not ready; refusing workspace request",a),new h("Workspace storage is temporarily unavailable while its layout is being prepared.",503)}if(!await (0,d.workspaceExists)(b))throw new h(`Unknown workspace: ${b}`,404);return b}function j(a){return new Response(JSON.stringify({error:a.message}),{status:a.status,headers:{"Content-Type":"application/json",...503===a.status?{"Retry-After":"5"}:{}}})}async function k(a,b){let c;try{c=await i(a)}catch(a){if(a instanceof h)return j(a);throw a}return(0,d.runWithWorkspace)(c,async()=>{try{await (0,d.ensureWorkspaceDirs)(c)}catch(a){return g.error(`Workspace ${c} has an unsafe or unavailable storage layout`,a),j(new h(`Workspace storage is unavailable: ${c}`,503))}return b(c)})}function l(a){return async(b,...c)=>{let d=b instanceof Request?b:new Request("http://localhost/"),e=b??d;return k(d,()=>Promise.resolve(a(e,...c)))}}},87997:a=>{a.exports=require("node:timers")},91645:a=>{a.exports=require("net")},93533:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>ag,patchFetch:()=>af,routeModule:()=>ab,serverHooks:()=>ae,workAsyncStorage:()=>ac,workUnitAsyncStorage:()=>ad});var d={};c.r(d),c.d(d,{DELETE:()=>aa,GET:()=>$,POST:()=>_});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(38813),w=c(5738),x=c(23211),y=c(29021),z=c(33873),A=c.n(z),B=c(66844),C=c(65445),D=c(7986),E=c(87182),F=c(51459),G=c(58605),H=c(84901),I=c(47798),J=c(3844),K=c(1230),L=c(68751),M=c(10031),N=c(10408),O=c(71114);class P extends Error{constructor(a){super(a),this.name="ConversationCursorError"}}function Q(a,b){return(b.lastUserMessageAt??b.updatedAt)-(a.lastUserMessageAt??a.updatedAt)||a.id.localeCompare(b.id)}function R(a,b,c){var d;let e=[...a].sort(Q),f=c?function(a){if(!a||a.length>512)throw new P("cursor must be a non-empty cursor returned by a previous request");try{let b=JSON.parse(Buffer.from(a,"base64url").toString("utf8"));if(1!==b.v||"number"!=typeof b.activityAt||!Number.isFinite(b.activityAt)||"string"!=typeof b.id||0===b.id.length)throw Error("invalid cursor payload");return b}catch{throw new P("cursor is invalid or malformed")}}(c):void 0,g=f?e.filter(a=>{let b=a.lastUserMessageAt??a.updatedAt;return b<f.activityAt||b===f.activityAt&&a.id.localeCompare(f.id)>0}):e,h=g.slice(0,b),i=g.length>h.length,j=h[h.length-1];return{items:h,total:e.length,hasMore:i,...i&&j?{nextCursor:(d={v:1,activityAt:j.lastUserMessageAt??j.updatedAt,id:j.id},Buffer.from(JSON.stringify(d),"utf8").toString("base64url"))}:{}}}let S=(0,B.h)("app/v1/chat/conversations/route"),T=new Map,U=a=>(0,D.workspaceCacheKey)("conversation-list-summary",a),V={chat:"chat user interactive",api:"api",schedule:"automation schedule planned execution",trigger:"trigger unattended",subflow:"subagent subflow child",mcp:"mcp run",internal:"internal",meeting:"meeting multi-flow",unknown:"unknown origin"};function W(a){return a.source??(a.parentConversationId?"subflow":a.plannedExecutionId?"schedule":"unknown")}async function X(a){let b=await (0,v.Wj)({openai:!0});if(b)return b;let c=(0,w.$)(a);if(c)return c;let d=Date.now(),e=`conv-list-${Date.now()}`;S.info("Handling GET request for conversation list",{requestId:e});let f=new URL(a.url),g=(f.searchParams.get("search")??"").trim(),h=f.searchParams.get("dimension")??"title",i="1"===f.searchParams.get("presence"),j="1"===f.searchParams.get("paged"),k=f.searchParams.get("limit"),l=f.searchParams.get("cursor")??void 0,m=(f.searchParams.get("origin")??"").trim(),n=(f.searchParams.get("descendantsOf")??"").trim(),o=new Set(["chat","schedule","subflow","meeting"]);if(m&&!o.has(m))return x.NextResponse.json({error:"invalid origin filter"},{status:400});if(n)try{(0,C.ln)(n)}catch{return x.NextResponse.json({error:"invalid ancestor conversation id"},{status:400})}if(g.length>256)return x.NextResponse.json({error:"search term too long (max 256 chars)"},{status:400});let p="content"===h&&g.length>0,q=g.toLowerCase(),r=50;if(null!==k){let a=Number(k);if(!Number.isInteger(a)||a<1||a>200)return x.NextResponse.json({error:"limit must be an integer between 1 and 200"},{status:400});r=a}let s=A().join((0,D.getWorkspaceDataDir)(),"db","conversations");S.debug("Conversations directory path",{requestId:e,path:s});try{let b=await y.promises.readdir(s);S.debug(`Found ${b.length} items in directory`,{requestId:e});let c=b.filter(a=>a.endsWith(".json"));if(S.debug(`Found ${c.length} JSON files`,{requestId:e}),i)return x.NextResponse.json({count:c.length});if(j&&!p){let a=await (0,N.Mw)(),b=g.toLocaleLowerCase(),c=b?new Map((await O.flowService.loadFlows()).map(a=>[a.id,a.name])):new Map,d=a.map(a=>{let b=H.FlowExecutor.conversationStates.get(a.id),c=b?.status??a.status;return"running"===c&&0===F.$.currentSeq(a.id)&&(c="error"),{...a,title:b?.title??a.title,flowId:b?.flowId??a.flowId,status:c,updatedAt:b?.updatedAt??a.updatedAt,lastUserMessageAt:b?.lastUserMessageAt??a.lastUserMessageAt??null,source:b?.source??a.source??null,plannedExecutionId:b?.plannedExecutionId??a.plannedExecutionId??null,parentConversationId:b?.parentConversationId??a.parentConversationId??null,rootConversationId:b?.rootConversationId??a.rootConversationId??null,recovery:b?.recovery??a.recovery}}).filter(a=>(function(a,b,c){if(!b)return!0;let d=a.source??(a.parentConversationId?"subflow":a.plannedExecutionId?"schedule":"unknown"),e=a.flowId?.startsWith("quickchat-")?"Quick Chat":a.flowId?c.get(a.flowId)??"":"No agent";return[a.id,a.title,a.flowId??"",e,d,V[d]??""].join(" ").toLocaleLowerCase().includes(b)})(a,b,c));if(m&&(d=d.filter(a=>W(a)===m)),n){let a=function(a,b){let c=new Map;for(let b of a){let a=b.parentConversationId;if(!a||a===b.id)continue;let d=c.get(a)??[];d.push(b.id),c.set(a,d)}let d=new Set,e=[...c.get(b)??[]];for(;e.length>0;){let a=e.pop();a===b||d.has(a)||(d.add(a),e.push(...c.get(a)??[]))}return d}(d,n);d=d.filter(b=>a.has(b.id))}try{return x.NextResponse.json(R(d,r,l))}catch(a){if(a instanceof P)return x.NextResponse.json({error:a.message},{status:400});throw a}}let f=c.map(async b=>{let c=A().join(s,b),d=b.replace(".json","");try{let f,g,h=await y.promises.stat(c),i=U(b),j=T.get(i);if(j&&j.mtimeMs===h.mtimeMs&&j.size===h.size&&!p)f=j.item;else{if(p&&h.size>8388608)return null;let b=p?await y.promises.readFile(c,{encoding:"utf-8",signal:a.signal}):await y.promises.readFile(c,"utf-8"),j=JSON.parse(b);g=j,await (0,M.aC)(`conversations/${j.conversationId||d}`,j),j.conversationId&&j.conversationId!==d&&S.warn(`Mismatch between filename ID (${d}) and state ID (${j.conversationId})`,{requestId:e,filePath:c}),f={id:j.conversationId||d,title:j.title||"Untitled Conversation",flowId:j.flowId||null,createdAt:j.createdAt||0,updatedAt:j.updatedAt||0,lastUserMessageAt:j.lastUserMessageAt??null,status:j.status,recovery:j.recovery,source:j.source??null,plannedExecutionId:j.plannedExecutionId??null,parentConversationId:j.parentConversationId??null,rootConversationId:j.rootConversationId??null},T.set(i,{mtimeMs:h.mtimeMs,size:h.size,item:f})}if(p&&(!g||!function(a,b){for(let c of Array.isArray(a?.messages)?a.messages:[]){let a=c?.content;if("string"==typeof a){if(a.toLowerCase().includes(b))return!0}else if(null!=a)try{if(JSON.stringify(a).toLowerCase().includes(b))return!0}catch{}}return!1}(g,q)))return null;let k=H.FlowExecutor.conversationStates.get(f.id),l=k?.status??f.status,m=k?.title??f.title,n=k?.updatedAt??f.updatedAt,o=k?.lastUserMessageAt??f.lastUserMessageAt??null,r=k?.source??f.source??null,s=k?.plannedExecutionId??f.plannedExecutionId??null;return"running"===l&&0===F.$.currentSeq(f.id)&&(S.warn(`Conversation ${f.id} is 'running' with no live run; reporting as interrupted ('error').`,{requestId:e}),l="error"),{...f,title:m,updatedAt:n,lastUserMessageAt:o,status:l,source:r,plannedExecutionId:s}}catch(f){if(a.signal.aborted||f?.name==="AbortError"||(S.error(`Error reading or parsing conversation file: ${b}`,{requestId:e,filePath:c,error:f}),p))return null;try{let a=await y.promises.stat(c);return{id:d,title:`Error Loading (${d})`,flowId:null,createdAt:a.birthtimeMs,updatedAt:a.mtimeMs,status:"error",plannedExecutionId:null,source:null}}catch(a){return S.error(`Could not get stats for errored file: ${b}`,{requestId:e,statError:a}),null}}}),h=await Promise.all(f),k=`${(0,D.workspaceCacheKey)("conversation-list-summary")}\0`,o=Array.from(T.keys()).filter(a=>a.startsWith(k)),t=new Set(c.map(U));for(let a of o)t.has(a)||T.delete(a);let u=h.filter(a=>null!==a);S.debug(`Successfully processed ${u.length} conversation files`,{requestId:e}),u.sort((a,b)=>(b.lastUserMessageAt??b.updatedAt)-(a.lastUserMessageAt??a.updatedAt));let v=Date.now()-d;if(S.info("Successfully retrieved conversation list",{requestId:e,count:u.length,duration:`${v}ms`}),j){let a=m?u.filter(a=>W(a)===m):u;try{return x.NextResponse.json(R(a,r,l))}catch(a){if(a instanceof P)return x.NextResponse.json({error:a.message},{status:400});throw a}}return x.NextResponse.json(u)}catch(b){let a=Date.now()-d;if(S.error("Error listing conversations",{requestId:e,error:b instanceof Error?{name:b.name,message:b.message,stack:b.stack,code:b.code}:b,duration:`${a}ms`}),"ENOENT"===b.code){if(S.warn("Conversations directory does not exist, returning empty list.",{requestId:e,path:s}),i)return x.NextResponse.json({count:0});if(j)return x.NextResponse.json({items:[],total:0,hasMore:!1});return x.NextResponse.json([])}return x.NextResponse.json({error:"Failed to list conversations"},{status:500})}}async function Y(a){let b,c=await (0,v.Wj)({openai:!0});if(c)return c;let d=(0,w.$)(a);if(d)return d;let e=Date.now(),f=`conv-create-${Date.now()}`;S.info("Handling POST request to create conversation",{requestId:f});try{b=await a.json(),S.debug("Received payload",{requestId:f,payload:JSON.stringify(b)})}catch(a){return S.warn("Invalid JSON in request body",{requestId:f,error:a}),x.NextResponse.json({error:"Invalid request body: Must be valid JSON"},{status:400})}if(!b||"object"!=typeof b)return x.NextResponse.json({error:"Invalid request body: Must be an object"},{status:400});if(!b.id||"string"!=typeof b.id)return x.NextResponse.json({error:'Invalid request body: Missing or invalid "id" (string)'},{status:400});try{(0,C.ln)(b.id)}catch{return x.NextResponse.json({error:'Invalid request body: "id" must match ^[A-Za-z0-9_-]{1,64}$'},{status:400})}if(b.title&&"string"==typeof b.title||(b.title=K.t6,S.warn("Missing title in payload, using default",{requestId:f,conversationId:b.id})),"string"!=typeof b.flowId||!b.flowId)return x.NextResponse.json({error:'Invalid request body: Missing or invalid "flowId" (must be a non-empty string)'},{status:400});if("number"!=typeof b.createdAt||"number"!=typeof b.updatedAt){S.warn("Missing or invalid timestamps in payload, using current time",{requestId:f,conversationId:b.id});let a=Date.now();b.createdAt=b.createdAt||a,b.updatedAt=b.updatedAt||a}let g=b.id;(0,G.unmarkConversationDeleted)(g);let h=A().join((0,D.getWorkspaceDataDir)(),"db","conversations"),i=A().join(h,`${g}.json`);try{await y.promises.mkdir(h,{recursive:!0});try{await y.promises.access(i),S.warn("Conversation file already exists, potentially overwriting",{requestId:f,conversationId:g,filePath:i})}catch(a){if("ENOENT"!==a.code)throw a}let a={conversationId:g,title:b.title,flowId:b.flowId,...b.flowSnapshot?{flowSnapshot:b.flowSnapshot}:{},trackingInfo:{executionId:`exec-${g}-${e}`,startTime:e,nodeExecutionTracker:[]},messages:[],status:void 0,createdAt:b.createdAt,source:"chat",updatedAt:b.updatedAt};await (0,C.Vt)("conversations",g,a),await (0,N.CW)(g,a),S.info("Successfully saved initial state for conversation",{requestId:f,conversationId:g,filePath:i});let c={id:a.conversationId,title:a.title,flowId:a.flowId,createdAt:a.createdAt,updatedAt:a.updatedAt,status:a.status,source:a.source},d=Date.now()-e;return S.info("Successfully created conversation",{requestId:f,conversationId:g,duration:`${d}ms`}),x.NextResponse.json(c,{status:201})}catch(b){let a=Date.now()-e;return S.error("Error creating conversation",{requestId:f,conversationId:g,error:b instanceof Error?{name:b.name,message:b.message,stack:b.stack}:b,duration:`${a}ms`}),x.NextResponse.json({error:"Failed to create conversation state"},{status:500})}}async function Z(a){let b,c=await (0,v.Wj)({openai:!0});if(c)return c;let d=(0,w.$)(a);if(d)return d;let e=`conv-bulk-delete-${Date.now()}`;S.info("Handling bulk DELETE request",{requestId:e});try{b=await a.json()}catch{return x.NextResponse.json({error:"Invalid JSON body"},{status:400})}if(!Array.isArray(b?.ids)||0===b.ids.length)return x.NextResponse.json({error:"Body must be { ids: string[] } with at least one id"},{status:400});let f=/^[A-Za-z0-9_-]{1,64}$/,g=0,h=0;return await Promise.all(b.ids.map(async a=>{if("string"!=typeof a||!f.test(a))return void h++;try{(0,G.markConversationDeleted)(a);let b=H.FlowExecutor.conversationStates.get(a);b&&(b.isCancelled=!0,"running"!==b.status&&H.FlowExecutor.conversationStates.delete(a)),await (0,C.bB)("conversations",a),await (0,L.RU)(a),await (0,I.iQ)(a),await (0,N.lp)(a),H.FlowExecutor.clearFlowCache((0,J.TM)(a)),g++}catch(b){(0,G.unmarkConversationDeleted)(a),S.error("Failed to delete conversation in bulk",{requestId:e,id:a,err:b}),h++}})),S.info("Bulk DELETE complete",{requestId:e,deleted:g,errors:h}),x.NextResponse.json({deleted:g,errors:h},{status:200})}let $=(0,E.pZ)(X),_=(0,E.pZ)(Y),aa=(0,E.pZ)(Z),ab=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/v1/chat/conversations/route",pathname:"/v1/chat/conversations",filename:"route",bundlePath:"app/v1/chat/conversations/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\src\\app\\v1\\chat\\conversations\\route.ts",nextConfigOutput:"",userland:d,...{}}),{workAsyncStorage:ac,workUnitAsyncStorage:ad,serverHooks:ae}=ab;function af(){return(0,g.patchFetch)({workAsyncStorage:ac,workUnitAsyncStorage:ad})}async function ag(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),ab.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/v1/chat/conversations/route";"/index"===d&&(d="/");let e=await ab.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(I&&!z){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||ab.isDev||z||(K="/index"===(K=E)?"/":K);let L=!0===ab.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await ab.getIncrementalCache(a,x,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>ab.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>ab.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await ab.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await ab.handleResponse({req:a,nextConfig:x,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await ab.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}},94735:a=>{a.exports=require("events")},98995:a=>{a.exports=require("node:module")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,8440,6614,8775,4165,3133,1067,3078,1114,8619,531,7798,2126,2967],()=>b(b.s=93533));module.exports=c})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../../../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../../../../node_modules/@swc/helpers/package.json","../../../../../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../node_modules/next/dist/client/components/hooks-server-context.js","../../../../../../node_modules/next/dist/client/components/static-generation-bailout.js","../../../../../../node_modules/next/dist/client/lib/console.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/source-map/package.json","../../../../../../node_modules/next/dist/compiled/source-map/source-map.js","../../../../../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../../../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../../../../node_modules/next/dist/compiled/ws/index.js","../../../../../../node_modules/next/dist/compiled/ws/package.json","../../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../../node_modules/next/dist/lib/constants.js","../../../../../../node_modules/next/dist/lib/framework/boundary-constants.js","../../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../../node_modules/next/dist/lib/is-error.js","../../../../../../node_modules/next/dist/lib/picocolors.js","../../../../../../node_modules/next/dist/lib/scheduler.js","../../../../../../node_modules/next/dist/lib/semver-noop.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js","../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../../node_modules/next/dist/server/app-render/staged-rendering.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../../../../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../../../node_modules/next/dist/server/lib/parse-stack.js","../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../../node_modules/next/dist/server/lib/source-maps.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../../../node_modules/next/dist/server/node-environment-baseline.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/date.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/random.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../../../../node_modules/next/dist/server/node-environment.js","../../../../../../node_modules/next/dist/server/node-polyfill-crypto.js","../../../../../../node_modules/next/dist/server/patch-error-inspect.js","../../../../../../node_modules/next/dist/server/require-hook.js","../../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","../../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../../../node_modules/next/dist/shared/lib/segment.js","../../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../../node_modules/next/package.json","../../../../../../node_modules/react/cjs/react.development.js","../../../../../../node_modules/react/cjs/react.production.js","../../../../../../node_modules/react/index.js","../../../../../../node_modules/react/package.json","../../../../../../package.json","../../../../../../src/backend/services/mcp/internal/confinement.ts","../../../../../../src/backend/services/mcp/internal/protectedPaths.ts","../../../../../package.json","../../../../chunks/1067.js","../../../../chunks/1114.js","../../../../chunks/1346.js","../../../../chunks/1587.js","../../../../chunks/1724.js","../../../../chunks/1813.js","../../../../chunks/2480.js","../../../../chunks/2915.js","../../../../chunks/2967.js","../../../../chunks/3078.js","../../../../chunks/3099.js","../../../../chunks/3133.js","../../../../chunks/3196.js","../../../../chunks/4165.js","../../../../chunks/4271.js","../../../../chunks/4741.js","../../../../chunks/531.js","../../../../chunks/626.js","../../../../chunks/6614.js","../../../../chunks/7196.js","../../../../chunks/7798.js","../../../../chunks/8440.js","../../../../chunks/8619.js","../../../../chunks/8775.js","../../../../chunks/8988.js","../../../../chunks/9312.js","../../../../chunks/9592.js","../../../../chunks/9880.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]}
1
+ {"version":1,"files":["../../../../../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../../../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../../../../node_modules/@swc/helpers/package.json","../../../../../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../node_modules/next/dist/client/components/hooks-server-context.js","../../../../../../node_modules/next/dist/client/components/static-generation-bailout.js","../../../../../../node_modules/next/dist/client/lib/console.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/source-map/package.json","../../../../../../node_modules/next/dist/compiled/source-map/source-map.js","../../../../../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../../../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../../../../node_modules/next/dist/compiled/ws/index.js","../../../../../../node_modules/next/dist/compiled/ws/package.json","../../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../../node_modules/next/dist/lib/constants.js","../../../../../../node_modules/next/dist/lib/framework/boundary-constants.js","../../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../../node_modules/next/dist/lib/is-error.js","../../../../../../node_modules/next/dist/lib/picocolors.js","../../../../../../node_modules/next/dist/lib/scheduler.js","../../../../../../node_modules/next/dist/lib/semver-noop.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js","../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../../node_modules/next/dist/server/app-render/staged-rendering.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../../../../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../../../node_modules/next/dist/server/lib/parse-stack.js","../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../../node_modules/next/dist/server/lib/source-maps.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../../../node_modules/next/dist/server/node-environment-baseline.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/date.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/random.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../../../../node_modules/next/dist/server/node-environment.js","../../../../../../node_modules/next/dist/server/node-polyfill-crypto.js","../../../../../../node_modules/next/dist/server/patch-error-inspect.js","../../../../../../node_modules/next/dist/server/require-hook.js","../../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","../../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../../../node_modules/next/dist/shared/lib/segment.js","../../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../../node_modules/next/package.json","../../../../../../node_modules/react/cjs/react.development.js","../../../../../../node_modules/react/cjs/react.production.js","../../../../../../node_modules/react/index.js","../../../../../../node_modules/react/package.json","../../../../../../package.json","../../../../../../src/backend/services/mcp/internal/confinement.ts","../../../../../../src/backend/services/mcp/internal/protectedPaths.ts","../../../../../package.json","../../../../chunks/1067.js","../../../../chunks/1114.js","../../../../chunks/1346.js","../../../../chunks/1587.js","../../../../chunks/1724.js","../../../../chunks/1813.js","../../../../chunks/2126.js","../../../../chunks/2480.js","../../../../chunks/2915.js","../../../../chunks/2967.js","../../../../chunks/3078.js","../../../../chunks/3099.js","../../../../chunks/3133.js","../../../../chunks/3196.js","../../../../chunks/4165.js","../../../../chunks/4741.js","../../../../chunks/531.js","../../../../chunks/626.js","../../../../chunks/6614.js","../../../../chunks/7196.js","../../../../chunks/7798.js","../../../../chunks/8440.js","../../../../chunks/8619.js","../../../../chunks/8775.js","../../../../chunks/8988.js","../../../../chunks/9312.js","../../../../chunks/9592.js","../../../../chunks/9880.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]}
@@ -8,4 +8,4 @@ data: ${JSON.stringify(e)}
8
8
 
9
9
  `)),null!==f&&!Number.isNaN(f)){for(let a of y.$.getGlobalBufferedSince(f))if(e(a),k)break}k||(h=y.$.subscribeGlobal(e),i=setInterval(()=>{try{b.enqueue(g.encode(`: ping
10
10
 
11
- `))}catch{d()}},15e3),a.signal.addEventListener("abort",()=>{z.debug("Global SSE firehose client disconnected"),d()}))},cancel(){i&&clearInterval(i),h&&h()}}),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive","X-Accel-Buffering":"no"}})}let D=(0,v.pZ)(C),E=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/v1/chat/events/route",pathname:"/v1/chat/events",filename:"route",bundlePath:"app/v1/chat/events/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\src\\app\\v1\\chat\\events\\route.ts",nextConfigOutput:"",userland:d,...{}}),{workAsyncStorage:F,workUnitAsyncStorage:G,serverHooks:H}=E;function I(){return(0,g.patchFetch)({workAsyncStorage:F,workUnitAsyncStorage:G})}async function J(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),E.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/v1/chat/events/route";"/index"===d&&(d="/");let e=await E.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(A.dynamicRoutes[I]||A.routes[F]),K=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!z){let a=!!A.routes[F],b=A.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||E.isDev||z||(L="/index"===(L=F)?"/":L);let M=!0===E.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==B?void 0:B.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await E.getIncrementalCache(a,x,A,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>E.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>E.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await E.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),b}},k=await E.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await E.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},40610:a=>{a.exports=require("node:dns")},41204:a=>{a.exports=require("string_decoder")},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},44708:a=>{a.exports=require("node:https")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46466:a=>{a.exports=require("node:stream/promises")},46702:(a,b,c)=>{c.d(b,{eh:()=>i,ru:()=>g});var d=c(66844),e=c(7986);let f=(0,d.h)("backend/services/scheduler/flowRunEventBus");function g(a){return"signal"===a.kind}class h{publish(a){if(0===this.listeners.size)return;let b=g(a)?`signal topic=${a.topic} emitter=${a.emitterFlowId}`:`flow=${a.flowId} status=${a.status}`;for(let c of(f.debug(`Publishing flow event: ${b} firedBy=${a.firedBy} depth=${a.chainDepth} listeners=${this.listeners.size}`),[...this.listeners]))try{c(a)}catch(a){f.warn("A flow-run event listener threw:",a)}}subscribe(a){let b=(0,e.bindToCurrentWorkspace)(a);return this.listeners.add(b),()=>{this.listeners.delete(b)}}get listenerCount(){return this.listeners.size}constructor(){this.listeners=new Set}}function i(){let a=(0,e.getCurrentWorkspace)();if(a===e.DEFAULT_WORKSPACE)return global.__flujo_flow_run_event_bus||(global.__flujo_flow_run_event_bus=new h),global.__flujo_flow_run_event_bus;let b=global.__flujo_flow_run_event_buses_by_workspace??(global.__flujo_flow_run_event_buses_by_workspace=new Map),c=b.get(a);return c||(c=new h,b.set(a,c)),c}},48161:a=>{a.exports=require("node:os")},49796:(a,b,c)=>{Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(77943)},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57075:a=>{a.exports=require("node:stream")},57975:a=>{a.exports=require("node:util")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},73496:a=>{a.exports=require("http2")},73566:a=>{a.exports=require("worker_threads")},74075:a=>{a.exports=require("zlib")},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},77943:(a,b,c)=>{a.exports=c(7553).vendored["react-rsc"].ReactServerDOMWebpackServer},78474:a=>{a.exports=require("node:events")},79428:a=>{a.exports=require("buffer")},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},80099:a=>{a.exports=require("node:sqlite")},80481:a=>{a.exports=require("node:readline")},81630:a=>{a.exports=require("http")},83997:a=>{a.exports=require("tty")},84297:a=>{a.exports=require("async_hooks")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87182:(a,b,c)=>{c.d(b,{pZ:()=>l});var d=c(7986),e=c(66844),f=c(36103);let g=(0,e.h)("app/api/_workspace");class h extends Error{constructor(a,b){super(a),this.name="WorkspaceRequestError",this.status=b}}async function i(a){let b=function(a){let b=null;try{b=new URL(a.url).searchParams.get("workspace")}catch{}null===b&&(b=a.headers?.get?.("x-flujo-workspace")??null);try{return(0,d.normalizeWorkspaceName)(b)}catch(a){if(a instanceof d.InvalidWorkspaceNameError)throw new h("Invalid workspace name. Workspace names must match /^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$/.",400);throw a}}(a);try{await (0,f.DP)()}catch(a){throw g.error("Workspace layout is not ready; refusing workspace request",a),new h("Workspace storage is temporarily unavailable while its layout is being prepared.",503)}if(!await (0,d.workspaceExists)(b))throw new h(`Unknown workspace: ${b}`,404);return b}function j(a){return new Response(JSON.stringify({error:a.message}),{status:a.status,headers:{"Content-Type":"application/json",...503===a.status?{"Retry-After":"5"}:{}}})}async function k(a,b){let c;try{c=await i(a)}catch(a){if(a instanceof h)return j(a);throw a}return(0,d.runWithWorkspace)(c,async()=>{try{await (0,d.ensureWorkspaceDirs)(c)}catch(a){return g.error(`Workspace ${c} has an unsafe or unavailable storage layout`,a),j(new h(`Workspace storage is unavailable: ${c}`,503))}return b(c)})}function l(a){return async(b,...c)=>{let d=b instanceof Request?b:new Request("http://localhost/"),e=b??d;return k(d,()=>Promise.resolve(a(e,...c)))}}},87997:a=>{a.exports=require("node:timers")},91645:a=>{a.exports=require("net")},94735:a=>{a.exports=require("events")},98995:a=>{a.exports=require("node:module")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,8440,6614,8775,4165,3133,1067,3078,1114,8619,7798,531,4271],()=>b(b.s=39624));module.exports=c})();
11
+ `))}catch{d()}},15e3),a.signal.addEventListener("abort",()=>{z.debug("Global SSE firehose client disconnected"),d()}))},cancel(){i&&clearInterval(i),h&&h()}}),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive","X-Accel-Buffering":"no"}})}let D=(0,v.pZ)(C),E=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/v1/chat/events/route",pathname:"/v1/chat/events",filename:"route",bundlePath:"app/v1/chat/events/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\src\\app\\v1\\chat\\events\\route.ts",nextConfigOutput:"",userland:d,...{}}),{workAsyncStorage:F,workUnitAsyncStorage:G,serverHooks:H}=E;function I(){return(0,g.patchFetch)({workAsyncStorage:F,workUnitAsyncStorage:G})}async function J(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),E.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/v1/chat/events/route";"/index"===d&&(d="/");let e=await E.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(A.dynamicRoutes[I]||A.routes[F]),K=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!z){let a=!!A.routes[F],b=A.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||E.isDev||z||(L="/index"===(L=F)?"/":L);let M=!0===E.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==B?void 0:B.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await E.getIncrementalCache(a,x,A,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>E.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>E.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await E.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),b}},k=await E.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await E.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},40610:a=>{a.exports=require("node:dns")},41204:a=>{a.exports=require("string_decoder")},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},44708:a=>{a.exports=require("node:https")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46466:a=>{a.exports=require("node:stream/promises")},46702:(a,b,c)=>{c.d(b,{eh:()=>i,ru:()=>g});var d=c(66844),e=c(7986);let f=(0,d.h)("backend/services/scheduler/flowRunEventBus");function g(a){return"signal"===a.kind}class h{publish(a){if(0===this.listeners.size)return;let b=g(a)?`signal topic=${a.topic} emitter=${a.emitterFlowId}`:`flow=${a.flowId} status=${a.status}`;for(let c of(f.debug(`Publishing flow event: ${b} firedBy=${a.firedBy} depth=${a.chainDepth} listeners=${this.listeners.size}`),[...this.listeners]))try{c(a)}catch(a){f.warn("A flow-run event listener threw:",a)}}subscribe(a){let b=(0,e.bindToCurrentWorkspace)(a);return this.listeners.add(b),()=>{this.listeners.delete(b)}}get listenerCount(){return this.listeners.size}constructor(){this.listeners=new Set}}function i(){let a=(0,e.getCurrentWorkspace)();if(a===e.DEFAULT_WORKSPACE)return global.__flujo_flow_run_event_bus||(global.__flujo_flow_run_event_bus=new h),global.__flujo_flow_run_event_bus;let b=global.__flujo_flow_run_event_buses_by_workspace??(global.__flujo_flow_run_event_buses_by_workspace=new Map),c=b.get(a);return c||(c=new h,b.set(a,c)),c}},48161:a=>{a.exports=require("node:os")},49796:(a,b,c)=>{Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(77943)},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57075:a=>{a.exports=require("node:stream")},57975:a=>{a.exports=require("node:util")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},73496:a=>{a.exports=require("http2")},73566:a=>{a.exports=require("worker_threads")},74075:a=>{a.exports=require("zlib")},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},77943:(a,b,c)=>{a.exports=c(7553).vendored["react-rsc"].ReactServerDOMWebpackServer},78474:a=>{a.exports=require("node:events")},79428:a=>{a.exports=require("buffer")},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},80099:a=>{a.exports=require("node:sqlite")},80481:a=>{a.exports=require("node:readline")},81630:a=>{a.exports=require("http")},83997:a=>{a.exports=require("tty")},84297:a=>{a.exports=require("async_hooks")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87182:(a,b,c)=>{c.d(b,{pZ:()=>l});var d=c(7986),e=c(66844),f=c(36103);let g=(0,e.h)("app/api/_workspace");class h extends Error{constructor(a,b){super(a),this.name="WorkspaceRequestError",this.status=b}}async function i(a){let b=function(a){let b=null;try{b=new URL(a.url).searchParams.get("workspace")}catch{}null===b&&(b=a.headers?.get?.("x-flujo-workspace")??null);try{return(0,d.normalizeWorkspaceName)(b)}catch(a){if(a instanceof d.InvalidWorkspaceNameError)throw new h("Invalid workspace name. Workspace names must match /^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$/.",400);throw a}}(a);try{await (0,f.DP)()}catch(a){throw g.error("Workspace layout is not ready; refusing workspace request",a),new h("Workspace storage is temporarily unavailable while its layout is being prepared.",503)}if(!await (0,d.workspaceExists)(b))throw new h(`Unknown workspace: ${b}`,404);return b}function j(a){return new Response(JSON.stringify({error:a.message}),{status:a.status,headers:{"Content-Type":"application/json",...503===a.status?{"Retry-After":"5"}:{}}})}async function k(a,b){let c;try{c=await i(a)}catch(a){if(a instanceof h)return j(a);throw a}return(0,d.runWithWorkspace)(c,async()=>{try{await (0,d.ensureWorkspaceDirs)(c)}catch(a){return g.error(`Workspace ${c} has an unsafe or unavailable storage layout`,a),j(new h(`Workspace storage is unavailable: ${c}`,503))}return b(c)})}function l(a){return async(b,...c)=>{let d=b instanceof Request?b:new Request("http://localhost/"),e=b??d;return k(d,()=>Promise.resolve(a(e,...c)))}}},87997:a=>{a.exports=require("node:timers")},91645:a=>{a.exports=require("net")},94735:a=>{a.exports=require("events")},98995:a=>{a.exports=require("node:module")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,8440,6614,8775,4165,3133,1067,3078,1114,8619,531,7798,2126],()=>b(b.s=39624));module.exports=c})();