@namzu/cli 36.1.2 → 36.3.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 +43 -0
- package/dist/bin.js +1 -1
- package/dist/chunks/{acp-QXCMYZW7.js → acp-2DS2IECT.js} +129 -37
- package/dist/chunks/acp-2DS2IECT.js.map +6 -0
- package/dist/chunks/{activity-command-HK7YJTXV.js → activity-command-MCYEK4Z4.js} +10 -10
- package/dist/chunks/{add-UYIKY4OE.js → add-ZQ3YWP4F.js} +16 -16
- package/dist/chunks/{agent-Y2WYEXWC.js → agent-PAGVUATH.js} +24 -22
- package/dist/chunks/agent-session-PLIPF3XG.js +46 -0
- package/dist/chunks/{archive-C4A3HPLF.js → archive-VPREZOGC.js} +8 -8
- package/dist/chunks/{bin-main-VQKMQICY.js → bin-main-MWFKUXP2.js} +3 -3
- package/dist/chunks/{browser-CRX4HM4C.js → browser-FZWYOIIJ.js} +6 -6
- package/dist/chunks/{chat-5MWPKAET.js → chat-W355SFNQ.js} +13 -13
- package/dist/chunks/{chunk-TLTJ2KTW.js → chunk-2BZOT2CT.js} +2 -2
- package/dist/chunks/{chunk-MJMDPZ6G.js → chunk-2O7KYX4V.js} +19 -9
- package/dist/chunks/chunk-2O7KYX4V.js.map +6 -0
- package/dist/chunks/{chunk-JELVHU7X.js → chunk-2TGQ2B53.js} +259 -3
- package/dist/chunks/{chunk-JELVHU7X.js.map → chunk-2TGQ2B53.js.map} +3 -3
- package/dist/chunks/{chunk-AN7FO7NS.js → chunk-3F5DGROG.js} +2 -2
- package/dist/chunks/{chunk-YMKYJ4DI.js → chunk-3M3PMQ3I.js} +7 -7
- package/dist/chunks/{chunk-WATMFOHB.js → chunk-46B7KRXY.js} +6 -6
- package/dist/chunks/{chunk-GMCOZ3CU.js → chunk-52OVP5BG.js} +4 -4
- package/dist/chunks/{chunk-HFJHHCTY.js → chunk-56OUKG5W.js} +3 -3
- package/dist/chunks/{chunk-N5IF64K3.js → chunk-5H4LJ4AN.js} +27 -9
- package/dist/chunks/chunk-5H4LJ4AN.js.map +6 -0
- package/dist/chunks/{chunk-4BZMQ2VD.js → chunk-5URT3ZM2.js} +4 -4
- package/dist/chunks/{chunk-7Z7CAVIN.js → chunk-6CGC72OA.js} +12 -10
- package/dist/chunks/{chunk-7Z7CAVIN.js.map → chunk-6CGC72OA.js.map} +1 -1
- package/dist/chunks/{chunk-AIY4PCDR.js → chunk-6TDJXZ5W.js} +4 -4
- package/dist/chunks/{chunk-ZKEWE6K4.js → chunk-AHYHR5DY.js} +3 -3
- package/dist/chunks/{chunk-3P5PF6XE.js → chunk-AP5KD43Y.js} +2 -2
- package/dist/chunks/{chunk-OLPOM3DR.js → chunk-AS7UWXMN.js} +4 -4
- package/dist/chunks/{chunk-Q24K7536.js → chunk-BOV53LZO.js} +2 -2
- package/dist/chunks/{chunk-HQM2WSQT.js → chunk-BUCICQWG.js} +2 -2
- package/dist/chunks/{chunk-5PQVJBIO.js → chunk-CZVHXYGD.js} +6 -3
- package/dist/chunks/{chunk-5PQVJBIO.js.map → chunk-CZVHXYGD.js.map} +1 -1
- package/dist/chunks/{chunk-YXLD46UI.js → chunk-DYUOXP5Q.js} +13 -13
- package/dist/chunks/{chunk-UOOQPODR.js → chunk-E7HLYLD7.js} +3 -3
- package/dist/chunks/{chunk-TIGWWAJI.js → chunk-EKUJUPFA.js} +4 -4
- package/dist/chunks/{chunk-L2T4O6S3.js → chunk-EZ6ZSHYX.js} +35 -26
- package/dist/chunks/{chunk-L2T4O6S3.js.map → chunk-EZ6ZSHYX.js.map} +1 -1
- package/dist/chunks/{chunk-HV4LJFNV.js → chunk-F3YQ2CSZ.js} +4 -4
- package/dist/chunks/{chunk-HBBB2CAC.js → chunk-FU4GQ7K2.js} +2 -2
- package/dist/chunks/{chunk-IJH7J5NJ.js → chunk-GQN64E36.js} +3 -3
- package/dist/chunks/{chunk-NQY5P2EB.js → chunk-HKDPP2JF.js} +2 -2
- package/dist/chunks/{chunk-WM2JEUGV.js → chunk-HSEJGSXE.js} +2 -2
- package/dist/chunks/{chunk-KU3W6IHV.js → chunk-I6CDUPVR.js} +2 -2
- package/dist/chunks/{chunk-O7DBCVNY.js → chunk-IQBR45AU.js} +2 -2
- package/dist/chunks/{chunk-FXS3AG6B.js → chunk-JCDTR2ZU.js} +4 -4
- package/dist/chunks/{chunk-AXIGFKJF.js → chunk-KMHLON54.js} +2 -2
- package/dist/chunks/{chunk-EIYM6TY7.js → chunk-KOG2WB66.js} +4 -4
- package/dist/chunks/{chunk-5GRV6P5C.js → chunk-LBH5WVXU.js} +2 -2
- package/dist/chunks/{chunk-RC6X3ZY6.js → chunk-LYDXPWAZ.js} +204 -7
- package/dist/chunks/chunk-LYDXPWAZ.js.map +6 -0
- package/dist/chunks/{chunk-K76WV7TN.js → chunk-MBBFX64S.js} +2 -2
- package/dist/chunks/{chunk-JPPC4LJF.js → chunk-MJO6CH5F.js} +3 -3
- package/dist/chunks/{chunk-SRU3MDHZ.js → chunk-NATYSTPM.js} +2 -2
- package/dist/chunks/{chunk-X2FWNSZ7.js → chunk-NBD5MAGK.js} +9 -9
- package/dist/chunks/{chunk-NROIHI6L.js → chunk-PINPSIJ5.js} +5 -5
- package/dist/chunks/{chunk-YTESW44T.js → chunk-PLKJKF32.js} +12 -12
- package/dist/chunks/chunk-QBAISLAD.js +750 -0
- package/dist/chunks/chunk-QBAISLAD.js.map +6 -0
- package/dist/chunks/{chunk-UDBEU2FR.js → chunk-QRT3N2K3.js} +2 -2
- package/dist/chunks/{chunk-Q5YM2GCX.js → chunk-QXDKRJZ5.js} +3 -3
- package/dist/chunks/{chunk-V7TQR6AR.js → chunk-RBX6RVYO.js} +6 -6
- package/dist/chunks/{chunk-J72CRUNX.js → chunk-RM6HTBJK.js} +2 -2
- package/dist/chunks/{chunk-A5UXODFL.js → chunk-S6MZK4LD.js} +2 -2
- package/dist/chunks/{chunk-TJJUB7VQ.js → chunk-SFUUN6B3.js} +1547 -280
- package/dist/chunks/chunk-SFUUN6B3.js.map +6 -0
- package/dist/chunks/{chunk-EWKJGHRO.js → chunk-V3ZLK3XQ.js} +3245 -1041
- package/dist/chunks/chunk-V3ZLK3XQ.js.map +6 -0
- package/dist/chunks/{chunk-C5WBEO3X.js → chunk-VUOS5SQ3.js} +2 -2
- package/dist/chunks/{chunk-LQMHASKR.js → chunk-XCWZZZOW.js} +3 -3
- package/dist/chunks/{chunk-2NJ2XUXJ.js → chunk-YYQFUKI7.js} +3 -3
- package/dist/chunks/{chunk-7WJOQ6EA.js → chunk-YYVDLVUM.js} +2 -2
- package/dist/chunks/{chunk-UWWGSDZ5.js → chunk-ZB5ETOVE.js} +3 -3
- package/dist/chunks/{chunk-CG65NUSJ.js → chunk-ZG6NVROB.js} +2 -2
- package/dist/chunks/{chunk-TWMKJ6BE.js → chunk-ZHBHRMCI.js} +4 -4
- package/dist/chunks/{cli-runtime-FXV35STX.js → cli-runtime-NG23IVRM.js} +8 -8
- package/dist/chunks/{commands-QPVRB3RK.js → commands-LQISMOPF.js} +5 -5
- package/dist/chunks/{crash-report-S3BTEPYR.js → crash-report-EYK56MJJ.js} +6 -6
- package/dist/chunks/{dist-BFC7XUCT.js → dist-3AMBKAG4.js} +2 -2
- package/dist/chunks/{dist-SKRHHPUR.js → dist-AUDNCB3F.js} +2 -2
- package/dist/chunks/{dist-3GJFRS2X.js → dist-AZJ56DQJ.js} +2 -2
- package/dist/chunks/{dist-EY3OJBQH.js → dist-DWB5AYXB.js} +2 -2
- package/dist/chunks/{dist-ERN5DRKK.js → dist-EDKLCZY4.js} +2 -2
- package/dist/chunks/{dist-LVG2TYZT.js → dist-PZXF5NU3.js} +2 -2
- package/dist/chunks/{dist-G42HPNIE.js → dist-XT4V74YL.js} +2 -2
- package/dist/chunks/{doctor-KMTPPEWG.js → doctor-3EOUWDYB.js} +6 -6
- package/dist/chunks/{drain-PL5VSYUQ.js → drain-IMNF2CDN.js} +11 -10
- package/dist/chunks/{drain-PL5VSYUQ.js.map → drain-IMNF2CDN.js.map} +1 -1
- package/dist/chunks/{eval-53UONRWR.js → eval-VHWEJ4GG.js} +2 -2
- package/dist/chunks/{exec-5ZXTX5XC.js → exec-2KM6DH56.js} +152 -41
- package/dist/chunks/exec-2KM6DH56.js.map +6 -0
- package/dist/chunks/{home-QS7RBP34.js → home-H4GTIYO5.js} +3 -3
- package/dist/chunks/{host-queries-A55WPD4R.js → host-queries-5C4TCX6J.js} +13 -13
- package/dist/chunks/{lifecycle-VR36VUPC.js → lifecycle-IHW4P636.js} +23 -23
- package/dist/chunks/{list-DQZU7NEF.js → list-JJZ7I5OF.js} +12 -12
- package/dist/chunks/{login-6OFDFHD6.js → login-T2RKNHK2.js} +8 -8
- package/dist/chunks/{logs-KSG7SFAB.js → logs-J6D4SEDY.js} +4 -4
- package/dist/chunks/{mcp-CHPFRT2Y.js → mcp-WONRVJ26.js} +15 -15
- package/dist/chunks/{message-command-AJFVZ5EY.js → message-command-F3TFROMK.js} +29 -29
- package/dist/chunks/{operator-tools-LTPV3CH5.js → operator-tools-H4MYC5PE.js} +11 -11
- package/dist/chunks/{output-schema-UM3P5AOR.js → output-schema-RFJUTQ2N.js} +3 -3
- package/dist/chunks/{pal-CWO3HUXQ.js → pal-UCYGJN75.js} +11 -11
- package/dist/chunks/{providers-7P5CTPHT.js → providers-BHF65IUG.js} +6 -6
- package/dist/chunks/{resident-3K7SI2UP.js → resident-CNS3XQRU.js} +18 -18
- package/dist/chunks/{resume-command-XZWGUXRK.js → resume-command-Y3NYDSI4.js} +4 -4
- package/dist/chunks/{schedule-GKM3RRIU.js → schedule-KN5YGOSJ.js} +8 -8
- package/dist/chunks/{service-CIWTUMRI.js → service-OEOHUGM6.js} +22 -22
- package/dist/chunks/session-step-AYHFVVX6.js +26 -0
- package/dist/chunks/{skills-HV2MOBEW.js → skills-K3JRZ3IR.js} +8 -8
- package/dist/chunks/{state-6HV3D3O4.js → state-QPSQI7U7.js} +2 -2
- package/dist/chunks/{store-GDP2EW27.js → store-7WZWQXKX.js} +6 -6
- package/dist/chunks/{store-6J2MUGON.js → store-PSQKDEPY.js} +8 -8
- package/dist/chunks/{store-VXNKMMNW.js → store-Z3PS6LUZ.js} +4 -4
- package/dist/chunks/{tui-ZURFLJQB.js → tui-JKZOXURU.js} +2626 -1331
- package/dist/chunks/tui-JKZOXURU.js.map +6 -0
- package/dist/chunks/{upgrade-MC5JB7DK.js → upgrade-C6QUXRLB.js} +3 -3
- package/dist/chunks/{worktree-6YPRX6SU.js → worktree-KLD2PAMU.js} +10 -10
- package/dist/cli.d.ts.map +1 -1
- package/dist/commands/acp-harness.d.ts.map +1 -1
- package/dist/commands/acp.d.ts +6 -0
- package/dist/commands/acp.d.ts.map +1 -1
- package/dist/commands/desktop-host-pr.d.ts +14 -0
- package/dist/commands/desktop-host-pr.d.ts.map +1 -0
- package/dist/commands/desktop-host.d.ts +6 -0
- package/dist/commands/desktop-host.d.ts.map +1 -1
- package/dist/commands/drain.d.ts.map +1 -1
- package/dist/commands/exec-json.d.ts.map +1 -1
- package/dist/commands/exec-workflows.d.ts +50 -0
- package/dist/commands/exec-workflows.d.ts.map +1 -0
- package/dist/commands/exec.d.ts.map +1 -1
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/schema.d.ts +96 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/index.js +9 -9
- package/dist/integrations/decision/model.d.ts +26 -0
- package/dist/integrations/decision/model.d.ts.map +1 -0
- package/dist/integrations/decision/routing.d.ts +75 -0
- package/dist/integrations/decision/routing.d.ts.map +1 -0
- package/dist/integrations/resident/runner-worker.js +16 -16
- package/dist/integrations/resident/session-step.d.ts.map +1 -1
- package/dist/integrations/subagents/activity.d.ts +19 -0
- package/dist/integrations/subagents/activity.d.ts.map +1 -1
- package/dist/integrations/subagents/runtime.d.ts +52 -0
- package/dist/integrations/subagents/runtime.d.ts.map +1 -1
- package/dist/integrations/workflows/doctrine.d.ts +7 -0
- package/dist/integrations/workflows/doctrine.d.ts.map +1 -0
- package/dist/integrations/workflows/history.d.ts +13 -0
- package/dist/integrations/workflows/history.d.ts.map +1 -0
- package/dist/integrations/workflows/host.d.ts +59 -0
- package/dist/integrations/workflows/host.d.ts.map +1 -0
- package/dist/integrations/workflows/notice.d.ts +19 -0
- package/dist/integrations/workflows/notice.d.ts.map +1 -0
- package/dist/integrations/workflows/offering.d.ts +40 -0
- package/dist/integrations/workflows/offering.d.ts.map +1 -0
- package/dist/integrations/workflows/registry.d.ts +73 -0
- package/dist/integrations/workflows/registry.d.ts.map +1 -0
- package/dist/integrations/workflows/view.d.ts +97 -0
- package/dist/integrations/workflows/view.d.ts.map +1 -0
- package/dist/pals/agent-session.d.ts.map +1 -1
- package/dist/tui/AgentExplorer.d.ts +179 -32
- package/dist/tui/AgentExplorer.d.ts.map +1 -1
- package/dist/tui/App.d.ts.map +1 -1
- package/dist/tui/BackgroundJobsPanel.d.ts.map +1 -1
- package/dist/tui/BrandHeader.d.ts +3 -1
- package/dist/tui/BrandHeader.d.ts.map +1 -1
- package/dist/tui/Composer.d.ts +23 -1
- package/dist/tui/Composer.d.ts.map +1 -1
- package/dist/tui/ComposerFrame.d.ts +10 -3
- package/dist/tui/ComposerFrame.d.ts.map +1 -1
- package/dist/tui/LiveActivity.d.ts +4 -0
- package/dist/tui/LiveActivity.d.ts.map +1 -1
- package/dist/tui/PendingInputPanel.d.ts +14 -11
- package/dist/tui/PendingInputPanel.d.ts.map +1 -1
- package/dist/tui/PermissionOverlay.d.ts.map +1 -1
- package/dist/tui/Picker.d.ts +11 -1
- package/dist/tui/Picker.d.ts.map +1 -1
- package/dist/tui/StatusBar.d.ts +61 -36
- package/dist/tui/StatusBar.d.ts.map +1 -1
- package/dist/tui/Transcript.d.ts +14 -0
- package/dist/tui/Transcript.d.ts.map +1 -1
- package/dist/tui/agent-transcript-rows.d.ts +34 -12
- package/dist/tui/agent-transcript-rows.d.ts.map +1 -1
- package/dist/tui/agent.d.ts +71 -1
- package/dist/tui/agent.d.ts.map +1 -1
- package/dist/tui/job-exit-row.d.ts +19 -0
- package/dist/tui/job-exit-row.d.ts.map +1 -0
- package/dist/tui/model-choices.d.ts +20 -0
- package/dist/tui/model-choices.d.ts.map +1 -1
- package/dist/tui/model-selection-intent.d.ts +25 -0
- package/dist/tui/model-selection-intent.d.ts.map +1 -1
- package/dist/tui/permission-review.d.ts +26 -0
- package/dist/tui/permission-review.d.ts.map +1 -1
- package/dist/tui/pr-status.d.ts +112 -0
- package/dist/tui/pr-status.d.ts.map +1 -0
- package/dist/tui/shell-cell.d.ts +86 -0
- package/dist/tui/shell-cell.d.ts.map +1 -0
- package/dist/tui/shorten-path.d.ts +10 -0
- package/dist/tui/shorten-path.d.ts.map +1 -0
- package/dist/tui/slashCommands.d.ts +4 -0
- package/dist/tui/slashCommands.d.ts.map +1 -1
- package/dist/tui/theme.d.ts +6 -0
- package/dist/tui/theme.d.ts.map +1 -1
- package/dist/tui/tidy-tool-output.d.ts +5 -0
- package/dist/tui/tidy-tool-output.d.ts.map +1 -1
- package/dist/tui/types.d.ts +23 -1
- package/dist/tui/types.d.ts.map +1 -1
- package/dist/tui/use-pr-status.d.ts +15 -0
- package/dist/tui/use-pr-status.d.ts.map +1 -0
- package/dist/tui/workflow-runs.d.ts +38 -0
- package/dist/tui/workflow-runs.d.ts.map +1 -0
- package/package.json +7 -6
- package/dist/chunks/acp-QXCMYZW7.js.map +0 -6
- package/dist/chunks/agent-session-UNUZAMRW.js +0 -46
- package/dist/chunks/chunk-EWKJGHRO.js.map +0 -6
- package/dist/chunks/chunk-MJMDPZ6G.js.map +0 -6
- package/dist/chunks/chunk-N5IF64K3.js.map +0 -6
- package/dist/chunks/chunk-PYG7DZ2D.js +0 -380
- package/dist/chunks/chunk-PYG7DZ2D.js.map +0 -6
- package/dist/chunks/chunk-RC6X3ZY6.js.map +0 -6
- package/dist/chunks/chunk-TJJUB7VQ.js.map +0 -6
- package/dist/chunks/exec-5ZXTX5XC.js.map +0 -6
- package/dist/chunks/session-step-XATOSLSM.js +0 -26
- package/dist/chunks/tui-ZURFLJQB.js.map +0 -6
- /package/dist/chunks/{activity-command-HK7YJTXV.js.map → activity-command-MCYEK4Z4.js.map} +0 -0
- /package/dist/chunks/{add-UYIKY4OE.js.map → add-ZQ3YWP4F.js.map} +0 -0
- /package/dist/chunks/{agent-Y2WYEXWC.js.map → agent-PAGVUATH.js.map} +0 -0
- /package/dist/chunks/{agent-session-UNUZAMRW.js.map → agent-session-PLIPF3XG.js.map} +0 -0
- /package/dist/chunks/{archive-C4A3HPLF.js.map → archive-VPREZOGC.js.map} +0 -0
- /package/dist/chunks/{bin-main-VQKMQICY.js.map → bin-main-MWFKUXP2.js.map} +0 -0
- /package/dist/chunks/{browser-CRX4HM4C.js.map → browser-FZWYOIIJ.js.map} +0 -0
- /package/dist/chunks/{chat-5MWPKAET.js.map → chat-W355SFNQ.js.map} +0 -0
- /package/dist/chunks/{chunk-TLTJ2KTW.js.map → chunk-2BZOT2CT.js.map} +0 -0
- /package/dist/chunks/{chunk-AN7FO7NS.js.map → chunk-3F5DGROG.js.map} +0 -0
- /package/dist/chunks/{chunk-YMKYJ4DI.js.map → chunk-3M3PMQ3I.js.map} +0 -0
- /package/dist/chunks/{chunk-WATMFOHB.js.map → chunk-46B7KRXY.js.map} +0 -0
- /package/dist/chunks/{chunk-GMCOZ3CU.js.map → chunk-52OVP5BG.js.map} +0 -0
- /package/dist/chunks/{chunk-HFJHHCTY.js.map → chunk-56OUKG5W.js.map} +0 -0
- /package/dist/chunks/{chunk-4BZMQ2VD.js.map → chunk-5URT3ZM2.js.map} +0 -0
- /package/dist/chunks/{chunk-AIY4PCDR.js.map → chunk-6TDJXZ5W.js.map} +0 -0
- /package/dist/chunks/{chunk-ZKEWE6K4.js.map → chunk-AHYHR5DY.js.map} +0 -0
- /package/dist/chunks/{chunk-3P5PF6XE.js.map → chunk-AP5KD43Y.js.map} +0 -0
- /package/dist/chunks/{chunk-OLPOM3DR.js.map → chunk-AS7UWXMN.js.map} +0 -0
- /package/dist/chunks/{chunk-Q24K7536.js.map → chunk-BOV53LZO.js.map} +0 -0
- /package/dist/chunks/{chunk-HQM2WSQT.js.map → chunk-BUCICQWG.js.map} +0 -0
- /package/dist/chunks/{chunk-YXLD46UI.js.map → chunk-DYUOXP5Q.js.map} +0 -0
- /package/dist/chunks/{chunk-UOOQPODR.js.map → chunk-E7HLYLD7.js.map} +0 -0
- /package/dist/chunks/{chunk-TIGWWAJI.js.map → chunk-EKUJUPFA.js.map} +0 -0
- /package/dist/chunks/{chunk-HV4LJFNV.js.map → chunk-F3YQ2CSZ.js.map} +0 -0
- /package/dist/chunks/{chunk-HBBB2CAC.js.map → chunk-FU4GQ7K2.js.map} +0 -0
- /package/dist/chunks/{chunk-IJH7J5NJ.js.map → chunk-GQN64E36.js.map} +0 -0
- /package/dist/chunks/{chunk-NQY5P2EB.js.map → chunk-HKDPP2JF.js.map} +0 -0
- /package/dist/chunks/{chunk-WM2JEUGV.js.map → chunk-HSEJGSXE.js.map} +0 -0
- /package/dist/chunks/{chunk-KU3W6IHV.js.map → chunk-I6CDUPVR.js.map} +0 -0
- /package/dist/chunks/{chunk-O7DBCVNY.js.map → chunk-IQBR45AU.js.map} +0 -0
- /package/dist/chunks/{chunk-FXS3AG6B.js.map → chunk-JCDTR2ZU.js.map} +0 -0
- /package/dist/chunks/{chunk-AXIGFKJF.js.map → chunk-KMHLON54.js.map} +0 -0
- /package/dist/chunks/{chunk-EIYM6TY7.js.map → chunk-KOG2WB66.js.map} +0 -0
- /package/dist/chunks/{chunk-5GRV6P5C.js.map → chunk-LBH5WVXU.js.map} +0 -0
- /package/dist/chunks/{chunk-K76WV7TN.js.map → chunk-MBBFX64S.js.map} +0 -0
- /package/dist/chunks/{chunk-JPPC4LJF.js.map → chunk-MJO6CH5F.js.map} +0 -0
- /package/dist/chunks/{chunk-SRU3MDHZ.js.map → chunk-NATYSTPM.js.map} +0 -0
- /package/dist/chunks/{chunk-X2FWNSZ7.js.map → chunk-NBD5MAGK.js.map} +0 -0
- /package/dist/chunks/{chunk-NROIHI6L.js.map → chunk-PINPSIJ5.js.map} +0 -0
- /package/dist/chunks/{chunk-YTESW44T.js.map → chunk-PLKJKF32.js.map} +0 -0
- /package/dist/chunks/{chunk-UDBEU2FR.js.map → chunk-QRT3N2K3.js.map} +0 -0
- /package/dist/chunks/{chunk-Q5YM2GCX.js.map → chunk-QXDKRJZ5.js.map} +0 -0
- /package/dist/chunks/{chunk-V7TQR6AR.js.map → chunk-RBX6RVYO.js.map} +0 -0
- /package/dist/chunks/{chunk-J72CRUNX.js.map → chunk-RM6HTBJK.js.map} +0 -0
- /package/dist/chunks/{chunk-A5UXODFL.js.map → chunk-S6MZK4LD.js.map} +0 -0
- /package/dist/chunks/{chunk-C5WBEO3X.js.map → chunk-VUOS5SQ3.js.map} +0 -0
- /package/dist/chunks/{chunk-LQMHASKR.js.map → chunk-XCWZZZOW.js.map} +0 -0
- /package/dist/chunks/{chunk-2NJ2XUXJ.js.map → chunk-YYQFUKI7.js.map} +0 -0
- /package/dist/chunks/{chunk-7WJOQ6EA.js.map → chunk-YYVDLVUM.js.map} +0 -0
- /package/dist/chunks/{chunk-UWWGSDZ5.js.map → chunk-ZB5ETOVE.js.map} +0 -0
- /package/dist/chunks/{chunk-CG65NUSJ.js.map → chunk-ZG6NVROB.js.map} +0 -0
- /package/dist/chunks/{chunk-TWMKJ6BE.js.map → chunk-ZHBHRMCI.js.map} +0 -0
- /package/dist/chunks/{cli-runtime-FXV35STX.js.map → cli-runtime-NG23IVRM.js.map} +0 -0
- /package/dist/chunks/{commands-QPVRB3RK.js.map → commands-LQISMOPF.js.map} +0 -0
- /package/dist/chunks/{crash-report-S3BTEPYR.js.map → crash-report-EYK56MJJ.js.map} +0 -0
- /package/dist/chunks/{dist-BFC7XUCT.js.map → dist-3AMBKAG4.js.map} +0 -0
- /package/dist/chunks/{dist-SKRHHPUR.js.map → dist-AUDNCB3F.js.map} +0 -0
- /package/dist/chunks/{dist-3GJFRS2X.js.map → dist-AZJ56DQJ.js.map} +0 -0
- /package/dist/chunks/{dist-EY3OJBQH.js.map → dist-DWB5AYXB.js.map} +0 -0
- /package/dist/chunks/{dist-ERN5DRKK.js.map → dist-EDKLCZY4.js.map} +0 -0
- /package/dist/chunks/{dist-LVG2TYZT.js.map → dist-PZXF5NU3.js.map} +0 -0
- /package/dist/chunks/{dist-G42HPNIE.js.map → dist-XT4V74YL.js.map} +0 -0
- /package/dist/chunks/{doctor-KMTPPEWG.js.map → doctor-3EOUWDYB.js.map} +0 -0
- /package/dist/chunks/{eval-53UONRWR.js.map → eval-VHWEJ4GG.js.map} +0 -0
- /package/dist/chunks/{home-QS7RBP34.js.map → home-H4GTIYO5.js.map} +0 -0
- /package/dist/chunks/{host-queries-A55WPD4R.js.map → host-queries-5C4TCX6J.js.map} +0 -0
- /package/dist/chunks/{lifecycle-VR36VUPC.js.map → lifecycle-IHW4P636.js.map} +0 -0
- /package/dist/chunks/{list-DQZU7NEF.js.map → list-JJZ7I5OF.js.map} +0 -0
- /package/dist/chunks/{login-6OFDFHD6.js.map → login-T2RKNHK2.js.map} +0 -0
- /package/dist/chunks/{logs-KSG7SFAB.js.map → logs-J6D4SEDY.js.map} +0 -0
- /package/dist/chunks/{mcp-CHPFRT2Y.js.map → mcp-WONRVJ26.js.map} +0 -0
- /package/dist/chunks/{message-command-AJFVZ5EY.js.map → message-command-F3TFROMK.js.map} +0 -0
- /package/dist/chunks/{operator-tools-LTPV3CH5.js.map → operator-tools-H4MYC5PE.js.map} +0 -0
- /package/dist/chunks/{output-schema-UM3P5AOR.js.map → output-schema-RFJUTQ2N.js.map} +0 -0
- /package/dist/chunks/{pal-CWO3HUXQ.js.map → pal-UCYGJN75.js.map} +0 -0
- /package/dist/chunks/{providers-7P5CTPHT.js.map → providers-BHF65IUG.js.map} +0 -0
- /package/dist/chunks/{resident-3K7SI2UP.js.map → resident-CNS3XQRU.js.map} +0 -0
- /package/dist/chunks/{resume-command-XZWGUXRK.js.map → resume-command-Y3NYDSI4.js.map} +0 -0
- /package/dist/chunks/{schedule-GKM3RRIU.js.map → schedule-KN5YGOSJ.js.map} +0 -0
- /package/dist/chunks/{service-CIWTUMRI.js.map → service-OEOHUGM6.js.map} +0 -0
- /package/dist/chunks/{session-step-XATOSLSM.js.map → session-step-AYHFVVX6.js.map} +0 -0
- /package/dist/chunks/{skills-HV2MOBEW.js.map → skills-K3JRZ3IR.js.map} +0 -0
- /package/dist/chunks/{state-6HV3D3O4.js.map → state-QPSQI7U7.js.map} +0 -0
- /package/dist/chunks/{store-6J2MUGON.js.map → store-7WZWQXKX.js.map} +0 -0
- /package/dist/chunks/{store-GDP2EW27.js.map → store-PSQKDEPY.js.map} +0 -0
- /package/dist/chunks/{store-VXNKMMNW.js.map → store-Z3PS6LUZ.js.map} +0 -0
- /package/dist/chunks/{upgrade-MC5JB7DK.js.map → upgrade-C6QUXRLB.js.map} +0 -0
- /package/dist/chunks/{worktree-6YPRX6SU.js.map → worktree-KLD2PAMU.js.map} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,48 @@
|
|
|
1
1
|
# @namzu/cli
|
|
2
2
|
|
|
3
|
+
## 36.3.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 437dd6d: Add the `workflow` tool. When you ask for one (hypermode on, the word "workflow" or "iş akışı" in your message, or `/workflow <what to do>`), the model can write a short script that starts many agents in phases and runs them in the background. Before anything starts you see its name, purpose, phases, agent limits and the script (`d` shows all of it) and approve once; in `auto` mode ("bypass permissions") it starts without asking, and a session with nobody to ask refuses with a plain reason. Its agents are ordinary children under the same permission mode, rules, sandbox and budget as the `Agent` tool, but they are not subagent rows: the run is one row on the rail (`◯ name ▰▱ 3/6 · 12s · ↓ tokens`) opening to its phases (declared ones listed before they start), then a phase's agents, then an agent's transcript; `x` stops the run on the phases and skips one agent on the agents. The conversation shows `● Workflow(<purpose>)` at launch and `✓ Workflow <name> completed · …` when the run ends, `/workflows` lists this conversation's runs (earlier ones from their journals under `<session>/runs/<runId>/workflow/`), and the model gets one message with the result when a run ends. Nothing changes for conversations that never ask for a workflow. The workflow tool is offered only by hosts that can review a background run (the terminal and `namzu exec`, not the desktop app yet). A finished workflow and a background command that ends on its own now start a turn at once when the session is idle, so the model reports without you typing (a command you stopped yourself does not). `namzu exec` waits for a workflow the model started, lets the model report, and then exits; its `Tokens:` line (and the `budget` in `exec --json`) is the whole command's, the reporting turn and the workflow's agents included. New config keys: `workflow.maxConcurrency` (1-16, default min(8, CPUs-2)) and `workflow.maxAgents` (1-1000, default 200).
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- 437dd6d: The agents rail under the message box is now a `main` row plus one row per agent that is running or finished in the last 30 seconds (type, description, time and spend), five at a time with `↓ N more`. Press ↓ in an empty composer to move into it: ↑/↓ select, Enter opens that agent's transcript (Esc comes back to the same row), `x` stops a running agent or clears a finished one, Esc returns to the composer. The old titled tree (workflow and phase lines, a latest-activity line per agent, the `↓ / ctrl+t` counter) is no longer drawn on the rail; `Ctrl+T` and `/agents` still open the full cockpit with all of it.
|
|
12
|
+
- 437dd6d: `/jobs` is now the `Background` panel: a row per background shell (status icon, command, `running` / `done` / `error` / `stopped`), `Shell details` with `Status:`, `Runtime:`, `Command:` and live `Output:`, and no job ids on screen. When a background command ends the transcript gets a row such as `● Background command "npm test" completed (exit code 0) · 12s`, or `failed with exit code 2` / `was stopped`.
|
|
13
|
+
- 437dd6d: Messages you type while Namzu is working now wait as grey `❯` rows above the input box instead of inside it; a Tab-queued one says `after this reply`. Press Up on an empty input to choose a queued message and Enter to edit it, or `ctrl+x ctrl+s` to send waiting messages now. Nothing changes in how messages reach the model.
|
|
14
|
+
|
|
15
|
+
They sit directly above the `Working` row.
|
|
16
|
+
|
|
17
|
+
- 692466e: The message box in Namzu Desktop now shows, beside the mode, how many background shells are running ("2 shells", which opens the list) and the pull request of the conversation's branch ("PR #607", coloured by review state, which opens it in the browser). The pull request comes from the GitHub command line tool the terminal already uses; with `gh` missing, signed out, or no pull request, nothing is shown. The CLI host gains a read-only `namzu/project/pr` request for it.
|
|
18
|
+
- 692466e: A message typed in Namzu Desktop while a reply is running now reaches that reply at its next model request, as the terminal does. Before, the desktop host reported live input as unavailable for the whole of every turn, so each such message silently waited for the reply to finish. Nothing to change on your side.
|
|
19
|
+
- 437dd6d: The composer footer is now one row of items in the reference's order: the mode in plain words (`⏵⏵ bypass permissions on`, `⏵⏵ accept edits on`, `‖ plan mode on`), `PR #592` for the current branch's pull request (coloured by review state and linked where the terminal supports it), a `N shells` pill for running background shells (the separate "shells running" line is gone), then `esc to interrupt` while a turn runs, `← N agents` and `↓ to manage`. From an empty composer `←` opens the agents and `↓` focuses the shell pill first (Enter opens the `/jobs` screen) and then the agents rail; with anything typed both keys keep moving the cursor, and the hints leave the row. The agents rail's own `↓ to manage` on its `main` row is gone, since the footer says it. A running shell takes the `(shift+tab to cycle)` reminder off the row. The model name now yields first when the row is narrow. The pull request comes from the `gh` command line tool, read in the background, only on a real terminal; `NAMZU_PR_STATUS=off` turns it off. The working directory no longer appears on the footer row. The composer's frame is now two plain horizontal rules with a dim `❯ ` prompt between them: the boxed frame with corners, side borders and a `MESSAGE` caption is gone, and `hypermode` is named at the upper rule's right end.
|
|
20
|
+
- 437dd6d: The startup header now shows the folder Namzu is working in on the row under the version, with the home folder written as `~` and a long path cut from the left to fit. The footer no longer carries it.
|
|
21
|
+
- 437dd6d: Shell commands in the terminal now read like Claude Code's: a green or red dot in front of `Bash(command)` instead of a tick and a duration, the command's line breaks kept in the header, and the output hung under `⎿` as its first three lines followed by `… +N lines (ctrl+o to expand)`. A failed command now shows its error output and `Exit code N` instead of repeating the command, an empty result reads `(No output)`, and a command moved to a background job reads `Running in the background` instead of the instructions meant for the model. While a command runs it shows `Running…` with the elapsed time.
|
|
22
|
+
- 28eaee1: On Windows the `bash` tool, background jobs started with `run_in_background`, and plugin shell hooks now run in Git for Windows' bash instead of cmd.exe whenever Git for Windows is installed, and `hostCommandShell()` and `BashTool.commandDialect()` answer `bash` there instead of `cmd`. Before, every command a model wrote was refused or needed a person to approve it each time, because the permission rules cannot read cmd.exe lines. Git Bash is looked up as `NAMZU_BASH_SHELL`, then `%ProgramFiles%\Git\bin\bash.exe`, then `%ProgramFiles(x86)%\Git\bin\bash.exe`, then `%LOCALAPPDATA%\Programs\Git\bin\bash.exe`, then the install holding the first `git` that `where.exe git` lists outside the working directory. Commands now need Unix syntax (`/dev/null`, forward slashes, `$VAR`); the model is told so, and `>nul` is rewritten to `/dev/null`. A host that depends on cmd.exe syntax in the `bash` tool, or on `hostCommandShell().dialect === 'cmd'` on a machine with Git for Windows, sets `NAMZU_BASH_SHELL=cmd` (a path to `cmd.exe`, such as `%ComSpec%`, works too) to keep the old behaviour. Without Git for Windows nothing changes except that `windowsShellNotice()` returns a sentence saying commands run in cmd.exe and each asks for approval; the CLI shows it once at session start. New exports: `findGitBash`, `isWindowsBash`, `windowsShellNotice`, `rewriteWindowsNullRedirect`, `WINDOWS_BASH_GUIDANCE`, `WINDOWS_CMD_FALLBACK_NOTICE`, and an optional `windows` flag on `CommandShell`. Stopping a command or job on Windows now also ends processes that Git Bash forked, which `taskkill /T` alone missed.
|
|
23
|
+
- 437dd6d: Agents that the model gave one `workflow` label now also appear as a single row on the rail under the message box: `◯ name`, a progress bar, `3/7 · elapsed · ↓ tokens`. Press ↓ to reach it; Enter opens that workflow's phases and agents (Esc comes back to the row), `x` stops its running agents or clears the row once it has finished, and the row leaves 30 seconds after the last agent ends. When a workflow's turn ends, one line in the conversation says how it ended. The rail's key line now reads `enter to view · x to stop`.
|
|
24
|
+
- 437dd6d: Workflows and subagents are now separate in the terminal. An agent started with a `workflow` label no longer shows up as an agent row on the rail: it appears only inside its workflow, which is one row after the agent rows, and the `main` row shows only when there is an agent row. Enter on the workflow opens its phases (numbered, turning ✔ or ✘, with done/total), then the agents of a phase, then an agent's transcript; ← or Esc goes back up and `x` stops the whole workflow or one agent. In the conversation a workflow's launch is one `Workflow <name>` line instead of a row per agent, and the turn summary no longer counts phases.
|
|
25
|
+
- Updated dependencies [437dd6d]
|
|
26
|
+
- Updated dependencies [437dd6d]
|
|
27
|
+
- Updated dependencies [28eaee1]
|
|
28
|
+
- Updated dependencies [437dd6d]
|
|
29
|
+
- @namzu/sdk@51.0.0
|
|
30
|
+
- @namzu/browser@2.0.1
|
|
31
|
+
- @namzu/computer-use@3.1.0
|
|
32
|
+
- @namzu/anthropic@6.3.0
|
|
33
|
+
- @namzu/ollama@2.2.5
|
|
34
|
+
- @namzu/openai@4.1.4
|
|
35
|
+
- @namzu/openrouter@3.0.3
|
|
36
|
+
- @namzu/sandbox@26.0.0
|
|
37
|
+
|
|
38
|
+
## 36.2.0
|
|
39
|
+
|
|
40
|
+
### Minor Changes
|
|
41
|
+
|
|
42
|
+
- 1c48447: Make Auto a visible model choice in the terminal and in Desktop. With a `routing` block in your user config, the `/model` picker lists "Auto (picks a model for each task)" first, `/model auto` (or "switch model to auto", "auto'ya geç") turns it on, and Desktop's composer model picker offers the same row; `model: auto` stays the way to make Auto the default every time. Choosing a model by hand turns Auto off for that conversation and choosing Auto turns it back on; a launch `--model` still wins for that launch. Auto chosen in the terminal lasts for the launch, and Desktop remembers it per conversation. Nothing changes for configs without `routing`: asking for Auto there now says in plain words that it needs a `routing` block. The ACP runtime gains an optional `auto` field on the provider status and a `namzu/providers/select_auto` method; Pals and external engines are never offered Auto.
|
|
43
|
+
- 1c48447: Add opt-in automatic model selection. Set `model: auto` and a `routing` block (`default`, optional `tiers.fast` and `tiers.big`, `strategy`, `thresholds`, `timeoutMs`) in your user or managed config, and the CLI asks your configured `decision` model how big each task is and runs it on the matching model, so short chat can use a small local model and large changes a bigger one. Any failure to decide, a timeout, or an unavailable tier runs `routing.default`; it never falls to the small or big model. `model: auto` without `routing.default` is a config error at load. Nothing changes unless you set these keys: the default behaviour is untouched, project config and the environment cannot set them, and `--model` or picking a model by hand turns auto off. Pals resolve `auto` once, to `routing.default`, when a session starts.
|
|
44
|
+
- 90c911e: Add an optional `decision` config block that gives the host and Pal agents a `decide` tool backed by a System-1 decision model (yes/no, choice or score). Two providers are supported: `provider: azure` (`endpoint`, `deployment`, optional `tokenEnv`, default `AZURE_FOUNDRY_TOKEN`) and `provider: http` (`url`, optional `model`, optional `apiKeyEnv`). The config names the environment variable that holds a credential, never the credential itself. The tool is advisory and fail-open: if the model is unreachable or errors, the tool tells the agent to proceed and the turn does not fail. Without the block nothing changes. Nothing needs to be done to upgrade.
|
|
45
|
+
|
|
3
46
|
## 36.1.2
|
|
4
47
|
|
|
5
48
|
### Patch Changes
|
package/dist/bin.js
CHANGED
|
@@ -81,6 +81,6 @@ __name(suppressSqliteExperimentalWarning, "suppressSqliteExperimentalWarning");
|
|
|
81
81
|
suppressSqliteExperimentalWarning();
|
|
82
82
|
|
|
83
83
|
// src/bin.ts
|
|
84
|
-
var { main } = await import("./chunks/bin-main-
|
|
84
|
+
var { main } = await import("./chunks/bin-main-MWFKUXP2.js");
|
|
85
85
|
main(fileURLToPath(new URL("./", import.meta.url).href + "bin.js"));
|
|
86
86
|
//# sourceMappingURL=bin.js.map
|
|
@@ -2,15 +2,17 @@ import { createRequire as __namzuCreateRequire } from 'node:module';
|
|
|
2
2
|
const require = __namzuCreateRequire(import.meta.url);
|
|
3
3
|
import {
|
|
4
4
|
dispatchCliPalMessages
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-NBD5MAGK.js";
|
|
6
6
|
import {
|
|
7
7
|
conversationMarkdown,
|
|
8
|
+
lookupPr,
|
|
9
|
+
runCommand,
|
|
8
10
|
withKeyNote
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-2TGQ2B53.js";
|
|
12
|
+
import "./chunk-PINPSIJ5.js";
|
|
11
13
|
import {
|
|
12
14
|
decideHeadlessTrust
|
|
13
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-VUOS5SQ3.js";
|
|
14
16
|
import {
|
|
15
17
|
cliPalComputerStatus,
|
|
16
18
|
cliPalScreen,
|
|
@@ -23,21 +25,21 @@ import {
|
|
|
23
25
|
startCliPalComputer,
|
|
24
26
|
stopCliPalComputer,
|
|
25
27
|
takeOverCliPalComputer
|
|
26
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-YYQFUKI7.js";
|
|
27
29
|
import {
|
|
28
30
|
palSessionEnvironment
|
|
29
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-2O7KYX4V.js";
|
|
30
32
|
import {
|
|
31
33
|
cliPalActivitySubscriptionPolicy,
|
|
32
34
|
cliPalActivitySubscriptionStore,
|
|
33
35
|
cliPalCommunicationPolicy,
|
|
34
36
|
cliPalCommunicationStore
|
|
35
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-46B7KRXY.js";
|
|
36
38
|
import {
|
|
37
39
|
claimPalConversation,
|
|
38
40
|
listPalConversations,
|
|
39
41
|
palConversationBinding
|
|
40
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-6TDJXZ5W.js";
|
|
41
43
|
import {
|
|
42
44
|
FileCheckpointStore,
|
|
43
45
|
PluginSettingsStore,
|
|
@@ -48,16 +50,16 @@ import {
|
|
|
48
50
|
sessionLogCheckpointView,
|
|
49
51
|
validateComposerSendSettings,
|
|
50
52
|
verifyCredential
|
|
51
|
-
} from "./chunk-
|
|
52
|
-
import "./chunk-
|
|
53
|
-
import "./chunk-
|
|
53
|
+
} from "./chunk-SFUUN6B3.js";
|
|
54
|
+
import "./chunk-52OVP5BG.js";
|
|
55
|
+
import "./chunk-3F5DGROG.js";
|
|
54
56
|
import "./chunk-WHODOMXA.js";
|
|
55
|
-
import "./chunk-
|
|
56
|
-
import "./chunk-
|
|
57
|
-
import "./chunk-
|
|
58
|
-
import "./chunk-
|
|
59
|
-
import "./chunk-
|
|
60
|
-
import "./chunk-
|
|
57
|
+
import "./chunk-JCDTR2ZU.js";
|
|
58
|
+
import "./chunk-XCWZZZOW.js";
|
|
59
|
+
import "./chunk-QBAISLAD.js";
|
|
60
|
+
import "./chunk-AP5KD43Y.js";
|
|
61
|
+
import "./chunk-5URT3ZM2.js";
|
|
62
|
+
import "./chunk-MJO6CH5F.js";
|
|
61
63
|
import "./chunk-ZWA2JRJV.js";
|
|
62
64
|
import "./chunk-NUGPLXVK.js";
|
|
63
65
|
import {
|
|
@@ -67,7 +69,7 @@ import {
|
|
|
67
69
|
resolveTrustedProjectContext
|
|
68
70
|
} from "./chunk-CHIEVVQ2.js";
|
|
69
71
|
import "./chunk-GNBMKISG.js";
|
|
70
|
-
import "./chunk-
|
|
72
|
+
import "./chunk-MBBFX64S.js";
|
|
71
73
|
import "./chunk-US5ZFPAU.js";
|
|
72
74
|
import {
|
|
73
75
|
automaticKind,
|
|
@@ -75,7 +77,7 @@ import {
|
|
|
75
77
|
discoverProviders,
|
|
76
78
|
hasApiCredential,
|
|
77
79
|
isAnonymousZen
|
|
78
|
-
} from "./chunk-
|
|
80
|
+
} from "./chunk-DYUOXP5Q.js";
|
|
79
81
|
import {
|
|
80
82
|
ALL_PROVIDER_IDS,
|
|
81
83
|
PROVIDER_REGISTRY
|
|
@@ -83,13 +85,13 @@ import {
|
|
|
83
85
|
import {
|
|
84
86
|
compilePermissions,
|
|
85
87
|
warnLegacyMcpPermissionNames
|
|
86
|
-
} from "./chunk-
|
|
87
|
-
import "./chunk-
|
|
88
|
+
} from "./chunk-QXDKRJZ5.js";
|
|
89
|
+
import "./chunk-HSEJGSXE.js";
|
|
88
90
|
import {
|
|
89
91
|
cliLogger
|
|
90
|
-
} from "./chunk-
|
|
92
|
+
} from "./chunk-FU4GQ7K2.js";
|
|
91
93
|
import "./chunk-EEDZOGV4.js";
|
|
92
|
-
import "./chunk-
|
|
94
|
+
import "./chunk-LBH5WVXU.js";
|
|
93
95
|
import "./chunk-OH6TB27S.js";
|
|
94
96
|
import {
|
|
95
97
|
isOfferableModel
|
|
@@ -112,11 +114,11 @@ import {
|
|
|
112
114
|
refreshIndex,
|
|
113
115
|
setTitle,
|
|
114
116
|
unarchiveConversation
|
|
115
|
-
} from "./chunk-
|
|
117
|
+
} from "./chunk-EKUJUPFA.js";
|
|
116
118
|
import {
|
|
117
119
|
cliProjectRoot
|
|
118
120
|
} from "./chunk-H6B6AROX.js";
|
|
119
|
-
import "./chunk-
|
|
121
|
+
import "./chunk-S6MZK4LD.js";
|
|
120
122
|
import {
|
|
121
123
|
cliPalStore,
|
|
122
124
|
createPal,
|
|
@@ -126,13 +128,13 @@ import {
|
|
|
126
128
|
listPals,
|
|
127
129
|
palAtWorkspace,
|
|
128
130
|
updatePal
|
|
129
|
-
} from "./chunk-
|
|
131
|
+
} from "./chunk-AS7UWXMN.js";
|
|
130
132
|
import {
|
|
131
133
|
isTrusted,
|
|
132
134
|
isTrustedAtStateRoot,
|
|
133
135
|
trustDir,
|
|
134
136
|
untrustDir
|
|
135
|
-
} from "./chunk-
|
|
137
|
+
} from "./chunk-ZG6NVROB.js";
|
|
136
138
|
import {
|
|
137
139
|
canonicalProjectPath
|
|
138
140
|
} from "./chunk-JORONMD3.js";
|
|
@@ -143,8 +145,8 @@ import {
|
|
|
143
145
|
readStoredGeminiApiKey,
|
|
144
146
|
writeStoredApiKey,
|
|
145
147
|
writeStoredGeminiApiKey
|
|
146
|
-
} from "./chunk-
|
|
147
|
-
import "./chunk-
|
|
148
|
+
} from "./chunk-BOV53LZO.js";
|
|
149
|
+
import "./chunk-HKDPP2JF.js";
|
|
148
150
|
import {
|
|
149
151
|
ACPServer,
|
|
150
152
|
DiskLogMedium,
|
|
@@ -177,7 +179,7 @@ import {
|
|
|
177
179
|
resolveWithinAnyReal,
|
|
178
180
|
resolveWithinReal,
|
|
179
181
|
selectAssistantText
|
|
180
|
-
} from "./chunk-
|
|
182
|
+
} from "./chunk-V3ZLK3XQ.js";
|
|
181
183
|
import {
|
|
182
184
|
__commonJS,
|
|
183
185
|
__name,
|
|
@@ -9587,6 +9589,7 @@ function withCliHarnesses(base, directory, deps = createDefaults()) {
|
|
|
9587
9589
|
const selections = /* @__PURE__ */ new Map();
|
|
9588
9590
|
const records = /* @__PURE__ */ new Map();
|
|
9589
9591
|
const reserving = /* @__PURE__ */ new Set();
|
|
9592
|
+
const nativeTurns = /* @__PURE__ */ new Set();
|
|
9590
9593
|
const catalogues = /* @__PURE__ */ new Map();
|
|
9591
9594
|
const clock2 = /* @__PURE__ */ __name(() => (deps.now ?? Date.now)(), "clock");
|
|
9592
9595
|
let closed = false;
|
|
@@ -9754,7 +9757,14 @@ function withCliHarnesses(base, directory, deps = createDefaults()) {
|
|
|
9754
9757
|
let record2 = records.get(request.sessionId);
|
|
9755
9758
|
try {
|
|
9756
9759
|
const choice = await selectionFor(request.sessionId, cwd);
|
|
9757
|
-
if (!choice)
|
|
9760
|
+
if (!choice) {
|
|
9761
|
+
nativeTurns.add(request.sessionId);
|
|
9762
|
+
try {
|
|
9763
|
+
return await base.gateway.prompt(request);
|
|
9764
|
+
} finally {
|
|
9765
|
+
nativeTurns.delete(request.sessionId);
|
|
9766
|
+
}
|
|
9767
|
+
}
|
|
9758
9768
|
if (request.attachments?.length)
|
|
9759
9769
|
throw new Error(
|
|
9760
9770
|
"This engine connection does not support attachments yet. Your draft is retained."
|
|
@@ -9864,7 +9874,7 @@ function withCliHarnesses(base, directory, deps = createDefaults()) {
|
|
|
9864
9874
|
...liveInputStatus && liveInput ? {
|
|
9865
9875
|
liveInputStatus: /* @__PURE__ */ __name(async (id2, scopeId, scope) => {
|
|
9866
9876
|
if (closed) throw new Error("The connection is closed.");
|
|
9867
|
-
if (records.has(id2) || selections.has(id2) || reserving.has(id2)) {
|
|
9877
|
+
if (records.has(id2) || selections.has(id2) || reserving.has(id2) && !nativeTurns.has(id2)) {
|
|
9868
9878
|
if (scopeId !== void 0)
|
|
9869
9879
|
throw new Error("This live prompt scope is unavailable in this engine.");
|
|
9870
9880
|
return { available: false, inputs: [] };
|
|
@@ -9872,7 +9882,7 @@ function withCliHarnesses(base, directory, deps = createDefaults()) {
|
|
|
9872
9882
|
return liveInputStatus(id2, scopeId, scope);
|
|
9873
9883
|
}, "liveInputStatus"),
|
|
9874
9884
|
liveInput: /* @__PURE__ */ __name(async (id2, input, scope) => {
|
|
9875
|
-
if (closed || records.has(id2) || selections.has(id2) || reserving.has(id2))
|
|
9885
|
+
if (closed || records.has(id2) || selections.has(id2) || reserving.has(id2) && !nativeTurns.has(id2))
|
|
9876
9886
|
throw new Error("Live input is unavailable in this engine.");
|
|
9877
9887
|
return liveInput(id2, input, scope);
|
|
9878
9888
|
}, "liveInput")
|
|
@@ -10008,6 +10018,21 @@ function withCliHarnesses(base, directory, deps = createDefaults()) {
|
|
|
10008
10018
|
reserving.delete(id2);
|
|
10009
10019
|
}
|
|
10010
10020
|
}, "selectProvider"),
|
|
10021
|
+
selectAuto: /* @__PURE__ */ __name(async (id2) => {
|
|
10022
|
+
if (!base.selectAuto) throw new Error("Auto is not available here.");
|
|
10023
|
+
if ((deps.isPal ?? ((path) => Boolean(palAtWorkspace(path))))(directory))
|
|
10024
|
+
return await base.selectAuto(id2);
|
|
10025
|
+
if (reserving.has(id2) || records.get(id2)?.route)
|
|
10026
|
+
throw new Error("Stop this conversation before changing its model.");
|
|
10027
|
+
reserving.add(id2);
|
|
10028
|
+
try {
|
|
10029
|
+
if (await selectionFor(id2, trusted()))
|
|
10030
|
+
throw new Error("This conversation uses its own engine and model catalogue.");
|
|
10031
|
+
return await base.selectAuto(id2);
|
|
10032
|
+
} finally {
|
|
10033
|
+
reserving.delete(id2);
|
|
10034
|
+
}
|
|
10035
|
+
}, "selectAuto"),
|
|
10011
10036
|
plugins: /* @__PURE__ */ __name(async (cwd, id2) => id2 && await selectionFor(id2, cwd) ? {
|
|
10012
10037
|
plugins: [],
|
|
10013
10038
|
live: false,
|
|
@@ -10902,6 +10927,14 @@ function createProjectChanges(options = {}) {
|
|
|
10902
10927
|
}
|
|
10903
10928
|
__name(createProjectChanges, "createProjectChanges");
|
|
10904
10929
|
|
|
10930
|
+
// src/commands/desktop-host-pr.ts
|
|
10931
|
+
async function projectPr(cwd, run = runCommand) {
|
|
10932
|
+
const found = await lookupPr(run, cwd);
|
|
10933
|
+
if (found.state.kind !== "pr") return null;
|
|
10934
|
+
return { number: found.state.number, url: found.state.url, review: found.state.review };
|
|
10935
|
+
}
|
|
10936
|
+
__name(projectPr, "projectPr");
|
|
10937
|
+
|
|
10905
10938
|
// src/commands/desktop-host.ts
|
|
10906
10939
|
function text3(params, key, max = 400) {
|
|
10907
10940
|
const value = params[key];
|
|
@@ -11964,6 +11997,12 @@ function createDesktopHostExtensions(runtime, directory, publishedSessionCwd, re
|
|
|
11964
11997
|
if (!isTrusted(cwd)) return null;
|
|
11965
11998
|
return projectGit(cwd);
|
|
11966
11999
|
}, "namzu/project/git"),
|
|
12000
|
+
"namzu/project/pr": /* @__PURE__ */ __name(async (params = {}) => {
|
|
12001
|
+
if (!params || typeof params !== "object" || Array.isArray(params) || Object.keys(params).length > 0)
|
|
12002
|
+
throw new Error("Invalid project pull request request.");
|
|
12003
|
+
if (!isTrusted(cwd)) return { pr: null };
|
|
12004
|
+
return { pr: await projectPr(cwd) };
|
|
12005
|
+
}, "namzu/project/pr"),
|
|
11967
12006
|
"namzu/project/changes": /* @__PURE__ */ __name(async (params = {}) => {
|
|
11968
12007
|
if (!params || typeof params !== "object" || Array.isArray(params) || Object.keys(params).length > 0)
|
|
11969
12008
|
throw new Error("Invalid project changes request.");
|
|
@@ -12003,7 +12042,9 @@ function createDesktopHostExtensions(runtime, directory, publishedSessionCwd, re
|
|
|
12003
12042
|
}, "namzu/tasks/list"),
|
|
12004
12043
|
"namzu/providers/status": /* @__PURE__ */ __name(async (params) => {
|
|
12005
12044
|
const id2 = params.sessionId === void 0 ? void 0 : await ownedReadSession(params);
|
|
12006
|
-
const
|
|
12045
|
+
const raw = await runtime.providerStatus(id2);
|
|
12046
|
+
const { auto: _auto, ...withoutAuto } = raw ?? {};
|
|
12047
|
+
const status = pal() ? withoutAuto : raw;
|
|
12007
12048
|
const model = id2 ? void 0 : pal()?.model;
|
|
12008
12049
|
if (!model) return status;
|
|
12009
12050
|
return {
|
|
@@ -12055,6 +12096,12 @@ function createDesktopHostExtensions(runtime, directory, publishedSessionCwd, re
|
|
|
12055
12096
|
);
|
|
12056
12097
|
return { selected: true };
|
|
12057
12098
|
}, "namzu/providers/select"),
|
|
12099
|
+
"namzu/providers/select_auto": /* @__PURE__ */ __name(async (params) => {
|
|
12100
|
+
if (!isTrusted(cwd)) throw new Error("Trust this folder first.");
|
|
12101
|
+
if (!runtime.selectAuto) throw new Error("Auto is not available here.");
|
|
12102
|
+
await runtime.selectAuto(await ownedSession(params));
|
|
12103
|
+
return { selected: true };
|
|
12104
|
+
}, "namzu/providers/select_auto"),
|
|
12058
12105
|
"namzu/providers/connections": /* @__PURE__ */ __name(() => runtime.providerConnections(), "namzu/providers/connections"),
|
|
12059
12106
|
"namzu/providers/save_key": /* @__PURE__ */ __name(async (params) => {
|
|
12060
12107
|
if (Object.keys(params).some((key) => !["provider", "apiKey"].includes(key)))
|
|
@@ -12376,6 +12423,9 @@ function createCliAcpRuntime(bootstrapCtx, deps = DEFAULT_RUNTIME_DEPS) {
|
|
|
12376
12423
|
const liveInputs = /* @__PURE__ */ new Map();
|
|
12377
12424
|
const constructing = /* @__PURE__ */ new Map();
|
|
12378
12425
|
const selections = /* @__PURE__ */ new Map();
|
|
12426
|
+
const autoChoices = /* @__PURE__ */ new Map();
|
|
12427
|
+
const autoAvailable = /* @__PURE__ */ __name((config, pal) => config.routing !== void 0 && !pal, "autoAvailable");
|
|
12428
|
+
const autoIsActive = /* @__PURE__ */ __name((sessionId, config, pal) => autoAvailable(config, pal) && ((sessionId ? autoChoices.get(sessionId) : void 0) ?? config.model === "auto"), "autoIsActive");
|
|
12379
12429
|
const pluginOverrides = /* @__PURE__ */ new Map();
|
|
12380
12430
|
const selecting = /* @__PURE__ */ new Set();
|
|
12381
12431
|
const retriedOn = /* @__PURE__ */ new Map();
|
|
@@ -12549,6 +12599,10 @@ function createCliAcpRuntime(bootstrapCtx, deps = DEFAULT_RUNTIME_DEPS) {
|
|
|
12549
12599
|
...projectCtx.config.compaction ? { compaction: projectCtx.config.compaction } : {},
|
|
12550
12600
|
...projectCtx.config.memory ? { memory: projectCtx.config.memory } : {},
|
|
12551
12601
|
...projectCtx.config.sandbox ? { sandbox: projectCtx.config.sandbox } : {},
|
|
12602
|
+
...projectCtx.config.decision ? { decision: projectCtx.config.decision } : {},
|
|
12603
|
+
// Routed turns only where Auto is what runs: never for a Pal, and not after the
|
|
12604
|
+
// person hand-picked a model for this conversation.
|
|
12605
|
+
...projectCtx.config.routing && autoIsActive(sessionId, projectCtx.config, palBinding != null) ? { routing: projectCtx.config.routing } : {},
|
|
12552
12606
|
// `!== undefined`, not truthiness: an empty list is the
|
|
12553
12607
|
// operator turning the default screen OFF.
|
|
12554
12608
|
...projectCtx.config.toolResultScreens !== void 0 ? { toolResultScreens: projectCtx.config.toolResultScreens } : {},
|
|
@@ -13219,7 +13273,10 @@ function createCliAcpRuntime(bootstrapCtx, deps = DEFAULT_RUNTIME_DEPS) {
|
|
|
13219
13273
|
const probe = await sharedProbe();
|
|
13220
13274
|
const choice = (await preferencesFor(sessionId, probe))?.providers[0];
|
|
13221
13275
|
const automatic = !probe.preferences && !(sessionId && selections.has(sessionId)) && !choice?.model;
|
|
13276
|
+
const pal = sessionId ? await deps.palBinding?.(records.get(sessionId)?.cwd ?? process.cwd(), sessionId) != null : false;
|
|
13277
|
+
const auto = autoAvailable(bootstrapCtx.config, pal) ? { active: autoIsActive(sessionId, bootstrapCtx.config, pal) } : void 0;
|
|
13222
13278
|
return {
|
|
13279
|
+
...auto ? { auto } : {},
|
|
13223
13280
|
available: probe.detected.map((found) => ({
|
|
13224
13281
|
id: found.entry.id,
|
|
13225
13282
|
label: found.entry.label,
|
|
@@ -13287,7 +13344,10 @@ function createCliAcpRuntime(bootstrapCtx, deps = DEFAULT_RUNTIME_DEPS) {
|
|
|
13287
13344
|
const preferences = await preferencesFor(sessionId, probe);
|
|
13288
13345
|
const live = records.get(sessionId);
|
|
13289
13346
|
const previous = live ? { id: live.provider, model: live.model } : preferences?.providers[0];
|
|
13290
|
-
|
|
13347
|
+
const palBinding = await deps.palBinding?.(live?.cwd ?? process.cwd(), sessionId);
|
|
13348
|
+
const palModel = palBinding?.definition.model;
|
|
13349
|
+
const wasAuto = autoIsActive(sessionId, bootstrapCtx.config, palBinding != null);
|
|
13350
|
+
if (!wasAuto && previous?.id === provider && (previous.model ?? detected.entry.defaultModel) === (model ?? detected.entry.defaultModel))
|
|
13291
13351
|
return;
|
|
13292
13352
|
const existing = records.get(sessionId);
|
|
13293
13353
|
if (existing?.route || existing?.session.jobs?.().some((job) => job.status === "running"))
|
|
@@ -13302,7 +13362,7 @@ function createCliAcpRuntime(bootstrapCtx, deps = DEFAULT_RUNTIME_DEPS) {
|
|
|
13302
13362
|
}
|
|
13303
13363
|
}
|
|
13304
13364
|
if (closed) throw new Error("The connection is closed.");
|
|
13305
|
-
|
|
13365
|
+
if (wasAuto) autoChoices.set(sessionId, false);
|
|
13306
13366
|
if (palModel && palModel.provider === provider && palModel.model === selectedModel) {
|
|
13307
13367
|
selections.delete(sessionId);
|
|
13308
13368
|
return;
|
|
@@ -13318,6 +13378,38 @@ function createCliAcpRuntime(bootstrapCtx, deps = DEFAULT_RUNTIME_DEPS) {
|
|
|
13318
13378
|
selecting.delete(sessionId);
|
|
13319
13379
|
}
|
|
13320
13380
|
}, "selectProvider"),
|
|
13381
|
+
selectAuto: /* @__PURE__ */ __name(async (sessionId) => {
|
|
13382
|
+
if (!isEntityId(sessionId, "session")) throw new Error("Invalid conversation id.");
|
|
13383
|
+
if (constructing.has(sessionId) || selecting.has(sessionId))
|
|
13384
|
+
throw new Error("Wait for this conversation to finish connecting.");
|
|
13385
|
+
selecting.add(sessionId);
|
|
13386
|
+
try {
|
|
13387
|
+
if (closed) throw new Error("The connection is closed.");
|
|
13388
|
+
const existing = records.get(sessionId);
|
|
13389
|
+
const pal = await deps.palBinding?.(existing?.cwd ?? process.cwd(), sessionId) != null;
|
|
13390
|
+
if (pal)
|
|
13391
|
+
throw new Error("Auto is not available in a Pal conversation. A Pal keeps its own model.");
|
|
13392
|
+
if (!autoAvailable(bootstrapCtx.config, false))
|
|
13393
|
+
throw new Error(
|
|
13394
|
+
"Auto is not set up. It needs a routing block in your user config (~/.namzu/config.yaml) that says which models to pick from. See docs/cli/auto-model-routing.md."
|
|
13395
|
+
);
|
|
13396
|
+
if (autoIsActive(sessionId, bootstrapCtx.config, false)) return;
|
|
13397
|
+
if (existing?.route || existing?.session.jobs?.().some((job) => job.status === "running"))
|
|
13398
|
+
throw new Error("Stop this conversation\u2019s active work before changing its model.");
|
|
13399
|
+
if (existing) {
|
|
13400
|
+
if (existing.retrySettings) retryCarry.set(sessionId, existing.retrySettings);
|
|
13401
|
+
records.delete(sessionId);
|
|
13402
|
+
try {
|
|
13403
|
+
await existing.session.close();
|
|
13404
|
+
} finally {
|
|
13405
|
+
if (existing.conversations) closeSessions(existing.conversations);
|
|
13406
|
+
}
|
|
13407
|
+
}
|
|
13408
|
+
autoChoices.set(sessionId, true);
|
|
13409
|
+
} finally {
|
|
13410
|
+
selecting.delete(sessionId);
|
|
13411
|
+
}
|
|
13412
|
+
}, "selectAuto"),
|
|
13321
13413
|
jobs: /* @__PURE__ */ __name((sessionId) => records.get(sessionId)?.session.jobs?.() ?? [], "jobs"),
|
|
13322
13414
|
readJob: /* @__PURE__ */ __name((sessionId, jobId) => {
|
|
13323
13415
|
const session2 = records.get(sessionId)?.session;
|
|
@@ -13448,4 +13540,4 @@ export {
|
|
|
13448
13540
|
resolveAcpSession,
|
|
13449
13541
|
runAcpCommand
|
|
13450
13542
|
};
|
|
13451
|
-
//# sourceMappingURL=acp-
|
|
13543
|
+
//# sourceMappingURL=acp-2DS2IECT.js.map
|