flujo-ai 3.40.0 → 3.41.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.
- package/.next/BUILD_ID +1 -1
- package/.next/app-build-manifest.json +400 -384
- package/.next/app-path-routes-manifest.json +53 -53
- package/.next/build-manifest.json +5 -5
- package/.next/prerender-manifest.json +33 -33
- package/.next/react-loadable-manifest.json +9 -9
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +3 -3
- package/.next/server/app/api/approvals/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/approvals/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/backup/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/browse/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/bugs/enhance/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/cwd/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/encryption/secure/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/env/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/[id]/convert-process-to-subflow/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/[id]/versions/[versionId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/[id]/versions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/assist/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/compile/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/generate/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/generator/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/improve/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/prompt-renderer/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/quick-chat/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/repair/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/local-models/capability/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/local-models/pull/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/local-models/suggest/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/app-sandbox/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/flujo/authoring/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/flujo/automation/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/flujo/flows/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/flujo/resources/read/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/flujo/resources/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/flujo/servers/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/flujo/state/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/flujo/tools/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/oauth-capability/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/prompts/get/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/prompts/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/resources/read/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/resources/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/tools/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/servers/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/test-connection/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/test-connection/stream/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp-registry/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp-registry/spotlight/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/model/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/model/provider/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/model/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/model/test/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/oauth/callback/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/oauth/initiate/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/oauth/reset/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/packages/build/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/packages/derive-secrets/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/packages/install/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/packages/install/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/packages/installed/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/packages/resolve/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/packages/scan-targets/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/packages/search/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/packages/uninstall/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/planned-executions/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/planned-executions/[id]/run/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/planned-executions/[id]/runs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/planned-executions/preview-schedule/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/planned-executions/reconcile/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/planned-executions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/registry/auth/resend/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/registry/auth/reset/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/registry/auth/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/registry/feedback/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/registry/oauth/callback/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/registry/oauth/initiate/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/registry/packages/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/registry/publish/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/registry/settings/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/restore/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/runs/active/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/setup/ai-cli/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/statistics/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/storage/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/telemetry/daily-active/route.js +1 -1
- package/.next/server/app/api/telemetry/daily-active/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/waves/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/webhooks/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/automation/triggers/page.js +1 -1
- package/.next/server/app/automation/triggers/page.js.nft.json +1 -1
- package/.next/server/app/automation/triggers/page_client-reference-manifest.js +1 -1
- package/.next/server/app/automation/triggers.html +1 -1
- package/.next/server/app/automation/triggers.rsc +4 -4
- package/.next/server/app/automation/waves/page_client-reference-manifest.js +1 -1
- package/.next/server/app/automation/waves.html +1 -1
- package/.next/server/app/automation/waves.rsc +4 -4
- package/.next/server/app/chat/page.js +2 -2
- package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
- package/.next/server/app/chat.html +1 -1
- package/.next/server/app/chat.rsc +4 -4
- package/.next/server/app/docs/page.js +3 -3
- package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/docs.html +1 -1
- package/.next/server/app/docs.rsc +4 -4
- package/.next/server/app/executions/page.js +1 -1
- package/.next/server/app/executions/page.js.nft.json +1 -1
- package/.next/server/app/executions/page_client-reference-manifest.js +1 -1
- package/.next/server/app/executions.html +1 -1
- package/.next/server/app/executions.rsc +4 -4
- package/.next/server/app/flows/page.js +5 -3
- package/.next/server/app/flows/page.js.nft.json +1 -1
- package/.next/server/app/flows/page_client-reference-manifest.js +1 -1
- package/.next/server/app/flows.html +1 -1
- package/.next/server/app/flows.rsc +4 -4
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +4 -4
- package/.next/server/app/mcp/page.js +73 -44
- package/.next/server/app/mcp/page.js.nft.json +1 -1
- package/.next/server/app/mcp/page_client-reference-manifest.js +1 -1
- package/.next/server/app/mcp-flows/route.js +1 -1
- package/.next/server/app/mcp-flows/route_client-reference-manifest.js +1 -1
- package/.next/server/app/mcp-proxy/[server]/route.js +1 -1
- package/.next/server/app/mcp-proxy/[server]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/mcp.html +1 -1
- package/.next/server/app/mcp.rsc +4 -4
- package/.next/server/app/models/page.js +7 -7
- package/.next/server/app/models/page_client-reference-manifest.js +1 -1
- package/.next/server/app/packages/page.js +1 -1
- package/.next/server/app/packages/page_client-reference-manifest.js +1 -1
- package/.next/server/app/packages.html +1 -1
- package/.next/server/app/packages.rsc +4 -4
- package/.next/server/app/page.js +2 -2
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/page.js +2 -2
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings.html +1 -1
- package/.next/server/app/settings.rsc +4 -4
- package/.next/server/app/statistics/page.js +2 -2
- package/.next/server/app/statistics/page_client-reference-manifest.js +1 -1
- package/.next/server/app/statistics.html +1 -1
- package/.next/server/app/statistics.rsc +4 -4
- package/.next/server/app/v1/chat/completions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/events/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/resources/[resourceId]/content/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/revert/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/events/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/models/route_client-reference-manifest.js +1 -1
- package/.next/server/app/waves/page_client-reference-manifest.js +1 -1
- package/.next/server/app/waves.html +1 -1
- package/.next/server/app/waves.rsc +4 -4
- package/.next/server/app-paths-manifest.json +53 -53
- package/.next/server/chunks/1227.js +1 -1
- package/.next/server/chunks/1403.js +2 -2
- package/.next/server/chunks/1539.js +1 -1
- package/.next/server/chunks/2069.js +1 -1
- package/.next/server/chunks/2372.js +1 -1
- package/.next/server/chunks/2828.js +2 -2
- package/.next/server/chunks/3422.js +1 -0
- package/.next/server/chunks/3945.js +3 -3
- package/.next/server/chunks/519.js +2 -2
- package/.next/server/chunks/5444.js +2 -2
- package/.next/server/chunks/5750.js +1 -1
- package/.next/server/chunks/5918.js +10 -10
- package/.next/server/chunks/6226.js +2 -2
- package/.next/server/chunks/9088.js +2 -2
- package/.next/server/chunks/9490.js +5 -0
- package/.next/server/chunks/9543.js +3 -3
- package/.next/server/chunks/9624.js +8 -8
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-manifest.json +1 -1
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/{1161-19176c3e7c655121.js → 1161-563a8028f59f00de.js} +1 -1
- package/.next/static/chunks/1521-9ad145dcb8e3abfc.js +1 -0
- package/.next/static/chunks/1576.06797b29a19fa26c.js +1 -0
- package/.next/static/chunks/{4386-e9621d3c94969a68.js → 2005-f9d38c39f10c321f.js} +1 -1
- package/.next/static/chunks/2493-da85c47ef972c066.js +1 -0
- package/.next/static/chunks/361.c88d43436e974006.js +1 -0
- package/.next/static/chunks/3731-c18f48522b159d7f.js +1 -0
- package/.next/static/chunks/3781.5086bce03aa281f7.js +1 -0
- package/.next/static/chunks/3969-15a32253b112652c.js +1 -0
- package/.next/static/chunks/4167.2ce97ca450815df1.js +1 -0
- package/.next/static/chunks/4814-52b7254ab573a455.js +1 -0
- package/.next/static/chunks/4965.d401547984d71b7a.js +1 -0
- package/.next/static/chunks/5148-9174ba300221fd1b.js +1 -0
- package/.next/static/chunks/5417-fb7d3760cc288ab1.js +1 -0
- package/.next/static/chunks/5967-34735763d1b03ccc.js +1 -0
- package/.next/static/chunks/7260-743e4b0cc4211dcb.js +1 -0
- package/.next/static/chunks/7711-7323dabe7dc02311.js +1 -0
- package/.next/static/chunks/8124-f99060fe1dfc119e.js +1 -0
- package/.next/static/chunks/8135-7fe07a34a8c49967.js +1 -0
- package/.next/static/chunks/8529.6187e01de8e9a692.js +1 -0
- package/.next/static/chunks/9136-e9ee57cc581ddd50.js +1 -0
- package/.next/static/chunks/9140.9180b569c4b26168.js +1 -0
- package/.next/static/chunks/9195-6a18a5867bb76c64.js +1 -0
- package/.next/static/chunks/app/automation/triggers/{page-594a6294c58344bf.js → page-34b9a8a2e6f28c2f.js} +1 -1
- package/.next/static/chunks/app/automation/waves/{page-ce2fef4996cad8e6.js → page-fd4929ea308183b2.js} +1 -1
- package/.next/static/chunks/app/chat/page-fb8a33db7628ecd0.js +1 -0
- package/.next/static/chunks/app/docs/page-3e21583b1cd5d7ca.js +1 -0
- package/.next/static/chunks/app/executions/{page-fcc848de86714386.js → page-56ecca56c17c05d7.js} +1 -1
- package/.next/static/chunks/app/flows/page-8c1a656197b15894.js +1 -0
- package/.next/static/chunks/app/layout-6e2756704ddc9f39.js +1 -0
- package/.next/static/chunks/app/mcp/page-4c4390354fdd94c8.js +1 -0
- package/.next/static/chunks/app/models/error-ea477f0ad52f4dcb.js +1 -0
- package/.next/static/chunks/app/models/page-e237ac64a0f62c3d.js +1 -0
- package/.next/static/chunks/app/packages/page-8680e4bea6b7ea45.js +1 -0
- package/.next/static/chunks/app/page-6dca06b6b7667181.js +1 -0
- package/.next/static/chunks/app/settings/page-a5f7fedcbf9e3a7f.js +1 -0
- package/.next/static/chunks/app/statistics/page-f9f9627d1c1ff963.js +1 -0
- package/.next/static/chunks/app/waves/{page-5b53af3eb9409414.js → page-7529febc48eb473d.js} +1 -1
- package/.next/static/chunks/{webpack-9fbd3587b9ef4dca.js → webpack-f3df493faa0bd612.js} +1 -1
- package/.next/static/css/{400b1b927c3ffaf6.css → 9f9b7f1374ac2d01.css} +1 -1
- package/.next/trace +11 -11
- package/README.md +1 -1
- package/mcp-servers/bash/package.json +1 -1
- package/mcp-servers/browser/package.json +1 -1
- package/mcp-servers/filesystem/package.json +1 -1
- package/mcp-servers/flujo/package.json +1 -1
- package/package.json +5 -5
- package/.next/server/chunks/7508.js +0 -5
- package/.next/server/chunks/8598.js +0 -1
- package/.next/static/chunks/1521-1c98c9a56726e053.js +0 -1
- package/.next/static/chunks/1576.bc6ae6c9e6d939d8.js +0 -1
- package/.next/static/chunks/2005.300528b5119c2d38.js +0 -1
- package/.next/static/chunks/2499-92cd97ce4993999f.js +0 -1
- package/.next/static/chunks/361.51d642c530c84295.js +0 -1
- package/.next/static/chunks/3731-64070760ae44448f.js +0 -1
- package/.next/static/chunks/4814-31eb5f3b10c651c1.js +0 -1
- package/.next/static/chunks/4965.39e24b54c3c6ca58.js +0 -1
- package/.next/static/chunks/5967-59fde8c214c9ca9f.js +0 -1
- package/.next/static/chunks/6417.70056fe81ca21682.js +0 -1
- package/.next/static/chunks/7711-4b017720ec49c96d.js +0 -1
- package/.next/static/chunks/8124-94140ee1dd8ed87c.js +0 -1
- package/.next/static/chunks/8135-5b975b9014f8920b.js +0 -1
- package/.next/static/chunks/8529.b5a43e728bb5bb8a.js +0 -1
- package/.next/static/chunks/9001-4c27a608feddb878.js +0 -1
- package/.next/static/chunks/9136-9c415453ec02519c.js +0 -1
- package/.next/static/chunks/9140.6502327a2c098d33.js +0 -1
- package/.next/static/chunks/9195-3c9c4300e7505d9e.js +0 -1
- package/.next/static/chunks/9524-b9d2c7e4426edd07.js +0 -1
- package/.next/static/chunks/app/chat/page-203cb7bf21638ada.js +0 -1
- package/.next/static/chunks/app/docs/page-c466a58caf5e3336.js +0 -1
- package/.next/static/chunks/app/flows/page-172c759ca81ba02f.js +0 -1
- package/.next/static/chunks/app/layout-a6ca531683a518a7.js +0 -1
- package/.next/static/chunks/app/mcp/page-0a96e6b30e45b1e6.js +0 -1
- package/.next/static/chunks/app/models/error-1964203c5c6e7d0e.js +0 -1
- package/.next/static/chunks/app/models/page-ad1cbea6d3324966.js +0 -1
- package/.next/static/chunks/app/packages/page-dda48425be9fc137.js +0 -1
- package/.next/static/chunks/app/page-04189aa1b1318c2d.js +0 -1
- package/.next/static/chunks/app/settings/page-906c229c87011ead.js +0 -1
- package/.next/static/chunks/app/statistics/page-9b13a95549f438c0.js +0 -1
- /package/.next/static/{b1aMk0634gkkiunttd1SQ → utOrEUSzguWncIosxgCeR}/_buildManifest.js +0 -0
- /package/.next/static/{b1aMk0634gkkiunttd1SQ → utOrEUSzguWncIosxgCeR}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(()=>{var a={};a.id=8329,a.ids=[1925,4306,5141,6687,8329],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},905:(a,b,c)=>{Promise.resolve().then(c.bind(c,73737)),Promise.resolve().then(c.bind(c,65251))},1708:a=>{"use strict";a.exports=require("node:process")},1925:(a,b,c)=>{"use strict";c.d(b,{Hm:()=>f,xc:()=>e});let d=["key","secret","token","password"],e=a=>d.some(b=>a.toLowerCase().includes(b)),f=a=>e(a)||"authorization"===a.trim().toLowerCase()},2671:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\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")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{"use strict";a.exports=require("node:buffer")},4984:a=>{"use strict";a.exports=require("readline")},8086:a=>{"use strict";a.exports=require("module")},9604:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(11801),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6z"}),"Code")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11723:a=>{"use strict";a.exports=require("querystring")},11962:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return j}});let d=c(75338),e=c(74515),f=c(69389),g=c(63112);function h(a){return{default:a&&"default"in a?a.default:a}}let i={loader:()=>Promise.resolve(h(()=>null)),loading:null,ssr:!0},j=function(a){let b={...i,...a},c=(0,e.lazy)(()=>b.loader().then(h)),j=b.loading;function k(a){let h=j?(0,d.jsx)(j,{isLoading:!0,pastDelay:!0,error:null}):null,i=!b.ssr||!!b.loading,k=i?e.Suspense:e.Fragment,l=b.ssr?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g.PreloadChunks,{moduleIds:b.modules}),(0,d.jsx)(c,{...a})]}):(0,d.jsx)(f.BailoutToCSR,{reason:"next/dynamic",children:(0,d.jsx)(c,{...a})});return(0,d.jsx)(k,{...i?{fallback:h}:{},children:l})}return k.displayName="LoadableComponent",k}},11997:a=>{"use strict";a.exports=require("punycode")},12412:a=>{"use strict";a.exports=require("assert")},14867:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\Moe\\\\Documents\\\\GitHub\\\\FLUJO\\\\src\\\\app\\\\models\\\\error.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\src\\app\\models\\error.tsx","default")},18830:(a,b,c)=>{"use strict";function d(a){return a&&a.__esModule?a:{default:a}}c.r(b),c.d(b,{_:()=>d})},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},19771:a=>{"use strict";a.exports=require("process")},20150:(a,b,c)=>{"use strict";c.d(b,{default:()=>h});var d=c(21124);c(38301);var e=c(81637),f=c(61560),g=c(49351);function h({storageKey:a,sx:b,threshold:c,deps:h,children:i}){let{ref:j,showBackToTop:k,scrollToTop:l}=(0,f.R)(a,{threshold:c,deps:h});return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(e.default,{ref:j,sx:{...b,overflow:"auto"},children:i}),(0,d.jsx)(g.A,{show:k,onClick:l})]})}},21820:a=>{"use strict";a.exports=require("os")},22813:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(11801),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5M12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5m0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3"}),"Visibility")},24166:(a,b,c)=>{Promise.resolve().then(c.bind(c,41637)),Promise.resolve().then(c.bind(c,81637)),Promise.resolve().then(c.bind(c,24207)),Promise.resolve().then(c.bind(c,52402)),Promise.resolve().then(c.bind(c,52615)),Promise.resolve().then(c.bind(c,58156)),Promise.resolve().then(c.bind(c,20150)),Promise.resolve().then(c.bind(c,61615))},24676:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\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")},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},27409:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(11801),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown")},27838:(a,b,c)=>{Promise.resolve().then(c.bind(c,92093))},27910:a=>{"use strict";a.exports=require("stream")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},29777:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(11801),e=c(21124);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")},29900:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(11801),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M18.3 5.71a.996.996 0 0 0-1.41 0L12 10.59 7.11 5.7a.996.996 0 0 0-1.41 0c-.39.39-.39 1.02 0 1.41L10.59 12 5.7 16.89c-.39.39-.39 1.02 0 1.41s1.02.39 1.41 0L12 13.41l4.89 4.89c.39.39 1.02.39 1.41 0s.39-1.02 0-1.41L13.41 12l4.89-4.89c.38-.38.38-1.02 0-1.4"}),"CloseRounded")},31421:a=>{"use strict";a.exports=require("node:child_process")},32414:(a,b,c)=>{Promise.resolve().then(c.bind(c,34035)),Promise.resolve().then(c.bind(c,73737)),Promise.resolve().then(c.t.bind(c,69389,23)),Promise.resolve().then(c.t.bind(c,63112,23)),Promise.resolve().then(c.bind(c,2671)),Promise.resolve().then(c.bind(c,70174)),Promise.resolve().then(c.bind(c,24676)),Promise.resolve().then(c.bind(c,37997))},32566:(a,b,c)=>{Promise.resolve().then(c.bind(c,14867))},32640:(a,b,c)=>{"use strict";c.d(b,{CR:()=>j,Lg:()=>g,eZ:()=>i,fC:()=>f});var d=c(76133),e=c(7329);let f={"name-asc":"Name (A-Z)","name-desc":"Name (Z-A)",provider:"Provider","context-desc":"Context (largest)","context-asc":"Context (smallest)"},g=a=>a.displayName||a.name||"",h=a=>(0,d.T_)(a.provider,a.adapter).label;function i(a,b){switch(b){case"provider":{let b=h(a);return{key:`provider:${b}`,label:b}}case"context-asc":case"context-desc":var c;return"number"!=typeof(c=a.contextWindow)||Number.isNaN(c)?{key:"ctx:unknown",label:"Unknown context"}:c<=8e3?{key:"ctx:<=8k",label:"≤ 8K tokens"}:c<=32e3?{key:"ctx:8k-32k",label:"8K–32K tokens"}:c<=128e3?{key:"ctx:32k-128k",label:"32K–128K tokens"}:c<=1e6?{key:"ctx:128k-1m",label:"128K–1M tokens"}:{key:"ctx:>1m",label:"> 1M tokens"};default:return(0,e.po)(g(a))}}function j(a,b){let c=(a,c)=>{switch(b){case"name-asc":return g(a).localeCompare(g(c));case"name-desc":return g(c).localeCompare(g(a));case"provider":return h(a).localeCompare(h(c))||g(a).localeCompare(g(c));case"context-desc":case"context-asc":{let d="number"!=typeof a.contextWindow||Number.isNaN(a.contextWindow)?void 0:a.contextWindow,e="number"!=typeof c.contextWindow||Number.isNaN(c.contextWindow)?void 0:c.contextWindow;if(void 0===d&&void 0===e)return g(a).localeCompare(g(c));if(void 0===d)return 1;if(void 0===e)return -1;let f="context-desc"===b?e-d:d-e;return 0!==f?f:g(a).localeCompare(g(c))}default:return 0}};return[...a].sort((a,b)=>{let d=Number(!!b.favorite)-Number(!!a.favorite);return 0!==d?d:c(a,b)})}},33873:a=>{"use strict";a.exports=require("path")},34035:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\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")},34631:a=>{"use strict";a.exports=require("tls")},36210:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(11801),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"m19.46 8 .79-1.75L22 5.46c.39-.18.39-.73 0-.91l-1.75-.79L19.46 2c-.18-.39-.73-.39-.91 0l-.79 1.75-1.76.79c-.39.18-.39.73 0 .91l1.75.79.79 1.76c.18.39.74.39.92 0M11.5 9.5 9.91 6c-.35-.78-1.47-.78-1.82 0L6.5 9.5 3 11.09c-.78.36-.78 1.47 0 1.82l3.5 1.59L8.09 18c.36.78 1.47.78 1.82 0l1.59-3.5 3.5-1.59c.78-.36.78-1.47 0-1.82zm7.04 6.5-.79 1.75-1.75.79c-.39.18-.39.73 0 .91l1.75.79.79 1.76c.18.39.73.39.91 0l.79-1.75 1.76-.79c.39-.18.39-.73 0-.91l-1.75-.79-.79-1.76c-.18-.39-.74-.39-.92 0"}),"AutoAwesomeRounded")},37067:a=>{"use strict";a.exports=require("node:http")},37830:a=>{"use strict";a.exports=require("node:stream/web")},37997:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\Moe\\\\Documents\\\\GitHub\\\\FLUJO\\\\src\\\\frontend\\\\components\\\\shared\\\\Spinner.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\src\\frontend\\components\\shared\\Spinner.tsx","default")},38108:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>t,dynamic:()=>s});var d=c(75338),e=c(74515),f=c(44618),g=c.n(f),h=c(73737),i=c(34035),j=c(50846),k=c(92675);let l=(0,j.h)("app/api/model/backed-model-adapter");async function m(){l.debug("loadModels: Delegating to model adapter");let a=await k.Zl();return a.success&&a.models?a.models:(l.warn("loadModels: Failed to load models",{error:a.error}),[])}var n=c(37997),o=c(24676),p=c(70174);let q=g()(()=>Promise.resolve().then(c.bind(c,2671)),{loadableGenerated:{modules:["app\\models\\page.tsx -> ./ModelClient"]},loading:()=>(0,d.jsx)(n.default,{})}),r=(0,j.h)("app/models/page"),s="force-dynamic",t=async function(){r.debug("Rendering ModelsPage");try{let a=await m();return r.debug("Models loaded successfully",{count:a.length}),(0,d.jsxs)(h.default,{sx:{height:"100%",display:"flex",flexDirection:"column"},children:[(0,d.jsx)(p.default,{eyebrow:"Step 1",title:"AI Setup",description:"Connect the AI provider FLUJO will use for every agent and conversation.",icon:i.default,maxWidth:"none"}),(0,d.jsx)(o.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)(n.default,{}),children:(0,d.jsx)(q,{initialModels:a})})})]})}catch(a){throw r.error("Error loading models:",a),a}}},38522:a=>{"use strict";a.exports=require("node:zlib")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},41637:(a,b,c)=>{"use strict";c.d(b,{default:()=>f});var d=c(11801),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M14 9h-4c-.55 0-1 .45-1 1v4c0 .55.45 1 1 1h4c.55 0 1-.45 1-1v-4c0-.55-.45-1-1-1m-1 4h-2v-2h2zm8-3c0-.55-.45-1-1-1h-1V7c0-1.1-.9-2-2-2h-2V4c0-.55-.45-1-1-1s-1 .45-1 1v1h-2V4c0-.55-.45-1-1-1s-1 .45-1 1v1H7c-1.1 0-2 .9-2 2v2H4c-.55 0-1 .45-1 1s.45 1 1 1h1v2H4c-.55 0-1 .45-1 1s.45 1 1 1h1v2c0 1.1.9 2 2 2h2v1c0 .55.45 1 1 1s1-.45 1-1v-1h2v1c0 .55.45 1 1 1s1-.45 1-1v-1h2c1.1 0 2-.9 2-2v-2h1c.55 0 1-.45 1-1s-.45-1-1-1h-1v-2h1c.55 0 1-.45 1-1m-5 7H8c-.55 0-1-.45-1-1V8c0-.55.45-1 1-1h8c.55 0 1 .45 1 1v8c0 .55-.45 1-1 1"}),"MemoryRounded")},42387:(a,b,c)=>{"use strict";c.d(b,{A:()=>D});var d=c(38301),e=c(43249),f=c(2783),g=c(37489),h=c(38404),i=c(78871),j=c(18168),k=c(68333),l=c(54716),m=c(6636),n=c(6638),o=c(29565),p=c(33105);function q(a){return(0,p.Ay)("MuiLinearProgress",a)}(0,o.A)("MuiLinearProgress",["root","colorPrimary","colorSecondary","determinate","indeterminate","buffer","query","dashed","dashedColorPrimary","dashedColorSecondary","bar","bar1","bar2","barColorPrimary","barColorSecondary","bar1Indeterminate","bar1Determinate","bar1Buffer","bar2Indeterminate","bar2Buffer"]);var r=c(21124);let s=(0,i.i7)`
|
|
1
|
+
(()=>{var a={};a.id=8329,a.ids=[1925,4306,5141,6687,8329],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},905:(a,b,c)=>{Promise.resolve().then(c.bind(c,73737)),Promise.resolve().then(c.bind(c,65251))},1708:a=>{"use strict";a.exports=require("node:process")},1785:(a,b,c)=>{Promise.resolve().then(c.bind(c,41637)),Promise.resolve().then(c.bind(c,81637)),Promise.resolve().then(c.bind(c,24207)),Promise.resolve().then(c.bind(c,52402)),Promise.resolve().then(c.bind(c,52615)),Promise.resolve().then(c.bind(c,58156)),Promise.resolve().then(c.bind(c,20150)),Promise.resolve().then(c.bind(c,61615))},1925:(a,b,c)=>{"use strict";c.d(b,{Hm:()=>f,xc:()=>e});let d=["key","secret","token","password"],e=a=>d.some(b=>a.toLowerCase().includes(b)),f=a=>e(a)||"authorization"===a.trim().toLowerCase()},2671:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\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")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{"use strict";a.exports=require("node:buffer")},4984:a=>{"use strict";a.exports=require("readline")},8086:a=>{"use strict";a.exports=require("module")},9604:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(11801),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6z"}),"Code")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11723:a=>{"use strict";a.exports=require("querystring")},11962:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return j}});let d=c(75338),e=c(74515),f=c(69389),g=c(63112);function h(a){return{default:a&&"default"in a?a.default:a}}let i={loader:()=>Promise.resolve(h(()=>null)),loading:null,ssr:!0},j=function(a){let b={...i,...a},c=(0,e.lazy)(()=>b.loader().then(h)),j=b.loading;function k(a){let h=j?(0,d.jsx)(j,{isLoading:!0,pastDelay:!0,error:null}):null,i=!b.ssr||!!b.loading,k=i?e.Suspense:e.Fragment,l=b.ssr?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g.PreloadChunks,{moduleIds:b.modules}),(0,d.jsx)(c,{...a})]}):(0,d.jsx)(f.BailoutToCSR,{reason:"next/dynamic",children:(0,d.jsx)(c,{...a})});return(0,d.jsx)(k,{...i?{fallback:h}:{},children:l})}return k.displayName="LoadableComponent",k}},11997:a=>{"use strict";a.exports=require("punycode")},12412:a=>{"use strict";a.exports=require("assert")},14867:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\Moe\\\\Documents\\\\GitHub\\\\FLUJO\\\\src\\\\app\\\\models\\\\error.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\src\\app\\models\\error.tsx","default")},18830:(a,b,c)=>{"use strict";function d(a){return a&&a.__esModule?a:{default:a}}c.r(b),c.d(b,{_:()=>d})},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},19771:a=>{"use strict";a.exports=require("process")},20150:(a,b,c)=>{"use strict";c.d(b,{default:()=>h});var d=c(21124);c(38301);var e=c(81637),f=c(61560),g=c(49351);function h({storageKey:a,sx:b,threshold:c,deps:h,children:i}){let{ref:j,showBackToTop:k,scrollToTop:l}=(0,f.R)(a,{threshold:c,deps:h});return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(e.default,{ref:j,sx:{...b,overflow:"auto"},children:i}),(0,d.jsx)(g.A,{show:k,onClick:l})]})}},21820:a=>{"use strict";a.exports=require("os")},22813:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(11801),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5M12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5m0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3"}),"Visibility")},24676:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\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")},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},27409:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(11801),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown")},27838:(a,b,c)=>{Promise.resolve().then(c.bind(c,92093))},27910:a=>{"use strict";a.exports=require("stream")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},29777:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(11801),e=c(21124);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")},29900:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(11801),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M18.3 5.71a.996.996 0 0 0-1.41 0L12 10.59 7.11 5.7a.996.996 0 0 0-1.41 0c-.39.39-.39 1.02 0 1.41L10.59 12 5.7 16.89c-.39.39-.39 1.02 0 1.41s1.02.39 1.41 0L12 13.41l4.89 4.89c.39.39 1.02.39 1.41 0s.39-1.02 0-1.41L13.41 12l4.89-4.89c.38-.38.38-1.02 0-1.4"}),"CloseRounded")},31421:a=>{"use strict";a.exports=require("node:child_process")},32414:(a,b,c)=>{Promise.resolve().then(c.bind(c,34035)),Promise.resolve().then(c.bind(c,73737)),Promise.resolve().then(c.t.bind(c,69389,23)),Promise.resolve().then(c.t.bind(c,63112,23)),Promise.resolve().then(c.bind(c,2671)),Promise.resolve().then(c.bind(c,70174)),Promise.resolve().then(c.bind(c,24676)),Promise.resolve().then(c.bind(c,37997))},32566:(a,b,c)=>{Promise.resolve().then(c.bind(c,14867))},32640:(a,b,c)=>{"use strict";c.d(b,{CR:()=>i,Lg:()=>f,eZ:()=>h});var d=c(76133),e=c(7329);let f=a=>a.displayName||a.name||"",g=a=>(0,d.T_)(a.provider,a.adapter).label;function h(a,b){switch(b){case"provider":{let b=g(a);return{key:`provider:${b}`,label:b}}case"context-asc":case"context-desc":var c;return"number"!=typeof(c=a.contextWindow)||Number.isNaN(c)?{key:"ctx:unknown",label:"Unknown context"}:c<=8e3?{key:"ctx:<=8k",label:"≤ 8K tokens"}:c<=32e3?{key:"ctx:8k-32k",label:"8K–32K tokens"}:c<=128e3?{key:"ctx:32k-128k",label:"32K–128K tokens"}:c<=1e6?{key:"ctx:128k-1m",label:"128K–1M tokens"}:{key:"ctx:>1m",label:"> 1M tokens"};default:return(0,e.po)(f(a))}}function i(a,b){let c=(a,c)=>{switch(b){case"name-asc":return f(a).localeCompare(f(c));case"name-desc":return f(c).localeCompare(f(a));case"provider":return g(a).localeCompare(g(c))||f(a).localeCompare(f(c));case"context-desc":case"context-asc":{let d="number"!=typeof a.contextWindow||Number.isNaN(a.contextWindow)?void 0:a.contextWindow,e="number"!=typeof c.contextWindow||Number.isNaN(c.contextWindow)?void 0:c.contextWindow;if(void 0===d&&void 0===e)return f(a).localeCompare(f(c));if(void 0===d)return 1;if(void 0===e)return -1;let g="context-desc"===b?e-d:d-e;return 0!==g?g:f(a).localeCompare(f(c))}default:return 0}};return[...a].sort((a,b)=>{let d=Number(!!b.favorite)-Number(!!a.favorite);return 0!==d?d:c(a,b)})}},33873:a=>{"use strict";a.exports=require("path")},34035:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\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")},34631:a=>{"use strict";a.exports=require("tls")},36210:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(11801),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"m19.46 8 .79-1.75L22 5.46c.39-.18.39-.73 0-.91l-1.75-.79L19.46 2c-.18-.39-.73-.39-.91 0l-.79 1.75-1.76.79c-.39.18-.39.73 0 .91l1.75.79.79 1.76c.18.39.74.39.92 0M11.5 9.5 9.91 6c-.35-.78-1.47-.78-1.82 0L6.5 9.5 3 11.09c-.78.36-.78 1.47 0 1.82l3.5 1.59L8.09 18c.36.78 1.47.78 1.82 0l1.59-3.5 3.5-1.59c.78-.36.78-1.47 0-1.82zm7.04 6.5-.79 1.75-1.75.79c-.39.18-.39.73 0 .91l1.75.79.79 1.76c.18.39.73.39.91 0l.79-1.75 1.76-.79c.39-.18.39-.73 0-.91l-1.75-.79-.79-1.76c-.18-.39-.74-.39-.92 0"}),"AutoAwesomeRounded")},37067:a=>{"use strict";a.exports=require("node:http")},37830:a=>{"use strict";a.exports=require("node:stream/web")},37997:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\Moe\\\\Documents\\\\GitHub\\\\FLUJO\\\\src\\\\frontend\\\\components\\\\shared\\\\Spinner.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\src\\frontend\\components\\shared\\Spinner.tsx","default")},38108:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>t,dynamic:()=>s});var d=c(75338),e=c(74515),f=c(44618),g=c.n(f),h=c(73737),i=c(34035),j=c(50846),k=c(92675);let l=(0,j.h)("app/api/model/backed-model-adapter");async function m(){l.debug("loadModels: Delegating to model adapter");let a=await k.Zl();return a.success&&a.models?a.models:(l.warn("loadModels: Failed to load models",{error:a.error}),[])}var n=c(37997),o=c(24676),p=c(70174);let q=g()(()=>Promise.resolve().then(c.bind(c,2671)),{loadableGenerated:{modules:["app\\models\\page.tsx -> ./ModelClient"]},loading:()=>(0,d.jsx)(n.default,{})}),r=(0,j.h)("app/models/page"),s="force-dynamic",t=async function(){r.debug("Rendering ModelsPage");try{let a=await m();return r.debug("Models loaded successfully",{count:a.length}),(0,d.jsxs)(h.default,{sx:{height:"100%",display:"flex",flexDirection:"column"},children:[(0,d.jsx)(p.default,{eyebrowKey:"models.header.eyebrow",titleKey:"models.header.title",descriptionKey:"models.header.description",icon:i.default,maxWidth:"none"}),(0,d.jsx)(o.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)(n.default,{}),children:(0,d.jsx)(q,{initialModels:a})})})]})}catch(a){throw r.error("Error loading models:",a),a}}},38522:a=>{"use strict";a.exports=require("node:zlib")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},41637:(a,b,c)=>{"use strict";c.d(b,{default:()=>f});var d=c(11801),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M14 9h-4c-.55 0-1 .45-1 1v4c0 .55.45 1 1 1h4c.55 0 1-.45 1-1v-4c0-.55-.45-1-1-1m-1 4h-2v-2h2zm8-3c0-.55-.45-1-1-1h-1V7c0-1.1-.9-2-2-2h-2V4c0-.55-.45-1-1-1s-1 .45-1 1v1h-2V4c0-.55-.45-1-1-1s-1 .45-1 1v1H7c-1.1 0-2 .9-2 2v2H4c-.55 0-1 .45-1 1s.45 1 1 1h1v2H4c-.55 0-1 .45-1 1s.45 1 1 1h1v2c0 1.1.9 2 2 2h2v1c0 .55.45 1 1 1s1-.45 1-1v-1h2v1c0 .55.45 1 1 1s1-.45 1-1v-1h2c1.1 0 2-.9 2-2v-2h1c.55 0 1-.45 1-1s-.45-1-1-1h-1v-2h1c.55 0 1-.45 1-1m-5 7H8c-.55 0-1-.45-1-1V8c0-.55.45-1 1-1h8c.55 0 1 .45 1 1v8c0 .55-.45 1-1 1"}),"MemoryRounded")},42387:(a,b,c)=>{"use strict";c.d(b,{A:()=>D});var d=c(38301),e=c(43249),f=c(2783),g=c(37489),h=c(38404),i=c(78871),j=c(18168),k=c(68333),l=c(54716),m=c(6636),n=c(6638),o=c(29565),p=c(33105);function q(a){return(0,p.Ay)("MuiLinearProgress",a)}(0,o.A)("MuiLinearProgress",["root","colorPrimary","colorSecondary","determinate","indeterminate","buffer","query","dashed","dashedColorPrimary","dashedColorSecondary","bar","bar1","bar2","barColorPrimary","barColorSecondary","bar1Indeterminate","bar1Determinate","bar1Buffer","bar2Indeterminate","bar2Buffer"]);var r=c(21124);let s=(0,i.i7)`
|
|
2
2
|
0% {
|
|
3
3
|
left: -35%;
|
|
4
4
|
right: 100%;
|
|
@@ -49,16 +49,16 @@
|
|
|
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})]})})},44618:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return e}});let d=c(18830)._(c(11962));function e(a,b){var c;let e={};"function"==typeof a&&(e.loader=a);let f={...e,...b};return(0,d.default)({...f,modules:null==(c=f.loadableGenerated)?void 0:c.modules})}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},44708:a=>{"use strict";a.exports=require("node:https")},46466:a=>{"use strict";a.exports=require("node:stream/promises")},48161:a=>{"use strict";a.exports=require("node:os")},49248:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(11801),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 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")},49351:(a,b,c)=>{"use strict";c.d(b,{A:()=>
|
|
53
|
-
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(b,"D",{enumerable:!0,get:function(){return c}})},52615:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>a9});var d=c(21124),e=c(38301),f=c(42378),g=c(54573),h=c(81637),i=c(37674),j=c(67101),k=c(43249),l=c(2783),m=c(37489),n=c(29277),o=c(6638),p=c(18168),q=c(68333),r=c(54716),s=c(6636),t=c(29565),u=c(33105);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(96936),y=c(64023);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)=>(0,d.jsx)(y.A.Provider,{value:(a=>{let b=0===a,c=a===F-1;return b&&c?"":b?C.firstButton:c?C.lastButton:C.middleButton})(b),children:a},b))})})});var B=c(68730),C=c(7118),D=c(94367),E=c(50553),F=c(84233),G=c(88745),H=c(47902),I=c(27409),J=c(36210),K=c(40973),L=c(69266),M=c(2117),N=c(60839),O=c(8521),P=c(82666),Q=c(79515),R=c(44079),S=c(91059),T=c(63757),U=c(11402),V=c(11801);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(9863),Z=c(81310),$=c(18467),_=c(77127),aa=c(59737),ab=c(7329),ac=c(2560),ad=c(32640),ae=c(42819);let af=(0,ae.h)("frontend/components/models/list/ModelList"),ag=({models:a,isLoading:b,onAdd:c,onUpdate:f,onDelete:i,folders:j=[],onSetFolder:k,onToggleFavorite:l})=>{let m=(0,N.A)(),[n,o]=(0,ac.Xk)("flujo-ui:models:sort","name-asc"),[p,q]=(0,ac.Xk)("flujo-ui:models:group",ab.FM),[r,s]=(0,e.useState)(null),[t,u]=(0,e.useState)(null),[v,w]=(0,ac.Xk)("flujo-ui:models:collapsed",[]),x=(0,e.useMemo)(()=>new Set(v),[v]),y=a=>{o(a),s(null)},z=a=>{q(a),u(null)},A=async a=>{let b=await f(a);b.success||af.error("Failed to update model in ModelList",b.error)},B=(0,e.useMemo)(()=>(0,ad.CR)(a,n),[a,n]),G=(0,e.useMemo)(()=>"folder"===p?(0,ab.Je)(B,a=>a.folder):"sort"===p?(0,ab.Az)(B,a=>(0,ad.eZ)(a,n)):[],[p,B,n]);if(b)return(0,d.jsx)(h.default,{display:"flex",justifyContent:"center",py:4,children:(0,d.jsx)(O.default,{})});let H=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:()=>A(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:[a.length," AI connection",1===a.length?"":"s",(0,d.jsx)(h.default,{component:"span",sx:{mx:1,opacity:.5},children:"\xb7"}),"Sorted by: ",ad.fC[n]]}),(0,d.jsxs)(h.default,{sx:{display:"flex",gap:1,alignItems:"center"},children:[(0,d.jsx)(R.A,{size:"small",onClick:a=>u(a.currentTarget),color:"none"!==p?"primary":"default",sx:{border:`1px solid ${m.palette.divider}`,backgroundColor:m.palette.background.default},title:"Group cards",children:(0,d.jsx)(Y.A,{fontSize:"small"})}),(0,d.jsx)(R.A,{size:"small",onClick:a=>s(a.currentTarget),sx:{border:`1px solid ${m.palette.divider}`,backgroundColor:m.palette.background.default},title:"Sort models",children:(0,d.jsx)(T.A,{fontSize:"small"})})]})]})}),a&&0!==a.length?"none"===p?H(B):G.map(a=>(0,d.jsx)(aa.A,{label:a.label,count:a.items.length,expanded:!x.has(a.key),onToggle:()=>(a=>{w(b=>b.includes(a)?b.filter(b=>b!==a):[...b,a])})(a.key),showFolderIcon:"folder"===p,children:H(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:"Your AI is not connected yet"}),(0,d.jsx)(Q.A,{variant:"body2",color:"text.secondary",sx:{mt:.7,mb:2},children:"Connect a provider once, then use it across agents and conversations."}),(0,d.jsx)(h.default,{children:(0,d.jsx)(R.A,{color:"primary",onClick:c,title:"Connect AI",children:(0,d.jsx)(X,{})})})]})}),(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:"none"===p,onClick:()=>z("none"),children:[(0,d.jsx)(E.A,{children:(0,d.jsx)(Z.A,{fontSize:"small"})}),(0,d.jsx)(F.A,{primary:"No grouping"})]}),(0,d.jsxs)(D.A,{selected:"folder"===p,onClick:()=>z("folder"),children:[(0,d.jsx)(E.A,{children:(0,d.jsx)($.A,{fontSize:"small"})}),(0,d.jsx)(F.A,{primary:"By folder"})]}),(0,d.jsxs)(D.A,{selected:"sort"===p,onClick:()=>z("sort"),children:[(0,d.jsx)(E.A,{children:(0,d.jsx)(Y.A,{fontSize:"small"})}),(0,d.jsx)(F.A,{primary:"By sort setting"})]})]}),(0,d.jsxs)(C.A,{anchorEl:r,open:!!r,onClose:()=>s(null),anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},children:[(0,d.jsxs)(D.A,{selected:"name-asc"===n,onClick:()=>y("name-asc"),children:[(0,d.jsx)(E.A,{children:(0,d.jsx)(U.A,{fontSize:"small"})}),(0,d.jsx)(F.A,{primary:"Name (A-Z)"})]}),(0,d.jsxs)(D.A,{selected:"name-desc"===n,onClick:()=>y("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:"Name (Z-A)"})]}),(0,d.jsx)(S.A,{}),(0,d.jsxs)(D.A,{selected:"provider"===n,onClick:()=>y("provider"),children:[(0,d.jsx)(E.A,{children:(0,d.jsx)(W,{fontSize:"small"})}),(0,d.jsx)(F.A,{primary:"Provider"})]}),(0,d.jsx)(S.A,{}),(0,d.jsxs)(D.A,{selected:"context-desc"===n,onClick:()=>y("context-desc"),children:[(0,d.jsx)(E.A,{children:(0,d.jsx)(X,{fontSize:"small"})}),(0,d.jsx)(F.A,{primary:"Context (largest)"})]}),(0,d.jsxs)(D.A,{selected:"context-asc"===n,onClick:()=>y("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:"Context (smallest)"})]})]})]})};var ah=c(40512),ai=c(83899),aj=c(52327),ak=c(82605),al=c(50062),am=c(7675),an=c(15426),ao=c(19925),ap=c(93083),aq=c(85557),ar=c(49938),as=c(85838),at=c(76133),au=c(92173),av=c(83434);let aw=(0,ae.h)("frontend/components/models/modal"),ax=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}:{}}),ay=({open:a,model:b,onSave:c,onClose:g})=>{let j=(0,f.useRouter)(),{globalEnvVars:k,settings:l}=(0,ar.rX)(),[m,n]=(0,e.useState)({}),[o,p]=(0,e.useState)({}),[q,r]=(0,e.useState)(null),[s,t]=(0,e.useState)(!1),[u,v]=(0,e.useState)(null),[w,x]=(0,e.useState)(!1),[y,z]=(0,e.useState)([]),[A,C]=(0,e.useState)(!1),E=(0,e.useRef)(null),F=(0,e.useRef)(null);(0,e.useEffect)(()=>{a&&z([])},[a]),(0,e.useEffect)(()=>{m.baseUrl&&(aw.debug("Base URL or API Key changed",{baseUrl:m.baseUrl}),z([]))},[m.baseUrl,m.ApiKey]),(0,e.useEffect)(()=>(F.current&&clearTimeout(F.current),m.baseUrl&&(F.current=setTimeout(()=>{aw.debug("Debounced fetchModels triggered",{name:m.name,baseUrl:m.baseUrl,searchTerm:m.name?`"${m.name}"`:"none"}),H(m.baseUrl,m.name)},100)),()=>{F.current&&clearTimeout(F.current)}),[m.name,m.baseUrl]),(0,e.useEffect)(()=>()=>{F.current&&clearTimeout(F.current)},[]);let H=async(a,c)=>{aw.debug("fetchModels called",{baseUrl:a,searchTerm:c?`"${c}"`:"none",apiKey:m.ApiKey?"present":"not present",isApiKeyBound:s}),C(!0),p({});try{let d=s&&u?`\${global:${u}}`:m.ApiKey&&m.ApiKey!==au.RJ?m.ApiKey:void 0,e=await av.N.fetchProviderModels(a,b.id,c,d);if(aw.debug("Models fetched successfully",{count:e?.length,searchTerm:c?`"${c}"`:"none"}),Array.isArray(e)){z(e);let a=e.find(a=>a.id===m.name);a&&n(b=>b.name===a.id?{...b,...ax(a)}:b),aw.info("Models set in state",{count:e.length,searchTerm:c?`"${c}"`:"none"})}else aw.warn("Unexpected API response format",{models:e}),z([])}catch(b){aw.warn("Error fetching models",{baseUrl:a,searchTerm:c,error:b}),z([])}finally{C(!1)}};(0,e.useEffect)(()=>{if(a){n({...b,displayName:b.displayName||b.name});let a=(b.ApiKey||"").match(/\$\{global:([^}]+)\}/);a?(t(!0),v(a[1])):(t(!1),v(null),n(a=>({...a,ApiKey:b.name?au.RJ:""})))}else n({name:"",displayName:"",description:"",ApiKey:"",baseUrl:"https://api.openai.com/v1",provider:"openai",adapter:"openai",promptTemplate:"",temperature:"0.0"}),t(!1),v(null);p({}),r(null)},[a,b]);let I=(0,at.T_)(m.provider,m.adapter),J=(0,at.g3)(m.provider,m.adapter,m.name),K=(0,e.useMemo)(()=>l?.experimental?.showModelsWithoutToolCapabilities?y:y.filter(a=>!1!==a.supportsTools),[y,l?.experimental?.showModelsWithoutToolCapabilities]),L=(a,b)=>{n(c=>({...c,[a]:b})),p(b=>({...b,[a]:""}))},M=async a=>{a.preventDefault();let d={};if(m.name?.trim()||(d.name="Name is required"),m.displayName?.trim()||(d.displayName="Display Name is required"),J.creativity&&m.temperature?.trim()){let a=Number(m.temperature);(!Number.isFinite(a)||a<J.creativity.min||a>J.creativity.max)&&(d.temperature=`Creativity must be between ${J.creativity.min} and ${J.creativity.max}`)}if(s||m.ApiKey?.trim()||"codex-cli"===I.adapter||(d.ApiKey="API key is required"),Object.keys(d).length>0)return void p(d);try{let a=await c({id:b.id,name:m.name,displayName:m.displayName,description:m.description,ApiKey:m.ApiKey,baseUrl:m.baseUrl,provider:m.provider,adapter:m.adapter||"openai",promptTemplate:m.promptTemplate,temperature:J.creativity?m.temperature:void 0,reasoningEffort:J.effortLevels?.includes(m.reasoningEffort)?m.reasoningEffort:void 0,thinkingLevel:J.thinkingLevels?.includes(m.thinkingLevel)?m.thinkingLevel:void 0,thinkingBudget:J.thinkingBudget?m.thinkingBudget:void 0,serviceTier:J.priority?m.serviceTier||"default":void 0,contextWindow:m.contextWindow,supportsTools:m.supportsTools,supportedParameters:m.supportedParameters,inputModalities:m.inputModalities,outputModalities:m.outputModalities,visionInputCapability:m.visionInputCapability??(Array.isArray(m.inputModalities)?m.inputModalities.some(a=>/^(?:image|vision)$/i.test(a))?"supported":"unsupported":"unknown"),maxTurns:m.maxTurns,maxTokens:J.maxOutputTokens?m.maxTokens:void 0});a.success?j.refresh():p({submit:a.error||"Failed to save model"})}catch(a){aw.error("Failed to save model",{error:a}),p({submit:a?.message||"Failed to save model"})}};return(0,d.jsx)(ah.A,{open:a,onClose:g,maxWidth:"xl",fullWidth:!0,PaperProps:{sx:{width:"95vw",height:"90vh",maxWidth:"95vw",maxHeight:"90vh"}},children:(0,d.jsxs)("form",{onSubmit:M,children:[(0,d.jsx)(ai.A,{children:b.name?"Edit AI connection":"Connect your AI"}),(0,d.jsxs)(aj.A,{sx:{display:"flex",flexDirection:"column",height:"calc(90vh - 130px)"},children:[o.submit&&(0,d.jsx)(G.A,{severity:"error",sx:{mb:2},children:o.submit}),q&&(0,d.jsx)(G.A,{severity:"info",sx:{mb:2},children:q}),(0,d.jsxs)(P.Ay,{container:!0,spacing:2,sx:{flexGrow:1},children:[(0,d.jsx)(P.Ay,{item:!0,xs:6,sx:{height:"100%"},children:(0,d.jsxs)(h.default,{sx:{display:"flex",flexDirection:"column",height:"100%",pr:2,overflowY:"auto"},children:[(0,d.jsx)(Q.A,{variant:"h6",gutterBottom:!0,children:"Connection details"}),(0,d.jsx)(i.A,{autoFocus:!0,margin:"dense",label:"Display Name",fullWidth:!0,required:!0,value:m.displayName||"",onChange:a=>L("displayName",a.target.value),error:!!o.displayName,helperText:o.displayName||"The name shown in the UI"}),(0,d.jsxs)(ak.A,{fullWidth:!0,margin:"dense",children:[(0,d.jsx)(al.A,{id:"provider-profile-label",children:"Provider"}),(0,d.jsx)(am.A,{labelId:"provider-profile-label",label:"Provider",value:I.id,onChange:a=>(a=>{let b=at.xx.find(b=>b.id===a);b&&(n(a=>({...a,provider:b.provider,adapter:b.adapter,baseUrl:b.baseUrl})),p(a=>({...a,baseUrl:""})))})(a.target.value),children:at.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:["Uses the ",(0,d.jsx)("strong",{children:I.sdkLabel}),"claude-cli"===I.adapter?". Paste an OAuth token from `claude setup-token` into the API Key field.":"codex-cli"===I.adapter?". Paste an OpenAI API key — or leave it empty to use your ChatGPT plan via `codex login`.":""]}),I.showBaseUrl&&(0,d.jsx)(i.A,{margin:"dense",label:"Base URL",fullWidth:!0,value:m.baseUrl||"",onChange:a=>L("baseUrl",a.target.value),helperText:"Endpoint for the OpenAI-compatible API."}),(0,d.jsx)(h.default,{sx:{position:"relative",mt:1,mb:1},children:(0,d.jsx)(i.A,{margin:"dense",label:"API Key",fullWidth:!0,required:!s&&"codex-cli"!==I.adapter,type:s?"text":"password",value:m.ApiKey||"",onChange:a=>L("ApiKey",a.target.value),error:!!o.ApiKey,helperText:o.ApiKey||("codex-cli"===I.adapter?"Optional — leave empty to use your ChatGPT plan (codex login)":"API key is required for this provider"),InputProps:{readOnly:s,endAdornment:(0,d.jsx)(h.default,{sx:{display:"flex",alignItems:"center"},children:s?(0,d.jsx)(R.A,{onClick:()=>{t(!1),v(null),n(a=>({...a,ApiKey:""}))},size:"small",title:"Unbind from global variable",children:(0,d.jsx)(ap.A,{})}):(0,d.jsx)(R.A,{onClick:()=>{x(!0)},size:"small",title:"Bind to global variable",children:(0,d.jsx)(aq.A,{})})})}})}),(0,d.jsx)(an.A,{freeSolo:!0,loading:A,options:I.showBaseUrl?K.map(a=>a.id):I.defaultModels??[],value:m.name||"",onChange:(a,b)=>{let c=y.find(a=>a.id===b);n(a=>({...a,name:b||"",...c?{description:c.description??a.description,...ax(c)}:{}})),p(a=>({...a,name:""}))},onInputChange:(a,b)=>{L("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:"Technical Name",required:!0,error:!!o.name,helperText:o.name||"Used for API calls to the LLM. Type to search available models.",InputProps:{...a.InputProps,endAdornment:(0,d.jsxs)(d.Fragment,{children:[A?(0,d.jsx)(O.default,{color:"inherit",size:20}):null,a.InputProps.endAdornment]})}}),renderOption:(a,b)=>{let c=y.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:"No matching models found",loadingText:"Loading models..."}),(0,d.jsx)(i.A,{margin:"dense",label:"Description",fullWidth:!0,multiline:!0,rows:3,value:m.description||"",onChange:a=>L("description",a.target.value)}),J.creativity&&(0,d.jsx)(i.A,{margin:"dense",label:"Creativity",fullWidth:!0,type:"number",value:m.temperature??"",onChange:a=>L("temperature",a.target.value),error:!!o.temperature,inputProps:J.creativity,helperText:o.temperature||`Sampling temperature (${J.creativity.min}–${J.creativity.max}). Blank uses FLUJO's deterministic default (0).`}),J.effortLevels&&(0,d.jsxs)(ak.A,{fullWidth:!0,margin:"dense",children:[(0,d.jsx)(al.A,{id:"reasoning-effort-label",children:"Effort"}),(0,d.jsxs)(am.A,{labelId:"reasoning-effort-label",label:"Effort",value:m.reasoningEffort||"",onChange:a=>n(b=>({...b,reasoningEffort:a.target.value?a.target.value:void 0})),children:[(0,d.jsx)(D.A,{value:"",children:(0,d.jsx)("em",{children:"Provider default"})}),J.effortLevels.map(a=>(0,d.jsx)(D.A,{value:a,children:"xhigh"===a?"Extra high":a.charAt(0).toUpperCase()+a.slice(1)},a))]}),(0,d.jsx)(Q.A,{variant:"caption",color:"text.secondary",sx:{mt:.5,ml:1.75},children:"Controls how much reasoning the model performs."})]}),J.thinkingLevels&&(0,d.jsxs)(ak.A,{fullWidth:!0,margin:"dense",children:[(0,d.jsx)(al.A,{id:"thinking-level-label",children:"Thinking Level"}),(0,d.jsxs)(am.A,{labelId:"thinking-level-label",label:"Thinking Level",value:m.thinkingLevel||"",onChange:a=>n(b=>({...b,thinkingLevel:a.target.value?a.target.value:void 0})),children:[(0,d.jsx)(D.A,{value:"",children:(0,d.jsx)("em",{children:"Provider default"})}),J.thinkingLevels.map(a=>(0,d.jsx)(D.A,{value:a,children:a.charAt(0).toUpperCase()+a.slice(1)},a))]})]}),J.thinkingBudget&&(0,d.jsx)(i.A,{margin:"dense",label:"Thinking Budget",fullWidth:!0,type:"number",value:m.thinkingBudget??"",onChange:a=>{let b=a.target.value,c=""===b?void 0:Number(b);n(a=>({...a,thinkingBudget:void 0!==c&&Number.isFinite(c)&&c>=-1?Math.floor(c):void 0}))},inputProps:{min:-1,step:1},helperText:"Gemini 2.5 thinking tokens. -1 = adaptive, 0 = disabled where supported, blank = provider default."}),J.priority&&(0,d.jsxs)(ak.A,{fullWidth:!0,margin:"dense",children:[(0,d.jsx)(al.A,{id:"service-tier-label",children:"Priority"}),(0,d.jsxs)(am.A,{labelId:"service-tier-label",label:"Priority",value:m.serviceTier||"default",onChange:a=>n(b=>({...b,serviceTier:a.target.value})),children:[(0,d.jsx)(D.A,{value:"default",children:"Standard"}),(0,d.jsx)(D.A,{value:"priority",children:"Priority (faster)"})]}),(0,d.jsx)(Q.A,{variant:"caption",color:"text.secondary",sx:{mt:.5,ml:1.75},children:"Priority uses Codex Fast mode and may consume more plan usage."})]}),(0,d.jsx)(i.A,{margin:"dense",label:"Context Window (tokens)",fullWidth:!0,type:"number",value:m.contextWindow??"",onChange:a=>{let b=a.target.value,c=""===b?void 0:Number(b);n(a=>({...a,contextWindow:void 0!==c&&Number.isFinite(c)&&c>0?Math.floor(c):void 0}))},helperText:"Discovered automatically when the provider advertises it; you can override it manually."}),(0,d.jsx)(i.A,{margin:"dense",label:"Max Turns",fullWidth:!0,type:"number",value:m.maxTurns??"",onChange:a=>{let b=a.target.value,c=""===b?void 0:Number(b);n(a=>({...a,maxTurns:void 0!==c&&Number.isFinite(c)&&c>0?Math.floor(c):void 0}))},inputProps:{min:1},helperText:"Max agentic turns before a run stops (default 50). Process nodes can override this per-node."}),J.maxOutputTokens&&(0,d.jsx)(i.A,{margin:"dense",label:"Max Output Tokens (optional)",fullWidth:!0,type:"number",value:m.maxTokens??"",onChange:a=>{let b=a.target.value,c=""===b?void 0:Number(b);n(a=>({...a,maxTokens:void 0!==c&&Number.isFinite(c)&&c>0?Math.floor(c):void 0}))},inputProps:{min:1},helperText:"Optional. Default cap on generated tokens. A request's max_tokens overrides this. Anthropic uses 8192 when unset."})]})}),(0,d.jsx)(P.Ay,{item:!0,xs:6,sx:{height:"100%"},children:(0,d.jsxs)(h.default,{sx:{display:"flex",flexDirection:"column",height:"100%",pl:2},children:[(0,d.jsx)(Q.A,{variant:"h6",gutterBottom:!0,children:"Prompt Template"}),(0,d.jsx)(h.default,{sx:{flexGrow:1,display:"flex",flexDirection:"column",height:"calc(100% - 32px)"},children:(0,d.jsx)(as.A,{ref:E,value:m.promptTemplate||"",onChange:a=>L("promptTemplate",a),label:"",height:"100%"})})]})})]}),w&&(0,d.jsxs)(h.default,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:400,bgcolor:"background.paper",boxShadow:24,p:4,borderRadius:1,zIndex:9999},children:[(0,d.jsx)(Q.A,{variant:"h6",component:"h2",sx:{mb:2},children:"Bind to Global Variable"}),0===Object.keys(k).length?(0,d.jsx)(Q.A,{sx:{mb:2},children:"No global variables available. Add some in Settings first."}):(0,d.jsx)(h.default,{sx:{maxHeight:300,overflow:"auto",mb:2},children:Object.entries(k).map(([a,b])=>(0,d.jsx)(B.A,{onClick:()=>(a=>{t(!0),v(a),n(b=>({...b,ApiKey:`\${global:${a}}`})),x(!1)})(a),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:()=>x(!1),children:"Cancel"})})]})]}),(0,d.jsxs)(ao.A,{children:[(0,d.jsx)(B.A,{onClick:g,children:"Cancel"}),(0,d.jsx)(B.A,{type:"submit",variant:"contained",color:"primary",children:"Save"})]})]})})};var az=c(41893),aA=c(43312),aB=c(53773),aC=c(42387),aD=c(95587),aE=c(77028),aF=c(78871);let aG=(0,V.A)((0,d.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"),aH=(0,V.A)((0,d.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");var aI=c(49248),aJ=c(29900);let aK=(0,V.A)((0,d.jsx)("path",{d:"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96M19 18H6c-2.21 0-4-1.79-4-4s1.79-4 4-4h.71C7.37 7.69 9.48 6 12 6c3.04 0 5.5 2.46 5.5 5.5v.5H19c1.66 0 3 1.34 3 3s-1.34 3-3 3"}),"CloudQueueRounded"),aL=(0,V.A)((0,d.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"),aM=(0,V.A)((0,d.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"),aN=(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"),aO=(0,V.A)((0,d.jsx)("path",{d:"M16.59 9H15V4c0-.55-.45-1-1-1h-4c-.55 0-1 .45-1 1v5H7.41c-.89 0-1.34 1.08-.71 1.71l4.59 4.59c.39.39 1.02.39 1.41 0l4.59-4.59c.63-.63.19-1.71-.7-1.71M5 19c0 .55.45 1 1 1h12c.55 0 1-.45 1-1s-.45-1-1-1H6c-.55 0-1 .45-1 1"}),"DownloadRounded"),aP=(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 aQ=c(29777);let aR=(0,V.A)((0,d.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");var aS=c(75837);let aT=(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"),aU=(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"),aV=(0,V.A)((0,d.jsx)("path",{d:"M20 9V7c0-1.1-.9-2-2-2h-3c0-1.66-1.34-3-3-3S9 3.34 9 5H6c-1.1 0-2 .9-2 2v2c-1.66 0-3 1.34-3 3s1.34 3 3 3v4c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-4c1.66 0 3-1.34 3-3s-1.34-3-3-3M7.5 11.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5S9.83 13 9 13s-1.5-.67-1.5-1.5M15 17H9c-.55 0-1-.45-1-1s.45-1 1-1h6c.55 0 1 .45 1 1s-.45 1-1 1m0-4c-.83 0-1.5-.67-1.5-1.5S14.17 10 15 10s1.5.67 1.5 1.5S15.83 13 15 13"}),"SmartToyRounded"),aW=(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"),aX=(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 aY=c(50648);let aZ={"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 a$(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}]:aZ[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 a_=(0,aF.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})]})})},44618:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return e}});let d=c(18830)._(c(11962));function e(a,b){var c;let e={};"function"==typeof a&&(e.loader=a);let f={...e,...b};return(0,d.default)({...f,modules:null==(c=f.loadableGenerated)?void 0:c.modules})}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},44708:a=>{"use strict";a.exports=require("node:https")},46466:a=>{"use strict";a.exports=require("node:stream/promises")},48161:a=>{"use strict";a.exports=require("node:os")},49248:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(11801),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 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")},49351:(a,b,c)=>{"use strict";c.d(b,{A:()=>i});var d=c(21124);c(38301);var e=c(49565),f=c(51100),g=c(73198),h=c(18305);function i({show:a,onClick:b,sx:c}){let{t:i}=(0,h.s9)();return(0,d.jsx)(e.A,{in:a,unmountOnExit:!0,children:(0,d.jsx)(f.A,{size:"small",color:"primary","aria-label":i("backToTop.action"),onClick:b,sx:{position:"fixed",bottom:24,right:24,zIndex:1200,...c},children:(0,d.jsx)(g.A,{})})})}},50573:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>g});var d=c(75338),e=c(73737),f=c(65251);function g(){return(0,d.jsx)(e.default,{display:"flex",justifyContent:"center",alignItems:"center",height:"100%",p:4,children:(0,d.jsx)(f.default,{size:40})})}},51455:a=>{"use strict";a.exports=require("node:fs/promises")},51669:(a,b)=>{"use strict";function c(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
|
|
53
|
+
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(b,"D",{enumerable:!0,get:function(){return c}})},52615:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>ba});var d=c(21124),e=c(38301),f=c(42378),g=c(54573),h=c(81637),i=c(37674),j=c(67101),k=c(43249),l=c(2783),m=c(37489),n=c(29277),o=c(6638),p=c(18168),q=c(68333),r=c(54716),s=c(6636),t=c(29565),u=c(33105);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(96936),y=c(64023);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)=>(0,d.jsx)(y.A.Provider,{value:(a=>{let b=0===a,c=a===F-1;return b&&c?"":b?C.firstButton:c?C.lastButton:C.middleButton})(b),children:a},b))})})});var B=c(68730),C=c(7118),D=c(94367),E=c(50553),F=c(84233),G=c(88745),H=c(47902),I=c(27409),J=c(36210),K=c(40973),L=c(69266),M=c(2117),N=c(60839),O=c(8521),P=c(82666),Q=c(79515),R=c(44079),S=c(91059),T=c(63757),U=c(11402),V=c(11801);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(9863),Z=c(81310),$=c(18467),_=c(77127),aa=c(59737),ab=c(7329),ac=c(2560),ad=c(32640),ae=c(42819),af=c(18305);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.Xk)("flujo-ui:models:sort","name-asc"),[r,s]=(0,ac.Xk)("flujo-ui:models:group",ab.FM),[t,u]=(0,e.useState)(null),[v,w]=(0,e.useState)(null),[x,y]=(0,ac.Xk)("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,{label:a.label,count:a.items.length,expanded:!z.has(a.key),onToggle:()=>(a=>{y(b=>b.includes(a)?b.filter(b=>b!==a):[...b,a])})(a.key),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(40512),aj=c(83899),ak=c(52327),al=c(82605),am=c(50062),an=c(7675),ao=c(15426),ap=c(19925),aq=c(93083),ar=c(85557),as=c(49938),at=c(85838),au=c(76133),av=c(92173),aw=c(83434);let ax=(0,ae.h)("frontend/components/models/modal"),ay=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}:{}}),az=({open:a,model:b,onSave:c,onClose:g})=>{let{t:j}=(0,af.s9)(),k=(0,f.useRouter)(),{globalEnvVars:l,settings:m}=(0,as.rX)(),[n,o]=(0,e.useState)({}),[p,q]=(0,e.useState)({}),[r,s]=(0,e.useState)(null),[t,u]=(0,e.useState)(!1),[v,w]=(0,e.useState)(null),[x,y]=(0,e.useState)(!1),[z,A]=(0,e.useState)([]),[C,E]=(0,e.useState)(!1),F=(0,e.useRef)(null),H=(0,e.useRef)(null);(0,e.useEffect)(()=>{a&&A([])},[a]),(0,e.useEffect)(()=>{n.baseUrl&&(ax.debug("Base URL or API Key changed",{baseUrl:n.baseUrl}),A([]))},[n.baseUrl,n.ApiKey]),(0,e.useEffect)(()=>(H.current&&clearTimeout(H.current),n.baseUrl&&(H.current=setTimeout(()=>{ax.debug("Debounced fetchModels triggered",{name:n.name,baseUrl:n.baseUrl,searchTerm:n.name?`"${n.name}"`:"none"}),I(n.baseUrl,n.name)},100)),()=>{H.current&&clearTimeout(H.current)}),[n.name,n.baseUrl]),(0,e.useEffect)(()=>()=>{H.current&&clearTimeout(H.current)},[]);let I=async(a,c)=>{ax.debug("fetchModels called",{baseUrl:a,searchTerm:c?`"${c}"`:"none",apiKey:n.ApiKey?"present":"not present",isApiKeyBound:t}),E(!0),q({});try{let d=t&&v?`\${global:${v}}`:n.ApiKey&&n.ApiKey!==av.RJ?n.ApiKey:void 0,e=await aw.N.fetchProviderModels(a,b.id,c,d);if(ax.debug("Models fetched successfully",{count:e?.length,searchTerm:c?`"${c}"`:"none"}),Array.isArray(e)){A(e);let a=e.find(a=>a.id===n.name);a&&o(b=>b.name===a.id?{...b,...ay(a)}:b),ax.info("Models set in state",{count:e.length,searchTerm:c?`"${c}"`:"none"})}else ax.warn("Unexpected API response format",{models:e}),A([])}catch(b){ax.warn("Error fetching models",{baseUrl:a,searchTerm:c,error:b}),A([])}finally{E(!1)}};(0,e.useEffect)(()=>{if(a){o({...b,displayName:b.displayName||b.name});let a=(b.ApiKey||"").match(/\$\{global:([^}]+)\}/);a?(u(!0),w(a[1])):(u(!1),w(null),o(a=>({...a,ApiKey:b.name?av.RJ:""})))}else o({name:"",displayName:"",description:"",ApiKey:"",baseUrl:"https://api.openai.com/v1",provider:"openai",adapter:"openai",promptTemplate:"",temperature:"0.0"}),u(!1),w(null);q({}),s(null)},[a,b]);let J=(0,au.T_)(n.provider,n.adapter),K=(0,au.g3)(n.provider,n.adapter,n.name),L=(0,e.useMemo)(()=>m?.experimental?.showModelsWithoutToolCapabilities?z:z.filter(a=>!1!==a.supportsTools),[z,m?.experimental?.showModelsWithoutToolCapabilities]),M=(a,b)=>{o(c=>({...c,[a]:b})),q(b=>({...b,[a]:""}))},N=async a=>{a.preventDefault();let d={};if(n.name?.trim()||(d.name=j("models.modal.nameRequired")),n.displayName?.trim()||(d.displayName=j("models.modal.displayNameRequired")),K.creativity&&n.temperature?.trim()){let a=Number(n.temperature);(!Number.isFinite(a)||a<K.creativity.min||a>K.creativity.max)&&(d.temperature=j("models.modal.creativityRange",{min:K.creativity.min,max:K.creativity.max}))}if(t||n.ApiKey?.trim()||"codex-cli"===J.adapter||(d.ApiKey=j("models.modal.apiKeyRequired")),Object.keys(d).length>0)return void q(d);try{let a=await c({id:b.id,name:n.name,displayName:n.displayName,description:n.description,ApiKey:n.ApiKey,baseUrl:n.baseUrl,provider:n.provider,adapter:n.adapter||"openai",promptTemplate:n.promptTemplate,temperature:K.creativity?n.temperature:void 0,reasoningEffort:K.effortLevels?.includes(n.reasoningEffort)?n.reasoningEffort:void 0,thinkingLevel:K.thinkingLevels?.includes(n.thinkingLevel)?n.thinkingLevel:void 0,thinkingBudget:K.thinkingBudget?n.thinkingBudget:void 0,serviceTier:K.priority?n.serviceTier||"default":void 0,contextWindow:n.contextWindow,supportsTools:n.supportsTools,supportedParameters:n.supportedParameters,inputModalities:n.inputModalities,outputModalities:n.outputModalities,visionInputCapability:n.visionInputCapability??(Array.isArray(n.inputModalities)?n.inputModalities.some(a=>/^(?:image|vision)$/i.test(a))?"supported":"unsupported":"unknown"),maxTurns:n.maxTurns,maxTokens:K.maxOutputTokens?n.maxTokens:void 0});a.success?k.refresh():q({submit:a.error||j("models.saveFailed")})}catch(a){ax.error("Failed to save model",{error:a}),q({submit:a?.message||j("models.saveFailed")})}},S={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"},T=a=>S[a]?j(S[a]):a;return(0,d.jsx)(ai.A,{open:a,onClose:g,maxWidth:"xl",fullWidth:!0,PaperProps:{sx:{width:"95vw",height:"90vh",maxWidth:"95vw",maxHeight:"90vh"}},children:(0,d.jsxs)("form",{onSubmit:N,children:[(0,d.jsx)(aj.A,{children:b.name?j("models.modal.editTitle"):j("models.modal.createTitle")}),(0,d.jsxs)(ak.A,{sx:{display:"flex",flexDirection:"column",height:"calc(90vh - 130px)"},children:[p.submit&&(0,d.jsx)(G.A,{severity:"error",sx:{mb:2},children:p.submit}),r&&(0,d.jsx)(G.A,{severity:"info",sx:{mb:2},children:r}),(0,d.jsxs)(P.Ay,{container:!0,spacing:2,sx:{flexGrow:1},children:[(0,d.jsx)(P.Ay,{item:!0,xs:6,sx:{height:"100%"},children:(0,d.jsxs)(h.default,{sx:{display:"flex",flexDirection:"column",height:"100%",pr:2,overflowY:"auto"},children:[(0,d.jsx)(Q.A,{variant:"h6",gutterBottom:!0,children:j("models.modal.connectionDetails")}),(0,d.jsx)(i.A,{autoFocus:!0,margin:"dense",label:j("models.modal.displayName"),fullWidth:!0,required:!0,value:n.displayName||"",onChange:a=>M("displayName",a.target.value),error:!!p.displayName,helperText:p.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,{labelId:"provider-profile-label",label:j("models.modal.provider"),value:J.id,onChange:a=>(a=>{let b=au.xx.find(b=>b.id===a);b&&(o(a=>({...a,provider:b.provider,adapter:b.adapter,baseUrl:b.baseUrl})),q(a=>({...a,baseUrl:""})))})(a.target.value),children: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:J.sdkLabel}),"claude-cli"===J.adapter?` ${j("models.modal.claudeAuthHelp")}`:"codex-cli"===J.adapter?` ${j("models.modal.codexAuthHelp")}`:""]}),J.showBaseUrl&&(0,d.jsx)(i.A,{margin:"dense",label:j("models.card.baseUrl"),fullWidth:!0,value:n.baseUrl||"",onChange:a=>M("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,{margin:"dense",label:j("models.modal.apiKey"),fullWidth:!0,required:!t&&"codex-cli"!==J.adapter,type:t?"text":"password",value:n.ApiKey||"",onChange:a=>M("ApiKey",a.target.value),error:!!p.ApiKey,helperText:p.ApiKey||("codex-cli"===J.adapter?j("models.modal.apiKeyOptionalCodex"):j("models.modal.apiKeyRequiredProvider")),InputProps:{readOnly:t,endAdornment:(0,d.jsx)(h.default,{sx:{display:"flex",alignItems:"center"},children:t?(0,d.jsx)(R.A,{onClick:()=>{u(!1),w(null),o(a=>({...a,ApiKey:""}))},size:"small",title:j("models.modal.unbindGlobal"),children:(0,d.jsx)(aq.A,{})}):(0,d.jsx)(R.A,{onClick:()=>{y(!0)},size:"small",title:j("models.modal.bindGlobal"),children:(0,d.jsx)(ar.A,{})})})}})}),(0,d.jsx)(ao.A,{freeSolo:!0,loading:C,options:J.showBaseUrl?L.map(a=>a.id):J.defaultModels??[],value:n.name||"",onChange:(a,b)=>{let c=z.find(a=>a.id===b);o(a=>({...a,name:b||"",...c?{description:c.description??a.description,...ay(c)}:{}})),q(a=>({...a,name:""}))},onInputChange:(a,b)=>{M("name",b)},filterOptions:(a,b)=>{let c=b.inputValue.toLowerCase();return c?a.filter(a=>{let b=a.toLowerCase();if(b.includes(c))return!0;let d=0,e=0;for(;d<b.length&&e<c.length;)b[d]===c[e]&&e++,d++;return e===c.length}):a},ListboxProps:{style:{maxHeight:"300px",overflow:"auto"}},renderInput:a=>(0,d.jsx)(i.A,{...a,margin:"dense",label:j("models.modal.technicalName"),required:!0,error:!!p.name,helperText:p.name||j("models.modal.technicalNameHelp"),InputProps:{...a.InputProps,endAdornment:(0,d.jsxs)(d.Fragment,{children:[C?(0,d.jsx)(O.default,{color:"inherit",size:20}):null,a.InputProps.endAdornment]})}}),renderOption:(a,b)=>{let c=z.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,{margin:"dense",label:j("models.modal.description"),fullWidth:!0,multiline:!0,rows:3,value:n.description||"",onChange:a=>M("description",a.target.value)}),K.creativity&&(0,d.jsx)(i.A,{margin:"dense",label:j("models.modal.creativity"),fullWidth:!0,type:"number",value:n.temperature??"",onChange:a=>M("temperature",a.target.value),error:!!p.temperature,inputProps:K.creativity,helperText:p.temperature||j("models.modal.creativityHelp",{min:K.creativity.min,max:K.creativity.max})}),K.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,{labelId:"reasoning-effort-label",label:j("models.modal.effort"),value:n.reasoningEffort||"",onChange:a=>o(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")})}),K.effortLevels.map(a=>(0,d.jsx)(D.A,{value:a,children:T(a)},a))]}),(0,d.jsx)(Q.A,{variant:"caption",color:"text.secondary",sx:{mt:.5,ml:1.75},children:j("models.modal.effortHelp")})]}),K.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,{labelId:"thinking-level-label",label:j("models.modal.thinkingLevel"),value:n.thinkingLevel||"",onChange:a=>o(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")})}),K.thinkingLevels.map(a=>(0,d.jsx)(D.A,{value:a,children:T(a)},a))]})]}),K.thinkingBudget&&(0,d.jsx)(i.A,{margin:"dense",label:j("models.modal.thinkingBudget"),fullWidth:!0,type:"number",value:n.thinkingBudget??"",onChange:a=>{let b=a.target.value,c=""===b?void 0:Number(b);o(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")}),K.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,{labelId:"service-tier-label",label:j("models.modal.priority"),value:n.serviceTier||"default",onChange:a=>o(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,{margin:"dense",label:j("models.modal.contextWindow"),fullWidth:!0,type:"number",value:n.contextWindow??"",onChange:a=>{let b=a.target.value,c=""===b?void 0:Number(b);o(a=>({...a,contextWindow:void 0!==c&&Number.isFinite(c)&&c>0?Math.floor(c):void 0}))},helperText:j("models.modal.contextWindowHelp")}),(0,d.jsx)(i.A,{margin:"dense",label:j("models.modal.maxTurns"),fullWidth:!0,type:"number",value:n.maxTurns??"",onChange:a=>{let b=a.target.value,c=""===b?void 0:Number(b);o(a=>({...a,maxTurns:void 0!==c&&Number.isFinite(c)&&c>0?Math.floor(c):void 0}))},inputProps:{min:1},helperText:j("models.modal.maxTurnsHelp")}),K.maxOutputTokens&&(0,d.jsx)(i.A,{margin:"dense",label:j("models.modal.maxOutputTokens"),fullWidth:!0,type:"number",value:n.maxTokens??"",onChange:a=>{let b=a.target.value,c=""===b?void 0:Number(b);o(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:6,sx:{height:"100%"},children:(0,d.jsxs)(h.default,{sx:{display:"flex",flexDirection:"column",height:"100%",pl: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",height:"calc(100% - 32px)"},children:(0,d.jsx)(at.A,{ref:F,value:n.promptTemplate||"",onChange:a=>M("promptTemplate",a),label:"",height:"100%"})})]})})]}),x&&(0,d.jsxs)(h.default,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:400,bgcolor:"background.paper",boxShadow:24,p:4,borderRadius:1,zIndex:9999},children:[(0,d.jsx)(Q.A,{variant:"h6",component:"h2",sx:{mb:2},children:j("models.modal.bindTitle")}),0===Object.keys(l).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(l).map(([a,b])=>(0,d.jsx)(B.A,{onClick:()=>(a=>{u(!0),w(a),o(b=>({...b,ApiKey:`\${global:${a}}`})),y(!1)})(a),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:()=>y(!1),children:j("common.cancel")})})]})]}),(0,d.jsxs)(ap.A,{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 aA=c(41893),aB=c(43312),aC=c(53773),aD=c(42387),aE=c(95587),aF=c(77028),aG=c(78871);let aH=(0,V.A)((0,d.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"),aI=(0,V.A)((0,d.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");var aJ=c(49248),aK=c(29900);let aL=(0,V.A)((0,d.jsx)("path",{d:"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96M19 18H6c-2.21 0-4-1.79-4-4s1.79-4 4-4h.71C7.37 7.69 9.48 6 12 6c3.04 0 5.5 2.46 5.5 5.5v.5H19c1.66 0 3 1.34 3 3s-1.34 3-3 3"}),"CloudQueueRounded"),aM=(0,V.A)((0,d.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"),aN=(0,V.A)((0,d.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"),aO=(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"),aP=(0,V.A)((0,d.jsx)("path",{d:"M16.59 9H15V4c0-.55-.45-1-1-1h-4c-.55 0-1 .45-1 1v5H7.41c-.89 0-1.34 1.08-.71 1.71l4.59 4.59c.39.39 1.02.39 1.41 0l4.59-4.59c.63-.63.19-1.71-.7-1.71M5 19c0 .55.45 1 1 1h12c.55 0 1-.45 1-1s-.45-1-1-1H6c-.55 0-1 .45-1 1"}),"DownloadRounded"),aQ=(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 aR=c(29777);let aS=(0,V.A)((0,d.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");var aT=c(75837);let aU=(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"),aV=(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"),aW=(0,V.A)((0,d.jsx)("path",{d:"M20 9V7c0-1.1-.9-2-2-2h-3c0-1.66-1.34-3-3-3S9 3.34 9 5H6c-1.1 0-2 .9-2 2v2c-1.66 0-3 1.34-3 3s1.34 3 3 3v4c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-4c1.66 0 3-1.34 3-3s-1.34-3-3-3M7.5 11.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5S9.83 13 9 13s-1.5-.67-1.5-1.5M15 17H9c-.55 0-1-.45-1-1s.45-1 1-1h6c.55 0 1 .45 1 1s-.45 1-1 1m0-4c-.83 0-1.5-.67-1.5-1.5S14.17 10 15 10s1.5.67 1.5 1.5S15.83 13 15 13"}),"SmartToyRounded"),aX=(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"),aY=(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 aZ=c(50648);let a$={"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 a_(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}]:a$[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 a0=(0,aG.i7)`
|
|
54
54
|
0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg); }
|
|
55
55
|
50% { transform: translate3d(0, -9px, 0) rotate(5deg); }
|
|
56
|
-
`,
|
|
56
|
+
`,a1=(0,aG.i7)`
|
|
57
57
|
from { opacity: 0; transform: translate3d(18px, 0, 0) scale(.985); }
|
|
58
58
|
to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
|
|
59
|
-
`,
|
|
59
|
+
`,a2=(0,aG.i7)`
|
|
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
|
-
`,a2={"openrouter-free":{eyebrow:"Free \xb7 online",title:"Meet your free AI router",summary:"OpenRouter will pick an available zero-cost model for every request. It is ideal for learning and light use.",accountUrl:"https://openrouter.ai/settings/keys",accountLabel:"Create an OpenRouter key",keyLabel:"OpenRouter API key",note:"Free models have lower rate limits and can change as availability shifts. FLUJO creates the exact technical model openrouter/free."},"requesty-free":{eyebrow:"Free \xb7 online",title:"Connect through Requesty",summary:"Requesty gives you one gateway for many providers. This starter connection targets OpenRouter’s free router.",accountUrl:"https://app.requesty.ai/api-keys",accountLabel:"Create a Requesty key",keyLabel:"Requesty API key",note:"The target model is free, but Requesty account terms and routing limits still apply. Check the dashboard before heavier use."},"openrouter-paid":{eyebrow:"Pay as you go \xb7 online",title:"One key, a useful starter team",summary:"Add credits when you need them—no monthly subscription. FLUJO will create an automatic router, a cost-conscious model, and a high-capability model.",accountUrl:"https://openrouter.ai/settings/keys",accountLabel:"Open OpenRouter keys",keyLabel:"OpenRouter API key",note:"Provider usage is metered. Set a spending limit in OpenRouter before connecting if you want a hard ceiling."},"requesty-paid":{eyebrow:"Pay as you go \xb7 online",title:"Route a starter team with Requesty",summary:"Use a single funded account for DeepSeek, Claude, and OpenAI models, with Requesty handling the gateway.",accountUrl:"https://app.requesty.ai/api-keys",accountLabel:"Open Requesty keys",keyLabel:"Requesty API key",note:"Usage is billed through your Requesty account. Add budgets or policies in Requesty when you need tighter controls."},"claude-subscription":{eyebrow:"Existing subscription \xb7 Claude",title:"Bring your Claude plan to FLUJO",summary:"Claude Code signs in to your Pro or Max plan. One setup token powers four useful aliases in FLUJO.",keyLabel:"Token from claude setup-token",note:"The token is stored using FLUJO’s normal encrypted model-key storage. Your plan’s usage limits still apply."},"codex-subscription":{eyebrow:"Existing subscription \xb7 ChatGPT",title:"Bring your ChatGPT plan through Codex",summary:"Codex uses its local ChatGPT sign-in. FLUJO does not need your password or a copied browser token.",note:"Run codex login in a terminal and complete the browser flow. FLUJO then creates a balanced Codex model set."},"gemini-native":{eyebrow:"Google \xb7 native SDK",title:"Connect Gemini natively",summary:"FLUJO talks directly to Google’s GenAI SDK and creates light, balanced, and pro Gemini choices.",accountUrl:"https://aistudio.google.com/app/apikey",accountLabel:"Create a Gemini API key",keyLabel:"Gemini API key",note:"A Gemini app subscription and Gemini API billing are separate products. The API key controls this connection."}};function a3({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)(az.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 a4({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 a5({command:a,copied:b,onCopy:c}){let e=(0,N.A)();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)(aW,{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)(aA.A,{title:b?"Copied":"Copy command",children:(0,d.jsx)(R.A,{size:"small",onClick:c,"aria-label":`Copy ${a}`,children:b?(0,d.jsx)(aI.A,{color:"success",fontSize:"small"}):(0,d.jsx)(aM,{fontSize:"small"})})})]})}function a6({open:a,onClose:b,onManualCreation:c,onCreateModels:f}){let j=(0,N.A)(),[k,l]=(0,e.useState)("welcome"),[n,o]=(0,e.useState)([]),[p,q]=(0,e.useState)("beginner"),[r,s]=(0,e.useState)(null),[t,u]=(0,e.useState)(""),[v,w]=(0,e.useState)(!1),[x,y]=(0,e.useState)(!1),[z,A]=(0,e.useState)(null),[C,D]=(0,e.useState)([]),[E,F]=(0,e.useState)([]),[H,I]=(0,e.useState)(null),[K,M]=(0,e.useState)(null),[P,S]=(0,e.useState)([]),[T,U]=(0,e.useState)("idle"),[V,W]=(0,e.useState)(null),[X,Y]=(0,e.useState)(!1),[Z,$]=(0,e.useState)(!1),[_,aa]=(0,e.useState)(!1),[ab,ac]=(0,e.useState)([]),ad=a=>{o(a=>[...a,k]),l(a),A(null)},ae=a=>{s(a),ad("setup")},af=async a=>{try{await navigator.clipboard.writeText(a),I(a),window.setTimeout(()=>I(b=>b===a?null:b),1600)}catch{A("Could not copy automatically. Select the command and copy it manually.")}},ag=(0,e.useCallback)(async()=>{Y(!0),A(null);try{let a=await fetch("/api/local-models/capability",{cache:"no-store"});if(!a.ok)throw Error("Could not inspect this machine.");W(await a.json())}catch(a){A(a instanceof Error?a.message:"Could not inspect this machine.")}finally{$(!0),Y(!1)}},[]),ai=async a=>{M(a),U("idle"),S([]),A(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||"The installer could not be started.")}let c=!1,d="";if(await (0,aY.z)(b,a=>{("stdout"===a.type||"stderr"===a.type)&&S(b=>[...b,a.data].slice(-8)),"status"===a.type&&a.message&&S(b=>[...b,a.message].slice(-8)),"result"===a.type&&(c=a.success,d=a.error||"")}),!c)throw Error(d||"WinGet did not finish successfully.");U("success"),"ollama"===a&&window.setTimeout(()=>void ag(),1200)}catch(a){U("error"),A(a instanceof Error?a.message:"Installation failed.")}finally{M(null)}},ak=async a=>{y(!0),A(null);try{let b=await f(a);if(!b.success)throw Error(b.error||"FLUJO could not create the model connection.");D(b.created),F(b.existing),ad("success")}catch(a){A(a instanceof Error?a.message:"FLUJO could not create the model connection.")}finally{y(!1)}},al=async()=>r&&"ollama"!==r?"codex-subscription"===r||t.trim()?"codex-subscription"!==r||v?void await ak(a$({kind:r,apiKey:t})):void A("Confirm that codex login is complete before creating the models."):void A("claude-subscription"===r?"Paste the token produced by claude setup-token first.":"Paste your API key first."):void 0,am=async()=>{let a=V?.suggestedModel||"llama3.2:3b",b=V?.installedModels?.some(b=>b===a);if(!V?.ollamaReachable)return void A("Start Ollama, then use “Check again” before downloading a model.");if(!b){aa(!0),ac([]),A(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("Ollama could not start the model download.");let c=!1,d="";if(await (0,aY.z)(b,a=>{("stdout"===a.type||"stderr"===a.type)&&ac(b=>[...b,a.data].slice(-6)),"result"===a.type&&(c=a.success,d=a.error||"")}),!c)throw Error(d||`Could not download ${a}.`)}catch(a){A(a instanceof Error?a.message:"The model download failed."),aa(!1);return}aa(!1)}await ak(a$({kind:"ollama",ollamaModel:a,ollamaUrl:V?.ollamaUrl}))},an="beginner"===p,ao=Math.min(96,"welcome"===k?8:"success"===k?100:22+15*n.length),ap=r&&"ollama"!==r?a2[r]:null,aq=(0,e.useMemo)(()=>r?a$({kind:r}).map(a=>a.displayName||a.name):[],[r]),ar=V?.suggestedModel||"llama3.2:3b",as=!!V?.installedModels?.includes(ar),at=(a,b,c)=>(0,d.jsxs)(aB.A,{spacing:1.1,children:[(0,d.jsx)(a5,{command:b,copied:H===b,onCopy:()=>void af(b)}),(0,d.jsx)(B.A,{variant:"outlined",startIcon:K===a?(0,d.jsx)(O.default,{size:17}):(0,d.jsx)(aO,{}),disabled:!!K,onClick:()=>void ai(a),sx:{alignSelf:"flex-start"},children:K===a?"Installing…":"Install with WinGet"}),c?(0,d.jsx)(a5,{command:c,copied:H===c,onCopy:()=>void af(c)}):null,"success"===T?(0,d.jsx)(G.A,{severity:"success",children:"Installed. Continue with the sign-in command below."}):null,P.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:P.join("\n")}):null]});return(0,d.jsx)(ah.A,{open:a,onClose:x||_||K?void 0:b,fullWidth:!0,maxWidth:"md","aria-label":"Connect AI setup wizard",children:(0,d.jsxs)(aj.A,{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:`${a_} 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:`${a_} 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:[n.length&&"success"!==k?(0,d.jsx)(R.A,{onClick:()=>{let a=n[n.length-1];a&&(o(a=>a.slice(0,-1)),l(a),A(null))},"aria-label":"Back",children:(0,d.jsx)(aG,{})}):(0,d.jsx)(h.default,{sx:{width:40}}),(0,d.jsx)(h.default,{sx:{flex:1},children:(0,d.jsx)(aC.A,{variant:"determinate",value:ao,"aria-label":"Connection progress"})}),(0,d.jsx)(R.A,{onClick:b,"aria-label":"Close connection wizard",disabled:x||_||!!K,children:(0,d.jsx)(aJ.A,{})})]}),z?(0,d.jsx)(G.A,{severity:"error",onClose:()=>A(null),sx:{mb:2},children:z}):null,(0,d.jsx)(h.default,{sx:{animation:`${a0} 260ms ease-out both`,"@media (prefers-reduced-motion: reduce)":{animation:"none"}},children:(()=>{if("welcome"===k)return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(az.A,{icon:(0,d.jsx)(J.A,{}),label:"A two-minute setup",color:"primary",variant:"outlined",sx:{mb:2}}),(0,d.jsx)(Q.A,{variant:"h4",children:"Let’s connect your AI!"}),(0,d.jsx)(Q.A,{variant:"body1",color:"text.secondary",sx:{mt:1,mb:3,maxWidth:680},children:"Do you already know how model providers, API keys, and local AI work?"}),(0,d.jsxs)(a4,{children:[(0,d.jsx)(a3,{icon:aU,title:"No idea",description:"Explain the choices and guide me one small step at a time.",badge:"Gentle guide",onClick:()=>{q("beginner"),ad("budget")}}),(0,d.jsx)(a3,{icon:aH,title:"I know a bit",description:"Give me the important tradeoffs, then let me move quickly.",onClick:()=>{q("familiar"),ad("budget")}}),(0,d.jsx)(a3,{icon:L.A,title:"I’m an expert",description:"Skip the wizard and open every model setting.",onClick:c})]})]});if("budget"===k)return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(Q.A,{variant:"overline",color:"primary.main",children:"First things first"}),(0,d.jsx)(Q.A,{variant:"h4",children:"How would you like to pay for AI?"}),an?(0,d.jsx)(Q.A,{variant:"body1",color:"text.secondary",sx:{mt:1,mb:3,maxWidth:700},children:"Free services are great for learning but have tighter limits. A subscription reuses a plan you already have. Pay-as-you-go APIs charge only for what your flows use and are usually the most flexible."}):(0,d.jsx)(Q.A,{color:"text.secondary",sx:{mt:1,mb:3},children:"Pick the billing style you want FLUJO to build around."}),(0,d.jsxs)(a4,{children:[(0,d.jsx)(a3,{icon:aT,title:"Let’s start free",description:"No model usage bill; expect lower limits and changing availability.",badge:"Start here",onClick:()=>ad("location")}),(0,d.jsx)(a3,{icon:aX,title:"I already subscribe",description:"Use Claude, ChatGPT/Codex, or a native Gemini developer key.",onClick:()=>ad("subscription-provider")}),(0,d.jsx)(a3,{icon:aN,title:"I can pay—no subscription",description:"Fund an API account and pay only for the requests you make.",onClick:()=>ad("paid-provider")})]})]});if("location"===k)return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(Q.A,{variant:"overline",color:"primary.main",children:"Free route"}),(0,d.jsx)(Q.A,{variant:"h4",children:"Online or offline?"}),(0,d.jsx)(Q.A,{color:"text.secondary",sx:{mt:1,mb:3},children:an?"Online is easier and uses someone else’s hardware. Offline keeps prompts on this machine but downloads a model and uses your RAM or GPU.":"Online is quickest; offline is private and uses this computer."}),(0,d.jsxs)(h.default,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"1fr 1fr"},gap:1.5},children:[(0,d.jsx)(a3,{icon:aK,title:"Online",description:"Fastest setup. Create a provider account and an API key.",badge:"Easy",onClick:()=>ad("free-provider")}),(0,d.jsx)(a3,{icon:aL,title:"Offline",description:"Install Ollama and download a model sized for this computer.",badge:"Private",onClick:()=>ae("ollama")})]})]});if("free-provider"===k)return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(Q.A,{variant:"overline",color:"primary.main",children:"Free \xb7 online"}),(0,d.jsx)(Q.A,{variant:"h4",children:"Choose your gateway"}),(0,d.jsx)(Q.A,{color:"text.secondary",sx:{mt:1,mb:3},children:an?"Both use the same free-router target; OpenRouter is the most direct route.":"OpenRouter is the direct route; Requesty adds gateway features."}),(0,d.jsxs)(h.default,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"1fr 1fr"},gap:1.5},children:[(0,d.jsx)(a3,{icon:aS.A,title:"OpenRouter",description:"Direct access to openrouter/free, with no model charges.",badge:"Recommended",onClick:()=>ae("openrouter-free")}),(0,d.jsx)(a3,{icon:aK,title:"Requesty",description:"A unified gateway that can grow into policies and paid models later.",onClick:()=>ae("requesty-free")})]})]});if("subscription-provider"===k)return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(Q.A,{variant:"overline",color:"primary.main",children:"Use what you already have"}),(0,d.jsx)(Q.A,{variant:"h4",children:"Which service are you connecting?"}),(0,d.jsx)(Q.A,{color:"text.secondary",sx:{mt:1,mb:3},children:an?"FLUJO will create a ready-to-use bundle, not just one empty model record.":"Pick the account you already use."}),(0,d.jsxs)(a4,{children:[(0,d.jsx)(a3,{icon:aV,title:"Claude",description:"Use a Claude Pro or Max plan through Claude Code.",onClick:()=>ae("claude-subscription")}),(0,d.jsx)(a3,{icon:aW,title:"ChatGPT / Codex",description:"Use the local Codex sign-in attached to your ChatGPT plan.",badge:"No key paste",onClick:()=>ae("codex-subscription")}),(0,d.jsx)(a3,{icon:J.A,title:"Gemini Native",description:"Use Google’s native GenAI SDK with a Gemini developer key.",onClick:()=>ae("gemini-native")})]})]});if("paid-provider"===k)return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(Q.A,{variant:"overline",color:"primary.main",children:"Pay only for usage"}),(0,d.jsx)(Q.A,{variant:"h4",children:"Choose your model gateway"}),(0,d.jsx)(Q.A,{color:"text.secondary",sx:{mt:1,mb:3},children:an?"You fund one account, and FLUJO creates several model choices that share its encrypted key.":"Both gateways share one encrypted key across the starter bundle."}),(0,d.jsxs)(h.default,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"1fr 1fr"},gap:1.5},children:[(0,d.jsx)(a3,{icon:aS.A,title:"OpenRouter",description:"Broad model catalog with direct auto-routing and spending limits.",badge:"Recommended",onClick:()=>ae("openrouter-paid")}),(0,d.jsx)(a3,{icon:aK,title:"Requesty",description:"Unified routing with policies, observability, and provider fallbacks.",onClick:()=>ae("requesty-paid")})]})]});if("setup"===k&&"ollama"===r)return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(Q.A,{variant:"overline",color:"primary.main",children:"Free \xb7 offline"}),(0,d.jsx)(Q.A,{variant:"h4",children:"Make this computer the AI provider"}),(0,d.jsx)(Q.A,{color:"text.secondary",sx:{mt:1,mb:2.5},children:"Ollama runs the model locally. The first model download can be several gigabytes; after that, prompts stay on this machine."}),X?(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:"Checking Ollama and this machine…"})]}):null,!X&&V?(0,d.jsx)(g.A,{variant:"outlined",sx:{p:2,mb:2,borderRadius:3},children:(0,d.jsxs)(aB.A,{direction:{xs:"column",sm:"row"},justifyContent:"space-between",spacing:1.5,children:[(0,d.jsxs)(h.default,{children:[(0,d.jsxs)(Q.A,{variant:"subtitle1",sx:{fontWeight:720},children:["Recommended: ",ar]}),(0,d.jsx)(Q.A,{variant:"body2",color:"text.secondary",children:V.ollamaReachable?as?"Ollama is ready and this model is already downloaded.":"Ollama is ready. FLUJO can download this model now.":"Ollama is not running yet. Install or start it, then check again."})]}),(0,d.jsx)(az.A,{color:V.ollamaReachable?"success":"warning",label:V.ollamaReachable?"Ollama ready":"Not running"})]})}):null,X||V?.ollamaReachable?null:(0,d.jsxs)(h.default,{sx:{mb:2},children:[at("ollama","winget install --id Ollama.Ollama -e --source winget"),(0,d.jsx)(B.A,{startIcon:(0,d.jsx)(aR,{}),onClick:()=>void ag(),disabled:X||!!K,sx:{mt:1},children:"Check again"})]}),_?(0,d.jsxs)(h.default,{sx:{my:2},children:[(0,d.jsx)(aC.A,{}),(0,d.jsxs)(Q.A,{variant:"body2",sx:{mt:1},children:["Downloading ",ar,"… keep FLUJO open."]}),ab.length?(0,d.jsx)(Q.A,{component:"pre",variant:"caption",color:"text.secondary",sx:{whiteSpace:"pre-wrap"},children:ab.join("\n")}):null]}):null,(0,d.jsx)(B.A,{variant:"contained",size:"large",startIcon:x||_?(0,d.jsx)(O.default,{size:18,color:"inherit"}):(0,d.jsx)(aO,{}),onClick:()=>void am(),disabled:!V?.ollamaReachable||x||_,children:as?`Connect ${ar}`:`Download ${ar} & connect`})]});if("setup"===k&&r&&ap){let a="claude-subscription"===r,b="codex-subscription"===r;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(Q.A,{variant:"overline",color:"primary.main",children:ap.eyebrow}),(0,d.jsx)(Q.A,{variant:"h4",children:ap.title}),(0,d.jsx)(Q.A,{color:"text.secondary",sx:{mt:1,mb:2.2,maxWidth:720},children:ap.summary}),a?(0,d.jsxs)(h.default,{sx:{mb:2},children:[(0,d.jsx)(Q.A,{variant:"subtitle2",sx:{mb:1},children:"1. Install Claude Code, then create a setup token"}),at("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:"1. Install Codex, then sign in with ChatGPT"}),at("codex","winget install --id OpenAI.Codex -e --source winget","codex login"),(0,d.jsx)(aD.A,{sx:{mt:1},control:(0,d.jsx)(aE.A,{checked:v,onChange:a=>w(a.target.checked)}),label:"I completed the Codex browser sign-in"})]}):null,ap.accountUrl?(0,d.jsx)(B.A,{href:ap.accountUrl,target:"_blank",rel:"noreferrer",variant:"outlined",startIcon:(0,d.jsx)(aQ.A,{}),sx:{mb:2},children:ap.accountLabel}):null,b?null:(0,d.jsx)(i.A,{fullWidth:!0,type:"password",autoComplete:"off",label:`${a?"2. ":""}${ap.keyLabel}`,value:t,onChange:a=>{u(a.target.value),A(null)},InputProps:{startAdornment:(0,d.jsx)(aP,{color:"action",sx:{mr:1}})},helperText:"Saved only when you finish; FLUJO encrypts it through the existing model-storage path.",sx:{mb:2}}),(0,d.jsx)(G.A,{severity:"info",sx:{mb:2},children:ap.note}),(0,d.jsx)(Q.A,{variant:"subtitle2",sx:{mb:1},children:"FLUJO will add"}),(0,d.jsx)(aB.A,{direction:"row",gap:.8,flexWrap:"wrap",sx:{mb:2.5},children:aq.map(a=>(0,d.jsx)(az.A,{label:a,variant:"outlined"},a))}),(0,d.jsxs)(B.A,{variant:"contained",size:"large",startIcon:x?(0,d.jsx)(O.default,{size:18,color:"inherit"}):(0,d.jsx)(J.A,{}),onClick:()=>void al(),disabled:x||!!K,children:["Create ",1===aq.length?"my model":`my ${aq.length} models`]})]})}if("success"===k){let a=[...C,...E].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:`${a1} 520ms cubic-bezier(.2,.8,.2,1) both`},children:(0,d.jsx)(aI.A,{sx:{fontSize:47}})}),(0,d.jsx)(Q.A,{variant:"h4",children:"Your AI is ready to flow"}),(0,d.jsxs)(Q.A,{color:"text.secondary",sx:{mt:1,mb:2.2},children:[C.length?`${C.length} new connection${1===C.length?"":"s"} created.`:"Your matching connections were already here.",E.length?` ${E.length} existing connection${1===E.length?" was":"s were"} kept.`:""]}),(0,d.jsx)(aB.A,{direction:"row",gap:.8,justifyContent:"center",flexWrap:"wrap",sx:{mb:3},children:a.map(a=>(0,d.jsx)(az.A,{icon:(0,d.jsx)(aV,{}),label:a,color:"primary",variant:"outlined"},a))}),(0,d.jsx)(B.A,{variant:"contained",size:"large",onClick:b,children:"See my models"})]})}return null})()},k)]})]})})}var a7=c(61615);let a8=(0,ae.h)("app/models/ModelClient");function a9({initialModels:a}){let b=(0,f.useRouter)(),c=(0,f.useSearchParams)(),[k,l]=(0,e.useState)(a),[m,n]=(0,e.useState)(""),[o,p]=(0,e.useState)(null),[q,r]=(0,e.useState)(!1),[s,t]=(0,e.useState)(!1),[u,v]=(0,e.useState)(null),[w,x]=(0,e.useState)(null),y=c.get("add"),z="manual"===y;if(!s)return a8.debug("Waiting for model service to be ready..."),(0,d.jsx)(a7.default,{});let M=c.get("edit"),N=z?w:M?k.find(a=>a.id===M)??null:null,O=z?!!w:!!M,P=async a=>{a8.info("Saving model",{modelId:a.id,modelName:a.name,mode:z?"add":"update"}),r(!0);try{let c=(0,av.X)(),d=z?await c.addModel(a):await c.updateModel(a);if(!d.success)return p(d.error||"Failed to save model."),{success:!1,error:d.error};{let a=await c.loadModels();return l(a),x(null),b.push("/models"),{success:!0,model:d.model}}}catch(a){return a8.error("Failed to save model",a),p(a?.message||"Failed to save model. Please try again."),{success:!1,error:a?.message||"Failed to save model"}}finally{r(!1)}},Q=async a=>(a8.info("Editing model",{modelId:a.id,modelName:a.name}),b.push(`/models?edit=${a.id}`),{success:!0}),R=async()=>{a8.info("Opening guided model connection wizard"),v(null),b.push("/models?add=1")},S=()=>{a8.info("Opening manual add-model modal"),v(null),b.push("/models?add=manual")},T=async a=>{a8.info("Creating guided model bundle",{count:a.length}),r(!0),p(null);let c=[],d=[];try{let e=(0,av.X)(),f=[...await e.loadModels()];for(let b of a){let a=f.find(a=>a.provider===b.provider&&(a.adapter||"openai")===(b.adapter||"openai")&&a.name.trim().toLowerCase()===b.name.trim().toLowerCase());if(a){d.push(a);continue}let g=b.displayName||b.name,h=g,i=2;for(;f.some(a=>a.displayName?.trim().toLowerCase()===h.trim().toLowerCase());)h=`${g} (${i})`,i+=1;let j=await e.addModel({...b,displayName:h});if(!j.success||!j.model){let a=await e.loadModels();return l(a),{success:!1,created:c,existing:d,error:j.error||`Could not create ${h}.`}}c.push(j.model),f.push(j.model)}let g=await e.loadModels();return l(g),b.refresh(),{success:!0,created:c,existing:d}}catch(b){a8.error("Failed to create guided model bundle",b);let a=b?.message||"Failed to create the guided model bundle.";return p(a),{success:!1,created:c,existing:d,error:a}}finally{r(!1)}},U=async a=>{a8.info("Deleting model",{modelId:a}),r(!0);try{let b=(0,av.X)();await b.deleteModel(a);let c=await b.loadModels();l(c)}catch(a){a8.error("Failed to delete model",a),p("Failed to delete model. Please try again.")}finally{r(!1)}},V=async(a,b)=>{a8.info("Setting model folder",{modelId:a,folder:b}),r(!0);try{let c=(0,av.X)(),d=await c.getModel(a);if(!d)return void p("Model not found.");let e=await c.updateModel({...d,folder:b});if(!e.success)return void p(e.error||"Failed to move model to folder.");let f=await c.loadModels();l(f)}catch(a){a8.error("Failed to set model folder",a),p(a?.message||"Failed to move model to folder. Please try again.")}finally{r(!1)}},W=async a=>{a8.info("Toggling model favorite",{modelId:a}),r(!0);try{let b=(0,av.X)(),c=await b.getModel(a);if(!c)return void p("Model not found.");let d=!c.favorite,e=await b.updateModel({...c,favorite:d||void 0});if(!e.success)return void p(e.error||"Failed to update favorite.");let f=await b.loadModels();l(f)}catch(a){a8.error("Failed to toggle model favorite",a),p(a?.message||"Failed to update favorite. Please try again.")}finally{r(!1)}},X=async()=>{x(null),b.push("/models")},Y=m.trim()?k.filter(a=>{let b=m.toLowerCase();return(a.displayName||"").toLowerCase().includes(b)||(a.name||"").toLowerCase().includes(b)}):k;return(0,d.jsxs)(d.Fragment,{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:"Search AI connections...",variant:"outlined",size:"small",value:m,onChange:a=>n(a.target.value),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":"AI connection options",children:[(0,d.jsx)(B.A,{startIcon:(0,d.jsx)(H.A,{}),onClick:R,"data-tour":"add-model",children:"Connect AI"}),(0,d.jsx)(B.A,{size:"small","aria-label":"More AI connection options","aria-controls":u?"add-model-menu":void 0,"aria-haspopup":"menu","aria-expanded":u?"true":void 0,onClick:a=>v(a.currentTarget),sx:{px:.8,minWidth:40},children:(0,d.jsx)(I.A,{})})]}),(0,d.jsxs)(C.A,{id:"add-model-menu",anchorEl:u,open:!!u,onClose:()=>v(null),children:[(0,d.jsxs)(D.A,{onClick:R,children:[(0,d.jsx)(E.A,{children:(0,d.jsx)(J.A,{fontSize:"small"})}),(0,d.jsx)(F.A,{primary:"Guided connection",secondary:"Let FLUJO choose the setup"})]}),(0,d.jsxs)(D.A,{onClick:S,children:[(0,d.jsx)(E.A,{children:(0,d.jsx)(L.A,{fontSize:"small"})}),(0,d.jsx)(F.A,{primary:"Manual Creation",secondary:"Configure every model field"})]})]})]})]})}),o&&(0,d.jsx)(h.default,{sx:{mb:2},children:(0,d.jsx)(G.A,{severity:"error",onClose:()=>p(null),children:o})}),(0,d.jsx)(ag,{models:Y,isLoading:q,onAdd:R,onUpdate:Q,onDelete:U,folders:(0,ab.yF)(k,a=>a.folder),onSetFolder:V,onToggleFavorite:W}),(0,d.jsx)(a6,{open:"1"===y,onClose:X,onManualCreation:S,onCreateModels:T}),O&&N?(0,d.jsx)(ay,{open:O,model:N,onSave:P,onClose:X}):null]})}},55511:a=>{"use strict";a.exports=require("crypto")},55591:a=>{"use strict";a.exports=require("https")},57075:a=>{"use strict";a.exports=require("node:stream")},57975:a=>{"use strict";a.exports=require("node:util")},58156:(a,b,c)=>{"use strict";c.d(b,{default:()=>j});var d=c(21124),e=c(60839),f=c(81637),g=c(53773),h=c(79515),i=c(37489);function j({title:a,description:b,eyebrow:c,icon:j,leading:k,badge:l,actions:m,compact:n=!1,maxWidth:o=1440}){let p=(0,e.A)();return(0,d.jsx)(f.default,{component:"header",sx:{position:"relative",overflow:"hidden",borderBottom:1,borderColor:"divider",background:`linear-gradient(110deg, ${(0,i.X4)(p.palette.primary.main,"dark"===p.palette.mode?.09:.055)}, transparent 38%, ${(0,i.X4)(p.palette.secondary.main,.045)})`,"&::after":{position:"absolute",top:-90,right:"8%",width:220,height:160,borderRadius:"50%",content:'""',pointerEvents:"none",background:`radial-gradient(circle, ${(0,i.X4)(p.palette.primary.main,.16)}, transparent 68%)`,filter:"blur(20px)"}},children:(0,d.jsxs)(f.default,{sx:{position:"relative",zIndex:1,display:"flex",width:"100%",maxWidth:o,mx:"auto",px:{xs:2,sm:3,lg:4},py:n?{xs:1.8,sm:2}:{xs:2.2,sm:2.8},alignItems:{xs:"flex-start",md:"center"},justifyContent:"space-between",flexDirection:{xs:"column",md:"row"},gap:2},children:[(0,d.jsxs)(g.A,{direction:"row",spacing:1.5,alignItems:"center",sx:{minWidth:0},children:[k,j&&(0,d.jsx)(f.default,{"aria-hidden":"true",sx:{display:"grid",width:n?40:46,height:n?40:46,flexShrink:0,placeItems:"center",border:`1px solid ${(0,i.X4)(p.palette.primary.main,.24)}`,borderRadius:n?2.8:3.2,color:"primary.light",bgcolor:(0,i.X4)(p.palette.primary.main,.1),boxShadow:`inset 0 1px 0 ${(0,i.X4)(p.palette.common.white,.08)}, 0 10px 30px ${(0,i.X4)(p.palette.primary.main,.12)}`},children:(0,d.jsx)(j,{sx:{fontSize:n?21:24}})}),(0,d.jsxs)(f.default,{sx:{minWidth:0},children:[(c||l)&&(0,d.jsxs)(g.A,{direction:"row",spacing:1,alignItems:"center",sx:{mb:.35},children:[c&&(0,d.jsx)(h.A,{sx:{color:"primary.light",fontSize:"0.67rem",fontWeight:780,letterSpacing:"0.13em",textTransform:"uppercase"},children:c}),l]}),(0,d.jsx)(h.A,{component:"h1",variant:"h5",sx:{overflow:"hidden",textOverflow:"ellipsis",fontSize:n?"1.2rem":void 0,whiteSpace:{xs:"normal",sm:"nowrap"}},children:a}),b&&(0,d.jsx)(h.A,{variant:"body2",color:"text.secondary",sx:{mt:.45,maxWidth:720,textWrap:"balance"},children:b})]})]}),m&&(0,d.jsx)(f.default,{sx:{display:"flex",width:{xs:"100%",md:"auto"},flexShrink:0,flexWrap:"wrap",alignItems:"center",gap:1,"& > .MuiButton-root":{flex:{xs:"1 1 auto",sm:"0 0 auto"}}},children:m})]})})}},61560:(a,b,c)=>{"use strict";c.d(b,{R:()=>e});var d=c(38301);function e(a,b={}){let{threshold:c=200,deps:f=[]}=b,g=(0,d.useRef)(null),[h,i]=(0,d.useState)(!1);(0,d.useRef)(!1);let j=(0,d.useCallback)(()=>{let a=g.current;return a&&a.scrollHeight>a.clientHeight+1?a:null},[]);return(0,d.useCallback)(()=>{let a=j();return a?a.scrollTop:0},[j]),(0,d.useCallback)(a=>{let b=j();b&&(b.scrollTop=a)},[j]),{ref:g,showBackToTop:h,scrollToTop:(0,d.useCallback)(()=>{let a=j();a&&a.scrollTo({top:0,behavior:"smooth"}),i(!1)},[j])}}c(2560)},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},63112:(a,b,c)=>{let{createProxy:d}=c(39893);a.exports=d("C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\shared\\lib\\lazy-dynamic\\preload-chunks.js")},65251:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\Moe\\\\Documents\\\\GitHub\\\\FLUJO\\\\node_modules\\\\@mui\\\\material\\\\CircularProgress\\\\CircularProgress.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\node_modules\\@mui\\material\\CircularProgress\\CircularProgress.js","default")},68633:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{decryptActionBoundArgs:function(){return s},encryptActionBoundArgs:function(){return r}}),c(77925);let d=c(97954),e=c(27825),f=c(47686),g=c(77533),h=c(63033),i=c(26906),j=function(a){return a&&a.__esModule?a:{default:a}}(c(74515)),k=new TextEncoder,l=new TextDecoder,m=void 0,n=void 0;async function o(a,b){let c=await (0,g.getActionEncryptionKey)();if(void 0===c)throw Object.defineProperty(Error("Missing encryption key for Server Action. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E65",enumerable:!1,configurable:!0});let d=atob(b),e=d.slice(0,16),f=d.slice(16),h=l.decode(await (0,g.decrypt)(c,(0,g.stringToUint8Array)(e),(0,g.stringToUint8Array)(f)));if(!h.startsWith(a))throw Object.defineProperty(Error("Invalid Server Action payload: failed to decrypt."),"__NEXT_ERROR_CODE",{value:"E191",enumerable:!1,configurable:!0});return h.slice(a.length)}async function p(a,b){let c=await (0,g.getActionEncryptionKey)();if(void 0===c)throw Object.defineProperty(Error("Missing encryption key for Server Action. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E65",enumerable:!1,configurable:!0});let d=new Uint8Array(16);h.workUnitAsyncStorage.exit(()=>crypto.getRandomValues(d));let e=(0,g.arrayBufferToString)(d.buffer),f=await (0,g.encrypt)(c,d,k.encode(a+b));return btoa(e+(0,g.arrayBufferToString)(f))}var q=function(a){return a[a.Ready=0]="Ready",a[a.Pending=1]="Pending",a[a.Complete=2]="Complete",a}(q||{});let r=j.default.cache(async function a(b,...c){let e=h.workUnitAsyncStorage.getStore(),j=e?(0,h.getCacheSignal)(e):void 0,{clientModules:k}=(0,g.getClientReferenceManifestForRsc)(),l=Error();Error.captureStackTrace(l,a);let n=!1,o=e?(0,i.createHangingInputAbortSignal)(e):void 0,q=0;function r(){0===q&&(q=1,null==j||j.beginRead())}function s(){1===q&&(null==j||j.endRead()),q=2}o&&j&&o.addEventListener("abort",r,{once:!0});let t=await (0,f.streamToString)((0,d.renderToReadableStream)(c,k,{filterStackFrame:m,signal:o,onError(a){(null==o||!o.aborted)&&(n||(n=!0,l.message=a instanceof Error?a.message:String(a)))}}),o);if(n)throw s(),l;if(!e)return p(b,t);r();let u=(0,h.getPrerenderResumeDataCache)(e),v=(0,h.getRenderResumeDataCache)(e),w=b+t,x=(null==u?void 0:u.encryptedBoundArgs.get(w))??(null==v?void 0:v.encryptedBoundArgs.get(w));if(x)return x;let y=await p(b,t);return s(),null==u||u.encryptedBoundArgs.set(w,y),y});async function s(a,b){let c,d=await b,f=h.workUnitAsyncStorage.getStore();if(f){let b=(0,h.getCacheSignal)(f),e=(0,h.getPrerenderResumeDataCache)(f),g=(0,h.getRenderResumeDataCache)(f);(c=(null==e?void 0:e.decryptedBoundArgs.get(d))??(null==g?void 0:g.decryptedBoundArgs.get(d)))||(null==b||b.beginRead(),c=await o(a,d),null==b||b.endRead(),null==e||e.decryptedBoundArgs.set(d,c))}else c=await o(a,d);let{edgeRscModuleMapping:i,rscModuleMapping:j}=(0,g.getClientReferenceManifestForRsc)();return await (0,e.createFromReadableStream)(new ReadableStream({start(a){switch(a.enqueue(k.encode(c)),null==f?void 0:f.type){case"prerender":case"prerender-runtime":f.renderSignal.aborted?a.close():f.renderSignal.addEventListener("abort",()=>a.close(),{once:!0});break;case"prerender-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":case void 0:return a.close()}}}),{findSourceMapURL:n,serverConsumerManifest:{moduleLoading:null,moduleMap:j,serverModuleMap:(0,g.getServerModuleMap)()}})}},69266:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(11801),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M3 18c0 .55.45 1 1 1h5v-2H4c-.55 0-1 .45-1 1M3 6c0 .55.45 1 1 1h9V5H4c-.55 0-1 .45-1 1m10 14v-1h7c.55 0 1-.45 1-1s-.45-1-1-1h-7v-1c0-.55-.45-1-1-1s-1 .45-1 1v4c0 .55.45 1 1 1s1-.45 1-1M7 10v1H4c-.55 0-1 .45-1 1s.45 1 1 1h3v1c0 .55.45 1 1 1s1-.45 1-1v-4c0-.55-.45-1-1-1s-1 .45-1 1m14 2c0-.55-.45-1-1-1h-9v2h9c.55 0 1-.45 1-1m-5-3c.55 0 1-.45 1-1V7h3c.55 0 1-.45 1-1s-.45-1-1-1h-3V4c0-.55-.45-1-1-1s-1 .45-1 1v4c0 .55.45 1 1 1"}),"TuneRounded")},69389:(a,b,c)=>{let{createProxy:d}=c(39893);a.exports=d("C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\shared\\lib\\lazy-dynamic\\dynamic-bailout-to-csr.js")},70174:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\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")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73456:(a,b,c)=>{"use strict";c.d(b,{G:()=>m,V:()=>l,resolveGlobalVars:()=>k});var d=c(75879);c(68633);var e=c(50846),f=c(92372),g=c(38844),h=c(58739),i=c(51669);let j=(0,e.h)("backend/utils/resolveGlobalVars");async function k(a,b={}){j.debug("Entering resolveGlobalVars method");let c=!1!==b.resolveSecrets,d=await (0,f.loadItem)(g.Z.GLOBAL_ENV_VARS,{}),e=function(a){if(!a||"object"!=typeof a)return!1;let b=Object.keys(a);if(0===b.length)return!0;let c=a[b[0]];return c&&"object"==typeof c&&"value"in c&&"metadata"in c&&"object"==typeof c.metadata&&"isSecret"in c.metadata}(d);j.debug(`Loaded ${Object.keys(d).length} global environment variables (${e?"new":"old"} format)`);let i={},l=new Set;if(e)for(let[a,b]of Object.entries(d))i[a]=b.value,b.metadata.isSecret&&l.add(a);else i={...d};let m=async a=>{let b=a.match(/\$\{global:([^}]+)\}/g);if(!b)return a;let d=a;for(let a of b){let b=a.substring(9,a.length-1);if(void 0!==i[b]){let e=i[b];if(!c&&(l.has(b)||e.startsWith("encrypted:")||e.startsWith("encrypted_failed:"))){j.debug(`Keeping secret global variable unresolved: ${b}`);continue}if(e.startsWith("encrypted:")){j.debug(`Decrypting encrypted global variable: ${b}`);try{let a=e.substring(10),c=await (0,h.decryptWithPassword)(a);if(c)e=c,j.debug(`Successfully decrypted global variable: ${b}`);else{j.warn(`Failed to decrypt global variable: ${b}`);continue}}catch(a){j.error(`Error decrypting global variable: ${b}`,a);continue}}else if(e.startsWith("encrypted_failed:")){j.warn(`Skipping failed encrypted global variable: ${b}`);continue}j.debug(`Resolved global variable: ${b}`),d=d.replace(a,e)}else j.warn(`Global variable not found: ${b}`)}return d},n=async a=>{if("string"==typeof a)return await m(a);if(Array.isArray(a))return await Promise.all(a.map(a=>n(a)));if(null!==a&&"object"==typeof a){let b={};for(let[c,d]of Object.entries(a))b[c]=await n(d);return b}return a},o=await n(a);return"object"==typeof a&&null!==a&&j.debug("Resolved global variables result:",JSON.stringify(o,null,2)),j.debug("Completed global variable resolution"),o}async function l(a){return k(a,{resolveSecrets:!1})}async function m(a,b=0){if(j.debug(`Entering resolveAndDecryptApiKey method (depth: ${b})`),!a)return j.warn("Empty value provided"),null;if(b>=10)return j.warn(`Maximum resolution depth reached (10) for value: ${a}`),a;let c=a;if(c.startsWith("encrypted:")){j.debug(`Decrypting encrypted value at depth ${b}`);try{let a=c.substring(10),d=await (0,h.decryptWithPassword)(a);if(!d)return j.warn(`Failed to decrypt value at depth ${b}`),null;j.debug(`Successfully decrypted value at depth ${b}`),j.verbose(d),c=d}catch(a){return j.error(`Error decrypting value at depth ${b}:`,a),null}}else c.startsWith("encrypted_failed:")&&(j.warn(`Skipping failed encrypted value at depth ${b}`),c=c.substring(17));if(c.includes("${global:")){j.debug(`Resolving global variables at depth ${b}`);try{let a=await k(c);if(j.verbose(a),a!==c)return j.debug(`Value changed after resolving globals at depth ${b}, processing recursively`),m(a,b+1);c=a}catch(a){return j.error(`Error resolving global variables at depth ${b}:`,a),null}}return j.debug(`Completed resolveAndDecryptApiKey at depth ${b}`),c}(0,i.D)([k,l,m]),(0,d.A)(k,"605caa1e030009a4bc7e820854ff481d3e0295325d",null),(0,d.A)(l,"4003ce37366709f5add0c98a6e32e47a1006fd7c7d",null),(0,d.A)(m,"6061ed6d99a98b5d9f5d2d15065caab0a27d6a8987",null)},73496:a=>{"use strict";a.exports=require("http2")},73566:a=>{"use strict";a.exports=require("worker_threads")},73737:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\Moe\\\\Documents\\\\GitHub\\\\FLUJO\\\\node_modules\\\\@mui\\\\material\\\\Box\\\\Box.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\node_modules\\@mui\\material\\Box\\Box.js","default")},74075:a=>{"use strict";a.exports=require("zlib")},75465:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GlobalError:()=>E.a,__next_app__:()=>K,handler:()=>M,pages:()=>J,routeModule:()=>L,tree:()=>I});var d=c(49754),e=c(9117),f=c(46595),g=c(32324),h=c(39326),i=c(38928),j=c(20175),k=c(12),l=c(54290),m=c(12696),n=c(52574),o=c(82802),p=c(77533),q=c(45229),r=c(32822),s=c(261),t=c(26453),u=c(52474),v=c(26713),w=c(51356),x=c(62685),y=c(36225),z=c(63446),A=c(2762),B=c(45742),C=c(86439),D=c(81170),E=c.n(D),F=c(62506),G=c(91203),H={};for(let a in F)0>["default","tree","pages","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(H[a]=()=>F[a]);c.d(b,H);let I={children:["",{children:["models",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,38108)),"C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\src\\app\\models\\page.tsx"]}]},{error:[()=>Promise.resolve().then(c.bind(c,14867)),"C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\src\\app\\models\\error.tsx"],loading:[()=>Promise.resolve().then(c.bind(c,50573)),"C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\src\\app\\models\\loading.tsx"]}]},{layout:[()=>Promise.resolve().then(c.bind(c,51472)),"C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\src\\app\\layout.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,81170,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,87028,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,90461,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,32768,23)),"next/dist/client/components/builtin/unauthorized.js"]}]}.children,J=["C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\src\\app\\models\\page.tsx"],K={require:c,loadChunk:()=>Promise.resolve()},L=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/models/page",pathname:"/models",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:I},distDir:".next",relativeProjectDir:""});async function M(a,b,d){var D;let H="/models/page";"/index"===H&&(H="/");let N=(0,h.getRequestMeta)(a,"postponed"),O=(0,h.getRequestMeta)(a,"minimalMode"),P=await L.prepare(a,b,{srcPage:H,multiZoneDraftMode:!1});if(!P)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Q,query:R,params:S,parsedUrl:T,pageIsDynamic:U,buildManifest:V,nextFontManifest:W,reactLoadableManifest:X,serverActionsManifest:Y,clientReferenceManifest:Z,subresourceIntegrityManifest:$,prerenderManifest:_,isDraftMode:aa,resolvedPathname:ab,revalidateOnlyGenerated:ac,routerServerContext:ad,nextConfig:ae,interceptionRoutePatterns:af}=P,ag=T.pathname||"/",ah=(0,s.normalizeAppPath)(H),{isOnDemandRevalidate:ai}=P,aj=L.match(ag,_),ak=!!_.routes[ab],al=!!(aj||ak||_.routes[ah]),am=a.headers["user-agent"]||"",an=(0,v.getBotType)(am),ao=(0,q.isHtmlBotRequest)(a),ap=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[u.NEXT_ROUTER_PREFETCH_HEADER],aq=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[u.RSC_HEADER]),ar=(0,t.getIsPossibleServerAction)(a),as=(0,m.checkIsAppPPREnabled)(ae.experimental.ppr)&&(null==(D=_.routes[ah]??_.dynamicRoutes[ah])?void 0:D.renderingMode)==="PARTIALLY_STATIC",at=!1,au=!1,av=as?N:void 0,aw=as&&aq&&!ap,ax=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ay=!am||(0,q.shouldServeStreamingMetadata)(am,ae.htmlLimitedBots);ao&&as&&(al=!1,ay=!1);let az=!0===L.isDev||!al||"string"==typeof N||aw,aA=ao&&as,aB=null;aa||!al||az||ar||av||aw||(aB=ab);let aC=aB;!aC&&L.isDev&&(aC=ab),L.isDev||aa||!al||!aq||aw||(0,k.d)(a.headers);let aD={...F,tree:I,pages:J,GlobalError:E(),handler:M,routeModule:L,__next_app__:K};Y&&Z&&(0,p.setReferenceManifestsSingleton)({page:H,clientReferenceManifest:Z,serverActionsManifest:Y,serverModuleMap:(0,r.createServerModuleMap)({serverActionsManifest:Y})});let aE=a.method||"GET",aF=(0,g.getTracer)(),aG=aF.getActiveScopeSpan();try{let f=L.getVaryHeader(ab,af);b.setHeader("Vary",f);let k=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return L.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=aF.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${aE} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aE} ${a.url}`)})},m=async({span:e,postponed:f,fallbackRouteParams:g})=>{let i={query:R,params:S,page:ah,sharedContext:{buildId:Q},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aD,Component:(0,j.T)(aD),params:S,routeModule:L,page:H,postponed:f,shouldWaitOnAllReady:aA,serveStreamingMetadata:ay,supportsDynamicResponse:"string"==typeof f||az,buildManifest:V,nextFontManifest:W,reactLoadableManifest:X,subresourceIntegrityManifest:$,serverActionsManifest:Y,clientReferenceManifest:Z,setIsrStatus:null==ad?void 0:ad.setIsrStatus,dir:c(33873).join(process.cwd(),L.relativeProjectDir),isDraftMode:aa,isRevalidate:al&&!f&&!aw,botType:an,isOnDemandRevalidate:ai,isPossibleServerAction:ar,assetPrefix:ae.assetPrefix,nextConfigOutput:ae.output,crossOrigin:ae.crossOrigin,trailingSlash:ae.trailingSlash,previewProps:_.preview,deploymentId:ae.deploymentId,enableTainting:ae.experimental.taint,htmlLimitedBots:ae.htmlLimitedBots,devtoolSegmentExplorer:ae.experimental.devtoolSegmentExplorer,reactMaxHeadersLength:ae.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:ae.experimental.cacheLife,basePath:ae.basePath,serverActions:ae.experimental.serverActions,...at?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isRevalidate:!0,isDebugDynamicAccesses:at}:{},experimental:{isRoutePPREnabled:as,expireTime:ae.expireTime,staleTimes:ae.experimental.staleTimes,cacheComponents:!!ae.experimental.cacheComponents,clientSegmentCache:!!ae.experimental.clientSegmentCache,clientParamParsing:!!ae.experimental.clientParamParsing,dynamicOnHover:!!ae.experimental.dynamicOnHover,inlineCss:!!ae.experimental.inlineCss,authInterrupts:!!ae.experimental.authInterrupts,clientTraceMetadata:ae.experimental.clientTraceMetadata||[]},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d)=>L.onRequestError(a,b,d,ad),err:(0,h.getRequestMeta)(a,"invokeError"),dev:L.isDev}},l=await k(e,i),{metadata:m}=l,{cacheControl:n,headers:o={},fetchTags:p}=m;if(p&&(o[z.NEXT_CACHE_TAGS_HEADER]=p),a.fetchMetrics=m.fetchMetrics,al&&(null==n?void 0:n.revalidate)===0&&!L.isDev&&!as){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ab}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
|
|
64
|
-
see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:w.CachedRouteKind.APP_PAGE,html:l,headers:o,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},n=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i})=>{let j,k=!1===L.isDev,l=c||b.writableEnded;if(ai&&ac&&!f&&!O)return(null==ad?void 0:ad.render404)?await ad.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(aj&&(j=(0,x.parseFallbackField)(aj.fallback)),j===x.FallbackMode.PRERENDER&&(0,v.isBot)(am)&&(!as||ao)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ai=!0),ai&&(j!==x.FallbackMode.NOT_FOUND||f)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),!O&&j!==x.FallbackMode.BLOCKING_STATIC_RENDER&&aC&&!l&&!aa&&U&&(k||!ak)){let b;if((k||aj)&&j===x.FallbackMode.NOT_FOUND)throw new C.NoFallbackError;if(as&&!aq){let c="string"==typeof(null==aj?void 0:aj.fallback)?aj.fallback:k?ah:null;if(b=await L.handleResponse({cacheKey:c,req:a,nextConfig:ae,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:_,isRoutePPREnabled:as,responseGenerator:async()=>m({span:i,postponed:void 0,fallbackRouteParams:k||au?(0,o.u)(ah):null}),waitUntil:d.waitUntil}),null===b)return null;if(b)return delete b.cacheControl,b}}let n=ai||g||!av?void 0:av;if(at&&void 0!==n)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:w.CachedRouteKind.PAGES,html:y.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let p=U&&as&&((0,h.getRequestMeta)(a,"renderFallbackShell")||au)?(0,o.u)(ag):null;return m({span:i,postponed:n,fallbackRouteParams:p})},p=async c=>{var f,g,i,j,k;let l,o=await L.handleResponse({cacheKey:aB,responseGenerator:a=>n({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ai,isRoutePPREnabled:as,req:a,nextConfig:ae,prerenderManifest:_,waitUntil:d.waitUntil});if(aa&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),L.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!o){if(aB)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=o.value)?void 0:f.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=o.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let p="string"==typeof o.value.postponed;al&&!aw&&(!p||ap)&&(O||b.setHeader("x-nextjs-cache",ai?"REVALIDATED":o.isMiss?"MISS":o.isStale?"STALE":"HIT"),b.setHeader(u.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=o;if(av)l={revalidate:0,expire:void 0};else if(O&&aq&&!ap&&as)l={revalidate:0,expire:void 0};else if(!L.isDev)if(aa)l={revalidate:0,expire:void 0};else if(al){if(o.cacheControl)if("number"==typeof o.cacheControl.revalidate){if(o.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${o.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:o.cacheControl.revalidate,expire:(null==(j=o.cacheControl)?void 0:j.expire)??ae.expireTime}}else l={revalidate:z.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(o.cacheControl=l,"string"==typeof ax&&(null==q?void 0:q.kind)===w.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[z.NEXT_CACHE_TAGS_HEADER];O&&al&&c&&"string"==typeof c&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(ax);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(d,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.EMPTY,cacheControl:o.cacheControl}))}let r=(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r({...o,value:{...o.value,kind:"PAGE"}},{url:(0,h.getRequestMeta)(a,"initURL")}))return null;if(p&&av)throw Object.defineProperty(Error("Invariant: postponed state should not be present on a resume request"),"__NEXT_ERROR_CODE",{value:"E396",enumerable:!1,configurable:!0});if(q.headers){let a={...q.headers};for(let[c,d]of(O&&al||delete a[z.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let s=null==(g=q.headers)?void 0:g[z.NEXT_CACHE_TAGS_HEADER];if(O&&al&&s&&"string"==typeof s&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,s),!q.status||aq&&as||(b.statusCode=q.status),!O&&q.status&&G.RedirectStatusCode[q.status]&&aq&&(b.statusCode=200),p&&b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"1"),aq&&!aa){if(void 0===q.rscData){if(q.postponed)throw Object.defineProperty(Error("Invariant: Expected postponed to be undefined"),"__NEXT_ERROR_CODE",{value:"E372",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:q.html,cacheControl:aw?{revalidate:0,expire:void 0}:o.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(q.rscData,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl})}let t=q.html;if(!p||O||aq)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:o.cacheControl});if(at)return t.push(new ReadableStream({start(a){a.enqueue(A.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}});let v=new TransformStream;return t.push(v.readable),m({span:c,postponed:q.postponed,fallbackRouteParams:null}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(v.writable)}).catch(a=>{v.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}})};if(!aG)return await aF.withPropagatedContext(a.headers,()=>aF.trace(i.BaseServerSpan.handleRequest,{spanName:`${aE} ${a.url}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aE,"http.target":a.url}},p));await p(aG)}catch(b){throw b instanceof C.NoFallbackError||await L.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"render",revalidateReason:(0,f.c)({isRevalidate:al,isOnDemandRevalidate:ai})},ad),b}}},75837:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(11801),e=c(21124);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")},75879:(a,b,c)=>{"use strict";Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(97954)},76133:(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]}},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77127:(a,b,c)=>{"use strict";c.d(b,{A:()=>O});var d=c(21124),e=c(38301),f=c(60839),g=c(43312),h=c(44079),i=c(37489),j=c(27114),k=c(81637),l=c(79515),m=c(41893),n=c(30818),o=c(423),p=c(98463),q=c(12033),r=c(91034);let s=(0,c(11801).A)((0,d.jsx)("path",{d:"M19.8 18.4 14 10.67V6.5l1.35-1.69c.26-.33.03-.81-.39-.81H9.04c-.42 0-.65.48-.39.81L10 6.5v4.17L4.2 18.4c-.49.66-.02 1.6.8 1.6h14c.82 0 1.29-.94.8-1.6"}),"Science");var t=c(96955),u=c(18467),v=c(5501),w=c(99587),x=c(76133),y=c(83434),z=c(42819),A=c(40512),B=c(83899),C=c(52327),D=c(8521),E=c(88745),F=c(91059),G=c(19925),H=c(68730),I=c(8165),J=c(65343);let K=({title:a,attempt:b})=>(0,d.jsxs)(k.default,{sx:{mb:2},children:[(0,d.jsxs)(k.default,{sx:{display:"flex",alignItems:"center",gap:1,mb:.5},children:[b.ok?(0,d.jsx)(I.A,{color:"success",fontSize:"small"}):(0,d.jsx)(J.A,{color:"error",fontSize:"small"}),(0,d.jsx)(l.A,{variant:"subtitle2",children:a}),"number"==typeof b.status&&(0,d.jsx)(m.A,{size:"small",label:`HTTP ${b.status}`}),(0,d.jsx)(m.A,{size:"small",variant:"outlined",label:`${b.durationMs} ms`})]}),b.ok?(0,d.jsxs)(l.A,{variant:"body2",color:"text.secondary",sx:{pl:3},children:["Response: ",b.content?`"${b.content}"`:"(empty)"]}):(0,d.jsxs)(k.default,{sx:{pl:3},children:[(0,d.jsx)(l.A,{variant:"body2",color:"error.main",children:b.error?.message}),(b.error?.code||b.error?.type)&&(0,d.jsxs)(l.A,{variant:"caption",color:"text.secondary",display:"block",children:[b.error?.type?`type: ${b.error.type}`:"",b.error?.type&&b.error?.code?" \xb7 ":"",b.error?.code?`code: ${b.error.code}`:""]}),b.error?.retryAfter&&(0,d.jsxs)(l.A,{variant:"caption",color:"text.secondary",display:"block",children:["retry-after: ",b.error.retryAfter,"s"]}),b.error?.body!==void 0&&(0,d.jsx)(k.default,{component:"pre",sx:{mt:.5,p:1,bgcolor:"action.hover",borderRadius:1,fontSize:"0.7rem",overflowX:"auto",maxHeight:160},children:JSON.stringify(b.error.body,null,2)})]})]}),L=({open:a,modelLabel:b,loading:c,result:e,error:f,onClose:g,onRetry:h})=>{let i=e?.provider==="codex"?"Codex SDK (used by flows)":"OpenAI SDK (used by flows)";return(0,d.jsxs)(A.A,{open:a,onClose:g,maxWidth:"sm",fullWidth:!0,children:[(0,d.jsxs)(B.A,{children:["Test model: ",b]}),(0,d.jsx)(C.A,{dividers:!0,children:c?(0,d.jsxs)(k.default,{sx:{display:"flex",alignItems:"center",gap:2,py:3},children:[(0,d.jsx)(D.default,{size:24}),(0,d.jsx)(l.A,{variant:"body2",children:"Sending a direct test request (SDK + axios)…"})]}):f?(0,d.jsx)(E.A,{severity:"error",children:f}):e?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(E.A,{severity:e.ok?"success":"warning",sx:{mb:2},children:e.diagnosis}),(0,d.jsxs)(l.A,{variant:"caption",color:"text.secondary",display:"block",sx:{mb:2},children:["model: ",e.model,e.baseUrl?` \xb7 ${e.baseUrl}`:"",e.provider?` \xb7 ${e.provider}`:""]}),(0,d.jsx)(F.A,{sx:{mb:2}}),(0,d.jsx)(K,{title:i,attempt:e.sdk}),(0,d.jsx)(K,{title:"axios (independent cross-check)",attempt:e.axios})]}):null}),(0,d.jsxs)(G.A,{children:[(0,d.jsx)(H.A,{onClick:h,disabled:c,children:"Run again"}),(0,d.jsx)(H.A,{onClick:g,variant:"contained",children:"Close"})]})]})};var M=c(78352);let N=(0,z.h)("frontend/components/models/list/ModelCard"),O=({model:a,onEdit:b,onDelete:c,folder:z,folders:A=[],onSetFolder:B,selectable:C=!1,selected:D=!1,onSelect:E,onToggleFavorite:F})=>{let G=(0,f.A)(),[H,I]=(0,e.useState)(!1),[J,K]=(0,e.useState)(!1),[O,P]=(0,e.useState)(null),[Q,R]=(0,e.useState)(null),[S,T]=(0,e.useState)(null),U=async()=>{K(!0),R(null),P(null);try{let b=await (0,y.X)().testModel({modelId:a.id});P(b)}catch(b){N.error("Model test failed",{modelId:a.id,error:b}),R(b instanceof Error?b.message:"Failed to run test")}finally{K(!1)}},V=F?(0,d.jsx)(g.A,{title:a.favorite?"Remove from favorites":"Add to favorites",arrow:!0,placement:"top",children:(0,d.jsx)(h.A,{size:"small","aria-label":a.favorite?"remove from favorites":"add to favorites",onClick:b=>{b.stopPropagation(),F?.(a.id)},sx:{position:"absolute",top:4,left:4,zIndex:2,color:a.favorite?G.palette.warning.main:G.palette.text.secondary,backgroundColor:(0,i.X4)(G.palette.background.paper,.6),"&:hover":{backgroundColor:(0,i.X4)(G.palette.background.paper,.9)}},children:a.favorite?(0,d.jsx)(v.A,{fontSize:"small"}):(0,d.jsx)(w.A,{fontSize:"small"})})}):null,W=(0,d.jsx)(d.Fragment,{children:(0,d.jsxs)(j.A,{sx:{flexGrow:1,p:2.25},children:[(0,d.jsxs)(k.default,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:1,mb:1.2},children:[(0,d.jsx)(l.A,{variant:"h6",sx:{pr:1},children:a.displayName||a.name}),(0,d.jsx)(m.A,{label:(0,x.T_)(a.provider,a.adapter).label,size:"small",sx:{flexShrink:0,color:"primary.light",bgcolor:(0,i.X4)(G.palette.primary.main,.09),border:`1px solid ${(0,i.X4)(G.palette.primary.main,.16)}`}})]}),(0,d.jsx)(l.A,{variant:"body2",color:"text.secondary",sx:{mb:2,minHeight:42},style:{display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical",overflow:"hidden",textOverflow:"ellipsis"},children:a.description}),(0,d.jsxs)(k.default,{sx:{mb:1,p:1.25,border:1,borderColor:"divider",borderRadius:2.5,bgcolor:(0,i.X4)(G.palette.background.default,.44)},children:[a.displayName&&(0,d.jsxs)(l.A,{variant:"body2",color:"text.secondary",noWrap:!0,children:[(0,d.jsx)(k.default,{component:"span",sx:{color:"text.primary",fontWeight:650},children:"Model"})," \xb7 ",a.name]}),"number"==typeof a.contextWindow&&(0,d.jsxs)(l.A,{variant:"body2",color:"text.secondary",children:[(0,d.jsx)(k.default,{component:"span",sx:{color:"text.primary",fontWeight:650},children:"Context"})," \xb7 ",a.contextWindow.toLocaleString()," tokens"]})]}),a.baseUrl&&(0,d.jsx)(g.A,{title:a.baseUrl,arrow:!0,placement:"top",children:(0,d.jsxs)(l.A,{variant:"body2",color:"text.secondary",noWrap:!0,children:["Base URL: ",a.baseUrl]})}),z&&(0,d.jsx)(m.A,{icon:(0,d.jsx)(u.A,{}),label:z,size:"small",variant:"outlined",sx:{mt:1,maxWidth:"100%"}})]})});return C?(0,d.jsxs)(n.A,{elevation:0,role:"radio","aria-checked":D,sx:{height:"100%",display:"flex",flexDirection:"column",position:"relative",border:a=>`1px solid ${D?a.palette.primary.main:a.palette.divider}`,boxShadow:D?`0 0 0 3px ${(0,i.X4)(G.palette.primary.main,.13)}`:void 0,transition:"transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease","&:hover":{borderColor:(0,i.X4)(G.palette.primary.main,.42),transform:"translateY(-3px)"}},children:[V,(0,d.jsx)(o.A,{onClick:()=>E?.(a.id),sx:{height:"100%",display:"flex",flexDirection:"column",alignItems:"stretch"},children:W})]}):(0,d.jsxs)(n.A,{elevation:0,sx:{height:"100%",display:"flex",flexDirection:"column",position:"relative",transition:"transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease","&:hover":{borderColor:(0,i.X4)(G.palette.primary.main,.38),boxShadow:`0 22px 60px ${(0,i.X4)(G.palette.primary.main,.12)}`,transform:"translateY(-4px)"}},children:[V,W,(0,d.jsxs)(p.A,{disableSpacing:!0,sx:{px:1.5,pb:1.4,borderTop:1,borderColor:"divider"},children:[(0,d.jsx)(g.A,{title:"Test model (direct SDK call, no flow)",arrow:!0,children:(0,d.jsx)(h.A,{"aria-label":"test",onClick:()=>{I(!0),U()},children:(0,d.jsx)(s,{})})}),(0,d.jsx)(h.A,{"aria-label":"edit",onClick:b,children:(0,d.jsx)(q.A,{})}),(0,d.jsx)(h.A,{"aria-label":"delete",onClick:c,children:(0,d.jsx)(r.A,{})}),B&&(0,d.jsx)(g.A,{title:"Move to folder…",arrow:!0,children:(0,d.jsx)(h.A,{"aria-label":"move to folder",onClick:a=>T(a.currentTarget),sx:{ml:"auto"},children:(0,d.jsx)(t.A,{})})})]}),B&&(0,d.jsx)(M.A,{anchorEl:S,open:!!S,currentFolder:z,folders:A,onClose:()=>T(null),onAssign:B}),(0,d.jsx)(L,{open:H,modelLabel:a.displayName||a.name,loading:J,result:O,error:Q,onClose:()=>I(!1),onRetry:U})]})}},77598:a=>{"use strict";a.exports=require("node:crypto")},78474:a=>{"use strict";a.exports=require("node:events")},79428:a=>{"use strict";a.exports=require("buffer")},79551:a=>{"use strict";a.exports=require("url")},79646:a=>{"use strict";a.exports=require("child_process")},79748:a=>{"use strict";a.exports=require("fs/promises")},80481:a=>{"use strict";a.exports=require("node:readline")},81630:a=>{"use strict";a.exports=require("http")},83997:a=>{"use strict";a.exports=require("tty")},84297:a=>{"use strict";a.exports=require("async_hooks")},85557:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(11801),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1M8 13h8v-2H8zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5"}),"Link")},85838:(a,b,c)=>{"use strict";c.d(b,{A:()=>z});var d=c(21124),e=c(38301),f=c(81637),g=c(79515),h=c(48317),i=c(7499),j=c(54573),k=c(9604),l=c(22813),m=c(28055),n=c(49938),o=c(42819),p=c(80518),q=c(50551);c(43010);let r=(0,o.h)("frontend/components/shared/PromptBuilder"),s=({server:a,name:b})=>{let c="handoff"===a,[f,g]=(0,e.useState)(null),[h,i]=(0,e.useState)(!0);return((0,e.useEffect)(()=>{let c=!1;return(async()=>{try{i(!0);let d=await m.S.listServerTools(a),e=d.tools?.find(a=>a.name===b);c||g(e||null)}catch(c){r.error(`Failed to fetch tool info for ${a}:${b}`,c)}finally{c||i(!1)}})(),()=>{c=!0}},[a,b]),h)?(0,d.jsx)("span",{className:`tool-reference-preview loading ${c?"handoff":""}`,children:`tool:${a}__${b}`}):f?(0,d.jsxs)("span",{className:`tool-reference-preview ${c?"handoff":""}`,children:["[The user is referencing a ",c?"handoff":"tool"," `tool:",a,"__",b,"` (",f.description||"No description",")]"]}):(0,d.jsx)("span",{className:`tool-reference-preview not-found ${c?"handoff":""}`,children:`tool:${a}__${b} (Tool not found)`})},t=({server:a,name:b})=>{let[c,f]=(0,e.useState)(null),[g,h]=(0,e.useState)(!0);return((0,e.useEffect)(()=>{let c=!1;return(async()=>{try{h(!0);let d=await m.S.listServerResources(a),e=[...d.resources||[],...d.resourceTemplates||[]].find(a=>a.uri===b||a.uriTemplate===b);c||f(e?.description||e?.name||null)}catch(c){r.error(`Failed to fetch resource info for ${a}:${b}`,c)}finally{c||h(!1)}})(),()=>{c=!0}},[a,b]),g)?(0,d.jsx)("span",{className:"tool-reference-preview loading resource",children:`resource:${a}__${b}`}):(0,d.jsxs)("span",{className:"tool-reference-preview resource",children:["[The contents of resource `",b,"` from `",a,"`",c?` (${c})`:""," will be inserted here]"]})},u=({name:a})=>(0,d.jsxs)("span",{className:"tool-reference-preview runres",children:["[The contents of the Temporary Data `",a,"` will be inserted here at run time]"]}),v=({name:a})=>(0,d.jsxs)("span",{className:"tool-reference-preview global",children:["[Global variable ",(0,d.jsx)("code",{children:`\${global:${a}}`})," will be inserted at run time]"]}),w=({binding:a})=>"global"===a.kind?(0,d.jsx)(v,{name:a.name}):"runres"===a.kind?(0,d.jsx)(u,{name:a.name}):"resource"===a.kind?(0,d.jsx)(t,{server:a.server,name:a.name}):(0,d.jsx)(s,{server:a.server,name:a.name}),x=({value:a})=>{let b=[],c=0;for(let d of(0,p.sE)(a))d.index>c&&b.push({type:"text",value:a.slice(c,d.index)}),b.push({type:"binding",binding:d,key:d.index}),c=d.index+d.fullMatch.length;c<a.length&&b.push({type:"text",value:a.slice(c)});let e=[],f=[],g=()=>{e.push((0,d.jsx)("p",{children:f},`p-${e.length}`)),f=[]};for(let a of b)if("text"===a.type){let b=a.value.split("\n");for(let a=0;a<b.length;a++)f.push(b[a]),a<b.length-1&&g()}else f.push((0,d.jsx)(w,{binding:a.binding},`binding-${a.key}`));return(f.length>0||0===e.length)&&g(),(0,d.jsx)("div",{className:"preview-content",children:e})},y=(0,e.forwardRef)(({value:a,onChange:b,label:c="Prompt Builder",height:m=300,onModeChange:o,customPreviewRenderer:r,suggestions:s=[]},t)=>{let{globalEnvVars:u}=(0,n.rX)(),v=(0,e.useMemo)(()=>Object.entries(u).filter(([,a])=>!a.metadata?.isSecret).map(([a])=>a).sort((a,b)=>a.localeCompare(b)),[u]),w=(0,e.useMemo)(()=>[...s,...v.map(a=>(0,p.Ub)({kind:"global",server:"",name:a},a))],[v,s]),y=(0,e.useRef)(null),[z,A]=(0,e.useState)("raw");return(0,e.useImperativeHandle)(t,()=>({insertText:a=>y.current?.insertText(a),getMode:()=>z}),[z]),(0,d.jsxs)(f.default,{sx:{width:"100%",height:"100%",display:"flex",flexDirection:"column"},children:[c&&(0,d.jsx)(g.A,{variant:"subtitle1",gutterBottom:!0,sx:{fontWeight:"medium",mb:1},children:c}),(0,d.jsx)(f.default,{sx:{mb:1},children:(0,d.jsxs)(h.A,{value:z,exclusive:!0,onChange:(a,b)=>{b&&(A(b),o?.(b))},size:"small",children:[(0,d.jsxs)(i.A,{value:"raw",children:[(0,d.jsx)(k.A,{fontSize:"small",sx:{mr:.5}}),"Raw"]}),(0,d.jsxs)(i.A,{value:"preview",children:[(0,d.jsx)(l.A,{fontSize:"small",sx:{mr:.5}}),"Preview"]})]})}),(0,d.jsx)(j.A,{elevation:0,sx:{border:"1px solid rgba(0, 0, 0, 0.12)",borderRadius:1,overflow:"visible",flexGrow:1,display:"flex",flexDirection:"column"},children:"raw"===z?(0,d.jsx)(f.default,{className:"slate-editor-container",sx:{height:"number"==typeof m?m:"100%",overflow:"visible",p:2},children:(0,d.jsx)(q.Ay,{ref:y,value:a,onChange:b,suggestions:w,placeholder:"Write your prompt here...",bare:!0,minRows:4,containerSx:{height:"100%"},ariaLabel:c||"Prompt editor"})}):r?(0,d.jsx)(f.default,{className:"custom-preview-container",sx:{height:"number"==typeof m?m:"100%",overflow:"auto"},children:r()}):(0,d.jsx)(f.default,{className:"preview-container",sx:{height:"number"==typeof m?m:"100%",overflow:"auto",p:2},children:(0,d.jsx)(x,{value:a})})})]})});y.displayName="PromptBuilder";let z=y},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},91177:(a,b,c)=>{Promise.resolve().then(c.bind(c,81637)),Promise.resolve().then(c.bind(c,8521))},91645:a=>{"use strict";a.exports=require("net")},91959:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"4003ce37366709f5add0c98a6e32e47a1006fd7c7d":()=>d.V,"605caa1e030009a4bc7e820854ff481d3e0295325d":()=>d.resolveGlobalVars,"6061ed6d99a98b5d9f5d2d15065caab0a27d6a8987":()=>d.G});var d=c(73456)},92093:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>h});var d=c(21124),e=c(81637),f=c(79515),g=c(68730);function h({error:a,reset:b}){return(0,d.jsxs)(e.default,{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%",p:4,children:[(0,d.jsx)(f.A,{variant:"h6",color:"error",gutterBottom:!0,children:"Error loading models"}),(0,d.jsx)(f.A,{color:"text.secondary",sx:{mb:2},children:a.message||"Something went wrong while loading the models."}),(0,d.jsx)(e.default,{sx:{display:"flex",gap:2},children:(0,d.jsx)(g.A,{variant:"contained",onClick:b,children:"Try again"})})]})}c(38301),(0,c(42819).h)("app/models/error")},92173:(a,b,c)=>{"use strict";c.d(b,{RJ:()=>e,gF:()=>d});let d="masked:********",e="********"},92675:(a,b,c)=>{"use strict";c.d(b,{De:()=>m,E1:()=>j,Zl:()=>i,bZ:()=>k,xI:()=>l});var d=c(50846),e=c(49680),f=c(20433);let g=(0,d.h)("app/api/model/model-adapter");function h(a){let b={...a};return b.ApiKey&&!b.ApiKey.startsWith("${global:")&&(b.ApiKey=e.RJ),b}async function i(){g.debug("loadModels: Delegating to backend service");let a=await f.modelService.listModels();return a.success&&a.models&&(a.models=a.models.map(h)),a}async function j(a){g.debug(`getModel: Delegating to backend service for model ID: ${a}`);try{let b=await f.modelService.getModel(a);if(!b)return{success:!1,error:`Model not found: ${a}`};return{success:!0,model:h(b)}}catch(b){return g.error(`getModel: Error getting model ${a}:`,b),{success:!1,error:b instanceof Error?b.message:"Failed to get model"}}}async function k(a){g.debug("addModel: Delegating to backend service");let b=await f.modelService.addModel(a);return b.success&&b.model&&(b.model=h(b.model)),b}async function l(a){g.debug("updateModel: Delegating to backend service");let b=await f.modelService.updateModel(a);return b.success&&b.model&&(b.model=h(b.model)),b}async function m(a){return g.debug("deleteModel: Delegating to backend service"),f.modelService.deleteModel(a)}},94735:a=>{"use strict";a.exports=require("events")},96955:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(11801),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreVert")},98995:a=>{"use strict";a.exports=require("node:module")}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[5873,9957,8298,3128,4322,5067,300,773,3954,8745,7674,8730,5642,3418,8897,3855,7883,8940,2372,8739,7821,1539,5096,566,9624,5444,1314,2069],()=>b(b.s=75465));module.exports=c})();
|
|
63
|
+
`,a3={"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 a4({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)(aA.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 a5({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 a6({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)(aX,{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)(aB.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)(aJ.A,{color:"success",fontSize:"small"}):(0,d.jsx)(aN,{fontSize:"small"})})})]})}function a7({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")},aj=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,aZ.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?void await an(a_({kind:t,apiKey:v})):void D(k("models.wizard.confirmCodexLogin")):void D("claude-subscription"===t?k("models.wizard.pasteClaudeToken"):k("models.wizard.pasteApiKey")):void 0,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,aZ.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(a_({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?a3[t]:null,at=(0,e.useMemo)(()=>t?a_({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)(aC.A,{spacing:1.1,children:[(0,d.jsx)(a6,{command:b,copied:K===b,onCopy:()=>void aj(b)}),(0,d.jsx)(B.A,{variant:"outlined",startIcon:P===a?(0,d.jsx)(O.default,{size:17}):(0,d.jsx)(aP,{}),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)(a6,{command:c,copied:K===c,onCopy:()=>void aj(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)(ai.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,{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:`${a0} 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:`${a0} 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)(aH,{})}):(0,d.jsx)(h.default,{sx:{width:40}}),(0,d.jsx)(h.default,{sx:{flex:1},children:(0,d.jsx)(aD.A,{variant:"determinate",value:ar,"aria-label":k("models.wizard.progressAria")})}),(0,d.jsx)(R.A,{onClick:b,"aria-label":k("models.wizard.closeAria"),disabled:z||ab||!!P,children:(0,d.jsx)(aK.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:`${a1} 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)(aA.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)(a5,{children:[(0,d.jsx)(a4,{icon:aV,title:k("models.wizard.noIdea"),description:k("models.wizard.noIdeaDescription"),badge:k("models.wizard.gentleGuide"),onClick:()=>{s("beginner"),ag("budget")}}),(0,d.jsx)(a4,{icon:aI,title:k("models.wizard.knowABit"),description:k("models.wizard.knowABitDescription"),onClick:()=>{s("familiar"),ag("budget")}}),(0,d.jsx)(a4,{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)(a5,{children:[(0,d.jsx)(a4,{icon:aU,title:k("models.wizard.startFree"),description:k("models.wizard.startFreeDescription"),badge:k("models.wizard.startHere"),onClick:()=>ag("location")}),(0,d.jsx)(a4,{icon:aY,title:k("models.wizard.alreadySubscribe"),description:k("models.wizard.alreadySubscribeDescription"),onClick:()=>ag("subscription-provider")}),(0,d.jsx)(a4,{icon:aO,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)(a4,{icon:aL,title:k("models.wizard.online"),description:k("models.wizard.onlineDescription"),badge:k("models.wizard.easy"),onClick:()=>ag("free-provider")}),(0,d.jsx)(a4,{icon:aM,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)(a4,{icon:aT.A,title:"OpenRouter",description:k("models.wizard.openrouterFreeDescription"),badge:k("models.wizard.recommended"),onClick:()=>ah("openrouter-free")}),(0,d.jsx)(a4,{icon:aL,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)(a5,{children:[(0,d.jsx)(a4,{icon:aW,title:"Claude",description:k("models.wizard.claudeDescription"),onClick:()=>ah("claude-subscription")}),(0,d.jsx)(a4,{icon:aX,title:"ChatGPT / Codex",description:k("models.wizard.codexDescription"),badge:k("models.wizard.noKeyPaste"),onClick:()=>ah("codex-subscription")}),(0,d.jsx)(a4,{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)(a4,{icon:aT.A,title:"OpenRouter",description:k("models.wizard.openrouterPaidDescription"),badge:k("models.wizard.recommended"),onClick:()=>ah("openrouter-paid")}),(0,d.jsx)(a4,{icon:aL,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)(aC.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)(aA.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)(aS,{}),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)(aD.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)(aP,{}),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)(aE.A,{sx:{mt:1},control:(0,d.jsx)(aF.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)(aR.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)(aQ,{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)(aC.A,{direction:"row",gap:.8,flexWrap:"wrap",sx:{mb:2.5},children:at.map(a=>(0,d.jsx)(aA.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:`${a2} 520ms cubic-bezier(.2,.8,.2,1) both`},children:(0,d.jsx)(aJ.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)(aC.A,{direction:"row",gap:.8,justifyContent:"center",flexWrap:"wrap",sx:{mb:3},children:a.map(a=>(0,d.jsx)(aA.A,{icon:(0,d.jsx)(aW,{}),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 a8=c(61615);let a9=(0,ae.h)("app/models/ModelClient");function ba({initialModels:a}){let{t:b}=(0,af.s9)(),c=(0,f.useRouter)(),k=(0,f.useSearchParams)(),[l,m]=(0,e.useState)(a),[n,o]=(0,e.useState)(""),[p,q]=(0,e.useState)(null),[r,s]=(0,e.useState)(!1),[t,u]=(0,e.useState)(!1),[v,w]=(0,e.useState)(null),[x,y]=(0,e.useState)(null),z=k.get("add"),M="manual"===z;if(!t)return a9.debug("Waiting for model service to be ready..."),(0,d.jsx)(a8.default,{});let N=k.get("edit"),O=M?x:N?l.find(a=>a.id===N)??null:null,P=M?!!x:!!N,Q=async a=>{a9.info("Saving model",{modelId:a.id,modelName:a.name,mode:M?"add":"update"}),s(!0);try{let d=(0,aw.X)(),e=M?await d.addModel(a):await d.updateModel(a);if(!e.success)return q(e.error||b("models.saveFailed")),{success:!1,error:e.error};{let a=await d.loadModels();return m(a),y(null),c.push("/models"),{success:!0,model:e.model}}}catch(a){return a9.error("Failed to save model",a),q(a?.message||b("models.saveFailedRetry")),{success:!1,error:a?.message||b("models.saveFailed")}}finally{s(!1)}},R=async a=>(a9.info("Editing model",{modelId:a.id,modelName:a.name}),c.push(`/models?edit=${a.id}`),{success:!0}),S=async()=>{a9.info("Opening guided model connection wizard"),w(null),c.push("/models?add=1")},T=()=>{a9.info("Opening manual add-model modal"),w(null),c.push("/models?add=manual")},U=async a=>{a9.info("Creating guided model bundle",{count:a.length}),s(!0),q(null);let d=[],e=[];try{let f=(0,aw.X)(),g=[...await f.loadModels()];for(let c of a){let a=g.find(a=>a.provider===c.provider&&(a.adapter||"openai")===(c.adapter||"openai")&&a.name.trim().toLowerCase()===c.name.trim().toLowerCase());if(a){e.push(a);continue}let h=c.displayName||c.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({...c,displayName:i});if(!k.success||!k.model){let a=await f.loadModels();return m(a),{success:!1,created:d,existing:e,error:k.error||b("models.createNamedFailed",{name:i})}}d.push(k.model),g.push(k.model)}let h=await f.loadModels();return m(h),c.refresh(),{success:!0,created:d,existing:e}}catch(c){a9.error("Failed to create guided model bundle",c);let a=c?.message||b("models.guidedBundleFailed");return q(a),{success:!1,created:d,existing:e,error:a}}finally{s(!1)}},V=async a=>{a9.info("Deleting model",{modelId:a}),s(!0);try{let b=(0,aw.X)();await b.deleteModel(a);let c=await b.loadModels();m(c)}catch(a){a9.error("Failed to delete model",a),q(b("models.deleteFailed"))}finally{s(!1)}},W=async(a,c)=>{a9.info("Setting model folder",{modelId:a,folder:c}),s(!0);try{let d=(0,aw.X)(),e=await d.getModel(a);if(!e)return void q(b("models.notFound"));let f=await d.updateModel({...e,folder:c});if(!f.success)return void q(f.error||b("models.moveFailed"));let g=await d.loadModels();m(g)}catch(a){a9.error("Failed to set model folder",a),q(a?.message||b("models.moveFailedRetry"))}finally{s(!1)}},X=async a=>{a9.info("Toggling model favorite",{modelId:a}),s(!0);try{let c=(0,aw.X)(),d=await c.getModel(a);if(!d)return void q(b("models.notFound"));let e=!d.favorite,f=await c.updateModel({...d,favorite:e||void 0});if(!f.success)return void q(f.error||b("models.favoriteFailed"));let g=await c.loadModels();m(g)}catch(a){a9.error("Failed to toggle model favorite",a),q(a?.message||b("models.favoriteFailedRetry"))}finally{s(!1)}},Y=async()=>{y(null),c.push("/models")},Z=n.trim()?l.filter(a=>{let b=n.toLowerCase();return(a.displayName||"").toLowerCase().includes(b)||(a.name||"").toLowerCase().includes(b)}):l;return(0,d.jsxs)(d.Fragment,{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:b("models.searchPlaceholder"),variant:"outlined",size:"small",value:n,onChange:a=>o(a.target.value),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":b("models.connectionOptionsAria"),children:[(0,d.jsx)(B.A,{startIcon:(0,d.jsx)(H.A,{}),onClick:S,"data-tour":"add-model",children:b("models.connectAi")}),(0,d.jsx)(B.A,{size:"small","aria-label":b("models.moreOptionsAria"),"aria-controls":v?"add-model-menu":void 0,"aria-haspopup":"menu","aria-expanded":v?"true":void 0,onClick:a=>w(a.currentTarget),sx:{px:.8,minWidth:40},children:(0,d.jsx)(I.A,{})})]}),(0,d.jsxs)(C.A,{id:"add-model-menu",anchorEl:v,open:!!v,onClose:()=>w(null),children:[(0,d.jsxs)(D.A,{onClick:S,children:[(0,d.jsx)(E.A,{children:(0,d.jsx)(J.A,{fontSize:"small"})}),(0,d.jsx)(F.A,{primary:b("models.guidedConnection"),secondary:b("models.guidedConnectionDescription")})]}),(0,d.jsxs)(D.A,{onClick:T,children:[(0,d.jsx)(E.A,{children:(0,d.jsx)(L.A,{fontSize:"small"})}),(0,d.jsx)(F.A,{primary:b("models.manualCreation"),secondary:b("models.manualCreationDescription")})]})]})]})]})}),p&&(0,d.jsx)(h.default,{sx:{mb:2},children:(0,d.jsx)(G.A,{severity:"error",onClose:()=>q(null),children:p})}),(0,d.jsx)(ah,{models:Z,isLoading:r,onAdd:S,onUpdate:R,onDelete:V,folders:(0,ab.yF)(l,a=>a.folder),onSetFolder:W,onToggleFavorite:X}),(0,d.jsx)(a7,{open:"1"===z,onClose:Y,onManualCreation:T,onCreateModels:U}),P&&O?(0,d.jsx)(az,{open:P,model:O,onSave:Q,onClose:Y}):null]})}},55511:a=>{"use strict";a.exports=require("crypto")},55591:a=>{"use strict";a.exports=require("https")},57075:a=>{"use strict";a.exports=require("node:stream")},57975:a=>{"use strict";a.exports=require("node:util")},58156:(a,b,c)=>{"use strict";c.d(b,{default:()=>k});var d=c(21124),e=c(60839),f=c(81637),g=c(53773),h=c(79515),i=c(37489),j=c(18305);function k({title:a,titleKey:b,description:c,descriptionKey:k,eyebrow:l,eyebrowKey:m,icon:n,leading:o,badge:p,actions:q,compact:r=!1,maxWidth:s=1440}){let t=(0,e.A)(),{t:u}=(0,j.s9)(),v=b?u(b):a,w=k?u(k):c,x=m?u(m):l;return(0,d.jsx)(f.default,{component:"header",sx:{position:"relative",overflow:"hidden",borderBottom:1,borderColor:"divider",background:`linear-gradient(110deg, ${(0,i.X4)(t.palette.primary.main,"dark"===t.palette.mode?.09:.055)}, transparent 38%, ${(0,i.X4)(t.palette.secondary.main,.045)})`,"&::after":{position:"absolute",top:-90,right:"8%",width:220,height:160,borderRadius:"50%",content:'""',pointerEvents:"none",background:`radial-gradient(circle, ${(0,i.X4)(t.palette.primary.main,.16)}, transparent 68%)`,filter:"blur(20px)"}},children:(0,d.jsxs)(f.default,{sx:{position:"relative",zIndex:1,display:"flex",width:"100%",maxWidth:s,mx:"auto",px:{xs:2,sm:3,lg:4},py:r?{xs:1.8,sm:2}:{xs:2.2,sm:2.8},alignItems:{xs:"flex-start",md:"center"},justifyContent:"space-between",flexDirection:{xs:"column",md:"row"},gap:2},children:[(0,d.jsxs)(g.A,{direction:"row",spacing:1.5,alignItems:"center",sx:{minWidth:0},children:[o,n&&(0,d.jsx)(f.default,{"aria-hidden":"true",sx:{display:"grid",width:r?40:46,height:r?40:46,flexShrink:0,placeItems:"center",border:`1px solid ${(0,i.X4)(t.palette.primary.main,.24)}`,borderRadius:r?2.8:3.2,color:"primary.light",bgcolor:(0,i.X4)(t.palette.primary.main,.1),boxShadow:`inset 0 1px 0 ${(0,i.X4)(t.palette.common.white,.08)}, 0 10px 30px ${(0,i.X4)(t.palette.primary.main,.12)}`},children:(0,d.jsx)(n,{sx:{fontSize:r?21:24}})}),(0,d.jsxs)(f.default,{sx:{minWidth:0},children:[(l||p)&&(0,d.jsxs)(g.A,{direction:"row",spacing:1,alignItems:"center",sx:{mb:.35},children:[x&&(0,d.jsx)(h.A,{sx:{color:"primary.light",fontSize:"0.67rem",fontWeight:780,letterSpacing:"0.13em",textTransform:"uppercase"},children:x}),p]}),(0,d.jsx)(h.A,{component:"h1",variant:"h5",sx:{overflow:"hidden",textOverflow:"ellipsis",fontSize:r?"1.2rem":void 0,whiteSpace:{xs:"normal",sm:"nowrap"}},children:v}),w&&(0,d.jsx)(h.A,{variant:"body2",color:"text.secondary",sx:{mt:.45,maxWidth:720,textWrap:"balance"},children:w})]})]}),q&&(0,d.jsx)(f.default,{sx:{display:"flex",width:{xs:"100%",md:"auto"},flexShrink:0,flexWrap:"wrap",alignItems:"center",gap:1,"& > .MuiButton-root":{flex:{xs:"1 1 auto",sm:"0 0 auto"}}},children:q})]})})}},61560:(a,b,c)=>{"use strict";c.d(b,{R:()=>e});var d=c(38301);function e(a,b={}){let{threshold:c=200,deps:f=[]}=b,g=(0,d.useRef)(null),[h,i]=(0,d.useState)(!1);(0,d.useRef)(!1);let j=(0,d.useCallback)(()=>{let a=g.current;return a&&a.scrollHeight>a.clientHeight+1?a:null},[]);return(0,d.useCallback)(()=>{let a=j();return a?a.scrollTop:0},[j]),(0,d.useCallback)(a=>{let b=j();b&&(b.scrollTop=a)},[j]),{ref:g,showBackToTop:h,scrollToTop:(0,d.useCallback)(()=>{let a=j();a&&a.scrollTo({top:0,behavior:"smooth"}),i(!1)},[j])}}c(2560)},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},63112:(a,b,c)=>{let{createProxy:d}=c(39893);a.exports=d("C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\shared\\lib\\lazy-dynamic\\preload-chunks.js")},65251:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\Moe\\\\Documents\\\\GitHub\\\\FLUJO\\\\node_modules\\\\@mui\\\\material\\\\CircularProgress\\\\CircularProgress.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\node_modules\\@mui\\material\\CircularProgress\\CircularProgress.js","default")},68633:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{decryptActionBoundArgs:function(){return s},encryptActionBoundArgs:function(){return r}}),c(77925);let d=c(97954),e=c(27825),f=c(47686),g=c(77533),h=c(63033),i=c(26906),j=function(a){return a&&a.__esModule?a:{default:a}}(c(74515)),k=new TextEncoder,l=new TextDecoder,m=void 0,n=void 0;async function o(a,b){let c=await (0,g.getActionEncryptionKey)();if(void 0===c)throw Object.defineProperty(Error("Missing encryption key for Server Action. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E65",enumerable:!1,configurable:!0});let d=atob(b),e=d.slice(0,16),f=d.slice(16),h=l.decode(await (0,g.decrypt)(c,(0,g.stringToUint8Array)(e),(0,g.stringToUint8Array)(f)));if(!h.startsWith(a))throw Object.defineProperty(Error("Invalid Server Action payload: failed to decrypt."),"__NEXT_ERROR_CODE",{value:"E191",enumerable:!1,configurable:!0});return h.slice(a.length)}async function p(a,b){let c=await (0,g.getActionEncryptionKey)();if(void 0===c)throw Object.defineProperty(Error("Missing encryption key for Server Action. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E65",enumerable:!1,configurable:!0});let d=new Uint8Array(16);h.workUnitAsyncStorage.exit(()=>crypto.getRandomValues(d));let e=(0,g.arrayBufferToString)(d.buffer),f=await (0,g.encrypt)(c,d,k.encode(a+b));return btoa(e+(0,g.arrayBufferToString)(f))}var q=function(a){return a[a.Ready=0]="Ready",a[a.Pending=1]="Pending",a[a.Complete=2]="Complete",a}(q||{});let r=j.default.cache(async function a(b,...c){let e=h.workUnitAsyncStorage.getStore(),j=e?(0,h.getCacheSignal)(e):void 0,{clientModules:k}=(0,g.getClientReferenceManifestForRsc)(),l=Error();Error.captureStackTrace(l,a);let n=!1,o=e?(0,i.createHangingInputAbortSignal)(e):void 0,q=0;function r(){0===q&&(q=1,null==j||j.beginRead())}function s(){1===q&&(null==j||j.endRead()),q=2}o&&j&&o.addEventListener("abort",r,{once:!0});let t=await (0,f.streamToString)((0,d.renderToReadableStream)(c,k,{filterStackFrame:m,signal:o,onError(a){(null==o||!o.aborted)&&(n||(n=!0,l.message=a instanceof Error?a.message:String(a)))}}),o);if(n)throw s(),l;if(!e)return p(b,t);r();let u=(0,h.getPrerenderResumeDataCache)(e),v=(0,h.getRenderResumeDataCache)(e),w=b+t,x=(null==u?void 0:u.encryptedBoundArgs.get(w))??(null==v?void 0:v.encryptedBoundArgs.get(w));if(x)return x;let y=await p(b,t);return s(),null==u||u.encryptedBoundArgs.set(w,y),y});async function s(a,b){let c,d=await b,f=h.workUnitAsyncStorage.getStore();if(f){let b=(0,h.getCacheSignal)(f),e=(0,h.getPrerenderResumeDataCache)(f),g=(0,h.getRenderResumeDataCache)(f);(c=(null==e?void 0:e.decryptedBoundArgs.get(d))??(null==g?void 0:g.decryptedBoundArgs.get(d)))||(null==b||b.beginRead(),c=await o(a,d),null==b||b.endRead(),null==e||e.decryptedBoundArgs.set(d,c))}else c=await o(a,d);let{edgeRscModuleMapping:i,rscModuleMapping:j}=(0,g.getClientReferenceManifestForRsc)();return await (0,e.createFromReadableStream)(new ReadableStream({start(a){switch(a.enqueue(k.encode(c)),null==f?void 0:f.type){case"prerender":case"prerender-runtime":f.renderSignal.aborted?a.close():f.renderSignal.addEventListener("abort",()=>a.close(),{once:!0});break;case"prerender-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":case void 0:return a.close()}}}),{findSourceMapURL:n,serverConsumerManifest:{moduleLoading:null,moduleMap:j,serverModuleMap:(0,g.getServerModuleMap)()}})}},69266:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(11801),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M3 18c0 .55.45 1 1 1h5v-2H4c-.55 0-1 .45-1 1M3 6c0 .55.45 1 1 1h9V5H4c-.55 0-1 .45-1 1m10 14v-1h7c.55 0 1-.45 1-1s-.45-1-1-1h-7v-1c0-.55-.45-1-1-1s-1 .45-1 1v4c0 .55.45 1 1 1s1-.45 1-1M7 10v1H4c-.55 0-1 .45-1 1s.45 1 1 1h3v1c0 .55.45 1 1 1s1-.45 1-1v-4c0-.55-.45-1-1-1s-1 .45-1 1m14 2c0-.55-.45-1-1-1h-9v2h9c.55 0 1-.45 1-1m-5-3c.55 0 1-.45 1-1V7h3c.55 0 1-.45 1-1s-.45-1-1-1h-3V4c0-.55-.45-1-1-1s-1 .45-1 1v4c0 .55.45 1 1 1"}),"TuneRounded")},69389:(a,b,c)=>{let{createProxy:d}=c(39893);a.exports=d("C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\shared\\lib\\lazy-dynamic\\dynamic-bailout-to-csr.js")},70174:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\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")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73456:(a,b,c)=>{"use strict";c.d(b,{G:()=>m,V:()=>l,resolveGlobalVars:()=>k});var d=c(75879);c(68633);var e=c(50846),f=c(92372),g=c(38844),h=c(58739),i=c(51669);let j=(0,e.h)("backend/utils/resolveGlobalVars");async function k(a,b={}){j.debug("Entering resolveGlobalVars method");let c=!1!==b.resolveSecrets,d=await (0,f.loadItem)(g.Z.GLOBAL_ENV_VARS,{}),e=function(a){if(!a||"object"!=typeof a)return!1;let b=Object.keys(a);if(0===b.length)return!0;let c=a[b[0]];return c&&"object"==typeof c&&"value"in c&&"metadata"in c&&"object"==typeof c.metadata&&"isSecret"in c.metadata}(d);j.debug(`Loaded ${Object.keys(d).length} global environment variables (${e?"new":"old"} format)`);let i={},l=new Set;if(e)for(let[a,b]of Object.entries(d))i[a]=b.value,b.metadata.isSecret&&l.add(a);else i={...d};let m=async a=>{let b=a.match(/\$\{global:([^}]+)\}/g);if(!b)return a;let d=a;for(let a of b){let b=a.substring(9,a.length-1);if(void 0!==i[b]){let e=i[b];if(!c&&(l.has(b)||e.startsWith("encrypted:")||e.startsWith("encrypted_failed:"))){j.debug(`Keeping secret global variable unresolved: ${b}`);continue}if(e.startsWith("encrypted:")){j.debug(`Decrypting encrypted global variable: ${b}`);try{let a=e.substring(10),c=await (0,h.decryptWithPassword)(a);if(c)e=c,j.debug(`Successfully decrypted global variable: ${b}`);else{j.warn(`Failed to decrypt global variable: ${b}`);continue}}catch(a){j.error(`Error decrypting global variable: ${b}`,a);continue}}else if(e.startsWith("encrypted_failed:")){j.warn(`Skipping failed encrypted global variable: ${b}`);continue}j.debug(`Resolved global variable: ${b}`),d=d.replace(a,e)}else j.warn(`Global variable not found: ${b}`)}return d},n=async a=>{if("string"==typeof a)return await m(a);if(Array.isArray(a))return await Promise.all(a.map(a=>n(a)));if(null!==a&&"object"==typeof a){let b={};for(let[c,d]of Object.entries(a))b[c]=await n(d);return b}return a},o=await n(a);return"object"==typeof a&&null!==a&&j.debug("Resolved global variables result:",JSON.stringify(o,null,2)),j.debug("Completed global variable resolution"),o}async function l(a){return k(a,{resolveSecrets:!1})}async function m(a,b=0){if(j.debug(`Entering resolveAndDecryptApiKey method (depth: ${b})`),!a)return j.warn("Empty value provided"),null;if(b>=10)return j.warn(`Maximum resolution depth reached (10) for value: ${a}`),a;let c=a;if(c.startsWith("encrypted:")){j.debug(`Decrypting encrypted value at depth ${b}`);try{let a=c.substring(10),d=await (0,h.decryptWithPassword)(a);if(!d)return j.warn(`Failed to decrypt value at depth ${b}`),null;j.debug(`Successfully decrypted value at depth ${b}`),j.verbose(d),c=d}catch(a){return j.error(`Error decrypting value at depth ${b}:`,a),null}}else c.startsWith("encrypted_failed:")&&(j.warn(`Skipping failed encrypted value at depth ${b}`),c=c.substring(17));if(c.includes("${global:")){j.debug(`Resolving global variables at depth ${b}`);try{let a=await k(c);if(j.verbose(a),a!==c)return j.debug(`Value changed after resolving globals at depth ${b}, processing recursively`),m(a,b+1);c=a}catch(a){return j.error(`Error resolving global variables at depth ${b}:`,a),null}}return j.debug(`Completed resolveAndDecryptApiKey at depth ${b}`),c}(0,i.D)([k,l,m]),(0,d.A)(k,"605caa1e030009a4bc7e820854ff481d3e0295325d",null),(0,d.A)(l,"4003ce37366709f5add0c98a6e32e47a1006fd7c7d",null),(0,d.A)(m,"6061ed6d99a98b5d9f5d2d15065caab0a27d6a8987",null)},73496:a=>{"use strict";a.exports=require("http2")},73566:a=>{"use strict";a.exports=require("worker_threads")},73737:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\Moe\\\\Documents\\\\GitHub\\\\FLUJO\\\\node_modules\\\\@mui\\\\material\\\\Box\\\\Box.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\node_modules\\@mui\\material\\Box\\Box.js","default")},74075:a=>{"use strict";a.exports=require("zlib")},75465:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GlobalError:()=>E.a,__next_app__:()=>K,handler:()=>M,pages:()=>J,routeModule:()=>L,tree:()=>I});var d=c(49754),e=c(9117),f=c(46595),g=c(32324),h=c(39326),i=c(38928),j=c(20175),k=c(12),l=c(54290),m=c(12696),n=c(52574),o=c(82802),p=c(77533),q=c(45229),r=c(32822),s=c(261),t=c(26453),u=c(52474),v=c(26713),w=c(51356),x=c(62685),y=c(36225),z=c(63446),A=c(2762),B=c(45742),C=c(86439),D=c(81170),E=c.n(D),F=c(62506),G=c(91203),H={};for(let a in F)0>["default","tree","pages","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(H[a]=()=>F[a]);c.d(b,H);let I={children:["",{children:["models",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,38108)),"C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\src\\app\\models\\page.tsx"]}]},{error:[()=>Promise.resolve().then(c.bind(c,14867)),"C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\src\\app\\models\\error.tsx"],loading:[()=>Promise.resolve().then(c.bind(c,50573)),"C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\src\\app\\models\\loading.tsx"]}]},{layout:[()=>Promise.resolve().then(c.bind(c,51472)),"C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\src\\app\\layout.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,81170,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,87028,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,90461,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,32768,23)),"next/dist/client/components/builtin/unauthorized.js"]}]}.children,J=["C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\src\\app\\models\\page.tsx"],K={require:c,loadChunk:()=>Promise.resolve()},L=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/models/page",pathname:"/models",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:I},distDir:".next",relativeProjectDir:""});async function M(a,b,d){var D;let H="/models/page";"/index"===H&&(H="/");let N=(0,h.getRequestMeta)(a,"postponed"),O=(0,h.getRequestMeta)(a,"minimalMode"),P=await L.prepare(a,b,{srcPage:H,multiZoneDraftMode:!1});if(!P)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Q,query:R,params:S,parsedUrl:T,pageIsDynamic:U,buildManifest:V,nextFontManifest:W,reactLoadableManifest:X,serverActionsManifest:Y,clientReferenceManifest:Z,subresourceIntegrityManifest:$,prerenderManifest:_,isDraftMode:aa,resolvedPathname:ab,revalidateOnlyGenerated:ac,routerServerContext:ad,nextConfig:ae,interceptionRoutePatterns:af}=P,ag=T.pathname||"/",ah=(0,s.normalizeAppPath)(H),{isOnDemandRevalidate:ai}=P,aj=L.match(ag,_),ak=!!_.routes[ab],al=!!(aj||ak||_.routes[ah]),am=a.headers["user-agent"]||"",an=(0,v.getBotType)(am),ao=(0,q.isHtmlBotRequest)(a),ap=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[u.NEXT_ROUTER_PREFETCH_HEADER],aq=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[u.RSC_HEADER]),ar=(0,t.getIsPossibleServerAction)(a),as=(0,m.checkIsAppPPREnabled)(ae.experimental.ppr)&&(null==(D=_.routes[ah]??_.dynamicRoutes[ah])?void 0:D.renderingMode)==="PARTIALLY_STATIC",at=!1,au=!1,av=as?N:void 0,aw=as&&aq&&!ap,ax=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ay=!am||(0,q.shouldServeStreamingMetadata)(am,ae.htmlLimitedBots);ao&&as&&(al=!1,ay=!1);let az=!0===L.isDev||!al||"string"==typeof N||aw,aA=ao&&as,aB=null;aa||!al||az||ar||av||aw||(aB=ab);let aC=aB;!aC&&L.isDev&&(aC=ab),L.isDev||aa||!al||!aq||aw||(0,k.d)(a.headers);let aD={...F,tree:I,pages:J,GlobalError:E(),handler:M,routeModule:L,__next_app__:K};Y&&Z&&(0,p.setReferenceManifestsSingleton)({page:H,clientReferenceManifest:Z,serverActionsManifest:Y,serverModuleMap:(0,r.createServerModuleMap)({serverActionsManifest:Y})});let aE=a.method||"GET",aF=(0,g.getTracer)(),aG=aF.getActiveScopeSpan();try{let f=L.getVaryHeader(ab,af);b.setHeader("Vary",f);let k=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return L.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=aF.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${aE} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aE} ${a.url}`)})},m=async({span:e,postponed:f,fallbackRouteParams:g})=>{let i={query:R,params:S,page:ah,sharedContext:{buildId:Q},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aD,Component:(0,j.T)(aD),params:S,routeModule:L,page:H,postponed:f,shouldWaitOnAllReady:aA,serveStreamingMetadata:ay,supportsDynamicResponse:"string"==typeof f||az,buildManifest:V,nextFontManifest:W,reactLoadableManifest:X,subresourceIntegrityManifest:$,serverActionsManifest:Y,clientReferenceManifest:Z,setIsrStatus:null==ad?void 0:ad.setIsrStatus,dir:c(33873).join(process.cwd(),L.relativeProjectDir),isDraftMode:aa,isRevalidate:al&&!f&&!aw,botType:an,isOnDemandRevalidate:ai,isPossibleServerAction:ar,assetPrefix:ae.assetPrefix,nextConfigOutput:ae.output,crossOrigin:ae.crossOrigin,trailingSlash:ae.trailingSlash,previewProps:_.preview,deploymentId:ae.deploymentId,enableTainting:ae.experimental.taint,htmlLimitedBots:ae.htmlLimitedBots,devtoolSegmentExplorer:ae.experimental.devtoolSegmentExplorer,reactMaxHeadersLength:ae.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:ae.experimental.cacheLife,basePath:ae.basePath,serverActions:ae.experimental.serverActions,...at?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isRevalidate:!0,isDebugDynamicAccesses:at}:{},experimental:{isRoutePPREnabled:as,expireTime:ae.expireTime,staleTimes:ae.experimental.staleTimes,cacheComponents:!!ae.experimental.cacheComponents,clientSegmentCache:!!ae.experimental.clientSegmentCache,clientParamParsing:!!ae.experimental.clientParamParsing,dynamicOnHover:!!ae.experimental.dynamicOnHover,inlineCss:!!ae.experimental.inlineCss,authInterrupts:!!ae.experimental.authInterrupts,clientTraceMetadata:ae.experimental.clientTraceMetadata||[]},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d)=>L.onRequestError(a,b,d,ad),err:(0,h.getRequestMeta)(a,"invokeError"),dev:L.isDev}},l=await k(e,i),{metadata:m}=l,{cacheControl:n,headers:o={},fetchTags:p}=m;if(p&&(o[z.NEXT_CACHE_TAGS_HEADER]=p),a.fetchMetrics=m.fetchMetrics,al&&(null==n?void 0:n.revalidate)===0&&!L.isDev&&!as){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ab}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
|
|
64
|
+
see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:w.CachedRouteKind.APP_PAGE,html:l,headers:o,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},n=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i})=>{let j,k=!1===L.isDev,l=c||b.writableEnded;if(ai&&ac&&!f&&!O)return(null==ad?void 0:ad.render404)?await ad.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(aj&&(j=(0,x.parseFallbackField)(aj.fallback)),j===x.FallbackMode.PRERENDER&&(0,v.isBot)(am)&&(!as||ao)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ai=!0),ai&&(j!==x.FallbackMode.NOT_FOUND||f)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),!O&&j!==x.FallbackMode.BLOCKING_STATIC_RENDER&&aC&&!l&&!aa&&U&&(k||!ak)){let b;if((k||aj)&&j===x.FallbackMode.NOT_FOUND)throw new C.NoFallbackError;if(as&&!aq){let c="string"==typeof(null==aj?void 0:aj.fallback)?aj.fallback:k?ah:null;if(b=await L.handleResponse({cacheKey:c,req:a,nextConfig:ae,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:_,isRoutePPREnabled:as,responseGenerator:async()=>m({span:i,postponed:void 0,fallbackRouteParams:k||au?(0,o.u)(ah):null}),waitUntil:d.waitUntil}),null===b)return null;if(b)return delete b.cacheControl,b}}let n=ai||g||!av?void 0:av;if(at&&void 0!==n)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:w.CachedRouteKind.PAGES,html:y.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let p=U&&as&&((0,h.getRequestMeta)(a,"renderFallbackShell")||au)?(0,o.u)(ag):null;return m({span:i,postponed:n,fallbackRouteParams:p})},p=async c=>{var f,g,i,j,k;let l,o=await L.handleResponse({cacheKey:aB,responseGenerator:a=>n({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ai,isRoutePPREnabled:as,req:a,nextConfig:ae,prerenderManifest:_,waitUntil:d.waitUntil});if(aa&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),L.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!o){if(aB)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=o.value)?void 0:f.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=o.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let p="string"==typeof o.value.postponed;al&&!aw&&(!p||ap)&&(O||b.setHeader("x-nextjs-cache",ai?"REVALIDATED":o.isMiss?"MISS":o.isStale?"STALE":"HIT"),b.setHeader(u.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=o;if(av)l={revalidate:0,expire:void 0};else if(O&&aq&&!ap&&as)l={revalidate:0,expire:void 0};else if(!L.isDev)if(aa)l={revalidate:0,expire:void 0};else if(al){if(o.cacheControl)if("number"==typeof o.cacheControl.revalidate){if(o.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${o.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:o.cacheControl.revalidate,expire:(null==(j=o.cacheControl)?void 0:j.expire)??ae.expireTime}}else l={revalidate:z.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(o.cacheControl=l,"string"==typeof ax&&(null==q?void 0:q.kind)===w.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[z.NEXT_CACHE_TAGS_HEADER];O&&al&&c&&"string"==typeof c&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(ax);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(d,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.EMPTY,cacheControl:o.cacheControl}))}let r=(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r({...o,value:{...o.value,kind:"PAGE"}},{url:(0,h.getRequestMeta)(a,"initURL")}))return null;if(p&&av)throw Object.defineProperty(Error("Invariant: postponed state should not be present on a resume request"),"__NEXT_ERROR_CODE",{value:"E396",enumerable:!1,configurable:!0});if(q.headers){let a={...q.headers};for(let[c,d]of(O&&al||delete a[z.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let s=null==(g=q.headers)?void 0:g[z.NEXT_CACHE_TAGS_HEADER];if(O&&al&&s&&"string"==typeof s&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,s),!q.status||aq&&as||(b.statusCode=q.status),!O&&q.status&&G.RedirectStatusCode[q.status]&&aq&&(b.statusCode=200),p&&b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"1"),aq&&!aa){if(void 0===q.rscData){if(q.postponed)throw Object.defineProperty(Error("Invariant: Expected postponed to be undefined"),"__NEXT_ERROR_CODE",{value:"E372",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:q.html,cacheControl:aw?{revalidate:0,expire:void 0}:o.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(q.rscData,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl})}let t=q.html;if(!p||O||aq)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:o.cacheControl});if(at)return t.push(new ReadableStream({start(a){a.enqueue(A.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}});let v=new TransformStream;return t.push(v.readable),m({span:c,postponed:q.postponed,fallbackRouteParams:null}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(v.writable)}).catch(a=>{v.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}})};if(!aG)return await aF.withPropagatedContext(a.headers,()=>aF.trace(i.BaseServerSpan.handleRequest,{spanName:`${aE} ${a.url}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aE,"http.target":a.url}},p));await p(aG)}catch(b){throw b instanceof C.NoFallbackError||await L.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"render",revalidateReason:(0,f.c)({isRevalidate:al,isOnDemandRevalidate:ai})},ad),b}}},75837:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(11801),e=c(21124);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")},75879:(a,b,c)=>{"use strict";Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(97954)},76133:(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]}},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77127:(a,b,c)=>{"use strict";c.d(b,{A:()=>P});var d=c(21124),e=c(38301),f=c(60839),g=c(43312),h=c(44079),i=c(37489),j=c(27114),k=c(81637),l=c(79515),m=c(41893),n=c(30818),o=c(423),p=c(98463),q=c(12033),r=c(91034);let s=(0,c(11801).A)((0,d.jsx)("path",{d:"M19.8 18.4 14 10.67V6.5l1.35-1.69c.26-.33.03-.81-.39-.81H9.04c-.42 0-.65.48-.39.81L10 6.5v4.17L4.2 18.4c-.49.66-.02 1.6.8 1.6h14c.82 0 1.29-.94.8-1.6"}),"Science");var t=c(96955),u=c(18467),v=c(5501),w=c(99587),x=c(76133),y=c(83434),z=c(42819),A=c(40512),B=c(83899),C=c(52327),D=c(8521),E=c(88745),F=c(91059),G=c(19925),H=c(68730),I=c(8165),J=c(65343),K=c(18305);let L=({title:a,attempt:b})=>{let{t:c,formatNumber:e}=(0,K.s9)();return(0,d.jsxs)(k.default,{sx:{mb:2},children:[(0,d.jsxs)(k.default,{sx:{display:"flex",alignItems:"center",gap:1,mb:.5},children:[b.ok?(0,d.jsx)(I.A,{color:"success",fontSize:"small"}):(0,d.jsx)(J.A,{color:"error",fontSize:"small"}),(0,d.jsx)(l.A,{variant:"subtitle2",children:a}),"number"==typeof b.status&&(0,d.jsx)(m.A,{size:"small",label:`HTTP ${b.status}`}),(0,d.jsx)(m.A,{size:"small",variant:"outlined",label:`${e(b.durationMs)} ms`})]}),b.ok?(0,d.jsx)(l.A,{variant:"body2",color:"text.secondary",sx:{pl:3},children:c("models.test.response",{response:b.content?`"${b.content}"`:c("models.test.empty")})}):(0,d.jsxs)(k.default,{sx:{pl:3},children:[(0,d.jsx)(l.A,{variant:"body2",color:"error.main",children:b.error?.message}),(b.error?.code||b.error?.type)&&(0,d.jsxs)(l.A,{variant:"caption",color:"text.secondary",display:"block",children:[b.error?.type?`type: ${b.error.type}`:"",b.error?.type&&b.error?.code?" \xb7 ":"",b.error?.code?`code: ${b.error.code}`:""]}),b.error?.retryAfter&&(0,d.jsxs)(l.A,{variant:"caption",color:"text.secondary",display:"block",children:["retry-after: ",b.error.retryAfter,"s"]}),b.error?.body!==void 0&&(0,d.jsx)(k.default,{component:"pre",sx:{mt:.5,p:1,bgcolor:"action.hover",borderRadius:1,fontSize:"0.7rem",overflowX:"auto",maxHeight:160},children:JSON.stringify(b.error.body,null,2)})]})]})},M=({open:a,modelLabel:b,loading:c,result:e,error:f,onClose:g,onRetry:h})=>{let{t:i}=(0,K.s9)(),j=i(e?.provider==="codex"?"models.test.codexSdk":"models.test.openaiSdk");return(0,d.jsxs)(A.A,{open:a,onClose:g,maxWidth:"sm",fullWidth:!0,children:[(0,d.jsx)(B.A,{children:i("models.test.title",{model:b})}),(0,d.jsx)(C.A,{dividers:!0,children:c?(0,d.jsxs)(k.default,{sx:{display:"flex",alignItems:"center",gap:2,py:3},children:[(0,d.jsx)(D.default,{size:24}),(0,d.jsx)(l.A,{variant:"body2",children:i("models.test.sending")})]}):f?(0,d.jsx)(E.A,{severity:"error",children:f}):e?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(E.A,{severity:e.ok?"success":"warning",sx:{mb:2},children:e.diagnosis}),(0,d.jsxs)(l.A,{variant:"caption",color:"text.secondary",display:"block",sx:{mb:2},children:[i("models.test.modelLabel",{model:e.model}),e.baseUrl?` \xb7 ${e.baseUrl}`:"",e.provider?` \xb7 ${e.provider}`:""]}),(0,d.jsx)(F.A,{sx:{mb:2}}),(0,d.jsx)(L,{title:j,attempt:e.sdk}),(0,d.jsx)(L,{title:i("models.test.axios"),attempt:e.axios})]}):null}),(0,d.jsxs)(G.A,{children:[(0,d.jsx)(H.A,{onClick:h,disabled:c,children:i("models.test.runAgain")}),(0,d.jsx)(H.A,{onClick:g,variant:"contained",children:i("common.close")})]})]})};var N=c(78352);let O=(0,z.h)("frontend/components/models/list/ModelCard"),P=({model:a,onEdit:b,onDelete:c,folder:z,folders:A=[],onSetFolder:B,selectable:C=!1,selected:D=!1,onSelect:E,onToggleFavorite:F})=>{let{t:G,formatNumber:H}=(0,K.s9)(),I=(0,f.A)(),[J,L]=(0,e.useState)(!1),[P,Q]=(0,e.useState)(!1),[R,S]=(0,e.useState)(null),[T,U]=(0,e.useState)(null),[V,W]=(0,e.useState)(null),X=async()=>{Q(!0),U(null),S(null);try{let b=await (0,y.X)().testModel({modelId:a.id});S(b)}catch(b){O.error("Model test failed",{modelId:a.id,error:b}),U(b instanceof Error?b.message:G("models.test.failed"))}finally{Q(!1)}},Y=F?(0,d.jsx)(g.A,{title:a.favorite?G("models.favorite.remove"):G("models.favorite.add"),arrow:!0,placement:"top",children:(0,d.jsx)(h.A,{size:"small","aria-label":a.favorite?G("models.favorite.remove"):G("models.favorite.add"),onClick:b=>{b.stopPropagation(),F?.(a.id)},sx:{position:"absolute",top:4,left:4,zIndex:2,color:a.favorite?I.palette.warning.main:I.palette.text.secondary,backgroundColor:(0,i.X4)(I.palette.background.paper,.6),"&:hover":{backgroundColor:(0,i.X4)(I.palette.background.paper,.9)}},children:a.favorite?(0,d.jsx)(v.A,{fontSize:"small"}):(0,d.jsx)(w.A,{fontSize:"small"})})}):null,Z=(0,d.jsx)(d.Fragment,{children:(0,d.jsxs)(j.A,{sx:{flexGrow:1,p:2.25},children:[(0,d.jsxs)(k.default,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:1,mb:1.2},children:[(0,d.jsx)(l.A,{variant:"h6",sx:{pr:1},children:a.displayName||a.name}),(0,d.jsx)(m.A,{label:(0,x.T_)(a.provider,a.adapter).label,size:"small",sx:{flexShrink:0,color:"primary.light",bgcolor:(0,i.X4)(I.palette.primary.main,.09),border:`1px solid ${(0,i.X4)(I.palette.primary.main,.16)}`}})]}),(0,d.jsx)(l.A,{variant:"body2",color:"text.secondary",sx:{mb:2,minHeight:42},style:{display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical",overflow:"hidden",textOverflow:"ellipsis"},children:a.description}),(0,d.jsxs)(k.default,{sx:{mb:1,p:1.25,border:1,borderColor:"divider",borderRadius:2.5,bgcolor:(0,i.X4)(I.palette.background.default,.44)},children:[a.displayName&&(0,d.jsxs)(l.A,{variant:"body2",color:"text.secondary",noWrap:!0,children:[(0,d.jsx)(k.default,{component:"span",sx:{color:"text.primary",fontWeight:650},children:G("models.card.model")})," \xb7 ",a.name]}),"number"==typeof a.contextWindow&&(0,d.jsxs)(l.A,{variant:"body2",color:"text.secondary",children:[(0,d.jsx)(k.default,{component:"span",sx:{color:"text.primary",fontWeight:650},children:G("models.card.context")})," \xb7 ",H(a.contextWindow)," ",G("models.card.tokens")]})]}),a.baseUrl&&(0,d.jsx)(g.A,{title:a.baseUrl,arrow:!0,placement:"top",children:(0,d.jsxs)(l.A,{variant:"body2",color:"text.secondary",noWrap:!0,children:[G("models.card.baseUrl"),": ",a.baseUrl]})}),z&&(0,d.jsx)(m.A,{icon:(0,d.jsx)(u.A,{}),label:z,size:"small",variant:"outlined",sx:{mt:1,maxWidth:"100%"}})]})});return C?(0,d.jsxs)(n.A,{elevation:0,role:"radio","aria-checked":D,sx:{height:"100%",display:"flex",flexDirection:"column",position:"relative",border:a=>`1px solid ${D?a.palette.primary.main:a.palette.divider}`,boxShadow:D?`0 0 0 3px ${(0,i.X4)(I.palette.primary.main,.13)}`:void 0,transition:"transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease","&:hover":{borderColor:(0,i.X4)(I.palette.primary.main,.42),transform:"translateY(-3px)"}},children:[Y,(0,d.jsx)(o.A,{onClick:()=>E?.(a.id),sx:{height:"100%",display:"flex",flexDirection:"column",alignItems:"stretch"},children:Z})]}):(0,d.jsxs)(n.A,{elevation:0,sx:{height:"100%",display:"flex",flexDirection:"column",position:"relative",transition:"transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease","&:hover":{borderColor:(0,i.X4)(I.palette.primary.main,.38),boxShadow:`0 22px 60px ${(0,i.X4)(I.palette.primary.main,.12)}`,transform:"translateY(-4px)"}},children:[Y,Z,(0,d.jsxs)(p.A,{disableSpacing:!0,sx:{px:1.5,pb:1.4,borderTop:1,borderColor:"divider"},children:[(0,d.jsx)(g.A,{title:G("models.card.testTooltip"),arrow:!0,children:(0,d.jsx)(h.A,{"aria-label":G("models.card.testAria"),onClick:()=>{L(!0),X()},children:(0,d.jsx)(s,{})})}),(0,d.jsx)(h.A,{"aria-label":G("models.card.editAria"),onClick:b,children:(0,d.jsx)(q.A,{})}),(0,d.jsx)(h.A,{"aria-label":G("models.card.deleteAria"),onClick:c,children:(0,d.jsx)(r.A,{})}),B&&(0,d.jsx)(g.A,{title:G("models.card.moveTooltip"),arrow:!0,children:(0,d.jsx)(h.A,{"aria-label":G("models.card.moveAria"),onClick:a=>W(a.currentTarget),sx:{ml:"auto"},children:(0,d.jsx)(t.A,{})})})]}),B&&(0,d.jsx)(N.A,{anchorEl:V,open:!!V,currentFolder:z,folders:A,onClose:()=>W(null),onAssign:B}),(0,d.jsx)(M,{open:J,modelLabel:a.displayName||a.name,loading:P,result:R,error:T,onClose:()=>L(!1),onRetry:X})]})}},77598:a=>{"use strict";a.exports=require("node:crypto")},78474:a=>{"use strict";a.exports=require("node:events")},79428:a=>{"use strict";a.exports=require("buffer")},79551:a=>{"use strict";a.exports=require("url")},79646:a=>{"use strict";a.exports=require("child_process")},79748:a=>{"use strict";a.exports=require("fs/promises")},80481:a=>{"use strict";a.exports=require("node:readline")},81630:a=>{"use strict";a.exports=require("http")},83997:a=>{"use strict";a.exports=require("tty")},84297:a=>{"use strict";a.exports=require("async_hooks")},85557:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(11801),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1M8 13h8v-2H8zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5"}),"Link")},85838:(a,b,c)=>{"use strict";c.d(b,{A:()=>A});var d=c(21124),e=c(38301),f=c(81637),g=c(79515),h=c(48317),i=c(7499),j=c(54573),k=c(9604),l=c(22813),m=c(28055),n=c(49938),o=c(42819),p=c(80518),q=c(50551);c(43010);var r=c(18305);let s=(0,o.h)("frontend/components/shared/PromptBuilder"),t=({server:a,name:b})=>{let{t:c}=(0,r.s9)(),f="handoff"===a,[g,h]=(0,e.useState)(null),[i,j]=(0,e.useState)(!0);return((0,e.useEffect)(()=>{let c=!1;return(async()=>{try{j(!0);let d=await m.S.listServerTools(a),e=d.tools?.find(a=>a.name===b);c||h(e||null)}catch(c){s.error(`Failed to fetch tool info for ${a}:${b}`,c)}finally{c||j(!1)}})(),()=>{c=!0}},[a,b]),i)?(0,d.jsx)("span",{className:`tool-reference-preview loading ${f?"handoff":""}`,children:`tool:${a}__${b}`}):g?(0,d.jsx)("span",{className:`tool-reference-preview ${f?"handoff":""}`,children:c("promptBuilder.toolPreview",{kind:c(f?"promptBuilder.kind.handoff":"promptBuilder.kind.tool"),reference:`tool:${a}__${b}`,description:g.description||c("promptBuilder.noDescription")})}):(0,d.jsx)("span",{className:`tool-reference-preview not-found ${f?"handoff":""}`,children:c("promptBuilder.notFound",{reference:`tool:${a}__${b}`})})},u=({server:a,name:b})=>{let{t:c}=(0,r.s9)(),[f,g]=(0,e.useState)(null),[h,i]=(0,e.useState)(!0);return((0,e.useEffect)(()=>{let c=!1;return(async()=>{try{i(!0);let d=await m.S.listServerResources(a),e=[...d.resources||[],...d.resourceTemplates||[]].find(a=>a.uri===b||a.uriTemplate===b);c||g(e?.description||e?.name||null)}catch(c){s.error(`Failed to fetch resource info for ${a}:${b}`,c)}finally{c||i(!1)}})(),()=>{c=!0}},[a,b]),h)?(0,d.jsx)("span",{className:"tool-reference-preview loading resource",children:`resource:${a}__${b}`}):(0,d.jsx)("span",{className:"tool-reference-preview resource",children:c("promptBuilder.resourcePreview",{name:b,server:a,description:f?` (${f})`:""})})},v=({name:a})=>{let{t:b}=(0,r.s9)();return(0,d.jsx)("span",{className:"tool-reference-preview runres",children:b("promptBuilder.tempPreview",{name:a})})},w=({name:a})=>{let{t:b}=(0,r.s9)();return(0,d.jsx)("span",{className:"tool-reference-preview global",children:b("promptBuilder.globalPreview",{reference:`\${global:${a}}`})})},x=({binding:a})=>"global"===a.kind?(0,d.jsx)(w,{name:a.name}):"runres"===a.kind?(0,d.jsx)(v,{name:a.name}):"resource"===a.kind?(0,d.jsx)(u,{server:a.server,name:a.name}):(0,d.jsx)(t,{server:a.server,name:a.name}),y=({value:a})=>{let b=[],c=0;for(let d of(0,p.sE)(a))d.index>c&&b.push({type:"text",value:a.slice(c,d.index)}),b.push({type:"binding",binding:d,key:d.index}),c=d.index+d.fullMatch.length;c<a.length&&b.push({type:"text",value:a.slice(c)});let e=[],f=[],g=()=>{e.push((0,d.jsx)("p",{children:f},`p-${e.length}`)),f=[]};for(let a of b)if("text"===a.type){let b=a.value.split("\n");for(let a=0;a<b.length;a++)f.push(b[a]),a<b.length-1&&g()}else f.push((0,d.jsx)(x,{binding:a.binding},`binding-${a.key}`));return(f.length>0||0===e.length)&&g(),(0,d.jsx)("div",{className:"preview-content",children:e})},z=(0,e.forwardRef)(({value:a,onChange:b,label:c,height:m=300,onModeChange:o,customPreviewRenderer:s,suggestions:t=[]},u)=>{let{t:v}=(0,r.s9)(),w=c??v("promptBuilder.title"),{globalEnvVars:x}=(0,n.rX)(),z=(0,e.useMemo)(()=>Object.entries(x).filter(([,a])=>!a.metadata?.isSecret).map(([a])=>a).sort((a,b)=>a.localeCompare(b)),[x]),A=(0,e.useMemo)(()=>[...t,...z.map(a=>(0,p.Ub)({kind:"global",server:"",name:a},a))],[z,t]),B=(0,e.useRef)(null),[C,D]=(0,e.useState)("raw");return(0,e.useImperativeHandle)(u,()=>({insertText:a=>B.current?.insertText(a),getMode:()=>C}),[C]),(0,d.jsxs)(f.default,{sx:{width:"100%",height:"100%",display:"flex",flexDirection:"column"},children:[w&&(0,d.jsx)(g.A,{variant:"subtitle1",gutterBottom:!0,sx:{fontWeight:"medium",mb:1},children:w}),(0,d.jsx)(f.default,{sx:{mb:1},children:(0,d.jsxs)(h.A,{value:C,exclusive:!0,onChange:(a,b)=>{b&&(D(b),o?.(b))},size:"small",children:[(0,d.jsxs)(i.A,{value:"raw",children:[(0,d.jsx)(k.A,{fontSize:"small",sx:{mr:.5}}),v("promptBuilder.raw")]}),(0,d.jsxs)(i.A,{value:"preview",children:[(0,d.jsx)(l.A,{fontSize:"small",sx:{mr:.5}}),v("promptBuilder.preview")]})]})}),(0,d.jsx)(j.A,{elevation:0,sx:{border:"1px solid rgba(0, 0, 0, 0.12)",borderRadius:1,overflow:"visible",flexGrow:1,display:"flex",flexDirection:"column"},children:"raw"===C?(0,d.jsx)(f.default,{className:"slate-editor-container",sx:{height:"number"==typeof m?m:"100%",overflow:"visible",p:2},children:(0,d.jsx)(q.Ay,{ref:B,value:a,onChange:b,suggestions:A,placeholder:v("promptBuilder.placeholder"),bare:!0,minRows:4,containerSx:{height:"100%"},ariaLabel:w||v("promptBuilder.editorAria")})}):s?(0,d.jsx)(f.default,{className:"custom-preview-container",sx:{height:"number"==typeof m?m:"100%",overflow:"auto"},children:s()}):(0,d.jsx)(f.default,{className:"preview-container",sx:{height:"number"==typeof m?m:"100%",overflow:"auto",p:2},children:(0,d.jsx)(y,{value:a})})})]})});z.displayName="PromptBuilder";let A=z},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},91177:(a,b,c)=>{Promise.resolve().then(c.bind(c,81637)),Promise.resolve().then(c.bind(c,8521))},91645:a=>{"use strict";a.exports=require("net")},91959:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"4003ce37366709f5add0c98a6e32e47a1006fd7c7d":()=>d.V,"605caa1e030009a4bc7e820854ff481d3e0295325d":()=>d.resolveGlobalVars,"6061ed6d99a98b5d9f5d2d15065caab0a27d6a8987":()=>d.G});var d=c(73456)},92093:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>j});var d=c(21124),e=c(81637),f=c(79515),g=c(68730);c(38301);var h=c(42819),i=c(18305);function j({error:a,reset:b}){let{t:c}=(0,i.s9)();return(0,d.jsxs)(e.default,{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%",p:4,children:[(0,d.jsx)(f.A,{variant:"h6",color:"error",gutterBottom:!0,children:c("models.error.title")}),(0,d.jsx)(f.A,{color:"text.secondary",sx:{mb:2},children:a.message||c("models.error.description")}),(0,d.jsx)(e.default,{sx:{display:"flex",gap:2},children:(0,d.jsx)(g.A,{variant:"contained",onClick:b,children:c("common.tryAgain")})})]})}(0,h.h)("app/models/error")},92173:(a,b,c)=>{"use strict";c.d(b,{RJ:()=>e,gF:()=>d});let d="masked:********",e="********"},92675:(a,b,c)=>{"use strict";c.d(b,{De:()=>m,E1:()=>j,Zl:()=>i,bZ:()=>k,xI:()=>l});var d=c(50846),e=c(49680),f=c(20433);let g=(0,d.h)("app/api/model/model-adapter");function h(a){let b={...a};return b.ApiKey&&!b.ApiKey.startsWith("${global:")&&(b.ApiKey=e.RJ),b}async function i(){g.debug("loadModels: Delegating to backend service");let a=await f.modelService.listModels();return a.success&&a.models&&(a.models=a.models.map(h)),a}async function j(a){g.debug(`getModel: Delegating to backend service for model ID: ${a}`);try{let b=await f.modelService.getModel(a);if(!b)return{success:!1,error:`Model not found: ${a}`};return{success:!0,model:h(b)}}catch(b){return g.error(`getModel: Error getting model ${a}:`,b),{success:!1,error:b instanceof Error?b.message:"Failed to get model"}}}async function k(a){g.debug("addModel: Delegating to backend service");let b=await f.modelService.addModel(a);return b.success&&b.model&&(b.model=h(b.model)),b}async function l(a){g.debug("updateModel: Delegating to backend service");let b=await f.modelService.updateModel(a);return b.success&&b.model&&(b.model=h(b.model)),b}async function m(a){return g.debug("deleteModel: Delegating to backend service"),f.modelService.deleteModel(a)}},94735:a=>{"use strict";a.exports=require("events")},96955:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(11801),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreVert")},98995:a=>{"use strict";a.exports=require("node:module")}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[5873,9957,8298,3128,4322,5067,300,773,3954,8745,7674,8730,5642,3418,8897,3855,7883,8940,2372,8739,7821,1539,5096,566,9624,5444,1314,2069],()=>b(b.s=75465));module.exports=c})();
|