@bryanhu/codexly 0.22.1 → 0.24.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 +32 -0
- package/README.md +45 -3
- package/README.zh-CN.md +49 -7
- package/dist/{chunk-4VM2ZUPT.js → chunk-MDJUQPOL.js} +179 -125
- package/dist/{chunk-NUJPWN62.js → chunk-YG3QMLCD.js} +433 -43
- package/dist/cli.js +49 -21
- package/dist/providers/codex/index.js +1 -1
- package/dist/server/index.js +2 -2
- package/dist/web/.vite/manifest.json +111 -111
- 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-Ci9mJOS-.js → agent-settings-panel-STxloEc6.js} +1 -1
- package/dist/web/assets/agent-settings-panel-STxloEc6.js.br +0 -0
- package/dist/web/assets/agent-settings-panel-STxloEc6.js.gz +0 -0
- package/dist/web/assets/{attachments-uWbRsPJj.js → attachments-CSV8KBYa.js} +1 -1
- package/dist/web/assets/attachments-CSV8KBYa.js.br +0 -0
- package/dist/web/assets/attachments-CSV8KBYa.js.gz +0 -0
- package/dist/web/assets/{background-image-picker-qGpdQPQi.js → background-image-picker-JDrclQ6O.js} +1 -1
- package/dist/web/assets/background-image-picker-JDrclQ6O.js.br +0 -0
- package/dist/web/assets/background-image-picker-JDrclQ6O.js.gz +0 -0
- package/dist/web/assets/{bing-wallpaper-queries-uesKD16x.js → bing-wallpaper-queries-BqjgHv5k.js} +1 -1
- package/dist/web/assets/bing-wallpaper-queries-BqjgHv5k.js.br +0 -0
- package/dist/web/assets/bing-wallpaper-queries-BqjgHv5k.js.gz +0 -0
- package/dist/web/assets/{button-group-075rCj_f.js → button-group-mjeW2BTr.js} +1 -1
- package/dist/web/assets/button-group-mjeW2BTr.js.br +0 -0
- package/dist/web/assets/button-group-mjeW2BTr.js.gz +0 -0
- package/dist/web/assets/{code-block-C9eTeWWd.js → code-block-CmzWecTa.js} +1 -1
- package/dist/web/assets/code-block-CmzWecTa.js.br +0 -0
- package/dist/web/assets/code-block-CmzWecTa.js.gz +0 -0
- package/dist/web/assets/{commit-settings-panel-CaMMU0oA.js → commit-settings-panel-BQRIgAaq.js} +1 -1
- package/dist/web/assets/commit-settings-panel-BQRIgAaq.js.br +0 -0
- package/dist/web/assets/commit-settings-panel-BQRIgAaq.js.gz +0 -0
- package/dist/web/assets/{context-menu-Dj3lnor1.js → context-menu-Dfbnk16V.js} +1 -1
- package/dist/web/assets/context-menu-Dfbnk16V.js.br +0 -0
- package/dist/web/assets/context-menu-Dfbnk16V.js.gz +0 -0
- package/dist/web/assets/{file-review-dialog-D8XVZ21M.js → file-review-dialog-Bv3Hor8O.js} +1 -1
- package/dist/web/assets/file-review-dialog-Bv3Hor8O.js.br +0 -0
- package/dist/web/assets/file-review-dialog-Bv3Hor8O.js.gz +0 -0
- package/dist/web/assets/{git-history-panel-D2fKSR66.js → git-history-panel-CofR8yva.js} +1 -1
- package/dist/web/assets/git-history-panel-CofR8yva.js.br +0 -0
- package/dist/web/assets/git-history-panel-CofR8yva.js.gz +0 -0
- package/dist/web/assets/{global-search-dialog-BxT-UjpZ.js → global-search-dialog-m_blFw9z.js} +2 -2
- package/dist/web/assets/global-search-dialog-m_blFw9z.js.br +0 -0
- package/dist/web/assets/global-search-dialog-m_blFw9z.js.gz +0 -0
- package/dist/web/assets/{global-settings-about-DiblprcD.js → global-settings-about-CJkWRRdz.js} +1 -1
- package/dist/web/assets/global-settings-about-CJkWRRdz.js.br +0 -0
- package/dist/web/assets/global-settings-about-CJkWRRdz.js.gz +0 -0
- package/dist/web/assets/{global-settings-fields-D5T5SPXY.js → global-settings-fields-DqWp3WpN.js} +1 -1
- package/dist/web/assets/global-settings-fields-DqWp3WpN.js.br +0 -0
- package/dist/web/assets/global-settings-fields-DqWp3WpN.js.gz +0 -0
- package/dist/web/assets/{global-settings-model-COz331Sr.js → global-settings-model-CqgHQlxF.js} +1 -1
- package/dist/web/assets/global-settings-model-CqgHQlxF.js.br +0 -0
- package/dist/web/assets/global-settings-model-CqgHQlxF.js.gz +0 -0
- package/dist/web/assets/{global-settings-page-DEBGBxSg.js → global-settings-page-BiVZofyf.js} +2 -2
- package/dist/web/assets/global-settings-page-BiVZofyf.js.br +0 -0
- package/dist/web/assets/global-settings-page-BiVZofyf.js.gz +0 -0
- package/dist/web/assets/{global-settings-pets-DwJnj_6N.js → global-settings-pets-DkdiEzFY.js} +1 -1
- package/dist/web/assets/global-settings-pets-DkdiEzFY.js.br +0 -0
- package/dist/web/assets/global-settings-pets-DkdiEzFY.js.gz +0 -0
- package/dist/web/assets/{history-task-timeline-oQRRdMbY.js → history-task-timeline-BrLtwo5_.js} +1 -1
- package/dist/web/assets/history-task-timeline-BrLtwo5_.js.br +0 -0
- package/dist/web/assets/history-task-timeline-BrLtwo5_.js.gz +0 -0
- package/dist/web/assets/{index-DRfXjZ2a.js → index-D9lOU2_n.js} +3 -3
- package/dist/web/assets/index-D9lOU2_n.js.br +0 -0
- package/dist/web/assets/index-D9lOU2_n.js.gz +0 -0
- package/dist/web/assets/{installed-skills-pane-v1IcvRKL.js → installed-skills-pane-BRcMSvrv.js} +1 -1
- package/dist/web/assets/installed-skills-pane-BRcMSvrv.js.br +0 -0
- package/dist/web/assets/installed-skills-pane-BRcMSvrv.js.gz +0 -0
- package/dist/web/assets/{lazy-message-response-B6dT9kbf.js → lazy-message-response-C3PwDwxE.js} +2 -2
- package/dist/web/assets/lazy-message-response-C3PwDwxE.js.br +0 -0
- package/dist/web/assets/lazy-message-response-C3PwDwxE.js.gz +0 -0
- package/dist/web/assets/{mcp-management-pane-DiPUaZAO.js → mcp-management-pane-CIXkOpXu.js} +1 -1
- package/dist/web/assets/mcp-management-pane-CIXkOpXu.js.br +0 -0
- package/dist/web/assets/mcp-management-pane-CIXkOpXu.js.gz +0 -0
- package/dist/web/assets/message-response-AwJefMK2.js +7 -0
- package/dist/web/assets/message-response-AwJefMK2.js.br +0 -0
- package/dist/web/assets/message-response-AwJefMK2.js.gz +0 -0
- package/dist/web/assets/{official-plugins-pane-Cis1hRgm.js → official-plugins-pane-C4i4LhS5.js} +1 -1
- package/dist/web/assets/official-plugins-pane-C4i4LhS5.js.br +0 -0
- package/dist/web/assets/official-plugins-pane-C4i4LhS5.js.gz +0 -0
- package/dist/web/assets/{personalization-settings-panel-BB5nguhA.js → personalization-settings-panel-BVty2pDz.js} +1 -1
- package/dist/web/assets/personalization-settings-panel-BVty2pDz.js.br +0 -0
- package/dist/web/assets/personalization-settings-panel-BVty2pDz.js.gz +0 -0
- package/dist/web/assets/{project-file-popup-page-CAcF7DIa.js → project-file-popup-page-hTRv5v3H.js} +1 -1
- package/dist/web/assets/project-file-popup-page-hTRv5v3H.js.br +0 -0
- package/dist/web/assets/project-file-popup-page-hTRv5v3H.js.gz +0 -0
- package/dist/web/assets/{project-source-dialog-DbOmvJBS.js → project-source-dialog-wuXJolJb.js} +1 -1
- package/dist/web/assets/project-source-dialog-wuXJolJb.js.br +0 -0
- package/dist/web/assets/project-source-dialog-wuXJolJb.js.gz +0 -0
- package/dist/web/assets/{project-source-panel-DGafRUDi.js → project-source-panel-PKAa_dbo.js} +1 -1
- package/dist/web/assets/project-source-panel-PKAa_dbo.js.br +0 -0
- package/dist/web/assets/project-source-panel-PKAa_dbo.js.gz +0 -0
- package/dist/web/assets/{prompt-input-DwT-XwSc.js → prompt-input-BHn4OExn.js} +1 -1
- package/dist/web/assets/prompt-input-BHn4OExn.js.br +0 -0
- package/dist/web/assets/prompt-input-BHn4OExn.js.gz +0 -0
- package/dist/web/assets/{prompt-input-controls-CLasQrSj.js → prompt-input-controls-D4wqb_zQ.js} +1 -1
- package/dist/web/assets/prompt-input-controls-D4wqb_zQ.js.br +0 -0
- package/dist/web/assets/prompt-input-controls-D4wqb_zQ.js.gz +0 -0
- package/dist/web/assets/{scheduled-task-date-time-picker-CnSPVHna.js → scheduled-task-date-time-picker-jo6dkC-Z.js} +1 -1
- package/dist/web/assets/scheduled-task-date-time-picker-jo6dkC-Z.js.br +0 -0
- package/dist/web/assets/scheduled-task-date-time-picker-jo6dkC-Z.js.gz +0 -0
- package/dist/web/assets/{scheduled-task-schedule-BnMdRADi.js → scheduled-task-schedule-DD3Zt60h.js} +1 -1
- package/dist/web/assets/scheduled-task-schedule-DD3Zt60h.js.br +0 -0
- package/dist/web/assets/{scheduled-task-schedule-BnMdRADi.js.gz → scheduled-task-schedule-DD3Zt60h.js.gz} +0 -0
- package/dist/web/assets/{scheduled-tasks-container-CNCzsjiP.js → scheduled-tasks-container-CDsipwUR.js} +2 -2
- package/dist/web/assets/scheduled-tasks-container-CDsipwUR.js.br +0 -0
- package/dist/web/assets/scheduled-tasks-container-CDsipwUR.js.gz +0 -0
- package/dist/web/assets/{settings-personalization-CB_nnUys.js → settings-personalization-BbAIVND-.js} +1 -1
- package/dist/web/assets/settings-personalization-BbAIVND-.js.br +0 -0
- package/dist/web/assets/settings-personalization-BbAIVND-.js.gz +0 -0
- package/dist/web/assets/{sheet-JpH2S7eZ.js → sheet-C6eLtEHx.js} +1 -1
- package/dist/web/assets/sheet-C6eLtEHx.js.br +0 -0
- package/dist/web/assets/sheet-C6eLtEHx.js.gz +0 -0
- package/dist/web/assets/{skills-market-container-BgtnwdI7.js → skills-market-container-DFzLg008.js} +2 -2
- package/dist/web/assets/skills-market-container-DFzLg008.js.br +0 -0
- package/dist/web/assets/skills-market-container-DFzLg008.js.gz +0 -0
- package/dist/web/assets/{task-timeline-store-BN41mX3t.js → task-timeline-store-Cj_Bcaqi.js} +1 -1
- package/dist/web/assets/task-timeline-store-Cj_Bcaqi.js.br +0 -0
- package/dist/web/assets/task-timeline-store-Cj_Bcaqi.js.gz +0 -0
- package/dist/web/assets/{third-party-marketplace-pane-CAI6XIWR.js → third-party-marketplace-pane-CoP9DTWX.js} +1 -1
- package/dist/web/assets/third-party-marketplace-pane-CoP9DTWX.js.br +0 -0
- package/dist/web/assets/third-party-marketplace-pane-CoP9DTWX.js.gz +0 -0
- package/dist/web/assets/workbench-composer-C6Sv8xDL.js +8 -0
- package/dist/web/assets/workbench-composer-C6Sv8xDL.js.br +0 -0
- package/dist/web/assets/workbench-composer-C6Sv8xDL.js.gz +0 -0
- package/dist/web/assets/{workbench-inspector-changes-Bl5nS-_2.js → workbench-inspector-changes-7z5diDTC.js} +1 -1
- package/dist/web/assets/workbench-inspector-changes-7z5diDTC.js.br +0 -0
- package/dist/web/assets/workbench-inspector-changes-7z5diDTC.js.gz +0 -0
- package/dist/web/assets/{workbench-pet-canvas-CnwZR5HG.js → workbench-pet-canvas-dWliFlKE.js} +1 -1
- package/dist/web/assets/workbench-pet-canvas-dWliFlKE.js.br +0 -0
- package/dist/web/assets/workbench-pet-canvas-dWliFlKE.js.gz +0 -0
- package/dist/web/assets/workbench-shell-fA7tfnac.js +3 -0
- package/dist/web/assets/workbench-shell-fA7tfnac.js.br +0 -0
- package/dist/web/assets/workbench-shell-fA7tfnac.js.gz +0 -0
- package/dist/web/index.html +1 -1
- package/dist/web/index.html.br +0 -0
- package/dist/web/index.html.gz +0 -0
- package/package.json +4 -2
- package/dist/web/assets/agent-settings-panel-Ci9mJOS-.js.br +0 -0
- package/dist/web/assets/agent-settings-panel-Ci9mJOS-.js.gz +0 -0
- package/dist/web/assets/attachments-uWbRsPJj.js.br +0 -0
- package/dist/web/assets/attachments-uWbRsPJj.js.gz +0 -0
- package/dist/web/assets/background-image-picker-qGpdQPQi.js.br +0 -0
- package/dist/web/assets/background-image-picker-qGpdQPQi.js.gz +0 -0
- package/dist/web/assets/bing-wallpaper-queries-uesKD16x.js.br +0 -0
- package/dist/web/assets/bing-wallpaper-queries-uesKD16x.js.gz +0 -0
- package/dist/web/assets/button-group-075rCj_f.js.br +0 -0
- package/dist/web/assets/button-group-075rCj_f.js.gz +0 -0
- package/dist/web/assets/code-block-C9eTeWWd.js.br +0 -0
- package/dist/web/assets/code-block-C9eTeWWd.js.gz +0 -0
- package/dist/web/assets/commit-settings-panel-CaMMU0oA.js.br +0 -0
- package/dist/web/assets/commit-settings-panel-CaMMU0oA.js.gz +0 -0
- package/dist/web/assets/context-menu-Dj3lnor1.js.br +0 -0
- package/dist/web/assets/context-menu-Dj3lnor1.js.gz +0 -0
- package/dist/web/assets/file-review-dialog-D8XVZ21M.js.br +0 -0
- package/dist/web/assets/file-review-dialog-D8XVZ21M.js.gz +0 -0
- package/dist/web/assets/git-history-panel-D2fKSR66.js.br +0 -0
- package/dist/web/assets/git-history-panel-D2fKSR66.js.gz +0 -0
- package/dist/web/assets/global-search-dialog-BxT-UjpZ.js.br +0 -0
- package/dist/web/assets/global-search-dialog-BxT-UjpZ.js.gz +0 -0
- package/dist/web/assets/global-settings-about-DiblprcD.js.br +0 -0
- package/dist/web/assets/global-settings-about-DiblprcD.js.gz +0 -0
- package/dist/web/assets/global-settings-fields-D5T5SPXY.js.br +0 -0
- package/dist/web/assets/global-settings-fields-D5T5SPXY.js.gz +0 -0
- package/dist/web/assets/global-settings-model-COz331Sr.js.br +0 -0
- package/dist/web/assets/global-settings-model-COz331Sr.js.gz +0 -0
- package/dist/web/assets/global-settings-page-DEBGBxSg.js.br +0 -0
- package/dist/web/assets/global-settings-page-DEBGBxSg.js.gz +0 -0
- package/dist/web/assets/global-settings-pets-DwJnj_6N.js.br +0 -0
- package/dist/web/assets/global-settings-pets-DwJnj_6N.js.gz +0 -0
- package/dist/web/assets/history-task-timeline-oQRRdMbY.js.br +0 -0
- package/dist/web/assets/history-task-timeline-oQRRdMbY.js.gz +0 -0
- package/dist/web/assets/index-DRfXjZ2a.js.br +0 -0
- package/dist/web/assets/index-DRfXjZ2a.js.gz +0 -0
- package/dist/web/assets/installed-skills-pane-v1IcvRKL.js.br +0 -0
- package/dist/web/assets/installed-skills-pane-v1IcvRKL.js.gz +0 -0
- package/dist/web/assets/lazy-message-response-B6dT9kbf.js.br +0 -0
- package/dist/web/assets/lazy-message-response-B6dT9kbf.js.gz +0 -0
- package/dist/web/assets/mcp-management-pane-DiPUaZAO.js.br +0 -0
- package/dist/web/assets/mcp-management-pane-DiPUaZAO.js.gz +0 -0
- package/dist/web/assets/message-response-BZZGbaVm.js +0 -7
- package/dist/web/assets/message-response-BZZGbaVm.js.br +0 -0
- package/dist/web/assets/message-response-BZZGbaVm.js.gz +0 -0
- package/dist/web/assets/official-plugins-pane-Cis1hRgm.js.br +0 -0
- package/dist/web/assets/official-plugins-pane-Cis1hRgm.js.gz +0 -0
- package/dist/web/assets/personalization-settings-panel-BB5nguhA.js.br +0 -0
- package/dist/web/assets/personalization-settings-panel-BB5nguhA.js.gz +0 -0
- package/dist/web/assets/project-file-popup-page-CAcF7DIa.js.br +0 -0
- package/dist/web/assets/project-file-popup-page-CAcF7DIa.js.gz +0 -0
- package/dist/web/assets/project-source-dialog-DbOmvJBS.js.br +0 -0
- package/dist/web/assets/project-source-dialog-DbOmvJBS.js.gz +0 -0
- package/dist/web/assets/project-source-panel-DGafRUDi.js.br +0 -0
- package/dist/web/assets/project-source-panel-DGafRUDi.js.gz +0 -0
- package/dist/web/assets/prompt-input-DwT-XwSc.js.br +0 -0
- package/dist/web/assets/prompt-input-DwT-XwSc.js.gz +0 -0
- package/dist/web/assets/prompt-input-controls-CLasQrSj.js.br +0 -0
- package/dist/web/assets/prompt-input-controls-CLasQrSj.js.gz +0 -0
- package/dist/web/assets/scheduled-task-date-time-picker-CnSPVHna.js.br +0 -0
- package/dist/web/assets/scheduled-task-date-time-picker-CnSPVHna.js.gz +0 -0
- package/dist/web/assets/scheduled-task-schedule-BnMdRADi.js.br +0 -0
- package/dist/web/assets/scheduled-tasks-container-CNCzsjiP.js.br +0 -0
- package/dist/web/assets/scheduled-tasks-container-CNCzsjiP.js.gz +0 -0
- package/dist/web/assets/settings-personalization-CB_nnUys.js.br +0 -0
- package/dist/web/assets/settings-personalization-CB_nnUys.js.gz +0 -0
- package/dist/web/assets/sheet-JpH2S7eZ.js.br +0 -0
- package/dist/web/assets/sheet-JpH2S7eZ.js.gz +0 -0
- package/dist/web/assets/skills-market-container-BgtnwdI7.js.br +0 -0
- package/dist/web/assets/skills-market-container-BgtnwdI7.js.gz +0 -0
- package/dist/web/assets/task-timeline-store-BN41mX3t.js.br +0 -0
- package/dist/web/assets/task-timeline-store-BN41mX3t.js.gz +0 -0
- package/dist/web/assets/third-party-marketplace-pane-CAI6XIWR.js.br +0 -0
- package/dist/web/assets/third-party-marketplace-pane-CAI6XIWR.js.gz +0 -0
- package/dist/web/assets/workbench-composer-dKix0zGK.js +0 -8
- package/dist/web/assets/workbench-composer-dKix0zGK.js.br +0 -0
- package/dist/web/assets/workbench-composer-dKix0zGK.js.gz +0 -0
- package/dist/web/assets/workbench-inspector-changes-Bl5nS-_2.js.br +0 -0
- package/dist/web/assets/workbench-inspector-changes-Bl5nS-_2.js.gz +0 -0
- package/dist/web/assets/workbench-pet-canvas-CnwZR5HG.js.br +0 -0
- package/dist/web/assets/workbench-pet-canvas-CnwZR5HG.js.gz +0 -0
- package/dist/web/assets/workbench-shell-B8lBrj2O.js +0 -3
- package/dist/web/assets/workbench-shell-B8lBrj2O.js.br +0 -0
- package/dist/web/assets/workbench-shell-B8lBrj2O.js.gz +0 -0
package/dist/cli.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { createCodexlyServer, SqliteStateRepository, normalizeAllowedHost } from './chunk-
|
|
3
|
+
import { createCodexlyServer, SqliteStateRepository, normalizeAllowedHost } from './chunk-MDJUQPOL.js';
|
|
4
4
|
import './chunk-6JWQNFM2.js';
|
|
5
|
-
import { startCodexAppServer, locateCodexBinary, createCodexRuntimeProvider, createCodexWorkbenchPetProvider, CodexProjectRepository, checkCodexVersion } from './chunk-
|
|
5
|
+
import { startCodexAppServer, locateCodexBinary, createCodexRuntimeProvider, createCodexWorkbenchPetProvider, CodexProjectRepository, checkCodexVersion } from './chunk-YG3QMLCD.js';
|
|
6
6
|
import './chunk-B2673ODM.js';
|
|
7
7
|
import { DEFAULT_COMMIT_MESSAGE_MODEL } from './chunk-ZXTTTT25.js';
|
|
8
8
|
import './chunk-GT7XTSEG.js';
|
|
@@ -22,7 +22,7 @@ createRequire(import.meta.url);
|
|
|
22
22
|
|
|
23
23
|
// package.json
|
|
24
24
|
var package_default = {
|
|
25
|
-
version: "0.
|
|
25
|
+
version: "0.24.0"};
|
|
26
26
|
var INSTALL_TIMEOUT_MS = 2 * 6e4;
|
|
27
27
|
function resolveNpmCommandInvocation(args, platform = process.platform, execPath = process.execPath, elevated = false) {
|
|
28
28
|
const invocation = platform === "win32" ? {
|
|
@@ -428,14 +428,16 @@ Start options:
|
|
|
428
428
|
Automatically increases the port when it is occupied.
|
|
429
429
|
--lan Listen on all network interfaces for trusted LAN access.
|
|
430
430
|
This disables automatic browser opening.
|
|
431
|
-
--lan-password <password> Use a custom
|
|
432
|
-
Requires 16-128 characters
|
|
431
|
+
--lan-password <password> Use a custom LAN access password instead of a random one.
|
|
432
|
+
Requires 16-128 characters with uppercase, lowercase, and number. Requires --lan.
|
|
433
433
|
--allowed-host <domain> Allow an exact reverse proxy domain. May be repeated.
|
|
434
434
|
--session-ttl <duration> Set the fixed LAN session lifetime using ms, s, m, h, or d.
|
|
435
435
|
Sessions do not expire when omitted. Requires --lan.
|
|
436
436
|
--codex-bin <path> Use the Codex executable at the specified path.
|
|
437
437
|
--codex-home <path> Use a custom Codex home directory instead of CODEX_HOME
|
|
438
438
|
or the default ~/.codex directory.
|
|
439
|
+
--workspace <path> Restrict project selection to an absolute workspace root.
|
|
440
|
+
May be repeated for multiple roots.
|
|
439
441
|
|
|
440
442
|
Doctor options:
|
|
441
443
|
--codex-bin <path> Check the Codex executable at the specified path.
|
|
@@ -450,6 +452,7 @@ Examples:
|
|
|
450
452
|
codexly start --lan --lan-password 'Strong-Lan_Pass9!'
|
|
451
453
|
codexly start --allowed-host code.example.com
|
|
452
454
|
codexly start --lan --session-ttl 12h
|
|
455
|
+
codexly start --workspace /workspace
|
|
453
456
|
codexly doctor --codex-bin /path/to/codex
|
|
454
457
|
codexly version
|
|
455
458
|
|
|
@@ -463,7 +466,7 @@ function parseCommandOptions(args, valueOptions, flagOptions = /* @__PURE__ */ n
|
|
|
463
466
|
if (!option || !valueOptions.has(option) && !flagOptions.has(option)) {
|
|
464
467
|
throw new Error(`\u672A\u77E5\u9009\u9879: ${option ?? "<empty>"}`);
|
|
465
468
|
}
|
|
466
|
-
const repeatable = option === "--allowed-host";
|
|
469
|
+
const repeatable = option === "--allowed-host" || option === "--workspace";
|
|
467
470
|
if (seen.has(option) && !repeatable) {
|
|
468
471
|
throw new Error(`\u9009\u9879\u91CD\u590D: ${option}`);
|
|
469
472
|
}
|
|
@@ -486,6 +489,8 @@ function parseCommandOptions(args, valueOptions, flagOptions = /* @__PURE__ */ n
|
|
|
486
489
|
parsed.lanPassword = value;
|
|
487
490
|
} else if (option === "--allowed-host") {
|
|
488
491
|
parsed.allowedHosts = [...parsed.allowedHosts ?? [], value];
|
|
492
|
+
} else if (option === "--workspace") {
|
|
493
|
+
parsed.workspaceRoots = [...parsed.workspaceRoots ?? [], value];
|
|
489
494
|
} else if (option === "--port") {
|
|
490
495
|
if (!/^\d+$/u.test(value)) {
|
|
491
496
|
throw new Error("--port \u5FC5\u987B\u662F 1 \u5230 65535 \u4E4B\u95F4\u7684\u6574\u6570");
|
|
@@ -502,6 +507,24 @@ function parseCommandOptions(args, valueOptions, flagOptions = /* @__PURE__ */ n
|
|
|
502
507
|
}
|
|
503
508
|
return parsed;
|
|
504
509
|
}
|
|
510
|
+
function applyStartEnvironmentDefaults(options, environment) {
|
|
511
|
+
const environmentArgs = [];
|
|
512
|
+
const append = (option, value) => {
|
|
513
|
+
if (value !== void 0 && value.trim() !== "") environmentArgs.push(option, value.trim());
|
|
514
|
+
};
|
|
515
|
+
append("--lan-password", environment["CODEXLY_LAN_PASSWORD"]);
|
|
516
|
+
append("--port", environment["CODEXLY_PORT"]);
|
|
517
|
+
append("--session-ttl", environment["CODEXLY_SESSION_TTL"]);
|
|
518
|
+
append("--workspace", environment["CODEXLY_WORKSPACE"]);
|
|
519
|
+
for (const host of environment["CODEXLY_ALLOWED_HOSTS"]?.split(",") ?? []) {
|
|
520
|
+
append("--allowed-host", host);
|
|
521
|
+
}
|
|
522
|
+
const defaults = parseCommandOptions(
|
|
523
|
+
environmentArgs,
|
|
524
|
+
/* @__PURE__ */ new Set(["--allowed-host", "--lan-password", "--port", "--session-ttl", "--workspace"])
|
|
525
|
+
);
|
|
526
|
+
return { ...defaults, ...options };
|
|
527
|
+
}
|
|
505
528
|
|
|
506
529
|
// src/cli-shutdown.ts
|
|
507
530
|
function createProcessShutdownSignal() {
|
|
@@ -809,10 +832,10 @@ function parseSessionTtl(value) {
|
|
|
809
832
|
return Number(milliseconds);
|
|
810
833
|
}
|
|
811
834
|
function validateLanPassword(value) {
|
|
812
|
-
const hasRequiredStrength = value.length >= MIN_LAN_PASSWORD_LENGTH && value.length <= MAX_LAN_PASSWORD_LENGTH && /[A-Z]/u.test(value) && /[a-z]/u.test(value) && /[0-9]/u.test(value)
|
|
835
|
+
const hasRequiredStrength = value.length >= MIN_LAN_PASSWORD_LENGTH && value.length <= MAX_LAN_PASSWORD_LENGTH && /[A-Z]/u.test(value) && /[a-z]/u.test(value) && /[0-9]/u.test(value);
|
|
813
836
|
if (!hasRequiredStrength) {
|
|
814
837
|
throw new Error(
|
|
815
|
-
"Invalid LAN password; expected 16 to 128 characters with uppercase, lowercase,
|
|
838
|
+
"Invalid LAN password; expected 16 to 128 characters with uppercase, lowercase, and number"
|
|
816
839
|
);
|
|
817
840
|
}
|
|
818
841
|
}
|
|
@@ -920,17 +943,21 @@ async function runDoctor(args, dependencies, output) {
|
|
|
920
943
|
return 0;
|
|
921
944
|
}
|
|
922
945
|
async function runStart(args, dependencies, signal, output) {
|
|
923
|
-
const options =
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
946
|
+
const options = applyStartEnvironmentDefaults(
|
|
947
|
+
parseCommandOptions(
|
|
948
|
+
args,
|
|
949
|
+
/* @__PURE__ */ new Set([
|
|
950
|
+
"--allowed-host",
|
|
951
|
+
"--codex-bin",
|
|
952
|
+
"--codex-home",
|
|
953
|
+
"--lan-password",
|
|
954
|
+
"--port",
|
|
955
|
+
"--session-ttl",
|
|
956
|
+
"--workspace"
|
|
957
|
+
]),
|
|
958
|
+
/* @__PURE__ */ new Set(["--lan"])
|
|
959
|
+
),
|
|
960
|
+
process.env
|
|
934
961
|
);
|
|
935
962
|
if (options.sessionTtl !== void 0 && options.lan !== true) {
|
|
936
963
|
throw new Error("--session-ttl \u53EA\u80FD\u4E0E --lan \u4E00\u8D77\u4F7F\u7528");
|
|
@@ -1036,8 +1063,9 @@ async function runStart(args, dependencies, signal, output) {
|
|
|
1036
1063
|
projectTodoRepository: stateRepository,
|
|
1037
1064
|
settingsRepository: stateRepository,
|
|
1038
1065
|
staticRoot: dependencies.webRoot,
|
|
1039
|
-
//
|
|
1040
|
-
standaloneCwd: process.cwd()
|
|
1066
|
+
// 受限部署让临时任务继承首个工作区,避免绕过项目目录边界。
|
|
1067
|
+
standaloneCwd: options.workspaceRoots?.[0] ?? process.cwd(),
|
|
1068
|
+
...options.workspaceRoots === void 0 ? {} : { workspaceRoots: options.workspaceRoots }
|
|
1041
1069
|
});
|
|
1042
1070
|
const host = options.lan === true ? "0.0.0.0" : "127.0.0.1";
|
|
1043
1071
|
const activePort = await listenOnAvailablePort(server, host, port);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';
|
|
2
|
-
export { CodexAppServerExitedError, CodexAppServerProcess, CodexAppServerShutdownError, CodexAppServerSpawnError, CodexProjectRepository, CodexProtocolMappingError, CodexProviderConnectionError, CodexProviderConnectionService, CodexRuntimeProvider, CodexWorkbenchPetProvider, JsonlRpcClient, RpcConnectionClosedError, RpcProtocolError, RpcResponseError, RpcTimeoutError, SUPPORTED_CODEX_VERSION, SUPPORTED_CODEX_VERSION_RANGE, checkCodexVersion, createCodexRuntimeProvider, createCodexWorkbenchPetProvider, locateCodexBinary, startCodexAppServer } from '../../chunk-
|
|
2
|
+
export { CodexAppServerExitedError, CodexAppServerProcess, CodexAppServerShutdownError, CodexAppServerSpawnError, CodexProjectRepository, CodexProtocolMappingError, CodexProviderConnectionError, CodexProviderConnectionService, CodexRuntimeProvider, CodexWorkbenchPetProvider, JsonlRpcClient, RpcConnectionClosedError, RpcProtocolError, RpcResponseError, RpcTimeoutError, SUPPORTED_CODEX_VERSION, SUPPORTED_CODEX_VERSION_RANGE, checkCodexVersion, createCodexRuntimeProvider, createCodexWorkbenchPetProvider, locateCodexBinary, startCodexAppServer } from '../../chunk-YG3QMLCD.js';
|
|
3
3
|
import '../../chunk-B2673ODM.js';
|
|
4
4
|
import '../../chunk-ZXTTTT25.js';
|
|
5
5
|
import '../../chunk-GT7XTSEG.js';
|
package/dist/server/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';
|
|
2
|
-
export { AccessSessionService, AgentEventStream, GitCommitError, GitCommitReviewError, SqliteStateRepository, commitSelectedProjectChanges, createCodexlyServer, normalizeAllowedHost, readProjectGitCommitFileDiff, readProjectGitCommitFiles } from '../chunk-
|
|
2
|
+
export { AccessSessionService, AgentEventStream, GitCommitError, GitCommitReviewError, SqliteStateRepository, commitSelectedProjectChanges, createCodexlyServer, normalizeAllowedHost, readProjectGitCommitFileDiff, readProjectGitCommitFiles } from '../chunk-MDJUQPOL.js';
|
|
3
3
|
import '../chunk-6JWQNFM2.js';
|
|
4
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-YG3QMLCD.js';
|
|
5
5
|
import '../chunk-B2673ODM.js';
|
|
6
6
|
import '../chunk-ZXTTTT25.js';
|
|
7
7
|
import '../chunk-GT7XTSEG.js';
|