@pheem49/mint 1.15.0 → 1.16.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/Cargo.lock +1012 -69
- package/Cargo.toml +5 -2
- package/LICENSE +21 -654
- package/README.md +92 -817
- package/Release_Note.md +53 -560
- package/apps/mint-companion/src-tauri/Cargo.toml +20 -0
- package/apps/mint-companion/src-tauri/build.rs +3 -0
- package/apps/mint-companion/src-tauri/src/main.rs +468 -0
- package/apps/mint-companion/tsconfig.json +20 -0
- package/apps/mint-companion/vite.config.ts +3 -0
- package/components.json +19 -0
- package/crates/mint-cli/Cargo.toml +6 -0
- package/crates/mint-cli/src/agent/live_status.rs +187 -39
- package/crates/mint-cli/src/agent.rs +323 -95
- package/crates/mint-cli/src/commands/agent.rs +69 -55
- package/crates/mint-cli/src/commands/integrations.rs +7 -0
- package/crates/mint-cli/src/commands/knowledge.rs +12 -32
- package/crates/mint-cli/src/commands/mod.rs +44 -0
- package/crates/mint-cli/src/image.rs +31 -33
- package/crates/mint-cli/src/interactive/chat_tui.rs +3594 -483
- package/crates/mint-cli/src/interactive/input_box.rs +56 -6
- package/crates/mint-cli/src/interactive/slash_commands.rs +208 -56
- package/crates/mint-cli/src/interactive/tool_activity.rs +328 -0
- package/crates/mint-cli/src/interactive.rs +64 -40
- package/crates/mint-cli/src/main.rs +13 -7
- package/crates/mint-cli/src/mcp.rs +5 -0
- package/crates/mint-cli/src/mod_host.rs +6 -0
- package/crates/mint-cli/src/mods_cli.rs +62 -0
- package/crates/mint-cli/src/mods_ui.rs +187 -0
- package/crates/mint-cli/src/onboard.rs +5 -31
- package/crates/mint-cli/src/terminal_theme.rs +3 -1
- package/crates/mint-cli/src/updater.rs +56 -2
- package/crates/mint-cli/tests/library_intake.rs +77 -0
- package/crates/mint-cli/tests/mods_testing.rs +133 -0
- package/crates/mint-companion-protocol/Cargo.toml +10 -0
- package/crates/mint-companion-protocol/src/lib.rs +163 -0
- package/crates/mint-core/Cargo.toml +6 -3
- package/crates/mint-core/build.rs +26 -0
- package/crates/mint-core/src/agent/chat.rs +167 -39
- package/crates/mint-core/src/agent/code_tools.rs +15 -0
- package/crates/mint-core/src/agent/memory/sources.rs +240 -0
- package/crates/mint-core/src/agent/memory.rs +147 -13
- package/crates/mint-core/src/agent/skill_inventory.rs +325 -0
- package/crates/mint-core/src/agent/skills.rs +437 -90
- package/crates/mint-core/src/agent.rs +1 -0
- package/crates/mint-core/src/api_server/routes/background_jobs.rs +310 -0
- package/crates/mint-core/src/api_server/routes/chat.rs +216 -199
- package/crates/mint-core/src/api_server/routes/html_preview.rs +77 -0
- package/crates/mint-core/src/api_server/routes/library.rs +97 -0
- package/crates/mint-core/src/api_server/routes/media_gen.rs +10 -57
- package/crates/mint-core/src/api_server/routes/misc.rs +104 -107
- package/crates/mint-core/src/api_server/routes/mod.rs +6 -0
- package/crates/mint-core/src/api_server/routes/mods.rs +31 -0
- package/crates/mint-core/src/api_server/routes/sessions.rs +41 -0
- package/crates/mint-core/src/api_server/routes/skills_subagents.rs +12 -42
- package/crates/mint-core/src/api_server/routes/slash.rs +50 -1
- package/crates/mint-core/src/api_server/routes/sources.rs +101 -0
- package/crates/mint-core/src/api_server.rs +118 -9
- package/crates/mint-core/src/avatar_bridge.rs +11 -2
- package/crates/mint-core/src/browser/session.rs +52 -0
- package/crates/mint-core/src/companion.rs +716 -0
- package/crates/mint-core/src/cron/scheduler.rs +34 -2
- package/crates/mint-core/src/integrations/channels.rs +87 -345
- package/crates/mint-core/src/integrations/mcp.rs +397 -50
- package/crates/mint-core/src/integrations/mcp_calls.rs +823 -0
- package/crates/mint-core/src/integrations/mcp_catalog.rs +267 -0
- package/crates/mint-core/src/integrations/mcp_device.rs +319 -0
- package/crates/mint-core/src/integrations/mcp_result.rs +356 -0
- package/crates/mint-core/src/integrations/webhooks.rs +539 -0
- package/crates/mint-core/src/integrations.rs +2 -0
- package/crates/mint-core/src/lib.rs +85 -26
- package/crates/mint-core/src/media/gemini_live.rs +134 -14
- package/crates/mint-core/src/media/image_models.rs +3 -27
- package/crates/mint-core/src/media/image_workflow.rs +216 -0
- package/crates/mint-core/src/media/library/intake.rs +144 -0
- package/crates/mint-core/src/media/library/migration.rs +56 -0
- package/crates/mint-core/src/media/library/removal.rs +55 -0
- package/crates/mint-core/src/media/library/tests.rs +730 -0
- package/crates/mint-core/src/media/library/thumbnails.rs +72 -0
- package/crates/mint-core/src/media/library.rs +545 -0
- package/crates/mint-core/src/media/model_catalog.rs +375 -0
- package/crates/mint-core/src/media/pictures.rs +79 -222
- package/crates/mint-core/src/media/video_models.rs +3 -22
- package/crates/mint-core/src/media.rs +3 -0
- package/crates/mint-core/src/mods/manager.rs +1124 -0
- package/crates/mint-core/src/mods/mod.rs +569 -0
- package/crates/mint-core/src/mods/operations.rs +204 -0
- package/crates/mint-core/src/mods/session.rs +146 -0
- package/crates/mint-core/src/mods/slash.rs +59 -0
- package/crates/mint-core/src/mods/telemetry.rs +306 -0
- package/crates/mint-core/src/orchestration/approvals.rs +344 -0
- package/crates/mint-core/src/orchestration/context_render.rs +104 -0
- package/crates/mint-core/src/orchestration/mcp_review.rs +153 -0
- package/crates/mint-core/src/orchestration/memory_skill.rs +104 -32
- package/crates/mint-core/src/orchestration/mod.rs +2139 -244
- package/crates/mint-core/src/orchestration/mod_authoring_regressions.rs +209 -0
- package/crates/mint-core/src/orchestration/progress_clock.rs +80 -0
- package/crates/mint-core/src/orchestration/repeated_failures.rs +116 -0
- package/crates/mint-core/src/orchestration/review_regressions.rs +449 -0
- package/crates/mint-core/src/orchestration/run_control.rs +196 -0
- package/crates/mint-core/src/orchestration/tools/files.rs +161 -14
- package/crates/mint-core/src/orchestration/tools/media.rs +37 -41
- package/crates/mint-core/src/orchestration/tools/misc.rs +3 -2
- package/crates/mint-core/src/orchestration/tools/mod.rs +2 -0
- package/crates/mint-core/src/orchestration/tools/mods.rs +161 -0
- package/crates/mint-core/src/orchestration/tools/plugins_mcp.rs +303 -71
- package/crates/mint-core/src/orchestration/tools/shell.rs +95 -2
- package/crates/mint-core/src/orchestration/workspace_helpers.rs +4 -1
- package/crates/mint-core/src/prompts/agent.rs +17 -2
- package/crates/mint-core/src/prompts/tool_catalog.rs +28 -2
- package/crates/mint-core/src/search/knowledge.rs +7 -1
- package/crates/mint-core/src/search/linked_folders/index.rs +177 -13
- package/crates/mint-core/src/search/linked_folders.rs +83 -2
- package/crates/mint-core/src/slash/catalog.rs +1 -1
- package/crates/mint-core/src/slash/mod.rs +174 -11
- package/crates/mint-core/src/slash/mods.rs +155 -0
- package/crates/mint-core/src/system/bg_shell.rs +1129 -95
- package/crates/mint-core/src/system/config.rs +5 -10
- package/crates/mint-core/src/system/html_preview.rs +398 -0
- package/crates/mint-core/src/system/mint_web.rs +164 -0
- package/crates/mint-core/src/system/release_notes.rs +18 -0
- package/crates/mint-core/src/system/shell.rs +21 -6
- package/crates/mint-core/src/system/workspace.rs +72 -8
- package/crates/mint-core/src/system/workspace_history.rs +604 -0
- package/crates/mint-core/src/system.rs +4 -0
- package/crates/mint-core/tests/background_retention.rs +34 -0
- package/crates/mint-core/tests/background_shutdown.rs +24 -0
- package/crates/mint-core/tests/library_http.rs +209 -0
- package/crates/mint-core/tests/mcp_contract.rs +283 -0
- package/crates/mint-core/tests/mcp_stdio.rs +11 -10
- package/crates/mint-core/tests/media_model_catalog_http.rs +403 -0
- package/crates/mint-core/tests/mods_http.rs +215 -0
- package/crates/mint-core/tests/terminal_shutdown.rs +109 -0
- package/crates/mint-mod-runtime/Cargo.toml +18 -0
- package/crates/mint-mod-runtime/src/lib.rs +507 -0
- package/crates/mint-mod-runtime/src/sdk.js +56 -0
- package/crates/mint-mod-runtime/src/test_sdk.js +32 -0
- package/crates/mint-mod-runtime/src/testing.rs +94 -0
- package/crates/mint-mod-runtime/tests/runtime.rs +156 -0
- package/docs/mods/AUTHORING.md +61 -0
- package/docs/mods/README.md +139 -0
- package/docs/mods/TESTING.md +56 -0
- package/docs/mods/mint-mods.d.ts +66 -0
- package/examples/device-mcp/README.md +22 -0
- package/examples/device-mcp/contract.md +49 -0
- package/examples/device-mcp/mock-device.mjs +66 -0
- package/examples/device-mcp/server.mjs +48 -0
- package/examples/device-mcp/server.test.mjs +78 -0
- package/examples/mods/task-checklist/README.md +1 -0
- package/examples/mods/task-checklist/main.ts +17 -0
- package/examples/mods/task-checklist/manifest.json +1 -0
- package/examples/mods/task-checklist/tests/checklist.test.ts +15 -0
- package/examples/mods/token-meter/README.md +1 -0
- package/examples/mods/token-meter/main.ts +8 -0
- package/examples/mods/token-meter/manifest.json +1 -0
- package/examples/mods/tool-guard/README.md +1 -0
- package/examples/mods/tool-guard/main.ts +9 -0
- package/examples/mods/tool-guard/manifest.json +1 -0
- package/out/web/assets/CliSessionsView-CtzUJpK_.css +1 -0
- package/out/web/assets/CliSessionsView-D7hw0Mgj.js +1 -0
- package/out/web/assets/CodeReviewPage-C7bEOJfd.js +4 -0
- package/out/web/assets/CodeReviewPage-Dte9uLiL.css +1 -0
- package/out/web/assets/CommandPalette-0RrF-AOT.js +1 -0
- package/out/web/assets/ImageStudioPanel-CdxkAf_r.js +1 -0
- package/out/web/assets/LibraryPage--Qfisp6D.js +2 -0
- package/out/web/assets/LibraryPage-DAxUTAg7.css +1 -0
- package/out/web/assets/LinkedFoldersView-2nfZbDgN.js +1 -0
- package/out/web/assets/McpRegistryPicker-h9uS8_wT.js +1 -0
- package/out/web/assets/McpServersView-slfQJzNB.js +1 -0
- package/out/web/assets/MintDashboard-BSR5XpXh.js +25 -0
- package/out/web/assets/MintDashboard-CWUcCGhd.css +1 -0
- package/out/web/assets/PluginsView-l7LSm503.js +1 -0
- package/out/web/assets/ScheduledTasksView-CttmLbq1.js +1 -0
- package/out/web/assets/SettingsWindow-BCMLYvEV.js +4 -0
- package/out/web/assets/SettingsWindow-DcMVmU9u.css +1 -0
- package/out/web/assets/SkillsView-rNs1qr_U.js +2 -0
- package/out/web/assets/ToolSurfacePage-B9DzEPWN.js +37 -0
- package/out/web/assets/ToolSurfacePage-CTfgggF2.css +1 -0
- package/out/web/assets/VeoStudioPanel-DiJs_Cg2.js +4 -0
- package/out/web/assets/WorkspaceSelector-B2xIp04D.js +1 -0
- package/out/web/assets/WorkspaceSelector-Ca8uJOsS.css +1 -0
- package/out/web/assets/{abnfDiagram-VCTEODGH-ByMyfanq.js → abnfDiagram-VCTEODGH-CD0CjoGl.js} +1 -1
- package/out/web/assets/{architecture-7GRP2DOG-CLq2kEOB.js → architecture-7GRP2DOG-RKV83OeZ.js} +1 -1
- package/out/web/assets/{architectureDiagram-5GKGNRK7-6PoVSmNG.js → architectureDiagram-5GKGNRK7-nN_HAFct.js} +1 -1
- package/out/web/assets/{blockDiagram-NRAW4CY4-cKw9mAKi.js → blockDiagram-NRAW4CY4-BrrqzHW5.js} +1 -1
- package/out/web/assets/{c4Diagram-UCG6FXSJ-Cqy8N5Ge.js → c4Diagram-UCG6FXSJ-DTdV8_zE.js} +1 -1
- package/out/web/assets/{chunk-75Z2AOVW-3qybijF5.js → chunk-75Z2AOVW-_M0z5olV.js} +1 -1
- package/out/web/assets/chunk-CKBBP62Z-BpQEgeHF.js +2 -0
- package/out/web/assets/{chunk-CLGD4ZFX-CndDQkww.js → chunk-CLGD4ZFX-D54yGvGS.js} +1 -1
- package/out/web/assets/{chunk-DSNCTWBM-Cc4NxvgD.js → chunk-DSNCTWBM-C-gvT2ru.js} +1 -1
- package/out/web/assets/{chunk-DU6HZSFF-drzh6GsU.js → chunk-DU6HZSFF-CnFngIhW.js} +1 -1
- package/out/web/assets/{chunk-F27PBJKO-FiY35l4v.js → chunk-F27PBJKO-BqtWrnEO.js} +1 -1
- package/out/web/assets/{chunk-G27WJ6UU-Bjt9Il4A.js → chunk-G27WJ6UU-Ckoq5mi2.js} +1 -1
- package/out/web/assets/{chunk-GMAD6QVW-Bppi3Ctd.js → chunk-GMAD6QVW-BuhEcgHq.js} +1 -1
- package/out/web/assets/{chunk-JQ64N6SF-DGg5kcEV.js → chunk-JQ64N6SF-CF8T7GiZ.js} +1 -1
- package/out/web/assets/{chunk-LCL6LL3I-CCYcjd7p.js → chunk-LCL6LL3I-BhXV9zyH.js} +1 -1
- package/out/web/assets/{chunk-OBVCFTLP-DJeNil5M.js → chunk-OBVCFTLP-CRIkunUB.js} +1 -1
- package/out/web/assets/{chunk-P2QGCYS3-lRzkRjBB.js → chunk-P2QGCYS3-UFEU6BxZ.js} +1 -1
- package/out/web/assets/{chunk-POPQ4Y6H-DouASMBW.js → chunk-POPQ4Y6H-CQcrNbjr.js} +1 -1
- package/out/web/assets/{chunk-PWAF6VOD-DMmD1vVf.js → chunk-PWAF6VOD-Cc2uVDsG.js} +1 -1
- package/out/web/assets/{chunk-R7TYR2AO-CYLA5UC5.js → chunk-R7TYR2AO-DiCxzdAY.js} +1 -1
- package/out/web/assets/{chunk-RHFEMEQ7-BiXwEcUT.js → chunk-RHFEMEQ7-b7hnPmrR.js} +1 -1
- package/out/web/assets/{chunk-SVP7TREG-BV-zPslF.js → chunk-SVP7TREG-Bu_yYb-V.js} +1 -1
- package/out/web/assets/{chunk-TEH6E4GO-B2RGEohZ.js → chunk-TEH6E4GO-G4Cdlyrt.js} +1 -1
- package/out/web/assets/classDiagram-DTDB5LWJ-RnC2mYO4.js +1 -0
- package/out/web/assets/classDiagram-v2-JRS7N3AN-RnC2mYO4.js +1 -0
- package/out/web/assets/config-CnvCChUM.js +2 -0
- package/out/web/assets/config-DM6oIVO3.css +1 -0
- package/out/web/assets/core-DsKkQ7ig.js +1 -0
- package/out/web/assets/{cynefin-OW5HDTMX-Cas4csHM.js → cynefin-OW5HDTMX-CnzQfOGp.js} +1 -1
- package/out/web/assets/{cynefinDiagram-5FMLGOSQ-Bbpj66Y3.js → cynefinDiagram-5FMLGOSQ-DVtQnfpm.js} +1 -1
- package/out/web/assets/{dagre-3AP2YEHR-B0-2RDEd.js → dagre-3AP2YEHR-DG76_k5_.js} +1 -1
- package/out/web/assets/{diagram-S7CK7UJ4-BdzEjUyH.js → diagram-S7CK7UJ4-CaouUoze.js} +1 -1
- package/out/web/assets/{diagram-UQ7AKVKN-CJDwyPxF.js → diagram-UQ7AKVKN-B4bEc26B.js} +1 -1
- package/out/web/assets/{diagram-VSXAHHWV-BxaG1r_B.js → diagram-VSXAHHWV-BJ86Ov2Y.js} +1 -1
- package/out/web/assets/{diagram-VX7I27RA-BMmUqm8f.js → diagram-VX7I27RA-7hH5IPYf.js} +1 -1
- package/out/web/assets/{diagram-Z3DM3KII-CFtd03eE.js → diagram-Z3DM3KII-CCM4clo8.js} +1 -1
- package/out/web/assets/dist-js-BkYNznHX.js +1 -0
- package/out/web/assets/{ebnfDiagram-PWID7BFC-DwAen1hO.js → ebnfDiagram-PWID7BFC-Da7WAM3k.js} +1 -1
- package/out/web/assets/{erDiagram-SSCWMZ5O-BCZSHACj.js → erDiagram-SSCWMZ5O-CzzmnZWT.js} +1 -1
- package/out/web/assets/{event-ChBVpRy0.js → event-Cdt7Byyj.js} +1 -1
- package/out/web/assets/{eventmodeling-NTZA5JFV-XHStE4E_.js → eventmodeling-NTZA5JFV-xcfsA0XD.js} +1 -1
- package/out/web/assets/flowDiagram-A5DVABFB-JdtH1673.js +1 -0
- package/out/web/assets/{ganttDiagram-EL5Y4UJY-BAEu1Cql.js → ganttDiagram-EL5Y4UJY-B3ClFGmL.js} +1 -1
- package/out/web/assets/{gitGraph-4MIJSDKK-r32Vyper.js → gitGraph-4MIJSDKK-BZ_y_cDU.js} +1 -1
- package/out/web/assets/{gitGraphDiagram-WWUBYQGX-z9o9qt6V.js → gitGraphDiagram-WWUBYQGX-drhRSYm3.js} +1 -1
- package/out/web/assets/index-BZ9xgmMP.css +1 -0
- package/out/web/assets/index-Ca8cCS4h.js +168 -0
- package/out/web/assets/{info-A6RAGUB7-BvLaC2cw.js → info-A6RAGUB7-B7I3K0F1.js} +1 -1
- package/out/web/assets/{infoDiagram-RXCK75RN-Be6WAXXw.js → infoDiagram-RXCK75RN-deX_1MPh.js} +1 -1
- package/out/web/assets/{ishikawaDiagram-5VMMS53U-DZjoHJHC.js → ishikawaDiagram-5VMMS53U-s38yo28y.js} +1 -1
- package/out/web/assets/{journeyDiagram-EYS64GPL-CtVkjkGm.js → journeyDiagram-EYS64GPL-CZn2kB8b.js} +1 -1
- package/out/web/assets/jsx-runtime-DN4NhQUK.js +1 -0
- package/out/web/assets/{kanban-definition-3QL26DDD-CW5FMv1w.js → kanban-definition-3QL26DDD-DodjgySL.js} +1 -1
- package/out/web/assets/markdown-CMhYIcWB.js +39 -0
- package/out/web/assets/{mermaid-parser.core-aUgCqsZ5.js → mermaid-parser.core-Whu2rlJC.js} +3 -3
- package/out/web/assets/{mermaid.core-D57sEiSL.js → mermaid.core-CKyPo8VH.js} +4 -4
- package/out/web/assets/{mindmap-definition-FBJOCRG2-DAmSpM3a.js → mindmap-definition-FBJOCRG2-260WBDxZ.js} +1 -1
- package/out/web/assets/modelManager-CUaGWMWu.js +2 -0
- package/out/web/assets/{oauthManager-9jxicDWJ.js → oauthManager-DlNhXJr6.js} +1 -1
- package/out/web/assets/{packet-AYTQ26CC-DJ27iIoJ.js → packet-AYTQ26CC-CEeIRKRG.js} +1 -1
- package/out/web/assets/{pegDiagram-XKGWAZYB-Bj3ii-gS.js → pegDiagram-XKGWAZYB-BYadI-KO.js} +1 -1
- package/out/web/assets/{pie-WAS4IAKB-DG5mCUbc.js → pie-WAS4IAKB-D8uf4dh5.js} +1 -1
- package/out/web/assets/{pieDiagram-E7YTZNPT-BrJLPnDA.js → pieDiagram-E7YTZNPT-CjSDy4hO.js} +1 -1
- package/out/web/assets/{quadrantDiagram-AXDQQJYC-3x_TmF3j.js → quadrantDiagram-AXDQQJYC-B8D3gU5d.js} +1 -1
- package/out/web/assets/{radar-RG4KPBEZ-CrXaTTuV.js → radar-RG4KPBEZ-DZJxnokY.js} +1 -1
- package/out/web/assets/{railroad-74A4TZTK-BpqMH9BE.js → railroad-74A4TZTK-DBysUiUi.js} +1 -1
- package/out/web/assets/{railroad-abnf-HS5TGJTU-DHI0uLlV.js → railroad-abnf-HS5TGJTU-CHWxoJYg.js} +1 -1
- package/out/web/assets/{railroad-ebnf-LZEXJU2U-CQCb316y.js → railroad-ebnf-LZEXJU2U-DDv7X6bY.js} +1 -1
- package/out/web/assets/{railroad-peg-WCYAUIDC-Ph1giKkH.js → railroad-peg-WCYAUIDC-DpfcYYNJ.js} +1 -1
- package/out/web/assets/{railroadDiagram-O6MQD6OU-BRq6wIxx.js → railroadDiagram-O6MQD6OU-CYtyv0t3.js} +1 -1
- package/out/web/assets/{requirementDiagram-EFPCY7ZU-DIJj6G1g.js → requirementDiagram-EFPCY7ZU-D2X-Ewik.js} +1 -1
- package/out/web/assets/{sankeyDiagram-P5KCCOFB-DZajSryq.js → sankeyDiagram-P5KCCOFB-Bn2x6C4Y.js} +1 -1
- package/out/web/assets/{sequenceDiagram-WJ2MYXX4-DxJCWyZS.js → sequenceDiagram-WJ2MYXX4-BvFLKtPd.js} +1 -1
- package/out/web/assets/{stateDiagram-HBIQ2CUA-k6voi8Vf.js → stateDiagram-HBIQ2CUA-Bx0GWeaY.js} +1 -1
- package/out/web/assets/stateDiagram-v2-4QOOHH4V--hol1yg_.js +1 -0
- package/out/web/assets/{swimlanes-XN3QIQJK-igYhTjXB.js → swimlanes-XN3QIQJK-CCma0T7L.js} +1 -1
- package/out/web/assets/swimlanesDiagram-VK2B7HYN-BkohoVsU.js +8 -0
- package/out/web/assets/{timeline-definition-24CTP7MA-Dke2p93p.js → timeline-definition-24CTP7MA-iCRhhJ7C.js} +1 -1
- package/out/web/assets/{treeView-Q6P3EWNA-hNELnXUs.js → treeView-Q6P3EWNA-DZ-y08qp.js} +1 -1
- package/out/web/assets/{treemap-WGGIJYW6-D2B6wDsx.js → treemap-WGGIJYW6-De0CxzMx.js} +1 -1
- package/out/web/assets/{vennDiagram-4TSXK5OY-CDkW7rUP.js → vennDiagram-4TSXK5OY-w_7aZ6xe.js} +1 -1
- package/out/web/assets/{wardley-WFR3VGLG-BECdXETi.js → wardley-WFR3VGLG-DT0y0xJ4.js} +1 -1
- package/out/web/assets/{wardleyDiagram-VM6X3IG4-B5BycpQ4.js → wardleyDiagram-VM6X3IG4-DAdXELbQ.js} +1 -1
- package/out/web/assets/window-BJCVtyET.js +1 -0
- package/out/web/assets/{xychartDiagram-S5SC5T6Z-CtJS3b--.js → xychartDiagram-S5SC5T6Z-IZIXf3Vo.js} +1 -1
- package/out/web/index-web.html +3 -2
- package/out/web/index.html +3 -2
- package/package.json +71 -22
- package/shared-modules/.github/workflows/ci.yml +120 -0
- package/shared-modules/.github/workflows/update.yaml +28 -0
- package/slash-commands.json +7 -2
- package/src/bin/auto-build.js +66 -0
- package/src/bin/desktop.js +113 -0
- package/src/bin/desktop.test.js +113 -0
- package/src/bin/index.js +18 -25
- package/src/bin/index.test.js +89 -0
- package/src/bin/measure-effects.mjs +53 -0
- package/src/bin/package.test.js +28 -0
- package/src/bin/release-notes.test.js +84 -0
- package/src/bin/styles.test.js +20 -0
- package/src/bin/web.js +5 -0
- package/src/bin/web.test.js +39 -0
- package/src/renderer/index.html +0 -2
- package/src/renderer/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
- package/src/renderer/shared/agentProgress.ts +33 -0
- package/src/renderer/shared/components/AgentActivityDrawer.tsx +3 -2
- package/src/renderer/shared/components/AgentActivityTable.tsx +1 -1
- package/src/renderer/shared/components/ApprovalCard.test.tsx +24 -0
- package/src/renderer/shared/components/ApprovalCard.tsx +10 -3
- package/src/renderer/shared/components/ArtifactPreviewPanel.tsx +88 -37
- package/src/renderer/shared/components/AuthGate.tsx +75 -39
- package/src/renderer/shared/components/BackgroundTerminals.tsx +181 -0
- package/src/renderer/shared/components/ChatCodeBlock.tsx +8 -4
- package/src/renderer/shared/components/ChatMessageItem.test.tsx +68 -0
- package/src/renderer/shared/components/ChatMessageItem.tsx +36 -16
- package/src/renderer/shared/components/ChatPanel.test.tsx +21 -0
- package/src/renderer/shared/components/ChatPanel.tsx +294 -272
- package/src/renderer/shared/components/ChunkErrorBoundary.tsx +4 -102
- package/src/renderer/shared/components/CliSessionsView.test.tsx +125 -0
- package/src/renderer/shared/components/CliSessionsView.tsx +61 -13
- package/src/renderer/shared/components/CodeReviewPage.tsx +111 -8
- package/src/renderer/shared/components/CollapsiblePasteInput.tsx +90 -0
- package/src/renderer/shared/components/ContextCompactionStatus.tsx +17 -0
- package/src/renderer/shared/components/DashboardSidebar.tsx +15 -128
- package/src/renderer/shared/components/DesktopTitlebar.tsx +45 -19
- package/src/renderer/shared/components/ErrorNotice.tsx +29 -0
- package/src/renderer/shared/components/FormattedMessage.tsx +11 -0
- package/src/renderer/shared/components/GeminiLiveOverlay.css +86 -0
- package/src/renderer/shared/components/GeminiLiveOverlay.test.tsx +24 -0
- package/src/renderer/shared/components/GeminiLiveOverlay.tsx +85 -101
- package/src/renderer/shared/components/GlideSelect.css +138 -0
- package/src/renderer/shared/components/GlideSelect.d.ts +31 -0
- package/src/renderer/shared/components/GlideSelect.jsx +266 -0
- package/src/renderer/shared/components/ImageSearchCard.tsx +46 -56
- package/src/renderer/shared/components/ImageStudioPanel.tsx +9 -8
- package/src/renderer/shared/components/LibraryItemCard.tsx +72 -0
- package/src/renderer/shared/components/LibraryPage.tsx +165 -0
- package/src/renderer/shared/components/LibraryPreview.tsx +59 -0
- package/src/renderer/shared/components/McpServersView.tsx +27 -8
- package/src/renderer/shared/components/McpToolAllowlist.tsx +2 -4
- package/src/renderer/shared/components/McpToolResults.tsx +99 -0
- package/src/renderer/shared/components/MintDashboard.tsx +308 -770
- package/src/renderer/shared/components/ModSessionControls.tsx +8 -0
- package/src/renderer/shared/components/ModUi.test.tsx +65 -0
- package/src/renderer/shared/components/ModUi.tsx +26 -0
- package/src/renderer/shared/components/ModelSelectorPopover.tsx +14 -7
- package/src/renderer/shared/components/ModsPanel.tsx +156 -0
- package/src/renderer/shared/components/ProgressActivity.tsx +17 -0
- package/src/renderer/shared/components/ReviewHistory.tsx +42 -0
- package/src/renderer/shared/components/RewindModal.tsx +5 -12
- package/src/renderer/shared/components/RunSummaryDashboard.tsx +6 -12
- package/src/renderer/shared/components/ScheduledTasksView.tsx +7 -6
- package/src/renderer/shared/components/SelectField.test.tsx +27 -0
- package/src/renderer/shared/components/SelectField.tsx +38 -0
- package/src/renderer/shared/components/SessionSources.tsx +48 -0
- package/src/renderer/shared/components/SessionSourcesPopover.tsx +61 -0
- package/src/renderer/shared/components/Settings/AgentsTab.tsx +7 -6
- package/src/renderer/shared/components/Settings/AudioTab.tsx +8 -7
- package/src/renderer/shared/components/Settings/AutomationTab.tsx +2 -2
- package/src/renderer/shared/components/Settings/GeneralTab.tsx +33 -32
- package/src/renderer/shared/components/Settings/MemoryTab.test.tsx +37 -0
- package/src/renderer/shared/components/Settings/MemoryTab.tsx +71 -31
- package/src/renderer/shared/components/Settings/NotificationsTab.test.tsx +15 -0
- package/src/renderer/shared/components/Settings/NotificationsTab.tsx +84 -0
- package/src/renderer/shared/components/Settings/ThemeTab.tsx +19 -11
- package/src/renderer/shared/components/SlashChoicePanel.tsx +88 -0
- package/src/renderer/shared/components/SlashSuggestions.test.tsx +33 -0
- package/src/renderer/shared/components/SlashSuggestions.tsx +38 -10
- package/src/renderer/shared/components/SourcesBlock.tsx +12 -20
- package/src/renderer/shared/components/ToolSurfacePage.test.tsx +32 -0
- package/src/renderer/shared/components/ToolSurfacePage.tsx +59 -11
- package/src/renderer/shared/components/ToolsPanelToggle.tsx +13 -0
- package/src/renderer/shared/components/VeoStudioPanel.tsx +9 -8
- package/src/renderer/shared/components/ViewedImages.tsx +36 -0
- package/src/renderer/shared/components/VirtualChatHistory.tsx +82 -0
- package/src/renderer/shared/components/VoicePill.css +85 -0
- package/src/renderer/shared/components/VoicePill.d.ts +12 -0
- package/src/renderer/shared/components/VoicePill.jsx +190 -0
- package/src/renderer/shared/components/VoicePill.test.tsx +22 -0
- package/src/renderer/shared/components/WorkspaceContextPopover.tsx +20 -15
- package/src/renderer/shared/components/WorkspacePaneResizer.tsx +92 -0
- package/src/renderer/shared/components/WorkspacePreviewActions.test.tsx +44 -0
- package/src/renderer/shared/components/WorkspacePreviewActions.tsx +19 -0
- package/src/renderer/shared/components/WorkspaceSelector.tsx +13 -8
- package/src/renderer/shared/components/background-terminals.css +292 -0
- package/src/renderer/shared/components/ui/README.md +52 -0
- package/src/renderer/shared/components/ui/button.tsx +37 -0
- package/src/renderer/shared/components/ui/demo.tsx +26 -0
- package/src/renderer/shared/components/ui/error-recovery.css +35 -0
- package/src/renderer/shared/components/ui/error-recovery.tsx +35 -0
- package/src/renderer/shared/components/ui/voice-powered-orb.css +6 -0
- package/src/renderer/shared/components/ui/voice-powered-orb.tsx +374 -0
- package/src/renderer/shared/components/workspace-selector.css +248 -0
- package/src/renderer/shared/constants/config.ts +30 -1
- package/src/renderer/shared/constants/slashCommands.ts +1 -1
- package/src/renderer/shared/conversation/lifecycle.test.ts +362 -0
- package/src/renderer/shared/conversation/lifecycle.ts +418 -0
- package/src/renderer/shared/conversation/projectNavigation.test.ts +105 -0
- package/src/renderer/shared/conversation/projectNavigation.ts +39 -0
- package/src/renderer/shared/conversation/sourcesTransport.ts +27 -0
- package/src/renderer/shared/conversation/syncView.test.ts +1 -34
- package/src/renderer/shared/conversation/syncView.ts +0 -37
- package/src/renderer/shared/conversation/transport.test.ts +163 -0
- package/src/renderer/shared/conversation/transport.ts +159 -0
- package/src/renderer/shared/conversation/useConversationCoordinator.ts +30 -72
- package/src/renderer/shared/css/agent-observability.css +20 -21
- package/src/renderer/shared/css/auth-gate.css +112 -13
- package/src/renderer/shared/css/code-review.css +33 -0
- package/src/renderer/shared/css/code-sessions.css +27 -0
- package/src/renderer/shared/css/collapsed-paste.css +35 -0
- package/src/renderer/shared/css/effects.css +15 -0
- package/src/renderer/shared/css/error-notice.css +60 -0
- package/src/renderer/shared/css/library.css +476 -0
- package/src/renderer/shared/css/management-views.css +138 -0
- package/src/renderer/shared/css/mcp-results.css +11 -0
- package/src/renderer/shared/css/model-selector.css +163 -105
- package/src/renderer/shared/css/mods.css +77 -0
- package/src/renderer/shared/css/notification-notice.css +28 -0
- package/src/renderer/shared/css/session-sources-popover.css +9 -0
- package/src/renderer/shared/css/session-sources.css +23 -0
- package/src/renderer/shared/css/settings/memory.css +154 -0
- package/src/renderer/shared/css/settings/notifications.css +11 -0
- package/src/renderer/shared/css/settings/theme.css +5 -0
- package/src/renderer/shared/css/slash-choice.css +95 -0
- package/src/renderer/shared/css/slash-suggestions.css +68 -0
- package/src/renderer/shared/css/sources-block.css +91 -0
- package/src/renderer/shared/css/thinking-status.css +46 -0
- package/src/renderer/shared/css/tools-panel.css +7 -0
- package/src/renderer/shared/css/ui-tailwind.css +19 -0
- package/src/renderer/shared/css/viewed-images.css +15 -0
- package/src/renderer/shared/fonts.css +46 -0
- package/src/renderer/shared/fonts.ts +3 -12
- package/src/renderer/shared/lib/utils.ts +6 -0
- package/src/renderer/shared/library/controller.test.ts +61 -0
- package/src/renderer/shared/library/controller.ts +57 -0
- package/src/renderer/shared/library/transport.test.ts +26 -0
- package/src/renderer/shared/library/transport.ts +60 -0
- package/src/renderer/shared/library/useLibraryFile.ts +38 -0
- package/src/renderer/shared/mods.ts +58 -0
- package/src/renderer/shared/platform.test.ts +57 -1
- package/src/renderer/shared/platform.ts +46 -1
- package/src/renderer/shared/theme/themeManager.test.ts +43 -0
- package/src/renderer/shared/theme/themeManager.ts +17 -4
- package/src/renderer/shared/types.ts +56 -2
- package/src/renderer/shared/utils/agentActivity.test.ts +75 -0
- package/src/renderer/shared/utils/agentActivity.ts +42 -3
- package/src/renderer/shared/utils/approval.tsx +7 -0
- package/src/renderer/shared/utils/artifactBrowser.test.ts +80 -0
- package/src/renderer/shared/utils/artifactBrowser.ts +41 -0
- package/src/renderer/shared/utils/contextCompaction.test.tsx +48 -0
- package/src/renderer/shared/utils/contextCompaction.ts +21 -0
- package/src/renderer/shared/utils/effectVisibility.ts +9 -0
- package/src/renderer/shared/utils/markdown.tsx +3 -3
- package/src/renderer/shared/utils/mcpResults.test.tsx +91 -0
- package/src/renderer/shared/utils/modViewport.ts +7 -0
- package/src/renderer/shared/utils/nativeRecordingSession.test.ts +61 -0
- package/src/renderer/shared/utils/nativeRecordingSession.ts +46 -0
- package/src/renderer/shared/utils/notificationSettings.test.ts +14 -0
- package/src/renderer/shared/utils/notificationSettings.ts +23 -0
- package/src/renderer/shared/utils/notifications.test.ts +51 -0
- package/src/renderer/shared/utils/notifications.ts +54 -0
- package/src/renderer/shared/utils/pastedText.test.ts +20 -0
- package/src/renderer/shared/utils/pastedText.ts +13 -0
- package/src/renderer/shared/utils/progressCache.test.ts +32 -0
- package/src/renderer/shared/utils/sessionSources.test.ts +31 -0
- package/src/renderer/shared/utils/sessionSources.ts +34 -0
- package/src/renderer/shared/utils/slashCommandProcessor.ts +1 -1
- package/src/renderer/shared/utils/sourceAttachments.ts +28 -0
- package/src/renderer/shared/utils/speech.ts +51 -9
- package/src/renderer/shared/utils/syntaxHighlight.test.tsx +22 -0
- package/src/renderer/shared/utils/syntaxHighlight.tsx +26 -0
- package/src/renderer/shared/utils/useGeminiLiveVoice.ts +49 -5
- package/src/renderer/shared/utils/useLatestCallback.ts +9 -0
- package/src/renderer/shared/utils/useNativeVoiceInput.ts +80 -72
- package/src/renderer/shared/utils/useSessionSources.ts +33 -0
- package/src/renderer/shared/utils/viewedImages.ts +26 -0
- package/src/renderer/shared/utils/workspacePane.test.ts +33 -0
- package/src/renderer/shared/utils/workspacePane.ts +20 -0
- package/src/renderer/shared/utils/workspacePreview.test.ts +24 -0
- package/src/renderer/shared/utils/workspacePreview.ts +16 -0
- package/src/renderer/shared/utils/workspaceSnapshot.test.ts +49 -0
- package/src/renderer/shared/utils/workspaceSnapshot.ts +26 -0
- package/src/renderer/shared/utils/workspaces.ts +10 -0
- package/src/renderer/shared/workspaceUndo.ts +88 -0
- package/src/renderer/src/App.tsx +9 -1
- package/src/renderer/src/components/LiveTranslateControls.tsx +65 -0
- package/src/renderer/src/components/PicturesLibrary.tsx +2 -288
- package/src/renderer/src/components/ScreenPicker.css +67 -30
- package/src/renderer/src/components/ScreenPicker.tsx +201 -60
- package/src/renderer/src/components/SettingsWindow.tsx +10 -5
- package/src/renderer/src/components/WorkspacePanel.tsx +222 -32
- package/src/renderer/src/components/browser-shell.css +1 -1
- package/src/renderer/src/components/browser-suggestions-popup.css +1 -1
- package/src/renderer/src/components/liveTranslateFrames.test.ts +26 -5
- package/src/renderer/src/components/liveTranslateFrames.ts +18 -7
- package/src/renderer/src/components/liveTranslateLanguage.ts +6 -0
- package/src/renderer/src/css/app-shell.css +52 -137
- package/src/renderer/src/css/chat.css +21 -495
- package/src/renderer/src/css/desktop-tools.css +199 -1
- package/src/renderer/src/css/misc.css +0 -52
- package/src/renderer/src/css/pictures.css +2 -415
- package/src/renderer/src/css/settings/base.css +50 -47
- package/src/renderer/src/css/sidebar-workspace.css +151 -94
- package/src/renderer/src/css/tool-surfaces.css +65 -9
- package/src/renderer/src/css/widget.css +1 -1
- package/src/renderer/src/env.d.ts +1 -9
- package/src/renderer/src/index.css +1 -1
- package/src/renderer/src/main.tsx +2 -1
- package/src/renderer/src/proactiveSuggestions.ts +29 -0
- package/src/renderer/src/tauri.ts +122 -330
- package/src/renderer/src/voiceInput.ts +2 -1
- package/src/renderer/src-web/components/PicturesLibrary.tsx +2 -285
- package/src/renderer/src-web/components/PullToRefresh.tsx +1 -1
- package/src/renderer/src-web/components/SettingsWindow.tsx +10 -5
- package/src/renderer/src-web/css/app-shell.css +24 -121
- package/src/renderer/src-web/css/chat.css +21 -495
- package/src/renderer/src-web/css/misc.css +0 -52
- package/src/renderer/src-web/css/mobile.css +15 -14
- package/src/renderer/src-web/css/pictures.css +2 -462
- package/src/renderer/src-web/css/settings/base.css +50 -47
- package/src/renderer/src-web/css/sidebar-workspace.css +9 -95
- package/src/renderer/src-web/css/widget.css +1 -1
- package/src/renderer/src-web/env.d.ts +1 -12
- package/src/renderer/src-web/index.css +1 -1
- package/src/renderer/src-web/main.tsx +2 -1
- package/src/renderer/src-web/proactiveSuggestions.ts +3 -0
- package/src/renderer/src-web/tauri.ts +129 -354
- package/src/renderer/tests/backgroundTerminals.browser.html +81 -0
- package/src/renderer/tests/chatPanelFixture.ts +23 -0
- package/src/renderer/tests/chatPerformance.browser.html +71 -0
- package/src/renderer/tests/cliSessions.browser.html +82 -0
- package/src/renderer/tests/collapsedPaste.browser.html +70 -0
- package/src/renderer/tests/composerMenus.browser.html +116 -0
- package/src/renderer/tests/contextCompaction.browser.html +17 -0
- package/src/renderer/tests/conversationLifecycle.browser.html +70 -0
- package/src/renderer/tests/effectsPerformance.browser.html +13 -0
- package/src/renderer/tests/errorRecovery.browser.html +21 -0
- package/src/renderer/tests/glideSelect.browser.html +71 -0
- package/src/renderer/tests/glideSelect.preview.html +27 -0
- package/src/renderer/tests/library.browser.html +1 -0
- package/src/renderer/tests/library.browser.tsx +78 -0
- package/src/renderer/tests/liveOrb.browser.html +49 -0
- package/src/renderer/tests/liveVoice.browser.html +29 -0
- package/src/renderer/tests/modInput.browser.html +22 -0
- package/src/renderer/tests/sessionSources.browser.html +1 -0
- package/src/renderer/tests/sessionSources.browser.tsx +107 -0
- package/src/renderer/tests/skills.browser.html +24 -0
- package/src/renderer/tests/toolsPanel.browser.html +1 -0
- package/src/renderer/tests/toolsPanel.browser.tsx +113 -0
- package/src/renderer/tests/viewedImages.browser.html +1 -0
- package/src/renderer/tests/viewedImages.browser.tsx +93 -0
- package/src/renderer/tests/voicePill.browser.html +80 -0
- package/src/renderer/tests/voicePill.preview.html +34 -0
- package/src/renderer/tests/webSources.browser.html +1 -0
- package/src/renderer/tests/webSources.browser.tsx +98 -0
- package/src/renderer/tests/workspaceUndo.browser.html +92 -0
- package/src-tauri/Cargo.toml +40 -0
- package/src-tauri/build.rs +3 -0
- package/src-tauri/src/app/lifecycle.rs +277 -0
- package/src-tauri/src/app/mod.rs +4 -0
- package/src-tauri/src/app/shortcuts.rs +40 -0
- package/src-tauri/src/app/tray.rs +52 -0
- package/src-tauri/src/background/events.rs +70 -0
- package/src-tauri/src/background/headless.rs +230 -0
- package/src-tauri/src/background/mod.rs +4 -0
- package/src-tauri/src/background/proactive.rs +262 -0
- package/src-tauri/src/commands/approvals.rs +20 -0
- package/src-tauri/src/commands/auth.rs +127 -0
- package/src-tauri/src/commands/conversation.rs +642 -0
- package/src-tauri/src/commands/integrations.rs +157 -0
- package/src-tauri/src/commands/media.rs +179 -0
- package/src-tauri/src/commands/mod.rs +11 -0
- package/src-tauri/src/commands/mods.rs +6 -0
- package/src-tauri/src/commands/settings.rs +141 -0
- package/src-tauri/src/commands/voice.rs +153 -0
- package/src-tauri/src/commands/workspace.rs +501 -0
- package/src-tauri/src/lib.rs +10 -0
- package/src-tauri/src/main.rs +3 -0
- package/src-tauri/src/native/actions.rs +206 -0
- package/src-tauri/src/native/browser.rs +252 -0
- package/src-tauri/src/native/capture.rs +695 -0
- package/src-tauri/src/native/discord_rpc.rs +99 -0
- package/src-tauri/src/native/integrations.rs +126 -0
- package/src-tauri/src/native/mod.rs +12 -0
- package/src-tauri/src/native/notifications.rs +51 -0
- package/src-tauri/src/native/plugins.rs +14 -0
- package/src-tauri/src/native/system.rs +250 -0
- package/src-tauri/src/native/terminal.rs +201 -0
- package/src-tauri/src/native/updater.rs +148 -0
- package/src-tauri/src/native/windows.rs +143 -0
- package/tsconfig.json +2 -0
- package/vite.config.ts +4 -1
- package/vite.config.web.ts +4 -0
- package/.cargo/config.toml +0 -13
- package/.claude/settings.local.json +0 -182
- package/.codex +0 -0
- package/CLAUDE.md +0 -102
- package/ROADMAP.md +0 -30
- package/mint-presentation-demo.mp4 +0 -0
- package/out/web/Live2DCubismCore.js +0 -9
- package/out/web/assets/CliSessionsView-BxUVWEEL.js +0 -1
- package/out/web/assets/CliSessionsView-CBDTXuQv.css +0 -1
- package/out/web/assets/CodeReviewPage-DkMgfcos.css +0 -1
- package/out/web/assets/CodeReviewPage-jKlmLJwT.js +0 -3
- package/out/web/assets/CommandPalette-DnwPA5hy.js +0 -1
- package/out/web/assets/ImageStudioPanel-BR1XFwhR.js +0 -1
- package/out/web/assets/LinkedFoldersView-bi-CWQ-I.js +0 -1
- package/out/web/assets/McpRegistryPicker-D5tEFnyq.js +0 -1
- package/out/web/assets/McpServersView-BGG1dhFM.js +0 -1
- package/out/web/assets/MintDashboard-BIglDEWX.js +0 -20
- package/out/web/assets/MintDashboard-DSMywSgs.css +0 -1
- package/out/web/assets/ModelPanel-CbJ1PFoZ.js +0 -1
- package/out/web/assets/PicturesLibrary-CQP0fLP1.css +0 -1
- package/out/web/assets/PicturesLibrary-DoYN7T1p.js +0 -1
- package/out/web/assets/PluginsView-CU1HWXGk.js +0 -1
- package/out/web/assets/ScheduledTasksView-Bnl36y2N.js +0 -1
- package/out/web/assets/SettingsWindow-DhWLAn9T.css +0 -1
- package/out/web/assets/SettingsWindow-Dw8L01pw.js +0 -2
- package/out/web/assets/SkillsView-cnl8aY5p.js +0 -2
- package/out/web/assets/ToolSurfacePage-CgsQw6l5.css +0 -1
- package/out/web/assets/ToolSurfacePage-Cz2VJAPZ.js +0 -37
- package/out/web/assets/VeoStudioPanel-D4JnERWR.js +0 -4
- package/out/web/assets/chunk-CKBBP62Z-cIrXq6jN.js +0 -2
- package/out/web/assets/classDiagram-DTDB5LWJ-Dq0smRWk.js +0 -1
- package/out/web/assets/classDiagram-v2-JRS7N3AN-Dq0smRWk.js +0 -1
- package/out/web/assets/config-C-ZFtipU.css +0 -1
- package/out/web/assets/config-eEDngJXO.js +0 -1
- package/out/web/assets/core-hQ2VA9Ti.js +0 -1
- package/out/web/assets/dist-js-Bf2bhoku.js +0 -1
- package/out/web/assets/flowDiagram-A5DVABFB-BLg7nEcd.js +0 -1
- package/out/web/assets/index-Btsf4L8M.css +0 -1
- package/out/web/assets/index-D8D9MeRA.js +0 -11
- package/out/web/assets/lucide-react-Ip3L6Jtn.js +0 -1
- package/out/web/assets/markdown-BSeeUbJH.js +0 -38
- package/out/web/assets/modelManager-tMVmJVAW.js +0 -2
- package/out/web/assets/prompt-latin-400-normal-BQ9zjSN8.woff2 +0 -0
- package/out/web/assets/prompt-latin-400-normal-CxU4ec_r.woff +0 -0
- package/out/web/assets/prompt-latin-500-normal-B1edBDQ9.woff +0 -0
- package/out/web/assets/prompt-latin-500-normal-CxzxEHZc.woff2 +0 -0
- package/out/web/assets/prompt-latin-600-normal-CSDDLorv.woff +0 -0
- package/out/web/assets/prompt-latin-600-normal-hKZWXsc1.woff2 +0 -0
- package/out/web/assets/prompt-latin-700-normal-BfbftDSq.woff +0 -0
- package/out/web/assets/prompt-latin-700-normal-I2gc831J.woff2 +0 -0
- package/out/web/assets/prompt-thai-400-normal-BrkKv8cO.woff2 +0 -0
- package/out/web/assets/prompt-thai-400-normal-DJypnfr3.woff +0 -0
- package/out/web/assets/prompt-thai-500-normal-C18pDUoL.woff2 +0 -0
- package/out/web/assets/prompt-thai-500-normal-D7YNqUJD.woff +0 -0
- package/out/web/assets/prompt-thai-600-normal-CYPViXds.woff +0 -0
- package/out/web/assets/prompt-thai-600-normal-MrdfU7zR.woff2 +0 -0
- package/out/web/assets/prompt-thai-700-normal-Cb5ilR-c.woff +0 -0
- package/out/web/assets/prompt-thai-700-normal-Cg4aQ0Nn.woff2 +0 -0
- package/out/web/assets/stateDiagram-v2-4QOOHH4V-DeEc0lGZ.js +0 -1
- package/out/web/assets/swimlanesDiagram-VK2B7HYN-DpVik9v7.js +0 -8
- package/out/web/assets/window-5qYXKoW7.js +0 -1
- package/skills-lock.json +0 -77
- package/src/renderer/public/Live2DCubismCore.js +0 -9
- package/src/renderer/src/companionWidget.ts +0 -95
- package/src/renderer/src/components/Live2DStage.tsx +0 -412
- package/src/renderer/src/components/ModelPanel.tsx +0 -155
- package/src/renderer/src/css/model.css +0 -628
- package/src/renderer/src-web/companionWidget.ts +0 -37
- package/src/renderer/src-web/components/ModelPanel.tsx +0 -12
- package/src/renderer/src-web/css/model.css +0 -628
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{i as e,n as t}from"./chunk-CacB07dV.js";import{T as n,k as r,w as i,x as a,y as o}from"./index-D8D9MeRA.js";import{$ as s,Z as c}from"./config-eEDngJXO.js";import{a as l,i as u,r as d}from"./studio-B1mk40wD.js";import{i as f,n as p,r as m,t as h}from"./modelManager-tMVmJVAW.js";var g=t((()=>{}));function _(e){return N[e]??e}function v(e){return M[e]?.[0]?.value??``}function y(){return(0,S.jsxs)(`div`,{className:`veo-studio-skeleton`,children:[(0,S.jsx)(`div`,{className:`veo-studio-skeleton-shine`}),(0,S.jsx)(`div`,{className:`veo-studio-skeleton-icon`,"aria-hidden":`true`,children:(0,S.jsxs)(`svg`,{width:`40`,height:`40`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,S.jsx)(`polygon`,{points:`23 7 16 12 23 17 23 7`}),(0,S.jsx)(`rect`,{x:`1`,y:`5`,width:`15`,height:`14`,rx:`2`,ry:`2`})]})})]})}function b({view:e,onSendToChat:t}){let[n,r]=(0,x.useState)(``),[i,a]=(0,x.useState)(``),[o,s]=(0,x.useState)(!1),[c,l]=(0,x.useState)(`16:9`),[u,d]=(0,x.useState)(5),[p,g]=(0,x.useState)(!1),[b,D]=(0,x.useState)(``),[O,N]=(0,x.useState)(null),[P,F]=(0,x.useState)([]),[I,ee]=(0,x.useState)([]),[L,R]=(0,x.useState)({active:`veo`,available:[`veo`]}),[z,B]=(0,x.useState)(`veo`),[V,H]=(0,x.useState)(v(`veo`)),[U,W]=(0,x.useState)({}),G=(0,x.useRef)(null);(0,x.useEffect)(()=>{let e=!1;w().then(async t=>{if(e)return;R(t),B(t.active);let n=await h(`veoModel`);n&&!e?H(n):e||H(v(t.active))}).catch(()=>{});let t=f(e=>{(e.provider===`veoModel`||e.category===`video`)&&H(e.model)});return()=>{e=!0,t()}},[]),(0,x.useEffect)(()=>{let e=!1;return T(z).then(t=>{if(e||!t||t.length===0)return;let n=M[z]??[],r=new Map;for(let e of n)r.set(e.value,e.label);let i=[],a=new Set;for(let e of t)a.has(e)||(a.add(e),i.push({value:e,label:r.get(e)??e}));for(let e of n)a.has(e.value)||(a.add(e.value),i.push(e));W(e=>({...e,[z]:i}))}).catch(()=>{}),()=>{e=!0}},[z]);let K=e=>{B(e);let t=(U[e]??M[e]??[])[0]?.value||v(e);H(t),m(`veoModel`,t,`video`)},q=e=>{H(e),m(`veoModel`,e,`video`)},J=(0,x.useCallback)(async()=>{let e=n.trim();if(!e||p)return;g(!0),D(``),N(null);let t={prompt:e,negativePrompt:i.trim()||void 0,aspectRatio:c,duration:u,model:V||void 0,provider:z};try{N(await C(t)),F(t=>[e,...t.filter(t=>t!==e)].slice(0,8))}catch(e){D(e instanceof Error?e.message:String(e))}finally{g(!1)}},[n,i,c,u,p,z,V]),Y=e=>{(e.metaKey||e.ctrlKey)&&e.key===`Enter`&&(e.preventDefault(),J())},X=(e,t)=>{let n=document.createElement(`a`);n.href=e.url||e.path,n.download=`mint-veo-${t+1}.mp4`,document.body.appendChild(n),n.click(),document.body.removeChild(n)},Z=U[z]??M[z]??[],[Q,$]=(0,x.useState)(`generate`);return(0,S.jsxs)(`div`,{className:`veo-studio ${e===`veo`?`is-visible`:``}`,id:`veo-studio-panel`,role:`main`,"aria-label":`AI Video Editor`,"aria-hidden":e!==`veo`,children:[(0,S.jsxs)(`header`,{className:`veo-studio-header`,children:[(0,S.jsxs)(`div`,{className:`veo-studio-header-title`,children:[(0,S.jsxs)(`svg`,{width:`20`,height:`20`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,S.jsx)(`polygon`,{points:`23 7 16 12 23 17 23 7`}),(0,S.jsx)(`rect`,{x:`1`,y:`5`,width:`15`,height:`14`,rx:`2`,ry:`2`})]}),(0,S.jsx)(`h1`,{children:`Veo Studio`}),(0,S.jsx)(`span`,{className:`veo-studio-badge`,children:Q===`generate`?_(z):`FableMint`})]}),(0,S.jsxs)(`div`,{className:`veo-studio-tabs`,role:`tablist`,"aria-label":`Studio mode`,children:[(0,S.jsxs)(`button`,{id:`veo-tab-generate`,role:`tab`,type:`button`,"aria-selected":Q===`generate`,className:`veo-studio-tab ${Q===`generate`?`is-active`:``}`,onClick:()=>$(`generate`),children:[(0,S.jsxs)(`svg`,{width:`13`,height:`13`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,S.jsx)(`polygon`,{points:`23 7 16 12 23 17 23 7`}),(0,S.jsx)(`rect`,{x:`1`,y:`5`,width:`15`,height:`14`,rx:`2`,ry:`2`})]}),`Generate`]}),(0,S.jsxs)(`button`,{id:`veo-tab-edit`,role:`tab`,type:`button`,"aria-selected":Q===`edit`,className:`veo-studio-tab ${Q===`edit`?`is-active`:``}`,onClick:()=>$(`edit`),children:[(0,S.jsxs)(`svg`,{width:`13`,height:`13`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,S.jsx)(`path`,{d:`M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7`}),(0,S.jsx)(`path`,{d:`M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z`})]}),`Edit`]})]})]}),Q===`generate`&&(0,S.jsxs)(`div`,{className:`veo-studio-content`,role:`tabpanel`,"aria-labelledby":`veo-tab-generate`,children:[(0,S.jsxs)(`section`,{className:`veo-studio-controls`,"aria-label":`Video generation settings`,children:[(0,S.jsxs)(`div`,{className:`veo-studio-field`,style:{display:`flex`,gap:`10px`,width:`100%`},children:[(0,S.jsxs)(`div`,{style:{flex:1,display:`flex`,flexDirection:`column`,gap:`4px`},children:[(0,S.jsx)(`label`,{className:`veo-studio-label`,htmlFor:`veo-studio-provider`,style:{display:`flex`,alignItems:`center`,width:`100%`,height:`18px`},children:(0,S.jsx)(`span`,{children:`Provider`})}),(0,S.jsx)(`select`,{id:`veo-studio-provider`,className:`veo-studio-textarea`,style:{padding:`8px 10px`,height:`38px`,cursor:`pointer`},value:z,onChange:e=>K(e.target.value),disabled:p,children:L.available.map(e=>(0,S.jsx)(`option`,{value:e,children:_(e).replace(/^[^a-zA-Z0-9]+/,``)},e))})]}),(0,S.jsxs)(`div`,{style:{flex:1,display:`flex`,flexDirection:`column`,gap:`4px`},children:[(0,S.jsx)(`label`,{className:`veo-studio-label`,htmlFor:`veo-studio-model`,style:{display:`flex`,alignItems:`center`,height:`18px`},children:`Model`}),(0,S.jsx)(`select`,{id:`veo-studio-model`,className:`veo-studio-textarea`,style:{padding:`8px 10px`,height:`38px`,cursor:`pointer`},value:V,onChange:e=>q(e.target.value),disabled:p,children:Z.map(({value:e,label:t})=>(0,S.jsx)(`option`,{value:e,children:t},e))})]})]}),(0,S.jsxs)(`div`,{className:`veo-studio-field`,children:[(0,S.jsxs)(`label`,{className:`veo-studio-label`,htmlFor:`veo-studio-prompt`,children:[`Prompt`,(0,S.jsx)(`span`,{className:`veo-studio-label-hint`,children:`Describe the video you want`})]}),(0,S.jsx)(`textarea`,{id:`veo-studio-prompt`,ref:G,className:`veo-studio-textarea`,value:n,onChange:e=>r(e.target.value),onKeyDown:Y,placeholder:`a golden eagle soaring over mountain peaks at sunset, cinematic 4K, slow motion...`,rows:4,disabled:p,"aria-required":`true`}),(0,S.jsx)(`div`,{className:`veo-studio-prompt-hint`,children:`⌘+Enter to generate`})]}),(0,S.jsxs)(`div`,{className:`veo-studio-field`,children:[(0,S.jsx)(`span`,{className:`veo-studio-label`,children:`Style suggestions`}),(0,S.jsx)(`div`,{className:`veo-studio-chips`,role:`group`,"aria-label":`Style suggestions`,children:j.map(e=>(0,S.jsx)(`button`,{type:`button`,className:`veo-studio-chip`,onClick:()=>r(t=>t.trim()?`${t.trim()}, ${e}`:e),disabled:p,title:`Add "${e}" to prompt`,children:e},e))})]}),(0,S.jsxs)(`div`,{className:`veo-studio-field`,children:[(0,S.jsxs)(`button`,{type:`button`,className:`veo-studio-toggle`,onClick:()=>s(e=>!e),"aria-expanded":o,"aria-controls":`veo-studio-negative-wrap`,children:[(0,S.jsx)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,style:{transform:o?`rotate(90deg)`:`none`,transition:`transform 0.2s`},children:(0,S.jsx)(`polyline`,{points:`9 18 15 12 9 6`})}),`Negative prompt`,i.trim()&&(0,S.jsx)(`span`,{className:`veo-studio-badge-dot`,"aria-label":`has content`})]}),o&&(0,S.jsx)(`div`,{id:`veo-studio-negative-wrap`,children:(0,S.jsx)(`textarea`,{id:`veo-studio-negative`,className:`veo-studio-textarea veo-studio-textarea--sm`,value:i,onChange:e=>a(e.target.value),placeholder:`blurry, shaky camera, low quality, watermark...`,rows:2,disabled:p})})]}),(0,S.jsxs)(`div`,{className:`veo-studio-field`,children:[(0,S.jsx)(`span`,{className:`veo-studio-label`,children:`Aspect ratio`}),(0,S.jsx)(`div`,{className:`veo-studio-aspect-group`,role:`radiogroup`,"aria-label":`Aspect ratio`,children:k.map(({value:e,label:t,icon:n})=>(0,S.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":c===e,className:`veo-studio-aspect-btn ${c===e?`is-active`:``}`,onClick:()=>l(e),disabled:p,id:`veo-studio-aspect-${e.replace(`:`,`x`)}`,children:[(0,S.jsx)(`span`,{className:`veo-studio-aspect-icon`,"aria-hidden":`true`,children:n}),(0,S.jsx)(`span`,{children:t})]},e))})]}),(0,S.jsxs)(`div`,{className:`veo-studio-field`,children:[(0,S.jsx)(`span`,{className:`veo-studio-label`,children:`Duration`}),(0,S.jsx)(`div`,{className:`veo-studio-duration-group`,role:`radiogroup`,"aria-label":`Video duration`,children:A.map(({value:e,label:t})=>(0,S.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":u===e,className:`veo-studio-duration-btn ${u===e?`is-active`:``}`,onClick:()=>d(e),disabled:p,id:`veo-studio-duration-${e}`,children:[(0,S.jsxs)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,S.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,S.jsx)(`polyline`,{points:`12 6 12 12 16 14`})]}),t]},e))})]}),(0,S.jsx)(`button`,{id:`veo-studio-generate-btn`,type:`button`,className:`veo-studio-generate-btn ${p?`is-loading`:``}`,onClick:J,disabled:!n.trim()||p,"aria-busy":p,children:p?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`span`,{className:`veo-studio-spinner`,"aria-hidden":`true`}),`Generating video...`]}):(0,S.jsxs)(S.Fragment,{children:[(0,S.jsxs)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,S.jsx)(`polygon`,{points:`23 7 16 12 23 17 23 7`}),(0,S.jsx)(`rect`,{x:`1`,y:`5`,width:`15`,height:`14`,rx:`2`,ry:`2`})]}),`Generate Video`]})}),b&&(0,S.jsxs)(`div`,{className:`veo-studio-error`,role:`alert`,children:[(0,S.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,S.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,S.jsx)(`line`,{x1:`12`,y1:`8`,x2:`12`,y2:`12`}),(0,S.jsx)(`line`,{x1:`12`,y1:`16`,x2:`12.01`,y2:`16`})]}),(0,S.jsx)(`span`,{children:b}),(0,S.jsx)(`button`,{type:`button`,onClick:()=>D(``),"aria-label":`Dismiss error`,children:`×`})]}),P.length>0&&(0,S.jsxs)(`div`,{className:`veo-studio-field`,children:[(0,S.jsx)(`span`,{className:`veo-studio-label`,children:`Recent prompts`}),(0,S.jsx)(`div`,{className:`veo-studio-history`,children:P.map(e=>(0,S.jsxs)(`button`,{type:`button`,className:`veo-studio-history-item`,onClick:()=>{r(e),G.current?.focus()},disabled:p,title:e,children:[(0,S.jsxs)(`svg`,{width:`11`,height:`11`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,S.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,S.jsx)(`polyline`,{points:`12 6 12 12 16 14`})]}),(0,S.jsx)(`span`,{children:e})]},e))})]})]}),(0,S.jsxs)(`section`,{className:`veo-studio-results`,"aria-label":`Generated videos`,"aria-live":`polite`,children:[(0,S.jsxs)(`div`,{className:`veo-studio-active-workspace`,children:[p&&(0,S.jsxs)(`div`,{className:`veo-studio-skeleton-wrap`,children:[(0,S.jsx)(y,{}),(0,S.jsxs)(`p`,{className:`veo-studio-generating-label`,"aria-live":`assertive`,children:[`Generating `,u,`s video with `,_(z),` — this may take a moment…`]})]}),!p&&O&&(0,S.jsxs)(S.Fragment,{children:[O.description&&(0,S.jsx)(`p`,{className:`veo-studio-description`,children:O.description}),(0,S.jsx)(`div`,{className:`veo-studio-video-grid`,children:O.videos.map((e,r)=>(0,S.jsxs)(`article`,{className:`veo-studio-card`,"aria-label":`Generated video ${r+1}`,children:[(0,S.jsx)(`div`,{className:`veo-studio-card-video-wrap`,children:(0,S.jsx)(`video`,{src:E(e.url||e.path),className:`veo-studio-card-video`,controls:!0,preload:`metadata`,"aria-label":e.message||n})}),(0,S.jsxs)(`div`,{className:`veo-studio-card-actions`,children:[(0,S.jsxs)(`button`,{type:`button`,className:`veo-studio-action-btn`,onClick:()=>X(e,r),title:`Download video`,id:`veo-studio-download-${r}`,children:[(0,S.jsxs)(`svg`,{width:`13`,height:`13`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,S.jsx)(`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`}),(0,S.jsx)(`polyline`,{points:`7 10 12 15 17 10`}),(0,S.jsx)(`line`,{x1:`12`,y1:`15`,x2:`12`,y2:`3`})]}),`Download`]}),t&&(0,S.jsxs)(`button`,{type:`button`,className:`veo-studio-action-btn veo-studio-action-btn--primary`,onClick:()=>t(n),title:`Send prompt to Chat`,id:`veo-studio-send-${r}`,children:[(0,S.jsxs)(`svg`,{width:`13`,height:`13`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,S.jsx)(`line`,{x1:`22`,y1:`2`,x2:`11`,y2:`13`}),(0,S.jsx)(`polygon`,{points:`22 2 15 22 11 13 2 9 22 2`})]}),`Send to chat`]})]})]},e.id))}),(0,S.jsxs)(`p`,{className:`veo-studio-meta`,children:[`Provider: `,(0,S.jsx)(`strong`,{children:_(O.provider)}),` · Model: `,(0,S.jsx)(`strong`,{children:O.model}),` · `,O.videos.length,` video`,O.videos.length>1?`s`:``]})]}),!p&&!O&&(0,S.jsxs)(`div`,{className:`veo-studio-active-empty`,children:[(0,S.jsx)(`div`,{className:`veo-studio-empty-icon`,"aria-hidden":`true`,children:(0,S.jsxs)(`svg`,{width:`56`,height:`56`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,S.jsx)(`polygon`,{points:`23 7 16 12 23 17 23 7`}),(0,S.jsx)(`rect`,{x:`1`,y:`5`,width:`15`,height:`14`,rx:`2`,ry:`2`})]})}),(0,S.jsx)(`p`,{children:`No video generated yet`}),(0,S.jsx)(`span`,{children:`Enter a prompt on the left and click Generate Video to begin.`})]})]}),(0,S.jsx)(`div`,{className:`veo-studio-history-header`,children:(0,S.jsxs)(`div`,{className:`veo-studio-history-title`,children:[(0,S.jsxs)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,S.jsx)(`polygon`,{points:`23 7 16 12 23 17 23 7`}),(0,S.jsx)(`rect`,{x:`1`,y:`5`,width:`15`,height:`14`,rx:`2`,ry:`2`})]}),(0,S.jsx)(`span`,{children:`Video history`}),(0,S.jsx)(`span`,{className:`veo-studio-history-badge`,children:I.length})]})}),(0,S.jsx)(`div`,{className:`veo-studio-history-gallery`,children:I.length===0?(0,S.jsxs)(`div`,{className:`veo-studio-gallery-empty`,children:[(0,S.jsx)(`p`,{children:`Your video gallery is empty`}),(0,S.jsx)(`span`,{children:`Generated videos will appear here once the backend is connected.`})]}):(0,S.jsx)(`div`,{className:`veo-studio-video-grid`,children:I.map((e,t)=>(0,S.jsxs)(`article`,{className:`veo-studio-card`,"aria-label":`Saved video ${t+1}`,children:[(0,S.jsx)(`div`,{className:`veo-studio-card-video-wrap`,children:(0,S.jsx)(`video`,{src:E(e.url||e.path),className:`veo-studio-card-video`,controls:!0,preload:`metadata`})}),(0,S.jsx)(`div`,{className:`veo-studio-card-actions`,children:(0,S.jsxs)(`button`,{type:`button`,className:`veo-studio-action-btn`,onClick:()=>X(e,t),title:`Download video`,id:`veo-studio-gallery-download-${t}`,children:[(0,S.jsxs)(`svg`,{width:`13`,height:`13`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,S.jsx)(`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`}),(0,S.jsx)(`polyline`,{points:`7 10 12 15 17 10`}),(0,S.jsx)(`line`,{x1:`12`,y1:`15`,x2:`12`,y2:`3`})]}),`Download`]})})]},e.id))})})]})]}),Q===`edit`&&(0,S.jsx)(`div`,{className:`veo-studio-content veo-studio-content--single`,role:`tabpanel`,"aria-labelledby":`veo-tab-edit`,children:(0,S.jsxs)(`section`,{className:`veo-studio-fablemint-notice`,"aria-label":`Video editing via FableMint`,children:[(0,S.jsx)(`div`,{className:`veo-studio-empty-icon`,"aria-hidden":`true`,children:(0,S.jsxs)(`svg`,{width:`48`,height:`48`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,S.jsx)(`path`,{d:`M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7`}),(0,S.jsx)(`path`,{d:`M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z`})]})}),(0,S.jsx)(`h2`,{children:`Video editing now runs through FableMint`}),(0,S.jsxs)(`p`,{children:[`Timeline edits are handled by`,` `,(0,S.jsx)(`a`,{href:`https://github.com/Pheem49/FableMint`,target:`_blank`,rel:`noreferrer`,children:`FableMint`}),` `,`— a free, open-source, zero-dependency browser video editor connected to Mint over MCP. Its whole project is one JSON timeline: Mint patches it directly and the open editor tab live-reloads in ~150 ms, so you watch the edit happen in real time.`]}),(0,S.jsxs)(`div`,{className:`veo-studio-fablemint-step`,children:[(0,S.jsx)(`span`,{className:`veo-studio-fablemint-step-num`,children:`1`}),(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`strong`,{children:`Clone FableMint`}),(0,S.jsxs)(`span`,{className:`veo-studio-label-hint`,children:[`Needs Node 18+ and a Chromium-based browser. `,(0,S.jsx)(`code`,{children:`ffmpeg`}),` on your PATH is optional but recommended for fast export.`]}),(0,S.jsx)(`pre`,{children:(0,S.jsxs)(`code`,{children:[`git clone https://github.com/Pheem49/FableMint.git`,`
|
|
2
|
-
`,`cd FableMint`]})})]})]}),(0,S.jsxs)(`div`,{className:`veo-studio-fablemint-step`,children:[(0,S.jsx)(`span`,{className:`veo-studio-fablemint-step-num`,children:`2`}),(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`strong`,{children:`Start the editor`}),(0,S.jsxs)(`span`,{className:`veo-studio-label-hint`,children:[`Opens the timeline UI at `,(0,S.jsx)(`code`,{children:`http://localhost:7777`}),`. Media dropped into the window (or `,(0,S.jsx)(`code`,{children:`./media/`}),`) is picked up automatically.`]}),(0,S.jsx)(`pre`,{children:(0,S.jsx)(`code`,{children:`node server.js`})})]})]}),(0,S.jsxs)(`div`,{className:`veo-studio-fablemint-step`,children:[(0,S.jsx)(`span`,{className:`veo-studio-fablemint-step-num`,children:`3`}),(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`strong`,{children:`Connect it to Mint as an MCP server`}),(0,S.jsx)(`pre`,{children:(0,S.jsx)(`code`,{children:`mint mcp add fablemint node --args "<path-to>/FableMint/mcp-server.js"
|
|
3
|
-
mint mcp allow fablemint "*"
|
|
4
|
-
mint mcp call fablemint fablecut_status --arguments '{}' # sanity check`})}),(0,S.jsxs)(`span`,{className:`veo-studio-label-hint`,children:[`The last line should report the editor is running (it auto-starts `,(0,S.jsx)(`code`,{children:`server.js`}),` `,`for you if step 2 wasn't run yet). In Desktop/Web you can do the same from`,` `,(0,S.jsx)(`strong`,{children:`Settings → MCP servers → custom server`}),` — Name `,(0,S.jsx)(`code`,{children:`fablemint`}),`, Command `,(0,S.jsx)(`code`,{children:`node`}),`, Args `,(0,S.jsx)(`code`,{children:`<path-to>/FableMint/mcp-server.js`}),`.`]})]})]}),(0,S.jsxs)(`div`,{className:`veo-studio-fablemint-step`,children:[(0,S.jsx)(`span`,{className:`veo-studio-fablemint-step-num`,children:`4`}),(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`strong`,{children:`Ask Mint to edit`}),(0,S.jsxs)(`span`,{className:`veo-studio-label-hint`,children:[`With the FableMint tab open, just describe the edit in chat — Mint calls its`,(0,S.jsx)(`code`,{children:`fablecut_*`}),` tools to patch the timeline and the tab updates live. Every agent write is checkpointed automatically, so a bad edit is always one revert away.`]})]})]}),(0,S.jsx)(`a`,{className:`veo-studio-action-btn veo-studio-action-btn--primary`,href:`https://github.com/Pheem49/FableMint#driving-it-with-an-ai-agent`,target:`_blank`,rel:`noreferrer`,style:{textDecoration:`none`,width:`fit-content`},children:`Full setup guide`})]})})]})}var x,S,C,w,T,E,D,O,k,A,j,M,N;t((()=>{x=e(r()),g(),p(),i(),S=o(),l(),s(),{generateVideo:C,getVideoGenProviders:w,fetchVideoProviderModels:T,convertFileSrc:E}=n,{getProfileValue:D,setProfileValue:O}=a,k=d,A=[{value:5,label:`5s`},{value:8,label:`8s`}],j=u,M=c,N={veo:`Google Veo (Gemini Videos)`}}))();export{b as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dagre-3AP2YEHR-B0-2RDEd.js","assets/chunk-CacB07dV.js","assets/chunk-PWAF6VOD-DMmD1vVf.js","assets/src-DnfeXQPr.js","assets/chunk-Y2CYZVJY-C9o-s6OY.js","assets/chunk-DU6HZSFF-drzh6GsU.js","assets/index-D8D9MeRA.js","assets/index-Btsf4L8M.css","assets/dagre-BWadQu2F.js","assets/graphlib-CTR5ZhLf.js","assets/chunk-75Z2AOVW-3qybijF5.js","assets/dist-BoTOASLF.js","assets/chunk-GMAD6QVW-Bppi3Ctd.js","assets/chunk-DSNCTWBM-Cc4NxvgD.js","assets/chunk-JQ64N6SF-DGg5kcEV.js","assets/chunk-OBVCFTLP-DJeNil5M.js","assets/chunk-TEH6E4GO-B2RGEohZ.js","assets/chunk-P2QGCYS3-lRzkRjBB.js","assets/rough.esm-DFbTUy8a.js","assets/chunk-R7TYR2AO-CYLA5UC5.js","assets/swimlanes-XN3QIQJK-igYhTjXB.js","assets/cose-bilkent-JH36ORCC--UN4aw5-.js","assets/cytoscape.esm-Df1UN4Y1.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{n as e}from"./chunk-CacB07dV.js";import{g as t,h as n}from"./index-D8D9MeRA.js";import{n as r,r as i}from"./chunk-Y2CYZVJY-C9o-s6OY.js";import{Bt as a,zt as o}from"./src-DnfeXQPr.js";import{b as s,j as c,s as l}from"./chunk-DU6HZSFF-drzh6GsU.js";import{d as u,f as d}from"./chunk-75Z2AOVW-3qybijF5.js";import{o as f,r as p}from"./chunk-TEH6E4GO-B2RGEohZ.js";import{i as m,r as h}from"./chunk-OBVCFTLP-DJeNil5M.js";import{a as g,c as _,i as v,l as y,o as b}from"./chunk-R7TYR2AO-CYLA5UC5.js";import{n as x,r as S}from"./chunk-JQ64N6SF-DGg5kcEV.js";var C,w,T,E,D,O=e((()=>{x(),v(),h(),p(),u(),c(),o(),i(),t(),C={common:l,getConfig:s,insertCluster:S,insertEdge:g,insertEdgeLabel:b,insertMarkers:_,insertNode:m,interpolateToCurve:d,labelHelper:f,log:a,positionEdgeLabel:y},w={},T=r(e=>{for(let t of e)w[t.name]=t},`registerLayoutLoaders`),r(()=>{T([{name:`dagre`,loader:r(async()=>await n(()=>import(`./dagre-3AP2YEHR-B0-2RDEd.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19])),`loader`)},{name:`swimlane`,loader:r(async()=>await n(()=>import(`./swimlanes-XN3QIQJK-igYhTjXB.js`),__vite__mapDeps([20,1,2,3,4,5,6,7,10,11,12,13,9,14,15,16,17,18,19])),`loader`)},{name:`cose-bilkent`,loader:r(async()=>await n(()=>import(`./cose-bilkent-JH36ORCC--UN4aw5-.js`),__vite__mapDeps([21,1,22,3,4])),`loader`)}])},`registerDefaultLayoutLoaders`)(),E=r(async(e,t)=>{if(!(e.layoutAlgorithm in w))throw Error(`Unknown layout algorithm: ${e.layoutAlgorithm}`);if(e.diagramId)for(let t of e.nodes){let n=t.domId||t.id;t.domId=`${e.diagramId}-${n}`}let n=w[e.layoutAlgorithm],r=await n.loader(),{theme:i,themeVariables:a}=e.config,{useGradient:o,gradientStart:s,gradientStop:c}=a,l=t.attr(`id`);if(t.append(`defs`).append(`filter`).attr(`id`,`${l}-drop-shadow`).attr(`height`,`130%`).attr(`width`,`130%`).append(`feDropShadow`).attr(`dx`,`4`).attr(`dy`,`4`).attr(`stdDeviation`,0).attr(`flood-opacity`,`0.06`).attr(`flood-color`,`${i?.includes(`dark`)?`#FFFFFF`:`#000000`}`),t.append(`defs`).append(`filter`).attr(`id`,`${l}-drop-shadow-small`).attr(`height`,`150%`).attr(`width`,`150%`).append(`feDropShadow`).attr(`dx`,`2`).attr(`dy`,`2`).attr(`stdDeviation`,0).attr(`flood-opacity`,`0.06`).attr(`flood-color`,`${i?.includes(`dark`)?`#FFFFFF`:`#000000`}`),o){let e=t.append(`linearGradient`).attr(`id`,t.attr(`id`)+`-gradient`).attr(`gradientUnits`,`objectBoundingBox`).attr(`x1`,`0%`).attr(`y1`,`0%`).attr(`x2`,`100%`).attr(`y2`,`0%`);e.append(`svg:stop`).attr(`offset`,`0%`).attr(`stop-color`,s).attr(`stop-opacity`,1),e.append(`svg:stop`).attr(`offset`,`100%`).attr(`stop-color`,c).attr(`stop-opacity`,1)}return r.render(e,t,C,{algorithm:n.algorithm})},`render`),D=r((e=``,{fallback:t=`dagre`}={})=>{if(e in w)return e;if(t in w)return a.warn(`Layout algorithm ${e} is not registered. Using ${t} as fallback.`),t;throw Error(`Both layout algorithms ${e} and ${t} are not registered.`)},`getRegisteredLayoutAlgorithm`)}));export{E as i,O as n,T as r,D as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./chunk-CacB07dV.js";import{n as t,r as n}from"./chunk-Y2CYZVJY-C9o-s6OY.js";import{zt as r}from"./src-DnfeXQPr.js";import{j as i}from"./chunk-DU6HZSFF-drzh6GsU.js";import{n as a}from"./chunk-PWAF6VOD-DMmD1vVf.js";import{d as o}from"./chunk-75Z2AOVW-3qybijF5.js";import{i as s}from"./chunk-GMAD6QVW-Bppi3Ctd.js";import{n as c}from"./chunk-P2QGCYS3-lRzkRjBB.js";import{r as l}from"./chunk-TEH6E4GO-B2RGEohZ.js";import{r as u}from"./chunk-OBVCFTLP-DJeNil5M.js";import{i as d}from"./chunk-R7TYR2AO-CYLA5UC5.js";import{l as f}from"./chunk-F27PBJKO-FiY35l4v.js";import{n as p}from"./chunk-XXDRQBXY-DnJkbUaw.js";import{t as m}from"./chunk-POPQ4Y6H-DouASMBW.js";import{n as h}from"./chunk-JQ64N6SF-DGg5kcEV.js";import{n as g}from"./chunk-CKBBP62Z-cIrXq6jN.js";import{a as _,i as v,n as y,r as b,t as x}from"./chunk-LCL6LL3I-CCYcjd7p.js";var S;e((()=>{v(),p(),m(),g(),f(),h(),d(),u(),l(),c(),s(),a(),o(),i(),r(),n(),S={parser:y,get db(){return new x},renderer:b,styles:_,init:t(e=>{e.class||={},e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)}}))();export{S as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./chunk-CacB07dV.js";import{n as t,r as n}from"./chunk-Y2CYZVJY-C9o-s6OY.js";import{zt as r}from"./src-DnfeXQPr.js";import{j as i}from"./chunk-DU6HZSFF-drzh6GsU.js";import{n as a}from"./chunk-PWAF6VOD-DMmD1vVf.js";import{d as o}from"./chunk-75Z2AOVW-3qybijF5.js";import{i as s}from"./chunk-GMAD6QVW-Bppi3Ctd.js";import{n as c}from"./chunk-P2QGCYS3-lRzkRjBB.js";import{r as l}from"./chunk-TEH6E4GO-B2RGEohZ.js";import{r as u}from"./chunk-OBVCFTLP-DJeNil5M.js";import{i as d}from"./chunk-R7TYR2AO-CYLA5UC5.js";import{l as f}from"./chunk-F27PBJKO-FiY35l4v.js";import{n as p}from"./chunk-XXDRQBXY-DnJkbUaw.js";import{t as m}from"./chunk-POPQ4Y6H-DouASMBW.js";import{n as h}from"./chunk-JQ64N6SF-DGg5kcEV.js";import{n as g}from"./chunk-CKBBP62Z-cIrXq6jN.js";import{a as _,i as v,n as y,r as b,t as x}from"./chunk-LCL6LL3I-CCYcjd7p.js";var S;e((()=>{v(),p(),m(),g(),f(),h(),d(),u(),l(),c(),s(),a(),o(),i(),r(),n(),S={parser:y,get db(){return new x},renderer:b,styles:_,init:t(e=>{e.class||={},e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)}}))();export{S as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.management-container{max-width:1200px;color:var(--text-main,#f8fafc);margin:0 auto;padding:32px 28px;font-family:inherit;animation:.3s ease-out mgFadeIn}@keyframes mgFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.management-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.management-title-group{flex-direction:column;gap:4px;display:flex}.management-title{letter-spacing:-.02em;color:var(--text-main,#fff);align-items:center;gap:12px;margin:0;font-size:1.65rem;font-weight:700;display:flex}.management-title-icon{font-size:1.75rem;line-height:1}.management-subtitle{color:var(--text-muted,#94a3b8);margin:0;font-size:.92rem}.management-primary-btn{background:var(--accent,#3b82f6);color:var(--text-on-accent);border-radius:var(--radius-lg);cursor:pointer;box-shadow:0 4px 14px var(--accent-glow,#2563eb47);border:none;align-items:center;gap:8px;padding:10px 18px;font-size:.9rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.management-primary-btn:hover{background:var(--accent-hover,#60a5fa);box-shadow:0 6px 20px var(--accent-glow,#2563eb52);transform:translateY(-1px)}.management-primary-btn:active{transform:translateY(0)}.management-control-bar{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:24px;display:flex}.management-search-wrapper{flex:1;min-width:260px;position:relative}.management-search-icon{color:var(--text-muted,#64748b);pointer-events:none;font-size:.95rem;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.management-search-input{background:var(--input-bg,#0f172a99);border:1px solid var(--border,#ffffff1a);border-radius:var(--radius-lg);width:100%;color:var(--text-main,#f8fafc);box-sizing:border-box;outline:none;padding:10px 14px 10px 42px;font-size:.9rem;transition:all .2s}.management-search-input:focus{border-color:var(--accent,#3b82f6);background:var(--surface-strong,#0f172ad9);box-shadow:0 0 0 3px var(--accent-glow,#3b82f633)}.management-filter-pills{background:var(--input-bg,#0f172a99);border-radius:var(--radius-lg);border:1px solid var(--border,#ffffff14);gap:4px;padding:4px;display:flex}.management-pill-btn{border-radius:var(--radius-md);color:var(--text-muted,#94a3b8);cursor:pointer;text-transform:none;background:0 0;border:none;padding:6px 14px;font-size:.85rem;font-weight:500;transition:all .2s}.management-pill-btn:hover{color:var(--text-main,#f8fafc)}.management-pill-btn.active{background:var(--accent,#3b82f6);color:var(--text-on-accent);box-shadow:0 2px 8px var(--accent-glow,#3b82f64d);font-weight:600}.schedule-inline-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.schedule-inline-word{color:var(--text-muted,#94a3b8);white-space:nowrap;font-size:.85rem}.schedule-repeat-select{width:auto;min-width:130px}.schedule-day-input{width:auto;min-width:90px}.schedule-time-input{width:auto;min-width:110px}.schedule-timezone-select{width:auto;min-width:180px;max-width:260px}.schedule-weekday-circles{gap:6px;display:flex}.management-pill-btn-circle{border:1px solid var(--border,#ffffff1a);background:var(--input-bg,#0f172a99);width:30px;height:30px;color:var(--text-muted,#94a3b8);cursor:pointer;border-radius:50%;flex:none;font-size:.78rem;font-weight:600;transition:all .2s}.management-pill-btn-circle:hover{color:var(--text-main,#f8fafc)}.management-pill-btn-circle.active{background:var(--accent,#3b82f6);border-color:var(--accent,#3b82f6);color:var(--text-on-accent);box-shadow:0 2px 8px var(--accent-glow,#3b82f64d)}.mgmt-list{border:1px solid var(--border,#ffffff14);border-radius:var(--radius-xl);flex-direction:column;display:flex;overflow:hidden}.mgmt-row{background:var(--surface-bg,#1e293b66);border-top:1px solid var(--border,#ffffff0f);cursor:pointer;align-items:center;gap:16px;padding:13px 16px;transition:background .15s;display:flex}.mgmt-row:first-child{border-top:none}.mgmt-row:hover{background:var(--surface-strong,#1e293b9e)}.mgmt-row.is-disabled .mgmt-row-main{opacity:.5}.mgmt-row-main{flex:1;min-width:0}.mgmt-row-title{color:var(--text-main,#f8fafc);white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:600;overflow:hidden}.mgmt-row-meta{color:var(--text-muted,#94a3b8);flex-wrap:wrap;align-items:center;gap:8px;margin-top:3px;font-size:.78rem;display:flex}.mgmt-row-meta code{font-family:JetBrains Mono,Consolas,Monaco,monospace;font-size:.74rem}.mgmt-row-sep{opacity:.4}.mgmt-row-sub{color:var(--text-muted,#94a3b8);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:.8rem;overflow:hidden}.mgmt-status{letter-spacing:.05em;text-transform:none;font-size:.72rem;font-weight:700}.mgmt-status.ok{color:#34d399}.mgmt-status.failed{color:#f87171}.mgmt-status.running{color:var(--interactive-fg)}.mgmt-empty{text-align:center;color:var(--text-muted,#94a3b8);padding:48px 20px;font-size:.88rem;line-height:1.7}.mgmt-empty p{margin:0}.linked-empty{text-align:center;max-width:760px;color:var(--text-muted);margin:clamp(28px,7vh,80px) auto 0}.linked-empty-icon{margin-bottom:18px;display:inline-flex}.linked-empty h2{color:var(--text-main);margin:0 0 10px;font-size:clamp(1.25rem,2vw,1.55rem);line-height:1.3}.linked-empty>p{max-width:520px;margin:0 auto;font-size:.92rem;line-height:1.6}.linked-empty-steps{text-align:left;border-block:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:28px 0;display:grid}.linked-empty-steps>div{flex-direction:column;gap:7px;min-width:0;padding:18px 20px;display:flex}.linked-empty-steps>div+div{border-inline-start:1px solid var(--border)}.linked-empty-steps strong{color:var(--text-main);font-size:.86rem}.linked-empty-steps span{font-size:.82rem;line-height:1.5}.linked-empty-cli{margin-top:14px!important;font-size:.79rem!important}.linked-folder-row{cursor:default;align-items:flex-start}.linked-folder-heading,.linked-folder-actions,.linked-folder-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.linked-folder-heading .mgmt-row-title{white-space:normal;overflow-wrap:anywhere}.linked-folder-description,.linked-folder-note-snippet{color:var(--text-soft,var(--text-muted));overflow-wrap:anywhere;margin:8px 0 0;font-size:.82rem;line-height:1.45}.linked-folder-meta{color:var(--text-muted);margin-top:10px;font-size:.78rem}.linked-folder-note-snippet{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.linked-folder-error,.linked-field-error{color:var(--error,#f87171);margin:8px 0 0;font-size:.8rem;line-height:1.4}.linked-load-error{text-align:center;color:var(--text-main);padding:44px 20px}.linked-load-error p{margin:0 0 14px}.management-error-banner{border:1px solid var(--error,#f87171);border-radius:var(--radius-lg);color:var(--error,#f87171);overflow-wrap:anywhere;margin:0 0 14px;padding:10px 12px;font-size:.82rem;line-height:1.45}.linked-add-modal .management-error-banner,.management-modal-body .management-error-banner{margin:0}.linked-folder-actions{flex:none;justify-content:flex-end}.linked-add-modal{max-height:calc(100vh - 40px);overflow-y:auto}.linked-detail-modal{flex-direction:column;height:calc(100dvh - 40px);max-height:calc(100dvh - 40px);display:flex}.linked-detail-modal .management-modal-header,.linked-detail-modal .management-modal-footer{flex:none}.linked-detail-modal .management-modal-body{overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}.linked-detail-modal .management-modal-body>.mgmt-list{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:min(46vh,420px);overflow:hidden auto}.linked-note-row{cursor:default}.linked-note-preview{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--input-bg);margin-top:12px;padding:14px}.linked-note-preview p{color:var(--text-muted);margin:0}.linked-note-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:min(36vh,320px);font:inherit;margin:0;font-size:.83rem;line-height:1.6;overflow:auto}.linked-path-row{gap:8px;display:flex}.linked-path-row .management-input-field{flex:1;min-width:0}.linked-optional,.linked-field-hint{color:var(--text-muted);font-weight:400}.linked-optional{margin-inline-start:5px}.linked-field-hint{margin:0;font-size:.78rem;line-height:1.45}.linked-scope-note{border-inline-start:2px solid var(--accent);background:var(--input-bg);color:var(--text-soft,var(--text-muted));margin:2px 0 0;padding:12px 14px;font-size:.81rem;line-height:1.5}.linked-add-modal [aria-invalid=true]{border-color:var(--error,#f87171)}.linked-add-modal :is(button,input,textarea):focus-visible,.linked-folder-actions button:focus-visible,.linked-empty button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=680px){.linked-empty{margin-top:24px}.linked-empty-steps{text-align:center;grid-template-columns:1fr}.linked-empty-steps>div{padding:13px 10px}.linked-empty-steps>div+div{border-inline-start:0;border-block-start:1px solid var(--border)}.linked-folder-row{flex-direction:column}.linked-folder-actions{justify-content:flex-start;width:100%}}.mgmt-row-stack{flex-direction:column;gap:8px;display:flex}.mcp-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (width<=640px){.mcp-catalog-grid{grid-template-columns:1fr}}.mcp-catalog-card{background:var(--surface-bg,#1e293b73);border:1px solid var(--border,#ffffff14);border-radius:var(--radius-xl);text-align:left;cursor:pointer;box-sizing:border-box;flex-direction:column;min-height:84px;padding:12px 14px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.mcp-catalog-card:hover:not(:disabled){border-color:var(--accent,#3b82f6);background:var(--surface-strong,#1e293ba6);box-shadow:var(--shadow-md,0 8px 24px #00000038);transform:translateY(-1px)}.mcp-catalog-card.selected{box-shadow:0 0 0 1px var(--accent,#10b981), 0 4px 14px var(--accent-glow,#10b98133);border-color:var(--accent,#10b981)!important}.mcp-catalog-card-header{align-items:center;gap:10px;margin-bottom:6px;display:flex}.mcp-catalog-card-title{color:var(--text-main,#f8fafc);flex:1;align-items:center;gap:6px;min-width:0;font-size:.92rem;font-weight:600;display:flex}.mcp-catalog-card-title .name-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mcp-catalog-card-desc{color:var(--text-muted,#94a3b8);-webkit-line-clamp:2;line-clamp:2;white-space:normal;-webkit-box-orient:vertical;font-size:.8rem;line-height:1.45;display:-webkit-box;overflow:hidden}.mgmt-detail-grid{color:var(--text-muted,#94a3b8);grid-template-columns:max-content 1fr;gap:6px 16px;font-size:.85rem;display:grid}.mgmt-detail-grid>span:nth-child(odd){color:var(--text-muted,#64748b)}.mgmt-detail-grid code{color:var(--text-main,#cbd5e1);word-break:break-word;font-family:JetBrains Mono,Consolas,Monaco,monospace;font-size:.8rem}.mgmt-prose{border:1px solid var(--border,#ffffff14);border-radius:var(--radius-lg);background:var(--input-bg,#0f172a59);max-height:340px;padding:2px 14px;overflow-y:auto}.management-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.management-card{background:var(--surface-bg,#1e293b73);border:1px solid var(--border,#ffffff14);border-radius:var(--radius-xl);-webkit-backdrop-filter:var(--glass-blur,blur(12px));backdrop-filter:var(--glass-blur,blur(12px));flex-direction:column;justify-content:space-between;padding:20px;transition:all .2s;display:flex;position:relative;overflow:hidden}.management-card:before{content:"";background:linear-gradient(90deg, transparent, var(--accent,#3b82f680), transparent);opacity:0;height:2px;transition:opacity .2s;position:absolute;top:0;left:0;right:0}.management-card:hover{border-color:var(--accent,#3b82f6);box-shadow:var(--shadow-md,0 8px 24px #00000038), 0 0 12px var(--accent-glow,#3b82f626);background:var(--surface-strong,#1e293ba6);transform:translateY(-2px)}.management-card:hover:before{opacity:1}.management-card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.management-card-title-group{align-items:center;gap:10px;display:flex}.management-card-icon{border-radius:var(--radius-lg);background:var(--accent-subtle,#3b82f626);border:1px solid var(--accent-border,#3b82f640);flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.2rem;display:flex}.management-card-title{color:var(--text-main,#f8fafc);word-break:break-word;margin:0;font-size:1.05rem;font-weight:600}.management-card-title-badge{color:var(--interactive-fg);background:var(--accent-subtle,#10b9811f);border-radius:var(--radius-sm);border:1px solid var(--accent-border,#10b98140);padding:3px 10px;font-size:.88rem;font-weight:700}.management-badge{border-radius:var(--radius-sm);letter-spacing:.02em;flex-shrink:0;align-items:center;gap:6px;padding:3px 9px;font-size:.75rem;font-weight:600;display:inline-flex}.management-badge.active,.management-badge.connected{color:#34d399;background:#10b98126;border:1px solid #10b9814d}.management-badge.workspace{background:var(--accent-subtle,#3b82f626);color:var(--interactive-fg);border:1px solid var(--accent-border,#3b82f64d)}.management-badge.global{color:#c084fc;background:#a855f726;border:1px solid #a855f74d}.management-badge.inactive,.management-badge.disconnected{color:var(--text-muted,#94a3b8);background:#94a3b826;border:1px solid #94a3b840}.management-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.management-tag{letter-spacing:.06em;text-transform:none;flex-shrink:0;font-size:.7rem;font-weight:700}.management-tag.workspace{color:var(--interactive-fg)}.management-tag.global{color:#c084fc}.management-plugin-row{background:var(--surface-bg,#1e293b73);border:1px solid var(--border,#ffffff14);border-radius:var(--radius-xl);cursor:pointer;align-items:center;gap:14px;padding:12px 16px;transition:all .2s;display:flex}.management-plugin-row:hover{border-color:var(--accent,#3b82f6);background:var(--surface-strong,#1e293ba6);box-shadow:var(--shadow-md,0 8px 24px #00000038)}.management-plugin-info{flex:1;min-width:0}.management-plugin-name{color:var(--text-main,#f8fafc);align-items:center;gap:8px;font-size:.92rem;font-weight:600;display:flex}.management-plugin-desc{color:var(--text-muted,#94a3b8);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.8rem;overflow:hidden}.management-plugin-name .management-dot{background:var(--text-muted,#64748b)}.management-plugin-name .management-dot.connected{background:#34d399}.management-section-title{color:var(--text-main,#f8fafc);margin:0 0 12px;font-size:.95rem;font-weight:600}.management-installed-row{flex-wrap:wrap;gap:12px;margin-bottom:28px;display:flex}.management-plugin-avatar{border-radius:var(--radius-lg);border:1px solid var(--border,#ffffff14);cursor:pointer;background:#ffffff0f;justify-content:center;align-items:center;width:52px;height:52px;padding:0;transition:all .2s;display:flex}.management-plugin-avatar:hover{border-color:var(--accent,#3b82f6);box-shadow:var(--shadow-sm,0 4px 14px #00000029);transform:translateY(-2px)}.management-plugin-icon-btn{border:1px solid var(--border,#ffffff24);width:30px;height:30px;color:var(--text-muted,#94a3b8);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.management-plugin-icon-btn:hover{border-color:var(--accent,#3b82f6);color:var(--interactive-fg);background:var(--accent-subtle,#3b82f61a)}.management-card-body{flex:1;margin-bottom:16px}.management-card-desc{color:var(--text-muted,#94a3b8);-webkit-line-clamp:3;line-clamp:3;white-space:pre-wrap;-webkit-box-orient:vertical;margin:0 0 10px;font-size:.88rem;line-height:1.55;display:-webkit-box;overflow:hidden}.management-code-snippet{background:var(--input-bg,#0f172ab3);border-radius:var(--radius-md);border:1px solid var(--border,#ffffff0f);color:var(--interactive-fg);word-break:break-all;padding:8px 12px;font-family:JetBrains Mono,Consolas,Monaco,monospace;font-size:.8rem}.management-card-footer{border-top:1px solid var(--border,#ffffff0f);justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:14px;display:flex}.management-action-btn{border-radius:var(--radius-md);border:1px solid var(--border,#ffffff1a);color:var(--text-main,#cbd5e1);cursor:pointer;background:#ffffff0a;padding:6px 12px;font-size:.82rem;font-weight:500;transition:all .2s}.management-action-btn:hover{color:var(--text-main);border-color:var(--border,#fff3);background:#ffffff1a}.management-action-btn.danger{color:#f87171;background:#ef44441a;border-color:#ef44444d}.management-action-btn.danger:hover{color:#fca5a5;background:#ef444440;border-color:#ef444480}.management-expand-btn{border-radius:var(--radius-md);border:1px solid var(--border,#ffffff1f);background:var(--input-bg,#ffffff0d);width:32px;height:32px;color:var(--text-main,#f8fafc);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.management-expand-btn:hover{background:var(--surface-strong,#ffffff26);border-color:var(--accent,#3b82f6);color:var(--interactive-fg)}.management-expand-btn.is-expanded{background:var(--accent-subtle,#3b82f626);border-color:var(--accent,#3b82f6);color:var(--interactive-fg)}.management-expand-btn svg{transition:transform .25s}.management-expand-btn.is-expanded svg{transform:rotate(180deg)}.settings-toggle-switch{flex-shrink:0;width:44px;min-width:44px;height:24px;display:inline-block;position:relative}.settings-toggle-switch input{opacity:0;width:0;height:0}.settings-toggle-slider{border:1px solid var(--border-strong,transparent);border-radius:var(--radius-3xl);cursor:pointer;background-color:#fff3;transition:background-color .2s,border-color .2s;position:absolute;inset:0}.settings-toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s,background-color .2s;position:absolute;bottom:3px;left:3px;box-shadow:0 1px 3px #00000040}.settings-toggle-switch input:checked+.settings-toggle-slider{background-color:var(--accent,#10b981);border-color:color-mix(in srgb, var(--accent,#10b981) 70%, var(--border-strong,#fff3))}.settings-toggle-switch input:checked+.settings-toggle-slider:before{background-color:var(--accent-contrast,#fff);transform:translate(20px)}.management-modal-overlay{-webkit-backdrop-filter:var(--glass-blur,blur(8px));backdrop-filter:var(--glass-blur,blur(8px));z-index:9999;background:#0009;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out mgFadeIn;display:flex;position:fixed;inset:0}.management-modal{background:var(--surface-bg,#1e293b);border:1px solid var(--border,#ffffff1f);border-radius:var(--radius-2xl);width:100%;max-width:720px;box-shadow:var(--shadow-lg,0 20px 40px #00000080);overflow:hidden}.management-modal.mcp-catalog-modal{max-width:820px}.management-modal-header{border-bottom:1px solid var(--border,#ffffff14);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.management-modal-title{color:var(--text-main,#fff);margin:0;font-size:1.2rem;font-weight:600}.management-modal-close{color:var(--text-muted,#94a3b8);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:4px;font-size:1.2rem;transition:color .15s}.management-modal-close:hover{color:var(--text-main)}.management-modal-body{flex-direction:column;gap:16px;padding:24px;display:flex}.management-form-group{flex-direction:column;gap:6px;display:flex}.management-label{color:var(--text-main,#cbd5e1);font-size:.85rem;font-weight:500}.management-input-field,.management-textarea-field{background:var(--input-bg,#0f172a99);border:1px solid var(--border,#ffffff1a);border-radius:var(--radius-lg);width:100%;color:var(--text-main,#f8fafc);box-sizing:border-box;outline:none;padding:10px 14px;font-family:inherit;font-size:.9rem;transition:all .2s}.management-input-field:focus,.management-textarea-field:focus{border-color:var(--accent,#3b82f6);background:var(--surface-strong,#0f172ad9);box-shadow:0 0 0 3px var(--accent-glow,#3b82f633)}.management-textarea-field{resize:vertical;min-height:110px}.management-modal-footer{border-top:1px solid var(--border,#ffffff14);background:#00000026;justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.management-empty-state{text-align:center;background:var(--surface-bg,#1e293b40);border:1px dashed var(--border,#ffffff1a);border-radius:var(--radius-2xl);grid-column:1/-1;padding:60px 20px}.management-empty-icon{opacity:.7;margin-bottom:16px;font-size:3rem}.management-empty-title{color:var(--text-main,#f8fafc);margin:0 0 8px;font-size:1.15rem;font-weight:600}.management-empty-desc{color:var(--text-muted,#94a3b8);max-width:420px;margin:0 auto 20px;font-size:.9rem;line-height:1.5}.mcp-server-type-toggle{background:var(--input-bg,#00000040);border:1px solid var(--border,#ffffff1a);border-radius:var(--radius-xl,12px);gap:4px;padding:4px;display:flex}.mcp-toggle-btn{border-radius:var(--radius-lg,8px);cursor:pointer;color:var(--text-muted,#94a3b8);background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:8px;padding:8px 14px;font-size:.88rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.mcp-toggle-btn:hover{color:var(--text-main,#fff);background:#ffffff0d}.mcp-toggle-btn.active{background:var(--accent,#3b82f6);color:var(--text-on-accent);box-shadow:0 2px 8px var(--accent-glow,#3b82f64d)}.mcp-toggle-icon{font-size:1rem}.mcp-test-row{flex-wrap:wrap;align-items:center;gap:12px;padding-top:4px;display:flex}.mcp-test-btn{border-radius:var(--radius-lg,8px);cursor:pointer;border:1px solid var(--border,#ffffff26);background:var(--surface-bg,#ffffff0f);color:var(--text-main,#fff);align-items:center;gap:6px;padding:8px 14px;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.mcp-test-btn:hover:not(:disabled){background:var(--surface-strong,#ffffff1f);border-color:var(--accent,#3b82f6)}.mcp-test-btn:disabled{opacity:.6;cursor:not-allowed}.mcp-test-status{word-break:break-word;align-items:center;gap:6px;font-size:.84rem;line-height:1.4;display:flex}.mcp-test-status.success{color:#34d399}.mcp-test-status.error{color:#f87171}.mcp-test-status.testing{color:var(--interactive-fg)}.management-badge.remote{color:#60a5fa;background:#3b82f626;border:1px solid #3b82f64d}.mcp-spin{animation:.8s linear infinite mcp-spin}@keyframes mcp-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mcp-security-notice{border-radius:var(--radius-lg,10px);background:#f59e0b0d;border:1px solid #f59e0b47;margin-top:14px;overflow:hidden}.mcp-security-header{color:#fbbf24;background:#f59e0b1f;border-bottom:1px solid #f59e0b33;align-items:center;gap:8px;padding:10px 14px;font-size:.86rem;font-weight:600;display:flex}.mcp-security-icon{color:#f59e0b;flex-shrink:0}.mcp-security-body{background:#0f172a73;padding:12px 14px}.mcp-security-ack{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:12px;display:flex}.mcp-security-ack-text{color:var(--text-main,#e2e8f0);flex-direction:column;gap:4px;font-size:.84rem;display:flex}.mcp-security-subtext{color:var(--text-muted,#94a3b8);font-size:.78rem;line-height:1.4}.mint-custom-checkbox{appearance:none;cursor:pointer;box-sizing:border-box;background:#ffffff14;border:1.5px solid #ffffff38;border-radius:5px;outline:none;flex-shrink:0;justify-content:center;align-items:center;width:18px;min-width:18px;height:18px;margin:0;transition:all .16s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative}.mint-custom-checkbox:hover{border-color:var(--accent,#10b981);background:#ffffff1f;box-shadow:0 0 0 3px #10b98129}.mint-custom-checkbox:checked{background-color:var(--accent,#10b981);border-color:var(--accent,#10b981);box-shadow:0 2px 8px var(--accent-glow,#10b98159)}.mint-custom-checkbox:checked:after{content:"";background:var(--text-on-accent);width:11px;height:11px;-webkit-mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='3.5 8.5 6.5 11.5 12.5 5.5'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='3.5 8.5 6.5 11.5 12.5 5.5'/%3E%3C/svg%3E") 50%/contain no-repeat}.mint-custom-checkbox:active{transform:scale(.92)}.mint-custom-checkbox:focus-visible{box-shadow:0 0 0 3px #10b9814d}.mcp-allow-all-row{border-radius:var(--radius-lg,10px);background:var(--surface-bg,#ffffff08);border:1px solid var(--border,#ffffff14);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:12px;margin-top:14px;padding:12px 14px;transition:all .2s;display:flex}.mcp-allow-all-row:hover{background:var(--surface-strong,#ffffff0f);border-color:#ffffff29}.mcp-allow-all-row:hover .mint-custom-checkbox:not(:checked),.mcp-security-ack:hover .mint-custom-checkbox:not(:checked){border-color:var(--accent,#10b981);background:#ffffff1f}.mcp-allow-all-row .mint-custom-checkbox,.mcp-security-ack .mint-custom-checkbox{margin-top:2px}.mcp-allow-all-text{flex-direction:column;gap:3px;display:flex}.mcp-allow-all-title{color:var(--text-main,#fff);font-size:.88rem;font-weight:500}.mcp-allow-all-desc{color:var(--text-muted,#94a3b8);font-size:.78rem;line-height:1.4}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e,n as t}from"./chunk-CacB07dV.js";import{k as n,o as r,u as i,y as a}from"./index-D8D9MeRA.js";var o,s,c,l,u,d,f=t((()=>{o=e=>{let t=e.replace(`#`,``);if(t.length===3)return{r:parseInt(t[0]+t[0],16),g:parseInt(t[1]+t[1],16),b:parseInt(t[2]+t[2],16)};let n=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return n?{r:parseInt(n[1],16),g:parseInt(n[2],16),b:parseInt(n[3],16)}:{r:16,g:185,b:129}},s=(e,t)=>{let n=e.replace(`#`,``);if(n.length!==6)return e;let r=parseInt(n,16),i=Math.min(255,(r>>16)+t),a=Math.min(255,(r>>8&255)+t),o=Math.min(255,(r&255)+t);return`#${(i<<16|a<<8|o).toString(16).padStart(6,`0`)}`},c=e=>{let t=o(e);return .299*t.r+.587*t.g+.114*t.b>160?`#09090b`:`#ffffff`},l=null,u=null,d=e=>{if(typeof document>`u`)return;let t=e.theme||`dark`,n=e.surfaceStyle||(e.glassBlur===`none`?`opaque`:`glass`),r=e.accentColor||`#10b981`,i=o(r),a=c(r),d=t;t===`system`?(d=window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`,u||(l=window.matchMedia(`(prefers-color-scheme: dark)`),u=e=>{document.documentElement.setAttribute(`data-theme`,e.matches?`dark`:`light`)},l.addEventListener(`change`,u))):u&&l&&(l.removeEventListener(`change`,u),u=null,l=null),document.documentElement.setAttribute(`data-theme`,d),document.documentElement.setAttribute(`data-surface`,n);let f=r.trim().toLowerCase();if(document.documentElement.setAttribute(`data-accent-mode`,f===`#ffffff`||f===`#fff`?`monochrome`:`color`),document.documentElement.style.setProperty(`--accent-default`,r),document.documentElement.style.setProperty(`--accent`,r),document.documentElement.style.setProperty(`--accent-hover`,s(r,20)),document.documentElement.style.setProperty(`--accent-glow`,`rgba(${i.r}, ${i.g}, ${i.b}, 0.35)`),document.documentElement.style.setProperty(`--accent-subtle`,`rgba(${i.r}, ${i.g}, ${i.b}, 0.14)`),document.documentElement.style.setProperty(`--accent-border`,`rgba(${i.r}, ${i.g}, ${i.b}, 0.3)`),document.documentElement.style.setProperty(`--text-on-accent`,a),document.documentElement.style.setProperty(`--accent-contrast`,a),n===`opaque`?document.documentElement.style.setProperty(`--glass-blur`,`none`):document.documentElement.style.setProperty(`--glass-blur`,e.glassBlur||`blur(16px)`),e.fontFamily&&(document.body.style.fontFamily=e.fontFamily),e.fontSize&&(document.documentElement.style.fontSize=e.fontSize),t===`custom`){if(e.customBgStart&&e.customBgEnd&&(document.documentElement.style.setProperty(`--bg-canvas`,e.customBgStart),document.documentElement.style.setProperty(`--bg-color`,e.customBgStart),document.documentElement.style.setProperty(`--bg-gradient`,`linear-gradient(135deg, ${e.customBgStart} 0%, ${e.customBgEnd} 100%)`)),e.customPanelBg){let t=o(e.customPanelBg);document.documentElement.style.setProperty(`--bg-surface`,`rgba(${t.r}, ${t.g}, ${t.b}, 0.75)`),document.documentElement.style.setProperty(`--panel-bg`,`rgba(${t.r}, ${t.g}, ${t.b}, 0.75)`),document.documentElement.style.setProperty(`--surface-bg`,`rgba(${t.r}, ${t.g}, ${t.b}, 0.62)`)}return}[`--bg-canvas`,`--bg-color`,`--bg-gradient`,`--panel-bg`,`--panel-raised`,`--panel-soft`,`--chrome-bg`,`--surface-bg`,`--surface-strong`,`--input-bg`,`--text-main`,`--text-chat`,`--text-soft`].forEach(e=>document.documentElement.style.removeProperty(e))}}));function p(e,t){let n=Number(e);return Number.isFinite(n)?n:t}function m(e){if(!e)return new Date;if(e instanceof Date)return e;if(typeof e!=`string`)return new Date(e);let t=e.trim();/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/.test(t)?t=t.replace(` `,`T`)+`Z`:/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?$/.test(t)&&(t+=`Z`);let n=new Date(t);return Number.isNaN(n.getTime())?new Date:n}function ee(e,t){let n=m(e).getTime(),r=m(t).getTime();return!Number.isFinite(n)||!Number.isFinite(r)?!1:Math.abs(r-n)>h}function te(e){let t=m(e);if(Number.isNaN(t.getTime()))return``;let n=new Date,r=t.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`});if(t.toDateString()===n.toDateString())return r;let i=new Date(n);return i.setDate(n.getDate()-1),t.toDateString()===i.toDateString()?`Yesterday, ${r}`:`${t.toLocaleDateString([],{month:`short`,day:`numeric`})}, ${r}`}function ne(e){return e instanceof Error?e.message:String(e)}function re(e){let t=URL.createObjectURL(e);return{objectUrl:t,revoke:()=>{try{URL.revokeObjectURL(t)}catch{}}}}function ie(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result)),r.onerror=()=>n(r.error??Error(`Unable to read image`)),r.readAsDataURL(e)})}function ae(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result)),r.onerror=()=>n(r.error??Error(`Unable to read document`)),r.readAsDataURL(e)})}async function oe(e){let t=await new Promise((t,n)=>{let r=new Image;r.onload=()=>t(r),r.onerror=()=>n(Error(`Unable to prepare image preview`)),r.src=e}),n=document.createElement(`canvas`);n.width=t.naturalWidth||t.width,n.height=t.naturalHeight||t.height;let r=n.getContext(`2d`,{willReadFrequently:!0});if(!r||n.width===0||n.height===0)return e;r.drawImage(t,0,0);let i=r.getImageData(0,0,n.width,n.height),a=n.width,o=n.height,s=-1,c=-1;for(let e=0;e<n.height;e+=1)for(let t=0;t<n.width;t+=1)i.data[(e*n.width+t)*4+3]>12&&(a=Math.min(a,t),o=Math.min(o,e),s=Math.max(s,t),c=Math.max(c,e));if(s<a||c<o)return e;let l=Math.max(0,a-8),u=Math.max(0,o-8),d=Math.min(n.width-l,s-a+1+16),f=Math.min(n.height-u,c-o+1+16);if(d>=n.width*.92&&f>=n.height*.92)return e;let p=document.createElement(`canvas`);p.width=d,p.height=f;let m=p.getContext(`2d`);return m?(m.drawImage(n,l,u,d,f,0,0,d,f),p.toDataURL(`image/png`)):e}var h,g,se=t((()=>{f(),h=1800*1e3,g=e=>{d(e)}}));function _(e){if(!e)return!1;let t=e.toLowerCase();return t.endsWith(`:free`)||t.includes(`:free`)}function ce(e,t){let n=e.trim(),r=n.toLowerCase();if(N[n])return N[n];for(let[e,t]of Object.entries(N))if(e.toLowerCase()===r||r.endsWith(e.toLowerCase()))return t;let i=`128K Context`;r.includes(`gemini`)||t===`gemini`?i=r.includes(`pro`)?`2M Context`:`1M Context`:r.includes(`claude`)||t===`anthropic`?i=`200K Context`:(r.includes(`llama-3`)||r.includes(`qwen`))&&(i=`128K Context`);let a=r.includes(`reason`)||r.includes(`thinking`)||r.includes(`r1`)||r.includes(`o1`)||r.includes(`o3`)||r.includes(`qwq`)||r.includes(`sonnet-5`)||r.includes(`opus-5`)||r.includes(`3-7`)||r.includes(`2.5`)||r.includes(`glm`)||r.includes(`deepseek`)||r.includes(`qwen`)||t===`gemini`;return{description:a?`${n} supports advanced multi-step reasoning and dynamic thinking effort.`:`${n} is an optimized model for responsive conversational interactions.`,contextWindow:i,supportsThinking:a}}var v,y,b,x,S,C,w,T,E,D,O,k,A,j,M,N,P=t((()=>{v=[`gemini-3.6-flash`,`gemini-3.5-flash`,`gemini-3.5-flash-lite`,`gemini-3.1-flash-lite`,`gemini-2.5-flash`],y=[`gemini-2.5-flash-native-audio-preview-12-2025`,`gemini-3.1-flash-live-preview`],b=[`Puck`,`Charon`,`Kore`,`Fenrir`,`Aoede`,`Leda`,`Orus`,`Zephyr`],x=[`gpt-5.6-sol`,`gpt-5.6-terra`,`gpt-5.6-luna`,`gpt-5.5-thinking`,`gpt-5.5-pro`],S=[`claude-sonnet-5`,`claude-opus-5`,`claude-sonnet-4.6`,`claude-opus-4.8`,`claude-haiku-4.5`],C=[`openai/gpt-5.6-terra`,`anthropic/claude-sonnet-5`,`google/gemini-3.6-flash`,`x-ai/grok-4.5`,`deepseek/deepseek-v4-pro`],w=[`anthropic/claude-3.7-sonnet`,`anthropic/claude-3.5-sonnet`,`openai/gpt-4o`,`openai/gpt-4o-mini`,`deepseek/deepseek-r1`,`deepseek/deepseek-chat`,`google/gemini-2.5-flash`,`google/gemini-2.5-pro`,`meta-llama/llama-3.3-70b-instruct`,`qwen/qwen-2.5-72b-instruct`],T=[`deepseek-chat`,`deepseek-reasoner`],E=[`Qwen/Qwen3.6-27B`,`deepseek-ai/DeepSeek-V4-Flash`,`google/gemma-3-27b-it`,`meta-llama/Llama-3.3-70B-Instruct`,`microsoft/phi-4`,`zai-org/GLM-5.2-FP8`,`mistralai/Mistral-Large-Instruct`,`openai/gpt-oss-120b`],D=[`local-model`,`Qwen/Qwen2.5-7B-Instruct-GGUF`,`meta-llama/Llama-3.2-3B-Instruct-GGUF`,`lmstudio-community/gemma-2-9b-it-GGUF`],O=[],k={gemini:v,openai:x,anthropic:S,openrouter:C,deepseek:T,huggingface:E,local_openai:D,ollama:O},A={nanobanana:[{value:`gemini-3.1-flash-image`,label:`Gemini 3.1 Flash Image (Default)`},{value:`gemini-3-pro-image`,label:`Gemini 3 Pro Image`},{value:`gemini-2.5-flash-image`,label:`Gemini 2.5 Flash Image`}],bfl:[{value:`flux-pro-1.1`,label:`FLUX 1.1 Pro (Default)`},{value:`flux-pro-1.1-ultra`,label:`FLUX 1.1 Pro Ultra`},{value:`flux-pro`,label:`FLUX Pro`},{value:`flux-dev`,label:`FLUX Dev`},{value:`flux-schnell`,label:`FLUX Schnell`},{value:`flux-kontext-pro`,label:`FLUX Kontext Pro`},{value:`flux-kontext-max`,label:`FLUX Kontext Max`},{value:`flux-fill-pro`,label:`FLUX Fill Pro`}],dalle:[{value:`gpt-image-1`,label:`GPT Image 1 (Default)`},{value:`dall-e-3`,label:`DALL·E 3`}],stability:[{value:`ultra`,label:`Stable Image Ultra (Default)`},{value:`core`,label:`Stable Image Core`},{value:`sd3.5-large`,label:`SD3.5 Large`},{value:`sd3.5-large-turbo`,label:`SD3.5 Large Turbo`},{value:`sd3-medium`,label:`SD3 Medium`}],ideogram:[{value:`V_3`,label:`Ideogram V3 (Default)`},{value:`V_2`,label:`Ideogram V2`},{value:`V_2_TURBO`,label:`Ideogram V2 Turbo`}],replicate:[{value:`black-forest-labs/flux-1.1-pro`,label:`FLUX 1.1 Pro (Default)`},{value:`black-forest-labs/flux-kontext-pro`,label:`FLUX Kontext Pro`},{value:`black-forest-labs/flux-fill-pro`,label:`FLUX Fill Pro`},{value:`black-forest-labs/flux-schnell`,label:`FLUX Schnell`},{value:`stability-ai/sdxl`,label:`SDXL`},{value:`timbrooks/instruct-pix2pix`,label:`InstructPix2Pix`}]},j={veo:[{value:`veo-3.1-generate-preview`,label:`Veo 3.1 Generate Preview (Default)`},{value:`veo-3.1-fast-generate-preview`,label:`Veo 3.1 Fast Generate Preview`},{value:`veo-3.1-lite-generate-preview`,label:`Veo 3.1 Lite Generate Preview`},{value:`veo-2.0-generate-001`,label:`Veo 2.0 Generate`}]},M={gemini:{listKey:`nanobanana`,configField:`nanobananaModel`},dalle:{listKey:`dalle`,configField:`dalleModel`},stability:{listKey:`stability`,configField:`stabilityModel`},ideogram:{listKey:`ideogram`,configField:`ideogramModel`},replicate:{listKey:`replicate`,configField:`replicateModel`},bfl:{listKey:`bfl`,configField:`bflModel`}},N={"gemini-2.5-flash":{description:`Google ultra-fast multimodal model with adaptive reasoning and high efficiency.`,contextWindow:`1M Context`,supportsThinking:!0},"gemini-2.5-pro":{description:`Google advanced flagship model for complex coding, mathematical reasoning, and multimodal analysis.`,contextWindow:`2M Context`,supportsThinking:!0},"gemini-3.6-flash":{description:`Next-gen Gemini Flash model with enhanced tool use and native speed.`,contextWindow:`1M Context`,supportsThinking:!0},"gemini-3.5-flash":{description:`High-throughput Gemini reasoning model for fast agentic workflows.`,contextWindow:`1M Context`,supportsThinking:!0},"gemini-3.5-flash-lite":{description:`Ultra-lightweight Gemini model optimized for latency and quick queries.`,contextWindow:`1M Context`,supportsThinking:!0},"gemini-3.1-flash-lite":{description:`Compact high-speed Gemini variant for real-time applications.`,contextWindow:`1M Context`,supportsThinking:!0},"claude-sonnet-5":{description:`Anthropic flagship hybrid model with extended thinking and deep coding comprehension.`,contextWindow:`200K Context`,supportsThinking:!0},"claude-opus-5":{description:`Anthropic frontier model for state-of-the-art reasoning, analysis, and architecture.`,contextWindow:`200K Context`,supportsThinking:!0},"claude-sonnet-4.6":{description:`High-intelligence Claude model optimized for precise software engineering.`,contextWindow:`200K Context`,supportsThinking:!0},"claude-opus-4.8":{description:`Heavyweight reasoning model designed for complex multi-turn logic.`,contextWindow:`200K Context`,supportsThinking:!0},"claude-haiku-4.5":{description:`Fast and responsive Claude model for lightweight conversational turns.`,contextWindow:`200K Context`,supportsThinking:!1},"gpt-5.6-terra":{description:`Balanced frontier OpenAI model with robust multi-step reasoning capabilities.`,contextWindow:`128K Context`,supportsThinking:!0},"gpt-5.6-luna":{description:`Next-generation versatile model for coding, creative synthesis, and tool use.`,contextWindow:`128K Context`,supportsThinking:!0},"gpt-5.6-sol":{description:`High-performance OpenAI model designed for deep analysis and problem solving.`,contextWindow:`128K Context`,supportsThinking:!0},"gpt-5.5-thinking":{description:`OpenAI dedicated thinking model with extended chain-of-thought processing.`,contextWindow:`128K Context`,supportsThinking:!0},"gpt-5.5-pro":{description:`Flagship OpenAI model with high instruction precision and broad domain mastery.`,contextWindow:`128K Context`,supportsThinking:!0},"gpt-4o":{description:`OpenAI versatile multimodal model for text, vision, and high-speed chat.`,contextWindow:`128K Context`,supportsThinking:!1},"gpt-4o-mini":{description:`Compact and fast OpenAI model for everyday conversational tasks.`,contextWindow:`128K Context`,supportsThinking:!1},"deepseek-v4-flash":{description:`High-throughput DeepSeek model built for swift responses and programming.`,contextWindow:`128K Context`,supportsThinking:!1},"deepseek-v4-pro":{description:`Advanced DeepSeek model featuring deep multilingual and coding reasoning.`,contextWindow:`128K Context`,supportsThinking:!0},"deepseek-reasoner":{description:`DeepSeek native reasoning model (R1 architecture) with comprehensive chain-of-thought.`,contextWindow:`64K Context`,supportsThinking:!0},"deepseek-chat":{description:`General-purpose DeepSeek V3 conversational and coding model.`,contextWindow:`64K Context`,supportsThinking:!1}}}));function le(e,t){if(t){if(t.trim().startsWith(`<svg`))return(0,R.jsx)(`div`,{dangerouslySetInnerHTML:{__html:t},style:{width:`22px`,height:`22px`,display:`flex`,alignItems:`center`,justifyContent:`center`}});if(t.startsWith(`http://`)||t.startsWith(`https://`)||t.startsWith(`data:image`))return(0,R.jsx)(`img`,{src:t,alt:e,style:{width:`22px`,height:`22px`,objectFit:`contain`}});let n=t.toLowerCase().trim();if(n===`search`)return(0,R.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#3b82f6`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`circle`,{cx:`11`,cy:`11`,r:`8`}),(0,R.jsx)(`line`,{x1:`21`,y1:`21`,x2:`16.65`,y2:`16.65`})]});if(n===`database`)return(0,R.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#a855f7`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}),(0,R.jsx)(`path`,{d:`M21 12c0 1.66-4 3-9 3s-9-1.34-9-3`}),(0,R.jsx)(`path`,{d:`M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5`})]});if(n===`cloud`)return(0,R.jsx)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#38bdf8`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,R.jsx)(`path`,{d:`M18 10h-1.26A8 8 0 1 0 9 20h9a5 5 0 0 0 0-10z`})});if(n===`code`||n===`terminal`)return(0,R.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#10b981`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`polyline`,{points:`16 18 22 12 16 6`}),(0,R.jsx)(`polyline`,{points:`8 6 2 12 8 18`})]});if(n===`api`||n===`bolt`)return(0,R.jsx)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#f59e0b`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,R.jsx)(`polygon`,{points:`13 2 3 14 12 14 11 22 21 10 12 10 13 2`})});if(n===`globe`||n===`remote`||n===`web`||n===`url`||n===`🌐`)return(0,R.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#38bdf8`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,R.jsx)(`line`,{x1:`2`,y1:`12`,x2:`22`,y2:`12`}),(0,R.jsx)(`path`,{d:`M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z`})]})}let n=e.toLowerCase().trim();return n===`docker`?(0,R.jsx)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`#0db7ed`,children:(0,R.jsx)(`path`,{d:`M13 8.5h2v2h-2zm-3 0h2v2h-2zm-3 0h2v2H7zm-3 3h2v2H4zm3 0h2v2H7zm3 0h2v2h-2zm3 0h2v2h-2zm3 0h2v2h-2zm-12 3h2v2H4zm3 0h2v2H7zm3 0h2v2h-2zm3 0h2v2h-2zm3 0h2v2h-2zm-6.2 3.8c-.8.5-2.1.8-3.4.6-2.5-.3-4.5-2.2-4.8-4.7h-1c.4 3.4 3.1 6 6.5 6 3 0 5.6-2 6.4-4.8.6-.2 1.4-.4 2.2-.2.3.1.6.3.8.5.6.6 1.4.9 2.2.9h.4c.5-.7.8-1.5.8-2.4 0-.3 0-.6-.1-.9-.7.1-1.4 0-2.1-.3-.6-.3-1.1-.8-1.5-1.4l-.2-.3h-2.1c-.2.7-.6 1.3-1.2 1.7-.6.4-1.3.6-2 .4z`})}):n===`git`||n===`gitkraken`?(0,R.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#f05032`,strokeWidth:`2.2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`circle`,{cx:`18`,cy:`18`,r:`3`}),(0,R.jsx)(`circle`,{cx:`6`,cy:`6`,r:`3`}),(0,R.jsx)(`circle`,{cx:`6`,cy:`18`,r:`3`}),(0,R.jsx)(`path`,{d:`M6 9v6`}),(0,R.jsx)(`path`,{d:`M9 18h6`})]}):n===`github`?(0,R.jsx)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`#f0f6fc`,children:(0,R.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.53 1.032 1.53 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z`})}):n===`node`||n===`nodejs`?(0,R.jsx)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`#68a063`,children:(0,R.jsx)(`path`,{d:`M12 2L2 7.5v9L12 22l10-5.5v-9L12 2zm0 2.3l7.7 4.2v7L12 19.7 4.3 15.5v-7L12 4.3zm-1 4.2v3.5l-3-1.7V8.5l3 1.7zm2 0l3-1.7v1.8l-3 1.7V8.5z`})}):n===`gmail`?(0,R.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,children:[(0,R.jsx)(`path`,{fill:`#EA4335`,d:`M20 4H4C2.9 4 2 4.9 2 6v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2z`,fillOpacity:`0.1`}),(0,R.jsx)(`path`,{fill:`#EA4335`,d:`M20 5H4c-.6 0-1.1.3-1.5.7l9.5 7.1 9.5-7.1c-.4-.4-.9-.7-1.5-.7z`}),(0,R.jsx)(`path`,{fill:`#34A853`,d:`M2 7v11c0 .6.4 1 1 1h2V9.3L2 7z`}),(0,R.jsx)(`path`,{fill:`#4285F4`,d:`M22 7l-3 2.3V19h2c.6 0 1-.4 1-1V7z`}),(0,R.jsx)(`path`,{fill:`#FBBC05`,d:`M5 19h14v-9.7l-7 5.3-7-5.3V19z`})]}):n===`calendar`||n===`google_calendar`?(0,R.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,children:[(0,R.jsx)(`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`3`,fill:`#ffffff`}),(0,R.jsx)(`path`,{d:`M19 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2z`,fill:`#4285F4`}),(0,R.jsx)(`path`,{d:`M19 3H5a2 2 0 0 0-2 2v3h18V5a2 2 0 0 0-2-2z`,fill:`#185ABC`}),(0,R.jsx)(`path`,{d:`M7 2v3M17 2v3`,stroke:`#ffffff`,strokeWidth:`1.5`,strokeLinecap:`round`}),(0,R.jsx)(`text`,{x:`12`,y:`17`,fontSize:`8.5`,fontWeight:`bold`,fill:`#ffffff`,textAnchor:`middle`,fontFamily:`system-ui, -apple-system, sans-serif`,children:`31`})]}):n===`notion`?(0,R.jsx)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`#ffffff`,children:(0,R.jsx)(`path`,{d:`M4.459 4.208c.746.606 1.026.56 2.424.466l11.424-.701c.28 0 .093-.28-.047-.326L15.69 2.155c-.42-.326-.98-.42-1.54-.373L3.712 2.808c-.42.046-.7.326-.7.7 0 .093.047.233.094.28l1.353 1.42zm.84 3.733v12.775c0 .7.373 1.073 1.12 1.026l12.774-.746c.746-.047.886-.606.886-1.12V7.1c0-.513-.233-.746-.746-.7l-13.24.793c-.56.047-.794.28-.794.746zm11.794 1.306c.093.373 0 .746-.373.793l-1.026.14v8.583c-.42.233-.886.373-1.306.373-.513 0-.84-.14-1.26-.653l-4.153-6.53v6.067l1.353.326c.093.047.14.28.14.42 0 .28-.233.373-.7.373l-2.846.14c-.093 0-.233-.093-.233-.373 0-.233.14-.373.28-.42l1.026-.14V9.95l-1.026-.14c-.093-.047-.186-.28-.186-.42 0-.28.233-.373.746-.373l2.8.047c.56 0 .98.14 1.353.746l4.06 6.344V10.23l-1.167-.14c-.093-.047-.14-.28-.14-.42 0-.28.233-.373.746-.373l2.707-.093c.14 0 .28.093.28.42z`})}):n===`youtube_music`||n===`yt_music`?(0,R.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,children:[(0,R.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`,fill:`#FF0000`}),(0,R.jsx)(`circle`,{cx:`12`,cy:`12`,r:`5.5`,fill:`none`,stroke:`#FFFFFF`,strokeWidth:`1.6`}),(0,R.jsx)(`polygon`,{points:`10.5 8.5 15.5 12 10.5 15.5`,fill:`#FFFFFF`})]}):n===`vercel`?(0,R.jsx)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`#ffffff`,children:(0,R.jsx)(`path`,{d:`M12 1L24 22H0L12 1Z`})}):n===`spotify`?(0,R.jsx)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`#1ed760`,children:(0,R.jsx)(`path`,{d:`M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2zm4.586 14.424c-.18.295-.563.387-.857.207-2.35-1.434-5.308-1.758-8.793-.963-.335.077-.67-.133-.746-.467-.077-.334.132-.67.467-.746 3.812-.871 7.102-.494 9.722 1.112.294.18.386.563.207.857zm1.233-2.743c-.226.367-.706.482-1.073.257-2.687-1.652-6.785-2.131-9.965-1.166-.413.126-.847-.106-.973-.519-.125-.413.106-.847.519-.973 3.632-1.102 8.147-.568 11.235 1.328.367.226.482.706.257 1.073zm.105-2.835C14.692 8.95 9.375 8.775 6.297 9.71c-.496.15-1.022-.132-1.173-.628-.15-.496.132-1.022.628-1.173 3.535-1.073 9.404-.871 12.984 1.254.446.265.592.844.327 1.29-.265.446-.844.592-1.29.327z`})}):n===`discord`?(0,R.jsx)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`#5865f2`,children:(0,R.jsx)(`path`,{d:`M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994.021-.041.001-.09-.041-.106a13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.061 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.893.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.028zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418z`})}):n===`filesystem`?(0,R.jsx)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#f59e0b`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,R.jsx)(`path`,{d:`M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z`})}):n===`slack`?(0,R.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#e01e5a`,strokeWidth:`2.4`,strokeLinecap:`round`,children:[(0,R.jsx)(`line`,{x1:`9`,y1:`3`,x2:`7`,y2:`21`}),(0,R.jsx)(`line`,{x1:`17`,y1:`3`,x2:`15`,y2:`21`}),(0,R.jsx)(`line`,{x1:`3`,y1:`9`,x2:`21`,y2:`7`}),(0,R.jsx)(`line`,{x1:`3`,y1:`17`,x2:`21`,y2:`15`})]}):n===`postgres`||n===`sqlite`||n===`postgresql`?(0,R.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:n===`postgres`||n===`postgresql`?`#336791`:`#0f80cc`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}),(0,R.jsx)(`path`,{d:`M21 12c0 1.66-4 3-9 3s-9-1.34-9-3`}),(0,R.jsx)(`path`,{d:`M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5`})]}):n===`puppeteer`||n===`playwright`||n===`browser`?(0,R.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#38bdf8`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,R.jsx)(`line`,{x1:`2`,y1:`12`,x2:`22`,y2:`12`}),(0,R.jsx)(`path`,{d:`M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z`})]}):n===`fetch`||n===`web`?(0,R.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#22c55e`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,R.jsx)(`line`,{x1:`2`,y1:`12`,x2:`22`,y2:`12`}),(0,R.jsx)(`path`,{d:`M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z`})]}):n===`time`?(0,R.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#a78bfa`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,R.jsx)(`polyline`,{points:`12 6 12 12 16 14`})]}):n===`memory`?(0,R.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#f472b6`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`path`,{d:`M9.5 2A2.5 2.5 0 0 1 12 4.5v15a2.5 2.5 0 0 1-4.96.44 2.5 2.5 0 0 1-2.96-3.08 3 3 0 0 1-.34-5.58 2.5 2.5 0 0 1 1.32-4.24 2.5 2.5 0 0 1 1.98-3A2.5 2.5 0 0 1 9.5 2z`}),(0,R.jsx)(`path`,{d:`M14.5 2A2.5 2.5 0 0 0 12 4.5v15a2.5 2.5 0 0 0 4.96.44 2.5 2.5 0 0 0 2.96-3.08 3 3 0 0 0 .34-5.58 2.5 2.5 0 0 0-1.32-4.24 2.5 2.5 0 0 0-1.98-3A2.5 2.5 0 0 0 14.5 2z`})]}):n===`sequential-thinking`||n===`sequentialthinking`?(0,R.jsx)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#fb923c`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,R.jsx)(`path`,{d:`M8 3v18M16 3v18M3 8h5M3 16h5M16 8h5M16 16h5`})}):(0,R.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#10b981`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`rect`,{x:`2`,y:`2`,width:`20`,height:`8`,rx:`2`,ry:`2`}),(0,R.jsx)(`rect`,{x:`2`,y:`14`,width:`20`,height:`8`,rx:`2`,ry:`2`}),(0,R.jsx)(`line`,{x1:`6`,y1:`6`,x2:`6.01`,y2:`6`}),(0,R.jsx)(`line`,{x1:`6`,y1:`18`,x2:`6.01`,y2:`18`})]})}function ue(e=20,t=`currentColor`){return(0,R.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:t,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`path`,{d:`M22 10v6M2 10l10-5 10 5-10 5z`}),(0,R.jsx)(`path`,{d:`M6 12v5c3 3 9 3 12 0v-5`})]})}function de(e=20,t=`currentColor`){return(0,R.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:t,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`path`,{d:`M12 2v8M18 10V4M6 10V4`}),(0,R.jsx)(`path`,{d:`M4 10h16v3a4 4 0 0 1-4 4h-8a4 4 0 0 1-4-4v-3z`}),(0,R.jsx)(`line`,{x1:`12`,y1:`17`,x2:`12`,y2:`22`})]})}function fe(e=20,t=`currentColor`){return(0,R.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:t,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`path`,{d:`M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z`}),(0,R.jsx)(`polyline`,{points:`3.27 6.96 12 12.01 20.73 6.96`}),(0,R.jsx)(`line`,{x1:`12`,y1:`22.08`,x2:`12`,y2:`12`})]})}function pe(e=20,t=`currentColor`){return(0,R.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:t,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`circle`,{cx:`12`,cy:`13`,r:`8`}),(0,R.jsx)(`polyline`,{points:`12 9 12 13 15 15`}),(0,R.jsx)(`path`,{d:`M9 2h6M5 5l-1.5-1.5M19 5l1.5-1.5`})]})}function me(e=20,t=`currentColor`){return(0,R.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:t,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`path`,{d:`M10 13a5 5 0 0 0 7.07 0l2.83-2.83a5 5 0 0 0-7.07-7.07l-1.5 1.5`}),(0,R.jsx)(`path`,{d:`M14 11a5 5 0 0 0-7.07 0l-2.83 2.83a5 5 0 0 0 7.07 7.07l1.5-1.5`})]})}function F(e,t){return(0,R.jsx)(`div`,{style:{width:t,height:t,borderRadius:`var(--radius-lg)`,background:`var(--accent, #10b981)`,display:`flex`,alignItems:`center`,justifyContent:`center`,flexShrink:0},children:e})}function he(e=38){return F((0,R.jsx)(`svg`,{width:e*.56,height:e*.56,viewBox:`0 0 24 24`,fill:`rgba(255, 255, 255, 0.92)`,children:(0,R.jsx)(`path`,{d:`M3 7a2 2 0 0 1 2-2h4.17a2 2 0 0 1 1.41.59L12 7h7a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7z`})}),e)}function I(e=38){return F((0,R.jsxs)(`svg`,{width:e*.56,height:e*.56,viewBox:`0 0 24 24`,fill:`none`,stroke:`rgba(255, 255, 255, 0.92)`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`path`,{d:`M22 10v6M2 10l10-5 10 5-10 5z`}),(0,R.jsx)(`path`,{d:`M6 12v5c3 3 9 3 12 0v-5`})]}),e)}function L(e=38){return F((0,R.jsxs)(`svg`,{width:e*.56,height:e*.56,viewBox:`0 0 24 24`,fill:`none`,stroke:`rgba(255, 255, 255, 0.92)`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`circle`,{cx:`12`,cy:`13`,r:`8`}),(0,R.jsx)(`polyline`,{points:`12 9 12 13 15 15`}),(0,R.jsx)(`path`,{d:`M9 2h6M5 5l-1.5-1.5M19 5l1.5-1.5`})]}),e)}var R,z,ge=t((()=>{n(),R=a(),z=[{key:`spotify`,name:`Spotify`,desc:`Control playback with AI. Requires playerctl locally or Spotify OAuth.`,icon:`🎵`,enabledField:`pluginSpotifyEnabled`,nativeName:`spotify`,hasCredentials:!0,isOAuth:!0,oauthProvider:`spotify`,fields:[{label:`Spotify Client ID`,field:`spotifyClientId`,type:`text`,placeholder:`Enter Spotify Client ID...`},{label:`Spotify Client Secret`,field:`spotifyClientSecret`,type:`password`,placeholder:`Enter Spotify Client Secret...`}]},{key:`discord`,name:`Discord RPC`,desc:`Show "Using Mint Assistant" status in your local Discord client.`,icon:`💬`,enabledField:`pluginDiscordEnabled`,hasCredentials:!1},{key:`gmail`,name:`Gmail`,desc:`Read, summarize, draft, and send emails via Google OAuth / API credentials.`,icon:`📧`,enabledField:`pluginGmailEnabled`,nativeName:`gmail`,hasCredentials:!0,isOAuth:!0,oauthProvider:`google`,fields:[{label:`Google Client ID`,field:`gmailClientId`,type:`text`,placeholder:`your_client_id.apps.googleusercontent.com`},{label:`Google Client Secret`,field:`gmailClientSecret`,type:`password`,placeholder:`your_client_secret`},{label:`Gmail Refresh Token`,field:`gmailRefreshToken`,type:`password`,placeholder:`your_refresh_token`}]},{key:`calendar`,name:`Google Calendar`,desc:`Read schedule, check availability, and create calendar events.`,icon:`📅`,enabledField:`pluginCalendarEnabled`,nativeName:`google_calendar`,hasCredentials:!0,isOAuth:!0,oauthProvider:`google`,fields:[{label:`Google Client ID`,field:`googleCalendarClientId`,type:`text`,placeholder:`your_client_id.apps.googleusercontent.com`},{label:`Google Client Secret`,field:`googleCalendarClientSecret`,type:`password`,placeholder:`your_client_secret`},{label:`Google Refresh Token`,field:`googleCalendarRefreshToken`,type:`password`,placeholder:`your_refresh_token`}]},{key:`notion`,name:`Notion`,desc:`Search pages, query databases, and create notes in Notion.`,icon:`📝`,enabledField:`pluginNotionEnabled`,nativeName:`notion`,hasCredentials:!0,isOAuth:!0,oauthProvider:`notion`,fields:[{label:`Notion Integration API Key`,field:`notionApiKey`,type:`password`,placeholder:`secret_...`},{label:`Default Database ID`,field:`notionDatabaseId`,type:`text`,placeholder:`32-character database ID`}]},{key:`github`,name:`GitHub`,desc:`Access repositories, pull requests, and issues via GitHub OAuth.`,icon:`🐱`,enabledField:`pluginGithubEnabled`,nativeName:`github`,hasCredentials:!0,isOAuth:!0,oauthProvider:`github`,fields:[{label:`GitHub Client ID`,field:`githubClientId`,type:`text`,placeholder:`Ov23...`},{label:`GitHub Client Secret`,field:`githubClientSecret`,type:`password`,placeholder:`your_github_client_secret`},{label:`GitHub Personal Access Token (Optional)`,field:`githubToken`,type:`password`,placeholder:`ghp_...`}]},{key:`dev_tools`,name:`Dev Tools`,desc:`Read git status, log, and branch info from the workspace.`,icon:`🛠️`,enabledField:`pluginDevToolsEnabled`,hasCredentials:!1,nativeName:`dev_tools`},{key:`docker`,name:`Docker`,desc:`List, start, stop, or restart local Docker containers.`,icon:`🐳`,enabledField:`pluginDockerEnabled`,hasCredentials:!1,nativeName:`docker`},{key:`obsidian`,name:`Local Notes`,desc:`List, read, or append Markdown notes in your notes folder.`,icon:`🗒️`,enabledField:`pluginObsidianEnabled`,hasCredentials:!1,nativeName:`obsidian`},{key:`system_metrics`,name:`System Metrics`,desc:`Read native RAM, CPU, and uptime metrics.`,icon:`📊`,enabledField:`pluginSystemMetricsEnabled`,hasCredentials:!1,nativeName:`system_metrics`}]})),_e=t((()=>{}));function B(e){if(!e)return`Primary provider`;let t=e.startsWith(`custom:`)?e.replace(/^custom:/,``):e;switch(t.toLowerCase()){case`gemini`:return`Gemini`;case`openai`:return`OpenAI`;case`openrouter`:return`OpenRouter`;case`deepseek`:return`DeepSeek`;case`anthropic`:return`Claude`;case`huggingface`:return`Hugging Face`;case`local_openai`:return`Local OpenAI`;case`ollama`:return`Ollama`;case`groq`:return`Groq`;default:return t.charAt(0).toUpperCase()+t.slice(1)}}function ve(e){if(!e?.fallbackProvider)return``;let t=e.fallbackReason?` (${e.fallbackReason})`:``;return`${B(e.fallbackProvider)} unavailable${t}, fell back to ${B(e.provider)}.`}var ye=t((()=>{}));function V(e){return[...k[e]??[]]}function be(e,t,n){let[i,a]=(0,H.useState)(V(e)),[o,s]=(0,H.useState)(!1),c=(0,H.useRef)(0);return(0,H.useEffect)(()=>{if(a(V(e)),e===`ollama`||e===`huggingface`)return;let i=++c.current;s(!0),r(e,t,n).then(e=>{i===c.current&&a(e)}).catch(()=>{}).finally(()=>{i===c.current&&s(!1)})},[e,t,n]),{models:i,loading:o}}var H,xe=t((()=>{H=e(n()),P(),i()})),U,Se=t((()=>{U=`data:image/svg+xml,%3csvg%20fill='currentColor'%20fill-rule='evenodd'%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eAnthropic%3c/title%3e%3cpath%20d='M13.827%203.52h3.603L24%2020h-3.603l-6.57-16.48zm-7.258%200h3.767L16.906%2020h-3.674l-1.343-3.461H5.017l-1.344%203.46H0L6.57%203.522zm4.132%209.959L8.453%207.687%206.205%2013.48H10.7z'%3e%3c/path%3e%3c/svg%3e`})),W,Ce=t((()=>{W=`data:image/svg+xml,%3csvg%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eDeepSeek%3c/title%3e%3cpath%20d='M23.748%204.482c-.254-.124-.364.113-.512.234-.051.039-.094.09-.137.136-.372.397-.806.657-1.373.626-.829-.046-1.537.214-2.163.848-.133-.782-.575-1.248-1.247-1.548-.352-.156-.708-.311-.955-.65-.172-.241-.219-.51-.305-.774-.055-.16-.11-.323-.293-.35-.2-.031-.278.136-.356.276-.313.572-.434%201.202-.422%201.84.027%201.436.633%202.58%201.838%203.393.137.093.172.187.129.323-.082.28-.18.552-.266.833-.055.179-.137.217-.329.14a5.526%205.526%200%2001-1.736-1.18c-.857-.828-1.631-1.742-2.597-2.458a11.365%2011.365%200%2000-.689-.471c-.985-.957.13-1.743.388-1.836.27-.098.093-.432-.779-.428-.872.004-1.67.295-2.687.684a3.055%203.055%200%2001-.465.137%209.597%209.597%200%2000-2.883-.102c-1.885.21-3.39%201.102-4.497%202.623C.082%208.606-.231%2010.684.152%2012.85c.403%202.284%201.569%204.175%203.36%205.653%201.858%201.533%203.997%202.284%206.438%202.14%201.482-.085%203.133-.284%204.994-1.86.47.234.962.327%201.78.397.63.059%201.236-.03%201.705-.128.735-.156.684-.837.419-.961-2.155-1.004-1.682-.595-2.113-.926%201.096-1.296%202.746-2.642%203.392-7.003.05-.347.007-.565%200-.845-.004-.17.035-.237.23-.256a4.173%204.173%200%20001.545-.475c1.396-.763%201.96-2.015%202.093-3.517.02-.23-.004-.467-.247-.588zM11.581%2018c-2.089-1.642-3.102-2.183-3.52-2.16-.392.024-.321.471-.235.763.09.288.207.486.371.739.114.167.192.416-.113.603-.673.416-1.842-.14-1.897-.167-1.361-.802-2.5-1.86-3.301-3.307-.774-1.393-1.224-2.887-1.298-4.482-.02-.386.093-.522.477-.592a4.696%204.696%200%20011.529-.039c2.132.312%203.946%201.265%205.468%202.774.868.86%201.525%201.887%202.202%202.891.72%201.066%201.494%202.082%202.48%202.914.348.292.625.514.891.677-.802.09-2.14.11-3.054-.614zm1-6.44a.306.306%200%2001.415-.287.302.302%200%2001.2.288.306.306%200%2001-.31.307.303.303%200%2001-.304-.308zm3.11%201.596c-.2.081-.399.151-.59.16a1.245%201.245%200%2001-.798-.254c-.274-.23-.47-.358-.552-.758a1.73%201.73%200%2001.016-.588c.07-.327-.008-.537-.239-.727-.187-.156-.426-.199-.688-.199a.559.559%200%2001-.254-.078c-.11-.054-.2-.19-.114-.358.028-.054.16-.186.192-.21.356-.202.767-.136%201.146.016.352.144.618.408%201.001.782.391.451.462.576.685.914.176.265.336.537.445.848.067.195-.019.354-.25.452z'%20fill='%234D6BFE'%3e%3c/path%3e%3c/svg%3e`})),G,we=t((()=>{G=`data:image/svg+xml,%3csvg%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eGemini%3c/title%3e%3cpath%20d='M20.616%2010.835a14.147%2014.147%200%2001-4.45-3.001%2014.111%2014.111%200%2001-3.678-6.452.503.503%200%2000-.975%200%2014.134%2014.134%200%2001-3.679%206.452%2014.155%2014.155%200%2001-4.45%203.001c-.65.28-1.318.505-2.002.678a.502.502%200%20000%20.975c.684.172%201.35.397%202.002.677a14.147%2014.147%200%20014.45%203.001%2014.112%2014.112%200%20013.679%206.453.502.502%200%2000.975%200c.172-.685.397-1.351.677-2.003a14.145%2014.145%200%20013.001-4.45%2014.113%2014.113%200%20016.453-3.678.503.503%200%20000-.975%2013.245%2013.245%200%2001-2.003-.678z'%20fill='%233186FF'%3e%3c/path%3e%3cpath%20d='M20.616%2010.835a14.147%2014.147%200%2001-4.45-3.001%2014.111%2014.111%200%2001-3.678-6.452.503.503%200%2000-.975%200%2014.134%2014.134%200%2001-3.679%206.452%2014.155%2014.155%200%2001-4.45%203.001c-.65.28-1.318.505-2.002.678a.502.502%200%20000%20.975c.684.172%201.35.397%202.002.677a14.147%2014.147%200%20014.45%203.001%2014.112%2014.112%200%20013.679%206.453.502.502%200%2000.975%200c.172-.685.397-1.351.677-2.003a14.145%2014.145%200%20013.001-4.45%2014.113%2014.113%200%20016.453-3.678.503.503%200%20000-.975%2013.245%2013.245%200%2001-2.003-.678z'%20fill='url(%23lobe-icons-gemini-0-_R_0_)'%3e%3c/path%3e%3cpath%20d='M20.616%2010.835a14.147%2014.147%200%2001-4.45-3.001%2014.111%2014.111%200%2001-3.678-6.452.503.503%200%2000-.975%200%2014.134%2014.134%200%2001-3.679%206.452%2014.155%2014.155%200%2001-4.45%203.001c-.65.28-1.318.505-2.002.678a.502.502%200%20000%20.975c.684.172%201.35.397%202.002.677a14.147%2014.147%200%20014.45%203.001%2014.112%2014.112%200%20013.679%206.453.502.502%200%2000.975%200c.172-.685.397-1.351.677-2.003a14.145%2014.145%200%20013.001-4.45%2014.113%2014.113%200%20016.453-3.678.503.503%200%20000-.975%2013.245%2013.245%200%2001-2.003-.678z'%20fill='url(%23lobe-icons-gemini-1-_R_0_)'%3e%3c/path%3e%3cpath%20d='M20.616%2010.835a14.147%2014.147%200%2001-4.45-3.001%2014.111%2014.111%200%2001-3.678-6.452.503.503%200%2000-.975%200%2014.134%2014.134%200%2001-3.679%206.452%2014.155%2014.155%200%2001-4.45%203.001c-.65.28-1.318.505-2.002.678a.502.502%200%20000%20.975c.684.172%201.35.397%202.002.677a14.147%2014.147%200%20014.45%203.001%2014.112%2014.112%200%20013.679%206.453.502.502%200%2000.975%200c.172-.685.397-1.351.677-2.003a14.145%2014.145%200%20013.001-4.45%2014.113%2014.113%200%20016.453-3.678.503.503%200%20000-.975%2013.245%2013.245%200%2001-2.003-.678z'%20fill='url(%23lobe-icons-gemini-2-_R_0_)'%3e%3c/path%3e%3cdefs%3e%3clinearGradient%20gradientUnits='userSpaceOnUse'%20id='lobe-icons-gemini-0-_R_0_'%20x1='7'%20x2='11'%20y1='15.5'%20y2='12'%3e%3cstop%20stop-color='%2308B962'%3e%3c/stop%3e%3cstop%20offset='1'%20stop-color='%2308B962'%20stop-opacity='0'%3e%3c/stop%3e%3c/linearGradient%3e%3clinearGradient%20gradientUnits='userSpaceOnUse'%20id='lobe-icons-gemini-1-_R_0_'%20x1='8'%20x2='11.5'%20y1='5.5'%20y2='11'%3e%3cstop%20stop-color='%23F94543'%3e%3c/stop%3e%3cstop%20offset='1'%20stop-color='%23F94543'%20stop-opacity='0'%3e%3c/stop%3e%3c/linearGradient%3e%3clinearGradient%20gradientUnits='userSpaceOnUse'%20id='lobe-icons-gemini-2-_R_0_'%20x1='3.5'%20x2='17.5'%20y1='13.5'%20y2='12'%3e%3cstop%20stop-color='%23FABC12'%3e%3c/stop%3e%3cstop%20offset='.46'%20stop-color='%23FABC12'%20stop-opacity='0'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e`})),K,Te=t((()=>{K=`data:image/svg+xml,%3csvg%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eHuggingFace%3c/title%3e%3cpath%20d='M2.25%2011.535c0-3.407%201.847-6.554%204.844-8.258a9.822%209.822%200%20019.687%200c2.997%201.704%204.844%204.851%204.844%208.258%200%205.266-4.337%209.535-9.687%209.535S2.25%2016.8%202.25%2011.535z'%20fill='%23FF9D0B'%3e%3c/path%3e%3cpath%20d='M11.938%2020.086c4.797%200%208.687-3.829%208.687-8.551%200-4.722-3.89-8.55-8.687-8.55-4.798%200-8.688%203.828-8.688%208.55%200%204.722%203.89%208.55%208.688%208.55z'%20fill='%23FFD21E'%3e%3c/path%3e%3cpath%20d='M11.875%2015.113c2.457%200%203.25-2.156%203.25-3.263%200-.576-.393-.394-1.023-.089-.582.283-1.365.675-2.224.675-1.798%200-3.25-1.693-3.25-.586%200%201.107.79%203.263%203.25%203.263h-.003z'%20fill='%23FF323D'%3e%3c/path%3e%3cpath%20d='M14.76%209.21c.32.108.445.753.767.585.447-.233.707-.708.659-1.204a1.235%201.235%200%2000-.879-1.059%201.262%201.262%200%2000-1.33.394c-.322.384-.377.92-.14%201.36.153.283.638-.177.925-.079l-.002.003zm-5.887%200c-.32.108-.448.753-.768.585a1.226%201.226%200%2001-.658-1.204c.048-.495.395-.913.878-1.059a1.262%201.262%200%20011.33.394c.322.384.377.92.14%201.36-.152.283-.64-.177-.925-.079l.003.003zm1.12%205.34a2.166%202.166%200%20011.325-1.106c.07-.02.144.06.219.171l.192.306c.069.1.139.175.209.175.074%200%20.15-.074.223-.172l.205-.302c.08-.11.157-.188.234-.165.537.168.986.536%201.25%201.026.932-.724%201.275-1.905%201.275-2.633%200-.508-.306-.426-.81-.19l-.616.296c-.52.24-1.148.48-1.824.48-.676%200-1.302-.24-1.823-.48l-.589-.283c-.52-.248-.838-.342-.838.177%200%20.703.32%201.831%201.187%202.56l.18.14z'%20fill='%233A3B45'%3e%3c/path%3e%3cpath%20d='M17.812%2010.366a.806.806%200%2000.813-.8c0-.441-.364-.8-.813-.8a.806.806%200%2000-.812.8c0%20.442.364.8.812.8zm-11.624%200a.806.806%200%2000.812-.8c0-.441-.364-.8-.812-.8a.806.806%200%2000-.813.8c0%20.442.364.8.813.8zM4.515%2013.073c-.405%200-.765.162-1.017.46a1.455%201.455%200%2000-.333.925%201.801%201.801%200%2000-.485-.074c-.387%200-.737.146-.985.409a1.41%201.41%200%2000-.2%201.722%201.302%201.302%200%2000-.447.694c-.06.222-.12.69.2%201.166a1.267%201.267%200%2000-.093%201.236c.238.533.81.958%201.89%201.405l.24.096c.768.3%201.473.492%201.478.494.89.243%201.808.375%202.732.394%201.465%200%202.513-.443%203.115-1.314.93-1.342.842-2.575-.274-3.763l-.151-.154c-.692-.684-1.155-1.69-1.25-1.912-.195-.655-.71-1.383-1.562-1.383-.46.007-.889.233-1.15.605-.25-.31-.495-.553-.715-.694a1.87%201.87%200%2000-.993-.312zm14.97%200c.405%200%20.767.162%201.017.46.216.262.333.588.333.925.158-.047.322-.071.487-.074.388%200%20.738.146.985.409a1.41%201.41%200%2001.2%201.722c.22.178.377.422.445.694.06.222.12.69-.2%201.166.244.37.279.836.093%201.236-.238.533-.81.958-1.889%201.405l-.239.096c-.77.3-1.475.492-1.48.494-.89.243-1.808.375-2.732.394-1.465%200-2.513-.443-3.115-1.314-.93-1.342-.842-2.575.274-3.763l.151-.154c.695-.684%201.157-1.69%201.252-1.912.195-.655.708-1.383%201.56-1.383.46.007.889.233%201.15.605.25-.31.495-.553.718-.694.244-.162.523-.265.814-.3l.176-.012z'%20fill='%23FF9D0B'%3e%3c/path%3e%3cpath%20d='M9.785%2020.132c.688-.994.638-1.74-.305-2.667-.945-.928-1.495-2.288-1.495-2.288s-.205-.788-.672-.714c-.468.074-.81%201.25.17%201.971.977.721-.195%201.21-.573.534-.375-.677-1.405-2.416-1.94-2.751-.532-.332-.907-.148-.782.541.125.687%202.357%202.35%202.14%202.707-.218.362-.983-.42-.983-.42S2.953%2014.9%202.43%2015.46c-.52.558.398%201.026%201.7%201.803%201.308.778%201.41.985%201.225%201.28-.187.295-3.07-2.1-3.34-1.083-.27%201.011%202.943%201.304%202.745%202.006-.2.7-2.265-1.324-2.685-.537-.425.79%202.913%201.718%202.94%201.725%201.075.276%203.813.859%204.77-.522zm4.432%200c-.687-.994-.64-1.74.305-2.667.943-.928%201.493-2.288%201.493-2.288s.205-.788.675-.714c.465.074.807%201.25-.17%201.971-.98.721.195%201.21.57.534.377-.677%201.407-2.416%201.94-2.751.532-.332.91-.148.782.541-.125.687-2.355%202.35-2.137%202.707.215.362.98-.42.98-.42S21.05%2014.9%2021.57%2015.46c.52.558-.395%201.026-1.7%201.803-1.308.778-1.408.985-1.225%201.28.187.295%203.07-2.1%203.34-1.083.27%201.011-2.94%201.304-2.743%202.006.2.7%202.263-1.324%202.685-.537.423.79-2.912%201.718-2.94%201.725-1.077.276-3.815.859-4.77-.522z'%20fill='%23FFD21E'%3e%3c/path%3e%3c/svg%3e`})),q,J=t((()=>{q=`data:image/svg+xml,%3csvg%20fill='currentColor'%20fill-rule='evenodd'%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eLM%20Studio%3c/title%3e%3cpath%20d='M2.84%202a1.273%201.273%200%20100%202.547h14.107a1.273%201.273%200%20100-2.547H2.84zM7.935%205.33a1.273%201.273%200%20000%202.548H22.04a1.274%201.274%200%20000-2.547H7.935zM3.624%209.935c0-.704.57-1.274%201.274-1.274h14.106a1.274%201.274%200%20010%202.547H4.898c-.703%200-1.274-.57-1.274-1.273zM1.273%2012.188a1.273%201.273%200%20100%202.547H15.38a1.274%201.274%200%20000-2.547H1.273zM3.624%2016.792c0-.704.57-1.274%201.274-1.274h14.106a1.273%201.273%200%20110%202.547H4.898c-.703%200-1.274-.57-1.274-1.273zM13.029%2018.849a1.273%201.273%200%20100%202.547h9.698a1.273%201.273%200%20100-2.547h-9.698z'%20fill-opacity='.3'%3e%3c/path%3e%3cpath%20d='M2.84%202a1.273%201.273%200%20100%202.547h10.287a1.274%201.274%200%20000-2.547H2.84zM7.935%205.33a1.273%201.273%200%20000%202.548H18.22a1.274%201.274%200%20000-2.547H7.935zM3.624%209.935c0-.704.57-1.274%201.274-1.274h10.286a1.273%201.273%200%20010%202.547H4.898c-.703%200-1.274-.57-1.274-1.273zM1.273%2012.188a1.273%201.273%200%20100%202.547H11.56a1.274%201.274%200%20000-2.547H1.273zM3.624%2016.792c0-.704.57-1.274%201.274-1.274h10.286a1.273%201.273%200%20110%202.547H4.898c-.703%200-1.274-.57-1.274-1.273zM13.029%2018.849a1.273%201.273%200%20100%202.547h5.78a1.273%201.273%200%20100-2.547h-5.78z'%3e%3c/path%3e%3c/svg%3e`})),Y,Ee=t((()=>{Y=`data:image/svg+xml,%3csvg%20fill='currentColor'%20fill-rule='evenodd'%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eOllama%3c/title%3e%3cpath%20d='M7.905%201.09c.216.085.411.225.588.41.295.306.544.744.734%201.263.191.522.315%201.1.362%201.68a5.054%205.054%200%20012.049-.636l.051-.004c.87-.07%201.73.087%202.48.474.101.053.2.11.297.17.05-.569.172-1.134.36-1.644.19-.52.439-.957.733-1.264a1.67%201.67%200%2001.589-.41c.257-.1.53-.118.796-.042.401.114.745.368%201.016.737.248.337.434.769.561%201.287.23.934.27%202.163.115%203.645l.053.04.026.019c.757.576%201.284%201.397%201.563%202.35.435%201.487.216%203.155-.534%204.088l-.018.021.002.003c.417.762.67%201.567.724%202.4l.002.03c.064%201.065-.2%202.137-.814%203.19l-.007.01.01.024c.472%201.157.62%202.322.438%203.486l-.006.039a.651.651%200%2001-.747.536.648.648%200%2001-.54-.742c.167-1.033.01-2.069-.48-3.123a.643.643%200%2001.04-.617l.004-.006c.604-.924.854-1.83.8-2.72-.046-.779-.325-1.544-.8-2.273a.644.644%200%2001.18-.886l.009-.006c.243-.159.467-.565.58-1.12a4.229%204.229%200%2000-.095-1.974c-.205-.7-.58-1.284-1.105-1.683-.595-.454-1.383-.673-2.38-.61a.653.653%200%2001-.632-.371c-.314-.665-.772-1.141-1.343-1.436a3.288%203.288%200%2000-1.772-.332c-1.245.099-2.343.801-2.67%201.686a.652.652%200%2001-.61.425c-1.067.002-1.893.252-2.497.703-.522.39-.878.935-1.066%201.588a4.07%204.07%200%2000-.068%201.886c.112.558.331%201.02.582%201.269l.008.007c.212.207.257.53.109.785-.36.622-.629%201.549-.673%202.44-.05%201.018.186%201.902.719%202.536l.016.019a.643.643%200%2001.095.69c-.576%201.236-.753%202.252-.562%203.052a.652.652%200%2001-1.269.298c-.243-1.018-.078-2.184.473-3.498l.014-.035-.008-.012a4.339%204.339%200%2001-.598-1.309l-.005-.019a5.764%205.764%200%2001-.177-1.785c.044-.91.278-1.842.622-2.59l.012-.026-.002-.002c-.293-.418-.51-.953-.63-1.545l-.005-.024a5.352%205.352%200%2001.093-2.49c.262-.915.777-1.701%201.536-2.269.06-.045.123-.09.186-.132-.159-1.493-.119-2.73.112-3.67.127-.518.314-.95.562-1.287.27-.368.614-.622%201.015-.737.266-.076.54-.059.797.042zm4.116%209.09c.936%200%201.8.313%202.446.855.63.527%201.005%201.235%201.005%201.94%200%20.888-.406%201.58-1.133%202.022-.62.375-1.451.557-2.403.557-1.009%200-1.871-.259-2.493-.734-.617-.47-.963-1.13-.963-1.845%200-.707.398-1.417%201.056-1.946.668-.537%201.55-.849%202.485-.849zm0%20.896a3.07%203.07%200%2000-1.916.65c-.461.37-.722.835-.722%201.25%200%20.428.21.829.61%201.134.455.347%201.124.548%201.943.548.799%200%201.473-.147%201.932-.426.463-.28.7-.686.7-1.257%200-.423-.246-.89-.683-1.256-.484-.405-1.14-.643-1.864-.643zm.662%201.21l.004.004c.12.151.095.37-.056.49l-.292.23v.446a.375.375%200%2001-.376.373.375.375%200%2001-.376-.373v-.46l-.271-.218a.347.347%200%2001-.052-.49.353.353%200%2001.494-.051l.215.172.22-.174a.353.353%200%2001.49.051zm-5.04-1.919c.478%200%20.867.39.867.871a.87.87%200%2001-.868.871.87.87%200%2001-.867-.87.87.87%200%2001.867-.872zm8.706%200c.48%200%20.868.39.868.871a.87.87%200%2001-.868.871.87.87%200%2001-.867-.87.87.87%200%2001.867-.872zM7.44%202.3l-.003.002a.659.659%200%2000-.285.238l-.005.006c-.138.189-.258.467-.348.832-.17.692-.216%201.631-.124%202.782.43-.128.899-.208%201.404-.237l.01-.001.019-.034c.046-.082.095-.161.148-.239.123-.771.022-1.692-.253-2.444-.134-.364-.297-.65-.453-.813a.628.628%200%2000-.107-.09L7.44%202.3zm9.174.04l-.002.001a.628.628%200%2000-.107.09c-.156.163-.32.45-.453.814-.29.794-.387%201.776-.23%202.572l.058.097.008.014h.03a5.184%205.184%200%20011.466.212c.086-1.124.038-2.043-.128-2.722-.09-.365-.21-.643-.349-.832l-.004-.006a.659.659%200%2000-.285-.239h-.004z'%3e%3c/path%3e%3c/svg%3e`})),X,De=t((()=>{X=`data:image/svg+xml,%3csvg%20fill='currentColor'%20fill-rule='evenodd'%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eOpenAI%3c/title%3e%3cpath%20d='M9.205%208.658v-2.26c0-.19.072-.333.238-.428l4.543-2.616c.619-.357%201.356-.523%202.117-.523%202.854%200%204.662%202.212%204.662%204.566%200%20.167%200%20.357-.024.547l-4.71-2.759a.797.797%200%2000-.856%200l-5.97%203.473zm10.609%208.8V12.06c0-.333-.143-.57-.429-.737l-5.97-3.473%201.95-1.118a.433.433%200%2001.476%200l4.543%202.617c1.309.76%202.189%202.378%202.189%203.948%200%201.808-1.07%203.473-2.76%204.163zM7.802%2012.703l-1.95-1.142c-.167-.095-.239-.238-.239-.428V5.899c0-2.545%201.95-4.472%204.591-4.472%201%200%201.927.333%202.712.928L8.23%205.067c-.285.166-.428.404-.428.737v6.898zM12%2015.128l-2.795-1.57v-3.33L12%208.658l2.795%201.57v3.33L12%2015.128zm1.796%207.23c-1%200-1.927-.332-2.712-.927l4.686-2.712c.285-.166.428-.404.428-.737v-6.898l1.974%201.142c.167.095.238.238.238.428v5.233c0%202.545-1.974%204.472-4.614%204.472zm-5.637-5.303l-4.544-2.617c-1.308-.761-2.188-2.378-2.188-3.948A4.482%204.482%200%20014.21%206.327v5.423c0%20.333.143.571.428.738l5.947%203.449-1.95%201.118a.432.432%200%2001-.476%200zm-.262%203.9c-2.688%200-4.662-2.021-4.662-4.519%200-.19.024-.38.047-.57l4.686%202.71c.286.167.571.167.856%200l5.97-3.448v2.26c0%20.19-.07.333-.237.428l-4.543%202.616c-.619.357-1.356.523-2.117.523zm5.899%202.83a5.947%205.947%200%20005.827-4.756C22.287%2018.339%2024%2015.84%2024%2013.296c0-1.665-.713-3.282-1.998-4.448.119-.5.19-.999.19-1.498%200-3.401-2.759-5.947-5.946-5.947-.642%200-1.26.095-1.88.31A5.962%205.962%200%200010.205%200a5.947%205.947%200%2000-5.827%204.757C1.713%205.447%200%207.945%200%2010.49c0%201.666.713%203.283%201.998%204.448-.119.5-.19%201-.19%201.499%200%203.401%202.759%205.946%205.946%205.946.642%200%201.26-.095%201.88-.309a5.96%205.96%200%20004.162%201.713z'%3e%3c/path%3e%3c/svg%3e`})),Z,Oe=t((()=>{Z=`data:image/svg+xml,%3csvg%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eOpenRouter%3c/title%3e%3cpath%20d='M18.654%203.87a5.087%205.087%200%20110%2010.174L23.7%2019.09c.64.641.187%201.737-.72%201.737H8.48a8.479%208.479%200%20010-16.958h10.175zM8.479%207.26a5.087%205.087%200%20100%2010.176%205.087%205.087%200%20000-10.175z'%20fill='%23C8FF00'%3e%3c/path%3e%3c/svg%3e`}));function ke(e){return!e||e.typographyScaleVersion===2?e:{...e,fontSize:e.fontSize===`18px`?`16px`:e.fontSize,typographyScaleVersion:2}}var Q,$,Ae=t((()=>{Q={theme:`dark`,tuiTheme:`dark`,accentColor:`#10b981`,systemTextColor:`#f8fafc`,chatTextColor:`#f8fafc`,customBgStart:`#0f172a`,customBgEnd:`#1e1b4b`,customPanelBg:`#1e293b`,surfaceStyle:`opaque`,glassBlur:`none`,fontFamily:`'Prompt', sans-serif`,fontSize:`16px`,typographyScaleVersion:2,apiKey:``,aiProvider:`gemini`,geminiModel:`gemini-2.5-flash`,openaiModel:`gpt-5.6-luna`,openrouterModel:`openai/gpt-5.6-terra`,deepseekModel:`deepseek-v4-flash`,anthropicModel:`claude-sonnet-5`,ollamaModel:`llama3:latest`,temperature:null,modelTemperatures:{},thinkingEnabled:!0,thinkingEffort:`medium`,modelThinkingConfigs:{},language:`th-TH`,proactiveInterval:60,proactiveCooldown:120,enableVoiceReply:!0,enableAgentCollaboration:!1,autoSkillWriting:!1,ttsProvider:`google`,ttsVolume:1,ttsSpeed:1,ttsPitch:1,voiceMode:`legacy`,geminiLiveModel:`gemini-2.5-flash-native-audio-preview-12-2025`,geminiLiveVoice:`Puck`,pluginSpotifyEnabled:!1,pluginCalendarEnabled:!1,pluginGmailEnabled:!1,pluginNotionEnabled:!1,pluginDiscordEnabled:!1,showDesktopWidget:!0,mcpServers:{},hfModel:`Qwen/Qwen3.6-27B`,localApiBaseUrl:``,localModelName:`local-model`,ollamaHost:``,anthropicApiKey:``,openaiApiKey:``,openrouterApiKey:``,deepseekApiKey:``,hfApiKey:``,bflApiKey:``,bflModel:`flux-pro-1.1`,automationBrowser:`chromium`,browserDebugUrl:`http://127.0.0.1:9222/json/list`,browserExtensionContextUrl:`http://127.0.0.1:3212/context`,enableHeadlessTaskQueue:!1,enableAutoUpdate:!1,updaterEndpoint:``,updaterPublicKey:``,telegramBotToken:``,enableTelegramBridge:!1,discordBotToken:``,discordApplicationId:``,enableDiscordBridge:!1,slackBotToken:``,slackAppToken:``,enableSlackBridge:!1,lineChannelAccessToken:``,lineChannelSecret:``,enableLineBridge:!1,lineWebhookHost:`127.0.0.1`,lineWebhookPort:3e3,whatsappCloudAccessToken:``,whatsappPhoneNumberId:``,whatsappVerifyToken:``,whatsappAppSecret:``,enableWhatsappBridge:!1,whatsappWebhookHost:`127.0.0.1`,whatsappWebhookPort:3001,enableBridgeAckNotification:!0,bridgeAckMessage:`[Mint Agent] Remote command received, processing...`,notionApiKey:``,notionDatabaseId:``,gmailClientId:``,gmailClientSecret:``,spotifyClientId:``,spotifyClientSecret:``,googleCalendarClientId:``,googleCalendarClientSecret:``,searchProvider:`google`,braveSearchApiKey:``,googleSearchApiKey:``,googleSearchCx:``,searxngBaseUrl:``,imageGenProvider:`gemini`,stabilityApiKey:``,ideogramApiKey:``,replicateApiKey:``,nanobananaModel:`gemini-3.1-flash-image`,dalleModel:`gpt-image-1`,stabilityModel:`ultra`,ideogramModel:`V_3`,replicateModel:`black-forest-labs/flux-1.1-pro`,videoGenProvider:`veo`,veoModel:`veo-3.1-generate-preview`,agents:[{id:`planner`,name:`Planner`,provider:`gemini`,model:`gemini-2.5-flash`,apiKey:``,systemPrompt:`You are the Lead Planning Agent. Break down user goals into clear executable steps.`,systemInstruction:`You are the Lead Planning Agent. Break down user goals into clear executable steps.`,enabled:!0,avatar:`🎯`},{id:`coder`,name:`Coder`,provider:`openai`,model:`gpt-5.6-luna`,apiKey:``,systemPrompt:`You are the Senior Software Engineer. Implement features with clean code and tests.`,systemInstruction:`You are the Senior Software Engineer. Implement features with clean code and tests.`,enabled:!0,avatar:`💻`},{id:`critic`,name:`Critic`,provider:`anthropic`,model:`claude-sonnet-5`,apiKey:``,systemPrompt:`You are the Security & Quality Auditor. Review code, find bugs, and suggest improvements.`,systemInstruction:`You are the Security & Quality Auditor. Review code, find bugs, and suggest improvements.`,enabled:!0,avatar:`🔍`}],customProviders:[],customModelSelections:{}},$=e=>{let t=e.tuiTheme||e.theme,n=t===`system`||t===`light`?t:`dark`;return{...e,tuiTheme:n}}}));export{P as $,me as A,y as B,ve as C,z as D,_e as E,I as F,A as G,v as H,ue as I,x as J,D as K,L,le as M,fe as N,ge as O,pe as P,ce as Q,S as R,be as S,B as T,E as U,b as V,M as W,w as X,C as Y,j as Z,W as _,Oe as a,te as at,Se as b,X as c,m as ct,J as d,ee as dt,_ as et,q as f,we as g,G as h,ke as i,ne as it,de as j,he as k,Ee as l,ae as lt,Te as m,Ae as n,re as nt,Z as o,se as ot,K as p,O as q,$ as r,oe as rt,De as s,p as st,Q as t,g as tt,Y as u,ie as ut,Ce as v,ye as w,xe as x,U as y,T as z};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e,r as t}from"./chunk-CacB07dV.js";function n(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)}function r(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n}var i=e((()=>{})),a=t({Channel:()=>m,Resource:()=>h,SERIALIZE_TO_IPC_FN:()=>p,invoke:()=>s,transformCallback:()=>o});function o(e,t=!1){return window.__TAURI_INTERNALS__.transformCallback(e,t)}async function s(e,t={},n){return window.__TAURI_INTERNALS__.invoke(e,t,n)}var c,l,u,d,f,p,m,h,g=e((()=>{i(),p=`__TAURI_TO_IPC_KEY__`,m=class{constructor(e){c.set(this,void 0),l.set(this,0),u.set(this,[]),d.set(this,void 0),r(this,c,e||(()=>{}),`f`),this.id=o(e=>{let t=e.index;if(`end`in e){t==n(this,l,`f`)?this.cleanupCallback():r(this,d,t,`f`);return}let i=e.message;if(t==n(this,l,`f`)){for(n(this,c,`f`).call(this,i),r(this,l,n(this,l,`f`)+1,`f`);n(this,l,`f`)in n(this,u,`f`);){let e=n(this,u,`f`)[n(this,l,`f`)];n(this,c,`f`).call(this,e),delete n(this,u,`f`)[n(this,l,`f`)],r(this,l,n(this,l,`f`)+1,`f`)}n(this,l,`f`)===n(this,d,`f`)&&this.cleanupCallback()}else n(this,u,`f`)[t]=i})}cleanupCallback(){window.__TAURI_INTERNALS__.unregisterCallback(this.id)}set onmessage(e){r(this,c,e,`f`)}get onmessage(){return n(this,c,`f`)}[(c=new WeakMap,l=new WeakMap,u=new WeakMap,d=new WeakMap,p)](){return`__CHANNEL__:${this.id}`}toJSON(){return this[p]()}},h=class{get rid(){return n(this,f,`f`)}constructor(e){f.set(this,void 0),r(this,f,e,`f`)}async close(){return s(`plugin:resources|close`,{rid:this.rid})}},f=new WeakMap}));export{s as a,g as i,p as n,o,a as r,h as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./chunk-CacB07dV.js";import{a as t,i as n}from"./core-hQ2VA9Ti.js";async function r(){return window.Notification.permission==="default"?await t(`plugin:notification|is_permission_granted`):await Promise.resolve(window.Notification.permission===`granted`)}async function i(){return await window.Notification.requestPermission()}function a(e){typeof e==`string`?new window.Notification(e):new window.Notification(e.title,e)}var o,s,c;e((()=>{n(),(function(e){e.Year=`year`,e.Month=`month`,e.TwoWeeks=`twoWeeks`,e.Week=`week`,e.Day=`day`,e.Hour=`hour`,e.Minute=`minute`,e.Second=`second`})(o||={}),(function(e){e[e.None=0]=`None`,e[e.Min=1]=`Min`,e[e.Low=2]=`Low`,e[e.Default=3]=`Default`,e[e.High=4]=`High`})(s||={}),(function(e){e[e.Secret=-1]=`Secret`,e[e.Private=0]=`Private`,e[e.Public=1]=`Public`})(c||={})}))();export{r as isPermissionGranted,i as requestPermission,a as sendNotification};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./chunk-CacB07dV.js";import{zt as t}from"./src-DnfeXQPr.js";import{j as n}from"./chunk-DU6HZSFF-drzh6GsU.js";import{n as r}from"./chunk-PWAF6VOD-DMmD1vVf.js";import{d as i}from"./chunk-75Z2AOVW-3qybijF5.js";import{i as a}from"./chunk-GMAD6QVW-Bppi3Ctd.js";import{n as o}from"./chunk-P2QGCYS3-lRzkRjBB.js";import{r as s}from"./chunk-TEH6E4GO-B2RGEohZ.js";import{r as c}from"./chunk-OBVCFTLP-DJeNil5M.js";import{i as l}from"./chunk-R7TYR2AO-CYLA5UC5.js";import{l as u}from"./chunk-F27PBJKO-FiY35l4v.js";import{n as d}from"./chunk-XXDRQBXY-DnJkbUaw.js";import{t as f}from"./chunk-POPQ4Y6H-DouASMBW.js";import{n as p}from"./chunk-JQ64N6SF-DGg5kcEV.js";import{n as m}from"./chunk-CKBBP62Z-cIrXq6jN.js";import{n as h}from"./chunk-LNGE3PJU-AdBoOWw2.js";import{n as g,r as _}from"./chunk-RHFEMEQ7-BiXwEcUT.js";e((()=>{_(),d(),f(),h(),m(),u(),p(),l(),c(),s(),o(),a(),r(),i(),n(),t()}))();export{g as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.auth-gate-loading{height:100vh;color:var(--text-muted,#8f8f94);justify-content:center;align-items:center;font-size:.95rem;display:flex}.auth-gate-overlay{background:var(--bg-gradient,var(--bg-color,#0a0a0b));justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative;overflow:hidden}.auth-gate-overlay:before,.auth-gate-overlay:after{content:"";filter:blur(90px);pointer-events:none;border-radius:50%;position:absolute}.auth-gate-overlay:before{background:color-mix(in srgb, var(--accent,#10b981) 30%, transparent);opacity:.35;width:480px;height:480px;top:-160px;left:50%;transform:translate(-60%)}.auth-gate-overlay:after{background:color-mix(in srgb, var(--accent,#10b981) 18%, transparent);opacity:.28;width:420px;height:420px;bottom:-180px;right:50%;transform:translate(60%)}.auth-gate-card{z-index:1;background:var(--panel-bg,#1e1e20);width:100%;max-width:400px;-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-light,#ffffff1c);border-radius:var(--radius-3xl);box-shadow:var(--shadow-lg,0 20px 40px #00000080), 0 0 0 1px #ffffff05 inset;flex-direction:column;gap:16px;padding:36px 32px 32px;animation:.35s cubic-bezier(.16,1,.3,1) auth-gate-rise;display:flex;position:relative}@keyframes auth-gate-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.auth-gate-logo{border-radius:var(--radius-lg);width:40px;height:40px;box-shadow:var(--glow-accent-md,0 6px 18px color-mix(in srgb, var(--accent,#10b981) 28%, transparent));margin-bottom:4px}.auth-gate-title{letter-spacing:-.01em;color:var(--text-main,#e8e8ea);margin:0;font-size:1.4rem;font-weight:700}.auth-gate-subtitle{color:var(--text-muted,#8f8f94);margin:-6px 0 4px;font-size:.82rem;line-height:1.45}.auth-gate-field{color:var(--text-soft,#d1d1d4);flex-direction:column;gap:6px;font-size:.78rem;font-weight:550;display:flex}.auth-gate-field input{border-radius:var(--radius-lg);border:1px solid var(--border-light,#ffffff1c);background:var(--input-bg,#2c2c2e);color:var(--text-main,#e8e8ea);outline:none;padding:11px 13px;font-family:inherit;font-size:.9rem;transition:border-color .15s,box-shadow .15s,background .15s}.auth-gate-field input::placeholder{color:var(--placeholder,#818187)}.auth-gate-field input:hover{border-color:color-mix(in srgb, var(--accent,#10b981) 30%, var(--border-light,#ffffff1c))}.auth-gate-field input:focus{border-color:var(--accent,#10b981);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent,#10b981) 18%, transparent)}.auth-gate-field input:-webkit-autofill{-webkit-text-fill-color:var(--text-main,#e8e8ea);-webkit-box-shadow:0 0 0 1000px var(--input-bg,#2c2c2e) inset;box-shadow:0 0 0 1000px var(--input-bg,#2c2c2e) inset;transition:background-color 9999s ease-in-out}.auth-gate-field input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text-main,#e8e8ea);-webkit-box-shadow:0 0 0 1000px var(--input-bg,#2c2c2e) inset;box-shadow:0 0 0 1000px var(--input-bg,#2c2c2e) inset;transition:background-color 9999s ease-in-out}.auth-gate-field input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text-main,#e8e8ea);-webkit-box-shadow:0 0 0 1000px var(--input-bg,#2c2c2e) inset;box-shadow:0 0 0 1000px var(--input-bg,#2c2c2e) inset;transition:background-color 9999s ease-in-out}.auth-gate-field input:autofill{-webkit-text-fill-color:var(--text-main,#e8e8ea);box-shadow:0 0 0 1000px var(--input-bg,#2c2c2e) inset}.auth-gate-error{color:#ef4444;border-radius:var(--radius-md);background:#ef44441a;border:1px solid #ef444433;padding:8px 10px;font-size:.8rem}.auth-gate-submit{border-radius:var(--radius-lg);background:var(--accent,#10b981);color:var(--text-on-accent);cursor:pointer;box-shadow:var(--glow-accent-sm,0 4px 14px color-mix(in srgb, var(--accent,#10b981) 22%, transparent));border:none;margin-top:6px;padding:11px 16px;font-size:.92rem;font-weight:650;transition:background .15s,transform .1s,box-shadow .15s}.auth-gate-submit:disabled{opacity:.6;cursor:default;box-shadow:none}.auth-gate-submit:hover:not(:disabled){background:var(--accent-hover,#34d399);box-shadow:var(--glow-accent-md,0 6px 18px color-mix(in srgb, var(--accent,#10b981) 28%, transparent));transform:translateY(-1px)}.auth-gate-submit:active:not(:disabled){transform:translateY(0)}.auth-gate-switch{color:var(--text-muted,#8f8f94);cursor:pointer;background:0 0;border:none;align-self:center;padding:4px 0 0;font-size:.8rem;transition:color .15s}.auth-gate-switch:hover{color:var(--interactive-fg)}.mint-pull-refresh{display:none}@media (width<=760px){.mint-pull-refresh{top:calc(64px + env(safe-area-inset-top));z-index:100;border:1px solid var(--border);background:var(--surface-strong);max-width:calc(100vw - 32px);color:var(--text-main);box-shadow:var(--shadow-sm);white-space:nowrap;pointer-events:none;opacity:0;border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-size:13px;font-weight:600;transition:opacity .14s;display:flex;position:fixed;left:50%}.mint-pull-refresh.is-visible{opacity:1}.mint-pull-refresh-icon{color:var(--accent);font-size:20px;line-height:1}.mint-pull-refresh.is-refreshing .mint-pull-refresh-icon{animation:.7s linear infinite mint-pull-refresh-spin}.chat-container,.pictures-library,.img-studio-content,.veo-studio-content,.web-view-scroll{overscroll-behavior-y:contain}}@keyframes mint-pull-refresh-spin{to{transform:rotate(360deg)}}@font-face{font-family:Prompt;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/prompt-latin-400-normal-BQ9zjSN8.woff2)format("woff2"),url(/assets/prompt-latin-400-normal-CxU4ec_r.woff)format("woff")}@font-face{font-family:Prompt;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/prompt-thai-400-normal-BrkKv8cO.woff2)format("woff2"),url(/assets/prompt-thai-400-normal-DJypnfr3.woff)format("woff")}@font-face{font-family:Prompt;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/prompt-latin-500-normal-CxzxEHZc.woff2)format("woff2"),url(/assets/prompt-latin-500-normal-B1edBDQ9.woff)format("woff")}@font-face{font-family:Prompt;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/prompt-thai-500-normal-C18pDUoL.woff2)format("woff2"),url(/assets/prompt-thai-500-normal-D7YNqUJD.woff)format("woff")}@font-face{font-family:Prompt;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/prompt-latin-600-normal-hKZWXsc1.woff2)format("woff2"),url(/assets/prompt-latin-600-normal-CSDDLorv.woff)format("woff")}@font-face{font-family:Prompt;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/prompt-thai-600-normal-MrdfU7zR.woff2)format("woff2"),url(/assets/prompt-thai-600-normal-CYPViXds.woff)format("woff")}@font-face{font-family:Prompt;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/prompt-latin-700-normal-I2gc831J.woff2)format("woff2"),url(/assets/prompt-latin-700-normal-BfbftDSq.woff)format("woff")}@font-face{font-family:Prompt;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/prompt-thai-700-normal-Cg4aQ0Nn.woff2)format("woff2"),url(/assets/prompt-thai-700-normal-Cb5ilR-c.woff)format("woff")}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-code-latin-400-normal-DGosTW8U.woff2)format("woff2"),url(/assets/fira-code-latin-400-normal-C-QZfXAs.woff)format("woff")}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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)format("woff2"),url(/assets/fira-code-symbols2-400-normal-_QEZCEwe.woff)format("woff")}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-code-latin-500-normal-B6gioGu8.woff2)format("woff2"),url(/assets/fira-code-latin-500-normal-aMLC2AMm.woff)format("woff")}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAA3MABAAAAAANdgAAA1sAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbHhxiBmA/U1RBVCoAgx4RCArJNLMkC4JaAAE2AiQDgloEIAWEZgePIQwHG0sosxFWyjRnjajeHC77PyRwQya8Jt7ydFuwYAjVGgxdqYRKEQA0Mhw298pEkdX28Mw9i3CI8J4vM2vmt6xFVvqJsfn0/5t27hMeZKkRMzoDETeiNaiTBk0cqahQsVtxpsNStbf2189df6tecXxzbyZ9e72yJJdxAkjDgUEsV2p33lX69xg5Qg7Q5YHnmP1Fi6yJBpiUgWuKFttxFMqJnN5b/utyDmzb3mSlLAfPMY+x610g9InL+duaS+BBCjClLg4X4I+FsDlWDCEYooJFOA/66r4pQvgOZcjrcclu66TivrUv7fYcAagziuUJs/IkUFdXddf2n9fzaWk+HCBOHc4ecMCIuAiD7DZxUSh0nk9UhI2McaRyNi5aBL5q+dNH9TvFkJVASAopUWHZ+aQmhKzBfUdKwiMREqUMmz/1n+Se6dgucRa4QnaESwxxCKXj8439o4MAlAAAYBAEiyCAIDFikFJD6yTIcQAEgAAQQJAyLWTM/oTuAkf/zcShw9w3cdbtGpy0tQ/aRi5YsIBlEWs8zT0AOVQ6cFbJYxkY95O5sC/wBDxwf9xOwE5chHmVE1z4U03JFTzA4HYgQAQAAIDacl0N7mNU4ahw+38xyOfsL0bg6O8euDRvAqDGIwg5AghBADGYldXmIgDAIACQMHkCAGAALCAEG/xb5QIbARHGYsmNolaNekAYtVy7XLteu1t7NABELilood1rN2j3fInAm8BP7rOqRr55C59vMGteBwLA/xFBQOIAgFwmeUas12uDPmtYrWWTYrrJeqSZaqI5Uh2137B0h+01KNsp+0xx3AxHuOQ4yWOSY6Y5xCnTXFsYTLDdAt2yzLPVQXvssNCADPNtc8JuetRiu7htNtMBOy3isNwsK8zWoES7DjWKFCrVplW1CuXKVKpSL1+BYi106jRpVqtLp0annXHWOcsstcQqG62zklk/O6PVNrEYohIlUoRwYUKFiJYoSbJgBHkG0ACAFwBSB8gZ5D8w6g7IAhQBAA7zAdcPLz+I9gy89ixGGjYlWBuYTT9SZ7FUxL0smM5EkJsfGP0BRQlCHLCQC9mdfdjAGI9cQow7k6S0eJHE+wc9Vz7BIBcNx7lE1eTQhV5XXTQoMEwNklh2vT/h8FCeNPlgiZHwIOTlzBK6AMFAqXDR4RWvH8KNZ7lo0lR6OfdNf63YcTAH0OfL309dX8z7Pf85gfV9WrZ/J3+my3bHQb/3Uf/zt92Xvo+uP/g1RZn6odyZywgHcWyQxhYyMuaAQRd4DUqDq3417kib/YqvUsNYVZoIfVPoFIS3mOQgrUaO3HaQ8jejirqRf2zzL6rhM5BL+M+4pGT3MsW/9NRf5Fe/tOB5ycyqlBfBVLKr6kb+vs1/qYb38EdyZXfqag1U51ZDGs2icmVIuWUHSdxYbdz8oIvg/BBwNWYX4IhzyYWKFTJs8SukKjXE8aTCe2Zb51b4XqYmtkKxS6GDWvLbCrlcu2lH0aGmHU86BhZmohQPCZsUAFXVpZNVBweKEBQR53KBPDhhJMe5ur5sV6EO1iWtdSZ51jwMmz8ZLPILUPCYVGpA6ygIRiRZ4nS8iDsDSiziQmGniLZgOvWgZgqSb03kwqLBxZIq+E6tBRpNip7sDlv0qVEfFFo/LNGzCdMwTkOb97QkB8TE7qsjjDuWRU2qo4OjBJAh69zTIEaFsKW5rDUCJK3MBMYNxahz4civYucbq7aRU572X3y7AqLqSj6FE5iZVBmLGZsDMNKHoN4otH5rUTOGlUi1xfkfLSlwFBIbN04r2A3GBgo7QZZnKQ+XksWcwcpliMfWDY4Gb6FzcIZ5tjGPOVfkUqHsVZdhE3M6ZqWKnnhcRZxFa53Liatg0eEbgnTddxLNf677iYbdgZXzz1OV77DtiOM4m/zecaJiPRG1x8lmBOXelfqOK9q/I6QcV/gP22z+d+msl5BW2cA3Csw3fYYNezmCfw0728c313WUZrTr4n878KOFHQiOfjh5TOIUY1WCrcxucJpGz1PEzYs7K8UvLHu9EHkvrX/O1v0R7Tapo9eYnsW8+xuw6IOOpKX50uAzPJjNcat9q6FjtryPPIFdDf5Ln1kcOs4HQV6GbnugPG+SPA+6VGH0gVmDv1mYlioK67ORp6L6aB2lDY5JjB4O1q6LDIMzfo7+GlzUGK0eXH1GRdkO+hlczEN6vc/gS1IXpq3MIvhar180+BsG64SsNEtQG906zucZLjJ9fBfIHB6Tp6gpr/RpptyT+qT+tyuEnnq3ekuP/Czjf0Pqo9VNMsnr9+nvWJ//bX20R5uJDnh7H06Awqhcd2RZ+WjPnXpwl22rJ/V/ul6PiH/4Z+XeuD38StCdUFIVZJMoZE+Qsu6xqKJ+8CakrFI6npIVFdXg7vFTldiMwUhDHXfna3tzV9Gz8t71G1gICfg4QjQO5C/jwzYN1OFHHdQhSkHFvH1Dg01611arvBB21yH0XQ/kLzfztSbZNVRUUYcGeS/pTAfypOfInvjpuMrd0K8u4yYclIwQtnQ9dYj0oYoUNvj32GwHTfJ18JfjgrcX0R4GZzqgzqqfsGtD0jgOSd1L/T3bL+zOH18VjrsPlk1C9oTxWhMVaUn7sU13vJ8v0j1OW6urrmRDZxDf/2wniRh04za4AxtMvWoRq5rUPbDXQcwBtqBUmH+OWj2h7LUcKbsbYJU3AefL9Dzm0nIHz2ThhhHCE339lvmYyDEQU4rbiqUbO5VwiyZvkd48oRI93SvE4ZNULNi7yyu9XA/ppAzSRCpSBoB9IYCOMQs9DXN14T+wgU2vS9S8CfJWGu5L9+N4WrheAGJE5fASaKGd2HaLaagjxmKCVcm/oGPwJhLCnV6P5En95jrSl4qqzdolD6zBUoz0KYohtBTCQvMfabnaD2u4pC5GyCT7mvES2uF4cRhubuEaGzNHkr38BNbOVyURke0bz2beFiy9rzQ0lJ4oxLeo7DChTgcVxxF7jgxtMUCdc0anWEITM60GcSvLJeLkfJLSI/fh1vRtDTpF9/ZGNLBKep1SsyjOPAcP2gzi6cq9BQOadYP66WHGowN6pNJD/dGnSF8qqjJrpx4IwTSGfgpodgM4oqT/0OXqBAjhVE0hcxOngKJi+idPZpEcdJ6esvRuHmgAJmb9BVcQTz+Zfc6MG/e8yFBdzoM8PZz8aZNRQVxj+o5hlZ8gk1OL34PEAHlyYD0R12Z2Mm3f8dmHZ1NCa97PySHxhMDTlLeZJeSs8ZTjT0XeZha8zdh+UY/Na7F4bZ/ST4elh7t3P5zYQ/5I2Vu90VU//FybjdHs67R5KBR9nqutqenvZeaZwunv36ZFTmjdv0z913bOk7duiNJNqm1oMNSWrn4FoXUCAPPW14IpggBkzisGX3j2WfrzlwEaLQv74D6qZLkvyuDMccA9YoX2nZSBK2/XxNdCemCLUXvLW1XdF6SePabsqbDCYwD4QpE+DwC+mnzxbvjANxFVhfG6D9Mg8FW8EvfF6EKDceR9GyF36TTuaqlhJ1PnokqHvOljaour4YFnBMJ5jNjoCrEpRwheK1MIJ1Mh8qnolFWgkwhKsNd76L4SuOhEZ6IV6FZUvX6gTECkl4nrYoDwlzOSWBCAN7CcUTQ26xczGICSh6yGFUFBs5lHpHkxjzHab/NYFbx5jp/Hi7JznkyS3nmj5SmYN1aciLnjKCnLBNAPivu2lfTM7KxsXNqYmdi5DWhg59BNrdYQEzO1VgUG9KxhJTLfzKmHg90wlxqVwen7rR8ivJVLOzTIbDTWGd0zvdORU5iNHK79oEb+zpchS5ac1ehStSapU/MyMZsJc1aY6w/7jmNo79Siwv4etoBDd+fIki1P+qqYXbVJdGN+NO5uJ8em6V3oke5Xc+dwYWiYx2pJ+bSz2Leys7tuc3CuJ2hugJh3ZWSKH+iz4OFhnydj3E80EHIAxL+JF6DxCWEISziwn2PDibcsnFnZ2Llw5cYdCAJDoDA4AolCY7A4PIFIIlOoNDqDyWJzuDy+QCgSS6QyuUKpUmu0Or0BAASBIVAYHIFEoTFYHJ5AJJEpVBqdwWSxOVweXyAUiSVSmVyhVKk1Wp3eYDSZLVab3eF0uT1ePx8IwQiK4QRJ0QzL8YIoyYpKrdHq9AajyWyx2uwOp8vt8foClMM81ywsz54DhO3JycVhZz3Und/fwkDJHFqSgtfk8x0m5TuNqmMD/CBed/X2B0Qp14PnR6gntFa9kP5Z78dxe2Xfb306d3QPun7nzvQvvHmvcsp3A3U8RiYPD3+cAvvVgybv3HR2HD/uftPjUYoqeK/Nb6b6dWCs6sG9eHbkh5vuw41Qn9NWrJv5cl+It5jJ5wY2BClQWjgzLElIUtJNAMXhJA5zGyCQAzhsFsOlpeGFGxxgE05AZWFFwpLw5c4FgAkPpWsFc7UlVeBUQFGrZDNWl0i1gSuKSA+lCiwaI1yxWRmaKefQJJu6IG1SmI6l2gqsXlKUtAFnTtiaiLBC5XqRgZYH1E7ZIHNsT5nBswq5IC1qcEqzdJMaGTvkHCMyxIWwbFMZMnZ2xcV0ltwyVXUHnlu7XeaM/zOgfCyU9e3rfuqLFgAAAA==)format("woff2"),url(/assets/fira-code-symbols2-500-normal-DwsgbIjQ.woff)format("woff")}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fira-code-latin-600-normal-CvYZpPHg.woff2)format("woff2"),url(/assets/fira-code-latin-600-normal-BmSSHshu.woff)format("woff")}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:600;src:url(data:font/woff2;base64,d09GMgABAAAAAA3UABAAAAAANegAAA12AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbHhxiBmA/U1RBVCoAgx4RCArJNLMkC4JaAAE2AiQDgloEIAWEdgePIQwHG1soM5JTUqwRFZyHZf/H48YQwQ3Qqv0ksiXFrRGGzMYKjC2IRC0aIdi0gvDSPo1FS49PITYddiHWKz24uobR6m44ETRIeMjmGJGDDjcUaPt7+ptzV9H/Ul2KhvYbU8bD/++Pb59774c8qGJyBaPYoATXCcUKadoPfRhnVheeD+wv38chTk6UDtQgHtwW4m0prc43l5/S2t9fluQyvhteEoCDQljp3fdS6S4hASgTxtIlZ3vApm6mpYs2B5IFOiZCgFFAXdiFY/rvCvfguY1xjFmPKBD6wHZ7RyL/Sw7s+bqyRljYs1mjF0DECegO9G6BOvQPT9QPoNMe6FnBsamAh7RGF2PdX1Wri7A5VgwhGKKCRTgP+uq+KUL4DmXI63HJbuuk4mrt3+ybDaFkUDGSZISJjAKenu6Zzryt2UefNoDgpoMbBCPiWCK7n7joCH3kztiTZxypiz13Wpz9t3T68mZO8enCtPUIyUNKVMKy/9KG0oos7hStCtlktEN5hPfs+9P3K7nHdHGXS8gCXyErwiWGOITS8Tnme99coBmQhJCFQKNheYjVaycXwVagghBotMI4JrOpePehU5T99o9Ceb8jgUHV/0yhkvQ9rFbWJaxxH6MSbBrNSq3q01ow/ttL+ZcyDMrXmIPrOF56oj71Q22SvCNJOQt19ANg1ebBfiRAmemt+3dD/bH8ZQfc+HSgMsUQjGMIoV6gG4Fh5Mn9EgMBSUDULFcBCRndKPFvlY4V9EtCqddiXB+fH5iO2HhWly8gcmIWKDq3vvqE6q83pj7Ep3+81W7GEgH/RzQS9QTzCTTSOiFzSu6Q2BGJchuW8FVas4CngtcrjSqfnqnUCXuxLGDTF4N6IU8W+a37oFfD5NKqeTesuGqZXXn36JaNUjWLa0EPVvg43DO6sOXNHTsdj227dgxrN21Gv1YtOkyZ1Kdbl049eg1p0qzNuAmDRo0ZMGfWiIiomDg3F6d9Z47tEVKQ4jhwTkQtRY5sWTJlSJcmV4lSZVIRoqKBp0Bsh7gE9a+h5RqYA5YAivQFrpPrL6xPcOtzcBSyech1SIdOsTTLVFKujzSYFNH6wOjnWCAoccJCL3Qn93EeYzx2CTGuSZLS5nsSH871nPEJurlo2MUlqiaPXut9w8WCAcdUN4k114fdDg8laQrBCiPhRSjKS0voAhRdpcLrZq94ZAl3HuCiSVPl5ZVv9otix8EcQJ8vflW61sz/D/69C2t7tjz+nfwGh22M0S8a6b9H23r6O10H+FVHmf683J7LCAdx7JDGHjIy5oBDH3gNSoObTjXtSIdNii9SZWzqTZS+GfTKwlvMskibviO31aT81amirhcf1cXnzfAJyCf8Z5xScniZ4l966t/zKy9KuFoyNzXl8TCV7Iq6XrxXFz83wzv4I/lyOHVlCaiurWXSaBXVKsNSbtkDiwdrjV8cdAWcHwpupuwDbHcuuVCpQsRWvkCuUiWOJxPeMSs7t8L3KjexHapdCs3Ukl9ZyPXazzuKDTXtdNIpsDwTpXhI2KQAqKlOna4xWCgkqCLO5QJ58MJIjnN1BB3y9Q7LSWsbJc+Wp2HzJ8UivwBlj0mVBiwdBWJE0mVOp4u6JaDCIi0UDopoC6ZzD+oGIvneRC4vFnysqIGfqbVCo0nRU73aFn3i1HuF6R+U6Bll6xcNDUY/KckBMXH4xgjzjlVFk2ru4CgBfEe18/eBGBXCUnNZWxYgaUULGA8UYykXjnwTO5fWrCSnPG269PUyiFqq5Es4gxtGlbGYudkMI30A6rXC9G8sakZZldRaHPPBkgJnIbN547SClRgbKBwEWV6lPF1KFnMGO5chnls3OZq8hZbBGebVxjzmXJFLhbLXWEadmdc8K1XxxNOq4iza2vmcuAoWHT4UpCulJJp/Hw/9DBvDxqH7rsq32TZiF84mvyj2U6w7og7Y04ywqS0dde3Vy1f23ZHU4pb4VzEYl9qhjrRu7+2PYFsv97W3Knr/D/FfiQ1SFeWWp0ROC14fyt+Qsd7O7TduQXUdmYH9Uwc0jOxtOVbnOdbzZdXLVrXbhvm5tMvxebfcdHGFm+qJ30eeLy2FEOHh3+GQtj+awy6zpFkQ0pF+OAxCngXV45duQhNFgkZbg3DclW3qrzVByHUdEpg9hJuN6amu6/dsItaR6X0S3r0wOznfvXklaeg++px86b5Zl8zqfvJAudoBOjW4mFu/tkkNUpK6MH1FmyD1vvR5w/6O7kJdrI0J6qNNUEqBYQ/TQTqs1iz2FhMLTZUPt7XusPfqp90hnLrNb5yoR36W8b8h7ELeJZM88pj+jo3539bl1dYsdMAT+7gboh3GuZu39cur79W50yzdXVr/2ff1SPhHf1aejTvDz8LdHeNNW6hrCOpfeleusxTffqh6o3fB6PmbZN2WLPjr95Mt60Yx0tDG0/mdLU/LAuuGoyVshAZCHCE6u6oO4uNKf3jLd5jJzLioYjo35x5kJoRe2AXNqlOXQjOoo6vq4PL4AIGuSoxcb/aHqdfINcOk1bjx9U2bjNMwbClTWXVRIiUc6XZuZvTYQDkb9p+xOQ7+yS+F6mBcCPYM7WVwrhneWfVVpy7jM3SXZOku2j+yTZpV8T69cjy9u7oG2d2sIgExqug8Vgq3B/MVOuO8JCvzrexo0avGHw+SMdHR++ABSGxHVWIN/4ozsO8CywH2oGwx/xy1ccc4ajlT9jTARrA3cL7MyFNlWu7imSwcNUL4ZY/cM18TOQdiSXFfKS/tUsIjWrwVX3mJLQt0HyEOaQAuObh1F/9wp/CbMvCFVCEGgENBQNeYlZ5kou3Cu+bn/OhF7hFoPN9wlicKGH8KNwpAjKjMnoNW2oVtj5iGNmLKEmzw/Ru6Bo/gyDy6S+Si/exdkladLDf7S+T6dXH170Q1SKtpGZZ/42fNJuI+bhZ9mNx+zHiOdjqeTcOtLdxjZ7z8XJCvYu16VZyIeGy8mvk4YjFYhTb56EahsmRrpwltuqg4jzhyZOiIAdqcM7rFMkrM9BrYUcxlbHFeSnTlXr0/Ymm+oOtcVoDLbKSjRG58bP0hCFquV9HOfQoGNPtlN/fTZcarA7avUSS/5X1SX03MdLMnERo7cqf7gOY0gO1O326eNbvROJE3QVSmoaBILP/s1yqSky7SLUufzQMJMDEbLrgyu/1k9jkzbt6LjKG2XAdFupz81SYyge0xfcewKVbp5NLiz0Figrw4sJ1te7M6mbaf8TmEV1NGLd9wYkq8IOg25WNmCTlrvOT4qyIfMwvBZm4/Vuy/q2/fXf3v0zn8wvlVxfnqt4hcaNbU+qCbfvhzi/szmr3N/iJBNyhwmqcrB7czatp7fO1q0J2LgOMvu7bi8mna9evc0xbS8/Jr09N2uvGrKqYtKoYvEDJALXb8sd13Vh2m+KlVad0vLBLwhnpNPExai/Vln2Z9+bSRHv8ulT91w541Rm1vDWYeeTrppN0q9bf4NdeBd7lqLDx8uPT3tLzr3/5GA/qug7wU9E28apEYXWgwnnyYqUMpocKa1KB0rRzyocOexdrH3j1/CIS5KBi6LutvHCF4bUwhvKhB5GU96+ruNIIS7JEe21SLFhWJ1t3tqHlkoUxApBfFdTFAifi7Rpk1ZICncRYd8hRZLyfIAc0QyUWlTqQFhyBDdMQghyX+BAWyfT9X8kEFV+uDGuGGBkuYJAdrntxHbVgzzsvwTsCWivr9eoBFYxjeABHrlExAusTSYCpyyEigokRYczU7pNiJOh+JoNENxa7rRmadJdSNYUSD5tbLXepStMJes68PB+79BDHGRZmkIh47o0WL3Y1NkePdudPHi5u9rtPM8jMYbYqvVpRR0KlwabYcK1oMk4hddOveaugM7oy9XkE7ZFyL0G5mMfPZkqe7WxGcW+nFZj8su27CsdEtaohEa1Rmqnwvz719+oddcjxMthrFgsC/yVMww1UmZQqZEgo6dpx4z8KZlY2dC1du3MUg4hKSUtIysnLyCopKyiqqauoamlraOrp6+gaGRsYmpmbmFpZW1ja2dvbsO3DoyDEACAJDoDA4AolCY7A4PIFIIlOoNDqDyWJzuDy+QCgSS6QyuUKpUmu0Or3BaDJbrDa7w+lye7w+P4ygGE6QFM2wHC+IkkyuUKrUGq1ObzCazBarze5wutwery9QaWBBeHnsDIi6ktXNdk8e6srvT/mgZLYtyZAX5PMDJ/EHj5InA/pWvHDz/AuslFeDnSdcDx6Ji/2z3tpxG2Xf74U61DDJ+BM8U78B5yXixR8OKgIGPxTl9R5snkhksB+KEycu3ey6O0o0EW/0+cF+WAHjkVvP4sGRb++6CWfh+nSmWIRgtRmOt5jO5xI2GCmBlHBimBGJU9BlAMHmBDZzGVBICuDh5uLwsqHmRRc4gpuhBCrMrJhkiPlS54IgMzQUrhTEzZxQhpOASpVqlmMNSUm14YIsUkOhDItNY6hic7nUU/apQZZ1gddO0XAkzVzI6BlFSB5kzwk3xiKkkLgupKHhBpVTMvAcy1Pm0L1JUoHXVIFDirXL1MiRg68xhktUSIYtK4PH9qF4aTgzXnOSKQcerE0DRv/vgPhlIe4v//u5FD0A)format("woff2"),url(/assets/fira-code-symbols2-600-normal-Dvq6IQE5.woff)format("woff")}:root{--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--slate-950:#020617;--zinc-900:#18181b;--zinc-950:#09090b;--pure-black:#000;--pure-white:#fff;--mint-50:#ecfdf5;--mint-100:#d1fae5;--mint-200:#a7f3d0;--mint-300:#6ee7b7;--mint-400:#34d399;--mint-500:#10b981;--mint-600:#059669;--mint-700:#047857;--mint-800:#065f46;--mint-900:#064e3b;--mint-950:#022c22;--flavor-mint:#10b981;--flavor-cyan:#06b6d4;--flavor-indigo:#6366f1;--flavor-amber:#f59e0b;--flavor-rose:#f43f5e;--flavor-monochrome:#fff;--status-success:#10b981;--status-warning:#f59e0b;--status-error:#ef4444;--status-info:#0284c7;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-full:9999px;--accent-default:var(--mint-500);--accent-hover:#34d399;--accent-subtle:#10b9811f;--accent-glow:#10b98159;--accent-border:#10b9814d;--text-on-accent:#fff;--glow-accent-xs:0 2px 8px color-mix(in srgb, var(--accent-default) 15%, transparent);--glow-accent-sm:0 4px 14px color-mix(in srgb, var(--accent-default) 22%, transparent);--glow-accent-md:0 6px 18px color-mix(in srgb, var(--accent-default) 28%, transparent)}:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-canvas:#0a0a0c;--bg-surface:#18181bc2;--bg-surface-raised:#18181b;--bg-surface-soft:#ffffff0b;--bg-surface-hover:#ffffff13;--bg-overlay:#111113;--bg-input:#ffffff0d;--bg-input-focus:#ffffff17;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--text-disabled:#64748b;--text-main:#f8fafc;--text-soft:#cbd5e1;--text-chat:#f8fafc;--placeholder:#94a3b8;--border-subtle:#ffffff14;--border-default:#ffffff1f;--border-strong:#ffffff38;--border-focus:var(--accent-default);--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 8px 24px #00000073;--shadow-lg:0 20px 60px #0009;--glass-blur:blur(16px);--syntax-string:#34d399;--syntax-flag:#fbbf24;--syntax-comment:#94a3b8;--syntax-number:#fb923c;--syntax-variable:#f472b6;--syntax-property:#60a5fa;--syntax-function:#38bdf8;--syntax-type:#a78bfa;--syntax-boolean:#fb7185;--syntax-operator:#cbd5e1;--syntax-punctuation:#cbd5e1}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-canvas:#f0f2f5;--bg-surface:#fff;--bg-surface-raised:#fff;--bg-surface-soft:#f8fafc;--bg-surface-hover:#f1f5f9;--bg-overlay:#fff;--bg-input:#fff;--bg-input-focus:#fff;--text-primary:#0f172a;--text-secondary:#334155;--text-muted:#64748b;--text-disabled:#94a3b8;--text-main:#0f172a;--text-soft:#334155;--text-chat:#0f172a;--placeholder:#94a3b8;--border-subtle:#0f172a14;--border-default:#0f172a24;--border-strong:#0f172a3d;--border-focus:var(--accent-default);--shadow-sm:0 1px 3px #0f172a0f, 0 1px 2px #0f172a0a;--shadow-md:0 4px 16px #0f172a14, 0 2px 6px #0f172a0a;--shadow-lg:0 20px 48px #0f172a24, 0 8px 20px #0f172a0f;--glass-blur:blur(16px);--syntax-string:#047857;--syntax-flag:#b45309;--syntax-comment:#64748b;--syntax-number:#c2410c;--syntax-variable:#be185d;--syntax-property:#1d4ed8;--syntax-function:#0284c7;--syntax-type:#6d28d9;--syntax-boolean:#e11d48;--syntax-operator:#475569;--syntax-punctuation:#475569}[data-theme=midnight]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-canvas:#000;--bg-surface:#050508;--bg-surface-raised:#0d0d12;--bg-surface-soft:#121218;--bg-surface-hover:#1a1a22;--bg-overlay:#050508;--bg-input:#0a0a0e;--bg-input-focus:#121218;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#71717a;--text-disabled:#52525b;--text-main:#f8fafc;--text-soft:#cbd5e1;--text-chat:#f8fafc;--placeholder:#71717a;--border-subtle:#ffffff0f;--border-default:#ffffff1a;--border-strong:#fff3;--border-focus:var(--accent-default);--shadow-sm:none;--shadow-md:0 8px 24px #000c;--shadow-lg:0 24px 72px #000000f2;--glass-blur:none;--syntax-string:#34d399;--syntax-flag:#fbbf24;--syntax-comment:#71717a;--syntax-number:#fb923c;--syntax-variable:#f472b6;--syntax-property:#60a5fa;--syntax-function:#38bdf8;--syntax-type:#a78bfa;--syntax-boolean:#fb7185;--syntax-operator:#a1a1aa;--syntax-punctuation:#a1a1aa}[data-surface=opaque]{--bg-surface:#121215;--bg-surface-raised:#18181c;--bg-surface-soft:#1b1b20;--bg-surface-hover:#25252b;--glass-blur:none!important}[data-theme=light][data-surface=opaque]{--bg-surface:#fff;--bg-surface-raised:#fff;--bg-surface-soft:#f8fafc;--bg-surface-hover:#f1f5f9}[data-theme=midnight][data-surface=opaque]{--bg-surface:#050508;--bg-surface-raised:#0d0d12;--bg-surface-soft:#121218;--bg-surface-hover:#1a1a22}[data-surface=glass]{--glass-blur:blur(16px)}.chat-callout-card{background:var(--callout-tint)}[data-surface=opaque] .chat-callout-card{background:color-mix(in srgb, var(--bg-surface) 92%, var(--callout-accent) 8%)}:root,[data-theme=dark],[data-theme=light],[data-theme=midnight]{--bg-color:var(--bg-canvas);--bg-gradient:var(--bg-canvas);--panel-bg:var(--bg-surface);--panel-raised:var(--bg-surface-raised);--panel-soft:var(--bg-surface-soft);--chrome-bg:var(--bg-surface);--surface-bg:var(--bg-surface);--surface-strong:var(--bg-surface-soft);--surface-hover:var(--bg-surface-hover);--input-bg:var(--bg-input);--input-focus-bg:var(--bg-input-focus);--text-main:var(--text-primary);--text-soft:var(--text-secondary);--text-chat:var(--text-primary);--placeholder:var(--text-muted);--border:var(--border-subtle);--border-light:var(--border-subtle);--border-strong:var(--border-default);--shadow:var(--shadow-lg);--accent:var(--accent-default);--accent-contrast:var(--text-on-accent);--interactive-fg:var(--accent);--interactive-fg-hover:var(--accent-hover);--danger:var(--status-error)}:root[data-accent-mode=monochrome]{--interactive-fg:#71717a;--interactive-fg-hover:#d4d4d8}*{box-sizing:border-box}body,html,#root{width:100vw;height:100vh;color:var(--text-main,#e5e7eb);background:0 0;margin:0;overflow:hidden}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Prompt,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}button,textarea{font:inherit}button{cursor:pointer}.mint-error{border:1px solid color-mix(in srgb, var(--status-error) 40%, transparent);border-radius:var(--radius-md);background:color-mix(in srgb, var(--status-error) 12%, transparent);color:color-mix(in srgb, var(--status-error) 60%, var(--text-main));margin:10px 18px 0;padding:9px 11px;font-size:.82rem}.chat-mention{background:color-mix(in srgb, var(--accent,#10b981) 12%, transparent);border:1px solid color-mix(in srgb, var(--accent,#10b981) 25%, transparent);color:var(--interactive-fg);border-radius:6px;margin:0 2px;padding:2px 6px;font-size:.9em;font-weight:500;display:inline-block}.chat-ui-grid-item:hover{transform:translateY(-2px);box-shadow:0 6px 20px -4px #0000004d;border-color:#ffffff29!important}.chat-ui-feature-item:hover{border-color:#ffffff2e!important}.chat-code-block-container{background:var(--panel-soft,#121214);border:1px solid var(--border,#ffffff14);box-shadow:var(--shadow-sm,0 4px 16px #0000002e);border-radius:16px;flex-direction:column;margin:12px 0;display:flex;overflow:hidden}.chat-code-block-header{background:var(--surface-bg,#ffffff08);border-bottom:1px solid var(--border,#ffffff0f);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:6px 12px;display:flex}.chat-code-block-meta{align-items:center;gap:8px;display:flex}.chat-code-block-lang{color:var(--text-muted,#94a3b8);letter-spacing:.02em;font-family:Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;font-weight:500}.chat-code-block-lines{color:var(--text-soft,#64748b);background:#ffffff0a;border-radius:4px;padding:1px 6px;font-size:.7rem}.chat-code-block-actions{align-items:center;gap:6px;display:flex}.chat-code-action-btn{color:var(--text-soft,#94a3b8);cursor:pointer;background:0 0;border:none;border-radius:5px;align-items:center;gap:5px;padding:4px 8px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:.75rem;transition:all .15s;display:inline-flex}.chat-code-action-btn:hover{color:var(--text-main,#f1f5f9);background:#ffffff0f}.chat-code-download-btn{padding:4px 6px}.chat-code-copy-btn.is-copied,.chat-code-copy-btn.is-copied .chat-code-btn-label{color:var(--interactive-fg)}.chat-code-btn-label{font-size:.75rem;font-weight:500}.chat-code-block-body{background:0 0;margin:0;padding:12px 0;overflow-x:auto}.chat-code-block-body code{white-space:pre;color:var(--text-chat,var(--text-main,#e2e8f0));font-family:Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.6;display:block}.chat-code-lines{flex-direction:column;width:max-content;min-width:100%;display:flex}.chat-code-line{align-items:baseline;min-height:1.6em;padding:0 14px 0 0;display:flex}.chat-code-line:hover{background:#ffffff05}.chat-code-line-num{text-align:right;width:44px;min-width:44px;color:var(--text-soft,#475569);-webkit-user-select:none;user-select:none;opacity:.65;padding-right:14px;font-size:.76rem}.chat-code-line-content{flex:1;padding-left:14px}.chat-code-lines:not(:has(.chat-code-line-num)) .chat-code-line-content{padding-left:16px}.token-command{color:#38bdf8;font-weight:500}.token-keyword{color:#818cf8;font-weight:500}.token-comment{color:#64748b;font-style:italic}.chat-bold-highlight{color:var(--text-chat,var(--text-main,inherit));font-weight:600}.token-string{color:var(--syntax-string)}.token-flag{color:var(--syntax-flag)}.token-comment{color:var(--syntax-comment)}.token-number{color:var(--syntax-number)}.token-variable{color:var(--syntax-variable)}.token-property{color:var(--syntax-property)}.token-function{color:var(--syntax-function)}.token-type{color:var(--syntax-type)}.token-boolean{color:var(--syntax-boolean)}.token-operator{color:var(--syntax-operator)}.token-punctuation{color:var(--syntax-punctuation)}.chat-inline-code{background:var(--bg-surface-soft);border:1px solid var(--border-default);color:var(--text-primary);border-radius:var(--radius-sm,6px);letter-spacing:-.01em;box-shadow:var(--shadow-sm);vertical-align:baseline;padding:2px 7px;font-family:Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.86em;font-weight:500;display:inline-block}.chat-table-container{border-radius:var(--radius-md,8px);border:1px solid var(--border-default);background:var(--bg-surface);width:100%;box-shadow:var(--shadow-sm);margin:14px 0;overflow-x:auto}.chat-table{border-collapse:collapse;text-align:left;width:100%;font-size:.86rem;line-height:1.5}.chat-table th{color:var(--interactive-fg);background:var(--bg-surface-soft);border-bottom:2px solid var(--border-default);padding:12px 16px;font-family:ui-sans-serif,system-ui,sans-serif;font-weight:700}.chat-table td{color:var(--text-primary);border-bottom:1px solid var(--border-subtle);padding:12px 16px}.chat-table tbody tr{transition:background .15s}.chat-table tbody tr:hover{background:var(--bg-surface-hover)}.chat-table tbody tr:last-child td{border-bottom:none}
|