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
|
@@ -0,0 +1 @@
|
|
|
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{U as i}from"./dist-v_MvKS2-.js";import{s as a,t as o}from"./utils-CqsIXqSC.js";import{t as s}from"./chevron-down-Bpo4ncEN.js";import{t as c}from"./chevron-right-Dga3q1bZ.js";import"./dialog-D_12AsZd.js";import{t as l}from"./button-DDaJhJP1.js";import{i as u}from"./dist-AbkJBHH5.js";import{a as d,i as f,n as p,o as m}from"./dist-DfnQ9YJh.js";import{t as h}from"./dist-B-h6Wj39.js";import{r as g}from"./scroll-area-DGF9wUqQ.js";import{t as _}from"./use-toast-CKgZ8YeP.js";import{n as v}from"./chat-dock-context-DbiJNr3O.js";import{n as y}from"./explorer-tab-context-BwR8CM8l.js";import{a as b,c as x,i as S,n as C,r as w,t as T}from"./alert-dialog-BcZULJsX.js";import{a as E,c as D,o as O}from"./explorer-file-drop-DAP7ha-E.js";import{c as k,n as A,o as j,r as M,s as N,t as P,u as F}from"./api-8Rp2LlXt.js";import{Ct as ee,E as I,Gt as L,In as R,Jt as te,Kt as z,St as ne,Tt as re,Ut as B,Wt as ie,_t as V,cr as H,gn as U,lr as W,qt as G,ur as ae,xt as oe}from"./index-CcAwxnT5.js";import{n as se}from"./explorer-tab-view-Bt9hRZUm.js";var K=e(n(),1),q=t(),ce=1,le=.9,ue=.8,de=.17,fe=.1,pe=.999,me=.9999,he=.99,ge=/[\\\/_+.#"@\[\(\{&]/,_e=/[\\\/_+.#"@\[\(\{&]/g,ve=/[\s-]/,ye=/[\s-]/g;function be(e,t,n,r,i,a,o){if(a===t.length)return i===e.length?ce:he;var s=`${i},${a}`;if(o[s]!==void 0)return o[s];for(var c=r.charAt(a),l=n.indexOf(c,i),u=0,d,f,p,m;l>=0;)d=be(e,t,n,r,l+1,a+1,o),d>u&&(l===i?d*=ce:ge.test(e.charAt(l-1))?(d*=ue,p=e.slice(i,l-1).match(_e),p&&i>0&&(d*=pe**+p.length)):ve.test(e.charAt(l-1))?(d*=le,m=e.slice(i,l-1).match(ye),m&&i>0&&(d*=pe**+m.length)):(d*=de,i>0&&(d*=pe**+(l-i))),e.charAt(l)!==t.charAt(a)&&(d*=me)),(d<fe&&n.charAt(l-1)===r.charAt(a+1)||r.charAt(a+1)===r.charAt(a)&&n.charAt(l-1)!==r.charAt(a))&&(f=be(e,t,n,r,l+1,a+2,o),f*fe>d&&(d=f*fe)),d>u&&(u=d),l=n.indexOf(c,l+1);return o[s]=u,u}function xe(e){return e.toLowerCase().replace(ye,` `)}function Se(e,t,n){return e=n&&n.length>0?`${e+` `+n.join(` `)}`:e,be(e,t,xe(e),xe(t),0,0,{})}var Ce=`[cmdk-group=""]`,we=`[cmdk-group-items=""]`,Te=`[cmdk-group-heading=""]`,Ee=`[cmdk-item=""]`,De=`${Ee}:not([aria-disabled="true"])`,Oe=`cmdk-item-select`,ke=`data-value`,Ae=(e,t,n)=>Se(e,t,n),je=K.createContext(void 0),Me=()=>K.useContext(je),Ne=K.createContext(void 0),Pe=()=>K.useContext(Ne),Fe=K.createContext(void 0),Ie=K.forwardRef((e,t)=>{let n=Je(()=>({search:``,value:e.value??e.defaultValue??``,selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}})),r=Je(()=>new Set),i=Je(()=>new Map),a=Je(()=>new Map),o=Je(()=>new Set),s=qe(e),{label:c,children:l,value:d,onValueChange:f,filter:p,shouldFilter:m,loop:g,disablePointerSelection:_=!1,vimBindings:v=!0,...y}=e,b=u(),x=u(),S=u(),C=K.useRef(null),w=Xe();Y(()=>{if(d!==void 0){let e=d.trim();n.current.value=e,T.emit()}},[d]),Y(()=>{w(6,j)},[]);let T=K.useMemo(()=>({subscribe:e=>(o.current.add(e),()=>o.current.delete(e)),snapshot:()=>n.current,setState:(e,t,r)=>{var i,a,o;if(!Object.is(n.current[e],t)){if(n.current[e]=t,e===`search`)A(),O(),w(1,k);else if(e===`value`){if(document.activeElement.hasAttribute(`cmdk-input`)||document.activeElement.hasAttribute(`cmdk-root`)){let e=document.getElementById(S);e?e.focus():(i=document.getElementById(b))==null||i.focus()}if(w(7,()=>{n.current.selectedItemId=M()?.id,T.emit()}),r||w(5,j),s.current?.value!==void 0){let e=t??``;(o=(a=s.current).onValueChange)==null||o.call(a,e);return}}T.emit()}},emit:()=>{o.current.forEach(e=>e())}}),[]),E=K.useMemo(()=>({value:(e,t,r)=>{t!==a.current.get(e)?.value&&(a.current.set(e,{value:t,keywords:r}),n.current.filtered.items.set(e,D(t,r)),w(2,()=>{O(),T.emit()}))},item:(e,t)=>(r.current.add(e),t&&(i.current.has(t)?i.current.get(t).add(e):i.current.set(t,new Set([e]))),w(3,()=>{A(),O(),n.current.value||k(),T.emit()}),()=>{a.current.delete(e),r.current.delete(e),n.current.filtered.items.delete(e);let t=M();w(4,()=>{A(),t?.getAttribute(`id`)===e&&k(),T.emit()})}),group:e=>(i.current.has(e)||i.current.set(e,new Set),()=>{a.current.delete(e),i.current.delete(e)}),filter:()=>s.current.shouldFilter,label:c||e[`aria-label`],getDisablePointerSelection:()=>s.current.disablePointerSelection,listId:b,inputId:S,labelId:x,listInnerRef:C}),[]);function D(e,t){let r=s.current?.filter??Ae;return e?r(e,n.current.search,t):0}function O(){if(!n.current.search||s.current.shouldFilter===!1)return;let e=n.current.filtered.items,t=[];n.current.filtered.groups.forEach(n=>{let r=i.current.get(n),a=0;r.forEach(t=>{let n=e.get(t);a=Math.max(n,a)}),t.push([n,a])});let r=C.current;N().sort((t,n)=>{let r=t.getAttribute(`id`),i=n.getAttribute(`id`);return(e.get(i)??0)-(e.get(r)??0)}).forEach(e=>{let t=e.closest(we);t?t.appendChild(e.parentElement===t?e:e.closest(`${we} > *`)):r.appendChild(e.parentElement===r?e:e.closest(`${we} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{let t=C.current?.querySelector(`${Ce}[${ke}="${encodeURIComponent(e[0])}"]`);t?.parentElement.appendChild(t)})}function k(){let e=N().find(e=>e.getAttribute(`aria-disabled`)!==`true`)?.getAttribute(ke);T.setState(`value`,e||void 0)}function A(){if(!n.current.search||s.current.shouldFilter===!1){n.current.filtered.count=r.current.size;return}n.current.filtered.groups=new Set;let e=0;for(let t of r.current){let r=D(a.current.get(t)?.value??``,a.current.get(t)?.keywords??[]);n.current.filtered.items.set(t,r),r>0&&e++}for(let[e,t]of i.current)for(let r of t)if(n.current.filtered.items.get(r)>0){n.current.filtered.groups.add(e);break}n.current.filtered.count=e}function j(){var e;let t=M();t&&(t.parentElement?.firstChild===t&&((e=t.closest(Ce)?.querySelector(Te))==null||e.scrollIntoView({block:`nearest`})),t.scrollIntoView({block:`nearest`}))}function M(){return C.current?.querySelector(`${Ee}[aria-selected="true"]`)}function N(){return Array.from(C.current?.querySelectorAll(De)||[])}function P(e){let t=N()[e];t&&T.setState(`value`,t.getAttribute(ke))}function F(e){var t;let n=M(),r=N(),i=r.findIndex(e=>e===n),a=r[i+e];(t=s.current)!=null&&t.loop&&(a=i+e<0?r[r.length-1]:i+e===r.length?r[0]:r[i+e]),a&&T.setState(`value`,a.getAttribute(ke))}function ee(e){let t=M()?.closest(Ce),n;for(;t&&!n;)t=e>0?Ge(t,Ce):Ke(t,Ce),n=t?.querySelector(De);n?T.setState(`value`,n.getAttribute(ke)):F(e)}let I=()=>P(N().length-1),L=e=>{e.preventDefault(),e.metaKey?I():e.altKey?ee(1):F(1)},R=e=>{e.preventDefault(),e.metaKey?P(0):e.altKey?ee(-1):F(-1)};return K.createElement(h.div,{ref:t,tabIndex:-1,...y,"cmdk-root":``,onKeyDown:e=>{var t;(t=y.onKeyDown)==null||t.call(y,e);let n=e.nativeEvent.isComposing||e.keyCode===229;if(!(e.defaultPrevented||n))switch(e.key){case`n`:case`j`:v&&e.ctrlKey&&L(e);break;case`ArrowDown`:L(e);break;case`p`:case`k`:v&&e.ctrlKey&&R(e);break;case`ArrowUp`:R(e);break;case`Home`:e.preventDefault(),P(0);break;case`End`:e.preventDefault(),I();break;case`Enter`:{e.preventDefault();let t=M();if(t){let e=new Event(Oe);t.dispatchEvent(e)}}}}},K.createElement(`label`,{"cmdk-label":``,htmlFor:E.inputId,id:E.labelId,style:$e},c),Qe(e,e=>K.createElement(Ne.Provider,{value:T},K.createElement(je.Provider,{value:E},e))))}),Le=K.forwardRef((e,t)=>{let n=u(),r=K.useRef(null),i=K.useContext(Fe),o=Me(),s=qe(e),c=s.current?.forceMount??i?.forceMount;Y(()=>{if(!c)return o.item(n,i?.id)},[c]);let l=Ye(n,r,[e.value,e.children,r],e.keywords),d=Pe(),f=X(e=>e.value&&e.value===l.current),p=X(e=>c||o.filter()===!1?!0:!e.search||e.filtered.items.get(n)>0);K.useEffect(()=>{let t=r.current;if(t&&!e.disabled)return t.addEventListener(Oe,m),()=>t.removeEventListener(Oe,m)},[p,e.onSelect,e.disabled]);function m(){var e,t;g(),(t=(e=s.current).onSelect)==null||t.call(e,l.current)}function g(){d.setState(`value`,l.current,!0)}if(!p)return null;let{disabled:_,value:v,onSelect:y,forceMount:b,keywords:x,...S}=e;return K.createElement(h.div,{ref:a(r,t),...S,id:n,"cmdk-item":``,role:`option`,"aria-disabled":!!_,"aria-selected":!!f,"data-disabled":!!_,"data-selected":!!f,onPointerMove:_||o.getDisablePointerSelection()?void 0:g,onClick:_?void 0:m},e.children)}),Re=K.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:i,...o}=e,s=u(),c=K.useRef(null),l=K.useRef(null),d=u(),f=Me(),p=X(e=>i||f.filter()===!1?!0:!e.search||e.filtered.groups.has(s));Y(()=>f.group(s),[]),Ye(s,c,[e.value,e.heading,l]);let m=K.useMemo(()=>({id:s,forceMount:i}),[i]);return K.createElement(h.div,{ref:a(c,t),...o,"cmdk-group":``,role:`presentation`,hidden:!p||void 0},n&&K.createElement(`div`,{ref:l,"cmdk-group-heading":``,"aria-hidden":!0,id:d},n),Qe(e,e=>K.createElement(`div`,{"cmdk-group-items":``,role:`group`,"aria-labelledby":n?d:void 0},K.createElement(Fe.Provider,{value:m},e))))}),ze=K.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,i=K.useRef(null),o=X(e=>!e.search);return!n&&!o?null:K.createElement(h.div,{ref:a(i,t),...r,"cmdk-separator":``,role:`separator`})}),Be=K.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,i=e.value!=null,a=Pe(),o=X(e=>e.search),s=X(e=>e.selectedItemId),c=Me();return K.useEffect(()=>{e.value!=null&&a.setState(`search`,e.value)},[e.value]),K.createElement(h.input,{ref:t,...r,"cmdk-input":``,autoComplete:`off`,autoCorrect:`off`,spellCheck:!1,"aria-autocomplete":`list`,role:`combobox`,"aria-expanded":!0,"aria-controls":c.listId,"aria-labelledby":c.labelId,"aria-activedescendant":s,id:c.inputId,type:`text`,value:i?e.value:o,onChange:e=>{i||a.setState(`search`,e.target.value),n?.(e.target.value)}})}),Ve=K.forwardRef((e,t)=>{let{children:n,label:r=`Suggestions`,...i}=e,o=K.useRef(null),s=K.useRef(null),c=X(e=>e.selectedItemId),l=Me();return K.useEffect(()=>{if(s.current&&o.current){let e=s.current,t=o.current,n,r=new ResizeObserver(()=>{n=requestAnimationFrame(()=>{let n=e.offsetHeight;t.style.setProperty(`--cmdk-list-height`,n.toFixed(1)+`px`)})});return r.observe(e),()=>{cancelAnimationFrame(n),r.unobserve(e)}}},[]),K.createElement(h.div,{ref:a(o,t),...i,"cmdk-list":``,role:`listbox`,tabIndex:-1,"aria-activedescendant":c,"aria-label":r,id:l.listId},Qe(e,e=>K.createElement(`div`,{ref:a(s,l.listInnerRef),"cmdk-list-sizer":``},e)))}),He=K.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:i,contentClassName:a,container:o,...s}=e;return K.createElement(m,{open:n,onOpenChange:r},K.createElement(d,{container:o},K.createElement(f,{"cmdk-overlay":``,className:i}),K.createElement(p,{"aria-label":e.label,"cmdk-dialog":``,className:a},K.createElement(Ie,{ref:t,...s}))))}),Ue=K.forwardRef((e,t)=>X(e=>e.filtered.count===0)?K.createElement(h.div,{ref:t,...e,"cmdk-empty":``,role:`presentation`}):null),We=K.forwardRef((e,t)=>{let{progress:n,children:r,label:i=`Loading...`,...a}=e;return K.createElement(h.div,{ref:t,...a,"cmdk-loading":``,role:`progressbar`,"aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":i},Qe(e,e=>K.createElement(`div`,{"aria-hidden":!0},e)))}),J=Object.assign(Ie,{List:Ve,Item:Le,Input:Be,Group:Re,Separator:ze,Dialog:He,Empty:Ue,Loading:We});function Ge(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function Ke(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function qe(e){let t=K.useRef(e);return Y(()=>{t.current=e}),t}var Y=typeof window>`u`?K.useEffect:K.useLayoutEffect;function Je(e){let t=K.useRef();return t.current===void 0&&(t.current=e()),t}function X(e){let t=Pe(),n=()=>e(t.snapshot());return K.useSyncExternalStore(t.subscribe,n,n)}function Ye(e,t,n,r=[]){let i=K.useRef(),a=Me();return Y(()=>{var o;let s=(()=>{for(let e of n){if(typeof e==`string`)return e.trim();if(typeof e==`object`&&`current`in e)return e.current?e.current.textContent?.trim():i.current}})(),c=r.map(e=>e.trim());a.value(e,s,c),(o=t.current)==null||o.setAttribute(ke,s),i.current=s}),i}var Xe=()=>{let[e,t]=K.useState(),n=Je(()=>new Map);return Y(()=>{n.current.forEach(e=>e()),n.current=new Map},[e]),(e,r)=>{n.current.set(e,r),t({})}};function Ze(e){let t=e.type;return typeof t==`function`?t(e.props):`render`in t?t.render(e.props):e}function Qe({asChild:e,children:t},n){return e&&K.isValidElement(t)?K.cloneElement(Ze(t),{ref:t.ref},n(t.props.children)):n(t)}var $e={position:`absolute`,width:`1px`,height:`1px`,padding:`0`,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,borderWidth:`0`},Z=r(),et=K.forwardRef((e,t)=>{let n=(0,q.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=o(`flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground`,r),n[3]=r,n[4]=a);let s;return n[5]!==i||n[6]!==t||n[7]!==a?(s=(0,Z.jsx)(J,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=s):s=n[8],s});et.displayName=J.displayName;var tt=K.forwardRef((e,t)=>{let n=(0,q.c)(10),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Z.jsx)(R,{className:`mr-2 h-4 w-4 shrink-0 opacity-50`}),n[3]=a):a=n[3];let s;n[4]===r?s=n[5]:(s=o(`flex h-11 w-full rounded-md bg-transparent py-3 text-base outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50`,r),n[4]=r,n[5]=s);let c;return n[6]!==i||n[7]!==t||n[8]!==s?(c=(0,Z.jsxs)(`div`,{className:`flex items-center border-b px-3`,"cmdk-input-wrapper":``,children:[a,(0,Z.jsx)(J.Input,{ref:t,className:s,...i})]}),n[6]=i,n[7]=t,n[8]=s,n[9]=c):c=n[9],c});tt.displayName=J.Input.displayName;var nt=K.forwardRef((e,t)=>{let n=(0,q.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=o(`max-h-[300px] overflow-y-auto overflow-x-hidden`,r),n[3]=r,n[4]=a);let s;return n[5]!==i||n[6]!==t||n[7]!==a?(s=(0,Z.jsx)(J.List,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=s):s=n[8],s});nt.displayName=J.List.displayName;var rt=K.forwardRef((e,t)=>{let n=(0,q.c)(4),r;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=o(i.bodyMuted,`py-6 text-center`),n[0]=r):r=n[0];let a;return n[1]!==e||n[2]!==t?(a=(0,Z.jsx)(J.Empty,{ref:t,className:r,...e}),n[1]=e,n[2]=t,n[3]=a):a=n[3],a});rt.displayName=J.Empty.displayName;var it=K.forwardRef((e,t)=>{let n=(0,q.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=o(`overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground`,r),n[3]=r,n[4]=a);let s;return n[5]!==i||n[6]!==t||n[7]!==a?(s=(0,Z.jsx)(J.Group,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=s):s=n[8],s});it.displayName=J.Group.displayName;var at=K.forwardRef((e,t)=>{let n=(0,q.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=o(`-mx-1 h-px bg-divider`,r),n[3]=r,n[4]=a);let s;return n[5]!==i||n[6]!==t||n[7]!==a?(s=(0,Z.jsx)(J.Separator,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=s):s=n[8],s});at.displayName=J.Separator.displayName;var ot=K.forwardRef((e,t)=>{let n=(0,q.c)(9),r,a;n[0]===e?(r=n[1],a=n[2]):({className:r,...a}=e,n[0]=e,n[1]=r,n[2]=a);let s;n[3]===r?s=n[4]:(s=o(o(i.body,`relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0`),r),n[3]=r,n[4]=s);let c;return n[5]!==a||n[6]!==t||n[7]!==s?(c=(0,Z.jsx)(J.Item,{ref:t,className:s,...a}),n[5]=a,n[6]=t,n[7]=s,n[8]=c):c=n[8],c});ot.displayName=J.Item.displayName;var st=100,ct=500;function lt(e){return e.trim().toLowerCase().split(/\s+/).filter(Boolean)}function ut(e,t){return t.length===0||t.every(t=>e.haystack.includes(t))}function dt(e,t,n){if(t.length===0)return[];let r=[];for(let n of e)if(ut(n,t)&&(r.push(n.node),r.length>=ct))break;return r.sort((e,t)=>ft(e,t,n)).slice(0,st)}function ft(e,t,n){let r=n.trim().toLowerCase(),i=e.name.toLowerCase(),a=t.name.toLowerCase(),o=r?i.startsWith(r):!1;return o===(r?a.startsWith(r):!1)?e.type===t.type?e.path.localeCompare(t.path):e.type===`folder`?-1:1:o?-1:1}function pt(e,t){return n=>{e.current=n,t&&(t.current=n)}}function mt(e){let t=(0,q.c)(41),{items:n,isReady:r,onRequestIndex:a,onOpenChange:s,onSelect:c,inputRef:l}=e,u=r!==void 0&&r,d=(0,K.useRef)(null),f=(0,K.useRef)(!1),p=(0,K.useRef)(!1),[m,h]=(0,K.useState)(!1),[g,_]=(0,K.useState)(``),v=(0,K.useDeferredValue)(g),y;t[0]===a?y=t[1]:(y=function(){p.current||(p.current=!0,a())},t[0]=a,t[1]=y);let b=y,x;t[2]!==v||t[3]!==n?(x=dt(n,lt(v),v),t[2]=v,t[3]=n,t[4]=x):x=t[4];let S=x,C,w;t[5]!==s||t[6]!==g?(C=()=>{let e=g.trim().length>0;h(e),f.current!==e&&(f.current=e,s(e))},w=[s,g],t[5]=s,t[6]=g,t[7]=C,t[8]=w):(C=t[7],w=t[8]),(0,K.useEffect)(C,w);let T;t[9]===s?T=t[10]:(T=function(e){e||_(``),h(e),s(e),e&&requestAnimationFrame(()=>d.current?.focus())},t[9]=s,t[10]=T);let E=T,D;t[11]!==s||t[12]!==c?(D=function(e){c(e),h(!1),s(!1),_(``)},t[11]=s,t[12]=c,t[13]=D):D=t[13];let O=D,k;t[14]===l?k=t[15]:(k=pt(d,l),t[14]=l,t[15]=k);let A;t[16]===b?A=t[17]:(A=e=>{b(),_(e.target.value)},t[16]=b,t[17]=A);let j;t[18]!==g||t[19]!==b||t[20]!==k||t[21]!==A?(j=(0,Z.jsx)(ee,{asChild:!0,children:(0,Z.jsx)(`div`,{className:`bg-transparent`,children:(0,Z.jsx)(U,{ref:k,value:g,onPointerDown:b,onChange:A,placeholder:`Search files and folders`,className:`pr-[4px]`})})}),t[18]=g,t[19]=b,t[20]=k,t[21]=A,t[22]=j):j=t[22];let M;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(M=o(i.compact,`py-4`),t[23]=M):M=t[23];let N=u?`No matches found.`:`Indexing files and folders...`,P;t[24]===N?P=t[25]:(P=(0,Z.jsx)(rt,{className:M,children:N}),t[24]=N,t[25]=P);let F;if(t[26]!==O||t[27]!==S){let e;t[29]===O?e=t[30]:(e=e=>(0,Z.jsxs)(ot,{value:e.path,onSelect:()=>O(e),className:e.ignored?`opacity-50`:void 0,children:[e.type===`folder`?(0,Z.jsx)(H,{className:`h-4 w-4 text-muted-foreground`}):(0,Z.jsx)(V,{filename:e.name}),(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Z.jsx)(`div`,{className:`truncate`,children:e.name}),(0,Z.jsx)(`div`,{className:o(i.compact,`truncate text-muted-foreground`),children:e.path})]})]},e.path),t[29]=O,t[30]=e),F=S.map(e),t[26]=O,t[27]=S,t[28]=F}else F=t[28];let I;t[31]===F?I=t[32]:(I=(0,Z.jsx)(it,{children:F}),t[31]=F,t[32]=I);let L;t[33]!==P||t[34]!==I?(L=(0,Z.jsx)(ne,{align:`start`,side:`bottom`,sideOffset:4,onOpenAutoFocus:ht,className:`w-[var(--radix-popover-trigger-width)] p-0`,children:(0,Z.jsx)(et,{shouldFilter:!1,children:(0,Z.jsxs)(nt,{children:[P,I]})})}),t[33]=P,t[34]=I,t[35]=L):L=t[35];let R;return t[36]!==E||t[37]!==m||t[38]!==j||t[39]!==L?(R=(0,Z.jsxs)(oe,{open:m,onOpenChange:E,children:[j,L]}),t[36]=E,t[37]=m,t[38]=j,t[39]=L,t[40]=R):R=t[40],R}function ht(e){return e.preventDefault()}function gt(e){let t=e.lastIndexOf(`/`);return t>=0?e.slice(0,t):``}function _t(e,t){let n=e.split(`/`);t&&n.pop();let r=[],i=``;for(let e of n)i=i?`${i}/${e}`:e,r.push(i);return r}function vt(e,t){let n=new Set(e);for(let e of t)n.add(e);return n}function yt(e,t){let n=new Set(e);return n.delete(t),n}function bt(e,t){return e===t||e.startsWith(t+`/`)}function xt(e,t){let n=new Set(e);for(let e of n)bt(e,t)&&n.delete(e);return n}async function St(e,t){try{await e()}catch{_({title:`Error`,description:t,variant:`destructive`})}}function Ct({rootEntries:e,expandedPaths:t,newItemIn:n,readDir:r}){let i=[];function a(e,t){n&&n.dirPath===e&&i.push({kind:`new-item`,key:`new:${e}`,level:t,node:null,isExpanded:!1,dirPath:e,newItemType:n.type})}function o(e,n){for(let s of e){let e=s.type===`folder`&&t.has(s.path);if(i.push({kind:`node`,key:`node:${s.path}`,level:n,node:s,isExpanded:e,dirPath:``,newItemType:null}),!e)continue;let c=r(s.path);if(c.entries===null){i.push({kind:c.isError?`dir-error`:`dir-loading`,key:`${c.isError?`err`:`load`}:${s.path}`,level:n+1,node:null,isExpanded:!1,dirPath:s.path,newItemType:null});continue}a(s.path,n+1),o(c.entries,n+1)}}return a(``,0),o(e,0),i}var wt=-1,Tt=new Map,Et=new Set,Dt=0;function Ot(){Dt+=1;for(let e of Et)e()}function kt(e){return Et.add(e),()=>{Et.delete(e)}}function At(){return Dt}function jt(e){return e instanceof Error?e:Error(String(e))}function Mt(e,t,n){let r=Tt.get(e)?.get(t);return r?{entries:r.entries,isLoading:r.loadedVersion!==n,isError:r.error!==null}:{entries:null,isLoading:!0,isError:!1}}var Nt=null,Pt=null,Ft=-1;function It(e,t){if(Nt&&Pt===e&&Ft===t)return Nt;let n=e;return Nt={read(e,t){return Mt(n,e,t)}},Pt=e,Ft=t,Nt}function Lt(e,t,n){let r=Tt.get(e);r||(r=new Map,Tt.set(e,r));let i=r.get(t);if(i&&(i.loadingVersion===n||i.loadedVersion===n))return!1;let a={entries:i?.entries??null,loadedVersion:i?.loadedVersion??wt,loadingVersion:n,error:null};return r.set(t,a),N(e,t).then(e=>{r.get(t)===a&&(r.set(t,{entries:e.entries,loadedVersion:n,loadingVersion:null,error:null}),Ot())}).catch(e=>{r.get(t)===a&&(r.set(t,{entries:a.entries,loadedVersion:n,loadingVersion:null,error:jt(e)}),Ot())}),!0}function Rt(e,t){let n=!1;for(let r of t)Lt(e,r.path,r.version)&&(n=!0);n&&Ot()}function zt(e,t){return e===t||e.startsWith(`${t}/`)}function Bt(e,t){let n=Tt.get(e);if(!n)return;let r=!1;for(let e of n.keys())zt(e,t)&&(n.delete(e),r=!0);r&&Ot()}async function Vt(e){let t=e.current;if(!t.trashTarget)return;let n=t.trashTarget;t.setTrashTarget(null),await St(async()=>{await M(t.threadId,n.path),t.setExplorerClearPath(n.path),t.reloadDir(gt(n.path)),t.handleExplorerMutation(),t.fetchUnifiedStatus(!0),t.setExpandedPaths(e=>xt(e,n.path)),t.removeSubtreeVersions(n.path)},`Failed to move "${n.name}" to trash`)}async function Ht(e,t,n){let r=e.current;if(n===t.name){r.setRenamingPath(null);return}r.setRenamingPath(null),await St(async()=>{await F(r.threadId,t.path,n),r.reloadDir(gt(t.path)),r.handleExplorerMutation(),r.fetchUnifiedStatus(!0),t.type===`folder`&&(r.setExpandedPaths(e=>xt(e,t.path)),r.removeSubtreeVersions(t.path))},`Failed to rename "${t.name}"`)}async function Ut(e,t){let n=e.current;if(!n.newItemIn)return;let{dirPath:r,type:i}=n.newItemIn;n.setNewItemIn(null),await St(async()=>{i===`file`?await P(n.threadId,r,t):await A(n.threadId,r,t),n.reloadDir(r),n.handleExplorerMutation(),n.fetchUnifiedStatus(!0)},`Failed to create ${i} "${t}"`)}async function Wt(e,t){await St(async()=>{let n=e.current,r=await j(n.threadId,t.path);n.reloadDir(gt(t.path)),n.handleExplorerMutation(),n.fetchUnifiedStatus(!0);let i=_({title:r.alreadyIgnored?`Already ignored`:`Added to .gitignore`,description:r.alreadyIgnored?`"${t.name}" is already in .gitignore.`:`"${t.name}" was added to .gitignore.`});window.setTimeout(()=>{i.dismiss()},2e3)},`Failed to ignore "${t.name}"`)}function Gt(e){return{handleNewFile:(0,K.useCallback)(t=>{qt(e.current,t),e.current.setNewItemIn({dirPath:t,type:`file`})},[]),handleNewFolder:(0,K.useCallback)(t=>{qt(e.current,t),e.current.setNewItemIn({dirPath:t,type:`folder`})},[]),handleCancelNewItem:(0,K.useCallback)(()=>{e.current.setNewItemIn(null)},[]),handleCommitNewItem:(0,K.useCallback)(t=>Ut(e,t),[]),handleFolderDropTargetChange:(0,K.useCallback)(t=>{e.current.setDropTargetPath(t)},[]),handleFilesDrop:(0,K.useCallback)((t,n)=>{e.current.onFilesDrop?.(t,n)},[]),handleRetryDir:(0,K.useCallback)(t=>{e.current.reloadDir(t)},[])}}function Kt(e){let t=(0,K.useRef)(e);t.current=e;let n=(0,K.useCallback)(e=>{let{expandedPaths:n,setExpandedPaths:r,ensureDirVersionsInitialized:i}=t.current;if(n.has(e.path)){r(t=>yt(t,e.path));return}r(t=>vt(t,[e.path])),i([e.path])},[]),r=(0,K.useCallback)(e=>{t.current.onNodeSelect(e)},[]),i=(0,K.useCallback)(e=>{t.current.setTrashTarget(e)},[]),a=(0,K.useCallback)(async e=>{let{threadId:n}=t.current;await St(()=>k(n,e.path),`Failed to open "${e.name}"`)},[]),o=(0,K.useCallback)(async e=>{await St(async()=>{await navigator.clipboard.writeText(e.path);let t=_({title:`Copied`,description:`Reference copied to clipboard.`});window.setTimeout(()=>{t.dismiss()},2e3)},`Failed to copy reference for "${e.name}"`)},[]),s=(0,K.useCallback)(()=>Vt(t),[]),c=(0,K.useCallback)(e=>{t.current.setNewItemIn(null),t.current.setRenamingPath(e.path)},[]),l=(0,K.useCallback)(()=>{t.current.setRenamingPath(null)},[]),u=(0,K.useCallback)((e,n)=>Ht(t,e,n),[]),{handleNewFile:d,handleNewFolder:f,handleCancelNewItem:p,handleCommitNewItem:m,handleFolderDropTargetChange:h,handleFilesDrop:g,handleRetryDir:v}=Gt(t),y=(0,K.useCallback)(e=>Wt(t,e),[]),b=(0,K.useCallback)(e=>{let n=t.current,r=_t(e.path,e.type===`file`);n.setExpandedPaths(e=>vt(e,r)),n.ensureDirVersionsInitialized(r),e.type===`file`&&n.onNodeSelect(e)},[]);return{callbacks:(0,K.useMemo)(()=>({onToggleFolder:n,onSelectNode:r,onStartRename:c,onCommitRename:u,onCancelRename:l,onDelete:i,onOpen:a,onCopyReference:o,onGitIgnore:y,onNewFile:d,onNewFolder:f,onCommitNewItem:m,onCancelNewItem:p,onFolderDropTargetChange:h,onFilesDrop:g,onRetryDir:v}),[p,l,m,u,o,i,g,h,y,d,f,a,v,r,c,n]),handleConfirmTrash:s,handleSearchSelect:b}}function qt(e,t){e.setRenamingPath(null),e.expandedPaths.has(t)||(e.setExpandedPaths(e=>vt(e,[t])),e.ensureDirVersionsInitialized([t]))}var Q=se(`explorer.tree.ui`),Jt=[];function Yt(e){return e?.value.trim()??``}function Xt(e,t){let n=t.filter(t=>!e.has(t));if(n.length===0)return e;let r=new Map(e);for(let e of n)r.set(e,0);return r}function Zt(e){let t=new Set([``]);for(let n of e)t.add(n);return t}function Qt(e,t){let n=new Map(e);for(let r of Zt(t))n.set(r,(e.get(r)??0)+1);return n}function $t(e,t){let n=new Map(e);for(let e of n.keys())bt(e,t)&&n.delete(e);return n}function en(e,t,n,r,i){let a=(0,q.c)(23),[o,s]=(0,K.useState)(tn),c=(0,K.useRef)(0),l=(0,K.useRef)(null),u;a[0]===o?u=a[1]:(u=e=>o.get(e)??0,a[0]=o,a[1]=u);let d=u,f;a[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=e=>{s(t=>{let n=new Map(t);return n.set(e,(t.get(e)??0)+1),n})},a[2]=f):f=a[2];let p=f,m;a[3]===Symbol.for(`react.memo_cache_sentinel`)?(m=e=>{s(t=>Xt(t,e))},a[3]=m):m=a[3];let h=m,g;a[4]===e?g=a[5]:(g=t=>{s(e=>$t(e,t)),Bt(e,t)},a[4]=e,a[5]=g);let _=g,v,y;a[6]!==t||a[7]!==e?(v=()=>{if(!e)return;let n=l.current!==null&&l.current!==e;l.current=e,n&&(s(new Map([[``,0]])),c.current=t)},y=[t,e],a[6]=t,a[7]=e,a[8]=v,a[9]=y):(v=a[8],y=a[9]),(0,K.useEffect)(v,y);let b,x;a[10]!==n||a[11]!==t||a[12]!==e?(b=()=>{!e||t<=c.current||(c.current=t,s(e=>Qt(e,n)))},x=[t,n,e],a[10]=n,a[11]=t,a[12]=e,a[13]=b,a[14]=x):(b=a[13],x=a[14]),(0,K.useEffect)(b,x);let S,C;a[15]!==i||a[16]!==r||a[17]!==e?(S=()=>{if(!i||!e)return;let t=_t(i,!0);t.length!==0&&(r(e=>vt(e,t)),s(e=>Xt(e,t)))},C=[i,r,e],a[15]=i,a[16]=r,a[17]=e,a[18]=S,a[19]=C):(S=a[18],C=a[19]),(0,K.useEffect)(S,C);let w;return a[20]!==d||a[21]!==_?(w={getDirVersion:d,reloadDir:p,ensureDirVersionsInitialized:h,removeSubtreeVersions:_},a[20]=d,a[21]=_,a[22]=w):w=a[22],w}function tn(){return new Map([[``,0]])}var nn=8,$=new Map;function rn(e){return e.map(e=>({node:e,haystack:`${e.name} ${e.path}`.toLowerCase()}))}function an(e,t){if(!$.has(e)&&$.size>=nn){let e=$.keys().next().value;e!==void 0&&$.delete(e)}$.set(e,t)}function on(e){let[t,n]=(0,K.useState)([]),[r,i]=(0,K.useState)(!1),[a,o]=(0,K.useState)(!1),[s,c]=(0,K.useState)(!1),l=(0,K.useRef)(!1),u=(0,K.useRef)(null),d=(0,K.useCallback)(async()=>{if(!e)return;let t=$.get(e);if(t){n(t),i(!0);return}if(u.current!==e){u.current=e,n([]),i(!1);try{let t=rn((await N(e,``,!0)).entries);an(e,t),n(t),i(!0)}catch{n([]),i(!1)}finally{u.current===e&&(u.current=null)}}},[e]),f=(0,K.useCallback)(()=>{$.delete(e),n([]),i(!1),l.current&&d()},[d,e]),p=(0,K.useCallback)(()=>{l.current=!0,c(!0)},[]),m=(0,K.useCallback)(e=>{(0,K.startTransition)(()=>{o(e)})},[]);return(0,K.useEffect)(()=>{l.current=!1,u.current=null,n([]),i(!1),c(!1)},[e]),(0,K.useEffect)(()=>{s&&e&&d()},[d,s,e]),{searchableItems:t,isSearchCacheReady:r,isSearchOpen:a,onSearchIndexRequest:p,onSearchOpenChange:m,invalidateSearchIndex:f}}function sn(){let e=(0,q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Z.jsx)(`div`,{className:`h-2`}),e[0]=t):t=e[0],t}var cn={Header:sn,Footer:sn};function ln(e,t){return t.key}function un(e){let t=(0,q.c)(19),{defaultValue:n,onCommit:r,onCancel:a,level:o,basePadding:s,icon:c}=e,l=(0,K.useRef)(null),u,d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>{l.current?.focus(),l.current?.select()},d=[],t[0]=u,t[1]=d):(u=t[0],d=t[1]),(0,K.useEffect)(u,d);let f;t[2]!==a||t[3]!==r?(f=function(e){e?r(e):a()},t[2]=a,t[3]=r,t[4]=f):f=t[4];let p=f,m;t[5]!==p||t[6]!==a?(m=function(e){e.key===`Enter`?p(Yt(l.current)):e.key===`Escape`&&a()},t[5]=p,t[6]=a,t[7]=m):m=t[7];let h=m,g;t[8]===p?g=t[9]:(g=function(){p(Yt(l.current))},t[8]=p,t[9]=g);let _=g,v;t[10]!==n||t[11]!==_||t[12]!==h?(v=(0,Z.jsx)(`input`,{ref:l,defaultValue:n,onKeyDown:h,onBlur:_,className:`flex-1 min-w-0 bg-transparent outline-none border border-border rounded px-1 text-base`,onClick:dn}),t[10]=n,t[11]=_,t[12]=h,t[13]=v):v=t[13];let y;return t[14]!==s||t[15]!==c||t[16]!==o||t[17]!==v?(y=(0,Z.jsxs)(B,{level:o,basePadding:s,className:i.conversationBody,children:[c,v]}),t[14]=s,t[15]=c,t[16]=o,t[17]=v,t[18]=y):y=t[18],y}function dn(e){return e.stopPropagation()}function fn(e){let t=(0,q.c)(13),{node:n,onCommitRename:r,onCancelRename:i}=e,a;t[0]!==n||t[1]!==i||t[2]!==r?(a=function(e){let t=e.trim();t?r(n,t):i()},t[0]=n,t[1]=i,t[2]=r,t[3]=a):a=t[3];let o=a,s;t[4]!==o||t[5]!==i?(s=function(e){if(e.key===`Escape`){i();return}e.key===`Enter`&&o(e.target.value)},t[4]=o,t[5]=i,t[6]=s):s=t[6];let c=s,l;t[7]===o?l=t[8]:(l=e=>o(e.target.value),t[7]=o,t[8]=l);let u;return t[9]!==c||t[10]!==n.name||t[11]!==l?(u=(0,Z.jsx)(`input`,{autoFocus:!0,defaultValue:n.name,onKeyDown:c,onBlur:l,onClick:pn,className:`flex-1 min-w-0 bg-transparent outline-none border border-border rounded px-1 text-base`}),t[9]=c,t[10]=n.name,t[11]=l,t[12]=u):u=t[12],u}function pn(e){return e.stopPropagation()}function mn(e,t){return o(i.conversationBody,e.ignored&&`opacity-50`,t&&`bg-sidebar-accent text-sidebar-accent-foreground ring-1 ring-primary`)}function hn(e,t){O(e.dataTransfer)&&(e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect=`copy`,t.isDropTarget||t.onFolderDropTargetChange(t.path))}function gn(e,t){O(e.dataTransfer)&&(e.currentTarget.contains(e.relatedTarget)||t.isDropTarget&&t.onFolderDropTargetChange(null))}function _n(e,t){if(!O(e.dataTransfer))return;e.preventDefault(),e.stopPropagation(),t.onFolderDropTargetChange(null);let{files:n,skippedFolders:r}=E(e.dataTransfer);r>0&&_({title:`Folders skipped`,description:`Only files can be copied. Drop individual files instead of folders.`}),n.length>0&&t.onFilesDrop(n,t.path)}function vn(e){let t=(0,q.c)(35),{node:n,level:r,isExpanded:i,context:a}=e,{callbacks:o}=a,l=a.renamingPath===n.path,u=a.dropTargetPath===n.path,d=i?s:c,f=i?W:H,p;t[0]!==o.onFilesDrop||t[1]!==o.onFolderDropTargetChange||t[2]!==u||t[3]!==n.path?(p={path:n.path,isDropTarget:u,onFolderDropTargetChange:o.onFolderDropTargetChange,onFilesDrop:o.onFilesDrop},t[0]=o.onFilesDrop,t[1]=o.onFolderDropTargetChange,t[2]=u,t[3]=n.path,t[4]=p):p=t[4];let m=p,h=a.selectedPath===n.path,g;t[5]!==u||t[6]!==n?(g=mn(n,u),t[5]=u,t[6]=n,t[7]=g):g=t[7];let _;t[8]!==o||t[9]!==i||t[10]!==n?(_=e=>{e.stopPropagation(),Q.info(`[Files explorer] Folder row clicked`,{directory:n.path,expanded:i}),o.onToggleFolder(n)},t[8]=o,t[9]=i,t[10]=n,t[11]=_):_=t[11];let v,y,b;t[12]===m?(v=t[13],y=t[14],b=t[15]):(v=e=>hn(e,m),y=e=>gn(e,m),b=e=>_n(e,m),t[12]=m,t[13]=v,t[14]=y,t[15]=b);let x;t[16]===d?x=t[17]:(x=(0,Z.jsx)(`span`,{className:`text-muted-foreground w-3 flex-shrink-0`,children:(0,Z.jsx)(d,{className:`h-3 w-3`})}),t[16]=d,t[17]=x);let S;t[18]!==f||t[19]!==o.onCancelRename||t[20]!==o.onCommitRename||t[21]!==l||t[22]!==n?(S=l?(0,Z.jsx)(fn,{node:n,onCommitRename:o.onCommitRename,onCancelRename:o.onCancelRename}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(f,{className:`h-4 w-4 flex-shrink-0`}),(0,Z.jsx)(`span`,{className:`flex-1 truncate`,children:n.name})]}),t[18]=f,t[19]=o.onCancelRename,t[20]=o.onCommitRename,t[21]=l,t[22]=n,t[23]=S):S=t[23];let C;return t[24]!==r||t[25]!==n.path||t[26]!==h||t[27]!==g||t[28]!==_||t[29]!==v||t[30]!==y||t[31]!==b||t[32]!==x||t[33]!==S?(C=(0,Z.jsxs)(B,{level:r,basePadding:10,selected:h,className:g,"data-explorer-node-path":n.path,onClick:_,onDragOver:v,onDragLeave:y,onDrop:b,children:[x,S]}),t[24]=r,t[25]=n.path,t[26]=h,t[27]=g,t[28]=_,t[29]=v,t[30]=y,t[31]=b,t[32]=x,t[33]=S,t[34]=C):C=t[34],C}function yn(e){let t=(0,q.c)(20),{node:n,level:r,context:a}=e,{callbacks:s}=a,c=a.renamingPath===n.path,l=a.selectedPath===n.path,u=n.ignored&&`opacity-50`,d;t[0]===u?d=t[1]:(d=o(i.conversationBody,u),t[0]=u,t[1]=d);let f;t[2]!==s||t[3]!==n?(f=()=>s.onSelectNode(n),t[2]=s,t[3]=n,t[4]=f):f=t[4];let p;t[5]===n.name?p=t[6]:(p=(0,Z.jsx)(V,{filename:n.name}),t[5]=n.name,t[6]=p);let m;t[7]!==s.onCancelRename||t[8]!==s.onCommitRename||t[9]!==c||t[10]!==n?(m=c?(0,Z.jsx)(fn,{node:n,onCommitRename:s.onCommitRename,onCancelRename:s.onCancelRename}):(0,Z.jsx)(`span`,{className:`flex-1 truncate`,children:n.name}),t[7]=s.onCancelRename,t[8]=s.onCommitRename,t[9]=c,t[10]=n,t[11]=m):m=t[11];let h;return t[12]!==r||t[13]!==n.path||t[14]!==l||t[15]!==d||t[16]!==f||t[17]!==p||t[18]!==m?(h=(0,Z.jsxs)(B,{level:r,basePadding:22,selected:l,className:d,"data-explorer-node-path":n.path,onClick:f,children:[p,m]}),t[12]=r,t[13]=n.path,t[14]=l,t[15]=d,t[16]=f,t[17]=p,t[18]=m,t[19]=h):h=t[19],h}function bn(e){let t=(0,q.c)(5),{level:n}=e,r=10+n*20,i;t[0]===r?i=t[1]:(i={paddingLeft:r},t[0]=r,t[1]=i);let a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Z.jsx)(`div`,{className:`h-4 animate-pulse rounded bg-muted`}),t[2]=a):a=t[2];let o;return t[3]===i?o=t[4]:(o=(0,Z.jsx)(`div`,{className:`px-3 py-1`,style:i,children:a}),t[3]=i,t[4]=o),o}function xn(e){let t=(0,q.c)(9),{level:n,dirPath:r,onRetry:a}=e,s=10+n*20,c;t[0]===s?c=t[1]:(c={paddingLeft:s},t[0]=s,t[1]=c);let u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Z.jsx)(`span`,{className:o(i.caption,`truncate text-muted-foreground`),children:`Failed to load this folder.`}),t[2]=u):u=t[2];let d;t[3]!==r||t[4]!==a?(d=(0,Z.jsx)(l,{type:`button`,variant:`ghost`,size:`sm`,className:`h-6 px-2`,onClick:()=>a(r),children:`Retry`}),t[3]=r,t[4]=a,t[5]=d):d=t[5];let f;return t[6]!==c||t[7]!==d?(f=(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-1`,style:c,children:[u,d]}),t[6]=c,t[7]=d,t[8]=f):f=t[8],f}var Sn=(0,K.memo)(function(e){let t=(0,q.c)(19),{row:n,context:r}=e;if(n.kind===`new-item`){let e=n.newItemType===`folder`,i=e?10:22,a;t[0]===e?a=t[1]:(a=e?(0,Z.jsx)(H,{className:`h-4 w-4 flex-shrink-0`}):(0,Z.jsx)(ae,{className:`h-4 w-4 flex-shrink-0 text-muted-foreground`}),t[0]=e,t[1]=a);let o;return t[2]!==r.callbacks.onCancelNewItem||t[3]!==r.callbacks.onCommitNewItem||t[4]!==n.level||t[5]!==i||t[6]!==a?(o=(0,Z.jsx)(un,{defaultValue:``,level:n.level,basePadding:i,icon:a,onCommit:r.callbacks.onCommitNewItem,onCancel:r.callbacks.onCancelNewItem}),t[2]=r.callbacks.onCancelNewItem,t[3]=r.callbacks.onCommitNewItem,t[4]=n.level,t[5]=i,t[6]=a,t[7]=o):o=t[7],o}if(n.kind===`dir-loading`){let e;return t[8]===n.level?e=t[9]:(e=(0,Z.jsx)(bn,{level:n.level}),t[8]=n.level,t[9]=e),e}if(n.kind===`dir-error`){let e;return t[10]!==r.callbacks.onRetryDir||t[11]!==n.dirPath||t[12]!==n.level?(e=(0,Z.jsx)(xn,{level:n.level,dirPath:n.dirPath,onRetry:r.callbacks.onRetryDir}),t[10]=r.callbacks.onRetryDir,t[11]=n.dirPath,t[12]=n.level,t[13]=e):e=t[13],e}if(!n.node)return null;let i;return t[14]!==r||t[15]!==n.isExpanded||t[16]!==n.level||t[17]!==n.node?(i=n.node.type===`folder`?(0,Z.jsx)(vn,{node:n.node,level:n.level,isExpanded:n.isExpanded,context:r}):(0,Z.jsx)(yn,{node:n.node,level:n.level,context:r}),t[14]=r,t[15]=n.isExpanded,t[16]=n.level,t[17]=n.node,t[18]=i):i=t[18],i});function Cn(e){let t=(0,q.c)(33),{node:n,newItemDir:r,callbacks:i}=e,a=n.type===`folder`?`Git Ignore This Folder`:`Git Ignore This File`,o=n.name===`.gitignore`,s;t[0]!==i||t[1]!==n?(s=(0,Z.jsx)(z,{onSelect:()=>i.onOpen(n),children:`Open`}),t[0]=i,t[1]=n,t[2]=s):s=t[2];let c;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,Z.jsx)(G,{}),t[3]=c):c=t[3];let l;t[4]!==i||t[5]!==r?(l=(0,Z.jsx)(z,{onSelect:()=>i.onNewFile(r),children:`New File...`}),t[4]=i,t[5]=r,t[6]=l):l=t[6];let u;t[7]!==i||t[8]!==r?(u=(0,Z.jsx)(z,{onSelect:()=>i.onNewFolder(r),children:`New Folder...`}),t[7]=i,t[8]=r,t[9]=u):u=t[9];let d;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,Z.jsx)(G,{}),t[10]=d):d=t[10];let f;t[11]!==i||t[12]!==n?(f=(0,Z.jsx)(z,{onSelect:()=>i.onCopyReference(n),children:`Copy Reference`}),t[11]=i,t[12]=n,t[13]=f):f=t[13];let p;t[14]!==i||t[15]!==a||t[16]!==o||t[17]!==n?(p=!o&&(0,Z.jsx)(z,{onSelect:()=>i.onGitIgnore(n),children:a}),t[14]=i,t[15]=a,t[16]=o,t[17]=n,t[18]=p):p=t[18];let m;t[19]!==i||t[20]!==n?(m=(0,Z.jsx)(z,{onSelect:()=>i.onStartRename(n),children:`Rename...`}),t[19]=i,t[20]=n,t[21]=m):m=t[21];let h;t[22]!==i||t[23]!==n?(h=(0,Z.jsx)(z,{onSelect:()=>i.onDelete(n),className:`text-destructive focus:text-destructive`,children:`Delete`}),t[22]=i,t[23]=n,t[24]=h):h=t[24];let g;return t[25]!==s||t[26]!==l||t[27]!==u||t[28]!==f||t[29]!==p||t[30]!==m||t[31]!==h?(g=(0,Z.jsxs)(Z.Fragment,{children:[s,c,l,u,d,f,p,m,h]}),t[25]=s,t[26]=l,t[27]=u,t[28]=f,t[29]=p,t[30]=m,t[31]=h,t[32]=g):g=t[32],g}function wn(e){let t=(0,q.c)(7),{callbacks:n}=e,r;t[0]===n?r=t[1]:(r=(0,Z.jsx)(z,{onSelect:()=>n.onNewFile(``),children:`New File...`}),t[0]=n,t[1]=r);let i;t[2]===n?i=t[3]:(i=(0,Z.jsx)(z,{onSelect:()=>n.onNewFolder(``),children:`New Folder...`}),t[2]=n,t[3]=i);let a;return t[4]!==r||t[5]!==i?(a=(0,Z.jsxs)(Z.Fragment,{children:[r,i]}),t[4]=r,t[5]=i,t[6]=a):a=t[6],a}function Tn(e){let t=(0,q.c)(15),{trashTarget:n,onDismiss:r,onConfirm:i}=e,a=n!==null,o;t[0]===r?o=t[1]:(o=e=>!e&&r(),t[0]=r,t[1]=o);let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,Z.jsx)(x,{children:`Move to Trash`}),t[2]=s):s=t[2];let c=n?.name,l;t[3]===c?l=t[4]:(l=(0,Z.jsxs)(b,{children:[`Move “`,c,`” to trash?`]}),t[3]=c,t[4]=l);let u;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Z.jsx)(w,{children:`Cancel`}),t[5]=u):u=t[5];let d;t[6]===i?d=t[7]:(d=(0,Z.jsxs)(`div`,{className:`flex gap-3 justify-end`,children:[u,(0,Z.jsx)(C,{onClick:i,children:`Move to Trash`})]}),t[6]=i,t[7]=d);let f;t[8]!==l||t[9]!==d?(f=(0,Z.jsxs)(S,{children:[s,l,d]}),t[8]=l,t[9]=d,t[10]=f):f=t[10];let p;return t[11]!==a||t[12]!==o||t[13]!==f?(p=(0,Z.jsx)(T,{open:a,onOpenChange:o,children:f}),t[11]=a,t[12]=o,t[13]=f,t[14]=p):p=t[14],p}function En(e){let t=(0,q.c)(3),{onRetry:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Z.jsx)(`p`,{className:i.bodyMuted,children:`Failed to load files`}),t[0]=r):r=t[0];let a;return t[1]===n?a=t[2]:(a=(0,Z.jsxs)(`div`,{className:`flex flex-col items-center gap-3 px-6 py-8 text-center`,children:[r,(0,Z.jsx)(l,{type:`button`,variant:`outline`,onClick:n,children:`Retry`})]}),t[1]=n,t[2]=a),a}function Dn(e){let t=(0,q.c)(14),{listing:n,rows:r,rowContext:i,renderRow:a,scrollParent:o,onRetry:s}=e,c=(0,K.useRef)(null),l;t[0]===r?l=t[1]:(l=r.map(kn).join(``),t[0]=r,t[1]=l);let u=l,d;t[2]!==r.length||t[3]!==u?(d=e=>{c.current!==u&&(c.current=u,Q.info(`[Files explorer] Virtuoso rendered rows`,{totalRows:r.length,renderedRows:e.map(On)}))},t[2]=r.length,t[3]=u,t[4]=d):d=t[4];let f=d;if(n.entries===null){let e;return t[5]!==n.isError||t[6]!==s?(e=n.isError?(0,Z.jsx)(En,{onRetry:s}):(0,Z.jsx)(I,{}),t[5]=n.isError,t[6]=s,t[7]=e):e=t[7],e}let p=o??void 0,m;return t[8]!==f||t[9]!==a||t[10]!==i||t[11]!==r||t[12]!==p?(m=(0,Z.jsx)(re,{data:r,context:i,computeItemKey:ln,itemContent:a,itemsRendered:f,components:cn,customScrollParent:p,className:`w-full`}),t[8]=f,t[9]=a,t[10]=i,t[11]=r,t[12]=p,t[13]=m):m=t[13],m}function On(e){let{data:t,index:n}=e;return{index:n,key:t?.key??null,path:t?.node?.path??null,kind:t?.kind??null}}function kn(e){return e.key}function An(e){let t=(0,q.c)(9),{node:n,callbacks:r}=e;if(!n){let e;return t[0]===r?e=t[1]:(e=(0,Z.jsx)(wn,{callbacks:r}),t[0]=r,t[1]=e),e}let i;t[2]!==n.path||t[3]!==n.type?(i=n.type===`folder`?n.path:gt(n.path),t[2]=n.path,t[3]=n.type,t[4]=i):i=t[4];let a=i,o;return t[5]!==r||t[6]!==a||t[7]!==n?(o=(0,Z.jsx)(Cn,{node:n,newItemDir:a,callbacks:r}),t[5]=r,t[6]=a,t[7]=n,t[8]=o):o=t[8],o}function jn(e,t,n,r,i,a){let o=(0,q.c)(8),s=(0,K.useRef)(null),c,l;o[0]!==a||o[1]!==i||o[2]!==t||o[3]!==r||o[4]!==n||o[5]!==e?(c=()=>{if(s.current===null){s.current=e;return}s.current!==e&&(s.current=e,t(new Set),n(null),r(null),i(null),a(null))},l=[e,t,n,r,i,a],o[0]=a,o[1]=i,o[2]=t,o[3]=r,o[4]=n,o[5]=e,o[6]=c,o[7]=l):(c=o[6],l=o[7]),(0,K.useEffect)(c,l)}var Mn=15e3;function Nn(e,t,n,r){let i=(0,q.c)(20),a;if(i[0]!==t.entries||i[1]!==t.isError||i[2]!==n){a=new Set,t.entries===null&&!t.isError&&a.add(``);for(let e of n)e.kind===`dir-loading`&&a.add(e.dirPath);i[0]=t.entries,i[1]=t.isError,i[2]=n,i[3]=a}else a=i[3];let o=a,s;i[4]===n?s=i[5]:(s=n.flatMap(In),i[4]=n,i[5]=s);let c=s,l;if(i[6]!==t.entries||i[7]!==t.isError||i[8]!==n){l=new Set,t.entries===null&&t.isError&&l.add(``);for(let e of n)e.kind===`dir-error`&&l.add(e.dirPath);i[6]=t.entries,i[7]=t.isError,i[8]=n,i[9]=l}else l=i[9];let u=l,d;i[10]===Symbol.for(`react.memo_cache_sentinel`)?(d=new Map,i[10]=d):d=i[10];let f=(0,K.useRef)(d),p,m;i[11]!==u||i[12]!==r||i[13]!==o||i[14]!==e||i[15]!==c?(p=()=>{for(let t of o){let n=r(t),i=JSON.stringify([e,t,n]);if(f.current.has(i))continue;let a=Date.now(),o=setTimeout(()=>{let r=Mt(e,t,n);Q.error(`[Files explorer] Loading skeleton did not resolve`,{threadId:e,directory:t||`.`,version:n,elapsedMs:Date.now()-a,cacheListing:{isLoading:r.isLoading,isError:r.isError,entries:r.entries?.map(Fn)??null},visibleEntries:c})},Mn);f.current.set(i,{threadId:e,dirPath:t,version:n,startedAt:a,timeout:o}),Q.info(`[Files explorer] Loading skeleton shown`,{threadId:e,directory:t||`.`,version:n,visibleEntries:c})}let t=new Set(Array.from(o,t=>JSON.stringify([e,t,r(t)])));for(let[n,r]of f.current)if(!t.has(n)&&(clearTimeout(r.timeout),f.current.delete(n),r.threadId===e)){let t=Mt(r.threadId,r.dirPath,r.version),n={threadId:e,directory:r.dirPath||`.`,version:r.version,elapsedMs:Date.now()-r.startedAt,loadedEntries:t.entries?.map(Pn)??null,visibleEntries:c};u.has(r.dirPath)?Q.error(`[Files explorer] Directory load failed`,n):Q.info(`[Files explorer] File list shown`,n)}},m=[e,o,c,u,r],i[11]=u,i[12]=r,i[13]=o,i[14]=e,i[15]=c,i[16]=p,i[17]=m):(p=i[16],m=i[17]),(0,K.useEffect)(p,m);let h,g;i[18]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>()=>{for(let e of f.current.values())clearTimeout(e.timeout);f.current.clear()},g=[],i[18]=h,i[19]=g):(h=i[18],g=i[19]),(0,K.useEffect)(h,g)}function Pn(e){let{path:t,type:n}=e;return{path:t,type:n}}function Fn(e){let{path:t,type:n}=e;return{path:t,type:n}}function In(e){return e.node?[{path:e.node.path,type:e.node.type}]:[]}function Ln(e,t,n){let r=(0,q.c)(5),i,a;r[0]!==t||r[1]!==n||r[2]!==e?(i=()=>{if(!e)return;let r=[{path:``,version:n(``)}];for(let e of t)r.push({path:e,version:n(e)});Q.info(`[Files explorer] Checking directory listings`,r.map(t=>{let{path:n,version:r}=t,i=Mt(e,n,r);return{directory:n||`.`,version:r,isLoading:i.isLoading,isError:i.isError,entryCount:i.entries?.length??null}})),Rt(e,r)},a=[e,t,n],r[0]=t,r[1]=n,r[2]=e,r[3]=i,r[4]=a):(i=r[3],a=r[4]),(0,K.useEffect)(i,a)}function Rn(e,t){let n=(0,q.c)(4),r=(0,K.useRef)(e),i,a;n[0]!==e||n[1]!==t?(i=()=>{e!==r.current&&(r.current=e,t())},a=[e,t],n[0]=e,n[1]=t,n[2]=i,n[3]=a):(i=n[2],a=n[3]),(0,K.useEffect)(i,a)}function zn(e){let t=(0,q.c)(11),{threadId:n,instanceId:r,searchableItems:i,isSearchCacheReady:a,onSearchIndexRequest:o,onSearchOpenChange:s,onSearchSelect:c}=e,l=(0,K.useRef)(null),{registerPanelFocus:u}=v(),d,f;t[0]!==r||t[1]!==u?(d=()=>{if(r)return u(r,()=>l.current?.focus())},f=[r,u],t[0]=r,t[1]=u,t[2]=d,t[3]=f):(d=t[2],f=t[3]),(0,K.useEffect)(d,f);let p;return t[4]!==a||t[5]!==o||t[6]!==s||t[7]!==c||t[8]!==i||t[9]!==n?(p=(0,Z.jsx)(`div`,{className:`border-b border-border px-2 py-2`,children:(0,Z.jsx)(`div`,{className:`flex items-center gap-1`,children:(0,Z.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,Z.jsx)(mt,{items:i,isReady:a,onRequestIndex:o,onOpenChange:s,onSelect:c,inputRef:l},n)})})}),t[4]=a,t[5]=o,t[6]=s,t[7]=c,t[8]=i,t[9]=n,t[10]=p):p=t[10],p}function Bn(e){let t=(0,q.c)(21),{isSearchOpen:n,handleContextMenuCapture:r,rootListing:i,rows:a,rowContext:o,renderRow:s,reloadDir:c,contextNode:l,callbacks:u}=e,[d,f]=(0,K.useState)(null),p;t[0]===c?p=t[1]:(p=()=>c(``),t[0]=c,t[1]=p);let m;t[2]!==s||t[3]!==i||t[4]!==o||t[5]!==a||t[6]!==d||t[7]!==p?(m=(0,Z.jsx)(g,{className:`h-full`,viewportRef:f,children:(0,Z.jsx)(Dn,{listing:i,rows:a,rowContext:o,renderRow:s,scrollParent:d,onRetry:p})}),t[2]=s,t[3]=i,t[4]=o,t[5]=a,t[6]=d,t[7]=p,t[8]=m):m=t[8];let h;t[9]!==r||t[10]!==m?(h=(0,Z.jsx)(`div`,{className:`min-h-0 flex-1`,onContextMenuCapture:r,children:m}),t[9]=r,t[10]=m,t[11]=h):h=t[11];let _;t[12]!==n||t[13]!==h?(_=(0,Z.jsx)(te,{asChild:!0,disabled:n,children:h}),t[12]=n,t[13]=h,t[14]=_):_=t[14];let v;t[15]!==u||t[16]!==l?(v=(0,Z.jsx)(L,{children:(0,Z.jsx)(An,{node:l,callbacks:u})}),t[15]=u,t[16]=l,t[17]=v):v=t[17];let y;return t[18]!==_||t[19]!==v?(y=(0,Z.jsxs)(ie,{children:[_,v]}),t[18]=_,t[19]=v,t[20]=y):y=t[20],y}function Vn(e){let t=(0,q.c)(21),{threadId:n,explorerRefreshTick:r,pendingExplorerPath:i,expandedPaths:a,setExpandedPaths:o,setRenamingPath:s,newItemIn:c,setNewItemIn:l,setDropTargetPath:u,setContextNode:d}=e,f=(0,K.useSyncExternalStore)(kt,At,At),p;t[0]!==f||t[1]!==n?(p=It(n,f),t[0]=f,t[1]=n,t[2]=p):p=t[2];let m=p,{getDirVersion:h,reloadDir:g,ensureDirVersionsInitialized:_,removeSubtreeVersions:v}=en(n,r,a,o,i);jn(n,o,s,l,u,d),Ln(n,a,h);let y;t[3]!==m||t[4]!==h?(y=m.read(``,h(``)),t[3]=m,t[4]=h,t[5]=y):y=t[5];let b=y,x;bb0:{if(!b.entries){x=Jt;break bb0}let e;t[6]!==m||t[7]!==h?(e=e=>m.read(e,h(e)),t[6]=m,t[7]=h,t[8]=e):e=t[8];let n;t[9]!==a||t[10]!==c||t[11]!==b.entries||t[12]!==e?(n=Ct({rootEntries:b.entries,expandedPaths:a,newItemIn:c,readDir:e}),t[9]=a,t[10]=c,t[11]=b.entries,t[12]=e,t[13]=n):n=t[13],x=n}let S=x,C;return t[14]!==_||t[15]!==h||t[16]!==g||t[17]!==v||t[18]!==b||t[19]!==S?(C={getDirVersion:h,reloadDir:g,ensureDirVersionsInitialized:_,removeSubtreeVersions:v,rootListing:b,rows:S},t[14]=_,t[15]=h,t[16]=g,t[17]=v,t[18]=b,t[19]=S,t[20]=C):C=t[20],C}function Hn(e,t,n,r,i,a){let o=(0,q.c)(13),s;o[0]!==i||o[1]!==r||o[2]!==n||o[3]!==t?(s={selectedPath:t,renamingPath:n,dropTargetPath:r,callbacks:i},o[0]=i,o[1]=r,o[2]=n,o[3]=t,o[4]=s):s=o[4];let c=s,l=Un,u;if(o[5]!==e){u=new Map;for(let t of e)t.node&&u.set(t.node.path,t.node);o[5]=e,o[6]=u}else u=o[6];let d=u,f;o[7]!==d||o[8]!==a?(f=e=>{let t=(e.target?.closest?.(`[data-explorer-node-path]`))?.getAttribute(`data-explorer-node-path`)??null;a(t?d.get(t)??null:null)},o[7]=d,o[8]=a,o[9]=f):f=o[9];let p=f,m;return o[10]!==p||o[11]!==c?(m={rowContext:c,renderRow:l,handleContextMenuCapture:p},o[10]=p,o[11]=c,o[12]=m):m=o[12],m}function Un(e,t,n){return(0,Z.jsx)(Sn,{row:t,context:n})}function Wn(e){let t=(0,q.c)(50),{threadId:n,selectedPath:r,onNodeSelect:i,onFilesDrop:a,instanceId:o}=e,{explorerRefreshTick:s,pendingExplorerPath:c,setExplorerClearPath:l}=y(),{fetchUnifiedStatus:u}=D(),[d,f]=(0,K.useState)(Gn),[p,m]=(0,K.useState)(null),[h,g]=(0,K.useState)(null),[_,v]=(0,K.useState)(null),[b,x]=(0,K.useState)(null),[S,C]=(0,K.useState)(null),w;t[0]!==d||t[1]!==s||t[2]!==h||t[3]!==c||t[4]!==n?(w={threadId:n,explorerRefreshTick:s,pendingExplorerPath:c,expandedPaths:d,setExpandedPaths:f,setRenamingPath:m,newItemIn:h,setNewItemIn:g,setDropTargetPath:x,setContextNode:C},t[0]=d,t[1]=s,t[2]=h,t[3]=c,t[4]=n,t[5]=w):w=t[5];let{getDirVersion:T,reloadDir:E,ensureDirVersionsInitialized:O,removeSubtreeVersions:k,rootListing:A,rows:j}=Vn(w);Nn(n,A,j,T);let{searchableItems:M,isSearchCacheReady:N,isSearchOpen:P,onSearchIndexRequest:F,onSearchOpenChange:ee,invalidateSearchIndex:I}=on(n);Rn(s,I);let L;t[6]!==O||t[7]!==d||t[8]!==u||t[9]!==I||t[10]!==h||t[11]!==a||t[12]!==i||t[13]!==E||t[14]!==k||t[15]!==p||t[16]!==l||t[17]!==n||t[18]!==_?(L={threadId:n,onNodeSelect:i,onFilesDrop:a,expandedPaths:d,setExpandedPaths:f,renamingPath:p,setRenamingPath:m,newItemIn:h,setNewItemIn:g,trashTarget:_,setTrashTarget:v,setDropTargetPath:x,reloadDir:E,ensureDirVersionsInitialized:O,removeSubtreeVersions:k,setExplorerClearPath:l,fetchUnifiedStatus:u,handleExplorerMutation:I},t[6]=O,t[7]=d,t[8]=u,t[9]=I,t[10]=h,t[11]=a,t[12]=i,t[13]=E,t[14]=k,t[15]=p,t[16]=l,t[17]=n,t[18]=_,t[19]=L):L=t[19];let{callbacks:R,handleConfirmTrash:te,handleSearchSelect:z}=Kt(L),{rowContext:ne,renderRow:re,handleContextMenuCapture:B}=Hn(j,r,p,b,R,C),ie;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(ie=()=>v(null),t[20]=ie):ie=t[20];let V;t[21]===te?V=t[22]:(V=()=>void te(),t[21]=te,t[22]=V);let H;t[23]!==V||t[24]!==_?(H=(0,Z.jsx)(Tn,{trashTarget:_,onDismiss:ie,onConfirm:V}),t[23]=V,t[24]=_,t[25]=H):H=t[25];let U;t[26]!==z||t[27]!==o||t[28]!==N||t[29]!==F||t[30]!==ee||t[31]!==M||t[32]!==n?(U=(0,Z.jsx)(zn,{threadId:n,instanceId:o,searchableItems:M,isSearchCacheReady:N,onSearchIndexRequest:F,onSearchOpenChange:ee,onSearchSelect:z}),t[26]=z,t[27]=o,t[28]=N,t[29]=F,t[30]=ee,t[31]=M,t[32]=n,t[33]=U):U=t[33];let W;t[34]!==R||t[35]!==S||t[36]!==B||t[37]!==P||t[38]!==E||t[39]!==re||t[40]!==A||t[41]!==ne||t[42]!==j?(W=(0,Z.jsx)(Bn,{isSearchOpen:P,handleContextMenuCapture:B,rootListing:A,rows:j,rowContext:ne,renderRow:re,reloadDir:E,contextNode:S,callbacks:R}),t[34]=R,t[35]=S,t[36]=B,t[37]=P,t[38]=E,t[39]=re,t[40]=A,t[41]=ne,t[42]=j,t[43]=W):W=t[43];let G;t[44]!==U||t[45]!==W?(G=(0,Z.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[U,W]}),t[44]=U,t[45]=W,t[46]=G):G=t[46];let ae;return t[47]!==H||t[48]!==G?(ae=(0,Z.jsxs)(Z.Fragment,{children:[H,G]}),t[47]=H,t[48]=G,t[49]=ae):ae=t[49],ae}function Gn(){return new Set}export{Wn as default};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/explorer-monaco-editor-
|
|
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{
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/explorer-monaco-editor-ChJZBFy5.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/react-vendor-D61Uve5n.js","assets/dist-v_MvKS2-.js","assets/monaco-setup-B4buJsSY.js","assets/monaco-CWuJkPco.js","assets/monaco-BQve5vfS.css"])))=>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{U as a,x as o}from"./dist-v_MvKS2-.js";import{r as s}from"./store-W78TGOIO.js";import{di as c,ut as l}from"./api-Cp9I7CxD.js";import{t as u}from"./markdown-renderer-DQONI6WG.js";import{a as d,i as f}from"./explorer-media-CRzhs0NW.js";import{t as p}from"./utils-CqsIXqSC.js";import{t as m}from"./check-skFQ1X72.js";import{t as h}from"./copy-bi9iX3xn.js";import{t as g}from"./loader-circle-CrqRIqdA.js";import{t as _}from"./plus-DoMzejDu.js";import{t as v}from"./button-DDaJhJP1.js";import{t as y}from"./use-toast-CKgZ8YeP.js";import{n as b}from"./explorer-tab-context-BwR8CM8l.js";import{t as x}from"./progress-indicator-hJ74ac5W.js";import{n as S}from"./suspense-resource-DzlMlIgR.js";import{t as C}from"./use-suspense-resource-uCX26gOk.js";import{a as w,c as T,d as E,i as D,l as O,s as k,t as A}from"./api-8Rp2LlXt.js";import{C as ee,Hn as j,Xt as M,dr as te,fr as N,in as ne,pr as P,qn as F,rn as I,tn as L,un as re}from"./index-CcAwxnT5.js";import{t as R}from"./async-error-boundary-CFVUPiuG.js";var z=e(n(),1),B=t(),ie=o(`explorer.preview`);async function V(e,t){try{let n=await k(e,``),r=new Set(n.entries.map(e=>e.name)),i=`untitled`,a=`${i}.${t}`,o=2;for(;r.has(a);)a=`${i}${o}.${t}`,o++;return a}catch{return`untitled.${t}`}}function H(e){return d(e)===`md`}function U(e){return{ts:`typescript`,tsx:`typescript`,js:`javascript`,jsx:`javascript`,json:`json`,md:`markdown`,mdc:`markdown`,css:`css`,scss:`scss`,html:`html`,py:`python`,sh:`shell`,yaml:`yaml`,yml:`yaml`,xml:`xml`,sql:`sql`}[d(e)]??`plaintext`}function W(e,t){return`explorer-file:${e}:${t}`}function G(e,t,n){ie.error(e,{...t,error:n})}function K(e,t){return`explorer-media:${e}:${t}`}async function q(e,t){try{return await w(e,t)}catch(n){throw G(`Failed to load explorer file preview`,{threadId:e,path:t},n),n}}async function J(e,t){try{return await D(e,t)}catch(n){throw G(`Failed to load explorer media preview`,{threadId:e,path:t},n),n}}function Y(e,t){return t?`edit`:H(e.path)?`view`:`edit`}function ae(e,t,n,r){let i=t?f(t.path,t.name):null,a=t?.type===`file`&&e&&!i?t:null,o=a?`${e}:${a.path}:${r}`:null,s=n&&n.key===o?n:null;return{selectedMediaType:i,editableFile:a,fileSuspenseKey:o,currentContent:s,fileContent:s?.content??``,originalFileContent:s?.original??``}}function oe(){let e=document.querySelector(`[data-markdown-print-content]`);return e instanceof HTMLElement?e:null}function se(e,t){return`<!doctype html>
|
|
3
3
|
<html>
|
|
4
4
|
<head>
|
|
5
5
|
<meta charset="utf-8" />
|
|
@@ -73,4 +73,4 @@ import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,o as n,r,t as i
|
|
|
73
73
|
}, { once: true });
|
|
74
74
|
<\/script>
|
|
75
75
|
</body>
|
|
76
|
-
</html>`}function ce(e,t){let n=window.open(``,`_blank`,`noopener,noreferrer`);return n?(n.document.open(),n.document.write(se(e,t)),n.document.close(),!0):!1}function le(e){if(typeof window>`u`)return;let t=oe();if(!t){x({title:`Print unavailable`,description:`Couldn't find the markdown preview to print.`,variant:`destructive`});return}ce(e.name??`Markdown document`,t.innerHTML)||x({title:`Print blocked`,description:`Allow pop-ups to print this file.`,variant:`destructive`})}async function ue(e,t){let n=await T(e,t.path);x({title:`PDF created`,description:`Opened ${n.outputPath.split(/[\\/]/).pop()??`the PDF`} in your default app.`})}async function de(e,t){try{if(!c()){le(t);return}await ue(e,t)}catch(n){G(`Failed to print markdown file as PDF`,{threadId:e,path:t.path},n),x({title:`PDF export failed`,description:n instanceof Error?n.message:`Failed to convert this markdown file to PDF.`,variant:`destructive`})}}async function fe(e,t){try{let n=await V(e,t);return await k(e,``,n),x({title:`Created`,description:`${n} created successfully.`}),n}catch(n){return G(`Failed to create explorer file`,{threadId:e,extension:t},n),x({title:`Error`,description:`Failed to create file.`,variant:`destructive`}),null}}async function pe(e,t){try{await navigator.clipboard.writeText(t),x({title:`Copied`,description:`Repository folder path copied to clipboard.`})}catch(n){G(`Failed to copy explorer folder path`,{threadId:e,folderPath:t},n),x({title:`Error`,description:`Failed to copy path to clipboard.`,variant:`destructive`})}}async function me(e,t){try{await O(e,`.`)}catch(n){G(`Failed to open explorer repository folder`,{threadId:e,folderPath:t},n),x({title:`Error`,description:`Failed to open repository folder.`,variant:`destructive`})}}async function he(e){try{await A(e.threadId,e.file.path,e.content),e.onSaved({key:e.suspenseKey,content:e.content,original:e.content}),x({title:`Saved`,description:`${e.file.name} saved successfully.`})}catch(t){G(`Failed to save explorer file`,{threadId:e.threadId,path:e.file.path},t),x({title:`Error`,description:t instanceof Error?t.message:`Failed to save file`,variant:`destructive`})}}function ge(e){let t=(0,B.c)(11),{threadId:n,path:r,contentKey:i,onContentReady:a}=e,o;t[0]!==r||t[1]!==n?(o=W(n,r),t[0]=r,t[1]=n,t[2]=o):o=t[2];let s;t[3]!==r||t[4]!==n?(s=()=>q(n,r),t[3]=r,t[4]=n,t[5]=s):s=t[5];let c=C(o,s),l,u;return t[6]!==i||t[7]!==a||t[8]!==c.content?(l=()=>{a({key:i,content:c.content,original:c.content})},u=[a,c.content,i],t[6]=i,t[7]=a,t[8]=c.content,t[9]=l,t[10]=u):(l=t[9],u=t[10]),(0,z.useLayoutEffect)(l,u),null}var X=i(),_e=(0,z.lazy)(function(){return r(()=>import(`./explorer-monaco-editor-Bgo9Y1cP.js`),__vite__mapDeps([0,1,2,3,4,5,6]))});function ve(e){let t=(0,B.c)(21),{threadId:n,file:r,suspenseKey:i,hasLoadedContent:a,fileContent:o,markdownMode:s,resolvedTheme:c,autoFocusEditor:l,onContentChange:d,onEditorReady:f,onRetry:p}=e,m=i??void 0,h;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,X.jsx)(b,{centered:!0,label:`Loading file contents...`}),t[0]=h):h=t[0];let g=i??void 0,_=i??``,v;t[1]!==r.path||t[2]!==d||t[3]!==g||t[4]!==_||t[5]!==n?(v=(0,X.jsx)(z.Suspense,{fallback:h,children:(0,X.jsx)(ge,{threadId:n,path:r.path,contentKey:_,onContentReady:d},g)}),t[1]=r.path,t[2]=d,t[3]=g,t[4]=_,t[5]=n,t[6]=v):v=t[6];let y;t[7]!==l||t[8]!==r.path||t[9]!==o||t[10]!==a||t[11]!==s||t[12]!==d||t[13]!==f||t[14]!==c?(y=a?H(r.path)&&s===`view`?(0,X.jsx)(`div`,{className:`h-full overflow-auto p-6 print:h-auto print:overflow-visible print:p-0`,children:(0,X.jsx)(`div`,{className:`mx-auto max-w-4xl print:max-w-none`,"data-markdown-print-content":!0,children:(0,X.jsx)(u,{content:o,enableMermaid:!0})})}):(0,X.jsx)(z.Suspense,{fallback:(0,X.jsx)(b,{centered:!0,label:`Loading editor...`}),children:(0,X.jsx)(_e,{language:U(r.path),value:o,theme:c===`dark`?`vs-dark`:`vs-light`,autoFocus:l,onReady:f,onChange:e=>d(t=>t&&{...t,content:e??``})})}):(0,X.jsx)(b,{centered:!0,label:`Loading file contents...`}),t[7]=l,t[8]=r.path,t[9]=o,t[10]=a,t[11]=s,t[12]=d,t[13]=f,t[14]=c,t[15]=y):y=t[15];let x;return t[16]!==p||t[17]!==m||t[18]!==v||t[19]!==y?(x=(0,X.jsxs)(R,{fallbackTitle:`Failed to load file`,onRetry:p,children:[v,y]},m),t[16]=p,t[17]=m,t[18]=v,t[19]=y,t[20]=x):x=t[20],x}function Z(){let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,X.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full gap-3 text-center p-8`,children:[(0,X.jsx)(`h2`,{className:p(a.pageTitle,`text-foreground`),children:`File Explorer`}),(0,X.jsx)(`p`,{className:p(a.pageSubtitle),children:`Browse and edit files`})]}),e[0]=t):t=e[0],t}function Q(e,t){let n=(0,B.c)(11),r;n[0]!==t||n[1]!==e?(r=K(e,t),n[0]=t,n[1]=e,n[2]=r):r=n[2];let i;n[3]!==t||n[4]!==e?(i=()=>J(e,t),n[3]=t,n[4]=e,n[5]=i):i=n[5];let a=C(r,i),o;n[6]===a?o=n[7]:(o=URL.createObjectURL(a),n[6]=a,n[7]=o);let s=o,c,l;return n[8]===s?(c=n[9],l=n[10]):(c=()=>()=>{URL.revokeObjectURL(s)},l=[s],n[8]=s,n[9]=c,n[10]=l),(0,z.useEffect)(c,l),s}function ye(e){let t=(0,B.c)(3),{threadId:n,path:r,alt:i}=e,a=Q(n,r),o;return t[0]!==i||t[1]!==a?(o=(0,X.jsx)(`div`,{className:`flex items-center justify-center h-full p-4 overflow-auto`,children:(0,X.jsx)(`img`,{src:a,alt:i,className:`max-w-full max-h-full object-contain`})}),t[0]=i,t[1]=a,t[2]=o):o=t[2],o}function be(e){let t=(0,B.c)(2),{threadId:n,path:r}=e,i=Q(n,r),a;return t[0]===i?a=t[1]:(a=(0,X.jsx)(`div`,{className:`flex items-center justify-center h-full p-4`,children:(0,X.jsx)(`video`,{src:i,controls:!0,className:`max-w-full max-h-full`})}),t[0]=i,t[1]=a),a}function $(e){let t=(0,B.c)(18),{mediaType:n,threadId:r,file:i}=e,a=n===`image`?`Failed to load image`:`Failed to load video`,o;t[0]!==i.path||t[1]!==r?(o=()=>{S(K(r,i.path))},t[0]=i.path,t[1]=r,t[2]=o):o=t[2];let s=`Loading ${n} preview...`,c;t[3]===s?c=t[4]:(c=(0,X.jsx)(b,{centered:!0,label:s}),t[3]=s,t[4]=c);let l;t[5]!==i.name||t[6]!==i.path||t[7]!==n||t[8]!==r?(l=n===`image`?(0,X.jsx)(ye,{threadId:r,path:i.path,alt:i.name}):(0,X.jsx)(be,{threadId:r,path:i.path}),t[5]=i.name,t[6]=i.path,t[7]=n,t[8]=r,t[9]=l):l=t[9];let u;t[10]!==c||t[11]!==l?(u=(0,X.jsx)(z.Suspense,{fallback:c,children:l}),t[10]=c,t[11]=l,t[12]=u):u=t[12];let d;return t[13]!==i.path||t[14]!==a||t[15]!==o||t[16]!==u?(d=(0,X.jsx)(R,{fallbackTitle:a,onRetry:o,children:u},i.path),t[13]=i.path,t[14]=a,t[15]=o,t[16]=u,t[17]=d):d=t[17],d}function xe(e){let t=(0,B.c)(19);if(e.editableFile){let n;return t[0]!==e.autoFocusEditor||t[1]!==e.editableFile||t[2]!==e.fileContent||t[3]!==e.fileSuspenseKey||t[4]!==e.hasLoadedContent||t[5]!==e.markdownMode||t[6]!==e.onContentChange||t[7]!==e.onEditorReady||t[8]!==e.onFileLoadRetry||t[9]!==e.resolvedTheme||t[10]!==e.threadId?(n=(0,X.jsx)(ve,{threadId:e.threadId,file:e.editableFile,suspenseKey:e.fileSuspenseKey,hasLoadedContent:e.hasLoadedContent,fileContent:e.fileContent,markdownMode:e.markdownMode,resolvedTheme:e.resolvedTheme,autoFocusEditor:e.autoFocusEditor,onContentChange:e.onContentChange,onEditorReady:e.onEditorReady,onRetry:e.onFileLoadRetry}),t[0]=e.autoFocusEditor,t[1]=e.editableFile,t[2]=e.fileContent,t[3]=e.fileSuspenseKey,t[4]=e.hasLoadedContent,t[5]=e.markdownMode,t[6]=e.onContentChange,t[7]=e.onEditorReady,t[8]=e.onFileLoadRetry,t[9]=e.resolvedTheme,t[10]=e.threadId,t[11]=n):n=t[11],n}if(e.selectedFile?.type===`file`&&e.selectedMediaType===`image`){let n;return t[12]!==e.selectedFile||t[13]!==e.threadId?(n=(0,X.jsx)($,{mediaType:`image`,threadId:e.threadId,file:e.selectedFile}),t[12]=e.selectedFile,t[13]=e.threadId,t[14]=n):n=t[14],n}if(e.selectedFile?.type===`file`&&e.selectedMediaType===`video`){let n;return t[15]!==e.selectedFile||t[16]!==e.threadId?(n=(0,X.jsx)($,{mediaType:`video`,threadId:e.threadId,file:e.selectedFile}),t[15]=e.selectedFile,t[16]=e.threadId,t[17]=n):n=t[17],n}let n;return t[18]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,X.jsx)(Z,{}),t[18]=n):n=t[18],n}function Se(e){let t=(0,B.c)(5),{folderPath:n,copying:r,onOpen:i,onCopy:o}=e,s;return t[0]!==r||t[1]!==n||t[2]!==o||t[3]!==i?(s=(0,X.jsx)(`div`,{className:`flex shrink-0 items-center gap-2 px-4 py-2`,children:n?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`button`,{type:`button`,onClick:i,className:p(a.compact,`min-w-0 flex-1 truncate text-left font-mono text-muted-foreground hover:text-foreground hover:underline`),title:n,children:n}),(0,X.jsxs)(v,{variant:`ghost`,size:`icon`,className:`h-7 w-7 shrink-0`,onClick:o,disabled:r,children:[r?(0,X.jsx)(m,{className:`h-3.5 w-3.5`}):(0,X.jsx)(h,{className:`h-3.5 w-3.5`}),(0,X.jsx)(`span`,{className:`sr-only`,children:`Copy path`})]})]}):(0,X.jsx)(`p`,{className:p(a.compact,`text-muted-foreground/50 italic`),children:`Loading path...`})}),t[0]=r,t[1]=n,t[2]=o,t[3]=i,t[4]=s):s=t[4],s}function Ce(e){let t=(0,B.c)(12),{path:n,markdownMode:r,onMarkdownModeChange:i,printing:a,onPrint:o}=e,s;t[0]!==r||t[1]!==o||t[2]!==n||t[3]!==a?(s=H(n)&&r===`view`?(0,X.jsxs)(v,{size:`sm`,variant:`outline`,onClick:o,disabled:a,children:[a?(0,X.jsx)(g,{className:`h-4 w-4 animate-spin`}):(0,X.jsx)(te,{className:`h-4 w-4`}),a?`Printing…`:`Print`]}):null,t[0]=r,t[1]=o,t[2]=n,t[3]=a,t[4]=s):s=t[4];let c;t[5]!==r||t[6]!==i||t[7]!==n?(c=H(n)?(0,X.jsxs)(`div`,{className:`flex rounded-full border border-input bg-background p-0.5`,children:[(0,X.jsx)(v,{size:`sm`,variant:r===`view`?`secondary`:`ghost`,className:`h-7 px-3`,onClick:()=>i(`view`),children:`View`}),(0,X.jsx)(v,{size:`sm`,variant:r===`edit`?`secondary`:`ghost`,className:`h-7 px-3`,onClick:()=>i(`edit`),children:`Edit`})]}):null,t[5]=r,t[6]=i,t[7]=n,t[8]=c):c=t[8];let l;return t[9]!==s||t[10]!==c?(l=(0,X.jsxs)(X.Fragment,{children:[s,c]}),t[9]=s,t[10]=c,t[11]=l):l=t[11],l}var we=[{label:`Markdown`,ext:`md`,icon:L},{label:`TypeScript`,ext:`ts`,icon:M},{label:`Text`,ext:`txt`,icon:ne}];function Te(e){let t=(0,B.c)(16),{selectedFile:n,editableFile:r,hasLoadedContent:i}=e,a;t[0]!==r||t[1]!==i||t[2]!==e.canSave||t[3]!==e.markdownMode||t[4]!==e.onMarkdownModeChange||t[5]!==e.onPrint||t[6]!==e.onSave||t[7]!==e.printing||t[8]!==e.saving?(a=r&&i?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(Ce,{path:r.path,markdownMode:e.markdownMode,onMarkdownModeChange:e.onMarkdownModeChange,printing:e.printing,onPrint:e.onPrint}),(0,X.jsxs)(v,{size:`sm`,onClick:e.onSave,disabled:e.saving||!e.canSave,children:[e.saving?(0,X.jsx)(g,{className:`h-4 w-4 animate-spin`}):null,`Save`]})]}):null,t[0]=r,t[1]=i,t[2]=e.canSave,t[3]=e.markdownMode,t[4]=e.onMarkdownModeChange,t[5]=e.onPrint,t[6]=e.onSave,t[7]=e.printing,t[8]=e.saving,t[9]=a):a=t[9];let o;t[10]!==e||t[11]!==n?(o=n?null:(0,X.jsxs)(I,{children:[(0,X.jsx)(j,{asChild:!0,children:(0,X.jsxs)(v,{size:`sm`,className:`gap-1.5`,children:[(0,X.jsx)(_,{className:`h-3.5 w-3.5`}),`New file`]})}),(0,X.jsx)(P,{align:`end`,children:we.map(t=>{let{label:n,ext:r,icon:i}=t;return(0,X.jsxs)(N,{onSelect:()=>e.onNewFile(r),children:[(0,X.jsx)(i,{className:`h-4 w-4`}),n]},r)})})]}),t[10]=e,t[11]=n,t[12]=o):o=t[12];let s;return t[13]!==a||t[14]!==o?(s=(0,X.jsxs)(X.Fragment,{children:[a,o]}),t[13]=a,t[14]=o,t[15]=s):s=t[15],s}function Ee(e){let t=(0,B.c)(15),{selectedFile:n,showBackButton:r,onShowTree:i}=e,o;t[0]!==i||t[1]!==r?(o=r&&i?(0,X.jsxs)(v,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0 text-muted-foreground electrobun-webkit-app-region-no-drag`,onClick:i,children:[(0,X.jsx)(re,{className:`h-4 w-4`}),(0,X.jsx)(`span`,{className:`sr-only`,children:`Show file tree`})]}):null,t[0]=i,t[1]=r,t[2]=o):o=t[2];let s;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(s=p(a.label,`truncate leading-normal text-foreground`),t[3]=s):s=t[3];let c=n?n.name:`Select a file to edit`,l;t[4]===c?l=t[5]:(l=(0,X.jsx)(`span`,{className:s,children:c}),t[4]=c,t[5]=l);let u;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=p(a.compact,`truncate text-muted-foreground`),t[6]=u):u=t[6];let d=n?n.path:`Browse and edit repository files`,f;t[7]===d?f=t[8]:(f=(0,X.jsx)(`span`,{className:u,children:d}),t[7]=d,t[8]=f);let m;t[9]!==l||t[10]!==f?(m=(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[l,f]}),t[9]=l,t[10]=f,t[11]=m):m=t[11];let h;return t[12]!==o||t[13]!==m?(h=(0,X.jsxs)(`div`,{className:`flex min-w-0 items-start gap-2`,children:[o,m]}),t[12]=o,t[13]=m,t[14]=h):h=t[14],h}function De(e){let{resolvedTheme:t}=ee(),n=s(e=>e.selectedThreadId),{triggerExplorerRefresh:r}=y(),i=(0,z.useRef)(null),[a,o]=(0,z.useState)(!1),[c,u]=(0,z.useState)(null),[d,f]=(0,z.useState)(!1),[p,m]=(0,z.useState)(!1),[h,g]=(0,z.useState)(`edit`),[_,v]=(0,z.useState)(0),[b,x]=(0,z.useState)(null),[C,w]=(0,z.useState)(!1),T=e.selectedFile?.path??null;(0,z.useEffect)(()=>{n&&l(n).then(x).catch(()=>{})},[n]);async function E(){if(b&&!C){w(!0);try{await pe(n,b)}finally{w(!1)}}}let D=(0,z.useCallback)(async t=>{if(!n)return;let a=await fe(n,t);if(!a)return;let s={name:a,path:a,type:`file`};i.current=a,o(!0),e.onFileCreated?.(s),r()},[n,e.onFileCreated,r]),O=ae(n,e.selectedFile,c,_);(0,z.useEffect)(()=>{if(e.selectedFile?.type===`file`){let t=i.current===e.selectedFile.path;t&&(i.current=null),g(Y(e.selectedFile,t))}else g(`edit`)},[T,n]);async function k(){if(n&&e.selectedFile&&O.fileSuspenseKey){f(!0);try{await he({threadId:n,file:e.selectedFile,suspenseKey:O.fileSuspenseKey,content:O.fileContent,onSaved:u})}finally{f(!1)}}}async function A(){if(n&&e.selectedFile&&!p){m(!0);try{await de(n,e.selectedFile)}finally{m(!1)}}}function j(){o(!1)}function M(){n&&O.editableFile&&(S(W(n,O.editableFile.path)),v(e=>e+1))}return{resolvedTheme:t,threadId:n,autoFocusEditor:a,saving:d,printing:p,markdownMode:h,setMarkdownMode:g,folderPath:b,copying:C,setFileContentState:u,presentation:O,handleCopyFolderPath:E,handleNewFile:D,handleSave:k,handlePrintMarkdown:A,handleEditorReady:j,handleFileLoadRetry:M,openRepositoryFolder:()=>{n&&me(n,b)}}}function Oe(e){let t=(0,B.c)(49),{selectedFile:n,showTreeBackButton:r,onShowTree:i,onFileCreated:o}=e,s=r!==void 0&&r,c;t[0]!==o||t[1]!==n?(c={selectedFile:n,onFileCreated:o},t[0]=o,t[1]=n,t[2]=c):c=t[2];let l=De(c);if(!l.threadId){let e;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,X.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full gap-3 text-center`,children:[(0,X.jsx)(L,{className:`h-8 w-8 text-muted-foreground`}),(0,X.jsx)(`p`,{className:a.bodyMuted,children:`Select a thread to browse its files`})]}),t[3]=e):e=t[3],e}let u;t[4]!==i||t[5]!==n||t[6]!==s?(u=(0,X.jsx)(Ee,{selectedFile:n,showBackButton:s,onShowTree:i}),t[4]=i,t[5]=n,t[6]=s,t[7]=u):u=t[7];let d=l.presentation.currentContent!==null,f;t[8]===l?f=t[9]:(f=()=>void l.handlePrintMarkdown(),t[8]=l,t[9]=f);let p=l.presentation.fileContent!==``&&l.presentation.fileContent!==l.presentation.originalFileContent,m,h;t[10]===l?(m=t[11],h=t[12]):(m=()=>void l.handleSave(),h=e=>void l.handleNewFile(e),t[10]=l,t[11]=m,t[12]=h);let g;t[13]!==l.markdownMode||t[14]!==l.presentation.editableFile||t[15]!==l.printing||t[16]!==l.saving||t[17]!==l.setMarkdownMode||t[18]!==n||t[19]!==d||t[20]!==f||t[21]!==p||t[22]!==m||t[23]!==h?(g=(0,X.jsx)(`div`,{className:`flex gap-2`,children:(0,X.jsx)(Te,{selectedFile:n,editableFile:l.presentation.editableFile,hasLoadedContent:d,markdownMode:l.markdownMode,onMarkdownModeChange:l.setMarkdownMode,printing:l.printing,onPrint:f,saving:l.saving,canSave:p,onSave:m,onNewFile:h})}),t[13]=l.markdownMode,t[14]=l.presentation.editableFile,t[15]=l.printing,t[16]=l.saving,t[17]=l.setMarkdownMode,t[18]=n,t[19]=d,t[20]=f,t[21]=p,t[22]=m,t[23]=h,t[24]=g):g=t[24];let _;t[25]!==u||t[26]!==g?(_=(0,X.jsxs)(F,{className:`justify-between print:hidden`,children:[u,g]}),t[25]=u,t[26]=g,t[27]=_):_=t[27];let v=l.presentation.currentContent!==null,y;t[28]!==l.autoFocusEditor||t[29]!==l.handleEditorReady||t[30]!==l.handleFileLoadRetry||t[31]!==l.markdownMode||t[32]!==l.presentation.editableFile||t[33]!==l.presentation.fileContent||t[34]!==l.presentation.fileSuspenseKey||t[35]!==l.presentation.selectedMediaType||t[36]!==l.resolvedTheme||t[37]!==l.setFileContentState||t[38]!==l.threadId||t[39]!==n||t[40]!==v?(y=(0,X.jsx)(`div`,{className:`flex-1 overflow-hidden print:overflow-visible print:flex-none`,children:(0,X.jsx)(`div`,{className:`h-full relative overflow-hidden print:h-auto print:overflow-visible`,children:(0,X.jsx)(xe,{threadId:l.threadId,selectedFile:n,selectedMediaType:l.presentation.selectedMediaType,editableFile:l.presentation.editableFile,fileSuspenseKey:l.presentation.fileSuspenseKey,hasLoadedContent:v,fileContent:l.presentation.fileContent,markdownMode:l.markdownMode,resolvedTheme:l.resolvedTheme,autoFocusEditor:l.autoFocusEditor,onContentChange:l.setFileContentState,onEditorReady:l.handleEditorReady,onFileLoadRetry:l.handleFileLoadRetry})})}),t[28]=l.autoFocusEditor,t[29]=l.handleEditorReady,t[30]=l.handleFileLoadRetry,t[31]=l.markdownMode,t[32]=l.presentation.editableFile,t[33]=l.presentation.fileContent,t[34]=l.presentation.fileSuspenseKey,t[35]=l.presentation.selectedMediaType,t[36]=l.resolvedTheme,t[37]=l.setFileContentState,t[38]=l.threadId,t[39]=n,t[40]=v,t[41]=y):y=t[41];let b;t[42]!==l||t[43]!==n?(b=n?null:(0,X.jsx)(Se,{folderPath:l.folderPath,copying:l.copying,onOpen:l.openRepositoryFolder,onCopy:()=>void l.handleCopyFolderPath()}),t[42]=l,t[43]=n,t[44]=b):b=t[44];let x;return t[45]!==_||t[46]!==y||t[47]!==b?(x=(0,X.jsxs)(`div`,{className:`explorer-view-root flex flex-col h-full print:block print:h-auto`,children:[_,y,b]}),t[45]=_,t[46]=y,t[47]=b,t[48]=x):x=t[48],x}export{Oe as default};
|
|
76
|
+
</html>`}function ce(e,t){let n=window.open(``,`_blank`,`noopener,noreferrer`);return n?(n.document.open(),n.document.write(se(e,t)),n.document.close(),!0):!1}function le(e){if(typeof window>`u`)return;let t=oe();if(!t){y({title:`Print unavailable`,description:`Couldn't find the markdown preview to print.`,variant:`destructive`});return}ce(e.name??`Markdown document`,t.innerHTML)||y({title:`Print blocked`,description:`Allow pop-ups to print this file.`,variant:`destructive`})}async function ue(e,t){let n=await O(e,t.path);y({title:`PDF created`,description:`Opened ${n.outputPath.split(/[\\/]/).pop()??`the PDF`} in your default app.`})}async function de(e,t){try{if(!c()){le(t);return}await ue(e,t)}catch(n){G(`Failed to print markdown file as PDF`,{threadId:e,path:t.path},n),y({title:`PDF export failed`,description:n instanceof Error?n.message:`Failed to convert this markdown file to PDF.`,variant:`destructive`})}}async function fe(e,t){try{let n=await V(e,t);return await A(e,``,n),y({title:`Created`,description:`${n} created successfully.`}),n}catch(n){return G(`Failed to create explorer file`,{threadId:e,extension:t},n),y({title:`Error`,description:`Failed to create file.`,variant:`destructive`}),null}}async function pe(e,t){try{await navigator.clipboard.writeText(t),y({title:`Copied`,description:`Repository folder path copied to clipboard.`})}catch(n){G(`Failed to copy explorer folder path`,{threadId:e,folderPath:t},n),y({title:`Error`,description:`Failed to copy path to clipboard.`,variant:`destructive`})}}async function me(e,t){try{await T(e,`.`)}catch(n){G(`Failed to open explorer repository folder`,{threadId:e,folderPath:t},n),y({title:`Error`,description:`Failed to open repository folder.`,variant:`destructive`})}}async function he(e){try{await E(e.threadId,e.file.path,e.content),e.onSaved({key:e.suspenseKey,content:e.content,original:e.content}),y({title:`Saved`,description:`${e.file.name} saved successfully.`})}catch(t){G(`Failed to save explorer file`,{threadId:e.threadId,path:e.file.path},t),y({title:`Error`,description:t instanceof Error?t.message:`Failed to save file`,variant:`destructive`})}}function ge(e){let t=(0,B.c)(11),{threadId:n,path:r,contentKey:i,onContentReady:a}=e,o;t[0]!==r||t[1]!==n?(o=W(n,r),t[0]=r,t[1]=n,t[2]=o):o=t[2];let s;t[3]!==r||t[4]!==n?(s=()=>q(n,r),t[3]=r,t[4]=n,t[5]=s):s=t[5];let c=C(o,s),l,u;return t[6]!==i||t[7]!==a||t[8]!==c.content?(l=()=>{a({key:i,content:c.content,original:c.content})},u=[a,c.content,i],t[6]=i,t[7]=a,t[8]=c.content,t[9]=l,t[10]=u):(l=t[9],u=t[10]),(0,z.useLayoutEffect)(l,u),null}var X=i(),_e=(0,z.lazy)(function(){return r(()=>import(`./explorer-monaco-editor-ChJZBFy5.js`),__vite__mapDeps([0,1,2,3,4,5,6]))});function ve(e){let t=(0,B.c)(21),{threadId:n,file:r,suspenseKey:i,hasLoadedContent:a,fileContent:o,markdownMode:s,resolvedTheme:c,autoFocusEditor:l,onContentChange:d,onEditorReady:f,onRetry:p}=e,m=i??void 0,h;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,X.jsx)(x,{centered:!0,label:`Loading file contents...`}),t[0]=h):h=t[0];let g=i??void 0,_=i??``,v;t[1]!==r.path||t[2]!==d||t[3]!==g||t[4]!==_||t[5]!==n?(v=(0,X.jsx)(z.Suspense,{fallback:h,children:(0,X.jsx)(ge,{threadId:n,path:r.path,contentKey:_,onContentReady:d},g)}),t[1]=r.path,t[2]=d,t[3]=g,t[4]=_,t[5]=n,t[6]=v):v=t[6];let y;t[7]!==l||t[8]!==r.path||t[9]!==o||t[10]!==a||t[11]!==s||t[12]!==d||t[13]!==f||t[14]!==c?(y=a?H(r.path)&&s===`view`?(0,X.jsx)(`div`,{className:`h-full overflow-auto p-6 print:h-auto print:overflow-visible print:p-0`,children:(0,X.jsx)(`div`,{className:`mx-auto max-w-4xl print:max-w-none`,"data-markdown-print-content":!0,children:(0,X.jsx)(u,{content:o,enableMermaid:!0})})}):(0,X.jsx)(z.Suspense,{fallback:(0,X.jsx)(x,{centered:!0,label:`Loading editor...`}),children:(0,X.jsx)(_e,{language:U(r.path),value:o,theme:c===`dark`?`vs-dark`:`vs-light`,autoFocus:l,onReady:f,onChange:e=>d(t=>t&&{...t,content:e??``})})}):(0,X.jsx)(x,{centered:!0,label:`Loading file contents...`}),t[7]=l,t[8]=r.path,t[9]=o,t[10]=a,t[11]=s,t[12]=d,t[13]=f,t[14]=c,t[15]=y):y=t[15];let b;return t[16]!==p||t[17]!==m||t[18]!==v||t[19]!==y?(b=(0,X.jsxs)(R,{fallbackTitle:`Failed to load file`,onRetry:p,children:[v,y]},m),t[16]=p,t[17]=m,t[18]=v,t[19]=y,t[20]=b):b=t[20],b}function Z(){let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,X.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full gap-3 text-center p-8`,children:[(0,X.jsx)(`h2`,{className:p(a.pageTitle,`text-foreground`),children:`File Explorer`}),(0,X.jsx)(`p`,{className:p(a.pageSubtitle),children:`Browse and edit files`})]}),e[0]=t):t=e[0],t}function Q(e,t){let n=(0,B.c)(11),r;n[0]!==t||n[1]!==e?(r=K(e,t),n[0]=t,n[1]=e,n[2]=r):r=n[2];let i;n[3]!==t||n[4]!==e?(i=()=>J(e,t),n[3]=t,n[4]=e,n[5]=i):i=n[5];let a=C(r,i),o;n[6]===a?o=n[7]:(o=URL.createObjectURL(a),n[6]=a,n[7]=o);let s=o,c,l;return n[8]===s?(c=n[9],l=n[10]):(c=()=>()=>{URL.revokeObjectURL(s)},l=[s],n[8]=s,n[9]=c,n[10]=l),(0,z.useEffect)(c,l),s}function ye(e){let t=(0,B.c)(3),{threadId:n,path:r,alt:i}=e,a=Q(n,r),o;return t[0]!==i||t[1]!==a?(o=(0,X.jsx)(`div`,{className:`flex items-center justify-center h-full p-4 overflow-auto`,children:(0,X.jsx)(`img`,{src:a,alt:i,className:`max-w-full max-h-full object-contain`})}),t[0]=i,t[1]=a,t[2]=o):o=t[2],o}function be(e){let t=(0,B.c)(2),{threadId:n,path:r}=e,i=Q(n,r),a;return t[0]===i?a=t[1]:(a=(0,X.jsx)(`div`,{className:`flex items-center justify-center h-full p-4`,children:(0,X.jsx)(`video`,{src:i,controls:!0,className:`max-w-full max-h-full`})}),t[0]=i,t[1]=a),a}function $(e){let t=(0,B.c)(18),{mediaType:n,threadId:r,file:i}=e,a=n===`image`?`Failed to load image`:`Failed to load video`,o;t[0]!==i.path||t[1]!==r?(o=()=>{S(K(r,i.path))},t[0]=i.path,t[1]=r,t[2]=o):o=t[2];let s=`Loading ${n} preview...`,c;t[3]===s?c=t[4]:(c=(0,X.jsx)(x,{centered:!0,label:s}),t[3]=s,t[4]=c);let l;t[5]!==i.name||t[6]!==i.path||t[7]!==n||t[8]!==r?(l=n===`image`?(0,X.jsx)(ye,{threadId:r,path:i.path,alt:i.name}):(0,X.jsx)(be,{threadId:r,path:i.path}),t[5]=i.name,t[6]=i.path,t[7]=n,t[8]=r,t[9]=l):l=t[9];let u;t[10]!==c||t[11]!==l?(u=(0,X.jsx)(z.Suspense,{fallback:c,children:l}),t[10]=c,t[11]=l,t[12]=u):u=t[12];let d;return t[13]!==i.path||t[14]!==a||t[15]!==o||t[16]!==u?(d=(0,X.jsx)(R,{fallbackTitle:a,onRetry:o,children:u},i.path),t[13]=i.path,t[14]=a,t[15]=o,t[16]=u,t[17]=d):d=t[17],d}function xe(e){let t=(0,B.c)(19);if(e.editableFile){let n;return t[0]!==e.autoFocusEditor||t[1]!==e.editableFile||t[2]!==e.fileContent||t[3]!==e.fileSuspenseKey||t[4]!==e.hasLoadedContent||t[5]!==e.markdownMode||t[6]!==e.onContentChange||t[7]!==e.onEditorReady||t[8]!==e.onFileLoadRetry||t[9]!==e.resolvedTheme||t[10]!==e.threadId?(n=(0,X.jsx)(ve,{threadId:e.threadId,file:e.editableFile,suspenseKey:e.fileSuspenseKey,hasLoadedContent:e.hasLoadedContent,fileContent:e.fileContent,markdownMode:e.markdownMode,resolvedTheme:e.resolvedTheme,autoFocusEditor:e.autoFocusEditor,onContentChange:e.onContentChange,onEditorReady:e.onEditorReady,onRetry:e.onFileLoadRetry}),t[0]=e.autoFocusEditor,t[1]=e.editableFile,t[2]=e.fileContent,t[3]=e.fileSuspenseKey,t[4]=e.hasLoadedContent,t[5]=e.markdownMode,t[6]=e.onContentChange,t[7]=e.onEditorReady,t[8]=e.onFileLoadRetry,t[9]=e.resolvedTheme,t[10]=e.threadId,t[11]=n):n=t[11],n}if(e.selectedFile?.type===`file`&&e.selectedMediaType===`image`){let n;return t[12]!==e.selectedFile||t[13]!==e.threadId?(n=(0,X.jsx)($,{mediaType:`image`,threadId:e.threadId,file:e.selectedFile}),t[12]=e.selectedFile,t[13]=e.threadId,t[14]=n):n=t[14],n}if(e.selectedFile?.type===`file`&&e.selectedMediaType===`video`){let n;return t[15]!==e.selectedFile||t[16]!==e.threadId?(n=(0,X.jsx)($,{mediaType:`video`,threadId:e.threadId,file:e.selectedFile}),t[15]=e.selectedFile,t[16]=e.threadId,t[17]=n):n=t[17],n}let n;return t[18]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,X.jsx)(Z,{}),t[18]=n):n=t[18],n}function Se(e){let t=(0,B.c)(5),{folderPath:n,copying:r,onOpen:i,onCopy:o}=e,s;return t[0]!==r||t[1]!==n||t[2]!==o||t[3]!==i?(s=(0,X.jsx)(`div`,{className:`flex shrink-0 items-center gap-2 px-4 py-2`,children:n?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`button`,{type:`button`,onClick:i,className:p(a.compact,`min-w-0 flex-1 truncate text-left font-mono text-muted-foreground hover:text-foreground hover:underline`),title:n,children:n}),(0,X.jsxs)(v,{variant:`ghost`,size:`icon`,className:`h-7 w-7 shrink-0`,onClick:o,disabled:r,children:[r?(0,X.jsx)(m,{className:`h-3.5 w-3.5`}):(0,X.jsx)(h,{className:`h-3.5 w-3.5`}),(0,X.jsx)(`span`,{className:`sr-only`,children:`Copy path`})]})]}):(0,X.jsx)(`p`,{className:p(a.compact,`text-muted-foreground/50 italic`),children:`Loading path...`})}),t[0]=r,t[1]=n,t[2]=o,t[3]=i,t[4]=s):s=t[4],s}function Ce(e){let t=(0,B.c)(12),{path:n,markdownMode:r,onMarkdownModeChange:i,printing:a,onPrint:o}=e,s;t[0]!==r||t[1]!==o||t[2]!==n||t[3]!==a?(s=H(n)&&r===`view`?(0,X.jsxs)(v,{size:`sm`,variant:`outline`,onClick:o,disabled:a,children:[a?(0,X.jsx)(g,{className:`h-4 w-4 animate-spin`}):(0,X.jsx)(j,{className:`h-4 w-4`}),a?`Printing…`:`Print`]}):null,t[0]=r,t[1]=o,t[2]=n,t[3]=a,t[4]=s):s=t[4];let c;t[5]!==r||t[6]!==i||t[7]!==n?(c=H(n)?(0,X.jsxs)(`div`,{className:`flex rounded-full border border-input bg-background p-0.5`,children:[(0,X.jsx)(v,{size:`sm`,variant:r===`view`?`secondary`:`ghost`,className:`h-7 px-3`,onClick:()=>i(`view`),children:`View`}),(0,X.jsx)(v,{size:`sm`,variant:r===`edit`?`secondary`:`ghost`,className:`h-7 px-3`,onClick:()=>i(`edit`),children:`Edit`})]}):null,t[5]=r,t[6]=i,t[7]=n,t[8]=c):c=t[8];let l;return t[9]!==s||t[10]!==c?(l=(0,X.jsxs)(X.Fragment,{children:[s,c]}),t[9]=s,t[10]=c,t[11]=l):l=t[11],l}var we=[{label:`Markdown`,ext:`md`,icon:N},{label:`TypeScript`,ext:`ts`,icon:P},{label:`Text`,ext:`txt`,icon:te}];function Te(e){let t=(0,B.c)(16),{selectedFile:n,editableFile:r,hasLoadedContent:i}=e,a;t[0]!==r||t[1]!==i||t[2]!==e.canSave||t[3]!==e.markdownMode||t[4]!==e.onMarkdownModeChange||t[5]!==e.onPrint||t[6]!==e.onSave||t[7]!==e.printing||t[8]!==e.saving?(a=r&&i?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(Ce,{path:r.path,markdownMode:e.markdownMode,onMarkdownModeChange:e.onMarkdownModeChange,printing:e.printing,onPrint:e.onPrint}),(0,X.jsxs)(v,{size:`sm`,onClick:e.onSave,disabled:e.saving||!e.canSave,children:[e.saving?(0,X.jsx)(g,{className:`h-4 w-4 animate-spin`}):null,`Save`]})]}):null,t[0]=r,t[1]=i,t[2]=e.canSave,t[3]=e.markdownMode,t[4]=e.onMarkdownModeChange,t[5]=e.onPrint,t[6]=e.onSave,t[7]=e.printing,t[8]=e.saving,t[9]=a):a=t[9];let o;t[10]!==e||t[11]!==n?(o=n?null:(0,X.jsxs)(L,{children:[(0,X.jsx)(re,{asChild:!0,children:(0,X.jsxs)(v,{size:`sm`,className:`gap-1.5`,children:[(0,X.jsx)(_,{className:`h-3.5 w-3.5`}),`New file`]})}),(0,X.jsx)(I,{align:`end`,children:we.map(t=>{let{label:n,ext:r,icon:i}=t;return(0,X.jsxs)(ne,{onSelect:()=>e.onNewFile(r),children:[(0,X.jsx)(i,{className:`h-4 w-4`}),n]},r)})})]}),t[10]=e,t[11]=n,t[12]=o):o=t[12];let s;return t[13]!==a||t[14]!==o?(s=(0,X.jsxs)(X.Fragment,{children:[a,o]}),t[13]=a,t[14]=o,t[15]=s):s=t[15],s}function Ee(e){let t=(0,B.c)(15),{selectedFile:n,showBackButton:r,onShowTree:i}=e,o;t[0]!==i||t[1]!==r?(o=r&&i?(0,X.jsxs)(v,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0 text-muted-foreground electrobun-webkit-app-region-no-drag`,onClick:i,children:[(0,X.jsx)(F,{className:`h-4 w-4`}),(0,X.jsx)(`span`,{className:`sr-only`,children:`Show file tree`})]}):null,t[0]=i,t[1]=r,t[2]=o):o=t[2];let s;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(s=p(a.label,`truncate leading-normal text-foreground`),t[3]=s):s=t[3];let c=n?n.name:`Select a file to edit`,l;t[4]===c?l=t[5]:(l=(0,X.jsx)(`span`,{className:s,children:c}),t[4]=c,t[5]=l);let u;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=p(a.compact,`truncate text-muted-foreground`),t[6]=u):u=t[6];let d=n?n.path:`Browse and edit repository files`,f;t[7]===d?f=t[8]:(f=(0,X.jsx)(`span`,{className:u,children:d}),t[7]=d,t[8]=f);let m;t[9]!==l||t[10]!==f?(m=(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[l,f]}),t[9]=l,t[10]=f,t[11]=m):m=t[11];let h;return t[12]!==o||t[13]!==m?(h=(0,X.jsxs)(`div`,{className:`flex min-w-0 items-start gap-2`,children:[o,m]}),t[12]=o,t[13]=m,t[14]=h):h=t[14],h}function De(e){let{resolvedTheme:t}=ee(),n=s(e=>e.selectedThreadId),{triggerExplorerRefresh:r}=b(),i=(0,z.useRef)(null),[a,o]=(0,z.useState)(!1),[c,u]=(0,z.useState)(null),[d,f]=(0,z.useState)(!1),[p,m]=(0,z.useState)(!1),[h,g]=(0,z.useState)(`edit`),[_,v]=(0,z.useState)(0),[y,x]=(0,z.useState)(null),[C,w]=(0,z.useState)(!1),T=e.selectedFile?.path??null;(0,z.useEffect)(()=>{n&&l(n).then(x).catch(()=>{})},[n]);async function E(){if(y&&!C){w(!0);try{await pe(n,y)}finally{w(!1)}}}let D=(0,z.useCallback)(async t=>{if(!n)return;let a=await fe(n,t);if(!a)return;let s={name:a,path:a,type:`file`};i.current=a,o(!0),e.onFileCreated?.(s),r()},[n,e.onFileCreated,r]),O=ae(n,e.selectedFile,c,_);(0,z.useEffect)(()=>{if(e.selectedFile?.type===`file`){let t=i.current===e.selectedFile.path;t&&(i.current=null),g(Y(e.selectedFile,t))}else g(`edit`)},[T,n]);async function k(){if(n&&e.selectedFile&&O.fileSuspenseKey){f(!0);try{await he({threadId:n,file:e.selectedFile,suspenseKey:O.fileSuspenseKey,content:O.fileContent,onSaved:u})}finally{f(!1)}}}async function A(){if(n&&e.selectedFile&&!p){m(!0);try{await de(n,e.selectedFile)}finally{m(!1)}}}function j(){o(!1)}function M(){n&&O.editableFile&&(S(W(n,O.editableFile.path)),v(e=>e+1))}return{resolvedTheme:t,threadId:n,autoFocusEditor:a,saving:d,printing:p,markdownMode:h,setMarkdownMode:g,folderPath:y,copying:C,setFileContentState:u,presentation:O,handleCopyFolderPath:E,handleNewFile:D,handleSave:k,handlePrintMarkdown:A,handleEditorReady:j,handleFileLoadRetry:M,openRepositoryFolder:()=>{n&&me(n,y)}}}function Oe(e){let t=(0,B.c)(49),{selectedFile:n,showTreeBackButton:r,onShowTree:i,onFileCreated:o}=e,s=r!==void 0&&r,c;t[0]!==o||t[1]!==n?(c={selectedFile:n,onFileCreated:o},t[0]=o,t[1]=n,t[2]=c):c=t[2];let l=De(c);if(!l.threadId){let e;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,X.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full gap-3 text-center`,children:[(0,X.jsx)(N,{className:`h-8 w-8 text-muted-foreground`}),(0,X.jsx)(`p`,{className:a.bodyMuted,children:`Select a thread to browse its files`})]}),t[3]=e):e=t[3],e}let u;t[4]!==i||t[5]!==n||t[6]!==s?(u=(0,X.jsx)(Ee,{selectedFile:n,showBackButton:s,onShowTree:i}),t[4]=i,t[5]=n,t[6]=s,t[7]=u):u=t[7];let d=l.presentation.currentContent!==null,f;t[8]===l?f=t[9]:(f=()=>void l.handlePrintMarkdown(),t[8]=l,t[9]=f);let p=l.presentation.fileContent!==``&&l.presentation.fileContent!==l.presentation.originalFileContent,m,h;t[10]===l?(m=t[11],h=t[12]):(m=()=>void l.handleSave(),h=e=>void l.handleNewFile(e),t[10]=l,t[11]=m,t[12]=h);let g;t[13]!==l.markdownMode||t[14]!==l.presentation.editableFile||t[15]!==l.printing||t[16]!==l.saving||t[17]!==l.setMarkdownMode||t[18]!==n||t[19]!==d||t[20]!==f||t[21]!==p||t[22]!==m||t[23]!==h?(g=(0,X.jsx)(`div`,{className:`flex gap-2`,children:(0,X.jsx)(Te,{selectedFile:n,editableFile:l.presentation.editableFile,hasLoadedContent:d,markdownMode:l.markdownMode,onMarkdownModeChange:l.setMarkdownMode,printing:l.printing,onPrint:f,saving:l.saving,canSave:p,onSave:m,onNewFile:h})}),t[13]=l.markdownMode,t[14]=l.presentation.editableFile,t[15]=l.printing,t[16]=l.saving,t[17]=l.setMarkdownMode,t[18]=n,t[19]=d,t[20]=f,t[21]=p,t[22]=m,t[23]=h,t[24]=g):g=t[24];let _;t[25]!==u||t[26]!==g?(_=(0,X.jsxs)(M,{className:`justify-between print:hidden`,children:[u,g]}),t[25]=u,t[26]=g,t[27]=_):_=t[27];let v=l.presentation.currentContent!==null,y;t[28]!==l.autoFocusEditor||t[29]!==l.handleEditorReady||t[30]!==l.handleFileLoadRetry||t[31]!==l.markdownMode||t[32]!==l.presentation.editableFile||t[33]!==l.presentation.fileContent||t[34]!==l.presentation.fileSuspenseKey||t[35]!==l.presentation.selectedMediaType||t[36]!==l.resolvedTheme||t[37]!==l.setFileContentState||t[38]!==l.threadId||t[39]!==n||t[40]!==v?(y=(0,X.jsx)(`div`,{className:`flex-1 overflow-hidden print:overflow-visible print:flex-none`,children:(0,X.jsx)(`div`,{className:`h-full relative overflow-hidden print:h-auto print:overflow-visible`,children:(0,X.jsx)(xe,{threadId:l.threadId,selectedFile:n,selectedMediaType:l.presentation.selectedMediaType,editableFile:l.presentation.editableFile,fileSuspenseKey:l.presentation.fileSuspenseKey,hasLoadedContent:v,fileContent:l.presentation.fileContent,markdownMode:l.markdownMode,resolvedTheme:l.resolvedTheme,autoFocusEditor:l.autoFocusEditor,onContentChange:l.setFileContentState,onEditorReady:l.handleEditorReady,onFileLoadRetry:l.handleFileLoadRetry})})}),t[28]=l.autoFocusEditor,t[29]=l.handleEditorReady,t[30]=l.handleFileLoadRetry,t[31]=l.markdownMode,t[32]=l.presentation.editableFile,t[33]=l.presentation.fileContent,t[34]=l.presentation.fileSuspenseKey,t[35]=l.presentation.selectedMediaType,t[36]=l.resolvedTheme,t[37]=l.setFileContentState,t[38]=l.threadId,t[39]=n,t[40]=v,t[41]=y):y=t[41];let b;t[42]!==l||t[43]!==n?(b=n?null:(0,X.jsx)(Se,{folderPath:l.folderPath,copying:l.copying,onOpen:l.openRepositoryFolder,onCopy:()=>void l.handleCopyFolderPath()}),t[42]=l,t[43]=n,t[44]=b):b=t[44];let x;return t[45]!==_||t[46]!==y||t[47]!==b?(x=(0,X.jsxs)(`div`,{className:`explorer-view-root flex flex-col h-full print:block print:h-auto`,children:[_,y,b]}),t[45]=_,t[46]=y,t[47]=b,t[48]=x):x=t[48],x}export{Oe as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,t}from"./react-vendor-D61Uve5n.js";import{U as n}from"./dist-v_MvKS2-.js";import{t as r}from"./utils-CqsIXqSC.js";import{t as i}from"./loader-circle-CrqRIqdA.js";import{a,i as o,o as s,r as c,s as l,t as u}from"./dialog-D_12AsZd.js";import{t as d}from"./button-DDaJhJP1.js";var f=e(),p=t();function m(e){let t=(0,f.c)(28),{open:m,onOpenChange:g,commits:_,displayedCommits:v,isLoadingMore:y,onScroll:b,currentBranch:x}=e,S;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,p.jsx)(l,{children:`Commit History`}),t[0]=S):S=t[0];let C;t[1]===x?C=t[2]:(C=(0,p.jsxs)(s,{children:[S,(0,p.jsxs)(o,{children:[`Recent commits on branch `,x]})]}),t[1]=x,t[2]=C);let w;t[3]===v?w=t[4]:(w=v.length>0?v.map(h):(0,p.jsx)(`p`,{className:r(n.bodyMuted,`text-center py-8`),children:`No commits found`}),t[3]=v,t[4]=w);let T;t[5]===y?T=t[6]:(T=y&&(0,p.jsx)(`div`,{className:`p-3 text-center`,children:(0,p.jsx)(i,{className:`h-4 w-4 animate-spin inline`})}),t[5]=y,t[6]=T);let E;t[7]!==_.length||t[8]!==v.length||t[9]!==y?(E=v.length<_.length&&!y&&(0,p.jsx)(`div`,{className:r(n.caption,`p-3 text-center`),children:`Scroll to load more`}),t[7]=_.length,t[8]=v.length,t[9]=y,t[10]=E):E=t[10];let D;t[11]!==w||t[12]!==T||t[13]!==E?(D=(0,p.jsxs)(`div`,{className:`divide-y`,children:[w,T,E]}),t[11]=w,t[12]=T,t[13]=E,t[14]=D):D=t[14];let O;t[15]!==b||t[16]!==D?(O=(0,p.jsx)(`div`,{className:`flex-1 overflow-y-auto border rounded-lg`,onScroll:b,children:D}),t[15]=b,t[16]=D,t[17]=O):O=t[17];let k;t[18]===g?k=t[19]:(k=(0,p.jsx)(a,{children:(0,p.jsx)(d,{onClick:()=>g(!1),children:`Close`})}),t[18]=g,t[19]=k);let A;t[20]!==C||t[21]!==O||t[22]!==k?(A=(0,p.jsxs)(c,{className:`max-w-2xl max-h-[80vh] flex flex-col`,children:[C,O,k]}),t[20]=C,t[21]=O,t[22]=k,t[23]=A):A=t[23];let j;return t[24]!==g||t[25]!==m||t[26]!==A?(j=(0,p.jsx)(u,{open:m,onOpenChange:g,children:A}),t[24]=g,t[25]=m,t[26]=A,t[27]=j):j=t[27],j}function h(e){return(0,p.jsxs)(`div`,{className:`p-3 hover:bg-muted/50 transition-colors`,children:[(0,p.jsx)(`p`,{className:r(n.label,`break-words`),children:e.message}),(0,p.jsxs)(`p`,{className:r(n.bodyMuted,`mt-1`),children:[(0,p.jsx)(`span`,{className:n.mono,children:e.hash.substring(0,7)}),` •`,` `,e.author,` • `,new Date(e.date).toLocaleDateString()]})]},e.hash)}export{m as GitHistoryDialog};
|