@ai-zen/cli 1.0.0-alpha.13 → 1.0.0-alpha.15
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 +68 -0
- package/README.md +71 -2
- package/README.zh.md +71 -2
- package/dist/agent-creator.d.ts.map +1 -1
- package/dist/agent-creator.js +4 -1
- package/dist/agent-creator.js.map +1 -1
- package/dist/auto-migrate-confirm.d.ts +2 -2
- package/dist/auto-migrate-confirm.d.ts.map +1 -1
- package/dist/auto-migrate-confirm.js +2 -2
- package/dist/auto-migrate-confirm.js.map +1 -1
- package/dist/config-editor.d.ts.map +1 -1
- package/dist/config-editor.js +2 -1
- package/dist/config-editor.js.map +1 -1
- package/dist/config.d.ts +8 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +10 -0
- package/dist/config.js.map +1 -1
- package/dist/conversation-commands/registry.d.ts.map +1 -1
- package/dist/conversation-commands/registry.js +2 -0
- package/dist/conversation-commands/registry.js.map +1 -1
- package/dist/handoff-service.js +3 -3
- package/dist/handoff-service.js.map +1 -1
- package/dist/model-switch.d.ts +59 -0
- package/dist/model-switch.d.ts.map +1 -0
- package/dist/model-switch.js +62 -0
- package/dist/model-switch.js.map +1 -0
- package/dist/reasoning-effort.d.ts +62 -0
- package/dist/reasoning-effort.d.ts.map +1 -0
- package/dist/reasoning-effort.js +98 -0
- package/dist/reasoning-effort.js.map +1 -0
- package/dist/sdk-log.d.ts +48 -0
- package/dist/sdk-log.d.ts.map +1 -0
- package/dist/sdk-log.js +67 -0
- package/dist/sdk-log.js.map +1 -0
- package/dist/stdio-runner.d.ts.map +1 -1
- package/dist/stdio-runner.js +6 -7
- package/dist/stdio-runner.js.map +1 -1
- package/dist/sub-agent-guard-plugin.d.ts +5 -5
- package/dist/sub-agent-guard-plugin.d.ts.map +1 -1
- package/dist/sub-agent-guard-plugin.js +7 -7
- package/dist/sub-agent-guard-plugin.js.map +1 -1
- package/dist/tui/chat-session.d.ts +3 -1
- package/dist/tui/chat-session.d.ts.map +1 -1
- package/dist/tui/chat-session.js +13 -15
- package/dist/tui/chat-session.js.map +1 -1
- package/dist/tui/components.d.ts +3 -1
- package/dist/tui/components.d.ts.map +1 -1
- package/dist/tui/components.js +3 -3
- package/dist/tui/components.js.map +1 -1
- package/dist/tui/config-wizard/engine.js +1 -1
- package/dist/tui/config-wizard/engine.js.map +1 -1
- package/dist/tui/config-wizard/fields.d.ts +3 -1
- package/dist/tui/config-wizard/fields.d.ts.map +1 -1
- package/dist/tui/config-wizard/fields.js +58 -6
- package/dist/tui/config-wizard/fields.js.map +1 -1
- package/dist/tui/config-wizard/types.d.ts +7 -1
- package/dist/tui/config-wizard/types.d.ts.map +1 -1
- package/dist/tui/index.d.ts.map +1 -1
- package/dist/tui/index.js +21 -1
- package/dist/tui/index.js.map +1 -1
- package/dist/tui/input-editing.d.ts +49 -0
- package/dist/tui/input-editing.d.ts.map +1 -0
- package/dist/tui/input-editing.js +87 -0
- package/dist/tui/input-editing.js.map +1 -0
- package/dist/tui/key-debug.d.ts +62 -0
- package/dist/tui/key-debug.d.ts.map +1 -0
- package/dist/tui/key-debug.js +92 -0
- package/dist/tui/key-debug.js.map +1 -0
- package/dist/tui/screens/chat-commands.d.ts +2 -0
- package/dist/tui/screens/chat-commands.d.ts.map +1 -1
- package/dist/tui/screens/chat-commands.js +140 -1
- package/dist/tui/screens/chat-commands.js.map +1 -1
- package/dist/tui/screens/chat.d.ts +2 -0
- package/dist/tui/screens/chat.d.ts.map +1 -1
- package/dist/tui/screens/chat.js +287 -17
- package/dist/tui/screens/chat.js.map +1 -1
- package/dist/tui/screens/index.d.ts +1 -1
- package/dist/tui/screens/index.d.ts.map +1 -1
- package/dist/tui/screens/index.js +1 -1
- package/dist/tui/screens/index.js.map +1 -1
- package/dist/tui/screens/input.d.ts +35 -0
- package/dist/tui/screens/input.d.ts.map +1 -1
- package/dist/tui/screens/input.js +66 -0
- package/dist/tui/screens/input.js.map +1 -1
- package/package.json +2 -2
package/dist/tui/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tui/index.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAiB,MAAM,KAAK,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,YAAY,EAA0B,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tui/index.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAiB,MAAM,KAAK,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,YAAY,EAA0B,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGjD,8CAA8C;AAC9C,MAAM,YAAY,GAAG,wBAAwB,CAAC;AAE9C;;;;;;GAMG;AACH,SAAS,QAAQ;IACf,IAAI,CAAC;QACF,OAAO,CAAC,KAA+C,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;IAC/E,CAAC;IAAC,MAAM,CAAC;QACP,YAAY;IACd,CAAC;IACD,IAAI,CAAC;QACH,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,YAAY;IACd,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;IACnD,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED,gCAAgC;AAChC,IAAI,cAAc,GAAoB,IAAI,CAAC;AAE3C;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,WAAW,EAAE,KAAK;IAClB,eAAe,EAAE,KAAK;IACtB,2DAA2D;IAC3D,qDAAqD;IACrD,oBAAoB,EAAE,IAAI;IAC1B,aAAa,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;CAC3B,CAAC;AAEX,SAAS,KAAK,CAAC,IAAkC;IAC/C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC9C,cAAc,GAAG,QAAQ,CAAC;IAC1B,OAAO,QAAQ,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;QAC3C,IAAI,cAAc,KAAK,QAAQ;YAAE,cAAc,GAAG,IAAI,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,mDAAmD;AAEnD;;;;GAIG;AACH,SAAS,cAAc,CAAC,EAAE,MAAM,EAAE,UAAU,EAA6C;IACvF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1B,OAAO,CACL,KAAC,YAAY,IACX,MAAM,EAAE,MAAM,EACd,UAAU,QACV,WAAW,QACX,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,EAC1D,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GACjC,CACH,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,gBAAgB,CAAC,OAAe;IAC7C,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAClC,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtD,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAEtD,MAAM,MAAM,GAAG,CAAC,MAAM,KAAK,CACzB,KAAC,cAAc,IAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,UAAU,GAAI,CACtE,CAAkC,CAAC;IACpC,OAAO,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAChC,CAAC;AAYD,KAAK,UAAU,aAAa;IAC1B,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAClC,MAAM,UAAU,GAAG,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;IAEvC,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACrD,IAAI,OAA2B,CAAC;IAChC,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7C,OAAO,GAAG,KAAK,EAAE,OAAO,CAAC;IAC3B,CAAC;IACD,OAAO,GAAG,OAAO,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAEjE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC9B,CAAC;AAED,oCAAoC;AACpC,KAAK,UAAU,WAAW,CAAC,OAAe;IACxC,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAClC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;AAC7D,CAAC;AAED,+CAA+C;AAC/C,KAAK,UAAU,iBAAiB;IAC9B,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACrD,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,YAAY,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACnE,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IAC/B,OAAO,kBAAkB,CAAC;QACxB,OAAO,EAAE,YAAY,CAAC,OAAO;QAC7B,OAAO,EAAE,YAAY,CAAC,OAAO;QAC7B,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,cAAc,EAAE,YAAY,CAAC,EAAE;QAC/B,gBAAgB,EAAE,YAAY,CAAC,EAAE;KAClC,CAAC,CAAC;AACL,CAAC;AAED,mBAAmB;AACnB,SAAS,kBAAkB,CAAC,KAM3B;IACC,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;KACzC,CAAC;AACJ,CAAC;AAED,gDAAgD;AAEhD;;;GAGG;AACH,KAAK,UAAU,OAAO,CAAC,MAAkB;IACvC,IAAI,OAAO,GAAG,MAAM,CAAC;IACrB,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC/B,IAAI,YAAgC,CAAC;IACrC,qDAAqD;IACrD,IAAI,aAAiC,CAAC;IAEtC,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,MAAM,KAAK,CACxB,KAAC,IAAI,IACH,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,OAAO,CAAC,cAAc,EACtC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAC1C,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,GAC5B,CACH,CAAC;QAEF,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,MAkBb,CAAC;YACF,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,0CAA0C;gBAC1C,OAAO,GAAG;oBACR,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO;oBAC3B,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO;oBAC3B,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc;oBACzC,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB;iBAC9C,CAAC;gBACF,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC/B,YAAY,GAAG,SAAS,CAAC;gBACzB,aAAa,GAAG,SAAS,CAAC;gBAC1B,SAAS;YACX,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,QAAQ,CAAC;gBACtC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;gBAClC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC7B,yDAAyD;gBACzD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBAClB,OAAO,GAAG;wBACR,GAAG,OAAO;wBACV,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO;qBAC1C,CAAC;gBACJ,CAAC;gBACD,SAAS;YACX,CAAC;QACH,CAAC;QACD,OAAO;IACT,CAAC;AACH,CAAC;AAED,+CAA+C;AAE/C,MAAM,CAAC,KAAK,UAAU,MAAM;IAC1B,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;IAC/C,iDAAiD;IACjD,gDAAgD;IAChD,0DAA0D;IAC1D,gBAAgB,EAAE,CAAC;IACnB,oDAAoD;IACpD,aAAa,EAAE,CAAC;IAEhB,IAAI,CAAC;QACH,YAAY;QACZ,MAAM,KAAK,CAAC,KAAC,MAAM,KAAG,CAAC,CAAC;QAExB,0BAA0B;QAC1B,IAAI,MAAM,GAAsB,MAAM,iBAAiB,EAAE,CAAC;QAC1D,IAAI,MAAM,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YACnD,iCAAiC;YACjC,uBAAuB;YACvB,MAAM,QAAQ,GAAG,MAAM,aAAa,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YACzD,MAAM,GAAG,QAAQ;gBACf,CAAC,CAAC;oBACE,GAAG,QAAQ;oBACX,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,cAAc,EAAE,MAAM,CAAC,cAAc;oBACrC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;iBAC1C;gBACH,CAAC,CAAC,IAAI,CAAC;QACX,CAAC;aAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC;YACjC,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,KAAK,EAAE,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,QAAQ,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QAED,wCAAwC;QACxC,IAAI,CAAC,CAAC,MAAM,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YAC9C,QAAQ,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QAED,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;QACtB,QAAQ,EAAE,CAAC;IACb,CAAC;YAAS,CAAC;QACT,gBAAgB,EAAE,CAAC;QACnB,cAAc,GAAG,IAAI,CAAC;IACxB,CAAC;AACH,CAAC;AAED,0CAA0C;AAC1C,SAAS,mBAAmB;IAC1B,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,IAAI,CAAC;YACH,cAAc,EAAE,OAAO,EAAE,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ;QACV,CAAC;QACD,cAAc,GAAG,IAAI,CAAC;IACxB,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,KAAc,EAAE,EAAE;QACjC,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAc,KAAa,EAAE,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;IACzC,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;IAE1C,OAAO,GAAG,EAAE;QACV,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 输入框编辑的纯逻辑层 —— 与 Claude Code / readline 的键位语义对齐。
|
|
3
|
+
*
|
|
4
|
+
* 全部函数都是「(文本, 光标) → (文本, 光标)」的纯变换,便于单测;
|
|
5
|
+
* chat.tsx 只负责把按键映射过来、套用结果、维护 kill ring 与撤销栈。
|
|
6
|
+
*
|
|
7
|
+
* 键位语义依据 Claude Code 官方文档(interactive-mode.md):
|
|
8
|
+
* - `Ctrl+W` 删到**前一空白**(标点不切分:`src/utils/foo.ts` 一次删掉整条路径)
|
|
9
|
+
* - `Alt+B/F/D` 按「词」处理(标点算分隔符:停在 `ts` / `foo` / `utils` / `src`)
|
|
10
|
+
*/
|
|
11
|
+
/** 一段可撤销的编辑状态(文本 + code point 光标) */
|
|
12
|
+
export interface EditState {
|
|
13
|
+
text: string;
|
|
14
|
+
cursor: number;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* 删到前一空白(Ctrl+W):先吃掉光标前的空白,再吃掉一整段非空白。
|
|
18
|
+
*
|
|
19
|
+
* 与 `deleteWordLeft` 的区别在于标点:本函数只认空白为边界,
|
|
20
|
+
* 因此 `src/utils/foo.ts` 会被整段删除,而不是只删 `foo.ts`。
|
|
21
|
+
*/
|
|
22
|
+
export declare function deleteToPrevWhitespace(text: string, cursor: number): EditState;
|
|
23
|
+
/**
|
|
24
|
+
* 求「被删掉的文本」:比较编辑前后,取中间不重合的那一段。
|
|
25
|
+
*
|
|
26
|
+
* 用于把 `Ctrl+W/U/K` 删掉的内容放进 kill ring 供 `Ctrl+Y` 取回,
|
|
27
|
+
* 免去每个删除函数各自返回「删了什么」。
|
|
28
|
+
*/
|
|
29
|
+
export declare function killedText(before: string, after: string): string;
|
|
30
|
+
export declare const KILL_RING_SIZE = 5;
|
|
31
|
+
/**
|
|
32
|
+
* 记录一段被删除的文本。
|
|
33
|
+
*
|
|
34
|
+
* 空串不入环;与栈顶相同的连续删除(如连按 `Ctrl+W` 删同一个词)不重复入栈,
|
|
35
|
+
* 否则 `Alt+Y` 会在同一段文本上空转。
|
|
36
|
+
*/
|
|
37
|
+
export declare function pushKill(ring: string[], killed: string, limit?: number): string[];
|
|
38
|
+
/** 取环中第 index 段(越界返回 undefined);index 0 为最近一次删除 */
|
|
39
|
+
export declare function killAt(ring: string[], index: number): string | undefined;
|
|
40
|
+
/** 撤销栈上限:编辑很密,但每条只是一个短字符串,100 条足够 */
|
|
41
|
+
export declare const UNDO_LIMIT = 100;
|
|
42
|
+
/** 入栈一条编辑前快照;与栈顶相同的状态不重复入栈 */
|
|
43
|
+
export declare function pushUndo(stack: EditState[], state: EditState, limit?: number): EditState[];
|
|
44
|
+
/** 出栈一条快照(无历史时返回 null) */
|
|
45
|
+
export declare function popUndo(stack: EditState[]): {
|
|
46
|
+
state: EditState;
|
|
47
|
+
rest: EditState[];
|
|
48
|
+
} | null;
|
|
49
|
+
//# sourceMappingURL=input-editing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-editing.d.ts","sourceRoot":"","sources":["../../src/tui/input-editing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,qCAAqC;AACrC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAMD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAU9E;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAQhE;AAGD,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,SAAiB,GAAG,MAAM,EAAE,CAIzF;AAED,mDAAmD;AACnD,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGxE;AAID,qCAAqC;AACrC,eAAO,MAAM,UAAU,MAAM,CAAC;AAE9B,8BAA8B;AAC9B,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,SAAa,GAAG,SAAS,EAAE,CAI9F;AAED,0BAA0B;AAC1B,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,SAAS,EAAE,CAAA;CAAE,GAAG,IAAI,CAG1F"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 输入框编辑的纯逻辑层 —— 与 Claude Code / readline 的键位语义对齐。
|
|
3
|
+
*
|
|
4
|
+
* 全部函数都是「(文本, 光标) → (文本, 光标)」的纯变换,便于单测;
|
|
5
|
+
* chat.tsx 只负责把按键映射过来、套用结果、维护 kill ring 与撤销栈。
|
|
6
|
+
*
|
|
7
|
+
* 键位语义依据 Claude Code 官方文档(interactive-mode.md):
|
|
8
|
+
* - `Ctrl+W` 删到**前一空白**(标点不切分:`src/utils/foo.ts` 一次删掉整条路径)
|
|
9
|
+
* - `Alt+B/F/D` 按「词」处理(标点算分隔符:停在 `ts` / `foo` / `utils` / `src`)
|
|
10
|
+
*/
|
|
11
|
+
function clampCursor(chars, cursor) {
|
|
12
|
+
return Math.max(0, Math.min(cursor, chars.length));
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* 删到前一空白(Ctrl+W):先吃掉光标前的空白,再吃掉一整段非空白。
|
|
16
|
+
*
|
|
17
|
+
* 与 `deleteWordLeft` 的区别在于标点:本函数只认空白为边界,
|
|
18
|
+
* 因此 `src/utils/foo.ts` 会被整段删除,而不是只删 `foo.ts`。
|
|
19
|
+
*/
|
|
20
|
+
export function deleteToPrevWhitespace(text, cursor) {
|
|
21
|
+
const chars = Array.from(text);
|
|
22
|
+
const cp = clampCursor(chars, cursor);
|
|
23
|
+
let from = cp;
|
|
24
|
+
while (from > 0 && /\s/.test(chars[from - 1]))
|
|
25
|
+
from -= 1;
|
|
26
|
+
while (from > 0 && !/\s/.test(chars[from - 1]))
|
|
27
|
+
from -= 1;
|
|
28
|
+
return {
|
|
29
|
+
text: chars.slice(0, from).join("") + chars.slice(cp).join(""),
|
|
30
|
+
cursor: from,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* 求「被删掉的文本」:比较编辑前后,取中间不重合的那一段。
|
|
35
|
+
*
|
|
36
|
+
* 用于把 `Ctrl+W/U/K` 删掉的内容放进 kill ring 供 `Ctrl+Y` 取回,
|
|
37
|
+
* 免去每个删除函数各自返回「删了什么」。
|
|
38
|
+
*/
|
|
39
|
+
export function killedText(before, after) {
|
|
40
|
+
const a = Array.from(before);
|
|
41
|
+
const b = Array.from(after);
|
|
42
|
+
let prefix = 0;
|
|
43
|
+
while (prefix < b.length && a[prefix] === b[prefix])
|
|
44
|
+
prefix += 1;
|
|
45
|
+
let suffix = 0;
|
|
46
|
+
while (suffix < b.length - prefix && a[a.length - 1 - suffix] === b[b.length - 1 - suffix])
|
|
47
|
+
suffix += 1;
|
|
48
|
+
return a.slice(prefix, a.length - suffix).join("");
|
|
49
|
+
}
|
|
50
|
+
// ==================== kill ring(Ctrl+Y / Alt+Y)====================/** kill ring 最大长度(够 Alt+Y 循环几次即可,不做无限历史) */
|
|
51
|
+
export const KILL_RING_SIZE = 5;
|
|
52
|
+
/**
|
|
53
|
+
* 记录一段被删除的文本。
|
|
54
|
+
*
|
|
55
|
+
* 空串不入环;与栈顶相同的连续删除(如连按 `Ctrl+W` 删同一个词)不重复入栈,
|
|
56
|
+
* 否则 `Alt+Y` 会在同一段文本上空转。
|
|
57
|
+
*/
|
|
58
|
+
export function pushKill(ring, killed, limit = KILL_RING_SIZE) {
|
|
59
|
+
if (!killed)
|
|
60
|
+
return ring;
|
|
61
|
+
if (ring[0] === killed)
|
|
62
|
+
return ring;
|
|
63
|
+
return [killed, ...ring].slice(0, limit);
|
|
64
|
+
}
|
|
65
|
+
/** 取环中第 index 段(越界返回 undefined);index 0 为最近一次删除 */
|
|
66
|
+
export function killAt(ring, index) {
|
|
67
|
+
if (index < 0 || index >= ring.length)
|
|
68
|
+
return undefined;
|
|
69
|
+
return ring[index];
|
|
70
|
+
}
|
|
71
|
+
// ==================== 撤销栈(Ctrl+_)====================
|
|
72
|
+
/** 撤销栈上限:编辑很密,但每条只是一个短字符串,100 条足够 */
|
|
73
|
+
export const UNDO_LIMIT = 100;
|
|
74
|
+
/** 入栈一条编辑前快照;与栈顶相同的状态不重复入栈 */
|
|
75
|
+
export function pushUndo(stack, state, limit = UNDO_LIMIT) {
|
|
76
|
+
const top = stack[stack.length - 1];
|
|
77
|
+
if (top && top.text === state.text && top.cursor === state.cursor)
|
|
78
|
+
return stack;
|
|
79
|
+
return [...stack, state].slice(-limit);
|
|
80
|
+
}
|
|
81
|
+
/** 出栈一条快照(无历史时返回 null) */
|
|
82
|
+
export function popUndo(stack) {
|
|
83
|
+
if (stack.length === 0)
|
|
84
|
+
return null;
|
|
85
|
+
return { state: stack[stack.length - 1], rest: stack.slice(0, -1) };
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=input-editing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-editing.js","sourceRoot":"","sources":["../../src/tui/input-editing.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 按键诊断 —— 不同终端的按键编码差异极大(macOS 的 Option、PageUp/PageDown 尤其),
|
|
3
|
+
* 「某个键在我机器上没反应」这类问题靠猜毫无意义:要么键被 OS/终端吞掉,
|
|
4
|
+
* 要么终端发来的序列和我们认的不一样。两种情况的判定方法是同一个 —— 看日志里有几行。
|
|
5
|
+
*
|
|
6
|
+
* 用法:
|
|
7
|
+
* AIZ_DEBUG_KEYS=1 aiz → 追加写到 <tmp>/aiz-key-debug.log
|
|
8
|
+
* AIZ_DEBUG_KEYS=1 AIZ_KEYS_FILE=/path aiz → 写到指定文件
|
|
9
|
+
*
|
|
10
|
+
* 判读:
|
|
11
|
+
* - 按了键但日志里没有新增行 → 键根本没到应用(被 OS 快捷键或终端键位映射截走)
|
|
12
|
+
* - 有行但 `input`/`flags` 与预期不符 → 序列认识,是匹配逻辑的问题
|
|
13
|
+
* - 有行且 `raw=false` → 终端没处于 raw mode,键被终端自己解释了(如滚动 scrollback)
|
|
14
|
+
*
|
|
15
|
+
* 刻意在 `useInput` 回调里记录而不是直接监听 `stdin` 的 data 事件:
|
|
16
|
+
* 后者会把流切成 flowing 模式,与 Ink 内部的 readable 读取抢数据。
|
|
17
|
+
*/
|
|
18
|
+
export declare const KEY_DEBUG_ENABLED: boolean;
|
|
19
|
+
/** 日志落盘路径(测试与用户都可能改写,故导出常量) */
|
|
20
|
+
export declare const KEY_DEBUG_FILE: string;
|
|
21
|
+
/** Ink `useInput` 的 key 对象里我们关心的字段(结构化,避免依赖 ink 的类型导出) */
|
|
22
|
+
export interface KeyFlags {
|
|
23
|
+
upArrow?: boolean;
|
|
24
|
+
downArrow?: boolean;
|
|
25
|
+
leftArrow?: boolean;
|
|
26
|
+
rightArrow?: boolean;
|
|
27
|
+
pageUp?: boolean;
|
|
28
|
+
pageDown?: boolean;
|
|
29
|
+
return?: boolean;
|
|
30
|
+
escape?: boolean;
|
|
31
|
+
tab?: boolean;
|
|
32
|
+
backspace?: boolean;
|
|
33
|
+
delete?: boolean;
|
|
34
|
+
home?: boolean;
|
|
35
|
+
end?: boolean;
|
|
36
|
+
ctrl?: boolean;
|
|
37
|
+
shift?: boolean;
|
|
38
|
+
meta?: boolean;
|
|
39
|
+
}
|
|
40
|
+
/** 终端环境摘要:排查「只在某终端失灵」时先看这一行 */
|
|
41
|
+
export declare function terminalSummary(env?: NodeJS.ProcessEnv): string;
|
|
42
|
+
/**
|
|
43
|
+
* 把一次按键格式化成单行记录。
|
|
44
|
+
*
|
|
45
|
+
* `input` 用 JSON.stringify 转义(控制字符会变成 `\u001b` 这类可读形式),
|
|
46
|
+
* `raw` 表示按下时 stdin 是否仍在 raw mode —— 为 false 时键会被终端自己吃掉。
|
|
47
|
+
*/
|
|
48
|
+
export declare function formatKeyEvent(input: string, key: KeyFlags, raw: boolean): string;
|
|
49
|
+
/** 当前 stdin 是否处于 raw mode(非 TTY 或平台不支持时视为 false) */
|
|
50
|
+
export declare function stdinIsRaw(): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* 记录一行到诊断日志;仅在 `AIZ_DEBUG_KEYS=1` 时生效。
|
|
53
|
+
*
|
|
54
|
+
* 同步写:调试期每次按键都写一行,量小;异步写反而可能在崩溃时丢最后几行
|
|
55
|
+
* —— 而那几行往往正是要看的那几行。
|
|
56
|
+
*/
|
|
57
|
+
export declare function keyDebugLog(line: string): void;
|
|
58
|
+
/** 会话开始时写一行环境摘要(同一次运行只写一次) */
|
|
59
|
+
export declare function keyDebugStart(): void;
|
|
60
|
+
/** 记录一次按键 */
|
|
61
|
+
export declare function keyDebug(input: string, key: KeyFlags): void;
|
|
62
|
+
//# sourceMappingURL=key-debug.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"key-debug.d.ts","sourceRoot":"","sources":["../../src/tui/key-debug.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,eAAO,MAAM,iBAAiB,SAAqC,CAAC;AAEpE,+BAA+B;AAC/B,eAAO,MAAM,cAAc,QAAwD,CAAC;AAEpF,0DAA0D;AAC1D,MAAM,WAAW,QAAQ;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,+BAA+B;AAC/B,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAK5E;AAqBD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAGjF;AAED,oDAAoD;AACpD,wBAAgB,UAAU,IAAI,OAAO,CAGpC;AAID;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAO9C;AAED,8BAA8B;AAC9B,wBAAgB,aAAa,IAAI,IAAI,CAIpC;AAED,aAAa;AACb,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,CAG3D"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 按键诊断 —— 不同终端的按键编码差异极大(macOS 的 Option、PageUp/PageDown 尤其),
|
|
3
|
+
* 「某个键在我机器上没反应」这类问题靠猜毫无意义:要么键被 OS/终端吞掉,
|
|
4
|
+
* 要么终端发来的序列和我们认的不一样。两种情况的判定方法是同一个 —— 看日志里有几行。
|
|
5
|
+
*
|
|
6
|
+
* 用法:
|
|
7
|
+
* AIZ_DEBUG_KEYS=1 aiz → 追加写到 <tmp>/aiz-key-debug.log
|
|
8
|
+
* AIZ_DEBUG_KEYS=1 AIZ_KEYS_FILE=/path aiz → 写到指定文件
|
|
9
|
+
*
|
|
10
|
+
* 判读:
|
|
11
|
+
* - 按了键但日志里没有新增行 → 键根本没到应用(被 OS 快捷键或终端键位映射截走)
|
|
12
|
+
* - 有行但 `input`/`flags` 与预期不符 → 序列认识,是匹配逻辑的问题
|
|
13
|
+
* - 有行且 `raw=false` → 终端没处于 raw mode,键被终端自己解释了(如滚动 scrollback)
|
|
14
|
+
*
|
|
15
|
+
* 刻意在 `useInput` 回调里记录而不是直接监听 `stdin` 的 data 事件:
|
|
16
|
+
* 后者会把流切成 flowing 模式,与 Ink 内部的 readable 读取抢数据。
|
|
17
|
+
*/
|
|
18
|
+
import { appendFileSync } from "node:fs";
|
|
19
|
+
export const KEY_DEBUG_ENABLED = process.env.AIZ_DEBUG_KEYS === "1";
|
|
20
|
+
/** 日志落盘路径(测试与用户都可能改写,故导出常量) */
|
|
21
|
+
export const KEY_DEBUG_FILE = process.env.AIZ_KEYS_FILE || "/tmp/aiz-key-debug.log";
|
|
22
|
+
/** 终端环境摘要:排查「只在某终端失灵」时先看这一行 */
|
|
23
|
+
export function terminalSummary(env = process.env) {
|
|
24
|
+
const keys = ["TERM", "TERM_PROGRAM", "TERM_PROGRAM_VERSION", "COLORTERM", "LANG", "COLUMNS", "LINES"];
|
|
25
|
+
const parts = keys.map((k) => `${k}=${env[k] ?? "-"}`);
|
|
26
|
+
parts.push(`platform=${process.platform}`, `node=${process.version}`);
|
|
27
|
+
return parts.join(" ");
|
|
28
|
+
}
|
|
29
|
+
const FLAG_NAMES = [
|
|
30
|
+
"ctrl",
|
|
31
|
+
"meta",
|
|
32
|
+
"shift",
|
|
33
|
+
"upArrow",
|
|
34
|
+
"downArrow",
|
|
35
|
+
"leftArrow",
|
|
36
|
+
"rightArrow",
|
|
37
|
+
"pageUp",
|
|
38
|
+
"pageDown",
|
|
39
|
+
"home",
|
|
40
|
+
"end",
|
|
41
|
+
"return",
|
|
42
|
+
"escape",
|
|
43
|
+
"tab",
|
|
44
|
+
"backspace",
|
|
45
|
+
"delete",
|
|
46
|
+
];
|
|
47
|
+
/**
|
|
48
|
+
* 把一次按键格式化成单行记录。
|
|
49
|
+
*
|
|
50
|
+
* `input` 用 JSON.stringify 转义(控制字符会变成 `\u001b` 这类可读形式),
|
|
51
|
+
* `raw` 表示按下时 stdin 是否仍在 raw mode —— 为 false 时键会被终端自己吃掉。
|
|
52
|
+
*/
|
|
53
|
+
export function formatKeyEvent(input, key, raw) {
|
|
54
|
+
const flags = FLAG_NAMES.filter((name) => key[name]).join(",");
|
|
55
|
+
return `key input=${JSON.stringify(input ?? "")} flags=[${flags}] raw=${raw}`;
|
|
56
|
+
}
|
|
57
|
+
/** 当前 stdin 是否处于 raw mode(非 TTY 或平台不支持时视为 false) */
|
|
58
|
+
export function stdinIsRaw() {
|
|
59
|
+
const stdin = process.stdin;
|
|
60
|
+
return Boolean(stdin.isRaw);
|
|
61
|
+
}
|
|
62
|
+
let started = false;
|
|
63
|
+
/**
|
|
64
|
+
* 记录一行到诊断日志;仅在 `AIZ_DEBUG_KEYS=1` 时生效。
|
|
65
|
+
*
|
|
66
|
+
* 同步写:调试期每次按键都写一行,量小;异步写反而可能在崩溃时丢最后几行
|
|
67
|
+
* —— 而那几行往往正是要看的那几行。
|
|
68
|
+
*/
|
|
69
|
+
export function keyDebugLog(line) {
|
|
70
|
+
if (!KEY_DEBUG_ENABLED)
|
|
71
|
+
return;
|
|
72
|
+
try {
|
|
73
|
+
appendFileSync(KEY_DEBUG_FILE, `${new Date().toISOString()} ${line}\n`);
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
/* 诊断失败绝不能影响主流程 */
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
/** 会话开始时写一行环境摘要(同一次运行只写一次) */
|
|
80
|
+
export function keyDebugStart() {
|
|
81
|
+
if (!KEY_DEBUG_ENABLED || started)
|
|
82
|
+
return;
|
|
83
|
+
started = true;
|
|
84
|
+
keyDebugLog(`=== start ${terminalSummary()} file=${KEY_DEBUG_FILE} ===`);
|
|
85
|
+
}
|
|
86
|
+
/** 记录一次按键 */
|
|
87
|
+
export function keyDebug(input, key) {
|
|
88
|
+
if (!KEY_DEBUG_ENABLED)
|
|
89
|
+
return;
|
|
90
|
+
keyDebugLog(formatKeyEvent(input, key, stdinIsRaw()));
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=key-debug.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"key-debug.js","sourceRoot":"","sources":["../../src/tui/key-debug.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,GAAG,CAAC;AAEpE,+BAA+B;AAC/B,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,wBAAwB,CAAC;AAsBpF,+BAA+B;AAC/B,MAAM,UAAU,eAAe,CAAC,MAAyB,OAAO,CAAC,GAAG;IAClE,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACvG,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IACvD,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,QAAQ,EAAE,EAAE,QAAQ,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACtE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,GAAuB;IACrC,MAAM;IACN,MAAM;IACN,OAAO;IACP,SAAS;IACT,WAAW;IACX,WAAW;IACX,YAAY;IACZ,QAAQ;IACR,UAAU;IACV,MAAM;IACN,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,KAAK;IACL,WAAW;IACX,QAAQ;CACT,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,GAAa,EAAE,GAAY;IACvE,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/D,OAAO,aAAa,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,WAAW,KAAK,SAAS,GAAG,EAAE,CAAC;AAChF,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,UAAU;IACxB,MAAM,KAAK,GAAG,OAAO,CAAC,KAA4B,CAAC;IACnD,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,IAAI,OAAO,GAAG,KAAK,CAAC;AAEpB;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,IAAI,CAAC,iBAAiB;QAAE,OAAO;IAC/B,IAAI,CAAC;QACH,cAAc,CAAC,cAAc,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,kBAAkB;IACpB,CAAC;AACH,CAAC;AAED,8BAA8B;AAC9B,MAAM,UAAU,aAAa;IAC3B,IAAI,CAAC,iBAAiB,IAAI,OAAO;QAAE,OAAO;IAC1C,OAAO,GAAG,IAAI,CAAC;IACf,WAAW,CAAC,aAAa,eAAe,EAAE,SAAS,cAAc,MAAM,CAAC,CAAC;AAC3E,CAAC;AAED,aAAa;AACb,MAAM,UAAU,QAAQ,CAAC,KAAa,EAAE,GAAa;IACnD,IAAI,CAAC,iBAAiB;QAAE,OAAO;IAC/B,WAAW,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;AACxD,CAAC"}
|
|
@@ -25,6 +25,8 @@ export interface ChatCommandHost {
|
|
|
25
25
|
resolve: (value: boolean) => void;
|
|
26
26
|
} | null>>;
|
|
27
27
|
setInputText: (text: string) => void;
|
|
28
|
+
/** 更新状态栏的思考强度展示(`/think` 写入后由上层重取) */
|
|
29
|
+
setEffortText: (text: string) => void;
|
|
28
30
|
}
|
|
29
31
|
/**
|
|
30
32
|
* 解析命令后的执行者参数(`/migrate self`、`/handoff summary`)。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-commands.d.ts","sourceRoot":"","sources":["../../../src/tui/screens/chat-commands.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAKtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAgB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-commands.d.ts","sourceRoot":"","sources":["../../../src/tui/screens/chat-commands.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAKtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAgB,MAAM,oBAAoB,CAAC;AAc/D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAIvD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,WAAW,CAAC;IACrB,mDAAmD;IACnD,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,KAAK,IAAI,CAAC;IACxD,4BAA4B;IAC5B,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC1B,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,UAAU,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,cAAc,EAAE,QAAQ,CACtB,cAAc,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC,CAC/G,CAAC;IACF,eAAe,EAAE,QAAQ,CAAC,cAAc,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1G,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,sCAAsC;IACtC,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAGtE;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAyWhG"}
|
|
@@ -7,6 +7,11 @@ import { stripCwdNote } from "../chat-session.js";
|
|
|
7
7
|
import { matchCommandHints } from "../../conversation-commands/registry.js";
|
|
8
8
|
import { conversationRepository, listConversations } from "../../conversation-repository.js";
|
|
9
9
|
import { formatShortTime } from "../../format-time.js";
|
|
10
|
+
import { readConfig, readReasoningPresets } from "../../config.js";
|
|
11
|
+
import { resetScope } from "../../agent-creator.js";
|
|
12
|
+
import { switchModel } from "../../model-switch.js";
|
|
13
|
+
import { effortChoices, effortLabel, describeEffort, setAgentEffort, } from "../../reasoning-effort.js";
|
|
14
|
+
import { readAgentStore } from "../../agents-store.js";
|
|
10
15
|
import { truncate } from "./render.js";
|
|
11
16
|
import { chooseHandoffMode } from "./handoff-choice.js";
|
|
12
17
|
/**
|
|
@@ -18,7 +23,7 @@ export function parseHandoffMode(raw) {
|
|
|
18
23
|
return value === "self" || value === "summary" ? value : undefined;
|
|
19
24
|
}
|
|
20
25
|
export async function runCommand(name, raw, host) {
|
|
21
|
-
const { session, notice, clearTranscript, rows, exit, suspendTerminal, openWizard, openKeyEditor, doExit, setPickerState, setInputText, } = host;
|
|
26
|
+
const { session, notice, clearTranscript, rows, exit, suspendTerminal, openWizard, openKeyEditor, doExit, setPickerState, setInputText, setEffortText, } = host;
|
|
22
27
|
const push = (text, tone = "info") => {
|
|
23
28
|
notice(text, tone);
|
|
24
29
|
};
|
|
@@ -34,6 +39,140 @@ export async function runCommand(name, raw, host) {
|
|
|
34
39
|
case "key":
|
|
35
40
|
await openKeyEditor();
|
|
36
41
|
break;
|
|
42
|
+
case "model": {
|
|
43
|
+
const config = await readConfig();
|
|
44
|
+
const models = config.models ?? [];
|
|
45
|
+
if (models.length === 0) {
|
|
46
|
+
push("配置里还没有任何模型,请用 /config 添加端点与模型", "error");
|
|
47
|
+
break;
|
|
48
|
+
}
|
|
49
|
+
// 支持 `/model <id>` 直切,无参时弹选择器
|
|
50
|
+
let chosen = args[0];
|
|
51
|
+
if (chosen && !models.some((model) => model.id === chosen)) {
|
|
52
|
+
push(`未知模型:${chosen}(可选:${models.map((m) => m.id).join(" / ")})`, "error");
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
if (!chosen) {
|
|
56
|
+
const items = models.map((model) => ({
|
|
57
|
+
label: model.id === session.modelId ? `${model.name}(当前)` : model.name,
|
|
58
|
+
value: model.id,
|
|
59
|
+
hint: model.id,
|
|
60
|
+
}));
|
|
61
|
+
const picked = await new Promise((resolve) => setPickerState({ title: "切换模型(会写入配置)", items, resolve }));
|
|
62
|
+
if (picked == null) {
|
|
63
|
+
push("已取消切换模型");
|
|
64
|
+
break;
|
|
65
|
+
}
|
|
66
|
+
chosen = picked;
|
|
67
|
+
}
|
|
68
|
+
if (chosen === session.modelId) {
|
|
69
|
+
push(`已经是当前模型:${chosen}`);
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
// 先确认目标模型可用:重挂载走的是 ChatSession.create → createModel,
|
|
73
|
+
// 端点缺 Key 会直接抛错落到启动错误屏,用户连 /key 都进不去
|
|
74
|
+
const targetModel = models.find((model) => model.id === chosen);
|
|
75
|
+
const targetEndpoint = (config.endpoints ?? []).find((endpoint) => endpoint.id === targetModel.endpointId);
|
|
76
|
+
if (!targetEndpoint) {
|
|
77
|
+
push(`模型 ${chosen} 引用的端点 ${targetModel.endpointId} 不存在,请用 /config 检查`, "error");
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
if (!targetEndpoint.apiKey) {
|
|
81
|
+
push(`端点「${targetEndpoint.name}」还没有 API Key,请先用 /config 配置后再切换`, "error");
|
|
82
|
+
break;
|
|
83
|
+
}
|
|
84
|
+
try {
|
|
85
|
+
// 写入位置由「Agent 是否显式绑定模型」决定(见 model-switch.ts)
|
|
86
|
+
const result = await switchModel({ config, agentId: session.agentId, modelId: chosen });
|
|
87
|
+
// Scope 持有配置快照:不重建的话 getScope() 会把旧模型又交给新 Agent
|
|
88
|
+
await resetScope();
|
|
89
|
+
// 重挂载对话屏:模型变了要重算上下文阈值、重建 Agent;消息与上下文保留
|
|
90
|
+
exit({
|
|
91
|
+
restart: true,
|
|
92
|
+
modelId: chosen,
|
|
93
|
+
agentId: session.agentId,
|
|
94
|
+
messages: session.messages,
|
|
95
|
+
notice: result.summary,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
push(`切换模型失败:${error?.message ?? error}`, "error");
|
|
100
|
+
}
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
case "think":
|
|
104
|
+
case "effort": {
|
|
105
|
+
const config = await readConfig();
|
|
106
|
+
const presets = await readReasoningPresets();
|
|
107
|
+
const store = await readAgentStore();
|
|
108
|
+
const definition = store.agents.find((item) => item.id === session.agentId) ?? null;
|
|
109
|
+
const modelId = definition?.modelId ?? config.defaultModel;
|
|
110
|
+
const model = (config.models ?? []).find((item) => item.id === modelId);
|
|
111
|
+
if (!model) {
|
|
112
|
+
push(`模型 ${modelId} 不存在,请用 /model 或 /config 检查`, "error");
|
|
113
|
+
break;
|
|
114
|
+
}
|
|
115
|
+
const choices = effortChoices(model, presets);
|
|
116
|
+
if (choices.length === 0) {
|
|
117
|
+
push(`模型 ${model.id} 未关联可用的思考策略(缺 reasoningPreset,或策略表里没这一档),无法调整`, "error");
|
|
118
|
+
break;
|
|
119
|
+
}
|
|
120
|
+
// 支持 `/think high` 直设、`/think default` 恢复跟随模型默认,无参时弹选择器
|
|
121
|
+
let picked = args[0];
|
|
122
|
+
if (picked !== undefined && picked !== "default" && !choices.includes(picked)) {
|
|
123
|
+
push(`未知强度:${picked}(可选 ${choices.join(" / ")} / default)`, "error");
|
|
124
|
+
break;
|
|
125
|
+
}
|
|
126
|
+
if (!picked) {
|
|
127
|
+
const current = definition?.reasoningEffort;
|
|
128
|
+
const items = [
|
|
129
|
+
{
|
|
130
|
+
label: `跟随模型默认${current ? "" : "(当前)"}`,
|
|
131
|
+
value: "default",
|
|
132
|
+
hint: "删除 Agent 上的档位声明",
|
|
133
|
+
},
|
|
134
|
+
...choices.map((value) => ({
|
|
135
|
+
label: `${effortLabel(value)}${value === current ? "(当前)" : ""}`,
|
|
136
|
+
value,
|
|
137
|
+
hint: value,
|
|
138
|
+
})),
|
|
139
|
+
];
|
|
140
|
+
const choice = await new Promise((resolve) => setPickerState({
|
|
141
|
+
title: `思考强度(当前:${describeEffort(model, presets, definition)})`,
|
|
142
|
+
items,
|
|
143
|
+
resolve,
|
|
144
|
+
}));
|
|
145
|
+
if (choice == null) {
|
|
146
|
+
push("已取消切换思考强度");
|
|
147
|
+
break;
|
|
148
|
+
}
|
|
149
|
+
picked = choice;
|
|
150
|
+
}
|
|
151
|
+
const effort = picked === "default" ? null : picked;
|
|
152
|
+
const unchanged = effort === null ? !definition?.reasoningEffort : definition?.reasoningEffort === effort;
|
|
153
|
+
if (unchanged) {
|
|
154
|
+
push("思考强度未变化");
|
|
155
|
+
break;
|
|
156
|
+
}
|
|
157
|
+
try {
|
|
158
|
+
const result = await setAgentEffort({
|
|
159
|
+
config,
|
|
160
|
+
presets,
|
|
161
|
+
agentId: session.agentId,
|
|
162
|
+
effort,
|
|
163
|
+
// 已读过定义,避免命令层与写入层各读一次盘
|
|
164
|
+
readAgent: async () => definition,
|
|
165
|
+
});
|
|
166
|
+
// 状态栏先跟上;档位要通过重建 Agent 才会进请求参数
|
|
167
|
+
setEffortText(describeEffort(result.model, presets, result.definition));
|
|
168
|
+
await session.reload();
|
|
169
|
+
push(result.summary);
|
|
170
|
+
}
|
|
171
|
+
catch (error) {
|
|
172
|
+
push(`切换思考强度失败:${error?.message ?? error}`, "error");
|
|
173
|
+
}
|
|
174
|
+
break;
|
|
175
|
+
}
|
|
37
176
|
case "help": {
|
|
38
177
|
const lines = ["可用命令:"];
|
|
39
178
|
for (const hint of matchCommandHints("")) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-commands.js","sourceRoot":"","sources":["../../../src/tui/screens/chat-commands.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat-commands.js","sourceRoot":"","sources":["../../../src/tui/screens/chat-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../src/tui/screens/chat.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../src/tui/screens/chat.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAM9C,OAAO,EAAE,WAAW,EAAqB,MAAM,yCAAyC,CAAC;AA2BzF,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,+BAA+B;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAMhG;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,eAAe,+BA04B1C"}
|