@bryanhu/codexly 0.26.0 → 0.26.1
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 +13 -1
- package/README.md +2 -0
- package/README.zh-CN.md +2 -0
- package/dist/{chunk-SVPC5JYN.js → chunk-FX332BZJ.js} +295 -173
- package/dist/{chunk-WP6LVYP6.js → chunk-GGX2MAHU.js} +1 -1
- package/dist/cli.js +3 -3
- package/dist/providers/codex/index.js +1 -1
- package/dist/server/index.js +2 -2
- package/dist/web/.vite/manifest.json +123 -129
- 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-3vNJzYxy.js → agent-settings-panel-8_RUBhs0.js} +1 -1
- package/dist/web/assets/agent-settings-panel-8_RUBhs0.js.br +0 -0
- package/dist/web/assets/agent-settings-panel-8_RUBhs0.js.gz +0 -0
- package/dist/web/assets/attachments-udHAnE7I.js +1 -0
- package/dist/web/assets/attachments-udHAnE7I.js.br +0 -0
- package/dist/web/assets/attachments-udHAnE7I.js.gz +0 -0
- package/dist/web/assets/{background-image-picker-BnN4byHx.js → background-image-picker-Df3_zQb2.js} +1 -1
- package/dist/web/assets/background-image-picker-Df3_zQb2.js.br +0 -0
- package/dist/web/assets/background-image-picker-Df3_zQb2.js.gz +0 -0
- package/dist/web/assets/{bing-wallpaper-queries-DBfS-J9B.js → bing-wallpaper-queries-DVucugQO.js} +1 -1
- package/dist/web/assets/bing-wallpaper-queries-DVucugQO.js.br +0 -0
- package/dist/web/assets/bing-wallpaper-queries-DVucugQO.js.gz +0 -0
- package/dist/web/assets/{button-group-D12I7ve_.js → button-group-CirVWfjl.js} +1 -1
- package/dist/web/assets/button-group-CirVWfjl.js.br +0 -0
- package/dist/web/assets/button-group-CirVWfjl.js.gz +0 -0
- package/dist/web/assets/{code-block-D1uYiL_F.js → code-block-DLfTLy00.js} +1 -1
- package/dist/web/assets/code-block-DLfTLy00.js.br +0 -0
- package/dist/web/assets/code-block-DLfTLy00.js.gz +0 -0
- package/dist/web/assets/{commit-settings-panel-BL8cUz7m.js → commit-settings-panel-BP7fUf97.js} +1 -1
- package/dist/web/assets/commit-settings-panel-BP7fUf97.js.br +0 -0
- package/dist/web/assets/commit-settings-panel-BP7fUf97.js.gz +0 -0
- package/dist/web/assets/{context-menu-DTan8DZT.js → context-menu-BfQCu_3I.js} +1 -1
- package/dist/web/assets/context-menu-BfQCu_3I.js.br +0 -0
- package/dist/web/assets/context-menu-BfQCu_3I.js.gz +0 -0
- package/dist/web/assets/{file-review-dialog-C8FuVq6z.js → file-review-dialog-DmW8vvTf.js} +1 -1
- package/dist/web/assets/file-review-dialog-DmW8vvTf.js.br +0 -0
- package/dist/web/assets/file-review-dialog-DmW8vvTf.js.gz +0 -0
- package/dist/web/assets/{git-history-panel-S8KZ3GRO.js → git-history-panel-5IJPBbLW.js} +1 -1
- package/dist/web/assets/git-history-panel-5IJPBbLW.js.br +0 -0
- package/dist/web/assets/git-history-panel-5IJPBbLW.js.gz +0 -0
- package/dist/web/assets/{global-search-dialog-B2A_CKa6.js → global-search-dialog-DqzqxQHS.js} +2 -2
- package/dist/web/assets/global-search-dialog-DqzqxQHS.js.br +0 -0
- package/dist/web/assets/global-search-dialog-DqzqxQHS.js.gz +0 -0
- package/dist/web/assets/{global-settings-about-C4XFeahF.js → global-settings-about-7PSpoz5W.js} +1 -1
- package/dist/web/assets/global-settings-about-7PSpoz5W.js.br +0 -0
- package/dist/web/assets/global-settings-about-7PSpoz5W.js.gz +0 -0
- package/dist/web/assets/{global-settings-fields-1OYz34rQ.js → global-settings-fields-xvQeQJr1.js} +1 -1
- package/dist/web/assets/global-settings-fields-xvQeQJr1.js.br +0 -0
- package/dist/web/assets/global-settings-fields-xvQeQJr1.js.gz +0 -0
- package/dist/web/assets/{global-settings-model-CkNPJqQo.js → global-settings-model-DMYn1Bt6.js} +1 -1
- package/dist/web/assets/global-settings-model-DMYn1Bt6.js.br +0 -0
- package/dist/web/assets/global-settings-model-DMYn1Bt6.js.gz +0 -0
- package/dist/web/assets/{global-settings-page-DxD6yU4k.js → global-settings-page-C6T65JVw.js} +2 -2
- package/dist/web/assets/global-settings-page-C6T65JVw.js.br +0 -0
- package/dist/web/assets/global-settings-page-C6T65JVw.js.gz +0 -0
- package/dist/web/assets/{global-settings-pets-dz0Z49Au.js → global-settings-pets-TOCiCPMA.js} +1 -1
- package/dist/web/assets/global-settings-pets-TOCiCPMA.js.br +0 -0
- package/dist/web/assets/global-settings-pets-TOCiCPMA.js.gz +0 -0
- package/dist/web/assets/{history-task-timeline-CXIVfjfN.js → history-task-timeline-BjSZCOe5.js} +1 -1
- package/dist/web/assets/history-task-timeline-BjSZCOe5.js.br +0 -0
- package/dist/web/assets/history-task-timeline-BjSZCOe5.js.gz +0 -0
- package/dist/web/assets/index-Bh1ViCgq.css +2 -0
- package/dist/web/assets/index-Bh1ViCgq.css.br +0 -0
- package/dist/web/assets/index-Bh1ViCgq.css.gz +0 -0
- package/dist/web/assets/index-DulCmWgc.js +4 -0
- package/dist/web/assets/index-DulCmWgc.js.br +0 -0
- package/dist/web/assets/index-DulCmWgc.js.gz +0 -0
- package/dist/web/assets/{installed-skills-pane-DrDfE7aK.js → installed-skills-pane-B4PSRw8n.js} +1 -1
- package/dist/web/assets/installed-skills-pane-B4PSRw8n.js.br +0 -0
- package/dist/web/assets/installed-skills-pane-B4PSRw8n.js.gz +0 -0
- package/dist/web/assets/lazy-message-response-C6MEVPZ6.js +2 -0
- package/dist/web/assets/lazy-message-response-C6MEVPZ6.js.br +0 -0
- package/dist/web/assets/lazy-message-response-C6MEVPZ6.js.gz +0 -0
- package/dist/web/assets/{mcp-management-pane-B-KELtkr.js → mcp-management-pane-DISZ6zAo.js} +1 -1
- package/dist/web/assets/mcp-management-pane-DISZ6zAo.js.br +0 -0
- package/dist/web/assets/mcp-management-pane-DISZ6zAo.js.gz +0 -0
- package/dist/web/assets/{message-response-9LYhGlVh.js → message-response-COcV-sme.js} +2 -2
- package/dist/web/assets/message-response-COcV-sme.js.br +0 -0
- package/dist/web/assets/message-response-COcV-sme.js.gz +0 -0
- package/dist/web/assets/{official-plugins-pane-stB5fq6p.js → official-plugins-pane-DZXRsviv.js} +1 -1
- package/dist/web/assets/official-plugins-pane-DZXRsviv.js.br +0 -0
- package/dist/web/assets/official-plugins-pane-DZXRsviv.js.gz +0 -0
- package/dist/web/assets/{personalization-settings-panel-DRNKBGTV.js → personalization-settings-panel-DPn5C34w.js} +1 -1
- package/dist/web/assets/personalization-settings-panel-DPn5C34w.js.br +0 -0
- package/dist/web/assets/personalization-settings-panel-DPn5C34w.js.gz +0 -0
- package/dist/web/assets/{project-file-popup-page-BRFUG0CW.js → project-file-popup-page-Ck0bKSWm.js} +1 -1
- package/dist/web/assets/project-file-popup-page-Ck0bKSWm.js.br +0 -0
- package/dist/web/assets/project-file-popup-page-Ck0bKSWm.js.gz +0 -0
- package/dist/web/assets/{project-source-dialog-D1KMgF48.js → project-source-dialog-B-MQYJ3E.js} +1 -1
- package/dist/web/assets/project-source-dialog-B-MQYJ3E.js.br +0 -0
- package/dist/web/assets/project-source-dialog-B-MQYJ3E.js.gz +0 -0
- package/dist/web/assets/{project-source-panel-bumoDklb.js → project-source-panel-CsLDvhDw.js} +1 -1
- package/dist/web/assets/project-source-panel-CsLDvhDw.js.br +0 -0
- package/dist/web/assets/project-source-panel-CsLDvhDw.js.gz +0 -0
- package/dist/web/assets/{prompt-input-CXZBM7yg.js → prompt-input-CDL7WoS0.js} +1 -1
- package/dist/web/assets/prompt-input-CDL7WoS0.js.br +0 -0
- package/dist/web/assets/prompt-input-CDL7WoS0.js.gz +0 -0
- package/dist/web/assets/prompt-input-controls-QVtFSyXt.js +1 -0
- package/dist/web/assets/prompt-input-controls-QVtFSyXt.js.br +0 -0
- package/dist/web/assets/prompt-input-controls-QVtFSyXt.js.gz +0 -0
- package/dist/web/assets/{message-file-download-B0Yykdg4.js → prompt-reference-token-B6xz1rK0.js} +1 -1
- package/dist/web/assets/prompt-reference-token-B6xz1rK0.js.br +0 -0
- package/dist/web/assets/prompt-reference-token-B6xz1rK0.js.gz +0 -0
- package/dist/web/assets/{scheduled-task-date-time-picker-D5kkkH0J.js → scheduled-task-date-time-picker-Bz4CMtuJ.js} +1 -1
- package/dist/web/assets/scheduled-task-date-time-picker-Bz4CMtuJ.js.br +0 -0
- package/dist/web/assets/scheduled-task-date-time-picker-Bz4CMtuJ.js.gz +0 -0
- package/dist/web/assets/{scheduled-task-schedule-bzu0AAs6.js → scheduled-task-schedule-WjXySwP5.js} +1 -1
- package/dist/web/assets/scheduled-task-schedule-WjXySwP5.js.br +0 -0
- package/dist/web/assets/scheduled-task-schedule-WjXySwP5.js.gz +0 -0
- package/dist/web/assets/{scheduled-tasks-container-CkBw4tiQ.js → scheduled-tasks-container-CRRPfXJV.js} +2 -2
- package/dist/web/assets/scheduled-tasks-container-CRRPfXJV.js.br +0 -0
- package/dist/web/assets/scheduled-tasks-container-CRRPfXJV.js.gz +0 -0
- package/dist/web/assets/{settings-personalization-pnuLPt34.js → settings-personalization-r7Vj4sxv.js} +1 -1
- package/dist/web/assets/settings-personalization-r7Vj4sxv.js.br +0 -0
- package/dist/web/assets/settings-personalization-r7Vj4sxv.js.gz +0 -0
- package/dist/web/assets/{sheet-DiMxIv8P.js → sheet-CT_gmFL4.js} +1 -1
- package/dist/web/assets/sheet-CT_gmFL4.js.br +0 -0
- package/dist/web/assets/sheet-CT_gmFL4.js.gz +0 -0
- package/dist/web/assets/{skills-market-container-D-EJNYqj.js → skills-market-container-Diw6kUxR.js} +2 -2
- package/dist/web/assets/skills-market-container-Diw6kUxR.js.br +0 -0
- package/dist/web/assets/skills-market-container-Diw6kUxR.js.gz +0 -0
- package/dist/web/assets/task-timeline-store-jFYcKgsk.js +6 -0
- package/dist/web/assets/task-timeline-store-jFYcKgsk.js.br +0 -0
- package/dist/web/assets/task-timeline-store-jFYcKgsk.js.gz +0 -0
- package/dist/web/assets/{third-party-marketplace-pane-rC9NGfhR.js → third-party-marketplace-pane-BZREKs5z.js} +1 -1
- package/dist/web/assets/third-party-marketplace-pane-BZREKs5z.js.br +0 -0
- package/dist/web/assets/third-party-marketplace-pane-BZREKs5z.js.gz +0 -0
- package/dist/web/assets/workbench-composer-B4cbples.js +4 -0
- package/dist/web/assets/workbench-composer-B4cbples.js.br +0 -0
- package/dist/web/assets/workbench-composer-B4cbples.js.gz +0 -0
- package/dist/web/assets/{workbench-inspector-changes-lyYWVbsH.js → workbench-inspector-changes-CqCm9o_7.js} +2 -2
- package/dist/web/assets/workbench-inspector-changes-CqCm9o_7.js.br +0 -0
- package/dist/web/assets/workbench-inspector-changes-CqCm9o_7.js.gz +0 -0
- package/dist/web/assets/{workbench-pet-canvas-GtLypdG1.js → workbench-pet-canvas-BOk8JcmK.js} +1 -1
- package/dist/web/assets/workbench-pet-canvas-BOk8JcmK.js.br +0 -0
- package/dist/web/assets/workbench-pet-canvas-BOk8JcmK.js.gz +0 -0
- package/dist/web/assets/{workbench-shell-L9PpBWL7.js → workbench-shell-BNNM6Nh_.js} +3 -3
- package/dist/web/assets/workbench-shell-BNNM6Nh_.js.br +0 -0
- package/dist/web/assets/workbench-shell-BNNM6Nh_.js.gz +0 -0
- package/dist/web/index.html +2 -2
- package/dist/web/index.html.br +0 -0
- package/dist/web/index.html.gz +0 -0
- package/package.json +4 -3
- package/dist/web/assets/agent-settings-panel-3vNJzYxy.js.br +0 -0
- package/dist/web/assets/agent-settings-panel-3vNJzYxy.js.gz +0 -0
- package/dist/web/assets/attachments-BF0J6h1n.js +0 -1
- package/dist/web/assets/attachments-BF0J6h1n.js.br +0 -0
- package/dist/web/assets/attachments-BF0J6h1n.js.gz +0 -0
- package/dist/web/assets/background-image-picker-BnN4byHx.js.br +0 -0
- package/dist/web/assets/background-image-picker-BnN4byHx.js.gz +0 -0
- package/dist/web/assets/bing-wallpaper-queries-DBfS-J9B.js.br +0 -0
- package/dist/web/assets/bing-wallpaper-queries-DBfS-J9B.js.gz +0 -0
- package/dist/web/assets/button-group-D12I7ve_.js.br +0 -0
- package/dist/web/assets/button-group-D12I7ve_.js.gz +0 -0
- package/dist/web/assets/code-block-D1uYiL_F.js.br +0 -0
- package/dist/web/assets/code-block-D1uYiL_F.js.gz +0 -0
- package/dist/web/assets/commit-settings-panel-BL8cUz7m.js.br +0 -0
- package/dist/web/assets/commit-settings-panel-BL8cUz7m.js.gz +0 -0
- package/dist/web/assets/context-menu-DTan8DZT.js.br +0 -0
- package/dist/web/assets/context-menu-DTan8DZT.js.gz +0 -0
- package/dist/web/assets/file-review-dialog-C8FuVq6z.js.br +0 -0
- package/dist/web/assets/file-review-dialog-C8FuVq6z.js.gz +0 -0
- package/dist/web/assets/git-history-panel-S8KZ3GRO.js.br +0 -0
- package/dist/web/assets/git-history-panel-S8KZ3GRO.js.gz +0 -0
- package/dist/web/assets/global-search-dialog-B2A_CKa6.js.br +0 -0
- package/dist/web/assets/global-search-dialog-B2A_CKa6.js.gz +0 -0
- package/dist/web/assets/global-settings-about-C4XFeahF.js.br +0 -0
- package/dist/web/assets/global-settings-about-C4XFeahF.js.gz +0 -0
- package/dist/web/assets/global-settings-fields-1OYz34rQ.js.br +0 -0
- package/dist/web/assets/global-settings-fields-1OYz34rQ.js.gz +0 -0
- package/dist/web/assets/global-settings-model-CkNPJqQo.js.br +0 -0
- package/dist/web/assets/global-settings-model-CkNPJqQo.js.gz +0 -0
- package/dist/web/assets/global-settings-page-DxD6yU4k.js.br +0 -0
- package/dist/web/assets/global-settings-page-DxD6yU4k.js.gz +0 -0
- package/dist/web/assets/global-settings-pets-dz0Z49Au.js.br +0 -0
- package/dist/web/assets/global-settings-pets-dz0Z49Au.js.gz +0 -0
- package/dist/web/assets/history-task-timeline-CXIVfjfN.js.br +0 -0
- package/dist/web/assets/history-task-timeline-CXIVfjfN.js.gz +0 -0
- package/dist/web/assets/index-D-vXfAxU.css +0 -2
- package/dist/web/assets/index-D-vXfAxU.css.br +0 -0
- package/dist/web/assets/index-D-vXfAxU.css.gz +0 -0
- package/dist/web/assets/index-DvbRlATw.js +0 -4
- package/dist/web/assets/index-DvbRlATw.js.br +0 -0
- package/dist/web/assets/index-DvbRlATw.js.gz +0 -0
- package/dist/web/assets/installed-skills-pane-DrDfE7aK.js.br +0 -0
- package/dist/web/assets/installed-skills-pane-DrDfE7aK.js.gz +0 -0
- package/dist/web/assets/lazy-message-response-DaxWaQQB.js +0 -2
- package/dist/web/assets/lazy-message-response-DaxWaQQB.js.br +0 -0
- package/dist/web/assets/lazy-message-response-DaxWaQQB.js.gz +0 -0
- package/dist/web/assets/mcp-management-pane-B-KELtkr.js.br +0 -0
- package/dist/web/assets/mcp-management-pane-B-KELtkr.js.gz +0 -0
- package/dist/web/assets/message-file-download-B0Yykdg4.js.br +0 -1
- package/dist/web/assets/message-file-download-B0Yykdg4.js.gz +0 -0
- package/dist/web/assets/message-response-9LYhGlVh.js.br +0 -0
- package/dist/web/assets/message-response-9LYhGlVh.js.gz +0 -0
- package/dist/web/assets/official-plugins-pane-stB5fq6p.js.br +0 -0
- package/dist/web/assets/official-plugins-pane-stB5fq6p.js.gz +0 -0
- package/dist/web/assets/personalization-settings-panel-DRNKBGTV.js.br +0 -0
- package/dist/web/assets/personalization-settings-panel-DRNKBGTV.js.gz +0 -0
- package/dist/web/assets/project-file-popup-page-BRFUG0CW.js.br +0 -0
- package/dist/web/assets/project-file-popup-page-BRFUG0CW.js.gz +0 -0
- package/dist/web/assets/project-source-dialog-D1KMgF48.js.br +0 -0
- package/dist/web/assets/project-source-dialog-D1KMgF48.js.gz +0 -0
- package/dist/web/assets/project-source-panel-bumoDklb.js.br +0 -0
- package/dist/web/assets/project-source-panel-bumoDklb.js.gz +0 -0
- package/dist/web/assets/prompt-input-CXZBM7yg.js.br +0 -0
- package/dist/web/assets/prompt-input-CXZBM7yg.js.gz +0 -0
- package/dist/web/assets/prompt-input-controls-DDBFb1Bv.js +0 -1
- package/dist/web/assets/prompt-input-controls-DDBFb1Bv.js.br +0 -0
- package/dist/web/assets/prompt-input-controls-DDBFb1Bv.js.gz +0 -0
- package/dist/web/assets/prompt-reference-token-Cxx6C-IR.js +0 -1
- package/dist/web/assets/prompt-reference-token-Cxx6C-IR.js.br +0 -0
- package/dist/web/assets/prompt-reference-token-Cxx6C-IR.js.gz +0 -0
- package/dist/web/assets/scheduled-task-date-time-picker-D5kkkH0J.js.br +0 -0
- package/dist/web/assets/scheduled-task-date-time-picker-D5kkkH0J.js.gz +0 -0
- package/dist/web/assets/scheduled-task-schedule-bzu0AAs6.js.br +0 -0
- package/dist/web/assets/scheduled-task-schedule-bzu0AAs6.js.gz +0 -0
- package/dist/web/assets/scheduled-tasks-container-CkBw4tiQ.js.br +0 -0
- package/dist/web/assets/scheduled-tasks-container-CkBw4tiQ.js.gz +0 -0
- package/dist/web/assets/settings-personalization-pnuLPt34.js.br +0 -0
- package/dist/web/assets/settings-personalization-pnuLPt34.js.gz +0 -0
- package/dist/web/assets/sheet-DiMxIv8P.js.br +0 -0
- package/dist/web/assets/sheet-DiMxIv8P.js.gz +0 -0
- package/dist/web/assets/skills-market-container-D-EJNYqj.js.br +0 -0
- package/dist/web/assets/skills-market-container-D-EJNYqj.js.gz +0 -0
- package/dist/web/assets/task-timeline-store-Ca-wQLgJ.js +0 -6
- package/dist/web/assets/task-timeline-store-Ca-wQLgJ.js.br +0 -0
- package/dist/web/assets/task-timeline-store-Ca-wQLgJ.js.gz +0 -0
- package/dist/web/assets/third-party-marketplace-pane-rC9NGfhR.js.br +0 -0
- package/dist/web/assets/third-party-marketplace-pane-rC9NGfhR.js.gz +0 -0
- package/dist/web/assets/workbench-composer-AfRXx4Ec.js +0 -8
- package/dist/web/assets/workbench-composer-AfRXx4Ec.js.br +0 -0
- package/dist/web/assets/workbench-composer-AfRXx4Ec.js.gz +0 -0
- package/dist/web/assets/workbench-inspector-changes-lyYWVbsH.js.br +0 -0
- package/dist/web/assets/workbench-inspector-changes-lyYWVbsH.js.gz +0 -0
- package/dist/web/assets/workbench-pet-canvas-GtLypdG1.js.br +0 -0
- package/dist/web/assets/workbench-pet-canvas-GtLypdG1.js.gz +0 -0
- package/dist/web/assets/workbench-shell-L9PpBWL7.js.br +0 -0
- package/dist/web/assets/workbench-shell-L9PpBWL7.js.gz +0 -0
|
@@ -142,15 +142,15 @@ var require_err = __commonJS({
|
|
|
142
142
|
if (Array.isArray(err.errors)) {
|
|
143
143
|
_err.aggregateErrors = err.errors.map((err2) => errSerializer(err2));
|
|
144
144
|
}
|
|
145
|
-
for (const
|
|
146
|
-
if (_err[
|
|
147
|
-
const val = err[
|
|
145
|
+
for (const key2 in err) {
|
|
146
|
+
if (_err[key2] === void 0) {
|
|
147
|
+
const val = err[key2];
|
|
148
148
|
if (isErrorLike(val)) {
|
|
149
|
-
if (
|
|
150
|
-
_err[
|
|
149
|
+
if (key2 !== "cause" && !Object.prototype.hasOwnProperty.call(val, seen)) {
|
|
150
|
+
_err[key2] = errSerializer(val);
|
|
151
151
|
}
|
|
152
152
|
} else {
|
|
153
|
-
_err[
|
|
153
|
+
_err[key2] = val;
|
|
154
154
|
}
|
|
155
155
|
}
|
|
156
156
|
}
|
|
@@ -184,15 +184,15 @@ var require_err_with_cause = __commonJS({
|
|
|
184
184
|
if (isErrorLike(err.cause) && !Object.prototype.hasOwnProperty.call(err.cause, seen)) {
|
|
185
185
|
_err.cause = errWithCauseSerializer(err.cause);
|
|
186
186
|
}
|
|
187
|
-
for (const
|
|
188
|
-
if (_err[
|
|
189
|
-
const val = err[
|
|
187
|
+
for (const key2 in err) {
|
|
188
|
+
if (_err[key2] === void 0) {
|
|
189
|
+
const val = err[key2];
|
|
190
190
|
if (isErrorLike(val)) {
|
|
191
191
|
if (!Object.prototype.hasOwnProperty.call(val, seen)) {
|
|
192
|
-
_err[
|
|
192
|
+
_err[key2] = errWithCauseSerializer(val);
|
|
193
193
|
}
|
|
194
194
|
} else {
|
|
195
|
-
_err[
|
|
195
|
+
_err[key2] = val;
|
|
196
196
|
}
|
|
197
197
|
}
|
|
198
198
|
}
|
|
@@ -427,9 +427,9 @@ var require_redact = __commonJS({
|
|
|
427
427
|
}
|
|
428
428
|
if (typeof obj === "object") {
|
|
429
429
|
const cloned = Object.create(Object.getPrototypeOf(obj));
|
|
430
|
-
for (const
|
|
431
|
-
if (Object.prototype.hasOwnProperty.call(obj,
|
|
432
|
-
cloned[
|
|
430
|
+
for (const key2 in obj) {
|
|
431
|
+
if (Object.prototype.hasOwnProperty.call(obj, key2)) {
|
|
432
|
+
cloned[key2] = deepClone(obj[key2]);
|
|
433
433
|
}
|
|
434
434
|
}
|
|
435
435
|
return cloned;
|
|
@@ -482,14 +482,14 @@ var require_redact = __commonJS({
|
|
|
482
482
|
function setValue(obj, parts, value) {
|
|
483
483
|
let current = obj;
|
|
484
484
|
for (let i = 0; i < parts.length - 1; i++) {
|
|
485
|
-
const
|
|
486
|
-
if (typeof current !== "object" || current === null || !(
|
|
485
|
+
const key2 = parts[i];
|
|
486
|
+
if (typeof current !== "object" || current === null || !(key2 in current)) {
|
|
487
487
|
return false;
|
|
488
488
|
}
|
|
489
|
-
if (typeof current[
|
|
489
|
+
if (typeof current[key2] !== "object" || current[key2] === null) {
|
|
490
490
|
return false;
|
|
491
491
|
}
|
|
492
|
-
current = current[
|
|
492
|
+
current = current[key2];
|
|
493
493
|
}
|
|
494
494
|
const lastKey = parts[parts.length - 1];
|
|
495
495
|
if (lastKey === "*") {
|
|
@@ -498,9 +498,9 @@ var require_redact = __commonJS({
|
|
|
498
498
|
current[i] = value;
|
|
499
499
|
}
|
|
500
500
|
} else if (typeof current === "object" && current !== null) {
|
|
501
|
-
for (const
|
|
502
|
-
if (Object.prototype.hasOwnProperty.call(current,
|
|
503
|
-
current[
|
|
501
|
+
for (const key2 in current) {
|
|
502
|
+
if (Object.prototype.hasOwnProperty.call(current, key2)) {
|
|
503
|
+
current[key2] = value;
|
|
504
504
|
}
|
|
505
505
|
}
|
|
506
506
|
}
|
|
@@ -514,14 +514,14 @@ var require_redact = __commonJS({
|
|
|
514
514
|
function removeKey(obj, parts) {
|
|
515
515
|
let current = obj;
|
|
516
516
|
for (let i = 0; i < parts.length - 1; i++) {
|
|
517
|
-
const
|
|
518
|
-
if (typeof current !== "object" || current === null || !(
|
|
517
|
+
const key2 = parts[i];
|
|
518
|
+
if (typeof current !== "object" || current === null || !(key2 in current)) {
|
|
519
519
|
return false;
|
|
520
520
|
}
|
|
521
|
-
if (typeof current[
|
|
521
|
+
if (typeof current[key2] !== "object" || current[key2] === null) {
|
|
522
522
|
return false;
|
|
523
523
|
}
|
|
524
|
-
current = current[
|
|
524
|
+
current = current[key2];
|
|
525
525
|
}
|
|
526
526
|
const lastKey = parts[parts.length - 1];
|
|
527
527
|
if (lastKey === "*") {
|
|
@@ -530,9 +530,9 @@ var require_redact = __commonJS({
|
|
|
530
530
|
current[i] = void 0;
|
|
531
531
|
}
|
|
532
532
|
} else if (typeof current === "object" && current !== null) {
|
|
533
|
-
for (const
|
|
534
|
-
if (Object.prototype.hasOwnProperty.call(current,
|
|
535
|
-
delete current[
|
|
533
|
+
for (const key2 in current) {
|
|
534
|
+
if (Object.prototype.hasOwnProperty.call(current, key2)) {
|
|
535
|
+
delete current[key2];
|
|
536
536
|
}
|
|
537
537
|
}
|
|
538
538
|
}
|
|
@@ -617,19 +617,19 @@ var require_redact = __commonJS({
|
|
|
617
617
|
} else if (typeof current === "object" && current !== null) {
|
|
618
618
|
if (remove) {
|
|
619
619
|
const keysToDelete = [];
|
|
620
|
-
for (const
|
|
621
|
-
if (Object.prototype.hasOwnProperty.call(current,
|
|
622
|
-
keysToDelete.push(
|
|
620
|
+
for (const key2 in current) {
|
|
621
|
+
if (Object.prototype.hasOwnProperty.call(current, key2)) {
|
|
622
|
+
keysToDelete.push(key2);
|
|
623
623
|
}
|
|
624
624
|
}
|
|
625
|
-
for (const
|
|
626
|
-
delete current[
|
|
625
|
+
for (const key2 of keysToDelete) {
|
|
626
|
+
delete current[key2];
|
|
627
627
|
}
|
|
628
628
|
} else {
|
|
629
|
-
for (const
|
|
630
|
-
const keyPath = [...parentParts,
|
|
631
|
-
const actualCensor = typeof censor === "function" ? censor(current[
|
|
632
|
-
current[
|
|
629
|
+
for (const key2 in current) {
|
|
630
|
+
const keyPath = [...parentParts, key2];
|
|
631
|
+
const actualCensor = typeof censor === "function" ? censor(current[key2], keyPath) : censor;
|
|
632
|
+
current[key2] = actualCensor;
|
|
633
633
|
}
|
|
634
634
|
}
|
|
635
635
|
}
|
|
@@ -649,9 +649,9 @@ var require_redact = __commonJS({
|
|
|
649
649
|
traverse(current[i], pathLength + 1);
|
|
650
650
|
}
|
|
651
651
|
} else if (typeof current === "object" && current !== null) {
|
|
652
|
-
for (const
|
|
653
|
-
pathArray[pathLength] =
|
|
654
|
-
traverse(current[
|
|
652
|
+
for (const key2 in current) {
|
|
653
|
+
pathArray[pathLength] = key2;
|
|
654
|
+
traverse(current[key2], pathLength + 1);
|
|
655
655
|
}
|
|
656
656
|
}
|
|
657
657
|
} else if (pathLength < beforeWildcard.length) {
|
|
@@ -738,12 +738,12 @@ var require_redact = __commonJS({
|
|
|
738
738
|
return cloned2;
|
|
739
739
|
}
|
|
740
740
|
const cloned = Object.create(Object.getPrototypeOf(source));
|
|
741
|
-
for (const
|
|
742
|
-
if (Object.prototype.hasOwnProperty.call(source,
|
|
743
|
-
if (pathMap.has(
|
|
744
|
-
cloned[
|
|
741
|
+
for (const key2 in source) {
|
|
742
|
+
if (Object.prototype.hasOwnProperty.call(source, key2)) {
|
|
743
|
+
if (pathMap.has(key2) || pathMap.has("*")) {
|
|
744
|
+
cloned[key2] = cloneSelectively(source[key2], pathMap.get(key2) || pathMap.get("*"));
|
|
745
745
|
} else {
|
|
746
|
-
cloned[
|
|
746
|
+
cloned[key2] = source[key2];
|
|
747
747
|
}
|
|
748
748
|
}
|
|
749
749
|
}
|
|
@@ -1250,7 +1250,7 @@ var require_sonic_boom = __commonJS({
|
|
|
1250
1250
|
if (!(this instanceof SonicBoom)) {
|
|
1251
1251
|
return new SonicBoom(opts);
|
|
1252
1252
|
}
|
|
1253
|
-
let { fd, dest, minLength, maxLength, maxWrite, periodicFlush, sync, append = true, mkdir:
|
|
1253
|
+
let { fd, dest, minLength, maxLength, maxWrite, periodicFlush, sync, append = true, mkdir: mkdir4, retryEAGAIN, fsync, contentMode, mode } = opts || {};
|
|
1254
1254
|
fd = fd || dest;
|
|
1255
1255
|
this._len = 0;
|
|
1256
1256
|
this.fd = -1;
|
|
@@ -1275,7 +1275,7 @@ var require_sonic_boom = __commonJS({
|
|
|
1275
1275
|
this.append = append || false;
|
|
1276
1276
|
this.mode = mode;
|
|
1277
1277
|
this.retryEAGAIN = retryEAGAIN || (() => true);
|
|
1278
|
-
this.mkdir =
|
|
1278
|
+
this.mkdir = mkdir4 || false;
|
|
1279
1279
|
let fsWriteSync;
|
|
1280
1280
|
let fsWrite;
|
|
1281
1281
|
if (contentMode === kContentModeBuffer) {
|
|
@@ -1983,7 +1983,7 @@ var require_thread_stream = __commonJS({
|
|
|
1983
1983
|
var { version } = require_package();
|
|
1984
1984
|
var { EventEmitter } = __require("events");
|
|
1985
1985
|
var { Worker: Worker2 } = __require("worker_threads");
|
|
1986
|
-
var { join:
|
|
1986
|
+
var { join: join10 } = __require("path");
|
|
1987
1987
|
var { pathToFileURL } = __require("url");
|
|
1988
1988
|
var { wait } = require_wait();
|
|
1989
1989
|
var {
|
|
@@ -2034,7 +2034,7 @@ var require_thread_stream = __commonJS({
|
|
|
2034
2034
|
function createWorker(stream, opts) {
|
|
2035
2035
|
const { filename, workerData } = opts;
|
|
2036
2036
|
const bundlerOverrides = "__bundlerPathsOverrides" in globalThis ? globalThis.__bundlerPathsOverrides : {};
|
|
2037
|
-
const toExecute = bundlerOverrides["thread-stream-worker"] ||
|
|
2037
|
+
const toExecute = bundlerOverrides["thread-stream-worker"] || join10(__dirname, "lib", "worker.js");
|
|
2038
2038
|
const worker = new Worker2(toExecute, {
|
|
2039
2039
|
...opts.workerOpts,
|
|
2040
2040
|
name: opts.workerOpts?.name || "thread-stream",
|
|
@@ -2501,7 +2501,7 @@ var require_transport = __commonJS({
|
|
|
2501
2501
|
var { createRequire: createRequire2 } = __require("module");
|
|
2502
2502
|
var { existsSync: existsSync2 } = __require("fs");
|
|
2503
2503
|
var getCallers = require_caller();
|
|
2504
|
-
var { join:
|
|
2504
|
+
var { join: join10, isAbsolute: isAbsolute8, sep: sep3 } = __require("path");
|
|
2505
2505
|
var { fileURLToPath } = __require("url");
|
|
2506
2506
|
var sleep = require_atomic_sleep();
|
|
2507
2507
|
var onExit = require_on_exit_leak_free();
|
|
@@ -2654,7 +2654,7 @@ var require_transport = __commonJS({
|
|
|
2654
2654
|
throw new Error("only one of target or targets can be specified");
|
|
2655
2655
|
}
|
|
2656
2656
|
if (targets) {
|
|
2657
|
-
target = bundlerOverrides["pino-worker"] ||
|
|
2657
|
+
target = bundlerOverrides["pino-worker"] || join10(__dirname, "worker.js");
|
|
2658
2658
|
options.targets = targets.filter((dest) => dest.target).map((dest) => {
|
|
2659
2659
|
return {
|
|
2660
2660
|
...dest,
|
|
@@ -2672,7 +2672,7 @@ var require_transport = __commonJS({
|
|
|
2672
2672
|
});
|
|
2673
2673
|
});
|
|
2674
2674
|
} else if (pipeline) {
|
|
2675
|
-
target = bundlerOverrides["pino-worker"] ||
|
|
2675
|
+
target = bundlerOverrides["pino-worker"] || join10(__dirname, "worker.js");
|
|
2676
2676
|
options.pipelines = [pipeline.map((dest) => {
|
|
2677
2677
|
return {
|
|
2678
2678
|
...dest,
|
|
@@ -2695,7 +2695,7 @@ var require_transport = __commonJS({
|
|
|
2695
2695
|
return origin;
|
|
2696
2696
|
}
|
|
2697
2697
|
if (origin === "pino/file") {
|
|
2698
|
-
return
|
|
2698
|
+
return join10(__dirname, "..", "file.js");
|
|
2699
2699
|
}
|
|
2700
2700
|
let fixTarget2;
|
|
2701
2701
|
for (const filePath of callers) {
|
|
@@ -2834,15 +2834,15 @@ var require_tools = __commonJS({
|
|
|
2834
2834
|
}
|
|
2835
2835
|
const wildcardStringifier = stringifiers[wildcardFirstSym];
|
|
2836
2836
|
let propStr = "";
|
|
2837
|
-
for (const
|
|
2838
|
-
value = obj[
|
|
2839
|
-
if (Object.prototype.hasOwnProperty.call(obj,
|
|
2840
|
-
if (serializers[
|
|
2841
|
-
value = serializers[
|
|
2842
|
-
} else if (
|
|
2837
|
+
for (const key2 in obj) {
|
|
2838
|
+
value = obj[key2];
|
|
2839
|
+
if (Object.prototype.hasOwnProperty.call(obj, key2) && value !== void 0) {
|
|
2840
|
+
if (serializers[key2]) {
|
|
2841
|
+
value = serializers[key2](value);
|
|
2842
|
+
} else if (key2 === errorKey && serializers.err) {
|
|
2843
2843
|
value = serializers.err(value);
|
|
2844
2844
|
}
|
|
2845
|
-
const stringifier = stringifiers[
|
|
2845
|
+
const stringifier = stringifiers[key2] || wildcardStringifier;
|
|
2846
2846
|
switch (typeof value) {
|
|
2847
2847
|
case "undefined":
|
|
2848
2848
|
case "function":
|
|
@@ -2862,7 +2862,7 @@ var require_tools = __commonJS({
|
|
|
2862
2862
|
value = (stringifier || stringify2)(value, stringifySafe);
|
|
2863
2863
|
}
|
|
2864
2864
|
if (value === void 0) continue;
|
|
2865
|
-
const strKey = asString(
|
|
2865
|
+
const strKey = asString(key2);
|
|
2866
2866
|
propStr += "," + strKey + ":" + value;
|
|
2867
2867
|
}
|
|
2868
2868
|
}
|
|
@@ -2907,14 +2907,14 @@ var require_tools = __commonJS({
|
|
|
2907
2907
|
const serializers = instance[serializersSym];
|
|
2908
2908
|
const formatter = instance[formattersSym].bindings;
|
|
2909
2909
|
bindings = formatter(bindings);
|
|
2910
|
-
for (const
|
|
2911
|
-
value = bindings[
|
|
2912
|
-
const valid = (
|
|
2910
|
+
for (const key2 in bindings) {
|
|
2911
|
+
value = bindings[key2];
|
|
2912
|
+
const valid = (key2.length < 5 || key2 !== "level" && key2 !== "serializers" && key2 !== "formatters" && key2 !== "customLevels") && bindings.hasOwnProperty(key2) && value !== void 0;
|
|
2913
2913
|
if (valid === true) {
|
|
2914
|
-
value = serializers[
|
|
2915
|
-
value = (stringifiers[
|
|
2914
|
+
value = serializers[key2] ? serializers[key2](value) : value;
|
|
2915
|
+
value = (stringifiers[key2] || wildcardStringifier || stringify2)(value, stringifySafe);
|
|
2916
2916
|
if (value === void 0) continue;
|
|
2917
|
-
data += ',"' +
|
|
2917
|
+
data += ',"' + key2 + '":' + value;
|
|
2918
2918
|
}
|
|
2919
2919
|
}
|
|
2920
2920
|
return data;
|
|
@@ -3148,12 +3148,12 @@ var require_levels = __commonJS({
|
|
|
3148
3148
|
const useOnlyCustomLevelsVal = this[useOnlyCustomLevelsSym];
|
|
3149
3149
|
const levelComparison = this[levelCompSym];
|
|
3150
3150
|
const hook = this[hooksSym].logMethod;
|
|
3151
|
-
for (const
|
|
3152
|
-
if (levelComparison(values[
|
|
3153
|
-
this[
|
|
3151
|
+
for (const key2 in values) {
|
|
3152
|
+
if (levelComparison(values[key2], levelVal) === false) {
|
|
3153
|
+
this[key2] = noop;
|
|
3154
3154
|
continue;
|
|
3155
3155
|
}
|
|
3156
|
-
this[
|
|
3156
|
+
this[key2] = isStandardLevel(key2, useOnlyCustomLevelsVal) ? levelMethods[key2](hook) : genLog(values[key2], hook);
|
|
3157
3157
|
}
|
|
3158
3158
|
this.emit(
|
|
3159
3159
|
"level-change",
|
|
@@ -3205,7 +3205,7 @@ var require_levels = __commonJS({
|
|
|
3205
3205
|
function assertDefaultLevelFound(defaultLevel, customLevels, useOnlyCustomLevels) {
|
|
3206
3206
|
if (typeof defaultLevel === "number") {
|
|
3207
3207
|
const values = [].concat(
|
|
3208
|
-
Object.keys(customLevels || {}).map((
|
|
3208
|
+
Object.keys(customLevels || {}).map((key2) => customLevels[key2]),
|
|
3209
3209
|
useOnlyCustomLevels ? [] : Object.keys(nums).map((level) => +level),
|
|
3210
3210
|
Infinity
|
|
3211
3211
|
);
|
|
@@ -3580,28 +3580,28 @@ var require_safe_stable_stringify = __commonJS({
|
|
|
3580
3580
|
}
|
|
3581
3581
|
return value === void 0 ? true : value;
|
|
3582
3582
|
}
|
|
3583
|
-
function getBooleanOption(options,
|
|
3583
|
+
function getBooleanOption(options, key2) {
|
|
3584
3584
|
let value;
|
|
3585
|
-
if (hasOwnProperty.call(options,
|
|
3586
|
-
value = options[
|
|
3585
|
+
if (hasOwnProperty.call(options, key2)) {
|
|
3586
|
+
value = options[key2];
|
|
3587
3587
|
if (typeof value !== "boolean") {
|
|
3588
|
-
throw new TypeError(`The "${
|
|
3588
|
+
throw new TypeError(`The "${key2}" argument must be of type boolean`);
|
|
3589
3589
|
}
|
|
3590
3590
|
}
|
|
3591
3591
|
return value === void 0 ? true : value;
|
|
3592
3592
|
}
|
|
3593
|
-
function getPositiveIntegerOption(options,
|
|
3593
|
+
function getPositiveIntegerOption(options, key2) {
|
|
3594
3594
|
let value;
|
|
3595
|
-
if (hasOwnProperty.call(options,
|
|
3596
|
-
value = options[
|
|
3595
|
+
if (hasOwnProperty.call(options, key2)) {
|
|
3596
|
+
value = options[key2];
|
|
3597
3597
|
if (typeof value !== "number") {
|
|
3598
|
-
throw new TypeError(`The "${
|
|
3598
|
+
throw new TypeError(`The "${key2}" argument must be of type number`);
|
|
3599
3599
|
}
|
|
3600
3600
|
if (!Number.isInteger(value)) {
|
|
3601
|
-
throw new TypeError(`The "${
|
|
3601
|
+
throw new TypeError(`The "${key2}" argument must be an integer`);
|
|
3602
3602
|
}
|
|
3603
3603
|
if (value < 1) {
|
|
3604
|
-
throw new RangeError(`The "${
|
|
3604
|
+
throw new RangeError(`The "${key2}" argument must be >= 1`);
|
|
3605
3605
|
}
|
|
3606
3606
|
}
|
|
3607
3607
|
return value === void 0 ? Infinity : value;
|
|
@@ -3653,12 +3653,12 @@ var require_safe_stable_stringify = __commonJS({
|
|
|
3653
3653
|
const comparator = typeof deterministic === "function" ? deterministic : void 0;
|
|
3654
3654
|
const maximumDepth = getPositiveIntegerOption(options, "maximumDepth");
|
|
3655
3655
|
const maximumBreadth = getPositiveIntegerOption(options, "maximumBreadth");
|
|
3656
|
-
function stringifyFnReplacer(
|
|
3657
|
-
let value = parent[
|
|
3656
|
+
function stringifyFnReplacer(key2, parent, stack, replacer, spacer, indentation) {
|
|
3657
|
+
let value = parent[key2];
|
|
3658
3658
|
if (typeof value === "object" && value !== null && typeof value.toJSON === "function") {
|
|
3659
|
-
value = value.toJSON(
|
|
3659
|
+
value = value.toJSON(key2);
|
|
3660
3660
|
}
|
|
3661
|
-
value = replacer.call(parent,
|
|
3661
|
+
value = replacer.call(parent, key2, value);
|
|
3662
3662
|
switch (typeof value) {
|
|
3663
3663
|
case "string":
|
|
3664
3664
|
return strEscape(value);
|
|
@@ -3670,7 +3670,7 @@ var require_safe_stable_stringify = __commonJS({
|
|
|
3670
3670
|
return circularValue;
|
|
3671
3671
|
}
|
|
3672
3672
|
let res = "";
|
|
3673
|
-
let
|
|
3673
|
+
let join10 = ",";
|
|
3674
3674
|
const originalIndentation = indentation;
|
|
3675
3675
|
if (Array.isArray(value)) {
|
|
3676
3676
|
if (value.length === 0) {
|
|
@@ -3684,7 +3684,7 @@ var require_safe_stable_stringify = __commonJS({
|
|
|
3684
3684
|
indentation += spacer;
|
|
3685
3685
|
res += `
|
|
3686
3686
|
${indentation}`;
|
|
3687
|
-
|
|
3687
|
+
join10 = `,
|
|
3688
3688
|
${indentation}`;
|
|
3689
3689
|
}
|
|
3690
3690
|
const maximumValuesToStringify = Math.min(value.length, maximumBreadth);
|
|
@@ -3692,13 +3692,13 @@ ${indentation}`;
|
|
|
3692
3692
|
for (; i < maximumValuesToStringify - 1; i++) {
|
|
3693
3693
|
const tmp2 = stringifyFnReplacer(String(i), value, stack, replacer, spacer, indentation);
|
|
3694
3694
|
res += tmp2 !== void 0 ? tmp2 : "null";
|
|
3695
|
-
res +=
|
|
3695
|
+
res += join10;
|
|
3696
3696
|
}
|
|
3697
3697
|
const tmp = stringifyFnReplacer(String(i), value, stack, replacer, spacer, indentation);
|
|
3698
3698
|
res += tmp !== void 0 ? tmp : "null";
|
|
3699
3699
|
if (value.length - 1 > maximumBreadth) {
|
|
3700
3700
|
const removedKeys = value.length - maximumBreadth - 1;
|
|
3701
|
-
res += `${
|
|
3701
|
+
res += `${join10}"... ${getItemCount(removedKeys)} not stringified"`;
|
|
3702
3702
|
}
|
|
3703
3703
|
if (spacer !== "") {
|
|
3704
3704
|
res += `
|
|
@@ -3719,7 +3719,7 @@ ${originalIndentation}`;
|
|
|
3719
3719
|
let separator = "";
|
|
3720
3720
|
if (spacer !== "") {
|
|
3721
3721
|
indentation += spacer;
|
|
3722
|
-
|
|
3722
|
+
join10 = `,
|
|
3723
3723
|
${indentation}`;
|
|
3724
3724
|
whitespace = " ";
|
|
3725
3725
|
}
|
|
@@ -3729,17 +3729,17 @@ ${indentation}`;
|
|
|
3729
3729
|
}
|
|
3730
3730
|
stack.push(value);
|
|
3731
3731
|
for (let i = 0; i < maximumPropertiesToStringify; i++) {
|
|
3732
|
-
const
|
|
3733
|
-
const tmp = stringifyFnReplacer(
|
|
3732
|
+
const key3 = keys[i];
|
|
3733
|
+
const tmp = stringifyFnReplacer(key3, value, stack, replacer, spacer, indentation);
|
|
3734
3734
|
if (tmp !== void 0) {
|
|
3735
|
-
res += `${separator}${strEscape(
|
|
3736
|
-
separator =
|
|
3735
|
+
res += `${separator}${strEscape(key3)}:${whitespace}${tmp}`;
|
|
3736
|
+
separator = join10;
|
|
3737
3737
|
}
|
|
3738
3738
|
}
|
|
3739
3739
|
if (keyLength > maximumBreadth) {
|
|
3740
3740
|
const removedKeys = keyLength - maximumBreadth;
|
|
3741
3741
|
res += `${separator}"...":${whitespace}"${getItemCount(removedKeys)} not stringified"`;
|
|
3742
|
-
separator =
|
|
3742
|
+
separator = join10;
|
|
3743
3743
|
}
|
|
3744
3744
|
if (spacer !== "" && separator.length > 1) {
|
|
3745
3745
|
res = `
|
|
@@ -3764,9 +3764,9 @@ ${originalIndentation}`;
|
|
|
3764
3764
|
return fail ? fail(value) : void 0;
|
|
3765
3765
|
}
|
|
3766
3766
|
}
|
|
3767
|
-
function stringifyArrayReplacer(
|
|
3767
|
+
function stringifyArrayReplacer(key2, value, stack, replacer, spacer, indentation) {
|
|
3768
3768
|
if (typeof value === "object" && value !== null && typeof value.toJSON === "function") {
|
|
3769
|
-
value = value.toJSON(
|
|
3769
|
+
value = value.toJSON(key2);
|
|
3770
3770
|
}
|
|
3771
3771
|
switch (typeof value) {
|
|
3772
3772
|
case "string":
|
|
@@ -3780,7 +3780,7 @@ ${originalIndentation}`;
|
|
|
3780
3780
|
}
|
|
3781
3781
|
const originalIndentation = indentation;
|
|
3782
3782
|
let res = "";
|
|
3783
|
-
let
|
|
3783
|
+
let join10 = ",";
|
|
3784
3784
|
if (Array.isArray(value)) {
|
|
3785
3785
|
if (value.length === 0) {
|
|
3786
3786
|
return "[]";
|
|
@@ -3793,7 +3793,7 @@ ${originalIndentation}`;
|
|
|
3793
3793
|
indentation += spacer;
|
|
3794
3794
|
res += `
|
|
3795
3795
|
${indentation}`;
|
|
3796
|
-
|
|
3796
|
+
join10 = `,
|
|
3797
3797
|
${indentation}`;
|
|
3798
3798
|
}
|
|
3799
3799
|
const maximumValuesToStringify = Math.min(value.length, maximumBreadth);
|
|
@@ -3801,13 +3801,13 @@ ${indentation}`;
|
|
|
3801
3801
|
for (; i < maximumValuesToStringify - 1; i++) {
|
|
3802
3802
|
const tmp2 = stringifyArrayReplacer(String(i), value[i], stack, replacer, spacer, indentation);
|
|
3803
3803
|
res += tmp2 !== void 0 ? tmp2 : "null";
|
|
3804
|
-
res +=
|
|
3804
|
+
res += join10;
|
|
3805
3805
|
}
|
|
3806
3806
|
const tmp = stringifyArrayReplacer(String(i), value[i], stack, replacer, spacer, indentation);
|
|
3807
3807
|
res += tmp !== void 0 ? tmp : "null";
|
|
3808
3808
|
if (value.length - 1 > maximumBreadth) {
|
|
3809
3809
|
const removedKeys = value.length - maximumBreadth - 1;
|
|
3810
|
-
res += `${
|
|
3810
|
+
res += `${join10}"... ${getItemCount(removedKeys)} not stringified"`;
|
|
3811
3811
|
}
|
|
3812
3812
|
if (spacer !== "") {
|
|
3813
3813
|
res += `
|
|
@@ -3820,16 +3820,16 @@ ${originalIndentation}`;
|
|
|
3820
3820
|
let whitespace = "";
|
|
3821
3821
|
if (spacer !== "") {
|
|
3822
3822
|
indentation += spacer;
|
|
3823
|
-
|
|
3823
|
+
join10 = `,
|
|
3824
3824
|
${indentation}`;
|
|
3825
3825
|
whitespace = " ";
|
|
3826
3826
|
}
|
|
3827
3827
|
let separator = "";
|
|
3828
|
-
for (const
|
|
3829
|
-
const tmp = stringifyArrayReplacer(
|
|
3828
|
+
for (const key3 of replacer) {
|
|
3829
|
+
const tmp = stringifyArrayReplacer(key3, value[key3], stack, replacer, spacer, indentation);
|
|
3830
3830
|
if (tmp !== void 0) {
|
|
3831
|
-
res += `${separator}${strEscape(
|
|
3832
|
-
separator =
|
|
3831
|
+
res += `${separator}${strEscape(key3)}:${whitespace}${tmp}`;
|
|
3832
|
+
separator = join10;
|
|
3833
3833
|
}
|
|
3834
3834
|
}
|
|
3835
3835
|
if (spacer !== "" && separator.length > 1) {
|
|
@@ -3855,7 +3855,7 @@ ${originalIndentation}`;
|
|
|
3855
3855
|
return fail ? fail(value) : void 0;
|
|
3856
3856
|
}
|
|
3857
3857
|
}
|
|
3858
|
-
function stringifyIndent(
|
|
3858
|
+
function stringifyIndent(key2, value, stack, spacer, indentation) {
|
|
3859
3859
|
switch (typeof value) {
|
|
3860
3860
|
case "string":
|
|
3861
3861
|
return strEscape(value);
|
|
@@ -3864,9 +3864,9 @@ ${originalIndentation}`;
|
|
|
3864
3864
|
return "null";
|
|
3865
3865
|
}
|
|
3866
3866
|
if (typeof value.toJSON === "function") {
|
|
3867
|
-
value = value.toJSON(
|
|
3867
|
+
value = value.toJSON(key2);
|
|
3868
3868
|
if (typeof value !== "object") {
|
|
3869
|
-
return stringifyIndent(
|
|
3869
|
+
return stringifyIndent(key2, value, stack, spacer, indentation);
|
|
3870
3870
|
}
|
|
3871
3871
|
if (value === null) {
|
|
3872
3872
|
return "null";
|
|
@@ -3887,20 +3887,20 @@ ${originalIndentation}`;
|
|
|
3887
3887
|
indentation += spacer;
|
|
3888
3888
|
let res2 = `
|
|
3889
3889
|
${indentation}`;
|
|
3890
|
-
const
|
|
3890
|
+
const join11 = `,
|
|
3891
3891
|
${indentation}`;
|
|
3892
3892
|
const maximumValuesToStringify = Math.min(value.length, maximumBreadth);
|
|
3893
3893
|
let i = 0;
|
|
3894
3894
|
for (; i < maximumValuesToStringify - 1; i++) {
|
|
3895
3895
|
const tmp2 = stringifyIndent(String(i), value[i], stack, spacer, indentation);
|
|
3896
3896
|
res2 += tmp2 !== void 0 ? tmp2 : "null";
|
|
3897
|
-
res2 +=
|
|
3897
|
+
res2 += join11;
|
|
3898
3898
|
}
|
|
3899
3899
|
const tmp = stringifyIndent(String(i), value[i], stack, spacer, indentation);
|
|
3900
3900
|
res2 += tmp !== void 0 ? tmp : "null";
|
|
3901
3901
|
if (value.length - 1 > maximumBreadth) {
|
|
3902
3902
|
const removedKeys = value.length - maximumBreadth - 1;
|
|
3903
|
-
res2 += `${
|
|
3903
|
+
res2 += `${join11}"... ${getItemCount(removedKeys)} not stringified"`;
|
|
3904
3904
|
}
|
|
3905
3905
|
res2 += `
|
|
3906
3906
|
${originalIndentation}`;
|
|
@@ -3916,33 +3916,33 @@ ${originalIndentation}`;
|
|
|
3916
3916
|
return '"[Object]"';
|
|
3917
3917
|
}
|
|
3918
3918
|
indentation += spacer;
|
|
3919
|
-
const
|
|
3919
|
+
const join10 = `,
|
|
3920
3920
|
${indentation}`;
|
|
3921
3921
|
let res = "";
|
|
3922
3922
|
let separator = "";
|
|
3923
3923
|
let maximumPropertiesToStringify = Math.min(keyLength, maximumBreadth);
|
|
3924
3924
|
if (isTypedArrayWithEntries(value)) {
|
|
3925
|
-
res += stringifyTypedArray(value,
|
|
3925
|
+
res += stringifyTypedArray(value, join10, maximumBreadth);
|
|
3926
3926
|
keys = keys.slice(value.length);
|
|
3927
3927
|
maximumPropertiesToStringify -= value.length;
|
|
3928
|
-
separator =
|
|
3928
|
+
separator = join10;
|
|
3929
3929
|
}
|
|
3930
3930
|
if (deterministic) {
|
|
3931
3931
|
keys = sort(keys, comparator);
|
|
3932
3932
|
}
|
|
3933
3933
|
stack.push(value);
|
|
3934
3934
|
for (let i = 0; i < maximumPropertiesToStringify; i++) {
|
|
3935
|
-
const
|
|
3936
|
-
const tmp = stringifyIndent(
|
|
3935
|
+
const key3 = keys[i];
|
|
3936
|
+
const tmp = stringifyIndent(key3, value[key3], stack, spacer, indentation);
|
|
3937
3937
|
if (tmp !== void 0) {
|
|
3938
|
-
res += `${separator}${strEscape(
|
|
3939
|
-
separator =
|
|
3938
|
+
res += `${separator}${strEscape(key3)}: ${tmp}`;
|
|
3939
|
+
separator = join10;
|
|
3940
3940
|
}
|
|
3941
3941
|
}
|
|
3942
3942
|
if (keyLength > maximumBreadth) {
|
|
3943
3943
|
const removedKeys = keyLength - maximumBreadth;
|
|
3944
3944
|
res += `${separator}"...": "${getItemCount(removedKeys)} not stringified"`;
|
|
3945
|
-
separator =
|
|
3945
|
+
separator = join10;
|
|
3946
3946
|
}
|
|
3947
3947
|
if (separator !== "") {
|
|
3948
3948
|
res = `
|
|
@@ -3967,7 +3967,7 @@ ${originalIndentation}`;
|
|
|
3967
3967
|
return fail ? fail(value) : void 0;
|
|
3968
3968
|
}
|
|
3969
3969
|
}
|
|
3970
|
-
function stringifySimple(
|
|
3970
|
+
function stringifySimple(key2, value, stack) {
|
|
3971
3971
|
switch (typeof value) {
|
|
3972
3972
|
case "string":
|
|
3973
3973
|
return strEscape(value);
|
|
@@ -3976,9 +3976,9 @@ ${originalIndentation}`;
|
|
|
3976
3976
|
return "null";
|
|
3977
3977
|
}
|
|
3978
3978
|
if (typeof value.toJSON === "function") {
|
|
3979
|
-
value = value.toJSON(
|
|
3979
|
+
value = value.toJSON(key2);
|
|
3980
3980
|
if (typeof value !== "object") {
|
|
3981
|
-
return stringifySimple(
|
|
3981
|
+
return stringifySimple(key2, value, stack);
|
|
3982
3982
|
}
|
|
3983
3983
|
if (value === null) {
|
|
3984
3984
|
return "null";
|
|
@@ -4034,10 +4034,10 @@ ${originalIndentation}`;
|
|
|
4034
4034
|
}
|
|
4035
4035
|
stack.push(value);
|
|
4036
4036
|
for (let i = 0; i < maximumPropertiesToStringify; i++) {
|
|
4037
|
-
const
|
|
4038
|
-
const tmp = stringifySimple(
|
|
4037
|
+
const key3 = keys[i];
|
|
4038
|
+
const tmp = stringifySimple(key3, value[key3], stack);
|
|
4039
4039
|
if (tmp !== void 0) {
|
|
4040
|
-
res += `${separator}${strEscape(
|
|
4040
|
+
res += `${separator}${strEscape(key3)}:${tmp}`;
|
|
4041
4041
|
separator = ",";
|
|
4042
4042
|
}
|
|
4043
4043
|
}
|
|
@@ -4538,7 +4538,7 @@ function readEnvironmentValue(env, name, platform) {
|
|
|
4538
4538
|
if (direct !== void 0 || platform !== "win32") {
|
|
4539
4539
|
return direct;
|
|
4540
4540
|
}
|
|
4541
|
-
return Object.entries(env).find(([
|
|
4541
|
+
return Object.entries(env).find(([key2]) => key2.toLowerCase() === name.toLowerCase())?.[1];
|
|
4542
4542
|
}
|
|
4543
4543
|
async function findOnPath(env, platform) {
|
|
4544
4544
|
const pathApi = platform === "win32" ? win32 : posix;
|
|
@@ -8663,6 +8663,54 @@ var CodexThreadAttachmentService = class {
|
|
|
8663
8663
|
this.store.dispose();
|
|
8664
8664
|
}
|
|
8665
8665
|
};
|
|
8666
|
+
function key(value) {
|
|
8667
|
+
return createHash("sha256").update(value).digest("hex");
|
|
8668
|
+
}
|
|
8669
|
+
var ForkTaskRegistry = class {
|
|
8670
|
+
constructor(directory) {
|
|
8671
|
+
this.directory = directory;
|
|
8672
|
+
}
|
|
8673
|
+
directory;
|
|
8674
|
+
async record(projectId, taskId) {
|
|
8675
|
+
const directory = join(this.directory, key(projectId));
|
|
8676
|
+
await mkdir(directory, { recursive: true });
|
|
8677
|
+
const temporary = join(directory, `${key(taskId)}.${randomUUID()}.tmp`);
|
|
8678
|
+
try {
|
|
8679
|
+
await writeFile(temporary, taskId, { flag: "wx" });
|
|
8680
|
+
await rename(temporary, join(directory, key(taskId)));
|
|
8681
|
+
} finally {
|
|
8682
|
+
await rm(temporary, { force: true });
|
|
8683
|
+
}
|
|
8684
|
+
}
|
|
8685
|
+
async list(projectId) {
|
|
8686
|
+
const directory = join(this.directory, key(projectId));
|
|
8687
|
+
let filenames;
|
|
8688
|
+
try {
|
|
8689
|
+
filenames = await readdir(directory);
|
|
8690
|
+
} catch (error) {
|
|
8691
|
+
if (isMissing(error)) return [];
|
|
8692
|
+
throw error;
|
|
8693
|
+
}
|
|
8694
|
+
const taskIds = [];
|
|
8695
|
+
for (const filename of filenames) {
|
|
8696
|
+
if (!/^[a-f0-9]{64}$/u.test(filename)) continue;
|
|
8697
|
+
const taskId = await readFile(join(directory, filename), "utf8").catch((error) => {
|
|
8698
|
+
if (isMissing(error)) return void 0;
|
|
8699
|
+
throw error;
|
|
8700
|
+
});
|
|
8701
|
+
if (taskId !== void 0 && taskId.length <= 256 && key(taskId) === filename) {
|
|
8702
|
+
taskIds.push(taskId);
|
|
8703
|
+
}
|
|
8704
|
+
}
|
|
8705
|
+
return taskIds;
|
|
8706
|
+
}
|
|
8707
|
+
async forget(projectId, taskId) {
|
|
8708
|
+
await rm(join(this.directory, key(projectId), key(taskId)), { force: true });
|
|
8709
|
+
}
|
|
8710
|
+
};
|
|
8711
|
+
function isMissing(error) {
|
|
8712
|
+
return error !== null && typeof error === "object" && "code" in error && error.code === "ENOENT";
|
|
8713
|
+
}
|
|
8666
8714
|
|
|
8667
8715
|
// packages/provider-codex/src/pending-request-lifecycle.ts
|
|
8668
8716
|
var MAX_TERMINAL_PENDING_REQUESTS = 1e3;
|
|
@@ -9099,16 +9147,16 @@ var MessageIdentityRegistry = class {
|
|
|
9099
9147
|
#textSize = 0;
|
|
9100
9148
|
#order = 0;
|
|
9101
9149
|
turn(taskId, turnId) {
|
|
9102
|
-
const
|
|
9103
|
-
const value = this.#turns.get(
|
|
9150
|
+
const key2 = JSON.stringify([taskId, turnId]);
|
|
9151
|
+
const value = this.#turns.get(key2) ?? {
|
|
9104
9152
|
taskId,
|
|
9105
9153
|
entries: /* @__PURE__ */ new Map(),
|
|
9106
9154
|
running: false
|
|
9107
9155
|
};
|
|
9108
|
-
this.#turns.delete(
|
|
9109
|
-
this.#turns.set(
|
|
9156
|
+
this.#turns.delete(key2);
|
|
9157
|
+
this.#turns.set(key2, value);
|
|
9110
9158
|
if (this.#turns.size > MAX_TURNS) {
|
|
9111
|
-
const oldest = [...this.#turns].find(([candidateKey, turn]) => candidateKey !==
|
|
9159
|
+
const oldest = [...this.#turns].find(([candidateKey, turn]) => candidateKey !== key2 && !turn.running) ?? this.#turns.entries().next().value;
|
|
9112
9160
|
if (oldest !== void 0) {
|
|
9113
9161
|
this.release(oldest[1]);
|
|
9114
9162
|
this.#turns.delete(oldest[0]);
|
|
@@ -9277,10 +9325,10 @@ var MessageIdentityRegistry = class {
|
|
|
9277
9325
|
for (const entry of turn.entries.values()) this.#textSize -= entry.message.text.length;
|
|
9278
9326
|
}
|
|
9279
9327
|
clearTask(taskId) {
|
|
9280
|
-
for (const [
|
|
9328
|
+
for (const [key2, turn] of this.#turns)
|
|
9281
9329
|
if (turn.taskId === taskId) {
|
|
9282
9330
|
this.release(turn);
|
|
9283
|
-
this.#turns.delete(
|
|
9331
|
+
this.#turns.delete(key2);
|
|
9284
9332
|
}
|
|
9285
9333
|
}
|
|
9286
9334
|
clear() {
|
|
@@ -9296,20 +9344,20 @@ var RealtimeSkillMessages = class {
|
|
|
9296
9344
|
key(taskId, turnId) {
|
|
9297
9345
|
return JSON.stringify([taskId, turnId]);
|
|
9298
9346
|
}
|
|
9299
|
-
remove(
|
|
9300
|
-
this.#size -= this.#tails.get(
|
|
9301
|
-
this.#tails.delete(
|
|
9347
|
+
remove(key2) {
|
|
9348
|
+
this.#size -= this.#tails.get(key2)?.size ?? 0;
|
|
9349
|
+
this.#tails.delete(key2);
|
|
9302
9350
|
}
|
|
9303
9351
|
remember(taskId, turnId, item) {
|
|
9304
|
-
const
|
|
9305
|
-
this.remove(
|
|
9352
|
+
const key2 = this.key(taskId, turnId);
|
|
9353
|
+
this.remove(key2);
|
|
9306
9354
|
let retained = item?.type === "message" && item.role === "user" ? item : void 0;
|
|
9307
9355
|
let size = retained === void 0 ? 0 : JSON.stringify(retained).length;
|
|
9308
9356
|
if (size > 65536) {
|
|
9309
9357
|
retained = void 0;
|
|
9310
9358
|
size = 0;
|
|
9311
9359
|
}
|
|
9312
|
-
this.#tails.set(
|
|
9360
|
+
this.#tails.set(key2, { taskId, item: retained, size });
|
|
9313
9361
|
this.#size += size;
|
|
9314
9362
|
while (this.#tails.size > 128 || this.#size > 1048576) {
|
|
9315
9363
|
const oldest = this.#tails.keys().next().value;
|
|
@@ -9347,7 +9395,7 @@ var RealtimeSkillMessages = class {
|
|
|
9347
9395
|
return item === incoming ? event : { ...event, itemId: item.id, payload: { item } };
|
|
9348
9396
|
}
|
|
9349
9397
|
clearTask(taskId) {
|
|
9350
|
-
for (const [
|
|
9398
|
+
for (const [key2, tail] of this.#tails) if (tail.taskId === taskId) this.remove(key2);
|
|
9351
9399
|
}
|
|
9352
9400
|
clear() {
|
|
9353
9401
|
this.#tails.clear();
|
|
@@ -9795,6 +9843,7 @@ var CodexAgentProviderBase = class {
|
|
|
9795
9843
|
eventListeners = /* @__PURE__ */ new Set();
|
|
9796
9844
|
historicalAttachments;
|
|
9797
9845
|
threadAttachments;
|
|
9846
|
+
forkTasks;
|
|
9798
9847
|
logger;
|
|
9799
9848
|
project;
|
|
9800
9849
|
pendingLifecycle;
|
|
@@ -9836,6 +9885,7 @@ var CodexAgentProviderBase = class {
|
|
|
9836
9885
|
constructor(client, project, options = {}) {
|
|
9837
9886
|
this.client = client;
|
|
9838
9887
|
this.threadAttachments = options.attachmentDirectory === void 0 ? void 0 : new CodexThreadAttachmentService(client, options.attachmentDirectory);
|
|
9888
|
+
this.forkTasks = options.forkTaskDirectory === void 0 ? void 0 : new ForkTaskRegistry(options.forkTaskDirectory);
|
|
9839
9889
|
this.historicalAttachments = this.threadAttachments?.store ?? new CodexHistoricalAttachmentStore();
|
|
9840
9890
|
this.taskTitles = options.taskTitles;
|
|
9841
9891
|
this.logger = options.logger ?? DEFAULT_PROVIDER_LOGGER;
|
|
@@ -9901,6 +9951,7 @@ var CodexAgentProviderBase = class {
|
|
|
9901
9951
|
async deleteTask(taskId) {
|
|
9902
9952
|
this.assertKnownProjectTask(taskId);
|
|
9903
9953
|
await deleteCodexTask(this.client, taskId);
|
|
9954
|
+
await this.forkTasks?.forget(this.project.id, taskId);
|
|
9904
9955
|
this.threadAttachments?.deleteTask(taskId);
|
|
9905
9956
|
this.clearTaskRuntimeState(taskId);
|
|
9906
9957
|
}
|
|
@@ -9934,10 +9985,23 @@ var CodexAgentProviderBase = class {
|
|
|
9934
9985
|
}),
|
|
9935
9986
|
"thread/fork response"
|
|
9936
9987
|
);
|
|
9937
|
-
|
|
9938
|
-
|
|
9939
|
-
|
|
9940
|
-
|
|
9988
|
+
let thread = expectRecord(response["thread"], "thread/fork thread");
|
|
9989
|
+
if (this.project.kind === "project" && thread["projectId"] === null) {
|
|
9990
|
+
const forkId = expectString(thread["id"], "thread/fork thread id");
|
|
9991
|
+
const assignment = expectRecord(
|
|
9992
|
+
await this.client.request("thread/metadata/update", {
|
|
9993
|
+
projectId: this.project.id,
|
|
9994
|
+
threadId: forkId
|
|
9995
|
+
}),
|
|
9996
|
+
"thread/metadata/update response"
|
|
9997
|
+
);
|
|
9998
|
+
thread = expectRecord(assignment["thread"], "thread/metadata/update thread");
|
|
9999
|
+
if (thread["id"] !== forkId) {
|
|
10000
|
+
throw new CodexProtocolMappingError("thread/metadata/update returned a different thread");
|
|
10001
|
+
}
|
|
10002
|
+
}
|
|
10003
|
+
const task = await mapAgentTask(thread, this.project);
|
|
10004
|
+
await this.forkTasks?.record(this.project.id, task.id);
|
|
9941
10005
|
this.runtime.projectTaskIds.add(task.id);
|
|
9942
10006
|
this.runtime.resumedTaskIds.add(task.id);
|
|
9943
10007
|
this.runtime.unmaterializedTasks.set(task.id, task);
|
|
@@ -9945,14 +10009,14 @@ var CodexAgentProviderBase = class {
|
|
|
9945
10009
|
}
|
|
9946
10010
|
async renameTask(taskId, title) {
|
|
9947
10011
|
this.assertKnownProjectTask(taskId);
|
|
9948
|
-
const
|
|
10012
|
+
const rename4 = async () => {
|
|
9949
10013
|
expectRecord(
|
|
9950
10014
|
await this.client.request("thread/name/set", { name: title, threadId: taskId }),
|
|
9951
10015
|
"thread/name/set response"
|
|
9952
10016
|
);
|
|
9953
10017
|
};
|
|
9954
|
-
if (this.taskTitles === void 0) await
|
|
9955
|
-
else await this.taskTitles.mutate(taskId,
|
|
10018
|
+
if (this.taskTitles === void 0) await rename4();
|
|
10019
|
+
else await this.taskTitles.mutate(taskId, rename4);
|
|
9956
10020
|
}
|
|
9957
10021
|
async pinTask(taskId, pinned) {
|
|
9958
10022
|
this.assertKnownProjectTask(taskId);
|
|
@@ -10069,6 +10133,60 @@ var CodexAgentProviderBase = class {
|
|
|
10069
10133
|
};
|
|
10070
10134
|
}
|
|
10071
10135
|
};
|
|
10136
|
+
|
|
10137
|
+
// packages/provider-codex/src/fork-task-restoration.ts
|
|
10138
|
+
async function restoreUnlistedForks(client, registry, project, runtime, nativeTasks, input) {
|
|
10139
|
+
for (const task of nativeTasks) {
|
|
10140
|
+
runtime.projectTaskIds.add(task.id);
|
|
10141
|
+
runtime.unmaterializedTasks.delete(task.id);
|
|
10142
|
+
}
|
|
10143
|
+
if (registry === void 0 || input.cursor !== void 0 || input.archived === true || input.searchTerm !== void 0) {
|
|
10144
|
+
return;
|
|
10145
|
+
}
|
|
10146
|
+
const nativeIds = new Set(nativeTasks.map((task) => task.id));
|
|
10147
|
+
for (const taskId of await registry.list(project.id)) {
|
|
10148
|
+
if (nativeIds.has(taskId)) {
|
|
10149
|
+
await registry.forget(project.id, taskId);
|
|
10150
|
+
continue;
|
|
10151
|
+
}
|
|
10152
|
+
let response;
|
|
10153
|
+
try {
|
|
10154
|
+
response = expectRecord(
|
|
10155
|
+
await client.request("thread/read", { includeTurns: false, threadId: taskId }),
|
|
10156
|
+
"thread/read response"
|
|
10157
|
+
);
|
|
10158
|
+
} catch (error) {
|
|
10159
|
+
if (!isThreadNotLoadedError(error) && !isBackgroundTerminalThreadMissingError(error)) {
|
|
10160
|
+
throw error;
|
|
10161
|
+
}
|
|
10162
|
+
await registry.forget(project.id, taskId);
|
|
10163
|
+
runtime.unmaterializedTasks.delete(taskId);
|
|
10164
|
+
continue;
|
|
10165
|
+
}
|
|
10166
|
+
const thread = expectRecord(response["thread"], "thread/read thread");
|
|
10167
|
+
if (thread["id"] !== taskId || !isProjectThread(thread, project)) {
|
|
10168
|
+
await registry.forget(project.id, taskId);
|
|
10169
|
+
runtime.unmaterializedTasks.delete(taskId);
|
|
10170
|
+
continue;
|
|
10171
|
+
}
|
|
10172
|
+
const path = thread["path"];
|
|
10173
|
+
if (typeof path === "string" && /[/\\]archived_sessions[/\\]/u.test(path)) {
|
|
10174
|
+
runtime.unmaterializedTasks.delete(taskId);
|
|
10175
|
+
continue;
|
|
10176
|
+
}
|
|
10177
|
+
const task = await mapAgentTask(thread, project);
|
|
10178
|
+
runtime.projectTaskIds.add(task.id);
|
|
10179
|
+
runtime.unmaterializedTasks.set(task.id, task);
|
|
10180
|
+
}
|
|
10181
|
+
}
|
|
10182
|
+
function pendingLocalTasks(runtime, input) {
|
|
10183
|
+
if (input.cursor !== void 0 || input.archived === true || input.searchTerm !== void 0) {
|
|
10184
|
+
return [];
|
|
10185
|
+
}
|
|
10186
|
+
return [...runtime.unmaterializedTasks.values()].toSorted(
|
|
10187
|
+
(leftTask, rightTask) => rightTask.updatedAt.localeCompare(leftTask.updatedAt)
|
|
10188
|
+
);
|
|
10189
|
+
}
|
|
10072
10190
|
var FILE_PLACEHOLDER_PREFIX = "codexly-file:";
|
|
10073
10191
|
function createCodexFileTextInput(file) {
|
|
10074
10192
|
const placeholder = `${FILE_PLACEHOLDER_PREFIX}${Buffer$1.from(
|
|
@@ -10620,14 +10738,15 @@ var CodexAgentProviderTurns = class extends CodexAgentProviderQueue {
|
|
|
10620
10738
|
(thread) => mapAgentTask(expectRecord(thread, "Codex thread"), this.project)
|
|
10621
10739
|
)
|
|
10622
10740
|
);
|
|
10623
|
-
|
|
10624
|
-
this.
|
|
10625
|
-
this.
|
|
10626
|
-
|
|
10627
|
-
|
|
10628
|
-
|
|
10629
|
-
|
|
10630
|
-
|
|
10741
|
+
await restoreUnlistedForks(
|
|
10742
|
+
this.client,
|
|
10743
|
+
this.forkTasks,
|
|
10744
|
+
this.project,
|
|
10745
|
+
this.runtime,
|
|
10746
|
+
nativeTasks,
|
|
10747
|
+
input
|
|
10748
|
+
);
|
|
10749
|
+
const data = [...pendingLocalTasks(this.runtime, input), ...nativeTasks];
|
|
10631
10750
|
return { data, nextCursor: nextCursor ?? null };
|
|
10632
10751
|
}
|
|
10633
10752
|
async listCompletedTasks(input) {
|
|
@@ -11748,10 +11867,10 @@ var fields = {
|
|
|
11748
11867
|
fastMode: "service_tier"
|
|
11749
11868
|
};
|
|
11750
11869
|
async function writeRuntimeDefaultSettings(client, settings) {
|
|
11751
|
-
const edits = Object.keys(fields).filter((
|
|
11752
|
-
keyPath: fields[
|
|
11870
|
+
const edits = Object.keys(fields).filter((key2) => settings[key2] !== void 0).map((key2) => ({
|
|
11871
|
+
keyPath: fields[key2],
|
|
11753
11872
|
// default 显式关闭快速档位;不删除键,避免重新继承模型的默认档位。
|
|
11754
|
-
value:
|
|
11873
|
+
value: key2 === "fastMode" ? settings.fastMode ? "priority" : "default" : settings[key2],
|
|
11755
11874
|
mergeStrategy: "replace"
|
|
11756
11875
|
}));
|
|
11757
11876
|
if (edits.length === 0) return;
|
|
@@ -11783,7 +11902,7 @@ function optionalApprovalPolicy(value) {
|
|
|
11783
11902
|
"sandbox_approval",
|
|
11784
11903
|
"skill_approval"
|
|
11785
11904
|
]);
|
|
11786
|
-
if (Object.keys(fields2).some((
|
|
11905
|
+
if (Object.keys(fields2).some((key2) => !knownFields.has(key2)) || typeof fields2["mcp_elicitations"] !== "boolean" || typeof fields2["rules"] !== "boolean" || typeof fields2["sandbox_approval"] !== "boolean" || fields2["request_permissions"] !== void 0 && typeof fields2["request_permissions"] !== "boolean" || fields2["skill_approval"] !== void 0 && typeof fields2["skill_approval"] !== "boolean") {
|
|
11787
11906
|
return void 0;
|
|
11788
11907
|
}
|
|
11789
11908
|
return {
|
|
@@ -11872,8 +11991,8 @@ async function readConfig(client) {
|
|
|
11872
11991
|
);
|
|
11873
11992
|
return expectRecord(response["config"], "config/read config");
|
|
11874
11993
|
}
|
|
11875
|
-
function section(config,
|
|
11876
|
-
return config[
|
|
11994
|
+
function section(config, key2) {
|
|
11995
|
+
return config[key2] === void 0 ? {} : expectRecord(config[key2], key2);
|
|
11877
11996
|
}
|
|
11878
11997
|
var edit = (keyPath, value) => ({ keyPath, value, mergeStrategy: "replace" });
|
|
11879
11998
|
async function readMemorySettings(client) {
|
|
@@ -11888,8 +12007,8 @@ async function readMemorySettings(client) {
|
|
|
11888
12007
|
async function updateMemorySettings(client, update) {
|
|
11889
12008
|
const edits = [];
|
|
11890
12009
|
if (update.enabled !== void 0)
|
|
11891
|
-
for (const
|
|
11892
|
-
edits.push(edit(
|
|
12010
|
+
for (const key2 of ["features.memories", "memories.generate_memories", "memories.use_memories"])
|
|
12011
|
+
edits.push(edit(key2, update.enabled));
|
|
11893
12012
|
if (update.allowExternalContext !== void 0) {
|
|
11894
12013
|
edits.push(edit("memories.no_memories_if_mcp_or_web_search", null));
|
|
11895
12014
|
edits.push(edit("memories.disable_on_external_context", !update.allowExternalContext));
|
|
@@ -13616,6 +13735,7 @@ var CodexRuntimeProvider = class {
|
|
|
13616
13735
|
search;
|
|
13617
13736
|
#client;
|
|
13618
13737
|
#attachmentDirectory;
|
|
13738
|
+
#forkTaskDirectory;
|
|
13619
13739
|
#taskTitles;
|
|
13620
13740
|
#logger;
|
|
13621
13741
|
#gitMetadataWatch;
|
|
@@ -13630,6 +13750,7 @@ var CodexRuntimeProvider = class {
|
|
|
13630
13750
|
this.#client = client;
|
|
13631
13751
|
const codexHome = options.codexHome ?? process.env["CODEX_HOME"] ?? resolve(homedir(), ".codex");
|
|
13632
13752
|
this.#attachmentDirectory = join(codexHome, "codexly", "thread-attachments");
|
|
13753
|
+
this.#forkTaskDirectory = join(codexHome, "codexly", "fork-tasks");
|
|
13633
13754
|
this.#taskTitles = options.readTaskTitleModel === void 0 ? void 0 : new CodexTaskTitles(client, options.readTaskTitleModel, logger);
|
|
13634
13755
|
const instructions = createGlobalInstructionsStore(codexHome);
|
|
13635
13756
|
this.personalization = {
|
|
@@ -13742,6 +13863,7 @@ var CodexRuntimeProvider = class {
|
|
|
13742
13863
|
}
|
|
13743
13864
|
const rawProvider = new CodexAgentProvider(this.#client, project, {
|
|
13744
13865
|
attachmentDirectory: this.#attachmentDirectory,
|
|
13866
|
+
forkTaskDirectory: this.#forkTaskDirectory,
|
|
13745
13867
|
logger: this.#logger,
|
|
13746
13868
|
...this.#taskTitles === void 0 ? {} : { taskTitles: this.#taskTitles },
|
|
13747
13869
|
subscribeRpc: false
|
|
@@ -14171,8 +14293,8 @@ function mapProjectRoot(value, index) {
|
|
|
14171
14293
|
}
|
|
14172
14294
|
function validateMetadata(value) {
|
|
14173
14295
|
const metadata = expectRecord(value, "Codex project metadata");
|
|
14174
|
-
for (const [
|
|
14175
|
-
expectString(entry, `Codex project metadata ${
|
|
14296
|
+
for (const [key2, entry] of Object.entries(metadata)) {
|
|
14297
|
+
expectString(entry, `Codex project metadata ${key2}`);
|
|
14176
14298
|
}
|
|
14177
14299
|
}
|
|
14178
14300
|
function mapCodexProject(value) {
|
|
@@ -15125,17 +15247,17 @@ function parseRecord(value, label) {
|
|
|
15125
15247
|
}
|
|
15126
15248
|
return value;
|
|
15127
15249
|
}
|
|
15128
|
-
function readOptionalString(record,
|
|
15129
|
-
const value = record[
|
|
15250
|
+
function readOptionalString(record, key2) {
|
|
15251
|
+
const value = record[key2];
|
|
15130
15252
|
if (value === void 0 || value === null) return void 0;
|
|
15131
|
-
if (typeof value !== "string") throw new Error(`Pet ${
|
|
15253
|
+
if (typeof value !== "string") throw new Error(`Pet ${key2} must be a string`);
|
|
15132
15254
|
const normalized = value.trim();
|
|
15133
15255
|
return normalized.length === 0 ? void 0 : normalized;
|
|
15134
15256
|
}
|
|
15135
|
-
function readPositiveInteger(record,
|
|
15136
|
-
const value = record[
|
|
15257
|
+
function readPositiveInteger(record, key2) {
|
|
15258
|
+
const value = record[key2];
|
|
15137
15259
|
if (!Number.isInteger(value) || Number(value) <= 0) {
|
|
15138
|
-
throw new Error(`Pet frame ${
|
|
15260
|
+
throw new Error(`Pet frame ${key2} must be a positive integer`);
|
|
15139
15261
|
}
|
|
15140
15262
|
return Number(value);
|
|
15141
15263
|
}
|