@namzu/cli 35.0.0 → 36.1.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 +764 -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-5CWS2GLJ.js +13448 -0
- package/dist/chunks/acp-5CWS2GLJ.js.map +6 -0
- package/dist/chunks/activity-command-HK7YJTXV.js +262 -0
- package/dist/chunks/activity-command-HK7YJTXV.js.map +6 -0
- package/dist/chunks/add-ULH5DUNX.js +712 -0
- package/dist/chunks/add-ULH5DUNX.js.map +6 -0
- package/dist/chunks/agent-UEK2U3RE.js +87 -0
- package/dist/chunks/agent-UEK2U3RE.js.map +6 -0
- package/dist/chunks/agent-session-V7JRTODS.js +46 -0
- package/dist/chunks/agent-session-V7JRTODS.js.map +6 -0
- package/dist/chunks/archive-C4A3HPLF.js +84 -0
- package/dist/chunks/archive-C4A3HPLF.js.map +6 -0
- package/dist/chunks/bin-main-EEJHRDIC.js +126 -0
- package/dist/chunks/bin-main-EEJHRDIC.js.map +6 -0
- package/dist/chunks/browser-CRX4HM4C.js +31 -0
- package/dist/chunks/browser-CRX4HM4C.js.map +6 -0
- package/dist/chunks/chat-FVBATC4E.js +101 -0
- package/dist/chunks/chat-FVBATC4E.js.map +6 -0
- package/dist/chunks/chunk-2A37JQKY.js +1355 -0
- package/dist/chunks/chunk-2A37JQKY.js.map +6 -0
- package/dist/chunks/chunk-2NJ2XUXJ.js +283 -0
- package/dist/chunks/chunk-2NJ2XUXJ.js.map +6 -0
- package/dist/chunks/chunk-4HAE7PYX.js +74 -0
- package/dist/chunks/chunk-4HAE7PYX.js.map +6 -0
- package/dist/chunks/chunk-5GRV6P5C.js +69 -0
- package/dist/chunks/chunk-5GRV6P5C.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-62I7HLAP.js +1142 -0
- package/dist/chunks/chunk-62I7HLAP.js.map +6 -0
- package/dist/chunks/chunk-63CGV3XY.js +161 -0
- package/dist/chunks/chunk-63CGV3XY.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-6YG7D7U4.js +159 -0
- package/dist/chunks/chunk-6YG7D7U4.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-7WJOQ6EA.js +106 -0
- package/dist/chunks/chunk-7WJOQ6EA.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-A5DWGNGR.js +73 -0
- package/dist/chunks/chunk-A5DWGNGR.js.map +6 -0
- package/dist/chunks/chunk-A5UXODFL.js +76 -0
- package/dist/chunks/chunk-A5UXODFL.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-AIY4PCDR.js +164 -0
- package/dist/chunks/chunk-AIY4PCDR.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-AN7FO7NS.js +247 -0
- package/dist/chunks/chunk-AN7FO7NS.js.map +6 -0
- package/dist/chunks/chunk-AXIGFKJF.js +34 -0
- package/dist/chunks/chunk-AXIGFKJF.js.map +6 -0
- package/dist/chunks/chunk-C5WBEO3X.js +46 -0
- package/dist/chunks/chunk-C5WBEO3X.js.map +6 -0
- package/dist/chunks/chunk-C5XYHYMX.js +675 -0
- package/dist/chunks/chunk-C5XYHYMX.js.map +6 -0
- package/dist/chunks/chunk-CG65NUSJ.js +115 -0
- package/dist/chunks/chunk-CG65NUSJ.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-E5VLANCO.js +101 -0
- package/dist/chunks/chunk-E5VLANCO.js.map +6 -0
- package/dist/chunks/chunk-EBOHVFOB.js +648 -0
- package/dist/chunks/chunk-EBOHVFOB.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-EIYM6TY7.js +1479 -0
- package/dist/chunks/chunk-EIYM6TY7.js.map +6 -0
- package/dist/chunks/chunk-EWKJGHRO.js +82559 -0
- package/dist/chunks/chunk-EWKJGHRO.js.map +6 -0
- package/dist/chunks/chunk-EY7UNVER.js +311 -0
- package/dist/chunks/chunk-EY7UNVER.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-FXS3AG6B.js +25326 -0
- package/dist/chunks/chunk-FXS3AG6B.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-GMCOZ3CU.js +245 -0
- package/dist/chunks/chunk-GMCOZ3CU.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-HBBB2CAC.js +75 -0
- package/dist/chunks/chunk-HBBB2CAC.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-HFJHHCTY.js +303 -0
- package/dist/chunks/chunk-HFJHHCTY.js.map +6 -0
- package/dist/chunks/chunk-HPMWYIBY.js +773 -0
- package/dist/chunks/chunk-HPMWYIBY.js.map +6 -0
- package/dist/chunks/chunk-HQM2WSQT.js +106 -0
- package/dist/chunks/chunk-HQM2WSQT.js.map +6 -0
- package/dist/chunks/chunk-ITZK4B66.js +787 -0
- package/dist/chunks/chunk-ITZK4B66.js.map +6 -0
- package/dist/chunks/chunk-J72CRUNX.js +154 -0
- package/dist/chunks/chunk-J72CRUNX.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-JPPC4LJF.js +271 -0
- package/dist/chunks/chunk-JPPC4LJF.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-K76WV7TN.js +71 -0
- package/dist/chunks/chunk-K76WV7TN.js.map +6 -0
- package/dist/chunks/chunk-KCWUQRZV.js +828 -0
- package/dist/chunks/chunk-KCWUQRZV.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-KU3W6IHV.js +109 -0
- package/dist/chunks/chunk-KU3W6IHV.js.map +6 -0
- package/dist/chunks/chunk-LQMHASKR.js +171 -0
- package/dist/chunks/chunk-LQMHASKR.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-MZP6SH3M.js +3497 -0
- package/dist/chunks/chunk-MZP6SH3M.js.map +6 -0
- package/dist/chunks/chunk-N5IF64K3.js +1858 -0
- package/dist/chunks/chunk-N5IF64K3.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-NQY5P2EB.js +20 -0
- package/dist/chunks/chunk-NQY5P2EB.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-O7DBCVNY.js +110 -0
- package/dist/chunks/chunk-O7DBCVNY.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-OLPOM3DR.js +127 -0
- package/dist/chunks/chunk-OLPOM3DR.js.map +6 -0
- package/dist/chunks/chunk-PYG7DZ2D.js +380 -0
- package/dist/chunks/chunk-PYG7DZ2D.js.map +6 -0
- package/dist/chunks/chunk-Q24K7536.js +661 -0
- package/dist/chunks/chunk-Q24K7536.js.map +6 -0
- package/dist/chunks/chunk-Q5YM2GCX.js +283 -0
- package/dist/chunks/chunk-Q5YM2GCX.js.map +6 -0
- package/dist/chunks/chunk-R7DCDBRN.js +106 -0
- package/dist/chunks/chunk-R7DCDBRN.js.map +6 -0
- package/dist/chunks/chunk-RC6X3ZY6.js +1439 -0
- package/dist/chunks/chunk-RC6X3ZY6.js.map +6 -0
- package/dist/chunks/chunk-SGS435PR.js +11111 -0
- package/dist/chunks/chunk-SGS435PR.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-SRU3MDHZ.js +75 -0
- package/dist/chunks/chunk-SRU3MDHZ.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-THZXXVHM.js +2953 -0
- package/dist/chunks/chunk-THZXXVHM.js.map +6 -0
- package/dist/chunks/chunk-TIGWWAJI.js +765 -0
- package/dist/chunks/chunk-TIGWWAJI.js.map +6 -0
- package/dist/chunks/chunk-UDBEU2FR.js +97 -0
- package/dist/chunks/chunk-UDBEU2FR.js.map +6 -0
- package/dist/chunks/chunk-UOOQPODR.js +257 -0
- package/dist/chunks/chunk-UOOQPODR.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-UWWGSDZ5.js +134 -0
- package/dist/chunks/chunk-UWWGSDZ5.js.map +6 -0
- package/dist/chunks/chunk-UXVYJWN5.js +1373 -0
- package/dist/chunks/chunk-UXVYJWN5.js.map +6 -0
- package/dist/chunks/chunk-V7TQR6AR.js +818 -0
- package/dist/chunks/chunk-V7TQR6AR.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-WATMFOHB.js +319 -0
- package/dist/chunks/chunk-WATMFOHB.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-WM2JEUGV.js +207 -0
- package/dist/chunks/chunk-WM2JEUGV.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-XHOD3RDN.js +517 -0
- package/dist/chunks/chunk-XHOD3RDN.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-ZKEWE6K4.js +399 -0
- package/dist/chunks/chunk-ZKEWE6K4.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-7YAOEJGS.js +129 -0
- package/dist/chunks/cli-runtime-7YAOEJGS.js.map +6 -0
- package/dist/chunks/commands-QPVRB3RK.js +21 -0
- package/dist/chunks/commands-QPVRB3RK.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-S3BTEPYR.js +21 -0
- package/dist/chunks/crash-report-S3BTEPYR.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-3GJFRS2X.js +520 -0
- package/dist/chunks/dist-3GJFRS2X.js.map +6 -0
- package/dist/chunks/dist-BFC7XUCT.js +555 -0
- package/dist/chunks/dist-BFC7XUCT.js.map +6 -0
- package/dist/chunks/dist-ERN5DRKK.js +1415 -0
- package/dist/chunks/dist-ERN5DRKK.js.map +6 -0
- package/dist/chunks/dist-EY3OJBQH.js +1339 -0
- package/dist/chunks/dist-EY3OJBQH.js.map +6 -0
- package/dist/chunks/dist-G42HPNIE.js +514 -0
- package/dist/chunks/dist-G42HPNIE.js.map +6 -0
- package/dist/chunks/dist-SKRHHPUR.js +1018 -0
- package/dist/chunks/dist-SKRHHPUR.js.map +6 -0
- package/dist/chunks/dist-Z47L7ZAJ.js +40654 -0
- package/dist/chunks/dist-Z47L7ZAJ.js.map +6 -0
- package/dist/chunks/doctor-IE3PLXZK.js +28 -0
- package/dist/chunks/doctor-IE3PLXZK.js.map +6 -0
- package/dist/chunks/drain-ESXUKOE6.js +471 -0
- package/dist/chunks/drain-ESXUKOE6.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-53UONRWR.js +187 -0
- package/dist/chunks/eval-53UONRWR.js.map +6 -0
- package/dist/chunks/exec-COV235L5.js +1284 -0
- package/dist/chunks/exec-COV235L5.js.map +6 -0
- package/dist/chunks/home-QS7RBP34.js +16 -0
- package/dist/chunks/home-QS7RBP34.js.map +6 -0
- package/dist/chunks/host-queries-LDEBHKBX.js +152 -0
- package/dist/chunks/host-queries-LDEBHKBX.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-6NF6NJNV.js +63 -0
- package/dist/chunks/lifecycle-6NF6NJNV.js.map +6 -0
- package/dist/chunks/list-DQZU7NEF.js +293 -0
- package/dist/chunks/list-DQZU7NEF.js.map +6 -0
- package/dist/chunks/login-IQGNP5XY.js +29 -0
- package/dist/chunks/login-IQGNP5XY.js.map +6 -0
- package/dist/chunks/logs-KSG7SFAB.js +116 -0
- package/dist/chunks/logs-KSG7SFAB.js.map +6 -0
- package/dist/chunks/mcp-WFXKXGNM.js +763 -0
- package/dist/chunks/mcp-WFXKXGNM.js.map +6 -0
- package/dist/chunks/message-command-O7ZH4I4C.js +170 -0
- package/dist/chunks/message-command-O7ZH4I4C.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-LTPV3CH5.js +115 -0
- package/dist/chunks/operator-tools-LTPV3CH5.js.map +6 -0
- package/dist/chunks/output-schema-UM3P5AOR.js +11 -0
- package/dist/chunks/output-schema-UM3P5AOR.js.map +6 -0
- package/dist/chunks/pal-GBYJHBP3.js +200 -0
- package/dist/chunks/pal-GBYJHBP3.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-J42J2PDA.js +160 -0
- package/dist/chunks/providers-J42J2PDA.js.map +6 -0
- package/dist/chunks/resident-7D6IM5LP.js +1314 -0
- package/dist/chunks/resident-7D6IM5LP.js.map +6 -0
- package/dist/chunks/resume-command-XZWGUXRK.js +22 -0
- package/dist/chunks/resume-command-XZWGUXRK.js.map +6 -0
- package/dist/chunks/schedule-JLIOF3MS.js +143 -0
- package/dist/chunks/schedule-JLIOF3MS.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-YBU5VTKQ.js +1633 -0
- package/dist/chunks/service-YBU5VTKQ.js.map +6 -0
- package/dist/chunks/session-step-2HJSIJNN.js +26 -0
- package/dist/chunks/session-step-2HJSIJNN.js.map +6 -0
- package/dist/chunks/skills-HV2MOBEW.js +282 -0
- package/dist/chunks/skills-HV2MOBEW.js.map +6 -0
- package/dist/chunks/state-6HV3D3O4.js +717 -0
- package/dist/chunks/state-6HV3D3O4.js.map +6 -0
- package/dist/chunks/store-6J2MUGON.js +82 -0
- package/dist/chunks/store-6J2MUGON.js.map +6 -0
- package/dist/chunks/store-GDP2EW27.js +34 -0
- package/dist/chunks/store-GDP2EW27.js.map +6 -0
- package/dist/chunks/store-VXNKMMNW.js +42 -0
- package/dist/chunks/store-VXNKMMNW.js.map +6 -0
- package/dist/chunks/tui-DDWX2WYH.js +56903 -0
- package/dist/chunks/tui-DDWX2WYH.js.map +6 -0
- package/dist/chunks/upgrade-MC5JB7DK.js +315 -0
- package/dist/chunks/upgrade-MC5JB7DK.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-6YPRX6SU.js +116 -0
- package/dist/chunks/worktree-6YPRX6SU.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/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/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/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.map +1 -1
- 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 +21 -3
- 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.map +1 -1
- 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 +3 -0
- package/dist/tui/Transcript.d.ts.map +1 -1
- package/dist/tui/TranscriptScrollView.d.ts +23 -0
- package/dist/tui/TranscriptScrollView.d.ts.map +1 -0
- package/dist/tui/TrustPrompt.d.ts +8 -0
- package/dist/tui/TrustPrompt.d.ts.map +1 -1
- package/dist/tui/agent.d.ts +125 -3
- 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 +4 -1
- 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/transcript-scroll.d.ts +73 -0
- package/dist/tui/transcript-scroll.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 +21 -10
- 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 -461
- 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 -611
- 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 -476
- 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 -8499
- package/dist/tui/App.js.map +0 -1
- package/dist/tui/BackgroundJobsPanel.js +0 -129
- package/dist/tui/BackgroundJobsPanel.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 -939
- 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/PendingInputPanel.js +0 -108
- package/dist/tui/PendingInputPanel.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 -4301
- 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 -1588
- 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
|
@@ -0,0 +1,765 @@
|
|
|
1
|
+
import { createRequire as __namzuCreateRequire } from 'node:module';
|
|
2
|
+
const require = __namzuCreateRequire(import.meta.url);
|
|
3
|
+
import {
|
|
4
|
+
cliProjectRoot
|
|
5
|
+
} from "./chunk-H6B6AROX.js";
|
|
6
|
+
import {
|
|
7
|
+
ensurePrivateStateDirectory,
|
|
8
|
+
publishPrivateJsonIfAbsent
|
|
9
|
+
} from "./chunk-A5UXODFL.js";
|
|
10
|
+
import {
|
|
11
|
+
palAtWorkspace
|
|
12
|
+
} from "./chunk-OLPOM3DR.js";
|
|
13
|
+
import {
|
|
14
|
+
DiskSessionGoalStore,
|
|
15
|
+
DiskSessionLog,
|
|
16
|
+
SessionPaths,
|
|
17
|
+
asSessionId,
|
|
18
|
+
asTenantId,
|
|
19
|
+
asTopicId,
|
|
20
|
+
ensureProject,
|
|
21
|
+
foldSessionMessages,
|
|
22
|
+
generateSessionId,
|
|
23
|
+
generateTenantId,
|
|
24
|
+
isEntityId,
|
|
25
|
+
openSessionIndex,
|
|
26
|
+
readSessionLog,
|
|
27
|
+
resolveNamzuHome
|
|
28
|
+
} from "./chunk-EWKJGHRO.js";
|
|
29
|
+
import {
|
|
30
|
+
__name
|
|
31
|
+
} from "./chunk-76FLAFCG.js";
|
|
32
|
+
|
|
33
|
+
// src/integrations/sessions/store.ts
|
|
34
|
+
import { createHash, randomUUID } from "node:crypto";
|
|
35
|
+
import { lstatSync, mkdirSync } from "node:fs";
|
|
36
|
+
import { lstat, readdir, realpath } from "node:fs/promises";
|
|
37
|
+
import { basename, resolve } from "node:path";
|
|
38
|
+
import { join as join2 } from "node:path";
|
|
39
|
+
import { isDeepStrictEqual } from "node:util";
|
|
40
|
+
|
|
41
|
+
// src/integrations/state/identity.ts
|
|
42
|
+
import { readFileSync } from "node:fs";
|
|
43
|
+
import { join } from "node:path";
|
|
44
|
+
var FILE = "identity.json";
|
|
45
|
+
function readIdentity(home) {
|
|
46
|
+
const path = join(home, FILE);
|
|
47
|
+
try {
|
|
48
|
+
const raw = JSON.parse(readFileSync(path, "utf8"));
|
|
49
|
+
if (raw && !Array.isArray(raw) && typeof raw.tenantId === "string") {
|
|
50
|
+
return {
|
|
51
|
+
tenantId: asTenantId(raw.tenantId),
|
|
52
|
+
createdAt: typeof raw.createdAt === "string" ? raw.createdAt : ""
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
throw new Error("expected an object containing a tenantId string");
|
|
56
|
+
} catch (error) {
|
|
57
|
+
if (error.code !== "ENOENT") {
|
|
58
|
+
throw new Error(
|
|
59
|
+
`${path} is not a readable identity file: ${error instanceof Error ? error.message : String(error)}. Fix or remove it; a new one is minted when it is absent.`
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
__name(readIdentity, "readIdentity");
|
|
66
|
+
function loadIdentity(home) {
|
|
67
|
+
const existing = readIdentity(home);
|
|
68
|
+
if (existing) return existing;
|
|
69
|
+
const path = join(home, FILE);
|
|
70
|
+
const identity = { tenantId: generateTenantId(), createdAt: (/* @__PURE__ */ new Date()).toISOString() };
|
|
71
|
+
publishPrivateJsonIfAbsent(path, identity);
|
|
72
|
+
const published = readIdentity(home);
|
|
73
|
+
if (!published)
|
|
74
|
+
throw new Error(`${path} disappeared while initializing the installation identity`);
|
|
75
|
+
return published;
|
|
76
|
+
}
|
|
77
|
+
__name(loadIdentity, "loadIdentity");
|
|
78
|
+
|
|
79
|
+
// src/integrations/sessions/display-title.ts
|
|
80
|
+
function displayConversationTitle(title) {
|
|
81
|
+
return /^⏲ .+ · .+$/u.test(title) ? `Scheduled: ${title.slice(2)}` : title;
|
|
82
|
+
}
|
|
83
|
+
__name(displayConversationTitle, "displayConversationTitle");
|
|
84
|
+
var ATTACHMENT_BLOCK = /(?:^|\n\n)Attached (?:text file|image): ("(?:[^"\\\n]|\\.)*")/u;
|
|
85
|
+
function typedTextOf(content) {
|
|
86
|
+
const match = ATTACHMENT_BLOCK.exec(content);
|
|
87
|
+
if (!match) return { text: content };
|
|
88
|
+
let firstFile;
|
|
89
|
+
try {
|
|
90
|
+
const parsed = JSON.parse(match[1] ?? "");
|
|
91
|
+
if (typeof parsed === "string" && parsed) firstFile = parsed;
|
|
92
|
+
} catch {
|
|
93
|
+
}
|
|
94
|
+
return { text: content.slice(0, match.index), ...firstFile ? { firstFile } : {} };
|
|
95
|
+
}
|
|
96
|
+
__name(typedTextOf, "typedTextOf");
|
|
97
|
+
|
|
98
|
+
// src/integrations/sessions/store.ts
|
|
99
|
+
var CLI_AGENT = { id: "namzu-cli", name: "Namzu" };
|
|
100
|
+
var LEASE_WAIT_MS = 5e3;
|
|
101
|
+
var LEASE_POLL_MS = 25;
|
|
102
|
+
var LEASE_TTL_MS = 3e4;
|
|
103
|
+
async function openSessionScope(cwd, options = {}) {
|
|
104
|
+
const workingDirectory = await realpath(resolve(cwd));
|
|
105
|
+
const root = resolve(
|
|
106
|
+
options.stateRoot ?? resolveNamzuHome({
|
|
107
|
+
...options.home !== void 0 ? { home: options.home } : {},
|
|
108
|
+
...options.env !== void 0 ? { env: options.env } : {}
|
|
109
|
+
})
|
|
110
|
+
);
|
|
111
|
+
mkdirSync(root, { recursive: true });
|
|
112
|
+
const tenantId = loadIdentity(root).tenantId;
|
|
113
|
+
const projectsDir = ensurePrivateStateDirectory(root, "projects");
|
|
114
|
+
const pal = palAtWorkspace(cwd, root);
|
|
115
|
+
const palDirectory = pal ? lstatSync(pal.workspace, { bigint: true }) : void 0;
|
|
116
|
+
const project = await ensureProject({
|
|
117
|
+
home: root,
|
|
118
|
+
cwd: pal ? workingDirectory : cliProjectRoot(workingDirectory)
|
|
119
|
+
});
|
|
120
|
+
if (pal && palDirectory) {
|
|
121
|
+
if (project.cwd !== pal.workspace && (process.platform !== "win32" || project.cwd.toLowerCase() !== pal.workspace.toLowerCase()))
|
|
122
|
+
throw new Error("Pal workspace identity changed while opening its conversations.");
|
|
123
|
+
const preparedDirectory = await lstat(project.cwd, { bigint: true });
|
|
124
|
+
const current = palAtWorkspace(cwd, root);
|
|
125
|
+
const liveDirectory = current ? lstatSync(current.workspace, { bigint: true }) : void 0;
|
|
126
|
+
const sameDirectory = /* @__PURE__ */ __name((entry) => entry?.isDirectory() && !entry.isSymbolicLink() && palDirectory.ino > 0n && entry.dev === palDirectory.dev && entry.ino === palDirectory.ino && entry.birthtimeNs === palDirectory.birthtimeNs, "sameDirectory");
|
|
127
|
+
if (!current || current.id !== pal.id || current.workspace !== pal.workspace || !sameDirectory(preparedDirectory) || !sameDirectory(liveDirectory))
|
|
128
|
+
throw new Error("Pal workspace identity changed while opening its conversations.");
|
|
129
|
+
}
|
|
130
|
+
ensurePrivateStateDirectory(projectsDir, project.slug);
|
|
131
|
+
const paths = new SessionPaths({ home: root, slug: project.slug });
|
|
132
|
+
const partial = {
|
|
133
|
+
root,
|
|
134
|
+
paths,
|
|
135
|
+
slug: project.slug,
|
|
136
|
+
projectRoot: pal?.workspace ?? project.cwd,
|
|
137
|
+
projectId: project.projectId,
|
|
138
|
+
topicId: topicIdFor(project.projectId),
|
|
139
|
+
tenantId
|
|
140
|
+
};
|
|
141
|
+
const store = {
|
|
142
|
+
getSession: /* @__PURE__ */ __name((sessionId, tenant) => readSessionEntity(partial, sessionId, tenant), "getSession")
|
|
143
|
+
};
|
|
144
|
+
return { ...partial, store };
|
|
145
|
+
}
|
|
146
|
+
__name(openSessionScope, "openSessionScope");
|
|
147
|
+
async function openSessions(cwd, options = {}) {
|
|
148
|
+
const scope = await openSessionScope(cwd, options);
|
|
149
|
+
const index = await openSessionIndex({
|
|
150
|
+
home: scope.root,
|
|
151
|
+
...options.indexBackend ? { backend: options.indexBackend } : {}
|
|
152
|
+
});
|
|
153
|
+
return {
|
|
154
|
+
...scope,
|
|
155
|
+
index,
|
|
156
|
+
goals: new DiskSessionGoalStore({ rootDir: scope.paths.projectDir(), sessions: scope.store })
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
__name(openSessions, "openSessions");
|
|
160
|
+
function closeSessions(s) {
|
|
161
|
+
try {
|
|
162
|
+
s.index.close();
|
|
163
|
+
} catch {
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
__name(closeSessions, "closeSessions");
|
|
167
|
+
function topicIdFor(projectId) {
|
|
168
|
+
const digest = createHash("sha256").update(`namzu:cli-topic:${projectId}`).digest("hex");
|
|
169
|
+
return asTopicId(
|
|
170
|
+
`${digest.slice(0, 8)}-${digest.slice(8, 12)}-8${digest.slice(13, 16)}-a${digest.slice(17, 20)}-${digest.slice(20, 32)}`
|
|
171
|
+
);
|
|
172
|
+
}
|
|
173
|
+
__name(topicIdFor, "topicIdFor");
|
|
174
|
+
function conversationLogPath(s, sessionId) {
|
|
175
|
+
return s.paths.sessionLog({ sessionId });
|
|
176
|
+
}
|
|
177
|
+
__name(conversationLogPath, "conversationLogPath");
|
|
178
|
+
function openConversationLog(s, sessionId) {
|
|
179
|
+
return DiskSessionLog.at(s.paths, { sessionId });
|
|
180
|
+
}
|
|
181
|
+
__name(openConversationLog, "openConversationLog");
|
|
182
|
+
function holderName() {
|
|
183
|
+
return `namzu-cli:${process.pid}:${randomUUID()}`;
|
|
184
|
+
}
|
|
185
|
+
__name(holderName, "holderName");
|
|
186
|
+
async function claimLease(log, op) {
|
|
187
|
+
const deadline = Date.now() + LEASE_WAIT_MS;
|
|
188
|
+
const holder = holderName();
|
|
189
|
+
for (; ; ) {
|
|
190
|
+
const lease = await log.claim({ holder, ttlMs: LEASE_TTL_MS });
|
|
191
|
+
if (lease) return lease;
|
|
192
|
+
if (Date.now() >= deadline) {
|
|
193
|
+
throw new Error(
|
|
194
|
+
`Conversation ${log.sessionId} is busy: another writer holds it \u2014 ${op} rejected. Wait for its turn to finish and try again.`
|
|
195
|
+
);
|
|
196
|
+
}
|
|
197
|
+
await new Promise((resolveWait) => setTimeout(resolveWait, LEASE_POLL_MS));
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
__name(claimLease, "claimLease");
|
|
201
|
+
async function appendOutsideTurn(s, sessionId, drafts, op) {
|
|
202
|
+
const log = openConversationLog(s, sessionId);
|
|
203
|
+
const lease = await claimLease(log, op);
|
|
204
|
+
try {
|
|
205
|
+
for (const draft of drafts) await log.append(lease, draft);
|
|
206
|
+
} finally {
|
|
207
|
+
await log.release(lease);
|
|
208
|
+
}
|
|
209
|
+
await refreshIndex(s, sessionId);
|
|
210
|
+
}
|
|
211
|
+
__name(appendOutsideTurn, "appendOutsideTurn");
|
|
212
|
+
async function refreshIndex(s, sessionId) {
|
|
213
|
+
await s.index.refresh({ slug: s.slug, logPath: conversationLogPath(s, sessionId), sessionId });
|
|
214
|
+
}
|
|
215
|
+
__name(refreshIndex, "refreshIndex");
|
|
216
|
+
async function readConversationFacts(s, sessionId, mode = "strict") {
|
|
217
|
+
const read = await readSessionLog(conversationLogPath(s, sessionId), { mode, sessionId });
|
|
218
|
+
const records = read.entries.map((entry) => entry.record);
|
|
219
|
+
const first = records[0];
|
|
220
|
+
if (first === void 0 || first.type !== "session_started") return null;
|
|
221
|
+
let title;
|
|
222
|
+
let named = false;
|
|
223
|
+
let archived = false;
|
|
224
|
+
let active;
|
|
225
|
+
for (const record of records) {
|
|
226
|
+
switch (record.type) {
|
|
227
|
+
case "session_updated":
|
|
228
|
+
if (record.title !== void 0) {
|
|
229
|
+
title = record.title;
|
|
230
|
+
named = record.titleSource === "named" && record.title.length > 0;
|
|
231
|
+
}
|
|
232
|
+
if (record.archived !== void 0) archived = record.archived;
|
|
233
|
+
break;
|
|
234
|
+
case "turn_started":
|
|
235
|
+
active = { turnId: record.turnId, paused: false };
|
|
236
|
+
break;
|
|
237
|
+
case "turn_paused":
|
|
238
|
+
if (active?.turnId === record.turnId) active = { ...active, paused: true };
|
|
239
|
+
break;
|
|
240
|
+
case "turn_resuming":
|
|
241
|
+
if (active?.turnId === record.turnId) active = { ...active, paused: false };
|
|
242
|
+
break;
|
|
243
|
+
case "turn_completed":
|
|
244
|
+
case "turn_failed":
|
|
245
|
+
if (active?.turnId === record.turnId) active = void 0;
|
|
246
|
+
break;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
return {
|
|
250
|
+
sessionId,
|
|
251
|
+
started: first,
|
|
252
|
+
...title !== void 0 ? { title } : {},
|
|
253
|
+
named,
|
|
254
|
+
archived,
|
|
255
|
+
createdAt: first.ts,
|
|
256
|
+
updatedAt: records.at(-1)?.ts ?? first.ts,
|
|
257
|
+
...active ? { activeTurn: active } : {},
|
|
258
|
+
records
|
|
259
|
+
};
|
|
260
|
+
}
|
|
261
|
+
__name(readConversationFacts, "readConversationFacts");
|
|
262
|
+
async function foldConversation(s, sessionId, records) {
|
|
263
|
+
const log = openConversationLog(s, sessionId);
|
|
264
|
+
return await foldSessionMessages(records, { readSpill: /* @__PURE__ */ __name((ref) => log.readSpill(ref), "readSpill") });
|
|
265
|
+
}
|
|
266
|
+
__name(foldConversation, "foldConversation");
|
|
267
|
+
async function readSessionEntity(s, sessionId, tenantId) {
|
|
268
|
+
if (!isEntityId(sessionId, "session")) return null;
|
|
269
|
+
const facts = await readConversationFacts(s, sessionId, "tolerant");
|
|
270
|
+
if (!facts) return null;
|
|
271
|
+
const recordedTenant = facts.started.tenantId;
|
|
272
|
+
if (recordedTenant !== void 0 && recordedTenant !== tenantId) return null;
|
|
273
|
+
return {
|
|
274
|
+
id: sessionId,
|
|
275
|
+
topicId: facts.started.topicId ?? topicIdFor(facts.started.projectId),
|
|
276
|
+
projectId: facts.started.projectId,
|
|
277
|
+
tenantId,
|
|
278
|
+
status: facts.archived ? "archived" : "idle",
|
|
279
|
+
currentActor: null,
|
|
280
|
+
previousActors: [],
|
|
281
|
+
workspaceId: null,
|
|
282
|
+
ownerVersion: 0,
|
|
283
|
+
createdAt: new Date(facts.createdAt),
|
|
284
|
+
updatedAt: new Date(facts.updatedAt)
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
__name(readSessionEntity, "readSessionEntity");
|
|
288
|
+
async function startConversation(s, idOrOptions) {
|
|
289
|
+
const options = typeof idOrOptions === "string" ? { id: idOrOptions } : idOrOptions ?? {};
|
|
290
|
+
const id = options.id ?? generateSessionId();
|
|
291
|
+
const log = openConversationLog(s, id);
|
|
292
|
+
const lease = await claimLease(log, "start conversation");
|
|
293
|
+
try {
|
|
294
|
+
if (await log.head() !== null) {
|
|
295
|
+
throw new Error(`Conversation ${id} already exists \u2014 start conversation rejected.`);
|
|
296
|
+
}
|
|
297
|
+
await log.append(lease, {
|
|
298
|
+
type: "session_started",
|
|
299
|
+
projectId: s.projectId,
|
|
300
|
+
tenantId: s.tenantId,
|
|
301
|
+
topicId: s.topicId,
|
|
302
|
+
cwd: s.projectRoot,
|
|
303
|
+
agent: { ...CLI_AGENT },
|
|
304
|
+
origin: options.origin ?? { protocol: "cli" }
|
|
305
|
+
});
|
|
306
|
+
} finally {
|
|
307
|
+
await log.release(lease);
|
|
308
|
+
}
|
|
309
|
+
await refreshIndex(s, id);
|
|
310
|
+
return id;
|
|
311
|
+
}
|
|
312
|
+
__name(startConversation, "startConversation");
|
|
313
|
+
async function ensureSessionStarted(log, session) {
|
|
314
|
+
if (await log.head() !== null) return;
|
|
315
|
+
const lease = await claimLease(log, "start session");
|
|
316
|
+
try {
|
|
317
|
+
if (await log.head() !== null) return;
|
|
318
|
+
await log.append(lease, {
|
|
319
|
+
type: "session_started",
|
|
320
|
+
projectId: session.projectId,
|
|
321
|
+
tenantId: session.tenantId,
|
|
322
|
+
topicId: session.topicId,
|
|
323
|
+
cwd: session.cwd,
|
|
324
|
+
agent: { ...session.agent },
|
|
325
|
+
origin: session.origin ?? { protocol: "cli" }
|
|
326
|
+
});
|
|
327
|
+
} finally {
|
|
328
|
+
await log.release(lease);
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
__name(ensureSessionStarted, "ensureSessionStarted");
|
|
332
|
+
function desktopExternalId(projectId, key) {
|
|
333
|
+
return JSON.stringify([projectId, key]);
|
|
334
|
+
}
|
|
335
|
+
__name(desktopExternalId, "desktopExternalId");
|
|
336
|
+
async function resolveConversation(s, key) {
|
|
337
|
+
const existing = await findMappedConversation(s, key);
|
|
338
|
+
if (existing) {
|
|
339
|
+
await requireWritableConversation(s, existing, "continue keyed conversation");
|
|
340
|
+
return existing;
|
|
341
|
+
}
|
|
342
|
+
const id = await startConversation(s, {
|
|
343
|
+
origin: { protocol: "desktop", externalSessionId: desktopExternalId(s.projectId, key) }
|
|
344
|
+
});
|
|
345
|
+
const winner = await findMappedConversation(s, key);
|
|
346
|
+
if (winner && winner !== id) {
|
|
347
|
+
await archiveConversation(s, id).catch(() => void 0);
|
|
348
|
+
await requireWritableConversation(s, winner, "continue keyed conversation");
|
|
349
|
+
return winner;
|
|
350
|
+
}
|
|
351
|
+
return id;
|
|
352
|
+
}
|
|
353
|
+
__name(resolveConversation, "resolveConversation");
|
|
354
|
+
async function findMappedConversation(s, key) {
|
|
355
|
+
const target = await s.index.resolveExternal(
|
|
356
|
+
"desktop",
|
|
357
|
+
"session",
|
|
358
|
+
desktopExternalId(s.projectId, key)
|
|
359
|
+
);
|
|
360
|
+
if (!target) return null;
|
|
361
|
+
const facts = await readConversationFacts(s, target.sessionId, "tolerant");
|
|
362
|
+
return facts?.started.projectId === s.projectId ? target.sessionId : null;
|
|
363
|
+
}
|
|
364
|
+
__name(findMappedConversation, "findMappedConversation");
|
|
365
|
+
async function requireConversationInScope(s, sessionId, op) {
|
|
366
|
+
const facts = await readConversationFacts(s, sessionId);
|
|
367
|
+
if (!facts) {
|
|
368
|
+
throw new Error(`Conversation ${sessionId} was not found \u2014 ${op} rejected`);
|
|
369
|
+
}
|
|
370
|
+
if (facts.started.projectId !== s.projectId || facts.started.tenantId !== void 0 && facts.started.tenantId !== s.tenantId) {
|
|
371
|
+
throw new Error(`Conversation ${sessionId} does not belong to this workspace \u2014 ${op} rejected`);
|
|
372
|
+
}
|
|
373
|
+
return facts;
|
|
374
|
+
}
|
|
375
|
+
__name(requireConversationInScope, "requireConversationInScope");
|
|
376
|
+
async function requireWritableConversation(s, sessionId, op = "continue conversation") {
|
|
377
|
+
const facts = await requireConversationInScope(s, sessionId, op);
|
|
378
|
+
assertWritableConversation(facts, sessionId, op);
|
|
379
|
+
}
|
|
380
|
+
__name(requireWritableConversation, "requireWritableConversation");
|
|
381
|
+
function assertWritableConversation(facts, sessionId, op) {
|
|
382
|
+
if (facts.archived) {
|
|
383
|
+
throw new Error(
|
|
384
|
+
`Conversation ${sessionId} is archived and read-only \u2014 ${op} rejected. Its history remains available for inspection.`
|
|
385
|
+
);
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
__name(assertWritableConversation, "assertWritableConversation");
|
|
389
|
+
async function setConversationArchived(s, sessionId, archived) {
|
|
390
|
+
const op = archived ? "archive conversation" : "restore conversation";
|
|
391
|
+
await requireConversationInScope(s, sessionId, op);
|
|
392
|
+
const log = openConversationLog(s, sessionId);
|
|
393
|
+
const lease = await claimLease(log, op);
|
|
394
|
+
let changed = false;
|
|
395
|
+
try {
|
|
396
|
+
const facts = await requireConversationInScope(s, sessionId, op);
|
|
397
|
+
if (facts.archived === archived) {
|
|
398
|
+
throw new Error(`Conversation ${sessionId} is already ${archived ? "archived" : "active"}.`);
|
|
399
|
+
}
|
|
400
|
+
if (archived && facts.activeTurn) {
|
|
401
|
+
throw new Error(
|
|
402
|
+
`Conversation ${sessionId} has an open turn \u2014 ${op} rejected. Resume or abandon that turn first.`
|
|
403
|
+
);
|
|
404
|
+
}
|
|
405
|
+
await log.append(lease, { type: "session_updated", archived });
|
|
406
|
+
changed = true;
|
|
407
|
+
} finally {
|
|
408
|
+
await log.release(lease);
|
|
409
|
+
}
|
|
410
|
+
if (changed) {
|
|
411
|
+
try {
|
|
412
|
+
await refreshIndex(s, sessionId);
|
|
413
|
+
} catch (refreshCause) {
|
|
414
|
+
try {
|
|
415
|
+
await s.index.sync(s.root);
|
|
416
|
+
} catch (syncCause) {
|
|
417
|
+
throw new ConversationIndexRefreshError(sessionId, archived, refreshCause, syncCause);
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
__name(setConversationArchived, "setConversationArchived");
|
|
423
|
+
var ConversationIndexRefreshError = class extends Error {
|
|
424
|
+
constructor(sessionId, archived, refreshCause, syncCause) {
|
|
425
|
+
super(
|
|
426
|
+
`Conversation ${sessionId} was ${archived ? "archived" : "restored"} in its durable log, but the list index could not refresh. Restart Namzu to rebuild the list, then inspect its state.`
|
|
427
|
+
);
|
|
428
|
+
this.sessionId = sessionId;
|
|
429
|
+
this.archived = archived;
|
|
430
|
+
this.refreshCause = refreshCause;
|
|
431
|
+
this.syncCause = syncCause;
|
|
432
|
+
this.name = "ConversationIndexRefreshError";
|
|
433
|
+
}
|
|
434
|
+
sessionId;
|
|
435
|
+
archived;
|
|
436
|
+
refreshCause;
|
|
437
|
+
syncCause;
|
|
438
|
+
static {
|
|
439
|
+
__name(this, "ConversationIndexRefreshError");
|
|
440
|
+
}
|
|
441
|
+
};
|
|
442
|
+
async function archiveConversation(s, sessionId) {
|
|
443
|
+
await setConversationArchived(s, sessionId, true);
|
|
444
|
+
}
|
|
445
|
+
__name(archiveConversation, "archiveConversation");
|
|
446
|
+
async function unarchiveConversation(s, sessionId) {
|
|
447
|
+
await setConversationArchived(s, sessionId, false);
|
|
448
|
+
}
|
|
449
|
+
__name(unarchiveConversation, "unarchiveConversation");
|
|
450
|
+
async function loadConversation(s, sessionId) {
|
|
451
|
+
return (await loadConversationSnapshot(s, sessionId)).messages;
|
|
452
|
+
}
|
|
453
|
+
__name(loadConversation, "loadConversation");
|
|
454
|
+
async function loadConversationSnapshot(s, sessionId) {
|
|
455
|
+
const facts = await requireConversationInScope(s, sessionId, "load conversation history");
|
|
456
|
+
return {
|
|
457
|
+
messages: await foldConversation(s, sessionId, facts.records),
|
|
458
|
+
records: facts.records
|
|
459
|
+
};
|
|
460
|
+
}
|
|
461
|
+
__name(loadConversationSnapshot, "loadConversationSnapshot");
|
|
462
|
+
async function loadResumableConversation(s, sessionId) {
|
|
463
|
+
const checked = asSessionId(sessionId);
|
|
464
|
+
const facts = await requireConversationInScope(s, checked, "resume conversation");
|
|
465
|
+
assertWritableConversation(facts, checked, "resume conversation");
|
|
466
|
+
return await foldConversation(s, checked, facts.records);
|
|
467
|
+
}
|
|
468
|
+
__name(loadResumableConversation, "loadResumableConversation");
|
|
469
|
+
async function activeConversationTurn(s, sessionId) {
|
|
470
|
+
return (await requireConversationInScope(s, sessionId, "inspect conversation")).activeTurn;
|
|
471
|
+
}
|
|
472
|
+
__name(activeConversationTurn, "activeConversationTurn");
|
|
473
|
+
async function listRecent(s, limit = 20) {
|
|
474
|
+
return listConversations(s, false, limit);
|
|
475
|
+
}
|
|
476
|
+
__name(listRecent, "listRecent");
|
|
477
|
+
async function listArchived(s, limit = 100, offset = 0) {
|
|
478
|
+
await refreshProjectArchiveIndex(s);
|
|
479
|
+
return listConversations(s, true, limit, offset);
|
|
480
|
+
}
|
|
481
|
+
__name(listArchived, "listArchived");
|
|
482
|
+
var archiveListingRefreshes = /* @__PURE__ */ new WeakMap();
|
|
483
|
+
async function refreshProjectArchiveIndex(s) {
|
|
484
|
+
if (s.index.backend !== "scan") return;
|
|
485
|
+
let pending = archiveListingRefreshes.get(s.index);
|
|
486
|
+
if (!pending) {
|
|
487
|
+
pending = (async () => {
|
|
488
|
+
const entries = await readdir(s.paths.projectDir(), { withFileTypes: true });
|
|
489
|
+
for (const entry of entries) {
|
|
490
|
+
if (!entry.isFile() || !entry.name.endsWith(".jsonl")) continue;
|
|
491
|
+
const rawId = entry.name.slice(0, -".jsonl".length);
|
|
492
|
+
if (!isEntityId(rawId, "session")) continue;
|
|
493
|
+
const sessionId = asSessionId(rawId);
|
|
494
|
+
await s.index.refresh({
|
|
495
|
+
slug: s.slug,
|
|
496
|
+
logPath: conversationLogPath(s, sessionId),
|
|
497
|
+
sessionId
|
|
498
|
+
});
|
|
499
|
+
}
|
|
500
|
+
})().finally(() => {
|
|
501
|
+
archiveListingRefreshes.delete(s.index);
|
|
502
|
+
});
|
|
503
|
+
archiveListingRefreshes.set(s.index, pending);
|
|
504
|
+
}
|
|
505
|
+
await pending;
|
|
506
|
+
}
|
|
507
|
+
__name(refreshProjectArchiveIndex, "refreshProjectArchiveIndex");
|
|
508
|
+
async function listConversations(s, archived, limit, offset = 0) {
|
|
509
|
+
const boundedLimit = Number.isFinite(limit) ? Math.max(0, Math.min(Math.floor(limit), 100)) : 100;
|
|
510
|
+
const boundedOffset = Number.isSafeInteger(offset) && offset > 0 ? offset : 0;
|
|
511
|
+
if (boundedLimit === 0) return [];
|
|
512
|
+
const rows = (await s.index.listSessions({
|
|
513
|
+
slug: s.slug,
|
|
514
|
+
rootsOnly: true,
|
|
515
|
+
includeArchived: archived
|
|
516
|
+
})).filter((row) => row.projectId === s.projectId && row.archived === archived).sort((a, b) => b.updatedAt.localeCompare(a.updatedAt)).slice(boundedOffset, boundedOffset + Math.max(100, boundedLimit * 5));
|
|
517
|
+
const out = [];
|
|
518
|
+
for (const row of rows) {
|
|
519
|
+
let facts;
|
|
520
|
+
let messages;
|
|
521
|
+
try {
|
|
522
|
+
facts = await readConversationFacts(s, row.id, "tolerant");
|
|
523
|
+
if (!facts || facts.archived !== archived || facts.started.projectId !== s.projectId || facts.started.tenantId !== void 0 && facts.started.tenantId !== s.tenantId)
|
|
524
|
+
continue;
|
|
525
|
+
messages = await foldConversation(s, row.id, facts.records);
|
|
526
|
+
} catch {
|
|
527
|
+
continue;
|
|
528
|
+
}
|
|
529
|
+
if (!archived && messages.length === 0) continue;
|
|
530
|
+
const everything = recordedMessages(facts.records);
|
|
531
|
+
out.push({
|
|
532
|
+
id: row.id,
|
|
533
|
+
title: displayTitleOf(facts),
|
|
534
|
+
preview: [...everything].reverse().find(
|
|
535
|
+
(message) => message.role === "user" && message.source === void 0
|
|
536
|
+
)?.content.replace(/\s+/g, " ").trim().slice(0, 240),
|
|
537
|
+
named: facts.named,
|
|
538
|
+
updatedAt: facts.updatedAt,
|
|
539
|
+
count: messages.length
|
|
540
|
+
});
|
|
541
|
+
if (out.length >= boundedLimit) break;
|
|
542
|
+
}
|
|
543
|
+
return out.sort((a, b) => b.updatedAt.localeCompare(a.updatedAt));
|
|
544
|
+
}
|
|
545
|
+
__name(listConversations, "listConversations");
|
|
546
|
+
async function titleOf(s, sessionId) {
|
|
547
|
+
const facts = await readConversationFacts(s, sessionId, "tolerant");
|
|
548
|
+
return facts?.named ? facts.title : void 0;
|
|
549
|
+
}
|
|
550
|
+
__name(titleOf, "titleOf");
|
|
551
|
+
async function setTitle(s, sessionId, title) {
|
|
552
|
+
await requireConversationInScope(s, sessionId, "name conversation");
|
|
553
|
+
const trimmed = title.trim();
|
|
554
|
+
await appendOutsideTurn(
|
|
555
|
+
s,
|
|
556
|
+
sessionId,
|
|
557
|
+
[
|
|
558
|
+
trimmed === "" ? { type: "session_updated", title: "", titleSource: "derived" } : { type: "session_updated", title: trimmed, titleSource: "named" }
|
|
559
|
+
],
|
|
560
|
+
"name conversation"
|
|
561
|
+
);
|
|
562
|
+
}
|
|
563
|
+
__name(setTitle, "setTitle");
|
|
564
|
+
async function seedConversationHistory(s, sessionId, messages, strategy = "fork") {
|
|
565
|
+
if (messages.length === 0) return;
|
|
566
|
+
await appendOutsideTurn(
|
|
567
|
+
s,
|
|
568
|
+
sessionId,
|
|
569
|
+
[
|
|
570
|
+
{
|
|
571
|
+
type: "compaction",
|
|
572
|
+
compactionId: randomUUID(),
|
|
573
|
+
strategy,
|
|
574
|
+
trigger: "manual",
|
|
575
|
+
replacesSeqRange: [1, 1],
|
|
576
|
+
summary: [...messages],
|
|
577
|
+
keptMessageIds: [],
|
|
578
|
+
tokensBefore: 0,
|
|
579
|
+
tokensAfter: 0
|
|
580
|
+
}
|
|
581
|
+
],
|
|
582
|
+
"seed conversation history"
|
|
583
|
+
);
|
|
584
|
+
}
|
|
585
|
+
__name(seedConversationHistory, "seedConversationHistory");
|
|
586
|
+
async function forkConversation(s, sourceId) {
|
|
587
|
+
await requireWritableConversation(s, sourceId, "fork conversation");
|
|
588
|
+
const messages = await loadConversation(s, sourceId);
|
|
589
|
+
if (messages.length === 0) {
|
|
590
|
+
throw new Error("There is nothing to fork yet \u2014 this conversation has no messages.");
|
|
591
|
+
}
|
|
592
|
+
const { id, title } = await writeFork(s, s, sourceId, messages, messages);
|
|
593
|
+
return { id, title, copied: messages.length };
|
|
594
|
+
}
|
|
595
|
+
__name(forkConversation, "forkConversation");
|
|
596
|
+
async function forkConversationInto(source, target, sourceId) {
|
|
597
|
+
if (source.root !== target.root || source.tenantId !== target.tenantId) {
|
|
598
|
+
throw new Error("A conversation can only be forked within the same Namzu installation.");
|
|
599
|
+
}
|
|
600
|
+
const facts = await requireConversationInScope(source, sourceId, "fork conversation to worktree");
|
|
601
|
+
if (facts.archived) {
|
|
602
|
+
throw new Error(`Conversation ${sourceId} is archived and cannot be forked.`);
|
|
603
|
+
}
|
|
604
|
+
if (facts.activeTurn) {
|
|
605
|
+
throw new Error("Wait for the current turn to finish before forking to a worktree.");
|
|
606
|
+
}
|
|
607
|
+
const messages = await loadConversation(source, sourceId);
|
|
608
|
+
if (messages.length === 0) {
|
|
609
|
+
throw new Error("There is nothing to fork yet \u2014 this conversation has no messages.");
|
|
610
|
+
}
|
|
611
|
+
const { id, title } = await writeFork(source, target, sourceId, messages, messages);
|
|
612
|
+
return { id, title, copied: messages.length };
|
|
613
|
+
}
|
|
614
|
+
__name(forkConversationInto, "forkConversationInto");
|
|
615
|
+
function sameMessageContent(a, b) {
|
|
616
|
+
const { id: _a, ...restA } = a;
|
|
617
|
+
const { id: _b, ...restB } = b;
|
|
618
|
+
return isDeepStrictEqual(
|
|
619
|
+
JSON.parse(JSON.stringify(restA)),
|
|
620
|
+
JSON.parse(JSON.stringify(restB))
|
|
621
|
+
);
|
|
622
|
+
}
|
|
623
|
+
__name(sameMessageContent, "sameMessageContent");
|
|
624
|
+
function sameMessageSequence(a, b) {
|
|
625
|
+
return a.length === b.length && a.every((message, index) => sameMessageContent(message, b[index]));
|
|
626
|
+
}
|
|
627
|
+
__name(sameMessageSequence, "sameMessageSequence");
|
|
628
|
+
async function forkConversationBeforeUser(s, sourceId, userOrdinal, expected) {
|
|
629
|
+
if (!Number.isInteger(userOrdinal) || userOrdinal < 0) {
|
|
630
|
+
throw new Error("The selected user-message position is invalid.");
|
|
631
|
+
}
|
|
632
|
+
await requireWritableConversation(s, sourceId, "fork conversation before a prompt");
|
|
633
|
+
const messages = await loadConversation(s, sourceId);
|
|
634
|
+
let seen = -1;
|
|
635
|
+
const messageIndex = messages.findIndex((message) => {
|
|
636
|
+
if (message.role !== "user") return false;
|
|
637
|
+
seen += 1;
|
|
638
|
+
return seen === userOrdinal;
|
|
639
|
+
});
|
|
640
|
+
const selected = messages[messageIndex];
|
|
641
|
+
if (messageIndex < 0 || selected?.role !== "user") {
|
|
642
|
+
throw new Error("The selected user message no longer exists in this conversation.");
|
|
643
|
+
}
|
|
644
|
+
if (!sameMessageContent(selected, expected)) {
|
|
645
|
+
throw new Error(
|
|
646
|
+
"The conversation changed after the prompt was selected. Nothing was forked; open the editor again from the current history."
|
|
647
|
+
);
|
|
648
|
+
}
|
|
649
|
+
const prefix = messages.slice(0, messageIndex);
|
|
650
|
+
const { id, title } = await writeFork(s, s, sourceId, messages, prefix);
|
|
651
|
+
return { id, title, messages: prefix, selected };
|
|
652
|
+
}
|
|
653
|
+
__name(forkConversationBeforeUser, "forkConversationBeforeUser");
|
|
654
|
+
async function writeFork(sourceStore, targetStore, sourceId, sourceMessages, copiedMessages) {
|
|
655
|
+
const sourceFacts = await readConversationFacts(sourceStore, sourceId, "tolerant");
|
|
656
|
+
const source = sourceFacts?.title !== void 0 && sourceFacts.title.length > 0 ? sourceFacts.title : conversationTitle(sourceFacts ? recordedMessages(sourceFacts.records) : sourceMessages);
|
|
657
|
+
const id = await startConversation(targetStore);
|
|
658
|
+
await seedConversationHistory(targetStore, id, copiedMessages);
|
|
659
|
+
const copiedBack = await loadConversation(targetStore, id);
|
|
660
|
+
if (!sameMessageSequence(copiedBack, copiedMessages)) {
|
|
661
|
+
throw new Error(`The forked conversation did not preserve its exact copied history (${id}).`);
|
|
662
|
+
}
|
|
663
|
+
const title = nextForkName(await takenTitles(targetStore), source);
|
|
664
|
+
await setTitle(targetStore, id, title);
|
|
665
|
+
return { id, title };
|
|
666
|
+
}
|
|
667
|
+
__name(writeFork, "writeFork");
|
|
668
|
+
async function takenTitles(s) {
|
|
669
|
+
const taken = {};
|
|
670
|
+
for (const row of await s.index.listSessions({ slug: s.slug, rootsOnly: true })) {
|
|
671
|
+
if (row.title !== void 0 && row.title.length > 0) taken[row.id] = row.title;
|
|
672
|
+
}
|
|
673
|
+
return taken;
|
|
674
|
+
}
|
|
675
|
+
__name(takenTitles, "takenTitles");
|
|
676
|
+
function recordedMessages(records) {
|
|
677
|
+
const out = [];
|
|
678
|
+
for (const record of records) {
|
|
679
|
+
if (record.type === "message") out.push(record.content);
|
|
680
|
+
else if (record.type === "compaction" && Array.isArray(record.summary)) {
|
|
681
|
+
if (record.strategy === "fork") out.push(...record.summary);
|
|
682
|
+
}
|
|
683
|
+
}
|
|
684
|
+
return out;
|
|
685
|
+
}
|
|
686
|
+
__name(recordedMessages, "recordedMessages");
|
|
687
|
+
function nextForkName(taken, source) {
|
|
688
|
+
const used = new Set(Object.values(taken));
|
|
689
|
+
const first = `${source} (fork)`;
|
|
690
|
+
if (!used.has(first)) return first;
|
|
691
|
+
for (let n = 2; n < 1e3; n += 1) {
|
|
692
|
+
const candidate = `${source} (fork ${n})`;
|
|
693
|
+
if (!used.has(candidate)) return candidate;
|
|
694
|
+
}
|
|
695
|
+
return `${source} (fork)`;
|
|
696
|
+
}
|
|
697
|
+
__name(nextForkName, "nextForkName");
|
|
698
|
+
function displayTitleOf(facts) {
|
|
699
|
+
return facts.title !== void 0 && facts.title.length > 0 && (facts.named || facts.title !== "Conversation") ? facts.title : conversationTitle(recordedMessages(facts.records));
|
|
700
|
+
}
|
|
701
|
+
__name(displayTitleOf, "displayTitleOf");
|
|
702
|
+
function conversationTitle(messages) {
|
|
703
|
+
const firstHuman = messages.find(
|
|
704
|
+
(message) => message.role === "user" && message.source === void 0
|
|
705
|
+
);
|
|
706
|
+
const firstGoal = messages.find(
|
|
707
|
+
(message) => message.role === "user" && message.source?.type === "goal-round"
|
|
708
|
+
);
|
|
709
|
+
const raw = firstHuman?.role === "user" ? firstHuman.content : firstGoal?.role === "user" && firstGoal.source?.type === "goal-round" ? firstGoal.source.objective : "Conversation";
|
|
710
|
+
const typed = typedTextOf(raw);
|
|
711
|
+
const text = (typed.text.trim() ? typed.text : typed.firstFile ?? "").replace(/\s+/g, " ").trim();
|
|
712
|
+
return text.length > 60 ? `${text.slice(0, 59)}\u2026` : text || "Conversation";
|
|
713
|
+
}
|
|
714
|
+
__name(conversationTitle, "conversationTitle");
|
|
715
|
+
function projectLabel(s) {
|
|
716
|
+
return basename(s.projectRoot) || s.projectRoot;
|
|
717
|
+
}
|
|
718
|
+
__name(projectLabel, "projectLabel");
|
|
719
|
+
function conversationDir(s, sessionId) {
|
|
720
|
+
return s.paths.sessionDir({ sessionId });
|
|
721
|
+
}
|
|
722
|
+
__name(conversationDir, "conversationDir");
|
|
723
|
+
function projectDir(s) {
|
|
724
|
+
return join2(s.root, "projects", s.slug);
|
|
725
|
+
}
|
|
726
|
+
__name(projectDir, "projectDir");
|
|
727
|
+
|
|
728
|
+
export {
|
|
729
|
+
readIdentity,
|
|
730
|
+
displayConversationTitle,
|
|
731
|
+
openSessionScope,
|
|
732
|
+
openSessions,
|
|
733
|
+
closeSessions,
|
|
734
|
+
conversationLogPath,
|
|
735
|
+
openConversationLog,
|
|
736
|
+
refreshIndex,
|
|
737
|
+
readConversationFacts,
|
|
738
|
+
startConversation,
|
|
739
|
+
ensureSessionStarted,
|
|
740
|
+
resolveConversation,
|
|
741
|
+
findMappedConversation,
|
|
742
|
+
requireWritableConversation,
|
|
743
|
+
ConversationIndexRefreshError,
|
|
744
|
+
archiveConversation,
|
|
745
|
+
unarchiveConversation,
|
|
746
|
+
loadConversation,
|
|
747
|
+
loadConversationSnapshot,
|
|
748
|
+
loadResumableConversation,
|
|
749
|
+
activeConversationTurn,
|
|
750
|
+
listRecent,
|
|
751
|
+
listArchived,
|
|
752
|
+
titleOf,
|
|
753
|
+
setTitle,
|
|
754
|
+
seedConversationHistory,
|
|
755
|
+
forkConversation,
|
|
756
|
+
forkConversationInto,
|
|
757
|
+
forkConversationBeforeUser,
|
|
758
|
+
nextForkName,
|
|
759
|
+
displayTitleOf,
|
|
760
|
+
conversationTitle,
|
|
761
|
+
projectLabel,
|
|
762
|
+
conversationDir,
|
|
763
|
+
projectDir
|
|
764
|
+
};
|
|
765
|
+
//# sourceMappingURL=chunk-TIGWWAJI.js.map
|