flujo-ai 3.44.0 → 3.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (386) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +7 -7
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/react-loadable-manifest.json +1 -1
  5. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  6. package/.next/server/app/_global-error.html +1 -1
  7. package/.next/server/app/_global-error.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  14. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  15. package/.next/server/app/_not-found.html +1 -1
  16. package/.next/server/app/_not-found.rsc +2 -2
  17. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  18. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  19. package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  20. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  21. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  22. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  23. package/.next/server/app/api/approvals/[id]/route.js +1 -1
  24. package/.next/server/app/api/approvals/[id]/route.js.nft.json +1 -1
  25. package/.next/server/app/api/approvals/route.js +1 -1
  26. package/.next/server/app/api/approvals/route.js.nft.json +1 -1
  27. package/.next/server/app/api/backup/route.js.nft.json +1 -1
  28. package/.next/server/app/api/bugs/enhance/route.js +1 -1
  29. package/.next/server/app/api/bugs/enhance/route.js.nft.json +1 -1
  30. package/.next/server/app/api/encryption/secure/route.js +1 -1
  31. package/.next/server/app/api/encryption/secure/route.js.nft.json +1 -1
  32. package/.next/server/app/api/flow/[id]/convert-process-to-subflow/route.js.nft.json +1 -1
  33. package/.next/server/app/api/flow/[id]/route.js.nft.json +1 -1
  34. package/.next/server/app/api/flow/[id]/versions/[versionId]/route.js.nft.json +1 -1
  35. package/.next/server/app/api/flow/[id]/versions/route.js.nft.json +1 -1
  36. package/.next/server/app/api/flow/assist/route.js +1 -1
  37. package/.next/server/app/api/flow/assist/route.js.nft.json +1 -1
  38. package/.next/server/app/api/flow/compile/route.js +1 -1
  39. package/.next/server/app/api/flow/compile/route.js.nft.json +1 -1
  40. package/.next/server/app/api/flow/generate/route.js +1 -1
  41. package/.next/server/app/api/flow/generate/route.js.nft.json +1 -1
  42. package/.next/server/app/api/flow/generate/visual/route.js +2 -2
  43. package/.next/server/app/api/flow/generate/visual/route.js.nft.json +1 -1
  44. package/.next/server/app/api/flow/generator/route.js +1 -1
  45. package/.next/server/app/api/flow/generator/route.js.nft.json +1 -1
  46. package/.next/server/app/api/flow/improve/route.js +1 -1
  47. package/.next/server/app/api/flow/improve/route.js.nft.json +1 -1
  48. package/.next/server/app/api/flow/prompt-renderer/route.js +1 -1
  49. package/.next/server/app/api/flow/prompt-renderer/route.js.nft.json +1 -1
  50. package/.next/server/app/api/flow/quick-chat/route.js +1 -1
  51. package/.next/server/app/api/flow/quick-chat/route.js.nft.json +1 -1
  52. package/.next/server/app/api/flow/repair/route.js +1 -1
  53. package/.next/server/app/api/flow/repair/route.js.nft.json +1 -1
  54. package/.next/server/app/api/flow/route.js.nft.json +1 -1
  55. package/.next/server/app/api/init/route.js +1 -1
  56. package/.next/server/app/api/init/route.js.nft.json +1 -1
  57. package/.next/server/app/api/mcp/app-consent/route.js +1 -1
  58. package/.next/server/app/api/mcp/app-consent/route.js.nft.json +1 -1
  59. package/.next/server/app/api/mcp/app-sandbox/route.js +2 -2
  60. package/.next/server/app/api/mcp/app-sandbox/route.js.nft.json +1 -1
  61. package/.next/server/app/api/mcp/assistant/route.js +1 -1
  62. package/.next/server/app/api/mcp/assistant/route.js.nft.json +1 -1
  63. package/.next/server/app/api/mcp/cancel/route.js +1 -1
  64. package/.next/server/app/api/mcp/cancel/route.js.nft.json +1 -1
  65. package/.next/server/app/api/mcp/flujo/authoring/route.js +1 -1
  66. package/.next/server/app/api/mcp/flujo/authoring/route.js.nft.json +1 -1
  67. package/.next/server/app/api/mcp/flujo/automation/route.js +1 -1
  68. package/.next/server/app/api/mcp/flujo/automation/route.js.nft.json +1 -1
  69. package/.next/server/app/api/mcp/flujo/flows/route.js +1 -1
  70. package/.next/server/app/api/mcp/flujo/flows/route.js.nft.json +1 -1
  71. package/.next/server/app/api/mcp/flujo/resources/read/route.js +1 -1
  72. package/.next/server/app/api/mcp/flujo/resources/read/route.js.nft.json +1 -1
  73. package/.next/server/app/api/mcp/flujo/resources/route.js +1 -1
  74. package/.next/server/app/api/mcp/flujo/resources/route.js.nft.json +1 -1
  75. package/.next/server/app/api/mcp/flujo/servers/route.js +1 -1
  76. package/.next/server/app/api/mcp/flujo/servers/route.js.nft.json +1 -1
  77. package/.next/server/app/api/mcp/flujo/state/route.js +1 -1
  78. package/.next/server/app/api/mcp/flujo/state/route.js.nft.json +1 -1
  79. package/.next/server/app/api/mcp/flujo/tools/route.js +1 -1
  80. package/.next/server/app/api/mcp/flujo/tools/route.js.nft.json +1 -1
  81. package/.next/server/app/api/mcp/oauth-capability/route.js +1 -1
  82. package/.next/server/app/api/mcp/oauth-capability/route.js.nft.json +1 -1
  83. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js +1 -1
  84. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js.nft.json +1 -1
  85. package/.next/server/app/api/mcp/servers/[name]/prompts/route.js +1 -1
  86. package/.next/server/app/api/mcp/servers/[name]/prompts/route.js.nft.json +1 -1
  87. package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js +1 -1
  88. package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js.nft.json +1 -1
  89. package/.next/server/app/api/mcp/servers/[name]/resources/route.js +1 -1
  90. package/.next/server/app/api/mcp/servers/[name]/resources/route.js.nft.json +1 -1
  91. package/.next/server/app/api/mcp/servers/[name]/route.js +1 -1
  92. package/.next/server/app/api/mcp/servers/[name]/route.js.nft.json +1 -1
  93. package/.next/server/app/api/mcp/servers/[name]/status/route.js +1 -1
  94. package/.next/server/app/api/mcp/servers/[name]/status/route.js.nft.json +1 -1
  95. package/.next/server/app/api/mcp/servers/[name]/stdio-oauth/confirm/route.js +1 -1
  96. package/.next/server/app/api/mcp/servers/[name]/stdio-oauth/confirm/route.js.nft.json +1 -1
  97. package/.next/server/app/api/mcp/servers/[name]/stdio-oauth/start/route.js +1 -1
  98. package/.next/server/app/api/mcp/servers/[name]/stdio-oauth/start/route.js.nft.json +1 -1
  99. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js +1 -1
  100. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js.nft.json +1 -1
  101. package/.next/server/app/api/mcp/servers/[name]/tools/route.js +1 -1
  102. package/.next/server/app/api/mcp/servers/[name]/tools/route.js.nft.json +1 -1
  103. package/.next/server/app/api/mcp/servers/route.js +1 -1
  104. package/.next/server/app/api/mcp/servers/route.js.nft.json +1 -1
  105. package/.next/server/app/api/mcp/test-connection/route.js +1 -1
  106. package/.next/server/app/api/mcp/test-connection/route.js.nft.json +1 -1
  107. package/.next/server/app/api/mcp/test-connection/stream/route.js +1 -1
  108. package/.next/server/app/api/mcp/test-connection/stream/route.js.nft.json +1 -1
  109. package/.next/server/app/api/mcp-registry/route.js +1 -1
  110. package/.next/server/app/api/mcp-registry/route.js.nft.json +1 -1
  111. package/.next/server/app/api/model/[id]/route.js +1 -1
  112. package/.next/server/app/api/model/[id]/route.js.nft.json +1 -1
  113. package/.next/server/app/api/model/provider/route.js +1 -1
  114. package/.next/server/app/api/model/provider/route.js.nft.json +1 -1
  115. package/.next/server/app/api/model/route.js +1 -1
  116. package/.next/server/app/api/model/route.js.nft.json +1 -1
  117. package/.next/server/app/api/model/test/route.js +1 -1
  118. package/.next/server/app/api/model/test/route.js.nft.json +1 -1
  119. package/.next/server/app/api/oauth/reset/route.js +1 -1
  120. package/.next/server/app/api/oauth/reset/route.js.nft.json +1 -1
  121. package/.next/server/app/api/packages/build/route.js.nft.json +1 -1
  122. package/.next/server/app/api/packages/derive-secrets/route.js.nft.json +1 -1
  123. package/.next/server/app/api/packages/install/route.js +1 -1
  124. package/.next/server/app/api/packages/install/route.js.nft.json +1 -1
  125. package/.next/server/app/api/packages/install/status/route.js +1 -1
  126. package/.next/server/app/api/packages/install/status/route.js.nft.json +1 -1
  127. package/.next/server/app/api/packages/installed/route.js +1 -1
  128. package/.next/server/app/api/packages/installed/route.js.nft.json +1 -1
  129. package/.next/server/app/api/packages/resolve/route.js.nft.json +1 -1
  130. package/.next/server/app/api/packages/scan-targets/route.js.nft.json +1 -1
  131. package/.next/server/app/api/packages/uninstall/route.js +1 -1
  132. package/.next/server/app/api/packages/uninstall/route.js.nft.json +1 -1
  133. package/.next/server/app/api/planned-executions/[id]/route.js.nft.json +1 -1
  134. package/.next/server/app/api/planned-executions/[id]/run/route.js.nft.json +1 -1
  135. package/.next/server/app/api/planned-executions/[id]/runs/route.js.nft.json +1 -1
  136. package/.next/server/app/api/planned-executions/reconcile/route.js +1 -1
  137. package/.next/server/app/api/planned-executions/reconcile/route.js.nft.json +1 -1
  138. package/.next/server/app/api/planned-executions/route.js +1 -1
  139. package/.next/server/app/api/planned-executions/route.js.nft.json +1 -1
  140. package/.next/server/app/api/restore/route.js.nft.json +1 -1
  141. package/.next/server/app/api/runs/active/route.js +1 -1
  142. package/.next/server/app/api/runs/active/route.js.nft.json +1 -1
  143. package/.next/server/app/api/telemetry/daily-active/route.js +1 -1
  144. package/.next/server/app/api/waves/route.js +1 -1
  145. package/.next/server/app/api/waves/route.js.nft.json +1 -1
  146. package/.next/server/app/api/webhooks/[id]/route.js +1 -1
  147. package/.next/server/app/api/webhooks/[id]/route.js.nft.json +1 -1
  148. package/.next/server/app/automation/triggers/page_client-reference-manifest.js +1 -1
  149. package/.next/server/app/automation/triggers.html +1 -1
  150. package/.next/server/app/automation/triggers.rsc +3 -3
  151. package/.next/server/app/automation/triggers.segments/_full.segment.rsc +3 -3
  152. package/.next/server/app/automation/triggers.segments/_head.segment.rsc +1 -1
  153. package/.next/server/app/automation/triggers.segments/_index.segment.rsc +2 -2
  154. package/.next/server/app/automation/triggers.segments/_tree.segment.rsc +1 -1
  155. package/.next/server/app/automation/triggers.segments/automation/triggers/__PAGE__.segment.rsc +2 -2
  156. package/.next/server/app/automation/triggers.segments/automation/triggers.segment.rsc +1 -1
  157. package/.next/server/app/automation/triggers.segments/automation.segment.rsc +1 -1
  158. package/.next/server/app/automation/waves/page_client-reference-manifest.js +1 -1
  159. package/.next/server/app/automation/waves.html +1 -1
  160. package/.next/server/app/automation/waves.rsc +3 -3
  161. package/.next/server/app/automation/waves.segments/_full.segment.rsc +3 -3
  162. package/.next/server/app/automation/waves.segments/_head.segment.rsc +1 -1
  163. package/.next/server/app/automation/waves.segments/_index.segment.rsc +2 -2
  164. package/.next/server/app/automation/waves.segments/_tree.segment.rsc +1 -1
  165. package/.next/server/app/automation/waves.segments/automation/waves/__PAGE__.segment.rsc +2 -2
  166. package/.next/server/app/automation/waves.segments/automation/waves.segment.rsc +1 -1
  167. package/.next/server/app/automation/waves.segments/automation.segment.rsc +1 -1
  168. package/.next/server/app/chain-chat/page_client-reference-manifest.js +1 -1
  169. package/.next/server/app/chain-chat.html +1 -1
  170. package/.next/server/app/chain-chat.rsc +3 -3
  171. package/.next/server/app/chain-chat.segments/_full.segment.rsc +3 -3
  172. package/.next/server/app/chain-chat.segments/_head.segment.rsc +1 -1
  173. package/.next/server/app/chain-chat.segments/_index.segment.rsc +2 -2
  174. package/.next/server/app/chain-chat.segments/_tree.segment.rsc +1 -1
  175. package/.next/server/app/chain-chat.segments/chain-chat/__PAGE__.segment.rsc +2 -2
  176. package/.next/server/app/chain-chat.segments/chain-chat.segment.rsc +1 -1
  177. package/.next/server/app/chat/page.js +4 -4
  178. package/.next/server/app/chat/page.js.nft.json +1 -1
  179. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  180. package/.next/server/app/chat.html +1 -1
  181. package/.next/server/app/chat.rsc +3 -3
  182. package/.next/server/app/chat.segments/_full.segment.rsc +3 -3
  183. package/.next/server/app/chat.segments/_head.segment.rsc +1 -1
  184. package/.next/server/app/chat.segments/_index.segment.rsc +2 -2
  185. package/.next/server/app/chat.segments/_tree.segment.rsc +1 -1
  186. package/.next/server/app/chat.segments/chat/__PAGE__.segment.rsc +2 -2
  187. package/.next/server/app/chat.segments/chat.segment.rsc +1 -1
  188. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  189. package/.next/server/app/docs.html +1 -1
  190. package/.next/server/app/docs.rsc +3 -3
  191. package/.next/server/app/docs.segments/_full.segment.rsc +3 -3
  192. package/.next/server/app/docs.segments/_head.segment.rsc +1 -1
  193. package/.next/server/app/docs.segments/_index.segment.rsc +2 -2
  194. package/.next/server/app/docs.segments/_tree.segment.rsc +1 -1
  195. package/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +2 -2
  196. package/.next/server/app/docs.segments/docs.segment.rsc +1 -1
  197. package/.next/server/app/executions/page_client-reference-manifest.js +1 -1
  198. package/.next/server/app/executions.html +1 -1
  199. package/.next/server/app/executions.rsc +3 -3
  200. package/.next/server/app/executions.segments/_full.segment.rsc +3 -3
  201. package/.next/server/app/executions.segments/_head.segment.rsc +1 -1
  202. package/.next/server/app/executions.segments/_index.segment.rsc +2 -2
  203. package/.next/server/app/executions.segments/_tree.segment.rsc +1 -1
  204. package/.next/server/app/executions.segments/executions/__PAGE__.segment.rsc +2 -2
  205. package/.next/server/app/executions.segments/executions.segment.rsc +1 -1
  206. package/.next/server/app/flows/page.js +5 -5
  207. package/.next/server/app/flows/page.js.nft.json +1 -1
  208. package/.next/server/app/flows/page_client-reference-manifest.js +1 -1
  209. package/.next/server/app/flows.html +1 -1
  210. package/.next/server/app/flows.rsc +3 -3
  211. package/.next/server/app/flows.segments/_full.segment.rsc +3 -3
  212. package/.next/server/app/flows.segments/_head.segment.rsc +1 -1
  213. package/.next/server/app/flows.segments/_index.segment.rsc +2 -2
  214. package/.next/server/app/flows.segments/_tree.segment.rsc +1 -1
  215. package/.next/server/app/flows.segments/flows/__PAGE__.segment.rsc +2 -2
  216. package/.next/server/app/flows.segments/flows.segment.rsc +1 -1
  217. package/.next/server/app/index.html +1 -1
  218. package/.next/server/app/index.rsc +3 -3
  219. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  220. package/.next/server/app/index.segments/_full.segment.rsc +3 -3
  221. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  222. package/.next/server/app/index.segments/_index.segment.rsc +2 -2
  223. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  224. package/.next/server/app/mcp/page.js +1 -1
  225. package/.next/server/app/mcp/page_client-reference-manifest.js +1 -1
  226. package/.next/server/app/mcp-flows/route.js +1 -1
  227. package/.next/server/app/mcp-flows/route.js.nft.json +1 -1
  228. package/.next/server/app/mcp-proxy/[server]/route.js +1 -1
  229. package/.next/server/app/mcp-proxy/[server]/route.js.nft.json +1 -1
  230. package/.next/server/app/mcp.html +1 -1
  231. package/.next/server/app/mcp.rsc +3 -3
  232. package/.next/server/app/mcp.segments/_full.segment.rsc +3 -3
  233. package/.next/server/app/mcp.segments/_head.segment.rsc +1 -1
  234. package/.next/server/app/mcp.segments/_index.segment.rsc +2 -2
  235. package/.next/server/app/mcp.segments/_tree.segment.rsc +1 -1
  236. package/.next/server/app/mcp.segments/mcp/__PAGE__.segment.rsc +2 -2
  237. package/.next/server/app/mcp.segments/mcp.segment.rsc +1 -1
  238. package/.next/server/app/meetings/page_client-reference-manifest.js +1 -1
  239. package/.next/server/app/meetings.html +1 -1
  240. package/.next/server/app/meetings.rsc +3 -3
  241. package/.next/server/app/meetings.segments/_full.segment.rsc +3 -3
  242. package/.next/server/app/meetings.segments/_head.segment.rsc +1 -1
  243. package/.next/server/app/meetings.segments/_index.segment.rsc +2 -2
  244. package/.next/server/app/meetings.segments/_tree.segment.rsc +1 -1
  245. package/.next/server/app/meetings.segments/meetings/__PAGE__.segment.rsc +2 -2
  246. package/.next/server/app/meetings.segments/meetings.segment.rsc +1 -1
  247. package/.next/server/app/models/page.js +3 -3
  248. package/.next/server/app/models/page_client-reference-manifest.js +1 -1
  249. package/.next/server/app/packages/page_client-reference-manifest.js +1 -1
  250. package/.next/server/app/packages.html +1 -1
  251. package/.next/server/app/packages.rsc +3 -3
  252. package/.next/server/app/packages.segments/_full.segment.rsc +3 -3
  253. package/.next/server/app/packages.segments/_head.segment.rsc +1 -1
  254. package/.next/server/app/packages.segments/_index.segment.rsc +2 -2
  255. package/.next/server/app/packages.segments/_tree.segment.rsc +1 -1
  256. package/.next/server/app/packages.segments/packages/__PAGE__.segment.rsc +2 -2
  257. package/.next/server/app/packages.segments/packages.segment.rsc +1 -1
  258. package/.next/server/app/page_client-reference-manifest.js +1 -1
  259. package/.next/server/app/settings/page.js +2 -2
  260. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  261. package/.next/server/app/settings.html +1 -1
  262. package/.next/server/app/settings.rsc +3 -3
  263. package/.next/server/app/settings.segments/_full.segment.rsc +3 -3
  264. package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  265. package/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  266. package/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  267. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
  268. package/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  269. package/.next/server/app/statistics/page_client-reference-manifest.js +1 -1
  270. package/.next/server/app/statistics.html +1 -1
  271. package/.next/server/app/statistics.rsc +3 -3
  272. package/.next/server/app/statistics.segments/_full.segment.rsc +3 -3
  273. package/.next/server/app/statistics.segments/_head.segment.rsc +1 -1
  274. package/.next/server/app/statistics.segments/_index.segment.rsc +2 -2
  275. package/.next/server/app/statistics.segments/_tree.segment.rsc +1 -1
  276. package/.next/server/app/statistics.segments/statistics/__PAGE__.segment.rsc +2 -2
  277. package/.next/server/app/statistics.segments/statistics.segment.rsc +1 -1
  278. package/.next/server/app/v1/chat/completions/route.js +1 -1
  279. package/.next/server/app/v1/chat/completions/route.js.nft.json +1 -1
  280. package/.next/server/app/v1/chat/conversation-chains/route.js +1 -1
  281. package/.next/server/app/v1/chat/conversation-chains/route.js.nft.json +1 -1
  282. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js +1 -1
  283. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js.nft.json +1 -1
  284. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js +1 -1
  285. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js.nft.json +1 -1
  286. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/attach/route.js +1 -1
  287. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/attach/route.js.nft.json +1 -1
  288. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js +1 -1
  289. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js.nft.json +1 -1
  290. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/state/route.js +1 -1
  291. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/state/route.js.nft.json +1 -1
  292. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js +1 -1
  293. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js.nft.json +1 -1
  294. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js +1 -1
  295. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js.nft.json +1 -1
  296. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js +1 -1
  297. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js.nft.json +1 -1
  298. package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route.js +1 -1
  299. package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route.js.nft.json +1 -1
  300. package/.next/server/app/v1/chat/conversations/[conversationId]/recovery/route.js +1 -1
  301. package/.next/server/app/v1/chat/conversations/[conversationId]/recovery/route.js.nft.json +1 -1
  302. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js +1 -1
  303. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js.nft.json +1 -1
  304. package/.next/server/app/v1/chat/conversations/[conversationId]/revert/route.js +1 -1
  305. package/.next/server/app/v1/chat/conversations/[conversationId]/revert/route.js.nft.json +1 -1
  306. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js +1 -1
  307. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js.nft.json +1 -1
  308. package/.next/server/app/v1/chat/conversations/route.js +1 -1
  309. package/.next/server/app/v1/chat/conversations/route.js.nft.json +1 -1
  310. package/.next/server/app/v1/chat/events/route.js +1 -1
  311. package/.next/server/app/v1/chat/events/route.js.nft.json +1 -1
  312. package/.next/server/app/v1/meetings/[meetingId]/cancel/route.js +1 -1
  313. package/.next/server/app/v1/meetings/[meetingId]/cancel/route.js.nft.json +1 -1
  314. package/.next/server/app/v1/meetings/[meetingId]/route.js +1 -1
  315. package/.next/server/app/v1/meetings/[meetingId]/route.js.nft.json +1 -1
  316. package/.next/server/app/v1/meetings/[meetingId]/start/route.js +1 -1
  317. package/.next/server/app/v1/meetings/[meetingId]/start/route.js.nft.json +1 -1
  318. package/.next/server/app/v1/meetings/route.js +1 -1
  319. package/.next/server/app/v1/meetings/route.js.nft.json +1 -1
  320. package/.next/server/app/v1/models/route.js +1 -1
  321. package/.next/server/app/v1/models/route.js.nft.json +1 -1
  322. package/.next/server/app/waves/page_client-reference-manifest.js +1 -1
  323. package/.next/server/app/waves.html +1 -1
  324. package/.next/server/app/waves.rsc +3 -3
  325. package/.next/server/app/waves.segments/_full.segment.rsc +3 -3
  326. package/.next/server/app/waves.segments/_head.segment.rsc +1 -1
  327. package/.next/server/app/waves.segments/_index.segment.rsc +2 -2
  328. package/.next/server/app/waves.segments/_tree.segment.rsc +1 -1
  329. package/.next/server/app/waves.segments/waves/__PAGE__.segment.rsc +2 -2
  330. package/.next/server/app/waves.segments/waves.segment.rsc +1 -1
  331. package/.next/server/app-paths-manifest.json +7 -7
  332. package/.next/server/chunks/1114.js +1 -1
  333. package/.next/server/chunks/{4271.js → 2126.js} +13 -13
  334. package/.next/server/chunks/2425.js +1 -1
  335. package/.next/server/chunks/244.js +1 -1
  336. package/.next/server/chunks/2728.js +1 -1
  337. package/.next/server/chunks/2970.js +1 -1
  338. package/.next/server/chunks/3133.js +2 -2
  339. package/.next/server/chunks/4558.js +1 -1
  340. package/.next/server/chunks/4779.js +1 -0
  341. package/.next/server/chunks/531.js +1 -1
  342. package/.next/server/chunks/5354.js +1 -1
  343. package/.next/server/chunks/5831.js +1 -1
  344. package/.next/server/chunks/609.js +1 -1
  345. package/.next/server/chunks/75.js +1 -1
  346. package/.next/server/chunks/7513.js +1 -1
  347. package/.next/server/chunks/7754.js +60 -60
  348. package/.next/server/chunks/811.js +1 -1
  349. package/.next/server/chunks/8542.js +1 -1
  350. package/.next/server/chunks/87.js +1 -1
  351. package/.next/server/chunks/8767.js +1 -1
  352. package/.next/server/middleware-build-manifest.js +1 -1
  353. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  354. package/.next/server/pages/404.html +1 -1
  355. package/.next/server/pages/500.html +1 -1
  356. package/.next/server/server-reference-manifest.js +1 -1
  357. package/.next/server/server-reference-manifest.json +1 -1
  358. package/.next/static/chunks/{8851-1ea4bbf9945c7b34.js → 2375-af6ebf80d9cb9975.js} +2 -2
  359. package/.next/static/chunks/{4742-e151939b0ae7ba74.js → 3841-0e4a10c621cac0e6.js} +1 -1
  360. package/.next/static/chunks/{5147-d239d0147237bb58.js → 5147-ec07dd70c20ec0b5.js} +1 -1
  361. package/.next/static/chunks/5212-898f308c44a32c22.js +2 -0
  362. package/.next/static/chunks/7401-cffc7c5fa1f5f06e.js +10 -0
  363. package/.next/static/chunks/app/chat/page-5b6d507b576cea9c.js +7 -0
  364. package/.next/static/chunks/app/flows/page-9b16d049d43ac817.js +9 -0
  365. package/.next/static/chunks/app/mcp/{page-70535f4bce57edbe.js → page-e4c284466c17fe32.js} +1 -1
  366. package/.next/static/chunks/app/models/page-2891efa80c126790.js +11 -0
  367. package/.next/static/chunks/{webpack-7efb2620f630c7d5.js → webpack-d9f1e56ee69d988f.js} +1 -1
  368. package/.next/trace +104 -104
  369. package/.next/trace-build +1 -1
  370. package/README.md +6 -3
  371. package/mcp-servers/bash/package.json +1 -1
  372. package/mcp-servers/browser/dist/resources.js +29 -3
  373. package/mcp-servers/browser/dist/resources.js.map +1 -1
  374. package/mcp-servers/browser/package.json +1 -1
  375. package/mcp-servers/filesystem/dist/resources.js +1 -1
  376. package/mcp-servers/filesystem/package.json +1 -1
  377. package/mcp-servers/flujo/package.json +1 -1
  378. package/package.json +5 -5
  379. package/.next/server/chunks/387.js +0 -1
  380. package/.next/static/chunks/5212-fa397222d5251b43.js +0 -2
  381. package/.next/static/chunks/7401-b0f0d4a7b2597302.js +0 -10
  382. package/.next/static/chunks/app/chat/page-3db891cc7ba29084.js +0 -7
  383. package/.next/static/chunks/app/flows/page-6b6748bc74604103.js +0 -9
  384. package/.next/static/chunks/app/models/page-e3430501cd05ff1f.js +0 -11
  385. /package/.next/static/{yjYCceqlIl4V9blcEb5AK → 4x_Vc1-WtJtqgqFZnCq3D}/_buildManifest.js +0 -0
  386. /package/.next/static/{yjYCceqlIl4V9blcEb5AK → 4x_Vc1-WtJtqgqFZnCq3D}/_ssgManifest.js +0 -0
@@ -49,8 +49,8 @@
49
49
  }
50
50
  `,x="string"!=typeof w?(0,i.AH)`
51
51
  animation: ${w} 3s infinite linear;
52
- `:null,y=(a,b)=>a.vars?a.vars.palette.LinearProgress[`${b}Bg`]:"light"===a.palette.mode?(0,g.a)(a.palette[b].main,.62):(0,g.e$)(a.palette[b].main,.5),z=(0,j.Ay)("span",{name:"MuiLinearProgress",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.root,b[`color${(0,n.A)(c.color)}`],b[c.variant]]}})((0,k.A)(({theme:a})=>({position:"relative",overflow:"hidden",display:"block",height:4,zIndex:0,"@media print":{colorAdjust:"exact"},variants:[...Object.entries(a.palette).filter((0,l.A)()).map(([b])=>({props:{color:b},style:{backgroundColor:y(a,b)}})),{props:({ownerState:a})=>"inherit"===a.color&&"buffer"!==a.variant,style:{"&::before":{content:'""',position:"absolute",left:0,top:0,right:0,bottom:0,backgroundColor:"currentColor",opacity:.3}}},{props:{variant:"buffer"},style:{backgroundColor:"transparent"}},{props:{variant:"query"},style:{transform:"rotate(180deg)"}}]}))),A=(0,j.Ay)("span",{name:"MuiLinearProgress",slot:"Dashed",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.dashed,b[`dashedColor${(0,n.A)(c.color)}`]]}})((0,k.A)(({theme:a})=>({position:"absolute",marginTop:0,height:"100%",width:"100%",backgroundSize:"10px 10px",backgroundPosition:"0 -23px",variants:[{props:{color:"inherit"},style:{opacity:.3,backgroundImage:"radial-gradient(currentColor 0%, currentColor 16%, transparent 42%)"}},...Object.entries(a.palette).filter((0,l.A)()).map(([b])=>{let c=y(a,b);return{props:{color:b},style:{backgroundImage:`radial-gradient(${c} 0%, ${c} 16%, transparent 42%)`}}})]})),x||{animation:`${w} 3s infinite linear`}),B=(0,j.Ay)("span",{name:"MuiLinearProgress",slot:"Bar1",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.bar,b.bar1,b[`barColor${(0,n.A)(c.color)}`],("indeterminate"===c.variant||"query"===c.variant)&&b.bar1Indeterminate,"determinate"===c.variant&&b.bar1Determinate,"buffer"===c.variant&&b.bar1Buffer]}})((0,k.A)(({theme:a})=>({width:"100%",position:"absolute",left:0,bottom:0,top:0,transition:"transform 0.2s linear",transformOrigin:"left",variants:[{props:{color:"inherit"},style:{backgroundColor:"currentColor"}},...Object.entries(a.palette).filter((0,l.A)()).map(([b])=>({props:{color:b},style:{backgroundColor:(a.vars||a).palette[b].main}})),{props:{variant:"determinate"},style:{transition:"transform .4s linear"}},{props:{variant:"buffer"},style:{zIndex:1,transition:"transform .4s linear"}},{props:({ownerState:a})=>"indeterminate"===a.variant||"query"===a.variant,style:{width:"auto"}},{props:({ownerState:a})=>"indeterminate"===a.variant||"query"===a.variant,style:t||{animation:`${s} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite`}}]}))),C=(0,j.Ay)("span",{name:"MuiLinearProgress",slot:"Bar2",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.bar,b.bar2,b[`barColor${(0,n.A)(c.color)}`],("indeterminate"===c.variant||"query"===c.variant)&&b.bar2Indeterminate,"buffer"===c.variant&&b.bar2Buffer]}})((0,k.A)(({theme:a})=>({width:"100%",position:"absolute",left:0,bottom:0,top:0,transition:"transform 0.2s linear",transformOrigin:"left",variants:[...Object.entries(a.palette).filter((0,l.A)()).map(([b])=>({props:{color:b},style:{"--LinearProgressBar2-barColor":(a.vars||a).palette[b].main}})),{props:({ownerState:a})=>"buffer"!==a.variant&&"inherit"!==a.color,style:{backgroundColor:"var(--LinearProgressBar2-barColor, currentColor)"}},{props:({ownerState:a})=>"buffer"!==a.variant&&"inherit"===a.color,style:{backgroundColor:"currentColor"}},{props:{color:"inherit"},style:{opacity:.3}},...Object.entries(a.palette).filter((0,l.A)()).map(([b])=>({props:{color:b,variant:"buffer"},style:{backgroundColor:y(a,b),transition:"transform .4s linear"}})),{props:({ownerState:a})=>"indeterminate"===a.variant||"query"===a.variant,style:{width:"auto"}},{props:({ownerState:a})=>"indeterminate"===a.variant||"query"===a.variant,style:v||{animation:`${u} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite`}}]}))),D=d.forwardRef(function(a,b){let c=(0,m.b)({props:a,name:"MuiLinearProgress"}),{className:d,color:g="primary",value:i,valueBuffer:j,variant:k="indeterminate",...l}=c,o={...c,color:g,variant:k},p=(a=>{let{classes:b,variant:c,color:d}=a,e={root:["root",`color${(0,n.A)(d)}`,c],dashed:["dashed",`dashedColor${(0,n.A)(d)}`],bar1:["bar","bar1",`barColor${(0,n.A)(d)}`,("indeterminate"===c||"query"===c)&&"bar1Indeterminate","determinate"===c&&"bar1Determinate","buffer"===c&&"bar1Buffer"],bar2:["bar","bar2","buffer"!==c&&`barColor${(0,n.A)(d)}`,"buffer"===c&&`color${(0,n.A)(d)}`,("indeterminate"===c||"query"===c)&&"bar2Indeterminate","buffer"===c&&"bar2Buffer"]};return(0,f.A)(e,q,b)})(o),s=(0,h.I)(),t={},u={},v={};if(("determinate"===k||"buffer"===k)&&void 0!==i){t["aria-valuenow"]=Math.round(i),t["aria-valuemin"]=0,t["aria-valuemax"]=100;let a=i-100;s&&(a=-a),u.transform=`translateX(${a}%)`}if("buffer"===k&&void 0!==j){let a=(j||0)-100;s&&(a=-a),v.transform=`translateX(${a}%)`}return(0,r.jsxs)(z,{className:(0,e.A)(p.root,d),ownerState:o,role:"progressbar",...t,ref:b,...l,children:["buffer"===k?(0,r.jsx)(A,{className:p.dashed,ownerState:o}):null,(0,r.jsx)(B,{className:p.bar1,ownerState:o,style:u}),"determinate"===k?null:(0,r.jsx)(C,{className:p.bar2,ownerState:o,style:v})]})})},31846:(a,b,c)=>{"use strict";c.d(b,{Pz:()=>e,g_:()=>f});let d=new Set(["__proto__","prototype","constructor"]);function e(a,b,c){let e=b?(b.startsWith("/")?b.slice(1).split("/").map(a=>a.replace(/~1/g,"/").replace(/~0/g,"~")):b.split(".")).filter(Boolean):[];if(0===e.length||e.length>20||e.some(a=>d.has(a)))throw Error("The requested field path is not editable.");let f=Array.isArray(a)?[...a]:{...a},g=f,h=a;for(let a=0;a<e.length-1;a+=1){let b=e[a],c=h?.[b];if(null===c||"object"!=typeof c)throw Error(`The field path does not exist at "${b}".`);let d=Array.isArray(c)?[...c]:{...c};g[b]=d,g=d,h=c}let i=e[e.length-1];if(!h||!(i in Object(h)))throw Error(`The field "${i}" does not exist.`);return g[i]=c,f}function f(a,b=9e3){return a instanceof HTMLElement&&(document.querySelectorAll(".ask-flujo-highlight").forEach(a=>a.classList.remove("ask-flujo-highlight")),a.classList.add("ask-flujo-highlight"),a.scrollIntoView({behavior:"smooth",block:"center",inline:"center"}),window.setTimeout(()=>a.classList.remove("ask-flujo-highlight"),b),!0)}},32414:(a,b,c)=>{Promise.resolve().then(c.bind(c,58820)),Promise.resolve().then(c.bind(c,26086)),Promise.resolve().then(c.t.bind(c,9732,23)),Promise.resolve().then(c.t.bind(c,35825,23)),Promise.resolve().then(c.bind(c,65494)),Promise.resolve().then(c.bind(c,75525)),Promise.resolve().then(c.bind(c,52115)),Promise.resolve().then(c.bind(c,12024))},32566:(a,b,c)=>{Promise.resolve().then(c.bind(c,5538))},33873:a=>{"use strict";a.exports=require("path")},35825:(a,b,c)=>{let{createProxy:d}=c(78830);a.exports=d("C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\shared\\lib\\lazy-dynamic\\preload-chunks.js")},38179:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return e}});let d=c(62605)._(c(26659));function e(a,b){let c={};"function"==typeof a&&(c.loader=a);let e={...c,...b};return(0,d.default)({...e,modules:e.loadableGenerated?.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)},40596:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(32586),e=c(48249);let f=(0,d.A)((0,e.jsx)("path",{d:"M18 19H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h5c.55 0 1-.45 1-1s-.45-1-1-1H5c-1.11 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-6c0-.55-.45-1-1-1s-1 .45-1 1v5c0 .55-.45 1-1 1M14 4c0 .55.45 1 1 1h2.59l-9.13 9.13c-.39.39-.39 1.02 0 1.41s1.02.39 1.41 0L19 6.41V9c0 .55.45 1 1 1s1-.45 1-1V4c0-.55-.45-1-1-1h-5c-.55 0-1 .45-1 1"}),"OpenInNewRounded")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},43954:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/interception-routes")},44440:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(32586),e=c(48249);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")},47484:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>g});var d=c(5735),e=c(26086),f=c(11048);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})})}},49509:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(32586),e=c(48249);let f=(0,d.A)((0,e.jsx)("path",{d:"M15 20H5V7c0-.55-.45-1-1-1s-1 .45-1 1v13c0 1.1.9 2 2 2h10c.55 0 1-.45 1-1s-.45-1-1-1m5-4V4c0-1.1-.9-2-2-2H9c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h9c1.1 0 2-.9 2-2m-2 0H9V4h9z"}),"ContentCopyRounded")},52115:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\Moe\\\\Documents\\\\GitHub\\\\FLUJO\\\\src\\\\frontend\\\\components\\\\shared\\\\ScrollArea.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\\Moe\\Documents\\GitHub\\FLUJO\\src\\frontend\\components\\shared\\ScrollArea.tsx","default")},58820:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\Moe\\\\Documents\\\\GitHub\\\\FLUJO\\\\node_modules\\\\@mui\\\\icons-material\\\\esm\\\\MemoryRounded.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\\Moe\\Documents\\GitHub\\FLUJO\\node_modules\\@mui\\icons-material\\esm\\MemoryRounded.js","default")},59262:(a,b,c)=>{"use strict";c.d(b,{RJ:()=>e,gF:()=>d});let d="masked:********",e="********"},61749:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(32586),e=c(48249);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 2M9.29 16.29 5.7 12.7a.996.996 0 0 1 0-1.41c.39-.39 1.02-.39 1.41 0L10 14.17l6.88-6.88c.39-.39 1.02-.39 1.41 0s.39 1.02 0 1.41l-7.59 7.59c-.38.39-1.02.39-1.41 0"}),"CheckCircleRounded")},62605:(a,b,c)=>{"use strict";function d(a){return a&&a.__esModule?a:{default:a}}c.r(b),c.d(b,{_:()=>d})},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},63860:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>o,dynamic:()=>n});var d=c(5735),e=c(91986),f=c(38179),g=c.n(f),h=c(26086),i=c(58820),j=c(12024),k=c(52115),l=c(75525);let m=g()(()=>Promise.resolve().then(c.bind(c,65494)),{loadableGenerated:{modules:["app\\models\\page.tsx -> ./ModelClient"]},loading:()=>(0,d.jsx)(j.default,{})}),n="force-dynamic",o=function(){return(0,d.jsxs)(h.default,{"data-tour":"models-overview",sx:{height:"100%",display:"flex",flexDirection:"column"},children:[(0,d.jsx)(l.default,{eyebrowKey:"models.header.eyebrow",titleKey:"models.header.title",descriptionKey:"models.header.description",icon:i.default,maxWidth:"none"}),(0,d.jsx)(k.default,{storageKey:"flujo-ui:scroll:models",sx:{p:{xs:2,md:3,lg:4},flex:1,width:"100%"},children:(0,d.jsx)(e.Suspense,{fallback:(0,d.jsx)(j.default,{}),children:(0,d.jsx)(m,{})})})]})}},65076:(a,b,c)=>{"use strict";c.d(b,{T_:()=>i,g3:()=>g,xx:()=>h});let d=/(^|[/_-])(o[1-9]|gpt-5)(?:[./_-]|$)/i,e=/claude-(?:fable|mythos)-5|claude-opus-4-(?:[7-9]|\d{2,})|claude-sonnet-5/i,f=/^(?:opus|sonnet|fable)$|claude-(?:fable|mythos)-5|claude-opus-4-(?:[6-9]|\d{2,})|claude-sonnet-4-6/i;function g(a,b,c=""){let h=b||"openai",i=c.trim();if("codex-cli"===h)return{effortLevels:/^gpt-5\.6-(?:sol|terra)$/i.test(i)?["low","medium","high","xhigh","max","ultra"]:/^gpt-5\.6-/i.test(i)?["low","medium","high","xhigh","max"]:["low","medium","high","xhigh"],priority:!/(?:mini|spark|review)/i.test(i),maxOutputTokens:!1};if("claude-cli"===h)return{...f.test(i)?{effortLevels:["low","medium","high","xhigh","max"]}:{},maxOutputTokens:!1};if("anthropic"===h)return{...!e.test(i)?{creativity:{min:0,max:1,step:.1}}:{},...f.test(i)?{effortLevels:["low","medium","high","xhigh","max"]}:{},maxOutputTokens:!0};if("gemini"===h)return{creativity:{min:0,max:2,step:.1},.../^gemini-2\.5/i.test(i)?{thinkingBudget:!0}:!/^gemini-2\.0/i.test(i)?{thinkingLevels:["minimal","low","medium","high"]}:{},maxOutputTokens:!0};let j="openai"===(a||"openai")&&d.test(i);return{...!j?{creativity:{min:0,max:2,step:.1}}:{},...j?{effortLevels:["low","medium","high"]}:{},maxOutputTokens:!0}}let h=[{id:"openai",label:"OpenAI",provider:"openai",adapter:"openai",sdkLabel:"OpenAI SDK",baseUrl:"https://api.openai.com/v1",showBaseUrl:!0},{id:"openai-responses",label:"OpenAI (Responses API)",provider:"openai",adapter:"openai-responses",sdkLabel:"OpenAI SDK (Responses)",baseUrl:"https://api.openai.com/v1",showBaseUrl:!0,defaultModels:["gpt-5","gpt-5-mini","o4-mini","o3"]},{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"]},{id:"codex",label:"Codex (OpenAI)",provider:"codex",adapter:"codex-cli",sdkLabel:"Codex SDK",baseUrl:"",showBaseUrl:!1,defaultModels:["gpt-5.6-sol","gpt-5.6-terra","gpt-5.6-luna","gpt-5.5","gpt-5.4","gpt-5.4-mini"]}];function i(a,b){let c=a||"openai",d=b||"openai";return h.find(a=>a.provider===c&&a.adapter===d)||h.find(a=>a.provider===c)||h[0]}},65494:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\Moe\\\\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\\Moe\\Documents\\GitHub\\FLUJO\\src\\app\\models\\ModelClient.tsx","default")},70722:a=>{"use strict";a.exports=require("next/dist/shared/lib/invariant-error")},74012:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(32586),e=c(48249);let f=(0,d.A)((0,e.jsx)("path",{d:"M20 18c1.1 0 1.99-.9 1.99-2L22 6c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2H1c-.55 0-1 .45-1 1s.45 1 1 1h22c.55 0 1-.45 1-1s-.45-1-1-1zM5 6h14c.55 0 1 .45 1 1v8c0 .55-.45 1-1 1H5c-.55 0-1-.45-1-1V7c0-.55.45-1 1-1"}),"ComputerRounded")},75525:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\Moe\\\\Documents\\\\GitHub\\\\FLUJO\\\\src\\\\frontend\\\\components\\\\shared\\\\PageHeader.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\\Moe\\Documents\\GitHub\\FLUJO\\src\\frontend\\components\\shared\\PageHeader.tsx","default")},77068:a=>{"use strict";a.exports=require("next/dist/shared/lib/size-limit")},78167:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(32586),e=c(48249);let f=(0,d.A)((0,e.jsx)("path",{d:"M19 11H7.83l4.88-4.88c.39-.39.39-1.03 0-1.42a.996.996 0 0 0-1.41 0l-6.59 6.59c-.39.39-.39 1.02 0 1.41l6.59 6.59c.39.39 1.02.39 1.41 0s.39-1.02 0-1.41L7.83 13H19c.55 0 1-.45 1-1s-.45-1-1-1"}),"ArrowBackRounded")},81616:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(32586),e=c(48249);let f=(0,d.A)((0,e.jsx)("path",{d:"M17.65 6.35c-1.63-1.63-3.94-2.57-6.48-2.31-3.67.37-6.69 3.35-7.1 7.02C3.52 15.91 7.27 20 12 20c3.19 0 5.93-1.87 7.21-4.56.32-.67-.16-1.44-.9-1.44-.37 0-.72.2-.88.53-1.13 2.43-3.84 3.97-6.8 3.31-2.22-.49-4.01-2.3-4.48-4.52C5.31 9.44 8.26 6 12 6c1.66 0 3.14.69 4.22 1.78l-1.51 1.51c-.63.63-.19 1.71.7 1.71H19c.55 0 1-.45 1-1V6.41c0-.89-1.08-1.34-1.71-.71z"}),"RefreshRounded")},82235:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>O,handler:()=>Q,routeModule:()=>P});var d=c(7553),e=c(84006),f=c(67798),g=c(34775),h=c(99373),i=c(73461),j=c(1020),k=c(26349),l=c(54365),m=c(16023),n=c(14965),o=c(63747),p=c(24235),q=c(23938),r=c(261),s=c(66758),t=c(77243),u=c(26713),v=c(37527),w=c(22820),x=c(88216),y=c(47929),z=c(79551),A=c(71797),B=c(89125),C=c(86439),D=c(77068),E=c(27269),F=c(37525),G=c(61287),H=c(81494),I=c(70722),J=c(70753),K=c(43954),L=c(17891),M={};for(let a in G)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(M[a]=()=>G[a]);c.d(b,M);let N={children:["",{children:["models",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,63860)),"C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\src\\app\\models\\page.tsx"]}]},{error:[()=>Promise.resolve().then(c.bind(c,5538)),"C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\src\\app\\models\\error.tsx"],loading:[()=>Promise.resolve().then(c.bind(c,47484)),"C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\src\\app\\models\\loading.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,95547,23)),"next/dist/client/components/builtin/global-error.js"]},[]]},{layout:[()=>Promise.resolve().then(c.bind(c,76537)),"C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\src\\app\\layout.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,95547,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,55091,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,45270,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,28193,23)),"next/dist/client/components/builtin/unauthorized.js"]},[]]}.children,O={require:c,loadChunk:()=>Promise.resolve()},P=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/models/page",pathname:"/models",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:N},distDir:".next",relativeProjectDir:""});async function Q(a,b,d){var M,R,S,T,U;d.requestMeta&&(0,h.setRequestMeta)(a,d.requestMeta),P.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let V=!!(0,h.getRequestMeta)(a,"minimalMode"),W="/models/page";"/index"===W&&(W="/");let X=await P.prepare(a,b,{srcPage:W,multiZoneDraftMode:!1});if(!X)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Y,query:Z,params:$,pageIsDynamic:_,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,serverActionsManifest:ad,clientReferenceManifest:ae,subresourceIntegrityManifest:af,prerenderManifest:ag,isDraftMode:ah,resolvedPathname:ai,revalidateOnlyGenerated:aj,routerServerContext:ak,nextConfig:al,parsedUrl:am,interceptionRoutePatterns:an,deploymentId:ao,clientAssetToken:ap}=X,aq=(0,r.normalizeAppPath)(W),{isOnDemandRevalidate:ar}=X,as=al.experimental.ppr&&!al.cacheComponents&&(0,K.isInterceptionRouteAppPath)(ai)?null:P.match(ai,ag),at=(null==as?void 0:as.route)??null,au=!!ag.routes[ai],av=a.headers["user-agent"]||"",aw=(0,u.getBotType)(av),ax=(0,q.isHtmlBotRequest)(a),ay=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[t.NEXT_ROUTER_PREFETCH_HEADER],az=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[t.RSC_HEADER]),aA=(0,s.getIsPossibleServerAction)(a),aB=(0,m.checkIsAppPPREnabled)(al.experimental.ppr),aC=a.headers[y.NEXT_RESUME_STATE_LENGTH_HEADER];if(!(0,h.getRequestMeta)(a,"postponed")&&V&&aB&&aA&&aC&&"string"==typeof aC){let e=parseInt(aC,10),{maxPostponedStateSize:f,maxPostponedStateSizeBytes:g}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize);if(!isNaN(e)&&e>0){if(e>g)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(f)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let i="1 MB",j=(null==(U=al.experimental.serverActions)?void 0:U.bodySizeLimit)??i,k=e+(j!==i?c(95726).parse(j):1048576),l=await (0,E.readBodyWithSizeLimit)(a,k);if(null===l)return b.statusCode=413,b.end("Request body exceeded limit. To configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;if(l.length>=e){let b=l.subarray(0,e).toString("utf8");(0,h.addRequestMeta)(a,"postponed",b);let c=l.subarray(e);(0,h.addRequestMeta)(a,"actionBody",c)}else throw Object.defineProperty(Error(`invariant: expected ${e} bytes of postponed state but only received ${l.length} bytes`),"__NEXT_ERROR_CODE",{value:"E979",enumerable:!1,configurable:!0})}}if(!(0,h.getRequestMeta)(a,"postponed")&&aB&&"1"===a.headers[y.NEXT_RESUME_HEADER]&&"POST"===a.method){let{maxPostponedStateSize:c,maxPostponedStateSizeBytes:e}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize),f=await (0,E.readBodyWithSizeLimit)(a,e);if(null===f)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(c)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let g=f.toString("utf8");(0,h.addRequestMeta)(a,"postponed",g)}let aD=!0===P.isDev||!0===al.experimental.exposeTestingApiInProductionBuild,aE=aD&&("1"===a.headers[t.NEXT_INSTANT_PREFETCH_HEADER]||!(0,n.f)(a.headers[t.RSC_HEADER])&&"string"==typeof a.headers.cookie&&a.headers.cookie.includes(t.NEXT_INSTANT_TEST_COOKIE+"=")),aF=(aB||aE)&&((null==(M=ag.routes[aq]??ag.dynamicRoutes[aq])?void 0:M.renderingMode)==="PARTIALLY_STATIC"||aE&&(aD||(null==ak?void 0:ak.experimentalTestProxy)===!0)),aG=aE&&aF,aH=aG&&!0===P.isDev,aI=!1,aJ=aF?(0,h.getRequestMeta)(a,"postponed"):void 0,aK=null==(R=ag.routes[ai])?void 0:R.prefetchDataRoute,aL=aF&&az&&!ay&&!aK;V&&(aL=aL&&!!aJ);let aM=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),aN=(!aw||!aF)&&(!av||(0,q.shouldServeStreamingMetadata)(av,al.htmlLimitedBots)),aO=!!((at||au||ag.routes[aq])&&!(aw&&aF)),aP=aF&&!0===al.cacheComponents,aQ=!0===P.isDev||!aO||"string"==typeof aJ||(aP&&(0,h.getRequestMeta)(a,"onCacheEntryV2")?aL&&!V:aL),aR=!!aw&&aF,aS=(null==at?void 0:at.remainingPrerenderableParams)??[],aT=(null==at?void 0:at.fallback)===null&&((null==(S=at.fallbackRootParams)?void 0:S.length)??0)>0,aU=null;if(!ah&&aO&&!aQ&&!aA&&!aJ&&!aL){let a=as?"string"==typeof(null==at?void 0:at.fallback)?at.fallback:as.source:null;if(!0===al.experimental.partialFallbacks&&a&&(null==at?void 0:at.fallbackRouteParams)&&!aT){if(aS.length>0){let b,c=(b=new Map(aS.map(a=>[a.paramName,a])),a.split("/").map(a=>{let c=(0,L.getSegmentParam)(a);if(!c)return a;let d=b.get(c.paramName);if(!d)return a;let e=null==$?void 0:$[d.paramName];if(!e)return a;let f=Array.isArray(e)?e.map(a=>encodeURIComponent(a)).join("/"):encodeURIComponent(e);return a.replace((0,o.buildDynamicSegmentPlaceholder)(d),f)}).join("/")||"/");aU=c!==a?c:null}}else aU=ai}let aV=aU;!aV&&(P.isDev||aO&&_&&(null==at?void 0:at.fallbackRouteParams)&&!aA)&&(aV=ai),P.isDev||ah||!aO||!az||aL||(0,k.d)(a.headers);let aW={...G,tree:N,handler:Q,routeModule:P,__next_app__:O};ad&&ae&&(0,p.setManifestsSingleton)({page:W,clientReferenceManifest:ae,serverActionsManifest:ad});let aX=a.method||"GET",aY=(0,g.getTracer)(),aZ=aY.getActiveScopeSpan(),a$=!!(null==ak?void 0:ak.isWrappedByNextServer),a_=!0===al.experimental.partialFallbacks&&aS.length>0?(null==at||null==(T=at.fallbackRouteParams)?void 0:T.filter(a=>!aS.some(b=>b.paramName===a.paramName)))??[]:[],a0=async()=>((null==ak?void 0:ak.render404)?await ak.render404(a,b,am,!1):b.end("This page could not be found"),null);try{let k,m=P.getVaryHeader(ai,an);b.setHeader("Vary",m);let n=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return P.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let a=aY.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let d=a.get("next.route");if(d){let a=`${aX} ${d}`;c.setAttributes({"next.route":d,"http.route":d,"next.span_name":a}),c.updateName(a),k&&k!==c&&(k.setAttribute("http.route",d),k.updateName(a))}else c.updateName(`${aX} ${W}`)})},p=(0,h.getRequestMeta)(a,"incrementalCache")||await P.getIncrementalCache(a,al,ag,V);null==p||p.resetRequestCache(),globalThis.__incrementalCache=p;let q=async({span:e,postponed:f,fallbackRouteParams:g,forceStaticRender:i})=>{let k={query:Z,params:$,page:aq,sharedContext:{buildId:Y,deploymentId:ao,clientAssetToken:ap},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aW,Component:(0,j.T)(aW),params:$,routeModule:P,page:W,postponed:f,shouldWaitOnAllReady:aR,serveStreamingMetadata:aN,supportsDynamicResponse:"string"==typeof f||aQ,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,subresourceIntegrityManifest:af,setCacheStatus:null==ak?void 0:ak.setCacheStatus,setIsrStatus:null==ak?void 0:ak.setIsrStatus,setReactDebugChannel:null==ak?void 0:ak.setReactDebugChannel,sendErrorsToBrowser:null==ak?void 0:ak.sendErrorsToBrowser,dir:c(33873).join(process.cwd(),P.relativeProjectDir),isDraftMode:ah,botType:aw,isOnDemandRevalidate:ar,isPossibleServerAction:aA,assetPrefix:al.assetPrefix,nextConfigOutput:al.output,crossOrigin:al.crossOrigin,trailingSlash:al.trailingSlash,images:al.images,previewProps:ag.preview,enableTainting:al.experimental.taint,htmlLimitedBots:al.htmlLimitedBots,reactMaxHeadersLength:al.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:p,cacheLifeProfiles:al.cacheLife,basePath:al.basePath,serverActions:al.experimental.serverActions,logServerFunctions:"object"==typeof al.logging&&!!al.logging.serverFunctions,...aG||aH||aI?{isBuildTimePrerendering:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isDebugDynamicAccesses:aH}:{},cacheComponents:!!al.cacheComponents,experimental:{isRoutePPREnabled:aF,expireTime:al.expireTime,staleTimes:al.experimental.staleTimes,dynamicOnHover:!!al.experimental.dynamicOnHover,optimisticRouting:!!al.experimental.optimisticRouting,inlineCss:!!al.experimental.inlineCss,prefetchInlining:al.experimental.prefetchInlining??!1,authInterrupts:!!al.experimental.authInterrupts,cachedNavigations:!!al.experimental.cachedNavigations,clientTraceMetadata:al.experimental.clientTraceMetadata||[],clientParamParsingOrigins:al.experimental.clientParamParsingOrigins,maxPostponedStateSizeBytes:(0,D.parseMaxPostponedStateSize)(al.experimental.maxPostponedStateSize)},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d,e)=>P.onRequestError(a,b,d,e,ak),err:(0,h.getRequestMeta)(a,"invokeError")}};i&&(k.renderOpts.supportsDynamicResponse=!1);let l=await n(e,k),{metadata:m}=l,{cacheControl:o,headers:q={},fetchTags:r,fetchMetrics:s}=m;if(r&&(q[y.NEXT_CACHE_TAGS_HEADER]=r),a.fetchMetrics=s,aO&&(null==o?void 0:o.revalidate)===0&&!P.isDev&&!aF){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ai}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
53
- 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:v.CachedRouteKind.APP_PAGE,html:l,headers:q,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:o}},r=async({hasResolved:c,previousCacheEntry:g,isRevalidating:i,span:j,forceStaticRender:k=!1})=>{let l=!1===P.isDev,m=c||b.writableEnded;try{var n;let f;if(ar&&aj&&!g&&!V)return(null==ak?void 0:ak.render404)?await ak.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(at&&(f=(0,w.parseFallbackField)(at.fallback)),!0===al.experimental.partialFallbacks&&(null==at?void 0:at.fallback)===null&&!aT&&aS.length>0&&(f=w.FallbackMode.PRERENDER),f===w.FallbackMode.PRERENDER&&(0,u.isBot)(av)&&(!aF||ax)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),(null==g?void 0:g.isStale)===-1&&(ar=!0),ar&&(f!==w.FallbackMode.NOT_FOUND||g)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),!V&&f!==w.FallbackMode.BLOCKING_STATIC_RENDER&&aV&&!m&&!ah&&_&&(l||!au)){if((l||at)&&f===w.FallbackMode.NOT_FOUND){if(al.adapterPath)return await a0();throw new C.NoFallbackError}if(aF&&(al.cacheComponents?!aL:!az)){let b=l&&"string"==typeof(null==at?void 0:at.fallback)?at.fallback:aq,f=(l||aG)&&(null==at?void 0:at.fallbackRouteParams)?(0,o.createOpaqueFallbackRouteParams)(at.fallbackRouteParams):aI?(0,o.getFallbackRouteParams)(aq,P):null;aG&&f&&(0,h.addRequestMeta)(a,"fallbackParams",f);let g=await P.handleResponse({cacheKey:b,req:a,nextConfig:al,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:ag,isRoutePPREnabled:aF,responseGenerator:async()=>q({span:j,postponed:void 0,fallbackRouteParams:f,forceStaticRender:!0}),waitUntil:d.waitUntil,isMinimalMode:V});if(null===g)return null;if(g)return V||!aF||!(aS.length>0)||!0!==al.experimental.partialFallbacks||!aU||!p||ar||aI||aD||aE||ay||(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(aU,p,aF,!1,a=>q({span:a.span,postponed:void 0,fallbackRouteParams:a_.length>0?(0,o.createOpaqueFallbackRouteParams)(a_):null,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}),delete g.cacheControl,g}}let s=ar||i||!aJ?void 0:aJ;if(aP&&!V&&p&&(aL||aA)&&!k){let b=await p.get(ai,{kind:v.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});b&&b.value&&b.value.kind===v.CachedRouteKind.APP_PAGE&&(s=b.value.postponed,b&&(-1===b.isStale||!0===b.isStale)&&(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(ai,p,aF,!1,a=>r({...a,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if((aG||aH)&&void 0!==s)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:v.CachedRouteKind.PAGES,html:x.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let t=!P.isDev&&_&&(null==at?void 0:at.fallbackRouteParams)?(0,o.getPlaceholderFallbackRouteParams)($,at.fallbackRouteParams):null,y=t&&t.length>0?t:null==at?void 0:at.fallbackRouteParams,z=null!=t&&t.length>0,A=null;if(al.cacheComponents&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,h.getRequestMeta)(a,"resolvedRouteParamKeys");b&&b.size>0&&(A=at.fallbackRouteParams.filter(a=>!b.has(a.paramName)))}let B=(l&&(0,h.getRequestMeta)(a,"renderFallbackShell")||z||aG&&!au)&&y?(0,o.createOpaqueFallbackRouteParams)(y):A&&A.length>0&&A.length<((null==at||null==(n=at.fallbackRouteParams)?void 0:n.length)??0)?(0,o.createOpaqueFallbackRouteParams)(A):aI?(0,o.getFallbackRouteParams)(aq,P):null;if((l||aG)&&al.cacheComponents&&!au&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,o.createOpaqueFallbackRouteParams)(y??at.fallbackRouteParams);b&&(0,h.addRequestMeta)(a,"fallbackParams",b)}return q({span:j,postponed:s,fallbackRouteParams:B,forceStaticRender:k})}catch(b){throw(null==g?void 0:g.isStale)&&await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}},s=async c=>{var f,g,i,j,k,l;let m,n=await P.handleResponse({cacheKey:aU,responseGenerator:a=>r({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ar,isRoutePPREnabled:aF,req:a,nextConfig:al,prerenderManifest:ag,waitUntil:d.waitUntil,isMinimalMode:V});if(ah&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),P.isDev&&b.setHeader("Cache-Control","no-cache, must-revalidate"),!n){if(aU)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=n.value)?void 0:f.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=n.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let o="string"==typeof n.value.postponed;az&&!aA&&ao&&b.setHeader(y.NEXT_NAV_DEPLOYMENT_ID_HEADER,ao),aO&&!aL&&(!o||ay)&&(V||b.setHeader("x-nextjs-cache",ar?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b.setHeader(t.NEXT_IS_PRERENDER_HEADER,"1"));let{value:p}=n;if(aJ)m={revalidate:0,expire:void 0};else if(aL)m={revalidate:0,expire:void 0};else if(!P.isDev)if(ah)m={revalidate:0,expire:void 0};else if(aO){if(n.cacheControl)if("number"==typeof n.cacheControl.revalidate){if(n.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${n.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});m={revalidate:n.cacheControl.revalidate,expire:(null==(j=n.cacheControl)?void 0:j.expire)??al.expireTime}}else m={revalidate:y.CACHE_ONE_YEAR_SECONDS,expire:void 0}}else b.getHeader("Cache-Control")||(m={revalidate:0,expire:void 0});if(n.cacheControl=m,"string"==typeof aM&&(null==p?void 0:p.kind)===v.CachedRouteKind.APP_PAGE&&p.segmentData){b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=p.headers)?void 0:k[y.NEXT_CACHE_TAGS_HEADER];V&&aO&&c&&"string"==typeof c&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,c);let d=p.segmentData.get(aM);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(d,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl}))}let s=aP?(0,h.getRequestMeta)(a,"onCacheEntryV2")??(0,h.getRequestMeta)(a,"onCacheEntry"):(0,h.getRequestMeta)(a,"onCacheEntry");if(s){let b=(0,h.getRequestMeta)(a,"initURL")??a.url,c=b?(null==(l=(0,F.parseUrl)(b))?void 0:l.pathname)??b:void 0;if(await s(n,{url:c}))return null}if(p.headers){let a={...p.headers};for(let[c,d]of(V&&aO||delete a[y.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 u=null==(g=p.headers)?void 0:g[y.NEXT_CACHE_TAGS_HEADER];if(V&&aO&&u&&"string"==typeof u&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,u),!p.status||az&&aF||(b.statusCode=p.status),!V&&p.status&&H.RedirectStatusCode[p.status]&&az&&(b.statusCode=200),o&&!aL&&b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"1"),az&&!ah){if(void 0===p.rscData){if(p.html.contentType!==t.RSC_CONTENT_TYPE_HEADER)if(al.cacheComponents)return b.statusCode=404,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl});else throw Object.defineProperty(new I.InvariantError(`Expected RSC response, got ${p.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:p.html,cacheControl:n.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(p.rscData,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl})}let w=p.html;if(aE&&aG){let c=!0===P.isDev?crypto.randomUUID():null;return w.pipeThrough(await (0,A.createInstantTestScriptInsertionTransformStream)(c)),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})}if(!o||V||az)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:n.cacheControl});if(aG||aH)return w.push(new ReadableStream({start(a){a.enqueue(z.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}});let C=new TransformStream;return w.push(C.readable),q({span:c,postponed:p.postponed,fallbackRouteParams:null,forceStaticRender:!1}).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)!==v.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(C.writable)}).catch(a=>{C.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})};if(!a$||!aZ)return k=aY.getActiveScopeSpan(),await aY.withPropagatedContext(a.headers,()=>aY.trace(i.BaseServerSpan.handleRequest,{spanName:`${aX} ${W}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aX,"http.target":a.url}},s),void 0,!a$);await s(aZ)}catch(b){throw b instanceof C.NoFallbackError||await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}}},86024:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>bh});var d=c(48249),e=c(67484),f=c(19099),g=c(54882),h=c(29184),i=c(20437),j=c(64287),k=c(99314),l=c(8918),m=c(85152),n=c(26204),o=c(40015),p=c(72139),q=c(85646),r=c(19765),s=c(25511),t=c(34804),u=c(65236);function v(a){return(0,u.Ay)("MuiButtonGroup",a)}let w=(0,t.A)("MuiButtonGroup",["root","contained","outlined","text","disableElevation","disabled","firstButton","fullWidth","horizontal","vertical","colorPrimary","colorSecondary","grouped","groupedHorizontal","groupedVertical","groupedText","groupedTextHorizontal","groupedTextVertical","groupedTextPrimary","groupedTextSecondary","groupedOutlined","groupedOutlinedHorizontal","groupedOutlinedVertical","groupedOutlinedPrimary","groupedOutlinedSecondary","groupedContained","groupedContainedHorizontal","groupedContainedVertical","groupedContainedPrimary","groupedContainedSecondary","lastButton","middleButton"]);var x=c(28997),y=c(68149);let z=(0,p.Ay)("div",{name:"MuiButtonGroup",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[{[`& .${w.grouped}`]:b.grouped},{[`& .${w.grouped}`]:b[`grouped${(0,o.A)(c.orientation)}`]},{[`& .${w.grouped}`]:b[`grouped${(0,o.A)(c.variant)}`]},{[`& .${w.grouped}`]:b[`grouped${(0,o.A)(c.variant)}${(0,o.A)(c.orientation)}`]},{[`& .${w.grouped}`]:b[`grouped${(0,o.A)(c.variant)}${(0,o.A)(c.color)}`]},{[`& .${w.firstButton}`]:b.firstButton},{[`& .${w.lastButton}`]:b.lastButton},{[`& .${w.middleButton}`]:b.middleButton},b.root,b[c.variant],!0===c.disableElevation&&b.disableElevation,c.fullWidth&&b.fullWidth,"vertical"===c.orientation&&b.vertical]}})((0,q.A)(({theme:a})=>({display:"inline-flex",borderRadius:(a.vars||a).shape.borderRadius,variants:[{props:{variant:"contained"},style:{boxShadow:(a.vars||a).shadows[2]}},{props:{disableElevation:!0},style:{boxShadow:"none"}},{props:{fullWidth:!0},style:{width:"100%"}},{props:{orientation:"vertical"},style:{flexDirection:"column",[`& .${w.lastButton},& .${w.middleButton}`]:{borderTopRightRadius:0,borderTopLeftRadius:0},[`& .${w.firstButton},& .${w.middleButton}`]:{borderBottomRightRadius:0,borderBottomLeftRadius:0}}},{props:{orientation:"horizontal"},style:{[`& .${w.firstButton},& .${w.middleButton}`]:{borderTopRightRadius:0,borderBottomRightRadius:0},[`& .${w.lastButton},& .${w.middleButton}`]:{borderTopLeftRadius:0,borderBottomLeftRadius:0}}},{props:{variant:"text",orientation:"horizontal"},style:{[`& .${w.firstButton},& .${w.middleButton}`]:{borderRight:a.vars?`1px solid rgba(${a.vars.palette.common.onBackgroundChannel} / 0.23)`:`1px solid ${"light"===a.palette.mode?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)"}`,[`&.${w.disabled}`]:{borderRight:`1px solid ${(a.vars||a).palette.action.disabled}`}}}},{props:{variant:"text",orientation:"vertical"},style:{[`& .${w.firstButton},& .${w.middleButton}`]:{borderBottom:a.vars?`1px solid rgba(${a.vars.palette.common.onBackgroundChannel} / 0.23)`:`1px solid ${"light"===a.palette.mode?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)"}`,[`&.${w.disabled}`]:{borderBottom:`1px solid ${(a.vars||a).palette.action.disabled}`}}}},...Object.entries(a.palette).filter((0,r.A)()).flatMap(([b])=>[{props:{variant:"text",color:b},style:{[`& .${w.firstButton},& .${w.middleButton}`]:{borderColor:a.vars?`rgba(${a.vars.palette[b].mainChannel} / 0.5)`:(0,m.X4)(a.palette[b].main,.5)}}}]),{props:{variant:"outlined",orientation:"horizontal"},style:{[`& .${w.firstButton},& .${w.middleButton}`]:{borderRightColor:"transparent","&:hover":{borderRightColor:"currentColor"}},[`& .${w.lastButton},& .${w.middleButton}`]:{marginLeft:-1}}},{props:{variant:"outlined",orientation:"vertical"},style:{[`& .${w.firstButton},& .${w.middleButton}`]:{borderBottomColor:"transparent","&:hover":{borderBottomColor:"currentColor"}},[`& .${w.lastButton},& .${w.middleButton}`]:{marginTop:-1}}},{props:{variant:"contained",orientation:"horizontal"},style:{[`& .${w.firstButton},& .${w.middleButton}`]:{borderRight:`1px solid ${(a.vars||a).palette.grey[400]}`,[`&.${w.disabled}`]:{borderRight:`1px solid ${(a.vars||a).palette.action.disabled}`}}}},{props:{variant:"contained",orientation:"vertical"},style:{[`& .${w.firstButton},& .${w.middleButton}`]:{borderBottom:`1px solid ${(a.vars||a).palette.grey[400]}`,[`&.${w.disabled}`]:{borderBottom:`1px solid ${(a.vars||a).palette.action.disabled}`}}}},...Object.entries(a.palette).filter((0,r.A)(["dark"])).map(([b])=>({props:{variant:"contained",color:b},style:{[`& .${w.firstButton},& .${w.middleButton}`]:{borderColor:(a.vars||a).palette[b].dark}}}))],[`& .${w.grouped}`]:{minWidth:40,boxShadow:"none",props:{variant:"contained"},style:{"&:hover":{boxShadow:"none"}}}}))),A=e.forwardRef(function(a,b){let c=(0,s.b)({props:a,name:"MuiButtonGroup"}),{children:f,className:g,color:h="primary",component:i="div",disabled:j=!1,disableElevation:m=!1,disableFocusRipple:p=!1,disableRipple:q=!1,fullWidth:r=!1,orientation:t="horizontal",size:u="medium",variant:w="outlined",...A}=c,B={...c,color:h,component:i,disabled:j,disableElevation:m,disableFocusRipple:p,disableRipple:q,fullWidth:r,orientation:t,size:u,variant:w},C=(a=>{let{classes:b,color:c,disabled:d,disableElevation:e,fullWidth:f,orientation:g,variant:h}=a,i={root:["root",h,g,f&&"fullWidth",e&&"disableElevation",`color${(0,o.A)(c)}`],grouped:["grouped",`grouped${(0,o.A)(g)}`,`grouped${(0,o.A)(h)}`,`grouped${(0,o.A)(h)}${(0,o.A)(g)}`,`grouped${(0,o.A)(h)}${(0,o.A)(c)}`,d&&"disabled"],firstButton:["firstButton"],lastButton:["lastButton"],middleButton:["middleButton"]};return(0,l.A)(i,v,b)})(B),D=e.useMemo(()=>({className:C.grouped,color:h,disabled:j,disableElevation:m,disableFocusRipple:p,disableRipple:q,fullWidth:r,size:u,variant:w}),[h,j,m,p,q,r,u,w,C.grouped]),E=(0,n.A)(f),F=E.length;return(0,d.jsx)(z,{as:i,role:"group",className:(0,k.A)(C.root,g),ref:b,ownerState:B,...A,children:(0,d.jsx)(x.A.Provider,{value:D,children:E.map((a,b)=>{let c,e;return(0,d.jsx)(y.A.Provider,{value:(c=0===b,e=b===F-1,c&&e?"":c?C.firstButton:e?C.lastButton:C.middleButton),children:a},b)})})})});var B=c(77217),C=c(39179),D=c(74453),E=c(30630),F=c(47786),G=c(76108),H=c(36485),I=c(11494),J=c(91195),K=c(98908),L=c(53089),M=c(74948),N=c(33480),O=c(52454),P=c(12558),Q=c(55784),R=c(53800),S=c(75296),T=c(70364),U=c(60685),V=c(32586);let W=(0,V.A)([(0,d.jsx)("path",{d:"m12 2-5.5 9h11z"},"0"),(0,d.jsx)("circle",{cx:"17.5",cy:"17.5",r:"4.5"},"1"),(0,d.jsx)("path",{d:"M3 13.5h8v8H3z"},"2")],"Category"),X=(0,V.A)((0,d.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 Y=c(37198),Z=c(18169),$=c(53526),_=c(34945),aa=c(39066),ab=c(80128),ac=c(53027),ad=c(30099),ae=c(6680),af=c(32166);let ag=(0,ae.h)("frontend/components/models/list/ModelList"),ah=({models:a,isLoading:b,onAdd:c,onUpdate:f,onDelete:i,folders:j=[],onSetFolder:k,onToggleFavorite:l})=>{let{t:m,tp:n}=(0,af.s9)(),o=(0,N.A)(),[p,q]=(0,ac.Io)("flujo-ui:models:sort","name-asc"),[r,s]=(0,ac.Io)("flujo-ui:models:group",ab.FM),[t,u]=(0,e.useState)(null),[v,w]=(0,e.useState)(null),[x,y]=(0,ac.Io)("flujo-ui:models:collapsed",[]),z=(0,e.useMemo)(()=>new Set(x),[x]),A=a=>{q(a),u(null)},B=a=>{s(a),w(null)},G=async a=>{let b=await f(a);b.success||ag.error("Failed to update model in ModelList",b.error)},H=(0,e.useMemo)(()=>(0,ad.CR)(a,p),[a,p]),I=(0,e.useMemo)(()=>"folder"===r?(0,ab.Je)(H,a=>a.folder,m("models.group.ungrouped")):"sort"===r?(0,ab.Az)(H,a=>{let b=(0,ad.eZ)(a,p),c={"ctx:unknown":"models.group.unknownContext","ctx:<=8k":"models.group.context8k","ctx:8k-32k":"models.group.context32k","ctx:32k-128k":"models.group.context128k","ctx:128k-1m":"models.group.context1m","ctx:>1m":"models.group.contextOver1m"};return c[b.key]?{...b,label:m(c[b.key])}:b}):[],[r,H,p,m]);if(b)return(0,d.jsx)(h.default,{display:"flex",justifyContent:"center",py:4,children:(0,d.jsx)(O.default,{})});let J=a=>(0,d.jsx)(P.Ay,{container:!0,spacing:2.5,children:a.map(a=>(0,d.jsx)(P.Ay,{item:!0,xs:12,sm:6,md:4,children:(0,d.jsx)(_.A,{model:a,onEdit:()=>G(a),onDelete:()=>i(a.id),folder:a.folder,folders:j,onSetFolder:k?b=>k(a.id,b):void 0,onToggleFavorite:l})},a.id))});return(0,d.jsxs)(h.default,{children:[(0,d.jsx)(g.A,{elevation:0,variant:"outlined",sx:{mb:2.5,p:1.1,borderRadius:3,bgcolor:"transparent"},children:(0,d.jsxs)(h.default,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:1},children:[(0,d.jsxs)(Q.A,{variant:"body2",color:"textSecondary",children:[n("models.connectionCount",a.length),(0,d.jsx)(h.default,{component:"span",sx:{mx:1,opacity:.5},children:"\xb7"}),m("models.sortedBy",{sort:m({"name-asc":"models.sort.nameAsc","name-desc":"models.sort.nameDesc",provider:"models.sort.provider","context-desc":"models.sort.contextLargest","context-asc":"models.sort.contextSmallest"}[p])})]}),(0,d.jsxs)(h.default,{sx:{display:"flex",gap:1,alignItems:"center"},children:[(0,d.jsx)(R.A,{size:"small",onClick:a=>w(a.currentTarget),color:"none"!==r?"primary":"default",sx:{border:`1px solid ${o.palette.divider}`,backgroundColor:o.palette.background.default},title:m("models.groupCards"),children:(0,d.jsx)(Y.A,{fontSize:"small"})}),(0,d.jsx)(R.A,{size:"small",onClick:a=>u(a.currentTarget),sx:{border:`1px solid ${o.palette.divider}`,backgroundColor:o.palette.background.default},title:m("models.sortModels"),children:(0,d.jsx)(T.A,{fontSize:"small"})})]})]})}),a&&0!==a.length?"none"===r?J(H):I.map(a=>(0,d.jsx)(aa.A,{groupKey:a.key,label:a.label,count:a.items.length,expanded:!z.has(a.key),onToggle:()=>{var b;return b=a.key,void y(a=>a.includes(b)?a.filter(a=>a!==b):[...a,b])},showFolderIcon:"folder"===r,children:J(a.items)},a.key)):(0,d.jsx)(g.A,{variant:"outlined",sx:{display:"grid",minHeight:240,p:4,placeItems:"center",textAlign:"center",borderStyle:"dashed",bgcolor:"transparent"},children:(0,d.jsxs)(h.default,{children:[(0,d.jsx)(X,{sx:{mb:1.5,fontSize:38,color:"primary.light"}}),(0,d.jsx)(Q.A,{variant:"h6",children:m("models.emptyTitle")}),(0,d.jsx)(Q.A,{variant:"body2",color:"text.secondary",sx:{mt:.7,mb:2},children:m("models.emptyDescription")}),(0,d.jsx)(h.default,{children:(0,d.jsx)(R.A,{color:"primary",onClick:c,title:m("models.connectAi"),children:(0,d.jsx)(X,{})})})]})}),(0,d.jsxs)(C.A,{anchorEl:v,open:!!v,onClose:()=>w(null),anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},children:[(0,d.jsxs)(D.A,{selected:"none"===r,onClick:()=>B("none"),children:[(0,d.jsx)(E.A,{children:(0,d.jsx)(Z.A,{fontSize:"small"})}),(0,d.jsx)(F.A,{primary:m("models.group.none")})]}),(0,d.jsxs)(D.A,{selected:"folder"===r,onClick:()=>B("folder"),children:[(0,d.jsx)(E.A,{children:(0,d.jsx)($.A,{fontSize:"small"})}),(0,d.jsx)(F.A,{primary:m("models.group.folder")})]}),(0,d.jsxs)(D.A,{selected:"sort"===r,onClick:()=>B("sort"),children:[(0,d.jsx)(E.A,{children:(0,d.jsx)(Y.A,{fontSize:"small"})}),(0,d.jsx)(F.A,{primary:m("models.group.sort")})]})]}),(0,d.jsxs)(C.A,{anchorEl:t,open:!!t,onClose:()=>u(null),anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},children:[(0,d.jsxs)(D.A,{selected:"name-asc"===p,onClick:()=>A("name-asc"),children:[(0,d.jsx)(E.A,{children:(0,d.jsx)(U.A,{fontSize:"small"})}),(0,d.jsx)(F.A,{primary:m("models.sort.nameAsc")})]}),(0,d.jsxs)(D.A,{selected:"name-desc"===p,onClick:()=>A("name-desc"),children:[(0,d.jsx)(E.A,{children:(0,d.jsx)(U.A,{fontSize:"small",sx:{transform:"scaleX(-1)"}})}),(0,d.jsx)(F.A,{primary:m("models.sort.nameDesc")})]}),(0,d.jsx)(S.A,{}),(0,d.jsxs)(D.A,{selected:"provider"===p,onClick:()=>A("provider"),children:[(0,d.jsx)(E.A,{children:(0,d.jsx)(W,{fontSize:"small"})}),(0,d.jsx)(F.A,{primary:m("models.sort.provider")})]}),(0,d.jsx)(S.A,{}),(0,d.jsxs)(D.A,{selected:"context-desc"===p,onClick:()=>A("context-desc"),children:[(0,d.jsx)(E.A,{children:(0,d.jsx)(X,{fontSize:"small"})}),(0,d.jsx)(F.A,{primary:m("models.sort.contextLargest")})]}),(0,d.jsxs)(D.A,{selected:"context-asc"===p,onClick:()=>A("context-asc"),children:[(0,d.jsx)(E.A,{children:(0,d.jsx)(X,{fontSize:"small",sx:{transform:"scaleY(-1)"}})}),(0,d.jsx)(F.A,{primary:m("models.sort.contextSmallest")})]})]})]})};var ai=c(17747),aj=c(54269),ak=c(4146),al=c(28298),am=c(94400),an=c(72539),ao=c(84781),ap=c(39266),aq=c(77078),ar=c(44440),as=c(34159),at=c(85352),au=c(65076),av=c(59262),aw=c(41675),ax=c(77275),ay=c(31846),az=c(18085);let aA=(0,ae.h)("frontend/components/models/modal"),aB=a=>({...void 0!==a.contextWindow?{contextWindow:a.contextWindow}:{},...void 0!==a.maxTokens?{maxTokens:a.maxTokens}:{},...void 0!==a.supportsTools?{supportsTools:a.supportsTools}:{},...void 0!==a.supportedParameters?{supportedParameters:a.supportedParameters}:{},...void 0!==a.inputModalities?{inputModalities:a.inputModalities}:{},...void 0!==a.outputModalities?{outputModalities:a.outputModalities}:{},...void 0!==a.visionInputCapability?{visionInputCapability:a.visionInputCapability}:{}}),aC=({open:a,model:b,onSave:c,onClose:g})=>{let{t:j}=(0,af.s9)(),k=(0,N.A)(),l=(0,ai.A)(k.breakpoints.down("sm")),m=(0,f.useRouter)(),{globalEnvVars:n,settings:o}=(0,as.rX)(),[p,q]=(0,e.useState)({}),[r,s]=(0,e.useState)({}),[t,u]=(0,e.useState)(null),[v,w]=(0,e.useState)(!1),[x,y]=(0,e.useState)(null),[z,A]=(0,e.useState)(!1),[C,E]=(0,e.useState)([]),[F,H]=(0,e.useState)(!1),I=(0,e.useRef)(null),J=(0,e.useRef)(null),K=(0,e.useMemo)(()=>["displayName","name","description","baseUrl","promptTemplate","temperature","reasoningEffort","thinkingLevel","thinkingBudget","serviceTier","contextWindow","maxTurns","maxTokens"],[]),L=(0,e.useCallback)(a=>{let c=[...document.querySelectorAll("[data-ask-flujo-model-id]")].find(a=>a.getAttribute("data-ask-flujo-model-id")===b.id)??null,d=c?[...c.querySelectorAll("[name]")].find(b=>b.getAttribute("name")===a)??null:null,e=d?.closest(".MuiFormControl-root")??c;return(0,ay.g_)(e)},[b.id]),M=(0,e.useCallback)(a=>{if("model-field"!==a.target.kind||!a.target.field)return{success:!1,message:"That model UI target is not supported."};let b=a.target.field;if(!K.includes(b))return{success:!1,message:`The model field "${b}" is read-only for Ask FLUJO.`};if("highlight"===a.type){let a=L(b);return{success:a,message:a?`Highlighted ${b}.`:`Could not find ${b} on screen.`}}if(new Set(["thinkingBudget","contextWindow","maxTurns","maxTokens"]).has(b)){if("number"!=typeof a.value||!Number.isFinite(a.value))return{success:!1,message:`${b} must be a finite number.`}}else if("string"!=typeof a.value)return{success:!1,message:`${b} must be text.`};return q(c=>({...c,[b]:a.value})),window.requestAnimationFrame(()=>L(b)),{success:!0,message:`Updated ${b} in the unsaved form. Review it, then Save.`}},[K,L]);(0,ax.qz)({scopeId:`model:${b.id}`,pageType:"model",route:"/models",title:p.displayName||b.displayName||b.name||"Model",identifiers:{modelId:b.id},data:{model:{...p,id:b.id,ApiKey:p.ApiKey?"[REDACTED]":""},saved:!1},capabilities:{highlightTargets:K.map(a=>({kind:"model-field",field:a})),editableTargets:K.map(a=>({kind:"model-field",field:a})),notes:["This is the live, unsaved model form.","API keys are never included in Ask FLUJO context and cannot be edited by Ask FLUJO."]}},M,100),(0,e.useEffect)(()=>{a&&E([])},[a]),(0,e.useEffect)(()=>{p.baseUrl&&(aA.debug("Base URL or API Key changed",{baseUrl:p.baseUrl}),E([]))},[p.baseUrl,p.ApiKey]),(0,e.useEffect)(()=>(J.current&&clearTimeout(J.current),p.baseUrl&&(J.current=setTimeout(()=>{aA.debug("Debounced fetchModels triggered",{name:p.name,baseUrl:p.baseUrl,searchTerm:p.name?`"${p.name}"`:"none"}),S(p.baseUrl,p.name)},100)),()=>{J.current&&clearTimeout(J.current)}),[p.name,p.baseUrl]),(0,e.useEffect)(()=>()=>{J.current&&clearTimeout(J.current)},[]);let S=async(a,c)=>{aA.debug("fetchModels called",{baseUrl:a,searchTerm:c?`"${c}"`:"none",apiKey:p.ApiKey?"present":"not present",isApiKeyBound:v}),H(!0),s({});try{let d=v&&x?`\${global:${x}}`:p.ApiKey&&p.ApiKey!==av.RJ?p.ApiKey:void 0,e=await aw.N.fetchProviderModels(a,b.id,c,d);if(aA.debug("Models fetched successfully",{count:e?.length,searchTerm:c?`"${c}"`:"none"}),Array.isArray(e)){E(e);let a=e.find(a=>a.id===p.name);a&&q(b=>b.name===a.id?{...b,...aB(a)}:b),aA.info("Models set in state",{count:e.length,searchTerm:c?`"${c}"`:"none"})}else aA.warn("Unexpected API response format",{models:e}),E([])}catch(b){aA.warn("Error fetching models",{baseUrl:a,searchTerm:c,error:b}),E([])}finally{H(!1)}};(0,e.useEffect)(()=>{if(a){q({...b,displayName:b.displayName||b.name});let a=(b.ApiKey||"").match(/\$\{global:([^}]+)\}/);a?(w(!0),y(a[1])):(w(!1),y(null),q(a=>({...a,ApiKey:b.name?av.RJ:""})))}else q({name:"",displayName:"",description:"",ApiKey:"",baseUrl:"https://api.openai.com/v1",provider:"openai",adapter:"openai",promptTemplate:"",temperature:"0.0"}),w(!1),y(null);s({}),u(null)},[a,b]);let T=(0,au.T_)(p.provider,p.adapter),U=(0,au.g3)(p.provider,p.adapter,p.name),V=(0,e.useMemo)(()=>o?.experimental?.showModelsWithoutToolCapabilities?C:C.filter(a=>!1!==a.supportsTools),[C,o?.experimental?.showModelsWithoutToolCapabilities]),W=(a,b)=>{q(c=>({...c,[a]:b})),s(b=>({...b,[a]:""}))},X=async a=>{a.preventDefault();let d={};if(p.name?.trim()||(d.name=j("models.modal.nameRequired")),p.displayName?.trim()||(d.displayName=j("models.modal.displayNameRequired")),U.creativity&&p.temperature?.trim()){let a=Number(p.temperature);(!Number.isFinite(a)||a<U.creativity.min||a>U.creativity.max)&&(d.temperature=j("models.modal.creativityRange",{min:U.creativity.min,max:U.creativity.max}))}if(v||p.ApiKey?.trim()||"codex-cli"===T.adapter||(d.ApiKey=j("models.modal.apiKeyRequired")),Object.keys(d).length>0)return void s(d);try{let a=await c({id:b.id,name:p.name,displayName:p.displayName,description:p.description,ApiKey:p.ApiKey,baseUrl:p.baseUrl,provider:p.provider,adapter:p.adapter||"openai",promptTemplate:p.promptTemplate,temperature:U.creativity?p.temperature:void 0,reasoningEffort:U.effortLevels?.includes(p.reasoningEffort)?p.reasoningEffort:void 0,thinkingLevel:U.thinkingLevels?.includes(p.thinkingLevel)?p.thinkingLevel:void 0,thinkingBudget:U.thinkingBudget?p.thinkingBudget:void 0,serviceTier:U.priority?p.serviceTier||"default":void 0,contextWindow:p.contextWindow,supportsTools:p.supportsTools,supportedParameters:p.supportedParameters,inputModalities:p.inputModalities,outputModalities:p.outputModalities,visionInputCapability:p.visionInputCapability??(Array.isArray(p.inputModalities)?p.inputModalities.some(a=>/^(?:image|vision)$/i.test(a))?"supported":"unsupported":"unknown"),maxTurns:p.maxTurns,maxTokens:U.maxOutputTokens?p.maxTokens:void 0});a.success?m.refresh():s({submit:a.error||j("models.saveFailed")})}catch(a){aA.error("Failed to save model",{error:a}),s({submit:a?.message||j("models.saveFailed")})}},Y={minimal:"models.modal.level.minimal",low:"models.modal.level.low",medium:"models.modal.level.medium",high:"models.modal.level.high",xhigh:"models.modal.level.xhigh",max:"models.modal.level.max"},Z=a=>Y[a]?j(Y[a]):a;return(0,d.jsx)(aj.A,{open:a,onClose:g,maxWidth:"xl",fullWidth:!0,fullScreen:l,PaperProps:{"data-ask-flujo-model-id":b.id,sx:{width:l?"100%":"95vw",height:l?"100dvh":"90vh",maxWidth:l?"100%":"95vw",maxHeight:l?"100dvh":"90vh"}},children:(0,d.jsxs)("form",{onSubmit:X,style:{display:"flex",flexDirection:"column",height:"100%",minHeight:0},children:[(0,d.jsx)(az.A,{title:b.name?j("models.modal.editTitle"):j("models.modal.createTitle"),onClose:g}),(0,d.jsxs)(ak.A,{sx:{display:"flex",flex:1,flexDirection:"column",minHeight:0,overflowY:{xs:"auto",md:"hidden"},px:{xs:2,sm:3}},children:[r.submit&&(0,d.jsx)(G.A,{severity:"error",sx:{mb:2},children:r.submit}),t&&(0,d.jsx)(G.A,{severity:"info",sx:{mb:2},children:t}),(0,d.jsxs)(P.Ay,{container:!0,spacing:2,sx:{flexGrow:1,minHeight:{md:0}},children:[(0,d.jsx)(P.Ay,{item:!0,xs:12,md:6,sx:{height:{xs:"auto",md:"100%"},minWidth:0},children:(0,d.jsxs)(h.default,{sx:{display:"flex",flexDirection:"column",height:{xs:"auto",md:"100%"},pr:{xs:0,md:2},overflowY:{xs:"visible",md:"auto"}},children:[(0,d.jsx)(Q.A,{variant:"h6",gutterBottom:!0,children:j("models.modal.connectionDetails")}),(0,d.jsx)(i.A,{name:"displayName",autoFocus:!0,margin:"dense",label:j("models.modal.displayName"),fullWidth:!0,required:!0,value:p.displayName||"",onChange:a=>W("displayName",a.target.value),error:!!r.displayName,helperText:r.displayName||j("models.modal.displayNameHelp")}),(0,d.jsxs)(al.A,{fullWidth:!0,margin:"dense",children:[(0,d.jsx)(am.A,{id:"provider-profile-label",children:j("models.modal.provider")}),(0,d.jsx)(an.A,{name:"provider",labelId:"provider-profile-label",label:j("models.modal.provider"),value:T.id,onChange:a=>{var b;let c;return b=a.target.value,void((c=au.xx.find(a=>a.id===b))&&(q(a=>({...a,provider:c.provider,adapter:c.adapter,baseUrl:c.baseUrl})),s(a=>({...a,baseUrl:""}))))},children:au.xx.map(a=>(0,d.jsx)(D.A,{value:a.id,children:a.label},a.id))})]}),(0,d.jsxs)(Q.A,{variant:"caption",color:"text.secondary",sx:{mt:.5,mb:1,display:"block"},children:[j("models.modal.usesSdk",{sdk:T.sdkLabel}),"claude-cli"===T.adapter?` ${j("models.modal.claudeAuthHelp")}`:"codex-cli"===T.adapter?` ${j("models.modal.codexAuthHelp")}`:""]}),T.showBaseUrl&&(0,d.jsx)(i.A,{name:"baseUrl",margin:"dense",label:j("models.card.baseUrl"),fullWidth:!0,value:p.baseUrl||"",onChange:a=>W("baseUrl",a.target.value),helperText:j("models.modal.baseUrlHelp")}),(0,d.jsx)(h.default,{sx:{position:"relative",mt:1,mb:1},children:(0,d.jsx)(i.A,{name:"ApiKey",margin:"dense",label:j("models.modal.apiKey"),fullWidth:!0,required:!v&&"codex-cli"!==T.adapter,type:v?"text":"password",value:p.ApiKey||"",onChange:a=>W("ApiKey",a.target.value),error:!!r.ApiKey,helperText:r.ApiKey||("codex-cli"===T.adapter?j("models.modal.apiKeyOptionalCodex"):j("models.modal.apiKeyRequiredProvider")),InputProps:{readOnly:v,endAdornment:(0,d.jsx)(h.default,{sx:{display:"flex",alignItems:"center"},children:v?(0,d.jsx)(R.A,{onClick:()=>{w(!1),y(null),q(a=>({...a,ApiKey:""}))},size:"small",title:j("models.modal.unbindGlobal"),children:(0,d.jsx)(aq.A,{})}):(0,d.jsx)(R.A,{onClick:()=>{A(!0)},size:"small",title:j("models.modal.bindGlobal"),children:(0,d.jsx)(ar.A,{})})})}})}),(0,d.jsx)(ao.A,{freeSolo:!0,loading:F,options:T.showBaseUrl?V.map(a=>a.id):T.defaultModels??[],value:p.name||"",onChange:(a,b)=>{let c=C.find(a=>a.id===b);q(a=>({...a,name:b||"",...c?{description:c.description??a.description,...aB(c)}:{}})),s(a=>({...a,name:""}))},onInputChange:(a,b)=>{W("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,d.jsx)(i.A,{...a,margin:"dense",label:j("models.modal.technicalName"),required:!0,error:!!r.name,helperText:r.name||j("models.modal.technicalNameHelp"),InputProps:{...a.InputProps,endAdornment:(0,d.jsxs)(d.Fragment,{children:[F?(0,d.jsx)(O.default,{color:"inherit",size:20}):null,a.InputProps.endAdornment]})}}),renderOption:(a,b)=>{let c=C.find(a=>a.id===b),{key:e,...f}=a;return(0,d.jsx)("li",{...f,style:{borderBottom:"1px solid rgba(0,0,0,0.1)",padding:"8px 16px"},children:(0,d.jsxs)(h.default,{children:[(0,d.jsx)(Q.A,{variant:"body1",fontWeight:"bold",children:b}),c?.description&&(0,d.jsx)(Q.A,{variant:"body2",color:"text.secondary",sx:{fontSize:"0.75rem"},children:c.description})]})},e)},noOptionsText:j("models.modal.noMatches"),loadingText:j("models.modal.loadingModels")}),(0,d.jsx)(i.A,{name:"description",margin:"dense",label:j("models.modal.description"),fullWidth:!0,multiline:!0,rows:3,value:p.description||"",onChange:a=>W("description",a.target.value)}),U.creativity&&(0,d.jsx)(i.A,{name:"temperature",margin:"dense",label:j("models.modal.creativity"),fullWidth:!0,type:"number",value:p.temperature??"",onChange:a=>W("temperature",a.target.value),error:!!r.temperature,inputProps:U.creativity,helperText:r.temperature||j("models.modal.creativityHelp",{min:U.creativity.min,max:U.creativity.max})}),U.effortLevels&&(0,d.jsxs)(al.A,{fullWidth:!0,margin:"dense",children:[(0,d.jsx)(am.A,{id:"reasoning-effort-label",children:j("models.modal.effort")}),(0,d.jsxs)(an.A,{name:"reasoningEffort",labelId:"reasoning-effort-label",label:j("models.modal.effort"),value:p.reasoningEffort||"",onChange:a=>q(b=>({...b,reasoningEffort:a.target.value?a.target.value:void 0})),children:[(0,d.jsx)(D.A,{value:"",children:(0,d.jsx)("em",{children:j("models.modal.providerDefault")})}),U.effortLevels.map(a=>(0,d.jsx)(D.A,{value:a,children:Z(a)},a))]}),(0,d.jsx)(Q.A,{variant:"caption",color:"text.secondary",sx:{mt:.5,ml:1.75},children:j("models.modal.effortHelp")})]}),U.thinkingLevels&&(0,d.jsxs)(al.A,{fullWidth:!0,margin:"dense",children:[(0,d.jsx)(am.A,{id:"thinking-level-label",children:j("models.modal.thinkingLevel")}),(0,d.jsxs)(an.A,{name:"thinkingLevel",labelId:"thinking-level-label",label:j("models.modal.thinkingLevel"),value:p.thinkingLevel||"",onChange:a=>q(b=>({...b,thinkingLevel:a.target.value?a.target.value:void 0})),children:[(0,d.jsx)(D.A,{value:"",children:(0,d.jsx)("em",{children:j("models.modal.providerDefault")})}),U.thinkingLevels.map(a=>(0,d.jsx)(D.A,{value:a,children:Z(a)},a))]})]}),U.thinkingBudget&&(0,d.jsx)(i.A,{name:"thinkingBudget",margin:"dense",label:j("models.modal.thinkingBudget"),fullWidth:!0,type:"number",value:p.thinkingBudget??"",onChange:a=>{let b=a.target.value,c=""===b?void 0:Number(b);q(a=>({...a,thinkingBudget:void 0!==c&&Number.isFinite(c)&&c>=-1?Math.floor(c):void 0}))},inputProps:{min:-1,step:1},helperText:j("models.modal.thinkingBudgetHelp")}),U.priority&&(0,d.jsxs)(al.A,{fullWidth:!0,margin:"dense",children:[(0,d.jsx)(am.A,{id:"service-tier-label",children:j("models.modal.priority")}),(0,d.jsxs)(an.A,{name:"serviceTier",labelId:"service-tier-label",label:j("models.modal.priority"),value:p.serviceTier||"default",onChange:a=>q(b=>({...b,serviceTier:a.target.value})),children:[(0,d.jsx)(D.A,{value:"default",children:j("models.modal.standard")}),(0,d.jsx)(D.A,{value:"priority",children:j("models.modal.priorityFaster")})]}),(0,d.jsx)(Q.A,{variant:"caption",color:"text.secondary",sx:{mt:.5,ml:1.75},children:j("models.modal.priorityHelp")})]}),(0,d.jsx)(i.A,{name:"contextWindow",margin:"dense",label:j("models.modal.contextWindow"),fullWidth:!0,type:"number",value:p.contextWindow??"",onChange:a=>{let b=a.target.value,c=""===b?void 0:Number(b);q(a=>({...a,contextWindow:void 0!==c&&Number.isFinite(c)&&c>0?Math.floor(c):void 0}))},helperText:j("models.modal.contextWindowHelp")}),(0,d.jsx)(i.A,{name:"maxTurns",margin:"dense",label:j("models.modal.maxTurns"),fullWidth:!0,type:"number",value:p.maxTurns??"",onChange:a=>{let b=a.target.value,c=""===b?void 0:Number(b);q(a=>({...a,maxTurns:void 0!==c&&Number.isFinite(c)&&c>0?Math.floor(c):void 0}))},inputProps:{min:1},helperText:j("models.modal.maxTurnsHelp")}),U.maxOutputTokens&&(0,d.jsx)(i.A,{name:"maxTokens",margin:"dense",label:j("models.modal.maxOutputTokens"),fullWidth:!0,type:"number",value:p.maxTokens??"",onChange:a=>{let b=a.target.value,c=""===b?void 0:Number(b);q(a=>({...a,maxTokens:void 0!==c&&Number.isFinite(c)&&c>0?Math.floor(c):void 0}))},inputProps:{min:1},helperText:j("models.modal.maxOutputTokensHelp")})]})}),(0,d.jsx)(P.Ay,{item:!0,xs:12,md:6,sx:{height:{xs:400,md:"100%"},minWidth:0},children:(0,d.jsxs)(h.default,{sx:{display:"flex",flexDirection:"column",height:"100%",minHeight:0,pl:{xs:0,md:2}},children:[(0,d.jsx)(Q.A,{variant:"h6",gutterBottom:!0,children:j("models.modal.promptTemplate")}),(0,d.jsx)(h.default,{sx:{flexGrow:1,display:"flex",flexDirection:"column",minHeight:0},children:(0,d.jsx)(at.A,{ref:I,value:p.promptTemplate||"",onChange:a=>W("promptTemplate",a),label:"",height:"100%"})})]})})]}),z&&(0,d.jsxs)(h.default,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:{xs:"calc(100% - 32px)",sm:400},maxWidth:400,bgcolor:"background.paper",boxShadow:24,p:{xs:2,sm:4},borderRadius:1,zIndex:9999},children:[(0,d.jsx)(Q.A,{variant:"h6",component:"h2",sx:{mb:2},children:j("models.modal.bindTitle")}),0===Object.keys(n).length?(0,d.jsx)(Q.A,{sx:{mb:2},children:j("models.modal.noGlobals")}):(0,d.jsx)(h.default,{sx:{maxHeight:300,overflow:"auto",mb:2},children:Object.entries(n).map(([a,b])=>(0,d.jsx)(B.A,{onClick:()=>{w(!0),y(a),q(b=>({...b,ApiKey:`\${global:${a}}`})),A(!1)},fullWidth:!0,sx:{justifyContent:"flex-start",textAlign:"left",mb:1,p:1,"&:hover":{bgcolor:"action.hover"}},children:(0,d.jsxs)(h.default,{sx:{display:"flex",justifyContent:"space-between",width:"100%"},children:[(0,d.jsx)(Q.A,{children:a}),(0,d.jsx)(Q.A,{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,d.jsx)(h.default,{sx:{display:"flex",justifyContent:"flex-end"},children:(0,d.jsx)(B.A,{onClick:()=>A(!1),children:j("common.cancel")})})]})]}),(0,d.jsxs)(ap.A,{sx:{flexShrink:0},children:[(0,d.jsx)(B.A,{onClick:g,children:j("common.cancel")}),(0,d.jsx)(B.A,{type:"submit",variant:"contained",color:"primary",children:j("models.modal.save")})]})]})})};var aD=c(95747),aE=c(88458),aF=c(79705),aG=c(30892),aH=c(58247),aI=c(32787),aJ=c(13036),aK=c(78167),aL=c(89686),aM=c(61749),aN=c(5285),aO=c(19395),aP=c(74012),aQ=c(49509);let aR=(0,V.A)((0,d.jsx)("path",{d:"M20 4H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2m-1 14H5c-.55 0-1-.45-1-1v-5h16v5c0 .55-.45 1-1 1m1-10H4V6h16z"}),"CreditCardRounded");var aS=c(29123);let aT=(0,V.A)((0,d.jsx)("path",{d:"M20.59 10h-7.94c-.95-2.69-3.76-4.5-6.88-3.88-2.29.46-4.15 2.3-4.63 4.58C.32 14.58 3.26 18 7 18c2.61 0 4.83-1.67 5.65-4H13l1.29 1.29c.39.39 1.02.39 1.41 0L17 14l1.29 1.29c.39.39 1.03.39 1.42 0l2.59-2.61c.39-.39.39-1.03-.01-1.42l-.99-.97c-.2-.19-.45-.29-.71-.29M7 15c-1.65 0-3-1.35-3-3s1.35-3 3-3 3 1.35 3 3-1.35 3-3 3"}),"KeyRounded");var aU=c(40596),aV=c(81616),aW=c(99958);let aX=(0,V.A)((0,d.jsx)("path",{d:"m19.83 7.5-2.27-2.27c.07-.42.18-.81.32-1.15.11-.26.15-.56.09-.87-.13-.72-.83-1.22-1.57-1.21-1.59.03-3 .81-3.9 2h-5C4.46 4 2 6.46 2 9.5c0 2.25 1.37 7.48 2.08 10.04.24.86 1.03 1.46 1.93 1.46H8c1.1 0 2-.9 2-2h2c0 1.1.9 2 2 2h2.01c.88 0 1.66-.58 1.92-1.43l1.25-4.16 2.14-.72c.41-.14.68-.52.68-.95V8.5c0-.55-.45-1-1-1zM12 9H9c-.55 0-1-.45-1-1s.45-1 1-1h3c.55 0 1 .45 1 1s-.45 1-1 1m4 2c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1"}),"SavingsRounded"),aY=(0,V.A)((0,d.jsx)("path",{d:"M5 13.18v2.81c0 .73.4 1.41 1.04 1.76l5 2.73c.6.33 1.32.33 1.92 0l5-2.73c.64-.35 1.04-1.03 1.04-1.76v-2.81l-6.04 3.3c-.6.33-1.32.33-1.92 0zm6.04-9.66-8.43 4.6c-.69.38-.69 1.38 0 1.76l8.43 4.6c.6.33 1.32.33 1.92 0L21 10.09V16c0 .55.45 1 1 1s1-.45 1-1V9.59c0-.37-.2-.7-.52-.88l-9.52-5.19a2.04 2.04 0 0 0-1.92 0"}),"SchoolRounded");var aZ=c(67062);let a$=(0,V.A)((0,d.jsx)("path",{d:"M20 4H4c-1.11 0-2 .9-2 2v12c0 1.1.89 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.89-2-2-2m0 14H4V8h16zm-8-2c0-.55.45-1 1-1h4c.55 0 1 .45 1 1s-.45 1-1 1h-4c-.55 0-1-.45-1-1M6.79 9.71c.39-.39 1.02-.39 1.41 0l2.59 2.59c.39.39.39 1.02 0 1.41L8.2 16.3c-.39.39-1.02.39-1.41 0a.996.996 0 0 1 0-1.41L8.67 13l-1.88-1.88a.996.996 0 0 1 0-1.41"}),"TerminalRounded"),a_=(0,V.A)((0,d.jsx)("path",{d:"m10.92 12.75 1.08-.82 1.07.81c.39.29.92-.08.78-.55l-.42-1.36 1.2-.95c.37-.28.16-.88-.32-.88h-1.4l-.43-1.34c-.15-.46-.8-.46-.95 0L11.09 9H9.68c-.47 0-.68.6-.31.89l1.19.95-.42 1.36c-.14.47.39.84.78.55M6 21.61c0 .68.67 1.16 1.32.95L12 21l4.68 1.56c.65.22 1.32-.26 1.32-.95v-6.33c1.24-1.41 2-3.25 2-5.28 0-4.42-3.58-8-8-8s-8 3.58-8 8c0 2.03.76 3.87 2 5.28zM12 4c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6 2.69-6 6-6"}),"WorkspacePremiumRounded");var a0=c(76458),a1=c(85552),a2=c(61995);let a3={"openrouter-free":[{name:"openrouter/free",displayName:"OpenRouter Free",description:"Automatically routes each request to an available free OpenRouter model.",provider:"openrouter",adapter:"openai",baseUrl:"https://openrouter.ai/api/v1",supportsTools:!0}],"requesty-free":[{name:"openrouter/free",displayName:"Requesty Free Router",description:"Routes to OpenRouter’s free-model router through your Requesty account.",provider:"requesty",adapter:"openai",baseUrl:"https://router.requesty.ai/v1",supportsTools:!0}],"openrouter-paid":[{name:"openrouter/auto",displayName:"OpenRouter Auto",description:"A balanced automatic router for everyday work.",provider:"openrouter",adapter:"openai",baseUrl:"https://openrouter.ai/api/v1",supportsTools:!0},{name:"deepseek/deepseek-v3.2",displayName:"DeepSeek V3.2",description:"A cost-conscious model for fast general-purpose work.",provider:"openrouter",adapter:"openai",baseUrl:"https://openrouter.ai/api/v1",supportsTools:!0},{name:"openai/gpt-5.6-sol",displayName:"GPT-5.6 Sol via OpenRouter",description:"A high-capability model for demanding agentic work.",provider:"openrouter",adapter:"openai",baseUrl:"https://openrouter.ai/api/v1",reasoningEffort:"medium",supportsTools:!0}],"requesty-paid":[{name:"deepseek/deepseek-v3.2",displayName:"DeepSeek V3.2 via Requesty",description:"A cost-conscious default routed through Requesty.",provider:"requesty",adapter:"openai",baseUrl:"https://router.requesty.ai/v1",supportsTools:!0},{name:"anthropic/claude-sonnet-4-6",displayName:"Claude Sonnet via Requesty",description:"A balanced model for planning, writing, and tool use.",provider:"requesty",adapter:"openai",baseUrl:"https://router.requesty.ai/v1",supportsTools:!0},{name:"openai/gpt-5.6-sol",displayName:"GPT-5.6 Sol via Requesty",description:"A high-capability model for demanding agentic work.",provider:"requesty",adapter:"openai",baseUrl:"https://router.requesty.ai/v1",reasoningEffort:"medium",supportsTools:!0}],"claude-subscription":[{name:"haiku",displayName:"Claude Haiku",description:"Fast and light for small tasks through your Claude subscription.",provider:"claude-subscription",adapter:"claude-cli",supportsTools:!0},{name:"sonnet",displayName:"Claude Sonnet",description:"The balanced everyday choice through your Claude subscription.",provider:"claude-subscription",adapter:"claude-cli",reasoningEffort:"medium",supportsTools:!0},{name:"opus",displayName:"Claude Opus",description:"The strongest Claude option for complex work.",provider:"claude-subscription",adapter:"claude-cli",reasoningEffort:"high",supportsTools:!0},{name:"fable",displayName:"Claude Fable",description:"An additional Claude subscription model for flexible routing.",provider:"claude-subscription",adapter:"claude-cli",reasoningEffort:"medium",supportsTools:!0}],"codex-subscription":[{name:"gpt-5.6-terra",displayName:"Codex Terra",description:"A balanced Codex model for everyday agent work.",provider:"codex",adapter:"codex-cli",reasoningEffort:"medium",supportsTools:!0},{name:"gpt-5.6-sol",displayName:"Codex Sol",description:"The high-capability Codex model for difficult work.",provider:"codex",adapter:"codex-cli",reasoningEffort:"high",supportsTools:!0},{name:"gpt-5.4-mini",displayName:"Codex Mini",description:"A quick, efficient Codex option for smaller tasks.",provider:"codex",adapter:"codex-cli",reasoningEffort:"medium",supportsTools:!0}],"gemini-native":[{name:"gemini-2.5-flash-lite",displayName:"Gemini Flash Lite",description:"A quick and economical native Gemini model.",provider:"gemini",adapter:"gemini",supportsTools:!0},{name:"gemini-2.5-flash",displayName:"Gemini Flash",description:"A balanced native Gemini model for everyday work.",provider:"gemini",adapter:"gemini",supportsTools:!0},{name:"gemini-2.5-pro",displayName:"Gemini Pro",description:"A stronger native Gemini model for complex work.",provider:"gemini",adapter:"gemini",supportsTools:!0}]};function a4(a){let b=a.apiKey?.trim()??"";return("ollama"===a.kind?[{name:a.ollamaModel?.trim()||"llama3.2:3b",displayName:`Local ${a.ollamaModel?.trim()||"Llama 3.2"}`,description:"Runs privately on this machine through Ollama.",provider:"ollama",adapter:"openai",baseUrl:`${(a.ollamaUrl||"http://localhost:11434").replace(/\/+$/,"")}/v1`,supportsTools:!0}]:a3[a.kind]).map(c=>({id:(0,M.A)(),name:c.name,displayName:c.displayName,description:c.description,ApiKey:"ollama"===a.kind?"ollama":b,baseUrl:c.baseUrl||"",provider:c.provider,adapter:c.adapter,promptTemplate:"",temperature:"openai"===c.adapter||"gemini"===c.adapter?"0.0":void 0,reasoningEffort:c.reasoningEffort,supportsTools:c.supportsTools}))}let a5=(0,aJ.i7)`
52
+ `:null,y=(a,b)=>a.vars?a.vars.palette.LinearProgress[`${b}Bg`]:"light"===a.palette.mode?(0,g.a)(a.palette[b].main,.62):(0,g.e$)(a.palette[b].main,.5),z=(0,j.Ay)("span",{name:"MuiLinearProgress",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.root,b[`color${(0,n.A)(c.color)}`],b[c.variant]]}})((0,k.A)(({theme:a})=>({position:"relative",overflow:"hidden",display:"block",height:4,zIndex:0,"@media print":{colorAdjust:"exact"},variants:[...Object.entries(a.palette).filter((0,l.A)()).map(([b])=>({props:{color:b},style:{backgroundColor:y(a,b)}})),{props:({ownerState:a})=>"inherit"===a.color&&"buffer"!==a.variant,style:{"&::before":{content:'""',position:"absolute",left:0,top:0,right:0,bottom:0,backgroundColor:"currentColor",opacity:.3}}},{props:{variant:"buffer"},style:{backgroundColor:"transparent"}},{props:{variant:"query"},style:{transform:"rotate(180deg)"}}]}))),A=(0,j.Ay)("span",{name:"MuiLinearProgress",slot:"Dashed",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.dashed,b[`dashedColor${(0,n.A)(c.color)}`]]}})((0,k.A)(({theme:a})=>({position:"absolute",marginTop:0,height:"100%",width:"100%",backgroundSize:"10px 10px",backgroundPosition:"0 -23px",variants:[{props:{color:"inherit"},style:{opacity:.3,backgroundImage:"radial-gradient(currentColor 0%, currentColor 16%, transparent 42%)"}},...Object.entries(a.palette).filter((0,l.A)()).map(([b])=>{let c=y(a,b);return{props:{color:b},style:{backgroundImage:`radial-gradient(${c} 0%, ${c} 16%, transparent 42%)`}}})]})),x||{animation:`${w} 3s infinite linear`}),B=(0,j.Ay)("span",{name:"MuiLinearProgress",slot:"Bar1",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.bar,b.bar1,b[`barColor${(0,n.A)(c.color)}`],("indeterminate"===c.variant||"query"===c.variant)&&b.bar1Indeterminate,"determinate"===c.variant&&b.bar1Determinate,"buffer"===c.variant&&b.bar1Buffer]}})((0,k.A)(({theme:a})=>({width:"100%",position:"absolute",left:0,bottom:0,top:0,transition:"transform 0.2s linear",transformOrigin:"left",variants:[{props:{color:"inherit"},style:{backgroundColor:"currentColor"}},...Object.entries(a.palette).filter((0,l.A)()).map(([b])=>({props:{color:b},style:{backgroundColor:(a.vars||a).palette[b].main}})),{props:{variant:"determinate"},style:{transition:"transform .4s linear"}},{props:{variant:"buffer"},style:{zIndex:1,transition:"transform .4s linear"}},{props:({ownerState:a})=>"indeterminate"===a.variant||"query"===a.variant,style:{width:"auto"}},{props:({ownerState:a})=>"indeterminate"===a.variant||"query"===a.variant,style:t||{animation:`${s} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite`}}]}))),C=(0,j.Ay)("span",{name:"MuiLinearProgress",slot:"Bar2",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.bar,b.bar2,b[`barColor${(0,n.A)(c.color)}`],("indeterminate"===c.variant||"query"===c.variant)&&b.bar2Indeterminate,"buffer"===c.variant&&b.bar2Buffer]}})((0,k.A)(({theme:a})=>({width:"100%",position:"absolute",left:0,bottom:0,top:0,transition:"transform 0.2s linear",transformOrigin:"left",variants:[...Object.entries(a.palette).filter((0,l.A)()).map(([b])=>({props:{color:b},style:{"--LinearProgressBar2-barColor":(a.vars||a).palette[b].main}})),{props:({ownerState:a})=>"buffer"!==a.variant&&"inherit"!==a.color,style:{backgroundColor:"var(--LinearProgressBar2-barColor, currentColor)"}},{props:({ownerState:a})=>"buffer"!==a.variant&&"inherit"===a.color,style:{backgroundColor:"currentColor"}},{props:{color:"inherit"},style:{opacity:.3}},...Object.entries(a.palette).filter((0,l.A)()).map(([b])=>({props:{color:b,variant:"buffer"},style:{backgroundColor:y(a,b),transition:"transform .4s linear"}})),{props:({ownerState:a})=>"indeterminate"===a.variant||"query"===a.variant,style:{width:"auto"}},{props:({ownerState:a})=>"indeterminate"===a.variant||"query"===a.variant,style:v||{animation:`${u} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite`}}]}))),D=d.forwardRef(function(a,b){let c=(0,m.b)({props:a,name:"MuiLinearProgress"}),{className:d,color:g="primary",value:i,valueBuffer:j,variant:k="indeterminate",...l}=c,o={...c,color:g,variant:k},p=(a=>{let{classes:b,variant:c,color:d}=a,e={root:["root",`color${(0,n.A)(d)}`,c],dashed:["dashed",`dashedColor${(0,n.A)(d)}`],bar1:["bar","bar1",`barColor${(0,n.A)(d)}`,("indeterminate"===c||"query"===c)&&"bar1Indeterminate","determinate"===c&&"bar1Determinate","buffer"===c&&"bar1Buffer"],bar2:["bar","bar2","buffer"!==c&&`barColor${(0,n.A)(d)}`,"buffer"===c&&`color${(0,n.A)(d)}`,("indeterminate"===c||"query"===c)&&"bar2Indeterminate","buffer"===c&&"bar2Buffer"]};return(0,f.A)(e,q,b)})(o),s=(0,h.I)(),t={},u={},v={};if(("determinate"===k||"buffer"===k)&&void 0!==i){t["aria-valuenow"]=Math.round(i),t["aria-valuemin"]=0,t["aria-valuemax"]=100;let a=i-100;s&&(a=-a),u.transform=`translateX(${a}%)`}if("buffer"===k&&void 0!==j){let a=(j||0)-100;s&&(a=-a),v.transform=`translateX(${a}%)`}return(0,r.jsxs)(z,{className:(0,e.A)(p.root,d),ownerState:o,role:"progressbar",...t,ref:b,...l,children:["buffer"===k?(0,r.jsx)(A,{className:p.dashed,ownerState:o}):null,(0,r.jsx)(B,{className:p.bar1,ownerState:o,style:u}),"determinate"===k?null:(0,r.jsx)(C,{className:p.bar2,ownerState:o,style:v})]})})},31846:(a,b,c)=>{"use strict";c.d(b,{Pz:()=>e,g_:()=>f});let d=new Set(["__proto__","prototype","constructor"]);function e(a,b,c){let e=b?(b.startsWith("/")?b.slice(1).split("/").map(a=>a.replace(/~1/g,"/").replace(/~0/g,"~")):b.split(".")).filter(Boolean):[];if(0===e.length||e.length>20||e.some(a=>d.has(a)))throw Error("The requested field path is not editable.");let f=Array.isArray(a)?[...a]:{...a},g=f,h=a;for(let a=0;a<e.length-1;a+=1){let b=e[a],c=h?.[b];if(null===c||"object"!=typeof c)throw Error(`The field path does not exist at "${b}".`);let d=Array.isArray(c)?[...c]:{...c};g[b]=d,g=d,h=c}let i=e[e.length-1];if(!h||!(i in Object(h)))throw Error(`The field "${i}" does not exist.`);return g[i]=c,f}function f(a,b=9e3){return a instanceof HTMLElement&&(document.querySelectorAll(".ask-flujo-highlight").forEach(a=>a.classList.remove("ask-flujo-highlight")),a.classList.add("ask-flujo-highlight"),a.scrollIntoView({behavior:"smooth",block:"center",inline:"center"}),window.setTimeout(()=>a.classList.remove("ask-flujo-highlight"),b),!0)}},32414:(a,b,c)=>{Promise.resolve().then(c.bind(c,58820)),Promise.resolve().then(c.bind(c,26086)),Promise.resolve().then(c.t.bind(c,9732,23)),Promise.resolve().then(c.t.bind(c,35825,23)),Promise.resolve().then(c.bind(c,65494)),Promise.resolve().then(c.bind(c,75525)),Promise.resolve().then(c.bind(c,52115)),Promise.resolve().then(c.bind(c,12024))},32566:(a,b,c)=>{Promise.resolve().then(c.bind(c,5538))},33873:a=>{"use strict";a.exports=require("path")},35825:(a,b,c)=>{let{createProxy:d}=c(78830);a.exports=d("C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\shared\\lib\\lazy-dynamic\\preload-chunks.js")},38179:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return e}});let d=c(62605)._(c(26659));function e(a,b){let c={};"function"==typeof a&&(c.loader=a);let e={...c,...b};return(0,d.default)({...e,modules:e.loadableGenerated?.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)},40596:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(32586),e=c(48249);let f=(0,d.A)((0,e.jsx)("path",{d:"M18 19H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h5c.55 0 1-.45 1-1s-.45-1-1-1H5c-1.11 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-6c0-.55-.45-1-1-1s-1 .45-1 1v5c0 .55-.45 1-1 1M14 4c0 .55.45 1 1 1h2.59l-9.13 9.13c-.39.39-.39 1.02 0 1.41s1.02.39 1.41 0L19 6.41V9c0 .55.45 1 1 1s1-.45 1-1V4c0-.55-.45-1-1-1h-5c-.55 0-1 .45-1 1"}),"OpenInNewRounded")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},43954:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/interception-routes")},44440:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(32586),e=c(48249);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")},47484:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>g});var d=c(5735),e=c(26086),f=c(11048);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})})}},49509:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(32586),e=c(48249);let f=(0,d.A)((0,e.jsx)("path",{d:"M15 20H5V7c0-.55-.45-1-1-1s-1 .45-1 1v13c0 1.1.9 2 2 2h10c.55 0 1-.45 1-1s-.45-1-1-1m5-4V4c0-1.1-.9-2-2-2H9c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h9c1.1 0 2-.9 2-2m-2 0H9V4h9z"}),"ContentCopyRounded")},52115:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\Moe\\\\Documents\\\\GitHub\\\\FLUJO\\\\src\\\\frontend\\\\components\\\\shared\\\\ScrollArea.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\\Moe\\Documents\\GitHub\\FLUJO\\src\\frontend\\components\\shared\\ScrollArea.tsx","default")},58820:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\Moe\\\\Documents\\\\GitHub\\\\FLUJO\\\\node_modules\\\\@mui\\\\icons-material\\\\esm\\\\MemoryRounded.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\\Moe\\Documents\\GitHub\\FLUJO\\node_modules\\@mui\\icons-material\\esm\\MemoryRounded.js","default")},59262:(a,b,c)=>{"use strict";c.d(b,{RJ:()=>e,gF:()=>d});let d="masked:********",e="********"},61749:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(32586),e=c(48249);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 2M9.29 16.29 5.7 12.7a.996.996 0 0 1 0-1.41c.39-.39 1.02-.39 1.41 0L10 14.17l6.88-6.88c.39-.39 1.02-.39 1.41 0s.39 1.02 0 1.41l-7.59 7.59c-.38.39-1.02.39-1.41 0"}),"CheckCircleRounded")},62605:(a,b,c)=>{"use strict";function d(a){return a&&a.__esModule?a:{default:a}}c.r(b),c.d(b,{_:()=>d})},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},63860:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>o,dynamic:()=>n});var d=c(5735),e=c(91986),f=c(38179),g=c.n(f),h=c(26086),i=c(58820),j=c(12024),k=c(52115),l=c(75525);let m=g()(()=>Promise.resolve().then(c.bind(c,65494)),{loadableGenerated:{modules:["app\\models\\page.tsx -> ./ModelClient"]},loading:()=>(0,d.jsx)(j.default,{})}),n="force-dynamic",o=function(){return(0,d.jsxs)(h.default,{"data-tour":"models-overview",sx:{height:"100%",display:"flex",flexDirection:"column"},children:[(0,d.jsx)(l.default,{eyebrowKey:"models.header.eyebrow",titleKey:"models.header.title",descriptionKey:"models.header.description",icon:i.default,maxWidth:"none"}),(0,d.jsx)(k.default,{storageKey:"flujo-ui:scroll:models",sx:{p:{xs:2,md:3,lg:4},flex:1,width:"100%"},children:(0,d.jsx)(e.Suspense,{fallback:(0,d.jsx)(j.default,{}),children:(0,d.jsx)(m,{})})})]})}},65076:(a,b,c)=>{"use strict";c.d(b,{T_:()=>j,V0:()=>d,g3:()=>h,xx:()=>i});let d="2024-10-21",e=/(^|[/_-])(o[1-9]|gpt-5)(?:[./_-]|$)/i,f=/claude-(?:fable|mythos)-5|claude-opus-4-(?:[7-9]|\d{2,})|claude-sonnet-5/i,g=/^(?:opus|sonnet|fable)$|claude-(?:fable|mythos)-5|claude-opus-4-(?:[6-9]|\d{2,})|claude-sonnet-4-6/i;function h(a,b,c=""){let d=b||"openai",i=c.trim();if("codex-cli"===d)return{effortLevels:/^gpt-5\.6-(?:sol|terra)$/i.test(i)?["low","medium","high","xhigh","max","ultra"]:/^gpt-5\.6-/i.test(i)?["low","medium","high","xhigh","max"]:["low","medium","high","xhigh"],priority:!/(?:mini|spark|review)/i.test(i),maxOutputTokens:!1};if("claude-cli"===d)return{...g.test(i)?{effortLevels:["low","medium","high","xhigh","max"]}:{},maxOutputTokens:!1};if("anthropic"===d)return{...!f.test(i)?{creativity:{min:0,max:1,step:.1}}:{},...g.test(i)?{effortLevels:["low","medium","high","xhigh","max"]}:{},maxOutputTokens:!0};if("gemini"===d)return{creativity:{min:0,max:2,step:.1},.../^gemini-2\.5/i.test(i)?{thinkingBudget:!0}:!/^gemini-2\.0/i.test(i)?{thinkingLevels:["minimal","low","medium","high"]}:{},maxOutputTokens:!0};let j="openai"===(a||"openai")&&e.test(i);return{...!j?{creativity:{min:0,max:2,step:.1}}:{},...j?{effortLevels:["low","medium","high"]}:{},maxOutputTokens:!0}}let i=[{id:"openai",label:"OpenAI",provider:"openai",adapter:"openai",sdkLabel:"OpenAI SDK",baseUrl:"https://api.openai.com/v1",showBaseUrl:!0},{id:"openai-responses",label:"OpenAI (Responses API)",provider:"openai",adapter:"openai-responses",sdkLabel:"OpenAI SDK (Responses)",baseUrl:"https://api.openai.com/v1",showBaseUrl:!0,defaultModels:["gpt-5","gpt-5-mini","o4-mini","o3"]},{id:"azure",label:"Azure OpenAI",provider:"azure",adapter:"azure",sdkLabel:"AzureOpenAI SDK",baseUrl:"",showBaseUrl:!0,supportsModelDiscovery:!1,defaultApiVersion:d},{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"]},{id:"codex",label:"Codex (OpenAI)",provider:"codex",adapter:"codex-cli",sdkLabel:"Codex SDK",baseUrl:"",showBaseUrl:!1,defaultModels:["gpt-5.6-sol","gpt-5.6-terra","gpt-5.6-luna","gpt-5.5","gpt-5.4","gpt-5.4-mini"]}];function j(a,b){let c=a||"openai",d=b||"openai";return i.find(a=>a.provider===c&&a.adapter===d)||i.find(a=>a.provider===c)||i[0]}},65494:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\Moe\\\\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\\Moe\\Documents\\GitHub\\FLUJO\\src\\app\\models\\ModelClient.tsx","default")},70722:a=>{"use strict";a.exports=require("next/dist/shared/lib/invariant-error")},74012:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(32586),e=c(48249);let f=(0,d.A)((0,e.jsx)("path",{d:"M20 18c1.1 0 1.99-.9 1.99-2L22 6c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2H1c-.55 0-1 .45-1 1s.45 1 1 1h22c.55 0 1-.45 1-1s-.45-1-1-1zM5 6h14c.55 0 1 .45 1 1v8c0 .55-.45 1-1 1H5c-.55 0-1-.45-1-1V7c0-.55.45-1 1-1"}),"ComputerRounded")},75525:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\Moe\\\\Documents\\\\GitHub\\\\FLUJO\\\\src\\\\frontend\\\\components\\\\shared\\\\PageHeader.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\\Moe\\Documents\\GitHub\\FLUJO\\src\\frontend\\components\\shared\\PageHeader.tsx","default")},77068:a=>{"use strict";a.exports=require("next/dist/shared/lib/size-limit")},78167:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(32586),e=c(48249);let f=(0,d.A)((0,e.jsx)("path",{d:"M19 11H7.83l4.88-4.88c.39-.39.39-1.03 0-1.42a.996.996 0 0 0-1.41 0l-6.59 6.59c-.39.39-.39 1.02 0 1.41l6.59 6.59c.39.39 1.02.39 1.41 0s.39-1.02 0-1.41L7.83 13H19c.55 0 1-.45 1-1s-.45-1-1-1"}),"ArrowBackRounded")},81616:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(32586),e=c(48249);let f=(0,d.A)((0,e.jsx)("path",{d:"M17.65 6.35c-1.63-1.63-3.94-2.57-6.48-2.31-3.67.37-6.69 3.35-7.1 7.02C3.52 15.91 7.27 20 12 20c3.19 0 5.93-1.87 7.21-4.56.32-.67-.16-1.44-.9-1.44-.37 0-.72.2-.88.53-1.13 2.43-3.84 3.97-6.8 3.31-2.22-.49-4.01-2.3-4.48-4.52C5.31 9.44 8.26 6 12 6c1.66 0 3.14.69 4.22 1.78l-1.51 1.51c-.63.63-.19 1.71.7 1.71H19c.55 0 1-.45 1-1V6.41c0-.89-1.08-1.34-1.71-.71z"}),"RefreshRounded")},82235:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>O,handler:()=>Q,routeModule:()=>P});var d=c(7553),e=c(84006),f=c(67798),g=c(34775),h=c(99373),i=c(73461),j=c(1020),k=c(26349),l=c(54365),m=c(16023),n=c(14965),o=c(63747),p=c(24235),q=c(23938),r=c(261),s=c(66758),t=c(77243),u=c(26713),v=c(37527),w=c(22820),x=c(88216),y=c(47929),z=c(79551),A=c(71797),B=c(89125),C=c(86439),D=c(77068),E=c(27269),F=c(37525),G=c(61287),H=c(81494),I=c(70722),J=c(70753),K=c(43954),L=c(17891),M={};for(let a in G)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(M[a]=()=>G[a]);c.d(b,M);let N={children:["",{children:["models",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,63860)),"C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\src\\app\\models\\page.tsx"]}]},{error:[()=>Promise.resolve().then(c.bind(c,5538)),"C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\src\\app\\models\\error.tsx"],loading:[()=>Promise.resolve().then(c.bind(c,47484)),"C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\src\\app\\models\\loading.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,95547,23)),"next/dist/client/components/builtin/global-error.js"]},[]]},{layout:[()=>Promise.resolve().then(c.bind(c,76537)),"C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\src\\app\\layout.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,95547,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,55091,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,45270,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,28193,23)),"next/dist/client/components/builtin/unauthorized.js"]},[]]}.children,O={require:c,loadChunk:()=>Promise.resolve()},P=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/models/page",pathname:"/models",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:N},distDir:".next",relativeProjectDir:""});async function Q(a,b,d){var M,R,S,T,U;d.requestMeta&&(0,h.setRequestMeta)(a,d.requestMeta),P.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let V=!!(0,h.getRequestMeta)(a,"minimalMode"),W="/models/page";"/index"===W&&(W="/");let X=await P.prepare(a,b,{srcPage:W,multiZoneDraftMode:!1});if(!X)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Y,query:Z,params:$,pageIsDynamic:_,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,serverActionsManifest:ad,clientReferenceManifest:ae,subresourceIntegrityManifest:af,prerenderManifest:ag,isDraftMode:ah,resolvedPathname:ai,revalidateOnlyGenerated:aj,routerServerContext:ak,nextConfig:al,parsedUrl:am,interceptionRoutePatterns:an,deploymentId:ao,clientAssetToken:ap}=X,aq=(0,r.normalizeAppPath)(W),{isOnDemandRevalidate:ar}=X,as=al.experimental.ppr&&!al.cacheComponents&&(0,K.isInterceptionRouteAppPath)(ai)?null:P.match(ai,ag),at=(null==as?void 0:as.route)??null,au=!!ag.routes[ai],av=a.headers["user-agent"]||"",aw=(0,u.getBotType)(av),ax=(0,q.isHtmlBotRequest)(a),ay=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[t.NEXT_ROUTER_PREFETCH_HEADER],az=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[t.RSC_HEADER]),aA=(0,s.getIsPossibleServerAction)(a),aB=(0,m.checkIsAppPPREnabled)(al.experimental.ppr),aC=a.headers[y.NEXT_RESUME_STATE_LENGTH_HEADER];if(!(0,h.getRequestMeta)(a,"postponed")&&V&&aB&&aA&&aC&&"string"==typeof aC){let e=parseInt(aC,10),{maxPostponedStateSize:f,maxPostponedStateSizeBytes:g}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize);if(!isNaN(e)&&e>0){if(e>g)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(f)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let i="1 MB",j=(null==(U=al.experimental.serverActions)?void 0:U.bodySizeLimit)??i,k=e+(j!==i?c(95726).parse(j):1048576),l=await (0,E.readBodyWithSizeLimit)(a,k);if(null===l)return b.statusCode=413,b.end("Request body exceeded limit. To configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;if(l.length>=e){let b=l.subarray(0,e).toString("utf8");(0,h.addRequestMeta)(a,"postponed",b);let c=l.subarray(e);(0,h.addRequestMeta)(a,"actionBody",c)}else throw Object.defineProperty(Error(`invariant: expected ${e} bytes of postponed state but only received ${l.length} bytes`),"__NEXT_ERROR_CODE",{value:"E979",enumerable:!1,configurable:!0})}}if(!(0,h.getRequestMeta)(a,"postponed")&&aB&&"1"===a.headers[y.NEXT_RESUME_HEADER]&&"POST"===a.method){let{maxPostponedStateSize:c,maxPostponedStateSizeBytes:e}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize),f=await (0,E.readBodyWithSizeLimit)(a,e);if(null===f)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(c)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let g=f.toString("utf8");(0,h.addRequestMeta)(a,"postponed",g)}let aD=!0===P.isDev||!0===al.experimental.exposeTestingApiInProductionBuild,aE=aD&&("1"===a.headers[t.NEXT_INSTANT_PREFETCH_HEADER]||!(0,n.f)(a.headers[t.RSC_HEADER])&&"string"==typeof a.headers.cookie&&a.headers.cookie.includes(t.NEXT_INSTANT_TEST_COOKIE+"=")),aF=(aB||aE)&&((null==(M=ag.routes[aq]??ag.dynamicRoutes[aq])?void 0:M.renderingMode)==="PARTIALLY_STATIC"||aE&&(aD||(null==ak?void 0:ak.experimentalTestProxy)===!0)),aG=aE&&aF,aH=aG&&!0===P.isDev,aI=!1,aJ=aF?(0,h.getRequestMeta)(a,"postponed"):void 0,aK=null==(R=ag.routes[ai])?void 0:R.prefetchDataRoute,aL=aF&&az&&!ay&&!aK;V&&(aL=aL&&!!aJ);let aM=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),aN=(!aw||!aF)&&(!av||(0,q.shouldServeStreamingMetadata)(av,al.htmlLimitedBots)),aO=!!((at||au||ag.routes[aq])&&!(aw&&aF)),aP=aF&&!0===al.cacheComponents,aQ=!0===P.isDev||!aO||"string"==typeof aJ||(aP&&(0,h.getRequestMeta)(a,"onCacheEntryV2")?aL&&!V:aL),aR=!!aw&&aF,aS=(null==at?void 0:at.remainingPrerenderableParams)??[],aT=(null==at?void 0:at.fallback)===null&&((null==(S=at.fallbackRootParams)?void 0:S.length)??0)>0,aU=null;if(!ah&&aO&&!aQ&&!aA&&!aJ&&!aL){let a=as?"string"==typeof(null==at?void 0:at.fallback)?at.fallback:as.source:null;if(!0===al.experimental.partialFallbacks&&a&&(null==at?void 0:at.fallbackRouteParams)&&!aT){if(aS.length>0){let b,c=(b=new Map(aS.map(a=>[a.paramName,a])),a.split("/").map(a=>{let c=(0,L.getSegmentParam)(a);if(!c)return a;let d=b.get(c.paramName);if(!d)return a;let e=null==$?void 0:$[d.paramName];if(!e)return a;let f=Array.isArray(e)?e.map(a=>encodeURIComponent(a)).join("/"):encodeURIComponent(e);return a.replace((0,o.buildDynamicSegmentPlaceholder)(d),f)}).join("/")||"/");aU=c!==a?c:null}}else aU=ai}let aV=aU;!aV&&(P.isDev||aO&&_&&(null==at?void 0:at.fallbackRouteParams)&&!aA)&&(aV=ai),P.isDev||ah||!aO||!az||aL||(0,k.d)(a.headers);let aW={...G,tree:N,handler:Q,routeModule:P,__next_app__:O};ad&&ae&&(0,p.setManifestsSingleton)({page:W,clientReferenceManifest:ae,serverActionsManifest:ad});let aX=a.method||"GET",aY=(0,g.getTracer)(),aZ=aY.getActiveScopeSpan(),a$=!!(null==ak?void 0:ak.isWrappedByNextServer),a_=!0===al.experimental.partialFallbacks&&aS.length>0?(null==at||null==(T=at.fallbackRouteParams)?void 0:T.filter(a=>!aS.some(b=>b.paramName===a.paramName)))??[]:[],a0=async()=>((null==ak?void 0:ak.render404)?await ak.render404(a,b,am,!1):b.end("This page could not be found"),null);try{let k,m=P.getVaryHeader(ai,an);b.setHeader("Vary",m);let n=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return P.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let a=aY.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let d=a.get("next.route");if(d){let a=`${aX} ${d}`;c.setAttributes({"next.route":d,"http.route":d,"next.span_name":a}),c.updateName(a),k&&k!==c&&(k.setAttribute("http.route",d),k.updateName(a))}else c.updateName(`${aX} ${W}`)})},p=(0,h.getRequestMeta)(a,"incrementalCache")||await P.getIncrementalCache(a,al,ag,V);null==p||p.resetRequestCache(),globalThis.__incrementalCache=p;let q=async({span:e,postponed:f,fallbackRouteParams:g,forceStaticRender:i})=>{let k={query:Z,params:$,page:aq,sharedContext:{buildId:Y,deploymentId:ao,clientAssetToken:ap},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aW,Component:(0,j.T)(aW),params:$,routeModule:P,page:W,postponed:f,shouldWaitOnAllReady:aR,serveStreamingMetadata:aN,supportsDynamicResponse:"string"==typeof f||aQ,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,subresourceIntegrityManifest:af,setCacheStatus:null==ak?void 0:ak.setCacheStatus,setIsrStatus:null==ak?void 0:ak.setIsrStatus,setReactDebugChannel:null==ak?void 0:ak.setReactDebugChannel,sendErrorsToBrowser:null==ak?void 0:ak.sendErrorsToBrowser,dir:c(33873).join(process.cwd(),P.relativeProjectDir),isDraftMode:ah,botType:aw,isOnDemandRevalidate:ar,isPossibleServerAction:aA,assetPrefix:al.assetPrefix,nextConfigOutput:al.output,crossOrigin:al.crossOrigin,trailingSlash:al.trailingSlash,images:al.images,previewProps:ag.preview,enableTainting:al.experimental.taint,htmlLimitedBots:al.htmlLimitedBots,reactMaxHeadersLength:al.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:p,cacheLifeProfiles:al.cacheLife,basePath:al.basePath,serverActions:al.experimental.serverActions,logServerFunctions:"object"==typeof al.logging&&!!al.logging.serverFunctions,...aG||aH||aI?{isBuildTimePrerendering:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isDebugDynamicAccesses:aH}:{},cacheComponents:!!al.cacheComponents,experimental:{isRoutePPREnabled:aF,expireTime:al.expireTime,staleTimes:al.experimental.staleTimes,dynamicOnHover:!!al.experimental.dynamicOnHover,optimisticRouting:!!al.experimental.optimisticRouting,inlineCss:!!al.experimental.inlineCss,prefetchInlining:al.experimental.prefetchInlining??!1,authInterrupts:!!al.experimental.authInterrupts,cachedNavigations:!!al.experimental.cachedNavigations,clientTraceMetadata:al.experimental.clientTraceMetadata||[],clientParamParsingOrigins:al.experimental.clientParamParsingOrigins,maxPostponedStateSizeBytes:(0,D.parseMaxPostponedStateSize)(al.experimental.maxPostponedStateSize)},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d,e)=>P.onRequestError(a,b,d,e,ak),err:(0,h.getRequestMeta)(a,"invokeError")}};i&&(k.renderOpts.supportsDynamicResponse=!1);let l=await n(e,k),{metadata:m}=l,{cacheControl:o,headers:q={},fetchTags:r,fetchMetrics:s}=m;if(r&&(q[y.NEXT_CACHE_TAGS_HEADER]=r),a.fetchMetrics=s,aO&&(null==o?void 0:o.revalidate)===0&&!P.isDev&&!aF){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ai}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
53
+ 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:v.CachedRouteKind.APP_PAGE,html:l,headers:q,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:o}},r=async({hasResolved:c,previousCacheEntry:g,isRevalidating:i,span:j,forceStaticRender:k=!1})=>{let l=!1===P.isDev,m=c||b.writableEnded;try{var n;let f;if(ar&&aj&&!g&&!V)return(null==ak?void 0:ak.render404)?await ak.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(at&&(f=(0,w.parseFallbackField)(at.fallback)),!0===al.experimental.partialFallbacks&&(null==at?void 0:at.fallback)===null&&!aT&&aS.length>0&&(f=w.FallbackMode.PRERENDER),f===w.FallbackMode.PRERENDER&&(0,u.isBot)(av)&&(!aF||ax)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),(null==g?void 0:g.isStale)===-1&&(ar=!0),ar&&(f!==w.FallbackMode.NOT_FOUND||g)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),!V&&f!==w.FallbackMode.BLOCKING_STATIC_RENDER&&aV&&!m&&!ah&&_&&(l||!au)){if((l||at)&&f===w.FallbackMode.NOT_FOUND){if(al.adapterPath)return await a0();throw new C.NoFallbackError}if(aF&&(al.cacheComponents?!aL:!az)){let b=l&&"string"==typeof(null==at?void 0:at.fallback)?at.fallback:aq,f=(l||aG)&&(null==at?void 0:at.fallbackRouteParams)?(0,o.createOpaqueFallbackRouteParams)(at.fallbackRouteParams):aI?(0,o.getFallbackRouteParams)(aq,P):null;aG&&f&&(0,h.addRequestMeta)(a,"fallbackParams",f);let g=await P.handleResponse({cacheKey:b,req:a,nextConfig:al,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:ag,isRoutePPREnabled:aF,responseGenerator:async()=>q({span:j,postponed:void 0,fallbackRouteParams:f,forceStaticRender:!0}),waitUntil:d.waitUntil,isMinimalMode:V});if(null===g)return null;if(g)return V||!aF||!(aS.length>0)||!0!==al.experimental.partialFallbacks||!aU||!p||ar||aI||aD||aE||ay||(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(aU,p,aF,!1,a=>q({span:a.span,postponed:void 0,fallbackRouteParams:a_.length>0?(0,o.createOpaqueFallbackRouteParams)(a_):null,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}),delete g.cacheControl,g}}let s=ar||i||!aJ?void 0:aJ;if(aP&&!V&&p&&(aL||aA)&&!k){let b=await p.get(ai,{kind:v.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});b&&b.value&&b.value.kind===v.CachedRouteKind.APP_PAGE&&(s=b.value.postponed,b&&(-1===b.isStale||!0===b.isStale)&&(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(ai,p,aF,!1,a=>r({...a,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if((aG||aH)&&void 0!==s)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:v.CachedRouteKind.PAGES,html:x.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let t=!P.isDev&&_&&(null==at?void 0:at.fallbackRouteParams)?(0,o.getPlaceholderFallbackRouteParams)($,at.fallbackRouteParams):null,y=t&&t.length>0?t:null==at?void 0:at.fallbackRouteParams,z=null!=t&&t.length>0,A=null;if(al.cacheComponents&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,h.getRequestMeta)(a,"resolvedRouteParamKeys");b&&b.size>0&&(A=at.fallbackRouteParams.filter(a=>!b.has(a.paramName)))}let B=(l&&(0,h.getRequestMeta)(a,"renderFallbackShell")||z||aG&&!au)&&y?(0,o.createOpaqueFallbackRouteParams)(y):A&&A.length>0&&A.length<((null==at||null==(n=at.fallbackRouteParams)?void 0:n.length)??0)?(0,o.createOpaqueFallbackRouteParams)(A):aI?(0,o.getFallbackRouteParams)(aq,P):null;if((l||aG)&&al.cacheComponents&&!au&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,o.createOpaqueFallbackRouteParams)(y??at.fallbackRouteParams);b&&(0,h.addRequestMeta)(a,"fallbackParams",b)}return q({span:j,postponed:s,fallbackRouteParams:B,forceStaticRender:k})}catch(b){throw(null==g?void 0:g.isStale)&&await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}},s=async c=>{var f,g,i,j,k,l;let m,n=await P.handleResponse({cacheKey:aU,responseGenerator:a=>r({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ar,isRoutePPREnabled:aF,req:a,nextConfig:al,prerenderManifest:ag,waitUntil:d.waitUntil,isMinimalMode:V});if(ah&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),P.isDev&&b.setHeader("Cache-Control","no-cache, must-revalidate"),!n){if(aU)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=n.value)?void 0:f.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=n.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let o="string"==typeof n.value.postponed;az&&!aA&&ao&&b.setHeader(y.NEXT_NAV_DEPLOYMENT_ID_HEADER,ao),aO&&!aL&&(!o||ay)&&(V||b.setHeader("x-nextjs-cache",ar?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b.setHeader(t.NEXT_IS_PRERENDER_HEADER,"1"));let{value:p}=n;if(aJ)m={revalidate:0,expire:void 0};else if(aL)m={revalidate:0,expire:void 0};else if(!P.isDev)if(ah)m={revalidate:0,expire:void 0};else if(aO){if(n.cacheControl)if("number"==typeof n.cacheControl.revalidate){if(n.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${n.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});m={revalidate:n.cacheControl.revalidate,expire:(null==(j=n.cacheControl)?void 0:j.expire)??al.expireTime}}else m={revalidate:y.CACHE_ONE_YEAR_SECONDS,expire:void 0}}else b.getHeader("Cache-Control")||(m={revalidate:0,expire:void 0});if(n.cacheControl=m,"string"==typeof aM&&(null==p?void 0:p.kind)===v.CachedRouteKind.APP_PAGE&&p.segmentData){b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=p.headers)?void 0:k[y.NEXT_CACHE_TAGS_HEADER];V&&aO&&c&&"string"==typeof c&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,c);let d=p.segmentData.get(aM);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(d,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl}))}let s=aP?(0,h.getRequestMeta)(a,"onCacheEntryV2")??(0,h.getRequestMeta)(a,"onCacheEntry"):(0,h.getRequestMeta)(a,"onCacheEntry");if(s){let b=(0,h.getRequestMeta)(a,"initURL")??a.url,c=b?(null==(l=(0,F.parseUrl)(b))?void 0:l.pathname)??b:void 0;if(await s(n,{url:c}))return null}if(p.headers){let a={...p.headers};for(let[c,d]of(V&&aO||delete a[y.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 u=null==(g=p.headers)?void 0:g[y.NEXT_CACHE_TAGS_HEADER];if(V&&aO&&u&&"string"==typeof u&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,u),!p.status||az&&aF||(b.statusCode=p.status),!V&&p.status&&H.RedirectStatusCode[p.status]&&az&&(b.statusCode=200),o&&!aL&&b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"1"),az&&!ah){if(void 0===p.rscData){if(p.html.contentType!==t.RSC_CONTENT_TYPE_HEADER)if(al.cacheComponents)return b.statusCode=404,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl});else throw Object.defineProperty(new I.InvariantError(`Expected RSC response, got ${p.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:p.html,cacheControl:n.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(p.rscData,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl})}let w=p.html;if(aE&&aG){let c=!0===P.isDev?crypto.randomUUID():null;return w.pipeThrough(await (0,A.createInstantTestScriptInsertionTransformStream)(c)),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})}if(!o||V||az)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:n.cacheControl});if(aG||aH)return w.push(new ReadableStream({start(a){a.enqueue(z.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}});let C=new TransformStream;return w.push(C.readable),q({span:c,postponed:p.postponed,fallbackRouteParams:null,forceStaticRender:!1}).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)!==v.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(C.writable)}).catch(a=>{C.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})};if(!a$||!aZ)return k=aY.getActiveScopeSpan(),await aY.withPropagatedContext(a.headers,()=>aY.trace(i.BaseServerSpan.handleRequest,{spanName:`${aX} ${W}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aX,"http.target":a.url}},s),void 0,!a$);await s(aZ)}catch(b){throw b instanceof C.NoFallbackError||await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}}},86024:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>bh});var d=c(48249),e=c(67484),f=c(19099),g=c(54882),h=c(29184),i=c(20437),j=c(64287),k=c(99314),l=c(8918),m=c(85152),n=c(26204),o=c(40015),p=c(72139),q=c(85646),r=c(19765),s=c(25511),t=c(34804),u=c(65236);function v(a){return(0,u.Ay)("MuiButtonGroup",a)}let w=(0,t.A)("MuiButtonGroup",["root","contained","outlined","text","disableElevation","disabled","firstButton","fullWidth","horizontal","vertical","colorPrimary","colorSecondary","grouped","groupedHorizontal","groupedVertical","groupedText","groupedTextHorizontal","groupedTextVertical","groupedTextPrimary","groupedTextSecondary","groupedOutlined","groupedOutlinedHorizontal","groupedOutlinedVertical","groupedOutlinedPrimary","groupedOutlinedSecondary","groupedContained","groupedContainedHorizontal","groupedContainedVertical","groupedContainedPrimary","groupedContainedSecondary","lastButton","middleButton"]);var x=c(28997),y=c(68149);let z=(0,p.Ay)("div",{name:"MuiButtonGroup",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[{[`& .${w.grouped}`]:b.grouped},{[`& .${w.grouped}`]:b[`grouped${(0,o.A)(c.orientation)}`]},{[`& .${w.grouped}`]:b[`grouped${(0,o.A)(c.variant)}`]},{[`& .${w.grouped}`]:b[`grouped${(0,o.A)(c.variant)}${(0,o.A)(c.orientation)}`]},{[`& .${w.grouped}`]:b[`grouped${(0,o.A)(c.variant)}${(0,o.A)(c.color)}`]},{[`& .${w.firstButton}`]:b.firstButton},{[`& .${w.lastButton}`]:b.lastButton},{[`& .${w.middleButton}`]:b.middleButton},b.root,b[c.variant],!0===c.disableElevation&&b.disableElevation,c.fullWidth&&b.fullWidth,"vertical"===c.orientation&&b.vertical]}})((0,q.A)(({theme:a})=>({display:"inline-flex",borderRadius:(a.vars||a).shape.borderRadius,variants:[{props:{variant:"contained"},style:{boxShadow:(a.vars||a).shadows[2]}},{props:{disableElevation:!0},style:{boxShadow:"none"}},{props:{fullWidth:!0},style:{width:"100%"}},{props:{orientation:"vertical"},style:{flexDirection:"column",[`& .${w.lastButton},& .${w.middleButton}`]:{borderTopRightRadius:0,borderTopLeftRadius:0},[`& .${w.firstButton},& .${w.middleButton}`]:{borderBottomRightRadius:0,borderBottomLeftRadius:0}}},{props:{orientation:"horizontal"},style:{[`& .${w.firstButton},& .${w.middleButton}`]:{borderTopRightRadius:0,borderBottomRightRadius:0},[`& .${w.lastButton},& .${w.middleButton}`]:{borderTopLeftRadius:0,borderBottomLeftRadius:0}}},{props:{variant:"text",orientation:"horizontal"},style:{[`& .${w.firstButton},& .${w.middleButton}`]:{borderRight:a.vars?`1px solid rgba(${a.vars.palette.common.onBackgroundChannel} / 0.23)`:`1px solid ${"light"===a.palette.mode?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)"}`,[`&.${w.disabled}`]:{borderRight:`1px solid ${(a.vars||a).palette.action.disabled}`}}}},{props:{variant:"text",orientation:"vertical"},style:{[`& .${w.firstButton},& .${w.middleButton}`]:{borderBottom:a.vars?`1px solid rgba(${a.vars.palette.common.onBackgroundChannel} / 0.23)`:`1px solid ${"light"===a.palette.mode?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)"}`,[`&.${w.disabled}`]:{borderBottom:`1px solid ${(a.vars||a).palette.action.disabled}`}}}},...Object.entries(a.palette).filter((0,r.A)()).flatMap(([b])=>[{props:{variant:"text",color:b},style:{[`& .${w.firstButton},& .${w.middleButton}`]:{borderColor:a.vars?`rgba(${a.vars.palette[b].mainChannel} / 0.5)`:(0,m.X4)(a.palette[b].main,.5)}}}]),{props:{variant:"outlined",orientation:"horizontal"},style:{[`& .${w.firstButton},& .${w.middleButton}`]:{borderRightColor:"transparent","&:hover":{borderRightColor:"currentColor"}},[`& .${w.lastButton},& .${w.middleButton}`]:{marginLeft:-1}}},{props:{variant:"outlined",orientation:"vertical"},style:{[`& .${w.firstButton},& .${w.middleButton}`]:{borderBottomColor:"transparent","&:hover":{borderBottomColor:"currentColor"}},[`& .${w.lastButton},& .${w.middleButton}`]:{marginTop:-1}}},{props:{variant:"contained",orientation:"horizontal"},style:{[`& .${w.firstButton},& .${w.middleButton}`]:{borderRight:`1px solid ${(a.vars||a).palette.grey[400]}`,[`&.${w.disabled}`]:{borderRight:`1px solid ${(a.vars||a).palette.action.disabled}`}}}},{props:{variant:"contained",orientation:"vertical"},style:{[`& .${w.firstButton},& .${w.middleButton}`]:{borderBottom:`1px solid ${(a.vars||a).palette.grey[400]}`,[`&.${w.disabled}`]:{borderBottom:`1px solid ${(a.vars||a).palette.action.disabled}`}}}},...Object.entries(a.palette).filter((0,r.A)(["dark"])).map(([b])=>({props:{variant:"contained",color:b},style:{[`& .${w.firstButton},& .${w.middleButton}`]:{borderColor:(a.vars||a).palette[b].dark}}}))],[`& .${w.grouped}`]:{minWidth:40,boxShadow:"none",props:{variant:"contained"},style:{"&:hover":{boxShadow:"none"}}}}))),A=e.forwardRef(function(a,b){let c=(0,s.b)({props:a,name:"MuiButtonGroup"}),{children:f,className:g,color:h="primary",component:i="div",disabled:j=!1,disableElevation:m=!1,disableFocusRipple:p=!1,disableRipple:q=!1,fullWidth:r=!1,orientation:t="horizontal",size:u="medium",variant:w="outlined",...A}=c,B={...c,color:h,component:i,disabled:j,disableElevation:m,disableFocusRipple:p,disableRipple:q,fullWidth:r,orientation:t,size:u,variant:w},C=(a=>{let{classes:b,color:c,disabled:d,disableElevation:e,fullWidth:f,orientation:g,variant:h}=a,i={root:["root",h,g,f&&"fullWidth",e&&"disableElevation",`color${(0,o.A)(c)}`],grouped:["grouped",`grouped${(0,o.A)(g)}`,`grouped${(0,o.A)(h)}`,`grouped${(0,o.A)(h)}${(0,o.A)(g)}`,`grouped${(0,o.A)(h)}${(0,o.A)(c)}`,d&&"disabled"],firstButton:["firstButton"],lastButton:["lastButton"],middleButton:["middleButton"]};return(0,l.A)(i,v,b)})(B),D=e.useMemo(()=>({className:C.grouped,color:h,disabled:j,disableElevation:m,disableFocusRipple:p,disableRipple:q,fullWidth:r,size:u,variant:w}),[h,j,m,p,q,r,u,w,C.grouped]),E=(0,n.A)(f),F=E.length;return(0,d.jsx)(z,{as:i,role:"group",className:(0,k.A)(C.root,g),ref:b,ownerState:B,...A,children:(0,d.jsx)(x.A.Provider,{value:D,children:E.map((a,b)=>{let c,e;return(0,d.jsx)(y.A.Provider,{value:(c=0===b,e=b===F-1,c&&e?"":c?C.firstButton:e?C.lastButton:C.middleButton),children:a},b)})})})});var B=c(77217),C=c(39179),D=c(74453),E=c(30630),F=c(47786),G=c(76108),H=c(36485),I=c(11494),J=c(91195),K=c(98908),L=c(53089),M=c(74948),N=c(33480),O=c(52454),P=c(12558),Q=c(55784),R=c(53800),S=c(75296),T=c(70364),U=c(60685),V=c(32586);let W=(0,V.A)([(0,d.jsx)("path",{d:"m12 2-5.5 9h11z"},"0"),(0,d.jsx)("circle",{cx:"17.5",cy:"17.5",r:"4.5"},"1"),(0,d.jsx)("path",{d:"M3 13.5h8v8H3z"},"2")],"Category"),X=(0,V.A)((0,d.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 Y=c(37198),Z=c(18169),$=c(53526),_=c(34945),aa=c(39066),ab=c(80128),ac=c(53027),ad=c(30099),ae=c(6680),af=c(32166);let ag=(0,ae.h)("frontend/components/models/list/ModelList"),ah=({models:a,isLoading:b,onAdd:c,onUpdate:f,onDelete:i,folders:j=[],onSetFolder:k,onToggleFavorite:l})=>{let{t:m,tp:n}=(0,af.s9)(),o=(0,N.A)(),[p,q]=(0,ac.Io)("flujo-ui:models:sort","name-asc"),[r,s]=(0,ac.Io)("flujo-ui:models:group",ab.FM),[t,u]=(0,e.useState)(null),[v,w]=(0,e.useState)(null),[x,y]=(0,ac.Io)("flujo-ui:models:collapsed",[]),z=(0,e.useMemo)(()=>new Set(x),[x]),A=a=>{q(a),u(null)},B=a=>{s(a),w(null)},G=async a=>{let b=await f(a);b.success||ag.error("Failed to update model in ModelList",b.error)},H=(0,e.useMemo)(()=>(0,ad.CR)(a,p),[a,p]),I=(0,e.useMemo)(()=>"folder"===r?(0,ab.Je)(H,a=>a.folder,m("models.group.ungrouped")):"sort"===r?(0,ab.Az)(H,a=>{let b=(0,ad.eZ)(a,p),c={"ctx:unknown":"models.group.unknownContext","ctx:<=8k":"models.group.context8k","ctx:8k-32k":"models.group.context32k","ctx:32k-128k":"models.group.context128k","ctx:128k-1m":"models.group.context1m","ctx:>1m":"models.group.contextOver1m"};return c[b.key]?{...b,label:m(c[b.key])}:b}):[],[r,H,p,m]);if(b)return(0,d.jsx)(h.default,{display:"flex",justifyContent:"center",py:4,children:(0,d.jsx)(O.default,{})});let J=a=>(0,d.jsx)(P.Ay,{container:!0,spacing:2.5,children:a.map(a=>(0,d.jsx)(P.Ay,{item:!0,xs:12,sm:6,md:4,children:(0,d.jsx)(_.A,{model:a,onEdit:()=>G(a),onDelete:()=>i(a.id),folder:a.folder,folders:j,onSetFolder:k?b=>k(a.id,b):void 0,onToggleFavorite:l})},a.id))});return(0,d.jsxs)(h.default,{children:[(0,d.jsx)(g.A,{elevation:0,variant:"outlined",sx:{mb:2.5,p:1.1,borderRadius:3,bgcolor:"transparent"},children:(0,d.jsxs)(h.default,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:1},children:[(0,d.jsxs)(Q.A,{variant:"body2",color:"textSecondary",children:[n("models.connectionCount",a.length),(0,d.jsx)(h.default,{component:"span",sx:{mx:1,opacity:.5},children:"\xb7"}),m("models.sortedBy",{sort:m({"name-asc":"models.sort.nameAsc","name-desc":"models.sort.nameDesc",provider:"models.sort.provider","context-desc":"models.sort.contextLargest","context-asc":"models.sort.contextSmallest"}[p])})]}),(0,d.jsxs)(h.default,{sx:{display:"flex",gap:1,alignItems:"center"},children:[(0,d.jsx)(R.A,{size:"small",onClick:a=>w(a.currentTarget),color:"none"!==r?"primary":"default",sx:{border:`1px solid ${o.palette.divider}`,backgroundColor:o.palette.background.default},title:m("models.groupCards"),children:(0,d.jsx)(Y.A,{fontSize:"small"})}),(0,d.jsx)(R.A,{size:"small",onClick:a=>u(a.currentTarget),sx:{border:`1px solid ${o.palette.divider}`,backgroundColor:o.palette.background.default},title:m("models.sortModels"),children:(0,d.jsx)(T.A,{fontSize:"small"})})]})]})}),a&&0!==a.length?"none"===r?J(H):I.map(a=>(0,d.jsx)(aa.A,{groupKey:a.key,label:a.label,count:a.items.length,expanded:!z.has(a.key),onToggle:()=>{var b;return b=a.key,void y(a=>a.includes(b)?a.filter(a=>a!==b):[...a,b])},showFolderIcon:"folder"===r,children:J(a.items)},a.key)):(0,d.jsx)(g.A,{variant:"outlined",sx:{display:"grid",minHeight:240,p:4,placeItems:"center",textAlign:"center",borderStyle:"dashed",bgcolor:"transparent"},children:(0,d.jsxs)(h.default,{children:[(0,d.jsx)(X,{sx:{mb:1.5,fontSize:38,color:"primary.light"}}),(0,d.jsx)(Q.A,{variant:"h6",children:m("models.emptyTitle")}),(0,d.jsx)(Q.A,{variant:"body2",color:"text.secondary",sx:{mt:.7,mb:2},children:m("models.emptyDescription")}),(0,d.jsx)(h.default,{children:(0,d.jsx)(R.A,{color:"primary",onClick:c,title:m("models.connectAi"),children:(0,d.jsx)(X,{})})})]})}),(0,d.jsxs)(C.A,{anchorEl:v,open:!!v,onClose:()=>w(null),anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},children:[(0,d.jsxs)(D.A,{selected:"none"===r,onClick:()=>B("none"),children:[(0,d.jsx)(E.A,{children:(0,d.jsx)(Z.A,{fontSize:"small"})}),(0,d.jsx)(F.A,{primary:m("models.group.none")})]}),(0,d.jsxs)(D.A,{selected:"folder"===r,onClick:()=>B("folder"),children:[(0,d.jsx)(E.A,{children:(0,d.jsx)($.A,{fontSize:"small"})}),(0,d.jsx)(F.A,{primary:m("models.group.folder")})]}),(0,d.jsxs)(D.A,{selected:"sort"===r,onClick:()=>B("sort"),children:[(0,d.jsx)(E.A,{children:(0,d.jsx)(Y.A,{fontSize:"small"})}),(0,d.jsx)(F.A,{primary:m("models.group.sort")})]})]}),(0,d.jsxs)(C.A,{anchorEl:t,open:!!t,onClose:()=>u(null),anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},children:[(0,d.jsxs)(D.A,{selected:"name-asc"===p,onClick:()=>A("name-asc"),children:[(0,d.jsx)(E.A,{children:(0,d.jsx)(U.A,{fontSize:"small"})}),(0,d.jsx)(F.A,{primary:m("models.sort.nameAsc")})]}),(0,d.jsxs)(D.A,{selected:"name-desc"===p,onClick:()=>A("name-desc"),children:[(0,d.jsx)(E.A,{children:(0,d.jsx)(U.A,{fontSize:"small",sx:{transform:"scaleX(-1)"}})}),(0,d.jsx)(F.A,{primary:m("models.sort.nameDesc")})]}),(0,d.jsx)(S.A,{}),(0,d.jsxs)(D.A,{selected:"provider"===p,onClick:()=>A("provider"),children:[(0,d.jsx)(E.A,{children:(0,d.jsx)(W,{fontSize:"small"})}),(0,d.jsx)(F.A,{primary:m("models.sort.provider")})]}),(0,d.jsx)(S.A,{}),(0,d.jsxs)(D.A,{selected:"context-desc"===p,onClick:()=>A("context-desc"),children:[(0,d.jsx)(E.A,{children:(0,d.jsx)(X,{fontSize:"small"})}),(0,d.jsx)(F.A,{primary:m("models.sort.contextLargest")})]}),(0,d.jsxs)(D.A,{selected:"context-asc"===p,onClick:()=>A("context-asc"),children:[(0,d.jsx)(E.A,{children:(0,d.jsx)(X,{fontSize:"small",sx:{transform:"scaleY(-1)"}})}),(0,d.jsx)(F.A,{primary:m("models.sort.contextSmallest")})]})]})]})};var ai=c(17747),aj=c(54269),ak=c(4146),al=c(28298),am=c(94400),an=c(72539),ao=c(84781),ap=c(39266),aq=c(77078),ar=c(44440),as=c(34159),at=c(85352),au=c(65076),av=c(59262),aw=c(41675),ax=c(77275),ay=c(31846),az=c(18085);let aA=(0,ae.h)("frontend/components/models/modal"),aB=a=>({...void 0!==a.contextWindow?{contextWindow:a.contextWindow}:{},...void 0!==a.maxTokens?{maxTokens:a.maxTokens}:{},...void 0!==a.supportsTools?{supportsTools:a.supportsTools}:{},...void 0!==a.supportedParameters?{supportedParameters:a.supportedParameters}:{},...void 0!==a.inputModalities?{inputModalities:a.inputModalities}:{},...void 0!==a.outputModalities?{outputModalities:a.outputModalities}:{},...void 0!==a.visionInputCapability?{visionInputCapability:a.visionInputCapability}:{}}),aC=({open:a,model:b,onSave:c,onClose:g})=>{let{t:j}=(0,af.s9)(),k=(0,N.A)(),l=(0,ai.A)(k.breakpoints.down("sm")),m=(0,f.useRouter)(),{globalEnvVars:n,settings:o}=(0,as.rX)(),[p,q]=(0,e.useState)({}),[r,s]=(0,e.useState)({}),[t,u]=(0,e.useState)(null),[v,w]=(0,e.useState)(!1),[x,y]=(0,e.useState)(null),[z,A]=(0,e.useState)(!1),[C,E]=(0,e.useState)([]),[F,H]=(0,e.useState)(!1),I=(0,e.useRef)(null),J=(0,e.useRef)(null),K=(0,au.T_)(p.provider,p.adapter),L=(0,e.useMemo)(()=>["displayName","name","description","baseUrl","azureApiVersion","promptTemplate","temperature","reasoningEffort","thinkingLevel","thinkingBudget","serviceTier","contextWindow","maxTurns","maxTokens"],[]),M=(0,e.useCallback)(a=>{let c=[...document.querySelectorAll("[data-ask-flujo-model-id]")].find(a=>a.getAttribute("data-ask-flujo-model-id")===b.id)??null,d=c?[...c.querySelectorAll("[name]")].find(b=>b.getAttribute("name")===a)??null:null,e=d?.closest(".MuiFormControl-root")??c;return(0,ay.g_)(e)},[b.id]),S=(0,e.useCallback)(a=>{if("model-field"!==a.target.kind||!a.target.field)return{success:!1,message:"That model UI target is not supported."};let b=a.target.field;if(!L.includes(b))return{success:!1,message:`The model field "${b}" is read-only for Ask FLUJO.`};if("highlight"===a.type){let a=M(b);return{success:a,message:a?`Highlighted ${b}.`:`Could not find ${b} on screen.`}}if(new Set(["thinkingBudget","contextWindow","maxTurns","maxTokens"]).has(b)){if("number"!=typeof a.value||!Number.isFinite(a.value))return{success:!1,message:`${b} must be a finite number.`}}else if("string"!=typeof a.value)return{success:!1,message:`${b} must be text.`};return q(c=>({...c,[b]:a.value})),window.requestAnimationFrame(()=>M(b)),{success:!0,message:`Updated ${b} in the unsaved form. Review it, then Save.`}},[L,M]);(0,ax.qz)({scopeId:`model:${b.id}`,pageType:"model",route:"/models",title:p.displayName||b.displayName||b.name||"Model",identifiers:{modelId:b.id},data:{model:{...p,id:b.id,ApiKey:p.ApiKey?"[REDACTED]":""},saved:!1},capabilities:{highlightTargets:L.map(a=>({kind:"model-field",field:a})),editableTargets:L.map(a=>({kind:"model-field",field:a})),notes:["This is the live, unsaved model form.","API keys are never included in Ask FLUJO context and cannot be edited by Ask FLUJO."]}},S,100),(0,e.useEffect)(()=>{a&&E([])},[a]),(0,e.useEffect)(()=>{!1!==K.supportsModelDiscovery&&p.baseUrl&&(aA.debug("Base URL or API Key changed",{baseUrl:p.baseUrl}),E([]))},[p.baseUrl,p.ApiKey]),(0,e.useEffect)(()=>(J.current&&clearTimeout(J.current),p.baseUrl&&(J.current=setTimeout(()=>{aA.debug("Debounced fetchModels triggered",{name:p.name,baseUrl:p.baseUrl,searchTerm:p.name?`"${p.name}"`:"none"}),T(p.baseUrl,p.name)},100)),()=>{J.current&&clearTimeout(J.current)}),[p.name,p.baseUrl,K.id,K.supportsModelDiscovery]),(0,e.useEffect)(()=>()=>{J.current&&clearTimeout(J.current)},[]);let T=async(a,c)=>{aA.debug("fetchModels called",{baseUrl:a,searchTerm:c?`"${c}"`:"none",apiKey:p.ApiKey?"present":"not present",isApiKeyBound:v}),H(!0),s({});try{let d=v&&x?`\${global:${x}}`:p.ApiKey&&p.ApiKey!==av.RJ?p.ApiKey:void 0,e=await aw.N.fetchProviderModels(a,b.id,c,d);if(aA.debug("Models fetched successfully",{count:e?.length,searchTerm:c?`"${c}"`:"none"}),Array.isArray(e)){E(e);let a=e.find(a=>a.id===p.name);a&&q(b=>b.name===a.id?{...b,...aB(a)}:b),aA.info("Models set in state",{count:e.length,searchTerm:c?`"${c}"`:"none"})}else aA.warn("Unexpected API response format",{models:e}),E([])}catch(b){aA.warn("Error fetching models",{baseUrl:a,searchTerm:c,error:b}),E([])}finally{H(!1)}};(0,e.useEffect)(()=>{if(a){q({...b,displayName:b.displayName||b.name});let a=(b.ApiKey||"").match(/\$\{global:([^}]+)\}/);a?(w(!0),y(a[1])):(w(!1),y(null),q(a=>({...a,ApiKey:b.name?av.RJ:""})))}else q({name:"",displayName:"",description:"",ApiKey:"",baseUrl:"https://api.openai.com/v1",provider:"openai",adapter:"openai",promptTemplate:"",temperature:"0.0"}),w(!1),y(null);s({}),u(null)},[a,b]);let U=(0,au.g3)(p.provider,p.adapter,p.name),V=(0,e.useMemo)(()=>o?.experimental?.showModelsWithoutToolCapabilities?C:C.filter(a=>!1!==a.supportsTools),[C,o?.experimental?.showModelsWithoutToolCapabilities]),W=(a,b)=>{q(c=>({...c,[a]:b})),s(b=>({...b,[a]:""}))},X=async a=>{a.preventDefault();let d={};if(p.name?.trim()||(d.name=j("models.modal.nameRequired")),p.displayName?.trim()||(d.displayName=j("models.modal.displayNameRequired")),"azure"===K.adapter){let a=p.baseUrl?.trim();if(a)try{"https:"!==new URL(a).protocol&&(d.baseUrl=j("models.modal.azureEndpointHttps"))}catch{d.baseUrl=j("models.modal.azureEndpointInvalid")}else d.baseUrl=j("models.modal.azureEndpointRequired");p.azureApiVersion?.trim()||(d.azureApiVersion=j("models.modal.azureApiVersionRequired"))}if(U.creativity&&p.temperature?.trim()){let a=Number(p.temperature);(!Number.isFinite(a)||a<U.creativity.min||a>U.creativity.max)&&(d.temperature=j("models.modal.creativityRange",{min:U.creativity.min,max:U.creativity.max}))}if(v||p.ApiKey?.trim()||"codex-cli"===K.adapter||(d.ApiKey=j("models.modal.apiKeyRequired")),Object.keys(d).length>0)return void s(d);try{let a=await c({id:b.id,name:p.name,displayName:p.displayName,description:p.description,ApiKey:p.ApiKey,baseUrl:p.baseUrl,azureApiVersion:"azure"===K.adapter?p.azureApiVersion:"",provider:p.provider,adapter:p.adapter||"openai",promptTemplate:p.promptTemplate,temperature:U.creativity?p.temperature:void 0,reasoningEffort:U.effortLevels?.includes(p.reasoningEffort)?p.reasoningEffort:void 0,thinkingLevel:U.thinkingLevels?.includes(p.thinkingLevel)?p.thinkingLevel:void 0,thinkingBudget:U.thinkingBudget?p.thinkingBudget:void 0,serviceTier:U.priority?p.serviceTier||"default":void 0,contextWindow:p.contextWindow,supportsTools:p.supportsTools,supportedParameters:p.supportedParameters,inputModalities:p.inputModalities,outputModalities:p.outputModalities,visionInputCapability:p.visionInputCapability??(Array.isArray(p.inputModalities)?p.inputModalities.some(a=>/^(?:image|vision)$/i.test(a))?"supported":"unsupported":"unknown"),maxTurns:p.maxTurns,maxTokens:U.maxOutputTokens?p.maxTokens:void 0});a.success?m.refresh():s({submit:a.error||j("models.saveFailed")})}catch(a){aA.error("Failed to save model",{error:a}),s({submit:a?.message||j("models.saveFailed")})}},Y={minimal:"models.modal.level.minimal",low:"models.modal.level.low",medium:"models.modal.level.medium",high:"models.modal.level.high",xhigh:"models.modal.level.xhigh",max:"models.modal.level.max"},Z=a=>Y[a]?j(Y[a]):a;return(0,d.jsx)(aj.A,{open:a,onClose:g,maxWidth:"xl",fullWidth:!0,fullScreen:l,PaperProps:{"data-ask-flujo-model-id":b.id,sx:{width:l?"100%":"95vw",height:l?"100dvh":"90vh",maxWidth:l?"100%":"95vw",maxHeight:l?"100dvh":"90vh"}},children:(0,d.jsxs)("form",{onSubmit:X,style:{display:"flex",flexDirection:"column",height:"100%",minHeight:0},children:[(0,d.jsx)(az.A,{title:b.name?j("models.modal.editTitle"):j("models.modal.createTitle"),onClose:g}),(0,d.jsxs)(ak.A,{sx:{display:"flex",flex:1,flexDirection:"column",minHeight:0,overflowY:{xs:"auto",md:"hidden"},px:{xs:2,sm:3}},children:[r.submit&&(0,d.jsx)(G.A,{severity:"error",sx:{mb:2},children:r.submit}),t&&(0,d.jsx)(G.A,{severity:"info",sx:{mb:2},children:t}),(0,d.jsxs)(P.Ay,{container:!0,spacing:2,sx:{flexGrow:1,minHeight:{md:0}},children:[(0,d.jsx)(P.Ay,{item:!0,xs:12,md:6,sx:{height:{xs:"auto",md:"100%"},minWidth:0},children:(0,d.jsxs)(h.default,{sx:{display:"flex",flexDirection:"column",height:{xs:"auto",md:"100%"},pr:{xs:0,md:2},overflowY:{xs:"visible",md:"auto"}},children:[(0,d.jsx)(Q.A,{variant:"h6",gutterBottom:!0,children:j("models.modal.connectionDetails")}),(0,d.jsx)(i.A,{name:"displayName",autoFocus:!0,margin:"dense",label:j("models.modal.displayName"),fullWidth:!0,required:!0,value:p.displayName||"",onChange:a=>W("displayName",a.target.value),error:!!r.displayName,helperText:r.displayName||j("models.modal.displayNameHelp")}),(0,d.jsxs)(al.A,{fullWidth:!0,margin:"dense",children:[(0,d.jsx)(am.A,{id:"provider-profile-label",children:j("models.modal.provider")}),(0,d.jsx)(an.A,{name:"provider",labelId:"provider-profile-label",label:j("models.modal.provider"),value:K.id,onChange:a=>{var b;let c;return b=a.target.value,void((c=au.xx.find(a=>a.id===b))&&(q(a=>({...a,provider:c.provider,adapter:c.adapter,baseUrl:c.baseUrl,azureApiVersion:c.defaultApiVersion??""})),s(a=>({...a,baseUrl:""}))))},children:au.xx.map(a=>(0,d.jsx)(D.A,{value:a.id,children:a.label},a.id))})]}),(0,d.jsxs)(Q.A,{variant:"caption",color:"text.secondary",sx:{mt:.5,mb:1,display:"block"},children:[j("models.modal.usesSdk",{sdk:K.sdkLabel}),"claude-cli"===K.adapter?` ${j("models.modal.claudeAuthHelp")}`:"codex-cli"===K.adapter?` ${j("models.modal.codexAuthHelp")}`:""]}),K.showBaseUrl&&(0,d.jsx)(i.A,{name:"baseUrl",margin:"dense",label:"azure"===K.adapter?j("models.modal.azureEndpoint"):j("models.card.baseUrl"),fullWidth:!0,required:"azure"===K.adapter,value:p.baseUrl||"",onChange:a=>W("baseUrl",a.target.value),error:!!r.baseUrl,helperText:r.baseUrl||("azure"===K.adapter?j("models.modal.azureEndpointHelp"):j("models.modal.baseUrlHelp"))}),"azure"===K.adapter&&(0,d.jsx)(i.A,{name:"azureApiVersion",margin:"dense",label:j("models.modal.azureApiVersion"),fullWidth:!0,required:!0,value:p.azureApiVersion||"",onChange:a=>W("azureApiVersion",a.target.value),error:!!r.azureApiVersion,helperText:r.azureApiVersion||j("models.modal.azureApiVersionHelp")}),(0,d.jsx)(h.default,{sx:{position:"relative",mt:1,mb:1},children:(0,d.jsx)(i.A,{name:"ApiKey",margin:"dense",label:j("models.modal.apiKey"),fullWidth:!0,required:!v&&"codex-cli"!==K.adapter,type:v?"text":"password",value:p.ApiKey||"",onChange:a=>W("ApiKey",a.target.value),error:!!r.ApiKey,helperText:r.ApiKey||("codex-cli"===K.adapter?j("models.modal.apiKeyOptionalCodex"):j("models.modal.apiKeyRequiredProvider")),InputProps:{readOnly:v,endAdornment:(0,d.jsx)(h.default,{sx:{display:"flex",alignItems:"center"},children:v?(0,d.jsx)(R.A,{onClick:()=>{w(!1),y(null),q(a=>({...a,ApiKey:""}))},size:"small",title:j("models.modal.unbindGlobal"),children:(0,d.jsx)(aq.A,{})}):(0,d.jsx)(R.A,{onClick:()=>{A(!0)},size:"small",title:j("models.modal.bindGlobal"),children:(0,d.jsx)(ar.A,{})})})}})}),(0,d.jsx)(ao.A,{freeSolo:!0,loading:F,options:!1!==K.supportsModelDiscovery&&K.showBaseUrl?V.map(a=>a.id):K.defaultModels??[],value:p.name||"",onChange:(a,b)=>{let c=C.find(a=>a.id===b);q(a=>({...a,name:b||"",...c?{description:c.description??a.description,...aB(c)}:{}})),s(a=>({...a,name:""}))},onInputChange:(a,b)=>{W("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,d.jsx)(i.A,{...a,margin:"dense",label:"azure"===K.adapter?j("models.modal.azureDeployment"):j("models.modal.technicalName"),required:!0,error:!!r.name,helperText:r.name||("azure"===K.adapter?j("models.modal.azureDeploymentHelp"):j("models.modal.technicalNameHelp")),InputProps:{...a.InputProps,endAdornment:(0,d.jsxs)(d.Fragment,{children:[F?(0,d.jsx)(O.default,{color:"inherit",size:20}):null,a.InputProps.endAdornment]})}}),renderOption:(a,b)=>{let c=C.find(a=>a.id===b),{key:e,...f}=a;return(0,d.jsx)("li",{...f,style:{borderBottom:"1px solid rgba(0,0,0,0.1)",padding:"8px 16px"},children:(0,d.jsxs)(h.default,{children:[(0,d.jsx)(Q.A,{variant:"body1",fontWeight:"bold",children:b}),c?.description&&(0,d.jsx)(Q.A,{variant:"body2",color:"text.secondary",sx:{fontSize:"0.75rem"},children:c.description})]})},e)},noOptionsText:j("models.modal.noMatches"),loadingText:j("models.modal.loadingModels")}),(0,d.jsx)(i.A,{name:"description",margin:"dense",label:j("models.modal.description"),fullWidth:!0,multiline:!0,rows:3,value:p.description||"",onChange:a=>W("description",a.target.value)}),U.creativity&&(0,d.jsx)(i.A,{name:"temperature",margin:"dense",label:j("models.modal.creativity"),fullWidth:!0,type:"number",value:p.temperature??"",onChange:a=>W("temperature",a.target.value),error:!!r.temperature,inputProps:U.creativity,helperText:r.temperature||j("models.modal.creativityHelp",{min:U.creativity.min,max:U.creativity.max})}),U.effortLevels&&(0,d.jsxs)(al.A,{fullWidth:!0,margin:"dense",children:[(0,d.jsx)(am.A,{id:"reasoning-effort-label",children:j("models.modal.effort")}),(0,d.jsxs)(an.A,{name:"reasoningEffort",labelId:"reasoning-effort-label",label:j("models.modal.effort"),value:p.reasoningEffort||"",onChange:a=>q(b=>({...b,reasoningEffort:a.target.value?a.target.value:void 0})),children:[(0,d.jsx)(D.A,{value:"",children:(0,d.jsx)("em",{children:j("models.modal.providerDefault")})}),U.effortLevels.map(a=>(0,d.jsx)(D.A,{value:a,children:Z(a)},a))]}),(0,d.jsx)(Q.A,{variant:"caption",color:"text.secondary",sx:{mt:.5,ml:1.75},children:j("models.modal.effortHelp")})]}),U.thinkingLevels&&(0,d.jsxs)(al.A,{fullWidth:!0,margin:"dense",children:[(0,d.jsx)(am.A,{id:"thinking-level-label",children:j("models.modal.thinkingLevel")}),(0,d.jsxs)(an.A,{name:"thinkingLevel",labelId:"thinking-level-label",label:j("models.modal.thinkingLevel"),value:p.thinkingLevel||"",onChange:a=>q(b=>({...b,thinkingLevel:a.target.value?a.target.value:void 0})),children:[(0,d.jsx)(D.A,{value:"",children:(0,d.jsx)("em",{children:j("models.modal.providerDefault")})}),U.thinkingLevels.map(a=>(0,d.jsx)(D.A,{value:a,children:Z(a)},a))]})]}),U.thinkingBudget&&(0,d.jsx)(i.A,{name:"thinkingBudget",margin:"dense",label:j("models.modal.thinkingBudget"),fullWidth:!0,type:"number",value:p.thinkingBudget??"",onChange:a=>{let b=a.target.value,c=""===b?void 0:Number(b);q(a=>({...a,thinkingBudget:void 0!==c&&Number.isFinite(c)&&c>=-1?Math.floor(c):void 0}))},inputProps:{min:-1,step:1},helperText:j("models.modal.thinkingBudgetHelp")}),U.priority&&(0,d.jsxs)(al.A,{fullWidth:!0,margin:"dense",children:[(0,d.jsx)(am.A,{id:"service-tier-label",children:j("models.modal.priority")}),(0,d.jsxs)(an.A,{name:"serviceTier",labelId:"service-tier-label",label:j("models.modal.priority"),value:p.serviceTier||"default",onChange:a=>q(b=>({...b,serviceTier:a.target.value})),children:[(0,d.jsx)(D.A,{value:"default",children:j("models.modal.standard")}),(0,d.jsx)(D.A,{value:"priority",children:j("models.modal.priorityFaster")})]}),(0,d.jsx)(Q.A,{variant:"caption",color:"text.secondary",sx:{mt:.5,ml:1.75},children:j("models.modal.priorityHelp")})]}),(0,d.jsx)(i.A,{name:"contextWindow",margin:"dense",label:j("models.modal.contextWindow"),fullWidth:!0,type:"number",value:p.contextWindow??"",onChange:a=>{let b=a.target.value,c=""===b?void 0:Number(b);q(a=>({...a,contextWindow:void 0!==c&&Number.isFinite(c)&&c>0?Math.floor(c):void 0}))},helperText:j("models.modal.contextWindowHelp")}),(0,d.jsx)(i.A,{name:"maxTurns",margin:"dense",label:j("models.modal.maxTurns"),fullWidth:!0,type:"number",value:p.maxTurns??"",onChange:a=>{let b=a.target.value,c=""===b?void 0:Number(b);q(a=>({...a,maxTurns:void 0!==c&&Number.isFinite(c)&&c>0?Math.floor(c):void 0}))},inputProps:{min:1},helperText:j("models.modal.maxTurnsHelp")}),U.maxOutputTokens&&(0,d.jsx)(i.A,{name:"maxTokens",margin:"dense",label:j("models.modal.maxOutputTokens"),fullWidth:!0,type:"number",value:p.maxTokens??"",onChange:a=>{let b=a.target.value,c=""===b?void 0:Number(b);q(a=>({...a,maxTokens:void 0!==c&&Number.isFinite(c)&&c>0?Math.floor(c):void 0}))},inputProps:{min:1},helperText:j("models.modal.maxOutputTokensHelp")})]})}),(0,d.jsx)(P.Ay,{item:!0,xs:12,md:6,sx:{height:{xs:400,md:"100%"},minWidth:0},children:(0,d.jsxs)(h.default,{sx:{display:"flex",flexDirection:"column",height:"100%",minHeight:0,pl:{xs:0,md:2}},children:[(0,d.jsx)(Q.A,{variant:"h6",gutterBottom:!0,children:j("models.modal.promptTemplate")}),(0,d.jsx)(h.default,{sx:{flexGrow:1,display:"flex",flexDirection:"column",minHeight:0},children:(0,d.jsx)(at.A,{ref:I,value:p.promptTemplate||"",onChange:a=>W("promptTemplate",a),label:"",height:"100%"})})]})})]}),z&&(0,d.jsxs)(h.default,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:{xs:"calc(100% - 32px)",sm:400},maxWidth:400,bgcolor:"background.paper",boxShadow:24,p:{xs:2,sm:4},borderRadius:1,zIndex:9999},children:[(0,d.jsx)(Q.A,{variant:"h6",component:"h2",sx:{mb:2},children:j("models.modal.bindTitle")}),0===Object.keys(n).length?(0,d.jsx)(Q.A,{sx:{mb:2},children:j("models.modal.noGlobals")}):(0,d.jsx)(h.default,{sx:{maxHeight:300,overflow:"auto",mb:2},children:Object.entries(n).map(([a,b])=>(0,d.jsx)(B.A,{onClick:()=>{w(!0),y(a),q(b=>({...b,ApiKey:`\${global:${a}}`})),A(!1)},fullWidth:!0,sx:{justifyContent:"flex-start",textAlign:"left",mb:1,p:1,"&:hover":{bgcolor:"action.hover"}},children:(0,d.jsxs)(h.default,{sx:{display:"flex",justifyContent:"space-between",width:"100%"},children:[(0,d.jsx)(Q.A,{children:a}),(0,d.jsx)(Q.A,{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,d.jsx)(h.default,{sx:{display:"flex",justifyContent:"flex-end"},children:(0,d.jsx)(B.A,{onClick:()=>A(!1),children:j("common.cancel")})})]})]}),(0,d.jsxs)(ap.A,{sx:{flexShrink:0},children:[(0,d.jsx)(B.A,{onClick:g,children:j("common.cancel")}),(0,d.jsx)(B.A,{type:"submit",variant:"contained",color:"primary",children:j("models.modal.save")})]})]})})};var aD=c(95747),aE=c(88458),aF=c(79705),aG=c(30892),aH=c(58247),aI=c(32787),aJ=c(13036),aK=c(78167),aL=c(89686),aM=c(61749),aN=c(5285),aO=c(19395),aP=c(74012),aQ=c(49509);let aR=(0,V.A)((0,d.jsx)("path",{d:"M20 4H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2m-1 14H5c-.55 0-1-.45-1-1v-5h16v5c0 .55-.45 1-1 1m1-10H4V6h16z"}),"CreditCardRounded");var aS=c(29123);let aT=(0,V.A)((0,d.jsx)("path",{d:"M20.59 10h-7.94c-.95-2.69-3.76-4.5-6.88-3.88-2.29.46-4.15 2.3-4.63 4.58C.32 14.58 3.26 18 7 18c2.61 0 4.83-1.67 5.65-4H13l1.29 1.29c.39.39 1.02.39 1.41 0L17 14l1.29 1.29c.39.39 1.03.39 1.42 0l2.59-2.61c.39-.39.39-1.03-.01-1.42l-.99-.97c-.2-.19-.45-.29-.71-.29M7 15c-1.65 0-3-1.35-3-3s1.35-3 3-3 3 1.35 3 3-1.35 3-3 3"}),"KeyRounded");var aU=c(40596),aV=c(81616),aW=c(99958);let aX=(0,V.A)((0,d.jsx)("path",{d:"m19.83 7.5-2.27-2.27c.07-.42.18-.81.32-1.15.11-.26.15-.56.09-.87-.13-.72-.83-1.22-1.57-1.21-1.59.03-3 .81-3.9 2h-5C4.46 4 2 6.46 2 9.5c0 2.25 1.37 7.48 2.08 10.04.24.86 1.03 1.46 1.93 1.46H8c1.1 0 2-.9 2-2h2c0 1.1.9 2 2 2h2.01c.88 0 1.66-.58 1.92-1.43l1.25-4.16 2.14-.72c.41-.14.68-.52.68-.95V8.5c0-.55-.45-1-1-1zM12 9H9c-.55 0-1-.45-1-1s.45-1 1-1h3c.55 0 1 .45 1 1s-.45 1-1 1m4 2c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1"}),"SavingsRounded"),aY=(0,V.A)((0,d.jsx)("path",{d:"M5 13.18v2.81c0 .73.4 1.41 1.04 1.76l5 2.73c.6.33 1.32.33 1.92 0l5-2.73c.64-.35 1.04-1.03 1.04-1.76v-2.81l-6.04 3.3c-.6.33-1.32.33-1.92 0zm6.04-9.66-8.43 4.6c-.69.38-.69 1.38 0 1.76l8.43 4.6c.6.33 1.32.33 1.92 0L21 10.09V16c0 .55.45 1 1 1s1-.45 1-1V9.59c0-.37-.2-.7-.52-.88l-9.52-5.19a2.04 2.04 0 0 0-1.92 0"}),"SchoolRounded");var aZ=c(67062);let a$=(0,V.A)((0,d.jsx)("path",{d:"M20 4H4c-1.11 0-2 .9-2 2v12c0 1.1.89 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.89-2-2-2m0 14H4V8h16zm-8-2c0-.55.45-1 1-1h4c.55 0 1 .45 1 1s-.45 1-1 1h-4c-.55 0-1-.45-1-1M6.79 9.71c.39-.39 1.02-.39 1.41 0l2.59 2.59c.39.39.39 1.02 0 1.41L8.2 16.3c-.39.39-1.02.39-1.41 0a.996.996 0 0 1 0-1.41L8.67 13l-1.88-1.88a.996.996 0 0 1 0-1.41"}),"TerminalRounded"),a_=(0,V.A)((0,d.jsx)("path",{d:"m10.92 12.75 1.08-.82 1.07.81c.39.29.92-.08.78-.55l-.42-1.36 1.2-.95c.37-.28.16-.88-.32-.88h-1.4l-.43-1.34c-.15-.46-.8-.46-.95 0L11.09 9H9.68c-.47 0-.68.6-.31.89l1.19.95-.42 1.36c-.14.47.39.84.78.55M6 21.61c0 .68.67 1.16 1.32.95L12 21l4.68 1.56c.65.22 1.32-.26 1.32-.95v-6.33c1.24-1.41 2-3.25 2-5.28 0-4.42-3.58-8-8-8s-8 3.58-8 8c0 2.03.76 3.87 2 5.28zM12 4c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6 2.69-6 6-6"}),"WorkspacePremiumRounded");var a0=c(76458),a1=c(85552),a2=c(61995);let a3={"openrouter-free":[{name:"openrouter/free",displayName:"OpenRouter Free",description:"Automatically routes each request to an available free OpenRouter model.",provider:"openrouter",adapter:"openai",baseUrl:"https://openrouter.ai/api/v1",supportsTools:!0}],"requesty-free":[{name:"openrouter/free",displayName:"Requesty Free Router",description:"Routes to OpenRouter’s free-model router through your Requesty account.",provider:"requesty",adapter:"openai",baseUrl:"https://router.requesty.ai/v1",supportsTools:!0}],"openrouter-paid":[{name:"openrouter/auto",displayName:"OpenRouter Auto",description:"A balanced automatic router for everyday work.",provider:"openrouter",adapter:"openai",baseUrl:"https://openrouter.ai/api/v1",supportsTools:!0},{name:"deepseek/deepseek-v3.2",displayName:"DeepSeek V3.2",description:"A cost-conscious model for fast general-purpose work.",provider:"openrouter",adapter:"openai",baseUrl:"https://openrouter.ai/api/v1",supportsTools:!0},{name:"openai/gpt-5.6-sol",displayName:"GPT-5.6 Sol via OpenRouter",description:"A high-capability model for demanding agentic work.",provider:"openrouter",adapter:"openai",baseUrl:"https://openrouter.ai/api/v1",reasoningEffort:"medium",supportsTools:!0}],"requesty-paid":[{name:"deepseek/deepseek-v3.2",displayName:"DeepSeek V3.2 via Requesty",description:"A cost-conscious default routed through Requesty.",provider:"requesty",adapter:"openai",baseUrl:"https://router.requesty.ai/v1",supportsTools:!0},{name:"anthropic/claude-sonnet-4-6",displayName:"Claude Sonnet via Requesty",description:"A balanced model for planning, writing, and tool use.",provider:"requesty",adapter:"openai",baseUrl:"https://router.requesty.ai/v1",supportsTools:!0},{name:"openai/gpt-5.6-sol",displayName:"GPT-5.6 Sol via Requesty",description:"A high-capability model for demanding agentic work.",provider:"requesty",adapter:"openai",baseUrl:"https://router.requesty.ai/v1",reasoningEffort:"medium",supportsTools:!0}],"claude-subscription":[{name:"haiku",displayName:"Claude Haiku",description:"Fast and light for small tasks through your Claude subscription.",provider:"claude-subscription",adapter:"claude-cli",supportsTools:!0},{name:"sonnet",displayName:"Claude Sonnet",description:"The balanced everyday choice through your Claude subscription.",provider:"claude-subscription",adapter:"claude-cli",reasoningEffort:"medium",supportsTools:!0},{name:"opus",displayName:"Claude Opus",description:"The strongest Claude option for complex work.",provider:"claude-subscription",adapter:"claude-cli",reasoningEffort:"high",supportsTools:!0},{name:"fable",displayName:"Claude Fable",description:"An additional Claude subscription model for flexible routing.",provider:"claude-subscription",adapter:"claude-cli",reasoningEffort:"medium",supportsTools:!0}],"codex-subscription":[{name:"gpt-5.6-terra",displayName:"Codex Terra",description:"A balanced Codex model for everyday agent work.",provider:"codex",adapter:"codex-cli",reasoningEffort:"medium",supportsTools:!0},{name:"gpt-5.6-sol",displayName:"Codex Sol",description:"The high-capability Codex model for difficult work.",provider:"codex",adapter:"codex-cli",reasoningEffort:"high",supportsTools:!0},{name:"gpt-5.4-mini",displayName:"Codex Mini",description:"A quick, efficient Codex option for smaller tasks.",provider:"codex",adapter:"codex-cli",reasoningEffort:"medium",supportsTools:!0}],"gemini-native":[{name:"gemini-2.5-flash-lite",displayName:"Gemini Flash Lite",description:"A quick and economical native Gemini model.",provider:"gemini",adapter:"gemini",supportsTools:!0},{name:"gemini-2.5-flash",displayName:"Gemini Flash",description:"A balanced native Gemini model for everyday work.",provider:"gemini",adapter:"gemini",supportsTools:!0},{name:"gemini-2.5-pro",displayName:"Gemini Pro",description:"A stronger native Gemini model for complex work.",provider:"gemini",adapter:"gemini",supportsTools:!0}]};function a4(a){let b=a.apiKey?.trim()??"";return("azure"===a.kind?[{name:a.azureDeployment?.trim()||"azure-deployment",displayName:a.azureDeployment?.trim()?`Azure ${a.azureDeployment.trim()}`:"Azure OpenAI deployment",description:"An Azure OpenAI deployment connected through the deployment-aware Azure SDK.",provider:"azure",adapter:"azure",baseUrl:a.azureEndpoint?.trim().replace(/\/+$/,"")||"",supportsTools:!0}]:"ollama"===a.kind?[{name:a.ollamaModel?.trim()||"llama3.2:3b",displayName:`Local ${a.ollamaModel?.trim()||"Llama 3.2"}`,description:"Runs privately on this machine through Ollama.",provider:"ollama",adapter:"openai",baseUrl:`${(a.ollamaUrl||"http://localhost:11434").replace(/\/+$/,"")}/v1`,supportsTools:!0}]:a3[a.kind]).map(c=>({id:(0,M.A)(),name:c.name,displayName:c.displayName,description:c.description,ApiKey:"ollama"===a.kind?"ollama":b,baseUrl:c.baseUrl||"",provider:c.provider,adapter:c.adapter,..."azure"===a.kind?{azureApiVersion:a.azureApiVersion?.trim()||au.V0}:{},promptTemplate:"",temperature:"openai"===c.adapter||"azure"===c.adapter||"gemini"===c.adapter?"0.0":void 0,reasoningEffort:c.reasoningEffort,supportsTools:c.supportsTools}))}let a5=(0,aJ.i7)`
54
54
  0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg); }
55
55
  50% { transform: translate3d(0, -9px, 0) rotate(5deg); }
56
56
  `,a6=(0,aJ.i7)`
@@ -60,4 +60,4 @@ see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__
60
60
  0% { transform: scale(.6) rotate(-12deg); opacity: 0; }
61
61
  70% { transform: scale(1.08) rotate(3deg); opacity: 1; }
62
62
  100% { transform: scale(1) rotate(0); opacity: 1; }
63
- `,a8={"openrouter-free":{eyebrow:"models.wizard.copy.freeOnline",title:"models.wizard.openrouterFree.title",summary:"models.wizard.openrouterFree.summary",accountUrl:"https://openrouter.ai/settings/keys",accountLabel:"models.wizard.openrouterFree.account",keyLabel:"models.wizard.openrouterKey",note:"models.wizard.openrouterFree.note"},"requesty-free":{eyebrow:"models.wizard.copy.freeOnline",title:"models.wizard.requestyFree.title",summary:"models.wizard.requestyFree.summary",accountUrl:"https://app.requesty.ai/api-keys",accountLabel:"models.wizard.requestyFree.account",keyLabel:"models.wizard.requestyKey",note:"models.wizard.requestyFree.note"},"openrouter-paid":{eyebrow:"models.wizard.copy.paygOnline",title:"models.wizard.openrouterPaid.title",summary:"models.wizard.openrouterPaid.summary",accountUrl:"https://openrouter.ai/settings/keys",accountLabel:"models.wizard.openrouterPaid.account",keyLabel:"models.wizard.openrouterKey",note:"models.wizard.openrouterPaid.note"},"requesty-paid":{eyebrow:"models.wizard.copy.paygOnline",title:"models.wizard.requestyPaid.title",summary:"models.wizard.requestyPaid.summary",accountUrl:"https://app.requesty.ai/api-keys",accountLabel:"models.wizard.requestyPaid.account",keyLabel:"models.wizard.requestyKey",note:"models.wizard.requestyPaid.note"},"claude-subscription":{eyebrow:"models.wizard.copy.claudeSubscription",title:"models.wizard.claude.title",summary:"models.wizard.claude.summary",keyLabel:"models.wizard.claude.key",note:"models.wizard.claude.note"},"codex-subscription":{eyebrow:"models.wizard.copy.chatgptSubscription",title:"models.wizard.codex.title",summary:"models.wizard.codex.summary",note:"models.wizard.codex.note"},"gemini-native":{eyebrow:"models.wizard.copy.googleNative",title:"models.wizard.gemini.title",summary:"models.wizard.gemini.summary",accountUrl:"https://aistudio.google.com/app/apikey",accountLabel:"models.wizard.gemini.account",keyLabel:"models.wizard.gemini.key",note:"models.wizard.gemini.note"}};function a9({icon:a,title:b,description:c,badge:e,onClick:f}){let i=(0,N.A)();return(0,d.jsxs)(g.A,{component:"button",type:"button",variant:"outlined",onClick:f,sx:{position:"relative",width:"100%",minHeight:132,p:2.2,borderRadius:3,color:"text.primary",textAlign:"left",cursor:"pointer",font:"inherit",background:`linear-gradient(145deg, ${(0,m.X4)(i.palette.primary.main,.08)}, ${(0,m.X4)(i.palette.background.paper,.72)} 55%)`,transition:"transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease","&:hover":{transform:"translateY(-3px) rotate(-.2deg)",borderColor:(0,m.X4)(i.palette.primary.main,.7),boxShadow:`0 16px 38px ${(0,m.X4)(i.palette.primary.main,.16)}`},"&:focus-visible":{outline:`3px solid ${(0,m.X4)(i.palette.primary.main,.3)}`,outlineOffset:3}},children:[e?(0,d.jsx)(aD.A,{label:e,size:"small",color:"primary",sx:{position:"absolute",top:12,right:12}}):null,(0,d.jsx)(h.default,{sx:{width:43,height:43,display:"grid",placeItems:"center",mb:1.3,borderRadius:2.4,color:"primary.main",bgcolor:(0,m.X4)(i.palette.primary.main,.12)},children:(0,d.jsx)(a,{})}),(0,d.jsx)(Q.A,{variant:"subtitle1",sx:{fontWeight:720,pr:7*!!e},children:b}),(0,d.jsx)(Q.A,{variant:"body2",color:"text.secondary",sx:{mt:.45},children:c})]})}function ba({children:a}){return(0,d.jsx)(h.default,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"repeat(3, minmax(0, 1fr))"},gap:1.5},children:a})}function bb({command:a,copied:b,onCopy:c}){let e=(0,N.A)(),{t:f}=(0,af.s9)();return(0,d.jsxs)(h.default,{sx:{display:"flex",alignItems:"center",gap:1,px:1.5,py:1,borderRadius:2,bgcolor:(0,m.X4)(e.palette.common.black,"dark"===e.palette.mode?.26:.055)},children:[(0,d.jsx)(a$,{fontSize:"small",color:"action"}),(0,d.jsx)(Q.A,{component:"code",variant:"body2",sx:{flex:1,overflowWrap:"anywhere",fontFamily:"var(--font-geist-mono), ui-monospace, monospace"},children:a}),(0,d.jsx)(aE.A,{title:f(b?"models.wizard.copied":"models.wizard.copyCommand"),children:(0,d.jsx)(R.A,{size:"small",onClick:c,"aria-label":f("models.wizard.copyCommandAria",{command:a}),children:b?(0,d.jsx)(aM.A,{color:"success",fontSize:"small"}):(0,d.jsx)(aQ.A,{fontSize:"small"})})})]})}function bc({open:a,onClose:b,onManualCreation:c,onCreateModels:f}){let j=(0,N.A)(),{t:k,tp:l}=(0,af.s9)(),[n,o]=(0,e.useState)("welcome"),[p,q]=(0,e.useState)([]),[r,s]=(0,e.useState)("beginner"),[t,u]=(0,e.useState)(null),[v,w]=(0,e.useState)(""),[x,y]=(0,e.useState)(!1),[z,A]=(0,e.useState)(!1),[C,D]=(0,e.useState)(null),[E,F]=(0,e.useState)([]),[H,I]=(0,e.useState)([]),[K,M]=(0,e.useState)(null),[P,S]=(0,e.useState)(null),[T,U]=(0,e.useState)([]),[V,W]=(0,e.useState)("idle"),[X,Y]=(0,e.useState)(null),[Z,$]=(0,e.useState)(!1),[_,aa]=(0,e.useState)(!1),[ab,ac]=(0,e.useState)(!1),[ad,ae]=(0,e.useState)([]),ag=a=>{q(a=>[...a,n]),o(a),D(null)},ah=a=>{u(a),ag("setup")},ai=async a=>{try{await navigator.clipboard.writeText(a),M(a),window.setTimeout(()=>M(b=>b===a?null:b),1600)}catch{D(k("models.wizard.copyFailed"))}},al=(0,e.useCallback)(async()=>{$(!0),D(null);try{let a=await fetch("/api/local-models/capability",{cache:"no-store"});if(!a.ok)throw Error(k("models.wizard.inspectFailed"));Y(await a.json())}catch(a){D(a instanceof Error?a.message:k("models.wizard.inspectFailed"))}finally{aa(!0),$(!1)}},[k]),am=async a=>{S(a),W("idle"),U([]),D(null);try{let b=await fetch("/api/setup/ai-cli",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tool:a})});if(!b.ok){let a=await b.json().catch(()=>({}));throw Error(a.error||k("models.wizard.installerStartFailed"))}let c=!1,d="";if(await (0,a2.z)(b,a=>{("stdout"===a.type||"stderr"===a.type)&&U(b=>[...b,a.data].slice(-8)),"status"===a.type&&a.message&&U(b=>[...b,a.message].slice(-8)),"result"===a.type&&(c=a.success,d=a.error||"")}),!c)throw Error(d||k("models.wizard.wingetFailed"));W("success"),"ollama"===a&&window.setTimeout(()=>void al(),1200)}catch(a){W("error"),D(a instanceof Error?a.message:k("models.wizard.installFailed"))}finally{S(null)}},an=async a=>{A(!0),D(null);try{let b=await f(a);if(!b.success)throw Error(b.error||k("models.wizard.createFailed"));F(b.created),I(b.existing),ag("success")}catch(a){D(a instanceof Error?a.message:k("models.wizard.createFailed"))}finally{A(!1)}},ao=async()=>{t&&"ollama"!==t&&("codex-subscription"===t||v.trim()?"codex-subscription"!==t||x?await an(a4({kind:t,apiKey:v})):D(k("models.wizard.confirmCodexLogin")):D("claude-subscription"===t?k("models.wizard.pasteClaudeToken"):k("models.wizard.pasteApiKey")))},ap=async()=>{let a=X?.suggestedModel||"llama3.2:3b",b=X?.installedModels?.some(b=>b===a);if(!X?.ollamaReachable)return void D(k("models.wizard.startOllama"));if(!b){ac(!0),ae([]),D(null);try{let b=await fetch("/api/local-models/pull",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:a})});if(!b.ok)throw Error(k("models.wizard.ollamaDownloadStartFailed"));let c=!1,d="";if(await (0,a2.z)(b,a=>{("stdout"===a.type||"stderr"===a.type)&&ae(b=>[...b,a.data].slice(-6)),"result"===a.type&&(c=a.success,d=a.error||"")}),!c)throw Error(d||k("models.wizard.modelDownloadFailed",{model:a}))}catch(a){D(a instanceof Error?a.message:k("models.wizard.downloadFailed")),ac(!1);return}ac(!1)}await an(a4({kind:"ollama",ollamaModel:a,ollamaUrl:X?.ollamaUrl}))},aq="beginner"===r,ar=Math.min(96,"welcome"===n?8:"success"===n?100:22+15*p.length),as=t&&"ollama"!==t?a8[t]:null,at=(0,e.useMemo)(()=>t?a4({kind:t}).map(a=>a.displayName||a.name):[],[t]),au=X?.suggestedModel||"llama3.2:3b",av=!!X?.installedModels?.includes(au),aw=(a,b,c)=>(0,d.jsxs)(aF.A,{spacing:1.1,children:[(0,d.jsx)(bb,{command:b,copied:K===b,onCopy:()=>void ai(b)}),(0,d.jsx)(B.A,{variant:"outlined",startIcon:P===a?(0,d.jsx)(O.default,{size:17}):(0,d.jsx)(aS.A,{}),disabled:!!P,onClick:()=>void am(a),sx:{alignSelf:"flex-start"},children:P===a?k("models.wizard.installing"):k("models.wizard.installWinget")}),c?(0,d.jsx)(bb,{command:c,copied:K===c,onCopy:()=>void ai(c)}):null,"success"===V?(0,d.jsx)(G.A,{severity:"success",children:k("models.wizard.installedContinue")}):null,T.length?(0,d.jsx)(h.default,{component:"pre",sx:{m:0,p:1.4,maxHeight:110,overflow:"auto",borderRadius:2,bgcolor:(0,m.X4)(j.palette.common.black,"dark"===j.palette.mode?.3:.06),color:"text.secondary",whiteSpace:"pre-wrap",fontSize:11},children:T.join("\n")}):null]});return(0,d.jsx)(aj.A,{open:a,onClose:z||ab||P?void 0:b,fullWidth:!0,maxWidth:"md","aria-label":k("models.wizard.aria"),children:(0,d.jsxs)(ak.A,{"data-tour":"ai-setup-wizard",sx:{position:"relative",minHeight:{xs:560,sm:590},p:{xs:2.2,sm:4},overflowX:"hidden",overflowY:"auto"},children:[(0,d.jsx)(h.default,{"aria-hidden":!0,sx:{position:"absolute",width:220,height:220,borderRadius:"50%",top:-120,right:-70,bgcolor:(0,m.X4)(j.palette.secondary.main,.12),filter:"blur(1px)",animation:`${a5} 6s ease-in-out infinite`}}),(0,d.jsx)(h.default,{"aria-hidden":!0,sx:{position:"absolute",width:150,height:150,borderRadius:5,bottom:-100,left:-70,bgcolor:(0,m.X4)(j.palette.primary.main,.1),transform:"rotate(24deg)",animation:`${a5} 7s ease-in-out -2s infinite`}}),(0,d.jsxs)(h.default,{sx:{position:"relative",zIndex:1},children:[(0,d.jsxs)(h.default,{sx:{display:"flex",alignItems:"center",gap:1,mb:2},children:[p.length&&"success"!==n?(0,d.jsx)(R.A,{onClick:()=>{let a=p[p.length-1];a&&(q(a=>a.slice(0,-1)),o(a),D(null))},"aria-label":k("models.wizard.backAria"),children:(0,d.jsx)(aK.A,{})}):(0,d.jsx)(h.default,{sx:{width:40}}),(0,d.jsx)(h.default,{sx:{flex:1},children:(0,d.jsx)(aG.A,{variant:"determinate",value:ar,"aria-label":k("models.wizard.progressAria")})}),(0,d.jsxs)(h.default,{display:"flex",alignItems:"center",gap:.5,children:[(0,d.jsx)(a0.A,{}),(0,d.jsx)(a1.A,{variant:"icon"}),(0,d.jsx)(R.A,{onClick:b,"aria-label":k("models.wizard.closeAria"),disabled:z||ab||!!P,children:(0,d.jsx)(aN.A,{})})]})]}),C?(0,d.jsx)(G.A,{severity:"error",onClose:()=>D(null),sx:{mb:2},children:C}):null,(0,d.jsx)(h.default,{sx:{animation:`${a6} 260ms ease-out both`,"@media (prefers-reduced-motion: reduce)":{animation:"none"}},children:(()=>{if("welcome"===n)return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(aD.A,{icon:(0,d.jsx)(J.A,{}),label:k("models.wizard.twoMinuteSetup"),color:"primary",variant:"outlined",sx:{mb:2}}),(0,d.jsx)(Q.A,{variant:"h4",children:k("models.wizard.welcomeTitle")}),(0,d.jsx)(Q.A,{variant:"body1",color:"text.secondary",sx:{mt:1,mb:3,maxWidth:680},children:k("models.wizard.welcomeQuestion")}),(0,d.jsxs)(ba,{children:[(0,d.jsx)(a9,{icon:aY,title:k("models.wizard.noIdea"),description:k("models.wizard.noIdeaDescription"),badge:k("models.wizard.gentleGuide"),onClick:()=>{s("beginner"),ag("budget")}}),(0,d.jsx)(a9,{icon:aL.A,title:k("models.wizard.knowABit"),description:k("models.wizard.knowABitDescription"),onClick:()=>{s("familiar"),ag("budget")}}),(0,d.jsx)(a9,{icon:L.A,title:k("models.wizard.expert"),description:k("models.wizard.expertDescription"),onClick:c})]})]});if("budget"===n)return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(Q.A,{variant:"overline",color:"primary.main",children:k("models.wizard.firstThings")}),(0,d.jsx)(Q.A,{variant:"h4",children:k("models.wizard.budgetTitle")}),aq?(0,d.jsx)(Q.A,{variant:"body1",color:"text.secondary",sx:{mt:1,mb:3,maxWidth:700},children:k("models.wizard.budgetVerbose")}):(0,d.jsx)(Q.A,{color:"text.secondary",sx:{mt:1,mb:3},children:k("models.wizard.budgetBrief")}),(0,d.jsxs)(ba,{children:[(0,d.jsx)(a9,{icon:aX,title:k("models.wizard.startFree"),description:k("models.wizard.startFreeDescription"),badge:k("models.wizard.startHere"),onClick:()=>ag("location")}),(0,d.jsx)(a9,{icon:a_,title:k("models.wizard.alreadySubscribe"),description:k("models.wizard.alreadySubscribeDescription"),onClick:()=>ag("subscription-provider")}),(0,d.jsx)(a9,{icon:aR,title:k("models.wizard.payNoSubscription"),description:k("models.wizard.payNoSubscriptionDescription"),onClick:()=>ag("paid-provider")})]})]});if("location"===n)return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(Q.A,{variant:"overline",color:"primary.main",children:k("models.wizard.freeRoute")}),(0,d.jsx)(Q.A,{variant:"h4",children:k("models.wizard.locationTitle")}),(0,d.jsx)(Q.A,{color:"text.secondary",sx:{mt:1,mb:3},children:aq?k("models.wizard.locationVerbose"):k("models.wizard.locationBrief")}),(0,d.jsxs)(h.default,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"1fr 1fr"},gap:1.5},children:[(0,d.jsx)(a9,{icon:aO.A,title:k("models.wizard.online"),description:k("models.wizard.onlineDescription"),badge:k("models.wizard.easy"),onClick:()=>ag("free-provider")}),(0,d.jsx)(a9,{icon:aP.A,title:k("models.wizard.offline"),description:k("models.wizard.offlineDescription"),badge:k("models.wizard.private"),onClick:()=>ah("ollama")})]})]});if("free-provider"===n)return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(Q.A,{variant:"overline",color:"primary.main",children:k("models.wizard.copy.freeOnline")}),(0,d.jsx)(Q.A,{variant:"h4",children:k("models.wizard.chooseGateway")}),(0,d.jsx)(Q.A,{color:"text.secondary",sx:{mt:1,mb:3},children:aq?k("models.wizard.freeGatewayVerbose"):k("models.wizard.freeGatewayBrief")}),(0,d.jsxs)(h.default,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"1fr 1fr"},gap:1.5},children:[(0,d.jsx)(a9,{icon:aW.A,title:"OpenRouter",description:k("models.wizard.openrouterFreeDescription"),badge:k("models.wizard.recommended"),onClick:()=>ah("openrouter-free")}),(0,d.jsx)(a9,{icon:aO.A,title:"Requesty",description:k("models.wizard.requestyFreeDescription"),onClick:()=>ah("requesty-free")})]})]});if("subscription-provider"===n)return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(Q.A,{variant:"overline",color:"primary.main",children:k("models.wizard.useExisting")}),(0,d.jsx)(Q.A,{variant:"h4",children:k("models.wizard.whichService")}),(0,d.jsx)(Q.A,{color:"text.secondary",sx:{mt:1,mb:3},children:aq?k("models.wizard.subscriptionVerbose"):k("models.wizard.subscriptionBrief")}),(0,d.jsxs)(ba,{children:[(0,d.jsx)(a9,{icon:aZ.A,title:"Claude",description:k("models.wizard.claudeDescription"),onClick:()=>ah("claude-subscription")}),(0,d.jsx)(a9,{icon:a$,title:"ChatGPT / Codex",description:k("models.wizard.codexDescription"),badge:k("models.wizard.noKeyPaste"),onClick:()=>ah("codex-subscription")}),(0,d.jsx)(a9,{icon:J.A,title:k("models.wizard.geminiNative"),description:k("models.wizard.geminiDescription"),onClick:()=>ah("gemini-native")})]})]});if("paid-provider"===n)return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(Q.A,{variant:"overline",color:"primary.main",children:k("models.wizard.payUsage")}),(0,d.jsx)(Q.A,{variant:"h4",children:k("models.wizard.chooseModelGateway")}),(0,d.jsx)(Q.A,{color:"text.secondary",sx:{mt:1,mb:3},children:aq?k("models.wizard.paidVerbose"):k("models.wizard.paidBrief")}),(0,d.jsxs)(h.default,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"1fr 1fr"},gap:1.5},children:[(0,d.jsx)(a9,{icon:aW.A,title:"OpenRouter",description:k("models.wizard.openrouterPaidDescription"),badge:k("models.wizard.recommended"),onClick:()=>ah("openrouter-paid")}),(0,d.jsx)(a9,{icon:aO.A,title:"Requesty",description:k("models.wizard.requestyPaidDescription"),onClick:()=>ah("requesty-paid")})]})]});if("setup"===n&&"ollama"===t)return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(Q.A,{variant:"overline",color:"primary.main",children:k("models.wizard.freeOffline")}),(0,d.jsx)(Q.A,{variant:"h4",children:k("models.wizard.ollamaTitle")}),(0,d.jsx)(Q.A,{color:"text.secondary",sx:{mt:1,mb:2.5},children:k("models.wizard.ollamaDescription")}),Z?(0,d.jsxs)(h.default,{sx:{display:"flex",alignItems:"center",gap:1.5,py:3},children:[(0,d.jsx)(O.default,{size:22}),(0,d.jsx)(Q.A,{children:k("models.wizard.checkingOllama")})]}):null,!Z&&X?(0,d.jsx)(g.A,{variant:"outlined",sx:{p:2,mb:2,borderRadius:3},children:(0,d.jsxs)(aF.A,{direction:{xs:"column",sm:"row"},justifyContent:"space-between",spacing:1.5,children:[(0,d.jsxs)(h.default,{children:[(0,d.jsx)(Q.A,{variant:"subtitle1",sx:{fontWeight:720},children:k("models.wizard.recommendedModel",{model:au})}),(0,d.jsx)(Q.A,{variant:"body2",color:"text.secondary",children:X.ollamaReachable?av?k("models.wizard.ollamaInstalled"):k("models.wizard.ollamaCanDownload"):k("models.wizard.ollamaNotRunningHelp")})]}),(0,d.jsx)(aD.A,{color:X.ollamaReachable?"success":"warning",label:X.ollamaReachable?k("models.wizard.ollamaReady"):k("models.wizard.notRunning")})]})}):null,Z||X?.ollamaReachable?null:(0,d.jsxs)(h.default,{sx:{mb:2},children:[aw("ollama","winget install --id Ollama.Ollama -e --source winget"),(0,d.jsx)(B.A,{startIcon:(0,d.jsx)(aV.A,{}),onClick:()=>void al(),disabled:Z||!!P,sx:{mt:1},children:k("models.wizard.checkAgain")})]}),ab?(0,d.jsxs)(h.default,{sx:{my:2},children:[(0,d.jsx)(aG.A,{}),(0,d.jsx)(Q.A,{variant:"body2",sx:{mt:1},children:k("models.wizard.downloading",{model:au})}),ad.length?(0,d.jsx)(Q.A,{component:"pre",variant:"caption",color:"text.secondary",sx:{whiteSpace:"pre-wrap"},children:ad.join("\n")}):null]}):null,(0,d.jsx)(B.A,{variant:"contained",size:"large",startIcon:z||ab?(0,d.jsx)(O.default,{size:18,color:"inherit"}):(0,d.jsx)(aS.A,{}),onClick:()=>void ap(),disabled:!X?.ollamaReachable||z||ab,children:av?k("models.wizard.connectModel",{model:au}):k("models.wizard.downloadConnect",{model:au})})]});if("setup"===n&&t&&as){let a="claude-subscription"===t,b="codex-subscription"===t;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(Q.A,{variant:"overline",color:"primary.main",children:k(as.eyebrow)}),(0,d.jsx)(Q.A,{variant:"h4",children:k(as.title)}),(0,d.jsx)(Q.A,{color:"text.secondary",sx:{mt:1,mb:2.2,maxWidth:720},children:k(as.summary)}),a?(0,d.jsxs)(h.default,{sx:{mb:2},children:[(0,d.jsx)(Q.A,{variant:"subtitle2",sx:{mb:1},children:k("models.wizard.installClaude")}),aw("claude","winget install --id Anthropic.ClaudeCode -e --source winget","claude setup-token")]}):null,b?(0,d.jsxs)(h.default,{sx:{mb:2},children:[(0,d.jsx)(Q.A,{variant:"subtitle2",sx:{mb:1},children:k("models.wizard.installCodex")}),aw("codex","winget install --id OpenAI.Codex -e --source winget","codex login"),(0,d.jsx)(aH.A,{sx:{mt:1},control:(0,d.jsx)(aI.A,{checked:x,onChange:a=>y(a.target.checked)}),label:k("models.wizard.codexLoginComplete")})]}):null,as.accountUrl?(0,d.jsx)(B.A,{href:as.accountUrl,target:"_blank",rel:"noreferrer",variant:"outlined",startIcon:(0,d.jsx)(aU.A,{}),sx:{mb:2},children:as.accountLabel?k(as.accountLabel):null}):null,b?null:(0,d.jsx)(i.A,{fullWidth:!0,type:"password",autoComplete:"off",label:`${a?"2. ":""}${as.keyLabel?k(as.keyLabel):""}`,value:v,onChange:a=>{w(a.target.value),D(null)},InputProps:{startAdornment:(0,d.jsx)(aT,{color:"action",sx:{mr:1}})},helperText:k("models.wizard.keyStorageHelp"),sx:{mb:2}}),(0,d.jsx)(G.A,{severity:"info",sx:{mb:2},children:k(as.note)}),(0,d.jsx)(Q.A,{variant:"subtitle2",sx:{mb:1},children:k("models.wizard.willAdd")}),(0,d.jsx)(aF.A,{direction:"row",gap:.8,flexWrap:"wrap",sx:{mb:2.5},children:at.map(a=>(0,d.jsx)(aD.A,{label:a,variant:"outlined"},a))}),(0,d.jsx)(B.A,{variant:"contained",size:"large",startIcon:z?(0,d.jsx)(O.default,{size:18,color:"inherit"}):(0,d.jsx)(J.A,{}),onClick:()=>void ao(),disabled:z||!!P,children:l("models.wizard.createModels",at.length)})]})}if("success"===n){let a=[...E,...H].map(a=>a.displayName||a.name);return(0,d.jsxs)(h.default,{sx:{textAlign:"center",py:2},children:[(0,d.jsx)(h.default,{sx:{width:78,height:78,mx:"auto",mb:2,display:"grid",placeItems:"center",borderRadius:"50%",color:"success.main",bgcolor:(0,m.X4)(j.palette.success.main,.13),animation:`${a7} 520ms cubic-bezier(.2,.8,.2,1) both`},children:(0,d.jsx)(aM.A,{sx:{fontSize:47}})}),(0,d.jsx)(Q.A,{variant:"h4",children:k("models.wizard.successTitle")}),(0,d.jsxs)(Q.A,{color:"text.secondary",sx:{mt:1,mb:2.2},children:[E.length?l("models.wizard.created",E.length):k("models.wizard.alreadyMatched"),H.length?` ${l("models.wizard.kept",H.length)}`:""]}),(0,d.jsx)(aF.A,{direction:"row",gap:.8,justifyContent:"center",flexWrap:"wrap",sx:{mb:3},children:a.map(a=>(0,d.jsx)(aD.A,{icon:(0,d.jsx)(aZ.A,{}),label:a,color:"primary",variant:"outlined"},a))}),(0,d.jsx)(B.A,{variant:"contained",size:"large",onClick:b,children:k("models.wizard.seeModels")})]})}return null})()},n)]})]})})}var bd=c(81025),be=c(61407),bf=c(61146);let bg=(0,ae.h)("app/models/ModelClient");function bh(){let{t:a}=(0,af.s9)(),b=(0,f.useRouter)(),c=(0,f.useSearchParams)(),[k,l]=(0,e.useState)([]),[m,n]=(0,e.useState)(!1),[o,p]=(0,e.useState)(""),q=(0,be.j)(),[r,s]=(0,e.useState)(null),[t,u]=(0,e.useState)(!1),[v,w]=(0,e.useState)(!1),[x,y]=(0,e.useState)(null),[z,M]=(0,e.useState)(null),N=(0,e.useRef)(!1);(0,ax.qz)({scopeId:"models:dashboard",pageType:"models",route:"/models",title:"AI Setup",data:{models:k.map(a=>({...a,ApiKey:a.ApiKey?"[REDACTED]":""})),searchTerm:o},capabilities:{notes:["API keys are intentionally redacted before model configuration enters AI context."]}});let O=c.get("add"),P="manual"===O;if(!v||!m)return bg.debug("Waiting for model service to be ready..."),(0,d.jsx)(bf.default,{});let Q=c.get("edit"),R=P?z:Q?k.find(a=>a.id===Q)??null:null,S=P?!!z:!!Q,T=async c=>{bg.info("Saving model",{modelId:c.id,modelName:c.name,mode:P?"add":"update"}),u(!0);try{let d=(0,aw.X)(),e=P?await d.addModel(c):await d.updateModel(c);if(!e.success)return s(e.error||a("models.saveFailed")),{success:!1,error:e.error};{let a=await d.loadModels();return l(a),M(null),N.current?(N.current=!1,b.back()):b.push("/models"),{success:!0,model:e.model}}}catch(b){return bg.error("Failed to save model",b),s(b?.message||a("models.saveFailedRetry")),{success:!1,error:b?.message||a("models.saveFailed")}}finally{u(!1)}},U=async a=>(bg.info("Editing model",{modelId:a.id,modelName:a.name}),N.current=!0,b.push(`/models?edit=${a.id}`),{success:!0}),V=async()=>{bg.info("Opening guided model connection wizard"),y(null),N.current=!0,b.push("/models?add=1")},W=()=>{bg.info("Opening manual add-model modal"),y(null),N.current=!0,b.push("/models?add=manual")},X=async c=>{bg.info("Creating guided model bundle",{count:c.length}),u(!0),s(null);let d=[],e=[];try{let f=(0,aw.X)(),g=[...await f.loadModels()];for(let b of c){let c=g.find(a=>a.provider===b.provider&&(a.adapter||"openai")===(b.adapter||"openai")&&a.name.trim().toLowerCase()===b.name.trim().toLowerCase());if(c){e.push(c);continue}let h=b.displayName||b.name,i=h,j=2;for(;g.some(a=>a.displayName?.trim().toLowerCase()===i.trim().toLowerCase());)i=`${h} (${j})`,j+=1;let k=await f.addModel({...b,displayName:i});if(!k.success||!k.model){let b=await f.loadModels();return l(b),{success:!1,created:d,existing:e,error:k.error||a("models.createNamedFailed",{name:i})}}d.push(k.model),g.push(k.model)}let h=await f.loadModels();return l(h),b.refresh(),{success:!0,created:d,existing:e}}catch(c){bg.error("Failed to create guided model bundle",c);let b=c?.message||a("models.guidedBundleFailed");return s(b),{success:!1,created:d,existing:e,error:b}}finally{u(!1)}},Y=async b=>{bg.info("Deleting model",{modelId:b}),u(!0);try{let a=(0,aw.X)();await a.deleteModel(b);let c=await a.loadModels();l(c)}catch(b){bg.error("Failed to delete model",b),s(a("models.deleteFailed"))}finally{u(!1)}},Z=async(b,c)=>{bg.info("Setting model folder",{modelId:b,folder:c}),u(!0);try{let d=(0,aw.X)(),e=await d.getModel(b);if(!e)return void s(a("models.notFound"));let f=await d.updateModel({...e,folder:c});if(!f.success)return void s(f.error||a("models.moveFailed"));let g=await d.loadModels();l(g)}catch(b){bg.error("Failed to set model folder",b),s(b?.message||a("models.moveFailedRetry"))}finally{u(!1)}},$=async b=>{bg.info("Toggling model favorite",{modelId:b}),u(!0);try{let c=(0,aw.X)(),d=await c.getModel(b);if(!d)return void s(a("models.notFound"));let e=!d.favorite,f=await c.updateModel({...d,favorite:e||void 0});if(!f.success)return void s(f.error||a("models.favoriteFailed"));let g=await c.loadModels();l(g)}catch(b){bg.error("Failed to toggle model favorite",b),s(b?.message||a("models.favoriteFailedRetry"))}finally{u(!1)}},_=async()=>{M(null),N.current?(N.current=!1,b.back()):b.replace("/models")},aa=o.trim()?k.filter(a=>{let b=o.toLowerCase();return(a.displayName||"").toLowerCase().includes(b)||(a.name||"").toLowerCase().includes(b)}):k;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(bd.A,{mode:"page",children:(0,d.jsx)(g.A,{elevation:0,variant:"outlined",sx:{mb:2.5,p:1.2,borderRadius:3},children:(0,d.jsxs)(h.default,{sx:{display:"flex",flexDirection:{xs:"column",sm:"row"},gap:1,alignItems:{xs:"stretch",sm:"center"},justifyContent:"space-between"},children:[(0,d.jsx)(i.A,{placeholder:a("models.searchPlaceholder"),variant:"outlined",size:"small",value:o,onChange:a=>p(a.target.value),inputRef:q,InputProps:{startAdornment:(0,d.jsx)(j.A,{position:"start",children:(0,d.jsx)(K.A,{fontSize:"small"})})},sx:{maxWidth:{sm:300},width:"100%"}}),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(A,{variant:"contained",color:"primary","aria-label":a("models.connectionOptionsAria"),children:[(0,d.jsx)(B.A,{startIcon:(0,d.jsx)(H.A,{}),onClick:V,"data-tour":"add-model",children:a("models.connectAi")}),(0,d.jsx)(B.A,{size:"small","aria-label":a("models.moreOptionsAria"),"aria-controls":x?"add-model-menu":void 0,"aria-haspopup":"menu","aria-expanded":x?"true":void 0,onClick:a=>y(a.currentTarget),sx:{px:.8,minWidth:40},children:(0,d.jsx)(I.A,{})})]}),(0,d.jsxs)(C.A,{id:"add-model-menu",anchorEl:x,open:!!x,onClose:()=>y(null),children:[(0,d.jsxs)(D.A,{onClick:V,children:[(0,d.jsx)(E.A,{children:(0,d.jsx)(J.A,{fontSize:"small"})}),(0,d.jsx)(F.A,{primary:a("models.guidedConnection"),secondary:a("models.guidedConnectionDescription")})]}),(0,d.jsxs)(D.A,{onClick:W,children:[(0,d.jsx)(E.A,{children:(0,d.jsx)(L.A,{fontSize:"small"})}),(0,d.jsx)(F.A,{primary:a("models.manualCreation"),secondary:a("models.manualCreationDescription")})]})]})]})]})})}),r&&(0,d.jsx)(h.default,{sx:{mb:2},children:(0,d.jsx)(G.A,{severity:"error",onClose:()=>s(null),children:r})}),(0,d.jsx)(ah,{models:aa,isLoading:t,onAdd:V,onUpdate:U,onDelete:Y,folders:(0,ab.yF)(k,a=>a.folder),onSetFolder:Z,onToggleFavorite:$}),(0,d.jsx)(bc,{open:"1"===O,onClose:_,onManualCreation:W,onCreateModels:X}),S&&R?(0,d.jsx)(aC,{open:S,model:R,onSave:T,onClose:_}):null]})}},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},89194:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(32586),e=c(48249);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")},89686:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(32586),e=c(48249);let f=(0,d.A)((0,e.jsx)("path",{d:"M10.67 21c-.35 0-.62-.31-.57-.66L11 14H7.5c-.88 0-.33-.75-.31-.78 1.26-2.23 3.15-5.53 5.65-9.93.1-.18.3-.29.5-.29.35 0 .62.31.57.66l-.9 6.34h3.51c.4 0 .62.19.4.66-3.29 5.74-5.2 9.09-5.75 10.05-.1.18-.29.29-.5.29"}),"BoltRounded")},91177:(a,b,c)=>{Promise.resolve().then(c.bind(c,29184)),Promise.resolve().then(c.bind(c,52454))},91837:(a,b,c)=>{"use strict";c.d(b,{default:()=>h});var d=c(48249);c(67484);var e=c(29184),f=c(72581),g=c(1395);function h({storageKey:a,sx:b,deps:c,nav:i=!0,children:j}){let{ref:k,clusterProps:l}=(0,g.QY)(a,{deps:c});return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(e.default,{ref:k,sx:{...b,overflow:"auto"},children:j}),!1!==i&&(0,d.jsx)(f.A,{...l,...Array.isArray(i)?{actions:i}:{}})]})}},99958:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(32586),e=c(48249);let f=(0,d.A)((0,e.jsx)("path",{d:"M9.19 6.35c-2.04 2.29-3.44 5.58-3.57 5.89l-2.26-.97c-.65-.28-.81-1.13-.31-1.63l3.01-3.01c.47-.47 1.15-.68 1.81-.55zm1.49 10.16c.3.3.74.38 1.12.2 1.16-.54 3.65-1.81 5.26-3.42 4.59-4.59 4.63-8.33 4.36-9.93-.07-.4-.39-.72-.79-.79-1.6-.27-5.34-.23-9.93 4.36-1.61 1.61-2.87 4.1-3.42 5.26-.18.38-.09.83.2 1.12zm6.97-1.7c-2.29 2.04-5.58 3.44-5.89 3.57l.97 2.26c.28.65 1.13.81 1.63.31l3.01-3.01c.47-.47.68-1.15.55-1.81zm-8.71 2.6c.2 1.06-.15 2.04-.82 2.71-.77.77-3.16 1.34-4.71 1.64-.69.13-1.3-.48-1.17-1.17.3-1.55.86-3.94 1.64-4.71.67-.67 1.65-1.02 2.71-.82 1.17.22 2.13 1.18 2.35 2.35M13 9c0-1.1.9-2 2-2s2 .9 2 2-.9 2-2 2-2-.9-2-2"}),"RocketLaunchRounded")}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,319,4490,3727,437,8458,1269,1990,9345,7393,7911,7476,9050,2839,8767,3761,5434,9553],()=>b(b.s=82235));module.exports=c})();
63
+ `,a8={"openrouter-free":{eyebrow:"models.wizard.copy.freeOnline",title:"models.wizard.openrouterFree.title",summary:"models.wizard.openrouterFree.summary",accountUrl:"https://openrouter.ai/settings/keys",accountLabel:"models.wizard.openrouterFree.account",keyLabel:"models.wizard.openrouterKey",note:"models.wizard.openrouterFree.note"},"requesty-free":{eyebrow:"models.wizard.copy.freeOnline",title:"models.wizard.requestyFree.title",summary:"models.wizard.requestyFree.summary",accountUrl:"https://app.requesty.ai/api-keys",accountLabel:"models.wizard.requestyFree.account",keyLabel:"models.wizard.requestyKey",note:"models.wizard.requestyFree.note"},"openrouter-paid":{eyebrow:"models.wizard.copy.paygOnline",title:"models.wizard.openrouterPaid.title",summary:"models.wizard.openrouterPaid.summary",accountUrl:"https://openrouter.ai/settings/keys",accountLabel:"models.wizard.openrouterPaid.account",keyLabel:"models.wizard.openrouterKey",note:"models.wizard.openrouterPaid.note"},"requesty-paid":{eyebrow:"models.wizard.copy.paygOnline",title:"models.wizard.requestyPaid.title",summary:"models.wizard.requestyPaid.summary",accountUrl:"https://app.requesty.ai/api-keys",accountLabel:"models.wizard.requestyPaid.account",keyLabel:"models.wizard.requestyKey",note:"models.wizard.requestyPaid.note"},azure:{eyebrow:"models.wizard.copy.azure",title:"models.wizard.azure.title",summary:"models.wizard.azure.summary",accountUrl:"https://ai.azure.com/",accountLabel:"models.wizard.azure.account",keyLabel:"models.wizard.azure.key",note:"models.wizard.azure.note"},"claude-subscription":{eyebrow:"models.wizard.copy.claudeSubscription",title:"models.wizard.claude.title",summary:"models.wizard.claude.summary",keyLabel:"models.wizard.claude.key",note:"models.wizard.claude.note"},"codex-subscription":{eyebrow:"models.wizard.copy.chatgptSubscription",title:"models.wizard.codex.title",summary:"models.wizard.codex.summary",note:"models.wizard.codex.note"},"gemini-native":{eyebrow:"models.wizard.copy.googleNative",title:"models.wizard.gemini.title",summary:"models.wizard.gemini.summary",accountUrl:"https://aistudio.google.com/app/apikey",accountLabel:"models.wizard.gemini.account",keyLabel:"models.wizard.gemini.key",note:"models.wizard.gemini.note"}};function a9({icon:a,title:b,description:c,badge:e,onClick:f}){let i=(0,N.A)();return(0,d.jsxs)(g.A,{component:"button",type:"button",variant:"outlined",onClick:f,sx:{position:"relative",width:"100%",minHeight:132,p:2.2,borderRadius:3,color:"text.primary",textAlign:"left",cursor:"pointer",font:"inherit",background:`linear-gradient(145deg, ${(0,m.X4)(i.palette.primary.main,.08)}, ${(0,m.X4)(i.palette.background.paper,.72)} 55%)`,transition:"transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease","&:hover":{transform:"translateY(-3px) rotate(-.2deg)",borderColor:(0,m.X4)(i.palette.primary.main,.7),boxShadow:`0 16px 38px ${(0,m.X4)(i.palette.primary.main,.16)}`},"&:focus-visible":{outline:`3px solid ${(0,m.X4)(i.palette.primary.main,.3)}`,outlineOffset:3}},children:[e?(0,d.jsx)(aD.A,{label:e,size:"small",color:"primary",sx:{position:"absolute",top:12,right:12}}):null,(0,d.jsx)(h.default,{sx:{width:43,height:43,display:"grid",placeItems:"center",mb:1.3,borderRadius:2.4,color:"primary.main",bgcolor:(0,m.X4)(i.palette.primary.main,.12)},children:(0,d.jsx)(a,{})}),(0,d.jsx)(Q.A,{variant:"subtitle1",sx:{fontWeight:720,pr:7*!!e},children:b}),(0,d.jsx)(Q.A,{variant:"body2",color:"text.secondary",sx:{mt:.45},children:c})]})}function ba({children:a}){return(0,d.jsx)(h.default,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"repeat(3, minmax(0, 1fr))"},gap:1.5},children:a})}function bb({command:a,copied:b,onCopy:c}){let e=(0,N.A)(),{t:f}=(0,af.s9)();return(0,d.jsxs)(h.default,{sx:{display:"flex",alignItems:"center",gap:1,px:1.5,py:1,borderRadius:2,bgcolor:(0,m.X4)(e.palette.common.black,"dark"===e.palette.mode?.26:.055)},children:[(0,d.jsx)(a$,{fontSize:"small",color:"action"}),(0,d.jsx)(Q.A,{component:"code",variant:"body2",sx:{flex:1,overflowWrap:"anywhere",fontFamily:"var(--font-geist-mono), ui-monospace, monospace"},children:a}),(0,d.jsx)(aE.A,{title:f(b?"models.wizard.copied":"models.wizard.copyCommand"),children:(0,d.jsx)(R.A,{size:"small",onClick:c,"aria-label":f("models.wizard.copyCommandAria",{command:a}),children:b?(0,d.jsx)(aM.A,{color:"success",fontSize:"small"}):(0,d.jsx)(aQ.A,{fontSize:"small"})})})]})}function bc({open:a,onClose:b,onManualCreation:c,onCreateModels:f}){let j=(0,N.A)(),{t:k,tp:l}=(0,af.s9)(),[n,o]=(0,e.useState)("welcome"),[p,q]=(0,e.useState)([]),[r,s]=(0,e.useState)("beginner"),[t,u]=(0,e.useState)(null),[v,w]=(0,e.useState)(""),[x,y]=(0,e.useState)(""),[z,A]=(0,e.useState)(""),[C,D]=(0,e.useState)(au.V0),[E,F]=(0,e.useState)(!1),[H,I]=(0,e.useState)(!1),[K,M]=(0,e.useState)(null),[P,S]=(0,e.useState)([]),[T,U]=(0,e.useState)([]),[V,W]=(0,e.useState)(null),[X,Y]=(0,e.useState)(null),[Z,$]=(0,e.useState)([]),[_,aa]=(0,e.useState)("idle"),[ab,ac]=(0,e.useState)(null),[ad,ae]=(0,e.useState)(!1),[ag,ah]=(0,e.useState)(!1),[ai,al]=(0,e.useState)(!1),[am,an]=(0,e.useState)([]),ao=a=>{q(a=>[...a,n]),o(a),M(null)},ap=a=>{u(a),ao("setup")},aq=async a=>{try{await navigator.clipboard.writeText(a),W(a),window.setTimeout(()=>W(b=>b===a?null:b),1600)}catch{M(k("models.wizard.copyFailed"))}},ar=(0,e.useCallback)(async()=>{ae(!0),M(null);try{let a=await fetch("/api/local-models/capability",{cache:"no-store"});if(!a.ok)throw Error(k("models.wizard.inspectFailed"));ac(await a.json())}catch(a){M(a instanceof Error?a.message:k("models.wizard.inspectFailed"))}finally{ah(!0),ae(!1)}},[k]),as=async a=>{Y(a),aa("idle"),$([]),M(null);try{let b=await fetch("/api/setup/ai-cli",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tool:a})});if(!b.ok){let a=await b.json().catch(()=>({}));throw Error(a.error||k("models.wizard.installerStartFailed"))}let c=!1,d="";if(await (0,a2.z)(b,a=>{("stdout"===a.type||"stderr"===a.type)&&$(b=>[...b,a.data].slice(-8)),"status"===a.type&&a.message&&$(b=>[...b,a.message].slice(-8)),"result"===a.type&&(c=a.success,d=a.error||"")}),!c)throw Error(d||k("models.wizard.wingetFailed"));aa("success"),"ollama"===a&&window.setTimeout(()=>void ar(),1200)}catch(a){aa("error"),M(a instanceof Error?a.message:k("models.wizard.installFailed"))}finally{Y(null)}},at=async a=>{I(!0),M(null);try{let b=await f(a);if(!b.success)throw Error(b.error||k("models.wizard.createFailed"));S(b.created),U(b.existing),ao("success")}catch(a){M(a instanceof Error?a.message:k("models.wizard.createFailed"))}finally{I(!1)}},av=async()=>{if(t&&"ollama"!==t){if("codex-subscription"!==t&&!v.trim())return void M("claude-subscription"===t?k("models.wizard.pasteClaudeToken"):k("models.wizard.pasteApiKey"));if("codex-subscription"===t&&!E)return void M(k("models.wizard.confirmCodexLogin"));if("azure"===t){let a=x.trim();if(!a||!z.trim()||!C.trim())return void M(k("models.wizard.azure.completeFields"));try{if("https:"!==new URL(a).protocol)throw Error("https")}catch{M(k("models.wizard.azure.endpointInvalid"));return}}await at(a4({kind:t,apiKey:v,azureEndpoint:x,azureDeployment:z,azureApiVersion:C}))}},aw=async()=>{let a=ab?.suggestedModel||"llama3.2:3b",b=ab?.installedModels?.some(b=>b===a);if(!ab?.ollamaReachable)return void M(k("models.wizard.startOllama"));if(!b){al(!0),an([]),M(null);try{let b=await fetch("/api/local-models/pull",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:a})});if(!b.ok)throw Error(k("models.wizard.ollamaDownloadStartFailed"));let c=!1,d="";if(await (0,a2.z)(b,a=>{("stdout"===a.type||"stderr"===a.type)&&an(b=>[...b,a.data].slice(-6)),"result"===a.type&&(c=a.success,d=a.error||"")}),!c)throw Error(d||k("models.wizard.modelDownloadFailed",{model:a}))}catch(a){M(a instanceof Error?a.message:k("models.wizard.downloadFailed")),al(!1);return}al(!1)}await at(a4({kind:"ollama",ollamaModel:a,ollamaUrl:ab?.ollamaUrl}))},ax="beginner"===r,ay=Math.min(96,"welcome"===n?8:"success"===n?100:22+15*p.length),az=t&&"ollama"!==t?a8[t]:null,aA=(0,e.useMemo)(()=>"azure"===t?[`Azure ${z.trim()||"OpenAI deployment"}`]:t?a4({kind:t}).map(a=>a.displayName||a.name):[],[z,t]),aB=ab?.suggestedModel||"llama3.2:3b",aC=!!ab?.installedModels?.includes(aB),aE=(a,b,c)=>(0,d.jsxs)(aF.A,{spacing:1.1,children:[(0,d.jsx)(bb,{command:b,copied:V===b,onCopy:()=>void aq(b)}),(0,d.jsx)(B.A,{variant:"outlined",startIcon:X===a?(0,d.jsx)(O.default,{size:17}):(0,d.jsx)(aS.A,{}),disabled:!!X,onClick:()=>void as(a),sx:{alignSelf:"flex-start"},children:X===a?k("models.wizard.installing"):k("models.wizard.installWinget")}),c?(0,d.jsx)(bb,{command:c,copied:V===c,onCopy:()=>void aq(c)}):null,"success"===_?(0,d.jsx)(G.A,{severity:"success",children:k("models.wizard.installedContinue")}):null,Z.length?(0,d.jsx)(h.default,{component:"pre",sx:{m:0,p:1.4,maxHeight:110,overflow:"auto",borderRadius:2,bgcolor:(0,m.X4)(j.palette.common.black,"dark"===j.palette.mode?.3:.06),color:"text.secondary",whiteSpace:"pre-wrap",fontSize:11},children:Z.join("\n")}):null]});return(0,d.jsx)(aj.A,{open:a,onClose:H||ai||X?void 0:b,fullWidth:!0,maxWidth:"md","aria-label":k("models.wizard.aria"),children:(0,d.jsxs)(ak.A,{"data-tour":"ai-setup-wizard",sx:{position:"relative",minHeight:{xs:560,sm:590},p:{xs:2.2,sm:4},overflowX:"hidden",overflowY:"auto"},children:[(0,d.jsx)(h.default,{"aria-hidden":!0,sx:{position:"absolute",width:220,height:220,borderRadius:"50%",top:-120,right:-70,bgcolor:(0,m.X4)(j.palette.secondary.main,.12),filter:"blur(1px)",animation:`${a5} 6s ease-in-out infinite`}}),(0,d.jsx)(h.default,{"aria-hidden":!0,sx:{position:"absolute",width:150,height:150,borderRadius:5,bottom:-100,left:-70,bgcolor:(0,m.X4)(j.palette.primary.main,.1),transform:"rotate(24deg)",animation:`${a5} 7s ease-in-out -2s infinite`}}),(0,d.jsxs)(h.default,{sx:{position:"relative",zIndex:1},children:[(0,d.jsxs)(h.default,{sx:{display:"flex",alignItems:"center",gap:1,mb:2},children:[p.length&&"success"!==n?(0,d.jsx)(R.A,{onClick:()=>{let a=p[p.length-1];a&&(q(a=>a.slice(0,-1)),o(a),M(null))},"aria-label":k("models.wizard.backAria"),children:(0,d.jsx)(aK.A,{})}):(0,d.jsx)(h.default,{sx:{width:40}}),(0,d.jsx)(h.default,{sx:{flex:1},children:(0,d.jsx)(aG.A,{variant:"determinate",value:ay,"aria-label":k("models.wizard.progressAria")})}),(0,d.jsxs)(h.default,{display:"flex",alignItems:"center",gap:.5,children:[(0,d.jsx)(a0.A,{}),(0,d.jsx)(a1.A,{variant:"icon"}),(0,d.jsx)(R.A,{onClick:b,"aria-label":k("models.wizard.closeAria"),disabled:H||ai||!!X,children:(0,d.jsx)(aN.A,{})})]})]}),K?(0,d.jsx)(G.A,{severity:"error",onClose:()=>M(null),sx:{mb:2},children:K}):null,(0,d.jsx)(h.default,{sx:{animation:`${a6} 260ms ease-out both`,"@media (prefers-reduced-motion: reduce)":{animation:"none"}},children:(()=>{if("welcome"===n)return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(aD.A,{icon:(0,d.jsx)(J.A,{}),label:k("models.wizard.twoMinuteSetup"),color:"primary",variant:"outlined",sx:{mb:2}}),(0,d.jsx)(Q.A,{variant:"h4",children:k("models.wizard.welcomeTitle")}),(0,d.jsx)(Q.A,{variant:"body1",color:"text.secondary",sx:{mt:1,mb:3,maxWidth:680},children:k("models.wizard.welcomeQuestion")}),(0,d.jsxs)(ba,{children:[(0,d.jsx)(a9,{icon:aY,title:k("models.wizard.noIdea"),description:k("models.wizard.noIdeaDescription"),badge:k("models.wizard.gentleGuide"),onClick:()=>{s("beginner"),ao("budget")}}),(0,d.jsx)(a9,{icon:aL.A,title:k("models.wizard.knowABit"),description:k("models.wizard.knowABitDescription"),onClick:()=>{s("familiar"),ao("budget")}}),(0,d.jsx)(a9,{icon:L.A,title:k("models.wizard.expert"),description:k("models.wizard.expertDescription"),onClick:c})]})]});if("budget"===n)return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(Q.A,{variant:"overline",color:"primary.main",children:k("models.wizard.firstThings")}),(0,d.jsx)(Q.A,{variant:"h4",children:k("models.wizard.budgetTitle")}),ax?(0,d.jsx)(Q.A,{variant:"body1",color:"text.secondary",sx:{mt:1,mb:3,maxWidth:700},children:k("models.wizard.budgetVerbose")}):(0,d.jsx)(Q.A,{color:"text.secondary",sx:{mt:1,mb:3},children:k("models.wizard.budgetBrief")}),(0,d.jsxs)(ba,{children:[(0,d.jsx)(a9,{icon:aX,title:k("models.wizard.startFree"),description:k("models.wizard.startFreeDescription"),badge:k("models.wizard.startHere"),onClick:()=>ao("location")}),(0,d.jsx)(a9,{icon:a_,title:k("models.wizard.alreadySubscribe"),description:k("models.wizard.alreadySubscribeDescription"),onClick:()=>ao("subscription-provider")}),(0,d.jsx)(a9,{icon:aR,title:k("models.wizard.payNoSubscription"),description:k("models.wizard.payNoSubscriptionDescription"),onClick:()=>ao("paid-provider")})]})]});if("location"===n)return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(Q.A,{variant:"overline",color:"primary.main",children:k("models.wizard.freeRoute")}),(0,d.jsx)(Q.A,{variant:"h4",children:k("models.wizard.locationTitle")}),(0,d.jsx)(Q.A,{color:"text.secondary",sx:{mt:1,mb:3},children:ax?k("models.wizard.locationVerbose"):k("models.wizard.locationBrief")}),(0,d.jsxs)(h.default,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"1fr 1fr"},gap:1.5},children:[(0,d.jsx)(a9,{icon:aO.A,title:k("models.wizard.online"),description:k("models.wizard.onlineDescription"),badge:k("models.wizard.easy"),onClick:()=>ao("free-provider")}),(0,d.jsx)(a9,{icon:aP.A,title:k("models.wizard.offline"),description:k("models.wizard.offlineDescription"),badge:k("models.wizard.private"),onClick:()=>ap("ollama")})]})]});if("free-provider"===n)return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(Q.A,{variant:"overline",color:"primary.main",children:k("models.wizard.copy.freeOnline")}),(0,d.jsx)(Q.A,{variant:"h4",children:k("models.wizard.chooseGateway")}),(0,d.jsx)(Q.A,{color:"text.secondary",sx:{mt:1,mb:3},children:ax?k("models.wizard.freeGatewayVerbose"):k("models.wizard.freeGatewayBrief")}),(0,d.jsxs)(h.default,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"1fr 1fr"},gap:1.5},children:[(0,d.jsx)(a9,{icon:aW.A,title:"OpenRouter",description:k("models.wizard.openrouterFreeDescription"),badge:k("models.wizard.recommended"),onClick:()=>ap("openrouter-free")}),(0,d.jsx)(a9,{icon:aO.A,title:"Requesty",description:k("models.wizard.requestyFreeDescription"),onClick:()=>ap("requesty-free")})]})]});if("subscription-provider"===n)return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(Q.A,{variant:"overline",color:"primary.main",children:k("models.wizard.useExisting")}),(0,d.jsx)(Q.A,{variant:"h4",children:k("models.wizard.whichService")}),(0,d.jsx)(Q.A,{color:"text.secondary",sx:{mt:1,mb:3},children:ax?k("models.wizard.subscriptionVerbose"):k("models.wizard.subscriptionBrief")}),(0,d.jsxs)(ba,{children:[(0,d.jsx)(a9,{icon:aZ.A,title:"Claude",description:k("models.wizard.claudeDescription"),onClick:()=>ap("claude-subscription")}),(0,d.jsx)(a9,{icon:a$,title:"ChatGPT / Codex",description:k("models.wizard.codexDescription"),badge:k("models.wizard.noKeyPaste"),onClick:()=>ap("codex-subscription")}),(0,d.jsx)(a9,{icon:J.A,title:k("models.wizard.geminiNative"),description:k("models.wizard.geminiDescription"),onClick:()=>ap("gemini-native")})]})]});if("paid-provider"===n)return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(Q.A,{variant:"overline",color:"primary.main",children:k("models.wizard.payUsage")}),(0,d.jsx)(Q.A,{variant:"h4",children:k("models.wizard.chooseModelGateway")}),(0,d.jsx)(Q.A,{color:"text.secondary",sx:{mt:1,mb:3},children:ax?k("models.wizard.paidVerbose"):k("models.wizard.paidBrief")}),(0,d.jsxs)(ba,{children:[(0,d.jsx)(a9,{icon:aW.A,title:"OpenRouter",description:k("models.wizard.openrouterPaidDescription"),badge:k("models.wizard.recommended"),onClick:()=>ap("openrouter-paid")}),(0,d.jsx)(a9,{icon:aO.A,title:"Requesty",description:k("models.wizard.requestyPaidDescription"),onClick:()=>ap("requesty-paid")}),(0,d.jsx)(a9,{icon:aO.A,title:"Azure OpenAI",description:k("models.wizard.azureDescription"),onClick:()=>ap("azure")})]})]});if("setup"===n&&"ollama"===t)return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(Q.A,{variant:"overline",color:"primary.main",children:k("models.wizard.freeOffline")}),(0,d.jsx)(Q.A,{variant:"h4",children:k("models.wizard.ollamaTitle")}),(0,d.jsx)(Q.A,{color:"text.secondary",sx:{mt:1,mb:2.5},children:k("models.wizard.ollamaDescription")}),ad?(0,d.jsxs)(h.default,{sx:{display:"flex",alignItems:"center",gap:1.5,py:3},children:[(0,d.jsx)(O.default,{size:22}),(0,d.jsx)(Q.A,{children:k("models.wizard.checkingOllama")})]}):null,!ad&&ab?(0,d.jsx)(g.A,{variant:"outlined",sx:{p:2,mb:2,borderRadius:3},children:(0,d.jsxs)(aF.A,{direction:{xs:"column",sm:"row"},justifyContent:"space-between",spacing:1.5,children:[(0,d.jsxs)(h.default,{children:[(0,d.jsx)(Q.A,{variant:"subtitle1",sx:{fontWeight:720},children:k("models.wizard.recommendedModel",{model:aB})}),(0,d.jsx)(Q.A,{variant:"body2",color:"text.secondary",children:ab.ollamaReachable?aC?k("models.wizard.ollamaInstalled"):k("models.wizard.ollamaCanDownload"):k("models.wizard.ollamaNotRunningHelp")})]}),(0,d.jsx)(aD.A,{color:ab.ollamaReachable?"success":"warning",label:ab.ollamaReachable?k("models.wizard.ollamaReady"):k("models.wizard.notRunning")})]})}):null,ad||ab?.ollamaReachable?null:(0,d.jsxs)(h.default,{sx:{mb:2},children:[aE("ollama","winget install --id Ollama.Ollama -e --source winget"),(0,d.jsx)(B.A,{startIcon:(0,d.jsx)(aV.A,{}),onClick:()=>void ar(),disabled:ad||!!X,sx:{mt:1},children:k("models.wizard.checkAgain")})]}),ai?(0,d.jsxs)(h.default,{sx:{my:2},children:[(0,d.jsx)(aG.A,{}),(0,d.jsx)(Q.A,{variant:"body2",sx:{mt:1},children:k("models.wizard.downloading",{model:aB})}),am.length?(0,d.jsx)(Q.A,{component:"pre",variant:"caption",color:"text.secondary",sx:{whiteSpace:"pre-wrap"},children:am.join("\n")}):null]}):null,(0,d.jsx)(B.A,{variant:"contained",size:"large",startIcon:H||ai?(0,d.jsx)(O.default,{size:18,color:"inherit"}):(0,d.jsx)(aS.A,{}),onClick:()=>void aw(),disabled:!ab?.ollamaReachable||H||ai,children:aC?k("models.wizard.connectModel",{model:aB}):k("models.wizard.downloadConnect",{model:aB})})]});if("setup"===n&&t&&az){let a="claude-subscription"===t,b="codex-subscription"===t,c="azure"===t;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(Q.A,{variant:"overline",color:"primary.main",children:k(az.eyebrow)}),(0,d.jsx)(Q.A,{variant:"h4",children:k(az.title)}),(0,d.jsx)(Q.A,{color:"text.secondary",sx:{mt:1,mb:2.2,maxWidth:720},children:k(az.summary)}),a?(0,d.jsxs)(h.default,{sx:{mb:2},children:[(0,d.jsx)(Q.A,{variant:"subtitle2",sx:{mb:1},children:k("models.wizard.installClaude")}),aE("claude","winget install --id Anthropic.ClaudeCode -e --source winget","claude setup-token")]}):null,b?(0,d.jsxs)(h.default,{sx:{mb:2},children:[(0,d.jsx)(Q.A,{variant:"subtitle2",sx:{mb:1},children:k("models.wizard.installCodex")}),aE("codex","winget install --id OpenAI.Codex -e --source winget","codex login"),(0,d.jsx)(aH.A,{sx:{mt:1},control:(0,d.jsx)(aI.A,{checked:E,onChange:a=>F(a.target.checked)}),label:k("models.wizard.codexLoginComplete")})]}):null,az.accountUrl?(0,d.jsx)(B.A,{href:az.accountUrl,target:"_blank",rel:"noreferrer",variant:"outlined",startIcon:(0,d.jsx)(aU.A,{}),sx:{mb:2},children:az.accountLabel?k(az.accountLabel):null}):null,c?(0,d.jsxs)(aF.A,{spacing:1.2,sx:{mb:1},children:[(0,d.jsx)(i.A,{fullWidth:!0,required:!0,label:k("models.wizard.azure.endpoint"),placeholder:"https://your-resource.openai.azure.com",value:x,onChange:a=>{y(a.target.value),M(null)},helperText:k("models.wizard.azure.endpointHelp")}),(0,d.jsx)(i.A,{fullWidth:!0,required:!0,label:k("models.wizard.azure.deployment"),value:z,onChange:a=>{A(a.target.value),M(null)},helperText:k("models.wizard.azure.deploymentHelp")}),(0,d.jsx)(i.A,{fullWidth:!0,required:!0,label:k("models.wizard.azure.apiVersion"),value:C,onChange:a=>{D(a.target.value),M(null)},helperText:k("models.wizard.azure.apiVersionHelp")})]}):null,b?null:(0,d.jsx)(i.A,{fullWidth:!0,type:"password",autoComplete:"off",label:`${a?"2. ":""}${az.keyLabel?k(az.keyLabel):""}`,value:v,onChange:a=>{w(a.target.value),M(null)},InputProps:{startAdornment:(0,d.jsx)(aT,{color:"action",sx:{mr:1}})},helperText:k("models.wizard.keyStorageHelp"),sx:{mb:2}}),(0,d.jsx)(G.A,{severity:"info",sx:{mb:2},children:k(az.note)}),(0,d.jsx)(Q.A,{variant:"subtitle2",sx:{mb:1},children:k("models.wizard.willAdd")}),(0,d.jsx)(aF.A,{direction:"row",gap:.8,flexWrap:"wrap",sx:{mb:2.5},children:aA.map(a=>(0,d.jsx)(aD.A,{label:a,variant:"outlined"},a))}),(0,d.jsx)(B.A,{variant:"contained",size:"large",startIcon:H?(0,d.jsx)(O.default,{size:18,color:"inherit"}):(0,d.jsx)(J.A,{}),onClick:()=>void av(),disabled:H||!!X,children:l("models.wizard.createModels",aA.length)})]})}if("success"===n){let a=[...P,...T].map(a=>a.displayName||a.name);return(0,d.jsxs)(h.default,{sx:{textAlign:"center",py:2},children:[(0,d.jsx)(h.default,{sx:{width:78,height:78,mx:"auto",mb:2,display:"grid",placeItems:"center",borderRadius:"50%",color:"success.main",bgcolor:(0,m.X4)(j.palette.success.main,.13),animation:`${a7} 520ms cubic-bezier(.2,.8,.2,1) both`},children:(0,d.jsx)(aM.A,{sx:{fontSize:47}})}),(0,d.jsx)(Q.A,{variant:"h4",children:k("models.wizard.successTitle")}),(0,d.jsxs)(Q.A,{color:"text.secondary",sx:{mt:1,mb:2.2},children:[P.length?l("models.wizard.created",P.length):k("models.wizard.alreadyMatched"),T.length?` ${l("models.wizard.kept",T.length)}`:""]}),(0,d.jsx)(aF.A,{direction:"row",gap:.8,justifyContent:"center",flexWrap:"wrap",sx:{mb:3},children:a.map(a=>(0,d.jsx)(aD.A,{icon:(0,d.jsx)(aZ.A,{}),label:a,color:"primary",variant:"outlined"},a))}),(0,d.jsx)(B.A,{variant:"contained",size:"large",onClick:b,children:k("models.wizard.seeModels")})]})}return null})()},n)]})]})})}var bd=c(81025),be=c(61407),bf=c(61146);let bg=(0,ae.h)("app/models/ModelClient");function bh(){let{t:a}=(0,af.s9)(),b=(0,f.useRouter)(),c=(0,f.useSearchParams)(),[k,l]=(0,e.useState)([]),[m,n]=(0,e.useState)(!1),[o,p]=(0,e.useState)(""),q=(0,be.j)(),[r,s]=(0,e.useState)(null),[t,u]=(0,e.useState)(!1),[v,w]=(0,e.useState)(!1),[x,y]=(0,e.useState)(null),[z,M]=(0,e.useState)(null),N=(0,e.useRef)(!1);(0,ax.qz)({scopeId:"models:dashboard",pageType:"models",route:"/models",title:"AI Setup",data:{models:k.map(a=>({...a,ApiKey:a.ApiKey?"[REDACTED]":""})),searchTerm:o},capabilities:{notes:["API keys are intentionally redacted before model configuration enters AI context."]}});let O=c.get("add"),P="manual"===O;if(!v||!m)return bg.debug("Waiting for model service to be ready..."),(0,d.jsx)(bf.default,{});let Q=c.get("edit"),R=P?z:Q?k.find(a=>a.id===Q)??null:null,S=P?!!z:!!Q,T=async c=>{bg.info("Saving model",{modelId:c.id,modelName:c.name,mode:P?"add":"update"}),u(!0);try{let d=(0,aw.X)(),e=P?await d.addModel(c):await d.updateModel(c);if(!e.success)return s(e.error||a("models.saveFailed")),{success:!1,error:e.error};{let a=await d.loadModels();return l(a),M(null),N.current?(N.current=!1,b.back()):b.push("/models"),{success:!0,model:e.model}}}catch(b){return bg.error("Failed to save model",b),s(b?.message||a("models.saveFailedRetry")),{success:!1,error:b?.message||a("models.saveFailed")}}finally{u(!1)}},U=async a=>(bg.info("Editing model",{modelId:a.id,modelName:a.name}),N.current=!0,b.push(`/models?edit=${a.id}`),{success:!0}),V=async()=>{bg.info("Opening guided model connection wizard"),y(null),N.current=!0,b.push("/models?add=1")},W=()=>{bg.info("Opening manual add-model modal"),y(null),N.current=!0,b.push("/models?add=manual")},X=async c=>{bg.info("Creating guided model bundle",{count:c.length}),u(!0),s(null);let d=[],e=[];try{let f=(0,aw.X)(),g=[...await f.loadModels()];for(let b of c){let c=g.find(a=>a.provider===b.provider&&(a.adapter||"openai")===(b.adapter||"openai")&&a.name.trim().toLowerCase()===b.name.trim().toLowerCase()&&("azure"!==b.provider||(a.baseUrl||"").replace(/\/+$/,"").toLowerCase()===(b.baseUrl||"").replace(/\/+$/,"").toLowerCase()&&a.azureApiVersion===b.azureApiVersion));if(c){e.push(c);continue}let h=b.displayName||b.name,i=h,j=2;for(;g.some(a=>a.displayName?.trim().toLowerCase()===i.trim().toLowerCase());)i=`${h} (${j})`,j+=1;let k=await f.addModel({...b,displayName:i});if(!k.success||!k.model){let b=await f.loadModels();return l(b),{success:!1,created:d,existing:e,error:k.error||a("models.createNamedFailed",{name:i})}}d.push(k.model),g.push(k.model)}let h=await f.loadModels();return l(h),b.refresh(),{success:!0,created:d,existing:e}}catch(c){bg.error("Failed to create guided model bundle",c);let b=c?.message||a("models.guidedBundleFailed");return s(b),{success:!1,created:d,existing:e,error:b}}finally{u(!1)}},Y=async b=>{bg.info("Deleting model",{modelId:b}),u(!0);try{let a=(0,aw.X)();await a.deleteModel(b);let c=await a.loadModels();l(c)}catch(b){bg.error("Failed to delete model",b),s(a("models.deleteFailed"))}finally{u(!1)}},Z=async(b,c)=>{bg.info("Setting model folder",{modelId:b,folder:c}),u(!0);try{let d=(0,aw.X)(),e=await d.getModel(b);if(!e)return void s(a("models.notFound"));let f=await d.updateModel({...e,folder:c});if(!f.success)return void s(f.error||a("models.moveFailed"));let g=await d.loadModels();l(g)}catch(b){bg.error("Failed to set model folder",b),s(b?.message||a("models.moveFailedRetry"))}finally{u(!1)}},$=async b=>{bg.info("Toggling model favorite",{modelId:b}),u(!0);try{let c=(0,aw.X)(),d=await c.getModel(b);if(!d)return void s(a("models.notFound"));let e=!d.favorite,f=await c.updateModel({...d,favorite:e||void 0});if(!f.success)return void s(f.error||a("models.favoriteFailed"));let g=await c.loadModels();l(g)}catch(b){bg.error("Failed to toggle model favorite",b),s(b?.message||a("models.favoriteFailedRetry"))}finally{u(!1)}},_=async()=>{M(null),N.current?(N.current=!1,b.back()):b.replace("/models")},aa=o.trim()?k.filter(a=>{let b=o.toLowerCase();return(a.displayName||"").toLowerCase().includes(b)||(a.name||"").toLowerCase().includes(b)}):k;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(bd.A,{mode:"page",children:(0,d.jsx)(g.A,{elevation:0,variant:"outlined",sx:{mb:2.5,p:1.2,borderRadius:3},children:(0,d.jsxs)(h.default,{sx:{display:"flex",flexDirection:{xs:"column",sm:"row"},gap:1,alignItems:{xs:"stretch",sm:"center"},justifyContent:"space-between"},children:[(0,d.jsx)(i.A,{placeholder:a("models.searchPlaceholder"),variant:"outlined",size:"small",value:o,onChange:a=>p(a.target.value),inputRef:q,InputProps:{startAdornment:(0,d.jsx)(j.A,{position:"start",children:(0,d.jsx)(K.A,{fontSize:"small"})})},sx:{maxWidth:{sm:300},width:"100%"}}),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(A,{variant:"contained",color:"primary","aria-label":a("models.connectionOptionsAria"),children:[(0,d.jsx)(B.A,{startIcon:(0,d.jsx)(H.A,{}),onClick:V,"data-tour":"add-model",children:a("models.connectAi")}),(0,d.jsx)(B.A,{size:"small","aria-label":a("models.moreOptionsAria"),"aria-controls":x?"add-model-menu":void 0,"aria-haspopup":"menu","aria-expanded":x?"true":void 0,onClick:a=>y(a.currentTarget),sx:{px:.8,minWidth:40},children:(0,d.jsx)(I.A,{})})]}),(0,d.jsxs)(C.A,{id:"add-model-menu",anchorEl:x,open:!!x,onClose:()=>y(null),children:[(0,d.jsxs)(D.A,{onClick:V,children:[(0,d.jsx)(E.A,{children:(0,d.jsx)(J.A,{fontSize:"small"})}),(0,d.jsx)(F.A,{primary:a("models.guidedConnection"),secondary:a("models.guidedConnectionDescription")})]}),(0,d.jsxs)(D.A,{onClick:W,children:[(0,d.jsx)(E.A,{children:(0,d.jsx)(L.A,{fontSize:"small"})}),(0,d.jsx)(F.A,{primary:a("models.manualCreation"),secondary:a("models.manualCreationDescription")})]})]})]})]})})}),r&&(0,d.jsx)(h.default,{sx:{mb:2},children:(0,d.jsx)(G.A,{severity:"error",onClose:()=>s(null),children:r})}),(0,d.jsx)(ah,{models:aa,isLoading:t,onAdd:V,onUpdate:U,onDelete:Y,folders:(0,ab.yF)(k,a=>a.folder),onSetFolder:Z,onToggleFavorite:$}),(0,d.jsx)(bc,{open:"1"===O,onClose:_,onManualCreation:W,onCreateModels:X}),S&&R?(0,d.jsx)(aC,{open:S,model:R,onSave:T,onClose:_}):null]})}},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},89194:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(32586),e=c(48249);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")},89686:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(32586),e=c(48249);let f=(0,d.A)((0,e.jsx)("path",{d:"M10.67 21c-.35 0-.62-.31-.57-.66L11 14H7.5c-.88 0-.33-.75-.31-.78 1.26-2.23 3.15-5.53 5.65-9.93.1-.18.3-.29.5-.29.35 0 .62.31.57.66l-.9 6.34h3.51c.4 0 .62.19.4.66-3.29 5.74-5.2 9.09-5.75 10.05-.1.18-.29.29-.5.29"}),"BoltRounded")},91177:(a,b,c)=>{Promise.resolve().then(c.bind(c,29184)),Promise.resolve().then(c.bind(c,52454))},91837:(a,b,c)=>{"use strict";c.d(b,{default:()=>h});var d=c(48249);c(67484);var e=c(29184),f=c(72581),g=c(1395);function h({storageKey:a,sx:b,deps:c,nav:i=!0,children:j}){let{ref:k,clusterProps:l}=(0,g.QY)(a,{deps:c});return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(e.default,{ref:k,sx:{...b,overflow:"auto"},children:j}),!1!==i&&(0,d.jsx)(f.A,{...l,...Array.isArray(i)?{actions:i}:{}})]})}},99958:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(32586),e=c(48249);let f=(0,d.A)((0,e.jsx)("path",{d:"M9.19 6.35c-2.04 2.29-3.44 5.58-3.57 5.89l-2.26-.97c-.65-.28-.81-1.13-.31-1.63l3.01-3.01c.47-.47 1.15-.68 1.81-.55zm1.49 10.16c.3.3.74.38 1.12.2 1.16-.54 3.65-1.81 5.26-3.42 4.59-4.59 4.63-8.33 4.36-9.93-.07-.4-.39-.72-.79-.79-1.6-.27-5.34-.23-9.93 4.36-1.61 1.61-2.87 4.1-3.42 5.26-.18.38-.09.83.2 1.12zm6.97-1.7c-2.29 2.04-5.58 3.44-5.89 3.57l.97 2.26c.28.65 1.13.81 1.63.31l3.01-3.01c.47-.47.68-1.15.55-1.81zm-8.71 2.6c.2 1.06-.15 2.04-.82 2.71-.77.77-3.16 1.34-4.71 1.64-.69.13-1.3-.48-1.17-1.17.3-1.55.86-3.94 1.64-4.71.67-.67 1.65-1.02 2.71-.82 1.17.22 2.13 1.18 2.35 2.35M13 9c0-1.1.9-2 2-2s2 .9 2 2-.9 2-2 2-2-.9-2-2"}),"RocketLaunchRounded")}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,319,4490,3727,437,8458,1269,1990,9345,7393,7911,7476,9050,2839,8767,3761,5434,9553],()=>b(b.s=82235));module.exports=c})();