@pheem49/mint 1.16.0 → 1.17.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 +6 -6
- package/Cargo.toml +1 -1
- package/README.md +1 -1
- package/Release_Note.md +71 -72
- package/apps/mint-companion/src-tauri/src/compact.rs +69 -0
- package/apps/mint-companion/src-tauri/src/main.rs +218 -11
- package/apps/mint-companion/vite.config.ts +2 -1
- package/crates/mint-cli/src/agent/live_status.rs +43 -2
- package/crates/mint-cli/src/agent.rs +178 -38
- package/crates/mint-cli/src/commands/agent.rs +225 -31
- package/crates/mint-cli/src/commands/browser.rs +127 -0
- package/crates/mint-cli/src/commands/config.rs +14 -1
- package/crates/mint-cli/src/commands/knowledge.rs +16 -2
- package/crates/mint-cli/src/commands/mod.rs +15 -1
- package/crates/mint-cli/src/commands/tailnet_web.rs +2 -7
- package/crates/mint-cli/src/companion_navigation.rs +268 -0
- package/crates/mint-cli/src/interactive/chat_tui.rs +1065 -63
- package/crates/mint-cli/src/interactive/command_ui.rs +39 -0
- package/crates/mint-cli/src/interactive/slash_commands.rs +114 -6
- package/crates/mint-cli/src/interactive/tool_activity.rs +375 -36
- package/crates/mint-cli/src/interactive.rs +37 -5
- package/crates/mint-cli/src/main.rs +23 -2
- package/crates/mint-cli/src/onboard.rs +3494 -1336
- package/crates/mint-cli/tests/mods_testing.rs +5 -1
- package/crates/mint-companion-protocol/src/lib.rs +113 -0
- package/crates/mint-core/src/agent/chat.rs +240 -1
- package/crates/mint-core/src/agent/memory.rs +73 -6
- package/crates/mint-core/src/agent/safety.rs +56 -4
- package/crates/mint-core/src/agent/skill_inventory.rs +3 -1
- package/crates/mint-core/src/agent/skills.rs +1 -0
- package/crates/mint-core/src/api_server/routes/auth.rs +1 -4
- package/crates/mint-core/src/api_server/routes/chat.rs +29 -15
- package/crates/mint-core/src/api_server/routes/misc.rs +116 -0
- package/crates/mint-core/src/api_server/routes/profile_oauth.rs +43 -26
- package/crates/mint-core/src/api_server/routes/sessions.rs +93 -76
- package/crates/mint-core/src/api_server/routes/skills_subagents.rs +11 -7
- package/crates/mint-core/src/api_server/routes/status_health.rs +18 -8
- package/crates/mint-core/src/api_server.rs +211 -65
- package/crates/mint-core/src/avatar_bridge.rs +5 -2
- package/crates/mint-core/src/browser/cdp.rs +82 -26
- package/crates/mint-core/src/browser/lifecycle.rs +143 -43
- package/crates/mint-core/src/browser/mod.rs +5 -4
- package/crates/mint-core/src/browser/navigate.rs +82 -9
- package/crates/mint-core/src/browser/runtime.rs +284 -0
- package/crates/mint-core/src/browser/session.rs +263 -7
- package/crates/mint-core/src/browser/workflow.rs +386 -0
- package/crates/mint-core/src/companion/navigation.rs +115 -0
- package/crates/mint-core/src/companion.rs +109 -1
- package/crates/mint-core/src/integrations/mcp_result.rs +45 -0
- package/crates/mint-core/src/lib.rs +10 -6
- package/crates/mint-core/src/media/image_proxy.rs +563 -0
- package/crates/mint-core/src/media/tool_images.rs +196 -0
- package/crates/mint-core/src/media/tts/playback.rs +609 -0
- package/crates/mint-core/src/media/tts.rs +1 -0
- package/crates/mint-core/src/media.rs +2 -0
- package/crates/mint-core/src/orchestration/context_render.rs +450 -33
- package/crates/mint-core/src/orchestration/decision_parsing.rs +5 -23
- package/crates/mint-core/src/orchestration/diagnostics.rs +307 -0
- package/crates/mint-core/src/orchestration/image_regressions.rs +379 -0
- package/crates/mint-core/src/orchestration/loop_guard.rs +334 -0
- package/crates/mint-core/src/orchestration/mod.rs +1104 -560
- package/crates/mint-core/src/orchestration/reliability.rs +541 -0
- package/crates/mint-core/src/orchestration/repeated_failures.rs +8 -0
- package/crates/mint-core/src/orchestration/review_regressions.rs +174 -28
- package/crates/mint-core/src/orchestration/tools/files.rs +31 -3
- package/crates/mint-core/src/orchestration/tools/plugins_mcp.rs +19 -4
- package/crates/mint-core/src/orchestration/tools/project.rs +1 -1
- package/crates/mint-core/src/orchestration/tools/shell.rs +29 -5
- package/crates/mint-core/src/orchestration/tools/web.rs +5 -1
- package/crates/mint-core/src/orchestration/trajectory_schema.rs +353 -0
- package/crates/mint-core/src/orchestration/truncation.rs +211 -0
- package/crates/mint-core/src/orchestration/verification.rs +36 -6
- package/crates/mint-core/src/orchestration/workspace_helpers.rs +54 -23
- package/crates/mint-core/src/prompts/agent.rs +31 -40
- package/crates/mint-core/src/prompts/tool_catalog.rs +134 -40
- package/crates/mint-core/src/search/web_search.rs +44 -3
- package/crates/mint-core/src/slash/mod.rs +464 -1
- package/crates/mint-core/src/swarm/batch.rs +643 -0
- package/crates/mint-core/src/swarm/dossier.rs +152 -0
- package/crates/mint-core/src/swarm/labels.rs +100 -0
- package/crates/mint-core/src/swarm/mod.rs +158 -0
- package/crates/mint-core/src/swarm/permissions.rs +167 -0
- package/crates/mint-core/src/system/auth.rs +156 -7
- package/crates/mint-core/src/system/bg_shell.rs +77 -9
- package/crates/mint-core/src/system/config.rs +92 -3
- package/crates/mint-core/src/system/mint_web.rs +33 -12
- package/crates/mint-core/src/system/shell.rs +179 -10
- package/crates/mint-core/src/system/workspace.rs +204 -0
- package/crates/mint-core/tests/background_retention.rs +1 -1
- package/crates/mint-core/tests/memory_persistence.rs +27 -0
- package/out/web/assets/ArtifactPreviewPanel-DAT_Y7i0.css +1 -0
- package/out/web/assets/ArtifactPreviewPanel-S0dPfYFx.js +2 -0
- package/out/web/assets/CalculationCard-CRjP3E1j.js +1 -0
- package/out/web/assets/{CliSessionsView-CtzUJpK_.css → CliSessionsView-C3Br2v5Y.css} +1 -1
- package/out/web/assets/CliSessionsView-MI8kXMAb.js +1 -0
- package/out/web/assets/CodeReviewPage-CUJceQme.css +1 -0
- package/out/web/assets/CodeReviewPage-VCUgPla_.js +2 -0
- package/out/web/assets/CommandPalette-BD8SlTE5.js +1 -0
- package/out/web/assets/ImageGenCard-BCXxkVJX.js +1 -0
- package/out/web/assets/ImageSearchCard-N3yQOr8Z.js +1 -0
- package/out/web/assets/ImageStudioPanel-BP7N4rLr.js +1 -0
- package/out/web/assets/LibraryPage-WlviRdR8.js +2 -0
- package/out/web/assets/LinkedFoldersView-CKRgroWK.js +1 -0
- package/out/web/assets/McpRegistryPicker-CoS83vtc.js +1 -0
- package/out/web/assets/McpServersView-D3wHnuHg.js +1 -0
- package/out/web/assets/MermaidCard-NqrHdyJW.js +2 -0
- package/out/web/assets/MintDashboard-B2DJsDDO.css +1 -0
- package/out/web/assets/MintDashboard-COw_xol7.js +63 -0
- package/out/web/assets/PluginsView-jBYmcKh4.js +1 -0
- package/out/web/assets/RewindModal-DempuDod.js +1 -0
- package/out/web/assets/ScheduledTasksView-5uw9-V9H.js +1 -0
- package/out/web/assets/SelectField-DXBQtrUK.js +1 -0
- package/out/web/assets/SelectField-lFEkkWCU.css +1 -0
- package/out/web/assets/SettingsWindow-2YP3yj7s.js +4 -0
- package/out/web/assets/SettingsWindow-Dz8LQVgD.css +1 -0
- package/out/web/assets/SkillsView-C-gp9J7m.js +2 -0
- package/out/web/assets/StockCard-BDMCe7mx.js +1 -0
- package/out/web/assets/ToolSurfacePage-B0J_q0Jl.js +38 -0
- package/out/web/assets/ToolSurfacePage-CRIQ1owD.css +1 -0
- package/out/web/assets/UiFeatureCard-6BwxTOCe.js +1 -0
- package/out/web/assets/UiGridCard-DvZcLNxb.js +1 -0
- package/out/web/assets/UiMockupWidget-DD73QWg1.js +1 -0
- package/out/web/assets/VeoStudioPanel-DfsOJKv0.js +4 -0
- package/out/web/assets/WeatherCard-CPucIfq8.js +1 -0
- package/out/web/assets/WorkspacePanel-BfHKkulU.js +1 -0
- package/out/web/assets/WorkspacePdfPreview-Dx_lkjNu.js +2 -0
- package/out/web/assets/abnfDiagram-VCTEODGH-BOo3Ckng.js +1 -0
- package/out/web/assets/architecture-7GRP2DOG-ZOwheW3n.js +1 -0
- package/out/web/assets/architectureDiagram-5GKGNRK7-DC2FDzVd.js +36 -0
- package/out/web/assets/{blockDiagram-NRAW4CY4-BrrqzHW5.js → blockDiagram-I7D4REHJ-BrKFWdAH.js} +4 -4
- package/out/web/assets/c4Diagram-7LVT6UL2-BHTHK1Yd.js +38 -0
- package/out/web/assets/chunk-2Q5K7J3B-D2JLPQzF.js +1 -0
- package/out/web/assets/{chunk-TEH6E4GO-G4Cdlyrt.js → chunk-4HAMMTFA-BYFkZwNj.js} +3 -3
- package/out/web/assets/{chunk-5VM5RSS4-BiPuE0io.js → chunk-5VM5RSS4-BZ2oBPYQ.js} +1 -1
- package/out/web/assets/chunk-75Z2AOVW-BSKfSKSA.js +2 -0
- package/out/web/assets/chunk-DU6HZSFF-vIhsiW6n.js +128 -0
- package/out/web/assets/chunk-F27PBJKO-BlYpW9xq.js +1 -0
- package/out/web/assets/chunk-FOHPRMQF-JXEeeJ9r.js +161 -0
- package/out/web/assets/{chunk-GMAD6QVW-BuhEcgHq.js → chunk-GMAD6QVW-BIBz_Ug5.js} +12 -12
- package/out/web/assets/chunk-GVQU2GXP-NPSHxeqC.js +1 -0
- package/out/web/assets/chunk-IMKFNOWR-YlJK8_Fp.js +231 -0
- package/out/web/assets/chunk-JWPE2WC7-BeEMUFDw.js +1 -0
- package/out/web/assets/chunk-L3NEJ4N5-DMYi4-af.js +1 -0
- package/out/web/assets/chunk-OSK3NFVY-Begd3-jA.js +10 -0
- package/out/web/assets/chunk-P2QGCYS3-D1I4xFHN.js +1 -0
- package/out/web/assets/chunk-POPQ4Y6H-CafZZzNE.js +1 -0
- package/out/web/assets/chunk-PWAF6VOD-Dwh6_Lnt.js +1 -0
- package/out/web/assets/chunk-SHT3W25Y-B0XrCSEb.js +168 -0
- package/out/web/assets/{chunk-SVP7TREG-Bu_yYb-V.js → chunk-SVP7TREG-CxLsddxC.js} +1 -1
- package/out/web/assets/{chunk-LCL6LL3I-BhXV9zyH.js → chunk-TICWLB2K-y156QInb.js} +4 -4
- package/out/web/assets/chunk-XXDRQBXY-B9YlhOkE.js +1 -0
- package/out/web/assets/chunk-Y2CYZVJY-BxCWjNVG.js +1 -0
- package/out/web/assets/classDiagram-ZZMXUADV-BgJ5WtSp.js +1 -0
- package/out/web/assets/classDiagram-v2-VYDZK3BY-BgJ5WtSp.js +1 -0
- package/out/web/assets/config-CvIO5hkn.js +2 -0
- package/out/web/assets/config-DqXJXeZM.css +1 -0
- package/out/web/assets/core-Mi3s5D4_.js +1 -0
- package/out/web/assets/cose-bilkent-JH36ORCC-qlna31ty.js +1 -0
- package/out/web/assets/cynefin-OW5HDTMX-SMVvrLf-.js +1 -0
- package/out/web/assets/cynefinDiagram-5FMLGOSQ-rZznN24T.js +62 -0
- package/out/web/assets/cytoscape.esm-DWtAUG0r.js +321 -0
- package/out/web/assets/dagre-CnWJJM5f.js +1 -0
- package/out/web/assets/dagre-GXQ25YYZ-BOToydFu.js +4 -0
- package/out/web/assets/diagram-S7CK7UJ4-TMVaGQEJ.js +30 -0
- package/out/web/assets/diagram-UQ7AKVKN-C2JK-GP2.js +41 -0
- package/out/web/assets/{diagram-VSXAHHWV-BJ86Ov2Y.js → diagram-VSXAHHWV-Cw8VSi2K.js} +1 -1
- package/out/web/assets/diagram-VX7I27RA-DXp4fKk9.js +24 -0
- package/out/web/assets/diagram-Z3DM3KII-CzSicYiW.js +24 -0
- package/out/web/assets/dist-9ISJ7r-g.js +1 -0
- package/out/web/assets/dist-js-BV3mI7uw.js +1 -0
- package/out/web/assets/ebnfDiagram-PWID7BFC-Dqj-zqPu.js +1 -0
- package/out/web/assets/{erDiagram-SSCWMZ5O-CzzmnZWT.js → erDiagram-RLTQ6QDP-DZwFZAuD.js} +3 -3
- package/out/web/assets/event-D7D-EBy9.js +1 -0
- package/out/web/assets/eventmodeling-NTZA5JFV-C0O-Lvgp.js +1 -0
- package/out/web/assets/flowDiagram-HODETNUW-uqCHJond.js +1 -0
- package/out/web/assets/ganttDiagram-EL5Y4UJY-Da4ULXTl.js +292 -0
- package/out/web/assets/gitGraph-4MIJSDKK-B9wNFZIP.js +1 -0
- package/out/web/assets/gitGraphDiagram-WWUBYQGX-RjrhB0MP.js +106 -0
- package/out/web/assets/graphlib-Bh9gHply.js +1 -0
- package/out/web/assets/index-BmpulIkg.js +168 -0
- package/out/web/assets/index-CkvBwhX_.css +1 -0
- package/out/web/assets/info-A6RAGUB7-B3dfCpeY.js +1 -0
- package/out/web/assets/infoDiagram-27XIBGKW-QVWkLVx7.js +2 -0
- package/out/web/assets/{ishikawaDiagram-5VMMS53U-s38yo28y.js → ishikawaDiagram-5VMMS53U-CLFNIRI9.js} +4 -4
- package/out/web/assets/journeyDiagram-3NMN7TZE-fgOQadYF.js +139 -0
- package/out/web/assets/jsx-runtime-DmUwWVTj.js +1 -0
- package/out/web/assets/{kanban-definition-3QL26DDD-DodjgySL.js → kanban-definition-UXKFOSKX-G3Q_9g9O.js} +6 -6
- package/out/web/assets/katex-MCdQaEAD.js +257 -0
- package/out/web/assets/mermaid-parser.core-v3Jm7nco.js +7 -0
- package/out/web/assets/mermaid.core-DTEjLUA1.js +44 -0
- package/out/web/assets/{mindmap-definition-FBJOCRG2-260WBDxZ.js → mindmap-definition-YA3MSWOX-C_D42_fF.js} +4 -4
- package/out/web/assets/modelManager-BPLycQrN.js +2 -0
- package/out/web/assets/oauthManager-BUK7ic7q.js +1 -0
- package/out/web/assets/packet-AYTQ26CC-B-R-SHlF.js +1 -0
- package/out/web/assets/pdf-Bcahc2yC.js +56 -0
- package/out/web/assets/pdf.worker.min-Dkey6ZUl.mjs +27 -0
- package/out/web/assets/pegDiagram-XKGWAZYB-Da2q_giz.js +1 -0
- package/out/web/assets/pie-WAS4IAKB-BC8F0N7-.js +1 -0
- package/out/web/assets/pieDiagram-E7YTZNPT-Iy9REJNC.js +39 -0
- package/out/web/assets/{quadrantDiagram-AXDQQJYC-B8D3gU5d.js → quadrantDiagram-AXDQQJYC-ztsiYw7h.js} +4 -4
- package/out/web/assets/radar-RG4KPBEZ-B_1P8Z_z.js +1 -0
- package/out/web/assets/railroad-74A4TZTK-DuTqczSo.js +1 -0
- package/out/web/assets/railroad-abnf-HS5TGJTU-Df29WLmp.js +1 -0
- package/out/web/assets/railroad-ebnf-LZEXJU2U-ePFMo-qp.js +1 -0
- package/out/web/assets/railroad-peg-WCYAUIDC-DYXLW4_E.js +1 -0
- package/out/web/assets/railroadDiagram-O6MQD6OU-LStnZf2S.js +1 -0
- package/out/web/assets/{requirementDiagram-EFPCY7ZU-D2X-Ewik.js → requirementDiagram-BXWQKSXE-DmzonMH-.js} +3 -3
- package/out/web/assets/rolldown-runtime-CNOWq4Kh.js +1 -0
- package/out/web/assets/rough.esm-CNnFptCR.js +1 -0
- package/out/web/assets/sankeyDiagram-P5KCCOFB-B8vjmUU1.js +40 -0
- package/out/web/assets/sequenceDiagram-WJ2MYXX4-CTnplOAX.js +162 -0
- package/out/web/assets/sizeCapture-INFHLROL-C8Q8DbV5.js +1 -0
- package/out/web/assets/src-CRDfRlHM.js +1 -0
- package/out/web/assets/stateDiagram-D77RDMKH-BFrIaLdI.js +1 -0
- package/out/web/assets/stateDiagram-v2-MP3YSRHH-uf3kdNW4.js +1 -0
- package/out/web/assets/studio-BBZQ_-QK.js +1 -0
- package/out/web/assets/swimlanes-42K2YHIH-BXGngUNU.js +1 -0
- package/out/web/assets/swimlanesDiagram-VR7AAH4N-Y8q5bQce.js +8 -0
- package/out/web/assets/timeline-definition-24CTP7MA-CegH7n43.js +120 -0
- package/out/web/assets/treeView-Q6P3EWNA-DTpJv2Tw.js +1 -0
- package/out/web/assets/treemap-WGGIJYW6-i8M9iJU6.js +1 -0
- package/out/web/assets/vennDiagram-4TSXK5OY-Dpzo1S8U.js +34 -0
- package/out/web/assets/wardley-WFR3VGLG-BrNsgtfw.js +1 -0
- package/out/web/assets/{wardleyDiagram-VM6X3IG4-DAdXELbQ.js → wardleyDiagram-VM6X3IG4-lQ92LFE1.js} +35 -35
- package/out/web/assets/window-CkUOP7t0.js +1 -0
- package/out/web/assets/workspaces-SYPrmbgC.js +1 -0
- package/out/web/assets/{xychartDiagram-S5SC5T6Z-IZIXf3Vo.js → xychartDiagram-S5SC5T6Z-BaOaEoBd.js} +4 -4
- package/out/web/index-web.html +4 -4
- package/out/web/index.html +4 -4
- package/out/web/pdfjs/cmaps/78-EUC-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/78-EUC-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/78-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/78-RKSJ-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/78-RKSJ-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/78-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/78ms-RKSJ-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/78ms-RKSJ-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/83pv-RKSJ-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/90ms-RKSJ-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/90ms-RKSJ-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/90msp-RKSJ-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/90msp-RKSJ-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/90pv-RKSJ-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/90pv-RKSJ-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Add-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Add-RKSJ-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Add-RKSJ-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Add-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Adobe-CNS1-0.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Adobe-CNS1-1.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Adobe-CNS1-2.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Adobe-CNS1-3.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Adobe-CNS1-4.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Adobe-CNS1-5.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Adobe-CNS1-6.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Adobe-CNS1-UCS2.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Adobe-GB1-0.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Adobe-GB1-1.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Adobe-GB1-2.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Adobe-GB1-3.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Adobe-GB1-4.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Adobe-GB1-5.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Adobe-GB1-UCS2.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Adobe-Japan1-0.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Adobe-Japan1-1.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Adobe-Japan1-2.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Adobe-Japan1-3.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Adobe-Japan1-4.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Adobe-Japan1-5.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Adobe-Japan1-6.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Adobe-Japan1-UCS2.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Adobe-Korea1-0.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Adobe-Korea1-1.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Adobe-Korea1-2.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Adobe-Korea1-UCS2.bcmap +0 -0
- package/out/web/pdfjs/cmaps/B5-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/B5-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/B5pc-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/B5pc-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/CNS-EUC-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/CNS-EUC-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/CNS1-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/CNS1-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/CNS2-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/CNS2-V.bcmap +3 -0
- package/out/web/pdfjs/cmaps/ETHK-B5-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/ETHK-B5-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/ETen-B5-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/ETen-B5-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/ETenms-B5-H.bcmap +3 -0
- package/out/web/pdfjs/cmaps/ETenms-B5-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/EUC-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/EUC-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Ext-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Ext-RKSJ-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Ext-RKSJ-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Ext-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/GB-EUC-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/GB-EUC-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/GB-H.bcmap +4 -0
- package/out/web/pdfjs/cmaps/GB-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/GBK-EUC-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/GBK-EUC-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/GBK2K-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/GBK2K-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/GBKp-EUC-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/GBKp-EUC-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/GBT-EUC-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/GBT-EUC-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/GBT-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/GBT-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/GBTpc-EUC-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/GBTpc-EUC-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/GBpc-EUC-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/GBpc-EUC-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/HKdla-B5-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/HKdla-B5-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/HKdlb-B5-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/HKdlb-B5-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/HKgccs-B5-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/HKgccs-B5-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/HKm314-B5-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/HKm314-B5-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/HKm471-B5-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/HKm471-B5-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/HKscs-B5-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/HKscs-B5-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Hankaku.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Hiragana.bcmap +0 -0
- package/out/web/pdfjs/cmaps/KSC-EUC-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/KSC-EUC-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/KSC-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/KSC-Johab-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/KSC-Johab-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/KSC-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/KSCms-UHC-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/KSCms-UHC-HW-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/KSCms-UHC-HW-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/KSCms-UHC-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/KSCpc-EUC-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/KSCpc-EUC-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Katakana.bcmap +0 -0
- package/out/web/pdfjs/cmaps/LICENSE +36 -0
- package/out/web/pdfjs/cmaps/NWP-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/NWP-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/RKSJ-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/RKSJ-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/Roman.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniCNS-UCS2-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniCNS-UCS2-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniCNS-UTF16-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniCNS-UTF16-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniCNS-UTF32-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniCNS-UTF32-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniCNS-UTF8-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniCNS-UTF8-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniGB-UCS2-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniGB-UCS2-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniGB-UTF16-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniGB-UTF16-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniGB-UTF32-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniGB-UTF32-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniGB-UTF8-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniGB-UTF8-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniJIS-UCS2-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniJIS-UCS2-HW-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniJIS-UCS2-HW-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniJIS-UCS2-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniJIS-UTF16-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniJIS-UTF16-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniJIS-UTF32-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniJIS-UTF32-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniJIS-UTF8-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniJIS-UTF8-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniJIS2004-UTF16-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniJIS2004-UTF16-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniJIS2004-UTF32-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniJIS2004-UTF32-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniJIS2004-UTF8-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniJIS2004-UTF8-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniJISPro-UCS2-HW-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniJISPro-UCS2-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniJISPro-UTF8-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniJISX0213-UTF32-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniJISX0213-UTF32-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniJISX02132004-UTF32-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniJISX02132004-UTF32-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniKS-UCS2-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniKS-UCS2-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniKS-UTF16-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniKS-UTF16-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniKS-UTF32-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniKS-UTF32-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniKS-UTF8-H.bcmap +0 -0
- package/out/web/pdfjs/cmaps/UniKS-UTF8-V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/V.bcmap +0 -0
- package/out/web/pdfjs/cmaps/WP-Symbol.bcmap +0 -0
- package/out/web/pdfjs/standard_fonts/FoxitDingbats.pfb +0 -0
- package/out/web/pdfjs/standard_fonts/FoxitFixed.pfb +0 -0
- package/out/web/pdfjs/standard_fonts/FoxitFixedBold.pfb +0 -0
- package/out/web/pdfjs/standard_fonts/FoxitFixedBoldItalic.pfb +0 -0
- package/out/web/pdfjs/standard_fonts/FoxitFixedItalic.pfb +0 -0
- package/out/web/pdfjs/standard_fonts/FoxitSerif.pfb +0 -0
- package/out/web/pdfjs/standard_fonts/FoxitSerifBold.pfb +0 -0
- package/out/web/pdfjs/standard_fonts/FoxitSerifBoldItalic.pfb +0 -0
- package/out/web/pdfjs/standard_fonts/FoxitSerifItalic.pfb +0 -0
- package/out/web/pdfjs/standard_fonts/FoxitSymbol.pfb +0 -0
- package/out/web/pdfjs/standard_fonts/LICENSE_FOXIT +27 -0
- package/out/web/pdfjs/standard_fonts/LICENSE_LIBERATION +363 -0
- package/out/web/pdfjs/standard_fonts/LiberationSans-Bold.ttf +0 -0
- package/out/web/pdfjs/standard_fonts/LiberationSans-BoldItalic.ttf +0 -0
- package/out/web/pdfjs/standard_fonts/LiberationSans-Italic.ttf +0 -0
- package/out/web/pdfjs/standard_fonts/LiberationSans-Regular.ttf +0 -0
- package/out/web/pdfjs/wasm/LICENSE_JBIG2 +196 -0
- package/out/web/pdfjs/wasm/LICENSE_OPENJPEG +39 -0
- package/out/web/pdfjs/wasm/LICENSE_PDFJS_JBIG2 +13 -0
- package/out/web/pdfjs/wasm/LICENSE_PDFJS_OPENJPEG +22 -0
- package/out/web/pdfjs/wasm/LICENSE_PDFJS_QCMS +19 -0
- package/out/web/pdfjs/wasm/LICENSE_QCMS +21 -0
- package/out/web/pdfjs/wasm/jbig2.wasm +0 -0
- package/out/web/pdfjs/wasm/jbig2_nowasm_fallback.js +15 -0
- package/out/web/pdfjs/wasm/openjpeg.wasm +0 -0
- package/out/web/pdfjs/wasm/openjpeg_nowasm_fallback.js +17 -0
- package/out/web/pdfjs/wasm/qcms_bg.wasm +0 -0
- package/out/web/pdfjs/wasm/quickjs-eval.js +16 -0
- package/out/web/pdfjs/wasm/quickjs-eval.wasm +0 -0
- package/package.json +6 -4
- package/slash-commands.json +8 -2
- package/src/bin/index.js +4 -1
- package/src/bin/pdfjs-assets.mjs +31 -0
- package/src/renderer/node_modules/.vite/vitest/CACHEDIR.TAG +3 -0
- package/src/renderer/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
- package/src/renderer/shared/agentProgress.ts +11 -2
- package/src/renderer/shared/components/Settings/AgentsTab.tsx +70 -6
- package/src/renderer/shared/components/Settings/AudioTab.tsx +1 -1
- package/src/renderer/shared/components/Settings/AutomationTab.tsx +57 -0
- package/src/renderer/shared/components/Settings/AvatarCropModal.tsx +18 -12
- package/src/renderer/shared/components/Settings/CustomProviderLogoPicker.test.tsx +65 -0
- package/src/renderer/shared/components/Settings/CustomProviderLogoPicker.tsx +456 -0
- package/src/renderer/shared/components/Settings/GeneralTab.tsx +40 -82
- package/src/renderer/shared/components/Settings/PluginsTab.tsx +101 -24
- package/src/renderer/shared/components/Settings/ProfileTab.tsx +1 -1
- package/src/renderer/shared/components/Settings/SettingsWindow.tsx +796 -0
- package/src/renderer/shared/components/Settings/ThemeTab.tsx +13 -1
- package/src/renderer/shared/components/{AgentActivityDrawer.tsx → activity/AgentActivityDrawer.tsx} +77 -61
- package/src/renderer/shared/components/{AgentActivityTable.tsx → activity/AgentActivityTable.tsx} +46 -7
- package/src/renderer/shared/components/{McpToolResults.tsx → activity/McpToolResults.tsx} +32 -13
- package/src/renderer/shared/components/{PlanChecklistWidget.tsx → activity/PlanChecklistWidget.tsx} +2 -2
- package/src/renderer/shared/components/activity/RunSummaryDashboard.test.tsx +127 -0
- package/src/renderer/shared/components/activity/RunSummaryDashboard.tsx +222 -0
- package/src/renderer/shared/components/activity/SubagentDagView.test.ts +123 -0
- package/src/renderer/shared/components/{SubagentDagView.tsx → activity/SubagentDagView.tsx} +97 -43
- package/src/renderer/shared/components/activity/SubagentStatusStrip.test.tsx +82 -0
- package/src/renderer/shared/components/activity/SubagentStatusStrip.tsx +107 -0
- package/src/renderer/shared/components/activity/ViewedImages.tsx +140 -0
- package/src/renderer/shared/components/{AuthGate.tsx → app/AuthGate.tsx} +3 -3
- package/src/renderer/shared/components/{ChunkErrorBoundary.tsx → app/ChunkErrorBoundary.tsx} +10 -10
- package/src/renderer/shared/components/{CommandPalette.tsx → app/CommandPalette.tsx} +25 -25
- package/src/renderer/shared/components/{DashboardSidebar.tsx → app/DashboardSidebar.tsx} +7 -5
- package/src/renderer/shared/components/{DesktopTitlebar.tsx → app/DesktopTitlebar.tsx} +7 -24
- package/src/renderer/shared/components/{ErrorNotice.tsx → app/ErrorNotice.tsx} +1 -1
- package/src/renderer/shared/components/{MintDashboard.tsx → app/MintDashboard.tsx} +191 -212
- package/src/renderer/shared/components/{ModalErrorBoundary.tsx → app/ModalErrorBoundary.tsx} +5 -5
- package/src/renderer/shared/components/{CalculationCard.tsx → cards/CalculationCard.tsx} +13 -27
- package/src/renderer/shared/components/{ImageGenCard.tsx → cards/ImageGenCard.tsx} +9 -22
- package/src/renderer/shared/components/{ImageSearchCard.tsx → cards/ImageSearchCard.tsx} +9 -22
- package/src/renderer/shared/components/{MermaidCard.tsx → cards/MermaidCard.tsx} +37 -21
- package/src/renderer/shared/components/{StockCard.tsx → cards/StockCard.tsx} +15 -31
- package/src/renderer/shared/components/cards/ToolResultCards.tsx +86 -0
- package/src/renderer/shared/components/{UiFeatureCard.tsx → cards/UiFeatureCard.tsx} +6 -6
- package/src/renderer/shared/components/{UiGridCard.tsx → cards/UiGridCard.tsx} +3 -3
- package/src/renderer/shared/components/{WeatherCard.tsx → cards/WeatherCard.tsx} +1 -1
- package/src/renderer/shared/components/{ApprovalCard.test.tsx → chat/ApprovalCard.test.tsx} +1 -1
- package/src/renderer/shared/components/{ApprovalCard.tsx → chat/ApprovalCard.tsx} +5 -5
- package/src/renderer/shared/components/{ChatCodeBlock.tsx → chat/ChatCodeBlock.tsx} +1 -1
- package/src/renderer/shared/components/{ChatMessageItem.test.tsx → chat/ChatMessageItem.test.tsx} +92 -15
- package/src/renderer/shared/components/{ChatMessageItem.tsx → chat/ChatMessageItem.tsx} +73 -157
- package/src/renderer/shared/components/chat/ChatPanel.test.tsx +31 -0
- package/src/renderer/shared/components/{ChatPanel.tsx → chat/ChatPanel.tsx} +244 -493
- package/src/renderer/shared/components/{CollapsiblePasteInput.tsx → chat/CollapsiblePasteInput.tsx} +2 -2
- package/src/renderer/shared/components/{DiffReviewModal.tsx → chat/DiffReviewModal.tsx} +40 -40
- package/src/renderer/shared/components/{GeminiLiveOverlay.tsx → chat/GeminiLiveOverlay.tsx} +2 -2
- package/src/renderer/shared/components/{ModelSelectorPopover.tsx → chat/ModelSelectorPopover.tsx} +3 -3
- package/src/renderer/shared/components/chat/QueuedMessagesBanner.test.tsx +89 -0
- package/src/renderer/shared/components/chat/QueuedMessagesBanner.tsx +201 -0
- package/src/renderer/shared/components/{RewindModal.tsx → chat/RewindModal.tsx} +4 -4
- package/src/renderer/shared/components/{SlashChoicePanel.tsx → chat/SlashChoicePanel.tsx} +2 -2
- package/src/renderer/shared/components/{SlashSuggestions.tsx → chat/SlashSuggestions.tsx} +4 -4
- package/src/renderer/shared/components/{SourcesBlock.tsx → chat/SourcesBlock.tsx} +30 -37
- package/src/renderer/shared/components/{ThinkingBlock.tsx → chat/ThinkingBlock.tsx} +1 -1
- package/src/renderer/shared/components/chat/TurnFileChanges.test.tsx +86 -0
- package/src/renderer/shared/components/chat/TurnFileChanges.tsx +430 -0
- package/src/renderer/shared/components/{VoicePill.css → chat/VoicePill.css} +1 -1
- package/src/renderer/shared/components/{VoicePill.jsx → chat/VoicePill.jsx} +3 -2
- package/src/renderer/shared/components/{CliSessionsView.test.tsx → extensions/CliSessionsView.test.tsx} +2 -2
- package/src/renderer/shared/components/{CliSessionsView.tsx → extensions/CliSessionsView.tsx} +14 -12
- package/src/renderer/shared/components/{LinkedFoldersView.tsx → extensions/LinkedFoldersView.tsx} +3 -3
- package/src/renderer/shared/components/{McpRegistryPicker.tsx → extensions/McpRegistryPicker.tsx} +3 -3
- package/src/renderer/shared/components/{McpServersView.tsx → extensions/McpServersView.tsx} +105 -36
- package/src/renderer/shared/components/{McpToolAllowlist.tsx → extensions/McpToolAllowlist.tsx} +2 -2
- package/src/renderer/shared/components/{ModUi.test.tsx → extensions/ModUi.test.tsx} +9 -4
- package/src/renderer/shared/components/{ModsPanel.tsx → extensions/ModsPanel.tsx} +59 -7
- package/src/renderer/shared/components/{PluginsView.tsx → extensions/PluginsView.tsx} +6 -6
- package/src/renderer/shared/components/{ScheduledTasksView.tsx → extensions/ScheduledTasksView.tsx} +5 -5
- package/src/renderer/shared/components/extensions/SkillsView.test.tsx +31 -0
- package/src/renderer/shared/components/{SkillsView.tsx → extensions/SkillsView.tsx} +20 -4
- package/src/renderer/shared/components/{ImageStudioPanel.tsx → studio/ImageStudioPanel.tsx} +6 -6
- package/src/renderer/shared/components/{LibraryItemCard.tsx → studio/LibraryItemCard.tsx} +2 -2
- package/src/renderer/shared/components/{LibraryPage.tsx → studio/LibraryPage.tsx} +5 -5
- package/src/renderer/shared/components/{LibraryPreview.tsx → studio/LibraryPreview.tsx} +2 -2
- package/src/renderer/shared/components/{VeoStudioPanel.tsx → studio/VeoStudioPanel.tsx} +7 -7
- package/src/renderer/shared/components/{GlideSelect.css → ui/GlideSelect.css} +7 -6
- package/src/renderer/shared/components/ui/ProviderBrandIcon.test.tsx +67 -0
- package/src/renderer/shared/components/ui/ProviderBrandIcon.tsx +167 -0
- package/src/renderer/shared/components/ui/SelectField.tsx +506 -0
- package/src/renderer/shared/components/ui/error-recovery.css +10 -10
- package/src/renderer/shared/components/ui/error-recovery.tsx +1 -1
- package/src/renderer/shared/components/{ArtifactPreviewPanel.tsx → workspace/ArtifactPreviewPanel.tsx} +256 -112
- package/src/renderer/shared/components/workspace/BackgroundTerminals.test.tsx +63 -0
- package/src/renderer/shared/components/{BackgroundTerminals.tsx → workspace/BackgroundTerminals.tsx} +40 -9
- package/src/renderer/shared/components/{CodeReviewPage.tsx → workspace/CodeReviewPage.tsx} +47 -8
- package/src/renderer/shared/components/{GitBranchSelector.tsx → workspace/GitBranchSelector.tsx} +2 -2
- package/src/renderer/shared/components/workspace/SessionSources.tsx +113 -0
- package/src/renderer/shared/components/{TerminalDock.tsx → workspace/TerminalDock.tsx} +5 -2
- package/src/renderer/shared/components/workspace/ToolSurfacePage.test.tsx +68 -0
- package/src/renderer/shared/components/{ToolSurfacePage.tsx → workspace/ToolSurfacePage.tsx} +322 -71
- package/src/renderer/shared/components/{ToolsPanelToggle.tsx → workspace/ToolsPanelToggle.tsx} +1 -1
- package/src/renderer/shared/components/workspace/WorkspaceFileInfo.tsx +28 -0
- package/src/renderer/shared/components/workspace/WorkspaceMediaPreview.tsx +17 -0
- package/src/renderer/shared/components/{WorkspacePaneResizer.tsx → workspace/WorkspacePaneResizer.tsx} +1 -1
- package/src/renderer/shared/components/workspace/WorkspacePdfPreview.tsx +89 -0
- package/src/renderer/shared/components/{WorkspacePreviewActions.test.tsx → workspace/WorkspacePreviewActions.test.tsx} +48 -3
- package/src/renderer/shared/components/{WorkspacePreviewActions.tsx → workspace/WorkspacePreviewActions.tsx} +3 -3
- package/src/renderer/shared/components/{WorkspaceSelector.tsx → workspace/WorkspaceSelector.tsx} +99 -7
- package/src/renderer/shared/components/{workspace-selector.css → workspace/workspace-selector.css} +84 -2
- package/src/renderer/shared/constants/config.ts +7 -0
- package/src/renderer/shared/conversation/coordinator.test.ts +46 -0
- package/src/renderer/shared/conversation/coordinator.ts +50 -2
- package/src/renderer/shared/conversation/lifecycle.test.ts +163 -1
- package/src/renderer/shared/conversation/lifecycle.ts +164 -7
- package/src/renderer/shared/conversation/projectNavigation.test.ts +18 -0
- package/src/renderer/shared/conversation/projectNavigation.ts +11 -0
- package/src/renderer/shared/conversation/transport.test.ts +20 -0
- package/src/renderer/shared/conversation/transport.ts +51 -9
- package/src/renderer/shared/conversation/useConversationCoordinator.ts +42 -12
- package/src/renderer/shared/css/agent-observability.css +72 -11
- package/src/renderer/shared/css/chat-ui-cards.css +35 -35
- package/src/renderer/shared/css/code-review.css +86 -86
- package/src/renderer/shared/css/code-sessions.css +10 -10
- package/src/renderer/shared/css/file-changes.css +167 -5
- package/src/renderer/shared/css/management-views.css +78 -37
- package/src/renderer/shared/css/mcp-results.css +46 -3
- package/src/renderer/shared/css/queued-messages.css +221 -0
- package/src/renderer/shared/css/session-sources.css +12 -7
- package/src/renderer/shared/css/settings/agents.css +2 -2
- package/src/renderer/{src-web → shared}/css/settings/base.css +101 -107
- package/src/renderer/shared/css/settings/general.css +384 -92
- package/src/renderer/shared/css/settings/plugins.css +8 -8
- package/src/renderer/shared/css/settings/theme.css +44 -32
- package/src/renderer/shared/css/ui-tailwind.css +2 -2
- package/src/renderer/shared/css/viewed-images.css +89 -0
- package/src/renderer/shared/css/workspace-file-info.css +12 -0
- package/src/renderer/shared/css/workspace-media-preview.css +13 -0
- package/src/renderer/shared/env.d.ts +9 -0
- package/src/renderer/shared/platform.test.ts +143 -0
- package/src/renderer/shared/platform.ts +10 -4
- package/src/renderer/shared/speech/player.ts +160 -0
- package/src/renderer/shared/speech/types.ts +11 -0
- package/src/renderer/shared/theme/themeManager.test.ts +20 -0
- package/src/renderer/shared/theme/themeManager.ts +3 -1
- package/src/renderer/shared/theme/themes.ts +17 -4
- package/src/renderer/shared/theme/tokens.css +448 -51
- package/src/renderer/shared/types.ts +56 -1
- package/src/renderer/shared/utils/agentActivity.test.ts +165 -6
- package/src/renderer/shared/utils/agentActivity.ts +181 -31
- package/src/renderer/shared/utils/artifactBrowser.ts +1 -1
- package/src/renderer/shared/utils/artifacts.ts +55 -0
- package/src/renderer/shared/utils/contextCompaction.test.tsx +1 -1
- package/src/renderer/shared/utils/externalLinks.ts +91 -0
- package/src/renderer/shared/utils/lazyWithRetry.ts +13 -0
- package/src/renderer/shared/utils/markdown.tsx +169 -35
- package/src/renderer/shared/utils/markdown.webImages.test.tsx +124 -2
- package/src/renderer/shared/utils/mcpResults.test.tsx +24 -1
- package/src/renderer/shared/utils/pdfRange.ts +16 -0
- package/src/renderer/shared/utils/previewObjectUrls.ts +20 -0
- package/src/renderer/shared/utils/sessionSources.test.ts +41 -1
- package/src/renderer/shared/utils/sessionSources.ts +2 -0
- package/src/renderer/shared/utils/slashCommandProcessor.ts +4 -1
- package/src/renderer/shared/utils/speech.ts +18 -4
- package/src/renderer/shared/utils/useNativeVoiceInput.ts +19 -5
- package/src/renderer/shared/utils/useSessionSources.ts +4 -0
- package/src/renderer/shared/utils/viewedImages.test.ts +129 -0
- package/src/renderer/shared/utils/viewedImages.ts +81 -10
- package/src/renderer/shared/utils/workspaceDrag.ts +30 -0
- package/src/renderer/shared/utils/workspaceImage.ts +17 -0
- package/src/renderer/shared/utils/workspaceListPreferences.test.ts +64 -0
- package/src/renderer/shared/utils/workspaceListPreferences.ts +54 -0
- package/src/renderer/shared/utils/workspaceMedia.ts +41 -0
- package/src/renderer/shared/utils/workspacePreview.test.ts +147 -2
- package/src/renderer/shared/utils/workspacePreview.ts +34 -3
- package/src/renderer/shared/utils/workspaces.ts +3 -2
- package/src/renderer/src/App.tsx +6 -8
- package/src/renderer/src/components/ChatPanel.tsx +1 -1
- package/src/renderer/src/components/DashboardSidebar.tsx +2 -2
- package/src/renderer/src/components/ImageStudioPanel.tsx +1 -1
- package/src/renderer/src/components/LiveTranslateControls.tsx +1 -1
- package/src/renderer/src/components/MintDashboard.tsx +1 -1
- package/src/renderer/src/components/ProactiveGlow.tsx +1 -1
- package/src/renderer/src/components/ScreenPicker.tsx +1 -1
- package/src/renderer/src/components/SettingsWindow.tsx +6 -830
- package/src/renderer/src/components/SpotlightWindow.tsx +4 -32
- package/src/renderer/src/components/VeoStudioPanel.tsx +1 -1
- package/src/renderer/src/components/WorkspacePanel.tsx +45 -12
- package/src/renderer/src/components/browser-shell.css +26 -26
- package/src/renderer/src/components/browser-suggestions-popup.css +8 -8
- package/src/renderer/src/css/app-shell.css +22 -102
- package/src/renderer/src/css/chat.css +221 -34
- package/src/renderer/src/css/desktop-tools.css +6 -337
- package/src/renderer/src/css/sidebar-workspace.css +20 -0
- package/src/renderer/src/css/spotlight.css +2 -2
- package/src/renderer/src/css/tool-surfaces.css +328 -58
- package/src/renderer/src/css/widget.css +6 -5
- package/src/renderer/src/env.d.ts +13 -0
- package/src/renderer/src/index.css +15 -63
- package/src/renderer/src/tauri.ts +77 -11
- package/src/renderer/src/voiceInput.ts +3 -1
- package/src/renderer/src-web/App.tsx +6 -8
- package/src/renderer/src-web/components/ChatPanel.tsx +1 -1
- package/src/renderer/src-web/components/DashboardSidebar.tsx +2 -2
- package/src/renderer/src-web/components/ImageStudioPanel.tsx +1 -1
- package/src/renderer/src-web/components/MintDashboard.tsx +1 -1
- package/src/renderer/src-web/components/SettingsWindow.tsx +6 -851
- package/src/renderer/src-web/components/VeoStudioPanel.tsx +1 -1
- package/src/renderer/src-web/css/app-shell.css +16 -100
- package/src/renderer/src-web/css/chat.css +221 -34
- package/src/renderer/src-web/css/sidebar-workspace.css +20 -0
- package/src/renderer/src-web/env.d.ts +14 -0
- package/src/renderer/src-web/index.css +15 -63
- package/src/renderer/src-web/tauri.ts +71 -13
- package/src/renderer/tests/browserArtifacts.browser.html +1 -0
- package/src/renderer/tests/browserArtifacts.browser.tsx +68 -0
- package/src/renderer/tests/chatEscape.browser.html +1 -0
- package/src/renderer/tests/chatEscape.browser.tsx +25 -0
- package/src/renderer/tests/chatPerformance.browser.html +1 -1
- package/src/renderer/tests/collapsedPaste.browser.html +1 -1
- package/src/renderer/tests/composerMenus.browser.html +3 -3
- package/src/renderer/tests/contextCompaction.browser.html +1 -1
- package/src/renderer/tests/errorRecovery.browser.html +1 -1
- package/src/renderer/tests/fixtures/preview.webm +0 -0
- package/src/renderer/tests/glideSelect.browser.html +1 -2
- package/src/renderer/tests/glideSelect.preview.html +1 -1
- package/src/renderer/tests/library.browser.tsx +1 -1
- package/src/renderer/tests/liveOrb.browser.html +1 -1
- package/src/renderer/tests/mediaFixtures.ts +32 -0
- package/src/renderer/tests/modInput.browser.html +1 -1
- package/src/renderer/tests/sessionSources.browser.tsx +76 -15
- package/src/renderer/tests/toolsPanel.browser.tsx +5 -5
- package/src/renderer/tests/viewedImages.browser.tsx +3 -3
- package/src/renderer/tests/voiceDictation.browser.html +101 -0
- package/src/renderer/tests/voicePill.browser.html +3 -3
- package/src/renderer/tests/voicePill.preview.html +1 -1
- package/src/renderer/tests/webSources.browser.tsx +2 -98
- package/src/renderer/tests/workspaceDrop.browser.html +1 -0
- package/src/renderer/tests/workspaceDrop.browser.tsx +183 -0
- package/src/renderer/tests/workspaceExpansion.browser.html +1 -0
- package/src/renderer/tests/workspaceExpansion.browser.tsx +66 -0
- package/src/renderer/tests/workspaceRemoval.browser.html +66 -0
- package/src/renderer/tests/workspaceUndo.browser.html +10 -2
- package/src-tauri/src/app/lifecycle.rs +44 -1
- package/src-tauri/src/commands/conversation.rs +99 -73
- package/src-tauri/src/commands/integrations.rs +7 -1
- package/src-tauri/src/commands/media.rs +7 -0
- package/src-tauri/src/commands/workspace.rs +38 -0
- package/tsconfig.json +15 -1
- package/vite.config.ts +2 -1
- package/vite.config.web.ts +2 -0
- package/out/web/assets/CliSessionsView-D7hw0Mgj.js +0 -1
- package/out/web/assets/CodeReviewPage-C7bEOJfd.js +0 -4
- package/out/web/assets/CodeReviewPage-Dte9uLiL.css +0 -1
- package/out/web/assets/CommandPalette-0RrF-AOT.js +0 -1
- package/out/web/assets/ImageStudioPanel-CdxkAf_r.js +0 -1
- package/out/web/assets/LibraryPage--Qfisp6D.js +0 -2
- package/out/web/assets/LinkedFoldersView-2nfZbDgN.js +0 -1
- package/out/web/assets/McpRegistryPicker-h9uS8_wT.js +0 -1
- package/out/web/assets/McpServersView-slfQJzNB.js +0 -1
- package/out/web/assets/MintDashboard-BSR5XpXh.js +0 -25
- package/out/web/assets/MintDashboard-CWUcCGhd.css +0 -1
- package/out/web/assets/PluginsView-l7LSm503.js +0 -1
- package/out/web/assets/ScheduledTasksView-CttmLbq1.js +0 -1
- package/out/web/assets/SettingsWindow-BCMLYvEV.js +0 -4
- package/out/web/assets/SettingsWindow-DcMVmU9u.css +0 -1
- package/out/web/assets/SkillsView-rNs1qr_U.js +0 -2
- package/out/web/assets/ToolSurfacePage-B9DzEPWN.js +0 -37
- package/out/web/assets/ToolSurfacePage-CTfgggF2.css +0 -1
- package/out/web/assets/VeoStudioPanel-DiJs_Cg2.js +0 -4
- package/out/web/assets/WorkspacePanel-CbJ1PFoZ.js +0 -1
- package/out/web/assets/WorkspaceSelector-B2xIp04D.js +0 -1
- package/out/web/assets/WorkspaceSelector-Ca8uJOsS.css +0 -1
- package/out/web/assets/abnfDiagram-VCTEODGH-CD0CjoGl.js +0 -1
- package/out/web/assets/architecture-7GRP2DOG-RKV83OeZ.js +0 -1
- package/out/web/assets/architectureDiagram-5GKGNRK7-nN_HAFct.js +0 -36
- package/out/web/assets/c4Diagram-UCG6FXSJ-DTdV8_zE.js +0 -38
- package/out/web/assets/chunk-2Q5K7J3B-Dmqrq8Tp.js +0 -1
- package/out/web/assets/chunk-75Z2AOVW-_M0z5olV.js +0 -2
- package/out/web/assets/chunk-CKBBP62Z-BpQEgeHF.js +0 -2
- package/out/web/assets/chunk-CLGD4ZFX-D54yGvGS.js +0 -1
- package/out/web/assets/chunk-CacB07dV.js +0 -1
- package/out/web/assets/chunk-DSNCTWBM-C-gvT2ru.js +0 -2
- package/out/web/assets/chunk-DU6HZSFF-CnFngIhW.js +0 -128
- package/out/web/assets/chunk-F27PBJKO-BqtWrnEO.js +0 -1
- package/out/web/assets/chunk-FOHPRMQF-BaVC1uA7.js +0 -161
- package/out/web/assets/chunk-G27WJ6UU-Ckoq5mi2.js +0 -231
- package/out/web/assets/chunk-JQ64N6SF-CF8T7GiZ.js +0 -1
- package/out/web/assets/chunk-JWPE2WC7-BwtYOHqU.js +0 -1
- package/out/web/assets/chunk-LNGE3PJU-AdBoOWw2.js +0 -34
- package/out/web/assets/chunk-OBVCFTLP-CRIkunUB.js +0 -1
- package/out/web/assets/chunk-P2QGCYS3-UFEU6BxZ.js +0 -1
- package/out/web/assets/chunk-POPQ4Y6H-CQcrNbjr.js +0 -1
- package/out/web/assets/chunk-PWAF6VOD-Cc2uVDsG.js +0 -1
- package/out/web/assets/chunk-R7TYR2AO-DiCxzdAY.js +0 -10
- package/out/web/assets/chunk-RHFEMEQ7-b7hnPmrR.js +0 -168
- package/out/web/assets/chunk-XXDRQBXY-DnJkbUaw.js +0 -1
- package/out/web/assets/chunk-Y2CYZVJY-C9o-s6OY.js +0 -1
- package/out/web/assets/classDiagram-DTDB5LWJ-RnC2mYO4.js +0 -1
- package/out/web/assets/classDiagram-v2-JRS7N3AN-RnC2mYO4.js +0 -1
- package/out/web/assets/config-CnvCChUM.js +0 -2
- package/out/web/assets/config-DM6oIVO3.css +0 -1
- package/out/web/assets/core-DsKkQ7ig.js +0 -1
- package/out/web/assets/cose-bilkent-JH36ORCC--UN4aw5-.js +0 -1
- package/out/web/assets/cynefin-OW5HDTMX-CnzQfOGp.js +0 -1
- package/out/web/assets/cynefinDiagram-5FMLGOSQ-DVtQnfpm.js +0 -62
- package/out/web/assets/cytoscape.esm-Df1UN4Y1.js +0 -321
- package/out/web/assets/dagre-3AP2YEHR-DG76_k5_.js +0 -4
- package/out/web/assets/dagre-BWadQu2F.js +0 -1
- package/out/web/assets/diagram-S7CK7UJ4-CaouUoze.js +0 -30
- package/out/web/assets/diagram-UQ7AKVKN-B4bEc26B.js +0 -41
- package/out/web/assets/diagram-VX7I27RA-7hH5IPYf.js +0 -24
- package/out/web/assets/diagram-Z3DM3KII-CCM4clo8.js +0 -24
- package/out/web/assets/dist-BoTOASLF.js +0 -1
- package/out/web/assets/dist-js-BkYNznHX.js +0 -1
- package/out/web/assets/ebnfDiagram-PWID7BFC-Da7WAM3k.js +0 -1
- package/out/web/assets/event-Cdt7Byyj.js +0 -1
- package/out/web/assets/eventmodeling-NTZA5JFV-xcfsA0XD.js +0 -1
- package/out/web/assets/flowDiagram-A5DVABFB-JdtH1673.js +0 -1
- package/out/web/assets/ganttDiagram-EL5Y4UJY-B3ClFGmL.js +0 -292
- package/out/web/assets/gitGraph-4MIJSDKK-BZ_y_cDU.js +0 -1
- package/out/web/assets/gitGraphDiagram-WWUBYQGX-drhRSYm3.js +0 -106
- package/out/web/assets/graphlib-CTR5ZhLf.js +0 -1
- package/out/web/assets/index-BZ9xgmMP.css +0 -1
- package/out/web/assets/index-Ca8cCS4h.js +0 -168
- package/out/web/assets/info-A6RAGUB7-B7I3K0F1.js +0 -1
- package/out/web/assets/infoDiagram-RXCK75RN-deX_1MPh.js +0 -2
- package/out/web/assets/journeyDiagram-EYS64GPL-CZn2kB8b.js +0 -139
- package/out/web/assets/jsx-runtime-DN4NhQUK.js +0 -1
- package/out/web/assets/katex-O3jvqgnU.js +0 -257
- package/out/web/assets/markdown-CMhYIcWB.js +0 -39
- package/out/web/assets/mermaid-parser.core-Whu2rlJC.js +0 -7
- package/out/web/assets/mermaid.core-CKyPo8VH.js +0 -11
- package/out/web/assets/modelManager-CUaGWMWu.js +0 -2
- package/out/web/assets/oauthManager-DlNhXJr6.js +0 -1
- package/out/web/assets/packet-AYTQ26CC-CEeIRKRG.js +0 -1
- package/out/web/assets/pegDiagram-XKGWAZYB-BYadI-KO.js +0 -1
- package/out/web/assets/pie-WAS4IAKB-D8uf4dh5.js +0 -1
- package/out/web/assets/pieDiagram-E7YTZNPT-CjSDy4hO.js +0 -39
- package/out/web/assets/radar-RG4KPBEZ-DZJxnokY.js +0 -1
- package/out/web/assets/railroad-74A4TZTK-DBysUiUi.js +0 -1
- package/out/web/assets/railroad-abnf-HS5TGJTU-CHWxoJYg.js +0 -1
- package/out/web/assets/railroad-ebnf-LZEXJU2U-DDv7X6bY.js +0 -1
- package/out/web/assets/railroad-peg-WCYAUIDC-DpfcYYNJ.js +0 -1
- package/out/web/assets/railroadDiagram-O6MQD6OU-CYtyv0t3.js +0 -1
- package/out/web/assets/rough.esm-DFbTUy8a.js +0 -1
- package/out/web/assets/sankeyDiagram-P5KCCOFB-Bn2x6C4Y.js +0 -40
- package/out/web/assets/sequenceDiagram-WJ2MYXX4-BvFLKtPd.js +0 -162
- package/out/web/assets/sizeCapture-X5ZJPWSS-DKeOCaN2.js +0 -1
- package/out/web/assets/src-DnfeXQPr.js +0 -1
- package/out/web/assets/stateDiagram-HBIQ2CUA-Bx0GWeaY.js +0 -1
- package/out/web/assets/stateDiagram-v2-4QOOHH4V--hol1yg_.js +0 -1
- package/out/web/assets/studio-B1mk40wD.js +0 -1
- package/out/web/assets/swimlanes-XN3QIQJK-CCma0T7L.js +0 -1
- package/out/web/assets/swimlanesDiagram-VK2B7HYN-BkohoVsU.js +0 -8
- package/out/web/assets/timeline-definition-24CTP7MA-iCRhhJ7C.js +0 -120
- package/out/web/assets/treeView-Q6P3EWNA-DZ-y08qp.js +0 -1
- package/out/web/assets/treemap-WGGIJYW6-De0CxzMx.js +0 -1
- package/out/web/assets/vennDiagram-4TSXK5OY-w_7aZ6xe.js +0 -34
- package/out/web/assets/wardley-WFR3VGLG-DT0y0xJ4.js +0 -1
- package/out/web/assets/window-BJCVtyET.js +0 -1
- package/src/renderer/shared/components/ChatPanel.test.tsx +0 -21
- package/src/renderer/shared/components/FormattedMessage.tsx +0 -11
- package/src/renderer/shared/components/GlideSelect.d.ts +0 -31
- package/src/renderer/shared/components/GlideSelect.jsx +0 -266
- package/src/renderer/shared/components/InlineThoughtNote.tsx +0 -27
- package/src/renderer/shared/components/ModSessionControls.tsx +0 -8
- package/src/renderer/shared/components/ModUi.tsx +0 -26
- package/src/renderer/shared/components/ProgressActivity.tsx +0 -17
- package/src/renderer/shared/components/ReviewHistory.tsx +0 -42
- package/src/renderer/shared/components/RunSummaryDashboard.tsx +0 -143
- package/src/renderer/shared/components/SelectField.tsx +0 -38
- package/src/renderer/shared/components/SessionSources.tsx +0 -48
- package/src/renderer/shared/components/SessionSourcesPopover.tsx +0 -61
- package/src/renderer/shared/components/ToolSurfacePage.test.tsx +0 -32
- package/src/renderer/shared/components/ViewedImages.tsx +0 -36
- package/src/renderer/shared/components/WorkspaceContextPopover.tsx +0 -138
- package/src/renderer/shared/components/ui/demo.tsx +0 -26
- package/src/renderer/shared/css/session-sources-popover.css +0 -9
- package/src/renderer/src/components/CalculationCard.tsx +0 -3
- package/src/renderer/src/components/ImageGenCard.tsx +0 -2
- package/src/renderer/src/components/ImageSearchCard.tsx +0 -2
- package/src/renderer/src/components/MermaidCard.tsx +0 -1
- package/src/renderer/src/components/PicturesLibrary.tsx +0 -2
- package/src/renderer/src/components/Settings/AgentsTab.tsx +0 -4
- package/src/renderer/src/components/Settings/AudioTab.tsx +0 -3
- package/src/renderer/src/components/Settings/AutomationTab.tsx +0 -3
- package/src/renderer/src/components/Settings/GeneralTab.tsx +0 -3
- package/src/renderer/src/components/Settings/MemoryTab.tsx +0 -3
- package/src/renderer/src/components/Settings/PluginsTab.tsx +0 -3
- package/src/renderer/src/components/Settings/ProfileTab.tsx +0 -3
- package/src/renderer/src/components/Settings/ShortcutsTab.tsx +0 -3
- package/src/renderer/src/components/Settings/ThemeTab.tsx +0 -3
- package/src/renderer/src/components/StockCard.tsx +0 -3
- package/src/renderer/src/components/WeatherCard.tsx +0 -3
- package/src/renderer/src/css/pictures.css +0 -2
- package/src/renderer/src/css/settings/base.css +0 -1266
- package/src/renderer/src-web/components/PicturesLibrary.tsx +0 -2
- package/src/renderer/src-web/components/Settings/AgentsTab.tsx +0 -4
- package/src/renderer/src-web/components/Settings/AudioTab.tsx +0 -3
- package/src/renderer/src-web/components/Settings/AutomationTab.tsx +0 -3
- package/src/renderer/src-web/components/Settings/GeneralTab.tsx +0 -3
- package/src/renderer/src-web/components/Settings/MemoryTab.tsx +0 -3
- package/src/renderer/src-web/components/Settings/PluginsTab.tsx +0 -3
- package/src/renderer/src-web/components/Settings/ProfileTab.tsx +0 -3
- package/src/renderer/src-web/components/Settings/ShortcutsTab.tsx +0 -3
- package/src/renderer/src-web/components/Settings/ThemeTab.tsx +0 -3
- package/src/renderer/src-web/css/pictures.css +0 -2
- package/src/renderer/src-web/css/spotlight.css +0 -102
- package/src/renderer/src-web/css/widget.css +0 -213
- /package/src/renderer/shared/components/{UiMockupWidget.tsx → cards/UiMockupWidget.tsx} +0 -0
- /package/src/renderer/shared/components/{ContextCompactionStatus.tsx → chat/ContextCompactionStatus.tsx} +0 -0
- /package/src/renderer/shared/components/{GeminiLiveOverlay.css → chat/GeminiLiveOverlay.css} +0 -0
- /package/src/renderer/shared/components/{GeminiLiveOverlay.test.tsx → chat/GeminiLiveOverlay.test.tsx} +0 -0
- /package/src/renderer/shared/components/{SlashSuggestions.test.tsx → chat/SlashSuggestions.test.tsx} +0 -0
- /package/src/renderer/shared/components/{VirtualChatHistory.tsx → chat/VirtualChatHistory.tsx} +0 -0
- /package/src/renderer/shared/components/{VoicePill.d.ts → chat/VoicePill.d.ts} +0 -0
- /package/src/renderer/shared/components/{VoicePill.test.tsx → chat/VoicePill.test.tsx} +0 -0
- /package/src/renderer/shared/components/{ScreenCaptureDialog.css → studio/ScreenCaptureDialog.css} +0 -0
- /package/src/renderer/shared/components/{ScreenCaptureDialog.tsx → studio/ScreenCaptureDialog.tsx} +0 -0
- /package/src/renderer/shared/components/{SelectField.test.tsx → ui/SelectField.test.tsx} +0 -0
- /package/src/renderer/shared/components/{background-terminals.css → workspace/background-terminals.css} +0 -0
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/window-BJCVtyET.js","assets/chunk-CacB07dV.js","assets/core-DsKkQ7ig.js","assets/event-Cdt7Byyj.js","assets/WorkspacePanel-CbJ1PFoZ.js","assets/ToolSurfacePage-B9DzEPWN.js","assets/index-Ca8cCS4h.js","assets/jsx-runtime-DN4NhQUK.js","assets/index-BZ9xgmMP.css","assets/CodeReviewPage-C7bEOJfd.js","assets/config-CnvCChUM.js","assets/config-DM6oIVO3.css","assets/markdown-CMhYIcWB.js","assets/CodeReviewPage-Dte9uLiL.css","assets/ToolSurfacePage-CTfgggF2.css","assets/SkillsView-rNs1qr_U.js","assets/ScheduledTasksView-CttmLbq1.js","assets/LinkedFoldersView-2nfZbDgN.js","assets/McpServersView-slfQJzNB.js","assets/McpRegistryPicker-h9uS8_wT.js","assets/PluginsView-l7LSm503.js","assets/oauthManager-DlNhXJr6.js","assets/CliSessionsView-D7hw0Mgj.js","assets/WorkspaceSelector-B2xIp04D.js","assets/WorkspaceSelector-Ca8uJOsS.css","assets/CliSessionsView-CtzUJpK_.css","assets/LibraryPage--Qfisp6D.js","assets/LibraryPage-DAxUTAg7.css","assets/ImageStudioPanel-CdxkAf_r.js","assets/studio-B1mk40wD.js","assets/ImageStudioPanel-D0lnhQV5.css","assets/VeoStudioPanel-DiJs_Cg2.js","assets/modelManager-CUaGWMWu.js","assets/VeoStudioPanel-DOj7_WR3.css","assets/CommandPalette-0RrF-AOT.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{i as e,n as t}from"./chunk-CacB07dV.js";import{n,t as r}from"./jsx-runtime-DN4NhQUK.js";import{$t as i,A as a,C as o,Cr as s,Dr as c,Dt as l,E as u,F as d,Fn as f,Fr as p,Ft as m,Gn as h,Gr as g,Gt as _,I as v,L as y,Ln as b,Lt as x,M as S,Nn as C,Nr as w,Nt as T,O as E,P as D,R as O,T as k,Tn as A,U as ee,Un as te,Ur as ne,Ut as re,V as j,Vn as ie,Vt as ae,Y as M,_ as oe,_r as se,dn as ce,dt as le,g as N,h as ue,jn as de,jr as P,k as fe,kn as pe,kr as me,kt as F,ln as he,lr as ge,m as _e,p as ve,pt as ye,q as be,qn as xe,qr as Se,tn as Ce,tt as we,v as Te,w as Ee,xr as De,y as Oe,yr as ke,zn as Ae,zr as je}from"./index-Ca8cCS4h.js";import{$ as Me,A as Ne,C as Pe,D as Fe,F as Ie,I as Le,J as Re,K as ze,N as Be,Q as Ve,R as He,S as Ue,St as We,T as Ge,Tt as Ke,U as qe,V as Je,W as Ye,Z as Xe,_ as Ze,_t as Qe,a as $e,at as et,b as tt,bt as nt,c as rt,ct as it,d as at,dt as ot,et as st,f as ct,ft as lt,g as ut,gt as dt,h as ft,ht as pt,it as mt,j as ht,l as gt,lt as _t,m as vt,mt as yt,n as bt,o as xt,ot as St,p as Ct,pt as wt,q as Tt,r as Et,rt as Dt,s as Ot,st as kt,t as At,tt as jt,u as Mt,ut as Nt,v as Pt,vt as Ft,w as It,wt as Lt,x as Rt,y as zt,yt as Bt,z as Vt}from"./config-CnvCChUM.js";import{a as Ht,i as Ut,n as Wt,r as Gt,t as Kt}from"./WorkspaceSelector-B2xIp04D.js";import{_ as qt,a as Jt,c as Yt,d as Xt,f as Zt,g as Qt,h as $t,i as en,l as tn,m as nn,n as rn,o as an,p as on,r as sn,s as cn,t as ln,u as un}from"./markdown-CMhYIcWB.js";import{a as dn,c as fn,d as pn,f as mn,i as hn,l as gn,n as _n,o as vn,p as yn,r as bn,s as xn,t as Sn,u as Cn}from"./CodeReviewPage-C7bEOJfd.js";var wn=t((()=>{}));async function Tn(e,t,n){let r=mn(t);if(r===`code`)throw Error(`This file type does not support Preview`);if(r===`markdown`)return{path:t,workspacePath:e,type:r,content:await n.readWorkspaceFile(t,e)};let{url:i}=await n.startHtmlPreview(e,t);return{path:t,workspacePath:e,type:r,url:i}}var En=t((()=>{yn()})),Dn=t((()=>{}));function On(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 kn(e){return e.filter(e=>e.type===`Thought`).map(e=>e.data.thought).filter(e=>!!e&&!On(e))}function An(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&&On(n.data.thought)&&t.push(n.data.thought);return t}function jn(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===`ToolArtifacts`||e.type===`DeviceState`||e.type===`ToolDiscovery`||(e.type===`ToolStart`||e.type===`ToolEnd`)&&[`mcp_tool`,`view_image`].includes(e.data.action)||e.type===`Thought`||e.type===`ThinkingDelta`||e.type===`ExtendedThinking`||n.has(e))}function Mn(e,t){if(t.type===`DeviceState`&&t.data.update.state!==`accepted`){let n=e.findIndex(e=>e.type===`DeviceState`&&e.data.callId===t.data.callId&&e.data.update.state!==`accepted`);if(n>=0){let r=e.slice();return r[n]=t,r}}if(t.type===`ToolDiscovery`){let n=e.findIndex(e=>e.type===`ToolDiscovery`&&e.data.server===t.data.server&&e.data.tool===t.data.tool);if(n>=0){let r=e.slice();return r[n]=t,r}}if(t.type===`ToolProgress`){let n=e.findIndex(e=>e.type===`ToolProgress`&&e.data.callId===t.data.callId);if(n>=0){let r=e.slice();return r[n]=t,r}}if(t.type===`ThinkingDelta`){let n=e.findIndex(e=>e.type===`ThinkingDelta`&&e.data.id===t.data.id);if(n<0)return jn([...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,jn(r)}}return jn([...e,t])}function Nn(e,t){return t.reduce(Mn,e)}function Pn(e){let t=new Set(e.filter(e=>e.type===`ExtendedThinking`).map(e=>e.data.id).filter(e=>!!e)),n=[],r=new Map,i=new Map;for(let t of e)t.type===`ToolProgress`&&i.set(t.data.callId,t),t.type===`DeviceState`&&t.data.update.state!==`accepted`&&i.set(`device:${t.data.callId}`,t);for(let a of e)if(!(a.type===`ToolProgress`&&i.get(a.data.callId)!==a)&&!(a.type===`DeviceState`&&a.data.update.state!==`accepted`&&i.get(`device:${a.data.callId}`)!==a)){if(a.type===`ThinkingDelta`){if(!t.has(a.data.id)){let e=r.get(a.data.id);r.set(a.data.id,e?{type:`ThinkingDelta`,data:{id:a.data.id,delta:`${e.data.delta}${a.data.delta}`,elapsed_ms:a.data.elapsed_ms}}:a)}continue}n.push(a)}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 Fn(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 In(e){let t=Bn.get(e);if(t?.length===e.length)return t.changes;let n=Ln(e);return Bn.set(e,{length:e.length,changes:n}),n}function Ln(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 Rn(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 zn,Bn,Vn=t((()=>{zn=[],Bn=new WeakMap})),Hn=t((()=>{}));function Un({artifact:e}){let[t,n]=(0,Wn.useState)(``),[r,i]=(0,Wn.useState)(``),a=(0,Wn.useRef)(null);return(0,Wn.useEffect)(()=>{if(e.kind===`link`)return;let t=!0,r=``;return D.readMcpArtifact(e.id).then(e=>{if(!t){e.startsWith(`blob:`)&&URL.revokeObjectURL(e);return}r=e,n(e)}).catch(()=>{t&&i(`Attachment unavailable`)}),()=>{t=!1,r.startsWith(`blob:`)&&URL.revokeObjectURL(r)}},[e.id,e.kind]),e.kind===`link`?/^https?:\/\//i.test(e.uri||``)?(0,Gn.jsx)(`a`,{href:e.uri,target:`_blank`,rel:`noreferrer`,children:e.name}):(0,Gn.jsxs)(`span`,{children:[e.name,`: `,e.uri]}):(0,Gn.jsxs)(`div`,{className:`mcp-artifact`,children:[e.kind===`image`&&t&&(0,Gn.jsxs)(Gn.Fragment,{children:[(0,Gn.jsx)(`button`,{type:`button`,className:`mcp-image-button`,onClick:()=>a.current?.showModal(),"aria-label":`View ${e.name}`,children:(0,Gn.jsx)(`img`,{src:t,alt:e.name,onError:()=>i(`Image unavailable`)})}),(0,Gn.jsxs)(`dialog`,{ref:a,className:`mcp-image-dialog`,"aria-label":e.name,children:[(0,Gn.jsx)(`button`,{type:`button`,onClick:()=>a.current?.close(),children:`Close`}),(0,Gn.jsx)(`img`,{src:t,alt:e.name})]})]}),t?(0,Gn.jsxs)(`a`,{href:t,download:e.name,children:[e.name,` · `,(e.size/1024).toFixed(1),` KB`]}):(0,Gn.jsxs)(`span`,{children:[e.name,` · `,r||`Loading attachment…`]}),r&&t&&(0,Gn.jsx)(`span`,{role:`status`,children:r})]})}var Wn,Gn,Kn,qn=t((()=>{Wn=e(n()),S(),Hn(),Gn=r(),Kn=(0,Wn.memo)(function({progress:e,running:t=!1,interrupted:n=!1}){let[,r]=(0,Wn.useState)(0),i=(0,Wn.useRef)(new Map),{calls:a,discovery:o,artifacts:s,warnings:c}=(0,Wn.useMemo)(()=>{let t=new Map,n=new Map,r=new Map,a=new Set;for(let o of e)if(o.type===`ToolStart`&&o.data.action===`mcp_tool`&&o.data.callId){let e=o.data.callId;i.current.has(e)||i.current.set(e,Date.now()),t.set(e,{label:`${o.data.input.server}/${o.data.input.tool}`})}else if(o.type===`ToolDiscovery`)n.set(`${o.data.server}/${o.data.tool}`,o.data.message);else if(o.type===`DeviceState`){let{callId:e,server:n,tool:r,update:i}=o.data;t.set(e,{...t.get(e),label:`${n}/${r}`,device:i})}else if(o.type===`ToolProgress`){let{callId:e,server:n,tool:r,update:i}=o.data;t.set(e,{...t.get(e),label:`${n}/${r}`,update:i})}else if(o.type===`ToolEnd`&&o.data.callId&&o.data.action===`mcp_tool`){let e=t.get(o.data.callId);t.set(o.data.callId,{label:e?.label||`${o.data.input.server}/${o.data.input.tool}`,...e,status:o.data.status||(/^(Error:|Blocked|User denied)/.test(o.data.result)?`failed`:`success`)})}else if(o.type===`ToolArtifacts`){for(let e of o.data.artifacts)r.set(e.id,e);for(let e of o.data.warnings)a.add(e)}return{calls:t,discovery:n,artifacts:r,warnings:a}},[e]),l=t&&[...a.values()].some(e=>!e.status);return(0,Wn.useEffect)(()=>{if(!l)return;let e=setInterval(()=>r(e=>e+1),1e3);return()=>clearInterval(e)},[l]),!a.size&&!s.size&&!c.size&&!o.size?null:(0,Gn.jsxs)(`section`,{className:`mcp-results`,"aria-label":`MCP results`,children:[[...o].map(([e,t])=>(0,Gn.jsxs)(`div`,{className:`mcp-call-status`,role:`status`,children:[(0,Gn.jsx)(`strong`,{children:e}),(0,Gn.jsx)(`span`,{children:t})]},e)),[...a].map(([e,r])=>{let a=t&&!r.status,o=Math.max(r.update?.elapsedSecs||0,Math.floor((Date.now()-(i.current.get(e)||Date.now()))/1e3)),s=r.update?.total?Math.min(100,Math.round(r.update.progress/r.update.total*100)):void 0,c=r.device&&(a&&!n||[`verified`,`failed`,`unconfirmed`].includes(r.device.state))?{accepted:`Command accepted; awaiting device confirmation`,running:`Awaiting device completion`,verified:`Device completion verified`,failed:`Device reported failure`,unconfirmed:`Device completion unconfirmed`}[r.device.state]:void 0,l=r.status===`cancelled`||!r.status&&n?`Stopped waiting; remote work may still be running.`:r.status===`timed_out`?`Timed out; remote completion is unconfirmed.`:r.status===`failed`?`Failed`:r.status===`success`?`Completed`:a?`Working · ${o}s`:`Interrupted; result unconfirmed`;return(0,Gn.jsxs)(`div`,{className:`mcp-call-status`,role:`status`,children:[(0,Gn.jsx)(`strong`,{children:r.label}),(0,Gn.jsx)(`span`,{children:c||l}),r.device&&(0,Gn.jsxs)(Gn.Fragment,{children:[(0,Gn.jsx)(`span`,{children:r.device.message}),(0,Gn.jsxs)(`span`,{children:[`Target: `,JSON.stringify(r.device.target),` · Actual: `,JSON.stringify(r.device.actual)]})]}),a&&r.update?.message&&(0,Gn.jsx)(`span`,{children:r.update.message}),a&&s!==void 0&&(0,Gn.jsxs)(`progress`,{max:100,value:s,"aria-label":`${r.label} progress`,children:[s,`%`]})]},e)}),(0,Gn.jsx)(`div`,{className:`mcp-artifacts`,children:[...s.values()].map(e=>(0,Gn.jsx)(Un,{artifact:e},e.id))}),[...c].map(e=>(0,Gn.jsx)(`p`,{role:`status`,children:e},e))]})})}));function Jn(e){let t=e.trim().split(`
|
|
9
|
-
`,1)[0].trim();return/^data:image\/(?:png|jpeg|gif|webp|svg\+xml);base64,[A-Za-z0-9+/]+={0,2}$/.test(t)?t:null}function Yn(e){let t=new Map,n=0;return e.forEach(e=>{if(e.type!==`ToolEnd`||e.data.action!==`view_image`||e.data.status&&e.data.status!==`success`)return;let r=Jn(e.data.result);if(!r)return;let i=typeof e.data.input.path==`string`?e.data.input.path:``,a=i.replaceAll(`\\`,`/`).split(`/`).at(-1)||`Image`,o=e.data.callId||`view-image-${n++}`;t.set(o,{id:o,src:r,path:i,name:a})}),[...t.values()]}var Xn=t((()=>{})),Zn=t((()=>{}));function Qn({image:e}){let[t,n]=(0,$n.useState)(!1),[r,i]=(0,$n.useState)(!1),a=(0,$n.useRef)(null);return(0,$n.useEffect)(()=>{n(!1)},[e.src]),(0,$n.useEffect)(()=>{r&&a.current?.showModal()},[r]),(0,er.jsxs)(`figure`,{className:`viewed-image`,"data-viewed-image":e.id,children:[t?(0,er.jsx)(`p`,{className:`viewed-image-error`,role:`status`,children:`Image preview unavailable`}):(0,er.jsx)(`button`,{type:`button`,className:`viewed-image-button`,"aria-label":`Expand ${e.name}`,onClick:()=>i(!0),children:(0,er.jsx)(`img`,{src:e.src,alt:`Viewed image: ${e.name}`,loading:`lazy`,onError:()=>n(!0)})}),(0,er.jsx)(`figcaption`,{title:e.path,children:e.name}),(0,er.jsxs)(`dialog`,{ref:a,className:`viewed-image-dialog`,"aria-label":`Image preview: ${e.name}`,onClose:()=>i(!1),onClick:e=>{e.target===e.currentTarget&&a.current?.close()},children:[(0,er.jsxs)(`header`,{children:[(0,er.jsx)(`span`,{title:e.path,children:e.name}),(0,er.jsx)(`button`,{type:`button`,"aria-label":`Close image preview`,onClick:()=>a.current?.close(),children:(0,er.jsx)(j,{size:18})})]}),r&&(0,er.jsx)(`img`,{src:e.src,alt:e.name})]})]})}var $n,er,tr,nr=t((()=>{$n=e(n()),O(),Xn(),Zn(),er=r(),tr=(0,$n.memo)(function({progress:e}){let t=(0,$n.useMemo)(()=>Yn(e),[e]);return t.length?(0,er.jsx)(`section`,{className:`viewed-images`,"aria-label":`Images viewed by Mint`,children:t.map(e=>(0,er.jsx)(Qn,{image:e},e.id))}):null})}));function rr(e,t,n,r){let i=r.replace(/\r\n?/g,`
|
|
10
|
-
`);return{value:e.slice(0,t)+i+e.slice(n),text:i,caret:t+i.length,collapsed:i.replace(/\n$/,``).split(`
|
|
11
|
-
`).length>6}}function ir(e){return`[Pasted Content ${Array.from(e).length} chars]`}var ar=t((()=>{})),or=t((()=>{}));function sr({value:e,inputRef:t,onValueChange:n,onResizeInput:r,...i}){let[a,o]=(0,cr.useState)(null),[s,c]=(0,cr.useState)(!1),l=(0,cr.useRef)(null),u=a!==null&&a.value===e&&!s;(0,cr.useEffect)(()=>{a&&a.value!==e&&(o(null),c(!1)),u&&l.current?.focus()},[e,a,u]);let d=()=>{c(!0),setTimeout(()=>{let e=t.current;e&&(e.focus(),e.setSelectionRange(0,0),r?.(e))},0)};return(0,lr.jsxs)(lr.Fragment,{children:[u&&(0,lr.jsxs)(`button`,{type:`button`,ref:l,className:`chat-pasted-content`,"aria-label":`${ir(a.text)} — view or edit full prompt`,onClick:d,onKeyDown:e=>{e.key===`F2`&&(e.preventDefault(),d()),e.key===`Enter`&&!e.shiftKey&&!e.nativeEvent.isComposing&&(e.preventDefault(),e.currentTarget.form?.requestSubmit())},children:[(0,lr.jsx)(`span`,{children:ir(a.text)}),(0,lr.jsx)(`span`,{className:`chat-pasted-content-action`,children:`View / edit`})]}),(0,lr.jsx)(`textarea`,{...i,ref:t,value:e,hidden:u,style:{...i.style,display:u?`none`:i.style?.display},"aria-keyshortcuts":a?`F2`:i[`aria-keyshortcuts`],title:a?`F2: open/collapse pasted content`:i.title,onKeyDown:t=>{t.key===`F2`&&a&&a.value===e&&!t.nativeEvent.isComposing?(t.preventDefault(),t.stopPropagation(),o({value:e,text:e}),c(!1)):i.onKeyDown?.(t)},onChange:e=>{a&&o({value:e.target.value,text:e.target.value}),i.onChange?.(e)},onPaste:t=>{if(i.onPaste?.(t),t.defaultPrevented)return;let s=t.clipboardData.getData(`text/plain`);if(!s)return;t.preventDefault(),t.stopPropagation();let l=t.currentTarget,u=rr(e,l.selectionStart,l.selectionEnd,s);o(u.collapsed?{value:u.value,text:u.text}:a?{value:u.value,text:u.value}:null),c(!u.collapsed&&a!==null),n(u.value),u.collapsed||setTimeout(()=>{l.setSelectionRange(u.caret,u.caret),r?.(l)},0)}})]})}var cr,lr,ur=t((()=>{cr=e(n()),ar(),or(),lr=r()}));function dr({elapsedSeconds:e}){let[t,n]=(0,fr.useState)(0);return(0,fr.useEffect)(()=>{let e=Date.now(),t=setInterval(()=>n(Math.floor((Date.now()-e)/1e3)),250);return()=>clearInterval(t)},[]),(0,pr.jsxs)(`div`,{role:`status`,"aria-live":`polite`,className:`context-compaction-status`,children:[(0,pr.jsxs)(`div`,{className:`thinking-status`,children:[(0,pr.jsxs)(`span`,{className:`thinking-status-label`,children:[(0,pr.jsx)(`span`,{"aria-hidden":`true`,children:`✦ `}),`Compacting context`]}),(0,pr.jsx)(`span`,{className:`thinking-status-meta`,children:` · ${e??t}s · Esc to cancel`})]}),(0,pr.jsx)(`div`,{className:`thinking-status-meta`,children:`Summarizing earlier steps to continue working`})]})}var fr,pr,mr=t((()=>{fr=e(n()),pr=r()}));function hr(e){let t=new Map,n=0;for(let r=0;r<e.length;r++){let i=e[r];if(i.type!==`ContextCompaction`)continue;let a=i.data.subagent??``;if(i.data.status===`started`)t.size===0&&(n=r),t.set(a,{count:(t.get(a)?.count??0)+1,data:i.data});else{let e=t.get(a);e&&e.count>1?e.count--:t.delete(a)}}let r=t.values().next().value;return r?{...r.data,index:n}:null}var gr=t((()=>{}));function _r(e,t,n){return!t||n==null?e:e.filter(e=>e.id!==n)}var vr=t((()=>{}));function yr(e,t){let n=e[t];return typeof n==`string`&&n.trim()?n:``}function br(e){return e.replace(/^\/home\/([^/]+)/,`~`)||`workspace`}function xr(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 Sr(e,t){let n=yr(t,`path`),r=yr(t,`query`)||yr(t,`q`)||yr(t,`keyword`)||yr(t,`search`)||yr(t,`prompt`)||yr(t,`searchTerm`)||yr(t,`search_term`),i=yr(t,`command`)||yr(t,`cmd`),a=yr(t,`name`),o=yr(t,`tool`),s=yr(t,`symbol`)||yr(t,`ticker`),c=yr(t,`filter`),l=yr(t,`expression`)||yr(t,`expr`)||yr(t,`math`),u=yr(t,`city`)||yr(t,`location`)||yr(t,`place`),d=yr(t,`url`),f=yr(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===`read_file`&&yr(t,`skill_name`)?`Reading skill: ${yr(t,`skill_name`)}`:e,target:br(h),kind:xr(e,h),state:`active`,action:e}}function Cr(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 wr(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(Tr(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(Tr(n)),t}function Tr(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 Er(e){let t=Ar.get(e);if(t?.length===e.length)return t.view;let n=Dr(e);return Ar.set(e,{length:e.length,view:n}),n}function Dr(e){let t=[],n=[],r=null,i=0,a=()=>{if(!r)return;let e=Tr(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=Sr(o.data.action,o.data.input);if(e.callId=o.data.callId,t.push(e),o.data.action===`read_file`&&yr(o.data.input,`skill_name`)){a(),n.push({id:`skill-${i++}`,kind:`activity`,activity:e});continue}let s=e.action||e.label;!r||r.action!==s?(a(),r={id:`timeline-group-${i++}-${s}`,action:s,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`){let e=Sr(o.data.action,o.data.input);for(let n=t.length-1;n>=0;--n){if(t[n].state!==`active`||o.data.callId&&t[n].callId!==o.data.callId||t[n].action!==e.action||t[n].target!==e.target)continue;t[n].state=o.data.status?o.data.status===`success`?`done`:`error`:/^(Error:|Blocked|User denied)/.test(o.data.result)?`error`:`done`;let r=o.data.action===`view_image`?Jn(o.data.result):null;if(t[n].result=r?o.data.result.replace(r,`[Image displayed below]`):o.data.result,o.data.action===`read_file`){let e=o.data.result.match(/^\[Loaded skill: ([^\n]+)\]\n/);e?t[n].label=`Loaded skill: ${e[1]}`:t[n].label.startsWith(`Reading skill:`)&&(t[n].label=t[n].state===`error`?t[n].label.replace(`Reading skill:`,`Failed to read skill:`):t[n].label.replace(`Reading skill:`,`Read skill preview:`))}if(t[n].action===`ask_user`&&o.data.result.startsWith(`User answered:`)){let e=o.data.result.replace(`User answered:`,``).trim();t[n].target=`(Answered: "${e}") ${t[n].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===`ContextCompaction`)o.data.status!==`started`&&(a(),n.push({id:`context-${i++}`,kind:`thought`,thought:o.data.subagent?`[${o.data.subagent}] ${o.data.message}`:o.data.message}));else if(o.type===`Thought`){let e=o.data?.thought?.trim();if(e){a();let t=On(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:Cr(t),items:s,groups:wr(s),timeline:n.slice(-60)}}function Or(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(`
|
|
12
|
-
`).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 kr(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 Ar,jr=t((()=>{Vn(),Xn(),Ar=new WeakMap}));function Mr(e){let t=(0,Nr.useRef)(e);return(0,Nr.useLayoutEffect)(()=>{t.current=e},[e]),(0,Nr.useCallback)(((...e)=>t.current(...e)),[])}var Nr,Pr=t((()=>{Nr=e(n())})),Fr=t((()=>{}));function Ir({choice:e,inputRef:t,onSelect:n,onDismiss:r}){let[i,a]=(0,Lr.useState)(0),o=(0,Lr.useRef)(null),s=(0,Lr.useRef)([]),c=Math.min(i,Math.max(0,e.options.length-1));return(0,Lr.useEffect)(()=>{a(0),t.current?.focus()},[e,t]),(0,Lr.useEffect)(()=>{s.current[c]?.scrollIntoView({block:`nearest`})},[c,e]),(0,Lr.useEffect)(()=>{let i=i=>{if(i.isComposing||i.shiftKey||i.altKey||i.ctrlKey||i.metaKey)return;let l=i.target,u=l===t.current,d=l!==null&&o.current?.contains(l);if(!(i.key!==`Escape`&&!u&&!d)&&!(i.key===`Enter`&&!u&&!s.current.includes(l))){if(i.key===`Escape`){i.preventDefault(),i.stopPropagation(),r?.(),t.current?.focus();return}if(e.options.length)if(i.key===`ArrowUp`||i.key===`ArrowDown`){i.preventDefault(),i.stopPropagation();let t=(c+(i.key===`ArrowDown`?1:-1)+e.options.length)%e.options.length;a(t),d&&s.current[t]?.focus()}else i.key===`Enter`&&(i.preventDefault(),i.stopPropagation(),n?.(e.options[c].value),t.current?.focus())}};return window.addEventListener(`keydown`,i,!0),()=>window.removeEventListener(`keydown`,i,!0)},[e,t,r,n,c]),(0,Rr.jsxs)(`section`,{ref:o,className:`slash-choice-panel`,"aria-label":`${e.command} choices`,children:[(0,Rr.jsxs)(`header`,{className:`slash-choice-heading`,children:[(0,Rr.jsxs)(`div`,{children:[(0,Rr.jsx)(`span`,{className:`slash-choice-command`,children:e.command}),(0,Rr.jsx)(`p`,{children:e.title})]}),(0,Rr.jsx)(`button`,{type:`button`,onClick:r,"aria-label":`Dismiss choices`,children:`×`})]}),(0,Rr.jsx)(`div`,{className:`slash-choice-options`,role:`group`,"aria-label":`Options`,children:e.options.map((e,r)=>(0,Rr.jsxs)(`button`,{ref:e=>{s.current[r]=e},type:`button`,"aria-pressed":r===c,className:r===c?`active`:void 0,onPointerMove:()=>a(r),onFocus:()=>a(r),onClick:()=>{n?.(e.value),t.current?.focus()},children:[(0,Rr.jsxs)(`span`,{children:[r+1,`.`]}),e.label]},e.value))}),(0,Rr.jsx)(`span`,{className:`slash-choice-status`,role:`status`,children:e.options[c]?.label}),(0,Rr.jsx)(`div`,{className:`slash-choice-hint`,children:`↑↓ select · Enter choose · Esc dismiss`})]})}var Lr,Rr,zr=t((()=>{Lr=e(n()),Fr(),Rr=r()})),Br=t((()=>{})),Vr,Hr=t((()=>{Vr=JSON.parse(`[{"token":"/mint-web","usage":"","description":"Start Mint Web in a background terminal; stop it when Mint closes","category":"system","surfaces":["cli","web","desktop"]},{"token":"/help","usage":"","description":"Show this help","category":"system","surfaces":["cli","web","desktop"]},{"token":"/mods","usage":"[list|source|validate|test|enable|disable|export|import|hot-reload]","description":"Manage workspace mods, tests and live UI panels","category":"tools","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":"/preview","usage":"<relative HTML, Markdown, or image path>","description":"Serve workspace HTML, Markdown, or images locally and return its browser URL","category":"tools","surfaces":["cli","desktop","web"]},{"token":"/shells","usage":"[all|show <id>|stop <id>|kill <id>]","description":"List background terminals, view output, or stop a job","category":"tools","surfaces":["cli","desktop","web"]},{"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|timeout <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":"/history","usage":"","description":"Show saved workspace file actions and backups","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/undo","usage":"","description":"Undo the latest workspace file action, with conflict checks","category":"tools","surfaces":["cli","web","desktop"]},{"token":"/palette","usage":"","description":"Open interactive command palette and action menu","category":"system","surfaces":["cli","web","desktop"]}]`)})),Ur,Wr=t((()=>{Hr(),Ur=Vr.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}))})),Gr,Kr,qr,Jr,Yr,Xr,Zr=t((()=>{Gr=e(n()),O(),Br(),Wr(),S(),Kr=r(),qr=[`system`,`models`,`workspace`,`tools`],Jr={system:`System`,models:`Models`,workspace:`Workspace`,tools:`Tools`},Yr=[{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`}],Xr=(0,Gr.forwardRef)(function({message:e,onComplete:t,workspacePath:n,mcpServers:r,anchorRef:i,suppressed:a=!1},o){let[s,c]=(0,Gr.useState)([]),[l,u]=(0,Gr.useState)(0),[d,f]=(0,Gr.useState)(null),m=(0,Gr.useRef)(null),h=(0,Gr.useRef)(null),g=e.replace(/^\s+/,``),_=g.startsWith(`/`)?`slash`:g.startsWith(`$`)?`skill`:/@[\w\-./]*$/.test(e)?`at`:null;(0,Gr.useEffect)(()=>{if(_!==`skill`)return;let e=!0;return fe.listLearnedSkills(n).then(t=>{e&&Array.isArray(t)&&c(t)}).catch(()=>{}),()=>{e=!1}},[_,n]);let v=(0,Gr.useMemo)(()=>{if(_!==`slash`)return[];let e=g.toLowerCase(),t=Ur.some(t=>e.startsWith(t.command.toLowerCase()+` `)),n=e.slice(1).trim().split(/\s+/).filter(Boolean),r=Ur.filter(r=>r.command.toLowerCase().startsWith(e)||!t&&!/\s/.test(e)&&n.every(e=>`${r.command} ${r.description}`.toLowerCase().includes(e))),i=e=>qr.flatMap(t=>e.filter(e=>(e.category??`tools`)===t));return[...i(r.filter(t=>t.command.toLowerCase().startsWith(e))),...i(r.filter(t=>!t.command.toLowerCase().startsWith(e)))]},[_,g]),y=(0,Gr.useMemo)(()=>{if(_!==`slash`)return;let e=g.toLowerCase();return[...Ur].sort((e,t)=>t.command.length-e.command.length).find(t=>e===t.command.toLowerCase()||e.startsWith(t.command.toLowerCase()+` `))},[_,g]),b=(0,Gr.useMemo)(()=>{if(_!==`skill`)return[];let e=g.slice(1).split(/\s+/)[0].toLowerCase();return s.filter(t=>t.name.toLowerCase().startsWith(e))},[_,g,s]),x=(0,Gr.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`})),...Yr].filter(e=>e.label.toLowerCase().includes(t))},[_,e,r]),S=_===`slash`?v:_===`skill`?b:_===`at`?x:[],w=_===`slash`&&S.length===0&&g.trim().length>1,T=!a&&_!==null&&d!==e&&(S.length>0||w);(0,Gr.useEffect)(()=>{u(0)},[e]),(0,Gr.useEffect)(()=>{!T||!h.current||h.current.querySelector(`[data-idx="${l}"]`)?.scrollIntoView({block:`nearest`})},[l,T]),(0,Gr.useEffect)(()=>{if(!T)return;let t=t=>{let n=t.target;m.current?.contains(n)||i.current?.contains(n)||f(e)};return document.addEventListener(`mousedown`,t),()=>document.removeEventListener(`mousedown`,t)},[T,e,i]);let E=t=>_===`slash`?`${t.command} `:_===`skill`?`$${t.name} `:e.replace(/@[\w\-./]*$/,`${t.label} `),D=e=>{let n=E(e);f(n),u(0),t(n)};if((0,Gr.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&&!T&&S.length>0)return f(null),u(t.key===`ArrowDown`?0:S.length-1),t.preventDefault(),!0;if(!T)return!1;if(n&&S.length>0)return u(e=>t.key===`ArrowDown`?(e+1)%S.length:(e-1+S.length)%S.length),t.preventDefault(),!0;if((t.key===`Enter`||t.key===`Tab`)&&!t.shiftKey&&!t.nativeEvent.isComposing){if(t.key===`Enter`&&_===`slash`&&S.some(e=>e.command.toLowerCase()===g.trim().toLowerCase()))return!1;let e=S[l]??S[0];return e?(D(e),t.preventDefault(),!0):!1}return t.key===`Escape`?(f(e),t.preventDefault(),!0):!1}})),!T)return null;let O=S.length===0?`No matches`:_===`slash`?`${S.length} command${S.length===1?``:`s`}`:_===`skill`?`${S.length} skill${S.length===1?``:`s`}`:`${S.length} mention${S.length===1?``:`s`}`,k=(e,t,n,r,i,a)=>(0,Kr.jsxs)(`button`,{type:`button`,role:`option`,"aria-selected":t===l,"data-idx":t,className:`slash-suggestion-item ${t===l?`active`:``}`,title:[n,a,r].filter(Boolean).join(` · `),onMouseDown:e=>e.preventDefault(),onClick:()=>D(e),onPointerMove:()=>u(t),children:[(0,Kr.jsx)(`span`,{className:`slash-cmd-icon`,"aria-hidden":`true`,children:_===`skill`?(0,Kr.jsx)(je,{size:15}):_===`at`?(0,Kr.jsx)(ne,{size:15}):e.category===`models`?(0,Kr.jsx)(p,{size:15}):e.category===`workspace`?(0,Kr.jsx)(C,{size:15}):e.category===`tools`?(0,Kr.jsx)(ee,{size:15}):(0,Kr.jsx)(ye,{size:15})}),(0,Kr.jsx)(`span`,{className:`slash-cmd-name`,children:n}),(0,Kr.jsx)(`span`,{className:`slash-cmd-body`,children:(0,Kr.jsx)(`span`,{className:`slash-cmd-desc`,children:r})}),i&&(0,Kr.jsx)(`span`,{className:`skill-badge`,children:i})]},n);return(0,Kr.jsxs)(`div`,{className:`slash-suggestions-popup`,ref:m,children:[(0,Kr.jsxs)(`div`,{className:`slash-suggestions-header`,children:[_===`slash`?`Slash Commands`:_===`skill`?`Learned Skills`:`Context Mentions`,(0,Kr.jsx)(`span`,{className:`slash-suggestions-count`,children:O})]}),(0,Kr.jsxs)(`div`,{className:`slash-suggestions-list`,ref:h,role:`listbox`,"aria-label":_===`slash`?`Slash commands`:_===`skill`?`Skills`:`Context mentions`,children:[_===`slash`&&(S.length>0?[...new Set(v.map(e=>e.category??`tools`))].map(e=>{let t=v.filter(t=>(t.category??`tools`)===e);return t.length?(0,Kr.jsxs)(`div`,{className:`slash-suggestions-group`,children:[(0,Kr.jsx)(`div`,{className:`slash-suggestions-group-label`,children:Jr[e]}),t.map(e=>k(e,v.indexOf(e),e.command,e.description,void 0,e.usage))]},e):null}):(0,Kr.jsx)(`div`,{className:`slash-suggestions-empty`,children:y?(0,Kr.jsxs)(Kr.Fragment,{children:[(0,Kr.jsx)(`span`,{className:`slash-cmd-name`,children:y.command}),(0,Kr.jsx)(`span`,{className:`slash-cmd-usage`,children:y.usage||`No further arguments`})]}):(0,Kr.jsxs)(`span`,{children:[`No command matches `,(0,Kr.jsx)(`code`,{children:g.trim()})]})})),_===`skill`&&b.map((e,t)=>k(e,t,`$${e.name}`,e.description||e.content?.slice(0,60)||``,`[Skill]`)),_===`at`&&x.map((e,t)=>k(e,t,e.label,e.desc,e.kind===`plugin`?`[Plugin]`:`[Context]`))]}),(0,Kr.jsx)(`div`,{className:`slash-suggestions-hint`,children:`↑↓ select · Tab complete · Enter send · Esc close`})]})})}));function Qr(e){return!!e?.SkillWrite}function $r(e){if(!e)return``;let t=0,n=0,r=e.split(`
|
|
13
|
-
`);for(let e of r)e.startsWith(`+++ `)||e.startsWith(`--- `)||(e.startsWith(`+`)?t++:e.startsWith(`-`)&&n++);return`(+${t} -${n})`}function ei(e){if(!e)return{title:`Action Pending Approval`,body:`No action details available.`,isDangerous:!1};if(e.WriteFile){let t=$r(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=$r(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.SkillWrite)return{title:`Save Skill`,body:`Path: ${e.SkillWrite.path}`,reason:`This changes instructions used in future tasks. Review the proposed changes before saving.`,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 ti(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 ni(e){if(!e)return null;let t=e.split(`
|
|
14
|
-
`),n=1,r=1;return(0,ri.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=ti(e);return i&&(n=i.oldStart,r=i.newStart),(0,ri.jsx)(`div`,{style:{color:`var(--text-muted)`,fontWeight:`bold`,padding:`2px 6px`},children:` `+e},t)}if(e.startsWith(`---`)||e.startsWith(`+++`))return(0,ri.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,ri.jsxs)(`div`,{style:a,children:[(0,ri.jsx)(`span`,{style:{color:`var(--text-muted)`,marginRight:`12px`,userSelect:`none`,display:`inline-block`,width:`36px`,textAlign:`right`,flexShrink:0},children:i}),o&&(0,ri.jsx)(`span`,{style:{color:s,marginRight:`4px`,userSelect:`none`,fontWeight:600},children:o}),(0,ri.jsx)(`span`,{children:c})]},t)})})}var ri,ii=t((()=>{n(),ri=r()})),ai=t((()=>{ii()}));function oi(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 si(e){let t=e.split(`
|
|
15
|
-
`),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=oi(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 ci,I,li,ui=t((()=>{ci=e(n()),ht(),I=r(),li=({isOpen:e,onClose:t,filePath:n,diffText:r,onApprove:i,onReject:a,isDangerous:o})=>{let[s,c]=(0,ci.useState)(`split`),[l,u]=(0,ci.useState)(!1),{unifiedLines:d,splitRows:f,additions:p,deletions:m}=(0,ci.useMemo)(()=>si(r||``),[r]);return(0,ci.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,I.jsx)(`div`,{className:`management-modal-overlay`,onClick:t,style:{zIndex:10001},children:(0,I.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,I.jsxs)(`div`,{className:`management-modal-header`,style:{padding:`16px 20px`,gap:12},children:[(0,I.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:10,minWidth:0,flex:1},children:[(0,I.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,I.jsxs)(`div`,{style:{minWidth:0,flex:1},children:[(0,I.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[(0,I.jsx)(`h3`,{className:`management-card-title`,style:{fontSize:`1rem`,whiteSpace:`nowrap`,overflow:`hidden`,textOverflow:`ellipsis`},title:n,children:n}),(0,I.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,I.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginTop:3},children:[(0,I.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,I.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,I.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,I.jsxs)(`div`,{className:`management-filter-pills`,style:{display:`flex`,gap:2,padding:3,flexShrink:0},children:[(0,I.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,I.jsx)(`button`,{type:`button`,className:`management-pill-btn ${s===`unified`?`active`:``}`,onClick:()=>c(`unified`),style:{padding:`5px 10px`,fontSize:`0.78rem`},children:`Unified`})]}),(0,I.jsx)(`button`,{type:`button`,className:`management-modal-close`,onClick:t,title:`Close`,children:(0,I.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,I.jsx)(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),(0,I.jsx)(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})]})})]}),(0,I.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,I.jsxs)(`div`,{className:`diff-split-container`,style:{display:`grid`,gridTemplateColumns:`1fr 1fr`,minWidth:`700px`},children:[(0,I.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,I.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,I.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,I.jsxs)(ci.Fragment,{children:[(0,I.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,I.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,I.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,I.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,I.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,I.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,I.jsx)(`div`,{style:{minWidth:`500px`},children:d.map((e,t)=>{if(e.type===`hunk`)return(0,I.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,I.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,I.jsxs)(`div`,{style:{display:`flex`,background:n,borderLeft:r,padding:`1px 0`},children:[(0,I.jsx)(`span`,{style:{width:`42px`,textAlign:`right`,color:`var(--text-muted)`,paddingRight:`8px`,userSelect:`none`,flexShrink:0},children:e.oldNum||``}),(0,I.jsx)(`span`,{style:{width:`42px`,textAlign:`right`,color:`var(--text-muted)`,paddingRight:`8px`,userSelect:`none`,flexShrink:0},children:e.newNum||``}),(0,I.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,I.jsx)(`span`,{style:{whiteSpace:`pre-wrap`,wordBreak:`break-all`,color:i},children:e.content})]},t)})})}),(0,I.jsxs)(`div`,{className:`management-modal-footer`,style:{padding:`14px 20px`,display:`flex`,alignItems:`center`,justifyContent:`space-between`},children:[(0,I.jsxs)(`div`,{style:{fontSize:`0.8rem`,color:`var(--text-muted, #94a3b8)`},children:[(0,I.jsx)(`span`,{children:`Shortcut: `}),(0,I.jsx)(`kbd`,{style:{background:`rgba(255,255,255,0.1)`,padding:`2px 5px`,borderRadius:4,fontSize:`0.72rem`},children:`Esc`}),` Cancel`,(0,I.jsx)(`span`,{style:{margin:`0 8px`},children:`•`}),(0,I.jsx)(`kbd`,{style:{background:`rgba(255,255,255,0.1)`,padding:`2px 5px`,borderRadius:4,fontSize:`0.72rem`},children:`Cmd/Ctrl+Enter`}),` Approve`]}),(0,I.jsxs)(`div`,{style:{display:`flex`,gap:10},children:[(0,I.jsx)(`button`,{type:`button`,className:`management-action-btn danger`,onClick:a,style:{padding:`8px 16px`,fontSize:`0.88rem`},children:`Reject Change`}),(0,I.jsx)(`button`,{type:`button`,className:`management-primary-btn`,onClick:i,style:{padding:`8px 20px`,fontSize:`0.88rem`},children:`Approve & Apply`})]})]})]})}):null}}));function di({pendingApproval:e,onApproval:t}){let[n,r]=(0,fi.useState)(``),[i,a]=(0,fi.useState)(new Set),[o,s]=(0,fi.useState)(!1),c=ei(e.approval),l=e.approval?.WriteFile,u=e.approval?.ApplyPatch,d=e.approval?.SkillWrite,f=e.approval?.RunShell,p=d?.path||l?.path||u?.path||`Code Change`,m=d?.diff||l?.diff||u?.diff,h=!!e.approval?.AskUser,g=e.approval?.McpTool,_=Array.isArray(e.approval?.AskUser?.options)?e.approval.AskUser.options:[],v=!!e.approval?.AskUser?.multiSelect,y=e.approval?.AskUser?.header||void 0,b=()=>{let e=Array.from(i).join(`, `),t=n.trim();return t?e?`${e} — ${t}`:t:e},x=e=>{a(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},S=d?{badge:`Skill Change`,badgeClass:`edit`}:f?{badge:`Run Command`,badgeClass:c.isDangerous?`dangerous`:`command`}:l||u?{badge:`File Edit`,badgeClass:`edit`}:g?{badge:`MCP: ${g.server}`,badgeClass:`mcp`}:h?{badge:y||`Question`,badgeClass:`question`}:{badge:`Action Approval`,badgeClass:c.isDangerous?`dangerous`:`default`},C=d?[{key:`1`,title:`Allow once`,variant:`approve`,action:()=>t(!0,!1)},{key:`2`,title:`Reject`,variant:`cancel`,action:()=>t(!1)}]:g?[{key:`1`,title:`Allow once`,variant:`approve`,action:()=>t(!0,!1)},{key:`2`,title:`Always allow for "${g.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,fi.useEffect)(()=>{let e=e=>{let n=document.activeElement;if(!(n&&(n.tagName===`INPUT`||n.tagName===`TEXTAREA`||n.isContentEditable))){if(!h){let t=parseInt(e.key,10);!isNaN(t)&&t>=1&&t<=C.length&&(e.preventDefault(),C[t-1].action())}else if(!v&&_.length>0){let n=parseInt(e.key,10);!isNaN(n)&&n>=1&&n<=_.length&&(e.preventDefault(),t(!0,!1,_[n-1].label))}}};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[h,v,_,C]),(0,L.jsxs)(`div`,{className:`message ai-message`,style:{width:`100%`},children:[(0,L.jsx)(`div`,{className:`bubble-wrapper`,style:{width:`100%`},children:(0,L.jsxs)(`div`,{className:`action-card approval-card`,"data-tier":c.isDangerous?`dangerous`:void 0,style:{width:`100%`,alignItems:`stretch`,textAlign:`left`},children:[(0,L.jsxs)(`div`,{className:`approval-card-header`,style:{width:`100%`,textAlign:`left`},children:[(0,L.jsx)(`div`,{className:`approval-title-group`,style:{textAlign:`left`},children:(0,L.jsx)(`div`,{className:`approval-title-text`,style:{textAlign:`left`},children:c.title})}),(0,L.jsx)(`span`,{className:`approval-badge-chip ${S.badgeClass}`,children:S.badge})]}),m?(0,L.jsxs)(`div`,{className:`approval-card-diff-container`,style:{width:`100%`},children:[(0,L.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,marginBottom:`8px`},children:[(0,L.jsxs)(`span`,{style:{fontSize:`0.82rem`,fontWeight:600,color:`var(--text-soft, #a1a1aa)`},children:[`Diff: `,(0,L.jsx)(`code`,{style:{color:`var(--text-main, #f4f4f5)`},children:p})]}),(0,L.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`})]}),ni(m)]}):(0,L.jsx)(`div`,{className:`approval-content-box ${h?`question-text`:``}`,children:c.body}),c.reason&&!m&&(0,L.jsx)(`div`,{className:`approval-reason-text`,children:c.reason}),h?(0,L.jsxs)(`div`,{className:`claude-choice-stack`,children:[_.length>0&&(0,L.jsx)(`div`,{className:`claude-choice-options`,children:_.map((e,n)=>{let r=v&&i.has(e.label);return(0,L.jsxs)(`button`,{type:`button`,className:`claude-choice-card ${r?`selected`:``}`,onClick:()=>v?x(e.label):t(!0,!1,e.label),children:[(0,L.jsxs)(`div`,{className:`claude-choice-left`,children:[(0,L.jsx)(`span`,{className:`claude-choice-key`,children:n+1}),(0,L.jsxs)(`div`,{className:`claude-choice-text`,children:[(0,L.jsx)(`span`,{className:`claude-choice-title`,children:e.label}),e.description&&(0,L.jsx)(`span`,{className:`claude-choice-desc`,children:e.description})]})]}),(0,L.jsx)(`div`,{className:`claude-choice-right`,children:v?(0,L.jsx)(`span`,{style:{fontSize:`1.1rem`,color:r?`#10b981`:`var(--text-muted)`},children:r?`☑`:`☐`}):(0,L.jsx)(`span`,{style:{fontSize:`1rem`,opacity:.6},children:`›`})})]},n)})}),(0,L.jsx)(`div`,{className:`claude-choice-custom-box`,children:(0,L.jsxs)(`div`,{style:{display:`flex`,gap:8,alignItems:`center`,width:`100%`},children:[(0,L.jsx)(`input`,{type:`text`,className:`claude-choice-input`,placeholder:_.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(),v?t(!0,!1,b()):n.trim()&&t(!0,!1,n.trim()))}}),(v||n.trim())&&(0,L.jsx)(`button`,{type:`button`,className:`approval-btn approval-btn-approve`,style:{whiteSpace:`nowrap`,padding:`9px 16px`,borderRadius:`8px`},disabled:v?i.size===0&&!n.trim():!n.trim(),onClick:()=>t(!0,!1,v?b():n.trim()),children:`Submit`})]})}),(0,L.jsxs)(`button`,{type:`button`,className:`claude-choice-card variant-cancel`,onClick:()=>t(!1),style:{marginTop:2},children:[(0,L.jsxs)(`div`,{className:`claude-choice-left`,children:[(0,L.jsx)(`span`,{className:`claude-choice-key`,children:`✕`}),(0,L.jsx)(`div`,{className:`claude-choice-text`,children:(0,L.jsx)(`span`,{className:`claude-choice-title`,children:`Decline / Skip`})})]}),(0,L.jsx)(`div`,{className:`claude-choice-right`,children:`›`})]})]}):(0,L.jsx)(`div`,{className:`claude-choice-stack`,children:C.map(e=>(0,L.jsxs)(`button`,{type:`button`,className:`claude-choice-card variant-${e.variant}`,onClick:e.action,children:[(0,L.jsxs)(`div`,{className:`claude-choice-left`,children:[(0,L.jsx)(`span`,{className:`claude-choice-key`,children:e.key}),(0,L.jsx)(`div`,{className:`claude-choice-text`,children:(0,L.jsx)(`span`,{className:`claude-choice-title`,children:e.title})})]}),(0,L.jsx)(`div`,{className:`claude-choice-right`,children:`›`})]},e.key))})]})}),o&&m&&(0,L.jsx)(li,{isOpen:o,onClose:()=>s(!1),filePath:p,diffText:m,isDangerous:c.isDangerous,onApprove:()=>{s(!1),t(!0)},onReject:()=>{s(!1),t(!1)}})]})}var fi,L,pi=t((()=>{fi=e(n()),ai(),ui(),L=r()}));function mi({thoughts:e,isLive:t=!1,blockKey:n,expanded:r,onExpandedChange:i,showEmptyHint:a=!1,variant:o=`default`}){let s=(0,hi.useRef)(null),l=r!==void 0&&!!i,[u,d]=(0,hi.useState)(t),f=l?!!r:u,m=e=>{l&&i?i(n,e):d(e)};return(0,hi.useEffect)(()=>{t&&!l&&d(!0)},[t,l]),(0,hi.useEffect)(()=>{!t||!f||!s.current||(s.current.scrollTop=s.current.scrollHeight)},[e,t,f]),e.length===0&&!a?null:e.length===0?(0,gi.jsx)(`div`,{className:`thinking-block thinking-block-empty-state`,"data-live":t?`true`:`false`,children:(0,gi.jsx)(`span`,{className:`thinking-block-empty`,children:_i.emptyHint})}):(0,gi.jsxs)(`div`,{className:`thinking-block${t?` is-live`:``}${f?` is-expanded`:``}${o===`extended`?` is-extended`:``}`,children:[(0,gi.jsxs)(`button`,{type:`button`,className:`thinking-block-header`,onClick:()=>m(!f),"aria-expanded":f,children:[(0,gi.jsx)(p,{size:14,className:`thinking-block-icon`,style:{flexShrink:0}}),(0,gi.jsx)(`span`,{className:`thinking-block-label`,children:o===`extended`?t?_i.extendedLive:_i.extendedCompleted:t?_i.live:_i.completed}),t&&(0,gi.jsx)(`span`,{className:`thinking-block-live-dot`,"aria-hidden":`true`}),(0,gi.jsx)(`span`,{className:`thinking-block-chevron${f?` is-open`:``}`,"aria-hidden":`true`,children:(0,gi.jsx)(c,{size:13,strokeWidth:2.2})})]}),f&&(0,gi.jsx)(`div`,{className:`thinking-block-body`,children:(0,gi.jsx)(`div`,{className:`thinking-block-content`,ref:s,children:e.map((e,t)=>(0,gi.jsx)(`div`,{className:`thinking-block-step`,children:(0,gi.jsx)(`div`,{className:`thinking-block-step-body`,children:Jt(e)})},`${n}-${t}`))})})]})}var hi,gi,_i,vi=t((()=>{hi=e(n()),O(),rn(),gi=r(),_i={live:`Thinking…`,completed:`Thinking process`,extendedLive:`Thinking…`,extendedCompleted:`Thought`,emptyHint:`No thoughts recorded`}})),yi,bi,xi=t((()=>{yi=e(n()),rn(),bi=(0,yi.memo)(function({text:e,sources:t}){return Jt(e,t)})}));function Si({thought:e}){let t=kr(e);return t?(0,Ci.jsx)(`div`,{className:`inline-thought-note`,children:(0,Ci.jsx)(`div`,{className:`inline-thought-note-text`,children:Jt(t)??t})}):null}var Ci,wi=t((()=>{rn(),jr(),Ci=r()}));function Ti(e){let t=e.split(` #`)[0].trim().split(`/`);return t[t.length-1]}function Ei(e,t,n){if(e===`file`){let e=Ti(t),n=dn(e,bn(e));return n?(0,R.jsx)(`img`,{src:n,alt:``,draggable:!1,className:`agent-activity-icon-img`}):(0,R.jsx)(h,{size:14,className:`agent-activity-kind-icon`})}if(e===`folder`){let e=vn(Ti(t),!1);return e?(0,R.jsx)(`img`,{src:e,alt:``,draggable:!1,className:`agent-activity-icon-img`}):(0,R.jsx)(C,{size:14,className:`agent-activity-kind-icon`})}return e===`calc`||n===`calculation`?(0,R.jsx)(w,{size:14,className:`agent-activity-kind-icon`}):e===`search`?(0,R.jsx)(l,{size:14,className:`agent-activity-kind-icon`}):e===`terminal`?(0,R.jsx)(ye,{size:14,className:`agent-activity-kind-icon`}):(0,R.jsx)(ee,{size:14,className:`agent-activity-kind-icon`})}function Di(e,t){if(!t||!t.trim()||e===`view_image`)return null;let n=t.trim().split(`
|
|
16
|
-
`)[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 Oi(e){return e===`active`?(0,R.jsx)(he,{size:12,className:`agent-activity-status-spin`}):e===`retry`?(0,R.jsx)(`span`,{className:`agent-activity-badge retry`,title:`Encountered an error but agent retried`,children:`Retried`}):e===`error`?(0,R.jsx)(`span`,{className:`agent-activity-badge error`,title:`Action failed`,children:`Failed`}):(0,R.jsx)(P,{size:12,className:`agent-activity-status-check`})}function ki({activityView:e}){let t=e.groups||wr(e.items),[n,r]=(0,Ai.useState)({}),[i,a]=(0,Ai.useState)({}),o=e=>{r(t=>({...t,[e]:!t[e]}))},s=(e,t=!1)=>{a(n=>({...n,[e]:!(n[e]??t)}))},l=(e,t)=>{let n=!!i[t],r=e.result?.trim(),a=Di(e.action,r);return(0,R.jsxs)(Ai.Fragment,{children:[(0,R.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,R.jsx)(`span`,{className:`agent-activity-icon-wrap`,"aria-hidden":`true`,children:Ei(e.kind,e.target,e.action)}),(0,R.jsx)(`span`,{className:`agent-activity-label`,children:(0,R.jsx)(`span`,{className:`agent-activity-tool-name`,children:e.label||e.action})}),(0,R.jsxs)(`span`,{className:`agent-activity-text`,title:e.target,style:n?{whiteSpace:`normal`,wordBreak:`break-all`,overflow:`visible`,textOverflow:`clip`}:void 0,children:[(0,R.jsx)(`span`,{className:`agent-activity-target-text`,children:e.target}),a&&(0,R.jsx)(`span`,{className:`agent-activity-inline-result`,children:a})]}),(0,R.jsxs)(`span`,{className:`agent-activity-status-col`,children:[Oi(e.state),r&&(0,R.jsx)(`span`,{className:`agent-activity-chevron${n?` is-open`:``}`,"aria-hidden":`true`,children:(0,R.jsx)(c,{size:12,strokeWidth:2.2})})]})]}),n&&r&&(0,R.jsx)(`div`,{className:`agent-activity-output`,children:(0,R.jsx)(`pre`,{children:r})})]},t)},u=e=>{let t=!!n[e.id];return(0,R.jsxs)(`div`,{className:`agent-activity-group`,children:[(0,R.jsxs)(`div`,{className:`agent-activity-group-header${t?` is-expanded`:``}`,"data-state":e.state,onClick:()=>o(e.id),children:[(0,R.jsx)(`span`,{className:`agent-activity-icon-wrap`,"aria-hidden":`true`,children:Ei(e.kind,e.items[0]?.target,e.action)}),(0,R.jsx)(`span`,{className:`agent-activity-group-title`,children:e.title}),(0,R.jsxs)(`span`,{className:`agent-activity-group-badges`,children:[(0,R.jsx)(`span`,{className:`agent-activity-count-badge`,children:e.count}),Oi(e.state),(0,R.jsx)(`span`,{className:`agent-activity-chevron${t?` is-open`:``}`,"aria-hidden":`true`,children:(0,R.jsx)(c,{size:13,strokeWidth:2.2})})]})]}),t&&(0,R.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(),l=Di(t.action,o);return(0,R.jsxs)(Ai.Fragment,{children:[(0,R.jsxs)(`div`,{className:`agent-activity-subitem`,"data-state":t.state,style:{cursor:o?`pointer`:`default`},onClick:()=>o&&s(r),children:[(0,R.jsx)(`span`,{className:`agent-activity-tree-bullet`,"aria-hidden":`true`,children:n===e.items.length-1?`└─`:`├─`}),(0,R.jsx)(`span`,{className:`agent-activity-subitem-target`,title:t.target,children:t.target}),l&&(0,R.jsx)(`span`,{className:`agent-activity-inline-result`,children:l}),(0,R.jsxs)(`span`,{className:`agent-activity-subitem-status`,children:[Oi(t.state),o&&(0,R.jsx)(`span`,{className:`agent-activity-chevron${a?` is-open`:``}`,"aria-hidden":`true`,children:(0,R.jsx)(c,{size:11,strokeWidth:2.2})})]})]}),a&&o&&(0,R.jsx)(`div`,{className:`agent-activity-output agent-activity-subitem-output`,children:(0,R.jsx)(`pre`,{children:o})})]},r)})})]},e.id)};return(0,R.jsx)(`div`,{className:`agent-activity-list`,children:e.timeline&&e.timeline.length>0?e.timeline.map((e,t)=>{if(e.kind===`thought`)return(0,R.jsx)(Si,{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,R.jsxs)(`div`,{className:`agent-activity-thought-step`,children:[(0,R.jsxs)(`div`,{className:`agent-activity-thought-header${r?` is-expanded`:``}`,onClick:()=>s(n,!!e.streaming),children:[(0,R.jsx)(`span`,{className:`agent-activity-icon-wrap`,"aria-hidden":`true`,children:(0,R.jsx)(p,{size:14,className:`agent-activity-kind-icon`})}),(0,R.jsxs)(`span`,{className:`agent-activity-thought-title`,children:[`Thought`,(0,R.jsx)(`span`,{className:`agent-activity-thought-meta`,children:e.streaming?` · Thinking…`:e.elapsedMs==null?``:` · ${(e.elapsedMs/1e3).toFixed(1)}s`})]}),(0,R.jsx)(`span`,{className:`agent-activity-chevron${r?` is-open`:``}`,"aria-hidden":`true`,children:(0,R.jsx)(c,{size:13,strokeWidth:2.2})})]}),r&&(0,R.jsx)(`div`,{className:`agent-activity-thought-body`,children:e.streaming?(0,R.jsxs)(R.Fragment,{children:[e.thought,(0,R.jsx)(`span`,{className:`agent-activity-thought-cursor`,children:`▍`})]}):Jt(e.thought)??e.thought})]},n)}return e.kind===`activity`?l(e.activity,e.id||`act-${t}`):e.kind===`group`?u(e.group):null}):t.map((e,t)=>{if(e.count<=1){let n=e.items[0];return l(n,`${t}-0-${n.label}-${n.target}`)}return u(e)})})}var Ai,R,ji=t((()=>{Ai=e(n()),jr(),hn(),wi(),rn(),O(),R=r()}));function Mi(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 Ni({progress:e,isLive:t=!1}){let[n,r]=(0,Pi.useState)(null),i=(0,Pi.useMemo)(()=>Mi(e),[e]),a=(0,Pi.useMemo)(()=>n&&i.subagents.find(e=>e.name===n)||null,[i.subagents,n]);return i.subagents.length===0?(0,z.jsxs)(`div`,{style:{padding:`24px`,textAlign:`center`,color:`var(--text-muted, #9ca3af)`,fontSize:`0.85rem`},children:[(0,z.jsx)(`p`,{style:{margin:0,fontWeight:500},children:`No subagents dispatched in this turn`}),(0,z.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,z.jsx)(`code`,{children:`dispatch_subagent`}),`.`]})]}):(0,z.jsxs)(`div`,{className:`subagent-dag-container`,style:{display:`flex`,flexDirection:`column`,gap:`16px`,padding:`16px`},children:[(0,z.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,alignItems:`center`,gap:`28px`,position:`relative`,padding:`12px`},children:[(0,z.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,z.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,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{style:{fontWeight:600,fontSize:`0.88rem`,color:`#f3f4f6`},children:`Main orchestrator`}),(0,z.jsxs)(`div`,{style:{fontSize:`0.72rem`,color:t?`#10b981`:`#9ca3af`,display:`flex`,alignItems:`center`,gap:`4px`},children:[(0,z.jsx)(`span`,{style:{width:`6px`,height:`6px`,borderRadius:`50%`,background:t?`#10b981`:`#6b7280`,display:`inline-block`}}),t?`Active Session`:`Completed`]})]})]}),(0,z.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,z.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,z.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,marginBottom:`8px`},children:[(0,z.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`8px`},children:[(0,z.jsx)(`span`,{style:{width:`8px`,height:`8px`,borderRadius:`50%`,background:i,display:`inline-block`}}),(0,z.jsx)(`span`,{style:{fontWeight:600,fontSize:`0.84rem`,color:`#f3f4f6`},children:e.name})]}),(0,z.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,z.jsx)(`p`,{style:{margin:`0 0 8px 0`,fontSize:`0.74rem`,color:`#94a3b8`,lineHeight:1.4},children:e.taskSnippet}),(0,z.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,z.jsxs)(`span`,{children:[e.tools.length,` tool `,e.tools.length===1?`call`:`calls`]}),(0,z.jsx)(`span`,{style:{color:t?i:`#94a3b8`},children:t?`Hide Details ▲`:`View Logs ▼`})]})]},e.name)})})]}),a&&(0,z.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,z.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,marginBottom:`12px`},children:[(0,z.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`8px`},children:[(0,z.jsxs)(`span`,{style:{fontWeight:600,fontSize:`0.86rem`,color:`#10b981`},children:[`Subagent Activity: `,a.name]}),(0,z.jsxs)(`span`,{style:{fontSize:`0.75rem`,color:`#94a3b8`},children:[`(`,a.tools.length,`)`]})]}),(0,z.jsx)(`button`,{type:`button`,onClick:()=>r(null),style:{background:`transparent`,border:`none`,color:`#94a3b8`,cursor:`pointer`,fontSize:`0.8rem`},children:`Close`})]}),(0,z.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`8px`,maxHeight:`300px`,overflowY:`auto`},children:a.tools.map((e,t)=>(0,z.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,z.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,marginBottom:`4px`},children:[(0,z.jsx)(`span`,{style:{fontWeight:600,color:`#38bdf8`},children:e.action}),e.isError&&(0,z.jsx)(`span`,{style:{color:`#f87171`,fontWeight:600},children:`Failed`})]}),e.input&&(0,z.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,z.jsxs)(`div`,{style:{marginTop:`4px`,color:`#94a3b8`,fontSize:`0.72rem`,maxHeight:`100px`,overflowY:`auto`},children:[(0,z.jsx)(`strong`,{children:`Result:`}),` `,e.result.slice(0,200),e.result.length>200?`...`:``]})]},t))})]})]})}var Pi,z,Fi=t((()=>{Pi=e(n()),z=r()}));function Ii({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,Li.jsxs)(`div`,{className:`plan-checklist-card ${t}`,children:[(0,Li.jsxs)(`div`,{className:`plan-checklist-header`,children:[(0,Li.jsxs)(`div`,{className:`plan-checklist-title`,children:[(0,Li.jsx)(ce,{style:{width:`15px`,height:`15px`,color:`var(--interactive-fg)`}}),(0,Li.jsx)(`span`,{children:e.objective||`Task Plan`})]}),(0,Li.jsxs)(`span`,{className:`plan-checklist-count`,children:[n,`/`,r,` (`,i,`%)`]})]}),(0,Li.jsx)(`div`,{className:`plan-progress-track`,children:(0,Li.jsx)(`div`,{className:`plan-progress-bar`,style:{width:`${i}%`}})}),(0,Li.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,Li.jsxs)(`div`,{className:`plan-task-item ${r?`in-progress`:n?`completed`:i?`failed`:``}`,children:[(0,Li.jsxs)(`span`,{style:{display:`inline-flex`,alignItems:`center`,flexShrink:0},children:[n&&(0,Li.jsx)(s,{style:{width:`14px`,height:`14px`,color:`var(--status-speaking, #22c55e)`}}),r&&(0,Li.jsx)(he,{style:{width:`14px`,height:`14px`,color:`var(--status-listening, #7dd3fc)`,animation:`spin 1s linear infinite`}}),i&&(0,Li.jsx)(De,{style:{width:`14px`,height:`14px`,color:`var(--status-error, #ef4444)`}}),!n&&!r&&!i&&(0,Li.jsx)(ke,{style:{width:`14px`,height:`14px`,color:`rgba(255, 255, 255, 0.3)`}})]}),(0,Li.jsx)(`span`,{className:`plan-task-text`,children:e.title})]},e.id||t)})})]})}var Li,Ri=t((()=>{n(),O(),Li=r()}));function zi({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`;return(0,B.jsxs)(`div`,{className:`run-summary-card ${t}`,children:[(0,B.jsxs)(`div`,{className:`run-summary-header`,children:[(0,B.jsxs)(`div`,{className:`run-summary-title`,children:[(0,B.jsx)(g,{size:16,"aria-hidden":`true`}),(0,B.jsxs)(`span`,{className:`run-summary-heading`,children:[(0,B.jsx)(`strong`,{children:`Run summary`}),(0,B.jsxs)(`small`,{title:`Run ${e.runId}`,children:[`#`,e.runId]})]})]}),(0,B.jsx)(`div`,{children:(0,B.jsxs)(`span`,{className:o,children:[n&&(0,B.jsx)(s,{style:{width:`12px`,height:`12px`}}),r&&(0,B.jsx)(F,{style:{width:`12px`,height:`12px`}}),i&&(0,B.jsx)(De,{style:{width:`12px`,height:`12px`}}),(0,B.jsx)(`span`,{children:n?`Success`:r?`Rolled Back`:`Failure`})]})})]}),(0,B.jsxs)(`div`,{className:`run-kpi-grid`,children:[(0,B.jsxs)(`div`,{className:`run-kpi-box`,children:[(0,B.jsxs)(`div`,{className:`run-kpi-label`,children:[(0,B.jsx)(se,{style:{width:`12px`,height:`12px`}}),(0,B.jsx)(`span`,{children:`Duration`})]}),(0,B.jsxs)(`div`,{className:`run-kpi-value`,children:[e.durationSecs.toFixed(1),`s`]})]}),(0,B.jsxs)(`div`,{className:`run-kpi-box`,children:[(0,B.jsxs)(`div`,{className:`run-kpi-label`,children:[(0,B.jsx)(ge,{style:{width:`12px`,height:`12px`}}),(0,B.jsx)(`span`,{children:`Tokens`})]}),(0,B.jsx)(`div`,{className:`run-kpi-value`,children:a})]}),(0,B.jsxs)(`div`,{className:`run-kpi-box`,children:[(0,B.jsxs)(`div`,{className:`run-kpi-label`,children:[(0,B.jsx)(ee,{style:{width:`12px`,height:`12px`}}),(0,B.jsx)(`span`,{children:`Tools`})]}),(0,B.jsxs)(`div`,{className:`run-kpi-value`,children:[e.toolCallsCount,e.retriesCount>0&&(0,B.jsxs)(`span`,{className:`run-kpi-subtext`,children:[` · `,e.retriesCount,` retried`]})]})]}),(0,B.jsxs)(`div`,{className:`run-kpi-box`,children:[(0,B.jsxs)(`div`,{className:`run-kpi-label`,children:[(0,B.jsx)(xe,{style:{width:`12px`,height:`12px`}}),(0,B.jsx)(`span`,{children:`Files`})]}),(0,B.jsx)(`div`,{className:`run-kpi-value`,children:e.filesCreated&&e.filesCreated.length>0&&e.filesChanged.length-e.filesCreated.length>0?(0,B.jsxs)(B.Fragment,{children:[e.filesCreated.length,` `,(0,B.jsx)(`span`,{className:`run-kpi-subtext`,children:`created`}),`, `,e.filesChanged.length-e.filesCreated.length,` `,(0,B.jsx)(`span`,{className:`run-kpi-subtext`,children:`modified`})]}):e.filesCreated&&e.filesCreated.length>0?(0,B.jsxs)(B.Fragment,{children:[e.filesCreated.length,` `,(0,B.jsx)(`span`,{className:`run-kpi-subtext`,children:`created`})]}):e.filesChanged.length>0?(0,B.jsxs)(B.Fragment,{children:[e.filesChanged.length,` `,(0,B.jsx)(`span`,{className:`run-kpi-subtext`,children:`modified`})]}):(0,B.jsxs)(B.Fragment,{children:[`0 `,(0,B.jsx)(`span`,{className:`run-kpi-subtext`,children:`files`})]})})]})]}),e.toolTimeline&&e.toolTimeline.length>0&&(0,B.jsxs)(`div`,{className:`run-timeline-container`,children:[(0,B.jsx)(`div`,{className:`run-timeline-title`,children:`Tool call timeline`}),(0,B.jsx)(`div`,{className:`run-timeline-list`,children:e.toolTimeline.map((e,t)=>(0,B.jsxs)(`div`,{className:`run-timeline-item`,children:[(0,B.jsxs)(`div`,{className:`run-timeline-left`,children:[(0,B.jsxs)(`span`,{className:`run-timeline-step`,children:[String(e.step).padStart(2,`0`),`s`]}),e.success?e.retried?(0,B.jsx)(F,{style:{width:`14px`,height:`14px`,color:`#f59e0b`,flexShrink:0}}):(0,B.jsx)(s,{style:{width:`14px`,height:`14px`,color:`var(--status-speaking, #22c55e)`,flexShrink:0}}):(0,B.jsx)(De,{style:{width:`14px`,height:`14px`,color:`var(--status-error, #ef4444)`,flexShrink:0}}),(0,B.jsx)(`span`,{className:`run-timeline-action`,children:e.action}),e.target&&(0,B.jsxs)(`span`,{className:`run-timeline-target`,children:[`[`,e.target,`]`]})]}),(0,B.jsxs)(`div`,{children:[!e.success&&(0,B.jsx)(`span`,{className:`run-timeline-note-failed`,children:`(failed)`}),e.retried&&e.success&&(0,B.jsx)(`span`,{className:`run-timeline-note-retry`,children:`(self-corrected)`})]})]},t))})]})]})}var B,Bi=t((()=>{n(),O(),B=r()}));function Vi({activityView:e,isOpen:t,onToggle:n,isHistorical:r=!1,pendingApproval:i=!1,rawProgress:a}){let[o,s]=(0,Hi.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,Ui.jsxs)(Ui.Fragment,{children:[l&&(0,Ui.jsx)(`div`,{style:{marginBottom:`12px`},children:(0,Ui.jsx)(zi,{summary:l})}),c&&(0,Ui.jsx)(`div`,{style:{marginBottom:`12px`},children:(0,Ui.jsx)(Ii,{plan:c})}),u&&(0,Ui.jsx)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`flex-start`,gap:`8px`,marginBottom:`10px`,paddingBottom:`8px`,borderBottom:`1px solid var(--border)`},children:(0,Ui.jsxs)(`div`,{style:{display:`inline-flex`,padding:`2px`,background:`var(--surface-strong)`,borderRadius:`6px`,border:`1px solid var(--border)`},children:[(0,Ui.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,Ui.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,Ui.jsx)(`span`,{children:`Subagent DAG`}),(0,Ui.jsx)(`span`,{style:{width:`6px`,height:`6px`,borderRadius:`50%`,background:`#38bdf8`,display:`inline-block`}})]})]})}),o===`dag`&&u?(0,Ui.jsx)(Ni,{progress:a||[],isLive:!r}):e.items.length>0||e.timeline&&e.timeline.length>0?(0,Ui.jsx)(ki,{activityView:e}):null]}),f=c?.objective||e.summary||(l?`Run telemetry (${l.outcome})`:`Agent Activity`);return r?(0,Ui.jsxs)(`div`,{className:`agent-activity-history`,children:[(0,Ui.jsxs)(`button`,{type:`button`,className:`agent-activity-toggle`,"aria-expanded":t,onClick:n,children:[(0,Ui.jsx)(`span`,{children:f}),(0,Ui.jsx)(me,{size:13,className:`agent-activity-toggle-chevron${t?` is-open`:``}`,"aria-hidden":`true`})]}),t&&(0,Ui.jsx)(`div`,{className:`agent-activity-card agent-activity-card-history`,children:d()})]}):(0,Ui.jsx)(`div`,{className:`message ai-message agent-activity-message`,children:(0,Ui.jsxs)(`div`,{className:`agent-activity-card`,children:[(0,Ui.jsxs)(`div`,{className:`agent-activity-header`,style:{cursor:`pointer`},onClick:n,children:[(0,Ui.jsx)(`span`,{children:f}),(0,Ui.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`8px`},children:[(0,Ui.jsx)(`span`,{className:`agent-activity-status`,"data-state":i?`approval`:l?`done`:`active`,children:i?`Waiting for approval`:l?`Completed`:`Working`}),(0,Ui.jsx)(me,{size:13,className:`agent-activity-toggle-chevron${t?` is-open`:``}`,"aria-hidden":`true`})]})]}),t&&(0,Ui.jsx)(`div`,{style:{marginTop:`8px`},children:d()})]})})}var Hi,Ui,Wi=t((()=>{Hi=e(n()),O(),ji(),Fi(),Ri(),Bi(),Ui=r()})),Gi,Ki,qi,Ji=t((()=>{Gi=e(n()),jr(),Wi(),Ki=r(),qi=(0,Gi.memo)(function({progress:e,id:t,isOpen:n,onToggle:r,historical:i=!1,pendingApproval:a=!1}){let o=(0,Gi.useCallback)(()=>r(t),[t,r]);return(0,Ki.jsx)(Vi,{activityView:Er(e),rawProgress:e,isOpen:n,onToggle:o,isHistorical:i,pendingApproval:a})})})),Yi=t((()=>{}));function Xi(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 Zi,Qi,$i,ea=t((()=>{Zi=e(n()),rn(),Yi(),Qi=r(),$i=Zi.memo(function({sources:e}){let[t,n]=(0,Zi.useState)(!1),[r,i]=(0,Zi.useState)(null),[a,o]=(0,Zi.useState)(()=>(document.documentElement.getAttribute(`data-theme`)||`dark`)!==`light`);(0,Zi.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,Zi.useMemo)(()=>[...Xi(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,Qi.jsxs)(`div`,{className:`sources-block`,style:{display:`flex`,flexDirection:`column`,gap:`10px`,marginBottom:`12px`,marginTop:`4px`},children:[(0,Qi.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`8px`},children:[(0,Qi.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,Qi.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,Qi.jsx)(`span`,{style:{fontSize:`0.85rem`,fontWeight:600,color:a?`#f1f5f9`:`#0f172a`,letterSpacing:`0.01em`},children:`Sources`})]}),(0,Qi.jsxs)(`div`,{className:`sources-cards`,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,Qi.jsxs)(`div`,{className:`source-card-group`,children:[(0,Qi.jsxs)(`div`,{className:`source-card`,style:{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`,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,Qi.jsx)(`div`,{className:`source-card-thumbnail`,style:{overflow:`hidden`,background:`var(--bg-surface-raised)`,flexShrink:0},children:(0,Qi.jsx)(`img`,{src:cn(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,Qi.jsxs)(`div`,{className:`source-card-content`,style:{display:`flex`,flexDirection:`column`,flex:1,padding:`10px 12px`},children:[(0,Qi.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,Qi.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,marginTop:`auto`,paddingTop:`2px`},children:[(0,Qi.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`6px`,overflow:`hidden`,marginRight:`6px`},children:[(0,Qi.jsx)(`img`,{src:e.faviconUrl,alt:``,width:14,height:14,style:{borderRadius:`3px`,flexShrink:0},onError:e=>{e.currentTarget.style.display=`none`}}),(0,Qi.jsx)(`span`,{style:{fontSize:`0.73rem`,color:`#94a3b8`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e.displayDomain})]}),o>0?(0,Qi.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,Qi.jsxs)(`span`,{style:{fontSize:`0.7rem`,color:`#64748b`,fontWeight:500,flexShrink:0},children:[`•`,t+1]})]})]})]}),s&&o>0&&(0,Qi.jsxs)(`div`,{className:`source-links-popover`,style:{position:`absolute`,top:`100%`,left:0,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,Qi.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,padding:`4px 6px`,borderBottom:`1px solid var(--border-subtle)`},children:[(0,Qi.jsxs)(`span`,{style:{fontSize:`0.7rem`,fontWeight:600,color:`var(--text-muted)`},children:[`All links from `,e.domain,` (`,e.items.length,`)`]}),(0,Qi.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,Qi.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,Qi.jsxs)(`div`,{style:{fontWeight:500,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:[t+1,`. `,e.title]}),(0,Qi.jsx)(`div`,{style:{fontSize:`0.68rem`,color:`#64748b`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e.url})]},t))]})]},e.domain)}),!t&&u>0&&(0,Qi.jsxs)(`button`,{type:`button`,className:`sources-more-button`,"aria-expanded":!1,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`,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,Qi.jsx)(`div`,{style:{display:`flex`,alignItems:`center`},children:d.slice(0,3).map((e,t)=>(0,Qi.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,Qi.jsxs)(`span`,{style:{fontSize:`0.78rem`,fontWeight:500,color:`#94a3b8`,marginLeft:`8px`},children:[`View `,u,` more`]})]})]}),t&&s.length>3&&(0,Qi.jsx)(`div`,{style:{display:`flex`,justifyContent:`flex-start`,marginTop:`4px`},children:(0,Qi.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`})})]})})})),ta,V,na,ra=t((()=>{ta=e(n()),rn(),Ge(),qt(),$t(),on(),Xt(),tn(),qn(),nr(),ot(),jr(),Vn(),xi(),Ji(),ea(),V=r(),na=ta.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,toggleActivity:p,renderFileChanges:m}=e,h=t.provider===`system`&&t.model===`provider_change`,g=(0,ta.useMemo)(()=>t.userText?(0,V.jsx)(bi,{text:t.userText}):null,[t.userText]),_=a[String(t.id)]??t.agentActivity??zn,v=(0,ta.useMemo)(()=>Or(_),[_]),y=(0,ta.useMemo)(()=>t.aiText?(0,V.jsx)(bi,{text:t.aiText,sources:v}):null,[t.aiText,v]);if(h){let e=(t.userText||``).replace(/^Changed model to\s*/i,``).trim();return(0,V.jsxs)(`div`,{className:`system-event-divider`,children:[(0,V.jsx)(`div`,{className:`system-event-line`}),(0,V.jsxs)(`div`,{className:`system-event-pill`,children:[(0,V.jsx)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,children:(0,V.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,V.jsx)(`span`,{children:e})]}),(0,V.jsx)(`div`,{className:`system-event-line`})]},t.id)}let b=n===`user-${t.id}`,x=n===t.id,S=i===t.aiText,C=(0,ta.useMemo)(()=>{if(t.aiText&&(t.aiText.includes("```weather_json")||t.aiText.includes("```weather-json")))return null;for(let e of _||[])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,_]),w=(0,ta.useMemo)(()=>{if(t.aiText&&(t.aiText.includes("```stock_json")||t.aiText.includes("```stock-json")))return null;for(let e of _||[])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,_]),T=(0,ta.useMemo)(()=>{if(t.aiText&&(t.aiText.includes("```calculation_json")||t.aiText.includes("```calculation-json")))return null;for(let e of _||[])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,_]),E=(0,ta.useMemo)(()=>{if(t.aiText&&(t.aiText.includes("```image_search_json")||t.aiText.includes("```image-search-json")))return null;for(let e of _||[])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,_]),D=(0,ta.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 _||[])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,_]);return(0,V.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`8px`,marginBottom:`16px`},children:[t.userText&&(0,V.jsx)(`div`,{className:`message user-message`,children:(0,V.jsxs)(`div`,{className:`bubble-wrapper`,children:[(0,V.jsx)(`div`,{className:`message-bubble`,children:g}),(0,V.jsxs)(`div`,{className:`message-time`,style:{display:`flex`,alignItems:`center`,gap:`8px`},children:[(0,V.jsx)(`span`,{children:wt(t.createdAt).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`})}),(0,V.jsx)(`button`,{type:`button`,className:`msg-action-btn copy-btn ${b?`is-copied`:``}`,onClick:()=>d(`user-${t.id}`,t.userText),title:b?`คัดลอกแล้ว (Copied!)`:`คัดลอกข้อความ (Copy)`,children:en(b)}),r&&t.provider!==`system`&&(0,V.jsx)(`button`,{type:`button`,className:`msg-action-btn edit-btn`,onClick:()=>r(t.userText),title:`แก้ไขและส่งใหม่ (Edit & resend)`,children:(0,V.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,V.jsx)(`path`,{d:`M12 20h9`}),(0,V.jsx)(`path`,{d:`M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z`})]})})]})]})}),(0,V.jsx)(`div`,{className:`message ai-message`,children:(0,V.jsxs)(`div`,{className:`bubble-wrapper`,children:[t.status===`completed`&&(0,V.jsx)(qi,{progress:_,id:String(t.id),historical:!0,isOpen:!!s?.[String(t.id)],onToggle:p}),t.status===`completed`&&m(t),(0,V.jsxs)(`div`,{className:`message-bubble`,children:[t.status===`queued`&&(0,V.jsx)(`span`,{children:`Queued for this session…`}),t.status===`running`&&(0,V.jsx)(`span`,{children:`Mint is responding…`}),t.status===`failed`&&(0,V.jsx)(`span`,{children:`This turn failed. Send the prompt again to retry.`}),t.status===`interrupted`&&(0,V.jsx)(`span`,{children:`This turn was interrupted. Send the prompt again to retry.`}),(0,V.jsx)(Kn,{progress:_,running:t.status===`running`,interrupted:t.status===`interrupted`}),(0,V.jsx)(tr,{progress:_}),C&&(0,V.jsx)(Qt,{data:C}),w&&(0,V.jsx)(nn,{data:w}),T&&(0,V.jsx)(Zt,{data:T}),E&&(0,V.jsx)(un,{data:E}),D&&(0,V.jsx)(Yt,{data:D}),y]}),v.length>0&&(0,V.jsx)($i,{sources:v}),(0,V.jsxs)(`div`,{className:`message-time`,style:{display:`flex`,alignItems:`center`,gap:`8px`},children:[t.status===`completed`&&(0,V.jsxs)(`span`,{className:`provider-model-chip`,"data-provider":(t.provider||``).toLowerCase(),title:`${t.provider} • ${t.model}`,children:[(0,V.jsx)(`span`,{className:`provider-chip-dot`,"aria-hidden":`true`}),(0,V.jsx)(`span`,{className:`provider-chip-name`,children:t.provider}),(0,V.jsx)(`span`,{className:`provider-chip-divider`,children:`/`}),(0,V.jsx)(`span`,{className:`provider-chip-model`,children:t.model})]}),It(t)&&(0,V.jsx)(`span`,{className:`provider-fallback-notice`,children:It(t)}),(0,V.jsx)(`span`,{className:`message-timestamp`,children:wt(t.createdAt).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`})}),t.status===`completed`&&(0,V.jsxs)(`div`,{className:`message-action-buttons`,style:{display:`flex`,alignItems:`center`,gap:`4px`,marginLeft:`auto`},children:[(0,V.jsx)(`button`,{type:`button`,className:`msg-action-btn copy-btn ${x?`is-copied`:``}`,onClick:()=>d(t.id,t.aiText),title:x?`คัดลอกแล้ว (Copied!)`:`คัดลอกข้อความ (Copy message)`,children:en(x)}),(0,V.jsx)(`button`,{type:`button`,className:`msg-action-btn tts-btn ${S?`is-speaking`:``}`,onClick:()=>f(t.aiText),title:S?`Stop reading`:`Read aloud`,children:an(S)})]})]})]})})]},t.id)},(e,t)=>{if(e.onEditMessage!==t.onEditMessage||e.onThinkingExpandedChange!==t.onThinkingExpandedChange||e.handleCopyMessage!==t.handleCopyMessage||e.speak!==t.speak||e.toggleActivity!==t.toggleActivity)return!1;let n=e.interaction,r=t.interaction;if(n.id!==r.id||n.aiText!==r.aiText||n.userText!==r.userText||n.createdAt!==r.createdAt||n.status!==r.status||n.agentActivity!==r.agentActivity||n.provider!==r.provider||n.model!==r.model||n.fallbackProvider!==r.fallbackProvider||n.fallbackReason!==r.fallbackReason||n.chatId!==r.chatId||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)]??!0)!==(t.openReviewIds?.[String(r.id)]??!0)||e.workspacePath!==t.workspacePath||!!e.showAllFileChanges?.[String(n.id)]!=!!t.showAllFileChanges?.[String(r.id)])return!1;if(e.openFileDiffs!==t.openFileDiffs){let r=`${n.id}-`,i=new Set([...Object.keys(e.openFileDiffs??{}),...Object.keys(t.openFileDiffs??{})]);for(let n of i)if(n.startsWith(r)&&!!e.openFileDiffs?.[n]!=!!t.openFileDiffs?.[n])return!1}return e.agentActivitySnapshots[String(n.id)]===t.agentActivitySnapshots[String(r.id)]})}));function ia(e){return typeof e==`object`?e.key:e}function aa(e,t){let n=e.length;return new Proxy(e,{get(e,r,i){if(typeof r==`string`){let i=r.charCodeAt(0);if(i>=48&&i<=57){let i=+r;if(Number.isInteger(i)&&i>=0&&i<n){let n=e[i];if(typeof n!=`object`){let r=t[i*2];n=e[i]={index:i,key:n,start:r,size:t[i*2+1],end:r+t[i*2+1],lane:0}}return n}}if(r===`length`)return n}return Reflect.get(e,r,i)}})}var oa=t((()=>{}));function sa(e,t,n){let r=n.initialDeps??[],i,a=!0;function o(){let o=e();return o.length!==r.length||o.some((e,t)=>r[t]!==e)?(r=o,i=t(...o),n?.onChange&&!(a&&n.skipInitialOnChange)&&n.onChange(i),a=!1,i):i}return o.updateDeps=e=>{r=e},o}function ca(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var la,ua,da=t((()=>{la=(e,t)=>Math.abs(e-t)<1.01,ua=(e,t,n)=>{let r;return Object.assign(function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)},{cancel:()=>{e.clearTimeout(r)}})}}));function fa(e,t,n,r){if(t===0)return!1;let i=r(0),a=new Set,o=0;for(;o<e;){let e=n(o);if(e===i)break;a.add(e),o++}let s=e-o;if(s===0||s>=t)return!1;for(let e=0;e<s;e++)if(r(e)!==n(o+e))return!1;for(let e=s;e<t;e++)if(a.has(r(e)))return!1;return!0}function pa(e,t,n){let r=0;for(;r<=t;){let i=(r+t)/2|0,a=e[i*2];if(a<n)r=i+1;else if(a>n)t=i-1;else return i}return r>0?r-1:0}function ma(e,t,n,r,i){let a=e.length-1;if(e.length<=r)return{startIndex:0,endIndex:a};if(r===1&&i!==null){let e=pa(i,a,n),r=e,o=n+t;for(;r<a&&i[r*2]+i[r*2+1]<o;)r++;return{startIndex:e,endIndex:r}}let o=ka(0,a,t=>e[t].start,n),s=o;if(r===1)for(;s<a&&e[s].end<n+t;)s++;else if(r>1){let i=Array(r).fill(0);for(;s<a&&i.some(e=>e<n+t);){let t=e[s];i[t.lane]=t.end,s++}let c=Array(r).fill(n+t);for(;o>=0&&c.some(e=>e>=n);){let t=e[o];c[t.lane]=t.start,o--}o=Math.max(0,o-o%r),s=Math.min(a,s+(r-1-s%r))}return{startIndex:o,endIndex:s}}var ha,ga,_a,va,ya,ba,xa,Sa,Ca,wa,Ta,Ea,Da,Oa,ka,Aa=t((()=>{oa(),da(),ga=()=>{if(ha!==void 0)return ha;if(typeof navigator>`u`)return ha=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return ha=!0;let e=navigator.maxTouchPoints;return ha=navigator.platform===`MacIntel`&&e!==void 0&&e>0},_a=e=>{let{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},va=e=>e,ya=e=>{let t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1)-t+1,r=Array(n);for(let e=0;e<n;e++)r[e]=t+e;return r},ba=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(_a(n)),!r.ResizeObserver)return()=>{};let a=new r.ResizeObserver(t=>{let r=()=>{let e=t[0];if(e?.borderBoxSize){let t=e.borderBoxSize[0];if(t){i({width:t.inlineSize,height:t.blockSize});return}}i(_a(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return a.observe(n,{box:`border-box`}),()=>{a.unobserve(n)}},xa={passive:!0},Sa=typeof window>`u`?!0:`onscrollend`in window,Ca=(e,t,n)=>{let r=e.scrollElement;if(!r)return;let i=e.targetWindow;if(!i)return;let a=e.options.useScrollendEvent&&Sa,o=0,s=a?null:ua(i,()=>t(n(r),!1),e.options.isScrollingResetDelay),c=e=>()=>{o=n(r),s?.(),t(o,e)},l=c(!0),u=c(!1);return r.addEventListener(`scroll`,l,xa),a&&r.addEventListener(`scrollend`,u,xa),()=>{r.removeEventListener(`scroll`,l),a&&r.removeEventListener(`scrollend`,u),s?.cancel()}},wa=(e,t)=>Ca(e,t,t=>{let{horizontal:n,isRtl:r}=e.options;return n?t.scrollLeft*(r&&-1||1):t.scrollTop}),Ta=(e,t,n)=>{if(n.options.useCachedMeasurements){let t=n.indexFromElement(e),r=n.options.getItemKey(t);return n.itemSizeCache.get(r)??n.options.estimateSize(t)}if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}if(!t){let t=n.indexFromElement(e),r=n.options.getItemKey(t),i=n.itemSizeCache.get(r);if(i!==void 0)return i}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},Ea=(e,{adjustments:t=0,behavior:n},r)=>{var i,a;(a=(i=r.scrollElement)?.scrollTo)==null||a.call(i,{[r.options.horizontal?`left`:`top`]:e+t,behavior:n})},Da=Ea,Oa=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this._clampedAdjustment=null,this.elementsCache=new Map,this.now=()=>{var e;return((e=this.targetWindow?.performance)?.now)?.call(e)??Date.now()},this.observer=(()=>{let e=null,t=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{let t=()=>{let t=e.target,n=this.indexFromElement(t);if(!t.isConnected){this.observer.unobserve(t);for(let[e,n]of this.elementsCache)if(n===t){this.elementsCache.delete(e);break}return}this.isIndexInRange(n)&&this.shouldMeasureDuringScroll(n)&&this.resizeItem(n,this.options.measureElement(t,e,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}));return{disconnect:()=>{var n;(n=t())==null||n.disconnect(),e=null},observe:e=>t()?.observe(e,{box:`border-box`}),unobserve:e=>t()?.unobserve(e)}})(),this.range=null,this.setOptions=e=>{let t={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:va,rangeExtractor:ya,onChange:()=>{},measureElement:Ta,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,anchorTo:`start`,followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:`estimate`,useCachedMeasurements:!1};for(let n in e){let r=e[n];r!==void 0&&(t[n]=r)}let n=this.options,r=null,i=null,a=!1;if(n!==void 0&&n.enabled&&t.enabled&&t.anchorTo===`end`&&this.scrollElement!==null){let e=n.count,o=t.count,s=this.getMeasurements(),c=this._singleLaneMeasurements?.items??s,l=e=>ia(c[e]),u=e>0?l(0):null,d=e>0?l(e-1):null;if(o!==e||e>0&&o>0&&(t.getItemKey(0)!==u||t.getItemKey(o-1)!==d)){a=!0;let c=e>0?this.getVirtualItemForOffset(this.getScrollOffset())??s[0]:null;c&&(r=[c.key,this.getScrollOffset()-c.start]);let u=t.followOnAppend===!0?`auto`:t.followOnAppend||null;u&&o>0&&this.isAtEnd(n.scrollEndThreshold)&&(e===0||t.getItemKey(o-1)!==d)&&(o>e||fa(e,o,l,t.getItemKey))&&(i=u)}}this.options=t,a&&(this.pendingMin=0,this.itemSizeCacheVersion++);let o=!1,s=0;if(r&&this.scrollOffset!==null){let[e,t]=r,n=this.getMeasurements(),{count:a,getItemKey:c}=this.options,l=0;for(;l<a&&c(l)!==e;)l++;if(l<a){let e=n[l];if(e){let n=Math.max(0,e.start+t);!i&&n!==this.scrollOffset&&(s=n-this.scrollOffset,this.scrollOffset=n,o=!0)}}}(o||i)&&(this.pendingScrollAnchor=[o?r[0]:null,o?r[1]:0,i,s])},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=sa(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.isScrolling=!1,this.scrollDirection=null,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._clampedAdjustment=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}if(this.scrollElement=e,this.scrollElement&&`ownerDocument`in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{if(t&&this._intendedScrollOffset===null&&e===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(e-this._intendedScrollOffset)<1.5?e=this._intendedScrollOffset:this.scrollState?.index!=null&&this.scrollState.hasReachedTarget&&!la(e,this.scrollState.lastTargetOffset)&&!la(e,this.getScrollStateTarget(this.scrollState))&&(this._clampedAdjustment===null||Math.abs(e-this._clampedAdjustment.maxAtWrite)>=1.5)&&(this.scrollState=null),this._intendedScrollOffset=null,this._clampedAdjustment!==null&&Math.abs(e-this._clampedAdjustment.maxAtWrite)>=1.5&&(this._clampedAdjustment=null),this.scrollAdjustments=0;let n=this.getScrollOffset();this.scrollDirection=t?n===e?this.scrollDirection:n<e?`forward`:`backward`:null,this.scrollOffset=e,this.isScrolling=t,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),`addEventListener`in this.scrollElement){let e=this.scrollElement,t=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},n=()=>{this._iosTouching=!1,!(!ga()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};e.addEventListener(`touchstart`,t,xa),e.addEventListener(`touchend`,n,xa),this.unsubs.push(()=>{e.removeEventListener(`touchstart`,t),e.removeEventListener(`touchend`,n),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let t=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,t&&this.scrollElement&&this.options.enabled){let[e,n,r,i]=t;e!==null&&!r&&(ga()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?i!==0&&(this._iosDeferredAdjustment+=i):this.scrollState?.behavior===`smooth`&&!la(this.getScrollOffset()-i,this.scrollState.lastTargetOffset)||this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),r&&this.scrollToEnd({behavior:r})}this._retryClampedAdjustment()},this._retryClampedAdjustment=()=>{if(this._clampedAdjustment===null||!this.scrollElement||!this.options.enabled)return;let{target:e,maxAtWrite:t}=this._clampedAdjustment,n=this.getMaxScrollOffset();n>t+.5&&(this._clampedAdjustment=e>n+.5?{target:e,maxAtWrite:n}:null,this._scrollToOffset(e,{adjustments:void 0,behavior:void 0}))},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;let e=this.getScrollOffset(),t=this.getMaxScrollOffset();if(e<0||e>t)return;if(this._iosDeferredAdjustment<0&&e>=t-1){this._iosDeferredAdjustment=0;return}let n=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(e,{adjustments:this.scrollAdjustments+=n,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=sa(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(e,t,n,r,i,a,o,s)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMin=null,{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s}),{key:!1}),this.isIndexInRange=e=>e>=0&&e<this.options.count,this.getMeasurements=sa(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s},c)=>{let l=this.itemSizeCache;if(!i)return this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let u=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1),a===1){let i=e*2,a=this._singleLaneMeasurements?.flat;if(!a||a.length<i){let e=new Float64Array(i);a&&u>0&&e.set(a.subarray(0,u*2)),a=e}let o=u===0?Array(e):this._singleLaneMeasurements.items.slice(),c;if(u===0)c=t+n;else{let e=u-1;c=a[e*2]+a[e*2+1]+s}for(let t=u;t<e;t++){let e=r(t);o[t]=e;let n=l.get(e),i=typeof n==`number`?n:this.options.estimateSize(t);a[t*2]=c,a[t*2+1]=i,c+=i+s}this._singleLaneMeasurements={flat:a,items:o};let d=aa(o,a);return this.measurementsCache=d,d}let d=this.measurementsCache.slice(0,u),f=Array(a).fill(void 0),p=new Float64Array(a),m=0;for(let e=0;e<u;e++){let t=d[e];t&&(f[t.lane]===void 0&&m++,f[t.lane]=e,p[t.lane]=t.end)}for(let i=u;i<e;i++){let e=r(i),c=this.laneAssignments.get(i),u,h,g=o===`estimate`||l.has(e);if(c!==void 0&&this.options.lanes>1){u=c;let e=f[u],r=e===void 0?void 0:d[e];h=r?r.end+s:t+n}else if(m===a){let e=0,t=p[0],n=f[0];for(let r=1;r<a;r++){let i=p[r];(i<t||i===t&&f[r]<n)&&(e=r,t=i,n=f[r])}u=e,h=t+s,g&&this.laneAssignments.set(i,u)}else u=i%this.options.lanes,h=t+n,g&&this.laneAssignments.set(i,u);let _=l.get(e),v=typeof _==`number`?_:this.options.estimateSize(i),y=h+v;d[i]={index:i,start:h,size:v,end:y,key:e,lane:u},f[u]===void 0&&m++,f[u]=i,p[u]=y}return this.measurementsCache=d,d},{key:!1,debug:()=>this.options.debug}),this.calculateRange=sa(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,r)=>e.length===0||t===0?(this.range=null,null):(this.range=ma(e,t,n,r,r===1&&this._singleLaneMeasurements!==null?this._singleLaneMeasurements.flat:null),this.range),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=sa(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,n,r,i)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{if(!this.scrollState||this.scrollState.behavior!==`smooth`)return!0;let t=this.scrollState.index??this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)?.index;if(t!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,t-n),i=Math.min(this.options.count-1,t+n);return e>=r&&e<=i}return!0},this.measureElement=e=>{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}let t=this.indexFromElement(e);if(!this.isIndexInRange(t))return;let n=this.options.getItemKey(t),r=this.elementsCache.get(n);r!==e&&(r&&this.observer.unobserve(r),this.observer.observe(e),this.elementsCache.set(n,e)),e.isConnected&&(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{if(!this.isIndexInRange(e))return;let n,r,i,a=this._singleLaneMeasurements?.flat;if(this.options.lanes===1&&a!=null)i=this.options.getItemKey(e),r=a[e*2],n=a[e*2+1];else{let t=this.measurementsCache[e];if(!t)return;i=t.key,r=t.start,n=t.size}let o=this.itemSizeCache.get(i)??n,s=t-o;if(s!==0){let a=this.options.anchorTo===`end`&&this.scrollState?.behavior!==`smooth`&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,c=a?this.getTotalSize():0,l=this.getScrollOffset()+this.scrollAdjustments,u=this.itemSizeCache.has(i)?r+o<=l&&this.scrollDirection!==`backward`:r<l,d=this.scrollState?.behavior!==`smooth`&&(this.shouldAdjustScrollPositionOnItemSizeChange===void 0?u:this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[e]??{index:e,key:i,start:r,size:n,end:r+n,lane:0},s,this));(this.pendingMin===null||e<this.pendingMin)&&(this.pendingMin=e),this.itemSizeCache.set(i,t),this.itemSizeCacheVersion++;let f=!1;a?f=this.applyScrollAdjustment(this.getTotalSize()-c):d&&(f=this.applyScrollAdjustment(s)),this.notify(f),this._retryClampedAdjustment()}},this.getVirtualItems=sa(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{let n=[];for(let r=0,i=e.length;r<i;r++){let i=t[e[r]];n.push(i)}return n},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length===0)return;let n=this._singleLaneMeasurements?.flat,r=this.options.lanes===1&&n!=null;return ca(t[ka(0,t.length-1,r?e=>n[e*2]:e=>ca(t[e]).start,e)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if(`scrollHeight`in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(e=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=e,this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.getSize(),r=this.getScrollOffset(),i=this.measurementsCache[e];if(!i)return;if(t===`auto`)if(i.end>=r+n-this.options.scrollPaddingEnd)t=`end`;else if(i.start<=r+this.options.scrollPaddingStart)t=`start`;else return[r,t];if(t===`end`&&e===this.options.count-1){let e=this.getMaxScrollOffset(),n=e-this.options.paddingEnd+this.options.scrollPaddingEnd;return[Math.max(Math.min(n,e),0),t]}let a=t===`end`?i.end+this.options.scrollPaddingEnd:i.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,i.size),t]},this.scrollToOffset=(e,{align:t=`start`,behavior:n=`auto`}={})=>{this._iosDeferredAdjustment=0;let r=this.getOffsetForAlignment(e,t),i=this.now();this.scrollState={index:null,align:t,behavior:n,startedAt:i,lastTargetOffset:r,stableFrames:0,hasReachedTarget:!1},this._scrollToOffset(r,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollToIndex=(e,{align:t=`auto`,behavior:n=`auto`}={})=>{this._iosDeferredAdjustment=0,e=Math.max(0,Math.min(e,this.options.count-1));let r=this.getOffsetForIndex(e,t);if(!r)return;let[i,a]=r,o=this.now();this.scrollState={index:e,align:a,behavior:n,startedAt:o,lastTargetOffset:i,stableFrames:0,hasReachedTarget:la(i,this.getScrollOffset())},this._scrollToOffset(i,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollBy=(e,{behavior:t=`auto`}={})=>{let n=this.getScrollOffset()+e,r=this.now();this.scrollState={index:null,align:`start`,behavior:t,startedAt:r,lastTargetOffset:n,stableFrames:0,hasReachedTarget:!1},this._scrollToOffset(n,{adjustments:void 0,behavior:t}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:e=`auto`}={})=>{if(this.options.count>0){this._iosDeferredAdjustment=0;let t=Math.max(this.getMaxScrollOffset(),0);this.scrollState={index:this.options.count-1,align:`end`,behavior:e,toEnd:!0,startedAt:this.now(),lastTargetOffset:t,stableFrames:0,hasReachedTarget:la(t,this.getScrollOffset())},this._scrollToOffset(t,{adjustments:void 0,behavior:e}),this.scheduleScrollReconcile();return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:e})},this.cancelScroll=()=>{this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null},this.getTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1){let n=e.length-1,r=this._singleLaneMeasurements?.flat;t=r==null?e[n]?.end??0:r[n*2]+r[n*2+1]}else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let e=[];if(this.itemSizeCache.size===0)return e;let t=this.getMeasurements();for(let n of t)n&&this.itemSizeCache.has(n.key)&&e.push({index:n.index,key:n.key,start:n.start,size:n.size,end:n.end,lane:n.lane});return e},this._scrollToOffset=(e,{adjustments:t,behavior:n})=>{this._intendedScrollOffset=e+(t??0),this.options.scrollToFn(e,{behavior:n,adjustments:t},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}applyScrollAdjustment(e,t){if(e===0)return!1;if(ga()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded))return this._iosDeferredAdjustment+=e,!1;{let n=this.getScrollOffset()+this.scrollAdjustments+e,r=this.scrollElement,i=r!==null&&(`scrollHeight`in r||`document`in r)?this.getMaxScrollOffset():null;return this._clampedAdjustment=i!==null&&n>i+.5?{target:n,maxAtWrite:i}:null,this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=e,behavior:t}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollOffset<0&&(this.scrollOffset=0),this.scrollAdjustments=0),!0}}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId??=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()})}getScrollStateTarget(e){let t=e.toEnd?[Math.max(this.getMaxScrollOffset(),0)]:e.index==null?void 0:this.getOffsetForIndex(e.index,e.align);return t?t[0]:e.lastTargetOffset}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let e=this.getScrollStateTarget(this.scrollState),t=this.scrollState.index==null?1:this.options.useAnimationFrameWithResizeObserver?3:2,n=e!==this.scrollState.lastTargetOffset;if(!n&&la(e,this.getScrollOffset())){if(this.scrollState.hasReachedTarget=!0,this.scrollState.stableFrames++,this.scrollState.stableFrames>=t){this.getScrollOffset()!==e&&this._scrollToOffset(e,{adjustments:void 0,behavior:`auto`}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,n){let t=this.getSize()||600,n=Math.abs(e-this.getScrollOffset()),r=this.scrollState.behavior===`smooth`&&n>t;this.scrollState.lastTargetOffset=e,r?this.scrollState.hasReachedTarget=!1:this.scrollState.behavior=`auto`,this._scrollToOffset(e,{adjustments:void 0,behavior:r?`smooth`:`auto`})}this.scheduleScrollReconcile()}},ka=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(a<r)e=i+1;else if(a>r)t=i-1;else return i}return e>0?e-1:0}}));function ja({useFlushSync:e=!0,directDomUpdates:t=!1,directDomUpdatesMode:n=`transform`,...r}){let i=Na.useReducer(e=>e+1,0)[1],a=Na.useRef({enabled:t,mode:n,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});a.current.enabled=t,a.current.mode=n;let o=Na.useRef(!1),s=e=>{let t=a.current;if(!t.enabled||!t.container)return;let n=e.getTotalSize();if(n!==t.lastSize){t.lastSize=n;let r=e.options.horizontal?`width`:`height`;t.container.style[r]=`${n}px`}},c=(e,t,n)=>{let r=a.current,i=!!e.options.horizontal,o=t.start-e.options.scrollMargin;r.lastPositions.get(n)!==o&&(r.lastPositions.set(n,o),r.mode===`transform`?n.style.transform=i?`translate3d(${o}px, 0, 0)`:`translate3d(0, ${o}px, 0)`:n.style[i?`left`:`top`]=`${o}px`)},l=e=>{let t=a.current;if(!(!t.enabled||!t.container)){s(e);for(let t of e.getVirtualItems()){let n=e.elementsCache.get(t.key);n&&c(e,t,n)}}},u={...r,onChange:(t,n)=>{var s;let c=a.current,u=!0;if(c.enabled){l(t);let e=t.range,n=c.prevRange;u=!n||n.isScrolling!==t.isScrolling||n.startIndex!==e?.startIndex||n.endIndex!==e?.endIndex,u&&(c.prevRange=e?{startIndex:e.startIndex,endIndex:e.endIndex,isScrolling:t.isScrolling}:null)}u&&(e&&n&&!o.current?(0,Pa.flushSync)(i):i()),(s=r.onChange)==null||s.call(r,t,n)}},[d]=Na.useState(()=>{let e=new Oa(u),t=e.measureElement;return e.measureElement=n=>{o.current=!0;try{t(n)}finally{o.current=!1}let r=a.current;if(n!==null&&r.enabled&&r.container){let t=e.measurementsCache[e.indexFromElement(n)];t&&c(e,t,n)}},Object.assign(e,{containerRef:t=>{let n=a.current;n.container=t,n.lastSize=null,t!==null&&l(e)}})});return d.setOptions(u),Fa(()=>d._didMount(),[]),Fa(()=>(s(d),d._willUpdate())),Fa(()=>{l(d)}),d}function Ma(e){return ja({observeElementRect:ba,observeElementOffset:wa,scrollToFn:Da,...e})}var Na,Pa,Fa,Ia=t((()=>{Na=e(n(),1),Pa=Se(),Aa(),Aa(),Fa=typeof document<`u`?Na.useLayoutEffect:Na.useEffect})),La,Ra,za,Ba=t((()=>{La=e(n()),Ia(),Ra=r(),za=(0,La.memo)((0,La.forwardRef)(function({items:e,scrollRef:t,renderRow:n,tail:r,hasOlder:i},a){let o=(0,La.useRef)(null),[s,c]=(0,La.useState)(0),l=(0,La.useRef)(null),[u,d]=(0,La.useState)(null);(0,La.useEffect)(()=>{d(t.current)},[t]);let f=(0,La.useCallback)(t=>t<e.length?`turn:${e[t].id}`:`live-turn`,[e]),p=!!r,m=(0,La.useCallback)(t=>{let n=ya(t);return p&&!n.includes(e.length)&&n.push(e.length),n},[e.length,p]),h=Ma({count:e.length+ +!!r,getScrollElement:()=>u,getItemKey:f,rangeExtractor:m,estimateSize:()=>320,overscan:4,gap:10,scrollMargin:s,anchorTo:`end`,followOnAppend:!0,scrollEndThreshold:240,useAnimationFrameWithResizeObserver:!0});return(0,La.useImperativeHandle)(a,()=>({scrollToEnd:()=>h.scrollToEnd()}),[h]),(0,La.useLayoutEffect)(()=>{let e=u,t=o.current;if(!e||!t)return;let n=()=>{let n=t.getBoundingClientRect().top-e.getBoundingClientRect().top-e.clientTop+e.scrollTop,r=l.current;l.current=n,c(n),r!==null&&r!==n&&e.scrollTop>Math.min(r,n)&&h.scrollToOffset(e.scrollTop+n-r)};n();let r=new ResizeObserver(n);return r.observe(e),()=>r.disconnect()},[u,i,h]),(0,La.useLayoutEffect)(()=>{u&&h.scrollToEnd()},[h,u]),(0,Ra.jsx)(`div`,{ref:o,className:`virtual-chat-history`,style:{position:`relative`,width:`100%`,height:h.getTotalSize(),flexShrink:0,overflowAnchor:`none`},children:h.getVirtualItems().map(t=>(0,Ra.jsx)(`div`,{"data-index":t.index,ref:h.measureElement,className:`virtual-chat-row`,style:{position:`absolute`,top:0,left:0,width:`100%`,display:`flow-root`,transform:`translateY(${t.start-s}px)`},children:t.index<e.length?n(t.index):r},t.key))})}))})),Va,H,Ha,Ua=t((()=>{Ft(),Va=e(n()),H=r(),Ha=({isOpen:e,onClose:t,onConfirm:n,checkpoints:r,targetCheckpoint:i,changes:a,isLoading:o=!1})=>{let[s,c]=(0,Va.useState)(()=>i?.step??(r.length>0?r[r.length-1].step:0));if((0,Va.useEffect)(()=>{i?c(i.step):r.length>0&&c(r[r.length-1].step)},[i,r]),(0,Va.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,H.jsx)(`div`,{className:`management-modal-overlay`,onClick:o?void 0:t,style:{zIndex:10002},children:(0,H.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,H.jsxs)(`div`,{className:`management-modal-header`,style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,padding:`16px 20px`,borderBottom:`1px solid var(--border)`},children:[(0,H.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`10px`},children:[(0,H.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,H.jsxs)(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,H.jsx)(`polyline`,{points:`1 4 1 10 7 10`}),(0,H.jsx)(`path`,{d:`M3.51 15a9 9 0 1 0 2.13-9.36L1 10`})]})}),(0,H.jsxs)(`div`,{children:[(0,H.jsx)(`h3`,{style:{margin:0,fontSize:`16px`,fontWeight:600,color:`var(--text-main)`},children:`Rewind Workspace`}),(0,H.jsx)(`span`,{style:{fontSize:`12px`,color:`var(--text-muted)`},children:`Git Checkpoint Time Machine`})]})]}),(0,H.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,H.jsxs)(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,children:[(0,H.jsx)(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),(0,H.jsx)(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})]})})]}),(0,H.jsxs)(`div`,{style:{padding:`20px`,display:`flex`,flexDirection:`column`,gap:`16px`,overflowY:`auto`,maxHeight:`70vh`},children:[(0,H.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,H.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,H.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,H.jsx)(`line`,{x1:`12`,y1:`9`,x2:`12`,y2:`13`}),(0,H.jsx)(`line`,{x1:`12`,y1:`17`,x2:`12.01`,y2:`17`})]}),(0,H.jsxs)(`div`,{children:[(0,H.jsx)(`strong`,{children:`Revert files to before this turn?`}),(0,H.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,H.jsxs)(`div`,{style:{background:`var(--surface-bg)`,border:`1px solid var(--border)`,borderRadius:`10px`,padding:`14px`,display:`flex`,flexDirection:`column`,gap:`10px`},children:[(0,H.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`},children:[(0,H.jsx)(`span`,{style:{fontSize:`12px`,fontWeight:600,color:`var(--text-muted)`,textTransform:`none`,letterSpacing:`0.05em`},children:`Target Checkpoint`}),r.length>1&&(0,H.jsx)(Qe,{"aria-label":`Target checkpoint`,fullWidth:!1,value:s,onValueChange:e=>c(Number(e)),disabled:o,children:r.map(e=>(0,H.jsxs)(`option`,{value:e.step,children:[`Step `,e.step,` (`,e.commitHash.slice(0,7),`)`]},e.step))})]}),l?(0,H.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`8px`,flexWrap:`wrap`},children:[(0,H.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,H.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,H.jsxs)(`span`,{style:{fontSize:`12px`,color:`var(--text-muted)`},children:[`before `,l.action]}),l.timestamp>0&&(0,H.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,H.jsx)(`div`,{style:{fontSize:`12px`,color:`var(--text-muted)`},children:`Restoring to initial state before turn execution.`})]}),a.length>0&&(0,H.jsxs)(`div`,{children:[(0,H.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,H.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,H.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,H.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`8px`,minWidth:0},children:[(0,H.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`var(--text-muted)`,strokeWidth:`2`,children:[(0,H.jsx)(`path`,{d:`M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z`}),(0,H.jsx)(`polyline`,{points:`14 2 14 8 20 8`})]}),(0,H.jsx)(`span`,{title:e.path,style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,color:`var(--text-main)`,fontFamily:`monospace`},children:e.path})]}),(0,H.jsx)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`6px`,flexShrink:0},children:e.created?(0,H.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,H.jsxs)(H.Fragment,{children:[e.additions>0&&(0,H.jsxs)(`span`,{style:{fontSize:`11px`,color:`var(--interactive-fg)`,fontWeight:600},children:[`+`,e.additions]}),e.deletions>0&&(0,H.jsxs)(`span`,{style:{fontSize:`11px`,color:`var(--status-error, #ef4444)`,fontWeight:600},children:[`-`,e.deletions]})]})})]},e.path||t))})]})]}),(0,H.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,H.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,H.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,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,className:`spinning-loader`,children:(0,H.jsx)(`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`})}),(0,H.jsx)(`span`,{children:`Rewinding...`})]}):(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,children:[(0,H.jsx)(`polyline`,{points:`1 4 1 10 7 10`}),(0,H.jsx)(`path`,{d:`M3.51 15a9 9 0 1 0 2.13-9.36L1 10`})]}),(0,H.jsx)(`span`,{children:`Confirm rewind`})]})})]})]})})}}));function Wa({language:e,message:t,sending:n,isSpeaking:r,onSendVoiceMessage:i,onSetMessage:a}){let[o,s]=(0,Ga.useState)(!1),[c,l]=(0,Ga.useState)(!1),[u,d]=(0,Ga.useState)(``),[f,p]=(0,Ga.useState)(!1),m=(0,Ga.useRef)(null),h=(0,Ga.useRef)(null),g=(0,Ga.useRef)(null),_=(0,Ga.useRef)(null),v=(0,Ga.useRef)(!1),y=(0,Ga.useRef)(!1),b=(0,Ga.useRef)(!1),x=(0,Ga.useRef)(!1),S=(0,Ga.useRef)(t);(0,Ga.useEffect)(()=>{v.current=c,c||(C(),d(``))},[c]),(0,Ga.useEffect)(()=>{y.current=n},[n]),(0,Ga.useEffect)(()=>{b.current=f},[f]),(0,Ga.useEffect)(()=>{x.current=r},[r]),(0,Ga.useEffect)(()=>{S.current=t},[t]);let C=()=>{_.current!==null&&(window.clearTimeout(_.current),_.current=null)},w=()=>{g.current!==null&&(window.clearTimeout(g.current),g.current=null)},T=()=>{C(),w(),m.current?.stop(),s(!1),l(!1)},E=()=>{C(),w();let e=m.current;if(m.current=null,h.current?.(!1),h.current=null,e){e.onstart=e.onresult=e.onend=e.onerror=null;try{e.abort()}catch{}}v.current=!1,l(!1),s(!1),d(``)},D=(e=350)=>{C(),!(!v.current||y.current||b.current||x.current)&&(_.current=window.setTimeout(()=>{_.current=null,O(!0)},e))},O=(t=!1)=>{if(m.current||y.current||b.current||x.current)return Promise.resolve(!1);let n=window.SpeechRecognition||window.webkitSpeechRecognition;if(!n)return d(`Speech recognition is unavailable in this browser. Use Chrome or Edge.`),v.current=!1,l(!0),Promise.resolve(!1);let r=``,o=new Promise(e=>{h.current=e});w();try{let c=new n;c.continuous=!0,c.interimResults=!0,c.lang=e===`en`?`en-US`:`th-TH`;let u=()=>{w(),t&&(g.current=window.setTimeout(()=>{c.stop()},2e3))};return c.onstart=()=>{m.current===c&&(s(!0),l(!0),h.current?.(!0),h.current=null)},c.onresult=e=>{if(m.current!==c)return;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&&u()},c.onerror=e=>{m.current===c&&(h.current?.(!1),h.current=null,d(e.error===`not-allowed`?`Microphone permission denied`:`Speech recognition error: ${e.error}`),v.current=!1,l(!1),s(!1),w())},c.onend=()=>{if(m.current!==c)return;h.current?.(!1),h.current=null,m.current=null,t||(v.current=!1,l(!1)),s(!1),w();let e=r.trim();e?t?(b.current=!0,p(!0),i(e).catch(e=>console.error(`Voice message failed`,e)).finally(()=>{b.current=!1,p(!1),D()})):a(S.current.trim()?`${S.current.trimEnd()} ${e}`:e):t&&v.current&&D()},m.current=c,c.start(),o}catch(e){return h.current?.(!1),h.current=null,d(e instanceof Error?e.message:String(e)),m.current=null,s(!1),w(),Promise.resolve(!1)}};return(0,Ga.useEffect)(()=>{!c||n||f||r||o||m.current||D()},[c,n,f,r,o]),(0,Ga.useEffect)(()=>()=>{if(C(),w(),h.current?.(!1),h.current=null,m.current)try{let e=m.current;e.onstart=e.onresult=e.onend=e.onerror=null,e.abort()}catch{}},[]),{isRecording:o,voiceMode:c,setVoiceMode:l,voiceTranscript:u,setVoiceTranscript:d,voiceAwaitingResponse:f,voiceAwaitingResponseRef:b,voiceModeRef:v,startRecognition:O,stopRecognition:T,cancelRecognition:E,scheduleVoiceListen:D,clearRestartTimer:C}}var Ga,Ka=t((()=>{Ga=e(n())})),qa=t((()=>{Ka()})),Ja=t((()=>{}));function Ya({accentColor:e=`#f5f5f5`,iconColor:t=`#a1a1aa`,background:n=`#27272a`,size:r=28,shape:i=`pill`,reach:a=8,showTime:o=!0,waveform:s=!0,slideToCancel:c=!0,cancelDistance:l=64,attack:u=40,release:d=240,sensitivity:f=1,floor:p=.1,openDuration:m=200,pressScale:h=.95,mode:g=`auto`,holdAfter:_=300,reactive:v=`simulated`,disabled:y=!1,ariaLabel:b=`Dictate`,onStart:x,onStop:S,className:C=``,active:w,id:T,title:E}){let[D,O]=(0,Xa.useState)(!!w),[k,A]=(0,Xa.useState)(!1),[ee,te]=(0,Xa.useState)(!1),[ne,re]=(0,Xa.useState)(`pointer`),j=(0,Xa.useRef)(null),ie=(0,Xa.useRef)(null),ae=(0,Xa.useRef)(null),M=(0,Xa.useRef)({listening:!!w,pointerId:null,ownPress:!1,downX:0,sliding:!1,hist:[],tick:0,acc:0,downAt:0,startedAt:0,raf:0,last:0,env:0,t0:0,audio:null,generation:0}),oe=(0,Xa.useRef)({});oe.current={attack:u,release:d,sensitivity:f,floor:p,mode:g,holdAfter:_,reactive:v,showTime:o,waveform:s,slideToCancel:c,cancelDistance:l,accentColor:e,onStart:x,onStop:S,active:w,disabled:y};let se=e=>{let t=M.current,n=oe.current,r=Math.min((e-t.last)/1e3,no);t.last=e;let i=0;t.listening&&(t.audio?.analyser?i=oo(t.audio.analyser,t.audio.buf):n.reactive!==`mic`&&(i=ao((e-t.t0)/1e3))),i=Math.min(1,i*n.sensitivity);let a=Math.max(1,i>t.env?n.attack:n.release)/1e3;if(t.env+=(i-t.env)*(1-Math.exp(-r/a)),t.listening&&n.showTime&&j.current){let n=co(e-t.startedAt);j.current.textContent!==n&&(j.current.textContent=n)}t.listening&&n.waveform&&ae.current&&so(t,ae.current,t.env,n.accentColor,n.floor),t.raf=t.listening?requestAnimationFrame(se):0},ce=e=>{let t=M.current,n=oe.current;if(t.listening||n.disabled)return;t.listening=!0,t.generation++;let r=t.generation;t.hist=[],t.tick=0,t.acc=0,t.env=0,t.startedAt=performance.now(),t.t0=t.startedAt,t.last=t.startedAt,j.current&&(j.current.textContent=`0:00`),O(n.active===void 0),A(n.active!==void 0),re(e),t.raf||=requestAnimationFrame(se);try{let e=n.onStart?.({source:n.reactive});Promise.resolve(e).then(e=>{t.generation===r&&(A(!1),e===!1&&le(`start-failed`,!1))}).catch(()=>{t.generation===r&&le(`start-failed`,!1)})}catch{le(`start-failed`,!1)}n.reactive===`mic`&&lo(t,r).catch(()=>{t.generation===r&&le(`mic-denied`)})},le=(e,t=!0)=>{let n=M.current,r=oe.current;n.listening&&(n.listening=!1,n.generation++,uo(n),cancelAnimationFrame(n.raf),n.raf=0,O(!1),A(!1),re(e===`key`||e===`escape`?`key`:`pointer`),t&&r.onStop?.({reason:e,duration:Math.round(performance.now()-n.startedAt)}))},N=()=>{M.current.sliding=!1;let e=ie.current;e&&(delete e.dataset.sliding,e.style.setProperty(`--vp-slide`,`0px`),e.style.setProperty(`--vp-cancel`,`0`))},ue=e=>{let t=M.current,n=oe.current,r=ie.current;if(!r||t.pointerId!==e.pointerId||!n.slideToCancel||!t.listening||!t.ownPress)return;let i=e.clientX-t.downX;if(!t.sliding&&i>-4)return;t.sliding=!0,r.dataset.sliding=``;let a=Math.min(n.cancelDistance+24,Math.max(0,-i));r.style.setProperty(`--vp-slide`,`${-a}px`);let o=Math.min(1,a/n.cancelDistance);r.style.setProperty(`--vp-cancel`,o.toFixed(3)),o>=1&&(N(),le(`cancel`))},de=e=>{let t=M.current;if(!(y||e.button!==0||!e.isPrimary||t.pointerId!==null)){e.preventDefault(),e.currentTarget.focus({preventScroll:!0}),t.pointerId=e.pointerId,t.downX=e.clientX,t.downAt=performance.now();try{e.currentTarget.setPointerCapture(e.pointerId)}catch{}te(!0),t.ownPress=!t.listening,t.listening||ce(`pointer`)}},P=e=>{let t=M.current;if(e.pointerId!==t.pointerId)return!1;t.pointerId=null,te(!1),t.sliding&&N();try{e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId)}catch{}return!0},fe=e=>{let t=M.current,n=oe.current;if(!P(e)||!t.listening)return;let r=performance.now()-t.downAt,i=n.mode===`hold`||n.mode===`auto`&&r>=n.holdAfter;t.ownPress?i&&le(`release`):le(r<n.holdAfter?`tap`:`release`)},pe=e=>{P(e)&&le(`cancel`)},me=e=>{if(e.key===`Escape`&&M.current.listening){e.preventDefault(),e.stopPropagation(),N(),le(`escape`);return}(e.key===` `||e.key===`Enter`)&&!e.repeat&&(e.preventDefault(),M.current.listening?le(`key`):ce(`key`))},F=e=>{e.detail===0&&M.current.pointerId===null&&!e.nativeEvent.pointerType&&(M.current.listening?le(`key`):ce(`key`))};(0,Xa.useEffect)(()=>{if(w===void 0)return;let e=M.current;w?(e.listening||(e.listening=!0,e.generation++,e.hist=[],e.env=0),e.startedAt=performance.now(),e.t0=e.startedAt,e.last=e.startedAt,O(!0),A(!1),e.raf||=requestAnimationFrame(se)):e.listening&&le(`external`,!1)},[w]),(0,Xa.useEffect)(()=>{if(!D&&!k)return;let e=()=>{N(),M.current.pointerId=null,te(!1),le(`blur`)},t=()=>{document.hidden&&e()};return window.addEventListener(`blur`,e),document.addEventListener(`visibilitychange`,t),()=>{window.removeEventListener(`blur`,e),document.removeEventListener(`visibilitychange`,t)}},[D,k]),(0,Xa.useEffect)(()=>{y&&(N(),M.current.pointerId=null,te(!1),le(`disabled`))},[y]),(0,Xa.useEffect)(()=>{let e=M.current;return()=>{e.listening&&(e.listening=!1,e.generation++,oe.current.onStop?.({reason:`unmount`,duration:Math.round(performance.now()-e.startedAt)})),uo(e),cancelAnimationFrame(e.raf),e.raf=0,e.audio?.ctx.close()}},[]);let he=i===`rounded`?Math.round(r*.29):r/2,ge=Math.max(0,Math.min(10,(44-r)/2)),_e=Math.max(10,Math.round(r*.36)),ve=o?Math.round(_e*2.5)+4:0,ye=s?Math.round(r*1.9):0,be=ve+ye;return(0,Za.jsxs)(`button`,{id:T,title:E,type:`button`,disabled:y,"aria-label":b,"aria-pressed":D,"aria-busy":k||void 0,className:`voice-pill${C?` ${C}`:``}`,"data-state":D?`listening`:`idle`,"data-pending":k?``:void 0,"data-pressed":ee?``:void 0,"data-input":ne,"data-time":o?``:void 0,ref:ie,onPointerDown:de,onPointerMove:ue,onPointerUp:fe,onPointerCancel:pe,onLostPointerCapture:pe,onKeyDown:me,onClick:F,onContextMenu:e=>e.preventDefault(),style:{"--vp-accent":e,"--vp-icon":t,"--vp-bg":n,"--vp-size":`${r}px`,"--vp-radius":`${he}px`,"--vp-reach":`${a}px`,"--vp-extra":`${be}px`,"--vp-clock-w":`${ve}px`,"--vp-wave-w":`${ye}px`,"--vp-stop":`${Math.round(r*.32)}px`,"--vp-icon-size":`${Math.round(r*.54)}px`,"--vp-time-size":`${_e}px`,"--vp-open":`${m}ms`,"--vp-press":h,"--vp-hit":`${ge}px`},children:[(0,Za.jsx)(`span`,{className:`voice-pill__capsule`,"aria-hidden":`true`}),s?(0,Za.jsx)(`canvas`,{ref:ae,className:`voice-pill__wave`,"aria-hidden":`true`}):null,c?(0,Za.jsxs)(`span`,{className:`voice-pill__cancel`,"aria-hidden":`true`,children:[(0,Za.jsx)(Ke,{icon:We,size:12,strokeWidth:2.2}),(0,Za.jsx)(`span`,{children:`Cancel`})]}):null,o?(0,Za.jsx)(`span`,{ref:j,className:`voice-pill__time`,"aria-hidden":`true`,children:`0:00`}):null,(0,Za.jsxs)(`span`,{className:`voice-pill__glyph`,"aria-hidden":`true`,children:[(0,Za.jsx)(`span`,{className:`voice-pill__mic`,children:(0,Za.jsx)(Ke,{icon:nt,size:Math.round(r*.54),strokeWidth:2})}),(0,Za.jsx)(`span`,{className:`voice-pill__stop`})]})]})}var Xa,Za,Qa,$a,eo,to,no,ro,io,ao,oo,so,co,lo,uo,fo=t((()=>{Xa=e(n()),Lt(),Bt(),Ja(),Za=r(),Qa=4.8,$a=[[.1,.16,.9],[.3,.12,.7],[.5,.2,1],[.95,.14,.8],[1.15,.1,.6],[1.3,.22,.95],[1.9,.16,.85],[2.12,.12,.7],[2.3,.18,.9],[2.55,.1,.5],[3.05,.24,1],[3.4,.12,.75],[3.6,.16,.9]],eo=[[1,4],[4,11],[11,33]],to=2.2,no=.05,ro=4,io=80,ao=e=>{let t=e%Qa,n=.06;for(let[e,r,i]of $a){let a=(t-e)/r;a>=0&&a<=1&&(n=Math.max(n,i*.5*(1-Math.cos(2*Math.PI*a))))}return n*(.7+.3*Math.abs(Math.sin(2*Math.PI*7.1*t)))},oo=(e,t)=>{e.getByteFrequencyData(t);let n=0;for(let[e,r]of eo){let i=0;for(let n=e;n<r;n++)i+=t[n];n+=i/((r-e)*255)}return n/eo.length*to},so=(e,t,n,r,i)=>{let a=Math.min(2,window.devicePixelRatio||1),o=t.getBoundingClientRect(),s=Math.max(1,Math.round(o.width*a)),c=Math.max(1,Math.round(o.height*a));(t.width!==s||t.height!==c)&&(t.width=s,t.height=c);let l=t.getContext(`2d`);if(!l)return;e.acc=Math.max(e.acc,n),e.tick=(e.tick+1)%ro,e.tick===0&&(e.hist.push(e.acc),e.acc=0,e.hist.length>io&&e.hist.shift());let u=2*a,d=3*a,f=e.tick/ro*d;l.clearRect(0,0,s,c),l.fillStyle=r;for(let t=0;t<e.hist.length;t++){let n=e.hist[e.hist.length-1-t],r=s-(t+1)*d-f;if(r+u<0)break;let a=Math.max(u,(i+(1-i)*n)*c),o=Math.min(1,Math.max(0,(r+u/2)/(s*.55))),p=o*o*(3-2*o);l.globalAlpha=(.35+.65*n)*p,l.beginPath(),l.roundRect(r,(c-a)/2,u,a,u/2),l.fill()}l.globalAlpha=1},co=e=>{let t=Math.floor(e/1e3);return`${Math.floor(t/60)}:${String(t%60).padStart(2,`0`)}`},lo=async(e,t)=>{let n=window.AudioContext||window.webkitAudioContext;if(!n||!navigator.mediaDevices?.getUserMedia)throw Error(`unsupported`);e.audio??={ctx:new n};let r=e.audio;r.ctx.state===`suspended`&&await r.ctx.resume();let i=await navigator.mediaDevices.getUserMedia({audio:!0});if(!e.listening||e.generation!==t){i.getTracks().forEach(e=>e.stop());return}r.stream=i,r.src=r.ctx.createMediaStreamSource(i),r.analyser=r.ctx.createAnalyser(),r.analyser.fftSize=256,r.analyser.smoothingTimeConstant=0,r.src.connect(r.analyser),r.buf=new Uint8Array(r.analyser.frequencyBinCount)},uo=e=>{let t=e.audio;t?.stream&&(t.stream.getTracks().forEach(e=>e.stop()),t.src?.disconnect(),t.stream=null,t.src=null,t.analyser=null,t.buf=null)}}));function po({workspacePath:e,chatId:t,startSession:n,sendAudioChunk:r,stopSession:i}){let[a,o]=(0,U.useState)(!1),[s,c]=(0,U.useState)(!1),[l,u]=(0,U.useState)(``),[d,f]=(0,U.useState)(``),[p,m]=(0,U.useState)(!1),[h,g]=(0,U.useState)(!1),[_,v]=(0,U.useState)(!1),[y,b]=(0,U.useState)(``),x=(0,U.useRef)(!1),S=(0,U.useRef)(!1),C=(0,U.useRef)(!1),w=(0,U.useRef)(null),T=(0,U.useRef)(null),E=(0,U.useRef)(null),D=(0,U.useRef)(0),O=(0,U.useRef)(new Set),k=(0,U.useRef)(()=>{}),A=(0,U.useRef)(null),ee=(0,U.useRef)(null),te=(0,U.useRef)(0),ne=(0,U.useRef)(null),re=(0,U.useRef)(null);(0,U.useEffect)(()=>{x.current=s},[s]),(0,U.useEffect)(()=>{S.current=p},[p]);let j=(0,U.useCallback)(()=>((!T.current||T.current.state===`closed`)&&(T.current=new AudioContext,E.current=T.current.createAnalyser(),E.current.fftSize=512,E.current.smoothingTimeConstant=.3,E.current.minDecibels=-90,E.current.maxDecibels=-10),T.current),[]),ie=(0,U.useCallback)(e=>{let t=j(),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,ho),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),E.current&&s.connect(E.current),O.current.add(s),s.onended=()=>{O.current.delete(s),s.disconnect()};let c=Math.max(t.currentTime,te.current);s.start(c),te.current=c+a.duration,v(!0),ne.current!==null&&window.clearTimeout(ne.current);let l=Math.max(0,(c+a.duration-t.currentTime)*1e3)+500;ne.current=window.setTimeout(()=>v(!1),l)},[j]),ae=(0,U.useCallback)(e=>{switch(e.type){case`audioChunk`:m(!1),ie(e.data);break;case`transcript`:(e.role===`user`?u:f)(t=>re.current===e.role?t+e.text:e.text),re.current=e.role;break;case`turnComplete`:re.current=null;break;case`toolStatus`:re.current=null,f(e.error?`${e.action} failed: ${e.error}`:`Running ${e.action}...`);break;case`error`:console.error(`Gemini Live session error`,e.message),re.current=null,f(e.message),b(e.message);break;case`closed`:k.current(),o(!1),m(!1),v(!1),w.current=null,re.current=null,b(`Live connection closed`);break}},[ie]),M=(0,U.useCallback)(()=>{ee.current?.processor.disconnect(),ee.current?.source.disconnect(),ee.current=null,A.current?.getTracks().forEach(e=>e.stop()),A.current=null},[]),oe=(0,U.useCallback)(()=>{++D.current,M();for(let e of O.current)try{e.stop(),e.disconnect()}catch{}O.current.clear(),E.current?.disconnect(),E.current=null;let e=T.current;T.current=null,e&&e.state!==`closed`&&e.close().catch(e=>console.error(`Failed to close Live audio`,e));let t=w.current;w.current=null,o(!1),m(!1),g(!1),C.current=!1,v(!1),ne.current!==null&&(window.clearTimeout(ne.current),ne.current=null),te.current=0,t&&i(t).catch(e=>console.error(`Failed to stop Gemini Live session`,e))},[M,i]);k.current=oe;let se=(0,U.useCallback)(()=>{g(e=>{let t=!e;return C.current=t,t})},[]),ce=(0,U.useCallback)(async()=>{let a=++D.current;try{if(b(``),re.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 s=await navigator.mediaDevices.getUserMedia({audio:{channelCount:1,echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0}});if(a!==D.current){s.getTracks().forEach(e=>e.stop());return}console.log(`[gemini-live] microphone granted, starting session...`),A.current=s;let c=await n(e=>{a===D.current&&ae(e)},e,t);if(a!==D.current){await i(c);return}console.log(`[gemini-live] session started`,c),w.current=c;let l=j(),d=l.createMediaStreamSource(s);if(l.state===`suspended`&&await l.resume(),a!==D.current){d.disconnect();return}let p=l.createScriptProcessor(go,1,1),h=l.sampleRate/mo;p.onaudioprocess=e=>{if(!w.current||C.current)return;let t=e.inputBuffer.getChannelData(0),n=Math.floor(t.length/h),i=new Int16Array(n);for(let e=0;e<n;e+=1){let n=t[Math.floor(e*h)];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(w.current,btoa(a)).catch(e=>console.error(`Failed to send Gemini Live audio chunk`,e))},d.connect(p),E.current&&d.connect(E.current),p.connect(l.destination),ee.current={source:d,processor:p},o(!0),m(!0)}catch(e){if(a!==D.current)return;console.error(`Failed to start Gemini Live voice session`,e),f(`Error: ${e instanceof Error?e.message:String(e)}`),b(e instanceof Error?e.message:String(e)),oe()}},[ae,e,t,j,oe,n,i,r]);(0,U.useEffect)(()=>{s?ce():oe()},[s]),(0,U.useEffect)(()=>oe,[oe]);let le=(0,U.useCallback)(()=>{x.current&&(oe(),ce())},[oe,ce]),N=(0,U.useCallback)(()=>{},[]);return{isRecording:a,voiceMode:s,setVoiceMode:c,userTranscript:l,assistantTranscript:d,voiceAwaitingResponse:p,voiceAwaitingResponseRef:S,voiceModeRef:x,isPaused:h,togglePause:se,isSpeaking:_,analyserRef:E,errorMessage:y,restart:le,startRecognition:N,stopRecognition:N,scheduleVoiceListen:N,clearRestartTimer:N}}var U,mo,ho,go,_o=t((()=>{U=e(n()),mo=16e3,ho=24e3,go=2048})),vo=t((()=>{}));function yo({status:e,userTranscript:t,assistantTranscript:n,isPaused:r,onTogglePause:a,onEndCall:s,voice:c,voices:l,onChangeVoice:u,analyserRef:d}){let[f,p]=(0,bo.useState)(!1),m=(0,bo.useRef)(null),h=(0,bo.useRef)(s);h.current=s;let g=(0,bo.useRef)(null);(0,bo.useEffect)(()=>{let e=document.activeElement,t=document.body.style.overflow;document.body.style.overflow=`hidden`;let n=m.current;n.querySelector(`[data-call-control]:not(:disabled), [aria-label="End Live conversation"]`)?.focus();let r=e=>{if(e.key===`Escape`){e.preventDefault(),h.current();return}if(e.key!==`Tab`)return;let t=Array.from(n.querySelectorAll(`button:not(:disabled), [tabindex="0"]`)),r=t[0],i=t[t.length-1];e.shiftKey&&(document.activeElement===r||!n.contains(document.activeElement))?(e.preventDefault(),i?.focus()):!e.shiftKey&&(document.activeElement===i||!n.contains(document.activeElement))&&(e.preventDefault(),r?.focus())};return document.addEventListener(`keydown`,r),()=>{document.removeEventListener(`keydown`,r),document.body.style.overflow=t,e?.focus({preventScroll:!0})}},[]);let _=(0,So.jsx)(`div`,{ref:m,className:`gemini-live-overlay live-orb-dialog`,role:`dialog`,"aria-modal":`true`,"aria-label":`Gemini Live conversation`,"data-status":e,children:(0,So.jsxs)(`div`,{className:`gemini-live-card`,children:[(0,So.jsxs)(`header`,{className:`live-orb-header`,children:[(0,So.jsx)(`span`,{className:`gemini-live-badge`,children:`Gemini Live`}),(0,So.jsx)(`h2`,{children:`Live conversation`})]}),(0,So.jsx)(`div`,{className:`live-orb-stage`,children:(0,So.jsx)(Te,{hue:0,animate:e!==`paused`&&e!==`error`,enableVoiceControl:e===`listening`||e===`speaking`||e===`thinking`,analyserRef:d??g})}),(0,So.jsxs)(`div`,{className:`live-orb-state`,children:[(0,So.jsx)(`div`,{className:`gemini-live-status`,role:`status`,children:Co[e]}),(0,So.jsx)(`p`,{children:wo[e]})]}),(0,So.jsx)(`div`,{className:`gemini-live-transcript`,"aria-label":`Conversation transcript`,tabIndex:0,children:t||n?(0,So.jsxs)(So.Fragment,{children:[t&&(0,So.jsxs)(`p`,{className:`gemini-live-transcript-line`,children:[(0,So.jsx)(`span`,{className:`gemini-live-transcript-speaker`,children:`You`}),t]}),n&&(0,So.jsxs)(`p`,{className:`gemini-live-transcript-line`,children:[(0,So.jsx)(`span`,{className:`gemini-live-transcript-speaker`,children:`Mint`}),n]})]}):(0,So.jsx)(`p`,{className:`live-orb-empty`,children:e===`connecting`?`Your conversation will appear here.`:e===`error`?`No conversation yet.`:`Say something to get started…`})}),(0,So.jsxs)(`div`,{className:`gemini-live-voice-picker`,children:[(0,So.jsxs)(o,{type:`button`,variant:`ghost`,className:`gemini-live-voice-btn`,"aria-label":`Change voice`,"aria-expanded":f,"aria-haspopup":`listbox`,onClick:()=>p(e=>!e),children:[(0,So.jsx)(be,{size:16,"aria-hidden":`true`}),(0,So.jsx)(`span`,{children:c})]}),f&&(0,So.jsx)(`div`,{className:`gemini-live-voice-menu`,role:`listbox`,"aria-label":`Live voice`,children:l.map(e=>(0,So.jsx)(`button`,{type:`button`,role:`option`,"aria-selected":e===c,"data-voice":e,className:`gemini-live-voice-option ${e===c?`active`:``}`,onClick:()=>{p(!1),e!==c&&u(e)},children:e},e))})]}),(0,So.jsxs)(`div`,{className:`gemini-live-controls`,children:[(0,So.jsxs)(o,{type:`button`,"data-call-control":!0,variant:`secondary`,size:`lg`,className:`gemini-live-btn`,onClick:a,disabled:e===`connecting`||e===`error`,"aria-label":r?`Resume microphone`:`Pause microphone`,"aria-pressed":r,children:[r?(0,So.jsx)(i,{size:18,"aria-hidden":`true`}):(0,So.jsx)(Ce,{size:18,"aria-hidden":`true`}),(0,So.jsx)(`span`,{children:r?`Resume`:`Pause mic`})]}),(0,So.jsxs)(o,{type:`button`,variant:`destructive`,size:`lg`,className:`gemini-live-btn gemini-live-end`,onClick:s,"aria-label":`End Live conversation`,children:[(0,So.jsx)(ae,{size:18,"aria-hidden":`true`}),(0,So.jsx)(`span`,{children:`End call`})]})]})]})});return typeof document>`u`?_:(0,xo.createPortal)(_,document.body)}var bo,xo,So,Co,wo,To=t((()=>{bo=e(n()),xo=Se(),O(),Oe(),Ee(),vo(),So=r(),Co={connecting:`Connecting`,listening:`Listening`,speaking:`Speaking`,thinking:`Thinking`,paused:`Microphone paused`,error:`Connection unavailable`},wo={connecting:`Opening your microphone and Live session…`,listening:`Speak naturally. Mint is listening.`,speaking:`Mint is speaking. You can interrupt at any time.`,thinking:`Waiting for Mint’s response…`,paused:`Resume the microphone when you’re ready.`,error:`End this call and try again when you’re ready.`}}));function Eo(e){let t=/\.([a-zA-Z0-9]+)$/.exec(e.trim())?.[1]?.toLowerCase();return!!t&&Do.includes(t)}var Do,Oo,ko=t((()=>{Do=[`txt`,`md`,`pdf`,`docx`,`xlsx`,`json`,`toml`,`yaml`,`yml`,`rs`,`ts`,`tsx`,`js`,`jsx`,`py`,`html`,`css`],Oo=Do.map(e=>`.${e}`).join(`,`)}));function Ao(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 jo({provider:e}){let t=Lo[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 Mo({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 No(e){let t=[];et(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 Po({activeProvider:e,activeModel:t,availableProviders:n,settingsConfig:r,dynamicOllamaModels:i,onSelect:a,disabled:o=!1,onUpdateSettings:s}){let[c,l]=(0,Fo.useState)(!1),[u,d]=(0,Fo.useState)(`models`),[f,p]=(0,Fo.useState)(``),[m,h]=(0,Fo.useState)(0),[g,_]=(0,Fo.useState)(!1),[v,y]=(0,Fo.useState)({});(0,Fo.useEffect)(()=>{r?.modelThinkingConfigs&&y(r.modelThinkingConfigs)},[r?.modelThinkingConfigs]);let b=(0,Fo.useRef)(null),x=(0,Fo.useRef)(null),S=(0,Fo.useRef)(null),C=(0,Fo.useRef)(null),{models:w}=Pe(`gemini`,r?.apiKey||``),{models:T}=Pe(`anthropic`,r?.anthropicApiKey||``),{models:E}=Pe(`openai`,r?.openaiApiKey||``),{models:D}=Pe(`openrouter`,r?.openrouterApiKey||``),{models:O}=Pe(`deepseek`,r?.deepseekApiKey||``),{models:k}=Pe(`local_openai`,``,r?.localApiBaseUrl||``),[A,ee]=(0,Fo.useState)([]);(0,Fo.useEffect)(()=>{if(i&&i.length>0){ee(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){ee(t.models.map(e=>e.name));return}}}catch{}try{let t=await fe.fetchProviderModels(`ollama`,``);if(!e&&t&&t.length>0){ee(t);return}}catch{}!e&&r?.ollamaModel&&ee([r.ollamaModel])})(),()=>{e=!0}},[i,r?.ollamaHost,r?.ollamaModel]);let te=(0,Fo.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)(jo,{provider:n}),models:i})};if(n.includes(`gemini`)&&t(`gemini`,`gemini`,`Google Gemini`,w),n.includes(`anthropic`)&&t(`anthropic`,`anthropic`,`Anthropic Claude`,T),n.includes(`openai`)&&t(`openai`,`openai`,`OpenAI`,E),n.includes(`deepseek`)&&t(`deepseek`,`deepseek`,`DeepSeek`,O),n.includes(`openrouter`)){let e=new Set(jt),n=[];for(let e of jt)D.includes(e)&&n.push(e);let r=D.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`,D)}n.includes(`huggingface`)&&t(`huggingface`,`huggingface`,`Hugging Face`,[...Re]),n.includes(`local_openai`)&&t(`local_openai`,`local_openai`,`LM Studio / Local`,k),n.includes(`ollama`)&&t(`ollama`,`ollama`,`Ollama`,i&&i.length>0?i:A.length>0?A: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,w,T,E,O,D,k,i,A,r?.customProviders,r?.ollamaModel]),ne=(0,Fo.useMemo)(()=>{let e=f.trim().toLowerCase();if(!e)return te;let t=[];for(let n of te)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},[te,f]),re=!!f.trim()||g,j=(0,Fo.useMemo)(()=>{let e=[];for(let t of ne)if(!(t.id===`openrouter-other`&&!re))for(let n of t.models)e.push({providerId:t.providerId,providerName:t.name,model:n});return e},[ne,re]),[ie,ae]=(0,Fo.useState)(null);(0,Fo.useEffect)(()=>{c?t?ae({providerId:e,model:t}):j.length>0&&ae({providerId:j[0].providerId,model:j[0].model}):_(!1)},[c,e,t]),(0,Fo.useEffect)(()=>{h(0),j.length>0&&ae({providerId:j[0].providerId,model:j[0].model})},[f]);let M=(0,Fo.useCallback)((e,t)=>{let n=Dt(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]),oe=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,Fo.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,Fo.useEffect)(()=>{c&&(p(``),d(`models`),setTimeout(()=>{window.matchMedia(`(max-width: 760px)`).matches||S.current?.focus()},50))},[c]),(0,Fo.useEffect)(()=>{if(!c||!C.current)return;let e=C.current.querySelector(`[data-item-index="${m}"]`);e&&e.scrollIntoView({block:`nearest`})},[m,c]);let se=e=>{if(!(!c||e.nativeEvent.isComposing)){if(e.key===`Escape`){e.preventDefault(),l(!1),x.current?.focus();return}if(!(u!==`models`||e.target instanceof HTMLButtonElement)){if(e.key===`ArrowDown`){if(e.preventDefault(),j.length===0)return;let t=(m+1)%j.length;h(t),ae({providerId:j[t].providerId,model:j[t].model})}else if(e.key===`ArrowUp`){if(e.preventDefault(),j.length===0)return;let t=(m-1+j.length)%j.length;h(t),ae({providerId:j[t].providerId,model:j[t].model})}else if(e.key===`Enter`){e.preventDefault();let t=j[m];t&&(a(t.providerId,t.model),l(!1),x.current?.focus())}}}},ce=(0,Fo.useMemo)(()=>t?t.split(`/`).pop()||t:`Select Model`,[t]),le=(0,Fo.useMemo)(()=>M(t,e),[t,e,M]),N=ie||(t?{providerId:e,model:t}:null),ue=(0,Fo.useMemo)(()=>N?Dt(N.model,N.providerId):null,[N]),de=(0,Fo.useMemo)(()=>N?M(N.model,N.providerId):{supported:!1,enabled:!1,effort:`medium`},[N,M]),P=(0,Fo.useMemo)(()=>N?No(N.model):[],[N]),pe=e=>(r?.customProviders)?.find(t=>`custom:${t.id}`===e)?.logoDataUrl,me=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:pe(e)?(0,W.jsx)(`img`,{className:`provider-brand-logo`,src:pe(e),alt:``,"aria-hidden":`true`}):(0,W.jsx)(jo,{provider:e})}),(0,W.jsx)(`span`,{className:`model-selector-trigger-name`,children:ce}),le.enabled&&(0,W.jsx)(`span`,{className:`model-selector-trigger-effort`,children:Ao(le.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:se,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`,"aria-label":`Search models`,placeholder:`Search models...`,value:f,onChange:e=>p(e.target.value)}),f&&(0,W.jsx)(`button`,{type:`button`,className:`search-clear-btn`,onClick:()=>p(``),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:ne.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 "`,f,`"`]})]}):ne.map(n=>{let r=n.id===`openrouter-other`,i=r&&!re;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:()=>_(!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=me++,o=e===n.providerId&&t===r,s=N?.model===r&&N?.providerId===n.providerId,c=M(r,n.providerId);return(0,W.jsxs)(`div`,{"data-item-index":i,className:`model-spotlight-item ${o?`is-active`:``} ${s?`is-inspected`:``}`,onClick:()=>{ae({providerId:n.providerId,model:r}),a(n.providerId,r),l(!1),x.current?.focus()},onMouseEnter:()=>{h(i),ae({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}),et(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:Ao(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&&!f.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:()=>_(!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:N&&ue?(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:pe(N.providerId)?(0,W.jsx)(`img`,{className:`provider-brand-logo`,src:pe(N.providerId),alt:``,"aria-hidden":`true`}):(0,W.jsx)(jo,{provider:N.providerId})}),(0,W.jsxs)(`div`,{className:`model-detail-title-wrap`,children:[(0,W.jsx)(`span`,{className:`model-detail-title`,children:N.model.split(`/`).pop()||N.model}),N.model.includes(`/`)&&(0,W.jsx)(`span`,{className:`model-detail-subtitle`,children:N.model})]})]}),(0,W.jsx)(`p`,{className:`model-detail-description`,children:ue.description}),(0,W.jsxs)(`div`,{className:`model-detail-tags`,children:[(0,W.jsx)(`span`,{className:`model-detail-context-badge`,children:ue.contextWindow}),P.map(e=>(0,W.jsx)(Mo,{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":de.enabled,className:`model-detail-switch ${de.enabled?`checked`:``}`,onClick:()=>{oe(N.model,!de.enabled,de.effort)},title:de.enabled?`Disable thinking`:`Enable thinking`,children:(0,W.jsx)(`span`,{className:`model-detail-switch-thumb`})})]}),!de.supported&&(0,W.jsx)(`div`,{className:`model-unsupported-note`,style:{color:de.enabled?`var(--interactive-fg)`:void 0},children:de.enabled?`Thinking enabled (force toggle)`:`Not flagged as reasoning model by default (toggle to force enable)`}),de.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:Io.map(e=>{let t=de.effort===e.id;return(0,W.jsxs)(`button`,{type:`button`,className:`model-effort-item ${t?`is-selected`:``}`,onClick:()=>{oe(N.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 Fo,W,Io,Lo,Ro=t((()=>{Fo=e(n()),Ue(),S(),mt(),Rt(),zt(),Ze(),ft(),ct(),Mt(),rt(),xt(),W=r(),Io=[{id:`low`,label:`Low`},{id:`medium`,label:`Medium`},{id:`high`,label:`High`},{id:`extra_high`,label:`Extra High`}],Lo={anthropic:{src:tt,color:`#d97757`},deepseek:{src:Pt},gemini:{src:ut},huggingface:{src:vt},local_openai:{src:Ct,color:`#8b5cf6`},ollama:{src:at,color:`#f3f4f6`},openai:{src:gt,color:`#10a37f`},openrouter:{src:Ot}}})),zo=t((()=>{}));function Bo({open:e,count:t=0,onToggle:n,className:r=``}){return(0,Vo.jsxs)(`button`,{type:`button`,className:`tools-panel-toggle ${r}${e?` is-open`:``}`,"aria-label":e?`Close tools panel`:`Open tools panel`,"aria-expanded":e,title:e?`Close tools panel`:`Open tools panel`,onClick:n,children:[(0,Vo.jsxs)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":`true`,children:[(0,Vo.jsx)(`rect`,{x:`3`,y:`4`,width:`18`,height:`16`,rx:`2`}),(0,Vo.jsx)(`path`,{d:`M15 4v16M18 8h1M18 12h1M18 16h1`})]}),(0,Vo.jsx)(`span`,{className:`tools-toggle-label`,children:`Tools`}),t>0&&(0,Vo.jsx)(`span`,{className:`tools-task-count`,"aria-label":`${t} active background tasks`,children:t})]})}var Vo,Ho=t((()=>{zo(),Vo=r()}));function Uo(e,t=[]){let n=e.attachments.map(e=>({id:`attachment:${e.id}`,kind:e.kind,name:e.name,detail:e.trashed?`In Trash · Restore in Library`:e.availability===`missing`?`Original file missing`:e.kind===`image`?`Image`:e.kind===`video`?`Video`:e.name.split(`.`).length>1?e.name.split(`.`).at(-1).toUpperCase():`File`,url:e.libraryItemId?`/library?${new URLSearchParams({item:e.libraryItemId,...e.trashed?{trash:`1`}:{}})}`:void 0,interactionId:e.interactionId??void 0,thumbnailDataUri:e.thumbnailDataUri||void 0})),r=new Set,i=[],a=[...e.webSearchProgress,...t].filter(e=>e.type!==`ToolEnd`||!e.data.status||e.data.status===`success`);for(let e of Or(a)){let t=new URL(e.url);[`http:`,`https:`].includes(t.protocol)&&(t.hash=``,!r.has(t.href)&&(r.add(t.href),i.push({id:`web:${t.href}`,kind:`web`,name:e.title||e.domain,detail:e.domain,url:t.href,faviconUrl:e.faviconUrl})))}return[...n,...i]}var Wo=t((()=>{jr()}));function Go(e,t,n){let[r,i]=(0,Ko.useState)(null),[o,s]=(0,Ko.useState)(0),c=(0,Ko.useCallback)(()=>s(e=>e+1),[]);(0,Ko.useEffect)(()=>{if(!n)return;let t=!1,r=!1;i({chatId:e,value:null,error:``,loading:!0});let o=async()=>{if(!(r||document.hidden)){r=!0;try{let n=await a.getConversationSources(e);t||i({chatId:e,value:n,error:``,loading:!1})}catch(n){t||i(t=>({chatId:e,value:t?.chatId===e?t.value:null,error:String(n),loading:!1}))}finally{r=!1}}};o();let s=window.setInterval(()=>{o()},2e3);return()=>{t=!0,window.clearInterval(s)}},[n,e,o]);let l=r?.chatId===e?r:null;return{sources:(0,Ko.useMemo)(()=>n?Uo(l?.value??{attachments:[],webSearchProgress:[]},t):[],[n,l,t]),loading:n&&(!l||l.loading),error:l?.error||``,retry:c}}var Ko,qo=t((()=>{Ko=e(n()),S(),Wo()})),Jo=t((()=>{}));function Yo({source:e}){let t=e.kind===`web`?e.faviconUrl:e.thumbnailDataUri,[n,r]=(0,Zo.useState)(),i=e.kind===`web`?pe:e.kind===`image`?A:e.kind===`video`?M:/\.(pdf|md|txt|docx?)$/i.test(e.name)?te:ie;return(0,Qo.jsx)(`span`,{className:`session-source-icon is-${e.kind}`,children:t&&t!==n?(0,Qo.jsx)(`img`,{src:t,alt:``,loading:`lazy`,referrerPolicy:`no-referrer`,onError:()=>r(t)}):(0,Qo.jsx)(i,{size:15,"aria-hidden":`true`})})}function Xo({sources:e,loading:t,error:n,onRetry:r,onOpenLibrary:i}){let[a,o]=(0,Zo.useState)(!1),s=[{label:`Images`,kinds:[`image`]},{label:`Files`,kinds:[`file`,`video`]},{label:`Web searches`,kinds:[`web`]}],c=s.flatMap(t=>e.filter(e=>t.kinds.includes(e.kind)).slice(0,2)),l=a?e:c;return(0,Qo.jsxs)(`section`,{className:`session-sources`,"aria-label":`Session sources`,children:[(0,Qo.jsxs)(`header`,{className:`session-sources-heading`,children:[(0,Qo.jsxs)(`span`,{children:[(0,Qo.jsx)(_,{size:13,"aria-hidden":`true`}),`Sources `,(0,Qo.jsx)(`small`,{children:`This session`})]}),(0,Qo.jsx)(`span`,{children:e.length})]}),t&&(0,Qo.jsx)(`p`,{className:`session-sources-empty`,role:`status`,children:`Loading session sources…`}),n&&(0,Qo.jsxs)(`div`,{className:`session-sources-error`,role:`status`,children:[(0,Qo.jsx)(`span`,{children:`Could not load saved sources.`}),(0,Qo.jsx)(`button`,{type:`button`,onClick:r,children:`Retry`})]}),!t&&!n&&e.length===0&&(0,Qo.jsx)(`p`,{className:`session-sources-empty`,children:`Images and files you send, and pages found by web search, will appear here.`}),s.map(e=>{let t=l.filter(t=>e.kinds.includes(t.kind));return t.length?(0,Qo.jsxs)(`div`,{className:`session-sources-group`,children:[(0,Qo.jsx)(`h3`,{children:e.label}),(0,Qo.jsx)(`ul`,{children:t.map(e=>{let t=(0,Qo.jsxs)(Qo.Fragment,{children:[(0,Qo.jsx)(Yo,{source:e}),(0,Qo.jsxs)(`span`,{className:`session-source-copy`,children:[(0,Qo.jsx)(`strong`,{children:e.name}),(0,Qo.jsx)(`small`,{children:e.detail})]})]});return(0,Qo.jsx)(`li`,{children:e.url?(0,Qo.jsx)(`a`,{className:`session-source-row`,href:e.url,target:e.kind===`web`?`_blank`:void 0,rel:e.kind===`web`?`noopener noreferrer`:void 0,title:e.url,onClick:t=>{e.kind===`web`||t.button!==0||t.ctrlKey||t.metaKey||t.shiftKey||t.altKey||(t.preventDefault(),i(e.url))},children:t}):(0,Qo.jsx)(`div`,{className:`session-source-row`,title:e.name,children:t})},e.id)})})]},e.label):null}),e.length>c.length&&(0,Qo.jsx)(`button`,{type:`button`,className:`session-sources-more`,"aria-expanded":a,onClick:()=>o(e=>!e),children:a?`Show less`:`Show ${e.length-l.length} more sources`})]})}var Zo,Qo,$o=t((()=>{Zo=e(n()),O(),Jo(),Qo=r()})),es=t((()=>{}));function ts({chatId:e,liveProgress:t,open:n,onOpenChange:r}){let[i,a]=(0,ns.useState)({left:12,top:64,maxHeight:400}),o=(0,ns.useRef)(null),s=(0,ns.useRef)(null),c=(0,ns.useRef)(null),l=(0,ns.useId)(),{sources:u,loading:d,error:f,retry:p}=Go(e,t,n),m=(0,ns.useCallback)((e=!1)=>{r(!1),e&&o.current?.focus()},[r]),h=(0,ns.useCallback)(()=>{let e=o.current?.getBoundingClientRect();if(!e)return;let t=Math.min(360,window.innerWidth-24),n=e.bottom+8;a({left:Math.max(12,Math.min(e.right-t,window.innerWidth-t-12)),top:n,maxHeight:Math.max(0,window.innerHeight-n-12)})},[]);return(0,ns.useEffect)(()=>{if(!n)return;h(),c.current?.focus();let e=e=>{!o.current?.contains(e.target)&&!s.current?.contains(e.target)&&m()},t=e=>{e.key===`Escape`&&(e.preventDefault(),m(!0))};return document.addEventListener(`mousedown`,e),window.addEventListener(`keydown`,t),window.addEventListener(`resize`,h),window.addEventListener(`scroll`,h,!0),()=>{document.removeEventListener(`mousedown`,e),window.removeEventListener(`keydown`,t),window.removeEventListener(`resize`,h),window.removeEventListener(`scroll`,h,!0)}},[n,m,h]),(0,is.jsxs)(is.Fragment,{children:[(0,is.jsxs)(`button`,{ref:o,type:`button`,className:`session-sources-toggle${n?` is-open`:``}`,"aria-label":`Open session sources`,"aria-haspopup":`dialog`,"aria-expanded":n,"aria-controls":n?l:void 0,title:`Sources for this session`,onClick:()=>{h(),r(!n)},children:[(0,is.jsx)(_,{size:15,"aria-hidden":`true`}),(0,is.jsx)(`span`,{children:`Sources`})]}),n&&(0,rs.createPortal)((0,is.jsxs)(`section`,{ref:s,id:l,className:`session-sources-popover`,role:`dialog`,"aria-label":`Session sources`,style:i,children:[(0,is.jsx)(`button`,{ref:c,type:`button`,className:`session-sources-close`,"aria-label":`Close session sources`,onClick:()=>m(!0),children:(0,is.jsx)(j,{size:16,"aria-hidden":`true`})}),(0,is.jsx)(Xo,{sources:u,loading:d,error:f,onRetry:p,onOpenLibrary:e=>{window.history.pushState({},``,e),window.dispatchEvent(new PopStateEvent(`popstate`)),m()}},e)]}),document.body)]})}var ns,rs,is,as=t((()=>{ns=e(n()),rs=Se(),O(),qo(),$o(),es(),is=r()}));function os({node:e,color:t,onAction:n}){let r=String(e.value??``),[i,a]=(0,cs.useState)(r);return(0,cs.useEffect)(()=>{a(r)},[r,e.action]),(0,ls.jsxs)(`label`,{className:`mod-input${t}`,children:[e.label,(0,ls.jsx)(`input`,{value:i,onChange:e=>a(e.target.value),onKeyDown:t=>{t.key===`Enter`&&e.action&&(t.preventDefault(),n(e.action,t.currentTarget.value))}})]})}function ss({node:e,onAction:t,inheritedColor:n}){let r=e.color??n,i=[`default`,`yellow`,`cyan`,`blue`,`magenta`,`red`].includes(r??``)?` mod-color-${r}`:``;switch(e.type){case`stack`:return(0,ls.jsx)(`div`,{className:`mod-stack${e.direction===`row`?` mod-stack-row`:``}${i}`,children:e.children?.map((e,n)=>(0,ls.jsx)(ss,{node:e,onAction:t,inheritedColor:r},n))});case`text`:return(0,ls.jsx)(`p`,{className:`mod-text${i}`,children:e.text});case`badge`:return(0,ls.jsx)(`span`,{className:`mod-badge${i}`,children:e.text});case`button`:return(0,ls.jsx)(`button`,{className:i.trim()||void 0,type:`button`,onClick:()=>e.action&&t(e.action),children:e.label});case`input`:return(0,ls.jsx)(os,{node:e,color:i,onAction:t});case`progress`:return(0,ls.jsxs)(`label`,{className:`mod-progress${i}`,children:[e.label,(0,ls.jsx)(`progress`,{"aria-label":e.label,value:Number(e.value),max:e.max})]});case`table`:return(0,ls.jsx)(`div`,{className:`mod-table-scroll${i}`,children:(0,ls.jsxs)(`table`,{children:[(0,ls.jsx)(`thead`,{children:(0,ls.jsx)(`tr`,{children:e.columns?.map((e,t)=>(0,ls.jsx)(`th`,{children:e},t))})}),(0,ls.jsx)(`tbody`,{children:e.rows?.map((e,t)=>(0,ls.jsx)(`tr`,{children:e.map((e,t)=>(0,ls.jsx)(`td`,{children:e},t))},t))})]})});default:return null}}var cs,ls,us=t((()=>{cs=e(n()),ls=r()}));function ds({enabled:e,busy:t,onToggle:n}){return(0,ps.jsxs)(`div`,{className:`mod-session-controls`,children:[(0,ps.jsxs)(`button`,{type:`button`,disabled:t,"aria-pressed":e,onClick:()=>n(!e),children:[`Hot reload: `,e?`On`:`Off`]}),(0,ps.jsx)(`p`,{className:`mod-hint`,children:`Applies to this session. Mods with permissions require review for each new revision.`})]})}function fs({report:e}){return(0,ps.jsxs)(`section`,{"aria-label":`Mod test results`,children:[(0,ps.jsxs)(`p`,{role:`status`,children:[e.passed,` passed · `,e.failed,` failed`]}),e.tests.map((e,t)=>(0,ps.jsxs)(`div`,{children:[(0,ps.jsxs)(`strong`,{children:[e.passed?`✓`:`✗`,` `,e.name]}),(0,ps.jsx)(`p`,{className:`mod-hint`,children:e.file}),e.error&&(0,ps.jsx)(`pre`,{className:`mod-error`,children:e.error})]},t))]})}var ps,ms=t((()=>{ps=r()}));function hs(e,t,n,r){if(!Number.isFinite(e)||!Number.isFinite(t)||e<=24||t<1)return null;let i=Math.min(1e5,Math.floor(e-24)),a=Math.min(1e5,Math.floor(t));return{surface:n,widthPx:i,heightPx:a,columns:Math.min(1e4,Math.max(1,Math.floor(i/8))),rows:Math.min(1e4,Math.max(1,Math.floor(a/20))),sidePanelOpen:r}}var gs=t((()=>{})),_s=t((()=>{}));function vs({workspacePath:e,chatId:t,panelTarget:n,onOpen:r}){let[i,a]=(0,ys.useState)({mods:[]}),o=!!n,s=(0,ys.useRef)(r);s.current=r;let[c,l]=(0,ys.useState)(`manage`),[u,f]=(0,ys.useState)(``),[p,h]=(0,ys.useState)(!1),[g,_]=(0,ys.useState)(!0),[y,b]=(0,ys.useState)({}),x=(0,ys.useRef)(null),S=(0,ys.useRef)(o);S.current=o;let C=(0,ys.useRef)(``);C.current=`${e}\0${t}`;let[w,T]=(0,ys.useState)(`chat`),E=(0,ys.useRef)(0),D=(0,ys.useRef)(null),O=(0,ys.useRef)(new Set);(0,ys.useEffect)(()=>{let n=++E.current,r=!1,i;a({mods:[]}),_(!!(e&&t)),h(!1),f(``),l(`manage`),O.current.clear(),b({});async function o(){if(!(!e||!t||r)){try{let i=await d.operation({workspacePath:e,chatId:t,action:`list`});if(!r&&E.current===n){a(i),_(!1);let e=i.mods?.find(e=>e.enabled&&e.snapshot?.ui.side_panel&&!O.current.has(e.id));i.mods?.filter(e=>e.enabled).forEach(e=>O.current.add(e.id)),e&&(s.current(),l(e.id))}}catch(e){!r&&E.current===n&&(f(String(e)),_(!1))}r||(i=setTimeout(o,1e3))}}return o(),()=>{r=!0,clearTimeout(i),e&&t&&d.operation({workspacePath:e,chatId:t,action:`close`}).catch(()=>{})}},[e,t]),(0,ys.useEffect)(()=>{let n=x.current;if(!n||!e||!t)return;let r=!1,i=``,a,o=v.isTauriRuntime()?`desktop`:`web`;async function s(){if(r)return;let a=n.getBoundingClientRect(),s=hs(a.width,a.height,o,S.current);if(!s)return;let c=JSON.stringify(s);if(c!==i){i=c;try{await d.operation({workspacePath:e,chatId:t,action:`viewport`,viewport:s})}catch(e){r||f(String(e))}}}let c=()=>{clearTimeout(a),a=setTimeout(()=>{s()},100)},l=typeof ResizeObserver>`u`?void 0:new ResizeObserver(c);return l?.observe(n),window.addEventListener(`resize`,c),c(),()=>{r=!0,clearTimeout(a),l?.disconnect(),window.removeEventListener(`resize`,c)}},[e,t,o]);let k=(0,ys.useCallback)(async n=>{if(!e||C.current!==`${e}\0${t}`)return;let r=E.current;h(!0),f(``);try{let i=await d.operation({...n,workspacePath:e,chatId:t});if(r!==E.current)return;if(i.testReport&&n.id&&b(e=>({...e,[n.id]:i.testReport})),i.package){let e=Uint8Array.from(atob(i.package),e=>e.charCodeAt(0)),t=URL.createObjectURL(new Blob([e],{type:`application/zip`})),n=document.createElement(`a`);n.href=t,n.download=i.filename||`mod.mintmod`,n.click(),URL.revokeObjectURL(t)}let o=await d.operation({workspacePath:e,chatId:t,action:`list`});r===E.current&&a(o)}catch(e){r===E.current&&f(String(e))}finally{r===E.current&&h(!1)}},[e,t]),A=e=>{let t=e.manifest?.permissions||[];t.length&&!window.confirm(`Enable ${e.name}?\nRevision: ${e.hash}\nPermissions: ${t.join(`, `)}\nReview the source below before approving.`)||w!==`chat`&&!window.confirm(`Enable ${e.name} for ${w===`global`?`all workspaces as a personal copy`:`all chats in this workspace`}?`)||k({action:`enable`,id:e.id,scope:w,expectedHash:e.hash,grantPermissions:t.length>0})},ee=(e,t,n)=>void k({action:`action`,id:e.id,instanceId:e.instanceId,command:t,value:n}),te=i.mods||[],ne=te.filter(e=>e.enabled),re=ne.filter(e=>e.snapshot?.ui.side_panel),j=te.find(e=>e.id===c);return(0,G.jsx)(G.Fragment,{children:(0,G.jsxs)(`div`,{className:`mint-mods`,ref:x,children:[ne.map(e=>e.snapshot?.ui.above_composer&&(0,G.jsx)(`section`,{className:`mod-band`,"aria-label":e.name,children:(0,G.jsx)(ss,{node:e.snapshot.ui.above_composer,onAction:(t,n)=>ee(e,t,n)})},e.id)),n&&(0,bs.createPortal)((0,G.jsxs)(`aside`,{className:`mods-panel mint-mods`,"aria-label":`Workspace mods`,children:[(0,G.jsxs)(`header`,{className:`mods-panel-header`,children:[(0,G.jsx)(`span`,{className:`mods-panel-icon`,"aria-hidden":`true`,children:(0,G.jsx)(m,{size:18})}),(0,G.jsxs)(`div`,{className:`mods-panel-title`,children:[(0,G.jsx)(`strong`,{children:`Mods`}),(0,G.jsxs)(`p`,{children:[te.length,` installed · `,ne.length,` active`]})]})]}),re.length>0&&(0,G.jsxs)(`nav`,{"aria-label":`Mod panels`,children:[(0,G.jsx)(`button`,{type:`button`,"aria-pressed":c===`manage`,onClick:()=>l(`manage`),children:`Manage`}),re.map(e=>(0,G.jsx)(`button`,{type:`button`,"aria-pressed":c===e.id,onClick:()=>l(e.id),children:e.name},e.id))]}),u&&(0,G.jsx)(`p`,{role:`alert`,className:`mod-error`,children:u}),j?.snapshot?.ui.side_panel&&c!==`manage`?(0,G.jsx)(`section`,{className:`mod-content`,children:(0,G.jsx)(ss,{node:j.snapshot.ui.side_panel,onAction:(e,t)=>ee(j,e,t)})}):(0,G.jsxs)(`div`,{className:`mod-content`,children:[(0,G.jsxs)(`div`,{className:`mods-toolbar`,children:[(0,G.jsxs)(`label`,{htmlFor:`mods-scope`,children:[`Enable for `,(0,G.jsxs)(`select`,{id:`mods-scope`,value:w,onChange:e=>T(e.target.value),children:[(0,G.jsx)(`option`,{value:`chat`,children:`This chat`}),(0,G.jsx)(`option`,{value:`workspace`,children:`This workspace`}),(0,G.jsx)(`option`,{value:`global`,children:`All workspaces`})]})]}),(0,G.jsxs)(`button`,{type:`button`,className:`mods-import`,disabled:p||!e||!t,onClick:()=>D.current?.click(),children:[(0,G.jsx)(we,{size:14,"aria-hidden":`true`}),`Import`]})]}),(0,G.jsx)(`input`,{ref:D,type:`file`,accept:`.mintmod`,hidden:!0,onChange:async n=>{let r=n.target.files?.[0];if(n.target.value=``,!r)return;if(r.size>1024*1024){f(`Package exceeds 1 MiB`);return}let i=new Uint8Array(await r.arrayBuffer()),a=``;for(let e of i)a+=String.fromCharCode(e);let o=btoa(a);if(C.current===`${e}\0${t}`)try{let n=await d.operation({workspacePath:e,chatId:t,action:`inspect_package`,package:o});if(C.current!==`${e}\0${t}`||n.expectedHash&&!window.confirm(`Replace source for ${n.id}? The active revision stays unchanged until you enable the imported source.`))return;await k({action:`import`,package:o,expectedHash:n.expectedHash||void 0})}catch(n){C.current===`${e}\0${t}`&&f(String(n))}}}),g&&(0,G.jsx)(`p`,{role:`status`,className:`mods-empty`,children:`Loading mods…`}),!g&&!te.length&&(0,G.jsxs)(`div`,{className:`mods-empty`,children:[(0,G.jsx)(m,{size:22,"aria-hidden":`true`}),(0,G.jsx)(`strong`,{children:e?`No mods yet`:`Choose a workspace`}),(0,G.jsx)(`p`,{children:e?`Ask Mint to create one, or import a .mintmod package. Imported mods stay off until enabled.`:`Choose a workspace in chat to manage its mods.`})]}),te.map(e=>(0,G.jsxs)(`article`,{className:`mod-entry`,children:[(0,G.jsxs)(`div`,{className:`mod-entry-heading`,children:[(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`strong`,{children:e.name}),(0,G.jsxs)(`small`,{children:[`Version `,e.manifest?.version||`unknown`]})]}),(0,G.jsx)(`span`,{className:`mod-status ${e.error?`is-error`:e.enabled?`is-active`:``}`,children:e.error?`Error`:e.enabled?`Active`:`Off`})]}),e.changed&&(0,G.jsx)(`p`,{className:`mod-hint`,children:`Source changed · active revision preserved`}),e.reloadError&&(0,G.jsxs)(`p`,{role:`alert`,className:`mod-error`,children:[`Reload: `,e.reloadError]}),(e.error||e.sourceError)&&(0,G.jsx)(`p`,{role:`alert`,className:`mod-error`,children:e.error||e.sourceError}),(0,G.jsx)(`p`,{className:`mod-hint`,children:e.manifest?.permissions?.join(`, `)||`UI, events and mod state`}),(0,G.jsxs)(`div`,{className:`mod-entry-footer`,children:[(0,G.jsx)(`button`,{type:`button`,className:`mod-primary-action ${e.enabled&&!e.changed?`is-disable`:``}`,disabled:p||!e.manifest,onClick:()=>e.enabled&&!e.changed?void k({action:`disable`,id:e.id}):A(e),children:e.enabled&&!e.changed?`Disable`:e.changed?`Validate & reload`:`Enable`}),(0,G.jsxs)(`details`,{className:`mod-entry-more`,children:[(0,G.jsxs)(`summary`,{children:[`More options `,(0,G.jsx)(me,{size:13,"aria-hidden":`true`})]}),(0,G.jsxs)(`div`,{className:`mod-actions`,children:[(0,G.jsx)(`button`,{type:`button`,disabled:p||!e.source,onClick:()=>void k({action:`export`,id:e.id}),children:`Export`}),(0,G.jsx)(`button`,{type:`button`,disabled:p||!e.source,onClick:()=>void k({action:`test`,id:e.id}),children:`Run tests`})]}),y[e.id]&&(0,G.jsx)(fs,{report:y[e.id]}),(0,G.jsxs)(`details`,{children:[(0,G.jsx)(`summary`,{children:`Source & diagnostics`}),(0,G.jsx)(`pre`,{children:e.source}),(0,G.jsx)(`pre`,{children:e.snapshot?.logs?.join(`
|
|
17
|
-
`)||`No log messages`}),(0,G.jsxs)(`p`,{className:`mod-hint`,children:[`Active revision: `,e.activeHash||`None`]})]}),e.revisions.length>1&&(0,G.jsxs)(`label`,{className:`mod-revisions`,children:[`Restore source revision `,(0,G.jsxs)(`select`,{value:``,disabled:p,onChange:t=>{let n=t.target.value;n&&window.confirm(`Restore this source revision? Review and enable it after restoring.`)&&k({action:`rollback`,id:e.id,hash:n,expectedHash:e.hash})},children:[(0,G.jsx)(`option`,{value:``,children:`Choose revision`}),e.revisions.filter(t=>t!==e.hash).map(e=>(0,G.jsx)(`option`,{value:e,children:e.slice(0,12)},e))]})]})]})]})]},e.id)),i.toolRequests?.map(e=>(0,G.jsxs)(`article`,{className:`mod-entry`,children:[(0,G.jsxs)(`strong`,{children:[e.modId,`: `,e.action]}),(0,G.jsx)(`pre`,{children:JSON.stringify(e.input,null,2)}),(0,G.jsx)(`button`,{type:`button`,disabled:p,onClick:()=>{window.confirm(`Run ${e.action} requested by ${e.modId}?\n${JSON.stringify(e.input,null,2)}`)&&k({action:`run_request`,command:e.id,grantPermissions:!0})},children:`Review & run tool`})]},e.id)),(0,G.jsxs)(`details`,{className:`mod-session-settings`,children:[(0,G.jsxs)(`summary`,{children:[`Session settings `,(0,G.jsx)(me,{size:13,"aria-hidden":`true`})]}),(0,G.jsx)(ds,{enabled:i.session?.hotReload??!1,busy:p,onToggle:e=>void k({action:`hot_reload`,value:e})})]})]})]}),n)]})})}var ys,bs,G,xs=t((()=>{ys=e(n()),bs=Se(),O(),S(),us(),ms(),gs(),_s(),G=r()})),Ss=t((()=>{}));function Cs(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 ws({conversation:e,actions:t,tools:n,showSessionSources:r=!1}){let{interactions:i,sendingInteractionId:a,hasOlder:o,onLoadOlder:s,sending:c,sendingMessage:l,sendingImageCount:u,sendingVideoCount:d,streamedReply:f,streamedResponse:p,agentProgress:m,agentActivitySnapshots:h,thinkingExpanded:g,onThinkingExpandedChange:_,message:y,imageAttachments:b,videoAttachments:x,documentName:S,pendingApproval:C,agentMode:w,planMode:T,status:E,workspacePath:D,chatId:O,recentWorkspacePaths:k,chatEnd:A,welcomeInteraction:ee,onSubmit:te,onSelectImage:ne,onSelectVideo:re,onSelectDocument:j,onPasteImage:ie,onSetMessage:ae,onSendVoiceMessage:M,onRemoveImage:oe,onRemoveVideo:se,onRemoveDocument:ce,onStartWebSearch:le,onCaptureScreen:N,onSetAgentMode:ue,onSetPlanMode:de,onSetProvider:P,onSelectWorkspace:fe,onWorkspaceChanged:pe,onApproval:me,settingsConfig:F,onUpdateSettings:he,onSetModel:ge,onSelectModelAndProvider:_e,onCancelMessage:ve,onClearMessages:ye,onSetGeminiLiveVoice:be,onToggleMobileSidebar:xe,isCliSession:Se,cliSessionId:Ce,onBackToCode:we,conversationTitle:Te,slashChoice:Ee,onOpenArtifact:De,onOpenReview:Oe,onSelectSlashChoice:ke,onDismissSlashChoice:Ae}={...e,...t},je=Mr(_),Ne=(0,K.useMemo)(()=>_r(i,c,a),[i,c,a]),Pe=(0,K.useMemo)(()=>In(m),[m]),Fe=(0,K.useMemo)(()=>Pe.reduce((e,t)=>e+t.additions,0),[Pe]),Ie=(0,K.useMemo)(()=>Pe.reduce((e,t)=>e+t.deletions,0),[Pe]),Le=Pe.length===1?`1 file changed`:`${Pe.length} files changed`,Be=(0,K.useMemo)(()=>Rn(i.map(e=>In(h[String(e.id)]??e.agentActivity??zn))),[h,i]),He=Mr(()=>Rn([Be,Pe])),Ue=(0,K.useMemo)(()=>{if(!D)return null;let e=D.replace(/[\\/]+$/,``).trim();if(!e)return null;let t=e.split(/[\\/]/);return t[t.length-1]||e},[D]),We=Cs(f,Ts),Ge=(0,K.useMemo)(()=>Or(m),[m]),Ke=It(p),Je=(0,K.useMemo)(()=>hr(m),[m]),Ze=(0,K.useMemo)(()=>kn(m),[m]),Qe=(0,K.useMemo)(()=>An(m),[m]),$e=(0,K.useMemo)(()=>[...m].reverse().find(e=>e.type===`Thinking`),[m]),et=null,tt=null;$e&&$e.type===`Thinking`&&(et=$e.data.agent_name||null,tt=$e.data.model_name||null);let[nt,rt]=(0,K.useState)({}),[it,at]=(0,K.useState)({}),[ot,ct]=(0,K.useState)({}),[ut,ft]=(0,K.useState)({}),[pt,mt]=(0,K.useState)(null),[ht,gt]=(0,K.useState)(null),[_t,vt]=(0,K.useState)(!1),[yt,bt]=(0,K.useState)(!1),[xt,St]=(0,K.useState)(0),[Ct,wt]=(0,K.useState)(Ve),Et=(0,K.useCallback)(e=>{rt(t=>({...t,[e]:!(t[e]??e===`live`)}))},[]),Dt=Mr(e=>{De?De(e):gt({...e,workspacePath:e.workspacePath??D})}),Ot=Mr((e,t)=>{Oe?Oe({id:`review:${Date.now()}`,kind:`review`,title:`Review`,reviewTitle:e,changes:t}):mt({title:e,changes:t})});(0,K.useEffect)(()=>{let e=!1;return(async()=>{let t=F?.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){wt(t.models.map(e=>e.name));return}}}catch{}try{let t=await Ns(`ollama`,``);if(!e&&t&&t.length>0){wt(t);return}}catch{}e||(F?.ollamaModel?wt([F.ollamaModel]):wt(Ve))})(),()=>{e=!0}},[F?.ollamaHost,F?.ollamaModel]),(0,K.useEffect)(()=>{if(!c){St(0);return}let e=Date.now();St(0);let t=setInterval(()=>{St(Math.round((Date.now()-e)/1e3))},1e3);return()=>clearInterval(t)},[c]);let[kt,At]=(0,K.useState)(null),[jt,Mt]=(0,K.useState)(null),Pt=(0,K.useRef)(null),Ft=(0,K.useRef)(null),[Lt,Rt]=(0,K.useState)(!1),[zt,Bt]=(0,K.useState)(!1),Vt=(0,K.useRef)(!0),Ht=(0,K.useRef)(null),Ut=(0,K.useCallback)(()=>{let e=Pt.current;if(!e)return;let t=e.scrollHeight-e.scrollTop-e.clientHeight<=240;Rt(!t),Vt.current=t},[]),Wt=(0,K.useCallback)(()=>{!Vt.current||Ht.current!==null||(Ht.current=window.requestAnimationFrame(()=>{Ht.current=null,Pt.current&&Vt.current&&Ft.current?.scrollToEnd()}))},[]);(0,K.useEffect)(()=>{Wt()},[i,c,f,C,m,Wt]),(0,K.useEffect)(()=>{Vt.current=!0,Rt(!1),Wt()},[O,Wt]),(0,K.useEffect)(()=>()=>{Ht.current!==null&&window.cancelAnimationFrame(Ht.current)},[]),(0,K.useEffect)(()=>{let e=Pt.current;e&&Vt.current&&(e.scrollTop=e.scrollHeight)},[ht]);let Gt=(0,K.useCallback)(()=>{Vt.current=!0,Ft.current?.scrollToEnd()},[]),[qt,Jt]=(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}),Yt=(0,K.useRef)(qt),Xt=(0,K.useRef)(null),Zt=(0,K.useCallback)(e=>{e.preventDefault();let t=Xt.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;Yt.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`),Jt(Yt.current);try{localStorage.setItem(`mint_preview_split_ratio`,Yt.current.toFixed(4))}catch{}};window.addEventListener(`mousemove`,n),window.addEventListener(`mouseup`,r)},[]),Qt=(0,K.useCallback)(()=>{let e=.5;Yt.current=e,Jt(e),Xt.current&&Xt.current.style.setProperty(`--preview-width`,`50%`);try{localStorage.setItem(`mint_preview_split_ratio`,`0.5`)}catch{}},[]),[$t,tn]=(0,K.useState)({isOpen:!1,interaction:null,changes:[],checkpoints:[],targetCheckpoint:null,isLoading:!1}),[nn,rn]=(0,K.useState)({visible:!1,message:``,canUndo:!1,isUndoing:!1,type:`success`});(0,K.useEffect)(()=>{if(!nn.visible)return;let e=setTimeout(()=>{rn(e=>({...e,visible:!1}))},16e3);return()=>clearTimeout(e)},[nn.visible,nn.message]);let on=(0,K.useCallback)(async e=>{let t=$t.interaction;if(!t)return;let n=t.chatId||`cli`;tn(e=>({...e,isLoading:!0}));try{let t=await js(n,e,D);tn(e=>({...e,isOpen:!1,isLoading:!1})),t.status===`ok`?rn({visible:!0,message:t.message,canUndo:!0,isUndoing:!1,type:`success`}):rn({visible:!0,message:`Failed to rewind: ${t.message}`,canUndo:!1,isUndoing:!1,type:`error`})}catch(e){tn(e=>({...e,isOpen:!1,isLoading:!1})),rn({visible:!0,message:`Error: ${e.message||String(e)}`,canUndo:!1,isUndoing:!1,type:`error`})}},[$t.interaction,D]),cn=(0,K.useCallback)(async()=>{rn(e=>({...e,isUndoing:!0}));try{let e=await Ms(D);e.status===`ok`?rn({visible:!0,message:e.message,canUndo:!1,isUndoing:!1,type:`success`}):rn({visible:!0,message:`Failed to undo rewind: ${e.message}`,canUndo:!0,isUndoing:!1,type:`error`})}catch(e){rn({visible:!0,message:`Error: ${e.message||String(e)}`,canUndo:!0,isUndoing:!1,type:`error`})}},[D]),un=(0,K.useCallback)(async(e,t)=>{try{let n=sn(t)||t;await navigator.clipboard.writeText(n),Mt(e),setTimeout(()=>{Mt(t=>t===e?null:t)},2e3)}catch(e){console.error(`Failed to copy message:`,e)}},[]),dn=(0,K.useRef)(null),fn=(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),Cn=(0,K.useRef)(0),wn=(0,K.useRef)(0),Tn=e=>{e.preventDefault(),e.dataTransfer?.types?.includes(`Files`)&&(Cn.current++,bn(!0))},En=e=>{e.preventDefault(),e.dataTransfer?.types?.includes(`Files`)&&(Cn.current--,Cn.current===0&&bn(!1))},Dn=e=>{e.preventDefault()},On=e=>{e.preventDefault(),e.stopPropagation(),Cn.current=0,bn(!1);let t=Date.now();if(t-wn.current<250)return;wn.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,ne({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,re({target:t})}}else if(Eo(e.name)){let t=document.getElementById(`document-file-input`);if(t){let n=new DataTransfer;n.items.add(e),t.files=n.files,j({target:t})}}}},{isRecording:jn,voiceMode:Mn,setVoiceMode:Nn,voiceTranscript:Pn,setVoiceTranscript:Fn,voiceAwaitingResponse:Ln,voiceAwaitingResponseRef:Bn,voiceModeRef:Vn,startRecognition:Hn,stopRecognition:Un,cancelRecognition:Wn,scheduleVoiceListen:Gn,clearRestartTimer:qn}=Wa({onSendVoiceMessage:M,language:F?.language,message:y,sending:c,isSpeaking:!!kt,onSetMessage:ae}),Jn=F?.voiceMode===`geminiLive`,Yn=po({workspacePath:D,chatId:O,startSession:Ds,sendAudioChunk:Os,stopSession:ks}),Xn=!!(y.trim()||b.length>0||x.length>0||S),Zn=Array.from({length:u},(e,t)=>`[Image #${t+1}]`).join(` `),Qn=Array.from({length:d||0},(e,t)=>`[Video #${t+1}]`).join(` `),$n=e=>{switch(e){case`gemini`:return Tt;case`openai`:return Me;case`openrouter`:return st;case`deepseek`:return Ye;case`anthropic`:return qe;case`huggingface`:return Re;case`local_openai`:return Xe;case`ollama`:return Ct;default:if(e.startsWith(`custom:`)){let t=e.replace(/^custom:/,``);return(F?.customProviders??[]).find(e=>e.id===t)?.models.map(e=>e.modelId)??[]}return[]}},er=E?.activeProvider??``;$n(er);let nr=(e=>{if(!F)return``;switch(e){case`gemini`:return F.geminiModel;case`openai`:return F.openaiModel;case`openrouter`:return F.openrouterModel;case`deepseek`:return F.deepseekModel;case`anthropic`:return F.anthropicModel;case`huggingface`:return F.hfModel;case`local_openai`:return F.localModelName;case`ollama`:return F.ollamaModel;default:if(e.startsWith(`custom:`)){let t=e.replace(/^custom:/,``),n=(F?.customProviders??[]).find(e=>e.id===t);return(F.customModelSelections??{})[t]??n?.models[0]?.modelId??``}return``}})(er),rr=(0,K.useRef)(null),ir=(0,K.useRef)(null),ar=(0,K.useMemo)(()=>{let e=[];for(let t of i){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},[i]),[or,cr]=(0,K.useState)(null),lr=(0,K.useRef)(``),ur=e=>{ae(e),setTimeout(()=>{let e=rr.current;if(!e)return;wr(e);let t=e.value.length;e.setSelectionRange(t,t),e.focus()},0)},fr=()=>{if(ar.length===0)return!1;if(or===null)return lr.current=y,cr(0),ur(ar[ar.length-1]),!0;if(or+1<ar.length){let e=or+1;cr(e),ur(ar[ar.length-1-e])}return!0},pr=Mr(e=>{cr(null),ur(e)}),mr=()=>{if(or===null)return!1;if(or===0)return cr(null),ur(lr.current),!0;let e=or-1;return cr(e),ur(ar[ar.length-1-e]),!0},gr=e=>{ae(e),setTimeout(()=>{let e=rr.current;e&&(wr(e),e.focus())},0)},vr=e=>{e.key!==`Enter`||e.shiftKey||e.nativeEvent.isComposing||(e.preventDefault(),e.currentTarget.form?.requestSubmit())},yr=e=>{let t=(e.key===`ArrowUp`||e.key===`ArrowDown`)&&!e.shiftKey&&!e.altKey&&!e.metaKey&&!e.ctrlKey&&!e.nativeEvent.isComposing;if(t&&or!==null&&e.currentTarget.selectionStart===e.currentTarget.selectionEnd&&(e.key===`ArrowUp`?fr():mr())){e.preventDefault();return}if(!ir.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(`
|
|
18
|
-
`)&&fr()){e.preventDefault();return}}else if(!t.value.slice(t.selectionEnd).includes(`
|
|
19
|
-
`)&&mr()){e.preventDefault();return}}}vr(e)}},br=()=>{mn.current+=1,fn.current?.pause(),fn.current=null,vn.current=null,typeof window<`u`&&window.speechSynthesis&&window.speechSynthesis.cancel(),At(null)},xr=(e,t)=>{if(typeof window>`u`||!window.speechSynthesis){At(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,lt(F?.ttsVolume,1))),r.rate=Math.max(.1,Math.min(10,lt(F?.ttsSpeed,1))),r.pitch=Math.max(0,Math.min(2,lt(F?.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=()=>{At(e=>e===t?null:e),vn.current=null,Gn(900)};r.onend=a,r.onerror=a,vn.current=t,At(t),window.speechSynthesis.speak(r)},Sr=async(e,t,n)=>{let r=await Es(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,lt(F?.ttsVolume,1))),r.playbackRate=Math.max(.25,Math.min(4,lt(F?.ttsSpeed,1))),fn.current=r,r.onended=()=>t(),r.onpause=()=>t(),r.onerror=()=>n(Error(`Google TTS playback failed`)),r.play().catch(n)})}mn.current===n&&(At(e=>e===t?null:e),vn.current=null,Gn(900))},Cr=Mr(e=>{let t=ln(e);if(!t)return;if(kt===e){br();return}br();let n=mn.current;if(vn.current=e,At(e),F?.ttsProvider===`google`){Sr(t,e,n).catch(r=>{console.warn(`Google TTS failed, falling back to native speech synthesis:`,r),mn.current===n&&xr(t,e)});return}xr(t,e)}),wr=e=>{e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,120)}px`};(0,K.useEffect)(()=>()=>{br()},[]),(0,K.useEffect)(()=>{c&&(gn.current=!0)},[c]),(0,K.useEffect)(()=>{if(i.length===0)return;let e=i[i.length-1];if(!hn.current&&(hn.current=!0,!gn.current)){_n.current=e?.id??null;return}if(!c&&!(!e?.aiText||e.id===_n.current)){if(!F?.enableVoiceReply||Yn.voiceMode){_n.current=e.id,Mn&&Gn(350);return}_n.current=e.id,Cr(e.aiText)}},[i,c,F?.enableVoiceReply,Yn.voiceMode,Mn]),(0,K.useEffect)(()=>{if(!_t)return;let e=e=>{dn.current?.contains(e.target)||vt(!1)};return window.addEventListener(`mousedown`,e),()=>window.removeEventListener(`mousedown`,e)},[_t]),(0,K.useEffect)(()=>{let e=e=>{e.clipboardData&&ie(e.clipboardData)&&(e.preventDefault(),e.stopPropagation())};return window.addEventListener(`paste`,e,!0),()=>window.removeEventListener(`paste`,e,!0)},[ie]),(0,K.useEffect)(()=>{let e=e=>{e.key===`Escape`&&c&&!yt&&ve()};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[c,ve,yt]),(0,K.useEffect)(()=>{if(y)return;let e=document.getElementById(`chat-input`);e&&(e.style.height=``)},[y]);let Tr=()=>{vt(!1),document.getElementById(`vision-file-input`)?.click()},Er=()=>{vt(!1),document.getElementById(`video-file-input`)?.click()},Dr=()=>{vt(!1),document.getElementById(`document-file-input`)?.click()},kr=()=>{vt(!1),le()},Ar=()=>{vt(!1),w||ue(!0),ae(`Generate an image of `),rr.current?.focus()},jr=()=>{vt(!1),w||ue(!0),ae(`Generate a video of `),rr.current?.focus()},Nr=e=>{let t=e.trim();t&&ae(y.trim()?`${y.trimEnd()} ${t} `:`${t} `)},Pr=e=>{let t=e.dataTransfer.getData(`application/x-mint-workspace-path`)||e.dataTransfer.getData(`text/plain`);t.trim().startsWith(`@`)&&(e.preventDefault(),Nr(t))},Fr=i.length===0&&!c&&!C,Lr=(e,t)=>{let n=!!ut[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=!!ot[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:()=>ct(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(`
|
|
20
|
-
`):void 0;Dt({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(`
|
|
21
|
-
`).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(`
|
|
22
|
-
`).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:()=>ft(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:`⌄`})]})]})},Rr=(0,K.useCallback)(e=>{let t=String(e.id),n=In(h[t]??e.agentActivity??zn);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=it[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 As(r);if(!t||t.length===0){rn({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]}tn({isOpen:!0,interaction:e,changes:n,checkpoints:t,targetCheckpoint:o,isLoading:!1})}catch(e){rn({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:()=>{Ot(`All conversation changes`,He())},children:`Review`})]})]}),s&&(0,q.jsx)(`div`,{className:`file-changes-list-container`,children:Lr(n,t)})]})})},[h,He,it,ot,ut,D,De,Oe]),zr=c||C?(0,q.jsxs)(q.Fragment,{children:[c&&(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:(0,q.jsx)(bi,{text:[l,Zn,Qn].filter(Boolean).join(` `)})})})}),w&&(0,q.jsx)(qi,{progress:m,id:`live`,isOpen:nt.live??!0,onToggle:Et,pendingApproval:!!C}),(()=>{let e=Pe;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=it[`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:()=>{Ot(`All conversation changes`,He())},children:`Review`})]}),a&&(0,q.jsx)(`div`,{className:`file-changes-list-container`,style:{marginTop:`8px`},children:Lr(e,`active`)})]})})})(),(0,q.jsx)(`div`,{className:`message ai-message thinking-message`,children:(0,q.jsxs)(`div`,{className:`bubble-wrapper`,children:[!w&&Qe.length>0&&(0,q.jsx)(mi,{blockKey:`live-extended`,thoughts:Qe,isLive:!0,variant:`extended`,expanded:g[`live-extended`]??!0,onExpandedChange:je}),!w&&Ze.length>0&&Qe.length===0&&(0,q.jsx)(mi,{blockKey:`live`,thoughts:Ze,isLive:!0,expanded:g.live??!0,onExpandedChange:je}),(0,q.jsxs)(`div`,{className:`message-bubble`,children:[(0,q.jsx)(Kn,{progress:m,running:!0}),(0,q.jsx)(tr,{progress:m}),(0,q.jsx)(`span`,{children:Je?(0,q.jsx)(dr,{},Je.index):We?(0,q.jsx)(bi,{text:We,sources:Ge}):(0,q.jsxs)(`div`,{className:`thinking-status`,children:[(0,q.jsxs)(`span`,{className:`thinking-status-label`,children:[(0,q.jsx)(`span`,{"aria-hidden":`true`,children:`✦ `}),et&&tt?`${et} (${tt}) is thinking...`:`Thinking`]}),(0,q.jsx)(`span`,{className:`thinking-status-meta`,children:` · ${xt}s · Esc to cancel`})]})})]}),p&&(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":(p.provider||``).toLowerCase(),title:`${p.provider} • ${p.model}`,children:[(0,q.jsx)(`span`,{className:`provider-chip-dot`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{className:`provider-chip-name`,children:p.provider}),(0,q.jsx)(`span`,{className:`provider-chip-divider`,children:`/`}),(0,q.jsx)(`span`,{className:`provider-chip-model`,children:p.model})]}),Ke&&(0,q.jsx)(`span`,{className:`provider-fallback-notice`,children:Ke}),We&&(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 ${jt===`live`?`is-copied`:``}`,onClick:()=>un(`live`,We),title:jt===`live`?`คัดลอกแล้ว (Copied!)`:`คัดลอกข้อความ (Copy message)`,children:en(jt===`live`)}),(0,q.jsx)(`button`,{type:`button`,className:`msg-action-btn tts-btn ${kt===We?`is-speaking`:``}`,onClick:()=>Cr(We),title:kt===We?`Stop reading`:`Read aloud`,children:an(kt===We)})]})]})]})})]}),C&&(0,q.jsx)(di,{pendingApproval:C,onApproval:me},C.id||JSON.stringify(C))]}):null,Br=(0,q.jsxs)(`section`,{className:`conversation-panel ${Fr?`is-empty`:``}`,onDragEnter:Tn,onDragOver:Dn,onDragLeave:En,onDrop:On,style:ht||pt?{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:Tn,onDragLeave:En,onDragOver:Dn,onDrop:On,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:[xe&&(0,q.jsx)(`button`,{className:`mobile-menu-btn`,type:`button`,onClick:xe,"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:Se?(0,q.jsxs)(`div`,{className:`chat-header-breadcrumb`,children:[we&&(0,q.jsxs)(`button`,{type:`button`,className:`chat-header-back-btn`,onClick:we,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:Ce||`CLI Session`,children:(0,q.jsx)(`span`,{children:Ce?Ce===`cli`?`cli`:`cli::${Ce.replace(/^cli::/,``).slice(0,7)}`:`cli`})})]}):(0,q.jsxs)(`div`,{className:`chat-header-brand-group`,children:[(0,q.jsx)(`img`,{src:v.appIconPath(),alt:`Logo`,className:`chat-header-logo`}),(0,q.jsx)(`span`,{className:`chat-header-title-text`,title:Te&&Te.trim()&&Te!==`New chat`?Te.trim():`Mint Agent`,children:Te&&Te.trim()&&Te!==`New chat`?Te.trim():`Mint Agent`}),Ue&&(0,q.jsxs)(`span`,{className:`chat-header-project-pill`,title:`Project: ${D}`,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:Ue})]})]})}),(0,q.jsxs)(`div`,{className:`chat-header-actions`,children:[r&&(0,q.jsx)(ts,{chatId:O,liveProgress:m,open:yt,onOpenChange:bt}),n?.onToggle&&(0,q.jsx)(Bo,{open:n.open,count:n.backgroundTaskCount,onToggle:n.onToggle}),ht&&(0,q.jsxs)(`button`,{type:`button`,className:`chat-header-pill-btn`,title:`Close Live Preview`,onClick:()=>gt(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:ye,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:Pt,onScroll:Ut,style:{overflowAnchor:`none`},children:[o&&s&&(0,q.jsx)(`button`,{type:`button`,className:`load-older-messages`,disabled:zt,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:zt?`default`:`pointer`},onClick:async()=>{Bt(!0);try{await s()}finally{Bt(!1)}},children:zt?`Loading earlier messages…`:`Load earlier messages`}),(0,q.jsx)(za,{ref:Ft,items:Ne,scrollRef:Pt,hasOlder:o,renderRow:e=>{let t=Ne[e];return(0,q.jsxs)(K.Fragment,{children:[e>0&&dt(Ne[e-1].createdAt,t.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:Nt(t.createdAt)})]}),(0,q.jsx)(`div`,{className:`system-event-line`})]}),(0,q.jsx)(na,{interaction:t,copiedId:jt,onEditMessage:pr,speakingText:kt,agentActivitySnapshots:h,thinkingExpanded:g,openActivityIds:nt,openReviewIds:it,openFileDiffs:ot,onThinkingExpandedChange:je,handleCopyMessage:un,speak:Cr,toggleActivity:Et,showAllFileChanges:ut,workspacePath:D,renderFileChanges:Rr})]},t.id)},tail:zr},O),Lt&&(0,q.jsx)(`button`,{type:`button`,className:`scroll-to-bottom-btn`,onClick:Gt,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:A})]}),(0,q.jsxs)(`div`,{className:`input-area`,children:[(0,q.jsx)(vs,{workspacePath:D,chatId:O,panelTarget:n?.modsPanelTarget,onOpen:n?.onOpenMods??(()=>{})}),Pe.length>0&&(0,q.jsxs)(`button`,{type:`button`,className:`composer-change-status ${c?`is-live`:``}`,onClick:()=>Ot(Le,Pe),title:`Review recent agent changes`,children:[(0,q.jsxs)(`span`,{className:`composer-change-status-copy`,children:[c&&(0,q.jsx)(`span`,{className:`composer-change-status-spinner`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{children:c?`Editing ${Pe.length} ${Pe.length===1?`file`:`files`}…`:Le})]}),(0,q.jsxs)(`span`,{className:`composer-change-status-counts`,"aria-label":`${Fe} additions and ${Ie} deletions`,children:[Fe>0&&(0,q.jsxs)(`strong`,{children:[`+`,Fe]}),Ie>0&&(0,q.jsxs)(`em`,{children:[`-`,Ie]})]})]}),Fr&&(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`}),Ue&&(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:Ue})]})]})]}),fe&&(0,q.jsxs)(`div`,{className:`project-context-row`,children:[(0,q.jsx)(Kt,{currentPath:D||``,recentPaths:k,onSelectWorkspace:fe}),D&&(0,q.jsx)(xn,{workspacePath:D,disabled:c,onBranchChanged:pe})]}),(0,q.jsxs)(`div`,{className:`smart-context-bar`,children:[(0,q.jsxs)(`label`,{className:`smart-context-option ${w?`is-active`:``}`,children:[(0,q.jsxs)(`span`,{className:`toggle-switch`,children:[(0,q.jsx)(`input`,{type:`checkbox`,checked:w,onChange:e=>ue(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`})})]}),de&&(0,q.jsxs)(`label`,{className:`smart-context-option ${T?`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:!!T,onChange:e=>de(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`})})]})]}),(0,q.jsxs)(`form`,{id:`chat-form`,className:Jn?`has-live-btn`:``,style:{position:`relative`},onSubmit:e=>{cr(null),lr.current=``,te(e)},onDragOver:e=>{e.dataTransfer.types.includes(`application/x-mint-workspace-path`)&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`)},onDrop:Pr,onPaste:e=>{ie(e.clipboardData)&&e.preventDefault()},children:[Ee&&(0,q.jsx)(Ir,{choice:Ee,inputRef:rr,onSelect:ke,onDismiss:Ae}),(b.length>0||x.length>0||S)&&(0,q.jsxs)(`div`,{className:`mint-attachment`,children:[b.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:()=>oe(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)),x.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:()=>se(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)),S&&(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:S}),(0,q.jsx)(`button`,{type:`button`,onClick:ce,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`})]})})]})]}),or!==null&&ar.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 `,or+1,`/`,ar.length]}),(0,q.jsx)(sr,{id:`chat-input`,inputRef:rr,value:y,onValueChange:e=>{ae(e),or!==null&&cr(null)},onResizeInput:wr,onChange:e=>{wr(e.currentTarget),ae(e.target.value),or!==null&&cr(null)},onKeyDown:yr,onDrop:Pr,placeholder:`Ask anything, @ to mention, / for actions`,rows:1}),(0,q.jsx)(Xr,{ref:ir,message:y,onComplete:gr,workspacePath:D,mcpServers:F?.mcpServers,anchorRef:rr,suppressed:or!==null||!!Ee}),(0,q.jsxs)(`div`,{className:`chat-tool-menu-wrap`,ref:dn,children:[(0,q.jsx)(`button`,{id:`chat-tool-btn`,type:`button`,"aria-haspopup":`menu`,"aria-expanded":_t,onClick:()=>vt(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`})]})}),_t&&(0,q.jsxs)(`div`,{className:`chat-tool-menu`,role:`menu`,children:[(0,q.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:Tr,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:Er,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:Dr,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:kr,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:Ar,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:jr,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:ne,style:{display:`none`}}),(0,q.jsx)(`input`,{id:`video-file-input`,type:`file`,accept:`video/mp4,video/webm,video/quicktime,video/x-matroska`,onChange:re,style:{display:`none`}}),(0,q.jsx)(`input`,{id:`document-file-input`,type:`file`,accept:Oo,onChange:j,style:{display:`none`}}),(0,q.jsx)(`button`,{id:`screen-capture-btn`,type:`button`,onClick:N,"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)(Po,{activeProvider:E?.activeProvider??``,activeModel:nr,availableProviders:E?.availableProviders??[],settingsConfig:F,dynamicOllamaModels:Ct,onSelect:(e,t)=>{_e?_e(e,t):(P(e),ge(t))},onUpdateSettings:he}),(0,q.jsx)(Ya,{id:`voice-input-btn`,className:`composer-voice-pill`,active:jn,disabled:c||Ln||Yn.voiceMode,ariaLabel:`Voice input`,title:jn?`Stop recording · Esc or slide left to cancel`:`Tap to dictate · hold to record`,accentColor:`#f5f5f5`,iconColor:`#a1a1aa`,background:`#27272a`,size:28,shape:`pill`,reach:8,mode:`auto`,holdAfter:300,reactive:`simulated`,showTime:!0,waveform:!0,slideToCancel:!0,cancelDistance:64,attack:40,release:240,openDuration:200,pressScale:.95,onStart:()=>(br(),Hn()),onStop:({reason:e})=>{br(),e===`release`||e===`tap`||e===`key`?Un():Wn()}}),Jn&&(0,q.jsx)(`button`,{id:`gemini-live-btn`,type:`button`,onClick:()=>Yn.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`})]})}),c?(0,q.jsx)(`button`,{id:`send-btn`,className:`stop-btn`,type:`button`,onClick:ve,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:!Xn,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`})]})})]}),Mn&&!jn&&Pn&&(0,q.jsx)(`p`,{className:`composer-voice-feedback`,role:`status`,children:Pn})]}),(0,q.jsx)(`p`,{className:`input-disclaimer`,children:`Mint Agent is an AI gateway. Responses via third-party APIs. Verify critical info.`}),Yn.voiceMode&&(0,q.jsx)(yo,{status:Yn.errorMessage?`error`:Yn.isRecording?Yn.isPaused?`paused`:Yn.isSpeaking?`speaking`:Yn.voiceAwaitingResponse?`thinking`:`listening`:`connecting`,userTranscript:Yn.userTranscript,assistantTranscript:Yn.assistantTranscript,isPaused:Yn.isPaused,analyserRef:Yn.analyserRef,onTogglePause:Yn.togglePause,onEndCall:()=>Yn.setVoiceMode(!1),voice:F?.geminiLiveVoice||`Puck`,voices:ze,onChangeVoice:async e=>{await be(e),Yn.restart()}}),nn.visible&&(0,q.jsxs)(`div`,{className:`rewind-toast-banner ${nn.type===`error`?`is-error`:`is-success`}`,children:[(0,q.jsxs)(`div`,{className:`rewind-toast-content`,children:[nn.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:nn.message})]}),(0,q.jsxs)(`div`,{className:`rewind-toast-actions`,children:[nn.canUndo&&(0,q.jsx)(`button`,{type:`button`,className:`rewind-toast-undo-btn`,onClick:cn,disabled:nn.isUndoing,title:`Restore workspace files back from safety rescue snapshot`,children:nn.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:()=>rn(e=>({...e,visible:!1})),"aria-label":`Close notification`,children:`✕`})]})]})]});return(0,q.jsxs)(`div`,{ref:Xt,className:`chat-panel-split-wrapper ${ht||pt?`has-preview`:`no-preview`}`,style:{"--preview-width":`${(qt*100).toFixed(2)}%`},children:[Br,(ht||pt)&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`preview-split-resizer`,onMouseDown:Zt,onDoubleClick:Qt,title:`Drag to resize · Double-click to reset 50/50`,children:(0,q.jsx)(`div`,{className:`preview-split-resizer-grip`})}),pt?(0,q.jsx)(Sn,{title:pt.title,changes:pt.changes,workspacePath:D,onBack:()=>mt(null)}):ht?(0,q.jsx)(pn,{artifact:ht,onClose:()=>gt(null),workspacePath:D}):null]}),$t.isOpen&&(0,q.jsx)(Ha,{isOpen:$t.isOpen,onClose:()=>tn(e=>({...e,isOpen:!1})),onConfirm:on,checkpoints:$t.checkpoints,targetCheckpoint:$t.targetCheckpoint,changes:$t.changes,workspacePath:D,isLoading:$t.isLoading})]})}var K,q,Ts,Es,Ds,Os,ks,As,js,Ms,Ns,Ps=t((()=>{qn(),nr(),ur(),mr(),gr(),K=e(n()),Vn(),vr(),mt(),Ge(),jr(),Pr(),zr(),Zr(),pi(),rn(),vi(),ra(),xi(),Ji(),Ba(),yn(),Ua(),ot(),qa(),fo(),_o(),To(),ko(),Ro(),fn(),Wt(),Ho(),as(),xs(),_n(),Ss(),Fr(),S(),q=r(),Ts=120,{getTtsUrls:Es,startGeminiLiveSession:Ds,sendGeminiLiveAudioChunk:Os,stopGeminiLiveSession:ks,listGitCheckpoints:As,rollbackGitCheckpoint:js,undoGitCheckpoint:Ms}=a,{fetchProviderModels:Ns}=fe})),Fs=t((()=>{}));function Is(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 Ls(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 Rs({onClose:e,onAttach:t,capture:n,onLiveTranslate:r}){let[i,a]=(0,zs.useState)(``),[o,s]=(0,zs.useState)(!1),[c,l]=(0,zs.useState)(null),[u,d]=(0,zs.useState)(``),[f,p]=(0,zs.useState)(!1),[m,h]=(0,zs.useState)(`region`),[g,_]=(0,zs.useState)(!1),v=(0,zs.useRef)(null),y=(0,zs.useRef)(null),b=(0,zs.useRef)(null),x=(0,zs.useRef)(null);(0,zs.useEffect)(()=>{let t=document.activeElement instanceof HTMLElement?document.activeElement:null;x.current?.focus();let n=t=>{if(t.key===`Escape`&&e(),t.key!==`Tab`)return;let n=Array.from(b.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 S=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)}}},C=e=>{m!==`region`||!i||(v.current=Is(e,e.currentTarget),l(null),e.currentTarget.setPointerCapture(e.pointerId))},w=e=>{v.current&&l(Ls(v.current,Is(e,e.currentTarget)))},T=e=>{if(!v.current)return;let t=Ls(v.current,Is(e,e.currentTarget));v.current=null,l(t.width>.003&&t.height>.003?t:null),e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId)};return(0,Bs.jsx)(`div`,{ref:b,className:`screen-capture-dialog ${f?`is-capturing`:``}`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`screen-capture-title`,children:(0,Bs.jsxs)(`div`,{className:`screen-capture-panel`,children:[(0,Bs.jsxs)(`header`,{className:`screen-capture-header`,children:[(0,Bs.jsxs)(`div`,{children:[(0,Bs.jsx)(`p`,{className:`screen-capture-eyebrow`,children:`Mint Agent · Screen capture`}),(0,Bs.jsx)(`h2`,{id:`screen-capture-title`,children:`Choose what Mint can see`}),(0,Bs.jsx)(`p`,{children:`Only the image you attach will be included in your message.`})]}),(0,Bs.jsx)(`button`,{ref:x,type:`button`,className:`screen-capture-close`,onClick:e,"aria-label":`Close screen capture`,children:`×`})]}),(0,Bs.jsx)(`div`,{className:`screen-capture-body`,children:i?(0,Bs.jsx)(`div`,{className:`screen-capture-stage`,children:(0,Bs.jsxs)(`div`,{className:`screen-capture-image-wrap ${m===`region`?`is-selecting`:``}`,onPointerDown:C,onPointerMove:w,onPointerUp:T,onPointerCancel:T,children:[(0,Bs.jsx)(`img`,{ref:y,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,Bs.jsx)(`div`,{className:`screen-capture-selection`,style:{left:`${c.x*100}%`,top:`${c.y*100}%`,width:`${c.width*100}%`,height:`${c.height*100}%`}})]})}):(0,Bs.jsxs)(`div`,{className:`screen-capture-empty`,children:[(0,Bs.jsx)(`span`,{className:`screen-capture-empty-icon`,"aria-hidden":`true`,children:`▣`}),(0,Bs.jsx)(`h3`,{children:f?`Waiting for your screen…`:`Capture your screen`}),(0,Bs.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,Bs.jsx)(`button`,{type:`button`,className:`screen-capture-primary`,onClick:S,children:`Capture screen`})]})}),u&&(0,Bs.jsx)(`p`,{className:`screen-capture-error`,role:`alert`,children:u}),(0,Bs.jsxs)(`footer`,{className:`screen-capture-footer`,children:[(0,Bs.jsxs)(`div`,{className:`screen-capture-modes`,role:`group`,"aria-label":`Capture area`,children:[(0,Bs.jsx)(`button`,{type:`button`,className:m===`region`?`active`:``,onClick:()=>h(`region`),"aria-pressed":m===`region`,children:`Select area`}),(0,Bs.jsx)(`button`,{type:`button`,className:m===`full`?`active`:``,onClick:()=>h(`full`),"aria-pressed":m===`full`,children:`Full screen`})]}),(0,Bs.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,Bs.jsxs)(`div`,{className:`screen-capture-actions`,children:[r&&(0,Bs.jsx)(`button`,{type:`button`,className:`screen-capture-secondary`,onClick:r,children:`Live translate`}),i&&(0,Bs.jsx)(`button`,{type:`button`,className:`screen-capture-secondary`,onClick:S,disabled:f||g,children:`Retake`}),(0,Bs.jsx)(`button`,{type:`button`,className:`screen-capture-secondary`,onClick:e,children:`Cancel`}),(0,Bs.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=y.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 zs,Bs,Vs=t((()=>{zs=e(n()),Fs(),Bs=r()}));function Hs({view:e,sidebarCollapsed:t,sending:n,chatSessions:r,activeConversationId:i,onToggleSidebar:a,onSidebarResize:o,onSidebarResizeEnd:s,onClearHistory:c,onSelectConversation:l,onDeleteConversation:d,onRenameConversation:f,onSetView:p,isSearchOpen:m,onSetSearchOpen:h,showWorkspaceTab:g,promoteMediaStudios:_,activeWorkspacePath:y,recentWorkspacePaths:S,onBrowseFolder:w,onUpdateSessionWorkspace:T,onNewChatInProject:E}){let[D,O]=(0,Us.useState)(null),[k,A]=(0,Us.useState)(``),[ee,te]=(0,Us.useState)(!1),[ne,j]=(0,Us.useState)(!1),[ie,ae]=(0,Us.useState)(null),[M,oe]=(0,Us.useState)(null),[se,ce]=(0,Us.useState)(()=>{if(typeof window>`u`)return[];try{return JSON.parse(window.localStorage.getItem(`mint_removed_sidebar_projects`)||`[]`)}catch{return[]}}),[N,ue]=(0,Us.useState)(null),de=(0,Us.useRef)(null),fe=(0,Us.useRef)(null),pe=(0,Us.useRef)(null),F=(0,Us.useRef)(null),{user:he,avatarUrl:ge,logout:_e}=u(),[ve,ye]=(0,Us.useState)(!1),be=(0,Us.useRef)(null);(0,Us.useEffect)(()=>{if(!ve)return;let e=e=>{let t=be.current;t&&(t.lastWidth=t.startWidth+(e.clientX-t.startX),t.frame??=requestAnimationFrame(()=>{be.current&&(be.current.frame=null,o?.(be.current.lastWidth))}))},t=()=>{let e=be.current;e?.frame!=null&&cancelAnimationFrame(e.frame),ye(!1),document.body.style.cursor=``,document.body.style.userSelect=``,e&&s?.(e.lastWidth),be.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)}},[ve,o,s]);let xe=e=>{if(t)return;e.preventDefault();let n=F.current?.getBoundingClientRect().width??264;be.current={startX:e.clientX,startWidth:n,lastWidth:n,frame:null},ye(!0)};(0,Us.useEffect)(()=>{function e(e){fe.current&&!fe.current.contains(e.target)&&te(!1),pe.current&&!pe.current.contains(e.target)&&j(!1),de.current&&!de.current.contains(e.target)&&ue(null),e.target.closest(`.sidebar-project-menu-popover, .sidebar-project-menu-trigger`)||ae(null),e.target.closest(`.sidebar-conversation-menu-popover, .sidebar-conversation-menu-trigger`)||oe(null)}return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[]);let Se=e=>{k.trim()&&k.trim()!==r.find(t=>t.id===e)?.title&&f?.(e,k.trim()),O(null)},Ce=r.filter(e=>e.kind!==`cli`&&!e.id.startsWith(`cli`)&&e.id!==`conversation-default`),we=r.filter(e=>e.kind===`cli`||e.id.startsWith(`cli`)),[Te,Ee]=(0,Us.useState)(()=>{if(typeof window>`u`)return[];try{let e=localStorage.getItem(`mint_project_order`);return e?JSON.parse(e):[]}catch{return[]}}),[De,Oe]=(0,Us.useState)(null),[ke,je]=(0,Us.useState)(null),[Me,Ne]=(0,Us.useState)(null),Pe=(e,t)=>{e.dataTransfer.setData(`text/plain`,t),e.dataTransfer.effectAllowed=`move`,Oe(t)},Fe=(e,t)=>{if(!De||De===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`;(ke!==t||Me!==i)&&(je(t),Ne(i))},Re=(e,t)=>{if(e.stopPropagation(),ke===t){let t=e.relatedTarget;(!t||!e.currentTarget.contains(t))&&(je(null),Ne(null))}},ze=(e,t)=>{if(e.preventDefault(),e.stopPropagation(),!De||De===t){Oe(null),je(null),Ne(null);return}let n=Ve.map(e=>e.id),r=[...Te];for(let e of n)r.includes(e)||r.push(e);r=r.filter(e=>e!==De);let i=r.indexOf(t);if(i!==-1){let e=Me===`after`?i+1:i;r.splice(e,0,De)}else r.push(De);Ee(r);try{localStorage.setItem(`mint_project_order`,JSON.stringify(r))}catch(e){console.error(`Failed to save project order`,e)}Oe(null),je(null),Ne(null)},Be=()=>{Oe(null),je(null),Ne(null)},{projectGroups:Ve,recentSessions:Ue}=(0,Us.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(y);r&&!se.includes(r.id)&&t.set(r.id,{id:r.id,name:r.name,sessions:[]});for(let r of Ce){let i=e(r.workspacePath||null);if(i){if(se.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=Te.indexOf(e.id),r=Te.indexOf(t.id);return n!==-1&&r!==-1?n-r:n===-1?r===-1?e.name.localeCompare(t.name):1:-1}),recentSessions:n}},[Ce,y,i,Te,se]),We=(0,Us.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(y&&!se.includes(y.replace(/[\\/]+$/,``).trim())){let n=e(y);n&&t.set(n.id,n.name)}for(let e of Ve)se.includes(e.id)||t.set(e.id,e.name);if(S)for(let n of S){let r=e(n);r&&!se.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}))},[Ve,y,S,se]),Ge=(e,t)=>{if(e.stopPropagation(),e.preventDefault(),N?.sessionId===t.id){ue(null);return}let n=e.currentTarget.getBoundingClientRect(),r=Math.min(n.left,Math.max(10,window.innerWidth-220-10)),a=n.bottom+6;ue({sessionId:t.id,currentWorkspacePath:t.workspacePath||(t.id===i&&y?y:null),top:a,left:r})},[Ke,qe]=(0,Us.useState)(()=>{if(typeof window>`u`)return{};try{let e=localStorage.getItem(`mint_collapsed_projects`);return e?JSON.parse(e):{}}catch{return{}}}),[Ye,Xe]=(0,Us.useState)({}),Ze=e=>{qe(t=>{let n={...t,[e]:!t[e]};try{localStorage.setItem(`mint_collapsed_projects`,JSON.stringify(n))}catch{}return n})},Qe=e=>{Xe(t=>({...t,[e]:!t[e]}))},$e=e=>{ce(t=>{let n=[...new Set([...t,e])];try{localStorage.setItem(`mint_removed_sidebar_projects`,JSON.stringify(n))}catch{}return n}),ae(null)},[et,tt]=(0,Us.useState)(()=>typeof window<`u`?localStorage.getItem(`mint_last_cli_session_id`):null);(0,Us.useEffect)(()=>{if(i.startsWith(`cli`)||i===`cli`){tt(i);try{localStorage.setItem(`mint_last_cli_session_id`,i)}catch{}}},[i]);let nt=i.startsWith(`cli`)||i===`cli`?i:et||we[0]?.id||null,rt=we.find(e=>e.id===nt);return(0,J.jsxs)(`aside`,{className:`workspace-sidebar ${ve?`is-resizing`:``}`,ref:F,children:[!t&&(0,J.jsx)(`div`,{className:`sidebar-resize-handle ${ve?`is-active`:``}`,onMouseDown:xe,title:`Drag to resize sidebar`}),(0,J.jsxs)(`div`,{className:`sidebar-brand clickable`,onClick:a,title:t?`Expand sidebar`:`Collapse sidebar`,role:`button`,tabIndex:0,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&a()},children:[(0,J.jsx)(`img`,{src:v.appIconPath(),alt:`Mint Agent Logo`,className:`sidebar-logo`}),(0,J.jsx)(`span`,{className:`sidebar-brand-name`,children:`Mint Agent`})]}),(0,J.jsx)(`button`,{type:`button`,className:`sidebar-mobile-close`,"aria-label":`Close navigation menu`,onClick:a,children:(0,J.jsx)(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,"aria-hidden":`true`,children:(0,J.jsx)(`path`,{d:`M5 5l14 14M19 5L5 19`})})}),(0,J.jsxs)(`button`,{className:`sidebar-new-chat`,onClick:()=>c(`New chat`),title:`New chat (Ctrl+N)`,children:[(0,J.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:(0,J.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,J.jsx)(`line`,{x1:`12`,y1:`5`,x2:`12`,y2:`19`}),(0,J.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`})]})}),(0,J.jsx)(`span`,{children:`New chat`})]}),(0,J.jsxs)(`button`,{className:`sidebar-top-action sidebar-search-btn`,onClick:()=>h(!0),title:`Search chats (Ctrl+K)`,children:[(0,J.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:(0,J.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,J.jsx)(`circle`,{cx:`11`,cy:`11`,r:`8`}),(0,J.jsx)(`line`,{x1:`21`,y1:`21`,x2:`16.65`,y2:`16.65`})]})}),(0,J.jsx)(`span`,{children:`Search chats`})]}),(0,J.jsxs)(`button`,{className:`sidebar-top-action ${e===`chat`?`is-active`:``}`,onClick:()=>p(`chat`),title:`Chat`,children:[(0,J.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:(0,J.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,J.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,J.jsx)(`span`,{children:`Chat`})]}),(0,J.jsxs)(`button`,{className:`sidebar-top-action ${e===`pictures`?`is-active`:``}`,onClick:()=>p(`pictures`),title:`Library`,children:[(0,J.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:(0,J.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,J.jsx)(`path`,{d:`M4 4v16M8 8v12M12 6v14M16 6l4 14`})})}),(0,J.jsx)(`span`,{children:`Library`})]}),_&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`button`,{className:`sidebar-top-action ${e===`imagine`?`is-active`:``}`,onClick:()=>p(`imagine`),children:[(0,J.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:(0,J.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,J.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,J.jsx)(`span`,{children:`Image Studio`})]}),(0,J.jsxs)(`button`,{className:`sidebar-top-action ${e===`veo`?`is-active`:``}`,onClick:()=>p(`veo`),children:[(0,J.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:(0,J.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,J.jsx)(`rect`,{x:`2`,y:`2`,width:`20`,height:`20`,rx:`2.18`,ry:`2.18`}),(0,J.jsx)(`line`,{x1:`7`,y1:`2`,x2:`7`,y2:`22`}),(0,J.jsx)(`line`,{x1:`17`,y1:`2`,x2:`17`,y2:`22`}),(0,J.jsx)(`line`,{x1:`2`,y1:`12`,x2:`22`,y2:`12`}),(0,J.jsx)(`line`,{x1:`2`,y1:`7`,x2:`7`,y2:`7`}),(0,J.jsx)(`line`,{x1:`2`,y1:`17`,x2:`7`,y2:`17`}),(0,J.jsx)(`line`,{x1:`17`,y1:`17`,x2:`22`,y2:`17`}),(0,J.jsx)(`line`,{x1:`17`,y1:`7`,x2:`22`,y2:`7`})]})}),(0,J.jsx)(`span`,{children:`Veo Studio`})]})]}),g&&(0,J.jsxs)(`button`,{className:`sidebar-top-action ${e===`workspace`?`is-active`:``}`,onClick:()=>p(`workspace`),title:`Workspace`,children:[(0,J.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:(0,J.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,J.jsx)(`path`,{d:`M3 6h7l2 2h9v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z`}),(0,J.jsx)(`path`,{d:`M3 6v12`})]})}),(0,J.jsx)(`span`,{children:`Workspace`})]}),(0,J.jsxs)(`div`,{className:`sidebar-more-container`,ref:fe,children:[(0,J.jsxs)(`button`,{className:`sidebar-top-action ${ee||!_&&(e===`imagine`||e===`veo`)||e===`skills`||e===`mcp`||e===`plugins`||e===`cron`||e===`link`?`is-active`:``}`,onClick:()=>te(!ee),title:`More`,"aria-expanded":ee,"aria-controls":`sidebar-more-menu`,children:[(0,J.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:(0,J.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,J.jsx)(`circle`,{cx:`12`,cy:`12`,r:`1.5`}),(0,J.jsx)(`circle`,{cx:`19`,cy:`12`,r:`1.5`}),(0,J.jsx)(`circle`,{cx:`5`,cy:`12`,r:`1.5`})]})}),(0,J.jsx)(`span`,{children:`More`})]}),ee&&(0,J.jsxs)(`div`,{id:`sidebar-more-menu`,className:`sidebar-more-popover`,style:{display:`flex`,flexDirection:`column`,gap:`4px`,padding:`6px`,minWidth:`160px`},children:[(0,J.jsxs)(`button`,{className:`popover-item ${e===`skills`?`active`:``}`,onClick:()=>{p(`skills`),te(!1)},children:[(0,J.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:Je(15)}),(0,J.jsx)(`span`,{children:`Skills`})]}),(0,J.jsxs)(`button`,{className:`popover-item ${e===`mcp`?`active`:``}`,onClick:()=>{p(`mcp`),te(!1)},children:[(0,J.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:Le(15)}),(0,J.jsx)(`span`,{children:`MCP servers`})]}),(0,J.jsxs)(`button`,{className:`popover-item ${e===`plugins`?`active`:``}`,onClick:()=>{p(`plugins`),te(!1)},children:[(0,J.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:He(15)}),(0,J.jsx)(`span`,{children:`Plugins`})]}),(0,J.jsxs)(`button`,{className:`popover-item ${e===`cron`?`active`:``}`,onClick:()=>{p(`cron`),te(!1)},children:[(0,J.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:Vt(15)}),(0,J.jsx)(`span`,{children:`Scheduled tasks`})]}),(0,J.jsxs)(`button`,{className:`popover-item ${e===`link`?`active`:``}`,onClick:()=>{p(`link`),te(!1)},children:[(0,J.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:Ie(15)}),(0,J.jsx)(`span`,{children:`Linked folders`})]}),!_&&(0,J.jsxs)(`button`,{className:`popover-item ${e===`imagine`?`active`:``}`,onClick:()=>{p(`imagine`),te(!1)},children:[(0,J.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:(0,J.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,J.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,J.jsx)(`span`,{children:`Image Studio`})]}),!_&&(0,J.jsxs)(`button`,{className:`popover-item ${e===`veo`?`active`:``}`,onClick:()=>{p(`veo`),te(!1)},children:[(0,J.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:(0,J.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,J.jsx)(`polygon`,{points:`23 7 16 12 23 17 23 7`}),(0,J.jsx)(`rect`,{x:`1`,y:`5`,width:`15`,height:`14`,rx:`2`,ry:`2`})]})}),(0,J.jsx)(`span`,{children:`Veo Studio`})]})]})]}),t?(0,J.jsxs)(`div`,{className:`sidebar-collapsed-sessions`,children:[(0,J.jsxs)(`button`,{type:`button`,className:`sidebar-collapsed-item ${e===`code`?`is-active`:``}`,onClick:()=>p(`code`),title:`Code sessions Hub`,"aria-label":`Code sessions Hub`,children:[(0,J.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,J.jsx)(`polyline`,{points:`4 17 10 11 4 5`}),(0,J.jsx)(`line`,{x1:`12`,y1:`19`,x2:`20`,y2:`19`})]}),e===`code`&&(0,J.jsx)(`span`,{className:`sidebar-collapsed-dot`})]}),rt&&(0,J.jsxs)(`button`,{type:`button`,className:`sidebar-collapsed-item ${rt.id===i&&e!==`code`?`is-active`:``}`,onClick:()=>l(rt.id),title:rt.title&&rt.title!==`cli`?rt.title:`Terminal Session`,"aria-label":rt.title&&rt.title!==`cli`?rt.title:`Terminal Session`,children:[(0,J.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,J.jsx)(`polyline`,{points:`4 17 10 11 4 5`}),(0,J.jsx)(`line`,{x1:`12`,y1:`19`,x2:`20`,y2:`19`})]}),rt.id===i&&e!==`code`&&(0,J.jsx)(`span`,{className:`sidebar-collapsed-dot`})]}),Ce.slice(0,25).map(t=>{let n=t.id===i&&e!==`code`;return(0,J.jsxs)(`button`,{type:`button`,className:`sidebar-collapsed-item ${n?`is-active`:``}`,onClick:()=>l(t.id),title:t.title||`Chat`,"aria-label":t.title||`Chat`,children:[(0,J.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,J.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,J.jsx)(`span`,{className:`sidebar-collapsed-dot`})]},t.id)})]}):(0,J.jsxs)(`div`,{className:`sidebar-section`,children:[(0,J.jsx)(`div`,{className:`sidebar-section-title`,children:`Code`}),(0,J.jsxs)(`div`,{className:`sidebar-chat-list sidebar-cli-list`,children:[(0,J.jsxs)(`button`,{className:`sidebar-project sidebar-chat-item ${e===`code`?`active`:``}`,onClick:()=>p(`code`),title:`Code sessions Hub`,children:[(0,J.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:(0,J.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,J.jsx)(`polyline`,{points:`4 17 10 11 4 5`}),(0,J.jsx)(`line`,{x1:`12`,y1:`19`,x2:`20`,y2:`19`})]})}),(0,J.jsx)(`span`,{className:`sidebar-chat-title`,children:`Code hub`}),(0,J.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:we.length})]}),rt&&(0,J.jsxs)(`button`,{className:`sidebar-project sidebar-chat-item ${rt.id===i?`active`:``}`,onClick:()=>l(rt.id),title:rt.title||`Terminal Session`,style:{paddingLeft:`16px`},children:[(0,J.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`,opacity:.85},children:(0,J.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,J.jsx)(`path`,{d:`M4 17l6-6-6-6`}),(0,J.jsx)(`path`,{d:`M12 19h8`})]})}),(0,J.jsx)(`span`,{className:`sidebar-chat-title`,children:rt.title&&rt.title!==`cli`?rt.title:rt.id===`cli`?`Terminal Session`:`cli::${rt.id.replace(/^cli::/,``).slice(0,7)}`}),rt.id===i&&n&&(0,J.jsx)(`span`,{className:`sidebar-generating-text`,children:`Thinking...`})]})]}),Ve.length>0&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`sidebar-section-title sidebar-subsection-title`,children:`Projects`}),(0,J.jsx)(`div`,{className:`sidebar-projects-list`,children:Ve.map(e=>{let t=!!Ke[e.id],r=!!Ye[e.id],a=e.sessions.length>3,o=r||!a?e.sessions:e.sessions.slice(0,3),s=De===e.id,c=ke===e.id;return(0,J.jsxs)(`div`,{className:`sidebar-project-group ${s?`is-dragging`:``} ${c?Me===`before`?`drop-before`:`drop-after`:``}`,onDragOver:t=>Fe(t,e.id),onDragLeave:t=>Re(t,e.id),onDrop:t=>ze(t,e.id),children:[(0,J.jsxs)(`div`,{role:`button`,tabIndex:0,className:`sidebar-project-group-header`,onClick:()=>Ze(e.id),onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),Ze(e.id))},title:`${e.name} (${e.id}) - Drag to reorder`,draggable:!0,onDragStart:t=>Pe(t,e.id),onDragEnd:Be,children:[(0,J.jsxs)(`span`,{className:`sidebar-project-group-left`,children:[(0,J.jsx)(`span`,{className:`sidebar-project-drag-grip`,title:`Drag to reorder`,"aria-hidden":`true`,children:(0,J.jsxs)(`svg`,{width:`8`,height:`12`,viewBox:`0 0 8 12`,fill:`currentColor`,children:[(0,J.jsx)(`circle`,{cx:`2`,cy:`2`,r:`1.2`}),(0,J.jsx)(`circle`,{cx:`6`,cy:`2`,r:`1.2`}),(0,J.jsx)(`circle`,{cx:`2`,cy:`6`,r:`1.2`}),(0,J.jsx)(`circle`,{cx:`6`,cy:`6`,r:`1.2`}),(0,J.jsx)(`circle`,{cx:`2`,cy:`10`,r:`1.2`}),(0,J.jsx)(`circle`,{cx:`6`,cy:`10`,r:`1.2`})]})}),(0,J.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,J.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,J.jsxs)(J.Fragment,{children:[(0,J.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,J.jsx)(`polygon`,{points:`3 20 6 10 23 10 20 20 3 20`,fill:`currentColor`,fillOpacity:`0.15`})]})}),(0,J.jsx)(`span`,{className:`sidebar-project-group-name`,children:e.name})]}),(0,J.jsxs)(`span`,{className:`sidebar-project-group-right`,children:[(0,J.jsx)(`button`,{type:`button`,className:`sidebar-project-menu-trigger`,"aria-label":`Project actions for ${e.name}`,"aria-haspopup":`menu`,"aria-expanded":ie?.projectId===e.id,onClick:t=>{t.stopPropagation();let n=t.currentTarget.getBoundingClientRect();ae(ie?.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,J.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`currentColor`,"aria-hidden":`true`,children:[(0,J.jsx)(`circle`,{cx:`5`,cy:`12`,r:`1.8`}),(0,J.jsx)(`circle`,{cx:`12`,cy:`12`,r:`1.8`}),(0,J.jsx)(`circle`,{cx:`19`,cy:`12`,r:`1.8`})]})}),(0,J.jsx)(`span`,{className:`sidebar-project-group-count`,children:e.sessions.length}),(0,J.jsx)(`span`,{className:`sidebar-project-group-chevron`,style:{transform:t?`rotate(-90deg)`:`rotate(0deg)`,transition:`transform 0.18s ease`},children:(0,J.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,J.jsx)(`polyline`,{points:`6 9 12 15 18 9`})})})]})]}),ie?.projectId===e.id&&(0,J.jsxs)(`div`,{className:`sidebar-project-menu-popover`,role:`menu`,style:{top:ie.top,left:ie.left},onClick:e=>e.stopPropagation(),children:[E&&(0,J.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:()=>{qe(t=>({...t,[e.id]:!1})),E(e.id),ae(null)},children:[(0,J.jsx)(x,{className:`sidebar-menu-icon`,size:14,"aria-hidden":`true`}),(0,J.jsx)(`span`,{children:`New chat in project`})]}),(0,J.jsxs)(`button`,{type:`button`,role:`menuitem`,className:`is-destructive`,onClick:()=>$e(e.id),children:[(0,J.jsx)(b,{className:`sidebar-menu-icon`,size:14,"aria-hidden":`true`}),(0,J.jsx)(`span`,{children:`Remove from sidebar`})]})]}),!t&&(0,J.jsxs)(`div`,{className:`sidebar-project-sessions`,children:[o.map(e=>(0,J.jsxs)(`button`,{className:`sidebar-project sidebar-chat-item is-indented ${e.id===i?`active`:``}`,onClick:()=>l(e.id),title:e.title,children:[(0,J.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:(0,J.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,J.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`})})}),D===e.id?(0,J.jsx)(`input`,{type:`text`,className:`sidebar-chat-rename-input`,value:k,onChange:e=>A(e.target.value),onBlur:()=>Se(e.id),onKeyDown:t=>{t.key===`Enter`?Se(e.id):t.key===`Escape`&&O(null)},autoFocus:!0,onClick:e=>e.stopPropagation()}):(0,J.jsx)(`span`,{className:`sidebar-chat-title`,children:e.title||`New chat`}),e.id===i&&n&&(0,J.jsx)(`span`,{className:`sidebar-generating-text`,children:`Thinking...`}),D!==e.id&&(0,J.jsxs)(J.Fragment,{children:[(0,J.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();oe({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();oe({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,J.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`currentColor`,"aria-hidden":`true`,children:[(0,J.jsx)(`circle`,{cx:`5`,cy:`12`,r:`1.8`}),(0,J.jsx)(`circle`,{cx:`12`,cy:`12`,r:`1.8`}),(0,J.jsx)(`circle`,{cx:`19`,cy:`12`,r:`1.8`})]})}),(0,J.jsx)(`span`,{className:`sidebar-chat-edit`,role:`button`,tabIndex:0,title:`Rename conversation`,onClick:t=>{t.stopPropagation(),O(e.id),A(e.title||``)},onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),O(e.id),A(e.title||``))},children:(0,J.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,J.jsx)(`path`,{d:`M12 20h9`}),(0,J.jsx)(`path`,{d:`M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z`})]})}),T&&(0,J.jsx)(`span`,{className:`sidebar-chat-edit`,role:`button`,tabIndex:0,title:`Move conversation...`,onClick:t=>Ge(t,e),onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),Ge(t,e))},children:(0,J.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,J.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,J.jsx)(`polyline`,{points:`12 11 12 17`}),(0,J.jsx)(`polyline`,{points:`9 14 12 11 15 14`})]})}),(0,J.jsx)(`span`,{className:`sidebar-chat-delete`,role:`button`,tabIndex:0,title:`Delete conversation`,onClick:t=>{t.stopPropagation(),d(e.id)},onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),d(e.id))},children:(0,J.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,J.jsx)(`polyline`,{points:`3 6 5 6 21 6`}),(0,J.jsx)(`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`}),(0,J.jsx)(`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`})]})})]})]},e.id)),a&&(0,J.jsxs)(`button`,{type:`button`,className:`sidebar-show-more-btn`,onClick:()=>Qe(e.id),children:[(0,J.jsx)(`span`,{children:r?`Show less`:`Show more (${e.sessions.length-3})`}),(0,J.jsx)(me,{className:r?`is-expanded`:``,size:13,"aria-hidden":`true`})]})]})]},e.id)})})]}),(Ue.length>0||Ve.length===0)&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`sidebar-section-title sidebar-subsection-title`,children:Ve.length>0?`Recents`:`Conversations`}),(0,J.jsx)(`div`,{className:`sidebar-chat-list`,children:Ue.map(e=>(0,J.jsxs)(`button`,{className:`sidebar-project sidebar-chat-item ${e.id===i?`active`:``}`,onClick:()=>l(e.id),title:e.title,children:[(0,J.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:(0,J.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,J.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`})})}),D===e.id?(0,J.jsx)(`input`,{type:`text`,className:`sidebar-chat-rename-input`,value:k,onChange:e=>A(e.target.value),onBlur:()=>Se(e.id),onKeyDown:t=>{t.key===`Enter`?Se(e.id):t.key===`Escape`&&O(null)},autoFocus:!0,onClick:e=>e.stopPropagation()}):(0,J.jsx)(`span`,{className:`sidebar-chat-title`,children:e.title||`New chat`}),e.id===i&&n&&(0,J.jsx)(`span`,{className:`sidebar-generating-text`,children:`Thinking...`}),D!==e.id&&(0,J.jsxs)(J.Fragment,{children:[(0,J.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();oe({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();oe({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,J.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`currentColor`,"aria-hidden":`true`,children:[(0,J.jsx)(`circle`,{cx:`5`,cy:`12`,r:`1.8`}),(0,J.jsx)(`circle`,{cx:`12`,cy:`12`,r:`1.8`}),(0,J.jsx)(`circle`,{cx:`19`,cy:`12`,r:`1.8`})]})}),(0,J.jsx)(`span`,{className:`sidebar-chat-edit`,role:`button`,tabIndex:0,title:`Rename conversation`,onClick:t=>{t.stopPropagation(),O(e.id),A(e.title||``)},onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),O(e.id),A(e.title||``))},children:(0,J.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,J.jsx)(`path`,{d:`M12 20h9`}),(0,J.jsx)(`path`,{d:`M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z`})]})}),T&&(0,J.jsx)(`span`,{className:`sidebar-chat-edit`,role:`button`,tabIndex:0,title:`Move conversation...`,onClick:t=>Ge(t,e),onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),Ge(t,e))},children:(0,J.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,J.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,J.jsx)(`polyline`,{points:`12 11 12 17`}),(0,J.jsx)(`polyline`,{points:`9 14 12 11 15 14`})]})}),(0,J.jsx)(`span`,{className:`sidebar-chat-delete`,role:`button`,tabIndex:0,title:`Delete conversation`,onClick:t=>{t.stopPropagation(),d(e.id)},onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),d(e.id))},children:(0,J.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,J.jsx)(`polyline`,{points:`3 6 5 6 21 6`}),(0,J.jsx)(`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`}),(0,J.jsx)(`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`})]})})]})]},e.id))})]})]}),he&&(0,J.jsxs)(`div`,{className:`sidebar-account-container`,ref:pe,children:[ne&&(0,J.jsxs)(`div`,{className:`sidebar-account-menu`,children:[he.email&&(0,J.jsx)(`div`,{className:`sidebar-account-menu-header`,children:he.email}),(0,J.jsxs)(`button`,{className:`popover-item`,onClick:()=>{window.api.openSettings(),j(!1)},children:[(0,J.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:(0,J.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,J.jsx)(`circle`,{cx:`12`,cy:`12`,r:`3`}),(0,J.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,J.jsx)(`span`,{children:`Settings`})]}),(0,J.jsxs)(`button`,{className:`popover-item ${e===`skills`?`active`:``}`,onClick:()=>{p(`skills`),j(!1)},children:[(0,J.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:Je(15)}),(0,J.jsx)(`span`,{children:`Skills`})]}),(0,J.jsxs)(`button`,{className:`popover-item ${e===`mcp`?`active`:``}`,onClick:()=>{p(`mcp`),j(!1)},children:[(0,J.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:Le(15)}),(0,J.jsx)(`span`,{children:`MCP servers`})]}),(0,J.jsxs)(`button`,{className:`popover-item ${e===`plugins`?`active`:``}`,onClick:()=>{p(`plugins`),j(!1)},children:[(0,J.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:He(15)}),(0,J.jsx)(`span`,{children:`Plugins`})]}),(0,J.jsxs)(`button`,{className:`popover-item ${e===`cron`?`active`:``}`,onClick:()=>{p(`cron`),j(!1)},children:[(0,J.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:Vt(15)}),(0,J.jsx)(`span`,{children:`Scheduled tasks`})]}),(0,J.jsxs)(`button`,{className:`popover-item ${e===`link`?`active`:``}`,onClick:()=>{p(`link`),j(!1)},children:[(0,J.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:Ie(15)}),(0,J.jsx)(`span`,{children:`Linked folders`})]}),(0,J.jsx)(`div`,{className:`sidebar-account-menu-divider`}),(0,J.jsxs)(`button`,{className:`popover-item`,onClick:()=>{j(!1),_e()},children:[(0,J.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`},children:(0,J.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,J.jsx)(`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`}),(0,J.jsx)(`polyline`,{points:`16 17 21 12 16 7`}),(0,J.jsx)(`line`,{x1:`21`,y1:`12`,x2:`9`,y2:`12`})]})}),(0,J.jsx)(`span`,{children:`Log out`})]})]}),(0,J.jsxs)(`button`,{className:`sidebar-account`,onClick:()=>j(e=>!e),children:[(0,J.jsx)(`div`,{className:`sidebar-account-avatar`,children:ge?(0,J.jsx)(`img`,{src:ge,alt:he.name||`User`}):(he.name?.[0]||he.email?.[0]||`U`).toUpperCase()}),(0,J.jsx)(`div`,{className:`sidebar-account-info`,children:(0,J.jsx)(`span`,{className:`sidebar-account-name`,children:he.name||he.email})}),(0,J.jsx)(`span`,{className:`sidebar-account-chevron`,"aria-hidden":`true`,children:(0,J.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,J.jsx)(`polyline`,{points:`18 15 12 9 6 15`})})})]})]}),N&&(0,J.jsxs)(`div`,{ref:de,className:`sidebar-move-popover`,style:{position:`fixed`,top:`${N.top}px`,left:`${N.left}px`,zIndex:99999},onClick:e=>e.stopPropagation(),children:[(0,J.jsx)(`div`,{className:`sidebar-move-header`,children:`Move to Project`}),(0,J.jsx)(`div`,{className:`sidebar-move-list`,children:We.map(e=>{let t=N.currentWorkspacePath===e.path;return(0,J.jsxs)(`button`,{type:`button`,className:`sidebar-move-item ${t?`is-current`:``}`,onClick:()=>{T?.(N.sessionId,e.path),ue(null)},title:e.path,children:[(0,J.jsx)(`span`,{className:`sidebar-move-item-icon`,children:(0,J.jsx)(C,{size:14,"aria-hidden":`true`})}),(0,J.jsx)(`span`,{className:`sidebar-move-item-name`,children:e.name}),t&&(0,J.jsx)(`span`,{className:`sidebar-move-item-check`,children:(0,J.jsx)(P,{size:14,"aria-hidden":`true`})})]},e.path)})}),(0,J.jsx)(`div`,{className:`sidebar-move-divider`}),(0,J.jsxs)(`button`,{type:`button`,className:`sidebar-move-item ${N.currentWorkspacePath?``:`is-current`}`,onClick:()=>{T?.(N.sessionId,null),ue(null)},children:[(0,J.jsx)(`span`,{className:`sidebar-move-item-icon`,children:(0,J.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,J.jsx)(`polyline`,{points:`9 14 4 9 9 4`}),(0,J.jsx)(`path`,{d:`M20 20v-7a4 4 0 0 0-4-4H4`})]})}),(0,J.jsx)(`span`,{className:`sidebar-move-item-name`,children:`Recents (No project)`}),!N.currentWorkspacePath&&(0,J.jsx)(`span`,{className:`sidebar-move-item-check`,children:(0,J.jsx)(P,{size:14,"aria-hidden":`true`})})]}),w&&(0,J.jsxs)(`button`,{type:`button`,className:`sidebar-move-item`,onClick:async()=>{let e=await w();e&&T?.(N.sessionId,e),ue(null)},children:[(0,J.jsx)(`span`,{className:`sidebar-move-item-icon`,children:(0,J.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,J.jsx)(`line`,{x1:`12`,y1:`5`,x2:`12`,y2:`19`}),(0,J.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`})]})}),(0,J.jsx)(`span`,{className:`sidebar-move-item-name`,children:`Choose folder...`})]})]}),M&&(()=>{let e=Ce.find(e=>e.id===M.sessionId);return e?(0,J.jsxs)(`div`,{className:`sidebar-conversation-menu-popover`,role:`menu`,style:{top:M.top,left:M.left},onClick:e=>e.stopPropagation(),children:[(0,J.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:()=>{O(e.id),A(e.title||``),oe(null)},children:[(0,J.jsx)(re,{className:`sidebar-menu-icon`,size:14,"aria-hidden":`true`}),(0,J.jsx)(`span`,{children:`Rename`})]}),T&&(0,J.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:t=>{oe(null),Ge(t,e)},children:[(0,J.jsx)(Ae,{className:`sidebar-menu-icon`,size:14,"aria-hidden":`true`}),(0,J.jsx)(`span`,{children:`Move to project`})]}),(0,J.jsxs)(`button`,{type:`button`,role:`menuitem`,className:`is-destructive`,onClick:()=>{d(e.id),oe(null)},children:[(0,J.jsx)(le,{className:`sidebar-menu-icon`,size:14,"aria-hidden":`true`}),(0,J.jsx)(`span`,{children:`Delete conversation`})]})]}):null})()]})}var Us,J,Ws=t((()=>{Us=e(n()),O(),Be(),k(),S(),J=r()}));function Gs(e){return e.replace(/\\/g,`/`).split(`/`).filter(Boolean).at(-1)||`No workspace`}function Ks({workspacePath:e,terminalCount:t,chatId:n,liveProgress:r,recentChanges:i,onOpenWorkspace:a,onOpenReview:o,onRefreshWorkspace:s}){let[c,l]=(0,qs.useState)(!1),[u,d]=(0,qs.useState)(null),[p,m]=(0,qs.useState)(!1),h=(0,qs.useRef)(null),{sources:g,loading:_,error:v,retry:b}=Go(n,r,c),x=(0,qs.useCallback)(async()=>{if(!e.trim()){d(null);return}m(!0);try{d(await y.getGitBranchInfo(e))}catch{d(null)}finally{m(!1)}},[e]);(0,qs.useEffect)(()=>{c&&x()},[c,x]),(0,qs.useEffect)(()=>{let e=e=>{h.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 S=async()=>{s(),await x()},C=i.reduce((e,t)=>e+Math.max(0,t.additions||0),0),w=i.reduce((e,t)=>e+Math.max(0,t.deletions||0),0),E=i.length>0;return(0,Y.jsxs)(`div`,{className:`workspace-context`,ref:h,children:[(0,Y.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,Y.jsxs)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":`true`,children:[(0,Y.jsx)(`path`,{d:`M4 6.5h6l1.7 2H20v9.5a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z`}),(0,Y.jsx)(`path`,{d:`M4 6.5v-1a2 2 0 0 1 2-2h4l1.7 2H18a2 2 0 0 1 2 2v1`})]})}),c&&(0,Y.jsxs)(`section`,{className:`workspace-context-popover`,role:`dialog`,"aria-label":`Workspace context`,children:[(0,Y.jsxs)(`header`,{className:`workspace-context-heading`,children:[(0,Y.jsxs)(`span`,{className:`workspace-context-heading-title`,children:[(0,Y.jsx)(f,{size:16,"aria-hidden":`true`}),` Workspace context`]}),(0,Y.jsx)(`button`,{type:`button`,onClick:S,disabled:p,title:`Refresh workspace status`,"aria-label":`Refresh workspace status`,children:(0,Y.jsx)(T,{className:p?`is-refreshing`:``,size:15,"aria-hidden":`true`})})]}),(0,Y.jsxs)(`button`,{type:`button`,className:`workspace-context-row`,onClick:()=>{a(),l(!1)},children:[(0,Y.jsx)(`span`,{className:`workspace-context-icon`,children:(0,Y.jsx)(f,{size:16,"aria-hidden":`true`})}),(0,Y.jsxs)(`span`,{className:`workspace-context-copy`,children:[(0,Y.jsx)(`strong`,{children:Gs(e)}),(0,Y.jsx)(`small`,{title:e,children:e||`Choose a project folder`})]}),(0,Y.jsx)(`span`,{className:`workspace-context-action`,children:`Open`})]}),(0,Y.jsxs)(`div`,{className:`workspace-context-row is-static`,children:[(0,Y.jsx)(`span`,{className:`workspace-context-icon`,children:(0,Y.jsx)(de,{size:16,"aria-hidden":`true`})}),(0,Y.jsxs)(`span`,{className:`workspace-context-copy`,children:[(0,Y.jsx)(`strong`,{children:u?.isRepository?u.currentBranch||u.detachedHead||`Detached HEAD`:`No Git repository`}),(0,Y.jsx)(`small`,{children:u?.isRepository?u.isDirty?`Working tree has changes`:`Working tree is clean`:`Git status is unavailable`})]}),u?.isRepository&&(0,Y.jsx)(`span`,{className:`workspace-context-status${u.isDirty?` is-dirty`:``}`,children:u.isDirty?`Changed`:`Clean`})]}),(0,Y.jsxs)(`button`,{type:`button`,className:`workspace-context-row`,disabled:!E,onClick:()=>{o(i),l(!1)},children:[(0,Y.jsx)(`span`,{className:`workspace-context-icon`,children:(0,Y.jsx)(xe,{size:16,"aria-hidden":`true`})}),(0,Y.jsxs)(`span`,{className:`workspace-context-copy`,children:[(0,Y.jsx)(`strong`,{children:`Recent agent changes`}),(0,Y.jsx)(`small`,{children:E?`${i.length} file${i.length===1?``:`s`} changed in this run`:`No changes in the current run`})]}),E&&(0,Y.jsxs)(`span`,{className:`workspace-context-diff`,children:[(0,Y.jsxs)(`b`,{children:[`+`,C]}),(0,Y.jsxs)(`i`,{children:[`-`,w]})]})]}),(0,Y.jsxs)(`div`,{className:`workspace-context-row is-static`,children:[(0,Y.jsx)(`span`,{className:`workspace-context-icon`,children:(0,Y.jsx)(ye,{size:16,"aria-hidden":`true`})}),(0,Y.jsxs)(`span`,{className:`workspace-context-copy`,children:[(0,Y.jsx)(`strong`,{children:`Terminal`}),(0,Y.jsx)(`small`,{children:t===0?`No terminal tabs open`:`${t} tab${t===1?``:`s`} open`})]}),(0,Y.jsx)(`span`,{className:`workspace-context-status`,children:t})]}),(0,Y.jsx)(Xo,{sources:g,loading:_,error:v,onRetry:b,onOpenLibrary:e=>{window.history.pushState({},``,e),window.dispatchEvent(new PopStateEvent(`popstate`)),l(!1)}},n)]})]})}var qs,Y,Js=t((()=>{qs=e(n()),O(),S(),qo(),$o(),Y=r()}));function Ys({sidebarCollapsed:e,onToggleSidebar:t,onNewChat:n,onOpenWorkspace:r,onOpenTerminal:i,onToggleTerminal:a,onOpenBrowser:o,toolsPanelOpen:s,backgroundTaskCount:c,onToggleToolsPanel:l,onOpenSettings:u,onCheckForUpdates:d,onShowAbout:f,workspacePath:p,workspaceActive:m,workspaceRevision:h,sending:g,onWorkspaceUndoError:_,terminalCount:v,chatId:y,liveProgress:b,recentChanges:x,onOpenReview:S,onRefreshWorkspace:C}){let[w,T]=(0,Xs.useState)(null),[E,D]=(0,Xs.useState)(!1),[O,k]=(0,Xs.useState)(!1),[A,ee]=(0,Xs.useState)(()=>Number(window.localStorage.getItem(`mint:ui-zoom`))||1),[te,ne]=(0,Xs.useState)(!1),[re,j]=(0,Xs.useState)(!1),ie=(0,Xs.useRef)(null),ae=(0,Xs.useRef)(null),M=Cn(p,h,()=>C()),oe=m&&!re,se=(0,Xs.useRef)(_);se.current=_,(0,Xs.useEffect)(()=>{M.error&&se.current(M.error)},[M.error]),(0,Xs.useEffect)(()=>{let e=!0;return N(async()=>{let{getCurrentWindow:e}=await import(`./window-BJCVtyET.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&&(D(r),k(i))}).catch(()=>{}),()=>{e=!1}},[]);let ce=()=>{N(async()=>{let{getCurrentWindow:e}=await import(`./window-BJCVtyET.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))},le=()=>{N(async()=>{let{getCurrentWindow:e}=await import(`./window-BJCVtyET.js`);return{getCurrentWindow:e}},__vite__mapDeps([0,1,2,3])).then(async({getCurrentWindow:e})=>{let t=e();await t.toggleMaximize(),D(await t.isMaximized())}).catch(e=>console.error(`Failed to toggle Mint window size:`,e))},ue=()=>{N(async()=>{let{getCurrentWindow:e}=await import(`./window-BJCVtyET.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),k(n)}).catch(e=>console.error(`Failed to toggle Mint fullscreen:`,e))},de=e=>{let t=Math.min(1.5,Math.max(.8,Math.round(e*100)/100));ee(t),window.localStorage.setItem(`mint:ui-zoom`,String(t))};(0,Xs.useEffect)(()=>{A===1?document.documentElement.style.removeProperty(`zoom`):document.documentElement.style.setProperty(`zoom`,String(A))},[A]);let P=e=>e instanceof HTMLElement&&(e.isContentEditable||e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement),fe=e=>{ae.current?.isConnected&&ae.current.focus(),!(!P(document.activeElement)&&e!==`copy`)&&document.execCommand(e)},pe=async()=>{if(ae.current?.isConnected&&ae.current.focus(),P(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)}},me=e=>{N(async()=>{let{getCurrentWindow:e}=await import(`./window-BJCVtyET.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,Xs.useEffect)(()=>{let e=e=>{e.target instanceof Node&&!ie.current?.contains(e.target)&&T(null)},t=e=>{e.key===`Escape`&&T(null)};return window.addEventListener(`mousedown`,e),window.addEventListener(`keydown`,t),()=>{window.removeEventListener(`mousedown`,e),window.removeEventListener(`keydown`,t)}},[]),(0,Xs.useEffect)(()=>{let e=()=>{let e=document.activeElement;if(e instanceof Node&&ie.current?.contains(e))return;let t=P(e);t?ae.current=e:ae.current=null,j(t)};return document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,e),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,e)}},[]),(0,Xs.useEffect)(()=>{let e=e=>{let i=e.ctrlKey||e.metaKey,s=P(e.target);if(e.key===`F11`){e.preventDefault(),ue();return}if(!i||s)return;let c=e.key.toLowerCase();c===`z`&&!e.shiftKey&&m?(e.preventDefault(),!M.busy&&!g&&M.undo()):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(),ne(!0)):e.code===`Backquote`?(e.preventDefault(),a()):c===`+`||c===`=`?(e.preventDefault(),de(A+.1)):c===`-`?(e.preventDefault(),de(A-.1)):c===`0`&&(e.preventDefault(),de(1))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[A,n,r,o,u,t,a,m,M.undo,M.busy,g]);let F=e=>{e(),T(null)},he={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:oe?M.entries[0]?.label||`Undo workspace action`:`Undo`,shortcut:`Ctrl+Z`,disabled:oe?!M.entries.length||M.busy||g:!re,action:async()=>{oe?await M.undo():fe(`undo`)}},{label:`Redo`,shortcut:`Ctrl+Shift+Z`,disabled:!re,action:()=>fe(`redo`)},{label:`Cut`,shortcut:`Ctrl+X`,disabled:!re,action:()=>fe(`cut`)},{label:`Copy`,shortcut:`Ctrl+C`,action:()=>fe(`copy`)},{label:`Paste`,shortcut:`Ctrl+V`,disabled:!re,action:pe},{label:`Select all`,shortcut:`Ctrl+A`,disabled:!re,action:()=>fe(`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:()=>de(A+.1)},{label:`Zoom out`,shortcut:`Ctrl+-`,action:()=>de(A-.1)},{label:`Reset zoom`,shortcut:`Ctrl+0`,disabled:A===1,action:()=>de(1)},{label:O?`Exit fullscreen`:`Enter fullscreen`,shortcut:`F11`,action:ue}],Help:[{label:`Keyboard shortcuts`,shortcut:`Ctrl+/`,action:()=>ne(!0)},{label:`Check for updates`,action:d},{label:`About Mint Agent`,action:f}]};return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`header`,{className:`mint-titlebar`,ref:ie,"aria-label":`Mint Agent window controls`,children:[(0,X.jsxs)(`div`,{className:`mint-titlebar-left`,children:[(0,X.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,X.jsxs)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":`true`,children:[(0,X.jsx)(`rect`,{x:`3.5`,y:`4`,width:`17`,height:`16`,rx:`2`}),(0,X.jsx)(`path`,{d:`M9 4v16`})]})}),(0,X.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,X.jsx)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":`true`,children:(0,X.jsx)(`path`,{d:`m14.5 5-7 7 7 7M8 12h12`})})}),(0,X.jsx)(`button`,{className:`mint-titlebar-icon-button`,type:`button`,"aria-label":`Go forward`,title:`Go forward`,onClick:()=>window.history.forward(),children:(0,X.jsx)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":`true`,children:(0,X.jsx)(`path`,{d:`m9.5 5 7 7-7 7M16 12H4`})})}),(0,X.jsx)(`span`,{className:`mint-titlebar-divider`,"aria-hidden":`true`}),(0,X.jsx)(`nav`,{className:`mint-titlebar-menus`,"aria-label":`Application menu`,children:Zs.map(e=>(0,X.jsxs)(`div`,{className:`mint-titlebar-menu-wrap`,children:[(0,X.jsx)(`button`,{type:`button`,className:`mint-titlebar-menu-button${w===e?` is-open`:``}`,"aria-haspopup":`menu`,"aria-expanded":w===e,onMouseDown:e=>e.preventDefault(),onClick:()=>T(t=>t===e?null:e),children:e}),w===e&&(0,X.jsx)(`div`,{className:`mint-titlebar-menu`,role:`menu`,children:he[e].map(e=>(0,X.jsxs)(`button`,{type:`button`,role:`menuitem`,disabled:e.disabled,onMouseDown:e=>e.preventDefault(),onClick:()=>F(e.action),children:[(0,X.jsx)(`span`,{children:e.label}),e.shortcut&&(0,X.jsx)(`kbd`,{children:e.shortcut})]},e.label))})]},e))})]}),(0,X.jsx)(`div`,{className:`mint-titlebar-drag-region`,"data-tauri-drag-region":!0,"aria-hidden":`true`,onDoubleClick:le}),(0,X.jsx)(Ks,{workspacePath:p,terminalCount:v,chatId:y,liveProgress:b,recentChanges:x,onOpenWorkspace:r,onOpenReview:S,onRefreshWorkspace:C}),(0,X.jsx)(Bo,{className:`mint-titlebar-icon-button mint-tools-panel-toggle`,open:s,count:c,onToggle:l}),(0,X.jsxs)(`div`,{className:`mint-titlebar-window-controls`,children:[(0,X.jsx)(`button`,{type:`button`,className:`mint-window-control`,"aria-label":`Minimize window`,title:`Minimize`,onClick:ce,children:(0,X.jsx)(`svg`,{viewBox:`0 0 12 12`,"aria-hidden":`true`,children:(0,X.jsx)(`path`,{d:`M2 6h8`})})}),(0,X.jsx)(`button`,{type:`button`,className:`mint-window-control`,"aria-label":E?`Restore window`:`Maximize window`,title:E?`Restore`:`Maximize`,onClick:le,children:(0,X.jsx)(`svg`,{viewBox:`0 0 12 12`,"aria-hidden":`true`,children:E?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`path`,{d:`M4 2.5h5.5V8`}),(0,X.jsx)(`path`,{d:`M8 4H2.5v5.5H8z`})]}):(0,X.jsx)(`rect`,{x:`2.5`,y:`2.5`,width:`7`,height:`7`,rx:`0.7`})})}),(0,X.jsx)(`button`,{type:`button`,className:`mint-window-control is-close`,"aria-label":`Close window`,title:`Close`,onClick:()=>window.api.closeWindow(),children:(0,X.jsx)(`svg`,{viewBox:`0 0 12 12`,"aria-hidden":`true`,children:(0,X.jsx)(`path`,{d:`m3 3 6 6m0-6L3 9`})})})]})]}),te&&(0,X.jsx)(`div`,{className:`mint-shortcuts-backdrop`,role:`presentation`,onMouseDown:()=>ne(!1),children:(0,X.jsxs)(`section`,{className:`mint-shortcuts-dialog`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`mint-shortcuts-title`,onMouseDown:e=>e.stopPropagation(),children:[(0,X.jsxs)(`header`,{children:[(0,X.jsx)(`h2`,{id:`mint-shortcuts-title`,children:`Keyboard shortcuts`}),(0,X.jsx)(`button`,{type:`button`,"aria-label":`Close shortcuts`,onClick:()=>ne(!1),children:`×`})]}),(0,X.jsxs)(`dl`,{children:[(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`dt`,{children:`New chat`}),(0,X.jsx)(`dd`,{children:(0,X.jsx)(`kbd`,{children:`Ctrl+N`})})]}),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`dt`,{children:`Open workspace`}),(0,X.jsx)(`dd`,{children:(0,X.jsx)(`kbd`,{children:`Ctrl+O`})})]}),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`dt`,{children:`Toggle sidebar`}),(0,X.jsx)(`dd`,{children:(0,X.jsx)(`kbd`,{children:`Ctrl+B`})})]}),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`dt`,{children:`Toggle terminal`}),(0,X.jsx)(`dd`,{children:(0,X.jsx)(`kbd`,{children:"Ctrl+`"})})]}),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`dt`,{children:`Open Browser panel`}),(0,X.jsx)(`dd`,{children:(0,X.jsx)(`kbd`,{children:`Ctrl+Shift+B`})})]}),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`dt`,{children:`Settings`}),(0,X.jsx)(`dd`,{children:(0,X.jsx)(`kbd`,{children:`Ctrl+,`})})]}),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`dt`,{children:`Zoom`}),(0,X.jsxs)(`dd`,{children:[(0,X.jsx)(`kbd`,{children:`Ctrl++`}),` `,(0,X.jsx)(`kbd`,{children:`Ctrl+-`}),` `,(0,X.jsx)(`kbd`,{children:`Ctrl+0`})]})]}),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`dt`,{children:`Fullscreen`}),(0,X.jsx)(`dd`,{children:(0,X.jsx)(`kbd`,{children:`F11`})})]})]})]})}),(0,X.jsx)(`div`,{className:`mint-window-resize-handles`,"aria-hidden":`true`,children:Qs.map(e=>(0,X.jsx)(`span`,{className:`mint-window-resize-handle is-${e.toLowerCase()}`,onMouseDown:t=>{t.preventDefault(),t.stopPropagation(),me(e)}},e))})]})}var Xs,X,Zs,Qs,$s=t((()=>{Xs=e(n()),Js(),gn(),Ho(),X=r(),oe(),Zs=[`File`,`Edit`,`View`,`Help`],Qs=[`NorthWest`,`North`,`NorthEast`,`West`,`East`,`SouthWest`,`South`,`SouthEast`]})),ec=t((()=>{}));function tc({message:e,onDismiss:t}){let n=/HTTP\s+429\b|"code"\s*:\s*429/.test(e)?`The provider is temporarily rate-limited (HTTP 429). Wait briefly or select another model.`:e.includes(`invalid arguments for tool`)?`AI sent invalid tool arguments. Correct the arguments and try again.`:e.length>240?`${e.slice(0,240)}…`:e;return(0,nc.jsxs)(`section`,{className:`mint-error mint-error-notice`,role:`alert`,"aria-label":`Error notification`,children:[(0,nc.jsxs)(`div`,{className:`mint-error-notice-content`,children:[(0,nc.jsx)(`p`,{children:n}),n!==e&&(0,nc.jsxs)(`details`,{children:[(0,nc.jsx)(`summary`,{children:`Error details`}),(0,nc.jsxs)(`pre`,{children:[e.slice(0,12e3),e.length>12e3?`
|
|
23
|
-
… (details truncated)`:``]})]})]}),(0,nc.jsx)(`button`,{type:`button`,className:`mint-error-notice-close`,"aria-label":`Dismiss error`,onClick:t,children:(0,nc.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,nc.jsx)(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),(0,nc.jsx)(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})]})})]})}var nc,rc=t((()=>{ec(),nc=r()}));function ic(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 ac(e){let t=ic(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** — use the CLI `/avatar link` to pair a Project Avatar viewer. The separate Mint Companion app connects locally to Mint for Live2D."};default:return{handled:!1}}}var oc=t((()=>{}));async function sc(){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 cc(){let{invoke:e}=await N(async()=>{let{invoke:e}=await import(`./core-DsKkQ7ig.js`).then(e=>(e.a(),e.i));return{invoke:e}},__vite__mapDeps([2,1]));return e(`capture_chat_screen`)}async function lc(e){return e&&navigator.userAgent.toLowerCase().includes(`linux`)?cc():sc()}var uc=t((()=>{oe()}));function dc(e={}){return{workspacePath:``,message:``,imageAttachments:[],videoAttachments:[],documentAttachment:null,sending:!1,sendingMessage:``,sendingImageCount:0,sendingVideoCount:0,streamedReply:``,streamedResponse:null,agentProgress:[],pendingApproval:null,...e}}function fc(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:Nn(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 pc=t((()=>{Vn()}));function mc(e,t){return t.some(t=>t.id===e)}function hc(e){return Date.parse(e.updatedAt)||Date.parse(e.createdAt)||0}async function gc(e,t,n=`chat`){let r=Ut(e);if(!r||t.isCurrent?.()===!1)return;let i=await t.listSessions();if(t.isCurrent?.()===!1)return;let a=i.filter(e=>e.kind!==`cli`&&!e.id.startsWith(`cli`)&&e.id!==`conversation-default`&&!e.id.includes(`::subagent::`)&&Ut(e.workspacePath)===r).sort((e,t)=>hc(t)-hc(e)||Date.parse(t.createdAt)-Date.parse(e.createdAt))[0];a?a.id===t.currentSessionId()?t.showCurrentView?.(n):await t.openSession(a,n):await t.newChat(r,n)}var _c=t((()=>{Gt()}));function vc(e,t,n,r={},i){let a={...dc(t),conversationId:e,interactions:[],hasOlderInteractions:!1,agentActivitySnapshots:{},chatSessions:[],streamingConversationId:null,activeTurnId:null,pendingApprovals:{},sessionAutoApproved:!1},o={chatId:e},s=null,c=0,l=0,u=0,d=null,f=new Map,p=new Map,m=new Set,h=e=>{a={...a,...e},m.forEach(e=>e())},g=e=>h(fc(a,e)),_=e=>e.session===o&&p.get(o.chatId)===e,v=e=>{e.timer!==void 0&&clearTimeout(e.timer),e.timer=void 0},y=e=>{v(e);let t=e.queuedProgress;e.queuedProgress=[],_(e)&&t.length&&g({type:`progress_received`,progress:t})},b=(e,t)=>{if(!a.pendingApprovals[e]||t&&a.pendingApprovals[e].token!==t)return;let n={...a.pendingApprovals};delete n[e],h({pendingApprovals:n})};function x(e,t){if(o.chatId===e)return;try{i?.write(o.chatId,a.message)}catch{}if(t===void 0)try{t=i?.read(e)??``}catch{t=``}let n=p.get(o.chatId);n&&(v(n),n.queuedProgress=[],n.autoApprove=!1),o={chatId:e},s=null,u++,h({...fc(a,{type:`session_switched`,draft:t}),conversationId:e,interactions:[],hasOlderInteractions:!1,agentActivitySnapshots:{},streamingConversationId:null,activeTurnId:null,sessionAutoApproved:!1})}async function S(){let e=o,t=++c;try{let r=await n.getConversationSnapshot(e.chatId,null,50);if(e!==o||t!==c||s!==null&&s>r.cursor)return;s=r.cursor,h({interactions:r.interactions,hasOlderInteractions:r.interactions.length>0&&r.hasOlder,agentActivitySnapshots:Fn(a.agentActivitySnapshots,r.interactions)})}catch(n){if(e===o&&t===c)throw n}}async function C(){let e=++l,t=await n.listChatSessions();return e===l&&(a.chatSessions.length===t.length&&a.chatSessions.every((e,n)=>e.id===t[n]?.id&&e.updatedAt===t[n]?.updatedAt&&e.title===t[n]?.title&&e.workspacePath===t[n]?.workspacePath&&e.messageCount===t[n]?.messageCount&&e.totalBytes===t[n]?.totalBytes)||h({chatSessions:t})),t}async function w(e=()=>!0){let t=o;if(!(d===t||!e())){d=t;try{if(s===null){await S();return}let r=!1;for(let i=0;i<10;i++){let i=await n.getConversationChanges(t.chatId,s,100);if(t!==o||!e()||s!==null&&s>i.cursor)return;if(s=i.cursor,i.changes.length){r=!0;let e=new Map(a.interactions.map(e=>[e.id,e])),t={...a.agentActivitySnapshots};for(let n of i.changes)n.interaction?(e.set(n.interactionId,n.interaction),Array.isArray(n.interaction.agentActivity)&&(t[String(n.interactionId)]=n.interaction.agentActivity)):(e.delete(n.interactionId),delete t[String(n.interactionId)]);let n=Array.from(e.values()).sort((e,t)=>e.id-t.id);h({interactions:n,agentActivitySnapshots:t,hasOlderInteractions:n.length>0&&a.hasOlderInteractions})}if(!i.hasMore)break}r&&t===o&&e()&&await C()}catch{}finally{d===t&&(d=null)}}}async function T(){let e=o,t=a.interactions[0]?.id;if(t==null)return;let r=s,i;try{i=await n.getConversationSnapshot(e.chatId,t,50)}catch(t){if(e===o)throw t;return}if(e!==o||r!==s)return;let c=new Map([...i.interactions,...a.interactions].map(e=>[e.id,e]));h({interactions:Array.from(c.values()).sort((e,t)=>e.id-t.id),hasOlderInteractions:i.hasOlder})}function E(e,t){p.get(e)?.autoApprove&&!Qr(t.approval)?n.submitToolApproval(t.token,!0).catch(e=>r.onError?.(e)):(h({pendingApprovals:{...a.pendingApprovals,[e]:t}}),r.onApproval?.(t,e))}async function D(e,t=!1,i){let s=o,c=a.pendingApprovals[s.chatId];if(!c)return;let l=p.get(s.chatId),u=l?.autoApprove??!1,d=t&&l&&!Qr(c.approval);d&&(l.autoApprove=!0,h({sessionAutoApproved:!0}));try{await n.submitToolApproval(c.token,e,i),b(s.chatId,c.token)}catch(e){d&&p.get(s.chatId)===l&&(l.autoApprove=u,s===o&&h({sessionAutoApproved:u})),s===o&&r.onError?.(e)}}async function O(){let e=o,t=p.get(e.chatId);if(!a.sending||!t||!_(t))return;p.delete(e.chatId),v(t);let i=a.pendingApprovals[e.chatId]?.token;try{await n.cancelChatMessage(e.chatId)}catch(t){e===o&&r.onError?.(t)}finally{i&&b(e.chatId,i),e===o&&!p.has(e.chatId)&&h({...fc(a,{type:`run_cancelled`}),streamingConversationId:null,activeTurnId:null,sessionAutoApproved:!1})}}async function k(e,t={}){if(a.sending)return;let i=o,s={session:i,turnId:null,autoApprove:!1,progress:[],queuedProgress:[]};p.set(i.chatId,s);let c=t.imageAttachments??[],l=t.videoAttachments??[],u=t.agentMode||t.forceAgentMode||e.toLowerCase().startsWith(`search web:`),d=a.workspacePath||null;h({...fc(a,{type:`run_started`,message:e,imageCount:c.length,videoCount:l.length}),streamingConversationId:i.chatId,activeTurnId:null,sessionAutoApproved:!1});let m={message:a.message,images:a.imageAttachments,videos:a.videoAttachments,document:a.documentAttachment},v=JSON.stringify([e,c,l,t.documentAttachment]),x=f.get(i.chatId);x?.signature!==v&&(x={signature:v,requestId:globalThis.crypto?.randomUUID?.()??`submission-${Date.now().toString(36)}-${Array.from(globalThis.crypto.getRandomValues(new Uint8Array(16)),e=>e.toString(16).padStart(2,`0`)).join(``)}`},f.set(i.chatId,x));let w={requestId:x.requestId,imageNames:c.map(e=>e.name),videoNames:l.map(e=>e.name)},T=()=>{f.get(i.chatId)?.requestId===w.requestId&&f.delete(i.chatId),t.clearComposer&&_(s)&&a.message===m.message&&a.imageAttachments===m.images&&a.videoAttachments===m.videos&&a.documentAttachment===m.document&&g({type:`composer_cleared`})};try{let o=await n.streamChatMessage(u?e:`/chat ${e}`,()=>{},c.map(e=>e.dataUri).join(` `),t.audioDataUri??null,l.map(e=>e.dataUri).join(` `),t.systemInstruction??``,e=>{p.get(i.chatId)===s&&(s.progress.push(e),_(s)&&(s.queuedProgress.push(e),e.type===`ThinkingDelta`?s.timer===void 0&&(s.timer=setTimeout(()=>y(s),75)):y(s)))},t.documentAttachment??null,d,i.chatId,void 0,u?t.planMode:!1,t.pinnedMcpServer??null,e=>{p.get(i.chatId)===s&&E(i.chatId,e)},e=>{s.turnId=e,T(),_(s)&&h({activeTurnId:e})},w);o.provider!==`error`&&T(),y(s),_(s)&&h({streamedReply:o.text,streamedResponse:o}),await r.onReply?.(o,i.chatId);let f=Pn(s.progress);if(f.length&&s.turnId!==null&&(await n.saveInteractionAgentActivity(s.turnId,f),_(s)&&(h({agentActivitySnapshots:{...a.agentActivitySnapshots,[String(s.turnId)]:f.slice()}}),r.onActivityPersisted?.(s.turnId))),_(s))try{await S()}catch(e){r.onError?.(e)}await C(),await r.onRunCompleted?.(),_(s)&&(r.onVisibleRunCompleted?.(i.chatId),g({type:`stream_cleared`}))}catch(e){_(s)&&r.onError?.(e)}finally{y(s),p.get(i.chatId)===s&&(b(i.chatId),_(s)&&h({...fc(a,{type:`run_finished`}),streamingConversationId:null,activeTurnId:null,sessionAutoApproved:!1}),p.delete(i.chatId))}}async function A(){let e=o;try{if(await n.clearChatHistory(e.chatId),e!==o)return;let t=p.get(e.chatId);t&&v(t),p.delete(e.chatId),o={chatId:e.chatId},s=null,b(e.chatId),h({...fc(a,{type:`session_switched`,draft:``}),interactions:[],hasOlderInteractions:!1,agentActivitySnapshots:{},streamingConversationId:null,activeTurnId:null,sessionAutoApproved:!1})}catch(t){if(e===o)throw t}}async function ee(e,t,n){let i=o,a=++u,s=()=>i===o&&a===u;try{let r=await e();r&&s()&&await gc(r,{...t,listSessions:C,currentSessionId:()=>o.chatId,isCurrent:s},n)}catch(e){s()&&r.onError?.(e)}}function te(e,t){let n=!0,r=()=>n&&e.document.visibilityState===`visible`,i=()=>{t&&r()&&w(r)},a=()=>{r()&&C().catch(()=>{})},o=()=>{i(),a()};i();let s=t?e.window.setInterval(i,1500):void 0,c=e.window.setInterval(a,5e3);return e.window.addEventListener(`focus`,o),e.document.addEventListener(`visibilitychange`,o),()=>{n=!1,s!==void 0&&e.window.clearInterval(s),e.window.clearInterval(c),e.window.removeEventListener(`focus`,o),e.document.removeEventListener(`visibilitychange`,o)}}return{getSnapshot:()=>a,subscribe:e=>(m.add(e),()=>{m.delete(e)}),activate:x,refreshHistory:S,refreshSessions:C,syncHistory:w,loadOlder:T,sendPrompt:k,cancel:O,receiveApproval:E,resolveApproval:D,clearHistory:A,selectProject:ee,watch:te,appendInteraction:e=>h({interactions:[...a.interactions,{chatId:o.chatId,status:`completed`,...e}]}),compose:e=>g({type:`compose`,message:e}),selectWorkspace:e=>g({type:`workspace_selected`,path:e}),attachImage:e=>g({type:`image_attached`,image:e}),removeImage:e=>g({type:`image_removed`,index:e}),attachVideo:e=>g({type:`video_attached`,video:e}),removeVideo:e=>g({type:`video_removed`,index:e}),attachDocument:e=>g({type:`document_attached`,document:e}),clearComposer:()=>g({type:`composer_cleared`})}}var yc=t((()=>{pc(),Vn(),ai(),_c()}));function bc(e,t,n=a){let r=(0,xc.useRef)(t);r.current=t;let[i]=(0,xc.useState)(()=>vc(t.conversationId,e,n,{onError:e=>r.current.onError?.(e),onApproval:(e,t)=>r.current.onApproval?.(e,t),onReply:(e,t)=>r.current.onReply?.(e,t),onActivityPersisted:e=>r.current.onActivityPersisted?.(e),onRunCompleted:()=>r.current.onRunCompleted?.(),onVisibleRunCompleted:e=>r.current.onVisibleRunCompleted?.(e)},{read:e=>window.localStorage.getItem(`${r.current.draftKeyPrefix}${e}`)||``,write:(e,t)=>{let n=`${r.current.draftKeyPrefix}${e}`;t?window.localStorage.setItem(n,t):window.localStorage.removeItem(n)}})),o=(0,xc.useSyncExternalStore)(i.subscribe,i.getSnapshot,i.getSnapshot);return(0,xc.useEffect)(()=>i.watch({window,document},t.historyVisible),[i,t.historyVisible,o.conversationId]),(0,xc.useEffect)(()=>{let e=window.setTimeout(()=>{try{let e=`${t.draftKeyPrefix}${o.conversationId}`;o.message?window.localStorage.setItem(e,o.message):window.localStorage.removeItem(e)}catch{}},300);return()=>window.clearTimeout(e)},[o.message,o.conversationId,t.draftKeyPrefix]),(0,xc.useEffect)(()=>{try{o.workspacePath?window.localStorage.setItem(t.workspaceStorageKey,o.workspacePath):window.localStorage.removeItem(t.workspaceStorageKey)}catch{}},[o.workspacePath,t.workspaceStorageKey]),{conversation:o,actions:i}}var xc,Sc=t((()=>{xc=e(n()),yc(),S()})),Cc=t((()=>{}));function wc({workspacePath:e,panelTarget:t,onCountChange:n}){let[r,i]=(0,Tc.useState)([]),[a,o]=(0,Tc.useState)({workspace:void 0,ids:new Set}),s=!!t,[c,l]=(0,Tc.useState)(!1),[u,d]=(0,Tc.useState)(null),[f,p]=(0,Tc.useState)(null),[m,h]=(0,Tc.useState)(``),[g,_]=(0,Tc.useState)(``),[y,b]=(0,Tc.useState)(!0),[x,S]=(0,Tc.useState)(``),[C,w]=(0,Tc.useState)(!0),[T,D]=(0,Tc.useState)(new Set),O=(0,Tc.useRef)(null),k=(0,Tc.useRef)(new Map);(0,Tc.useEffect)(()=>{let t=!1,n=!1;b(!0);let r=async()=>{if(!(n||document.hidden)){n=!0;try{let[n,r]=await Promise.all([E.list(),e?E.list(e):Promise.resolve([])]);if(t)return;let a=``;for(let e of n){let t=k.current.get(e.id);t&&(t===`running`||t===`stopping`)&&!Dc(e)&&(a=`${kc(e.workspacePath)} · ${e.id}: ${e.status}${e.exitCode===null?``:` (exit ${e.exitCode})`}`),k.current.set(e.id,e.status)}a&&S(a),i(n),o({workspace:e,ids:new Set(r.map(e=>e.id))}),h(``)}catch(e){if(!t){let t=String(e);h(`Status unavailable · ${t}`),/401:|403:/.test(t)&&(i([]),p(null),k.current.clear())}}finally{n=!1,t||b(!1)}}};r();let a=window.setInterval(()=>void r(),1e3),s=()=>{document.hidden||r()};return document.addEventListener(`visibilitychange`,s),()=>{t=!0,window.clearInterval(a),document.removeEventListener(`visibilitychange`,s)}},[e]),(0,Tc.useEffect)(()=>{if(!s||!u){p(null);return}let e=!1,t=!1;p(null),_(``),w(!0);let n=async()=>{if(!(t||document.hidden)){t=!0;try{let t=await E.output(u);e||(p(t),_(``))}catch(t){e||_(String(t))}finally{t=!1}}};n();let r=window.setInterval(()=>void n(),1e3);return document.addEventListener(`visibilitychange`,n),()=>{e=!0,window.clearInterval(r),document.removeEventListener(`visibilitychange`,n)}},[s,u]),(0,Tc.useEffect)(()=>{C&&O.current&&(O.current.scrollTop=O.current.scrollHeight)},[f,C]),(0,Tc.useEffect)(()=>{if(!x)return;let e=window.setTimeout(()=>S(``),6e3);return()=>window.clearTimeout(e)},[x]),(0,Tc.useEffect)(()=>{d(null),l(!1)},[e]);let A=r.filter(t=>a.workspace===e&&a.ids.has(t.id)),ee=A.filter(Dc).length;(0,Tc.useEffect)(()=>{n(ee)},[ee,n]);let te=c?r:A,ne=async e=>{_(``);try{if(v.isTauriRuntime()){let{invoke:t}=await N(async()=>{let{invoke:e}=await import(`./core-DsKkQ7ig.js`).then(e=>(e.a(),e.i));return{invoke:e}},__vite__mapDeps([2,1]));await t(`run_desktop_action`,{action:{type:`open_url`,target:e}})}else if(!window.open(e,`_blank`,`noopener,noreferrer`))throw Error(`The browser blocked the new tab`)}catch(e){_(`Could not open browser: ${String(e)}`)}},re=async e=>{D(t=>new Set(t).add(e.id)),_(``);try{let t=await E.stop(e.id);i(n=>n.map(n=>n.id===e.id?t:n))}catch(e){_(String(e))}finally{D(t=>{let n=new Set(t);return n.delete(e.id),n})}},ie=async e=>{D(t=>new Set(t).add(e.id)),_(``);try{await E.delete(e.id),i(t=>t.filter(t=>t.id!==e.id)),u===e.id&&d(null),k.current.delete(e.id)}catch(e){_(String(e))}finally{D(t=>{let n=new Set(t);return n.delete(e.id),n})}},ae=!!v.isTauriRuntime()||[`localhost`,`127.0.0.1`,`[::1]`].includes(window.location.hostname);return(0,Z.jsxs)(Z.Fragment,{children:[x&&(0,Z.jsx)(`span`,{className:`background-task-announcement`,role:`status`,children:x}),t&&(0,Ec.createPortal)((0,Z.jsxs)(`section`,{className:`background-terminals background-terminal-panel`,"aria-label":`Background tasks`,children:[(0,Z.jsxs)(`header`,{className:`background-terminal-panel-header`,children:[(0,Z.jsx)(`span`,{className:`background-terminal-heading-icon`,"aria-hidden":`true`,children:`›_`}),(0,Z.jsxs)(`span`,{className:`background-terminal-panel-title`,children:[(0,Z.jsx)(`strong`,{children:`Background tasks`}),(0,Z.jsx)(`small`,{children:c?`All workspaces`:kc(e||``)||`No workspace`})]})]}),x&&(0,Z.jsx)(`p`,{children:x}),(0,Z.jsxs)(`label`,{className:`background-terminal-filter`,children:[(0,Z.jsx)(`input`,{type:`checkbox`,checked:c,onChange:e=>{l(e.target.checked),d(null)}}),` All workspaces`]}),m&&(0,Z.jsx)(`p`,{role:`status`,className:`background-terminal-error`,children:m}),g&&(0,Z.jsx)(`p`,{role:`alert`,className:`background-terminal-error`,children:g}),(0,Z.jsxs)(`div`,{className:`background-terminal-list`,children:[!te.length&&(0,Z.jsxs)(`div`,{className:`background-terminal-empty`,role:`status`,children:[(0,Z.jsx)(`span`,{"aria-hidden":`true`,children:`›_`}),(0,Z.jsx)(`strong`,{children:y?`Loading tasks…`:m?`Waiting for connection…`:`No background tasks`}),!y&&!m&&(0,Z.jsx)(`small`,{children:`Commands started in the background will appear here.`})]}),[...te].reverse().map(e=>(0,Z.jsxs)(`article`,{className:`background-terminal-job`,children:[(0,Z.jsxs)(`div`,{className:`background-terminal-job-heading`,children:[(0,Z.jsx)(`strong`,{children:e.id}),(0,Z.jsx)(`span`,{className:`background-terminal-state ${e.status}`,children:e.status}),(0,Z.jsx)(`span`,{children:Oc(e.elapsedSeconds)})]}),(0,Z.jsx)(`code`,{title:e.command,children:e.command}),(0,Z.jsxs)(`small`,{children:[kc(e.workspacePath),` · `,e.cwd,e.exitCode===null?``:` · exit ${e.exitCode}`]}),e.error&&(0,Z.jsx)(`small`,{className:`background-terminal-error`,children:e.error}),(0,Z.jsxs)(`div`,{className:`background-terminal-actions`,children:[(0,Z.jsx)(`button`,{type:`button`,onClick:()=>{d(e.id),w(!0)},children:`View output`}),e.serverUrl&&(ae?(0,Z.jsx)(`button`,{type:`button`,onClick:()=>void ne(e.serverUrl),children:`Open browser`}):(0,Z.jsxs)(`small`,{children:[`Backend-local address: `,e.serverUrl,` · unavailable from this device`]})),!Dc(e)&&(0,Z.jsx)(`button`,{type:`button`,className:`background-terminal-delete`,"aria-label":`Remove terminal ${e.id}`,title:`Remove terminal`,disabled:T.has(e.id),onClick:()=>void ie(e),children:(0,Z.jsx)(le,{size:14,"aria-hidden":`true`})}),Dc(e)&&(0,Z.jsx)(`button`,{type:`button`,className:`background-terminal-stop`,disabled:!!m||T.has(e.id)||e.status===`stopping`,onClick:()=>void re(e),children:e.status===`stopping`||T.has(e.id)?`Stopping…`:`Stop`})]})]},e.id))]}),u&&(0,Z.jsxs)(`section`,{"aria-label":`Output for ${u}`,className:`background-terminal-output`,children:[(0,Z.jsxs)(`header`,{children:[(0,Z.jsxs)(`strong`,{children:[u,` · output`]}),(0,Z.jsxs)(`label`,{children:[(0,Z.jsx)(`input`,{type:`checkbox`,checked:C,onChange:e=>w(e.target.checked)}),` Follow`]}),(0,Z.jsx)(`button`,{type:`button`,"aria-label":`Close terminal output`,title:`Close output`,onClick:()=>d(null),children:(0,Z.jsx)(j,{size:14,"aria-hidden":`true`})})]}),f?.truncated&&(0,Z.jsx)(`small`,{children:`Older output was truncated.`}),(0,Z.jsx)(`div`,{ref:O,className:`background-terminal-log`,onWheel:e=>{e.deltaY<0&&w(!1)},onKeyDown:e=>{[`PageUp`,`ArrowUp`,`Home`].includes(e.key)&&w(!1)},onScroll:e=>{let t=e.currentTarget;t.scrollHeight-t.scrollTop-t.clientHeight>30&&w(!1)},tabIndex:0,children:f?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`strong`,{children:`stdout`}),(0,Z.jsx)(`pre`,{children:f.stdout||`(empty)`}),(0,Z.jsx)(`strong`,{children:`stderr`}),(0,Z.jsx)(`pre`,{children:f.stderr||`(empty)`})]}):(0,Z.jsx)(`p`,{children:g?`Output unavailable.`:`Loading output…`})})]})]}),t)]})}var Tc,Ec,Z,Dc,Oc,kc,Ac=t((()=>{Tc=e(n()),Ec=Se(),O(),S(),Cc(),Z=r(),oe(),Dc=e=>e.status===`running`||e.status===`stopping`,Oc=e=>`${Math.floor(e/60).toString().padStart(2,`0`)}:${(e%60).toString().padStart(2,`0`)}`,kc=e=>e.split(/[\\/]/).filter(Boolean).pop()||e}));function jc(e){return{proactiveSuggestion:null,dismissProactiveSuggestion:()=>{},handleProactiveAction:async e=>{}}}var Mc=t((()=>{}));function Nc(){if(typeof window>`u`)return[];try{let e=JSON.parse(window.localStorage.getItem(Dl)||`[]`);return Array.isArray(e)?[...new Set(e.filter(e=>typeof e==`string`&&!!e.trim()))].slice(0,Ol):[]}catch{return[]}}function Pc(){if(!(typeof window>`u`))try{window.localStorage.setItem(Al,Date.now().toString())}catch{}}function Fc(){if(typeof window>`u`||!il())return!1;let e=window.localStorage.getItem(Al);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>jl?!1:new Date(t).toDateString()===new Date(n).toDateString()}function Ic(e){if(!e)return``;try{return window.localStorage.getItem(`${Ml}${e}`)||``}catch{return``}}function Lc(){let e=Math.random().toString(36).slice(2,10);return`conversation-${Date.now().toString(36)}-${e}`}function Rc(){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 zc(){if(typeof window>`u`)return!0;let e=(window.location.pathname||``).replace(/\/+$/,``),t=(window.location.hash||``).replace(/^#\/?/,``).replace(/\/+$/,``),n=(e||t).toLowerCase();return Rc()||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 Bc(){let e=Rc();if(e)return window.localStorage.setItem(kl,e),Pc(),e;if(il()&&Fc()){let e=window.localStorage.getItem(kl);if(e)return Pc(),e===`conversation-default`?`cli`:e}if(zc()){let e=Lc();return Pc(),e}let t=window.localStorage.getItem(kl);if(t===`conversation-default`)return window.localStorage.setItem(kl,`cli`),Pc(),`cli`;if(t)return Pc(),t;let n=Lc();return Pc(),n}function Vc(){return(0,$.jsx)(`div`,{className:`auth-gate-loading`,style:{minHeight:160},children:`Loading panel…`})}function Hc(){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`)||n.includes(`library`)?`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 Uc(e,t){return e===`skills`?`/skills`:e===`mcp`?`/mcp`:e===`plugins`?`/plugins`:e===`pictures`?`/library`:e===`imagine`?`/image-studio`:e===`veo`||e===`veo_studio`?`/veo-studio`:e===`code`?`/code`:e===`settings`?`/settings`:t?`/chat/${encodeURIComponent(t)}`:`/chat`}function Wc(e,t=120){let n=e.replace(/\s+/g,` `).trim();return n.length>t?`${n.slice(0,t)}…`:n}function Gc(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 Kc(){let e=il(),[t,n]=(0,Q.useState)(Hc),[r]=(0,Q.useState)(Bc),{conversation:i,actions:a}=bc({workspacePath:window.localStorage.getItem(El)||``,message:Ic(r)},{conversationId:r,draftKeyPrefix:Ml,workspaceStorageKey:El,historyVisible:t===`chat`,onError:e=>P(_t(e)),onApproval:(e,t)=>he(e,t),onReply:(e,t)=>{if(document.hidden||!document.hasFocus())return F(e.text||`Mint finished your request.`,t)},onActivityPersisted:e=>{let t=String(e);_e(e=>({...e,...ye.current?{[t]:!0}:{},...be.current?{[`extended-${t}`]:!0}:{}}))},onRunCompleted:async()=>{el().then(le).catch(()=>{})},onVisibleRunCompleted:e=>{let t=(window.location.pathname||``).replace(/\/+$/,``),n=(window.location.hash||``).replace(/^#\/?/,``).replace(/\/+$/,``),r=(t||n).toLowerCase();(!r||r===`/chat`||r===`chat`||r===`/index.html`||r===`index.html`)&&window.history.replaceState({},``,`/chat/${encodeURIComponent(e)}`)}}),{conversationId:o,workspacePath:s,message:c,imageAttachments:l,videoAttachments:u,documentAttachment:d,sending:f,sendingMessage:p,sendingImageCount:m,sendingVideoCount:h,streamedReply:g,streamedResponse:_,agentProgress:b,interactions:x,hasOlderInteractions:S,streamingConversationId:C,activeTurnId:w,agentActivitySnapshots:T,pendingApprovals:E,sessionAutoApproved:D,chatSessions:O}=i,k=e=>{a.activate(e)},[A,ee]=(0,Q.useState)(!1),[te,ne]=(0,Q.useState)(!1);(0,Q.useEffect)(()=>{if(!A)return;let e=e=>{e.key===`Escape`&&ee(!1)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[A]);let[re,j]=(0,Q.useState)(0),[ie,ae]=(0,Q.useState)(Nc);function M(e){let t=Ht([e,...Nc()]).slice(0,Ol);try{window.localStorage.setItem(Dl,JSON.stringify(t))}catch{}ae(t)}(0,Q.useEffect)(()=>{s.trim()&&M(s)},[s]);async function oe(){let e=await rl();return e&&M(e),e}let se=(t,r)=>{ee(!1),n(n=>{let i=typeof t==`function`?t(n):t;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,s=!e&&a===`workspace`?`chat`:a,c=Uc(s,r||o);return typeof window<`u`&&window.location.pathname!==c&&window.history.pushState({},``,c),s})};(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(Hc());let r=Rc();r&&r!==o?(window.localStorage.setItem(kl,r),k(r),a.refreshHistory().catch(e=>{console.error(`Failed to load conversation history:`,e)})):!r&&zc()&&k(Lc())};return window.addEventListener(`popstate`,e),window.addEventListener(`hashchange`,e),()=>{window.removeEventListener(`popstate`,e),window.removeEventListener(`hashchange`,e)}},[o,s]),(0,Q.useEffect)(()=>{Pc();let e=()=>Pc();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[ce,le]=(0,Q.useState)(null),[de,P]=(0,Q.useState)(``),[fe,pe]=(0,Q.useState)(null),me=(0,Q.useRef)(zn);me.current=zn;let F=(e,t,n=`replies`)=>ve(()=>Ne(nt.current?.notificationSettings,n,`os`)?window.api?.notifyAiResponse?.(Wc(e),t):void 0,P),he=(e,t)=>{(document.hidden||!document.hasFocus())&&F(Gc(e),t??e.chatId,`approvals`)};(0,Q.useEffect)(()=>{let e=!1,t=[],n=n=>{n?.then(n=>{typeof n==`function`&&(e?n():t.push(n))}).catch(t=>{e||P(_t(t))})},r=e=>{e&&me.current(e).catch(e=>P(_t(e)))},i=e=>r(e.detail?.chatId);window.addEventListener(`mint:notification-click`,i),n(Qc(`notification-clicked`,e=>r(e.payload?.chatId))),n(Promise.resolve(window.api?.onProactiveNotification?.(t=>{e||ue(t,document.hidden||!document.hasFocus(),e=>{Ne(nt.current?.notificationSettings,`system`,`inApp`)&&pe(e)},(e,t)=>F(e,t,`system`)).catch(e=>P(_t(e)))})));let a=()=>{document.hidden||window.api?.clearAiNotifications?.()};return document.addEventListener(`visibilitychange`,a),()=>{e=!0,t.forEach(e=>e()),window.removeEventListener(`mint:notification-click`,i),document.removeEventListener(`visibilitychange`,a)}},[]);let[ge,_e]=(0,Q.useState)({}),ye=(0,Q.useRef)(!0),be=(0,Q.useRef)(!0),[xe,Se]=(0,Q.useState)(()=>window.localStorage.getItem(`mint:sidebar-collapsed`)===`true`),[Ce,we]=(0,Q.useState)([]),[Te,Ee]=(0,Q.useState)(null),[De,Oe]=(0,Q.useState)(!1),[ke,Ae]=(0,Q.useState)(null),[je,Me]=(0,Q.useState)(null),[Pe,Fe]=(0,Q.useState)(0),[Ie,Le]=(0,Q.useState)(()=>{let e=Number(window.localStorage.getItem(`mint:terminal-right-width`));return e>=280&&e<=900?e:440}),Re=(0,Q.useRef)(null),[ze,Be]=(0,Q.useState)(()=>{let e=Number(window.localStorage.getItem(`mint:sidebar-width`));return e>=Pl&&e<=Fl?e:Nl}),Ve=In(b),He=Rn([...x.map(e=>In(T[String(e.id)]??e.agentActivity??[])),In(b)]),[Ue,We]=(0,Q.useState)(()=>window.localStorage.getItem(`mint:agent-mode`)===`true`),[Ge,Ke]=(0,Q.useState)(()=>window.localStorage.getItem(`mint:plan-mode`)===`true`),[qe,Je]=(0,Q.useState)(``),[Ye,Xe]=(0,Q.useState)(!1),[Ze,Qe]=(0,Q.useState)(!1),[et,tt]=(0,Q.useState)(null),nt=(0,Q.useRef)(et);nt.current=et,(0,Q.useEffect)(()=>{Ne(et?.notificationSettings,`system`,`inApp`)||pe(null),(et?.notificationSettings?.enabled===!1||et?.notificationSettings?.os===!1)&&window.api?.clearAiNotifications?.()},[et]);let rt=(0,Q.useMemo)(()=>Ht(ie,s,O.map(e=>e.workspacePath)),[ie,s,O]),at=(0,Q.useRef)(null),ot=(0,Q.useRef)(0),{proactiveSuggestion:st,dismissProactiveSuggestion:ct,handleProactiveAction:lt}=jc(e=>P(e)),ut=Ye||Ze,[dt,ft]=(0,Q.useState)(``),[mt,ht]=(0,Q.useState)(``),[gt,vt]=(0,Q.useState)(``),[bt,xt]=(0,Q.useState)(``),[Ct,Tt]=(0,Q.useState)(``),Dt=async(e,t)=>{let n={...et||At,[e]:t};if(tt(n),window.settingsApi)await window.settingsApi.saveSettings(n);else try{await fl(`user-settings`,JSON.stringify(n))}catch(e){console.error(`Failed to save settings field:`,e)}},Ot=async e=>{if(!dt.trim()||!mt.trim()){alert(`Please provide at least a server name and command.`);return}let t={};if(bt.trim())try{t=JSON.parse(bt)}catch{alert(`Invalid JSON in Environment variable field.`);return}let n=dt.trim(),r=gt.split(/\s+/).filter(Boolean),i=et||At,a={...i,mcpServers:{...i?.mcpServers,[n]:{command:mt.trim(),args:r,env:t,icon:Ct.trim()||void 0}}};if(e&&(a.allowedMcpTools={...i?.allowedMcpTools||{},[n]:[`*`]}),tt(a),window.settingsApi)await window.settingsApi.saveSettings(a);else try{await fl(`user-settings`,JSON.stringify(a))}catch(e){console.error(`Failed to save settings field:`,e)}ft(``),ht(``),vt(``),xt(``),Tt(``)},jt=async e=>{let t={...(et||At)?.mcpServers||{}};delete t[e],await Dt(`mcpServers`,t)},Mt=e=>{},[Nt,Pt]=(0,Q.useState)(!1),[Ft,It]=(0,Q.useState)(null),[Lt,Rt]=(0,Q.useState)(``);(0,Q.useEffect)(()=>{function e(e){(e.ctrlKey||e.metaKey)&&e.key===`k`?(e.preventDefault(),Pt(e=>!e)):e.key===`Escape`&&Pt(!1)}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]),(0,Q.useEffect)(()=>{Nt||Rt(``)},[Nt]),(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=wt(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})(O.filter(e=>e.kind===`cli`||e.id===`conversation-default`?!1:e.title.toLowerCase().includes(Lt.toLowerCase())));let zt=a.refreshHistory,Bt=(0,Q.useCallback)(async()=>{try{await a.refreshSessions()}catch(e){console.error(`Failed to refresh chat sessions:`,e)}},[a]),Vt=a.loadOlder,Ut=(0,Q.useRef)(new Map),Wt=(0,Q.useCallback)(async(e,t)=>{let n=(Ut.current.get(e)??Promise.resolve()).catch(()=>{}).then(async()=>{await Zc(e,t),await Bt()});Ut.current.set(e,n);try{await n}catch(e){console.error(`Failed to update session workspace:`,e),P(_t(e))}finally{Ut.current.get(e)===n&&Ut.current.delete(e)}},[Bt]),Gt=(0,Q.useCallback)(async()=>{try{return await nl()||null}catch{return null}},[]);(0,Q.useEffect)(()=>{Promise.allSettled([el().then(le),zt(),Bt(),window.settingsApi?.getSettings().then(e=>{let t=Et($e(e));tt(t),St({...At,...t})})]).then(e=>{let t=e.find(e=>e.status===`rejected`);t?.status===`rejected`&&P(_t(t.reason)),Xe(!0)});let e=window.api.onSpotlightToChat(e=>{se(`chat`),a.compose(e)}),t=()=>{el().then(le).catch(()=>{}),window.settingsApi?.getSettings?.().then(e=>{if(e){let t=Et($e(e));tt(t),St(t)}}).catch(()=>{}),window.api?.clearAiNotifications?.()};window.addEventListener(`focus`,t),window.api?.onSettingsChanged?.(e=>{let t=Et($e(e));tt(t),St(t),el().then(le).catch(()=>{})});let n=Qc(`tool-approval-requested`,e=>{let t=e.payload.chatId;t&&a.receiveApproval(t,e.payload)});return()=>{window.removeEventListener(`focus`,t),n?.then?.(e=>e?.()),e?.then?.(e=>e?.())}},[]),(0,Q.useEffect)(()=>{let e=window.setTimeout(()=>Qe(!0),1e4);return()=>window.clearTimeout(e)},[]),(0,Q.useEffect)(()=>{t===`workspace`&&!Ue&&mn(!0)},[t,Ue]);let Kt=e=>{Je(e),setTimeout(()=>Je(t=>t===e?``:t),3e3)},qt=async(t,n=!1)=>{if(!e){window.open(t,`_blank`,`noopener,noreferrer`);return}try{Kt(`Opening Co-browsing browser (Mint Auto)...`);let{invoke:e}=await N(async()=>{let{invoke:e}=await import(`./core-DsKkQ7ig.js`).then(e=>(e.a(),e.i));return{invoke:e}},__vite__mapDeps([2,1]));await e(`open_mint_browser`,{url:t})}catch(e){if(n)throw e;Kt(`Could not open browser: ${String(e)}`)}},Jt=async(t,n,r)=>{if(!e&&![`localhost`,`127.0.0.1`,`[::1]`,`::1`].includes(window.location.hostname))throw Error(`HTML preview requires a browser on the same machine as the Mint backend.`);let i=!e&&r===`external`?window.open(`about:blank`,`_blank`):null;i&&(i.opener=null);try{let a=await y.startHtmlPreview(t,n,!e&&r===`mint`);if(r===`mint`)e&&await qt(a.url,!0);else if(e){let{invoke:e}=await N(async()=>{let{invoke:e}=await import(`./core-DsKkQ7ig.js`).then(e=>(e.a(),e.i));return{invoke:e}},__vite__mapDeps([2,1]));await e(`run_desktop_action`,{action:{type:`open_url`,target:a.url}})}else{if(!i)throw Error(`Allow browser popups, then open the HTML file again.`);i.location.replace(a.url)}Kt(`HTML preview is running. Open Tools → Background tasks to view or stop the server.`)}catch(e){throw i?.close(),e}},Yt=()=>{Oe(!0);let e=`terminal:${Date.now()}:${Math.random().toString(36).slice(2,7)}`;we(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 Ee(e),[...t,i]})},Xt=e=>{Oe(!0),we(t=>t.some(t=>t.id===e)?t:[...t,{id:e,kind:e,title:e===`mods`?`Mods`:`Background tasks`}]),Ee(e)},Zt=()=>{Oe(!1),requestAnimationFrame(()=>document.querySelector(`.tools-panel-toggle`)?.focus())},Qt=(e=`https://www.google.com`)=>{qt(e)},$t=e=>{we(t=>{let n=t.find(t=>t.id===e);if(!n||n.kind===`mods`||n.kind===`background`)return t;let r=`${n.kind}:${Date.now()}:${Math.random().toString(36).slice(2,7)}`,i={...n,id:r,title:`${n.title} copy`};return Ee(r),[...t,i]})},en=e=>{let t=Ce.find(t=>t.id===e);if(!t)return;let n=window.prompt(`Rename tab`,t.title)?.trim();n&&we(t=>t.map(t=>t.id===e?{...t,title:n}:t))},tn=e=>{we(t=>t.filter(t=>t.id===e)),Ee(e)},nn=()=>{we(e=>{let t=e.find(e=>e.kind===`terminal`);if(!t){let t=`terminal:${Date.now()}:${Math.random().toString(36).slice(2,7)}`;return Ee(t),[...e,{id:t,kind:`terminal`,title:`Terminal`}]}return Ee(e=>e===t.id?null:t.id),e})},rn=async()=>{try{let e=await window.settingsApi.checkForUpdates();Kt(e?.available?`Mint ${e.version} is available.`:`Mint is up to date.`)}catch(e){Kt(`Could not check for updates: ${String(e)}`)}},an=e=>{Oe(!0);let t=e.path.replace(/\\/g,`/`).split(`/`).pop()||e.path;e={...e,workspacePath:e.workspacePath??s};let n=`preview:${JSON.stringify([e.workspacePath,e.path])}`;we(r=>[...r.filter(e=>e.id!==n),{id:n,kind:`preview`,title:t,artifact:e}]),Ee(n)},on=async(e,t)=>{an(await Tn(e,t,{readWorkspaceFile:(e,t)=>v.readWorkspaceFile(e,t),startHtmlPreview:(e,t)=>y.startHtmlPreview(e,t)}))},sn=e=>{Oe(!0),we(t=>[...t.filter(t=>t.id!==e.id),e]),Ee(e.id)},cn=()=>{Oe(!0),we(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:He};return Ee(n),[...e,r]})},ln=e=>{we(t=>{let n=t.findIndex(t=>t.id===e),r=t.filter(t=>t.id!==e);return Ee(t=>t===e?r[Math.max(0,n-1)]?.id??null:t),r})},un=()=>{we([]),Ee(null)},dn=()=>{if(window.innerWidth<=760){ee(!1);return}let e=!xe;window.localStorage.setItem(`mint:sidebar-collapsed`,String(e)),Se(e),ee(!1)},fn=e=>{Be(Math.max(Il,Math.min(Fl,e)))},pn=e=>{if(e<Il){Be(Nl),window.localStorage.setItem(`mint:sidebar-width`,String(Nl)),window.localStorage.setItem(`mint:sidebar-collapsed`,`true`),Se(!0);return}let t=Math.max(Pl,Math.min(Fl,e));Be(t),window.localStorage.setItem(`mint:sidebar-width`,String(t))},mn=e=>{window.localStorage.setItem(`mint:agent-mode`,String(e)),We(e)},hn=e=>{window.localStorage.setItem(`mint:plan-mode`,String(e)),Ke(e)},gn=(e,t=!0)=>{let n=e.trim();a.selectWorkspace(n);let r=a.getSnapshot().conversationId;t&&mc(r,O)&&Wt(r,n||null)},_n=a.resolveApproval,vn=a.cancel;async function yn(e,t={}){a.getSnapshot().sending||(P(``),ye.current=!0,be.current=!0,_e(e=>({...e,live:!0,"live-extended":!0})),await a.sendPrompt(e,{...t,agentMode:Ue,planMode:Ge}))}async function bn(e){e.preventDefault();let t=c.trim(),n=l,r=u,i=d,p=n.length>0||r.length>0||!!i;if(!t&&!p||f)return;if(t.startsWith(`/`)){let e=null;try{e=await bl(t,s||null,o)}catch{e=null}if(e&&e.kind!==`not_handled`){a.clearComposer(),await Fn(t,e);return}let n=ac(t);if(n.handled){if(a.clearComposer(),n.action===`open_image_picker`){document.getElementById(`vision-file-input`)?.click();return}else if(n.action===`paste_image`){$c().then(e=>{e&&a.attachImage({dataUri:e,name:`Clipboard Image`})}).catch(()=>{});return}else if(n.action===`generate_veo`){se(`veo`);return}else if(n.action===`resume_session`){let e=(n.payload?.query||``).trim().toLowerCase(),r=e?O.find(t=>t.id.toLowerCase()===e||t.id.toLowerCase().includes(e)||t.title.toLowerCase().includes(e)):O.find(e=>e.id!==o);if(r){k(r.id);let e=Uc(`chat`,r.id);window.history.replaceState({},``,e);let n={id:Date.now(),userText:t,aiText:`🔄 Resumed session: **${r.title}** (\`${r.id}\`)`,createdAt:new Date().toISOString(),provider:`system`,model:`mint-cli`};a.appendInteraction(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`};a.appendInteraction(n)}return}if(n.systemText){let e={id:Date.now(),userText:t,aiText:n.systemText,createdAt:new Date().toISOString(),provider:`system`,model:`mint-cli`};a.appendInteraction(e),Xc(o,t,n.systemText||``,`system`,`mint-cli`).catch(()=>{})}return}}let m=t||(n.length>0?n.length>1?`Describe these images.`:`Describe this image.`:r.length>0?r.length>1?`Describe these videos.`:`Describe this video.`:`Summarize this document.`),h=Object.entries(et?.mcpServers||{}).filter(([,e])=>e?.disabled!==!0).map(([e])=>e).find(e=>RegExp(`(^|\\s)@${e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}(\\s|$)`).test(t));await yn(m,{imageAttachments:n,videoAttachments:r,documentAttachment:i,clearComposer:!0,pinnedMcpServer:h,forceAgentMode:!!h})}async function xn(e,t){let n=e.trim()||`Voice message`;!n||f||await yn(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 Sn(e){let t=e.target.files?.[0];if(t)try{let e=kt(t).objectUrl,n=await pt(t),r=await it(n).catch(()=>n);a.attachImage({dataUri:n,previewDataUri:r,objectUrl:e,name:t.name})}catch(e){P(_t(e))}finally{e.target.value=``}}async function Cn(e){let t=e.target.files?.[0];if(t)try{if(t.size>26214400){P(`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)});a.attachVideo({dataUri:e,name:t.name})}catch(e){P(_t(e))}finally{e.target.value=``}}function wn(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-ot.current>100&&(ot.current=e,$c().then(e=>{e&&it(e).catch(()=>e).then(t=>{a.attachImage({dataUri:e,previewDataUri:t,name:`Pasted image`})})}).catch(e=>{console.warn(`Failed to read clipboard image via Tauri API:`,e)}))}return!1}return pt(n).then(e=>{let t=n.name&&n.name!==`image.png`?n.name:`Pasted image`;it(e).catch(()=>e).then(n=>{a.attachImage({dataUri:e,previewDataUri:n,name:t})})}).catch(e=>P(_t(e))),!0}async function En(e){let t=e.target.files?.[0];if(t)try{if(!Eo(t.name))throw Error(`Unsupported document type`);a.attachDocument({filename:t.name,dataUri:await yt(t)})}catch(e){P(_t(e))}finally{e.target.value=``}}function Dn(){mn(!0),a.compose(c.trim()?`Search web: ${c.trim()}`:`Search web: `)}async function On(n,r=!1){let i=e&&(r||t===`workspace`)?`workspace`:`chat`;await a.selectProject(async()=>n||await rl(),{openSession:(e,t)=>zn(e.id,e,t),newChat:(e,t)=>Mn(`New chat`,e,t),showCurrentView:e=>se(e,a.getSnapshot().conversationId)},i)}function kn(){ne(!0)}async function An(){ne(!1),await new Promise(e=>requestAnimationFrame(()=>requestAnimationFrame(()=>e())));try{await window.api.startVision()}catch(e){P(_t(e))}}function jn(e){it(e).catch(()=>e).then(t=>{a.attachImage({dataUri:e,previewDataUri:t,name:`Screen capture`}),ne(!1)})}async function Mn(e,t,r=`chat`){try{if(e===`New chat`){if(k(Lc()),n(r),gn(t===void 0?s:t||``),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 a.clearHistory()}}catch(e){P(_t(e))}}function Nn(e,t){let n={id:Date.now(),userText:e,aiText:t,createdAt:new Date().toISOString(),provider:`system`,model:`mint-cli`};a.appendInteraction(n),Xc(o,e,t,`system`,`mint-cli`).catch(()=>{})}function Pn(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 Fn(e,t){switch(t.kind){case`message`:Nn(e.startsWith(`/mods set `)?`/mods`:e,t.markdown),e.startsWith(`/mods set `)&&requestAnimationFrame(()=>document.getElementById(`chat-input`)?.focus());break;case`applied`:{let n=t.effects.find(e=>e.kind===`workspace_changed`);n&&gn(n.path),t.effects.some(e=>e.kind===`workspace_files_changed`)&&j(e=>e+1);let r=t.effects.find(e=>e.kind===`plan_mode_changed`);r&&Ke(r.enabled);let i=t.effects.find(e=>e.kind===`provider_changed`);i&&a.appendInteraction({id:Date.now(),userText:i.display,aiText:``,createdAt:new Date().toISOString(),provider:`system`,model:`provider_change`}),t.effects.some(e=>e.kind===`history_cleared`)&&await a.clearHistory().catch(()=>{}),t.markdown&&Nn(e,t.markdown),t.effects.some(e=>e.kind!==`history_cleared`&&e.kind!==`workspace_changed`)&&(window.settingsApi?.getSettings?.().then(e=>e&&tt(e)).catch(()=>{}),el().then(le).catch(()=>{}));break}case`navigate`:t.markdown&&Nn(e,t.markdown),se(Pn(t.target));break;case`forward_to_agent`:t.plan_mode&&Ke(!0),t.agent_mode&&We(!0),await yn(t.prompt,{clearComposer:!0});break;case`needs_choice`:It({command:t.command,title:t.title,options:t.options});break;case`exit`:break}}function Ln(e,t){e===`live`&&(ye.current=t),e===`live-extended`&&(be.current=t),_e(n=>({...n,[e]:t}))}async function zn(e,t,n=`chat`){window.localStorage.setItem(kl,e),Pc(),k(e),se(n,e);let r=t??O.find(t=>t.id===e);r&&(r.workspacePath?r.workspacePath!==s&&gn(r.workspacePath,!1):s&&gn(``,!1));try{await a.refreshHistory()}catch(e){P(_t(e))}}let Bn=e=>{Mn(`New chat`,e)};async function Vn(e){if(e===`cli`){if(!window.confirm(`Clear history for default CLI session? This cannot be undone.`))return;try{await qc(`cli`),await zt(),await Bt(),Kt(`CLI session history cleared`)}catch(e){P(_t(e))}return}let t=O.find(t=>t.id===e)?.title||`this chat`;if(window.confirm(`Delete "${t}"? This will remove the conversation and its messages.`))try{await Jc(e);let t=O.filter(t=>t.id!==e&&t.kind!==`cli`&&!t.id.startsWith(`cli`)&&t.id!==`conversation-default`),n=a.getSnapshot().conversationId,r=e===n?t[0]?.id??Lc():n;r!==n&&(t.length>0&&t[0]?.id?(window.localStorage.setItem(kl,r),typeof window<`u`&&window.history.replaceState({},``,`/chat/${encodeURIComponent(r)}`)):(window.localStorage.removeItem(kl),typeof window<`u`&&window.history.replaceState({},``,`/chat`)),k(r),await a.refreshHistory()),await Bt()}catch(e){P(_t(e))}}async function Hn(e,t){if(t.trim())try{await Yc(e,t.trim()),await Bt()}catch(e){P(_t(e))}}function Un(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=(et?.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 Wn(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 Gn(e){try{let t=await window.settingsApi.getSettings();if(t.aiProvider===e)return;t.aiProvider=e,await window.settingsApi.saveSettings(t),tt(t),le(await el());let n=Un(e,Wn(t,e));x.length>0&&(await Xc(o,n,``,`system`,`provider_change`),await zt())}catch(e){P(_t(e))}}async function Kn(e){try{let t=await window.settingsApi.getSettings(),n=t.aiProvider;if(Wn(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),tt(t),le(await el());let r=Un(n,e);x.length>0&&(await Xc(o,r,``,`system`,`provider_change`),await zt())}catch(e){P(_t(e))}}async function qn(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),tt(n),le(await el());let r=Un(e,t);x.length>0&&(await Xc(o,r,``,`system`,`provider_change`),await zt())}catch(e){P(_t(e))}}async function Jn(e){try{let t=await window.settingsApi.getSettings();if(t.geminiLiveVoice===e)return;t.geminiLiveVoice=e,await window.settingsApi.saveSettings(t),tt(t)}catch(e){P(_t(e))}}let Yn={interactions:x,hasOlder:S,sendingInteractionId:C===o?w:null,sending:f&&C===o,sendingMessage:C===o?p:``,sendingImageCount:C===o?m:0,sendingVideoCount:C===o?h:0,streamedReply:C===o?g:``,streamedResponse:C===o?_:null,agentProgress:C===o?b:[],agentActivitySnapshots:T,thinkingExpanded:ge,message:c,imageAttachments:l,videoAttachments:u,documentName:d?.filename??``,pendingApproval:E[o]??null,agentMode:Ue,planMode:Ge,status:ce,workspacePath:s,chatId:o,recentWorkspacePaths:rt,chatEnd:at,welcomeInteraction:Ll,settingsConfig:et,slashChoice:Ft,isCliSession:o.startsWith(`cli`)||o===`cli`,cliSessionId:o.startsWith(`cli`)?o:void 0,conversationTitle:O.find(e=>e.id===o)?.title},Xn={onSelectSlashChoice:e=>{if(!Ft)return;let t=`${Ft.command} ${e}`;It(null),requestAnimationFrame(()=>document.getElementById(`chat-input`)?.focus()),bl(t,s||null,o).then(e=>Fn(t,e)).catch(()=>{})},onDismissSlashChoice:()=>It(null),onLoadOlder:Vt,onThinkingExpandedChange:Ln,onSubmit:bn,onSelectImage:Sn,onSelectVideo:Cn,onSelectDocument:En,onPasteImage:wn,onSetMessage:a.compose,onSendVoiceMessage:xn,onRemoveImage:a.removeImage,onRemoveVideo:a.removeVideo,onRemoveDocument:()=>a.attachDocument(null),onStartWebSearch:Dn,onCaptureScreen:kn,onSetAgentMode:mn,onSetPlanMode:e?hn:void 0,onSetProvider:Gn,onSelectWorkspace:On,onWorkspaceChanged:()=>j(e=>e+1),onApproval:_n,onUpdateSettings:e=>tt(e),onSetModel:Kn,onSelectModelAndProvider:qn,onCancelMessage:vn,onClearMessages:()=>Mn(`Clear history`),onSetGeminiLiveVoice:Jn,onToggleMobileSidebar:()=>ee(!A),onBackToCode:()=>se(`code`),onOpenArtifact:e?an:void 0,onOpenReview:e?sn:void 0};return(0,$.jsxs)(`div`,{className:`app-container ${ut?``:`is-loading`}`,children:[te&&(0,$.jsx)(Rs,{onClose:()=>ne(!1),onAttach:jn,capture:()=>lc(e),onLiveTranslate:e?()=>{An()}:void 0}),e&&(0,$.jsx)(Ys,{sidebarCollapsed:xe,onToggleSidebar:dn,onNewChat:()=>Mn(`New chat`),onOpenWorkspace:()=>On(void 0,!0),onOpenTerminal:Yt,onToggleTerminal:nn,onOpenBrowser:()=>Qt(),toolsPanelOpen:De,backgroundTaskCount:Pe,onToggleToolsPanel:()=>Oe(e=>!e),onOpenSettings:()=>se(`settings`),onCheckForUpdates:rn,onShowAbout:()=>Kt(`Mint Agent — AI workspace`),workspacePath:s,workspaceActive:t===`workspace`&&!De,workspaceRevision:re,sending:f,onWorkspaceUndoError:Kt,terminalCount:Ce.filter(e=>e.kind===`terminal`).length,chatId:o,liveProgress:C===o?b:[],recentChanges:Ve,onOpenReview:e=>sn({id:`review:workspace:${Date.now()}`,kind:`review`,title:`Review`,reviewTitle:`Recent agent changes`,changes:e}),onRefreshWorkspace:()=>j(e=>e+1)}),fe&&(0,$.jsxs)(`section`,{className:`mint-notification-notice`,role:`status`,"data-kind":fe.type,children:[(0,$.jsx)(`span`,{children:fe.message}),fe.chatId&&(0,$.jsx)(`button`,{type:`button`,onClick:()=>{me.current(fe.chatId),pe(null)},children:`Open chat`}),(0,$.jsx)(`button`,{type:`button`,"aria-label":`Dismiss notification`,onClick:()=>pe(null),children:`×`})]}),de&&(0,$.jsx)(tc,{message:de,onDismiss:()=>P(``)},de),(0,$.jsxs)(`div`,{className:`app-body ${xe&&window.innerWidth>760?`sidebar-collapsed`:``} ${t===`pictures`?`pictures-open`:``} ${A?`mobile-sidebar-open`:``} ${De?`tool-surface-active`:``}`,style:{"--sidebar-expanded-width":`${ze}px`,"--terminal-dock-size":`${Ie}px`,"--tool-surface-width":`${Ie}px`},children:[!e&&t!==`chat`&&(0,$.jsx)(`button`,{type:`button`,className:`web-mobile-nav-btn`,"aria-label":`Open navigation menu`,"aria-expanded":A,onClick:()=>ee(!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`})]})}),A&&(0,$.jsx)(`button`,{type:`button`,"aria-label":`Close navigation menu`,className:`sidebar-backdrop`,onClick:()=>ee(!1),style:{position:`fixed`,top:0,left:0,right:0,bottom:0,background:`rgba(0, 0, 0, 0.5)`,backdropFilter:`blur(4px)`,zIndex:9998}}),qe&&(0,$.jsx)(`div`,{role:`status`,style:{position:`fixed`,bottom:22,right:22,zIndex:1e4,padding:`12px 18px`,borderRadius:10,background:`var(--bg-surface)`,color:`var(--text-main)`,border:`1px solid var(--border-color)`},children:qe}),(0,$.jsx)(Hs,{view:t,sidebarCollapsed:xe,sending:f,onToggleSidebar:dn,onSidebarResize:fn,onSidebarResizeEnd:pn,onClearHistory:Mn,chatSessions:O,activeConversationId:o,onSelectConversation:zn,onDeleteConversation:Vn,onRenameConversation:Hn,onSetView:se,isSearchOpen:Nt,onSetSearchOpen:Pt,showWorkspaceTab:e,promoteMediaStudios:!e,activeWorkspacePath:s,recentWorkspacePaths:ie,onBrowseFolder:e?Gt:void 0,onUpdateSessionWorkspace:Wt,onNewChatInProject:Bn}),(0,$.jsxs)(`main`,{className:`assistant-workspace ${t===`workspace`?``:`chat-only`} ${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:[st&&(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:st.message}),(0,$.jsx)(`button`,{className:`proactive-dismiss-btn`,onClick:ct,children:`Dismiss`})]}),(0,$.jsx)(`div`,{className:`proactive-chips`,children:st.suggestions?.map((e,t)=>(0,$.jsx)(`button`,{className:`suggestion-chip`,onClick:()=>lt(e.action),children:e.label},t))})]}),t===`workspace`&&(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(Vc,{}),children:(0,$.jsx)(Rl,{agentMode:Ue,sending:f,workspacePath:s,onEnableAgentMode:()=>mn(!0),onSetMessage:a.compose,onWorkspaceReady:gn,refreshRevision:re,onOpenHtml:Jt,onOpenPreview:on},s)}),(0,$.jsx)(ws,{conversation:Yn,actions:Xn,showSessionSources:!e,tools:{modsPanelTarget:ke,onOpenMods:()=>Xt(`mods`),open:De,backgroundTaskCount:Pe,onToggle:e?void 0:()=>Oe(e=>!e)}})]}),De&&(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(Vc,{}),children:(0,$.jsx)(zl,{surfaces:Ce,activeSurfaceId:Te,workspacePath:s,desktopTools:e,backgroundTaskCount:Pe,onOpenMods:()=>Xt(`mods`),onOpenBackgroundTasks:()=>Xt(`background`),onModsPanelTarget:Ae,onBackgroundPanelTarget:Me,terminalSize:Ie,onSelect:Ee,onClose:ln,onCloseAll:un,onDuplicate:$t,onRename:en,onCloseOthers:tn,onOpenTerminal:Yt,onOpenBrowser:()=>Qt(),onOpenReview:cn,onOpenFiles:()=>{Ee(null),Oe(!1),se(`workspace`)},onOpenSideChat:()=>{Ee(null),Oe(!1)},onClosePanel:Zt,onResizeTerminal:e=>{Le(e),Re.current&&clearTimeout(Re.current),Re.current=setTimeout(()=>{window.localStorage.setItem(`mint:terminal-right-width`,String(e))},250)},onResizePanel:e=>{Le(e),Re.current&&clearTimeout(Re.current),Re.current=setTimeout(()=>{window.localStorage.setItem(`mint:terminal-right-width`,String(e))},250)}})}),(0,$.jsx)(wc,{workspacePath:s,panelTarget:je,onCountChange:Fe}),t===`skills`&&(0,$.jsx)(`div`,{className:`web-view-scroll`,style:{flex:1,overflowY:`auto`,background:`transparent`},children:(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(Vc,{}),children:(0,$.jsx)(Bl,{listSkills:ol,addSkill:sl,deleteSkill:cl,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)(Vc,{}),children:(0,$.jsx)(Ul,{config:et||At,updateField:Dt,mcpName:dt,setMcpName:ft,mcpCmd:mt,setMcpCmd:ht,mcpArgs:gt,setMcpArgs:vt,mcpEnv:bt,setMcpEnv:xt,mcpIcon:Ct,setMcpIcon:Tt,handleAddMcpServer:Ot,handleRemoveMcpServer:jt,detectTools:ll,onReauth:ul,listServerTools:dl})})}),t===`plugins`&&(0,$.jsx)(`div`,{className:`web-view-scroll`,style:{flex:1,overflowY:`auto`,background:`transparent`},children:(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(Vc,{}),children:(0,$.jsx)(Wl,{config:et||At,updateField:Dt,handleConnectPlugin:Mt})})}),t===`cron`&&(0,$.jsx)(`div`,{className:`web-view-scroll`,style:{flex:1,overflowY:`auto`,background:`transparent`},children:(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(Vc,{}),children:(0,$.jsx)(Vl,{listCronJobs:pl,addCronJob:ml,removeCronJob:hl,setCronJobEnabled:gl,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)(Vc,{}),children:(0,$.jsx)(Hl,{listLinkedFolders:_l,addLinkedFolder:vl,removeLinkedFolder:yl,linkedFolderStatus:xl,refreshLinkedFolder:Sl,listLinkedFolderNotes:Cl,readLinkedFolderNote:wl,openLinkedFolderNote:Tl,canOpenNote:il(),selectFolder:rl})})}),t===`code`&&(0,$.jsx)(`div`,{className:`web-view-scroll`,style:{flex:1,overflowY:`auto`,background:`transparent`},children:(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(Vc,{}),children:(0,$.jsx)(Gl,{chatSessions:O,activeConversationId:o,workspacePath:s,recentWorkspacePaths:rt,onSelectFolder:oe,onSelectSession:e=>{zn(e)},onDeleteSession:Vn,onRenameSession:Hn,onRefreshSessions:Bt,onShowToast:Kt})})}),t===`pictures`&&(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(Vc,{}),children:(0,$.jsx)(Kl,{chatId:o,onClose:()=>se(`chat`),onOpenConversation:e=>{zn(e)}})}),t===`imagine`&&(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(Vc,{}),children:(0,$.jsx)(ql,{view:t,onSendToChat:async(e,t)=>{try{let n=await fetch(al(e));if(!n.ok)throw Error(`Unable to load image (${n.status})`);let r=await n.blob(),i=e.split(/[\\/]/).pop()||`generated-image.png`,o=await pt(new File([r],i,{type:r.type||`image/png`})),s=await it(o).catch(()=>o);se(`chat`),a.compose(t),a.attachImage({dataUri:o,previewDataUri:s,name:i})}catch(e){Kt(`Could not attach image: ${_t(e)}`)}}})}),t===`veo`&&(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(Vc,{}),children:(0,$.jsx)(Jl,{view:t,onSendToChat:e=>{se(`chat`),a.compose(e)}})})]}),(0,$.jsx)(`div`,{className:`startup-loading ${ut?`is-hidden`:``}`,"aria-live":`polite`,"aria-busy":!ut,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`})]})}),Nt&&(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(Yl,{isOpen:!0,onClose:()=>Pt(!1),onSelectChat:e=>{zn(e),Pt(!1)},onNewChat:()=>{Mn(`New chat`),Pt(!1)},onSelectWorkspace:e?On:void 0,onOpenSettings:()=>{se(`settings`),Pt(!1)},onChangeView:e=>{se(e),Pt(!1)},onChangeModel:e=>{Dt(`model`,e),Je(`Switched model to ${e}`)},onChangeProvider:e=>{Dt(`provider`,e),Je(`Switched provider to ${e}`)},onExecuteSlash:e=>{a.compose(e+` `),Pt(!1)},chatSessions:O,currentChatId:o,workspacePath:s})})]})}var Q,$,qc,Jc,Yc,Xc,Zc,Qc,$c,el,tl,nl,rl,il,al,ol,sl,cl,ll,ul,dl,fl,pl,ml,hl,gl,_l,vl,yl,bl,xl,Sl,Cl,wl,Tl,El,Dl,Ol,kl,Al,jl,Ml,Nl,Pl,Fl,Il,Ll,Rl,zl,Bl,Vl,Hl,Ul,Wl,Gl,Kl,ql,Jl,Yl,Xl=t((()=>{En(),Fe(),_e(),Dn(),Q=e(n()),Vn(),S(),$=r(),Ps(),Vs(),Ws(),$s(),rc(),ot(),Gt(),oc(),uc(),Sc(),_c(),bt(),Ac(),ko(),Mc(),oe(),{clearChatHistory:qc,deleteChatSession:Jc,renameChatSession:Yc,saveSystemInteraction:Xc,updateChatSessionWorkspace:Zc,listen:Qc,readClipboardImage:$c}=a,{getRuntimeStatus:el,setActiveModel:tl,selectWorkspaceDirectory:nl,selectLinkedFolderPath:rl,isTauriRuntime:il}=v,{convertFileSrc:al}=D,{listLearnedSkills:ol,addLearnedSkill:sl,deleteLearnedSkill:cl,detectSystemTools:ll,reauthMcpServer:ul,listMcpServerTools:dl,setProfileValue:fl,listCronJobs:pl,addCronJob:ml,removeCronJob:hl,setCronJobEnabled:gl,listLinkedFolders:_l,addLinkedFolder:vl,removeLinkedFolder:yl,runSlashCommand:bl,linkedFolderStatus:xl,refreshLinkedFolder:Sl,listLinkedFolderNotes:Cl,readLinkedFolderNote:wl,openLinkedFolderNote:Tl}=fe,El=`mint:last-workspace-path`,Dl=`mint:recent-workspace-paths`,Ol=8,kl=`mint:active-conversation-id`,Al=`mint:last-active-timestamp`,jl=1800*1e3,Ml=`mint:draft:`,Nl=264,Pl=200,Fl=420,Il=170,Ll={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. 💖
|
|
24
|
-
|
|
25
|
-
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()},Rl=(0,Q.lazy)(()=>N(()=>import(`./WorkspacePanel-CbJ1PFoZ.js`),__vite__mapDeps([4,1]))),zl=(0,Q.lazy)(()=>N(()=>import(`./ToolSurfacePage-B9DzEPWN.js`),__vite__mapDeps([5,1,6,7,8,2,3,9,10,11,12,13,14]))),Bl=(0,Q.lazy)(()=>N(()=>import(`./SkillsView-rNs1qr_U.js`),__vite__mapDeps([15,1,10,6,7,8,11,12]))),Vl=(0,Q.lazy)(()=>N(()=>import(`./ScheduledTasksView-CttmLbq1.js`),__vite__mapDeps([16,1,10,6,7,8,11,12]))),Hl=(0,Q.lazy)(()=>N(()=>import(`./LinkedFoldersView-2nfZbDgN.js`),__vite__mapDeps([17,1,10,6,7,8,11]))),Ul=(0,Q.lazy)(()=>N(()=>import(`./McpServersView-slfQJzNB.js`),__vite__mapDeps([18,1,6,7,8,19,10,11]))),Wl=(0,Q.lazy)(()=>N(()=>import(`./PluginsView-l7LSm503.js`),__vite__mapDeps([20,1,10,6,7,8,11,21]))),Gl=(0,Q.lazy)(()=>N(()=>import(`./CliSessionsView-D7hw0Mgj.js`),__vite__mapDeps([22,1,10,6,7,8,11,23,24,25]))),Kl=(0,Q.lazy)(()=>N(()=>import(`./LibraryPage--Qfisp6D.js`),__vite__mapDeps([26,1,6,7,8,27]))),ql=(0,Q.lazy)(()=>N(()=>import(`./ImageStudioPanel-CdxkAf_r.js`),__vite__mapDeps([28,1,6,7,8,10,11,29,30]))),Jl=(0,Q.lazy)(()=>N(()=>import(`./VeoStudioPanel-DiJs_Cg2.js`),__vite__mapDeps([31,1,6,7,8,10,11,29,32,33]))),Yl=(0,Q.lazy)(()=>N(async()=>{let{CommandPalette:e}=await import(`./CommandPalette-0RrF-AOT.js`);return{CommandPalette:e}},__vite__mapDeps([34,1,7])).then(({CommandPalette:e})=>({default:e})))}));t((()=>{wn(),Xl()}))();export{Kc as default};
|