@bryanhu/codexly 0.37.1 → 0.38.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 +30 -17
- package/README.md +6 -45
- package/README.zh-CN.md +6 -45
- package/dist/chunk-4RQ7HLCK.js +3 -0
- package/dist/chunk-GMNBWGMQ.js +5 -0
- package/dist/{chunk-PQPYP3AR.js → chunk-LGFUYNXR.js} +1 -1
- package/dist/{chunk-5AELLXXE.js → chunk-RWMSDM4X.js} +1 -1
- package/dist/{chunk-PFNMH4LN.js → chunk-SNN2J7BU.js} +187 -170
- package/dist/chunk-YCHIPWV2.js +40 -0
- package/dist/cli.js +5 -5
- package/dist/client/index.js +1 -1
- package/dist/{command-R5BTONU5.js → command-2D66UEBJ.js} +1 -1
- package/dist/core/index.js +1 -1
- package/dist/protocol/index.js +1 -1
- package/dist/providers/codex/index.js +1 -1
- package/dist/server/index.js +1 -1
- package/dist/sqlite-state-worker.js +22 -18
- package/dist/web/.vite/manifest.json +122 -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-CRNaBDDS.js → agent-settings-panel-C9S0LXqi.js} +1 -1
- package/dist/web/assets/agent-settings-panel-C9S0LXqi.js.br +0 -0
- package/dist/web/assets/agent-settings-panel-C9S0LXqi.js.gz +0 -0
- package/dist/web/assets/app-update-dialog-BsIh1VPg.js +1 -0
- package/dist/web/assets/app-update-dialog-BsIh1VPg.js.br +0 -0
- package/dist/web/assets/app-update-dialog-BsIh1VPg.js.gz +0 -0
- package/dist/web/assets/{background-image-picker-glORbeMR.js → background-image-picker-B1xDUft3.js} +1 -1
- package/dist/web/assets/background-image-picker-B1xDUft3.js.br +0 -0
- package/dist/web/assets/background-image-picker-B1xDUft3.js.gz +0 -0
- package/dist/web/assets/{code-highlighter-Cg1b4nzi.js → code-highlighter-kiC_chgH.js} +1 -1
- package/dist/web/assets/code-highlighter-kiC_chgH.js.br +0 -0
- package/dist/web/assets/code-highlighter-kiC_chgH.js.gz +0 -0
- package/dist/web/assets/{commit-settings-panel-C-ALJcjd.js → commit-settings-panel-Cdtyux2J.js} +1 -1
- package/dist/web/assets/commit-settings-panel-Cdtyux2J.js.br +0 -0
- package/dist/web/assets/commit-settings-panel-Cdtyux2J.js.gz +0 -0
- package/dist/web/assets/file-review-dialog-DaGgZASG.js +2 -0
- package/dist/web/assets/file-review-dialog-DaGgZASG.js.br +0 -0
- package/dist/web/assets/file-review-dialog-DaGgZASG.js.gz +0 -0
- package/dist/web/assets/git-commit-review-Bz8YDy59.js +2 -0
- package/dist/web/assets/git-commit-review-Bz8YDy59.js.br +0 -0
- package/dist/web/assets/git-commit-review-Bz8YDy59.js.gz +0 -0
- package/dist/web/assets/{git-history-panel-BvNkd60B.js → git-history-panel-QBsXgUT7.js} +1 -1
- package/dist/web/assets/git-history-panel-QBsXgUT7.js.br +0 -0
- package/dist/web/assets/git-history-panel-QBsXgUT7.js.gz +0 -0
- package/dist/web/assets/{global-search-dialog-CZnsxRQ7.js → global-search-dialog-DDaHRgce.js} +1 -1
- package/dist/web/assets/global-search-dialog-DDaHRgce.js.br +0 -0
- package/dist/web/assets/global-search-dialog-DDaHRgce.js.gz +0 -0
- package/dist/web/assets/global-settings-about-DpKyx3RM.js +1 -0
- package/dist/web/assets/global-settings-about-DpKyx3RM.js.br +0 -0
- package/dist/web/assets/global-settings-about-DpKyx3RM.js.gz +0 -0
- package/dist/web/assets/{global-settings-page-VbyWoa5s.js → global-settings-page-BEUBn7B5.js} +2 -2
- package/dist/web/assets/global-settings-page-BEUBn7B5.js.br +0 -0
- package/dist/web/assets/global-settings-page-BEUBn7B5.js.gz +0 -0
- package/dist/web/assets/{global-settings-pets-CAXRRfK_.js → global-settings-pets-DBYFpNQk.js} +1 -1
- package/dist/web/assets/global-settings-pets-DBYFpNQk.js.br +0 -0
- package/dist/web/assets/global-settings-pets-DBYFpNQk.js.gz +0 -0
- package/dist/web/assets/{highlighted-body-OFNGDK62-ClNmIb2W.js → highlighted-body-OFNGDK62-CeVKUhHG.js} +1 -1
- package/dist/web/assets/highlighted-body-OFNGDK62-CeVKUhHG.js.br +0 -0
- package/dist/web/assets/highlighted-body-OFNGDK62-CeVKUhHG.js.gz +0 -0
- package/dist/web/assets/{history-task-timeline-bx1YeO4E.js → history-task-timeline-Dl6to6Cp.js} +1 -1
- package/dist/web/assets/history-task-timeline-Dl6to6Cp.js.br +0 -0
- package/dist/web/assets/history-task-timeline-Dl6to6Cp.js.gz +0 -0
- package/dist/web/assets/{image-preview-Cufuk95q.js → image-preview-Bez628xh.js} +2 -2
- package/dist/web/assets/image-preview-Bez628xh.js.br +0 -0
- package/dist/web/assets/image-preview-Bez628xh.js.gz +0 -0
- package/dist/web/assets/{image-preview-content-C9_jCSeW.js → image-preview-content-TkopF2n1.js} +1 -1
- package/dist/web/assets/image-preview-content-TkopF2n1.js.br +0 -0
- package/dist/web/assets/image-preview-content-TkopF2n1.js.gz +0 -0
- package/dist/web/assets/index-CHJSDTYw.css +2 -0
- package/dist/web/assets/index-CHJSDTYw.css.br +0 -0
- package/dist/web/assets/index-CHJSDTYw.css.gz +0 -0
- package/dist/web/assets/index-DobF11m_.js +4 -0
- package/dist/web/assets/index-DobF11m_.js.br +0 -0
- package/dist/web/assets/index-DobF11m_.js.gz +0 -0
- package/dist/web/assets/initial-deps-C-3sxJvc.js +2 -0
- package/dist/web/assets/initial-deps-C-3sxJvc.js.br +0 -0
- package/dist/web/assets/initial-deps-C-3sxJvc.js.gz +0 -0
- package/dist/web/assets/{installed-skills-pane-B0a8IOZ0.js → installed-skills-pane-yCfl2E4Z.js} +1 -1
- package/dist/web/assets/installed-skills-pane-yCfl2E4Z.js.br +0 -0
- package/dist/web/assets/installed-skills-pane-yCfl2E4Z.js.gz +0 -0
- package/dist/web/assets/markdown-DVABVVc2.js +1 -0
- package/dist/web/assets/markdown-DVABVVc2.js.br +0 -0
- package/dist/web/assets/markdown-DVABVVc2.js.gz +0 -0
- package/dist/web/assets/{mcp-management-pane-BaRHPwX2.js → mcp-management-pane-D4fhknd1.js} +1 -1
- package/dist/web/assets/mcp-management-pane-D4fhknd1.js.br +0 -0
- package/dist/web/assets/mcp-management-pane-D4fhknd1.js.gz +0 -0
- package/dist/web/assets/mdx-BLuqtYwj.js +1 -0
- package/dist/web/assets/mdx-BLuqtYwj.js.br +0 -0
- package/dist/web/assets/mdx-BLuqtYwj.js.gz +0 -0
- package/dist/web/assets/mermaid-GHXKKRXX-BL0SiEsb.js +1 -0
- package/dist/web/assets/mermaid-GHXKKRXX-BL0SiEsb.js.br +1 -0
- package/dist/web/assets/mermaid-GHXKKRXX-BL0SiEsb.js.gz +0 -0
- package/dist/web/assets/{message-assistant-directive-CaNrh5lx.js → message-assistant-directive-r0UOX93m.js} +1 -1
- package/dist/web/assets/message-assistant-directive-r0UOX93m.js.br +0 -0
- package/dist/web/assets/message-assistant-directive-r0UOX93m.js.gz +0 -0
- package/dist/web/assets/{message-response-WYZfuphQ.js → message-response-DTlvlBMa.js} +5 -5
- package/dist/web/assets/message-response-DTlvlBMa.js.br +0 -0
- package/dist/web/assets/message-response-DTlvlBMa.js.gz +0 -0
- package/dist/web/assets/{official-plugins-pane-KGXjJvv3.js → official-plugins-pane-CRnpq0MJ.js} +1 -1
- package/dist/web/assets/official-plugins-pane-CRnpq0MJ.js.br +0 -0
- package/dist/web/assets/official-plugins-pane-CRnpq0MJ.js.gz +0 -0
- package/dist/web/assets/{patch-diff-viewer-D_Ts5rez.js → patch-diff-viewer-fv2hVYyb.js} +3 -3
- package/dist/web/assets/patch-diff-viewer-fv2hVYyb.js.br +0 -0
- package/dist/web/assets/patch-diff-viewer-fv2hVYyb.js.gz +0 -0
- package/dist/web/assets/{pdf-preview-D46KssiK.js → pdf-preview-CEvfJiZa.js} +3 -3
- package/dist/web/assets/pdf-preview-CEvfJiZa.js.br +0 -0
- package/dist/web/assets/pdf-preview-CEvfJiZa.js.gz +0 -0
- package/dist/web/assets/{personalization-settings-panel-CllzRqsG.js → personalization-settings-panel-CmNqDQg6.js} +1 -1
- package/dist/web/assets/personalization-settings-panel-CmNqDQg6.js.br +0 -0
- package/dist/web/assets/personalization-settings-panel-CmNqDQg6.js.gz +0 -0
- package/dist/web/assets/{project-file-popup-page-CVnfABUU.js → project-file-popup-page-rkdge4He.js} +1 -1
- package/dist/web/assets/project-file-popup-page-rkdge4He.js.br +0 -0
- package/dist/web/assets/project-file-popup-page-rkdge4He.js.gz +0 -0
- package/dist/web/assets/project-source-panel-Dfdd7hXf.js +2 -0
- package/dist/web/assets/project-source-panel-Dfdd7hXf.js.br +0 -0
- package/dist/web/assets/project-source-panel-Dfdd7hXf.js.gz +0 -0
- package/dist/web/assets/{prompt-input-Ceptl3B-.js → prompt-input-rTS8jFNM.js} +1 -1
- package/dist/web/assets/prompt-input-rTS8jFNM.js.br +0 -0
- package/dist/web/assets/prompt-input-rTS8jFNM.js.gz +0 -0
- package/dist/web/assets/resources-en-DiMZyInt.js +1 -0
- package/dist/web/assets/resources-en-DiMZyInt.js.br +0 -0
- package/dist/web/assets/resources-en-DiMZyInt.js.gz +0 -0
- package/dist/web/assets/{scheduled-task-date-time-picker-CpT4cTpn.js → scheduled-task-date-time-picker-8cWX1p1O.js} +1 -1
- package/dist/web/assets/scheduled-task-date-time-picker-8cWX1p1O.js.br +0 -0
- package/dist/web/assets/scheduled-task-date-time-picker-8cWX1p1O.js.gz +0 -0
- package/dist/web/assets/{scheduled-tasks-container-CRV2di5K.js → scheduled-tasks-container-BA7pSsmC.js} +2 -2
- package/dist/web/assets/scheduled-tasks-container-BA7pSsmC.js.br +0 -0
- package/dist/web/assets/scheduled-tasks-container-BA7pSsmC.js.gz +0 -0
- package/dist/web/assets/scheduled-tasks-container-DrOJ_UbG.css +1 -0
- package/dist/web/assets/scheduled-tasks-container-DrOJ_UbG.css.br +0 -0
- package/dist/web/assets/scheduled-tasks-container-DrOJ_UbG.css.gz +0 -0
- package/dist/web/assets/{shiki-bundle-C942xz2H.js → shiki-bundle-CHd-S0Yk.js} +1 -1
- package/dist/web/assets/shiki-bundle-CHd-S0Yk.js.br +2 -0
- package/dist/web/assets/shiki-bundle-CHd-S0Yk.js.gz +0 -0
- package/dist/web/assets/{skills-market-container--8qzUyrx.js → skills-market-container-BdTREXZb.js} +2 -2
- package/dist/web/assets/skills-market-container-BdTREXZb.js.br +0 -0
- package/dist/web/assets/skills-market-container-BdTREXZb.js.gz +0 -0
- package/dist/web/assets/{split-workspace-menu-content-CAL4JQt9.js → split-workspace-menu-content-DgbECHxu.js} +1 -1
- package/dist/web/assets/split-workspace-menu-content-DgbECHxu.js.br +0 -0
- package/dist/web/assets/split-workspace-menu-content-DgbECHxu.js.gz +0 -0
- package/dist/web/assets/{third-party-marketplace-pane-Can5ly44.js → third-party-marketplace-pane-BPN-3gk1.js} +1 -1
- package/dist/web/assets/third-party-marketplace-pane-BPN-3gk1.js.br +0 -0
- package/dist/web/assets/third-party-marketplace-pane-BPN-3gk1.js.gz +0 -0
- package/dist/web/assets/workbench-inspector-changes-D1rDsafv.js +1 -0
- package/dist/web/assets/workbench-inspector-changes-D1rDsafv.js.br +0 -0
- package/dist/web/assets/workbench-inspector-changes-D1rDsafv.js.gz +0 -0
- package/dist/web/assets/{workbench-pet-canvas-DuBL3mip.js → workbench-pet-canvas-B5jypDil.js} +1 -1
- package/dist/web/assets/workbench-pet-canvas-B5jypDil.js.br +0 -0
- package/dist/web/assets/workbench-pet-canvas-B5jypDil.js.gz +0 -0
- package/dist/web/assets/workbench-shell-B139izuR.js +16 -0
- package/dist/web/assets/workbench-shell-B139izuR.js.br +0 -0
- package/dist/web/assets/workbench-shell-B139izuR.js.gz +0 -0
- package/dist/web/index.html +3 -3
- package/dist/web/index.html.br +0 -0
- package/dist/web/index.html.gz +0 -0
- package/docs/local-catalog.md +51 -0
- package/docs/model-discovery.md +26 -0
- package/package.json +5 -4
- package/dist/chunk-3WW7LK46.js +0 -5
- package/dist/chunk-5ULADQG3.js +0 -40
- package/dist/chunk-63NQMTXZ.js +0 -3
- package/dist/web/assets/agent-settings-panel-CRNaBDDS.js.br +0 -0
- package/dist/web/assets/agent-settings-panel-CRNaBDDS.js.gz +0 -0
- package/dist/web/assets/background-image-picker-glORbeMR.js.br +0 -0
- package/dist/web/assets/background-image-picker-glORbeMR.js.gz +0 -0
- package/dist/web/assets/code-highlighter-Cg1b4nzi.js.br +0 -5
- package/dist/web/assets/code-highlighter-Cg1b4nzi.js.gz +0 -0
- package/dist/web/assets/commit-settings-panel-C-ALJcjd.js.br +0 -0
- package/dist/web/assets/commit-settings-panel-C-ALJcjd.js.gz +0 -0
- package/dist/web/assets/dockerfile-IyjqRm3v.js +0 -1
- package/dist/web/assets/dockerfile-IyjqRm3v.js.br +0 -0
- package/dist/web/assets/dockerfile-IyjqRm3v.js.gz +0 -0
- package/dist/web/assets/file-review-dialog-DNWufkfZ.js +0 -2
- package/dist/web/assets/file-review-dialog-DNWufkfZ.js.br +0 -0
- package/dist/web/assets/file-review-dialog-DNWufkfZ.js.gz +0 -0
- package/dist/web/assets/git-commit-review-B3GGQldl.js +0 -2
- package/dist/web/assets/git-commit-review-B3GGQldl.js.br +0 -0
- package/dist/web/assets/git-commit-review-B3GGQldl.js.gz +0 -0
- package/dist/web/assets/git-history-panel-BvNkd60B.js.br +0 -0
- package/dist/web/assets/git-history-panel-BvNkd60B.js.gz +0 -0
- package/dist/web/assets/global-search-dialog-CZnsxRQ7.js.br +0 -0
- package/dist/web/assets/global-search-dialog-CZnsxRQ7.js.gz +0 -0
- package/dist/web/assets/global-settings-about-CnBVv1BA.js +0 -1
- package/dist/web/assets/global-settings-about-CnBVv1BA.js.br +0 -0
- package/dist/web/assets/global-settings-about-CnBVv1BA.js.gz +0 -0
- package/dist/web/assets/global-settings-page-VbyWoa5s.js.br +0 -0
- package/dist/web/assets/global-settings-page-VbyWoa5s.js.gz +0 -0
- package/dist/web/assets/global-settings-pets-CAXRRfK_.js.br +0 -0
- package/dist/web/assets/global-settings-pets-CAXRRfK_.js.gz +0 -0
- package/dist/web/assets/highlighted-body-OFNGDK62-ClNmIb2W.js.br +0 -0
- package/dist/web/assets/highlighted-body-OFNGDK62-ClNmIb2W.js.gz +0 -0
- package/dist/web/assets/history-task-timeline-bx1YeO4E.js.br +0 -0
- package/dist/web/assets/history-task-timeline-bx1YeO4E.js.gz +0 -0
- package/dist/web/assets/image-preview-Cufuk95q.js.br +0 -0
- package/dist/web/assets/image-preview-Cufuk95q.js.gz +0 -0
- package/dist/web/assets/image-preview-content-C9_jCSeW.js.br +0 -0
- package/dist/web/assets/image-preview-content-C9_jCSeW.js.gz +0 -0
- package/dist/web/assets/index-BJqxQCE6.css +0 -2
- package/dist/web/assets/index-BJqxQCE6.css.br +0 -0
- package/dist/web/assets/index-BJqxQCE6.css.gz +0 -0
- package/dist/web/assets/index-DudvUciK.js +0 -4
- package/dist/web/assets/index-DudvUciK.js.br +0 -0
- package/dist/web/assets/index-DudvUciK.js.gz +0 -0
- package/dist/web/assets/initial-deps-B7SS8XxM.js +0 -2
- package/dist/web/assets/initial-deps-B7SS8XxM.js.br +0 -0
- package/dist/web/assets/initial-deps-B7SS8XxM.js.gz +0 -0
- package/dist/web/assets/installed-skills-pane-B0a8IOZ0.js.br +0 -0
- package/dist/web/assets/installed-skills-pane-B0a8IOZ0.js.gz +0 -0
- package/dist/web/assets/lazy-message-response-Q7-W7qvB.js +0 -2
- package/dist/web/assets/lazy-message-response-Q7-W7qvB.js.br +0 -0
- package/dist/web/assets/lazy-message-response-Q7-W7qvB.js.gz +0 -0
- package/dist/web/assets/markdown-BYOwaDjH.js +0 -1
- package/dist/web/assets/markdown-BYOwaDjH.js.br +0 -0
- package/dist/web/assets/markdown-BYOwaDjH.js.gz +0 -0
- package/dist/web/assets/mcp-management-pane-BaRHPwX2.js.br +0 -0
- package/dist/web/assets/mcp-management-pane-BaRHPwX2.js.gz +0 -0
- package/dist/web/assets/mdx-DQZ5AkYe.js +0 -1
- package/dist/web/assets/mdx-DQZ5AkYe.js.br +0 -0
- package/dist/web/assets/mdx-DQZ5AkYe.js.gz +0 -0
- package/dist/web/assets/mermaid-GHXKKRXX-DywTXJ81.js +0 -1
- package/dist/web/assets/mermaid-GHXKKRXX-DywTXJ81.js.br +0 -0
- package/dist/web/assets/mermaid-GHXKKRXX-DywTXJ81.js.gz +0 -0
- package/dist/web/assets/message-assistant-directive-CaNrh5lx.js.br +0 -0
- package/dist/web/assets/message-assistant-directive-CaNrh5lx.js.gz +0 -0
- package/dist/web/assets/message-response-WYZfuphQ.js.br +0 -0
- package/dist/web/assets/message-response-WYZfuphQ.js.gz +0 -0
- package/dist/web/assets/official-plugins-pane-KGXjJvv3.js.br +0 -0
- package/dist/web/assets/official-plugins-pane-KGXjJvv3.js.gz +0 -0
- package/dist/web/assets/patch-diff-viewer-D_Ts5rez.js.br +0 -0
- package/dist/web/assets/patch-diff-viewer-D_Ts5rez.js.gz +0 -0
- package/dist/web/assets/pdf-preview-D46KssiK.js.br +0 -0
- package/dist/web/assets/pdf-preview-D46KssiK.js.gz +0 -0
- package/dist/web/assets/personalization-settings-panel-CllzRqsG.js.br +0 -0
- package/dist/web/assets/personalization-settings-panel-CllzRqsG.js.gz +0 -0
- package/dist/web/assets/project-file-popup-page-CVnfABUU.js.br +0 -0
- package/dist/web/assets/project-file-popup-page-CVnfABUU.js.gz +0 -0
- package/dist/web/assets/project-source-panel-Dl6nuWfg.js +0 -2
- package/dist/web/assets/project-source-panel-Dl6nuWfg.js.br +0 -0
- package/dist/web/assets/project-source-panel-Dl6nuWfg.js.gz +0 -0
- package/dist/web/assets/prompt-input-Ceptl3B-.js.br +0 -0
- package/dist/web/assets/prompt-input-Ceptl3B-.js.gz +0 -0
- package/dist/web/assets/resources-en-CzuCDOU2.js +0 -1
- package/dist/web/assets/resources-en-CzuCDOU2.js.br +0 -0
- package/dist/web/assets/resources-en-CzuCDOU2.js.gz +0 -0
- package/dist/web/assets/scheduled-task-date-time-picker-CpT4cTpn.js.br +0 -0
- package/dist/web/assets/scheduled-task-date-time-picker-CpT4cTpn.js.gz +0 -0
- package/dist/web/assets/scheduled-tasks-container-CRV2di5K.js.br +0 -0
- package/dist/web/assets/scheduled-tasks-container-CRV2di5K.js.gz +0 -0
- package/dist/web/assets/scheduled-tasks-container-CVGTy7-W.css +0 -1
- package/dist/web/assets/scheduled-tasks-container-CVGTy7-W.css.br +0 -0
- package/dist/web/assets/scheduled-tasks-container-CVGTy7-W.css.gz +0 -0
- package/dist/web/assets/shiki-bundle-C942xz2H.js.br +0 -2
- package/dist/web/assets/shiki-bundle-C942xz2H.js.gz +0 -0
- package/dist/web/assets/skills-market-container--8qzUyrx.js.br +0 -0
- package/dist/web/assets/skills-market-container--8qzUyrx.js.gz +0 -0
- package/dist/web/assets/split-workspace-menu-content-CAL4JQt9.js.br +0 -5
- package/dist/web/assets/split-workspace-menu-content-CAL4JQt9.js.gz +0 -0
- package/dist/web/assets/third-party-marketplace-pane-Can5ly44.js.br +0 -0
- package/dist/web/assets/third-party-marketplace-pane-Can5ly44.js.gz +0 -0
- package/dist/web/assets/workbench-inspector-changes-D2ZiHtIT.js +0 -1
- package/dist/web/assets/workbench-inspector-changes-D2ZiHtIT.js.br +0 -0
- package/dist/web/assets/workbench-inspector-changes-D2ZiHtIT.js.gz +0 -0
- package/dist/web/assets/workbench-pet-canvas-DuBL3mip.js.br +0 -0
- package/dist/web/assets/workbench-pet-canvas-DuBL3mip.js.gz +0 -0
- package/dist/web/assets/workbench-shell-CfN-sr8U.js +0 -16
- package/dist/web/assets/workbench-shell-CfN-sr8U.js.br +0 -0
- package/dist/web/assets/workbench-shell-CfN-sr8U.js.gz +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,29 @@
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.38.0] - 2026-10-16
|
|
8
|
+
|
|
9
|
+
### 新增
|
|
10
|
+
|
|
11
|
+
- Web(含移动端)与桌面端由应用本地仓储统一管理目录、任务、名称、置顶与归档状态;每个目录对应一个磁盘文件夹,首次启动自动迁移旧目录和任务,保留原任务链接与偏好。
|
|
12
|
+
- 两端侧栏发现新版本后可直接打开更新日志并安装更新;桌面端展示下载进度,Web 端复用服务端更新流程。
|
|
13
|
+
|
|
14
|
+
### 优化
|
|
15
|
+
|
|
16
|
+
- 两端保留模型目录声明的原生能力、默认值与未知思考档位;未声明推理能力时隐藏思考强度菜单,避免提交虚构档位;自定义目录地址和同端点能力缓存保持有效。
|
|
17
|
+
- 两端统一选择控件与键盘焦点样式;按项目语言裁剪语法高亮,减少不必要的构建内容。
|
|
18
|
+
|
|
19
|
+
### 修复
|
|
20
|
+
|
|
21
|
+
- 修复旧目录路径规范化异常,保留项目身份与设置;单目录选择替换旧选择,兼容历史多目录项目的迁移与任务归属。
|
|
22
|
+
- 修复桌面端本地目录数据库连接未释放的问题,确保正常关闭应用与清理资源。
|
|
23
|
+
|
|
24
|
+
### 工程
|
|
25
|
+
|
|
26
|
+
- 移除容器构建与镜像发布流程,保留 npm 与各平台桌面安装包的联合发布。
|
|
27
|
+
- 本地 Tauri 打包支持清理构建缓存;补充缓存清理、Windows 路径和原生集成测试,调整普通测试及清理超时以适应冷启动。
|
|
28
|
+
- 同步 Web 与桌面端中英文功能说明、本地目录迁移及模型能力文档。
|
|
29
|
+
|
|
7
30
|
## [0.37.1] - 2026-10-15
|
|
8
31
|
|
|
9
32
|
### 修复
|
|
@@ -18,7 +41,7 @@
|
|
|
18
41
|
|
|
19
42
|
- 为桌面端添加原生调用与权限声明的全量校验,补充会话分页、图片提交和侧栏完成状态的回归覆盖。
|
|
20
43
|
- 修复 Web 浏览器测试中快照请求的拦截范围、桌面侧栏状态测试的路由环境与定位范围,放宽 Windows 测试与 CI 超时,降低环境竞争导致的失败。
|
|
21
|
-
-
|
|
44
|
+
- 同步两端中英文功能说明、会话加载与性能文档。
|
|
22
45
|
|
|
23
46
|
## [0.37.0] - 2026-10-14
|
|
24
47
|
|
|
@@ -42,7 +65,7 @@
|
|
|
42
65
|
|
|
43
66
|
### 工程
|
|
44
67
|
|
|
45
|
-
- 同步两端中英文功能与操作说明、共用 Git
|
|
68
|
+
- 同步两端中英文功能与操作说明、共用 Git 指南;补充 Windows 本机全量验证记录,保留可信终端按键渲染 P95 为 33.7ms、尚未达到 30ms 目标的实测结果。
|
|
46
69
|
- 修复浏览器组件测试的国际化初始化与面板挂载等待、侧栏固定任务的完整列表定位、Windows 原生测试路径及资源采样中的 PID 复用判断,更新 Rust 审计工具与 CI Node.js 配置。
|
|
47
70
|
|
|
48
71
|
## [0.36.0] - 2026-10-13
|
|
@@ -72,7 +95,7 @@
|
|
|
72
95
|
- macOS 正式发布启用 Developer ID 签名、公证、票据装订与产物验证,Modern 和 Legacy 更新清单保持独立。
|
|
73
96
|
- 补充 Git 提交、独立推送、自启动、共享运行时和助手回复解析回归覆盖,记录 Windows 与 Ubuntu 本机全量验证结果。
|
|
74
97
|
- 隔离桌面存储测试的临时目录,避免系统时钟精度不足导致并发用例互相清理文件。
|
|
75
|
-
- 同步两端中英文说明、Git
|
|
98
|
+
- 同步两端中英文说明、Git 操作指南和联合发布步骤。
|
|
76
99
|
|
|
77
100
|
## [0.35.0] - 2026-10-11
|
|
78
101
|
|
|
@@ -99,7 +122,7 @@
|
|
|
99
122
|
### 工程
|
|
100
123
|
|
|
101
124
|
- 补充历史分页、跨设备同步、事件字节预算、附件异步落盘、Markdown 收尾和工作台面板回归覆盖,并同步发布包检查与桌面构建体积预算。
|
|
102
|
-
-
|
|
125
|
+
- 更新两端中英文功能说明、共用长会话与性能文档。
|
|
103
126
|
|
|
104
127
|
## [0.34.1] - 2026-10-10
|
|
105
128
|
|
|
@@ -203,7 +226,6 @@
|
|
|
203
226
|
|
|
204
227
|
- 修复输入框更新后选区被延迟覆盖、空配置章节导致记忆设置默认值错误,以及分页读取多字节 UTF-8 文件时的边界问题。
|
|
205
228
|
- 修复桌面端偏好写入失败后的退出恢复与终端关闭清理。
|
|
206
|
-
- 修复 Docker 依赖层缺少 Workspace 包清单导致镜像构建失败的问题。
|
|
207
229
|
|
|
208
230
|
## [0.29.0] - 2026-09-29
|
|
209
231
|
|
|
@@ -260,7 +282,7 @@
|
|
|
260
282
|
|
|
261
283
|
### 新增
|
|
262
284
|
|
|
263
|
-
- 将 Codexly Web 与 Codexly Desktop 纳入同一仓库,以同一版本标签发布 npm
|
|
285
|
+
- 将 Codexly Web 与 Codexly Desktop 纳入同一仓库,以同一版本标签发布 npm 和桌面安装包;桌面端统一使用 Codexly 产品名称和 `com.codexly.desktop` 应用标识。
|
|
264
286
|
|
|
265
287
|
### 修复
|
|
266
288
|
|
|
@@ -295,7 +317,6 @@
|
|
|
295
317
|
|
|
296
318
|
### 新增
|
|
297
319
|
|
|
298
|
-
- 支持在 Docker 部署中保留宿主工作区绝对路径、挂载全局 Git 配置与 SSH 凭据,便于复用已有项目和访问远程仓库。
|
|
299
320
|
- 持久化 Thread 历史附件元数据与正文,使附件在任务恢复、分叉和服务重启后仍可安全读取。
|
|
300
321
|
|
|
301
322
|
### 优化
|
|
@@ -307,17 +328,8 @@
|
|
|
307
328
|
- 放宽自定义局域网密码对 Shell 特殊字符的限制,并限制局域网客户端调用仅适用于宿主设备的操作。
|
|
308
329
|
- 修复流式 Markdown 强调标记跨片段到达时可能错误渲染的问题。
|
|
309
330
|
|
|
310
|
-
### 工程
|
|
311
|
-
|
|
312
|
-
- 升级 Docker 构建、登录、元数据与多架构模拟相关 GitHub Actions。
|
|
313
|
-
|
|
314
331
|
## [0.23.0] - 2026-09-18
|
|
315
332
|
|
|
316
|
-
### 新增
|
|
317
|
-
|
|
318
|
-
- 添加生产级 Docker 镜像与可独立下载的 Docker Compose 配置,支持自定义工作区、Codex Home、端口、配对密码及会话期限。
|
|
319
|
-
- 扩展发布流程,在 npm 包通过验证后同步发布带 SBOM 和 provenance 的 `linux/amd64`、`linux/arm64` GHCR 镜像。
|
|
320
|
-
|
|
321
333
|
### 修复
|
|
322
334
|
|
|
323
335
|
- 限制项目选择只能落在配置工作区的真实路径内,阻止通过符号链接越过工作区边界。
|
|
@@ -1003,7 +1015,8 @@
|
|
|
1003
1015
|
|
|
1004
1016
|
- 添加最小化 Tauri 权限、依赖供应链审计与 Provider 运行时完整性校验。
|
|
1005
1017
|
|
|
1006
|
-
[Unreleased]: https://github.com/BryanHoo/Codexly/compare/v0.
|
|
1018
|
+
[Unreleased]: https://github.com/BryanHoo/Codexly/compare/v0.38.0...HEAD
|
|
1019
|
+
[0.38.0]: https://github.com/BryanHoo/Codexly/compare/v0.37.1...v0.38.0
|
|
1007
1020
|
[0.37.1]: https://github.com/BryanHoo/Codexly/compare/v0.37.0...v0.37.1
|
|
1008
1021
|
[0.37.0]: https://github.com/BryanHoo/Codexly/compare/v0.36.0...v0.37.0
|
|
1009
1022
|
[0.36.0]: https://github.com/BryanHoo/Codexly/compare/v0.35.0...v0.36.0
|
package/README.md
CHANGED
|
@@ -20,6 +20,8 @@ Codexly keeps coding tasks, conversations, project files, and Git work in one pl
|
|
|
20
20
|
<a href="./LICENSE">License</a>
|
|
21
21
|
</p>
|
|
22
22
|
|
|
23
|
+
Directories and tasks are managed locally by Codexly, with one disk folder per directory. Existing data is imported on first launch; see [local directories and tasks](docs/local-catalog.md).
|
|
24
|
+
|
|
23
25
|
## Get Codexly
|
|
24
26
|
|
|
25
27
|
| Edition | Best for | Get started |
|
|
@@ -54,7 +56,7 @@ Desktop packages are available for Windows 10/11 x64, Ubuntu 24.04+ x64, macOS 1
|
|
|
54
56
|
|
|
55
57
|
**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.
|
|
56
58
|
|
|
57
|
-
**Web** runs a local server and opens in your browser. It supports trusted LAN access from phones and other devices,
|
|
59
|
+
**Web** runs a local server and opens in your browser. It supports trusted LAN access from phones and other devices, 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`.
|
|
58
60
|
|
|
59
61
|
Browsers and devices connected to the same Web server synchronize project todos and asynchronous questions. Reconnecting or returning to a visible page refreshes their state.
|
|
60
62
|
|
|
@@ -79,7 +81,7 @@ Run `codexly --version` to check the installed version, or `codexly <command> --
|
|
|
79
81
|
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.
|
|
80
82
|
|
|
81
83
|
On first launch, sign in with ChatGPT or configure an OpenAI-compatible service that supports the Responses API and `GET /models`.
|
|
82
|
-
Custom providers discover available models
|
|
84
|
+
Custom providers discover available models and preserve declared capabilities and reasoning levels. The reasoning menu stays hidden when the catalog declares no reasoning support. See [models and reasoning effort](docs/model-discovery.md).
|
|
83
85
|
|
|
84
86
|
For regular use, install Codexly globally:
|
|
85
87
|
|
|
@@ -108,50 +110,9 @@ Repeating `enable` updates the same entry with the supplied options. Without `--
|
|
|
108
110
|
|
|
109
111
|
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.
|
|
110
112
|
|
|
111
|
-
## Docker
|
|
112
|
-
|
|
113
|
-
Download the user-facing Compose file and start the published image:
|
|
114
|
-
|
|
115
|
-
```bash
|
|
116
|
-
mkdir codexly && cd codexly
|
|
117
|
-
curl -fsSLO https://raw.githubusercontent.com/BryanHoo/Codexly/main/compose.yaml
|
|
118
|
-
curl -fsSLo .env.example https://raw.githubusercontent.com/BryanHoo/Codexly/main/.env.example
|
|
119
|
-
cp .env.example .env
|
|
120
|
-
docker compose pull
|
|
121
|
-
docker compose up --detach
|
|
122
|
-
docker compose logs --tail=50 codexly
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
Open `http://127.0.0.1:3210` and use the random pairing code printed in the logs. The default named volume preserves Codex login data and Codexly's SQLite state. On Linux and macOS, the Compose file mounts the host root at `/workspace`, so every mounted disk is available to the project picker. Set `CODEXLY_WORKSPACE` to expose only one directory and preserve its absolute path inside the container:
|
|
126
|
-
|
|
127
|
-
```bash
|
|
128
|
-
CODEXLY_WORKSPACE=/path/to/projects docker compose up --detach
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
When binding the host `CODEXLY_CODEX_HOME`, also set `CODEXLY_WORKSPACE` to a common parent of the existing projects. Their absolute paths then remain identical on the host and in the container.
|
|
132
|
-
|
|
133
|
-
The container does not automatically inherit the host Git identity. Set `CODEXLY_GIT_CONFIG` to a global Git config file visible inside the container. With an identity-mapped Linux or macOS workspace, use the absolute path to the host `~/.gitconfig` directly. For SSH remotes, set `CODEXLY_SSH_HOME` to the absolute path of the host `~/.ssh` directory.
|
|
134
|
-
|
|
135
|
-
Docker can only access host paths shared with the Docker engine. On Windows, set `CODEXLY_WORKSPACE` to a shared drive such as `C:/` and set `CODEXLY_WORKSPACE_TARGET=/workspace`. Windows and Linux container paths use different absolute path formats, so a Codex Home containing host project records cannot be reused directly. Add extra bind mounts and repeat `--workspace` in `command` when multiple drives are required.
|
|
136
|
-
|
|
137
|
-
| Variable | Purpose |
|
|
138
|
-
| -------------------------- | ---------------------------------------------------------------------- |
|
|
139
|
-
| `CODEXLY_VERSION` | Select the GHCR image tag; defaults to `latest` |
|
|
140
|
-
| `CODEXLY_PORT` | Set both the host and container port; defaults to `3210` |
|
|
141
|
-
| `CODEXLY_WORKSPACE` | Restrict the workspace and preserve its absolute path; defaults to `/` |
|
|
142
|
-
| `CODEXLY_WORKSPACE_TARGET` | Override the container path; use `/workspace` on Windows |
|
|
143
|
-
| `CODEXLY_GIT_CONFIG` | Select a container-visible global Git config file |
|
|
144
|
-
| `CODEXLY_SSH_HOME` | Mount host SSH config, keys, and `known_hosts` read-only |
|
|
145
|
-
| `CODEXLY_CODEX_HOME` | Bind a host Codex home instead of the managed `codexly-data` volume |
|
|
146
|
-
| `CODEXLY_LAN_PASSWORD` | Set a strong fixed access password instead of the logged random code |
|
|
147
|
-
| `CODEXLY_ALLOWED_HOSTS` | Allow comma-separated exact reverse proxy domains |
|
|
148
|
-
| `CODEXLY_SESSION_TTL` | Set a fixed session lifetime such as `12h` |
|
|
149
|
-
|
|
150
|
-
The image entrypoint accepts all normal CLI arguments, so orchestration platforms can replace `command` when needed. See the [complete Docker Compose deployment guide](docs/docker-deployment.md) for workspace, multiple-disk, Codex Home, update, backup, and troubleshooting instructions. Run `pnpm docker:build && pnpm docker:test` in a development checkout to build and smoke-test the local image.
|
|
151
|
-
|
|
152
113
|
## Using the Web Edition
|
|
153
114
|
|
|
154
|
-
Select **New task** for work that does not need a project. For repository work, add one
|
|
115
|
+
Select **New task** for work that does not need a project. For repository work, add one host folder as the project directory, 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.
|
|
155
116
|
|
|
156
117
|
The Changes toolbar shows the branch, push destination, and incoming/outgoing counts, with remote configuration, branch publishing, fetch, fast-forward pull, and independent push actions. The footer edits the commit message; the main button commits and **More Git actions** offers **Commit and push**. Drafts persist on the current device by project, worktree, and branch; AI generation can be undone. A failed push preserves the local commit for retry. **Publish branch** establishes upstream tracking, and history marks unpushed commits.
|
|
157
118
|
|
|
@@ -185,7 +146,7 @@ Quote passwords containing shell-special characters. LAN mode uses unencrypted H
|
|
|
185
146
|
|
|
186
147
|
Run `codexly doctor` when startup, Codex, or local data checks fail. Use `codexly --help` for all commands, `codexly start --help` or `codexly doctor --help` for command options, and `codexly --version` for the installed version.
|
|
187
148
|
|
|
188
|
-
Interactive startup and **Settings > About** check for new releases. Built-in updates probe the official registry and a mirror in parallel, use the first source that responds successfully, and fall back to the other source on failure. Package downloads and dependency installation reuse the selection for that update and your npm cache. New releases may appear later if the selected mirror is still synchronizing. A global installation can also be updated with:
|
|
149
|
+
Interactive startup and **Settings > About** check for new releases. When the sidebar shows an update, click the version to read its release notes and install it. Built-in updates probe the official registry and a mirror in parallel, use the first source that responds successfully, and fall back to the other source on failure. Package downloads and dependency installation reuse the selection for that update and your npm cache. New releases may appear later if the selected mirror is still synchronizing. A global installation can also be updated with:
|
|
189
150
|
|
|
190
151
|
```bash
|
|
191
152
|
npm install --global @bryanhu/codexly@latest
|
package/README.zh-CN.md
CHANGED
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
Codexly 是本地 AI 编程工作台,提供桌面应用和 Web 版。它将编程任务、对话、项目文件与 Git 操作集中在一处。桌面版适合在本机持续工作;Web 版在本地运行,可通过浏览器从电脑或可信局域网中的移动设备访问。项目文件和 Codex 运行时始终留在运行 Codexly 的电脑上。
|
|
6
6
|
|
|
7
|
+
目录和任务由 Codexly 自行管理,每个目录对应一个磁盘文件夹;旧数据首次启动时自动导入,详见[本地目录与任务](docs/local-catalog.md)。
|
|
8
|
+
|
|
7
9
|
## 获取 Codexly
|
|
8
10
|
|
|
9
11
|
| 版本 | 适用场景 | 开始使用 |
|
|
@@ -34,7 +36,7 @@ Codexly 是本地 AI 编程工作台,提供桌面应用和 Web 版。它将编
|
|
|
34
36
|
|
|
35
37
|
**桌面版**提供原生项目终端、全局快捷键、独立任务窗口、托盘集成和应用私有 Codex 安装。支持 Windows、Ubuntu 和 macOS;在通用设置中可启用登录系统后自动启动。完整功能与更新方式见[桌面版指南](desktop/README.md)。
|
|
36
38
|
|
|
37
|
-
**Web
|
|
39
|
+
**Web 版**在本机运行服务并由浏览器访问,支持手机等设备从可信局域网接入、任务看板、Mermaid 图表和自定义工作台背景。Web 版通过 `@openai/codex` 自带 Codex CLI `0.162.0`;使用 `--codex-bin <path>` 或 `CODEXLY_CODEX_BIN` 指定外部版本时,版本必须满足 `>=0.162.0,<0.163.0`。
|
|
38
40
|
|
|
39
41
|
连接同一 Web 服务的浏览器与设备会同步项目待办和异步问答变更;断线重连或页面恢复可见时刷新状态。
|
|
40
42
|
|
|
@@ -59,7 +61,7 @@ Codexly 会自动打开浏览器。若未打开,请访问终端输出的地址
|
|
|
59
61
|
可以在同一启动目录或同一 Codex Home 下同时运行多个 Web 实例;端口占用时自动递增。启动目录不决定应用内部配置或临时任务目录:临时任务默认使用用户主目录,显式指定 `--workspace` 时使用首个工作区。使用不同的 `--codex-home <目录>` 可隔离数据。
|
|
60
62
|
|
|
61
63
|
首次启动时,使用 ChatGPT 登录,或配置兼容 Responses API 和 `GET /models` 的 OpenAI-compatible 服务。
|
|
62
|
-
自定义 Provider
|
|
64
|
+
自定义 Provider 会发现可用模型,保留目录声明的能力与思考档位;未声明推理能力时隐藏思考强度菜单。详见[模型与思考强度](docs/model-discovery.md)。
|
|
63
65
|
|
|
64
66
|
经常使用时可以全局安装:
|
|
65
67
|
|
|
@@ -94,50 +96,9 @@ codexly autostart disable
|
|
|
94
96
|
|
|
95
97
|
配置位置、环境变量、Linux linger 限制和各系统故障排查见 [Web 登录自启动指南](docs/web-autostart.zh-CN.md)。
|
|
96
98
|
|
|
97
|
-
## Docker 部署
|
|
98
|
-
|
|
99
|
-
下载用户版 Compose 配置并启动已发布镜像:
|
|
100
|
-
|
|
101
|
-
```bash
|
|
102
|
-
mkdir codexly && cd codexly
|
|
103
|
-
curl -fsSLO https://raw.githubusercontent.com/BryanHoo/Codexly/main/compose.yaml
|
|
104
|
-
curl -fsSLo .env.example https://raw.githubusercontent.com/BryanHoo/Codexly/main/.env.example
|
|
105
|
-
cp .env.example .env
|
|
106
|
-
docker compose pull
|
|
107
|
-
docker compose up --detach
|
|
108
|
-
docker compose logs --tail=50 codexly
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
打开 `http://127.0.0.1:3210`,使用日志中的随机配对码。默认命名卷会持久化 Codex 登录数据和 Codexly SQLite 状态。在 Linux 和 macOS 上,Compose 默认把宿主根目录挂载到 `/workspace`,项目选择器可读取所有已挂载磁盘。设置 `CODEXLY_WORKSPACE` 后只暴露指定目录,并在容器中保留其绝对路径:
|
|
112
|
-
|
|
113
|
-
```bash
|
|
114
|
-
CODEXLY_WORKSPACE=/path/to/projects docker compose up --detach
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
绑定宿主 `CODEXLY_CODEX_HOME` 时,应同时把 `CODEXLY_WORKSPACE` 设置为已有项目的公共父目录。Codex 保存的项目绝对路径随后可在宿主和容器中保持一致。
|
|
118
|
-
|
|
119
|
-
容器不会自动继承宿主 Git 身份。将 `CODEXLY_GIT_CONFIG` 设置为容器可见的全局 Git 配置文件;在 Linux 和 macOS 的同路径工作区中可直接填写宿主 `~/.gitconfig` 的绝对路径。使用 SSH 远程时,将 `CODEXLY_SSH_HOME` 设置为宿主 `~/.ssh` 的绝对路径。
|
|
120
|
-
|
|
121
|
-
Docker 只能访问 Docker Engine 已共享的宿主路径。Windows 需将 `CODEXLY_WORKSPACE` 设置为已共享盘符(例如 `C:/`),并设置 `CODEXLY_WORKSPACE_TARGET=/workspace`。Windows 与 Linux 容器的绝对路径格式不同,不能直接复用包含宿主项目记录的 Codex Home;需要多个盘符时,在 Compose 中增加 bind mount,并在 `command` 中重复传入 `--workspace`。
|
|
122
|
-
|
|
123
|
-
| 变量 | 用途 |
|
|
124
|
-
| -------------------------- | --------------------------------------------------- |
|
|
125
|
-
| `CODEXLY_VERSION` | 指定 GHCR 镜像标签,默认 `latest` |
|
|
126
|
-
| `CODEXLY_PORT` | 同时设置宿主与容器端口,默认 `3210` |
|
|
127
|
-
| `CODEXLY_WORKSPACE` | 限制工作区并在容器内保留相同绝对路径,默认 `/` |
|
|
128
|
-
| `CODEXLY_WORKSPACE_TARGET` | 覆盖容器工作区路径,Windows 使用 `/workspace` |
|
|
129
|
-
| `CODEXLY_GIT_CONFIG` | 指定容器可见的全局 Git 配置文件 |
|
|
130
|
-
| `CODEXLY_SSH_HOME` | 只读挂载宿主 SSH 配置、私钥和 `known_hosts` |
|
|
131
|
-
| `CODEXLY_CODEX_HOME` | 绑定宿主 Codex Home,替代默认 `codexly-data` 命名卷 |
|
|
132
|
-
| `CODEXLY_LAN_PASSWORD` | 设置固定强密码,替代日志中生成的随机配对码 |
|
|
133
|
-
| `CODEXLY_ALLOWED_HOSTS` | 设置逗号分隔的反向代理精确域名 |
|
|
134
|
-
| `CODEXLY_SESSION_TTL` | 设置固定会话期限,例如 `12h` |
|
|
135
|
-
|
|
136
|
-
镜像入口支持全部 CLI 参数,编排平台可按需覆盖 `command`。工作区、多磁盘、Codex Home、更新、备份和故障排查参见[完整 Docker Compose 部署指南](docs/docker-deployment.md)。开发仓库可运行 `pnpm docker:build && pnpm docker:test` 构建并冒烟测试本地镜像。
|
|
137
|
-
|
|
138
99
|
## 使用 Web 版
|
|
139
100
|
|
|
140
|
-
|
|
101
|
+
不依赖项目时,直接选择“新建任务”。处理仓库时,先添加一个运行端文件夹作为项目目录,再创建任务,并按需附加文件、图片、项目引用或 Skills 后提交需求。归档的任务可以从项目任务列表中恢复或永久删除。
|
|
141
102
|
|
|
142
103
|
Git 变更面板顶部显示分支、推送目标及待同步数量,提供远端配置、发布分支、获取更新、仅快进拉取与独立推送。底部编辑提交信息,主按钮执行「提交」,「更多 Git 操作」提供「提交并推送」。草稿按项目、worktree 和分支保存在当前设备;AI 生成可撤销,推送失败会保留本地提交并可单独重试。首次推送可通过「发布分支」建立上游,历史中可查看未推送标记。
|
|
143
104
|
|
|
@@ -171,7 +132,7 @@ codexly start --lan
|
|
|
171
132
|
|
|
172
133
|
启动、Codex 或本地数据检查失败时运行 `codexly doctor`。使用 `codexly --help` 查看完整命令,`codexly start --help` 或 `codexly doctor --help` 查看对应选项,`codexly --version` 查看版本。
|
|
173
134
|
|
|
174
|
-
交互式启动和“设置 >
|
|
135
|
+
交互式启动和“设置 > 关于”会检查新版本。侧栏出现更新提示后,点击版本号即可查看更新日志并安装更新。内置更新会并行探测官方源和镜像源,优先使用最先成功响应的源,失败后切换另一个源;同一次更新的包下载和依赖安装复用选源结果及用户的 npm 缓存。若选中的镜像仍在同步,新版本可能稍晚显示。全局安装也可以通过以下命令更新:
|
|
175
136
|
|
|
176
137
|
```bash
|
|
177
138
|
npm install --global @bryanhu/codexly@latest
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import {createRequire}from'node:module';import {d as d$1}from'./chunk-YXJGRSCL.js';createRequire(import.meta.url);
|
|
2
|
+
var V={};d$1(V,{HasPropertyKey:()=>dr,IsArray:()=>k,IsAsyncIterator:()=>dn,IsBigInt:()=>_t,IsBoolean:()=>Ce,IsDate:()=>Je,IsFunction:()=>Sn,IsIterator:()=>fn,IsNull:()=>gn,IsNumber:()=>te,IsObject:()=>R,IsRegExp:()=>Gt,IsString:()=>I,IsSymbol:()=>yn,IsUint8Array:()=>ke,IsUndefined:()=>M});function dr(e,r){return r in e}function dn(e){return R(e)&&!k(e)&&!ke(e)&&Symbol.asyncIterator in e}function k(e){return Array.isArray(e)}function _t(e){return typeof e=="bigint"}function Ce(e){return typeof e=="boolean"}function Je(e){return e instanceof globalThis.Date}function Sn(e){return typeof e=="function"}function fn(e){return R(e)&&!k(e)&&!ke(e)&&Symbol.iterator in e}function gn(e){return e===null}function te(e){return typeof e=="number"}function R(e){return typeof e=="object"&&e!==null}function Gt(e){return e instanceof globalThis.RegExp}function I(e){return typeof e=="string"}function yn(e){return typeof e=="symbol"}function ke(e){return e instanceof globalThis.Uint8Array}function M(e){return e===void 0}function np(e){return e.map(r=>Sr(r))}function op(e){return new Date(e.getTime())}function ip(e){return new Uint8Array(e)}function ap(e){return new RegExp(e.source,e.flags)}function sp(e){let r={};for(let n of Object.getOwnPropertyNames(e))r[n]=Sr(e[n]);for(let n of Object.getOwnPropertySymbols(e))r[n]=Sr(e[n]);return r}function Sr(e){return k(e)?np(e):Je(e)?op(e):ke(e)?ip(e):Gt(e)?ap(e):R(e)?sp(e):e}function T(e){return Sr(e)}function mt(e,r){return T(e)}function iy(e){return qt(e)&&globalThis.Symbol.asyncIterator in e}function ay(e){return qt(e)&&globalThis.Symbol.iterator in e}function sy(e){return qt(e)&&(globalThis.Object.getPrototypeOf(e)===Object.prototype||globalThis.Object.getPrototypeOf(e)===null)}function cy(e){return e instanceof globalThis.Promise}function py(e){return e instanceof Date&&globalThis.Number.isFinite(e.getTime())}function my(e){return e instanceof globalThis.Map}function ly(e){return e instanceof globalThis.Set}function uy(e){return globalThis.ArrayBuffer.isView(e)}function dy(e){return e instanceof globalThis.Uint8Array}function Sy(e,r){return r in e}function qt(e){return e!==null&&typeof e=="object"}function Mo(e){return globalThis.Array.isArray(e)&&!globalThis.ArrayBuffer.isView(e)}function hn(e){return e===void 0}function cp(e){return e===null}function pp(e){return typeof e=="boolean"}function Rn(e){return typeof e=="number"}function fy(e){return globalThis.Number.isInteger(e)}function mp(e){return typeof e=="bigint"}function lp(e){return typeof e=="string"}function gy(e){return typeof e=="function"}function up(e){return typeof e=="symbol"}function yy(e){return mp(e)||pp(e)||cp(e)||Rn(e)||lp(e)||up(e)||hn(e)}var fr;(function(e){e.InstanceMode="default",e.ExactOptionalPropertyTypes=false,e.AllowArrayObject=false,e.AllowNaN=false,e.AllowNullVoid=false;function r(l,C){return e.ExactOptionalPropertyTypes?C in l:l[C]!==void 0}e.IsExactOptionalProperty=r;function n(l){let C=qt(l);return e.AllowArrayObject?C:C&&!Mo(l)}e.IsObjectLike=n;function o(l){return n(l)&&!(l instanceof Date)&&!(l instanceof Uint8Array)}e.IsRecordLike=o;function c(l){return e.AllowNaN?Rn(l):Number.isFinite(l)}e.IsNumberLike=c;function m(l){let C=hn(l);return e.AllowNullVoid?C||l===null:C}e.IsVoidLike=m;})(fr||(fr={}));function dp(e){return globalThis.Object.freeze(e).map(r=>Kt(r))}function Sp(e){let r={};for(let n of Object.getOwnPropertyNames(e))r[n]=Kt(e[n]);for(let n of Object.getOwnPropertySymbols(e))r[n]=Kt(e[n]);return globalThis.Object.freeze(r)}function Kt(e){return k(e)?dp(e):Je(e)?e:ke(e)?e:Gt(e)?e:R(e)?Sp(e):e}function a(e,r){let n=r!==void 0?{...r,...e}:e;switch(fr.InstanceMode){case "freeze":return Kt(n);case "clone":return T(n);default:return n}}var v=class extends Error{constructor(r){super(r);}};var _=Symbol.for("TypeBox.Transform"),ye=Symbol.for("TypeBox.Readonly"),w=Symbol.for("TypeBox.Optional"),ce=Symbol.for("TypeBox.Hint"),p=Symbol.for("TypeBox.Kind");function lt(e){return R(e)&&e[ye]==="Readonly"}function Y(e){return R(e)&&e[w]==="Optional"}function Pn(e){return d(e,"Any")}function xn(e){return d(e,"Argument")}function he(e){return d(e,"Array")}function et(e){return d(e,"AsyncIterator")}function tt(e){return d(e,"BigInt")}function Me(e){return d(e,"Boolean")}function Re(e){return d(e,"Computed")}function Pe(e){return d(e,"Constructor")}function fp(e){return d(e,"Date")}function xe(e){return d(e,"Function")}function Ae(e){return d(e,"Integer")}function U(e){return d(e,"Intersect")}function rt(e){return d(e,"Iterator")}function d(e,r){return R(e)&&p in e&&e[p]===r}function gr(e){return Ce(e)||te(e)||I(e)}function re(e){return d(e,"Literal")}function ne(e){return d(e,"MappedKey")}function j(e){return d(e,"MappedResult")}function Ke(e){return d(e,"Never")}function gp(e){return d(e,"Not")}function vt(e){return d(e,"Null")}function Ie(e){return d(e,"Number")}function N(e){return d(e,"Object")}function nt(e){return d(e,"Promise")}function ot(e){return d(e,"Record")}function F(e){return d(e,"Ref")}function An(e){return d(e,"RegExp")}function Ne(e){return d(e,"String")}function Dt(e){return d(e,"Symbol")}function oe(e){return d(e,"TemplateLiteral")}function yp(e){return d(e,"This")}function ve(e){return R(e)&&_ in e}function ie(e){return d(e,"Tuple")}function wt(e){return d(e,"Undefined")}function S(e){return d(e,"Union")}function hp(e){return d(e,"Uint8Array")}function Rp(e){return d(e,"Unknown")}function Pp(e){return d(e,"Unsafe")}function xp(e){return d(e,"Void")}function Ap(e){return R(e)&&p in e&&I(e[p])}function ae(e){return Pn(e)||xn(e)||he(e)||Me(e)||tt(e)||et(e)||Re(e)||Pe(e)||fp(e)||xe(e)||Ae(e)||U(e)||rt(e)||re(e)||ne(e)||j(e)||Ke(e)||gp(e)||vt(e)||Ie(e)||N(e)||nt(e)||ot(e)||F(e)||An(e)||Ne(e)||Dt(e)||oe(e)||yp(e)||ie(e)||wt(e)||S(e)||hp(e)||Rp(e)||Pp(e)||xp(e)||Ap(e)}var i={};d$1(i,{IsAny:()=>qo,IsArgument:()=>Ko,IsArray:()=>vo,IsAsyncIterator:()=>Do,IsBigInt:()=>wo,IsBoolean:()=>Bo,IsComputed:()=>Vo,IsConstructor:()=>Qo,IsDate:()=>$o,IsFunction:()=>Ho,IsImport:()=>jp,IsInteger:()=>Wo,IsIntersect:()=>Yo,IsIterator:()=>Xo,IsKind:()=>Ai,IsKindOf:()=>u,IsLiteral:()=>Vt,IsLiteralBoolean:()=>Up,IsLiteralNumber:()=>Zo,IsLiteralString:()=>zo,IsLiteralValue:()=>Jo,IsMappedKey:()=>ei,IsMappedResult:()=>ti,IsNever:()=>ri,IsNot:()=>ni,IsNull:()=>oi,IsNumber:()=>ii,IsObject:()=>ai,IsOptional:()=>Tp,IsPromise:()=>si,IsProperties:()=>yr,IsReadonly:()=>bp,IsRecord:()=>ci,IsRecursive:()=>Ep,IsRef:()=>pi,IsRegExp:()=>mi,IsSchema:()=>D,IsString:()=>li,IsSymbol:()=>ui,IsTemplateLiteral:()=>di,IsThis:()=>Si,IsTransform:()=>fi,IsTuple:()=>gi,IsUint8Array:()=>hi,IsUndefined:()=>yi,IsUnion:()=>bn,IsUnionLiteral:()=>Fp,IsUnknown:()=>Ri,IsUnsafe:()=>Pi,IsVoid:()=>xi,TypeGuardUnknownTypeError:()=>In});var In=class extends v{},Ip=["Argument","Any","Array","AsyncIterator","BigInt","Boolean","Computed","Constructor","Date","Enum","Function","Integer","Intersect","Iterator","Literal","MappedKey","MappedResult","Not","Null","Number","Object","Promise","Record","Ref","RegExp","String","Symbol","TemplateLiteral","This","Tuple","Undefined","Union","Uint8Array","Unknown","Void"];function No(e){try{return new RegExp(e),!0}catch{return false}}function Ln(e){if(!I(e))return false;for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);if(n>=7&&n<=13||n===27||n===127)return false}return true}function _o(e){return On(e)||D(e)}function Bt(e){return M(e)||_t(e)}function L(e){return M(e)||te(e)}function On(e){return M(e)||Ce(e)}function P(e){return M(e)||I(e)}function Lp(e){return M(e)||I(e)&&Ln(e)&&No(e)}function Op(e){return M(e)||I(e)&&Ln(e)}function Go(e){return M(e)||D(e)}function bp(e){return R(e)&&e[ye]==="Readonly"}function Tp(e){return R(e)&&e[w]==="Optional"}function qo(e){return u(e,"Any")&&P(e.$id)}function Ko(e){return u(e,"Argument")&&te(e.index)}function vo(e){return u(e,"Array")&&e.type==="array"&&P(e.$id)&&D(e.items)&&L(e.minItems)&&L(e.maxItems)&&On(e.uniqueItems)&&Go(e.contains)&&L(e.minContains)&&L(e.maxContains)}function Do(e){return u(e,"AsyncIterator")&&e.type==="AsyncIterator"&&P(e.$id)&&D(e.items)}function wo(e){return u(e,"BigInt")&&e.type==="bigint"&&P(e.$id)&&Bt(e.exclusiveMaximum)&&Bt(e.exclusiveMinimum)&&Bt(e.maximum)&&Bt(e.minimum)&&Bt(e.multipleOf)}function Bo(e){return u(e,"Boolean")&&e.type==="boolean"&&P(e.$id)}function Vo(e){return u(e,"Computed")&&I(e.target)&&k(e.parameters)&&e.parameters.every(r=>D(r))}function Qo(e){return u(e,"Constructor")&&e.type==="Constructor"&&P(e.$id)&&k(e.parameters)&&e.parameters.every(r=>D(r))&&D(e.returns)}function $o(e){return u(e,"Date")&&e.type==="Date"&&P(e.$id)&&L(e.exclusiveMaximumTimestamp)&&L(e.exclusiveMinimumTimestamp)&&L(e.maximumTimestamp)&&L(e.minimumTimestamp)&&L(e.multipleOfTimestamp)}function Ho(e){return u(e,"Function")&&e.type==="Function"&&P(e.$id)&&k(e.parameters)&&e.parameters.every(r=>D(r))&&D(e.returns)}function jp(e){return u(e,"Import")&&dr(e,"$defs")&&R(e.$defs)&&yr(e.$defs)&&dr(e,"$ref")&&I(e.$ref)&&e.$ref in e.$defs}function Wo(e){return u(e,"Integer")&&e.type==="integer"&&P(e.$id)&&L(e.exclusiveMaximum)&&L(e.exclusiveMinimum)&&L(e.maximum)&&L(e.minimum)&&L(e.multipleOf)}function yr(e){return R(e)&&Object.entries(e).every(([r,n])=>Ln(r)&&D(n))}function Yo(e){return u(e,"Intersect")&&!(I(e.type)&&e.type!=="object")&&k(e.allOf)&&e.allOf.every(r=>D(r)&&!fi(r))&&P(e.type)&&(On(e.unevaluatedProperties)||Go(e.unevaluatedProperties))&&P(e.$id)}function Xo(e){return u(e,"Iterator")&&e.type==="Iterator"&&P(e.$id)&&D(e.items)}function u(e,r){return R(e)&&p in e&&e[p]===r}function zo(e){return Vt(e)&&I(e.const)}function Zo(e){return Vt(e)&&te(e.const)}function Up(e){return Vt(e)&&Ce(e.const)}function Vt(e){return u(e,"Literal")&&P(e.$id)&&Jo(e.const)}function Jo(e){return Ce(e)||te(e)||I(e)}function ei(e){return u(e,"MappedKey")&&k(e.keys)&&e.keys.every(r=>te(r)||I(r))}function ti(e){return u(e,"MappedResult")&&yr(e.properties)}function ri(e){return u(e,"Never")&&R(e.not)&&Object.getOwnPropertyNames(e.not).length===0}function ni(e){return u(e,"Not")&&D(e.not)}function oi(e){return u(e,"Null")&&e.type==="null"&&P(e.$id)}function ii(e){return u(e,"Number")&&e.type==="number"&&P(e.$id)&&L(e.exclusiveMaximum)&&L(e.exclusiveMinimum)&&L(e.maximum)&&L(e.minimum)&&L(e.multipleOf)}function ai(e){return u(e,"Object")&&e.type==="object"&&P(e.$id)&&yr(e.properties)&&_o(e.additionalProperties)&&L(e.minProperties)&&L(e.maxProperties)}function si(e){return u(e,"Promise")&&e.type==="Promise"&&P(e.$id)&&D(e.item)}function ci(e){return u(e,"Record")&&e.type==="object"&&P(e.$id)&&_o(e.additionalProperties)&&R(e.patternProperties)&&(r=>{let n=Object.getOwnPropertyNames(r.patternProperties);return n.length===1&&No(n[0])&&R(r.patternProperties)&&D(r.patternProperties[n[0]])})(e)}function Ep(e){return R(e)&&ce in e&&e[ce]==="Recursive"}function pi(e){return u(e,"Ref")&&P(e.$id)&&I(e.$ref)}function mi(e){return u(e,"RegExp")&&P(e.$id)&&I(e.source)&&I(e.flags)&&L(e.maxLength)&&L(e.minLength)}function li(e){return u(e,"String")&&e.type==="string"&&P(e.$id)&&L(e.minLength)&&L(e.maxLength)&&Lp(e.pattern)&&Op(e.format)}function ui(e){return u(e,"Symbol")&&e.type==="symbol"&&P(e.$id)}function di(e){return u(e,"TemplateLiteral")&&e.type==="string"&&I(e.pattern)&&e.pattern[0]==="^"&&e.pattern[e.pattern.length-1]==="$"}function Si(e){return u(e,"This")&&P(e.$id)&&I(e.$ref)}function fi(e){return R(e)&&_ in e}function gi(e){return u(e,"Tuple")&&e.type==="array"&&P(e.$id)&&te(e.minItems)&&te(e.maxItems)&&e.minItems===e.maxItems&&(M(e.items)&&M(e.additionalItems)&&e.minItems===0||k(e.items)&&e.items.every(r=>D(r)))}function yi(e){return u(e,"Undefined")&&e.type==="undefined"&&P(e.$id)}function Fp(e){return bn(e)&&e.anyOf.every(r=>zo(r)||Zo(r))}function bn(e){return u(e,"Union")&&P(e.$id)&&R(e)&&k(e.anyOf)&&e.anyOf.every(r=>D(r))}function hi(e){return u(e,"Uint8Array")&&e.type==="Uint8Array"&&P(e.$id)&&L(e.minByteLength)&&L(e.maxByteLength)}function Ri(e){return u(e,"Unknown")&&P(e.$id)}function Pi(e){return u(e,"Unsafe")}function xi(e){return u(e,"Void")&&e.type==="void"&&P(e.$id)}function Ai(e){return R(e)&&p in e&&I(e[p])&&!Ip.includes(e[p])}function D(e){return R(e)&&(qo(e)||Ko(e)||vo(e)||Bo(e)||wo(e)||Do(e)||Vo(e)||Qo(e)||$o(e)||Ho(e)||Wo(e)||Yo(e)||Xo(e)||Vt(e)||ei(e)||ti(e)||ri(e)||ni(e)||oi(e)||ii(e)||ai(e)||si(e)||ci(e)||pi(e)||mi(e)||li(e)||ui(e)||di(e)||Si(e)||gi(e)||yi(e)||bn(e)||hi(e)||Ri(e)||Pi(e)||xi(e)||Ai(e))}var Tn="(true|false)",Qt="(0|[1-9][0-9]*)",jn="(.*)",Cp="(?!.*)",De=`^${Qt}$`,we=`^${jn}$`,Ii=`^${Cp}$`;var $t={};d$1($t,{Clear:()=>Mp,Delete:()=>Np,Entries:()=>kp,Get:()=>qp,Has:()=>_p,Set:()=>Gp});var ut=new Map;function kp(){return new Map(ut)}function Mp(){return ut.clear()}function Np(e){return ut.delete(e)}function _p(e){return ut.has(e)}function Gp(e,r){ut.set(e,r);}function qp(e){return ut.get(e)}var Li={};d$1(Li,{Clear:()=>vp,Delete:()=>Dp,Entries:()=>Kp,Get:()=>Vp,Has:()=>wp,Set:()=>Bp});var dt=new Map;function Kp(){return new Map(dt)}function vp(){return dt.clear()}function Dp(e){return dt.delete(e)}function wp(e){return dt.has(e)}function Bp(e,r){dt.set(e,r);}function Vp(e){return dt.get(e)}function Oi(e,r){return e.includes(r)}function bi(e){return [...new Set(e)]}function Qp(e,r){return e.filter(n=>r.includes(n))}function $p(e,r){return e.reduce((n,o)=>Qp(n,o),r)}function Ti(e){return e.length===1?e[0]:e.length>1?$p(e.slice(1),e[0]):[]}function ji(e){let r=[];for(let n of e)r.push(...n);return r}function Be(e){return a({[p]:"Any"},e)}function St(e,r){return a({[p]:"Array",type:"array",items:e},r)}function Ui(e){return a({[p]:"Argument",index:e})}function ft(e,r){return a({[p]:"AsyncIterator",type:"AsyncIterator",items:e},r)}function O(e,r,n){return a({[p]:"Computed",target:e,parameters:r},n)}function Hp(e,r){let{[r]:n,...o}=e;return o}function E(e,r){return r.reduce((n,o)=>Hp(n,o),e)}function f(e){return a({[p]:"Never",not:{}},e)}function g(e){return a({[p]:"MappedResult",properties:e})}function gt(e,r,n){return a({[p]:"Constructor",type:"Constructor",parameters:e,returns:r},n)}function je(e,r,n){return a({[p]:"Function",type:"Function",parameters:e,returns:r},n)}function Ht(e,r){return a({[p]:"Union",anyOf:e},r)}function Wp(e){return e.some(r=>Y(r))}function Ei(e){return e.map(r=>Y(r)?Yp(r):r)}function Yp(e){return E(e,[w])}function Xp(e,r){return Wp(e)?Q(Ht(Ei(e),r)):Ht(Ei(e),r)}function Ue(e,r){return e.length===1?a(e[0],r):e.length===0?f(r):Xp(e,r)}function h(e,r){return e.length===0?f(r):e.length===1?a(e[0],r):Ht(e,r)}var hr=class extends v{};function zp(e){return e.replace(/\\\$/g,"$").replace(/\\\*/g,"*").replace(/\\\^/g,"^").replace(/\\\|/g,"|").replace(/\\\(/g,"(").replace(/\\\)/g,")")}function Un(e,r,n){return e[r]===n&&e.charCodeAt(r-1)!==92}function Ge(e,r){return Un(e,r,"(")}function Wt(e,r){return Un(e,r,")")}function Fi(e,r){return Un(e,r,"|")}function Zp(e){if(!(Ge(e,0)&&Wt(e,e.length-1)))return false;let r=0;for(let n=0;n<e.length;n++)if(Ge(e,n)&&(r+=1),Wt(e,n)&&(r-=1),r===0&&n!==e.length-1)return false;return true}function Jp(e){return e.slice(1,e.length-1)}function em(e){let r=0;for(let n=0;n<e.length;n++)if(Ge(e,n)&&(r+=1),Wt(e,n)&&(r-=1),Fi(e,n)&&r===0)return true;return false}function tm(e){for(let r=0;r<e.length;r++)if(Ge(e,r))return true;return false}function rm(e){let[r,n]=[0,0],o=[];for(let m=0;m<e.length;m++)if(Ge(e,m)&&(r+=1),Wt(e,m)&&(r-=1),Fi(e,m)&&r===0){let l=e.slice(n,m);l.length>0&&o.push(yt(l)),n=m+1;}let c=e.slice(n);return c.length>0&&o.push(yt(c)),o.length===0?{type:"const",const:""}:o.length===1?o[0]:{type:"or",expr:o}}function nm(e){function r(c,m){if(!Ge(c,m))throw new hr("TemplateLiteralParser: Index must point to open parens");let l=0;for(let C=m;C<c.length;C++)if(Ge(c,C)&&(l+=1),Wt(c,C)&&(l-=1),l===0)return [m,C];throw new hr("TemplateLiteralParser: Unclosed group parens in expression")}function n(c,m){for(let l=m;l<c.length;l++)if(Ge(c,l))return [m,l];return [m,c.length]}let o=[];for(let c=0;c<e.length;c++)if(Ge(e,c)){let[m,l]=r(e,c),C=e.slice(m,l+1);o.push(yt(C)),c=l;}else {let[m,l]=n(e,c),C=e.slice(m,l);C.length>0&&o.push(yt(C)),c=l-1;}return o.length===0?{type:"const",const:""}:o.length===1?o[0]:{type:"and",expr:o}}function yt(e){return Zp(e)?yt(Jp(e)):em(e)?rm(e):tm(e)?nm(e):{type:"const",const:zp(e)}}function ht(e){return yt(e.slice(1,e.length-1))}var En=class extends v{};function om(e){return e.type==="or"&&e.expr.length===2&&e.expr[0].type==="const"&&e.expr[0].const==="0"&&e.expr[1].type==="const"&&e.expr[1].const==="[1-9][0-9]*"}function im(e){return e.type==="or"&&e.expr.length===2&&e.expr[0].type==="const"&&e.expr[0].const==="true"&&e.expr[1].type==="const"&&e.expr[1].const==="false"}function am(e){return e.type==="const"&&e.const===".*"}function it(e){return om(e)||am(e)?false:im(e)?true:e.type==="and"?e.expr.every(r=>it(r)):e.type==="or"?e.expr.every(r=>it(r)):e.type==="const"?true:(()=>{throw new En("Unknown expression type")})()}function Ci(e){let r=ht(e.pattern);return it(r)}var Fn=class extends v{};function*ki(e){if(e.length===1)return yield*e[0];for(let r of e[0])for(let n of ki(e.slice(1)))yield `${r}${n}`;}function*sm(e){return yield*ki(e.expr.map(r=>[...Yt(r)]))}function*cm(e){for(let r of e.expr)yield*Yt(r);}function*pm(e){return yield e.const}function*Yt(e){return e.type==="and"?yield*sm(e):e.type==="or"?yield*cm(e):e.type==="const"?yield*pm(e):(()=>{throw new Fn("Unknown expression")})()}function Rr(e){let r=ht(e.pattern);return it(r)?[...Yt(r)]:[]}function y(e,r){return a({[p]:"Literal",const:e,type:typeof e},r)}function Pr(e){return a({[p]:"Boolean",type:"boolean"},e)}function Rt(e){return a({[p]:"BigInt",type:"bigint"},e)}function pe(e){return a({[p]:"Number",type:"number"},e)}function Le(e){return a({[p]:"String",type:"string"},e)}function*mm(e){let r=e.trim().replace(/"|'/g,"");return r==="boolean"?yield Pr():r==="number"?yield pe():r==="bigint"?yield Rt():r==="string"?yield Le():yield (()=>{let n=r.split("|").map(o=>y(o.trim()));return n.length===0?f():n.length===1?n[0]:Ue(n)})()}function*lm(e){if(e[1]!=="{"){let r=y("$"),n=Cn(e.slice(1));return yield*[r,...n]}for(let r=2;r<e.length;r++)if(e[r]==="}"){let n=mm(e.slice(2,r)),o=Cn(e.slice(r+1));return yield*[...n,...o]}yield y(e);}function*Cn(e){for(let r=0;r<e.length;r++)if(e[r]==="$"){let n=y(e.slice(0,r)),o=lm(e.slice(r));return yield*[n,...o]}yield y(e);}function Mi(e){return [...Cn(e)]}var kn=class extends v{};function um(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ni(e,r){return oe(e)?e.pattern.slice(1,e.pattern.length-1):S(e)?`(${e.anyOf.map(n=>Ni(n,r)).join("|")})`:Ie(e)?`${r}${Qt}`:Ae(e)?`${r}${Qt}`:tt(e)?`${r}${Qt}`:Ne(e)?`${r}${jn}`:re(e)?`${r}${um(e.const.toString())}`:Me(e)?`${r}${Tn}`:(()=>{throw new kn(`Unexpected Kind '${e[p]}'`)})()}function Mn(e){return `^${e.map(r=>Ni(r,"")).join("")}$`}function at(e){let n=Rr(e).map(o=>y(o));return Ue(n)}function xr(e,r){let n=I(e)?Mn(Mi(e)):Mn(e);return a({[p]:"TemplateLiteral",type:"string",pattern:n},r)}function dm(e){return Rr(e).map(n=>n.toString())}function Sm(e){let r=[];for(let n of e)r.push(...X(n));return r}function fm(e){return [e.toString()]}function X(e){return [...new Set(oe(e)?dm(e):S(e)?Sm(e.anyOf):re(e)?fm(e.const):Ie(e)?["[number]"]:Ae(e)?["[number]"]:[])]}function gm(e,r,n){let o={};for(let c of Object.getOwnPropertyNames(r))o[c]=Ve(e,X(r[c]),n);return o}function ym(e,r,n){return gm(e,r.properties,n)}function _i(e,r,n){let o=ym(e,r,n);return g(o)}function qi(e,r){return e.map(n=>Ki(n,r))}function hm(e){return e.filter(r=>!Ke(r))}function Rm(e,r){return Ar(hm(qi(e,r)))}function Pm(e){return e.some(r=>Ke(r))?[]:e}function xm(e,r){return Ue(Pm(qi(e,r)))}function Am(e,r){return r in e?e[r]:r==="[number]"?Ue(e):f()}function Im(e,r){return r==="[number]"?e:f()}function Lm(e,r){return r in e?e[r]:f()}function Ki(e,r){return U(e)?Rm(e.allOf,r):S(e)?xm(e.anyOf,r):ie(e)?Am(e.items??[],r):he(e)?Im(e.items,r):N(e)?Lm(e.properties,r):f()}function Nn(e,r){return r.map(n=>Ki(e,n))}function Gi(e,r){return Ue(Nn(e,r))}function Ve(e,r,n){if(F(e)||F(r)){let o="Index types using Ref parameters require both Type and Key to be of TSchema";if(!ae(e)||!ae(r))throw new v(o);return O("Index",[e,r])}return j(r)?_i(e,r,n):ne(r)?vi(e,r,n):a(ae(r)?Gi(e,X(r)):Gi(e,r),n)}function Om(e,r,n){return {[r]:Ve(e,[r],T(n))}}function bm(e,r,n){return r.reduce((o,c)=>({...o,...Om(e,c,n)}),{})}function Tm(e,r,n){return bm(e,r.keys,n)}function vi(e,r,n){let o=Tm(e,r,n);return g(o)}function Pt(e,r){return a({[p]:"Iterator",type:"Iterator",items:e},r)}function jm(e){return globalThis.Object.keys(e).filter(r=>!Y(e[r]))}function Um(e,r){let n=jm(e),o=n.length>0?{[p]:"Object",type:"object",required:n,properties:e}:{[p]:"Object",type:"object",properties:e};return a(o,r)}var x=Um;function Ir(e,r){return a({[p]:"Promise",type:"Promise",item:e},r)}function Em(e){return a(E(e,[ye]))}function Fm(e){return a({...e,[ye]:"Readonly"})}function Cm(e,r){return r===false?Em(e):Fm(e)}function z(e,r){let n=r??true;return j(e)?Di(e,n):Cm(e,n)}function km(e,r){let n={};for(let o of globalThis.Object.getOwnPropertyNames(e))n[o]=z(e[o],r);return n}function Mm(e,r){return km(e.properties,r)}function Di(e,r){let n=Mm(e,r);return g(n)}function me(e,r){return a(e.length>0?{[p]:"Tuple",type:"array",items:e,additionalItems:false,minItems:e.length,maxItems:e.length}:{[p]:"Tuple",type:"array",minItems:e.length,maxItems:e.length},r)}function wi(e,r){return e in r?le(e,r[e]):g(r)}function Nm(e){return {[e]:y(e)}}function _m(e){let r={};for(let n of e)r[n]=y(n);return r}function Gm(e,r){return Oi(r,e)?Nm(e):_m(r)}function qm(e,r){let n=Gm(e,r);return wi(e,n)}function Xt(e,r){return r.map(n=>le(e,n))}function Km(e,r){let n={};for(let o of globalThis.Object.getOwnPropertyNames(r))n[o]=le(e,r[o]);return n}function le(e,r){let n={...r};return Y(r)?Q(le(e,E(r,[w]))):lt(r)?z(le(e,E(r,[ye]))):j(r)?wi(e,r.properties):ne(r)?qm(e,r.keys):Pe(r)?gt(Xt(e,r.parameters),le(e,r.returns),n):xe(r)?je(Xt(e,r.parameters),le(e,r.returns),n):et(r)?ft(le(e,r.items),n):rt(r)?Pt(le(e,r.items),n):U(r)?$(Xt(e,r.allOf),n):S(r)?h(Xt(e,r.anyOf),n):ie(r)?me(Xt(e,r.items??[]),n):N(r)?x(Km(e,r.properties),n):he(r)?St(le(e,r.items),n):nt(r)?Ir(le(e,r.item),n):r}function vm(e,r){let n={};for(let o of e)n[o]=le(o,r);return n}function Bi(e,r,n){let o=ae(e)?X(e):e,c=r({[p]:"MappedKey",keys:o}),m=vm(o,c);return x(m,n)}function Dm(e){return a(E(e,[w]))}function wm(e){return a({...e,[w]:"Optional"})}function Bm(e,r){return r===false?Dm(e):wm(e)}function Q(e,r){let n=r??true;return j(e)?Vi(e,n):Bm(e,n)}function Vm(e,r){let n={};for(let o of globalThis.Object.getOwnPropertyNames(e))n[o]=Q(e[o],r);return n}function Qm(e,r){return Vm(e.properties,r)}function Vi(e,r){let n=Qm(e,r);return g(n)}function zt(e,r={}){let n=e.every(c=>N(c)),o=ae(r.unevaluatedProperties)?{unevaluatedProperties:r.unevaluatedProperties}:{};return a(r.unevaluatedProperties===false||ae(r.unevaluatedProperties)||n?{...o,[p]:"Intersect",type:"object",allOf:e}:{...o,[p]:"Intersect",allOf:e},r)}function $m(e){return e.every(r=>Y(r))}function Hm(e){return E(e,[w])}function Qi(e){return e.map(r=>Y(r)?Hm(r):r)}function Wm(e,r){return $m(e)?Q(zt(Qi(e),r)):zt(Qi(e),r)}function Ar(e,r={}){if(e.length===1)return a(e[0],r);if(e.length===0)return f(r);if(e.some(n=>ve(n)))throw new Error("Cannot intersect transform types");return Wm(e,r)}function $(e,r){if(e.length===1)return a(e[0],r);if(e.length===0)return f(r);if(e.some(n=>ve(n)))throw new Error("Cannot intersect transform types");return zt(e,r)}function Ee(...e){let[r,n]=typeof e[0]=="string"?[e[0],e[1]]:[e[0].$id,e[1]];if(typeof r!="string")throw new v("Ref: $ref must be a string");return a({[p]:"Ref",$ref:r},n)}function Ym(e,r){return O("Awaited",[O(e,r)])}function Xm(e){return O("Awaited",[Ee(e)])}function zm(e){return $($i(e))}function Zm(e){return h($i(e))}function Jm(e){return xt(e)}function $i(e){return e.map(r=>xt(r))}function xt(e,r){return a(Re(e)?Ym(e.target,e.parameters):U(e)?zm(e.allOf):S(e)?Zm(e.anyOf):nt(e)?Jm(e.item):F(e)?Xm(e.$ref):e,r)}function Hi(e){let r=[];for(let n of e)r.push(At(n));return r}function el(e){let r=Hi(e);return ji(r)}function tl(e){let r=Hi(e);return Ti(r)}function rl(e){return e.map((r,n)=>n.toString())}function nl(e){return ["[number]"]}function ol(e){return globalThis.Object.getOwnPropertyNames(e)}function il(e){return _n?globalThis.Object.getOwnPropertyNames(e).map(n=>n[0]==="^"&&n[n.length-1]==="$"?n.slice(1,n.length-1):n):[]}function At(e){return U(e)?el(e.allOf):S(e)?tl(e.anyOf):ie(e)?rl(e.items??[]):he(e)?nl(e.items):N(e)?ol(e.properties):ot(e)?il(e.patternProperties):[]}var _n=false;function dx(e){_n=true;let r=At(e);return _n=false,`^(${r.map(o=>`(${o})`).join("|")})$`}function al(e,r){return O("KeyOf",[O(e,r)])}function sl(e){return O("KeyOf",[Ee(e)])}function cl(e,r){let n=At(e),o=pl(n),c=Ue(o);return a(c,r)}function pl(e){return e.map(r=>r==="[number]"?pe():y(r))}function It(e,r){return Re(e)?al(e.target,e.parameters):F(e)?sl(e.$ref):j(e)?Wi(e,r):cl(e,r)}function ml(e,r){let n={};for(let o of globalThis.Object.getOwnPropertyNames(e))n[o]=It(e[o],T(r));return n}function ll(e,r){return ml(e.properties,r)}function Wi(e,r){let n=ll(e,r);return g(n)}function ul(e){let r=[];for(let n of e)r.push(...At(n));return bi(r)}function dl(e){return e.filter(r=>!Ke(r))}function Sl(e,r){let n=[];for(let o of e)n.push(...Nn(o,[r]));return dl(n)}function fl(e,r){let n={};for(let o of r)n[o]=Ar(Sl(e,o));return n}function Yi(e,r){let n=ul(e),o=fl(e,n);return x(o,r)}function Lr(e){return a({[p]:"Date",type:"Date"},e)}function Or(e){return a({[p]:"Null",type:"null"},e)}function br(e){return a({[p]:"Symbol",type:"symbol"},e)}function Tr(e){return a({[p]:"Undefined",type:"undefined"},e)}function jr(e){return a({[p]:"Uint8Array",type:"Uint8Array"},e)}function Qe(e){return a({[p]:"Unknown"},e)}function gl(e){return e.map(r=>Gn(r,false))}function yl(e){let r={};for(let n of globalThis.Object.getOwnPropertyNames(e))r[n]=z(Gn(e[n],false));return r}function Ur(e,r){return r===true?e:z(e)}function Gn(e,r){return dn(e)?Ur(Be(),r):fn(e)?Ur(Be(),r):k(e)?z(me(gl(e))):ke(e)?jr():Je(e)?Lr():R(e)?Ur(x(yl(e)),r):Sn(e)?Ur(je([],Qe()),r):M(e)?Tr():gn(e)?Or():yn(e)?br():_t(e)?Rt():te(e)?y(e):Ce(e)?y(e):I(e)?y(e):x({})}function Xi(e,r){return a(Gn(e,true),r)}function zi(e,r){return Pe(e)?me(e.parameters,r):f(r)}function Zi(e,r){if(M(e))throw new Error("Enum undefined or empty");let n=globalThis.Object.getOwnPropertyNames(e).filter(m=>isNaN(m)).map(m=>e[m]),c=[...new Set(n)].map(m=>y(m));return h(c,{...r,[ce]:"Enum"})}var Kn=class extends v{},s;(function(e){e[e.Union=0]="Union",e[e.True=1]="True",e[e.False=2]="False";})(s||(s={}));function ue(e){return e===s.False?e:s.True}function Lt(e){throw new Kn(e)}function G(e){return i.IsNever(e)||i.IsIntersect(e)||i.IsUnion(e)||i.IsUnknown(e)||i.IsAny(e)}function q(e,r){return i.IsNever(r)?ia():i.IsIntersect(r)?Er(e,r):i.IsUnion(r)?Bn(e,r):i.IsUnknown(r)?pa():i.IsAny(r)?wn():Lt("StructuralRight")}function wn(e,r){return s.True}function hl(e,r){return i.IsIntersect(r)?Er(e,r):i.IsUnion(r)&&r.anyOf.some(n=>i.IsAny(n)||i.IsUnknown(n))?s.True:i.IsUnion(r)?s.Union:i.IsUnknown(r)||i.IsAny(r)?s.True:s.Union}function Rl(e,r){return i.IsUnknown(e)?s.False:i.IsAny(e)?s.Union:i.IsNever(e)?s.True:s.False}function Pl(e,r){return i.IsObject(r)&&Fr(r)?s.True:G(r)?q(e,r):i.IsArray(r)?ue(A(e.items,r.items)):s.False}function xl(e,r){return G(r)?q(e,r):i.IsAsyncIterator(r)?ue(A(e.items,r.items)):s.False}function Al(e,r){return G(r)?q(e,r):i.IsObject(r)?H(e,r):i.IsRecord(r)?de(e,r):i.IsBigInt(r)?s.True:s.False}function na(e,r){return i.IsLiteralBoolean(e)||i.IsBoolean(e)?s.True:s.False}function Il(e,r){return G(r)?q(e,r):i.IsObject(r)?H(e,r):i.IsRecord(r)?de(e,r):i.IsBoolean(r)?s.True:s.False}function Ll(e,r){return G(r)?q(e,r):i.IsObject(r)?H(e,r):i.IsConstructor(r)?e.parameters.length>r.parameters.length?s.False:e.parameters.every((n,o)=>ue(A(r.parameters[o],n))===s.True)?ue(A(e.returns,r.returns)):s.False:s.False}function Ol(e,r){return G(r)?q(e,r):i.IsObject(r)?H(e,r):i.IsRecord(r)?de(e,r):i.IsDate(r)?s.True:s.False}function bl(e,r){return G(r)?q(e,r):i.IsObject(r)?H(e,r):i.IsFunction(r)?e.parameters.length>r.parameters.length?s.False:e.parameters.every((n,o)=>ue(A(r.parameters[o],n))===s.True)?ue(A(e.returns,r.returns)):s.False:s.False}function oa(e,r){return i.IsLiteral(e)&&V.IsNumber(e.const)||i.IsNumber(e)||i.IsInteger(e)?s.True:s.False}function Tl(e,r){return i.IsInteger(r)||i.IsNumber(r)?s.True:G(r)?q(e,r):i.IsObject(r)?H(e,r):i.IsRecord(r)?de(e,r):s.False}function Er(e,r){return r.allOf.every(n=>A(e,n)===s.True)?s.True:s.False}function jl(e,r){return e.allOf.some(n=>A(n,r)===s.True)?s.True:s.False}function Ul(e,r){return G(r)?q(e,r):i.IsIterator(r)?ue(A(e.items,r.items)):s.False}function El(e,r){return i.IsLiteral(r)&&r.const===e.const?s.True:G(r)?q(e,r):i.IsObject(r)?H(e,r):i.IsRecord(r)?de(e,r):i.IsString(r)?ca(e):i.IsNumber(r)?aa(e):i.IsInteger(r)?oa(e):i.IsBoolean(r)?na(e):s.False}function ia(e,r){return s.False}function Fl(e,r){return s.True}function Ji(e){let[r,n]=[e,0];for(;i.IsNot(r);)r=r.not,n+=1;return n%2===0?r:Qe()}function Cl(e,r){return i.IsNot(e)?A(Ji(e),r):i.IsNot(r)?A(e,Ji(r)):Lt("Invalid fallthrough for Not")}function kl(e,r){return G(r)?q(e,r):i.IsObject(r)?H(e,r):i.IsRecord(r)?de(e,r):i.IsNull(r)?s.True:s.False}function aa(e,r){return i.IsLiteralNumber(e)||i.IsNumber(e)||i.IsInteger(e)?s.True:s.False}function Ml(e,r){return G(r)?q(e,r):i.IsObject(r)?H(e,r):i.IsRecord(r)?de(e,r):i.IsInteger(r)||i.IsNumber(r)?s.True:s.False}function Z(e,r){return Object.getOwnPropertyNames(e.properties).length===r}function ea(e){return Fr(e)}function ta(e){return Z(e,0)||Z(e,1)&&"description"in e.properties&&i.IsUnion(e.properties.description)&&e.properties.description.anyOf.length===2&&(i.IsString(e.properties.description.anyOf[0])&&i.IsUndefined(e.properties.description.anyOf[1])||i.IsString(e.properties.description.anyOf[1])&&i.IsUndefined(e.properties.description.anyOf[0]))}function qn(e){return Z(e,0)}function ra(e){return Z(e,0)}function Nl(e){return Z(e,0)}function _l(e){return Z(e,0)}function Gl(e){return Fr(e)}function ql(e){let r=pe();return Z(e,0)||Z(e,1)&&"length"in e.properties&&ue(A(e.properties.length,r))===s.True}function Kl(e){return Z(e,0)}function Fr(e){let r=pe();return Z(e,0)||Z(e,1)&&"length"in e.properties&&ue(A(e.properties.length,r))===s.True}function vl(e){let r=je([Be()],Be());return Z(e,0)||Z(e,1)&&"then"in e.properties&&ue(A(e.properties.then,r))===s.True}function sa(e,r){return A(e,r)===s.False||i.IsOptional(e)&&!i.IsOptional(r)?s.False:s.True}function H(e,r){return i.IsUnknown(e)?s.False:i.IsAny(e)?s.Union:i.IsNever(e)||i.IsLiteralString(e)&&ea(r)||i.IsLiteralNumber(e)&&qn(r)||i.IsLiteralBoolean(e)&&ra(r)||i.IsSymbol(e)&&ta(r)||i.IsBigInt(e)&&Nl(r)||i.IsString(e)&&ea(r)||i.IsSymbol(e)&&ta(r)||i.IsNumber(e)&&qn(r)||i.IsInteger(e)&&qn(r)||i.IsBoolean(e)&&ra(r)||i.IsUint8Array(e)&&Gl(r)||i.IsDate(e)&&_l(r)||i.IsConstructor(e)&&Kl(r)||i.IsFunction(e)&&ql(r)?s.True:i.IsRecord(e)&&i.IsString(vn(e))?r[ce]==="Record"?s.True:s.False:i.IsRecord(e)&&i.IsNumber(vn(e))&&Z(r,0)?s.True:s.False}function Dl(e,r){return G(r)?q(e,r):i.IsRecord(r)?de(e,r):i.IsObject(r)?(()=>{for(let n of Object.getOwnPropertyNames(r.properties)){if(!(n in e.properties)&&!i.IsOptional(r.properties[n]))return s.False;if(i.IsOptional(r.properties[n]))return s.True;if(sa(e.properties[n],r.properties[n])===s.False)return s.False}return s.True})():s.False}function wl(e,r){return G(r)?q(e,r):i.IsObject(r)&&vl(r)?s.True:i.IsPromise(r)?ue(A(e.item,r.item)):s.False}function vn(e){return De in e.patternProperties?pe():we in e.patternProperties?Le():Lt("Unknown record key pattern")}function Dn(e){return De in e.patternProperties?e.patternProperties[De]:we in e.patternProperties?e.patternProperties[we]:Lt("Unable to get record value schema")}function de(e,r){let[n,o]=[vn(r),Dn(r)];return i.IsLiteralString(e)&&i.IsNumber(n)&&ue(A(e,o))===s.True?s.True:i.IsUint8Array(e)&&i.IsNumber(n)||i.IsString(e)&&i.IsNumber(n)||i.IsArray(e)&&i.IsNumber(n)?A(e,o):i.IsObject(e)?(()=>{for(let c of Object.getOwnPropertyNames(e.properties))if(sa(o,e.properties[c])===s.False)return s.False;return s.True})():s.False}function Bl(e,r){return G(r)?q(e,r):i.IsObject(r)?H(e,r):i.IsRecord(r)?A(Dn(e),Dn(r)):s.False}function Vl(e,r){let n=i.IsRegExp(e)?Le():e,o=i.IsRegExp(r)?Le():r;return A(n,o)}function ca(e,r){return i.IsLiteral(e)&&V.IsString(e.const)||i.IsString(e)?s.True:s.False}function Ql(e,r){return G(r)?q(e,r):i.IsObject(r)?H(e,r):i.IsRecord(r)?de(e,r):i.IsString(r)?s.True:s.False}function $l(e,r){return G(r)?q(e,r):i.IsObject(r)?H(e,r):i.IsRecord(r)?de(e,r):i.IsSymbol(r)?s.True:s.False}function Hl(e,r){return i.IsTemplateLiteral(e)?A(at(e),r):i.IsTemplateLiteral(r)?A(e,at(r)):Lt("Invalid fallthrough for TemplateLiteral")}function Wl(e,r){return i.IsArray(r)&&e.items!==void 0&&e.items.every(n=>A(n,r.items)===s.True)}function Yl(e,r){return i.IsNever(e)?s.True:i.IsUnknown(e)?s.False:i.IsAny(e)?s.Union:s.False}function Xl(e,r){return G(r)?q(e,r):i.IsObject(r)&&Fr(r)||i.IsArray(r)&&Wl(e,r)?s.True:i.IsTuple(r)?V.IsUndefined(e.items)&&!V.IsUndefined(r.items)||!V.IsUndefined(e.items)&&V.IsUndefined(r.items)?s.False:V.IsUndefined(e.items)&&!V.IsUndefined(r.items)||e.items.every((n,o)=>A(n,r.items[o])===s.True)?s.True:s.False:s.False}function zl(e,r){return G(r)?q(e,r):i.IsObject(r)?H(e,r):i.IsRecord(r)?de(e,r):i.IsUint8Array(r)?s.True:s.False}function Zl(e,r){return G(r)?q(e,r):i.IsObject(r)?H(e,r):i.IsRecord(r)?de(e,r):i.IsVoid(r)?tu(e):i.IsUndefined(r)?s.True:s.False}function Bn(e,r){return r.anyOf.some(n=>A(e,n)===s.True)?s.True:s.False}function Jl(e,r){return e.anyOf.every(n=>A(n,r)===s.True)?s.True:s.False}function pa(e,r){return s.True}function eu(e,r){return i.IsNever(r)?ia():i.IsIntersect(r)?Er(e,r):i.IsUnion(r)?Bn(e,r):i.IsAny(r)?wn():i.IsString(r)?ca(e):i.IsNumber(r)?aa(e):i.IsInteger(r)?oa(e):i.IsBoolean(r)?na(e):i.IsArray(r)?Rl(e):i.IsTuple(r)?Yl(e):i.IsObject(r)?H(e,r):i.IsUnknown(r)?s.True:s.False}function tu(e,r){return i.IsUndefined(e)||i.IsUndefined(e)?s.True:s.False}function ru(e,r){return i.IsIntersect(r)?Er(e,r):i.IsUnion(r)?Bn(e,r):i.IsUnknown(r)?pa():i.IsAny(r)?wn():i.IsObject(r)?H(e,r):i.IsVoid(r)?s.True:s.False}function A(e,r){return i.IsTemplateLiteral(e)||i.IsTemplateLiteral(r)?Hl(e,r):i.IsRegExp(e)||i.IsRegExp(r)?Vl(e,r):i.IsNot(e)||i.IsNot(r)?Cl(e,r):i.IsAny(e)?hl(e,r):i.IsArray(e)?Pl(e,r):i.IsBigInt(e)?Al(e,r):i.IsBoolean(e)?Il(e,r):i.IsAsyncIterator(e)?xl(e,r):i.IsConstructor(e)?Ll(e,r):i.IsDate(e)?Ol(e,r):i.IsFunction(e)?bl(e,r):i.IsInteger(e)?Tl(e,r):i.IsIntersect(e)?jl(e,r):i.IsIterator(e)?Ul(e,r):i.IsLiteral(e)?El(e,r):i.IsNever(e)?Fl():i.IsNull(e)?kl(e,r):i.IsNumber(e)?Ml(e,r):i.IsObject(e)?Dl(e,r):i.IsRecord(e)?Bl(e,r):i.IsString(e)?Ql(e,r):i.IsSymbol(e)?$l(e,r):i.IsTuple(e)?Xl(e,r):i.IsPromise(e)?wl(e,r):i.IsUint8Array(e)?zl(e,r):i.IsUndefined(e)?Zl(e,r):i.IsUnion(e)?Jl(e,r):i.IsUnknown(e)?eu(e,r):i.IsVoid(e)?ru(e,r):Lt(`Unknown left type operand '${e[p]}'`)}function $e(e,r){return A(e,r)}function nu(e,r,n,o,c){let m={};for(let l of globalThis.Object.getOwnPropertyNames(e))m[l]=Ot(e[l],r,n,o,T(c));return m}function ou(e,r,n,o,c){return nu(e.properties,r,n,o,c)}function ma(e,r,n,o,c){let m=ou(e,r,n,o,c);return g(m)}function iu(e,r,n,o){let c=$e(e,r);return c===s.Union?h([n,o]):c===s.True?n:o}function Ot(e,r,n,o,c){return j(e)?ma(e,r,n,o,c):ne(e)?a(la(e,r,n,o,c)):a(iu(e,r,n,o),c)}function au(e,r,n,o,c){return {[e]:Ot(y(e),r,n,o,T(c))}}function su(e,r,n,o,c){return e.reduce((m,l)=>({...m,...au(l,r,n,o,c)}),{})}function cu(e,r,n,o,c){return su(e.keys,r,n,o,c)}function la(e,r,n,o,c){let m=cu(e,r,n,o,c);return g(m)}function ua(e,r){return bt(at(e),r)}function pu(e,r){let n=e.filter(o=>$e(o,r)===s.False);return n.length===1?n[0]:h(n)}function bt(e,r,n={}){return oe(e)?a(ua(e,r),n):j(e)?a(da(e,r),n):a(S(e)?pu(e.anyOf,r):$e(e,r)!==s.False?f():e,n)}function mu(e,r){let n={};for(let o of globalThis.Object.getOwnPropertyNames(e))n[o]=bt(e[o],r);return n}function lu(e,r){return mu(e.properties,r)}function da(e,r){let n=lu(e,r);return g(n)}function Sa(e,r){return Tt(at(e),r)}function uu(e,r){let n=e.filter(o=>$e(o,r)!==s.False);return n.length===1?n[0]:h(n)}function Tt(e,r,n){return oe(e)?a(Sa(e,r),n):j(e)?a(fa(e,r),n):a(S(e)?uu(e.anyOf,r):$e(e,r)!==s.False?e:f(),n)}function du(e,r){let n={};for(let o of globalThis.Object.getOwnPropertyNames(e))n[o]=Tt(e[o],r);return n}function Su(e,r){return du(e.properties,r)}function fa(e,r){let n=Su(e,r);return g(n)}function ga(e,r){return Pe(e)?a(e.returns,r):f(r)}function Cr(e){return z(Q(e))}function st(e,r,n){return a({[p]:"Record",type:"object",patternProperties:{[e]:r}},n)}function Vn(e,r,n){let o={};for(let c of e)o[c]=r;return x(o,{...n,[ce]:"Record"})}function fu(e,r,n){return Ci(e)?Vn(X(e),r,n):st(e.pattern,r,n)}function gu(e,r,n){return Vn(X(h(e)),r,n)}function yu(e,r,n){return Vn([e.toString()],r,n)}function hu(e,r,n){return st(e.source,r,n)}function Ru(e,r,n){let o=M(e.pattern)?we:e.pattern;return st(o,r,n)}function Pu(e,r,n){return st(we,r,n)}function xu(e,r,n){return st(Ii,r,n)}function Au(e,r,n){return x({true:r,false:r},n)}function Iu(e,r,n){return st(De,r,n)}function Lu(e,r,n){return st(De,r,n)}function kr(e,r,n={}){return S(e)?gu(e.anyOf,r,n):oe(e)?fu(e,r,n):re(e)?yu(e.const,r,n):Me(e)?Au(e,r,n):Ae(e)?Iu(e,r,n):Ie(e)?Lu(e,r,n):An(e)?hu(e,r,n):Ne(e)?Ru(e,r,n):Pn(e)?Pu(e,r,n):Ke(e)?xu(e,r,n):f(n)}function Mr(e){return globalThis.Object.getOwnPropertyNames(e.patternProperties)[0]}function ya(e){let r=Mr(e);return r===we?Le():r===De?pe():Le({pattern:r})}function Nr(e){return e.patternProperties[Mr(e)]}function Ou(e,r){return r.parameters=Zt(e,r.parameters),r.returns=Oe(e,r.returns),r}function bu(e,r){return r.parameters=Zt(e,r.parameters),r.returns=Oe(e,r.returns),r}function Tu(e,r){return r.allOf=Zt(e,r.allOf),r}function ju(e,r){return r.anyOf=Zt(e,r.anyOf),r}function Uu(e,r){return M(r.items)||(r.items=Zt(e,r.items)),r}function Eu(e,r){return r.items=Oe(e,r.items),r}function Fu(e,r){return r.items=Oe(e,r.items),r}function Cu(e,r){return r.items=Oe(e,r.items),r}function ku(e,r){return r.item=Oe(e,r.item),r}function Mu(e,r){let n=qu(e,r.properties);return {...r,...x(n)}}function Nu(e,r){let n=Oe(e,ya(r)),o=Oe(e,Nr(r)),c=kr(n,o);return {...r,...c}}function _u(e,r){return r.index in e?e[r.index]:Qe()}function Gu(e,r){let n=lt(r),o=Y(r),c=Oe(e,r);return n&&o?Cr(c):n&&!o?z(c):!n&&o?Q(c):c}function qu(e,r){return globalThis.Object.getOwnPropertyNames(r).reduce((n,o)=>({...n,[o]:Gu(e,r[o])}),{})}function Zt(e,r){return r.map(n=>Oe(e,n))}function Oe(e,r){return Pe(r)?Ou(e,r):xe(r)?bu(e,r):U(r)?Tu(e,r):S(r)?ju(e,r):ie(r)?Uu(e,r):he(r)?Eu(e,r):et(r)?Fu(e,r):rt(r)?Cu(e,r):nt(r)?ku(e,r):N(r)?Mu(e,r):ot(r)?Nu(e,r):xn(r)?_u(e,r):r}function ha(e,r){return Oe(r,mt(e))}function Ra(e){return a({[p]:"Integer",type:"integer"},e)}function Ku(e,r,n){return {[e]:be(y(e),r,T(n))}}function vu(e,r,n){return e.reduce((c,m)=>({...c,...Ku(m,r,n)}),{})}function Du(e,r,n){return vu(e.keys,r,n)}function Pa(e,r,n){let o=Du(e,r,n);return g(o)}function wu(e){let[r,n]=[e.slice(0,1),e.slice(1)];return [r.toLowerCase(),n].join("")}function Bu(e){let[r,n]=[e.slice(0,1),e.slice(1)];return [r.toUpperCase(),n].join("")}function Vu(e){return e.toUpperCase()}function Qu(e){return e.toLowerCase()}function $u(e,r,n){let o=ht(e.pattern);if(!it(o))return {...e,pattern:xa(e.pattern,r)};let l=[...Yt(o)].map(rp=>y(rp)),C=Aa(l,r),tp=h(C);return xr([tp],n)}function xa(e,r){return typeof e=="string"?r==="Uncapitalize"?wu(e):r==="Capitalize"?Bu(e):r==="Uppercase"?Vu(e):r==="Lowercase"?Qu(e):e:e.toString()}function Aa(e,r){return e.map(n=>be(n,r))}function be(e,r,n={}){return ne(e)?Pa(e,r,n):oe(e)?$u(e,r,n):S(e)?h(Aa(e.anyOf,r),n):re(e)?y(xa(e.const,r),n):a(e,n)}function Ia(e,r={}){return be(e,"Capitalize",r)}function La(e,r={}){return be(e,"Lowercase",r)}function Oa(e,r={}){return be(e,"Uncapitalize",r)}function ba(e,r={}){return be(e,"Uppercase",r)}function Hu(e,r,n){let o={};for(let c of globalThis.Object.getOwnPropertyNames(e))o[c]=He(e[c],r,T(n));return o}function Wu(e,r,n){return Hu(e.properties,r,n)}function Ta(e,r,n){let o=Wu(e,r,n);return g(o)}function Yu(e,r){return e.map(n=>Qn(n,r))}function Xu(e,r){return e.map(n=>Qn(n,r))}function zu(e,r){let{[r]:n,...o}=e;return o}function Zu(e,r){return r.reduce((n,o)=>zu(n,o),e)}function Ju(e,r,n){let o=E(e,[_,"$id","required","properties"]),c=Zu(n,r);return x(c,o)}function ed(e){let r=e.reduce((n,o)=>gr(o)?[...n,y(o)]:n,[]);return h(r)}function Qn(e,r){return U(e)?$(Yu(e.allOf,r)):S(e)?h(Xu(e.anyOf,r)):N(e)?Ju(e,r,e.properties):x({})}function He(e,r,n){let o=k(r)?ed(r):r,c=ae(r)?X(r):r,m=F(e),l=F(r);return j(e)?Ta(e,c,n):ne(r)?ja(e,r,n):m&&l?O("Omit",[e,o],n):!m&&l?O("Omit",[e,o],n):m&&!l?O("Omit",[e,o],n):a({...Qn(e,c),...n})}function td(e,r,n){return {[r]:He(e,[r],T(n))}}function rd(e,r,n){return r.reduce((o,c)=>({...o,...td(e,c,n)}),{})}function nd(e,r,n){return rd(e,r.keys,n)}function ja(e,r,n){let o=nd(e,r,n);return g(o)}function od(e,r,n){let o={};for(let c of globalThis.Object.getOwnPropertyNames(e))o[c]=We(e[c],r,T(n));return o}function id(e,r,n){return od(e.properties,r,n)}function Ua(e,r,n){let o=id(e,r,n);return g(o)}function ad(e,r){return e.map(n=>$n(n,r))}function sd(e,r){return e.map(n=>$n(n,r))}function cd(e,r){let n={};for(let o of r)o in e&&(n[o]=e[o]);return n}function pd(e,r,n){let o=E(e,[_,"$id","required","properties"]),c=cd(n,r);return x(c,o)}function md(e){let r=e.reduce((n,o)=>gr(o)?[...n,y(o)]:n,[]);return h(r)}function $n(e,r){return U(e)?$(ad(e.allOf,r)):S(e)?h(sd(e.anyOf,r)):N(e)?pd(e,r,e.properties):x({})}function We(e,r,n){let o=k(r)?md(r):r,c=ae(r)?X(r):r,m=F(e),l=F(r);return j(e)?Ua(e,c,n):ne(r)?Ea(e,r,n):m&&l?O("Pick",[e,o],n):!m&&l?O("Pick",[e,o],n):m&&!l?O("Pick",[e,o],n):a({...$n(e,c),...n})}function ld(e,r,n){return {[r]:We(e,[r],T(n))}}function ud(e,r,n){return r.reduce((o,c)=>({...o,...ld(e,c,n)}),{})}function dd(e,r,n){return ud(e,r.keys,n)}function Ea(e,r,n){let o=dd(e,r,n);return g(o)}function Sd(e,r){return O("Partial",[O(e,r)])}function fd(e){return O("Partial",[Ee(e)])}function gd(e){let r={};for(let n of globalThis.Object.getOwnPropertyNames(e))r[n]=Q(e[n]);return r}function yd(e,r){let n=E(e,[_,"$id","required","properties"]),o=gd(r);return x(o,n)}function Fa(e){return e.map(r=>Ca(r))}function Ca(e){return Re(e)?Sd(e.target,e.parameters):F(e)?fd(e.$ref):U(e)?$(Fa(e.allOf)):S(e)?h(Fa(e.anyOf)):N(e)?yd(e,e.properties):tt(e)||Me(e)||Ae(e)||re(e)||vt(e)||Ie(e)||Ne(e)||Dt(e)||wt(e)?e:x({})}function jt(e,r){return j(e)?ka(e,r):a({...Ca(e),...r})}function hd(e,r){let n={};for(let o of globalThis.Object.getOwnPropertyNames(e))n[o]=jt(e[o],T(r));return n}function Rd(e,r){return hd(e.properties,r)}function ka(e,r){let n=Rd(e,r);return g(n)}function Pd(e,r){return O("Required",[O(e,r)])}function xd(e){return O("Required",[Ee(e)])}function Ad(e){let r={};for(let n of globalThis.Object.getOwnPropertyNames(e))r[n]=E(e[n],[w]);return r}function Id(e,r){let n=E(e,[_,"$id","required","properties"]),o=Ad(r);return x(o,n)}function Ma(e){return e.map(r=>Na(r))}function Na(e){return Re(e)?Pd(e.target,e.parameters):F(e)?xd(e.$ref):U(e)?$(Ma(e.allOf)):S(e)?h(Ma(e.anyOf)):N(e)?Id(e,e.properties):tt(e)||Me(e)||Ae(e)||re(e)||vt(e)||Ie(e)||Ne(e)||Dt(e)||wt(e)?e:x({})}function Ut(e,r){return j(e)?_a(e,r):a({...Na(e),...r})}function Ld(e,r){let n={};for(let o of globalThis.Object.getOwnPropertyNames(e))n[o]=Ut(e[o],r);return n}function Od(e,r){return Ld(e.properties,r)}function _a(e,r){let n=Od(e,r);return g(n)}function bd(e,r){return r.map(n=>F(n)?Hn(e,n.$ref):se(e,n))}function Hn(e,r){return r in e?F(e[r])?Hn(e,e[r].$ref):se(e,e[r]):f()}function Td(e){return xt(e[0])}function jd(e){return Ve(e[0],e[1])}function Ud(e){return It(e[0])}function Ed(e){return jt(e[0])}function Fd(e){return He(e[0],e[1])}function Cd(e){return We(e[0],e[1])}function kd(e){return Ut(e[0])}function Md(e,r,n){let o=bd(e,n);return r==="Awaited"?Td(o):r==="Index"?jd(o):r==="KeyOf"?Ud(o):r==="Partial"?Ed(o):r==="Omit"?Fd(o):r==="Pick"?Cd(o):r==="Required"?kd(o):f()}function Nd(e,r){return St(se(e,r))}function _d(e,r){return ft(se(e,r))}function Gd(e,r,n){return gt(Jt(e,r),se(e,n))}function qd(e,r,n){return je(Jt(e,r),se(e,n))}function Kd(e,r){return $(Jt(e,r))}function vd(e,r){return Pt(se(e,r))}function Dd(e,r){return x(globalThis.Object.keys(r).reduce((n,o)=>({...n,[o]:se(e,r[o])}),{}))}function wd(e,r){let[n,o]=[se(e,Nr(r)),Mr(r)],c=mt(r);return c.patternProperties[o]=n,c}function Bd(e,r){return F(r)?{...Hn(e,r.$ref),[_]:r[_]}:r}function Vd(e,r){return me(Jt(e,r))}function Qd(e,r){return h(Jt(e,r))}function Jt(e,r){return r.map(n=>se(e,n))}function se(e,r){return Y(r)?a(se(e,E(r,[w])),r):lt(r)?a(se(e,E(r,[ye])),r):ve(r)?a(Bd(e,r),r):he(r)?a(Nd(e,r.items),r):et(r)?a(_d(e,r.items),r):Re(r)?a(Md(e,r.target,r.parameters)):Pe(r)?a(Gd(e,r.parameters,r.returns),r):xe(r)?a(qd(e,r.parameters,r.returns),r):U(r)?a(Kd(e,r.allOf),r):rt(r)?a(vd(e,r.items),r):N(r)?a(Dd(e,r.properties),r):ot(r)?a(wd(e,r)):ie(r)?a(Vd(e,r.items||[]),r):S(r)?a(Qd(e,r.anyOf),r):r}function $d(e,r){return r in e?se(e,e[r]):f()}function Ga(e){return globalThis.Object.getOwnPropertyNames(e).reduce((r,n)=>({...r,[n]:$d(e,n)}),{})}var Wn=class{constructor(r){let n=Ga(r),o=this.WithIdentifiers(n);this.$defs=o;}Import(r,n){let o={...this.$defs,[r]:a(this.$defs[r],n)};return a({[p]:"Import",$defs:o,$ref:r})}WithIdentifiers(r){return globalThis.Object.getOwnPropertyNames(r).reduce((n,o)=>({...n,[o]:{...r[o],$id:o}}),{})}};function qa(e){return new Wn(e)}function Ka(e,r){return a({[p]:"Not",not:e},r)}function va(e,r){return xe(e)?me(e.parameters,r):f()}var Hd=0;function Da(e,r={}){M(r.$id)&&(r.$id=`T${Hd++}`);let n=mt(e({[p]:"This",$ref:`${r.$id}`}));return n.$id=r.$id,a({[ce]:"Recursive",...n},r)}function wa(e,r){let n=I(e)?new globalThis.RegExp(e):e;return a({[p]:"RegExp",type:"RegExp",source:n.source,flags:n.flags},r)}function Wd(e){return U(e)?e.allOf:S(e)?e.anyOf:ie(e)?e.items??[]:[]}function Ba(e){return Wd(e)}function Va(e,r){return xe(e)?a(e.returns,r):f(r)}var Yn=class{constructor(r){this.schema=r;}Decode(r){return new Xn(this.schema,r)}},Xn=class{constructor(r,n){this.schema=r,this.decode=n;}EncodeTransform(r,n){let m={Encode:l=>n[_].Encode(r(l)),Decode:l=>this.decode(n[_].Decode(l))};return {...n,[_]:m}}EncodeSchema(r,n){let o={Decode:this.decode,Encode:r};return {...n,[_]:o}}Encode(r){return ve(this.schema)?this.EncodeTransform(r,this.schema):this.EncodeSchema(r,this.schema)}};function Qa(e){return new Yn(e)}function $a(e={}){return a({[p]:e[p]??"Unsafe"},e)}function Ha(e){return a({[p]:"Void",type:"void"},e)}var zn={};d$1(zn,{Any:()=>Be,Argument:()=>Ui,Array:()=>St,AsyncIterator:()=>ft,Awaited:()=>xt,BigInt:()=>Rt,Boolean:()=>Pr,Capitalize:()=>Ia,Composite:()=>Yi,Const:()=>Xi,Constructor:()=>gt,ConstructorParameters:()=>zi,Date:()=>Lr,Enum:()=>Zi,Exclude:()=>bt,Extends:()=>Ot,Extract:()=>Tt,Function:()=>je,Index:()=>Ve,InstanceType:()=>ga,Instantiate:()=>ha,Integer:()=>Ra,Intersect:()=>$,Iterator:()=>Pt,KeyOf:()=>It,Literal:()=>y,Lowercase:()=>La,Mapped:()=>Bi,Module:()=>qa,Never:()=>f,Not:()=>Ka,Null:()=>Or,Number:()=>pe,Object:()=>x,Omit:()=>He,Optional:()=>Q,Parameters:()=>va,Partial:()=>jt,Pick:()=>We,Promise:()=>Ir,Readonly:()=>z,ReadonlyOptional:()=>Cr,Record:()=>kr,Recursive:()=>Da,Ref:()=>Ee,RegExp:()=>wa,Required:()=>Ut,Rest:()=>Ba,ReturnType:()=>Va,String:()=>Le,Symbol:()=>br,TemplateLiteral:()=>xr,Transform:()=>Qa,Tuple:()=>me,Uint8Array:()=>jr,Uncapitalize:()=>Oa,Undefined:()=>Tr,Union:()=>h,Unknown:()=>Qe,Unsafe:()=>$a,Uppercase:()=>ba,Void:()=>Ha});var t=zn;var b=t.String({maxLength:32768,minLength:1,pattern:"^(?!.*[\\u0000\\r\\n])(?:/|[A-Za-z]:[\\\\/]|\\\\\\\\[^\\\\/]+[\\\\/][^\\\\/]+).*$"}),_r=t.String({maxLength:64,minLength:1}),Wa=t.Object({path:b},{additionalProperties:false}),Ya=t.Object({id:_r,path:b},{additionalProperties:false}),Zn=t.Readonly(t.Array(Ya,{minItems:1,maxItems:1,uniqueItems:true})),Jn=t.Readonly(t.Array(Wa,{minItems:1,maxItems:1,uniqueItems:true})),Yd=t.Object({rootPath:b},{additionalProperties:false});function ZT(e){return e.length>0&&e.length<=255&&e===e.trim()&&!/[<>:"/\\|?*]/u.test(e)&&!Array.from(e).some(r=>r.charCodeAt(0)<32)&&!/[. ]$/u.test(e)&&!/^(con|prn|aux|nul|com[1-9¹²³]|lpt[1-9¹²³])(?:\.|$)/iu.test(e)}var JT=t.Object({parentPath:b,name:t.String({minLength:1,maxLength:255})},{additionalProperties:false}),ej=t.Object({path:b,status:t.Union([t.Literal("created"),t.Literal("exists-directory"),t.Literal("exists-file")])},{additionalProperties:false});var Xa=t.Union([t.Object({enabled:t.Literal(false),selectedPetId:t.Union([t.String(),t.Null()])},{additionalProperties:false}),t.Object({enabled:t.Literal(true),selectedPetId:t.String({minLength:1})},{additionalProperties:false})]),Xd=t.Object({columns:t.Integer({minimum:1}),height:t.Integer({minimum:1}),rows:t.Integer({minimum:1}),width:t.Integer({minimum:1})},{additionalProperties:false}),zd=t.Object({durationMs:t.Integer({minimum:1}),spriteIndex:t.Integer({maximum:255,minimum:0})},{additionalProperties:false}),Zd=t.Object({fallback:t.String({minLength:1}),frames:t.Array(zd,{maxItems:512,minItems:1}),loopStart:t.Union([t.Integer({minimum:0}),t.Null()])},{additionalProperties:false}),Jd=t.Object({animations:t.Record(t.String({minLength:1}),Zd),assetId:t.String({pattern:"^[a-f0-9]{64}$"}),availability:t.Union([t.Literal("downloadable"),t.Literal("ready")]),description:t.String(),displayName:t.String({minLength:1}),frame:Xd,id:t.String({minLength:1}),source:t.Union([t.Literal("builtin"),t.Literal("custom"),t.Literal("legacy")])},{additionalProperties:false}),eS=t.Object({data:t.Array(Jd)},{additionalProperties:false}),nj=t.Object({petId:t.String({minLength:1})},{additionalProperties:false}),oj=t.Object({pets:eS},{additionalProperties:false});var tS="Codexly";$t.Has("date-time")||$t.Set("date-time",e=>!Number.isNaN(Date.parse(e)));var W=t.String({format:"date-time"}),Et=t.Union([W,t.Null()]),Te=t.Object({createdAt:W,id:t.String({minLength:1}),name:t.String({minLength:1}),roots:Zn},{additionalProperties:false});var K=t.String({minLength:1,pattern:"^(?![A-Za-z]:)(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))(?!.*//)(?!.*\\\\)(?!.*\\/$).+$"}),eo=t.String({maxLength:128,minLength:1,pattern:"^[A-Za-z0-9._:-]+$"}),rS=t.Object({query:t.String({maxLength:256}),rootPath:t.Optional(b),sessionId:eo},{additionalProperties:false}),Gr=t.Object({name:t.String({minLength:1}),path:K,rootId:_r,rootPath:b},{additionalProperties:false}),nS=t.Object({data:t.Array(Gr,{maxItems:50})},{additionalProperties:false}),oS=t.Object({rootPath:t.Optional(b),sessionId:eo},{additionalProperties:false}),iS=t.Object({},{additionalProperties:false}),Ft=t.String({maxLength:32768,minLength:1,pattern:"^[^\\u0000\\r\\n]+$"}),J=b,aS=t.Object({includeHidden:t.Optional(t.Boolean()),path:t.Optional(J)},{additionalProperties:false}),za=t.Object({name:t.String({minLength:1}),path:J},{additionalProperties:false}),to=t.Object({name:t.String({minLength:1}),path:J},{additionalProperties:false}),sS=t.Object({entries:t.Array(za),parentPath:t.Union([J,t.Null()]),path:J,roots:t.Array(to)},{additionalProperties:false}),Za=t.Union([t.Literal("file"),t.Literal("image")]),cS=t.Object({includeHidden:t.Optional(t.Boolean()),kind:Za,path:t.Optional(J)},{additionalProperties:false}),Ja=t.Object({name:t.String({minLength:1}),path:J,type:t.Union([t.Literal("directory"),t.Literal("file")])},{additionalProperties:false}),pS=t.Object({entries:t.Array(Ja),parentPath:t.Union([J,t.Null()]),path:J,roots:t.Array(to)},{additionalProperties:false}),mS=t.Object({path:J},{additionalProperties:false}),lS=t.Object({roots:Jn},{additionalProperties:false}),ro=t.Object({data:t.Array(Te),nextCursor:t.Null()},{additionalProperties:false}),uS=t.Object({project:Te,projects:ro},{additionalProperties:false}),Ct=t.Union([t.Literal("visual-studio-code"),t.Literal("system-default"),t.Literal("zed"),t.Literal("windsurf"),t.Literal("finder"),t.Literal("terminal"),t.Literal("ghostty"),t.Literal("xcode"),t.Literal("android-studio"),t.Literal("file-manager"),t.Literal("gnome-terminal"),t.Literal("konsole"),t.Literal("xfce-terminal"),t.Literal("explorer"),t.Literal("windows-terminal"),t.Literal("command-prompt")]),es=t.Union([t.Literal("editor"),t.Literal("file-manager"),t.Literal("system-default"),t.Literal("terminal"),t.Literal("tool")]),ts=t.Object({id:Ct,kind:es,name:t.String({minLength:1})},{additionalProperties:false}),rs=t.Union([t.Literal("darwin"),t.Literal("linux"),t.Literal("win32")]),dS=t.Object({apps:t.Array(ts,{uniqueItems:true}),platform:rs},{additionalProperties:false}),SS=t.Object({appId:Ct,path:t.Optional(Ft)},{additionalProperties:false}),fS=t.Object({appId:Ct,path:t.Optional(Ft)},{additionalProperties:false}),gS=t.Object({projectIds:t.Array(t.String({minLength:1}),{minItems:1,uniqueItems:true})},{additionalProperties:false}),yS=t.Object({name:t.String({maxLength:200,minLength:1,pattern:"\\S"})},{additionalProperties:false}),hS=t.Object({project:Te,projects:ro},{additionalProperties:false}),RS=t.Object({},{additionalProperties:false}),PS=t.Object({projectId:t.String({minLength:1}),projects:ro,status:t.Literal("removed")},{additionalProperties:false});var er=t.Object({diff:t.String(),kind:t.Union([t.Literal("create"),t.Literal("update"),t.Literal("delete")]),path:t.String({minLength:1})},{additionalProperties:false}),Xe=t.String({maxLength:64,minLength:64,pattern:"^[a-f0-9]{64}$"}),Ye=t.String({maxLength:1024,minLength:1,pattern:"\\S"}),qr=t.String({maxLength:1024,minLength:1,pattern:"^(?!\\.{1,2}$)(?!.*[\\u0000\\r\\n])[^/\\\\]+$"}),os=t.Array(K,{maxItems:500,minItems:1,uniqueItems:true}),no=t.String({maxLength:1e4,minLength:1,pattern:"\\S"}),ns=t.Object({diff:t.String(),kind:t.Union([t.Literal("create"),t.Literal("update"),t.Literal("delete")]),path:K},{additionalProperties:false}),oo=t.Object({baseBranches:t.Array(t.String({minLength:1}),{uniqueItems:true}),branch:t.Union([t.String({minLength:1}),t.Null()]),branches:t.Array(Ye,{uniqueItems:true}),repositoryMode:t.Union([t.Literal("root"),t.Literal("children"),t.Literal("none")]),snapshot:Xe,staged:t.Array(ns),unstaged:t.Array(ns)},{additionalProperties:false}),xS=t.Object({includeDiff:t.Optional(t.Boolean()),repository:t.Optional(qr),rootPath:b},{additionalProperties:false}),is=t.Object({authoredAt:t.String({format:"date-time"}),authorEmail:t.String({maxLength:320,minLength:1}),authorName:t.String({maxLength:512,minLength:1,pattern:"\\S"}),sha:t.String({maxLength:64,minLength:40,pattern:"^[a-f0-9]+$"}),title:t.String({maxLength:1e4,minLength:1,pattern:"\\S"}),unpushed:t.Optional(t.Boolean())},{additionalProperties:false}),as=t.String({maxLength:20,minLength:1,pattern:"^[0-9]+$"}),AS=t.Object({cursor:t.Optional(as),repository:t.Optional(K),rootPath:b},{additionalProperties:false}),ss=t.Object({branch:t.Union([Ye,t.Null()]),commits:t.Array(is,{maxItems:20}),nextCursor:t.Union([as,t.Null()]),repositories:t.Array(K,{maxItems:256,uniqueItems:true}),repository:t.Union([K,t.Null()]),repositoryMode:t.Union([t.Literal("root"),t.Literal("children")])},{additionalProperties:false}),io=t.String({maxLength:64,minLength:40,pattern:"^[a-f0-9]+$"}),cs=t.String({maxLength:20,minLength:1,pattern:"^[0-9]+$"}),IS=t.Object({cursor:t.Optional(cs),repository:t.Optional(K),rootPath:b,sha:io},{additionalProperties:false}),ps=t.Object({kind:t.Union([t.Literal("create"),t.Literal("update"),t.Literal("delete")]),path:K},{additionalProperties:false}),LS=t.Object({files:t.Array(ps,{maxItems:100}),nextCursor:t.Union([cs,t.Null()])},{additionalProperties:false}),OS=t.Object({path:K,repository:t.Optional(K),rootPath:b,sha:io},{additionalProperties:false}),bS=t.Object({diff:t.String({maxLength:512*1024}),truncated:t.Boolean()},{additionalProperties:false}),TS=t.Object({branch:Ye,expectedSnapshot:Xe},{additionalProperties:false}),jS=t.Object({branch:Ye,expectedSnapshot:Xe},{additionalProperties:false}),Kr=t.Object({branch:t.Union([Ye,t.Null()]),current:t.Boolean(),path:J},{additionalProperties:false}),ms=t.Object({worktrees:t.Array(Kr,{maxItems:256})},{additionalProperties:false}),US=t.Object({branch:Ye,expectedSnapshot:Xe},{additionalProperties:false}),ES=t.Object({path:J},{additionalProperties:false}),ls=t.Object({project:Te,projects:t.Object({data:t.Array(Te),nextCursor:t.Null()},{additionalProperties:false}),worktree:Kr,worktrees:ms},{additionalProperties:false}),FS=t.Object({...ls.properties,status:oo},{additionalProperties:false}),hj=t.Object({worktree:Kr},{additionalProperties:false}),CS=t.Object({expectedSnapshot:Xe,paths:os,repository:t.Optional(qr)},{additionalProperties:false}),kS=t.Object({message:no,snapshot:Xe},{additionalProperties:false}),MS=t.Object({action:t.Union([t.Literal("commit"),t.Literal("commit_and_push")]),expectedSnapshot:Xe,message:no,paths:os,repository:t.Optional(qr)},{additionalProperties:false}),Rj=t.Object({expectedSnapshot:Xe,repository:t.Optional(qr),action:t.Optional(t.Union([t.Literal("inspect"),t.Literal("push"),t.Literal("publish"),t.Literal("fetch"),t.Literal("integrate"),t.Literal("configure"),t.Literal("branch")])),remote:t.Optional(t.String({minLength:1,maxLength:256,pattern:"^(?!-)[A-Za-z0-9_.-]+$"})),url:t.Optional(t.String({minLength:1,maxLength:4096,pattern:"^(?!-)[^\\u0000\\r\\n]+$"})),branchName:t.Optional(Ye),expectedHead:t.Optional(io),expectedBranch:t.Optional(Ye)},{additionalProperties:false}),NS=t.Object({head:t.Union([t.String(),t.Null()]),upstream:t.Union([t.String(),t.Null()]),remote:t.Union([t.String(),t.Null()]),targetBranch:t.Union([t.String(),t.Null()]),remotes:t.Array(t.Object({name:t.String(),url:t.String()},{additionalProperties:false}),{maxItems:64}),ahead:t.Union([t.Integer({minimum:0}),t.Null()]),behind:t.Union([t.Integer({minimum:0}),t.Null()]),checkedAt:t.String(),operation:t.Union([t.Literal("none"),t.Literal("merge")]),conflicts:t.Array(t.String())},{additionalProperties:false}),Pj=t.Object({branch:t.Union([t.String({minLength:1}),t.Null()]),pushError:t.Union([t.String({minLength:1}),t.Null()]),remoteState:t.Optional(NS),pushStatus:t.Union([t.Literal("checked"),t.Literal("updated"),t.Literal("pushed"),t.Literal("failed"),t.Literal("not_configured")])},{additionalProperties:false}),_S=t.Object({branch:t.Union([t.String({minLength:1}),t.Null()]),commitSha:t.String({maxLength:64,minLength:7,pattern:"^[a-f0-9]+$"}),history:ss,message:no,pushError:t.Union([t.String({minLength:1}),t.Null()]),pushStatus:t.Union([t.Literal("not_requested"),t.Literal("pushed"),t.Literal("failed"),t.Literal("not_configured")]),status:oo},{additionalProperties:false}),us=t.Object({path:K,type:t.Union([t.Literal("directory"),t.Literal("file")])},{additionalProperties:false}),GS=t.Object({path:t.Optional(K),rootPath:t.Optional(b)},{additionalProperties:false}),ao=t.Object({entries:t.Array(us),path:t.Union([K,t.Null()])},{additionalProperties:false}),ds=t.String({maxLength:255,minLength:1,pattern:"^(?!\\.\\.?$)[^/\\\\\\u0000\\r\\n]+$"}),qS=t.Object({name:ds,path:K},{additionalProperties:false}),KS=t.Object({path:K,tree:ao},{additionalProperties:false}),vS=t.Object({path:K},{additionalProperties:false}),DS=t.Object({path:K,status:t.Literal("deleted"),tree:ao},{additionalProperties:false}),wS=t.Object({cursor:t.Optional(t.Integer({minimum:0})),path:Ft,rootPath:t.Optional(b)},{additionalProperties:false}),BS=t.Object({content:t.String(),nextCursor:t.Union([t.Integer({minimum:0}),t.Null()]),path:Ft},{additionalProperties:false});var vr=t.Object({id:t.String({minLength:1}),pinned:t.Boolean(),projectId:t.String({minLength:1}),title:t.String({minLength:1}),updatedAt:W},{additionalProperties:false});var so=t.Object({model:t.Union([t.String(),t.Null()]),reasoningEffort:t.Union([t.String(),t.Null()])},{additionalProperties:false}),B=t.Object({...vr.properties,threadConfiguration:t.Optional(so),workspacePath:t.Optional(b)},{additionalProperties:false}),ze=t.Union([t.Literal("pending"),t.Literal("running"),t.Literal("completed"),t.Literal("failed"),t.Literal("declined"),t.Literal("interrupted")]),VS=t.Object({branch:t.Optional(t.String({minLength:1})),instructions:t.Optional(t.String({minLength:1})),sha:t.Optional(t.String({minLength:1})),title:t.Optional(t.String({minLength:1})),type:t.Union([t.Literal("uncommitted_changes"),t.Literal("base_branch"),t.Literal("commit"),t.Literal("custom")])},{additionalProperties:false}),tr=t.Intersect([VS,t.Union([t.Object({type:t.Literal("uncommitted_changes")}),t.Object({branch:t.String({minLength:1}),type:t.Literal("base_branch")}),t.Object({sha:t.String({minLength:1}),type:t.Literal("commit")}),t.Object({instructions:t.String({minLength:1}),type:t.Literal("custom")})])]),Ss=50*1024*1024,QS=50*1024*1024,fs=10*1024*1024,$S=20,HS=50*1024*1024,WS=1024*1024,co=Math.max(Ss,fs),Dr=1500,gs=512*1024*1024,YS=".png,.jpg,.jpeg,.webp,.gif",XS="",zS=t.Union([t.Literal("image/gif"),t.Literal("image/jpeg"),t.Literal("image/png"),t.Literal("image/webp")]),wr=t.String({maxLength:255,minLength:1}),Br=t.Union([t.Literal("file"),t.Literal("image"),t.Literal("text")]),ys=t.Object({name:t.String({minLength:1})},{additionalProperties:false});function ZS(e,r){let n=new Set(r.map(m=>m.name)),o=e,c=false;for(;o.length>0;){let m=/^\s*\$([^\s$]+)/u.exec(o),l=m?.[1];if(m===null||l===void 0||!n.has(l))break;o=o.slice(m[0].length),c=true;}return c?o.trimStart():e}var Ze=t.Object({id:t.String({minLength:1}),kind:Br,mediaType:wr,name:t.String({maxLength:255,minLength:1}),size:t.Integer({maximum:gs,minimum:1})},{additionalProperties:false}),JS=t.Object({},{additionalProperties:false}),ef=t.Object({attachmentId:t.String({minLength:1}),status:t.Literal("opened")},{additionalProperties:false}),hs=t.Union([t.Literal("commentary"),t.Literal("partial_answer"),t.Literal("final_answer")]),po=t.Object({identityAliases:t.Optional(t.Array(t.String({minLength:1}),{maxItems:256,uniqueItems:true})),attachments:t.Optional(t.Array(Ze,{maxItems:Dr})),id:t.String({minLength:1}),phase:t.Optional(hs),questions:t.Optional(t.Array(t.Object({title:t.String(),options:t.Union([t.Array(t.String()),t.Null()])},{additionalProperties:false}))),role:t.Union([t.Literal("user"),t.Literal("assistant")]),skills:t.Optional(t.Array(ys)),text:t.String(),type:t.Literal("message")},{additionalProperties:false}),mo=t.Object({content:t.String(),id:t.String({minLength:1}),summary:t.String(),type:t.Literal("reasoning")},{additionalProperties:false}),Rs=t.Object({bytes:t.Integer({minimum:0}),lines:t.Integer({minimum:0})},{additionalProperties:false}),lo=t.Object({command:t.String(),cwd:t.String(),exitCode:t.Optional(t.Integer()),id:t.String({minLength:1}),output:t.Optional(t.String()),outputOmitted:Rs,status:ze,type:t.Literal("command")},{additionalProperties:false}),Ps=t.Object({command:t.String({minLength:1}),cwd:t.String({minLength:1}),id:t.String({minLength:1}),itemId:t.String({minLength:1})},{additionalProperties:false}),xs=t.Object({data:t.Array(Ps)},{additionalProperties:false}),tf=t.Object({status:t.Literal("terminated"),terminalId:t.String({minLength:1}),terminals:xs},{additionalProperties:false});var rf=t.Union([t.Literal("tasks"),t.Literal("history")]),Cj=t.Object({archived:t.Boolean(),cursor:t.Optional(t.String({maxLength:8192,minLength:1})),kind:rf,query:t.String({maxLength:1024,minLength:1})},{additionalProperties:false}),nf=t.Object({end:t.Integer({minimum:0}),start:t.Integer({minimum:0})},{additionalProperties:false}),As=t.Object({itemId:t.String({minLength:1}),snippet:t.String({maxLength:8192}),snippetMatchRange:nf,turnCursor:t.String({minLength:1}),turnId:t.String({minLength:1})},{additionalProperties:false}),kj=t.Object({cursor:t.Optional(t.String({maxLength:8192,minLength:1})),query:t.String({maxLength:1024,minLength:1})},{additionalProperties:false}),Mj=t.Object({data:t.Array(As,{maxItems:30}),nextCursor:t.Union([t.String({minLength:1}),t.Null()])},{additionalProperties:false}),Nj=t.Object({data:t.Array(t.Object({occurrence:t.Optional(As),snippet:t.String({maxLength:8192}),task:B},{additionalProperties:false}),{maxItems:30}),nextCursor:t.Union([t.String({minLength:1}),t.Null()])},{additionalProperties:false});var qj=t.Object({},{additionalProperties:false,maxProperties:0}),Kj=t.Object({deletedCount:t.Integer({minimum:0}),failedCount:t.Integer({minimum:0})},{additionalProperties:false});var ct=t.String({pattern:"^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)(?:-(?:(?:0|[1-9][0-9]*)|[0-9]*[A-Za-z-][0-9A-Za-z-]*)(?:\\.(?:(?:0|[1-9][0-9]*)|[0-9]*[A-Za-z-][0-9A-Za-z-]*))*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$"}),of=t.Union([t.Literal("current"),t.Literal("available"),t.Literal("restart-required"),t.Literal("check-failed")]),af=t.Union([t.Literal("checking"),t.Literal("backing-up"),t.Literal("downloading"),t.Literal("installing"),t.Literal("rolling-back"),t.Literal("completed")]),sf=t.Object({percent:t.Integer({maximum:100,minimum:0}),phase:af},{additionalProperties:false}),wj=t.Object({progress:t.Union([sf,t.Null()])},{additionalProperties:false}),Bj=t.Object({appVersion:ct,codexVersion:ct,latestVersion:t.Union([ct,t.Null()]),releaseNotes:t.Union([t.String({maxLength:32768}),t.Null()]),status:of,updateAvailable:t.Boolean()},{additionalProperties:false}),Vj=t.Object({version:ct},{additionalProperties:false}),Qj=t.Object({appVersion:ct,codexVersion:ct,latestVersion:ct,releaseNotes:t.Null(),status:t.Literal("restart-required"),updateAvailable:t.Literal(false)},{additionalProperties:false});var Wj=t.Object({changedPlugins:t.Array(t.Object({id:t.String({minLength:1}),hasApps:t.Boolean(),hasHooks:t.Boolean(),hasMcps:t.Boolean(),hasSkills:t.Boolean()},{additionalProperties:false})),failedRemotePluginIds:t.Array(t.String()),failedMaterializationRemotePluginIds:t.Array(t.String())},{additionalProperties:false});var cf=t.Object({description:t.String(),displayName:t.String({minLength:1}),enabled:t.Boolean(),id:t.String({minLength:1}),marketplace:t.Optional(t.Object({installedVersion:t.String({minLength:1}),owner:t.String({minLength:1}),slug:t.String({minLength:1})},{additionalProperties:false})),name:t.String({minLength:1}),path:t.String({minLength:1}),projectId:t.Optional(t.String({minLength:1})),projectName:t.Optional(t.String({minLength:1})),rootPath:t.Optional(t.String({minLength:1})),scope:t.Union([t.Literal("user"),t.Literal("repo"),t.Literal("system"),t.Literal("admin")]),source:t.Union([t.Literal("clawhub"),t.Literal("local")])},{additionalProperties:false}),Is=t.Object({data:t.Array(cf),nextCursor:t.Null()},{additionalProperties:false}),pf=t.Object({enabled:t.Boolean(),name:t.String({minLength:1})},{additionalProperties:false}),mf=t.Object({data:t.Array(pf,{uniqueItems:true})},{additionalProperties:false}),Ls=t.Object({canonicalUrl:t.String({minLength:1}),displayName:t.String({minLength:1}),downloads:t.Integer({minimum:0}),id:t.String({minLength:1}),latestVersion:t.String({minLength:1}),owner:t.String({minLength:1}),slug:t.String({minLength:1}),stars:t.Integer({minimum:0}),summary:t.String(),topics:t.Array(t.String()),updatedAt:t.Integer(),versionCount:t.Integer({minimum:0})},{additionalProperties:false}),zj=t.Object({items:t.Array(Ls),nextCursor:t.Union([t.String(),t.Null()])},{additionalProperties:false}),lf=t.Object({changelog:t.String(),createdAt:t.Integer(),version:t.String({minLength:1})},{additionalProperties:false}),Zj=t.Object({...Ls.properties,changelog:t.String(),hasWarnings:t.Boolean(),readme:t.String(),scanStatus:t.String({minLength:1}),versions:t.Array(lf)},{additionalProperties:false}),Jj=t.Union([t.Literal("project"),t.Literal("user")]),Os={path:t.String({minLength:1}),status:t.Union([t.Literal("current"),t.Literal("installed"),t.Literal("updated")]),version:t.String({minLength:1})},eU=t.Object(Os,{additionalProperties:false}),tU=t.Object({...Os,installedSkills:Is},{additionalProperties:false}),bs={effectiveEnabled:t.Boolean()},rU=t.Object(bs,{additionalProperties:false}),nU=t.Object({...bs,installedSkills:Is},{additionalProperties:false}),Ts={enabled:t.Boolean()},oU=t.Object(Ts,{additionalProperties:false}),iU=t.Object({...Ts,servers:mf},{additionalProperties:false}),aU=t.Object({status:t.Literal("opened")},{additionalProperties:false}),js=t.Union([t.Literal("ON_INSTALL"),t.Literal("ON_USE")]),Us=t.Object({authPolicy:js,availability:t.Union([t.Literal("AVAILABLE"),t.Literal("DISABLED_BY_ADMIN")]),description:t.String(),developerName:t.Union([t.String(),t.Null()]),disabledReason:t.Union([t.String(),t.Null()]),displayName:t.String({minLength:1}),enabled:t.Boolean(),id:t.String({minLength:1}),installPolicy:t.Union([t.Literal("NOT_AVAILABLE"),t.Literal("AVAILABLE"),t.Literal("INSTALLED_BY_DEFAULT")]),installed:t.Boolean(),localVersion:t.Union([t.String(),t.Null()]),logoUrl:t.Union([t.String(),t.Null()]),marketplaceName:t.String({minLength:1}),marketplacePath:t.Union([t.String(),t.Null()]),name:t.String({minLength:1}),pluginName:t.String({minLength:1}),version:t.Union([t.String(),t.Null()])},{additionalProperties:false}),Es=t.Object({data:t.Array(Us)},{additionalProperties:false}),uf=t.Object({description:t.String(),name:t.String({minLength:1})},{additionalProperties:false}),Fs=t.Object({description:t.String(),id:t.String({minLength:1}),installUrl:t.Union([t.String(),t.Null()]),name:t.String({minLength:1})},{additionalProperties:false}),sU=t.Object({...Us.properties,apps:t.Array(Fs),hooks:t.Array(t.String()),mcpServers:t.Array(t.String()),skills:t.Array(uf),websiteUrl:t.Union([t.String(),t.Null()])},{additionalProperties:false}),df=t.Object({appsNeedingAuth:t.Array(Fs),authPolicy:js},{additionalProperties:false}),cU=t.Object({...df.properties,plugins:Es},{additionalProperties:false}),pU=t.Object({},{additionalProperties:false}),mU=t.Object({plugins:Es},{additionalProperties:false});var Cs=t.Object({changes:t.Array(er),id:t.String({minLength:1}),status:ze,type:t.Literal("file_change")},{additionalProperties:false}),ks=t.Object({id:t.String({minLength:1}),input:t.Optional(t.Unknown()),name:t.String({minLength:1}),output:t.Optional(t.Unknown()),progress:t.Optional(t.String({maxLength:8192})),status:ze,type:t.Literal("tool")},{additionalProperties:false}),Sf=t.Object({fasterModel:t.Optional(t.String({minLength:1})),id:t.String({minLength:1}),kind:t.Literal("safety_buffering"),model:t.String({minLength:1}),status:ze,type:t.Literal("runtime_status")},{additionalProperties:false}),ff=t.Object({fromModel:t.String({minLength:1}),id:t.String({minLength:1}),kind:t.Literal("model_rerouted"),status:t.Literal("completed"),toModel:t.String({minLength:1}),type:t.Literal("runtime_status")},{additionalProperties:false}),gf=t.Object({detail:t.Optional(t.String({maxLength:8192})),durationMs:t.Optional(t.Integer({minimum:0})),eventName:t.String({minLength:1}),id:t.String({minLength:1}),kind:t.Literal("hook"),status:ze,type:t.Literal("runtime_status")},{additionalProperties:false}),yf=t.Union([Sf,ff,gf]),Ms=t.Object({id:t.String({minLength:1}),text:t.String(),type:t.Literal("plan")},{additionalProperties:false}),Ns=t.Object({detail:t.Optional(t.String()),id:t.String({minLength:1}),label:t.String({minLength:1}),status:t.Optional(ze),transient:t.Optional(t.Boolean()),type:t.Literal("activity")},{additionalProperties:false}),_s=t.Union([t.Literal("in_progress"),t.Literal("approved"),t.Literal("denied"),t.Literal("timed_out"),t.Literal("aborted")]),Gs=t.Object({detail:t.String(),type:t.Union([t.Literal("command"),t.Literal("file_change"),t.Literal("network_access"),t.Literal("mcp_tool_call"),t.Literal("permissions")])},{additionalProperties:false}),qs=t.Object({action:Gs,id:t.String({minLength:1}),rationale:t.Optional(t.String()),riskLevel:t.Optional(t.Union([t.Literal("low"),t.Literal("medium"),t.Literal("high"),t.Literal("critical")])),status:_s,targetItemId:t.Optional(t.String({minLength:1})),type:t.Literal("approval_review"),userAuthorization:t.Optional(t.Union([t.Literal("unknown"),t.Literal("low"),t.Literal("medium"),t.Literal("high")]))},{additionalProperties:false}),hf=t.Union([t.Object({type:t.Literal("uncommitted_changes")},{additionalProperties:false}),t.Object({branch:t.String({minLength:1}),type:t.Literal("base_branch")},{additionalProperties:false}),t.Object({sha:t.String({minLength:1}),title:t.Optional(t.String({minLength:1})),type:t.Literal("commit")},{additionalProperties:false}),t.Object({instructions:t.String({minLength:1}),type:t.Literal("custom")},{additionalProperties:false})]),Ks=t.Object({id:t.String({minLength:1}),target:hf,type:t.Literal("review")},{additionalProperties:false}),rr=t.Union([po,mo,lo,Cs,ks,Ms,Ns,qs,Ks,yf]),vs=t.Union([t.Literal("running"),t.Literal("completed"),t.Literal("failed"),t.Literal("interrupted")]),ee=t.Object({processCursor:t.Optional(t.String({minLength:1,maxLength:8192})),completedAt:Et,error:t.Union([t.String(),t.Null()]),id:t.String({minLength:1}),itemTimings:t.Optional(t.Record(t.String(),t.Object({completedAtMs:t.Optional(t.Integer({minimum:0})),startedAtMs:t.Optional(t.Integer({minimum:0}))},{additionalProperties:false}))),items:t.Array(rr),startedAt:Et,status:vs},{additionalProperties:false}),Ds=t.Object({id:t.String({minLength:1}),kind:Br,mediaType:wr,name:t.String({maxLength:255,minLength:1}),size:t.Integer({maximum:co,minimum:1})},{additionalProperties:false}),Rf=t.Object({attachment:Ds},{additionalProperties:false}),ws=t.Union([t.Literal("user"),t.Literal("repo"),t.Literal("system"),t.Literal("admin")]),nr=t.Object({description:t.String(),displayName:t.String({minLength:1}),id:t.String({minLength:1}),name:t.String({minLength:1}),scope:ws},{additionalProperties:false}),Bs=t.Union([t.Literal("notStarted"),t.Literal("starting"),t.Literal("connected"),t.Literal("authenticationRequired"),t.Literal("failed"),t.Literal("cancelled"),t.Literal("disabled"),t.Literal("unknown")]),So=t.Union([t.Literal("starting"),t.Literal("ready"),t.Literal("failed"),t.Literal("cancelled")]),fo=t.Literal("reauthenticationRequired"),Vs=t.Object({displayName:t.String({minLength:1}),httpOrigin:t.Optional(t.String({minLength:1})),name:t.String({minLength:1}),status:Bs,toolCount:t.Integer({minimum:0})},{additionalProperties:false}),go=t.Object({data:t.Array(Vs,{uniqueItems:true})},{additionalProperties:false}),Vr=t.Object({id:t.String({minLength:1}),name:t.String({minLength:1})},{additionalProperties:false}),Qs=t.Object({id:t.String({minLength:1})},{additionalProperties:false}),uo={attachments:t.Array(Qs),skills:t.Array(Vr),text:t.String({maxLength:1e5}),type:t.Literal("prompt")},Se=t.Union([t.Object({...uo,text:t.String({maxLength:1e5,minLength:1})},{additionalProperties:false}),t.Object({...uo,attachments:t.Array(Qs,{minItems:1})},{additionalProperties:false}),t.Object({...uo,skills:t.Array(Vr,{minItems:1})},{additionalProperties:false})]),$s=t.Union([t.Literal("editing"),t.Literal("queued")]),or=t.Object({attachments:t.Array(Ze,{maxItems:Dr}),clientUserMessageId:t.String({minLength:1}),id:t.String({minLength:1}),skills:t.Array(Vr),status:$s,text:t.String({maxLength:1e5})},{additionalProperties:false}),Pf=t.Object({data:t.Array(or),nextCursor:t.Union([t.String({minLength:1}),t.Null()])},{additionalProperties:false}),kt=t.Object({data:t.Array(or)},{additionalProperties:false});var xf="gpt-6-luna",Af=t.Object({mcp_elicitations:t.Boolean(),request_permissions:t.Boolean(),rules:t.Boolean(),sandbox_approval:t.Boolean(),skill_approval:t.Boolean()},{additionalProperties:false}),Hs=t.Object({granular:Af},{additionalProperties:false}),xU={granular:{mcp_elicitations:true,request_permissions:true,rules:true,sandbox_approval:true,skill_approval:true}},If=t.Union([t.Literal("on-request"),Hs,t.Literal("never")]),yo=t.Union([t.Literal("untrusted"),t.Literal("on-request"),Hs,t.Literal("never")]),Qr=t.Union([t.Literal("user"),t.Literal("auto_review")]),Ws=t.Union([t.Literal("read-only"),t.Literal("workspace-write"),t.Literal("danger-full-access")]),$r={model:t.String({minLength:1}),reasoningEffort:t.String(),sandboxMode:Ws},ir=t.Object({approvalPolicy:yo,approvalsReviewer:Qr,...$r},{additionalProperties:false}),Lf=t.Literal("plan"),Of={modelContextWindow:t.Union([t.Integer({minimum:1,maximum:Number.MAX_SAFE_INTEGER}),t.Null()]),commitMessageModel:t.String({minLength:1}),commitMessagePrompt:t.String({maxLength:4e3}),defaultOpenAppId:t.Union([t.Exclude(Ct,t.Literal("system-default")),t.Null()]),fastMode:t.Boolean(),followUpBehavior:t.Union([t.Literal("queue"),t.Literal("steer")]),pet:Xa,...$r},bf=t.Object({approvalPolicy:If,approvalsReviewer:Qr,...Of},{additionalProperties:false}),AU=t.Object({settings:bf},{additionalProperties:false}),Ys=t.Object({approvalPolicy:yo,approvalsReviewer:Qr,fastMode:t.Boolean(),...$r},{additionalProperties:false}),IU=t.Object({settings:Ys},{additionalProperties:false}),LU=t.Object({settings:ir},{additionalProperties:false}),OU=t.Object({settings:ir,fastMode:t.Boolean()},{additionalProperties:false}),bU=t.Object({settings:ir,defaults:Ys},{additionalProperties:false}),Tf={collaborationMode:t.Optional(Lf),fastMode:t.Optional(t.Literal(true)),goalMode:t.Optional(t.Literal(true)),...$r},pt=t.Object({approvalPolicy:yo,approvalsReviewer:Qr,...Tf},{additionalProperties:false}),Xs=t.Object({description:t.String(),id:t.String({minLength:1})},{additionalProperties:false}),ho=t.Object({defaultReasoningEffort:t.String(),description:t.String(),displayName:t.String({minLength:1}),id:t.String({minLength:1}),inputModalities:t.Optional(t.Array(t.String({minLength:1}),{maxItems:16})),isDefault:t.Boolean(),supportedReasoningEfforts:t.Array(Xs)},{additionalProperties:false}),ar=t.Object({contextWindow:t.Union([t.Integer({minimum:1}),t.Null()]),usedTokens:t.Integer({minimum:0})},{additionalProperties:false});var CU=t.Object({type:t.Literal("scheduled-tasks.changed")},{additionalProperties:false}),zs=t.Union([t.Object({atUnixMs:t.Integer(),type:t.Literal("once")},{additionalProperties:false}),t.Object({rrule:t.String({maxLength:2048,minLength:1}),startAtUnixMs:t.Integer(),timezone:t.String({maxLength:128,minLength:1}),type:t.Literal("rrule")},{additionalProperties:false})]),kU=t.Object({schedule:zs},{additionalProperties:false}),MU=t.Object({dates:t.Array(t.Integer(),{maxItems:5})},{additionalProperties:false}),Zs=t.Union([t.Literal("unknown"),t.Literal("cleanup_pending"),t.Literal("failed"),t.Literal("running"),t.Literal("skipped"),t.Literal("started")]),jf=t.Object({error:t.Union([t.String(),t.Null()]),finishedAtUnixMs:t.Union([t.Integer(),t.Null()]),id:t.String({minLength:1}),startedAtUnixMs:t.Integer(),status:Zs,taskId:t.Union([t.String({minLength:1}),t.Null()])},{additionalProperties:false}),Js={enabled:t.Boolean(),messageAttachments:t.Array(Ze),name:t.String({maxLength:120,minLength:1}),projectId:t.String({maxLength:128,minLength:1}),projectName:t.String({maxLength:256,minLength:1}),prompt:Se,schedule:zs,turnOptions:pt},NU=t.Object(Js,{additionalProperties:false}),ec=t.Object({...Js,createdAtUnixMs:t.Integer(),id:t.String({minLength:1}),lastRunAtUnixMs:t.Union([t.Integer(),t.Null()]),lastRunStatus:t.Union([Zs,t.Null()]),nextRunAtUnixMs:t.Union([t.Integer(),t.Null()]),runs:t.Array(jf,{maxItems:20}),updatedAtUnixMs:t.Integer()},{additionalProperties:false}),tc=t.Object({data:t.Array(ec)},{additionalProperties:false}),_U=t.Object({task:ec,tasks:tc},{additionalProperties:false}),GU=t.Object({status:t.Literal("deleted"),taskId:t.String({minLength:1}),tasks:tc},{additionalProperties:false}),qU=t.Object({enabled:t.Boolean()},{additionalProperties:false});var rc=t.Union([t.Literal("local"),t.Literal("lan")]),Ro=t.Object({authenticated:t.Boolean(),mode:rc,version:t.Literal(1)},{additionalProperties:false}),Uf=t.Object({code:t.String({minLength:1})},{additionalProperties:false}),Ef=Ro,Ff=Ro;var Cf=t.Union([t.String(),t.Null()]),Po=t.Union([t.Number(),t.Null()]),sr={description:Cf,id:t.String({minLength:1}),required:t.Boolean(),title:t.String({minLength:1})},xo=t.Object({label:t.String({minLength:1}),value:t.String()},{additionalProperties:false}),Ao=t.Union([t.Object({...sr,defaultValue:t.Union([t.String(),t.Null()]),format:t.Union([t.Literal("email"),t.Literal("uri"),t.Literal("date"),t.Literal("date-time"),t.Null()]),maxLength:t.Union([t.Integer({minimum:0}),t.Null()]),minLength:t.Union([t.Integer({minimum:0}),t.Null()]),type:t.Literal("string")},{additionalProperties:false}),t.Object({...sr,defaultValue:t.Union([t.String(),t.Null()]),options:t.Array(xo,{minItems:1}),type:t.Literal("select")},{additionalProperties:false}),t.Object({...sr,defaultValue:t.Array(t.String()),maximum:t.Union([t.Integer({minimum:0}),t.Null()]),minimum:t.Union([t.Integer({minimum:0}),t.Null()]),options:t.Array(xo,{minItems:1}),type:t.Literal("multi_select")},{additionalProperties:false}),t.Object({...sr,defaultValue:Po,maximum:Po,minimum:Po,type:t.Union([t.Literal("number"),t.Literal("integer")])},{additionalProperties:false}),t.Object({...sr,defaultValue:t.Union([t.Boolean(),t.Null()]),type:t.Literal("boolean")},{additionalProperties:false})]),kf=t.Record(t.String(),t.Union([t.String(),t.Number(),t.Boolean(),t.Array(t.String())])),Io=t.Union([t.Object({action:t.Literal("accept"),content:kf},{additionalProperties:false}),t.Object({action:t.Union([t.Literal("decline"),t.Literal("cancel")]),content:t.Null()},{additionalProperties:false})]);var oc=t.Union([t.Literal("pending"),t.Literal("resolved"),t.Literal("expired")]),Wr=t.Union([t.Literal("allow"),t.Literal("allow_for_session"),t.Literal("deny")]),Mf=t.Object({host:t.String({minLength:1}),protocol:t.Union([t.Literal("http"),t.Literal("https"),t.Literal("socks5Tcp"),t.Literal("socks5Udp")])},{additionalProperties:false}),mr={createdAt:W,expiresAt:Et,itemId:t.String({minLength:1}),projectId:t.String({minLength:1}),requestId:t.String({minLength:1}),status:oc,taskId:t.String({minLength:1}),turnId:t.String({minLength:1})},cr={itemId:t.String({minLength:1}),projectId:t.String({minLength:1}),taskId:t.String({minLength:1}),turnId:t.String({minLength:1})},pr=t.Object({description:t.String(),label:t.String({minLength:1})},{additionalProperties:false}),Hr={header:t.String({minLength:1}),id:t.String({minLength:1}),isSecret:t.Boolean(),prompt:t.String({minLength:1})},ic=t.Union([t.Object({...Hr,isOther:t.Boolean(),options:t.Array(pr,{minItems:1}),type:t.Literal("choice")},{additionalProperties:false}),t.Object({...Hr,isOther:t.Literal(true),options:t.Array(pr,{maxItems:0}),type:t.Literal("choice")},{additionalProperties:false}),t.Object({...Hr,isOther:t.Literal(false),options:t.Array(pr,{maxItems:2,minItems:2}),type:t.Literal("confirmation")},{additionalProperties:false}),t.Object({...Hr,isOther:t.Boolean(),options:t.Array(pr,{maxItems:0}),type:t.Literal("short_text")},{additionalProperties:false})]),Lo=t.Object({...mr,availableDecisions:t.Array(Wr,{minItems:1}),grantRoot:t.Union([t.String(),t.Null()]),reason:t.Union([t.String(),t.Null()]),type:t.Literal("file_change_approval")},{additionalProperties:false}),ac=t.Union([t.Literal("network"),t.Literal("file_system")]),Nf=t.Union([t.Literal("read"),t.Literal("write"),t.Literal("deny")]),_f=t.Union([t.Object({type:t.Literal("path"),value:t.String({minLength:1})},{additionalProperties:false}),t.Object({type:t.Literal("glob"),value:t.String({minLength:1})},{additionalProperties:false}),t.Object({kind:t.Union([t.Literal("root"),t.Literal("minimal"),t.Literal("project_roots"),t.Literal("tmpdir"),t.Literal("slash_tmp"),t.Literal("unknown")]),path:t.Union([t.String({minLength:1}),t.Null()]),subpath:t.Union([t.String(),t.Null()]),type:t.Literal("special")},{additionalProperties:false})]),Gf=t.Object({entries:t.Array(t.Object({access:Nf,path:_f},{additionalProperties:false})),globScanMaxDepth:t.Union([t.Integer({minimum:0}),t.Null()]),read:t.Union([t.Array(t.String({minLength:1})),t.Null()]),write:t.Union([t.Array(t.String({minLength:1})),t.Null()])},{additionalProperties:false}),sc=t.Object({fileSystem:t.Union([Gf,t.Null()]),network:t.Union([t.Object({enabled:t.Union([t.Boolean(),t.Null()])},{additionalProperties:false}),t.Null()])},{additionalProperties:false}),Oo=t.Object({...mr,additionalPermissions:t.Optional(t.Union([sc,t.Null()])),availableDecisions:t.Array(Wr,{minItems:1}),command:t.Union([t.String(),t.Null()]),cwd:t.Union([t.String(),t.Null()]),kind:t.Union([t.Literal("command"),t.Literal("write_stdin")]),networkAccess:t.Union([Mf,t.Null()]),reason:t.Union([t.String(),t.Null()]),type:t.Literal("command_approval")},{additionalProperties:false}),bo=t.Object({...mr,cwd:t.String({minLength:1}),environmentId:t.Union([t.String({minLength:1}),t.Null()]),permissions:sc,reason:t.Union([t.String(),t.Null()]),type:t.Literal("permissions_approval")},{additionalProperties:false}),To=t.Object({...mr,questions:t.Array(ic,{minItems:1,maxItems:3}),type:t.Literal("user_input")},{additionalProperties:false}),jo={...mr,message:t.String({minLength:1}),serverName:t.String({minLength:1}),type:t.Literal("mcp_elicitation")},cc=t.Object({...jo,fields:t.Array(Ao),mode:t.Literal("form")},{additionalProperties:false}),pc=t.Object({...jo,mode:t.Literal("url"),url:t.String({minLength:1})},{additionalProperties:false}),mc=t.Object({...jo,mode:t.Literal("unsupported")},{additionalProperties:false}),lc=t.Union([cc,pc,mc]),uc=t.Union([Oo,Lo,bo,To,lc]);function Uo(e){return t.Union([t.Object({...Oo.properties,status:t.Literal(e)},{additionalProperties:false}),t.Object({...Lo.properties,status:t.Literal(e)},{additionalProperties:false}),t.Object({...bo.properties,status:t.Literal(e)},{additionalProperties:false}),t.Object({...To.properties,status:t.Literal(e)},{additionalProperties:false}),t.Object({...cc.properties,status:t.Literal(e)},{additionalProperties:false}),t.Object({...pc.properties,status:t.Literal(e)},{additionalProperties:false}),t.Object({...mc.properties,status:t.Literal(e)},{additionalProperties:false})])}var Yr=Uo("pending"),dc=Uo("resolved"),Sc=Uo("expired"),nc=t.Object({decision:Wr},{additionalProperties:false}),qf=t.Object({answers:t.Record(t.String(),t.Array(t.String({minLength:1}),{maxItems:1,minItems:1}))},{additionalProperties:false}),Kf=t.Object({grantedPermissions:t.Array(ac,{maxItems:2,uniqueItems:true}),scope:t.Union([t.Literal("turn"),t.Literal("session")])},{additionalProperties:false}),vf=t.Union([t.Object({...cr,resolution:nc,type:t.Literal("command_approval")},{additionalProperties:false}),t.Object({...cr,resolution:nc,type:t.Literal("file_change_approval")},{additionalProperties:false}),t.Object({...cr,resolution:Kf,type:t.Literal("permissions_approval")},{additionalProperties:false}),t.Object({...cr,resolution:qf,type:t.Literal("user_input")},{additionalProperties:false}),t.Object({...cr,resolution:Io,type:t.Literal("mcp_elicitation")},{additionalProperties:false})]),Df=t.Object({request:uc},{additionalProperties:false});var fc=t.Union([t.Literal("active"),t.Literal("paused"),t.Literal("blocked"),t.Literal("usage_limited"),t.Literal("budget_limited"),t.Literal("complete")]),Mt=t.Object({createdAt:W,objective:t.String({maxLength:4e3,minLength:1}),status:fc,timeUsedSeconds:t.Integer({minimum:0}),tokenBudget:t.Union([t.Integer({minimum:0}),t.Null()]),tokensUsed:t.Integer({minimum:0}),updatedAt:W},{additionalProperties:false}),wf=t.Object({status:t.Union([t.Literal("active"),t.Literal("paused")])},{additionalProperties:false}),Bf=t.Object({goal:Mt},{additionalProperties:false}),Vf=t.Object({cleared:t.Boolean()},{additionalProperties:false});var Qf="temporary",$f="/v1/temporary",gc=t.Union([t.Literal("pending"),t.Literal("in_progress"),t.Literal("completed")]),yc=t.Object({status:gc,text:t.String({minLength:1})},{additionalProperties:false}),Xr=t.Object({explanation:t.Union([t.String(),t.Null()]),steps:t.Array(yc)},{additionalProperties:false}),Eo=t.Object({contextUsage:t.Union([ar,t.Null()]),goal:t.Union([Mt,t.Null()]),id:t.String({minLength:1}),plan:t.Union([Xr,t.Null()]),pendingRequests:t.Array(Yr),pinned:t.Boolean(),projectId:t.String({minLength:1}),settings:ir,threadConfiguration:t.Optional(so),status:t.Union([t.Literal("idle"),t.Literal("running"),t.Literal("failed")]),title:t.String({minLength:1}),turns:t.Array(ee),turnsNextCursor:t.Union([t.String({minLength:1}),t.Null()]),updatedAt:W,workspacePath:t.Optional(b)},{additionalProperties:false});function zr(e){return t.Object({data:t.Array(e),nextCursor:t.Union([t.String(),t.Null()])},{additionalProperties:false})}var hc=zr(Te),Hf=hc,lr=zr(B),Zr=zr(ho),Wf=zr(nr),Yf=t.Object({status:t.Literal("ok"),version:t.Literal(1)},{additionalProperties:false}),Xf=t.Object({feedback:t.Object({upload:t.Boolean()},{additionalProperties:false}),goals:t.Object({clear:t.Boolean(),read:t.Boolean(),update:t.Boolean()},{additionalProperties:false}),provider:t.String({minLength:1}),skills:t.Object({list:t.Boolean(),use:t.Boolean()},{additionalProperties:false}),tasks:t.Object({fork:t.Boolean(),list:t.Boolean(),read:t.Boolean(),start:t.Boolean()},{additionalProperties:false}),turns:t.Object({compact:t.Boolean(),interrupt:t.Boolean(),review:t.Boolean(),start:t.Boolean(),steer:t.Boolean()},{additionalProperties:false})},{additionalProperties:false});var Fo=t.Union([t.Literal("official"),t.Literal("custom")]),Rc=t.Union([t.Literal("disconnected"),t.Literal("pending"),t.Literal("connected"),t.Literal("failed")]),Pc=t.Union([t.Object({email:t.Union([t.String({maxLength:320}),t.Null()]),planType:t.Union([t.String({maxLength:64}),t.Null()]),type:t.Literal("chatgpt")},{additionalProperties:false}),t.Object({type:t.Literal("apiKey")},{additionalProperties:false})]),xc=t.Object({error:t.Union([t.String({maxLength:1e3}),t.Null()]),loginId:t.String({maxLength:256,minLength:1}),state:t.Union([t.Literal("pending"),t.Literal("failed")])},{additionalProperties:false}),Jr=t.Object({account:t.Union([Pc,t.Null()]),customBaseUrl:t.Union([t.String({maxLength:2048,minLength:1}),t.Null()]),mode:Fo,pendingLogin:t.Union([xc,t.Null()]),state:Rc},{additionalProperties:false}),zf=t.Object({},{additionalProperties:false}),Zf=t.Object({authUrl:t.String({maxLength:8192,minLength:1}),loginId:t.String({maxLength:256,minLength:1}),status:Jr},{additionalProperties:false}),Jf=t.Object({apiKey:t.Optional(t.String({maxLength:16384,minLength:1})),baseUrl:t.String({maxLength:2048,minLength:1}),models:t.Optional(t.Array(t.Object({id:t.String({maxLength:256,minLength:1,pattern:".*\\S.*"}),name:t.String({maxLength:256,minLength:1,pattern:".*\\S.*"})},{additionalProperties:false}),{maxItems:1e3}))},{additionalProperties:false}),eg=t.Object({models:Zr,status:Jr},{additionalProperties:false}),tg=t.Object({loginId:t.String({maxLength:256,minLength:1})},{additionalProperties:false}),rg=t.Object({status:Jr},{additionalProperties:false}),ng=t.Object({customBaseUrl:t.Union([t.String({maxLength:2048,minLength:1}),t.Null()]),customModels:t.Union([Zr,t.Null()]),mode:Fo,updatedAt:W},{additionalProperties:false});function og(e){return e.mode==="official"&&e.state==="connected"&&e.account?.type==="chatgpt"}var Fe=t.Object({sequence:t.Integer({minimum:0}),sessionId:t.String({minLength:1})},{additionalProperties:false});var ur={provider:t.String({minLength:1}),sequence:t.Integer({minimum:0}),sessionId:t.String({minLength:1}),taskId:t.String({minLength:1}),timestamp:W,version:t.Literal(2)};function fe(e){return t.Object({...ur,...e},{additionalProperties:false})}var en=fe({itemId:t.String({minLength:1}),payload:t.Object({delta:t.String()},{additionalProperties:false}),turnId:t.String({minLength:1}),type:t.Literal("message.delta")}),tn=fe({itemId:t.String({minLength:1}),payload:t.Object({delta:t.String()},{additionalProperties:false}),turnId:t.String({minLength:1}),type:t.Literal("plan.delta")}),rn=fe({itemId:t.String({minLength:1}),payload:t.Object({message:t.String({maxLength:8192})},{additionalProperties:false}),turnId:t.String({minLength:1}),type:t.Literal("tool.progress")}),nn=fe({payload:t.Object({code:t.Union([t.Literal("runtime_warning"),t.Literal("guardian_warning"),t.Literal("strict_review_required"),t.Literal("model_verification"),t.Literal("hook_status")]),level:t.Union([t.Literal("info"),t.Literal("warning")]),message:t.String({maxLength:8192,minLength:1})},{additionalProperties:false}),type:t.Literal("task.notice")}),on=fe({payload:t.Object({status:t.Union([t.Literal("idle"),t.Literal("running"),t.Literal("failed")])},{additionalProperties:false}),type:t.Literal("task.status_updated")}),an=fe({payload:t.Object({reason:t.Union([t.Literal("archived"),t.Literal("deleted")])},{additionalProperties:false}),type:t.Literal("task.removed")}),sn=fe({payload:t.Object({},{additionalProperties:false}),type:t.Literal("skills.changed")}),cn=fe({payload:t.Object({},{additionalProperties:false}),type:t.Literal("queue.changed")}),pn=fe({payload:t.Object({rootPath:t.String({minLength:1})},{additionalProperties:false}),type:t.Literal("project.git_metadata_changed")}),mn=fe({itemId:t.String({minLength:1}),payload:t.Object({delta:t.String()},{additionalProperties:false}),turnId:t.String({minLength:1}),type:t.Literal("command.output_delta")}),ln=fe({payload:t.Object({code:t.Optional(t.Union([t.Literal("context_window_exceeded"),t.Literal("session_budget_exceeded"),t.Literal("usage_limit_exceeded"),t.Literal("rate_limit_exceeded"),t.Literal("flex_unavailable"),t.Literal("server_overloaded"),t.Literal("policy_blocked"),t.Literal("too_many_denials"),t.Literal("connection_failed"),t.Literal("internal_error"),t.Literal("unauthorized"),t.Literal("bad_request"),t.Literal("sandbox_error"),t.Literal("other")])),httpStatusCode:t.Optional(t.Integer({maximum:599,minimum:100})),message:t.String({minLength:1}),willRetry:t.Boolean()},{additionalProperties:false}),turnId:t.String({minLength:1}),type:t.Literal("provider.error")}),un=fe({payload:t.Object({},{additionalProperties:false}),type:t.Literal("goal.cleared")});var hE=t.Object({pinned:t.Optional(t.Literal(true))},{additionalProperties:false}),Co=t.Object({data:t.Array(B,{maxItems:1e4})},{additionalProperties:false});var ig=t.Object({rootPath:t.Optional(b),worktreePath:t.Optional(b)},{additionalProperties:false}),ag=t.Object({task:B},{additionalProperties:false}),sg=t.Object({pinned:t.Boolean()},{additionalProperties:false}),cg=t.Object({pinnedTasks:Co,task:B},{additionalProperties:false}),pg=t.Object({title:t.String({maxLength:200,minLength:1,pattern:"\\S"})},{additionalProperties:false}),mg=t.Object({task:B,taskCatalog:Co},{additionalProperties:false}),lg=t.Object({},{additionalProperties:false}),ug=t.Object({status:t.Literal("archived"),taskId:t.String({minLength:1}),tasks:lr},{additionalProperties:false}),dg=t.Object({},{additionalProperties:false}),Sg=t.Object({task:B,tasks:lr},{additionalProperties:false}),fg=t.Object({},{additionalProperties:false}),gg=t.Object({status:t.Literal("deleted"),taskId:t.String({minLength:1}),tasks:lr},{additionalProperties:false}),yg=t.Object({status:t.Union([t.Literal("busy"),t.Literal("notLoaded"),t.Literal("notSubscribed"),t.Literal("unsubscribed")]),taskId:t.String({minLength:1})},{additionalProperties:false}),hg=t.Object({target:tr},{additionalProperties:false}),Rg=t.Object({taskId:t.String({minLength:1}),turn:ee},{additionalProperties:false}),Pg=t.Object({},{additionalProperties:false}),xg=t.Object({status:t.Literal("compacting"),taskId:t.String({minLength:1})},{additionalProperties:false}),Ag=t.Object({lastTurnId:t.Optional(t.String({minLength:1}))},{additionalProperties:false}),Ig=t.Object({task:B},{additionalProperties:false}),Lg=t.Object({},{additionalProperties:false}),Og=go,bg=t.Object({classification:t.String({maxLength:100,minLength:1}),includeLogs:t.Boolean(),reason:t.String({maxLength:4e3,minLength:1})},{additionalProperties:false}),Tg=t.Object({status:t.Literal("sent"),taskId:t.String({minLength:1})},{additionalProperties:false}),jg=t.Object({input:Se,options:pt},{additionalProperties:false}),Ug=t.Object({checkpoint:Fe,taskId:t.String({minLength:1}),turn:ee},{additionalProperties:false}),Eg=t.Object({input:Se,taskId:t.String({minLength:1})},{additionalProperties:false}),Fg=t.Object({status:t.Literal("accepted"),taskId:t.String({minLength:1}),turnId:t.String({minLength:1})},{additionalProperties:false}),Cg=t.Object({clientUserMessageId:t.String({minLength:1}),input:Se},{additionalProperties:false}),Ac=t.Object({queue:kt,queuedSubmission:or},{additionalProperties:false}),kg=t.Object({input:Se,status:t.Union([t.Literal("editing"),t.Literal("queued")])},{additionalProperties:false}),Mg=Ac,Ng=t.Object({deleted:t.Boolean(),queue:kt},{additionalProperties:false}),_g=t.Object({queuedSubmissionIds:t.Array(t.String({minLength:1}),{uniqueItems:true})},{additionalProperties:false}),Gg=t.Object({queue:kt,status:t.Literal("reordered")},{additionalProperties:false}),qg=t.Object({queuedSubmissionId:t.Optional(t.String({minLength:1}))},{additionalProperties:false}),Kg=t.Object({queue:kt,taskId:t.String({minLength:1}),turn:ee},{additionalProperties:false}),vg=t.Object({taskId:t.String({minLength:1})},{additionalProperties:false}),Dg=t.Object({status:t.Literal("interrupting"),taskId:t.String({minLength:1}),turnId:t.String({minLength:1})},{additionalProperties:false}),Ic=t.Union([t.Literal("PROJECT_TODO_CHANGED"),t.Literal("PROJECT_TODO_NOT_FOUND"),t.Literal("SUBMISSION_OUTCOME_UNKNOWN"),t.Literal("ACCESS_DENIED"),t.Literal("IDEMPOTENCY_KEY_REQUIRED"),t.Literal("IDEMPOTENCY_CONFLICT"),t.Literal("IDEMPOTENCY_CAPACITY_EXCEEDED"),t.Literal("INVALID_REQUEST"),t.Literal("PROJECT_NOT_FOUND"),t.Literal("PROJECT_FILE_NOT_FOUND"),t.Literal("PROJECT_FILE_CONFLICT"),t.Literal("PROJECT_FILE_MUTATION_FAILED"),t.Literal("TASK_NOT_FOUND"),t.Literal("TURN_NOT_FOUND"),t.Literal("TURN_NOT_RUNNING"),t.Literal("ATTACHMENT_NOT_FOUND"),t.Literal("PENDING_REQUEST_NOT_FOUND"),t.Literal("PENDING_REQUEST_EXPIRED"),t.Literal("PENDING_REQUEST_ALREADY_RESOLVED"),t.Literal("PENDING_REQUEST_MISMATCH"),t.Literal("PAIRING_FAILED"),t.Literal("PAIRING_RATE_LIMITED"),t.Literal("GIT_STATUS_CHANGED"),t.Literal("GIT_REPOSITORY_UNAVAILABLE"),t.Literal("GIT_PATH_UNAVAILABLE"),t.Literal("GIT_COMMIT_FAILED"),t.Literal("GIT_PUSH_FAILED"),t.Literal("GIT_BRANCH_ALREADY_ACTIVE"),t.Literal("GIT_BRANCH_ALREADY_EXISTS"),t.Literal("GIT_BRANCH_CREATE_FAILED"),t.Literal("GIT_BRANCH_INVALID"),t.Literal("GIT_BRANCH_NOT_FOUND"),t.Literal("GIT_BRANCH_SWITCH_FAILED"),t.Literal("GIT_WORKTREE_ALREADY_ACTIVE"),t.Literal("GIT_WORKTREE_CREATE_FAILED"),t.Literal("GIT_WORKTREE_NOT_FOUND"),t.Literal("GIT_MUTATION_IN_PROGRESS"),t.Literal("GIT_REPOSITORY_READ_ONLY"),t.Literal("COMMIT_MESSAGE_GENERATION_FAILED"),t.Literal("UPDATE_NOT_AVAILABLE"),t.Literal("UPDATE_CHECK_FAILED"),t.Literal("UPDATE_INSTALL_FAILED"),t.Literal("PET_NOT_FOUND"),t.Literal("PET_ASSET_INVALID"),t.Literal("PET_DOWNLOAD_FAILED"),t.Literal("SKILL_MARKET_CONFLICT"),t.Literal("SKILL_MARKET_FILESYSTEM"),t.Literal("SKILL_MARKET_INCOMPATIBLE"),t.Literal("SKILL_MARKET_INVALID_ARCHIVE"),t.Literal("SKILL_MARKET_INVALID_RESPONSE"),t.Literal("SKILL_MARKET_NETWORK"),t.Literal("SKILL_MARKET_NOT_FOUND"),t.Literal("SKILL_MARKET_RATE_LIMITED"),t.Literal("SKILL_MARKET_UNSAFE"),t.Literal("PROVIDER_ERROR"),t.Literal("GLOBAL_INSTRUCTIONS_CHANGED"),t.Literal("TEXT_FILE_CONFLICT"),t.Literal("TEXT_FILE_UNSUPPORTED"),t.Literal("TEXT_FILE_UNAVAILABLE"),t.Literal("ASYNC_QUESTION_NOT_FOUND"),t.Literal("ASYNC_QUESTION_RESOLVED")]),wg=t.Object({code:Ic,message:t.String({minLength:1}),retryable:t.Boolean()},{additionalProperties:false});var Lc=t.String({minLength:1}),Oc=t.Integer({minimum:0}),Bg=512*1024,bc=100,Vg={originalByteLength:t.Integer({minimum:0}),truncated:t.Boolean()};function ge(e){return t.Object({...ur,...e},{additionalProperties:false})}var Tc=ge({payload:t.Object({turn:ee},{additionalProperties:false}),turnId:t.String({minLength:1}),type:t.Literal("turn.started")}),jc=ge({itemId:t.String({minLength:1}),payload:t.Object({delta:t.String(),field:t.Union([t.Literal("content"),t.Literal("summary")]),sectionIndex:t.Optional(t.Integer({minimum:0}))},{additionalProperties:false}),turnId:t.String({minLength:1}),type:t.Literal("reasoning.delta")}),Uc=ge({itemId:t.String({minLength:1}),payload:t.Object({changes:t.Array(er,{maxItems:bc}),...Vg},{additionalProperties:false}),turnId:t.String({minLength:1}),type:t.Literal("file_change.updated")}),Ec=ge({payload:t.Object({error:t.Union([t.String({maxLength:8192}),t.Null()]),failureReason:t.Union([fo,t.Null()]),name:t.String({minLength:1}),status:So},{additionalProperties:false}),type:t.Literal("mcp_server.status_updated")}),Fc=ge({payload:t.Object({},{additionalProperties:false}),type:t.Literal("task.metadata_changed")}),Cc=ge({itemId:t.String({minLength:1}),payload:t.Object({item:rr},{additionalProperties:false}),turnId:t.String({minLength:1}),type:t.Literal("item.completed")}),kc=ge({itemId:t.String({minLength:1}),payload:t.Object({item:rr},{additionalProperties:false}),turnId:t.String({minLength:1}),type:t.Literal("item.started")}),Mc=ge({payload:t.Object({turn:ee},{additionalProperties:false}),turnId:t.String({minLength:1}),type:t.Literal("turn.completed")}),Nc=ge({payload:t.Object({usage:ar},{additionalProperties:false}),turnId:t.String({minLength:1}),type:t.Literal("usage.updated")}),_c=ge({payload:t.Object({plan:Xr},{additionalProperties:false}),turnId:t.String({minLength:1}),type:t.Literal("plan.updated")}),Gc=ge({payload:t.Object({goal:Mt},{additionalProperties:false}),type:t.Literal("goal.updated")});function ko(e,r){return ge({itemId:t.String({minLength:1}),payload:t.Object({request:r},{additionalProperties:false}),turnId:t.String({minLength:1}),type:t.Literal(e)})}var qc=ko("pending_request.created",Yr),Kc=ko("pending_request.resolved",dc),vc=ko("pending_request.expired",Sc),Dc=t.Union([Tc,en,jc,mn,tn,rn,Uc,kc,Cc,Mc,Nc,_c,Gc,un,ln,nn,Ec,on,Fc,an,sn,cn,pn,qc,Kc,vc]),wc=64,Qg=512*1024,$g=1024*1024,Bc=t.Object({events:t.Array(Dc,{maxItems:wc,minItems:1}),type:t.Literal("events.batch"),version:t.Literal(3)},{additionalProperties:false}),Vc=t.Object({latestSequence:Oc,sessionId:Lc,type:t.Literal("connection.ready"),version:t.Literal(3)},{additionalProperties:false}),Qc=t.Object({latestSequence:Oc,reason:t.Union([t.Literal("event_retention_exceeded"),t.Literal("session_changed"),t.Literal("sequence_gap")]),sessionId:Lc,type:t.Literal("resync.required"),version:t.Literal(3)},{additionalProperties:false}),Hg=t.Union([Vc,Qc,Bc]),$c=t.Object({checkpoint:Fe,snapshot:Eo},{additionalProperties:false}),Wg=t.Object({task:t.Union([$c,t.Null()])},{additionalProperties:false});var qe=t.Integer({minimum:0}),Hc=t.Object({activeClients:qe,backpressureSignals:qe,coalescedEvents:qe,pendingDeltas:qe,projectId:t.String({minLength:1}),providerEventsReceived:qe,publishedEvents:qe,retainedEvents:qe,retentionEvictions:qe,slowClientDisconnects:qe},{additionalProperties:false}),Yg=t.Object({projects:t.Array(Hc),version:t.Literal(1)},{additionalProperties:false});var KE=t.Object({content:t.String(),path:t.String(),overrideActive:t.Boolean()},{additionalProperties:false}),vE=t.Object({content:t.String({maxLength:1e6}),expectedContent:t.String({maxLength:1e6})},{additionalProperties:false}),Xg=t.Object({enabled:t.Boolean(),allowExternalContext:t.Boolean()},{additionalProperties:false}),DE=t.Partial(Xg),wE=t.Object({webSearch:t.Union([t.Literal("disabled"),t.Literal("cached"),t.Literal("live")]),modelVerbosity:t.Union([t.Literal("low"),t.Literal("medium"),t.Literal("high"),t.Null()])},{additionalProperties:false}),BE=t.Object({success:t.Boolean()},{additionalProperties:false});var $E=t.Object({status:t.Literal("scheduled")},{additionalProperties:false});var zg=t.Object({day:t.String({pattern:"^\\d{4}-\\d{2}-\\d{2}$"}),title:t.String(),copyright:t.String()},{additionalProperties:false}),YE=t.Array(zg);var rF=t.Union([t.Object({type:t.Literal("prompt"),taskId:t.Optional(t.String({minLength:1})),input:Se,options:pt},{additionalProperties:false}),t.Object({type:t.Literal("review"),taskId:t.Optional(t.String({minLength:1})),target:tr},{additionalProperties:false})]),nF=t.Object({createdTask:t.Optional(B),taskId:t.String({minLength:1}),turn:ee,checkpoint:Fe},{additionalProperties:false});var Zg=t.Union([t.Object({type:t.Literal("text"),text:t.String({maxLength:2e5})},{additionalProperties:false}),t.Object({type:t.Literal("skill"),skill:nr},{additionalProperties:false}),t.Object({type:t.Literal("file"),file:Gr},{additionalProperties:false})]),Wc=t.Object({content:t.Array(Zg,{maxItems:2e3}),attachments:t.Array(Ze,{maxItems:32})},{additionalProperties:false}),Yc=t.Object({id:t.String({minLength:1}),projectId:t.String({minLength:1}),createdAt:t.Integer({minimum:0}),updatedAt:t.Integer({minimum:0}),version:t.Integer({minimum:1}),draft:Wc},{additionalProperties:false}),Xc=t.Object({data:t.Array(Yc)},{additionalProperties:false}),pF=t.Object({todo:Yc,todos:Xc},{additionalProperties:false}),mF=t.Object({draft:Wc,expectedVersion:t.Integer({minimum:1})},{additionalProperties:false}),lF=t.Object({expectedVersion:t.Integer({minimum:1})},{additionalProperties:false}),uF=t.Object({deleted:t.Boolean(),todos:Xc},{additionalProperties:false});var Jg=t.Object({title:t.String({minLength:1,maxLength:1e5}),options:t.Union([t.Array(t.String({maxLength:1e5}),{maxItems:100}),t.Null()])},{additionalProperties:false}),zc=t.Object({id:t.String({minLength:1,maxLength:128}),turnId:t.String({minLength:1}),questions:t.Array(Jg,{minItems:1,maxItems:100}),createdAt:t.String(),status:t.Union([t.Literal("pending"),t.Literal("answering"),t.Literal("answered"),t.Literal("dismissed")])},{additionalProperties:false}),ey=t.Object({data:t.Array(zc)},{additionalProperties:false}),yF=t.Object({answers:t.Array(t.String({minLength:1,maxLength:4e3}),{minItems:1,maxItems:100})},{additionalProperties:false}),Zc={checkpoint:Fe,input:Se,messageId:t.String({minLength:1}),question:zc,turn:t.Union([ee,t.Null()]),turnId:t.String({minLength:1})},hF=t.Object(Zc,{additionalProperties:false}),RF=t.Object({...Zc,questions:ey},{additionalProperties:false}),PF=t.Object({ids:t.Array(t.String({minLength:1,maxLength:128}),{minItems:1,maxItems:1e4,uniqueItems:true})},{additionalProperties:false});var Jc=t.Record(t.String(),t.Union([t.String({minLength:1,maxLength:4096}),t.Null()]),{maxProperties:100}),LF=t.Object({projectIds:t.Array(t.String({minLength:1,maxLength:256}),{maxItems:100,uniqueItems:true}),cursor:t.Optional(Jc)},{additionalProperties:false}),OF=t.Object({data:t.Array(B,{maxItems:100}),nextCursor:t.Union([Jc,t.Null()])},{additionalProperties:false});var ep=2*1024*1024,jF=t.Object({revision:t.String({pattern:"^[a-f0-9]{64}$"})},{additionalProperties:false}),UF=t.Object({path:t.String(),content:t.String({maxLength:ep}),version:t.String({pattern:"^[a-f0-9]{64}$"}),revision:t.Optional(t.String({pattern:"^[a-f0-9]{64}$"}))},{additionalProperties:false}),EF=t.Object({path:t.String({minLength:1,maxLength:4096}),content:t.String({maxLength:ep}),expectedVersion:t.String({pattern:"^[a-f0-9]{64}$"})},{additionalProperties:false}),FF=t.Object({version:t.String({pattern:"^[a-f0-9]{64}$"}),revision:t.Optional(t.String({pattern:"^[a-f0-9]{64}$"}))},{additionalProperties:false});var ty=t.Union([t.Object({type:t.Literal("workbench.ready")},{additionalProperties:false}),t.Object({type:t.Literal("project-todos.changed"),projectId:t.String({minLength:1})},{additionalProperties:false}),t.Object({type:t.Literal("async-questions.changed"),projectId:t.String({minLength:1}),taskId:t.String({minLength:1})},{additionalProperties:false})]);
|
|
3
|
+
export{ej as $,TS as $a,Ps as $b,rr as $c,Ef as $d,nn as $e,jc as $f,jF as $g,ve as A,pS as Aa,B as Ab,Zj as Ac,Lf as Ad,Xr as Ae,xg as Af,Xg as Ag,wt as B,mS as Ba,ze as Bb,Jj as Bc,bf as Bd,Eo as Be,Ag as Bf,DE as Bg,Ap as C,lS as Ca,tr as Cb,eU as Cc,AU as Cd,hc as Ce,Ig as Cf,wE as Cg,ae as D,uS as Da,Ss as Db,tU as Dc,Ys as Dd,Hf as De,Lg as Df,BE as Dg,$t as E,Ct as Ea,QS as Eb,rU as Ec,IU as Ed,lr as Ee,Og as Ef,$E as Eg,Li as F,es as Fa,fs as Fb,nU as Fc,LU as Fd,Zr as Fe,bg as Ff,zg as Fg,f as G,ts as Ga,$S as Gb,oU as Gc,OU as Gd,Wf as Ge,Tg as Gf,YE as Gg,h as H,rs as Ha,HS as Hb,iU as Hc,bU as Hd,Yf as He,jg as Hf,rF as Hg,Ci as I,dS as Ia,WS as Ib,aU as Ic,pt as Id,Xf as Ie,Ug as If,nF as Ig,Rr as J,SS as Ja,co as Jb,js as Jc,Xs as Jd,Fo as Je,Eg as Jf,Zg as Jg,y as K,fS as Ka,Dr as Kb,Us as Kc,ho as Kd,Rc as Ke,Fg as Kf,Wc as Kg,Le as L,gS as La,gs as Lb,Es as Lc,ar as Ld,Pc as Le,Cg as Lf,Yc as Lg,Nn as M,yS as Ma,YS as Mb,uf as Mc,CU as Md,xc as Me,Ac as Mf,Xc as Mg,x as N,hS as Na,XS as Nb,Fs as Nc,zs as Nd,Jr as Ne,kg as Nf,pF as Ng,At as O,RS as Oa,zS as Ob,sU as Oc,kU as Od,zf as Oe,Mg as Of,mF as Og,dx as P,PS as Pa,wr as Pb,df as Pc,MU as Pd,Zf as Pe,Ng as Pf,lF as Pg,Qe as Q,er as Qa,Br as Qb,cU as Qc,Zs as Qd,Jf as Qe,_g as Qf,uF as Qg,t as R,oo as Ra,ys as Rb,pU as Rc,jf as Rd,eg as Re,Gg as Rf,Jg as Rg,b as S,xS as Sa,ZS as Sb,mU as Sc,NU as Sd,tg as Se,qg as Sf,zc as Sg,_r as T,is as Ta,Ze as Tb,Cs as Tc,ec as Td,rg as Te,Kg as Tf,ey as Tg,Wa as U,AS as Ua,JS as Ub,ks as Uc,tc as Ud,ng as Ue,vg as Uf,yF as Ug,Ya as V,ss as Va,ef as Vb,Ms as Vc,_U as Vd,og as Ve,Dg as Vf,hF as Vg,Zn as W,IS as Wa,hs as Wb,Ns as Wc,GU as Wd,Fe as We,Ic as Wf,RF as Wg,Jn as X,ps as Xa,po as Xb,_s as Xc,qU as Xd,ur as Xe,wg as Xf,PF as Xg,Yd as Y,LS as Ya,mo as Yb,Gs as Yc,rc as Yd,en as Ye,Bg as Yf,LF as Yg,ZT as Z,OS as Za,Rs as Zb,qs as Zc,Ro as Zd,tn as Ze,bc as Zf,OF as Zg,JT as _,bS as _a,lo as _b,Ks as _c,Uf as _d,rn as _e,Tc as _f,ep as _g,iy as a,Xa as aa,jS as ab,xs as ac,vs as ad,Ff as ae,on as af,Uc as ag,UF as ah,ay as b,Xd as ba,Kr as bb,tf as bc,ee as bd,xo as be,an as bf,Ec as bg,EF as bh,sy as c,zd as ca,ms as cb,rf as cc,Ds as cd,Ao as ce,sn as cf,Fc as cg,FF as ch,cy as d,Zd as da,US as db,Cj as dc,Rf as dd,Io as de,cn as df,Cc as dg,ty as dh,py as e,Jd as ea,ES as eb,nf as ec,ws as ed,oc as ee,pn as ef,kc as eg,my as f,eS as fa,ls as fb,As as fc,nr as fd,Wr as fe,mn as ff,Mc as fg,ly as g,nj as ga,FS as gb,kj as gc,Bs as gd,pr as ge,ln as gf,Nc as gg,uy as h,oj as ha,hj as hb,Mj as hc,So as hd,ic as he,un as hf,_c as hg,dy as i,tS as ia,CS as ib,Nj as ic,fo as id,Lo as ie,hE as if,Gc as ig,Sy as j,Te as ja,kS as jb,qj as jc,Vs as jd,ac as je,Co as jf,qc as jg,qt as k,K as ka,MS as kb,Kj as kc,go as kd,Oo as ke,ig as kf,Kc as kg,Mo as l,eo as la,Rj as lb,of as lc,Vr as ld,bo as le,ag as lf,vc as lg,hn as m,rS as ma,NS as mb,af as mc,Se as md,To as me,sg as mf,Dc as mg,cp as n,Gr as na,Pj as nb,sf as nc,$s as nd,lc as ne,cg as nf,wc as ng,pp as o,nS as oa,_S as ob,wj as oc,or as od,uc as oe,pg as of,Qg as og,Rn as p,oS as pa,us as pb,Bj as pc,Pf as pd,vf as pe,mg as pf,$g as pg,fy as q,iS as qa,GS as qb,Vj as qc,kt as qd,Df as qe,lg as qf,Bc as qg,mp as r,Ft as ra,ao as rb,Qj as rc,xf as rd,fc as re,ug as rf,Vc as rg,lp as s,J as sa,ds as sb,Wj as sc,Af as sd,Mt as se,dg as sf,Qc as sg,gy as t,aS as ta,qS as tb,cf as tc,Hs as td,wf as te,Sg as tf,Hg as tg,up as u,za as ua,KS as ub,Is as uc,xU as ud,Bf as ue,fg as uf,$c as ug,yy as v,to as va,vS as vb,pf as vc,If as vd,Vf as ve,gg as vf,Wg as vg,fr as w,sS as wa,DS as wb,mf as wc,yo as wd,Qf as we,yg as wf,Hc as wg,v as x,Za as xa,wS as xb,Ls as xc,Qr as xd,$f as xe,hg as xf,Yg as xg,_ as y,cS as ya,BS as yb,zj as yc,Ws as yd,gc as ye,Rg as yf,KE as yg,p as z,Ja as za,vr as zb,lf as zc,ir as zd,yc as ze,Pg as zf,vE as zg};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import {createRequire}from'node:module';createRequire(import.meta.url);
|
|
2
|
+
var v=class extends Error{constructor(o,e){super(e);this.code=o;this.name="WorkbenchPetProviderError";}code},T=class extends Error{constructor(o,e){super(e);this.code=o;this.name="PendingRequestResolutionError";}code};var A=class extends Error{constructor(o,e){super(e);this.code=o;}code};async function R(r,s,o,e,i,l){let n=await r.readSubmission(s,o);if(n!==void 0&&n.fingerprint!==e)throw new A("IDEMPOTENCY_CONFLICT","Submission key was used with another request");if(n?.stage==="creating"||n?.stage==="starting")throw new A("SUBMISSION_OUTCOME_UNKNOWN","Submission outcome is unknown; inspect the task before submitting again");if(n?.stage==="completed"&&n.result!==void 0)return n.result;let d=async t=>{await r.writeSubmission(s,o,t),n=t;};if(n?.stage!=="started"){if(await l.validate(),i.taskId===void 0&&n?.task===void 0){await d({fingerprint:e,stage:"creating"});let P=await l.createTask();await d({fingerprint:e,stage:"ready",task:P});}let t=n?.task,c=i.taskId??t?.id;if(c===void 0)throw new Error("Submission task is unavailable");let u=await l.prepare(c);await d({fingerprint:e,stage:"starting",attachmentIds:u,...t===void 0?{}:{task:t}});let m={...await l.execute(c),...t===void 0?{}:{createdTask:t}};await d({fingerprint:e,stage:"started",result:m,attachmentIds:u,...t===void 0?{}:{task:t}});}let a=n?.result;if(a===void 0)throw new Error("Submission result is unavailable");return await l.complete(a,n?.attachmentIds??[]),await d({...n,fingerprint:e,stage:"completed",result:a}),a}var y=class extends Error{constructor(o,e){super(e);this.code=o;}code};async function I(r,s,o,e,i,l,n){let d=(await r.listProjectTodos(s)).find(c=>c.id===o);if(i!==null&&d===void 0)throw new y("PROJECT_TODO_NOT_FOUND","Project todo not found");if((d?.version??null)!==i)throw new y("PROJECT_TODO_CHANGED","Project todo changed");let a={id:o,projectId:s,draft:e,createdAt:d?.createdAt??l,updatedAt:l,version:(d?.version??0)+1},t=await n();return await r.saveProjectTodo(a,i,t),a}var h=r=>JSON.stringify(r.map(({title:s,options:o})=>({title:s,options:o})));function w(r,s){return r.flatMap(o=>{let e=new Map;return o.items.flatMap(i=>{if(i.type!=="message"||i.role!=="assistant"||!i.questions?.length)return [];let l=i.questions.map(({title:a,options:t})=>({title:a,options:t})),n=h(l),d=e.get(n)??0;return e.set(n,d+1),[{id:s(JSON.stringify([o.id,n,d])),turnId:o.id,questions:l,createdAt:o.startedAt??"1970-01-01T00:00:00.000Z",status:"pending"}]})})}function C(r,s){if(s.length!==r.length||s.some(e=>e.trim().length===0||e.length>4e3))throw new Error("Invalid question answers");let o=r.map((e,i)=>`${e.title}
|
|
3
|
+
${s[i]?.trim()??""}`).join(`
|
|
4
|
+
|
|
5
|
+
`);if(o.length>1e5)throw new Error("Invalid question answers");return o}function E(r,s){let o=new Map,e=r.turns;for(let i of s){let l=h(i.group.questions),n=JSON.stringify([i.group.turnId,l]),d=o.get(n)??0;o.set(n,d+1);let a=i.result;if(i.group.status!=="answered"||a===void 0||a.turn!==null)continue;let t=e.findIndex(g=>g.id===a.turnId),c=e[t];if(t<0||c===void 0)continue;let m=c.items.flatMap((g,f)=>g.type==="message"&&g.role==="assistant"&&h(g.questions??[])===l?[f]:[])[d];if(m===void 0||c.items.slice(m+1).some(g=>g.type==="message"&&g.role==="user"&&g.text===a.input.text))continue;let p=[...c.items];p.splice(m+1,0,{id:a.messageId,role:"user",text:a.input.text,type:"message"}),e=e.map((g,f)=>f===t?{...c,items:p}:g);}return e===r.turns?r:{...r,turns:e}}async function M(r,s){let o=new Set,e=new Set,i;for(;;){if(e.size>=1e3)throw new Error("Archived task pagination exceeds the page limit");let a=await r.listTasks({archived:true,limit:100,...i===void 0?{}:{cursor:i}});for(let t of a.data){if(t.projectId!==s)throw new Error("Archived task listing crossed its scope");if(o.add(t.id),o.size>1e4)throw new Error("Archived task deletion exceeds the 10000 task limit")}if(a.nextCursor===null)break;if(e.has(a.nextCursor))throw new Error("Archived task pagination returned a repeated cursor");e.add(a.nextCursor),i=a.nextCursor;}let l=[...o],n=0,d=0;for(let a=0;a<l.length;a+=4){let t=await Promise.allSettled(l.slice(a,a+4).map(async c=>{if((await(r.readTaskMetadata?.(c)??r.readTask(c)))?.projectId!==s)throw new Error("Archived task is no longer in scope");await r.deleteTask(c);}));for(let c of t)c.status==="fulfilled"?n++:d++;}return {deletedCount:n,failedCount:d}}async function q(r,s,o={}){let e=new Map,i=new Set,l;for(;;){if(i.size>=1e3)throw new Error("Task catalog pagination exceeds the page limit");let n=await r.listTasks({limit:100,...o.pinned===true?{pinnedOnly:true}:{},...l===void 0?{}:{cursor:l}});for(let d of n.data){if(d.projectId!==s)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(n.nextCursor===null)return {data:[...e.values()]};if(i.has(n.nextCursor))throw new Error("Task catalog returned a repeated cursor");i.add(n.nextCursor),l=n.nextCursor;}}var k=class extends Error{};async function N(r,s){let{projectIds:o,cursor:e}=s,i=new Set(o);if(i.size!==o.length||i.size>100)throw new k("Invalid completed task scopes");if(e!==void 0&&(Object.keys(e).length!==i.size||Object.keys(e).some(t=>!i.has(t))))throw new k("Completed task cursor does not match its scopes");let l=o.filter(t=>e===void 0||e[t]!==null),n=Math.max(1,Math.ceil(10/Math.max(1,l.length))),d=Object.fromEntries(o.map(t=>[t,null])),a=new Map;for(let t=0;t<l.length;t+=4){let c=await Promise.all(l.slice(t,t+4).map(async u=>{let m=await r(u),P=e?.[u],p=await m.listTasks({completed:true,limit:n,...typeof P=="string"?{cursor:P}:{}});if(p.data.length>n)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 g of p.data)if(g.projectId!==u)throw new Error("Completed task page crossed its scope");return {id:u,page:p}}));for(let{id:u,page:m}of c){d[u]=m.nextCursor;for(let P of m.data){let p=JSON.stringify([u,P.id]);a.has(p)||a.set(p,P);}}}return {data:[...a.values()].sort((t,c)=>Date.parse(c.updatedAt)-Date.parse(t.updatedAt)),nextCursor:Object.values(d).some(t=>t!==null)?d:null}}function U(r){return r.data.some(s=>s.supportedReasoningEfforts.length===0&&s.defaultReasoningEffort!=="")?{...r,data:r.data.map(s=>s.supportedReasoningEfforts.length===0?{...s,defaultReasoningEffort:""}:s)}:r}export{v as a,T as b,A as c,R as d,y as e,I as f,w as g,C as h,E as i,M as j,q as k,k as l,N as m,U as n};
|