@bryanhu/codexly 0.21.0 → 0.22.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 +20 -0
- package/README.md +3 -0
- package/README.zh-CN.md +3 -0
- package/dist/{chunk-2J5P2EG2.js → chunk-4VM2ZUPT.js} +67 -3
- package/dist/{chunk-ZUECHB6L.js → chunk-6JWQNFM2.js} +1 -1
- package/dist/{chunk-AIACWU7L.js → chunk-NUJPWN62.js} +135 -1
- package/dist/{chunk-X5JZ3VOF.js → chunk-ZXTTTT25.js} +433 -373
- package/dist/cli.js +82 -49
- package/dist/client/index.js +17 -3
- package/dist/protocol/index.js +1 -1
- package/dist/providers/codex/index.js +2 -2
- package/dist/server/index.js +4 -4
- package/dist/web/.vite/manifest.json +420 -277
- package/dist/web/.vite/manifest.json.br +0 -0
- package/dist/web/.vite/manifest.json.gz +0 -0
- package/dist/web/assets/{agent-settings-panel-B1tpu4pa.js → agent-settings-panel-Ci9mJOS-.js} +1 -1
- package/dist/web/assets/agent-settings-panel-Ci9mJOS-.js.br +0 -0
- package/dist/web/assets/agent-settings-panel-Ci9mJOS-.js.gz +0 -0
- package/dist/web/assets/attachments-uWbRsPJj.js +1 -0
- package/dist/web/assets/attachments-uWbRsPJj.js.br +0 -0
- package/dist/web/assets/attachments-uWbRsPJj.js.gz +0 -0
- package/dist/web/assets/{background-image-picker-EduK0hbQ.js → background-image-picker-qGpdQPQi.js} +1 -1
- package/dist/web/assets/background-image-picker-qGpdQPQi.js.br +0 -0
- package/dist/web/assets/background-image-picker-qGpdQPQi.js.gz +0 -0
- package/dist/web/assets/{bing-wallpaper-queries-CSoA0-Sc.js → bing-wallpaper-queries-uesKD16x.js} +1 -1
- package/dist/web/assets/bing-wallpaper-queries-uesKD16x.js.br +0 -0
- package/dist/web/assets/bing-wallpaper-queries-uesKD16x.js.gz +0 -0
- package/dist/web/assets/{bot-DYpQGfoo.js → bot-DS7Hjc6u.js} +1 -1
- package/dist/web/assets/bot-DS7Hjc6u.js.br +0 -0
- package/dist/web/assets/bot-DS7Hjc6u.js.gz +0 -0
- package/dist/web/assets/{button-group-mF0kqA5r.js → button-group-075rCj_f.js} +1 -1
- package/dist/web/assets/button-group-075rCj_f.js.br +0 -0
- package/dist/web/assets/button-group-075rCj_f.js.gz +0 -0
- package/dist/web/assets/{chunk-BO2N2NFS-DauaBPLH.js → chunk-BO2N2NFS-D6bbuE0-.js} +4 -4
- package/dist/web/assets/chunk-BO2N2NFS-D6bbuE0-.js.br +0 -0
- package/dist/web/assets/chunk-BO2N2NFS-D6bbuE0-.js.gz +0 -0
- package/dist/web/assets/code-block-C9eTeWWd.js +3 -0
- package/dist/web/assets/code-block-C9eTeWWd.js.br +0 -0
- package/dist/web/assets/code-block-C9eTeWWd.js.gz +0 -0
- package/dist/web/assets/{commit-settings-panel-D-FwIqBX.js → commit-settings-panel-CaMMU0oA.js} +1 -1
- package/dist/web/assets/commit-settings-panel-CaMMU0oA.js.br +0 -0
- package/dist/web/assets/commit-settings-panel-CaMMU0oA.js.gz +0 -0
- package/dist/web/assets/{context-menu-C-ahEu-O.js → context-menu-Dj3lnor1.js} +1 -1
- package/dist/web/assets/context-menu-Dj3lnor1.js.br +0 -0
- package/dist/web/assets/context-menu-Dj3lnor1.js.gz +0 -0
- package/dist/web/assets/copy-BynT2kGi.js +1 -0
- package/dist/web/assets/copy-BynT2kGi.js.br +0 -0
- package/dist/web/assets/copy-BynT2kGi.js.gz +0 -0
- package/dist/web/assets/{dist-B4No2uWB.js → dist-BpzI75g4.js} +1 -1
- package/dist/web/assets/dist-BpzI75g4.js.br +0 -0
- package/dist/web/assets/dist-BpzI75g4.js.gz +0 -0
- package/dist/web/assets/{download-B__AuyX_.js → download-DMNchNW0.js} +1 -1
- package/dist/web/assets/download-DMNchNW0.js.br +0 -0
- package/dist/web/assets/download-DMNchNW0.js.gz +0 -0
- package/dist/web/assets/{external-link-BHe2GLz2.js → external-link-DcCR8cO8.js} +1 -1
- package/dist/web/assets/external-link-DcCR8cO8.js.br +0 -0
- package/dist/web/assets/external-link-DcCR8cO8.js.gz +0 -0
- package/dist/web/assets/file-code-corner-DrXDbEPu.js +1 -0
- package/dist/web/assets/file-code-corner-DrXDbEPu.js.br +0 -0
- package/dist/web/assets/file-code-corner-DrXDbEPu.js.gz +0 -0
- package/dist/web/assets/{file-navigation-view-preference-ePb5OplI.js → file-navigation-view-preference-BrQTIoOu.js} +1 -1
- package/dist/web/assets/file-navigation-view-preference-BrQTIoOu.js.br +0 -0
- package/dist/web/assets/file-navigation-view-preference-BrQTIoOu.js.gz +0 -0
- package/dist/web/assets/{file-pen-line-Ct-6viiE.js → file-pen-line-Dm4cCdyM.js} +1 -1
- package/dist/web/assets/file-pen-line-Dm4cCdyM.js.br +0 -0
- package/dist/web/assets/file-pen-line-Dm4cCdyM.js.gz +0 -0
- package/dist/web/assets/file-review-dialog-D8XVZ21M.js +2 -0
- package/dist/web/assets/file-review-dialog-D8XVZ21M.js.br +0 -0
- package/dist/web/assets/file-review-dialog-D8XVZ21M.js.gz +0 -0
- package/dist/web/assets/files-BQtgYZvR.js +1 -0
- package/dist/web/assets/files-BQtgYZvR.js.br +0 -0
- package/dist/web/assets/files-BQtgYZvR.js.gz +0 -0
- package/dist/web/assets/{git-fork-CqXNwC6z.js → git-fork-93orhLsV.js} +1 -1
- package/dist/web/assets/git-fork-93orhLsV.js.br +2 -0
- package/dist/web/assets/git-fork-93orhLsV.js.gz +0 -0
- package/dist/web/assets/git-history-panel-D2fKSR66.js +2 -0
- package/dist/web/assets/git-history-panel-D2fKSR66.js.br +0 -0
- package/dist/web/assets/git-history-panel-D2fKSR66.js.gz +0 -0
- package/dist/web/assets/global-search-dialog-BxT-UjpZ.js +3 -0
- package/dist/web/assets/global-search-dialog-BxT-UjpZ.js.br +0 -0
- package/dist/web/assets/global-search-dialog-BxT-UjpZ.js.gz +0 -0
- package/dist/web/assets/{global-settings-about-CqXSZ-hM.js → global-settings-about-DiblprcD.js} +1 -1
- package/dist/web/assets/global-settings-about-DiblprcD.js.br +0 -0
- package/dist/web/assets/global-settings-about-DiblprcD.js.gz +0 -0
- package/dist/web/assets/{global-settings-fields-BufGOubt.js → global-settings-fields-D5T5SPXY.js} +1 -1
- package/dist/web/assets/global-settings-fields-D5T5SPXY.js.br +0 -0
- package/dist/web/assets/global-settings-fields-D5T5SPXY.js.gz +0 -0
- package/dist/web/assets/{global-settings-model-Cos_BezB.js → global-settings-model-COz331Sr.js} +1 -1
- package/dist/web/assets/global-settings-model-COz331Sr.js.br +0 -0
- package/dist/web/assets/global-settings-model-COz331Sr.js.gz +0 -0
- package/dist/web/assets/{global-settings-page-De52Gs2E.js → global-settings-page-DEBGBxSg.js} +2 -2
- package/dist/web/assets/global-settings-page-DEBGBxSg.js.br +0 -0
- package/dist/web/assets/global-settings-page-DEBGBxSg.js.gz +0 -0
- package/dist/web/assets/{global-settings-pets-NSZ_OS9l.js → global-settings-pets-DwJnj_6N.js} +1 -1
- package/dist/web/assets/global-settings-pets-DwJnj_6N.js.br +0 -0
- package/dist/web/assets/global-settings-pets-DwJnj_6N.js.gz +0 -0
- package/dist/web/assets/{highlighted-body-OFNGDK62-BxPDtlWp.js → highlighted-body-OFNGDK62-D0ZQwVKA.js} +1 -1
- package/dist/web/assets/highlighted-body-OFNGDK62-D0ZQwVKA.js.br +0 -0
- package/dist/web/assets/highlighted-body-OFNGDK62-D0ZQwVKA.js.gz +0 -0
- package/dist/web/assets/history-BWOEYMB7.js +1 -0
- package/dist/web/assets/history-BWOEYMB7.js.br +0 -0
- package/dist/web/assets/history-BWOEYMB7.js.gz +0 -0
- package/dist/web/assets/history-location-BlnZi6Z-.js +1 -0
- package/dist/web/assets/history-location-BlnZi6Z-.js.br +0 -0
- package/dist/web/assets/history-location-BlnZi6Z-.js.gz +0 -0
- package/dist/web/assets/history-task-timeline-oQRRdMbY.js +1 -0
- package/dist/web/assets/history-task-timeline-oQRRdMbY.js.br +0 -0
- package/dist/web/assets/history-task-timeline-oQRRdMbY.js.gz +0 -0
- package/dist/web/assets/index-Cm5l38kF.css +2 -0
- package/dist/web/assets/index-Cm5l38kF.css.br +0 -0
- package/dist/web/assets/index-Cm5l38kF.css.gz +0 -0
- package/dist/web/assets/index-DRfXjZ2a.js +4 -0
- package/dist/web/assets/index-DRfXjZ2a.js.br +0 -0
- package/dist/web/assets/index-DRfXjZ2a.js.gz +0 -0
- package/dist/web/assets/{info-BSMz7uRW.js → info-BbsecYYN.js} +1 -1
- package/dist/web/assets/info-BbsecYYN.js.br +0 -0
- package/dist/web/assets/info-BbsecYYN.js.gz +0 -0
- package/dist/web/assets/{initial-deps-BsEyuMB0.js → initial-deps-BM3gt1hz.js} +1 -1
- package/dist/web/assets/initial-deps-BM3gt1hz.js.br +0 -0
- package/dist/web/assets/initial-deps-BM3gt1hz.js.gz +0 -0
- package/dist/web/assets/{initial-deps-CA0YnOrW.js → initial-deps-BYSU0u1N.js} +1 -1
- package/dist/web/assets/initial-deps-BYSU0u1N.js.br +0 -0
- package/dist/web/assets/initial-deps-BYSU0u1N.js.gz +0 -0
- package/dist/web/assets/{initial-deps-CTprc_pY.js → initial-deps-CB2J2rjl.js} +1 -1
- package/dist/web/assets/initial-deps-CB2J2rjl.js.br +0 -0
- package/dist/web/assets/{initial-deps-CTprc_pY.js.gz → initial-deps-CB2J2rjl.js.gz} +0 -0
- package/dist/web/assets/initial-deps-DipJkDUX.js +1 -0
- package/dist/web/assets/initial-deps-DipJkDUX.js.br +0 -0
- package/dist/web/assets/initial-deps-DipJkDUX.js.gz +0 -0
- package/dist/web/assets/{initial-deps-DKh4Kqow.js → initial-deps-E80pA8LY.js} +1 -1
- package/dist/web/assets/initial-deps-E80pA8LY.js.br +0 -0
- package/dist/web/assets/initial-deps-E80pA8LY.js.gz +0 -0
- package/dist/web/assets/{installed-skills-pane-CX_Snugt.js → installed-skills-pane-v1IcvRKL.js} +1 -1
- package/dist/web/assets/installed-skills-pane-v1IcvRKL.js.br +0 -0
- package/dist/web/assets/installed-skills-pane-v1IcvRKL.js.gz +0 -0
- package/dist/web/assets/lazy-message-response-B6dT9kbf.js +2 -0
- package/dist/web/assets/lazy-message-response-B6dT9kbf.js.br +0 -0
- package/dist/web/assets/lazy-message-response-B6dT9kbf.js.gz +0 -0
- package/dist/web/assets/{mcp-management-pane-D6nlohla.js → mcp-management-pane-DiPUaZAO.js} +1 -1
- package/dist/web/assets/mcp-management-pane-DiPUaZAO.js.br +0 -0
- package/dist/web/assets/mcp-management-pane-DiPUaZAO.js.gz +0 -0
- package/dist/web/assets/mermaid-GHXKKRXX-BghgL98l.js +1 -0
- package/dist/web/assets/mermaid-GHXKKRXX-BghgL98l.js.br +0 -0
- package/dist/web/assets/mermaid-GHXKKRXX-BghgL98l.js.gz +0 -0
- package/dist/web/assets/{message-response-BIw_oDni.js → message-response-BZZGbaVm.js} +1 -1
- package/dist/web/assets/message-response-BZZGbaVm.js.br +0 -0
- package/dist/web/assets/message-response-BZZGbaVm.js.gz +0 -0
- package/dist/web/assets/{official-plugins-pane-Yovv5F6v.js → official-plugins-pane-Cis1hRgm.js} +1 -1
- package/dist/web/assets/official-plugins-pane-Cis1hRgm.js.br +0 -0
- package/dist/web/assets/official-plugins-pane-Cis1hRgm.js.gz +0 -0
- package/dist/web/assets/{paw-print-dDU9UzMl.js → paw-print-BysLHcBp.js} +1 -1
- package/dist/web/assets/paw-print-BysLHcBp.js.br +0 -0
- package/dist/web/assets/paw-print-BysLHcBp.js.gz +0 -0
- package/dist/web/assets/{personalization-settings-panel-CCUwWuv3.js → personalization-settings-panel-BB5nguhA.js} +1 -1
- package/dist/web/assets/personalization-settings-panel-BB5nguhA.js.br +0 -0
- package/dist/web/assets/personalization-settings-panel-BB5nguhA.js.gz +0 -0
- package/dist/web/assets/{project-file-popup-page-CXo1NNgu.js → project-file-popup-page-CAcF7DIa.js} +1 -1
- package/dist/web/assets/project-file-popup-page-CAcF7DIa.js.br +0 -0
- package/dist/web/assets/project-file-popup-page-CAcF7DIa.js.gz +0 -0
- package/dist/web/assets/project-source-dialog-DbOmvJBS.js +1 -0
- package/dist/web/assets/project-source-dialog-DbOmvJBS.js.br +0 -0
- package/dist/web/assets/project-source-dialog-DbOmvJBS.js.gz +0 -0
- package/dist/web/assets/project-source-panel-DGafRUDi.js +1 -0
- package/dist/web/assets/project-source-panel-DGafRUDi.js.br +0 -0
- package/dist/web/assets/project-source-panel-DGafRUDi.js.gz +0 -0
- package/dist/web/assets/{prompt-input-D2ZRw3F_.js → prompt-input-DwT-XwSc.js} +1 -1
- package/dist/web/assets/prompt-input-DwT-XwSc.js.br +0 -0
- package/dist/web/assets/prompt-input-DwT-XwSc.js.gz +0 -0
- package/dist/web/assets/{prompt-input-controls-C4aMGxRa.js → prompt-input-controls-CLasQrSj.js} +1 -1
- package/dist/web/assets/prompt-input-controls-CLasQrSj.js.br +0 -0
- package/dist/web/assets/prompt-input-controls-CLasQrSj.js.gz +0 -0
- package/dist/web/assets/{scheduled-task-date-time-picker-CoEflzMf.js → scheduled-task-date-time-picker-CnSPVHna.js} +1 -1
- package/dist/web/assets/scheduled-task-date-time-picker-CnSPVHna.js.br +0 -0
- package/dist/web/assets/scheduled-task-date-time-picker-CnSPVHna.js.gz +0 -0
- package/dist/web/assets/{scheduled-task-floating-ui~scheduled-task-date-time-picker-Bz9LiWta.js → scheduled-task-floating-ui~scheduled-task-date-time-picker-BmEuIPw_.js} +1 -1
- package/dist/web/assets/scheduled-task-floating-ui~scheduled-task-date-time-picker-BmEuIPw_.js.br +0 -0
- package/dist/web/assets/scheduled-task-floating-ui~scheduled-task-date-time-picker-BmEuIPw_.js.gz +0 -0
- package/dist/web/assets/{scheduled-task-schedule-DrAFQ2cQ.js → scheduled-task-schedule-BnMdRADi.js} +1 -1
- package/dist/web/assets/scheduled-task-schedule-BnMdRADi.js.br +0 -0
- package/dist/web/assets/scheduled-task-schedule-BnMdRADi.js.gz +0 -0
- package/dist/web/assets/scheduled-tasks-container-CNCzsjiP.js +2 -0
- package/dist/web/assets/scheduled-tasks-container-CNCzsjiP.js.br +0 -0
- package/dist/web/assets/scheduled-tasks-container-CNCzsjiP.js.gz +0 -0
- package/dist/web/assets/search-highlight-Ct60jVKA.css +1 -0
- package/dist/web/assets/search-highlight-Ct60jVKA.css.br +0 -0
- package/dist/web/assets/search-highlight-Ct60jVKA.css.gz +0 -0
- package/dist/web/assets/search-highlight-Zgr_0184.js +1 -0
- package/dist/web/assets/search-highlight-Zgr_0184.js.br +0 -0
- package/dist/web/assets/search-highlight-Zgr_0184.js.gz +0 -0
- package/dist/web/assets/{settings-personalization-DWBJl_9n.js → settings-personalization-CB_nnUys.js} +1 -1
- package/dist/web/assets/settings-personalization-CB_nnUys.js.br +0 -0
- package/dist/web/assets/settings-personalization-CB_nnUys.js.gz +0 -0
- package/dist/web/assets/{sheet-C26q2z0A.js → sheet-JpH2S7eZ.js} +1 -1
- package/dist/web/assets/sheet-JpH2S7eZ.js.br +0 -0
- package/dist/web/assets/sheet-JpH2S7eZ.js.gz +0 -0
- package/dist/web/assets/{skills-market-container-Ck91dFlS.js → skills-market-container-BgtnwdI7.js} +2 -2
- package/dist/web/assets/skills-market-container-BgtnwdI7.js.br +0 -0
- package/dist/web/assets/skills-market-container-BgtnwdI7.js.gz +0 -0
- package/dist/web/assets/{sliders-horizontal-9U3YhJ-G.js → sliders-horizontal-DzlaBxiO.js} +1 -1
- package/dist/web/assets/sliders-horizontal-DzlaBxiO.js.br +2 -0
- package/dist/web/assets/sliders-horizontal-DzlaBxiO.js.gz +0 -0
- package/dist/web/assets/{sparkles-R_aBU9Dh.js → sparkles-B6-DOZ3B.js} +1 -1
- package/dist/web/assets/sparkles-B6-DOZ3B.js.br +0 -0
- package/dist/web/assets/sparkles-B6-DOZ3B.js.gz +0 -0
- package/dist/web/assets/task-timeline-store-BN41mX3t.js +6 -0
- package/dist/web/assets/task-timeline-store-BN41mX3t.js.br +0 -0
- package/dist/web/assets/task-timeline-store-BN41mX3t.js.gz +0 -0
- package/dist/web/assets/{third-party-marketplace-pane-C0-AbYhM.js → third-party-marketplace-pane-CAI6XIWR.js} +1 -1
- package/dist/web/assets/third-party-marketplace-pane-CAI6XIWR.js.br +0 -0
- package/dist/web/assets/third-party-marketplace-pane-CAI6XIWR.js.gz +0 -0
- package/dist/web/assets/{upload-B6cPQ82X.js → upload-ixXXjamH.js} +1 -1
- package/dist/web/assets/upload-ixXXjamH.js.br +0 -0
- package/dist/web/assets/upload-ixXXjamH.js.gz +0 -0
- package/dist/web/assets/workbench-composer-dKix0zGK.js +8 -0
- package/dist/web/assets/workbench-composer-dKix0zGK.js.br +0 -0
- package/dist/web/assets/workbench-composer-dKix0zGK.js.gz +0 -0
- package/dist/web/assets/workbench-inspector-changes-Bl5nS-_2.js +2 -0
- package/dist/web/assets/workbench-inspector-changes-Bl5nS-_2.js.br +0 -0
- package/dist/web/assets/workbench-inspector-changes-Bl5nS-_2.js.gz +0 -0
- package/dist/web/assets/{workbench-pet-canvas-DWEG98aM.js → workbench-pet-canvas-CnwZR5HG.js} +1 -1
- package/dist/web/assets/workbench-pet-canvas-CnwZR5HG.js.br +0 -0
- package/dist/web/assets/workbench-pet-canvas-CnwZR5HG.js.gz +0 -0
- package/dist/web/assets/workbench-shell-B8lBrj2O.js +3 -0
- package/dist/web/assets/workbench-shell-B8lBrj2O.js.br +0 -0
- package/dist/web/assets/workbench-shell-B8lBrj2O.js.gz +0 -0
- package/dist/web/index.html +8 -8
- package/dist/web/index.html.br +0 -0
- package/dist/web/index.html.gz +0 -0
- package/package.json +1 -1
- package/dist/web/assets/agent-settings-panel-B1tpu4pa.js.br +0 -0
- package/dist/web/assets/agent-settings-panel-B1tpu4pa.js.gz +0 -0
- package/dist/web/assets/background-image-picker-EduK0hbQ.js.br +0 -0
- package/dist/web/assets/background-image-picker-EduK0hbQ.js.gz +0 -0
- package/dist/web/assets/bing-wallpaper-queries-CSoA0-Sc.js.br +0 -0
- package/dist/web/assets/bing-wallpaper-queries-CSoA0-Sc.js.gz +0 -0
- package/dist/web/assets/bot-DYpQGfoo.js.br +0 -0
- package/dist/web/assets/bot-DYpQGfoo.js.gz +0 -0
- package/dist/web/assets/button-group-mF0kqA5r.js.br +0 -0
- package/dist/web/assets/button-group-mF0kqA5r.js.gz +0 -0
- package/dist/web/assets/chunk-BO2N2NFS-DauaBPLH.js.br +0 -0
- package/dist/web/assets/chunk-BO2N2NFS-DauaBPLH.js.gz +0 -0
- package/dist/web/assets/commit-settings-panel-D-FwIqBX.js.br +0 -0
- package/dist/web/assets/commit-settings-panel-D-FwIqBX.js.gz +0 -0
- package/dist/web/assets/context-menu-C-ahEu-O.js.br +0 -0
- package/dist/web/assets/context-menu-C-ahEu-O.js.gz +0 -0
- package/dist/web/assets/dist-B4No2uWB.js.br +0 -0
- package/dist/web/assets/dist-B4No2uWB.js.gz +0 -0
- package/dist/web/assets/download-B__AuyX_.js.br +0 -0
- package/dist/web/assets/download-B__AuyX_.js.gz +0 -0
- package/dist/web/assets/external-link-BHe2GLz2.js.br +0 -0
- package/dist/web/assets/external-link-BHe2GLz2.js.gz +0 -0
- package/dist/web/assets/file-code-corner-DCQQ8xoR.js +0 -1
- package/dist/web/assets/file-code-corner-DCQQ8xoR.js.br +0 -0
- package/dist/web/assets/file-code-corner-DCQQ8xoR.js.gz +0 -0
- package/dist/web/assets/file-navigation-view-preference-ePb5OplI.js.br +0 -0
- package/dist/web/assets/file-navigation-view-preference-ePb5OplI.js.gz +0 -0
- package/dist/web/assets/file-pen-line-Ct-6viiE.js.br +0 -0
- package/dist/web/assets/file-pen-line-Ct-6viiE.js.gz +0 -0
- package/dist/web/assets/file-review-dialog-Cja0XTdV.js +0 -2
- package/dist/web/assets/file-review-dialog-Cja0XTdV.js.br +0 -0
- package/dist/web/assets/file-review-dialog-Cja0XTdV.js.gz +0 -0
- package/dist/web/assets/git-fork-CqXNwC6z.js.br +0 -2
- package/dist/web/assets/git-fork-CqXNwC6z.js.gz +0 -0
- package/dist/web/assets/git-history-panel-DHcv4JbS.js +0 -2
- package/dist/web/assets/git-history-panel-DHcv4JbS.js.br +0 -0
- package/dist/web/assets/git-history-panel-DHcv4JbS.js.gz +0 -0
- package/dist/web/assets/global-settings-about-CqXSZ-hM.js.br +0 -0
- package/dist/web/assets/global-settings-about-CqXSZ-hM.js.gz +0 -0
- package/dist/web/assets/global-settings-fields-BufGOubt.js.br +0 -0
- package/dist/web/assets/global-settings-fields-BufGOubt.js.gz +0 -0
- package/dist/web/assets/global-settings-model-Cos_BezB.js.br +0 -0
- package/dist/web/assets/global-settings-model-Cos_BezB.js.gz +0 -0
- package/dist/web/assets/global-settings-page-De52Gs2E.js.br +0 -0
- package/dist/web/assets/global-settings-page-De52Gs2E.js.gz +0 -0
- package/dist/web/assets/global-settings-pets-NSZ_OS9l.js.br +0 -0
- package/dist/web/assets/global-settings-pets-NSZ_OS9l.js.gz +0 -0
- package/dist/web/assets/highlighted-body-OFNGDK62-BxPDtlWp.js.br +0 -0
- package/dist/web/assets/highlighted-body-OFNGDK62-BxPDtlWp.js.gz +0 -0
- package/dist/web/assets/index-Bqye0xU0.css +0 -2
- package/dist/web/assets/index-Bqye0xU0.css.br +0 -0
- package/dist/web/assets/index-Bqye0xU0.css.gz +0 -0
- package/dist/web/assets/index-DW-_2zJn.js +0 -4
- package/dist/web/assets/index-DW-_2zJn.js.br +0 -0
- package/dist/web/assets/index-DW-_2zJn.js.gz +0 -0
- package/dist/web/assets/info-BSMz7uRW.js.br +0 -0
- package/dist/web/assets/info-BSMz7uRW.js.gz +0 -0
- package/dist/web/assets/initial-deps-Bk3GSWTk.js +0 -1
- package/dist/web/assets/initial-deps-Bk3GSWTk.js.br +0 -0
- package/dist/web/assets/initial-deps-Bk3GSWTk.js.gz +0 -0
- package/dist/web/assets/initial-deps-BsEyuMB0.js.br +0 -0
- package/dist/web/assets/initial-deps-BsEyuMB0.js.gz +0 -0
- package/dist/web/assets/initial-deps-CA0YnOrW.js.br +0 -0
- package/dist/web/assets/initial-deps-CA0YnOrW.js.gz +0 -0
- package/dist/web/assets/initial-deps-CTprc_pY.js.br +0 -0
- package/dist/web/assets/initial-deps-DKh4Kqow.js.br +0 -0
- package/dist/web/assets/initial-deps-DKh4Kqow.js.gz +0 -0
- package/dist/web/assets/installed-skills-pane-CX_Snugt.js.br +0 -0
- package/dist/web/assets/installed-skills-pane-CX_Snugt.js.gz +0 -0
- package/dist/web/assets/lazy-message-response-D4BLJUZY.js +0 -2
- package/dist/web/assets/lazy-message-response-D4BLJUZY.js.br +0 -0
- package/dist/web/assets/lazy-message-response-D4BLJUZY.js.gz +0 -0
- package/dist/web/assets/mcp-management-pane-D6nlohla.js.br +0 -0
- package/dist/web/assets/mcp-management-pane-D6nlohla.js.gz +0 -0
- package/dist/web/assets/mermaid-GHXKKRXX-CYui0uZI.js +0 -1
- package/dist/web/assets/mermaid-GHXKKRXX-CYui0uZI.js.br +0 -0
- package/dist/web/assets/mermaid-GHXKKRXX-CYui0uZI.js.gz +0 -0
- package/dist/web/assets/message-response-BIw_oDni.js.br +0 -0
- package/dist/web/assets/message-response-BIw_oDni.js.gz +0 -0
- package/dist/web/assets/official-plugins-pane-Yovv5F6v.js.br +0 -0
- package/dist/web/assets/official-plugins-pane-Yovv5F6v.js.gz +0 -0
- package/dist/web/assets/paw-print-dDU9UzMl.js.br +0 -0
- package/dist/web/assets/paw-print-dDU9UzMl.js.gz +0 -0
- package/dist/web/assets/personalization-settings-panel-CCUwWuv3.js.br +0 -0
- package/dist/web/assets/personalization-settings-panel-CCUwWuv3.js.gz +0 -0
- package/dist/web/assets/project-file-popup-page-CXo1NNgu.js.br +0 -0
- package/dist/web/assets/project-file-popup-page-CXo1NNgu.js.gz +0 -0
- package/dist/web/assets/project-source-panel-CL7T7M4e.js +0 -3
- package/dist/web/assets/project-source-panel-CL7T7M4e.js.br +0 -0
- package/dist/web/assets/project-source-panel-CL7T7M4e.js.gz +0 -0
- package/dist/web/assets/prompt-input-D2ZRw3F_.js.br +0 -0
- package/dist/web/assets/prompt-input-D2ZRw3F_.js.gz +0 -0
- package/dist/web/assets/prompt-input-controls-C4aMGxRa.js.br +0 -0
- package/dist/web/assets/prompt-input-controls-C4aMGxRa.js.gz +0 -0
- package/dist/web/assets/scheduled-task-date-time-picker-CoEflzMf.js.br +0 -0
- package/dist/web/assets/scheduled-task-date-time-picker-CoEflzMf.js.gz +0 -0
- package/dist/web/assets/scheduled-task-floating-ui~scheduled-task-date-time-picker-Bz9LiWta.js.br +0 -0
- package/dist/web/assets/scheduled-task-floating-ui~scheduled-task-date-time-picker-Bz9LiWta.js.gz +0 -0
- package/dist/web/assets/scheduled-task-schedule-DrAFQ2cQ.js.br +0 -0
- package/dist/web/assets/scheduled-task-schedule-DrAFQ2cQ.js.gz +0 -0
- package/dist/web/assets/scheduled-tasks-container-CtykVdKs.js +0 -2
- package/dist/web/assets/scheduled-tasks-container-CtykVdKs.js.br +0 -0
- package/dist/web/assets/scheduled-tasks-container-CtykVdKs.js.gz +0 -0
- package/dist/web/assets/settings-personalization-DWBJl_9n.js.br +0 -0
- package/dist/web/assets/settings-personalization-DWBJl_9n.js.gz +0 -0
- package/dist/web/assets/sheet-C26q2z0A.js.br +0 -0
- package/dist/web/assets/sheet-C26q2z0A.js.gz +0 -0
- package/dist/web/assets/skills-market-container-Ck91dFlS.js.br +0 -0
- package/dist/web/assets/skills-market-container-Ck91dFlS.js.gz +0 -0
- package/dist/web/assets/sliders-horizontal-9U3YhJ-G.js.br +0 -0
- package/dist/web/assets/sliders-horizontal-9U3YhJ-G.js.gz +0 -0
- package/dist/web/assets/sparkles-R_aBU9Dh.js.br +0 -2
- package/dist/web/assets/sparkles-R_aBU9Dh.js.gz +0 -0
- package/dist/web/assets/third-party-marketplace-pane-C0-AbYhM.js.br +0 -0
- package/dist/web/assets/third-party-marketplace-pane-C0-AbYhM.js.gz +0 -0
- package/dist/web/assets/upload-B6cPQ82X.js.br +0 -0
- package/dist/web/assets/upload-B6cPQ82X.js.gz +0 -0
- package/dist/web/assets/workbench-composer-BEYpU0th.js +0 -8
- package/dist/web/assets/workbench-composer-BEYpU0th.js.br +0 -0
- package/dist/web/assets/workbench-composer-BEYpU0th.js.gz +0 -0
- package/dist/web/assets/workbench-inspector-changes-BynCOTzr.js +0 -2
- package/dist/web/assets/workbench-inspector-changes-BynCOTzr.js.br +0 -0
- package/dist/web/assets/workbench-inspector-changes-BynCOTzr.js.gz +0 -0
- package/dist/web/assets/workbench-pet-canvas-DWEG98aM.js.br +0 -0
- package/dist/web/assets/workbench-pet-canvas-DWEG98aM.js.gz +0 -0
- package/dist/web/assets/workbench-shell-Bn-W1ary.js +0 -8
- package/dist/web/assets/workbench-shell-Bn-W1ary.js.br +0 -0
- package/dist/web/assets/workbench-shell-Bn-W1ary.js.gz +0 -0
- /package/dist/web/assets/{scheduled-task-floating-ui~index~workbench-shell~workbench-inspector-changes~project-file-p~egzauog4-DAfditVv.js → scheduled-task-floating-ui~index~workbench-shell~workbench-inspector-changes~project-file-p~m6x4vffh-DAfditVv.js} +0 -0
- /package/dist/web/assets/{scheduled-task-floating-ui~index~workbench-shell~workbench-inspector-changes~project-file-p~egzauog4-DAfditVv.js.br → scheduled-task-floating-ui~index~workbench-shell~workbench-inspector-changes~project-file-p~m6x4vffh-DAfditVv.js.br} +0 -0
- /package/dist/web/assets/{scheduled-task-floating-ui~index~workbench-shell~workbench-inspector-changes~project-file-p~egzauog4-DAfditVv.js.gz → scheduled-task-floating-ui~index~workbench-shell~workbench-inspector-changes~project-file-p~m6x4vffh-DAfditVv.js.gz} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,26 @@
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.22.0] - 2026-09-16
|
|
8
|
+
|
|
9
|
+
### 新增
|
|
10
|
+
|
|
11
|
+
- 添加任务、历史消息和项目文件的全局搜索,支持结果分页、消息定位与文件预览。
|
|
12
|
+
|
|
13
|
+
### 修复
|
|
14
|
+
|
|
15
|
+
- 修复 Linux 系统级全局安装因目录权限不足而无法使用内置更新的问题。
|
|
16
|
+
|
|
17
|
+
## [0.21.1] - 2026-09-15
|
|
18
|
+
|
|
19
|
+
### 新增
|
|
20
|
+
|
|
21
|
+
- 将未提交变更摘要移至“项目”标签,并支持直接发起审核与提交操作。
|
|
22
|
+
|
|
23
|
+
### 优化
|
|
24
|
+
|
|
25
|
+
- 默认打开历史任务的“项目”标签并收起聊天 Inspector,同时更新聊天相关文案。
|
|
26
|
+
|
|
7
27
|
## [0.21.0] - 2026-09-15
|
|
8
28
|
|
|
9
29
|
### 新增
|
package/README.md
CHANGED
|
@@ -43,6 +43,7 @@
|
|
|
43
43
|
- Choose the model, reasoning effort, Fast mode, approval behavior, and file access level for each task
|
|
44
44
|
- Manage installed Skills, official Plugins, MCP servers, and compatible third-party Skills from ClawHub in one extension center
|
|
45
45
|
- Organize ordered multi-root projects, archive project or temporary tasks, and permanently delete tasks when needed
|
|
46
|
+
- Search tasks, conversation history, and project files globally, then jump to a matching message or preview a file
|
|
46
47
|
- Inspect, preview, rename, and delete project files; review diffs; manage branches and worktrees; and commit or push changes
|
|
47
48
|
- Fork a task from an AI response and continue it in a new Git worktree
|
|
48
49
|
- Add animated workspace pets with separate task activity bubbles and custom PNG or WebP sprite manifests
|
|
@@ -116,6 +117,8 @@ Interactive startup and **Settings > About** check for new releases. Built-in up
|
|
|
116
117
|
npm install --global @bryanhu/codexly@latest --registry=https://registry.npmmirror.com --prefer-offline || npm install --global @bryanhu/codexly@latest --registry=https://registry.npmjs.org --prefer-offline
|
|
117
118
|
```
|
|
118
119
|
|
|
120
|
+
If an older Linux release was installed into a system directory with `sudo npm install --global`, manually run the command above with `sudo` once to reach a release that supports elevated updates. Later built-in updates request `sudo` access when needed.
|
|
121
|
+
|
|
119
122
|
## Help
|
|
120
123
|
|
|
121
124
|
- [Report an issue](https://github.com/BryanHoo/Codexly/issues)
|
package/README.zh-CN.md
CHANGED
|
@@ -13,6 +13,7 @@ Codexly 是一个在浏览器中使用 Codex 的本地 AI 编程工作台。它
|
|
|
13
13
|
- 为每个任务选择模型、思考量、快速模式、审批方式和文件访问范围
|
|
14
14
|
- 在扩展中心统一管理已安装 Skills、官方 Plugins、MCP Servers,以及来自 ClawHub 的兼容第三方 Skills
|
|
15
15
|
- 组织有序的多根项目、归档项目或临时任务,并按需永久删除任务
|
|
16
|
+
- 全局搜索任务、历史消息和项目文件,并定位匹配消息或预览文件
|
|
16
17
|
- 查看、预览、重命名和删除项目文件,审查差异,管理分支与 worktree,并提交或推送变更
|
|
17
18
|
- 从 AI 回复处分叉任务,在新的 Git worktree 中继续工作
|
|
18
19
|
- 添加工作台宠物动画,用独立气泡区分任务活动,并支持自定义 PNG 或 WebP 精灵图清单
|
|
@@ -86,6 +87,8 @@ codexly start --lan
|
|
|
86
87
|
npm install --global @bryanhu/codexly@latest --registry=https://registry.npmmirror.com --prefer-offline || npm install --global @bryanhu/codexly@latest --registry=https://registry.npmjs.org --prefer-offline
|
|
87
88
|
```
|
|
88
89
|
|
|
90
|
+
如果 Linux 上的旧版本通过 `sudo npm install --global` 安装到系统目录,首次升级到支持提权更新的版本时需要手动执行一次上述命令并在前面加上 `sudo`。后续内置更新会在需要时请求 `sudo` 权限。
|
|
91
|
+
|
|
89
92
|
## 获取帮助
|
|
90
93
|
|
|
91
94
|
- [问题反馈](https://github.com/BryanHoo/Codexly/issues)
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';
|
|
2
|
-
import { value_exports } from './chunk-
|
|
3
|
-
import { require_pino, require_safe_stable_stringify, CodexProtocolMappingError, CodexProviderConnectionError, RpcConnectionClosedError, RpcProtocolError, RpcResponseError, RpcTimeoutError } from './chunk-
|
|
2
|
+
import { value_exports } from './chunk-6JWQNFM2.js';
|
|
3
|
+
import { require_pino, require_safe_stable_stringify, CodexProtocolMappingError, CodexProviderConnectionError, RpcConnectionClosedError, RpcProtocolError, RpcResponseError, RpcTimeoutError } from './chunk-NUJPWN62.js';
|
|
4
4
|
import { WorkbenchPetProviderError, listTaskCatalog, PendingRequestResolutionError, deleteArchivedTasks, queryCompletedTasks, CompletedTasksQueryError, submitTask, TaskSubmissionError, collectQuestionGroups, formatQuestionAnswers, ProjectTodoError, saveProjectTodo } from './chunk-B2673ODM.js';
|
|
5
|
-
import { Type, SkillInstallScopeSchema, ScheduledTaskSchema, SubmitTaskResponseSchema, AgentTaskSchema, AsyncQuestionGroupSchema, AnswerAsyncQuestionResultSchema, AgentTurnSchema, DEFAULT_COMMIT_MESSAGE_MODEL, TEMPORARY_TASK_API_PATH, TEMPORARY_TASK_SCOPE_ID, MAX_AGENT_FILE_BYTES, AccessStatusResponseSchema, PairAccessRequestSchema, BingWallpaperCatalogSchema, HealthResponseSchema, AppInfoResponseSchema, AppUpdateProgressResponseSchema, AgentMutationErrorSchema, InstallAppUpdateResponseSchema, InstallAppUpdateRequestSchema, EventStreamMetricsResponseSchema, AgentCapabilitiesSchema, AgentModelPageSchema, AgentGlobalSettingsResponseSchema, AgentGlobalSettingsSchema, MAX_AGENT_IMAGE_BYTES, MAX_AGENT_TEXT_BYTES, GlobalInstructionsSchema, MemorySettingsSchema, AgentPreferencesSchema, SaveGlobalInstructionsSchema, MemorySettingsUpdateSchema, PersonalizationResetSchema, AgentProviderConnectionStatusSchema, StartOfficialProviderLoginResponseSchema, StartOfficialProviderLoginRequestSchema, AgentProviderConnectionMutationResponseSchema, CancelProviderLoginRequestSchema, ConfigureCustomProviderResponseSchema, ConfigureCustomProviderRequestSchema, WorkbenchPetCatalogResponseSchema, WorkbenchPetDownloadResponseSchema, WorkbenchPetDownloadRequestSchema, ProjectPageSchema, HostFileListingSchema, HostFileQuerySchema, ProjectDirectoryListingSchema, ProjectDirectoryQuerySchema, ProjectOpenCapabilitiesResponseSchema, OpenProjectResponseSchema, ProjectRootQuerySchema, OpenProjectRequestSchema, ReorderProjectsResponseSchema, ReorderProjectsRequestSchema, AgentSkillPageSchema, AgentProjectDefaultsResponseSchema, AgentProjectDefaultsSchema, AddProjectResponseSchema, AddProjectRequestSchema, RenameProjectResponseSchema, RenameProjectRequestSchema, RemoveProjectResponseSchema, RemoveProjectRequestSchema, InstalledSkillPageSchema, OfficialPluginPageSchema, OfficialPluginDetailSchema, OfficialPluginInstallResponseSchema, OfficialPluginUninstallResponseSchema, ClawhubSkillPageSchema, ClawhubSkillDetailSchema, ConfiguredMcpServerPageSchema, OpenSkillDirectoryResponseSchema, SetSkillEnabledResponseSchema, SetMcpServerEnabledResponseSchema, SkillInstallResponseSchema, ScheduledTaskPreviewSchema, ScheduledTaskPreviewRequestSchema, ScheduledTaskPageSchema, ScheduledTaskMutationResponseSchema, ScheduledTaskInputSchema, DeleteScheduledTaskResponseSchema, SetScheduledTaskEnabledRequestSchema, AgentTaskPageSchema, UnsubscribeAgentTaskResponseSchema, AgentTaskSnapshotResponseSchema, AgentMcpServerPageSchema, AgentBackgroundTerminalPageSchema, TerminateAgentBackgroundTerminalResponseSchema, PinAgentTaskResponseSchema, PinAgentTaskRequestSchema, RenameAgentTaskResponseSchema, RenameAgentTaskRequestSchema, ArchiveAgentTaskResponseSchema, ArchiveAgentTaskRequestSchema, UnarchiveAgentTaskResponseSchema, UnarchiveAgentTaskRequestSchema, DeleteAgentTaskResponseSchema, DeleteAgentTaskRequestSchema, StartAgentTaskResponseSchema, StartAgentTaskRequestSchema, StartAgentTurnResponseSchema, StartAgentTurnRequestSchema, SteerAgentTurnResponseSchema, SteerAgentTurnRequestSchema, InterruptAgentTurnResponseSchema, InterruptAgentTurnRequestSchema, ResolvePendingRequestResponseSchema, ResolvePendingRequestRequestSchema, SubmitTaskRequestSchema, AsyncQuestionPageSchema, AnswerAsyncQuestionResponseSchema, AnswerAsyncQuestionRequestSchema, DismissAsyncQuestionsRequestSchema, ProjectTodoPageSchema, ProjectTodoResponseSchema, ProjectTodoDraftSchema, SaveProjectTodoRequestSchema, DeleteProjectTodoResponseSchema, DeleteProjectTodoRequestSchema, AgentQueuedSubmissionListSchema, AddAgentQueuedSubmissionResponseSchema, AddAgentQueuedSubmissionRequestSchema, UpdateAgentQueuedSubmissionResponseSchema, UpdateAgentQueuedSubmissionRequestSchema, DeleteAgentQueuedSubmissionResponseSchema, ReorderAgentQueuedSubmissionsResponseSchema, ReorderAgentQueuedSubmissionsRequestSchema, StartAgentQueuedSubmissionResponseSchema, StartAgentQueuedSubmissionRequestSchema, AgentPromptInputSchema, AgentProviderConnectionRecordSchema, MAX_AGENT_IMAGES, MAX_AGENT_IMAGE_TOTAL_BYTES, MAX_AGENT_FILE_TOTAL_BYTES, ProjectGitStatusSchema, ProjectGitStatusQuerySchema, ProjectGitHistoryPageSchema, ProjectGitHistoryQuerySchema, ProjectGitCommitFilesPageSchema, ProjectGitCommitFilesQuerySchema, ProjectGitCommitFileDiffSchema, ProjectGitCommitFileDiffQuerySchema, SwitchProjectBranchRequestSchema, CreateProjectBranchRequestSchema, GenerateCommitMessageResponseSchema, GenerateCommitMessageRequestSchema, CommitProjectChangesResponseSchema, CommitProjectChangesRequestSchema, ProjectFileTreeSchema, ProjectFileTreeQuerySchema, ProjectFileSearchPageSchema, ProjectFileSearchQuerySchema, StopProjectFileSearchResponseSchema, StopProjectFileSearchRequestSchema, ProjectSourceFileQuerySchema, ProjectSourceFileSchema, AgentAttachmentUploadResponseSchema, HostFileKindSchema, ImportHostAttachmentRequestSchema, AgentAttachmentKindSchema, AgentTaskSettingsResponseSchema, AgentTaskSettingsSchema, ReloadAgentMcpServersResponseSchema, ReloadAgentMcpServersRequestSchema, ReviewAgentTaskResponseSchema, ReviewAgentTaskRequestSchema, CompactAgentTaskResponseSchema, CompactAgentTaskRequestSchema, ForkAgentTaskResponseSchema, ForkAgentTaskRequestSchema, UploadAgentFeedbackResponseSchema, UploadAgentFeedbackRequestSchema, DeleteArchivedTasksResponseSchema, DeleteArchivedTasksRequestSchema, AgentTaskCatalogSchema, TaskCatalogQuerySchema, CompletedTasksPageSchema, CompletedTasksQuerySchema, UpdateTaskSettingsAndDefaultsResponseSchema, UpdateTaskSettingsAndDefaultsRequestSchema, NavigableAgentTaskResponseSchema, OpenAgentTaskAttachmentResponseSchema, OpenAgentTaskAttachmentRequestSchema, UpdateAgentGoalResponseSchema, UpdateAgentGoalRequestSchema, ClearAgentGoalResponseSchema, ProjectTodoSchema, AgentMessageAttachmentSchema, ProjectGitWorktreePageSchema, CreateProjectWorktreeResponseSchema, CreateProjectWorktreeRequestSchema, ProjectWorktreeMutationResponseSchema, SwitchProjectWorktreeRequestSchema, RenameProjectFileResponseSchema, RenameProjectFileRequestSchema, DeleteProjectFileResponseSchema, DeleteProjectFileRequestSchema, MAX_EVENT_BATCH_SIZE } from './chunk-
|
|
5
|
+
import { Type, SkillInstallScopeSchema, ScheduledTaskSchema, SubmitTaskResponseSchema, AgentTaskSchema, AsyncQuestionGroupSchema, AnswerAsyncQuestionResultSchema, AgentTurnSchema, DEFAULT_COMMIT_MESSAGE_MODEL, TEMPORARY_TASK_API_PATH, TEMPORARY_TASK_SCOPE_ID, MAX_AGENT_FILE_BYTES, AccessStatusResponseSchema, PairAccessRequestSchema, BingWallpaperCatalogSchema, HealthResponseSchema, AppInfoResponseSchema, AppUpdateProgressResponseSchema, AgentMutationErrorSchema, InstallAppUpdateResponseSchema, InstallAppUpdateRequestSchema, EventStreamMetricsResponseSchema, AgentCapabilitiesSchema, AgentModelPageSchema, AgentGlobalSettingsResponseSchema, AgentGlobalSettingsSchema, MAX_AGENT_IMAGE_BYTES, MAX_AGENT_TEXT_BYTES, GlobalInstructionsSchema, MemorySettingsSchema, AgentPreferencesSchema, SaveGlobalInstructionsSchema, MemorySettingsUpdateSchema, PersonalizationResetSchema, AgentProviderConnectionStatusSchema, StartOfficialProviderLoginResponseSchema, StartOfficialProviderLoginRequestSchema, AgentProviderConnectionMutationResponseSchema, CancelProviderLoginRequestSchema, ConfigureCustomProviderResponseSchema, ConfigureCustomProviderRequestSchema, WorkbenchPetCatalogResponseSchema, WorkbenchPetDownloadResponseSchema, WorkbenchPetDownloadRequestSchema, ProjectPageSchema, HostFileListingSchema, HostFileQuerySchema, ProjectDirectoryListingSchema, ProjectDirectoryQuerySchema, ProjectOpenCapabilitiesResponseSchema, OpenProjectResponseSchema, ProjectRootQuerySchema, OpenProjectRequestSchema, ReorderProjectsResponseSchema, ReorderProjectsRequestSchema, AgentSkillPageSchema, AgentProjectDefaultsResponseSchema, AgentProjectDefaultsSchema, AddProjectResponseSchema, AddProjectRequestSchema, RenameProjectResponseSchema, RenameProjectRequestSchema, RemoveProjectResponseSchema, RemoveProjectRequestSchema, InstalledSkillPageSchema, OfficialPluginPageSchema, OfficialPluginDetailSchema, OfficialPluginInstallResponseSchema, OfficialPluginUninstallResponseSchema, ClawhubSkillPageSchema, ClawhubSkillDetailSchema, ConfiguredMcpServerPageSchema, OpenSkillDirectoryResponseSchema, SetSkillEnabledResponseSchema, SetMcpServerEnabledResponseSchema, SkillInstallResponseSchema, ScheduledTaskPreviewSchema, ScheduledTaskPreviewRequestSchema, ScheduledTaskPageSchema, ScheduledTaskMutationResponseSchema, ScheduledTaskInputSchema, DeleteScheduledTaskResponseSchema, SetScheduledTaskEnabledRequestSchema, AgentTaskPageSchema, UnsubscribeAgentTaskResponseSchema, AgentTaskSnapshotResponseSchema, AgentMcpServerPageSchema, AgentBackgroundTerminalPageSchema, TerminateAgentBackgroundTerminalResponseSchema, PinAgentTaskResponseSchema, PinAgentTaskRequestSchema, RenameAgentTaskResponseSchema, RenameAgentTaskRequestSchema, ArchiveAgentTaskResponseSchema, ArchiveAgentTaskRequestSchema, UnarchiveAgentTaskResponseSchema, UnarchiveAgentTaskRequestSchema, DeleteAgentTaskResponseSchema, DeleteAgentTaskRequestSchema, TaskSearchPageSchema, TaskSearchQuerySchema, SearchOccurrencesPageSchema, SearchOccurrencesQuerySchema, StartAgentTaskResponseSchema, StartAgentTaskRequestSchema, StartAgentTurnResponseSchema, StartAgentTurnRequestSchema, SteerAgentTurnResponseSchema, SteerAgentTurnRequestSchema, InterruptAgentTurnResponseSchema, InterruptAgentTurnRequestSchema, ResolvePendingRequestResponseSchema, ResolvePendingRequestRequestSchema, SubmitTaskRequestSchema, AsyncQuestionPageSchema, AnswerAsyncQuestionResponseSchema, AnswerAsyncQuestionRequestSchema, DismissAsyncQuestionsRequestSchema, ProjectTodoPageSchema, ProjectTodoResponseSchema, ProjectTodoDraftSchema, SaveProjectTodoRequestSchema, DeleteProjectTodoResponseSchema, DeleteProjectTodoRequestSchema, AgentQueuedSubmissionListSchema, AddAgentQueuedSubmissionResponseSchema, AddAgentQueuedSubmissionRequestSchema, UpdateAgentQueuedSubmissionResponseSchema, UpdateAgentQueuedSubmissionRequestSchema, DeleteAgentQueuedSubmissionResponseSchema, ReorderAgentQueuedSubmissionsResponseSchema, ReorderAgentQueuedSubmissionsRequestSchema, StartAgentQueuedSubmissionResponseSchema, StartAgentQueuedSubmissionRequestSchema, AgentPromptInputSchema, AgentProviderConnectionRecordSchema, MAX_AGENT_IMAGES, MAX_AGENT_IMAGE_TOTAL_BYTES, MAX_AGENT_FILE_TOTAL_BYTES, ProjectGitStatusSchema, ProjectGitStatusQuerySchema, ProjectGitHistoryPageSchema, ProjectGitHistoryQuerySchema, ProjectGitCommitFilesPageSchema, ProjectGitCommitFilesQuerySchema, ProjectGitCommitFileDiffSchema, ProjectGitCommitFileDiffQuerySchema, SwitchProjectBranchRequestSchema, CreateProjectBranchRequestSchema, GenerateCommitMessageResponseSchema, GenerateCommitMessageRequestSchema, CommitProjectChangesResponseSchema, CommitProjectChangesRequestSchema, ProjectFileTreeSchema, ProjectFileTreeQuerySchema, ProjectFileSearchPageSchema, ProjectFileSearchQuerySchema, StopProjectFileSearchResponseSchema, StopProjectFileSearchRequestSchema, ProjectSourceFileQuerySchema, ProjectSourceFileSchema, AgentAttachmentUploadResponseSchema, HostFileKindSchema, ImportHostAttachmentRequestSchema, AgentAttachmentKindSchema, AgentTaskSettingsResponseSchema, AgentTaskSettingsSchema, ReloadAgentMcpServersResponseSchema, ReloadAgentMcpServersRequestSchema, ReviewAgentTaskResponseSchema, ReviewAgentTaskRequestSchema, CompactAgentTaskResponseSchema, CompactAgentTaskRequestSchema, ForkAgentTaskResponseSchema, ForkAgentTaskRequestSchema, UploadAgentFeedbackResponseSchema, UploadAgentFeedbackRequestSchema, DeleteArchivedTasksResponseSchema, DeleteArchivedTasksRequestSchema, AgentTaskCatalogSchema, TaskCatalogQuerySchema, CompletedTasksPageSchema, CompletedTasksQuerySchema, UpdateTaskSettingsAndDefaultsResponseSchema, UpdateTaskSettingsAndDefaultsRequestSchema, NavigableAgentTaskResponseSchema, OpenAgentTaskAttachmentResponseSchema, OpenAgentTaskAttachmentRequestSchema, UpdateAgentGoalResponseSchema, UpdateAgentGoalRequestSchema, ClearAgentGoalResponseSchema, ProjectTodoSchema, AgentMessageAttachmentSchema, ProjectGitWorktreePageSchema, CreateProjectWorktreeResponseSchema, CreateProjectWorktreeRequestSchema, ProjectWorktreeMutationResponseSchema, SwitchProjectWorktreeRequestSchema, RenameProjectFileResponseSchema, RenameProjectFileRequestSchema, DeleteProjectFileResponseSchema, DeleteProjectFileRequestSchema, MAX_EVENT_BATCH_SIZE } from './chunk-ZXTTTT25.js';
|
|
6
6
|
import { __commonJS, __require, __toESM } from './chunk-K6J42667.js';
|
|
7
7
|
import { Buffer as Buffer$1 } from 'buffer';
|
|
8
8
|
import { randomBytes, createHash, timingSafeEqual, randomUUID } from 'crypto';
|
|
@@ -70155,6 +70155,69 @@ var registerTaskRoutes = (app, context, done) => {
|
|
|
70155
70155
|
done();
|
|
70156
70156
|
};
|
|
70157
70157
|
|
|
70158
|
+
// packages/server/src/routes/search-routes.ts
|
|
70159
|
+
var registerSearchRoutes = (app, context, done) => {
|
|
70160
|
+
const { getProjectContext, projectRepository, provider } = context;
|
|
70161
|
+
app.get(
|
|
70162
|
+
"/v1/search/tasks",
|
|
70163
|
+
{
|
|
70164
|
+
schema: {
|
|
70165
|
+
querystring: TaskSearchQuerySchema,
|
|
70166
|
+
response: {
|
|
70167
|
+
200: TaskSearchPageSchema,
|
|
70168
|
+
503: ErrorResponseSchema
|
|
70169
|
+
}
|
|
70170
|
+
}
|
|
70171
|
+
},
|
|
70172
|
+
async (request2, reply) => {
|
|
70173
|
+
if (provider.search === void 0) {
|
|
70174
|
+
return reply.code(503).send({
|
|
70175
|
+
code: "GLOBAL_SEARCH_UNAVAILABLE",
|
|
70176
|
+
message: "Global search is unavailable"
|
|
70177
|
+
});
|
|
70178
|
+
}
|
|
70179
|
+
const projects = await projectRepository.list();
|
|
70180
|
+
const scopes = [
|
|
70181
|
+
{ id: TEMPORARY_TASK_SCOPE_ID, kind: "temporary" },
|
|
70182
|
+
...projects.map((project) => ({ id: project.id, kind: "project" }))
|
|
70183
|
+
];
|
|
70184
|
+
return provider.search.searchTasks(request2.query, scopes);
|
|
70185
|
+
}
|
|
70186
|
+
);
|
|
70187
|
+
app.get(
|
|
70188
|
+
"/v1/projects/:projectId/tasks/:taskId/search-occurrences",
|
|
70189
|
+
{
|
|
70190
|
+
schema: {
|
|
70191
|
+
params: ProjectTaskParamsSchema,
|
|
70192
|
+
querystring: SearchOccurrencesQuerySchema,
|
|
70193
|
+
response: {
|
|
70194
|
+
200: SearchOccurrencesPageSchema,
|
|
70195
|
+
404: ErrorResponseSchema,
|
|
70196
|
+
503: ErrorResponseSchema
|
|
70197
|
+
}
|
|
70198
|
+
}
|
|
70199
|
+
},
|
|
70200
|
+
async (request2, reply) => {
|
|
70201
|
+
const project = await getProjectContext(request2.params.projectId);
|
|
70202
|
+
if (project === void 0) {
|
|
70203
|
+
return reply.code(404).send({ code: "PROJECT_NOT_FOUND", message: "Project not found" });
|
|
70204
|
+
}
|
|
70205
|
+
if (provider.search === void 0) {
|
|
70206
|
+
return reply.code(503).send({
|
|
70207
|
+
code: "GLOBAL_SEARCH_UNAVAILABLE",
|
|
70208
|
+
message: "Global search is unavailable"
|
|
70209
|
+
});
|
|
70210
|
+
}
|
|
70211
|
+
return provider.search.searchTaskOccurrences(
|
|
70212
|
+
request2.params.taskId,
|
|
70213
|
+
request2.query,
|
|
70214
|
+
project.scope
|
|
70215
|
+
);
|
|
70216
|
+
}
|
|
70217
|
+
);
|
|
70218
|
+
done();
|
|
70219
|
+
};
|
|
70220
|
+
|
|
70158
70221
|
// packages/server/src/routes/turn-routes.ts
|
|
70159
70222
|
var registerTurnRoutes = (app, context, done) => {
|
|
70160
70223
|
const {
|
|
@@ -73178,6 +73241,7 @@ async function createCodexlyServer(options) {
|
|
|
73178
73241
|
await app.register(registerSkillMarketRoutes, routeContext);
|
|
73179
73242
|
await app.register(registerScheduledTaskRoutes, routeContext);
|
|
73180
73243
|
await app.register(registerTaskRoutes, routeContext);
|
|
73244
|
+
await app.register(registerSearchRoutes, routeContext);
|
|
73181
73245
|
await app.register(registerTurnRoutes, routeContext);
|
|
73182
73246
|
await app.register(registerSubmissionRoutes, routeContext);
|
|
73183
73247
|
await app.register(registerAsyncQuestionRoutes, routeContext);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';
|
|
2
|
-
import { IsArray, IsDate, IsTypedArray, IsMap, IsSet, IsObject, IsValueType, TypeBoxError, Object as Object$1, Unknown, String, Literal, Union, IsBoolean, IsBigInt, IsNull, IsNumber, IsString, IsSymbol, IsUint8Array, IsUndefined, Kind, type_exports, IsStandardObject, TypeSystemPolicy, format_exports, IsPromise, IsIterator, KeyOfPattern, IsSchema, IsInteger, IsFunction, IsAsyncIterator, Never, HasPropertyKey, IsTemplateLiteralFinite, TemplateLiteralGenerate, IsKind, KeyOfPropertyKeys, IsTransform, TransformKind, IsUndefined2, IndexFromPropertyKeys } from './chunk-
|
|
2
|
+
import { IsArray, IsDate, IsTypedArray, IsMap, IsSet, IsObject, IsValueType, TypeBoxError, Object as Object$1, Unknown, String, Literal, Union, IsBoolean, IsBigInt, IsNull, IsNumber, IsString, IsSymbol, IsUint8Array, IsUndefined, Kind, type_exports, IsStandardObject, TypeSystemPolicy, format_exports, IsPromise, IsIterator, KeyOfPattern, IsSchema, IsInteger, IsFunction, IsAsyncIterator, Never, HasPropertyKey, IsTemplateLiteralFinite, TemplateLiteralGenerate, IsKind, KeyOfPropertyKeys, IsTransform, TransformKind, IsUndefined2, IndexFromPropertyKeys } from './chunk-ZXTTTT25.js';
|
|
3
3
|
import { __export } from './chunk-K6J42667.js';
|
|
4
4
|
|
|
5
5
|
createRequire(import.meta.url);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';
|
|
2
2
|
import { WorkbenchPetProviderError, PendingRequestResolutionError } from './chunk-B2673ODM.js';
|
|
3
|
-
import { TEMPORARY_TASK_SCOPE_ID, MAX_AGENT_HISTORY_IMAGE_TOTAL_BYTES, isAgentFastModeAvailable, MAX_REALTIME_FILE_CHANGES, MAX_REALTIME_DIFF_BYTES, stripLeadingAgentSkillReferences, MAX_AGENT_HISTORY_IMAGES, MAX_AGENT_TEXT_BYTES } from './chunk-
|
|
3
|
+
import { TEMPORARY_TASK_SCOPE_ID, MAX_AGENT_HISTORY_IMAGE_TOTAL_BYTES, isAgentFastModeAvailable, MAX_REALTIME_FILE_CHANGES, MAX_REALTIME_DIFF_BYTES, stripLeadingAgentSkillReferences, MAX_AGENT_HISTORY_IMAGES, MAX_AGENT_TEXT_BYTES } from './chunk-ZXTTTT25.js';
|
|
4
4
|
import { __commonJS, __require, __toESM } from './chunk-K6J42667.js';
|
|
5
5
|
import { execFile, spawn } from 'child_process';
|
|
6
6
|
import { constants, mkdtempSync, rmSync, createReadStream, mkdirSync, unlinkSync, renameSync, writeFileSync, openSync, readSync, closeSync, statSync } from 'fs';
|
|
@@ -12824,6 +12824,138 @@ var CodexGitMetadataWatchService = class {
|
|
|
12824
12824
|
}
|
|
12825
12825
|
};
|
|
12826
12826
|
|
|
12827
|
+
// packages/provider-codex/src/global-search.ts
|
|
12828
|
+
var SEARCH_PAGE_SIZE = 30;
|
|
12829
|
+
var HISTORY_OCCURRENCE_CONCURRENCY = 4;
|
|
12830
|
+
function validateQuery(value) {
|
|
12831
|
+
const query = value.trim();
|
|
12832
|
+
if (query.length === 0 || Array.from(query).length > 1024) {
|
|
12833
|
+
throw new CodexProtocolMappingError("Global search query is invalid");
|
|
12834
|
+
}
|
|
12835
|
+
return query;
|
|
12836
|
+
}
|
|
12837
|
+
function parsePage(value, label) {
|
|
12838
|
+
const page = expectRecord(value, label);
|
|
12839
|
+
if (!Array.isArray(page["data"])) {
|
|
12840
|
+
throw new CodexProtocolMappingError(`${label} data must be an array`);
|
|
12841
|
+
}
|
|
12842
|
+
const nextCursor = page["nextCursor"];
|
|
12843
|
+
if (nextCursor !== null && typeof nextCursor !== "string") {
|
|
12844
|
+
throw new CodexProtocolMappingError(`${label} nextCursor must be a string or null`);
|
|
12845
|
+
}
|
|
12846
|
+
return { data: page["data"], nextCursor };
|
|
12847
|
+
}
|
|
12848
|
+
function parseOccurrence(value) {
|
|
12849
|
+
const occurrence = expectRecord(value, "thread/searchOccurrences item");
|
|
12850
|
+
const range = expectRecord(
|
|
12851
|
+
occurrence["snippetMatchRange"],
|
|
12852
|
+
"thread/searchOccurrences snippetMatchRange"
|
|
12853
|
+
);
|
|
12854
|
+
const start = range["start"];
|
|
12855
|
+
const end = range["end"];
|
|
12856
|
+
if (!Number.isInteger(start) || !Number.isInteger(end) || Number(start) < 0 || Number(end) < 0) {
|
|
12857
|
+
throw new CodexProtocolMappingError("thread/searchOccurrences range must be non-negative");
|
|
12858
|
+
}
|
|
12859
|
+
const nativeTurnCursor = expectString(
|
|
12860
|
+
occurrence["turnCursor"],
|
|
12861
|
+
"thread/searchOccurrences turnCursor"
|
|
12862
|
+
);
|
|
12863
|
+
const turnCursor = encodeTaskTurnCursor(nativeTurnCursor, void 0);
|
|
12864
|
+
if (turnCursor === null) {
|
|
12865
|
+
throw new CodexProtocolMappingError("thread/searchOccurrences turnCursor must not be null");
|
|
12866
|
+
}
|
|
12867
|
+
return {
|
|
12868
|
+
itemId: expectString(occurrence["itemId"], "thread/searchOccurrences itemId"),
|
|
12869
|
+
snippet: expectString(occurrence["snippet"], "thread/searchOccurrences snippet"),
|
|
12870
|
+
snippetMatchRange: { end: Number(end), start: Number(start) },
|
|
12871
|
+
turnCursor,
|
|
12872
|
+
turnId: expectString(occurrence["turnId"], "thread/searchOccurrences turnId")
|
|
12873
|
+
};
|
|
12874
|
+
}
|
|
12875
|
+
function scopeForThread(thread, scopes) {
|
|
12876
|
+
return scopes.find((scope) => isProjectThread(thread, scope));
|
|
12877
|
+
}
|
|
12878
|
+
async function mapWithConcurrency(values, concurrency, map) {
|
|
12879
|
+
const results = new Array(values.length);
|
|
12880
|
+
const entries = values.entries();
|
|
12881
|
+
await Promise.all(
|
|
12882
|
+
Array.from({ length: Math.min(concurrency, values.length) }, async () => {
|
|
12883
|
+
let entry = entries.next();
|
|
12884
|
+
while (!entry.done) {
|
|
12885
|
+
const [index, value] = entry.value;
|
|
12886
|
+
results[index] = await map(value);
|
|
12887
|
+
entry = entries.next();
|
|
12888
|
+
}
|
|
12889
|
+
})
|
|
12890
|
+
);
|
|
12891
|
+
return results;
|
|
12892
|
+
}
|
|
12893
|
+
var CodexGlobalSearchService = class {
|
|
12894
|
+
constructor(client) {
|
|
12895
|
+
this.client = client;
|
|
12896
|
+
}
|
|
12897
|
+
client;
|
|
12898
|
+
async searchTasks(input, scopes) {
|
|
12899
|
+
const query = validateQuery(input.query);
|
|
12900
|
+
const params = {
|
|
12901
|
+
archived: input.archived,
|
|
12902
|
+
...input.cursor === void 0 ? {} : { cursor: input.cursor },
|
|
12903
|
+
limit: SEARCH_PAGE_SIZE,
|
|
12904
|
+
searchTerm: query,
|
|
12905
|
+
sortDirection: "desc",
|
|
12906
|
+
sortKey: "recency_at"
|
|
12907
|
+
};
|
|
12908
|
+
const page = parsePage(
|
|
12909
|
+
await this.client.request(
|
|
12910
|
+
input.kind === "tasks" ? "thread/list" : "thread/search",
|
|
12911
|
+
input.kind === "tasks" ? { ...params, modelProviders: [] } : params
|
|
12912
|
+
),
|
|
12913
|
+
input.kind === "tasks" ? "thread/list response" : "thread/search response"
|
|
12914
|
+
);
|
|
12915
|
+
const mapped = await mapWithConcurrency(
|
|
12916
|
+
page.data.slice(0, SEARCH_PAGE_SIZE),
|
|
12917
|
+
input.kind === "history" ? HISTORY_OCCURRENCE_CONCURRENCY : SEARCH_PAGE_SIZE,
|
|
12918
|
+
async (value) => {
|
|
12919
|
+
const result = input.kind === "tasks" ? { thread: value } : expectRecord(value, "thread/search item");
|
|
12920
|
+
const thread = expectRecord(result["thread"], "global search thread");
|
|
12921
|
+
const scope = scopeForThread(thread, scopes);
|
|
12922
|
+
if (scope === void 0) return void 0;
|
|
12923
|
+
const task = await mapAgentTask(thread, scope);
|
|
12924
|
+
if (input.kind === "tasks") return { snippet: "", task };
|
|
12925
|
+
const occurrences = await this.requestOccurrences(task.id, query, void 0, 1);
|
|
12926
|
+
const occurrence = occurrences.data[0];
|
|
12927
|
+
if (occurrence === void 0) return void 0;
|
|
12928
|
+
return { occurrence, snippet: occurrence.snippet, task };
|
|
12929
|
+
}
|
|
12930
|
+
);
|
|
12931
|
+
return { data: mapped.filter((item) => item !== void 0), nextCursor: page.nextCursor };
|
|
12932
|
+
}
|
|
12933
|
+
async searchTaskOccurrences(taskId, input, scope) {
|
|
12934
|
+
const query = validateQuery(input.query);
|
|
12935
|
+
const response = expectRecord(
|
|
12936
|
+
await this.client.request("thread/read", { includeTurns: false, threadId: taskId }),
|
|
12937
|
+
"thread/read response"
|
|
12938
|
+
);
|
|
12939
|
+
const thread = expectRecord(response["thread"], "thread/read thread");
|
|
12940
|
+
if (!isProjectThread(thread, scope)) {
|
|
12941
|
+
throw new CodexProtocolMappingError("Search task does not belong to the requested project");
|
|
12942
|
+
}
|
|
12943
|
+
return this.requestOccurrences(taskId, query, input.cursor, SEARCH_PAGE_SIZE);
|
|
12944
|
+
}
|
|
12945
|
+
async requestOccurrences(taskId, query, cursor, limit) {
|
|
12946
|
+
const page = parsePage(
|
|
12947
|
+
await this.client.request("thread/searchOccurrences", {
|
|
12948
|
+
...cursor === void 0 ? {} : { cursor },
|
|
12949
|
+
limit,
|
|
12950
|
+
searchTerm: query,
|
|
12951
|
+
threadId: taskId
|
|
12952
|
+
}),
|
|
12953
|
+
"thread/searchOccurrences response"
|
|
12954
|
+
);
|
|
12955
|
+
return { data: page.data.map(parseOccurrence), nextCursor: page.nextCursor };
|
|
12956
|
+
}
|
|
12957
|
+
};
|
|
12958
|
+
|
|
12827
12959
|
// packages/provider-codex/src/skill-market-provider.ts
|
|
12828
12960
|
var OFFICIAL_MARKETPLACES = /* @__PURE__ */ new Set([
|
|
12829
12961
|
"openai-curated",
|
|
@@ -13062,6 +13194,7 @@ async function setCodexMcpServerEnabled(client, name, enabled) {
|
|
|
13062
13194
|
var CodexRuntimeProvider = class {
|
|
13063
13195
|
personalization;
|
|
13064
13196
|
fileSearch;
|
|
13197
|
+
search;
|
|
13065
13198
|
#client;
|
|
13066
13199
|
#taskTitles;
|
|
13067
13200
|
#logger;
|
|
@@ -13090,6 +13223,7 @@ var CodexRuntimeProvider = class {
|
|
|
13090
13223
|
this.#logger = logger;
|
|
13091
13224
|
this.#providerConnection = new CodexProviderConnectionService(client, options);
|
|
13092
13225
|
this.fileSearch = new CodexFuzzyFileSearchService(client);
|
|
13226
|
+
this.search = new CodexGlobalSearchService(client);
|
|
13093
13227
|
this.#gitMetadataWatch = new CodexGitMetadataWatchService(client, {
|
|
13094
13228
|
logger,
|
|
13095
13229
|
onChanged: (projectId, rootPath) => {
|