tarsk 0.6.87 → 0.6.89
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/README.md +63 -24
- package/dist/bundled-skills/email-me/SKILL.md +15 -0
- package/dist/bundled-skills/email-me/scripts/__tests__/email_me.test.js +64 -0
- package/dist/bundled-skills/email-me/scripts/email_me.js +45 -0
- package/dist/bundled-skills/handoff/SKILL.md +19 -0
- package/dist/bundled-skills/tarsk-agent/SKILL.md +372 -0
- package/dist/bundled-skills/tarsk-ask-user/SKILL.md +18 -0
- package/dist/bundled-skills/tarsk-ask-user/scripts/ask_user.js +101 -0
- package/dist/bundled-skills/tarsk-bash/SKILL.md +17 -0
- package/dist/bundled-skills/tarsk-bash/scripts/bash.js +248 -0
- package/dist/bundled-skills/tarsk-browser/SKILL.md +17 -0
- package/dist/bundled-skills/tarsk-browser/scripts/browser.js +252 -0
- package/dist/bundled-skills/tarsk-chat-title/SKILL.md +14 -0
- package/dist/bundled-skills/tarsk-chat-title/scripts/chat_title.js +37 -0
- package/dist/bundled-skills/tarsk-connect-mcp/SKILL.md +23 -0
- package/dist/bundled-skills/tarsk-connect-mcp/scripts/__tests__/connect_mcp.test.js +68 -0
- package/dist/bundled-skills/tarsk-connect-mcp/scripts/connect_mcp.js +119 -0
- package/dist/bundled-skills/tarsk-create-project/SKILL.md +25 -0
- package/dist/bundled-skills/tarsk-create-project/scripts/__tests__/create_project.test.js +94 -0
- package/dist/bundled-skills/tarsk-create-project/scripts/create_project.js +88 -0
- package/dist/bundled-skills/tarsk-edit/SKILL.md +18 -0
- package/dist/bundled-skills/tarsk-edit/scripts/edit.js +118 -0
- package/dist/bundled-skills/tarsk-execute-skill-script/SKILL.md +19 -0
- package/dist/bundled-skills/tarsk-execute-skill-script/scripts/execute_skill_script.js +77 -0
- package/dist/bundled-skills/tarsk-fetch/SKILL.md +18 -0
- package/dist/bundled-skills/tarsk-fetch/scripts/fetch.js +38 -0
- package/dist/bundled-skills/tarsk-find/SKILL.md +16 -0
- package/dist/bundled-skills/tarsk-find/scripts/find.js +78 -0
- package/dist/bundled-skills/tarsk-find-images/SKILL.md +18 -0
- package/dist/bundled-skills/tarsk-find-images/scripts/find_images.js +78 -0
- package/dist/bundled-skills/tarsk-generate-image/SKILL.md +18 -0
- package/dist/bundled-skills/tarsk-generate-image/scripts/generate_image.js +55 -0
- package/dist/bundled-skills/tarsk-get-observation/SKILL.md +19 -0
- package/dist/bundled-skills/tarsk-get-observation/scripts/get_observation.js +293 -0
- package/dist/bundled-skills/tarsk-grep/SKILL.md +16 -0
- package/dist/bundled-skills/tarsk-grep/scripts/grep.js +174 -0
- package/dist/bundled-skills/tarsk-history/SKILL.md +15 -0
- package/dist/bundled-skills/tarsk-history/scripts/history.js +68 -0
- package/dist/bundled-skills/tarsk-improve/SKILL.md +232 -0
- package/dist/bundled-skills/tarsk-improve/references/signals.md +16 -0
- package/dist/bundled-skills/tarsk-improve/scripts/durable-runs.ts +635 -0
- package/dist/bundled-skills/tarsk-improve/scripts/ensure-exported.ts +238 -0
- package/dist/bundled-skills/tarsk-improve/scripts/export-tool-skills-lib.ts +299 -0
- package/dist/bundled-skills/tarsk-improve/scripts/summarize-session.ts +126 -0
- package/dist/bundled-skills/tarsk-jobs/SKILL.md +18 -0
- package/dist/bundled-skills/tarsk-jobs/scripts/job_kill.js +45 -0
- package/dist/bundled-skills/tarsk-jobs/scripts/job_list.js +64 -0
- package/dist/bundled-skills/tarsk-jobs/scripts/job_output.js +66 -0
- package/dist/bundled-skills/tarsk-notes/SKILL.md +17 -0
- package/dist/bundled-skills/tarsk-notes/scripts/notes.js +86 -0
- package/dist/bundled-skills/tarsk-projects/SKILL.md +18 -0
- package/dist/bundled-skills/tarsk-projects/scripts/projects.js +54 -0
- package/dist/bundled-skills/tarsk-prompt-project/SKILL.md +18 -0
- package/dist/bundled-skills/tarsk-prompt-project/scripts/prompt_project.js +58 -0
- package/dist/bundled-skills/tarsk-propose-branch/SKILL.md +16 -0
- package/dist/bundled-skills/tarsk-propose-branch/scripts/propose_branch.js +45 -0
- package/dist/bundled-skills/tarsk-read/SKILL.md +17 -0
- package/dist/bundled-skills/tarsk-read/scripts/read.js +331 -0
- package/dist/bundled-skills/tarsk-read-skill/SKILL.md +16 -0
- package/dist/bundled-skills/tarsk-read-skill/scripts/read_skill.js +37 -0
- package/dist/bundled-skills/tarsk-read-skill-reference/SKILL.md +19 -0
- package/dist/bundled-skills/tarsk-read-skill-reference/scripts/read_skill_reference.js +60 -0
- package/dist/bundled-skills/tarsk-run-js/SKILL.md +18 -0
- package/dist/bundled-skills/tarsk-run-js/scripts/run_js.js +192 -0
- package/dist/bundled-skills/tarsk-tasks/SKILL.md +18 -0
- package/dist/bundled-skills/tarsk-tasks/scripts/tasks.js +96 -0
- package/dist/bundled-skills/tarsk-todo/SKILL.md +16 -0
- package/dist/bundled-skills/tarsk-todo/scripts/todo.js +165 -0
- package/dist/bundled-skills/tarsk-web-search/SKILL.md +15 -0
- package/dist/bundled-skills/tarsk-web-search/scripts/web_search.js +120 -0
- package/dist/bundled-skills/tarsk-write/SKILL.md +16 -0
- package/dist/bundled-skills/tarsk-write/scripts/write.js +57 -0
- package/dist/index.js +217754 -211927
- package/dist/public/assets/{alert-dialog-DVaEQlVa.js → alert-dialog-BcZULJsX.js} +1 -1
- package/dist/public/assets/api-8Rp2LlXt.js +1 -0
- package/dist/public/assets/api-Cp9I7CxD.js +2 -0
- package/dist/public/assets/{async-error-boundary-DH6Sqgmt.js → async-error-boundary-CFVUPiuG.js} +1 -1
- package/dist/public/assets/browser-tab-CPPorbL6.js +12 -0
- package/dist/public/assets/button-DDaJhJP1.js +1 -0
- package/dist/public/assets/{card-BkOGFps5.js → card-DAc45J1v.js} +1 -1
- package/dist/public/assets/chat-dock-context-DbiJNr3O.js +1 -0
- package/dist/public/assets/chat-handlers-context-DYU2LQ5V.js +9 -0
- package/dist/public/assets/commit-dialog-DPaci3dp.js +1 -0
- package/dist/public/assets/{commit-error-dialog-D3S6kRVr.js → commit-error-dialog-Dnlkgb_H.js} +1 -1
- package/dist/public/assets/{commit-method-fields-BEKfSRyW.js → commit-method-fields-Xt3vbwUg.js} +1 -1
- package/dist/public/assets/conversation-history-view-CqIugfyO.js +1 -0
- package/dist/public/assets/{create-project-dialog-nquqlloK.js → create-project-dialog-DStWPoDE.js} +2 -2
- package/dist/public/assets/{create-project-workspace-C4tXAUWJ.js → create-project-workspace-CJ94yHAB.js} +2 -2
- package/dist/public/assets/create-repo-dialog-B_QiEz-v.js +1 -0
- package/dist/public/assets/{delete-confirm-dialog-SpYpU1AX.js → delete-confirm-dialog-D1N86piR.js} +1 -1
- package/dist/public/assets/dialog-D_12AsZd.js +1 -0
- package/dist/public/assets/diff-view-4koPcOcE.js +4 -0
- package/dist/public/assets/{dist-NcyjV9Gu.js → dist-2xH_pFmV.js} +1 -1
- package/dist/public/assets/{dist-BTu7PDzc.js → dist-AbkJBHH5.js} +1 -1
- package/dist/public/assets/{dist-lFBinzor.js → dist-B-h6Wj39.js} +1 -1
- package/dist/public/assets/dist-CgbWuuq4.js +1 -0
- package/dist/public/assets/{dist-f54JuzFV.js → dist-DOz2WXwX.js} +1 -1
- package/dist/public/assets/{dist-CqrmQxmV.js → dist-DfnQ9YJh.js} +1 -1
- package/dist/public/assets/{dist-BOfRC57H.js → dist-JGbQ_EJY.js} +1 -1
- package/dist/public/assets/{dist-ButPmyjr.js → dist-pCVg1Jdl.js} +1 -1
- package/dist/public/assets/dist-v_MvKS2-.js +2 -0
- package/dist/public/assets/{es2015-CE7VcoOH.js → es2015-eNVkKfFF.js} +1 -1
- package/dist/public/assets/{explorer-file-drop-CEbBlDEp.js → explorer-file-drop-DAP7ha-E.js} +1 -1
- package/dist/public/assets/{explorer-monaco-editor-Bgo9Y1cP.js → explorer-monaco-editor-ChJZBFy5.js} +1 -1
- package/dist/public/assets/explorer-tab-view-Bt9hRZUm.js +2 -0
- package/dist/public/assets/explorer-tree-CAs89lPz.js +1 -0
- package/dist/public/assets/{explorer-view-BuTa_0Uq.js → explorer-view-B1JuejkU.js} +3 -3
- package/dist/public/assets/git-history-dialog-Dqj1p35g.js +1 -0
- package/dist/public/assets/index-CcAwxnT5.js +97 -0
- package/dist/public/assets/index-dNrgKdYv.css +1 -0
- package/dist/public/assets/{label-C31qF5zZ.js → label-BCs5CZEs.js} +1 -1
- package/dist/public/assets/markdown-renderer-DQONI6WG.js +10 -0
- package/dist/public/assets/{mcp-manager-C3K_62H2.js → mcp-manager-D2FG-h2e.js} +1 -1
- package/dist/public/assets/{minus-l6BdrAEk.js → minus-CgQcbBQT.js} +1 -1
- package/dist/public/assets/{model-list-controls-DwW8S18v.js → model-list-controls-B6ofHWh3.js} +1 -1
- package/dist/public/assets/onboarding-dialog-DAut3X4K.js +1 -0
- package/dist/public/assets/{pill-tabs-CmvvHdKG.js → pill-tabs-BAhOHad7.js} +1 -1
- package/dist/public/assets/progress-indicator-hJ74ac5W.js +1 -0
- package/dist/public/assets/project-coding-view-B2FpHeiO.js +1 -0
- package/dist/public/assets/{project-danger-zone-view-D18k4pUF.js → project-danger-zone-view-BqP1dcRT.js} +1 -1
- package/dist/public/assets/{project-env-vars-view-BWFqoaFD.js → project-env-vars-view-zhigkQFG.js} +1 -1
- package/dist/public/assets/project-model-aliases-view-APAVFfym.js +1 -0
- package/dist/public/assets/project-settings-view-FnK-LRsv.js +1 -0
- package/dist/public/assets/project-tools-view-Dmp5ViRC.js +1 -0
- package/dist/public/assets/providers-list-view-Clbp73Hh.js +1 -0
- package/dist/public/assets/pull-request-dialog-D40BQPMk.js +1 -0
- package/dist/public/assets/pull-with-changes-dialog-pkXK-VP2.js +1 -0
- package/dist/public/assets/push-before-pr-dialog-DH91JHEC.js +1 -0
- package/dist/public/assets/query-keys-CcnonAAG.js +1 -0
- package/dist/public/assets/remote-media-url-C-GdJb-D.js +1 -0
- package/dist/public/assets/{scroll-area-BWc4OPsj.js → scroll-area-DGF9wUqQ.js} +1 -1
- package/dist/public/assets/{select-B6RizwDW.js → select-DMcNYwgt.js} +1 -1
- package/dist/public/assets/settings-general-tabs-view-DBZQbihJ.js +2 -0
- package/dist/public/assets/settings-general-view-0dhBET2R.js +1 -0
- package/dist/public/assets/{settings-list-D35rpAof.js → settings-list-Co3JPr9w.js} +1 -1
- package/dist/public/assets/settings-logs-view-DvHXUDko.js +5 -0
- package/dist/public/assets/settings-mcp-servers-view-414Dt5py.js +5 -0
- package/dist/public/assets/settings-models-view-ByeR7Enb.js +1 -0
- package/dist/public/assets/settings-plugins-view-8te2MPyh.js +2 -0
- package/dist/public/assets/settings-providers-view-BAuv9gam.js +2 -0
- package/dist/public/assets/settings-remote-machines-view-CHyywazU.js +1 -0
- package/dist/public/assets/settings-setup-view-Btp46Vh_.js +2 -0
- package/dist/public/assets/settings-skills-view-BNVx4bZl.js +2 -0
- package/dist/public/assets/{settings-slack-view-DkclyaBc.js → settings-slack-view-Caly5yGt.js} +1 -1
- package/dist/public/assets/settings-slash-commands-view-m6mp1knu.js +1 -0
- package/dist/public/assets/{settings-statistics-view-B03ZZjEy.js → settings-statistics-view-BnOxr4sZ.js} +1 -1
- package/dist/public/assets/settings-storage-view-Dg8xfpTG.js +1 -0
- package/dist/public/assets/settings-subagents-view-CucwEk2A.js +2 -0
- package/dist/public/assets/settings-system-prompt-view-CEDU2saT.js +1 -0
- package/dist/public/assets/{settings-tab-bar-ajzyt79U.js → settings-tab-bar-CdIbQ0WI.js} +1 -1
- package/dist/public/assets/settings-view-XcJhRclT.js +2 -0
- package/dist/public/assets/{slug-utils-D2jhPz-o.js → slug-utils-CO6nui1C.js} +1 -1
- package/dist/public/assets/square-CtxvwmM2.js +1 -0
- package/dist/public/assets/store-W78TGOIO.js +8 -0
- package/dist/public/assets/{table-C3Hc0Gwy.js → table-CQMqIW_-.js} +1 -1
- package/dist/public/assets/task-utils-Cnq9Eszt.js +1 -0
- package/dist/public/assets/tasks-view-B8_jkq_a.js +1 -0
- package/dist/public/assets/{terminal-panel-DCKqScJu.js → terminal-panel-xoLVfA-h.js} +2 -2
- package/dist/public/assets/{toggle-group-DqSxGqvP.js → toggle-group-CPmseZfb.js} +1 -1
- package/dist/public/assets/{tooltip-CJKJfu0l.js → tooltip-CqwCZ7wt.js} +1 -1
- package/dist/public/assets/{use-account-settings-query-AUeOqKvo.js → use-account-settings-query-D_qL1I4w.js} +1 -1
- package/dist/public/assets/{use-active-dock-panel-instance-BvAhUd_V.js → use-active-dock-panel-instance-kmJOnmL7.js} +1 -1
- package/dist/public/assets/use-browser-overlay-block-CO1pUEAZ.js +1 -0
- package/dist/public/assets/{use-git-check-B_5Jak2s.js → use-git-check-BD9gdXpK.js} +1 -1
- package/dist/public/assets/{use-installed-ai-files-iy_AB0dN.js → use-installed-ai-files-Nn-sN_V2.js} +1 -1
- package/dist/public/assets/use-open-chat-dock-panel-CXzpgxVs.js +1 -0
- package/dist/public/assets/{use-projects-BmhAMgxB.js → use-projects-B0xTjTaA.js} +2 -2
- package/dist/public/assets/utils-CqsIXqSC.js +1 -0
- package/dist/public/assets/web-BNWoiS4w.js +1 -0
- package/dist/public/assets/web-C1tBQoCB.js +1 -0
- package/dist/public/assets/web-Dlo3GwCf.js +1 -0
- package/dist/public/assets/web-cJXG33sT.js +1 -0
- package/dist/public/fonts/schibsted-grotesk-latin-ext-wght-normal.woff2 +0 -0
- package/dist/public/fonts/schibsted-grotesk-latin-wght-normal.woff2 +0 -0
- package/dist/public/index.html +46 -46
- package/package.json +9 -9
- package/dist/public/assets/account-view-5q3pHEHY.js +0 -1
- package/dist/public/assets/ai-spinner-DHwhlk4j.js +0 -1
- package/dist/public/assets/api-BdebJfuN.js +0 -1
- package/dist/public/assets/api-COO2LfdU.js +0 -2
- package/dist/public/assets/browser-overlay-block-CiDtkfup.js +0 -1
- package/dist/public/assets/browser-tab-CVdYLmW5.js +0 -12
- package/dist/public/assets/button-Dp5XDZNR.js +0 -1
- package/dist/public/assets/chat-dock-context-ymLoO90X.js +0 -1
- package/dist/public/assets/checkbox-D-BV8-Z_.js +0 -1
- package/dist/public/assets/commit-dialog-CEbCFh1x.js +0 -1
- package/dist/public/assets/conversation-history-view-CVMD8hUU.js +0 -1
- package/dist/public/assets/create-repo-dialog-B5IE3pUJ.js +0 -1
- package/dist/public/assets/dialog-pHPeIGaB.js +0 -1
- package/dist/public/assets/diff-view-Cy6nPdX-.js +0 -4
- package/dist/public/assets/dist-D5vgS4RP.js +0 -2
- package/dist/public/assets/explorer-tab-view-C-8QZO9S.js +0 -2
- package/dist/public/assets/explorer-tree-HrLSFgcI.js +0 -1
- package/dist/public/assets/git-history-dialog-ClfF5IOn.js +0 -1
- package/dist/public/assets/index-BBLA5zVt.css +0 -1
- package/dist/public/assets/index-CalVAwXj.js +0 -104
- package/dist/public/assets/markdown-renderer-DXRBG7uP.js +0 -10
- package/dist/public/assets/onboarding-dialog-BtLy0wjC.js +0 -1
- package/dist/public/assets/progress-indicator-4zQXqOqP.js +0 -1
- package/dist/public/assets/project-coding-view-CyJwnJes.js +0 -1
- package/dist/public/assets/project-model-aliases-view-D3tYNkkM.js +0 -1
- package/dist/public/assets/project-settings-view-0oN9vFvD.js +0 -1
- package/dist/public/assets/project-tools-view-DT87KPjE.js +0 -1
- package/dist/public/assets/providers-list-view-DCnh0W-5.js +0 -1
- package/dist/public/assets/pull-request-dialog-BdJxYQwu.js +0 -1
- package/dist/public/assets/pull-with-changes-dialog-Do9x9neW.js +0 -1
- package/dist/public/assets/push-before-pr-dialog-C-9z2O0-.js +0 -1
- package/dist/public/assets/query-keys-BwswkbMn.js +0 -1
- package/dist/public/assets/remote-media-url-B8OFqxOM.js +0 -1
- package/dist/public/assets/settings-general-tabs-view-Dcek-ysB.js +0 -2
- package/dist/public/assets/settings-general-view-DhA2N6G5.js +0 -1
- package/dist/public/assets/settings-logs-view-eEUTIMeb.js +0 -5
- package/dist/public/assets/settings-mcp-servers-view-_oeuVkUe.js +0 -5
- package/dist/public/assets/settings-models-view-DW-ZmVup.js +0 -1
- package/dist/public/assets/settings-plugins-view-DTooco_c.js +0 -2
- package/dist/public/assets/settings-providers-view-CEeJkhg9.js +0 -2
- package/dist/public/assets/settings-remote-machines-view--UB8GlCK.js +0 -1
- package/dist/public/assets/settings-setup-view-DFL6DlYS.js +0 -2
- package/dist/public/assets/settings-skills-view-xS569-Kb.js +0 -2
- package/dist/public/assets/settings-slash-commands-view-DrCiayfq.js +0 -1
- package/dist/public/assets/settings-storage-view-CQnaVOt_.js +0 -1
- package/dist/public/assets/settings-subagents-view-DIctUJcE.js +0 -2
- package/dist/public/assets/settings-system-prompt-view-BMDbrFRR.js +0 -1
- package/dist/public/assets/settings-view-8M6sbGiX.js +0 -2
- package/dist/public/assets/store-CxUwqrZ5.js +0 -8
- package/dist/public/assets/task-utils-WAei2PDi.js +0 -1
- package/dist/public/assets/tasks-view-DKyqgGdE.js +0 -1
- package/dist/public/assets/use-browser-overlay-block-z9imTmiZ.js +0 -1
- package/dist/public/assets/use-open-chat-dock-panel-w3hc5Vxn.js +0 -1
- package/dist/public/assets/utils-mYB1USG6.js +0 -1
- package/dist/public/assets/web-C6Gm4nQ0.js +0 -1
- package/dist/public/assets/web-DFlyNg8o.js +0 -1
- package/dist/public/assets/web-DlEPs8Xe.js +0 -1
- package/dist/public/assets/web-Gx3xReQH.js +0 -1
- package/dist/public/backgrounds/arctic-tundra.avif +0 -0
- package/dist/public/backgrounds/autumn-leaves.avif +0 -0
- package/dist/public/backgrounds/coastal-cliff.avif +0 -0
- package/dist/public/backgrounds/floating-waterfall.avif +0 -0
- package/dist/public/backgrounds/forest-path.avif +0 -0
- package/dist/public/backgrounds/garden-path.avif +0 -0
- package/dist/public/backgrounds/glow-marsh.avif +0 -0
- package/dist/public/backgrounds/golden-wheat.avif +0 -0
- package/dist/public/backgrounds/moon-desert.avif +0 -0
- package/dist/public/backgrounds/night-pond.avif +0 -0
- package/dist/public/backgrounds/prairie-grassland.avif +0 -0
- package/dist/public/backgrounds/river-winding.avif +0 -0
- package/dist/public/backgrounds/salt-flat.avif +0 -0
- package/dist/public/backgrounds/salt-marsh.avif +0 -0
- package/dist/public/backgrounds/sandy-beach.avif +0 -0
- package/dist/public/backgrounds/snow-river.avif +0 -0
- package/dist/public/backgrounds/sunset-pond.avif +0 -0
- package/dist/public/fonts/plus-jakarta-sans-cyrillic-ext-wght-normal.woff2 +0 -0
- package/dist/public/fonts/plus-jakarta-sans-latin-ext-wght-normal.woff2 +0 -0
- package/dist/public/fonts/plus-jakarta-sans-latin-wght-normal.woff2 +0 -0
- package/dist/public/fonts/plus-jakarta-sans-vietnamese-wght-normal.woff2 +0 -0
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dist-CsyB0UlE.js","assets/rolldown-runtime-Dd_uD5pT.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{a as t,n,o as r,r as i,t as a}from"./react-vendor-D61Uve5n.js";import{t as o}from"./useQuery-DWt09r77.js";import{V as s,b as c}from"./dist-D5vgS4RP.js";import{Ca as l,Jt as u,On as d,Sa as f,an as p,gi as m,ri as h,ui as g,v as _,wa as v}from"./api-COO2LfdU.js";import{i as y}from"./explorer-media-CRzhs0NW.js";import{t as b}from"./utils-mYB1USG6.js";import{t as x}from"./check-skFQ1X72.js";import{t as S}from"./copy-bi9iX3xn.js";import{t as C}from"./download-CWhQNGlF.js";import{a as w,i as T,n as E,r as D,t as O}from"./minus-l6BdrAEk.js";import{t as k}from"./play-Dn1mbRpD.js";import{t as A}from"./plus-DoMzejDu.js";import{t as j}from"./rotate-ccw-Dthg8Pv6.js";import{t as M}from"./x-ByOPrz5I.js";import{t as N}from"./button-Dp5XDZNR.js";import{i as P,n as F,r as ee,t as I}from"./tooltip-CJKJfu0l.js";import{i as L,n as R,r as z,s as te,t as ne}from"./dialog-pHPeIGaB.js";import{t as B}from"./query-keys-BwswkbMn.js";import{n as V}from"./explorer-tab-context-BwR8CM8l.js";import{t as H}from"./use-open-chat-dock-panel-w3hc5Vxn.js";import{t as U}from"./use-toast-CKgZ8YeP.js";import{n as W,r as G,t as K}from"./remote-media-url-B8OFqxOM.js";function re(e){return typeof e==`string`&&e.startsWith(`data:image`)}function ie(e){let t=e.indexOf(`,`);return t===-1?{imageUrl:e}:{imageUrl:e,imageData:e.slice(t+1)}}function ae(e){let t=typeof e.imageUrl==`string`?e.imageUrl:void 0,n=typeof e.imageData==`string`?e.imageData:void 0;return!t&&!n?null:t&&re(t)&&!n?ie(t):{imageUrl:t,imageData:n}}function oe(e){if(typeof e==`string`)return[e];if(!Array.isArray(e))return[];let t=[];for(let n of e)typeof n==`object`&&n&&`text`in n&&typeof n.text==`string`&&t.push(n.text);return t}function se(e){for(let t of e){let e=t.trim();if(!e.startsWith(`{`)){if(re(e))return ie(e);continue}try{let t=q(JSON.parse(e));if(t)return t}catch{}}return null}function q(e){if(e==null)return null;if(typeof e==`object`&&!Array.isArray(e)){let t=ae(e);if(t)return t}let t=oe(e);return t.length>0?se(t):null}function ce(e){let t={...e};return delete t.imageData,delete t.image_data,typeof t.imageUrl==`string`&&re(t.imageUrl)&&delete t.imageUrl,t}var J=`tarsk://`,le=`https://tarsk.io`,ue=`/redirect`,de=`tarsk.invalid`,Y=`/chat`;function fe(e){let t=new URLSearchParams;e.projectId&&t.set(`project`,e.projectId),e.threadId&&t.set(`thread`,e.threadId),e.conversationId&&t.set(`conversation`,e.conversationId);let n=t.toString();return`${J}chat${n?`?${n}`:``}`}function X(e){if(!e.startsWith(J))return null;let t=e.slice(8);try{let e=new URL(`https://${de}/${t}`);return e.pathname.replace(/\/+$/,``)===Y?{projectId:e.searchParams.get(`project`)??void 0,threadId:e.searchParams.get(`thread`)??void 0,conversationId:e.searchParams.get(`conversation`)??void 0}:null}catch{return null}}function pe(e){let t=e.trim(),n=X(t);if(n)return n;try{let e=new URL(t);if(e.origin!==le||e.pathname!==ue)return null;let n=e.searchParams.get(`url`);return n?X(n):null}catch{return null}}var Z=n(),Q=e(r(),1);function me(e,t,n){let r=(0,Z.c)(11),[i,a]=(0,Q.useState)(e),o=(0,Q.useRef)(-1/0),s=(0,Q.useRef)(null),c=(0,Q.useRef)(e),l;r[0]!==i||r[1]!==n||r[2]!==e?(l=n!==void 0&&n(e,i),r[0]=i,r[1]=n,r[2]=e,r[3]=l):l=r[3];let u=l,d;r[4]!==i||r[5]!==t||r[6]!==u||r[7]!==e?(d=()=>{if(c.current=e,Object.is(e,i))return;let n=function(){s.current&&=(clearTimeout(s.current),null),o.current=Date.now(),a(c.current)},r=Date.now()-o.current;if(u||r>=t){n();return}s.current||=setTimeout(n,t-r)},r[4]=i,r[5]=t,r[6]=u,r[7]=e,r[8]=d):d=r[8],(0,Q.useEffect)(d);let f,p;return r[9]===Symbol.for(`react.memo_cache_sentinel`)?(f=()=>()=>{s.current&&=(clearTimeout(s.current),null)},p=[],r[9]=f,r[10]=p):(f=r[9],p=r[10]),(0,Q.useEffect)(f,p),u?e:i}var he=e(t(),1),ge=.1,_e=10,ve=1.25,ye=.001;function be(){let e=(0,Z.c)(15),[t,n]=(0,Q.useState)(1),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={x:0,y:0},e[0]=r):r=e[0];let[i,a]=(0,Q.useState)(r),[o,s]=(0,Q.useState)(!1),c=(0,Q.useRef)(null),l=xe,u;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>n(e=>l(e*ve)),e[1]=u):u=e[1];let d=u,f;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=()=>n(e=>l(e/ve)),e[2]=f):f=e[2];let p=f,m;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(m=()=>{n(1),a({x:0,y:0})},e[3]=m):m=e[3];let h=m,g;e[4]===i?g=e[5]:(g=e=>{e.preventDefault(),s(!0),c.current={x:e.clientX,y:e.clientY,ox:i.x,oy:i.y}},e[4]=i,e[5]=g);let _=g,v;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(v=e=>{c.current&&a({x:c.current.ox+(e.clientX-c.current.x),y:c.current.oy+(e.clientY-c.current.y)})},e[6]=v):v=e[6];let y=v,b;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(b=()=>{s(!1),c.current=null},e[7]=b):b=e[7];let x=b,S=(0,Q.useRef)(null),C,w;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(C=()=>{let e=S.current;if(!e)return;let t=function(e){e.preventDefault();let t=-e.deltaY*ye;n(e=>l(e*(1+t)))};return e.addEventListener(`wheel`,t,{passive:!1}),()=>e.removeEventListener(`wheel`,t)},w=[],e[8]=C,e[9]=w):(C=e[8],w=e[9]),(0,Q.useEffect)(C,w);let T;return e[10]!==o||e[11]!==i||e[12]!==_||e[13]!==t?(T={scale:t,offset:i,isDragging:o,containerRef:S,zoomIn:d,zoomOut:p,reset:h,onMouseDown:_,onMouseMove:y,onMouseUp:x},e[10]=o,e[11]=i,e[12]=_,e[13]=t,e[14]=T):T=e[14],T}function xe(e){return Math.min(Math.max(e,ge),_e)}var $=a(),Se=c(`app.mermaid-renderer.ui`);function Ce(){let e=(0,Z.c)(2),[t,n]=(0,Q.useState)(!1),r,i;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{let e=function(){n(document.documentElement.classList.contains(`dark`))};e();let t=new MutationObserver(e);return t.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]}),()=>t.disconnect()},i=[],e[0]=r,e[1]=i):(r=e[0],i=e[1]),(0,Q.useEffect)(r,i),t}var we=null;function Te(){return we||=i(()=>import(`./dist-CsyB0UlE.js`),__vite__mapDeps([0,1])),we}function Ee(e,t){let[n,r]=(0,Q.useState)(null),[i,a]=(0,Q.useState)(null);return(0,Q.useEffect)(()=>{let n=!1,i=setTimeout(()=>{let i=n=>{try{let i=n(e,{bg:t?`#18181B`:`#FFFFFF`,fg:t?`#FAFAFA`:`#27272A`,transparent:!1,padding:32});if(typeof i!=`string`||i.length===0)throw Error(`Mermaid renderer returned no SVG`);r(i),a(null)}catch(e){Se.error(`Mermaid render error:`,e),r(null),a(e instanceof Error?e.message:String(e))}};Te().then(e=>{n||i(e.renderMermaidSVG)},e=>{n||(Se.error(`Mermaid renderer failed to load:`,e),a(e instanceof Error?e.message:String(e)))})},200);return()=>{n=!0,clearTimeout(i)}},[e,t]),{svgOutput:n,errorMessage:i}}function De(e){let t=(0,Z.c)(70),{svgOutput:n,onClose:r}=e,{scale:i,offset:a,isDragging:o,containerRef:c,zoomIn:l,zoomOut:u,reset:d,onMouseDown:f,onMouseMove:p,onMouseUp:m}=be(),h,g;t[0]===r?(h=t[1],g=t[2]):(h=()=>{let e=function(e){e.key===`Escape`&&r()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},g=[r],t[0]=r,t[1]=h,t[2]=g),(0,Q.useEffect)(h,g);let _;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(_=[],t[3]=_):_=t[3],(0,Q.useEffect)(Oe,_);let v;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(`span`,{className:b(s.compact,`font-mono text-muted-foreground`),children:`mermaid diagram`}),t[4]=v):v=t[4];let y,x;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,$.jsx)(O,{className:`h-3.5 w-3.5`}),x=(0,$.jsx)(`span`,{className:`sr-only`,children:`Zoom out`}),t[5]=y,t[6]=x):(y=t[5],x=t[6]);let S;t[7]===u?S=t[8]:(S=(0,$.jsx)(P,{asChild:!0,children:(0,$.jsxs)(N,{variant:`ghost`,size:`icon-xs`,onClick:u,children:[y,x]})}),t[7]=u,t[8]=S);let C;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(F,{children:`Zoom out`}),t[9]=C):C=t[9];let w;t[10]===S?w=t[11]:(w=(0,$.jsxs)(I,{children:[S,C]}),t[10]=S,t[11]=w);let T;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(T=b(s.compact,`min-w-[3rem] px-2 py-1 font-mono text-muted-foreground hover:text-foreground hover:bg-muted rounded transition-colors`),t[12]=T):T=t[12];let E;t[13]===i?E=t[14]:(E=Math.round(i*100),t[13]=i,t[14]=E);let D;t[15]!==d||t[16]!==E?(D=(0,$.jsx)(P,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,onClick:d,className:T,children:[E,`%`]})}),t[15]=d,t[16]=E,t[17]=D):D=t[17];let k;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,$.jsx)(F,{children:`Reset zoom`}),t[18]=k):k=t[18];let L;t[19]===D?L=t[20]:(L=(0,$.jsxs)(I,{children:[D,k]}),t[19]=D,t[20]=L);let R,z;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(A,{className:`h-3.5 w-3.5`}),z=(0,$.jsx)(`span`,{className:`sr-only`,children:`Zoom in`}),t[21]=R,t[22]=z):(R=t[21],z=t[22]);let te;t[23]===l?te=t[24]:(te=(0,$.jsx)(P,{asChild:!0,children:(0,$.jsxs)(N,{variant:`ghost`,size:`icon-xs`,onClick:l,children:[R,z]})}),t[23]=l,t[24]=te);let ne;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(ne=(0,$.jsx)(F,{children:`Zoom in`}),t[25]=ne):ne=t[25];let B;t[26]===te?B=t[27]:(B=(0,$.jsxs)(I,{children:[te,ne]}),t[26]=te,t[27]=B);let V,H;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,$.jsx)(j,{className:`h-3.5 w-3.5`}),H=(0,$.jsx)(`span`,{className:`sr-only`,children:`Reset view`}),t[28]=V,t[29]=H):(V=t[28],H=t[29]);let U;t[30]===d?U=t[31]:(U=(0,$.jsx)(P,{asChild:!0,children:(0,$.jsxs)(N,{variant:`ghost`,size:`icon-xs`,onClick:d,children:[V,H]})}),t[30]=d,t[31]=U);let W;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,$.jsx)(F,{children:`Reset view`}),t[32]=W):W=t[32];let G;t[33]===U?G=t[34]:(G=(0,$.jsxs)(I,{children:[U,W]}),t[33]=U,t[34]=G);let K;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(K=(0,$.jsx)(`div`,{className:`w-px h-4 bg-border mx-1`}),t[35]=K):K=t[35];let re,ie;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(re=(0,$.jsx)(M,{className:`h-3.5 w-3.5`}),ie=(0,$.jsx)(`span`,{className:`sr-only`,children:`Close`}),t[36]=re,t[37]=ie):(re=t[36],ie=t[37]);let ae;t[38]===r?ae=t[39]:(ae=(0,$.jsx)(P,{asChild:!0,children:(0,$.jsxs)(N,{variant:`ghost`,size:`icon-xs`,onClick:r,children:[re,ie]})}),t[38]=r,t[39]=ae);let oe;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(oe=(0,$.jsx)(F,{children:`Close (Esc)`}),t[40]=oe):oe=t[40];let se;t[41]===ae?se=t[42]:(se=(0,$.jsxs)(I,{children:[ae,oe]}),t[41]=ae,t[42]=se);let q;t[43]!==L||t[44]!==B||t[45]!==G||t[46]!==se||t[47]!==w?(q=(0,$.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-3 bg-background/90 border-b border-border shrink-0`,children:[v,(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[w,L,B,G,K,se]})]}),t[43]=L,t[44]=B,t[45]=G,t[46]=se,t[47]=w,t[48]=q):q=t[48];let ce=o?`cursor-grabbing`:`cursor-grab`,J;t[49]===ce?J=t[50]:(J=b(`flex-1 overflow-hidden select-none`,ce),t[49]=ce,t[50]=J);let le=`translate(${a.x}px, ${a.y}px) scale(${i})`,ue=o?`none`:`transform 0.1s ease-out`,de;t[51]!==le||t[52]!==ue?(de={transform:le,transformOrigin:`center center`,transition:ue},t[51]=le,t[52]=ue,t[53]=de):de=t[53];let Y;t[54]===n?Y=t[55]:(Y={__html:n},t[54]=n,t[55]=Y);let fe;t[56]!==de||t[57]!==Y?(fe=(0,$.jsx)(`div`,{className:`w-full h-full flex items-center justify-center`,style:de,dangerouslySetInnerHTML:Y}),t[56]=de,t[57]=Y,t[58]=fe):fe=t[58];let X;t[59]!==c||t[60]!==f||t[61]!==p||t[62]!==m||t[63]!==J||t[64]!==fe?(X=(0,$.jsx)(`div`,{ref:c,className:J,onMouseDown:f,onMouseMove:p,onMouseUp:m,onMouseLeave:m,children:fe}),t[59]=c,t[60]=f,t[61]=p,t[62]=m,t[63]=J,t[64]=fe,t[65]=X):X=t[65];let pe;t[66]===Symbol.for(`react.memo_cache_sentinel`)?(pe=(0,$.jsx)(`div`,{className:b(s.compact,`shrink-0 px-4 py-2 text-center text-muted-foreground/60 bg-background/60 border-t border-border`),children:`Scroll to zoom · Drag to pan · Esc to close`}),t[66]=pe):pe=t[66];let me;return t[67]!==q||t[68]!==X?(me=(0,he.createPortal)((0,$.jsx)(ee,{children:(0,$.jsxs)(`div`,{className:`fixed inset-0 z-50 flex flex-col bg-black/85 backdrop-blur-sm`,role:`dialog`,"aria-modal":`true`,"aria-label":`Diagram fullscreen view`,children:[q,X,pe]})}),document.body),t[67]=q,t[68]=X,t[69]=me):me=t[69],me}function Oe(){return document.body.style.overflow=`hidden`,ke}function ke(){document.body.style.overflow=``}function Ae(e){let t=(0,Z.c)(57),{content:n,className:r}=e,[i,a]=(0,Q.useState)(!1),[o,c]=(0,Q.useState)(!1),{svgOutput:l,errorMessage:u}=Ee(n,Ce()),d=u!==null,f;t[0]===n?f=t[1]:(f=async function(){await navigator.clipboard.writeText(n),a(!0),setTimeout(()=>a(!1),2e3)},t[0]=n,t[1]=f);let p=f,m;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(m=b(s.compact,`font-mono text-muted-foreground`),t[2]=m):m=t[2];let h=d?`mermaid (render error)`:`mermaid diagram`,g;t[3]===h?g=t[4]:(g=(0,$.jsx)(`span`,{className:m,children:h}),t[3]=h,t[4]=g);let _;t[5]!==d||t[6]!==l?(_=l&&!d&&(0,$.jsxs)(I,{children:[(0,$.jsx)(P,{asChild:!0,children:(0,$.jsxs)(N,{variant:`action`,size:`icon-xs`,onClick:()=>c(!0),children:[(0,$.jsx)(D,{}),(0,$.jsx)(`span`,{className:`sr-only`,children:`View fullscreen`})]})}),(0,$.jsx)(F,{children:`View fullscreen`})]}),t[5]=d,t[6]=l,t[7]=_):_=t[7];let v;t[8]===i?v=t[9]:(v=i?(0,$.jsx)(x,{}):(0,$.jsx)(S,{}),t[8]=i,t[9]=v);let y;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,$.jsx)(`span`,{className:`sr-only`,children:`Copy mermaid code`}),t[10]=y):y=t[10];let C;t[11]!==p||t[12]!==v?(C=(0,$.jsxs)(N,{variant:`action`,size:`icon-xs`,onClick:p,children:[v,y]}),t[11]=p,t[12]=v,t[13]=C):C=t[13];let w;t[14]!==_||t[15]!==C?(w=(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[_,C]}),t[14]=_,t[15]=C,t[16]=w):w=t[16];let T;t[17]!==g||t[18]!==w?(T=(0,$.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border bg-muted/80 px-4 py-2`,children:[g,w]}),t[17]=g,t[18]=w,t[19]=T):T=t[19];let E=T;if(d){let e;t[20]===r?e=t[21]:(e=b(`group relative overflow-hidden rounded-lg border border-border bg-muted`,r),t[20]=r,t[21]=e);let i;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(i=b(s.compact,`border-b border-border bg-background/50 px-4 py-2 text-destructive`),t[22]=i):i=t[22];let a;t[23]===u?a=t[24]:(a=(0,$.jsx)(`div`,{className:i,role:`alert`,children:u}),t[23]=u,t[24]=a);let o;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(o=b(s.compact,`font-mono text-foreground leading-relaxed`),t[25]=o):o=t[25];let c;t[26]===n?c=t[27]:(c=(0,$.jsx)(`pre`,{className:`overflow-x-auto p-4 max-w-full`,children:(0,$.jsx)(`code`,{className:o,children:n})}),t[26]=n,t[27]=c);let l;return t[28]!==E||t[29]!==e||t[30]!==a||t[31]!==c?(l=(0,$.jsxs)(`div`,{className:e,children:[E,a,c]}),t[28]=E,t[29]=e,t[30]=a,t[31]=c,t[32]=l):l=t[32],l}if(!l){let e;t[33]===r?e=t[34]:(e=b(`group relative overflow-hidden rounded-lg border border-border bg-muted`,r),t[33]=r,t[34]=e);let n;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(`div`,{className:b(s.compact,`p-4 text-muted-foreground`),children:`Rendering diagram…`}),t[35]=n):n=t[35];let i;return t[36]!==E||t[37]!==e?(i=(0,$.jsxs)(`div`,{className:e,children:[E,n]}),t[36]=E,t[37]=e,t[38]=i):i=t[38],i}let O;t[39]===r?O=t[40]:(O=b(`group relative overflow-hidden rounded-lg border border-border bg-muted`,r),t[39]=r,t[40]=O);let k;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(k=()=>c(!0),t[41]=k):k=t[41];let A;t[42]===l?A=t[43]:(A=(0,$.jsx)(P,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:`block w-full text-left cursor-zoom-in p-4 max-w-full overflow-hidden [&_svg]:max-w-full [&_svg]:h-auto hover:bg-muted/70 transition-colors`,onClick:k,dangerouslySetInnerHTML:{__html:l}})}),t[42]=l,t[43]=A);let j;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,$.jsx)(F,{children:`Click to view fullscreen`}),t[44]=j):j=t[44];let M;t[45]===A?M=t[46]:(M=(0,$.jsxs)(I,{children:[A,j]}),t[45]=A,t[46]=M);let L;t[47]!==E||t[48]!==O||t[49]!==M?(L=(0,$.jsxs)(`div`,{className:O,children:[E,M]}),t[47]=E,t[48]=O,t[49]=M,t[50]=L):L=t[50];let R;t[51]!==o||t[52]!==l?(R=o&&(0,$.jsx)(De,{svgOutput:l,onClose:()=>c(!1)}),t[51]=o,t[52]=l,t[53]=R):R=t[53];let z;return t[54]!==L||t[55]!==R?(z=(0,$.jsxs)(ee,{children:[L,R]}),t[54]=L,t[55]=R,t[56]=z):z=t[56],z}var je=`tarsk:open-url`;function Me(e){window.dispatchEvent(new CustomEvent(je,{detail:{url:e}}))}function Ne(e){function t(t){let n=t.detail?.url;typeof n==`string`&&n.length>0&&e(n)}return window.addEventListener(je,t),function(){window.removeEventListener(je,t)}}function Pe(e){let t=e.trim();if(t.startsWith(`/`)){let e=h().replace(/\/$/,``);return v(`${e}${t}`,e)}return v(t,h())}function Fe(e){let t=e.trim();if(t.startsWith(`/api/`))return!0;if(!/^https?:\/\//i.test(t))return!1;try{let e=new URL(t);if(l(e.hostname))return!0;let n=new URL(h());return e.origin===n.origin&&e.pathname.startsWith(`/api/`)}catch{return!1}}function Ie(e){let t=e.trim();return!t||t.startsWith(`mailto:`)||t.startsWith(`tel:`)?!1:g()?/^https?:\/\//i.test(t)||t.startsWith(`/api/`):Fe(t)}function Le(e){let t=Pe(e);return m()&&!g()?(window.open(t,`_blank`,`noopener,noreferrer`),Promise.resolve()):p(t)}function Re(e){return!!(l(e.hostname)||typeof window<`u`&&e.origin===window.location.origin)}function ze(e){return decodeURIComponent(e.replace(/^\/+/,``))}function Be(e){let t=e.trim();if(!t||t.includes(`
|
|
3
|
-
`))return null;let n=W(t),r=y(n?.searchParams.get(`path`)??t);if(!r)return null;let i=t.toLowerCase();return i.startsWith(`http://`)||i.startsWith(`https://`)||i.startsWith(`/`)||i.includes(`/explorer/media`)||t.includes(`/`)||t.includes(`\\`)?{kind:r,src:t}:null}function Ve(e,t){let n=e.trim();if(!n||n.startsWith(`data:`)||n.includes(`/explorer/media`))return null;let r;if(/^https?:\/\//i.test(n)){let e;try{e=new URL(n)}catch{return null}if(!Re(e))return null;r=ze(e.pathname)}else r=ze(n);let i=y(r);return!i||t&&i!==t?null:{path:r,kind:i}}function He(e,t){return Pe(`/api/threads/${encodeURIComponent(e)}/explorer/media?path=${encodeURIComponent(t)}`)}function Ue(e){if(!e.startsWith(`/`))return!1;let t=e.split(`/`)[1]??``;return[`Users`,`tmp`,`var`,`private`,`Volumes`,`home`].includes(t)}function We(e,t){if(!e||e.startsWith(`data:`))return e;if(t){let n=K(t),r=n&&G(e,n);if(r)return Pe(r);if(Ue(e)&&y(e))return He(t,e);let i=Ve(e);if(i)return He(t,i.path)}return e.startsWith(`/`)?Pe(e):v(e,h())}function Ge(e,t){return We(e,t)}function Ke(e){let t=(0,Z.c)(7),n=e===void 0?2e3:e,[r,i]=(0,Q.useState)(!1),a,o;t[0]!==r||t[1]!==n?(a=()=>{if(!r)return;let e=setTimeout(()=>i(!1),n);return()=>clearTimeout(e)},o=[r,n],t[0]=r,t[1]=n,t[2]=a,t[3]=o):(a=t[2],o=t[3]),(0,Q.useEffect)(a,o);let s;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=function(){i(!0)},t[4]=s):s=t[4];let c=s,l;return t[5]===r?l=t[6]:(l={copied:r,markCopied:c},t[5]=r,t[6]=l),l}var qe=`flex items-center justify-center h-7 w-7 rounded-md bg-background/80 backdrop-blur-sm border border-border text-foreground hover:bg-background transition-colors`;function Je(e){return e.startsWith(`data:`)?{imageData:e.replace(/^data:[^;]+;base64,/,``)}:{imageUrl:e}}function Ye(e){let t=(0,Z.c)(36),{src:n,alt:r,className:i,imgClassName:a}=e,o=r===void 0?`Generated image`:r,{copied:s,markCopied:c}=Ke(),l;t[0]===n?l=t[1]:(l=async function(){let e=f(n)??`generated-image-${Date.now()}.png`,{path:t}=await d({...Je(n),filename:e});U({title:`Saved to downloads: ${t.split(`/`).pop()}`})},t[0]=n,t[1]=l);let u=l,p;t[2]!==c||t[3]!==n?(p=async function(){await _(Je(n)),c()},t[2]=c,t[3]=n,t[4]=p):p=t[4];let m=p,h;t[5]===i?h=t[6]:(h=b(`relative group/img inline-block max-w-full`,i),t[5]=i,t[6]=h);let g;t[7]===a?g=t[8]:(g=b(`max-w-full rounded-lg block max-h-[512px]`,a),t[7]=a,t[8]=g);let v;t[9]!==o||t[10]!==n||t[11]!==g?(v=(0,$.jsx)(`img`,{src:n,alt:o,className:g}),t[9]=o,t[10]=n,t[11]=g,t[12]=v):v=t[12];let y;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,$.jsx)(C,{className:`h-3.5 w-3.5`}),t[13]=y):y=t[13];let w;t[14]===u?w=t[15]:(w=(0,$.jsx)(P,{asChild:!0,children:(0,$.jsx)(`button`,{onClick:u,className:qe,children:y})}),t[14]=u,t[15]=w);let T;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,$.jsx)(F,{children:`Save image`}),t[16]=T):T=t[16];let E;t[17]===w?E=t[18]:(E=(0,$.jsxs)(I,{children:[w,T]}),t[17]=w,t[18]=E);let D;t[19]===s?D=t[20]:(D=s?(0,$.jsx)(x,{className:`h-3.5 w-3.5 text-brand`}):(0,$.jsx)(S,{className:`h-3.5 w-3.5`}),t[19]=s,t[20]=D);let O;t[21]!==m||t[22]!==D?(O=(0,$.jsx)(P,{asChild:!0,children:(0,$.jsx)(`button`,{onClick:m,className:qe,children:D})}),t[21]=m,t[22]=D,t[23]=O):O=t[23];let k=s?`Copied!`:`Copy to clipboard`,A;t[24]===k?A=t[25]:(A=(0,$.jsx)(F,{children:k}),t[24]=k,t[25]=A);let j;t[26]!==O||t[27]!==A?(j=(0,$.jsxs)(I,{children:[O,A]}),t[26]=O,t[27]=A,t[28]=j):j=t[28];let M;t[29]!==E||t[30]!==j?(M=(0,$.jsx)(`div`,{className:`absolute top-2 right-2 flex gap-1 opacity-0 group-hover/img:opacity-100 transition-opacity`,children:(0,$.jsxs)(ee,{children:[E,j]})}),t[29]=E,t[30]=j,t[31]=M):M=t[31];let N;return t[32]!==M||t[33]!==h||t[34]!==v?(N=(0,$.jsxs)(`div`,{className:h,children:[v,M]}),t[32]=M,t[33]=h,t[34]=v,t[35]=N):N=t[35],N}function Xe(e){return typeof e==`string`?e:void 0}function Ze(e){try{return JSON.parse(e)}catch{return null}}function Qe(e){return!!(e?.imageUrl||e?.imageData)}function $e(e){if(typeof e==`object`&&e){let t=e,n=Xe(t.model);return n===void 0?typeof t.content==`string`?Xe(Ze(t.content)?.model):void 0:n}if(typeof e==`string`)return Xe(Ze(e.trim())?.model)}function et(e){let t=Xe(e.savedPath);if(t!==void 0)return t;if(typeof e.content==`string`)return Xe(Ze(e.content)?.savedPath)}function tt(e){if(typeof e==`string`)return e.trim().startsWith(`{`)?Xe(Ze(e)?.savedPath):void 0;if(e&&typeof e==`object`)return et(e)}function nt(e){let t=q(e);return Qe(t)?{imageUrl:t.imageUrl,imageData:t.imageData,model:$e(e)}:null}function rt(e,t){let n=nt(e)??nt(t);if(!Qe(n))return null;let r;for(let n of[e,t.content,t]){let e=tt(n);if(e!==void 0){r=e;break}}return{...n,savedPath:r}}function it(e){let t=(0,Z.c)(7),{imageUrl:n,imageData:r,alt:i,threadId:a}=e,o=i===void 0?`Generated image`:i,s;t[0]!==r||t[1]!==n||t[2]!==a?(s=r?`data:image/png;base64,${r}`:Ge(n??``,a),t[0]=r,t[1]=n,t[2]=a,t[3]=s):s=t[3];let c=s;if(!c)return null;let l;return t[4]!==o||t[5]!==c?(l=(0,$.jsx)(Ye,{src:c,alt:o,className:`mb-3`}),t[4]=o,t[5]=c,t[6]=l):l=t[6],l}var at=c(`chat.media`);function ot(e){if(!e)return`Unknown media error`;switch(e.code){case MediaError.MEDIA_ERR_ABORTED:return`Playback aborted`;case MediaError.MEDIA_ERR_NETWORK:return`Network error while fetching media`;case MediaError.MEDIA_ERR_DECODE:return`Media decode error`;case MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED:return`Unsupported media format or inaccessible source`;default:return`Media error (code ${e.code})`}}async function st(e){try{let t=await fetch(e,{method:`GET`,headers:{Range:`bytes=0-0`}}),n=t.headers.get(`content-type`)??`unknown`,r=t.headers.get(`accept-ranges`)??`none`,i=t.headers.get(`content-range`),a=i?`, content-range=${i}`:``;return`HTTP ${t.status} ${t.statusText}, content-type=${n}, accept-ranges=${r}${a}`}catch(e){return e instanceof Error?e.message:`Fetch failed`}}function ct(e){at.error(`Failed to load media`,{kind:e.kind,src:e.src,label:e.label,mediaError:e.mediaError?{code:e.mediaError.code,message:e.mediaError.message,label:ot(e.mediaError)}:void 0,probeResult:e.probeResult})}function lt(e,t,n,r){let[i,a]=(0,Q.useState)({objectUrl:null,loadError:null,loading:!1});return(0,Q.useEffect)(()=>{if(!t){a(e=>(e.objectUrl&&URL.revokeObjectURL(e.objectUrl),{objectUrl:null,loadError:null,loading:!1}));return}let i=!1;a(e=>(e.objectUrl&&URL.revokeObjectURL(e.objectUrl),{objectUrl:null,loadError:null,loading:!0}));async function o(){try{let t=await fetch(e);if(!t.ok){let t=await st(e);throw Error(t)}let n=await t.blob();if(i)return;let r=URL.createObjectURL(n);if(i){URL.revokeObjectURL(r);return}a({objectUrl:r,loadError:null,loading:!1})}catch(t){if(i)return;let o=t instanceof Error?t.message:await st(e);ct({kind:n,src:e,label:r,probeResult:o}),a({objectUrl:null,loadError:o,loading:!1})}}return o(),()=>{i=!0,a(e=>(e.objectUrl&&URL.revokeObjectURL(e.objectUrl),{objectUrl:null,loadError:null,loading:!1}))}},[e,t,n,r]),i}function ut(e){let t=(0,Z.c)(44),{src:n,label:r}=e,[i,a]=(0,Q.useState)(!1),[o,c]=(0,Q.useState)(!1),l=(0,Q.useRef)(null),{objectUrl:u,loadError:d,loading:f}=lt(n,i,`video`,r),p;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(p=function(e){a(e),e||(c(!1),l.current&&l.current.pause())},t[0]=p):p=t[0];let m=p,h;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(h=function(){c(dt)},t[1]=h):h=t[1];let g=h,_;t[2]!==r||t[3]!==n?(_=async function(e){let t=e.currentTarget.error,i=await st(n);ct({kind:`video`,src:n,label:r,mediaError:t,probeResult:i})},t[2]=r,t[3]=n,t[4]=_):_=t[4];let v=_,y=r??`Video`,x;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(x=()=>a(!0),t[5]=x):x=t[5];let S=r?`Play ${r}`:`Play video`,C;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(`span`,{className:`flex h-14 w-14 items-center justify-center rounded-full bg-background/90 text-foreground shadow-sm`,children:(0,$.jsx)(k,{className:`h-7 w-7 fill-current`})}),t[6]=C):C=t[6];let w;t[7]===S?w=t[8]:(w=(0,$.jsx)(`button`,{type:`button`,onClick:x,"aria-label":S,className:`flex min-h-32 w-full items-center justify-center rounded-md bg-muted/30 transition-colors hover:bg-muted/50`,children:C}),t[7]=S,t[8]=w);let T=o?`h-dvh w-dvw max-w-none rounded-none`:`max-w-[min(92vw,960px)]`,O;t[9]===T?O=t[10]:(O=b(`gap-0 overflow-hidden border-none bg-black p-0 sm:rounded-lg`,T),t[9]=T,t[10]=O);let A;t[11]===y?A=t[12]:(A=(0,$.jsx)(te,{className:`sr-only`,children:y}),t[11]=y,t[12]=A);let j;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,$.jsx)(L,{className:`sr-only`,children:`Video player`}),t[13]=j):j=t[13];let N=o?`Shrink video`:`Expand video`,P;t[14]===o?P=t[15]:(P=o?(0,$.jsx)(E,{className:`h-4 w-4`}):(0,$.jsx)(D,{className:`h-4 w-4`}),t[14]=o,t[15]=P);let F;t[16]!==N||t[17]!==P?(F=(0,$.jsx)(`button`,{type:`button`,onClick:g,"aria-label":N,className:`flex h-7 w-7 items-center justify-center rounded-full text-white/90 transition-colors hover:bg-white/15 hover:text-white`,children:P}),t[16]=N,t[17]=P,t[18]=F):F=t[18];let ee;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,$.jsxs)(R,{className:`flex h-7 w-7 items-center justify-center rounded-full text-white/90 transition-colors hover:bg-white/15 hover:text-white`,children:[(0,$.jsx)(M,{className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Close`})]}),t[19]=ee):ee=t[19];let I;t[20]===F?I=t[21]:(I=(0,$.jsxs)(`div`,{className:`absolute right-4 top-4 z-10 flex items-center gap-1`,children:[F,ee]}),t[20]=F,t[21]=I);let B=o?`h-full`:`min-h-[240px]`,V;t[22]===B?V=t[23]:(V=b(`flex items-center justify-center p-3 pt-12 sm:p-4`,B),t[22]=B,t[23]=V);let H;t[24]!==o||t[25]!==v||t[26]!==d||t[27]!==f||t[28]!==u?(H=f?(0,$.jsx)(`p`,{className:b(s.compact,`text-white/80`),children:`Loading video...`}):d?(0,$.jsxs)(`p`,{className:b(s.compact,`px-4 text-center text-destructive`),children:[`Could not load video: `,d]}):u?(0,$.jsx)(`video`,{ref:l,src:u,controls:!0,autoPlay:!0,playsInline:!0,className:b(`max-w-full rounded`,o?`max-h-full`:`max-h-[80vh]`),onError:v}):null,t[24]=o,t[25]=v,t[26]=d,t[27]=f,t[28]=u,t[29]=H):H=t[29];let U;t[30]!==V||t[31]!==H?(U=(0,$.jsx)(`div`,{className:V,children:H}),t[30]=V,t[31]=H,t[32]=U):U=t[32];let W;t[33]!==A||t[34]!==I||t[35]!==U||t[36]!==O?(W=(0,$.jsxs)(z,{hideClose:!0,className:O,children:[A,j,I,U]}),t[33]=A,t[34]=I,t[35]=U,t[36]=O,t[37]=W):W=t[37];let G;t[38]!==i||t[39]!==W?(G=(0,$.jsx)(ne,{open:i,onOpenChange:m,children:W}),t[38]=i,t[39]=W,t[40]=G):G=t[40];let K;return t[41]!==G||t[42]!==w?(K=(0,$.jsxs)($.Fragment,{children:[w,G]}),t[41]=G,t[42]=w,t[43]=K):K=t[43],K}function dt(e){return!e}function ft(e){let t=(0,Z.c)(12),{src:n,label:r}=e,{objectUrl:i,loadError:a,loading:o}=lt(n,!0,`audio`,r),c;t[0]!==r||t[1]!==n?(c=async function(e){let t=e.currentTarget.error,i=await st(n);ct({kind:`audio`,src:n,label:r,mediaError:t,probeResult:i})},t[0]=r,t[1]=n,t[2]=c):c=t[2];let l=c,u;t[3]!==l||t[4]!==o||t[5]!==i?(u=o?(0,$.jsx)(`p`,{className:b(s.compact,`text-muted-foreground`),children:`Loading audio...`}):i?(0,$.jsx)(`audio`,{src:i,controls:!0,preload:`metadata`,className:`w-full`,onError:l}):null,t[3]=l,t[4]=o,t[5]=i,t[6]=u):u=t[6];let d;t[7]===a?d=t[8]:(d=a?(0,$.jsxs)(`p`,{className:b(s.compact,`mt-2 text-destructive`),children:[`Could not load audio: `,a]}):null,t[7]=a,t[8]=d);let f;return t[9]!==u||t[10]!==d?(f=(0,$.jsxs)($.Fragment,{children:[u,d]}),t[9]=u,t[10]=d,t[11]=f):f=t[11],f}function pt(e){let t=(0,Z.c)(13),{src:n,kind:r,label:i}=e;if(!n)return null;let a=r===`video`?T:w,o=r===`video`?`p-2`:`p-3`,c;t[0]===o?c=t[1]:(c=b(`mt-2 max-w-full overflow-hidden rounded-lg border border-border bg-background`,o),t[0]=o,t[1]=c);let l;t[2]!==a||t[3]!==i?(l=i?(0,$.jsxs)(`div`,{className:`mb-2 flex items-center gap-2 text-muted-foreground`,children:[(0,$.jsx)(a,{className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:b(s.compact,`truncate`),children:i})]}):null,t[2]=a,t[3]=i,t[4]=l):l=t[4];let u;t[5]!==r||t[6]!==i||t[7]!==n?(u=r===`video`?(0,$.jsx)(ut,{src:n,label:i}):(0,$.jsx)(ft,{src:n,label:i}),t[5]=r,t[6]=i,t[7]=n,t[8]=u):u=t[8];let d;return t[9]!==c||t[10]!==l||t[11]!==u?(d=(0,$.jsxs)(`div`,{className:c,children:[l,u]}),t[9]=c,t[10]=l,t[11]=u,t[12]=d):d=t[12],d}var mt=[`graph`,`flowchart`,`sequenceDiagram`,`classDiagram`,`stateDiagram`,`erDiagram`,`journey`,`gantt`,`pie`,`quadrantChart`,`requirementDiagram`,`gitgraph`,`mindmap`,`timeline`,`zenuml`,`sankey`,`block`,`architecture`,`c4`,`packet`,`circuit`],ht=/```mermaid\s*\n([\s\S]*?)\n```/;function gt(e){return e.split(`
|
|
4
|
-
`).find(e=>e.trim().length>0)??``}function _t(e){let t=e.trim().toLowerCase();return t.length!==0&&mt.some(e=>t===e.toLowerCase()||t.startsWith(e.toLowerCase()+` `))}function vt(e){return!e||typeof e!=`string`?!1:ht.test(e)?!0:_t(gt(e))}function yt(e){let t=ht.exec(e);return t?t[1].trim():_t(gt(e))?e.trim():null}var bt=/\S[^\n]*\n/;function xt(e){return bt.test(e)}function St(e){let{language:t,code:n,isMermaid:r,enableMermaid:i}=e;return{language:t,code:n,isMermaid:r,mermaidDecided:r||!i||t!==``||xt(n)}}function Ct(e,t){return t.length===0||!e.mermaidDecided||t.includes("```")?!1:!wt(e.code,t).trimStart().startsWith("```")}function wt(e,t){let n=e.slice(e.lastIndexOf(`
|
|
5
|
-
`)+1),r=t.indexOf(`
|
|
6
|
-
`);return n+(r===-1?t:t.slice(0,r))}function Tt(e){let t=(0,Z.c)(18),{href:n,children:r}=e,i;t[0]===n?i=t[1]:(i=Pe(n),t[0]=n,t[1]=i);let a=i,o;t[2]===n?o=t[3]:(o=Ie(n),t[2]=n,t[3]=o);let s=o,c;t[4]===n?c=t[5]:(c=pe(n),t[4]=n,t[5]=c);let l=c,u=!!l?.threadId,d;t[6]!==l||t[7]!==n||t[8]!==s?(d=function(e){if(l?.threadId){e.preventDefault(),e.stopPropagation(),Me(fe(l));return}s&&(e.preventDefault(),Le(n))},t[6]=l,t[7]=n,t[8]=s,t[9]=d):d=t[9];let f=d,p;t[10]!==u||t[11]!==s?(p=u||s?{}:{target:`_blank`,rel:`noopener noreferrer`},t[10]=u,t[11]=s,t[12]=p):p=t[12];let m;return t[13]!==r||t[14]!==f||t[15]!==a||t[16]!==p?(m=(0,$.jsx)(`a`,{href:a,onClick:f,className:`text-inherit underline underline-offset-2 hover:text-inherit/80`,...p,children:r}),t[13]=r,t[14]=f,t[15]=a,t[16]=p,t[17]=m):m=t[17],m}function Et(e){let t=(0,Z.c)(11),{path:n,children:r,className:i}=e,{openChatDockPanel:a}=H(),{setPendingExplorerPath:o}=V(),s;t[0]!==a||t[1]!==n||t[2]!==o?(s=function(e){e.preventDefault(),e.stopPropagation(),o(n),a(`explorer`)},t[0]=a,t[1]=n,t[2]=o,t[3]=s):s=t[3];let c=s,l;t[4]===i?l=t[5]:(l=b(`cursor-pointer underline decoration-border underline-offset-2 transition-colors hover:text-foreground hover:decoration-foreground/60`,i),t[4]=i,t[5]=l);let u;return t[6]!==r||t[7]!==c||t[8]!==n||t[9]!==l?(u=(0,$.jsx)(`a`,{href:`#`,onClick:c,"data-file-path":n,className:l,children:r}),t[6]=r,t[7]=c,t[8]=n,t[9]=l,t[10]=u):u=t[10],u}var Dt=`[a-z0-9_@~./\\\\+-]*[a-z0-9_@~-]\\.[a-z][a-z0-9-]{0,11}`,Ot=RegExp(`^(?:${Dt})$`,`i`),kt=/[:#]L?\d+(?:-\d+)?$/,At=/[.,;:!?)\]}'"]+$/;function jt(e){let t=new Set,n=new Map;for(let r of e){let e=r.replace(/\\/g,`/`);if(!e||e.endsWith(`/`))continue;t.add(e);let i=e.slice(e.lastIndexOf(`/`)+1),a=n.get(i);a?a.push(e):n.set(i,[e])}for(let e of n.values())e.sort(Ft);return{exact:t,byBasename:n}}function Mt(e){let t=e.trim().replace(/\\/g,`/`);return t=t.replace(At,``),t=t.replace(kt,``),t.startsWith(`@`)&&(t=t.slice(1)),t.startsWith(`./`)&&(t=t.slice(2)),t=t.replace(/^\/+/,``),t.length===0||t.length>512||/\s/.test(t)||t.includes(`://`)||!Ot.test(t)?null:t}function Nt(e,t){let n=Mt(e);if(!n)return null;if(t.exact.has(n))return n;let r=n.slice(n.lastIndexOf(`/`)+1),i=t.byBasename.get(r);if(!i||i.length===0)return null;if(!n.includes(`/`))return i[0];let a=`/${n}`;return i.find(e=>e.endsWith(a))??null}function Pt(e,t){let n=new RegExp(Dt,`gi`),r=[],i=0,a;for(;(a=n.exec(e))!==null;)a.index>i&&r.push({text:e.slice(i,a.index),path:null}),r.push({text:a[0],path:Nt(a[0],t)}),i=a.index+a[0].length;return i<e.length&&r.push({text:e.slice(i),path:null}),r.length>0?r:[{text:e,path:null}]}function Ft(e,t){let n=It(e)-It(t);return n===0?e.length-t.length||e.localeCompare(t):n}function It(e){let t=1;for(let n=0;n<e.length;n+=1)e.charCodeAt(n)===47&&(t+=1);return t}var Lt=15e3,Rt=2e4;function zt(e){let t=(0,Z.c)(10),n;t[0]===e?n=t[1]:(n=B.threads.files(e??``),t[0]=e,t[1]=n);let r;t[2]===e?r=t[3]:(r=()=>u(e),t[2]=e,t[3]=r);let i=!!e,a;t[4]!==n||t[5]!==r||t[6]!==i?(a={queryKey:n,queryFn:r,enabled:i,staleTime:Lt,refetchInterval:Rt},t[4]=n,t[5]=r,t[6]=i,t[7]=a):a=t[7];let s=o(a),c;return t[8]===s.data?c=t[9]:(c=s.data?jt(s.data):null,t[8]=s.data,t[9]=c),c}var Bt=/^(\s*)([-*+]|\d+\.)\s+(.*)$/,Vt=100,Ht=/^!\[([^\]]*)\]\(([^)]+)\)\s*$/,Ut=/[.,!?;:]+$/,Wt=(0,Q.memo)(function({content:e,className:t,enableMermaid:n=!1,threadId:r,compact:i=!1,bodyClassName:a,revealAnimation:o=!1}){let s=me(e,Vt),c=zt(r),l=(0,Q.useRef)(null),u=(0,Q.useMemo)(()=>{if(!s||typeof s!=`string`)return l.current=null,[];let e=yn(s,n,l.current);return l.current=e,e.blocks},[s,n]);return u.length===0?null:(0,$.jsx)(`div`,{className:b(`prose-custom min-w-0 break-words`,t),children:u.map((e,t)=>(0,$.jsx)(`div`,{className:b(an(t,u,i),o&&`animate-in fade-in duration-300 motion-reduce:animate-none`),children:(0,$.jsx)(Ln,{block:e,threadId:r,chatFileIndex:c,compact:i,bodyClassName:a})},t))})});function Gt(e){let t=e.match(Ht);return t?{alt:t[1],src:t[2]}:null}function Kt(e,t,n){let r=e?`mt-0 space-y-0.5`:`mt-0 space-y-1`,i=n?`mt-1`:``;return t?b(r,i,`pl-6`):b(r,i,`pl-6 list-outside overflow-visible list-disc`)}function qt(e){return e.replace(/\t/g,` `).length}function Jt(e){return/^\d+\.$/.test(e)?Number.parseInt(e,10):1}function Yt(e,t){return qt(e)>t}function Xt(e,t){let n=e[t]?.match(Bt);if(!n)return{block:{type:`paragraph`,text:``},nextIndex:t+1};let[,r,i,a]=n,o={ordered:/^\d+\.$/.test(i),start:Jt(i),items:[{text:a,children:[]}]},s=[{indent:qt(r),item:o.items[0]}],c=t+1;for(;c<e.length;){let t=Zt(e,c,s,o);if(c=t.nextIndex,t.stop)break}return{block:{type:`list`,list:o},nextIndex:c}}function Zt(e,t,n,r){let i=e[t];return Bt.test(i)?Qt(e,t,n,r):i.trim()===``?nn(e,t):rn(e,t,n)}function Qt(e,t,n,r){let[,i,a,o]=e[t].match(Bt),s=qt(i),c=/^\d+\.$/.test(a),l={text:o,children:[]};if($t(n,s),n.length===0)return{nextIndex:t,stop:!0};let u=n[n.length-1],d=s===u.indent,f=Yt(i,u.indent);return d?en(n,r,c,s,l,t):f?tn(n,u,c,a,s,l,t):{nextIndex:t,stop:!0}}function $t(e,t){for(;e.length>0&&t<e[e.length-1].indent;)e.pop()}function en(e,t,n,r,i,a){let o=e[e.length-2]?.childList??t;return o.ordered===n?(o.items.push(i),e[e.length-1]={indent:r,item:i},{nextIndex:a+1,stop:!1}):{nextIndex:a,stop:!0}}function tn(e,t,n,r,i,a,o){let s=t.childList;return(!s||s.ordered!==n)&&(s={ordered:n,start:Jt(r),items:[]},t.item.children.push(s),t.childList=s),s.items.push(a),e.push({indent:i,item:a}),{nextIndex:o+1,stop:!1}}function nn(e,t){let n=e[t+1];return!n||!Bt.test(n)?{nextIndex:t,stop:!0}:{nextIndex:t+1,stop:!1}}function rn(e,t,n){let r=qt(e[t].match(/^(\s*)/)?.[1]??``),i=n[n.length-1];return r>i.indent?(i.item.text=`${i.item.text}\n${e[t].trim()}`,{nextIndex:t+1,stop:!1}):{nextIndex:t,stop:!0}}function an(e,t,n=!1){if(e===0)return``;let r=t[e-1],i=t[e];return r.type===`list`||i.type===`list`?``:n?`mt-2`:`mt-3`}function on(e,t){return!e.closed&&e.openerSettled?{block:e.block,index:t}:null}function sn(e,t,n){let r=e[t].trimStart().slice(3).trim(),i=[],a=t+1;for(;a<e.length&&!e[a].trimStart().startsWith("```");)i.push(e[a]),a++;let o=i.join(`
|
|
7
|
-
`),s=n&&(r===`mermaid`||r===``&&vt(o)),c=a<e.length,l=t+1<e.length;return s?{block:{type:`mermaid`,code:o},nextIndex:a+1,closed:c,openerSettled:l}:{block:{type:`code`,language:r,code:o},nextIndex:a+1,closed:c,openerSettled:l}}function cn(e){let t=e.match(/^(#{1,6})(\s.*)?$/);return t?{type:`heading`,level:t[1].length,text:t[2]?t[2].trim():``}:null}function ln(e){return/^(---|\*\*\*|___)/.test(e.trim())}function un(e,t){let n=e[t];if(!n.includes(`|`)||t+1>=e.length||!e[t+1].match(/^\|?\s*[-:]+/))return null;let r=n.split(`|`).map(e=>e.trim()).filter(Boolean),i=t+2,a=[];for(;i<e.length&&e[i].includes(`|`);)a.push(e[i].split(`|`).map(e=>e.trim()).filter(Boolean)),i++;return{block:{type:`table`,headers:r,rows:a},nextIndex:i}}function dn(e,t){let n=[],r=t;for(;r<e.length&&e[r].startsWith(`> `);)n.push(e[r].slice(2)),r++;return{block:{type:`blockquote`,text:n.join(`
|
|
8
|
-
`)},nextIndex:r}}function fn(e){let t=Gt(e);return t?{type:`image`,...t}:null}function pn(e){let t=Be(e);return t?{type:`media`,kind:t.kind,src:t.src}:null}function mn(e){return e.trim()===``||cn(e)!==null||e.trimStart().startsWith("```")||e.startsWith(`> `)||Bt.test(e)}function hn(e,t,n){let r=t,i=[];for(r<e.length&&(i.push(e[r]),r++);r<e.length&&!mn(e[r]);)i.push(e[r]),r++;let a=i.join(`
|
|
9
|
-
`);if(n&&vt(a)){let e=yt(a);if(e)return{block:{type:`mermaid`,code:e},nextIndex:r}}return{block:{type:`paragraph`,text:a},nextIndex:r}}function gn(e){let t=[],n=0;for(let r=0;r<e.length;r++)t.push(n),n+=e[r].length+ +(r<e.length-1);return t}function _n(e,t=!1){let n=e.split(`
|
|
10
|
-
`),r=gn(n),i=[],a=[],o=null,s=0;for(;s<n.length;){let e=n[s],c=r[s]??0;if(e.trimStart().startsWith("```")){let e=sn(n,s,t);i.push(e.block),a.push(c),o=on(e,i.length-1),s=e.nextIndex;continue}let l=cn(e);if(l){i.push(l),a.push(c),s++;continue}if(ln(e)){i.push({type:`hr`}),a.push(c),s++;continue}let u=un(n,s);if(u){i.push(u.block),a.push(c),s=u.nextIndex;continue}if(e.startsWith(`> `)){let{block:e,nextIndex:t}=dn(n,s);i.push(e),a.push(c),s=t;continue}if(Bt.test(e)){let{block:e,nextIndex:t}=Xt(n,s);i.push(e),a.push(c),s=t;continue}if(e.trim()===``){s++;continue}let d=fn(e);if(d){i.push(d),a.push(c),s++;continue}let f=pn(e);if(f){i.push(f),a.push(c),s++;continue}let{block:p,nextIndex:m}=hn(n,s,t);i.push(p),a.push(c),s=m>s?m:s+1}return{blocks:i,blockStarts:a,tailFence:vn(o,i.length,t)}}function vn(e,t,n){if(!e||e.index!==t-1)return null;let{block:r}=e;return r.type===`code`?St({language:r.language,code:r.code,isMermaid:!1,enableMermaid:n}):St({language:``,code:r.code,isMermaid:!0,enableMermaid:n})}function yn(e,t,n){if(n&&n.enableMermaid===t&&n.md===e&&n.blocks.length>0)return n;if(n&&n.enableMermaid===t&&n.blocks.length>0&&e.startsWith(n.md)){let r=bn(e,t,n,e.slice(n.md.length));if(r)return r;let i=n.blockStarts[n.blockStarts.length-1]??0,a=n.blocks.slice(0,-1),o=n.blockStarts.slice(0,-1),s=_n(e.slice(i),t);return{md:e,enableMermaid:t,blocks:[...a,...s.blocks],blockStarts:[...o,...s.blockStarts.map(e=>e+i)],tailFence:s.tailFence,parsedChars:e.length-i}}let r=_n(e,t);return{md:e,enableMermaid:t,blocks:r.blocks,blockStarts:r.blockStarts,tailFence:r.tailFence,parsedChars:e.length}}function bn(e,t,n,r){let i=n.tailFence;if(!i||!Ct(i,r))return null;let a=i.code+r,o=i.isMermaid?{type:`mermaid`,code:a}:{type:`code`,language:i.language,code:a};return{md:e,enableMermaid:t,blocks:[...n.blocks.slice(0,-1),o],blockStarts:n.blockStarts,tailFence:{...i,code:a},parsedChars:r.length}}function xn(e,t){return`${t}-${e.text}`}function Sn(e){let t=(0,Z.c)(23),{list:n,compact:r,threadId:i,chatFileIndex:a,inlineCodeClass:o,bodyClassName:c,nested:l}=e,u=a===void 0?null:a,d=l!==void 0&&l,f=c??(r?s.caption:s.body),p=n.ordered?`ol`:`ul`,m;t[0]!==f||t[1]!==r||t[2]!==n.ordered||t[3]!==d?(m=b(f,Kt(r,n.ordered,d)),t[0]=f,t[1]=r,t[2]=n.ordered,t[3]=d,t[4]=m):m=t[4];let h=n.ordered?n.start:void 0,g;if(t[5]!==c||t[6]!==u||t[7]!==r||t[8]!==o||t[9]!==n.items||t[10]!==i){let e;t[12]!==c||t[13]!==u||t[14]!==r||t[15]!==o||t[16]!==i?(e=(e,t)=>(0,$.jsx)(`li`,{children:(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(Rn,{text:e.text,threadId:i,chatFileIndex:u,inlineCodeClass:o}),e.children.map((n,a)=>(0,$.jsx)(Sn,{list:n,compact:r,threadId:i,chatFileIndex:u,inlineCodeClass:o,bodyClassName:c,nested:!0},`${xn(e,t)}-child-${a}`))]})},xn(e,t)),t[12]=c,t[13]=u,t[14]=r,t[15]=o,t[16]=i,t[17]=e):e=t[17],g=n.items.map(e),t[5]=c,t[6]=u,t[7]=r,t[8]=o,t[9]=n.items,t[10]=i,t[11]=g}else g=t[11];let _;return t[18]!==p||t[19]!==m||t[20]!==h||t[21]!==g?(_=(0,$.jsx)(p,{className:m,start:h,children:g}),t[18]=p,t[19]=m,t[20]=h,t[21]=g,t[22]=_):_=t[22],_}function Cn(e,t){return e??(t?s.caption:s.body)}function wn(e,t){return e?b(e,`font-mono`):t?b(s.compact,`font-mono`):s.mono}function Tn(e){return e?{1:b(s.caption,`font-semibold`),2:b(s.caption,`font-semibold`),3:b(s.body,`font-semibold`),4:b(s.body,`font-semibold`),5:b(s.compact,`font-semibold`),6:b(s.compact,`font-semibold`)}:{1:s.sectionTitle,2:s.subSectionTitle,3:s.subSectionTitle,4:s.subSectionTitle,5:s.sectionSubtitle,6:s.sectionSubtitle}}function En({block:e,threadId:t,chatFileIndex:n,compact:r,inlineCodeClass:i}){if(e.type!==`heading`)return null;let a=`h${e.level}`;return(0,$.jsx)(a,{className:b(Tn(r)[e.level]),children:(0,$.jsx)(Rn,{text:e.text,threadId:t,chatFileIndex:n,inlineCodeClass:i})})}function Dn({block:e,compact:t,bodyClass:n}){return e.type===`code`?(0,$.jsx)(Kn,{language:e.language,code:e.code,compact:t,bodyClassName:n}):null}function On({block:e,threadId:t,chatFileIndex:n,bodyClass:r,inlineCodeClass:i}){return e.type===`blockquote`?(0,$.jsx)(`blockquote`,{className:b(r,`border-l-2 border-border pl-4 text-muted-foreground italic`),children:(0,$.jsx)(Rn,{text:e.text,threadId:t,chatFileIndex:n,inlineCodeClass:i})}):null}function kn({block:e,compact:t,threadId:n,chatFileIndex:r,inlineCodeClass:i,bodyClassName:a}){return e.type===`list`?(0,$.jsx)(Sn,{list:e.list,compact:t,threadId:n,chatFileIndex:r,inlineCodeClass:i,bodyClassName:a}):null}function An({block:e,threadId:t,chatFileIndex:n,bodyClass:r,inlineCodeClass:i}){return e.type===`paragraph`?(0,$.jsx)(`p`,{className:b(r,`mt-0 whitespace-pre-wrap break-words`),children:(0,$.jsx)(Rn,{text:e.text,threadId:t,chatFileIndex:n,inlineCodeClass:i})}):null}function jn(){return(0,$.jsx)(`hr`,{className:`border-border`})}function Mn({block:e,threadId:t,chatFileIndex:n,bodyClass:r,inlineCodeClass:i}){return e.type===`table`?(0,$.jsx)(`div`,{className:`overflow-x-auto rounded-md border border-table-border max-w-full`,children:(0,$.jsxs)(`table`,{className:b(r,`w-full`),children:[(0,$.jsx)(`thead`,{children:(0,$.jsx)(`tr`,{className:`border-b border-table-border`,children:e.headers.map((e,r)=>(0,$.jsx)(`th`,{className:`px-3 py-2 text-left font-medium`,children:(0,$.jsx)(Rn,{text:e,threadId:t,chatFileIndex:n,inlineCodeClass:i})},r))})}),(0,$.jsx)(`tbody`,{children:e.rows.map((e,r)=>(0,$.jsx)(`tr`,{children:e.map((e,r)=>(0,$.jsx)(`td`,{className:`px-3 py-2`,children:(0,$.jsx)(Rn,{text:e,threadId:t,chatFileIndex:n,inlineCodeClass:i})},r))},r))})]})}):null}function Nn({block:e}){return e.type===`mermaid`?(0,$.jsx)(Ae,{content:e.code}):null}function Pn({block:e,threadId:t}){return e.type===`image`?(0,$.jsx)(it,{imageUrl:Ge(e.src,t),alt:e.alt||`Image`}):null}function Fn({block:e,threadId:t}){if(e.type!==`media`)return null;let n=We(e.src,t);if(e.kind===`image`)return(0,$.jsx)(it,{imageUrl:n,alt:`Image`});let r=e.src.split(/[/\\]/).pop();return(0,$.jsx)(pt,{src:n,kind:e.kind,label:r})}var In={heading:En,code:Dn,blockquote:On,list:kn,paragraph:An,hr:jn,table:Mn,mermaid:Nn,image:Pn,media:Fn},Ln=(0,Q.memo)(function({block:e,threadId:t,chatFileIndex:n=null,compact:r=!1,bodyClassName:i}){let a=In[e.type];return a?a({block:e,threadId:t,chatFileIndex:n,compact:r,bodyClassName:i,bodyClass:Cn(i,r),inlineCodeClass:wn(i,r)}):null}),Rn=(0,Q.memo)(function(e){let t=(0,Z.c)(13),{text:n,threadId:r,chatFileIndex:i,inlineCodeClass:a}=e,o=i===void 0?null:i,c=a===void 0?s.mono:a,l;t[0]===n?l=t[1]:(l=Gn(n),t[0]=n,t[1]=l);let u=l,d;if(t[2]!==o||t[3]!==c||t[4]!==u||t[5]!==r){let e;t[7]!==o||t[8]!==c||t[9]!==r?(e=(e,t)=>{switch(e.type){case`bold`:return(0,$.jsx)(`strong`,{className:`font-semibold`,children:e.text},t);case`italic`:return(0,$.jsx)(`em`,{children:e.text},t);case`strikethrough`:return(0,$.jsx)(`del`,{className:`text-muted-foreground`,children:e.text},t);case`code`:{let n=o?Nt(e.text,o):null;return n?(0,$.jsx)(Et,{path:n,className:b(c,`rounded bg-muted/20 py-0.5`),children:e.text},t):(0,$.jsx)(`code`,{className:b(c,`rounded bg-muted/20 py-0.5`),children:e.text},t)}case`link`:return(0,$.jsx)(Tt,{href:e.href,children:e.text},t);case`image`:return(0,$.jsx)(it,{imageUrl:Ge(e.src,r),alt:e.alt||`Image`},t);case`text`:return(0,$.jsx)(Q.Fragment,{children:zn(e.text,o,c)},t);default:return null}},t[7]=o,t[8]=c,t[9]=r,t[10]=e):e=t[10],d=u.map(e),t[2]=o,t[3]=c,t[4]=u,t[5]=r,t[6]=d}else d=t[6];let f;return t[11]===d?f=t[12]:(f=(0,$.jsx)($.Fragment,{children:d}),t[11]=d,t[12]=f),f});function zn(e,t,n){return t?Pt(e,t).map((e,t)=>e.path?(0,$.jsx)(Et,{path:e.path,className:b(n,`rounded bg-muted/20 py-0.5`),children:e.text},t):(0,$.jsx)(`span`,{children:e.text},t)):(0,$.jsx)(`span`,{children:e})}function Bn(e){return e.startsWith("`")?`code`:e.startsWith(`;return{type:`image`,alt:e.slice(2,t),src:e.slice(t+2,-1)}}function Hn(e){let t=e.indexOf(`](`);return{type:`link`,text:e.slice(1,t),href:e.slice(t+2,-1)}}function Un(e){let t=e.replace(Ut,``),n=[{type:`link`,text:t,href:t}],r=e.slice(t.length);return r&&n.push({type:`text`,text:r}),n}function Wn(e){switch(Bn(e)){case`code`:return[{type:`code`,text:e.slice(1,-1)}];case`image`:return[Vn(e)];case`bold`:return[{type:`bold`,text:e.slice(2,-2)}];case`strikethrough`:return[{type:`strikethrough`,text:e.slice(2,-2)}];case`italic`:return[{type:`italic`,text:e.slice(1,-1)}];case`link`:return[Hn(e)];case`url`:return Un(e)}}function Gn(e){let t=[],n=/(`[^`]+`)|(!\[[^\]]*\]\([^)]+\))|(\*\*[^*]+\*\*)|(\*[^*]+\*)|(__[^_]+__)|(_[^_]+_)|(~~[^~]+~~)|(\[[^\]]+\]\([^)]+\))|(https?:\/\/[^\s<>"`]+)|(tarsk:\/\/[^\s<>"`]+)/gi,r=0,i;for(;(i=n.exec(e))!==null;)i.index>r&&t.push({type:`text`,text:e.slice(r,i.index)}),t.push(...Wn(i[0])),r=i.index+i[0].length;return r<e.length&&t.push({type:`text`,text:e.slice(r)}),t.length>0?t:[{type:`text`,text:e}]}function Kn(e){let t=(0,Z.c)(27),{language:n,code:r,compact:i,bodyClassName:a}=e,o=i!==void 0&&i,[c,l]=(0,Q.useState)(!1),u;t[0]===r?u=t[1]:(u=async function(){await navigator.clipboard.writeText(r),l(!0),setTimeout(()=>l(!1),2e3)},t[0]=r,t[1]=u);let d=u,f;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=b(s.compact,`text-muted-foreground font-mono`),t[2]=f):f=t[2];let p=n||`text`,m;t[3]===p?m=t[4]:(m=(0,$.jsx)(`span`,{className:f,children:p}),t[3]=p,t[4]=m);let h;t[5]===c?h=t[6]:(h=c?(0,$.jsx)(x,{}):(0,$.jsx)(S,{}),t[5]=c,t[6]=h);let g;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(`span`,{className:`sr-only`,children:`Copy code`}),t[7]=g):g=t[7];let _;t[8]!==d||t[9]!==h?(_=(0,$.jsxs)(N,{variant:`action`,size:`icon-xs`,onClick:d,children:[h,g]}),t[8]=d,t[9]=h,t[10]=_):_=t[10];let v;t[11]!==m||t[12]!==_?(v=(0,$.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border bg-muted/80 px-4 py-2`,children:[m,_]}),t[11]=m,t[12]=_,t[13]=v):v=t[13];let y=o?`p-2`:`p-4`,C;t[14]===y?C=t[15]:(C=b(`overflow-x-auto max-w-full`,y),t[14]=y,t[15]=C);let w;t[16]===a?w=t[17]:(w=b(b(a,`font-mono`),`text-foreground leading-relaxed`),t[16]=a,t[17]=w);let T;t[18]!==r||t[19]!==w?(T=(0,$.jsx)(`code`,{className:w,children:r}),t[18]=r,t[19]=w,t[20]=T):T=t[20];let E;t[21]!==C||t[22]!==T?(E=(0,$.jsx)(`pre`,{className:C,children:T}),t[21]=C,t[22]=T,t[23]=E):E=t[23];let D;return t[24]!==E||t[25]!==v?(D=(0,$.jsxs)(`div`,{className:`group relative overflow-hidden rounded-lg border border-border bg-muted`,children:[v,E]}),t[24]=E,t[25]=v,t[26]=D):D=t[26],D}export{rt as a,Ke as c,Be as d,Ne as f,ce as h,it as i,Ge as l,X as m,Tt as n,nt as o,me as p,pt as r,Ye as s,Wt as t,We as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,o as n,t as r}from"./react-vendor-D61Uve5n.js";import{V as i,b as a}from"./dist-D5vgS4RP.js";import{$r as o,It as s,J as c,Kn as l,Nn as u,Pn as d,Rt as f,U as p,_ as m,an as h}from"./api-COO2LfdU.js";import{n as g,r as _,t as v}from"./use-git-check-B_5Jak2s.js";import{r as y,t as b}from"./utils-mYB1USG6.js";import{t as x}from"./check-skFQ1X72.js";import{t as S}from"./loader-circle-CrqRIqdA.js";import{t as C}from"./button-Dp5XDZNR.js";import{i as w,n as T,r as E,t as D}from"./tooltip-CJKJfu0l.js";import{a as O,i as k,o as A,r as j,s as M,t as N}from"./dialog-pHPeIGaB.js";import{t as P}from"./label-C31qF5zZ.js";import{n as F}from"./scroll-area-BWc4OPsj.js";import{$ as I,Cn as L,Er as R,Ir as z,Mt as B,Q as ee,St as te,Un as V,Wr as H,X as U,Y as W,ct as G,et as K,mt as q,nt as ne,tt as re,zr as ie}from"./index-CalVAwXj.js";import{n as J,t as ae}from"./toggle-group-DqSxGqvP.js";import{t as oe}from"./sorting-DqwxPMRN.js";import{t as se}from"./pending-changes-Bn-0ak1d.js";var Y=t(),X=r();function ce(e){let t=(0,Y.c)(8),{gitLoading:n,gitInstalled:r,version:i,platform:a,plan:o,onCheckAgain:s}=e;if(n&&r===null){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,X.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,X.jsx)(S,{className:`h-5 w-5 animate-spin text-muted-foreground`})}),t[0]=e):e=t[0],e}if(r){let e;return t[1]===i?e=t[2]:(e=(0,X.jsx)(g,{version:i}),t[1]=i,t[2]=e),e}let c;return t[3]!==n||t[4]!==s||t[5]!==o||t[6]!==a?(c=(0,X.jsx)(_,{platform:a,plan:o,checking:n,onCheckAgain:s}),t[3]=n,t[4]=s,t[5]=o,t[6]=a,t[7]=c):c=t[7],c}var Z=e(n(),1);function le(e){let t=(0,Y.c)(34),{model:n,disabled:r,willBeEnabled:a,isRecommended:o,onToggle:s}=e,c;t[0]===n.id?c=t[1]:(c=B(n.id),t[0]=n.id,t[1]=c);let l=c,u=n.pricing,d=a&&o,f;t[2]!==n.id||t[3]!==s?(f=function(){s(n.id)},t[2]=n.id,t[3]=s,t[4]=f):f=t[4];let p=f,m=r&&`opacity-25`,h;t[5]===m?h=t[6]:(h=b(`flex items-center space-x-3 p-3 hover:bg-muted/30 transition-colors cursor-default`,m),t[5]=m,t[6]=h);let g=`${l} ${a?`enabled`:`disabled`}`,_;t[7]!==r||t[8]!==p||t[9]!==n.id||t[10]!==g||t[11]!==a?(_=(0,X.jsx)(W,{id:n.id,disabled:r,value:a,onChange:p,ariaLabel:g}),t[7]=r,t[8]=p,t[9]=n.id,t[10]=g,t[11]=a,t[12]=_):_=t[12];let v=n.id,x;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(x=b(i.body,`peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer truncate flex-1 w-0`),t[13]=x):x=t[13];let S;t[14]===d?S=t[15]:(S=d&&(0,X.jsx)(`span`,{className:`text-muted-foreground`,children:` (Recommended)`}),t[14]=d,t[15]=S);let C;t[16]!==l||t[17]!==n.id||t[18]!==S?(C=(0,X.jsxs)(`label`,{htmlFor:v,className:x,children:[l,S]}),t[16]=l,t[17]=n.id,t[18]=S,t[19]=C):C=t[19];let E;t[20]===u?E=t[21]:(E=u&&(0,X.jsx)(`span`,{className:b(i.compact,`text-muted-foreground whitespace-nowrap flex-shrink-0`),children:(u.prompt??0)<=0&&(u.completion??0)<=0?`Free`:`${y(u.prompt??0)} in | ${y(u.completion??0)} out`}),t[20]=u,t[21]=E);let O;t[22]!==C||t[23]!==E?(O=(0,X.jsxs)(`div`,{className:`flex-1 flex items-center justify-between gap-3 leading-none`,children:[C,E]}),t[22]=C,t[23]=E,t[24]=O):O=t[24];let k;t[25]!==O||t[26]!==h||t[27]!==_?(k=(0,X.jsx)(w,{asChild:!0,children:(0,X.jsxs)(`div`,{className:h,children:[_,O]})}),t[25]=O,t[26]=h,t[27]=_,t[28]=k):k=t[28];let A;t[29]===n.description?A=t[30]:(A=n.description&&(0,X.jsx)(T,{side:`top`,className:`max-w-xs`,children:(0,X.jsx)(`p`,{className:i.body,children:n.description})}),t[29]=n.description,t[30]=A);let j;return t[31]!==k||t[32]!==A?(j=(0,X.jsxs)(D,{children:[k,A]}),t[31]=k,t[32]=A,t[33]=j):j=t[33],j}function ue(e){let t=/^[^:]+:\s+(.+)$/.exec(e);return(t?t[1]:e).trim()}function de(e){return[B(e.id),e.name,ue(e.name)]}function fe(e,t){let n=new Set(t.map(e=>e.toLowerCase()));return de(e).some(e=>n.has(e.toLowerCase()))}function pe(e,t){return e.filter(e=>fe(e,t)).map(e=>e.id)}var Q=a(`app.model-selector.ui`),me=`rounded-full border-0 px-3 data-[state=on]:bg-foreground data-[state=on]:text-background data-[state=on]:shadow-sm`;function he({provider:e,onModelsChange:t,isLoading:n,disabled:r,displayMode:a=`grid`,autoSelectRecommended:o=!1}){let[s,l]=(0,Z.useState)([]),[u,d]=(0,Z.useState)(new Set),[p,m]=(0,Z.useState)(new Set),[h,g]=(0,Z.useState)(new Map),[_,v]=(0,Z.useState)(!1),[y,x]=(0,Z.useState)(``),[C,w]=(0,Z.useState)(`alphabetical`);(0,Z.useEffect)(()=>{T()},[e]);let T=async()=>{v(!0),x(``),w(`alphabetical`);try{let t=await c(e);l(t.models);let n=new Set(t.enabledModelIds);d(n);let r=new Map,i=new Set;if(o)try{let{models:e}=await f();i=new Set(pe(t.models,e)),r=new Map([...i].filter(e=>!n.has(e)).map(e=>[e,!0]))}catch(e){Q.error(`Failed to load recommended models:`,e)}m(i),g(r),D(n,r,t.models)}catch(t){Q.error(`Failed to load models for ${e}:`,t),l([]),d(new Set),m(new Set)}finally{v(!1)}},D=(e,n,r=s)=>{let i=new Set(e);r.forEach(e=>{n.has(e.id)&&(n.get(e.id)?i.add(e.id):i.delete(e.id))}),t?.(i)},O=e=>{g(t=>{let n=se(t,e,u);return D(u,n),n})},k=e=>{g(t=>{let n=new Map(t);return s.forEach(t=>{let r=u.has(t.id);e?r?n.delete(t.id):n.set(t.id,!0):r?n.set(t.id,!1):n.delete(t.id)}),D(u,n),n})},A=e=>B(e.id);function j(e,t=h){let n=t.has(e),r=t.get(e);return n?!!r:u.has(e)}let M=oe({models:s,query:y,sortBy:C,getDisplayName:A,getPriority:e=>+!j(e.id)}),N=C===`alphabetical`?`alphabetical`:`price`;function P(e){if(e===`alphabetical`){w(`alphabetical`);return}e===`price`&&w(`price-low`)}function F(){C!==`alphabetical`&&w(e=>e===`price-low`?`price-high`:`price-low`)}return _||n?(0,X.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,X.jsx)(S,{className:`h-5 w-5 animate-spin text-muted-foreground`})}):s.length===0?(0,X.jsx)(`div`,{className:`text-center py-8`,children:(0,X.jsx)(`p`,{className:i.bodyMuted,children:`No models available for this provider.`})}):a===`compact`?(0,X.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,X.jsxs)(`div`,{className:b(`flex items-center justify-between gap-3`,r&&`opacity-25`),children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,X.jsx)(W,{id:`select-all-models`,disabled:r,value:s.every(e=>j(e.id)),onChange:e=>k(e),ariaLabel:`Select all models`}),(0,X.jsx)(`label`,{htmlFor:`select-all-models`,className:b(i.body,`cursor-pointer`),children:`Select all models`})]}),(0,X.jsxs)(`div`,{className:`flex items-center gap-2 flex-shrink-0`,children:[(0,X.jsxs)(`div`,{className:`relative w-44 sm:w-52`,children:[(0,X.jsx)(V,{className:`absolute left-2.5 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground pointer-events-none`}),(0,X.jsx)(L,{placeholder:`Search models...`,value:y,onChange:e=>x(e.target.value),disabled:r,className:`pl-8 h-9`})]}),(0,X.jsxs)(ae,{type:`single`,value:N,onValueChange:P,"aria-label":`Sort models`,variant:`outline`,className:`inline-flex rounded-full border bg-muted/40 p-1`,children:[(0,X.jsx)(J,{value:`alphabetical`,"aria-label":`Sort A–Z`,disabled:r,className:me,children:(0,X.jsx)(ie,{className:`h-4 w-4`})}),(0,X.jsx)(J,{value:`price`,"aria-label":`Sort by price`,disabled:r,className:me,onClick:F,children:(0,X.jsx)(R,{className:`h-4 w-4`})})]})]})]}),(0,X.jsx)(E,{children:(0,X.jsx)(`div`,{className:`grid grid-cols-1 gap-0 overflow-hidden rounded-md border border-table-border`,children:M.length===0?(0,X.jsx)(`div`,{className:`text-center py-4`,children:(0,X.jsx)(`p`,{className:i.bodyMuted,children:y?`No models match your search.`:`No models available.`})}):M.map(e=>(0,X.jsx)(le,{model:e,disabled:r,willBeEnabled:j(e.id),isRecommended:p.has(e.id),onToggle:O},e.id))})})]}):null}function ge(e){let t=(0,Y.c)(4),{providerSlug:n,modelsLoading:r,onModelsChange:i}=e,a;return t[0]!==r||t[1]!==i||t[2]!==n?(a=(0,X.jsx)(`div`,{className:`space-y-4`,children:(0,X.jsx)(he,{provider:n,isLoading:r,displayMode:`compact`,disabled:!1,autoSelectRecommended:!0,onModelsChange:i})}),t[0]=r,t[1]=i,t[2]=n,t[3]=a):a=t[3],a}function _e(e,t,n){return e||t||n}function ve(e,t,n){return e||!t.trim()||!n}function ye(e){let t=(0,Y.c)(38),{currentStep:n,savingOnboarding:r,gitLoading:i,validatingKey:a,connectingOpenRouter:o,apiKey:s,hasProvider:c,onSkip:l,onBack:u,onContinue:d,onValidate:f,onFinish:p}=e,m,h;t[0]!==s||t[1]!==o||t[2]!==c||t[3]!==r||t[4]!==a?(m=_e(r,a,o),h=ve(m,s,c),t[0]=s,t[1]=o,t[2]=c,t[3]=r,t[4]=a,t[5]=m,t[6]=h):(m=t[5],h=t[6]);let g=h,_;t[7]!==n||t[8]!==l||t[9]!==m?(_=n===`provider-selection`?(0,X.jsx)(C,{variant:`ghost`,onClick:l,disabled:m,children:`Skip for now`}):null,t[7]=n,t[8]=l,t[9]=m,t[10]=_):_=t[10];let v;t[11]===_?v=t[12]:(v=(0,X.jsx)(`div`,{children:_}),t[11]=_,t[12]=v);let y;t[13]!==n||t[14]!==u||t[15]!==m?(y=n===`git-check`?null:(0,X.jsx)(C,{variant:`outline`,onClick:u,disabled:m,children:`Back`}),t[13]=n,t[14]=u,t[15]=m,t[16]=y):y=t[16];let b;t[17]!==n||t[18]!==i||t[19]!==d?(b=n===`git-check`?(0,X.jsxs)(C,{onClick:d,disabled:i,className:`gap-2`,children:[`Continue `,(0,X.jsx)(z,{className:`h-4 w-4`})]}):null,t[17]=n,t[18]=i,t[19]=d,t[20]=b):b=t[20];let w;t[21]!==n||t[22]!==f||t[23]!==g||t[24]!==a?(w=n===`provider-selection`?(0,X.jsx)(C,{onClick:f,disabled:g,className:`gap-2`,children:a?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(S,{className:`h-4 w-4 animate-spin`}),`Validating...`]}):(0,X.jsxs)(X.Fragment,{children:[`Next `,(0,X.jsx)(z,{className:`h-4 w-4`})]})}):null,t[21]=n,t[22]=f,t[23]=g,t[24]=a,t[25]=w):w=t[25];let T;t[26]!==n||t[27]!==p||t[28]!==r?(T=n===`model-selection`?(0,X.jsx)(C,{onClick:p,disabled:r,className:`gap-2`,children:r?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(S,{className:`h-4 w-4 animate-spin`}),`Finishing...`]}):(0,X.jsxs)(X.Fragment,{children:[`Finish `,(0,X.jsx)(x,{className:`h-4 w-4`})]})}):null,t[26]=n,t[27]=p,t[28]=r,t[29]=T):T=t[29];let E;t[30]!==y||t[31]!==b||t[32]!==w||t[33]!==T?(E=(0,X.jsxs)(`div`,{className:`flex gap-3`,children:[y,b,w,T]}),t[30]=y,t[31]=b,t[32]=w,t[33]=T,t[34]=E):E=t[34];let D;return t[35]!==v||t[36]!==E?(D=(0,X.jsx)(`div`,{className:`px-6 py-4 border-t border-border bg-muted/10`,children:(0,X.jsxs)(O,{className:`flex items-center justify-between`,children:[v,E]})}),t[35]=v,t[36]=E,t[37]=D):D=t[37],D}function be(e){let t=(0,Y.c)(22),{selectedProvider:n,onProviderChange:r,apiKey:a,onApiKeyChange:o,validatingKey:s,connectingOpenRouter:c,savingOnboarding:l,providerEnvValues:u,onProviderEnvChange:d,keyError:f,onConnectOpenRouter:p}=e,m;t[0]!==c||t[1]!==l||t[2]!==s?(m=_e(l,s,c),t[0]=c,t[1]=l,t[2]=s,t[3]=m):m=t[3];let h=m,g;t[4]!==a||t[5]!==o||t[6]!==p||t[7]!==r||t[8]!==h||t[9]!==n?(g=(0,X.jsx)(U,{selectedProvider:n,onProviderChange:r,showApiKeyInput:!0,apiKey:a,onApiKeyChange:o,variant:`dropdown`,isLoading:h,onConnectOpenRouter:p}),t[4]=a,t[5]=o,t[6]=p,t[7]=r,t[8]=h,t[9]=n,t[10]=g):g=t[10];let _;t[11]!==d||t[12]!==h||t[13]!==u||t[14]!==n?(_=n&&K(n).map(e=>(0,X.jsx)(q,{label:(0,X.jsx)(P,{htmlFor:e,children:I(e)}),control:(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`input`,{id:e,value:u[e]??``,onChange:t=>d(e,t.target.value),disabled:h,className:`h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base`,placeholder:H(n.slug)&&e===`LOCAL_API_URL`?n.api:e,spellCheck:!1,autoCorrect:`off`,autoCapitalize:`off`}),n.slug===`azure`&&e===re(n)||H(n.slug)&&e===`LOCAL_API_URL`?(0,X.jsx)(`p`,{className:b(i.bodyMuted,`mt-2 break-all`),children:ne(n,u)||n.api}):null]}),align:`start`},e)),t[11]=d,t[12]=h,t[13]=u,t[14]=n,t[15]=_):_=t[15];let v;t[16]===f?v=t[17]:(v=f?(0,X.jsx)(G,{variant:`error`,className:`mb-0`,children:f}):null,t[16]=f,t[17]=v);let y;return t[18]!==g||t[19]!==_||t[20]!==v?(y=(0,X.jsxs)(`div`,{className:`space-y-4`,children:[g,_,v]}),t[18]=g,t[19]=_,t[20]=v,t[21]=y):y=t[21],y}function xe(e){let t=(0,Y.c)(3),{currentStep:n}=e;if(n===`provider-selection`){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(M,{children:`Select an AI Provider`}),(0,X.jsx)(k,{children:`Choose your preferred AI provider and enter your API key.`})]}),t[0]=e):e=t[0],e}if(n===`model-selection`){let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(M,{children:`Select Models`}),(0,X.jsx)(k,{children:`Choose which models you want to use with this provider.`})]}),t[1]=e):e=t[1],e}let r;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(M,{children:`Let's get started`}),(0,X.jsx)(k,{children:`First, we need to check that Git is installed on your system.`})]}),t[2]=r):r=t[2],r}function Se(e){let t=(0,Y.c)(26),{currentStep:n}=e,r=function(e){return e===`provider-selection`&&n===`provider-selection`||n===`model-selection`},a=function(e){return n===e},o=a(`git-check`)?`bg-primary text-primary-foreground`:`bg-muted text-muted-foreground`,s;t[0]===o?s=t[1]:(s=b(`flex items-center justify-center h-8 w-8 rounded-full`,i.label,o),t[0]=o,t[1]=s);let c;t[2]===s?c=t[3]:(c=(0,X.jsx)(`div`,{className:s,children:`1`}),t[2]=s,t[3]=c);let l=r(`provider-selection`)?`bg-primary`:`bg-muted`,u;t[4]===l?u=t[5]:(u=b(`h-0.5 flex-1`,l),t[4]=l,t[5]=u);let d;t[6]===u?d=t[7]:(d=(0,X.jsx)(`div`,{className:u}),t[6]=u,t[7]=d);let f=a(`provider-selection`)?`bg-primary text-primary-foreground`:`bg-muted text-muted-foreground`,p;t[8]===f?p=t[9]:(p=b(`flex items-center justify-center h-8 w-8 rounded-full`,i.label,f),t[8]=f,t[9]=p);let m;t[10]===p?m=t[11]:(m=(0,X.jsx)(`div`,{className:p,children:`2`}),t[10]=p,t[11]=m);let h=r(`model-selection`)?`bg-primary`:`bg-muted`,g;t[12]===h?g=t[13]:(g=b(`h-0.5 flex-1`,h),t[12]=h,t[13]=g);let _;t[14]===g?_=t[15]:(_=(0,X.jsx)(`div`,{className:g}),t[14]=g,t[15]=_);let v=a(`model-selection`)?`bg-primary text-primary-foreground`:`bg-muted text-muted-foreground`,y;t[16]===v?y=t[17]:(y=b(`flex items-center justify-center h-8 w-8 rounded-full`,i.label,v),t[16]=v,t[17]=y);let x;t[18]===y?x=t[19]:(x=(0,X.jsx)(`div`,{className:y,children:`3`}),t[18]=y,t[19]=x);let S;return t[20]!==_||t[21]!==x||t[22]!==c||t[23]!==d||t[24]!==m?(S=(0,X.jsxs)(`div`,{className:`w-1/2 mx-auto flex items-center gap-2 mb-6`,children:[c,d,m,_,x]}),t[20]=_,t[21]=x,t[22]=c,t[23]=d,t[24]=m,t[25]=S):S=t[25],S}var $=a(`app.onboarding-dialog.ui`);async function Ce(){for(let e=0;e<120;e+=1){await new Promise(e=>window.setTimeout(e,1e3)),o.invalidate(`providers`);let e=(await s()).find(e=>e.slug.toLowerCase()===`openrouter`);if(e?.apiKey)return e}return null}function we(e,t,n){let[r,i]=(0,Z.useState)(`git-check`),a=v({enabled:e&&r===`git-check`}),o=(0,Z.useRef)(!1),[f,g]=(0,Z.useState)([]),[_,y]=(0,Z.useState)(null),[b,x]=(0,Z.useState)(``),[S,C]=(0,Z.useState)(!1),[w,T]=(0,Z.useState)({}),[E,D]=(0,Z.useState)(!1),[O,k]=(0,Z.useState)(``),[A,j]=(0,Z.useState)(new Set),[M,N]=(0,Z.useState)(!1),[P,F]=(0,Z.useState)(!1);async function L(){try{let e=await s();if(g(e),e.length>0&&!_){let t=ee(e);t&&(y(t),x(t.apiKey??``),T(t.envValues??{}))}}catch(e){$.error(`Failed to load providers:`,e)}}async function R(){if(_){N(!0);try{await c(_.name),j(new Set)}catch(e){$.error(`Failed to load models:`,e)}finally{N(!1)}}}(0,Z.useEffect)(()=>{e&&r===`git-check`&&a.hasChecked&&!o.current&&(o.current=!0,a.gitInstalled&&i(`provider-selection`))},[e,r,a.hasChecked,a.gitInstalled]),(0,Z.useEffect)(()=>{e&&r===`provider-selection`&&f.length===0&&L()},[e,r,f.length]),(0,Z.useEffect)(()=>{e&&r===`model-selection`&&_&&R()},[e,r,_]);async function z(){if(!_||!b.trim()){k(`Please enter an API key`);return}let e=K(_),t=e.find(e=>!w[e]?.trim());if(t){k(`Please enter ${I(t)}`);return}D(!0),k(``);try{e.length>0&&await u(Object.fromEntries(e.map(e=>[e,w[e].trim()]))),await d(_.slug,b),i(`model-selection`)}catch(e){k(e instanceof Error?e.message:`Failed to validate API key`)}finally{D(!1)}}async function B(){if(_){F(!0);try{for(let e of A)await p(_.slug,e);te(),await m(),n?.(),t(!1)}catch(e){$.error(`Failed to complete onboarding:`,e)}finally{F(!1)}}}async function V(){F(!0);try{await m(),n?.(),t(!1)}catch(e){$.error(`Failed to skip onboarding:`,e)}finally{F(!1)}}function H(e){y(e),x(e.apiKey??``),T(e.envValues??{}),k(``)}function U(e,t){T(n=>({...n,[e]:t}))}function W(){i(`provider-selection`)}async function G(){if(!S){C(!0),k(``);try{let e=await l();await h(e);let t=await Ce();if(!t){k(`OpenRouter connection timed out. You can enter an API key manually.`);return}y(t),x(t.apiKey??``),i(`model-selection`)}catch(e){k(e instanceof Error?e.message:`Failed to connect to OpenRouter`)}finally{C(!1)}}}function q(){r===`provider-selection`?i(`git-check`):r===`model-selection`&&i(`provider-selection`)}return{currentStep:r,git:a,selectedProvider:_,apiKey:b,setApiKey:x,connectingOpenRouter:S,validatingKey:E,savingOnboarding:P,providerEnvValues:w,keyError:O,modelsLoading:M,setEnabledModelIds:j,handleProviderChange:H,handleProviderEnvChange:U,handleGitCheckProceed:W,handleConnectOpenRouter:G,handleBack:q,skipOnboarding:V,validateAndMoveNext:z,finishOnboarding:B}}function Te(e){e.preventDefault()}function Ee(e){let t=(0,Y.c)(47),{open:n,onOpenChange:r,onComplete:i}=e,a=we(n,r,i),o;t[0]===a.currentStep?o=t[1]:(o=(0,X.jsx)(Se,{currentStep:a.currentStep}),t[0]=a.currentStep,t[1]=o);let s;t[2]===a.currentStep?s=t[3]:(s=(0,X.jsx)(A,{children:(0,X.jsx)(xe,{currentStep:a.currentStep})}),t[2]=a.currentStep,t[3]=s);let c;t[4]!==o||t[5]!==s?(c=(0,X.jsxs)(`div`,{className:`px-6 pt-6 pb-2`,children:[o,s]}),t[4]=o,t[5]=s,t[6]=c):c=t[6];let l;t[7]!==a.currentStep||t[8]!==a.git?(l=a.currentStep===`git-check`?(0,X.jsx)(`div`,{className:`space-y-4`,children:(0,X.jsx)(ce,{gitLoading:a.git.loading,gitInstalled:a.git.gitInstalled,version:a.git.version,platform:a.git.platform,plan:a.git.plan,onCheckAgain:()=>void a.git.check()})}):null,t[7]=a.currentStep,t[8]=a.git,t[9]=l):l=t[9];let u;t[10]===a?u=t[11]:(u=a.currentStep===`provider-selection`?(0,X.jsx)(be,{selectedProvider:a.selectedProvider,onProviderChange:a.handleProviderChange,apiKey:a.apiKey,onApiKeyChange:a.setApiKey,validatingKey:a.validatingKey,connectingOpenRouter:a.connectingOpenRouter,savingOnboarding:a.savingOnboarding,providerEnvValues:a.providerEnvValues,onProviderEnvChange:a.handleProviderEnvChange,keyError:a.keyError,onConnectOpenRouter:()=>void a.handleConnectOpenRouter()}):null,t[10]=a,t[11]=u);let d;t[12]!==a.currentStep||t[13]!==a.modelsLoading||t[14]!==a.selectedProvider||t[15]!==a.setEnabledModelIds?(d=a.currentStep===`model-selection`&&a.selectedProvider?(0,X.jsx)(ge,{providerSlug:a.selectedProvider.slug,modelsLoading:a.modelsLoading,onModelsChange:a.setEnabledModelIds}):null,t[12]=a.currentStep,t[13]=a.modelsLoading,t[14]=a.selectedProvider,t[15]=a.setEnabledModelIds,t[16]=d):d=t[16];let f;t[17]!==l||t[18]!==u||t[19]!==d?(f=(0,X.jsx)(F,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,X.jsxs)(`div`,{className:`px-6 py-4`,children:[l,u,d]})}),t[17]=l,t[18]=u,t[19]=d,t[20]=f):f=t[20];let p=!!a.selectedProvider,m;t[21]===a?m=t[22]:(m=()=>void a.skipOnboarding(),t[21]=a,t[22]=m);let h,g;t[23]===a?(h=t[24],g=t[25]):(h=()=>void a.validateAndMoveNext(),g=()=>void a.finishOnboarding(),t[23]=a,t[24]=h,t[25]=g);let _;t[26]!==a.apiKey||t[27]!==a.connectingOpenRouter||t[28]!==a.currentStep||t[29]!==a.git.loading||t[30]!==a.handleBack||t[31]!==a.handleGitCheckProceed||t[32]!==a.savingOnboarding||t[33]!==a.validatingKey||t[34]!==h||t[35]!==g||t[36]!==p||t[37]!==m?(_=(0,X.jsx)(ye,{currentStep:a.currentStep,savingOnboarding:a.savingOnboarding,gitLoading:a.git.loading,validatingKey:a.validatingKey,connectingOpenRouter:a.connectingOpenRouter,apiKey:a.apiKey,hasProvider:p,onSkip:m,onBack:a.handleBack,onContinue:a.handleGitCheckProceed,onValidate:h,onFinish:g}),t[26]=a.apiKey,t[27]=a.connectingOpenRouter,t[28]=a.currentStep,t[29]=a.git.loading,t[30]=a.handleBack,t[31]=a.handleGitCheckProceed,t[32]=a.savingOnboarding,t[33]=a.validatingKey,t[34]=h,t[35]=g,t[36]=p,t[37]=m,t[38]=_):_=t[38];let v;t[39]!==_||t[40]!==c||t[41]!==f?(v=(0,X.jsxs)(j,{className:`max-w-2xl h-[min(42rem,90dvh)] flex flex-col p-0 overflow-hidden`,onInteractOutside:Te,children:[c,f,_]}),t[39]=_,t[40]=c,t[41]=f,t[42]=v):v=t[42];let y;return t[43]!==r||t[44]!==n||t[45]!==v?(y=(0,X.jsx)(N,{open:n,onOpenChange:r,children:v}),t[43]=r,t[44]=n,t[45]=v,t[46]=y):y=t[46],y}export{ye as OnboardingFooter,Ee as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e,t}from"./react-vendor-D61Uve5n.js";import{V as n}from"./dist-D5vgS4RP.js";import{t as r}from"./utils-mYB1USG6.js";import{t as i}from"./ai-spinner-DHwhlk4j.js";var a=e(),o=t();function s(e){switch(e){case`searching`:return`Searching`;case`solving`:return`Thinking`;default:return`Working`}}function c(e){let t=(0,a.c)(20),{centered:c,className:l,containerClassName:u,label:d,size:f,state:p}=e,m=c!==void 0&&c,h=f===void 0?`md`:f,g=p===void 0?`working`:p,_=h===`sm`?16:h===`lg`?32:20,v;t[0]!==d||t[1]!==g?(v=d??s(g),t[0]=d,t[1]=g,t[2]=v):v=t[2];let y=m&&`mx-auto`,b;t[3]!==l||t[4]!==y?(b=r(y,l),t[3]=l,t[4]=y,t[5]=b):b=t[5];let x;t[6]!==_||t[7]!==v||t[8]!==b?(x=(0,o.jsx)(i,{size:_,"aria-label":v,className:b}),t[6]=_,t[7]=v,t[8]=b,t[9]=x):x=t[9];let S=x;if(!m)return S;let C;t[10]===u?C=t[11]:(C=r(`flex h-full items-center justify-center`,u),t[10]=u,t[11]=C);let w;t[12]===d?w=t[13]:(w=d?(0,o.jsx)(`p`,{"aria-hidden":`true`,className:r(n.bodyMuted,`mt-2`),children:d}):null,t[12]=d,t[13]=w);let T;t[14]!==S||t[15]!==w?(T=(0,o.jsxs)(`div`,{className:`text-center`,children:[S,w]}),t[14]=S,t[15]=w,t[16]=T):T=t[16];let E;return t[17]!==T||t[18]!==C?(E=(0,o.jsx)(`div`,{className:C,children:T}),t[17]=T,t[18]=C,t[19]=E):E=t[19],E}export{c as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,o as n,t as r}from"./react-vendor-D61Uve5n.js";import{s as i}from"./chunk-QFMPRPBF-Cy-_pFSM.js";import{q as a}from"./dist-D5vgS4RP.js";import{Z as o,n as s}from"./store-CxUwqrZ5.js";import{Tt as c,ar as l,ir as u,lr as d}from"./api-COO2LfdU.js";import{t as f}from"./loader-circle-CrqRIqdA.js";import{t as p}from"./button-Dp5XDZNR.js";import{i as m,n as h,r as g,t as _}from"./tooltip-CJKJfu0l.js";import{t as v}from"./progress-indicator-4zQXqOqP.js";import{t as y}from"./use-toast-CKgZ8YeP.js";import{Cn as b,I as x,Y as S,_t as C,bt as w,gt as T,ht as E,lt as ee,ot as D,pt as O,zn as k}from"./index-CalVAwXj.js";import{i as A}from"./commit-method-fields-BEKfSRyW.js";import{t as j}from"./use-settings-page-loading-B5WU5d1c.js";var M=t(),N=r();function P(e){let t=(0,M.c)(4),{useBuiltInBrowser:n,disabled:r,onChange:i}=e,a;return t[0]!==r||t[1]!==i||t[2]!==n?(a=(0,N.jsx)(D,{title:`Built-in Browser`,description:`When enabled, Tarsk shows the Browser tab and opens detected dev URLs in the app. When disabled, the tab is hidden and URLs open in your system browser.`,controlLayout:`row-end`,action:(0,N.jsx)(S,{value:n,onChange:i,disabled:r,ariaLabel:`Built-in Browser`})}),t[0]=r,t[1]=i,t[2]=n,t[3]=a):a=t[3],a}function F(e){return e===a.PullRequest?`Feature branches are created and pull requests can be created.`:`Commits are made directly to the main branch without feature branches.`}function I(e){let t=(0,M.c)(9),{commitMethod:n,loading:r,onChange:i}=e,a;t[0]===n?a=t[1]:(a=F(n),t[0]=n,t[1]=a);let o;t[2]!==n||t[3]!==r||t[4]!==i?(o=(0,N.jsx)(A,{commitMethod:n,onCommitMethodChange:i,disabled:r}),t[2]=n,t[3]=r,t[4]=i,t[5]=o):o=t[5];let s;return t[6]!==a||t[7]!==o?(s=(0,N.jsx)(D,{title:`Commit Method`,description:a,controlLayout:`row-end`,action:o}),t[6]=a,t[7]=o,t[8]=s):s=t[8],s}function L(e){let t=(0,M.c)(22),{runCmd:n,loading:r,suggestingCommand:i,suggestDisabled:a,onChange:o,onSuggest:s}=e,c;t[0]===o?c=t[1]:(c=e=>o(e.target.value),t[0]=o,t[1]=c);let l;t[2]!==r||t[3]!==n||t[4]!==c?(l=(0,N.jsx)(b,{id:`runCommand`,value:n,onChange:c,placeholder:`e.g. npm run dev`,className:`font-mono pr-10`,disabled:r}),t[2]=r,t[3]=n,t[4]=c,t[5]=l):l=t[5];let u;t[6]===s?u=t[7]:(u=()=>void s(),t[6]=s,t[7]=u);let d;t[8]===i?d=t[9]:(d=i?(0,N.jsx)(v,{size:`sm`}):(0,N.jsx)(k,{className:`h-3.5 w-3.5`}),t[8]=i,t[9]=d);let f;t[10]!==a||t[11]!==u||t[12]!==d?(f=(0,N.jsx)(m,{asChild:!0,children:(0,N.jsx)(p,{type:`button`,variant:`ghost`,size:`icon`,className:`absolute top-1 right-1 h-8 w-8`,onClick:u,disabled:a,"aria-label":`Generate run command with AI`,children:d})}),t[10]=a,t[11]=u,t[12]=d,t[13]=f):f=t[13];let y=i?`Working out the run command...`:`Detect the project's dev script, or generate one with AI`,x;t[14]===y?x=t[15]:(x=(0,N.jsx)(h,{children:y}),t[14]=y,t[15]=x);let S;t[16]!==f||t[17]!==x?(S=(0,N.jsx)(g,{children:(0,N.jsxs)(_,{children:[f,x]})}),t[16]=f,t[17]=x,t[18]=S):S=t[18];let C;return t[19]!==l||t[20]!==S?(C=(0,N.jsx)(D,{title:`Run Command`,description:`The command to start the dev server. Leave empty to disable run functionality.`,children:(0,N.jsxs)(`div`,{className:`relative`,children:[l,S]})}),t[19]=l,t[20]=S,t[21]=C):C=t[21],C}function R(e){let t=(0,M.c)(8),{saving:n,disabled:r,onSave:i}=e,a;t[0]===i?a=t[1]:(a=()=>void i(),t[0]=i,t[1]=a);let o;t[2]===n?o=t[3]:(o=n?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(f,{className:`mr-2 h-4 w-4 animate-spin`}),`Saving...`]}):`Save`,t[2]=n,t[3]=o);let s;return t[4]!==r||t[5]!==a||t[6]!==o?(s=(0,N.jsx)(p,{onClick:a,disabled:r,children:o}),t[4]=r,t[5]=a,t[6]=o,t[7]=s):s=t[7],s}function z(e){let t=(0,M.c)(22),{value:n,loading:r,suggestingScript:i,suggestDisabled:a,onChange:o,onSuggest:s}=e,c;t[0]===o?c=t[1]:(c=e=>o(e.target.value),t[0]=o,t[1]=c);let l;t[2]!==r||t[3]!==c||t[4]!==n?(l=(0,N.jsx)(x,{id:`setupScript`,value:n,onChange:c,placeholder:`e.g. npm install`,className:`font-mono min-h-[80px] resize-none pr-10`,disabled:r}),t[2]=r,t[3]=c,t[4]=n,t[5]=l):l=t[5];let u;t[6]===s?u=t[7]:(u=()=>void s(),t[6]=s,t[7]=u);let d;t[8]===i?d=t[9]:(d=i?(0,N.jsx)(v,{size:`sm`}):(0,N.jsx)(k,{className:`h-3.5 w-3.5`}),t[8]=i,t[9]=d);let f;t[10]!==a||t[11]!==u||t[12]!==d?(f=(0,N.jsx)(m,{asChild:!0,children:(0,N.jsx)(p,{type:`button`,variant:`ghost`,size:`icon`,className:`absolute top-2 right-2 h-6 w-6`,onClick:u,disabled:a,"aria-label":`Generate setup script with AI`,children:d})}),t[10]=a,t[11]=u,t[12]=d,t[13]=f):f=t[13];let y=i?`Working out the setup script...`:`Generate the dependency install script with AI`,b;t[14]===y?b=t[15]:(b=(0,N.jsx)(h,{children:y}),t[14]=y,t[15]=b);let S;t[16]!==f||t[17]!==b?(S=(0,N.jsx)(g,{children:(0,N.jsxs)(_,{children:[f,b]})}),t[16]=f,t[17]=b,t[18]=S):S=t[18];let C;return t[19]!==l||t[20]!==S?(C=(0,N.jsx)(D,{title:`Setup Script`,description:`This script runs automatically after cloning the repo for new threads.`,children:(0,N.jsxs)(`div`,{className:`relative`,children:[l,S]})}),t[19]=l,t[20]=S,t[21]=C):C=t[21],C}var B=e(n(),1);async function V(e,t){if(!e){t.setLoading(!1);return}t.setLoading(!0);try{let n=await c(e);t.setValue(n.setupScript??``),t.setRunCmd(n.runCommand??``),t.setCommitMethod(n.commitMethod??a.PullRequest),t.setUseBuiltInBrowser(n.useBuiltInBrowser!==!1),t.setOriginalValue(n.setupScript??``),t.setOriginalRunCmd(n.runCommand??``),t.setOriginalCommitMethod(n.commitMethod??a.PullRequest),t.setOriginalUseBuiltInBrowser(n.useBuiltInBrowser!==!1)}catch(e){y({title:`Error`,description:e instanceof Error?e.message:`Failed to load coding settings`,variant:`destructive`})}finally{t.setLoading(!1)}}async function H(e,t,n){n(!0);try{let n=await u(e);if(!n.runCommand){y({title:`No run command found`,description:n.reason??`Could not detect a dev script in the project's package.json`});return}t(n.runCommand),y({title:n.source===`ai`?`Generated run command`:`Detected run command`,description:n.runCommand})}catch(e){y({title:`Error`,description:e instanceof Error?e.message:`Failed to suggest command`,variant:`destructive`})}finally{n(!1)}}async function U(e,t,n){n(!0);try{let n=await l(e);if(!n.setupScript){y({title:`No setup script found`,description:n.reason??`Could not work out how to install this project's dependencies`});return}t(n.setupScript),y({title:n.source===`ai`?`Generated setup script`:`Detected setup script`,description:n.setupScript})}catch(e){y({title:`Error`,description:e instanceof Error?e.message:`Failed to suggest setup script`,variant:`destructive`})}finally{n(!1)}}async function W(e,t,n,r){await d(e,{setupScript:t.trim()||null,runCommand:n.trim()||null,commitMethod:r})}async function G(e,t,n){t!==n&&await d(e,{useBuiltInBrowser:t})}function te(e){return e.value!==e.originalValue||e.runCmd!==e.originalRunCmd||e.commitMethod!==e.originalCommitMethod||e.useBuiltInBrowser!==e.originalUseBuiltInBrowser}async function ne(e,t,n){n.setSaving(!0);try{return await W(e,t.value,t.runCmd,t.commitMethod),await G(e,t.useBuiltInBrowser,t.originalUseBuiltInBrowser),n.setOriginalValue(t.value),n.setOriginalRunCmd(t.runCmd),n.setOriginalCommitMethod(t.commitMethod),n.setOriginalUseBuiltInBrowser(t.useBuiltInBrowser),!0}catch(e){return y({title:`Error`,description:e instanceof Error?e.message:`Failed to save coding settings`,variant:`destructive`}),!1}finally{n.setSaving(!1)}}function re(e){let{setValue:t,setRunCmd:n,setCommitMethod:r,setUseBuiltInBrowser:i,setOriginalValue:a,setOriginalRunCmd:o,setOriginalCommitMethod:s,setOriginalUseBuiltInBrowser:c,setLoading:l,setSaving:u,setSuggestingCommand:d}=e;return e}function ie(){let e=(0,M.c)(5),[t,n]=(0,B.useState)(``),[r,i]=(0,B.useState)(``),[o,s]=(0,B.useState)(a.PullRequest),[c,l]=(0,B.useState)(!0),u;return e[0]!==o||e[1]!==r||e[2]!==c||e[3]!==t?(u={value:t,setValue:n,runCmd:r,setRunCmd:i,commitMethod:o,setCommitMethod:s,useBuiltInBrowser:c,setUseBuiltInBrowser:l},e[0]=o,e[1]=r,e[2]=c,e[3]=t,e[4]=u):u=e[4],u}function ae(){let e=(0,M.c)(5),[t,n]=(0,B.useState)(``),[r,i]=(0,B.useState)(``),[o,s]=(0,B.useState)(a.PullRequest),[c,l]=(0,B.useState)(!0),u;return e[0]!==o||e[1]!==r||e[2]!==c||e[3]!==t?(u={originalValue:t,setOriginalValue:n,originalRunCmd:r,setOriginalRunCmd:i,originalCommitMethod:o,setOriginalCommitMethod:s,originalUseBuiltInBrowser:c,setOriginalUseBuiltInBrowser:l},e[0]=o,e[1]=r,e[2]=c,e[3]=t,e[4]=u):u=e[4],u}function K(e,t){let n=(0,M.c)(71),r=i(),a=s(),c=ie(),l=ae(),{value:u,setValue:d,runCmd:f,setRunCmd:p,commitMethod:m,setCommitMethod:h,useBuiltInBrowser:g,setUseBuiltInBrowser:_}=c,{originalValue:v,setOriginalValue:y,originalRunCmd:b,setOriginalRunCmd:x,originalCommitMethod:S,setOriginalCommitMethod:C,originalUseBuiltInBrowser:w,setOriginalUseBuiltInBrowser:T}=l,[E,ee]=(0,B.useState)(!1),[D,O]=(0,B.useState)(!1),[k,A]=(0,B.useState)(!1),[N,P]=(0,B.useState)(!0),F;n[0]!==h||n[1]!==C||n[2]!==x||n[3]!==T||n[4]!==y||n[5]!==p||n[6]!==_||n[7]!==d?(F={setValue:d,setRunCmd:p,setCommitMethod:h,setUseBuiltInBrowser:_,setOriginalValue:y,setOriginalRunCmd:x,setOriginalCommitMethod:C,setOriginalUseBuiltInBrowser:T,setLoading:P,setSaving:ee,setSuggestingCommand:O},n[0]=h,n[1]=C,n[2]=x,n[3]=T,n[4]=y,n[5]=p,n[6]=_,n[7]=d,n[8]=F):F=n[8];let I=re(F),L;n[9]!==e||n[10]!==I?(L=()=>V(e,I),n[9]=e,n[10]=I,n[11]=L):L=n[11];let R=L,z,W;n[12]===e?(z=n[13],W=n[14]):(z=()=>{e&&P(!0)},W=[e],n[12]=e,n[13]=z,n[14]=W),(0,B.useLayoutEffect)(z,W);let G,K;n[15]===R?(G=n[16],K=n[17]):(G=()=>{R()},K=[R],n[15]=R,n[16]=G,n[17]=K),(0,B.useEffect)(G,K);let q;n[18]===N?q=n[19]:(q=[N],n[18]=N,n[19]=q);let se=j(e,q),J;n[20]===h?J=n[21]:(J=function(e){h(e)},n[20]=h,n[21]=J);let ce=J,Y;n[22]!==e||n[23]!==p?(Y=async function(){e&&await H(e,p,O)},n[22]=e,n[23]=p,n[24]=Y):Y=n[24];let le=Y,X;n[25]!==e||n[26]!==d?(X=async function(){e&&await U(e,d,A)},n[25]=e,n[26]=d,n[27]=X):X=n[27];let ue=X,Z;n[28]!==m||n[29]!==a||n[30]!==r||n[31]!==t||n[32]!==S||n[33]!==b||n[34]!==w||n[35]!==v||n[36]!==e||n[37]!==f||n[38]!==I||n[39]!==g||n[40]!==u?(Z=async function(){if(!e)return;let n=f.trim()!==``&&b.trim()===``;await ne(e,{value:u,runCmd:f,commitMethod:m,useBuiltInBrowser:g,originalValue:v,originalRunCmd:b,originalCommitMethod:S,originalUseBuiltInBrowser:w},I)&&(n&&a({type:o.SetRunCommandSaved,projectId:e}),t&&t().catch(oe),r(`/`))},n[28]=m,n[29]=a,n[30]=r,n[31]=t,n[32]=S,n[33]=b,n[34]=w,n[35]=v,n[36]=e,n[37]=f,n[38]=I,n[39]=g,n[40]=u,n[41]=Z):Z=n[41];let de=Z,fe=N||E,pe=N||D||k,Q;n[42]!==m||n[43]!==S||n[44]!==b||n[45]!==w||n[46]!==v||n[47]!==f||n[48]!==g||n[49]!==u?(Q=te({value:u,runCmd:f,commitMethod:m,useBuiltInBrowser:g,originalValue:v,originalRunCmd:b,originalCommitMethod:S,originalUseBuiltInBrowser:w}),n[42]=m,n[43]=S,n[44]=b,n[45]=w,n[46]=v,n[47]=f,n[48]=g,n[49]=u,n[50]=Q):Q=n[50];let me=Q,$;return n[51]!==m||n[52]!==fe||n[53]!==ce||n[54]!==de||n[55]!==le||n[56]!==ue||n[57]!==me||n[58]!==N||n[59]!==se||n[60]!==f||n[61]!==E||n[62]!==p||n[63]!==_||n[64]!==d||n[65]!==pe||n[66]!==D||n[67]!==k||n[68]!==g||n[69]!==u?($={value:u,setValue:d,runCmd:f,setRunCmd:p,commitMethod:m,saving:E,suggestingCommand:D,suggestingScript:k,loading:N,useBuiltInBrowser:g,setUseBuiltInBrowser:_,pageLoading:se,handleCommitMethodChange:ce,handleSuggestCommand:le,handleSuggestSetupScript:ue,handleSave:de,controlsDisabled:fe,suggestDisabled:pe,hasUnsavedChanges:me},n[51]=m,n[52]=fe,n[53]=ce,n[54]=de,n[55]=le,n[56]=ue,n[57]=me,n[58]=N,n[59]=se,n[60]=f,n[61]=E,n[62]=p,n[63]=_,n[64]=d,n[65]=pe,n[66]=D,n[67]=k,n[68]=g,n[69]=u,n[70]=$):$=n[70],$}function oe(){}function q(e){let t=(0,M.c)(39),{projectId:n,onProjectUpdated:r}=e,{value:i,setValue:a,runCmd:o,setRunCmd:s,commitMethod:c,saving:l,suggestingCommand:u,suggestingScript:d,loading:f,useBuiltInBrowser:p,setUseBuiltInBrowser:m,pageLoading:h,handleCommitMethodChange:g,handleSuggestCommand:_,handleSuggestSetupScript:v,handleSave:y,controlsDisabled:b,suggestDisabled:x,hasUnsavedChanges:S}=K(n,r);if(!n){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,N.jsx)(T,{title:`No project selected`,children:`Please select a project from the sidebar to view its coding settings.`}),t[0]=e):e=t[0],e}let D=b||!S,k;t[1]!==y||t[2]!==l||t[3]!==D?(k=(0,N.jsx)(ee,{title:`Setup`,description:`Scripts and command behavior Tarsk uses when working on this project.`,action:(0,N.jsx)(R,{saving:l,disabled:D,onSave:y}),sticky:!1}),t[1]=y,t[2]=l,t[3]=D,t[4]=k):k=t[4];let A;t[5]!==v||t[6]!==f||t[7]!==a||t[8]!==x||t[9]!==d||t[10]!==i?(A=(0,N.jsx)(z,{value:i,loading:f,suggestingScript:d,suggestDisabled:x,onChange:a,onSuggest:v}),t[5]=v,t[6]=f,t[7]=a,t[8]=x,t[9]=d,t[10]=i,t[11]=A):A=t[11];let j;t[12]!==_||t[13]!==f||t[14]!==o||t[15]!==s||t[16]!==x||t[17]!==u?(j=(0,N.jsx)(L,{runCmd:o,loading:f,suggestingCommand:u,suggestDisabled:x,onChange:s,onSuggest:_}),t[12]=_,t[13]=f,t[14]=o,t[15]=s,t[16]=x,t[17]=u,t[18]=j):j=t[18];let F;t[19]!==c||t[20]!==g||t[21]!==f?(F=(0,N.jsx)(I,{commitMethod:c,loading:f,onChange:g}),t[19]=c,t[20]=g,t[21]=f,t[22]=F):F=t[22];let B;t[23]!==b||t[24]!==m||t[25]!==p?(B=(0,N.jsx)(P,{useBuiltInBrowser:p,disabled:b,onChange:m}),t[23]=b,t[24]=m,t[25]=p,t[26]=B):B=t[26];let V;t[27]!==A||t[28]!==j||t[29]!==F||t[30]!==B?(V=(0,N.jsx)(C,{className:`max-w-none pt-6`,children:(0,N.jsxs)(E,{children:[A,j,F,B]})}),t[27]=A,t[28]=j,t[29]=F,t[30]=B,t[31]=V):V=t[31];let H;t[32]!==k||t[33]!==V?(H=(0,N.jsxs)(w,{className:`shrink-0`,children:[k,V]}),t[32]=k,t[33]=V,t[34]=H):H=t[34];let U;return t[35]!==h||t[36]!==n||t[37]!==H?(U=(0,N.jsx)(O,{loading:h,children:H},n),t[35]=h,t[36]=n,t[37]=H,t[38]=U):U=t[38],U}export{q as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,o as n,t as r}from"./react-vendor-D61Uve5n.js";import{a as i,i as a}from"./use-account-settings-query-AUeOqKvo.js";import{V as o,at as s,ft as c,it as l,mt as u,nt as d,ot as f,pt as p,rt as m}from"./dist-D5vgS4RP.js";import{at as h}from"./api-COO2LfdU.js";import{t as g}from"./utils-mYB1USG6.js";import{t as _}from"./button-Dp5XDZNR.js";import{t as v}from"./use-toast-CKgZ8YeP.js";import{a as y,i as b,n as x,o as S,r as C,t as w}from"./select-B6RizwDW.js";import{Mt as T,St as E,_t as D,bt as O,lt as k,pt as A,rt as j,st as M}from"./index-CalVAwXj.js";import{a as N,i as P,n as F,o as I,r as L,t as R}from"./table-C3Hc0Gwy.js";import{t as z}from"./use-settings-page-loading-B5WU5d1c.js";var B=e(n(),1),V=t(),H=r(),U=`__unspecified__`,W=`__default__`,G=`Unsupported`,K=`table-fixed`,q=`[&_tr]:border-b-0`,J=`h-9 px-0 py-2`,Y=g(J,`w-40`),X=g(J,`w-56`),Z=`py-2 pl-0 pr-4 align-middle`,Q=`py-2 pl-0 align-middle`;function ee(e){let t=(0,V.c)(20),{alias:n,target:r,supportedReasoningEfforts:i,disabled:a,onReasoningChange:s}=e;if(!r)return null;if(i.length===0){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,H.jsx)(`span`,{className:o.bodyMuted,children:G}),t[0]=e):e=t[0],e}let c=r.reasoningEffort??W,l;t[1]!==n||t[2]!==s?(l=e=>s(n,e),t[1]=n,t[2]=s,t[3]=l):l=t[3];let u=`model-alias-${n}-reasoning`,d=`${m[n]} reasoning effort`,f;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,H.jsx)(S,{placeholder:`Model default`}),t[4]=f):f=t[4];let h;t[5]!==u||t[6]!==d?(h=(0,H.jsx)(y,{id:u,className:`w-full min-w-0`,"aria-label":d,children:f}),t[5]=u,t[6]=d,t[7]=h):h=t[7];let g;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,H.jsx)(C,{value:W,children:`Model default`}),t[8]=g):g=t[8];let _;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,H.jsx)(C,{value:`off`,children:p(`off`)}),t[9]=_):_=t[9];let v;t[10]===i?v=t[11]:(v=i.map(te),t[10]=i,t[11]=v);let b;t[12]===v?b=t[13]:(b=(0,H.jsxs)(x,{children:[g,_,v]}),t[12]=v,t[13]=b);let T;return t[14]!==a||t[15]!==c||t[16]!==b||t[17]!==l||t[18]!==h?(T=(0,H.jsxs)(w,{value:c,onValueChange:l,disabled:a,children:[h,b]}),t[14]=a,t[15]=c,t[16]=b,t[17]=l,t[18]=h,t[19]=T):T=t[19],T}function te(e){return(0,H.jsx)(C,{value:e,children:p(e)},e)}function ne(e){let t=(0,V.c)(21),{value:n,onChange:r,enabledModels:i,disabled:a}=e,o=a!==void 0&&a,c;if(t[0]!==i){c=new Map;for(let e of i){let t=e.provider??`other`,n=c.get(t);n?n.push(e):c.set(t,[e])}t[0]=i,t[1]=c}else c=t[1];let p=c,h;t[2]!==r||t[3]!==n?(h=function(e,t){let i={...n};if(t===U){delete i[e],r(i);return}let a=s(t);a&&(i[e]=a,r(i))},t[2]=r,t[3]=n,t[4]=h):h=t[4];let g=h,_;t[5]===i?_=t[6]:(_=function(e){if(!e)return;let t=e.provider.toLowerCase();return i.find(n=>n.id===e.model&&(n.provider??`other`).toLowerCase()===t)},t[5]=i,t[6]=_);let v=_,E;t[7]!==r||t[8]!==n?(E=function(e,t){let i=n[e];if(!i)return;let a={...i};if(t===W)delete a.reasoningEffort;else if(u(t))a.reasoningEffort=t;else return;r({...n,[e]:a})},t[7]=r,t[8]=n,t[9]=E):E=t[9];let D=E,O;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,H.jsx)(N,{className:q,children:(0,H.jsxs)(`tr`,{children:[(0,H.jsx)(P,{className:Y,children:`Name`}),(0,H.jsx)(P,{className:J,children:`Model`}),(0,H.jsx)(P,{className:X,children:`Reasoning`})]})}),t[10]=O):O=t[10];let k;t[11]!==o||t[12]!==i||t[13]!==v||t[14]!==g||t[15]!==D||t[16]!==p||t[17]!==n?(k=l.map(e=>{let t=n[e],r=t?f(t):U,a=v(t)?.supportedReasoningEfforts??[];return(0,H.jsxs)(I,{className:`hover:bg-transparent`,children:[(0,H.jsx)(L,{className:Z,children:(0,H.jsx)(M,{title:m[e],description:d[e]})}),(0,H.jsx)(L,{className:Z,children:(0,H.jsxs)(w,{value:r,onValueChange:t=>g(e,t),disabled:o,children:[(0,H.jsx)(y,{id:`model-alias-${e}`,className:`w-full min-w-0`,children:(0,H.jsx)(S,{placeholder:`Unspecified`,children:t?(0,H.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,H.jsx)(j,{providerSlug:t.provider}),(0,H.jsx)(`span`,{className:`truncate`,children:T(t.model)})]}):`Unspecified`})}),(0,H.jsxs)(x,{children:[(0,H.jsx)(C,{value:U,children:`Unspecified`}),i.length>0&&(0,H.jsx)(b,{}),[...p.entries()].map(re)]})]})}),(0,H.jsx)(L,{className:Q,children:(0,H.jsx)(ee,{alias:e,target:t,supportedReasoningEfforts:a,disabled:o,onReasoningChange:D})})]},e)}),t[11]=o,t[12]=i,t[13]=v,t[14]=g,t[15]=D,t[16]=p,t[17]=n,t[18]=k):k=t[18];let A;return t[19]===k?A=t[20]:(A=(0,H.jsx)(`div`,{id:`model-aliases`,children:(0,H.jsxs)(R,{className:K,children:[O,(0,H.jsx)(F,{children:k})]})}),t[19]=k,t[20]=A),A}function re(e){let[t,n]=e;return(0,H.jsxs)(`div`,{children:[(0,H.jsxs)(`div`,{className:g(o.dropdownGroupHeading,`flex items-center gap-1.5 px-2 py-1.5 uppercase`),children:[(0,H.jsx)(j,{providerSlug:t}),t]}),n.map(e=>{let n=f({provider:e.provider??t,model:e.id});return(0,H.jsx)(C,{value:n,children:T(e.id)},n)})]},t)}function ie(e){return[...e].sort((e,t)=>{let n=(e.provider??``).localeCompare(t.provider??``);return n===0?T(e.id).localeCompare(T(t.id)):n})}function $(e,t){return JSON.stringify(e)!==JSON.stringify(t)}function ae(){let{data:e,isLoading:t}=a(),n=i(),[r,o]=(0,B.useState)({}),[s,l]=(0,B.useState)({}),u=(0,B.useRef)(s),[d,f]=(0,B.useState)([]),[p,m]=(0,B.useState)(!0),g=t||p,y=n.isPending;(0,B.useEffect)(function(){let e=!1;async function t(){m(!0);try{let t=await h().catch(()=>({}));e||f(ie(Object.values(t).flat()))}finally{e||m(!1)}}return t(),function(){e=!0}},[]);let b=e?.modelAliases;(0,B.useEffect)(function(){b&&(o(function(e){return $(e,u.current)?e:b}),u.current=b,l(b))},[b]);let x=z(`model-aliases`,[g]);function S(){return $(r,s)}async function C(){if(S())try{let e=Object.keys(r).length>0?r:void 0;if(e){let t=await h(),n=Object.fromEntries(Object.entries(t).map(([e,t])=>[e,t.map(e=>e.id)]));c(e,n)}await n.mutateAsync({modelAliases:e??null}),u.current=r,l(r),E()}catch(e){v({title:`Error`,description:e instanceof Error?e.message:`Failed to save model aliases`,variant:`destructive`})}}return(0,H.jsx)(A,{loading:x,children:(0,H.jsxs)(O,{className:`shrink-0`,children:[(0,H.jsx)(k,{title:`Default Models`,description:`Choose the default model for new chats and map Tarsk-wide short names (fast, local, cheap, smart) to enabled models. Subagents can reference these aliases in AGENT.md. Set Cheap to enable Orchestrate mode.`,action:(0,H.jsx)(_,{onClick:()=>void C(),disabled:g||y||!S(),children:`Save`}),sticky:!1}),(0,H.jsx)(D,{className:`max-w-none pt-6`,children:(0,H.jsx)(ne,{value:r,onChange:o,enabledModels:d,disabled:g||y})})]})})}export{ae as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,o as n,t as r}from"./react-vendor-D61Uve5n.js";import{s as i}from"./chunk-QFMPRPBF-Cy-_pFSM.js";import{C as a,D as o,O as s,V as c,w as l}from"./dist-D5vgS4RP.js";import{r as u}from"./store-CxUwqrZ5.js";import{Et as d,Tt as f,jn as p,lr as m,ui as h,ur as g}from"./api-COO2LfdU.js";import{t as _}from"./loader-circle-CrqRIqdA.js";import{t as v}from"./button-Dp5XDZNR.js";import{i as ee,n as y,r as te,t as b}from"./tooltip-CJKJfu0l.js";import{t as x}from"./use-toast-CKgZ8YeP.js";import{Cn as S,I as ne,Jt as C,Kt as w,Xt as T,_r as re,_t as ie,bt as ae,gt as oe,ht as se,lt as ce,o as E,ot as le,pt as ue,qt as D}from"./index-CalVAwXj.js";import{t as de}from"./use-settings-page-loading-B5WU5d1c.js";var O=t(),k=e(n(),1),A=r();function j(e){return new Promise((t,n)=>{let r=new Image;r.onload=()=>t(r),r.onerror=()=>n(Error(`The selected file is not a readable image.`)),r.src=e})}async function fe(e,t){if(!e){t.setLoading(!1);return}t.setLoading(!0);try{let n=await f(e);t.setProjectPath(n.projectPath??null),t.setName(n.name??``),t.setProjectIcon(n.projectIcon??null),t.setOriginalName(n.name??``),t.setOriginalProjectIcon(n.projectIcon??null);try{let n=await d(e,`AGENTS.md`);t.setInstructions(n.content),t.setOriginalInstructions(n.content)}catch{t.setInstructions(``),t.setOriginalInstructions(``)}}catch(e){x({title:`Error`,description:e instanceof Error?e.message:`Failed to load project settings`,variant:`destructive`})}finally{t.setLoading(!1)}}function pe(e){return new Promise(function(t,n){let r=new FileReader;r.onload=function(){typeof r.result==`string`?t(r.result):n(Error(`The selected file could not be read.`))},r.onerror=function(){n(Error(`The selected file could not be read.`))},r.readAsDataURL(e)})}async function me(e,t){try{let n=await j(e),r=await fetch(e);if(!r.ok)throw Error(`The selected file could not be read.`);let i=await r.blob(),o=a(new Uint8Array(await i.slice(0,12).arrayBuffer())),s=o?l(o):null;if(s?.mime===`image/webp`){t(await pe(i.slice(0,i.size,s.mime)));return}let c=document.createElement(`canvas`);c.width=256,c.height=256;let u=c.getContext(`2d`);if(!u)throw Error(`Could not prepare image conversion`);u.imageSmoothingEnabled=!0,u.imageSmoothingQuality=`high`;let d=Math.max(256/n.naturalWidth,256/n.naturalHeight),f=n.naturalWidth*d,p=n.naturalHeight*d;u.drawImage(n,(256-f)/2,(256-p)/2,f,p),t(c.toDataURL(`image/png`))}catch(e){x({title:`Could not use image`,description:e instanceof Error?e.message:`The selected file could not be read.`,variant:`destructive`})}}async function he(e,t){let n=e.target.files?.[0];if(e.target.value=``,!n)return;let r=URL.createObjectURL(n);try{await me(r,t)}finally{URL.revokeObjectURL(r)}}async function ge(e,t,n){t!==n&&await g(e,t)}async function M(e,t,n){t!==n&&await p(e,`AGENTS.md`,t)}async function N(e,t,n){t!==n&&await m(e,{projectIcon:t})}async function _e(e,t,n,r,i,a){n.setSaving(!0);try{await ge(e,t.name,t.originalName),await M(e,t.instructions,t.originalInstructions),await N(e,t.projectIcon,t.originalProjectIcon),n.setOriginalName(t.name),n.setOriginalInstructions(t.instructions),n.setOriginalProjectIcon(t.projectIcon),r&&await r(),await a(),i(`/`)}catch(e){x({title:`Error`,description:e instanceof Error?e.message:`Failed to save settings`,variant:`destructive`})}finally{n.setSaving(!1)}}function ve(e){let t=(0,O.c)(33),{projectIcon:n,entityNoun:r,fixed:i,disabled:a,inputRef:o,onFileChange:s,onButtonClick:l,onRemove:u}=e,d;t[0]===n?d=t[1]:(d=n?(0,A.jsx)(`img`,{src:n,alt:``,className:`h-full w-full object-cover`}):(0,A.jsx)(re,{className:`h-8 w-8 text-muted-foreground`,strokeWidth:1.5}),t[0]=n,t[1]=d);let f=d;if(i){let e;t[2]===f?e=t[3]:(e=(0,A.jsx)(`div`,{className:`flex h-16 w-16 items-center justify-center overflow-hidden rounded-lg border border-border`,children:f}),t[2]=f,t[3]=e);let n;t[4]===r?n=t[5]:(n=(0,A.jsxs)(`p`,{className:c.caption,children:[`Tarsk ships the avatar for this `,r]}),t[4]=r,t[5]=n);let i;return t[6]!==e||t[7]!==n?(i=(0,A.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[e,n]}),t[6]=e,t[7]=n,t[8]=i):i=t[8],i}let p;t[9]!==a||t[10]!==o||t[11]!==s?(p=(0,A.jsx)(`input`,{ref:o,type:`file`,accept:`image/*`,className:`sr-only`,onChange:s,disabled:a}),t[9]=a,t[10]=o,t[11]=s,t[12]=p):p=t[12];let m=n?`Change project icon`:`Choose project icon`,h;t[13]!==f||t[14]!==a||t[15]!==l||t[16]!==m?(h=(0,A.jsx)(T,{asChild:!0,children:(0,A.jsx)(ee,{asChild:!0,children:(0,A.jsx)(`button`,{type:`button`,className:`flex h-16 w-16 items-center justify-center overflow-hidden rounded-lg border border-border bg-muted/40 outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:l,disabled:a,"aria-label":m,children:f})})}),t[13]=f,t[14]=a,t[15]=l,t[16]=m,t[17]=h):h=t[17];let g;t[18]===r?g=t[19]:(g=(0,A.jsxs)(y,{side:`bottom`,className:`max-w-xs`,children:[`Choose an avatar for this `,r,` (pick any image from your computer)`]}),t[18]=r,t[19]=g);let _;t[20]!==h||t[21]!==g?(_=(0,A.jsx)(te,{delayDuration:300,children:(0,A.jsxs)(b,{children:[h,g]})}),t[20]=h,t[21]=g,t[22]=_):_=t[22];let v;t[23]!==a||t[24]!==u||t[25]!==n?(v=n&&(0,A.jsx)(D,{children:(0,A.jsx)(C,{disabled:a,onSelect:u,children:`Remove`})}),t[23]=a,t[24]=u,t[25]=n,t[26]=v):v=t[26];let x;t[27]!==_||t[28]!==v?(x=(0,A.jsxs)(w,{children:[_,v]}),t[27]=_,t[28]=v,t[29]=x):x=t[29];let S;return t[30]!==p||t[31]!==x?(S=(0,A.jsxs)(`div`,{className:`flex items-center gap-2`,children:[p,x]}),t[30]=p,t[31]=x,t[32]=S):S=t[32],S}function ye(e){let t=(0,O.c)(6),{saving:n,disabled:r,onClick:i}=e,a;t[0]===n?a=t[1]:(a=n?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(_,{className:`mr-2 h-4 w-4 animate-spin`}),`Saving...`]}):`Save`,t[0]=n,t[1]=a);let o;return t[2]!==r||t[3]!==i||t[4]!==a?(o=(0,A.jsx)(v,{onClick:i,disabled:r,children:a}),t[2]=r,t[3]=i,t[4]=a,t[5]=o):o=t[5],o}function be(e,t,n){let r=(0,O.c)(13),i;r[0]===e?i=r[1]:(i=function(t){return me(t,e)},r[0]=e,r[1]=i);let a=i,o,s;r[2]===a?(o=r[3],s=r[4]):(o=()=>{if(!h())return;let e=function(e){let t=e.detail.dataUrl;a(t)};return window.addEventListener(`tarsk:project-icon-selected`,e),()=>{window.removeEventListener(`tarsk:project-icon-selected`,e)}},s=[a],r[2]=a,r[3]=o,r[4]=s),(0,k.useEffect)(o,s);let c;r[5]===e?c=r[6]:(c=function(t){return he(t,e)},r[5]=e,r[6]=c);let l=c,u;r[7]!==n||r[8]!==t?(u=function(){h()&&t?E(t):n.current?.click()},r[7]=n,r[8]=t,r[9]=u):u=r[9];let d=u,f;return r[10]!==d||r[11]!==l?(f={handleProjectIconChange:l,handleProjectIconButtonClick:d},r[10]=d,r[11]=l,r[12]=f):f=r[12],f}function P(e){let t=(0,O.c)(60),{projectId:n,onProjectUpdated:r}=e,a=i(),c;t[0]===n?c=t[1]:(c=e=>e.projects.find(e=>e.projectId===n)?.type,t[0]=n,t[1]=c);let l=u(c),d;t[2]===n?d=t[3]:(d=e=>e.projects.find(e=>e.projectId===n)?.builtIn,t[2]=n,t[3]=d);let f=u(d),p=o({type:l})?`bot`:`project`,m;t[4]===f?m=t[5]:(m=s({builtIn:f}),t[4]=f,t[5]=m);let h=m,[g,_]=(0,k.useState)(``),[v,ee]=(0,k.useState)(``),[y,te]=(0,k.useState)(``),[b,x]=(0,k.useState)(!1),[C,w]=(0,k.useState)(!0),[T,re]=(0,k.useState)(``),[E,D]=(0,k.useState)(null),[j,pe]=(0,k.useState)(null),[me,he]=(0,k.useState)(null),ge=(0,k.useRef)(null),M;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(M={setProjectPath:he,setName:_,setInstructions:ee,setProjectIcon:D,setOriginalName:re,setOriginalInstructions:te,setOriginalProjectIcon:pe,setLoading:w,setSaving:x},t[6]=M):M=t[6];let N=M,P;t[7]===n?P=t[8]:(P=()=>fe(n,N),t[7]=n,t[8]=P);let F=P,I,L;t[9]===n?(I=t[10],L=t[11]):(I=()=>{n&&w(!0)},L=[n],t[9]=n,t[10]=I,t[11]=L),(0,k.useLayoutEffect)(I,L);let R,z;t[12]===F?(R=t[13],z=t[14]):(R=()=>{F()},z=[F],t[12]=F,t[13]=R,t[14]=z),(0,k.useEffect)(R,z);let B;t[15]===C?B=t[16]:(B=[C],t[15]=C,t[16]=B);let V=de(n,B),{handleProjectIconChange:xe,handleProjectIconButtonClick:Se}=be(D,me,ge),H;t[17]!==v||t[18]!==F||t[19]!==g||t[20]!==a||t[21]!==r||t[22]!==y||t[23]!==T||t[24]!==j||t[25]!==E||t[26]!==n?(H=async()=>{n&&await _e(n,{name:g,instructions:v,projectIcon:E,originalName:T,originalInstructions:y,originalProjectIcon:j},N,r,a,F)},t[17]=v,t[18]=F,t[19]=g,t[20]=a,t[21]=r,t[22]=y,t[23]=T,t[24]=j,t[25]=E,t[26]=n,t[27]=H):H=t[27];let Ce=H,U=C||b,we=g!==T||v!==y||E!==j;if(!n){let e;return t[28]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,A.jsx)(oe,{title:`No project selected`,children:`Please select a project from the sidebar to view its settings.`}),t[28]=e):e=t[28],e}let Te=U||!we,W;t[29]!==Ce||t[30]!==b||t[31]!==Te?(W=(0,A.jsx)(ce,{title:`Project Settings`,description:`Configure settings for your project.`,action:(0,A.jsx)(ye,{saving:b,disabled:Te,onClick:Ce}),sticky:!1}),t[29]=Ce,t[30]=b,t[31]=Te,t[32]=W):W=t[32];let G;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(G=()=>D(null),t[33]=G):G=t[33];let K;t[34]!==U||t[35]!==Se||t[36]!==xe||t[37]!==p||t[38]!==h||t[39]!==E?(K=(0,A.jsx)(`div`,{className:`flex justify-center`,children:(0,A.jsx)(ve,{projectIcon:E,entityNoun:p,fixed:h,disabled:U,inputRef:ge,onFileChange:xe,onButtonClick:Se,onRemove:G})}),t[34]=U,t[35]=Se,t[36]=xe,t[37]=p,t[38]=h,t[39]=E,t[40]=K):K=t[40];let q;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(q=e=>_(e.target.value),t[41]=q):q=t[41];let J;t[42]!==C||t[43]!==g?(J=(0,A.jsx)(le,{title:`Name`,controlLayout:`stack`,children:(0,A.jsx)(S,{id:`projectName`,value:g,onChange:q,placeholder:`Enter project name`,disabled:C})}),t[42]=C,t[43]=g,t[44]=J):J=t[44];let Y;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(Y=e=>ee(e.target.value),t[45]=Y):Y=t[45];let X;t[46]!==v||t[47]!==C?(X=(0,A.jsx)(le,{title:`Instructions`,description:`Agent context and coding guidelines, stored in AGENTS.md. New threads start from a copy of this file.`,controlLayout:`stack`,children:(0,A.jsx)(ne,{id:`projectInstructions`,value:v,onChange:Y,placeholder:`Add instructions for your agent in AGENTS.md...`,className:`font-mono min-h-[376px] resize-none`,disabled:C})}),t[46]=v,t[47]=C,t[48]=X):X=t[48];let Z;t[49]!==K||t[50]!==J||t[51]!==X?(Z=(0,A.jsx)(ie,{className:`max-w-none pt-6`,children:(0,A.jsxs)(se,{children:[K,J,X]})}),t[49]=K,t[50]=J,t[51]=X,t[52]=Z):Z=t[52];let Q;t[53]!==W||t[54]!==Z?(Q=(0,A.jsxs)(ae,{className:`shrink-0`,children:[W,Z]}),t[53]=W,t[54]=Z,t[55]=Q):Q=t[55];let $;return t[56]!==V||t[57]!==n||t[58]!==Q?($=(0,A.jsx)(ue,{loading:V,children:Q},n),t[56]=V,t[57]=n,t[58]=Q,t[59]=$):$=t[59],$}export{P as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,o as n,t as r}from"./react-vendor-D61Uve5n.js";import{s as i}from"./chunk-QFMPRPBF-Cy-_pFSM.js";import{A as a,D as o,E as s,T as c,V as l,j as u,k as d}from"./dist-D5vgS4RP.js";import{Tt as f,lr as p}from"./api-COO2LfdU.js";import{t as m}from"./utils-mYB1USG6.js";import{t as h}from"./loader-circle-CrqRIqdA.js";import{t as g}from"./button-Dp5XDZNR.js";import{t as _}from"./use-toast-CKgZ8YeP.js";import{Y as v,_t as y,bt as b,gt as x,lt as S,pt as C}from"./index-CalVAwXj.js";import{t as w}from"./use-settings-page-loading-B5WU5d1c.js";var T=e(n(),1),E=t(),D=r(),O=u(),k=Math.ceil(O.length/2),A=[O.slice(0,k),O.slice(k)];function j(e){let t=(0,E.c)(14),{tool:n,enabled:r,disabled:i,onToggle:a}=e,o;t[0]!==a||t[1]!==n.name?(o=e=>a(n.name,e),t[0]=a,t[1]=n.name,t[2]=o):o=t[2];let s;t[3]!==i||t[4]!==r||t[5]!==o||t[6]!==n.displayName?(s=(0,D.jsx)(v,{value:r,onChange:o,disabled:i,ariaLabel:n.displayName}),t[3]=i,t[4]=r,t[5]=o,t[6]=n.displayName,t[7]=s):s=t[7];let c;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(c=m(l.body,`truncate`),t[8]=c):c=t[8];let u;t[9]===n.displayName?u=t[10]:(u=(0,D.jsx)(`span`,{className:c,children:n.displayName}),t[9]=n.displayName,t[10]=u);let d;return t[11]!==s||t[12]!==u?(d=(0,D.jsxs)(`div`,{className:`grid min-h-10 grid-cols-[auto_minmax(0,1fr)] items-center gap-3 px-3 py-2`,children:[s,u]}),t[11]=s,t[12]=u,t[13]=d):d=t[13],d}function M(e,t,n){return!t.includes(e)&&!n.has(e)}function N(e,t,n){return t||n.has(e)}function P(e){let t=(0,E.c)(13),{tools:n,disabledTools:r,disabled:i,forceDisabledTools:a,onToggle:o}=e,s;if(t[0]!==i||t[1]!==r||t[2]!==a||t[3]!==o||t[4]!==n){let e;t[6]!==i||t[7]!==r||t[8]!==a||t[9]!==o?(e=e=>(0,D.jsx)(j,{tool:e,enabled:M(e.name,r,a),disabled:N(e.name,i,a),onToggle:o},e.name),t[6]=i,t[7]=r,t[8]=a,t[9]=o,t[10]=e):e=t[10],s=n.map(e),t[0]=i,t[1]=r,t[2]=a,t[3]=o,t[4]=n,t[5]=s}else s=t[5];let c;return t[11]===s?c=t[12]:(c=(0,D.jsx)(`div`,{className:`divide-y divide-table-border`,children:s}),t[11]=s,t[12]=c),c}function F(e){let t=(0,E.c)(23),{disabledTools:n,onChange:r,disabled:i,forceDisabledTools:a}=e,o=i!==void 0&&i,s;t[0]===a?s=t[1]:(s=a??[],t[0]=a,t[1]=s);let c,l,u,d;t[2]!==o||t[3]!==n||t[4]!==r||t[5]!==s?(c=new Set(s.map(I)),l=function(e,t){let i=e.toLowerCase();if(!(c.has(i)&&t)){if(t){r(n.filter(e=>e!==i));return}n.includes(i)||r([...n,i].sort())}},u=`divide-y divide-table-border @md/settings-page:hidden`,d=O.map(e=>(0,D.jsx)(j,{tool:e,enabled:M(e.name,n,c),disabled:N(e.name,o,c),onToggle:l},e.name)),t[2]=o,t[3]=n,t[4]=r,t[5]=s,t[6]=c,t[7]=l,t[8]=u,t[9]=d):(c=t[6],l=t[7],u=t[8],d=t[9]);let f;t[10]!==u||t[11]!==d?(f=(0,D.jsx)(`div`,{className:u,children:d}),t[10]=u,t[11]=d,t[12]=f):f=t[12];let p;t[13]!==o||t[14]!==n||t[15]!==c||t[16]!==l?(p=A.map((e,t)=>(0,D.jsx)(P,{tools:e,disabledTools:n,disabled:o,forceDisabledTools:c,onToggle:l},t)),t[13]=o,t[14]=n,t[15]=c,t[16]=l,t[17]=p):p=t[17];let m;t[18]===p?m=t[19]:(m=(0,D.jsx)(`div`,{className:`hidden @md/settings-page:grid @md/settings-page:grid-cols-2 divide-x divide-table-border`,children:p}),t[18]=p,t[19]=m);let h;return t[20]!==f||t[21]!==m?(h=(0,D.jsxs)(D.Fragment,{children:[f,m]}),t[20]=f,t[21]=m,t[22]=h):h=t[22],h}function I(e){return e.toLowerCase()}function L(e,t){return JSON.stringify([...e].sort())!==JSON.stringify([...t].sort())}function R(e,t){return e?a({type:c,disabledTools:t}):t}async function z(e){let t=await f(e);return{disabledTools:a(t),toolsLocked:o(t),standardProject:d(t)}}function B(e,t){_({title:`Error`,description:e instanceof Error?e.message:t,variant:`destructive`})}function V(e){let t=(0,E.c)(6),{saving:n,disabled:r,onSave:i}=e,a;t[0]===n?a=t[1]:(a=n?(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(h,{className:`mr-2 h-4 w-4 animate-spin`}),`Saving...`]}):`Save`,t[0]=n,t[1]=a);let o;return t[2]!==r||t[3]!==i||t[4]!==a?(o=(0,D.jsx)(g,{onClick:i,disabled:r,children:a}),t[2]=r,t[3]=i,t[4]=a,t[5]=o):o=t[5],o}function H({projectId:e,onProjectUpdated:t}){let n=i(),[r,a]=(0,T.useState)([]),[o,c]=(0,T.useState)([]),[l,u]=(0,T.useState)(!0),[d,f]=(0,T.useState)(!1),[m,h]=(0,T.useState)(!1),[g,_]=(0,T.useState)(!1),v=(0,T.useCallback)(async()=>{if(!e){u(!1);return}u(!0);try{let t=await z(e);a(t.disabledTools),c(t.disabledTools),h(t.toolsLocked),_(t.standardProject)}catch(e){B(e,`Failed to load tools settings`)}finally{u(!1)}},[e]);(0,T.useLayoutEffect)(()=>{e&&u(!0)},[e]),(0,T.useEffect)(()=>{v()},[v]);let E=w(e,[l]),O=L(r,o);async function k(){if(e&&O){f(!0);try{await p(e,{disabledTools:R(g,r)}),c(r),t&&await t(),await v(),n(`/`)}catch(e){B(e,`Failed to save tools settings`)}finally{f(!1)}}}return e?(0,D.jsx)(C,{loading:E,children:(0,D.jsxs)(b,{className:`shrink-0`,children:[(0,D.jsx)(S,{title:`Tools`,description:`Control which tools the agent can use in this project. Disabled tools are hidden from the agent.`,action:(0,D.jsx)(V,{saving:d,disabled:d||l||m||!O,onSave:()=>void k()}),sticky:!1}),(0,D.jsx)(y,{className:`max-w-none pt-6`,children:(0,D.jsx)(F,{disabledTools:r,onChange:a,disabled:l||d||m,forceDisabledTools:g?[...s]:void 0})})]})}):(0,D.jsx)(x,{title:`No project selected`,children:`Please select a project from the sidebar to configure tools.`})}export{H as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,o as n,t as r}from"./react-vendor-D61Uve5n.js";import{c as i,s as a}from"./chunk-QFMPRPBF-Cy-_pFSM.js";import{B as o,V as s,b as c}from"./dist-D5vgS4RP.js";import{Z as l,n as u}from"./store-CxUwqrZ5.js";import{B as d,H as f,It as p,J as m,Nn as h,Nt as g,Pn as _,U as v,at as y,gn as b,q as x,z as S}from"./api-COO2LfdU.js";import{r as C,t as w}from"./utils-mYB1USG6.js";import{t as T}from"./loader-circle-CrqRIqdA.js";import{t as E}from"./x-ByOPrz5I.js";import{r as D,t as O}from"./button-Dp5XDZNR.js";import{i as k,n as A,r as j,t as ee}from"./tooltip-CJKJfu0l.js";import{t as te}from"./progress-indicator-4zQXqOqP.js";import{n as M}from"./suspense-resource-DzlMlIgR.js";import{t as ne}from"./use-suspense-resource-uCX26gOk.js";import{$ as N,Cn as P,Cr as re,Mt as ie,Nr as ae,St as oe,Un as F,Wr as se,Y as I,Z as L,_t as R,bt as z,cn as ce,ct as le,dn as B,et as V,fr as H,gt as ue,ht as de,it as fe,ln as pe,lt as me,mt as he,qn as ge,un as U,wr as W}from"./index-CalVAwXj.js";import{t as G}from"./async-error-boundary-DH6Sqgmt.js";import{t as K}from"./sorting-DqwxPMRN.js";import{t as q}from"./pending-changes-Bn-0ak1d.js";import{o as J}from"./settings-list-D35rpAof.js";import{t as Y}from"./use-deferred-search-xgS_2fMW.js";import{n as X,r as _e,t as ve}from"./model-list-controls-DwW8S18v.js";var Z=e(n(),1),Q=t(),$=r(),ye=D(w(s.compact,`inline-flex items-center rounded-full border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2`),{variants:{variant:{default:`border-transparent bg-primary text-primary-foreground hover:bg-primary/80`,secondary:`border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80`,destructive:`border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80`,outline:`text-foreground`}},defaultVariants:{variant:`default`}});function be(e){let t=(0,Q.c)(10),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,variant:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a;t[4]!==n||t[5]!==i?(a=w(ye({variant:i}),n),t[4]=n,t[5]=i,t[6]=a):a=t[6];let o;return t[7]!==r||t[8]!==a?(o=(0,$.jsx)(`div`,{className:a,...r}),t[7]=r,t[8]=a,t[9]=o):o=t[9],o}function xe(e,t,n){return n?e.find(e=>e.slug===n)??null:t?e.find(e=>e.name===t)??null:null}function Se(e,t,n){return e?!!(n&&e.slug===n||t&&e.name===t):!1}function Ce(e){return e instanceof Error?e.message:`Failed to load providers`}async function we({providerData:e,selectedProviderName:t,selectedProviderSlug:n,fetchProviders:r}){if(Se(e,t,n))return{provider:e};try{return{provider:xe(await r(),t,n)}}catch(e){return{error:Ce(e)}}}var Te=c(`app.use-provider-details.hook`);function Ee(){let e=(0,Q.c)(10),[t,n]=(0,Z.useState)(null),[r,i]=(0,Z.useState)(``),[a,o]=(0,Z.useState)(null),[s,c]=(0,Z.useState)(``),[l,u]=(0,Z.useState)(!1),[d,f]=(0,Z.useState)(``),[p,m]=(0,Z.useState)(``),h;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(h={},e[0]=h):h=e[0];let[g,_]=(0,Z.useState)(h),v;return e[1]!==a||e[2]!==r||e[3]!==s||e[4]!==p||e[5]!==g||e[6]!==d||e[7]!==t||e[8]!==l?(v={selectedProvider:t,setSelectedProvider:n,displayApiKey:r,setDisplayApiKey:i,balance:a,setBalance:o,error:s,setError:c,showApiKey:l,setShowApiKey:u,saveStatus:d,setSaveStatus:f,originalApiKey:p,setOriginalApiKey:m,providerEnvValues:g,setProviderEnvValues:_},e[1]=a,e[2]=r,e[3]=s,e[4]=p,e[5]=g,e[6]=d,e[7]=t,e[8]=l,e[9]=v):v=e[9],v}function De(){let e=(0,Q.c)(15),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0];let[n,r]=(0,Z.useState)(t),i;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=new Set,e[1]=i):i=e[1];let[a,o]=(0,Z.useState)(i),s;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=new Set,e[2]=s):s=e[2];let[c,l]=(0,Z.useState)(s),u;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(u=new Map,e[3]=u):u=e[3];let[d,f]=(0,Z.useState)(u),{query:p,setQuery:m,deferredQuery:h}=Y(),[g,_]=(0,Z.useState)(`alphabetical`),[v,y]=(0,Z.useState)(`all`),[b,x]=(0,Z.useState)(`coding`),S;return e[4]!==n||e[5]!==h||e[6]!==a||e[7]!==c||e[8]!==v||e[9]!==p||e[10]!==g||e[11]!==b||e[12]!==d||e[13]!==m?(S={availableModels:n,setAvailableModels:r,enabledModelIds:a,setEnabledModelIds:o,initialEnabledModelIds:c,setInitialEnabledModelIds:l,pendingChanges:d,setPendingChanges:f,modelSearchQuery:p,setModelSearchQuery:m,deferredModelSearchQuery:h,modelSortBy:g,setModelSortBy:_,modelFilter:v,setModelFilter:y,modelTab:b,setModelTab:x},e[4]=n,e[5]=h,e[6]=a,e[7]=c,e[8]=v,e[9]=p,e[10]=g,e[11]=b,e[12]=d,e[13]=m,e[14]=S):S=e[14],S}function Oe(){let e=(0,Q.c)(9),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0];let[n,r]=(0,Z.useState)(t),i;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=new Set,e[1]=i):i=e[1];let[a,o]=(0,Z.useState)(i),s;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=new Set,e[2]=s):s=e[2];let[c,l]=(0,Z.useState)(s),u;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(u=new Map,e[3]=u):u=e[3];let[d,f]=(0,Z.useState)(u),p;return e[4]!==n||e[5]!==a||e[6]!==c||e[7]!==d?(p={availableImageModels:n,setAvailableImageModels:r,enabledImageModelIds:a,setEnabledImageModelIds:o,initialEnabledImageModelIds:c,setInitialEnabledImageModelIds:l,pendingImageChanges:d,setPendingImageChanges:f},e[4]=n,e[5]=a,e[6]=c,e[7]=d,e[8]=p):p=e[8],p}function ke(){let e=(0,Q.c)(7),t=u(),[n,r]=(0,Z.useState)(!1),[i,a]=(0,Z.useState)(``),o=Ee(),s=De(),c=Oe(),l;return e[0]!==t||e[1]!==i||e[2]!==n||e[3]!==o||e[4]!==s||e[5]!==c?(l={dispatch:t,modelsLoading:n,setModelsLoading:r,modelsError:i,setModelsError:a,...o,...s,...c},e[0]=t,e[1]=i,e[2]=n,e[3]=o,e[4]=s,e[5]=c,e[6]=l):l=e[6],l}function Ae({selectedProviderName:e=null,selectedProviderSlug:t=null,providerData:n}){let r=ke(),i=e=>ie(e.id),a=(0,Z.useRef)(0);function o(){r.setAvailableModels([]),r.setAvailableImageModels([]),r.setEnabledModelIds(new Set),r.setInitialEnabledModelIds(new Set),r.setEnabledImageModelIds(new Set),r.setInitialEnabledImageModelIds(new Set),r.setPendingChanges(new Map),r.setPendingImageChanges(new Map)}(0,Z.useEffect)(()=>{let i=++a.current;async function c(){r.setError(``);let c=await we({providerData:n,selectedProviderName:e,selectedProviderSlug:t,fetchProviders:p});if(i!==a.current)return;if(`error`in c){r.setError(c.error);return}let l=c.provider;r.setSelectedProvider(l),r.setOriginalApiKey(l?.apiKey??``),r.setDisplayApiKey(l?.apiKey??``),r.setProviderEnvValues(l?.envValues??{}),l?(u(l.slug,i),s(l.slug,i)):(o(),r.setBalance(null),r.setModelsLoading(!1),r.setModelsError(``))}c()},[e,t,n]);async function s(e,t=a.current){r.setBalance(null);try{let n=await g(e);if(t!==a.current)return;n.status===`success`&&r.setBalance(n.balance)}catch(t){Te.error(`Failed to load balance for ${e}:`,t)}}function c(e){return e instanceof Error?e.message:`Failed to load models from local API`}async function u(e,t=a.current){r.setModelsLoading(!0),r.setModelsError(``),r.setModelSearchQuery(``),r.setModelSortBy(`alphabetical`),r.setModelFilter(`all`),r.setModelTab(`coding`);try{let[n,i]=await Promise.all([m(e),x(e)]);if(t!==a.current)return;r.setAvailableModels(n.models),r.setAvailableImageModels(i.models);let o=new Set(n.enabledModelIds);r.setEnabledModelIds(o),r.setInitialEnabledModelIds(o);let s=new Set(i.enabledModelIds);r.setEnabledImageModelIds(s),r.setInitialEnabledImageModelIds(s),r.setPendingChanges(new Map),r.setPendingImageChanges(new Map)}catch(n){if(t!==a.current)return;Te.error(`Failed to load models for ${e}:`,n),o(),r.setModelsError(c(n))}finally{t===a.current&&r.setModelsLoading(!1)}}async function y(e){let t=a.current;r.setModelsLoading(!0),r.setModelsError(``);try{if(await b(e),t!==a.current||(await u(e,t),t!==a.current))return;r.dispatch({type:l.ConfigUpdated})}catch(n){if(t!==a.current)return;Te.error(`Failed to refresh models for ${e}:`,n),o(),r.setModelsError(c(n)),r.setModelsLoading(!1)}}let C=(e,t)=>{r.selectedProvider?.name===e&&(r.setDisplayApiKey(t),T(t))},w=(e,t)=>{r.setProviderEnvValues(n=>({...n,[e]:t}));let n=r.selectedProvider?.slug;n&&(async()=>{try{await h({[e]:t}),r.dispatch({type:l.ConfigUpdated}),r.setSaveStatus(`${N(e)} saved successfully`),setTimeout(()=>r.setSaveStatus(``),3e3)}catch(e){r.setSaveStatus(e instanceof Error?e.message:`Failed to save provider settings`);return}se(n)&&e===`LOCAL_API_URL`&&t.trim()&&await y(n)})()},T=async e=>{if(r.selectedProvider&&e!==r.originalApiKey)try{await _(r.selectedProvider.slug,e),r.dispatch({type:l.ConfigUpdated}),r.setOriginalApiKey(e),r.setSaveStatus(`API key saved successfully`),setTimeout(()=>r.setSaveStatus(``),3e3)}catch(e){r.setSaveStatus(e instanceof Error?e.message:`Failed to save API key`)}},E=(e,t)=>{t===`image`?r.setPendingImageChanges(t=>{let n=new Map(t),i=r.enabledImageModelIds.has(e),a=n.has(e),o=n.get(e),s=!(a?o:i);s===i?n.delete(e):n.set(e,s);let c=n.has(e)?n.get(e):i;return D(e,c??!1,`image`),n}):r.setPendingChanges(t=>{let n=q(t,e,r.enabledModelIds),i=n.has(e)?n.get(e):r.enabledModelIds.has(e);return D(e,i??!1,`coding`),n})},D=async(e,t,n=`coding`)=>{if(r.selectedProvider)try{n===`image`?(t?(await f(r.selectedProvider.slug,e),r.setEnabledImageModelIds(t=>new Set([...t,e]))):(await S(r.selectedProvider.slug,e),r.setEnabledImageModelIds(t=>{let n=new Set(t);return n.delete(e),n})),r.setPendingImageChanges(t=>{let n=new Map(t);return n.delete(e),n})):(t?(await v(r.selectedProvider.slug,e),r.setEnabledModelIds(t=>new Set([...t,e]))):(await d(r.selectedProvider.slug,e),r.setEnabledModelIds(t=>{let n=new Set(t);return n.delete(e),n})),r.setPendingChanges(t=>{let n=new Map(t);return n.delete(e),n}),oe()),r.dispatch({type:l.ConfigUpdated}),r.setSaveStatus(`Model preferences saved successfully`),setTimeout(()=>r.setSaveStatus(``),3e3)}catch(e){r.setSaveStatus(e instanceof Error?e.message:`Failed to save model changes`)}};async function O(e,t=`coding`){let n=t===`image`?r.availableImageModels:r.availableModels,i=t===`image`?r.enabledImageModelIds:r.enabledModelIds;(t===`image`?r.setPendingImageChanges:r.setPendingChanges)(t=>{let r=new Map(t);for(let t of n)i.has(t.id)===e?r.delete(t.id):r.set(t.id,e);return r});for(let r of n)i.has(r.id)!==e&&await D(r.id,e,t)}let k=r.displayApiKey!==void 0&&r.displayApiKey.trim().length>0,A=(0,Z.useMemo)(()=>K({models:r.availableModels,query:r.deferredModelSearchQuery,sortBy:r.modelSortBy,getDisplayName:i,freeOnly:r.modelFilter===`free`,groupByProvider:!0,getPriority:e=>+!r.initialEnabledModelIds.has(e.id)}),[r.availableModels,r.deferredModelSearchQuery,r.modelFilter,r.initialEnabledModelIds,r.modelSortBy,i]),j=(0,Z.useMemo)(()=>K({models:r.availableImageModels,query:r.deferredModelSearchQuery,sortBy:r.modelSortBy===`coding-index`||r.modelSortBy===`intelligence-by-price`?`alphabetical`:r.modelSortBy,getDisplayName:i,freeOnly:r.modelFilter===`free`,groupByProvider:!0,getPriority:e=>+!r.initialEnabledImageModelIds.has(e.id)}),[r.availableImageModels,r.deferredModelSearchQuery,r.modelFilter,r.initialEnabledImageModelIds,r.modelSortBy,i]);return{selectedProvider:r.selectedProvider,error:r.error,balance:r.balance,displayApiKey:r.displayApiKey,showApiKey:r.showApiKey,setShowApiKey:r.setShowApiKey,providerEnvValues:r.providerEnvValues,modelsLoading:r.modelsLoading,modelsError:r.modelsError,saveStatus:r.saveStatus,modelTab:r.modelTab,setModelTab:r.setModelTab,modelSearchQuery:r.modelSearchQuery,setModelSearchQuery:r.setModelSearchQuery,modelSortBy:r.modelSortBy,setModelSortBy:r.setModelSortBy,modelFilter:r.modelFilter,setModelFilter:r.setModelFilter,availableModels:r.availableModels,enabledModelIds:r.enabledModelIds,pendingChanges:r.pendingChanges,filteredAndSortedModels:A,availableImageModels:r.availableImageModels,enabledImageModelIds:r.enabledImageModelIds,pendingImageChanges:r.pendingImageChanges,filteredAndSortedImageModels:j,hasApiKey:k,getModelDisplayName:i,handleUpdateKeyLocal:C,handleUpdateProviderEnv:w,refreshLocalProviderModels:y,handleToggleModel:E,handleToggleAllModels:O}}function je(e){let t=(0,Q.c)(7),{provider:n,onBack:r}=e;if(!r&&!n.url)return null;let i;t[0]===n.url?i=t[1]:(i=n.url?(0,$.jsx)(L,{url:n.url,className:w(s.compact,`p-3`)}):null,t[0]=n.url,t[1]=i);let a;t[2]===r?a=t[3]:(a=r?(0,$.jsxs)(O,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:r,children:[(0,$.jsx)(E,{className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Close provider details`})]}):null,t[2]=r,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function Me(e){let t=(0,Q.c)(6),{balance:n}=e;if(n===null)return null;let r,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=w(s.compact,`inline-flex shrink-0 items-center gap-1.5 font-medium`),i=(0,$.jsx)(`div`,{className:`h-1.5 w-1.5 rounded-full bg-brand`}),t[0]=r,t[1]=i):(r=t[0],i=t[1]);let a;t[2]===n?a=t[3]:(a=C(n),t[2]=n,t[3]=a);let o;return t[4]===a?o=t[5]:(o=(0,$.jsxs)(`span`,{className:r,children:[i,`$`,a,` balance`]}),t[4]=a,t[5]=o),o}function Ne(e){let t=(0,Q.c)(8),{title:n,tooltip:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=w(s.label,`cursor-help`),t[0]=i):i=t[0];let a;t[1]===n?a=t[2]:(a=(0,$.jsx)(k,{asChild:!0,children:(0,$.jsx)(`span`,{className:i,children:n})}),t[1]=n,t[2]=a);let o;t[3]===r?o=t[4]:(o=(0,$.jsx)(A,{children:r}),t[3]=r,t[4]=o);let c;return t[5]!==a||t[6]!==o?(c=(0,$.jsx)(j,{children:(0,$.jsxs)(ee,{children:[a,o]})}),t[5]=a,t[6]=o,t[7]=c):c=t[7],c}function Pe(e){let t=(0,Q.c)(10),{provider:n,displayApiKey:r,showApiKey:i,onToggleShowApiKey:a,onUpdateKey:o,providerEnvValues:s,onUpdateEnv:c,modelsLoading:l,onRefreshModels:u}=e,d;return t[0]!==r||t[1]!==l||t[2]!==u||t[3]!==a||t[4]!==c||t[5]!==o||t[6]!==n||t[7]!==s||t[8]!==i?(d=(0,$.jsx)($.Fragment,{children:n.authType===`APIKey`?(0,$.jsx)($.Fragment,{children:(0,$.jsxs)(de,{children:[(0,$.jsx)(he,{label:(0,$.jsx)(Ne,{title:`API Key`,tooltip:`Your API key is stored locally and never shared.`}),control:(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(H,{className:`absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground`}),(0,$.jsx)(P,{type:i?`text`:`password`,placeholder:n.keyName||`Enter API Key`,className:`pl-10 pr-10`,value:r,onChange:e=>{o(n.name,e.target.value)}}),(0,$.jsx)(O,{type:`button`,variant:`ghost`,size:`sm`,className:`absolute right-1 top-1/2 -translate-y-1/2 h-8 w-8 p-0`,onClick:a,disabled:!r,children:i?(0,$.jsx)(W,{className:`h-4 w-4 text-muted-foreground`}):(0,$.jsx)(re,{className:`h-4 w-4 text-muted-foreground`})})]})}),V(n).map(e=>(0,$.jsx)(he,{label:(0,$.jsx)(Ne,{title:N(e),tooltip:e}),control:se(n.slug)&&e===`LOCAL_API_URL`?(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(P,{id:e,value:s[e]??``,onChange:t=>c(e,t.target.value),placeholder:n.api,className:`pr-10`,spellCheck:!1,autoCorrect:`off`,autoCapitalize:`off`}),(0,$.jsx)(j,{children:(0,$.jsxs)(ee,{children:[(0,$.jsx)(k,{asChild:!0,children:(0,$.jsx)(O,{type:`button`,variant:`ghost`,size:`sm`,className:`absolute right-1 top-1/2 -translate-y-1/2 h-8 w-8 p-0`,onClick:()=>{u(n.slug)},disabled:l,children:l?(0,$.jsx)(T,{className:`h-4 w-4 animate-spin text-muted-foreground`}):(0,$.jsx)(ge,{className:`h-4 w-4 text-muted-foreground`})})}),(0,$.jsx)(A,{children:`Refresh models`})]})})]}):(0,$.jsx)(P,{id:e,value:s[e]??``,onChange:t=>c(e,t.target.value),placeholder:e,spellCheck:!1,autoCorrect:`off`,autoCapitalize:`off`})},e))]})}):(0,$.jsxs)(`div`,{className:`space-y-2 text-center`,children:[(0,$.jsx)(le,{className:`mb-0`,children:`This provider uses OAuth for authentication.`}),(0,$.jsxs)(O,{variant:`outline`,size:`sm`,disabled:!0,children:[`Sign in with `,n.name]})]})}),t[0]=r,t[1]=l,t[2]=u,t[3]=a,t[4]=c,t[5]=o,t[6]=n,t[7]=s,t[8]=i,t[9]=d):d=t[9],d}function Fe(e){let t=(0,Q.c)(6),{htmlFor:n,displayName:r,variant:i}=e,a=s[i],o;t[0]===a?o=t[1]:(o=w(a,`leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer truncate`),t[0]=a,t[1]=o);let c;return t[2]!==r||t[3]!==n||t[4]!==o?(c=(0,$.jsx)(`div`,{className:`flex items-center gap-2 flex-1 min-w-0`,children:(0,$.jsx)(`label`,{htmlFor:n,className:o,children:r})}),t[2]=r,t[3]=n,t[4]=o,t[5]=c):c=t[5],c}function Ie(e){let t=(0,Q.c)(9),{pricing:n,className:r}=e,i=(n.prompt??0)===0&&(n.completion??0)===0,a;t[0]===r?a=t[1]:(a=w(s.caption,`whitespace-nowrap`,r),t[0]=r,t[1]=a);let o;t[2]!==i||t[3]!==n.completion||t[4]!==n.prompt?(o=i?``:`$${C(n.prompt??0)} in | $${C(n.completion??0)} out`,t[2]=i,t[3]=n.completion,t[4]=n.prompt,t[5]=o):o=t[5];let c;return t[6]!==a||t[7]!==o?(c=(0,$.jsx)(`span`,{className:a,children:o}),t[6]=a,t[7]=o,t[8]=c):c=t[8],c}function Le(e){let t=(0,Q.c)(15),{model:n,displayName:r,checkboxId:i,showStarRating:a}=e,o;t[0]!==i||t[1]!==r?(o=(0,$.jsx)(Fe,{htmlFor:i,displayName:r,variant:`body`}),t[0]=i,t[1]=r,t[2]=o):o=t[2];let s;t[3]!==r||t[4]!==n.coding_index||t[5]!==a?(s=a&&(0,$.jsx)(_e,{codingIndex:n.coding_index,modelName:r}),t[3]=r,t[4]=n.coding_index,t[5]=a,t[6]=s):s=t[6];let c;t[7]===n.pricing?c=t[8]:(c=n.pricing&&(0,$.jsx)(Ie,{pricing:n.pricing}),t[7]=n.pricing,t[8]=c);let l;t[9]!==s||t[10]!==c?(l=(0,$.jsxs)(`div`,{className:`flex items-center gap-2 flex-shrink-0`,children:[s,c]}),t[9]=s,t[10]=c,t[11]=l):l=t[11];let u;return t[12]!==o||t[13]!==l?(u=(0,$.jsxs)(`div`,{className:`flex-1 flex items-center justify-between gap-3 leading-none`,children:[o,l]}),t[12]=o,t[13]=l,t[14]=u):u=t[14],u}function Re(e){let t=(0,Q.c)(8),{model:n,displayName:r,checkboxId:i}=e,a;t[0]!==i||t[1]!==r?(a=(0,$.jsx)(Fe,{htmlFor:i,displayName:r,variant:`label`}),t[0]=i,t[1]=r,t[2]=a):a=t[2];let o;t[3]===n.pricing?o=t[4]:(o=n.pricing&&(0,$.jsx)(Ie,{pricing:n.pricing,className:`flex-shrink-0`}),t[3]=n.pricing,t[4]=o);let s;return t[5]!==a||t[6]!==o?(s=(0,$.jsxs)(`div`,{className:`flex-1 flex items-center justify-between gap-3 leading-none`,children:[a,o]}),t[5]=a,t[6]=o,t[7]=s):s=t[7],s}function ze(e){let t=(0,Q.c)(22),{tab:n,model:r,displayName:i,willBeEnabled:a,hasApiKey:o,showStarRating:s,onToggle:c}=e,l=n===`image`?`image-${r.id}`:r.id,u=r.id,d=!o&&`opacity-25`,f;t[0]===d?f=t[1]:(f=w(`flex cursor-default items-center space-x-3 px-3 py-2 transition-colors hover:bg-muted/30`,d),t[0]=d,t[1]=f);let p=!o,m=a??!1,h;t[2]!==r.id||t[3]!==c?(h=()=>c(r.id),t[2]=r.id,t[3]=c,t[4]=h):h=t[4];let g=`${i} ${a?`enabled`:`disabled`}`,_;t[5]!==l||t[6]!==p||t[7]!==m||t[8]!==h||t[9]!==g?(_=(0,$.jsx)(I,{id:l,disabled:p,value:m,onChange:h,ariaLabel:g}),t[5]=l,t[6]=p,t[7]=m,t[8]=h,t[9]=g,t[10]=_):_=t[10];let v;t[11]!==l||t[12]!==i||t[13]!==r||t[14]!==s||t[15]!==n?(v=n===`coding`?(0,$.jsx)(Le,{model:r,displayName:i,checkboxId:l,showStarRating:s}):(0,$.jsx)(Re,{model:r,displayName:i,checkboxId:l}),t[11]=l,t[12]=i,t[13]=r,t[14]=s,t[15]=n,t[16]=v):v=t[16];let y;return t[17]!==r.id||t[18]!==f||t[19]!==_||t[20]!==v?(y=(0,$.jsxs)(`div`,{className:f,children:[_,v]},u),t[17]=r.id,t[18]=f,t[19]=_,t[20]=v,t[21]=y):y=t[21],y}function Be(e){let t=(0,Q.c)(13),{tab:n,models:r,filteredModels:i,modelsLoading:a,modelsError:c,hasApiKey:l,enabledModelIds:u,pendingChanges:d,modelSortBy:f,getModelDisplayName:p,onToggleModel:m}=e,h=n===`coding`,g=h?c?`No models loaded.`:`No models available for this provider.`:`No image models available for this provider.`,_;return t[0]!==g||t[1]!==u||t[2]!==i||t[3]!==p||t[4]!==l||t[5]!==h||t[6]!==f||t[7]!==r||t[8]!==a||t[9]!==m||t[10]!==d||t[11]!==n?(_=(0,$.jsx)(`div`,{className:`flex flex-col gap-4`,children:a?(0,$.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,$.jsx)(T,{className:`h-5 w-5 animate-spin text-muted-foreground`})}):r.length===0?(0,$.jsx)(`div`,{className:`text-center py-8`,children:(0,$.jsx)(`p`,{className:s.bodyMuted,children:g})}):(0,$.jsx)(j,{children:(0,$.jsx)(`div`,{className:w(`grid grid-cols-1 gap-0`,o.tableWrapper),children:i.length===0?(0,$.jsx)(`div`,{className:`text-center py-8`,children:(0,$.jsx)(`p`,{className:s.bodyMuted,children:`No models matching your filters.`})}):i.map(e=>{let t=u.has(e.id),r=d.has(e.id),i=d.get(e.id),a=(r?i:t)??!1;return(0,$.jsx)(ze,{tab:n,model:e,displayName:p(e),willBeEnabled:a,hasApiKey:l,showStarRating:h&&(f===`coding-index`||f===`intelligence-by-price`),onToggle:e=>m(e,n)},e.id)})})})}),t[0]=g,t[1]=u,t[2]=i,t[3]=p,t[4]=l,t[5]=h,t[6]=f,t[7]=r,t[8]=a,t[9]=m,t[10]=d,t[11]=n,t[12]=_):_=t[12],_}function Ve(e){let t=(0,Q.c)(22),{tab:n,showImageTab:r,modelsLoading:i,models:a,hasApiKey:o,enabledModelIds:s,pendingChanges:c,modelSearchQuery:l,onModelSearchQueryChange:u,modelSortBy:d,onModelSortByChange:f,onToggleAllModels:p}=e,m=n===`coding`,h=m?`select-all-models`:`select-all-image-models`,g=!i&&a.length>0,_=g&&!o&&`opacity-25`,v;t[0]===_?v=t[1]:(v=w(`flex flex-col gap-2 md:flex-row md:items-center`,_),t[0]=_,t[1]=v);let y;t[2]===r?y=t[3]:(y=r?(0,$.jsxs)(U,{className:`w-fit shrink-0 self-start`,children:[(0,$.jsx)(B,{value:`coding`,children:`Coding`}),(0,$.jsx)(B,{value:`image`,children:`Image`})]}):null,t[2]=r,t[3]=y);let b;t[4]!==s||t[5]!==o||t[6]!==m||t[7]!==l||t[8]!==d||t[9]!==a||t[10]!==u||t[11]!==f||t[12]!==p||t[13]!==c||t[14]!==h||t[15]!==g||t[16]!==n?(b=g?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`relative w-full md:w-52 flex-shrink-0`,children:[(0,$.jsx)(F,{className:`absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground pointer-events-none`}),(0,$.jsx)(P,{placeholder:`Search`,className:`pl-10 h-8`,value:l,onChange:e=>u(e.target.value),disabled:!o})]}),(0,$.jsxs)(`div`,{className:`flex flex-shrink-0 items-center gap-2 self-end md:ml-auto md:self-auto`,children:[(0,$.jsx)(ve,{id:h,disabled:!o,checked:a.every(e=>{let t=c.has(e.id),n=c.get(e.id);return t?n:s.has(e.id)}),onChange:e=>{p(e,n)}}),(0,$.jsx)(X,{sortBy:d,showCodingIndex:m,showIntelligenceByPrice:m,onSortByChange:f})]})]}):null,t[4]=s,t[5]=o,t[6]=m,t[7]=l,t[8]=d,t[9]=a,t[10]=u,t[11]=f,t[12]=p,t[13]=c,t[14]=h,t[15]=g,t[16]=n,t[17]=b):b=t[17];let x;return t[18]!==v||t[19]!==y||t[20]!==b?(x=(0,$.jsxs)(`div`,{className:v,children:[y,b]}),t[18]=v,t[19]=y,t[20]=b,t[21]=x):x=t[21],x}function He(e){let t=(0,Q.c)(10),{title:n,description:r,action:i,tableHeader:a,children:o}=e,s;t[0]!==i||t[1]!==r||t[2]!==a||t[3]!==n?(s=(0,$.jsx)(me,{title:n,description:r,action:i,sticky:!1,tableHeader:a}),t[0]=i,t[1]=r,t[2]=a,t[3]=n,t[4]=s):s=t[4];let c;t[5]===o?c=t[6]:(c=(0,$.jsx)(`div`,{className:`px-6 pb-6`,children:o}),t[5]=o,t[6]=c);let l;return t[7]!==s||t[8]!==c?(l=(0,$.jsxs)(z,{className:`shrink-0`,children:[s,c]}),t[7]=s,t[8]=c,t[9]=l):l=t[9],l}function Ue(e){let t=(0,Q.c)(111),{selectedProviderName:n,selectedProviderSlug:r,providerData:i,onBack:a,className:o}=e,s=n===void 0?null:n,c=r===void 0?null:r,l;t[0]!==i||t[1]!==s||t[2]!==c?(l={selectedProviderName:s,selectedProviderSlug:c,providerData:i},t[0]=i,t[1]=s,t[2]=c,t[3]=l):l=t[3];let{selectedProvider:u,error:d,balance:f,displayApiKey:p,showApiKey:m,setShowApiKey:h,providerEnvValues:g,modelsLoading:_,modelsError:v,saveStatus:y,modelTab:b,setModelTab:x,modelSearchQuery:S,setModelSearchQuery:C,modelSortBy:T,setModelSortBy:E,availableModels:D,enabledModelIds:k,pendingChanges:A,filteredAndSortedModels:j,availableImageModels:ee,enabledImageModelIds:te,pendingImageChanges:M,filteredAndSortedImageModels:ne,hasApiKey:N,getModelDisplayName:P,handleUpdateKeyLocal:re,handleUpdateProviderEnv:ie,refreshLocalProviderModels:oe,handleToggleModel:F,handleToggleAllModels:se}=Ae(l);if(d){let e;t[4]===o?e=t[5]:(e=w(`flex h-full min-h-0 flex-col items-center justify-center gap-4 p-6`,o),t[4]=o,t[5]=e);let n;t[6]===d?n=t[7]:(n=(0,$.jsx)(le,{variant:`error`,className:`mb-0`,children:d}),t[6]=d,t[7]=n);let r;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(O,{variant:`outline`,size:`sm`,onClick:We,children:`Retry`}),t[8]=r):r=t[8];let i;return t[9]!==e||t[10]!==n?(i=(0,$.jsxs)(`div`,{className:e,children:[n,r]}),t[9]=e,t[10]=n,t[11]=i):i=t[11],i}if(!u){let e;t[12]===o?e=t[13]:(e=w(`flex h-full min-h-0 items-center justify-center`,o),t[12]=o,t[13]=e);let n=s||c?`Provider not found`:`Select a Provider`,r;t[14]===a?r=t[15]:(r=a?(0,$.jsxs)(O,{variant:`outline`,size:`sm`,onClick:a,children:[(0,$.jsx)(ae,{className:`h-4 w-4 mr-1`}),`Back to Providers`]}):void 0,t[14]=a,t[15]=r);let i=a?`This provider could not be found.`:`Choose a provider from the list to configure its settings.`,l;t[16]!==n||t[17]!==r||t[18]!==i?(l=(0,$.jsx)(ue,{title:n,action:r,children:i}),t[16]=n,t[17]=r,t[18]=i,t[19]=l):l=t[19];let u;return t[20]!==e||t[21]!==l?(u=(0,$.jsx)(`div`,{className:e,children:l}),t[20]=e,t[21]=l,t[22]=u):u=t[22],u}let I;t[23]===o?I=t[24]:(I=w(`h-full min-h-0`,o),t[23]=o,t[24]=I);let L;t[25]!==a||t[26]!==u?(L=(0,$.jsx)(je,{provider:u,onBack:a}),t[25]=a,t[26]=u,t[27]=L):L=t[27];let R;t[28]!==h||t[29]!==m?(R=()=>h(!m),t[28]=h,t[29]=m,t[30]=R):R=t[30];let z;t[31]!==p||t[32]!==re||t[33]!==ie||t[34]!==_||t[35]!==g||t[36]!==oe||t[37]!==u||t[38]!==m||t[39]!==R?(z=(0,$.jsx)(`div`,{className:`pt-6`,children:(0,$.jsx)(Pe,{provider:u,displayApiKey:p,showApiKey:m,onToggleShowApiKey:R,onUpdateKey:re,providerEnvValues:g,onUpdateEnv:ie,modelsLoading:_,onRefreshModels:oe})}),t[31]=p,t[32]=re,t[33]=ie,t[34]=_,t[35]=g,t[36]=oe,t[37]=u,t[38]=m,t[39]=R,t[40]=z):z=t[40];let B;t[41]!==u.name||t[42]!==L||t[43]!==z?(B=(0,$.jsx)(He,{title:u.name,description:`Configure API keys and connection settings for this provider.`,action:L,children:z}),t[41]=u.name,t[42]=L,t[43]=z,t[44]=B):B=t[44];let V;t[45]!==C||t[46]!==E||t[47]!==x?(V=e=>{x(e),C(``),E(`alphabetical`)},t[45]=C,t[46]=E,t[47]=x,t[48]=V):V=t[48];let H;t[49]===f?H=t[50]:(H=(0,$.jsx)(Me,{balance:f}),t[49]=f,t[50]=H);let de;t[51]===u.name?de=t[52]:(de=u.name.toLowerCase(),t[51]=u.name,t[52]=de);let fe=de===`openrouter`,me=b===`coding`?D:ee,he=b===`coding`?k:te,ge=b===`coding`?A:M,U;t[53]!==se||t[54]!==N||t[55]!==S||t[56]!==T||t[57]!==b||t[58]!==_||t[59]!==C||t[60]!==E||t[61]!==fe||t[62]!==me||t[63]!==he||t[64]!==ge?(U=(0,$.jsx)(Ve,{tab:b,showImageTab:fe,modelsLoading:_,models:me,hasApiKey:N,enabledModelIds:he,pendingChanges:ge,modelSearchQuery:S,onModelSearchQueryChange:C,modelSortBy:T,onModelSortByChange:E,onToggleAllModels:se}),t[53]=se,t[54]=N,t[55]=S,t[56]=T,t[57]=b,t[58]=_,t[59]=C,t[60]=E,t[61]=fe,t[62]=me,t[63]=he,t[64]=ge,t[65]=U):U=t[65];let W;t[66]===v?W=t[67]:(W=v?(0,$.jsx)(le,{variant:`error`,className:`mb-4`,children:v}):null,t[66]=v,t[67]=W);let G;t[68]!==D||t[69]!==k||t[70]!==j||t[71]!==P||t[72]!==F||t[73]!==N||t[74]!==T||t[75]!==v||t[76]!==_||t[77]!==A||t[78]!==u?(G=(0,$.jsx)(pe,{value:`coding`,children:(0,$.jsx)(Be,{tab:`coding`,provider:u,models:D,filteredModels:j,modelsLoading:_,modelsError:v,hasApiKey:N,enabledModelIds:k,pendingChanges:A,modelSortBy:T,getModelDisplayName:P,onToggleModel:F})}),t[68]=D,t[69]=k,t[70]=j,t[71]=P,t[72]=F,t[73]=N,t[74]=T,t[75]=v,t[76]=_,t[77]=A,t[78]=u,t[79]=G):G=t[79];let K;t[80]!==ee||t[81]!==te||t[82]!==ne||t[83]!==P||t[84]!==F||t[85]!==N||t[86]!==T||t[87]!==v||t[88]!==_||t[89]!==M||t[90]!==u?(K=(0,$.jsx)(pe,{value:`image`,children:(0,$.jsx)(Be,{tab:`image`,provider:u,models:ee,filteredModels:ne,modelsLoading:_,modelsError:v,hasApiKey:N,enabledModelIds:te,pendingChanges:M,modelSortBy:T,getModelDisplayName:P,onToggleModel:F})}),t[80]=ee,t[81]=te,t[82]=ne,t[83]=P,t[84]=F,t[85]=N,t[86]=T,t[87]=v,t[88]=_,t[89]=M,t[90]=u,t[91]=K):K=t[91];let q;t[92]===y?q=t[93]:(q=y?(0,$.jsx)(le,{variant:y.includes(`error`)||y.includes(`Failed`)?`error`:`success`,className:`mt-4`,children:y}):null,t[92]=y,t[93]=q);let J;t[94]!==H||t[95]!==U||t[96]!==W||t[97]!==G||t[98]!==K||t[99]!==q?(J=(0,$.jsxs)(He,{title:`Models`,description:`Enable coding and image models for this provider.`,action:H,tableHeader:U,children:[W,G,K,q]}),t[94]=H,t[95]=U,t[96]=W,t[97]=G,t[98]=K,t[99]=q,t[100]=J):J=t[100];let Y;t[101]!==b||t[102]!==J||t[103]!==V?(Y=(0,$.jsx)(ce,{value:b,onValueChange:V,children:J}),t[101]=b,t[102]=J,t[103]=V,t[104]=Y):Y=t[104];let X;t[105]!==Y||t[106]!==B?(X=(0,$.jsx)(`div`,{className:`frosted-scrollbar h-full min-h-0 overflow-auto`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-2.5`,children:[B,Y]})}),t[105]=Y,t[106]=B,t[107]=X):X=t[107];let _e;return t[108]!==X||t[109]!==I?(_e=(0,$.jsx)(`div`,{className:I,children:X}),t[108]=X,t[109]=I,t[110]=_e):_e=t[110],_e}function We(){return window.location.reload()}function Ge(e){return`providers:list:${e}`}async function Ke(){let[e,t]=await Promise.all([p(),y().catch(()=>({}))]),n={};for(let[e,r]of Object.entries(t))n[e]=r.length;return{providers:e,enabledModelCounts:n}}var qe=`grid min-h-10 grid-cols-[minmax(0,1fr)_auto] items-center gap-3 px-3 py-2 hover:bg-muted/30 cursor-pointer`,Je=`[&>*+*]:border-t [&>*+*]:border-table-border`;function Ye(e){let t=(0,Q.c)(9),{title:n,description:r,action:i,children:a}=e,o;t[0]!==i||t[1]!==r||t[2]!==n?(o=(0,$.jsx)(me,{title:n,description:r,action:i,sticky:!1}),t[0]=i,t[1]=r,t[2]=n,t[3]=o):o=t[3];let s;t[4]===a?s=t[5]:(s=(0,$.jsx)(R,{className:`pt-6`,children:a}),t[4]=a,t[5]=s);let c;return t[6]!==o||t[7]!==s?(c=(0,$.jsxs)(z,{className:`shrink-0`,children:[o,s]}),t[6]=o,t[7]=s,t[8]=c):c=t[8],c}function Xe(e){let t=(0,Q.c)(33),{loadVersion:n,onProviderClick:r}=e,{query:i,setQuery:a,deferredQuery:o}=Y(),c;t[0]===n?c=t[1]:(c=Ge(n),t[0]=n,t[1]=c);let{providers:l,enabledModelCounts:u}=ne(c,Ke),d;if(t[2]!==o||t[3]!==u||t[4]!==l){let e;t[6]===o?e=t[7]:(e=e=>{let t=o.toLowerCase();return e.name.toLowerCase().includes(t)},t[6]=o,t[7]=e);let n;t[8]===u?n=t[9]:(n=(e,t)=>{let n=(u[e.slug]??0)>0,r=(u[t.slug]??0)>0;return n&&!r?-1:!n&&r?1:e.name.localeCompare(t.name)},t[8]=u,t[9]=n),d=l.filter($e).filter(e).sort(n),t[2]=o,t[3]=u,t[4]=l,t[5]=d}else d=t[5];let f=d,p;if(t[10]!==o||t[11]!==l){let e;t[13]===o?e=t[14]:(e=e=>{let t=o.toLowerCase();return e.name.toLowerCase().includes(t)},t[13]=o,t[14]=e),p=l.filter(Qe).filter(e).sort(Ze),t[10]=o,t[11]=l,t[12]=p}else p=t[12];let m=p,h;t[15]!==i||t[16]!==a?(h=(0,$.jsx)(J,{placeholder:`Search`,value:i,onChange:a,className:`mb-0 w-64`}),t[15]=i,t[16]=a,t[17]=h):h=t[17];let g;t[18]!==f||t[19]!==u||t[20]!==r||t[21]!==i?(g=f.length===0?(0,$.jsx)(`p`,{className:w(s.bodyMuted,`py-4`),children:i?`No connected providers match your search.`:`No providers connected yet. Add an API key to get started.`}):(0,$.jsx)(`div`,{className:Je,children:f.map(e=>(0,$.jsx)(st,{provider:e,modelCount:u[e.slug]??0,onClick:r},e.name))}),t[18]=f,t[19]=u,t[20]=r,t[21]=i,t[22]=g):g=t[22];let _;t[23]!==h||t[24]!==g?(_=(0,$.jsx)(Ye,{title:`Connected Providers`,description:`Providers you've connected with an API key or environment variable.`,action:h,children:g}),t[23]=h,t[24]=g,t[25]=_):_=t[25];let v;t[26]!==m||t[27]!==r||t[28]!==i?(v=(0,$.jsx)(Ye,{title:`Available Providers`,description:`Connect additional providers by adding your API key.`,children:m.length===0?(0,$.jsx)(`p`,{className:w(s.bodyMuted,`py-4`),children:i?`No available providers match your search.`:`All providers are connected.`}):(0,$.jsx)(`div`,{className:Je,children:m.map(e=>(0,$.jsx)(ct,{provider:e,onClick:r},e.name))})}),t[26]=m,t[27]=r,t[28]=i,t[29]=v):v=t[29];let y;return t[30]!==_||t[31]!==v?(y=(0,$.jsx)(`div`,{className:`frosted-scrollbar h-full min-h-0 overflow-auto`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-2.5`,children:[_,v]})}),t[30]=_,t[31]=v,t[32]=y):y=t[32],y}function Ze(e,t){return e.name.localeCompare(t.name)}function Qe(e){return!e.apiKey}function $e(e){return e.apiKey}function et(){let e=(0,Q.c)(21),t=a(),{providerSlug:n}=i(),[r,o]=(0,Z.useState)(0),s=(0,Z.useRef)(n),c,l;e[0]!==r||e[1]!==n?(c=()=>{s.current&&!n&&(M(Ge(r)),o(it)),s.current=n},l=[n,r],e[0]=r,e[1]=n,e[2]=c,e[3]=l):(c=e[2],l=e[3]),(0,Z.useEffect)(c,l);let u;e[4]===t?u=e[5]:(u=e=>{t(`/settings/providers/${encodeURIComponent(e.slug)}`)},e[4]=t,e[5]=u);let d=u,f;e[6]!==r||e[7]!==t?(f=()=>{t(`/settings/providers`),M(Ge(r)),o(rt)},e[6]=r,e[7]=t,e[8]=f):f=e[8];let p=f,m;e[9]===r?m=e[10]:(m=function(){M(Ge(r)),o(nt)},e[9]=r,e[10]=m);let h=m;if(n){let t=decodeURIComponent(n),r;return e[11]!==p||e[12]!==t?(r=(0,$.jsx)(Ue,{selectedProviderSlug:t,onBack:p}),e[11]=p,e[12]=t,e[13]=r):r=e[13],r}let g;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(te,{centered:!0,label:`Loading providers...`,size:`lg`}),e[14]=g):g=e[14];let _;e[15]!==d||e[16]!==r?(_=(0,$.jsx)(Z.Suspense,{fallback:g,children:(0,$.jsx)(Xe,{loadVersion:r,onProviderClick:d},r)}),e[15]=d,e[16]=r,e[17]=_):_=e[17];let v;return e[18]!==h||e[19]!==_?(v=(0,$.jsx)(`div`,{className:`h-full min-h-0`,children:(0,$.jsx)(G,{fallbackTitle:`Failed to load providers`,onRetry:h,renderFallback:tt,children:_})}),e[18]=h,e[19]=_,e[20]=v):v=e[20],v}function tt(e,t){return(0,$.jsx)(`div`,{className:`frosted-scrollbar h-full min-h-0 overflow-auto`,children:(0,$.jsxs)(z,{className:`shrink-0`,children:[(0,$.jsx)(me,{title:`Providers`,description:`Manage your AI provider connections and API keys.`,sticky:!1}),(0,$.jsx)(`div`,{className:`flex items-center justify-center px-6 pb-6 pt-6`,children:(0,$.jsxs)(`div`,{className:`max-w-md text-center`,children:[(0,$.jsx)(le,{variant:`error`,className:`mb-4`,children:e.message}),(0,$.jsx)(O,{variant:`outline`,size:`sm`,onClick:t,children:`Retry`})]})})]})})}function nt(e){return e+1}function rt(e){return e+1}function it(e){return e+1}function at(e,t){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())}function ot(e){let t=(0,Q.c)(18),{provider:n,onClick:r,details:i}=e,a;t[0]!==r||t[1]!==n?(a=function(){r(n)},t[0]=r,t[1]=n,t[2]=a):a=t[2];let o=a,c;t[3]===o?c=t[4]:(c=e=>at(e,o),t[3]=o,t[4]=c);let l;t[5]===n?l=t[6]:(l=(0,$.jsx)(fe,{provider:n}),t[5]=n,t[6]=l);let u;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=w(s.label,`truncate leading-normal`),t[7]=u):u=t[7];let d;t[8]===n.name?d=t[9]:(d=(0,$.jsx)(`span`,{className:u,children:n.name}),t[8]=n.name,t[9]=d);let f;t[10]!==l||t[11]!==d?(f=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[l,d]}),t[10]=l,t[11]=d,t[12]=f):f=t[12];let p;return t[13]!==o||t[14]!==i||t[15]!==c||t[16]!==f?(p=(0,$.jsxs)(`div`,{className:qe,role:`button`,tabIndex:0,onClick:o,onKeyDown:c,children:[f,i]}),t[13]=o,t[14]=i,t[15]=c,t[16]=f,t[17]=p):p=t[17],p}function st(e){let t=(0,Q.c)(12),{provider:n,modelCount:r,onClick:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=w(s.compact,`px-2 py-0.5`),t[0]=a):a=t[0];let o=n.isEnv?`Environment`:`API Key`,c;t[1]===o?c=t[2]:(c=(0,$.jsx)(be,{variant:`secondary`,className:a,children:o}),t[1]=o,t[2]=c);let l;t[3]===r?l=t[4]:(l=r>0&&(0,$.jsxs)(be,{variant:`default`,className:w(s.compact,`px-2 py-0.5`),children:[r,` `,r===1?`Model`:`Models`]}),t[3]=r,t[4]=l);let u;t[5]!==c||t[6]!==l?(u=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center justify-end gap-1.5`,children:[c,l]}),t[5]=c,t[6]=l,t[7]=u):u=t[7];let d;return t[8]!==i||t[9]!==n||t[10]!==u?(d=(0,$.jsx)(ot,{provider:n,onClick:i,details:u}),t[8]=i,t[9]=n,t[10]=u,t[11]=d):d=t[11],d}function ct(e){let t=(0,Q.c)(4),{provider:n,onClick:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,$.jsx)(`span`,{className:w(s.compact,`shrink-0 text-muted-foreground`),children:`Configure`}),t[0]=i):i=t[0];let a;return t[1]!==r||t[2]!==n?(a=(0,$.jsx)(ot,{provider:n,onClick:r,details:i}),t[1]=r,t[2]=n,t[3]=a):a=t[3],a}export{et as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,o as n,t as r}from"./react-vendor-D61Uve5n.js";import{V as i}from"./dist-D5vgS4RP.js";import{t as ee}from"./markdown-renderer-DXRBG7uP.js";import{t as a}from"./button-Dp5XDZNR.js";import{i as te,n as ne,r as o,t as re}from"./tooltip-CJKJfu0l.js";import{a as s,i as ie,o as ae,r as oe,s as c,t as l}from"./dialog-pHPeIGaB.js";import{t as u}from"./label-C31qF5zZ.js";import{r as d}from"./scroll-area-BWc4OPsj.js";import{t as se}from"./ai-spinner-DHwhlk4j.js";import{t as ce}from"./progress-indicator-4zQXqOqP.js";import{Cn as le,I as ue,Y as de,zn as fe}from"./index-CalVAwXj.js";var pe=t(),me=e(n(),1),f=r(),p=`pr-description`;function m(e){let t=(0,pe.c)(60),{open:n,onOpenChange:r,prTitle:m,onPrTitleChange:h,prDescription:g,onPrDescriptionChange:_,isGeneratingPRInfo:v,isLoading:y,onGeneratePRInfo:b,onCreatePR:x,currentBranch:S,createWorkspaceAfterPR:C,onCreateWorkspaceAfterPRChange:w}=e,[T,E]=(0,me.useState)(!1),D;t[0]!==T||t[1]!==g?(D=!T&&g.trim().length>0,t[0]=T,t[1]=g,t[2]=D):D=t[2];let O=D,k;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(k=function(e){e.target.closest(`a`)||E(!0)},t[3]=k):k=t[3];let he=k,A;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(A=function(e){e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),E(!0))},t[4]=A):A=t[4];let j=A,M;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,f.jsx)(c,{children:`Create Pull Request`}),t[5]=M):M=t[5];let N;t[6]===S?N=t[7]:(N=(0,f.jsxs)(ae,{children:[M,(0,f.jsxs)(ie,{children:[`Create a pull request for branch `,S]})]}),t[6]=S,t[7]=N);let P;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,f.jsx)(u,{htmlFor:`pr-title`,children:`Title`}),t[8]=P):P=t[8];let F=S||`Enter PR title...`,I;t[9]===h?I=t[10]:(I=e=>h(e.target.value),t[9]=h,t[10]=I);let L;t[11]!==v||t[12]!==m||t[13]!==F||t[14]!==I?(L=(0,f.jsxs)(`div`,{className:`grid gap-2`,children:[P,(0,f.jsx)(le,{id:`pr-title`,placeholder:F,value:m,onChange:I,disabled:v})]}),t[11]=v,t[12]=m,t[13]=F,t[14]=I,t[15]=L):L=t[15];let R=O||v?void 0:p,z;t[16]===R?z=t[17]:(z=(0,f.jsx)(u,{htmlFor:R,children:`Description`}),t[16]=R,t[17]=z);let B;t[18]!==T||t[19]!==v||t[20]!==_||t[21]!==g||t[22]!==O?(B=v?(0,f.jsxs)(`div`,{className:`flex h-full min-h-[14rem] flex-col items-center justify-center gap-4 rounded-md border border-input bg-transparent px-6 text-center`,children:[(0,f.jsx)(`div`,{className:`bot-message-float`,children:(0,f.jsx)(se,{size:64,"aria-label":`Generating PR title and description`})}),(0,f.jsx)(`p`,{className:i.bodyMuted,children:`Generating PR title and description…`})]}):O?(0,f.jsx)(d,{className:`h-full min-h-[14rem] rounded-md border border-input bg-transparent`,children:(0,f.jsx)(`div`,{role:`button`,tabIndex:0,"aria-label":`Edit description`,onClick:he,onKeyDown:j,className:`flex h-full min-h-[14rem] cursor-text flex-col py-2 pl-3`,children:(0,f.jsx)(`div`,{className:`pr-8`,children:(0,f.jsx)(ee,{content:g})})})}):(0,f.jsx)(ue,{id:p,placeholder:`Enter PR description...`,value:g,onChange:e=>_(e.target.value),onFocus:()=>E(!0),disabled:v,autoFocus:T,className:`pr-10 h-full min-h-[14rem] resize-none`}),t[18]=T,t[19]=v,t[20]=_,t[21]=g,t[22]=O,t[23]=B):B=t[23];let V;t[24]!==v||t[25]!==y||t[26]!==b?(V=!v&&(0,f.jsx)(o,{children:(0,f.jsxs)(re,{children:[(0,f.jsx)(te,{asChild:!0,children:(0,f.jsx)(a,{type:`button`,variant:`ghost`,size:`icon`,className:`absolute top-2 right-2 h-6 w-6`,onClick:b,disabled:y,children:(0,f.jsx)(fe,{className:`h-3.5 w-3.5`})})}),(0,f.jsx)(ne,{children:`Generate PR title and description with AI`})]})}),t[24]=v,t[25]=y,t[26]=b,t[27]=V):V=t[27];let H;t[28]!==B||t[29]!==V?(H=(0,f.jsxs)(`div`,{className:`relative flex-1 min-h-0`,children:[B,V]}),t[28]=B,t[29]=V,t[30]=H):H=t[30];let U;t[31]!==z||t[32]!==H?(U=(0,f.jsxs)(`div`,{className:`grid gap-2 flex-1 min-h-0`,children:[z,H]}),t[31]=z,t[32]=H,t[33]=U):U=t[33];let W;t[34]!==U||t[35]!==L?(W=(0,f.jsxs)(`div`,{className:`grid gap-4 py-4 flex-1 min-h-0`,children:[L,U]}),t[34]=U,t[35]=L,t[36]=W):W=t[36];let G;t[37]!==C||t[38]!==w?(G=(0,f.jsx)(de,{value:C,onChange:w,ariaLabel:`Create a new branch`}),t[37]=C,t[38]=w,t[39]=G):G=t[39];let K;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(K=(0,f.jsx)(u,{className:i.labelNormal,children:`Create a new branch`}),t[40]=K):K=t[40];let q;t[41]===G?q=t[42]:(q=(0,f.jsxs)(`div`,{className:`mr-auto flex items-center gap-3`,children:[G,K]}),t[41]=G,t[42]=q);let J=y||v,Y;t[43]===y?Y=t[44]:(Y=y?(0,f.jsxs)(f.Fragment,{children:[`Create PR`,(0,f.jsx)(ce,{size:`sm`})]}):`Create PR`,t[43]=y,t[44]=Y);let X;t[45]!==x||t[46]!==J||t[47]!==Y?(X=(0,f.jsx)(a,{className:`ml-auto`,onClick:x,disabled:J,children:Y}),t[45]=x,t[46]=J,t[47]=Y,t[48]=X):X=t[48];let Z;t[49]!==q||t[50]!==X?(Z=(0,f.jsxs)(s,{className:`w-full items-center gap-4`,children:[q,X]}),t[49]=q,t[50]=X,t[51]=Z):Z=t[51];let Q;t[52]!==W||t[53]!==Z||t[54]!==N?(Q=(0,f.jsxs)(oe,{className:`flex max-w-2xl flex-col max-md:top-[max(1rem,env(safe-area-inset-top,0px))] max-md:max-h-[calc(100dvh-2rem)] max-md:translate-y-0 max-md:overflow-y-auto max-md:data-[state=closed]:slide-out-to-top max-md:data-[state=open]:slide-in-from-top max-md:data-[state=closed]:slide-out-to-left-0 max-md:data-[state=open]:slide-in-from-left-0 max-md:data-[state=closed]:zoom-out-100 max-md:data-[state=open]:zoom-in-100 md:h-[min(36rem,85dvh)]`,children:[N,W,Z]}),t[52]=W,t[53]=Z,t[54]=N,t[55]=Q):Q=t[55];let $;return t[56]!==r||t[57]!==n||t[58]!==Q?($=(0,f.jsx)(l,{open:n,onOpenChange:r,children:Q}),t[56]=r,t[57]=n,t[58]=Q,t[59]=$):$=t[59],$}export{m as PullRequestDialog};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e,t}from"./react-vendor-D61Uve5n.js";import{V as n}from"./dist-D5vgS4RP.js";import{t as r}from"./button-Dp5XDZNR.js";import{a as i,i as a,o,r as s,s as c,t as l}from"./dialog-pHPeIGaB.js";import{An as u,ct as d,gr as f,nr as p}from"./index-CalVAwXj.js";var m=e(),h=t();function g(e){let t=(0,m.c)(27),{open:g,onOpenChange:_,onCommitFirst:v,onStashAndPull:y,onCancel:b,isLoading:x}=e,S=x!==void 0&&x,C;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,h.jsxs)(o,{children:[(0,h.jsxs)(c,{className:`flex items-center gap-2`,children:[(0,h.jsx)(u,{className:`h-5 w-5 text-amber-500`}),`Uncommitted Changes Detected`]}),(0,h.jsx)(a,{children:`You have uncommitted changes. You need to handle them before pulling from the remote branch.`})]}),t[0]=C):C=t[0];let w;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,h.jsx)(`div`,{className:n.bodyMuted,children:`Choose how you want to proceed:`}),t[1]=w):w=t[1];let T;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,h.jsx)(f,{className:`h-4 w-4 mr-2`}),t[2]=T):T=t[2];let E;t[3]!==S||t[4]!==v?(E=(0,h.jsxs)(r,{onClick:v,disabled:S,className:`w-full justify-start`,variant:`outline`,children:[T,`Commit changes first, then pull`]}),t[3]=S,t[4]=v,t[5]=E):E=t[5];let D;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,h.jsx)(p,{className:`h-4 w-4 mr-2`}),t[6]=D):D=t[6];let O;t[7]!==S||t[8]!==y?(O=(0,h.jsxs)(r,{onClick:y,disabled:S,className:`w-full justify-start`,variant:`outline`,children:[D,`Stash changes → Pull → Restore changes`]}),t[7]=S,t[8]=y,t[9]=O):O=t[9];let k;t[10]!==E||t[11]!==O?(k=(0,h.jsxs)(`div`,{className:`space-y-2`,children:[E,O]}),t[10]=E,t[11]=O,t[12]=k):k=t[12];let A;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,h.jsx)(`strong`,{children:`Commit first:`}),t[13]=A):A=t[13];let j;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,h.jsxs)(d,{variant:`hint`,className:`mt-4 mb-0`,children:[A,` Safe option, preserves changes in your commit history.`,(0,h.jsx)(`br`,{}),(0,h.jsx)(`strong`,{children:`Stash and pull:`}),` Temporary option, changes will be restored after pulling.`]}),t[14]=j):j=t[14];let M;t[15]===k?M=t[16]:(M=(0,h.jsx)(`div`,{className:`py-4`,children:(0,h.jsxs)(`div`,{className:`space-y-3`,children:[w,k,j]})}),t[15]=k,t[16]=M);let N;t[17]!==S||t[18]!==b?(N=(0,h.jsx)(i,{children:(0,h.jsx)(r,{variant:`ghost`,onClick:b,disabled:S,children:`Cancel`})}),t[17]=S,t[18]=b,t[19]=N):N=t[19];let P;t[20]!==M||t[21]!==N?(P=(0,h.jsxs)(s,{className:`sm:max-w-[425px]`,children:[C,M,N]}),t[20]=M,t[21]=N,t[22]=P):P=t[22];let F;return t[23]!==_||t[24]!==g||t[25]!==P?(F=(0,h.jsx)(l,{open:g,onOpenChange:_,children:P}),t[23]=_,t[24]=g,t[25]=P,t[26]=F):F=t[26],F}export{g as PullWithChangesDialog};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e,t}from"./react-vendor-D61Uve5n.js";import{t as n}from"./button-Dp5XDZNR.js";import{a as r,i,o as a,r as o,s,t as c}from"./dialog-pHPeIGaB.js";var l=e(),u=t();function d(e){let t=(0,l.c)(15),{open:d,onOpenChange:f,isLoading:p,onPushAndCreatePR:m,onCancel:h}=e,g;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,u.jsxs)(a,{children:[(0,u.jsx)(s,{children:`Push Branch First`}),(0,u.jsx)(i,{children:`Your branch needs to be pushed to the remote before creating a pull request. Would you like to push it now?`})]}),t[0]=g):g=t[0];let _;t[1]!==p||t[2]!==h?(_=(0,u.jsx)(n,{variant:`outline`,onClick:h,disabled:p,children:`Cancel`}),t[1]=p,t[2]=h,t[3]=_):_=t[3];let v=p?`Pushing...`:`Push & Create PR`,y;t[4]!==p||t[5]!==m||t[6]!==v?(y=(0,u.jsx)(n,{onClick:m,disabled:p,children:v}),t[4]=p,t[5]=m,t[6]=v,t[7]=y):y=t[7];let b;t[8]!==_||t[9]!==y?(b=(0,u.jsxs)(o,{children:[g,(0,u.jsxs)(r,{children:[_,y]})]}),t[8]=_,t[9]=y,t[10]=b):b=t[10];let x;return t[11]!==f||t[12]!==d||t[13]!==b?(x=(0,u.jsx)(c,{open:d,onOpenChange:f,children:b}),t[11]=f,t[12]=d,t[13]=b,t[14]=x):x=t[14],x}export{d as PushBeforePRDialog};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={account:{settings:()=>[`account`,`settings`],info:()=>[`account`,`info`]},onboarding:{status:()=>[`onboarding`,`status`]},app:{update:()=>[`app`,`update`]},models:{enabled:e=>[`models`,`enabled`,e],enabledImage:e=>[`models`,`enabled-image`,e]},threads:{files:e=>[`threads`,`files`,e]},conversations:{recent:()=>[`conversations`,`recent`],unread:e=>[`conversations`,`unread`,e??null],unreadAll:()=>[`conversations`,`unread`],archived:e=>[`conversations`,`archived`,e??null],archivedAll:()=>[`conversations`,`archived`],completed:e=>[`conversations`,`completions`,e],completedAll:()=>[`conversations`,`completions`]},goals:{byConversation:e=>[`goals`,e],all:()=>[`goals`]}};export{e as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./dist-D5vgS4RP.js";import{$r as e,Ca as t}from"./api-COO2LfdU.js";function n(t){let n=e.getSync(`thread-${t}`);return n?{...n,threadId:t}:e.getSync(`projects`)?.projects.flatMap(e=>e.threads).find(e=>e.threadId===t)}function r(e){if(!e||/\s/.test(e)||!e.startsWith(`/api/`)&&!/^https?:\/\//i.test(e))return null;try{let t=new URL(e,`http://localhost`);return t.username||t.password||!/^\/api\/threads\/[^/]+\/explorer\/media$/.test(t.pathname)||t.searchParams.getAll(`path`).length!==1||!t.searchParams.get(`path`)?null:t}catch{return null}}function i(e,n){if(!n.remoteMachineId||!n.remoteThreadId||!n.remotePublicUrl)return null;let i=r(e);if(!i)return null;try{let r=decodeURIComponent(i.pathname.split(`/`)[3]);if(r!==n.remoteThreadId&&r!==n.threadId||!e.startsWith(`/api/`)&&!t(i.hostname)&&i.origin!==new URL(n.remotePublicUrl).origin)return null;let a=new URLSearchParams({path:i.searchParams.get(`path`)});for(let e of[`download`,`inline`]){let t=i.searchParams.get(e);t!==null&&a.set(e,t)}return`/api/threads/${encodeURIComponent(n.threadId)}/explorer/media?${a}${i.hash}`}catch{return null}}export{r as n,i as r,n as t};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/settings-general-view-DhA2N6G5.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/react-vendor-D61Uve5n.js","assets/use-account-settings-query-AUeOqKvo.js","assets/useBaseQuery-yghQO052.js","assets/QueryClientProvider-CYXTUmYo.js","assets/useQuery-DWt09r77.js","assets/dist-D5vgS4RP.js","assets/api-COO2LfdU.js","assets/query-keys-BwswkbMn.js","assets/use-git-check-B_5Jak2s.js","assets/utils-mYB1USG6.js","assets/check-skFQ1X72.js","assets/createLucideIcon-2A3hmV_e.js","assets/circle-alert-CC2eO3yt.js","assets/copy-bi9iX3xn.js","assets/external-link-Dcikmdm_.js","assets/loader-circle-CrqRIqdA.js","assets/button-Dp5XDZNR.js","assets/index-CalVAwXj.js","assets/chunk-QFMPRPBF-Cy-_pFSM.js","assets/useInfiniteQuery-BpKy1sCq.js","assets/store-CxUwqrZ5.js","assets/create-project-workspace-C4tXAUWJ.js","assets/terminal-output-activity-D_FxlE-L.js","assets/markdown-renderer-DXRBG7uP.js","assets/explorer-media-CRzhs0NW.js","assets/download-CWhQNGlF.js","assets/minus-l6BdrAEk.js","assets/play-Dn1mbRpD.js","assets/plus-DoMzejDu.js","assets/rotate-ccw-Dthg8Pv6.js","assets/x-ByOPrz5I.js","assets/tooltip-CJKJfu0l.js","assets/dist-BTu7PDzc.js","assets/dist-NcyjV9Gu.js","assets/dialog-pHPeIGaB.js","assets/dist-CqrmQxmV.js","assets/es2015-CE7VcoOH.js","assets/use-browser-overlay-block-z9imTmiZ.js","assets/browser-overlay-block-CiDtkfup.js","assets/explorer-tab-context-BwR8CM8l.js","assets/use-open-chat-dock-panel-w3hc5Vxn.js","assets/chat-dock-context-ymLoO90X.js","assets/random-uuid-Dc3UrwVo.js","assets/main-tab-context-Dsp4OYi9.js","assets/use-toast-CKgZ8YeP.js","assets/remote-media-url-B8OFqxOM.js","assets/task-utils-WAei2PDi.js","assets/suspense-resource-DzlMlIgR.js","assets/chevron-down-Bpo4ncEN.js","assets/chevron-right-Dga3q1bZ.js","assets/chevron-up-BxgjX7B3.js","assets/circle-DQwOli2u.js","assets/grip-vertical-_jCIw8Mw.js","assets/dist-lFBinzor.js","assets/label-C31qF5zZ.js","assets/dist-Dx8OsX8-.js","assets/dist-ButPmyjr.js","assets/dist-f54JuzFV.js","assets/dist-BOfRC57H.js","assets/scroll-area-BWc4OPsj.js","assets/ai-spinner-DHwhlk4j.js","assets/progress-indicator-4zQXqOqP.js","assets/alert-dialog-DVaEQlVa.js","assets/use-projects-BmhAMgxB.js","assets/use-suspense-resource-uCX26gOk.js","assets/explorer-file-drop-CEbBlDEp.js","assets/api-BdebJfuN.js","assets/select-B6RizwDW.js","assets/dist-CkGJjZXY.js","assets/mcp-manager-C3K_62H2.js","assets/checkbox-D-BV8-Z_.js","assets/index-BBLA5zVt.css","assets/toggle-group-DqSxGqvP.js","assets/use-settings-page-loading-B5WU5d1c.js","assets/conversation-history-view-CVMD8hUU.js","assets/delete-confirm-dialog-SpYpU1AX.js","assets/table-C3Hc0Gwy.js","assets/settings-storage-view-CQnaVOt_.js","assets/settings-list-D35rpAof.js","assets/card-BkOGFps5.js","assets/settings-statistics-view-B03ZZjEy.js","assets/settings-logs-view-eEUTIMeb.js","assets/settings-slack-view-DkclyaBc.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,o as n,r,t as i}from"./react-vendor-D61Uve5n.js";import{o as a,s as o}from"./chunk-QFMPRPBF-Cy-_pFSM.js";import"./dist-D5vgS4RP.js";import{t as s}from"./progress-indicator-4zQXqOqP.js";import{t as c}from"./settings-tab-bar-ajzyt79U.js";import{a as l,i as u}from"./settings-view-8M6sbGiX.js";var d=t(),f=e(n(),1),p=i(),m=(0,f.lazy)(function(){return r(()=>import(`./settings-general-view-DhA2N6G5.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75]))}),h=(0,f.lazy)(function(){return r(()=>import(`./conversation-history-view-CVMD8hUU.js`),__vite__mapDeps([76,1,2,21,4,5,7,8,11,18,9,63,62,46,19,20,3,6,22,23,24,25,26,12,13,15,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48,49,50,51,52,14,53,16,54,17,55,56,57,58,59,60,61,64,65,66,67,68,69,70,71,72,73,77,78]))}),g=(0,f.lazy)(function(){return r(()=>import(`./settings-storage-view-CQnaVOt_.js`),__vite__mapDeps([79,1,2,5,7,22,11,8,17,13,18,33,34,35,56,55,63,62,64,37,38,39,40,46,65,20,23,24,12,14,32,59,49,66,68,19,4,21,3,6,9,25,26,15,27,28,29,30,31,36,41,42,43,44,45,47,48,50,51,52,53,16,54,57,58,60,61,67,69,70,71,72,73,77,78,80,81]))}),_=(0,f.lazy)(function(){return r(()=>import(`./settings-statistics-view-B03ZZjEy.js`),__vite__mapDeps([82,1,2,7,8,11,31,13,18,46,19,20,4,5,21,3,6,9,22,23,24,25,26,12,15,27,28,29,30,32,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48,49,50,51,52,14,53,16,54,17,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,77,78,74]))}),v=(0,f.lazy)(function(){return r(()=>import(`./settings-logs-view-eEUTIMeb.js`),__vite__mapDeps([83,1,2,20,7,8,11,12,13,15,17,18,33,34,35,61,57,46,19,4,5,21,3,6,9,22,23,24,25,26,27,28,29,30,31,32,36,37,38,39,40,41,42,43,44,45,47,48,49,50,51,52,14,53,16,54,55,56,58,59,60,62,63,64,65,66,67,68,69,70,71,72,73,74]))}),y=(0,f.lazy)(function(){return r(()=>import(`./settings-slack-view-DkclyaBc.js`),__vite__mapDeps([84,1,2,7,8,11,15,13,27,17,18,46,69,12,50,52,34,35,33,38,59,57,61,70,19,20,4,5,21,3,6,9,22,23,24,25,26,28,29,30,31,32,36,37,39,40,41,42,43,44,45,47,48,49,51,14,53,16,54,55,56,58,60,62,63,64,65,66,67,68,71,72,73]))});function b(e){let t=(0,d.c)(32),{fallbackTab:n,onboardingResetSignal:r}=e,i=n===void 0?`general`:n,b=a(),x=o(),S;t[0]!==i||t[1]!==b?(S=i===`general`?l(b.pathname)??i:i,t[0]=i,t[1]=b,t[2]=S):S=t[2];let C=S,w;t[3]===x?w=t[4]:(w=function(e){x(e===`general`?`/settings/general`:`/settings/general/${e}`)},t[3]=x,t[4]=w);let T=w,E;t[5]!==C||t[6]!==T?(E=(0,p.jsx)(c,{value:C,onValueChange:T,options:u}),t[5]=C,t[6]=T,t[7]=E):E=t[7];let D;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,p.jsx)(s,{centered:!0,label:`Loading general settings...`}),t[8]=D):D=t[8];let O;t[9]!==C||t[10]!==r?(O=C===`general`&&(0,p.jsx)(m,{onboardingResetSignal:r}),t[9]=C,t[10]=r,t[11]=O):O=t[11];let k;t[12]===C?k=t[13]:(k=C===`history`&&(0,p.jsx)(h,{}),t[12]=C,t[13]=k);let A;t[14]===C?A=t[15]:(A=C===`storage`&&(0,p.jsx)(g,{}),t[14]=C,t[15]=A);let j;t[16]===C?j=t[17]:(j=C===`statistics`&&(0,p.jsx)(_,{}),t[16]=C,t[17]=j);let M;t[18]===C?M=t[19]:(M=C===`logs`&&(0,p.jsx)(v,{}),t[18]=C,t[19]=M);let N;t[20]===C?N=t[21]:(N=C===`slack`&&(0,p.jsx)(y,{}),t[20]=C,t[21]=N);let P;t[22]!==M||t[23]!==N||t[24]!==O||t[25]!==k||t[26]!==A||t[27]!==j?(P=(0,p.jsx)(`div`,{className:`min-h-0 flex-1`,role:`region`,"aria-label":`General settings`,children:(0,p.jsxs)(f.Suspense,{fallback:D,children:[O,k,A,j,M,N]})}),t[22]=M,t[23]=N,t[24]=O,t[25]=k,t[26]=A,t[27]=j,t[28]=P):P=t[28];let F;return t[29]!==P||t[30]!==E?(F=(0,p.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[E,P]}),t[29]=P,t[30]=E,t[31]=F):F=t[31],F}export{b as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,o as n,t as r}from"./react-vendor-D61Uve5n.js";import{a as i,i as a}from"./use-account-settings-query-AUeOqKvo.js";import{V as o,b as s}from"./dist-D5vgS4RP.js";import{ft as c,ni as l,oi as u}from"./api-COO2LfdU.js";import{n as d,r as f,t as p}from"./use-git-check-B_5Jak2s.js";import{s as m,t as h}from"./utils-mYB1USG6.js";import{t as g}from"./circle-alert-CC2eO3yt.js";import{t as _}from"./loader-circle-CrqRIqdA.js";import{t as v}from"./rotate-ccw-Dthg8Pv6.js";import{t as y}from"./button-Dp5XDZNR.js";import{g as b,h as x,t as S,u as C}from"./dist-BTu7PDzc.js";import{o as w}from"./dist-NcyjV9Gu.js";import{i as T,n as E,t as D}from"./tooltip-CJKJfu0l.js";import{i as O,o as k,r as A,s as j,t as M}from"./dialog-pHPeIGaB.js";import{t as ee}from"./label-C31qF5zZ.js";import{t as N}from"./dist-f54JuzFV.js";import{t as te}from"./dist-Dx8OsX8-.js";import{i as ne,r as re}from"./scroll-area-BWc4OPsj.js";import{t as P}from"./dist-CkGJjZXY.js";import{A as ie,Br as ae,Cn as oe,Fn as se,Hr as ce,In as le,J as ue,Mr as F,T as de,Y as I,_t as L,ar as fe,bt as R,ht as z,ir as B,j as pe,jr as me,lt as V,mr as he,n as ge,ot as H,pt as U,q as _e,qn as ve,r as ye,sn as be,t as xe}from"./index-CalVAwXj.js";import{n as W,t as G}from"./toggle-group-DqSxGqvP.js";import{t as Se}from"./use-settings-page-loading-B5WU5d1c.js";var K=t(),q=`flex h-7 w-7 min-h-0 min-w-0 items-center justify-center rounded-full border-0 bg-background p-0 data-[state=on]:bg-foreground data-[state=on]:text-background data-[state=on]:shadow-sm hover:bg-background hover:text-muted-foreground data-[state=on]:hover:bg-foreground data-[state=on]:hover:text-background`,J=`inline-flex h-auto w-fit justify-start rounded-full border-0 bg-background p-1 text-muted-foreground`,Y=r(),Ce=[{value:`light`,label:`Light`,icon:se},{value:`dark`,label:`Dark`,icon:B},{value:`system`,label:`System`,icon:le}];function we(e){let t=(0,K.c)(6),{theme:n,onThemeChange:r}=e,i;t[0]===r?i=t[1]:(i=e=>{(e===`light`||e===`dark`||e===`system`)&&r(e)},t[0]=r,t[1]=i);let a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=Ce.map(Te),t[2]=a):a=t[2];let o;return t[3]!==i||t[4]!==n?(o=(0,Y.jsx)(H,{title:`Appearance`,description:`Choose your preferred color scheme.`,controlLayout:`row-end`,action:(0,Y.jsx)(G,{type:`single`,value:n,onValueChange:i,"aria-label":`Appearance`,className:J,children:a})}),t[3]=i,t[4]=n,t[5]=o):o=t[5],o}function Te(e){let t=e.icon;return(0,Y.jsx)(W,{value:e.value,"aria-label":e.label,className:q,children:(0,Y.jsx)(t,{className:`h-4 w-4`,"aria-hidden":`true`})},e.value)}var X=e(n(),1),Z=[`PageUp`,`PageDown`],Q=[`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`],Ee={"from-left":[`Home`,`PageDown`,`ArrowDown`,`ArrowLeft`],"from-right":[`Home`,`PageDown`,`ArrowDown`,`ArrowRight`],"from-bottom":[`Home`,`PageDown`,`ArrowDown`,`ArrowLeft`],"from-top":[`Home`,`PageDown`,`ArrowUp`,`ArrowLeft`]},$=`Slider`,[De,Oe,ke]=N($),[Ae,je]=x($,[ke]),[Me,Ne]=Ae($),Pe=X.forwardRef((e,t)=>{let{name:n,min:r=0,max:i=100,step:a=1,orientation:o=`horizontal`,disabled:s=!1,minStepsBetweenThumbs:c=0,defaultValue:l=[r],value:u,onValueChange:d=()=>{},onValueCommit:f=()=>{},inverted:p=!1,form:m,...h}=e,g=X.useRef(new Set),_=X.useRef(0),v=o===`horizontal`?Le:Re,[y=[],x]=S({prop:u,defaultProp:l,onChange:e=>{[...g.current][_.current]?.focus(),d(e)}}),C=X.useRef(y);function w(e){D(e,Qe(y,e))}function T(e){D(e,_.current)}function E(){let e=C.current[_.current];y[_.current]!==e&&f(y)}function D(e,t,{commit:n}={commit:!1}){let o=rt(a),s=it(Math.round((e-r)/a)*a+r,o),l=ne(s,[r,i]);x((e=[])=>{let r=Ye(e,l,t);if(tt(r,c*a)){_.current=r.indexOf(l);let t=String(r)!==String(e);return t&&n&&f(r),t?r:e}return e})}return(0,Y.jsx)(Me,{scope:e.__scopeSlider,name:n,disabled:s,min:r,max:i,valueIndexToChangeRef:_,thumbs:g.current,values:y,orientation:o,form:m,children:(0,Y.jsx)(De.Provider,{scope:e.__scopeSlider,children:(0,Y.jsx)(De.Slot,{scope:e.__scopeSlider,children:(0,Y.jsx)(v,{"aria-disabled":s,"data-disabled":s?``:void 0,...h,ref:t,onPointerDown:b(h.onPointerDown,()=>{s||(C.current=y)}),min:r,max:i,inverted:p,onSlideStart:s?void 0:w,onSlideMove:s?void 0:T,onSlideEnd:s?void 0:E,onHomeKeyDown:()=>!s&&D(r,0,{commit:!0}),onEndKeyDown:()=>!s&&D(i,y.length-1,{commit:!0}),onStepKeyDown:({event:e,direction:t})=>{if(!s){let n=Z.includes(e.key)||e.shiftKey&&Q.includes(e.key)?10:1,r=_.current,i=y[r];D(i+a*n*t,r,{commit:!0})}}})})})})});Pe.displayName=$;var[Fe,Ie]=Ae($,{startEdge:`left`,endEdge:`right`,size:`width`,direction:1}),Le=X.forwardRef((e,t)=>{let{min:n,max:r,dir:i,inverted:a,onSlideStart:o,onSlideMove:s,onSlideEnd:c,onStepKeyDown:l,...u}=e,[d,f]=X.useState(null),p=m(t,e=>f(e)),h=X.useRef(void 0),g=te(i),_=g===`ltr`,v=_&&!a||!_&&a;function y(e){let t=h.current||d.getBoundingClientRect(),i=nt([0,t.width],v?[n,r]:[r,n]);return h.current=t,i(e-t.left)}return(0,Y.jsx)(Fe,{scope:e.__scopeSlider,startEdge:v?`left`:`right`,endEdge:v?`right`:`left`,direction:v?1:-1,size:`width`,children:(0,Y.jsx)(ze,{dir:g,"data-orientation":`horizontal`,...u,ref:p,style:{...u.style,"--radix-slider-thumb-transform":`translateX(-50%)`},onSlideStart:e=>{let t=y(e.clientX);o?.(t)},onSlideMove:e=>{let t=y(e.clientX);s?.(t)},onSlideEnd:()=>{h.current=void 0,c?.()},onStepKeyDown:e=>{let t=Ee[v?`from-left`:`from-right`].includes(e.key);l?.({event:e,direction:t?-1:1})}})})}),Re=X.forwardRef((e,t)=>{let{min:n,max:r,inverted:i,onSlideStart:a,onSlideMove:o,onSlideEnd:s,onStepKeyDown:c,...l}=e,u=X.useRef(null),d=m(t,u),f=X.useRef(void 0),p=!i;function h(e){let t=f.current||u.current.getBoundingClientRect(),i=nt([0,t.height],p?[r,n]:[n,r]);return f.current=t,i(e-t.top)}return(0,Y.jsx)(Fe,{scope:e.__scopeSlider,startEdge:p?`bottom`:`top`,endEdge:p?`top`:`bottom`,size:`height`,direction:p?1:-1,children:(0,Y.jsx)(ze,{"data-orientation":`vertical`,...l,ref:d,style:{...l.style,"--radix-slider-thumb-transform":`translateY(50%)`},onSlideStart:e=>{let t=h(e.clientY);a?.(t)},onSlideMove:e=>{let t=h(e.clientY);o?.(t)},onSlideEnd:()=>{f.current=void 0,s?.()},onStepKeyDown:e=>{let t=Ee[p?`from-bottom`:`from-top`].includes(e.key);c?.({event:e,direction:t?-1:1})}})})}),ze=X.forwardRef((e,t)=>{let{__scopeSlider:n,onSlideStart:r,onSlideMove:i,onSlideEnd:a,onHomeKeyDown:o,onEndKeyDown:s,onStepKeyDown:c,...l}=e,u=Ne($,n);return(0,Y.jsx)(C.span,{...l,ref:t,onKeyDown:b(e.onKeyDown,e=>{e.key===`Home`?(o(e),e.preventDefault()):e.key===`End`?(s(e),e.preventDefault()):Z.concat(Q).includes(e.key)&&(c(e),e.preventDefault())}),onPointerDown:b(e.onPointerDown,e=>{let t=e.target;t.setPointerCapture(e.pointerId),e.preventDefault(),u.thumbs.has(t)?t.focus():r(e)}),onPointerMove:b(e.onPointerMove,e=>{e.target.hasPointerCapture(e.pointerId)&&i(e)}),onPointerUp:b(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&(t.releasePointerCapture(e.pointerId),a(e))})})}),Be=`SliderTrack`,Ve=X.forwardRef((e,t)=>{let{__scopeSlider:n,...r}=e,i=Ne(Be,n);return(0,Y.jsx)(C.span,{"data-disabled":i.disabled?``:void 0,"data-orientation":i.orientation,...r,ref:t})});Ve.displayName=Be;var He=`SliderRange`,Ue=X.forwardRef((e,t)=>{let{__scopeSlider:n,...r}=e,i=Ne(He,n),a=Ie(He,n),o=X.useRef(null),s=m(t,o),c=i.values.length,l=i.values.map(e=>Xe(e,i.min,i.max)),u=c>1?Math.min(...l):0,d=100-Math.max(...l);return(0,Y.jsx)(C.span,{"data-orientation":i.orientation,"data-disabled":i.disabled?``:void 0,...r,ref:s,style:{...e.style,[a.startEdge]:u+`%`,[a.endEdge]:d+`%`}})});Ue.displayName=He;var We=`SliderThumb`,Ge=X.forwardRef((e,t)=>{let n=Oe(e.__scopeSlider),[r,i]=X.useState(null),a=m(t,e=>i(e)),o=X.useMemo(()=>r?n().findIndex(e=>e.ref.current===r):-1,[n,r]);return(0,Y.jsx)(Ke,{...e,ref:a,index:o})}),Ke=X.forwardRef((e,t)=>{let{__scopeSlider:n,index:r,name:i,...a}=e,o=Ne(We,n),s=Ie(We,n),[c,l]=X.useState(null),u=m(t,e=>l(e)),d=!c||o.form||!!c.closest(`form`),f=w(c),p=o.values[r],h=p===void 0?0:Xe(p,o.min,o.max),g=Ze(r,o.values.length),_=f?.[s.size],v=_?$e(_,h,s.direction):0;return X.useEffect(()=>{if(c)return o.thumbs.add(c),()=>{o.thumbs.delete(c)}},[c,o.thumbs]),(0,Y.jsxs)(`span`,{style:{transform:`var(--radix-slider-thumb-transform)`,position:`absolute`,[s.startEdge]:`calc(${h}% + ${v}px)`},children:[(0,Y.jsx)(De.ItemSlot,{scope:e.__scopeSlider,children:(0,Y.jsx)(C.span,{role:`slider`,"aria-label":e[`aria-label`]||g,"aria-valuemin":o.min,"aria-valuenow":p,"aria-valuemax":o.max,"aria-orientation":o.orientation,"data-orientation":o.orientation,"data-disabled":o.disabled?``:void 0,tabIndex:o.disabled?void 0:0,...a,ref:u,style:p===void 0?{display:`none`}:e.style,onFocus:b(e.onFocus,()=>{o.valueIndexToChangeRef.current=r})})}),d&&(0,Y.jsx)(Je,{name:i??(o.name?o.name+(o.values.length>1?`[]`:``):void 0),form:o.form,value:p},r)]})});Ge.displayName=We;var qe=`RadioBubbleInput`,Je=X.forwardRef(({__scopeSlider:e,value:t,...n},r)=>{let i=X.useRef(null),a=m(i,r),o=P(t);return X.useEffect(()=>{let e=i.current;if(!e)return;let n=window.HTMLInputElement.prototype,r=Object.getOwnPropertyDescriptor(n,`value`).set;if(o!==t&&r){let n=new Event(`input`,{bubbles:!0});r.call(e,t),e.dispatchEvent(n)}},[o,t]),(0,Y.jsx)(C.input,{style:{display:`none`},...n,ref:a,defaultValue:t})});Je.displayName=qe;function Ye(e=[],t,n){let r=[...e];return r[n]=t,r.sort((e,t)=>e-t)}function Xe(e,t,n){let r=100/(n-t)*(e-t);return ne(r,[0,100])}function Ze(e,t){if(t>2)return`Value ${e+1} of ${t}`;if(t===2)return[`Minimum`,`Maximum`][e]}function Qe(e,t){if(e.length===1)return 0;let n=e.map(e=>Math.abs(e-t)),r=Math.min(...n);return n.indexOf(r)}function $e(e,t,n){let r=e/2;return(r-nt([0,50],[0,r])(t)*n)*n}function et(e){return e.slice(0,-1).map((t,n)=>e[n+1]-t)}function tt(e,t){if(t>0){let n=et(e);return Math.min(...n)>=t}return!0}function nt(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function rt(e){return(String(e).split(`.`)[1]||``).length}function it(e,t){let n=10**t;return Math.round(e*n)/n}var at=Pe,ot=Ve,st=Ue,ct=Ge,lt=X.forwardRef((e,t)=>{let n=(0,K.c)(22),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,valueTooltip:a,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let[o,s]=X.useState(!1),[c,l]=X.useState(!1),u,d;n[4]===c?(u=n[5],d=n[6]):(u=()=>{if(!c)return;let e=function(){l(!1)};return document.addEventListener(`pointerup`,e),()=>{document.removeEventListener(`pointerup`,e)}},d=[c],n[4]=c,n[5]=u,n[6]=d),X.useEffect(u,d);let f;n[7]===a?f=n[8]:(f=(0,Y.jsx)(ct,{className:`block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50`,onPointerDown:()=>{a!=null&&(l(!0),s(!0))}}),n[7]=a,n[8]=f);let p=f,m;n[9]===r?m=n[10]:(m=h(`relative flex w-full touch-none select-none items-center`,r),n[9]=r,n[10]=m);let g;n[11]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,Y.jsx)(ot,{className:`relative h-2 w-full grow overflow-hidden rounded-full bg-secondary`,children:(0,Y.jsx)(st,{className:`absolute h-full bg-primary`})}),n[11]=g):g=n[11];let _;n[12]!==c||n[13]!==o||n[14]!==p||n[15]!==a?(_=a==null?p:(0,Y.jsxs)(D,{open:o||c,onOpenChange:s,children:[(0,Y.jsx)(T,{asChild:!0,children:p}),(0,Y.jsx)(E,{side:`top`,children:a})]}),n[12]=c,n[13]=o,n[14]=p,n[15]=a,n[16]=_):_=n[16];let v;return n[17]!==i||n[18]!==t||n[19]!==m||n[20]!==_?(v=(0,Y.jsxs)(at,{ref:t,className:m,...i,children:[g,_]}),n[17]=i,n[18]=t,n[19]=m,n[20]=_,n[21]=v):v=n[21],v});lt.displayName=at.displayName;function ut(e){let t=(0,K.c)(16),{scale:n,min:r,max:i,onChange:a}=e,s;t[0]===r?s=t[1]:(s=(0,Y.jsxs)(`span`,{className:`${o.bodyMuted} w-8 shrink-0 text-right`,children:[r,`%`]}),t[0]=r,t[1]=s);let c;t[2]===n?c=t[3]:(c=[n],t[2]=n,t[3]=c);let l=`${n}%`,u;t[4]!==i||t[5]!==r||t[6]!==a||t[7]!==c||t[8]!==l?(u=(0,Y.jsx)(lt,{value:c,min:r,max:i,step:5,onValueChange:a,"aria-label":`Font size`,valueTooltip:l}),t[4]=i,t[5]=r,t[6]=a,t[7]=c,t[8]=l,t[9]=u):u=t[9];let d;t[10]===i?d=t[11]:(d=(0,Y.jsxs)(`span`,{className:`${o.bodyMuted} w-9 shrink-0`,children:[i,`%`]}),t[10]=i,t[11]=d);let f;return t[12]!==s||t[13]!==u||t[14]!==d?(f=(0,Y.jsx)(H,{title:`Font Size`,description:`Adjust the text size across the entire application.`,children:(0,Y.jsxs)(`div`,{className:`ml-auto flex w-1/2 items-center gap-3`,children:[s,u,d]})}),t[12]=s,t[13]=u,t[14]=d,t[15]=f):f=t[15],f}function dt(e){let t=(0,K.c)(11),{open:n,onOpenChange:r}=e,i;t[0]===n?i=t[1]:(i={enabled:n,pollWhileMissing:!0},t[0]=n,t[1]=i);let a=p(i),o;t[2]===a?o=t[3]:(o=function(){return a.gitInstalled===null?(0,Y.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,Y.jsx)(_,{className:`h-5 w-5 animate-spin text-muted-foreground`})}):a.gitInstalled?(0,Y.jsx)(d,{version:a.version}):(0,Y.jsx)(f,{platform:a.platform,plan:a.plan,checking:a.loading,onCheckAgain:()=>void a.check()})},t[2]=a,t[3]=o);let s=o,c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,Y.jsxs)(k,{children:[(0,Y.jsx)(j,{children:`Git setup`}),(0,Y.jsx)(O,{children:`Git powers version-control features in Tarsk. Install it here if it's missing.`})]}),t[4]=c):c=t[4];let l;t[5]===s?l=t[6]:(l=(0,Y.jsxs)(A,{className:`max-w-lg`,children:[c,(0,Y.jsx)(re,{className:`max-h-[60dvh]`,children:s()})]}),t[5]=s,t[6]=l);let u;return t[7]!==r||t[8]!==n||t[9]!==l?(u=(0,Y.jsx)(M,{open:n,onOpenChange:r,children:l}),t[7]=r,t[8]=n,t[9]=l,t[10]=u):u=t[10],u}function ft(){let[e,t]=(0,X.useState)(!1),[n,r]=(0,X.useState)(0),[i,a]=(0,X.useState)(null),[s,l]=(0,X.useState)(!1),[u,d]=(0,X.useState)(!0),f=p({pollWhileMissing:!0});function m(){t(!0)}function _(){r(function(e){return e+1})}return(0,X.useEffect)(function(){let e=!0;async function t(){d(!0),l(!1);try{let t=await c();e&&a(t)}catch{e&&l(!0)}finally{e&&d(!1)}}return t(),function(){e=!1}},[n]),(0,Y.jsxs)(R,{className:`shrink-0`,children:[(0,Y.jsx)(V,{title:`Git`,className:`[&>div:first-child]:py-2`,sticky:!1}),(0,Y.jsx)(L,{className:`max-w-none pt-0`,children:(0,Y.jsxs)(z,{children:[f.gitInstalled===!1&&(0,Y.jsx)(H,{title:`Git Installation`,description:`Git powers version-control features in Tarsk, like commits and branch history.`,children:(0,Y.jsxs)(`div`,{className:`ml-auto flex w-1/2 items-center justify-end gap-3`,children:[(0,Y.jsx)(`span`,{className:o.bodyMuted,children:`Not installed`}),(0,Y.jsx)(y,{variant:`outline`,onClick:m,children:`Setup guide`})]})}),(0,Y.jsx)(H,{title:`Git Authentication`,description:`Shows whether this machine has a saved credential for each HTTPS Git host used by your projects. Saved credentials may have expired or lack access to a particular repository.`,children:(0,Y.jsxs)(`div`,{className:`ml-auto flex w-1/2 flex-col items-end gap-2`,children:[(0,Y.jsxs)(y,{variant:`outline`,size:`sm`,disabled:u,onClick:_,children:[(0,Y.jsx)(ve,{className:h(`mr-2 h-4 w-4`,u&&`animate-spin`)}),`Refresh`]}),u?(0,Y.jsx)(`span`,{className:o.bodyMuted,"aria-live":`polite`,children:`Checking saved credentials…`}):s?(0,Y.jsx)(`span`,{className:h(o.bodyMuted,`text-destructive`),role:`status`,children:`Could not check Git credentials`}):i?.hosts.length?(0,Y.jsx)(`div`,{className:`w-full space-y-2`,"aria-live":`polite`,children:i.hosts.map(function(e){let t=ce(e.host),n=e.credentialStored===!0?`Credential saved`:e.credentialStored===!1?`No credential saved`:`Could not read credential store`,r=e.credentialStored===!0,i=r?F:g;return(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Y.jsx)(`span`,{className:o.body,children:t.name}),(0,Y.jsxs)(`span`,{className:h(`flex items-center gap-2 text-right`,o.bodyMuted,r&&`text-brand`),children:[(0,Y.jsx)(i,{className:h(`h-4 w-4`,r?`text-brand`:`text-amber-500`),"aria-hidden":`true`}),n]})]},e.host)})}):(0,Y.jsx)(`span`,{className:o.bodyMuted,"aria-live":`polite`,children:`No HTTPS Git hosts found in your projects`})]})})]})}),(0,Y.jsx)(dt,{open:e,onOpenChange:t})]})}function pt(e){let t=(0,K.c)(11),{enabled:n,isEnvConfigured:r,ingestingHost:i,isLoading:a,isSaving:s,onChange:c}=e,l=a||s,u;t[0]!==n||t[1]!==c||t[2]!==l?(u=(0,Y.jsx)(I,{value:n,onChange:c,disabled:l,ariaLabel:`Logging`}),t[0]=n,t[1]=c,t[2]=l,t[3]=u):u=t[3];let d;t[4]!==n||t[5]!==i||t[6]!==r?(d=n&&r&&i?(0,Y.jsxs)(`p`,{className:`${o.bodyMuted} mt-3`,children:[`Also sending logs to Better Stack at`,` `,(0,Y.jsx)(`span`,{className:o.mono,children:i})]}):null,t[4]=n,t[5]=i,t[6]=r,t[7]=d):d=t[7];let f;return t[8]!==u||t[9]!==d?(f=(0,Y.jsx)(H,{title:`Logging`,description:`Send verbose application logs to Better Stack when its environment variables are configured. Recent entries always appear in Settings → Logs.`,controlLayout:`row-end`,action:u,children:d}),t[8]=u,t[9]=d,t[10]=f):f=t[10],f}function mt(e){let t=(0,K.c)(10),{draftValue:n,defaultTurnCount:r,isLoading:i,isSaving:a,onChange:o,onBlur:s}=e,c=`Set how many turns a long-running agent chat can take before Tarsk asks whether to continue. Default: ${r} turns.`,l;t[0]===s?l=t[1]:(l=()=>{s()},t[0]=s,t[1]=l);let u=i||a,d;t[2]!==n||t[3]!==o||t[4]!==l||t[5]!==u?(d=(0,Y.jsx)(oe,{type:`number`,min:1,step:1,value:n,onChange:o,onBlur:l,disabled:u,"aria-label":`Maximum turn count`,className:`w-28 text-right font-mono tabular-nums flex-shrink-0`}),t[2]=n,t[3]=o,t[4]=l,t[5]=u,t[6]=d):d=t[6];let f;return t[7]!==c||t[8]!==d?(f=(0,Y.jsx)(H,{title:`Maximum Turn Count`,description:c,controlLayout:`row-end`,action:d}),t[7]=c,t[8]=d,t[9]=f):f=t[9],f}function ht(e){let t=(0,K.c)(16),{opacity:n,min:r,max:i,onChange:a}=e,s;t[0]===r?s=t[1]:(s=(0,Y.jsxs)(`span`,{className:`${o.bodyMuted} w-8 shrink-0 text-right`,children:[r,`%`]}),t[0]=r,t[1]=s);let c;t[2]===n?c=t[3]:(c=[n],t[2]=n,t[3]=c);let l=`${n}%`,u;t[4]!==i||t[5]!==r||t[6]!==a||t[7]!==c||t[8]!==l?(u=(0,Y.jsx)(lt,{value:c,min:r,max:i,step:5,onValueChange:a,"aria-label":`Panel opacity`,valueTooltip:l}),t[4]=i,t[5]=r,t[6]=a,t[7]=c,t[8]=l,t[9]=u):u=t[9];let d;t[10]===i?d=t[11]:(d=(0,Y.jsxs)(`span`,{className:`${o.bodyMuted} w-9 shrink-0`,children:[i,`%`]}),t[10]=i,t[11]=d);let f;return t[12]!==s||t[13]!==u||t[14]!==d?(f=(0,Y.jsx)(H,{title:`Panel Opacity`,description:`Adjust how opaque the frosted panels are over the wallpaper.`,children:(0,Y.jsxs)(`div`,{className:`ml-auto flex w-1/2 items-center gap-3`,children:[s,u,d]})}),t[12]=s,t[13]=u,t[14]=d,t[15]=f):f=t[15],f}function gt(e){let t=(0,K.c)(14),{brandColor:n,onColorChange:r,onReset:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=h(q,`relative cursor-pointer overflow-hidden`),t[0]=a):a=t[0];let o;t[1]===n?o=t[2]:(o=(0,Y.jsx)(`span`,{className:`pointer-events-none h-4 w-4 rounded-full border border-black/25 dark:border-white/25`,style:{backgroundColor:n},"aria-hidden":`true`}),t[1]=n,t[2]=o);let s;t[3]===r?s=t[4]:(s=e=>{r(e.target.value)},t[3]=r,t[4]=s);let c;t[5]!==n||t[6]!==s?(c=(0,Y.jsx)(`input`,{type:`color`,value:n,"aria-label":`Primary color`,className:`absolute inset-0 cursor-pointer opacity-0`,onChange:s}),t[5]=n,t[6]=s,t[7]=c):c=t[7];let l;t[8]!==o||t[9]!==c?(l=(0,Y.jsx)(`div`,{className:J,children:(0,Y.jsxs)(`label`,{className:a,children:[o,c]})}),t[8]=o,t[9]=c,t[10]=l):l=t[10];let u;return t[11]!==i||t[12]!==l?(u=(0,Y.jsx)(H,{title:`Primary Color`,description:`Choose the primary accent color used across the app. Click the label to reset to default.`,controlLayout:`row-end`,onTitleClick:i,action:l}),t[11]=i,t[12]=l,t[13]=u):u=t[13],u}function _t(e){let t=(0,K.c)(7),{error:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Y.jsx)(g,{className:`h-4 w-4 mt-0.5 flex-shrink-0`}),t[0]=r):r=t[0];let i;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Y.jsx)(`p`,{className:o.body,children:`Failed to open System Settings`}),t[1]=i):i=t[1];let a;t[2]===n?a=t[3]:(a=(0,Y.jsx)(`p`,{className:o.bodyMuted,children:n}),t[2]=n,t[3]=a);let s;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,Y.jsxs)(`p`,{className:o.bodyMuted,children:[`Please open it manually:`,` `,(0,Y.jsx)(`strong`,{children:`System Settings > Privacy & Security > Screen & System Audio Recording`})]}),t[4]=s):s=t[4];let c;return t[5]===a?c=t[6]:(c=(0,Y.jsxs)(`div`,{className:`flex items-start gap-2 p-3 rounded-md bg-destructive/10 text-destructive`,children:[r,(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[i,a,s]})]}),t[5]=a,t[6]=c),c}function vt(e){let t=(0,K.c)(16),{message:n,isOpeningSettings:r,openSettingsError:i,onOpenSettings:a}=e,s=n??`Tarsk needs Screen & Audio Recording permission to use browser tools.`,c;t[0]===s?c=t[1]:(c=(0,Y.jsx)(`p`,{className:o.bodyMuted,children:s}),t[0]=s,t[1]=c);let l;t[2]===a?l=t[3]:(l=()=>void a(),t[2]=a,t[3]=l);let u;t[4]===r?u=t[5]:(u=r?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(_,{className:`h-4 w-4 mr-2 animate-spin`}),`Opening Settings...`]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(fe,{className:`h-4 w-4 mr-2`}),`Open System Settings`]}),t[4]=r,t[5]=u);let d;t[6]!==r||t[7]!==l||t[8]!==u?(d=(0,Y.jsx)(y,{size:`sm`,onClick:l,disabled:r,className:`w-fit`,children:u}),t[6]=r,t[7]=l,t[8]=u,t[9]=d):d=t[9];let f;t[10]===i?f=t[11]:(f=i?(0,Y.jsx)(_t,{error:i}):null,t[10]=i,t[11]=f);let p;return t[12]!==c||t[13]!==d||t[14]!==f?(p=(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[c,d,f]}),t[12]=c,t[13]=d,t[14]=f,t[15]=p):p=t[15],p}function yt(e){let t=(0,K.c)(2),{granted:n}=e;if(n){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(F,{className:`h-4 w-4 text-brand`}),(0,Y.jsx)(`span`,{className:h(o.body,`text-brand`),children:`Permission granted`})]}),t[0]=e):e=t[0],e}let r;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(me,{className:`h-4 w-4 text-amber-500`}),(0,Y.jsx)(`span`,{className:h(o.body,`text-amber-600 dark:text-amber-400`),children:`Permission not granted`})]}),t[1]=r):r=t[1],r}function bt(e){let t=(0,K.c)(24),{status:n,isLoading:r,isOpeningSettings:i,openSettingsError:a,onRefresh:o,onOpenSettings:s}=e;if(!n?.isMacOS)return null;let c;t[0]!==r||t[1]!==n?(c=r?null:(0,Y.jsx)(yt,{granted:!!n.granted}),t[0]=r,t[1]=n,t[2]=c):c=t[2];let l;t[3]===o?l=t[4]:(l=()=>void o(),t[3]=o,t[4]=l);let u;t[5]===r?u=t[6]:(u=r?(0,Y.jsx)(_,{className:`h-3.5 w-3.5 animate-spin`}):(0,Y.jsx)(v,{className:`h-3.5 w-3.5`}),t[5]=r,t[6]=u);let d;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,Y.jsx)(`span`,{className:`sr-only`,children:`Refresh permission status`}),t[7]=d):d=t[7];let f;t[8]!==r||t[9]!==l||t[10]!==u?(f=(0,Y.jsxs)(y,{variant:`ghost`,size:`icon-sm`,className:`h-7 w-7 shrink-0 rounded-full border-0 bg-background hover:bg-background hover:text-foreground`,onClick:l,disabled:r,children:[u,d]}),t[8]=r,t[9]=l,t[10]=u,t[11]=f):f=t[11];let p;t[12]!==c||t[13]!==f?(p=(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[c,f]}),t[12]=c,t[13]=f,t[14]=p):p=t[14];let m;t[15]!==r||t[16]!==i||t[17]!==s||t[18]!==a||t[19]!==n?(m=!r&&!n.granted?(0,Y.jsx)(vt,{message:n.message,isOpeningSettings:i,openSettingsError:a,onOpenSettings:s}):null,t[15]=r,t[16]=i,t[17]=s,t[18]=a,t[19]=n,t[20]=m):m=t[20];let h;return t[21]!==p||t[22]!==m?(h=(0,Y.jsx)(H,{title:`Screen & Audio Recording`,description:`Tarsk needs this macOS permission to capture screen content for browser tools and screen sharing features.`,controlLayout:`row-end`,action:p,children:m}),t[21]=p,t[22]=m,t[23]=h):h=t[23],h}function xt(e){let t=(0,K.c)(10),{allowAllCommands:n,patterns:r,disabled:i,onRemove:a}=e;if(n||r.length===0)return null;let s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,Y.jsx)(ee,{children:`Allowed command patterns`}),t[0]=s):s=t[0];let c;if(t[1]!==i||t[2]!==a||t[3]!==r){let e;t[5]!==i||t[6]!==a?(e=e=>(0,Y.jsxs)(`li`,{className:`flex items-center justify-between rounded-md border border-border px-3 py-2`,children:[(0,Y.jsx)(`code`,{className:h(o.mono,o.bodyMuted),children:e}),(0,Y.jsx)(y,{type:`button`,variant:`ghost`,size:`sm`,disabled:i,onClick:()=>a(e),children:`Remove`})]},e),t[5]=i,t[6]=a,t[7]=e):e=t[7],c=r.map(e),t[1]=i,t[2]=a,t[3]=r,t[4]=c}else c=t[4];let l;return t[8]===c?l=t[9]:(l=(0,Y.jsxs)(`div`,{className:`space-y-2 mt-3`,children:[s,(0,Y.jsx)(`ul`,{className:`space-y-1`,children:c})]}),t[8]=c,t[9]=l),l}function St(e){let t=(0,K.c)(15),{allowAllCommands:n,allowedCommandPatterns:r,isLoading:i,isSaving:a,onConfirmCommandsChange:o,onPatternsChange:s}=e,c=i||a,l=!n,u;t[0]!==c||t[1]!==o||t[2]!==l?(u=(0,Y.jsx)(I,{value:l,onChange:o,disabled:c,ariaLabel:`Confirm Commands`}),t[0]=c,t[1]=o,t[2]=l,t[3]=u):u=t[3];let d;t[4]!==r||t[5]!==s?(d=e=>s(r.filter(t=>t!==e)),t[4]=r,t[5]=s,t[6]=d):d=t[6];let f;t[7]!==n||t[8]!==r||t[9]!==c||t[10]!==d?(f=(0,Y.jsx)(xt,{allowAllCommands:n,patterns:r,disabled:c,onRemove:d}),t[7]=n,t[8]=r,t[9]=c,t[10]=d,t[11]=f):f=t[11];let p;return t[12]!==u||t[13]!==f?(p=(0,Y.jsx)(H,{title:`Confirm Commands`,description:`When enabled, the agent asks for approval before running bash commands, skill scripts, and browser shell calls.`,controlLayout:`row-end`,action:u,children:f}),t[12]=u,t[13]=f,t[14]=p):p=t[14],p}function Ct(e){let t=(0,K.c)(15),{supported:n,enabled:r,healthy:i,message:a,isLoading:s,isSaving:c,onChange:l}=e;if(!n)return null;let u=r&&i,d;t[0]!==i||t[1]!==l?(d=e=>{(!e||i)&&l(e).catch(wt)},t[0]=i,t[1]=l,t[2]=d):d=t[2];let f=s||c,p=!i,m;t[3]!==u||t[4]!==d||t[5]!==f||t[6]!==p?(m=(0,Y.jsx)(I,{value:u,onChange:d,disabled:f,disableOn:p,ariaLabel:`Sandbox`}),t[3]=u,t[4]=d,t[5]=f,t[6]=p,t[7]=m):m=t[7];let h;t[8]!==i||t[9]!==s||t[10]!==a?(h=!s&&!i?(0,Y.jsxs)(`div`,{className:`flex items-start gap-2 text-destructive`,children:[(0,Y.jsx)(me,{className:`h-4 w-4 mt-0.5 shrink-0`}),(0,Y.jsx)(`p`,{className:o.bodyMuted,children:a||`Seatbelt sandbox failed its health check and cannot be enabled.`})]}):null,t[8]=i,t[9]=s,t[10]=a,t[11]=h):h=t[11];let g;return t[12]!==m||t[13]!==h?(g=(0,Y.jsx)(H,{title:`Sandbox`,description:`Sandbox tools like bash and skill script execution to allow running and testing code safely without risking your system, files, or data.`,controlLayout:`row-end`,action:m,children:h}),t[12]=m,t[13]=h,t[14]=g):g=t[14],g}function wt(){}function Tt(e){let t=(0,K.c)(9),{title:n,description:r,value:i,isLoading:a,isSaving:o,ariaLabel:s,onChange:c}=e,l=a||o,u;t[0]!==s||t[1]!==c||t[2]!==l||t[3]!==i?(u=(0,Y.jsx)(I,{value:i,onChange:c,disabled:l,ariaLabel:s}),t[0]=s,t[1]=c,t[2]=l,t[3]=i,t[4]=u):u=t[4];let d;return t[5]!==r||t[6]!==u||t[7]!==n?(d=(0,Y.jsx)(H,{title:n,description:r,controlLayout:`row-end`,action:u}),t[5]=r,t[6]=u,t[7]=n,t[8]=d):d=t[8],d}var Et=s(`app.use-maximum-turn-count.hook`),Dt=100;function Ot(){let e=(0,K.c)(16),{data:t,isLoading:n}=a(),r=i(),o=t?.maximumTurnCount??Dt,s=t?.maximumTurnCount,c;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=Dt.toString(),e[0]=c):c=e[0];let[l,u]=(0,X.useState)(c),d,f;e[1]===s?(d=e[2],f=e[3]):(d=function(){s!==void 0&&u(s.toString())},f=[s],e[1]=s,e[2]=d,e[3]=f),(0,X.useEffect)(d,f);let p;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(p=function(e){u(e)},e[4]=p):p=e[4];let m=p,h;e[5]===r?h=e[6]:(h=async function(e){try{let t=await r.mutateAsync({maximumTurnCount:e});u(t.maximumTurnCount.toString())}catch(e){let t=e;throw Et.error(`Failed to update maximum turn count:`,t),t}},e[5]=r,e[6]=h);let g=h,_;e[7]===o?_=e[8]:(_=function(){u(o.toString())},e[7]=o,e[8]=_);let v=_,y;return e[9]!==l||e[10]!==n||e[11]!==o||e[12]!==v||e[13]!==g||e[14]!==r.isPending?(y={defaultMaximumTurnCount:Dt,draftMaximumTurnCount:l,isLoading:n,isSaving:r.isPending,maximumTurnCount:o,resetDraftMaximumTurnCount:v,setDraftMaximumTurnCount:m,updateMaximumTurnCount:g},e[9]=l,e[10]=n,e[11]=o,e[12]=v,e[13]=g,e[14]=r.isPending,e[15]=y):y=e[15],y}var kt=s(`app.use-screen-recording-permission.hook`),At={isMacOS:!1,granted:!1,available:!1,message:``};function jt(){return{...At,isMacOS:ie()}}function Mt(){let[e,t]=(0,X.useState)(jt),[n,r]=(0,X.useState)(!0),[i,a]=(0,X.useState)(null),[o,s]=(0,X.useState)(!1),[c,d]=(0,X.useState)(null),f=(0,X.useCallback)(async()=>{r(!0),a(null);try{let e=await l(`api/system-permissions/screen-recording`);t(e)}catch(e){let n=e instanceof Error?e.message:`Failed to check screen recording permission`;a(n),t(e=>({...At,isMacOS:e?.isMacOS??ie(),message:`Unable to check permission status.`}))}finally{r(!1)}},[]);return(0,X.useEffect)(()=>{f()},[f]),{status:e,isLoading:n,error:i,isOpeningSettings:o,openSettingsError:c,refresh:f,openSystemSettings:(0,X.useCallback)(async()=>{s(!0),d(null);try{let e=await u(`api/system-permissions/screen-recording/open-settings`,{});if(!e.success){let t=e.message||`Failed to open System Settings`;kt.error(`[useScreenRecordingPermission] ${t}`,e.error),d(t)}}catch(e){let t=e instanceof Error?e.message:`Failed to open System Settings`;kt.error(`[useScreenRecordingPermission] Error opening System Settings:`,e),d(t)}finally{s(!1)}},[])}}var Nt=s(`app.use-logging.hook`);function Pt(){let e=(0,K.c)(9),{data:t,isLoading:n}=a(),r=i(),o;e[0]===r?o=e[1]:(o=async function(e){try{await r.mutateAsync({loggingEnabled:e})}catch(e){let t=e;throw Nt.error(`Failed to update logging setting:`,t),t}},e[0]=r,e[1]=o);let s=o,c=t?.betterStackIngestingHost??null,l=t?.loggingEnabled??!1,u=t?.betterStackEnvConfigured??!1,d;return e[2]!==n||e[3]!==c||e[4]!==l||e[5]!==u||e[6]!==s||e[7]!==r.isPending?(d={ingestingHost:c,isEnabled:l,isEnvConfigured:u,isLoading:n,isSaving:r.isPending,updateIsEnabled:s},e[2]=n,e[3]=c,e[4]=l,e[5]=u,e[6]=s,e[7]=r.isPending,e[8]=d):d=e[8],d}var Ft=s(`app.use-confirm-commands.hook`);function It(){let e=(0,K.c)(13),{data:t,isLoading:n}=a(),r=i(),o;e[0]===r?o=e[1]:(o=async function(e){try{await r.mutateAsync({allowAllCommands:!e})}catch(e){let t=e;throw Ft.error(`Failed to update confirm commands setting:`,t),t}},e[0]=r,e[1]=o);let s=o,c;e[2]===r?c=e[3]:(c=async function(e){try{await r.mutateAsync({allowedCommandPatterns:e})}catch(e){let t=e;throw Ft.error(`Failed to update allowed command patterns:`,t),t}},e[2]=r,e[3]=c);let l=c,u=t?.allowAllCommands!==!1,d;e[4]===t?.allowedCommandPatterns?d=e[5]:(d=t?.allowedCommandPatterns??[],e[4]=t?.allowedCommandPatterns,e[5]=d);let f;return e[6]!==n||e[7]!==u||e[8]!==d||e[9]!==l||e[10]!==s||e[11]!==r.isPending?(f={allowAllCommands:u,allowedCommandPatterns:d,isLoading:n,isSaving:r.isPending,updateConfirmCommandsEnabled:s,updateAllowedCommandPatterns:l},e[6]=n,e[7]=u,e[8]=d,e[9]=l,e[10]=s,e[11]=r.isPending,e[12]=f):f=e[12],f}var Lt=600;function Rt(e){let t=(0,K.c)(3),[n,r]=(0,X.useState)(!1),i,a;return t[0]===e?(i=t[1],a=t[2]):(i=()=>{if(e===0)return;r(!0);let t=setTimeout(()=>{r(!1)},Lt);return()=>{clearTimeout(t)}},a=[e],t[0]=e,t[1]=i,t[2]=a),(0,X.useEffect)(i,a),n}function zt(e){let t=(0,K.c)(78),n=Rt(e),{theme:r,setTheme:i}=de(),{scale:a,updateScale:o,min:s,max:c}=ye(),{opacity:l,updateOpacity:u,min:d,max:f}=ge(),{mode:p,color:m,updateMode:h,updateColor:g}=pe(),{color:_,updateColor:v,resetColor:y}=xe(),{defaultMaximumTurnCount:b,draftMaximumTurnCount:x,isLoading:S,isSaving:C,resetDraftMaximumTurnCount:w,setDraftMaximumTurnCount:T,updateMaximumTurnCount:E}=Ot(),{status:D,isLoading:O,isOpeningSettings:k,openSettingsError:A,refresh:j,openSystemSettings:M}=Mt(),{isEnabled:ee,isLoading:N,isSaving:te,updateIsEnabled:ne}=_e(),{isEnabled:re,isLoading:P,isSaving:ie,updateIsEnabled:ae}=be(),{isEnabled:oe,isSupported:se,isHealthy:ce,statusMessage:le,isLoading:F,isSaving:I,updateIsEnabled:L}=ue(),{isEnabled:fe,isEnvConfigured:R,ingestingHost:z,isLoading:B,isSaving:me,updateIsEnabled:V}=Pt(),{allowAllCommands:he,allowedCommandPatterns:H,isLoading:U,isSaving:ve,updateConfirmCommandsEnabled:W,updateAllowedCommandPatterns:G}=It(),q;t[0]!==U||t[1]!==B||t[2]!==S||t[3]!==O||t[4]!==F||t[5]!==P||t[6]!==N?(q=[S,O,N,P,F,B,U],t[0]=U,t[1]=B,t[2]=S,t[3]=O,t[4]=F,t[5]=P,t[6]=N,t[7]=q):q=t[7];let J=Se(`general`,q),Y;t[8]===T?Y=t[9]:(Y=function(e){T(e.target.value)},t[8]=T,t[9]=Y);let Ce=Y,we;t[10]!==b||t[11]!==x||t[12]!==w||t[13]!==E?(we=async function(){let e=Number.parseInt(x,10),t=Number.isFinite(e)&&e>0?e:b;try{await E(t)}catch{w()}},t[10]=b,t[11]=x,t[12]=w,t[13]=E,t[14]=we):we=t[14];let Te=we,X;t[15]===o?X=t[16]:(X=function(e){e.length>0&&o(e[0])},t[15]=o,t[16]=X);let Z=X,Q;t[17]===u?Q=t[18]:(Q=function(e){e.length>0&&u(e[0])},t[17]=u,t[18]=Q);let Ee=Q,$;return t[19]!==he||t[20]!==H||t[21]!==n||t[22]!==z||t[23]!==_||t[24]!==b||t[25]!==x||t[26]!==f||t[27]!==d||t[28]!==l||t[29]!==Ee||t[30]!==Te||t[31]!==Ce||t[32]!==Z||t[33]!==R||t[34]!==U||t[35]!==ve||t[36]!==B||t[37]!==me||t[38]!==S||t[39]!==C||t[40]!==k||t[41]!==O||t[42]!==F||t[43]!==I||t[44]!==P||t[45]!==ie||t[46]!==N||t[47]!==te||t[48]!==fe||t[49]!==c||t[50]!==s||t[51]!==M||t[52]!==J||t[53]!==j||t[54]!==y||t[55]!==a||t[56]!==A||t[57]!==D||t[58]!==oe||t[59]!==ce||t[60]!==le||t[61]!==se||t[62]!==i||t[63]!==re||t[64]!==r||t[65]!==G||t[66]!==v||t[67]!==W||t[68]!==V||t[69]!==L||t[70]!==ae||t[71]!==ne||t[72]!==g||t[73]!==h||t[74]!==ee||t[75]!==m||t[76]!==p?($={animateTitle:n,pageLoading:J,theme:r,setTheme:i,scale:a,min:s,max:c,handleSliderChange:Z,frostedOpacity:l,frostedMin:d,frostedMax:f,handleFrostedOpacityChange:Ee,wallpaperMode:p,wallpaperColor:m,updateWallpaperMode:h,updateWallpaperColor:g,brandColor:_,updateBrandColor:v,resetBrandColor:y,draftMaximumTurnCount:x,defaultMaximumTurnCount:b,isMaximumTurnCountLoading:S,isMaximumTurnCountSaving:C,handleMaximumTurnCountChange:Ce,handleMaximumTurnCountBlur:Te,voiceAiProcessing:ee,isVoiceAiProcessingLoading:N,isVoiceAiProcessingSaving:te,updateVoiceAiProcessing:ne,showDailySpend:re,isShowDailySpendLoading:P,isShowDailySpendSaving:ie,updateShowDailySpend:ae,screenRecordingStatus:D,isScreenRecordingLoading:O,isOpeningScreenRecordingSettings:k,screenRecordingOpenSettingsError:A,refreshScreenRecording:j,openScreenRecordingSettings:M,seatbeltSandboxSupported:se,seatbeltSandboxEnabled:oe,seatbeltSandboxHealthy:ce,seatbeltSandboxMessage:le,isSeatbeltSandboxLoading:F,isSeatbeltSandboxSaving:I,updateSeatbeltSandbox:L,allowAllCommands:he,allowedCommandPatterns:H,isConfirmCommandsLoading:U,isConfirmCommandsSaving:ve,updateConfirmCommandsEnabled:W,updateAllowedCommandPatterns:G,loggingEnabled:fe,isBetterStackEnvConfigured:R,betterStackIngestingHost:z,isLoggingLoading:B,isLoggingSaving:me,updateLogging:V},t[19]=he,t[20]=H,t[21]=n,t[22]=z,t[23]=_,t[24]=b,t[25]=x,t[26]=f,t[27]=d,t[28]=l,t[29]=Ee,t[30]=Te,t[31]=Ce,t[32]=Z,t[33]=R,t[34]=U,t[35]=ve,t[36]=B,t[37]=me,t[38]=S,t[39]=C,t[40]=k,t[41]=O,t[42]=F,t[43]=I,t[44]=P,t[45]=ie,t[46]=N,t[47]=te,t[48]=fe,t[49]=c,t[50]=s,t[51]=M,t[52]=J,t[53]=j,t[54]=y,t[55]=a,t[56]=A,t[57]=D,t[58]=oe,t[59]=ce,t[60]=le,t[61]=se,t[62]=i,t[63]=re,t[64]=r,t[65]=G,t[66]=v,t[67]=W,t[68]=V,t[69]=L,t[70]=ae,t[71]=ne,t[72]=g,t[73]=h,t[74]=ee,t[75]=m,t[76]=p,t[77]=$):$=t[77],$}var Bt=[{value:`image`,label:`Image`,icon:he},{value:`background`,label:`Background`,icon:ae}];function Vt(e){let t=(0,K.c)(22),{wallpaperMode:n,wallpaperColor:r,onModeChange:i,onColorChange:a}=e,o;t[0]===i?o=t[1]:(o=e=>{(e===`image`||e===`background`||e===`color`)&&i(e)},t[0]=i,t[1]=o);let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=Bt.map(Ht),t[2]=s):s=t[2];let c;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=h(q,`relative overflow-hidden`),t[3]=c):c=t[3];let l;t[4]===r?l=t[5]:(l=(0,Y.jsx)(`span`,{className:`pointer-events-none h-4 w-4 rounded-full border border-black/25 dark:border-white/25`,style:{backgroundColor:r},"aria-hidden":`true`}),t[4]=r,t[5]=l);let u;t[6]===i?u=t[7]:(u=()=>{i(`color`)},t[6]=i,t[7]=u);let d;t[8]!==a||t[9]!==i?(d=e=>{a(e.target.value),i(`color`)},t[8]=a,t[9]=i,t[10]=d):d=t[10];let f;t[11]!==u||t[12]!==d||t[13]!==r?(f=(0,Y.jsx)(`input`,{type:`color`,value:r,"aria-label":`Choose wallpaper color`,className:`absolute inset-0 cursor-pointer opacity-0`,onPointerDown:u,onChange:d}),t[11]=u,t[12]=d,t[13]=r,t[14]=f):f=t[14];let p;t[15]!==l||t[16]!==f?(p=(0,Y.jsxs)(W,{value:`color`,"aria-label":`Custom color`,className:c,children:[l,f]}),t[15]=l,t[16]=f,t[17]=p):p=t[17];let m;return t[18]!==o||t[19]!==p||t[20]!==n?(m=(0,Y.jsx)(H,{title:`Wallpaper`,description:`Choose a scenic image, the theme background, or a custom color.`,controlLayout:`row-end`,action:(0,Y.jsxs)(G,{type:`single`,value:n,onValueChange:o,"aria-label":`Wallpaper`,className:J,children:[s,p]})}),t[18]=o,t[19]=p,t[20]=n,t[21]=m):m=t[21],m}function Ht(e){let t=e.icon;return(0,Y.jsx)(W,{value:e.value,"aria-label":e.label,className:q,children:(0,Y.jsx)(t,{className:`h-4 w-4`,"aria-hidden":`true`})},e.value)}function Ut(e){let t=(0,K.c)(106),{onboardingResetSignal:n}=e,r=zt(n===void 0?0:n),i=r.pageLoading,a=r.animateTitle&&`animate-headline-reset`,o;t[0]===a?o=t[1]:(o=h(a),t[0]=a,t[1]=o);let s;t[2]===o?s=t[3]:(s=(0,Y.jsx)(V,{title:`Appearance`,titleClassName:o,className:`[&>div:first-child]:py-2`,sticky:!1}),t[2]=o,t[3]=s);let c;t[4]!==r.handleSliderChange||t[5]!==r.max||t[6]!==r.min||t[7]!==r.scale?(c=(0,Y.jsx)(ut,{scale:r.scale,min:r.min,max:r.max,onChange:r.handleSliderChange}),t[4]=r.handleSliderChange,t[5]=r.max,t[6]=r.min,t[7]=r.scale,t[8]=c):c=t[8];let l;t[9]!==r.frostedMax||t[10]!==r.frostedMin||t[11]!==r.frostedOpacity||t[12]!==r.handleFrostedOpacityChange?(l=(0,Y.jsx)(ht,{opacity:r.frostedOpacity,min:r.frostedMin,max:r.frostedMax,onChange:r.handleFrostedOpacityChange}),t[9]=r.frostedMax,t[10]=r.frostedMin,t[11]=r.frostedOpacity,t[12]=r.handleFrostedOpacityChange,t[13]=l):l=t[13];let u;t[14]!==r.setTheme||t[15]!==r.theme?(u=(0,Y.jsx)(we,{theme:r.theme,onThemeChange:r.setTheme}),t[14]=r.setTheme,t[15]=r.theme,t[16]=u):u=t[16];let d;t[17]!==r.updateWallpaperColor||t[18]!==r.updateWallpaperMode||t[19]!==r.wallpaperColor||t[20]!==r.wallpaperMode?(d=(0,Y.jsx)(Vt,{wallpaperMode:r.wallpaperMode,wallpaperColor:r.wallpaperColor,onModeChange:r.updateWallpaperMode,onColorChange:r.updateWallpaperColor}),t[17]=r.updateWallpaperColor,t[18]=r.updateWallpaperMode,t[19]=r.wallpaperColor,t[20]=r.wallpaperMode,t[21]=d):d=t[21];let f;t[22]!==r.brandColor||t[23]!==r.resetBrandColor||t[24]!==r.updateBrandColor?(f=(0,Y.jsx)(gt,{brandColor:r.brandColor,onColorChange:r.updateBrandColor,onReset:r.resetBrandColor}),t[22]=r.brandColor,t[23]=r.resetBrandColor,t[24]=r.updateBrandColor,t[25]=f):f=t[25];let p;t[26]!==f||t[27]!==c||t[28]!==l||t[29]!==u||t[30]!==d?(p=(0,Y.jsx)(L,{className:`max-w-none pt-0`,children:(0,Y.jsxs)(z,{children:[c,l,u,d,f]})}),t[26]=f,t[27]=c,t[28]=l,t[29]=u,t[30]=d,t[31]=p):p=t[31];let m;t[32]!==p||t[33]!==s?(m=(0,Y.jsxs)(R,{className:`shrink-0`,children:[s,p]}),t[32]=p,t[33]=s,t[34]=m):m=t[34];let g;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,Y.jsx)(V,{title:`Settings`,className:`[&>div:first-child]:py-2`,sticky:!1}),t[35]=g):g=t[35];let _;t[36]!==r.defaultMaximumTurnCount||t[37]!==r.draftMaximumTurnCount||t[38]!==r.handleMaximumTurnCountBlur||t[39]!==r.handleMaximumTurnCountChange||t[40]!==r.isMaximumTurnCountLoading||t[41]!==r.isMaximumTurnCountSaving?(_=(0,Y.jsx)(mt,{draftValue:r.draftMaximumTurnCount,defaultTurnCount:r.defaultMaximumTurnCount,isLoading:r.isMaximumTurnCountLoading,isSaving:r.isMaximumTurnCountSaving,onChange:r.handleMaximumTurnCountChange,onBlur:r.handleMaximumTurnCountBlur}),t[36]=r.defaultMaximumTurnCount,t[37]=r.draftMaximumTurnCount,t[38]=r.handleMaximumTurnCountBlur,t[39]=r.handleMaximumTurnCountChange,t[40]=r.isMaximumTurnCountLoading,t[41]=r.isMaximumTurnCountSaving,t[42]=_):_=t[42];let v;t[43]===r?v=t[44]:(v=e=>{r.updateVoiceAiProcessing(e)},t[43]=r,t[44]=v);let y;t[45]!==r.isVoiceAiProcessingLoading||t[46]!==r.isVoiceAiProcessingSaving||t[47]!==r.voiceAiProcessing||t[48]!==v?(y=(0,Y.jsx)(Tt,{title:`AI Voice Cleanup`,description:`After stopping voice recording, run the transcription through AI to remove filler words, false starts, and repetitions.`,value:r.voiceAiProcessing,isLoading:r.isVoiceAiProcessingLoading,isSaving:r.isVoiceAiProcessingSaving,ariaLabel:`AI Voice Cleanup`,onChange:v}),t[45]=r.isVoiceAiProcessingLoading,t[46]=r.isVoiceAiProcessingSaving,t[47]=r.voiceAiProcessing,t[48]=v,t[49]=y):y=t[49];let b;t[50]===r?b=t[51]:(b=e=>{r.updateShowDailySpend(e)},t[50]=r,t[51]=b);let x;t[52]!==r.isShowDailySpendLoading||t[53]!==r.isShowDailySpendSaving||t[54]!==r.showDailySpend||t[55]!==b?(x=(0,Y.jsx)(Tt,{title:`Spend`,description:`Show an estimated spend counter in the chat header.`,value:r.showDailySpend,isLoading:r.isShowDailySpendLoading,isSaving:r.isShowDailySpendSaving,ariaLabel:`Spend`,onChange:b}),t[52]=r.isShowDailySpendLoading,t[53]=r.isShowDailySpendSaving,t[54]=r.showDailySpend,t[55]=b,t[56]=x):x=t[56];let S;t[57]!==r.isOpeningScreenRecordingSettings||t[58]!==r.isScreenRecordingLoading||t[59]!==r.openScreenRecordingSettings||t[60]!==r.refreshScreenRecording||t[61]!==r.screenRecordingOpenSettingsError||t[62]!==r.screenRecordingStatus?(S=(0,Y.jsx)(bt,{status:r.screenRecordingStatus,isLoading:r.isScreenRecordingLoading,isOpeningSettings:r.isOpeningScreenRecordingSettings,openSettingsError:r.screenRecordingOpenSettingsError,onRefresh:r.refreshScreenRecording,onOpenSettings:r.openScreenRecordingSettings}),t[57]=r.isOpeningScreenRecordingSettings,t[58]=r.isScreenRecordingLoading,t[59]=r.openScreenRecordingSettings,t[60]=r.refreshScreenRecording,t[61]=r.screenRecordingOpenSettingsError,t[62]=r.screenRecordingStatus,t[63]=S):S=t[63];let C,w;t[64]===r?(C=t[65],w=t[66]):(C=e=>{r.updateConfirmCommandsEnabled(e)},w=e=>{r.updateAllowedCommandPatterns(e)},t[64]=r,t[65]=C,t[66]=w);let T;t[67]!==r.allowAllCommands||t[68]!==r.allowedCommandPatterns||t[69]!==r.isConfirmCommandsLoading||t[70]!==r.isConfirmCommandsSaving||t[71]!==C||t[72]!==w?(T=(0,Y.jsx)(St,{allowAllCommands:r.allowAllCommands,allowedCommandPatterns:r.allowedCommandPatterns,isLoading:r.isConfirmCommandsLoading,isSaving:r.isConfirmCommandsSaving,onConfirmCommandsChange:C,onPatternsChange:w}),t[67]=r.allowAllCommands,t[68]=r.allowedCommandPatterns,t[69]=r.isConfirmCommandsLoading,t[70]=r.isConfirmCommandsSaving,t[71]=C,t[72]=w,t[73]=T):T=t[73];let E;t[74]!==r.isSeatbeltSandboxLoading||t[75]!==r.isSeatbeltSandboxSaving||t[76]!==r.seatbeltSandboxEnabled||t[77]!==r.seatbeltSandboxHealthy||t[78]!==r.seatbeltSandboxMessage||t[79]!==r.seatbeltSandboxSupported||t[80]!==r.updateSeatbeltSandbox?(E=(0,Y.jsx)(Ct,{supported:r.seatbeltSandboxSupported,enabled:r.seatbeltSandboxEnabled,healthy:r.seatbeltSandboxHealthy,message:r.seatbeltSandboxMessage,isLoading:r.isSeatbeltSandboxLoading,isSaving:r.isSeatbeltSandboxSaving,onChange:r.updateSeatbeltSandbox}),t[74]=r.isSeatbeltSandboxLoading,t[75]=r.isSeatbeltSandboxSaving,t[76]=r.seatbeltSandboxEnabled,t[77]=r.seatbeltSandboxHealthy,t[78]=r.seatbeltSandboxMessage,t[79]=r.seatbeltSandboxSupported,t[80]=r.updateSeatbeltSandbox,t[81]=E):E=t[81];let D;t[82]===r?D=t[83]:(D=e=>{r.updateLogging(e)},t[82]=r,t[83]=D);let O;t[84]!==r.betterStackIngestingHost||t[85]!==r.isBetterStackEnvConfigured||t[86]!==r.isLoggingLoading||t[87]!==r.isLoggingSaving||t[88]!==r.loggingEnabled||t[89]!==D?(O=(0,Y.jsx)(pt,{enabled:r.loggingEnabled,isEnvConfigured:r.isBetterStackEnvConfigured,ingestingHost:r.betterStackIngestingHost,isLoading:r.isLoggingLoading,isSaving:r.isLoggingSaving,onChange:D}),t[84]=r.betterStackIngestingHost,t[85]=r.isBetterStackEnvConfigured,t[86]=r.isLoggingLoading,t[87]=r.isLoggingSaving,t[88]=r.loggingEnabled,t[89]=D,t[90]=O):O=t[90];let k;t[91]!==_||t[92]!==y||t[93]!==x||t[94]!==S||t[95]!==T||t[96]!==E||t[97]!==O?(k=(0,Y.jsxs)(R,{className:`shrink-0`,children:[g,(0,Y.jsx)(L,{className:`max-w-none pt-0`,children:(0,Y.jsxs)(z,{children:[_,y,x,S,T,E,O]})})]}),t[91]=_,t[92]=y,t[93]=x,t[94]=S,t[95]=T,t[96]=E,t[97]=O,t[98]=k):k=t[98];let A;t[99]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,Y.jsx)(ft,{}),t[99]=A):A=t[99];let j;t[100]!==m||t[101]!==k?(j=(0,Y.jsxs)(`div`,{className:`divide-y divide-table-border [&>*]:rounded-none`,children:[m,k,A]}),t[100]=m,t[101]=k,t[102]=j):j=t[102];let M;return t[103]!==r.pageLoading||t[104]!==j?(M=(0,Y.jsx)(U,{loading:i,children:j}),t[103]=r.pageLoading,t[104]=j,t[105]=M):M=t[105],M}export{Ut as default};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,o as n,t as r}from"./react-vendor-D61Uve5n.js";import{l as i}from"./chunk-QFMPRPBF-Cy-_pFSM.js";import{V as a,_ as o,v as s,x as c}from"./dist-D5vgS4RP.js";import{Yr as l,Zn as u,f as d}from"./api-COO2LfdU.js";import{t as f}from"./utils-mYB1USG6.js";import{t as p}from"./check-skFQ1X72.js";import{t as m}from"./copy-bi9iX3xn.js";import{t as h}from"./loader-circle-CrqRIqdA.js";import{t as g}from"./button-Dp5XDZNR.js";import{i as _,n as v,r as y,t as b}from"./tooltip-CJKJfu0l.js";import{r as x}from"./scroll-area-BWc4OPsj.js";import{t as S}from"./use-toast-CKgZ8YeP.js";import{Cn as C,Nt as w,_t as T,lt as E}from"./index-CalVAwXj.js";import{n as D,t as O}from"./toggle-group-DqSxGqvP.js";var k=e(n(),1),A=t();function j(e,t){let n=[...e,t];return n.length>5e3?n.slice(n.length-o):n}function M(e,t){if(e.type!==`ping`){if(e.type===`snapshot`){t(e.entries);return}if(e.type===`cleared`){t([]);return}t(t=>j(t,e.entry))}}function N(e,t){if(t.isCancelled()||t.isAborted())return;let n=e instanceof Error?e.message:String(e);if(l(n)||t.sawSuccessfulStream){t.scheduleReconnect();return}t.setConnecting(!1),t.reportHardFailure(n),t.scheduleReconnect()}function P(e,t,n){let r=(t+e).split(`
|
|
2
|
-
`),i=r.pop()??``;for(let e of r){let t=e.trim();if(!t)continue;let r;try{r=JSON.parse(t)}catch{continue}n(r)}return i}var F=r(),I=1e3,L=[s.INFO,s.WARN,s.ERROR],R=[...L],z=`inline-flex h-11 shrink-0 rounded-full border bg-muted/40 p-2`,B=f(a.compact,`h-7 min-w-0 rounded-full border-0 px-2.5 data-[state=on]:bg-foreground data-[state=on]:text-background data-[state=on]:shadow-sm`),V=`group grid list-none grid-cols-[minmax(0,1fr)_1.75rem] items-start gap-2 px-3 py-2 hover:bg-muted/40 select-text`,H=f(`flex h-7 w-7 items-center justify-center rounded-md border border-border bg-background/90 text-foreground shadow-sm hover:bg-background`,`transition-[opacity,color,background-color] focus-visible:opacity-100 focus-visible:pointer-events-auto`,`can-hover:pointer-events-none can-hover:opacity-0 can-hover:group-hover:pointer-events-auto can-hover:group-hover:opacity-100`);function U(e,t){return!t||[e.event,e.message,G(e.level),e.data===void 0?``:q(e.data)].join(` `).toLowerCase().includes(t)}function W(e){let t=typeof e==`number`?e:Number(e);return t===s.DEBUG||t===s.INFO||t===s.WARN||t===s.ERROR?t:null}function G(e){let t=W(e);return t===null?String(e):c(t)}function K(e,t){let n=W(e.level);return n!==null&&t.has(n)}function q(e){if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return String(e)}}function J(e){switch(W(e)??e){case s.ERROR:return`text-destructive`;case s.WARN:return`text-amber-600 dark:text-amber-400`;case s.INFO:return`text-foreground`;default:return`text-muted-foreground`}}function Y(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function X(e){let t=[`${e.ts} ${G(e.level)} ${e.event}`,e.message];return e.data!==void 0&&t.push(q(e.data)),t.join(`
|
|
3
|
-
`)}var Z=(0,k.memo)(function(e){let t=(0,A.c)(42),{entry:n,copied:r,onCopy:i}=e,a;t[0]===n.ts?a=t[1]:(a=Y(n.ts),t[0]=n.ts,t[1]=a);let o;t[2]===a?o=t[3]:(o=(0,F.jsx)(`span`,{className:`text-muted-foreground tabular-nums`,children:a}),t[2]=a,t[3]=o);let s;t[4]===n.level?s=t[5]:(s=f(`font-semibold`,J(n.level)),t[4]=n.level,t[5]=s);let c;t[6]===n.level?c=t[7]:(c=G(n.level),t[6]=n.level,t[7]=c);let l;t[8]!==s||t[9]!==c?(l=(0,F.jsx)(`span`,{className:s,children:c}),t[8]=s,t[9]=c,t[10]=l):l=t[10];let u;t[11]===n.event?u=t[12]:(u=(0,F.jsx)(`span`,{className:`text-muted-foreground`,children:n.event}),t[11]=n.event,t[12]=u);let d;t[13]!==o||t[14]!==l||t[15]!==u?(d=(0,F.jsxs)(`div`,{className:`flex flex-wrap items-baseline gap-x-2 gap-y-0.5`,children:[o,l,u]}),t[13]=o,t[14]=l,t[15]=u,t[16]=d):d=t[16];let h;t[17]===n.message?h=t[18]:(h=(0,F.jsx)(`p`,{className:`mt-0.5 whitespace-pre-wrap break-words text-foreground`,children:n.message}),t[17]=n.message,t[18]=h);let g;t[19]===n.data?g=t[20]:(g=n.data===void 0?null:(0,F.jsx)(`pre`,{className:`mt-1 max-h-40 overflow-auto whitespace-pre-wrap break-words text-muted-foreground`,children:q(n.data)}),t[19]=n.data,t[20]=g);let y;t[21]!==d||t[22]!==h||t[23]!==g?(y=(0,F.jsxs)(`div`,{className:`min-w-0`,children:[d,h,g]}),t[21]=d,t[22]=h,t[23]=g,t[24]=y):y=t[24];let x;t[25]!==n||t[26]!==i?(x=()=>i(n),t[25]=n,t[26]=i,t[27]=x):x=t[27];let S;t[28]===r?S=t[29]:(S=r?(0,F.jsx)(p,{className:`h-3.5 w-3.5 text-brand`}):(0,F.jsx)(m,{className:`h-3.5 w-3.5`}),t[28]=r,t[29]=S);let C;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,F.jsx)(`span`,{className:`sr-only`,children:`Copy log entry`}),t[30]=C):C=t[30];let w;t[31]!==x||t[32]!==S?(w=(0,F.jsx)(_,{asChild:!0,children:(0,F.jsxs)(`button`,{type:`button`,onClick:x,className:H,children:[S,C]})}),t[31]=x,t[32]=S,t[33]=w):w=t[33];let T=r?`Copied!`:`Copy to clipboard`,E;t[34]===T?E=t[35]:(E=(0,F.jsx)(v,{children:T}),t[34]=T,t[35]=E);let D;t[36]!==w||t[37]!==E?(D=(0,F.jsxs)(b,{children:[w,E]}),t[36]=w,t[37]=E,t[38]=D):D=t[38];let O;return t[39]!==y||t[40]!==D?(O=(0,F.jsxs)(`li`,{className:V,children:[y,D]}),t[39]=y,t[40]=D,t[41]=O):O=t[41],O});function Q(e,t){let n=(0,A.c)(4),r,i;n[0]!==e||n[1]!==t?(r=()=>{let n=!1,r=null,i=null,a=new AbortController,o=!1,s=!1,c=function(){n||i||(t(!0),i=setTimeout(()=>{i=null,f()},I))},l=function(t){M(t,e)},d=function(e){N(e,{isCancelled:()=>n,isAborted:()=>a.signal.aborted,sawSuccessfulStream:o,scheduleReconnect:c,setConnecting:t,reportHardFailure:e=>{s||(s=!0,S({title:`Failed to connect to log feed`,description:e,variant:`destructive`}))}})};async function f(){if(!n){t(!0);try{let e=await u({signal:a.signal});if(!e||n){e&&n&&e.cancel().catch(ee);return}r=e.getReader();let i=new TextDecoder,s=``;for(o=!0,t(!1);!n;){let{done:e,value:t}=await r.read();if(e)break;s=P(i.decode(t,{stream:!0}),s,l)}n||c()}catch(e){d(e)}}}return f(),()=>{n=!0,a.abort(),i&&clearTimeout(i),r?.cancel().catch($)}},i=[e,t],n[0]=e,n[1]=t,n[2]=r,n[3]=i):(r=n[2],i=n[3]),(0,k.useEffect)(r,i)}function $(){}function ee(){}function te(){let e=(0,A.c)(7),[t,n]=(0,k.useState)(null),[r,i]=(0,k.useState)(!1),a=(0,k.useRef)(null),o=(0,k.useRef)(null),s,c;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>()=>{a.current&&clearTimeout(a.current),o.current&&clearTimeout(o.current)},c=[],e[0]=s,e[1]=c):(s=e[0],c=e[1]),(0,k.useEffect)(s,c);let l;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=async e=>{try{await navigator.clipboard.writeText(X(e)),n(e.id),a.current&&clearTimeout(a.current),a.current=setTimeout(()=>{n(null),a.current=null},1500)}catch(e){let t=e;S({title:`Failed to copy log entry`,description:t instanceof Error?t.message:String(t),variant:`destructive`})}},e[2]=l):l=e[2];let u=l,d;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(d=async function(e){if(e.length!==0)try{await navigator.clipboard.writeText(e.map(ne).join(`
|
|
4
|
-
|
|
5
|
-
`)),i(!0),o.current&&clearTimeout(o.current),o.current=setTimeout(()=>{i(!1),o.current=null},1500)}catch(e){let t=e;S({title:`Failed to copy logs`,description:t instanceof Error?t.message:String(t),variant:`destructive`})}},e[3]=d):d=e[3];let f=d,p;return e[4]!==r||e[5]!==t?(p={copiedEntryId:t,copiedAll:r,handleCopyEntry:u,handleCopyVisibleEntries:f},e[4]=r,e[5]=t,e[6]=p):p=e[6],p}function ne(e){return X(e)}function re(){let[e,t]=(0,k.useState)(!1);async function n(){t(!0);try{await d()}catch(e){S({title:`Failed to clear logs`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}finally{t(!1)}}return{isClearing:e,handleClear:n}}function ie(){let e=(0,A.c)(41),[t]=i(),n;e[0]===t?n=e[1]:(n=t.get(`q`)??``,e[0]=t,e[1]=n);let r=n,a;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=[],e[2]=a):a=e[2];let[o,s]=(0,k.useState)(a),[c,l]=(0,k.useState)(r),[u,d]=(0,k.useState)(R),[f,p]=(0,k.useState)(!0),[m,h]=(0,k.useState)(null),{isClearing:g,handleClear:_}=re(),{copiedEntryId:v,copiedAll:y,handleCopyEntry:b,handleCopyVisibleEntries:x}=te(),S,C;e[3]===r?(S=e[4],C=e[5]):(S=()=>{r&&l(r)},C=[r],e[3]=r,e[4]=S,e[5]=C),(0,k.useEffect)(S,C),Q(s,p);let w,E,D;if(e[6]!==v||e[7]!==u||e[8]!==o||e[9]!==b||e[10]!==c){let t=c.trim().toLowerCase(),n=new Set(u);D=o.filter(e=>K(e,n)&&U(e,t));let r;e[14]!==v||e[15]!==b?(r=(e,t)=>(0,F.jsx)(Z,{entry:t,copied:v===t.id,onCopy:b}),e[14]=v,e[15]=b,e[16]=r):r=e[16],w=r,E=ae(u.length,t,o.length),e[6]=v,e[7]=u,e[8]=o,e[9]=b,e[10]=c,e[11]=w,e[12]=E,e[13]=D}else w=e[11],E=e[12],D=e[13];let O=E,j=o.length>0,M;e[17]!==_||e[18]!==g||e[19]!==j?(M=(0,F.jsx)(oe,{isClearing:g,hasEntries:j,onClear:_}),e[17]=_,e[18]=g,e[19]=j,e[20]=M):M=e[20];let N;e[21]!==x||e[22]!==D?(N=()=>void x(D),e[21]=x,e[22]=D,e[23]=N):N=e[23];let P;e[24]!==y||e[25]!==u||e[26]!==c||e[27]!==N||e[28]!==D?(P=(0,F.jsx)(se,{search:c,onSearchChange:l,enabledLevels:u,onEnabledLevelsChange:d,visibleEntries:D,copiedAll:y,onCopyVisible:N}),e[24]=y,e[25]=u,e[26]=c,e[27]=N,e[28]=D,e[29]=P):P=e[29];let I=o.length>0,L;e[30]!==O||e[31]!==f||e[32]!==w||e[33]!==m||e[34]!==I||e[35]!==D?(L=(0,F.jsx)(ue,{isConnecting:f,hasEntries:I,visibleEntries:D,emptyMessage:O,scrollParent:m,onScrollParentChange:h,renderLogEntryRow:w}),e[30]=O,e[31]=f,e[32]=w,e[33]=m,e[34]=I,e[35]=D,e[36]=L):L=e[36];let z;return e[37]!==L||e[38]!==M||e[39]!==P?(z=(0,F.jsx)(`div`,{className:`flex h-full min-h-0 w-full min-w-0 flex-1 flex-col`,children:(0,F.jsxs)(T,{className:`flex w-full max-w-none min-w-0 min-h-0 flex-1 flex-col pb-0 pt-0`,children:[M,P,L]})}),e[37]=L,e[38]=M,e[39]=P,e[40]=z):z=e[40],z}function ae(e,t,n){return e===0?`No log levels selected.`:t?`No logs match this search.`:n===0?`No logs in the buffer yet.`:`No logs match the selected levels.`}function oe(e){let t=(0,A.c)(8),{isClearing:n,hasEntries:r,onClear:i}=e,a;t[0]===i?a=t[1]:(a=()=>void i(),t[0]=i,t[1]=a);let o=n||!r,s;t[2]===n?s=t[3]:(s=n?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(h,{className:`mr-2 h-4 w-4 animate-spin`}),`Clearing...`]}):`Clear`,t[2]=n,t[3]=s);let c;return t[4]!==a||t[5]!==o||t[6]!==s?(c=(0,F.jsx)(E,{title:`Logs`,description:`Live in memory feed of events`,action:(0,F.jsx)(g,{type:`button`,onClick:a,disabled:o,children:s})}),t[4]=a,t[5]=o,t[6]=s,t[7]=c):c=t[7],c}function se(e){let t=(0,A.c)(29),{search:n,onSearchChange:r,enabledLevels:i,onEnabledLevelsChange:a,visibleEntries:o,copiedAll:s,onCopyVisible:l}=e,u;t[0]===r?u=t[1]:(u=e=>r(e.target.value),t[0]=r,t[1]=u);let d;t[2]!==n||t[3]!==u?(d=(0,F.jsx)(C,{value:n,onChange:u,placeholder:`Search`,className:`min-w-0 flex-1`,"aria-label":`Search logs`}),t[2]=n,t[3]=u,t[4]=d):d=t[4];let f;t[5]===i?f=t[6]:(f=i.map(le),t[5]=i,t[6]=f);let h;t[7]===a?h=t[8]:(h=e=>{a(L.filter(t=>e.includes(c(t))))},t[7]=a,t[8]=h);let x;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(x=L.map(ce),t[9]=x):x=t[9];let S;t[10]!==f||t[11]!==h?(S=(0,F.jsx)(O,{type:`multiple`,value:f,onValueChange:h,"aria-label":`Log levels`,variant:`outline`,size:`sm`,className:z,children:x}),t[10]=f,t[11]=h,t[12]=S):S=t[12];let w=o.length===0,T;t[13]===s?T=t[14]:(T=s?(0,F.jsx)(p,{className:`h-3.5 w-3.5 text-brand`}):(0,F.jsx)(m,{className:`h-3.5 w-3.5`}),t[13]=s,t[14]=T);let E;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,F.jsx)(`span`,{className:`sr-only`,children:`Copy visible logs`}),t[15]=E):E=t[15];let D;t[16]!==l||t[17]!==w||t[18]!==T?(D=(0,F.jsx)(_,{asChild:!0,children:(0,F.jsxs)(g,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,onClick:l,disabled:w,children:[T,E]})}),t[16]=l,t[17]=w,t[18]=T,t[19]=D):D=t[19];let k=s?`Copied!`:`Copy visible logs to clipboard`,j;t[20]===k?j=t[21]:(j=(0,F.jsx)(v,{children:k}),t[20]=k,t[21]=j);let M;t[22]!==D||t[23]!==j?(M=(0,F.jsx)(y,{children:(0,F.jsxs)(b,{children:[D,j]})}),t[22]=D,t[23]=j,t[24]=M):M=t[24];let N;return t[25]!==M||t[26]!==d||t[27]!==S?(N=(0,F.jsxs)(`div`,{className:`mb-4 mt-4 flex w-full min-w-0 items-center gap-3 electrobun-webkit-app-region-no-drag`,children:[d,S,M]}),t[25]=M,t[26]=d,t[27]=S,t[28]=N):N=t[28],N}function ce(e){return(0,F.jsx)(D,{value:c(e),"aria-label":c(e),className:B,children:c(e)},e)}function le(e){return c(e)}function ue(e){let t=(0,A.c)(10),{isConnecting:n,hasEntries:r,visibleEntries:i,emptyMessage:o,scrollParent:s,onScrollParentChange:c,renderLogEntryRow:l}=e,u;t[0]!==o||t[1]!==r||t[2]!==n||t[3]!==l||t[4]!==s||t[5]!==i?(u=n&&!r?(0,F.jsxs)(`div`,{className:`flex items-center gap-2 p-4 text-muted-foreground`,children:[(0,F.jsx)(h,{className:`h-4 w-4 animate-spin`}),`Connecting…`]}):i.length===0?(0,F.jsx)(`p`,{className:f(a.bodyMuted,`p-4 font-sans`),children:o}):(0,F.jsx)(y,{children:(0,F.jsx)(w,{data:i,computeItemKey:fe,customScrollParent:s??void 0,itemContent:l,followOutput:de,overscan:500,className:`w-full min-w-0`})}),t[0]=o,t[1]=r,t[2]=n,t[3]=l,t[4]=s,t[5]=i,t[6]=u):u=t[6];let d;return t[7]!==c||t[8]!==u?(d=(0,F.jsx)(x,{viewportRef:c,className:`mb-6 w-full min-h-0 min-w-0 flex-1 rounded-md border bg-background font-mono text-xs`,children:u}),t[7]=c,t[8]=u,t[9]=d):d=t[9],d}function de(e){return e?`auto`:!1}function fe(e,t){return t.id}export{ie as default};
|