flujo-ai 3.17.0 → 3.19.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 (513) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +239 -210
  3. package/.next/app-path-routes-manifest.json +6 -3
  4. package/.next/build-manifest.json +5 -5
  5. package/.next/prerender-manifest.json +9 -9
  6. package/.next/react-loadable-manifest.json +12 -12
  7. package/.next/server/app/_not-found/page.js +3 -3
  8. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  9. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  10. package/.next/server/app/_not-found.html +1 -1
  11. package/.next/server/app/_not-found.rsc +2 -2
  12. package/.next/server/app/api/backup/route.js +1 -1
  13. package/.next/server/app/api/backup/route.js.nft.json +1 -1
  14. package/.next/server/app/api/backup/route_client-reference-manifest.js +1 -1
  15. package/.next/server/app/api/browse/route.js +1 -1
  16. package/.next/server/app/api/browse/route.js.nft.json +1 -1
  17. package/.next/server/app/api/browse/route_client-reference-manifest.js +1 -1
  18. package/.next/server/app/api/cwd/route.js +1 -1
  19. package/.next/server/app/api/cwd/route.js.nft.json +1 -1
  20. package/.next/server/app/api/cwd/route_client-reference-manifest.js +1 -1
  21. package/.next/server/app/api/encryption/secure/route.js +1 -1
  22. package/.next/server/app/api/encryption/secure/route.js.nft.json +1 -1
  23. package/.next/server/app/api/encryption/secure/route_client-reference-manifest.js +1 -1
  24. package/.next/server/app/api/env/route.js +2 -2
  25. package/.next/server/app/api/env/route.js.nft.json +1 -1
  26. package/.next/server/app/api/env/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/api/flow/[id]/route.js +1 -1
  28. package/.next/server/app/api/flow/[id]/route.js.nft.json +1 -1
  29. package/.next/server/app/api/flow/[id]/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/flow/compile/route.js +1 -1
  31. package/.next/server/app/api/flow/compile/route.js.nft.json +1 -1
  32. package/.next/server/app/api/flow/compile/route_client-reference-manifest.js +1 -1
  33. package/.next/server/app/api/flow/generate/route.js +1 -19
  34. package/.next/server/app/api/flow/generate/route.js.nft.json +1 -1
  35. package/.next/server/app/api/flow/generate/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/flow/improve/route.js +1 -0
  37. package/.next/server/app/api/flow/improve/route.js.nft.json +1 -0
  38. package/.next/server/app/api/flow/improve/route_client-reference-manifest.js +1 -0
  39. package/.next/server/app/api/flow/prompt-renderer/route.js +2 -2
  40. package/.next/server/app/api/flow/prompt-renderer/route.js.nft.json +1 -1
  41. package/.next/server/app/api/flow/prompt-renderer/route_client-reference-manifest.js +1 -1
  42. package/.next/server/app/api/flow/quick-chat/route.js +1 -0
  43. package/.next/server/app/api/flow/quick-chat/route.js.nft.json +1 -0
  44. package/.next/server/app/api/flow/quick-chat/route_client-reference-manifest.js +1 -0
  45. package/.next/server/app/api/flow/repair/route.js +1 -0
  46. package/.next/server/app/api/flow/repair/route.js.nft.json +1 -0
  47. package/.next/server/app/api/flow/repair/route_client-reference-manifest.js +1 -0
  48. package/.next/server/app/api/flow/route.js +1 -1
  49. package/.next/server/app/api/flow/route.js.nft.json +1 -1
  50. package/.next/server/app/api/flow/route_client-reference-manifest.js +1 -1
  51. package/.next/server/app/api/git/route.js +4 -4
  52. package/.next/server/app/api/git/route.js.nft.json +1 -1
  53. package/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
  54. package/.next/server/app/api/init/route.js +1 -1
  55. package/.next/server/app/api/init/route.js.nft.json +1 -1
  56. package/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  57. package/.next/server/app/api/local-models/capability/route_client-reference-manifest.js +1 -1
  58. package/.next/server/app/api/local-models/pull/route_client-reference-manifest.js +1 -1
  59. package/.next/server/app/api/local-models/suggest/route_client-reference-manifest.js +1 -1
  60. package/.next/server/app/api/mcp/cancel/route.js +2 -2
  61. package/.next/server/app/api/mcp/cancel/route.js.nft.json +1 -1
  62. package/.next/server/app/api/mcp/cancel/route_client-reference-manifest.js +1 -1
  63. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js +1 -1
  64. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js.nft.json +1 -1
  65. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route_client-reference-manifest.js +1 -1
  66. package/.next/server/app/api/mcp/servers/[name]/prompts/route.js +1 -1
  67. package/.next/server/app/api/mcp/servers/[name]/prompts/route.js.nft.json +1 -1
  68. package/.next/server/app/api/mcp/servers/[name]/prompts/route_client-reference-manifest.js +1 -1
  69. package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js +1 -1
  70. package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js.nft.json +1 -1
  71. package/.next/server/app/api/mcp/servers/[name]/resources/read/route_client-reference-manifest.js +1 -1
  72. package/.next/server/app/api/mcp/servers/[name]/resources/route.js +1 -1
  73. package/.next/server/app/api/mcp/servers/[name]/resources/route.js.nft.json +1 -1
  74. package/.next/server/app/api/mcp/servers/[name]/resources/route_client-reference-manifest.js +1 -1
  75. package/.next/server/app/api/mcp/servers/[name]/route.js +1 -1
  76. package/.next/server/app/api/mcp/servers/[name]/route.js.nft.json +1 -1
  77. package/.next/server/app/api/mcp/servers/[name]/route_client-reference-manifest.js +1 -1
  78. package/.next/server/app/api/mcp/servers/[name]/status/route.js +1 -1
  79. package/.next/server/app/api/mcp/servers/[name]/status/route.js.nft.json +1 -1
  80. package/.next/server/app/api/mcp/servers/[name]/status/route_client-reference-manifest.js +1 -1
  81. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js +1 -1
  82. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js.nft.json +1 -1
  83. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route_client-reference-manifest.js +1 -1
  84. package/.next/server/app/api/mcp/servers/[name]/tools/route.js +1 -1
  85. package/.next/server/app/api/mcp/servers/[name]/tools/route.js.nft.json +1 -1
  86. package/.next/server/app/api/mcp/servers/[name]/tools/route_client-reference-manifest.js +1 -1
  87. package/.next/server/app/api/mcp/servers/route.js +1 -1
  88. package/.next/server/app/api/mcp/servers/route.js.nft.json +1 -1
  89. package/.next/server/app/api/mcp/servers/route_client-reference-manifest.js +1 -1
  90. package/.next/server/app/api/mcp/test-connection/route.js +1 -1
  91. package/.next/server/app/api/mcp/test-connection/route.js.nft.json +1 -1
  92. package/.next/server/app/api/mcp/test-connection/route_client-reference-manifest.js +1 -1
  93. package/.next/server/app/api/mcp/test-connection/stream/route.js +1 -1
  94. package/.next/server/app/api/mcp/test-connection/stream/route.js.nft.json +1 -1
  95. package/.next/server/app/api/mcp/test-connection/stream/route_client-reference-manifest.js +1 -1
  96. package/.next/server/app/api/mcp-registry/route.js +2 -1
  97. package/.next/server/app/api/mcp-registry/route.js.nft.json +1 -1
  98. package/.next/server/app/api/mcp-registry/route_client-reference-manifest.js +1 -1
  99. package/.next/server/app/api/mcp-registry/spotlight/route.js +1 -1
  100. package/.next/server/app/api/mcp-registry/spotlight/route.js.nft.json +1 -1
  101. package/.next/server/app/api/mcp-registry/spotlight/route_client-reference-manifest.js +1 -1
  102. package/.next/server/app/api/model/[id]/route.js +1 -1
  103. package/.next/server/app/api/model/[id]/route.js.nft.json +1 -1
  104. package/.next/server/app/api/model/[id]/route_client-reference-manifest.js +1 -1
  105. package/.next/server/app/api/model/provider/route.js +2 -2
  106. package/.next/server/app/api/model/provider/route.js.nft.json +1 -1
  107. package/.next/server/app/api/model/provider/route_client-reference-manifest.js +1 -1
  108. package/.next/server/app/api/model/route.js +1 -1
  109. package/.next/server/app/api/model/route.js.nft.json +1 -1
  110. package/.next/server/app/api/model/route_client-reference-manifest.js +1 -1
  111. package/.next/server/app/api/model/test/route.js +2 -2
  112. package/.next/server/app/api/model/test/route.js.nft.json +1 -1
  113. package/.next/server/app/api/model/test/route_client-reference-manifest.js +1 -1
  114. package/.next/server/app/api/oauth/callback/route.js +2 -2
  115. package/.next/server/app/api/oauth/callback/route.js.nft.json +1 -1
  116. package/.next/server/app/api/oauth/callback/route_client-reference-manifest.js +1 -1
  117. package/.next/server/app/api/oauth/initiate/route.js +2 -2
  118. package/.next/server/app/api/oauth/initiate/route.js.nft.json +1 -1
  119. package/.next/server/app/api/oauth/initiate/route_client-reference-manifest.js +1 -1
  120. package/.next/server/app/api/oauth/reset/route.js +2 -2
  121. package/.next/server/app/api/oauth/reset/route.js.nft.json +1 -1
  122. package/.next/server/app/api/oauth/reset/route_client-reference-manifest.js +1 -1
  123. package/.next/server/app/api/planned-executions/[id]/route.js +2 -2
  124. package/.next/server/app/api/planned-executions/[id]/route.js.nft.json +1 -1
  125. package/.next/server/app/api/planned-executions/[id]/route_client-reference-manifest.js +1 -1
  126. package/.next/server/app/api/planned-executions/[id]/run/route.js +2 -2
  127. package/.next/server/app/api/planned-executions/[id]/run/route.js.nft.json +1 -1
  128. package/.next/server/app/api/planned-executions/[id]/run/route_client-reference-manifest.js +1 -1
  129. package/.next/server/app/api/planned-executions/[id]/runs/route.js +2 -2
  130. package/.next/server/app/api/planned-executions/[id]/runs/route.js.nft.json +1 -1
  131. package/.next/server/app/api/planned-executions/[id]/runs/route_client-reference-manifest.js +1 -1
  132. package/.next/server/app/api/planned-executions/preview-schedule/route.js +1 -1
  133. package/.next/server/app/api/planned-executions/preview-schedule/route.js.nft.json +1 -1
  134. package/.next/server/app/api/planned-executions/preview-schedule/route_client-reference-manifest.js +1 -1
  135. package/.next/server/app/api/planned-executions/route.js +1 -1
  136. package/.next/server/app/api/planned-executions/route.js.nft.json +1 -1
  137. package/.next/server/app/api/planned-executions/route_client-reference-manifest.js +1 -1
  138. package/.next/server/app/api/restore/route.js +1 -1
  139. package/.next/server/app/api/restore/route.js.nft.json +1 -1
  140. package/.next/server/app/api/restore/route_client-reference-manifest.js +1 -1
  141. package/.next/server/app/api/storage/route.js +1 -1
  142. package/.next/server/app/api/storage/route.js.nft.json +1 -1
  143. package/.next/server/app/api/storage/route_client-reference-manifest.js +1 -1
  144. package/.next/server/app/api/update/route.js +1 -1
  145. package/.next/server/app/api/update/route.js.nft.json +1 -1
  146. package/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  147. package/.next/server/app/api/webhooks/[id]/route.js +1 -1
  148. package/.next/server/app/api/webhooks/[id]/route.js.nft.json +1 -1
  149. package/.next/server/app/api/webhooks/[id]/route_client-reference-manifest.js +1 -1
  150. package/.next/server/app/chat/page.js +10 -9
  151. package/.next/server/app/chat/page.js.nft.json +1 -1
  152. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  153. package/.next/server/app/chat.html +1 -1
  154. package/.next/server/app/chat.rsc +3 -3
  155. package/.next/server/app/docs/page.js +34 -7
  156. package/.next/server/app/docs/page.js.nft.json +1 -1
  157. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  158. package/.next/server/app/docs.html +1 -1
  159. package/.next/server/app/docs.rsc +3 -3
  160. package/.next/server/app/executions/page.js +3 -5
  161. package/.next/server/app/executions/page.js.nft.json +1 -1
  162. package/.next/server/app/executions/page_client-reference-manifest.js +1 -1
  163. package/.next/server/app/executions.html +1 -1
  164. package/.next/server/app/executions.rsc +3 -3
  165. package/.next/server/app/flows/page.js +3 -39
  166. package/.next/server/app/flows/page.js.nft.json +1 -1
  167. package/.next/server/app/flows/page_client-reference-manifest.js +1 -1
  168. package/.next/server/app/flows.html +1 -1
  169. package/.next/server/app/flows.rsc +3 -3
  170. package/.next/server/app/index.html +1 -1
  171. package/.next/server/app/index.rsc +3 -3
  172. package/.next/server/app/mcp/page.js +23 -27
  173. package/.next/server/app/mcp/page.js.nft.json +1 -1
  174. package/.next/server/app/mcp/page_client-reference-manifest.js +1 -1
  175. package/.next/server/app/mcp-flows/route.js +1 -5
  176. package/.next/server/app/mcp-flows/route.js.nft.json +1 -1
  177. package/.next/server/app/mcp-flows/route_client-reference-manifest.js +1 -1
  178. package/.next/server/app/mcp-proxy/[server]/route.js +1 -1
  179. package/.next/server/app/mcp-proxy/[server]/route.js.nft.json +1 -1
  180. package/.next/server/app/mcp-proxy/[server]/route_client-reference-manifest.js +1 -1
  181. package/.next/server/app/mcp.html +1 -1
  182. package/.next/server/app/mcp.rsc +3 -3
  183. package/.next/server/app/models/page.js +2 -3
  184. package/.next/server/app/models/page.js.nft.json +1 -1
  185. package/.next/server/app/models/page_client-reference-manifest.js +1 -1
  186. package/.next/server/app/page.js +3 -2
  187. package/.next/server/app/page.js.nft.json +1 -1
  188. package/.next/server/app/page_client-reference-manifest.js +1 -1
  189. package/.next/server/app/settings/page.js +4 -3
  190. package/.next/server/app/settings/page.js.nft.json +1 -1
  191. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  192. package/.next/server/app/settings.html +1 -1
  193. package/.next/server/app/settings.rsc +3 -3
  194. package/.next/server/app/v1/chat/completions/route.js +1 -1
  195. package/.next/server/app/v1/chat/completions/route.js.nft.json +1 -1
  196. package/.next/server/app/v1/chat/completions/route_client-reference-manifest.js +1 -1
  197. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js +2 -2
  198. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js.nft.json +1 -1
  199. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route_client-reference-manifest.js +1 -1
  200. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js +2 -2
  201. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js.nft.json +1 -1
  202. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route_client-reference-manifest.js +1 -1
  203. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js +1 -1
  204. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js.nft.json +1 -1
  205. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route_client-reference-manifest.js +1 -1
  206. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js +1 -1
  207. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js.nft.json +1 -1
  208. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route_client-reference-manifest.js +1 -1
  209. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js +2 -2
  210. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js.nft.json +1 -1
  211. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route_client-reference-manifest.js +1 -1
  212. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js +3 -3
  213. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js.nft.json +1 -1
  214. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route_client-reference-manifest.js +1 -1
  215. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js +1 -1
  216. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js.nft.json +1 -1
  217. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route_client-reference-manifest.js +1 -1
  218. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js +2 -2
  219. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js.nft.json +1 -1
  220. package/.next/server/app/v1/chat/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
  221. package/.next/server/app/v1/chat/conversations/route.js +2 -2
  222. package/.next/server/app/v1/chat/conversations/route.js.nft.json +1 -1
  223. package/.next/server/app/v1/chat/conversations/route_client-reference-manifest.js +1 -1
  224. package/.next/server/app/v1/models/route.js +2 -2
  225. package/.next/server/app/v1/models/route.js.nft.json +1 -1
  226. package/.next/server/app/v1/models/route_client-reference-manifest.js +1 -1
  227. package/.next/server/app-paths-manifest.json +6 -3
  228. package/.next/server/chunks/{2776.js → 1083.js} +2 -3
  229. package/.next/server/chunks/1119.js +1 -0
  230. package/.next/server/chunks/{7731.js → 1152.js} +2 -2
  231. package/.next/server/chunks/1197.js +2 -0
  232. package/.next/server/chunks/1373.js +1 -1
  233. package/.next/server/chunks/1491.js +1 -0
  234. package/.next/server/chunks/1746.js +1 -1
  235. package/.next/server/chunks/1912.js +38 -0
  236. package/.next/server/chunks/{8460.js → 1991.js} +1 -1
  237. package/.next/server/chunks/2194.js +1 -0
  238. package/.next/server/chunks/2246.js +1 -0
  239. package/.next/server/chunks/227.js +5 -0
  240. package/.next/server/chunks/2350.js +1 -0
  241. package/.next/server/chunks/2430.js +1 -0
  242. package/.next/server/chunks/{5504.js → 264.js} +2 -2
  243. package/.next/server/chunks/2859.js +3 -7
  244. package/.next/server/chunks/3304.js +1 -1
  245. package/.next/server/chunks/3310.js +42 -0
  246. package/.next/server/chunks/3511.js +1 -0
  247. package/.next/server/chunks/3574.js +6 -0
  248. package/.next/server/chunks/3648.js +1 -0
  249. package/.next/server/chunks/38.js +2 -0
  250. package/.next/server/chunks/3953.js +1 -0
  251. package/.next/server/chunks/3984.js +4 -4
  252. package/.next/server/chunks/4028.js +1 -0
  253. package/.next/server/chunks/4239.js +1 -0
  254. package/.next/server/chunks/4265.js +1 -0
  255. package/.next/server/chunks/4372.js +1 -0
  256. package/.next/server/chunks/4456.js +2 -0
  257. package/.next/server/chunks/4637.js +63 -0
  258. package/.next/server/chunks/4681.js +1 -1
  259. package/.next/server/chunks/4949.js +1 -0
  260. package/.next/server/chunks/5148.js +1 -0
  261. package/.next/server/chunks/5625.js +28 -0
  262. package/.next/server/chunks/{805.js → 5662.js} +2 -2
  263. package/.next/server/chunks/5708.js +57 -0
  264. package/.next/server/chunks/6088.js +52 -0
  265. package/.next/server/chunks/{5888.js → 6136.js} +1 -1
  266. package/.next/server/chunks/62.js +1 -0
  267. package/.next/server/chunks/6465.js +1 -0
  268. package/.next/server/chunks/6772.js +1 -0
  269. package/.next/server/chunks/6826.js +1 -0
  270. package/.next/server/chunks/6901.js +6 -0
  271. package/.next/server/chunks/701.js +1 -1
  272. package/.next/server/chunks/7214.js +2 -2
  273. package/.next/server/chunks/7362.js +7 -7
  274. package/.next/server/chunks/7403.js +38 -0
  275. package/.next/server/chunks/7506.js +1 -1
  276. package/.next/server/chunks/7635.js +1 -1
  277. package/.next/server/chunks/7821.js +1 -1
  278. package/.next/server/chunks/7865.js +9 -0
  279. package/.next/server/chunks/8739.js +1 -1
  280. package/.next/server/chunks/9509.js +2 -2
  281. package/.next/server/chunks/9632.js +1 -0
  282. package/.next/server/instrumentation.js.nft.json +1 -1
  283. package/.next/server/middleware-build-manifest.js +1 -1
  284. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  285. package/.next/server/pages/404.html +1 -1
  286. package/.next/server/pages/500.html +1 -1
  287. package/.next/server/server-reference-manifest.js +1 -1
  288. package/.next/server/server-reference-manifest.json +1 -1
  289. package/.next/static/chunks/1161-970b105d0ab11425.js +1 -0
  290. package/.next/static/chunks/1620-0d8ecd877f123f7b.js +1 -0
  291. package/.next/static/chunks/{7126-2bafddf1b09cacac.js → 1634-d4019c4a5cac2ed0.js} +1 -1
  292. package/.next/static/chunks/1711-ccf5eba61d618a1a.js +1 -0
  293. package/.next/static/chunks/1871-14c3e63ca865d85e.js +1 -0
  294. package/.next/static/chunks/1892-a0f5ec7152540dc3.js +1 -0
  295. package/.next/static/chunks/3217.058098140ec3f563.js +1 -0
  296. package/.next/static/chunks/{3272-fd8d59523f61da96.js → 3272-ab88dd195ea61b65.js} +1 -1
  297. package/.next/static/chunks/{3545.d3a512315a9fce3e.js → 3545.353a62a68d3b7fd1.js} +1 -1
  298. package/.next/static/chunks/3625-74c77250d64d1cd3.js +1 -0
  299. package/.next/static/chunks/3736-5e2b3f6cda1bb923.js +1 -0
  300. package/.next/static/chunks/3930-cc8d73c953811b97.js +1 -0
  301. package/.next/static/chunks/4365-5d0e3d01c1bc0fdc.js +1 -0
  302. package/.next/static/chunks/5134-e21bd33daaf14ecf.js +1 -0
  303. package/.next/static/chunks/5501-7d6e38c7c8cc3c5a.js +1 -0
  304. package/.next/static/chunks/5619-82fc5c3133837739.js +1 -0
  305. package/.next/static/chunks/6013-cb423bc438256acb.js +1 -0
  306. package/.next/static/chunks/6920-a83ad5c0d5a54cf3.js +1 -0
  307. package/.next/static/chunks/{7583.8a518353bd072db9.js → 7583.5355a64005f2b265.js} +1 -1
  308. package/.next/static/chunks/7687-7edf1a6e1f063b08.js +1 -0
  309. package/.next/static/chunks/7829-b843e80f32a83256.js +1 -0
  310. package/.next/static/chunks/8066-c202a83aef15143a.js +1 -0
  311. package/.next/static/chunks/{8187.5d6523f30e705998.js → 8187.57929e3f925fe538.js} +1 -1
  312. package/.next/static/chunks/{9164-36fedeb944fa71e9.js → 9164-14dc5889cb7478c0.js} +1 -1
  313. package/.next/static/chunks/924-64f908860caf1a35.js +1 -0
  314. package/.next/static/chunks/9747-ffb8be5e59700c27.js +8 -0
  315. package/.next/static/chunks/app/api/backup/route-ff084c1cc278df77.js +1 -0
  316. package/.next/static/chunks/app/api/browse/route-ff084c1cc278df77.js +1 -0
  317. package/.next/static/chunks/app/api/cwd/route-ff084c1cc278df77.js +1 -0
  318. package/.next/static/chunks/app/api/encryption/secure/route-ff084c1cc278df77.js +1 -0
  319. package/.next/static/chunks/app/api/env/route-ff084c1cc278df77.js +1 -0
  320. package/.next/static/chunks/app/api/flow/[id]/route-ff084c1cc278df77.js +1 -0
  321. package/.next/static/chunks/app/api/flow/compile/route-ff084c1cc278df77.js +1 -0
  322. package/.next/static/chunks/app/api/flow/generate/route-ff084c1cc278df77.js +1 -0
  323. package/.next/static/chunks/app/api/flow/improve/route-ff084c1cc278df77.js +1 -0
  324. package/.next/static/chunks/app/api/flow/prompt-renderer/route-ff084c1cc278df77.js +1 -0
  325. package/.next/static/chunks/app/api/flow/quick-chat/route-ff084c1cc278df77.js +1 -0
  326. package/.next/static/chunks/app/api/flow/repair/route-ff084c1cc278df77.js +1 -0
  327. package/.next/static/chunks/app/api/flow/route-ff084c1cc278df77.js +1 -0
  328. package/.next/static/chunks/app/api/git/route-ff084c1cc278df77.js +1 -0
  329. package/.next/static/chunks/app/api/init/route-ff084c1cc278df77.js +1 -0
  330. package/.next/static/chunks/app/api/local-models/capability/route-ff084c1cc278df77.js +1 -0
  331. package/.next/static/chunks/app/api/local-models/pull/route-ff084c1cc278df77.js +1 -0
  332. package/.next/static/chunks/app/api/local-models/suggest/route-ff084c1cc278df77.js +1 -0
  333. package/.next/static/chunks/app/api/mcp/cancel/route-ff084c1cc278df77.js +1 -0
  334. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-ff084c1cc278df77.js +1 -0
  335. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-ff084c1cc278df77.js +1 -0
  336. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-ff084c1cc278df77.js +1 -0
  337. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-ff084c1cc278df77.js +1 -0
  338. package/.next/static/chunks/app/api/mcp/servers/[name]/route-ff084c1cc278df77.js +1 -0
  339. package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-ff084c1cc278df77.js +1 -0
  340. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-ff084c1cc278df77.js +1 -0
  341. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-ff084c1cc278df77.js +1 -0
  342. package/.next/static/chunks/app/api/mcp/servers/route-ff084c1cc278df77.js +1 -0
  343. package/.next/static/chunks/app/api/mcp/test-connection/route-ff084c1cc278df77.js +1 -0
  344. package/.next/static/chunks/app/api/mcp/test-connection/stream/route-ff084c1cc278df77.js +1 -0
  345. package/.next/static/chunks/app/api/mcp-registry/route-ff084c1cc278df77.js +1 -0
  346. package/.next/static/chunks/app/api/mcp-registry/spotlight/route-ff084c1cc278df77.js +1 -0
  347. package/.next/static/chunks/app/api/model/[id]/route-ff084c1cc278df77.js +1 -0
  348. package/.next/static/chunks/app/api/model/provider/route-ff084c1cc278df77.js +1 -0
  349. package/.next/static/chunks/app/api/model/route-ff084c1cc278df77.js +1 -0
  350. package/.next/static/chunks/app/api/model/test/route-ff084c1cc278df77.js +1 -0
  351. package/.next/static/chunks/app/api/oauth/callback/route-ff084c1cc278df77.js +1 -0
  352. package/.next/static/chunks/app/api/oauth/initiate/route-ff084c1cc278df77.js +1 -0
  353. package/.next/static/chunks/app/api/oauth/reset/route-ff084c1cc278df77.js +1 -0
  354. package/.next/static/chunks/app/api/planned-executions/[id]/route-ff084c1cc278df77.js +1 -0
  355. package/.next/static/chunks/app/api/planned-executions/[id]/run/route-ff084c1cc278df77.js +1 -0
  356. package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-ff084c1cc278df77.js +1 -0
  357. package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-ff084c1cc278df77.js +1 -0
  358. package/.next/static/chunks/app/api/planned-executions/route-ff084c1cc278df77.js +1 -0
  359. package/.next/static/chunks/app/api/restore/route-ff084c1cc278df77.js +1 -0
  360. package/.next/static/chunks/app/api/storage/route-ff084c1cc278df77.js +1 -0
  361. package/.next/static/chunks/app/api/update/route-ff084c1cc278df77.js +1 -0
  362. package/.next/static/chunks/app/api/webhooks/[id]/route-ff084c1cc278df77.js +1 -0
  363. package/.next/static/chunks/app/chat/page-1d764d1de5ad5d2f.js +1 -0
  364. package/.next/static/chunks/app/docs/page-d670c1ec8af5cb54.js +1 -0
  365. package/.next/static/chunks/app/executions/page-109274291811d467.js +1 -0
  366. package/.next/static/chunks/app/flows/page-df8eda0e83934fb2.js +1 -0
  367. package/.next/static/chunks/app/{layout-2878f13d7e253503.js → layout-64fc0ae7efe81e3c.js} +1 -1
  368. package/.next/static/chunks/app/mcp/page-9a612d0be5a3336d.js +1 -0
  369. package/.next/static/chunks/app/mcp-flows/route-ff084c1cc278df77.js +1 -0
  370. package/.next/static/chunks/app/mcp-proxy/[server]/route-ff084c1cc278df77.js +1 -0
  371. package/.next/static/chunks/app/models/{error-2b00c98abf1e02cf.js → error-5732fbb053e182c5.js} +1 -1
  372. package/.next/static/chunks/app/models/page-616950f93a1e0027.js +1 -0
  373. package/.next/static/chunks/app/{page-6e18a8cd78b2050e.js → page-77e1ba238b0ee1d0.js} +1 -1
  374. package/.next/static/chunks/app/settings/page-199d0ffae9ec7263.js +1 -0
  375. package/.next/static/chunks/app/v1/chat/completions/route-ff084c1cc278df77.js +1 -0
  376. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-ff084c1cc278df77.js +1 -0
  377. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-ff084c1cc278df77.js +1 -0
  378. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-ff084c1cc278df77.js +1 -0
  379. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-ff084c1cc278df77.js +1 -0
  380. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-ff084c1cc278df77.js +1 -0
  381. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-ff084c1cc278df77.js +1 -0
  382. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-ff084c1cc278df77.js +1 -0
  383. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-ff084c1cc278df77.js +1 -0
  384. package/.next/static/chunks/app/v1/chat/conversations/route-ff084c1cc278df77.js +1 -0
  385. package/.next/static/chunks/app/v1/models/route-ff084c1cc278df77.js +1 -0
  386. package/.next/static/chunks/webpack-3e8560996ac8c1e0.js +1 -0
  387. package/.next/static/itJEX_uJ7hJ7oF-igwwK9/_buildManifest.js +1 -0
  388. package/.next/trace +7 -7
  389. package/.next/types/app/api/flow/improve/route.ts +347 -0
  390. package/.next/types/app/api/flow/quick-chat/route.ts +347 -0
  391. package/.next/types/app/api/flow/repair/route.ts +347 -0
  392. package/.next/types/routes.d.ts +4 -1
  393. package/.next/types/validator.ts +27 -0
  394. package/README.md +1 -1
  395. package/package.json +1 -1
  396. package/.next/server/chunks/1050.js +0 -1
  397. package/.next/server/chunks/117.js +0 -1
  398. package/.next/server/chunks/1403.js +0 -6
  399. package/.next/server/chunks/1519.js +0 -1
  400. package/.next/server/chunks/1690.js +0 -1
  401. package/.next/server/chunks/1877.js +0 -32
  402. package/.next/server/chunks/1905.js +0 -2
  403. package/.next/server/chunks/2666.js +0 -1
  404. package/.next/server/chunks/3243.js +0 -1
  405. package/.next/server/chunks/3309.js +0 -2
  406. package/.next/server/chunks/3370.js +0 -38
  407. package/.next/server/chunks/407.js +0 -6
  408. package/.next/server/chunks/4322.js +0 -1
  409. package/.next/server/chunks/5558.js +0 -1
  410. package/.next/server/chunks/5587.js +0 -1
  411. package/.next/server/chunks/5838.js +0 -1
  412. package/.next/server/chunks/5935.js +0 -2
  413. package/.next/server/chunks/6283.js +0 -2
  414. package/.next/server/chunks/6390.js +0 -28
  415. package/.next/server/chunks/6523.js +0 -1
  416. package/.next/server/chunks/6760.js +0 -1
  417. package/.next/server/chunks/6936.js +0 -35
  418. package/.next/server/chunks/7328.js +0 -1
  419. package/.next/server/chunks/7531.js +0 -52
  420. package/.next/server/chunks/7982.js +0 -1
  421. package/.next/server/chunks/8298.js +0 -1
  422. package/.next/server/chunks/8434.js +0 -1
  423. package/.next/server/chunks/9188.js +0 -1
  424. package/.next/server/chunks/9938.js +0 -1
  425. package/.next/server/chunks/9957.js +0 -1
  426. package/.next/static/KMEKXonxBXI3WzCfozXx4/_buildManifest.js +0 -1
  427. package/.next/static/chunks/1226-af62e7a89fa9032e.js +0 -1
  428. package/.next/static/chunks/1979-e2d922370ecef69f.js +0 -1
  429. package/.next/static/chunks/2158-0d6bb5a428ed0688.js +0 -1
  430. package/.next/static/chunks/2380-5696e0dc0469f6a5.js +0 -1
  431. package/.next/static/chunks/2709-29f91a54eef90221.js +0 -1
  432. package/.next/static/chunks/3217.1a7e24fd70294370.js +0 -1
  433. package/.next/static/chunks/510-e39ad4e1fae6dd1f.js +0 -1
  434. package/.next/static/chunks/539-8ddf886986877cfc.js +0 -1
  435. package/.next/static/chunks/5781-4328d17aad13f908.js +0 -8
  436. package/.next/static/chunks/5961-828f4f7efc3e1381.js +0 -1
  437. package/.next/static/chunks/6582-6735fdd6b42b5c35.js +0 -1
  438. package/.next/static/chunks/687-98ba5f5043866f48.js +0 -1
  439. package/.next/static/chunks/690-391bc0f482a9f67c.js +0 -1
  440. package/.next/static/chunks/6902-cba4e59c4295b4a0.js +0 -1
  441. package/.next/static/chunks/8862-1170dad1d6f3cd39.js +0 -1
  442. package/.next/static/chunks/8867-3f7163974605427b.js +0 -1
  443. package/.next/static/chunks/8989-401559d9f3bc80a0.js +0 -1
  444. package/.next/static/chunks/9414-3cd5c3976cba66b2.js +0 -1
  445. package/.next/static/chunks/9562-93cc45aef3630781.js +0 -1
  446. package/.next/static/chunks/9984-1ed094ea9f5b1f17.js +0 -1
  447. package/.next/static/chunks/app/api/backup/route-7248529e02c31012.js +0 -1
  448. package/.next/static/chunks/app/api/browse/route-7248529e02c31012.js +0 -1
  449. package/.next/static/chunks/app/api/cwd/route-7248529e02c31012.js +0 -1
  450. package/.next/static/chunks/app/api/encryption/secure/route-7248529e02c31012.js +0 -1
  451. package/.next/static/chunks/app/api/env/route-7248529e02c31012.js +0 -1
  452. package/.next/static/chunks/app/api/flow/[id]/route-7248529e02c31012.js +0 -1
  453. package/.next/static/chunks/app/api/flow/compile/route-7248529e02c31012.js +0 -1
  454. package/.next/static/chunks/app/api/flow/generate/route-7248529e02c31012.js +0 -1
  455. package/.next/static/chunks/app/api/flow/prompt-renderer/route-7248529e02c31012.js +0 -1
  456. package/.next/static/chunks/app/api/flow/route-7248529e02c31012.js +0 -1
  457. package/.next/static/chunks/app/api/git/route-7248529e02c31012.js +0 -1
  458. package/.next/static/chunks/app/api/init/route-7248529e02c31012.js +0 -1
  459. package/.next/static/chunks/app/api/local-models/capability/route-7248529e02c31012.js +0 -1
  460. package/.next/static/chunks/app/api/local-models/pull/route-7248529e02c31012.js +0 -1
  461. package/.next/static/chunks/app/api/local-models/suggest/route-7248529e02c31012.js +0 -1
  462. package/.next/static/chunks/app/api/mcp/cancel/route-7248529e02c31012.js +0 -1
  463. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-7248529e02c31012.js +0 -1
  464. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-7248529e02c31012.js +0 -1
  465. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-7248529e02c31012.js +0 -1
  466. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-7248529e02c31012.js +0 -1
  467. package/.next/static/chunks/app/api/mcp/servers/[name]/route-7248529e02c31012.js +0 -1
  468. package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-7248529e02c31012.js +0 -1
  469. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-7248529e02c31012.js +0 -1
  470. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-7248529e02c31012.js +0 -1
  471. package/.next/static/chunks/app/api/mcp/servers/route-7248529e02c31012.js +0 -1
  472. package/.next/static/chunks/app/api/mcp/test-connection/route-7248529e02c31012.js +0 -1
  473. package/.next/static/chunks/app/api/mcp/test-connection/stream/route-7248529e02c31012.js +0 -1
  474. package/.next/static/chunks/app/api/mcp-registry/route-7248529e02c31012.js +0 -1
  475. package/.next/static/chunks/app/api/mcp-registry/spotlight/route-7248529e02c31012.js +0 -1
  476. package/.next/static/chunks/app/api/model/[id]/route-7248529e02c31012.js +0 -1
  477. package/.next/static/chunks/app/api/model/provider/route-7248529e02c31012.js +0 -1
  478. package/.next/static/chunks/app/api/model/route-7248529e02c31012.js +0 -1
  479. package/.next/static/chunks/app/api/model/test/route-7248529e02c31012.js +0 -1
  480. package/.next/static/chunks/app/api/oauth/callback/route-7248529e02c31012.js +0 -1
  481. package/.next/static/chunks/app/api/oauth/initiate/route-7248529e02c31012.js +0 -1
  482. package/.next/static/chunks/app/api/oauth/reset/route-7248529e02c31012.js +0 -1
  483. package/.next/static/chunks/app/api/planned-executions/[id]/route-7248529e02c31012.js +0 -1
  484. package/.next/static/chunks/app/api/planned-executions/[id]/run/route-7248529e02c31012.js +0 -1
  485. package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-7248529e02c31012.js +0 -1
  486. package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-7248529e02c31012.js +0 -1
  487. package/.next/static/chunks/app/api/planned-executions/route-7248529e02c31012.js +0 -1
  488. package/.next/static/chunks/app/api/restore/route-7248529e02c31012.js +0 -1
  489. package/.next/static/chunks/app/api/storage/route-7248529e02c31012.js +0 -1
  490. package/.next/static/chunks/app/api/update/route-7248529e02c31012.js +0 -1
  491. package/.next/static/chunks/app/api/webhooks/[id]/route-7248529e02c31012.js +0 -1
  492. package/.next/static/chunks/app/chat/page-c759cf382bcabd77.js +0 -1
  493. package/.next/static/chunks/app/docs/page-fca894f60b9174e9.js +0 -1
  494. package/.next/static/chunks/app/executions/page-4155f9f682ee6f84.js +0 -1
  495. package/.next/static/chunks/app/flows/page-4e1ec20653e5dc86.js +0 -1
  496. package/.next/static/chunks/app/mcp/page-5234695929980171.js +0 -1
  497. package/.next/static/chunks/app/mcp-flows/route-7248529e02c31012.js +0 -1
  498. package/.next/static/chunks/app/mcp-proxy/[server]/route-7248529e02c31012.js +0 -1
  499. package/.next/static/chunks/app/models/page-4fc4d100a8b1d4b4.js +0 -1
  500. package/.next/static/chunks/app/settings/page-9a2bfb8d5bdba29e.js +0 -1
  501. package/.next/static/chunks/app/v1/chat/completions/route-7248529e02c31012.js +0 -1
  502. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-7248529e02c31012.js +0 -1
  503. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-7248529e02c31012.js +0 -1
  504. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-7248529e02c31012.js +0 -1
  505. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-7248529e02c31012.js +0 -1
  506. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-7248529e02c31012.js +0 -1
  507. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-7248529e02c31012.js +0 -1
  508. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-7248529e02c31012.js +0 -1
  509. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-7248529e02c31012.js +0 -1
  510. package/.next/static/chunks/app/v1/chat/conversations/route-7248529e02c31012.js +0 -1
  511. package/.next/static/chunks/app/v1/models/route-7248529e02c31012.js +0 -1
  512. package/.next/static/chunks/webpack-4015bd6f241940a1.js +0 -1
  513. /package/.next/static/{KMEKXonxBXI3WzCfozXx4 → itJEX_uJ7hJ7oF-igwwK9}/_ssgManifest.js +0 -0
@@ -1,3 +1,2 @@
1
- (()=>{var a={};a.id=8329,a.ids=[8329],a.modules={94:(a,b,c)=>{Promise.resolve().then(c.bind(c,81637)),Promise.resolve().then(c.bind(c,79515)),Promise.resolve().then(c.bind(c,24207)),Promise.resolve().then(c.bind(c,52402)),Promise.resolve().then(c.bind(c,42863)),Promise.resolve().then(c.bind(c,61615))},261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1039:(a,b,c)=>{Promise.resolve().then(c.bind(c,14867))},1708:a=>{"use strict";a.exports=require("node:process")},2671:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\MarioAndreschak\\\\Documents\\\\GitHub\\\\FLUJO\\\\src\\\\app\\\\models\\\\ModelClient.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\models\\ModelClient.tsx","default")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{"use strict";a.exports=require("node:buffer")},4822:(a,b,c)=>{Promise.resolve().then(c.bind(c,73737)),Promise.resolve().then(c.bind(c,16825)),Promise.resolve().then(c.t.bind(c,69389,23)),Promise.resolve().then(c.t.bind(c,63112,23)),Promise.resolve().then(c.bind(c,2671)),Promise.resolve().then(c.bind(c,37997))},4984:a=>{"use strict";a.exports=require("readline")},7329:(a,b,c)=>{"use strict";function d(a,b){let c=[],d=new Map;for(let e of a){let{key:a,label:f}=b(e),g=d.get(a);g||(g={key:a,label:f,items:[]},d.set(a,g),c.push(g)),g.items.push(e)}return c}function e(a){let b=(a??"").trim().charAt(0).toUpperCase();return b>="A"&&b<="Z"?{key:`letter:${b}`,label:b}:{key:"letter:#",label:"#"}}function f(a,b,c="Ungrouped"){let d=new Map,e=[];for(let c of a){let a=b(c)?.trim();if(a){let b=d.get(a);b?b.push(c):d.set(a,[c])}else e.push(c)}let g=Array.from(d.keys()).sort((a,b)=>a.localeCompare(b)).map(a=>({key:`folder:${a}`,label:a,items:d.get(a)}));return e.length>0&&g.push({key:"folder:__ungrouped__",label:c,items:e}),g}function g(a,b){let c=new Set;for(let d of a){let a=b(d)?.trim();a&&c.add(a)}return Array.from(c).sort((a,b)=>a.localeCompare(b))}c.d(b,{Az:()=>d,Je:()=>f,po:()=>e,yF:()=>g})},8086:a=>{"use strict";a.exports=require("module")},9287:(a,b,c)=>{Promise.resolve().then(c.bind(c,92093))},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11525:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,81170,23)),Promise.resolve().then(c.t.bind(c,23597,23)),Promise.resolve().then(c.t.bind(c,36893,23)),Promise.resolve().then(c.t.bind(c,89748,23)),Promise.resolve().then(c.t.bind(c,6060,23)),Promise.resolve().then(c.t.bind(c,7184,23)),Promise.resolve().then(c.t.bind(c,69576,23)),Promise.resolve().then(c.t.bind(c,73041,23)),Promise.resolve().then(c.t.bind(c,51384,23))},11723:a=>{"use strict";a.exports=require("querystring")},11962:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return j}});let d=c(75338),e=c(74515),f=c(69389),g=c(63112);function h(a){return{default:a&&"default"in a?a.default:a}}let i={loader:()=>Promise.resolve(h(()=>null)),loading:null,ssr:!0},j=function(a){let b={...i,...a},c=(0,e.lazy)(()=>b.loader().then(h)),j=b.loading;function k(a){let h=j?(0,d.jsx)(j,{isLoading:!0,pastDelay:!0,error:null}):null,i=!b.ssr||!!b.loading,k=i?e.Suspense:e.Fragment,l=b.ssr?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g.PreloadChunks,{moduleIds:b.modules}),(0,d.jsx)(c,{...a})]}):(0,d.jsx)(f.BailoutToCSR,{reason:"next/dynamic",children:(0,d.jsx)(c,{...a})});return(0,d.jsx)(k,{...i?{fallback:h}:{},children:l})}return k.displayName="LoadableComponent",k}},11997:a=>{"use strict";a.exports=require("punycode")},12412:a=>{"use strict";a.exports=require("assert")},14867:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\MarioAndreschak\\\\Documents\\\\GitHub\\\\FLUJO\\\\src\\\\app\\\\models\\\\error.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\models\\error.tsx","default")},16825:(a,b,c)=>{"use strict";c.d(b,{default:()=>e});var d=c(97954);(0,d.registerClientReference)(function(){throw Error("Attempted to call TypographyRoot() from the server but TypographyRoot is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\@mui\\material\\Typography\\Typography.js","TypographyRoot");let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\MarioAndreschak\\\\Documents\\\\GitHub\\\\FLUJO\\\\node_modules\\\\@mui\\\\material\\\\Typography\\\\Typography.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\@mui\\material\\Typography\\Typography.js","default")},18830:(a,b,c)=>{"use strict";function d(a){return a&&a.__esModule?a:{default:a}}c.r(b),c.d(b,{_:()=>d})},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},19771:a=>{"use strict";a.exports=require("process")},19815:(a,b,c)=>{"use strict";c.d(b,{h:()=>i});let d={LOG_LEVEL:3},e={VERBOSE:-1,DEBUG:0,INFO:1,WARN:2,ERROR:3},f="number"==typeof d.LOG_LEVEL?d.LOG_LEVEL:e.ERROR;function g(a,b=0){if(b>6)return String(a);if(!(a instanceof Error))return a;let c={name:a.name,message:a.message};for(let d of Object.getOwnPropertyNames(a)){if("name"===d||"message"===d)continue;let e=a[d];"function"!=typeof e&&("stack"===d?c.stack=e:"cause"===d?c.cause=g(e,b+1):"errors"===d&&Array.isArray(e)?c.errors=e.map(a=>g(a,b+1)):c[d]=e)}return c}function h(a,b,c,d,h){if(a>=("number"==typeof h?h:f)){if("function"==typeof d)try{d=d()}catch{d="[lazy log data threw]"}let f=new Date().toISOString(),h=`[${f}] [${b}]`,i=`${h} ${c}`;if(void 0!==d)if(d instanceof Error||"object"==typeof d)try{let a=d instanceof Error?g(d):d,b=JSON.stringify(a,(a,b)=>b instanceof Error?g(b):b,2);i+=`:
2
- ${b}`}catch(a){i+=": [Object cannot be stringified]"}else i+=`: ${d}`;switch(a){case e.VERBOSE:console.debug(`[VERBOSE] ${i}`);break;case e.DEBUG:console.debug(i);break;case e.INFO:console.info(i);break;case e.WARN:console.warn(i);break;case e.ERROR:console.error(i);break;default:console.log(i)}}}function i(a,b){let c,d=((c=a.replace(/^src\//,"")).startsWith("/")&&(c=c.substring(1)),c);return{verbose:(a,c)=>{h(e.VERBOSE,d,a,c,b)},debug:(a,c)=>{h(e.DEBUG,d,a,c,b)},info:(a,c)=>{h(e.INFO,d,a,c,b)},warn:(a,c)=>{h(e.WARN,d,a,c,b)},error:(a,c)=>{h(e.ERROR,d,a,c,b)}}}},20349:(a,b,c)=>{Promise.resolve().then(c.bind(c,73737)),Promise.resolve().then(c.bind(c,65251))},21820:a=>{"use strict";a.exports=require("os")},24677:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,54160,23)),Promise.resolve().then(c.t.bind(c,31603,23)),Promise.resolve().then(c.t.bind(c,68495,23)),Promise.resolve().then(c.t.bind(c,75170,23)),Promise.resolve().then(c.t.bind(c,77526,23)),Promise.resolve().then(c.t.bind(c,78922,23)),Promise.resolve().then(c.t.bind(c,29234,23)),Promise.resolve().then(c.t.bind(c,34644,23)),Promise.resolve().then(c.bind(c,82146))},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},27910:a=>{"use strict";a.exports=require("stream")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30301:(a,b,c)=>{Promise.resolve().then(c.bind(c,41306))},31421:a=>{"use strict";a.exports=require("node:child_process")},33873:a=>{"use strict";a.exports=require("path")},34631:a=>{"use strict";a.exports=require("tls")},37067:a=>{"use strict";a.exports=require("node:http")},37830:a=>{"use strict";a.exports=require("node:stream/web")},37997:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\MarioAndreschak\\\\Documents\\\\GitHub\\\\FLUJO\\\\src\\\\frontend\\\\components\\\\shared\\\\Spinner.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\frontend\\components\\shared\\Spinner.tsx","default")},38108:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>r,dynamic:()=>q});var d=c(75338),e=c(74515),f=c(44618),g=c.n(f),h=c(73737),i=c(16825),j=c(50846),k=c(92675);let l=(0,j.h)("app/api/model/backed-model-adapter");async function m(){l.debug("loadModels: Delegating to model adapter");let a=await k.Zl();return a.success&&a.models?a.models:(l.warn("loadModels: Failed to load models",{error:a.error}),[])}var n=c(37997);let o=g()(()=>Promise.resolve().then(c.bind(c,2671)),{loadableGenerated:{modules:["app\\models\\page.tsx -> ./ModelClient"]},loading:()=>(0,d.jsx)(n.default,{})}),p=(0,j.h)("app/models/page"),q="force-dynamic",r=async function(){p.debug("Rendering ModelsPage");try{let a=await m();return p.debug("Models loaded successfully",{count:a.length}),(0,d.jsxs)(h.default,{sx:{height:"100%",display:"flex",flexDirection:"column"},children:[(0,d.jsx)(h.default,{sx:{p:2,display:"flex",justifyContent:"space-between",alignItems:"center",borderBottom:1,borderColor:"divider"},children:(0,d.jsx)(i.default,{variant:"h5",children:"Models"})}),(0,d.jsx)(h.default,{sx:{p:2,flex:1,overflow:"auto"},children:(0,d.jsx)(e.Suspense,{fallback:(0,d.jsx)(n.default,{}),children:(0,d.jsx)(o,{initialModels:a})})})]})}catch(a){throw p.error("Error loading models:",a),a}}},38522:a=>{"use strict";a.exports=require("node:zlib")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},41306:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\MarioAndreschak\\\\Documents\\\\GitHub\\\\FLUJO\\\\src\\\\frontend\\\\components\\\\AppWrapper.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\frontend\\components\\AppWrapper.tsx","default")},41917:(a,b,c)=>{Promise.resolve().then(c.bind(c,49428))},42863:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>be});var d,e,f=c(21124),g=c(38301),h=c(68949),i=c(54573),j=c(81637),k=c(37674),l=c(67101),m=c(20830),n=c(88745),o=c(47902),p=c(40973);c(2117);var q=c(60839),r=c(8521),s=c(82666),t=c(79515),u=c(44079),v=c(7118),w=c(94367),x=c(50553),y=c(84233),z=c(91059),A=c(63757),B=c(11402),C=c(27080);let D=(0,C.A)([(0,f.jsx)("path",{d:"m12 2-5.5 9h11z"},"0"),(0,f.jsx)("circle",{cx:"17.5",cy:"17.5",r:"4.5"},"1"),(0,f.jsx)("path",{d:"M3 13.5h8v8H3z"},"2")],"Category"),E=(0,C.A)((0,f.jsx)("path",{d:"M15 9H9v6h6zm-2 4h-2v-2h2zm8-2V9h-2V7c0-1.1-.9-2-2-2h-2V3h-2v2h-2V3H9v2H7c-1.1 0-2 .9-2 2v2H3v2h2v2H3v2h2v2c0 1.1.9 2 2 2h2v2h2v-2h2v2h2v-2h2c1.1 0 2-.9 2-2v-2h2v-2h-2v-2zm-4 6H7V7h10z"}),"Memory");var F=c(9863),G=c(81310),H=c(18467),I=c(30818),J=c(27114),K=c(43312),L=c(41893),M=c(98463),N=c(12033),O=c(91034);let P=(0,C.A)((0,f.jsx)("path",{d:"M19.8 18.4 14 10.67V6.5l1.35-1.69c.26-.33.03-.81-.39-.81H9.04c-.42 0-.65.48-.39.81L10 6.5v4.17L4.2 18.4c-.49.66-.02 1.6.8 1.6h14c.82 0 1.29-.94.8-1.6"}),"Science");var Q=c(96955);let R=[{id:"openai",label:"OpenAI",provider:"openai",adapter:"openai",sdkLabel:"OpenAI SDK",baseUrl:"https://api.openai.com/v1",showBaseUrl:!0},{id:"openrouter",label:"OpenRouter",provider:"openrouter",adapter:"openai",sdkLabel:"OpenAI SDK",baseUrl:"https://openrouter.ai/api/v1",showBaseUrl:!0},{id:"requesty",label:"Requesty",provider:"requesty",adapter:"openai",sdkLabel:"OpenAI SDK",baseUrl:"https://router.requesty.ai/v1",showBaseUrl:!0},{id:"xai",label:"X.ai",provider:"xai",adapter:"openai",sdkLabel:"OpenAI SDK",baseUrl:"https://api.x.ai/v1",showBaseUrl:!0},{id:"ollama",label:"Ollama",provider:"ollama",adapter:"openai",sdkLabel:"OpenAI SDK",baseUrl:"http://localhost:11434/v1",showBaseUrl:!0},{id:"litellm",label:"LiteLLM",provider:"litellm",adapter:"openai",sdkLabel:"OpenAI SDK (via LiteLLM Proxy)",baseUrl:"http://localhost:4000/v1",showBaseUrl:!0},{id:"gemini-openai",label:"Gemini (OpenAI Format)",provider:"gemini",adapter:"openai",sdkLabel:"OpenAI SDK",baseUrl:"https://generativelanguage.googleapis.com/v1beta/openai/",showBaseUrl:!0},{id:"gemini-native",label:"Gemini (Native)",provider:"gemini",adapter:"gemini",sdkLabel:"GenAI SDK",baseUrl:"",showBaseUrl:!1,defaultModels:["gemini-2.5-pro","gemini-2.5-flash","gemini-2.5-flash-lite","gemini-2.0-flash"]},{id:"anthropic-openai",label:"Anthropic (OpenAI Format)",provider:"anthropic",adapter:"openai",sdkLabel:"OpenAI SDK",baseUrl:"https://api.anthropic.com/v1/",showBaseUrl:!0},{id:"anthropic-native",label:"Anthropic (Native)",provider:"anthropic",adapter:"anthropic",sdkLabel:"Anthropic SDK",baseUrl:"",showBaseUrl:!1,defaultModels:["claude-opus-4-8","claude-sonnet-4-6","claude-haiku-4-5-20251001","claude-fable-5"]},{id:"claude-subscription",label:"Claude Subscription",provider:"claude-subscription",adapter:"claude-cli",sdkLabel:"Claude CLI",baseUrl:"",showBaseUrl:!1,defaultModels:["opus","sonnet","haiku","fable"]}];function S(a,b){let c=a||"openai",d=b||"openai";return R.find(a=>a.provider===c&&a.adapter===d)||R.find(a=>a.provider===c)||R[0]}var T=c(83434),U=c(19815),V=c(40512),W=c(83899),X=c(52327),Y=c(19925),Z=c(8165),$=c(65343);let _=({title:a,attempt:b})=>(0,f.jsxs)(j.default,{sx:{mb:2},children:[(0,f.jsxs)(j.default,{sx:{display:"flex",alignItems:"center",gap:1,mb:.5},children:[b.ok?(0,f.jsx)(Z.A,{color:"success",fontSize:"small"}):(0,f.jsx)($.A,{color:"error",fontSize:"small"}),(0,f.jsx)(t.default,{variant:"subtitle2",children:a}),"number"==typeof b.status&&(0,f.jsx)(L.A,{size:"small",label:`HTTP ${b.status}`}),(0,f.jsx)(L.A,{size:"small",variant:"outlined",label:`${b.durationMs} ms`})]}),b.ok?(0,f.jsxs)(t.default,{variant:"body2",color:"text.secondary",sx:{pl:3},children:["Response: ",b.content?`"${b.content}"`:"(empty)"]}):(0,f.jsxs)(j.default,{sx:{pl:3},children:[(0,f.jsx)(t.default,{variant:"body2",color:"error.main",children:b.error?.message}),(b.error?.code||b.error?.type)&&(0,f.jsxs)(t.default,{variant:"caption",color:"text.secondary",display:"block",children:[b.error?.type?`type: ${b.error.type}`:"",b.error?.type&&b.error?.code?" \xb7 ":"",b.error?.code?`code: ${b.error.code}`:""]}),b.error?.retryAfter&&(0,f.jsxs)(t.default,{variant:"caption",color:"text.secondary",display:"block",children:["retry-after: ",b.error.retryAfter,"s"]}),b.error?.body!==void 0&&(0,f.jsx)(j.default,{component:"pre",sx:{mt:.5,p:1,bgcolor:"action.hover",borderRadius:1,fontSize:"0.7rem",overflowX:"auto",maxHeight:160},children:JSON.stringify(b.error.body,null,2)})]})]}),aa=({open:a,modelLabel:b,loading:c,result:d,error:e,onClose:g,onRetry:h})=>(0,f.jsxs)(V.A,{open:a,onClose:g,maxWidth:"sm",fullWidth:!0,children:[(0,f.jsxs)(W.A,{children:["Test model: ",b]}),(0,f.jsx)(X.A,{dividers:!0,children:c?(0,f.jsxs)(j.default,{sx:{display:"flex",alignItems:"center",gap:2,py:3},children:[(0,f.jsx)(r.default,{size:24}),(0,f.jsx)(t.default,{variant:"body2",children:"Sending a direct test request (SDK + axios)…"})]}):e?(0,f.jsx)(n.A,{severity:"error",children:e}):d?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(n.A,{severity:d.ok?"success":"warning",sx:{mb:2},children:d.diagnosis}),(0,f.jsxs)(t.default,{variant:"caption",color:"text.secondary",display:"block",sx:{mb:2},children:["model: ",d.model,d.baseUrl?` \xb7 ${d.baseUrl}`:"",d.provider?` \xb7 ${d.provider}`:""]}),(0,f.jsx)(z.A,{sx:{mb:2}}),(0,f.jsx)(_,{title:"OpenAI SDK (used by flows)",attempt:d.sdk}),(0,f.jsx)(_,{title:"axios (independent cross-check)",attempt:d.axios})]}):null}),(0,f.jsxs)(Y.A,{children:[(0,f.jsx)(m.A,{onClick:h,disabled:c,children:"Run again"}),(0,f.jsx)(m.A,{onClick:g,variant:"contained",children:"Close"})]})]});var ab=c(78352);let ac=(0,U.h)("frontend/components/models/list/ModelCard"),ad=({model:a,onEdit:b,onDelete:c,folder:d,folders:e=[],onSetFolder:h})=>{let[i,k]=(0,g.useState)(!1),[l,m]=(0,g.useState)(!1),[n,o]=(0,g.useState)(null),[p,q]=(0,g.useState)(null),[r,s]=(0,g.useState)(null),v=async()=>{m(!0),q(null),o(null);try{let b=await (0,T.X)().testModel({modelId:a.id});o(b)}catch(b){ac.error("Model test failed",{modelId:a.id,error:b}),q(b instanceof Error?b.message:"Failed to run test")}finally{m(!1)}};return(0,f.jsxs)(I.A,{elevation:2,sx:{height:"100%",display:"flex",flexDirection:"column"},children:[(0,f.jsxs)(J.A,{sx:{flexGrow:1},children:[(0,f.jsx)(t.default,{variant:"h6",gutterBottom:!0,children:a.displayName||a.name}),(0,f.jsx)(t.default,{variant:"body2",color:"text.secondary",sx:{mb:2},style:{display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical",overflow:"hidden",textOverflow:"ellipsis"},children:a.description}),(0,f.jsxs)(j.default,{sx:{mb:1},children:[(0,f.jsxs)(t.default,{variant:"body2",color:"text.secondary",children:["Provider: ",S(a.provider,a.adapter).label]}),a.displayName&&(0,f.jsxs)(t.default,{variant:"body2",color:"text.secondary",noWrap:!0,children:["Model: ",a.name]}),"number"==typeof a.contextWindow&&(0,f.jsxs)(t.default,{variant:"body2",color:"text.secondary",children:["Context: ",a.contextWindow.toLocaleString()," tokens"]})]}),a.baseUrl&&(0,f.jsx)(K.A,{title:a.baseUrl,arrow:!0,placement:"top",children:(0,f.jsxs)(t.default,{variant:"body2",color:"text.secondary",noWrap:!0,children:["Base URL: ",a.baseUrl]})}),d&&(0,f.jsx)(L.A,{icon:(0,f.jsx)(H.A,{}),label:d,size:"small",variant:"outlined",sx:{mt:1,maxWidth:"100%"}})]}),(0,f.jsxs)(M.A,{disableSpacing:!0,children:[(0,f.jsx)(K.A,{title:"Test model (direct SDK call, no flow)",arrow:!0,children:(0,f.jsx)(u.A,{"aria-label":"test",onClick:()=>{k(!0),v()},children:(0,f.jsx)(P,{})})}),(0,f.jsx)(u.A,{"aria-label":"edit",onClick:b,children:(0,f.jsx)(N.A,{})}),(0,f.jsx)(u.A,{"aria-label":"delete",onClick:c,children:(0,f.jsx)(O.A,{})}),h&&(0,f.jsx)(K.A,{title:"Move to folder…",arrow:!0,children:(0,f.jsx)(u.A,{"aria-label":"move to folder",onClick:a=>s(a.currentTarget),sx:{ml:"auto"},children:(0,f.jsx)(Q.A,{})})})]}),h&&(0,f.jsx)(ab.A,{anchorEl:r,open:!!r,currentFolder:d,folders:e,onClose:()=>s(null),onAssign:h}),(0,f.jsx)(aa,{open:i,modelLabel:a.displayName||a.name,loading:l,result:n,error:p,onClose:()=>k(!1),onRetry:v})]})};var ae=c(59737),af=c(7329);let ag={"name-asc":"Name (A-Z)","name-desc":"Name (Z-A)",provider:"Provider","context-desc":"Context (largest)","context-asc":"Context (smallest)"},ah=a=>a.displayName||a.name||"",ai=a=>S(a.provider,a.adapter).label,aj=(0,U.h)("frontend/components/models/list/ModelList"),ak=({models:a,isLoading:b,onAdd:c,onUpdate:d,onDelete:e,folders:h=[],onSetFolder:k})=>{let l=(0,q.A)(),[m,n]=(0,g.useState)("name-asc"),[o,p]=(0,g.useState)("none"),[C,I]=(0,g.useState)(null),[J,K]=(0,g.useState)(null),[L,M]=(0,g.useState)(new Set),N=a=>{n(a),I(null)},O=a=>{p(a),K(null)},P=async a=>{let b=await d(a);b.success||aj.error("Failed to update model in ModelList",b.error)},Q=(0,g.useMemo)(()=>(function(a,b){return[...a].sort((a,c)=>{switch(b){case"name-asc":return ah(a).localeCompare(ah(c));case"name-desc":return ah(c).localeCompare(ah(a));case"provider":return ai(a).localeCompare(ai(c))||ah(a).localeCompare(ah(c));case"context-desc":case"context-asc":{let d="number"!=typeof a.contextWindow||Number.isNaN(a.contextWindow)?void 0:a.contextWindow,e="number"!=typeof c.contextWindow||Number.isNaN(c.contextWindow)?void 0:c.contextWindow;if(void 0===d&&void 0===e)return ah(a).localeCompare(ah(c));if(void 0===d)return 1;if(void 0===e)return -1;let f="context-desc"===b?e-d:d-e;return 0!==f?f:ah(a).localeCompare(ah(c))}default:return 0}})})(a,m),[a,m]),R=(0,g.useMemo)(()=>"folder"===o?(0,af.Je)(Q,a=>a.folder):"sort"===o?(0,af.Az)(Q,a=>(function(a,b){switch(b){case"provider":{let b=ai(a);return{key:`provider:${b}`,label:b}}case"context-asc":case"context-desc":var c;return"number"!=typeof(c=a.contextWindow)||Number.isNaN(c)?{key:"ctx:unknown",label:"Unknown context"}:c<=8e3?{key:"ctx:<=8k",label:"≤ 8K tokens"}:c<=32e3?{key:"ctx:8k-32k",label:"8K–32K tokens"}:c<=128e3?{key:"ctx:32k-128k",label:"32K–128K tokens"}:c<=1e6?{key:"ctx:128k-1m",label:"128K–1M tokens"}:{key:"ctx:>1m",label:"> 1M tokens"};default:return(0,af.po)(ah(a))}})(a,m)):[],[o,Q,m]);if(b)return(0,f.jsx)(j.default,{display:"flex",justifyContent:"center",py:4,children:(0,f.jsx)(r.default,{})});let S=a=>(0,f.jsx)(s.Ay,{container:!0,spacing:2,children:a.map(a=>(0,f.jsx)(s.Ay,{item:!0,xs:12,sm:6,md:4,children:(0,f.jsx)(ad,{model:a,onEdit:()=>P(a),onDelete:()=>e(a.id),folder:a.folder,folders:h,onSetFolder:k?b=>k(a.id,b):void 0})},a.id))});return(0,f.jsxs)(j.default,{children:[(0,f.jsx)(i.A,{elevation:1,sx:{mb:2,p:1},children:(0,f.jsxs)(j.default,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:1},children:[(0,f.jsxs)(t.default,{variant:"body2",color:"textSecondary",children:[a.length," model",1===a.length?"":"s",(0,f.jsx)(j.default,{component:"span",sx:{mx:1,opacity:.5},children:"\xb7"}),"Sorted by: ",ag[m]]}),(0,f.jsxs)(j.default,{sx:{display:"flex",gap:1,alignItems:"center"},children:[(0,f.jsx)(u.A,{size:"small",onClick:a=>K(a.currentTarget),color:"none"!==o?"primary":"default",sx:{border:`1px solid ${l.palette.divider}`,backgroundColor:l.palette.background.default},title:"Group cards",children:(0,f.jsx)(F.A,{fontSize:"small"})}),(0,f.jsx)(u.A,{size:"small",onClick:a=>I(a.currentTarget),sx:{border:`1px solid ${l.palette.divider}`,backgroundColor:l.palette.background.default},title:"Sort models",children:(0,f.jsx)(A.A,{fontSize:"small"})})]})]})}),a&&0!==a.length?"none"===o?S(Q):R.map(a=>(0,f.jsx)(ae.A,{label:a.label,count:a.items.length,expanded:!L.has(a.key),onToggle:()=>(a=>{M(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})})(a.key),showFolderIcon:"folder"===o,children:S(a.items)},a.key)):(0,f.jsx)(j.default,{textAlign:"center",py:4,children:"No models found"}),(0,f.jsxs)(v.A,{anchorEl:J,open:!!J,onClose:()=>K(null),anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},children:[(0,f.jsxs)(w.A,{selected:"none"===o,onClick:()=>O("none"),children:[(0,f.jsx)(x.A,{children:(0,f.jsx)(G.A,{fontSize:"small"})}),(0,f.jsx)(y.A,{primary:"No grouping"})]}),(0,f.jsxs)(w.A,{selected:"folder"===o,onClick:()=>O("folder"),children:[(0,f.jsx)(x.A,{children:(0,f.jsx)(H.A,{fontSize:"small"})}),(0,f.jsx)(y.A,{primary:"By folder"})]}),(0,f.jsxs)(w.A,{selected:"sort"===o,onClick:()=>O("sort"),children:[(0,f.jsx)(x.A,{children:(0,f.jsx)(F.A,{fontSize:"small"})}),(0,f.jsx)(y.A,{primary:"By sort setting"})]})]}),(0,f.jsxs)(v.A,{anchorEl:C,open:!!C,onClose:()=>I(null),anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},children:[(0,f.jsxs)(w.A,{selected:"name-asc"===m,onClick:()=>N("name-asc"),children:[(0,f.jsx)(x.A,{children:(0,f.jsx)(B.A,{fontSize:"small"})}),(0,f.jsx)(y.A,{primary:"Name (A-Z)"})]}),(0,f.jsxs)(w.A,{selected:"name-desc"===m,onClick:()=>N("name-desc"),children:[(0,f.jsx)(x.A,{children:(0,f.jsx)(B.A,{fontSize:"small",sx:{transform:"scaleX(-1)"}})}),(0,f.jsx)(y.A,{primary:"Name (Z-A)"})]}),(0,f.jsx)(z.A,{}),(0,f.jsxs)(w.A,{selected:"provider"===m,onClick:()=>N("provider"),children:[(0,f.jsx)(x.A,{children:(0,f.jsx)(D,{fontSize:"small"})}),(0,f.jsx)(y.A,{primary:"Provider"})]}),(0,f.jsx)(z.A,{}),(0,f.jsxs)(w.A,{selected:"context-desc"===m,onClick:()=>N("context-desc"),children:[(0,f.jsx)(x.A,{children:(0,f.jsx)(E,{fontSize:"small"})}),(0,f.jsx)(y.A,{primary:"Context (largest)"})]}),(0,f.jsxs)(w.A,{selected:"context-asc"===m,onClick:()=>N("context-asc"),children:[(0,f.jsx)(x.A,{children:(0,f.jsx)(E,{fontSize:"small",sx:{transform:"scaleY(-1)"}})}),(0,f.jsx)(y.A,{primary:"Context (smallest)"})]})]})]})};var al=c(82605),am=c(98256),an=c(7675),ao=c(43249),ap=c(2783),aq=c(37489),ar=c(92869),as=c(55973),at=c(66335),au=c(62383),av=c(10005);function aw(a){return a.normalize("NFD").replace(/[\u0300-\u036f]/g,"")}let ax=function(a={}){let{ignoreAccents:b=!0,ignoreCase:c=!0,limit:d,matchFrom:e="any",stringify:f,trim:g=!1}=a;return(a,{inputValue:h,getOptionLabel:i})=>{let j=g?h.trim():h;c&&(j=j.toLowerCase()),b&&(j=aw(j));let k=j?a.filter(a=>{let d=(f||i)(a);return c&&(d=d.toLowerCase()),b&&(d=aw(d)),"start"===e?d.startsWith(j):d.includes(j)}):a;return"number"==typeof d?k.slice(0,d):k}}(),ay=a=>null!==a.current&&a.current.parentElement?.contains(document.activeElement),az=[];function aA(a,b,c){if(b||null==a)return"";let d=c(a);return"string"==typeof d?d:""}let aB=function(a){let{unstable_isActiveElementInListbox:b=ay,unstable_classNamePrefix:c="Mui",autoComplete:d=!1,autoHighlight:e=!1,autoSelect:f=!1,blurOnSelect:h=!1,clearOnBlur:i=!a.freeSolo,clearOnEscape:j=!1,componentName:k="useAutocomplete",defaultValue:l=a.multiple?az:null,disableClearable:m=!1,disableCloseOnSelect:n=!1,disabled:o,disabledItemsFocusable:p=!1,disableListWrap:q=!1,filterOptions:r=ax,filterSelectedOptions:s=!1,freeSolo:t=!1,getOptionDisabled:u,getOptionKey:v,getOptionLabel:w=a=>a.label??a,groupBy:x,handleHomeEndKeys:y=!a.freeSolo,id:z,includeInputInList:A=!1,inputValue:B,isOptionEqualToValue:C=(a,b)=>a===b,multiple:D=!1,onChange:E,onClose:F,onHighlightChange:G,onInputChange:H,onOpen:I,open:J,openOnFocus:K=!1,options:L,readOnly:M=!1,selectOnFocus:N=!a.freeSolo,value:O}=a,P=(0,ar.A)(z),Q=w;Q=a=>{let b=w(a);return"string"!=typeof b?String(b):b};let R=g.useRef(!1),S=g.useRef(!0),T=g.useRef(null),U=g.useRef(null),[V,W]=g.useState(null),[X,Y]=g.useState(-1),Z=e?0:-1,$=g.useRef(Z),_=g.useRef(aA(l??O,D,Q)).current,[aa,ab]=(0,as.A)({controlled:O,default:l,name:k}),[ac,ad]=(0,as.A)({controlled:B,default:_,name:k,state:"inputValue"}),[ae,af]=g.useState(!1),ag=g.useCallback((a,b,c)=>{if(!(D?aa.length<b.length:null!==b)&&!i)return;let d=aA(b,D,Q);ac!==d&&(ad(d),H&&H(a,d,c))},[Q,ac,D,H,ad,i,aa]),[ah,ai]=(0,as.A)({controlled:J,default:!1,name:k,state:"open"}),[aj,ak]=g.useState(!0),al=!D&&null!=aa&&ac===Q(aa),am=ah&&!M,an=am?r(L.filter(a=>!(s&&(D?aa:[aa]).some(b=>null!==b&&C(a,b)))),{inputValue:al&&aj?"":ac,getOptionLabel:Q}):[],ao=(0,at.A)({filteredOptions:an,value:aa,inputValue:ac});g.useEffect(()=>{let a=aa!==ao.value;(!ae||a)&&(!t||a)&&ag(null,aa,"reset")},[aa,ag,ae,ao.value,t]);let ap=ah&&an.length>0&&!M,aq=(0,au.A)(a=>{-1===a?T.current.focus():V.querySelector(`[data-tag-index="${a}"]`).focus()});g.useEffect(()=>{D&&X>aa.length-1&&(Y(-1),aq(-1))},[aa,D,X,aq]);let aw=(0,au.A)(({event:a,index:b,reason:d})=>{if($.current=b,-1===b?T.current.removeAttribute("aria-activedescendant"):T.current.setAttribute("aria-activedescendant",`${P}-option-${b}`),G&&["mouse","keyboard","touch"].includes(d)&&G(a,-1===b?null:an[b],d),!U.current)return;let e=U.current.querySelector(`[role="option"].${c}-focused`);e&&(e.classList.remove(`${c}-focused`),e.classList.remove(`${c}-focusVisible`));let f=U.current;if("listbox"!==U.current.getAttribute("role")&&(f=U.current.parentElement.querySelector('[role="listbox"]')),!f)return;if(-1===b){f.scrollTop=0;return}let g=U.current.querySelector(`[data-option-index="${b}"]`);if(g&&(g.classList.add(`${c}-focused`),"keyboard"===d&&g.classList.add(`${c}-focusVisible`),f.scrollHeight>f.clientHeight&&"mouse"!==d&&"touch"!==d)){let a=f.clientHeight+f.scrollTop,b=g.offsetTop+g.offsetHeight;b>a?f.scrollTop=b-f.clientHeight:g.offsetTop-g.offsetHeight*(1.3*!!x)<f.scrollTop&&(f.scrollTop=g.offsetTop-g.offsetHeight*(1.3*!!x))}}),aB=(0,au.A)(({event:a,diff:b,direction:c="next",reason:e})=>{if(!am)return;let f=function(a,b){if(!U.current||a<0||a>=an.length)return -1;let c=a;for(;;){let d=U.current.querySelector(`[data-option-index="${c}"]`),e=!p&&(!d||d.disabled||"true"===d.getAttribute("aria-disabled"));if(d&&d.hasAttribute("tabindex")&&!e)return c;if((c="next"===b?(c+1)%an.length:(c-1+an.length)%an.length)===a)return -1}}((()=>{let a=an.length-1;if("reset"===b)return Z;if("start"===b)return 0;if("end"===b)return a;let c=$.current+b;return c<0?-1===c&&A?-1:q&&-1!==$.current||Math.abs(b)>1?0:a:c>a?c===a+1&&A?-1:q||Math.abs(b)>1?a:0:c})(),c);if(aw({index:f,reason:e,event:a}),d&&"reset"!==b)if(-1===f)T.current.value=ac;else{let a=Q(an[f]);T.current.value=a,0===a.toLowerCase().indexOf(ac.toLowerCase())&&ac.length>0&&T.current.setSelectionRange(ac.length,a.length)}}),aC=g.useCallback(()=>{if(!am)return;let a=(()=>{var a,b;if(-1!==$.current&&ao.filteredOptions&&ao.filteredOptions.length!==an.length&&ao.inputValue===ac&&(D?aa.length===ao.value.length&&ao.value.every((a,b)=>Q(aa[b])===Q(a)):(a=ao.value,b=aa,(a?Q(a):"")===(b?Q(b):"")))){let a=ao.filteredOptions[$.current];if(a)return an.findIndex(b=>Q(b)===Q(a))}return -1})();if(-1!==a){$.current=a;return}let b=D?aa[0]:aa;if(0===an.length||null==b)return void aB({diff:"reset"});if(U.current){if(null!=b){let a=an[$.current];if(D&&a&&-1!==aa.findIndex(b=>C(a,b)))return;let c=an.findIndex(a=>C(a,b));-1===c?aB({diff:"reset"}):aw({index:c});return}if($.current>=an.length-1)return void aw({index:an.length-1});aw({index:$.current})}},[an.length,!D&&aa,s,aB,aw,am,ac,D]),aD=(0,au.A)(a=>{(0,av.A)(U,a),a&&aC()});g.useEffect(()=>{aC()},[aC]);let aE=a=>{!ah&&(ai(!0),ak(!0),I&&I(a))},aF=(a,b)=>{ah&&(ai(!1),F&&F(a,b))},aG=(a,b,c,d)=>{if(D){if(aa.length===b.length&&aa.every((a,c)=>a===b[c]))return}else if(aa===b)return;E&&E(a,b,c,d),ab(b)},aH=g.useRef(!1),aI=(a,b,c="selectOption",d="options")=>{let e=c,f=b;if(D){let a=(f=Array.isArray(aa)?aa.slice():[]).findIndex(a=>C(b,a));-1===a?f.push(b):"freeSolo"!==d&&(f.splice(a,1),e="removeOption")}ag(a,f,e),aG(a,f,e,{option:b}),n||a&&(a.ctrlKey||a.metaKey)||aF(a,e),(!0===h||"touch"===h&&aH.current||"mouse"===h&&!aH.current)&&T.current.blur()},aJ=(a,b)=>{if(!D)return;""===ac&&aF(a,"toggleInput");let c=X;-1===X?""===ac&&"previous"===b&&(c=aa.length-1):((c+="next"===b?1:-1)<0&&(c=0),c===aa.length&&(c=-1)),Y(c=function(a,b){if(-1===a)return -1;let c=a;for(;;){if("next"===b&&c===aa.length||"previous"===b&&-1===c)return -1;let a=V.querySelector(`[data-tag-index="${c}"]`);if(a&&a.hasAttribute("tabindex")&&!a.disabled&&"true"!==a.getAttribute("aria-disabled"))return c;c+="next"===b?1:-1}}(c,b)),aq(c)},aK=a=>{R.current=!0,ad(""),H&&H(a,"","clear"),aG(a,D?[]:null,"clear")},aL=a=>{af(!0),K&&!R.current&&aE(a)},aM=a=>{if(b(U))return void T.current.focus();af(!1),S.current=!0,R.current=!1,f&&-1!==$.current&&am?aI(a,an[$.current],"blur"):f&&t&&""!==ac?aI(a,ac,"blur","freeSolo"):i&&ag(a,aa,"blur"),aF(a,"blur")},aN=a=>{let b=a.target.value;ac!==b&&(ad(b),ak(!1),H&&H(a,b,"input")),""===b?m||D||aG(a,null,"clear"):aE(a)},aO=a=>{let b=Number(a.currentTarget.getAttribute("data-option-index"));$.current!==b&&aw({event:a,index:b,reason:"mouse"})},aP=a=>{aw({event:a,index:Number(a.currentTarget.getAttribute("data-option-index")),reason:"touch"}),aH.current=!0},aQ=a=>{let b=Number(a.currentTarget.getAttribute("data-option-index"));aI(a,an[b],"selectOption"),aH.current=!1},aR=a=>{ah?aF(a,"toggleInput"):aE(a)},aS=a=>{a.currentTarget.contains(a.target)&&a.target.getAttribute("id")!==P&&a.preventDefault()},aT=a=>{a.currentTarget.contains(a.target)&&(T.current.focus(),N&&S.current&&T.current.selectionEnd-T.current.selectionStart==0&&T.current.select(),S.current=!1)},aU=a=>{o||""!==ac&&ah||aR(a)},aV=t&&ac.length>0;aV=aV||(D?aa.length>0:null!==aa);let aW=an;return x&&(aW=an.reduce((a,b,c)=>{let d=x(b);return a.length>0&&a[a.length-1].group===d?a[a.length-1].options.push(b):a.push({key:c,index:c,group:d,options:[b]}),a},[])),o&&ae&&aM(),{getRootProps:(a={})=>({...a,onKeyDown:b=>{if(a.onKeyDown&&a.onKeyDown(b),!b.defaultMuiPrevented&&(-1===X||["ArrowLeft","ArrowRight"].includes(b.key)||(Y(-1),aq(-1)),229!==b.which))switch(b.key){case"Home":am&&y&&(b.preventDefault(),aB({diff:"start",direction:"next",reason:"keyboard",event:b}));break;case"End":am&&y&&(b.preventDefault(),aB({diff:"end",direction:"previous",reason:"keyboard",event:b}));break;case"PageUp":b.preventDefault(),aB({diff:-5,direction:"previous",reason:"keyboard",event:b}),aE(b);break;case"PageDown":b.preventDefault(),aB({diff:5,direction:"next",reason:"keyboard",event:b}),aE(b);break;case"ArrowDown":b.preventDefault(),aB({diff:1,direction:"next",reason:"keyboard",event:b}),aE(b);break;case"ArrowUp":b.preventDefault(),aB({diff:-1,direction:"previous",reason:"keyboard",event:b}),aE(b);break;case"ArrowLeft":aJ(b,"previous");break;case"ArrowRight":aJ(b,"next");break;case"Enter":if(-1!==$.current&&am){let a=an[$.current],c=!!u&&u(a);if(b.preventDefault(),c)return;aI(b,a,"selectOption"),d&&T.current.setSelectionRange(T.current.value.length,T.current.value.length)}else t&&""!==ac&&!1===al&&(D&&b.preventDefault(),aI(b,ac,"createOption","freeSolo"));break;case"Escape":am?(b.preventDefault(),b.stopPropagation(),aF(b,"escape")):j&&(""!==ac||D&&aa.length>0)&&(b.preventDefault(),b.stopPropagation(),aK(b));break;case"Backspace":if(D&&!M&&""===ac&&aa.length>0){let a=-1===X?aa.length-1:X,c=aa.slice();c.splice(a,1),aG(b,c,"removeOption",{option:aa[a]})}break;case"Delete":if(D&&!M&&""===ac&&aa.length>0&&-1!==X){let a=aa.slice();a.splice(X,1),aG(b,a,"removeOption",{option:aa[X]})}}},onMouseDown:aS,onClick:aT}),getInputLabelProps:()=>({id:`${P}-label`,htmlFor:P}),getInputProps:()=>({id:P,value:ac,onBlur:aM,onFocus:aL,onChange:aN,onMouseDown:aU,"aria-activedescendant":am?"":null,"aria-autocomplete":d?"both":"list","aria-controls":ap?`${P}-listbox`:void 0,"aria-expanded":ap,autoComplete:"off",ref:T,autoCapitalize:"none",spellCheck:"false",role:"combobox",disabled:o}),getClearProps:()=>({tabIndex:-1,type:"button",onClick:aK}),getPopupIndicatorProps:()=>({tabIndex:-1,type:"button",onClick:aR}),getTagProps:({index:a})=>({key:a,"data-tag-index":a,tabIndex:-1,...!M&&{onDelete:b=>{let c=aa.slice();c.splice(a,1),aG(b,c,"removeOption",{option:aa[a]})}}}),getListboxProps:()=>({role:"listbox",id:`${P}-listbox`,"aria-labelledby":`${P}-label`,ref:aD,onMouseDown:a=>{a.preventDefault()}}),getOptionProps:({index:a,option:b})=>{let c=(D?aa:[aa]).some(a=>null!=a&&C(b,a)),d=!!u&&u(b);return{key:v?.(b)??Q(b),tabIndex:-1,role:"option",id:`${P}-option-${a}`,onMouseMove:aO,onClick:aQ,onTouchStart:aP,"data-option-index":a,"aria-disabled":d,"aria-selected":c}},id:P,inputValue:ac,value:aa,dirty:aV,expanded:am&&V,popupOpen:am,focused:ae||-1!==X,anchorEl:V,setAnchorEl:W,focusedTag:X,groupedOptions:aW}};var aC=c(31605),aD=c(18168),aE=c(68333),aF=c(6636),aG=c(6638),aH=c(29565),aI=c(33105);function aJ(a){return(0,aI.Ay)("MuiListSubheader",a)}(0,aH.A)("MuiListSubheader",["root","colorPrimary","colorInherit","gutters","inset","sticky"]);let aK=(0,aD.Ay)("li",{name:"MuiListSubheader",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.root,"default"!==c.color&&b[`color${(0,aG.A)(c.color)}`],!c.disableGutters&&b.gutters,c.inset&&b.inset,!c.disableSticky&&b.sticky]}})((0,aE.A)(({theme:a})=>({boxSizing:"border-box",lineHeight:"48px",listStyle:"none",color:(a.vars||a).palette.text.secondary,fontFamily:a.typography.fontFamily,fontWeight:a.typography.fontWeightMedium,fontSize:a.typography.pxToRem(14),variants:[{props:{color:"primary"},style:{color:(a.vars||a).palette.primary.main}},{props:{color:"inherit"},style:{color:"inherit"}},{props:({ownerState:a})=>!a.disableGutters,style:{paddingLeft:16,paddingRight:16}},{props:({ownerState:a})=>a.inset,style:{paddingLeft:72}},{props:({ownerState:a})=>!a.disableSticky,style:{position:"sticky",top:0,zIndex:1,backgroundColor:(a.vars||a).palette.background.paper}}]}))),aL=g.forwardRef(function(a,b){let c=(0,aF.b)({props:a,name:"MuiListSubheader"}),{className:d,color:e="default",component:g="li",disableGutters:h=!1,disableSticky:i=!1,inset:j=!1,...k}=c,l={...c,color:e,component:g,disableGutters:h,disableSticky:i,inset:j},m=(a=>{let{classes:b,color:c,disableGutters:d,inset:e,disableSticky:f}=a,g={root:["root","default"!==c&&`color${(0,aG.A)(c)}`,!d&&"gutters",e&&"inset",!f&&"sticky"]};return(0,ap.A)(g,aJ,b)})(l);return(0,f.jsx)(aK,{as:g,className:(0,ao.A)(m.root,d),ref:b,ownerState:l,...k})});aL&&(aL.muiSkipListHighlight=!0);var aM=c(88679),aN=c(13763),aO=c(91003),aP=c(37659),aQ=c(88570),aR=c(41606);function aS(a){return(0,aI.Ay)("MuiAutocomplete",a)}let aT=(0,aH.A)("MuiAutocomplete",["root","expanded","fullWidth","focused","focusVisible","tag","tagSizeSmall","tagSizeMedium","hasPopupIcon","hasClearIcon","inputRoot","input","inputFocused","endAdornment","clearIndicator","popupIndicator","popupIndicatorOpen","popper","popperDisablePortal","paper","listbox","loading","noOptions","option","groupLabel","groupUl"]);var aU=c(20385);let aV=(0,aD.Ay)("div",{name:"MuiAutocomplete",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a,{fullWidth:d,hasClearIcon:e,hasPopupIcon:f,inputFocused:g,size:h}=c;return[{[`& .${aT.tag}`]:b.tag},{[`& .${aT.tag}`]:b[`tagSize${(0,aG.A)(h)}`]},{[`& .${aT.inputRoot}`]:b.inputRoot},{[`& .${aT.input}`]:b.input},{[`& .${aT.input}`]:g&&b.inputFocused},b.root,d&&b.fullWidth,f&&b.hasPopupIcon,e&&b.hasClearIcon]}})({[`&.${aT.focused} .${aT.clearIndicator}`]:{visibility:"visible"},"@media (pointer: fine)":{[`&:hover .${aT.clearIndicator}`]:{visibility:"visible"}},[`& .${aT.tag}`]:{margin:3,maxWidth:"calc(100% - 6px)"},[`& .${aT.inputRoot}`]:{[`.${aT.hasPopupIcon}&, .${aT.hasClearIcon}&`]:{paddingRight:30},[`.${aT.hasPopupIcon}.${aT.hasClearIcon}&`]:{paddingRight:56},[`& .${aT.input}`]:{width:0,minWidth:30}},[`& .${aM.A.root}`]:{paddingBottom:1,"& .MuiInput-input":{padding:"4px 4px 4px 0px"}},[`& .${aM.A.root}.${aN.A.sizeSmall}`]:{[`& .${aM.A.input}`]:{padding:"2px 4px 3px 0"}},[`& .${aO.A.root}`]:{padding:9,[`.${aT.hasPopupIcon}&, .${aT.hasClearIcon}&`]:{paddingRight:39},[`.${aT.hasPopupIcon}.${aT.hasClearIcon}&`]:{paddingRight:65},[`& .${aT.input}`]:{padding:"7.5px 4px 7.5px 5px"},[`& .${aT.endAdornment}`]:{right:9}},[`& .${aO.A.root}.${aN.A.sizeSmall}`]:{paddingTop:6,paddingBottom:6,paddingLeft:6,[`& .${aT.input}`]:{padding:"2.5px 4px 2.5px 8px"}},[`& .${aP.A.root}`]:{paddingTop:19,paddingLeft:8,[`.${aT.hasPopupIcon}&, .${aT.hasClearIcon}&`]:{paddingRight:39},[`.${aT.hasPopupIcon}.${aT.hasClearIcon}&`]:{paddingRight:65},[`& .${aP.A.input}`]:{padding:"7px 4px"},[`& .${aT.endAdornment}`]:{right:9}},[`& .${aP.A.root}.${aN.A.sizeSmall}`]:{paddingBottom:1,[`& .${aP.A.input}`]:{padding:"2.5px 4px"}},[`& .${aN.A.hiddenLabel}`]:{paddingTop:8},[`& .${aP.A.root}.${aN.A.hiddenLabel}`]:{paddingTop:0,paddingBottom:0,[`& .${aT.input}`]:{paddingTop:16,paddingBottom:17}},[`& .${aP.A.root}.${aN.A.hiddenLabel}.${aN.A.sizeSmall}`]:{[`& .${aT.input}`]:{paddingTop:8,paddingBottom:9}},[`& .${aT.input}`]:{flexGrow:1,textOverflow:"ellipsis",opacity:0},variants:[{props:{fullWidth:!0},style:{width:"100%"}},{props:{size:"small"},style:{[`& .${aT.tag}`]:{margin:2,maxWidth:"calc(100% - 4px)"}}},{props:{inputFocused:!0},style:{[`& .${aT.input}`]:{opacity:1}}},{props:{multiple:!0},style:{[`& .${aT.inputRoot}`]:{flexWrap:"wrap"}}}]}),aW=(0,aD.Ay)("div",{name:"MuiAutocomplete",slot:"EndAdornment",overridesResolver:(a,b)=>b.endAdornment})({position:"absolute",right:0,top:"50%",transform:"translate(0, -50%)"}),aX=(0,aD.Ay)(u.A,{name:"MuiAutocomplete",slot:"ClearIndicator",overridesResolver:(a,b)=>b.clearIndicator})({marginRight:-2,padding:4,visibility:"hidden"}),aY=(0,aD.Ay)(u.A,{name:"MuiAutocomplete",slot:"PopupIndicator",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.popupIndicator,c.popupOpen&&b.popupIndicatorOpen]}})({padding:2,marginRight:-2,variants:[{props:{popupOpen:!0},style:{transform:"rotate(180deg)"}}]}),aZ=(0,aD.Ay)(aC.A,{name:"MuiAutocomplete",slot:"Popper",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[{[`& .${aT.option}`]:b.option},b.popper,c.disablePortal&&b.popperDisablePortal]}})((0,aE.A)(({theme:a})=>({zIndex:(a.vars||a).zIndex.modal,variants:[{props:{disablePortal:!0},style:{position:"absolute"}}]}))),a$=(0,aD.Ay)(i.A,{name:"MuiAutocomplete",slot:"Paper",overridesResolver:(a,b)=>b.paper})((0,aE.A)(({theme:a})=>({...a.typography.body1,overflow:"auto"}))),a_=(0,aD.Ay)("div",{name:"MuiAutocomplete",slot:"Loading",overridesResolver:(a,b)=>b.loading})((0,aE.A)(({theme:a})=>({color:(a.vars||a).palette.text.secondary,padding:"14px 16px"}))),a0=(0,aD.Ay)("div",{name:"MuiAutocomplete",slot:"NoOptions",overridesResolver:(a,b)=>b.noOptions})((0,aE.A)(({theme:a})=>({color:(a.vars||a).palette.text.secondary,padding:"14px 16px"}))),a1=(0,aD.Ay)("ul",{name:"MuiAutocomplete",slot:"Listbox",overridesResolver:(a,b)=>b.listbox})((0,aE.A)(({theme:a})=>({listStyle:"none",margin:0,padding:"8px 0",maxHeight:"40vh",overflow:"auto",position:"relative",[`& .${aT.option}`]:{minHeight:48,display:"flex",overflow:"hidden",justifyContent:"flex-start",alignItems:"center",cursor:"pointer",paddingTop:6,boxSizing:"border-box",outline:"0",WebkitTapHighlightColor:"transparent",paddingBottom:6,paddingLeft:16,paddingRight:16,[a.breakpoints.up("sm")]:{minHeight:"auto"},[`&.${aT.focused}`]:{backgroundColor:(a.vars||a).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},'&[aria-disabled="true"]':{opacity:(a.vars||a).palette.action.disabledOpacity,pointerEvents:"none"},[`&.${aT.focusVisible}`]:{backgroundColor:(a.vars||a).palette.action.focus},'&[aria-selected="true"]':{backgroundColor:a.vars?`rgba(${a.vars.palette.primary.mainChannel} / ${a.vars.palette.action.selectedOpacity})`:(0,aq.X4)(a.palette.primary.main,a.palette.action.selectedOpacity),[`&.${aT.focused}`]:{backgroundColor:a.vars?`rgba(${a.vars.palette.primary.mainChannel} / calc(${a.vars.palette.action.selectedOpacity} + ${a.vars.palette.action.hoverOpacity}))`:(0,aq.X4)(a.palette.primary.main,a.palette.action.selectedOpacity+a.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(a.vars||a).palette.action.selected}},[`&.${aT.focusVisible}`]:{backgroundColor:a.vars?`rgba(${a.vars.palette.primary.mainChannel} / calc(${a.vars.palette.action.selectedOpacity} + ${a.vars.palette.action.focusOpacity}))`:(0,aq.X4)(a.palette.primary.main,a.palette.action.selectedOpacity+a.palette.action.focusOpacity)}}}}))),a2=(0,aD.Ay)(aL,{name:"MuiAutocomplete",slot:"GroupLabel",overridesResolver:(a,b)=>b.groupLabel})((0,aE.A)(({theme:a})=>({backgroundColor:(a.vars||a).palette.background.paper,top:-8}))),a3=(0,aD.Ay)("ul",{name:"MuiAutocomplete",slot:"GroupUl",overridesResolver:(a,b)=>b.groupUl})({padding:0,[`& .${aT.option}`]:{paddingLeft:24}}),a4=g.forwardRef(function(a,b){let c,h=(0,aF.b)({props:a,name:"MuiAutocomplete"}),{autoComplete:j=!1,autoHighlight:k=!1,autoSelect:l=!1,blurOnSelect:m=!1,ChipProps:n,className:o,clearIcon:p=d||(d=(0,f.jsx)(aQ.A,{fontSize:"small"})),clearOnBlur:q=!h.freeSolo,clearOnEscape:r=!1,clearText:s="Clear",closeText:t="Close",componentsProps:u,defaultValue:v=h.multiple?[]:null,disableClearable:w=!1,disableCloseOnSelect:x=!1,disabled:y=!1,disabledItemsFocusable:z=!1,disableListWrap:A=!1,disablePortal:B=!1,filterOptions:C,filterSelectedOptions:D=!1,forcePopupIcon:E="auto",freeSolo:F=!1,fullWidth:G=!1,getLimitTagsText:H=a=>`+${a}`,getOptionDisabled:I,getOptionKey:J,getOptionLabel:K,isOptionEqualToValue:M,groupBy:N,handleHomeEndKeys:O=!h.freeSolo,id:P,includeInputInList:Q=!1,inputValue:R,limitTags:S=-1,ListboxComponent:T,ListboxProps:U,loading:V=!1,loadingText:W="Loading…",multiple:X=!1,noOptionsText:Y="No options",onChange:Z,onClose:$,onHighlightChange:_,onInputChange:aa,onOpen:ab,open:ac,openOnFocus:ad=!1,openText:ae="Open",options:af,PaperComponent:ag,PopperComponent:ah,popupIcon:ai=e||(e=(0,f.jsx)(aR.A,{})),readOnly:aj=!1,renderGroup:ak,renderInput:al,renderOption:am,renderTags:an,selectOnFocus:aq=!h.freeSolo,size:ar="medium",slots:as={},slotProps:at={},value:au,...av}=h,{getRootProps:aw,getInputProps:ax,getInputLabelProps:ay,getPopupIndicatorProps:az,getClearProps:aA,getTagProps:aD,getListboxProps:aE,getOptionProps:aH,value:aI,dirty:aJ,expanded:aK,id:aL,popupOpen:aM,focused:aN,focusedTag:aO,anchorEl:aP,setAnchorEl:aT,inputValue:a4,groupedOptions:a5}=aB({...h,componentName:"Autocomplete"}),a6=!w&&!y&&aJ&&!aj,a7=(!F||!0===E)&&!1!==E,{onMouseDown:a8}=ax(),{ref:a9,...ba}=aE(),bb=K||(a=>a.label??a),bc={...h,disablePortal:B,expanded:aK,focused:aN,fullWidth:G,getOptionLabel:bb,hasClearIcon:a6,hasPopupIcon:a7,inputFocused:-1===aO,popupOpen:aM,size:ar},bd=(a=>{let{classes:b,disablePortal:c,expanded:d,focused:e,fullWidth:f,hasClearIcon:g,hasPopupIcon:h,inputFocused:i,popupOpen:j,size:k}=a,l={root:["root",d&&"expanded",e&&"focused",f&&"fullWidth",g&&"hasClearIcon",h&&"hasPopupIcon"],inputRoot:["inputRoot"],input:["input",i&&"inputFocused"],tag:["tag",`tagSize${(0,aG.A)(k)}`],endAdornment:["endAdornment"],clearIndicator:["clearIndicator"],popupIndicator:["popupIndicator",j&&"popupIndicatorOpen"],popper:["popper",c&&"popperDisablePortal"],paper:["paper"],listbox:["listbox"],loading:["loading"],noOptions:["noOptions"],option:["option"],groupLabel:["groupLabel"],groupUl:["groupUl"]};return(0,ap.A)(l,aS,b)})(bc),be={slots:{paper:ag,popper:ah,...as},slotProps:{chip:n,listbox:U,...u,...at}},[bf,bg]=(0,aU.A)("listbox",{elementType:a1,externalForwardedProps:be,ownerState:bc,className:bd.listbox,additionalProps:ba,ref:a9}),[bh,bi]=(0,aU.A)("paper",{elementType:i.A,externalForwardedProps:be,ownerState:bc,className:bd.paper}),[bj,bk]=(0,aU.A)("popper",{elementType:aC.A,externalForwardedProps:be,ownerState:bc,className:bd.popper,additionalProps:{disablePortal:B,style:{width:aP?aP.clientWidth:null},role:"presentation",anchorEl:aP,open:aM}});if(X&&aI.length>0){let a=a=>({className:bd.tag,disabled:y,...aD(a)});c=an?an(aI,a,bc):aI.map((b,c)=>{let{key:d,...e}=a({index:c});return(0,f.jsx)(L.A,{label:bb(b),size:ar,...e,...be.slotProps.chip},d)})}if(S>-1&&Array.isArray(c)){let a=c.length-S;!aN&&a>0&&(c=c.splice(0,S)).push((0,f.jsx)("span",{className:bd.tag,children:H(a)},c.length))}let bl=ak||(a=>(0,f.jsxs)("li",{children:[(0,f.jsx)(a2,{className:bd.groupLabel,ownerState:bc,component:"div",children:a.group}),(0,f.jsx)(a3,{className:bd.groupUl,ownerState:bc,children:a.children})]},a.key)),bm=am||((a,b)=>{let{key:c,...d}=a;return(0,f.jsx)("li",{...d,children:bb(b)},c)}),bn=(a,b)=>{let c=aH({option:a,index:b});return bm({...c,className:bd.option},a,{selected:c["aria-selected"],index:b,inputValue:a4},bc)},bo=be.slotProps.clearIndicator,bp=be.slotProps.popupIndicator;return(0,f.jsxs)(g.Fragment,{children:[(0,f.jsx)(aV,{ref:b,className:(0,ao.A)(bd.root,o),ownerState:bc,...aw(av),children:al({id:aL,disabled:y,fullWidth:!0,size:"small"===ar?"small":void 0,InputLabelProps:ay(),InputProps:{ref:aT,className:bd.inputRoot,startAdornment:c,onMouseDown:a=>{a.target===a.currentTarget&&a8(a)},...(a6||a7)&&{endAdornment:(0,f.jsxs)(aW,{className:bd.endAdornment,ownerState:bc,children:[a6?(0,f.jsx)(aX,{...aA(),"aria-label":s,title:s,ownerState:bc,...bo,className:(0,ao.A)(bd.clearIndicator,bo?.className),children:p}):null,a7?(0,f.jsx)(aY,{...az(),disabled:y,"aria-label":aM?t:ae,title:aM?t:ae,ownerState:bc,...bp,className:(0,ao.A)(bd.popupIndicator,bp?.className),children:ai}):null]})}},inputProps:{className:bd.input,disabled:y,readOnly:aj,...ax()}})}),aP?(0,f.jsx)(aZ,{as:bj,...bk,children:(0,f.jsxs)(a$,{as:bh,...bi,children:[V&&0===a5.length?(0,f.jsx)(a_,{className:bd.loading,ownerState:bc,children:W}):null,0!==a5.length||F||V?null:(0,f.jsx)(a0,{className:bd.noOptions,ownerState:bc,role:"presentation",onMouseDown:a=>{a.preventDefault()},children:Y}),a5.length>0?(0,f.jsx)(bf,{as:T,...bg,children:a5.map((a,b)=>N?bl({key:a.key,group:a.group,children:a.options.map((b,c)=>bn(b,a.index+c))}):bn(a,b))}):null]})}):null]})});var a5=c(93083),a6=c(85557),a7=c(49938),a8=c(85838),a9=c(92173);let ba=(0,U.h)("frontend/components/models/modal"),bb=({open:a,model:b,onSave:c,onClose:d})=>{let e=(0,h.useRouter)(),{globalEnvVars:i}=(0,a7.rX)(),[l,o]=(0,g.useState)({}),[p,q]=(0,g.useState)({}),[v,x]=(0,g.useState)(null),[y,z]=(0,g.useState)(!1),[A,B]=(0,g.useState)(null),[C,D]=(0,g.useState)(!1),[E,F]=(0,g.useState)([]),[G,H]=(0,g.useState)(!1),I=(0,g.useRef)(null),J=(0,g.useRef)(null);(0,g.useEffect)(()=>{a&&F([])},[a]),(0,g.useEffect)(()=>{l.baseUrl&&(ba.debug("Base URL or API Key changed",{baseUrl:l.baseUrl}),F([]))},[l.baseUrl,l.ApiKey]),(0,g.useEffect)(()=>(J.current&&clearTimeout(J.current),l.baseUrl&&(J.current=setTimeout(()=>{ba.debug("Debounced fetchModels triggered",{name:l.name,baseUrl:l.baseUrl,searchTerm:l.name?`"${l.name}"`:"none"}),K(l.baseUrl,l.name)},100)),()=>{J.current&&clearTimeout(J.current)}),[l.name,l.baseUrl]),(0,g.useEffect)(()=>()=>{J.current&&clearTimeout(J.current)},[]);let K=async(a,c)=>{ba.debug("fetchModels called",{baseUrl:a,searchTerm:c?`"${c}"`:"none",apiKey:l.ApiKey?"present":"not present",isApiKeyBound:y}),H(!0),q({});try{let d=y&&A?`\${global:${A}}`:l.ApiKey&&l.ApiKey!==a9.RJ?l.ApiKey:void 0,e=await T.N.fetchProviderModels(a,b.id,c,d);ba.debug("Models fetched successfully",{count:e?.length,searchTerm:c?`"${c}"`:"none"}),Array.isArray(e)?(F(e),ba.info("Models set in state",{count:e.length,searchTerm:c?`"${c}"`:"none"})):(ba.warn("Unexpected API response format",{models:e}),F([]))}catch(b){ba.warn("Error fetching models",{baseUrl:a,searchTerm:c,error:b}),F([])}finally{H(!1)}};(0,g.useEffect)(()=>{if(a){o({...b,displayName:b.displayName||b.name});let a=(b.ApiKey||"").match(/\$\{global:([^}]+)\}/);a?(z(!0),B(a[1])):(z(!1),B(null),o(a=>({...a,ApiKey:b.name?a9.RJ:""})))}else o({name:"",displayName:"",description:"",ApiKey:"",baseUrl:"https://api.openai.com/v1",provider:"openai",adapter:"openai",promptTemplate:"",temperature:"0.0"}),z(!1),B(null);q({}),x(null)},[a,b]);let L=S(l.provider,l.adapter),M=(a,b)=>{o(c=>({...c,[a]:b})),q(b=>({...b,[a]:""}))},N=async a=>{a.preventDefault();let d={};if(l.name?.trim()||(d.name="Name is required"),l.displayName?.trim()||(d.displayName="Display Name is required"),y||l.ApiKey?.trim()||(d.ApiKey="API key is required"),Object.keys(d).length>0)return void q(d);try{let a=await c({id:b.id,name:l.name,displayName:l.displayName,description:l.description,ApiKey:l.ApiKey,baseUrl:l.baseUrl,provider:l.provider,adapter:l.adapter||"openai",promptTemplate:l.promptTemplate,temperature:l.temperature,contextWindow:l.contextWindow,maxTurns:l.maxTurns});a.success?e.refresh():q({submit:a.error||"Failed to save model"})}catch(a){ba.error("Failed to save model",{error:a}),q({submit:a?.message||"Failed to save model"})}};return(0,f.jsx)(V.A,{open:a,onClose:d,maxWidth:"xl",fullWidth:!0,PaperProps:{sx:{width:"95vw",height:"90vh",maxWidth:"95vw",maxHeight:"90vh"}},children:(0,f.jsxs)("form",{onSubmit:N,children:[(0,f.jsx)(W.A,{children:b?"Edit Model":"Add Model"}),(0,f.jsxs)(X.A,{sx:{display:"flex",flexDirection:"column",height:"calc(90vh - 130px)"},children:[p.submit&&(0,f.jsx)(n.A,{severity:"error",sx:{mb:2},children:p.submit}),v&&(0,f.jsx)(n.A,{severity:"info",sx:{mb:2},children:v}),(0,f.jsxs)(s.Ay,{container:!0,spacing:2,sx:{flexGrow:1},children:[(0,f.jsx)(s.Ay,{item:!0,xs:6,sx:{height:"100%"},children:(0,f.jsxs)(j.default,{sx:{display:"flex",flexDirection:"column",height:"100%",pr:2},children:[(0,f.jsx)(t.default,{variant:"h6",gutterBottom:!0,children:"Model Configuration"}),(0,f.jsx)(k.A,{autoFocus:!0,margin:"dense",label:"Display Name",fullWidth:!0,required:!0,value:l.displayName||"",onChange:a=>M("displayName",a.target.value),error:!!p.displayName,helperText:p.displayName||"The name shown in the UI"}),(0,f.jsxs)(al.A,{fullWidth:!0,margin:"dense",children:[(0,f.jsx)(am.A,{id:"provider-profile-label",children:"Provider"}),(0,f.jsx)(an.A,{labelId:"provider-profile-label",label:"Provider",value:L.id,onChange:a=>(a=>{let b=R.find(b=>b.id===a);b&&(o(a=>({...a,provider:b.provider,adapter:b.adapter,baseUrl:b.baseUrl})),q(a=>({...a,baseUrl:""})))})(a.target.value),children:R.map(a=>(0,f.jsx)(w.A,{value:a.id,children:a.label},a.id))})]}),(0,f.jsxs)(t.default,{variant:"caption",color:"text.secondary",sx:{mt:.5,mb:1,display:"block"},children:["Uses the ",(0,f.jsx)("strong",{children:L.sdkLabel}),"claude-cli"===L.adapter?". Paste an OAuth token from `claude setup-token` into the API Key field.":""]}),L.showBaseUrl&&(0,f.jsx)(k.A,{margin:"dense",label:"Base URL",fullWidth:!0,value:l.baseUrl||"",onChange:a=>M("baseUrl",a.target.value),helperText:"Endpoint for the OpenAI-compatible API."}),(0,f.jsx)(j.default,{sx:{position:"relative",mt:1,mb:1},children:(0,f.jsx)(k.A,{margin:"dense",label:"API Key",fullWidth:!0,required:!y,type:y?"text":"password",value:l.ApiKey||"",onChange:a=>M("ApiKey",a.target.value),error:!!p.ApiKey,helperText:p.ApiKey||"API key is required for this provider",InputProps:{readOnly:y,endAdornment:(0,f.jsx)(j.default,{sx:{display:"flex",alignItems:"center"},children:y?(0,f.jsx)(u.A,{onClick:()=>{z(!1),B(null),o(a=>({...a,ApiKey:""}))},size:"small",title:"Unbind from global variable",children:(0,f.jsx)(a5.A,{})}):(0,f.jsx)(u.A,{onClick:()=>{D(!0)},size:"small",title:"Bind to global variable",children:(0,f.jsx)(a6.A,{})})})}})}),(0,f.jsx)(a4,{freeSolo:!0,loading:G,options:L.showBaseUrl?E.map(a=>a.id):L.defaultModels??[],value:l.name||"",onChange:(a,b)=>{M("name",b||"")},onInputChange:(a,b)=>{M("name",b)},filterOptions:(a,b)=>{let c=b.inputValue.toLowerCase();return c?a.filter(a=>{let b=a.toLowerCase();if(b.includes(c))return!0;let d=0,e=0;for(;d<b.length&&e<c.length;)b[d]===c[e]&&e++,d++;return e===c.length}):a},ListboxProps:{style:{maxHeight:"300px",overflow:"auto"}},renderInput:a=>(0,f.jsx)(k.A,{...a,margin:"dense",label:"Technical Name",required:!0,error:!!p.name,helperText:p.name||"Used for API calls to the LLM. Type to search available models.",InputProps:{...a.InputProps,endAdornment:(0,f.jsxs)(f.Fragment,{children:[G?(0,f.jsx)(r.default,{color:"inherit",size:20}):null,a.InputProps.endAdornment]})}}),renderOption:(a,b)=>{let c=E.find(a=>a.id===b),{key:d,...e}=a;return(0,f.jsx)("li",{...e,style:{borderBottom:"1px solid rgba(0,0,0,0.1)",padding:"8px 16px"},children:(0,f.jsxs)(j.default,{children:[(0,f.jsx)(t.default,{variant:"body1",fontWeight:"bold",children:b}),c?.description&&(0,f.jsx)(t.default,{variant:"body2",color:"text.secondary",sx:{fontSize:"0.75rem"},children:c.description})]})},d)},noOptionsText:"No matching models found",loadingText:"Loading models..."}),(0,f.jsx)(k.A,{margin:"dense",label:"Description",fullWidth:!0,multiline:!0,rows:3,value:l.description||"",onChange:a=>M("description",a.target.value)}),(0,f.jsx)(k.A,{margin:"dense",label:"Context Window (tokens)",fullWidth:!0,type:"number",value:l.contextWindow??"",onChange:a=>{let b=a.target.value,c=""===b?void 0:Number(b);o(a=>({...a,contextWindow:void 0!==c&&Number.isFinite(c)&&c>0?Math.floor(c):void 0}))},helperText:"Optional. Enables the context-usage meter in chat (e.g. 200000 for Claude, 128000 for GPT-4o)."}),(0,f.jsx)(k.A,{margin:"dense",label:"Max Turns",fullWidth:!0,type:"number",value:l.maxTurns??"",onChange:a=>{let b=a.target.value,c=""===b?void 0:Number(b);o(a=>({...a,maxTurns:void 0!==c&&Number.isFinite(c)&&c>0?Math.floor(c):void 0}))},inputProps:{min:1},helperText:"Max agentic turns before a run stops (default 50). Process nodes can override this per-node."})]})}),(0,f.jsx)(s.Ay,{item:!0,xs:6,sx:{height:"100%"},children:(0,f.jsxs)(j.default,{sx:{display:"flex",flexDirection:"column",height:"100%",pl:2},children:[(0,f.jsx)(t.default,{variant:"h6",gutterBottom:!0,children:"Prompt Template"}),(0,f.jsx)(j.default,{sx:{flexGrow:1,display:"flex",flexDirection:"column",height:"calc(100% - 32px)"},children:(0,f.jsx)(a8.A,{ref:I,value:l.promptTemplate||"",onChange:a=>M("promptTemplate",a),label:"",height:"100%"})})]})})]}),C&&(0,f.jsxs)(j.default,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:400,bgcolor:"background.paper",boxShadow:24,p:4,borderRadius:1,zIndex:9999},children:[(0,f.jsx)(t.default,{variant:"h6",component:"h2",sx:{mb:2},children:"Bind to Global Variable"}),0===Object.keys(i).length?(0,f.jsx)(t.default,{sx:{mb:2},children:"No global variables available. Add some in Settings first."}):(0,f.jsx)(j.default,{sx:{maxHeight:300,overflow:"auto",mb:2},children:Object.entries(i).map(([a,b])=>(0,f.jsx)(m.A,{onClick:()=>(a=>{z(!0),B(a),o(b=>({...b,ApiKey:`\${global:${a}}`})),D(!1)})(a),fullWidth:!0,sx:{justifyContent:"flex-start",textAlign:"left",mb:1,p:1,"&:hover":{bgcolor:"action.hover"}},children:(0,f.jsxs)(j.default,{sx:{display:"flex",justifyContent:"space-between",width:"100%"},children:[(0,f.jsx)(t.default,{children:a}),(0,f.jsx)(t.default,{variant:"body2",color:"text.secondary",children:a.toLowerCase().includes("key")||a.toLowerCase().includes("secret")||a.toLowerCase().includes("token")||a.toLowerCase().includes("password")?"********":"object"==typeof b&&null!==b&&"value"in b?b.value:b})]})},a))}),(0,f.jsx)(j.default,{sx:{display:"flex",justifyContent:"flex-end"},children:(0,f.jsx)(m.A,{onClick:()=>D(!1),children:"Cancel"})})]})]}),(0,f.jsxs)(Y.A,{children:[(0,f.jsx)(m.A,{onClick:d,children:"Cancel"}),(0,f.jsx)(m.A,{type:"submit",variant:"contained",color:"primary",children:"Save"})]})]})})};var bc=c(61615);let bd=(0,U.h)("app/models/ModelClient");function be({initialModels:a}){let b=(0,h.useRouter)(),c=(0,h.useSearchParams)(),[d,e]=(0,g.useState)(a),[q,r]=(0,g.useState)(""),[s,t]=(0,g.useState)(null),[u,v]=(0,g.useState)(!1),[w,x]=(0,g.useState)(!1),[y,z]=(0,g.useState)(null),A="1"===c.get("add");if(!w)return bd.debug("Waiting for model service to be ready..."),(0,f.jsx)(bc.default,{});let B=c.get("edit"),C=A?y:B?d.find(a=>a.id===B)??null:null,D=A?!!y:!!B,E=async a=>{bd.info("Saving model",{modelId:a.id,modelName:a.name,mode:A?"add":"update"}),v(!0);try{let c=(0,T.X)(),d=A?await c.addModel(a):await c.updateModel(a);if(!d.success)return t(d.error||"Failed to save model."),{success:!1,error:d.error};{let a=await c.loadModels();return e(a),z(null),b.push("/models"),{success:!0,model:d.model}}}catch(a){return bd.error("Failed to save model",a),t(a?.message||"Failed to save model. Please try again."),{success:!1,error:a?.message||"Failed to save model"}}finally{v(!1)}},F=async a=>(bd.info("Editing model",{modelId:a.id,modelName:a.name}),b.push(`/models?edit=${a.id}`),{success:!0}),G=async()=>{bd.info("Opening add-model modal"),b.push("/models?add=1")},H=async a=>{bd.info("Deleting model",{modelId:a}),v(!0);try{let b=(0,T.X)();await b.deleteModel(a);let c=await b.loadModels();e(c)}catch(a){bd.error("Failed to delete model",a),t("Failed to delete model. Please try again.")}finally{v(!1)}},I=async(a,b)=>{bd.info("Setting model folder",{modelId:a,folder:b}),v(!0);try{let c=(0,T.X)(),d=await c.getModel(a);if(!d)return void t("Model not found.");let f=await c.updateModel({...d,folder:b});if(!f.success)return void t(f.error||"Failed to move model to folder.");let g=await c.loadModels();e(g)}catch(a){bd.error("Failed to set model folder",a),t(a?.message||"Failed to move model to folder. Please try again.")}finally{v(!1)}},J=async()=>{z(null),b.push("/models")},K=q.trim()?d.filter(a=>{let b=q.toLowerCase();return(a.displayName||"").toLowerCase().includes(b)||(a.name||"").toLowerCase().includes(b)}):d;return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(i.A,{elevation:1,sx:{mb:2,p:1},children:(0,f.jsxs)(j.default,{sx:{display:"flex",flexDirection:{xs:"column",sm:"row"},gap:1,alignItems:{xs:"stretch",sm:"center"},justifyContent:"space-between"},children:[(0,f.jsx)(k.A,{placeholder:"Search models...",variant:"outlined",size:"small",value:q,onChange:a=>r(a.target.value),InputProps:{startAdornment:(0,f.jsx)(l.A,{position:"start",children:(0,f.jsx)(p.A,{fontSize:"small"})})},sx:{maxWidth:{sm:300},width:"100%"}}),(0,f.jsx)(m.A,{variant:"contained",color:"primary",startIcon:(0,f.jsx)(o.A,{}),onClick:G,"data-tour":"add-model",children:"Add Model"})]})}),s&&(0,f.jsx)(j.default,{sx:{mb:2},children:(0,f.jsx)(n.A,{severity:"error",onClose:()=>t(null),children:s})}),(0,f.jsx)(ak,{models:K,isLoading:u,onAdd:G,onUpdate:F,onDelete:H,folders:(0,af.yF)(d,a=>a.folder),onSetFolder:I}),D&&C?(0,f.jsx)(bb,{open:D,model:C,onSave:E,onClose:J}):null]})}},43108:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GlobalError:()=>E.a,__next_app__:()=>K,handler:()=>M,pages:()=>J,routeModule:()=>L,tree:()=>I});var d=c(49754),e=c(9117),f=c(46595),g=c(32324),h=c(39326),i=c(38928),j=c(20175),k=c(12),l=c(54290),m=c(12696),n=c(52574),o=c(82802),p=c(77533),q=c(45229),r=c(32822),s=c(261),t=c(26453),u=c(52474),v=c(26713),w=c(51356),x=c(62685),y=c(36225),z=c(63446),A=c(2762),B=c(45742),C=c(86439),D=c(81170),E=c.n(D),F=c(62506),G=c(91203),H={};for(let a in F)0>["default","tree","pages","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(H[a]=()=>F[a]);c.d(b,H);let I={children:["",{children:["models",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,38108)),"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\models\\page.tsx"]}]},{error:[()=>Promise.resolve().then(c.bind(c,14867)),"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\models\\error.tsx"],loading:[()=>Promise.resolve().then(c.bind(c,50573)),"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\models\\loading.tsx"]}]},{layout:[()=>Promise.resolve().then(c.bind(c,51472)),"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\layout.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,81170,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,87028,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,90461,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,32768,23)),"next/dist/client/components/builtin/unauthorized.js"]}]}.children,J=["C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\models\\page.tsx"],K={require:c,loadChunk:()=>Promise.resolve()},L=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/models/page",pathname:"/models",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:I},distDir:".next",relativeProjectDir:""});async function M(a,b,d){var D;let H="/models/page";"/index"===H&&(H="/");let N=(0,h.getRequestMeta)(a,"postponed"),O=(0,h.getRequestMeta)(a,"minimalMode"),P=await L.prepare(a,b,{srcPage:H,multiZoneDraftMode:!1});if(!P)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Q,query:R,params:S,parsedUrl:T,pageIsDynamic:U,buildManifest:V,nextFontManifest:W,reactLoadableManifest:X,serverActionsManifest:Y,clientReferenceManifest:Z,subresourceIntegrityManifest:$,prerenderManifest:_,isDraftMode:aa,resolvedPathname:ab,revalidateOnlyGenerated:ac,routerServerContext:ad,nextConfig:ae,interceptionRoutePatterns:af}=P,ag=T.pathname||"/",ah=(0,s.normalizeAppPath)(H),{isOnDemandRevalidate:ai}=P,aj=L.match(ag,_),ak=!!_.routes[ab],al=!!(aj||ak||_.routes[ah]),am=a.headers["user-agent"]||"",an=(0,v.getBotType)(am),ao=(0,q.isHtmlBotRequest)(a),ap=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[u.NEXT_ROUTER_PREFETCH_HEADER],aq=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[u.RSC_HEADER]),ar=(0,t.getIsPossibleServerAction)(a),as=(0,m.checkIsAppPPREnabled)(ae.experimental.ppr)&&(null==(D=_.routes[ah]??_.dynamicRoutes[ah])?void 0:D.renderingMode)==="PARTIALLY_STATIC",at=!1,au=!1,av=as?N:void 0,aw=as&&aq&&!ap,ax=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ay=!am||(0,q.shouldServeStreamingMetadata)(am,ae.htmlLimitedBots);ao&&as&&(al=!1,ay=!1);let az=!0===L.isDev||!al||"string"==typeof N||aw,aA=ao&&as,aB=null;aa||!al||az||ar||av||aw||(aB=ab);let aC=aB;!aC&&L.isDev&&(aC=ab),L.isDev||aa||!al||!aq||aw||(0,k.d)(a.headers);let aD={...F,tree:I,pages:J,GlobalError:E(),handler:M,routeModule:L,__next_app__:K};Y&&Z&&(0,p.setReferenceManifestsSingleton)({page:H,clientReferenceManifest:Z,serverActionsManifest:Y,serverModuleMap:(0,r.createServerModuleMap)({serverActionsManifest:Y})});let aE=a.method||"GET",aF=(0,g.getTracer)(),aG=aF.getActiveScopeSpan();try{let f=L.getVaryHeader(ab,af);b.setHeader("Vary",f);let k=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return L.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=aF.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${aE} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aE} ${a.url}`)})},m=async({span:e,postponed:f,fallbackRouteParams:g})=>{let i={query:R,params:S,page:ah,sharedContext:{buildId:Q},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aD,Component:(0,j.T)(aD),params:S,routeModule:L,page:H,postponed:f,shouldWaitOnAllReady:aA,serveStreamingMetadata:ay,supportsDynamicResponse:"string"==typeof f||az,buildManifest:V,nextFontManifest:W,reactLoadableManifest:X,subresourceIntegrityManifest:$,serverActionsManifest:Y,clientReferenceManifest:Z,setIsrStatus:null==ad?void 0:ad.setIsrStatus,dir:c(33873).join(process.cwd(),L.relativeProjectDir),isDraftMode:aa,isRevalidate:al&&!f&&!aw,botType:an,isOnDemandRevalidate:ai,isPossibleServerAction:ar,assetPrefix:ae.assetPrefix,nextConfigOutput:ae.output,crossOrigin:ae.crossOrigin,trailingSlash:ae.trailingSlash,previewProps:_.preview,deploymentId:ae.deploymentId,enableTainting:ae.experimental.taint,htmlLimitedBots:ae.htmlLimitedBots,devtoolSegmentExplorer:ae.experimental.devtoolSegmentExplorer,reactMaxHeadersLength:ae.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:ae.experimental.cacheLife,basePath:ae.basePath,serverActions:ae.experimental.serverActions,...at?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isRevalidate:!0,isDebugDynamicAccesses:at}:{},experimental:{isRoutePPREnabled:as,expireTime:ae.expireTime,staleTimes:ae.experimental.staleTimes,cacheComponents:!!ae.experimental.cacheComponents,clientSegmentCache:!!ae.experimental.clientSegmentCache,clientParamParsing:!!ae.experimental.clientParamParsing,dynamicOnHover:!!ae.experimental.dynamicOnHover,inlineCss:!!ae.experimental.inlineCss,authInterrupts:!!ae.experimental.authInterrupts,clientTraceMetadata:ae.experimental.clientTraceMetadata||[]},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d)=>L.onRequestError(a,b,d,ad),err:(0,h.getRequestMeta)(a,"invokeError"),dev:L.isDev}},l=await k(e,i),{metadata:m}=l,{cacheControl:n,headers:o={},fetchTags:p}=m;if(p&&(o[z.NEXT_CACHE_TAGS_HEADER]=p),a.fetchMetrics=m.fetchMetrics,al&&(null==n?void 0:n.revalidate)===0&&!L.isDev&&!as){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ab}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
3
- see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:w.CachedRouteKind.APP_PAGE,html:l,headers:o,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},n=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i})=>{let j,k=!1===L.isDev,l=c||b.writableEnded;if(ai&&ac&&!f&&!O)return(null==ad?void 0:ad.render404)?await ad.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(aj&&(j=(0,x.parseFallbackField)(aj.fallback)),j===x.FallbackMode.PRERENDER&&(0,v.isBot)(am)&&(!as||ao)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ai=!0),ai&&(j!==x.FallbackMode.NOT_FOUND||f)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),!O&&j!==x.FallbackMode.BLOCKING_STATIC_RENDER&&aC&&!l&&!aa&&U&&(k||!ak)){let b;if((k||aj)&&j===x.FallbackMode.NOT_FOUND)throw new C.NoFallbackError;if(as&&!aq){let c="string"==typeof(null==aj?void 0:aj.fallback)?aj.fallback:k?ah:null;if(b=await L.handleResponse({cacheKey:c,req:a,nextConfig:ae,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:_,isRoutePPREnabled:as,responseGenerator:async()=>m({span:i,postponed:void 0,fallbackRouteParams:k||au?(0,o.u)(ah):null}),waitUntil:d.waitUntil}),null===b)return null;if(b)return delete b.cacheControl,b}}let n=ai||g||!av?void 0:av;if(at&&void 0!==n)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:w.CachedRouteKind.PAGES,html:y.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let p=U&&as&&((0,h.getRequestMeta)(a,"renderFallbackShell")||au)?(0,o.u)(ag):null;return m({span:i,postponed:n,fallbackRouteParams:p})},p=async c=>{var f,g,i,j,k;let l,o=await L.handleResponse({cacheKey:aB,responseGenerator:a=>n({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ai,isRoutePPREnabled:as,req:a,nextConfig:ae,prerenderManifest:_,waitUntil:d.waitUntil});if(aa&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),L.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!o){if(aB)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=o.value)?void 0:f.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=o.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let p="string"==typeof o.value.postponed;al&&!aw&&(!p||ap)&&(O||b.setHeader("x-nextjs-cache",ai?"REVALIDATED":o.isMiss?"MISS":o.isStale?"STALE":"HIT"),b.setHeader(u.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=o;if(av)l={revalidate:0,expire:void 0};else if(O&&aq&&!ap&&as)l={revalidate:0,expire:void 0};else if(!L.isDev)if(aa)l={revalidate:0,expire:void 0};else if(al){if(o.cacheControl)if("number"==typeof o.cacheControl.revalidate){if(o.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${o.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:o.cacheControl.revalidate,expire:(null==(j=o.cacheControl)?void 0:j.expire)??ae.expireTime}}else l={revalidate:z.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(o.cacheControl=l,"string"==typeof ax&&(null==q?void 0:q.kind)===w.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[z.NEXT_CACHE_TAGS_HEADER];O&&al&&c&&"string"==typeof c&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(ax);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(d,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.EMPTY,cacheControl:o.cacheControl}))}let r=(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r({...o,value:{...o.value,kind:"PAGE"}},{url:(0,h.getRequestMeta)(a,"initURL")}))return null;if(p&&av)throw Object.defineProperty(Error("Invariant: postponed state should not be present on a resume request"),"__NEXT_ERROR_CODE",{value:"E396",enumerable:!1,configurable:!0});if(q.headers){let a={...q.headers};for(let[c,d]of(O&&al||delete a[z.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let s=null==(g=q.headers)?void 0:g[z.NEXT_CACHE_TAGS_HEADER];if(O&&al&&s&&"string"==typeof s&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,s),!q.status||aq&&as||(b.statusCode=q.status),!O&&q.status&&G.RedirectStatusCode[q.status]&&aq&&(b.statusCode=200),p&&b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"1"),aq&&!aa){if(void 0===q.rscData){if(q.postponed)throw Object.defineProperty(Error("Invariant: Expected postponed to be undefined"),"__NEXT_ERROR_CODE",{value:"E372",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:q.html,cacheControl:aw?{revalidate:0,expire:void 0}:o.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(q.rscData,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl})}let t=q.html;if(!p||O||aq)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:o.cacheControl});if(at)return t.push(new ReadableStream({start(a){a.enqueue(A.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}});let v=new TransformStream;return t.push(v.readable),m({span:c,postponed:q.postponed,fallbackRouteParams:null}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(v.writable)}).catch(a=>{v.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}})};if(!aG)return await aF.withPropagatedContext(a.headers,()=>aF.trace(i.BaseServerSpan.handleRequest,{spanName:`${aE} ${a.url}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aE,"http.target":a.url}},p));await p(aG)}catch(b){throw b instanceof C.NoFallbackError||await L.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"render",revalidateReason:(0,f.c)({isRevalidate:al,isOnDemandRevalidate:ai})},ad),b}}},44618:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return e}});let d=c(18830)._(c(11962));function e(a,b){var c;let e={};"function"==typeof a&&(e.loader=a);let f={...e,...b};return(0,d.default)({...f,modules:null==(c=f.loadableGenerated)?void 0:c.modules})}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},44708:a=>{"use strict";a.exports=require("node:https")},46466:a=>{"use strict";a.exports=require("node:stream/promises")},48161:a=>{"use strict";a.exports=require("node:os")},49428:(a,b,c)=>{"use strict";c.d(b,{default:()=>p});var d=c(21124),e=c(38301),f=c.n(e),g=c(13973);let h=(0,c(19815).h)("frontend/components/AppWrapper"),i=(0,g.default)(async()=>{},{loadableGenerated:{modules:["frontend\\components\\AppWrapper.tsx -> ../contexts/ThemeContext"]},ssr:!1,loading:()=>(0,d.jsx)("div",{children:"Loading theme..."})}),j=(0,g.default)(async()=>{},{loadableGenerated:{modules:["frontend\\components\\AppWrapper.tsx -> ../contexts/StorageContext"]},ssr:!1,loading:()=>(0,d.jsx)("div",{children:"Loading storage..."})}),k=(0,g.default)(async()=>{},{loadableGenerated:{modules:["frontend\\components\\AppWrapper.tsx -> ./Navigation"]},ssr:!1,loading:()=>(0,d.jsx)("div",{children:"Loading navigation..."})}),l=(0,g.default)(async()=>{},{loadableGenerated:{modules:["frontend\\components\\AppWrapper.tsx -> ./EncryptionAuthDialog"]},ssr:!1,loading:()=>null}),m=(0,g.default)(async()=>{},{loadableGenerated:{modules:["frontend\\components\\AppWrapper.tsx -> ../contexts/TourContext"]},ssr:!1,loading:()=>null}),n=(0,g.default)(async()=>{},{loadableGenerated:{modules:["frontend\\components\\AppWrapper.tsx -> ./Tour/TourOverlay"]},ssr:!1,loading:()=>null});class o extends f().Component{constructor(a){super(a),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(a){h.error("AppWrapper error boundary caught an error:",a)}render(){return this.state.hasError?(0,d.jsxs)("div",{style:{padding:"20px",textAlign:"center"},children:[(0,d.jsx)("h2",{children:"Something went wrong loading the application."}),(0,d.jsx)("p",{children:"Please try refreshing the page."}),(0,d.jsx)("button",{onClick:()=>window.location.reload(),style:{padding:"8px 16px",background:"#3498DB",color:"white",border:"none",borderRadius:"4px",cursor:"pointer",marginTop:"10px"},children:"Refresh"})]}):this.props.children}}function p({children:a}){return h.debug("Rendering AppWrapper"),(0,d.jsx)(o,{children:(0,d.jsx)(e.Suspense,{fallback:(0,d.jsx)("div",{children:"Loading application..."}),children:(0,d.jsx)(i,{children:(0,d.jsx)(j,{children:(0,d.jsxs)(m,{children:[(0,d.jsxs)(e.Suspense,{fallback:(0,d.jsx)("div",{children:"Loading navigation..."}),children:[(0,d.jsx)(k,{}),(0,d.jsx)(l,{})]}),(0,d.jsx)("main",{children:a}),(0,d.jsx)(n,{})]})})})})})}},50573:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>g});var d=c(75338),e=c(73737),f=c(65251);function g(){return(0,d.jsx)(e.default,{display:"flex",justifyContent:"center",alignItems:"center",height:"100%",p:4,children:(0,d.jsx)(f.default,{size:40})})}},51455:a=>{"use strict";a.exports=require("node:fs/promises")},51472:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>m,metadata:()=>l});var d=c(75338),e=c(94294),f=c.n(e),g=c(81464),h=c.n(g);c(61135);var i=c(50846),j=c(41306);let k=(0,i.h)("app/layout"),l={title:"FLUJO",description:"A browser-based application for managing models, MCP servers, flows and chat interactions"};function m({children:a}){return k.debug("Rendering RootLayout"),(0,d.jsx)("html",{lang:"en",children:(0,d.jsx)("body",{className:`${f().variable} ${h().variable} antialiased`,children:(0,d.jsx)(j.default,{children:a})})})}},55511:a=>{"use strict";a.exports=require("crypto")},55591:a=>{"use strict";a.exports=require("https")},57075:a=>{"use strict";a.exports=require("node:stream")},57975:a=>{"use strict";a.exports=require("node:util")},59737:(a,b,c)=>{"use strict";c.d(b,{A:()=>m});var d=c(21124);c(38301);var e=c(60839),f=c(81637),g=c(44079),h=c(79515),i=c(41893),j=c(99561),k=c(17332),l=c(18467);let m=({label:a,count:b,expanded:c,onToggle:m,showFolderIcon:n=!1,children:o})=>{let p=(0,e.A)();return(0,d.jsxs)(f.default,{sx:{mb:1.5},children:[(0,d.jsxs)(f.default,{role:"button",tabIndex:0,"aria-expanded":c,onClick:m,onKeyDown:a=>{("Enter"===a.key||" "===a.key)&&(a.preventDefault(),m())},sx:{display:"flex",alignItems:"center",gap:1,px:1,py:.75,borderRadius:1,cursor:"pointer",userSelect:"none",backgroundColor:p.palette.background.default,border:`1px solid ${p.palette.divider}`,"&:hover":{backgroundColor:p.palette.action.hover}},children:[(0,d.jsx)(g.A,{size:"small","aria-label":c?"Collapse section":"Expand section",onClick:a=>{a.stopPropagation(),m()},sx:{transition:"transform 0.2s",transform:c?"rotate(0deg)":"rotate(-90deg)"},children:(0,d.jsx)(k.A,{fontSize:"small"})}),n&&(0,d.jsx)(l.A,{fontSize:"small",sx:{color:"text.secondary"}}),(0,d.jsx)(h.default,{variant:"subtitle2",sx:{fontWeight:600},children:a}),(0,d.jsx)(i.A,{label:b,size:"small",sx:{height:20,fontSize:"0.7rem"}})]}),(0,d.jsx)(j.A,{in:c,unmountOnExit:!0,children:(0,d.jsx)(f.default,{sx:{pt:1.5},children:o})})]})}},61135:()=>{},61615:(a,b,c)=>{"use strict";c.d(b,{default:()=>g});var d=c(21124);c(38301);var e=c(81637),f=c(8521);let g=({size:a="medium",color:b="primary",className:c="",sx:g={}})=>{let h="white"===b?{color:"#fff",...g}:g;return(0,d.jsxs)(e.default,{component:"span",sx:{display:"inline-block",lineHeight:0,...h},className:c,role:"status",children:[(0,d.jsx)(f.default,{size:{small:16,medium:24,large:36}[a],color:"white"===b?"inherit":b,"aria-hidden":"true"}),(0,d.jsx)(e.default,{component:"span",sx:{position:"absolute",width:"1px",height:"1px",padding:0,margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:0},children:"Loading..."})]})}},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},63112:(a,b,c)=>{let{createProxy:d}=c(39893);a.exports=d("C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\shared\\lib\\lazy-dynamic\\preload-chunks.js")},64317:(a,b,c)=>{Promise.resolve().then(c.bind(c,81637)),Promise.resolve().then(c.bind(c,8521))},65251:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\MarioAndreschak\\\\Documents\\\\GitHub\\\\FLUJO\\\\node_modules\\\\@mui\\\\material\\\\CircularProgress\\\\CircularProgress.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\@mui\\material\\CircularProgress\\CircularProgress.js","default")},65343:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(27080),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-2h2zm0-4h-2V7h2z"}),"Error")},69389:(a,b,c)=>{let{createProxy:d}=c(39893);a.exports=d("C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\shared\\lib\\lazy-dynamic\\dynamic-bailout-to-csr.js")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73496:a=>{"use strict";a.exports=require("http2")},73566:a=>{"use strict";a.exports=require("worker_threads")},73737:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\MarioAndreschak\\\\Documents\\\\GitHub\\\\FLUJO\\\\node_modules\\\\@mui\\\\material\\\\Box\\\\Box.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\@mui\\material\\Box\\Box.js","default")},74075:a=>{"use strict";a.exports=require("zlib")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77598:a=>{"use strict";a.exports=require("node:crypto")},78352:(a,b,c)=>{"use strict";c.d(b,{A:()=>u});var d=c(21124),e=c(38301),f=c(7118),g=c(94367),h=c(50553),i=c(84233),j=c(91059),k=c(40512),l=c(83899),m=c(52327),n=c(37674),o=c(19925),p=c(20830),q=c(36698),r=c(18467),s=c(31973),t=c(354);let u=({anchorEl:a,open:b,currentFolder:c,folders:u,onClose:v,onAssign:w})=>{let[x,y]=(0,e.useState)(!1),[z,A]=(0,e.useState)(""),B=a=>{w(a),v()},C=()=>{let a=z.trim();a&&(y(!1),B(a))};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(f.A,{anchorEl:a,open:b,onClose:v,children:[u.length>0&&u.map(a=>(0,d.jsxs)(g.A,{onClick:()=>B(a),selected:a===c,children:[(0,d.jsx)(h.A,{children:a===c?(0,d.jsx)(q.A,{fontSize:"small"}):(0,d.jsx)(r.A,{fontSize:"small"})}),(0,d.jsx)(i.A,{primary:a})]},a)),u.length>0&&(0,d.jsx)(j.A,{}),(0,d.jsxs)(g.A,{onClick:()=>{A(""),y(!0)},children:[(0,d.jsx)(h.A,{children:(0,d.jsx)(s.A,{fontSize:"small"})}),(0,d.jsx)(i.A,{primary:"New folder…"})]}),c&&(0,d.jsxs)(g.A,{onClick:()=>B(void 0),children:[(0,d.jsx)(h.A,{children:(0,d.jsx)(t.A,{fontSize:"small"})}),(0,d.jsx)(i.A,{primary:"Remove from folder"})]})]}),(0,d.jsxs)(k.A,{open:x,onClose:()=>y(!1),maxWidth:"xs",fullWidth:!0,children:[(0,d.jsx)(l.A,{children:"New folder"}),(0,d.jsx)(m.A,{children:(0,d.jsx)(n.A,{autoFocus:!0,margin:"dense",label:"Folder name",fullWidth:!0,value:z,onChange:a=>A(a.target.value),onKeyDown:a=>{"Enter"===a.key&&(a.preventDefault(),C())}})}),(0,d.jsxs)(o.A,{children:[(0,d.jsx)(p.A,{onClick:()=>y(!1),children:"Cancel"}),(0,d.jsx)(p.A,{variant:"contained",disabled:!z.trim(),onClick:C,children:"Create"})]})]})]})}},79428:a=>{"use strict";a.exports=require("buffer")},79551:a=>{"use strict";a.exports=require("url")},79646:a=>{"use strict";a.exports=require("child_process")},79748:a=>{"use strict";a.exports=require("fs/promises")},80481:a=>{"use strict";a.exports=require("node:readline")},81630:a=>{"use strict";a.exports=require("http")},83997:a=>{"use strict";a.exports=require("tty")},84297:a=>{"use strict";a.exports=require("async_hooks")},85557:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(27080),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1M8 13h8v-2H8zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5"}),"Link")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},91645:a=>{"use strict";a.exports=require("net")},92093:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>h});var d=c(21124),e=c(81637),f=c(79515),g=c(20830);function h({error:a,reset:b}){return(0,d.jsxs)(e.default,{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%",p:4,children:[(0,d.jsx)(f.default,{variant:"h6",color:"error",gutterBottom:!0,children:"Error loading models"}),(0,d.jsx)(f.default,{color:"text.secondary",sx:{mb:2},children:a.message||"Something went wrong while loading the models."}),(0,d.jsx)(e.default,{sx:{display:"flex",gap:2},children:(0,d.jsx)(g.A,{variant:"contained",onClick:b,children:"Try again"})})]})}c(38301),(0,c(19815).h)("app/models/error")},92173:(a,b,c)=>{"use strict";c.d(b,{RJ:()=>e,gF:()=>d});let d="masked:********",e="********"},94735:a=>{"use strict";a.exports=require("events")},96955:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(27080),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreVert")},98995:a=>{"use strict";a.exports=require("node:module")}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[5873,9957,8298,6996,1223,5734,3984,8445,6760,6390,1746,1050,2666,7328,5587,8739,5504,9938,8460,805,5838],()=>b(b.s=43108));module.exports=c})();
1
+ (()=>{var a={};a.id=8329,a.ids=[8329],a.modules={94:(a,b,c)=>{Promise.resolve().then(c.bind(c,81637)),Promise.resolve().then(c.bind(c,79515)),Promise.resolve().then(c.bind(c,24207)),Promise.resolve().then(c.bind(c,52402)),Promise.resolve().then(c.bind(c,84608)),Promise.resolve().then(c.bind(c,61615))},261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1039:(a,b,c)=>{Promise.resolve().then(c.bind(c,14867))},1708:a=>{"use strict";a.exports=require("node:process")},2117:(a,b,c)=>{"use strict";c.d(b,{A:()=>i});var d=c(55511);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length,h=[];for(let a=0;a<256;++a)h.push((a+256).toString(16).slice(1));let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();let i=(a=a||{}).random??a.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(i.length<16)throw Error("Random bytes length must be >= 16");if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,b){if((c=c||0)<0||c+16>b.length)throw RangeError(`UUID byte range ${c}:${c+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[c+a]=i[a];return b}return function(a,b=0){return(h[a[b+0]]+h[a[b+1]]+h[a[b+2]]+h[a[b+3]]+"-"+h[a[b+4]]+h[a[b+5]]+"-"+h[a[b+6]]+h[a[b+7]]+"-"+h[a[b+8]]+h[a[b+9]]+"-"+h[a[b+10]]+h[a[b+11]]+h[a[b+12]]+h[a[b+13]]+h[a[b+14]]+h[a[b+15]]).toLowerCase()}(i)}},2560:(a,b,c)=>{"use strict";c.d(b,{Xk:()=>e});var d=c(38301);function e(a,b){let[c,e]=(0,d.useState)(()=>b);return[c,(0,d.useCallback)(a=>{e(b=>"function"==typeof a?a(b):a)},[a])]}},2671:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\MarioAndreschak\\\\Documents\\\\GitHub\\\\FLUJO\\\\src\\\\app\\\\models\\\\ModelClient.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\models\\ModelClient.tsx","default")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{"use strict";a.exports=require("node:buffer")},4822:(a,b,c)=>{Promise.resolve().then(c.bind(c,73737)),Promise.resolve().then(c.bind(c,16825)),Promise.resolve().then(c.t.bind(c,69389,23)),Promise.resolve().then(c.t.bind(c,63112,23)),Promise.resolve().then(c.bind(c,2671)),Promise.resolve().then(c.bind(c,37997))},4984:a=>{"use strict";a.exports=require("readline")},7329:(a,b,c)=>{"use strict";function d(a,b){let c=[],d=new Map;for(let e of a){let{key:a,label:f}=b(e),g=d.get(a);g||(g={key:a,label:f,items:[]},d.set(a,g),c.push(g)),g.items.push(e)}return c}function e(a){let b=(a??"").trim().charAt(0).toUpperCase();return b>="A"&&b<="Z"?{key:`letter:${b}`,label:b}:{key:"letter:#",label:"#"}}function f(a,b,c="Ungrouped"){let d=new Map,e=[];for(let c of a){let a=b(c)?.trim();if(a){let b=d.get(a);b?b.push(c):d.set(a,[c])}else e.push(c)}let g=Array.from(d.keys()).sort((a,b)=>a.localeCompare(b)).map(a=>({key:`folder:${a}`,label:a,items:d.get(a)}));return e.length>0&&g.push({key:"folder:__ungrouped__",label:c,items:e}),g}function g(a,b){let c=new Set;for(let d of a){let a=b(d)?.trim();a&&c.add(a)}return Array.from(c).sort((a,b)=>a.localeCompare(b))}c.d(b,{Az:()=>d,Je:()=>f,po:()=>e,yF:()=>g})},8086:a=>{"use strict";a.exports=require("module")},9287:(a,b,c)=>{Promise.resolve().then(c.bind(c,92093))},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11723:a=>{"use strict";a.exports=require("querystring")},11962:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return j}});let d=c(75338),e=c(74515),f=c(69389),g=c(63112);function h(a){return{default:a&&"default"in a?a.default:a}}let i={loader:()=>Promise.resolve(h(()=>null)),loading:null,ssr:!0},j=function(a){let b={...i,...a},c=(0,e.lazy)(()=>b.loader().then(h)),j=b.loading;function k(a){let h=j?(0,d.jsx)(j,{isLoading:!0,pastDelay:!0,error:null}):null,i=!b.ssr||!!b.loading,k=i?e.Suspense:e.Fragment,l=b.ssr?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g.PreloadChunks,{moduleIds:b.modules}),(0,d.jsx)(c,{...a})]}):(0,d.jsx)(f.BailoutToCSR,{reason:"next/dynamic",children:(0,d.jsx)(c,{...a})});return(0,d.jsx)(k,{...i?{fallback:h}:{},children:l})}return k.displayName="LoadableComponent",k}},11997:a=>{"use strict";a.exports=require("punycode")},12412:a=>{"use strict";a.exports=require("assert")},14867:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\MarioAndreschak\\\\Documents\\\\GitHub\\\\FLUJO\\\\src\\\\app\\\\models\\\\error.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\models\\error.tsx","default")},16825:(a,b,c)=>{"use strict";c.d(b,{default:()=>e});var d=c(97954);(0,d.registerClientReference)(function(){throw Error("Attempted to call TypographyRoot() from the server but TypographyRoot is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\@mui\\material\\Typography\\Typography.js","TypographyRoot");let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\MarioAndreschak\\\\Documents\\\\GitHub\\\\FLUJO\\\\node_modules\\\\@mui\\\\material\\\\Typography\\\\Typography.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\@mui\\material\\Typography\\Typography.js","default")},18830:(a,b,c)=>{"use strict";function d(a){return a&&a.__esModule?a:{default:a}}c.r(b),c.d(b,{_:()=>d})},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},19771:a=>{"use strict";a.exports=require("process")},20349:(a,b,c)=>{Promise.resolve().then(c.bind(c,73737)),Promise.resolve().then(c.bind(c,65251))},21820:a=>{"use strict";a.exports=require("os")},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},27910:a=>{"use strict";a.exports=require("stream")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{"use strict";a.exports=require("node:child_process")},33873:a=>{"use strict";a.exports=require("path")},34631:a=>{"use strict";a.exports=require("tls")},37067:a=>{"use strict";a.exports=require("node:http")},37830:a=>{"use strict";a.exports=require("node:stream/web")},37997:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\MarioAndreschak\\\\Documents\\\\GitHub\\\\FLUJO\\\\src\\\\frontend\\\\components\\\\shared\\\\Spinner.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\frontend\\components\\shared\\Spinner.tsx","default")},38108:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>r,dynamic:()=>q});var d=c(75338),e=c(74515),f=c(44618),g=c.n(f),h=c(73737),i=c(16825),j=c(50846),k=c(92675);let l=(0,j.h)("app/api/model/backed-model-adapter");async function m(){l.debug("loadModels: Delegating to model adapter");let a=await k.Zl();return a.success&&a.models?a.models:(l.warn("loadModels: Failed to load models",{error:a.error}),[])}var n=c(37997);let o=g()(()=>Promise.resolve().then(c.bind(c,2671)),{loadableGenerated:{modules:["app\\models\\page.tsx -> ./ModelClient"]},loading:()=>(0,d.jsx)(n.default,{})}),p=(0,j.h)("app/models/page"),q="force-dynamic",r=async function(){p.debug("Rendering ModelsPage");try{let a=await m();return p.debug("Models loaded successfully",{count:a.length}),(0,d.jsxs)(h.default,{sx:{height:"100%",display:"flex",flexDirection:"column"},children:[(0,d.jsx)(h.default,{sx:{p:2,display:"flex",justifyContent:"space-between",alignItems:"center",borderBottom:1,borderColor:"divider"},children:(0,d.jsx)(i.default,{variant:"h5",children:"Models"})}),(0,d.jsx)(h.default,{sx:{p:2,flex:1,overflow:"auto"},children:(0,d.jsx)(e.Suspense,{fallback:(0,d.jsx)(n.default,{}),children:(0,d.jsx)(o,{initialModels:a})})})]})}catch(a){throw p.error("Error loading models:",a),a}}},38522:a=>{"use strict";a.exports=require("node:zlib")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},43108:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GlobalError:()=>E.a,__next_app__:()=>K,handler:()=>M,pages:()=>J,routeModule:()=>L,tree:()=>I});var d=c(49754),e=c(9117),f=c(46595),g=c(32324),h=c(39326),i=c(38928),j=c(20175),k=c(12),l=c(54290),m=c(12696),n=c(52574),o=c(82802),p=c(77533),q=c(45229),r=c(32822),s=c(261),t=c(26453),u=c(52474),v=c(26713),w=c(51356),x=c(62685),y=c(36225),z=c(63446),A=c(2762),B=c(45742),C=c(86439),D=c(81170),E=c.n(D),F=c(62506),G=c(91203),H={};for(let a in F)0>["default","tree","pages","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(H[a]=()=>F[a]);c.d(b,H);let I={children:["",{children:["models",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,38108)),"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\models\\page.tsx"]}]},{error:[()=>Promise.resolve().then(c.bind(c,14867)),"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\models\\error.tsx"],loading:[()=>Promise.resolve().then(c.bind(c,50573)),"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\models\\loading.tsx"]}]},{layout:[()=>Promise.resolve().then(c.bind(c,51472)),"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\layout.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,81170,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,87028,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,90461,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,32768,23)),"next/dist/client/components/builtin/unauthorized.js"]}]}.children,J=["C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\models\\page.tsx"],K={require:c,loadChunk:()=>Promise.resolve()},L=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/models/page",pathname:"/models",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:I},distDir:".next",relativeProjectDir:""});async function M(a,b,d){var D;let H="/models/page";"/index"===H&&(H="/");let N=(0,h.getRequestMeta)(a,"postponed"),O=(0,h.getRequestMeta)(a,"minimalMode"),P=await L.prepare(a,b,{srcPage:H,multiZoneDraftMode:!1});if(!P)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Q,query:R,params:S,parsedUrl:T,pageIsDynamic:U,buildManifest:V,nextFontManifest:W,reactLoadableManifest:X,serverActionsManifest:Y,clientReferenceManifest:Z,subresourceIntegrityManifest:$,prerenderManifest:_,isDraftMode:aa,resolvedPathname:ab,revalidateOnlyGenerated:ac,routerServerContext:ad,nextConfig:ae,interceptionRoutePatterns:af}=P,ag=T.pathname||"/",ah=(0,s.normalizeAppPath)(H),{isOnDemandRevalidate:ai}=P,aj=L.match(ag,_),ak=!!_.routes[ab],al=!!(aj||ak||_.routes[ah]),am=a.headers["user-agent"]||"",an=(0,v.getBotType)(am),ao=(0,q.isHtmlBotRequest)(a),ap=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[u.NEXT_ROUTER_PREFETCH_HEADER],aq=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[u.RSC_HEADER]),ar=(0,t.getIsPossibleServerAction)(a),as=(0,m.checkIsAppPPREnabled)(ae.experimental.ppr)&&(null==(D=_.routes[ah]??_.dynamicRoutes[ah])?void 0:D.renderingMode)==="PARTIALLY_STATIC",at=!1,au=!1,av=as?N:void 0,aw=as&&aq&&!ap,ax=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ay=!am||(0,q.shouldServeStreamingMetadata)(am,ae.htmlLimitedBots);ao&&as&&(al=!1,ay=!1);let az=!0===L.isDev||!al||"string"==typeof N||aw,aA=ao&&as,aB=null;aa||!al||az||ar||av||aw||(aB=ab);let aC=aB;!aC&&L.isDev&&(aC=ab),L.isDev||aa||!al||!aq||aw||(0,k.d)(a.headers);let aD={...F,tree:I,pages:J,GlobalError:E(),handler:M,routeModule:L,__next_app__:K};Y&&Z&&(0,p.setReferenceManifestsSingleton)({page:H,clientReferenceManifest:Z,serverActionsManifest:Y,serverModuleMap:(0,r.createServerModuleMap)({serverActionsManifest:Y})});let aE=a.method||"GET",aF=(0,g.getTracer)(),aG=aF.getActiveScopeSpan();try{let f=L.getVaryHeader(ab,af);b.setHeader("Vary",f);let k=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return L.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=aF.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${aE} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aE} ${a.url}`)})},m=async({span:e,postponed:f,fallbackRouteParams:g})=>{let i={query:R,params:S,page:ah,sharedContext:{buildId:Q},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aD,Component:(0,j.T)(aD),params:S,routeModule:L,page:H,postponed:f,shouldWaitOnAllReady:aA,serveStreamingMetadata:ay,supportsDynamicResponse:"string"==typeof f||az,buildManifest:V,nextFontManifest:W,reactLoadableManifest:X,subresourceIntegrityManifest:$,serverActionsManifest:Y,clientReferenceManifest:Z,setIsrStatus:null==ad?void 0:ad.setIsrStatus,dir:c(33873).join(process.cwd(),L.relativeProjectDir),isDraftMode:aa,isRevalidate:al&&!f&&!aw,botType:an,isOnDemandRevalidate:ai,isPossibleServerAction:ar,assetPrefix:ae.assetPrefix,nextConfigOutput:ae.output,crossOrigin:ae.crossOrigin,trailingSlash:ae.trailingSlash,previewProps:_.preview,deploymentId:ae.deploymentId,enableTainting:ae.experimental.taint,htmlLimitedBots:ae.htmlLimitedBots,devtoolSegmentExplorer:ae.experimental.devtoolSegmentExplorer,reactMaxHeadersLength:ae.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:ae.experimental.cacheLife,basePath:ae.basePath,serverActions:ae.experimental.serverActions,...at?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isRevalidate:!0,isDebugDynamicAccesses:at}:{},experimental:{isRoutePPREnabled:as,expireTime:ae.expireTime,staleTimes:ae.experimental.staleTimes,cacheComponents:!!ae.experimental.cacheComponents,clientSegmentCache:!!ae.experimental.clientSegmentCache,clientParamParsing:!!ae.experimental.clientParamParsing,dynamicOnHover:!!ae.experimental.dynamicOnHover,inlineCss:!!ae.experimental.inlineCss,authInterrupts:!!ae.experimental.authInterrupts,clientTraceMetadata:ae.experimental.clientTraceMetadata||[]},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d)=>L.onRequestError(a,b,d,ad),err:(0,h.getRequestMeta)(a,"invokeError"),dev:L.isDev}},l=await k(e,i),{metadata:m}=l,{cacheControl:n,headers:o={},fetchTags:p}=m;if(p&&(o[z.NEXT_CACHE_TAGS_HEADER]=p),a.fetchMetrics=m.fetchMetrics,al&&(null==n?void 0:n.revalidate)===0&&!L.isDev&&!as){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ab}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
2
+ see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:w.CachedRouteKind.APP_PAGE,html:l,headers:o,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},n=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i})=>{let j,k=!1===L.isDev,l=c||b.writableEnded;if(ai&&ac&&!f&&!O)return(null==ad?void 0:ad.render404)?await ad.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(aj&&(j=(0,x.parseFallbackField)(aj.fallback)),j===x.FallbackMode.PRERENDER&&(0,v.isBot)(am)&&(!as||ao)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ai=!0),ai&&(j!==x.FallbackMode.NOT_FOUND||f)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),!O&&j!==x.FallbackMode.BLOCKING_STATIC_RENDER&&aC&&!l&&!aa&&U&&(k||!ak)){let b;if((k||aj)&&j===x.FallbackMode.NOT_FOUND)throw new C.NoFallbackError;if(as&&!aq){let c="string"==typeof(null==aj?void 0:aj.fallback)?aj.fallback:k?ah:null;if(b=await L.handleResponse({cacheKey:c,req:a,nextConfig:ae,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:_,isRoutePPREnabled:as,responseGenerator:async()=>m({span:i,postponed:void 0,fallbackRouteParams:k||au?(0,o.u)(ah):null}),waitUntil:d.waitUntil}),null===b)return null;if(b)return delete b.cacheControl,b}}let n=ai||g||!av?void 0:av;if(at&&void 0!==n)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:w.CachedRouteKind.PAGES,html:y.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let p=U&&as&&((0,h.getRequestMeta)(a,"renderFallbackShell")||au)?(0,o.u)(ag):null;return m({span:i,postponed:n,fallbackRouteParams:p})},p=async c=>{var f,g,i,j,k;let l,o=await L.handleResponse({cacheKey:aB,responseGenerator:a=>n({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ai,isRoutePPREnabled:as,req:a,nextConfig:ae,prerenderManifest:_,waitUntil:d.waitUntil});if(aa&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),L.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!o){if(aB)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=o.value)?void 0:f.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=o.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let p="string"==typeof o.value.postponed;al&&!aw&&(!p||ap)&&(O||b.setHeader("x-nextjs-cache",ai?"REVALIDATED":o.isMiss?"MISS":o.isStale?"STALE":"HIT"),b.setHeader(u.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=o;if(av)l={revalidate:0,expire:void 0};else if(O&&aq&&!ap&&as)l={revalidate:0,expire:void 0};else if(!L.isDev)if(aa)l={revalidate:0,expire:void 0};else if(al){if(o.cacheControl)if("number"==typeof o.cacheControl.revalidate){if(o.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${o.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:o.cacheControl.revalidate,expire:(null==(j=o.cacheControl)?void 0:j.expire)??ae.expireTime}}else l={revalidate:z.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(o.cacheControl=l,"string"==typeof ax&&(null==q?void 0:q.kind)===w.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[z.NEXT_CACHE_TAGS_HEADER];O&&al&&c&&"string"==typeof c&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(ax);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(d,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.EMPTY,cacheControl:o.cacheControl}))}let r=(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r({...o,value:{...o.value,kind:"PAGE"}},{url:(0,h.getRequestMeta)(a,"initURL")}))return null;if(p&&av)throw Object.defineProperty(Error("Invariant: postponed state should not be present on a resume request"),"__NEXT_ERROR_CODE",{value:"E396",enumerable:!1,configurable:!0});if(q.headers){let a={...q.headers};for(let[c,d]of(O&&al||delete a[z.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let s=null==(g=q.headers)?void 0:g[z.NEXT_CACHE_TAGS_HEADER];if(O&&al&&s&&"string"==typeof s&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,s),!q.status||aq&&as||(b.statusCode=q.status),!O&&q.status&&G.RedirectStatusCode[q.status]&&aq&&(b.statusCode=200),p&&b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"1"),aq&&!aa){if(void 0===q.rscData){if(q.postponed)throw Object.defineProperty(Error("Invariant: Expected postponed to be undefined"),"__NEXT_ERROR_CODE",{value:"E372",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:q.html,cacheControl:aw?{revalidate:0,expire:void 0}:o.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(q.rscData,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl})}let t=q.html;if(!p||O||aq)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:o.cacheControl});if(at)return t.push(new ReadableStream({start(a){a.enqueue(A.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}});let v=new TransformStream;return t.push(v.readable),m({span:c,postponed:q.postponed,fallbackRouteParams:null}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(v.writable)}).catch(a=>{v.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}})};if(!aG)return await aF.withPropagatedContext(a.headers,()=>aF.trace(i.BaseServerSpan.handleRequest,{spanName:`${aE} ${a.url}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aE,"http.target":a.url}},p));await p(aG)}catch(b){throw b instanceof C.NoFallbackError||await L.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"render",revalidateReason:(0,f.c)({isRevalidate:al,isOnDemandRevalidate:ai})},ad),b}}},44618:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return e}});let d=c(18830)._(c(11962));function e(a,b){var c;let e={};"function"==typeof a&&(e.loader=a);let f={...e,...b};return(0,d.default)({...f,modules:null==(c=f.loadableGenerated)?void 0:c.modules})}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},44708:a=>{"use strict";a.exports=require("node:https")},46466:a=>{"use strict";a.exports=require("node:stream/promises")},48161:a=>{"use strict";a.exports=require("node:os")},49938:(a,b,c)=>{"use strict";c.d(b,{rX:()=>f}),c(21124);var d=c(38301);c(9718),(0,c(19815).h)("frontend/contexts/StorageContext");let e=(0,d.createContext)({setKey:async()=>{},changeKey:async()=>!1,verifyKey:async()=>!1,isEncryptionInitialized:async()=>!1,globalEnvVars:{},setGlobalEnvVars:async()=>{},deleteGlobalEnvVar:async()=>{},encryptValue:async()=>null,decryptValue:async()=>null,isUserEncryptionEnabled:async()=>!1,isLoading:!0,settings:{speech:{enabled:!0},update:{checkOnStartup:!1}},settingsHydrated:!1,updateSettings:async()=>{}}),f=()=>(0,d.useContext)(e)},50573:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>g});var d=c(75338),e=c(73737),f=c(65251);function g(){return(0,d.jsx)(e.default,{display:"flex",justifyContent:"center",alignItems:"center",height:"100%",p:4,children:(0,d.jsx)(f.default,{size:40})})}},51455:a=>{"use strict";a.exports=require("node:fs/promises")},55511:a=>{"use strict";a.exports=require("crypto")},55591:a=>{"use strict";a.exports=require("https")},57075:a=>{"use strict";a.exports=require("node:stream")},57975:a=>{"use strict";a.exports=require("node:util")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},63112:(a,b,c)=>{let{createProxy:d}=c(39893);a.exports=d("C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\shared\\lib\\lazy-dynamic\\preload-chunks.js")},64317:(a,b,c)=>{Promise.resolve().then(c.bind(c,81637)),Promise.resolve().then(c.bind(c,8521))},65251:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\MarioAndreschak\\\\Documents\\\\GitHub\\\\FLUJO\\\\node_modules\\\\@mui\\\\material\\\\CircularProgress\\\\CircularProgress.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\@mui\\material\\CircularProgress\\CircularProgress.js","default")},65343:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(27080),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-2h2zm0-4h-2V7h2z"}),"Error")},69389:(a,b,c)=>{let{createProxy:d}=c(39893);a.exports=d("C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\shared\\lib\\lazy-dynamic\\dynamic-bailout-to-csr.js")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73496:a=>{"use strict";a.exports=require("http2")},73566:a=>{"use strict";a.exports=require("worker_threads")},73737:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\MarioAndreschak\\\\Documents\\\\GitHub\\\\FLUJO\\\\node_modules\\\\@mui\\\\material\\\\Box\\\\Box.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\@mui\\material\\Box\\Box.js","default")},74075:a=>{"use strict";a.exports=require("zlib")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77598:a=>{"use strict";a.exports=require("node:crypto")},79428:a=>{"use strict";a.exports=require("buffer")},79551:a=>{"use strict";a.exports=require("url")},79646:a=>{"use strict";a.exports=require("child_process")},79748:a=>{"use strict";a.exports=require("fs/promises")},80481:a=>{"use strict";a.exports=require("node:readline")},81630:a=>{"use strict";a.exports=require("http")},83997:a=>{"use strict";a.exports=require("tty")},84297:a=>{"use strict";a.exports=require("async_hooks")},84608:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>a$});var d,e,f=c(21124),g=c(38301),h=c(91330),i=c(54573),j=c(81637),k=c(37674),l=c(67101),m=c(68730),n=c(88745),o=c(47902),p=c(40973);c(2117);var q=c(60839),r=c(8521),s=c(82666),t=c(79515),u=c(44079),v=c(7118),w=c(94367),x=c(50553),y=c(84233),z=c(91059),A=c(63757),B=c(11402),C=c(27080);let D=(0,C.A)([(0,f.jsx)("path",{d:"m12 2-5.5 9h11z"},"0"),(0,f.jsx)("circle",{cx:"17.5",cy:"17.5",r:"4.5"},"1"),(0,f.jsx)("path",{d:"M3 13.5h8v8H3z"},"2")],"Category"),E=(0,C.A)((0,f.jsx)("path",{d:"M15 9H9v6h6zm-2 4h-2v-2h2zm8-2V9h-2V7c0-1.1-.9-2-2-2h-2V3h-2v2h-2V3H9v2H7c-1.1 0-2 .9-2 2v2H3v2h2v2H3v2h2v2c0 1.1.9 2 2 2h2v2h2v-2h2v2h2v-2h2c1.1 0 2-.9 2-2v-2h2v-2h-2v-2zm-4 6H7V7h10z"}),"Memory");var F=c(9863),G=c(81310),H=c(18467),I=c(8188),J=c(59737),K=c(7329),L=c(2560),M=c(32640),N=c(19815);let O=(0,N.h)("frontend/components/models/list/ModelList"),P=({models:a,isLoading:b,onAdd:c,onUpdate:d,onDelete:e,folders:h=[],onSetFolder:k})=>{let l=(0,q.A)(),[m,n]=(0,L.Xk)("flujo-ui:models:sort","name-asc"),[o,p]=(0,L.Xk)("flujo-ui:models:group","none"),[C,N]=(0,g.useState)(null),[P,Q]=(0,g.useState)(null),[R,S]=(0,L.Xk)("flujo-ui:models:collapsed",[]),T=(0,g.useMemo)(()=>new Set(R),[R]),U=a=>{n(a),N(null)},V=a=>{p(a),Q(null)},W=async a=>{let b=await d(a);b.success||O.error("Failed to update model in ModelList",b.error)},X=(0,g.useMemo)(()=>(0,M.h5)(a,m),[a,m]),Y=(0,g.useMemo)(()=>"folder"===o?(0,K.Je)(X,a=>a.folder):"sort"===o?(0,K.Az)(X,a=>(0,M.eZ)(a,m)):[],[o,X,m]);if(b)return(0,f.jsx)(j.default,{display:"flex",justifyContent:"center",py:4,children:(0,f.jsx)(r.default,{})});let Z=a=>(0,f.jsx)(s.Ay,{container:!0,spacing:2,children:a.map(a=>(0,f.jsx)(s.Ay,{item:!0,xs:12,sm:6,md:4,children:(0,f.jsx)(I.A,{model:a,onEdit:()=>W(a),onDelete:()=>e(a.id),folder:a.folder,folders:h,onSetFolder:k?b=>k(a.id,b):void 0})},a.id))});return(0,f.jsxs)(j.default,{children:[(0,f.jsx)(i.A,{elevation:1,sx:{mb:2,p:1},children:(0,f.jsxs)(j.default,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:1},children:[(0,f.jsxs)(t.default,{variant:"body2",color:"textSecondary",children:[a.length," model",1===a.length?"":"s",(0,f.jsx)(j.default,{component:"span",sx:{mx:1,opacity:.5},children:"\xb7"}),"Sorted by: ",M.fC[m]]}),(0,f.jsxs)(j.default,{sx:{display:"flex",gap:1,alignItems:"center"},children:[(0,f.jsx)(u.A,{size:"small",onClick:a=>Q(a.currentTarget),color:"none"!==o?"primary":"default",sx:{border:`1px solid ${l.palette.divider}`,backgroundColor:l.palette.background.default},title:"Group cards",children:(0,f.jsx)(F.A,{fontSize:"small"})}),(0,f.jsx)(u.A,{size:"small",onClick:a=>N(a.currentTarget),sx:{border:`1px solid ${l.palette.divider}`,backgroundColor:l.palette.background.default},title:"Sort models",children:(0,f.jsx)(A.A,{fontSize:"small"})})]})]})}),a&&0!==a.length?"none"===o?Z(X):Y.map(a=>(0,f.jsx)(J.A,{label:a.label,count:a.items.length,expanded:!T.has(a.key),onToggle:()=>(a=>{S(b=>b.includes(a)?b.filter(b=>b!==a):[...b,a])})(a.key),showFolderIcon:"folder"===o,children:Z(a.items)},a.key)):(0,f.jsx)(j.default,{textAlign:"center",py:4,children:"No models found"}),(0,f.jsxs)(v.A,{anchorEl:P,open:!!P,onClose:()=>Q(null),anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},children:[(0,f.jsxs)(w.A,{selected:"none"===o,onClick:()=>V("none"),children:[(0,f.jsx)(x.A,{children:(0,f.jsx)(G.A,{fontSize:"small"})}),(0,f.jsx)(y.A,{primary:"No grouping"})]}),(0,f.jsxs)(w.A,{selected:"folder"===o,onClick:()=>V("folder"),children:[(0,f.jsx)(x.A,{children:(0,f.jsx)(H.A,{fontSize:"small"})}),(0,f.jsx)(y.A,{primary:"By folder"})]}),(0,f.jsxs)(w.A,{selected:"sort"===o,onClick:()=>V("sort"),children:[(0,f.jsx)(x.A,{children:(0,f.jsx)(F.A,{fontSize:"small"})}),(0,f.jsx)(y.A,{primary:"By sort setting"})]})]}),(0,f.jsxs)(v.A,{anchorEl:C,open:!!C,onClose:()=>N(null),anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},children:[(0,f.jsxs)(w.A,{selected:"name-asc"===m,onClick:()=>U("name-asc"),children:[(0,f.jsx)(x.A,{children:(0,f.jsx)(B.A,{fontSize:"small"})}),(0,f.jsx)(y.A,{primary:"Name (A-Z)"})]}),(0,f.jsxs)(w.A,{selected:"name-desc"===m,onClick:()=>U("name-desc"),children:[(0,f.jsx)(x.A,{children:(0,f.jsx)(B.A,{fontSize:"small",sx:{transform:"scaleX(-1)"}})}),(0,f.jsx)(y.A,{primary:"Name (Z-A)"})]}),(0,f.jsx)(z.A,{}),(0,f.jsxs)(w.A,{selected:"provider"===m,onClick:()=>U("provider"),children:[(0,f.jsx)(x.A,{children:(0,f.jsx)(D,{fontSize:"small"})}),(0,f.jsx)(y.A,{primary:"Provider"})]}),(0,f.jsx)(z.A,{}),(0,f.jsxs)(w.A,{selected:"context-desc"===m,onClick:()=>U("context-desc"),children:[(0,f.jsx)(x.A,{children:(0,f.jsx)(E,{fontSize:"small"})}),(0,f.jsx)(y.A,{primary:"Context (largest)"})]}),(0,f.jsxs)(w.A,{selected:"context-asc"===m,onClick:()=>U("context-asc"),children:[(0,f.jsx)(x.A,{children:(0,f.jsx)(E,{fontSize:"small",sx:{transform:"scaleY(-1)"}})}),(0,f.jsx)(y.A,{primary:"Context (smallest)"})]})]})]})};var Q=c(40512),R=c(83899),S=c(52327),T=c(82605),U=c(98256),V=c(7675),W=c(43249),X=c(2783),Y=c(37489),Z=c(92869),$=c(55973),_=c(66335),aa=c(62383),ab=c(10005);function ac(a){return a.normalize("NFD").replace(/[\u0300-\u036f]/g,"")}let ad=function(a={}){let{ignoreAccents:b=!0,ignoreCase:c=!0,limit:d,matchFrom:e="any",stringify:f,trim:g=!1}=a;return(a,{inputValue:h,getOptionLabel:i})=>{let j=g?h.trim():h;c&&(j=j.toLowerCase()),b&&(j=ac(j));let k=j?a.filter(a=>{let d=(f||i)(a);return c&&(d=d.toLowerCase()),b&&(d=ac(d)),"start"===e?d.startsWith(j):d.includes(j)}):a;return"number"==typeof d?k.slice(0,d):k}}(),ae=a=>null!==a.current&&a.current.parentElement?.contains(document.activeElement),af=[];function ag(a,b,c){if(b||null==a)return"";let d=c(a);return"string"==typeof d?d:""}let ah=function(a){let{unstable_isActiveElementInListbox:b=ae,unstable_classNamePrefix:c="Mui",autoComplete:d=!1,autoHighlight:e=!1,autoSelect:f=!1,blurOnSelect:h=!1,clearOnBlur:i=!a.freeSolo,clearOnEscape:j=!1,componentName:k="useAutocomplete",defaultValue:l=a.multiple?af:null,disableClearable:m=!1,disableCloseOnSelect:n=!1,disabled:o,disabledItemsFocusable:p=!1,disableListWrap:q=!1,filterOptions:r=ad,filterSelectedOptions:s=!1,freeSolo:t=!1,getOptionDisabled:u,getOptionKey:v,getOptionLabel:w=a=>a.label??a,groupBy:x,handleHomeEndKeys:y=!a.freeSolo,id:z,includeInputInList:A=!1,inputValue:B,isOptionEqualToValue:C=(a,b)=>a===b,multiple:D=!1,onChange:E,onClose:F,onHighlightChange:G,onInputChange:H,onOpen:I,open:J,openOnFocus:K=!1,options:L,readOnly:M=!1,selectOnFocus:N=!a.freeSolo,value:O}=a,P=(0,Z.A)(z),Q=w;Q=a=>{let b=w(a);return"string"!=typeof b?String(b):b};let R=g.useRef(!1),S=g.useRef(!0),T=g.useRef(null),U=g.useRef(null),[V,W]=g.useState(null),[X,Y]=g.useState(-1),ac=e?0:-1,ah=g.useRef(ac),ai=g.useRef(ag(l??O,D,Q)).current,[aj,ak]=(0,$.A)({controlled:O,default:l,name:k}),[al,am]=(0,$.A)({controlled:B,default:ai,name:k,state:"inputValue"}),[an,ao]=g.useState(!1),ap=g.useCallback((a,b,c)=>{if(!(D?aj.length<b.length:null!==b)&&!i)return;let d=ag(b,D,Q);al!==d&&(am(d),H&&H(a,d,c))},[Q,al,D,H,am,i,aj]),[aq,ar]=(0,$.A)({controlled:J,default:!1,name:k,state:"open"}),[as,at]=g.useState(!0),au=!D&&null!=aj&&al===Q(aj),av=aq&&!M,aw=av?r(L.filter(a=>!(s&&(D?aj:[aj]).some(b=>null!==b&&C(a,b)))),{inputValue:au&&as?"":al,getOptionLabel:Q}):[],ax=(0,_.A)({filteredOptions:aw,value:aj,inputValue:al});g.useEffect(()=>{let a=aj!==ax.value;(!an||a)&&(!t||a)&&ap(null,aj,"reset")},[aj,ap,an,ax.value,t]);let ay=aq&&aw.length>0&&!M,az=(0,aa.A)(a=>{-1===a?T.current.focus():V.querySelector(`[data-tag-index="${a}"]`).focus()});g.useEffect(()=>{D&&X>aj.length-1&&(Y(-1),az(-1))},[aj,D,X,az]);let aA=(0,aa.A)(({event:a,index:b,reason:d})=>{if(ah.current=b,-1===b?T.current.removeAttribute("aria-activedescendant"):T.current.setAttribute("aria-activedescendant",`${P}-option-${b}`),G&&["mouse","keyboard","touch"].includes(d)&&G(a,-1===b?null:aw[b],d),!U.current)return;let e=U.current.querySelector(`[role="option"].${c}-focused`);e&&(e.classList.remove(`${c}-focused`),e.classList.remove(`${c}-focusVisible`));let f=U.current;if("listbox"!==U.current.getAttribute("role")&&(f=U.current.parentElement.querySelector('[role="listbox"]')),!f)return;if(-1===b){f.scrollTop=0;return}let g=U.current.querySelector(`[data-option-index="${b}"]`);if(g&&(g.classList.add(`${c}-focused`),"keyboard"===d&&g.classList.add(`${c}-focusVisible`),f.scrollHeight>f.clientHeight&&"mouse"!==d&&"touch"!==d)){let a=f.clientHeight+f.scrollTop,b=g.offsetTop+g.offsetHeight;b>a?f.scrollTop=b-f.clientHeight:g.offsetTop-g.offsetHeight*(1.3*!!x)<f.scrollTop&&(f.scrollTop=g.offsetTop-g.offsetHeight*(1.3*!!x))}}),aB=(0,aa.A)(({event:a,diff:b,direction:c="next",reason:e})=>{if(!av)return;let f=function(a,b){if(!U.current||a<0||a>=aw.length)return -1;let c=a;for(;;){let d=U.current.querySelector(`[data-option-index="${c}"]`),e=!p&&(!d||d.disabled||"true"===d.getAttribute("aria-disabled"));if(d&&d.hasAttribute("tabindex")&&!e)return c;if((c="next"===b?(c+1)%aw.length:(c-1+aw.length)%aw.length)===a)return -1}}((()=>{let a=aw.length-1;if("reset"===b)return ac;if("start"===b)return 0;if("end"===b)return a;let c=ah.current+b;return c<0?-1===c&&A?-1:q&&-1!==ah.current||Math.abs(b)>1?0:a:c>a?c===a+1&&A?-1:q||Math.abs(b)>1?a:0:c})(),c);if(aA({index:f,reason:e,event:a}),d&&"reset"!==b)if(-1===f)T.current.value=al;else{let a=Q(aw[f]);T.current.value=a,0===a.toLowerCase().indexOf(al.toLowerCase())&&al.length>0&&T.current.setSelectionRange(al.length,a.length)}}),aC=g.useCallback(()=>{if(!av)return;let a=(()=>{var a,b;if(-1!==ah.current&&ax.filteredOptions&&ax.filteredOptions.length!==aw.length&&ax.inputValue===al&&(D?aj.length===ax.value.length&&ax.value.every((a,b)=>Q(aj[b])===Q(a)):(a=ax.value,b=aj,(a?Q(a):"")===(b?Q(b):"")))){let a=ax.filteredOptions[ah.current];if(a)return aw.findIndex(b=>Q(b)===Q(a))}return -1})();if(-1!==a){ah.current=a;return}let b=D?aj[0]:aj;if(0===aw.length||null==b)return void aB({diff:"reset"});if(U.current){if(null!=b){let a=aw[ah.current];if(D&&a&&-1!==aj.findIndex(b=>C(a,b)))return;let c=aw.findIndex(a=>C(a,b));-1===c?aB({diff:"reset"}):aA({index:c});return}if(ah.current>=aw.length-1)return void aA({index:aw.length-1});aA({index:ah.current})}},[aw.length,!D&&aj,s,aB,aA,av,al,D]),aD=(0,aa.A)(a=>{(0,ab.A)(U,a),a&&aC()});g.useEffect(()=>{aC()},[aC]);let aE=a=>{!aq&&(ar(!0),at(!0),I&&I(a))},aF=(a,b)=>{aq&&(ar(!1),F&&F(a,b))},aG=(a,b,c,d)=>{if(D){if(aj.length===b.length&&aj.every((a,c)=>a===b[c]))return}else if(aj===b)return;E&&E(a,b,c,d),ak(b)},aH=g.useRef(!1),aI=(a,b,c="selectOption",d="options")=>{let e=c,f=b;if(D){let a=(f=Array.isArray(aj)?aj.slice():[]).findIndex(a=>C(b,a));-1===a?f.push(b):"freeSolo"!==d&&(f.splice(a,1),e="removeOption")}ap(a,f,e),aG(a,f,e,{option:b}),n||a&&(a.ctrlKey||a.metaKey)||aF(a,e),(!0===h||"touch"===h&&aH.current||"mouse"===h&&!aH.current)&&T.current.blur()},aJ=(a,b)=>{if(!D)return;""===al&&aF(a,"toggleInput");let c=X;-1===X?""===al&&"previous"===b&&(c=aj.length-1):((c+="next"===b?1:-1)<0&&(c=0),c===aj.length&&(c=-1)),Y(c=function(a,b){if(-1===a)return -1;let c=a;for(;;){if("next"===b&&c===aj.length||"previous"===b&&-1===c)return -1;let a=V.querySelector(`[data-tag-index="${c}"]`);if(a&&a.hasAttribute("tabindex")&&!a.disabled&&"true"!==a.getAttribute("aria-disabled"))return c;c+="next"===b?1:-1}}(c,b)),az(c)},aK=a=>{R.current=!0,am(""),H&&H(a,"","clear"),aG(a,D?[]:null,"clear")},aL=a=>{ao(!0),K&&!R.current&&aE(a)},aM=a=>{if(b(U))return void T.current.focus();ao(!1),S.current=!0,R.current=!1,f&&-1!==ah.current&&av?aI(a,aw[ah.current],"blur"):f&&t&&""!==al?aI(a,al,"blur","freeSolo"):i&&ap(a,aj,"blur"),aF(a,"blur")},aN=a=>{let b=a.target.value;al!==b&&(am(b),at(!1),H&&H(a,b,"input")),""===b?m||D||aG(a,null,"clear"):aE(a)},aO=a=>{let b=Number(a.currentTarget.getAttribute("data-option-index"));ah.current!==b&&aA({event:a,index:b,reason:"mouse"})},aP=a=>{aA({event:a,index:Number(a.currentTarget.getAttribute("data-option-index")),reason:"touch"}),aH.current=!0},aQ=a=>{let b=Number(a.currentTarget.getAttribute("data-option-index"));aI(a,aw[b],"selectOption"),aH.current=!1},aR=a=>{aq?aF(a,"toggleInput"):aE(a)},aS=a=>{a.currentTarget.contains(a.target)&&a.target.getAttribute("id")!==P&&a.preventDefault()},aT=a=>{a.currentTarget.contains(a.target)&&(T.current.focus(),N&&S.current&&T.current.selectionEnd-T.current.selectionStart==0&&T.current.select(),S.current=!1)},aU=a=>{o||""!==al&&aq||aR(a)},aV=t&&al.length>0;aV=aV||(D?aj.length>0:null!==aj);let aW=aw;return x&&(aW=aw.reduce((a,b,c)=>{let d=x(b);return a.length>0&&a[a.length-1].group===d?a[a.length-1].options.push(b):a.push({key:c,index:c,group:d,options:[b]}),a},[])),o&&an&&aM(),{getRootProps:(a={})=>({...a,onKeyDown:b=>{if(a.onKeyDown&&a.onKeyDown(b),!b.defaultMuiPrevented&&(-1===X||["ArrowLeft","ArrowRight"].includes(b.key)||(Y(-1),az(-1)),229!==b.which))switch(b.key){case"Home":av&&y&&(b.preventDefault(),aB({diff:"start",direction:"next",reason:"keyboard",event:b}));break;case"End":av&&y&&(b.preventDefault(),aB({diff:"end",direction:"previous",reason:"keyboard",event:b}));break;case"PageUp":b.preventDefault(),aB({diff:-5,direction:"previous",reason:"keyboard",event:b}),aE(b);break;case"PageDown":b.preventDefault(),aB({diff:5,direction:"next",reason:"keyboard",event:b}),aE(b);break;case"ArrowDown":b.preventDefault(),aB({diff:1,direction:"next",reason:"keyboard",event:b}),aE(b);break;case"ArrowUp":b.preventDefault(),aB({diff:-1,direction:"previous",reason:"keyboard",event:b}),aE(b);break;case"ArrowLeft":aJ(b,"previous");break;case"ArrowRight":aJ(b,"next");break;case"Enter":if(-1!==ah.current&&av){let a=aw[ah.current],c=!!u&&u(a);if(b.preventDefault(),c)return;aI(b,a,"selectOption"),d&&T.current.setSelectionRange(T.current.value.length,T.current.value.length)}else t&&""!==al&&!1===au&&(D&&b.preventDefault(),aI(b,al,"createOption","freeSolo"));break;case"Escape":av?(b.preventDefault(),b.stopPropagation(),aF(b,"escape")):j&&(""!==al||D&&aj.length>0)&&(b.preventDefault(),b.stopPropagation(),aK(b));break;case"Backspace":if(D&&!M&&""===al&&aj.length>0){let a=-1===X?aj.length-1:X,c=aj.slice();c.splice(a,1),aG(b,c,"removeOption",{option:aj[a]})}break;case"Delete":if(D&&!M&&""===al&&aj.length>0&&-1!==X){let a=aj.slice();a.splice(X,1),aG(b,a,"removeOption",{option:aj[X]})}}},onMouseDown:aS,onClick:aT}),getInputLabelProps:()=>({id:`${P}-label`,htmlFor:P}),getInputProps:()=>({id:P,value:al,onBlur:aM,onFocus:aL,onChange:aN,onMouseDown:aU,"aria-activedescendant":av?"":null,"aria-autocomplete":d?"both":"list","aria-controls":ay?`${P}-listbox`:void 0,"aria-expanded":ay,autoComplete:"off",ref:T,autoCapitalize:"none",spellCheck:"false",role:"combobox",disabled:o}),getClearProps:()=>({tabIndex:-1,type:"button",onClick:aK}),getPopupIndicatorProps:()=>({tabIndex:-1,type:"button",onClick:aR}),getTagProps:({index:a})=>({key:a,"data-tag-index":a,tabIndex:-1,...!M&&{onDelete:b=>{let c=aj.slice();c.splice(a,1),aG(b,c,"removeOption",{option:aj[a]})}}}),getListboxProps:()=>({role:"listbox",id:`${P}-listbox`,"aria-labelledby":`${P}-label`,ref:aD,onMouseDown:a=>{a.preventDefault()}}),getOptionProps:({index:a,option:b})=>{let c=(D?aj:[aj]).some(a=>null!=a&&C(b,a)),d=!!u&&u(b);return{key:v?.(b)??Q(b),tabIndex:-1,role:"option",id:`${P}-option-${a}`,onMouseMove:aO,onClick:aQ,onTouchStart:aP,"data-option-index":a,"aria-disabled":d,"aria-selected":c}},id:P,inputValue:al,value:aj,dirty:aV,expanded:av&&V,popupOpen:av,focused:an||-1!==X,anchorEl:V,setAnchorEl:W,focusedTag:X,groupedOptions:aW}};var ai=c(31605),aj=c(18168),ak=c(68333),al=c(6636),am=c(6638),an=c(29565),ao=c(33105);function ap(a){return(0,ao.Ay)("MuiListSubheader",a)}(0,an.A)("MuiListSubheader",["root","colorPrimary","colorInherit","gutters","inset","sticky"]);let aq=(0,aj.Ay)("li",{name:"MuiListSubheader",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.root,"default"!==c.color&&b[`color${(0,am.A)(c.color)}`],!c.disableGutters&&b.gutters,c.inset&&b.inset,!c.disableSticky&&b.sticky]}})((0,ak.A)(({theme:a})=>({boxSizing:"border-box",lineHeight:"48px",listStyle:"none",color:(a.vars||a).palette.text.secondary,fontFamily:a.typography.fontFamily,fontWeight:a.typography.fontWeightMedium,fontSize:a.typography.pxToRem(14),variants:[{props:{color:"primary"},style:{color:(a.vars||a).palette.primary.main}},{props:{color:"inherit"},style:{color:"inherit"}},{props:({ownerState:a})=>!a.disableGutters,style:{paddingLeft:16,paddingRight:16}},{props:({ownerState:a})=>a.inset,style:{paddingLeft:72}},{props:({ownerState:a})=>!a.disableSticky,style:{position:"sticky",top:0,zIndex:1,backgroundColor:(a.vars||a).palette.background.paper}}]}))),ar=g.forwardRef(function(a,b){let c=(0,al.b)({props:a,name:"MuiListSubheader"}),{className:d,color:e="default",component:g="li",disableGutters:h=!1,disableSticky:i=!1,inset:j=!1,...k}=c,l={...c,color:e,component:g,disableGutters:h,disableSticky:i,inset:j},m=(a=>{let{classes:b,color:c,disableGutters:d,inset:e,disableSticky:f}=a,g={root:["root","default"!==c&&`color${(0,am.A)(c)}`,!d&&"gutters",e&&"inset",!f&&"sticky"]};return(0,X.A)(g,ap,b)})(l);return(0,f.jsx)(aq,{as:g,className:(0,W.A)(m.root,d),ref:b,ownerState:l,...k})});ar&&(ar.muiSkipListHighlight=!0);var as=c(41893),at=c(88679),au=c(13763),av=c(91003),aw=c(37659),ax=c(88570),ay=c(41606);function az(a){return(0,ao.Ay)("MuiAutocomplete",a)}let aA=(0,an.A)("MuiAutocomplete",["root","expanded","fullWidth","focused","focusVisible","tag","tagSizeSmall","tagSizeMedium","hasPopupIcon","hasClearIcon","inputRoot","input","inputFocused","endAdornment","clearIndicator","popupIndicator","popupIndicatorOpen","popper","popperDisablePortal","paper","listbox","loading","noOptions","option","groupLabel","groupUl"]);var aB=c(20385);let aC=(0,aj.Ay)("div",{name:"MuiAutocomplete",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a,{fullWidth:d,hasClearIcon:e,hasPopupIcon:f,inputFocused:g,size:h}=c;return[{[`& .${aA.tag}`]:b.tag},{[`& .${aA.tag}`]:b[`tagSize${(0,am.A)(h)}`]},{[`& .${aA.inputRoot}`]:b.inputRoot},{[`& .${aA.input}`]:b.input},{[`& .${aA.input}`]:g&&b.inputFocused},b.root,d&&b.fullWidth,f&&b.hasPopupIcon,e&&b.hasClearIcon]}})({[`&.${aA.focused} .${aA.clearIndicator}`]:{visibility:"visible"},"@media (pointer: fine)":{[`&:hover .${aA.clearIndicator}`]:{visibility:"visible"}},[`& .${aA.tag}`]:{margin:3,maxWidth:"calc(100% - 6px)"},[`& .${aA.inputRoot}`]:{[`.${aA.hasPopupIcon}&, .${aA.hasClearIcon}&`]:{paddingRight:30},[`.${aA.hasPopupIcon}.${aA.hasClearIcon}&`]:{paddingRight:56},[`& .${aA.input}`]:{width:0,minWidth:30}},[`& .${at.A.root}`]:{paddingBottom:1,"& .MuiInput-input":{padding:"4px 4px 4px 0px"}},[`& .${at.A.root}.${au.A.sizeSmall}`]:{[`& .${at.A.input}`]:{padding:"2px 4px 3px 0"}},[`& .${av.A.root}`]:{padding:9,[`.${aA.hasPopupIcon}&, .${aA.hasClearIcon}&`]:{paddingRight:39},[`.${aA.hasPopupIcon}.${aA.hasClearIcon}&`]:{paddingRight:65},[`& .${aA.input}`]:{padding:"7.5px 4px 7.5px 5px"},[`& .${aA.endAdornment}`]:{right:9}},[`& .${av.A.root}.${au.A.sizeSmall}`]:{paddingTop:6,paddingBottom:6,paddingLeft:6,[`& .${aA.input}`]:{padding:"2.5px 4px 2.5px 8px"}},[`& .${aw.A.root}`]:{paddingTop:19,paddingLeft:8,[`.${aA.hasPopupIcon}&, .${aA.hasClearIcon}&`]:{paddingRight:39},[`.${aA.hasPopupIcon}.${aA.hasClearIcon}&`]:{paddingRight:65},[`& .${aw.A.input}`]:{padding:"7px 4px"},[`& .${aA.endAdornment}`]:{right:9}},[`& .${aw.A.root}.${au.A.sizeSmall}`]:{paddingBottom:1,[`& .${aw.A.input}`]:{padding:"2.5px 4px"}},[`& .${au.A.hiddenLabel}`]:{paddingTop:8},[`& .${aw.A.root}.${au.A.hiddenLabel}`]:{paddingTop:0,paddingBottom:0,[`& .${aA.input}`]:{paddingTop:16,paddingBottom:17}},[`& .${aw.A.root}.${au.A.hiddenLabel}.${au.A.sizeSmall}`]:{[`& .${aA.input}`]:{paddingTop:8,paddingBottom:9}},[`& .${aA.input}`]:{flexGrow:1,textOverflow:"ellipsis",opacity:0},variants:[{props:{fullWidth:!0},style:{width:"100%"}},{props:{size:"small"},style:{[`& .${aA.tag}`]:{margin:2,maxWidth:"calc(100% - 4px)"}}},{props:{inputFocused:!0},style:{[`& .${aA.input}`]:{opacity:1}}},{props:{multiple:!0},style:{[`& .${aA.inputRoot}`]:{flexWrap:"wrap"}}}]}),aD=(0,aj.Ay)("div",{name:"MuiAutocomplete",slot:"EndAdornment",overridesResolver:(a,b)=>b.endAdornment})({position:"absolute",right:0,top:"50%",transform:"translate(0, -50%)"}),aE=(0,aj.Ay)(u.A,{name:"MuiAutocomplete",slot:"ClearIndicator",overridesResolver:(a,b)=>b.clearIndicator})({marginRight:-2,padding:4,visibility:"hidden"}),aF=(0,aj.Ay)(u.A,{name:"MuiAutocomplete",slot:"PopupIndicator",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.popupIndicator,c.popupOpen&&b.popupIndicatorOpen]}})({padding:2,marginRight:-2,variants:[{props:{popupOpen:!0},style:{transform:"rotate(180deg)"}}]}),aG=(0,aj.Ay)(ai.A,{name:"MuiAutocomplete",slot:"Popper",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[{[`& .${aA.option}`]:b.option},b.popper,c.disablePortal&&b.popperDisablePortal]}})((0,ak.A)(({theme:a})=>({zIndex:(a.vars||a).zIndex.modal,variants:[{props:{disablePortal:!0},style:{position:"absolute"}}]}))),aH=(0,aj.Ay)(i.A,{name:"MuiAutocomplete",slot:"Paper",overridesResolver:(a,b)=>b.paper})((0,ak.A)(({theme:a})=>({...a.typography.body1,overflow:"auto"}))),aI=(0,aj.Ay)("div",{name:"MuiAutocomplete",slot:"Loading",overridesResolver:(a,b)=>b.loading})((0,ak.A)(({theme:a})=>({color:(a.vars||a).palette.text.secondary,padding:"14px 16px"}))),aJ=(0,aj.Ay)("div",{name:"MuiAutocomplete",slot:"NoOptions",overridesResolver:(a,b)=>b.noOptions})((0,ak.A)(({theme:a})=>({color:(a.vars||a).palette.text.secondary,padding:"14px 16px"}))),aK=(0,aj.Ay)("ul",{name:"MuiAutocomplete",slot:"Listbox",overridesResolver:(a,b)=>b.listbox})((0,ak.A)(({theme:a})=>({listStyle:"none",margin:0,padding:"8px 0",maxHeight:"40vh",overflow:"auto",position:"relative",[`& .${aA.option}`]:{minHeight:48,display:"flex",overflow:"hidden",justifyContent:"flex-start",alignItems:"center",cursor:"pointer",paddingTop:6,boxSizing:"border-box",outline:"0",WebkitTapHighlightColor:"transparent",paddingBottom:6,paddingLeft:16,paddingRight:16,[a.breakpoints.up("sm")]:{minHeight:"auto"},[`&.${aA.focused}`]:{backgroundColor:(a.vars||a).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},'&[aria-disabled="true"]':{opacity:(a.vars||a).palette.action.disabledOpacity,pointerEvents:"none"},[`&.${aA.focusVisible}`]:{backgroundColor:(a.vars||a).palette.action.focus},'&[aria-selected="true"]':{backgroundColor:a.vars?`rgba(${a.vars.palette.primary.mainChannel} / ${a.vars.palette.action.selectedOpacity})`:(0,Y.X4)(a.palette.primary.main,a.palette.action.selectedOpacity),[`&.${aA.focused}`]:{backgroundColor:a.vars?`rgba(${a.vars.palette.primary.mainChannel} / calc(${a.vars.palette.action.selectedOpacity} + ${a.vars.palette.action.hoverOpacity}))`:(0,Y.X4)(a.palette.primary.main,a.palette.action.selectedOpacity+a.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(a.vars||a).palette.action.selected}},[`&.${aA.focusVisible}`]:{backgroundColor:a.vars?`rgba(${a.vars.palette.primary.mainChannel} / calc(${a.vars.palette.action.selectedOpacity} + ${a.vars.palette.action.focusOpacity}))`:(0,Y.X4)(a.palette.primary.main,a.palette.action.selectedOpacity+a.palette.action.focusOpacity)}}}}))),aL=(0,aj.Ay)(ar,{name:"MuiAutocomplete",slot:"GroupLabel",overridesResolver:(a,b)=>b.groupLabel})((0,ak.A)(({theme:a})=>({backgroundColor:(a.vars||a).palette.background.paper,top:-8}))),aM=(0,aj.Ay)("ul",{name:"MuiAutocomplete",slot:"GroupUl",overridesResolver:(a,b)=>b.groupUl})({padding:0,[`& .${aA.option}`]:{paddingLeft:24}}),aN=g.forwardRef(function(a,b){let c,h=(0,al.b)({props:a,name:"MuiAutocomplete"}),{autoComplete:j=!1,autoHighlight:k=!1,autoSelect:l=!1,blurOnSelect:m=!1,ChipProps:n,className:o,clearIcon:p=d||(d=(0,f.jsx)(ax.A,{fontSize:"small"})),clearOnBlur:q=!h.freeSolo,clearOnEscape:r=!1,clearText:s="Clear",closeText:t="Close",componentsProps:u,defaultValue:v=h.multiple?[]:null,disableClearable:w=!1,disableCloseOnSelect:x=!1,disabled:y=!1,disabledItemsFocusable:z=!1,disableListWrap:A=!1,disablePortal:B=!1,filterOptions:C,filterSelectedOptions:D=!1,forcePopupIcon:E="auto",freeSolo:F=!1,fullWidth:G=!1,getLimitTagsText:H=a=>`+${a}`,getOptionDisabled:I,getOptionKey:J,getOptionLabel:K,isOptionEqualToValue:L,groupBy:M,handleHomeEndKeys:N=!h.freeSolo,id:O,includeInputInList:P=!1,inputValue:Q,limitTags:R=-1,ListboxComponent:S,ListboxProps:T,loading:U=!1,loadingText:V="Loading…",multiple:Y=!1,noOptionsText:Z="No options",onChange:$,onClose:_,onHighlightChange:aa,onInputChange:ab,onOpen:ac,open:ad,openOnFocus:ae=!1,openText:af="Open",options:ag,PaperComponent:aj,PopperComponent:ak,popupIcon:an=e||(e=(0,f.jsx)(ay.A,{})),readOnly:ao=!1,renderGroup:ap,renderInput:aq,renderOption:ar,renderTags:at,selectOnFocus:au=!h.freeSolo,size:av="medium",slots:aw={},slotProps:aA={},value:aN,...aO}=h,{getRootProps:aP,getInputProps:aQ,getInputLabelProps:aR,getPopupIndicatorProps:aS,getClearProps:aT,getTagProps:aU,getListboxProps:aV,getOptionProps:aW,value:aX,dirty:aY,expanded:aZ,id:a$,popupOpen:a_,focused:a0,focusedTag:a1,anchorEl:a2,setAnchorEl:a3,inputValue:a4,groupedOptions:a5}=ah({...h,componentName:"Autocomplete"}),a6=!w&&!y&&aY&&!ao,a7=(!F||!0===E)&&!1!==E,{onMouseDown:a8}=aQ(),{ref:a9,...ba}=aV(),bb=K||(a=>a.label??a),bc={...h,disablePortal:B,expanded:aZ,focused:a0,fullWidth:G,getOptionLabel:bb,hasClearIcon:a6,hasPopupIcon:a7,inputFocused:-1===a1,popupOpen:a_,size:av},bd=(a=>{let{classes:b,disablePortal:c,expanded:d,focused:e,fullWidth:f,hasClearIcon:g,hasPopupIcon:h,inputFocused:i,popupOpen:j,size:k}=a,l={root:["root",d&&"expanded",e&&"focused",f&&"fullWidth",g&&"hasClearIcon",h&&"hasPopupIcon"],inputRoot:["inputRoot"],input:["input",i&&"inputFocused"],tag:["tag",`tagSize${(0,am.A)(k)}`],endAdornment:["endAdornment"],clearIndicator:["clearIndicator"],popupIndicator:["popupIndicator",j&&"popupIndicatorOpen"],popper:["popper",c&&"popperDisablePortal"],paper:["paper"],listbox:["listbox"],loading:["loading"],noOptions:["noOptions"],option:["option"],groupLabel:["groupLabel"],groupUl:["groupUl"]};return(0,X.A)(l,az,b)})(bc),be={slots:{paper:aj,popper:ak,...aw},slotProps:{chip:n,listbox:T,...u,...aA}},[bf,bg]=(0,aB.A)("listbox",{elementType:aK,externalForwardedProps:be,ownerState:bc,className:bd.listbox,additionalProps:ba,ref:a9}),[bh,bi]=(0,aB.A)("paper",{elementType:i.A,externalForwardedProps:be,ownerState:bc,className:bd.paper}),[bj,bk]=(0,aB.A)("popper",{elementType:ai.A,externalForwardedProps:be,ownerState:bc,className:bd.popper,additionalProps:{disablePortal:B,style:{width:a2?a2.clientWidth:null},role:"presentation",anchorEl:a2,open:a_}});if(Y&&aX.length>0){let a=a=>({className:bd.tag,disabled:y,...aU(a)});c=at?at(aX,a,bc):aX.map((b,c)=>{let{key:d,...e}=a({index:c});return(0,f.jsx)(as.A,{label:bb(b),size:av,...e,...be.slotProps.chip},d)})}if(R>-1&&Array.isArray(c)){let a=c.length-R;!a0&&a>0&&(c=c.splice(0,R)).push((0,f.jsx)("span",{className:bd.tag,children:H(a)},c.length))}let bl=ap||(a=>(0,f.jsxs)("li",{children:[(0,f.jsx)(aL,{className:bd.groupLabel,ownerState:bc,component:"div",children:a.group}),(0,f.jsx)(aM,{className:bd.groupUl,ownerState:bc,children:a.children})]},a.key)),bm=ar||((a,b)=>{let{key:c,...d}=a;return(0,f.jsx)("li",{...d,children:bb(b)},c)}),bn=(a,b)=>{let c=aW({option:a,index:b});return bm({...c,className:bd.option},a,{selected:c["aria-selected"],index:b,inputValue:a4},bc)},bo=be.slotProps.clearIndicator,bp=be.slotProps.popupIndicator;return(0,f.jsxs)(g.Fragment,{children:[(0,f.jsx)(aC,{ref:b,className:(0,W.A)(bd.root,o),ownerState:bc,...aP(aO),children:aq({id:a$,disabled:y,fullWidth:!0,size:"small"===av?"small":void 0,InputLabelProps:aR(),InputProps:{ref:a3,className:bd.inputRoot,startAdornment:c,onMouseDown:a=>{a.target===a.currentTarget&&a8(a)},...(a6||a7)&&{endAdornment:(0,f.jsxs)(aD,{className:bd.endAdornment,ownerState:bc,children:[a6?(0,f.jsx)(aE,{...aT(),"aria-label":s,title:s,ownerState:bc,...bo,className:(0,W.A)(bd.clearIndicator,bo?.className),children:p}):null,a7?(0,f.jsx)(aF,{...aS(),disabled:y,"aria-label":a_?t:af,title:a_?t:af,ownerState:bc,...bp,className:(0,W.A)(bd.popupIndicator,bp?.className),children:an}):null]})}},inputProps:{className:bd.input,disabled:y,readOnly:ao,...aQ()}})}),a2?(0,f.jsx)(aG,{as:bj,...bk,children:(0,f.jsxs)(aH,{as:bh,...bi,children:[U&&0===a5.length?(0,f.jsx)(aI,{className:bd.loading,ownerState:bc,children:V}):null,0!==a5.length||F||U?null:(0,f.jsx)(aJ,{className:bd.noOptions,ownerState:bc,role:"presentation",onMouseDown:a=>{a.preventDefault()},children:Z}),a5.length>0?(0,f.jsx)(bf,{as:S,...bg,children:a5.map((a,b)=>M?bl({key:a.key,group:a.group,children:a.options.map((b,c)=>bn(b,a.index+c))}):bn(a,b))}):null]})}):null]})});var aO=c(19925),aP=c(93083),aQ=c(85557),aR=c(49938),aS=c(85838),aT=c(76133),aU=c(92173),aV=c(83434);let aW=(0,N.h)("frontend/components/models/modal"),aX=({open:a,model:b,onSave:c,onClose:d})=>{let e=(0,h.useRouter)(),{globalEnvVars:i}=(0,aR.rX)(),[l,o]=(0,g.useState)({}),[p,q]=(0,g.useState)({}),[v,x]=(0,g.useState)(null),[y,z]=(0,g.useState)(!1),[A,B]=(0,g.useState)(null),[C,D]=(0,g.useState)(!1),[E,F]=(0,g.useState)([]),[G,H]=(0,g.useState)(!1),I=(0,g.useRef)(null),J=(0,g.useRef)(null);(0,g.useEffect)(()=>{a&&F([])},[a]),(0,g.useEffect)(()=>{l.baseUrl&&(aW.debug("Base URL or API Key changed",{baseUrl:l.baseUrl}),F([]))},[l.baseUrl,l.ApiKey]),(0,g.useEffect)(()=>(J.current&&clearTimeout(J.current),l.baseUrl&&(J.current=setTimeout(()=>{aW.debug("Debounced fetchModels triggered",{name:l.name,baseUrl:l.baseUrl,searchTerm:l.name?`"${l.name}"`:"none"}),K(l.baseUrl,l.name)},100)),()=>{J.current&&clearTimeout(J.current)}),[l.name,l.baseUrl]),(0,g.useEffect)(()=>()=>{J.current&&clearTimeout(J.current)},[]);let K=async(a,c)=>{aW.debug("fetchModels called",{baseUrl:a,searchTerm:c?`"${c}"`:"none",apiKey:l.ApiKey?"present":"not present",isApiKeyBound:y}),H(!0),q({});try{let d=y&&A?`\${global:${A}}`:l.ApiKey&&l.ApiKey!==aU.RJ?l.ApiKey:void 0,e=await aV.N.fetchProviderModels(a,b.id,c,d);aW.debug("Models fetched successfully",{count:e?.length,searchTerm:c?`"${c}"`:"none"}),Array.isArray(e)?(F(e),aW.info("Models set in state",{count:e.length,searchTerm:c?`"${c}"`:"none"})):(aW.warn("Unexpected API response format",{models:e}),F([]))}catch(b){aW.warn("Error fetching models",{baseUrl:a,searchTerm:c,error:b}),F([])}finally{H(!1)}};(0,g.useEffect)(()=>{if(a){o({...b,displayName:b.displayName||b.name});let a=(b.ApiKey||"").match(/\$\{global:([^}]+)\}/);a?(z(!0),B(a[1])):(z(!1),B(null),o(a=>({...a,ApiKey:b.name?aU.RJ:""})))}else o({name:"",displayName:"",description:"",ApiKey:"",baseUrl:"https://api.openai.com/v1",provider:"openai",adapter:"openai",promptTemplate:"",temperature:"0.0"}),z(!1),B(null);q({}),x(null)},[a,b]);let L=(0,aT.T_)(l.provider,l.adapter),M=(a,b)=>{o(c=>({...c,[a]:b})),q(b=>({...b,[a]:""}))},N=async a=>{a.preventDefault();let d={};if(l.name?.trim()||(d.name="Name is required"),l.displayName?.trim()||(d.displayName="Display Name is required"),y||l.ApiKey?.trim()||(d.ApiKey="API key is required"),Object.keys(d).length>0)return void q(d);try{let a=await c({id:b.id,name:l.name,displayName:l.displayName,description:l.description,ApiKey:l.ApiKey,baseUrl:l.baseUrl,provider:l.provider,adapter:l.adapter||"openai",promptTemplate:l.promptTemplate,temperature:l.temperature,contextWindow:l.contextWindow,maxTurns:l.maxTurns});a.success?e.refresh():q({submit:a.error||"Failed to save model"})}catch(a){aW.error("Failed to save model",{error:a}),q({submit:a?.message||"Failed to save model"})}};return(0,f.jsx)(Q.A,{open:a,onClose:d,maxWidth:"xl",fullWidth:!0,PaperProps:{sx:{width:"95vw",height:"90vh",maxWidth:"95vw",maxHeight:"90vh"}},children:(0,f.jsxs)("form",{onSubmit:N,children:[(0,f.jsx)(R.A,{children:b?"Edit Model":"Add Model"}),(0,f.jsxs)(S.A,{sx:{display:"flex",flexDirection:"column",height:"calc(90vh - 130px)"},children:[p.submit&&(0,f.jsx)(n.A,{severity:"error",sx:{mb:2},children:p.submit}),v&&(0,f.jsx)(n.A,{severity:"info",sx:{mb:2},children:v}),(0,f.jsxs)(s.Ay,{container:!0,spacing:2,sx:{flexGrow:1},children:[(0,f.jsx)(s.Ay,{item:!0,xs:6,sx:{height:"100%"},children:(0,f.jsxs)(j.default,{sx:{display:"flex",flexDirection:"column",height:"100%",pr:2},children:[(0,f.jsx)(t.default,{variant:"h6",gutterBottom:!0,children:"Model Configuration"}),(0,f.jsx)(k.A,{autoFocus:!0,margin:"dense",label:"Display Name",fullWidth:!0,required:!0,value:l.displayName||"",onChange:a=>M("displayName",a.target.value),error:!!p.displayName,helperText:p.displayName||"The name shown in the UI"}),(0,f.jsxs)(T.A,{fullWidth:!0,margin:"dense",children:[(0,f.jsx)(U.A,{id:"provider-profile-label",children:"Provider"}),(0,f.jsx)(V.A,{labelId:"provider-profile-label",label:"Provider",value:L.id,onChange:a=>(a=>{let b=aT.xx.find(b=>b.id===a);b&&(o(a=>({...a,provider:b.provider,adapter:b.adapter,baseUrl:b.baseUrl})),q(a=>({...a,baseUrl:""})))})(a.target.value),children:aT.xx.map(a=>(0,f.jsx)(w.A,{value:a.id,children:a.label},a.id))})]}),(0,f.jsxs)(t.default,{variant:"caption",color:"text.secondary",sx:{mt:.5,mb:1,display:"block"},children:["Uses the ",(0,f.jsx)("strong",{children:L.sdkLabel}),"claude-cli"===L.adapter?". Paste an OAuth token from `claude setup-token` into the API Key field.":""]}),L.showBaseUrl&&(0,f.jsx)(k.A,{margin:"dense",label:"Base URL",fullWidth:!0,value:l.baseUrl||"",onChange:a=>M("baseUrl",a.target.value),helperText:"Endpoint for the OpenAI-compatible API."}),(0,f.jsx)(j.default,{sx:{position:"relative",mt:1,mb:1},children:(0,f.jsx)(k.A,{margin:"dense",label:"API Key",fullWidth:!0,required:!y,type:y?"text":"password",value:l.ApiKey||"",onChange:a=>M("ApiKey",a.target.value),error:!!p.ApiKey,helperText:p.ApiKey||"API key is required for this provider",InputProps:{readOnly:y,endAdornment:(0,f.jsx)(j.default,{sx:{display:"flex",alignItems:"center"},children:y?(0,f.jsx)(u.A,{onClick:()=>{z(!1),B(null),o(a=>({...a,ApiKey:""}))},size:"small",title:"Unbind from global variable",children:(0,f.jsx)(aP.A,{})}):(0,f.jsx)(u.A,{onClick:()=>{D(!0)},size:"small",title:"Bind to global variable",children:(0,f.jsx)(aQ.A,{})})})}})}),(0,f.jsx)(aN,{freeSolo:!0,loading:G,options:L.showBaseUrl?E.map(a=>a.id):L.defaultModels??[],value:l.name||"",onChange:(a,b)=>{M("name",b||"")},onInputChange:(a,b)=>{M("name",b)},filterOptions:(a,b)=>{let c=b.inputValue.toLowerCase();return c?a.filter(a=>{let b=a.toLowerCase();if(b.includes(c))return!0;let d=0,e=0;for(;d<b.length&&e<c.length;)b[d]===c[e]&&e++,d++;return e===c.length}):a},ListboxProps:{style:{maxHeight:"300px",overflow:"auto"}},renderInput:a=>(0,f.jsx)(k.A,{...a,margin:"dense",label:"Technical Name",required:!0,error:!!p.name,helperText:p.name||"Used for API calls to the LLM. Type to search available models.",InputProps:{...a.InputProps,endAdornment:(0,f.jsxs)(f.Fragment,{children:[G?(0,f.jsx)(r.default,{color:"inherit",size:20}):null,a.InputProps.endAdornment]})}}),renderOption:(a,b)=>{let c=E.find(a=>a.id===b),{key:d,...e}=a;return(0,f.jsx)("li",{...e,style:{borderBottom:"1px solid rgba(0,0,0,0.1)",padding:"8px 16px"},children:(0,f.jsxs)(j.default,{children:[(0,f.jsx)(t.default,{variant:"body1",fontWeight:"bold",children:b}),c?.description&&(0,f.jsx)(t.default,{variant:"body2",color:"text.secondary",sx:{fontSize:"0.75rem"},children:c.description})]})},d)},noOptionsText:"No matching models found",loadingText:"Loading models..."}),(0,f.jsx)(k.A,{margin:"dense",label:"Description",fullWidth:!0,multiline:!0,rows:3,value:l.description||"",onChange:a=>M("description",a.target.value)}),(0,f.jsx)(k.A,{margin:"dense",label:"Context Window (tokens)",fullWidth:!0,type:"number",value:l.contextWindow??"",onChange:a=>{let b=a.target.value,c=""===b?void 0:Number(b);o(a=>({...a,contextWindow:void 0!==c&&Number.isFinite(c)&&c>0?Math.floor(c):void 0}))},helperText:"Optional. Enables the context-usage meter in chat (e.g. 200000 for Claude, 128000 for GPT-4o)."}),(0,f.jsx)(k.A,{margin:"dense",label:"Max Turns",fullWidth:!0,type:"number",value:l.maxTurns??"",onChange:a=>{let b=a.target.value,c=""===b?void 0:Number(b);o(a=>({...a,maxTurns:void 0!==c&&Number.isFinite(c)&&c>0?Math.floor(c):void 0}))},inputProps:{min:1},helperText:"Max agentic turns before a run stops (default 50). Process nodes can override this per-node."})]})}),(0,f.jsx)(s.Ay,{item:!0,xs:6,sx:{height:"100%"},children:(0,f.jsxs)(j.default,{sx:{display:"flex",flexDirection:"column",height:"100%",pl:2},children:[(0,f.jsx)(t.default,{variant:"h6",gutterBottom:!0,children:"Prompt Template"}),(0,f.jsx)(j.default,{sx:{flexGrow:1,display:"flex",flexDirection:"column",height:"calc(100% - 32px)"},children:(0,f.jsx)(aS.A,{ref:I,value:l.promptTemplate||"",onChange:a=>M("promptTemplate",a),label:"",height:"100%"})})]})})]}),C&&(0,f.jsxs)(j.default,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:400,bgcolor:"background.paper",boxShadow:24,p:4,borderRadius:1,zIndex:9999},children:[(0,f.jsx)(t.default,{variant:"h6",component:"h2",sx:{mb:2},children:"Bind to Global Variable"}),0===Object.keys(i).length?(0,f.jsx)(t.default,{sx:{mb:2},children:"No global variables available. Add some in Settings first."}):(0,f.jsx)(j.default,{sx:{maxHeight:300,overflow:"auto",mb:2},children:Object.entries(i).map(([a,b])=>(0,f.jsx)(m.A,{onClick:()=>(a=>{z(!0),B(a),o(b=>({...b,ApiKey:`\${global:${a}}`})),D(!1)})(a),fullWidth:!0,sx:{justifyContent:"flex-start",textAlign:"left",mb:1,p:1,"&:hover":{bgcolor:"action.hover"}},children:(0,f.jsxs)(j.default,{sx:{display:"flex",justifyContent:"space-between",width:"100%"},children:[(0,f.jsx)(t.default,{children:a}),(0,f.jsx)(t.default,{variant:"body2",color:"text.secondary",children:a.toLowerCase().includes("key")||a.toLowerCase().includes("secret")||a.toLowerCase().includes("token")||a.toLowerCase().includes("password")?"********":"object"==typeof b&&null!==b&&"value"in b?b.value:b})]})},a))}),(0,f.jsx)(j.default,{sx:{display:"flex",justifyContent:"flex-end"},children:(0,f.jsx)(m.A,{onClick:()=>D(!1),children:"Cancel"})})]})]}),(0,f.jsxs)(aO.A,{children:[(0,f.jsx)(m.A,{onClick:d,children:"Cancel"}),(0,f.jsx)(m.A,{type:"submit",variant:"contained",color:"primary",children:"Save"})]})]})})};var aY=c(61615);let aZ=(0,N.h)("app/models/ModelClient");function a$({initialModels:a}){let b=(0,h.useRouter)(),c=(0,h.useSearchParams)(),[d,e]=(0,g.useState)(a),[q,r]=(0,g.useState)(""),[s,t]=(0,g.useState)(null),[u,v]=(0,g.useState)(!1),[w,x]=(0,g.useState)(!1),[y,z]=(0,g.useState)(null),A="1"===c.get("add");if(!w)return aZ.debug("Waiting for model service to be ready..."),(0,f.jsx)(aY.default,{});let B=c.get("edit"),C=A?y:B?d.find(a=>a.id===B)??null:null,D=A?!!y:!!B,E=async a=>{aZ.info("Saving model",{modelId:a.id,modelName:a.name,mode:A?"add":"update"}),v(!0);try{let c=(0,aV.X)(),d=A?await c.addModel(a):await c.updateModel(a);if(!d.success)return t(d.error||"Failed to save model."),{success:!1,error:d.error};{let a=await c.loadModels();return e(a),z(null),b.push("/models"),{success:!0,model:d.model}}}catch(a){return aZ.error("Failed to save model",a),t(a?.message||"Failed to save model. Please try again."),{success:!1,error:a?.message||"Failed to save model"}}finally{v(!1)}},F=async a=>(aZ.info("Editing model",{modelId:a.id,modelName:a.name}),b.push(`/models?edit=${a.id}`),{success:!0}),G=async()=>{aZ.info("Opening add-model modal"),b.push("/models?add=1")},H=async a=>{aZ.info("Deleting model",{modelId:a}),v(!0);try{let b=(0,aV.X)();await b.deleteModel(a);let c=await b.loadModels();e(c)}catch(a){aZ.error("Failed to delete model",a),t("Failed to delete model. Please try again.")}finally{v(!1)}},I=async(a,b)=>{aZ.info("Setting model folder",{modelId:a,folder:b}),v(!0);try{let c=(0,aV.X)(),d=await c.getModel(a);if(!d)return void t("Model not found.");let f=await c.updateModel({...d,folder:b});if(!f.success)return void t(f.error||"Failed to move model to folder.");let g=await c.loadModels();e(g)}catch(a){aZ.error("Failed to set model folder",a),t(a?.message||"Failed to move model to folder. Please try again.")}finally{v(!1)}},J=async()=>{z(null),b.push("/models")},L=q.trim()?d.filter(a=>{let b=q.toLowerCase();return(a.displayName||"").toLowerCase().includes(b)||(a.name||"").toLowerCase().includes(b)}):d;return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(i.A,{elevation:1,sx:{mb:2,p:1},children:(0,f.jsxs)(j.default,{sx:{display:"flex",flexDirection:{xs:"column",sm:"row"},gap:1,alignItems:{xs:"stretch",sm:"center"},justifyContent:"space-between"},children:[(0,f.jsx)(k.A,{placeholder:"Search models...",variant:"outlined",size:"small",value:q,onChange:a=>r(a.target.value),InputProps:{startAdornment:(0,f.jsx)(l.A,{position:"start",children:(0,f.jsx)(p.A,{fontSize:"small"})})},sx:{maxWidth:{sm:300},width:"100%"}}),(0,f.jsx)(m.A,{variant:"contained",color:"primary",startIcon:(0,f.jsx)(o.A,{}),onClick:G,"data-tour":"add-model",children:"Add Model"})]})}),s&&(0,f.jsx)(j.default,{sx:{mb:2},children:(0,f.jsx)(n.A,{severity:"error",onClose:()=>t(null),children:s})}),(0,f.jsx)(P,{models:L,isLoading:u,onAdd:G,onUpdate:F,onDelete:H,folders:(0,K.yF)(d,a=>a.folder),onSetFolder:I}),D&&C?(0,f.jsx)(aX,{open:D,model:C,onSave:E,onClose:J}):null]})}},85557:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(27080),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1M8 13h8v-2H8zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5"}),"Link")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},91645:a=>{"use strict";a.exports=require("net")},92093:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>h});var d=c(21124),e=c(81637),f=c(79515),g=c(68730);function h({error:a,reset:b}){return(0,d.jsxs)(e.default,{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%",p:4,children:[(0,d.jsx)(f.default,{variant:"h6",color:"error",gutterBottom:!0,children:"Error loading models"}),(0,d.jsx)(f.default,{color:"text.secondary",sx:{mb:2},children:a.message||"Something went wrong while loading the models."}),(0,d.jsx)(e.default,{sx:{display:"flex",gap:2},children:(0,d.jsx)(g.A,{variant:"contained",onClick:b,children:"Try again"})})]})}c(38301),(0,c(19815).h)("app/models/error")},92173:(a,b,c)=>{"use strict";c.d(b,{RJ:()=>e,gF:()=>d});let d="masked:********",e="********"},93083:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(27080),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2m5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12z"}),"Cancel")},94735:a=>{"use strict";a.exports=require("events")},96955:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(27080),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreVert")},98995:a=>{"use strict";a.exports=require("node:module")}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[5873,3648,4239,6996,1223,5734,3984,8445,6772,5625,1746,4949,1491,8739,264,1083,1991,5662,2430],()=>b(b.s=43108));module.exports=c})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../node_modules/next/dist/client/components/app-router-headers.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/lib/client-and-server-references.js","../../../../node_modules/next/dist/lib/constants.js","../../../../node_modules/next/dist/lib/interop-default.js","../../../../node_modules/next/dist/lib/is-error.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/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/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/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/lib/cache-handlers/default.external.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/router-utils/instrumentation-globals.external.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.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/response-cache/types.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/no-fallback-error.external.js","../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../node_modules/next/dist/shared/lib/router/utils/html-bots.js","../../../../node_modules/next/dist/shared/lib/router/utils/is-bot.js","../../../../node_modules/next/dist/shared/lib/segment.js","../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../node_modules/next/package.json","../../../../package.json","../../../../src/app/models/ModelClient.tsx","../../../../src/backend/services/mcp/internalTools.ts","../../../package.json","../../chunks/1050.js","../../chunks/1223.js","../../chunks/1373.js","../../chunks/1403.js","../../chunks/1519.js","../../chunks/1746.js","../../chunks/1877.js","../../chunks/22.js","../../chunks/2471.js","../../chunks/2666.js","../../chunks/2695.js","../../chunks/2859.js","../../chunks/3243.js","../../chunks/3736.js","../../chunks/3984.js","../../chunks/4753.js","../../chunks/5504.js","../../chunks/5587.js","../../chunks/5734.js","../../chunks/5838.js","../../chunks/5873.js","../../chunks/6390.js","../../chunks/6760.js","../../chunks/6996.js","../../chunks/7214.js","../../chunks/724.js","../../chunks/7328.js","../../chunks/7506.js","../../chunks/7635.js","../../chunks/7821.js","../../chunks/805.js","../../chunks/8298.js","../../chunks/8445.js","../../chunks/8460.js","../../chunks/8693.js","../../chunks/8739.js","../../chunks/9343.js","../../chunks/9794.js","../../chunks/9938.js","../../chunks/9957.js","../../webpack-runtime.js","page_client-reference-manifest.js"]}
1
+ {"version":1,"files":["../../../../node_modules/next/dist/client/components/app-router-headers.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/lib/client-and-server-references.js","../../../../node_modules/next/dist/lib/constants.js","../../../../node_modules/next/dist/lib/interop-default.js","../../../../node_modules/next/dist/lib/is-error.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/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/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/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/lib/cache-handlers/default.external.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/router-utils/instrumentation-globals.external.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.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/response-cache/types.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/no-fallback-error.external.js","../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../node_modules/next/dist/shared/lib/router/utils/html-bots.js","../../../../node_modules/next/dist/shared/lib/router/utils/is-bot.js","../../../../node_modules/next/dist/shared/lib/segment.js","../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../node_modules/next/package.json","../../../../package.json","../../../../src/app/models/ModelClient.tsx","../../../../src/backend/services/mcp/internalTools.ts","../../../package.json","../../chunks/1083.js","../../chunks/1223.js","../../chunks/1373.js","../../chunks/1491.js","../../chunks/1746.js","../../chunks/1991.js","../../chunks/22.js","../../chunks/227.js","../../chunks/2350.js","../../chunks/2430.js","../../chunks/2471.js","../../chunks/264.js","../../chunks/2695.js","../../chunks/2859.js","../../chunks/3648.js","../../chunks/3736.js","../../chunks/3984.js","../../chunks/4239.js","../../chunks/4265.js","../../chunks/4681.js","../../chunks/4753.js","../../chunks/4949.js","../../chunks/5625.js","../../chunks/5662.js","../../chunks/5708.js","../../chunks/5734.js","../../chunks/5873.js","../../chunks/6772.js","../../chunks/6826.js","../../chunks/6996.js","../../chunks/7214.js","../../chunks/724.js","../../chunks/7506.js","../../chunks/7635.js","../../chunks/7821.js","../../chunks/7865.js","../../chunks/8445.js","../../chunks/8693.js","../../chunks/8739.js","../../chunks/9343.js","../../chunks/9794.js","../../webpack-runtime.js","page_client-reference-manifest.js"]}