@code-yeongyu/senpi 2026.7.31-2 → 2026.8.1

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 (163) hide show
  1. package/CHANGELOG.md +153 -0
  2. package/dist/core/agent-session.d.ts +1 -1
  3. package/dist/core/agent-session.d.ts.map +1 -1
  4. package/dist/core/agent-session.js +10 -19
  5. package/dist/core/agent-session.js.map +1 -1
  6. package/dist/core/extensions/builtin/goal/persistence.d.ts +15 -0
  7. package/dist/core/extensions/builtin/goal/persistence.d.ts.map +1 -1
  8. package/dist/core/extensions/builtin/goal/persistence.js +150 -18
  9. package/dist/core/extensions/builtin/goal/persistence.js.map +1 -1
  10. package/dist/core/extensions/builtin/gpt-apply-patch/extension.d.ts.map +1 -1
  11. package/dist/core/extensions/builtin/gpt-apply-patch/extension.js +15 -0
  12. package/dist/core/extensions/builtin/gpt-apply-patch/extension.js.map +1 -1
  13. package/dist/core/extensions/builtin/gpt-apply-patch/tool.d.ts.map +1 -1
  14. package/dist/core/extensions/builtin/gpt-apply-patch/tool.js +30 -3
  15. package/dist/core/extensions/builtin/gpt-apply-patch/tool.js.map +1 -1
  16. package/dist/core/extensions/builtin/prompt-preset/deepseek-v4-flash-0731.d.ts +3 -0
  17. package/dist/core/extensions/builtin/prompt-preset/deepseek-v4-flash-0731.d.ts.map +1 -0
  18. package/dist/core/extensions/builtin/prompt-preset/deepseek-v4-flash-0731.js +10 -0
  19. package/dist/core/extensions/builtin/prompt-preset/deepseek-v4-flash-0731.js.map +1 -0
  20. package/dist/core/extensions/builtin/prompt-preset/deepseek-v4-flash.d.ts +3 -0
  21. package/dist/core/extensions/builtin/prompt-preset/deepseek-v4-flash.d.ts.map +1 -0
  22. package/dist/core/extensions/builtin/prompt-preset/deepseek-v4-flash.js +10 -0
  23. package/dist/core/extensions/builtin/prompt-preset/deepseek-v4-flash.js.map +1 -0
  24. package/dist/core/extensions/builtin/prompt-preset/deepseek-v4-pro.d.ts +3 -0
  25. package/dist/core/extensions/builtin/prompt-preset/deepseek-v4-pro.d.ts.map +1 -0
  26. package/dist/core/extensions/builtin/prompt-preset/deepseek-v4-pro.js +11 -0
  27. package/dist/core/extensions/builtin/prompt-preset/deepseek-v4-pro.js.map +1 -0
  28. package/dist/core/extensions/builtin/prompt-preset/deepseek-v4.d.ts +13 -0
  29. package/dist/core/extensions/builtin/prompt-preset/deepseek-v4.d.ts.map +1 -0
  30. package/dist/core/extensions/builtin/prompt-preset/deepseek-v4.js +60 -0
  31. package/dist/core/extensions/builtin/prompt-preset/deepseek-v4.js.map +1 -0
  32. package/dist/core/extensions/builtin/prompt-preset/presets.d.ts.map +1 -1
  33. package/dist/core/extensions/builtin/prompt-preset/presets.js +42 -0
  34. package/dist/core/extensions/builtin/prompt-preset/presets.js.map +1 -1
  35. package/dist/core/extensions/builtin/prompt-preset/settings.d.ts +1 -1
  36. package/dist/core/extensions/builtin/prompt-preset/settings.d.ts.map +1 -1
  37. package/dist/core/extensions/builtin/prompt-preset/settings.js +3 -0
  38. package/dist/core/extensions/builtin/prompt-preset/settings.js.map +1 -1
  39. package/dist/core/extensions/builtin/recommended-models/index.d.ts.map +1 -1
  40. package/dist/core/extensions/builtin/recommended-models/index.js +2 -1
  41. package/dist/core/extensions/builtin/recommended-models/index.js.map +1 -1
  42. package/dist/core/extensions/builtin/terminal/monitor-notify.d.ts.map +1 -1
  43. package/dist/core/extensions/builtin/terminal/monitor-notify.js +42 -5
  44. package/dist/core/extensions/builtin/terminal/monitor-notify.js.map +1 -1
  45. package/dist/core/extensions/builtin/terminal/tools/monitor.js +1 -1
  46. package/dist/core/extensions/builtin/terminal/tools/monitor.js.map +1 -1
  47. package/dist/core/extensions/builtin/todotools/commands.d.ts +2 -2
  48. package/dist/core/extensions/builtin/todotools/commands.d.ts.map +1 -1
  49. package/dist/core/extensions/builtin/todotools/commands.js.map +1 -1
  50. package/dist/core/extensions/builtin/todotools/index.d.ts.map +1 -1
  51. package/dist/core/extensions/builtin/todotools/index.js +6 -3
  52. package/dist/core/extensions/builtin/todotools/index.js.map +1 -1
  53. package/dist/core/extensions/builtin/todotools/state.d.ts +1 -1
  54. package/dist/core/extensions/builtin/todotools/state.d.ts.map +1 -1
  55. package/dist/core/extensions/builtin/todotools/state.js +1 -1
  56. package/dist/core/extensions/builtin/todotools/state.js.map +1 -1
  57. package/dist/core/extensions/builtin/todotools/todo-widget-component.d.ts +19 -0
  58. package/dist/core/extensions/builtin/todotools/todo-widget-component.d.ts.map +1 -0
  59. package/dist/core/extensions/builtin/todotools/todo-widget-component.js +78 -0
  60. package/dist/core/extensions/builtin/todotools/todo-widget-component.js.map +1 -0
  61. package/dist/core/extensions/builtin/todotools/todo-widget.d.ts +13 -1
  62. package/dist/core/extensions/builtin/todotools/todo-widget.d.ts.map +1 -1
  63. package/dist/core/extensions/builtin/todotools/todo-widget.js +32 -14
  64. package/dist/core/extensions/builtin/todotools/todo-widget.js.map +1 -1
  65. package/dist/core/extensions/builtin/todotools/tools/todo.d.ts +2 -2
  66. package/dist/core/extensions/builtin/todotools/tools/todo.d.ts.map +1 -1
  67. package/dist/core/extensions/builtin/todotools/tools/todo.js +1 -1
  68. package/dist/core/extensions/builtin/todotools/tools/todo.js.map +1 -1
  69. package/dist/core/extensions/builtin/tps.d.ts.map +1 -1
  70. package/dist/core/extensions/builtin/tps.js +5 -2
  71. package/dist/core/extensions/builtin/tps.js.map +1 -1
  72. package/dist/core/extensions/builtin/websearch/websearch/config.d.ts.map +1 -1
  73. package/dist/core/extensions/builtin/websearch/websearch/config.js +1 -0
  74. package/dist/core/extensions/builtin/websearch/websearch/config.js.map +1 -1
  75. package/dist/core/extensions/builtin/websearch/websearch/native.d.ts.map +1 -1
  76. package/dist/core/extensions/builtin/websearch/websearch/native.js +16 -5
  77. package/dist/core/extensions/builtin/websearch/websearch/native.js.map +1 -1
  78. package/dist/core/extensions/builtin/websearch/websearch/provider-endpoints.d.ts.map +1 -1
  79. package/dist/core/extensions/builtin/websearch/websearch/provider-endpoints.js +1 -0
  80. package/dist/core/extensions/builtin/websearch/websearch/provider-endpoints.js.map +1 -1
  81. package/dist/core/extensions/builtin/websearch/websearch/providers/anthropic.d.ts +4 -1
  82. package/dist/core/extensions/builtin/websearch/websearch/providers/anthropic.d.ts.map +1 -1
  83. package/dist/core/extensions/builtin/websearch/websearch/providers/anthropic.js +44 -37
  84. package/dist/core/extensions/builtin/websearch/websearch/providers/anthropic.js.map +1 -1
  85. package/dist/core/extensions/builtin/websearch/websearch/providers/deepseek.d.ts +3 -0
  86. package/dist/core/extensions/builtin/websearch/websearch/providers/deepseek.d.ts.map +1 -0
  87. package/dist/core/extensions/builtin/websearch/websearch/providers/deepseek.js +12 -0
  88. package/dist/core/extensions/builtin/websearch/websearch/providers/deepseek.js.map +1 -0
  89. package/dist/core/extensions/builtin/websearch/websearch/providers.d.ts.map +1 -1
  90. package/dist/core/extensions/builtin/websearch/websearch/providers.js +2 -0
  91. package/dist/core/extensions/builtin/websearch/websearch/providers.js.map +1 -1
  92. package/dist/core/extensions/builtin/websearch/websearch/renderers.d.ts.map +1 -1
  93. package/dist/core/extensions/builtin/websearch/websearch/renderers.js +2 -2
  94. package/dist/core/extensions/builtin/websearch/websearch/renderers.js.map +1 -1
  95. package/dist/core/extensions/builtin/websearch/websearch/tool.js +2 -2
  96. package/dist/core/extensions/builtin/websearch/websearch/tool.js.map +1 -1
  97. package/dist/core/extensions/builtin/websearch/websearch/types.d.ts +1 -1
  98. package/dist/core/extensions/builtin/websearch/websearch/types.d.ts.map +1 -1
  99. package/dist/core/extensions/builtin/websearch/websearch/types.js.map +1 -1
  100. package/dist/core/model-resolver.js +2 -2
  101. package/dist/core/model-resolver.js.map +1 -1
  102. package/dist/core/thinking-levels.d.ts +5 -0
  103. package/dist/core/thinking-levels.d.ts.map +1 -1
  104. package/dist/core/thinking-levels.js +9 -59
  105. package/dist/core/thinking-levels.js.map +1 -1
  106. package/dist/modes/interactive/interactive-mode.js +1 -1
  107. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  108. package/dist/modes/interactive/risky-main-model-warning.d.ts +1 -1
  109. package/dist/modes/interactive/risky-main-model-warning.d.ts.map +1 -1
  110. package/dist/modes/interactive/risky-main-model-warning.js +1 -1
  111. package/dist/modes/interactive/risky-main-model-warning.js.map +1 -1
  112. package/docs/settings.md +1 -1
  113. package/examples/extensions/overlay-test.ts +1 -1
  114. package/node_modules/@code-yeongyu/senpi-codemode/CHANGELOG.md +18 -0
  115. package/node_modules/@code-yeongyu/senpi-codemode/README.md +6 -3
  116. package/node_modules/@code-yeongyu/senpi-codemode/package.json +3 -3
  117. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/cell-execution.ts +146 -0
  118. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/cell-handler.ts +21 -119
  119. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/cell-runtime.ts +157 -0
  120. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/detached-cell-manager.ts +55 -210
  121. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/detached-cell-notification.ts +98 -0
  122. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/detached-cell-snapshot.ts +81 -0
  123. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/detached-cell-state.ts +24 -0
  124. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/detached-eval-result.ts +140 -0
  125. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/detached-notification-queue.ts +53 -0
  126. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/eval-request.ts +45 -0
  127. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/eval-tool-options.ts +45 -0
  128. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/eval-tool.ts +20 -342
  129. package/node_modules/@earendil-works/pi-agent-core/package.json +2 -2
  130. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses/fallback-state.d.ts +24 -0
  131. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses/fallback-state.d.ts.map +1 -0
  132. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses/fallback-state.js +70 -0
  133. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses/fallback-state.js.map +1 -0
  134. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.d.ts +2 -16
  135. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.d.ts.map +1 -1
  136. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.js +8 -56
  137. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.js.map +1 -1
  138. package/node_modules/@earendil-works/pi-ai/dist/api/openai-prompt-cache.d.ts +1 -0
  139. package/node_modules/@earendil-works/pi-ai/dist/api/openai-prompt-cache.d.ts.map +1 -1
  140. package/node_modules/@earendil-works/pi-ai/dist/api/openai-prompt-cache.js +7 -0
  141. package/node_modules/@earendil-works/pi-ai/dist/api/openai-prompt-cache.js.map +1 -1
  142. package/node_modules/@earendil-works/pi-ai/dist/model.d.ts +2 -1
  143. package/node_modules/@earendil-works/pi-ai/dist/model.d.ts.map +1 -1
  144. package/node_modules/@earendil-works/pi-ai/dist/model.js.map +1 -1
  145. package/node_modules/@earendil-works/pi-ai/dist/models.d.ts +13 -0
  146. package/node_modules/@earendil-works/pi-ai/dist/models.d.ts.map +1 -1
  147. package/node_modules/@earendil-works/pi-ai/dist/models.js +71 -45
  148. package/node_modules/@earendil-works/pi-ai/dist/models.js.map +1 -1
  149. package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -1
  150. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
  151. package/node_modules/@earendil-works/pi-ai/dist/providers/data/vercel-ai-gateway.json +1 -1
  152. package/node_modules/@earendil-works/pi-ai/dist/providers/data/zai-coding-cn.json +1 -1
  153. package/node_modules/@earendil-works/pi-ai/dist/providers/data/zai.json +1 -1
  154. package/node_modules/@earendil-works/pi-ai/package.json +1 -1
  155. package/node_modules/@earendil-works/pi-pty/package.json +1 -1
  156. package/node_modules/@earendil-works/pi-tui/dist/mux.js +1 -1
  157. package/node_modules/@earendil-works/pi-tui/dist/mux.js.map +1 -1
  158. package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts +1 -0
  159. package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts.map +1 -1
  160. package/node_modules/@earendil-works/pi-tui/dist/tui.js +17 -3
  161. package/node_modules/@earendil-works/pi-tui/dist/tui.js.map +1 -1
  162. package/node_modules/@earendil-works/pi-tui/package.json +1 -1
  163. package/package.json +6 -6
@@ -167,6 +167,7 @@ export declare class TUI extends Container {
167
167
  terminal: Terminal;
168
168
  private previousLines;
169
169
  private previousRawLines;
170
+ private normalizeMemo;
170
171
  private previousKittyImageIds;
171
172
  private previousWidth;
172
173
  private previousHeight;
@@ -1 +1 @@
1
- {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAIN,KAAK,QAAQ,EACb,KAAK,mBAAmB,EACxB,MAAM,sBAAsB,CAAC;AAS9B,OAAO,EAA2E,YAAY,EAAE,MAAM,YAAY,CAAC;AA0CnH;;GAEG;AACH,MAAM,WAAW,SAAS;IACzB;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAEhC;;OAEG;IACH,WAAW,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjC;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,UAAU,IAAI,IAAI,CAAC;IAEnB,OAAO,CAAC,IAAI,IAAI,CAAC;CACjB;AAED,KAAK,mBAAmB,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC;AAC5E,KAAK,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,mBAAmB,CAAC;AAc3D,UAAU,mBAAmB;IAC5B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAC;IAC7C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC5B;AASD;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACzB,oFAAoF;IACpF,OAAO,EAAE,OAAO,CAAC;CACjB;AAED,8DAA8D;AAC9D,wBAAgB,WAAW,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,IAAI,SAAS,GAAG,SAAS,CAE3F;AAED;;;;;GAKG;AACH,eAAO,MAAM,aAAa,sBAAkB,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,CAAC;AAmBxB,wBAAgB,qBAAqB,IAAI;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAKtE;AAED,wBAAgB,uBAAuB,IAAI;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAK9E;AAED,wBAAgB,qBAAqB,IAAI,mBAAmB,GAAG,SAAS,CAKvE;AA6FD;;GAEG;AACH,MAAM,MAAM,aAAa,GACtB,QAAQ,GACR,UAAU,GACV,WAAW,GACX,aAAa,GACb,cAAc,GACd,YAAY,GACZ,eAAe,GACf,aAAa,GACb,cAAc,CAAC;AAElB;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,4EAA4E;AAC5E,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC;AAkB9C;;;GAGG;AACH,MAAM,WAAW,cAAc;IAE9B,sEAAsE;IACtE,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,SAAS,CAAC;IAGtB,uDAAuD;IACvD,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,gFAAgF;IAChF,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,4FAA4F;IAC5F,GAAG,CAAC,EAAE,SAAS,CAAC;IAGhB,+DAA+D;IAC/D,MAAM,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC;IAGhC;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7D,uDAAuD;IACvD,YAAY,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,iDAAiD;AACjD,MAAM,WAAW,qBAAqB;IACrC,6DAA6D;IAC7D,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,6DAA6D;IAC7D,IAAI,IAAI,IAAI,CAAC;IACb,2CAA2C;IAC3C,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,6CAA6C;IAC7C,QAAQ,IAAI,OAAO,CAAC;IACpB,0DAA0D;IAC1D,KAAK,IAAI,IAAI,CAAC;IACd,qHAAqH;IACrH,OAAO,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC/C,gDAAgD;IAChD,SAAS,IAAI,OAAO,CAAC;CACrB;AAqBD,KAAK,qBAAqB,GAAG;IAC5B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,qBAAa,SAAU,YAAW,SAAS;IAC1C,QAAQ,EAAE,SAAS,EAAE,CAAM;IAC3B,OAAO,CAAC,QAAQ,CAAS;IAEzB,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAEnC;IAED,WAAW,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAMtC;IAED,WAAW,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAKtC;IAED,KAAK,IAAI,IAAI,CAKZ;IAED,SAAS,IAAI,IAAI,CAEhB;IAED,OAAO,IAAI,IAAI,CAMd;IAED,UAAU,IAAI,IAAI,CAIjB;IAED,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAiB9B;CACD;AAED;;GAEG;AACH,qBAAa,GAAI,SAAQ,SAAS;;IAC1B,QAAQ,EAAE,QAAQ,CAAC;IAC1B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,qBAAqB,CAAqB;IAClD,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,cAAc,CAA4B;IAElD,2GAA2G;IACpG,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,YAAY,CAAK;IAGzB,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,kBAAkB,CAA0C;IACpE,OAAO,CAAC,aAAa,CAA0C;IAC/D,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,uBAAuB,CAAK;IACpC,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,6BAA6B,CAAK;IAC1C,OAAO,CAAC,6BAA6B,CAAqC;IAC1E,OAAO,CAAC,4BAA4B,CAAoD;IACxF,OAAO,CAAC,uCAAuC,CAAS;IAIxD,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,mBAAmB,CAAoD;IAG/E,YAAY,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,qBAAqB,EASxE;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,mBAAmB,IAAI,MAAM,CAEhC;IAED,qBAAqB,IAAI,OAAO,CAE/B;IAED,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAO5C;IAED,gBAAgB,IAAI,OAAO,CAE1B;IAED;;;;OAIG;IACH,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEvC;IAED,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI,CAE1C;IAED,OAAO,CAAC,gBAAgB;IAiExB,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,2BAA2B;IAMnC,OAAO,CAAC,gCAAgC;IAMxC,OAAO,CAAC,6BAA6B;IASrC,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,iBAAiB;IAMzB;;;OAGG;IACH,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,aAAa,CA6FzE;IAED,2DAA2D;IAC3D,WAAW,IAAI,IAAI,CAalB;IAED,8CAA8C;IAC9C,UAAU,IAAI,OAAO,CAEpB;IAED,qDAAqD;IACrD,OAAO,CAAC,gBAAgB;IAQxB,kEAAkE;IAClE,OAAO,CAAC,wBAAwB;IAWvB,UAAU,IAAI,IAAI,CAG1B;IAED,KAAK,IAAI,IAAI,CAgBZ;IAED,gBAAgB,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,IAAI,CAKpD;IAED,mBAAmB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAEjD;IAED,2BAA2B,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,GAAG,MAAM,IAAI,CAKvF;IAED,mCAAmC,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAQ1D;IAED,OAAO,CAAC,aAAa;IAUrB,IAAI,IAAI,IAAI,CAuCX;IAYD,aAAa,CAAC,KAAK,UAAQ,EAAE,MAAM,SAAY,GAAG,IAAI,CAqCrD;IAED;;;;OAIG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAGjC;IAED,OAAO,CAAC,cAAc;IAoBtB,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,WAAW;IAoFnB,OAAO,CAAC,8BAA8B;IAwBtC,OAAO,CAAC,gCAAgC;IAYxC,OAAO,CAAC,uBAAuB;IAoB/B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAoG5B,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,gBAAgB;IAiBxB,yFAAyF;IACzF,OAAO,CAAC,iBAAiB;IA6DzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAyB;IAE9D;;;;;;;;;;OAUG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAyB;IAC5D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAyB;IAE1D,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,eAAe;IA6BvB,OAAO,CAAC,uBAAuB;IAuD/B,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,yBAAyB;IAcjC,OAAO,CAAC,gCAAgC;IAuBxC,OAAO,CAAC,oCAAoC;IAoB5C,OAAO,CAAC,wBAAwB;IAchC,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,2BAA2B;IAInC,OAAO,CAAC,8BAA8B;IAqDtC,OAAO,CAAC,0BAA0B;IA2ClC,OAAO,CAAC,sBAAsB;IAyC9B,OAAO,CAAC,wBAAwB;IA0ChC,2FAA2F;IAC3F,OAAO,CAAC,eAAe;IAqDvB;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IAoB7B,OAAO,CAAC,QAAQ;IA0ehB;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAkC9B;;;;OAIG;IACH,4BAA4B,CAAC,EAAE,SAAS,EAAE,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAqBhG;IAED;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,SAAS,EAAE,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAoBvG;CACD"}
@@ -267,6 +267,7 @@ export class TUI extends Container {
267
267
  super();
268
268
  this.previousLines = [];
269
269
  this.previousRawLines = [];
270
+ this.normalizeMemo = new Map();
270
271
  this.previousKittyImageIds = new Set();
271
272
  this.previousWidth = 0;
272
273
  this.previousHeight = 0;
@@ -1098,21 +1099,34 @@ export class TUI extends Container {
1098
1099
  if (isImageLine(line)) {
1099
1100
  return { line, normalized: false };
1100
1101
  }
1101
- return { line: normalizeTerminalOutput(line) + TUI.SEGMENT_RESET, normalized: true };
1102
+ const cached = this.normalizeMemo.get(line);
1103
+ if (cached !== undefined) {
1104
+ return { line: cached, normalized: false };
1105
+ }
1106
+ const normalized = normalizeTerminalOutput(line) + TUI.SEGMENT_RESET;
1107
+ this.normalizeMemo.set(line, normalized);
1108
+ return { line: normalized, normalized: true };
1102
1109
  }
1103
1110
  applyLineResets(lines, mode = "full") {
1111
+ const previousMemo = this.normalizeMemo;
1112
+ const nextMemo = new Map();
1104
1113
  const normalizedLines = [];
1105
1114
  let normalizedCount = 0;
1106
1115
  for (let i = 0; i < lines.length; i++) {
1107
1116
  const line = lines[i];
1108
1117
  if (isImageLine(line)) {
1109
1118
  normalizedLines.push(line);
1119
+ continue;
1110
1120
  }
1111
- else {
1112
- normalizedLines.push(normalizeTerminalOutput(line) + TUI.SEGMENT_RESET);
1121
+ let normalized = nextMemo.get(line) ?? previousMemo.get(line);
1122
+ if (normalized === undefined) {
1123
+ normalized = normalizeTerminalOutput(line) + TUI.SEGMENT_RESET;
1113
1124
  normalizedCount += 1;
1114
1125
  }
1126
+ nextMemo.set(line, normalized);
1127
+ normalizedLines.push(normalized);
1115
1128
  }
1129
+ this.normalizeMemo = nextMemo;
1116
1130
  recordViewportRenderStats(normalizedCount, mode);
1117
1131
  return {
1118
1132
  lines: normalizedLines,