@bryanhu/codexly 0.42.0 → 0.43.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -1
- package/README.en.md +2 -2
- package/README.md +2 -2
- package/dist/chunk-64P6HZGS.js +3 -0
- package/dist/chunk-LARI4FRD.js +934 -0
- package/dist/chunk-OD476SZO.js +37 -0
- package/dist/{chunk-FYV6OEIB.js → chunk-P7KQXTTD.js} +10 -10
- package/dist/{chunk-IUMX3J22.js → chunk-TLFP3BZV.js} +5 -5
- package/dist/chunk-UOFKDBS4.js +8 -0
- package/dist/{chunk-M7CBY5CN.js → chunk-YXYKG5LH.js} +2 -2
- package/dist/{chunk-RF74ZZTT.js → chunk-ZXF2IA42.js} +1 -1
- package/dist/cli.js +6 -6
- package/dist/client/index.js +2 -2
- package/dist/codex-jsonl-frame-worker.js +1 -1
- package/dist/{command-H3N4E5V7.js → command-ONZ2CRI3.js} +6 -6
- package/dist/core/index.js +1 -1
- package/dist/protocol/index.js +1 -1
- package/dist/providers/claude/index.js +1 -1
- package/dist/providers/codex/index.js +1 -1
- package/dist/server/index.js +1 -1
- package/dist/token-usage-response-6MLMFRJW.js +1 -0
- package/dist/web/.vite/manifest.json +387 -397
- package/dist/web/.vite/manifest.json.br +0 -0
- package/dist/web/.vite/manifest.json.gz +0 -0
- package/dist/web/assets/{activity-2h6qck2R.js → activity-DuQdOyTa.js} +1 -1
- package/dist/web/assets/activity-DuQdOyTa.js.br +0 -0
- package/dist/web/assets/activity-DuQdOyTa.js.gz +0 -0
- package/dist/web/assets/{agent-settings-panel-BmC-bWgu.js → agent-settings-panel-CERBVvGU.js} +1 -1
- package/dist/web/assets/agent-settings-panel-CERBVvGU.js.br +0 -0
- package/dist/web/assets/agent-settings-panel-CERBVvGU.js.gz +0 -0
- package/dist/web/assets/{api-connection-fields-BOSDa1e_.js → api-connection-fields-Cw_p0Vkb.js} +1 -1
- package/dist/web/assets/api-connection-fields-Cw_p0Vkb.js.br +0 -0
- package/dist/web/assets/api-connection-fields-Cw_p0Vkb.js.gz +0 -0
- package/dist/web/assets/app-update-dialog-DmjRaYGU.js +1 -0
- package/dist/web/assets/app-update-dialog-DmjRaYGU.js.br +0 -0
- package/dist/web/assets/app-update-dialog-DmjRaYGU.js.gz +0 -0
- package/dist/web/assets/archived-tasks-dialog-CRtD-10M.js +1 -0
- package/dist/web/assets/archived-tasks-dialog-CRtD-10M.js.br +0 -0
- package/dist/web/assets/archived-tasks-dialog-CRtD-10M.js.gz +0 -0
- package/dist/web/assets/arrow-down-knUnWbV0.js +1 -0
- package/dist/web/assets/arrow-down-knUnWbV0.js.br +0 -0
- package/dist/web/assets/arrow-down-knUnWbV0.js.gz +0 -0
- package/dist/web/assets/arrow-up-right-ixSa1mP8.js +1 -0
- package/dist/web/assets/arrow-up-right-ixSa1mP8.js.br +0 -0
- package/dist/web/assets/arrow-up-right-ixSa1mP8.js.gz +0 -0
- package/dist/web/assets/background-image-picker-CLJi-e3n.js +1 -0
- package/dist/web/assets/background-image-picker-CLJi-e3n.js.br +0 -0
- package/dist/web/assets/background-image-picker-CLJi-e3n.js.gz +0 -0
- package/dist/web/assets/{calendar-days-CFiUA_Ph.js → calendar-days-ClrHbVEB.js} +1 -1
- package/dist/web/assets/calendar-days-ClrHbVEB.js.br +1 -0
- package/dist/web/assets/calendar-days-ClrHbVEB.js.gz +0 -0
- package/dist/web/assets/chevron-left-DeuW6-sG.js +1 -0
- package/dist/web/assets/chevron-left-DeuW6-sG.js.br +0 -0
- package/dist/web/assets/chevron-left-DeuW6-sG.js.gz +0 -0
- package/dist/web/assets/claude-extensions-pane-JAXaK86v.js +1 -0
- package/dist/web/assets/claude-extensions-pane-JAXaK86v.js.br +0 -0
- package/dist/web/assets/claude-extensions-pane-JAXaK86v.js.gz +0 -0
- package/dist/web/assets/{claude-settings-panel-D0r73clB.js → claude-settings-panel-EqGgeHOz.js} +1 -1
- package/dist/web/assets/claude-settings-panel-EqGgeHOz.js.br +0 -0
- package/dist/web/assets/claude-settings-panel-EqGgeHOz.js.gz +0 -0
- package/dist/web/assets/{clipboard-CExCX2lu.js → clipboard-BR-u6EaO.js} +1 -1
- package/dist/web/assets/clipboard-BR-u6EaO.js.br +0 -0
- package/dist/web/assets/clipboard-BR-u6EaO.js.gz +0 -0
- package/dist/web/assets/{code-highlighter-DSD8pKWN.js → code-highlighter-DbqbiQnU.js} +1 -1
- package/dist/web/assets/code-highlighter-DbqbiQnU.js.br +0 -0
- package/dist/web/assets/code-highlighter-DbqbiQnU.js.gz +0 -0
- package/dist/web/assets/{codex-resources-pane-CC14Snxv.js → codex-resources-pane-awi6XjrG.js} +1 -1
- package/dist/web/assets/codex-resources-pane-awi6XjrG.js.br +0 -0
- package/dist/web/assets/codex-resources-pane-awi6XjrG.js.gz +0 -0
- package/dist/web/assets/{commit-settings-panel-Cc73if6T.js → commit-settings-panel-DWzmAGnE.js} +1 -1
- package/dist/web/assets/commit-settings-panel-DWzmAGnE.js.br +0 -0
- package/dist/web/assets/commit-settings-panel-DWzmAGnE.js.gz +0 -0
- package/dist/web/assets/{composer-git-menu-D5iLjy59.js → composer-git-menu-C-tVk24f.js} +1 -1
- package/dist/web/assets/composer-git-menu-C-tVk24f.js.br +0 -0
- package/dist/web/assets/composer-git-menu-C-tVk24f.js.gz +0 -0
- package/dist/web/assets/{dist-DhzZV2ds.js → dist-BX0XdnvY.js} +1 -1
- package/dist/web/assets/dist-BX0XdnvY.js.br +0 -0
- package/dist/web/assets/dist-BX0XdnvY.js.gz +0 -0
- package/dist/web/assets/{dist-BSYXEhIz.js → dist-BfTsynlL.js} +1 -1
- package/dist/web/assets/dist-BfTsynlL.js.br +0 -0
- package/dist/web/assets/dist-BfTsynlL.js.gz +0 -0
- package/dist/web/assets/{dist-A_NLKdyw.js → dist-C7NEtR_e.js} +1 -1
- package/dist/web/assets/dist-C7NEtR_e.js.br +0 -0
- package/dist/web/assets/dist-C7NEtR_e.js.gz +0 -0
- package/dist/web/assets/{dist-4ky5Vf9m.js → dist-CA-XdaWp.js} +1 -1
- package/dist/web/assets/dist-CA-XdaWp.js.br +0 -0
- package/dist/web/assets/dist-CA-XdaWp.js.gz +0 -0
- package/dist/web/assets/{dist-D24hK3Xq.js → dist-CiCj4zAx.js} +1 -1
- package/dist/web/assets/dist-CiCj4zAx.js.br +0 -0
- package/dist/web/assets/dist-CiCj4zAx.js.gz +0 -0
- package/dist/web/assets/{dist-CjuFTbZP.js → dist-DEV8uW4g.js} +1 -1
- package/dist/web/assets/dist-DEV8uW4g.js.br +0 -0
- package/dist/web/assets/dist-DEV8uW4g.js.gz +0 -0
- package/dist/web/assets/{dist-DHqTYXE-.js → dist-DpsiYOtn.js} +1 -1
- package/dist/web/assets/dist-DpsiYOtn.js.br +0 -0
- package/dist/web/assets/dist-DpsiYOtn.js.gz +0 -0
- package/dist/web/assets/{dist-CQJQA-5W.js → dist-Dqe7sbhR.js} +1 -1
- package/dist/web/assets/dist-Dqe7sbhR.js.br +0 -0
- package/dist/web/assets/dist-Dqe7sbhR.js.gz +0 -0
- package/dist/web/assets/{dist-B24xk3Wj.js → dist-O8E4b6qf.js} +1 -1
- package/dist/web/assets/dist-O8E4b6qf.js.br +0 -0
- package/dist/web/assets/dist-O8E4b6qf.js.gz +0 -0
- package/dist/web/assets/{dist-D3-ZjJ2N.js → dist-OoMpQPVk.js} +1 -1
- package/dist/web/assets/dist-OoMpQPVk.js.br +0 -0
- package/dist/web/assets/dist-OoMpQPVk.js.gz +0 -0
- package/dist/web/assets/{dist-D8PP7WHN.js → dist-cjP8-efw.js} +1 -1
- package/dist/web/assets/dist-cjP8-efw.js.br +0 -0
- package/dist/web/assets/dist-cjP8-efw.js.gz +0 -0
- package/dist/web/assets/{dist-B9BcXMql.js → dist-oPb6JgZy.js} +1 -1
- package/dist/web/assets/dist-oPb6JgZy.js.br +0 -0
- package/dist/web/assets/dist-oPb6JgZy.js.gz +0 -0
- package/dist/web/assets/{document-navigation-75a_uuKd.js → document-navigation-Dx8FlnKt.js} +3 -3
- package/dist/web/assets/document-navigation-Dx8FlnKt.js.br +0 -0
- package/dist/web/assets/document-navigation-Dx8FlnKt.js.gz +0 -0
- package/dist/web/assets/{document-workspace-tabs-COLOi5R0.js → document-workspace-tabs-CtKsRkuK.js} +1 -1
- package/dist/web/assets/document-workspace-tabs-CtKsRkuK.js.br +0 -0
- package/dist/web/assets/document-workspace-tabs-CtKsRkuK.js.gz +0 -0
- package/dist/web/assets/{engine-setup-gate-KavFzQKj.js → engine-setup-gate-Q1ZXiCyW.js} +1 -1
- package/dist/web/assets/engine-setup-gate-Q1ZXiCyW.js.br +0 -0
- package/dist/web/assets/engine-setup-gate-Q1ZXiCyW.js.gz +0 -0
- package/dist/web/assets/export-task-conversation-DIwbQiYu.js +2 -0
- package/dist/web/assets/export-task-conversation-DIwbQiYu.js.br +0 -0
- package/dist/web/assets/export-task-conversation-DIwbQiYu.js.gz +0 -0
- package/dist/web/assets/extension-list-BK0D66n_.js +1 -0
- package/dist/web/assets/extension-list-BK0D66n_.js.br +0 -0
- package/dist/web/assets/extension-list-BK0D66n_.js.gz +0 -0
- package/dist/web/assets/{external-link-D-LrX49w.js → external-link-DSLiwa1I.js} +1 -1
- package/dist/web/assets/external-link-DSLiwa1I.js.br +0 -0
- package/dist/web/assets/external-link-DSLiwa1I.js.gz +0 -0
- package/dist/web/assets/{file-navigation-view-preference-2aESOSJW.js → file-navigation-view-preference-1eFJ96G_.js} +1 -1
- package/dist/web/assets/file-navigation-view-preference-1eFJ96G_.js.br +0 -0
- package/dist/web/assets/file-navigation-view-preference-1eFJ96G_.js.gz +0 -0
- package/dist/web/assets/file-review-dialog-g___Sj1b.js +2 -0
- package/dist/web/assets/file-review-dialog-g___Sj1b.js.br +0 -0
- package/dist/web/assets/file-review-dialog-g___Sj1b.js.gz +0 -0
- package/dist/web/assets/git-commit-review-D-lAXnVZ.js +2 -0
- package/dist/web/assets/git-commit-review-D-lAXnVZ.js.br +0 -0
- package/dist/web/assets/git-commit-review-D-lAXnVZ.js.gz +0 -0
- package/dist/web/assets/git-history-panel-D26VpdmT.js +1 -0
- package/dist/web/assets/git-history-panel-D26VpdmT.js.br +0 -0
- package/dist/web/assets/git-history-panel-D26VpdmT.js.gz +0 -0
- package/dist/web/assets/global-search-dialog-PAswTuZC.js +2 -0
- package/dist/web/assets/global-search-dialog-PAswTuZC.js.br +0 -0
- package/dist/web/assets/global-search-dialog-PAswTuZC.js.gz +0 -0
- package/dist/web/assets/global-settings-about-CE9K8Co4.js +1 -0
- package/dist/web/assets/global-settings-about-CE9K8Co4.js.br +0 -0
- package/dist/web/assets/global-settings-about-CE9K8Co4.js.gz +0 -0
- package/dist/web/assets/{global-settings-fields-LJOjIwQ_.js → global-settings-fields-CuZmCc6t.js} +1 -1
- package/dist/web/assets/global-settings-fields-CuZmCc6t.js.br +0 -0
- package/dist/web/assets/global-settings-fields-CuZmCc6t.js.gz +0 -0
- package/dist/web/assets/global-settings-page-D0Thpk0w.js +2 -0
- package/dist/web/assets/global-settings-page-D0Thpk0w.js.br +0 -0
- package/dist/web/assets/global-settings-page-D0Thpk0w.js.gz +0 -0
- package/dist/web/assets/global-settings-pets-CmRbDET9.js +1 -0
- package/dist/web/assets/global-settings-pets-CmRbDET9.js.br +0 -0
- package/dist/web/assets/global-settings-pets-CmRbDET9.js.gz +0 -0
- package/dist/web/assets/{highlighted-body-OFNGDK62-D98CSs06.js → highlighted-body-OFNGDK62-Bd0x09qA.js} +1 -1
- package/dist/web/assets/highlighted-body-OFNGDK62-Bd0x09qA.js.br +0 -0
- package/dist/web/assets/highlighted-body-OFNGDK62-Bd0x09qA.js.gz +0 -0
- package/dist/web/assets/{history-task-timeline-DAex1zI2.js → history-task-timeline-CpTPrf4e.js} +1 -1
- package/dist/web/assets/history-task-timeline-CpTPrf4e.js.br +0 -0
- package/dist/web/assets/history-task-timeline-CpTPrf4e.js.gz +0 -0
- package/dist/web/assets/{image-R-U-mYHf.js → image-C57gh4dS.js} +1 -1
- package/dist/web/assets/image-C57gh4dS.js.br +0 -0
- package/dist/web/assets/image-C57gh4dS.js.gz +0 -0
- package/dist/web/assets/{image-preview-BSsSMEKx.js → image-preview-B0W0P1MY.js} +2 -2
- package/dist/web/assets/image-preview-B0W0P1MY.js.br +0 -0
- package/dist/web/assets/image-preview-B0W0P1MY.js.gz +0 -0
- package/dist/web/assets/{image-preview-content-BDHF7njg.js → image-preview-content-D7dpXpfT.js} +1 -1
- package/dist/web/assets/image-preview-content-D7dpXpfT.js.br +0 -0
- package/dist/web/assets/image-preview-content-D7dpXpfT.js.gz +0 -0
- package/dist/web/assets/index-D3weiyhT.js +4 -0
- package/dist/web/assets/index-D3weiyhT.js.br +0 -0
- package/dist/web/assets/index-D3weiyhT.js.gz +0 -0
- package/dist/web/assets/initial-deps-B8N7gnPA.js +2 -0
- package/dist/web/assets/initial-deps-B8N7gnPA.js.br +0 -0
- package/dist/web/assets/initial-deps-B8N7gnPA.js.gz +0 -0
- package/dist/web/assets/{initial-deps-CCdrudAz.js → initial-deps-CAnleAzJ.js} +5 -5
- package/dist/web/assets/initial-deps-CAnleAzJ.js.br +0 -0
- package/dist/web/assets/{initial-deps-CCdrudAz.js.gz → initial-deps-CAnleAzJ.js.gz} +0 -0
- package/dist/web/assets/initial-deps-Cm47ZaH1.js +1 -0
- package/dist/web/assets/initial-deps-Cm47ZaH1.js.br +0 -0
- package/dist/web/assets/initial-deps-Cm47ZaH1.js.gz +0 -0
- package/dist/web/assets/installed-skills-pane-DYInydM3.js +1 -0
- package/dist/web/assets/installed-skills-pane-DYInydM3.js.br +0 -0
- package/dist/web/assets/installed-skills-pane-DYInydM3.js.gz +0 -0
- package/dist/web/assets/{keyboard-shortcuts-dialog-C-GWhNWL.js → keyboard-shortcuts-dialog-E-NUX5NQ.js} +1 -1
- package/dist/web/assets/keyboard-shortcuts-dialog-E-NUX5NQ.js.br +0 -0
- package/dist/web/assets/keyboard-shortcuts-dialog-E-NUX5NQ.js.gz +0 -0
- package/dist/web/assets/{maximize-2-BpkZlbuw.js → maximize-2-Ci0UFkBp.js} +1 -1
- package/dist/web/assets/maximize-2-Ci0UFkBp.js.br +0 -0
- package/dist/web/assets/maximize-2-Ci0UFkBp.js.gz +0 -0
- package/dist/web/assets/mcp-management-pane-BkAwUo67.js +1 -0
- package/dist/web/assets/mcp-management-pane-BkAwUo67.js.br +0 -0
- package/dist/web/assets/mcp-management-pane-BkAwUo67.js.gz +0 -0
- package/dist/web/assets/mermaid-GHXKKRXX-8cGnkuaL.js +1 -0
- package/dist/web/assets/mermaid-GHXKKRXX-8cGnkuaL.js.br +1 -0
- package/dist/web/assets/mermaid-GHXKKRXX-8cGnkuaL.js.gz +0 -0
- package/dist/web/assets/message-assistant-directive-D5x1TsS8.js +3 -0
- package/dist/web/assets/message-assistant-directive-D5x1TsS8.js.br +0 -0
- package/dist/web/assets/message-assistant-directive-D5x1TsS8.js.gz +0 -0
- package/dist/web/assets/{message-response-BqoIkXV5.js → message-response-B3rxPvaH.js} +72 -72
- package/dist/web/assets/message-response-B3rxPvaH.js.br +0 -0
- package/dist/web/assets/message-response-B3rxPvaH.js.gz +0 -0
- package/dist/web/assets/{model-context-window-input-CwGTWSfk.js → model-context-window-input-BzC4gebp.js} +1 -1
- package/dist/web/assets/model-context-window-input-BzC4gebp.js.br +0 -0
- package/dist/web/assets/model-context-window-input-BzC4gebp.js.gz +0 -0
- package/dist/web/assets/{official-plugin-sheet-DnfSzz6a.js → official-plugin-sheet-D-BqjZkh.js} +1 -1
- package/dist/web/assets/official-plugin-sheet-D-BqjZkh.js.br +0 -0
- package/dist/web/assets/official-plugin-sheet-D-BqjZkh.js.gz +0 -0
- package/dist/web/assets/official-plugins-pane-Ls3FtFTQ.js +2 -0
- package/dist/web/assets/official-plugins-pane-Ls3FtFTQ.js.br +0 -0
- package/dist/web/assets/official-plugins-pane-Ls3FtFTQ.js.gz +0 -0
- package/dist/web/assets/open-project-path-D6PFBNrS.js +1 -0
- package/dist/web/assets/open-project-path-D6PFBNrS.js.br +0 -0
- package/dist/web/assets/open-project-path-D6PFBNrS.js.gz +0 -0
- package/dist/web/assets/{patch-diff-viewer-AqkBM917.js → patch-diff-viewer-dXD0o8c4.js} +2 -2
- package/dist/web/assets/patch-diff-viewer-dXD0o8c4.js.br +0 -0
- package/dist/web/assets/patch-diff-viewer-dXD0o8c4.js.gz +0 -0
- package/dist/web/assets/{personalization-settings-panel-CVrwQzX8.js → personalization-settings-panel-CVe8UDWw.js} +1 -1
- package/dist/web/assets/personalization-settings-panel-CVe8UDWw.js.br +0 -0
- package/dist/web/assets/personalization-settings-panel-CVe8UDWw.js.gz +0 -0
- package/dist/web/assets/{project-file-popup-page-ByGcOFiM.js → project-file-popup-page-DI_eacKi.js} +1 -1
- package/dist/web/assets/project-file-popup-page-DI_eacKi.js.br +0 -0
- package/dist/web/assets/project-file-popup-page-DI_eacKi.js.gz +0 -0
- package/dist/web/assets/{project-sidebar-timeline-CQiXo2Yp.js → project-sidebar-timeline-DygJr7Bv.js} +1 -1
- package/dist/web/assets/project-sidebar-timeline-DygJr7Bv.js.br +0 -0
- package/dist/web/assets/project-sidebar-timeline-DygJr7Bv.js.gz +0 -0
- package/dist/web/assets/{project-source-panel-D2ThYp5d.js → project-source-panel-vCnzQ1SK.js} +2 -2
- package/dist/web/assets/project-source-panel-vCnzQ1SK.js.br +0 -0
- package/dist/web/assets/project-source-panel-vCnzQ1SK.js.gz +0 -0
- package/dist/web/assets/prompt-input-C7bbVXaE.js +1 -0
- package/dist/web/assets/prompt-input-C7bbVXaE.js.br +0 -0
- package/dist/web/assets/prompt-input-C7bbVXaE.js.gz +0 -0
- package/dist/web/assets/{provider-connection-panel-Bl65NHxW.js → provider-connection-panel-BWWvk6z6.js} +1 -1
- package/dist/web/assets/provider-connection-panel-BWWvk6z6.js.br +0 -0
- package/dist/web/assets/provider-connection-panel-BWWvk6z6.js.gz +0 -0
- package/dist/web/assets/{provider-connection-queries-BF1EH_j1.js → provider-connection-queries-CH2pM9XI.js} +1 -1
- package/dist/web/assets/provider-connection-queries-CH2pM9XI.js.br +0 -0
- package/dist/web/assets/provider-connection-queries-CH2pM9XI.js.gz +0 -0
- package/dist/web/assets/resources-en-bpHbyD7m.js +1 -0
- package/dist/web/assets/resources-en-bpHbyD7m.js.br +0 -0
- package/dist/web/assets/resources-en-bpHbyD7m.js.gz +0 -0
- package/dist/web/assets/saved-prompts-settings-BdHwEg0t.js +1 -0
- package/dist/web/assets/saved-prompts-settings-BdHwEg0t.js.br +0 -0
- package/dist/web/assets/saved-prompts-settings-BdHwEg0t.js.gz +0 -0
- package/dist/web/assets/{scan-BKLK7DRs.js → scan-BsIM-ZR6.js} +1 -1
- package/dist/web/assets/scan-BsIM-ZR6.js.br +2 -0
- package/dist/web/assets/scan-BsIM-ZR6.js.gz +0 -0
- package/dist/web/assets/{scheduled-task-date-time-picker-D1crBziK.js → scheduled-task-date-time-picker-DCpi8xBK.js} +1 -1
- package/dist/web/assets/scheduled-task-date-time-picker-DCpi8xBK.js.br +0 -0
- package/dist/web/assets/scheduled-task-date-time-picker-DCpi8xBK.js.gz +0 -0
- package/dist/web/assets/{scheduled-tasks-container-BFP-RHj4.js → scheduled-tasks-container-DY5Uuqiz.js} +2 -2
- package/dist/web/assets/scheduled-tasks-container-DY5Uuqiz.js.br +0 -0
- package/dist/web/assets/scheduled-tasks-container-DY5Uuqiz.js.gz +0 -0
- package/dist/web/assets/{server-hY1i_VI0.js → server-BKi_TQsL.js} +1 -1
- package/dist/web/assets/server-BKi_TQsL.js.br +0 -0
- package/dist/web/assets/server-BKi_TQsL.js.gz +0 -0
- package/dist/web/assets/{settings-mutation-status-DoCrIJqt.js → settings-mutation-status-t_vEsLOz.js} +1 -1
- package/dist/web/assets/settings-mutation-status-t_vEsLOz.js.br +0 -0
- package/dist/web/assets/settings-mutation-status-t_vEsLOz.js.gz +0 -0
- package/dist/web/assets/{settings-save-status-z2qZDNCS.js → settings-save-status-DH-G7aaI.js} +1 -1
- package/dist/web/assets/settings-save-status-DH-G7aaI.js.br +0 -0
- package/dist/web/assets/settings-save-status-DH-G7aaI.js.gz +0 -0
- package/dist/web/assets/{shiki-bundle-uz23m7wG.js → shiki-bundle-hAjpxF_a.js} +1 -1
- package/dist/web/assets/shiki-bundle-hAjpxF_a.js.br +0 -0
- package/dist/web/assets/shiki-bundle-hAjpxF_a.js.gz +0 -0
- package/dist/web/assets/skills-market-container-DwBfsBhw.js +2 -0
- package/dist/web/assets/skills-market-container-DwBfsBhw.js.br +0 -0
- package/dist/web/assets/skills-market-container-DwBfsBhw.js.gz +0 -0
- package/dist/web/assets/split-workspace-menu-content-WdVrxJjg.js +1 -0
- package/dist/web/assets/split-workspace-menu-content-WdVrxJjg.js.br +0 -0
- package/dist/web/assets/split-workspace-menu-content-WdVrxJjg.js.gz +0 -0
- package/dist/web/assets/{task-timeline-process-history-BoN-GAHk.js → task-timeline-process-history-DQyDT7zc.js} +1 -1
- package/dist/web/assets/task-timeline-process-history-DQyDT7zc.js.br +0 -0
- package/dist/web/assets/task-timeline-process-history-DQyDT7zc.js.gz +0 -0
- package/dist/web/assets/{text-file-editor-CCcnq2j2.js → text-file-editor-BjQFV7ue.js} +3 -3
- package/dist/web/assets/text-file-editor-BjQFV7ue.js.br +0 -0
- package/dist/web/assets/text-file-editor-BjQFV7ue.js.gz +0 -0
- package/dist/web/assets/{upload-CBUNoBDE.js → upload-CtiReBUS.js} +1 -1
- package/dist/web/assets/upload-CtiReBUS.js.br +0 -0
- package/dist/web/assets/upload-CtiReBUS.js.gz +0 -0
- package/dist/web/assets/{usage-statistics-CsFiZTzg.js → usage-statistics-CobGEFrd.js} +1 -1
- package/dist/web/assets/usage-statistics-CobGEFrd.js.br +0 -0
- package/dist/web/assets/usage-statistics-CobGEFrd.js.gz +0 -0
- package/dist/web/assets/{utils-Bd_KH2PS.js → utils-CUzbDlMF.js} +1 -1
- package/dist/web/assets/utils-CUzbDlMF.js.br +0 -0
- package/dist/web/assets/utils-CUzbDlMF.js.gz +0 -0
- package/dist/web/assets/workbench-inspector-changes-DYitcjXB.js +1 -0
- package/dist/web/assets/workbench-inspector-changes-DYitcjXB.js.br +0 -0
- package/dist/web/assets/workbench-inspector-changes-DYitcjXB.js.gz +0 -0
- package/dist/web/assets/{workbench-pet-canvas-AgrvaVkp.js → workbench-pet-canvas-BIiqY4_Z.js} +1 -1
- package/dist/web/assets/workbench-pet-canvas-BIiqY4_Z.js.br +0 -0
- package/dist/web/assets/workbench-pet-canvas-BIiqY4_Z.js.gz +0 -0
- package/dist/web/assets/workbench-shell-DTjJ6Uzp.js +17 -0
- package/dist/web/assets/workbench-shell-DTjJ6Uzp.js.br +0 -0
- package/dist/web/assets/workbench-shell-DTjJ6Uzp.js.gz +0 -0
- package/dist/web/index.html +4 -4
- package/dist/web/index.html.br +0 -0
- package/dist/web/index.html.gz +0 -0
- package/docs/README.md +2 -1
- package/docs/conversation-performance.md +4 -0
- package/docs/faq.md +9 -1
- package/docs/global-search.md +1 -1
- package/docs/usage.en.md +5 -1
- package/docs/usage.md +5 -1
- package/docs/web.en.md +4 -2
- package/docs/web.md +4 -2
- package/package.json +2 -2
- package/dist/chunk-JMCHGTKG.js +0 -934
- package/dist/chunk-LZBJFLMK.js +0 -8
- package/dist/chunk-O2PCE4KS.js +0 -3
- package/dist/chunk-W4XSUSDR.js +0 -37
- package/dist/token-usage-response-C3XDSVYF.js +0 -1
- package/dist/web/assets/activity-2h6qck2R.js.br +0 -0
- package/dist/web/assets/activity-2h6qck2R.js.gz +0 -0
- package/dist/web/assets/agent-settings-panel-BmC-bWgu.js.br +0 -0
- package/dist/web/assets/agent-settings-panel-BmC-bWgu.js.gz +0 -0
- package/dist/web/assets/api-connection-fields-BOSDa1e_.js.br +0 -0
- package/dist/web/assets/api-connection-fields-BOSDa1e_.js.gz +0 -0
- package/dist/web/assets/app-update-dialog-BwWF14Ij.js +0 -1
- package/dist/web/assets/app-update-dialog-BwWF14Ij.js.br +0 -0
- package/dist/web/assets/app-update-dialog-BwWF14Ij.js.gz +0 -0
- package/dist/web/assets/archived-tasks-dialog-DxmUNNDi.js +0 -1
- package/dist/web/assets/archived-tasks-dialog-DxmUNNDi.js.br +0 -0
- package/dist/web/assets/archived-tasks-dialog-DxmUNNDi.js.gz +0 -0
- package/dist/web/assets/arrow-down-mS93vIf2.js +0 -1
- package/dist/web/assets/arrow-down-mS93vIf2.js.br +0 -0
- package/dist/web/assets/arrow-down-mS93vIf2.js.gz +0 -0
- package/dist/web/assets/arrow-up-right-Gz5bB5ij.js +0 -1
- package/dist/web/assets/arrow-up-right-Gz5bB5ij.js.br +0 -0
- package/dist/web/assets/arrow-up-right-Gz5bB5ij.js.gz +0 -0
- package/dist/web/assets/background-image-picker-CQMf464_.js +0 -1
- package/dist/web/assets/background-image-picker-CQMf464_.js.br +0 -0
- package/dist/web/assets/background-image-picker-CQMf464_.js.gz +0 -0
- package/dist/web/assets/calendar-days-CFiUA_Ph.js.br +0 -2
- package/dist/web/assets/calendar-days-CFiUA_Ph.js.gz +0 -0
- package/dist/web/assets/chevron-left-CZsIXYgL.js +0 -1
- package/dist/web/assets/chevron-left-CZsIXYgL.js.br +0 -1
- package/dist/web/assets/chevron-left-CZsIXYgL.js.gz +0 -0
- package/dist/web/assets/claude-extensions-pane-CjdUW-2D.js +0 -1
- package/dist/web/assets/claude-extensions-pane-CjdUW-2D.js.br +0 -0
- package/dist/web/assets/claude-extensions-pane-CjdUW-2D.js.gz +0 -0
- package/dist/web/assets/claude-settings-panel-D0r73clB.js.br +0 -0
- package/dist/web/assets/claude-settings-panel-D0r73clB.js.gz +0 -0
- package/dist/web/assets/clipboard-CExCX2lu.js.br +0 -0
- package/dist/web/assets/clipboard-CExCX2lu.js.gz +0 -0
- package/dist/web/assets/code-highlighter-DSD8pKWN.js.br +0 -0
- package/dist/web/assets/code-highlighter-DSD8pKWN.js.gz +0 -0
- package/dist/web/assets/codex-resources-pane-CC14Snxv.js.br +0 -0
- package/dist/web/assets/codex-resources-pane-CC14Snxv.js.gz +0 -0
- package/dist/web/assets/commit-settings-panel-Cc73if6T.js.br +0 -0
- package/dist/web/assets/commit-settings-panel-Cc73if6T.js.gz +0 -0
- package/dist/web/assets/composer-git-menu-D5iLjy59.js.br +0 -0
- package/dist/web/assets/composer-git-menu-D5iLjy59.js.gz +0 -0
- package/dist/web/assets/dist-4ky5Vf9m.js.br +0 -0
- package/dist/web/assets/dist-4ky5Vf9m.js.gz +0 -0
- package/dist/web/assets/dist-A_NLKdyw.js.br +0 -0
- package/dist/web/assets/dist-A_NLKdyw.js.gz +0 -0
- package/dist/web/assets/dist-B24xk3Wj.js.br +0 -0
- package/dist/web/assets/dist-B24xk3Wj.js.gz +0 -0
- package/dist/web/assets/dist-B9BcXMql.js.br +0 -0
- package/dist/web/assets/dist-B9BcXMql.js.gz +0 -0
- package/dist/web/assets/dist-BSYXEhIz.js.br +0 -0
- package/dist/web/assets/dist-BSYXEhIz.js.gz +0 -0
- package/dist/web/assets/dist-CQJQA-5W.js.br +0 -0
- package/dist/web/assets/dist-CQJQA-5W.js.gz +0 -0
- package/dist/web/assets/dist-CjuFTbZP.js.br +0 -0
- package/dist/web/assets/dist-CjuFTbZP.js.gz +0 -0
- package/dist/web/assets/dist-D24hK3Xq.js.br +0 -0
- package/dist/web/assets/dist-D24hK3Xq.js.gz +0 -0
- package/dist/web/assets/dist-D3-ZjJ2N.js.br +0 -0
- package/dist/web/assets/dist-D3-ZjJ2N.js.gz +0 -0
- package/dist/web/assets/dist-D8PP7WHN.js.br +0 -0
- package/dist/web/assets/dist-D8PP7WHN.js.gz +0 -0
- package/dist/web/assets/dist-DHqTYXE-.js.br +0 -0
- package/dist/web/assets/dist-DHqTYXE-.js.gz +0 -0
- package/dist/web/assets/dist-DhzZV2ds.js.br +0 -0
- package/dist/web/assets/dist-DhzZV2ds.js.gz +0 -0
- package/dist/web/assets/document-navigation-75a_uuKd.js.br +0 -0
- package/dist/web/assets/document-navigation-75a_uuKd.js.gz +0 -0
- package/dist/web/assets/document-workspace-tabs-COLOi5R0.js.br +0 -0
- package/dist/web/assets/document-workspace-tabs-COLOi5R0.js.gz +0 -0
- package/dist/web/assets/download-B2IDfj2R.js +0 -1
- package/dist/web/assets/download-B2IDfj2R.js.br +0 -0
- package/dist/web/assets/download-B2IDfj2R.js.gz +0 -0
- package/dist/web/assets/engine-setup-gate-KavFzQKj.js.br +0 -0
- package/dist/web/assets/engine-setup-gate-KavFzQKj.js.gz +0 -0
- package/dist/web/assets/extension-list-DbJgWuAz.js +0 -1
- package/dist/web/assets/extension-list-DbJgWuAz.js.br +0 -0
- package/dist/web/assets/extension-list-DbJgWuAz.js.gz +0 -0
- package/dist/web/assets/external-link-D-LrX49w.js.br +0 -0
- package/dist/web/assets/external-link-D-LrX49w.js.gz +0 -0
- package/dist/web/assets/file-navigation-view-preference-2aESOSJW.js.br +0 -0
- package/dist/web/assets/file-navigation-view-preference-2aESOSJW.js.gz +0 -0
- package/dist/web/assets/file-review-dialog-Cm2hBQqY.js +0 -2
- package/dist/web/assets/file-review-dialog-Cm2hBQqY.js.br +0 -0
- package/dist/web/assets/file-review-dialog-Cm2hBQqY.js.gz +0 -0
- package/dist/web/assets/git-commit-review-C6UC-zZE.js +0 -2
- package/dist/web/assets/git-commit-review-C6UC-zZE.js.br +0 -0
- package/dist/web/assets/git-commit-review-C6UC-zZE.js.gz +0 -0
- package/dist/web/assets/git-history-panel-BeCbvj2H.js +0 -1
- package/dist/web/assets/git-history-panel-BeCbvj2H.js.br +0 -0
- package/dist/web/assets/git-history-panel-BeCbvj2H.js.gz +0 -0
- package/dist/web/assets/global-search-dialog-BmcW-90r.js +0 -2
- package/dist/web/assets/global-search-dialog-BmcW-90r.js.br +0 -0
- package/dist/web/assets/global-search-dialog-BmcW-90r.js.gz +0 -0
- package/dist/web/assets/global-settings-about-l1sCNAz5.js +0 -1
- package/dist/web/assets/global-settings-about-l1sCNAz5.js.br +0 -0
- package/dist/web/assets/global-settings-about-l1sCNAz5.js.gz +0 -0
- package/dist/web/assets/global-settings-fields-LJOjIwQ_.js.br +0 -0
- package/dist/web/assets/global-settings-fields-LJOjIwQ_.js.gz +0 -0
- package/dist/web/assets/global-settings-page-DYEc-yXa.js +0 -2
- package/dist/web/assets/global-settings-page-DYEc-yXa.js.br +0 -0
- package/dist/web/assets/global-settings-page-DYEc-yXa.js.gz +0 -0
- package/dist/web/assets/global-settings-pets-CZgXMjYK.js +0 -1
- package/dist/web/assets/global-settings-pets-CZgXMjYK.js.br +0 -0
- package/dist/web/assets/global-settings-pets-CZgXMjYK.js.gz +0 -0
- package/dist/web/assets/highlighted-body-OFNGDK62-D98CSs06.js.br +0 -0
- package/dist/web/assets/highlighted-body-OFNGDK62-D98CSs06.js.gz +0 -0
- package/dist/web/assets/history-task-timeline-DAex1zI2.js.br +0 -0
- package/dist/web/assets/history-task-timeline-DAex1zI2.js.gz +0 -0
- package/dist/web/assets/image-R-U-mYHf.js.br +0 -0
- package/dist/web/assets/image-R-U-mYHf.js.gz +0 -0
- package/dist/web/assets/image-preview-BSsSMEKx.js.br +0 -0
- package/dist/web/assets/image-preview-BSsSMEKx.js.gz +0 -0
- package/dist/web/assets/image-preview-content-BDHF7njg.js.br +0 -0
- package/dist/web/assets/image-preview-content-BDHF7njg.js.gz +0 -0
- package/dist/web/assets/index-BWaH5L2Y.js +0 -4
- package/dist/web/assets/index-BWaH5L2Y.js.br +0 -0
- package/dist/web/assets/index-BWaH5L2Y.js.gz +0 -0
- package/dist/web/assets/initial-deps-CCdrudAz.js.br +0 -0
- package/dist/web/assets/initial-deps-iKA5xHo-.js +0 -2
- package/dist/web/assets/initial-deps-iKA5xHo-.js.br +0 -0
- package/dist/web/assets/initial-deps-iKA5xHo-.js.gz +0 -0
- package/dist/web/assets/initial-deps-kUkmh9lq.js +0 -1
- package/dist/web/assets/initial-deps-kUkmh9lq.js.br +0 -0
- package/dist/web/assets/initial-deps-kUkmh9lq.js.gz +0 -0
- package/dist/web/assets/installed-skills-pane-Bxo9Rtgq.js +0 -1
- package/dist/web/assets/installed-skills-pane-Bxo9Rtgq.js.br +0 -0
- package/dist/web/assets/installed-skills-pane-Bxo9Rtgq.js.gz +0 -0
- package/dist/web/assets/keyboard-shortcuts-dialog-C-GWhNWL.js.br +0 -0
- package/dist/web/assets/keyboard-shortcuts-dialog-C-GWhNWL.js.gz +0 -0
- package/dist/web/assets/maximize-2-BpkZlbuw.js.br +0 -0
- package/dist/web/assets/maximize-2-BpkZlbuw.js.gz +0 -0
- package/dist/web/assets/mcp-management-pane-DgXUejjs.js +0 -1
- package/dist/web/assets/mcp-management-pane-DgXUejjs.js.br +0 -0
- package/dist/web/assets/mcp-management-pane-DgXUejjs.js.gz +0 -0
- package/dist/web/assets/mermaid-GHXKKRXX-B5xOxKdS.js +0 -1
- package/dist/web/assets/mermaid-GHXKKRXX-B5xOxKdS.js.br +0 -1
- package/dist/web/assets/mermaid-GHXKKRXX-B5xOxKdS.js.gz +0 -0
- package/dist/web/assets/message-assistant-directive-BbyudKwa.js +0 -3
- package/dist/web/assets/message-assistant-directive-BbyudKwa.js.br +0 -0
- package/dist/web/assets/message-assistant-directive-BbyudKwa.js.gz +0 -0
- package/dist/web/assets/message-response-BqoIkXV5.js.br +0 -0
- package/dist/web/assets/message-response-BqoIkXV5.js.gz +0 -0
- package/dist/web/assets/model-context-window-input-CwGTWSfk.js.br +0 -0
- package/dist/web/assets/model-context-window-input-CwGTWSfk.js.gz +0 -0
- package/dist/web/assets/official-plugin-sheet-DnfSzz6a.js.br +0 -0
- package/dist/web/assets/official-plugin-sheet-DnfSzz6a.js.gz +0 -0
- package/dist/web/assets/official-plugins-pane-CNARU0sq.js +0 -2
- package/dist/web/assets/official-plugins-pane-CNARU0sq.js.br +0 -0
- package/dist/web/assets/official-plugins-pane-CNARU0sq.js.gz +0 -0
- package/dist/web/assets/open-project-path-CEfQwpgq.js +0 -1
- package/dist/web/assets/open-project-path-CEfQwpgq.js.br +0 -0
- package/dist/web/assets/open-project-path-CEfQwpgq.js.gz +0 -0
- package/dist/web/assets/patch-diff-viewer-AqkBM917.js.br +0 -0
- package/dist/web/assets/patch-diff-viewer-AqkBM917.js.gz +0 -0
- package/dist/web/assets/personalization-settings-panel-CVrwQzX8.js.br +0 -0
- package/dist/web/assets/personalization-settings-panel-CVrwQzX8.js.gz +0 -0
- package/dist/web/assets/project-file-popup-page-ByGcOFiM.js.br +0 -0
- package/dist/web/assets/project-file-popup-page-ByGcOFiM.js.gz +0 -0
- package/dist/web/assets/project-sidebar-timeline-CQiXo2Yp.js.br +0 -0
- package/dist/web/assets/project-sidebar-timeline-CQiXo2Yp.js.gz +0 -0
- package/dist/web/assets/project-source-panel-D2ThYp5d.js.br +0 -0
- package/dist/web/assets/project-source-panel-D2ThYp5d.js.gz +0 -0
- package/dist/web/assets/prompt-input-g79Q2uIz.js +0 -1
- package/dist/web/assets/prompt-input-g79Q2uIz.js.br +0 -0
- package/dist/web/assets/prompt-input-g79Q2uIz.js.gz +0 -0
- package/dist/web/assets/provider-connection-panel-Bl65NHxW.js.br +0 -0
- package/dist/web/assets/provider-connection-panel-Bl65NHxW.js.gz +0 -0
- package/dist/web/assets/provider-connection-queries-BF1EH_j1.js.br +0 -0
- package/dist/web/assets/provider-connection-queries-BF1EH_j1.js.gz +0 -0
- package/dist/web/assets/resources-en-DqA58Edj.js +0 -1
- package/dist/web/assets/resources-en-DqA58Edj.js.br +0 -0
- package/dist/web/assets/resources-en-DqA58Edj.js.gz +0 -0
- package/dist/web/assets/saved-prompts-settings-wYShXSzY.js +0 -1
- package/dist/web/assets/saved-prompts-settings-wYShXSzY.js.br +0 -0
- package/dist/web/assets/saved-prompts-settings-wYShXSzY.js.gz +0 -0
- package/dist/web/assets/scan-BKLK7DRs.js.br +0 -3
- package/dist/web/assets/scan-BKLK7DRs.js.gz +0 -0
- package/dist/web/assets/scheduled-task-date-time-picker-D1crBziK.js.br +0 -0
- package/dist/web/assets/scheduled-task-date-time-picker-D1crBziK.js.gz +0 -0
- package/dist/web/assets/scheduled-tasks-container-BFP-RHj4.js.br +0 -0
- package/dist/web/assets/scheduled-tasks-container-BFP-RHj4.js.gz +0 -0
- package/dist/web/assets/server-hY1i_VI0.js.br +0 -3
- package/dist/web/assets/server-hY1i_VI0.js.gz +0 -0
- package/dist/web/assets/settings-mutation-status-DoCrIJqt.js.br +0 -0
- package/dist/web/assets/settings-mutation-status-DoCrIJqt.js.gz +0 -0
- package/dist/web/assets/settings-save-status-z2qZDNCS.js.br +0 -0
- package/dist/web/assets/settings-save-status-z2qZDNCS.js.gz +0 -0
- package/dist/web/assets/shiki-bundle-uz23m7wG.js.br +0 -2
- package/dist/web/assets/shiki-bundle-uz23m7wG.js.gz +0 -0
- package/dist/web/assets/skills-market-container-CDYWjenT.js +0 -2
- package/dist/web/assets/skills-market-container-CDYWjenT.js.br +0 -0
- package/dist/web/assets/skills-market-container-CDYWjenT.js.gz +0 -0
- package/dist/web/assets/split-workspace-menu-content-C637t0FG.js +0 -1
- package/dist/web/assets/split-workspace-menu-content-C637t0FG.js.br +0 -0
- package/dist/web/assets/split-workspace-menu-content-C637t0FG.js.gz +0 -0
- package/dist/web/assets/task-timeline-process-history-BoN-GAHk.js.br +0 -0
- package/dist/web/assets/task-timeline-process-history-BoN-GAHk.js.gz +0 -0
- package/dist/web/assets/text-file-editor-CCcnq2j2.js.br +0 -0
- package/dist/web/assets/text-file-editor-CCcnq2j2.js.gz +0 -0
- package/dist/web/assets/upload-CBUNoBDE.js.br +0 -0
- package/dist/web/assets/upload-CBUNoBDE.js.gz +0 -0
- package/dist/web/assets/usage-statistics-CsFiZTzg.js.br +0 -0
- package/dist/web/assets/usage-statistics-CsFiZTzg.js.gz +0 -0
- package/dist/web/assets/utils-Bd_KH2PS.js.br +0 -4
- package/dist/web/assets/utils-Bd_KH2PS.js.gz +0 -0
- package/dist/web/assets/workbench-inspector-changes-Dw5RrTEH.js +0 -1
- package/dist/web/assets/workbench-inspector-changes-Dw5RrTEH.js.br +0 -0
- package/dist/web/assets/workbench-inspector-changes-Dw5RrTEH.js.gz +0 -0
- package/dist/web/assets/workbench-pet-canvas-AgrvaVkp.js.br +0 -0
- package/dist/web/assets/workbench-pet-canvas-AgrvaVkp.js.gz +0 -0
- package/dist/web/assets/workbench-shell-aBD85-VI.js +0 -17
- package/dist/web/assets/workbench-shell-aBD85-VI.js.br +0 -0
- package/dist/web/assets/workbench-shell-aBD85-VI.js.gz +0 -0
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{it as e}from"./initial-deps-CAnleAzJ.js";var t=e(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]);export{t};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,t as n}from"./react-runtime-CMZHB3u8.js";import{s as r}from"./initial-deps-cK7Q2EcP.js";import{G as i,T as a,i as o,p as s,rt as c}from"./initial-deps-CCdrudAz.js";import{t as l}from"./activity-2h6qck2R.js";import{t as u}from"./arrow-up-right-Gz5bB5ij.js";import{t as d}from"./calendar-days-CFiUA_Ph.js";import{t as f}from"./chevron-left-CZsIXYgL.js";var p=c(`arrow-down-left`,[[`path`,{d:`M17 7 7 17`,key:`15tmo1`}],[`path`,{d:`M17 17H7V7`,key:`1org7z`}]]),m=c(`database`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 21 19V5`,key:`1wlel7`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`,key:`mv7ke4`}]]),h=e(t(),1),g=[`inputTokens`,`outputTokens`,`cacheReadTokens`,`cacheWriteTokens`],_=[`totalTokens`,...g];function v(e){let t=new Date(Date.UTC(e,0,1)),n=Array.from({length:t.getUTCDay()},()=>null);for(let r=t;r.getUTCFullYear()===e;r=new Date(r.getTime()+864e5))n.push(r.toISOString().slice(0,10));for(;n.length%7;)n.push(null);return n}function y(e){let t={totalTokens:null,inputTokens:null,outputTokens:null,cacheReadTokens:null,cacheWriteTokens:null},n=new Set,r=new Map,i=Array.from({length:12},()=>0),a={codex:0,claude:0};for(let o of e){let e=g.reduce((e,t)=>e+(o[t]??0),0);for(let t of g)(o.totalTokens??0)>0&&(o[t]===null||e<(o.totalTokens??0))&&n.add(t);for(let e of _)o[e]!==null&&(t[e]=(t[e]??0)+o[e]);let s=o.totalTokens??0;r.set(o.day,(r.get(o.day)??0)+s);let c=Number(o.day.slice(5,7))-1;i[c]=(i[c]??0)+s,a[o.engine]+=s}let o=0,s=0,c=null;for(let[e,t]of r)t>0&&(o+=1),t>s&&(s=t,c=e);return{...t,days:r,months:i,engines:a,activeDays:o,peakTokens:s,peakDay:c,partialFields:n}}function b(e){return e.startsWith(`zh`)?{title:`用量统计`,all:`全部`,refresh:`刷新`,previous:`上一年`,next:`下一年`,year:`统计年份`,total:`总用量`,active:`活跃天数`,days:`天`,peak:`单日峰值`,noPeak:`暂无记录`,activity:`用量热力图`,less:`少`,more:`多`,monthTrend:`月度趋势`,engineShare:`引擎分布`,taskDetail:`当天任务`,noTasks:`这一天还没有用量记录`,tasksLimit:`用量前 50 项`,unknownTask:`已删除或未命名的任务`,empty:`暂无用量记录`,emptyHint:`运行 Codex 或 Claude 任务后,用量将自动记录。`,loading:`正在读取用量…`,error:`用量暂时无法读取`,retry:`重试`,zone:`UTC`,about:`统计说明`,note:`按 UTC 日期记录引擎返回的实际用量,缺失项不估算。输入不含单列的缓存读取。统计不代表订阅额度或账单。`,breakdown:`Token 明细`,unavailable:`未提供`,inputTokens:`输入`,outputTokens:`输出`,cacheReadTokens:`缓存读取`,cacheWriteTokens:`缓存写入`,closeDay:`清除日期选择`,tokens:`Token`,partial:`部分记录`,selectDate:`选择统计日期`}:{title:`Usage`,all:`All`,refresh:`Refresh`,previous:`Previous year`,next:`Next year`,year:`Year`,total:`Total tokens`,active:`Active days`,days:`days`,peak:`Daily peak`,noPeak:`No records`,activity:`Usage activity`,less:`Less`,more:`More`,monthTrend:`Monthly trend`,engineShare:`By engine`,taskDetail:`Tasks on this day`,noTasks:`No usage recorded on this day`,tasksLimit:`Top 50 tasks by usage`,unknownTask:`Deleted or untitled task`,empty:`No usage yet`,emptyHint:`Run a Codex or Claude task to start recording usage.`,loading:`Loading usage…`,error:`Usage is temporarily unavailable`,retry:`Retry`,zone:`UTC`,about:`About usage`,note:`Usage is reported by your engines and grouped by UTC date. Missing fields are not estimated. Input excludes separate cache reads. These totals are not your allowance or bill.`,breakdown:`Token breakdown`,unavailable:`Not reported`,inputTokens:`Input`,outputTokens:`Output`,cacheReadTokens:`Cache read`,cacheWriteTokens:`Cache write`,closeDay:`Clear selected date`,tokens:`tokens`,partial:`Partially reported`,selectDate:`Select a date`}}var x=n(),S=[],C={inputTokens:p,outputTokens:u,cacheReadTokens:m,cacheWriteTokens:m};function w({client:e,language:t}){let n=b(t),c=(0,h.useId)(),u=new Date().getUTCFullYear(),[p,m]=(0,h.useState)(u),[_,w]=(0,h.useState)(`all`),[T,E]=(0,h.useState)(null),D=(0,h.useRef)(null),O=t.startsWith(`zh`)?`zh-CN`:`en-US`,k=(0,h.useMemo)(()=>new Intl.NumberFormat(O),[O]),A=(0,h.useMemo)(()=>new Intl.NumberFormat(O,{notation:`compact`,maximumFractionDigits:1}),[O]),j=(0,h.useMemo)(()=>Array.from({length:12},(e,t)=>new Intl.DateTimeFormat(O,{month:`short`,timeZone:`UTC`}).format(new Date(Date.UTC(p,t,1)))),[O,p]),M={year:p,..._===`all`?{}:{engine:_}},N=r({queryKey:[`token-usage`,p],queryFn:()=>e.getTokenUsage({year:p}),staleTime:3e4,gcTime:3e5,refetchOnWindowFocus:!1,retry:1}),P=r({queryKey:[`token-usage-day`,p,_,T],queryFn:()=>e.getTokenUsage({...M,day:T??``}),enabled:T!==null,staleTime:3e4,gcTime:3e5,refetchOnWindowFocus:!1,retry:1}),F=(0,h.useMemo)(()=>(N.data?.days??S).filter(e=>_===`all`||e.engine===_),[N.data?.days,_]),I=(0,h.useMemo)(()=>y(F),[F]),L=(0,h.useMemo)(()=>v(p),[p]),R=new Date().toISOString().slice(0,10);(0,h.useEffect)(()=>{let e=D.current;if(!e||!N.isSuccess||e.scrollWidth<=e.clientWidth)return;let t=p===u?R:`${String(p)}-12-31`,n=e.querySelector(`[data-day="${t}"]`);n&&(e.scrollLeft+=n.getBoundingClientRect().right-e.getBoundingClientRect().right+24)},[p,u,R,N.isSuccess]);let z=T?F.filter(e=>e.day===T):F,B=T?y(z):I,V=e=>e===null?`—`:k.format(e),H=e=>new Intl.DateTimeFormat(O,{month:`long`,day:`numeric`,timeZone:`UTC`}).format(new Date(`${e}T00:00:00Z`)),U=e=>{m(e),E(null)},W=()=>{N.refetch(),T&&P.refetch()},G=T??(p===u?R:`${String(p)}-01-01`),K=e=>{let t={ArrowUp:-1,ArrowDown:1,ArrowLeft:-7,ArrowRight:7}[e.key];if(t===void 0&&e.key!==`Home`&&e.key!==`End`)return;e.preventDefault();let n=Array.from(e.currentTarget.parentElement?.querySelectorAll(`button:not(:disabled)`)??[]),r=n.indexOf(e.currentTarget);n[e.key===`Home`?0:e.key===`End`?n.length-1:Math.min(n.length-1,Math.max(0,r+(t??0)))]?.focus()};return(0,x.jsxs)(`section`,{className:`usage-statistics`,"aria-labelledby":`${c}-title`,children:[(0,x.jsx)(`header`,{className:`usage-heading`,children:(0,x.jsx)(`h1`,{id:`${c}-title`,children:n.title})}),(0,x.jsxs)(`div`,{className:`usage-toolbar`,children:[(0,x.jsx)(`div`,{className:`usage-engine-filter`,role:`group`,"aria-label":n.engineShare,children:[`all`,`codex`,`claude`].map(e=>(0,x.jsx)(`button`,{type:`button`,"aria-pressed":_===e,onClick:()=>{w(e)},children:e===`all`?n.all:e===`codex`?`Codex`:`Claude`},e))}),(0,x.jsxs)(`div`,{className:`usage-toolbar-end`,children:[(0,x.jsxs)(`div`,{className:`usage-year`,children:[(0,x.jsx)(`button`,{type:`button`,"aria-label":n.previous,disabled:p<=2e3,onClick:()=>{U(p-1)},children:(0,x.jsx)(f,{})}),(0,x.jsx)(`span`,{"aria-label":n.year,children:p}),(0,x.jsx)(`button`,{type:`button`,"aria-label":n.next,disabled:p>=u,onClick:()=>{U(p+1)},children:(0,x.jsx)(i,{})})]}),(0,x.jsx)(`button`,{className:`usage-refresh`,type:`button`,"aria-label":n.refresh,title:n.refresh,disabled:N.isFetching,onClick:W,children:(0,x.jsx)(s,{})})]})]}),N.isPending?(0,x.jsxs)(`div`,{className:`usage-loading`,role:`status`,children:[(0,x.jsx)(l,{}),n.loading,(0,x.jsx)(`div`,{className:`usage-loading-lines`})]}):N.isError?(0,x.jsxs)(`div`,{className:`usage-empty`,role:`alert`,children:[(0,x.jsx)(a,{}),(0,x.jsx)(`h2`,{children:n.error}),(0,x.jsx)(`button`,{type:`button`,onClick:W,children:n.retry})]}):(0,x.jsxs)(x.Fragment,{children:[(0,x.jsxs)(`div`,{className:`usage-overview`,children:[(0,x.jsxs)(`div`,{className:`usage-metric usage-total`,children:[(0,x.jsx)(`span`,{className:`usage-eyebrow`,children:n.total}),(0,x.jsx)(`strong`,{className:`usage-metric-value usage-total-number`,title:V(I.totalTokens),children:I.totalTokens===null?`0`:A.format(I.totalTokens)}),(0,x.jsx)(`span`,{className:`usage-caption`,children:`Tokens`})]}),(0,x.jsxs)(`div`,{className:`usage-metric`,children:[(0,x.jsx)(`span`,{className:`usage-eyebrow`,children:n.active}),(0,x.jsx)(`strong`,{className:`usage-metric-value`,children:I.activeDays}),(0,x.jsx)(`span`,{className:`usage-caption`,children:n.days})]}),(0,x.jsxs)(`div`,{className:`usage-metric`,children:[(0,x.jsx)(`span`,{className:`usage-eyebrow`,children:n.peak}),(0,x.jsx)(`strong`,{className:`usage-metric-value`,title:V(I.peakTokens),children:A.format(I.peakTokens)}),(0,x.jsx)(`span`,{className:`usage-caption`,children:I.peakDay?H(I.peakDay):n.noPeak})]})]}),(0,x.jsxs)(`section`,{className:`usage-card usage-activity`,"aria-labelledby":`${c}-activity`,children:[(0,x.jsxs)(`div`,{className:`usage-section-heading`,children:[(0,x.jsx)(`h2`,{id:`${c}-activity`,children:n.activity}),(0,x.jsxs)(`div`,{className:`usage-date-controls`,children:[(0,x.jsx)(`input`,{type:`date`,"aria-label":n.selectDate,value:T??``,min:`${String(p)}-01-01`,max:p===u?R:`${String(p)}-12-31`,onChange:e=>{E(e.currentTarget.value||null)}}),T?(0,x.jsx)(`button`,{className:`usage-clear-day`,type:`button`,"aria-label":n.closeDay,onClick:()=>{E(null)},children:(0,x.jsx)(o,{})}):null]})]}),(0,x.jsx)(`div`,{className:`usage-calendar-scroll`,ref:D,children:(0,x.jsxs)(`div`,{className:`usage-calendar-layout`,style:{"--usage-weeks":L.length/7},children:[(0,x.jsx)(`div`,{className:`usage-months`,"aria-hidden":`true`,children:j.map((e,t)=>(0,x.jsx)(`span`,{style:{gridColumn:Math.floor((new Date(Date.UTC(p,t,1)).getUTCDate()-1+(Date.UTC(p,t,1)-Date.UTC(p,0,1))/864e5+new Date(Date.UTC(p,0,1)).getUTCDay())/7)+1},children:e},e))}),(0,x.jsx)(`div`,{className:`usage-weekdays`,"aria-hidden":`true`,children:Array.from({length:7},(e,t)=>(0,x.jsx)(`span`,{children:[1,3,5].includes(t)?new Intl.DateTimeFormat(O,{weekday:`narrow`,timeZone:`UTC`}).format(new Date(Date.UTC(2024,0,7+t))):``},t))}),(0,x.jsx)(`div`,{className:`usage-calendar`,role:`group`,"aria-label":`${String(p)} ${n.activity}`,children:L.map((e,t)=>{if(!e)return(0,x.jsx)(`span`,{},`padding-${String(t)}`);let r=I.days.get(e)??0,i=r<=0?0:Math.min(4,Math.max(1,Math.ceil(Math.sqrt(r/I.peakTokens)*4))),a=`${e} · ${k.format(r)} ${n.tokens}`;return(0,x.jsx)(`button`,{type:`button`,"data-day":e,"data-level":i,"data-today":e===R||void 0,"aria-label":a,title:a,"aria-pressed":T===e,tabIndex:e===G?0:-1,disabled:e>R,onKeyDown:e=>{K(e)},onClick:()=>{E(e)}},e)})})]})}),(0,x.jsxs)(`div`,{className:`usage-calendar-footer`,children:[(0,x.jsx)(`span`,{children:n.zone}),(0,x.jsxs)(`div`,{className:`usage-legend`,children:[(0,x.jsx)(`span`,{children:n.less}),[0,1,2,3,4].map(e=>(0,x.jsx)(`i`,{"data-level":e},e)),(0,x.jsx)(`span`,{children:n.more})]})]})]}),I.activeDays===0?(0,x.jsxs)(`div`,{className:`usage-empty`,children:[(0,x.jsx)(d,{}),(0,x.jsx)(`h2`,{children:n.empty}),(0,x.jsx)(`p`,{children:n.emptyHint})]}):(0,x.jsxs)(`div`,{className:`usage-secondary`,children:[(0,x.jsxs)(`section`,{className:`usage-card usage-trend`,"aria-labelledby":`${c}-trend`,children:[(0,x.jsx)(`h2`,{id:`${c}-trend`,children:n.monthTrend}),(0,x.jsx)(`div`,{className:`usage-month-chart`,role:`img`,"aria-label":I.months.map((e,t)=>`${j[t]??``}: ${V(e)}`).join(`, `),children:I.months.map((e,t)=>(0,x.jsxs)(`div`,{className:`usage-month-column`,children:[(0,x.jsx)(`div`,{className:`usage-month-track`,children:(0,x.jsx)(`span`,{style:{height:`${String(e?Math.max(3,e/Math.max(...I.months)*100):0)}%`},title:`${j[t]??``} · ${V(e)} Tokens`})}),(0,x.jsx)(`span`,{children:t+1})]},t))})]}),(0,x.jsxs)(`section`,{className:`usage-card usage-engines`,"aria-labelledby":`${c}-engines`,children:[(0,x.jsx)(`h2`,{id:`${c}-engines`,children:n.engineShare}),[`codex`,`claude`].map(e=>(0,x.jsxs)(`div`,{className:`usage-engine-row`,children:[(0,x.jsxs)(`div`,{children:[(0,x.jsx)(`span`,{className:`usage-dot usage-dot-${e}`}),(0,x.jsx)(`span`,{children:e===`codex`?`Codex`:`Claude`}),(0,x.jsx)(`strong`,{title:V(I.engines[e]),children:A.format(I.engines[e])})]}),(0,x.jsx)(`div`,{className:`usage-engine-track`,children:(0,x.jsx)(`span`,{"data-engine":e,style:{width:`${String(I.totalTokens?I.engines[e]/I.totalTokens*100:0)}%`}})})]},e))]})]}),T||g.some(e=>B[e]!==null)?(0,x.jsxs)(`section`,{className:`usage-card usage-details`,"aria-labelledby":`${c}-details`,children:[(0,x.jsx)(`div`,{className:`usage-section-heading`,children:(0,x.jsx)(`h2`,{id:`${c}-details`,children:T?H(T):n.breakdown})}),T?(0,x.jsxs)(`div`,{className:`usage-selected-total`,children:[V(B.totalTokens??0),` `,(0,x.jsx)(`span`,{children:`Tokens`})]}):null,g.some(e=>B[e]!==null)?(0,x.jsx)(`div`,{className:`usage-breakdown`,children:g.map(e=>{let t=C[e];return(0,x.jsxs)(`div`,{className:`usage-breakdown-item`,"data-field":e,children:[(0,x.jsxs)(`span`,{children:[(0,x.jsx)(t,{}),n[e]]}),(0,x.jsx)(`strong`,{title:V(B[e]),children:B[e]===null?`—`:`${B.partialFields.has(e)?`≥ `:``}${A.format(B[e])}`}),(0,x.jsx)(`span`,{className:`usage-caption`,children:B[e]===null?n.unavailable:B.partialFields.has(e)?n.partial:`Tokens`})]},e)})}):null,T?(0,x.jsxs)(`div`,{className:`usage-task-list`,children:[(0,x.jsxs)(`div`,{className:`usage-task-list-heading`,children:[(0,x.jsx)(`h3`,{children:n.taskDetail}),(0,x.jsx)(`span`,{children:n.tasksLimit})]}),P.isPending?(0,x.jsx)(`p`,{role:`status`,children:n.loading}):P.isError?(0,x.jsxs)(`div`,{role:`alert`,children:[(0,x.jsx)(`p`,{children:n.error}),(0,x.jsx)(`button`,{type:`button`,onClick:()=>void P.refetch(),children:n.retry})]}):P.data.tasks.length?P.data.tasks.map(e=>(0,x.jsxs)(`div`,{className:`usage-task-row`,children:[(0,x.jsx)(`span`,{className:`usage-dot usage-dot-${e.engine}`}),(0,x.jsxs)(`div`,{children:[(0,x.jsx)(`span`,{title:e.title,children:e.title||n.unknownTask}),(0,x.jsx)(`small`,{children:e.engine===`codex`?`Codex`:`Claude`})]}),(0,x.jsxs)(`strong`,{title:V(e.totalTokens),children:[V(e.totalTokens),(0,x.jsx)(`small`,{children:`Tokens`})]})]},`${e.engine}:${e.taskId}`)):(0,x.jsx)(`p`,{children:n.noTasks})]}):null]}):null,(0,x.jsxs)(`details`,{className:`usage-info`,children:[(0,x.jsxs)(`summary`,{children:[(0,x.jsx)(a,{}),n.about,(0,x.jsx)(i,{})]}),(0,x.jsx)(`p`,{children:n.note})]})]})]})}export{w as UsageStatistics};
|
|
1
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,t as n}from"./react-runtime-CMZHB3u8.js";import{s as r}from"./initial-deps-cK7Q2EcP.js";import{K as i,T as a,i as o,it as s,p as c}from"./initial-deps-CAnleAzJ.js";import{t as l}from"./activity-DuQdOyTa.js";import{t as u}from"./arrow-up-right-ixSa1mP8.js";import{t as d}from"./calendar-days-ClrHbVEB.js";import{t as f}from"./chevron-left-DeuW6-sG.js";var p=s(`arrow-down-left`,[[`path`,{d:`M17 7 7 17`,key:`15tmo1`}],[`path`,{d:`M17 17H7V7`,key:`1org7z`}]]),m=s(`database`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 21 19V5`,key:`1wlel7`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`,key:`mv7ke4`}]]),h=e(t(),1),g=[`inputTokens`,`outputTokens`,`cacheReadTokens`,`cacheWriteTokens`],_=[`totalTokens`,...g];function v(e){let t=new Date(Date.UTC(e,0,1)),n=Array.from({length:t.getUTCDay()},()=>null);for(let r=t;r.getUTCFullYear()===e;r=new Date(r.getTime()+864e5))n.push(r.toISOString().slice(0,10));for(;n.length%7;)n.push(null);return n}function y(e){let t={totalTokens:null,inputTokens:null,outputTokens:null,cacheReadTokens:null,cacheWriteTokens:null},n=new Set,r=new Map,i=Array.from({length:12},()=>0),a={codex:0,claude:0};for(let o of e){let e=g.reduce((e,t)=>e+(o[t]??0),0);for(let t of g)(o.totalTokens??0)>0&&(o[t]===null||e<(o.totalTokens??0))&&n.add(t);for(let e of _)o[e]!==null&&(t[e]=(t[e]??0)+o[e]);let s=o.totalTokens??0;r.set(o.day,(r.get(o.day)??0)+s);let c=Number(o.day.slice(5,7))-1;i[c]=(i[c]??0)+s,a[o.engine]+=s}let o=0,s=0,c=null;for(let[e,t]of r)t>0&&(o+=1),t>s&&(s=t,c=e);return{...t,days:r,months:i,engines:a,activeDays:o,peakTokens:s,peakDay:c,partialFields:n}}function b(e){return e.startsWith(`zh`)?{title:`用量统计`,all:`全部`,refresh:`刷新`,previous:`上一年`,next:`下一年`,year:`统计年份`,total:`总用量`,active:`活跃天数`,days:`天`,peak:`单日峰值`,noPeak:`暂无记录`,activity:`用量热力图`,less:`少`,more:`多`,monthTrend:`月度趋势`,engineShare:`引擎分布`,taskDetail:`当天任务`,noTasks:`这一天还没有用量记录`,tasksLimit:`用量前 50 项`,unknownTask:`已删除或未命名的任务`,empty:`暂无用量记录`,emptyHint:`运行 Codex 或 Claude 任务后,用量将自动记录。`,loading:`正在读取用量…`,error:`用量暂时无法读取`,retry:`重试`,zone:`UTC`,about:`统计说明`,note:`按 UTC 日期记录引擎返回的实际用量,缺失项不估算。输入不含单列的缓存读取。统计不代表订阅额度或账单。`,breakdown:`Token 明细`,unavailable:`未提供`,inputTokens:`输入`,outputTokens:`输出`,cacheReadTokens:`缓存读取`,cacheWriteTokens:`缓存写入`,closeDay:`清除日期选择`,tokens:`Token`,partial:`部分记录`,selectDate:`选择统计日期`}:{title:`Usage`,all:`All`,refresh:`Refresh`,previous:`Previous year`,next:`Next year`,year:`Year`,total:`Total tokens`,active:`Active days`,days:`days`,peak:`Daily peak`,noPeak:`No records`,activity:`Usage activity`,less:`Less`,more:`More`,monthTrend:`Monthly trend`,engineShare:`By engine`,taskDetail:`Tasks on this day`,noTasks:`No usage recorded on this day`,tasksLimit:`Top 50 tasks by usage`,unknownTask:`Deleted or untitled task`,empty:`No usage yet`,emptyHint:`Run a Codex or Claude task to start recording usage.`,loading:`Loading usage…`,error:`Usage is temporarily unavailable`,retry:`Retry`,zone:`UTC`,about:`About usage`,note:`Usage is reported by your engines and grouped by UTC date. Missing fields are not estimated. Input excludes separate cache reads. These totals are not your allowance or bill.`,breakdown:`Token breakdown`,unavailable:`Not reported`,inputTokens:`Input`,outputTokens:`Output`,cacheReadTokens:`Cache read`,cacheWriteTokens:`Cache write`,closeDay:`Clear selected date`,tokens:`tokens`,partial:`Partially reported`,selectDate:`Select a date`}}var x=n(),S=[],C={inputTokens:p,outputTokens:u,cacheReadTokens:m,cacheWriteTokens:m};function w({client:e,language:t}){let n=b(t),s=(0,h.useId)(),u=new Date().getUTCFullYear(),[p,m]=(0,h.useState)(u),[_,w]=(0,h.useState)(`all`),[T,E]=(0,h.useState)(null),D=(0,h.useRef)(null),O=t.startsWith(`zh`)?`zh-CN`:`en-US`,k=(0,h.useMemo)(()=>new Intl.NumberFormat(O),[O]),A=(0,h.useMemo)(()=>new Intl.NumberFormat(O,{notation:`compact`,maximumFractionDigits:1}),[O]),j=(0,h.useMemo)(()=>Array.from({length:12},(e,t)=>new Intl.DateTimeFormat(O,{month:`short`,timeZone:`UTC`}).format(new Date(Date.UTC(p,t,1)))),[O,p]),M={year:p,..._===`all`?{}:{engine:_}},N=r({queryKey:[`token-usage`,p],queryFn:()=>e.getTokenUsage({year:p}),staleTime:3e4,gcTime:3e5,refetchOnWindowFocus:!1,retry:1}),P=r({queryKey:[`token-usage-day`,p,_,T],queryFn:()=>e.getTokenUsage({...M,day:T??``}),enabled:T!==null,staleTime:3e4,gcTime:3e5,refetchOnWindowFocus:!1,retry:1}),F=(0,h.useMemo)(()=>(N.data?.days??S).filter(e=>_===`all`||e.engine===_),[N.data?.days,_]),I=(0,h.useMemo)(()=>y(F),[F]),L=(0,h.useMemo)(()=>v(p),[p]),R=new Date().toISOString().slice(0,10);(0,h.useEffect)(()=>{let e=D.current;if(!e||!N.isSuccess||e.scrollWidth<=e.clientWidth)return;let t=p===u?R:`${String(p)}-12-31`,n=e.querySelector(`[data-day="${t}"]`);n&&(e.scrollLeft+=n.getBoundingClientRect().right-e.getBoundingClientRect().right+24)},[p,u,R,N.isSuccess]);let z=T?F.filter(e=>e.day===T):F,B=T?y(z):I,V=e=>e===null?`—`:k.format(e),H=e=>new Intl.DateTimeFormat(O,{month:`long`,day:`numeric`,timeZone:`UTC`}).format(new Date(`${e}T00:00:00Z`)),U=e=>{m(e),E(null)},W=()=>{N.refetch(),T&&P.refetch()},G=T??(p===u?R:`${String(p)}-01-01`),K=e=>{let t={ArrowUp:-1,ArrowDown:1,ArrowLeft:-7,ArrowRight:7}[e.key];if(t===void 0&&e.key!==`Home`&&e.key!==`End`)return;e.preventDefault();let n=Array.from(e.currentTarget.parentElement?.querySelectorAll(`button:not(:disabled)`)??[]),r=n.indexOf(e.currentTarget);n[e.key===`Home`?0:e.key===`End`?n.length-1:Math.min(n.length-1,Math.max(0,r+(t??0)))]?.focus()};return(0,x.jsxs)(`section`,{className:`usage-statistics`,"aria-labelledby":`${s}-title`,children:[(0,x.jsx)(`header`,{className:`usage-heading`,children:(0,x.jsx)(`h1`,{id:`${s}-title`,children:n.title})}),(0,x.jsxs)(`div`,{className:`usage-toolbar`,children:[(0,x.jsx)(`div`,{className:`usage-engine-filter`,role:`group`,"aria-label":n.engineShare,children:[`all`,`codex`,`claude`].map(e=>(0,x.jsx)(`button`,{type:`button`,"aria-pressed":_===e,onClick:()=>{w(e)},children:e===`all`?n.all:e===`codex`?`Codex`:`Claude`},e))}),(0,x.jsxs)(`div`,{className:`usage-toolbar-end`,children:[(0,x.jsxs)(`div`,{className:`usage-year`,children:[(0,x.jsx)(`button`,{type:`button`,"aria-label":n.previous,disabled:p<=2e3,onClick:()=>{U(p-1)},children:(0,x.jsx)(f,{})}),(0,x.jsx)(`span`,{"aria-label":n.year,children:p}),(0,x.jsx)(`button`,{type:`button`,"aria-label":n.next,disabled:p>=u,onClick:()=>{U(p+1)},children:(0,x.jsx)(i,{})})]}),(0,x.jsx)(`button`,{className:`usage-refresh`,type:`button`,"aria-label":n.refresh,title:n.refresh,disabled:N.isFetching,onClick:W,children:(0,x.jsx)(c,{})})]})]}),N.isPending?(0,x.jsxs)(`div`,{className:`usage-loading`,role:`status`,children:[(0,x.jsx)(l,{}),n.loading,(0,x.jsx)(`div`,{className:`usage-loading-lines`})]}):N.isError?(0,x.jsxs)(`div`,{className:`usage-empty`,role:`alert`,children:[(0,x.jsx)(a,{}),(0,x.jsx)(`h2`,{children:n.error}),(0,x.jsx)(`button`,{type:`button`,onClick:W,children:n.retry})]}):(0,x.jsxs)(x.Fragment,{children:[(0,x.jsxs)(`div`,{className:`usage-overview`,children:[(0,x.jsxs)(`div`,{className:`usage-metric usage-total`,children:[(0,x.jsx)(`span`,{className:`usage-eyebrow`,children:n.total}),(0,x.jsx)(`strong`,{className:`usage-metric-value usage-total-number`,title:V(I.totalTokens),children:I.totalTokens===null?`0`:A.format(I.totalTokens)}),(0,x.jsx)(`span`,{className:`usage-caption`,children:`Tokens`})]}),(0,x.jsxs)(`div`,{className:`usage-metric`,children:[(0,x.jsx)(`span`,{className:`usage-eyebrow`,children:n.active}),(0,x.jsx)(`strong`,{className:`usage-metric-value`,children:I.activeDays}),(0,x.jsx)(`span`,{className:`usage-caption`,children:n.days})]}),(0,x.jsxs)(`div`,{className:`usage-metric`,children:[(0,x.jsx)(`span`,{className:`usage-eyebrow`,children:n.peak}),(0,x.jsx)(`strong`,{className:`usage-metric-value`,title:V(I.peakTokens),children:A.format(I.peakTokens)}),(0,x.jsx)(`span`,{className:`usage-caption`,children:I.peakDay?H(I.peakDay):n.noPeak})]})]}),(0,x.jsxs)(`section`,{className:`usage-card usage-activity`,"aria-labelledby":`${s}-activity`,children:[(0,x.jsxs)(`div`,{className:`usage-section-heading`,children:[(0,x.jsx)(`h2`,{id:`${s}-activity`,children:n.activity}),(0,x.jsxs)(`div`,{className:`usage-date-controls`,children:[(0,x.jsx)(`input`,{type:`date`,"aria-label":n.selectDate,value:T??``,min:`${String(p)}-01-01`,max:p===u?R:`${String(p)}-12-31`,onChange:e=>{E(e.currentTarget.value||null)}}),T?(0,x.jsx)(`button`,{className:`usage-clear-day`,type:`button`,"aria-label":n.closeDay,onClick:()=>{E(null)},children:(0,x.jsx)(o,{})}):null]})]}),(0,x.jsx)(`div`,{className:`usage-calendar-scroll`,ref:D,children:(0,x.jsxs)(`div`,{className:`usage-calendar-layout`,style:{"--usage-weeks":L.length/7},children:[(0,x.jsx)(`div`,{className:`usage-months`,"aria-hidden":`true`,children:j.map((e,t)=>(0,x.jsx)(`span`,{style:{gridColumn:Math.floor((new Date(Date.UTC(p,t,1)).getUTCDate()-1+(Date.UTC(p,t,1)-Date.UTC(p,0,1))/864e5+new Date(Date.UTC(p,0,1)).getUTCDay())/7)+1},children:e},e))}),(0,x.jsx)(`div`,{className:`usage-weekdays`,"aria-hidden":`true`,children:Array.from({length:7},(e,t)=>(0,x.jsx)(`span`,{children:[1,3,5].includes(t)?new Intl.DateTimeFormat(O,{weekday:`narrow`,timeZone:`UTC`}).format(new Date(Date.UTC(2024,0,7+t))):``},t))}),(0,x.jsx)(`div`,{className:`usage-calendar`,role:`group`,"aria-label":`${String(p)} ${n.activity}`,children:L.map((e,t)=>{if(!e)return(0,x.jsx)(`span`,{},`padding-${String(t)}`);let r=I.days.get(e)??0,i=r<=0?0:Math.min(4,Math.max(1,Math.ceil(Math.sqrt(r/I.peakTokens)*4))),a=`${e} · ${k.format(r)} ${n.tokens}`;return(0,x.jsx)(`button`,{type:`button`,"data-day":e,"data-level":i,"data-today":e===R||void 0,"aria-label":a,title:a,"aria-pressed":T===e,tabIndex:e===G?0:-1,disabled:e>R,onKeyDown:e=>{K(e)},onClick:()=>{E(e)}},e)})})]})}),(0,x.jsxs)(`div`,{className:`usage-calendar-footer`,children:[(0,x.jsx)(`span`,{children:n.zone}),(0,x.jsxs)(`div`,{className:`usage-legend`,children:[(0,x.jsx)(`span`,{children:n.less}),[0,1,2,3,4].map(e=>(0,x.jsx)(`i`,{"data-level":e},e)),(0,x.jsx)(`span`,{children:n.more})]})]})]}),I.activeDays===0?(0,x.jsxs)(`div`,{className:`usage-empty`,children:[(0,x.jsx)(d,{}),(0,x.jsx)(`h2`,{children:n.empty}),(0,x.jsx)(`p`,{children:n.emptyHint})]}):(0,x.jsxs)(`div`,{className:`usage-secondary`,children:[(0,x.jsxs)(`section`,{className:`usage-card usage-trend`,"aria-labelledby":`${s}-trend`,children:[(0,x.jsx)(`h2`,{id:`${s}-trend`,children:n.monthTrend}),(0,x.jsx)(`div`,{className:`usage-month-chart`,role:`img`,"aria-label":I.months.map((e,t)=>`${j[t]??``}: ${V(e)}`).join(`, `),children:I.months.map((e,t)=>(0,x.jsxs)(`div`,{className:`usage-month-column`,children:[(0,x.jsx)(`div`,{className:`usage-month-track`,children:(0,x.jsx)(`span`,{style:{height:`${String(e?Math.max(3,e/Math.max(...I.months)*100):0)}%`},title:`${j[t]??``} · ${V(e)} Tokens`})}),(0,x.jsx)(`span`,{children:t+1})]},t))})]}),(0,x.jsxs)(`section`,{className:`usage-card usage-engines`,"aria-labelledby":`${s}-engines`,children:[(0,x.jsx)(`h2`,{id:`${s}-engines`,children:n.engineShare}),[`codex`,`claude`].map(e=>(0,x.jsxs)(`div`,{className:`usage-engine-row`,children:[(0,x.jsxs)(`div`,{children:[(0,x.jsx)(`span`,{className:`usage-dot usage-dot-${e}`}),(0,x.jsx)(`span`,{children:e===`codex`?`Codex`:`Claude`}),(0,x.jsx)(`strong`,{title:V(I.engines[e]),children:A.format(I.engines[e])})]}),(0,x.jsx)(`div`,{className:`usage-engine-track`,children:(0,x.jsx)(`span`,{"data-engine":e,style:{width:`${String(I.totalTokens?I.engines[e]/I.totalTokens*100:0)}%`}})})]},e))]})]}),T||g.some(e=>B[e]!==null)?(0,x.jsxs)(`section`,{className:`usage-card usage-details`,"aria-labelledby":`${s}-details`,children:[(0,x.jsx)(`div`,{className:`usage-section-heading`,children:(0,x.jsx)(`h2`,{id:`${s}-details`,children:T?H(T):n.breakdown})}),T?(0,x.jsxs)(`div`,{className:`usage-selected-total`,children:[V(B.totalTokens??0),` `,(0,x.jsx)(`span`,{children:`Tokens`})]}):null,g.some(e=>B[e]!==null)?(0,x.jsx)(`div`,{className:`usage-breakdown`,children:g.map(e=>{let t=C[e];return(0,x.jsxs)(`div`,{className:`usage-breakdown-item`,"data-field":e,children:[(0,x.jsxs)(`span`,{children:[(0,x.jsx)(t,{}),n[e]]}),(0,x.jsx)(`strong`,{title:V(B[e]),children:B[e]===null?`—`:`${B.partialFields.has(e)?`≥ `:``}${A.format(B[e])}`}),(0,x.jsx)(`span`,{className:`usage-caption`,children:B[e]===null?n.unavailable:B.partialFields.has(e)?n.partial:`Tokens`})]},e)})}):null,T?(0,x.jsxs)(`div`,{className:`usage-task-list`,children:[(0,x.jsxs)(`div`,{className:`usage-task-list-heading`,children:[(0,x.jsx)(`h3`,{children:n.taskDetail}),(0,x.jsx)(`span`,{children:n.tasksLimit})]}),P.isPending?(0,x.jsx)(`p`,{role:`status`,children:n.loading}):P.isError?(0,x.jsxs)(`div`,{role:`alert`,children:[(0,x.jsx)(`p`,{children:n.error}),(0,x.jsx)(`button`,{type:`button`,onClick:()=>void P.refetch(),children:n.retry})]}):P.data.tasks.length?P.data.tasks.map(e=>(0,x.jsxs)(`div`,{className:`usage-task-row`,children:[(0,x.jsx)(`span`,{className:`usage-dot usage-dot-${e.engine}`}),(0,x.jsxs)(`div`,{children:[(0,x.jsx)(`span`,{title:e.title,children:e.title||n.unknownTask}),(0,x.jsx)(`small`,{children:e.engine===`codex`?`Codex`:`Claude`})]}),(0,x.jsxs)(`strong`,{title:V(e.totalTokens),children:[V(e.totalTokens),(0,x.jsx)(`small`,{children:`Tokens`})]})]},`${e.engine}:${e.taskId}`)):(0,x.jsx)(`p`,{children:n.noTasks})]}):null]}):null,(0,x.jsxs)(`details`,{className:`usage-info`,children:[(0,x.jsxs)(`summary`,{children:[(0,x.jsx)(a,{}),n.about,(0,x.jsx)(i,{})]}),(0,x.jsx)(`p`,{children:n.note})]})]})]})}export{w as UsageStatistics};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as e}from"./initial-deps-DgzPJEbl.js";import{
|
|
1
|
+
import{d as e}from"./initial-deps-DgzPJEbl.js";import{it as t,r as n}from"./initial-deps-CAnleAzJ.js";var r=t(`git-fork`,[[`circle`,{cx:`12`,cy:`18`,r:`3`,key:`1mpf1b`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`path`,{d:`M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9`,key:`1uq4wg`}],[`path`,{d:`M12 12v3`,key:`158kv8`}]]),i=e({extend:{theme:{text:[`caption`,`meta`,`label`,`body-small`,`body`,`heading`,`title`,`display`]}}});function a(...e){return i(n(e))}export{r as n,a as t};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{A as t,B as n,Dn as r,En as i,Ft as a,Gt as o,H as s,It as c,K as l,M as u,Nt as d,On as f,Pt as p,Tn as m,U as h,Ut as g,V as _,W as v,Wt as y,k as b,q as x,wn as S,z as C,zr as w,zt as T}from"./initial-deps-B8N7gnPA.js";import{i as E,t as D}from"./react-runtime-CMZHB3u8.js";import{i as O,s as k,t as A,u as j}from"./initial-deps-cK7Q2EcP.js";import{t as M}from"./useMutationState-DZj3iudU.js";import{F as N,J as P,K as F,O as I,S as L,T as R,W as ee,et as z,it as B,lt as V,ot as H,p as U,q as W}from"./initial-deps-CAnleAzJ.js";import{t as te}from"./arrow-down-knUnWbV0.js";import{S as G,v as K}from"./prompt-input-C7bbVXaE.js";import{j as q}from"./message-assistant-directive-D5x1TsS8.js";import{n as ne,r as J,t as re}from"./file-navigation-view-preference-1eFJ96G_.js";import{t as Y}from"./upload-CtiReBUS.js";import{K as ie,ft as ae,pt as oe}from"./index-D3weiyhT.js";import{g as se,m as ce,n as le}from"./workbench-shell-DTjJ6Uzp.js";var ue=B(`arrow-down-to-line`,[[`path`,{d:`M12 17V3`,key:`1cwfxf`}],[`path`,{d:`m6 11 6 6 6-6`,key:`12ii2o`}],[`path`,{d:`M19 21H5`,key:`150jfl`}]]),de=B(`file-minus-corner`,[[`path`,{d:`M20 14V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12`,key:`l9p8hp`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M14 18h6`,key:`1m8k6r`}]]),fe=B(`settings-2`,[[`path`,{d:`M14 17H5`,key:`gfn3mx`}],[`path`,{d:`M19 7h-9`,key:`6i9tg`}],[`circle`,{cx:`17`,cy:`17`,r:`3`,key:`18b49y`}],[`circle`,{cx:`7`,cy:`7`,r:`3`,key:`dfmy0x`}]]);function X(e){let t=e?.toLowerCase()??``;return/(?:git|workspace) (?:status|changes|snapshot|state).*changed|head or branch changed|snapshot.?mismatch/u.test(t)?`state_changed`:/commit or set aside working changes|local changes.*overwritten|would be overwritten by merge/u.test(t)?`working_changes`:/resolve and stage all merge conflicts|choose a current merge conflict|complete or cancel.*merge|conflict marker/u.test(t)?`merge_conflicts`:/invalid remote (?:url|name)|invalid remote url or name/u.test(t)?`invalid_remote`:/host key verification|remote host identification has changed/u.test(t)?`host_key`:/protected branch|gh006|changes must be made through a pull request/u.test(t)?`protected_branch`:/authentication failed|publickey|invalid.*(?:token|password)|could not read username/u.test(t)?`authentication`:/write access|permission.*denied|not permitted|403|access denied/u.test(t)?`permission`:/non-fast-forward|not possible to fast-forward|cannot fast-forward|fetch first|tip of your current branch is behind/u.test(t)?`remote_updates`:/gh013|repository rule violations|pre-receive hook declined|hook declined|push declined/u.test(t)?`rules`:/timed out|timeout|connection.*(?:reset|closed)|unexpected disconnect/u.test(t)?`unknown_result`:/could not resolve|couldn't connect|failed to connect|failed to fetch|networkerror|network request failed|econnrefused|network is unreachable|unable to access/u.test(t)?`network`:`unknown`}var Z=e(E(),1);function Q(e,t,n){return{snapshot:e,message:n?.message??``,selectedPaths:new Set(t.map(e=>e.path)),knownPaths:new Set(t.map(e=>e.path)),previousMessage:n?.previousMessage??null}}function pe(e,t,n,r=!0){let i=new Set(n.map(e=>e.path)),a=e.knownPaths.size===0?i:r?new Set([...e.selectedPaths].filter(e=>i.has(e))):e.selectedPaths;return{...e,snapshot:t,selectedPaths:a,knownPaths:new Set([...e.knownPaths,...i])}}function me(e,t,n){return e.snapshot===t.snapshot&&e.selectedPaths.size===t.selectedPaths.size&&[...e.selectedPaths].every(e=>t.selectedPaths.has(e))?{...e,message:n,previousMessage:e.message}:e}function he(e){return JSON.stringify({version:1,snapshot:e.snapshot,message:e.message,selectedPaths:[...e.selectedPaths],knownPaths:[...e.knownPaths],previousMessage:e.previousMessage})}function ge(e){if(e===null||e.length>2e6)return null;try{let t=JSON.parse(e),n=e=>Array.isArray(e)&&e.length<=1e5&&e.every(e=>typeof e==`string`);return t.version!==1||typeof t.snapshot!=`string`||typeof t.message!=`string`||t.message.length>1e4||!n(t.selectedPaths)||!n(t.knownPaths)||!(e=>e===null||typeof e==`string`&&e.length<=1e4)(t.previousMessage)?null:{snapshot:t.snapshot,message:t.message,selectedPaths:new Set(t.selectedPaths),knownPaths:new Set(t.knownPaths),previousMessage:t.previousMessage}}catch{return null}}function _e(e){let{remote:t}=e,n=e.pushStatus===`failed`||e.pushStatus===`not_configured`,r=[`commit`,`generate`,`status`].includes(e.failureOperation??``),i=e.failureOperation??`status`,a=e.actionError||e.pushError?X(e.actionError??e.pushError):e.savedFailureKind??`unknown`,o=n||e.actionError?{kind:a,remote:!r,titleKey:r?`commit.${i}Failed`:`commit.failure_${a}`,helpKey:r&&a===`unknown`?`commit.${i}FailedHelp`:`commit.fix_${a}`}:null,s=(e,t,n)=>({action:e,labelKey:t,...n?{disabledReason:n}:{}}),c=(e,t,n,r)=>({primary:s(e,t,r),summaryKey:n,failure:o});if(t?.operation===`merge`||(t?.conflicts.length??0)>0)return{primary:s(`inspect`,`commit.refreshGitStatus`),summaryKey:`commit.mergePending`,hintKey:`commit.mergeExternalHelp`,failure:null};if(!e.branch)return c(null,`commit.push`,`commit.detachedHead`);if(t?.remotes.length===0)return c(`configure`,`commit.configureRemote`,`commit.noRemote`);if(t?.upstream===null||e.pushStatus===`not_configured`)return c(`publish`,`commit.publishBranch`,`commit.unpublished`);let l=(t?.ahead??0)>0?`commit.ahead`:(t?.behind??0)>0?`commit.behind`:t?.ahead===0&&t.behind===0?`commit.synced`:e.inspecting?`commit.awaitingCheck`:e.pushStatus===`pushed`?`commit.pushedToRemote`:e.commitSha?`commit.savedLocally`:`commit.remoteReady`;if((t?.ahead??0)>0&&(t?.behind??0)>0)return{...c(`inspect`,`commit.refreshGitStatus`,l),hintKey:`commit.divergedExternalHelp`};if(o?.remote&&e.hasActions){if(a===`state_changed`)return c(`inspect`,`commit.refreshGitStatus`,l);if(a===`invalid_remote`||a===`permission`)return c(`configure`,`commit.configureRemote`,l);if(a===`protected_branch`)return c(`branch`,`commit.createFeatureBranch`,l);if([`authentication`,`network`,`unknown_result`].includes(a))return c(`fetch`,`commit.checkConnection`,l);if(a===`remote_updates`&&!(t?.behind??0))return c(`fetch`,`commit.fetchRemote`,l)}return(t?.behind??0)>0?c(`integrate`,`commit.pullRemote`,l,e.hasWorkingChanges?`commit.pullNeedsCommit`:void 0):!t&&e.hasActions?c(`inspect`,`commit.inspectRemote`,e.inspecting?`commit.awaitingCheck`:`commit.remoteUnknown`):t?.ahead===0&&t.behind===0?c(e.hasActions?`fetch`:null,`commit.fetchRemote`,l):e.pushStatus===`pushed`&&!t?c(null,`commit.pushed`,l):c(`push`,o?.remote?`commit.pushAgain`:`commit.push`,l)}var ve={push:`commit.pushing`,fetch:`commit.fetchingRemote`,inspect:`commit.inspectingRemote`,configure:`commit.configuringRemote`,publish:`commit.publishingBranch`,integrate:`commit.integratingRemote`,branch:`commit.creatingFeatureBranch`},$=D();function ye({initialName:e,initialUrl:t,busy:r,error:i,onSave:a,onClose:o,returnFocusElement:c,t:l}){let[u,d]=(0,Z.useState)(e),[f,p]=(0,Z.useState)(t),[m]=(0,Z.useState)(()=>c??(typeof document>`u`?null:document.activeElement));return(0,$.jsx)(C,{open:!0,onOpenChange:e=>{!e&&!r&&o()},children:(0,$.jsxs)(n,{"aria-describedby":void 0,onCloseAutoFocus:e=>{e.preventDefault(),m instanceof HTMLElement&&m.isConnected&&m.focus()},children:[(0,$.jsx)(h,{children:(0,$.jsx)(v,{children:l(`commit.configureRemote`)})}),(0,$.jsxs)(`form`,{className:`space-y-4`,onSubmit:e=>{e.preventDefault(),!r&&a(u.trim(),f.trim()).then(e=>{e&&o()})},children:[(0,$.jsxs)(`label`,{className:`block text-label`,children:[l(`commit.remoteName`),(0,$.jsx)(`input`,{className:`mt-1 h-8 w-full rounded-control border border-separator-strong bg-panel px-2 outline-none focus-visible:shadow-focus`,required:!0,pattern:`[A-Za-z0-9_.-]+`,maxLength:128,value:u,disabled:r,autoComplete:`off`,onChange:e=>{d(e.currentTarget.value)}})]}),(0,$.jsxs)(`label`,{className:`block text-label`,children:[l(`commit.remoteUrl`),(0,$.jsx)(`input`,{className:`mt-1 h-8 w-full rounded-control border border-separator-strong bg-panel px-2 outline-none focus-visible:shadow-focus`,required:!0,value:f,disabled:r,autoComplete:`off`,autoCapitalize:`none`,spellCheck:!1,placeholder:`https://github.com/owner/repo.git`,onChange:e=>{p(e.currentTarget.value)}})]}),i?(0,$.jsx)(`p`,{className:`break-words text-caption text-danger`,role:`alert`,children:i}):null,(0,$.jsxs)(s,{children:[(0,$.jsx)(y,{variant:`ghost`,type:`button`,disabled:r,onClick:o,children:l(`commit.cancel`)}),(0,$.jsxs)(y,{type:`submit`,className:`text-[color:light-dark(#ffffff,#181818)]`,disabled:r||!u.trim()||!f.trim(),children:[r?(0,$.jsx)(L,{className:`size-3.5 animate-spin`,"aria-hidden":`true`}):null,l(r?`commit.configuringRemote`:`commit.saveRemote`)]})]})]})]})})}function be({kind:e,branch:t,remote:r,commitSha:i,defaultRemote:a,busy:o,error:c,failure:l,guidanceKey:u,returnFocus:d,onAction:f,onClose:p,t:m}){let g=(0,Z.useId)(),[b,x]=(0,Z.useState)(a),[S,w]=(0,Z.useState)(`feature/recovery`),[T,E]=(0,Z.useState)(!1),D={publish:`commit.publishBranch`,branch:`commit.createFeatureBranch`,info:`commit.remoteInfo`,error:`commit.operationDetails`,guidance:`commit.gitOperationHelp`},O=e===`publish`?`commit.publishHelp`:e===`branch`?`commit.featureBranchHelp`:e===`info`?`commit.remoteInfoHelp`:e===`guidance`?u:u??l?.helpKey,k=async e=>{if(!o){E(!1);try{await f(e)?p():E(!0)}catch{E(!0)}}},A=`${b}/${t??``}`;return(0,$.jsx)(C,{open:!0,onOpenChange:e=>{!e&&!o&&p()},children:(0,$.jsxs)(n,{onCloseAutoFocus:e=>{e.preventDefault(),d?.isConnected&&d.focus()},children:[(0,$.jsxs)(h,{children:[(0,$.jsx)(v,{children:m(e===`error`&&l?l.titleKey:D[e])}),O?(0,$.jsx)(_,{children:m(O)}):null]}),e===`error`&&i&&l?.remote?(0,$.jsx)(`p`,{className:`text-caption text-muted-foreground`,children:m(`commit.localCommitSafe`)}):null,e===`publish`||e===`branch`?(0,$.jsxs)(`form`,{className:`space-y-4`,onSubmit:t=>{t.preventDefault(),k(e===`publish`?{action:`publish`,remote:b}:{action:`branch`,branchName:S.trim()})},children:[e===`publish`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`label`,{htmlFor:g,className:`block text-label`,children:m(`commit.remoteName`)}),(0,$.jsx)(`select`,{id:g,className:`h-9 w-full rounded-control border border-separator-strong bg-panel px-2 text-body-small outline-none focus-visible:shadow-focus`,value:b,disabled:o,onChange:e=>{x(e.currentTarget.value)},children:r?.remotes.map(e=>(0,$.jsx)(`option`,{value:e.name,children:e.name},e.name))}),(0,$.jsxs)(`div`,{className:`rounded-control bg-control px-3 py-2 text-caption`,children:[(0,$.jsx)(`p`,{className:`text-muted-foreground`,children:m(`commit.pushDestination`)}),(0,$.jsx)(`p`,{className:`break-all font-mono`,children:A}),(0,$.jsx)(`p`,{className:`mt-1 break-all text-muted-foreground`,children:r?.remotes.find(e=>e.name===b)?.url})]})]}):(0,$.jsxs)(`label`,{className:`block text-label`,children:[m(`commit.branchName`),(0,$.jsx)(`input`,{className:`mt-1 h-9 w-full rounded-control border border-separator-strong bg-panel px-2 outline-none focus-visible:shadow-focus`,required:!0,maxLength:1024,value:S,disabled:o,autoComplete:`off`,autoCapitalize:`none`,spellCheck:!1,onChange:e=>{w(e.currentTarget.value)}})]}),T?(0,$.jsx)(`p`,{role:`alert`,className:`text-caption text-warning`,children:m(e===`publish`?`commit.publishFailedHelp`:`commit.branchFailedHelp`)}):null,(0,$.jsxs)(s,{children:[(0,$.jsx)(y,{type:`button`,variant:`ghost`,disabled:o,onClick:p,children:m(`commit.cancel`)}),(0,$.jsxs)(y,{type:`submit`,className:`text-[color:light-dark(#ffffff,#181818)]`,disabled:o||(e===`branch`?!S.trim():!b),children:[o?(0,$.jsx)(L,{className:`size-3.5 animate-spin motion-reduce:animate-none`,"aria-hidden":`true`}):null,m(o?e===`publish`?`commit.publishingBranch`:`commit.creatingFeatureBranch`:D[e])]})]})]}):null,e===`info`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`dl`,{className:`space-y-3 text-caption`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-muted-foreground`,children:m(`commit.currentBranch`)}),(0,$.jsx)(`dd`,{className:`break-all font-mono`,children:t??m(`commit.detachedHead`)})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-muted-foreground`,children:m(`commit.pushDestination`)}),(0,$.jsx)(`dd`,{className:`break-all font-mono`,children:r?.remote&&r.targetBranch?`${r.remote}/${r.targetBranch}`:m(`commit.unpublished`)})]}),r?.remotes.map(e=>(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-muted-foreground`,children:e.name}),(0,$.jsx)(`dd`,{className:`break-all font-mono`,children:e.url})]},e.name)),i?(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-muted-foreground`,children:m(`commit.lastCommit`)}),(0,$.jsx)(`dd`,{className:`break-all font-mono`,children:i})]}):null]}),r?(0,$.jsx)(`p`,{className:`text-caption text-muted-foreground`,children:m(`commit.lastChecked`,{time:new Date(r.checkedAt).toLocaleTimeString()})}):null]}):null,e===`error`&&c?(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(`p`,{className:`text-caption text-muted-foreground`,children:m(`commit.technicalDetails`)}),(0,$.jsx)(`pre`,{className:`max-h-72 overflow-auto whitespace-pre-wrap break-all rounded-control bg-control p-3 font-mono text-caption`,children:c})]}):null,e===`info`||e===`error`||e===`guidance`?(0,$.jsx)(s,{children:(0,$.jsx)(y,{type:`button`,variant:`outline`,onClick:p,children:m(`commit.close`)})}):null]})})}function xe({busy:e,canPublish:t,dialogOpen:n,onInspect:r,onOpen:i,t:a}){let o=(0,Z.useRef)(null);return(0,$.jsxs)(d,{children:[(0,$.jsx)(g,{asChild:!0,children:(0,$.jsx)(y,{ref:o,size:`icon-toolbar`,variant:`ghost`,type:`button`,"data-slot":`git-remote-more`,"aria-label":a(`commit.moreRemoteActions`),title:a(`commit.moreRemoteActions`),children:(0,$.jsx)(N,{className:`size-4`,"aria-hidden":`true`})})}),(0,$.jsxs)(p,{align:`end`,onCloseAutoFocus:e=>{n&&e.preventDefault()},children:[(0,$.jsxs)(c,{disabled:e,onSelect:r,children:[(0,$.jsx)(U,{className:`size-3.5`}),a(`commit.inspectRemote`)]}),(0,$.jsxs)(c,{disabled:e,onSelect:()=>{i(`configure`,o.current)},children:[(0,$.jsx)(fe,{className:`size-3.5`}),a(`commit.configureRemote`)]}),t?(0,$.jsxs)(c,{disabled:e,onSelect:()=>{i(`publish`,o.current)},children:[(0,$.jsx)(Y,{className:`size-3.5`}),a(`commit.publishBranch`)]}):null,(0,$.jsx)(T,{}),(0,$.jsxs)(c,{onSelect:()=>{i(`info`,o.current)},children:[(0,$.jsx)(R,{className:`size-3.5`}),a(`commit.remoteInfo`)]})]})]})}function Se({branch:e,remote:n,pushStatus:r,pushError:i,commitSha:a,busy:o,activeAction:s,actionError:c,failureOperation:l,inspecting:d,onPush:f,onAction:p,onOpenHistory:m,savedFailureKind:h,hasWorkingChanges:g=!1,t:_}){let v=(0,Z.useRef)(null),[x,S]=(0,Z.useState)(null),C=_e({branch:e,remote:n,pushStatus:r,pushError:i,commitSha:a,actionError:c,failureOperation:l,inspecting:d,savedFailureKind:h,hasWorkingChanges:g,hasActions:!!p}),{primary:w}=C,T=n?.remote??n?.remotes[0]?.name??`origin`,E=c??i,D=(e,t=v.current)=>{S({kind:e,returnFocus:t})},O=()=>{S(null)},k=e=>p?.(e)??Promise.resolve(!1),A=d&&!n,j=o&&s===w.action,M=_(A?`commit.inspectingRemote`:j&&s?ve[s]:w.labelKey),N=!!p&&!!n?.remotes.length&&w.action!==`fetch`,I=_(s===`fetch`&&o?`commit.fetchingRemote`:`commit.fetchRemote`),R=x&&![`info`,`error`,`guidance`].includes(x.kind)?null:C.failure,B=n?.ahead??0,V=n?.behind??0,H=!!R||!!w.disabledReason||!!C.hintKey,U=H||B>0&&V>0,W=[`push`,`publish`,`integrate`].includes(w.action??``),G={"commit.fetchRemote":`commit.fetchShort`,"commit.refreshGitStatus":`commit.refreshShort`,"commit.checkConnection":`commit.checkConnectionShort`,"commit.createFeatureBranch":`commit.branchShort`},K=!j&&!A&&G[w.labelKey]?_(G[w.labelKey]??w.labelKey):M,ne=C.summaryKey!==`commit.mergePending`&&(B>0||V>0),J=n?.remote&&n.targetBranch?`${n.remote}/${n.targetBranch}`:null;return(0,$.jsxs)(`section`,{className:`h-[72px] shrink-0 overflow-hidden border-b border-separator px-3 py-1.5`,"data-slot":`git-remote-status`,"aria-label":_(`commit.remoteStatus`),children:[(0,$.jsxs)(`div`,{className:`flex h-7 min-w-0 items-center gap-2`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-1.5`,children:[(0,$.jsx)(q,{className:`size-3.5 shrink-0 text-muted-foreground`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:`min-w-0 truncate text-caption font-medium`,title:e??_(`commit.detachedHead`),children:e??_(`commit.detachedHead`)}),J?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(F,{className:`size-3 shrink-0 text-muted-foreground`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:`min-w-0 max-w-[45%] truncate text-caption text-muted-foreground`,title:J,children:J})]}):null]}),(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-0.5`,children:[N?(0,$.jsxs)(b,{children:[(0,$.jsx)(u,{asChild:!0,children:(0,$.jsx)(y,{size:`icon-toolbar`,variant:`ghost`,type:`button`,"aria-label":I,disabled:o||!e,onClick:()=>{k({action:`fetch`})},children:s===`fetch`&&o?(0,$.jsx)(L,{className:`size-3.5 animate-spin motion-reduce:animate-none`,"aria-hidden":`true`}):(0,$.jsx)(ue,{className:`size-3.5`,"aria-hidden":`true`})})}),(0,$.jsx)(t,{children:_(`commit.fetchRemoteHint`)})]}):null,p?(0,$.jsx)(xe,{busy:o,canPublish:!!n?.remotes.length&&n.upstream===null,dialogOpen:x!==null,onInspect:()=>{k({action:`inspect`})},onOpen:D,t:_}):null]})]}),(0,$.jsxs)(`div`,{className:`mt-1.5 flex h-6 min-w-0 items-center gap-2`,"data-slot":`git-remote-summary`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-2`,children:[(0,$.jsx)(`div`,{className:`flex min-w-0 items-center gap-1.5 text-caption ${H?`max-w-[50%]`:`flex-1`}`,role:`status`,children:ne?(0,$.jsxs)($.Fragment,{children:[B>0?m?(0,$.jsxs)(`button`,{className:`inline-flex h-6 min-w-0 max-w-full touch-manipulation items-center gap-1.5 rounded-control bg-brand/10 px-1.5 text-brand-strong outline-none hover:bg-brand/15 focus-visible:shadow-focus`,type:`button`,"data-slot":`git-open-unpushed-history`,"aria-label":_(`commit.ahead`,{count:B}),title:_(`commit.ahead`,{count:B}),onClick:m,children:[(0,$.jsx)(z,{className:`size-3.5 shrink-0`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:_(U?`commit.aheadShort`:`commit.ahead`,{count:B})})]}):(0,$.jsxs)(`span`,{className:`inline-flex h-6 min-w-0 items-center gap-1.5 rounded-control bg-brand/10 px-1.5 text-brand-strong`,title:_(`commit.ahead`,{count:B}),children:[(0,$.jsx)(z,{className:`size-3.5 shrink-0`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:`truncate`,children:_(U?`commit.aheadShort`:`commit.ahead`,{count:B})})]}):null,V>0?(0,$.jsxs)(`span`,{className:`inline-flex h-6 min-w-0 items-center gap-1.5 rounded-control bg-control px-1.5 text-muted-foreground`,title:_(`commit.behind`,{count:V}),children:[(0,$.jsx)(te,{className:`size-3.5 shrink-0`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:`truncate`,children:_(U?`commit.behindShort`:`commit.behind`,{count:V})})]}):null]}):H?null:(0,$.jsxs)(`span`,{className:`inline-flex h-6 min-w-0 items-center gap-1.5 rounded-control bg-control px-1.5 text-muted-foreground`,children:[C.summaryKey===`commit.synced`||C.summaryKey===`commit.pushedToRemote`?(0,$.jsx)(P,{className:`size-3.5 shrink-0 text-muted-foreground`,"aria-hidden":`true`}):null,(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:_(C.summaryKey)})]})}),H?(0,$.jsx)(`div`,{className:`flex h-6 min-w-0 flex-1 items-center text-caption`,children:R?(0,$.jsxs)(`div`,{role:`alert`,className:`flex h-full min-w-0 flex-1 items-center gap-1.5`,"data-slot":`git-remote-notice`,children:[(0,$.jsx)(ee,{className:`size-3.5 shrink-0 text-warning`,"aria-hidden":`true`}),(0,$.jsx)(`p`,{className:`min-w-0 flex-1 truncate text-muted-foreground`,title:_(R.titleKey),children:_(R.titleKey)}),(0,$.jsx)(`button`,{className:`min-h-6 shrink-0 touch-manipulation rounded-sm text-muted-foreground underline underline-offset-2 outline-none hover:text-foreground focus-visible:shadow-focus`,type:`button`,"aria-label":_(`commit.viewDetails`),onClick:e=>{D(`error`,e.currentTarget)},children:_(`commit.detailsShort`)})]}):w.disabledReason?(0,$.jsx)(`p`,{className:`min-w-0 truncate text-muted-foreground`,title:_(w.disabledReason),children:_(w.disabledReason)}):C.hintKey?(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-1.5 text-muted-foreground`,children:[(0,$.jsx)(`p`,{className:`min-w-0 flex-1 truncate`,children:_(`commit.externalGitRequired`)}),(0,$.jsx)(`button`,{className:`min-h-6 shrink-0 touch-manipulation rounded-sm underline underline-offset-2 outline-none hover:text-foreground focus-visible:shadow-focus`,type:`button`,"aria-label":_(`commit.viewDetails`),onClick:e=>{D(`guidance`,e.currentTarget)},children:_(`commit.detailsShort`)})]}):null}):null]}),w.action?(0,$.jsxs)(y,{ref:v,size:`toolbar`,variant:W?`default`:`outline`,className:W?`text-[color:light-dark(#ffffff,#181818)]`:void 0,type:`button`,"data-slot":`git-remote-primary`,"aria-label":M,title:M,disabled:o||A||!!w.disabledReason||w.action!==`push`&&!p,onClick:()=>{let e=w.action;e===`push`?f():e===`configure`||e===`publish`||e===`branch`?D(e):e&&k({action:e})},children:[j||A?(0,$.jsx)(L,{className:`size-3.5 animate-spin motion-reduce:animate-none`,"aria-hidden":`true`}):w.action===`push`||w.action===`publish`?(0,$.jsx)(Y,{className:`size-3.5`,"aria-hidden":`true`}):null,K]}):null]}),x?.kind===`configure`?(0,$.jsx)(ye,{initialName:T,initialUrl:n?.remotes.find(e=>e.name===T)?.url??``,busy:o,returnFocusElement:x.returnFocus,error:l===`configure`&&c?_(C.failure?.kind===`invalid_remote`?`commit.fix_invalid_remote`:`commit.remoteSaveFailed`):null,onSave:(e,t)=>k({action:`configure`,remote:e,url:t}),onClose:O,t:_}):null,x&&x.kind!==`configure`?(0,$.jsx)(be,{kind:x.kind,branch:e,remote:n,commitSha:a,defaultRemote:T,busy:o,error:E,failure:C.failure,guidanceKey:C.hintKey,returnFocus:x.returnFocus,onAction:k,onClose:O,t:_}):null]})}var Ce=e=>JSON.stringify({version:1,...e});function we(e,t){if(!e||e.length>2048)return null;try{let n=JSON.parse(e),r=e=>e===null||typeof e==`string`;return n.version!==1||!r(n.head)||!r(n.commitSha)||typeof n.pushStatus!=`string`||![`failed`,`not_configured`,`not_requested`,`pushed`,`checked`,`updated`].includes(n.pushStatus)||![`state_changed`,`working_changes`,`merge_conflicts`,`invalid_remote`,`authentication`,`permission`,`remote_updates`,`protected_branch`,`network`,`host_key`,`rules`,`unknown_result`,`unknown`].includes(String(n.failureKind))||t!==void 0&&n.head!==null&&n.head!==t?null:{head:n.head,commitSha:n.commitSha,pushStatus:n.pushStatus,failureKind:n.failureKind}}catch{return null}}function Te(e,t,n){let r=`codexly:git-receipt:v1:${e}`,[i,a]=(0,Z.useState)(()=>{try{return typeof window>`u`?null:we(window.localStorage.getItem(r),n)}catch{return null}}),o=t?Ce(t):null;return(0,Z.useEffect)(()=>{if(!o)return;let e=we(o);a(e);try{window.localStorage.setItem(r,o)}catch{}},[r,o]),t??(i&&(n===void 0||i.head===null||i.head===n)?i:null)}function Ee({busyAction:e,canCommit:t,disabled:n,isPending:r,labels:i,onCommit:o}){let s=r?e===`commit_and_push`?i.committingAndPushing:i.committing:i.commit;return(0,$.jsx)(`div`,{className:`mt-2`,"data-slot":`git-changes-actions`,children:(0,$.jsxs)(le,{className:`w-full`,children:[(0,$.jsxs)(y,{"aria-label":s,className:`min-w-0 flex-1 rounded-r-none disabled:pointer-events-auto disabled:cursor-not-allowed disabled:opacity-100 disabled:hover:bg-brand disabled:active:brightness-100`,disabled:!t,onClick:()=>{o(`commit`)},type:`button`,children:[r?(0,$.jsx)(L,{"aria-hidden":`true`,className:`animate-spin`}):(0,$.jsx)(ce,{"aria-hidden":`true`}),s]}),(0,$.jsxs)(d,{children:[(0,$.jsx)(g,{asChild:!0,children:(0,$.jsx)(y,{"aria-label":i.moreGitActions,className:`w-9 shrink-0 rounded-l-none border-l border-brand-contrast/30 px-0 disabled:opacity-100`,disabled:n,type:`button`,children:(0,$.jsx)(W,{"aria-hidden":`true`})})}),(0,$.jsx)(p,{align:`end`,className:`max-w-[calc(100vw-1rem)]`,children:(0,$.jsx)(a,{children:(0,$.jsxs)(c,{className:`focus-visible:!outline-none focus-visible:shadow-none`,disabled:!t,onSelect:()=>{o(`commit_and_push`)},children:[(0,$.jsx)(ce,{"aria-hidden":`true`,className:`size-4`}),(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`p`,{children:i.commitAndPush}),(0,$.jsx)(`p`,{className:`mt-0.5 text-caption text-muted-foreground`,children:i.commitAndPushDescription})]})]})})})]})]})})}function De({draft:e,generating:t,disabled:n,canGenerate:r,onGenerate:i,update:a,t:o}){return(0,$.jsxs)(`div`,{className:`space-y-2`,"data-slot":`git-commit-editor`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`label`,{className:`text-label font-semibold`,htmlFor:`commit-message`,children:o(`commit.commitMessage`)}),(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[e.previousMessage===null?null:(0,$.jsx)(y,{size:`sm`,variant:`link`,type:`button`,onClick:()=>{a(e=>({...e,message:e.previousMessage??``,previousMessage:null}))},children:o(`commit.undoGeneration`)}),(0,$.jsxs)(y,{variant:`ghost`,size:`sm`,disabled:!r||t,onClick:i,type:`button`,"aria-label":o(`commit.generateMessage`),children:[t?(0,$.jsx)(L,{className:`size-3.5 animate-spin`,"aria-hidden":`true`}):(0,$.jsx)(K,{className:`size-3.5`,"aria-hidden":`true`}),o(t?`commit.generatingMessage`:`commit.generateMessage`)]})]})]}),(0,$.jsx)(`textarea`,{id:`commit-message`,"aria-label":o(`commit.commitMessage`),className:`block min-h-12 w-full resize-none rounded-control border border-separator-strong bg-panel px-2 py-1.5 text-label leading-5 outline-none focus-visible:shadow-focus`,rows:2,maxLength:1e4,disabled:n,placeholder:o(`commit.messagePlaceholder`),value:e.message,onChange:e=>{let t=e.currentTarget.value;a(e=>({...e,message:t,previousMessage:null}))}})]})}function Oe(e,t,n){try{return Q(t,n,typeof window>`u`?null:ge(window.localStorage.getItem(e)))}catch{return Q(t,n)}}function ke(e,t,n,r){let i=`codexly:git-draft:v1:${e}`,a=(0,Z.useMemo)(()=>`${t}:${n.map(e=>`${e.path}:${String(Number(e.staged))}`).join(`\0`)}:${String(r)}`,[t,n,r]),[o,s]=(0,Z.useState)(()=>({range:a,draft:Oe(i,t,n)}));o.range!==a&&s({range:a,draft:pe(o.draft,t,n,r)});let c=(0,Z.useRef)(o.draft);c.current=o.draft;let l=()=>{try{window.localStorage.setItem(i,he(c.current))}catch{}};return(0,Z.useEffect)(()=>{let e=setTimeout(l,250);return()=>{clearTimeout(e)}},[i,o.draft]),(0,Z.useEffect)(()=>{let e=()=>{l()};return window.addEventListener(`pagehide`,e),()=>{window.removeEventListener(`pagehide`,e),e()}},[i]),[o.draft,e=>{s(t=>({...t,draft:e(t.draft)}))}]}function Ae(e){let t=new Map;for(let n of e.staged)t.set(n.path,{path:n.path,staged:!0,unstaged:!1});for(let n of e.unstaged)t.set(n.path,{path:n.path,staged:t.has(n.path),unstaged:!0});return[...t.values()].sort((e,t)=>e.path.localeCompare(t.path,`en`))}function je({gitStatus:e,draftScope:t=`repository`,error:n=null,isCommitting:r=!1,isPushing:i=!1,activeRemoteAction:a,isGenerating:o=!1,totalChanges:s,complete:c=!0,onLoadMore:l,isLoadingMore:u=!1,onCommit:d,onPush:p,onGenerateMessage:m,result:h=null,pushResult:g=null,remoteResult:_,isInspectingRemote:v=!1,onRemoteAction:b,onOpenHistory:x,t:S,viewMode:C,onViewModeChange:T,renderChanges:E}){let D=(0,Z.useMemo)(()=>Ae(e),[e]),O=w(),[k,A]=ke(t,e.snapshot,D,c),[j,M]=(0,Z.useState)(``),[N,P]=(0,Z.useState)(null),[F,I]=(0,Z.useState)(!1),[R,ee]=(0,Z.useState)(`commit`),z=(0,Z.useRef)(!1),B=(0,Z.useRef)(0);(0,Z.useEffect)(()=>()=>{B.current++},[]);let V=r||i,H=(s??D.length)>0,U=g?.pushError??h?.pushError??null,W=Te(t,g||h?{head:g?.remoteState?.head??h?.commitSha??_?.remoteState?.head??null,commitSha:h?.commitSha??null,pushStatus:g?.pushStatus??h?.pushStatus??`not_requested`,failureKind:X(U)}:null,_?.remoteState?.head),te=g?.pushStatus??h?.pushStatus??W?.pushStatus??null,G=f(e=>S(e)),K=_?.remoteState?.operation!==`merge`&&(_?.remoteState?.conflicts.length??0)===0&&!V&&k.selectedPaths.size>0&&k.message.trim()!==``,q=async(e,t=`push`)=>{if(z.current)return!1;z.current=!0,P(null);try{return await e(),!0}catch(e){return P({message:e instanceof Error?e.message:String(e),operation:t}),!1}finally{z.current=!1}},re=async()=>{if(F||o)return;let e=k,t=++B.current;I(!0),P(null);try{let n=await m({...O?.length===1&&O[0]===`claude`?{engine:`claude`}:{},expectedSnapshot:e.snapshot,paths:[...e.selectedPaths]});B.current===t&&A(t=>me(t,e,n))}catch(e){B.current===t&&P({message:e instanceof Error?e.message:String(e),operation:`generate`})}finally{B.current===t&&I(!1)}},Y=t=>q(async()=>{ee(t),await d({action:t,expectedSnapshot:e.snapshot,paths:[...k.selectedPaths],message:k.message}),B.current++,I(!1),A(e=>({...Q(e.snapshot,[]),knownPaths:e.knownPaths}))},`commit`);return e.repositoryMode===`root`?(0,$.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col overflow-hidden`,"data-slot":`commit-changes-panel`,children:[(0,$.jsx)(Se,{onOpenHistory:x,branch:e.branch,remote:_?.remoteState,pushStatus:te,pushError:U,commitSha:h?.commitSha??W?.commitSha??void 0,savedFailureKind:W?.failureKind,busy:V,hasWorkingChanges:H,activeAction:i?a??`push`:null,actionError:N?.message??(U?null:n?.message??null),failureOperation:N?.operation??(!U&&n?`status`:void 0),inspecting:v,t:S,onPush:()=>{q(p)},...b?{onAction:e=>q(()=>b(e,W?.failureKind),e.action??`push`)}:{}}),H?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`max-h-[25%] shrink-0 space-y-2 overflow-y-auto px-3 py-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,$.jsx)(`p`,{className:`min-w-0 flex-1 text-caption font-semibold`,children:S(`commit.selectedFiles`,{selected:k.selectedPaths.size,total:s??D.length})}),(0,$.jsx)(y,{size:`icon-sm`,variant:`ghost`,type:`button`,"aria-label":S(C===`tree`?`diff.showFileList`:`diff.showFileTree`),onClick:()=>{T(C===`tree`?`list`:`tree`)},children:C===`tree`?(0,$.jsx)(ne,{className:`size-3.5`}):(0,$.jsx)(J,{className:`size-3.5`})})]}),(0,$.jsx)(`input`,{"aria-label":S(`commit.searchFiles`),placeholder:S(`commit.searchFiles`),className:`h-8 w-full rounded-control border border-separator bg-panel px-2 text-label outline-none focus-visible:shadow-focus`,value:j,onChange:e=>{M(e.currentTarget.value)}}),D.some(e=>e.staged&&e.unstaged)?(0,$.jsx)(`p`,{className:`text-caption text-muted-foreground`,children:S(`commit.partialStaged`)}):null]}),(0,$.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden`,children:E(k.selectedPaths,e=>{A(t=>({...t,selectedPaths:e}))},V,j)}),c?null:(0,$.jsx)(`div`,{className:`shrink-0 border-t border-separator px-3 py-1`,children:(0,$.jsxs)(y,{size:`sm`,variant:`ghost`,className:`w-full`,disabled:u,onClick:l,type:`button`,children:[u?(0,$.jsx)(L,{className:`size-3.5 animate-spin`}):null,S(`commit.loadMore`),` · `,D.length,` / `,s??D.length]})}),(0,$.jsxs)(`section`,{className:`max-h-[60%] min-h-0 shrink space-y-2 overflow-y-auto border-t border-separator px-3 py-2`,"data-slot":`git-commit-footer`,children:[(0,$.jsx)(De,{draft:k,update:A,generating:F||o,disabled:r,canGenerate:k.selectedPaths.size>0&&!V,onGenerate:()=>{re()},t:S}),(0,$.jsx)(Ee,{busyAction:r?R:null,canCommit:K,isPending:r,disabled:V,labels:G,onCommit:e=>{Y(e)}})]})]}):null]}):null}function Me(e){return[...e].sort((e,t)=>e.kind===t.kind?e.name.localeCompare(t.name,`en`):e.kind===`file`?-1:1)}function Ne(e){let t=[e.name],n=e;for(;n.children.size===1;){let e=n.children.values().next().value;if(e?.kind!==`folder`)break;t.push(e.name),n=e}return{children:Me([...n.children.values()].map(e=>e.kind===`folder`?Ne(e):e)),kind:`folder`,name:t.join(`/`),path:n.path}}function Pe(e){let t={children:new Map,kind:`folder`,name:``,path:``};for(let n of e){let e=n.path.split(`/`),r=e.pop();if(r===void 0)continue;let i=t;for(let t of e){let e=i.path===``?t:`${i.path}/${t}`,n=i.children.get(t);if(n?.kind===`folder`){i=n;continue}let r={children:new Map,kind:`folder`,name:t,path:e};i.children.set(t,r),i=r}i.children.set(r,{kind:`file`,name:r,path:n.path,status:n.kind})}return Me([...t.children.values()].map(e=>e.kind===`folder`?Ne(e):e))}var Fe=[];function Ie(e,t,n,r,i,a=0){for(let o of t){let t=`${r}:${o.path}`;if(o.kind===`folder`)e.push({key:t,label:r,depth:a,kind:`folder`,path:o.path,name:o.name}),i.has(t)||Ie(e,o.children,n,r,i,a+1);else{let i=n.get(o.path);i&&e.push({key:t,label:r,depth:a,kind:`file`,name:o.name,change:i})}}}function Le({changes:e,disabled:t=!1,label:n,onOpenFileDiff:r,onSelectedPathsChange:i,selectedPaths:a,viewMode:s=`tree`,secondaryChanges:c=Fe,secondaryLabel:u=``,statsAvailable:d=!1}){let f=(0,Z.useRef)(null),p=(0,Z.useRef)(null),[m,h]=(0,Z.useState)(new Set),g=(0,Z.useMemo)(()=>[{changes:e,label:n},{changes:c,label:u}].filter(e=>e.changes.length>0).map(e=>({...e,paths:e.changes.map(e=>e.path),byPath:new Map(e.changes.map(e=>[e.path,e])),nodes:s===`tree`?Pe(e.changes):[],sorted:s===`list`?e.changes.toSorted((e,t)=>e.path.localeCompare(t.path,`en`)):[]})),[e,n,c,u,s]),_=(0,Z.useMemo)(()=>{let e=[];for(let t of g)if(e.push({key:t.label,label:t.label,depth:0,kind:`section`,paths:t.paths}),s===`tree`)Ie(e,t.nodes,t.byPath,t.label,m);else for(let n of t.sorted)e.push({key:`${t.label}:${n.path}`,kind:`file`,label:t.label,depth:0,name:n.path,change:n});return e},[g,m,s]),v=A({count:_.length,getScrollElement:()=>f.current,getItemKey:e=>_[e]?.key??e,estimateSize:()=>32,overscan:8,initialRect:{width:400,height:400}}),y=v.getVirtualItems();(0,Z.useLayoutEffect)(()=>{if(p.current===null)return;let e=f.current?.querySelector(`[data-row-index="${String(p.current)}"]`);e&&(e.focus(),p.current=null)},[y]);let b=e=>{let t=new Set(a);t.has(e)?t.delete(e):t.add(e),i(t)},S=e=>{h(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},C=(e,t)=>{let n=e.key===`ArrowDown`?t+1:e.key===`ArrowUp`?t-1:e.key===`Home`?0:e.key===`End`?_.length-1:null;n!==null&&(e.preventDefault(),p.current=Math.max(0,Math.min(_.length-1,n)),v.scrollToIndex(p.current,{align:`auto`}),f.current?.querySelector(`[data-row-index="${String(p.current)}"]`)?.focus())};return(0,$.jsx)(`div`,{ref:f,className:`h-full min-h-0 flex-1 overflow-y-auto overscroll-contain`,"data-slot":`commit-changes-scroll`,children:(0,$.jsx)(`div`,{role:`tree`,"aria-label":n,"data-slot":s===`list`?`commit-changes-list`:`commit-changes-tree`,style:{height:v.getTotalSize(),position:`relative`},children:y.map(e=>{let n=_[e.index];if(!n)return null;let c={height:32,left:0,top:0,width:`100%`,position:`absolute`,transform:`translateY(${String(e.start)}px)`,paddingLeft:12+n.depth*14};if(n.kind===`section`){let r=n.paths.reduce((e,t)=>e+Number(a.has(t)),0);return(0,$.jsxs)(`div`,{role:`treeitem`,style:c,className:`flex items-center gap-1.5 pr-3`,"data-row-index":e.index,tabIndex:-1,onKeyDown:t=>{C(t,e.index)},children:[(0,$.jsx)(l,{"aria-label":n.label,checked:r===0?!1:r===n.paths.length||`indeterminate`,disabled:t,onCheckedChange:e=>{let t=new Set(a);for(let r of n.paths)e?t.add(r):t.delete(r);i(t)}}),(0,$.jsx)(`h3`,{className:`text-label font-semibold`,children:n.label}),(0,$.jsx)(`span`,{className:`ml-auto text-caption text-muted-foreground`,children:n.paths.length})]},n.key)}let u=n.kind===`folder`,f=u&&!m.has(n.key),p=u?n.path:n.change.path,h=u?`update`:n.change.kind,g=u?I:h===`create`?G:h===`delete`?de:se,v=()=>{u?S(n.key):r(n.change)};return(0,$.jsxs)(`div`,{role:`treeitem`,"aria-label":x(p),"aria-level":s===`tree`?n.depth+1:void 0,"aria-expanded":u?f:void 0,tabIndex:0,"data-row-index":e.index,style:c,className:`flex cursor-pointer items-center gap-1.5 pr-3 font-mono text-label hover:bg-control-hover focus-visible:shadow-focus`,onClick:v,onKeyDown:t=>{t.target===t.currentTarget&&(C(t,e.index),(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),v()),u&&(t.key===`ArrowLeft`&&f||t.key===`ArrowRight`&&!f)&&(t.preventDefault(),S(n.key)))},children:[u?(0,$.jsx)(F,{"aria-hidden":`true`,className:o(`size-3.5 shrink-0`,f&&`rotate-90`)}):(0,$.jsx)(l,{"aria-label":`${n.label}: ${x(p)}`,checked:a.has(p),disabled:t,onClick:e=>{e.stopPropagation()},onCheckedChange:()=>{b(p)}}),(0,$.jsx)(g,{"aria-hidden":`true`,className:o(`size-3.5 shrink-0`,!u&&(h===`create`?`text-diff-added`:h===`delete`?`text-danger`:`text-warning`))}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,title:x(p),children:x(n.name)}),!u&&d&&n.change.stats!==void 0&&(0,$.jsxs)(`span`,{className:`flex shrink-0 gap-1 text-meta`,"aria-label":`+${String(n.change.stats.additions)} -${String(n.change.stats.removals)}`,children:[(0,$.jsxs)(`span`,{className:`text-diff-added`,children:[`+`,n.change.stats.additions]}),(0,$.jsxs)(`span`,{className:`text-diff-removed`,children:[`-`,n.change.stats.removals]})]}),!u&&(0,$.jsx)(`span`,{className:`text-meta text-muted-foreground`,children:h===`create`?`A`:h===`delete`?`D`:`M`})]},n.key)})})})}function Re(e){let{gitStatus:t,onOpenFileDiff:n}=e,{t:r}=H(`workbench`),[i,a]=re(`changes`),o=(0,Z.useMemo)(()=>{let e=new Map(t.staged.map(e=>[e.path,e]));for(let n of t.unstaged)e.has(n.path)||e.set(n.path,n);return[...e.values()]},[t]),s=JSON.stringify([e.draftScope??`repository`,t.branch]);return(0,$.jsx)(je,{...e,draftScope:s,t:(e,t)=>r(e,t??{}),viewMode:i,onViewModeChange:a,renderChanges:(e,t,a,s)=>{let c=s?o.filter(e=>e.path.toLowerCase().includes(s.toLowerCase())):o;return s&&c.length===0?(0,$.jsx)(`p`,{className:`p-3 text-caption text-muted-foreground`,children:r(`commit.noMatchingFiles`)}):(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto overscroll-contain`,"data-slot":`commit-changes-scroll`,children:(0,$.jsx)(Le,{changes:c,label:r(`commit.changes`),disabled:a,onOpenFileDiff:n,onSelectedPathsChange:t,selectedPaths:e,viewMode:i})})}},s)}function ze(e){return e.pushStatus===`pushed`?`commit.commitAndPushSucceeded`:e.pushStatus===`not_requested`?`commit.commitSucceeded`:null}function Be(e,t,n,r,i,a){let o=r===void 0?[`projects`,t,n,`git-status`]:[`projects`,t,n,`git-status`,r];e.setQueryData(o,i),e.setQueryData([`projects`,t,n,`git-history`,r??null],{pageParams:[void 0],pages:[a]})}function Ve({client:e,detailsError:t=null,gitStatus:n,onOpenFileDiff:a,onOpenHistory:o,projectId:s,rootPath:c}){let{t:l}=H(`workbench`),u=j(),d=O({...oe(s,c,e),meta:{actionNotification:!1}}),f=O({...ae(s,c,e),...S(s,c,u),meta:{actionNotification:!1}}),p=O(i(s,c,e)),[h,g]=(0,Z.useState)(),[_,v]=(0,Z.useState)(),y=n,b=JSON.stringify([s,c,y.branch]),x=_?.scope===b?_.result:null,C=M({predicate:e=>e.options.scope?.id===`project-git-mutation:${s}:${c}`})>0,w=m(s,c,y.branch,y.snapshot,e,C),T=k({...w,enabled:y.repositoryMode===`root`&&w.enabled}),E=async(e,t)=>{let n=y.snapshot,i;try{i=await p.mutateAsync({...e,expectedSnapshot:n,...[`push`,`publish`,`fetch`].includes(e.action??``)&&y.branch?{expectedBranch:y.branch}:{}})}catch(e){throw g({result:{branch:y.branch,pushStatus:`failed`,pushError:e instanceof Error?e.message:String(e)},snapshot:n,scope:b}),u.invalidateQueries({queryKey:w.queryKey}),e}if(i.remoteState&&u.setQueryData(w.queryKey,i),(e.action!==`inspect`||r(t??X(h?.scope===b?h.result.pushError:null),i))&&g({result:i,snapshot:n,scope:b}),i.pushStatus===`pushed`&&ie(l(`commit.pushSucceeded`)),[`inspect`,`integrate`,`branch`].includes(e.action??``)&&await u.invalidateQueries({queryKey:[`projects`,s,c,`git-status`]}),u.invalidateQueries({queryKey:[`projects`,s,c,`git-history`]}),i.pushStatus===`failed`||i.pushStatus===`not_configured`)throw Error(i.pushError??l(`commit.pushFailed`))};return(0,$.jsx)(Re,{onOpenHistory:o,draftScope:JSON.stringify([s,c]),error:t??T.error,gitStatus:y,pushResult:h?.scope===b?h.result:null,isPushing:p.isPending,activeRemoteAction:p.isPending?p.variables.action??`push`:null,onPush:()=>E({action:`push`}),onRemoteAction:E,remoteResult:T.data,isInspectingRemote:T.isPending,isCommitting:f.isPending,isGenerating:d.isPending,onCommit:async e=>{g(void 0);let t=await f.mutateAsync(e);v({result:t,snapshot:t.status.snapshot,scope:b}),Be(u,s,c,e.repository,t.status,t.history);let n=ze(t);if(n!==null){ie(l(n));return}},onGenerateMessage:async e=>(await d.mutateAsync(e)).message,onOpenFileDiff:a,result:x})}function He({client:e,detailsError:t,detailsPending:n,detailsStatus:r,gitStatus:i,gitStatusError:a,onOpenFileDiff:o,onOpenHistory:s,projectId:c,rootPath:l}){return c!==void 0&&e!==void 0&&i!==void 0?(0,$.jsx)(Ve,{client:e,detailsError:t,detailsPending:n,gitStatus:r??i,onOpenFileDiff:o,onOpenHistory:s,projectId:c,rootPath:l}):a===null?(0,$.jsx)(`p`,{className:`p-3 text-caption text-muted-foreground`,role:`status`,children:V.t(`inspector.gitLoading`,{ns:`conversation`})}):(0,$.jsx)(`p`,{className:`p-3 text-caption text-danger`,role:`alert`,children:a.message})}export{He as WorkbenchInspectorChanges};
|
|
Binary file
|
|
Binary file
|
package/dist/web/assets/{workbench-pet-canvas-AgrvaVkp.js → workbench-pet-canvas-BIiqY4_Z.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{
|
|
1
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{xr as t}from"./initial-deps-B8N7gnPA.js";import{i as n,t as r}from"./react-runtime-CMZHB3u8.js";import{o as i,r as a}from"./initial-deps-cK7Q2EcP.js";import{Bt as o}from"./index-D3weiyhT.js";var s=[`workbench-pets`];function c(e=o){return i({queryFn:({signal:t})=>e.listWorkbenchPets({signal:t}),queryKey:s,staleTime:3e4})}function l(e,t=o){return a({meta:{actionNotification:{successMessage:!1}},mutationFn:async e=>{let n=`workbench-pet-${e}-${globalThis.crypto.randomUUID()}`;return t.downloadWorkbenchPet(e,{idempotencyKey:n})},mutationKey:[`workbench-pets`,`download`],onSuccess:({pets:t})=>{e.setQueryData(s,t)},scope:{id:`workbench-pet-download`}})}var u=e(n(),1);function d(e){return e!==void 0&&e.frames.length>0}function f(e,t){let n=new Set,r=t;for(;!n.has(r);){n.add(r);let t=e[r];if(t!==void 0&&d(t))return t;if(t!==void 0)r=t.fallback;else if(r!==`idle`)r=`idle`;else return}}var p=class{#e;#t;#n=`idle`;#r=!1;#i=0;#a=!1;#o;#s=!0;constructor(e){this.#e=e.animations,this.#t=e.onFrame}play(e){this.#n=e,this.#l()}setReducedMotion(e){this.#a!==e&&(this.#a=e,this.#l())}setVisible(e){this.#s!==e&&(this.#s=e,this.#l())}dispose(){this.#r=!0,this.#i+=1,this.#c()}#c(){this.#o!==void 0&&clearTimeout(this.#o),this.#o=void 0}#l(){if(this.#i+=1,this.#c(),this.#r||!this.#s)return;let e=f(this.#e,this.#n);e!==void 0&&this.#u(e,0,this.#i)}#u(e,t,n){if(n!==this.#i||this.#r||!this.#s)return;let r=e.frames[t];if(r===void 0||(this.#t(r.spriteIndex),this.#a))return;let i=t+1,a=e.loopStart??-1;i>=e.frames.length&&a<0||(this.#o=setTimeout(()=>{this.#o=void 0,this.#u(e,i<e.frames.length?i:a,n)},r.durationMs))}};async function m(e,t){let n=await fetch(e,{credentials:`same-origin`,signal:t});if(!n.ok)throw Error(`Unable to load pet asset: ${String(n.status)}`);return createImageBitmap(await n.blob())}function h(e,t,n,r){let i=e.getContext(`2d`);if(i===null)throw Error(`Canvas 2D context is unavailable`);let a=Math.max(1,e.clientWidth||n.width),o=Math.max(1,e.clientHeight||n.height),s=Math.min(3,Math.max(1,globalThis.devicePixelRatio||1)),c=Math.round(a*s),l=Math.round(o*s);e.width!==c&&(e.width=c),e.height!==l&&(e.height=l);let u=r%n.columns,d=Math.floor(r/n.columns);i.clearRect(0,0,c,l),i.imageSmoothingEnabled=!1,i.drawImage(t,u*n.width,d*n.height,n.width,n.height,0,0,c,l)}var g=r();function _(){let[e,t]=(0,u.useState)(!1);return(0,u.useEffect)(()=>{let e=matchMedia(`(prefers-reduced-motion: reduce)`),n=()=>{t(e.matches)};return n(),e.addEventListener(`change`,n),()=>{e.removeEventListener(`change`,n)}},[]),e}function v({animationName:e,pet:n}){let r=(0,u.useRef)(null),[i,a]=(0,u.useState)(null),[o,s]=(0,u.useState)(!1),c=_(),l=t(n.assetId);return(0,u.useEffect)(()=>{let e=new AbortController,t=!0;return a(null),s(!1),typeof createImageBitmap==`function`?(m(l,e.signal).then(e=>{t?a(e):e.close()}).catch(()=>{t&&!e.signal.aborted&&s(!0)}),()=>{t=!1,e.abort()}):(s(!0),()=>{e.abort()})},[l]),(0,u.useEffect)(()=>()=>{i?.close()},[i]),(0,u.useEffect)(()=>{let t=r.current;if(t===null||i===null)return;let a=0,o=e=>{a=e;try{h(t,i,n.frame,e)}catch{s(!0)}},l=new p({animations:n.animations,onFrame:o});l.setReducedMotion(c),l.setVisible(document.visibilityState===`visible`),l.play(e);let u=new ResizeObserver(()=>{o(a)});u.observe(t);let d=()=>{l.setVisible(document.visibilityState===`visible`)};return document.addEventListener(`visibilitychange`,d),()=>{u.disconnect(),document.removeEventListener(`visibilitychange`,d),l.dispose()}},[e,i,n.animations,n.frame,c]),o?(0,g.jsx)(`span`,{"aria-hidden":`true`,className:`workbench-pet-static-fallback`,style:{backgroundImage:`url(${l})`,backgroundSize:`${String(n.frame.columns*100)}% ${String(n.frame.rows*100)}%`}}):(0,g.jsx)(`canvas`,{"aria-hidden":`true`,className:`workbench-pet-canvas`,ref:r})}export{l as n,c as r,v as t};
|
|
Binary file
|
|
Binary file
|