@bryanhu/codexly 0.35.0 → 0.36.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 +34 -1
- package/README.md +27 -6
- package/README.zh-CN.md +33 -6
- package/dist/chunk-3WW7LK46.js +5 -0
- package/dist/chunk-DRIJMD7S.js +1040 -0
- package/dist/chunk-GFASBWL4.js +3 -0
- package/dist/chunk-HD7TOFDV.js +3 -0
- package/dist/chunk-IV4NRE4S.js +2 -0
- package/dist/chunk-PQPYP3AR.js +77 -0
- package/dist/chunk-XJOOU7A5.js +2 -0
- package/dist/chunk-YXJGRSCL.js +2 -0
- package/dist/chunk-ZK7RF5XC.js +40 -0
- package/dist/cli.js +6 -1270
- package/dist/client/index.js +2 -1613
- package/dist/codex-jsonl-frame-worker.js +2 -120
- package/dist/command-VIK5GXBS.js +84 -0
- package/dist/core/index.js +1 -5
- package/dist/dist-2UQZKK3B.js +2 -0
- package/dist/historical-attachment-worker.js +2 -94
- package/dist/protocol/index.js +1 -6
- package/dist/providers/codex/index.js +1 -9
- package/dist/scheduled-task-recurrence-worker.js +9 -2969
- package/dist/server/index.js +1 -11
- package/dist/sqlite-state-worker.js +31 -872
- package/dist/web/.vite/manifest.json +333 -299
- package/dist/web/.vite/manifest.json.br +0 -0
- package/dist/web/.vite/manifest.json.gz +0 -0
- package/dist/web/assets/abnfDiagram-N423BO3Z-BA9G7eND.js +1 -0
- package/dist/web/assets/abnfDiagram-N423BO3Z-BA9G7eND.js.br +0 -0
- package/dist/web/assets/abnfDiagram-N423BO3Z-BA9G7eND.js.gz +0 -0
- package/dist/web/assets/agent-settings-panel-B0qVVJ3_.js +1 -0
- package/dist/web/assets/agent-settings-panel-B0qVVJ3_.js.br +0 -0
- package/dist/web/assets/agent-settings-panel-B0qVVJ3_.js.gz +0 -0
- package/dist/web/assets/architectureDiagram-T3A2C74G-hY1IIQ-y.js +36 -0
- package/dist/web/assets/architectureDiagram-T3A2C74G-hY1IIQ-y.js.br +0 -0
- package/dist/web/assets/architectureDiagram-T3A2C74G-hY1IIQ-y.js.gz +0 -0
- package/dist/web/assets/{background-image-picker-D4xlUwrb.js → background-image-picker-CVhVTosp.js} +1 -1
- package/dist/web/assets/background-image-picker-CVhVTosp.js.br +0 -0
- package/dist/web/assets/background-image-picker-CVhVTosp.js.gz +0 -0
- package/dist/web/assets/{chunk-5RXB4S5H-BDaXxnei.js → chunk-5RXB4S5H-fg31GjQR.js} +1 -1
- package/dist/web/assets/chunk-5RXB4S5H-fg31GjQR.js.br +0 -0
- package/dist/web/assets/chunk-5RXB4S5H-fg31GjQR.js.gz +0 -0
- package/dist/web/assets/{chunk-6Q2QTUOP-BcTojajm.js → chunk-6Q2QTUOP-UGVxaGe-.js} +1 -1
- package/dist/web/assets/chunk-6Q2QTUOP-UGVxaGe-.js.br +0 -0
- package/dist/web/assets/chunk-6Q2QTUOP-UGVxaGe-.js.gz +0 -0
- package/dist/web/assets/{chunk-GF5L2VYU-XelwAXnk.js → chunk-GF5L2VYU-iTLU6Gbu.js} +2 -2
- package/dist/web/assets/chunk-GF5L2VYU-iTLU6Gbu.js.br +0 -0
- package/dist/web/assets/chunk-GF5L2VYU-iTLU6Gbu.js.gz +0 -0
- package/dist/web/assets/{chunk-JQJVKLGR-Cyok4-2b.js → chunk-JQJVKLGR-DzWAKhHq.js} +3 -3
- package/dist/web/assets/chunk-JQJVKLGR-DzWAKhHq.js.br +0 -0
- package/dist/web/assets/chunk-JQJVKLGR-DzWAKhHq.js.gz +0 -0
- package/dist/web/assets/classDiagram-JCYQIIEL-Cc_4r5xo.js +1 -0
- package/dist/web/assets/classDiagram-JCYQIIEL-Cc_4r5xo.js.br +0 -0
- package/dist/web/assets/classDiagram-JCYQIIEL-Cc_4r5xo.js.gz +0 -0
- package/dist/web/assets/classDiagram-v2-OCEON4UE-Cc_4r5xo.js +1 -0
- package/dist/web/assets/classDiagram-v2-OCEON4UE-Cc_4r5xo.js.br +0 -0
- package/dist/web/assets/classDiagram-v2-OCEON4UE-Cc_4r5xo.js.gz +0 -0
- package/dist/web/assets/{code-highlighter-BDJkbu1d.js → code-highlighter-CTwU6LuI.js} +1 -1
- package/dist/web/assets/code-highlighter-CTwU6LuI.js.br +0 -0
- package/dist/web/assets/code-highlighter-CTwU6LuI.js.gz +0 -0
- package/dist/web/assets/{commit-settings-panel-j2yqctr_.js → commit-settings-panel-Ctb-LmoD.js} +1 -1
- package/dist/web/assets/commit-settings-panel-Ctb-LmoD.js.br +0 -0
- package/dist/web/assets/commit-settings-panel-Ctb-LmoD.js.gz +0 -0
- package/dist/web/assets/cynefinDiagram-MW4NZA55-CarrAQe_.js +62 -0
- package/dist/web/assets/cynefinDiagram-MW4NZA55-CarrAQe_.js.br +0 -0
- package/dist/web/assets/cynefinDiagram-MW4NZA55-CarrAQe_.js.gz +0 -0
- package/dist/web/assets/{diagram-7IWD3JNH-BfnXF08-.js → diagram-7IWD3JNH-CHgQ34Br.js} +3 -3
- package/dist/web/assets/diagram-7IWD3JNH-CHgQ34Br.js.br +0 -0
- package/dist/web/assets/diagram-7IWD3JNH-CHgQ34Br.js.gz +0 -0
- package/dist/web/assets/diagram-B4RE2ZJO-qtdLm98R.js +3 -0
- package/dist/web/assets/diagram-B4RE2ZJO-qtdLm98R.js.br +0 -0
- package/dist/web/assets/diagram-B4RE2ZJO-qtdLm98R.js.gz +0 -0
- package/dist/web/assets/diagram-LBJQPF4R-Do0sclzV.js +24 -0
- package/dist/web/assets/diagram-LBJQPF4R-Do0sclzV.js.br +0 -0
- package/dist/web/assets/diagram-LBJQPF4R-Do0sclzV.js.gz +0 -0
- package/dist/web/assets/diagram-Q27KOJAE-CuX25bnK.js +24 -0
- package/dist/web/assets/diagram-Q27KOJAE-CuX25bnK.js.br +0 -0
- package/dist/web/assets/diagram-Q27KOJAE-CuX25bnK.js.gz +0 -0
- package/dist/web/assets/diagram-UB23O5K3-C8vf7TKH.js +41 -0
- package/dist/web/assets/diagram-UB23O5K3-C8vf7TKH.js.br +0 -0
- package/dist/web/assets/diagram-UB23O5K3-C8vf7TKH.js.gz +0 -0
- package/dist/web/assets/{dist-Ci1kbFbB.js → dist-C12Fexcu.js} +1 -1
- package/dist/web/assets/dist-C12Fexcu.js.br +0 -0
- package/dist/web/assets/dist-C12Fexcu.js.gz +0 -0
- package/dist/web/assets/dist-DHnVkR1t.js +42 -0
- package/dist/web/assets/dist-DHnVkR1t.js.br +0 -0
- package/dist/web/assets/dist-DHnVkR1t.js.gz +0 -0
- package/dist/web/assets/ebnfDiagram-BXEA7PRR-DctRYehy.js +1 -0
- package/dist/web/assets/ebnfDiagram-BXEA7PRR-DctRYehy.js.br +0 -0
- package/dist/web/assets/ebnfDiagram-BXEA7PRR-DctRYehy.js.gz +0 -0
- package/dist/web/assets/{erDiagram-JOGREHBK-BOKR1NS3.js → erDiagram-JOGREHBK-BkfLzWvS.js} +2 -2
- package/dist/web/assets/erDiagram-JOGREHBK-BkfLzWvS.js.br +0 -0
- package/dist/web/assets/{erDiagram-JOGREHBK-BOKR1NS3.js.gz → erDiagram-JOGREHBK-BkfLzWvS.js.gz} +0 -0
- package/dist/web/assets/{file-review-dialog-DvgO1Ae8.js → file-review-dialog-pkoiV9C7.js} +2 -2
- package/dist/web/assets/file-review-dialog-pkoiV9C7.js.br +0 -0
- package/dist/web/assets/file-review-dialog-pkoiV9C7.js.gz +0 -0
- package/dist/web/assets/{flowDiagram-UKHOOZJN-CEamRwMR.js → flowDiagram-UKHOOZJN-CQWRJfj_.js} +1 -1
- package/dist/web/assets/flowDiagram-UKHOOZJN-CQWRJfj_.js.br +0 -0
- package/dist/web/assets/flowDiagram-UKHOOZJN-CQWRJfj_.js.gz +0 -0
- package/dist/web/assets/{git-commit-review-D5ge3jwI.js → git-commit-review-BK6Ykgxx.js} +2 -2
- package/dist/web/assets/git-commit-review-BK6Ykgxx.js.br +0 -0
- package/dist/web/assets/git-commit-review-BK6Ykgxx.js.gz +0 -0
- package/dist/web/assets/{git-history-panel-DsGqR_Zc.js → git-history-panel-BYunPg_Y.js} +1 -1
- package/dist/web/assets/git-history-panel-BYunPg_Y.js.br +0 -0
- package/dist/web/assets/git-history-panel-BYunPg_Y.js.gz +0 -0
- package/dist/web/assets/gitGraphDiagram-DS77QQ5N-JH4oE096.js +106 -0
- package/dist/web/assets/gitGraphDiagram-DS77QQ5N-JH4oE096.js.br +0 -0
- package/dist/web/assets/gitGraphDiagram-DS77QQ5N-JH4oE096.js.gz +0 -0
- package/dist/web/assets/{global-search-dialog-JzDBjqX4.js → global-search-dialog-DKnqW_9p.js} +1 -1
- package/dist/web/assets/global-search-dialog-DKnqW_9p.js.br +0 -0
- package/dist/web/assets/global-search-dialog-DKnqW_9p.js.gz +0 -0
- package/dist/web/assets/{global-settings-about-CULXi1Dn.js → global-settings-about-CUWtouNQ.js} +1 -1
- package/dist/web/assets/global-settings-about-CUWtouNQ.js.br +0 -0
- package/dist/web/assets/global-settings-about-CUWtouNQ.js.gz +0 -0
- package/dist/web/assets/global-settings-page-7DIqvRQV.js +2 -0
- package/dist/web/assets/global-settings-page-7DIqvRQV.js.br +0 -0
- package/dist/web/assets/global-settings-page-7DIqvRQV.js.gz +0 -0
- package/dist/web/assets/{global-settings-pets-hPG36aUL.js → global-settings-pets-DOp0Bwxj.js} +1 -1
- package/dist/web/assets/global-settings-pets-DOp0Bwxj.js.br +0 -0
- package/dist/web/assets/global-settings-pets-DOp0Bwxj.js.gz +0 -0
- package/dist/web/assets/{highlighted-body-OFNGDK62-CoO9fhim.js → highlighted-body-OFNGDK62-BN31gHcf.js} +1 -1
- package/dist/web/assets/highlighted-body-OFNGDK62-BN31gHcf.js.br +0 -0
- package/dist/web/assets/highlighted-body-OFNGDK62-BN31gHcf.js.gz +0 -0
- package/dist/web/assets/{history-task-timeline-CQphWf0m.js → history-task-timeline-Db7jVbJQ.js} +1 -1
- package/dist/web/assets/history-task-timeline-Db7jVbJQ.js.br +0 -0
- package/dist/web/assets/history-task-timeline-Db7jVbJQ.js.gz +0 -0
- package/dist/web/assets/{image-preview-Dtx8uVmp.js → image-preview-NyGMcveW.js} +2 -2
- package/dist/web/assets/image-preview-NyGMcveW.js.br +0 -0
- package/dist/web/assets/image-preview-NyGMcveW.js.gz +0 -0
- package/dist/web/assets/{image-preview-content-zLsEpLCA.js → image-preview-content-BBgkjUms.js} +1 -1
- package/dist/web/assets/image-preview-content-BBgkjUms.js.br +0 -0
- package/dist/web/assets/image-preview-content-BBgkjUms.js.gz +0 -0
- package/dist/web/assets/index-Bea8TUta.css +2 -0
- package/dist/web/assets/index-Bea8TUta.css.br +0 -0
- package/dist/web/assets/index-Bea8TUta.css.gz +0 -0
- package/dist/web/assets/index-CGGXkww0.js +4 -0
- package/dist/web/assets/index-CGGXkww0.js.br +0 -0
- package/dist/web/assets/index-CGGXkww0.js.gz +0 -0
- package/dist/web/assets/infoDiagram-6WML65LV-smD1e7u3.js +2 -0
- package/dist/web/assets/infoDiagram-6WML65LV-smD1e7u3.js.br +0 -0
- package/dist/web/assets/infoDiagram-6WML65LV-smD1e7u3.js.gz +0 -0
- package/dist/web/assets/{initial-deps-Be-R---T.js → initial-deps-CJDv_c3Y.js} +1 -1
- package/dist/web/assets/initial-deps-CJDv_c3Y.js.br +0 -0
- package/dist/web/assets/initial-deps-CJDv_c3Y.js.gz +0 -0
- package/dist/web/assets/initial-deps-DwgXix97.js +2 -0
- package/dist/web/assets/initial-deps-DwgXix97.js.br +0 -0
- package/dist/web/assets/initial-deps-DwgXix97.js.gz +0 -0
- package/dist/web/assets/{installed-skills-pane-DBJ_KuXN.js → installed-skills-pane-BjwoHdKg.js} +1 -1
- package/dist/web/assets/installed-skills-pane-BjwoHdKg.js.br +0 -0
- package/dist/web/assets/installed-skills-pane-BjwoHdKg.js.gz +0 -0
- package/dist/web/assets/{ishikawaDiagram-WSZJBQD7-CcWhd8w9.js → ishikawaDiagram-WSZJBQD7-BMJ0kCX-.js} +1 -1
- package/dist/web/assets/ishikawaDiagram-WSZJBQD7-BMJ0kCX-.js.br +0 -0
- package/dist/web/assets/ishikawaDiagram-WSZJBQD7-BMJ0kCX-.js.gz +0 -0
- package/dist/web/assets/{kanban-definition-27J2QSJJ-DEkge27F.js → kanban-definition-27J2QSJJ-pQQ3ybGq.js} +3 -3
- package/dist/web/assets/kanban-definition-27J2QSJJ-pQQ3ybGq.js.br +0 -0
- package/dist/web/assets/kanban-definition-27J2QSJJ-pQQ3ybGq.js.gz +0 -0
- package/dist/web/assets/lazy-message-response-lBhr_q1o.js +2 -0
- package/dist/web/assets/lazy-message-response-lBhr_q1o.js.br +5 -0
- package/dist/web/assets/lazy-message-response-lBhr_q1o.js.gz +0 -0
- package/dist/web/assets/{mcp-management-pane-16qr0aVZ.js → mcp-management-pane-sSqs8EvB.js} +1 -1
- package/dist/web/assets/mcp-management-pane-sSqs8EvB.js.br +0 -0
- package/dist/web/assets/mcp-management-pane-sSqs8EvB.js.gz +0 -0
- package/dist/web/assets/mermaid-GHXKKRXX-DqH-ybrY.js +1 -0
- package/dist/web/assets/mermaid-GHXKKRXX-DqH-ybrY.js.br +1 -0
- package/dist/web/assets/mermaid-GHXKKRXX-DqH-ybrY.js.gz +0 -0
- package/dist/web/assets/message-assistant-directive-B5_Hjs0F.js +3 -0
- package/dist/web/assets/message-assistant-directive-B5_Hjs0F.js.br +0 -0
- package/dist/web/assets/message-assistant-directive-B5_Hjs0F.js.gz +0 -0
- package/dist/web/assets/message-response-B1MUkN4A.js +151 -0
- package/dist/web/assets/message-response-B1MUkN4A.js.br +0 -0
- package/dist/web/assets/message-response-B1MUkN4A.js.gz +0 -0
- package/dist/web/assets/{mindmap-definition-FAOFIHXS-DubrGaue.js → mindmap-definition-FAOFIHXS-CgQ5woK5.js} +2 -2
- package/dist/web/assets/mindmap-definition-FAOFIHXS-CgQ5woK5.js.br +0 -0
- package/dist/web/assets/mindmap-definition-FAOFIHXS-CgQ5woK5.js.gz +0 -0
- package/dist/web/assets/{official-plugins-pane-vADxh_le.js → official-plugins-pane-wD25peXQ.js} +1 -1
- package/dist/web/assets/official-plugins-pane-wD25peXQ.js.br +0 -0
- package/dist/web/assets/official-plugins-pane-wD25peXQ.js.gz +0 -0
- package/dist/web/assets/patch-diff-viewer-VOHL2ZQz.js +1409 -0
- package/dist/web/assets/patch-diff-viewer-VOHL2ZQz.js.br +0 -0
- package/dist/web/assets/patch-diff-viewer-VOHL2ZQz.js.gz +0 -0
- package/dist/web/assets/{pdf-preview-BG-XpATo.js → pdf-preview-BWJWSwA6.js} +3 -3
- package/dist/web/assets/pdf-preview-BWJWSwA6.js.br +0 -0
- package/dist/web/assets/pdf-preview-BWJWSwA6.js.gz +0 -0
- package/dist/web/assets/pegDiagram-VL7TDLO6-CEECg9Qv.js +1 -0
- package/dist/web/assets/pegDiagram-VL7TDLO6-CEECg9Qv.js.br +0 -0
- package/dist/web/assets/pegDiagram-VL7TDLO6-CEECg9Qv.js.gz +0 -0
- package/dist/web/assets/{personalization-settings-panel-Br7qXDQ7.js → personalization-settings-panel-Be8r7yUH.js} +1 -1
- package/dist/web/assets/personalization-settings-panel-Be8r7yUH.js.br +0 -0
- package/dist/web/assets/personalization-settings-panel-Be8r7yUH.js.gz +0 -0
- package/dist/web/assets/pieDiagram-7S7Q4E2Y-C3L4IYmx.js +39 -0
- package/dist/web/assets/pieDiagram-7S7Q4E2Y-C3L4IYmx.js.br +0 -0
- package/dist/web/assets/pieDiagram-7S7Q4E2Y-C3L4IYmx.js.gz +0 -0
- package/dist/web/assets/{project-file-popup-page-CmNJLTSV.js → project-file-popup-page-3kD_QzID.js} +1 -1
- package/dist/web/assets/project-file-popup-page-3kD_QzID.js.br +0 -0
- package/dist/web/assets/project-file-popup-page-3kD_QzID.js.gz +0 -0
- package/dist/web/assets/project-source-panel-ZKxkrM_q.js +2 -0
- package/dist/web/assets/project-source-panel-ZKxkrM_q.js.br +0 -0
- package/dist/web/assets/project-source-panel-ZKxkrM_q.js.gz +0 -0
- package/dist/web/assets/{prompt-input-Brfimssc.js → prompt-input-DpTzQpMu.js} +1 -1
- package/dist/web/assets/prompt-input-DpTzQpMu.js.br +0 -0
- package/dist/web/assets/prompt-input-DpTzQpMu.js.gz +0 -0
- package/dist/web/assets/railroadDiagram-AXF67PYL-CXSGJisB.js +1 -0
- package/dist/web/assets/railroadDiagram-AXF67PYL-CXSGJisB.js.br +0 -0
- package/dist/web/assets/railroadDiagram-AXF67PYL-CXSGJisB.js.gz +0 -0
- package/dist/web/assets/{requirementDiagram-LRYGKXZP-CG8KWt_j.js → requirementDiagram-LRYGKXZP-uB3tW141.js} +2 -2
- package/dist/web/assets/requirementDiagram-LRYGKXZP-uB3tW141.js.br +0 -0
- package/dist/web/assets/requirementDiagram-LRYGKXZP-uB3tW141.js.gz +0 -0
- package/dist/web/assets/resources-en-gaD7QZkd.js +1 -0
- package/dist/web/assets/resources-en-gaD7QZkd.js.br +0 -0
- package/dist/web/assets/resources-en-gaD7QZkd.js.gz +0 -0
- package/dist/web/assets/{scheduled-task-date-time-picker-DeOtns9O.js → scheduled-task-date-time-picker-CA-dPI35.js} +1 -1
- package/dist/web/assets/scheduled-task-date-time-picker-CA-dPI35.js.br +0 -0
- package/dist/web/assets/scheduled-task-date-time-picker-CA-dPI35.js.gz +0 -0
- package/dist/web/assets/{scheduled-task-floating-ui~scheduled-task-date-time-picker-CbWhx_7u.js → scheduled-task-floating-ui~scheduled-task-date-time-picker-wwPq7k9m.js} +1 -1
- package/dist/web/assets/scheduled-task-floating-ui~scheduled-task-date-time-picker-wwPq7k9m.js.br +0 -0
- package/dist/web/assets/scheduled-task-floating-ui~scheduled-task-date-time-picker-wwPq7k9m.js.gz +0 -0
- package/dist/web/assets/scheduled-tasks-BBUd86IL.js +1 -0
- package/dist/web/assets/scheduled-tasks-BBUd86IL.js.br +0 -0
- package/dist/web/assets/scheduled-tasks-BBUd86IL.js.gz +0 -0
- package/dist/web/assets/scheduled-tasks-container-D0Zpvskg.js +2 -0
- package/dist/web/assets/scheduled-tasks-container-D0Zpvskg.js.br +0 -0
- package/dist/web/assets/scheduled-tasks-container-D0Zpvskg.js.gz +0 -0
- package/dist/web/assets/{sequenceDiagram-SI44F4Z6-DbZoTul2.js → sequenceDiagram-SI44F4Z6-BikVJyrh.js} +2 -2
- package/dist/web/assets/sequenceDiagram-SI44F4Z6-BikVJyrh.js.br +0 -0
- package/dist/web/assets/sequenceDiagram-SI44F4Z6-BikVJyrh.js.gz +0 -0
- package/dist/web/assets/{sheet-B9MDuGoF.js → sheet-BSeAYy7W.js} +1 -1
- package/dist/web/assets/sheet-BSeAYy7W.js.br +0 -0
- package/dist/web/assets/sheet-BSeAYy7W.js.gz +0 -0
- package/dist/web/assets/{shiki-bundle-BlbGsyMZ.js → shiki-bundle-BZV5obW1.js} +1 -1
- package/dist/web/assets/shiki-bundle-BZV5obW1.js.br +2 -0
- package/dist/web/assets/shiki-bundle-BZV5obW1.js.gz +0 -0
- package/dist/web/assets/{skills-market-container-CWO3CeMr.js → skills-market-container-iC2hoU-7.js} +2 -2
- package/dist/web/assets/skills-market-container-iC2hoU-7.js.br +0 -0
- package/dist/web/assets/skills-market-container-iC2hoU-7.js.gz +0 -0
- package/dist/web/assets/{split-workspace-menu-content-rImPq6wj.js → split-workspace-menu-content-BlNIoxF5.js} +1 -1
- package/dist/web/assets/split-workspace-menu-content-BlNIoxF5.js.br +3 -0
- package/dist/web/assets/split-workspace-menu-content-BlNIoxF5.js.gz +0 -0
- package/dist/web/assets/stateDiagram-OKZ733FA-CBWRnaGO.js +1 -0
- package/dist/web/assets/stateDiagram-OKZ733FA-CBWRnaGO.js.br +0 -0
- package/dist/web/assets/stateDiagram-OKZ733FA-CBWRnaGO.js.gz +0 -0
- package/dist/web/assets/stateDiagram-v2-UEYNNEHI-CJYWLmtB.js +1 -0
- package/dist/web/assets/stateDiagram-v2-UEYNNEHI-CJYWLmtB.js.br +0 -0
- package/dist/web/assets/stateDiagram-v2-UEYNNEHI-CJYWLmtB.js.gz +0 -0
- package/dist/web/assets/{swimlanesDiagram-ULZ7WXOC-RILHYzJF.js → swimlanesDiagram-ULZ7WXOC-5agQ3ner.js} +1 -1
- package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-5agQ3ner.js.br +0 -0
- package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-5agQ3ner.js.gz +0 -0
- package/dist/web/assets/{third-party-marketplace-pane-DKWMNoa3.js → third-party-marketplace-pane-DvF5pfS7.js} +1 -1
- package/dist/web/assets/third-party-marketplace-pane-DvF5pfS7.js.br +0 -0
- package/dist/web/assets/third-party-marketplace-pane-DvF5pfS7.js.gz +0 -0
- package/dist/web/assets/{timeline-definition-Z64GVDOM-BQMes8Ld.js → timeline-definition-Z64GVDOM-D_09Q10V.js} +1 -1
- package/dist/web/assets/timeline-definition-Z64GVDOM-D_09Q10V.js.br +0 -0
- package/dist/web/assets/timeline-definition-Z64GVDOM-D_09Q10V.js.gz +0 -0
- package/dist/web/assets/{vennDiagram-T6HMQDX7-qBMuOWPn.js → vennDiagram-T6HMQDX7-3WtBk1Fg.js} +1 -1
- package/dist/web/assets/vennDiagram-T6HMQDX7-3WtBk1Fg.js.br +0 -0
- package/dist/web/assets/vennDiagram-T6HMQDX7-3WtBk1Fg.js.gz +0 -0
- package/dist/web/assets/{wardleyDiagram-T6FBY63Y-BXVFrJeX.js → wardleyDiagram-T6FBY63Y-DBIzys3u.js} +3 -3
- package/dist/web/assets/wardleyDiagram-T6FBY63Y-DBIzys3u.js.br +0 -0
- package/dist/web/assets/wardleyDiagram-T6FBY63Y-DBIzys3u.js.gz +0 -0
- package/dist/web/assets/workbench-inspector-changes-DGOGbxn8.js +2 -0
- package/dist/web/assets/workbench-inspector-changes-DGOGbxn8.js.br +0 -0
- package/dist/web/assets/workbench-inspector-changes-DGOGbxn8.js.gz +0 -0
- package/dist/web/assets/{workbench-pet-canvas-BM6S31jL.js → workbench-pet-canvas-06NCdnyp.js} +1 -1
- package/dist/web/assets/workbench-pet-canvas-06NCdnyp.js.br +0 -0
- package/dist/web/assets/workbench-pet-canvas-06NCdnyp.js.gz +0 -0
- package/dist/web/assets/workbench-shell-BmVPybzn.js +16 -0
- package/dist/web/assets/workbench-shell-BmVPybzn.js.br +0 -0
- package/dist/web/assets/workbench-shell-BmVPybzn.js.gz +0 -0
- package/dist/web/assets/{xychartDiagram-ELKLHX3M-DT2u1V83.js → xychartDiagram-ELKLHX3M-DwDj5q-W.js} +1 -1
- package/dist/web/assets/xychartDiagram-ELKLHX3M-DwDj5q-W.js.br +0 -0
- package/dist/web/assets/xychartDiagram-ELKLHX3M-DwDj5q-W.js.gz +0 -0
- package/dist/web/index.html +5 -5
- package/dist/web/index.html.br +0 -0
- package/dist/web/index.html.gz +0 -0
- package/docs/git-workflow.md +41 -0
- package/docs/model-context-window.md +31 -0
- package/docs/web-autostart.md +104 -0
- package/docs/web-autostart.zh-CN.md +104 -0
- package/package.json +5 -1
- package/dist/chunk-6TW6YUSL.js +0 -74005
- package/dist/chunk-BRKY2HKI.js +0 -6072
- package/dist/chunk-GBLVWFLZ.js +0 -23
- package/dist/chunk-GT7XTSEG.js +0 -56
- package/dist/chunk-K6J42667.js +0 -43
- package/dist/chunk-OM52Z4J7.js +0 -3360
- package/dist/chunk-REIMOLGX.js +0 -317
- package/dist/chunk-RGMQBXXC.js +0 -16146
- package/dist/dist-NGSIFQU5.js +0 -252
- package/dist/runtime-instance-worker.js +0 -19
- package/dist/web/assets/abnfDiagram-N423BO3Z-DjEUmHES.js +0 -1
- package/dist/web/assets/abnfDiagram-N423BO3Z-DjEUmHES.js.br +0 -0
- package/dist/web/assets/abnfDiagram-N423BO3Z-DjEUmHES.js.gz +0 -0
- package/dist/web/assets/agent-settings-panel-CuLgzC2n.js +0 -1
- package/dist/web/assets/agent-settings-panel-CuLgzC2n.js.br +0 -0
- package/dist/web/assets/agent-settings-panel-CuLgzC2n.js.gz +0 -0
- package/dist/web/assets/architectureDiagram-T3A2C74G-DNtnW8Fq.js +0 -36
- package/dist/web/assets/architectureDiagram-T3A2C74G-DNtnW8Fq.js.br +0 -0
- package/dist/web/assets/architectureDiagram-T3A2C74G-DNtnW8Fq.js.gz +0 -0
- package/dist/web/assets/background-image-picker-D4xlUwrb.js.br +0 -0
- package/dist/web/assets/background-image-picker-D4xlUwrb.js.gz +0 -0
- package/dist/web/assets/chunk-5RXB4S5H-BDaXxnei.js.br +0 -0
- package/dist/web/assets/chunk-5RXB4S5H-BDaXxnei.js.gz +0 -0
- package/dist/web/assets/chunk-6Q2QTUOP-BcTojajm.js.br +0 -0
- package/dist/web/assets/chunk-6Q2QTUOP-BcTojajm.js.gz +0 -0
- package/dist/web/assets/chunk-GF5L2VYU-XelwAXnk.js.br +0 -0
- package/dist/web/assets/chunk-GF5L2VYU-XelwAXnk.js.gz +0 -0
- package/dist/web/assets/chunk-JQJVKLGR-Cyok4-2b.js.br +0 -0
- package/dist/web/assets/chunk-JQJVKLGR-Cyok4-2b.js.gz +0 -0
- package/dist/web/assets/classDiagram-JCYQIIEL-B9HBTIG7.js +0 -1
- package/dist/web/assets/classDiagram-JCYQIIEL-B9HBTIG7.js.br +0 -0
- package/dist/web/assets/classDiagram-JCYQIIEL-B9HBTIG7.js.gz +0 -0
- package/dist/web/assets/classDiagram-v2-OCEON4UE-B9HBTIG7.js +0 -1
- package/dist/web/assets/classDiagram-v2-OCEON4UE-B9HBTIG7.js.br +0 -0
- package/dist/web/assets/classDiagram-v2-OCEON4UE-B9HBTIG7.js.gz +0 -0
- package/dist/web/assets/code-highlighter-BDJkbu1d.js.br +0 -0
- package/dist/web/assets/code-highlighter-BDJkbu1d.js.gz +0 -0
- package/dist/web/assets/commit-settings-panel-j2yqctr_.js.br +0 -0
- package/dist/web/assets/commit-settings-panel-j2yqctr_.js.gz +0 -0
- package/dist/web/assets/cynefinDiagram-MW4NZA55-D9tIBEvv.js +0 -62
- package/dist/web/assets/cynefinDiagram-MW4NZA55-D9tIBEvv.js.br +0 -0
- package/dist/web/assets/cynefinDiagram-MW4NZA55-D9tIBEvv.js.gz +0 -0
- package/dist/web/assets/diagram-7IWD3JNH-BfnXF08-.js.br +0 -0
- package/dist/web/assets/diagram-7IWD3JNH-BfnXF08-.js.gz +0 -0
- package/dist/web/assets/diagram-B4RE2ZJO-Ct90H1dH.js +0 -3
- package/dist/web/assets/diagram-B4RE2ZJO-Ct90H1dH.js.br +0 -0
- package/dist/web/assets/diagram-B4RE2ZJO-Ct90H1dH.js.gz +0 -0
- package/dist/web/assets/diagram-LBJQPF4R-BlYQtbyl.js +0 -24
- package/dist/web/assets/diagram-LBJQPF4R-BlYQtbyl.js.br +0 -0
- package/dist/web/assets/diagram-LBJQPF4R-BlYQtbyl.js.gz +0 -0
- package/dist/web/assets/diagram-Q27KOJAE-CDWObxjb.js +0 -24
- package/dist/web/assets/diagram-Q27KOJAE-CDWObxjb.js.br +0 -0
- package/dist/web/assets/diagram-Q27KOJAE-CDWObxjb.js.gz +0 -0
- package/dist/web/assets/diagram-UB23O5K3-DJnddvpy.js +0 -41
- package/dist/web/assets/diagram-UB23O5K3-DJnddvpy.js.br +0 -0
- package/dist/web/assets/diagram-UB23O5K3-DJnddvpy.js.gz +0 -0
- package/dist/web/assets/dist-Ci1kbFbB.js.br +0 -0
- package/dist/web/assets/dist-Ci1kbFbB.js.gz +0 -0
- package/dist/web/assets/ebnfDiagram-BXEA7PRR-D_b18zMS.js +0 -1
- package/dist/web/assets/ebnfDiagram-BXEA7PRR-D_b18zMS.js.br +0 -0
- package/dist/web/assets/ebnfDiagram-BXEA7PRR-D_b18zMS.js.gz +0 -0
- package/dist/web/assets/erDiagram-JOGREHBK-BOKR1NS3.js.br +0 -0
- package/dist/web/assets/file-review-dialog-DvgO1Ae8.js.br +0 -0
- package/dist/web/assets/file-review-dialog-DvgO1Ae8.js.gz +0 -0
- package/dist/web/assets/flowDiagram-UKHOOZJN-CEamRwMR.js.br +0 -0
- package/dist/web/assets/flowDiagram-UKHOOZJN-CEamRwMR.js.gz +0 -0
- package/dist/web/assets/git-commit-review-D5ge3jwI.js.br +0 -0
- package/dist/web/assets/git-commit-review-D5ge3jwI.js.gz +0 -0
- package/dist/web/assets/git-history-panel-DsGqR_Zc.js.br +0 -0
- package/dist/web/assets/git-history-panel-DsGqR_Zc.js.gz +0 -0
- package/dist/web/assets/gitGraphDiagram-DS77QQ5N-CuMvIZdK.js +0 -106
- package/dist/web/assets/gitGraphDiagram-DS77QQ5N-CuMvIZdK.js.br +0 -0
- package/dist/web/assets/gitGraphDiagram-DS77QQ5N-CuMvIZdK.js.gz +0 -0
- package/dist/web/assets/global-search-dialog-JzDBjqX4.js.br +0 -0
- package/dist/web/assets/global-search-dialog-JzDBjqX4.js.gz +0 -0
- package/dist/web/assets/global-settings-about-CULXi1Dn.js.br +0 -0
- package/dist/web/assets/global-settings-about-CULXi1Dn.js.gz +0 -0
- package/dist/web/assets/global-settings-page-AK_j6aZC.js +0 -2
- package/dist/web/assets/global-settings-page-AK_j6aZC.js.br +0 -0
- package/dist/web/assets/global-settings-page-AK_j6aZC.js.gz +0 -0
- package/dist/web/assets/global-settings-pets-hPG36aUL.js.br +0 -0
- package/dist/web/assets/global-settings-pets-hPG36aUL.js.gz +0 -0
- package/dist/web/assets/highlighted-body-OFNGDK62-CoO9fhim.js.br +0 -0
- package/dist/web/assets/highlighted-body-OFNGDK62-CoO9fhim.js.gz +0 -0
- package/dist/web/assets/history-task-timeline-CQphWf0m.js.br +0 -0
- package/dist/web/assets/history-task-timeline-CQphWf0m.js.gz +0 -0
- package/dist/web/assets/image-preview-Dtx8uVmp.js.br +0 -0
- package/dist/web/assets/image-preview-Dtx8uVmp.js.gz +0 -0
- package/dist/web/assets/image-preview-content-zLsEpLCA.js.br +0 -0
- package/dist/web/assets/image-preview-content-zLsEpLCA.js.gz +0 -0
- package/dist/web/assets/index-BUv6KmcO.css +0 -2
- package/dist/web/assets/index-BUv6KmcO.css.br +0 -0
- package/dist/web/assets/index-BUv6KmcO.css.gz +0 -0
- package/dist/web/assets/index-DR8WqP5v.js +0 -4
- package/dist/web/assets/index-DR8WqP5v.js.br +0 -0
- package/dist/web/assets/index-DR8WqP5v.js.gz +0 -0
- package/dist/web/assets/infoDiagram-6WML65LV-DegAUKx4.js +0 -2
- package/dist/web/assets/infoDiagram-6WML65LV-DegAUKx4.js.br +0 -0
- package/dist/web/assets/infoDiagram-6WML65LV-DegAUKx4.js.gz +0 -0
- package/dist/web/assets/initial-deps-Be-R---T.js.br +0 -0
- package/dist/web/assets/initial-deps-Be-R---T.js.gz +0 -0
- package/dist/web/assets/initial-deps-DRuEePWq.js +0 -2
- package/dist/web/assets/initial-deps-DRuEePWq.js.br +0 -0
- package/dist/web/assets/initial-deps-DRuEePWq.js.gz +0 -0
- package/dist/web/assets/installed-skills-pane-DBJ_KuXN.js.br +0 -0
- package/dist/web/assets/installed-skills-pane-DBJ_KuXN.js.gz +0 -0
- package/dist/web/assets/ishikawaDiagram-WSZJBQD7-CcWhd8w9.js.br +0 -0
- package/dist/web/assets/ishikawaDiagram-WSZJBQD7-CcWhd8w9.js.gz +0 -0
- package/dist/web/assets/kanban-definition-27J2QSJJ-DEkge27F.js.br +0 -0
- package/dist/web/assets/kanban-definition-27J2QSJJ-DEkge27F.js.gz +0 -0
- package/dist/web/assets/lazy-message-response-3j-D3CVS.js +0 -2
- package/dist/web/assets/lazy-message-response-3j-D3CVS.js.br +0 -0
- package/dist/web/assets/lazy-message-response-3j-D3CVS.js.gz +0 -0
- package/dist/web/assets/mcp-management-pane-16qr0aVZ.js.br +0 -0
- package/dist/web/assets/mcp-management-pane-16qr0aVZ.js.gz +0 -0
- package/dist/web/assets/mermaid-GHXKKRXX-kGjGANId.js +0 -1
- package/dist/web/assets/mermaid-GHXKKRXX-kGjGANId.js.br +0 -0
- package/dist/web/assets/mermaid-GHXKKRXX-kGjGANId.js.gz +0 -0
- package/dist/web/assets/message-response-DWYIVlqg.js +0 -188
- package/dist/web/assets/message-response-DWYIVlqg.js.br +0 -0
- package/dist/web/assets/message-response-DWYIVlqg.js.gz +0 -0
- package/dist/web/assets/mindmap-definition-FAOFIHXS-DubrGaue.js.br +0 -0
- package/dist/web/assets/mindmap-definition-FAOFIHXS-DubrGaue.js.gz +0 -0
- package/dist/web/assets/official-plugins-pane-vADxh_le.js.br +0 -0
- package/dist/web/assets/official-plugins-pane-vADxh_le.js.gz +0 -0
- package/dist/web/assets/patch-diff-viewer-C5hjChAK.js +0 -1409
- package/dist/web/assets/patch-diff-viewer-C5hjChAK.js.br +0 -0
- package/dist/web/assets/patch-diff-viewer-C5hjChAK.js.gz +0 -0
- package/dist/web/assets/pdf-preview-BG-XpATo.js.br +0 -0
- package/dist/web/assets/pdf-preview-BG-XpATo.js.gz +0 -0
- package/dist/web/assets/pegDiagram-VL7TDLO6-CJodWN8I.js +0 -1
- package/dist/web/assets/pegDiagram-VL7TDLO6-CJodWN8I.js.br +0 -0
- package/dist/web/assets/pegDiagram-VL7TDLO6-CJodWN8I.js.gz +0 -0
- package/dist/web/assets/personalization-settings-panel-Br7qXDQ7.js.br +0 -0
- package/dist/web/assets/personalization-settings-panel-Br7qXDQ7.js.gz +0 -0
- package/dist/web/assets/pieDiagram-7S7Q4E2Y-CHATPeJh.js +0 -39
- package/dist/web/assets/pieDiagram-7S7Q4E2Y-CHATPeJh.js.br +0 -0
- package/dist/web/assets/pieDiagram-7S7Q4E2Y-CHATPeJh.js.gz +0 -0
- package/dist/web/assets/project-file-popup-page-CmNJLTSV.js.br +0 -0
- package/dist/web/assets/project-file-popup-page-CmNJLTSV.js.gz +0 -0
- package/dist/web/assets/project-source-panel-ze7jsbMy.js +0 -2
- package/dist/web/assets/project-source-panel-ze7jsbMy.js.br +0 -0
- package/dist/web/assets/project-source-panel-ze7jsbMy.js.gz +0 -0
- package/dist/web/assets/prompt-input-Brfimssc.js.br +0 -0
- package/dist/web/assets/prompt-input-Brfimssc.js.gz +0 -0
- package/dist/web/assets/prompt-reference-token-BW8a7fO2.js +0 -3
- package/dist/web/assets/prompt-reference-token-BW8a7fO2.js.br +0 -0
- package/dist/web/assets/prompt-reference-token-BW8a7fO2.js.gz +0 -0
- package/dist/web/assets/railroadDiagram-AXF67PYL-BOP9pMNb.js +0 -1
- package/dist/web/assets/railroadDiagram-AXF67PYL-BOP9pMNb.js.br +0 -0
- package/dist/web/assets/railroadDiagram-AXF67PYL-BOP9pMNb.js.gz +0 -0
- package/dist/web/assets/requirementDiagram-LRYGKXZP-CG8KWt_j.js.br +0 -0
- package/dist/web/assets/requirementDiagram-LRYGKXZP-CG8KWt_j.js.gz +0 -0
- package/dist/web/assets/scheduled-task-date-time-picker-DeOtns9O.js.br +0 -0
- package/dist/web/assets/scheduled-task-date-time-picker-DeOtns9O.js.gz +0 -0
- package/dist/web/assets/scheduled-task-floating-ui~scheduled-task-date-time-picker-CbWhx_7u.js.br +0 -0
- package/dist/web/assets/scheduled-task-floating-ui~scheduled-task-date-time-picker-CbWhx_7u.js.gz +0 -0
- package/dist/web/assets/scheduled-tasks-container-a34CrlrM.js +0 -2
- package/dist/web/assets/scheduled-tasks-container-a34CrlrM.js.br +0 -0
- package/dist/web/assets/scheduled-tasks-container-a34CrlrM.js.gz +0 -0
- package/dist/web/assets/sequenceDiagram-SI44F4Z6-DbZoTul2.js.br +0 -0
- package/dist/web/assets/sequenceDiagram-SI44F4Z6-DbZoTul2.js.gz +0 -0
- package/dist/web/assets/sheet-B9MDuGoF.js.br +0 -0
- package/dist/web/assets/sheet-B9MDuGoF.js.gz +0 -0
- package/dist/web/assets/shiki-bundle-BlbGsyMZ.js.br +0 -0
- package/dist/web/assets/shiki-bundle-BlbGsyMZ.js.gz +0 -0
- package/dist/web/assets/skills-market-container-CWO3CeMr.js.br +0 -0
- package/dist/web/assets/skills-market-container-CWO3CeMr.js.gz +0 -0
- package/dist/web/assets/split-workspace-menu-content-rImPq6wj.js.br +0 -0
- package/dist/web/assets/split-workspace-menu-content-rImPq6wj.js.gz +0 -0
- package/dist/web/assets/stateDiagram-OKZ733FA-BBZnBYr0.js +0 -1
- package/dist/web/assets/stateDiagram-OKZ733FA-BBZnBYr0.js.br +0 -0
- package/dist/web/assets/stateDiagram-OKZ733FA-BBZnBYr0.js.gz +0 -0
- package/dist/web/assets/stateDiagram-v2-UEYNNEHI-DrsX6D2d.js +0 -1
- package/dist/web/assets/stateDiagram-v2-UEYNNEHI-DrsX6D2d.js.br +0 -1
- package/dist/web/assets/stateDiagram-v2-UEYNNEHI-DrsX6D2d.js.gz +0 -0
- package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-RILHYzJF.js.br +0 -0
- package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-RILHYzJF.js.gz +0 -0
- package/dist/web/assets/third-party-marketplace-pane-DKWMNoa3.js.br +0 -0
- package/dist/web/assets/third-party-marketplace-pane-DKWMNoa3.js.gz +0 -0
- package/dist/web/assets/timeline-definition-Z64GVDOM-BQMes8Ld.js.br +0 -0
- package/dist/web/assets/timeline-definition-Z64GVDOM-BQMes8Ld.js.gz +0 -0
- package/dist/web/assets/vennDiagram-T6HMQDX7-qBMuOWPn.js.br +0 -0
- package/dist/web/assets/vennDiagram-T6HMQDX7-qBMuOWPn.js.gz +0 -0
- package/dist/web/assets/wardleyDiagram-T6FBY63Y-BXVFrJeX.js.br +0 -0
- package/dist/web/assets/wardleyDiagram-T6FBY63Y-BXVFrJeX.js.gz +0 -0
- package/dist/web/assets/workbench-inspector-changes-D5k96_nR.js +0 -2
- package/dist/web/assets/workbench-inspector-changes-D5k96_nR.js.br +0 -0
- package/dist/web/assets/workbench-inspector-changes-D5k96_nR.js.gz +0 -0
- package/dist/web/assets/workbench-pet-canvas-BM6S31jL.js.br +0 -0
- package/dist/web/assets/workbench-pet-canvas-BM6S31jL.js.gz +0 -0
- package/dist/web/assets/workbench-shell-DEH5FG9a.js +0 -14
- package/dist/web/assets/workbench-shell-DEH5FG9a.js.br +0 -0
- package/dist/web/assets/workbench-shell-DEH5FG9a.js.gz +0 -0
- package/dist/web/assets/xychartDiagram-ELKLHX3M-DT2u1V83.js.br +0 -0
- package/dist/web/assets/xychartDiagram-ELKLHX3M-DT2u1V83.js.gz +0 -0
- /package/dist/web/assets/{scheduled-task-floating-ui~index~workbench-shell~workbench-inspector-changes~git-history-pa~l4z6ozb1-ClgveiMa.js → scheduled-task-floating-ui~index~workbench-shell~workbench-inspector-changes~project-source~c6tt9j64-ClgveiMa.js} +0 -0
- /package/dist/web/assets/{scheduled-task-floating-ui~index~workbench-shell~workbench-inspector-changes~git-history-pa~l4z6ozb1-ClgveiMa.js.br → scheduled-task-floating-ui~index~workbench-shell~workbench-inspector-changes~project-source~c6tt9j64-ClgveiMa.js.br} +0 -0
- /package/dist/web/assets/{scheduled-task-floating-ui~index~workbench-shell~workbench-inspector-changes~git-history-pa~l4z6ozb1-ClgveiMa.js.gz → scheduled-task-floating-ui~index~workbench-shell~workbench-inspector-changes~project-source~c6tt9j64-ClgveiMa.js.gz} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,35 @@
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.36.0] - 2026-10-13
|
|
8
|
+
|
|
9
|
+
### 新增
|
|
10
|
+
|
|
11
|
+
- Web(含移动端)与桌面端共用 Git 操作入口,支持「提交」「提交并推送」和「推送已有提交」;无未提交变更时仍可推送本地提交,推送失败后保留已创建的提交并可单独重试。
|
|
12
|
+
- Web CLI 支持 macOS、Windows 和 Ubuntu 当前用户登录自启动,提供启用、停用、状态、日志、凭据、重启与修复命令;桌面端在通用设置中提供「开机启动」开关。
|
|
13
|
+
- 两端支持助手回复中的文件引用、代码审查评论、操作指令与后续建议,建议可填入输入框继续编辑;聊天 Markdown 图片可点击打开缩放预览。
|
|
14
|
+
- 两端支持配置全局模型上下文窗口,填写 272–1000 千 tokens 或留空恢复自动模式,并直接读写 Codex 配置。
|
|
15
|
+
- Web 支持多个实例共享同一 Codex Home 与启动目录,自动跳过占用端口,并协调定时任务避免重复启动。
|
|
16
|
+
|
|
17
|
+
### 优化
|
|
18
|
+
|
|
19
|
+
- 自定义 Provider 模型发现支持认证请求头及多级目录回退,提高模型服务暂时不可用时的可用性。
|
|
20
|
+
- 两端按需加载语言资源与 Mermaid 图表,优化设置缓存更新及后台终端轮询,减少首屏加载和空闲资源开销。
|
|
21
|
+
- 项目文件树隐藏系统元数据,增强差异预览与代码评论展示;旧版历史会话搜索支持精确定位。
|
|
22
|
+
|
|
23
|
+
### 修复
|
|
24
|
+
|
|
25
|
+
- 修复 Windows 登录自启动的执行路径引用,以及 Ubuntu 桌面启动项对空格、特殊字符和 AppImage 路径的处理。
|
|
26
|
+
- 修复回合结束后运行提示与提交计时未及时清理的问题,并刷新提交后的 Git 状态。
|
|
27
|
+
- 推送已有提交不创建新提交,也不改动暂存区与工作区;未配置上游分支时提供明确提示。
|
|
28
|
+
|
|
29
|
+
### 工程
|
|
30
|
+
|
|
31
|
+
- macOS 正式发布启用 Developer ID 签名、公证、票据装订与产物验证,Modern 和 Legacy 更新清单保持独立。
|
|
32
|
+
- 补充 Git 提交、独立推送、自启动、共享运行时和助手回复解析回归覆盖,记录 Windows 与 Ubuntu 本机全量验证结果。
|
|
33
|
+
- 隔离桌面存储测试的临时目录,避免系统时钟精度不足导致并发用例互相清理文件。
|
|
34
|
+
- 同步两端中英文说明、Git 操作指南、联合发布步骤及 Docker 固定版本示例。
|
|
35
|
+
|
|
7
36
|
## [0.35.0] - 2026-10-11
|
|
8
37
|
|
|
9
38
|
### 新增
|
|
@@ -933,7 +962,11 @@
|
|
|
933
962
|
|
|
934
963
|
- 添加最小化 Tauri 权限、依赖供应链审计与 Provider 运行时完整性校验。
|
|
935
964
|
|
|
936
|
-
[Unreleased]: https://github.com/BryanHoo/Codexly/compare/v0.
|
|
965
|
+
[Unreleased]: https://github.com/BryanHoo/Codexly/compare/v0.36.0...HEAD
|
|
966
|
+
[0.36.0]: https://github.com/BryanHoo/Codexly/compare/v0.35.0...v0.36.0
|
|
967
|
+
[0.35.0]: https://github.com/BryanHoo/Codexly/compare/v0.34.1...v0.35.0
|
|
968
|
+
[0.34.1]: https://github.com/BryanHoo/Codexly/compare/v0.34.0...v0.34.1
|
|
969
|
+
[0.34.0]: https://github.com/BryanHoo/Codexly/compare/v0.33.2...v0.34.0
|
|
937
970
|
[0.33.2]: https://github.com/BryanHoo/Codexly/compare/v0.32.0...v0.33.2
|
|
938
971
|
[0.32.0]: https://github.com/BryanHoo/Codexly/compare/v0.31.0...v0.32.0
|
|
939
972
|
[0.31.0]: https://github.com/BryanHoo/Codexly/compare/v0.30.0...v0.31.0
|
package/README.md
CHANGED
|
@@ -27,7 +27,7 @@ Codexly keeps coding tasks, conversations, project files, and Git work in one pl
|
|
|
27
27
|
| Desktop | A native workspace with an integrated terminal, task window, system notifications, and tray controls | [Download for Windows, Ubuntu, or macOS](https://github.com/BryanHoo/Codexly/releases) and follow the [desktop installation guide](desktop/docs/installation.en.md) |
|
|
28
28
|
| Web | A local browser workspace accessible from your computer or another device on a trusted LAN | Install Node.js 24+ and [start the Web edition](#start-the-web-edition) |
|
|
29
29
|
|
|
30
|
-
Desktop packages are available for Windows 10/11 x64, Ubuntu 24.04+ x64, macOS 14.5+ (Apple Silicon or Intel), and a separate Legacy build for macOS 12.4+ Intel.
|
|
30
|
+
Desktop packages are available for Windows 10/11 x64, Ubuntu 24.04+ x64, macOS 14.5+ (Apple Silicon or Intel), and a separate Legacy build for macOS 12.4+ Intel. See the [installation instructions](desktop/docs/installation.en.md) for setup steps and system prompts on each platform. The desktop app installs and verifies its own private Codex runtime on first launch.
|
|
31
31
|
|
|
32
32
|
## Web Preview
|
|
33
33
|
|
|
@@ -43,13 +43,14 @@ Desktop packages are available for Windows 10/11 x64, Ubuntu 24.04+ x64, macOS 1
|
|
|
43
43
|
- Read streaming Markdown responses and copy their source text; zoom and pan message images, project images, and wallpapers, or view them at their original size.
|
|
44
44
|
- Preview PDFs directly from chat attachments, file links, and the project file tree.
|
|
45
45
|
- View task-local images embedded in Markdown responses and open them in the image preview.
|
|
46
|
-
-
|
|
47
|
-
-
|
|
46
|
+
- Follow file citations, code review comments, and follow-up suggestions in assistant responses; selecting a suggestion fills the composer for further editing.
|
|
47
|
+
- Choose a model, reasoning effort, Fast mode, approval policy, and file access level for each task, and configure the global [context window](docs/model-context-window.md).
|
|
48
|
+
- Create projects and directories, search tasks, message history, and project files; inspect changes, work with branches and worktrees, commit selected files, commit and push, or push existing commits independently. See the [Git workflow guide](docs/git-workflow.md). Git actions require a repository at the project root; ordinary subdirectories do not use the parent repository.
|
|
48
49
|
- Identify each task's project through labels in the sidebar; collapsed projects still show unread completions, pending approvals, or running tasks.
|
|
49
50
|
- Manage Skills, plugins, MCP services, projects, archived tasks, notifications, and scheduled work. Refresh official plugins to synchronize their state and report partial failures.
|
|
50
51
|
- Request background compression of history files untouched for over 7 days under Settings → Agent → History storage. Web compresses server history; desktop compresses local history. Other Codex clients sharing that directory must support compressed history.
|
|
51
52
|
|
|
52
|
-
**Desktop** adds a native project terminal, global shortcuts, a separate task window, tray integration, and an app-private Codex installation. It supports Windows, Ubuntu, and macOS. See the [desktop guide](desktop/README.en.md) for its full feature set and update behavior.
|
|
53
|
+
**Desktop** adds a native project terminal, global shortcuts, a separate task window, tray integration, and an app-private Codex installation. It supports Windows, Ubuntu, and macOS, with an option in general settings to launch at system login. See the [desktop guide](desktop/README.en.md) for its full feature set and update behavior.
|
|
53
54
|
|
|
54
55
|
**Web** runs a local server and opens in your browser. It supports trusted LAN access from phones and other devices, Docker deployment, task boards, Mermaid diagrams, and customizable workspace backgrounds. The Web edition includes Codex CLI `0.162.0` through `@openai/codex`; external binaries supplied through `--codex-bin <path>` or `CODEXLY_CODEX_BIN` must satisfy `>=0.162.0,<0.163.0`.
|
|
55
56
|
|
|
@@ -73,7 +74,7 @@ Codexly opens the browser automatically. If it does not, use the address printed
|
|
|
73
74
|
|
|
74
75
|
Run `codexly --version` to check the installed version, or `codexly <command> --help` for command-specific options.
|
|
75
76
|
|
|
76
|
-
|
|
77
|
+
Multiple Web instances can run from the same launch directory and share the same Codex Home; occupied ports are skipped automatically. The launch directory does not determine internal configuration or the temporary task directory. Temporary tasks use the user's home directory by default, or the first explicit `--workspace` root. Use different `--codex-home <directory>` values to isolate data.
|
|
77
78
|
|
|
78
79
|
On first launch, sign in with ChatGPT or configure an OpenAI-compatible service that supports the Responses API and `GET /models`.
|
|
79
80
|
Custom providers discover available models; basic reasoning levels remain selectable when model metadata omits them.
|
|
@@ -87,6 +88,24 @@ codexly
|
|
|
87
88
|
|
|
88
89
|
The installation command uses npm’s default registry (the official registry unless you have configured another), reuses the npm cache, and revalidates stale package metadata.
|
|
89
90
|
|
|
91
|
+
## Web Startup at Login
|
|
92
|
+
|
|
93
|
+
After a global npm installation, configure startup for the current user through the CLI. Supports macOS, Windows, and Ubuntu with a systemd user manager. Both local and LAN startup keep the browser closed.
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
codexly autostart enable # Local mode, on the next login
|
|
97
|
+
codexly autostart enable --lan --now # LAN mode, also start now
|
|
98
|
+
codexly autostart status
|
|
99
|
+
codexly autostart credentials
|
|
100
|
+
codexly autostart logs
|
|
101
|
+
codexly autostart restart
|
|
102
|
+
codexly autostart disable
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Repeating `enable` updates the same entry with the supplied options. Without `--now`, a running instance applies changes on restart or the next login. Use `status` for actual URLs when a port is occupied. LAN startup saves and reuses its password; `credentials` reveals it explicitly. Sessions require authentication again after a restart.
|
|
106
|
+
|
|
107
|
+
Temporary `npx` installations cannot register startup. Run `codexly autostart repair --now` after moving Node/npm, and disable before uninstalling the package. Use `codexly start --no-open` to suppress the browser during a foreground launch. See the [Web startup at login guide](docs/web-autostart.md) for configuration, environment handling, Linux linger restrictions, and troubleshooting.
|
|
108
|
+
|
|
90
109
|
## Docker
|
|
91
110
|
|
|
92
111
|
Download the user-facing Compose file and start the published image:
|
|
@@ -132,6 +151,8 @@ The image entrypoint accepts all normal CLI arguments, so orchestration platform
|
|
|
132
151
|
|
|
133
152
|
Select **New task** for work that does not need a project. For repository work, add one or more host directories as ordered project roots, create a task, and submit your request with any required files, images, project references, or Skills. Archived tasks can be restored or permanently deleted from the project task list.
|
|
134
153
|
|
|
154
|
+
The Git panel's main button commits; **More Git actions** offers **Commit and push** and **Push existing commits**. A failed push preserves the local commit and can be retried independently. Configure the branch upstream before pushing.
|
|
155
|
+
|
|
135
156
|
Task controls set the model, reasoning, Fast mode, approval, and file access behavior. Notification preferences and the last complete project settings are saved for later tasks. The right inspector provides project files, sources, code changes, Git history, review, and commit actions. Project directories and files always come from the computer running Codexly, including when the UI is opened on another device.
|
|
136
157
|
|
|
137
158
|
Scheduled tasks with an unknown outcome pause further runs. Inspect the linked conversation before deleting and recreating the schedule. Tasks marked as finishing cleanup retry cleanup automatically without another launch.
|
|
@@ -156,7 +177,7 @@ The terminal prints the LAN address and a random access password. Common options
|
|
|
156
177
|
| `--session-ttl <duration>` | Set a fixed LAN session lifetime such as `12h`; omitted sessions last until server restart |
|
|
157
178
|
| `--workspace <path>` | Restrict project selection to this absolute root; repeat for multiple roots |
|
|
158
179
|
|
|
159
|
-
Quote passwords containing shell-special characters. LAN mode uses unencrypted HTTP, so use it only on a trusted network and never expose it directly to the internet. Restarting Codexly invalidates
|
|
180
|
+
Quote passwords containing shell-special characters. LAN mode uses unencrypted HTTP, so use it only on a trusted network and never expose it directly to the internet. Restarting Codexly invalidates random pairing codes and all sessions; an explicitly configured fixed password remains valid.
|
|
160
181
|
|
|
161
182
|
## Web Diagnostics and Updates
|
|
162
183
|
|
package/README.zh-CN.md
CHANGED
|
@@ -11,7 +11,7 @@ Codexly 是本地 AI 编程工作台,提供桌面应用和 Web 版。它将编
|
|
|
11
11
|
| 桌面版 | 原生工作台、集成终端、独立任务窗口、系统通知与托盘 | [下载 Windows、Ubuntu 或 macOS 安装包](https://github.com/BryanHoo/Codexly/releases),按[桌面安装指南](desktop/docs/installation.md)安装 |
|
|
12
12
|
| Web 版 | 本机浏览器工作台,或从可信局域网内的其他设备访问 | 安装 Node.js 24+,按[Web 版启动步骤](#启动-web-版)运行 |
|
|
13
13
|
|
|
14
|
-
桌面安装包支持 Windows 10/11 x64、Ubuntu 24.04+ x64、macOS 14.5+(Apple Silicon / Intel),并提供 macOS 12.4+ Intel 的 Legacy
|
|
14
|
+
桌面安装包支持 Windows 10/11 x64、Ubuntu 24.04+ x64、macOS 14.5+(Apple Silicon / Intel),并提供 macOS 12.4+ Intel 的 Legacy 版本。安装步骤与各平台的系统提示见[安装指南](desktop/docs/installation.md)。桌面版首次启动会自动安装并校验应用私有的 Codex 运行时。
|
|
15
15
|
|
|
16
16
|
## 主要功能
|
|
17
17
|
|
|
@@ -23,13 +23,14 @@ Codexly 是本地 AI 编程工作台,提供桌面应用和 Web 版。它将编
|
|
|
23
23
|
- 阅读流式 Markdown 回复并复制原始文本;缩放、拖动消息图片、项目图片与壁纸,或以原始尺寸查看。
|
|
24
24
|
- 直接预览聊天附件、文件链接与项目文件树中的 PDF。
|
|
25
25
|
- 查看 Markdown 回复中嵌入的任务本地图片,并打开图片预览。
|
|
26
|
-
-
|
|
27
|
-
-
|
|
26
|
+
- 使用助手回复中的文件引用、代码审查评论与后续建议;点击建议后可在输入框继续编辑。
|
|
27
|
+
- 为任务选择模型、思考量、快速模式、审批策略和文件访问范围,并在全局设置中配置[上下文窗口](docs/model-context-window.md)。
|
|
28
|
+
- 新建项目及目录,跨项目搜索任务、历史消息和文件;检查变更、管理分支与 worktree,选择文件后提交或提交并推送,也可独立推送已有提交;详见 [Git 操作指南](docs/git-workflow.md)。Git 操作仅作用于项目根目录对应的仓库,普通子目录不会借用父仓库。
|
|
28
29
|
- 通过侧栏任务的项目标签识别任务来源;项目收起时仍显示未读完成、等待审批或运行状态。
|
|
29
30
|
- 管理 Skills、插件、MCP 服务、项目、归档任务、通知与定时工作;刷新官方插件可同步状态,并提示部分失败。
|
|
30
31
|
- 在「设置 → 智能体配置 → 历史文件存储」手动请求后台压缩超过 7 天未写入的历史;Web 作用于服务端,桌面端作用于本机。共用历史目录的其他 Codex 客户端需支持压缩格式。
|
|
31
32
|
|
|
32
|
-
**桌面版**提供原生项目终端、全局快捷键、独立任务窗口、托盘集成和应用私有 Codex 安装。支持 Windows、Ubuntu 和 macOS
|
|
33
|
+
**桌面版**提供原生项目终端、全局快捷键、独立任务窗口、托盘集成和应用私有 Codex 安装。支持 Windows、Ubuntu 和 macOS;在通用设置中可启用登录系统后自动启动。完整功能与更新方式见[桌面版指南](desktop/README.md)。
|
|
33
34
|
|
|
34
35
|
**Web 版**在本机运行服务并由浏览器访问,支持手机等设备从可信局域网接入、Docker 部署、任务看板、Mermaid 图表和自定义工作台背景。Web 版通过 `@openai/codex` 自带 Codex CLI `0.162.0`;使用 `--codex-bin <path>` 或 `CODEXLY_CODEX_BIN` 指定外部版本时,版本必须满足 `>=0.162.0,<0.163.0`。
|
|
35
36
|
|
|
@@ -53,7 +54,7 @@ Codexly 会自动打开浏览器。若未打开,请访问终端输出的地址
|
|
|
53
54
|
|
|
54
55
|
运行 `codexly --version` 查看安装版本,或使用 `codexly <command> --help` 查看命令专属选项。
|
|
55
56
|
|
|
56
|
-
|
|
57
|
+
可以在同一启动目录或同一 Codex Home 下同时运行多个 Web 实例;端口占用时自动递增。启动目录不决定应用内部配置或临时任务目录:临时任务默认使用用户主目录,显式指定 `--workspace` 时使用首个工作区。使用不同的 `--codex-home <目录>` 可隔离数据。
|
|
57
58
|
|
|
58
59
|
首次启动时,使用 ChatGPT 登录,或配置兼容 Responses API 和 `GET /models` 的 OpenAI-compatible 服务。
|
|
59
60
|
自定义 Provider 会发现可用模型;模型未提供思考档位时可选择基础档位。
|
|
@@ -67,6 +68,30 @@ codexly
|
|
|
67
68
|
|
|
68
69
|
安装命令使用 npm 默认源(未自行配置时为官方源),复用 npm 缓存并重新校验过期的包元数据。
|
|
69
70
|
|
|
71
|
+
## Web 登录自启动
|
|
72
|
+
|
|
73
|
+
全局安装后,通过 CLI 配置当前用户登录系统时自动运行。支持 macOS、Windows 和带 systemd 用户服务的 Ubuntu;本机与 LAN 模式均不自动打开浏览器。
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
# 本机模式;下次登录启动
|
|
77
|
+
codexly autostart enable
|
|
78
|
+
|
|
79
|
+
# LAN 模式;同时立即启动
|
|
80
|
+
codexly autostart enable --lan --now
|
|
81
|
+
|
|
82
|
+
codexly autostart status
|
|
83
|
+
codexly autostart credentials
|
|
84
|
+
codexly autostart logs
|
|
85
|
+
codexly autostart restart
|
|
86
|
+
codexly autostart disable
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
`enable` 保存本次提供的启动参数,默认本机模式和端口 3210;重复执行会更新同一个登录项。省略 `--now` 时,当前运行实例在重启或下次登录后应用新配置。端口占用会递增,请以 `status` 输出的实际地址为准。LAN 密码首次生成后保存复用,通过 `credentials` 显式查看;服务重启后需重新认证。
|
|
90
|
+
|
|
91
|
+
需要稳定的全局 npm 安装,不能从 `npx` 临时缓存登记。Node/npm 安装路径变化后运行 `codexly autostart repair --now`;卸载 npm 包前运行 `codexly autostart disable`。普通前台启动可用 `codexly start --no-open` 禁止打开浏览器。
|
|
92
|
+
|
|
93
|
+
配置位置、环境变量、Linux linger 限制和各系统故障排查见 [Web 登录自启动指南](docs/web-autostart.zh-CN.md)。
|
|
94
|
+
|
|
70
95
|
## Docker 部署
|
|
71
96
|
|
|
72
97
|
下载用户版 Compose 配置并启动已发布镜像:
|
|
@@ -112,6 +137,8 @@ Docker 只能访问 Docker Engine 已共享的宿主路径。Windows 需将 `COD
|
|
|
112
137
|
|
|
113
138
|
不依赖项目时,直接选择“新建任务”。处理仓库时,先添加一个或多个运行端目录作为有序的项目根,再创建任务,并按需附加文件、图片、项目引用或 Skills 后提交需求。归档的任务可以从项目任务列表中恢复或永久删除。
|
|
114
139
|
|
|
140
|
+
Git 面板主按钮执行「提交」,「更多 Git 操作」提供「提交并推送」和「推送已有提交」。推送失败会保留已创建的本地提交,可以单独重试;上游分支需预先配置。
|
|
141
|
+
|
|
115
142
|
任务控件用于设置模型、思考量、快速模式、审批方式和文件访问范围。通知偏好与项目最近一次完整设置会保存给后续任务。右侧检查器提供项目文件、来源、代码变更、Git 历史、审查和提交操作。即使从其他设备打开界面,项目目录和文件仍来自运行 Codexly 的电脑。
|
|
116
143
|
|
|
117
144
|
定时任务显示“结果未知”时会暂停后续运行,请先查看关联对话;确认后可删除该计划并重新创建。“已启动,正在收尾”会自动重试清理,无需再次运行。
|
|
@@ -136,7 +163,7 @@ codexly start --lan
|
|
|
136
163
|
| `--session-ttl <duration>` | 设置固定会话期限,如 `12h`;省略时持续到 Server 重启 |
|
|
137
164
|
| `--workspace <path>` | 限制项目选择的绝对根目录;多个根目录可重复传入 |
|
|
138
165
|
|
|
139
|
-
密码含 Shell 特殊字符时请使用引号。局域网模式使用未加密 HTTP,只能用于可信网络,禁止直接暴露到互联网。重启 Codexly
|
|
166
|
+
密码含 Shell 特殊字符时请使用引号。局域网模式使用未加密 HTTP,只能用于可信网络,禁止直接暴露到互联网。重启 Codexly 会使随机配对码和全部会话失效;显式设置的固定密码保持有效。
|
|
140
167
|
|
|
141
168
|
## Web 诊断与更新
|
|
142
169
|
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import {createRequire}from'node:module';createRequire(import.meta.url);
|
|
2
|
+
var v=class extends Error{constructor(r,e){super(e);this.code=r;this.name="WorkbenchPetProviderError";}code},T=class extends Error{constructor(r,e){super(e);this.code=r;this.name="PendingRequestResolutionError";}code};var A=class extends Error{constructor(r,e){super(e);this.code=r;}code};async function I(t,a,r,e,o,l){let s=await t.readSubmission(a,r);if(s!==void 0&&s.fingerprint!==e)throw new A("IDEMPOTENCY_CONFLICT","Submission key was used with another request");if(s?.stage==="creating"||s?.stage==="starting")throw new A("SUBMISSION_OUTCOME_UNKNOWN","Submission outcome is unknown; inspect the task before submitting again");if(s?.stage==="completed"&&s.result!==void 0)return s.result;let d=async n=>{await t.writeSubmission(a,r,n),s=n;};if(s?.stage!=="started"){if(await l.validate(),o.taskId===void 0&&s?.task===void 0){await d({fingerprint:e,stage:"creating"});let P=await l.createTask();await d({fingerprint:e,stage:"ready",task:P});}let n=s?.task,c=o.taskId??n?.id;if(c===void 0)throw new Error("Submission task is unavailable");let g=await l.prepare(c);await d({fingerprint:e,stage:"starting",attachmentIds:g,...n===void 0?{}:{task:n}});let m={...await l.execute(c),...n===void 0?{}:{createdTask:n}};await d({fingerprint:e,stage:"started",result:m,attachmentIds:g,...n===void 0?{}:{task:n}});}let i=s?.result;if(i===void 0)throw new Error("Submission result is unavailable");return await l.complete(i,s?.attachmentIds??[]),await d({...s,fingerprint:e,stage:"completed",result:i}),i}var y=class extends Error{constructor(r,e){super(e);this.code=r;}code};async function w(t,a,r,e,o,l,s){let d=(await t.listProjectTodos(a)).find(c=>c.id===r);if(o!==null&&d===void 0)throw new y("PROJECT_TODO_NOT_FOUND","Project todo not found");if((d?.version??null)!==o)throw new y("PROJECT_TODO_CHANGED","Project todo changed");let i={id:r,projectId:a,draft:e,createdAt:d?.createdAt??l,updatedAt:l,version:(d?.version??0)+1},n=await s();return await t.saveProjectTodo(i,o,n),i}var h=t=>JSON.stringify(t.map(({title:a,options:r})=>({title:a,options:r})));function E(t,a){return t.flatMap(r=>{let e=new Map;return r.items.flatMap(o=>{if(o.type!=="message"||o.role!=="assistant"||!o.questions?.length)return [];let l=o.questions.map(({title:i,options:n})=>({title:i,options:n})),s=h(l),d=e.get(s)??0;return e.set(s,d+1),[{id:a(JSON.stringify([r.id,s,d])),turnId:r.id,questions:l,createdAt:r.startedAt??"1970-01-01T00:00:00.000Z",status:"pending"}]})})}function O(t,a){if(a.length!==t.length||a.some(e=>e.trim().length===0||e.length>4e3))throw new Error("Invalid question answers");let r=t.map((e,o)=>`${e.title}
|
|
3
|
+
${a[o]?.trim()??""}`).join(`
|
|
4
|
+
|
|
5
|
+
`);if(r.length>1e5)throw new Error("Invalid question answers");return r}function M(t,a){let r=new Map,e=t.turns;for(let o of a){let l=h(o.group.questions),s=JSON.stringify([o.group.turnId,l]),d=r.get(s)??0;r.set(s,d+1);let i=o.result;if(o.group.status!=="answered"||i===void 0||i.turn!==null)continue;let n=e.findIndex(u=>u.id===i.turnId),c=e[n];if(n<0||c===void 0)continue;let m=c.items.flatMap((u,f)=>u.type==="message"&&u.role==="assistant"&&h(u.questions??[])===l?[f]:[])[d];if(m===void 0||c.items.slice(m+1).some(u=>u.type==="message"&&u.role==="user"&&u.text===i.input.text))continue;let p=[...c.items];p.splice(m+1,0,{id:i.messageId,role:"user",text:i.input.text,type:"message"}),e=e.map((u,f)=>f===n?{...c,items:p}:u);}return e===t.turns?t:{...t,turns:e}}async function q(t,a){let r=new Set,e=new Set,o;for(;;){if(e.size>=1e3)throw new Error("Archived task pagination exceeds the page limit");let i=await t.listTasks({archived:true,limit:100,...o===void 0?{}:{cursor:o}});for(let n of i.data){if(n.projectId!==a)throw new Error("Archived task listing crossed its scope");if(r.add(n.id),r.size>1e4)throw new Error("Archived task deletion exceeds the 10000 task limit")}if(i.nextCursor===null)break;if(e.has(i.nextCursor))throw new Error("Archived task pagination returned a repeated cursor");e.add(i.nextCursor),o=i.nextCursor;}let l=[...r],s=0,d=0;for(let i=0;i<l.length;i+=4){let n=await Promise.allSettled(l.slice(i,i+4).map(async c=>{if((await t.readTask(c))?.projectId!==a)throw new Error("Archived task is no longer in scope");await t.deleteTask(c);}));for(let c of n)c.status==="fulfilled"?s++:d++;}return {deletedCount:s,failedCount:d}}async function N(t,a,r={}){let e=new Map,o=new Set,l;for(;;){if(o.size>=1e3)throw new Error("Task catalog pagination exceeds the page limit");let s=await t.listTasks({limit:100,...r.pinned===true?{pinnedOnly:true}:{},...l===void 0?{}:{cursor:l}});for(let d of s.data){if(d.projectId!==a)throw new Error("Task catalog crossed its scope");if(e.has(d.id)||e.set(d.id,d),e.size>1e4)throw new Error("Task catalog exceeds the 10000 task limit")}if(s.nextCursor===null)return {data:[...e.values()]};if(o.has(s.nextCursor))throw new Error("Task catalog returned a repeated cursor");o.add(s.nextCursor),l=s.nextCursor;}}var k=class extends Error{};async function F(t,a){let{projectIds:r,cursor:e}=a,o=new Set(r);if(o.size!==r.length||o.size>100)throw new k("Invalid completed task scopes");if(e!==void 0&&(Object.keys(e).length!==o.size||Object.keys(e).some(n=>!o.has(n))))throw new k("Completed task cursor does not match its scopes");let l=r.filter(n=>e===void 0||e[n]!==null),s=Math.max(1,Math.ceil(10/Math.max(1,l.length))),d=Object.fromEntries(r.map(n=>[n,null])),i=new Map;for(let n=0;n<l.length;n+=4){let c=await Promise.all(l.slice(n,n+4).map(async g=>{let m=await t(g),P=e?.[g],p=await m.listTasks({completed:true,limit:s,...typeof P=="string"?{cursor:P}:{}});if(p.data.length>s)throw new Error("Completed task page exceeds its limit");if(p.nextCursor!==null&&p.nextCursor===P)throw new Error("Completed task page returned a repeated cursor");for(let u of p.data)if(u.projectId!==g)throw new Error("Completed task page crossed its scope");return {id:g,page:p}}));for(let{id:g,page:m}of c){d[g]=m.nextCursor;for(let P of m.data){let p=JSON.stringify([g,P.id]);i.has(p)||i.set(p,P);}}}return {data:[...i.values()].sort((n,c)=>Date.parse(c.updatedAt)-Date.parse(n.updatedAt)),nextCursor:Object.values(d).some(n=>n!==null)?d:null}}var R=[{description:"",id:"low"},{description:"",id:"medium"},{description:"",id:"high"}];function S(t){return t.supportedReasoningEfforts.length===0||t.supportedReasoningEfforts.every(a=>a.id==="none")}function G(t){if(!t.data.some(S))return t;let a=t.data.map(r=>S(r)?{...r,defaultReasoningEffort:"medium",supportedReasoningEfforts:R.map(e=>({...e}))}:r);return {...t,data:a}}export{v as a,T as b,A as c,I as d,y as e,w as f,E as g,O as h,M as i,q as j,N as k,k as l,F as m,R as n,G as o};
|