@agents-ensemble/cli 0.14.0 → 0.15.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.
Files changed (73) hide show
  1. package/README.md +13 -3
  2. package/config.example.yaml +7 -3
  3. package/dist/index.js +8 -3
  4. package/dist/index.js.map +1 -1
  5. package/dist/issue-command.d.ts +6 -4
  6. package/dist/issue-command.d.ts.map +1 -1
  7. package/dist/issue-command.js +13 -10
  8. package/dist/issue-command.js.map +1 -1
  9. package/dist/session-log-lines.js +1 -1
  10. package/dist/session-log-lines.js.map +1 -1
  11. package/dist/tui/activity-log.d.ts +1 -1
  12. package/dist/tui/activity-log.d.ts.map +1 -1
  13. package/dist/tui/activity-log.js +16 -2
  14. package/dist/tui/activity-log.js.map +1 -1
  15. package/dist/tui/create-issue-session-tui-host.d.ts.map +1 -1
  16. package/dist/tui/create-issue-session-tui-host.js +1 -1
  17. package/dist/tui/create-issue-session-tui-host.js.map +1 -1
  18. package/dist/tui/ink-test-keys.d.ts +4 -0
  19. package/dist/tui/ink-test-keys.d.ts.map +1 -1
  20. package/dist/tui/ink-test-keys.js +4 -0
  21. package/dist/tui/ink-test-keys.js.map +1 -1
  22. package/dist/tui/issue-session-tui-stream.d.ts.map +1 -1
  23. package/dist/tui/issue-session-tui-stream.js +77 -8
  24. package/dist/tui/issue-session-tui-stream.js.map +1 -1
  25. package/dist/tui/issue-session-tui-stream.test.js +257 -3
  26. package/dist/tui/issue-session-tui-stream.test.js.map +1 -1
  27. package/dist/tui/issue-session-tui.d.ts +3 -2
  28. package/dist/tui/issue-session-tui.d.ts.map +1 -1
  29. package/dist/tui/issue-session-tui.js +145 -12
  30. package/dist/tui/issue-session-tui.js.map +1 -1
  31. package/dist/tui/issue-session-tui.test.js +390 -16
  32. package/dist/tui/issue-session-tui.test.js.map +1 -1
  33. package/dist/tui/open-questions-pane.d.ts +19 -0
  34. package/dist/tui/open-questions-pane.d.ts.map +1 -1
  35. package/dist/tui/open-questions-pane.js +35 -34
  36. package/dist/tui/open-questions-pane.js.map +1 -1
  37. package/dist/tui/operator-command-suggestions.d.ts +15 -0
  38. package/dist/tui/operator-command-suggestions.d.ts.map +1 -1
  39. package/dist/tui/operator-input-history.d.ts +13 -0
  40. package/dist/tui/operator-input-history.d.ts.map +1 -0
  41. package/dist/tui/operator-input-history.js +51 -0
  42. package/dist/tui/operator-input-history.js.map +1 -0
  43. package/dist/tui/operator-input-layout.d.ts +2 -0
  44. package/dist/tui/operator-input-layout.d.ts.map +1 -1
  45. package/dist/tui/operator-input-layout.js +73 -0
  46. package/dist/tui/operator-input-layout.js.map +1 -1
  47. package/dist/tui/operator-text-area.d.ts +2 -0
  48. package/dist/tui/operator-text-area.d.ts.map +1 -1
  49. package/dist/tui/operator-text-area.js +16 -4
  50. package/dist/tui/operator-text-area.js.map +1 -1
  51. package/dist/tui/operator-text-area.test-double.d.ts.map +1 -1
  52. package/dist/tui/operator-text-area.test-double.js +13 -12
  53. package/dist/tui/operator-text-area.test-double.js.map +1 -1
  54. package/dist/tui/operator-text-area.test.js +16 -2
  55. package/dist/tui/operator-text-area.test.js.map +1 -1
  56. package/dist/tui/pane-layout.d.ts +2 -0
  57. package/dist/tui/pane-layout.d.ts.map +1 -1
  58. package/dist/tui/pane-layout.js +7 -3
  59. package/dist/tui/pane-layout.js.map +1 -1
  60. package/dist/tui/stream-layout.d.ts +3 -3
  61. package/dist/tui/stream-layout.d.ts.map +1 -1
  62. package/dist/tui/stream-layout.js +6 -6
  63. package/dist/tui/stream-layout.js.map +1 -1
  64. package/dist/tui/tui-layout-constants.d.ts +1 -1
  65. package/dist/tui/tui-layout-constants.d.ts.map +1 -1
  66. package/dist/tui/tui-layout-constants.js +1 -1
  67. package/dist/tui/tui-layout-constants.js.map +1 -1
  68. package/dist/tui/tui-view-model.d.ts.map +1 -1
  69. package/dist/tui/tui-view-model.js +2 -8
  70. package/dist/tui/tui-view-model.js.map +1 -1
  71. package/docs/config.md +107 -20
  72. package/docs/settings.md +9 -7
  73. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"issue-session-tui.js","sourceRoot":"","sources":["../../src/tui/issue-session-tui.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAAkB,MAAM,OAAO,CAAC;AAChH,OAAO,EACL,mBAAmB,GAGpB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,+BAA+B,GAEhC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,yBAAyB,EACzB,8BAA8B,EAC9B,4BAA4B,EAC5B,+BAA+B,EAC/B,4BAA4B,GAK7B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,4BAA4B,EAC5B,+BAA+B,EAC/B,8BAA8B,GAE/B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,qBAAqB,EACrB,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EACL,+BAA+B,EAC/B,iCAAiC,EACjC,6BAA6B,GAC9B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,4CAA4C,EAC5C,oCAAoC,EACpC,gCAAgC,GACjC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,EAC3B,uCAAuC,GACxC,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/E,OAAO,EACL,kBAAkB,GAEnB,MAAM,wBAAwB,CAAC;AAUhC,SAAS,mBAAmB,CAAC,OAAe;IAC1C,OAAO,mBAAmB,CAAC;QACzB,OAAO;QACP,QAAQ,EAAE,cAAc;QACxB,WAAW,EAAE,kBAAkB;KAChC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAC/B,IAAI,EACJ,KAAK,EACL,QAAQ,GAAG,KAAK,EAChB,KAAK,EACL,QAAQ,EACR,aAAa,GAAG,OAAO,GAQxB;IACC,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,MAAM,SAAS,GACb,QAAQ,IAAI,UAAU,IAAI,aAAa,KAAK,MAAM;QAChD,CAAC,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC;QACxC,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO,CACL,4BACG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAC1B,KAAC,IAAI,IAA0B,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,YAC5D,KAAK,KAAK,CAAC,IAAI,SAAS,IAAI,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CACvE,8BACE,KAAC,IAAI,cAAE,SAAS,GAAQ,EACxB,KAAC,IAAI,cAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,GAAQ,IAC3C,CACJ,CAAC,CAAC,CAAC,CACF,IAAI,CACL,IARQ,GAAG,KAAK,IAAI,IAAI,EAAE,CAStB,CACR,CAAC,GACD,CACJ,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAuB;IACrD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,CACL,MAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,EAAC,QAAQ,wBACzB,KAAK,SACF,CACR,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,KAAK,CAAC,CAAC,CAAC,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,kBAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAC,IAAI,oBAAG,KAAK,SAAS,CAAC;AAC/E,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,4BAA4B,CAC1C,QAAiC,EACjC,gBAA+B,OAAO;IAEtC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAC,IAAI,oBAAS,CAAC;IACxB,CAAC;IAED,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CACtC,KAAC,IAAI,IAEH,IAAI,EAAE,OAAO,CAAC,IAAI,EAClB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAChF,SAAS,EAAE,OAAO,CAAC,IAAI,KAAK,SAAS,YAEpC,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,aAAa,KAAK,MAAM;YACrD,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;YAC5C,CAAC,CAAC,OAAO,CAAC,IAAI,IAPX,GAAG,KAAK,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,CAQhD,CACR,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,EACxC,IAAI,EACJ,aAAa,GAAG,OAAO,GAIxB;IACC,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAChC,OAAO,KAAC,IAAI,oBAAS,CAAC;IACxB,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAC/B,2DAA2D;QAC3D,OAAO,KAAC,IAAI,cAAE,4BAA4B,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAQ,CAAC;IACnF,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;YAC/B,OAAO,KAAC,IAAI,oBAAS,CAAC;QACxB,CAAC;QACD,OAAO,KAAC,IAAI,cAAE,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAQ,CAAC;IAC3D,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;QAC/B,OAAO,KAAC,IAAI,oBAAS,CAAC;IACxB,CAAC;IAED,OAAO,CACL,MAAC,IAAI,eACF,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,EACnC,MAAC,IAAI,oBAAG,4BAA4B,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,IAAQ,IACrE,CACR,CAAC;AACJ,CAAC;AAED,SAAS,+BAA+B,CACtC,IAAY,EACZ,MAAwE;IAExE,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAChC,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,IAAI,UAAU,CAAC;YAC5C,OAAO,cAAc,KAAK,EAAE,CAAC;QAC/B,CAAC;QACD,OAAO,cAAc,MAAM,CAAC,MAAM,EAAE,CAAC;IACvC,CAAC;IACD,MAAM,WAAW,GAAG,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/D,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACnD,OAAO,GAAG,WAAW,cAAc,MAAM,CAAC,QAAQ,GAAG,CAAC;IACxD,CAAC;IACD,OAAO,GAAG,WAAW,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,iBAAiB,CACxB,OAAkE;IAElE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE;QAC5C,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;YAC1B,OAAO,CAAC,CAAC,CAAC;QACZ,CAAC;QACD,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;YAC1B,OAAO,CAAC,CAAC;QACX,CAAC;QACD,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAC/B,OAAO,EACP,YAAY,EACZ,MAAM,GAAG,kBAAkB,EAC3B,eAAe,EACf,QAAQ,EACR,aAAa,GAAG,OAAO,GAQxB;IACC,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,MAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,MAAM,kBAAkB,GACtB,YAAY,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,YAAY,CAAC,cAAc,GAAG,CAAC,CAAC;QACpE,CAAC,CAAC,6BAA6B,YAAY,CAAC,cAAc,KAAK;QAC/D,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO,CACL,KAAC,gBAAgB,IACf,KAAK,EAAE,iBAAiB,EACxB,WAAW,EAAE,kBAAkB,EAC/B,UAAU,EAAE,eAAe,EAC3B,kBAAkB,EAAE,QAAQ,EAC5B,kBAAkB,EAAE,aAAa,EACjC,WAAW,EAAC,OAAO,EACnB,WAAW,EAAC,MAAM,EAClB,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,eAAe,YAE/B,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACtB,KAAC,IAAI,IAAC,QAAQ,2CAAa,CAC5B,CAAC,CAAC,CAAC,CACF,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAC9B,KAAC,IAAI,cAAa,+BAA+B,CAAC,IAAI,EAAE,MAAM,CAAC,IAApD,IAAI,CAAwD,CACxE,CAAC,CACH,GACgB,CACpB,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,EACzB,WAAW,EACX,YAAY,EACZ,UAAU,EACV,eAAe,EACf,eAAe,EACf,aAAa,GAQd;IACC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,EAAE,qBAAqB,EAAE,WAAW,EAAE,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IACjF,MAAM,cAAc,GAAG,eAAe,KAAK,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,cAAc;QAC/B,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,sDAAsD,CAAC;IAC3D,MAAM,qBAAqB,GAAG,uCAAuC,CAAC,UAAU,CAAC,CAAC;IAClF,MAAM,YAAY,GAChB,WAAW,IAAI,qBAAqB,GAAG,CAAC;QACtC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAChD,CAAC,CAAC,qBAAqB,CAAC;IAC5B,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CAAC,4BAA4B,CAAC,WAAW,EAAE,YAAY,CAAC,EAC7D,CAAC,WAAW,EAAE,YAAY,CAAC,CAC5B,CAAC;IACF,MAAM,YAAY,GAAG,4BAA4B,CAC/C,YAAY,EACZ,YAAY,EACZ,eAAe,CAChB,CAAC;IAEF,OAAO,CACL,KAAC,gBAAgB,IACf,KAAK,EAAE,eAAe,EACtB,WAAW,EAAE,UAAU,EACvB,WAAW,EAAC,OAAO,EACnB,WAAW,EAAC,OAAO,EACnB,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,UAAU,EAClB,eAAe,EAAE,eAAe,YAEhC,KAAC,GAAG,IAAC,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,YACxE,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAC1B,KAAC,IAAI,IAAC,QAAQ,6DAAgB,CAC/B,CAAC,CAAC,CAAC,CACF,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAChC,KAAC,yBAAyB,IAExB,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,aAAa,IAFvB,YAAY,KAAK,EAAE,CAGxB,CACH,CAAC,CACH,GACG,GACW,CACpB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAChC,MAAM,EACN,eAAe,EACf,aAAa,GAAG,OAAO,GAKxB;IACC,IAAI,MAAM,CAAC,UAAU,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,KAAC,gBAAgB,IACf,KAAK,EAAE,MAAM,CAAC,SAAS,EACvB,WAAW,EAAE,MAAM,CAAC,WAAW,EAC/B,WAAW,EAAC,OAAO,EACnB,WAAW,EAAC,SAAS,EACrB,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM,CAAC,UAAU,EACzB,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,KAAK,YAEf,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAC7B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,CAClC,KAAC,IAAI,IAEH,QAAQ,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,YAEzC,4BAA4B,CAAC,IAAI,EAAE,aAAa,CAAC,IAH7C,GAAG,IAAI,CAAC,EAAE,IAAI,SAAS,EAAE,CAIzB,CACR,CAAC,CACH,GACgB,CACpB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAC9B,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,aAAa,GAAG,MAAM,EACtB,iBAAiB,GACI;IACrB,MAAM,QAAQ,GAAG,oBAAoB,CACnC,SAAS,CAAC,SAAS,EACnB,SAAS,CAAC,WAAW,EACrB,SAAS,CAAC,WAAW,CACtB,CAAC;IACF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACjD,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,QAAQ,CAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzF,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpE,MAAM,CAAC,6BAA6B,EAAE,gCAAgC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtF,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,CAAC,gCAAgC,EAAE,mCAAmC,CAAC,GAC3E,QAAQ,EAAU,CAAC;IACrB,MAAM,sBAAsB,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC5D,MAAM,2BAA2B,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;IAC3D,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,YAAY,CAAC;IACtE,0EAA0E;IAC1E,8EAA8E;IAC9E,kDAAkD;IAClD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAG,qBAAqB,CAAC;IAC7C,MAAM,oBAAoB,GAAG,2BAA2B,CAAC,aAAa,CAAC,CAAC;IACxE,MAAM,aAAa,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,mBAAmB,GAAG,OAAO,CACjC,GAAG,EAAE,CACH,8BAA8B,CAAC;QAC7B,aAAa;QACb,aAAa,EAAE,qBAAqB;QACpC,YAAY;QACZ,YAAY,EAAE,aAAa;KAC5B,CAAC,EACJ,CAAC,aAAa,EAAE,qBAAqB,EAAE,YAAY,EAAE,aAAa,CAAC,CACpE,CAAC;IACF,MAAM,gBAAgB,GAAG,aAAa,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAC1E,MAAM,kBAAkB,GAAG,6BAA6B,CAAC,UAAU,CAAC,CAAC;IACrE,MAAM,sBAAsB,GAAG,iCAAiC,CAC9D,UAAU,EACV,YAAY,EACZ,oBAAoB,CACrB,CAAC;IACF,MAAM,oBAAoB,GAAG,+BAA+B,CAAC;QAC3D,aAAa;QACb,SAAS,EAAE,gBAAgB;YACzB,CAAC,CAAC;gBACE,EAAE,EAAE,gBAAgB,CAAC,EAAE;gBACvB,KAAK,EAAE,mBAAmB,CAAC,aAAa;gBACxC,KAAK,EAAE,aAAa,CAAC,MAAM;aAC5B;YACH,CAAC,CAAC,SAAS;QACb,YAAY,EAAE,QAAQ,CAAC,YAAY;KACpC,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnD,MAAM,iBAAiB,GACrB,oBAAoB,CAAC,IAAI,KAAK,eAAe;QAC7C,CAAC,QAAQ,CAAC,YAAY;QACtB,CAAC,YAAY;QACb,gBAAgB,EAAE,EAAE,KAAK,gCAAgC;QACvD,CAAC,CAAC,gCAAgC,CAAC,UAAU,EAAE,gBAAgB,CAAC;QAChE,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,qBAAqB,GAAG,oCAAoC,CAChE,iBAAiB,EACjB,YAAY,EACZ,6BAA6B,CAC9B,CAAC;IACF,MAAM,uBAAuB,GAC3B,oBAAoB,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACrF,MAAM,aAAa,GAAG,oBAAoB,CAAC,SAAS,CAAC,MAAM,CACzD,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,SAAS,GAAG,eAAe,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,MAAM,EACnF,sBAAsB,CAAC,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAC7D,CAAC;IACF,MAAM,4BAA4B,GAAG,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,CAAC;IAC3F,MAAM,eAAe,GAAG,sBAAsB,CAAC;QAC7C,aAAa;QACb,qBAAqB,EAAE,4BAA4B;KACpD,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,kBAAkB,CAAC;QACrC,aAAa;QACb,kBAAkB,EAChB,aAAa;YACb,kBAAkB;YAClB,uBAAuB;YACvB,eAAe;QACjB,uBAAuB;QACvB,eAAe;KAChB,CAAC,CAAC;IACH,MAAM,EAAE,kBAAkB,EAAE,GAAG,WAAW,CAAC;IAC3C,MAAM,gBAAgB,GAAG,uCAAuC,CAAC,kBAAkB,CAAC,CAAC;IACrF,MAAM,gBAAgB,GAAG,OAAO,CAC9B,GAAG,EAAE,CAAC,4BAA4B,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,MAAM,EAC7E,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CACrC,CAAC;IACF,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,CAAC,CAAC;IAC5E,MAAM,WAAW,GAAG;QAClB,CAAC,EAAE,2BAA2B,CAAC,cAAc,CAAC;QAC9C,CAAC,EAAE,2BAA2B,CAAC;YAC7B,YAAY,EAAE,aAAa;YAC3B,aAAa;YACb,qBAAqB,EAAE,4BAA4B;YACnD,uBAAuB;YACvB,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;YAC9C,kBAAkB;YAClB,gBAAgB,EAAE,CAAC;SACpB,CAAC;KACH,CAAC;IACF,MAAM,4BAA4B,GAAG,WAAW,CAAC,CAAC,SAAiB,EAAE,EAAE;QACrE,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;IACnD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,OAAO,CAAC;QAC3D,MAAM,wBAAwB,GAAG,2BAA2B,CAAC,OAAO,CAAC;QACrE,MAAM,mBAAmB,GAAG,QAAQ,CAAC,WAAW,KAAK,mBAAmB,CAAC;QACzE,sBAAsB,CAAC,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC;QACtD,2BAA2B,CAAC,OAAO,GAAG,gBAAgB,CAAC;QAEvD,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC;YAC5D,CAAC;YACD,OAAO,+BAA+B,CACpC,OAAO,EACP,wBAAwB,EACxB,gBAAgB,EAChB,kBAAkB,CACnB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IAEjE,SAAS,CAAC,GAAG,EAAE;QACb,wBAAwB,CAAC,CAAC,OAAO,EAAE,EAAE,CACnC,+BAA+B,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAC/D,CAAC;IACJ,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,SAAS,CAAC,GAAG,EAAE;QACb,gCAAgC,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC,EAAE,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC;IAE3B,MAAM,iBAAiB,GAAG,CAAC,MAA+B,EAAE,EAAE;QAC5D,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE,CAC7B,8BAA8B,CAC5B,OAAO,EACP,MAAM,EACN,gBAAgB,EAChB,kBAAkB,CACnB,CACF,CAAC;IACJ,CAAC,CAAC;IAEF,QAAQ,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QACvB,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YAC1C,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAChB,wBAAwB,CAAC,CAAC,OAAO,EAAE,EAAE,CACnC,4BAA4B,CAAC,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAClE,CAAC;gBACF,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBAClB,wBAAwB,CAAC,CAAC,OAAO,EAAE,EAAE,CACnC,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CACpE,CAAC;gBACF,OAAO;YACT,CAAC;QACH,CAAC;QAED,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAChB,uBAAuB,CAAC,CAAC,OAAO,EAAE,EAAE,CAClC,+BAA+B,CAAC,OAAO,EAAE,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAC1E,CAAC;gBACF,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBAClB,uBAAuB,CAAC,CAAC,OAAO,EAAE,EAAE,CAClC,+BAA+B,CAAC,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAC5E,CAAC;gBACF,OAAO;YACT,CAAC;QACH,CAAC;QAED,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAChB,gCAAgC,CAAC,CAAC,OAAO,EAAE,EAAE,CAC3C,4CAA4C,CAC1C,OAAO,EACP,IAAI,EACJ,iBAAiB,CAAC,MAAM,CACzB,CACF,CAAC;gBACF,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBAClB,gCAAgC,CAAC,CAAC,OAAO,EAAE,EAAE,CAC3C,4CAA4C,CAC1C,OAAO,EACP,MAAM,EACN,iBAAiB,CAAC,MAAM,CACzB,CACF,CAAC;gBACF,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,kBAAkB,GAAG,GAAG,CAAC,IAAI,CAAC;QACpC,MAAM,qBAAqB,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,kBAAkB,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAClD,OAAO;QACT,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjB,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAC9B,OAAO;QACT,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YACb,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,qBAAqB,GAAG,GAAG,EAAE;QACjC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,6BAA6B,CAAC,CAAC;QAC5E,IAAI,CAAC,gBAAgB,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,aAAa,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACxC,sBAAsB,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7D,mCAAmC,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACzD,gCAAgC,CAAC,CAAC,CAAC,CAAC;QACpC,wBAAwB,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,EAAE;QACrC,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,qBAAqB,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,QAAQ,CACN,OAAO,EACP,gBAAgB,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;YAC1C,CAAC,CAAC,EAAE,oBAAoB,EAAE,gBAAgB,CAAC,EAAE,EAAE;YAC/C,CAAC,CAAC,SAAS,CACd,CAAC;QACF,aAAa,CAAC,EAAE,CAAC,CAAC;QAClB,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/B,uBAAuB,CAAC,CAAC,CAAC,CAAC;QAC3B,gCAAgC,CAAC,CAAC,CAAC,CAAC;QACpC,mCAAmC,CAAC,SAAS,CAAC,CAAC;QAC/C,wBAAwB,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAE,EAAE;QAC1C,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,uBAAuB,CAAC,CAAC,CAAC,CAAC;QAC3B,gCAAgC,CAAC,CAAC,CAAC,CAAC;QACpC,mCAAmC,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,CAAC,KAAc,EAAE,EAAE;QAC7C,IAAI,KAAK,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,eAAe,GAAG,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;YACjE,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YACpC,sBAAsB,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACzD,uBAAuB,CAAC,CAAC,CAAC,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,qBAAqB,EAAE,CAAC;IAC1B,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,aACvE,KAAC,gBAAgB,IACf,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,OAAO,EACtC,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC,YAAY,EAChD,MAAM,EAAE,WAAW,CAAC,gBAAgB,EACpC,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,aAAa,GAC5B,EACF,KAAC,iBAAiB,IAChB,WAAW,EAAE,QAAQ,CAAC,WAAW,EACjC,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,WAAW,CAAC,kBAAkB,EAC1C,eAAe,EAAE,eAAe,EAChC,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC5B,EACD,oBAAoB,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,CAC/C,KAAC,iBAAiB,IAChB,MAAM,EAAE;oBACN,GAAG,mBAAmB;oBACtB,UAAU,EAAE,WAAW,CAAC,uBAAuB;iBAChD,EACD,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC5B,CACH,CAAC,CAAC,CAAC,IAAI,EACR,MAAC,gBAAgB,IACf,KAAK,EAAE,gBAAgB,EACvB,WAAW,EAAC,QAAQ,EACpB,WAAW,EAAE,uBAAuB,EACpC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,WAAW,CAAC,eAAe,EACnC,eAAe,EAAE,eAAe,aAE/B,oBAAoB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CACvD,KAAC,gBAAgB,IAEf,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,qBAAqB,IAHvB,gBAAgB,KAAK,EAAE,CAI5B,CACH,CAAC,EACD,sBAAsB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACpC,KAAC,IAAI,IAEH,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,EACvD,IAAI,EAAE,IAAI,CAAC,UAAU,YAEpB,IAAI,CAAC,IAAI,IAJL,+BAA+B,IAAI,CAAC,EAAE,EAAE,CAKxC,CACR,CAAC,EACD,qBAAqB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnC,KAAC,IAAI,IAEH,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,EACvD,IAAI,EAAE,IAAI,CAAC,UAAU,YAEpB,IAAI,CAAC,IAAI,IAJL,mCAAmC,IAAI,CAAC,EAAE,EAAE,CAK5C,CACR,CAAC,EACF,KAAC,gBAAgB,IACf,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,iBAAiB,EAC3B,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,CAAC,QAAQ,CAAC,YAAY,EAC7B,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,cAAc,EAC5B,eAAe,EAAE,oBAAoB,EACrC,wBAAwB,EAAE,4BAA4B,EACtD,iBAAiB,EACf,kBAAkB,CAAC,MAAM,GAAG,CAAC,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAE/D,KAAK,EACH,kBAAkB,CAAC,MAAM,GAAG,CAAC,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC;4BAC3D,CAAC,CAAC,mBAAmB;4BACrB,CAAC,CAAC,SAAS,EAEf,cAAc,EAAE,mBAAmB,EACnC,cAAc,EAAE,sBAAsB,EACtC,WAAW,EAAE,WAAW,GACxB,IACe,IACf,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"issue-session-tui.js","sourceRoot":"","sources":["../../src/tui/issue-session-tui.tsx"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
3
3
  vi.mock('./operator-text-area.js', () => import('./operator-text-area.test-double.js'));
4
4
  import { EventEmitter } from 'node:events';
5
5
  import { cleanup, render } from 'ink-testing-library';
6
+ import stringWidth from 'string-width';
6
7
  import { IssueSessionTui } from './issue-session-tui.js';
7
8
  import { createTuiViewModel } from './tui-view-model.js';
8
9
  import { buildActivityLogDisplayLines } from './activity-log.js';
@@ -10,10 +11,11 @@ import { resolveOperatorInputDisplayMode } from './format-operator-context.js';
10
11
  import { flushInkStdin, INK_TEST_KEYS } from './ink-test-keys.js';
11
12
  import { extractOrchestrationPaneFrameStats, extractTuiPaneFrameStats } from './orchestration-pane-frame.js';
12
13
  import { resolveOpenQuestionsPaneLayout } from './open-questions-pane.js';
14
+ import { computeWorkerPaneHeight } from './pane-layout.js';
13
15
  import { computeActivityLogLineCapacity, computeActivityPaneHeight, computeInputPaneHeight, computeOrchestrationLogVisibleLineCount, computeOperatorInputCursorX, computeOperatorInputLineIndex, } from './compute-operator-input-cursor-y.js';
14
16
  import { getPaneContentWidth } from './wrap-text-to-width.js';
15
17
  import { resolvePaneHeights } from './pane-layout.js';
16
- import { INPUT_PANE_TITLE, MAIN_PANE_TITLE, OPEN_QUESTIONS_PANE_MIN_HEIGHT, OPERATOR_INPUT_PROMPT, OPERATOR_INPUT_CURSOR_Y_OFFSET, PANE_PADDING_X, ROUND_BORDER_WIDTH, WORKER_PANE_HEIGHT, WORKER_PANE_TITLE, } from './tui-layout-constants.js';
18
+ import { INPUT_PANE_TITLE, MAIN_PANE_TITLE, OPEN_QUESTIONS_PANE_MIN_HEIGHT, OPERATOR_INPUT_PROMPT, OPERATOR_INPUT_CURSOR_Y_OFFSET, PANE_PADDING_X, ROUND_BORDER_WIDTH, WORKER_PANE_TITLE, } from './tui-layout-constants.js';
17
19
  import { createTuiResizeController, createTuiTerminalSizeStore, TUI_RESIZE_SETTLE_MS, TUI_RESIZE_SHRINK_COALESCE_MS, } from './tui-terminal-size.js';
18
20
  class ResizeSource extends EventEmitter {
19
21
  columns = 80;
@@ -53,6 +55,7 @@ function fillScrollableHarnessLog(viewModel, count = 30) {
53
55
  const SCROLL_HINT = 'PgUp/PgDn でスクロール';
54
56
  const ISSUE_URL = 'https://github.com/otolab/agents-ensemble/issues/249';
55
57
  const NON_CANONICAL_ISSUE_URL = 'http://github.com/otolab/agents-ensemble/issues/249/';
58
+ const LONG_QUESTION_CONTEXT = Array.from({ length: 40 }, (_, index) => `context-line-${String(index).padStart(2, '0')} ${'wrapped segment '.repeat(6)}`).join('\n');
56
59
  function createOpenQuestion(overrides) {
57
60
  return {
58
61
  responseType: 'text',
@@ -111,6 +114,153 @@ describe('IssueSessionTui', () => {
111
114
  await flushInkStdin();
112
115
  expect(onSubmit).toHaveBeenCalledWith('/ex', undefined);
113
116
  });
117
+ it('navigates submitted history at visual boundaries and restores an edited draft', async () => {
118
+ const viewModel = createTuiViewModel();
119
+ const onSubmit = vi.fn();
120
+ const { stdin, lastFrame } = render(_jsx(IssueSessionTui, { viewModel: viewModel, onSubmit: onSubmit }));
121
+ stdin.write('A');
122
+ await flushInkStdin();
123
+ stdin.write('\r');
124
+ await flushInkStdin();
125
+ expect(onSubmit).toHaveBeenCalledWith('A', undefined);
126
+ stdin.write('\u001B[200~line1\nline2\u001B[201~');
127
+ await flushInkStdin();
128
+ stdin.write(INK_TEST_KEYS.upArrow);
129
+ await flushInkStdin();
130
+ stdin.write('X');
131
+ await flushInkStdin();
132
+ stdin.write(INK_TEST_KEYS.home);
133
+ await flushInkStdin();
134
+ stdin.write(INK_TEST_KEYS.upArrow);
135
+ await flushInkStdin();
136
+ expect(lastFrame() ?? '').toContain(`${OPERATOR_INPUT_PROMPT}A`);
137
+ stdin.write("'");
138
+ await flushInkStdin();
139
+ stdin.write('\r');
140
+ await flushInkStdin();
141
+ expect(onSubmit).toHaveBeenLastCalledWith("A'", undefined);
142
+ stdin.write(INK_TEST_KEYS.downArrow);
143
+ await flushInkStdin();
144
+ expect(lastFrame() ?? '').toContain(`${OPERATOR_INPUT_PROMPT}line1X`);
145
+ expect(lastFrame() ?? '').toContain('line2');
146
+ stdin.write(INK_TEST_KEYS.upArrow);
147
+ await flushInkStdin();
148
+ stdin.write(INK_TEST_KEYS.home);
149
+ await flushInkStdin();
150
+ stdin.write(INK_TEST_KEYS.upArrow);
151
+ await flushInkStdin();
152
+ expect(lastFrame() ?? '').toContain(`${OPERATOR_INPUT_PROMPT}A'`);
153
+ stdin.write(INK_TEST_KEYS.upArrow);
154
+ await flushInkStdin();
155
+ expect(lastFrame() ?? '').toContain(`${OPERATOR_INPUT_PROMPT}A`);
156
+ });
157
+ it('keeps an Open Question answer completion after a historical submit', async () => {
158
+ const viewModel = createTuiViewModel();
159
+ const question = createOpenQuestion({
160
+ id: 'inq-yes-no',
161
+ question: 'Proceed?',
162
+ responseType: 'yes_no',
163
+ });
164
+ viewModel.setDisplayState({
165
+ workers: {},
166
+ conductorOutput: null,
167
+ openQuestions: [question],
168
+ dispatchHold: { hold: false, heldEventCount: 0 },
169
+ });
170
+ const onSubmit = vi.fn();
171
+ const { stdin, lastFrame } = render(_jsx(IssueSessionTui, { viewModel: viewModel, onSubmit: onSubmit }));
172
+ stdin.write('previous input');
173
+ await flushInkStdin();
174
+ stdin.write('\r');
175
+ await flushInkStdin();
176
+ stdin.write('unsent draft');
177
+ await flushInkStdin();
178
+ stdin.write(INK_TEST_KEYS.upArrow);
179
+ await flushInkStdin();
180
+ expect(lastFrame() ?? '').toContain(`${OPERATOR_INPUT_PROMPT}previous input`);
181
+ stdin.write(' edited');
182
+ await flushInkStdin();
183
+ stdin.write('\r');
184
+ await flushInkStdin();
185
+ expect(onSubmit).toHaveBeenLastCalledWith('previous input edited', {
186
+ targetOpenQuestionId: question.id,
187
+ });
188
+ stdin.write('\r');
189
+ await flushInkStdin();
190
+ expect(lastFrame() ?? '').toContain(`${OPERATOR_INPUT_PROMPT}yes`);
191
+ stdin.write(INK_TEST_KEYS.downArrow);
192
+ await flushInkStdin();
193
+ expect(lastFrame() ?? '').toContain(`${OPERATOR_INPUT_PROMPT}yes`);
194
+ expect(lastFrame() ?? '').not.toContain(`${OPERATOR_INPUT_PROMPT}unsent draft`);
195
+ stdin.write('\r');
196
+ await flushInkStdin();
197
+ expect(onSubmit).toHaveBeenLastCalledWith('yes', {
198
+ targetOpenQuestionId: question.id,
199
+ });
200
+ });
201
+ it('moves within a soft-wrapped input and enters history only at its visual boundaries', async () => {
202
+ Object.defineProperty(process.stdout, 'columns', {
203
+ configurable: true,
204
+ value: 44,
205
+ });
206
+ const viewModel = createTuiViewModel();
207
+ const onSubmit = vi.fn();
208
+ const { stdin, lastFrame } = render(_jsx(IssueSessionTui, { viewModel: viewModel, onSubmit: onSubmit }));
209
+ const olderEntry = 'b'.repeat(90);
210
+ stdin.write(olderEntry);
211
+ await flushInkStdin();
212
+ stdin.write('\r');
213
+ await flushInkStdin();
214
+ const wrappedDraft = 'a'.repeat(90);
215
+ stdin.write(wrappedDraft);
216
+ await flushInkStdin();
217
+ stdin.write(INK_TEST_KEYS.upArrow);
218
+ await flushInkStdin();
219
+ stdin.write('X');
220
+ await flushInkStdin();
221
+ stdin.write(INK_TEST_KEYS.downArrow);
222
+ await flushInkStdin();
223
+ stdin.write('Y');
224
+ await flushInkStdin();
225
+ stdin.write(INK_TEST_KEYS.upArrow);
226
+ await flushInkStdin();
227
+ stdin.write(INK_TEST_KEYS.upArrow);
228
+ await flushInkStdin();
229
+ stdin.write(INK_TEST_KEYS.upArrow);
230
+ await flushInkStdin();
231
+ expect(lastFrame() ?? '').toContain(`${OPERATOR_INPUT_PROMPT}${olderEntry.slice(0, 10)}`);
232
+ stdin.write(INK_TEST_KEYS.upArrow);
233
+ await flushInkStdin();
234
+ stdin.write(INK_TEST_KEYS.downArrow);
235
+ await flushInkStdin();
236
+ stdin.write(INK_TEST_KEYS.downArrow);
237
+ await flushInkStdin();
238
+ stdin.write('\r');
239
+ await flushInkStdin();
240
+ const editedWrappedDraft = onSubmit.mock.calls.at(-1)?.[0];
241
+ expect(editedWrappedDraft).toHaveLength(wrappedDraft.length + 2);
242
+ expect(editedWrappedDraft.indexOf('Y') - editedWrappedDraft.indexOf('X')).toBeGreaterThan(1);
243
+ expect(editedWrappedDraft.replace(/[XY]/g, '')).toBe(wrappedDraft);
244
+ stdin.write('pending draft');
245
+ await flushInkStdin();
246
+ stdin.write(INK_TEST_KEYS.upArrow);
247
+ await flushInkStdin();
248
+ stdin.write(INK_TEST_KEYS.downArrow);
249
+ await flushInkStdin();
250
+ expect(lastFrame() ?? '').toContain(`${OPERATOR_INPUT_PROMPT}pending draft`);
251
+ stdin.write(INK_TEST_KEYS.upArrow);
252
+ await flushInkStdin();
253
+ stdin.write(INK_TEST_KEYS.upArrow);
254
+ await flushInkStdin();
255
+ stdin.write(INK_TEST_KEYS.upArrow);
256
+ await flushInkStdin();
257
+ stdin.write(INK_TEST_KEYS.upArrow);
258
+ await flushInkStdin();
259
+ expect(lastFrame() ?? '').toContain(`${OPERATOR_INPUT_PROMPT}${olderEntry.slice(0, 10)}`);
260
+ stdin.write('\r');
261
+ await flushInkStdin();
262
+ expect(onSubmit).toHaveBeenLastCalledWith(olderEntry, undefined);
263
+ });
114
264
  it('sizes the input pane using the shortened prompt width', async () => {
115
265
  Object.defineProperty(process.stdout, 'columns', {
116
266
  configurable: true,
@@ -141,12 +291,12 @@ describe('IssueSessionTui', () => {
141
291
  expect(lastFrame() ?? '').toContain('› /close');
142
292
  stdin.write(INK_TEST_KEYS.downArrow);
143
293
  await flushInkStdin();
144
- expect(lastFrame() ?? '').toContain('› /close');
294
+ expect(lastFrame() ?? '').toContain('› /idle');
145
295
  for (const key of [INK_TEST_KEYS.upArrow, INK_TEST_KEYS.upArrow]) {
146
296
  stdin.write(key);
147
297
  await flushInkStdin();
148
298
  }
149
- expect(lastFrame() ?? '').toContain('› /reconnect');
299
+ expect(lastFrame() ?? '').toContain('› /exit');
150
300
  stdin.write(INK_TEST_KEYS.upArrow);
151
301
  await flushInkStdin();
152
302
  expect(lastFrame() ?? '').toContain('› /reconnect');
@@ -720,6 +870,124 @@ describe('IssueSessionTui', () => {
720
870
  expect(frame).not.toContain('implementer (implementer)');
721
871
  expect(frame).toContain('impl (implementer): running (editing files)');
722
872
  });
873
+ it('clears running worker activity on idle transitions within a narrow Workers pane', async () => {
874
+ Object.defineProperty(process.stdout, 'columns', {
875
+ configurable: true,
876
+ value: 40,
877
+ });
878
+ const viewModel = createTuiViewModel();
879
+ viewModel.setDisplayState({
880
+ workers: {
881
+ librarian: {
882
+ kind: 'librarian',
883
+ status: 'running',
884
+ activity: 'calling: Shell',
885
+ },
886
+ impl: {
887
+ kind: 'implementer',
888
+ status: 'running',
889
+ activity: '編集中の非常に長い activity の表示幅を確認する',
890
+ },
891
+ },
892
+ conductorOutput: null,
893
+ openQuestions: [],
894
+ dispatchHold: { hold: false, heldEventCount: 0 },
895
+ });
896
+ const { lastFrame } = render(_jsx(IssueSessionTui, { viewModel: viewModel, onSubmit: () => { } }));
897
+ const runningFrame = lastFrame() ?? '';
898
+ const runningRows = extractTuiPaneFrameStats(runningFrame, WORKER_PANE_TITLE).contentRows;
899
+ expect(runningRows).toHaveLength(2);
900
+ expect(runningRows.find((line) => line.includes('librarian'))).toContain('librarian: running (calling: Shell)');
901
+ const runningImplRow = runningRows.find((line) => line.includes('impl (implementer)'));
902
+ expect(runningImplRow).toContain('impl (implementer): running');
903
+ expect(runningImplRow).toContain('…');
904
+ expect(runningRows.every((line) => stringWidth(line) === 40)).toBe(true);
905
+ viewModel.setDisplayState({
906
+ workers: {
907
+ librarian: { kind: 'librarian', status: 'idle' },
908
+ impl: { kind: 'implementer', status: 'idle' },
909
+ },
910
+ conductorOutput: null,
911
+ openQuestions: [],
912
+ dispatchHold: { hold: false, heldEventCount: 0 },
913
+ });
914
+ await flushInkStdin();
915
+ const idleFrame = lastFrame() ?? '';
916
+ const idleRows = extractTuiPaneFrameStats(idleFrame, WORKER_PANE_TITLE).contentRows;
917
+ expect(idleRows).toHaveLength(2);
918
+ expect(idleRows.find((line) => line.includes('librarian'))).toContain('librarian: idle');
919
+ expect(idleRows.find((line) => line.includes('impl (implementer)'))).toContain('impl (implementer): idle');
920
+ expect(idleFrame).not.toContain('calling: Shell');
921
+ expect(idleFrame).not.toContain('編集中の');
922
+ expect(idleRows.every((line) => stringWidth(line) === 40)).toBe(true);
923
+ });
924
+ it('keeps status visible when a long worker name and kind are truncated at 40 columns', async () => {
925
+ Object.defineProperty(process.stdout, 'columns', {
926
+ configurable: true,
927
+ value: 40,
928
+ });
929
+ const name = 'worker-name-longer-than-workers-content-width';
930
+ const kind = 'kind-name-also-much-longer-than-the-content-width';
931
+ const viewModel = createTuiViewModel();
932
+ viewModel.setDisplayState({
933
+ workers: {
934
+ [name]: { kind, status: 'running', activity: 'calling: a very long tool name' },
935
+ },
936
+ conductorOutput: null,
937
+ openQuestions: [],
938
+ dispatchHold: { hold: false, heldEventCount: 0 },
939
+ });
940
+ const { lastFrame } = render(_jsx(IssueSessionTui, { viewModel: viewModel, onSubmit: () => { } }));
941
+ const runningRow = extractTuiPaneFrameStats(lastFrame() ?? '', WORKER_PANE_TITLE).contentRows[0] ?? '';
942
+ expect(runningRow).toContain(': running');
943
+ expect(runningRow).toContain('…');
944
+ expect(runningRow).not.toContain(name);
945
+ expect(stringWidth(runningRow)).toBe(40);
946
+ viewModel.setDisplayState({
947
+ workers: {
948
+ [name]: { kind, status: 'idle' },
949
+ },
950
+ conductorOutput: null,
951
+ openQuestions: [],
952
+ dispatchHold: { hold: false, heldEventCount: 0 },
953
+ });
954
+ await flushInkStdin();
955
+ const idleRow = extractTuiPaneFrameStats(lastFrame() ?? '', WORKER_PANE_TITLE).contentRows[0] ?? '';
956
+ expect(idleRow).toContain(': idle');
957
+ expect(idleRow).toContain('…');
958
+ expect(stringWidth(idleRow)).toBe(40);
959
+ });
960
+ it('strips open SGR and OSC 8 sequences from truncated activity before rendering', () => {
961
+ Object.defineProperty(process.stdout, 'columns', {
962
+ configurable: true,
963
+ value: 40,
964
+ });
965
+ const activity = [
966
+ '\u001B[31m',
967
+ 'colored activity '.repeat(8),
968
+ '\u001B[0m',
969
+ '\u001B]8;;https://example.com/worker-activity\u0007',
970
+ 'linked activity '.repeat(8),
971
+ '\u001B]8;;\u0007',
972
+ ].join('');
973
+ const viewModel = createTuiViewModel();
974
+ viewModel.setDisplayState({
975
+ workers: {
976
+ impl: { kind: 'implementer', status: 'running', activity },
977
+ },
978
+ conductorOutput: null,
979
+ openQuestions: [],
980
+ dispatchHold: { hold: false, heldEventCount: 0 },
981
+ });
982
+ const { lastFrame } = render(_jsx(IssueSessionTui, { viewModel: viewModel, onSubmit: () => { } }));
983
+ const frame = lastFrame() ?? '';
984
+ const workerRow = extractTuiPaneFrameStats(frame, WORKER_PANE_TITLE).contentRows[0] ?? '';
985
+ expect(workerRow).toContain(': running');
986
+ expect(workerRow).toContain('…');
987
+ expect(stringWidth(workerRow)).toBe(40);
988
+ expect(frame).not.toContain('\u001B');
989
+ expect(frame).not.toContain('https://example.com/worker-activity');
990
+ });
723
991
  it('does not bleed activity log text onto pane border lines', () => {
724
992
  const terminalRows = 24;
725
993
  const liveFrameRows = terminalRows - 1;
@@ -861,15 +1129,17 @@ describe('IssueSessionTui', () => {
861
1129
  hintLineCount,
862
1130
  inputDisplayLineCount: 1,
863
1131
  });
1132
+ const desiredWorkerPaneHeight = computeWorkerPaneHeight(0);
864
1133
  const paneHeights = resolvePaneHeights({
865
1134
  liveFrameRows: 11,
866
- activityPaneHeight: 11 - WORKER_PANE_HEIGHT - requestedInputPaneHeight,
1135
+ workerPaneHeight: desiredWorkerPaneHeight,
1136
+ activityPaneHeight: 11 - desiredWorkerPaneHeight - requestedInputPaneHeight,
867
1137
  openQuestionsPaneHeight: 0,
868
1138
  inputPaneHeight: requestedInputPaneHeight,
869
1139
  });
870
1140
  expect(paneHeights).toEqual({
871
- workerPaneHeight: 5,
872
- activityPaneHeight: 3,
1141
+ workerPaneHeight: 3,
1142
+ activityPaneHeight: 5,
873
1143
  openQuestionsPaneHeight: 0,
874
1144
  inputPaneHeight: 3,
875
1145
  });
@@ -905,6 +1175,31 @@ describe('IssueSessionTui', () => {
905
1175
  expect(frame).not.toContain('任意入力');
906
1176
  expect(frame).not.toContain('/reconnect');
907
1177
  });
1178
+ it.each([1, 2, 5])('sizes the Workers pane without blank rows for %i workers plus conductor', (workerCount) => {
1179
+ const viewModel = createTuiViewModel();
1180
+ const workers = {
1181
+ conductor: { kind: 'conductor', status: 'idle' },
1182
+ };
1183
+ for (let index = 1; index <= workerCount; index++) {
1184
+ workers[`worker-${index}`] = {
1185
+ kind: `worker-${index}`,
1186
+ status: 'idle',
1187
+ };
1188
+ }
1189
+ viewModel.setDisplayState({
1190
+ workers,
1191
+ conductorOutput: null,
1192
+ openQuestions: [],
1193
+ dispatchHold: { hold: false, heldEventCount: 0 },
1194
+ });
1195
+ const { lastFrame } = render(_jsx(IssueSessionTui, { viewModel: viewModel, onSubmit: () => { } }));
1196
+ const frame = lastFrame() ?? '';
1197
+ const stats = extractTuiPaneFrameStats(frame, WORKER_PANE_TITLE);
1198
+ expect(stats.contentRows).toHaveLength(workerCount + 1);
1199
+ expect(stats.blankRows).toHaveLength(0);
1200
+ expect(frame).toContain('conductor: idle');
1201
+ expect(frame).toContain(`worker-${workerCount}: idle`);
1202
+ });
908
1203
  it('switches the lower UI between no-question and question modes', async () => {
909
1204
  const viewModel = createTuiViewModel();
910
1205
  const { lastFrame } = render(_jsx(IssueSessionTui, { viewModel: viewModel, onSubmit: () => { } }));
@@ -992,16 +1287,28 @@ describe('IssueSessionTui', () => {
992
1287
  expect(lastFrame() ?? '').not.toContain('任意入力');
993
1288
  }
994
1289
  });
995
- it('renders all activity log label kinds with distinct markers', () => {
1290
+ it('separates changing activity labels and keeps consecutive harness entries together', () => {
996
1291
  const viewModel = createTuiViewModel();
997
- viewModel.appendActivityLog('operator', 'op');
998
- viewModel.appendActivityLog('harness', 'tel');
1292
+ viewModel.appendActivityLog('harness', 'tel-1');
1293
+ viewModel.appendActivityLog('harness', 'tel-2');
999
1294
  viewModel.appendActivityLog('observation', 'obs');
1295
+ viewModel.appendActivityLog('operator', 'op');
1000
1296
  viewModel.appendActivityLog('conductor', 'cond');
1001
1297
  const { lastFrame } = render(_jsx(IssueSessionTui, { viewModel: viewModel, onSubmit: () => { } }));
1002
1298
  const frame = lastFrame() ?? '';
1003
- expect(frame).toContain('[operator] op');
1004
- expect(frame).toContain('[harness] tel');
1299
+ const lines = frame.split('\n');
1300
+ const harnessFirst = lines.findIndex((line) => line.includes('[harness] tel-1'));
1301
+ const harnessSecond = lines.findIndex((line) => line.includes('[harness] tel-2'));
1302
+ const observation = lines.findIndex((line) => line.includes('[observation] obs'));
1303
+ const operator = lines.findIndex((line) => line.includes('[operator] op'));
1304
+ const conductor = lines.findIndex((line) => line.includes('[conductor] cond'));
1305
+ expect(harnessFirst).toBeGreaterThanOrEqual(0);
1306
+ expect(harnessSecond).toBe(harnessFirst + 1);
1307
+ expect(observation).toBe(harnessSecond + 2);
1308
+ expect(operator).toBe(observation + 2);
1309
+ expect(conductor).toBe(operator + 2);
1310
+ expect(frame).toContain('[harness] tel-1');
1311
+ expect(frame).toContain('[harness] tel-2');
1005
1312
  expect(frame).toContain('[observation] obs');
1006
1313
  expect(frame).toContain('[conductor] cond');
1007
1314
  });
@@ -1196,6 +1503,73 @@ describe('IssueSessionTui', () => {
1196
1503
  expect(secondIndex).toBeGreaterThan(firstIndex + 1);
1197
1504
  });
1198
1505
  describe('open questions selection (stdin integration)', () => {
1506
+ it('scrolls the selected full context from top to bottom without taking suggestion arrows', async () => {
1507
+ const viewModel = createTuiViewModel();
1508
+ viewModel.setDisplayState({
1509
+ workers: {},
1510
+ conductorOutput: null,
1511
+ openQuestions: [
1512
+ createOpenQuestion({
1513
+ id: 'inq-long',
1514
+ question: 'Choose a mode',
1515
+ responseType: 'choice',
1516
+ context: LONG_QUESTION_CONTEXT,
1517
+ choices: [
1518
+ { id: 'safe', label: 'Safe mode' },
1519
+ { id: 'secure', label: 'Secure mode' },
1520
+ ],
1521
+ }),
1522
+ createOpenQuestion({
1523
+ id: 'inq-next',
1524
+ question: 'Anything else?',
1525
+ }),
1526
+ ],
1527
+ dispatchHold: { hold: false, heldEventCount: 0 },
1528
+ });
1529
+ const { stdin, lastFrame } = render(_jsx(IssueSessionTui, { viewModel: viewModel, onSubmit: () => { } }));
1530
+ const initialFrame = lastFrame() ?? '';
1531
+ expect(initialFrame).toContain('context-line-00');
1532
+ expect(initialFrame).not.toContain('context-line-39');
1533
+ expect(initialFrame).toContain('Shift+PgUp/PgDnで本文スクロール');
1534
+ expect(initialFrame).toContain('で選択) · Shift+PgUp/PgDn');
1535
+ expect(initialFrame).toContain('› safe: Safe mode');
1536
+ stdin.write(INK_TEST_KEYS.shiftPageDown.repeat(2));
1537
+ await flushInkStdin();
1538
+ const scrolledFrame = lastFrame() ?? '';
1539
+ expect(scrolledFrame).not.toContain('context-line-00');
1540
+ expect(scrolledFrame).toContain('context-line-01');
1541
+ expect(scrolledFrame).toContain('› safe: Safe mode');
1542
+ stdin.write(INK_TEST_KEYS.downArrow);
1543
+ await flushInkStdin();
1544
+ expect(lastFrame() ?? '').toContain('› secure: Secure mode');
1545
+ expect(lastFrame() ?? '').toContain('context-line-01');
1546
+ stdin.write('/');
1547
+ await flushInkStdin();
1548
+ expect(lastFrame() ?? '').toContain('› /reconnect');
1549
+ stdin.write(INK_TEST_KEYS.shiftPageDown.repeat(200));
1550
+ await flushInkStdin();
1551
+ const bottomFrame = lastFrame() ?? '';
1552
+ expect(bottomFrame).toContain('context-line-39');
1553
+ expect(bottomFrame).not.toContain('context-line-00');
1554
+ expect(bottomFrame).toContain('› /reconnect');
1555
+ stdin.write(INK_TEST_KEYS.shiftDownArrow);
1556
+ await flushInkStdin();
1557
+ expect(lastFrame() ?? '').toContain('2/2');
1558
+ stdin.write(INK_TEST_KEYS.shiftUpArrow);
1559
+ await flushInkStdin();
1560
+ const resetFrame = lastFrame() ?? '';
1561
+ expect(resetFrame).toContain('1/2');
1562
+ expect(resetFrame).toContain('context-line-00');
1563
+ expect(resetFrame).not.toContain('context-line-39');
1564
+ stdin.write(INK_TEST_KEYS.shiftPageDown.repeat(200));
1565
+ await flushInkStdin();
1566
+ expect(lastFrame() ?? '').toContain('context-line-39');
1567
+ stdin.write(INK_TEST_KEYS.shiftPageUp.repeat(200));
1568
+ await flushInkStdin();
1569
+ const topFrame = lastFrame() ?? '';
1570
+ expect(topFrame).toContain('context-line-00');
1571
+ expect(topFrame).not.toContain('context-line-39');
1572
+ });
1199
1573
  it('cycles selection with Shift+arrow keys', async () => {
1200
1574
  const viewModel = createTuiViewModel();
1201
1575
  viewModel.setDisplayState({
@@ -1339,13 +1713,13 @@ describe('IssueSessionTui', () => {
1339
1713
  const { stdin, lastFrame } = render(_jsx(IssueSessionTui, { viewModel: viewModel, onSubmit: () => { } }));
1340
1714
  const pinnedFrame = lastFrame() ?? '';
1341
1715
  expect(pinnedFrame).toContain('[harness] line-29');
1342
- expect(pinnedFrame).not.toContain('[harness] line-16');
1716
+ expect(pinnedFrame).not.toContain('[harness] line-14');
1343
1717
  expect(pinnedFrame).not.toContain(SCROLL_HINT);
1344
1718
  stdin.write(INK_TEST_KEYS.pageUp);
1345
1719
  await flushInkStdin();
1346
1720
  const scrolledFrame = lastFrame() ?? '';
1347
1721
  expect(scrolledFrame).toContain(SCROLL_HINT);
1348
- expect(scrolledFrame).toContain('[harness] line-16');
1722
+ expect(scrolledFrame).toContain('[harness] line-14');
1349
1723
  expect(scrolledFrame).not.toContain('[harness] line-29');
1350
1724
  });
1351
1725
  it('returns to latest lines on End and clears scroll hint', async () => {
@@ -1367,11 +1741,11 @@ describe('IssueSessionTui', () => {
1367
1741
  const { stdin, lastFrame } = render(_jsx(IssueSessionTui, { viewModel: viewModel, onSubmit: () => { } }));
1368
1742
  stdin.write(INK_TEST_KEYS.pageUp);
1369
1743
  await flushInkStdin();
1370
- expect(lastFrame() ?? '').toContain('[harness] line-16');
1744
+ expect(lastFrame() ?? '').toContain('[harness] line-14');
1371
1745
  viewModel.appendActivityLog('harness', 'newest-marker');
1372
1746
  await flushInkStdin();
1373
1747
  const detachedFrame = lastFrame() ?? '';
1374
- expect(detachedFrame).toContain('[harness] line-16');
1748
+ expect(detachedFrame).toContain('[harness] line-14');
1375
1749
  expect(detachedFrame).not.toContain('[harness] newest-marker');
1376
1750
  stdin.write(INK_TEST_KEYS.end);
1377
1751
  await flushInkStdin();
@@ -1400,7 +1774,7 @@ describe('IssueSessionTui', () => {
1400
1774
  const ctrlPageUpFrame = lastFrame() ?? '';
1401
1775
  expect(ctrlPageUpFrame).toContain('typed');
1402
1776
  expect(ctrlPageUpFrame).toContain(SCROLL_HINT);
1403
- expect(ctrlPageUpFrame).toContain('[harness] line-16');
1777
+ expect(ctrlPageUpFrame).toContain('[harness] line-14');
1404
1778
  expect(ctrlPageUpFrame).not.toContain('[harness] line-29');
1405
1779
  });
1406
1780
  });