@namzu/cli 34.1.1 → 36.0.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 +800 -0
- package/README.md +160 -394
- package/assets/pal-blender-mcp.py +123 -0
- package/assets/pal-godot-mcp-pin.json +135 -0
- package/assets/pal-godot-mcp.cjs +418 -0
- package/dist/bin-main.d.ts +3 -0
- package/dist/bin-main.d.ts.map +1 -0
- package/dist/bin.d.ts +2 -1
- package/dist/bin.d.ts.map +1 -1
- package/dist/bin.js +85 -23
- package/dist/bin.js.map +6 -1
- package/dist/boot-narrative.d.ts +16 -0
- package/dist/boot-narrative.d.ts.map +1 -0
- package/dist/checkpoints/manifest.d.ts +107 -0
- package/dist/checkpoints/manifest.d.ts.map +1 -0
- package/dist/checkpoints/store.d.ts +280 -40
- package/dist/checkpoints/store.d.ts.map +1 -1
- package/dist/checkpoints/undo-plan.d.ts +83 -0
- package/dist/checkpoints/undo-plan.d.ts.map +1 -0
- package/dist/checkpoints/wrap.d.ts +4 -0
- package/dist/checkpoints/wrap.d.ts.map +1 -1
- package/dist/chunks/acp-BOSEA4R3.js +13448 -0
- package/dist/chunks/acp-BOSEA4R3.js.map +6 -0
- package/dist/chunks/activity-command-ACS7KL3C.js +262 -0
- package/dist/chunks/activity-command-ACS7KL3C.js.map +6 -0
- package/dist/chunks/add-DLS54YKS.js +712 -0
- package/dist/chunks/add-DLS54YKS.js.map +6 -0
- package/dist/chunks/agent-GV3DWYQC.js +87 -0
- package/dist/chunks/agent-GV3DWYQC.js.map +6 -0
- package/dist/chunks/agent-session-7VE6GJJH.js +46 -0
- package/dist/chunks/agent-session-7VE6GJJH.js.map +6 -0
- package/dist/chunks/archive-6ZENIEBP.js +84 -0
- package/dist/chunks/archive-6ZENIEBP.js.map +6 -0
- package/dist/chunks/bin-main-NFFT5ZIU.js +126 -0
- package/dist/chunks/bin-main-NFFT5ZIU.js.map +6 -0
- package/dist/chunks/browser-VT2U6NG2.js +31 -0
- package/dist/chunks/browser-VT2U6NG2.js.map +6 -0
- package/dist/chunks/chat-UNYVLDFL.js +101 -0
- package/dist/chunks/chat-UNYVLDFL.js.map +6 -0
- package/dist/chunks/chunk-2IL6OG3X.js +311 -0
- package/dist/chunks/chunk-2IL6OG3X.js.map +6 -0
- package/dist/chunks/chunk-2RBYHHLM.js +319 -0
- package/dist/chunks/chunk-2RBYHHLM.js.map +6 -0
- package/dist/chunks/chunk-42ZK2AH4.js +71 -0
- package/dist/chunks/chunk-42ZK2AH4.js.map +6 -0
- package/dist/chunks/chunk-5PQVJBIO.js +168 -0
- package/dist/chunks/chunk-5PQVJBIO.js.map +6 -0
- package/dist/chunks/chunk-6CPT2ZBS.js +75 -0
- package/dist/chunks/chunk-6CPT2ZBS.js.map +6 -0
- package/dist/chunks/chunk-6LLJQ3KY.js +225 -0
- package/dist/chunks/chunk-6LLJQ3KY.js.map +6 -0
- package/dist/chunks/chunk-6YFJDVGA.js +161 -0
- package/dist/chunks/chunk-6YFJDVGA.js.map +6 -0
- package/dist/chunks/chunk-6YG7D7U4.js +159 -0
- package/dist/chunks/chunk-6YG7D7U4.js.map +6 -0
- package/dist/chunks/chunk-6ZPODOJN.js +828 -0
- package/dist/chunks/chunk-6ZPODOJN.js.map +6 -0
- package/dist/chunks/chunk-76FLAFCG.js +51 -0
- package/dist/chunks/chunk-76FLAFCG.js.map +6 -0
- package/dist/chunks/chunk-7HCPD673.js +25326 -0
- package/dist/chunks/chunk-7HCPD673.js.map +6 -0
- package/dist/chunks/chunk-7KWGR2YA.js +257 -0
- package/dist/chunks/chunk-7KWGR2YA.js.map +6 -0
- package/dist/chunks/chunk-A22MBIYU.js +42 -0
- package/dist/chunks/chunk-A22MBIYU.js.map +6 -0
- package/dist/chunks/chunk-AHIDYIRB.js +329 -0
- package/dist/chunks/chunk-AHIDYIRB.js.map +6 -0
- package/dist/chunks/chunk-AK2U3N2A.js +31 -0
- package/dist/chunks/chunk-AK2U3N2A.js.map +6 -0
- package/dist/chunks/chunk-AKKRZTPB.js +283 -0
- package/dist/chunks/chunk-AKKRZTPB.js.map +6 -0
- package/dist/chunks/chunk-BCZR2B3Y.js +97 -0
- package/dist/chunks/chunk-BCZR2B3Y.js.map +6 -0
- package/dist/chunks/chunk-CHIEVVQ2.js +32 -0
- package/dist/chunks/chunk-CHIEVVQ2.js.map +6 -0
- package/dist/chunks/chunk-D67YBUO3.js +110 -0
- package/dist/chunks/chunk-D67YBUO3.js.map +6 -0
- package/dist/chunks/chunk-DIHEHK7K.js +765 -0
- package/dist/chunks/chunk-DIHEHK7K.js.map +6 -0
- package/dist/chunks/chunk-E5VLANCO.js +101 -0
- package/dist/chunks/chunk-E5VLANCO.js.map +6 -0
- package/dist/chunks/chunk-EEDZOGV4.js +47 -0
- package/dist/chunks/chunk-EEDZOGV4.js.map +6 -0
- package/dist/chunks/chunk-ENGNEELC.js +271 -0
- package/dist/chunks/chunk-ENGNEELC.js.map +6 -0
- package/dist/chunks/chunk-EVY4MVRE.js +74 -0
- package/dist/chunks/chunk-EVY4MVRE.js.map +6 -0
- package/dist/chunks/chunk-FJNDNNNQ.js +115 -0
- package/dist/chunks/chunk-FJNDNNNQ.js.map +6 -0
- package/dist/chunks/chunk-FOFGMP7O.js +20 -0
- package/dist/chunks/chunk-FOFGMP7O.js.map +6 -0
- package/dist/chunks/chunk-FTMTO72X.js +95 -0
- package/dist/chunks/chunk-FTMTO72X.js.map +6 -0
- package/dist/chunks/chunk-GIXSS6KW.js +2228 -0
- package/dist/chunks/chunk-GIXSS6KW.js.map +6 -0
- package/dist/chunks/chunk-GNBMKISG.js +19 -0
- package/dist/chunks/chunk-GNBMKISG.js.map +6 -0
- package/dist/chunks/chunk-GWQEMJFS.js +28 -0
- package/dist/chunks/chunk-GWQEMJFS.js.map +6 -0
- package/dist/chunks/chunk-H6B6AROX.js +151 -0
- package/dist/chunks/chunk-H6B6AROX.js.map +6 -0
- package/dist/chunks/chunk-HE7WUOX2.js +26 -0
- package/dist/chunks/chunk-HE7WUOX2.js.map +6 -0
- package/dist/chunks/chunk-HZBKWL42.js +303 -0
- package/dist/chunks/chunk-HZBKWL42.js.map +6 -0
- package/dist/chunks/chunk-I7HQR6ET.js +75 -0
- package/dist/chunks/chunk-I7HQR6ET.js.map +6 -0
- package/dist/chunks/chunk-IJEB77SH.js +648 -0
- package/dist/chunks/chunk-IJEB77SH.js.map +6 -0
- package/dist/chunks/chunk-JNPDWME5.js +675 -0
- package/dist/chunks/chunk-JNPDWME5.js.map +6 -0
- package/dist/chunks/chunk-JORONMD3.js +18 -0
- package/dist/chunks/chunk-JORONMD3.js.map +6 -0
- package/dist/chunks/chunk-JV3LONAU.js +76 -0
- package/dist/chunks/chunk-JV3LONAU.js.map +6 -0
- package/dist/chunks/chunk-K5HARZ7G.js +82516 -0
- package/dist/chunks/chunk-K5HARZ7G.js.map +6 -0
- package/dist/chunks/chunk-KONYGNG6.js +7661 -0
- package/dist/chunks/chunk-KONYGNG6.js.map +6 -0
- package/dist/chunks/chunk-LXB3S4IC.js +19 -0
- package/dist/chunks/chunk-LXB3S4IC.js.map +6 -0
- package/dist/chunks/chunk-M3IAMIBJ.js +661 -0
- package/dist/chunks/chunk-M3IAMIBJ.js.map +6 -0
- package/dist/chunks/chunk-MH6KUKVV.js +1142 -0
- package/dist/chunks/chunk-MH6KUKVV.js.map +6 -0
- package/dist/chunks/chunk-MS3IYQ72.js +1479 -0
- package/dist/chunks/chunk-MS3IYQ72.js.map +6 -0
- package/dist/chunks/chunk-MZP6SH3M.js +3497 -0
- package/dist/chunks/chunk-MZP6SH3M.js.map +6 -0
- package/dist/chunks/chunk-N3ZEXVSS.js +76 -0
- package/dist/chunks/chunk-N3ZEXVSS.js.map +6 -0
- package/dist/chunks/chunk-N6SR54VC.js +207 -0
- package/dist/chunks/chunk-N6SR54VC.js.map +6 -0
- package/dist/chunks/chunk-NADQQMMG.js +46 -0
- package/dist/chunks/chunk-NADQQMMG.js.map +6 -0
- package/dist/chunks/chunk-NBH52WHS.js +247 -0
- package/dist/chunks/chunk-NBH52WHS.js.map +6 -0
- package/dist/chunks/chunk-NICLKFBG.js +109 -0
- package/dist/chunks/chunk-NICLKFBG.js.map +6 -0
- package/dist/chunks/chunk-NIPHHZ5G.js +283 -0
- package/dist/chunks/chunk-NIPHHZ5G.js.map +6 -0
- package/dist/chunks/chunk-NQT244I2.js +517 -0
- package/dist/chunks/chunk-NQT244I2.js.map +6 -0
- package/dist/chunks/chunk-NUGPLXVK.js +228 -0
- package/dist/chunks/chunk-NUGPLXVK.js.map +6 -0
- package/dist/chunks/chunk-OEW7CJKK.js +140 -0
- package/dist/chunks/chunk-OEW7CJKK.js.map +6 -0
- package/dist/chunks/chunk-OH6TB27S.js +111 -0
- package/dist/chunks/chunk-OH6TB27S.js.map +6 -0
- package/dist/chunks/chunk-OWH6QQY2.js +1858 -0
- package/dist/chunks/chunk-OWH6QQY2.js.map +6 -0
- package/dist/chunks/chunk-OWXJOD4H.js +773 -0
- package/dist/chunks/chunk-OWXJOD4H.js.map +6 -0
- package/dist/chunks/chunk-PT537V7B.js +787 -0
- package/dist/chunks/chunk-PT537V7B.js.map +6 -0
- package/dist/chunks/chunk-QEQZFG2X.js +106 -0
- package/dist/chunks/chunk-QEQZFG2X.js.map +6 -0
- package/dist/chunks/chunk-QL4O4UGZ.js +245 -0
- package/dist/chunks/chunk-QL4O4UGZ.js.map +6 -0
- package/dist/chunks/chunk-QL54XCF4.js +73 -0
- package/dist/chunks/chunk-QL54XCF4.js.map +6 -0
- package/dist/chunks/chunk-SB6UD3ED.js +1355 -0
- package/dist/chunks/chunk-SB6UD3ED.js.map +6 -0
- package/dist/chunks/chunk-SGGRGKGV.js +34 -0
- package/dist/chunks/chunk-SGGRGKGV.js.map +6 -0
- package/dist/chunks/chunk-SKKWMMFP.js +474 -0
- package/dist/chunks/chunk-SKKWMMFP.js.map +6 -0
- package/dist/chunks/chunk-SMIDV4KH.js +171 -0
- package/dist/chunks/chunk-SMIDV4KH.js.map +6 -0
- package/dist/chunks/chunk-T2VUTAHB.js +46 -0
- package/dist/chunks/chunk-T2VUTAHB.js.map +6 -0
- package/dist/chunks/chunk-T4SB6AAF.js +134 -0
- package/dist/chunks/chunk-T4SB6AAF.js.map +6 -0
- package/dist/chunks/chunk-TBIX6JRE.js +24 -0
- package/dist/chunks/chunk-TBIX6JRE.js.map +6 -0
- package/dist/chunks/chunk-THNCQJ33.js +11265 -0
- package/dist/chunks/chunk-THNCQJ33.js.map +6 -0
- package/dist/chunks/chunk-U56QFYGA.js +818 -0
- package/dist/chunks/chunk-U56QFYGA.js.map +6 -0
- package/dist/chunks/chunk-U6GZ7EW4.js +106 -0
- package/dist/chunks/chunk-U6GZ7EW4.js.map +6 -0
- package/dist/chunks/chunk-UDDSFIMB.js +1373 -0
- package/dist/chunks/chunk-UDDSFIMB.js.map +6 -0
- package/dist/chunks/chunk-UFHNXZL2.js +399 -0
- package/dist/chunks/chunk-UFHNXZL2.js.map +6 -0
- package/dist/chunks/chunk-US5ZFPAU.js +400 -0
- package/dist/chunks/chunk-US5ZFPAU.js.map +6 -0
- package/dist/chunks/chunk-VRL2WNQN.js +7534 -0
- package/dist/chunks/chunk-VRL2WNQN.js.map +6 -0
- package/dist/chunks/chunk-W3UQMRYA.js +380 -0
- package/dist/chunks/chunk-W3UQMRYA.js.map +6 -0
- package/dist/chunks/chunk-W5KGCUP3.js +11111 -0
- package/dist/chunks/chunk-W5KGCUP3.js.map +6 -0
- package/dist/chunks/chunk-WHODOMXA.js +132 -0
- package/dist/chunks/chunk-WHODOMXA.js.map +6 -0
- package/dist/chunks/chunk-WT6TFCPV.js +154 -0
- package/dist/chunks/chunk-WT6TFCPV.js.map +6 -0
- package/dist/chunks/chunk-WY2WUTFR.js +164 -0
- package/dist/chunks/chunk-WY2WUTFR.js.map +6 -0
- package/dist/chunks/chunk-XEUQN4JC.js +54 -0
- package/dist/chunks/chunk-XEUQN4JC.js.map +6 -0
- package/dist/chunks/chunk-Y7B67G22.js +26 -0
- package/dist/chunks/chunk-Y7B67G22.js.map +6 -0
- package/dist/chunks/chunk-YEMJX2DS.js +69 -0
- package/dist/chunks/chunk-YEMJX2DS.js.map +6 -0
- package/dist/chunks/chunk-YKLKHDZU.js +2953 -0
- package/dist/chunks/chunk-YKLKHDZU.js.map +6 -0
- package/dist/chunks/chunk-YQEWD2EN.js +127 -0
- package/dist/chunks/chunk-YQEWD2EN.js.map +6 -0
- package/dist/chunks/chunk-YYQJIECC.js +1439 -0
- package/dist/chunks/chunk-YYQJIECC.js.map +6 -0
- package/dist/chunks/chunk-ZKVZNOUS.js +106 -0
- package/dist/chunks/chunk-ZKVZNOUS.js.map +6 -0
- package/dist/chunks/chunk-ZPR4IMRT.js +36 -0
- package/dist/chunks/chunk-ZPR4IMRT.js.map +6 -0
- package/dist/chunks/chunk-ZWA2JRJV.js +45 -0
- package/dist/chunks/chunk-ZWA2JRJV.js.map +6 -0
- package/dist/chunks/cli-runtime-F4MBZ2UQ.js +129 -0
- package/dist/chunks/cli-runtime-F4MBZ2UQ.js.map +6 -0
- package/dist/chunks/commands-GMQGFTIY.js +21 -0
- package/dist/chunks/commands-GMQGFTIY.js.map +6 -0
- package/dist/chunks/computer-GXDY4H35.js +493 -0
- package/dist/chunks/computer-GXDY4H35.js.map +6 -0
- package/dist/chunks/crash-report-STOHSORG.js +21 -0
- package/dist/chunks/crash-report-STOHSORG.js.map +6 -0
- package/dist/chunks/devtools-LBE4PAQN.js +3851 -0
- package/dist/chunks/devtools-LBE4PAQN.js.map +6 -0
- package/dist/chunks/dist-3AF2X4S5.js +1339 -0
- package/dist/chunks/dist-3AF2X4S5.js.map +6 -0
- package/dist/chunks/dist-AZIMHV2B.js +514 -0
- package/dist/chunks/dist-AZIMHV2B.js.map +6 -0
- package/dist/chunks/dist-BGYRQ5BC.js +555 -0
- package/dist/chunks/dist-BGYRQ5BC.js.map +6 -0
- package/dist/chunks/dist-OTTZ7WVD.js +1415 -0
- package/dist/chunks/dist-OTTZ7WVD.js.map +6 -0
- package/dist/chunks/dist-R3I3ATSG.js +1018 -0
- package/dist/chunks/dist-R3I3ATSG.js.map +6 -0
- package/dist/chunks/dist-TXEKDBQO.js +40642 -0
- package/dist/chunks/dist-TXEKDBQO.js.map +6 -0
- package/dist/chunks/dist-XTWYQHHN.js +520 -0
- package/dist/chunks/dist-XTWYQHHN.js.map +6 -0
- package/dist/chunks/doctor-VXSB4Y4P.js +28 -0
- package/dist/chunks/doctor-VXSB4Y4P.js.map +6 -0
- package/dist/chunks/drain-DXVICQBR.js +471 -0
- package/dist/chunks/drain-DXVICQBR.js.map +6 -0
- package/dist/chunks/endpoint-M2DDENPP.js +15 -0
- package/dist/chunks/endpoint-M2DDENPP.js.map +6 -0
- package/dist/chunks/eval-BMJQXDKA.js +187 -0
- package/dist/chunks/eval-BMJQXDKA.js.map +6 -0
- package/dist/chunks/exec-3T5ESZPH.js +1284 -0
- package/dist/chunks/exec-3T5ESZPH.js.map +6 -0
- package/dist/chunks/home-ILHA7B6Z.js +16 -0
- package/dist/chunks/home-ILHA7B6Z.js.map +6 -0
- package/dist/chunks/host-queries-QCMWDZGS.js +152 -0
- package/dist/chunks/host-queries-QCMWDZGS.js.map +6 -0
- package/dist/chunks/lib-KXZZJJG2.js +2657 -0
- package/dist/chunks/lib-KXZZJJG2.js.map +6 -0
- package/dist/chunks/lifecycle-CB23VJI7.js +63 -0
- package/dist/chunks/lifecycle-CB23VJI7.js.map +6 -0
- package/dist/chunks/list-N6WXZBMD.js +293 -0
- package/dist/chunks/list-N6WXZBMD.js.map +6 -0
- package/dist/chunks/login-26NCG6EQ.js +29 -0
- package/dist/chunks/login-26NCG6EQ.js.map +6 -0
- package/dist/chunks/logs-V7SNM7LA.js +116 -0
- package/dist/chunks/logs-V7SNM7LA.js.map +6 -0
- package/dist/chunks/mcp-BTHCU5ZC.js +763 -0
- package/dist/chunks/mcp-BTHCU5ZC.js.map +6 -0
- package/dist/chunks/message-command-HMIOR52C.js +170 -0
- package/dist/chunks/message-command-HMIOR52C.js.map +6 -0
- package/dist/chunks/node-QB2FA2ZB.js +916 -0
- package/dist/chunks/node-QB2FA2ZB.js.map +6 -0
- package/dist/chunks/operator-tools-7LMWOHSN.js +115 -0
- package/dist/chunks/operator-tools-7LMWOHSN.js.map +6 -0
- package/dist/chunks/output-schema-XCONYVZ7.js +11 -0
- package/dist/chunks/output-schema-XCONYVZ7.js.map +6 -0
- package/dist/chunks/pal-YEUKHA6F.js +200 -0
- package/dist/chunks/pal-YEUKHA6F.js.map +6 -0
- package/dist/chunks/paths-DXYFKIJU.js +10 -0
- package/dist/chunks/paths-DXYFKIJU.js.map +6 -0
- package/dist/chunks/pica-WNHDDIFX.js +1736 -0
- package/dist/chunks/pica-WNHDDIFX.js.map +6 -0
- package/dist/chunks/providers-EI3FAKYB.js +160 -0
- package/dist/chunks/providers-EI3FAKYB.js.map +6 -0
- package/dist/chunks/resident-5ZY6OG6B.js +1314 -0
- package/dist/chunks/resident-5ZY6OG6B.js.map +6 -0
- package/dist/chunks/resume-command-ONYRZIIA.js +22 -0
- package/dist/chunks/resume-command-ONYRZIIA.js.map +6 -0
- package/dist/chunks/schedule-6JPEO4NR.js +143 -0
- package/dist/chunks/schedule-6JPEO4NR.js.map +6 -0
- package/dist/chunks/serve-S7UWNIR3.js +21 -0
- package/dist/chunks/serve-S7UWNIR3.js.map +6 -0
- package/dist/chunks/service-WSW3M6K5.js +1633 -0
- package/dist/chunks/service-WSW3M6K5.js.map +6 -0
- package/dist/chunks/session-step-2VZM3CCA.js +26 -0
- package/dist/chunks/session-step-2VZM3CCA.js.map +6 -0
- package/dist/chunks/skills-KAZJYGX5.js +282 -0
- package/dist/chunks/skills-KAZJYGX5.js.map +6 -0
- package/dist/chunks/state-263OUKQA.js +717 -0
- package/dist/chunks/state-263OUKQA.js.map +6 -0
- package/dist/chunks/store-3XLCJ7EL.js +42 -0
- package/dist/chunks/store-3XLCJ7EL.js.map +6 -0
- package/dist/chunks/store-KN65QI2M.js +82 -0
- package/dist/chunks/store-KN65QI2M.js.map +6 -0
- package/dist/chunks/store-X3TESBIN.js +34 -0
- package/dist/chunks/store-X3TESBIN.js.map +6 -0
- package/dist/chunks/tui-5MU7JBXX.js +56703 -0
- package/dist/chunks/tui-5MU7JBXX.js.map +6 -0
- package/dist/chunks/upgrade-BYM4MWBC.js +315 -0
- package/dist/chunks/upgrade-BYM4MWBC.js.map +6 -0
- package/dist/chunks/webapi-6HUHZUAH.js +2715 -0
- package/dist/chunks/webapi-6HUHZUAH.js.map +6 -0
- package/dist/chunks/worktree-K3ZIPXRM.js +116 -0
- package/dist/chunks/worktree-K3ZIPXRM.js.map +6 -0
- package/dist/cli-runtime.d.ts +19 -0
- package/dist/cli-runtime.d.ts.map +1 -0
- package/dist/cli.d.ts +0 -15
- package/dist/cli.d.ts.map +1 -1
- package/dist/commands/acp-harness.d.ts +64 -0
- package/dist/commands/acp-harness.d.ts.map +1 -0
- package/dist/commands/acp-provider-retry.d.ts +27 -0
- package/dist/commands/acp-provider-retry.d.ts.map +1 -0
- package/dist/commands/acp.d.ts +134 -3
- package/dist/commands/acp.d.ts.map +1 -1
- package/dist/commands/computer.d.ts +3 -0
- package/dist/commands/computer.d.ts.map +1 -0
- package/dist/commands/desktop-host-changes.d.ts +65 -0
- package/dist/commands/desktop-host-changes.d.ts.map +1 -0
- package/dist/commands/desktop-host-header.d.ts +30 -0
- package/dist/commands/desktop-host-header.d.ts.map +1 -0
- package/dist/commands/desktop-host.d.ts +354 -0
- package/dist/commands/desktop-host.d.ts.map +1 -0
- package/dist/commands/desktop-model-catalogue.d.ts +25 -0
- package/dist/commands/desktop-model-catalogue.d.ts.map +1 -0
- package/dist/commands/effort-levels.d.ts +3 -0
- package/dist/commands/effort-levels.d.ts.map +1 -0
- package/dist/commands/exec-flags.d.ts +4 -0
- package/dist/commands/exec-flags.d.ts.map +1 -1
- package/dist/commands/exec.d.ts.map +1 -1
- package/dist/commands/lazy.d.ts +20 -0
- package/dist/commands/lazy.d.ts.map +1 -0
- package/dist/commands/manifest.d.ts +33 -0
- package/dist/commands/manifest.d.ts.map +1 -0
- package/dist/commands/mcp.d.ts +3 -0
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/pal.d.ts +5 -0
- package/dist/commands/pal.d.ts.map +1 -0
- package/dist/commands/permission-preview.d.ts +38 -0
- package/dist/commands/permission-preview.d.ts.map +1 -0
- package/dist/commands/registry.d.ts +10 -0
- package/dist/commands/registry.d.ts.map +1 -1
- package/dist/commands/serve.d.ts +1 -12
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/stdin.d.ts.map +1 -1
- package/dist/commands/upgrade.d.ts +14 -0
- package/dist/commands/upgrade.d.ts.map +1 -1
- package/dist/compile-cache-enable.d.ts +2 -0
- package/dist/compile-cache-enable.d.ts.map +1 -0
- package/dist/compile-cache.d.ts +53 -0
- package/dist/compile-cache.d.ts.map +1 -0
- package/dist/computer/bundle.d.ts +18 -0
- package/dist/computer/bundle.d.ts.map +1 -0
- package/dist/computer/run.d.ts +26 -0
- package/dist/computer/run.d.ts.map +1 -0
- package/dist/computer/sentences.d.ts +30 -0
- package/dist/computer/sentences.d.ts.map +1 -0
- package/dist/config/load.d.ts +10 -1
- package/dist/config/load.d.ts.map +1 -1
- package/dist/context/capabilities.d.ts +25 -2
- package/dist/context/capabilities.d.ts.map +1 -1
- package/dist/context/runtime-message.d.ts.map +1 -1
- package/dist/crash-report.d.ts +22 -0
- package/dist/crash-report.d.ts.map +1 -0
- package/dist/debug-requested.d.ts +7 -0
- package/dist/debug-requested.d.ts.map +1 -0
- package/dist/doctor/checks/credentials.d.ts.map +1 -1
- package/dist/exit-codes.d.ts +9 -1
- package/dist/exit-codes.d.ts.map +1 -1
- package/dist/index.js +105 -17
- package/dist/index.js.map +6 -1
- package/dist/integrations/harness/claude-adapter.d.ts +20 -0
- package/dist/integrations/harness/claude-adapter.d.ts.map +1 -0
- package/dist/integrations/harness/claude-protocol.d.ts +67 -0
- package/dist/integrations/harness/claude-protocol.d.ts.map +1 -0
- package/dist/integrations/harness/codex-adapter.d.ts +80 -0
- package/dist/integrations/harness/codex-adapter.d.ts.map +1 -0
- package/dist/integrations/harness/codex-protocol.d.ts +22 -0
- package/dist/integrations/harness/codex-protocol.d.ts.map +1 -0
- package/dist/integrations/harness/model-cache.d.ts +16 -0
- package/dist/integrations/harness/model-cache.d.ts.map +1 -0
- package/dist/integrations/harness/native-executable.d.ts +8 -0
- package/dist/integrations/harness/native-executable.d.ts.map +1 -0
- package/dist/integrations/harness/process.d.ts +25 -0
- package/dist/integrations/harness/process.d.ts.map +1 -0
- package/dist/integrations/mcp/servers.d.ts.map +1 -1
- package/dist/integrations/peers/runtime.d.ts +64 -0
- package/dist/integrations/peers/runtime.d.ts.map +1 -0
- package/dist/integrations/plugins/inventory.d.ts +27 -0
- package/dist/integrations/plugins/inventory.d.ts.map +1 -0
- package/dist/integrations/providers/composer-settings.d.ts +33 -0
- package/dist/integrations/providers/composer-settings.d.ts.map +1 -0
- package/dist/integrations/providers/connections.d.ts +37 -0
- package/dist/integrations/providers/connections.d.ts.map +1 -0
- package/dist/integrations/providers/credential-store.d.ts +35 -0
- package/dist/integrations/providers/credential-store.d.ts.map +1 -1
- package/dist/integrations/providers/discover.d.ts +27 -1
- package/dist/integrations/providers/discover.d.ts.map +1 -1
- package/dist/integrations/providers/index.d.ts +2 -2
- package/dist/integrations/providers/index.d.ts.map +1 -1
- package/dist/integrations/providers/picker-operation.d.ts +6 -0
- package/dist/integrations/providers/picker-operation.d.ts.map +1 -0
- package/dist/integrations/providers/setup.d.ts +16 -1
- package/dist/integrations/providers/setup.d.ts.map +1 -1
- package/dist/integrations/resident/runner-worker.js +190 -161
- package/dist/integrations/resident/runner-worker.js.map +6 -1
- package/dist/integrations/resident/session-step.d.ts.map +1 -1
- package/dist/integrations/sessions/display-title.d.ts +8 -0
- package/dist/integrations/sessions/display-title.d.ts.map +1 -1
- package/dist/integrations/sessions/store.d.ts +23 -9
- package/dist/integrations/sessions/store.d.ts.map +1 -1
- package/dist/integrations/sessions/task-context.d.ts +1 -1
- package/dist/integrations/sessions/task-context.d.ts.map +1 -1
- package/dist/integrations/sessions/transcript-export.d.ts.map +1 -1
- package/dist/integrations/subagents/activity.d.ts +9 -6
- package/dist/integrations/subagents/activity.d.ts.map +1 -1
- package/dist/integrations/subagents/operator-journal.d.ts +20 -0
- package/dist/integrations/subagents/operator-journal.d.ts.map +1 -0
- package/dist/integrations/subagents/runtime.d.ts +11 -0
- package/dist/integrations/subagents/runtime.d.ts.map +1 -1
- package/dist/integrations/trust/store.d.ts +14 -0
- package/dist/integrations/trust/store.d.ts.map +1 -1
- package/dist/integrations/web/search.d.ts +1 -1
- package/dist/pals/actions.d.ts +57 -0
- package/dist/pals/actions.d.ts.map +1 -0
- package/dist/pals/activity-command.d.ts +3 -0
- package/dist/pals/activity-command.d.ts.map +1 -0
- package/dist/pals/activity.d.ts +18 -0
- package/dist/pals/activity.d.ts.map +1 -0
- package/dist/pals/agent-session.d.ts +19 -0
- package/dist/pals/agent-session.d.ts.map +1 -0
- package/dist/pals/channel-actions.d.ts +5 -0
- package/dist/pals/channel-actions.d.ts.map +1 -0
- package/dist/pals/channel-local.d.ts +7 -0
- package/dist/pals/channel-local.d.ts.map +1 -0
- package/dist/pals/channel.d.ts +20 -0
- package/dist/pals/channel.d.ts.map +1 -0
- package/dist/pals/chat.d.ts +6 -0
- package/dist/pals/chat.d.ts.map +1 -0
- package/dist/pals/communication.d.ts +47 -0
- package/dist/pals/communication.d.ts.map +1 -0
- package/dist/pals/conversations.d.ts +26 -0
- package/dist/pals/conversations.d.ts.map +1 -0
- package/dist/pals/desktop-communication.d.ts +111 -0
- package/dist/pals/desktop-communication.d.ts.map +1 -0
- package/dist/pals/dispatch.d.ts +13 -0
- package/dist/pals/dispatch.d.ts.map +1 -0
- package/dist/pals/environment.d.ts +103 -0
- package/dist/pals/environment.d.ts.map +1 -0
- package/dist/pals/guest-mcp-transport.d.ts +28 -0
- package/dist/pals/guest-mcp-transport.d.ts.map +1 -0
- package/dist/pals/guest-mcp.d.ts +22 -0
- package/dist/pals/guest-mcp.d.ts.map +1 -0
- package/dist/pals/inbox-start.d.ts +35 -0
- package/dist/pals/inbox-start.d.ts.map +1 -0
- package/dist/pals/message-command.d.ts +3 -0
- package/dist/pals/message-command.d.ts.map +1 -0
- package/dist/pals/operator-tools.d.ts +23 -0
- package/dist/pals/operator-tools.d.ts.map +1 -0
- package/dist/pals/public-transcript.d.ts +4 -0
- package/dist/pals/public-transcript.d.ts.map +1 -0
- package/dist/pals/review.d.ts +16 -0
- package/dist/pals/review.d.ts.map +1 -0
- package/dist/pals/store.d.ts +16 -0
- package/dist/pals/store.d.ts.map +1 -0
- package/dist/pals/tui-session.d.ts +11 -0
- package/dist/pals/tui-session.d.ts.map +1 -0
- package/dist/permissions/mode-names.d.ts +2 -0
- package/dist/permissions/mode-names.d.ts.map +1 -0
- package/dist/resume-invocation.d.ts +1 -1
- package/dist/resume-invocation.d.ts.map +1 -1
- package/dist/resume-shell.d.ts +8 -0
- package/dist/resume-shell.d.ts.map +1 -0
- package/dist/schedule/build.d.ts +12 -3
- package/dist/schedule/build.d.ts.map +1 -1
- package/dist/schedule/commands/add.d.ts +1 -1
- package/dist/schedule/commands/add.d.ts.map +1 -1
- package/dist/schedule/commands/lifecycle.d.ts.map +1 -1
- package/dist/schedule/commands/list.d.ts +3 -1
- package/dist/schedule/commands/list.d.ts.map +1 -1
- package/dist/schedule/daemon/daemon.d.ts +2 -0
- package/dist/schedule/daemon/daemon.d.ts.map +1 -1
- package/dist/schedule/delivery.d.ts +66 -0
- package/dist/schedule/delivery.d.ts.map +1 -0
- package/dist/schedule/fire/fire.d.ts +1 -1
- package/dist/schedule/fire/fire.d.ts.map +1 -1
- package/dist/schedule/fire/run-script.d.ts +2 -2
- package/dist/schedule/fire/run-script.d.ts.map +1 -1
- package/dist/schedule/fire/script-report.d.ts +31 -0
- package/dist/schedule/fire/script-report.d.ts.map +1 -0
- package/dist/schedule/floor.d.ts +1 -1
- package/dist/schedule/floor.d.ts.map +1 -1
- package/dist/schedule/folder.d.ts +6 -0
- package/dist/schedule/folder.d.ts.map +1 -1
- package/dist/schedule/resume-command.d.ts +3 -3
- package/dist/schedule/resume-command.d.ts.map +1 -1
- package/dist/schedule/store/history.d.ts.map +1 -1
- package/dist/schedule/store/jobs.d.ts +6 -6
- package/dist/schedule/store/jobs.d.ts.map +1 -1
- package/dist/schedule/store/script-state.d.ts +31 -0
- package/dist/schedule/store/script-state.d.ts.map +1 -0
- package/dist/schedule/store/state.d.ts +4 -2
- package/dist/schedule/store/state.d.ts.map +1 -1
- package/dist/schedule/types.d.ts +61 -16
- package/dist/schedule/types.d.ts.map +1 -1
- package/dist/skills/store.d.ts.map +1 -1
- package/dist/terminal/host.d.ts +22 -0
- package/dist/terminal/host.d.ts.map +1 -0
- package/dist/terminal/manager.d.ts +124 -0
- package/dist/terminal/manager.d.ts.map +1 -0
- package/dist/terminal/protocol.d.ts +162 -0
- package/dist/terminal/protocol.d.ts.map +1 -0
- package/dist/terminal/pty.d.ts +85 -0
- package/dist/terminal/pty.d.ts.map +1 -0
- package/dist/terminal/ring.d.ts +23 -0
- package/dist/terminal/ring.d.ts.map +1 -0
- package/dist/terminal/screen.d.ts +31 -0
- package/dist/terminal/screen.d.ts.map +1 -0
- package/dist/termination-state.d.ts +19 -0
- package/dist/termination-state.d.ts.map +1 -0
- package/dist/termination.d.ts +2 -9
- package/dist/termination.d.ts.map +1 -1
- package/dist/tui/AgentExplorer.d.ts +4 -1
- package/dist/tui/AgentExplorer.d.ts.map +1 -1
- package/dist/tui/App.d.ts.map +1 -1
- package/dist/tui/BackgroundJobsPanel.d.ts +26 -0
- package/dist/tui/BackgroundJobsPanel.d.ts.map +1 -0
- package/dist/tui/BrandHeader.d.ts.map +1 -1
- package/dist/tui/ChildComposer.d.ts +22 -0
- package/dist/tui/ChildComposer.d.ts.map +1 -0
- package/dist/tui/ChoicePicker.d.ts.map +1 -1
- package/dist/tui/Composer.d.ts +25 -4
- package/dist/tui/Composer.d.ts.map +1 -1
- package/dist/tui/ComposerFrame.d.ts.map +1 -1
- package/dist/tui/CopyPicker.d.ts.map +1 -1
- package/dist/tui/EditPromptPicker.d.ts.map +1 -1
- package/dist/tui/EffortSlider.d.ts.map +1 -1
- package/dist/tui/LiveActivity.d.ts +7 -1
- package/dist/tui/LiveActivity.d.ts.map +1 -1
- package/dist/tui/Markdown.d.ts.map +1 -1
- package/dist/tui/PendingInputPanel.d.ts +34 -0
- package/dist/tui/PendingInputPanel.d.ts.map +1 -0
- package/dist/tui/PermissionOverlay.d.ts.map +1 -1
- package/dist/tui/Picker.d.ts.map +1 -1
- package/dist/tui/ProviderSetup.d.ts.map +1 -1
- package/dist/tui/ResumePicker.d.ts.map +1 -1
- package/dist/tui/SaveSkillOverlay.d.ts.map +1 -1
- package/dist/tui/ScheduleReviewOverlay.d.ts +1 -1
- package/dist/tui/ScheduleReviewOverlay.d.ts.map +1 -1
- package/dist/tui/StatusBar.d.ts +7 -1
- package/dist/tui/StatusBar.d.ts.map +1 -1
- package/dist/tui/StatusPanel.d.ts.map +1 -1
- package/dist/tui/TextPrompt.d.ts.map +1 -1
- package/dist/tui/ToolOutputViewer.d.ts.map +1 -1
- package/dist/tui/Transcript.d.ts.map +1 -1
- package/dist/tui/TrustPrompt.d.ts +8 -0
- package/dist/tui/TrustPrompt.d.ts.map +1 -1
- package/dist/tui/agent.d.ts +135 -6
- package/dist/tui/agent.d.ts.map +1 -1
- package/dist/tui/browser-notices.d.ts.map +1 -1
- package/dist/tui/capability-notice.d.ts +38 -0
- package/dist/tui/capability-notice.d.ts.map +1 -0
- package/dist/tui/console-input.d.ts +31 -0
- package/dist/tui/console-input.d.ts.map +1 -0
- package/dist/tui/conversation-evidence-view.d.ts.map +1 -1
- package/dist/tui/credential-entry.d.ts.map +1 -1
- package/dist/tui/exit-summary.d.ts +9 -1
- package/dist/tui/exit-summary.d.ts.map +1 -1
- package/dist/tui/external-editor.d.ts.map +1 -1
- package/dist/tui/index.d.ts.map +1 -1
- package/dist/tui/key-hints.d.ts +51 -0
- package/dist/tui/key-hints.d.ts.map +1 -0
- package/dist/tui/launch-settings.d.ts +34 -0
- package/dist/tui/launch-settings.d.ts.map +1 -0
- package/dist/tui/log-pane.d.ts.map +1 -1
- package/dist/tui/model-choices.d.ts +39 -1
- package/dist/tui/model-choices.d.ts.map +1 -1
- package/dist/tui/model-search.d.ts +4 -1
- package/dist/tui/model-search.d.ts.map +1 -1
- package/dist/tui/output-size-watch.d.ts +32 -0
- package/dist/tui/output-size-watch.d.ts.map +1 -0
- package/dist/tui/permission-review.d.ts.map +1 -1
- package/dist/tui/person-terms.d.ts +58 -0
- package/dist/tui/person-terms.d.ts.map +1 -0
- package/dist/tui/plain-failure.d.ts +27 -0
- package/dist/tui/plain-failure.d.ts.map +1 -0
- package/dist/tui/plain-interruption.d.ts +46 -0
- package/dist/tui/plain-interruption.d.ts.map +1 -0
- package/dist/tui/provider-list.d.ts.map +1 -1
- package/dist/tui/render-mode.d.ts +19 -0
- package/dist/tui/render-mode.d.ts.map +1 -0
- package/dist/tui/schedule/host-commands.d.ts +2 -9
- package/dist/tui/schedule/host-commands.d.ts.map +1 -1
- package/dist/tui/schedule/integration.d.ts +8 -0
- package/dist/tui/schedule/integration.d.ts.map +1 -1
- package/dist/tui/schedule/source-deliveries.d.ts +37 -0
- package/dist/tui/schedule/source-deliveries.d.ts.map +1 -0
- package/dist/tui/schedule/startup.d.ts.map +1 -1
- package/dist/tui/schedule/tool-host.d.ts +3 -1
- package/dist/tui/schedule/tool-host.d.ts.map +1 -1
- package/dist/tui/setup-text.d.ts +14 -0
- package/dist/tui/setup-text.d.ts.map +1 -0
- package/dist/tui/shell-escape.d.ts.map +1 -1
- package/dist/tui/skills/suggest-setting.d.ts.map +1 -1
- package/dist/tui/slashCommands.d.ts +9 -2
- package/dist/tui/slashCommands.d.ts.map +1 -1
- package/dist/tui/terminal-choice-text.d.ts +7 -0
- package/dist/tui/terminal-choice-text.d.ts.map +1 -1
- package/dist/tui/tidy-tool-output.d.ts +83 -0
- package/dist/tui/tidy-tool-output.d.ts.map +1 -0
- package/dist/tui/tool-presentation.d.ts +6 -0
- package/dist/tui/tool-presentation.d.ts.map +1 -0
- package/dist/tui/triggers/copy.d.ts.map +1 -1
- package/dist/tui/triggers/setting.d.ts.map +1 -1
- package/dist/tui/turn-interruption.d.ts +1 -1
- package/dist/tui/turn-interruption.d.ts.map +1 -1
- package/dist/tui/turn-limits-settings.d.ts +4 -4
- package/dist/tui/turn-limits-settings.d.ts.map +1 -1
- package/dist/tui/types.d.ts +10 -0
- package/dist/tui/types.d.ts.map +1 -1
- package/dist/tui/web-activity.d.ts +3 -2
- package/dist/tui/web-activity.d.ts.map +1 -1
- package/dist/tui/zen-free-refusal.d.ts +17 -0
- package/dist/tui/zen-free-refusal.d.ts.map +1 -0
- package/dist/usage-error.d.ts +15 -0
- package/dist/usage-error.d.ts.map +1 -0
- package/dist/warning-filter.d.ts +30 -0
- package/dist/warning-filter.d.ts.map +1 -0
- package/package.json +22 -11
- package/skills/schedule-task/SKILL.md +74 -20
- package/dist/browser/commands.js +0 -365
- package/dist/browser/commands.js.map +0 -1
- package/dist/browser/control.js +0 -140
- package/dist/browser/control.js.map +0 -1
- package/dist/browser/describe.js +0 -27
- package/dist/browser/describe.js.map +0 -1
- package/dist/checkpoints/store.js +0 -192
- package/dist/checkpoints/store.js.map +0 -1
- package/dist/checkpoints/wrap.js +0 -37
- package/dist/checkpoints/wrap.js.map +0 -1
- package/dist/cli.js +0 -602
- package/dist/cli.js.map +0 -1
- package/dist/commands/acp.js +0 -388
- package/dist/commands/acp.js.map +0 -1
- package/dist/commands/archive.js +0 -65
- package/dist/commands/archive.js.map +0 -1
- package/dist/commands/browser.js +0 -16
- package/dist/commands/browser.js.map +0 -1
- package/dist/commands/doctor.js +0 -267
- package/dist/commands/doctor.js.map +0 -1
- package/dist/commands/drain.js +0 -498
- package/dist/commands/drain.js.map +0 -1
- package/dist/commands/eval.js +0 -237
- package/dist/commands/eval.js.map +0 -1
- package/dist/commands/exec-flags.js +0 -334
- package/dist/commands/exec-flags.js.map +0 -1
- package/dist/commands/exec-json.js +0 -497
- package/dist/commands/exec-json.js.map +0 -1
- package/dist/commands/exec.js +0 -688
- package/dist/commands/exec.js.map +0 -1
- package/dist/commands/host-queries.js +0 -156
- package/dist/commands/host-queries.js.map +0 -1
- package/dist/commands/login.js +0 -315
- package/dist/commands/login.js.map +0 -1
- package/dist/commands/mcp-oauth-login.js +0 -213
- package/dist/commands/mcp-oauth-login.js.map +0 -1
- package/dist/commands/mcp.js +0 -288
- package/dist/commands/mcp.js.map +0 -1
- package/dist/commands/prior-messages.js +0 -329
- package/dist/commands/prior-messages.js.map +0 -1
- package/dist/commands/provider-wait.js +0 -65
- package/dist/commands/provider-wait.js.map +0 -1
- package/dist/commands/registry.js +0 -40
- package/dist/commands/registry.js.map +0 -1
- package/dist/commands/resident-flags.js +0 -193
- package/dist/commands/resident-flags.js.map +0 -1
- package/dist/commands/resident-learning.js +0 -293
- package/dist/commands/resident-learning.js.map +0 -1
- package/dist/commands/resident.js +0 -419
- package/dist/commands/resident.js.map +0 -1
- package/dist/commands/resume.js +0 -109
- package/dist/commands/resume.js.map +0 -1
- package/dist/commands/schedule.js +0 -131
- package/dist/commands/schedule.js.map +0 -1
- package/dist/commands/serve.js +0 -21
- package/dist/commands/serve.js.map +0 -1
- package/dist/commands/skills.js +0 -178
- package/dist/commands/skills.js.map +0 -1
- package/dist/commands/state.js +0 -110
- package/dist/commands/state.js.map +0 -1
- package/dist/commands/stdin.js +0 -69
- package/dist/commands/stdin.js.map +0 -1
- package/dist/commands/types.js +0 -2
- package/dist/commands/types.js.map +0 -1
- package/dist/commands/upgrade-progress.js +0 -54
- package/dist/commands/upgrade-progress.js.map +0 -1
- package/dist/commands/upgrade.js +0 -232
- package/dist/commands/upgrade.js.map +0 -1
- package/dist/commands/worktree.js +0 -86
- package/dist/commands/worktree.js.map +0 -1
- package/dist/config/composer-triggers.js +0 -80
- package/dist/config/composer-triggers.js.map +0 -1
- package/dist/config/debug.js +0 -126
- package/dist/config/debug.js.map +0 -1
- package/dist/config/load.js +0 -1208
- package/dist/config/load.js.map +0 -1
- package/dist/config/schema.js +0 -13
- package/dist/config/schema.js.map +0 -1
- package/dist/config/tool-result-screens.js +0 -104
- package/dist/config/tool-result-screens.js.map +0 -1
- package/dist/config/trusted-project-context.js +0 -28
- package/dist/config/trusted-project-context.js.map +0 -1
- package/dist/config/turn-guards.js +0 -46
- package/dist/config/turn-guards.js.map +0 -1
- package/dist/config/user-config.js +0 -118
- package/dist/config/user-config.js.map +0 -1
- package/dist/context/capabilities.js +0 -164
- package/dist/context/capabilities.js.map +0 -1
- package/dist/context/directories.js +0 -69
- package/dist/context/directories.js.map +0 -1
- package/dist/context/doctrine.js +0 -24
- package/dist/context/doctrine.js.map +0 -1
- package/dist/context/environment.js +0 -255
- package/dist/context/environment.js.map +0 -1
- package/dist/context/project-path.js +0 -16
- package/dist/context/project-path.js.map +0 -1
- package/dist/context/project-tracker.js +0 -217
- package/dist/context/project-tracker.js.map +0 -1
- package/dist/context/project.js +0 -256
- package/dist/context/project.js.map +0 -1
- package/dist/context/runtime-message.js +0 -30
- package/dist/context/runtime-message.js.map +0 -1
- package/dist/context/sandbox.js +0 -114
- package/dist/context/sandbox.js.map +0 -1
- package/dist/context/turn-snapshot.js +0 -122
- package/dist/context/turn-snapshot.js.map +0 -1
- package/dist/doctor/checks/browser.js +0 -63
- package/dist/doctor/checks/browser.js.map +0 -1
- package/dist/doctor/checks/chain.js +0 -211
- package/dist/doctor/checks/chain.js.map +0 -1
- package/dist/doctor/checks/credentials.js +0 -98
- package/dist/doctor/checks/credentials.js.map +0 -1
- package/dist/doctor/checks/index.js +0 -72
- package/dist/doctor/checks/index.js.map +0 -1
- package/dist/doctor/checks/invariants.js +0 -79
- package/dist/doctor/checks/invariants.js.map +0 -1
- package/dist/doctor/checks/logging.js +0 -69
- package/dist/doctor/checks/logging.js.map +0 -1
- package/dist/doctor/checks/providers.js +0 -30
- package/dist/doctor/checks/providers.js.map +0 -1
- package/dist/doctor/checks/runtime.js +0 -40
- package/dist/doctor/checks/runtime.js.map +0 -1
- package/dist/doctor/checks/sandbox.js +0 -76
- package/dist/doctor/checks/sandbox.js.map +0 -1
- package/dist/doctor/checks/scheduler.js +0 -74
- package/dist/doctor/checks/scheduler.js.map +0 -1
- package/dist/doctor/checks/session-export.js +0 -62
- package/dist/doctor/checks/session-export.js.map +0 -1
- package/dist/doctor/checks/telemetry.js +0 -58
- package/dist/doctor/checks/telemetry.js.map +0 -1
- package/dist/doctor/checks/vault.js +0 -67
- package/dist/doctor/checks/vault.js.map +0 -1
- package/dist/doctor/index.js +0 -3
- package/dist/doctor/index.js.map +0 -1
- package/dist/doctor/registry.js +0 -230
- package/dist/doctor/registry.js.map +0 -1
- package/dist/exit-codes.js +0 -62
- package/dist/exit-codes.js.map +0 -1
- package/dist/installation.js +0 -48
- package/dist/installation.js.map +0 -1
- package/dist/integrations/clipboard/image.js +0 -119
- package/dist/integrations/clipboard/image.js.map +0 -1
- package/dist/integrations/clipboard/text.js +0 -43
- package/dist/integrations/clipboard/text.js.map +0 -1
- package/dist/integrations/files/attachment-store.js +0 -86
- package/dist/integrations/files/attachment-store.js.map +0 -1
- package/dist/integrations/mcp/oauth-store.js +0 -549
- package/dist/integrations/mcp/oauth-store.js.map +0 -1
- package/dist/integrations/mcp/servers.js +0 -519
- package/dist/integrations/mcp/servers.js.map +0 -1
- package/dist/integrations/mcp/user-config.js +0 -92
- package/dist/integrations/mcp/user-config.js.map +0 -1
- package/dist/integrations/notifications/desktop/freedesktop.js +0 -33
- package/dist/integrations/notifications/desktop/freedesktop.js.map +0 -1
- package/dist/integrations/notifications/desktop/macos.js +0 -17
- package/dist/integrations/notifications/desktop/macos.js.map +0 -1
- package/dist/integrations/notifications/desktop/sanitize.js +0 -49
- package/dist/integrations/notifications/desktop/sanitize.js.map +0 -1
- package/dist/integrations/notifications/desktop/throttle.js +0 -39
- package/dist/integrations/notifications/desktop/throttle.js.map +0 -1
- package/dist/integrations/notifications/desktop/windows-toast.js +0 -56
- package/dist/integrations/notifications/desktop/windows-toast.js.map +0 -1
- package/dist/integrations/notifications/desktop.js +0 -199
- package/dist/integrations/notifications/desktop.js.map +0 -1
- package/dist/integrations/notifications/terminal.js +0 -46
- package/dist/integrations/notifications/terminal.js.map +0 -1
- package/dist/integrations/npm-invocation.js +0 -23
- package/dist/integrations/npm-invocation.js.map +0 -1
- package/dist/integrations/plugins/runtime.js +0 -189
- package/dist/integrations/plugins/runtime.js.map +0 -1
- package/dist/integrations/plugins/settings.js +0 -106
- package/dist/integrations/plugins/settings.js.map +0 -1
- package/dist/integrations/providers/access.js +0 -23
- package/dist/integrations/providers/access.js.map +0 -1
- package/dist/integrations/providers/chain-capabilities.js +0 -211
- package/dist/integrations/providers/chain-capabilities.js.map +0 -1
- package/dist/integrations/providers/codex-device-login.js +0 -195
- package/dist/integrations/providers/codex-device-login.js.map +0 -1
- package/dist/integrations/providers/codex-oauth.js +0 -95
- package/dist/integrations/providers/codex-oauth.js.map +0 -1
- package/dist/integrations/providers/credential-provider.js +0 -74
- package/dist/integrations/providers/credential-provider.js.map +0 -1
- package/dist/integrations/providers/credential-store.js +0 -657
- package/dist/integrations/providers/credential-store.js.map +0 -1
- package/dist/integrations/providers/current-credential.js +0 -45
- package/dist/integrations/providers/current-credential.js.map +0 -1
- package/dist/integrations/providers/discover.js +0 -313
- package/dist/integrations/providers/discover.js.map +0 -1
- package/dist/integrations/providers/gemini-credentials.js +0 -148
- package/dist/integrations/providers/gemini-credentials.js.map +0 -1
- package/dist/integrations/providers/harness-credentials.js +0 -344
- package/dist/integrations/providers/harness-credentials.js.map +0 -1
- package/dist/integrations/providers/identity.js +0 -64
- package/dist/integrations/providers/identity.js.map +0 -1
- package/dist/integrations/providers/index.js +0 -14
- package/dist/integrations/providers/index.js.map +0 -1
- package/dist/integrations/providers/keychain.js +0 -78
- package/dist/integrations/providers/keychain.js.map +0 -1
- package/dist/integrations/providers/model-reasoning.js +0 -51
- package/dist/integrations/providers/model-reasoning.js.map +0 -1
- package/dist/integrations/providers/oauth.js +0 -302
- package/dist/integrations/providers/oauth.js.map +0 -1
- package/dist/integrations/providers/preferences.js +0 -287
- package/dist/integrations/providers/preferences.js.map +0 -1
- package/dist/integrations/providers/register.js +0 -154
- package/dist/integrations/providers/register.js.map +0 -1
- package/dist/integrations/providers/registry.js +0 -289
- package/dist/integrations/providers/registry.js.map +0 -1
- package/dist/integrations/providers/setup.js +0 -158
- package/dist/integrations/providers/setup.js.map +0 -1
- package/dist/integrations/providers/subscription-login.js +0 -328
- package/dist/integrations/providers/subscription-login.js.map +0 -1
- package/dist/integrations/providers/zen-catalogue.js +0 -196
- package/dist/integrations/providers/zen-catalogue.js.map +0 -1
- package/dist/integrations/resident/foreground.js +0 -95
- package/dist/integrations/resident/foreground.js.map +0 -1
- package/dist/integrations/resident/inspection.js +0 -282
- package/dist/integrations/resident/inspection.js.map +0 -1
- package/dist/integrations/resident/learning-sources.js +0 -79
- package/dist/integrations/resident/learning-sources.js.map +0 -1
- package/dist/integrations/resident/learning-storage.js +0 -55
- package/dist/integrations/resident/learning-storage.js.map +0 -1
- package/dist/integrations/resident/lifecycle-errors.js +0 -15
- package/dist/integrations/resident/lifecycle-errors.js.map +0 -1
- package/dist/integrations/resident/owned-runner.js +0 -91
- package/dist/integrations/resident/owned-runner.js.map +0 -1
- package/dist/integrations/resident/runner-control.js +0 -238
- package/dist/integrations/resident/runner-control.js.map +0 -1
- package/dist/integrations/resident/runner-launch.js +0 -142
- package/dist/integrations/resident/runner-launch.js.map +0 -1
- package/dist/integrations/resident/runner-store.js +0 -284
- package/dist/integrations/resident/runner-store.js.map +0 -1
- package/dist/integrations/resident/session-log-reads.js +0 -125
- package/dist/integrations/resident/session-log-reads.js.map +0 -1
- package/dist/integrations/resident/session-step.js +0 -471
- package/dist/integrations/resident/session-step.js.map +0 -1
- package/dist/integrations/resident/storage.js +0 -183
- package/dist/integrations/resident/storage.js.map +0 -1
- package/dist/integrations/resident/tool-evidence.js +0 -123
- package/dist/integrations/resident/tool-evidence.js.map +0 -1
- package/dist/integrations/resident/verification.js +0 -109
- package/dist/integrations/resident/verification.js.map +0 -1
- package/dist/integrations/sessions/checkpoint-view.js +0 -48
- package/dist/integrations/sessions/checkpoint-view.js.map +0 -1
- package/dist/integrations/sessions/context-inventory.js +0 -44
- package/dist/integrations/sessions/context-inventory.js.map +0 -1
- package/dist/integrations/sessions/conversation-search.js +0 -572
- package/dist/integrations/sessions/conversation-search.js.map +0 -1
- package/dist/integrations/sessions/display-title.js +0 -5
- package/dist/integrations/sessions/display-title.js.map +0 -1
- package/dist/integrations/sessions/evidence-page-validation.js +0 -74
- package/dist/integrations/sessions/evidence-page-validation.js.map +0 -1
- package/dist/integrations/sessions/evidence-recall.js +0 -117
- package/dist/integrations/sessions/evidence-recall.js.map +0 -1
- package/dist/integrations/sessions/store.js +0 -780
- package/dist/integrations/sessions/store.js.map +0 -1
- package/dist/integrations/sessions/task-context.js +0 -96
- package/dist/integrations/sessions/task-context.js.map +0 -1
- package/dist/integrations/sessions/transcript-export.js +0 -342
- package/dist/integrations/sessions/transcript-export.js.map +0 -1
- package/dist/integrations/state/home.js +0 -17
- package/dist/integrations/state/home.js.map +0 -1
- package/dist/integrations/state/identity.js +0 -49
- package/dist/integrations/state/identity.js.map +0 -1
- package/dist/integrations/state/immutable-json.js +0 -38
- package/dist/integrations/state/immutable-json.js.map +0 -1
- package/dist/integrations/state/private-directory.js +0 -43
- package/dist/integrations/state/private-directory.js.map +0 -1
- package/dist/integrations/state/project.js +0 -13
- package/dist/integrations/state/project.js.map +0 -1
- package/dist/integrations/state/report.js +0 -626
- package/dist/integrations/state/report.js.map +0 -1
- package/dist/integrations/state/retention.js +0 -18
- package/dist/integrations/state/retention.js.map +0 -1
- package/dist/integrations/subagents/NamzuCliAgent.js +0 -9
- package/dist/integrations/subagents/NamzuCliAgent.js.map +0 -1
- package/dist/integrations/subagents/activity.js +0 -759
- package/dist/integrations/subagents/activity.js.map +0 -1
- package/dist/integrations/subagents/batches.js +0 -172
- package/dist/integrations/subagents/batches.js.map +0 -1
- package/dist/integrations/subagents/definitions.js +0 -26
- package/dist/integrations/subagents/definitions.js.map +0 -1
- package/dist/integrations/subagents/model-effort.js +0 -12
- package/dist/integrations/subagents/model-effort.js.map +0 -1
- package/dist/integrations/subagents/parent.js +0 -47
- package/dist/integrations/subagents/parent.js.map +0 -1
- package/dist/integrations/subagents/policy.js +0 -3
- package/dist/integrations/subagents/policy.js.map +0 -1
- package/dist/integrations/subagents/replay.js +0 -295
- package/dist/integrations/subagents/replay.js.map +0 -1
- package/dist/integrations/subagents/runtime.js +0 -1317
- package/dist/integrations/subagents/runtime.js.map +0 -1
- package/dist/integrations/subagents/saved-agents.js +0 -102
- package/dist/integrations/subagents/saved-agents.js.map +0 -1
- package/dist/integrations/subagents/slash.js +0 -45
- package/dist/integrations/subagents/slash.js.map +0 -1
- package/dist/integrations/subagents/worktree-driver.js +0 -72
- package/dist/integrations/subagents/worktree-driver.js.map +0 -1
- package/dist/integrations/telemetry/session-export.js +0 -119
- package/dist/integrations/telemetry/session-export.js.map +0 -1
- package/dist/integrations/trust/store.js +0 -73
- package/dist/integrations/trust/store.js.map +0 -1
- package/dist/integrations/updates.js +0 -115
- package/dist/integrations/updates.js.map +0 -1
- package/dist/integrations/web/exa-search.js +0 -154
- package/dist/integrations/web/exa-search.js.map +0 -1
- package/dist/integrations/web/open-url.js +0 -73
- package/dist/integrations/web/open-url.js.map +0 -1
- package/dist/integrations/web/search.js +0 -68
- package/dist/integrations/web/search.js.map +0 -1
- package/dist/integrations/worktrees/managed.js +0 -231
- package/dist/integrations/worktrees/managed.js.map +0 -1
- package/dist/logging.js +0 -115
- package/dist/logging.js.map +0 -1
- package/dist/memory/io.js +0 -177
- package/dist/memory/io.js.map +0 -1
- package/dist/memory/presentation.js +0 -76
- package/dist/memory/presentation.js.map +0 -1
- package/dist/memory/store.js +0 -180
- package/dist/memory/store.js.map +0 -1
- package/dist/memory/typed.js +0 -336
- package/dist/memory/typed.js.map +0 -1
- package/dist/output/formatter.js +0 -16
- package/dist/output/formatter.js.map +0 -1
- package/dist/output/index.js +0 -22
- package/dist/output/index.js.map +0 -1
- package/dist/output/json.js +0 -51
- package/dist/output/json.js.map +0 -1
- package/dist/output/text.js +0 -50
- package/dist/output/text.js.map +0 -1
- package/dist/output/yaml.js +0 -26
- package/dist/output/yaml.js.map +0 -1
- package/dist/output-schema.js +0 -18
- package/dist/output-schema.js.map +0 -1
- package/dist/permissions/browser-sites.js +0 -270
- package/dist/permissions/browser-sites.js.map +0 -1
- package/dist/permissions/canonical-project.js +0 -13
- package/dist/permissions/canonical-project.js.map +0 -1
- package/dist/permissions/checks.js +0 -128
- package/dist/permissions/checks.js.map +0 -1
- package/dist/permissions/headless-trust.js +0 -86
- package/dist/permissions/headless-trust.js.map +0 -1
- package/dist/permissions/live-mode.js +0 -62
- package/dist/permissions/live-mode.js.map +0 -1
- package/dist/permissions/mode.js +0 -65
- package/dist/permissions/mode.js.map +0 -1
- package/dist/permissions/rules.js +0 -358
- package/dist/permissions/rules.js.map +0 -1
- package/dist/release-notes.js +0 -64
- package/dist/release-notes.js.map +0 -1
- package/dist/resume-invocation.js +0 -24
- package/dist/resume-invocation.js.map +0 -1
- package/dist/schedule/build.js +0 -374
- package/dist/schedule/build.js.map +0 -1
- package/dist/schedule/changes.js +0 -78
- package/dist/schedule/changes.js.map +0 -1
- package/dist/schedule/commands/add.js +0 -603
- package/dist/schedule/commands/add.js.map +0 -1
- package/dist/schedule/commands/args.js +0 -80
- package/dist/schedule/commands/args.js.map +0 -1
- package/dist/schedule/commands/confirm-prompt.js +0 -21
- package/dist/schedule/commands/confirm-prompt.js.map +0 -1
- package/dist/schedule/commands/lifecycle.js +0 -586
- package/dist/schedule/commands/lifecycle.js.map +0 -1
- package/dist/schedule/commands/list.js +0 -260
- package/dist/schedule/commands/list.js.map +0 -1
- package/dist/schedule/commands/logs.js +0 -106
- package/dist/schedule/commands/logs.js.map +0 -1
- package/dist/schedule/commands/service.js +0 -458
- package/dist/schedule/commands/service.js.map +0 -1
- package/dist/schedule/daemon/daemon.js +0 -1265
- package/dist/schedule/daemon/daemon.js.map +0 -1
- package/dist/schedule/daemon/endpoint.js +0 -158
- package/dist/schedule/daemon/endpoint.js.map +0 -1
- package/dist/schedule/daemon/exit.js +0 -8
- package/dist/schedule/daemon/exit.js.map +0 -1
- package/dist/schedule/daemon/log.js +0 -53
- package/dist/schedule/daemon/log.js.map +0 -1
- package/dist/schedule/daemon/notify.js +0 -158
- package/dist/schedule/daemon/notify.js.map +0 -1
- package/dist/schedule/daemon/retention.js +0 -46
- package/dist/schedule/daemon/retention.js.map +0 -1
- package/dist/schedule/daemon/sessions.js +0 -52
- package/dist/schedule/daemon/sessions.js.map +0 -1
- package/dist/schedule/env.js +0 -106
- package/dist/schedule/env.js.map +0 -1
- package/dist/schedule/fire/browser-preflight.js +0 -73
- package/dist/schedule/fire/browser-preflight.js.map +0 -1
- package/dist/schedule/fire/calls.js +0 -114
- package/dist/schedule/fire/calls.js.map +0 -1
- package/dist/schedule/fire/fire.js +0 -681
- package/dist/schedule/fire/fire.js.map +0 -1
- package/dist/schedule/fire/result.js +0 -19
- package/dist/schedule/fire/result.js.map +0 -1
- package/dist/schedule/fire/run-script.js +0 -81
- package/dist/schedule/fire/run-script.js.map +0 -1
- package/dist/schedule/fire/unattended-note.js +0 -51
- package/dist/schedule/fire/unattended-note.js.map +0 -1
- package/dist/schedule/fire/wake-gate.js +0 -90
- package/dist/schedule/fire/wake-gate.js.map +0 -1
- package/dist/schedule/floor.js +0 -1561
- package/dist/schedule/floor.js.map +0 -1
- package/dist/schedule/folder.js +0 -84
- package/dist/schedule/folder.js.map +0 -1
- package/dist/schedule/paths.js +0 -53
- package/dist/schedule/paths.js.map +0 -1
- package/dist/schedule/policy.js +0 -414
- package/dist/schedule/policy.js.map +0 -1
- package/dist/schedule/resume-command.js +0 -72
- package/dist/schedule/resume-command.js.map +0 -1
- package/dist/schedule/script-check.js +0 -146
- package/dist/schedule/script-check.js.map +0 -1
- package/dist/schedule/script-shell.js +0 -5
- package/dist/schedule/script-shell.js.map +0 -1
- package/dist/schedule/service/detect.js +0 -29
- package/dist/schedule/service/detect.js.map +0 -1
- package/dist/schedule/service/index.js +0 -361
- package/dist/schedule/service/index.js.map +0 -1
- package/dist/schedule/service/launchd.js +0 -84
- package/dist/schedule/service/launchd.js.map +0 -1
- package/dist/schedule/service/manifest.js +0 -16
- package/dist/schedule/service/manifest.js.map +0 -1
- package/dist/schedule/service/names.js +0 -22
- package/dist/schedule/service/names.js.map +0 -1
- package/dist/schedule/service/quote.js +0 -64
- package/dist/schedule/service/quote.js.map +0 -1
- package/dist/schedule/service/runner.js +0 -31
- package/dist/schedule/service/runner.js.map +0 -1
- package/dist/schedule/service/systemd.js +0 -96
- package/dist/schedule/service/systemd.js.map +0 -1
- package/dist/schedule/service/windows-task.js +0 -199
- package/dist/schedule/service/windows-task.js.map +0 -1
- package/dist/schedule/service/wsl.js +0 -121
- package/dist/schedule/service/wsl.js.map +0 -1
- package/dist/schedule/store/atomic.js +0 -138
- package/dist/schedule/store/atomic.js.map +0 -1
- package/dist/schedule/store/claims.js +0 -57
- package/dist/schedule/store/claims.js.map +0 -1
- package/dist/schedule/store/digest.js +0 -139
- package/dist/schedule/store/digest.js.map +0 -1
- package/dist/schedule/store/history.js +0 -117
- package/dist/schedule/store/history.js.map +0 -1
- package/dist/schedule/store/jobs.js +0 -277
- package/dist/schedule/store/jobs.js.map +0 -1
- package/dist/schedule/store/state.js +0 -38
- package/dist/schedule/store/state.js.map +0 -1
- package/dist/schedule/types.js +0 -33
- package/dist/schedule/types.js.map +0 -1
- package/dist/schedule/visible-source.js +0 -59
- package/dist/schedule/visible-source.js.map +0 -1
- package/dist/skills/audit.js +0 -75
- package/dist/skills/audit.js.map +0 -1
- package/dist/skills/catalog.js +0 -226
- package/dist/skills/catalog.js.map +0 -1
- package/dist/skills/directory.js +0 -51
- package/dist/skills/directory.js.map +0 -1
- package/dist/skills/save.js +0 -344
- package/dist/skills/save.js.map +0 -1
- package/dist/skills/store.js +0 -351
- package/dist/skills/store.js.map +0 -1
- package/dist/termination.js +0 -143
- package/dist/termination.js.map +0 -1
- package/dist/test-support/toolset.js +0 -27
- package/dist/test-support/toolset.js.map +0 -1
- package/dist/tui/AgentExplorer.js +0 -789
- package/dist/tui/AgentExplorer.js.map +0 -1
- package/dist/tui/App.js +0 -8209
- package/dist/tui/App.js.map +0 -1
- package/dist/tui/BrandHeader.js +0 -14
- package/dist/tui/BrandHeader.js.map +0 -1
- package/dist/tui/Checklist.js +0 -90
- package/dist/tui/Checklist.js.map +0 -1
- package/dist/tui/ChoicePicker.js +0 -64
- package/dist/tui/ChoicePicker.js.map +0 -1
- package/dist/tui/Composer.js +0 -908
- package/dist/tui/Composer.js.map +0 -1
- package/dist/tui/ComposerFrame.js +0 -79
- package/dist/tui/ComposerFrame.js.map +0 -1
- package/dist/tui/CopyPicker.js +0 -19
- package/dist/tui/CopyPicker.js.map +0 -1
- package/dist/tui/EditPromptPicker.js +0 -17
- package/dist/tui/EditPromptPicker.js.map +0 -1
- package/dist/tui/EffortSlider.js +0 -134
- package/dist/tui/EffortSlider.js.map +0 -1
- package/dist/tui/LiveActivity.js +0 -89
- package/dist/tui/LiveActivity.js.map +0 -1
- package/dist/tui/Markdown.js +0 -137
- package/dist/tui/Markdown.js.map +0 -1
- package/dist/tui/PermissionOverlay.js +0 -278
- package/dist/tui/PermissionOverlay.js.map +0 -1
- package/dist/tui/Picker.js +0 -1310
- package/dist/tui/Picker.js.map +0 -1
- package/dist/tui/ProviderSetup.js +0 -125
- package/dist/tui/ProviderSetup.js.map +0 -1
- package/dist/tui/ResumePicker.js +0 -34
- package/dist/tui/ResumePicker.js.map +0 -1
- package/dist/tui/SaveSkillOverlay.js +0 -118
- package/dist/tui/SaveSkillOverlay.js.map +0 -1
- package/dist/tui/ScheduleReviewOverlay.js +0 -166
- package/dist/tui/ScheduleReviewOverlay.js.map +0 -1
- package/dist/tui/StatusBar.js +0 -182
- package/dist/tui/StatusBar.js.map +0 -1
- package/dist/tui/StatusPanel.js +0 -11
- package/dist/tui/StatusPanel.js.map +0 -1
- package/dist/tui/TaskList.js +0 -43
- package/dist/tui/TaskList.js.map +0 -1
- package/dist/tui/TextPrompt.js +0 -185
- package/dist/tui/TextPrompt.js.map +0 -1
- package/dist/tui/ToolOutputViewer.js +0 -39
- package/dist/tui/ToolOutputViewer.js.map +0 -1
- package/dist/tui/Transcript.js +0 -235
- package/dist/tui/Transcript.js.map +0 -1
- package/dist/tui/TrustPrompt.js +0 -13
- package/dist/tui/TrustPrompt.js.map +0 -1
- package/dist/tui/ViewportBound.js +0 -55
- package/dist/tui/ViewportBound.js.map +0 -1
- package/dist/tui/agent-transcript-rows.js +0 -115
- package/dist/tui/agent-transcript-rows.js.map +0 -1
- package/dist/tui/agent.js +0 -4235
- package/dist/tui/agent.js.map +0 -1
- package/dist/tui/browser-notices.js +0 -107
- package/dist/tui/browser-notices.js.map +0 -1
- package/dist/tui/choice-selection.js +0 -38
- package/dist/tui/choice-selection.js.map +0 -1
- package/dist/tui/compact-transcript.js +0 -46
- package/dist/tui/compact-transcript.js.map +0 -1
- package/dist/tui/consent-timing.js +0 -48
- package/dist/tui/consent-timing.js.map +0 -1
- package/dist/tui/conversation-evidence-view.js +0 -96
- package/dist/tui/conversation-evidence-view.js.map +0 -1
- package/dist/tui/conversation-history.js +0 -33
- package/dist/tui/conversation-history.js.map +0 -1
- package/dist/tui/copy-targets.js +0 -189
- package/dist/tui/copy-targets.js.map +0 -1
- package/dist/tui/credential-entry.js +0 -134
- package/dist/tui/credential-entry.js.map +0 -1
- package/dist/tui/edit-prompts.js +0 -35
- package/dist/tui/edit-prompts.js.map +0 -1
- package/dist/tui/exit-summary.js +0 -30
- package/dist/tui/exit-summary.js.map +0 -1
- package/dist/tui/external-editor.js +0 -169
- package/dist/tui/external-editor.js.map +0 -1
- package/dist/tui/hypermode.js +0 -58
- package/dist/tui/hypermode.js.map +0 -1
- package/dist/tui/index.js +0 -81
- package/dist/tui/index.js.map +0 -1
- package/dist/tui/live-window.js +0 -281
- package/dist/tui/live-window.js.map +0 -1
- package/dist/tui/log-pane.js +0 -100
- package/dist/tui/log-pane.js.map +0 -1
- package/dist/tui/login-prompt.js +0 -105
- package/dist/tui/login-prompt.js.map +0 -1
- package/dist/tui/logo.js +0 -9
- package/dist/tui/logo.js.map +0 -1
- package/dist/tui/markdown-block-cache.js +0 -76
- package/dist/tui/markdown-block-cache.js.map +0 -1
- package/dist/tui/markdown-table.js +0 -175
- package/dist/tui/markdown-table.js.map +0 -1
- package/dist/tui/markdown-wrap.js +0 -189
- package/dist/tui/markdown-wrap.js.map +0 -1
- package/dist/tui/markdownParser.js +0 -237
- package/dist/tui/markdownParser.js.map +0 -1
- package/dist/tui/mentions.js +0 -150
- package/dist/tui/mentions.js.map +0 -1
- package/dist/tui/model-catalogue-view.js +0 -75
- package/dist/tui/model-catalogue-view.js.map +0 -1
- package/dist/tui/model-choices.js +0 -157
- package/dist/tui/model-choices.js.map +0 -1
- package/dist/tui/model-search.js +0 -28
- package/dist/tui/model-search.js.map +0 -1
- package/dist/tui/model-selection-intent.js +0 -96
- package/dist/tui/model-selection-intent.js.map +0 -1
- package/dist/tui/model-switch-tool.js +0 -74
- package/dist/tui/model-switch-tool.js.map +0 -1
- package/dist/tui/model-switch.js +0 -106
- package/dist/tui/model-switch.js.map +0 -1
- package/dist/tui/notices.js +0 -27
- package/dist/tui/notices.js.map +0 -1
- package/dist/tui/open-browser.js +0 -147
- package/dist/tui/open-browser.js.map +0 -1
- package/dist/tui/permission-review.js +0 -858
- package/dist/tui/permission-review.js.map +0 -1
- package/dist/tui/plugin-view.js +0 -59
- package/dist/tui/plugin-view.js.map +0 -1
- package/dist/tui/provider-list.js +0 -327
- package/dist/tui/provider-list.js.map +0 -1
- package/dist/tui/provider-selection.js +0 -16
- package/dist/tui/provider-selection.js.map +0 -1
- package/dist/tui/schedule/host-commands.js +0 -428
- package/dist/tui/schedule/host-commands.js.map +0 -1
- package/dist/tui/schedule/integration.js +0 -150
- package/dist/tui/schedule/integration.js.map +0 -1
- package/dist/tui/schedule/loop-host.js +0 -153
- package/dist/tui/schedule/loop-host.js.map +0 -1
- package/dist/tui/schedule/resume.js +0 -333
- package/dist/tui/schedule/resume.js.map +0 -1
- package/dist/tui/schedule/startup.js +0 -121
- package/dist/tui/schedule/startup.js.map +0 -1
- package/dist/tui/schedule/tool-host.js +0 -619
- package/dist/tui/schedule/tool-host.js.map +0 -1
- package/dist/tui/selection-window.js +0 -37
- package/dist/tui/selection-window.js.map +0 -1
- package/dist/tui/shell-escape.js +0 -110
- package/dist/tui/shell-escape.js.map +0 -1
- package/dist/tui/skills/learning.js +0 -131
- package/dist/tui/skills/learning.js.map +0 -1
- package/dist/tui/skills/suggest-setting.js +0 -55
- package/dist/tui/skills/suggest-setting.js.map +0 -1
- package/dist/tui/skills/suggestion-ledger.js +0 -52
- package/dist/tui/skills/suggestion-ledger.js.map +0 -1
- package/dist/tui/slashCommands.js +0 -1587
- package/dist/tui/slashCommands.js.map +0 -1
- package/dist/tui/status-card.js +0 -30
- package/dist/tui/status-card.js.map +0 -1
- package/dist/tui/status-panel-layout.js +0 -42
- package/dist/tui/status-panel-layout.js.map +0 -1
- package/dist/tui/stream-blocks.js +0 -187
- package/dist/tui/stream-blocks.js.map +0 -1
- package/dist/tui/task-activity.js +0 -157
- package/dist/tui/task-activity.js.map +0 -1
- package/dist/tui/terminal-choice-text.js +0 -118
- package/dist/tui/terminal-choice-text.js.map +0 -1
- package/dist/tui/terminal-display.js +0 -65
- package/dist/tui/terminal-display.js.map +0 -1
- package/dist/tui/terminal-hyperlinks.js +0 -70
- package/dist/tui/terminal-hyperlinks.js.map +0 -1
- package/dist/tui/theme.js +0 -34
- package/dist/tui/theme.js.map +0 -1
- package/dist/tui/triggers/analyze.js +0 -221
- package/dist/tui/triggers/analyze.js.map +0 -1
- package/dist/tui/triggers/context-text.js +0 -44
- package/dist/tui/triggers/context-text.js.map +0 -1
- package/dist/tui/triggers/copy.js +0 -163
- package/dist/tui/triggers/copy.js.map +0 -1
- package/dist/tui/triggers/detect.js +0 -295
- package/dist/tui/triggers/detect.js.map +0 -1
- package/dist/tui/triggers/fold.js +0 -44
- package/dist/tui/triggers/fold.js.map +0 -1
- package/dist/tui/triggers/pattern.js +0 -243
- package/dist/tui/triggers/pattern.js.map +0 -1
- package/dist/tui/triggers/provenance.js +0 -98
- package/dist/tui/triggers/provenance.js.map +0 -1
- package/dist/tui/triggers/registry.js +0 -164
- package/dist/tui/triggers/registry.js.map +0 -1
- package/dist/tui/triggers/setting.js +0 -61
- package/dist/tui/triggers/setting.js.map +0 -1
- package/dist/tui/triggers/verbs.js +0 -140
- package/dist/tui/triggers/verbs.js.map +0 -1
- package/dist/tui/turn-interruption.js +0 -160
- package/dist/tui/turn-interruption.js.map +0 -1
- package/dist/tui/turn-limits-settings.js +0 -88
- package/dist/tui/turn-limits-settings.js.map +0 -1
- package/dist/tui/types.js +0 -7
- package/dist/tui/types.js.map +0 -1
- package/dist/tui/units.js +0 -20
- package/dist/tui/units.js.map +0 -1
- package/dist/tui/use-selection-index.js +0 -13
- package/dist/tui/use-selection-index.js.map +0 -1
- package/dist/tui/web-activity.js +0 -105
- package/dist/tui/web-activity.js.map +0 -1
- package/dist/tui/workspace-diff.js +0 -101
- package/dist/tui/workspace-diff.js.map +0 -1
- package/dist/tui/workspace-review.js +0 -67
- package/dist/tui/workspace-review.js.map +0 -1
- package/dist/user-commands/store.js +0 -235
- package/dist/user-commands/store.js.map +0 -1
- package/dist/version.js +0 -23
- package/dist/version.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,805 @@
|
|
|
1
1
|
# @namzu/cli
|
|
2
2
|
|
|
3
|
+
## 36.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- c82b951: Change the local Pal provider's default foreground ownership from strict command
|
|
8
|
+
lifetime to computer lifetime. Rebuild the shipped local-computer image from this
|
|
9
|
+
release to use the new default. To retain the previous behavior and continue using
|
|
10
|
+
an existing strict image, set `normalExitPolicy: 'strict'` when calling
|
|
11
|
+
`createLocalVirtualComputerProvider`. A successful
|
|
12
|
+
foreground launcher can leave Blender or another application open without retiring
|
|
13
|
+
the entire computer; the application remains owned by that guest allocation until
|
|
14
|
+
the computer stops. An authenticated execution-reservation acknowledgment prevents
|
|
15
|
+
an upgraded host from silently admitting this policy against an older image.
|
|
16
|
+
|
|
17
|
+
Generic workers and registered background jobs retain strict process ownership.
|
|
18
|
+
Failed launchers and timed-out or cancelled commands cannot transfer live descendants;
|
|
19
|
+
if termination cannot be confirmed, the worker retires the allocation.
|
|
20
|
+
A completed launcher does not claim its surviving application has terminated.
|
|
21
|
+
|
|
22
|
+
CLI Pal computers use the same new default. Set
|
|
23
|
+
`NAMZU_PAL_COMPUTER_NORMAL_EXIT_POLICY=strict` before starting the CLI or desktop
|
|
24
|
+
host to retain their previous command lifetime and use an older strict image.
|
|
25
|
+
|
|
26
|
+
- 0f5aa96: Ready-computer Pal prompts now default to general application work guidance:
|
|
27
|
+
understand references and acceptance criteria, make reversible changes,
|
|
28
|
+
observe and correct the actual result, and validate saved files and requested
|
|
29
|
+
exports before delivery. SDK hosts that need the previous prompt behavior can
|
|
30
|
+
pass `workGuidance: 'basic'` to `buildPalSystemPrompt`. This guidance shapes
|
|
31
|
+
model behavior; it does not certify semantic correctness.
|
|
32
|
+
|
|
33
|
+
The SDK `read` tool now refuses real PNG, JPEG and WebP bytes as text. Mount
|
|
34
|
+
the optional `view_image` / `createViewImageTool` for saved-image inspection,
|
|
35
|
+
or use a format-aware binary reader when pixels are not the desired result.
|
|
36
|
+
`getBuiltinTools()` retains its previous tool roster. Saved artifact images
|
|
37
|
+
provide no GUI screenshot authority.
|
|
38
|
+
|
|
39
|
+
The CLI and desktop Pal runtime now explicitly mount `view_image` and
|
|
40
|
+
`import_reference_images`. Image import is a reviewed file-write operation
|
|
41
|
+
using only the current operator input and admitted guest. Original image
|
|
42
|
+
bytes and manifests survive durable review; current plan, pause and control
|
|
43
|
+
guards remain in force. Ordinary chat and unavailable-computer sessions do
|
|
44
|
+
not acquire guest tool access.
|
|
45
|
+
|
|
46
|
+
The local Pal sandbox adds authenticated, acknowledged bounded byte reads.
|
|
47
|
+
Rebuild the local Pal image from this release to inspect saved images; an
|
|
48
|
+
older worker fails explicitly before file contents are requested. Existing
|
|
49
|
+
whole-file requests and generic worker defaults are unchanged.
|
|
50
|
+
|
|
51
|
+
The Pal image also includes the standard `file` utility for format checks.
|
|
52
|
+
This reports file type; it does not establish application or visual quality.
|
|
53
|
+
|
|
54
|
+
- 4367edc: Manual Pal conversations now default to automatic approval for tools in their
|
|
55
|
+
owned virtual computer across the terminal, ACP and desktop. Previously a review
|
|
56
|
+
callback or the interactive composer selected Ask first, requiring repeated
|
|
57
|
+
approvals. To retain that behavior, explicitly choose Ask first, use
|
|
58
|
+
`/permissions prompt` in the terminal, or send `permissionMode: 'prompt'` through
|
|
59
|
+
ACP. Existing explicit desktop selections are preserved.
|
|
60
|
+
|
|
61
|
+
Ordinary conversations retain their existing defaults. Explicit Plan, strict
|
|
62
|
+
and review selections, configured deny rules, host escape refusal, ownership,
|
|
63
|
+
pause and operator-control fences remain effective. This grants no authority for
|
|
64
|
+
host files, other Pals or ungranted communication routes.
|
|
65
|
+
|
|
66
|
+
- 57c99b2: Scheduled script jobs can opt out of a project folder with `workspace: none` (`--workspace none` in the CLI). Namzu creates a private working directory only after operator confirmation, and a script never loads that directory as a project configuration.
|
|
67
|
+
|
|
68
|
+
Interactive schedule proposals now bind noteworthy results to the exact source conversation. The CLI stores them as durable host notices and displays them on resume without adding a fake model turn or changing the model's conversation history. An optional JSON script report lets a polling script distinguish a quiet check from a change and carry a bounded scheduler-owned state value between runs.
|
|
69
|
+
|
|
70
|
+
The CLI default for newly confirmed interactive proposals changes from detached results to source-conversation delivery. An unavailable source keeps its result pending and holds later runs until delivery succeeds. Existing jobs retain their previous behavior. To keep a new job detached, review `namzu schedule edit <job> --delivery none`; the operator must confirm any exact pending results being waived. New workspace, source-delivery and report fields use job format v3, which older CLIs refuse rather than silently ignore. Upgrade the scheduler service together with the CLI.
|
|
71
|
+
|
|
72
|
+
- c590142: New scheduled agent phases now default to unlimited tokens (`tokenBudget: 0`)
|
|
73
|
+
instead of 500,000 tokens. A positive request or configured limit still applies,
|
|
74
|
+
and existing saved jobs retain their confirmed values. Set `limits.tokenBudget`
|
|
75
|
+
to `500000` or pass `--token-budget 500000` to retain the old default for new jobs.
|
|
76
|
+
To remove an existing job's limit, run `namzu schedule edit <name> --token-budget 0`
|
|
77
|
+
and confirm the edit. Iteration and timeout defaults remain unchanged.
|
|
78
|
+
|
|
79
|
+
The SDK schedule tool accepts zero for an unlimited agent token allowance.
|
|
80
|
+
Unlimited previews omit the numeric daily ceiling and identify the absence of a
|
|
81
|
+
token limit; usage accounting continues to measure actual tokens.
|
|
82
|
+
|
|
83
|
+
- 12b5af9: Session task snapshots now reach model requests as user-role runtime context instead of system instructions, including checkpoint resumes and compaction. Agent-maintained subjects and descriptions are planning data. Move any host policy formerly encoded in task descriptions to trusted instructions; task storage, tools and durable conversation records are unchanged.
|
|
84
|
+
- f7f48f9: Add the explicit `cmd` ShellDialect and change the native Windows host-shell metadata default from `sh` to `cmd`. The physical command shell remains Node's platform shell (normally CMD); no PowerShell or WSL switch occurs. Update exhaustive dialect handling to include `cmd` and pass the actual value to authorization helpers.
|
|
85
|
+
|
|
86
|
+
CMD lines are conservatively opaque until a matching parser exists. Command-specific allow rules and skill patterns no longer pre-approve native CMD commands. The existing unknown-program escalation still requires exact-call review, even when the gate has a whole-tool allowance. Use that review or explicitly select a POSIX interpreter rather than incorrectly labelling CMD as `sh`. Sandboxed Linux guests retain `sh`.
|
|
87
|
+
|
|
88
|
+
SDK query prompts disclose the active command tools' host or guest execution dialect, including minimal and cached prompts. Explicit Windows `bash.exe` and `sh.exe` overrides retain their matching POSIX dialects.
|
|
89
|
+
|
|
90
|
+
Native Windows CLI model shell calls inherit the exact-call review requirement. The scheduled-run floor refuses CMD commands rather than checking them with POSIX quoting; confirmed script jobs still accept only explicit bash/sh interpreters. Use an installed POSIX interpreter where appropriate or run reviewed interactive CMD calls.
|
|
91
|
+
|
|
92
|
+
### Minor Changes
|
|
93
|
+
|
|
94
|
+
- 4314f90: A tool call a person declined at review is now recorded as declined by them, with what they said, so a host that reopens the conversation can show it. Nothing you already send or receive changes shape, and no code needs to change to upgrade.
|
|
95
|
+
|
|
96
|
+
New and optional: `ToolReviewAnswer`'s `reject`, `AcpPermissionOutcome`'s `reject` and the `reject_tools` decision take `declined?: { note?: string }`; an ACP client's `reject` answer takes the same field; and a generic `ToolCallView` result carries `declined?: { note?: string }`. A host that sets `declined` on its reject gets, on that call's `tool_completed`, a view whose `label` is the call's target (path or command) and whose `note` is the person's words, cut at 4,000 characters. A host that does not set it, a call the authorization gate refused even when the person rejects the rest of its batch, and every other refusal by policy (strict or plan mode, no one to ask, the authorization gate, a repeated failure), is recorded exactly as before: an error result with no presentation. The text the model reads is unchanged. `ToolExecutor.executeBatch` takes an optional fifth argument for the same purpose.
|
|
97
|
+
|
|
98
|
+
The CLI's ACP server passes the field through, so a client such as Namzu Desktop that reports "the person said no" now shows "Declined" after a reload instead of "details unavailable". The terminal UI does not report it yet, so a call declined there still reloads as before.
|
|
99
|
+
|
|
100
|
+
- 7f5ac50: Expose explicit paused-turn recovery through optional `AcpAgentGateway.retry` and
|
|
101
|
+
`ACPServer.retrySession`. Hosts retain the existing ordered update, review,
|
|
102
|
+
cancellation and single active execution owner without inventing a new prompt.
|
|
103
|
+
|
|
104
|
+
The desktop CLI host advertises scoped retry-status and retry methods. It resumes
|
|
105
|
+
only the exact verified checkpoint of a classified retryable provider pause with
|
|
106
|
+
resolved original accounting. Human decision holds and uncertain provider usage
|
|
107
|
+
remain blocked, including unlimited turns; this feature never resets a ledger or
|
|
108
|
+
abandons an active turn. Same-process retries preserve captured approval/effort
|
|
109
|
+
and the recorded model. After reconnection, default Retry is unavailable when the
|
|
110
|
+
original approval settings cannot be verified; a deliberate host retry must
|
|
111
|
+
explicitly select a permission mode in ordinary conversations. Pal recovery also
|
|
112
|
+
pins the authenticated original computer generation and environment identity
|
|
113
|
+
before sending, and rechecks them at resumed provider/tool entries. A cold,
|
|
114
|
+
originally offline, replaced or unavailable Pal computer lifetime cannot be
|
|
115
|
+
substituted with the currently ready computer. Pal ownership and current
|
|
116
|
+
computer-control guards remain required.
|
|
117
|
+
|
|
118
|
+
- 53aed2a: Add authenticated Pal channel ingress with captured host connections, a fresh actor per event, immutable native conversation targets, and shared durable inbox delivery. Recorded reply and action routing verifies the original owned conversation receipt and current authority; it does not send remote messages automatically. Hosts must provide a trusted event verifier and explicit receive, wake, reply and action policy. The CLI includes a private local HMAC fixture adapter and a bridge to exact native parked tool-review actions; other channel actions remain unsupported.
|
|
119
|
+
- 8cf64b3: Offer reasoning effort for the second external engine. Its model rows now carry the effort levels the engine reports (none for a model without support), so the Desktop and terminal effort controls appear. A turn that asks for a different level restarts the engine on the same session between turns with `--effort`; a level the model does not offer is refused before anything is sent. Nothing to change for callers who select no effort: the engine keeps its own default.
|
|
120
|
+
- 24cb6b4: Compose installed Codex CLI app-server and Claude Code persistent stream-json
|
|
121
|
+
engines behind the ordinary desktop conversation host, with their native model catalogues,
|
|
122
|
+
exact session/profile/workspace binding, streamed message replacement,
|
|
123
|
+
one-request native tool approval and confirmed interruption/shutdown.
|
|
124
|
+
Keep these routes separate from Namzu's borrowed Codex and Anthropic provider credentials.
|
|
125
|
+
The desktop selects the engine before first dispatch and manages conversations
|
|
126
|
+
as peer tabs with their own drafts, engine bindings and selected models.
|
|
127
|
+
|
|
128
|
+
The native app-server adapter offers its declared review policies, including
|
|
129
|
+
explicitly confirmed Full access; the initial stream-json adapter offers
|
|
130
|
+
supervised and plan modes. Both omit unsupported controls
|
|
131
|
+
and explicitly deny unsupported typed questions. Codex models advertise only
|
|
132
|
+
their discovered effort options; the initial Claude adapter offers no effort
|
|
133
|
+
control, and neither route accepts attachments yet.
|
|
134
|
+
Native metadata is not proof of successful account authentication. Retain
|
|
135
|
+
uncertain sends and approvals for reconciliation rather than replaying them;
|
|
136
|
+
the initial engine has no authoritative history-query adapter.
|
|
137
|
+
|
|
138
|
+
- afc5bf5: The desktop host adds two methods, `namzu/conversations/archived` (list a project's archived conversations) and `namzu/conversations/unarchive` (restore one by `sessionId`). Both require folder trust, and restore only admits an owned, archived, non-Pal conversation. Existing methods are unchanged; nothing to do on upgrade.
|
|
139
|
+
- cea5487: `namzu computer setup` takes `--resume-command <command>`, the command Windows runs once at the next sign-in when setup needs a restart. Nothing changes if you do not pass it.
|
|
140
|
+
- 4d8f504: Add `namzu computer status`, `namzu computer setup` and `namzu computer stop-idle`
|
|
141
|
+
for Pal computers on Windows. `status` says in one sentence whether this PC is
|
|
142
|
+
ready; `setup` shows what it will install, the download size, the time, and
|
|
143
|
+
whether Windows will ask permission or a restart may follow, asks `Continue?
|
|
144
|
+
[y/N]`, then runs; `stop-idle` shuts down the idle Linux machine. `--json`
|
|
145
|
+
prints versioned JSON lines for Namzu Desktop (`setup --json` needs `--plan
|
|
146
|
+
<id>` as the consent). `setup` without a terminal and without `--yes` or `--plan`
|
|
147
|
+
exits with the new code 75 after printing the plan. `--bundle <dir>` or
|
|
148
|
+
`NAMZU_PAL_COMPUTER_BUNDLE` names the folder with the bundled image; with
|
|
149
|
+
`NAMZU_PAL_COMPUTER_ENGINE=wslc` and no `NAMZU_PAL_COMPUTER_IMAGE`, the Pal
|
|
150
|
+
runtime uses the manifest's `imageRef`. On Windows a Pal computer that is not
|
|
151
|
+
set up now says "Run namzu computer setup to set this up.", and the model is told
|
|
152
|
+
that the computer is not set up. Nothing changes for existing commands; the agent
|
|
153
|
+
runtime still never installs anything.
|
|
154
|
+
- 3c2bda7: `namzu acp --desktop` now hosts pseudo-terminals for the desktop application: ten `namzu/terminal/*` methods (status, create, list, attach, detach, write, resize, ack, kill, close) and two notifications (`namzu/terminal/data`, `namzu/terminal/exit`). A terminal keeps a bounded replay ring and a headless screen, one view holds the keyboard at a time, output is paused when the viewer falls behind, and killing a terminal ends its whole process tree, including programs that detached themselves with `nohup` or `setsid` (the host lists a terminal's descendants before the polite stop and kills the survivors), and a terminal's folder must be inside the project after links are resolved. Nothing changes for `namzu`, `exec` or any other command, and a host that predates this answers `-32601` for the new methods.
|
|
155
|
+
|
|
156
|
+
`node-pty@1.1.0` is a new **optional** dependency and `@xterm/headless` (now pinned to 6.0.0, previously a development dependency) and `@xterm/addon-serialize` are new runtime dependencies. node-pty ships Windows and macOS binaries and compiles on Linux at install time; if that fails the install still succeeds, the rest of the CLI is unaffected, and `namzu/terminal/status` answers `available: false` with the reason. With pnpm 10, a workspace that depends on `@namzu/cli` and wants terminals on Linux must allow node-pty's build script (`onlyBuiltDependencies`).
|
|
157
|
+
|
|
158
|
+
- 3c2bda7: The interactive `namzu` (and `namzu resume`) now accepts `--provider <id>`, `--model <id>`, `--effort <level>` and `--permission-mode <prompt|accept-edits|auto|strict|plan>`, written before any command. They choose how that one launch starts and are never saved: `preferences.json` is not touched, so the next plain `namzu` starts where you last left it, and `/model`, `/effort` and `/permissions` still change the session as before. `--provider` replaces the provider chain with that provider alone, `--model` alone re-models the saved primary (it needs a saved provider, otherwise the provider list opens and says so), `--permission-mode` wins over `--yolo`, and an `--effort` the model does not offer is reported and the provider default stays. An unknown provider opens the provider list with the reason instead of starting unusable. Before a subcommand other than `resume` these flags are refused with exit 64 rather than ignored; `exec` and `drain` keep their own `--provider`, `--model`, `--effort` and `--permission-mode` after the command name.
|
|
159
|
+
- fc86c05: `NAMZU_PAL_COMPUTER_ENGINE` accepts `wslc` (Windows' own container CLI) besides `docker` and `podman`, and `NAMZU_PAL_WSLC_BINARY` points at a specific `wslc.exe`. Unset keeps Docker, exactly as before. Any other value still stops the Pal computer with an error, which now reads "must be docker, podman or wslc".
|
|
160
|
+
- 846557b: `namzu acp` now attaches a file change preview to the permission request of an `edit` or `write` call: the path as the tool resolves it, the file's current body (`null` for a new file) and the body after the call, computed with the SDK's own apply code. Files over 1 MiB, binary files, paths outside the turn's directory and calls the tool would refuse get no preview. Clients that do not read the new `preview` field are unaffected.
|
|
161
|
+
- fae17a3: The desktop host now answers `namzu/project/untrust`, and the trust store exports `untrustDir(dir)`. They remove only the entry that names the exact folder from `~/.namzu/trust.json` and report an ancestor entry that still covers it as `stillTrustedBy`, so a caller can say the folder remains trusted instead of claiming it was removed. Nothing existing changes: `trustDir`, `isTrusted` and `namzu/project/trust` behave as before, and a host that predates the method is simply not asked. `trustDir` and `untrustDir` now write `trust.json` to a uniquely named temporary file and rename it, so a concurrent reader never sees a partial file.
|
|
162
|
+
- 888e37b: A paused provider turn that has no token limit can now be retried in place even when earlier requests have unknown usage (a 502 is the usual cause). `namzu/sessions/retry-status` then answers `{ retry, unknownUsage: <count> }` instead of a notice, and the retry is a new request; the unknown usage stays recorded. A turn with a finite limit still answers the notice and refuses the retry, so an ACP or Desktop client that treated every unresolved-usage pause as "cannot retry" will now see a retry target for unlimited turns.
|
|
163
|
+
|
|
164
|
+
Desktop connections gain `namzu/sessions/abandon-paused` (optional `turnId`): it closes the paused provider turn without repeating it (`turn_failed`, code `abandoned`, its unknown usage kept on the ledger) so the same conversation takes the next message. It refuses a turn that waits for a person's decision or did not stop on a provider error. Hosts that do not advertise the method keep today's behaviour.
|
|
165
|
+
|
|
166
|
+
- 0b247f4: `namzu acp --desktop`: `namzu/sessions/retry-status` adds two optional fields, `closable: true` (the paused turn stopped on a provider failure and waits for no decision, so `namzu/sessions/abandon-paused` may close it before a new message) and `retry.original` (`{provider, model}` that stopped). `namzu/sessions/retry` now runs the paused turn on the model the conversation has selected, not on the model that failed, and no longer refuses when the provider differs; the approval settings the turn began under are kept across a model change. A client that ignores the new fields behaves as before, except that a retry after choosing another model now runs on that model instead of being refused.
|
|
167
|
+
- 1fa60b9: An API key for a provider can now be saved once and kept. Namzu stores it in
|
|
168
|
+
`api-keys.json` in the Namzu home (created private to you and verified private after
|
|
169
|
+
writing, like the other credential files; Google keeps its own file), reads it after
|
|
170
|
+
the environment, and shows it as `saved API key · this device`. A key from an
|
|
171
|
+
environment variable still wins, so nothing you exported is replaced. Until now a key
|
|
172
|
+
pasted in the terminal picker was held for that session only; that path is unchanged,
|
|
173
|
+
but a key saved some other way is now found by every Namzu screen.
|
|
174
|
+
|
|
175
|
+
`namzu acp --desktop` advertises five new methods for the desktop app's Settings:
|
|
176
|
+
`namzu/providers/connections` (every provider and how it is connected, never a key),
|
|
177
|
+
`save_key`, `remove_key`, `test` (a cheap authenticated check, not a model turn) and
|
|
178
|
+
`refresh`. `DetectionSource` gains a `stored-api-key` kind and the provider status rows
|
|
179
|
+
may carry `anonymous: true` for the keyless free tier.
|
|
180
|
+
|
|
181
|
+
Removing the last saved key deletes `api-keys.json`; delete it by hand to forget keys
|
|
182
|
+
without the app.
|
|
183
|
+
|
|
184
|
+
- cdb4aec: File history now outlives the session. Closing the CLI used to delete the snapshots `/restore` rolls back to; it no longer does. Each conversation keeps `file-history/turns/<turn id>.json` and content-addressed `file-history/blobs/<sha256>` (both the file before and after every `edit` and `write`) until the conversation is deleted, 30 days after its last edit, or the history passes 512 MiB, whichever comes first, oldest turn first. Expect `file-history/` to take disk space you did not have before; deleting a conversation removes it, and no flag or config key tunes the 30 days or 512 MiB yet. After a crash the next open settles any half-recorded edit, `/restore` lists the turns of the conversation that is open (including after a restart or `/resume`), and edits from a resumed stream land in their own turn instead of a stray one. `/restore N` no longer overwrites blindly: it undoes turn N and every later turn newest first, checking each file against what the turn left, and a file you (or a shell command) changed since is left as it is and listed with the reason instead of being replaced; if a later turn's change to a file could not be undone, the older turn's change to it is left too. The undone turns are no longer deleted: their manifests and bodies stay, marked undone, they leave the `/restore` list, and a turn with files left alone stays listed as partly undone so `/restore N` run again finishes the rest. The report also names files no history covers and says when a turn ran shell commands. There is no force option in the TUI: to restore a file it kept, put it back to what the model left (or restore it by hand) and run `/restore N` again. This is a minor, not a major: where nothing changed since the turn the result is the same as before; the only difference is that a destructive overwrite of your own later edits no longer happens. A symlink is resolved before it is recorded, a sandboxed edit is never snapshotted from the host path of the same name, a restore writes through a temporary file and rename and keeps permission bits, and a failed edit leaves no entry. Nothing exported, no flag, config key or wire shape changes, so this is a minor. `namzu acp --desktop` also gains three extension methods, `namzu/turns/undo-status`, `namzu/turns/undo-preview` and `namzu/turns/undo`, for a client that undoes one reply's file changes (see docs/cli/turn-undo.md); a client that does not call them sees no change.
|
|
185
|
+
- 33f9109: Add optional desktop ACP live-input extensions for active ordinary Namzu conversations. A bounded, scope-owned mailbox delivers operator text at safe query boundaries and releases delegation waits without cancelling the child. Hosts can reconcile pending or delivered input IDs after cancellation or a lost acknowledgement; core overlapping prompt refusal, existing next-turn queues and native-engine routing remain unchanged.
|
|
186
|
+
- 56e846c: Expose the selected model's exact reasoning effort choices and per-message tool permissions to the desktop operator. Read installed plugin metadata without starting a model session or executing plugin modules; plugin changes remain scoped to an existing idle conversation.
|
|
187
|
+
|
|
188
|
+
Add scoped desktop-host methods for reasoning settings and plugin inventory. Explicit plugin enable/disable choices remain local to the conversation and are restored when changing its model; they do not update startup configuration.
|
|
189
|
+
|
|
190
|
+
Agent sessions expose optional image/document attachment support declarations from their exact primary provider route. ACP rejects new attachments before a model request when that route explicitly cannot receive them; undeclared support retains the existing runtime policy.
|
|
191
|
+
|
|
192
|
+
- a5e0038: Codex model names in the Desktop model list now read like the Codex app ("GPT-5.6 Sol" instead of "GPT-5.6-Sol"), and each engine's model list marks that engine's own recommended default with an optional `default: true` flag on the row. Namzu provider lists no longer say "Namzu default" in a row's note; the flagged row replaces it. Model ids are unchanged, so saved selections keep working; clients that read the model list can ignore the new flag.
|
|
193
|
+
- e94e149: `namzu acp --desktop` gains four methods for the Desktop conversation header: `namzu/conversations/rename` (`{ sessionId, title }` returns `{ title }`; an empty title restores the title derived from the first message), `namzu/conversations/fork` (`{ sessionId }` returns `{ id, title }`; refused while a reply is running or when there is nothing to copy), `namzu/conversations/markdown` (`{ sessionId }` returns `{ markdown, truncated }`, cut at 4 MiB of UTF-8) and `namzu/project/git` (returns `{ branch, subject }`, or `null` when the folder is untrusted, not a repository, git is missing or git takes over 3 seconds). All are new; existing methods and clients are unaffected. Each conversation method needs a trusted folder and a conversation this project owns, the same as archive.
|
|
194
|
+
- 9ef6506: Expose live tool progress and actual turn failure messages through optional fields on existing ACP update variants. Add explicit optional `namzu/*` ACP host extensions and advertise their method names. Gateway history loading now receives the requested workspace as an optional second argument; existing one-argument gateways remain compatible.
|
|
195
|
+
|
|
196
|
+
The CLI now loads durable, project/tenant-scoped ACP conversations and refuses archived writers. `namzu acp --desktop` enables operator methods for folder trust, scoped conversation/history, safe provider metadata and background jobs. Ordinary ACP connections retain the core method set. The private desktop preview uses this existing runtime and log rather than a second conversation store.
|
|
197
|
+
|
|
198
|
+
- 3ff96b4: Add the `namzu/providers/models` desktop ACP extension for reading a configured provider's model catalogue on demand. Results contain model IDs, labels, optional notes and an explicit fallback notice when listing fails or is unsupported. The extension reuses the terminal picker's access filter, keeps permitted default and session-specific choices, and never returns provider credential envelopes or raw driver error text. Existing exact model selection remains available.
|
|
199
|
+
- 5e2fb3a: Desktop hosts expose six additive Pal communication methods for known peer consent, inbox delivery metadata, and activity subscription listing, creation and disabling. Reads and writes use the authenticated Pal workspace and captured application home, exact revisions, and original source conversations. The first communication request pins the physical home for that host connection; replacing it requires reconnecting even when copied IDs and revisions match. Incoming permission is read-only; reverse and wake grants remain separate explicit actions.
|
|
200
|
+
|
|
201
|
+
These management methods do not invoke a model, start a computer, dispatch messages or run a CLI subprocess. Snapshots omit message bodies, host paths and cursors; source labels include explicit user names, while derived prompt titles remain `New conversation`. Unreadable records reject with redacted errors rather than erasing known rows. Partial subscription setup remains disabled and unknown writes are not automatically retried.
|
|
202
|
+
|
|
203
|
+
- 56d88dc: Add the desktop host's read-only `namzu/tasks/list` extension and opt into negotiated `namzu/tasks/update` notifications. Restore the existing planning list from its durable session store before new work, preserving failed outcomes and deletions. Scope reads to the authorized project, session, tenant and Pal claim; exclude task descriptions, metadata and filesystem paths. Older clients continue using the existing ACP update union.
|
|
204
|
+
- 56e846c: Add optional inline user attachments to ACP prompt requests. Hosts opt into delivery with `supportsPromptAttachments: true`; initialization then advertises `promptAttachments: true`. Clients can check this capability before sending bytes, and gateways receive the validated attachment payload alongside the prompt. Stored attachment references are refused across this boundary; inline payloads are limited to eight attachments and 3 MiB of decoded bytes per message.
|
|
205
|
+
|
|
206
|
+
The CLI opts in and preserves image/document attachments in the actual user message and settled conversation history. Existing plain text requests keep their behavior. The private desktop admits native file picks or dropped/pasted bytes as bounded images and UTF-8 text, keeps draft and queue ownership, and refuses image submission to an older CLI rather than silently dropping it.
|
|
207
|
+
|
|
208
|
+
New image/document inputs are refused before send when the selected live provider explicitly declares that it cannot receive them. Desktop files remain available for retry with a suitable model. Attachment/settings-only drafts survive a connection rebuild, and queue editing restores captured options together with its text and files. Pre-turn CLI errors retain their actual diagnostic rather than becoming a generic failed turn.
|
|
209
|
+
|
|
210
|
+
ACP also accepts optional `AcpPromptOptions` with a reasoning effort and tool review mode. Hosts opt in with `supportsPromptOptions: true`, advertised as `promptOptions: true`; unsupported or malformed explicit settings are rejected before a turn starts. The CLI validates reasoning effort against the actual selected runtime's supported menu and applies the captured review mode to that turn.
|
|
211
|
+
|
|
212
|
+
- 0f3df20: Add an optional versioned `work` display snapshot to ordinary desktop conversation
|
|
213
|
+
history. It restores retained message and turn identities, actual saved action
|
|
214
|
+
outcomes and bounded recorded public tool views from the same strict journal read.
|
|
215
|
+
Existing text messages and limits are unchanged. Legacy missing details stay
|
|
216
|
+
explicit; reopened history grants no execution, approval or retry authority.
|
|
217
|
+
- 2057fd6: Surface provider-hosted web search and fetch activity through existing ACP tool
|
|
218
|
+
updates, using qualified IDs and only provider-reported state and bounded public
|
|
219
|
+
captions. These display receipts do not grant local execution or approval.
|
|
220
|
+
|
|
221
|
+
Desktop conversation history adds optional validated journal message IDs and
|
|
222
|
+
timestamps for messages and work, and restores saved hosted search receipts.
|
|
223
|
+
Missing timing and unfinished operations remain explicit; reopening history
|
|
224
|
+
does not invent a current clock or a successful outcome. Existing message text
|
|
225
|
+
and execution authority are retained.
|
|
226
|
+
|
|
227
|
+
- dc306f3: The Desktop host (`namzu acp --desktop`) gains two read-only ACP methods, `namzu/project/changes` and `namzu/project/diff`, so the Desktop Changes view can review uncommitted work. `changes` lists the working tree against HEAD (status, added and removed lines, renames, binary and untracked files, at most 2,000 files) and answers `null` for an untrusted folder or a folder that is not a repository; `diff` returns both sides of one changed file, confined to the project folder and capped at 2 MiB. Nothing to change on upgrade: an older Desktop never calls them, and a newer Desktop talking to an older CLI simply hides the view.
|
|
228
|
+
- 6194bda: Send an operator message directly from a selected child transcript while preserving the parent's draft. Running children accept bounded input at the next valid request boundary; finished shared-workspace children retained by this process can receive a new task in the same conversation with current permissions, credentials and budget. Saved-only and isolated-workspace continuation is refused. The parent receives host-attributed assignment notices and explicitly framed child results; a durable observation journal preserves unacknowledged reports across restart without restoring execution authority.
|
|
229
|
+
|
|
230
|
+
Only a parent response ending with `end_turn` acknowledges its captured observation snapshot. Timeouts and other unsuccessful stops keep notices pending, including stops before a model request; observations arriving after that snapshot are not acknowledged accidentally.
|
|
231
|
+
|
|
232
|
+
- e447a47: The desktop model catalogue (`namzu/providers/models`) now carries an optional
|
|
233
|
+
`current: true` on a row when the execution engine itself says the model is current
|
|
234
|
+
rather than an older release: the Claude Code engine's alias rows (a model id that
|
|
235
|
+
names no version) and the Codex engine's default row. A client that ignores the field
|
|
236
|
+
is unaffected, and rows without it read as before. Nothing needs changing to keep the
|
|
237
|
+
old behaviour.
|
|
238
|
+
- d063837: Opening an external engine from the desktop host (`namzu acp --desktop`) starts the engine's process once instead of two or three times. The Codex app-server that model discovery starts is kept (closed after two idle minutes, or when the connection closes) and the first conversation opened in that folder takes it over instead of spawning again; re-reading the model list reuses a running server too. A model list read in the last ten minutes is answered from memory, so opening the picker no longer spawns the engine each time, and the last good list of each installed engine build is kept in `engine-models.json` in `NAMZU_HOME` (ids, labels and effort levels only), so a later launch names the default model without waiting for the engine. A new build of the engine (its executable's path, size or modification time changes) drops its old list at once.
|
|
239
|
+
|
|
240
|
+
What changes for an ACP client: `namzu/harnesses/select` no longer waits for the engine's model list, so an engine that cannot list models (signed out, no models) is accepted there and the error comes from `namzu/providers/status` or `namzu/providers/models` instead; the status row of an external engine carries an optional `identity` (a short hash naming the installed build) for clients that cache the list; the harness view and the model listing carry optional `timings` (spawn, initialize and model-list milliseconds, no paths or account details) that a client may record. Nothing changes for callers that ignore the new fields. To keep the old always-fresh read, there is no flag: a list older than ten minutes is read again on the next `namzu/providers/models`.
|
|
241
|
+
|
|
242
|
+
- d063837: `namzu acp --desktop` gains the host method `namzu/harnesses/release`, which takes an `engine` (`codex-cli` or `claude-code`) and ends the idle engine servers the connection keeps for it, answering `{ released: true }`. It never touches a conversation that is running; it only closes the Codex app-server that model discovery parked, so a client can replace the engine's program on disk (a running executable cannot be overwritten on Windows) before it updates it. The Desktop uses it before running an engine's update command. A client that never calls it sees no change, and a host that predates the method answers `-32601`, which the Desktop treats as "nothing to release".
|
|
243
|
+
- b6ea5ca: Models work on first open with nothing to set up. With nothing saved, Namzu Desktop and the terminal app now start on what they find, in this order: a sign-in Namzu already reuses (Claude Code, Codex), an API key in the environment, a local server (Ollama on port 11434, LM Studio on port 1234; each probe waits at most 300 ms and they run together), then the keyless Zen free models. They say what they picked in plain words ("Using your Claude sign-in, found on this computer.") and save nothing, so a key or sign-in added later wins on the next open. `/model` and the model picker change it.
|
|
244
|
+
|
|
245
|
+
What changes for you: in the terminal app a first run with an API key or a local server in the environment no longer stops at the provider picker; it starts on that provider. The picker still opens when nothing is available. In Desktop the keyless Zen free models now count as usable, as they already did in the terminal app, so a new person's message box is ready and Send works at once; the "Add an API key or sign in to start" card now appears only when nothing at all is available. To keep the old terminal behaviour of choosing yourself, save a choice once with `/model`.
|
|
246
|
+
|
|
247
|
+
When Zen declines a free request that carried no key, both apps now say "Zen didn’t accept the free model right now. Try again in a while, or choose another provider. A Zen API key also works." and keep the technical detail under Details (Desktop) or `--debug` (terminal). The generic `provider.permission` explanation in `@namzu/sdk` no longer says the key authenticated: a 403 only says the request was refused.
|
|
248
|
+
|
|
249
|
+
- 79a7354: Add `--message <text>` to the interactive `namzu`: the session sends the text once, as a plain prompt (a leading `/`, `!` or `#` is not a command), when its composer is ready, with the provider, model, effort and mode chosen by the other launch flags. It is session-only, shown as the first user message, and not sent again on resume or reload. Before a subcommand it is refused with exit 64, like `--model`. Nothing changes for callers that do not pass it. Pass `--message=<text>` when the text may start with a dash.
|
|
250
|
+
- 7473449: Interactive terminals in the same project can discover and message one another
|
|
251
|
+
with `/peers`, `list_sessions` and `send_session_message`. Idle terminals can
|
|
252
|
+
start a turn for peer context; busy terminals receive it at the next safe
|
|
253
|
+
request boundary. Peer input remains separate from operator instructions and
|
|
254
|
+
cannot grant approval. Different permission modes are refused. Use `/peers off`
|
|
255
|
+
to refuse new mail and pause delivery in this terminal.
|
|
256
|
+
|
|
257
|
+
The mailbox is bounded and process-local; queued is an acceptance receipt, not
|
|
258
|
+
proof of model delivery. Conversation switches cannot redirect pending mail.
|
|
259
|
+
Child-task activity now labels accepted messages as queued, and SDK manager
|
|
260
|
+
documentation describes the inbound callback that query-backed agents actually
|
|
261
|
+
consume. The SDK peer envelope refers to the host's reply tool rather than
|
|
262
|
+
prescribing a CLI child-task tool.
|
|
263
|
+
|
|
264
|
+
- 6f46da3: Add durable Pal addresses, owned conversation routes, incoming message storage,
|
|
265
|
+
captured senders, explicit directed consent and executor-correlated messaging
|
|
266
|
+
tools. Acceptance is separate from verified session-log delivery and recipient
|
|
267
|
+
execution; unresolved claims are retained for recovery without repeating effects.
|
|
268
|
+
|
|
269
|
+
CLI and desktop Pal sessions use the same SDK messaging tools and durable query
|
|
270
|
+
input. Add `pal grant/revoke/inbox/dispatch`: wake consent is explicit and finite
|
|
271
|
+
dispatch uses preapproved tools. No external transport, automatic listener or
|
|
272
|
+
Pal Team membership is installed by this feature.
|
|
273
|
+
|
|
274
|
+
- 9dad339: `namzu/sessions/abandon-paused` accepts an optional `withdrawMessages` boolean. Absent or `true` it behaves as before: the closed turn's messages leave the history the next request carries. Send `false` when the person goes on with a different message and the closed turn's message should stay in what the provider is shown. A reloaded Desktop conversation no longer shows the stopped partial reply of a turn whose message was withdrawn. Nothing breaks for a caller that sends only the conversation.
|
|
275
|
+
- 84a9472: Add optional provider-owned Pal computer takeover through `PalComputerControl`,
|
|
276
|
+
`PalComputerInput` and runtime control methods. Hosts can transfer an idle guest
|
|
277
|
+
to human input using its exact generation, return it without waking the Pal, and
|
|
278
|
+
observe current control authority. Providers without the optional port retain
|
|
279
|
+
normal Pal execution and explicitly refuse takeover.
|
|
280
|
+
|
|
281
|
+
The runtime serializes control operations, refuses new Pal admissions during
|
|
282
|
+
operator control, and requires each subsequent admission to obtain its own
|
|
283
|
+
fresh screenshot before GUI input. CLI desktop ACP exposes take-over, return and
|
|
284
|
+
bounded input methods; optional screen generation pinning rejects stale captures.
|
|
285
|
+
|
|
286
|
+
- 53aed2a: Add durable subscriptions for closed Pal activity metadata from an exact owned original conversation. Observation, disclosure, recipient receipt and idle wake have independent current permission checks. Custom publication authorizers must also implement the final accept phase requiring current observation, disclosure and receipt together. Accepted facts enter the shared Pal inbox before cursor progress; retries preserve identity and verified observation trails suppress feedback.
|
|
287
|
+
|
|
288
|
+
The CLI adds finite pal subscribe, subscription, activity and unsubscribe commands. Publication performs no inference or guest startup; explicit dispatch still requires current wake/tool authorization. Original turn intake and exact recorded delivery receipts are required for causality, and unknown evidence or exhausted journal read budgets reject without advancing progress.
|
|
289
|
+
|
|
290
|
+
- 53aed2a: Resume a Pal's real parked tool review in its original session and local guest
|
|
291
|
+
computer. Explicit review holds record durable checkpoints, preserve the
|
|
292
|
+
conversation's pinned profile and original turn limits on resume, and hold later
|
|
293
|
+
batches for their own decision. Existing live terminal permission prompts keep
|
|
294
|
+
their behavior when no hold is requested.
|
|
295
|
+
|
|
296
|
+
Trusted hosts can authenticate one-batch review actions against the exact
|
|
297
|
+
original journal request and current consent. Durable operation and decision
|
|
298
|
+
reservations prevent automatic replay, and acknowledgement requires an actual
|
|
299
|
+
recorded decision resolution. Unconfirmed attempts retain their ownership for
|
|
300
|
+
reconciliation rather than executing again.
|
|
301
|
+
|
|
302
|
+
The required trusted host `currentPermissionMode` callback keeps current plan
|
|
303
|
+
mode stricter than a restored approval and later rule-allowed batches. Channel
|
|
304
|
+
action payloads cannot change the mode or substitute the captured host ports.
|
|
305
|
+
For this action, `auto` and `accept-edits` are limited to `prompt` on later
|
|
306
|
+
review requests, so a one-batch answer never grants automatic later approval.
|
|
307
|
+
Independent operator rules and ordinary CLI automatic modes retain their
|
|
308
|
+
existing behavior.
|
|
309
|
+
|
|
310
|
+
- 5d91ac1: The desktop host's `namzu/pals/communication/inbox` answer now carries `receivedAt` (epoch milliseconds, when the Pal's inbox accepted the input) on every row, and, for a message the owner sent from their own conversation (`sourceKind: operator-conversation`), the message `text` (up to 4,000 characters) so the owner can read back what they approved. Messages from Pals and channels still carry no text, and the existing fields are unchanged. Nothing breaks: a client that ignores unknown fields keeps working, and a strict one that compared whole rows must allow the two new keys.
|
|
311
|
+
- 7f5ac50: Allow owned Pal conversations to use explicitly installed application MCP servers inside their original virtual computer. Install a reviewed guest bridge and a version 1 `/home/namzu/.config/namzu/mcp.json` manifest with absolute guest paths, an explicit tool allowlist and `outcomeProtocol: "namzu-v1"`; host MCP preferences and credentials remain excluded.
|
|
312
|
+
|
|
313
|
+
Retain rich MCP output and provenance, current permissions, writer and computer lifetime checks. Do not retry or take over after a bridge loses application completion evidence. The bundled pinned Blender bridge reports uncertain socket operations before upstream turns them into successful text replies, preserving the computer recovery fence.
|
|
314
|
+
|
|
315
|
+
- ce52b90: Add optional host-only `PalComputerScreenStream`, `PalEnvironmentLease.screenStream`
|
|
316
|
+
and `PalRuntime.computerScreenStream(palId, generation)` for observing an exact
|
|
317
|
+
current Pal computer over read-only RFB. Existing providers remain compatible;
|
|
318
|
+
providers without the optional capability explicitly refuse live observation.
|
|
319
|
+
Keep allocation authorization private in the embedding host and enforce read-only
|
|
320
|
+
observation server-side; the stream does not grant operator input authority.
|
|
321
|
+
|
|
322
|
+
The CLI exposes the owning desktop ACP stream method with geometry and generation
|
|
323
|
+
rechecks, and reuses initialized registry roots to avoid repeated Windows ACL
|
|
324
|
+
subprocesses while retaining fresh Pal definitions and directory identity checks.
|
|
325
|
+
The local computer image adds x11vnc and authenticated binary WebSocket transport.
|
|
326
|
+
Rebuild the installed image explicitly and restart the owning computer to enable
|
|
327
|
+
live observation; older images retain screenshot/input behavior and advertise no
|
|
328
|
+
stream capability. Persistent workspace and browser profile volumes survive.
|
|
329
|
+
|
|
330
|
+
The guest desktop includes a themed wallpaper, a real dock, Files, terminal and
|
|
331
|
+
browser launchers, plus a local browser home page. Normal browser-window closure
|
|
332
|
+
keeps the desktop alive; owned profile shutdown retains browser flush ordering.
|
|
333
|
+
|
|
334
|
+
- 815433f: Add `DiskPalStore.delete(id, expectedRevision)` and the desktop host's
|
|
335
|
+
`namzu/pals/delete` metadata endpoint. Deletion uses a terminal immutable revision,
|
|
336
|
+
hides the current Pal, and refuses future updates and execution admission while
|
|
337
|
+
preserving historical profiles, journals, host files, and guest data volumes.
|
|
338
|
+
Hosts must stop active work and confirm computer cleanup before deleting its
|
|
339
|
+
identity. Existing custom `PalStore` implementations require no new method.
|
|
340
|
+
Readers from older releases do not understand terminal deleted profiles and
|
|
341
|
+
should not be used to read a registry after deletion has been published.
|
|
342
|
+
|
|
343
|
+
Add the desktop host's `namzu/conversations/archive` endpoint. It performs a
|
|
344
|
+
scoped, writer-gated soft removal while retaining the durable conversation and
|
|
345
|
+
files. Successful retries return `archived: true`; a physically absent strict
|
|
346
|
+
journal returns `archived: false, missing: true`, never claiming that an absent
|
|
347
|
+
conversation was archived. Hosts may discard only their own known unsent local
|
|
348
|
+
projection from this missing receipt. Existing terminal archive commands are
|
|
349
|
+
unchanged.
|
|
350
|
+
|
|
351
|
+
Release a connection's exact idle native-engine writer before desktop archival,
|
|
352
|
+
reserving the conversation until the operation settles. Active or unresolved
|
|
353
|
+
work is refused and a failed native close retains cleanup authority for retry.
|
|
354
|
+
The runtime reservation method is optional for existing embeddings.
|
|
355
|
+
|
|
356
|
+
Keep a Pal's approved stored control-path spelling when Windows native path
|
|
357
|
+
resolution changes only its case, after verifying the same physical directory.
|
|
358
|
+
Physical project identity remains canonical, while existing Pal profile revisions
|
|
359
|
+
and journal ownership paths remain unchanged. Different directory objects and
|
|
360
|
+
non-case aliases are refused.
|
|
361
|
+
|
|
362
|
+
- 6f46da3: Add optional `PalAppearance` preferences to saved Pal definitions and create/update inputs. Character and color selections persist in immutable profile revisions; existing records retain their absent appearance and hosts may choose their own display default.
|
|
363
|
+
|
|
364
|
+
The CLI accepts `--appearance <character>/<color>` on `pal create` and `pal update`, and the desktop ACP create/update extensions carry the same validated preference. Supported characters are `pixel`, `sprout`, and `spark`; supported colors are `green`, `blue`, `amber`, `violet`, and `rose`.
|
|
365
|
+
|
|
366
|
+
- f7f48f9: Add persistent Pal identities, immutable profile revisions and an SDK runtime
|
|
367
|
+
that requires an explicitly provided virtual computer before execution. Hosts
|
|
368
|
+
can retain one warm computer per Pal, serialize active conversations, enforce
|
|
369
|
+
current pause state and retry failed computer cleanup without losing ownership.
|
|
370
|
+
|
|
371
|
+
Add `namzu pal list/create/show/update/pause/resume/chat` and desktop host Pal
|
|
372
|
+
methods. Pal conversations pin a saved profile and bind exactly one Pal in their
|
|
373
|
+
session log. File, shell and computer tools run in the Pal guest, with no host
|
|
374
|
+
folder, host browser or host plugin fallback. The local computer image and engine
|
|
375
|
+
must be set up explicitly before chat can execute.
|
|
376
|
+
|
|
377
|
+
- 6943add: The Desktop can now start a Pal for a message waiting in its inbox, on the person's click. After an approved `send_pal_message` to a Pal that is not running, the sender's transcript asks "Start _name_ now?" and the Pal's own page offers the same (or **Resume** for a paused Pal). **Start** runs the same finite dispatch as `namzu pal dispatch` in the Pal's own host, in the background: the sender's turn is never held, the Pal reads the message in its own conversation under its own permission rules, and its approvals stay in its own tab. A Pal that is already running is only reported, repeated clicks start once, and a missing Pal computer is explained in plain words with **Retry** instead of starting.
|
|
378
|
+
|
|
379
|
+
The CLI's desktop host gains two methods, `namzu/pals/inbox/status` and `namzu/pals/inbox/start`; an older runtime simply shows no question. Nothing about sending changes: a message still only reaches the inbox, and `send_pal_message` still never starts a Pal itself. If you embed the CLI's authorization, an owner-conversation wake now also accepts a click-evidence object (`operatorWake: { evidence }`) besides `true`; with neither, a wake is still refused.
|
|
380
|
+
|
|
381
|
+
- 6ff961f: The Namzu engine's ordinary conversation (terminal and Desktop) can now give a Pal work. It mounts `list_pals` and `send_pal_message` in every such session, and its system prompt names the owner's Pals, separate from sub-agents, only while some exist; a session with no Pals leaves no Pal files. `send_pal_message` always asks the person (in every permission mode and even after "allow all"; `strict` and a session with nobody to ask refuse it) and returns "Sent to _name_'s inbox" as durable acceptance, never delivery or an answer. A paused or removed Pal is refused. The message lands in that Pal's inbox as untrusted context from the owner's conversation; it does not start a stopped Pal, which `namzu pal dispatch` (typed by the owner) still does. `namzu pal inbox` and the Desktop Pal communication view list such a message as `operator-conversation`. External engines and a Pal's own sessions are unchanged.
|
|
382
|
+
|
|
383
|
+
If you keep an exact list of the ordinary session's tool names (a plugin allowlist test, a snapshot), it now includes `list_pals` and `send_pal_message`; withhold them with `withheldTools` (withholding `send_pal_message` also drops the prompt block).
|
|
384
|
+
|
|
385
|
+
Desktop: the approval card reads "Message to _name_" with the whole message and a note that it goes to the inbox only, and the action row reads "Messaged _name_" with the hover text "Sent to inbox", including after a reload.
|
|
386
|
+
|
|
387
|
+
- 53aed2a: Read and dispatch Pal messages, authorized activity observations and authenticated channel messages through one SDK ledger. `namzu pal inbox` preserves existing peer row fields and adds explicit source metadata for observation/channel rows without exposing message bodies. Pal sessions and finite dispatch check source-specific current consent; channel execution denies unless a trusted host adapter is explicitly injected.
|
|
388
|
+
- 083e4f9: The terminal app now reports problems in plain words. A failed or paused reply is one sentence that names the provider (for example "OpenAI did not accept your API key. Check it in /setup, or pick another provider with /model."), with no bracketed error ids, checkpoint ids, raw JSON or config-key names; a paused reply continues with Enter. The exit hint prints `namzu resume <id>` instead of the node path, and an unexpected crash prints one line and saves the stack to `~/.namzu/logs/crash-<time>.log`. If you scraped the old terminal text (`[provider.auth]`, `Checkpoint preserved:`, `Fatal:`), read the structured output of `namzu exec --json` instead, which is unchanged; set `NAMZU_DEBUG=1` or pass the new global `--debug` flag to see the technical detail on screen.
|
|
389
|
+
|
|
390
|
+
### Patch Changes
|
|
391
|
+
|
|
392
|
+
- b8852a1: `abandonTurn` takes a new option, `withdrawMessages`. Pass it when you give the
|
|
393
|
+
turn's prompt back to a person to send again (a message box restored after
|
|
394
|
+
"continue without this reply"): the abandoned turn then contributes no message
|
|
395
|
+
to the next turn's context, so the provider receives the re-sent prompt once
|
|
396
|
+
instead of twice. The records stay in the log; the closing `turn_failed` carries
|
|
397
|
+
`failure.details.messagesWithdrawn: true`, which the fold honours. Nothing
|
|
398
|
+
changes unless you pass it: an abandoned turn's messages stay in the context by
|
|
399
|
+
default. `SessionLog.abandonTurn` accepts the same option as a fourth argument;
|
|
400
|
+
a custom `SessionLog` that wraps another should forward it.
|
|
401
|
+
|
|
402
|
+
The CLI's `namzu/sessions/abandon-paused` passes it, which fixes Desktop's
|
|
403
|
+
**Continue without this reply** sending the person's message to the provider
|
|
404
|
+
twice.
|
|
405
|
+
|
|
406
|
+
- efb7b06: Extend the closed `AcpSessionUpdate` output union with `agent_thought` reasoning boundaries and `agent_message` completed messages. Exhaustive consumers must add handlers for both kinds before upgrading. Existing variants and required fields remain available. Reasoning boundaries contain no private replay payload; readable reasoning still arrives through `agent_thought_chunk`.
|
|
407
|
+
|
|
408
|
+
Message chunks carry optional actual message/turn identity and public commentary/final-answer metadata. Completed messages provide selected settled content and ordered public text parts. `turn_ended` can provide the authoritative result and its actual answer-message identity; consumers must replace the preview when a result is present, including an empty result that clears blocked output.
|
|
409
|
+
|
|
410
|
+
Keep the coarse `AcpStopReason` union and add optional exact `reason` to terminal updates and prompt responses. Current runtime guardrails/refusals map to `refused`, resource limits to `max_turns`, and parked segments retain `reason: 'paused'` under the older coarse cancellation label. Legacy aliases remain accepted. Prompt preparation cancellation returns an explicit cancellation reason even if no runtime event was produced. Streamed updates are sent in admission order and finish before the prompt response. Tool completion retains optional runtime-measured duration.
|
|
411
|
+
|
|
412
|
+
Permission questions wait for already-admitted updates and fail closed when that context was not delivered. Update errors are caught immediately, retain the first failure and release the prompt slot after flushing; failed question sends settle their pending wait. Delivery failure does not undo runtime work already recorded.
|
|
413
|
+
|
|
414
|
+
Update the CLI session-isolation regression expectations to include the exact cancellation and completion reasons; the CLI runtime is unchanged.
|
|
415
|
+
|
|
416
|
+
- a32c679: Mark unfinished Claude messages closed by native failure or interruption as cancelled instead of completed replies. Preserve partial text, the failed turn's actual status and error, and messages the engine already completed.
|
|
417
|
+
- 642104d: Preserve observed Claude tool calls and results when the engine emits thinking, text and tool blocks under one native message ID. Complete streamed messages at the native message boundary instead of the first content block, retain authoritative inputs and interrupted partial text, and ignore duplicate or older-operation receipts. Public wire shapes and permission admission are unchanged.
|
|
418
|
+
- 6ff961f: Removing a sidebar conversation in the desktop app no longer fails with "This conversation does not belong to this project." when its journal is gone or was saved under a regenerated identity; the host now names the identity change and leaves the journal untouched.
|
|
419
|
+
- dbc466a: The terminal app's header now names the product: "Namzu v35.0.0 · by Cogitave".
|
|
420
|
+
- 2852da1: The CLI now ships as a code-split bundle, so a launch reads a handful of files instead of about 1,700 modules: `namzu --version` drops from about 49 ms to 36 ms, the terminal's first frame from about 555 ms to 265 ms, and `namzu exec` reaches the model about 120 to 210 ms sooner. The `namzu` bin name and path (`dist/bin.js`), every command, option and output stay the same, and no code needs to change to upgrade.
|
|
421
|
+
|
|
422
|
+
What to know if you inspect the install: `dist/` holds a few dozen bundled files and chunks plus the type declarations, not one file per source module, so a deep import of `@namzu/cli/dist/...` (never in `exports`) no longer resolves. `quickjs-emscripten-core` and `@jitl/quickjs-wasmfile-release-sync` are now direct dependencies of the CLI, because the bundled SDK finds them by path; they are the same versions the SDK already required. `@namzu/browser`, `@namzu/sandbox`, `@namzu/telemetry`, `@namzu/computer-use` and `node-pty` are still loaded from your install, not bundled.
|
|
423
|
+
|
|
424
|
+
- 42ef5e4: `namzu computer` and the Pal computer hint read better on Windows. The "Run namzu
|
|
425
|
+
computer setup" hint is chosen from the sandbox's setup code, not by matching its
|
|
426
|
+
message, and its wording no longer mentions wslc. A failed setup's `Details:` line
|
|
427
|
+
is a plain sentence with the Windows error number when there is one, not the
|
|
428
|
+
internal code. A pending restart reads "Restart your PC to finish setting up Pal
|
|
429
|
+
computers." instead of "Nothing needs to be set up.", and `namzu computer setup`
|
|
430
|
+
says it once without asking to continue. `--json` results from a failed setup gain
|
|
431
|
+
an optional `exitCode`.
|
|
432
|
+
|
|
433
|
+
`namzu computer setup` now also says to run it again after the restart when setup steps are still waiting, and the setup hint no longer appears for a failure that setup cannot fix.
|
|
434
|
+
|
|
435
|
+
- 4367edc: Keep terminal and ACP conversations running when refused or truncated tool
|
|
436
|
+
arguments produce an invalid presentation. A malformed write call no longer
|
|
437
|
+
throws while drawing its label: the CLI uses the tool name, preserves the
|
|
438
|
+
original error and lets the model repair its input and complete the turn.
|
|
439
|
+
Valid tool views, tool validation and permission checks retain their behavior.
|
|
440
|
+
- d521813: On Windows, the interactive screen now re-measures its terminal every 250 ms, so a
|
|
441
|
+
Namzu terminal tab that is narrowed or split redraws to the new width instead of
|
|
442
|
+
keeping the width it started with (lines cut mid-word, a message box with its
|
|
443
|
+
right edge in the wrong place). Nothing changes on other platforms. The footer
|
|
444
|
+
also shortens a Windows path at a backslash and shows the home folder as `~` from
|
|
445
|
+
`USERPROFILE`. No option or output format changes.
|
|
446
|
+
- 1fa60b9: The terminal app no longer opens with "Computer use is unavailable in this session: The
|
|
447
|
+
openai provider cannot return images in tool results…" when the chosen provider cannot
|
|
448
|
+
show screenshots. The reason still travels with the computer-use tool, so the model
|
|
449
|
+
tells you the moment computer use is actually asked for. A desktop that cannot start at
|
|
450
|
+
all is still reported when the session opens.
|
|
451
|
+
- 0ef4884: On Windows, reading a Pal computer's status no longer starts the Linux machine Pal computers run on. Namzu Desktop reads that status every few seconds while a Pal's panel is open, so the machine used to start again right after it was stopped for being idle. Status now reads what setup recorded; starting the computer still starts the machine. Nothing changes for Docker or Podman.
|
|
452
|
+
- 9d422c6: On Windows with the wslc engine, a Pal computer status that cannot be read now reports "not ready" with the setup hint instead of probing the engine, because that probe starts the Linux machine (which may have just been stopped for being idle). Nothing changes for Docker or Podman.
|
|
453
|
+
- adb0498: The terminal app no longer tells you to check your internet connection when a server on your own computer or network (Ollama, LM Studio, a local address) is down: it names the server and says to start it. Startup problems (the working folder, saved data, plugins, computer use, the browser) now print one plain sentence, with the error text shown only under `--debug` as "Details:". The setup screen says how a credential was found in words ("Signed in with Codex") instead of an internal name, and a long folder name in CJK or with emoji is shortened by its display width. Nothing to change on your side; scripts that matched the old `Working directory is unavailable` or `Failed to construct <provider>` text should match the new sentences.
|
|
454
|
+
- 6f2eb8e: On Windows, folders in the terminal app's sentences (the trust prompt, saved-file notices, `/status`) use backslashes like the footer does (`~\Work\clients\leaf-folder`). The trust prompt now wraps to the box's real width, so at 54 columns it no longer leaves "files" alone on a line, and its title, sentences and key line break evenly at every width from 40 up. Nothing to change on your side.
|
|
455
|
+
- 0888f71: An approval request for a write that would leave the file exactly as it is now carries a file preview with `before` equal to `after`, where it carried none. A client that treated a missing preview as "cannot show the file" can now say "no change". A client that draws `before` and `after` as a diff shows an empty diff.
|
|
456
|
+
- f0aeb9b: The npm package page of `@namzu/cli` is rewritten for people who use the terminal app. Only the README changed; the CLI code and its behaviour are unchanged.
|
|
457
|
+
- 2e8f811: A conversation's title no longer includes the text of an attached file. Desktop sends an
|
|
458
|
+
attachment to the model as `Attached text file: "name"` after the typed words; the saved
|
|
459
|
+
title now comes from the typed words only, and is the first file's name when only files
|
|
460
|
+
were sent. A title that was already saved with attachment text keeps it until the conversation is
|
|
461
|
+
renamed.
|
|
462
|
+
- 3c2bda7: The interactive screen now reads keys from the Windows console input device when `process.stdin` is not a terminal but the output is, which is the case when the CLI runs as Electron's plain-interpreter mode inside a pseudo-console (a terminal started by the desktop application). Before, it stopped with `Raw mode is not supported on the current process.stdin`. An ordinary launch, and every non-Windows launch, keeps `process.stdin`; nothing to change on upgrade.
|
|
463
|
+
- 2d2a6c3: On Windows, opening a Pal or a conversation no longer starts three Windows processes (`whoami`, `icacls`, `icacls /save`) every time it checks that a state folder is private. The check still runs the first time this process meets a folder, and it runs again when the path names a different folder than before (another device, file id or creation time), so a folder replaced under the same name is re-proved. What changed is that a folder this process already proved private is not re-proved while it is still the same folder, so an access-list edit made to that same folder while Namzu runs is no longer noticed until the next start. The signed-in account's id is also asked for once per process. Nothing changes on other systems. On a Windows machine with antivirus scanning, this removes seconds from opening a Pal.
|
|
464
|
+
- 0de3571: The model pickers (TUI and Desktop catalogue) list Zen's free models before the ones that need an API key and show them under separate "Free" and "API key" headings (a model with no published price follows under "Other models"; a list with only one group draws no headings and keeps an "(API key)" note on its key models), and mark a model whose limits the catalogue has not published yet with "Limits not published yet". Nothing to change on your side; only the order and headings of the Zen list and one extra note differ. The Desktop catalogue row gains an optional `group` field (`'free'` or `'key'`, Zen only). A client that ignores `group` draws no headings and loses the "(API key)" marker on a list that has both groups, because the per-row note is dropped once the headings carry it.
|
|
465
|
+
- 815433f: Fix installed Codex conversations rejecting effort choices offered by their native model catalogue. SDK admission now receives the discovered effort capabilities; dispatch still checks each selection against the current selected model before sending a native turn.
|
|
466
|
+
- 9279c97: The terminal agent's composer is usable as soon as the saved or automatic model is known, instead of after the provider's model list (`GET /models`) answers. With a gateway or local server that answers in 1 second, the composer used to appear 1 second later; now it appears at the same time as with a fast server. The reasoning-effort menu follows when the list arrives; a message sent before then uses the chosen model and the provider's default effort (a launch `--effort` applies once the menu arrives), hypermode pins its effort when the menu arrives, and a list that fails leaves the effort menu out without a message. `namzu exec` and ACP session creation still wait for the list, as before. `AgentSessionOptions` gains an optional `deferEffortCatalogue`; leave it off to keep the old behaviour.
|
|
467
|
+
- 479adc4: Reopened ordinary Desktop conversations now keep an assistant reply you stopped
|
|
468
|
+
mid-answer. Previously the partial text was visible live but vanished after a
|
|
469
|
+
restart; it is now restored from the saved journal and shown as stopped. A stopped
|
|
470
|
+
reply that had no text, or that was later replaced, still adds nothing, and Pal
|
|
471
|
+
chat history is unchanged. The `namzu/conversations/history` result gains an
|
|
472
|
+
optional `stopReason: 'cancelled'` on assistant rows; existing clients that ignore
|
|
473
|
+
unknown fields keep working and nothing needs to change.
|
|
474
|
+
- 24cb6b4: Distinguish a subscription credential removed or cleared by its owner from a
|
|
475
|
+
remote authentication rejection in desktop model catalogues. Show a fixed
|
|
476
|
+
sign-in-unavailable notice without exposing owner paths or provider diagnostics.
|
|
477
|
+
TLS and network failures retain their catalogue-loading notice.
|
|
478
|
+
- 7e1068a: Do not display a tool-only assistant record as a media message when reopening
|
|
479
|
+
ordinary desktop history. Text accompanying tools and actual media placeholders
|
|
480
|
+
remain visible; the model's complete recorded history is unchanged.
|
|
481
|
+
|
|
482
|
+
Desktop task, retry-status, and metadata ownership reads no longer synchronize the installation-wide session index. ACP history loading verifies and folds one scoped journal snapshot without preparing a provider. Retry inspection retains the authenticated application home, trust, project, tenant, Pal claim, and checkpoint checks; actual retry and write admission remain enforced. Existing injected storage openers are preserved until the host supplies a direct-read opener.
|
|
483
|
+
|
|
484
|
+
- 2ae7169: The desktop app shows a failed reply with the same quiet row a finished reply ends with: Retry and Copy as icons, other recovery actions as small muted text, Details as a text toggle and the time (leading, as on a finished reply) on one line, instead of filled buttons and a native disclosure. No flag, setting or stored data changes.
|
|
485
|
+
- 292ed84: Read desktop conversation history through one fresh owned session scope without opening or synchronizing the installation index. Authorization, strict journal reads, and Pal reply filtering use the same admitted application home, with folder trust rechecked before reading the journal. Project, tenant, and Pal ownership checks remain enforced; conversation listing and other operations retain their indexed behavior.
|
|
486
|
+
- 3727e2b: Show only the provider's actual listed model rows in the desktop catalogue.
|
|
487
|
+
Do not insert unavailable registry defaults or saved models as available
|
|
488
|
+
choices. Keep the current route visible in provider status and report omitted,
|
|
489
|
+
failed, unsupported and timed-out catalogues with explicit notices. Credential
|
|
490
|
+
rejections receive a safe authentication notice without remote diagnostics.
|
|
491
|
+
Recognize a typed rejected subscription refresh grant as an authentication
|
|
492
|
+
failure while keeping TLS and network failures distinct from invalid credentials.
|
|
493
|
+
Use the driver's strict account listing when provided instead of mistaking a
|
|
494
|
+
bundled fallback for a live account catalogue.
|
|
495
|
+
|
|
496
|
+
Check the selected model's credential access and supported wire before closing
|
|
497
|
+
the previous conversation session. An invalid anonymous Zen switch now leaves
|
|
498
|
+
the previous session intact, and a new conversation can select an eligible free
|
|
499
|
+
model before preparing an unavailable saved provider.
|
|
500
|
+
|
|
501
|
+
Fix model preparation on a newly created ordinary ACP conversation before its
|
|
502
|
+
first journal exists. Authorize only a session actually published on the same
|
|
503
|
+
connection with the exact canonical workspace; unknown IDs, foreign workspaces
|
|
504
|
+
and stopped slots remain refused. Pal conversations still require their durable
|
|
505
|
+
ownership claim.
|
|
506
|
+
|
|
507
|
+
- a32c679: Preserve a stored assistant message's explicit commentary or final-answer phase in desktop conversation history when its public text still matches the recorded parts. This keeps progress narration in the work details after reopening an ordinary conversation. Pal history also omits an unchanged interrupted reply only when its own durable completion records cancellation; completed earlier replies and revised or legacy messages remain visible. These display projections leave journal messages and model replay unchanged.
|
|
508
|
+
- e7c61d2: `namzu exec "<prompt>"` no longer adds its quarter-second wait for piped input to the start of the turn when stdin is a pipe nobody writes to (a CI step, a script, a host that spawned it and kept stdin open): the wait now runs alongside the rest of the startup, which took the request about 150 ms to 250 ms sooner in that case. The rule itself is unchanged: input that begins within a quarter second of `exec` first looking at stdin is read to its end and appended to the question, and `exec` without a prompt argument, or with `-`, still waits as long as the pipe takes. Only the quarter second is promised: a producer that is slower to write its first byte (for example a slow `curl | namzu exec "summarise"`) may or may not be picked up, depending on how busy the rest of startup is; put the text in the prompt if you depend on it.
|
|
509
|
+
- e366729: The first model request is smaller: `computer_use`, `browser`, `browser_act`, `list_pals` and `send_pal_message` are no longer sent while they cannot work (the provider cannot return images or the desktop host is unavailable, no browser engine can run, the owner has no Pals), and are sent again as soon as they can. About 1,150 tokens fewer in the terminal on a machine with none of those. Nothing a working tool does changes; a model that names a suspended tool is told it is suspended instead of receiving its own refusal text.
|
|
510
|
+
- a923f6b: Check complete Godot input batches before the original MCP handler and runtime
|
|
511
|
+
WebSocket send. Invalid nested boolean strings previously aborted the pinned
|
|
512
|
+
runtime coroutine and could leave earlier input dispatched without a final
|
|
513
|
+
reply. Return a field-specific, repairable `not_dispatched` error instead,
|
|
514
|
+
without coercing values or sending any event from the refused batch.
|
|
515
|
+
|
|
516
|
+
Advertise the accepted boolean/number constructor types separately for each
|
|
517
|
+
input event in live tool listings. Use literal `pressed: false` to release a
|
|
518
|
+
key, mouse button or action; action `strength: 0` does not release it. Retain
|
|
519
|
+
open dictionaries and encoded top-level event compatibility without adding
|
|
520
|
+
required fields or injected defaults, and keep all other tools unchanged.
|
|
521
|
+
|
|
522
|
+
Preserve valid Godot constructor inputs, optional defaults, top-level server
|
|
523
|
+
coercion and ignored application dictionary keys. The generic SDK dictionary
|
|
524
|
+
schema remains unchanged. Existing unknown application effects still require
|
|
525
|
+
computer stop; validation never clears that barrier or replays input.
|
|
526
|
+
|
|
527
|
+
- c8613e0: Clarify Godot input timing in the installed bridge's tool description. Put a
|
|
528
|
+
bounded hold duration on the press event's `delay_after_ms`, or on the release
|
|
529
|
+
event's `delay_before_ms`; a delay after release waits with the input already
|
|
530
|
+
released. Show a 250 ms press-hold-release example and distinguish empty key
|
|
531
|
+
events from waits and composite click's internal `click_delay_ms`.
|
|
532
|
+
|
|
533
|
+
Argument types, defaults, dispatch behavior and pinned upstream source remain
|
|
534
|
+
unchanged. Update an existing guest bridge from the shipped asset while idle,
|
|
535
|
+
then reconfigure normally to load its updated description.
|
|
536
|
+
|
|
537
|
+
- b0b6afa: The Desktop model list writes a GPT display name such as "GPT-5.6-Sol" as "GPT-5.6 Sol", the way the Codex app does. Only names that start with "GPT-" and end in "-<Word>" change; model ids sent to providers, and every other family's labels, are unchanged. Nothing to do on upgrade.
|
|
538
|
+
- e03a000: On Windows, `namzu upgrade` now removes the `namzu.ps1` wrapper that npm writes
|
|
539
|
+
next to `namzu.cmd` after each update (only when it belongs to `@namzu/cli`).
|
|
540
|
+
PowerShell prefers that wrapper and the default execution policy refuses it, so
|
|
541
|
+
without this, typing `namzu` failed with "running scripts is disabled" after
|
|
542
|
+
every upgrade; now it runs `namzu.cmd`. Nothing changes on macOS or Linux. When
|
|
543
|
+
`namzu upgrade` cannot tell which installation it is running from, its message
|
|
544
|
+
now links the installation guide
|
|
545
|
+
(https://github.com/cogitave/namzu/blob/main/docs/cli/installation.md) instead
|
|
546
|
+
of a README section that no longer exists.
|
|
547
|
+
- 7f3b74b: Reset Codex reasoning effort to the selected model's actual native default when
|
|
548
|
+
Default effort is selected, including after a model change. Refuse an omitted
|
|
549
|
+
effort when the native model catalogue supplies no valid default, rather than
|
|
550
|
+
silently retaining a previous turn's effort. Admit the native Codex review modes
|
|
551
|
+
already advertised by its adapter; Claude Code retains its supported Ask first
|
|
552
|
+
and Plan modes.
|
|
553
|
+
|
|
554
|
+
Retain the actual completed native final-answer identity in Codex terminal
|
|
555
|
+
receipts and history reconciliation so successful turns no longer erase
|
|
556
|
+
streamed replies when the terminal notification contains no text.
|
|
557
|
+
|
|
558
|
+
- c1027fb: Add a connected computer observation to `PalSystemPromptOptions.computer`, with the current control mode, so hosts can describe an existing device independently of permission to execute tools.
|
|
559
|
+
|
|
560
|
+
Fix Pal chat composition when the operator holds its connected computer. The Pal now receives its actual connected/control state instead of being told the computer is unavailable. Operator-held chat retains zero guest tools and performs no guest inspection or allocation; Return control admits the existing guest capabilities on the following turn.
|
|
561
|
+
|
|
562
|
+
- 4e5693f: **Continue without this reply** now works in a Pal conversation. The Pal session had no way to close a paused turn, so the Desktop app showed "This connection cannot close paused turns." and left the failed reply in place. Nothing to change on your side. The two refusals a host can still give for a paused reply are now plain sentences.
|
|
563
|
+
- a923f6b: List Pal conversations with one per-call session-index synchronization instead of reopening and synchronizing the entire index for each candidate. Membership, current workspace identity, pinned revision, tenant, project, exact working directory and archive state remain validated from fresh profile and journal reads before the output limit. Standalone membership checks and ordinary-workspace or alias refusals retain their existing behavior.
|
|
564
|
+
- d8d562e: Add `buildPalSystemPrompt` and `PalSystemPromptOptions` for hosts to compose a
|
|
565
|
+
Pal's saved identity, conversational language, public output discipline and
|
|
566
|
+
truthful computer availability. The helper does not acquire execution authority.
|
|
567
|
+
CLI Pal sessions use these shared instructions while retaining their pinned
|
|
568
|
+
model and execution policy. Authenticated name and appearance edits update the
|
|
569
|
+
next turn's display identity without rewriting the original introduction.
|
|
570
|
+
|
|
571
|
+
Add `PalRuntime.admitConversation`, `PalConversationAdmission` and
|
|
572
|
+
`PalRuntime.computerChanging`. Hosts can admit exclusive model-only chat without
|
|
573
|
+
starting a computer, with current pause, cancellation and ownership checks.
|
|
574
|
+
Guest acquisition remains separate and requires the real guarded environment;
|
|
575
|
+
the existing mandatory `admit` contract is unchanged. CLI manual chat supplies
|
|
576
|
+
zero tools while offline or operator-controlled, then adopts the actual guest
|
|
577
|
+
toolset on a later turn after explicit startup or returned control. Directed
|
|
578
|
+
dispatch and checkpoint resume continue to require guest admission.
|
|
579
|
+
The standalone `pal chat` command keeps its existing computer-startup preflight.
|
|
580
|
+
|
|
581
|
+
Add `palConversationGreeting` and `PalConversationGreeting` to reconstruct a
|
|
582
|
+
stable English onboarding prelude from an owned conversation's original profile
|
|
583
|
+
revision. CLI Pal claim and list results expose this separate host-authored
|
|
584
|
+
intro without starting a model request or manufacturing a journal turn.
|
|
585
|
+
Pal desktop history omits explicit assistant commentary and tool-call narration
|
|
586
|
+
from its public display projection while retaining the original journal.
|
|
587
|
+
|
|
588
|
+
- 56d88dc: Restore the existing durable planning tools and bounded task context to Pal computer-work conversations. Tasks survive reopening and checkpoint resume in the same conversation; offline chat remains tool-free and planning does not grant host filesystem or computer access.
|
|
589
|
+
|
|
590
|
+
Use the task tools' compact activity labels for active calls and receipts in terminal and desktop views, including resumed turns.
|
|
591
|
+
|
|
592
|
+
- a08ad64: The terminal app's notices for a provider that cannot use tools, images or documents, and for a repaired conversation history, are now plain sentences that name the provider by product name ("Ollama can’t use tools, so Namzu will only chat while you use it. Switch to another provider to let Namzu work with files and commands.") instead of "Capability warning (tools): Provider 'ollama' does not support tools — 42 registered tool(s) were stripped…". A repaired history says what happened in words, without counts, and the Zen free-model rows read "experimental, and Zen may refuse them". The setup screen and the provider list are reworded the same way and wrap without a stray leading space. The previous wording still appears under `--debug`. Exported transcripts use the new sentences. Scripts that match the old transcript text should match on the new sentences, or run with `--debug`.
|
|
593
|
+
- f74677f: Provider failures and key checks in the desktop app read in plain words. A model the account cannot use no longer blames the key, and an account out of credit, a timeout, a missing model and an oversized message each say what happened. The CLI host's `namzu/providers/test` can now answer an unchecked key with a `cause` (`quota`, `busy`, `down`, `no-answer`); callers that ignore it behave as before. The model list's failure sentences name the provider, and the signed-out Codex message now reads "Codex needs you to sign in with its own account."
|
|
594
|
+
- e447a47: `tool_completed` gains an optional `savedPresentation`: one label line (at most 200
|
|
595
|
+
characters) or a command's first line, never the output, journaled for every call that
|
|
596
|
+
has no diff, and for an external engine's tools from a name map. Nothing existing
|
|
597
|
+
changes: `presentation` keeps its diff and cancelled/declined shapes, and live hosts
|
|
598
|
+
that ignore the new field behave as before. A host that replays history can read
|
|
599
|
+
`presentation ?? savedPresentation` so a reopened conversation names its actions
|
|
600
|
+
instead of showing a placeholder. The desktop host does.
|
|
601
|
+
- 8b9cb0a: Correct regression verification of the skill save confirmation when a long home path wraps the suggested destination label across terminal rows.
|
|
602
|
+
- 800f80f: Launches after the first reuse V8's compiled code for Namzu's own modules, which takes about 100 ms to 150 ms off the interactive terminal and `namzu exec`. The cache is kept in `cache/compile` inside the Namzu home (`~/.namzu`, or `NAMZU_HOME`), and only when that folder already exists; a read-only or unwritable home just runs uncached. Set `NODE_DISABLE_COMPILE_CACHE=1` to turn it off, or `NODE_COMPILE_CACHE=<dir>` to put it somewhere else. Deleting the folder is always safe.
|
|
603
|
+
- ab97512: `namzu --version` and `namzu --help` answer in about 50 ms instead of about 480 ms. The command shell no longer imports every command and `@namzu/sdk` before it parses the command line; each command's module is imported when the command runs. Help text, option choices, exit codes and the output of every command are unchanged (the root help and every subcommand's `--help` were diffed against the previous build).
|
|
604
|
+
|
|
605
|
+
Anything that imported `emitBootNarrative` from the package's internal `cli.js` now finds it in `boot-narrative.js`; it was never part of the package's exports.
|
|
606
|
+
|
|
607
|
+
- d8782dd: The interactive terminal and `namzu exec` start about 150 ms to 250 ms faster. They no longer import `@namzu/sandbox`, `@namzu/browser`, `@namzu/telemetry` and the browser engine just to learn that those packages are installed; the launch-time capability line now reads the packages' manifests, and `@namzu/browser` loads `playwright-core` on the first browser launch instead of when it is imported.
|
|
608
|
+
|
|
609
|
+
One consequence: a capability package that is installed but fails to load is no longer reported at launch (the `namzu.capability.broken` row). It surfaces where the package is first used, and `namzu doctor` still imports each package and reports it. `probeOptionalPackage` takes an optional `{ load: false }` for the manifest-only answer, and `probeCapabilities` uses it by default; nothing a caller of either passed before changes.
|
|
610
|
+
|
|
611
|
+
- e447a47: `task_created` and `task_updated` session events, and the ACP `AcpTask` row, gain an
|
|
612
|
+
optional `activeForm` (what the task reads as while it is being worked on, such as
|
|
613
|
+
"Running the tests"). It is absent when the model gave none, so nothing existing
|
|
614
|
+
changes; a host that ignores it behaves as before. A host that draws a live plan can
|
|
615
|
+
show it beside the task in progress. The desktop host passes it on when it lists a
|
|
616
|
+
session's tasks.
|
|
617
|
+
- 56d88dc: Use the SDK's existing task context selector for interactive task snapshots. Failed tasks closed before the current turn no longer stay open or crowd out pending work; a failed dependency is terminal without being reported as successful. Preserve current-turn outcomes and the original start time during resume.
|
|
618
|
+
- ca8656b: The terminal app and the command line read in plainer words. Nothing about how they behave changes, and exit codes stay as they were (64 for a usage mistake). A script that matches the old text needs the new one:
|
|
619
|
+
|
|
620
|
+
- An argument mistake such as `namzu --effort turbo` no longer prints commander's `error: option '--effort <level>' argument 'turbo' is invalid. Allowed choices are …`. It prints `“turbo” is not a valid value for --effort. Choose one of …`, wrapped at the terminal's width, then `Run namzu --help to see what is available.`; an unknown command reads `Unknown command 'x'.`.
|
|
621
|
+
- A command step in the transcript is headlined from the kernel's typed result (`ToolResult.facts`): `Ran npm test · exited with code 2`, the command's own first and last lines with `… N lines not shown`, no `STDOUT:` labels. A conversation saved before `facts` existed keeps the old reading. A call you declined reads `You declined this, so it did not run.`
|
|
622
|
+
- A picker or prompt prints its key hints once, in its own box, in one vocabulary (`↑↓ select · enter apply · esc back`); the footer under the composer stays quiet while a box is open, and a hint line that is too wide loses whole hints, never half of one.
|
|
623
|
+
- “Turn”, “session”, “checkpoint” and “compaction” no longer appear in what a person reads: replies, conversations and summaries instead (`/config` lists “Reply limits”). Sizes read `48 KB` and `1.2 MB`, counts are pluralised, no millisecond figures are shown, and the app’s errors give a sentence and a next step instead of a pasted message. First-run with no key says `Choose “Enter an API key” below`, and subscription sign-in rows say `uses a one-time code` or `opens your browser`.
|
|
624
|
+
- Person-facing text uses ’ in contractions, never inside code, flags, paths or JSON.
|
|
625
|
+
|
|
626
|
+
The `.tsx` files of the terminal app are now covered by the package's lint and format settings.
|
|
627
|
+
|
|
628
|
+
- e3b84d1: Closing a terminal on Linux now also ends a program that left the terminal's process tree straight away. `setsid` started from an interactive shell forks and exits at once, so the program was reparented before the host could find it and kept running after the terminal closed. Every program started in a terminal now inherits `NAMZU_TERMINAL_ID`, set to the terminal's id, and the host ends this user's processes that still carry it once the terminal has ended. This includes a background service first started from that terminal, such as a `tmux` server or `ssh-agent`, even if another terminal uses it by then. Nothing to change on upgrade; start a program that must outlive its terminal outside it. Windows is unchanged and adds no variable.
|
|
629
|
+
- 12c7682: The terminal app's key lines stay on one row, a cut list says what it hides, and a stopped start reads cleanly. Nothing about what a key does changes. A script that matches the old screen text needs the new one:
|
|
630
|
+
|
|
631
|
+
- The line of keys at the bottom of the provider picker (and every other picker and dialog) is one row at any width, from 40 columns up. Where it used to wrap, it now drops its least important hints or says them short: `↑↓ or 1–9 select` becomes `↑↓ select`, `esc or ctrl+c exit` becomes `esc exit`, `k enter an API key` becomes `k API key`. `↑↓ select`, `enter apply` and the key that leaves stay to the end. The sign-in and key-entry screens put their keys on a line of their own instead of at the end of a sentence.
|
|
632
|
+
- A provider list that is cut to the height of the terminal shows `↓ 3 more` under the last row and `↑ 2 more` above the first, and keeps the row under the cursor in view.
|
|
633
|
+
- A `namzu.config.json` that cannot be read shows its sentence alone, without a leading `·` and without the second "Startup stopped / Resolve the error above, then restart Namzu." block, which stays only under errors that do not say what to do. A screen with no composer no longer prints `shift+tab to cycle` in its footer.
|
|
634
|
+
- Node 22's `ExperimentalWarning: SQLite is an experimental feature and might change at any time` is no longer printed above the banner. Every other Node warning still prints.
|
|
635
|
+
- The slash menu (and the file menu) fits its key line to the width it really has, so `tab complete` no longer wraps at 60 columns or shrinks to a bare `tab` at 40, and a command's description is at most two lines ending in `…` where it goes on, so the menu is no taller than a 40-column terminal. A model list that keeps the current model says `esc keep` rather than losing `enter apply`, and "Could not list models" no longer ends in two full stops.
|
|
636
|
+
- The copy, edit and resume pickers, the permission prompt, the tool-output viewer and the provider-setup screen fit their key line to the room inside the box (two columns narrower than they assumed), so `esc cancel` no longer wraps at 58 to 62 columns and the edit picker keeps `enter` and `esc` at 40.
|
|
637
|
+
|
|
638
|
+
- 5f7bb9b: The terminal app words three more things plainly. A `namzu.config.json` that is not valid JSON now reads "namzu.config.json isn't valid JSON (line 3, column 5). Fix it, then start Namzu again." with the line and column of the mistake; the parser's own wording is shown only with `--debug`. A read, search, write or edit step is headlined from the kernel's typed facts ("Read a.ts", "Searched for x · 2 matches in 2 files", "Edited a.ts +2 −1", "Created n.txt +2") instead of the model's receipt with a full path; conversations saved before those facts existed keep their old text. A provider picker shows its setup key once, in its bottom key line, instead of in a line of its own.
|
|
639
|
+
|
|
640
|
+
If you match the old text of the config error (`<path> is not valid JSON: <parser text>`), match the file name and "isn't valid JSON" instead. `ConfigLoadError.message` for invalid JSON carries the new sentence and the parser's text is on `cause`.
|
|
641
|
+
|
|
642
|
+
- b8831a6: The terminal app reads a `namzu.config.json` (and the user and managed settings files) saved with a leading byte-order mark, which Windows editors add, as if the mark were absent; it used to refuse the file as invalid. A settings file it cannot parse is now named the way a person finds it ("namzu.config.json in this project", `~/.namzu/config.yaml`, or the managed file's path) with the line and column, and the YAML message no longer carries the parser's wording unless you pass `--debug`. The provider list no longer squeezes a source to one character at 40 columns: below 63 columns the source is drawn under the provider's name. In the model list a long model name is no longer cut short to make room for "(current)" and "(default)"; the marks move to the line under it. No setting or flag changes.
|
|
643
|
+
- 899ed00: The terminal app no longer shows a provider's or program's own text where a plain sentence belongs. A model list that could not be fetched says, for example, "OpenAI rejected the saved API key. Press Esc, then k to enter a new key."; a key the provider rejects says so without the provider's message; provider setup shows "Installed · version 0.46.0" or "Couldn’t check Codex. Details: --debug" instead of the program's warning lines; and the folder trust prompt writes the folder with `~` and a middle ellipsis that keeps the last folder whole. A failed model switch or effort check is plain too. The raw text is still available with `--debug`, after "Details:", with the request ID labelled. Nothing to change on your side.
|
|
644
|
+
- bebe135: A tool result can now say what the call did as typed fields, so a host builds what a person sees from fields and not from the model's text. Nothing you already send or receive changes shape, the text the model reads is unchanged, and no code needs to change to upgrade.
|
|
645
|
+
|
|
646
|
+
New and optional: `ToolResult.facts`, a closed union (`ToolFacts`) of a command's exit code and its stdout and stderr as head-and-tail windows (`ToolTextWindow`) or a note that the output was binary, a read's path and size, a search's and a listing's counts, whether a write created, updated or left a file, and the kind of a failure (`ToolFailureReason`). The built-in `bash`, `read`, `grep`, `glob`, `edit` and `write` tools set it, `tool_completed` and the ACP `tool_call` update carry it, a generic `ToolCallView` may carry `facts` for what the call is about, and `admitToolFacts` reads a saved one back. A call refused without running, an unknown tool and a thrown filesystem error also carry a `failure` fact. `execHostShell` additionally returns `stdoutBytes` and `stderrBytes`. A post-tool hook that replaces the output also drops `facts`, so a redaction is never undone.
|
|
647
|
+
|
|
648
|
+
If you build a view of tool output yourself, read these fields instead of the `STDOUT:` and `STDERR:` labels, the "Found 2 match(es)" and "1 replacement(s)" sentences and the notes about withheld credentials or shortened output, which are the model's interface and are not stable text to parse.
|
|
649
|
+
|
|
650
|
+
The Desktop app now words every tool row from those fields (Read a.ts, Searched for export, Ran npm test · failed (exit 3), Couldn't read missing.txt: file not found), draws a command's colours, folds long output to its first and last lines with Show more, says "Binary output, 3 KB" instead of printing the bytes, counts a finished edit in the reply's changes card, shows paths in approvals relative to the project, and leaves "0s" off work that took under a second. The CLI host restores a saved conversation's `facts` (without a command's output) so a reopened row reads the same.
|
|
651
|
+
|
|
652
|
+
- ea9e812: The terminal app now draws in a terminal even when `CI` or similar variables are set in the shell (dev containers, inherited terminal tabs); before, the screen stayed blank until exit. The variables are not changed for the commands the agent runs. Nothing to do on upgrade.
|
|
653
|
+
- f7f48f9: Secure and verify private state and credential files on long Windows paths by passing extended absolute paths to icacls. Keep the existing current-user ACL proof and fail-closed behavior. Project and conversation directory names remain compatible with existing installations.
|
|
654
|
+
- f7f48f9: Fix operator `!command` execution on native Windows by using its platform shell instead of `/bin/sh`. Preserve `/bin/sh` on POSIX, decode split UTF-8 output, refuse pre-aborted launches, and share host process-tree cancellation. Transcript output remains capped at 20,000 characters; a command is also stopped if either stream exceeds 80,000 bytes. Process-start failures now remain visible in the transcript.
|
|
655
|
+
- afd7ba4: Show `namzu.cmd resume` on Windows when the npm command wrapper belongs to the running installation. Keep explicit Node and entrypoint commands for alternate installations and source launches. Scheduled-run resume commands now use PowerShell 5.1-compatible directory changes and quoting on native Windows, preserving the job's project and additional directories.
|
|
656
|
+
|
|
657
|
+
Scheduled-task guidance now distinguishes tool permissions from available tools, local HTML files from artifact services, and cumulative token budgets from context-window size so proposals do not promise unavailable tools or outputs.
|
|
658
|
+
|
|
659
|
+
- Updated dependencies [dd7ee4b]
|
|
660
|
+
- Updated dependencies [4314f90]
|
|
661
|
+
- Updated dependencies [b8852a1]
|
|
662
|
+
- Updated dependencies [7f5ac50]
|
|
663
|
+
- Updated dependencies [7f5ac50]
|
|
664
|
+
- Updated dependencies [56d88dc]
|
|
665
|
+
- Updated dependencies [3727e2b]
|
|
666
|
+
- Updated dependencies [1af4531]
|
|
667
|
+
- Updated dependencies [efb7b06]
|
|
668
|
+
- Updated dependencies [84452ec]
|
|
669
|
+
- Updated dependencies [53aed2a]
|
|
670
|
+
- Updated dependencies [6194bda]
|
|
671
|
+
- Updated dependencies [301f5b3]
|
|
672
|
+
- Updated dependencies [6194bda]
|
|
673
|
+
- Updated dependencies [56d88dc]
|
|
674
|
+
- Updated dependencies [f7f48f9]
|
|
675
|
+
- Updated dependencies [9ef6506]
|
|
676
|
+
- Updated dependencies [56e846c]
|
|
677
|
+
- Updated dependencies [2057fd6]
|
|
678
|
+
- Updated dependencies [c8613e0]
|
|
679
|
+
- Updated dependencies [6f46da3]
|
|
680
|
+
- Updated dependencies [be9f8b6]
|
|
681
|
+
- Updated dependencies [c1027fb]
|
|
682
|
+
- Updated dependencies [24cb6b4]
|
|
683
|
+
- Updated dependencies [b6ea5ca]
|
|
684
|
+
- Updated dependencies [bb0ad2e]
|
|
685
|
+
- Updated dependencies [d5030ca]
|
|
686
|
+
- Updated dependencies [7f5ac50]
|
|
687
|
+
- Updated dependencies [7473449]
|
|
688
|
+
- Updated dependencies [6194bda]
|
|
689
|
+
- Updated dependencies [6f46da3]
|
|
690
|
+
- Updated dependencies [f4b7d1d]
|
|
691
|
+
- Updated dependencies [6ff961f]
|
|
692
|
+
- Updated dependencies [023224a]
|
|
693
|
+
- Updated dependencies [56d88dc]
|
|
694
|
+
- Updated dependencies [7f5ac50]
|
|
695
|
+
- Updated dependencies [6f46da3]
|
|
696
|
+
- Updated dependencies [5e2fb3a]
|
|
697
|
+
- Updated dependencies [c82b951]
|
|
698
|
+
- Updated dependencies [0f5aa96]
|
|
699
|
+
- Updated dependencies [a5dbeb2]
|
|
700
|
+
- Updated dependencies [2d5d18d]
|
|
701
|
+
- Updated dependencies [84a9472]
|
|
702
|
+
- Updated dependencies [c1027fb]
|
|
703
|
+
- Updated dependencies [d8d562e]
|
|
704
|
+
- Updated dependencies [53aed2a]
|
|
705
|
+
- Updated dependencies [81d1721]
|
|
706
|
+
- Updated dependencies [ce52b90]
|
|
707
|
+
- Updated dependencies [84a9472]
|
|
708
|
+
- Updated dependencies [f7f48f9]
|
|
709
|
+
- Updated dependencies [815433f]
|
|
710
|
+
- Updated dependencies [4367edc]
|
|
711
|
+
- Updated dependencies [6ff961f]
|
|
712
|
+
- Updated dependencies [6f46da3]
|
|
713
|
+
- Updated dependencies [f7f48f9]
|
|
714
|
+
- Updated dependencies [4367498]
|
|
715
|
+
- Updated dependencies [7f5ac50]
|
|
716
|
+
- Updated dependencies [ad2273f]
|
|
717
|
+
- Updated dependencies [846557b]
|
|
718
|
+
- Updated dependencies [56d88dc]
|
|
719
|
+
- Updated dependencies [53aed2a]
|
|
720
|
+
- Updated dependencies [12b5af9]
|
|
721
|
+
- Updated dependencies [42ef5e4]
|
|
722
|
+
- Updated dependencies [9d422c6]
|
|
723
|
+
- Updated dependencies [eddf7aa]
|
|
724
|
+
- Updated dependencies [f9f672b]
|
|
725
|
+
- Updated dependencies [fc86c05]
|
|
726
|
+
- Updated dependencies [e447a47]
|
|
727
|
+
- Updated dependencies [093d657]
|
|
728
|
+
- Updated dependencies [57c99b2]
|
|
729
|
+
- Updated dependencies [c590142]
|
|
730
|
+
- Updated dependencies [1fa60b9]
|
|
731
|
+
- Updated dependencies [f0aeb9b]
|
|
732
|
+
- Updated dependencies [5a0a1f7]
|
|
733
|
+
- Updated dependencies [d8782dd]
|
|
734
|
+
- Updated dependencies [3727e2b]
|
|
735
|
+
- Updated dependencies [3727e2b]
|
|
736
|
+
- Updated dependencies [e447a47]
|
|
737
|
+
- Updated dependencies [56d88dc]
|
|
738
|
+
- Updated dependencies [98e8469]
|
|
739
|
+
- Updated dependencies [a2a4b17]
|
|
740
|
+
- Updated dependencies [bebe135]
|
|
741
|
+
- Updated dependencies [f7f48f9]
|
|
742
|
+
- Updated dependencies [4367edc]
|
|
743
|
+
- Updated dependencies [2395a85]
|
|
744
|
+
- Updated dependencies [01b926c]
|
|
745
|
+
- Updated dependencies [4367edc]
|
|
746
|
+
- Updated dependencies [134932b]
|
|
747
|
+
- Updated dependencies [0de3571]
|
|
748
|
+
- @namzu/sdk@50.0.0
|
|
749
|
+
- @namzu/openai@4.1.4
|
|
750
|
+
- @namzu/google@1.1.2
|
|
751
|
+
- @namzu/sandbox@25.0.0
|
|
752
|
+
- @namzu/browser@2.0.1
|
|
753
|
+
- @namzu/anthropic@6.3.0
|
|
754
|
+
- @namzu/zen@4.0.0
|
|
755
|
+
- @namzu/computer-use@3.1.0
|
|
756
|
+
- @namzu/ollama@2.2.5
|
|
757
|
+
- @namzu/openrouter@3.0.3
|
|
758
|
+
|
|
759
|
+
## 35.0.0
|
|
760
|
+
|
|
761
|
+
### Major Changes
|
|
762
|
+
|
|
763
|
+
- b7d83ec: An MCP server that finishes connecting or discovering tools after its startup deadline is now closed after that late result. The configured `connectTimeoutMs` applies to connection and discovery as one budget, rather than allowing each phase the full time separately. Servers whose combined handshake and discovery took longer than the configured deadline but whose individual phases each fit previously connected; raise that server's `connectTimeoutMs` if it needs more time. Timed-out servers remain named failures and cannot leave an unreported live connection behind. Values above Node's maximum timer delay of 2,147,483,647 ms are now refused by server name; lower any such value to that limit or less.
|
|
764
|
+
- b7d83ec: Plugin `user_prompt_submit` annotations now reach the model as user-role request context instead of system instructions. The CLI gives operator shell output and idle background-job exits the same request-context role. Hosts that used these observation channels to issue policy must move that policy to an explicit trusted instruction; the observations remain visible to the model on the current request.
|
|
765
|
+
|
|
766
|
+
The `namzu mcp test` HTTP 401 hint now uses a literal `<name>` placeholder instead of embedding the configured server name in a runnable shell command.
|
|
767
|
+
|
|
768
|
+
- b7d83ec: Memory and saved resident state now reach the model as request-only user-role context rather than system guidance. In the SDK, `createMemoryRecallStep` returns `PrepareStepResult.context` instead of `system`; hosts that read or compose the hook result must use `context` and pass it through the normal preparation chain. Resident continuation, wake evidence, skill catalogues and learned text also move from system `dynamic` or `turn` contributions to `context`; hosts that inspect placements must migrate. `context` contributions now render once before `prepareStep` so their estimated cost reduces preparation headroom; hosts relying on a contribution to observe preparation side effects in the same model step must move that logic to a later stage. The CLI moves file-backed `USER.md` and `MEMORY.md`, its stored-memory index, and automatic recall out of system prompts on new sends, resident turns and resumes. Interactive resident turns now place admitted data in the new `SendOptions.extraContext` request-only field; their fixed doctrine remains in `extraSystem`. Hosts that relied on memory files or resident data as system instructions must pass trusted guidance explicitly. This changes default provider-visible roles and may change model behavior and prompt-cache accounting; request-only context still uses input tokens on each request and the CLI bounds memory against estimated remaining request room.
|
|
769
|
+
- b7d83ec: Plugin MCP server declarations now reject fields they do not implement, including `url`, `headers`, `inheritEnv` and `requireApproval`. Those fields were previously accepted and silently removed while the declared stdio command still started. Remove unsupported fields from `plugin.json` or an in-code plugin; configure a remote server through the host's MCP settings and express approval in host source permissions. Plugin MCP startup now has a ten-second deadline across connection and discovery, configurable with `connectTimeoutMs` up to one hour, and cleans up a failed connection before rolling back the plugin.
|
|
770
|
+
|
|
771
|
+
Hosts supplying `ConfigRegistry` must move plugin reconnect-policy overrides from `mcp.<server-name>` to `mcp.plugin.<plugin-name>.<server-name>`; the old key was shared by unrelated plugins and is no longer read. A `ConfigScope` now has `dispose()` to release its live namespace and watchers while retaining saved overrides. Plugin disable and failed enable release their scopes, and overlapping enable, disable and uninstall calls for one plugin id now settle in call order.
|
|
772
|
+
|
|
773
|
+
Plugin MCP drift is now tracked by full plugin source id rather than bare server name: hosts that relied on a drift event between two unrelated plugins using the same local server label should compare those sources explicitly. The baseline now follows the one admitted listing actually mounted as tools, including reconnect and list-change refreshes; a second startup listing is gone.
|
|
774
|
+
|
|
775
|
+
### Minor Changes
|
|
776
|
+
|
|
777
|
+
- 2b1cbb5: Show running background shells beside the composer and let operators inspect their retained output or stop a shell in `/jobs`. Use `/jobs list` for the previous text summary.
|
|
778
|
+
- b7d83ec: Add `namzu mcp test <name>` to check the effective MCP server selected by the current profile and project. It connects only that server, reports the usable tool count or a safe failure reason, and closes the connection. The working directory must be trusted; pass `--trust` to accept it for this test only. After adding a server, run this command before starting an agent to find connection, authentication or tool discovery problems.
|
|
779
|
+
- 2b1cbb5: Show submitted steering and next-turn messages in the TUI with their text and attachments. Alt+Up recalls the latest authored queued message, and Esc preserves pending input when it interrupts a turn.
|
|
780
|
+
|
|
781
|
+
### Patch Changes
|
|
782
|
+
|
|
783
|
+
- b7d83ec: Malformed `mcpServers` entries with invalid `args`, `env`, `headers`, `inheritEnv`, command, URL or working-directory types now fail by server name. One bad entry no longer aborts a session or prevents earlier successful connections from being closed.
|
|
784
|
+
- b7d83ec: The CLI test runner now uses at most four workers on many-core machines. This prevents healthy session and scheduled-run tests from hitting their wall-clock timeout under heavy test contention; CLI runtime behavior and APIs are unchanged.
|
|
785
|
+
- 2b1cbb5: Hosts can use `QueryParams.onJobNoticeDelivered(jobIds)` to distinguish background job exits recorded for the model from exits that still need delivery on a later turn. The CLI now keeps a late exit pending for the next turn, retains it after a failed or aborted send, and shows its transcript row once.
|
|
786
|
+
- Updated dependencies [b7d83ec]
|
|
787
|
+
- Updated dependencies [b7d83ec]
|
|
788
|
+
- Updated dependencies [2b1cbb5]
|
|
789
|
+
- Updated dependencies [b7d83ec]
|
|
790
|
+
- Updated dependencies [b7d83ec]
|
|
791
|
+
- Updated dependencies [b7d83ec]
|
|
792
|
+
- Updated dependencies [b7d83ec]
|
|
793
|
+
- Updated dependencies [b7d83ec]
|
|
794
|
+
- Updated dependencies [b7d83ec]
|
|
795
|
+
- @namzu/sdk@49.0.0
|
|
796
|
+
- @namzu/browser@2.0.0
|
|
797
|
+
- @namzu/computer-use@3.1.0
|
|
798
|
+
- @namzu/anthropic@6.2.2
|
|
799
|
+
- @namzu/ollama@2.2.5
|
|
800
|
+
- @namzu/openai@4.1.3
|
|
801
|
+
- @namzu/openrouter@3.0.3
|
|
802
|
+
|
|
3
803
|
## 34.1.1
|
|
4
804
|
|
|
5
805
|
### Patch Changes
|