@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,20 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/window-5qYXKoW7.js","assets/chunk-CacB07dV.js","assets/core-hQ2VA9Ti.js","assets/event-ChBVpRy0.js","assets/ModelPanel-CbJ1PFoZ.js","assets/WorkspacePanel-CbJ1PFoZ.js","assets/ToolSurfacePage-Cz2VJAPZ.js","assets/index-D8D9MeRA.js","assets/index-Btsf4L8M.css","assets/CodeReviewPage-jKlmLJwT.js","assets/markdown-BSeeUbJH.js","assets/lucide-react-Ip3L6Jtn.js","assets/CodeReviewPage-DkMgfcos.css","assets/ToolSurfacePage-CgsQw6l5.css","assets/SkillsView-cnl8aY5p.js","assets/config-eEDngJXO.js","assets/config-C-ZFtipU.css","assets/ScheduledTasksView-Bnl36y2N.js","assets/LinkedFoldersView-bi-CWQ-I.js","assets/McpServersView-BGG1dhFM.js","assets/McpRegistryPicker-D5tEFnyq.js","assets/PluginsView-CU1HWXGk.js","assets/oauthManager-9jxicDWJ.js","assets/CliSessionsView-BxUVWEEL.js","assets/CliSessionsView-CBDTXuQv.css","assets/PicturesLibrary-DoYN7T1p.js","assets/PicturesLibrary-CQP0fLP1.css","assets/ImageStudioPanel-BR1XFwhR.js","assets/studio-B1mk40wD.js","assets/ImageStudioPanel-D0lnhQV5.css","assets/VeoStudioPanel-D4JnERWR.js","assets/modelManager-tMVmJVAW.js","assets/VeoStudioPanel-DOj7_WR3.css","assets/CommandPalette-DnwPA5hy.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{i as e,n as t}from"./chunk-CacB07dV.js";import{D as n,E as r,S as i,T as a,_ as o,g as s,h as c,k as l,v as u,w as d,x as f,y as p}from"./index-D8D9MeRA.js";import{$ as m,A as h,C as g,E as _,H as ee,I as v,J as y,K as b,N as x,O as S,P as C,Q as w,R as te,S as T,U as E,V as ne,X as re,Y as ie,_ as ae,a as oe,at as se,b as ce,c as le,ct as ue,d as de,dt as fe,et as pe,f as me,g as he,h as ge,i as _e,it as D,j as ve,l as ye,lt as be,m as O,n as xe,nt as Se,o as Ce,ot as we,p as Te,q as Ee,rt as De,s as Oe,st as ke,t as Ae,tt as k,u as je,ut as Me,v as Ne,w as Pe,x as Fe,y as Ie,z as Le}from"./config-eEDngJXO.js";import{At as Re,I as ze,Kt as Be,Ot as Ve,R as He,S as Ue,Sn as We,St as Ge,en as Ke,gn as qe,i as Je,in as Ye,it as Xe,mn as Ze,nn as Qe,nt as $e,on as et,t as tt,un as nt,vn as rt}from"./lucide-react-Ip3L6Jtn.js";import{_ as it,a as at,c as ot,d as st,f as ct,g as lt,h as ut,i as dt,l as ft,m as pt,n as mt,o as ht,p as gt,r as _t,s as vt,t as yt,u as bt}from"./markdown-BSeeUbJH.js";import{a as xt,c as St,i as Ct,l as wt,n as Tt,o as Et,r as Dt,s as Ot,t as kt,u as At}from"./CodeReviewPage-jKlmLJwT.js";var jt=t((()=>{}));function Mt(e){let t=e.trim();if(t.startsWith(`<think>`)||t.includes(`</think>`))return!0;let n=t.split(`
|
|
3
|
-
`).length,r=t.length;if(t.includes(`
|
|
4
|
-
|
|
5
|
-
`)||n>2||r>180)return!0;let i=t.toLowerCase();return!!(i.startsWith(`the user `)||i.startsWith(`let's think`)||i.startsWith(`let me analyze`)||i.startsWith(`per rule`)||i.startsWith(`note the `)||i.includes(`thinking process:`))}function Nt(e){return e.filter(e=>e.type===`Thought`).map(e=>e.data.thought).filter(e=>!!e&&!Mt(e))}function Pt(e){let t=[];for(let n of e)n.type===`ThinkingDelta`?n.data.delta?.trim()&&t.push(n.data.delta):n.type===`ExtendedThinking`?n.data.thought?.trim()&&t.push(n.data.thought):n.type===`Thought`&&n.data.thought&&Mt(n.data.thought)&&t.push(n.data.thought);return t}function Ft(e,t=20){if(e.length===0)return e;let n=new Set(e.filter(e=>e.type!==`Thought`&&e.type!==`ThinkingDelta`&&e.type!==`ExtendedThinking`).slice(-t));return e.filter(e=>e.type===`Thought`||e.type===`ThinkingDelta`||e.type===`ExtendedThinking`||n.has(e))}function It(e,t){if(t.type===`ThinkingDelta`){let n=e.findIndex(e=>e.type===`ThinkingDelta`&&e.data.id===t.data.id);if(n<0)return Ft([...e,t]);let r=e.slice(),i=r[n];return r[n]={type:`ThinkingDelta`,data:{id:t.data.id,delta:`${i.data.delta}${t.data.delta}`,elapsed_ms:t.data.elapsed_ms}},r}if(t.type===`ExtendedThinking`&&t.data.id){let n=e.findIndex(e=>e.type===`ThinkingDelta`&&e.data.id===t.data.id);if(n>=0){let r=e.slice();return r[n]=t,Ft(r)}}return Ft([...e,t])}function Lt(e,t){return t.reduce(It,e)}function Rt(e){let t=new Set(e.filter(e=>e.type===`ExtendedThinking`).map(e=>e.data.id).filter(e=>!!e)),n=[],r=new Map;for(let i of e){if(i.type===`ThinkingDelta`){if(!t.has(i.data.id)){let e=r.get(i.data.id);r.set(i.data.id,e?{type:`ThinkingDelta`,data:{id:i.data.id,delta:`${e.data.delta}${i.data.delta}`,elapsed_ms:i.data.elapsed_ms}}:i)}continue}n.push(i)}for(let e of r.values())n.push({type:`ExtendedThinking`,data:{id:e.data.id,thought:e.data.delta,elapsed_ms:e.data.elapsed_ms}});return n}function zt(e,t){let n={...e};for(let e of t){let t=String(e.id);e.agentActivity?.length&&!n[t]&&(n[t]=e.agentActivity)}return n}function Bt(e){let t=new Map,n=null,r=(e,n,r,i,a)=>{let o=t.get(e);o?(o.additions+=r,o.deletions+=i,o.hunks.push(...a),n&&(o.created=!0)):t.set(e,{path:e,created:n,additions:r,deletions:i,hunks:[...a]})};for(let t of e||[])if(t.type===`ToolStart`)if(t.data.action===`apply_patch`){let e=t.data.input?.patch;if(e&&typeof e.path==`string`){let t=0,r=0,i=[],a=e.hunks,o=!1;if(Array.isArray(a)){o=a.length>0&&a.every(e=>!e?.oldText&&!!e?.newText);for(let e of a){let n=e?.oldText||``,a=e?.newText||``,o=n?n.split(`
|
|
6
|
-
`).length:0,s=a?a.split(`
|
|
7
|
-
`).length:0;r+=o,t+=s,i.push({oldText:n,newText:a})}}n={action:`apply_patch`,path:e.path,created:o&&r===0,additions:t,deletions:r,hunks:i}}}else if(t.data.action===`write_file`||t.data.action===`note_write`){let e=t.data.input||{},r=e.path||e.name||e.title||e.filePath||``;t.data.action===`note_write`&&r&&!r.includes(`/`)&&!r.startsWith(`.config/`)&&(r=`.config/mint/notes/${r}`);let i=e.fileContent??e.file_content??e.content??e.body??e.text??``;if(typeof r==`string`&&r.trim()){let e=i?i.split(`
|
|
8
|
-
`).length:0;n={action:t.data.action,path:r.trim(),created:!0,additions:e,deletions:0,hunks:[{oldText:``,newText:i}]}}}else n=null;else if(t.type===`ToolEnd`){if(n&&(t.data.action===`apply_patch`||t.data.action===`write_file`||t.data.action===`note_write`)&&!(typeof t.data.result==`string`&&(t.data.result.startsWith(`Error:`)||t.data.result.startsWith(`Failed:`))))try{let e=JSON.parse(t.data.result);if(Array.isArray(e)&&e.length>0)for(let t of e)r(t?.path||n.path,typeof t?.created==`boolean`?t.created:n.created,n.additions,n.deletions,n.hunks);else r(n.path,n.created,n.additions,n.deletions,n.hunks)}catch{r(n.path,n.created,n.additions,n.deletions,n.hunks)}n=null}return Array.from(t.values())}function Vt(e){let t=new Map;for(let n of e)for(let e of n){let n=t.get(e.path);if(!n){t.set(e.path,{path:e.path,created:e.created,additions:e.additions,deletions:e.deletions,hunks:[...e.hunks]});continue}n.created=n.created||e.created,n.additions+=e.additions,n.deletions+=e.deletions,n.hunks.push(...e.hunks)}return Array.from(t.values())}var Ht=t((()=>{}));function Ut(e,t){return e.chatId===t.chatId&&e.generation===t.generation}function Wt(e,t){return e.chatId===t.chatId&&e.sessionGeneration===t.sessionGeneration&&e.runGeneration===t.runGeneration}function Gt(e,t,n){return!t||n==null?e:e.filter(e=>e.id!==n)}var Kt=t((()=>{}));function A(e,t){let n=e[t];return typeof n==`string`&&n.trim()?n:``}function qt(e){return e.replace(/^\/home\/([^/]+)/,`~`)||`workspace`}function Jt(e,t){return[`search_code`,`semantic_search`,`knowledge_search`,`web_search`,`image_search`,`memory_recall`,`find_definition`,`find_references`].includes(e)?`search`:[`run_shell`,`verify`,`run_tests`,`run_typecheck`,`run_linter`].includes(e)?`terminal`:[`list_files`,`detect_project`].includes(e)?`folder`:[`read_file`,`symbols`,`read_diagnostics`,`git_diff`,`apply_patch`,`write_file`,`note_write`,`view_image`].includes(e)?`file`:[`calculation`,`calculator`].includes(e)?`calc`:t.includes(`/`)&&!/\.[^/]+$/.test(t)?`folder`:`tool`}function Yt(e,t){let n=A(t,`path`),r=A(t,`query`)||A(t,`q`)||A(t,`keyword`)||A(t,`search`)||A(t,`prompt`)||A(t,`searchTerm`)||A(t,`search_term`),i=A(t,`command`)||A(t,`cmd`),a=A(t,`name`),o=A(t,`tool`),s=A(t,`symbol`)||A(t,`ticker`),c=A(t,`filter`),l=A(t,`expression`)||A(t,`expr`)||A(t,`math`),u=A(t,`city`)||A(t,`location`)||A(t,`place`),d=A(t,`url`),f=A(t,`selector`),p=e===`web_search`||e===`search_code`||e===`knowledge_search`?r||`(empty query)`:e===`read_file`||e===`write_file`?n||`(empty path)`:e===`find_definition`||e===`find_references`?s||`(empty symbol)`:e===`run_tests`?c||`(all tests)`:e===`run_typecheck`||e===`run_linter`?n||`workspace`:e===`run_shell`?i||`(empty command)`:e===`calculation`?l||`(math expression)`:e===`weather`?u||`(location)`:e===`stock`?r||s||`(symbol)`:e===`browser_open`?d||`(url)`:e===`browser_click`?f||`(element)`:e.replaceAll(`_`,` `),m=n||r||i||l||s||u||d||f||c||a||o||p,h=m;if(e===`read_file`&&n){let e=typeof t.startLine==`number`?t.startLine:typeof t.start_line==`number`?t.start_line:void 0,n=typeof t.endLine==`number`?t.endLine:typeof t.end_line==`number`?t.end_line:void 0;e!==void 0&&n!==void 0?h=`${m} #L${e}-${n}`:e!==void 0&&(h=`${m} #L${e}`)}return{label:e,target:qt(h),kind:Jt(e,h),state:`active`,action:e}}function Xt(e){let t=new Set,n=new Set;for(let r of e)r.kind===`file`&&t.add(r.target),r.kind===`folder`&&n.add(r.target);let r=[t.size?`${t.size} ${t.size===1?`file`:`files`}`:``,n.size?`${n.size} ${n.size===1?`folder`:`folders`}`:``].filter(Boolean);return r.length?`Exploring ${r.join(`, `)}`:`Working through task`}function Zt(e){if(e.length===0)return[];let t=[],n=null;for(let r=0;r<e.length;r++){let i=e[r],a=i.action||i.label;!n||n.action!==a?(n&&t.push(Qt(n)),n={id:`group-${r}-${a}`,action:a,label:i.label,kind:i.kind,title:i.target,count:1,state:i.state,items:[i]}):(n.items.push(i),n.count+=1,i.state===`active`?n.state=`active`:i.state===`error`&&n.state!==`retry`&&n.state!==`done`?n.state=`error`:i.state===`retry`&&n.state!==`done`&&(n.state=`retry`))}return n&&t.push(Qt(n)),t}function Qt(e){let t=e.items.length;if(t===1)return e.title=e.items[0].target,e.state=e.items[0].state,e;let n=e.items.some(e=>e.state===`active`),r=e.items.some(e=>e.state===`done`),i=e.items.some(e=>e.state===`error`),a=e.items.some(e=>e.state===`retry`);e.state=n?`active`:r?`done`:a?`retry`:i?`error`:`done`;let o=e.action,s=e.items.filter(e=>e.state===`done`).length;return o===`calculation`?e.title=e.state===`active`?`Calculating expressions (${s}/${t})`:`Calculated ${t} expressions`:o===`read_file`?e.title=e.state===`active`?`Reading files (${s}/${t})`:`Read ${t} files`:o===`write_file`?e.title=e.state===`active`?`Writing files (${s}/${t})`:`Wrote ${t} files`:o===`search_code`||o===`semantic_search`?e.title=`Searched codebase (${t} queries)`:o===`web_search`?e.title=`Searched web (${t} queries)`:e.title=`Executed ${t} ${o.replaceAll(`_`,` `)}`,e}function $t(e){let t=[],n=[],r=null,i=0,a=()=>{if(!r)return;let e=Qt(r);e.count>1?n.push({id:e.id,kind:`group`,group:e}):e.items.length===1&&n.push({id:e.id,kind:`activity`,activity:e.items[0]}),r=null};for(let o of e)if(o.type===`ToolStart`){let e=Yt(o.data.action,o.data.input);t.push(e);let n=e.action||e.label;!r||r.action!==n?(a(),r={id:`timeline-group-${i++}-${n}`,action:n,label:e.label,kind:e.kind,title:e.target,count:1,state:e.state,items:[e]}):(r.items.push(e),r.count+=1,e.state===`active`&&(r.state=`active`))}else if(o.type===`ToolEnd`){for(let e=t.length-1;e>=0;--e)if(t[e].state===`active`){if(t[e].state=o.data.result.startsWith(`Error:`)?`error`:`done`,t[e].result=o.data.result,t[e].action===`ask_user`&&o.data.result.startsWith(`User answered:`)){let n=o.data.result.replace(`User answered:`,``).trim();t[e].target=`(Answered: "${n}") ${t[e].target}`}break}if(r){let e=r.items.some(e=>e.state===`active`),t=r.items.some(e=>e.state===`done`),n=r.items.some(e=>e.state===`error`),i=r.items.some(e=>e.state===`retry`);r.state=e?`active`:t?`done`:i?`retry`:n?`error`:`done`}}else if(o.type===`Thought`){let e=o.data?.thought?.trim();if(e){a();let t=Mt(e)?`extendedThinking`:`thought`,r=n[n.length-1];r&&`thought`in r&&r.thought===e?r.kind===`extendedThinking`&&t===`thought`&&(n[n.length-1]={id:r.id,kind:t,thought:e}):(!r||r.kind!==t||`thought`in r&&r.thought!==e)&&n.push({id:`thought-${i++}`,kind:t,thought:e})}}else if(o.type===`ThinkingDelta`){let e=o.data?.delta;e&&(a(),n.push({id:o.data.id,kind:`extendedThinking`,thought:e,streaming:!0,elapsedMs:o.data.elapsed_ms}))}else if(o.type===`ExtendedThinking`){let e=o.data?.thought?.trim();if(e){a();let t=n[n.length-1];(!t||t.kind!==`extendedThinking`||`thought`in t&&t.thought!==e)&&n.push({id:o.data.id||`ext-thought-${i++}`,kind:`extendedThinking`,thought:e,streaming:!1,elapsedMs:o.data.elapsed_ms})}}a();let o=e.some(e=>e.type===`RunCompleted`&&(e.data?.summary?.outcome===`SUCCESS`||e.data?.summary?.outcome===`success`));for(let e=0;e<t.length;e++)t[e].state===`error`&&(t.slice(e+1).some(e=>e.state===`done`||e.state===`active`)||o)&&(t[e].state=`retry`);for(let e of n)if(e.kind===`group`){let t=e.group.items.some(e=>e.state===`active`),n=e.group.items.some(e=>e.state===`done`),r=e.group.items.some(e=>e.state===`error`),i=e.group.items.some(e=>e.state===`retry`);e.group.state=t?`active`:n?`done`:i?`retry`:r?`error`:`done`}let s=t.slice(-25);return{summary:Xt(t),items:s,groups:Zt(s),timeline:n.slice(-60)}}function en(e){let t=[];for(let n of e){if(n.type!==`ToolEnd`||n.data.action!==`web_search`)continue;let e=n.data.result;if(!e||e.startsWith(`Web search error:`)||e===`No web search results found.`)continue;let r=e.split(/\n\n+/);for(let e of r){let n=e.split(`
|
|
9
|
-
`).map(e=>e.trim()).filter(Boolean),r=n.find(e=>/^\d+\.\s/.test(e)),i=n.find(e=>e.startsWith(`URL:`)),a=n.find(e=>e.startsWith(`Image:`));if(!r||!i)continue;let o=r.replace(/^\d+\.\s/,``).trim(),s=i.replace(/^URL:\s*/,``).trim(),c=a?a.replace(/^Image:\s*/,``).trim():void 0,l=n.filter(e=>e!==r&&e!==i&&e!==a).join(` `).trim();try{let{hostname:e}=new URL(s),n=e.replace(/^www\./,``),r=`https://www.google.com/s2/favicons?sz=32&domain=${e}`;t.push({title:o,url:s,snippet:l,domain:n,faviconUrl:r,imageUrl:c})}catch{}}}return t}function tn(e){if(!e)return``;let t=e.trim();return t=t.replace(/^(สวัสดีค่ะ|สวัสดีครับ|หวัดดีค่ะ|หวัดดีครับ|สวัสดี|hello|hi|hey)\s*(พี่[^\s,]+|คุณ[^\s,]+|[^\s,]+)?\s*(🌿|🍃|✨|🌱)?\s*[,—–-]?\s*/i,``),t=t.replace(/^[\s•\-\*]+\s*/,``),t.trim()||e.trim()}var nn=t((()=>{Ht()})),rn,an=t((()=>{rn=JSON.parse(`[{"token":"/help","usage":"","description":"Show this help","category":"system","surfaces":["cli","web","desktop"]},{"token":"/theme","usage":"","description":"Choose terminal theme with a live preview","category":"system","surfaces":["cli"]},{"token":"/init","usage":"","description":"Scan the codebase and write an AGENTS.md (build/test commands, architecture, conventions)","category":"system","surfaces":["cli","web","desktop"]},{"token":"/fast","usage":"[on|off]","description":"Toggle fast mode (hide thinking traces)","category":"system","surfaces":["cli","web","desktop"]},{"token":"/plan","usage":"[<task>|on|off|list|show <name>]","description":"Run task in plan mode, toggle plan mode, or list/show plans saved under .agents/plans/","category":"system","surfaces":["cli","web","desktop"]},{"token":"/models","usage":"[name]","description":"List providers or switch provider","category":"models","surfaces":["cli","web","desktop"]},{"token":"/thinking","usage":"[on|off|low|medium|high|extra_high|status]","description":"Toggle thinking mode or adjust thinking effort level","category":"models","surfaces":["cli","web","desktop"]},{"token":"/temperature","usage":"[<provider> [model] [temp]|<temp>|default|status]","description":"Interactive temperature picker or set/inspect per-model temperatures","category":"models","surfaces":["cli","web","desktop"]},{"token":"/clear","usage":"","description":"Clear conversation history","category":"system","surfaces":["cli","web","desktop"]},{"token":"/resume","usage":"[<id|search>]","description":"Resume and switch conversation session","category":"system","surfaces":["cli","web","desktop"]},{"token":"/branch","usage":"[<name>]","description":"Select or switch the current workspace Git branch","category":"workspace","surfaces":["cli"]},{"token":"/cd","usage":"<path>","description":"Change workspace directory","category":"workspace","surfaces":["cli","web","desktop"]},{"token":"/image","usage":"<path> [prompt]","description":"Attach image from file","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/edit-image","usage":"<prompt>","description":"Edit attached image with prompt instruction","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/paste","usage":"[prompt]","description":"Attach image from clipboard","category":"tools","surfaces":["cli","web","desktop"]},{"token":"Ctrl+V","usage":"","description":"Paste clipboard image as [Image #1]","surfaces":["cli"]},{"token":"Ctrl+T","usage":"","description":"View reasoning/thought process from last turn","surfaces":["cli"]},{"token":"/thought","usage":"","description":"View reasoning/thought process from last turn","category":"tools","surfaces":["cli","web","desktop"]},{"token":"↑ / ↓","usage":"","description":"Recall previously submitted input","surfaces":["cli"]},{"token":"/learn","usage":"<path>","description":"Import a persistent .md or .txt skill","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/skill","usage":"[list]","description":"List skills (global/workspace/taught) — see also /skill add","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/skill add","usage":"<path|github-repo|url>","description":"Install a local skill, or pull one via \`npx skills\` (GitHub repo/URL)","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/plugins","usage":"[name] [prompt]","description":"List configured plugins, or generate a skill.md for one","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/plugin enable","usage":"<name>","description":"Enable a native plugin for the agent","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/plugin disable","usage":"<name>","description":"Disable a native plugin","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/remember","usage":"[here] <text>","description":"Save a durable fact to long-term memory (\\"here\\" = this project only)","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/memory","usage":"","description":"Manage long-term memory store","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/memory list","usage":"","description":"Show recent interactions","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/memory facts","usage":"","description":"List stored long-term facts","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/memory forget","usage":"<id-or-text>","description":"Delete stored fact(s) by id or matching text","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/memory promote","usage":"<id>","description":"Lift a subagent-scoped fact into shared long-term memory","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/memory clear","usage":"","description":"Clear all interactions","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/memory get","usage":"<key>","description":"Read a profile value","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/memory set","usage":"<key> <val>","description":"Store a profile value","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/autoskill","usage":"[on|off]","description":"Toggle auto-writing a SKILL.md after hard tasks","category":"system","surfaces":["cli","web","desktop"]},{"token":"/autorecall","usage":"[on|off]","description":"Toggle full-text recall of older messages from this conversation","category":"system","surfaces":["cli","web","desktop"]},{"token":"/autofacts","usage":"[on|off]","description":"Toggle auto-extracting durable facts from your messages into long-term memory","category":"system","surfaces":["cli","web","desktop"]},{"token":"/factrecall","usage":"[on|off]","description":"Toggle relevance-ranking stored facts against your message when they overflow the budget","category":"system","surfaces":["cli","web","desktop"]},{"token":"/cron","usage":"","description":"Create/list/remove/enable/disable scheduled agent tasks","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/cron add","usage":"<name> | <sched> | <task>","description":"Create a scheduled task — walks through a wizard if you don't type more","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/link","usage":"","description":"Link a folder chat can auto-write notes into","category":"workspace","surfaces":["cli","web","desktop"]},{"token":"/link add","usage":"<name> | <path> | <desc>","description":"Link a folder chat can auto-write notes into","category":"workspace","surfaces":["cli","web","desktop"]},{"token":"/link refresh","usage":"<name>","description":"Refresh a linked folder's file index","category":"workspace","surfaces":["cli","web","desktop"]},{"token":"/link notes","usage":"<name>","description":"List saved linked-folder notes","category":"workspace","surfaces":["cli","web","desktop"]},{"token":"/link save","usage":"<name> | <text>","description":"Save text into a linked folder","category":"workspace","surfaces":["cli","web","desktop"]},{"token":"/image-provider","usage":"[name]","description":"List image gen providers or switch default provider","category":"models","surfaces":["cli","web","desktop"]},{"token":"/image-models","usage":"[model]","description":"List or switch default image generation model","category":"models","surfaces":["cli","web","desktop"]},{"token":"/generate-image","usage":"<prompt>","description":"Generate image using AI model","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/gen-image","usage":"<prompt>","description":"Generate image using AI model","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/veo","usage":"<prompt>","description":"Generate video using Google Veo","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/video-provider","usage":"[name]","description":"List video gen providers or switch default provider","category":"models","surfaces":["cli","web","desktop"]},{"token":"/video-models","usage":"[model]","description":"List or switch default video generation model","category":"models","surfaces":["cli","web","desktop"]},{"token":"/search-provider","usage":"[name]","description":"List web search providers or switch default provider","category":"models","surfaces":["cli","web","desktop"]},{"token":"/bg","usage":"<query>","description":"Run a query in the background, non-blocking","category":"tools","surfaces":["cli"]},{"token":"/jobs","usage":"[show|cancel <id>]","description":"List, inspect, or cancel background jobs","category":"tools","surfaces":["cli"]},{"token":"/shells","usage":"","description":"List, inspect, or kill background shell jobs run_shell started","category":"tools","surfaces":["cli"]},{"token":"/mcp","usage":"","description":"List configured MCP servers","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/mcp add","usage":"<name> <command> [args...]","description":"Add an MCP server","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/mcp remove","usage":"<name>","description":"Remove an MCP server","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/mcp enable","usage":"<name>","description":"Re-enable a disabled MCP server","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/mcp disable","usage":"<name>","description":"Turn an MCP server off without removing it","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/mcp edit","usage":"<name> command|args|icon <value>","description":"Change one field of a configured MCP server","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/mcp allow","usage":"<server> <tool>","description":"Allow an MCP tool","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/mcp disallow","usage":"<server> <tool>","description":"Remove a tool from a server's allowlist (* clears it)","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/mcp reauth","usage":"<server>","description":"Re-run a server's OAuth login (e.g. expired token)","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/mcp registry","usage":"","description":"Show the catalog of well-known MCP servers","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/mcp clear","usage":"","description":"Remove all configured MCP servers","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/subagent","usage":"","description":"List/create/remove subagents the agent can delegate to","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/subagent add","usage":"","description":"Create a subagent — walks through a wizard","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/release-notes","usage":"","description":"Show release notes for the current version","category":"system","surfaces":["cli","web","desktop"]},{"token":"/stats","usage":"","description":"Show session statistics","category":"system","surfaces":["cli","web","desktop"]},{"token":"/exit","usage":"","description":"Exit Mint","category":"system","surfaces":["cli"]},{"token":"/code","usage":"<task>","description":"Run in code-agent mode","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/n8n","usage":"[task]","description":"Open n8n in your browser, or trigger a workflow via the n8n MCP server","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/notebook","usage":"[task]","description":"Open SurfSense in your browser, or run a task via the surfsense MCP server","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/multi-agent","usage":"[on|off]","description":"Show or toggle Multi-Agent Collaboration system","category":"system","surfaces":["cli","web","desktop"]},{"token":"/avatar","usage":"[web|desktop|status|off]","description":"Connect agent activity to Project Avatar (real-time 3D avatar)","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/rewind","usage":"[step]","description":"Rewind workspace to a previous git checkpoint snapshot","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/palette","usage":"","description":"Open interactive command palette and action menu","category":"system","surfaces":["cli","web","desktop"]}]`)})),on,sn=t((()=>{an(),on=rn.filter(e=>e.surfaces.some(e=>e===`web`||e===`desktop`)).map(e=>({command:e.token,description:e.description,usage:e.usage||void 0,category:e.category}))})),j,M,cn,ln,un,dn,fn=t((()=>{j=e(l()),sn(),d(),M=p(),cn=[`system`,`models`,`workspace`,`tools`],ln={system:`System`,models:`Models`,workspace:`Workspace`,tools:`Tools`},un=[{label:`@workspace`,desc:`Include workspace path & context`,kind:`context`},{label:`@file`,desc:`Reference workspace file`,kind:`context`},{label:`@docs`,desc:`Include documentation context`,kind:`context`},{label:`@memory`,desc:`Include long-term memory store`,kind:`context`}],dn=(0,j.forwardRef)(function({message:e,onComplete:t,workspacePath:n,mcpServers:r,anchorRef:i,suppressed:a=!1},o){let[s,c]=(0,j.useState)([]),[l,u]=(0,j.useState)(0),[d,p]=(0,j.useState)(null),m=(0,j.useRef)(null),h=(0,j.useRef)(null),g=e.replace(/^\s+/,``),_=g.startsWith(`/`)?`slash`:g.startsWith(`$`)?`skill`:/@[\w\-./]*$/.test(e)?`at`:null;(0,j.useEffect)(()=>{if(_!==`skill`)return;let e=!0;return f.listLearnedSkills(n).then(t=>{e&&Array.isArray(t)&&c(t)}).catch(()=>{}),()=>{e=!1}},[_,n]);let ee=(0,j.useMemo)(()=>{if(_!==`slash`)return[];let e=g.toLowerCase(),t=on.filter(t=>t.command.toLowerCase().startsWith(e));return cn.flatMap(e=>t.filter(t=>(t.category??`tools`)===e))},[_,g]),v=(0,j.useMemo)(()=>{if(_!==`slash`)return;let e=g.toLowerCase();return[...on].sort((e,t)=>t.command.length-e.command.length).find(t=>e===t.command.toLowerCase()||e.startsWith(t.command.toLowerCase()+` `))},[_,g]),y=(0,j.useMemo)(()=>{if(_!==`skill`)return[];let e=g.slice(1).split(/\s+/)[0].toLowerCase();return s.filter(t=>t.name.toLowerCase().startsWith(e))},[_,g,s]),b=(0,j.useMemo)(()=>{if(_!==`at`)return[];let t=(e.match(/@([\w\-./]*)$/)?.[1]??``).toLowerCase();return[...Object.entries(r??{}).filter(([,e])=>e?.disabled!==!0).map(([e])=>({label:`@${e}`,desc:`Restrict this message to this MCP server / plugin`,kind:`plugin`})),...un].filter(e=>e.label.toLowerCase().includes(t))},[_,e,r]),x=_===`slash`?ee:_===`skill`?y:_===`at`?b:[],S=_===`slash`&&x.length===0&&g.trim().length>1,C=!a&&_!==null&&d!==e&&(x.length>0||S);(0,j.useEffect)(()=>{u(0)},[e]),(0,j.useEffect)(()=>{!C||!h.current||h.current.querySelector(`[data-idx="${l}"]`)?.scrollIntoView({block:`nearest`})},[l,C]),(0,j.useEffect)(()=>{if(!C)return;let t=t=>{let n=t.target;m.current?.contains(n)||i.current?.contains(n)||p(e)};return document.addEventListener(`mousedown`,t),()=>document.removeEventListener(`mousedown`,t)},[C,e,i]);let w=t=>_===`slash`?`${t.command} `:_===`skill`?`$${t.name} `:e.replace(/@[\w\-./]*$/,`${t.label} `),te=e=>{let n=w(e);p(n),u(0),t(n)};if((0,j.useImperativeHandle)(o,()=>({handleKeyDown(t){if(a||_===null)return!1;let n=(t.key===`ArrowUp`||t.key===`ArrowDown`)&&!t.shiftKey&&!t.altKey&&!t.metaKey&&!t.ctrlKey&&!t.nativeEvent.isComposing;if(n&&!C&&x.length>0)return p(null),u(t.key===`ArrowDown`?0:x.length-1),t.preventDefault(),!0;if(!C)return!1;if(n&&x.length>0)return u(e=>t.key===`ArrowDown`?(e+1)%x.length:(e-1+x.length)%x.length),t.preventDefault(),!0;if((t.key===`Enter`||t.key===`Tab`)&&!t.shiftKey&&!t.nativeEvent.isComposing){let e=x[l]??x[0];return e?(te(e),t.preventDefault(),!0):!1}return t.key===`Escape`?(p(e),t.preventDefault(),!0):!1}})),!C)return null;let T=x.length===0?`No matches`:_===`slash`?`${x.length} command${x.length===1?``:`s`}`:_===`skill`?`${x.length} skill${x.length===1?``:`s`}`:`${x.length} mention${x.length===1?``:`s`}`,E=(e,t,n,r,i,a)=>(0,M.jsxs)(`button`,{type:`button`,role:`option`,"aria-selected":t===l,"data-idx":t,className:`slash-suggestion-item ${t===l?`active`:``}`,onMouseDown:t=>{t.preventDefault(),te(e)},onPointerMove:()=>u(t),children:[(0,M.jsx)(`span`,{className:`slash-cmd-name`,children:n}),i&&(0,M.jsx)(`span`,{className:`skill-badge`,children:i}),(0,M.jsxs)(`span`,{className:`slash-cmd-body`,children:[(0,M.jsx)(`span`,{className:`slash-cmd-desc`,children:r}),a&&(0,M.jsx)(`span`,{className:`slash-cmd-usage`,children:a})]})]},n);return(0,M.jsxs)(`div`,{className:`slash-suggestions-popup`,ref:m,children:[(0,M.jsxs)(`div`,{className:`slash-suggestions-header`,children:[_===`slash`?`Slash Commands`:_===`skill`?`Learned Skills`:`Context Mentions`,(0,M.jsx)(`span`,{className:`slash-suggestions-count`,children:T})]}),(0,M.jsxs)(`div`,{className:`slash-suggestions-list`,ref:h,role:`listbox`,children:[_===`slash`&&(x.length>0?cn.map(e=>{let t=ee.filter(t=>(t.category??`tools`)===e);return t.length?(0,M.jsxs)(`div`,{className:`slash-suggestions-group`,children:[(0,M.jsx)(`div`,{className:`slash-suggestions-group-label`,children:ln[e]}),t.map(e=>E(e,ee.indexOf(e),e.command,e.description,void 0,e.usage))]},e):null}):(0,M.jsx)(`div`,{className:`slash-suggestions-empty`,children:v?(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`span`,{className:`slash-cmd-name`,children:v.command}),(0,M.jsx)(`span`,{className:`slash-cmd-usage`,children:v.usage||`No further arguments`})]}):(0,M.jsxs)(`span`,{children:[`No command matches `,(0,M.jsx)(`code`,{children:g.trim()})]})})),_===`skill`&&y.map((e,t)=>E(e,t,`$${e.name}`,e.description||e.content?.slice(0,60)||``,`[Skill]`)),_===`at`&&b.map((e,t)=>E(e,t,e.label,e.desc,e.kind===`plugin`?`[Plugin]`:`[Context]`))]})]})})}));function pn(e){if(!e)return``;let t=0,n=0,r=e.split(`
|
|
10
|
-
`);for(let e of r)e.startsWith(`+++ `)||e.startsWith(`--- `)||(e.startsWith(`+`)?t++:e.startsWith(`-`)&&n++);return`(+${t} -${n})`}function mn(e){if(!e)return{title:`Action Pending Approval`,body:`No action details available.`,isDangerous:!1};if(e.WriteFile){let t=pn(e.WriteFile.diff);return{title:`Write File`,body:`Path: ${e.WriteFile.path}${t?` ${t}`:``}`,reason:e.WriteFile.diff?`Diff:\n${e.WriteFile.diff}`:`Writing new file content.`,isDangerous:!1}}if(e.ApplyPatch){let t=pn(e.ApplyPatch.diff);return{title:`Apply Patch`,body:`Path: ${e.ApplyPatch.path}${t?` ${t}`:``}`,reason:e.ApplyPatch.diff?`Diff:\n${e.ApplyPatch.diff}`:`Applying code patch.`,isDangerous:!1}}if(e.RunShell)return{title:`Run Shell Command`,body:e.RunShell.command,reason:`Executing shell commands can modify your system.`,isDangerous:!0};if(e.NoteWrite)return{title:`Write Note`,body:`Path: ${e.NoteWrite.path}`,reason:`Creating or updating workspace notes.`,isDangerous:!1};if(e.RunPlugin)return{title:`Run Plugin: ${e.RunPlugin.name}`,body:e.RunPlugin.instruction,reason:`Executing a native plugin action.`,isDangerous:!1};if(e.McpTool){let{server:t,tool:n,arguments:r}=e.McpTool;return{title:`Run MCP Tool: ${t}/${n}`,body:typeof r==`string`?r:JSON.stringify(r,null,2),reason:`Running external MCP tool.`,isDangerous:!1}}if(e.UserApproval)return{title:e.UserApproval.title,body:e.UserApproval.prompt,reason:`The agent requested explicit approval.`,isDangerous:!1};if(e.AskUser){let t=Array.isArray(e.AskUser.options)&&e.AskUser.options.length>0,n=e.AskUser.multiSelect?`Pick one or more choices below, or type your own answer and submit.`:`Pick a choice below, or type your own answer and submit.`;return{title:`Question From Agent`,body:e.AskUser.question,reason:t?n:`Type your answer below and submit to respond to the agent.`,isDangerous:!1}}return e.ExitPlanMode?{title:`Review Plan`,body:e.ExitPlanMode.plan,reason:`Approve to allow file edits and shell commands. Reject to keep the agent investigating.`,isDangerous:!1}:{title:`Unknown Action`,body:JSON.stringify(e,null,2),reason:`Requires approval to proceed.`,isDangerous:!1}}function hn(e){let t=e.trim();if(!t.startsWith(`@@`))return null;let n=t.split(`@@`);if(n.length<3)return null;let r=n[1].trim(),i=1,a=1;for(let e of r.split(/\s+/))if(e.startsWith(`-`)){let t=e.slice(1).split(`,`)[0],n=parseInt(t,10);isNaN(n)||(i=n)}else if(e.startsWith(`+`)){let t=e.slice(1).split(`,`)[0],n=parseInt(t,10);isNaN(n)||(a=n)}return{oldStart:i,newStart:a}}function gn(e){if(!e)return null;let t=e.split(`
|
|
11
|
-
`),n=1,r=1;return(0,_n.jsx)(`div`,{style:{background:`var(--input-bg, #0a0a0b)`,borderRadius:`var(--radius-sm, 6px)`,padding:`8px`,border:`1px solid var(--border)`,overflowX:`auto`,maxHeight:`400px`,fontFamily:`'Fira Code', 'Courier New', Courier, monospace`,fontSize:`0.74rem`,lineHeight:`1.45`},children:t.map((e,t)=>{if(e.startsWith(`@@`)){let i=hn(e);return i&&(n=i.oldStart,r=i.newStart),(0,_n.jsx)(`div`,{style:{color:`var(--text-muted)`,fontWeight:`bold`,padding:`2px 6px`},children:` `+e},t)}if(e.startsWith(`---`)||e.startsWith(`+++`))return(0,_n.jsx)(`div`,{style:{color:`var(--text-muted)`,fontWeight:`bold`,padding:`2px 6px`},children:` `+e},t);let i=``,a={whiteSpace:`pre-wrap`,padding:`2px 6px`,display:`flex`,alignItems:`center`},o=``,s=``,c=e;return e.startsWith(`+`)?(i=String(r),r++,a={...a,background:`color-mix(in srgb, var(--accent) 10%, transparent)`,borderLeft:`3px solid var(--accent)`,color:`var(--text-chat, var(--text-main))`},o=`+`,s=`var(--accent)`,c=e.slice(1)):e.startsWith(`-`)?(i=String(n),n++,a={...a,background:`color-mix(in srgb, var(--status-error, #ef4444) 10%, transparent)`,borderLeft:`3px solid var(--status-error, #ef4444)`,color:`var(--text-chat, var(--text-main))`},o=`-`,s=`var(--status-error, #ef4444)`,c=e.slice(1)):(i=String(r),n++,r++,a={...a,color:`var(--text-chat, var(--text-main))`}),(0,_n.jsxs)(`div`,{style:a,children:[(0,_n.jsx)(`span`,{style:{color:`var(--text-muted)`,marginRight:`12px`,userSelect:`none`,display:`inline-block`,width:`36px`,textAlign:`right`,flexShrink:0},children:i}),o&&(0,_n.jsx)(`span`,{style:{color:s,marginRight:`4px`,userSelect:`none`,fontWeight:600},children:o}),(0,_n.jsx)(`span`,{children:c})]},t)})})}var _n,vn=t((()=>{l(),_n=p()})),yn=t((()=>{vn()}));function bn(e){let t=e.trim();if(!t.startsWith(`@@`))return null;let n=t.split(`@@`);if(n.length<3)return null;let r=n[1].trim(),i=1,a=1;for(let e of r.split(/\s+/))if(e.startsWith(`-`)){let t=e.slice(1).split(`,`)[0],n=parseInt(t,10);isNaN(n)||(i=n)}else if(e.startsWith(`+`)){let t=e.slice(1).split(`,`)[0],n=parseInt(t,10);isNaN(n)||(a=n)}return{oldStart:i,newStart:a}}function xn(e){let t=e.split(`
|
|
12
|
-
`),n=[],r=[],i=0,a=0,o=1,s=1,c=[],l=[],u=()=>{let e=Math.max(c.length,l.length);for(let t=0;t<e;t++){let e=c[t],n=l[t];r.push({type:`line`,left:e?{lineNum:e.lineNum,content:e.content,isDel:!0}:void 0,right:n?{lineNum:n.lineNum,content:n.content,isAdd:!0}:void 0})}c=[],l=[]};for(let e of t){if(e.startsWith(`@@`)){u();let t=bn(e);t&&(o=t.oldStart,s=t.newStart),n.push({type:`hunk`,content:e}),r.push({type:`hunk`,hunkHeader:e});continue}if(e.startsWith(`---`)||e.startsWith(`+++`)){u(),n.push({type:`meta`,content:e});continue}if(e.startsWith(`+`)){i++;let t=e.slice(1);n.push({type:`add`,newNum:s,content:t}),l.push({lineNum:s,content:t}),s++}else if(e.startsWith(`-`)){a++;let t=e.slice(1);n.push({type:`del`,oldNum:o,content:t}),c.push({lineNum:o,content:t}),o++}else{u();let t=e.startsWith(` `)?e.slice(1):e;n.push({type:`normal`,oldNum:o,newNum:s,content:t}),r.push({type:`line`,left:{lineNum:o,content:t,isDel:!1},right:{lineNum:s,content:t,isAdd:!1}}),o++,s++}}return u(),{unifiedLines:n,splitRows:r,additions:i,deletions:a}}var Sn,N,Cn,wn=t((()=>{Sn=e(l()),_(),N=p(),Cn=({isOpen:e,onClose:t,filePath:n,diffText:r,onApprove:i,onReject:a,isDangerous:o})=>{let[s,c]=(0,Sn.useState)(`split`),[l,u]=(0,Sn.useState)(!1),{unifiedLines:d,splitRows:f,additions:p,deletions:m}=(0,Sn.useMemo)(()=>xn(r||``),[r]);return(0,Sn.useEffect)(()=>{if(!e)return;let n=e=>{e.key===`Escape`?t():e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&i()};return window.addEventListener(`keydown`,n),()=>window.removeEventListener(`keydown`,n)},[e,t,i]),e?(0,N.jsx)(`div`,{className:`management-modal-overlay`,onClick:t,style:{zIndex:10001},children:(0,N.jsxs)(`div`,{className:`management-modal diff-review-modal`,onClick:e=>e.stopPropagation(),style:{maxWidth:`92vw`,width:`1100px`,maxHeight:`90vh`,display:`flex`,flexDirection:`column`},children:[(0,N.jsxs)(`div`,{className:`management-modal-header`,style:{padding:`16px 20px`,gap:12},children:[(0,N.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:10,minWidth:0,flex:1},children:[(0,N.jsx)(`div`,{className:`management-card-icon`,style:{width:34,height:34,fontSize:`0.72rem`,fontWeight:700,flexShrink:0,display:`flex`,alignItems:`center`,justifyContent:`center`,background:`color-mix(in srgb, var(--accent) 15%, transparent)`,color:`var(--interactive-fg)`,borderRadius:`6px`},children:`DIFF`}),(0,N.jsxs)(`div`,{style:{minWidth:0,flex:1},children:[(0,N.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[(0,N.jsx)(`h3`,{className:`management-card-title`,style:{fontSize:`1rem`,whiteSpace:`nowrap`,overflow:`hidden`,textOverflow:`ellipsis`},title:n,children:n}),(0,N.jsx)(`button`,{type:`button`,onClick:()=>{navigator?.clipboard?.writeText&&(navigator.clipboard.writeText(n),u(!0),setTimeout(()=>u(!1),2e3))},className:`management-action-btn`,style:{padding:`2px 6px`,fontSize:`0.72rem`},title:`Copy file path`,children:l?`Copied`:`Copy`})]}),(0,N.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginTop:3},children:[(0,N.jsxs)(`span`,{style:{fontSize:`0.75rem`,fontWeight:700,color:`var(--interactive-fg)`,background:`color-mix(in srgb, var(--accent) 15%, transparent)`,padding:`1px 6px`,borderRadius:`4px`},children:[`+`,p]}),(0,N.jsxs)(`span`,{style:{fontSize:`0.75rem`,fontWeight:700,color:`var(--status-error, #f87171)`,background:`var(--hover-delete-bg, rgba(239, 68, 68, 0.15))`,padding:`1px 6px`,borderRadius:`4px`},children:[`-`,m]}),o&&(0,N.jsx)(`span`,{style:{fontSize:`0.72rem`,fontWeight:700,color:`#fbbf24`,background:`rgba(245, 158, 11, 0.15)`,padding:`1px 6px`,borderRadius:`4px`,textTransform:`none`},children:`Review carefully`})]})]})]}),(0,N.jsxs)(`div`,{className:`management-filter-pills`,style:{display:`flex`,gap:2,padding:3,flexShrink:0},children:[(0,N.jsx)(`button`,{type:`button`,className:`management-pill-btn ${s===`split`?`active`:``}`,onClick:()=>c(`split`),style:{padding:`5px 10px`,fontSize:`0.78rem`},children:`Side-by-Side`}),(0,N.jsx)(`button`,{type:`button`,className:`management-pill-btn ${s===`unified`?`active`:``}`,onClick:()=>c(`unified`),style:{padding:`5px 10px`,fontSize:`0.78rem`},children:`Unified`})]}),(0,N.jsx)(`button`,{type:`button`,className:`management-modal-close`,onClick:t,title:`Close`,children:(0,N.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,N.jsx)(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),(0,N.jsx)(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})]})})]}),(0,N.jsx)(`div`,{className:`management-modal-body`,style:{padding:0,overflowY:`auto`,flex:1,background:`#090d16`,fontFamily:`Consolas, Monaco, "JetBrains Mono", monospace`,fontSize:`0.8rem`,lineHeight:1.5},children:s===`split`?(0,N.jsxs)(`div`,{className:`diff-split-container`,style:{display:`grid`,gridTemplateColumns:`1fr 1fr`,minWidth:`700px`},children:[(0,N.jsx)(`div`,{style:{position:`sticky`,top:0,zIndex:2,background:`#0e1526`,padding:`6px 12px`,borderBottom:`1px solid rgba(255,255,255,0.08)`,borderRight:`1px solid rgba(255,255,255,0.08)`,color:`#94a3b8`,fontWeight:600,fontSize:`0.75rem`},children:`Original (Before)`}),(0,N.jsx)(`div`,{style:{position:`sticky`,top:0,zIndex:2,background:`#0e1526`,padding:`6px 12px`,borderBottom:`1px solid rgba(255,255,255,0.08)`,color:`#94a3b8`,fontWeight:600,fontSize:`0.75rem`},children:`Proposed (After)`}),f.map((e,t)=>{if(e.type===`hunk`)return(0,N.jsx)(`div`,{style:{gridColumn:`1 / -1`,background:`rgba(56, 189, 248, 0.08)`,color:`#38bdf8`,padding:`4px 12px`,fontSize:`0.72rem`,fontWeight:600,borderTop:`1px solid rgba(56, 189, 248, 0.2)`,borderBottom:`1px solid rgba(56, 189, 248, 0.2)`},children:e.hunkHeader},t);let n=e.left,r=e.right;return(0,N.jsxs)(Sn.Fragment,{children:[(0,N.jsxs)(`div`,{style:{display:`flex`,borderRight:`1px solid var(--border)`,background:n?.isDel?`color-mix(in srgb, var(--status-error, #ef4444) 14%, transparent)`:`transparent`,borderLeft:n?.isDel?`3px solid var(--status-error, #ef4444)`:`3px solid transparent`,minHeight:`22px`},children:[(0,N.jsx)(`span`,{style:{width:`44px`,textAlign:`right`,paddingRight:`10px`,color:n?.isDel?`var(--status-error, #f87171)`:`var(--text-muted)`,userSelect:`none`,flexShrink:0},children:n?n.lineNum:``}),(0,N.jsx)(`span`,{style:{whiteSpace:`pre-wrap`,wordBreak:`break-all`,paddingRight:`8px`,color:n?.isDel?`var(--hover-delete, #fca5a5)`:`var(--text-chat, var(--text-main))`},children:n?n.content:``})]}),(0,N.jsxs)(`div`,{style:{display:`flex`,background:r?.isAdd?`color-mix(in srgb, var(--accent) 14%, transparent)`:`transparent`,borderLeft:r?.isAdd?`3px solid var(--accent)`:`3px solid transparent`,minHeight:`22px`},children:[(0,N.jsx)(`span`,{style:{width:`44px`,textAlign:`right`,paddingRight:`10px`,color:r?.isAdd?`var(--accent)`:`var(--text-muted)`,userSelect:`none`,flexShrink:0},children:r?r.lineNum:``}),(0,N.jsx)(`span`,{style:{whiteSpace:`pre-wrap`,wordBreak:`break-all`,paddingRight:`8px`,color:r?.isAdd?`var(--accent-hover, var(--accent))`:`var(--text-chat, var(--text-main))`},children:r?r.content:``})]})]},t)})]}):(0,N.jsx)(`div`,{style:{minWidth:`500px`},children:d.map((e,t)=>{if(e.type===`hunk`)return(0,N.jsx)(`div`,{style:{background:`rgba(56, 189, 248, 0.08)`,color:`#38bdf8`,padding:`4px 12px`,fontSize:`0.72rem`,fontWeight:600,borderTop:`1px solid rgba(56, 189, 248, 0.2)`,borderBottom:`1px solid rgba(56, 189, 248, 0.2)`},children:e.content},t);if(e.type===`meta`)return(0,N.jsx)(`div`,{style:{color:`#64748b`,padding:`2px 12px`,fontWeight:600},children:e.content},t);let n=`transparent`,r=`3px solid transparent`,i=`var(--text-chat, var(--text-main))`,a=` `;return e.type===`add`?(n=`color-mix(in srgb, var(--accent) 14%, transparent)`,r=`3px solid var(--accent)`,i=`var(--text-chat, var(--text-main))`,a=`+`):e.type===`del`&&(n=`color-mix(in srgb, var(--status-error, #ef4444) 14%, transparent)`,r=`3px solid var(--status-error, #ef4444)`,i=`var(--text-chat, var(--text-main))`,a=`-`),(0,N.jsxs)(`div`,{style:{display:`flex`,background:n,borderLeft:r,padding:`1px 0`},children:[(0,N.jsx)(`span`,{style:{width:`42px`,textAlign:`right`,color:`var(--text-muted)`,paddingRight:`8px`,userSelect:`none`,flexShrink:0},children:e.oldNum||``}),(0,N.jsx)(`span`,{style:{width:`42px`,textAlign:`right`,color:`var(--text-muted)`,paddingRight:`8px`,userSelect:`none`,flexShrink:0},children:e.newNum||``}),(0,N.jsx)(`span`,{style:{width:`16px`,color:e.type===`add`?`var(--accent)`:e.type===`del`?`var(--status-error, #f87171)`:`var(--text-muted)`,userSelect:`none`},children:a}),(0,N.jsx)(`span`,{style:{whiteSpace:`pre-wrap`,wordBreak:`break-all`,color:i},children:e.content})]},t)})})}),(0,N.jsxs)(`div`,{className:`management-modal-footer`,style:{padding:`14px 20px`,display:`flex`,alignItems:`center`,justifyContent:`space-between`},children:[(0,N.jsxs)(`div`,{style:{fontSize:`0.8rem`,color:`var(--text-muted, #94a3b8)`},children:[(0,N.jsx)(`span`,{children:`Shortcut: `}),(0,N.jsx)(`kbd`,{style:{background:`rgba(255,255,255,0.1)`,padding:`2px 5px`,borderRadius:4,fontSize:`0.72rem`},children:`Esc`}),` Cancel`,(0,N.jsx)(`span`,{style:{margin:`0 8px`},children:`•`}),(0,N.jsx)(`kbd`,{style:{background:`rgba(255,255,255,0.1)`,padding:`2px 5px`,borderRadius:4,fontSize:`0.72rem`},children:`Cmd/Ctrl+Enter`}),` Approve`]}),(0,N.jsxs)(`div`,{style:{display:`flex`,gap:10},children:[(0,N.jsx)(`button`,{type:`button`,className:`management-action-btn danger`,onClick:a,style:{padding:`8px 16px`,fontSize:`0.88rem`},children:`Reject Change`}),(0,N.jsx)(`button`,{type:`button`,className:`management-primary-btn`,onClick:i,style:{padding:`8px 20px`,fontSize:`0.88rem`},children:`Approve & Apply`})]})]})]})}):null}}));function Tn({pendingApproval:e,onApproval:t}){let[n,r]=(0,En.useState)(``),[i,a]=(0,En.useState)(new Set),[o,s]=(0,En.useState)(!1),c=mn(e.approval),l=e.approval?.WriteFile,u=e.approval?.ApplyPatch,d=e.approval?.RunShell,f=l?.path||u?.path||`Code Change`,p=l?.diff||u?.diff,m=!!e.approval?.AskUser,h=e.approval?.McpTool,g=Array.isArray(e.approval?.AskUser?.options)?e.approval.AskUser.options:[],_=!!e.approval?.AskUser?.multiSelect,ee=e.approval?.AskUser?.header||void 0,v=()=>{let e=Array.from(i).join(`, `),t=n.trim();return t?e?`${e} — ${t}`:t:e},y=e=>{a(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},b=d?{badge:`Run Command`,badgeClass:c.isDangerous?`dangerous`:`command`}:l||u?{badge:`File Edit`,badgeClass:`edit`}:h?{badge:`MCP: ${h.server}`,badgeClass:`mcp`}:m?{badge:ee||`Question`,badgeClass:`question`}:{badge:`Action Approval`,badgeClass:c.isDangerous?`dangerous`:`default`},x=h?[{key:`1`,title:`Allow once`,variant:`approve`,action:()=>t(!0,!1)},{key:`2`,title:`Always allow for "${h.server}"`,variant:`session`,action:()=>t(!0,!1,`__mcp_allow_all__`)},{key:`3`,title:`Reject`,variant:`cancel`,action:()=>t(!1)}]:[{key:`1`,title:`Allow once`,variant:`approve`,action:()=>t(!0,!1)},{key:`2`,title:`Always allow for this session`,variant:`session`,action:()=>t(!0,!0)},{key:`3`,title:`Reject`,variant:`cancel`,action:()=>t(!1)}];return(0,En.useEffect)(()=>{let e=e=>{let n=document.activeElement;if(!(n&&(n.tagName===`INPUT`||n.tagName===`TEXTAREA`||n.isContentEditable))){if(!m){let t=parseInt(e.key,10);!isNaN(t)&&t>=1&&t<=x.length&&(e.preventDefault(),x[t-1].action())}else if(!_&&g.length>0){let n=parseInt(e.key,10);!isNaN(n)&&n>=1&&n<=g.length&&(e.preventDefault(),t(!0,!1,g[n-1].label))}}};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[m,_,g,x]),(0,P.jsxs)(`div`,{className:`message ai-message`,style:{width:`100%`},children:[(0,P.jsx)(`div`,{className:`bubble-wrapper`,style:{width:`100%`},children:(0,P.jsxs)(`div`,{className:`action-card approval-card`,"data-tier":c.isDangerous?`dangerous`:void 0,style:{width:`100%`,alignItems:`stretch`,textAlign:`left`},children:[(0,P.jsxs)(`div`,{className:`approval-card-header`,style:{width:`100%`,textAlign:`left`},children:[(0,P.jsx)(`div`,{className:`approval-title-group`,style:{textAlign:`left`},children:(0,P.jsx)(`div`,{className:`approval-title-text`,style:{textAlign:`left`},children:c.title})}),(0,P.jsx)(`span`,{className:`approval-badge-chip ${b.badgeClass}`,children:b.badge})]}),p?(0,P.jsxs)(`div`,{className:`approval-card-diff-container`,style:{width:`100%`},children:[(0,P.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,marginBottom:`8px`},children:[(0,P.jsxs)(`span`,{style:{fontSize:`0.82rem`,fontWeight:600,color:`var(--text-soft, #a1a1aa)`},children:[`Diff: `,(0,P.jsx)(`code`,{style:{color:`var(--text-main, #f4f4f5)`},children:f})]}),(0,P.jsx)(`button`,{type:`button`,className:`management-action-btn`,onClick:()=>s(!0),style:{display:`inline-flex`,alignItems:`center`,gap:6,padding:`4px 10px`,fontSize:`0.75rem`,borderRadius:`8px`,background:`rgba(56, 189, 248, 0.12)`,border:`1px solid rgba(56, 189, 248, 0.3)`,color:`#38bdf8`,cursor:`pointer`},children:`Review Side-by-Side`})]}),gn(p)]}):(0,P.jsx)(`div`,{className:`approval-content-box ${m?`question-text`:``}`,children:c.body}),c.reason&&!p&&(0,P.jsx)(`div`,{className:`approval-reason-text`,children:c.reason}),m?(0,P.jsxs)(`div`,{className:`claude-choice-stack`,children:[g.length>0&&(0,P.jsx)(`div`,{className:`claude-choice-options`,children:g.map((e,n)=>{let r=_&&i.has(e.label);return(0,P.jsxs)(`button`,{type:`button`,className:`claude-choice-card ${r?`selected`:``}`,onClick:()=>_?y(e.label):t(!0,!1,e.label),children:[(0,P.jsxs)(`div`,{className:`claude-choice-left`,children:[(0,P.jsx)(`span`,{className:`claude-choice-key`,children:n+1}),(0,P.jsxs)(`div`,{className:`claude-choice-text`,children:[(0,P.jsx)(`span`,{className:`claude-choice-title`,children:e.label}),e.description&&(0,P.jsx)(`span`,{className:`claude-choice-desc`,children:e.description})]})]}),(0,P.jsx)(`div`,{className:`claude-choice-right`,children:_?(0,P.jsx)(`span`,{style:{fontSize:`1.1rem`,color:r?`#10b981`:`var(--text-muted)`},children:r?`☑`:`☐`}):(0,P.jsx)(`span`,{style:{fontSize:`1rem`,opacity:.6},children:`›`})})]},n)})}),(0,P.jsx)(`div`,{className:`claude-choice-custom-box`,children:(0,P.jsxs)(`div`,{style:{display:`flex`,gap:8,alignItems:`center`,width:`100%`},children:[(0,P.jsx)(`input`,{type:`text`,className:`claude-choice-input`,placeholder:g.length>0?`Or type custom response (press Enter to submit)...`:`Type your response (press Enter to submit)...`,value:n,onChange:e=>r(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),_?t(!0,!1,v()):n.trim()&&t(!0,!1,n.trim()))}}),(_||n.trim())&&(0,P.jsx)(`button`,{type:`button`,className:`approval-btn approval-btn-approve`,style:{whiteSpace:`nowrap`,padding:`9px 16px`,borderRadius:`8px`},disabled:_?i.size===0&&!n.trim():!n.trim(),onClick:()=>t(!0,!1,_?v():n.trim()),children:`Submit`})]})}),(0,P.jsxs)(`button`,{type:`button`,className:`claude-choice-card variant-cancel`,onClick:()=>t(!1),style:{marginTop:2},children:[(0,P.jsxs)(`div`,{className:`claude-choice-left`,children:[(0,P.jsx)(`span`,{className:`claude-choice-key`,children:`✕`}),(0,P.jsx)(`div`,{className:`claude-choice-text`,children:(0,P.jsx)(`span`,{className:`claude-choice-title`,children:`Decline / Skip`})})]}),(0,P.jsx)(`div`,{className:`claude-choice-right`,children:`›`})]})]}):(0,P.jsx)(`div`,{className:`claude-choice-stack`,children:x.map(e=>(0,P.jsxs)(`button`,{type:`button`,className:`claude-choice-card variant-${e.variant}`,onClick:e.action,children:[(0,P.jsxs)(`div`,{className:`claude-choice-left`,children:[(0,P.jsx)(`span`,{className:`claude-choice-key`,children:e.key}),(0,P.jsx)(`div`,{className:`claude-choice-text`,children:(0,P.jsx)(`span`,{className:`claude-choice-title`,children:e.title})})]}),(0,P.jsx)(`div`,{className:`claude-choice-right`,children:`›`})]},e.key))})]})}),o&&p&&(0,P.jsx)(Cn,{isOpen:o,onClose:()=>s(!1),filePath:f,diffText:p,isDangerous:c.isDangerous,onApprove:()=>{s(!1),t(!0)},onReject:()=>{s(!1),t(!1)}})]})}var En,P,Dn=t((()=>{En=e(l()),yn(),wn(),P=p()}));function On({thoughts:e,isLive:t=!1,blockKey:n,expanded:r,onExpandedChange:i,showEmptyHint:a=!1,variant:o=`default`}){let s=(0,kn.useRef)(null),c=r!==void 0&&!!i,[l,u]=(0,kn.useState)(t),d=c?!!r:l,f=e=>{c&&i?i(n,e):u(e)};return(0,kn.useEffect)(()=>{t&&!c&&u(!0)},[t,c]),(0,kn.useEffect)(()=>{!t||!d||!s.current||(s.current.scrollTop=s.current.scrollHeight)},[e,t,d]),e.length===0&&!a?null:e.length===0?(0,An.jsx)(`div`,{className:`thinking-block thinking-block-empty-state`,"data-live":t?`true`:`false`,children:(0,An.jsx)(`span`,{className:`thinking-block-empty`,children:jn.emptyHint})}):(0,An.jsxs)(`div`,{className:`thinking-block${t?` is-live`:``}${d?` is-expanded`:``}${o===`extended`?` is-extended`:``}`,children:[(0,An.jsxs)(`button`,{type:`button`,className:`thinking-block-header`,onClick:()=>f(!d),"aria-expanded":d,children:[(0,An.jsx)(rt,{size:14,className:`thinking-block-icon`,style:{flexShrink:0}}),(0,An.jsx)(`span`,{className:`thinking-block-label`,children:o===`extended`?t?jn.extendedLive:jn.extendedCompleted:t?jn.live:jn.completed}),t&&(0,An.jsx)(`span`,{className:`thinking-block-live-dot`,"aria-hidden":`true`}),(0,An.jsx)(`span`,{className:`thinking-block-chevron${d?` is-open`:``}`,"aria-hidden":`true`,children:(0,An.jsx)(nt,{size:13,strokeWidth:2.2})})]}),d&&(0,An.jsx)(`div`,{className:`thinking-block-body`,children:(0,An.jsx)(`div`,{className:`thinking-block-content`,ref:s,children:e.map((e,t)=>(0,An.jsx)(`div`,{className:`thinking-block-step`,children:(0,An.jsx)(`div`,{className:`thinking-block-step-body`,children:at(e)})},`${n}-${t}`))})})]})}var kn,An,jn,Mn=t((()=>{kn=e(l()),tt(),mt(),An=p(),jn={live:`Thinking…`,completed:`Thinking process`,extendedLive:`Thinking…`,extendedCompleted:`Thought`,emptyHint:`No thoughts recorded`}}));function Nn(e){let t=new Map;for(let n of e){let e=n.domain.toLowerCase().trim();if(t.has(e))t.get(e).items.push(n);else{let r=e;/^[^.]+\.com$/i.test(r)?r=r.replace(/\.com$/i,``):/^[^.]+\.org$/i.test(r)?r=r.replace(/\.org$/i,``):/^[^.]+\.net$/i.test(r)&&(r=r.replace(/\.net$/i,``)),t.set(e,{domain:n.domain,displayDomain:r,faviconUrl:n.faviconUrl,items:[n]})}}return Array.from(t.values())}var Pn,F,Fn,In=t((()=>{Pn=e(l()),mt(),F=p(),Fn=Pn.memo(function({sources:e}){let[t,n]=(0,Pn.useState)(!1),[r,i]=(0,Pn.useState)(null),[a,o]=(0,Pn.useState)(()=>(document.documentElement.getAttribute(`data-theme`)||`dark`)!==`light`);(0,Pn.useEffect)(()=>{let e=new MutationObserver(()=>{o((document.documentElement.getAttribute(`data-theme`)||`dark`)!==`light`)});return e.observe(document.documentElement,{attributeFilter:[`data-theme`]}),()=>e.disconnect()},[]);let s=(0,Pn.useMemo)(()=>[...Nn(e)].sort((e,t)=>{let n=+!!e.items[0]?.imageUrl;return+!!t.items[0]?.imageUrl-n}),[e]);if(!e||e.length===0)return null;let c=t?s:s.slice(0,3),l=s.slice(0,3).reduce((e,t)=>e+t.items.length,0),u=e.length-l,d=s.slice(3);return(0,F.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`10px`,marginBottom:`12px`,marginTop:`4px`},children:[(0,F.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`8px`},children:[(0,F.jsx)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{color:`#94a3b8`},children:(0,F.jsx)(`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H20v20H6.5a2.5 2.5 0 0 1 0-5H20`})}),(0,F.jsx)(`span`,{style:{fontSize:`0.85rem`,fontWeight:600,color:a?`#f1f5f9`:`#0f172a`,letterSpacing:`0.01em`},children:`Sources`})]}),(0,F.jsxs)(`div`,{style:{display:`flex`,flexWrap:`wrap`,gap:`8px`},children:[c.map((e,t)=>{let n=e.items[0],o=e.items.length-1,s=r===e.domain;return(0,F.jsxs)(`div`,{style:{position:`relative`,flex:`1 1 180px`,maxWidth:`240px`,minWidth:`160px`,boxSizing:`border-box`},children:[(0,F.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,justifyContent:`space-between`,borderRadius:`16px`,background:`var(--bg-surface-soft)`,border:`1px solid ${a?`rgba(255,255,255,0.08)`:`rgba(15,23,42,0.1)`}`,transition:`all 0.15s ease`,cursor:`pointer`,minHeight:`68px`,height:`100%`,boxSizing:`border-box`,overflow:`hidden`},onClick:t=>{let r=t.target;if(o>0&&r.closest(`.extra-badge-btn`)){t.stopPropagation(),i(s?null:e.domain);return}window.open(n.url,`_blank`,`noopener,noreferrer`)},onMouseEnter:e=>{let t=e.currentTarget;t.style.background=`var(--bg-surface-hover)`,t.style.borderColor=a?`rgba(255,255,255,0.16)`:`rgba(15,23,42,0.2)`,t.style.transform=`translateY(-1px)`},onMouseLeave:e=>{let t=e.currentTarget;t.style.background=`var(--bg-surface-soft)`,t.style.borderColor=a?`rgba(255,255,255,0.08)`:`rgba(15,23,42,0.1)`,t.style.transform=`translateY(0)`},children:[n.imageUrl&&(0,F.jsx)(`div`,{style:{width:`100%`,height:`80px`,overflow:`hidden`,background:`var(--bg-surface-raised)`,flexShrink:0},children:(0,F.jsx)(`img`,{src:vt(n.imageUrl),alt:n.title,loading:`lazy`,referrerPolicy:`no-referrer`,style:{width:`100%`,height:`100%`,objectFit:`cover`,display:`block`},onError:e=>{e.currentTarget.parentElement.style.display=`none`}})}),(0,F.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,flex:1,padding:`10px 12px`},children:[(0,F.jsx)(`div`,{title:n.title,style:{fontSize:`0.8rem`,fontWeight:500,color:`var(--text-primary)`,lineHeight:`1.3`,display:`-webkit-box`,WebkitLineClamp:2,WebkitBoxOrient:`vertical`,overflow:`hidden`,marginBottom:`8px`,wordBreak:`break-word`},children:n.title}),(0,F.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,marginTop:`auto`,paddingTop:`2px`},children:[(0,F.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`6px`,overflow:`hidden`,marginRight:`6px`},children:[(0,F.jsx)(`img`,{src:e.faviconUrl,alt:``,width:14,height:14,style:{borderRadius:`3px`,flexShrink:0},onError:e=>{e.currentTarget.style.display=`none`}}),(0,F.jsx)(`span`,{style:{fontSize:`0.73rem`,color:`#94a3b8`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e.displayDomain})]}),o>0?(0,F.jsxs)(`button`,{type:`button`,className:`extra-badge-btn`,title:`${o} extra page${o>1?`s`:``} from ${e.domain} — click to view`,style:{fontSize:`0.68rem`,fontWeight:600,color:`#38bdf8`,background:`rgba(56, 189, 248, 0.12)`,border:`1px solid rgba(56, 189, 248, 0.3)`,padding:`1px 6px`,borderRadius:`4px`,flexShrink:0,cursor:`pointer`,display:`flex`,alignItems:`center`,gap:`2px`},onClick:t=>{t.stopPropagation(),i(s?null:e.domain)},children:[`+`,o]}):(0,F.jsxs)(`span`,{style:{fontSize:`0.7rem`,color:`#64748b`,fontWeight:500,flexShrink:0},children:[`•`,t+1]})]})]})]}),s&&o>0&&(0,F.jsxs)(`div`,{className:`source-links-popover`,style:{position:`absolute`,top:`100%`,left:0,width:`260px`,marginTop:`6px`,background:`var(--bg-overlay)`,border:`1px solid var(--border-default)`,borderRadius:`14px`,boxShadow:`0 10px 25px rgba(0,0,0,0.6)`,zIndex:40,padding:`6px`,display:`flex`,flexDirection:`column`,gap:`4px`},children:[(0,F.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,padding:`4px 6px`,borderBottom:`1px solid var(--border-subtle)`},children:[(0,F.jsxs)(`span`,{style:{fontSize:`0.7rem`,fontWeight:600,color:`var(--text-muted)`},children:[`All links from `,e.domain,` (`,e.items.length,`)`]}),(0,F.jsx)(`button`,{type:`button`,style:{background:`none`,border:`none`,color:`#64748b`,cursor:`pointer`,fontSize:`0.8rem`,padding:`0 2px`},onClick:()=>i(null),children:`✕`})]}),e.items.map((e,t)=>(0,F.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,style:{display:`flex`,flexDirection:`column`,gap:`2px`,padding:`6px 8px`,borderRadius:`6px`,color:`var(--text-primary)`,textDecoration:`none`,fontSize:`0.75rem`,background:`var(--bg-surface-soft)`,transition:`background 0.15s`},onMouseEnter:e=>{e.currentTarget.style.background=`var(--bg-surface-hover)`},onMouseLeave:e=>{e.currentTarget.style.background=`var(--bg-surface-soft)`},children:[(0,F.jsxs)(`div`,{style:{fontWeight:500,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:[t+1,`. `,e.title]}),(0,F.jsx)(`div`,{style:{fontSize:`0.68rem`,color:`#64748b`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e.url})]},t))]})]},e.domain)}),!t&&u>0&&(0,F.jsxs)(`div`,{onClick:()=>n(!0),style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,padding:`10px 14px`,borderRadius:`16px`,background:`var(--bg-surface-soft)`,border:`1px solid ${a?`rgba(255,255,255,0.08)`:`rgba(15,23,42,0.1)`}`,cursor:`pointer`,transition:`all 0.15s ease`,minHeight:`68px`,height:`100%`,flex:`1 1 160px`,maxWidth:`200px`,boxSizing:`border-box`},onMouseEnter:e=>{let t=e.currentTarget;t.style.background=`var(--bg-surface-hover)`,t.style.borderColor=a?`rgba(255,255,255,0.16)`:`rgba(15,23,42,0.2)`,t.style.transform=`translateY(-1px)`},onMouseLeave:e=>{let t=e.currentTarget;t.style.background=`var(--bg-surface-soft)`,t.style.borderColor=a?`rgba(255,255,255,0.08)`:`rgba(15,23,42,0.1)`,t.style.transform=`translateY(0)`},children:[(0,F.jsx)(`div`,{style:{display:`flex`,alignItems:`center`},children:d.slice(0,3).map((e,t)=>(0,F.jsx)(`img`,{src:e.faviconUrl,alt:``,width:18,height:18,style:{borderRadius:`50%`,border:`1.5px solid #18181b`,marginLeft:t===0?0:`-6px`,background:`#27272a`,objectFit:`cover`},onError:e=>{e.currentTarget.style.display=`none`}},t))}),(0,F.jsxs)(`span`,{style:{fontSize:`0.78rem`,fontWeight:500,color:`#94a3b8`,marginLeft:`8px`},children:[`View `,u,` more`]})]})]}),t&&s.length>3&&(0,F.jsx)(`div`,{style:{display:`flex`,justifyContent:`flex-start`,marginTop:`4px`},children:(0,F.jsx)(`button`,{type:`button`,onClick:()=>{n(!1),i(null)},style:{background:`var(--bg-surface-soft)`,border:`1px solid ${a?`rgba(255,255,255,0.1)`:`rgba(15,23,42,0.12)`}`,borderRadius:`8px`,padding:`4px 10px`,color:`#94a3b8`,fontSize:`0.73rem`,fontWeight:500,cursor:`pointer`,transition:`background 0.15s`},onMouseEnter:e=>{e.currentTarget.style.background=`var(--bg-surface-hover)`},onMouseLeave:e=>{e.currentTarget.style.background=`var(--bg-surface-soft)`},children:`Show less`})})]})})})),Ln,I,Rn,zn=t((()=>{Ln=e(l()),mt(),Pe(),it(),ut(),gt(),st(),ft(),we(),nn(),I=p(),Rn=Ln.memo(function(e){let{interaction:t,copiedId:n,onEditMessage:r,speakingText:i,agentActivitySnapshots:a,thinkingExpanded:o,openActivityIds:s,openReviewIds:c,openFileDiffs:l,onThinkingExpandedChange:u,handleCopyMessage:d,speak:f,renderCompletedActivity:p,renderFileChanges:m,renderWebSearchSources:h}=e,_=t.provider===`system`&&t.model===`provider_change`,ee=(0,Ln.useMemo)(()=>t.userText?at(t.userText):null,[t.userText]),v=a[String(t.id)]??t.agentActivity??[],y=(0,Ln.useMemo)(()=>en(v),[v]),b=(0,Ln.useMemo)(()=>t.aiText?at(t.aiText,y):null,[t.aiText,y]);if(_){let e=(t.userText||``).replace(/^Changed model to\s*/i,``).trim();return(0,I.jsxs)(`div`,{className:`system-event-divider`,children:[(0,I.jsx)(`div`,{className:`system-event-line`}),(0,I.jsxs)(`div`,{className:`system-event-pill`,children:[(0,I.jsx)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,children:(0,I.jsx)(`path`,{d:`m12 3-1.912 5.813a2 2 0 0 1-1.275 1.275L3 12l5.813 1.912a2 2 0 0 1 1.275 1.275L12 21l1.912-5.813a2 2 0 0 1 1.275-1.275L21 12l-5.813-1.912a2 2 0 0 1-1.275-1.275L12 3Z`})}),(0,I.jsx)(`span`,{children:e})]}),(0,I.jsx)(`div`,{className:`system-event-line`})]},t.id)}let x=n===`user-${t.id}`,S=n===t.id,C=i===t.aiText,w=(0,Ln.useMemo)(()=>{if(t.aiText&&(t.aiText.includes("```weather_json")||t.aiText.includes("```weather-json")))return null;for(let e of v||[])if(e.type===`ToolEnd`&&(e.data?.action===`weather`||e.data?.name===`weather`)){let t=e.data.result||e.data.output||``,n=typeof t==`string`&&t.match(/```weather_json\s*([\s\S]*?)\s*```/);if(n&&n[1])try{return JSON.parse(n[1])}catch{}}return null},[t.aiText,v]),te=(0,Ln.useMemo)(()=>{if(t.aiText&&(t.aiText.includes("```stock_json")||t.aiText.includes("```stock-json")))return null;for(let e of v||[])if(e.type===`ToolEnd`&&(e.data?.action===`stock`||e.data?.name===`stock`)){let t=e.data.result||e.data.output||``,n=typeof t==`string`&&t.match(/```stock_json\s*([\s\S]*?)\s*```/);if(n&&n[1])try{return JSON.parse(n[1])}catch{}}return null},[t.aiText,v]),T=(0,Ln.useMemo)(()=>{if(t.aiText&&(t.aiText.includes("```calculation_json")||t.aiText.includes("```calculation-json")))return null;for(let e of v||[])if(e.type===`ToolEnd`&&(e.data?.action===`calculation`||e.data?.name===`calculation`)){let t=e.data.result||e.data.output||``,n=typeof t==`string`&&t.match(/```calculation_json\s*([\s\S]*?)\s*```/);if(n&&n[1])try{return JSON.parse(n[1])}catch{}}return null},[t.aiText,v]),E=(0,Ln.useMemo)(()=>{if(t.aiText&&(t.aiText.includes("```image_search_json")||t.aiText.includes("```image-search-json")))return null;for(let e of v||[])if(e.type===`ToolEnd`&&(e.data?.action===`image_search`||e.data?.name===`image_search`)){let t=e.data.result||e.data.output||``,n=typeof t==`string`&&t.match(/```image_search_json\s*([\s\S]*?)\s*```/);if(n&&n[1])try{return JSON.parse(n[1])}catch{}}return null},[t.aiText,v]),ne=(0,Ln.useMemo)(()=>{if(t.aiText&&(t.aiText.includes("```image_gen_json")||t.aiText.includes("```image-gen-json")))return null;let e=new Set([`generate_image`,`image_studio.generate`,`image_generate`]);for(let t of v||[])if(t.type===`ToolEnd`&&(e.has(t.data?.action)||e.has(t.data?.name))){let e=t.data.result||t.data.output||``,n=typeof e==`string`&&e.match(/```image_gen_json\s*([\s\S]*?)\s*```/);if(n&&n[1])try{return JSON.parse(n[1])}catch{}}return null},[t.aiText,v]);return(0,I.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`8px`,marginBottom:`16px`},children:[t.userText&&(0,I.jsx)(`div`,{className:`message user-message`,children:(0,I.jsxs)(`div`,{className:`bubble-wrapper`,children:[(0,I.jsx)(`div`,{className:`message-bubble`,children:ee}),(0,I.jsxs)(`div`,{className:`message-time`,style:{display:`flex`,alignItems:`center`,gap:`8px`},children:[(0,I.jsx)(`span`,{children:ue(t.createdAt).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`})}),(0,I.jsx)(`button`,{type:`button`,className:`msg-action-btn copy-btn ${x?`is-copied`:``}`,onClick:()=>d(`user-${t.id}`,t.userText),title:x?`คัดลอกแล้ว (Copied!)`:`คัดลอกข้อความ (Copy)`,children:dt(x)}),r&&t.provider!==`system`&&(0,I.jsx)(`button`,{type:`button`,className:`msg-action-btn edit-btn`,onClick:()=>r(t.userText),title:`แก้ไขและส่งใหม่ (Edit & resend)`,children:(0,I.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,I.jsx)(`path`,{d:`M12 20h9`}),(0,I.jsx)(`path`,{d:`M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z`})]})})]})]})}),(0,I.jsx)(`div`,{className:`message ai-message`,children:(0,I.jsxs)(`div`,{className:`bubble-wrapper`,children:[t.status===`completed`&&p(t),t.status===`completed`&&m(t),(0,I.jsxs)(`div`,{className:`message-bubble`,children:[t.status===`queued`&&(0,I.jsx)(`span`,{children:`Queued for this session…`}),t.status===`running`&&(0,I.jsx)(`span`,{children:`Mint is responding…`}),t.status===`failed`&&(0,I.jsx)(`span`,{children:`This turn failed. Send the prompt again to retry.`}),t.status===`interrupted`&&(0,I.jsx)(`span`,{children:`This turn was interrupted. Send the prompt again to retry.`}),w&&(0,I.jsx)(lt,{data:w}),te&&(0,I.jsx)(pt,{data:te}),T&&(0,I.jsx)(ct,{data:T}),E&&(0,I.jsx)(bt,{data:E}),ne&&(0,I.jsx)(ot,{data:ne}),b]}),h(t),(0,I.jsxs)(`div`,{className:`message-time`,style:{display:`flex`,alignItems:`center`,gap:`8px`},children:[t.status===`completed`&&(0,I.jsxs)(`span`,{className:`provider-model-chip`,"data-provider":(t.provider||``).toLowerCase(),title:`${t.provider} • ${t.model}`,children:[(0,I.jsx)(`span`,{className:`provider-chip-dot`,"aria-hidden":`true`}),(0,I.jsx)(`span`,{className:`provider-chip-name`,children:t.provider}),(0,I.jsx)(`span`,{className:`provider-chip-divider`,children:`/`}),(0,I.jsx)(`span`,{className:`provider-chip-model`,children:t.model})]}),g(t)&&(0,I.jsx)(`span`,{className:`provider-fallback-notice`,children:g(t)}),(0,I.jsx)(`span`,{className:`message-timestamp`,children:ue(t.createdAt).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`})}),t.status===`completed`&&(0,I.jsxs)(`div`,{className:`message-action-buttons`,style:{display:`flex`,alignItems:`center`,gap:`4px`,marginLeft:`auto`},children:[(0,I.jsx)(`button`,{type:`button`,className:`msg-action-btn copy-btn ${S?`is-copied`:``}`,onClick:()=>d(t.id,t.aiText),title:S?`คัดลอกแล้ว (Copied!)`:`คัดลอกข้อความ (Copy message)`,children:dt(S)}),(0,I.jsx)(`button`,{type:`button`,className:`msg-action-btn tts-btn ${C?`is-speaking`:``}`,onClick:()=>f(t.aiText),title:C?`Stop reading`:`Read aloud`,children:ht(C)})]})]})]})})]},t.id)},(e,t)=>{let n=e.interaction,r=t.interaction;return!(n.id!==r.id||n.aiText!==r.aiText||n.userText!==r.userText||n.createdAt!==r.createdAt||n.status!==r.status||n.agentActivity!==r.agentActivity||e.copiedId===`user-${n.id}`!=(t.copiedId===`user-${r.id}`)||e.copiedId===n.id!=(t.copiedId===r.id)||e.speakingText===n.aiText!=(t.speakingText===r.aiText)||(e.thinkingExpanded[String(n.id)]??!1)!==(t.thinkingExpanded[String(r.id)]??!1)||(e.thinkingExpanded[`extended-${n.id}`]??!1)!==(t.thinkingExpanded[`extended-${r.id}`]??!1)||(e.openActivityIds?.[String(n.id)]??!1)!==(t.openActivityIds?.[String(r.id)]??!1)||(e.openReviewIds?.[String(n.id)]??!1)!==(t.openReviewIds?.[String(r.id)]??!1)||e.openFileDiffs!==t.openFileDiffs||e.agentActivitySnapshots[String(n.id)]!==t.agentActivitySnapshots[String(r.id)])})}));function Bn({thought:e}){let t=tn(e);return t?(0,Vn.jsx)(`div`,{className:`inline-thought-note`,children:(0,Vn.jsx)(`div`,{className:`inline-thought-note-text`,children:at(t)??t})}):null}var Vn,Hn=t((()=>{mt(),nn(),Vn=p()}));function Un(e){let t=e.split(` #`)[0].trim().split(`/`);return t[t.length-1]}function Wn(e,t,n){if(e===`file`){let e=Un(t),n=xt(e,Dt(e));return n?(0,L.jsx)(`img`,{src:n,alt:``,draggable:!1,className:`agent-activity-icon-img`}):(0,L.jsx)(Ve,{size:14,className:`agent-activity-kind-icon`})}if(e===`folder`){let e=Et(Un(t),!1);return e?(0,L.jsx)(`img`,{src:e,alt:``,draggable:!1,className:`agent-activity-icon-img`}):(0,L.jsx)(Ge,{size:14,className:`agent-activity-kind-icon`})}return e===`calc`||n===`calculation`?(0,L.jsx)(qe,{size:14,className:`agent-activity-kind-icon`}):e===`search`?(0,L.jsx)(ze,{size:14,className:`agent-activity-kind-icon`}):e===`terminal`?(0,L.jsx)(Ue,{size:14,className:`agent-activity-kind-icon`}):(0,L.jsx)(Je,{size:14,className:`agent-activity-kind-icon`})}function Gn(e,t){if(!t||!t.trim())return null;let n=t.trim().split(`
|
|
13
|
-
`)[0].trim();if(e===`calculation`){let e=n.indexOf(`=`);if(e!==-1){let t=n.slice(e+1).trim();if(t.length>0&&t.length<30)return`→ ${t}`}}return n.length>0&&n.length<=35&&!n.startsWith(`Error:`)&&!n.startsWith(`{`)?`→ ${n}`:null}function Kn(e){return e===`active`?(0,L.jsx)($e,{size:12,className:`agent-activity-status-spin`}):e===`retry`?(0,L.jsx)(`span`,{className:`agent-activity-badge retry`,title:`Encountered an error but agent retried`,children:`Retried`}):e===`error`?(0,L.jsx)(`span`,{className:`agent-activity-badge error`,title:`Action failed`,children:`Failed`}):(0,L.jsx)(Ze,{size:12,className:`agent-activity-status-check`})}function qn({activityView:e}){let t=e.groups||Zt(e.items),[n,r]=(0,Jn.useState)({}),[i,a]=(0,Jn.useState)({}),o=e=>{r(t=>({...t,[e]:!t[e]}))},s=(e,t=!1)=>{a(n=>({...n,[e]:!(n[e]??t)}))},c=(e,t)=>{let n=!!i[t],r=e.result?.trim(),a=Gn(e.action,r);return(0,L.jsxs)(Jn.Fragment,{children:[(0,L.jsxs)(`div`,{className:`agent-activity-item`,"data-kind":e.kind,"data-state":e.state,style:{cursor:r?`pointer`:`default`},onClick:()=>r&&s(t),children:[(0,L.jsx)(`span`,{className:`agent-activity-icon-wrap`,"aria-hidden":`true`,children:Wn(e.kind,e.target,e.action)}),(0,L.jsx)(`span`,{className:`agent-activity-label`,children:(0,L.jsx)(`span`,{className:`agent-activity-tool-name`,children:e.label||e.action})}),(0,L.jsxs)(`span`,{className:`agent-activity-text`,title:e.target,style:n?{whiteSpace:`normal`,wordBreak:`break-all`,overflow:`visible`,textOverflow:`clip`}:void 0,children:[(0,L.jsx)(`span`,{className:`agent-activity-target-text`,children:e.target}),a&&(0,L.jsx)(`span`,{className:`agent-activity-inline-result`,children:a})]}),(0,L.jsxs)(`span`,{className:`agent-activity-status-col`,children:[Kn(e.state),r&&(0,L.jsx)(`span`,{className:`agent-activity-chevron${n?` is-open`:``}`,"aria-hidden":`true`,children:(0,L.jsx)(nt,{size:12,strokeWidth:2.2})})]})]}),n&&r&&(0,L.jsx)(`div`,{className:`agent-activity-output`,children:(0,L.jsx)(`pre`,{children:r})})]},t)},l=e=>{let t=!!n[e.id];return(0,L.jsxs)(`div`,{className:`agent-activity-group`,children:[(0,L.jsxs)(`div`,{className:`agent-activity-group-header${t?` is-expanded`:``}`,"data-state":e.state,onClick:()=>o(e.id),children:[(0,L.jsx)(`span`,{className:`agent-activity-icon-wrap`,"aria-hidden":`true`,children:Wn(e.kind,e.items[0]?.target,e.action)}),(0,L.jsx)(`span`,{className:`agent-activity-group-title`,children:e.title}),(0,L.jsxs)(`span`,{className:`agent-activity-group-badges`,children:[(0,L.jsx)(`span`,{className:`agent-activity-count-badge`,children:e.count}),Kn(e.state),(0,L.jsx)(`span`,{className:`agent-activity-chevron${t?` is-open`:``}`,"aria-hidden":`true`,children:(0,L.jsx)(nt,{size:13,strokeWidth:2.2})})]})]}),t&&(0,L.jsx)(`div`,{className:`agent-activity-group-subitems`,children:e.items.map((t,n)=>{let r=`${e.id}-${n}-${t.target}`,a=!!i[r],o=t.result?.trim(),c=Gn(t.action,o);return(0,L.jsxs)(Jn.Fragment,{children:[(0,L.jsxs)(`div`,{className:`agent-activity-subitem`,"data-state":t.state,style:{cursor:o?`pointer`:`default`},onClick:()=>o&&s(r),children:[(0,L.jsx)(`span`,{className:`agent-activity-tree-bullet`,"aria-hidden":`true`,children:n===e.items.length-1?`└─`:`├─`}),(0,L.jsx)(`span`,{className:`agent-activity-subitem-target`,title:t.target,children:t.target}),c&&(0,L.jsx)(`span`,{className:`agent-activity-inline-result`,children:c}),(0,L.jsxs)(`span`,{className:`agent-activity-subitem-status`,children:[Kn(t.state),o&&(0,L.jsx)(`span`,{className:`agent-activity-chevron${a?` is-open`:``}`,"aria-hidden":`true`,children:(0,L.jsx)(nt,{size:11,strokeWidth:2.2})})]})]}),a&&o&&(0,L.jsx)(`div`,{className:`agent-activity-output agent-activity-subitem-output`,children:(0,L.jsx)(`pre`,{children:o})})]},r)})})]},e.id)};return(0,L.jsx)(`div`,{className:`agent-activity-list`,children:e.timeline&&e.timeline.length>0?e.timeline.map((e,t)=>{if(e.kind===`thought`)return(0,L.jsx)(Bn,{thought:e.thought},e.id||`thought-${t}`);if(e.kind===`extendedThinking`){let n=e.id||`ext-thought-${t}`,r=i[n]??!!e.streaming;return(0,L.jsxs)(`div`,{className:`agent-activity-thought-step`,children:[(0,L.jsxs)(`div`,{className:`agent-activity-thought-header${r?` is-expanded`:``}`,onClick:()=>s(n,!!e.streaming),children:[(0,L.jsx)(`span`,{className:`agent-activity-icon-wrap`,"aria-hidden":`true`,children:(0,L.jsx)(rt,{size:14,className:`agent-activity-kind-icon`})}),(0,L.jsxs)(`span`,{className:`agent-activity-thought-title`,children:[`Thought`,(0,L.jsx)(`span`,{className:`agent-activity-thought-meta`,children:e.streaming?` · Thinking…`:e.elapsedMs==null?``:` · ${(e.elapsedMs/1e3).toFixed(1)}s`})]}),(0,L.jsx)(`span`,{className:`agent-activity-chevron${r?` is-open`:``}`,"aria-hidden":`true`,children:(0,L.jsx)(nt,{size:13,strokeWidth:2.2})})]}),r&&(0,L.jsx)(`div`,{className:`agent-activity-thought-body`,children:e.streaming?(0,L.jsxs)(L.Fragment,{children:[e.thought,(0,L.jsx)(`span`,{className:`agent-activity-thought-cursor`,children:`▍`})]}):at(e.thought)??e.thought})]},n)}return e.kind===`activity`?c(e.activity,e.id||`act-${t}`):e.kind===`group`?l(e.group):null}):t.map((e,t)=>{if(e.count<=1){let n=e.items[0];return c(n,`${t}-0-${n.label}-${n.target}`)}return l(e)})})}var Jn,L,Yn=t((()=>{Jn=e(l()),nn(),Ct(),Hn(),mt(),tt(),L=p()}));function Xn(e){let t=new Map,n=!1;for(let r of e||[])if(r.type===`Thinking`)n=!0;else if(r.type===`ToolStart`){n=!0;let e=r.data.action,i=r.data.subagent;if(e===`dispatch_subagent`){let e=r.data.input?.name||`subagent`,n=r.data.input?.instruction||``;t.has(e)||t.set(e,{name:e,taskSnippet:n.length>80?`${n.slice(0,77)}...`:n,status:`running`,tools:[]})}if(i){let n=t.get(i);n||(n={name:i,status:`running`,tools:[]},t.set(i,n)),n.status=`running`,n.currentTool=e,n.tools.push({action:e,input:r.data.input})}}else if(r.type===`ToolEnd`){let e=r.data.action,n=r.data.subagent,i=r.data.result||``,a=i.startsWith(`Error:`);if(e===`dispatch_subagent`){let e=r.data.input?.name||`subagent`,n=t.get(e);n&&(n.status=a?`failed`:`completed`,n.currentTool=void 0)}if(n){let r=t.get(n);if(r){let t=r.tools[r.tools.length-1];t&&t.action===e&&(t.result=i,t.isError=a),r.currentTool=void 0}}}let r=Array.from(t.values());for(let e of r)!e.currentTool&&e.status===`running`&&(e.status=`completed`);return{orchestratorStatus:n?`running`:`completed`,subagents:r}}function Zn({progress:e,isLive:t=!1}){let[n,r]=(0,Qn.useState)(null),i=(0,Qn.useMemo)(()=>Xn(e),[e]),a=(0,Qn.useMemo)(()=>n&&i.subagents.find(e=>e.name===n)||null,[i.subagents,n]);return i.subagents.length===0?(0,R.jsxs)(`div`,{style:{padding:`24px`,textAlign:`center`,color:`var(--text-muted, #9ca3af)`,fontSize:`0.85rem`},children:[(0,R.jsx)(`p`,{style:{margin:0,fontWeight:500},children:`No subagents dispatched in this turn`}),(0,R.jsxs)(`p`,{style:{margin:`6px 0 0 0`,opacity:.7,fontSize:`0.78rem`},children:[`Subagents will appear here in an interactive DAG tree when the Main Agent invokes them via `,(0,R.jsx)(`code`,{children:`dispatch_subagent`}),`.`]})]}):(0,R.jsxs)(`div`,{className:`subagent-dag-container`,style:{display:`flex`,flexDirection:`column`,gap:`16px`,padding:`16px`},children:[(0,R.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,alignItems:`center`,gap:`28px`,position:`relative`,padding:`12px`},children:[(0,R.jsxs)(`div`,{style:{display:`inline-flex`,alignItems:`center`,gap:`10px`,padding:`10px 18px`,borderRadius:`12px`,background:`linear-gradient(135deg, rgba(16, 185, 129, 0.15), rgba(59, 130, 246, 0.15))`,border:`1px solid rgba(16, 185, 129, 0.35)`,boxShadow:`0 4px 16px rgba(0, 0, 0, 0.3)`,zIndex:2},children:[(0,R.jsx)(`div`,{style:{width:`32px`,height:`32px`,borderRadius:`8px`,background:`#10b981`,color:`#ffffff`,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:`0.75rem`,fontWeight:700},children:`M`}),(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`div`,{style:{fontWeight:600,fontSize:`0.88rem`,color:`#f3f4f6`},children:`Main orchestrator`}),(0,R.jsxs)(`div`,{style:{fontSize:`0.72rem`,color:t?`#10b981`:`#9ca3af`,display:`flex`,alignItems:`center`,gap:`4px`},children:[(0,R.jsx)(`span`,{style:{width:`6px`,height:`6px`,borderRadius:`50%`,background:t?`#10b981`:`#6b7280`,display:`inline-block`}}),t?`Active Session`:`Completed`]})]})]}),(0,R.jsx)(`div`,{style:{display:`flex`,flexWrap:`wrap`,justifyContent:`center`,gap:`16px`,width:`100%`,position:`relative`,zIndex:2},children:i.subagents.map(e=>{let t=n===e.name,i=e.status===`running`?`#3b82f6`:e.status===`failed`?`#ef4444`:`#10b981`;return(0,R.jsxs)(`div`,{onClick:()=>r(t?null:e.name),style:{display:`flex`,flexDirection:`column`,width:`260px`,padding:`12px`,borderRadius:`10px`,background:t?`rgba(30, 41, 59, 0.95)`:`rgba(15, 23, 42, 0.8)`,border:`1px solid ${t?i:`rgba(255, 255, 255, 0.1)`}`,cursor:`pointer`,boxShadow:t?`0 0 16px ${i}33`:`0 4px 12px rgba(0, 0, 0, 0.2)`,transition:`all 0.2s ease`},children:[(0,R.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,marginBottom:`8px`},children:[(0,R.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`8px`},children:[(0,R.jsx)(`span`,{style:{width:`8px`,height:`8px`,borderRadius:`50%`,background:i,display:`inline-block`}}),(0,R.jsx)(`span`,{style:{fontWeight:600,fontSize:`0.84rem`,color:`#f3f4f6`},children:e.name})]}),(0,R.jsx)(`span`,{style:{fontSize:`0.68rem`,fontWeight:600,padding:`2px 6px`,borderRadius:`4px`,textTransform:`none`,background:`${i}22`,color:i,border:`1px solid ${i}44`},children:e.status===`running`&&e.currentTool?e.currentTool:e.status})]}),e.taskSnippet&&(0,R.jsx)(`p`,{style:{margin:`0 0 8px 0`,fontSize:`0.74rem`,color:`#94a3b8`,lineHeight:1.4},children:e.taskSnippet}),(0,R.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,fontSize:`0.72rem`,color:`#64748b`,paddingTop:`6px`,borderTop:`1px solid rgba(255, 255, 255, 0.06)`},children:[(0,R.jsxs)(`span`,{children:[e.tools.length,` tool `,e.tools.length===1?`call`:`calls`]}),(0,R.jsx)(`span`,{style:{color:t?i:`#94a3b8`},children:t?`Hide Details ▲`:`View Logs ▼`})]})]},e.name)})})]}),a&&(0,R.jsxs)(`div`,{style:{background:`rgba(15, 23, 42, 0.95)`,border:`1px solid rgba(255, 255, 255, 0.1)`,borderRadius:`10px`,padding:`14px`,marginTop:`8px`},children:[(0,R.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,marginBottom:`12px`},children:[(0,R.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`8px`},children:[(0,R.jsxs)(`span`,{style:{fontWeight:600,fontSize:`0.86rem`,color:`#10b981`},children:[`Subagent Activity: `,a.name]}),(0,R.jsxs)(`span`,{style:{fontSize:`0.75rem`,color:`#94a3b8`},children:[`(`,a.tools.length,`)`]})]}),(0,R.jsx)(`button`,{type:`button`,onClick:()=>r(null),style:{background:`transparent`,border:`none`,color:`#94a3b8`,cursor:`pointer`,fontSize:`0.8rem`},children:`Close`})]}),(0,R.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`8px`,maxHeight:`300px`,overflowY:`auto`},children:a.tools.map((e,t)=>(0,R.jsxs)(`div`,{style:{background:`rgba(0, 0, 0, 0.25)`,border:`1px solid rgba(255, 255, 255, 0.05)`,borderRadius:`6px`,padding:`8px 10px`,fontSize:`0.76rem`},children:[(0,R.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,marginBottom:`4px`},children:[(0,R.jsx)(`span`,{style:{fontWeight:600,color:`#38bdf8`},children:e.action}),e.isError&&(0,R.jsx)(`span`,{style:{color:`#f87171`,fontWeight:600},children:`Failed`})]}),e.input&&(0,R.jsx)(`pre`,{style:{margin:`4px 0`,padding:`4px 6px`,background:`#090d16`,borderRadius:`4px`,color:`#cbd5e1`,fontSize:`0.72rem`,overflowX:`auto`},children:JSON.stringify(e.input,null,2)}),e.result&&(0,R.jsxs)(`div`,{style:{marginTop:`4px`,color:`#94a3b8`,fontSize:`0.72rem`,maxHeight:`100px`,overflowY:`auto`},children:[(0,R.jsx)(`strong`,{children:`Result:`}),` `,e.result.slice(0,200),e.result.length>200?`...`:``]})]},t))})]})]})}var Qn,R,$n=t((()=>{Qn=e(l()),R=p()}));function er({plan:e,className:t=``}){if(!e||!e.tasks||e.tasks.length===0)return null;let n=e.tasks.filter(e=>e.status===`completed`).length,r=e.tasks.length,i=Math.round(n/r*100);return(0,tr.jsxs)(`div`,{className:`plan-checklist-card ${t}`,children:[(0,tr.jsxs)(`div`,{className:`plan-checklist-header`,children:[(0,tr.jsxs)(`div`,{className:`plan-checklist-title`,children:[(0,tr.jsx)(Xe,{style:{width:`15px`,height:`15px`,color:`var(--interactive-fg)`}}),(0,tr.jsx)(`span`,{children:e.objective||`Task Plan`})]}),(0,tr.jsxs)(`span`,{className:`plan-checklist-count`,children:[n,`/`,r,` (`,i,`%)`]})]}),(0,tr.jsx)(`div`,{className:`plan-progress-track`,children:(0,tr.jsx)(`div`,{className:`plan-progress-bar`,style:{width:`${i}%`}})}),(0,tr.jsx)(`div`,{className:`plan-tasks-list`,children:e.tasks.map((e,t)=>{let n=e.status===`completed`,r=e.status===`in_progress`,i=e.status===`failed`;return(0,tr.jsxs)(`div`,{className:`plan-task-item ${r?`in-progress`:n?`completed`:i?`failed`:``}`,children:[(0,tr.jsxs)(`span`,{style:{display:`inline-flex`,alignItems:`center`,flexShrink:0},children:[n&&(0,tr.jsx)(et,{style:{width:`14px`,height:`14px`,color:`var(--status-speaking, #22c55e)`}}),r&&(0,tr.jsx)($e,{style:{width:`14px`,height:`14px`,color:`var(--status-listening, #7dd3fc)`,animation:`spin 1s linear infinite`}}),i&&(0,tr.jsx)(Ye,{style:{width:`14px`,height:`14px`,color:`var(--status-error, #ef4444)`}}),!n&&!r&&!i&&(0,tr.jsx)(Qe,{style:{width:`14px`,height:`14px`,color:`rgba(255, 255, 255, 0.3)`}})]}),(0,tr.jsx)(`span`,{className:`plan-task-text`,children:e.title})]},e.id||t)})})]})}var tr,nr=t((()=>{l(),tt(),tr=p()}));function rr({summary:e,className:t=``}){let n=e.outcome===`SUCCESS`,r=e.outcome===`ROLLED_BACK`,i=e.outcome===`FAILED`,a=e.totalTokens>=1e3?`${(e.totalTokens/1e3).toFixed(1)}k`:e.totalTokens.toString(),o=n?`run-summary-badge success`:r?`run-summary-badge rollback`:`run-summary-badge failure`,s=n?`var(--status-speaking, #22c55e)`:r?`#f59e0b`:`var(--status-error, #ef4444)`;return(0,z.jsxs)(`div`,{className:`run-summary-card ${t}`,children:[(0,z.jsxs)(`div`,{className:`run-summary-header`,children:[(0,z.jsxs)(`div`,{className:`run-summary-title`,children:[(0,z.jsx)(We,{style:{width:`15px`,height:`15px`,color:s}}),(0,z.jsxs)(`span`,{children:[`Run telemetry #`,e.runId]})]}),(0,z.jsx)(`div`,{children:(0,z.jsxs)(`span`,{className:o,children:[n&&(0,z.jsx)(et,{style:{width:`12px`,height:`12px`}}),r&&(0,z.jsx)(He,{style:{width:`12px`,height:`12px`}}),i&&(0,z.jsx)(Ye,{style:{width:`12px`,height:`12px`}}),(0,z.jsx)(`span`,{children:n?`Success`:r?`Rolled Back`:`Failure`})]})})]}),(0,z.jsxs)(`div`,{className:`run-kpi-grid`,children:[(0,z.jsxs)(`div`,{className:`run-kpi-box`,children:[(0,z.jsxs)(`div`,{className:`run-kpi-label`,children:[(0,z.jsx)(Ke,{style:{width:`12px`,height:`12px`}}),(0,z.jsx)(`span`,{children:`Duration`})]}),(0,z.jsxs)(`div`,{className:`run-kpi-value`,children:[e.durationSecs.toFixed(1),`s`]})]}),(0,z.jsxs)(`div`,{className:`run-kpi-box`,children:[(0,z.jsxs)(`div`,{className:`run-kpi-label`,children:[(0,z.jsx)(Be,{style:{width:`12px`,height:`12px`}}),(0,z.jsx)(`span`,{children:`Tokens`})]}),(0,z.jsx)(`div`,{className:`run-kpi-value`,children:a})]}),(0,z.jsxs)(`div`,{className:`run-kpi-box`,children:[(0,z.jsxs)(`div`,{className:`run-kpi-label`,children:[(0,z.jsx)(Je,{style:{width:`12px`,height:`12px`}}),(0,z.jsx)(`span`,{children:`Tools`})]}),(0,z.jsxs)(`div`,{className:`run-kpi-value`,children:[e.toolCallsCount,` `,(0,z.jsxs)(`span`,{className:`run-kpi-subtext`,children:[`(`,e.retriesCount,` retry)`]})]})]}),(0,z.jsxs)(`div`,{className:`run-kpi-box`,children:[(0,z.jsxs)(`div`,{className:`run-kpi-label`,children:[(0,z.jsx)(Re,{style:{width:`12px`,height:`12px`}}),(0,z.jsx)(`span`,{children:`Files`})]}),(0,z.jsx)(`div`,{className:`run-kpi-value`,children:e.filesCreated&&e.filesCreated.length>0&&e.filesChanged.length-e.filesCreated.length>0?(0,z.jsxs)(z.Fragment,{children:[e.filesCreated.length,` `,(0,z.jsx)(`span`,{className:`run-kpi-subtext`,children:`created`}),`, `,e.filesChanged.length-e.filesCreated.length,` `,(0,z.jsx)(`span`,{className:`run-kpi-subtext`,children:`modified`})]}):e.filesCreated&&e.filesCreated.length>0?(0,z.jsxs)(z.Fragment,{children:[e.filesCreated.length,` `,(0,z.jsx)(`span`,{className:`run-kpi-subtext`,children:`created`})]}):(0,z.jsxs)(z.Fragment,{children:[e.filesChanged.length,` `,(0,z.jsx)(`span`,{className:`run-kpi-subtext`,children:`modified`})]})})]})]}),e.toolTimeline&&e.toolTimeline.length>0&&(0,z.jsxs)(`div`,{className:`run-timeline-container`,children:[(0,z.jsx)(`div`,{className:`run-timeline-title`,children:`Tool call timeline`}),(0,z.jsx)(`div`,{className:`run-timeline-list`,children:e.toolTimeline.map((e,t)=>(0,z.jsxs)(`div`,{className:`run-timeline-item`,children:[(0,z.jsxs)(`div`,{className:`run-timeline-left`,children:[(0,z.jsxs)(`span`,{className:`run-timeline-step`,children:[String(e.step).padStart(2,`0`),`s`]}),e.success?e.retried?(0,z.jsx)(He,{style:{width:`14px`,height:`14px`,color:`#f59e0b`,flexShrink:0}}):(0,z.jsx)(et,{style:{width:`14px`,height:`14px`,color:`var(--status-speaking, #22c55e)`,flexShrink:0}}):(0,z.jsx)(Ye,{style:{width:`14px`,height:`14px`,color:`var(--status-error, #ef4444)`,flexShrink:0}}),(0,z.jsx)(`span`,{className:`run-timeline-action`,children:e.action}),e.target&&(0,z.jsxs)(`span`,{className:`run-timeline-target`,children:[`[`,e.target,`]`]})]}),(0,z.jsxs)(`div`,{children:[!e.success&&(0,z.jsx)(`span`,{className:`run-timeline-note-failed`,children:`(failed)`}),e.retried&&e.success&&(0,z.jsx)(`span`,{className:`run-timeline-note-retry`,children:`(self-corrected)`})]})]},t))})]})]})}var z,ir=t((()=>{l(),tt(),z=p()}));function ar({activityView:e,isOpen:t,onToggle:n,isHistorical:r=!1,pendingApproval:i=!1,rawProgress:a}){let[o,s]=(0,or.useState)(`list`),c=(a||[]).slice().reverse().find(e=>e.type===`PlanUpdated`)?.data.plan,l=(a||[]).slice().reverse().find(e=>e.type===`RunCompleted`)?.data.summary;if(e.items.length===0&&(!e.timeline||e.timeline.length===0)&&!c&&!l)return null;let u=(a||[]).some(e=>(e.type===`ToolStart`||e.type===`ToolEnd`)&&(e.data.subagent||e.data.action===`dispatch_subagent`)),d=()=>(0,B.jsxs)(B.Fragment,{children:[l&&(0,B.jsx)(`div`,{style:{marginBottom:`12px`},children:(0,B.jsx)(rr,{summary:l})}),c&&(0,B.jsx)(`div`,{style:{marginBottom:`12px`},children:(0,B.jsx)(er,{plan:c})}),u&&(0,B.jsx)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`flex-start`,gap:`8px`,marginBottom:`10px`,paddingBottom:`8px`,borderBottom:`1px solid var(--border)`},children:(0,B.jsxs)(`div`,{style:{display:`inline-flex`,padding:`2px`,background:`var(--surface-strong)`,borderRadius:`6px`,border:`1px solid var(--border)`},children:[(0,B.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),s(`list`)},style:{background:o===`list`?`var(--accent, #10b981)`:`transparent`,color:o===`list`?`#ffffff`:`var(--text-muted, #9ca3af)`,border:`none`,borderRadius:`4px`,padding:`3px 8px`,fontSize:`0.74rem`,fontWeight:500,cursor:`pointer`},children:`Activity List`}),(0,B.jsxs)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),s(`dag`)},style:{background:o===`dag`?`var(--accent, #10b981)`:`transparent`,color:o===`dag`?`#ffffff`:`var(--text-muted, #9ca3af)`,border:`none`,borderRadius:`4px`,padding:`3px 8px`,fontSize:`0.74rem`,fontWeight:500,cursor:`pointer`,display:`inline-flex`,alignItems:`center`,gap:`4px`},children:[(0,B.jsx)(`span`,{children:`Subagent DAG`}),(0,B.jsx)(`span`,{style:{width:`6px`,height:`6px`,borderRadius:`50%`,background:`#38bdf8`,display:`inline-block`}})]})]})}),o===`dag`&&u?(0,B.jsx)(Zn,{progress:a||[],isLive:!r}):e.items.length>0||e.timeline&&e.timeline.length>0?(0,B.jsx)(qn,{activityView:e}):null]}),f=c?.objective||e.summary||(l?`Run telemetry (${l.outcome})`:`Agent Activity`);return r?(0,B.jsxs)(`div`,{className:`agent-activity-history`,children:[(0,B.jsxs)(`button`,{type:`button`,className:`agent-activity-toggle`,"aria-expanded":t,onClick:n,children:[(0,B.jsx)(`span`,{children:f}),(0,B.jsx)(`span`,{"aria-hidden":`true`,children:t?`^`:`>`})]}),t&&(0,B.jsx)(`div`,{className:`agent-activity-card agent-activity-card-history`,children:d()})]}):(0,B.jsx)(`div`,{className:`message ai-message agent-activity-message`,children:(0,B.jsxs)(`div`,{className:`agent-activity-card`,children:[(0,B.jsxs)(`div`,{className:`agent-activity-header`,style:{cursor:`pointer`},onClick:n,children:[(0,B.jsx)(`span`,{children:f}),(0,B.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`8px`},children:[(0,B.jsx)(`span`,{className:`agent-activity-status`,"data-state":i?`approval`:l?`done`:`active`,children:i?`Waiting for approval`:l?`Completed`:`Working`}),(0,B.jsx)(`span`,{"aria-hidden":`true`,children:t?`^`:`>`})]})]}),t&&(0,B.jsx)(`div`,{style:{marginTop:`8px`},children:d()})]})})}var or,B,sr=t((()=>{or=e(l()),Yn(),$n(),nr(),ir(),B=p()})),cr,V,lr,ur=t((()=>{cr=e(l()),V=p(),lr=({isOpen:e,onClose:t,onConfirm:n,checkpoints:r,targetCheckpoint:i,changes:a,isLoading:o=!1})=>{let[s,c]=(0,cr.useState)(()=>i?.step??(r.length>0?r[r.length-1].step:0));if((0,cr.useEffect)(()=>{i?c(i.step):r.length>0&&c(r[r.length-1].step)},[i,r]),(0,cr.useEffect)(()=>{if(!e)return;let r=e=>{e.key===`Escape`&&!o?t():e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&!o&&n(s)};return window.addEventListener(`keydown`,r),()=>window.removeEventListener(`keydown`,r)},[e,o,t,n,s]),!e)return null;let l=r.find(e=>e.step===s)??i;return(0,V.jsx)(`div`,{className:`management-modal-overlay`,onClick:o?void 0:t,style:{zIndex:10002},children:(0,V.jsxs)(`div`,{className:`management-modal rewind-modal`,onClick:e=>e.stopPropagation(),style:{maxWidth:`560px`,width:`100%`,display:`flex`,flexDirection:`column`,boxShadow:`0 24px 48px rgba(0, 0, 0, 0.65)`,border:`1px solid color-mix(in srgb, var(--status-error, #ef4444) 30%, var(--border))`},children:[(0,V.jsxs)(`div`,{className:`management-modal-header`,style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,padding:`16px 20px`,borderBottom:`1px solid var(--border)`},children:[(0,V.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`10px`},children:[(0,V.jsx)(`span`,{style:{width:`32px`,height:`32px`,borderRadius:`8px`,background:`color-mix(in srgb, var(--status-error, #ef4444) 15%, transparent)`,color:`var(--status-error, #ef4444)`,display:`inline-flex`,alignItems:`center`,justifyContent:`center`},children:(0,V.jsxs)(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,V.jsx)(`polyline`,{points:`1 4 1 10 7 10`}),(0,V.jsx)(`path`,{d:`M3.51 15a9 9 0 1 0 2.13-9.36L1 10`})]})}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`h3`,{style:{margin:0,fontSize:`16px`,fontWeight:600,color:`var(--text-main)`},children:`Rewind Workspace`}),(0,V.jsx)(`span`,{style:{fontSize:`12px`,color:`var(--text-muted)`},children:`Git Checkpoint Time Machine`})]})]}),(0,V.jsx)(`button`,{type:`button`,className:`management-modal-close`,onClick:o?void 0:t,disabled:o,style:{background:`transparent`,border:`none`,color:`var(--text-muted)`,cursor:o?`not-allowed`:`pointer`,padding:`6px`,borderRadius:`6px`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:(0,V.jsxs)(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,children:[(0,V.jsx)(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),(0,V.jsx)(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})]})})]}),(0,V.jsxs)(`div`,{style:{padding:`20px`,display:`flex`,flexDirection:`column`,gap:`16px`,overflowY:`auto`,maxHeight:`70vh`},children:[(0,V.jsxs)(`div`,{style:{padding:`12px 14px`,borderRadius:`10px`,background:`color-mix(in srgb, var(--status-error, #ef4444) 10%, transparent)`,border:`1px solid color-mix(in srgb, var(--status-error, #ef4444) 25%, transparent)`,fontSize:`13px`,lineHeight:1.5,color:`var(--text-main)`,display:`flex`,gap:`10px`,alignItems:`flex-start`},children:[(0,V.jsxs)(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`none`,stroke:`var(--status-error, #ef4444)`,strokeWidth:`2`,style:{flexShrink:0,marginTop:`2px`},children:[(0,V.jsx)(`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z`}),(0,V.jsx)(`line`,{x1:`12`,y1:`9`,x2:`12`,y2:`13`}),(0,V.jsx)(`line`,{x1:`12`,y1:`17`,x2:`12.01`,y2:`17`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`strong`,{children:`Revert files to before this turn?`}),(0,V.jsx)(`div`,{style:{marginTop:`2px`,color:`var(--text-muted)`},children:`Your workspace will be restored to the state before these edits. A safety rescue snapshot will be preserved automatically so you can undo at any time.`})]})]}),(0,V.jsxs)(`div`,{style:{background:`var(--surface-bg)`,border:`1px solid var(--border)`,borderRadius:`10px`,padding:`14px`,display:`flex`,flexDirection:`column`,gap:`10px`},children:[(0,V.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`},children:[(0,V.jsx)(`span`,{style:{fontSize:`12px`,fontWeight:600,color:`var(--text-muted)`,textTransform:`none`,letterSpacing:`0.05em`},children:`Target Checkpoint`}),r.length>1&&(0,V.jsx)(`select`,{value:s,onChange:e=>c(Number(e.target.value)),disabled:o,style:{background:`var(--input-bg, #111)`,color:`var(--text-main)`,border:`1px solid var(--border)`,borderRadius:`6px`,fontSize:`12px`,padding:`3px 8px`,cursor:`pointer`},children:r.map(e=>(0,V.jsxs)(`option`,{value:e.step,children:[`Step `,e.step,` (`,e.commitHash.slice(0,7),`)`]},e.step))})]}),l?(0,V.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`8px`,flexWrap:`wrap`},children:[(0,V.jsxs)(`span`,{style:{padding:`3px 8px`,borderRadius:`6px`,background:`color-mix(in srgb, var(--accent) 15%, transparent)`,color:`var(--interactive-fg)`,fontWeight:600,fontSize:`12px`},children:[`Step `,l.step]}),(0,V.jsx)(`code`,{style:{padding:`3px 7px`,borderRadius:`6px`,background:`var(--input-bg, rgba(0,0,0,0.3))`,color:`var(--text-main)`,fontSize:`12px`,border:`1px solid var(--border)`},children:l.commitHash.slice(0,7)}),l.action&&(0,V.jsxs)(`span`,{style:{fontSize:`12px`,color:`var(--text-muted)`},children:[`before `,l.action]}),l.timestamp>0&&(0,V.jsx)(`span`,{style:{fontSize:`11px`,color:`var(--text-muted)`,marginLeft:`auto`},children:(e=>{if(!e)return``;try{return new Date(e*1e3).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}catch{return``}})(l.timestamp)})]}):(0,V.jsx)(`div`,{style:{fontSize:`12px`,color:`var(--text-muted)`},children:`Restoring to initial state before turn execution.`})]}),a.length>0&&(0,V.jsxs)(`div`,{children:[(0,V.jsxs)(`div`,{style:{fontSize:`12px`,fontWeight:600,color:`var(--text-muted)`,marginBottom:`8px`,textTransform:`none`,letterSpacing:`0.05em`},children:[`Files in this turn (`,a.length,`)`]}),(0,V.jsx)(`div`,{style:{maxHeight:`160px`,overflowY:`auto`,border:`1px solid var(--border)`,borderRadius:`8px`,background:`var(--surface-bg)`,display:`flex`,flexDirection:`column`},children:a.map((e,t)=>(0,V.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,padding:`8px 12px`,fontSize:`12.5px`,borderBottom:t<a.length-1?`1px solid var(--border)`:`none`},children:[(0,V.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`8px`,minWidth:0},children:[(0,V.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`var(--text-muted)`,strokeWidth:`2`,children:[(0,V.jsx)(`path`,{d:`M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z`}),(0,V.jsx)(`polyline`,{points:`14 2 14 8 20 8`})]}),(0,V.jsx)(`span`,{title:e.path,style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,color:`var(--text-main)`,fontFamily:`monospace`},children:e.path})]}),(0,V.jsx)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`6px`,flexShrink:0},children:e.created?(0,V.jsx)(`span`,{style:{fontSize:`10.5px`,fontWeight:600,padding:`1px 6px`,borderRadius:`4px`,background:`color-mix(in srgb, var(--accent) 15%, transparent)`,color:`var(--interactive-fg)`},children:`[NEW FILE]`}):(0,V.jsxs)(V.Fragment,{children:[e.additions>0&&(0,V.jsxs)(`span`,{style:{fontSize:`11px`,color:`var(--interactive-fg)`,fontWeight:600},children:[`+`,e.additions]}),e.deletions>0&&(0,V.jsxs)(`span`,{style:{fontSize:`11px`,color:`var(--status-error, #ef4444)`,fontWeight:600},children:[`-`,e.deletions]})]})})]},e.path||t))})]})]}),(0,V.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`flex-end`,gap:`10px`,padding:`14px 20px`,borderTop:`1px solid var(--border)`,background:`color-mix(in srgb, var(--surface-bg) 50%, var(--panel-bg))`},children:[(0,V.jsx)(`button`,{type:`button`,onClick:t,disabled:o,style:{padding:`8px 16px`,borderRadius:`8px`,border:`1px solid var(--border)`,background:`transparent`,color:`var(--text-main)`,fontSize:`13px`,cursor:o?`not-allowed`:`pointer`,fontWeight:500,transition:`background 0.15s ease`},children:`Cancel`}),(0,V.jsx)(`button`,{type:`button`,onClick:()=>{o||n(s)},disabled:o,style:{padding:`8px 18px`,borderRadius:`8px`,border:`none`,background:`var(--status-error, #ef4444)`,color:`#ffffff`,fontSize:`13px`,cursor:o?`not-allowed`:`pointer`,fontWeight:600,display:`inline-flex`,alignItems:`center`,gap:`7px`,boxShadow:`0 2px 8px color-mix(in srgb, var(--status-error, #ef4444) 40%, transparent)`,opacity:o?.75:1,transition:`all 0.15s ease`},children:o?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,className:`spinning-loader`,children:(0,V.jsx)(`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`})}),(0,V.jsx)(`span`,{children:`Rewinding...`})]}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,children:[(0,V.jsx)(`polyline`,{points:`1 4 1 10 7 10`}),(0,V.jsx)(`path`,{d:`M3.51 15a9 9 0 1 0 2.13-9.36L1 10`})]}),(0,V.jsx)(`span`,{children:`Confirm rewind`})]})})]})]})})}}));function dr({language:e,message:t,sending:n,isSpeaking:r,onSendVoiceMessage:i,onSetMessage:a}){let[o,s]=(0,fr.useState)(!1),[c,l]=(0,fr.useState)(!1),[u,d]=(0,fr.useState)(``),[f,p]=(0,fr.useState)(!1),m=(0,fr.useRef)(null),h=(0,fr.useRef)(null),g=(0,fr.useRef)(null),_=(0,fr.useRef)(!1),ee=(0,fr.useRef)(!1),v=(0,fr.useRef)(!1),y=(0,fr.useRef)(!1),b=(0,fr.useRef)(t);(0,fr.useEffect)(()=>{_.current=c,c||(x(),d(``))},[c]),(0,fr.useEffect)(()=>{ee.current=n},[n]),(0,fr.useEffect)(()=>{v.current=f},[f]),(0,fr.useEffect)(()=>{y.current=r},[r]),(0,fr.useEffect)(()=>{b.current=t},[t]);let x=()=>{g.current!==null&&(window.clearTimeout(g.current),g.current=null)},S=()=>{h.current!==null&&(window.clearTimeout(h.current),h.current=null)},C=()=>{x(),S(),m.current?.stop(),m.current=null,s(!1)},w=(e=350)=>{x(),!(!_.current||ee.current||v.current||y.current)&&(g.current=window.setTimeout(()=>{g.current=null,te(!0)},e))},te=t=>{if(m.current||ee.current||v.current||y.current)return;let n=window.SpeechRecognition||window.webkitSpeechRecognition;if(!n){alert(`Speech-to-text (Speech Recognition) is not supported in this browser/WebView. Please use Google Chrome or Microsoft Edge to enable voice conversation.`),_.current=!1,l(!1);return}let r=``;S();try{let o=new n;o.continuous=!0,o.interimResults=!0,o.lang=e===`en`?`en-US`:`th-TH`;let c=()=>{S(),t&&(h.current=window.setTimeout(()=>{o.stop()},2e3))};o.onstart=()=>{s(!0)},o.onresult=e=>{let t=``,n=``;for(let r=e.resultIndex;r<e.results.length;r+=1){let i=e.results[r]?.[0]?.transcript??``;e.results[r]?.isFinal?n+=i:t+=i}let i=(n||t).trim();i&&d(i),n.trim()&&(r=n.trim()),i&&c()},o.onerror=e=>{console.error(`Speech recognition error`,e),s(!1),S()},o.onend=()=>{m.current=null,s(!1),S();let e=r.trim();e?t?(v.current=!0,p(!0),i(e).catch(e=>console.error(`Voice message failed`,e)).finally(()=>{v.current=!1,p(!1),w()})):a(b.current.trim()?`${b.current.trimEnd()} ${e}`:e):t&&_.current&&w()},m.current=o,o.start()}catch(e){console.error(`Failed to start speech recognition`,e),m.current=null,s(!1),S()}};return(0,fr.useEffect)(()=>{!c||n||f||r||o||w()},[c,n,f,r,o]),(0,fr.useEffect)(()=>()=>{if(x(),S(),m.current)try{m.current.stop()}catch{}},[]),{isRecording:o,voiceMode:c,setVoiceMode:l,voiceTranscript:u,setVoiceTranscript:d,voiceAwaitingResponse:f,voiceAwaitingResponseRef:v,voiceModeRef:_,startRecognition:te,stopRecognition:C,scheduleVoiceListen:w,clearRestartTimer:x}}var fr,pr=t((()=>{fr=e(l())})),mr=t((()=>{pr()}));function hr({workspacePath:e,chatId:t,startSession:n,sendAudioChunk:r,stopSession:i}){let[a,o]=(0,H.useState)(!1),[s,c]=(0,H.useState)(!1),[l,u]=(0,H.useState)(``),[d,f]=(0,H.useState)(``),[p,m]=(0,H.useState)(!1),[h,g]=(0,H.useState)(!1),[_,ee]=(0,H.useState)(!1),v=(0,H.useRef)(!1),y=(0,H.useRef)(!1),b=(0,H.useRef)(!1),x=(0,H.useRef)(null),S=(0,H.useRef)(null),C=(0,H.useRef)(null),w=(0,H.useRef)(null),te=(0,H.useRef)(0),T=(0,H.useRef)(null),E=(0,H.useRef)(null);(0,H.useEffect)(()=>{v.current=s},[s]),(0,H.useEffect)(()=>{y.current=p},[p]);let ne=(0,H.useCallback)(()=>((!S.current||S.current.state===`closed`)&&(S.current=new AudioContext),S.current),[]),re=(0,H.useCallback)(e=>{let t=ne(),n=atob(e),r=new Uint8Array(n.length);for(let e=0;e<n.length;e+=1)r[e]=n.charCodeAt(e);let i=new Int16Array(r.buffer,r.byteOffset,Math.floor(r.length/2)),a=t.createBuffer(1,i.length,_r),o=a.getChannelData(0);for(let e=0;e<i.length;e+=1)o[e]=i[e]/32768;let s=t.createBufferSource();s.buffer=a,s.connect(t.destination);let c=Math.max(t.currentTime,te.current);s.start(c),te.current=c+a.duration,ee(!0),T.current!==null&&window.clearTimeout(T.current);let l=Math.max(0,(c+a.duration-t.currentTime)*1e3)+500;T.current=window.setTimeout(()=>ee(!1),l)},[ne]),ie=(0,H.useCallback)(e=>{switch(e.type){case`audioChunk`:m(!1),re(e.data);break;case`transcript`:(e.role===`user`?u:f)(t=>E.current===e.role?t+e.text:e.text),E.current=e.role;break;case`turnComplete`:E.current=null;break;case`toolStatus`:E.current=null,f(e.error?`${e.action} failed: ${e.error}`:`Running ${e.action}...`);break;case`error`:console.error(`Gemini Live session error`,e.message),E.current=null,f(e.message);break;case`closed`:o(!1),m(!1),ee(!1),x.current=null,E.current=null;break}},[re]),ae=(0,H.useCallback)(()=>{w.current?.processor.disconnect(),w.current?.source.disconnect(),w.current=null,C.current?.getTracks().forEach(e=>e.stop()),C.current=null},[]),oe=(0,H.useCallback)(()=>{ae();let e=x.current;x.current=null,o(!1),m(!1),g(!1),b.current=!1,ee(!1),T.current!==null&&(window.clearTimeout(T.current),T.current=null),te.current=0,e&&i(e).catch(e=>console.error(`Failed to stop Gemini Live session`,e))},[ae,i]),se=(0,H.useCallback)(()=>{g(e=>{let t=!e;return b.current=t,t})},[]),ce=(0,H.useCallback)(async()=>{try{if(E.current=null,u(``),f(``),!navigator.mediaDevices?.getUserMedia)throw Error(`This window does not support microphone capture (navigator.mediaDevices.getUserMedia is unavailable).`);console.log(`[gemini-live] requesting microphone permission...`);let i=await navigator.mediaDevices.getUserMedia({audio:{channelCount:1,echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0}});console.log(`[gemini-live] microphone granted, starting session...`),C.current=i;let a=await n(ie,e,t);console.log(`[gemini-live] session started`,a),x.current=a;let s=ne(),c=s.createMediaStreamSource(i),l=s.createScriptProcessor(vr,1,1),d=s.sampleRate/gr;l.onaudioprocess=e=>{if(!x.current||b.current)return;let t=e.inputBuffer.getChannelData(0),n=Math.floor(t.length/d),i=new Int16Array(n);for(let e=0;e<n;e+=1){let n=t[Math.floor(e*d)];i[e]=Math.max(-32768,Math.min(32767,Math.round(n*32768)))}let a=``,o=new Uint8Array(i.buffer);for(let e=0;e<o.length;e+=1)a+=String.fromCharCode(o[e]);r(x.current,btoa(a)).catch(e=>console.error(`Failed to send Gemini Live audio chunk`,e))},c.connect(l),l.connect(s.destination),w.current={source:c,processor:l},o(!0),m(!0)}catch(e){console.error(`Failed to start Gemini Live voice session`,e),f(`Error: ${e instanceof Error?e.message:String(e)}`),ae(),o(!1),m(!1)}},[ie,e,t,ne,ae,n,r]);(0,H.useEffect)(()=>{s?ce():oe()},[s]),(0,H.useEffect)(()=>oe,[oe]);let le=(0,H.useCallback)(()=>{v.current&&(oe(),ce())},[oe,ce]),ue=(0,H.useCallback)(()=>{},[]);return{isRecording:a,voiceMode:s,setVoiceMode:c,userTranscript:l,assistantTranscript:d,voiceAwaitingResponse:p,voiceAwaitingResponseRef:y,voiceModeRef:v,isPaused:h,togglePause:se,isSpeaking:_,restart:le,startRecognition:ue,stopRecognition:ue,scheduleVoiceListen:ue,clearRestartTimer:ue}}var H,gr,_r,vr,yr=t((()=>{H=e(l()),gr=16e3,_r=24e3,vr=2048}));function br({status:e,userTranscript:t,assistantTranscript:n,isPaused:r,onTogglePause:i,onEndCall:a,voice:o,voices:s,onChangeVoice:c}){let[l,u]=(0,xr.useState)(!1);return(0,U.jsx)(`div`,{className:`gemini-live-overlay`,role:`dialog`,"aria-modal":`true`,"aria-label":`Gemini Live conversation`,children:(0,U.jsxs)(`div`,{className:`gemini-live-card`,children:[(0,U.jsx)(`span`,{className:`gemini-live-badge`,children:`Gemini Live`}),(0,U.jsx)(`div`,{className:`gemini-live-orb ${e}`,"aria-hidden":`true`}),(0,U.jsx)(`div`,{className:`gemini-live-status`,children:Sr[e]}),(0,U.jsx)(`div`,{className:`gemini-live-transcript`,children:t||n?(0,U.jsxs)(U.Fragment,{children:[t&&(0,U.jsxs)(`p`,{className:`gemini-live-transcript-line`,children:[(0,U.jsx)(`span`,{className:`gemini-live-transcript-speaker`,children:`You:`}),` `,t]}),n&&(0,U.jsxs)(`p`,{className:`gemini-live-transcript-line`,children:[(0,U.jsx)(`span`,{className:`gemini-live-transcript-speaker`,children:`Mint:`}),` `,n]})]}):`Say something to get started...`}),(0,U.jsxs)(`div`,{className:`gemini-live-voice-picker`,children:[(0,U.jsxs)(`button`,{type:`button`,className:`gemini-live-voice-btn`,onClick:()=>u(e=>!e),title:`Change voice`,"aria-expanded":l,children:[(0,U.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,U.jsx)(`path`,{d:`M11 5 6 9H2v6h4l5 4V5z`}),(0,U.jsx)(`path`,{d:`M15.5 8.5a5 5 0 0 1 0 7`})]}),(0,U.jsx)(`span`,{children:o})]}),l&&(0,U.jsx)(`div`,{className:`gemini-live-voice-menu`,role:`listbox`,children:s.map(e=>(0,U.jsx)(`button`,{type:`button`,role:`option`,"aria-selected":e===o,className:`gemini-live-voice-option ${e===o?`active`:``}`,onClick:()=>{u(!1),e!==o&&c(e)},children:e},e))})]}),(0,U.jsxs)(`div`,{className:`gemini-live-controls`,children:[(0,U.jsx)(`button`,{type:`button`,className:`gemini-live-btn`,onClick:i,title:r?`Resume`:`Pause`,children:r?(0,U.jsx)(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`currentColor`,children:(0,U.jsx)(`path`,{d:`M8 5v14l11-7z`})}):(0,U.jsxs)(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`currentColor`,children:[(0,U.jsx)(`rect`,{x:`6`,y:`5`,width:`4`,height:`14`,rx:`1`}),(0,U.jsx)(`rect`,{x:`14`,y:`5`,width:`4`,height:`14`,rx:`1`})]})}),(0,U.jsx)(`button`,{type:`button`,className:`gemini-live-btn gemini-live-end`,onClick:a,title:`End Live conversation`,children:(0,U.jsxs)(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.4`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,U.jsx)(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),(0,U.jsx)(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})]})})]})]})})}var xr,U,Sr,Cr=t((()=>{xr=e(l()),U=p(),Sr={listening:`Listening`,speaking:`Speaking`,thinking:`Thinking`,paused:`Paused`}}));function wr(e){let t=/\.([a-zA-Z0-9]+)$/.exec(e.trim())?.[1]?.toLowerCase();return!!t&&Tr.includes(t)}var Tr,Er,Dr=t((()=>{Tr=[`txt`,`md`,`pdf`,`docx`,`xlsx`,`json`,`toml`,`yaml`,`yml`,`rs`,`ts`,`tsx`,`js`,`jsx`,`py`,`html`,`css`],Er=Tr.map(e=>`.${e}`).join(`,`)}));function Or(e){if(!e)return`Medium`;let t=e.toLowerCase().replace(/[- ]/g,`_`);return t===`low`?`Low`:t===`high`?`High`:t===`extra_high`||t===`extra`?`Extra High`:`Medium`}function kr({provider:e}){let t=Fr[e.toLowerCase()];return t?t.color?(0,W.jsx)(`span`,{className:`provider-brand-logo is-monochrome`,"aria-hidden":`true`,style:{"--provider-brand-color":t.color,maskImage:`url("${t.src}")`,WebkitMaskImage:`url("${t.src}")`}}):(0,W.jsx)(`img`,{className:`provider-brand-logo`,src:t.src,alt:``,"aria-hidden":`true`}):(0,W.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,W.jsx)(`circle`,{cx:`12`,cy:`12`,r:`3`}),(0,W.jsx)(`path`,{d:`M19.07 4.93a10 10 0 0 1 0 14.14M4.93 4.93a10 10 0 0 0 0 14.14`})]})}function Ar({type:e,label:t}){return(0,W.jsxs)(`span`,{className:`model-tag-badge badge-${e}`,children:[e===`free`&&(0,W.jsxs)(`svg`,{width:`10`,height:`10`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,W.jsx)(`path`,{d:`M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z`}),(0,W.jsx)(`line`,{x1:`7`,y1:`7`,x2:`7.01`,y2:`7`})]}),e===`fast`&&(0,W.jsx)(`svg`,{width:`10`,height:`10`,viewBox:`0 0 24 24`,fill:`currentColor`,children:(0,W.jsx)(`polygon`,{points:`13 2 3 14 12 14 11 22 21 10 12 10 13 2`})}),e===`reasoning`&&(0,W.jsxs)(`svg`,{width:`10`,height:`10`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,W.jsx)(`rect`,{x:`4`,y:`4`,width:`16`,height:`16`,rx:`2`}),(0,W.jsx)(`rect`,{x:`9`,y:`9`,width:`6`,height:`6`}),(0,W.jsx)(`line`,{x1:`9`,y1:`1`,x2:`9`,y2:`4`}),(0,W.jsx)(`line`,{x1:`15`,y1:`1`,x2:`15`,y2:`4`}),(0,W.jsx)(`line`,{x1:`9`,y1:`20`,x2:`9`,y2:`23`}),(0,W.jsx)(`line`,{x1:`15`,y1:`20`,x2:`15`,y2:`23`}),(0,W.jsx)(`line`,{x1:`20`,y1:`9`,x2:`23`,y2:`9`}),(0,W.jsx)(`line`,{x1:`20`,y1:`14`,x2:`23`,y2:`14`}),(0,W.jsx)(`line`,{x1:`1`,y1:`9`,x2:`4`,y2:`9`}),(0,W.jsx)(`line`,{x1:`1`,y1:`14`,x2:`4`,y2:`14`})]}),e===`top`&&(0,W.jsx)(`svg`,{width:`10`,height:`10`,viewBox:`0 0 24 24`,fill:`currentColor`,children:(0,W.jsx)(`polygon`,{points:`12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2`})}),e===`vision`&&(0,W.jsxs)(`svg`,{width:`10`,height:`10`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,W.jsx)(`circle`,{cx:`12`,cy:`12`,r:`3`}),(0,W.jsx)(`path`,{d:`M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z`})]}),(0,W.jsx)(`span`,{children:t})]})}function jr(e){let t=[];pe(e)&&t.push({label:`FREE`,type:`free`});let n=e.toLowerCase();return(n.includes(`reason`)||n.includes(`thinking`)||n.includes(`r1`)||n.includes(`o1`)||n.includes(`o3`)||n.includes(`qwq`))&&t.push({label:`Reasoning`,type:`reasoning`}),(n.includes(`vision`)||n.includes(`multimodal`)||n.includes(`-vl`))&&t.push({label:`Vision`,type:`vision`}),(n.includes(`flash`)||n.includes(`haiku`)||n.includes(`mini`)||n.includes(`turbo`)||n.includes(`lite`))&&t.push({label:`Fast`,type:`fast`}),(n===`claude-sonnet-5`||n===`claude-opus-5`||n===`gemini-2.5-pro`||n===`gpt-5.6-luna`||n===`gpt-4o`||n===`deepseek-chat`||n===`deepseek-v4-pro`)&&t.push({label:`Top`,type:`top`}),t}function Mr({activeProvider:e,activeModel:t,availableProviders:n,settingsConfig:r,dynamicOllamaModels:i,onSelect:a,disabled:o=!1,onUpdateSettings:s}){let[c,l]=(0,Nr.useState)(!1),[u,d]=(0,Nr.useState)(`models`),[p,m]=(0,Nr.useState)(``),[h,g]=(0,Nr.useState)(0),[_,ee]=(0,Nr.useState)(!1),[v,y]=(0,Nr.useState)({});(0,Nr.useEffect)(()=>{r?.modelThinkingConfigs&&y(r.modelThinkingConfigs)},[r?.modelThinkingConfigs]);let b=(0,Nr.useRef)(null),x=(0,Nr.useRef)(null),S=(0,Nr.useRef)(null),C=(0,Nr.useRef)(null),{models:te}=T(`gemini`,r?.apiKey||``),{models:ne}=T(`anthropic`,r?.anthropicApiKey||``),{models:ie}=T(`openai`,r?.openaiApiKey||``),{models:ae}=T(`openrouter`,r?.openrouterApiKey||``),{models:oe}=T(`deepseek`,r?.deepseekApiKey||``),{models:se}=T(`local_openai`,``,r?.localApiBaseUrl||``),[ce,le]=(0,Nr.useState)([]);(0,Nr.useEffect)(()=>{if(i&&i.length>0){le(i);return}let e=!1;return(async()=>{let t=r?.ollamaHost||`http://localhost:11434`,n=t.endsWith(`/`)?t.slice(0,-1):t;try{let t=new AbortController,r=setTimeout(()=>t.abort(),2e3),i=await fetch(`${n}/api/tags`,{signal:t.signal});if(clearTimeout(r),i.ok){let t=await i.json();if(!e&&t&&Array.isArray(t.models)&&t.models.length>0){le(t.models.map(e=>e.name));return}}}catch{}try{let t=await f.fetchProviderModels(`ollama`,``);if(!e&&t&&t.length>0){le(t);return}}catch{}!e&&r?.ollamaModel&&le([r.ollamaModel])})(),()=>{e=!0}},[i,r?.ollamaHost,r?.ollamaModel]);let ue=(0,Nr.useMemo)(()=>{let e=[],t=(t,n,r,i,a)=>{i.length!==0&&e.push({id:t,providerId:n,name:r,icon:a?(0,W.jsx)(`img`,{className:`provider-brand-logo`,src:a,alt:``,"aria-hidden":`true`}):(0,W.jsx)(kr,{provider:n}),models:i})};if(n.includes(`gemini`)&&t(`gemini`,`gemini`,`Google Gemini`,te),n.includes(`anthropic`)&&t(`anthropic`,`anthropic`,`Anthropic Claude`,ne),n.includes(`openai`)&&t(`openai`,`openai`,`OpenAI`,ie),n.includes(`deepseek`)&&t(`deepseek`,`deepseek`,`DeepSeek`,oe),n.includes(`openrouter`)){let e=new Set(re),n=[];for(let e of re)ae.includes(e)&&n.push(e);let r=ae.filter(t=>!e.has(t));n.length>0?(t(`openrouter-popular`,`openrouter`,`OpenRouter • Popular & Recommended`,n),r.length>0&&t(`openrouter-other`,`openrouter`,`OpenRouter • Other models (${r.length})`,r)):t(`openrouter`,`openrouter`,`OpenRouter`,ae)}n.includes(`huggingface`)&&t(`huggingface`,`huggingface`,`Hugging Face`,[...E]),n.includes(`local_openai`)&&t(`local_openai`,`local_openai`,`LM Studio / Local`,se),n.includes(`ollama`)&&t(`ollama`,`ollama`,`Ollama`,i&&i.length>0?i:ce.length>0?ce:r?.ollamaModel?[r.ollamaModel]:[]);let a=r?.customProviders||[];for(let e of a){let r=`custom:${e.id}`;if(n.includes(r)){let n=(e.models||[]).map(e=>e.modelId).filter(Boolean);t(r,r,e.displayName||e.id,n,e.logoDataUrl)}}return e},[n,te,ne,ie,oe,ae,se,i,ce,r?.customProviders,r?.ollamaModel]),de=(0,Nr.useMemo)(()=>{let e=p.trim().toLowerCase();if(!e)return ue;let t=[];for(let n of ue)if(n.name.toLowerCase().includes(e)||n.id.toLowerCase().includes(e)||n.providerId.toLowerCase().includes(e))t.push(n);else{let r=n.models.filter(t=>t.toLowerCase().includes(e));r.length>0&&t.push({...n,models:r})}return t},[ue,p]),fe=!!p.trim()||_,me=(0,Nr.useMemo)(()=>{let e=[];for(let t of de)if(!(t.id===`openrouter-other`&&!fe))for(let n of t.models)e.push({providerId:t.providerId,providerName:t.name,model:n});return e},[de,fe]),[he,ge]=(0,Nr.useState)(null);(0,Nr.useEffect)(()=>{c?t?ge({providerId:e,model:t}):me.length>0&&ge({providerId:me[0].providerId,model:me[0].model}):ee(!1)},[c,e,t]),(0,Nr.useEffect)(()=>{g(0),me.length>0&&ge({providerId:me[0].providerId,model:me[0].model})},[p]);let _e=(0,Nr.useCallback)((e,t)=>{let n=w(e,t),i=v[e];return i?{supported:n.supportsThinking,enabled:i.enabled??!0,effort:(i.effort||`medium`).toLowerCase()}:{supported:n.supportsThinking,enabled:n.supportsThinking?r?.thinkingEnabled??!0:!1,effort:(r?.thinkingEffort||`medium`).toLowerCase()}},[v,r?.thinkingEnabled,r?.thinkingEffort]),D=async(e,n,i)=>{let a={...v,[e]:{enabled:n,effort:i}};y(a);let o={...r||{},modelThinkingConfigs:a};e===t&&(o.thinkingEnabled=n,o.thinkingEffort=i),s&&s(o);let c=window.settingsApi;if(c?.saveSettings)try{await c.saveSettings(o)}catch(e){console.error(`Failed to save thinking config:`,e)}};(0,Nr.useEffect)(()=>{if(!c)return;let e=e=>{let t=e.target;b.current&&!b.current.contains(t)&&x.current&&!x.current.contains(t)&&l(!1)};return window.addEventListener(`mousedown`,e),()=>window.removeEventListener(`mousedown`,e)},[c]),(0,Nr.useEffect)(()=>{c&&(m(``),d(`models`),setTimeout(()=>{window.matchMedia(`(max-width: 760px)`).matches||S.current?.focus()},50))},[c]),(0,Nr.useEffect)(()=>{if(!c||!C.current)return;let e=C.current.querySelector(`[data-item-index="${h}"]`);e&&e.scrollIntoView({block:`nearest`})},[h,c]);let ve=e=>{if(c)if(e.key===`ArrowDown`){if(e.preventDefault(),me.length===0)return;let t=(h+1)%me.length;g(t),ge({providerId:me[t].providerId,model:me[t].model})}else if(e.key===`ArrowUp`){if(e.preventDefault(),me.length===0)return;let t=(h-1+me.length)%me.length;g(t),ge({providerId:me[t].providerId,model:me[t].model})}else if(e.key===`Enter`){e.preventDefault();let t=me[h];t&&(a(t.providerId,t.model),l(!1))}else e.key===`Escape`&&(e.preventDefault(),l(!1),x.current?.focus())},ye=(0,Nr.useMemo)(()=>t?t.split(`/`).pop()||t:`Select Model`,[t]),be=(0,Nr.useMemo)(()=>_e(t,e),[t,e,_e]),O=he||(t?{providerId:e,model:t}:null),xe=(0,Nr.useMemo)(()=>O?w(O.model,O.providerId):null,[O]),Se=(0,Nr.useMemo)(()=>O?_e(O.model,O.providerId):{supported:!1,enabled:!1,effort:`medium`},[O,_e]),Ce=(0,Nr.useMemo)(()=>O?jr(O.model):[],[O]),we=e=>(r?.customProviders)?.find(t=>`custom:${t.id}`===e)?.logoDataUrl,Te=0;return(0,W.jsxs)(`div`,{className:`model-selector-container`,children:[(0,W.jsxs)(`button`,{ref:x,type:`button`,className:`model-selector-trigger ${c?`active`:``}`,onClick:()=>l(!c),disabled:o,title:`Model: ${t||`None`} (${e})`,"aria-haspopup":`listbox`,"aria-expanded":c,children:[(0,W.jsx)(`span`,{className:`model-selector-trigger-icon`,children:we(e)?(0,W.jsx)(`img`,{className:`provider-brand-logo`,src:we(e),alt:``,"aria-hidden":`true`}):(0,W.jsx)(kr,{provider:e})}),(0,W.jsx)(`span`,{className:`model-selector-trigger-name`,children:ye}),be.enabled&&(0,W.jsx)(`span`,{className:`model-selector-trigger-effort`,children:Or(be.effort)}),(0,W.jsx)(`svg`,{className:`model-selector-trigger-chevron ${c?`open`:``}`,width:`11`,height:`11`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,W.jsx)(`polyline`,{points:`6 9 12 15 18 9`})})]}),c&&(0,W.jsxs)(`div`,{ref:b,className:`model-spotlight-popover mobile-pane-${u}`,onKeyDown:ve,children:[(0,W.jsxs)(`div`,{className:`model-spotlight-mobile-tabs`,role:`tablist`,"aria-label":`Model selector view`,children:[(0,W.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":u===`models`,onClick:()=>d(`models`),children:`Models`}),(0,W.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":u===`options`,onClick:()=>d(`options`),children:`Options`})]}),(0,W.jsxs)(`div`,{className:`model-spotlight-left-pane`,children:[(0,W.jsxs)(`div`,{className:`model-spotlight-search-bar`,children:[(0,W.jsxs)(`svg`,{className:`search-icon`,width:`13`,height:`13`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,W.jsx)(`circle`,{cx:`11`,cy:`11`,r:`8`}),(0,W.jsx)(`line`,{x1:`21`,y1:`21`,x2:`16.65`,y2:`16.65`})]}),(0,W.jsx)(`input`,{ref:S,type:`text`,className:`model-spotlight-input`,placeholder:`Search models...`,value:p,onChange:e=>m(e.target.value)}),p&&(0,W.jsx)(`button`,{type:`button`,className:`search-clear-btn`,onClick:()=>m(``),title:`Clear search`,children:(0,W.jsxs)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,W.jsx)(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),(0,W.jsx)(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})]})})]}),(0,W.jsx)(`div`,{ref:C,className:`model-spotlight-list`,role:`listbox`,children:de.length===0?(0,W.jsxs)(`div`,{className:`model-spotlight-empty`,children:[(0,W.jsxs)(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,W.jsx)(`circle`,{cx:`11`,cy:`11`,r:`8`}),(0,W.jsx)(`line`,{x1:`21`,y1:`21`,x2:`16.65`,y2:`16.65`})]}),(0,W.jsxs)(`span`,{children:[`No models found matching "`,p,`"`]})]}):de.map(n=>{let r=n.id===`openrouter-other`,i=r&&!fe;return(0,W.jsxs)(`div`,{className:`model-spotlight-group`,children:[(0,W.jsxs)(`div`,{className:`model-spotlight-group-header`,children:[(0,W.jsx)(`span`,{className:`group-header-icon`,children:n.icon}),(0,W.jsx)(`span`,{className:`group-header-title`,children:n.name})]}),i?(0,W.jsx)(`div`,{className:`model-spotlight-see-more-wrap`,children:(0,W.jsxs)(`button`,{type:`button`,className:`model-spotlight-see-more-btn`,onClick:()=>ee(!0),children:[(0,W.jsx)(`svg`,{width:`13`,height:`13`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,W.jsx)(`polyline`,{points:`6 9 12 15 18 9`})}),(0,W.jsxs)(`span`,{children:[`Show all `,n.models.length,` other models`]})]})}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`div`,{className:`model-spotlight-group-items`,children:n.models.map(r=>{let i=Te++,o=e===n.providerId&&t===r,s=O?.model===r&&O?.providerId===n.providerId,c=_e(r,n.providerId);return(0,W.jsxs)(`div`,{"data-item-index":i,className:`model-spotlight-item ${o?`is-active`:``} ${s?`is-inspected`:``}`,onClick:()=>{ge({providerId:n.providerId,model:r}),a(n.providerId,r),window.matchMedia(`(max-width: 760px)`).matches&&d(`options`)},onMouseEnter:()=>{g(i),ge({providerId:n.providerId,model:r})},role:`option`,"aria-selected":o,children:[(0,W.jsxs)(`div`,{className:`model-item-left`,children:[(0,W.jsxs)(`div`,{style:{display:`inline-flex`,alignItems:`center`,gap:`6px`},children:[(0,W.jsx)(`span`,{className:`model-item-provider-icon`,"aria-hidden":`true`,children:n.icon}),(0,W.jsx)(`span`,{className:`model-item-name`,children:r.split(`/`).pop()||r}),pe(r)&&(0,W.jsx)(`span`,{className:`model-tag-badge badge-free`,children:`Free`})]}),r.includes(`/`)&&(0,W.jsx)(`span`,{className:`model-item-repo`,children:r})]}),(0,W.jsxs)(`div`,{className:`model-item-right`,children:[c.enabled&&(0,W.jsx)(`span`,{className:`model-item-effort-pill`,children:Or(c.effort)}),o&&(0,W.jsx)(`svg`,{className:`model-item-check`,width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`var(--accent, #10b981)`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,W.jsx)(`polyline`,{points:`20 6 9 17 4 12`})})]})]},r)})}),r&&!p.trim()&&(0,W.jsx)(`div`,{className:`model-spotlight-see-more-wrap`,style:{marginTop:`4px`},children:(0,W.jsxs)(`button`,{type:`button`,className:`model-spotlight-see-more-btn collapse-btn`,onClick:()=>ee(!1),children:[(0,W.jsx)(`svg`,{width:`13`,height:`13`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,W.jsx)(`polyline`,{points:`18 15 12 9 6 15`})}),(0,W.jsx)(`span`,{children:`Collapse other models`})]})})]})]},n.id)})})]}),(0,W.jsx)(`div`,{className:`model-spotlight-right-pane`,children:O&&xe?(0,W.jsxs)(`div`,{className:`model-detail-container`,children:[(0,W.jsxs)(`div`,{className:`model-detail-header`,children:[(0,W.jsx)(`div`,{className:`model-detail-icon`,children:we(O.providerId)?(0,W.jsx)(`img`,{className:`provider-brand-logo`,src:we(O.providerId),alt:``,"aria-hidden":`true`}):(0,W.jsx)(kr,{provider:O.providerId})}),(0,W.jsxs)(`div`,{className:`model-detail-title-wrap`,children:[(0,W.jsx)(`span`,{className:`model-detail-title`,children:O.model.split(`/`).pop()||O.model}),O.model.includes(`/`)&&(0,W.jsx)(`span`,{className:`model-detail-subtitle`,children:O.model})]})]}),(0,W.jsx)(`p`,{className:`model-detail-description`,children:xe.description}),(0,W.jsxs)(`div`,{className:`model-detail-tags`,children:[(0,W.jsx)(`span`,{className:`model-detail-context-badge`,children:xe.contextWindow}),Ce.map(e=>(0,W.jsx)(Ar,{type:e.type,label:e.label},e.type))]}),(0,W.jsx)(`div`,{className:`model-detail-divider`}),(0,W.jsx)(`div`,{className:`model-detail-section-title`,children:`Options`}),(0,W.jsxs)(`div`,{className:`model-detail-option-row`,children:[(0,W.jsxs)(`div`,{className:`option-row-left`,children:[(0,W.jsxs)(`svg`,{width:`15`,height:`15`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,className:`option-icon`,children:[(0,W.jsx)(`path`,{d:`M12 2a7 7 0 0 1 7 7c0 2.38-1.19 4.47-3 5.74V17a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-2.26C6.19 13.47 5 11.38 5 9a7 7 0 0 1 7-7z`}),(0,W.jsx)(`path`,{d:`M9 21h6`})]}),(0,W.jsx)(`span`,{className:`option-label`,children:`Thinking`})]}),(0,W.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":Se.enabled,className:`model-detail-switch ${Se.enabled?`checked`:``}`,onClick:()=>{D(O.model,!Se.enabled,Se.effort)},title:Se.enabled?`Disable thinking`:`Enable thinking`,children:(0,W.jsx)(`span`,{className:`model-detail-switch-thumb`})})]}),!Se.supported&&(0,W.jsx)(`div`,{className:`model-unsupported-note`,style:{color:Se.enabled?`var(--accent, #10b981)`:void 0},children:Se.enabled?`Thinking enabled (force toggle)`:`Not flagged as reasoning model by default (toggle to force enable)`}),Se.enabled&&(0,W.jsxs)(`div`,{className:`model-effort-section`,children:[(0,W.jsx)(`div`,{className:`model-detail-section-title`,children:`Effort`}),(0,W.jsx)(`div`,{className:`model-effort-list`,children:Pr.map(e=>{let t=Se.effort===e.id;return(0,W.jsxs)(`button`,{type:`button`,className:`model-effort-item ${t?`is-selected`:``}`,onClick:()=>{D(O.model,!0,e.id)},children:[(0,W.jsx)(`span`,{className:`effort-item-label`,children:e.label}),t&&(0,W.jsx)(`svg`,{className:`effort-item-check`,width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`var(--accent, #10b981)`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,W.jsx)(`polyline`,{points:`20 6 9 17 4 12`})})]},e.id)})})]})]}):(0,W.jsx)(`div`,{className:`model-detail-empty`,children:(0,W.jsx)(`span`,{children:`Select a model to view options`})})})]})]})}var Nr,W,Pr,Fr,Ir=t((()=>{Nr=e(l()),Fe(),d(),m(),ce(),Ne(),he(),O(),de(),ye(),Oe(),oe(),W=p(),Pr=[{id:`low`,label:`Low`},{id:`medium`,label:`Medium`},{id:`high`,label:`High`},{id:`extra_high`,label:`Extra High`}],Fr={anthropic:{src:Ie,color:`#d97757`},deepseek:{src:ae},gemini:{src:ge},huggingface:{src:Te},local_openai:{src:me,color:`#8b5cf6`},ollama:{src:je,color:`#f3f4f6`},openai:{src:le,color:`#10a37f`},openrouter:{src:Ce}}}));function Lr(e){return e.split(/[\\/]/).filter(Boolean).pop()||e}function Rr({currentPath:e,recentPaths:t,onSelectWorkspace:n}){let[r,i]=(0,zr.useState)(!1),[a,o]=(0,zr.useState)(``),s=(0,zr.useRef)(null),c=(0,zr.useRef)(null),l=(0,zr.useRef)(null),u=(0,zr.useMemo)(()=>{let e=a.trim().toLocaleLowerCase();return t.filter(t=>e?t.toLocaleLowerCase().includes(e)||Lr(t).toLocaleLowerCase().includes(e):!0)},[a,t]);(0,zr.useEffect)(()=>{if(!r)return;l.current?.focus();let e=e=>{s.current?.contains(e.target)||i(!1)},t=e=>{e.key===`Escape`&&(e.preventDefault(),i(!1),c.current?.focus())};return document.addEventListener(`mousedown`,e),window.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),window.removeEventListener(`keydown`,t)}},[r]);let d=e=>{i(!1),o(``),c.current?.focus(),n(e)};return(0,G.jsxs)(`div`,{className:`workspace-selector ${e?`has-workspace`:`needs-workspace`}`,ref:s,children:[(0,G.jsxs)(`button`,{ref:c,type:`button`,className:`workspace-select-btn ${e?`has-workspace`:`needs-workspace`}`,onClick:()=>{o(``),i(e=>!e)},"aria-label":`${e?`Change`:`Choose`} workspace: ${e?Lr(e):`Select Project`}`,"aria-haspopup":`dialog`,"aria-expanded":r,"aria-controls":`workspace-select-menu`,title:e||`Choose a workspace folder`,children:[(0,G.jsx)(`span`,{className:`workspace-select-icon`,"aria-hidden":`true`,children:(0,G.jsx)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,G.jsx)(`path`,{d:`M3 6h7l2 2h9v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z`})})}),(0,G.jsx)(`span`,{className:`workspace-select-copy`,children:(0,G.jsx)(`span`,{className:`workspace-select-name`,children:e?Lr(e):`Select Project`})}),(0,G.jsx)(`svg`,{className:`workspace-select-chevron`,width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,G.jsx)(`path`,{d:`m6 9 6 6 6-6`})})]}),r&&(0,G.jsxs)(`div`,{className:`workspace-select-menu`,id:`workspace-select-menu`,role:`dialog`,"aria-label":`Choose workspace`,children:[(0,G.jsxs)(`label`,{className:`workspace-select-search`,children:[(0,G.jsxs)(`svg`,{width:`15`,height:`15`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,"aria-hidden":`true`,children:[(0,G.jsx)(`circle`,{cx:`11`,cy:`11`,r:`7`}),(0,G.jsx)(`path`,{d:`m20 20-4-4`})]}),(0,G.jsx)(`input`,{ref:l,type:`search`,value:a,onChange:e=>o(e.target.value),placeholder:`Search workspaces`,"aria-label":`Search workspaces`})]}),(0,G.jsx)(`div`,{className:`workspace-select-list`,role:`group`,"aria-label":`Recent workspaces`,children:u.length>0?u.map(t=>{let n=t===e;return(0,G.jsxs)(`button`,{type:`button`,className:`workspace-select-option`,onClick:()=>d(t),"aria-current":n?`true`:void 0,title:t,children:[(0,G.jsx)(`svg`,{className:`workspace-select-option-icon`,width:`15`,height:`15`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,G.jsx)(`path`,{d:`M3 6h7l2 2h9v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z`})}),(0,G.jsxs)(`span`,{className:`workspace-select-option-copy`,children:[(0,G.jsx)(`span`,{className:`workspace-select-option-name`,children:Lr(t)}),(0,G.jsx)(`span`,{className:`workspace-select-option-path`,children:t})]}),n&&(0,G.jsx)(`svg`,{className:`workspace-select-current`,width:`15`,height:`15`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,G.jsx)(`path`,{d:`m5 12 4 4L19 6`})})]},t)}):(0,G.jsx)(`div`,{className:`workspace-select-empty`,children:a.trim()?`No matching workspaces`:`No recent workspaces yet`})}),(0,G.jsx)(`div`,{className:`workspace-select-menu-footer`,children:(0,G.jsxs)(`button`,{type:`button`,className:`workspace-select-open-folder`,onClick:()=>d(),children:[(0,G.jsxs)(`svg`,{width:`15`,height:`15`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,G.jsx)(`path`,{d:`M3 6h7l2 2h9v12H3z`}),(0,G.jsx)(`path`,{d:`M12 10v6m-3-3h6`})]}),(0,G.jsx)(`span`,{children:`Open folder…`})]})})]})]})}var zr,G,Br=t((()=>{zr=e(l()),G=p()}));function Vr(e,t){let[n,r]=(0,K.useState)(e),i=(0,K.useRef)(e),a=(0,K.useRef)(0),o=(0,K.useRef)(null);return(0,K.useEffect)(()=>{if(i.current=e,Object.is(e,n))return;let s=()=>{o.current=null,a.current=Date.now(),r(i.current)},c=t-(Date.now()-a.current);c<=0?s():o.current===null&&(o.current=window.setTimeout(s,c))},[e,n,t]),(0,K.useEffect)(()=>()=>{o.current!==null&&window.clearTimeout(o.current)},[]),n}function Hr({conversation:e,actions:t}){let{interactions:n,sendingInteractionId:i,hasOlder:a,onLoadOlder:o,sending:s,sendingMessage:c,sendingImageCount:l,sendingVideoCount:u,streamedReply:d,streamedResponse:f,agentProgress:p,agentActivitySnapshots:m,thinkingExpanded:h,onThinkingExpandedChange:_,message:v,imageAttachments:x,videoAttachments:S,documentName:C,pendingApproval:w,agentMode:T,planMode:re,status:ae,workspacePath:oe,chatId:ce,recentWorkspacePaths:le,chatEnd:ue,welcomeInteraction:de,onSubmit:pe,onSelectImage:me,onSelectVideo:he,onSelectDocument:ge,onPasteImage:_e,onSetMessage:D,onSendVoiceMessage:ve,onRemoveImage:ye,onRemoveVideo:be,onRemoveDocument:O,onStartWebSearch:xe,onCaptureScreen:Se,onSetAgentMode:Ce,onSetPlanMode:we,onSetProvider:Te,onSelectWorkspace:De,onWorkspaceChanged:Oe,onApproval:Ae,settingsConfig:k,onUpdateSettings:je,onSetModel:Me,onSelectModelAndProvider:Ne,onCancelMessage:Pe,onClearMessages:Fe,onSetGeminiLiveVoice:Ie,onToggleMobileSidebar:Re,isCliSession:ze,cliSessionId:Be,onBackToCode:Ve,conversationTitle:He,onOpenArtifact:Ue,onOpenReview:We}={...e,...t},Ge=(0,K.useMemo)(()=>Gt(n,s,i),[n,s,i]),Ke=$t(p),qe=(0,K.useMemo)(()=>Bt(p),[p]),Je=(0,K.useMemo)(()=>qe.reduce((e,t)=>e+t.additions,0),[qe]),Ye=(0,K.useMemo)(()=>qe.reduce((e,t)=>e+t.deletions,0),[qe]),Xe=qe.length===1?`1 file changed`:`${qe.length} files changed`,Ze=(0,K.useMemo)(()=>{let e=n.map(e=>Bt(m[String(e.id)]??e.agentActivity??[])),t=Bt(p);return Vt([...e,t])},[m,p,n]),Qe=(0,K.useMemo)(()=>{if(!oe)return null;let e=oe.replace(/[\\/]+$/,``).trim();if(!e)return null;let t=e.split(/[\\/]/);return t[t.length-1]||e},[oe]),$e=Vr(d,Ur),et=(0,K.useMemo)(()=>en(p),[p]),tt=g(f),nt=[...p].reverse().find(e=>e.type===`Thinking`),rt=null,it=null;nt&&nt.type===`Thinking`&&(rt=nt.data.agent_name||null,it=nt.data.model_name||null);let[ot,st]=(0,K.useState)({}),[ct,lt]=(0,K.useState)({}),[ut,ft]=(0,K.useState)({}),[pt,mt]=(0,K.useState)({}),[gt,vt]=(0,K.useState)(null),[bt,xt]=(0,K.useState)(null),[St,Ct]=(0,K.useState)(!1),[Tt,Et]=(0,K.useState)(0),[Dt,At]=(0,K.useState)(Ee),jt=e=>{Ue?Ue(e):xt(e)},Mt=(e,t)=>{We?We({id:`review:${Date.now()}`,kind:`review`,title:`Review`,reviewTitle:e,changes:t}):vt({title:e,changes:t})};(0,K.useEffect)(()=>{let e=!1;return(async()=>{let t=k?.ollamaHost||`http://localhost:11434`,n=t.endsWith(`/`)?t.slice(0,-1):t;try{let t=new AbortController,r=setTimeout(()=>t.abort(),2e3),i=await fetch(`${n}/api/tags`,{signal:t.signal});if(clearTimeout(r),i.ok){let t=await i.json();if(!e&&t&&Array.isArray(t.models)&&t.models.length>0){At(t.models.map(e=>e.name));return}}}catch{}try{let t=await Zr(`ollama`,``);if(!e&&t&&t.length>0){At(t);return}}catch{}e||(k?.ollamaModel?At([k.ollamaModel]):At(Ee))})(),()=>{e=!0}},[k?.ollamaHost,k?.ollamaModel]),(0,K.useEffect)(()=>{if(!s){Et(0);return}let e=Date.now();Et(0);let t=setInterval(()=>{Et(Math.round((Date.now()-e)/1e3))},1e3);return()=>clearInterval(t)},[s]);let[Ft,It]=(0,K.useState)(null),[Lt,Rt]=(0,K.useState)(null),zt=(0,K.useRef)(null),[Ht,Ut]=(0,K.useState)(!1),[Wt,Kt]=(0,K.useState)(!1),A=(0,K.useRef)(!0),qt=(0,K.useRef)(null),Jt=(0,K.useCallback)(()=>{let e=zt.current;if(!e)return;let t=e.scrollHeight-e.scrollTop-e.clientHeight<=240;Ut(!t),A.current=t},[]),Yt=(0,K.useCallback)(()=>{!A.current||qt.current!==null||(qt.current=window.requestAnimationFrame(()=>{qt.current=null;let e=zt.current;e&&A.current&&(e.scrollTop=e.scrollHeight)}))},[]);(0,K.useEffect)(()=>{Yt()},[n,s,d,w,p,Yt]),(0,K.useEffect)(()=>()=>{qt.current!==null&&window.cancelAnimationFrame(qt.current)},[]),(0,K.useEffect)(()=>{let e=zt.current;e&&A.current&&(e.scrollTop=e.scrollHeight)},[bt]);let Xt=(0,K.useCallback)(()=>{ue.current?.scrollIntoView({behavior:`smooth`})},[ue]),[Zt,Qt]=(0,K.useState)(()=>{try{let e=localStorage.getItem(`mint_preview_split_ratio`);if(e){let t=parseFloat(e);if(!isNaN(t)&&t>=.2&&t<=.8)return t}}catch{}return .5}),tn=(0,K.useRef)(Zt),nn=(0,K.useRef)(null),rn=(0,K.useCallback)(e=>{e.preventDefault();let t=nn.current;if(!t)return;t.classList.add(`is-resizing`);let n=e=>{let n=t.getBoundingClientRect(),r=n.width;if(r<=0)return;let i=n.right-e.clientX,a=Math.max(280,Math.min(r-340,i))/r;tn.current=a,t.style.setProperty(`--preview-width`,`${(a*100).toFixed(2)}%`)},r=()=>{window.removeEventListener(`mousemove`,n),window.removeEventListener(`mouseup`,r),t.classList.remove(`is-resizing`),Qt(tn.current);try{localStorage.setItem(`mint_preview_split_ratio`,tn.current.toFixed(4))}catch{}};window.addEventListener(`mousemove`,n),window.addEventListener(`mouseup`,r)},[]),an=(0,K.useCallback)(()=>{let e=.5;tn.current=e,Qt(e),nn.current&&nn.current.style.setProperty(`--preview-width`,`50%`);try{localStorage.setItem(`mint_preview_split_ratio`,`0.5`)}catch{}},[]),[on,sn]=(0,K.useState)({isOpen:!1,interaction:null,changes:[],checkpoints:[],targetCheckpoint:null,isLoading:!1}),[j,M]=(0,K.useState)({visible:!1,message:``,canUndo:!1,isUndoing:!1,type:`success`});(0,K.useEffect)(()=>{if(!j.visible)return;let e=setTimeout(()=>{M(e=>({...e,visible:!1}))},16e3);return()=>clearTimeout(e)},[j.visible,j.message]);let cn=(0,K.useCallback)(async e=>{let t=on.interaction;if(!t)return;let n=t.chatId||`cli`;sn(e=>({...e,isLoading:!0}));try{let t=await Yr(n,e,oe);sn(e=>({...e,isOpen:!1,isLoading:!1})),t.status===`ok`?M({visible:!0,message:t.message,canUndo:!0,isUndoing:!1,type:`success`}):M({visible:!0,message:`Failed to rewind: ${t.message}`,canUndo:!1,isUndoing:!1,type:`error`})}catch(e){sn(e=>({...e,isOpen:!1,isLoading:!1})),M({visible:!0,message:`Error: ${e.message||String(e)}`,canUndo:!1,isUndoing:!1,type:`error`})}},[on.interaction,oe]),ln=(0,K.useCallback)(async()=>{M(e=>({...e,isUndoing:!0}));try{let e=await Xr(oe);e.status===`ok`?M({visible:!0,message:e.message,canUndo:!1,isUndoing:!1,type:`success`}):M({visible:!0,message:`Failed to undo rewind: ${e.message}`,canUndo:!0,isUndoing:!1,type:`error`})}catch(e){M({visible:!0,message:`Error: ${e.message||String(e)}`,canUndo:!0,isUndoing:!1,type:`error`})}},[oe]),un=(0,K.useCallback)(async(e,t)=>{try{let n=_t(t)||t;await navigator.clipboard.writeText(n),Rt(e),setTimeout(()=>{Rt(t=>t===e?null:t)},2e3)}catch(e){console.error(`Failed to copy message:`,e)}},[]),fn=(0,K.useRef)(null),pn=(0,K.useRef)(null),mn=(0,K.useRef)(0),hn=(0,K.useRef)(!1),gn=(0,K.useRef)(!1),_n=(0,K.useRef)(null),vn=(0,K.useRef)(null),[yn,bn]=(0,K.useState)(!1),xn=(0,K.useRef)(0),Sn=(0,K.useRef)(0),N=e=>{e.preventDefault(),e.dataTransfer?.types?.includes(`Files`)&&(xn.current++,bn(!0))},Cn=e=>{e.preventDefault(),e.dataTransfer?.types?.includes(`Files`)&&(xn.current--,xn.current===0&&bn(!1))},wn=e=>{e.preventDefault()},En=e=>{e.preventDefault(),e.stopPropagation(),xn.current=0,bn(!1);let t=Date.now();if(t-Sn.current<250)return;Sn.current=t;let n=e.dataTransfer?.files;if(n&&n.length>0){let e=n[0];if(e.type.startsWith(`image/`)){let t=document.getElementById(`vision-file-input`);if(t){let n=new DataTransfer;n.items.add(e),t.files=n.files,me({target:t})}}else if(e.type.startsWith(`video/`)){let t=document.getElementById(`video-file-input`);if(t){let n=new DataTransfer;n.items.add(e),t.files=n.files,he({target:t})}}else if(wr(e.name)){let t=document.getElementById(`document-file-input`);if(t){let n=new DataTransfer;n.items.add(e),t.files=n.files,ge({target:t})}}}},{isRecording:P,voiceMode:Dn,setVoiceMode:kn,voiceTranscript:An,setVoiceTranscript:jn,voiceAwaitingResponse:Mn,voiceAwaitingResponseRef:Nn,voiceModeRef:Pn,startRecognition:F,stopRecognition:In,scheduleVoiceListen:Ln,clearRestartTimer:I}=dr({onSendVoiceMessage:ve,language:k?.language,message:v,sending:s,isSpeaking:!!Ft,onSetMessage:D}),zn=k?.voiceMode===`geminiLive`,Bn=hr({workspacePath:oe,chatId:ce,startSession:Gr,sendAudioChunk:Kr,stopSession:qr}),Vn=!!(v.trim()||x.length>0||S.length>0||C),Hn=Array.from({length:l},(e,t)=>`[Image #${t+1}]`).join(` `),Un=Array.from({length:u||0},(e,t)=>`[Video #${t+1}]`).join(` `),Wn=Ft?`speaking`:s||Mn?`thinking`:P?`listening`:Dn?`ready`:`off`,Gn=Wn===`speaking`?`Speaking`:Wn===`thinking`?`Thinking`:Wn===`listening`?`Listening`:`Ready`,Kn=e=>{switch(e){case`gemini`:return ee;case`openai`:return y;case`openrouter`:return ie;case`deepseek`:return Le;case`anthropic`:return te;case`huggingface`:return E;case`local_openai`:return b;case`ollama`:return Dt;default:if(e.startsWith(`custom:`)){let t=e.replace(/^custom:/,``);return(k?.customProviders??[]).find(e=>e.id===t)?.models.map(e=>e.modelId)??[]}return[]}},qn=ae?.activeProvider??``;Kn(qn);let Jn=(e=>{if(!k)return``;switch(e){case`gemini`:return k.geminiModel;case`openai`:return k.openaiModel;case`openrouter`:return k.openrouterModel;case`deepseek`:return k.deepseekModel;case`anthropic`:return k.anthropicModel;case`huggingface`:return k.hfModel;case`local_openai`:return k.localModelName;case`ollama`:return k.ollamaModel;default:if(e.startsWith(`custom:`)){let t=e.replace(/^custom:/,``),n=(k?.customProviders??[]).find(e=>e.id===t);return(k.customModelSelections??{})[t]??n?.models[0]?.modelId??``}return``}})(qn),L=(0,K.useRef)(null),Yn=(0,K.useRef)(null),Xn=(0,K.useMemo)(()=>{let e=[];for(let t of n){if(t?.provider===`system`)continue;let n=typeof t?.userText==`string`?t.userText.trim():``;n&&e[e.length-1]!==n&&e.push(n)}return e},[n]),[Zn,Qn]=(0,K.useState)(null),R=(0,K.useRef)(``),$n=e=>{D(e),setTimeout(()=>{let e=L.current;if(!e)return;ur(e);let t=e.value.length;e.setSelectionRange(t,t),e.focus()},0)},er=()=>{if(Xn.length===0)return!1;if(Zn===null)return R.current=v,Qn(0),$n(Xn[Xn.length-1]),!0;if(Zn+1<Xn.length){let e=Zn+1;Qn(e),$n(Xn[Xn.length-1-e])}return!0},tr=e=>{Qn(null),$n(e)},nr=()=>{if(Zn===null)return!1;if(Zn===0)return Qn(null),$n(R.current),!0;let e=Zn-1;return Qn(e),$n(Xn[Xn.length-1-e]),!0},rr=e=>{D(e),setTimeout(()=>{let e=L.current;e&&(ur(e),e.focus())},0)},z=e=>{e.key!==`Enter`||e.shiftKey||e.nativeEvent.isComposing||(e.preventDefault(),e.currentTarget.form?.requestSubmit())},ir=e=>{let t=(e.key===`ArrowUp`||e.key===`ArrowDown`)&&!e.shiftKey&&!e.altKey&&!e.metaKey&&!e.ctrlKey&&!e.nativeEvent.isComposing;if(t&&Zn!==null&&e.currentTarget.selectionStart===e.currentTarget.selectionEnd&&(e.key===`ArrowUp`?er():nr())){e.preventDefault();return}if(!Yn.current?.handleKeyDown(e)){if(t){let t=e.currentTarget;if(t.selectionStart===t.selectionEnd){if(e.key===`ArrowUp`){if(!t.value.slice(0,t.selectionStart).includes(`
|
|
14
|
-
`)&&er()){e.preventDefault();return}}else if(!t.value.slice(t.selectionEnd).includes(`
|
|
15
|
-
`)&&nr()){e.preventDefault();return}}}z(e)}},or=()=>{mn.current+=1,pn.current?.pause(),pn.current=null,vn.current=null,typeof window<`u`&&window.speechSynthesis&&window.speechSynthesis.cancel(),It(null)},B=(e,t)=>{if(typeof window>`u`||!window.speechSynthesis){It(null);return}let n=/[\u0e00-\u0e7f]/.test(e),r=new SpeechSynthesisUtterance(e);r.lang=n?`th-TH`:`en-US`,r.volume=Math.max(0,Math.min(1,ke(k?.ttsVolume,1))),r.rate=Math.max(.1,Math.min(10,ke(k?.ttsSpeed,1))),r.pitch=Math.max(0,Math.min(2,ke(k?.ttsPitch,1)));let i=window.speechSynthesis.getVoices().find(e=>{let t=e.lang.toLowerCase(),r=n?`th`:`en`;return t.startsWith(r)||t.includes(r)});i&&(r.voice=i);let a=()=>{It(e=>e===t?null:e),vn.current=null,Ln(900)};r.onend=a,r.onerror=a,vn.current=t,It(t),window.speechSynthesis.speak(r)},sr=async(e,t,n)=>{let r=await Wr(e);for(let e of r){if(mn.current!==n)return;await new Promise((t,n)=>{let r=new Audio(e.url);r.volume=Math.max(0,Math.min(1,ke(k?.ttsVolume,1))),r.playbackRate=Math.max(.25,Math.min(4,ke(k?.ttsSpeed,1))),pn.current=r,r.onended=()=>t(),r.onpause=()=>t(),r.onerror=()=>n(Error(`Google TTS playback failed`)),r.play().catch(n)})}mn.current===n&&(It(e=>e===t?null:e),vn.current=null,Ln(900))},cr=e=>{let t=yt(e);if(!t)return;if(Ft===e){or();return}or();let n=mn.current;if(vn.current=e,It(e),k?.ttsProvider===`google`){sr(t,e,n).catch(r=>{console.warn(`Google TTS failed, falling back to native speech synthesis:`,r),mn.current===n&&B(t,e)});return}B(t,e)},V=()=>{if(P){In(),or();return}or(),F()},ur=e=>{e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,120)}px`};(0,K.useEffect)(()=>()=>{or()},[]),(0,K.useEffect)(()=>{s&&(gn.current=!0)},[s]),(0,K.useEffect)(()=>{if(n.length===0)return;let e=n[n.length-1];if(!hn.current&&(hn.current=!0,!gn.current)){_n.current=e?.id??null;return}if(!s&&!(!e?.aiText||e.id===_n.current)){if(!k?.enableVoiceReply||Bn.voiceMode){_n.current=e.id,Dn&&Ln(350);return}_n.current=e.id,cr(e.aiText)}},[n,s,k?.enableVoiceReply,Bn.voiceMode,Dn]),(0,K.useEffect)(()=>{if(!St)return;let e=e=>{fn.current?.contains(e.target)||Ct(!1)};return window.addEventListener(`mousedown`,e),()=>window.removeEventListener(`mousedown`,e)},[St]),(0,K.useEffect)(()=>{let e=e=>{e.clipboardData&&_e(e.clipboardData)&&(e.preventDefault(),e.stopPropagation())};return window.addEventListener(`paste`,e,!0),()=>window.removeEventListener(`paste`,e,!0)},[_e]),(0,K.useEffect)(()=>{let e=e=>{e.key===`Escape`&&s&&Pe()};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[s,Pe]),(0,K.useEffect)(()=>{if(v)return;let e=document.getElementById(`chat-input`);e&&(e.style.height=``)},[v]);let fr=()=>{Ct(!1),document.getElementById(`vision-file-input`)?.click()},pr=()=>{Ct(!1),document.getElementById(`video-file-input`)?.click()},mr=()=>{Ct(!1),document.getElementById(`document-file-input`)?.click()},H=()=>{Ct(!1),xe()},gr=()=>{Ct(!1),T||Ce(!0),D(`Generate an image of `),L.current?.focus()},_r=()=>{Ct(!1),T||Ce(!0),D(`Generate a video of `),L.current?.focus()},vr=e=>{let t=e.trim();t&&D(v.trim()?`${v.trimEnd()} ${t} `:`${t} `)},yr=e=>{let t=e.dataTransfer.getData(`application/x-mint-workspace-path`)||e.dataTransfer.getData(`text/plain`);t.trim().startsWith(`@`)&&(e.preventDefault(),vr(t))},xr=n.length===0&&!s&&!w,U=(0,K.useCallback)(e=>{let t=String(e.id),n=m[t]??e.agentActivity??[];return(0,q.jsx)(ar,{activityView:$t(n),isOpen:!!ot[t],onToggle:()=>st(e=>({...e,[t]:!e[t]})),isHistorical:!0,rawProgress:n})},[m,ot]),Sr=(0,K.useCallback)(e=>{let t=en(m[String(e.id)]??e.agentActivity??[]);return t.length===0?null:(0,q.jsx)(Fn,{sources:t})},[m]),Cr=(e,t)=>{let n=!!pt[t];return(0,q.jsxs)(`div`,{className:`file-changes-list`,style:{display:`flex`,flexDirection:`column`,gap:`6px`},children:[(n?e:e.slice(0,3)).map(e=>{let n=`${t}-${e.path}`,r=!!ut[n],i=e.path.split(`/`).pop()||e.path,a=e.path.includes(`/`)?e.path.substring(0,e.path.lastIndexOf(`/`)):``;return(0,q.jsxs)(`div`,{className:`file-changes-item`,children:[(0,q.jsxs)(`div`,{className:`file-changes-item-header`,onClick:()=>ft(e=>({...e,[n]:!e[n]})),children:[(0,q.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`8px`},children:[(0,q.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{color:`var(--text-muted)`},children:[(0,q.jsx)(`path`,{d:`M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z`}),(0,q.jsx)(`polyline`,{points:`14 2 14 8 20 8`})]}),(0,q.jsxs)(`span`,{className:`file-changes-filename ${e.created?`is-new`:``}`,children:[i,a&&(0,q.jsx)(`span`,{className:`file-changes-dirpath`,children:a}),e.created&&(0,q.jsx)(`span`,{className:`file-changes-badge-new`,children:`[NEW FILE]`})]})]}),(0,q.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`6px`,fontSize:`0.76rem`},children:[e.created?(0,q.jsxs)(`span`,{className:`file-changes-count-add`,children:[`+`,e.additions,` `,e.additions===1?`line`:`lines`]}):(0,q.jsxs)(q.Fragment,{children:[e.additions>0&&(0,q.jsxs)(`span`,{className:`file-changes-count-add`,children:[`+`,e.additions]}),e.deletions>0&&(0,q.jsxs)(`span`,{className:`file-changes-count-del`,children:[`-`,e.deletions]})]}),(0,q.jsx)(`button`,{type:`button`,className:`file-changes-preview-btn`,onClick:t=>{t.stopPropagation();let n=e.created&&e.hunks.length>0?e.hunks.map(e=>e.newText).filter(Boolean).join(`
|
|
16
|
-
`):void 0;jt({path:e.path,content:n})},title:`Open Live Preview Split View`,children:`Preview`}),(0,q.jsx)(`span`,{style:{color:`var(--text-muted)`,transform:r?`rotate(90deg)`:`none`,display:`inline-block`,transition:`transform 0.15s`},children:`>`})]})]}),r&&(0,q.jsx)(`div`,{className:`file-changes-diff-box`,children:e.hunks.map((t,n)=>(0,q.jsxs)(`div`,{className:`file-changes-diff-hunk`,style:{marginBottom:n<e.hunks.length-1?`10px`:0},children:[t.oldText&&(0,q.jsx)(`div`,{className:`file-changes-diff-del`,children:t.oldText.split(`
|
|
17
|
-
`).map((e,t)=>(0,q.jsxs)(`div`,{style:{display:`flex`},children:[(0,q.jsx)(`span`,{className:`file-changes-diff-sign-del`,children:`-`}),(0,q.jsx)(`span`,{children:e})]},t))}),t.newText&&(0,q.jsx)(`div`,{className:`file-changes-diff-add`,children:t.newText.split(`
|
|
18
|
-
`).map((e,t)=>(0,q.jsxs)(`div`,{style:{display:`flex`},children:[(0,q.jsx)(`span`,{className:`file-changes-diff-sign-add`,children:`+`}),(0,q.jsx)(`span`,{children:e})]},t))})]},n))})]},e.path)}),e.length>3&&(0,q.jsxs)(`button`,{type:`button`,className:`file-changes-show-more`,"aria-expanded":n,onClick:()=>mt(e=>({...e,[t]:!e[t]})),children:[n?`Show fewer files`:`Show ${e.length-3} more ${e.length-3==1?`file`:`files`}`,(0,q.jsx)(`span`,{"aria-hidden":`true`,className:n?`is-expanded`:``,children:`⌄`})]})]})},Tr=(0,K.useCallback)(e=>{let t=String(e.id),n=Bt(m[t]??e.agentActivity??[]);if(n.length===0)return null;let r=n.reduce((e,t)=>e+t.additions,0),i=n.reduce((e,t)=>e+t.deletions,0),a=n.filter(e=>e.created).length,o=n.length-a,s=ct[t]??!0,c=``;return c=a>0&&o===0?`${a} ${a===1?`file created`:`files created`}`:a>0&&o>0?`${a} created, ${o} modified`:`${n.length} ${n.length===1?`file changed`:`files changed`}`,(0,q.jsx)(`div`,{className:`file-changes-summary-container`,children:(0,q.jsxs)(`div`,{className:`agent-activity-card file-changes-card`,children:[(0,q.jsxs)(`div`,{className:`file-changes-summary-row`,children:[(0,q.jsxs)(`div`,{className:`file-changes-summary`,children:[(0,q.jsx)(`span`,{className:`file-changes-summary-icon`,"aria-hidden":`true`,children:`⊞`}),(0,q.jsxs)(`span`,{className:`file-changes-summary-copy`,children:[(0,q.jsx)(`span`,{className:`file-changes-summary-label`,children:c}),(0,q.jsxs)(`span`,{className:`file-changes-summary-counts`,children:[r>0&&(0,q.jsxs)(`span`,{className:`file-changes-count-add`,children:[`+`,r]}),i>0&&(0,q.jsxs)(`span`,{className:`file-changes-count-del`,children:[`-`,i]})]})]})]}),(0,q.jsxs)(`div`,{className:`file-changes-summary-actions`,children:[(0,q.jsxs)(`button`,{type:`button`,className:`file-changes-rewind-btn`,onClick:async t=>{t.stopPropagation();let r=e.chatId||`cli`;try{let t=await Jr(r);if(!t||t.length===0){M({visible:!0,message:`No git checkpoints recorded for this session.`,canUndo:!1,isUndoing:!1,type:`error`});return}let i=new Set(n.map(e=>e.path.trim().toLowerCase())),a=t.filter(e=>{if(!e.targetPath)return!1;let t=e.targetPath.trim().toLowerCase();return i.has(t)||Array.from(i).some(e=>t.endsWith(e)||e.endsWith(t))}),o=null;if(a.length>0)o=a.reduce((e,t)=>t.step<e.step?t:e,a[0]);else{let n=e.createdAt?new Date(e.createdAt).getTime()/1e3:0;if(n>0){let e=t.filter(e=>e.timestamp>=n-10);e.length>0&&(o=e[0])}o||=t[t.length-1]}sn({isOpen:!0,interaction:e,changes:n,checkpoints:t,targetCheckpoint:o,isLoading:!1})}catch(e){M({visible:!0,message:`Failed to load checkpoints: ${e.message||String(e)}`,canUndo:!1,isUndoing:!1,type:`error`})}},title:`Rewind workspace to before these file edits (Git Checkpoint)`,children:[(0,q.jsxs)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,q.jsx)(`polyline`,{points:`1 4 7 4 7 10`}),(0,q.jsx)(`path`,{d:`M3 9a9 9 0 1 0 2.13-5.36L1 7`})]}),`Undo`]}),(0,q.jsx)(`button`,{type:`button`,className:`file-changes-review-btn`,title:`Review changed code`,onClick:()=>{Mt(`All conversation changes`,Ze)},children:`Review`})]})]}),s&&(0,q.jsx)(`div`,{className:`file-changes-list-container`,children:Cr(n,t)})]})})},[m,Ze,ct,ut,pt,oe]),Dr=(0,q.jsxs)(`section`,{className:`conversation-panel ${xr?`is-empty`:``}`,onDragEnter:N,onDragOver:wn,onDragLeave:Cn,onDrop:En,style:bt||gt?{flex:`0 0 calc(100% - var(--preview-width, 50%))`,width:`calc(100% - var(--preview-width, 50%))`,minWidth:`320px`,maxWidth:`none`,margin:0,position:`relative`}:void 0,children:[yn&&(0,q.jsxs)(`div`,{className:`drag-drop-overlay`,onDragEnter:N,onDragLeave:Cn,onDragOver:wn,onDrop:En,style:{position:`absolute`,top:0,left:0,right:0,bottom:0,background:`rgba(15, 23, 42, 0.82)`,backdropFilter:`blur(8px)`,border:`2px dashed var(--accent)`,borderRadius:`16px`,margin:`12px`,display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,color:`white`,zIndex:1e3,pointerEvents:`auto`},children:[(0,q.jsx)(`div`,{style:{marginBottom:`16px`,color:`var(--interactive-fg)`},children:(0,q.jsxs)(`svg`,{width:`48`,height:`48`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,q.jsx)(`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`,ry:`2`}),(0,q.jsx)(`circle`,{cx:`8.5`,cy:`8.5`,r:`1.5`}),(0,q.jsx)(`polyline`,{points:`21 15 16 10 5 21`})]})}),(0,q.jsx)(`div`,{style:{fontSize:`1.25rem`,fontWeight:`bold`,letterSpacing:`0.5px`},children:`Drag files to attach data`}),(0,q.jsx)(`div`,{style:{fontSize:`0.85rem`,color:`var(--text-muted)`,marginTop:`8px`},children:`Supports images (PNG, JPEG, WebP, GIF), videos (MP4, WebM, MOV, MKV), and PDF files`})]}),(0,q.jsxs)(`div`,{className:`chat-header`,children:[Re&&(0,q.jsx)(`button`,{className:`mobile-menu-btn`,type:`button`,onClick:Re,"aria-label":`Open navigation menu`,children:(0,q.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,q.jsx)(`line`,{x1:`3`,y1:`12`,x2:`21`,y2:`12`}),(0,q.jsx)(`line`,{x1:`3`,y1:`6`,x2:`21`,y2:`6`}),(0,q.jsx)(`line`,{x1:`3`,y1:`18`,x2:`21`,y2:`18`})]})}),(0,q.jsx)(`div`,{className:`chat-header-title`,children:ze?(0,q.jsxs)(`div`,{className:`chat-header-breadcrumb`,children:[Ve&&(0,q.jsxs)(`button`,{type:`button`,className:`chat-header-back-btn`,onClick:Ve,title:`Back to Code sessions Hub`,children:[(0,q.jsx)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,q.jsx)(`path`,{d:`M15 18l-6-6 6-6`})}),(0,q.jsx)(`span`,{children:`Code`})]}),(0,q.jsx)(`span`,{className:`chat-header-sep`,children:`/`}),(0,q.jsx)(`span`,{className:`chat-header-session-tag`,title:Be||`CLI Session`,children:(0,q.jsx)(`span`,{children:Be?Be===`cli`?`cli`:`cli::${Be.replace(/^cli::/,``).slice(0,7)}`:`cli`})})]}):(0,q.jsxs)(`div`,{className:`chat-header-brand-group`,children:[(0,q.jsx)(`img`,{src:r.appIconPath(),alt:`Logo`,className:`chat-header-logo`}),(0,q.jsx)(`span`,{className:`chat-header-title-text`,title:He&&He.trim()&&He!==`New chat`?He.trim():`Mint Agent`,children:He&&He.trim()&&He!==`New chat`?He.trim():`Mint Agent`}),Qe&&(0,q.jsxs)(`span`,{className:`chat-header-project-pill`,title:`Project: ${oe}`,children:[(0,q.jsx)(`svg`,{width:`11`,height:`11`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,q.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`})}),(0,q.jsx)(`span`,{children:Qe})]})]})}),(0,q.jsxs)(`div`,{className:`chat-header-actions`,children:[bt&&(0,q.jsxs)(`button`,{type:`button`,className:`chat-header-pill-btn`,title:`Close Live Preview`,onClick:()=>xt(null),children:[(0,q.jsxs)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,q.jsx)(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),(0,q.jsx)(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})]}),(0,q.jsx)(`span`,{children:`Close preview`})]}),(0,q.jsx)(`button`,{type:`button`,className:`chat-header-action-btn`,title:`Clear conversation`,onClick:Fe,children:(0,q.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,q.jsx)(`polyline`,{points:`3 6 5 6 21 6`}),(0,q.jsx)(`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`}),(0,q.jsx)(`line`,{x1:`10`,y1:`11`,x2:`10`,y2:`17`}),(0,q.jsx)(`line`,{x1:`14`,y1:`11`,x2:`14`,y2:`17`})]})})]})]}),(0,q.jsxs)(`div`,{className:`chat-container`,ref:zt,onScroll:Jt,children:[a&&o&&(0,q.jsx)(`button`,{type:`button`,className:`load-older-messages`,disabled:Wt,style:{display:`block`,margin:`0 auto 20px`,padding:`7px 14px`,borderRadius:8,border:`1px solid var(--border-color, #3a3a3a)`,background:`var(--surface, #252525)`,color:`var(--text-secondary, #c0c0c0)`,cursor:Wt?`default`:`pointer`},onClick:async()=>{let e=zt.current,t=e?.scrollHeight??0;Kt(!0);try{await o(),window.requestAnimationFrame(()=>{e&&(e.scrollTop+=e.scrollHeight-t)})}finally{Kt(!1)}},children:Wt?`Loading earlier messages…`:`Load earlier messages`}),Ge.map((e,t)=>(0,q.jsxs)(K.Fragment,{children:[t>0&&fe(Ge[t-1].createdAt,e.createdAt)&&(0,q.jsxs)(`div`,{className:`system-event-divider`,children:[(0,q.jsx)(`div`,{className:`system-event-line`}),(0,q.jsxs)(`div`,{className:`system-event-pill`,children:[(0,q.jsxs)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,children:[(0,q.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`}),(0,q.jsx)(`polyline`,{points:`12 7 12 12 15.5 14`})]}),(0,q.jsx)(`span`,{children:se(e.createdAt)})]}),(0,q.jsx)(`div`,{className:`system-event-line`})]}),(0,q.jsx)(Rn,{interaction:e,copiedId:Lt,onEditMessage:tr,speakingText:Ft,agentActivitySnapshots:m,thinkingExpanded:h,openActivityIds:ot,openReviewIds:ct,openFileDiffs:ut,onThinkingExpandedChange:_,handleCopyMessage:un,speak:cr,renderCompletedActivity:U,renderFileChanges:Tr,renderWebSearchSources:Sr})]},e.id)),s&&(0,q.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`8px`,marginBottom:`16px`},children:[(0,q.jsx)(`div`,{className:`message user-message`,children:(0,q.jsx)(`div`,{className:`bubble-wrapper`,children:(0,q.jsx)(`div`,{className:`message-bubble`,children:at([c,Hn,Un].filter(Boolean).join(` `))})})}),T&&(0,q.jsx)(ar,{activityView:Ke,isOpen:ot.live??!0,onToggle:()=>st(e=>({...e,live:!(e.live??!0)})),pendingApproval:!!w,rawProgress:p}),(()=>{let e=Bt(p);if(e.length===0)return null;let t=e.reduce((e,t)=>e+t.additions,0),n=e.reduce((e,t)=>e+t.deletions,0),r=e.filter(e=>e.created).length,i=e.length-r,a=ct[`active-run`]??!0,o=``;return o=r>0&&i===0?`${r} ${r===1?`file created`:`files created`}`:r>0&&i>0?`${r} created, ${i} modified`:`${e.length} ${e.length===1?`file changed`:`files changed`}`,(0,q.jsx)(`div`,{className:`message ai-message agent-activity-message`,style:{marginTop:`4px`,marginBottom:`8px`},children:(0,q.jsxs)(`div`,{className:`agent-activity-card file-changes-card`,children:[(0,q.jsxs)(`div`,{className:`file-changes-summary-row`,children:[(0,q.jsxs)(`div`,{className:`file-changes-summary`,children:[(0,q.jsx)(`span`,{className:`file-changes-summary-icon`,"aria-hidden":`true`,children:`✓`}),(0,q.jsxs)(`span`,{className:`file-changes-summary-copy`,children:[(0,q.jsx)(`span`,{className:`file-changes-summary-label`,children:o}),(0,q.jsxs)(`span`,{className:`file-changes-summary-counts`,children:[t>0&&(0,q.jsxs)(`span`,{className:`file-changes-count-add`,children:[`+`,t]}),n>0&&(0,q.jsxs)(`span`,{className:`file-changes-count-del`,children:[`-`,n]})]})]})]}),(0,q.jsx)(`button`,{type:`button`,className:`file-changes-review-btn`,title:`Review changed code`,onClick:()=>{Mt(`All conversation changes`,Ze)},children:`Review`})]}),a&&(0,q.jsx)(`div`,{className:`file-changes-list-container`,style:{marginTop:`8px`},children:Cr(e,`active`)})]})})})(),(0,q.jsx)(`div`,{className:`message ai-message thinking-message`,children:(0,q.jsxs)(`div`,{className:`bubble-wrapper`,children:[!T&&Pt(p).length>0&&(0,q.jsx)(On,{blockKey:`live-extended`,thoughts:Pt(p),isLive:!0,variant:`extended`,expanded:h[`live-extended`]??!0,onExpandedChange:_}),!T&&Nt(p).length>0&&Pt(p).length===0&&(0,q.jsx)(On,{blockKey:`live`,thoughts:Nt(p),isLive:!0,expanded:h.live??!0,onExpandedChange:_}),(0,q.jsx)(`div`,{className:`message-bubble`,children:(0,q.jsx)(`span`,{children:$e?at($e,et):(0,q.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`8px`,color:`var(--text-soft, #94a3b8)`},children:[(0,q.jsxs)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,strokeWidth:`3`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{display:`inline-block`,flexShrink:0},children:[(0,q.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`,stroke:`rgba(255, 255, 255, 0.12)`}),(0,q.jsx)(`path`,{d:`M12 2a10 10 0 0 1 10 10`,stroke:`var(--accent)`,strokeLinecap:`round`,children:(0,q.jsx)(`animateTransform`,{attributeName:`transform`,type:`rotate`,from:`0 12 12`,to:`360 12 12`,dur:`0.9s`,repeatCount:`indefinite`})})]}),(0,q.jsx)(`span`,{children:rt&&it?`${rt} (${it}) is thinking... (${Tt}s)`:`Thinking for ${Tt}s (Esc to cancel)`})]})})}),f&&(0,q.jsxs)(`div`,{className:`message-time`,style:{display:`flex`,alignItems:`center`,gap:`8px`},children:[(0,q.jsxs)(`span`,{className:`provider-model-chip`,"data-provider":(f.provider||``).toLowerCase(),title:`${f.provider} • ${f.model}`,children:[(0,q.jsx)(`span`,{className:`provider-chip-dot`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{className:`provider-chip-name`,children:f.provider}),(0,q.jsx)(`span`,{className:`provider-chip-divider`,children:`/`}),(0,q.jsx)(`span`,{className:`provider-chip-model`,children:f.model})]}),tt&&(0,q.jsx)(`span`,{className:`provider-fallback-notice`,children:tt}),$e&&(0,q.jsxs)(`div`,{className:`message-action-buttons`,style:{display:`flex`,alignItems:`center`,gap:`4px`,marginLeft:`auto`},children:[(0,q.jsx)(`button`,{type:`button`,className:`msg-action-btn copy-btn ${Lt===`live`?`is-copied`:``}`,onClick:()=>un(`live`,$e),title:Lt===`live`?`คัดลอกแล้ว (Copied!)`:`คัดลอกข้อความ (Copy message)`,children:dt(Lt===`live`)}),(0,q.jsx)(`button`,{type:`button`,className:`msg-action-btn tts-btn ${Ft===$e?`is-speaking`:``}`,onClick:()=>cr($e),title:Ft===$e?`Stop reading`:`Read aloud`,children:ht(Ft===$e)})]})]})]})})]}),w&&(0,q.jsx)(Tn,{pendingApproval:w,onApproval:Ae},w.id||JSON.stringify(w)),Ht&&(0,q.jsx)(`button`,{type:`button`,className:`scroll-to-bottom-btn`,onClick:Xt,title:`Scroll to latest message`,"aria-label":`Scroll to latest message`,children:(0,q.jsxs)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.4`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,q.jsx)(`path`,{d:`M12 5v14`}),(0,q.jsx)(`path`,{d:`M6 13l6 6 6-6`})]})}),(0,q.jsx)(`div`,{ref:ue})]}),(0,q.jsxs)(`div`,{className:`input-area ${Dn?`voice-active`:``}`,children:[qe.length>0&&(0,q.jsxs)(`button`,{type:`button`,className:`composer-change-status ${s?`is-live`:``}`,onClick:()=>Mt(Xe,qe),title:`Review recent agent changes`,children:[(0,q.jsxs)(`span`,{className:`composer-change-status-copy`,children:[s&&(0,q.jsx)(`span`,{className:`composer-change-status-spinner`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{children:s?`Editing ${qe.length} ${qe.length===1?`file`:`files`}…`:Xe})]}),(0,q.jsxs)(`span`,{className:`composer-change-status-counts`,"aria-label":`${Je} additions and ${Ye} deletions`,children:[Je>0&&(0,q.jsxs)(`strong`,{children:[`+`,Je]}),Ye>0&&(0,q.jsxs)(`em`,{children:[`-`,Ye]})]})]}),xr&&(0,q.jsxs)(`div`,{className:`empty-chat-prompt-wrap`,children:[(0,q.jsx)(`div`,{className:`empty-chat-prompt`,children:`Mint Agent is ready to work`}),Qe&&(0,q.jsxs)(`div`,{className:`empty-chat-project-badge`,children:[(0,q.jsx)(`svg`,{width:`13`,height:`13`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,q.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`})}),(0,q.jsxs)(`span`,{children:[`Working in `,(0,q.jsx)(`strong`,{children:Qe})]})]})]}),De&&(0,q.jsxs)(`div`,{className:`project-context-row`,children:[(0,q.jsx)(Rr,{currentPath:oe||``,recentPaths:le,onSelectWorkspace:De}),oe&&(0,q.jsx)(Ot,{workspacePath:oe,disabled:s,onBranchChanged:Oe})]}),(0,q.jsxs)(`div`,{className:`smart-context-bar`,children:[(0,q.jsxs)(`label`,{className:`smart-context-option ${T?`is-active`:``}`,children:[(0,q.jsxs)(`span`,{className:`toggle-switch`,children:[(0,q.jsx)(`input`,{type:`checkbox`,checked:T,onChange:e=>Ce(e.target.checked)}),(0,q.jsx)(`span`,{className:`slider round`})]}),(0,q.jsx)(`span`,{className:`smart-context-copy`,children:(0,q.jsx)(`span`,{className:`smart-context-title`,children:`Agent mode`})})]}),we&&(0,q.jsxs)(`label`,{className:`smart-context-option ${re?`is-active`:``}`,title:`Investigate read-only and require plan approval before editing files or running commands`,children:[(0,q.jsxs)(`span`,{className:`toggle-switch`,children:[(0,q.jsx)(`input`,{type:`checkbox`,checked:!!re,onChange:e=>we(e.target.checked)}),(0,q.jsx)(`span`,{className:`slider round`})]}),(0,q.jsx)(`span`,{className:`smart-context-copy`,children:(0,q.jsx)(`span`,{className:`smart-context-title`,children:`Plan mode`})})]})]}),Dn&&(0,q.jsxs)(`div`,{className:`voice-mode-bar`,"data-state":Wn,children:[(0,q.jsx)(`span`,{className:`voice-mode-dot`}),An?An===`Listening to microphone...`||An===`Listening...`||An===`No speech detected`||An===`Sent audio to AI`?(0,q.jsx)(`span`,{children:An}):(0,q.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:`4px`,minWidth:0,overflow:`hidden`},children:[(0,q.jsxs)(`span`,{children:[Gn,`:`]}),(0,q.jsxs)(`span`,{className:`voice-mode-transcript`,children:[`"`,An,`"`]})]}):(0,q.jsx)(`span`,{children:Gn})]}),(0,q.jsx)(dn,{ref:Yn,message:v,onComplete:rr,workspacePath:oe,mcpServers:k?.mcpServers,anchorRef:L,suppressed:Zn!==null}),(0,q.jsxs)(`form`,{id:`chat-form`,className:zn?`has-live-btn`:``,style:{position:`relative`},onSubmit:e=>{Qn(null),R.current=``,pe(e)},onDragOver:e=>{e.dataTransfer.types.includes(`application/x-mint-workspace-path`)&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`)},onDrop:yr,onPaste:e=>{_e(e.clipboardData)&&e.preventDefault()},children:[(x.length>0||S.length>0||C)&&(0,q.jsxs)(`div`,{className:`mint-attachment`,children:[x.map((e,t)=>(0,q.jsxs)(`div`,{className:`mint-image-attachment`,children:[(0,q.jsx)(`img`,{className:`mint-image-preview`,src:e.objectUrl||e.previewDataUri||e.dataUri,alt:e.name||`Image attachment`}),(0,q.jsx)(`button`,{className:`mint-attachment-remove`,type:`button`,onClick:()=>ye(t),"aria-label":`Remove image`,children:(0,q.jsxs)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,q.jsx)(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),(0,q.jsx)(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})]})})]},t)),S.map((e,t)=>(0,q.jsxs)(`div`,{className:`mint-image-attachment`,children:[(0,q.jsx)(`video`,{className:`mint-image-preview`,src:e.dataUri,muted:!0,playsInline:!0,preload:`metadata`}),(0,q.jsx)(`div`,{className:`mint-video-play-indicator`,style:{position:`absolute`,top:`50%`,left:`50%`,transform:`translate(-50%, -50%)`,pointerEvents:`none`,background:`rgba(0,0,0,0.6)`,borderRadius:`50%`,display:`flex`,alignItems:`center`,justifyContent:`center`,width:`22px`,height:`22px`,border:`1.5px solid white`},children:(0,q.jsx)(`svg`,{width:`10`,height:`10`,viewBox:`0 0 24 24`,fill:`white`,stroke:`white`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,q.jsx)(`polygon`,{points:`5 3 19 12 5 21 5 3`})})}),(0,q.jsx)(`button`,{className:`mint-attachment-remove`,type:`button`,onClick:()=>be(t),"aria-label":`Remove video`,children:(0,q.jsxs)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,q.jsx)(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),(0,q.jsx)(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})]})})]},t)),C&&(0,q.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`8px`,minWidth:0},children:[(0,q.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`,color:`var(--text-soft)`},children:(0,q.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,q.jsx)(`path`,{d:`M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z`}),(0,q.jsx)(`polyline`,{points:`14 2 14 8 20 8`})]})}),(0,q.jsx)(`span`,{style:{fontSize:`0.76rem`,color:`var(--text-soft)`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,maxWidth:`220px`},children:C}),(0,q.jsx)(`button`,{type:`button`,onClick:O,style:{background:`transparent`,border:0,color:`#ef4444`,cursor:`pointer`,display:`inline-flex`,alignItems:`center`},children:(0,q.jsxs)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,q.jsx)(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),(0,q.jsx)(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})]})})]})]}),Zn!==null&&Xn.length>0&&(0,q.jsxs)(`div`,{className:`chat-history-indicator`,"aria-live":`polite`,style:{position:`absolute`,top:`-9px`,right:`14px`,padding:`1px 8px`,fontSize:`0.68rem`,fontWeight:600,letterSpacing:`0.02em`,color:`var(--text-soft, #94a3b8)`,background:`var(--input-bg, #1e293b)`,border:`1px solid var(--border, rgba(148,163,184,0.25))`,borderRadius:`999px`,pointerEvents:`none`,zIndex:2},children:[`History `,Zn+1,`/`,Xn.length]}),(0,q.jsx)(`textarea`,{id:`chat-input`,ref:L,value:v,onChange:e=>{ur(e.currentTarget),D(e.target.value),Zn!==null&&Qn(null)},onKeyDown:ir,onDrop:yr,placeholder:`Ask anything, @ to mention, / for actions`,rows:1}),(0,q.jsxs)(`div`,{className:`chat-tool-menu-wrap`,ref:fn,children:[(0,q.jsx)(`button`,{id:`chat-tool-btn`,type:`button`,"aria-haspopup":`menu`,"aria-expanded":St,onClick:()=>Ct(e=>!e),style:{display:`inline-flex`,alignItems:`center`,justifyContent:`center`},children:(0,q.jsxs)(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,q.jsx)(`line`,{x1:`12`,y1:`5`,x2:`12`,y2:`19`}),(0,q.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`})]})}),St&&(0,q.jsxs)(`div`,{className:`chat-tool-menu`,role:`menu`,children:[(0,q.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:fr,children:[(0,q.jsx)(`span`,{"aria-hidden":`true`,children:(0,q.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,q.jsx)(`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`,ry:`2`}),(0,q.jsx)(`circle`,{cx:`8.5`,cy:`8.5`,r:`1.5`}),(0,q.jsx)(`polyline`,{points:`21 15 16 10 5 21`})]})}),(0,q.jsx)(`span`,{children:`Add image`})]}),(0,q.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:pr,children:[(0,q.jsx)(`span`,{"aria-hidden":`true`,children:(0,q.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,q.jsx)(`polygon`,{points:`23 7 16 12 23 17 23 7`}),(0,q.jsx)(`rect`,{x:`1`,y:`5`,width:`15`,height:`14`,rx:`2`,ry:`2`})]})}),(0,q.jsx)(`span`,{children:`Add video`})]}),(0,q.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:mr,children:[(0,q.jsx)(`span`,{"aria-hidden":`true`,children:(0,q.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,q.jsx)(`path`,{d:`M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z`}),(0,q.jsx)(`polyline`,{points:`14 2 14 8 20 8`})]})}),(0,q.jsx)(`span`,{children:`Add file`})]}),(0,q.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:H,children:[(0,q.jsx)(`span`,{"aria-hidden":`true`,children:(0,q.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,q.jsx)(`circle`,{cx:`11`,cy:`11`,r:`8`}),(0,q.jsx)(`line`,{x1:`21`,y1:`21`,x2:`16.65`,y2:`16.65`})]})}),(0,q.jsx)(`span`,{children:`Search web`})]}),(0,q.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:gr,children:[(0,q.jsx)(`span`,{"aria-hidden":`true`,children:(0,q.jsx)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,q.jsx)(`path`,{d:`M12 2v4M12 18v4M4.93 4.93l2.83 2.83M16.24 16.24l2.83 2.83M2 12h4M18 12h4M4.93 19.07l2.83-2.83M16.24 7.76l2.83-2.83`})})}),(0,q.jsx)(`span`,{children:`Generate image`})]}),(0,q.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:_r,children:[(0,q.jsx)(`span`,{"aria-hidden":`true`,children:(0,q.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,q.jsx)(`polygon`,{points:`23 7 16 12 23 17 23 7`}),(0,q.jsx)(`rect`,{x:`1`,y:`5`,width:`15`,height:`14`,rx:`2`,ry:`2`})]})}),(0,q.jsx)(`span`,{children:`Generate video`})]})]})]}),(0,q.jsx)(`input`,{id:`vision-file-input`,type:`file`,accept:`image/png,image/jpeg,image/webp,image/gif`,onChange:me,style:{display:`none`}}),(0,q.jsx)(`input`,{id:`video-file-input`,type:`file`,accept:`video/mp4,video/webm,video/quicktime,video/x-matroska`,onChange:he,style:{display:`none`}}),(0,q.jsx)(`input`,{id:`document-file-input`,type:`file`,accept:Er,onChange:ge,style:{display:`none`}}),(0,q.jsx)(`button`,{id:`screen-capture-btn`,type:`button`,onClick:Se,"aria-label":`Capture screen`,children:(0,q.jsxs)(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,q.jsx)(`rect`,{x:`2`,y:`3`,width:`20`,height:`15`,rx:`2`}),(0,q.jsx)(`path`,{d:`M8 22h8M12 18v4M7 10h10M12 5v10`})]})}),(0,q.jsx)(Mr,{activeProvider:ae?.activeProvider??``,activeModel:Jn,availableProviders:ae?.availableProviders??[],settingsConfig:k,dynamicOllamaModels:Dt,onSelect:(e,t)=>{Ne?Ne(e,t):(Te(e),Me(t))},onUpdateSettings:je}),(0,q.jsx)(`button`,{id:`mic-btn`,className:`${P?`is-recording`:``} ${Dn?`voice-mode-active`:``}`,type:`button`,onClick:V,title:Dn?`Disable voice conversation`:`Enable voice conversation`,style:{display:`inline-flex`,alignItems:`center`,justifyContent:`center`},children:P?(0,q.jsx)(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`currentColor`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,q.jsx)(`rect`,{x:`4`,y:`4`,width:`16`,height:`16`,rx:`2`,ry:`2`})}):(0,q.jsxs)(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,q.jsx)(`path`,{d:`M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z`}),(0,q.jsx)(`path`,{d:`M19 10v2a7 7 0 0 1-14 0v-2`}),(0,q.jsx)(`line`,{x1:`12`,y1:`19`,x2:`12`,y2:`23`}),(0,q.jsx)(`line`,{x1:`8`,y1:`23`,x2:`16`,y2:`23`})]})}),zn&&(0,q.jsx)(`button`,{id:`gemini-live-btn`,type:`button`,onClick:()=>Bn.setVoiceMode(!0),title:`Start Gemini Live conversation`,style:{display:`inline-flex`,alignItems:`center`,justifyContent:`center`},children:(0,q.jsxs)(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,q.jsx)(`circle`,{cx:`12`,cy:`12`,r:`2`}),(0,q.jsx)(`path`,{d:`M8.5 8.5a5 5 0 0 0 0 7`}),(0,q.jsx)(`path`,{d:`M15.5 8.5a5 5 0 0 1 0 7`}),(0,q.jsx)(`path`,{d:`M5.5 5.5a9 9 0 0 0 0 13`}),(0,q.jsx)(`path`,{d:`M18.5 5.5a9 9 0 0 1 0 13`})]})}),s?(0,q.jsx)(`button`,{id:`send-btn`,className:`stop-btn`,type:`button`,onClick:Pe,title:`Stop generating`,style:{display:`inline-flex`,alignItems:`center`,justifyContent:`center`},children:(0,q.jsx)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`currentColor`,children:(0,q.jsx)(`rect`,{x:`4`,y:`4`,width:`16`,height:`16`,rx:`2`,ry:`2`})})}):(0,q.jsx)(`button`,{id:`send-btn`,type:`submit`,disabled:!Vn,style:{display:`inline-flex`,alignItems:`center`,justifyContent:`center`},children:(0,q.jsxs)(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,q.jsx)(`line`,{x1:`22`,y1:`2`,x2:`11`,y2:`13`}),(0,q.jsx)(`polygon`,{points:`22 2 15 22 11 13 2 9 22 2`})]})})]})]}),(0,q.jsx)(`p`,{className:`input-disclaimer`,children:`Mint Agent is an AI gateway. Responses via third-party APIs. Verify critical info.`}),Bn.voiceMode&&(0,q.jsx)(br,{status:Bn.isPaused?`paused`:Bn.isSpeaking?`speaking`:Bn.voiceAwaitingResponse?`thinking`:`listening`,userTranscript:Bn.userTranscript,assistantTranscript:Bn.assistantTranscript,isPaused:Bn.isPaused,onTogglePause:Bn.togglePause,onEndCall:()=>Bn.setVoiceMode(!1),voice:k?.geminiLiveVoice||`Puck`,voices:ne,onChangeVoice:async e=>{await Ie(e),Bn.restart()}}),j.visible&&(0,q.jsxs)(`div`,{className:`rewind-toast-banner ${j.type===`error`?`is-error`:`is-success`}`,children:[(0,q.jsxs)(`div`,{className:`rewind-toast-content`,children:[j.type===`error`?(0,q.jsxs)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`var(--status-error, #ef4444)`,strokeWidth:`2`,children:[(0,q.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,q.jsx)(`line`,{x1:`12`,y1:`8`,x2:`12`,y2:`12`}),(0,q.jsx)(`line`,{x1:`12`,y1:`16`,x2:`12.01`,y2:`16`})]}):(0,q.jsxs)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`var(--accent)`,strokeWidth:`2.2`,children:[(0,q.jsx)(`path`,{d:`M22 11.08V12a10 10 0 1 1-5.93-9.14`}),(0,q.jsx)(`polyline`,{points:`22 4 12 14.01 9 11.01`})]}),(0,q.jsx)(`span`,{className:`rewind-toast-text`,children:j.message})]}),(0,q.jsxs)(`div`,{className:`rewind-toast-actions`,children:[j.canUndo&&(0,q.jsx)(`button`,{type:`button`,className:`rewind-toast-undo-btn`,onClick:ln,disabled:j.isUndoing,title:`Restore workspace files back from safety rescue snapshot`,children:j.isUndoing?`Undoing...`:(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`svg`,{width:`13`,height:`13`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,children:[(0,q.jsx)(`polyline`,{points:`9 14 4 9 9 4`}),(0,q.jsx)(`path`,{d:`M20 20v-7a4 4 0 0 0-4-4H4`})]}),`Undo Rewind`]})}),(0,q.jsx)(`button`,{type:`button`,className:`rewind-toast-close-btn`,onClick:()=>M(e=>({...e,visible:!1})),"aria-label":`Close notification`,children:`✕`})]})]})]});return(0,q.jsxs)(`div`,{ref:nn,className:`chat-panel-split-wrapper ${bt||gt?`has-preview`:`no-preview`}`,style:{"--preview-width":`${(Zt*100).toFixed(2)}%`},children:[Dr,(bt||gt)&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`preview-split-resizer`,onMouseDown:rn,onDoubleClick:an,title:`Drag to resize · Double-click to reset 50/50`,children:(0,q.jsx)(`div`,{className:`preview-split-resizer-grip`})}),gt?(0,q.jsx)(kt,{title:gt.title,changes:gt.changes,workspacePath:oe,onBack:()=>vt(null)}):bt?(0,q.jsx)(wt,{artifact:bt,onClose:()=>xt(null),workspacePath:oe}):null]}),on.isOpen&&(0,q.jsx)(lr,{isOpen:on.isOpen,onClose:()=>sn(e=>({...e,isOpen:!1})),onConfirm:cn,checkpoints:on.checkpoints,targetCheckpoint:on.targetCheckpoint,changes:on.changes,workspacePath:oe,isLoading:on.isLoading})]})}var K,q,Ur,Wr,Gr,Kr,qr,Jr,Yr,Xr,Zr,Qr=t((()=>{K=e(l()),Ht(),Kt(),m(),Pe(),nn(),fn(),Dn(),mt(),Mn(),In(),zn(),sr(),At(),ur(),we(),mr(),yr(),Cr(),Dr(),Ir(),St(),Br(),Tt(),d(),q=p(),Ur=120,{getTtsUrls:Wr,startGeminiLiveSession:Gr,sendGeminiLiveAudioChunk:Kr,stopGeminiLiveSession:qr,listGitCheckpoints:Jr,rollbackGitCheckpoint:Yr,undoGitCheckpoint:Xr}=i,{fetchProviderModels:Zr}=f})),$r=t((()=>{}));function ei(e,t){let n=t.getBoundingClientRect();return{x:Math.max(0,Math.min(1,(e.clientX-n.left)/n.width)),y:Math.max(0,Math.min(1,(e.clientY-n.top)/n.height))}}function ti(e,t){return{x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),width:Math.abs(t.x-e.x),height:Math.abs(t.y-e.y)}}function ni({onClose:e,onAttach:t,capture:n,onLiveTranslate:r}){let[i,a]=(0,ri.useState)(``),[o,s]=(0,ri.useState)(!1),[c,l]=(0,ri.useState)(null),[u,d]=(0,ri.useState)(``),[f,p]=(0,ri.useState)(!1),[m,h]=(0,ri.useState)(`region`),[g,_]=(0,ri.useState)(!1),ee=(0,ri.useRef)(null),v=(0,ri.useRef)(null),y=(0,ri.useRef)(null),b=(0,ri.useRef)(null);(0,ri.useEffect)(()=>{let t=document.activeElement instanceof HTMLElement?document.activeElement:null;b.current?.focus();let n=t=>{if(t.key===`Escape`&&e(),t.key!==`Tab`)return;let n=Array.from(y.current?.querySelectorAll(`button:not(:disabled)`)??[]);if(!n.length)return;let r=n[0],i=n[n.length-1];t.shiftKey&&document.activeElement===r?(t.preventDefault(),i.focus()):!t.shiftKey&&document.activeElement===i&&(t.preventDefault(),r.focus())};return window.addEventListener(`keydown`,n),()=>{window.removeEventListener(`keydown`,n),t?.focus()}},[e]);let x=async()=>{if(!f){p(!0),d(``),l(null),a(``),s(!1);try{let e=await n();if(!e.startsWith(`data:image/`))throw Error(`The screen capture returned no image.`);a(e)}catch(e){d((e instanceof Error?e.message:String(e))||`Screen capture failed. Please try again.`)}finally{p(!1)}}},S=e=>{m!==`region`||!i||(ee.current=ei(e,e.currentTarget),l(null),e.currentTarget.setPointerCapture(e.pointerId))},C=e=>{ee.current&&l(ti(ee.current,ei(e,e.currentTarget)))},w=e=>{if(!ee.current)return;let t=ti(ee.current,ei(e,e.currentTarget));ee.current=null,l(t.width>.003&&t.height>.003?t:null),e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId)};return(0,J.jsx)(`div`,{ref:y,className:`screen-capture-dialog ${f?`is-capturing`:``}`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`screen-capture-title`,children:(0,J.jsxs)(`div`,{className:`screen-capture-panel`,children:[(0,J.jsxs)(`header`,{className:`screen-capture-header`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`p`,{className:`screen-capture-eyebrow`,children:`Mint Agent · Screen capture`}),(0,J.jsx)(`h2`,{id:`screen-capture-title`,children:`Choose what Mint can see`}),(0,J.jsx)(`p`,{children:`Only the image you attach will be included in your message.`})]}),(0,J.jsx)(`button`,{ref:b,type:`button`,className:`screen-capture-close`,onClick:e,"aria-label":`Close screen capture`,children:`×`})]}),(0,J.jsx)(`div`,{className:`screen-capture-body`,children:i?(0,J.jsx)(`div`,{className:`screen-capture-stage`,children:(0,J.jsxs)(`div`,{className:`screen-capture-image-wrap ${m===`region`?`is-selecting`:``}`,onPointerDown:S,onPointerMove:C,onPointerUp:w,onPointerCancel:w,children:[(0,J.jsx)(`img`,{ref:v,src:i,alt:`Captured screen preview`,draggable:!1,onLoad:()=>s(!0),onError:()=>{a(``),d(`Unable to display the screenshot. Please capture it again.`)}}),m===`region`&&c&&(0,J.jsx)(`div`,{className:`screen-capture-selection`,style:{left:`${c.x*100}%`,top:`${c.y*100}%`,width:`${c.width*100}%`,height:`${c.height*100}%`}})]})}):(0,J.jsxs)(`div`,{className:`screen-capture-empty`,children:[(0,J.jsx)(`span`,{className:`screen-capture-empty-icon`,"aria-hidden":`true`,children:`▣`}),(0,J.jsx)(`h3`,{children:f?`Waiting for your screen…`:`Capture your screen`}),(0,J.jsx)(`p`,{children:f?`Choose the screen or window in your system prompt.`:`You can review and crop it before attaching it to the chat.`}),!f&&(0,J.jsx)(`button`,{type:`button`,className:`screen-capture-primary`,onClick:x,children:`Capture screen`})]})}),u&&(0,J.jsx)(`p`,{className:`screen-capture-error`,role:`alert`,children:u}),(0,J.jsxs)(`footer`,{className:`screen-capture-footer`,children:[(0,J.jsxs)(`div`,{className:`screen-capture-modes`,role:`group`,"aria-label":`Capture area`,children:[(0,J.jsx)(`button`,{type:`button`,className:m===`region`?`active`:``,onClick:()=>h(`region`),"aria-pressed":m===`region`,children:`Select area`}),(0,J.jsx)(`button`,{type:`button`,className:m===`full`?`active`:``,onClick:()=>h(`full`),"aria-pressed":m===`full`,children:`Full screen`})]}),(0,J.jsx)(`p`,{className:`screen-capture-instruction`,children:m===`region`?`Drag across the preview to select an area.`:`The entire captured image will be attached.`}),(0,J.jsxs)(`div`,{className:`screen-capture-actions`,children:[r&&(0,J.jsx)(`button`,{type:`button`,className:`screen-capture-secondary`,onClick:r,children:`Live translate`}),i&&(0,J.jsx)(`button`,{type:`button`,className:`screen-capture-secondary`,onClick:x,disabled:f||g,children:`Retake`}),(0,J.jsx)(`button`,{type:`button`,className:`screen-capture-secondary`,onClick:e,children:`Cancel`}),(0,J.jsx)(`button`,{type:`button`,className:`screen-capture-primary`,onClick:()=>{if(!(!i||!o||g||m===`region`&&!c)){_(!0);try{if(m===`full`){t(i);return}let e=v.current;if(!e||!e.naturalWidth||!e.naturalHeight||!c)throw Error(`The screenshot is still loading. Please try again.`);let n=document.createElement(`canvas`),r=Math.floor(c.x*e.naturalWidth),a=Math.floor(c.y*e.naturalHeight);n.width=Math.max(1,Math.min(e.naturalWidth-r,Math.ceil(c.width*e.naturalWidth))),n.height=Math.max(1,Math.min(e.naturalHeight-a,Math.ceil(c.height*e.naturalHeight)));let o=n.getContext(`2d`);if(!o)throw Error(`Unable to prepare the selected image.`);o.drawImage(e,r,a,n.width,n.height,0,0,n.width,n.height),t(n.toDataURL(`image/png`))}catch(e){d(e instanceof Error?e.message:String(e)),_(!1)}}},disabled:!i||!o||f||g||m===`region`&&!c,children:`Attach to chat`})]})]})]})})}var ri,J,ii=t((()=>{ri=e(l()),$r(),J=p()}));function ai({view:e,sidebarCollapsed:t,modelVisible:n,sending:i,chatSessions:a,activeConversationId:o,expressionIndex:s=0,accessoryIndex:c=0,expressions:l=[],accessories:d=[],interactionEnabled:f,showInteractionGuide:p,onToggleSidebar:m,onSidebarResize:g,onSidebarResizeEnd:_,onClearHistory:ee,onSelectConversation:y,onDeleteConversation:b,onRenameConversation:S,onSetView:w,onToggleModel:te,onSetExpressionIndex:T,onSetAccessoryIndex:E,onSetInteractionEnabled:ne,onSetShowInteractionGuide:re,onShowToast:ie,isSearchOpen:ae,onSetSearchOpen:oe,showWorkspaceTab:se,promoteMediaStudios:ce,activeWorkspacePath:le,recentWorkspacePaths:ue,onBrowseFolder:de,onUpdateSessionWorkspace:fe,onNewChatInProject:pe}){let[me,he]=(0,oi.useState)(null),[ge,_e]=(0,oi.useState)(``),[D,ye]=(0,oi.useState)(!1),[be,O]=(0,oi.useState)(!1),[xe,Se]=(0,oi.useState)(null),[Ce,we]=(0,oi.useState)(null),[Te,Ee]=(0,oi.useState)(()=>{if(typeof window>`u`)return[];try{return JSON.parse(window.localStorage.getItem(`mint_removed_sidebar_projects`)||`[]`)}catch{return[]}}),[De,Oe]=(0,oi.useState)(null),ke=(0,oi.useRef)(null),Ae=(0,oi.useRef)(null),k=(0,oi.useRef)(null),je=(0,oi.useRef)(null),{user:Me,avatarUrl:Ne,logout:Pe}=u(),[Fe,Ie]=(0,oi.useState)(!1),Le=(0,oi.useRef)(null);(0,oi.useEffect)(()=>{if(!Fe)return;let e=e=>{let t=Le.current;t&&(t.lastWidth=t.startWidth+(e.clientX-t.startX),t.frame??=requestAnimationFrame(()=>{Le.current&&(Le.current.frame=null,g?.(Le.current.lastWidth))}))},t=()=>{let e=Le.current;e?.frame!=null&&cancelAnimationFrame(e.frame),Ie(!1),document.body.style.cursor=``,document.body.style.userSelect=``,e&&_?.(e.lastWidth),Le.current=null};return document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`,window.addEventListener(`mousemove`,e),window.addEventListener(`mouseup`,t),()=>{window.removeEventListener(`mousemove`,e),window.removeEventListener(`mouseup`,t)}},[Fe,g,_]);let Re=e=>{if(t)return;e.preventDefault();let n=je.current?.getBoundingClientRect().width??264;Le.current={startX:e.clientX,startWidth:n,lastWidth:n,frame:null},Ie(!0)};(0,oi.useEffect)(()=>{function e(e){Ae.current&&!Ae.current.contains(e.target)&&ye(!1),k.current&&!k.current.contains(e.target)&&O(!1),ke.current&&!ke.current.contains(e.target)&&Oe(null),e.target.closest(`.sidebar-project-menu-popover, .sidebar-project-menu-trigger`)||Se(null),e.target.closest(`.sidebar-conversation-menu-popover, .sidebar-conversation-menu-trigger`)||we(null)}return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[]);let ze=e=>{ge.trim()&&ge.trim()!==a.find(t=>t.id===e)?.title&&S?.(e,ge.trim()),he(null)},Be=()=>{let e=!p;re?.(e),ie?.(e?`Show interaction zones ⊹`:`Hide interaction zones ⊹`)},Ve=()=>{let e=!f;ne?.(e),ie?.(e?`Enable model interaction ⦸`:`Disable model interaction ⦸`)},He=a.filter(e=>e.kind!==`cli`&&!e.id.startsWith(`cli`)&&e.id!==`conversation-default`),Ue=a.filter(e=>e.kind===`cli`||e.id.startsWith(`cli`)),[We,Ge]=(0,oi.useState)(()=>{if(typeof window>`u`)return[];try{let e=localStorage.getItem(`mint_project_order`);return e?JSON.parse(e):[]}catch{return[]}}),[Ke,qe]=(0,oi.useState)(null),[Je,Ye]=(0,oi.useState)(null),[Xe,Ze]=(0,oi.useState)(null),Qe=(e,t)=>{e.dataTransfer.setData(`text/plain`,t),e.dataTransfer.effectAllowed=`move`,qe(t)},$e=(e,t)=>{if(!Ke||Ke===t)return;e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect=`move`;let n=e.currentTarget.getBoundingClientRect(),r=n.top+n.height/2,i=e.clientY<r?`before`:`after`;(Je!==t||Xe!==i)&&(Ye(t),Ze(i))},et=(e,t)=>{if(e.stopPropagation(),Je===t){let t=e.relatedTarget;(!t||!e.currentTarget.contains(t))&&(Ye(null),Ze(null))}},tt=(e,t)=>{if(e.preventDefault(),e.stopPropagation(),!Ke||Ke===t){qe(null),Ye(null),Ze(null);return}let n=rt.map(e=>e.id),r=[...We];for(let e of n)r.includes(e)||r.push(e);r=r.filter(e=>e!==Ke);let i=r.indexOf(t);if(i!==-1){let e=Xe===`after`?i+1:i;r.splice(e,0,Ke)}else r.push(Ke);Ge(r);try{localStorage.setItem(`mint_project_order`,JSON.stringify(r))}catch(e){console.error(`Failed to save project order`,e)}qe(null),Ye(null),Ze(null)},nt=()=>{qe(null),Ye(null),Ze(null)},{projectGroups:rt,recentSessions:it}=(0,oi.useMemo)(()=>{let e=e=>{if(!e)return null;let t=e.replace(/[\\/]+$/,``).trim();if(!t)return null;let n=t.split(/[\\/]/);return{id:t,name:n[n.length-1]||t}},t=new Map,n=[],r=e(le);r&&!Te.includes(r.id)&&t.set(r.id,{id:r.id,name:r.name,sessions:[]});for(let r of He){let i=e(r.workspacePath||null);if(i){if(Te.includes(i.id)){n.push(r);continue}t.has(i.id)||t.set(i.id,{id:i.id,name:i.name,sessions:[]}),t.get(i.id).sessions.push(r)}else n.push(r)}return{projectGroups:Array.from(t.values()).sort((e,t)=>{let n=We.indexOf(e.id),r=We.indexOf(t.id);return n!==-1&&r!==-1?n-r:n===-1?r===-1?e.name.localeCompare(t.name):1:-1}),recentSessions:n}},[He,le,o,We,Te]),at=(0,oi.useMemo)(()=>{let e=e=>{if(!e)return null;let t=e.replace(/[\\/]+$/,``).trim();if(!t)return null;let n=t.split(/[\\/]/);return{id:t,name:n[n.length-1]||t}},t=new Map;if(le&&!Te.includes(le.replace(/[\\/]+$/,``).trim())){let n=e(le);n&&t.set(n.id,n.name)}for(let e of rt)Te.includes(e.id)||t.set(e.id,e.name);if(ue)for(let n of ue){let r=e(n);r&&!Te.includes(r.id)&&!t.has(r.id)&&t.set(r.id,r.name)}return Array.from(t.entries()).map(([e,t])=>({path:e,name:t}))},[rt,le,ue,Te]),ot=(e,t)=>{if(e.stopPropagation(),e.preventDefault(),De?.sessionId===t.id){Oe(null);return}let n=e.currentTarget.getBoundingClientRect(),r=Math.min(n.left,Math.max(10,window.innerWidth-220-10)),i=n.bottom+6;Oe({sessionId:t.id,currentWorkspacePath:t.workspacePath||(t.id===o&&le?le:null),top:i,left:r})},[st,ct]=(0,oi.useState)(()=>{if(typeof window>`u`)return{};try{let e=localStorage.getItem(`mint_collapsed_projects`);return e?JSON.parse(e):{}}catch{return{}}}),[lt,ut]=(0,oi.useState)({}),dt=e=>{ct(t=>{let n={...t,[e]:!t[e]};try{localStorage.setItem(`mint_collapsed_projects`,JSON.stringify(n))}catch{}return n})},ft=e=>{ut(t=>({...t,[e]:!t[e]}))},pt=e=>{Ee(t=>{let n=[...new Set([...t,e])];try{localStorage.setItem(`mint_removed_sidebar_projects`,JSON.stringify(n))}catch{}return n}),Se(null)},[mt,ht]=(0,oi.useState)(()=>typeof window<`u`?localStorage.getItem(`mint_last_cli_session_id`):null);(0,oi.useEffect)(()=>{if(o.startsWith(`cli`)||o===`cli`){ht(o);try{localStorage.setItem(`mint_last_cli_session_id`,o)}catch{}}},[o]);let gt=o.startsWith(`cli`)||o===`cli`?o:mt||Ue[0]?.id||null,_t=Ue.find(e=>e.id===gt);return(0,Y.jsxs)(`aside`,{className:`workspace-sidebar ${Fe?`is-resizing`:``}`,ref:je,children:[!t&&(0,Y.jsx)(`div`,{className:`sidebar-resize-handle ${Fe?`is-active`:``}`,onMouseDown:Re,title:`Drag to resize sidebar`}),(0,Y.jsxs)(`div`,{className:`sidebar-brand clickable`,onClick:m,title:t?`Expand sidebar`:`Collapse sidebar`,role:`button`,tabIndex:0,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&m()},children:[(0,Y.jsx)(`img`,{src:r.appIconPath(),alt:`Mint Agent Logo`,className:`sidebar-logo`}),(0,Y.jsx)(`span`,{className:`sidebar-brand-name`,children:`Mint Agent`})]}),(0,Y.jsx)(`button`,{type:`button`,className:`sidebar-mobile-close`,"aria-label":`Close navigation menu`,onClick:m,children:(0,Y.jsx)(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,"aria-hidden":`true`,children:(0,Y.jsx)(`path`,{d:`M5 5l14 14M19 5L5 19`})})}),(0,Y.jsxs)(`button`,{className:`sidebar-new-chat`,onClick:()=>ee(`New chat`),title:`New chat (Ctrl+N)`,children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:(0,Y.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Y.jsx)(`line`,{x1:`12`,y1:`5`,x2:`12`,y2:`19`}),(0,Y.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`})]})}),(0,Y.jsx)(`span`,{children:`New chat`})]}),(0,Y.jsxs)(`button`,{className:`sidebar-top-action sidebar-search-btn`,onClick:()=>oe(!0),title:`Search chats (Ctrl+K)`,children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:(0,Y.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Y.jsx)(`circle`,{cx:`11`,cy:`11`,r:`8`}),(0,Y.jsx)(`line`,{x1:`21`,y1:`21`,x2:`16.65`,y2:`16.65`})]})}),(0,Y.jsx)(`span`,{children:`Search chats`})]}),(0,Y.jsxs)(`button`,{className:`sidebar-top-action ${e===`chat`?`is-active`:``}`,onClick:()=>w(`chat`),title:`Chat`,children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:(0,Y.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,Y.jsx)(`path`,{d:`M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z`})})}),(0,Y.jsx)(`span`,{children:`Chat`})]}),(0,Y.jsxs)(`button`,{className:`sidebar-top-action ${e===`pictures`?`is-active`:``}`,onClick:()=>w(`pictures`),title:`Pictures`,children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:(0,Y.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Y.jsx)(`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`,ry:`2`}),(0,Y.jsx)(`circle`,{cx:`8.5`,cy:`8.5`,r:`1.5`}),(0,Y.jsx)(`polyline`,{points:`21 15 16 10 5 21`})]})}),(0,Y.jsx)(`span`,{children:`Pictures`})]}),ce&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`button`,{className:`sidebar-top-action ${e===`imagine`?`is-active`:``}`,onClick:()=>w(`imagine`),children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:(0,Y.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,Y.jsx)(`polygon`,{points:`12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2`})})}),(0,Y.jsx)(`span`,{children:`Image Studio`})]}),(0,Y.jsxs)(`button`,{className:`sidebar-top-action ${e===`veo`?`is-active`:``}`,onClick:()=>w(`veo`),children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:(0,Y.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Y.jsx)(`rect`,{x:`2`,y:`2`,width:`20`,height:`20`,rx:`2.18`,ry:`2.18`}),(0,Y.jsx)(`line`,{x1:`7`,y1:`2`,x2:`7`,y2:`22`}),(0,Y.jsx)(`line`,{x1:`17`,y1:`2`,x2:`17`,y2:`22`}),(0,Y.jsx)(`line`,{x1:`2`,y1:`12`,x2:`22`,y2:`12`}),(0,Y.jsx)(`line`,{x1:`2`,y1:`7`,x2:`7`,y2:`7`}),(0,Y.jsx)(`line`,{x1:`2`,y1:`17`,x2:`7`,y2:`17`}),(0,Y.jsx)(`line`,{x1:`17`,y1:`17`,x2:`22`,y2:`17`}),(0,Y.jsx)(`line`,{x1:`17`,y1:`7`,x2:`22`,y2:`7`})]})}),(0,Y.jsx)(`span`,{children:`Veo Studio`})]})]}),se&&(0,Y.jsxs)(`button`,{className:`sidebar-top-action ${e===`workspace`?`is-active`:``}`,onClick:()=>w(`workspace`),title:`Workspace`,children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:(0,Y.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Y.jsx)(`path`,{d:`M3 6h7l2 2h9v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z`}),(0,Y.jsx)(`path`,{d:`M3 6v12`})]})}),(0,Y.jsx)(`span`,{children:`Workspace`})]}),te&&(0,Y.jsxs)(`button`,{className:`sidebar-top-action ${n?`is-active`:``}`,onClick:te,title:`Live2D model`,children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:(0,Y.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Y.jsx)(`path`,{d:`M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2`}),(0,Y.jsx)(`circle`,{cx:`12`,cy:`7`,r:`4`})]})}),(0,Y.jsx)(`span`,{children:`Live2D model`})]}),(0,Y.jsxs)(`div`,{className:`sidebar-more-container`,ref:Ae,children:[(0,Y.jsxs)(`button`,{className:`sidebar-top-action ${D||!ce&&(e===`imagine`||e===`veo`)||e===`skills`||e===`mcp`||e===`plugins`||e===`cron`||e===`link`?`is-active`:``}`,onClick:()=>ye(!D),title:`More`,"aria-expanded":D,"aria-controls":`sidebar-more-menu`,children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:(0,Y.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Y.jsx)(`circle`,{cx:`12`,cy:`12`,r:`1.5`}),(0,Y.jsx)(`circle`,{cx:`19`,cy:`12`,r:`1.5`}),(0,Y.jsx)(`circle`,{cx:`5`,cy:`12`,r:`1.5`})]})}),(0,Y.jsx)(`span`,{children:`More`})]}),D&&(0,Y.jsxs)(`div`,{id:`sidebar-more-menu`,className:`sidebar-more-popover`,style:{display:`flex`,flexDirection:`column`,gap:`4px`,padding:`6px`,minWidth:`160px`},children:[(0,Y.jsxs)(`button`,{className:`popover-item ${e===`skills`?`active`:``}`,onClick:()=>{w(`skills`),ye(!1)},children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:v(15)}),(0,Y.jsx)(`span`,{children:`Skills`})]}),(0,Y.jsxs)(`button`,{className:`popover-item ${e===`mcp`?`active`:``}`,onClick:()=>{w(`mcp`),ye(!1)},children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:ve(15)}),(0,Y.jsx)(`span`,{children:`MCP servers`})]}),(0,Y.jsxs)(`button`,{className:`popover-item ${e===`plugins`?`active`:``}`,onClick:()=>{w(`plugins`),ye(!1)},children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:x(15)}),(0,Y.jsx)(`span`,{children:`Plugins`})]}),(0,Y.jsxs)(`button`,{className:`popover-item ${e===`cron`?`active`:``}`,onClick:()=>{w(`cron`),ye(!1)},children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:C(15)}),(0,Y.jsx)(`span`,{children:`Scheduled tasks`})]}),(0,Y.jsxs)(`button`,{className:`popover-item ${e===`link`?`active`:``}`,onClick:()=>{w(`link`),ye(!1)},children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:h(15)}),(0,Y.jsx)(`span`,{children:`Linked folders`})]}),!ce&&(0,Y.jsxs)(`button`,{className:`popover-item ${e===`imagine`?`active`:``}`,onClick:()=>{w(`imagine`),ye(!1)},children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:(0,Y.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,Y.jsx)(`polygon`,{points:`12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2`})})}),(0,Y.jsx)(`span`,{children:`Image Studio`})]}),!ce&&(0,Y.jsxs)(`button`,{className:`popover-item ${e===`veo`?`active`:``}`,onClick:()=>{w(`veo`),ye(!1)},children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:(0,Y.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Y.jsx)(`polygon`,{points:`23 7 16 12 23 17 23 7`}),(0,Y.jsx)(`rect`,{x:`1`,y:`5`,width:`15`,height:`14`,rx:`2`,ry:`2`})]})}),(0,Y.jsx)(`span`,{children:`Veo Studio`})]})]})]}),n&&(0,Y.jsxs)(`div`,{className:`sidebar-model-controls`,children:[(0,Y.jsxs)(`button`,{className:`change-expression-btn`,onClick:()=>{let e=(s+1)%l.length;T?.(e),E?.(0),ie?.(`Expression: ${l[e]}`)},children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:(0,Y.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Y.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,Y.jsx)(`path`,{d:`M8 14s1.5 2 4 2 4-2 4-2`}),(0,Y.jsx)(`line`,{x1:`9`,y1:`9`,x2:`9.01`,y2:`9`}),(0,Y.jsx)(`line`,{x1:`15`,y1:`9`,x2:`15.01`,y2:`9`})]})}),(0,Y.jsx)(`span`,{children:`Expression`})]}),(0,Y.jsxs)(`button`,{className:`accessory-cycle-btn`,onClick:()=>{let e=(c+1)%d.length;E?.(e),T?.(0),ie?.(`Accessory: ${d[e]}`)},children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:(0,Y.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,Y.jsx)(`path`,{d:`M12 12c-2-2.67-4-4-6-4a4 4 0 1 0 0 8c2 0 4-1.33 6-4Zm0 0c2 2.67 4 4 6 4a4 4 0 1 0 0-8c-2 0-4 1.33-6 4Z`})})}),(0,Y.jsx)(`span`,{children:`Accessory`})]}),(0,Y.jsxs)(`button`,{className:`toggle-interaction-btn ${f?`active`:``}`,onClick:Ve,children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:(0,Y.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,Y.jsx)(`path`,{d:`M18 11V6a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v5m-4 0V4a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v7m-4 0V5a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v9M4 22V13a3 3 0 0 1 6 0v0M4 22h14a2 2 0 0 0 2-2V11a2 2 0 0 0-2-2h-2`})})}),(0,Y.jsx)(`span`,{className:`mint-status-label`,children:`Interact`})]}),(0,Y.jsxs)(`button`,{className:`interaction-guide-btn ${p?`active`:``}`,onClick:Be,children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:(0,Y.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Y.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,Y.jsx)(`line`,{x1:`22`,y1:`12`,x2:`18`,y2:`12`}),(0,Y.jsx)(`line`,{x1:`6`,y1:`12`,x2:`2`,y2:`12`}),(0,Y.jsx)(`line`,{x1:`12`,y1:`6`,x2:`12`,y2:`2`}),(0,Y.jsx)(`line`,{x1:`12`,y1:`22`,x2:`12`,y2:`18`})]})}),(0,Y.jsx)(`span`,{children:`Areas`})]})]}),t?(0,Y.jsxs)(`div`,{className:`sidebar-collapsed-sessions`,children:[(0,Y.jsxs)(`button`,{type:`button`,className:`sidebar-collapsed-item ${e===`code`?`is-active`:``}`,onClick:()=>w(`code`),title:`Code sessions Hub`,"aria-label":`Code sessions Hub`,children:[(0,Y.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.4`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,Y.jsx)(`polyline`,{points:`4 17 10 11 4 5`}),(0,Y.jsx)(`line`,{x1:`12`,y1:`19`,x2:`20`,y2:`19`})]}),e===`code`&&(0,Y.jsx)(`span`,{className:`sidebar-collapsed-dot`})]}),_t&&(0,Y.jsxs)(`button`,{type:`button`,className:`sidebar-collapsed-item ${_t.id===o&&e!==`code`?`is-active`:``}`,onClick:()=>y(_t.id),title:_t.title&&_t.title!==`cli`?_t.title:`Terminal Session`,"aria-label":_t.title&&_t.title!==`cli`?_t.title:`Terminal Session`,children:[(0,Y.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.4`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,Y.jsx)(`polyline`,{points:`4 17 10 11 4 5`}),(0,Y.jsx)(`line`,{x1:`12`,y1:`19`,x2:`20`,y2:`19`})]}),_t.id===o&&e!==`code`&&(0,Y.jsx)(`span`,{className:`sidebar-collapsed-dot`})]}),He.slice(0,25).map(t=>{let n=t.id===o&&e!==`code`;return(0,Y.jsxs)(`button`,{type:`button`,className:`sidebar-collapsed-item ${n?`is-active`:``}`,onClick:()=>y(t.id),title:t.title||`Chat`,"aria-label":t.title||`Chat`,children:[(0,Y.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.4`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,Y.jsx)(`path`,{d:`M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z`})}),n&&(0,Y.jsx)(`span`,{className:`sidebar-collapsed-dot`})]},t.id)})]}):(0,Y.jsxs)(`div`,{className:`sidebar-section`,children:[(0,Y.jsx)(`div`,{className:`sidebar-section-title`,children:`Code`}),(0,Y.jsxs)(`div`,{className:`sidebar-chat-list sidebar-cli-list`,children:[(0,Y.jsxs)(`button`,{className:`sidebar-project sidebar-chat-item ${e===`code`?`active`:``}`,onClick:()=>w(`code`),title:`Code sessions Hub`,children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:(0,Y.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Y.jsx)(`polyline`,{points:`4 17 10 11 4 5`}),(0,Y.jsx)(`line`,{x1:`12`,y1:`19`,x2:`20`,y2:`19`})]})}),(0,Y.jsx)(`span`,{className:`sidebar-chat-title`,children:`Code hub`}),(0,Y.jsx)(`span`,{style:{marginLeft:`auto`,fontSize:`0.72rem`,fontWeight:600,padding:`1px 6px`,borderRadius:`10px`,background:`rgba(255, 255, 255, 0.08)`,color:`var(--text-muted, #94a3b8)`},children:Ue.length})]}),_t&&(0,Y.jsxs)(`button`,{className:`sidebar-project sidebar-chat-item ${_t.id===o?`active`:``}`,onClick:()=>y(_t.id),title:_t.title||`Terminal Session`,style:{paddingLeft:`16px`},children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`,opacity:.85},children:(0,Y.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Y.jsx)(`path`,{d:`M4 17l6-6-6-6`}),(0,Y.jsx)(`path`,{d:`M12 19h8`})]})}),(0,Y.jsx)(`span`,{className:`sidebar-chat-title`,children:_t.title&&_t.title!==`cli`?_t.title:_t.id===`cli`?`Terminal Session`:`cli::${_t.id.replace(/^cli::/,``).slice(0,7)}`}),_t.id===o&&i&&(0,Y.jsx)(`span`,{className:`sidebar-generating-text`,children:`Thinking...`})]})]}),rt.length>0&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`sidebar-section-title sidebar-subsection-title`,children:`Projects`}),(0,Y.jsx)(`div`,{className:`sidebar-projects-list`,children:rt.map(e=>{let t=!!st[e.id],n=!!lt[e.id],r=e.sessions.length>3,a=n||!r?e.sessions:e.sessions.slice(0,3),s=Ke===e.id,c=Je===e.id;return(0,Y.jsxs)(`div`,{className:`sidebar-project-group ${s?`is-dragging`:``} ${c?Xe===`before`?`drop-before`:`drop-after`:``}`,onDragOver:t=>$e(t,e.id),onDragLeave:t=>et(t,e.id),onDrop:t=>tt(t,e.id),children:[(0,Y.jsxs)(`div`,{role:`button`,tabIndex:0,className:`sidebar-project-group-header`,onClick:()=>dt(e.id),onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),dt(e.id))},title:`${e.name} (${e.id}) - Drag to reorder`,draggable:!0,onDragStart:t=>Qe(t,e.id),onDragEnd:nt,children:[(0,Y.jsxs)(`span`,{className:`sidebar-project-group-left`,children:[(0,Y.jsx)(`span`,{className:`sidebar-project-drag-grip`,title:`Drag to reorder`,"aria-hidden":`true`,children:(0,Y.jsxs)(`svg`,{width:`8`,height:`12`,viewBox:`0 0 8 12`,fill:`currentColor`,children:[(0,Y.jsx)(`circle`,{cx:`2`,cy:`2`,r:`1.2`}),(0,Y.jsx)(`circle`,{cx:`6`,cy:`2`,r:`1.2`}),(0,Y.jsx)(`circle`,{cx:`2`,cy:`6`,r:`1.2`}),(0,Y.jsx)(`circle`,{cx:`6`,cy:`6`,r:`1.2`}),(0,Y.jsx)(`circle`,{cx:`2`,cy:`10`,r:`1.2`}),(0,Y.jsx)(`circle`,{cx:`6`,cy:`10`,r:`1.2`})]})}),(0,Y.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,className:`sidebar-project-folder-icon`,children:t?(0,Y.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`}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.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`}),(0,Y.jsx)(`polygon`,{points:`3 20 6 10 23 10 20 20 3 20`,fill:`currentColor`,fillOpacity:`0.15`})]})}),(0,Y.jsx)(`span`,{className:`sidebar-project-group-name`,children:e.name})]}),(0,Y.jsxs)(`span`,{className:`sidebar-project-group-right`,children:[(0,Y.jsx)(`button`,{type:`button`,className:`sidebar-project-menu-trigger`,"aria-label":`Project actions for ${e.name}`,"aria-haspopup":`menu`,"aria-expanded":xe?.projectId===e.id,onClick:t=>{t.stopPropagation();let n=t.currentTarget.getBoundingClientRect();Se(xe?.projectId===e.id?null:{projectId:e.id,top:Math.min(n.bottom+4,window.innerHeight-120),left:Math.max(8,Math.min(n.right-190,window.innerWidth-198))})},onKeyDown:e=>e.stopPropagation(),children:(0,Y.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`currentColor`,"aria-hidden":`true`,children:[(0,Y.jsx)(`circle`,{cx:`5`,cy:`12`,r:`1.8`}),(0,Y.jsx)(`circle`,{cx:`12`,cy:`12`,r:`1.8`}),(0,Y.jsx)(`circle`,{cx:`19`,cy:`12`,r:`1.8`})]})}),(0,Y.jsx)(`span`,{className:`sidebar-project-group-count`,children:e.sessions.length}),(0,Y.jsx)(`span`,{className:`sidebar-project-group-chevron`,style:{transform:t?`rotate(-90deg)`:`rotate(0deg)`,transition:`transform 0.18s ease`},children:(0,Y.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,Y.jsx)(`polyline`,{points:`6 9 12 15 18 9`})})})]})]}),xe?.projectId===e.id&&(0,Y.jsxs)(`div`,{className:`sidebar-project-menu-popover`,role:`menu`,style:{top:xe.top,left:xe.left},onClick:e=>e.stopPropagation(),children:[pe&&(0,Y.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:()=>{ct(t=>({...t,[e.id]:!1})),pe(e.id),Se(null)},children:[`+ `,(0,Y.jsx)(`span`,{children:`New chat in project`})]}),(0,Y.jsxs)(`button`,{type:`button`,role:`menuitem`,className:`is-destructive`,onClick:()=>pt(e.id),children:[`⌫ `,(0,Y.jsx)(`span`,{children:`Remove from sidebar`})]})]}),!t&&(0,Y.jsxs)(`div`,{className:`sidebar-project-sessions`,children:[a.map(e=>(0,Y.jsxs)(`button`,{className:`sidebar-project sidebar-chat-item is-indented ${e.id===o?`active`:``}`,onClick:()=>y(e.id),title:e.title,children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:(0,Y.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`13`,height:`13`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.3`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,Y.jsx)(`path`,{d:`M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z`})})}),me===e.id?(0,Y.jsx)(`input`,{type:`text`,className:`sidebar-chat-rename-input`,value:ge,onChange:e=>_e(e.target.value),onBlur:()=>ze(e.id),onKeyDown:t=>{t.key===`Enter`?ze(e.id):t.key===`Escape`&&he(null)},autoFocus:!0,onClick:e=>e.stopPropagation()}):(0,Y.jsx)(`span`,{className:`sidebar-chat-title`,children:e.title||`New chat`}),e.id===o&&i&&(0,Y.jsx)(`span`,{className:`sidebar-generating-text`,children:`Thinking...`}),me!==e.id&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`span`,{role:`button`,tabIndex:0,className:`sidebar-conversation-menu-trigger`,"aria-label":`Actions for ${e.title||`conversation`}`,onClick:t=>{t.stopPropagation();let n=t.currentTarget.getBoundingClientRect();we({sessionId:e.id,top:Math.min(n.bottom+4,window.innerHeight-120),left:Math.max(8,Math.min(n.right-190,window.innerWidth-198))})},onKeyDown:t=>{if(t.key===`Enter`||t.key===` `){t.preventDefault(),t.stopPropagation();let n=t.currentTarget.getBoundingClientRect();we({sessionId:e.id,top:Math.min(n.bottom+4,window.innerHeight-120),left:Math.max(8,Math.min(n.right-190,window.innerWidth-198))})}},children:(0,Y.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`currentColor`,"aria-hidden":`true`,children:[(0,Y.jsx)(`circle`,{cx:`5`,cy:`12`,r:`1.8`}),(0,Y.jsx)(`circle`,{cx:`12`,cy:`12`,r:`1.8`}),(0,Y.jsx)(`circle`,{cx:`19`,cy:`12`,r:`1.8`})]})}),(0,Y.jsx)(`span`,{className:`sidebar-chat-edit`,role:`button`,tabIndex:0,title:`Rename conversation`,onClick:t=>{t.stopPropagation(),he(e.id),_e(e.title||``)},onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),he(e.id),_e(e.title||``))},children:(0,Y.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`13`,height:`13`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.3`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Y.jsx)(`path`,{d:`M12 20h9`}),(0,Y.jsx)(`path`,{d:`M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z`})]})}),fe&&(0,Y.jsx)(`span`,{className:`sidebar-chat-edit`,role:`button`,tabIndex:0,title:`Move conversation...`,onClick:t=>ot(t,e),onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),ot(t,e))},children:(0,Y.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`13`,height:`13`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.3`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Y.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`}),(0,Y.jsx)(`polyline`,{points:`12 11 12 17`}),(0,Y.jsx)(`polyline`,{points:`9 14 12 11 15 14`})]})}),(0,Y.jsx)(`span`,{className:`sidebar-chat-delete`,role:`button`,tabIndex:0,title:`Delete conversation`,onClick:t=>{t.stopPropagation(),b(e.id)},onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),b(e.id))},children:(0,Y.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`13`,height:`13`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.3`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Y.jsx)(`polyline`,{points:`3 6 5 6 21 6`}),(0,Y.jsx)(`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`}),(0,Y.jsx)(`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`})]})})]})]},e.id)),r&&(0,Y.jsx)(`button`,{type:`button`,className:`sidebar-show-more-btn`,onClick:()=>ft(e.id),children:n?`Show less ⌃`:`Show more (${e.sessions.length-3}) ⌄`})]})]},e.id)})})]}),(it.length>0||rt.length===0)&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`sidebar-section-title sidebar-subsection-title`,children:rt.length>0?`Recents`:`Conversations`}),(0,Y.jsx)(`div`,{className:`sidebar-chat-list`,children:it.map(e=>(0,Y.jsxs)(`button`,{className:`sidebar-project sidebar-chat-item ${e.id===o?`active`:``}`,onClick:()=>y(e.id),title:e.title,children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:(0,Y.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,Y.jsx)(`path`,{d:`M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z`})})}),me===e.id?(0,Y.jsx)(`input`,{type:`text`,className:`sidebar-chat-rename-input`,value:ge,onChange:e=>_e(e.target.value),onBlur:()=>ze(e.id),onKeyDown:t=>{t.key===`Enter`?ze(e.id):t.key===`Escape`&&he(null)},autoFocus:!0,onClick:e=>e.stopPropagation()}):(0,Y.jsx)(`span`,{className:`sidebar-chat-title`,children:e.title||`New chat`}),e.id===o&&i&&(0,Y.jsx)(`span`,{className:`sidebar-generating-text`,children:`Thinking...`}),me!==e.id&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`span`,{role:`button`,tabIndex:0,className:`sidebar-conversation-menu-trigger`,"aria-label":`Actions for ${e.title||`conversation`}`,onClick:t=>{t.stopPropagation();let n=t.currentTarget.getBoundingClientRect();we({sessionId:e.id,top:Math.min(n.bottom+4,window.innerHeight-120),left:Math.max(8,Math.min(n.right-190,window.innerWidth-198))})},onKeyDown:t=>{if(t.key===`Enter`||t.key===` `){t.preventDefault(),t.stopPropagation();let n=t.currentTarget.getBoundingClientRect();we({sessionId:e.id,top:Math.min(n.bottom+4,window.innerHeight-120),left:Math.max(8,Math.min(n.right-190,window.innerWidth-198))})}},children:(0,Y.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`currentColor`,"aria-hidden":`true`,children:[(0,Y.jsx)(`circle`,{cx:`5`,cy:`12`,r:`1.8`}),(0,Y.jsx)(`circle`,{cx:`12`,cy:`12`,r:`1.8`}),(0,Y.jsx)(`circle`,{cx:`19`,cy:`12`,r:`1.8`})]})}),(0,Y.jsx)(`span`,{className:`sidebar-chat-edit`,role:`button`,tabIndex:0,title:`Rename conversation`,onClick:t=>{t.stopPropagation(),he(e.id),_e(e.title||``)},onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),he(e.id),_e(e.title||``))},children:(0,Y.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`13`,height:`13`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.3`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Y.jsx)(`path`,{d:`M12 20h9`}),(0,Y.jsx)(`path`,{d:`M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z`})]})}),fe&&(0,Y.jsx)(`span`,{className:`sidebar-chat-edit`,role:`button`,tabIndex:0,title:`Move conversation...`,onClick:t=>ot(t,e),onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),ot(t,e))},children:(0,Y.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`13`,height:`13`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.3`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Y.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`}),(0,Y.jsx)(`polyline`,{points:`12 11 12 17`}),(0,Y.jsx)(`polyline`,{points:`9 14 12 11 15 14`})]})}),(0,Y.jsx)(`span`,{className:`sidebar-chat-delete`,role:`button`,tabIndex:0,title:`Delete conversation`,onClick:t=>{t.stopPropagation(),b(e.id)},onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),b(e.id))},children:(0,Y.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`13`,height:`13`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.3`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Y.jsx)(`polyline`,{points:`3 6 5 6 21 6`}),(0,Y.jsx)(`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`}),(0,Y.jsx)(`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`})]})})]})]},e.id))})]})]}),Me&&(0,Y.jsxs)(`div`,{className:`sidebar-account-container`,ref:k,children:[be&&(0,Y.jsxs)(`div`,{className:`sidebar-account-menu`,children:[Me.email&&(0,Y.jsx)(`div`,{className:`sidebar-account-menu-header`,children:Me.email}),(0,Y.jsxs)(`button`,{className:`popover-item`,onClick:()=>{window.api.openSettings(),O(!1)},children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:(0,Y.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`15`,height:`15`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Y.jsx)(`circle`,{cx:`12`,cy:`12`,r:`3`}),(0,Y.jsx)(`path`,{d:`M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z`})]})}),(0,Y.jsx)(`span`,{children:`Settings`})]}),(0,Y.jsxs)(`button`,{className:`popover-item ${e===`skills`?`active`:``}`,onClick:()=>{w(`skills`),O(!1)},children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:v(15)}),(0,Y.jsx)(`span`,{children:`Skills`})]}),(0,Y.jsxs)(`button`,{className:`popover-item ${e===`mcp`?`active`:``}`,onClick:()=>{w(`mcp`),O(!1)},children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:ve(15)}),(0,Y.jsx)(`span`,{children:`MCP servers`})]}),(0,Y.jsxs)(`button`,{className:`popover-item ${e===`plugins`?`active`:``}`,onClick:()=>{w(`plugins`),O(!1)},children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:x(15)}),(0,Y.jsx)(`span`,{children:`Plugins`})]}),(0,Y.jsxs)(`button`,{className:`popover-item ${e===`cron`?`active`:``}`,onClick:()=>{w(`cron`),O(!1)},children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:C(15)}),(0,Y.jsx)(`span`,{children:`Scheduled tasks`})]}),(0,Y.jsxs)(`button`,{className:`popover-item ${e===`link`?`active`:``}`,onClick:()=>{w(`link`),O(!1)},children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:h(15)}),(0,Y.jsx)(`span`,{children:`Linked folders`})]}),(0,Y.jsx)(`div`,{className:`sidebar-account-menu-divider`}),(0,Y.jsxs)(`button`,{className:`popover-item`,onClick:()=>{O(!1),Pe()},children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:(0,Y.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`15`,height:`15`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Y.jsx)(`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`}),(0,Y.jsx)(`polyline`,{points:`16 17 21 12 16 7`}),(0,Y.jsx)(`line`,{x1:`21`,y1:`12`,x2:`9`,y2:`12`})]})}),(0,Y.jsx)(`span`,{children:`Log out`})]})]}),(0,Y.jsxs)(`button`,{className:`sidebar-account`,onClick:()=>O(e=>!e),children:[(0,Y.jsx)(`div`,{className:`sidebar-account-avatar`,children:Ne?(0,Y.jsx)(`img`,{src:Ne,alt:Me.name||`User`}):(Me.name?.[0]||Me.email?.[0]||`U`).toUpperCase()}),(0,Y.jsx)(`div`,{className:`sidebar-account-info`,children:(0,Y.jsx)(`span`,{className:`sidebar-account-name`,children:Me.name||Me.email})}),(0,Y.jsx)(`span`,{className:`sidebar-account-chevron`,"aria-hidden":`true`,children:(0,Y.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,Y.jsx)(`polyline`,{points:`18 15 12 9 6 15`})})})]})]}),De&&(0,Y.jsxs)(`div`,{ref:ke,className:`sidebar-move-popover`,style:{position:`fixed`,top:`${De.top}px`,left:`${De.left}px`,zIndex:99999},onClick:e=>e.stopPropagation(),children:[(0,Y.jsx)(`div`,{className:`sidebar-move-header`,children:`Move to Project`}),(0,Y.jsx)(`div`,{className:`sidebar-move-list`,children:at.map(e=>{let t=De.currentWorkspacePath===e.path;return(0,Y.jsxs)(`button`,{type:`button`,className:`sidebar-move-item ${t?`is-current`:``}`,onClick:()=>{fe?.(De.sessionId,e.path),Oe(null)},title:e.path,children:[(0,Y.jsx)(`span`,{className:`sidebar-move-item-icon`,children:`📁`}),(0,Y.jsx)(`span`,{className:`sidebar-move-item-name`,children:e.name}),t&&(0,Y.jsx)(`span`,{className:`sidebar-move-item-check`,children:`✓`})]},e.path)})}),(0,Y.jsx)(`div`,{className:`sidebar-move-divider`}),(0,Y.jsxs)(`button`,{type:`button`,className:`sidebar-move-item ${De.currentWorkspacePath?``:`is-current`}`,onClick:()=>{fe?.(De.sessionId,null),Oe(null)},children:[(0,Y.jsx)(`span`,{className:`sidebar-move-item-icon`,children:(0,Y.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`13`,height:`13`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.3`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Y.jsx)(`polyline`,{points:`9 14 4 9 9 4`}),(0,Y.jsx)(`path`,{d:`M20 20v-7a4 4 0 0 0-4-4H4`})]})}),(0,Y.jsx)(`span`,{className:`sidebar-move-item-name`,children:`Recents (No project)`}),!De.currentWorkspacePath&&(0,Y.jsx)(`span`,{className:`sidebar-move-item-check`,children:`✓`})]}),de&&(0,Y.jsxs)(`button`,{type:`button`,className:`sidebar-move-item`,onClick:async()=>{let e=await de();e&&fe?.(De.sessionId,e),Oe(null)},children:[(0,Y.jsx)(`span`,{className:`sidebar-move-item-icon`,children:(0,Y.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`13`,height:`13`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.3`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Y.jsx)(`line`,{x1:`12`,y1:`5`,x2:`12`,y2:`19`}),(0,Y.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`})]})}),(0,Y.jsx)(`span`,{className:`sidebar-move-item-name`,children:`Choose folder...`})]})]}),Ce&&(()=>{let e=He.find(e=>e.id===Ce.sessionId);return e?(0,Y.jsxs)(`div`,{className:`sidebar-conversation-menu-popover`,role:`menu`,style:{top:Ce.top,left:Ce.left},onClick:e=>e.stopPropagation(),children:[(0,Y.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:()=>{he(e.id),_e(e.title||``),we(null)},children:[`✎ `,(0,Y.jsx)(`span`,{children:`Rename`})]}),fe&&(0,Y.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:t=>{we(null),ot(t,e)},children:[`↗ `,(0,Y.jsx)(`span`,{children:`Move to project`})]}),(0,Y.jsxs)(`button`,{type:`button`,role:`menuitem`,className:`is-destructive`,onClick:()=>{b(e.id),we(null)},children:[`⌫ `,(0,Y.jsx)(`span`,{children:`Delete conversation`})]})]}):null})()]})}var oi,Y,si=t((()=>{oi=e(l()),S(),o(),d(),Y=p()}));function ci(e){return e.replace(/\\/g,`/`).split(`/`).filter(Boolean).at(-1)||`No workspace`}function li({workspacePath:e,terminalCount:t,sourceNames:r,recentChanges:i,onOpenWorkspace:a,onOpenReview:o,onRefreshWorkspace:s}){let[c,l]=(0,ui.useState)(!1),[u,d]=(0,ui.useState)(null),[f,p]=(0,ui.useState)(!1),m=(0,ui.useRef)(null),h=(0,ui.useCallback)(async()=>{if(!e.trim()){d(null);return}p(!0);try{d(await n.getGitBranchInfo(e))}catch{d(null)}finally{p(!1)}},[e]);(0,ui.useEffect)(()=>{c&&h()},[c,h]),(0,ui.useEffect)(()=>{let e=e=>{m.current?.contains(e.target)||l(!1)},t=e=>{e.key===`Escape`&&l(!1)};return document.addEventListener(`mousedown`,e),window.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),window.removeEventListener(`keydown`,t)}},[]);let g=async()=>{s(),await h()},_=i.reduce((e,t)=>e+Math.max(0,t.additions||0),0),ee=i.reduce((e,t)=>e+Math.max(0,t.deletions||0),0),v=i.length>0,y=[...new Set(r.filter(Boolean))];return(0,X.jsxs)(`div`,{className:`workspace-context`,ref:m,children:[(0,X.jsx)(`button`,{type:`button`,className:`workspace-context-trigger${c?` is-open`:``}`,"aria-label":`Open workspace context`,"aria-haspopup":`dialog`,"aria-expanded":c,title:`Workspace context`,onClick:()=>l(e=>!e),children:(0,X.jsxs)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":`true`,children:[(0,X.jsx)(`path`,{d:`M4 6.5h6l1.7 2H20v9.5a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z`}),(0,X.jsx)(`path`,{d:`M4 6.5v-1a2 2 0 0 1 2-2h4l1.7 2H18a2 2 0 0 1 2 2v1`})]})}),c&&(0,X.jsxs)(`section`,{className:`workspace-context-popover`,role:`dialog`,"aria-label":`Workspace context`,children:[(0,X.jsxs)(`header`,{className:`workspace-context-heading`,children:[(0,X.jsx)(`span`,{children:`Workspace context`}),(0,X.jsx)(`button`,{type:`button`,onClick:g,disabled:f,title:`Refresh workspace status`,"aria-label":`Refresh workspace status`,children:(0,X.jsxs)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":`true`,children:[(0,X.jsx)(`path`,{d:`M20 11a8 8 0 1 0 2 5.5`}),(0,X.jsx)(`path`,{d:`M20 4v7h-7`})]})})]}),(0,X.jsxs)(`button`,{type:`button`,className:`workspace-context-row`,onClick:()=>{a(),l(!1)},children:[(0,X.jsx)(`span`,{className:`workspace-context-icon`,children:`▰`}),(0,X.jsxs)(`span`,{className:`workspace-context-copy`,children:[(0,X.jsx)(`strong`,{children:ci(e)}),(0,X.jsx)(`small`,{title:e,children:e||`Choose a project folder`})]}),(0,X.jsx)(`span`,{className:`workspace-context-action`,children:`Open`})]}),(0,X.jsxs)(`div`,{className:`workspace-context-row is-static`,children:[(0,X.jsx)(`span`,{className:`workspace-context-icon`,children:`⌘`}),(0,X.jsxs)(`span`,{className:`workspace-context-copy`,children:[(0,X.jsx)(`strong`,{children:u?.isRepository?u.currentBranch||u.detachedHead||`Detached HEAD`:`No Git repository`}),(0,X.jsx)(`small`,{children:u?.isRepository?u.isDirty?`Working tree has changes`:`Working tree is clean`:`Git status is unavailable`})]}),u?.isRepository&&(0,X.jsx)(`span`,{className:`workspace-context-status${u.isDirty?` is-dirty`:``}`,children:u.isDirty?`Changed`:`Clean`})]}),(0,X.jsxs)(`button`,{type:`button`,className:`workspace-context-row`,disabled:!v,onClick:()=>{o(i),l(!1)},children:[(0,X.jsx)(`span`,{className:`workspace-context-icon`,children:`▣`}),(0,X.jsxs)(`span`,{className:`workspace-context-copy`,children:[(0,X.jsx)(`strong`,{children:`Recent agent changes`}),(0,X.jsx)(`small`,{children:v?`${i.length} file${i.length===1?``:`s`} changed in this run`:`No changes in the current run`})]}),v&&(0,X.jsxs)(`span`,{className:`workspace-context-diff`,children:[(0,X.jsxs)(`b`,{children:[`+`,_]}),(0,X.jsxs)(`i`,{children:[`-`,ee]})]})]}),(0,X.jsxs)(`div`,{className:`workspace-context-row is-static`,children:[(0,X.jsx)(`span`,{className:`workspace-context-icon`,children:`›_`}),(0,X.jsxs)(`span`,{className:`workspace-context-copy`,children:[(0,X.jsx)(`strong`,{children:`Terminal`}),(0,X.jsx)(`small`,{children:t===0?`No terminal tabs open`:`${t} tab${t===1?``:`s`} open`})]}),(0,X.jsx)(`span`,{className:`workspace-context-status`,children:t})]}),(0,X.jsxs)(`div`,{className:`workspace-context-sources`,children:[(0,X.jsxs)(`div`,{className:`workspace-context-sources-heading`,children:[(0,X.jsx)(`span`,{children:`Sources`}),(0,X.jsx)(`span`,{children:y.length})]}),y.length===0?(0,X.jsx)(`p`,{children:`No files attached to this message.`}):y.slice(0,3).map(e=>(0,X.jsxs)(`p`,{title:e,children:[`▣ `,e]},e)),y.length>3&&(0,X.jsxs)(`p`,{className:`workspace-context-more`,children:[`+`,y.length-3,` more sources`]})]})]})]})}var ui,X,di=t((()=>{ui=e(l()),d(),X=p()}));function fi({sidebarCollapsed:e,onToggleSidebar:t,onNewChat:n,onOpenWorkspace:r,onOpenTerminal:i,onToggleTerminal:a,onOpenBrowser:o,toolsPanelOpen:s,onToggleToolsPanel:l,onOpenSettings:u,onCheckForUpdates:d,onShowAbout:f,workspacePath:p,terminalCount:m,sourceNames:h,recentChanges:g,onOpenReview:_,onRefreshWorkspace:ee}){let[v,y]=(0,pi.useState)(null),[b,x]=(0,pi.useState)(!1),[S,C]=(0,pi.useState)(!1),[w,te]=(0,pi.useState)(()=>Number(window.localStorage.getItem(`mint:ui-zoom`))||1),[T,E]=(0,pi.useState)(!1),[ne,re]=(0,pi.useState)(!1),ie=(0,pi.useRef)(null);(0,pi.useEffect)(()=>{let e=!0;return c(async()=>{let{getCurrentWindow:e}=await import(`./window-5qYXKoW7.js`);return{getCurrentWindow:e}},__vite__mapDeps([0,1,2,3])).then(async({getCurrentWindow:t})=>{let n=t(),[r,i]=await Promise.all([n.isMaximized(),n.isFullscreen()]);e&&(x(r),C(i))}).catch(()=>{}),()=>{e=!1}},[]);let ae=()=>{c(async()=>{let{getCurrentWindow:e}=await import(`./window-5qYXKoW7.js`);return{getCurrentWindow:e}},__vite__mapDeps([0,1,2,3])).then(({getCurrentWindow:e})=>e().minimize()).catch(e=>console.error(`Failed to minimize Mint window:`,e))},oe=()=>{c(async()=>{let{getCurrentWindow:e}=await import(`./window-5qYXKoW7.js`);return{getCurrentWindow:e}},__vite__mapDeps([0,1,2,3])).then(async({getCurrentWindow:e})=>{let t=e();await t.toggleMaximize(),x(await t.isMaximized())}).catch(e=>console.error(`Failed to toggle Mint window size:`,e))},se=()=>{c(async()=>{let{getCurrentWindow:e}=await import(`./window-5qYXKoW7.js`);return{getCurrentWindow:e}},__vite__mapDeps([0,1,2,3])).then(async({getCurrentWindow:e})=>{let t=e(),n=!await t.isFullscreen();await t.setFullscreen(n),C(n)}).catch(e=>console.error(`Failed to toggle Mint fullscreen:`,e))},ce=e=>{let t=Math.min(1.5,Math.max(.8,Math.round(e*100)/100));te(t),window.localStorage.setItem(`mint:ui-zoom`,String(t))};(0,pi.useEffect)(()=>{w===1?document.documentElement.style.removeProperty(`zoom`):document.documentElement.style.setProperty(`zoom`,String(w))},[w]);let le=e=>e instanceof HTMLElement&&(e.isContentEditable||e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement),ue=e=>{!le(document.activeElement)&&e!==`copy`||document.execCommand(e)},de=async()=>{if(le(document.activeElement))try{let e=await window.api.readClipboard();e&&document.execCommand(`insertText`,!1,e)}catch(e){console.warn(`Failed to paste clipboard text:`,e)}},fe=e=>{c(async()=>{let{getCurrentWindow:e}=await import(`./window-5qYXKoW7.js`);return{getCurrentWindow:e}},__vite__mapDeps([0,1,2,3])).then(({getCurrentWindow:t})=>t().startResizeDragging(e)).catch(e=>console.error(`Failed to start Mint window resize:`,e))};(0,pi.useEffect)(()=>{let e=e=>{e.target instanceof Node&&!ie.current?.contains(e.target)&&y(null)},t=e=>{e.key===`Escape`&&y(null)};return window.addEventListener(`mousedown`,e),window.addEventListener(`keydown`,t),()=>{window.removeEventListener(`mousedown`,e),window.removeEventListener(`keydown`,t)}},[]),(0,pi.useEffect)(()=>{let e=()=>re(le(document.activeElement));return document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,e),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,e)}},[]),(0,pi.useEffect)(()=>{let e=e=>{let i=e.ctrlKey||e.metaKey,s=le(e.target);if(e.key===`F11`){e.preventDefault(),se();return}if(!i||s)return;let c=e.key.toLowerCase();c===`n`?(e.preventDefault(),n()):c===`o`?(e.preventDefault(),r()):c===`b`&&e.shiftKey?(e.preventDefault(),o()):c===`b`?(e.preventDefault(),t()):c===`,`?(e.preventDefault(),u()):c===`/`?(e.preventDefault(),E(!0)):e.code===`Backquote`?(e.preventDefault(),a()):c===`+`||c===`=`?(e.preventDefault(),ce(w+.1)):c===`-`?(e.preventDefault(),ce(w-.1)):c===`0`&&(e.preventDefault(),ce(1))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[w,n,r,o,u,t,a]);let pe=e=>{e(),y(null)},me={File:[{label:`New chat`,shortcut:`Ctrl+N`,action:n},{label:`Open workspace`,shortcut:`Ctrl+O`,action:r},{label:`New terminal`,shortcut:"Ctrl+Shift+`",action:i},{label:`Settings`,shortcut:`Ctrl+,`,action:u},{label:`Quit Mint`,shortcut:`Ctrl+Q`,action:()=>window.api.quitApp()}],Edit:[{label:`Undo`,shortcut:`Ctrl+Z`,disabled:!ne,action:()=>ue(`undo`)},{label:`Redo`,shortcut:`Ctrl+Shift+Z`,disabled:!ne,action:()=>ue(`redo`)},{label:`Cut`,shortcut:`Ctrl+X`,disabled:!ne,action:()=>ue(`cut`)},{label:`Copy`,shortcut:`Ctrl+C`,action:()=>ue(`copy`)},{label:`Paste`,shortcut:`Ctrl+V`,disabled:!ne,action:de},{label:`Select all`,shortcut:`Ctrl+A`,disabled:!ne,action:()=>ue(`selectAll`)}],View:[{label:e?`Show sidebar`:`Hide sidebar`,shortcut:`Ctrl+B`,action:t},{label:`Toggle terminal`,shortcut:"Ctrl+`",action:a},{label:`Open Browser panel`,shortcut:`Ctrl+Shift+B`,action:o},{label:`Zoom in`,shortcut:`Ctrl++`,action:()=>ce(w+.1)},{label:`Zoom out`,shortcut:`Ctrl+-`,action:()=>ce(w-.1)},{label:`Reset zoom`,shortcut:`Ctrl+0`,disabled:w===1,action:()=>ce(1)},{label:S?`Exit fullscreen`:`Enter fullscreen`,shortcut:`F11`,action:se}],Help:[{label:`Keyboard shortcuts`,shortcut:`Ctrl+/`,action:()=>E(!0)},{label:`Check for updates`,action:d},{label:`About Mint Agent`,action:f}]};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`header`,{className:`mint-titlebar`,ref:ie,"aria-label":`Mint Agent window controls`,children:[(0,Z.jsxs)(`div`,{className:`mint-titlebar-left`,children:[(0,Z.jsx)(`button`,{className:`mint-titlebar-icon-button`,type:`button`,"aria-label":e?`Show sidebar`:`Hide sidebar`,title:e?`Show sidebar`:`Hide sidebar`,onClick:t,children:(0,Z.jsxs)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":`true`,children:[(0,Z.jsx)(`rect`,{x:`3.5`,y:`4`,width:`17`,height:`16`,rx:`2`}),(0,Z.jsx)(`path`,{d:`M9 4v16`})]})}),(0,Z.jsx)(`button`,{className:`mint-titlebar-icon-button`,type:`button`,"aria-label":`Go back`,title:`Go back`,disabled:window.history.length<=1,onClick:()=>window.history.back(),children:(0,Z.jsx)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":`true`,children:(0,Z.jsx)(`path`,{d:`m14.5 5-7 7 7 7M8 12h12`})})}),(0,Z.jsx)(`button`,{className:`mint-titlebar-icon-button`,type:`button`,"aria-label":`Go forward`,title:`Go forward`,onClick:()=>window.history.forward(),children:(0,Z.jsx)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":`true`,children:(0,Z.jsx)(`path`,{d:`m9.5 5 7 7-7 7M16 12H4`})})}),(0,Z.jsx)(`span`,{className:`mint-titlebar-divider`,"aria-hidden":`true`}),(0,Z.jsx)(`nav`,{className:`mint-titlebar-menus`,"aria-label":`Application menu`,children:mi.map(e=>(0,Z.jsxs)(`div`,{className:`mint-titlebar-menu-wrap`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`mint-titlebar-menu-button${v===e?` is-open`:``}`,"aria-haspopup":`menu`,"aria-expanded":v===e,onClick:()=>y(t=>t===e?null:e),children:e}),v===e&&(0,Z.jsx)(`div`,{className:`mint-titlebar-menu`,role:`menu`,children:me[e].map(e=>(0,Z.jsxs)(`button`,{type:`button`,role:`menuitem`,disabled:e.disabled,onClick:()=>pe(e.action),children:[(0,Z.jsx)(`span`,{children:e.label}),e.shortcut&&(0,Z.jsx)(`kbd`,{children:e.shortcut})]},e.label))})]},e))})]}),(0,Z.jsx)(`div`,{className:`mint-titlebar-drag-region`,"data-tauri-drag-region":!0,"aria-hidden":`true`,onDoubleClick:oe}),(0,Z.jsx)(li,{workspacePath:p,terminalCount:m,sourceNames:h,recentChanges:g,onOpenWorkspace:r,onOpenReview:_,onRefreshWorkspace:ee}),(0,Z.jsx)(`button`,{type:`button`,className:`mint-titlebar-icon-button mint-tools-panel-toggle${s?` is-open`:``}`,"aria-label":s?`Close tools panel`:`Open tools panel`,"aria-pressed":s,title:s?`Close tools panel`:`Open tools panel`,onClick:l,children:(0,Z.jsxs)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":`true`,children:[(0,Z.jsx)(`rect`,{x:`3`,y:`4`,width:`18`,height:`16`,rx:`2`}),(0,Z.jsx)(`path`,{d:`M15 4v16M18 8h1M18 12h1M18 16h1`})]})}),(0,Z.jsxs)(`div`,{className:`mint-titlebar-window-controls`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`mint-window-control`,"aria-label":`Minimize window`,title:`Minimize`,onClick:ae,children:(0,Z.jsx)(`svg`,{viewBox:`0 0 12 12`,"aria-hidden":`true`,children:(0,Z.jsx)(`path`,{d:`M2 6h8`})})}),(0,Z.jsx)(`button`,{type:`button`,className:`mint-window-control`,"aria-label":b?`Restore window`:`Maximize window`,title:b?`Restore`:`Maximize`,onClick:oe,children:(0,Z.jsx)(`svg`,{viewBox:`0 0 12 12`,"aria-hidden":`true`,children:b?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`path`,{d:`M4 2.5h5.5V8`}),(0,Z.jsx)(`path`,{d:`M8 4H2.5v5.5H8z`})]}):(0,Z.jsx)(`rect`,{x:`2.5`,y:`2.5`,width:`7`,height:`7`,rx:`0.7`})})}),(0,Z.jsx)(`button`,{type:`button`,className:`mint-window-control is-close`,"aria-label":`Close window`,title:`Close`,onClick:()=>window.api.closeWindow(),children:(0,Z.jsx)(`svg`,{viewBox:`0 0 12 12`,"aria-hidden":`true`,children:(0,Z.jsx)(`path`,{d:`m3 3 6 6m0-6L3 9`})})})]})]}),T&&(0,Z.jsx)(`div`,{className:`mint-shortcuts-backdrop`,role:`presentation`,onMouseDown:()=>E(!1),children:(0,Z.jsxs)(`section`,{className:`mint-shortcuts-dialog`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`mint-shortcuts-title`,onMouseDown:e=>e.stopPropagation(),children:[(0,Z.jsxs)(`header`,{children:[(0,Z.jsx)(`h2`,{id:`mint-shortcuts-title`,children:`Keyboard shortcuts`}),(0,Z.jsx)(`button`,{type:`button`,"aria-label":`Close shortcuts`,onClick:()=>E(!1),children:`×`})]}),(0,Z.jsxs)(`dl`,{children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`dt`,{children:`New chat`}),(0,Z.jsx)(`dd`,{children:(0,Z.jsx)(`kbd`,{children:`Ctrl+N`})})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`dt`,{children:`Open workspace`}),(0,Z.jsx)(`dd`,{children:(0,Z.jsx)(`kbd`,{children:`Ctrl+O`})})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`dt`,{children:`Toggle sidebar`}),(0,Z.jsx)(`dd`,{children:(0,Z.jsx)(`kbd`,{children:`Ctrl+B`})})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`dt`,{children:`Toggle terminal`}),(0,Z.jsx)(`dd`,{children:(0,Z.jsx)(`kbd`,{children:"Ctrl+`"})})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`dt`,{children:`Open Browser panel`}),(0,Z.jsx)(`dd`,{children:(0,Z.jsx)(`kbd`,{children:`Ctrl+Shift+B`})})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`dt`,{children:`Settings`}),(0,Z.jsx)(`dd`,{children:(0,Z.jsx)(`kbd`,{children:`Ctrl+,`})})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`dt`,{children:`Zoom`}),(0,Z.jsxs)(`dd`,{children:[(0,Z.jsx)(`kbd`,{children:`Ctrl++`}),` `,(0,Z.jsx)(`kbd`,{children:`Ctrl+-`}),` `,(0,Z.jsx)(`kbd`,{children:`Ctrl+0`})]})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`dt`,{children:`Fullscreen`}),(0,Z.jsx)(`dd`,{children:(0,Z.jsx)(`kbd`,{children:`F11`})})]})]})]})}),(0,Z.jsx)(`div`,{className:`mint-window-resize-handles`,"aria-hidden":`true`,children:hi.map(e=>(0,Z.jsx)(`span`,{className:`mint-window-resize-handle is-${e.toLowerCase()}`,onMouseDown:t=>{t.preventDefault(),t.stopPropagation(),fe(e)}},e))})]})}var pi,Z,mi,hi,gi=t((()=>{pi=e(l()),di(),Z=p(),s(),mi=[`File`,`Edit`,`View`,`Help`],hi=[`NorthWest`,`North`,`NorthEast`,`West`,`East`,`SouthWest`,`South`,`SouthEast`]}));function _i(e){let t=e.trim();if(!t.startsWith(`/`))return null;let n=t.search(/\s/);return n===-1?{command:t.toLowerCase(),rest:``}:{command:t.slice(0,n).toLowerCase(),rest:t.slice(n).trim()}}function vi(e){let t=_i(e);if(!t)return{handled:!1};let{command:n,rest:r}=t;switch(n){case`/image`:return{handled:!0,action:`open_image_picker`,payload:{pathOrPrompt:r}};case`/paste`:return{handled:!0,action:`paste_image`,payload:{prompt:r}};case`/resume`:return{handled:!0,action:`resume_session`,payload:{query:r}};case`/veo`:return r?{handled:!0,action:`generate_veo`,payload:{prompt:r}}:{handled:!0,action:`system_message`,systemText:"⚠️ Usage: `/veo <prompt>`"};case`/n8n`:return{handled:!0,action:`system_message`,systemText:`🔗 **n8n** runs at http://localhost:5678 — open it in a browser tab. Wire it as an MCP server (Settings > Plugins) to drive workflows from chat.`};case`/notebook`:return{handled:!0,action:`system_message`,systemText:"📓 **SurfSense** runs at http://localhost:3929 — open it in a browser tab. Wire the `surfsense` MCP server (Settings > Plugins) to run tasks from chat."};case`/avatar`:return{handled:!0,action:`system_message`,systemText:"🧍 **Project Avatar** — the desktop app renders the live companion automatically. Use the CLI `/avatar link` to pair an external viewer."};default:return{handled:!1}}}var yi=t((()=>{}));async function bi(){if(!navigator.mediaDevices?.getDisplayMedia)throw Error(`Screen sharing is unavailable in this browser. Use a supported desktop browser or attach an image file.`);let e=await navigator.mediaDevices.getDisplayMedia({video:!0,audio:!1});try{await new Promise(e=>requestAnimationFrame(()=>requestAnimationFrame(()=>e())));let t=document.createElement(`video`);if(t.srcObject=e,t.muted=!0,t.playsInline=!0,await new Promise((e,n)=>{let r=window.setTimeout(()=>n(Error(`The screen share did not produce a frame. Please try again.`)),8e3);t.addEventListener(`loadeddata`,()=>{window.clearTimeout(r),e()},{once:!0}),t.addEventListener(`error`,()=>{window.clearTimeout(r),n(Error(`Unable to read the shared screen.`))},{once:!0}),t.play().catch(e=>{window.clearTimeout(r),n(e)})}),!t.videoWidth||!t.videoHeight)throw Error(`The selected screen has no image.`);let n=document.createElement(`canvas`);n.width=t.videoWidth,n.height=t.videoHeight;let r=n.getContext(`2d`);if(!r)throw Error(`Unable to prepare the screenshot.`);return r.drawImage(t,0,0),n.toDataURL(`image/png`)}finally{e.getTracks().forEach(e=>e.stop())}}async function xi(){let{invoke:e}=await c(async()=>{let{invoke:e}=await import(`./core-hQ2VA9Ti.js`).then(e=>(e.i(),e.r));return{invoke:e}},__vite__mapDeps([2,1]));return e(`capture_chat_screen`)}async function Si(e){return e&&navigator.userAgent.toLowerCase().includes(`linux`)?xi():bi()}var Ci=t((()=>{s()}));function wi(e={}){return{workspacePath:``,message:``,imageAttachments:[],videoAttachments:[],documentAttachment:null,sending:!1,sendingMessage:``,sendingImageCount:0,sendingVideoCount:0,streamedReply:``,streamedResponse:null,agentProgress:[],pendingApproval:null,...e}}function Ti(e,t){switch(t.type){case`compose`:return{...e,message:t.message};case`workspace_selected`:return{...e,workspacePath:t.path};case`image_attached`:return e.imageAttachments.some(e=>e.name===t.image.name&&e.dataUri===t.image.dataUri)?e:{...e,imageAttachments:[...e.imageAttachments,t.image]};case`image_removed`:return{...e,imageAttachments:e.imageAttachments.filter((e,n)=>n!==t.index)};case`video_attached`:return e.videoAttachments.some(e=>e.name===t.video.name&&e.dataUri===t.video.dataUri)?e:{...e,videoAttachments:[...e.videoAttachments,t.video]};case`video_removed`:return{...e,videoAttachments:e.videoAttachments.filter((e,n)=>n!==t.index)};case`document_attached`:return{...e,documentAttachment:t.document};case`composer_cleared`:return{...e,message:``,imageAttachments:[],videoAttachments:[],documentAttachment:null};case`run_started`:return{...e,sending:!0,sendingMessage:t.message,sendingImageCount:t.imageCount,sendingVideoCount:t.videoCount,streamedReply:``,streamedResponse:null,agentProgress:[]};case`chunk_received`:return{...e,streamedReply:e.streamedReply+t.chunk};case`response_received`:return{...e,streamedResponse:t.response};case`progress_received`:return{...e,agentProgress:Lt(e.agentProgress,t.progress)};case`progress_cleared`:return{...e,agentProgress:[]};case`stream_cleared`:return{...e,streamedReply:``,streamedResponse:null};case`approval_requested`:return{...e,pendingApproval:t.approval};case`approval_resolved`:return{...e,pendingApproval:null};case`run_finished`:return{...e,sending:!1,sendingMessage:``,sendingImageCount:0,sendingVideoCount:0};case`run_cancelled`:return{...e,sending:!1,sendingMessage:``,sendingImageCount:0,sendingVideoCount:0,streamedReply:``,streamedResponse:null,agentProgress:[],pendingApproval:null};case`session_switched`:return{...e,message:t.draft,imageAttachments:[],videoAttachments:[],documentAttachment:null,sending:!1,sendingMessage:``,sendingImageCount:0,sendingVideoCount:0,streamedReply:``,streamedResponse:null,agentProgress:[],pendingApproval:null}}}var Ei=t((()=>{Ht()}));function Di(e,t){let[n,r]=(0,Oi.useReducer)(Ti,e,wi),i=(0,Oi.useMemo)(()=>({compose:e=>r({type:`compose`,message:e}),selectWorkspace:e=>r({type:`workspace_selected`,path:e}),attachImage:e=>r({type:`image_attached`,image:e}),removeImage:e=>r({type:`image_removed`,index:e}),attachVideo:e=>r({type:`video_attached`,video:e}),removeVideo:e=>r({type:`video_removed`,index:e}),attachDocument:e=>r({type:`document_attached`,document:e}),startRun:(e,t=0,n=0)=>r({type:`run_started`,message:e,imageCount:t,videoCount:n}),receiveChunk:e=>r({type:`chunk_received`,chunk:e}),receiveProgress:e=>r({type:`progress_received`,progress:e}),clearProgress:()=>r({type:`progress_cleared`}),clearStream:()=>r({type:`stream_cleared`}),requestApproval:e=>r({type:`approval_requested`,approval:e}),finishRun:()=>r({type:`run_finished`}),cancelRun:()=>r({type:`run_cancelled`}),clearComposer:()=>r({type:`composer_cleared`}),switchSession:(e=``)=>r({type:`session_switched`,draft:e}),executeStream:async(e,t=()=>!0)=>{let n=await e(()=>{});return t()&&(r({type:`chunk_received`,chunk:n.text}),r({type:`response_received`,response:n})),n},executeApproval:async e=>{try{await e()}finally{r({type:`approval_resolved`})}},executeCancellation:async e=>{try{await e()}finally{r({type:`run_cancelled`})}}}),[]),a=(0,Oi.useRef)(t.conversationId);return(0,Oi.useEffect)(()=>{if(a.current===t.conversationId)return;a.current=t.conversationId;let e=``;try{e=window.localStorage.getItem(`${t.draftKeyPrefix}${t.conversationId}`)||``}catch{}i.switchSession(e)},[i,t.conversationId,t.draftKeyPrefix]),(0,Oi.useEffect)(()=>{let e=window.setTimeout(()=>{try{let e=`${t.draftKeyPrefix}${t.conversationId}`;n.message?window.localStorage.setItem(e,n.message):window.localStorage.removeItem(e)}catch{}},300);return()=>window.clearTimeout(e)},[n.message,t.conversationId,t.draftKeyPrefix]),(0,Oi.useEffect)(()=>{try{n.workspacePath?window.localStorage.setItem(t.workspaceStorageKey,n.workspacePath):window.localStorage.removeItem(t.workspaceStorageKey)}catch{}},[n.workspacePath,t.workspaceStorageKey]),{conversation:n,actions:i}}var Oi,ki=t((()=>{Oi=e(l()),Ei()}));function Ai(e){return{modelVisible:!1,scale:1,interactionEnabled:!1,showInteractionGuide:!1,isLocked:!1,layoutPreset:`chat-wide`,expressionIndex:0,accessoryIndex:0,modelReady:!0,proactiveSuggestion:null,setScale:void 0,setIsLocked:void 0,setExpressionIndex:void 0,setAccessoryIndex:void 0,setModelReady:void 0,toggleModel:void 0,changeLayoutPreset:void 0,updateInteractionEnabled:void 0,updateInteractionGuide:void 0,dismissProactiveSuggestion:void 0,handleProactiveAction:void 0}}var ji=t((()=>{}));function Mi(){if(typeof window>`u`)return[];try{let e=JSON.parse(window.localStorage.getItem(La)||`[]`);return Array.isArray(e)?[...new Set(e.filter(e=>typeof e==`string`&&!!e.trim()))].slice(0,Ra):[]}catch{return[]}}function Ni(){if(!(typeof window>`u`))try{window.localStorage.setItem(Ba,Date.now().toString())}catch{}}function Pi(){if(typeof window>`u`||!da())return!1;let e=window.localStorage.getItem(Ba);if(!e)return!1;let t=parseInt(e,10);if(isNaN(t)||t<=0)return!1;let n=Date.now(),r=n-t;return r<0||r>Va?!1:new Date(t).toDateString()===new Date(n).toDateString()}function Fi(e){if(!e)return``;try{return window.localStorage.getItem(`${Ha}${e}`)||``}catch{return``}}function Ii(){let e=Math.random().toString(36).slice(2,10);return`conversation-${Date.now().toString(36)}-${e}`}function Li(){if(typeof window>`u`)return null;let e=window.location.pathname||``,t=(window.location.hash||``).replace(/^#/,``),n=e||t,r=n.match(/^\/chat\/(.+)$/i)||n.match(/^\/c\/(.+)$/i);return r&&r[1]?decodeURIComponent(r[1]):new URLSearchParams(window.location.search).get(`id`)||null}function Ri(){if(typeof window>`u`)return!0;let e=(window.location.pathname||``).replace(/\/+$/,``),t=(window.location.hash||``).replace(/^#\/?/,``).replace(/\/+$/,``),n=(e||t).toLowerCase();return Li()||n.includes(`skills`)||n.includes(`mcp`)||n.includes(`plugins`)||n.includes(`picture`)||n.includes(`image-studio`)||n.includes(`imagine`)||n.includes(`veo-studio`)||n.includes(`veo`)||n.includes(`code`)||n===`/cli`||n===`cli`||n.includes(`cli-sessions`)||n.includes(`settings`)?!1:!n||n===``||n===`/chat`||n===`chat`||n===`/index.html`||n===`index.html`}function zi(){let e=Li();if(e)return window.localStorage.setItem(za,e),Ni(),e;if(da()&&Pi()){let e=window.localStorage.getItem(za);if(e)return Ni(),e===`conversation-default`?`cli`:e}if(Ri()){let e=Ii();return Ni(),e}let t=window.localStorage.getItem(za);if(t===`conversation-default`)return window.localStorage.setItem(za,`cli`),Ni(),`cli`;if(t)return Ni(),t;let n=Ii();return Ni(),n}function Bi(){return(0,$.jsx)(`div`,{className:`auth-gate-loading`,style:{minHeight:160},children:`Loading panel…`})}function Vi(){if(typeof window>`u`)return`chat`;let e=(window.location.hash||``).toLowerCase().replace(/^#/,``),t=(window.location.pathname||``).toLowerCase(),n=e||t;return n.includes(`skills`)?`skills`:n.includes(`mcp`)?`mcp`:n.includes(`plugins`)?`plugins`:n.includes(`picture`)?`pictures`:n.includes(`image-studio`)||n.includes(`imagine`)?`imagine`:n.includes(`veo-studio`)||n.includes(`veo`)?`veo`:n.includes(`code`)||n===`/cli`||n===`cli`||n.includes(`cli-sessions`)?`code`:`chat`}function Hi(e,t){return e===`skills`?`/skills`:e===`mcp`?`/mcp`:e===`plugins`?`/plugins`:e===`pictures`?`/pictures`:e===`imagine`?`/image-studio`:e===`veo`||e===`veo_studio`?`/veo-studio`:e===`code`?`/code`:e===`settings`?`/settings`:t?`/chat/${encodeURIComponent(t)}`:`/chat`}function Ui(e,t=120){let n=e.replace(/\s+/g,` `).trim();return n.length>t?`${n.slice(0,t)}…`:n}function Wi(e){let t=Object.entries(e?.approval??{})[0],n=t?.[0],r=t?.[1];switch(n){case`WriteFile`:return`Write to ${r?.path}?`;case`ApplyPatch`:return`Edit ${r?.path}?`;case`RunShell`:return`Run: ${r?.command}`;case`NoteWrite`:return`Save note to ${r?.path}?`;case`RunPlugin`:return`Run plugin: ${r?.name}?`;case`McpTool`:return`Use ${r?.tool} on ${r?.server}?`;case`UserApproval`:return r?.title??`Approval needed`;case`AskUser`:return r?.question??`Mint has a question`;case`ExitPlanMode`:case`EnterPlanMode`:return`Plan mode change needs approval`;default:return`Mint needs your approval to continue`}}function Gi(e){(document.hidden||!document.hasFocus())&&window.api?.notifyAiResponse?.(Ui(Wi(e)))}function Ki(){let e=da(),[t,n]=(0,Q.useState)(Vi),[r,i]=(0,Q.useState)(zi),{conversation:a,actions:o}=Di({workspacePath:window.localStorage.getItem(Ia)||``,message:Fi(r)},{conversationId:r,draftKeyPrefix:Ha,workspaceStorageKey:Ia}),{workspacePath:s,message:l,imageAttachments:u,videoAttachments:d,documentAttachment:f,sending:p,sendingMessage:m,sendingImageCount:h,sendingVideoCount:g,streamedReply:_,streamedResponse:ee,agentProgress:v}=a,y=(0,Q.useRef)(r),b=(0,Q.useRef)(0),x=(0,Q.useRef)(0),S=(0,Q.useRef)(null),C=(0,Q.useRef)(0),[w,te]=(0,Q.useState)({}),T=(0,Q.useRef)(null),E=(e,t)=>Ut({chatId:e,generation:t},{chatId:y.current,generation:b.current}),ne=e=>{y.current!==e&&(y.current=e,b.current+=1,x.current+=1,S.current=null,O([]),Ce(!1),Pe({}),Oe(null),je(null)),i(e)};async function re(e,t){let n=++C.current,r=await Xi(e,null,50);if(!E(e,t)||n!==C.current)return;let i=S.current;i?.chatId===e&&i.cursor>r.cursor||(S.current={chatId:e,cursor:r.cursor},O(i=>!E(e,t)||n!==C.current||S.current?.chatId===e&&S.current.cursor>r.cursor?i:r.interactions),Ce(i=>!E(e,t)||n!==C.current||S.current?.chatId===e&&S.current.cursor>r.cursor?i:r.hasOlder),Pe(i=>!E(e,t)||n!==C.current||S.current?.chatId===e&&S.current.cursor>r.cursor?i:zt(i,r.interactions)))}let[ie,ae]=(0,Q.useState)(!1),[oe,se]=(0,Q.useState)(!1);(0,Q.useEffect)(()=>{if(!ie)return;let e=e=>{e.key===`Escape`&&ae(!1)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[ie]);let[ce,le]=(0,Q.useState)(0),[de,fe]=(0,Q.useState)(Mi);(0,Q.useEffect)(()=>{let e=s.trim();if(!e)return;let t=[e,...Mi().filter(t=>t!==e)].slice(0,Ra);try{window.localStorage.setItem(La,JSON.stringify(t))}catch{}fe(t)},[s]);let pe=(e,t)=>{ae(!1),n(n=>{let i=typeof e==`function`?e(n):e;if(i===`settings`)return window.api?.openSettings?window.api.openSettings():window.location.pathname!==`/settings`&&window.history.pushState({},``,`/settings`),n;let a=i===`veo_studio`?`veo`:i,o=Hi(a,t||r);return typeof window<`u`&&window.location.pathname!==o&&window.history.pushState({},``,o),a})};(0,Q.useEffect)(()=>{let e=()=>{(window.location.hash===`#`||window.location.hash===`#/`)&&window.history.replaceState({},``,window.location.pathname+window.location.search);let e=(window.location.pathname||``).toLowerCase(),t=(window.location.hash||``).toLowerCase();if(e.includes(`/settings`)||t.includes(`/settings`))return;n(Vi());let i=Li();if(i&&i!==r){window.localStorage.setItem(za,i),ne(i);let e=b.current;re(i,e).catch(e=>{console.error(`Failed to load conversation history:`,e)})}else !i&&Ri()&&(ne(Ii()),O([]),Pe({}),o.switchSession())};return window.addEventListener(`popstate`,e),window.addEventListener(`hashchange`,e),()=>{window.removeEventListener(`popstate`,e),window.removeEventListener(`hashchange`,e)}},[r,s]),(0,Q.useEffect)(()=>{Ni();let e=()=>Ni();return window.addEventListener(`beforeunload`,e),document.addEventListener(`visibilitychange`,e),window.addEventListener(`focus`,e),()=>{window.removeEventListener(`beforeunload`,e),document.removeEventListener(`visibilitychange`,e),window.removeEventListener(`focus`,e)}},[]);let[me,he]=(0,Q.useState)(null),[ge,ve]=(0,Q.useState)(``),[ye,O]=(0,Q.useState)([]),[xe,Ce]=(0,Q.useState)(!1),[we,Te]=(0,Q.useState)([]),[Ee,Oe]=(0,Q.useState)(null),[ke,je]=(0,Q.useState)(null),[Ne,Pe]=(0,Q.useState)({}),[Fe,Ie]=(0,Q.useState)({}),Le=(0,Q.useRef)(!0),Re=(0,Q.useRef)(!0),[ze,Be]=(0,Q.useState)(!1),Ve=(0,Q.useRef)(!1),[He,Ue]=(0,Q.useState)(()=>window.localStorage.getItem(`mint:sidebar-collapsed`)===`true`),[We,Ge]=(0,Q.useState)([]),[Ke,qe]=(0,Q.useState)(null),[Je,Ye]=(0,Q.useState)(!1),[Xe,Ze]=(0,Q.useState)(()=>{let e=Number(window.localStorage.getItem(`mint:terminal-right-width`));return e>=280&&e<=900?e:440}),Qe=(0,Q.useRef)(null),[$e,et]=(0,Q.useState)(()=>{let e=Number(window.localStorage.getItem(`mint:sidebar-width`));return e>=Wa&&e<=Ga?e:Ua}),tt=Bt(v),nt=Vt([...ye.map(e=>Bt(Ne[String(e.id)]??e.agentActivity??[])),Bt(v)]),rt=[...u.map(e=>e.name),...d.map(e=>e.name),f?.filename||``],[it,at]=(0,Q.useState)(()=>window.localStorage.getItem(`mint:agent-mode`)===`true`),[ot,st]=(0,Q.useState)(()=>window.localStorage.getItem(`mint:plan-mode`)===`true`),[ct,lt]=(0,Q.useState)(``),[ut,dt]=(0,Q.useState)(!1),[ft,pt]=(0,Q.useState)(!1),[mt,ht]=(0,Q.useState)(null),[gt,_t]=(0,Q.useState)([]),vt=(0,Q.useRef)(null),yt=(0,Q.useRef)(0),{modelVisible:bt,scale:xt,interactionEnabled:St,showInteractionGuide:Ct,isLocked:wt,layoutPreset:Tt,expressionIndex:Et,accessoryIndex:Dt,modelReady:Ot,proactiveSuggestion:kt,setScale:At,setIsLocked:jt,setExpressionIndex:Mt,setAccessoryIndex:Nt,setModelReady:Pt,toggleModel:Ft,changeLayoutPreset:It,updateInteractionEnabled:Lt,updateInteractionGuide:Ht,dismissProactiveSuggestion:Gt,handleProactiveAction:Kt}=Ai(e=>ve(e)),A=ut&&Ot||ft,[qt,Jt]=(0,Q.useState)(``),[Yt,Xt]=(0,Q.useState)(``),[Zt,Qt]=(0,Q.useState)(``),[$t,en]=(0,Q.useState)(``),[tn,nn]=(0,Q.useState)(``),rn=async(e,t)=>{let n={...mt||Ae,[e]:t};if(ht(n),window.settingsApi)await window.settingsApi.saveSettings(n);else try{await ba(`user-settings`,JSON.stringify(n))}catch(e){console.error(`Failed to save settings field:`,e)}},an=async e=>{if(!qt.trim()||!Yt.trim()){alert(`Please provide at least a server name and command.`);return}let t={};if($t.trim())try{t=JSON.parse($t)}catch{alert(`Invalid JSON in Environment variable field.`);return}let n=qt.trim(),r=Zt.split(/\s+/).filter(Boolean),i=mt||Ae,a={...i,mcpServers:{...i?.mcpServers,[n]:{command:Yt.trim(),args:r,env:t,icon:tn.trim()||void 0}}};if(e&&(a.allowedMcpTools={...i?.allowedMcpTools||{},[n]:[`*`]}),ht(a),window.settingsApi)await window.settingsApi.saveSettings(a);else try{await ba(`user-settings`,JSON.stringify(a))}catch(e){console.error(`Failed to save settings field:`,e)}Jt(``),Xt(``),Qt(``),en(``),nn(``)},on=async e=>{let t={...(mt||Ae)?.mcpServers||{}};delete t[e],await rn(`mcpServers`,t)},sn=e=>{},[j,M]=(0,Q.useState)(!1),[cn,ln]=(0,Q.useState)(null),[un,dn]=(0,Q.useState)(``);(0,Q.useEffect)(()=>{function e(e){(e.ctrlKey||e.metaKey)&&e.key===`k`?(e.preventDefault(),M(e=>!e)):e.key===`Escape`&&M(!1)}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]),(0,Q.useEffect)(()=>{j||dn(``)},[j]);let fn=(0,Q.useRef)(ye),pn=(0,Q.useRef)(null);(0,Q.useEffect)(()=>{fn.current=ye},[ye]),(0,Q.useEffect)(()=>{ye.length===0&&Ce(!1)},[ye.length]),(0,Q.useEffect)(()=>{if(t!==`chat`||!r)return;let e=!1,n=b.current,i=()=>!e&&E(r,n),a=async()=>{if(!i()||document.visibilityState!==`visible`||pn.current?.chatId===r&&pn.current.generation===n)return;let e={chatId:r,generation:n};pn.current=e;try{if(S.current?.chatId!==r){await re(r,n);return}let e=S.current.cursor,t=!1;for(let n=0;n<10;n++){let n=await Zi(r,e,100);if(!i()||S.current?.chatId===r&&S.current.cursor>n.cursor)return;if(e=n.cursor,n.changes.length>0&&(t=!0,O(e=>{if(!i()||S.current?.chatId===r&&S.current.cursor>n.cursor)return e;let t=new Map(e.map(e=>[e.id,e]));for(let e of n.changes)e.interaction?t.set(e.interactionId,e.interaction):t.delete(e.interactionId);return Array.from(t.values()).sort((e,t)=>e.id-t.id)}),Pe(e=>{if(!i()||S.current?.chatId===r&&S.current.cursor>n.cursor)return e;let t={...e};for(let e of n.changes){let n=String(e.interactionId);e.interaction?e.interaction.agentActivity&&Array.isArray(e.interaction.agentActivity)&&(t[n]=e.interaction.agentActivity):delete t[n]}return t})),!n.hasMore)break}if(S.current?.chatId===r&&S.current.cursor>e)return;if(S.current={chatId:r,cursor:e},t){let e=await $i();i()&&_t(e)}}catch{}finally{pn.current===e&&(pn.current=null)}},o=()=>{a()};o(),window.addEventListener(`focus`,o),document.addEventListener(`visibilitychange`,o);let s=window.setInterval(o,1500);return()=>{e=!0,window.clearInterval(s),window.removeEventListener(`focus`,o),document.removeEventListener(`visibilitychange`,o)}},[t,r,s]),(e=>{let t={};return e.forEach(e=>{let n=e.updatedAt||e.createdAt;if(!n){let n=`Other`;t[n]||(t[n]=[]),t[n].push(e);return}let r=ue(n),i=new Date,a=new Date;a.setDate(i.getDate()-1);let o=``;if(r.toDateString()===i.toDateString())o=`Today`;else if(r.toDateString()===a.toDateString())o=`Yesterday`;else{let e=Math.abs(i.getTime()-r.getTime()),t=Math.ceil(e/(1e3*60*60*24));o=t<=7?`Previous 7 days`:t<=30?`Previous 30 days`:r.toLocaleDateString(`en-US`,{month:`long`,year:`numeric`})}t[o]||(t[o]=[]),t[o].push(e)}),t})(gt.filter(e=>e.kind===`cli`||e.id===`conversation-default`?!1:e.title.toLowerCase().includes(un.toLowerCase())));async function mn(){let e=r,t=b.current;await re(e,t)}let hn=(0,Q.useCallback)(async()=>{try{let e=await $i();_t(t=>t.length===e.length&&t.every((t,n)=>t.id===e[n]?.id&&t.updatedAt===e[n]?.updatedAt&&t.title===e[n]?.title&&t.messageCount===e[n]?.messageCount&&t.totalBytes===e[n]?.totalBytes)?t:e)}catch(e){console.error(`Failed to refresh chat sessions:`,e)}},[]);(0,Q.useEffect)(()=>{let e=()=>{document.visibilityState===`visible`&&hn()},t=window.setInterval(e,5e3);return window.addEventListener(`focus`,e),document.addEventListener(`visibilitychange`,e),()=>{window.clearInterval(t),window.removeEventListener(`focus`,e),document.removeEventListener(`visibilitychange`,e)}},[hn]);let gn=(0,Q.useCallback)(async()=>{let e=b.current,t=fn.current[0]?.id;if(t==null)return;let n=await Xi(r,t,50);E(r,e)&&(Ce(n.hasOlder),n.interactions.length!==0&&O(t=>{if(!E(r,e))return t;let i=new Map([...n.interactions,...t].map(e=>[e.id,e]));return Array.from(i.values()).sort((e,t)=>e.id-t.id)}))},[r]),_n=(0,Q.useCallback)(async(e,t)=>{try{await ea(e,t),await hn()}catch(e){console.error(`Failed to update session workspace:`,e)}},[hn]),vn=(0,Q.useCallback)(async()=>{try{return await la()||null}catch{return null}},[]),[yn,bn]=(0,Q.useState)(!1);async function xn(){bn(!0);try{Te(await fa())}finally{bn(!1)}}(0,Q.useEffect)(()=>{Promise.allSettled([sa().then(he),mn(),hn(),window.settingsApi?.getSettings().then(e=>{let t=_e(e);ht(t),k({...Ae,...t})})]).then(e=>{let t=e.find(e=>e.status===`rejected`);t?.status===`rejected`&&ve(D(t.reason)),dt(!0)});let e=window.api.onSpotlightToChat(e=>{pe(`chat`),o.compose(e)}),t=window.api.onVisionReady(e=>{De(e).catch(()=>e).then(t=>{o.attachImage({dataUri:e,previewDataUri:t,name:`Screen capture`})})}),n=()=>{sa().then(he).catch(()=>{}),window.settingsApi?.getSettings?.().then(e=>{if(e){let t=_e(e);ht(t),k(t)}}).catch(()=>{}),window.api?.clearAiNotifications?.()};window.addEventListener(`focus`,n),window.api?.onSettingsChanged?.(e=>{let t=_e(e);ht(t),k(t),sa().then(he).catch(()=>{})});let r=aa(`tool-approval-requested`,e=>{let t=e.payload.chatId;t&&(Ve.current&&T.current===t?ia(e.payload.token,!0).catch(e=>{console.error(`Auto approval failed:`,e)}):(te(n=>({...n,[t]:e.payload})),Gi(e.payload)))});return()=>{window.removeEventListener(`focus`,n),r?.then?.(e=>e?.()),e?.then?.(e=>e?.()),t?.then?.(e=>e?.())}},[]),(0,Q.useEffect)(()=>{let e=window.setTimeout(()=>pt(!0),1e4);return()=>window.clearTimeout(e)},[]),(0,Q.useEffect)(()=>{(t===`pictures`||t===`imagine`)&&xn().catch(e=>ve(D(e)))},[t]),(0,Q.useEffect)(()=>{t===`workspace`&&!it&&In(!0)},[t,it]);let Sn=e=>{lt(e),setTimeout(()=>lt(t=>t===e?``:t),3e3)},N=async t=>{if(!e){window.open(t,`_blank`,`noopener,noreferrer`);return}try{Sn(`Opening Co-browsing browser (Mint Auto)...`);let{invoke:e}=await c(async()=>{let{invoke:e}=await import(`./core-hQ2VA9Ti.js`).then(e=>(e.i(),e.r));return{invoke:e}},__vite__mapDeps([2,1]));await e(`open_mint_browser`,{url:t})}catch(e){Sn(`Could not open browser: ${String(e)}`)}},Cn=()=>{Ye(!0);let e=`terminal:${Date.now()}:${Math.random().toString(36).slice(2,7)}`;Ge(t=>{let n=t.filter(e=>e.kind===`terminal`).length,r=`terminal`;if(s&&s.trim()){let e=s.trim().replace(/[\\/]+$/,``).split(/[\\/]/).pop();e&&(r=e)}let i={id:e,kind:`terminal`,title:n===0?r:`${r} (${n+1})`};return qe(e),[...t,i]})},wn=(e=`https://www.google.com`)=>{N(e)},Tn=e=>{Ge(t=>{let n=t.find(t=>t.id===e);if(!n)return t;let r=`${n.kind}:${Date.now()}:${Math.random().toString(36).slice(2,7)}`,i={...n,id:r,title:`${n.title} copy`};return qe(r),[...t,i]})},En=e=>{let t=We.find(t=>t.id===e);if(!t)return;let n=window.prompt(`Rename tab`,t.title)?.trim();n&&Ge(t=>t.map(t=>t.id===e?{...t,title:n}:t))},P=e=>{Ge(t=>t.filter(t=>t.id===e)),qe(e)},Dn=()=>{Ge(e=>{let t=e.find(e=>e.kind===`terminal`);if(!t){let t=`terminal:${Date.now()}:${Math.random().toString(36).slice(2,7)}`;return qe(t),[...e,{id:t,kind:`terminal`,title:`Terminal`}]}return qe(e=>e===t.id?null:t.id),e})},On=async()=>{try{let e=await window.settingsApi.checkForUpdates();Sn(e?.available?`Mint ${e.version} is available.`:`Mint is up to date.`)}catch(e){Sn(`Could not check for updates: ${String(e)}`)}},kn=e=>{Ye(!0);let t=e.path.replace(/\\/g,`/`).split(`/`).pop()||e.path,n=`preview:${e.path}`;Ge(r=>[...r.filter(e=>e.id!==n),{id:n,kind:`preview`,title:t,artifact:e}]),qe(n)},An=e=>{Ye(!0),Ge(t=>[...t.filter(t=>t.id!==e.id),e]),qe(e.id)},jn=()=>{Ye(!0),Ge(e=>{let t=e.filter(e=>e.kind===`review`).length,n=`review:${Date.now()}:${Math.random().toString(36).slice(2,7)}`,r={id:n,kind:`review`,title:t===0?`Review`:`Review (${t+1})`,reviewTitle:`All conversation changes`,changes:nt};return qe(n),[...e,r]})},Mn=e=>{Ge(t=>{let n=t.findIndex(t=>t.id===e),r=t.filter(t=>t.id!==e);return qe(t=>t===e?r[Math.max(0,n-1)]?.id??null:t),r})},Nn=()=>{Ge([]),qe(null)},Pn=()=>{if(window.innerWidth<=760){ae(!1);return}let e=!He;window.localStorage.setItem(`mint:sidebar-collapsed`,String(e)),Ue(e),ae(!1)},F=e=>{et(Math.max(Ka,Math.min(Ga,e)))},Fn=e=>{if(e<Ka){et(Ua),window.localStorage.setItem(`mint:sidebar-width`,String(Ua)),window.localStorage.setItem(`mint:sidebar-collapsed`,`true`),Ue(!0);return}let t=Math.max(Wa,Math.min(Ga,e));et(t),window.localStorage.setItem(`mint:sidebar-width`,String(t))},In=e=>{window.localStorage.setItem(`mint:agent-mode`,String(e)),at(e)},Ln=e=>{window.localStorage.setItem(`mint:plan-mode`,String(e)),st(e)},I=e=>{let t=e.trim();o.selectWorkspace(t)};(0,Q.useEffect)(()=>{p||(Ve.current=!1,T.current=null,Be(!1))},[p]);async function Rn(e,t=!1,n){let i=r,a=w[i];if(a)try{t&&(Ve.current=!0,T.current=i,Be(!0)),await ia(a.token,e,n),te(e=>{if(e[i]?.token!==a.token)return e;let t={...e};return delete t[i],t})}catch(e){ve(D(e))}}async function zn(){if(!(!p||!Ee)){x.current+=1;try{await o.executeCancellation(()=>ra(Ee))}catch(e){console.error(`Failed to cancel message stream:`,e)}finally{te(e=>{let t={...e};return delete t[Ee],t}),Oe(null),je(null)}}}async function Bn(e,t={}){if(p)return;let n=r,i=s||null,a=b.current,c={chatId:n,sessionGeneration:a,runGeneration:++x.current},l=()=>Wt(c,{chatId:y.current,sessionGeneration:b.current,runGeneration:x.current}),u=null,d=t.imageAttachments??[],f=t.videoAttachments??[],m=t.documentAttachment??null,h=it||t.forceAgentMode||e.toLowerCase().startsWith(`search web:`),g=d.map(e=>e.dataUri).join(` `),_=f.map(e=>e.dataUri).join(` `),ee=d.length;o.startRun(e,ee,f.length),Oe(r),je(null),ve(``),Le.current=!0,Re.current=!0,Ie(e=>({...e,live:!0,"live-extended":!0}));let v=[],S=[],C=null,w=()=>{if(C&&=(clearTimeout(C),null),S.length===0)return;let e=S;S=[],l()&&o.receiveProgress(e)},E=e=>{S.push(e),e.type===`ThinkingDelta`?C||=setTimeout(w,75):w()};t.clearComposer&&o.clearComposer();try{let r=await o.executeStream(r=>na(h?e:`/chat ${e}`,r,g,t.audioDataUri??null,_,t.systemInstruction??``,e=>{v.push(e),E(e)},m,i,n,void 0,h?ot:!1,t.pinnedMcpServer??null,e=>{Ve.current&&T.current===n?ia(e.token,!0).catch(e=>{console.error(`Auto approval failed:`,e)}):(te(t=>({...t,[n]:e})),Gi(e))},e=>{u=e,l()&&je(e)}),l);w(),(document.hidden||!document.hasFocus())&&window.api?.notifyAiResponse?.(Ui(r.text));let s=Rt(v);if(s.length>0)if(u!=null){let e=String(u);await ta(u,s),l()&&(Pe(t=>({...t,[e]:s.slice()})),Ie(t=>({...t,...Le.current?{[e]:!0}:{},...Re.current?{[`extended-${e}`]:!0}:{}})))}else console.warn(`Agent activity was not saved because the stream did not provide a turn ID`);if(l())try{await re(n,a)}catch(e){console.error(`Failed to refresh completed conversation:`,e)}if(await hn(),await xn(),l()&&typeof window<`u`){let e=(window.location.pathname||``).replace(/\/+$/,``),t=(window.location.hash||``).replace(/^#\/?/,``).replace(/\/+$/,``),r=(e||t).toLowerCase();(!r||r===``||r===`/chat`||r===`chat`||r===`/index.html`||r===`index.html`)&&window.history.replaceState({},``,`/chat/${encodeURIComponent(n)}`)}sa().then(he).catch(()=>{}),l()&&o.clearStream()}catch(e){l()&&ve(D(e))}finally{w(),te(e=>{if(!e[n])return e;let t={...e};return delete t[n],t}),l()&&(o.finishRun(),Oe(null),je(null))}}async function Vn(e){e.preventDefault();let t=l.trim(),n=u,i=d,a=f,c=n.length>0||i.length>0||!!a;if(!t&&!c||p)return;if(t.startsWith(`/`)){let e=null;try{e=await Oa(t,s||null)}catch{e=null}if(e&&e.kind!==`not_handled`){o.clearComposer(),await $n(t,e);return}let n=vi(t);if(n.handled){if(o.clearComposer(),n.action===`open_image_picker`){document.getElementById(`vision-file-input`)?.click();return}else if(n.action===`paste_image`){oa().then(e=>{e&&o.attachImage({dataUri:e,name:`Clipboard Image`})}).catch(()=>{});return}else if(n.action===`generate_veo`){pe(`veo`);return}else if(n.action===`resume_session`){let e=(n.payload?.query||``).trim().toLowerCase(),i=e?gt.find(t=>t.id.toLowerCase()===e||t.id.toLowerCase().includes(e)||t.title.toLowerCase().includes(e)):gt.find(e=>e.id!==r);if(i){ne(i.id);let e=Hi(`chat`,i.id);window.history.replaceState({},``,e);let n={id:Date.now(),userText:t,aiText:`🔄 Resumed session: **${i.title}** (\`${i.id}\`)`,createdAt:new Date().toISOString(),provider:`system`,model:`mint-cli`};O(e=>[...e,n])}else{let n={id:Date.now(),userText:t,aiText:e?`⚠️ No matching session found for "${e}".`:`ℹ️ No other sessions found to resume.`,createdAt:new Date().toISOString(),provider:`system`,model:`mint-cli`};O(e=>[...e,n])}return}if(n.systemText){let e={id:Date.now(),userText:t,aiText:n.systemText,createdAt:new Date().toISOString(),provider:`system`,model:`mint-cli`};O(t=>[...t,e]),Qi(r,t,n.systemText||``,`system`,`mint-cli`).catch(()=>{})}return}}let m=t||(n.length>0?n.length>1?`Describe these images.`:`Describe this image.`:i.length>0?i.length>1?`Describe these videos.`:`Describe this video.`:`Summarize this document.`),h=Object.entries(mt?.mcpServers||{}).filter(([,e])=>e?.disabled!==!0).map(([e])=>e).find(e=>RegExp(`(^|\\s)@${e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}(\\s|$)`).test(t));await Bn(m,{imageAttachments:n,videoAttachments:i,documentAttachment:a,clearComposer:!0,pinnedMcpServer:h,forceAgentMode:!!h})}async function Hn(e,t){let n=e.trim()||`Voice message`;!n||p||await Bn(n,{audioDataUri:t,systemInstruction:t?`The user attached a voice message. Listen to the audio and reply naturally in the same language as the user. Do not mention transcription or this instruction.`:``})}async function Un(e){let t=e.target.files?.[0];if(t)try{let e=Se(t).objectUrl,n=await Me(t),r=await De(n).catch(()=>n);o.attachImage({dataUri:n,previewDataUri:r,objectUrl:e,name:t.name})}catch(e){ve(D(e))}finally{e.target.value=``}}async function Wn(e){let t=e.target.files?.[0];if(t)try{if(t.size>26214400){ve(`Video is too large. Maximum allowed is 25 MB.`);return}let e=await new Promise((e,n)=>{let r=new FileReader;r.onload=()=>e(r.result),r.onerror=n,r.readAsDataURL(t)});o.attachVideo({dataUri:e,name:t.name})}catch(e){ve(D(e))}finally{e.target.value=``}}function Gn(t){let n=null;if(t.files&&t.files.length>0)for(let e=0;e<t.files.length;e++){let r=t.files[e];if(r&&r.type.startsWith(`image/`)){n=r;break}}if(!n&&t.items&&t.items.length>0)for(let e=0;e<t.items.length;e++){let r=t.items[e];if(r&&r.type.startsWith(`image/`)){let e=r.getAsFile();if(e){n=e;break}}}if(!n){if(e){let e=Date.now();e-yt.current>100&&(yt.current=e,oa().then(e=>{e&&De(e).catch(()=>e).then(t=>{o.attachImage({dataUri:e,previewDataUri:t,name:`Pasted image`})})}).catch(e=>{console.warn(`Failed to read clipboard image via Tauri API:`,e)}))}return!1}return Me(n).then(e=>{let t=n.name&&n.name!==`image.png`?n.name:`Pasted image`;De(e).catch(()=>e).then(n=>{o.attachImage({dataUri:e,previewDataUri:n,name:t})})}).catch(e=>ve(D(e))),!0}async function Kn(e){let t=e.target.files?.[0];if(t)try{if(!wr(t.name))throw Error(`Unsupported document type`);o.attachDocument({filename:t.name,dataUri:await be(t)})}catch(e){ve(D(e))}finally{e.target.value=``}}function qn(){In(!0),o.compose(l.trim()?`Search web: ${l.trim()}`:`Search web: `)}async function Jn(e){try{let t=e||await la();t&&(I(t),pe(`workspace`))}catch(e){ve(D(e))}}function L(){se(!0)}async function Yn(){se(!1),await new Promise(e=>requestAnimationFrame(()=>requestAnimationFrame(()=>e())));try{await window.api.startVision()}catch(e){ve(D(e))}}function Xn(e){De(e).catch(()=>e).then(t=>{o.attachImage({dataUri:e,previewDataUri:t,name:`Screen capture`}),se(!1)})}async function Zn(e,t){let i=r,a=b.current;try{if(e===`New chat`){if(ne(Ii()),O([]),Pe({}),o.switchSession(),n(`chat`),t!==void 0)I(t||``);else{let e=gt.find(e=>e.id===r);!e||!e.workspacePath?I(``):I(e.workspacePath)}if(typeof window<`u`){let e=(window.location.pathname||``).replace(/\/+$/,``);e!==``&&e!==`/chat`&&window.history.pushState({},``,`/chat`)}return}else{if(!window.confirm(`${e} will clear the current conversation history. Continue?`))return;await qi(i)}if(!E(i,a))return;O([]),Pe({}),o.switchSession()}catch(e){ve(D(e))}}function Qn(e,t){let n={id:Date.now(),userText:e,aiText:t,createdAt:new Date().toISOString(),provider:`system`,model:`mint-cli`};O(e=>[...e,n]),Qi(r,e,t,`system`,`mint-cli`).catch(()=>{})}function R(e){switch(e){case`linked_folders`:return`link`;case`cron`:return`cron`;case`skills`:return`skills`;case`plugins`:return`plugins`;case`mcp`:return`mcp`;case`veo`:return`veo`;default:return`chat`}}async function $n(e,t){switch(t.kind){case`message`:Qn(e,t.markdown);break;case`applied`:{let n=t.effects.find(e=>e.kind===`workspace_changed`);n&&o.selectWorkspace(n.path);let i=t.effects.find(e=>e.kind===`plan_mode_changed`);i&&st(i.enabled);let a=t.effects.find(e=>e.kind===`provider_changed`);if(a&&O(e=>[...e,{id:Date.now(),userText:a.display,aiText:``,createdAt:new Date().toISOString(),provider:`system`,model:`provider_change`}]),t.effects.some(e=>e.kind===`history_cleared`)){let e=r,t=b.current;await qi(e).catch(()=>{}),E(e,t)&&O([])}t.markdown&&Qn(e,t.markdown),t.effects.some(e=>e.kind!==`history_cleared`&&e.kind!==`workspace_changed`)&&(window.settingsApi?.getSettings?.().then(e=>e&&ht(e)).catch(()=>{}),sa().then(he).catch(()=>{}));break}case`navigate`:t.markdown&&Qn(e,t.markdown),pe(R(t.target));break;case`forward_to_agent`:t.plan_mode&&st(!0),t.agent_mode&&at(!0),await Bn(t.prompt,{clearComposer:!0});break;case`needs_choice`:ln({command:t.command,title:t.title,options:t.options});break;case`exit`:break}}function er(e,t){e===`live`&&(Le.current=t),e===`live-extended`&&(Re.current=t),Ie(n=>({...n,[e]:t}))}async function tr(e){window.localStorage.setItem(za,e),Ni(),ne(e);let t=b.current;pe(`chat`,e),o.switchSession();let n=gt.find(t=>t.id===e);n&&(n.workspacePath?n.workspacePath!==s&&I(n.workspacePath):s&&I(``));try{await re(e,t)}catch(n){E(e,t)&&ve(D(n))}}let nr=(0,Q.useCallback)(e=>{Zn(`New chat`,e)},[]);async function rr(e){if(e===`cli`){if(!window.confirm(`Clear history for default CLI session? This cannot be undone.`))return;try{await qi(`cli`),await mn(),await hn(),Sn(`CLI session history cleared`)}catch(e){ve(D(e))}return}let t=gt.find(t=>t.id===e)?.title||`this chat`;if(window.confirm(`Delete "${t}"? This will remove the conversation and its messages.`))try{await Ji(e);let t=gt.filter(t=>t.id!==e&&t.kind!==`cli`&&!t.id.startsWith(`cli`)&&t.id!==`conversation-default`),n=y.current,r=e===n?t[0]?.id??Ii():n;if(r!==n){t.length>0&&t[0]?.id?(window.localStorage.setItem(za,r),typeof window<`u`&&window.history.replaceState({},``,`/chat/${encodeURIComponent(r)}`)):(window.localStorage.removeItem(za),typeof window<`u`&&window.history.replaceState({},``,`/chat`)),ne(r);let e=b.current;if(o.clearProgress(),await re(r,e),!E(r,e))return}if(await hn(),e!==n)return;o.switchSession()}catch(e){ve(D(e))}}async function z(e,t){if(t.trim())try{await Yi(e,t.trim()),await hn()}catch(e){ve(D(e))}}function ir(e,t){let n=e;if(e===`gemini`)n=`Gemini`;else if(e===`openai`)n=`OpenAI`;else if(e===`openrouter`)n=`OpenRouter`;else if(e===`deepseek`)n=`DeepSeek`;else if(e===`anthropic`)n=`Claude`;else if(e===`huggingface`)n=`HF`;else if(e===`local_openai`)n=`Local`;else if(e===`ollama`)n=`Ollama`;else if(e.startsWith(`custom:`)){let t=e.replace(/^custom:/,``);n=(mt?.customProviders??[]).find(e=>e.id===t)?.displayName||t}return n&&n===e&&(n=n.charAt(0).toUpperCase()+n.slice(1)),[n,t].filter(Boolean).join(` • `)}function ar(e,t){switch(t){case`gemini`:return e.geminiModel||`gemini-1.5-flash`;case`openai`:return e.openaiModel||`gpt-4o`;case`openrouter`:return e.openrouterModel||`anthropic/claude-3.5-sonnet`;case`deepseek`:return e.deepseekModel||`deepseek-chat`;case`anthropic`:return e.anthropicModel||`claude-3-5-sonnet-20240620`;case`huggingface`:return e.hfModel||`meta-llama/Meta-Llama-3-8B-Instruct`;case`local_openai`:return e.localModelName||`llama3`;case`ollama`:return e.ollamaModel||`llama3:latest`;default:if(t.startsWith(`custom:`)){let n=t.replace(/^custom:/,``),r=(e.customProviders??[]).find(e=>e.id===n);return(e.customModelSelections??{})[n]??r?.models[0]?.modelId??``}return``}}async function or(e){try{let t=await window.settingsApi.getSettings();if(t.aiProvider===e)return;t.aiProvider=e,await window.settingsApi.saveSettings(t),ht(t),he(await sa());let n=ir(e,ar(t,e));ye.length>0&&(await Qi(r,n,``,`system`,`provider_change`),await mn())}catch(e){ve(D(e))}}async function B(e){try{let t=await window.settingsApi.getSettings(),n=t.aiProvider;if(ar(t,n)===e)return;if(n===`gemini`)t.geminiModel=e;else if(n===`openai`)t.openaiModel=e;else if(n===`openrouter`)t.openrouterModel=e;else if(n===`deepseek`)t.deepseekModel=e;else if(n===`anthropic`)t.anthropicModel=e;else if(n===`huggingface`)t.hfModel=e;else if(n===`local_openai`)t.localModelName=e;else if(n===`ollama`)t.ollamaModel=e;else if(n.startsWith(`custom:`)){let r=n.replace(/^custom:/,``);t.customModelSelections={...t.customModelSelections??{},[r]:e}}await window.settingsApi.saveSettings(t),ht(t),he(await sa());let i=ir(n,e);ye.length>0&&(await Qi(r,i,``,`system`,`provider_change`),await mn())}catch(e){ve(D(e))}}async function sr(e,t){try{let n=await window.settingsApi.getSettings();if(n.aiProvider=e,e===`gemini`)n.geminiModel=t;else if(e===`openai`)n.openaiModel=t;else if(e===`openrouter`)n.openrouterModel=t;else if(e===`deepseek`)n.deepseekModel=t;else if(e===`anthropic`)n.anthropicModel=t;else if(e===`huggingface`)n.hfModel=t;else if(e===`local_openai`)n.localModelName=t;else if(e===`ollama`)n.ollamaModel=t;else if(e.startsWith(`custom:`)){let r=e.replace(/^custom:/,``);n.customModelSelections={...n.customModelSelections??{},[r]:t}}await window.settingsApi.saveSettings(n),ht(n),he(await sa());let i=ir(e,t);ye.length>0&&(await Qi(r,i,``,`system`,`provider_change`),await mn())}catch(e){ve(D(e))}}async function cr(e){try{let t=await window.settingsApi.getSettings();if(t.geminiLiveVoice===e)return;t.geminiLiveVoice=e,await window.settingsApi.saveSettings(t),ht(t)}catch(e){ve(D(e))}}async function V(e){if(p)return;let t=r,n={chatId:t,sessionGeneration:b.current,runGeneration:++x.current},i=()=>Wt(n,{chatId:y.current,sessionGeneration:b.current,runGeneration:x.current}),a=`*${{head:`Pats Mint on the head`,cheek:`Pokes Mint on the cheek`,"left hand":`Touches Mint's left hand`,"right hand":`Touches Mint's right hand`,body:`Touches Mint`,"lower body":`Touches Mint's lower body`}[e]}*`,c=`The user interacted with the Mint Live2D model: ${e}. Respond briefly and playfully. Use the same language as the recent conversation. Do not mention this instruction.`;o.startRun(a),Oe(r),je(null),ve(``);try{await o.executeStream(e=>na(`/chat ${a}`,e,null,null,null,c,void 0,null,s||null,t,void 0,void 0,void 0,void 0,e=>{i()&&je(e)}),i),i()&&(await mn(),i()&&o.clearStream())}catch(e){i()&&ve(D(e))}finally{i()&&(o.finishRun(),Oe(null),je(null))}}let lr={interactions:ye,hasOlder:xe,sendingInteractionId:Ee===r?ke:null,sending:p&&Ee===r,sendingMessage:Ee===r?m:``,sendingImageCount:Ee===r?h:0,sendingVideoCount:Ee===r?g:0,streamedReply:Ee===r?_:``,streamedResponse:Ee===r?ee:null,agentProgress:Ee===r?v:[],agentActivitySnapshots:Ne,thinkingExpanded:Fe,message:l,imageAttachments:u,videoAttachments:d,documentName:f?.filename??``,pendingApproval:w[r]??null,agentMode:it,planMode:ot,status:me,workspacePath:s,chatId:r,recentWorkspacePaths:de,chatEnd:vt,welcomeInteraction:qa,settingsConfig:mt,isCliSession:r.startsWith(`cli`)||r===`cli`,cliSessionId:r.startsWith(`cli`)?r:void 0,conversationTitle:gt.find(e=>e.id===r)?.title},ur={onLoadOlder:gn,onThinkingExpandedChange:er,onSubmit:Vn,onSelectImage:Un,onSelectVideo:Wn,onSelectDocument:Kn,onPasteImage:Gn,onSetMessage:o.compose,onSendVoiceMessage:Hn,onRemoveImage:o.removeImage,onRemoveVideo:o.removeVideo,onRemoveDocument:()=>o.attachDocument(null),onStartWebSearch:qn,onCaptureScreen:L,onSetAgentMode:In,onSetPlanMode:e?Ln:void 0,onSetProvider:or,onSelectWorkspace:e?Jn:void 0,onWorkspaceChanged:()=>le(e=>e+1),onApproval:Rn,onUpdateSettings:e=>ht(e),onSetModel:B,onSelectModelAndProvider:sr,onCancelMessage:zn,onClearMessages:()=>Zn(`Clear history`),onSetGeminiLiveVoice:cr,onToggleMobileSidebar:()=>ae(!ie),onBackToCode:()=>pe(`code`),onOpenArtifact:e?kn:void 0,onOpenReview:e?An:void 0};return(0,$.jsxs)(`div`,{className:`app-container ${A?``:`is-loading`}`,children:[oe&&(0,$.jsx)(ni,{onClose:()=>se(!1),onAttach:Xn,capture:()=>Si(e),onLiveTranslate:e?()=>{Yn()}:void 0}),e&&(0,$.jsx)(fi,{sidebarCollapsed:He,onToggleSidebar:Pn,onNewChat:()=>Zn(`New chat`),onOpenWorkspace:()=>Jn(),onOpenTerminal:Cn,onToggleTerminal:Dn,onOpenBrowser:()=>wn(),toolsPanelOpen:Je,onToggleToolsPanel:()=>Ye(e=>!e),onOpenSettings:()=>pe(`settings`),onCheckForUpdates:On,onShowAbout:()=>Sn(`Mint Agent — AI workspace`),workspacePath:s,terminalCount:We.filter(e=>e.kind===`terminal`).length,sourceNames:rt,recentChanges:tt,onOpenReview:e=>An({id:`review:workspace:${Date.now()}`,kind:`review`,title:`Review`,reviewTitle:`Recent agent changes`,changes:e}),onRefreshWorkspace:()=>le(e=>e+1)}),(0,$.jsxs)(`div`,{className:`app-body ${He&&window.innerWidth>760?`sidebar-collapsed`:``} ${t===`pictures`?`pictures-open`:``} ${ie?`mobile-sidebar-open`:``} ${Je?`tool-surface-active`:``}`,style:{"--sidebar-expanded-width":`${$e}px`,"--terminal-dock-size":`${Xe}px`,"--tool-surface-width":`${Xe}px`},children:[!e&&t!==`chat`&&(0,$.jsx)(`button`,{type:`button`,className:`web-mobile-nav-btn`,"aria-label":`Open navigation menu`,"aria-expanded":ie,onClick:()=>ae(!0),children:(0,$.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,"aria-hidden":`true`,children:[(0,$.jsx)(`line`,{x1:`3`,y1:`6`,x2:`21`,y2:`6`}),(0,$.jsx)(`line`,{x1:`3`,y1:`12`,x2:`21`,y2:`12`}),(0,$.jsx)(`line`,{x1:`3`,y1:`18`,x2:`21`,y2:`18`})]})}),ie&&(0,$.jsx)(`button`,{type:`button`,"aria-label":`Close navigation menu`,className:`sidebar-backdrop`,onClick:()=>ae(!1),style:{position:`fixed`,top:0,left:0,right:0,bottom:0,background:`rgba(0, 0, 0, 0.5)`,backdropFilter:`blur(4px)`,zIndex:9998}}),(0,$.jsx)(ai,{view:t,sidebarCollapsed:He,modelVisible:bt,sending:p,expressionIndex:Et,accessoryIndex:Dt,expressions:Pa,accessories:Fa,interactionEnabled:St,showInteractionGuide:Ct,onToggleSidebar:Pn,onSidebarResize:F,onSidebarResizeEnd:Fn,onClearHistory:Zn,chatSessions:gt,activeConversationId:r,onSelectConversation:tr,onDeleteConversation:rr,onRenameConversation:z,onSetView:pe,onToggleModel:Ft,onSetExpressionIndex:Mt,onSetAccessoryIndex:Nt,onSetInteractionEnabled:Lt,onSetShowInteractionGuide:Ht,onShowToast:Sn,isSearchOpen:j,onSetSearchOpen:M,showWorkspaceTab:e,promoteMediaStudios:!e,activeWorkspacePath:s,recentWorkspacePaths:de,onBrowseFolder:e?vn:void 0,onUpdateSessionWorkspace:_n,onNewChatInProject:nr}),(0,$.jsxs)(`main`,{className:`assistant-workspace ${Tt===`chat-wide`?`layout-chat-wide`:`layout-model-wide`} ${bt||t===`workspace`?``:`model-hidden`} ${t===`workspace`?`workspace-open`:``}`,style:t===`skills`||t===`mcp`||t===`plugins`||t===`cron`||t===`link`||t===`pictures`||t===`imagine`||t===`veo`||t===`code`?{display:`none`}:void 0,children:[kt&&(0,$.jsxs)(`div`,{className:`proactive-bar`,style:{position:`absolute`,top:0,left:0,right:0,zIndex:100},children:[(0,$.jsxs)(`div`,{className:`proactive-header`,children:[(0,$.jsx)(`span`,{className:`proactive-icon`,children:`✨`}),(0,$.jsx)(`div`,{className:`proactive-message`,children:kt.message}),(0,$.jsx)(`button`,{className:`proactive-dismiss-btn`,onClick:Gt,children:`Dismiss`})]}),(0,$.jsx)(`div`,{className:`proactive-chips`,children:kt.suggestions?.map((e,t)=>(0,$.jsx)(`button`,{className:`suggestion-chip`,onClick:()=>Kt(e.action),children:e.label},t))})]}),cn&&(0,$.jsxs)(`div`,{className:`proactive-bar`,style:{position:`absolute`,top:0,left:0,right:0,zIndex:100},children:[(0,$.jsxs)(`div`,{className:`proactive-header`,children:[(0,$.jsx)(`span`,{className:`proactive-icon`,children:`⚡`}),(0,$.jsx)(`div`,{className:`proactive-message`,children:cn.title}),(0,$.jsx)(`button`,{className:`proactive-dismiss-btn`,onClick:()=>ln(null),children:`Dismiss`})]}),(0,$.jsx)(`div`,{className:`proactive-chips`,children:cn.options.map(e=>(0,$.jsx)(`button`,{className:`suggestion-chip`,onClick:()=>{let t=`${cn.command} ${e.value}`;ln(null),Oa(t,s||null).then(e=>$n(t,e)).catch(()=>{})},children:e.label},e.value))})]}),t===`workspace`&&(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(Bi,{}),children:(0,$.jsx)(Ya,{agentMode:it,sending:p,workspacePath:s,onEnableAgentMode:()=>In(!0),onSetMessage:o.compose,onWorkspaceReady:I,refreshRevision:ce})}),(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(Ja,{scale:xt,expressionIndex:Et,accessoryIndex:Dt,isLocked:wt,isActive:bt&&t!==`pictures`&&t!==`workspace`&&t!==`imagine`&&t!==`veo`&&t!==`skills`&&t!==`mcp`&&t!==`plugins`,layoutPreset:Tt,sending:p,interactionEnabled:St,showInteractionGuide:Ct,toastMessage:ct,onSetScale:At,onSetLocked:jt,onSetView:pe,onChangeLayoutPreset:It,onDismissToast:()=>lt(``),onInteract:V,onModelLoadComplete:()=>Pt(!0)})}),(0,$.jsx)(Hr,{conversation:lr,actions:ur})]}),e&&Je&&(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(Bi,{}),children:(0,$.jsx)(Xa,{surfaces:We,activeSurfaceId:Ke,workspacePath:s,terminalSize:Xe,onSelect:qe,onClose:Mn,onCloseAll:Nn,onDuplicate:Tn,onRename:En,onCloseOthers:P,onOpenTerminal:Cn,onOpenBrowser:()=>wn(),onOpenReview:jn,onOpenFiles:()=>{qe(null),Ye(!1),pe(`workspace`)},onOpenSideChat:()=>{qe(null),Ye(!1)},onClosePanel:()=>Ye(!1),onResizeTerminal:e=>{Ze(e),Qe.current&&clearTimeout(Qe.current),Qe.current=setTimeout(()=>{window.localStorage.setItem(`mint:terminal-right-width`,String(e))},250)},onResizePanel:e=>{Ze(e),Qe.current&&clearTimeout(Qe.current),Qe.current=setTimeout(()=>{window.localStorage.setItem(`mint:terminal-right-width`,String(e))},250)}})}),t===`skills`&&(0,$.jsx)(`div`,{className:`web-view-scroll`,style:{flex:1,overflowY:`auto`,background:`transparent`},children:(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(Bi,{}),children:(0,$.jsx)(Za,{listSkills:ma,addSkill:ha,deleteSkill:ga,workspacePath:s})})}),t===`mcp`&&(0,$.jsx)(`div`,{className:`web-view-scroll`,style:{flex:1,overflowY:`auto`,background:`transparent`},children:(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(Bi,{}),children:(0,$.jsx)(eo,{config:mt||Ae,updateField:rn,mcpName:qt,setMcpName:Jt,mcpCmd:Yt,setMcpCmd:Xt,mcpArgs:Zt,setMcpArgs:Qt,mcpEnv:$t,setMcpEnv:en,mcpIcon:tn,setMcpIcon:nn,handleAddMcpServer:an,handleRemoveMcpServer:on,detectTools:_a,onReauth:va,listServerTools:ya})})}),t===`plugins`&&(0,$.jsx)(`div`,{className:`web-view-scroll`,style:{flex:1,overflowY:`auto`,background:`transparent`},children:(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(Bi,{}),children:(0,$.jsx)(to,{config:mt||Ae,updateField:rn,handleConnectPlugin:sn})})}),t===`cron`&&(0,$.jsx)(`div`,{className:`web-view-scroll`,style:{flex:1,overflowY:`auto`,background:`transparent`},children:(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(Bi,{}),children:(0,$.jsx)(Qa,{listCronJobs:xa,addCronJob:Sa,removeCronJob:Ca,setCronJobEnabled:wa,workspacePath:s})})}),t===`link`&&(0,$.jsx)(`div`,{className:`web-view-scroll`,style:{flex:1,overflowY:`auto`,background:`transparent`},children:(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(Bi,{}),children:(0,$.jsx)($a,{listLinkedFolders:Ta,addLinkedFolder:Ea,removeLinkedFolder:Da,linkedFolderStatus:ka,refreshLinkedFolder:Aa,listLinkedFolderNotes:ja,readLinkedFolderNote:Ma,openLinkedFolderNote:Na,canOpenNote:da(),selectFolder:ua})})}),t===`code`&&(0,$.jsx)(`div`,{className:`web-view-scroll`,style:{flex:1,overflowY:`auto`,background:`transparent`},children:(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(Bi,{}),children:(0,$.jsx)(no,{chatSessions:gt,activeConversationId:r,workspacePath:s,onSelectSession:e=>{tr(e)},onDeleteSession:rr,onRenameSession:z,onRefreshSessions:hn,onShowToast:Sn})})}),t===`pictures`&&(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(Bi,{}),children:(0,$.jsx)(ro,{view:t,pictures:we,onSetView:pe,onRefreshPictures:xn})}),t===`imagine`&&(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(Bi,{}),children:(0,$.jsx)(io,{view:t,onRefreshPictures:xn,onSendToChat:async(e,t)=>{try{let n=await fetch(pa(e));if(!n.ok)throw Error(`Unable to load image (${n.status})`);let r=await n.blob(),i=e.split(/[\\/]/).pop()||`generated-image.png`,a=await Me(new File([r],i,{type:r.type||`image/png`})),s=await De(a).catch(()=>a);pe(`chat`),o.compose(t),o.attachImage({dataUri:a,previewDataUri:s,name:i})}catch(e){Sn(`Could not attach image: ${D(e)}`)}}})}),t===`veo`&&(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(Bi,{}),children:(0,$.jsx)(ao,{view:t,onSendToChat:e=>{pe(`chat`),o.compose(e)}})})]}),(0,$.jsx)(`div`,{className:`startup-loading ${A?`is-hidden`:``}`,"aria-live":`polite`,"aria-busy":!A,children:(0,$.jsxs)(`div`,{className:`startup-loading-content`,children:[(0,$.jsxs)(`div`,{className:`startup-loading-dots`,"aria-hidden":`true`,children:[(0,$.jsx)(`span`,{}),(0,$.jsx)(`span`,{}),(0,$.jsx)(`span`,{})]}),(0,$.jsx)(`div`,{className:`startup-loading-text`,children:`Loading Mint Agent`})]})}),ge&&(0,$.jsxs)(`div`,{className:`mint-error`,style:{position:`absolute`,bottom:`20px`,right:`20px`,zIndex:100,margin:0,boxShadow:`0 8px 24px rgba(0,0,0,0.3)`,display:`flex`,alignItems:`center`,gap:`8px`},children:[(0,$.jsx)(`span`,{children:ge}),(0,$.jsx)(`button`,{onClick:()=>ve(``),style:{background:`transparent`,border:0,color:`white`,cursor:`pointer`,display:`inline-flex`,alignItems:`center`,padding:0},children:(0,$.jsxs)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,$.jsx)(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),(0,$.jsx)(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})]})})]}),j&&(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(oo,{isOpen:!0,onClose:()=>M(!1),onSelectChat:e=>{tr(e),M(!1)},onNewChat:()=>{Zn(`New chat`),M(!1)},onSelectWorkspace:e?Jn:void 0,onOpenSettings:()=>{pe(`settings`),M(!1)},onChangeView:e=>{pe(e),M(!1)},onChangeModel:e=>{rn(`model`,e),lt(`Switched model to ${e}`)},onChangeProvider:e=>{rn(`provider`,e),lt(`Switched provider to ${e}`)},onExecuteSlash:e=>{o.compose(e+` `),M(!1)},chatSessions:gt,currentChatId:r,workspacePath:s})})]})}var Q,$,qi,Ji,Yi,Xi,Zi,Qi,$i,ea,ta,na,ra,ia,aa,oa,sa,ca,la,ua,da,fa,pa,ma,ha,ga,_a,va,ya,ba,xa,Sa,Ca,wa,Ta,Ea,Da,Oa,ka,Aa,ja,Ma,Na,Pa,Fa,Ia,La,Ra,za,Ba,Va,Ha,Ua,Wa,Ga,Ka,qa,Ja,Ya,Xa,Za,Qa,$a,eo,to,no,ro,io,ao,oo,so=t((()=>{Q=e(l()),Ht(),d(),$=p(),Qr(),ii(),si(),gi(),we(),yi(),Ci(),ki(),Kt(),xe(),Dr(),ji(),s(),{clearChatHistory:qi,deleteChatSession:Ji,renameChatSession:Yi,getConversationSnapshot:Xi,getConversationChanges:Zi,saveSystemInteraction:Qi,listChatSessions:$i,updateChatSessionWorkspace:ea,saveInteractionAgentActivity:ta,streamChatMessage:na,cancelChatMessage:ra,submitToolApproval:ia,listen:aa,readClipboardImage:oa}=i,{getRuntimeStatus:sa,setActiveModel:ca,selectWorkspaceDirectory:la,selectLinkedFolderPath:ua,isTauriRuntime:da}=r,{listSavedPictures:fa,convertFileSrc:pa}=a,{listLearnedSkills:ma,addLearnedSkill:ha,deleteLearnedSkill:ga,detectSystemTools:_a,reauthMcpServer:va,listMcpServerTools:ya,setProfileValue:ba,listCronJobs:xa,addCronJob:Sa,removeCronJob:Ca,setCronJobEnabled:wa,listLinkedFolders:Ta,addLinkedFolder:Ea,removeLinkedFolder:Da,runSlashCommand:Oa,linkedFolderStatus:ka,refreshLinkedFolder:Aa,listLinkedFolderNotes:ja,readLinkedFolderNote:Ma,openLinkedFolderNote:Na}=f,Pa=[`Default`,`Dumb Cat`,`Dumb Cat Eye Roll`,`Take Photo`,`Poke`,`Cat Filter`],Fa=[`None`,`Apron`,`Glasses`,`Hold Pen`],Ia=`mint:last-workspace-path`,La=`mint:recent-workspace-paths`,Ra=8,za=`mint:active-conversation-id`,Ba=`mint:last-active-timestamp`,Va=1800*1e3,Ha=`mint:draft:`,Ua=264,Wa=200,Ga=420,Ka=170,qa={id:-1,userText:``,aiText:`Hi there! I'm Mint, your AI assistant! 🎯✨ I'm here and ready to help you with whatever you need. I've been organizing some background data to make things smoother for you. 💖
|
|
19
|
-
|
|
20
|
-
But the moment you start chatting with me, I'll put everything aside and focus on you! Is there something I can help you with today, or would you like to chat about something special? Let's do this! 🚀💪`,provider:`gemini`,model:`gemini-3-flash-preview`,createdAt:new Date().toISOString()},Ja=(0,Q.lazy)(()=>c(()=>import(`./ModelPanel-CbJ1PFoZ.js`),__vite__mapDeps([4,1]))),Ya=(0,Q.lazy)(()=>c(()=>import(`./WorkspacePanel-CbJ1PFoZ.js`),__vite__mapDeps([5,1]))),Xa=(0,Q.lazy)(()=>c(()=>import(`./ToolSurfacePage-Cz2VJAPZ.js`),__vite__mapDeps([6,1,7,8,2,3,9,10,11,12,13]))),Za=(0,Q.lazy)(()=>c(()=>import(`./SkillsView-cnl8aY5p.js`),__vite__mapDeps([14,1,7,8,15,16,10,11]))),Qa=(0,Q.lazy)(()=>c(()=>import(`./ScheduledTasksView-Bnl36y2N.js`),__vite__mapDeps([17,1,7,8,15,16,10,11]))),$a=(0,Q.lazy)(()=>c(()=>import(`./LinkedFoldersView-bi-CWQ-I.js`),__vite__mapDeps([18,1,7,8,15,16]))),eo=(0,Q.lazy)(()=>c(()=>import(`./McpServersView-BGG1dhFM.js`),__vite__mapDeps([19,1,7,8,20,15,16,11]))),to=(0,Q.lazy)(()=>c(()=>import(`./PluginsView-CU1HWXGk.js`),__vite__mapDeps([21,1,7,8,15,16,22]))),no=(0,Q.lazy)(()=>c(()=>import(`./CliSessionsView-BxUVWEEL.js`),__vite__mapDeps([23,1,7,8,15,16,24]))),ro=(0,Q.lazy)(()=>c(()=>import(`./PicturesLibrary-DoYN7T1p.js`),__vite__mapDeps([25,1,7,8,26]))),io=(0,Q.lazy)(()=>c(()=>import(`./ImageStudioPanel-BR1XFwhR.js`),__vite__mapDeps([27,1,7,8,15,16,28,29]))),ao=(0,Q.lazy)(()=>c(()=>import(`./VeoStudioPanel-D4JnERWR.js`),__vite__mapDeps([30,1,7,8,15,16,28,31,32]))),oo=(0,Q.lazy)(()=>c(async()=>{let{CommandPalette:e}=await import(`./CommandPalette-DnwPA5hy.js`);return{CommandPalette:e}},__vite__mapDeps([33,1,7,8])).then(({CommandPalette:e})=>({default:e})))}));t((()=>{jt(),so()}))();export{Ki as default};
|