@markusylisiurunen/tau 0.2.80 → 0.2.82

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 (385) hide show
  1. package/README.md +39 -1
  2. package/dist/core/cli.js +17 -0
  3. package/dist/core/cli.js.map +1 -1
  4. package/dist/core/commands/registry.js +15 -0
  5. package/dist/core/commands/registry.js.map +1 -1
  6. package/dist/core/config/builtin_themes.js +62 -0
  7. package/dist/core/config/builtin_themes.js.map +1 -1
  8. package/dist/core/config/diff_tool.js +51 -0
  9. package/dist/core/config/diff_tool.js.map +1 -0
  10. package/dist/core/config/index.js.map +1 -1
  11. package/dist/core/config/runtime.js +1 -0
  12. package/dist/core/config/runtime.js.map +1 -1
  13. package/dist/core/config/schema.js +10 -0
  14. package/dist/core/config/schema.js.map +1 -1
  15. package/dist/core/diff_review/index.js +5 -0
  16. package/dist/core/diff_review/index.js.map +1 -0
  17. package/dist/core/diff_review/protocol.js +222 -0
  18. package/dist/core/diff_review/protocol.js.map +1 -0
  19. package/dist/core/diff_review/review_thread.js +148 -0
  20. package/dist/core/diff_review/review_thread.js.map +1 -0
  21. package/dist/core/diff_review/session.js +453 -0
  22. package/dist/core/diff_review/session.js.map +1 -0
  23. package/dist/core/diff_review/snapshot.js +327 -0
  24. package/dist/core/diff_review/snapshot.js.map +1 -0
  25. package/dist/core/events/parser.js +13 -2
  26. package/dist/core/events/parser.js.map +1 -1
  27. package/dist/core/index.js +2 -1
  28. package/dist/core/index.js.map +1 -1
  29. package/dist/core/static/index.js +11 -0
  30. package/dist/core/static/index.js.map +1 -1
  31. package/dist/core/static/prompts/diff-review-wrapper.md +24 -0
  32. package/dist/core/subagents/control_plane.js +35 -0
  33. package/dist/core/subagents/control_plane.js.map +1 -1
  34. package/dist/core/subagents/subagent_engine.js +23 -3
  35. package/dist/core/subagents/subagent_engine.js.map +1 -1
  36. package/dist/core/version.js +1 -1
  37. package/dist/diff_tool/app/dist/assets/abap-BdImnpbu.js +1 -0
  38. package/dist/diff_tool/app/dist/assets/actionscript-3-CoDkCxhg.js +1 -0
  39. package/dist/diff_tool/app/dist/assets/ada-bCR0ucgS.js +1 -0
  40. package/dist/diff_tool/app/dist/assets/andromeeda-C4gqWexZ.js +1 -0
  41. package/dist/diff_tool/app/dist/assets/angular-html-CU67Zn6k.js +1 -0
  42. package/dist/diff_tool/app/dist/assets/angular-ts-BwZT4LLn.js +1 -0
  43. package/dist/diff_tool/app/dist/assets/apache-Pmp26Uib.js +1 -0
  44. package/dist/diff_tool/app/dist/assets/apex-D8_7TLub.js +1 -0
  45. package/dist/diff_tool/app/dist/assets/apl-dKokRX4l.js +1 -0
  46. package/dist/diff_tool/app/dist/assets/applescript-Co6uUVPk.js +1 -0
  47. package/dist/diff_tool/app/dist/assets/ara-BRHolxvo.js +1 -0
  48. package/dist/diff_tool/app/dist/assets/asciidoc-Ve4PFQV2.js +1 -0
  49. package/dist/diff_tool/app/dist/assets/asm-D_Q5rh1f.js +1 -0
  50. package/dist/diff_tool/app/dist/assets/astro-CbQHKStN.js +1 -0
  51. package/dist/diff_tool/app/dist/assets/aurora-x-D-2ljcwZ.js +1 -0
  52. package/dist/diff_tool/app/dist/assets/awk-DMzUqQB5.js +1 -0
  53. package/dist/diff_tool/app/dist/assets/ayu-dark-DYE7WIF3.js +1 -0
  54. package/dist/diff_tool/app/dist/assets/ayu-light-BA47KaF1.js +1 -0
  55. package/dist/diff_tool/app/dist/assets/ayu-mirage-32ctXXKs.js +1 -0
  56. package/dist/diff_tool/app/dist/assets/ballerina-BFfxhgS-.js +1 -0
  57. package/dist/diff_tool/app/dist/assets/bat-BkioyH1T.js +1 -0
  58. package/dist/diff_tool/app/dist/assets/beancount-k_qm7-4y.js +1 -0
  59. package/dist/diff_tool/app/dist/assets/berry-uYugtg8r.js +1 -0
  60. package/dist/diff_tool/app/dist/assets/bibtex-CHM0blh-.js +1 -0
  61. package/dist/diff_tool/app/dist/assets/bicep-Bmn6On1c.js +1 -0
  62. package/dist/diff_tool/app/dist/assets/bird2-DPOp833l.js +1 -0
  63. package/dist/diff_tool/app/dist/assets/blade-D4QpJJKB.js +1 -0
  64. package/dist/diff_tool/app/dist/assets/bsl-BO_Y6i37.js +1 -0
  65. package/dist/diff_tool/app/dist/assets/c-BIGW1oBm.js +1 -0
  66. package/dist/diff_tool/app/dist/assets/c3-eo99z4R2.js +1 -0
  67. package/dist/diff_tool/app/dist/assets/cadence-Bv_4Rxtq.js +1 -0
  68. package/dist/diff_tool/app/dist/assets/cairo-KRGpt6FW.js +1 -0
  69. package/dist/diff_tool/app/dist/assets/catppuccin-frappe-DFWUc33u.js +1 -0
  70. package/dist/diff_tool/app/dist/assets/catppuccin-latte-C9dUb6Cb.js +1 -0
  71. package/dist/diff_tool/app/dist/assets/catppuccin-macchiato-DQyhUUbL.js +1 -0
  72. package/dist/diff_tool/app/dist/assets/catppuccin-mocha-D87Tk5Gz.js +1 -0
  73. package/dist/diff_tool/app/dist/assets/clarity-D53aC0YG.js +1 -0
  74. package/dist/diff_tool/app/dist/assets/clojure-P80f7IUj.js +1 -0
  75. package/dist/diff_tool/app/dist/assets/cmake-D1j8_8rp.js +1 -0
  76. package/dist/diff_tool/app/dist/assets/cobol-nwyudZeR.js +1 -0
  77. package/dist/diff_tool/app/dist/assets/codeowners-Bp6g37R7.js +1 -0
  78. package/dist/diff_tool/app/dist/assets/codeql-DsOJ9woJ.js +1 -0
  79. package/dist/diff_tool/app/dist/assets/coffee-Ch7k5sss.js +1 -0
  80. package/dist/diff_tool/app/dist/assets/common-lisp-Cg-RD9OK.js +1 -0
  81. package/dist/diff_tool/app/dist/assets/coq-DkFqJrB1.js +1 -0
  82. package/dist/diff_tool/app/dist/assets/cpp-CofmeUqb.js +1 -0
  83. package/dist/diff_tool/app/dist/assets/crystal-tKQVLTB8.js +1 -0
  84. package/dist/diff_tool/app/dist/assets/csharp-COcwbKMJ.js +1 -0
  85. package/dist/diff_tool/app/dist/assets/css-DPfMkruS.js +1 -0
  86. package/dist/diff_tool/app/dist/assets/csv-fuZLfV_i.js +1 -0
  87. package/dist/diff_tool/app/dist/assets/cue-D82EKSYY.js +1 -0
  88. package/dist/diff_tool/app/dist/assets/cypher-COkxafJQ.js +1 -0
  89. package/dist/diff_tool/app/dist/assets/d-85-TOEBH.js +1 -0
  90. package/dist/diff_tool/app/dist/assets/dark-plus-C3mMm8J8.js +1 -0
  91. package/dist/diff_tool/app/dist/assets/dart-CF10PKvl.js +1 -0
  92. package/dist/diff_tool/app/dist/assets/dax-CEL-wOlO.js +1 -0
  93. package/dist/diff_tool/app/dist/assets/desktop-BmXAJ9_W.js +1 -0
  94. package/dist/diff_tool/app/dist/assets/diff-D97Zzqfu.js +1 -0
  95. package/dist/diff_tool/app/dist/assets/docker-BcOcwvcX.js +1 -0
  96. package/dist/diff_tool/app/dist/assets/dotenv-Da5cRb03.js +1 -0
  97. package/dist/diff_tool/app/dist/assets/dracula-BzJJZx-M.js +1 -0
  98. package/dist/diff_tool/app/dist/assets/dracula-soft-BXkSAIEj.js +1 -0
  99. package/dist/diff_tool/app/dist/assets/dream-maker-BtqSS_iP.js +1 -0
  100. package/dist/diff_tool/app/dist/assets/edge-BkV0erSs.js +1 -0
  101. package/dist/diff_tool/app/dist/assets/elixir-CDX3lj18.js +1 -0
  102. package/dist/diff_tool/app/dist/assets/elm-DbKCFpqz.js +1 -0
  103. package/dist/diff_tool/app/dist/assets/emacs-lisp-C9XAeP06.js +1 -0
  104. package/dist/diff_tool/app/dist/assets/erb-B12qg9BL.js +1 -0
  105. package/dist/diff_tool/app/dist/assets/erlang-DsQrWhSR.js +1 -0
  106. package/dist/diff_tool/app/dist/assets/everforest-dark-BgDCqdQA.js +1 -0
  107. package/dist/diff_tool/app/dist/assets/everforest-light-C8M2exoo.js +1 -0
  108. package/dist/diff_tool/app/dist/assets/fennel-BYunw83y.js +1 -0
  109. package/dist/diff_tool/app/dist/assets/fish-BvzEVeQv.js +1 -0
  110. package/dist/diff_tool/app/dist/assets/fluent-C4IJs8-o.js +1 -0
  111. package/dist/diff_tool/app/dist/assets/fortran-fixed-form-CkoXwp7k.js +1 -0
  112. package/dist/diff_tool/app/dist/assets/fortran-free-form-BxgE0vQu.js +1 -0
  113. package/dist/diff_tool/app/dist/assets/fsharp-CXgrBDvD.js +1 -0
  114. package/dist/diff_tool/app/dist/assets/gdresource-BOOCDP_w.js +1 -0
  115. package/dist/diff_tool/app/dist/assets/gdscript-C5YyOfLZ.js +1 -0
  116. package/dist/diff_tool/app/dist/assets/gdshader-DkwncUOv.js +1 -0
  117. package/dist/diff_tool/app/dist/assets/genie-D0YGMca9.js +1 -0
  118. package/dist/diff_tool/app/dist/assets/gherkin-DyxjwDmM.js +1 -0
  119. package/dist/diff_tool/app/dist/assets/git-commit-F4YmCXRG.js +1 -0
  120. package/dist/diff_tool/app/dist/assets/git-rebase-r7XF79zn.js +1 -0
  121. package/dist/diff_tool/app/dist/assets/github-dark-DHJKELXO.js +1 -0
  122. package/dist/diff_tool/app/dist/assets/github-dark-default-Cuk6v7N8.js +1 -0
  123. package/dist/diff_tool/app/dist/assets/github-dark-dimmed-DH5Ifo-i.js +1 -0
  124. package/dist/diff_tool/app/dist/assets/github-dark-high-contrast-E3gJ1_iC.js +1 -0
  125. package/dist/diff_tool/app/dist/assets/github-light-DAi9KRSo.js +1 -0
  126. package/dist/diff_tool/app/dist/assets/github-light-default-D7oLnXFd.js +1 -0
  127. package/dist/diff_tool/app/dist/assets/github-light-high-contrast-BfjtVDDH.js +1 -0
  128. package/dist/diff_tool/app/dist/assets/gleam-BspZqrRM.js +1 -0
  129. package/dist/diff_tool/app/dist/assets/glimmer-js-Rg0-pVw9.js +1 -0
  130. package/dist/diff_tool/app/dist/assets/glimmer-ts-U6CK756n.js +1 -0
  131. package/dist/diff_tool/app/dist/assets/glsl-DplSGwfg.js +1 -0
  132. package/dist/diff_tool/app/dist/assets/gn-n2N0HUVH.js +1 -0
  133. package/dist/diff_tool/app/dist/assets/gnuplot-DdkO51Og.js +1 -0
  134. package/dist/diff_tool/app/dist/assets/go-CxLEBnE3.js +1 -0
  135. package/dist/diff_tool/app/dist/assets/graphql-ChdNCCLP.js +1 -0
  136. package/dist/diff_tool/app/dist/assets/groovy-gcz8RCvz.js +1 -0
  137. package/dist/diff_tool/app/dist/assets/gruvbox-dark-hard-CFHQjOhq.js +1 -0
  138. package/dist/diff_tool/app/dist/assets/gruvbox-dark-medium-GsRaNv29.js +1 -0
  139. package/dist/diff_tool/app/dist/assets/gruvbox-dark-soft-CVdnzihN.js +1 -0
  140. package/dist/diff_tool/app/dist/assets/gruvbox-light-hard-CH1njM8p.js +1 -0
  141. package/dist/diff_tool/app/dist/assets/gruvbox-light-medium-DRw_LuNl.js +1 -0
  142. package/dist/diff_tool/app/dist/assets/gruvbox-light-soft-hJgmCMqR.js +1 -0
  143. package/dist/diff_tool/app/dist/assets/hack-CaT9iCJl.js +1 -0
  144. package/dist/diff_tool/app/dist/assets/haml-B8DHNrY2.js +1 -0
  145. package/dist/diff_tool/app/dist/assets/handlebars-BL8al0AC.js +1 -0
  146. package/dist/diff_tool/app/dist/assets/haskell-Df6bDoY_.js +1 -0
  147. package/dist/diff_tool/app/dist/assets/haxe-CzTSHFRz.js +1 -0
  148. package/dist/diff_tool/app/dist/assets/hcl-BWvSN4gD.js +1 -0
  149. package/dist/diff_tool/app/dist/assets/hjson-D5-asLiD.js +1 -0
  150. package/dist/diff_tool/app/dist/assets/hlsl-D3lLCCz7.js +1 -0
  151. package/dist/diff_tool/app/dist/assets/horizon-BUw7H-hv.js +1 -0
  152. package/dist/diff_tool/app/dist/assets/horizon-bright-Cn-bp-IR.js +1 -0
  153. package/dist/diff_tool/app/dist/assets/houston-DnULxvSX.js +1 -0
  154. package/dist/diff_tool/app/dist/assets/html-GMplVEZG.js +1 -0
  155. package/dist/diff_tool/app/dist/assets/html-derivative-BFtXZ54Q.js +1 -0
  156. package/dist/diff_tool/app/dist/assets/http-jrhK8wxY.js +1 -0
  157. package/dist/diff_tool/app/dist/assets/hurl-irOxFIW8.js +1 -0
  158. package/dist/diff_tool/app/dist/assets/hxml-Bvhsp5Yf.js +1 -0
  159. package/dist/diff_tool/app/dist/assets/hy-DFXneXwc.js +1 -0
  160. package/dist/diff_tool/app/dist/assets/imba-DGztddWO.js +1 -0
  161. package/dist/diff_tool/app/dist/assets/index-BGMccoTY.css +1 -0
  162. package/dist/diff_tool/app/dist/assets/index-_ajOenBj.js +1887 -0
  163. package/dist/diff_tool/app/dist/assets/ini-BEwlwnbL.js +1 -0
  164. package/dist/diff_tool/app/dist/assets/java-CylS5w8V.js +1 -0
  165. package/dist/diff_tool/app/dist/assets/javascript-wDzz0qaB.js +1 -0
  166. package/dist/diff_tool/app/dist/assets/jinja-4LBKfQ-Z.js +1 -0
  167. package/dist/diff_tool/app/dist/assets/jison-wvAkD_A8.js +1 -0
  168. package/dist/diff_tool/app/dist/assets/json-Cp-IABpG.js +1 -0
  169. package/dist/diff_tool/app/dist/assets/json5-C9tS-k6U.js +1 -0
  170. package/dist/diff_tool/app/dist/assets/jsonc-Des-eS-w.js +1 -0
  171. package/dist/diff_tool/app/dist/assets/jsonl-DcaNXYhu.js +1 -0
  172. package/dist/diff_tool/app/dist/assets/jsonnet-DFQXde-d.js +1 -0
  173. package/dist/diff_tool/app/dist/assets/jssm-C2t-YnRu.js +1 -0
  174. package/dist/diff_tool/app/dist/assets/jsx-g9-lgVsj.js +1 -0
  175. package/dist/diff_tool/app/dist/assets/julia-CxzCAyBv.js +1 -0
  176. package/dist/diff_tool/app/dist/assets/just-Cw27pwNe.js +1 -0
  177. package/dist/diff_tool/app/dist/assets/kanagawa-dragon-CkXjmgJE.js +1 -0
  178. package/dist/diff_tool/app/dist/assets/kanagawa-lotus-CfQXZHmo.js +1 -0
  179. package/dist/diff_tool/app/dist/assets/kanagawa-wave-DWedfzmr.js +1 -0
  180. package/dist/diff_tool/app/dist/assets/kdl-DV7GczEv.js +1 -0
  181. package/dist/diff_tool/app/dist/assets/kotlin-BdnUsdx6.js +1 -0
  182. package/dist/diff_tool/app/dist/assets/kusto-DZf3V79B.js +1 -0
  183. package/dist/diff_tool/app/dist/assets/laserwave-DUszq2jm.js +1 -0
  184. package/dist/diff_tool/app/dist/assets/latex-CWtU0Tv5.js +1 -0
  185. package/dist/diff_tool/app/dist/assets/lean-BZvkOJ9d.js +1 -0
  186. package/dist/diff_tool/app/dist/assets/less-B1dDrJ26.js +1 -0
  187. package/dist/diff_tool/app/dist/assets/light-plus-B7mTdjB0.js +1 -0
  188. package/dist/diff_tool/app/dist/assets/liquid-DYVedYrR.js +1 -0
  189. package/dist/diff_tool/app/dist/assets/llvm-DjAJT7YJ.js +1 -0
  190. package/dist/diff_tool/app/dist/assets/log-2UxHyX5q.js +1 -0
  191. package/dist/diff_tool/app/dist/assets/logo-BtOb2qkB.js +1 -0
  192. package/dist/diff_tool/app/dist/assets/lua-BaeVxFsk.js +1 -0
  193. package/dist/diff_tool/app/dist/assets/luau-C-HG3fhB.js +1 -0
  194. package/dist/diff_tool/app/dist/assets/make-CHLpvVh8.js +1 -0
  195. package/dist/diff_tool/app/dist/assets/markdown-Cvjx9yec.js +1 -0
  196. package/dist/diff_tool/app/dist/assets/marko-CnJfTvn9.js +1 -0
  197. package/dist/diff_tool/app/dist/assets/material-theme-D5KoaKCx.js +1 -0
  198. package/dist/diff_tool/app/dist/assets/material-theme-darker-BfHTSMKl.js +1 -0
  199. package/dist/diff_tool/app/dist/assets/material-theme-lighter-B0m2ddpp.js +1 -0
  200. package/dist/diff_tool/app/dist/assets/material-theme-ocean-CyktbL80.js +1 -0
  201. package/dist/diff_tool/app/dist/assets/material-theme-palenight-Csfq5Kiy.js +1 -0
  202. package/dist/diff_tool/app/dist/assets/matlab-D7o27uSR.js +1 -0
  203. package/dist/diff_tool/app/dist/assets/mdc-BMNejdWA.js +1 -0
  204. package/dist/diff_tool/app/dist/assets/mdx-Cmh6b_Ma.js +1 -0
  205. package/dist/diff_tool/app/dist/assets/mermaid-mWjccvbQ.js +1 -0
  206. package/dist/diff_tool/app/dist/assets/min-dark-CafNBF8u.js +1 -0
  207. package/dist/diff_tool/app/dist/assets/min-light-CTRr51gU.js +1 -0
  208. package/dist/diff_tool/app/dist/assets/mipsasm-CKIfxQSi.js +1 -0
  209. package/dist/diff_tool/app/dist/assets/mojo-rZm6bMo-.js +1 -0
  210. package/dist/diff_tool/app/dist/assets/monokai-D4h5O-jR.js +1 -0
  211. package/dist/diff_tool/app/dist/assets/moonbit-_H4v1dQx.js +1 -0
  212. package/dist/diff_tool/app/dist/assets/move-IF9eRakj.js +1 -0
  213. package/dist/diff_tool/app/dist/assets/narrat-DRg8JJMk.js +1 -0
  214. package/dist/diff_tool/app/dist/assets/nextflow-Zz6hmt5N.js +1 -0
  215. package/dist/diff_tool/app/dist/assets/nextflow-groovy-BeH2EWoN.js +1 -0
  216. package/dist/diff_tool/app/dist/assets/nginx-BpAMiNFr.js +1 -0
  217. package/dist/diff_tool/app/dist/assets/night-owl-C39BiMTA.js +1 -0
  218. package/dist/diff_tool/app/dist/assets/night-owl-light-CMTm3GFP.js +1 -0
  219. package/dist/diff_tool/app/dist/assets/nim-CVrawwO9.js +1 -0
  220. package/dist/diff_tool/app/dist/assets/nix-CwoSXNpI.js +1 -0
  221. package/dist/diff_tool/app/dist/assets/nord-Ddv68eIx.js +1 -0
  222. package/dist/diff_tool/app/dist/assets/nushell-Cz2AlsmD.js +1 -0
  223. package/dist/diff_tool/app/dist/assets/objective-c-DXmwc3jG.js +1 -0
  224. package/dist/diff_tool/app/dist/assets/objective-cpp-CLxacb5B.js +1 -0
  225. package/dist/diff_tool/app/dist/assets/ocaml-C0hk2d4L.js +1 -0
  226. package/dist/diff_tool/app/dist/assets/odin-BBf5iR-q.js +1 -0
  227. package/dist/diff_tool/app/dist/assets/one-dark-pro-DVMEJ2y_.js +1 -0
  228. package/dist/diff_tool/app/dist/assets/one-light-C3Wv6jpd.js +1 -0
  229. package/dist/diff_tool/app/dist/assets/openscad-C4EeE6gA.js +1 -0
  230. package/dist/diff_tool/app/dist/assets/pascal-D93ZcfNL.js +1 -0
  231. package/dist/diff_tool/app/dist/assets/perl-C0TMdlhV.js +1 -0
  232. package/dist/diff_tool/app/dist/assets/php-Dhbhpdrm.js +1 -0
  233. package/dist/diff_tool/app/dist/assets/pierre-dark-ClCaJvdG.js +1 -0
  234. package/dist/diff_tool/app/dist/assets/pierre-light-zjGsWSiE.js +1 -0
  235. package/dist/diff_tool/app/dist/assets/pkl-u5AG7uiY.js +1 -0
  236. package/dist/diff_tool/app/dist/assets/plastic-3e1v2bzS.js +1 -0
  237. package/dist/diff_tool/app/dist/assets/plsql-ChMvpjG-.js +1 -0
  238. package/dist/diff_tool/app/dist/assets/po-BTJTHyun.js +1 -0
  239. package/dist/diff_tool/app/dist/assets/poimandres-CS3Unz2-.js +1 -0
  240. package/dist/diff_tool/app/dist/assets/polar-C0HS_06l.js +1 -0
  241. package/dist/diff_tool/app/dist/assets/postcss-CXtECtnM.js +1 -0
  242. package/dist/diff_tool/app/dist/assets/powerquery-CEu0bR-o.js +1 -0
  243. package/dist/diff_tool/app/dist/assets/powershell-Dpen1YoG.js +1 -0
  244. package/dist/diff_tool/app/dist/assets/prisma-Dd19v3D-.js +1 -0
  245. package/dist/diff_tool/app/dist/assets/prolog-CbFg5uaA.js +1 -0
  246. package/dist/diff_tool/app/dist/assets/proto-C7zT0LnQ.js +1 -0
  247. package/dist/diff_tool/app/dist/assets/pug-CGlum2m_.js +1 -0
  248. package/dist/diff_tool/app/dist/assets/puppet-BMWR74SV.js +1 -0
  249. package/dist/diff_tool/app/dist/assets/purescript-CklMAg4u.js +1 -0
  250. package/dist/diff_tool/app/dist/assets/python-B6aJPvgy.js +1 -0
  251. package/dist/diff_tool/app/dist/assets/qml-3beO22l8.js +1 -0
  252. package/dist/diff_tool/app/dist/assets/qmldir-C8lEn-DE.js +1 -0
  253. package/dist/diff_tool/app/dist/assets/qss-IeuSbFQv.js +1 -0
  254. package/dist/diff_tool/app/dist/assets/r-Dspwwk_N.js +1 -0
  255. package/dist/diff_tool/app/dist/assets/racket-BqYA7rlc.js +1 -0
  256. package/dist/diff_tool/app/dist/assets/raku-DXvB9xmW.js +1 -0
  257. package/dist/diff_tool/app/dist/assets/razor-Uh8Bk_45.js +1 -0
  258. package/dist/diff_tool/app/dist/assets/red-bN70gL4F.js +1 -0
  259. package/dist/diff_tool/app/dist/assets/reg-C-SQnVFl.js +1 -0
  260. package/dist/diff_tool/app/dist/assets/regexp-CDVJQ6XC.js +1 -0
  261. package/dist/diff_tool/app/dist/assets/rel-C3B-1QV4.js +1 -0
  262. package/dist/diff_tool/app/dist/assets/riscv-BM1_JUlF.js +1 -0
  263. package/dist/diff_tool/app/dist/assets/ron-D8l8udqQ.js +1 -0
  264. package/dist/diff_tool/app/dist/assets/rose-pine-dawn-DHQR4-dF.js +1 -0
  265. package/dist/diff_tool/app/dist/assets/rose-pine-moon-D4_iv3hh.js +1 -0
  266. package/dist/diff_tool/app/dist/assets/rose-pine-qdsjHGoJ.js +1 -0
  267. package/dist/diff_tool/app/dist/assets/rosmsg-BJDFO7_C.js +1 -0
  268. package/dist/diff_tool/app/dist/assets/rst-BrH8l1NY.js +1 -0
  269. package/dist/diff_tool/app/dist/assets/ruby-Dw2BHqvy.js +1 -0
  270. package/dist/diff_tool/app/dist/assets/rust-B1yitclQ.js +1 -0
  271. package/dist/diff_tool/app/dist/assets/sas-cz2c8ADy.js +1 -0
  272. package/dist/diff_tool/app/dist/assets/sass-Cj5Yp3dK.js +1 -0
  273. package/dist/diff_tool/app/dist/assets/scala-C151Ov-r.js +1 -0
  274. package/dist/diff_tool/app/dist/assets/scheme-C98Dy4si.js +1 -0
  275. package/dist/diff_tool/app/dist/assets/scss-OYdSNvt2.js +1 -0
  276. package/dist/diff_tool/app/dist/assets/sdbl-DVxCFoDh.js +1 -0
  277. package/dist/diff_tool/app/dist/assets/shaderlab-Dg9Lc6iA.js +1 -0
  278. package/dist/diff_tool/app/dist/assets/shellscript-Yzrsuije.js +1 -0
  279. package/dist/diff_tool/app/dist/assets/shellsession-BADoaaVG.js +1 -0
  280. package/dist/diff_tool/app/dist/assets/slack-dark-BthQWCQV.js +1 -0
  281. package/dist/diff_tool/app/dist/assets/slack-ochin-DqwNpetd.js +1 -0
  282. package/dist/diff_tool/app/dist/assets/smalltalk-BERRCDM3.js +1 -0
  283. package/dist/diff_tool/app/dist/assets/snazzy-light-Bw305WKR.js +1 -0
  284. package/dist/diff_tool/app/dist/assets/solarized-dark-DXbdFlpD.js +1 -0
  285. package/dist/diff_tool/app/dist/assets/solarized-light-L9t79GZl.js +1 -0
  286. package/dist/diff_tool/app/dist/assets/solidity-rGO070M0.js +1 -0
  287. package/dist/diff_tool/app/dist/assets/soy-Brmx7dQM.js +1 -0
  288. package/dist/diff_tool/app/dist/assets/sparql-rVzFXLq3.js +1 -0
  289. package/dist/diff_tool/app/dist/assets/splunk-BtCnVYZw.js +1 -0
  290. package/dist/diff_tool/app/dist/assets/sql-BLtJtn59.js +1 -0
  291. package/dist/diff_tool/app/dist/assets/ssh-config-_ykCGR6B.js +1 -0
  292. package/dist/diff_tool/app/dist/assets/stata-BH5u7GGu.js +1 -0
  293. package/dist/diff_tool/app/dist/assets/stylus-BEDo0Tqx.js +1 -0
  294. package/dist/diff_tool/app/dist/assets/surrealql-Bq5Q-fJD.js +1 -0
  295. package/dist/diff_tool/app/dist/assets/svelte-C_ipcX3V.js +1 -0
  296. package/dist/diff_tool/app/dist/assets/swift-D82vCrfD.js +1 -0
  297. package/dist/diff_tool/app/dist/assets/synthwave-84-CbfX1IO0.js +1 -0
  298. package/dist/diff_tool/app/dist/assets/system-verilog-CnnmHF94.js +1 -0
  299. package/dist/diff_tool/app/dist/assets/systemd-4A_iFExJ.js +1 -0
  300. package/dist/diff_tool/app/dist/assets/talonscript-CkByrt1z.js +1 -0
  301. package/dist/diff_tool/app/dist/assets/tasl-QIJgUcNo.js +1 -0
  302. package/dist/diff_tool/app/dist/assets/tcl-dwOrl1Do.js +1 -0
  303. package/dist/diff_tool/app/dist/assets/templ-P3uqSqPl.js +1 -0
  304. package/dist/diff_tool/app/dist/assets/terraform-BETggiCN.js +1 -0
  305. package/dist/diff_tool/app/dist/assets/tex-idrVyKtj.js +1 -0
  306. package/dist/diff_tool/app/dist/assets/tokyo-night-hegEt444.js +1 -0
  307. package/dist/diff_tool/app/dist/assets/toml-vGWfd6FD.js +1 -0
  308. package/dist/diff_tool/app/dist/assets/ts-tags-zn1MmPIZ.js +1 -0
  309. package/dist/diff_tool/app/dist/assets/tsv-B_m7g4N7.js +1 -0
  310. package/dist/diff_tool/app/dist/assets/tsx-COt5Ahok.js +1 -0
  311. package/dist/diff_tool/app/dist/assets/turtle-BsS91CYL.js +1 -0
  312. package/dist/diff_tool/app/dist/assets/twig-DNn4PbVi.js +1 -0
  313. package/dist/diff_tool/app/dist/assets/typescript-BPQ3VLAy.js +1 -0
  314. package/dist/diff_tool/app/dist/assets/typespec-BGHnOYBU.js +1 -0
  315. package/dist/diff_tool/app/dist/assets/typst-DHCkPAjA.js +1 -0
  316. package/dist/diff_tool/app/dist/assets/v-BcVCzyr7.js +1 -0
  317. package/dist/diff_tool/app/dist/assets/vala-CsfeWuGM.js +1 -0
  318. package/dist/diff_tool/app/dist/assets/vb-D17OF-Vu.js +1 -0
  319. package/dist/diff_tool/app/dist/assets/verilog-BQ8w6xss.js +1 -0
  320. package/dist/diff_tool/app/dist/assets/vesper-DU1UobuO.js +1 -0
  321. package/dist/diff_tool/app/dist/assets/vhdl-CeAyd5Ju.js +1 -0
  322. package/dist/diff_tool/app/dist/assets/viml-CJc9bBzg.js +1 -0
  323. package/dist/diff_tool/app/dist/assets/vitesse-black-Bkuqu6BP.js +1 -0
  324. package/dist/diff_tool/app/dist/assets/vitesse-dark-D0r3Knsf.js +1 -0
  325. package/dist/diff_tool/app/dist/assets/vitesse-light-CVO1_9PV.js +1 -0
  326. package/dist/diff_tool/app/dist/assets/vue-DN_0RTcg.js +1 -0
  327. package/dist/diff_tool/app/dist/assets/vue-html-AaS7Mt5G.js +1 -0
  328. package/dist/diff_tool/app/dist/assets/vue-vine-CQOfvN7w.js +1 -0
  329. package/dist/diff_tool/app/dist/assets/vyper-CDx5xZoG.js +1 -0
  330. package/dist/diff_tool/app/dist/assets/wasm-CG6Dc4jp.js +1 -0
  331. package/dist/diff_tool/app/dist/assets/wasm-MzD3tlZU.js +1 -0
  332. package/dist/diff_tool/app/dist/assets/wenyan-BV7otONQ.js +1 -0
  333. package/dist/diff_tool/app/dist/assets/wgsl-Dx-B1_4e.js +1 -0
  334. package/dist/diff_tool/app/dist/assets/wikitext-BhOHFoWU.js +1 -0
  335. package/dist/diff_tool/app/dist/assets/wit-5i3qLPDT.js +1 -0
  336. package/dist/diff_tool/app/dist/assets/wolfram-lXgVvXCa.js +1 -0
  337. package/dist/diff_tool/app/dist/assets/xml-sdJ4AIDG.js +1 -0
  338. package/dist/diff_tool/app/dist/assets/xsl-CtQFsRM5.js +1 -0
  339. package/dist/diff_tool/app/dist/assets/yaml-Buea-lGh.js +1 -0
  340. package/dist/diff_tool/app/dist/assets/zenscript-DVFEvuxE.js +1 -0
  341. package/dist/diff_tool/app/dist/assets/zig-VOosw3JB.js +1 -0
  342. package/dist/diff_tool/app/dist/fonts/GeistMono-Medium.woff2 +0 -0
  343. package/dist/diff_tool/app/dist/fonts/GeistMono-Regular.woff2 +0 -0
  344. package/dist/diff_tool/app/dist/index.html +13 -0
  345. package/dist/diff_tool/http_server.js +354 -0
  346. package/dist/diff_tool/http_server.js.map +1 -0
  347. package/dist/diff_tool/index.js +42 -0
  348. package/dist/diff_tool/index.js.map +1 -0
  349. package/dist/diff_tool/launcher.js +7 -0
  350. package/dist/diff_tool/launcher.js.map +1 -0
  351. package/dist/diff_tool/protocol_client.js +247 -0
  352. package/dist/diff_tool/protocol_client.js.map +1 -0
  353. package/dist/diff_tool/review_state.js +140 -0
  354. package/dist/diff_tool/review_state.js.map +1 -0
  355. package/dist/diff_tool/shared_types.js +2 -0
  356. package/dist/diff_tool/shared_types.js.map +1 -0
  357. package/dist/main.js +45 -2
  358. package/dist/main.js.map +1 -1
  359. package/dist/tui/app.js.map +1 -1
  360. package/dist/tui/chat_controller/diff_review_service.js +258 -0
  361. package/dist/tui/chat_controller/diff_review_service.js.map +1 -0
  362. package/dist/tui/chat_controller/interrupt_lifecycle.js +1 -3
  363. package/dist/tui/chat_controller/interrupt_lifecycle.js.map +1 -1
  364. package/dist/tui/chat_controller.js +127 -31
  365. package/dist/tui/chat_controller.js.map +1 -1
  366. package/dist/tui/chat_view.js +4 -0
  367. package/dist/tui/chat_view.js.map +1 -1
  368. package/dist/tui/ui/chat_message_model.js +16 -2
  369. package/dist/tui/ui/chat_message_model.js.map +1 -1
  370. package/dist/tui/ui/components/editor.js +79 -13
  371. package/dist/tui/ui/components/editor.js.map +1 -1
  372. package/dist/tui/ui/components/undo_stack.js +16 -0
  373. package/dist/tui/ui/components/undo_stack.js.map +1 -0
  374. package/dist/tui/ui/diff_review_message.js +82 -0
  375. package/dist/tui/ui/diff_review_message.js.map +1 -0
  376. package/dist/tui/ui/rewind_picker.js +2 -7
  377. package/dist/tui/ui/rewind_picker.js.map +1 -1
  378. package/dist/tui/ui/subagent_panel.js +17 -0
  379. package/dist/tui/ui/subagent_panel.js.map +1 -1
  380. package/dist/tui/ui/theme/palette.js +2 -0
  381. package/dist/tui/ui/theme/palette.js.map +1 -1
  382. package/dist/tui/ui/theme/theme.js.map +1 -1
  383. package/dist/tui/ui/user_message.js +8 -4
  384. package/dist/tui/ui/user_message.js.map +1 -1
  385. package/package.json +4 -4
@@ -1,4 +1,5 @@
1
- import { decodeKittyPrintable, getEditorKeybindings, matchesKey, SelectList, truncateToWidth, visibleWidth, } from "@mariozechner/pi-tui";
1
+ import { decodeKittyPrintable, getEditorKeybindings, matchesKey, SelectList, visibleWidth, } from "@mariozechner/pi-tui";
2
+ import { UndoStack } from "./undo_stack.js";
2
3
  const segmenter = new Intl.Segmenter(undefined, { granularity: "grapheme" });
3
4
  const PASTE_MARKER_REGEX = /\[paste #(\d+)( (\+\d+ lines|\d+ chars))?\]/g;
4
5
  const PASTE_MARKER_SINGLE = /^\[paste #(\d+)( (\+\d+ lines|\d+ chars))?\]$/;
@@ -66,11 +67,6 @@ function stripAnsiSequences(text) {
66
67
  function sanitizeInputText(text) {
67
68
  return text ? stripAnsiSequences(text) : text;
68
69
  }
69
- const SLASH_COMMAND_SELECT_LIST_LAYOUT = {
70
- minPrimaryColumnWidth: 12,
71
- maxPrimaryColumnWidth: 40,
72
- truncatePrimary: ({ text, maxWidth }) => truncateToWidth(text, maxWidth, "…"),
73
- };
74
70
  /**
75
71
  * Split a line into word-wrapped chunks.
76
72
  * Wraps at word boundaries when possible, falling back to character-level
@@ -178,6 +174,8 @@ export class Editor {
178
174
  // Prompt history for up/down navigation
179
175
  history = [];
180
176
  historyIndex = -1; // -1 = not browsing, 0 = most recent, 1 = older, etc.
177
+ lastAction = null;
178
+ undoStack = new UndoStack();
181
179
  onSubmit;
182
180
  onChange;
183
181
  disableSubmit = false;
@@ -237,11 +235,15 @@ export class Editor {
237
235
  return currentVisualLine === visualLines.length - 1;
238
236
  }
239
237
  navigateHistory(direction) {
238
+ this.lastAction = null;
240
239
  if (this.history.length === 0)
241
240
  return;
242
241
  const newIndex = this.historyIndex - direction; // Up(-1) increases index, Down(1) decreases
243
242
  if (newIndex < -1 || newIndex >= this.history.length)
244
243
  return;
244
+ if (this.historyIndex === -1 && newIndex >= 0) {
245
+ this.pushUndoSnapshot();
246
+ }
245
247
  this.historyIndex = newIndex;
246
248
  if (this.historyIndex === -1) {
247
249
  // Returned to "current" state - clear editor
@@ -363,6 +365,10 @@ export class Editor {
363
365
  if (kb.matches(data, "copy")) {
364
366
  return;
365
367
  }
368
+ if (kb.matches(data, "undo")) {
369
+ this.undo();
370
+ return;
371
+ }
366
372
  // Handle autocomplete mode
367
373
  if (this.autocompleteState && this.autocompleteList) {
368
374
  if (kb.matches(data, "selectCancel")) {
@@ -376,6 +382,8 @@ export class Editor {
376
382
  if (kb.matches(data, "tab")) {
377
383
  const selected = this.autocompleteList.getSelectedItem();
378
384
  if (selected && this.autocompleteProvider) {
385
+ this.pushUndoSnapshot();
386
+ this.lastAction = null;
379
387
  const result = this.autocompleteProvider.applyCompletion(this.state.lines, this.state.cursorLine, this.state.cursorCol, selected, this.autocompletePrefix);
380
388
  this.state.lines = result.lines;
381
389
  this.state.cursorLine = result.cursorLine;
@@ -394,6 +402,8 @@ export class Editor {
394
402
  if (kb.matches(data, "selectConfirm")) {
395
403
  const selected = this.autocompleteList.getSelectedItem();
396
404
  if (selected && this.autocompleteProvider) {
405
+ this.pushUndoSnapshot();
406
+ this.lastAction = null;
397
407
  const result = this.autocompleteProvider.applyCompletion(this.state.lines, this.state.cursorLine, this.state.cursorCol, selected, this.autocompletePrefix);
398
408
  this.state.lines = result.lines;
399
409
  this.state.cursorLine = result.cursorLine;
@@ -480,6 +490,8 @@ export class Editor {
480
490
  this.pastes.clear();
481
491
  this.pasteCounter = 0;
482
492
  this.historyIndex = -1;
493
+ this.undoStack.clear();
494
+ this.lastAction = null;
483
495
  if (this.onChange)
484
496
  this.onChange("");
485
497
  if (this.onSubmit)
@@ -640,14 +652,24 @@ export class Editor {
640
652
  return { line: this.state.cursorLine, col: this.state.cursorCol };
641
653
  }
642
654
  setText(text) {
655
+ this.lastAction = null;
643
656
  this.historyIndex = -1; // Exit history browsing mode
644
- this.setTextInternal(text);
657
+ const sanitized = sanitizeInputText(text);
658
+ if (this.getText() !== sanitized) {
659
+ this.pushUndoSnapshot();
660
+ }
661
+ this.setTextInternal(sanitized);
645
662
  }
646
663
  /**
647
664
  * Insert text at the current cursor position.
648
665
  * Used for programmatic insertion (e.g., clipboard image markers).
649
666
  */
650
667
  insertTextAtCursor(text) {
668
+ if (!text)
669
+ return;
670
+ this.pushUndoSnapshot();
671
+ this.lastAction = null;
672
+ this.historyIndex = -1;
651
673
  this.insertTextAtCursorInternal(text);
652
674
  }
653
675
  insertTextAtCursorInternal(text) {
@@ -690,11 +712,15 @@ export class Editor {
690
712
  if (!sanitized)
691
713
  return;
692
714
  this.historyIndex = -1; // Exit history browsing mode
715
+ if (isWhitespaceChar(sanitized) || this.lastAction !== "type-word") {
716
+ this.pushUndoSnapshot();
717
+ }
718
+ this.lastAction = "type-word";
693
719
  const line = this.state.lines[this.state.cursorLine] || "";
694
720
  const before = line.slice(0, this.state.cursorCol);
695
721
  const after = line.slice(this.state.cursorCol);
696
722
  this.state.lines[this.state.cursorLine] = before + sanitized + after;
697
- this.state.cursorCol += sanitized.length; // Fix: increment by the length of the inserted string
723
+ this.state.cursorCol += sanitized.length;
698
724
  if (this.onChange) {
699
725
  this.onChange(this.getText());
700
726
  }
@@ -732,6 +758,8 @@ export class Editor {
732
758
  }
733
759
  handlePaste(pastedText) {
734
760
  this.historyIndex = -1; // Exit history browsing mode
761
+ this.lastAction = null;
762
+ this.pushUndoSnapshot();
735
763
  // Clean the pasted text
736
764
  const sanitizedText = sanitizeInputText(pastedText);
737
765
  const cleanText = this.normalizeText(sanitizedText);
@@ -769,6 +797,8 @@ export class Editor {
769
797
  }
770
798
  addNewLine() {
771
799
  this.historyIndex = -1; // Exit history browsing mode
800
+ this.lastAction = null;
801
+ this.pushUndoSnapshot();
772
802
  const currentLine = this.state.lines[this.state.cursorLine] || "";
773
803
  const before = currentLine.slice(0, this.state.cursorCol);
774
804
  const after = currentLine.slice(this.state.cursorCol);
@@ -784,7 +814,9 @@ export class Editor {
784
814
  }
785
815
  handleBackspace() {
786
816
  this.historyIndex = -1; // Exit history browsing mode
817
+ this.lastAction = null;
787
818
  if (this.state.cursorCol > 0) {
819
+ this.pushUndoSnapshot();
788
820
  // Delete grapheme before cursor (handles emojis, combining characters, etc.)
789
821
  const line = this.state.lines[this.state.cursorLine] || "";
790
822
  const beforeCursor = line.slice(0, this.state.cursorCol);
@@ -798,6 +830,7 @@ export class Editor {
798
830
  this.state.cursorCol -= graphemeLength;
799
831
  }
800
832
  else if (this.state.cursorLine > 0) {
833
+ this.pushUndoSnapshot();
801
834
  // Merge with previous line
802
835
  const currentLine = this.state.lines[this.state.cursorLine] || "";
803
836
  const previousLine = this.state.lines[this.state.cursorLine - 1] || "";
@@ -826,21 +859,26 @@ export class Editor {
826
859
  }
827
860
  }
828
861
  moveToLineStart() {
862
+ this.lastAction = null;
829
863
  this.state.cursorCol = 0;
830
864
  }
831
865
  moveToLineEnd() {
866
+ this.lastAction = null;
832
867
  const currentLine = this.state.lines[this.state.cursorLine] || "";
833
868
  this.state.cursorCol = currentLine.length;
834
869
  }
835
870
  deleteToStartOfLine() {
836
871
  this.historyIndex = -1; // Exit history browsing mode
872
+ this.lastAction = null;
837
873
  const currentLine = this.state.lines[this.state.cursorLine] || "";
838
874
  if (this.state.cursorCol > 0) {
875
+ this.pushUndoSnapshot();
839
876
  // Delete from start of line up to cursor
840
877
  this.state.lines[this.state.cursorLine] = currentLine.slice(this.state.cursorCol);
841
878
  this.state.cursorCol = 0;
842
879
  }
843
880
  else if (this.state.cursorLine > 0) {
881
+ this.pushUndoSnapshot();
844
882
  // At start of line - merge with previous line
845
883
  const previousLine = this.state.lines[this.state.cursorLine - 1] || "";
846
884
  this.state.lines[this.state.cursorLine - 1] = previousLine + currentLine;
@@ -854,12 +892,15 @@ export class Editor {
854
892
  }
855
893
  deleteToEndOfLine() {
856
894
  this.historyIndex = -1; // Exit history browsing mode
895
+ this.lastAction = null;
857
896
  const currentLine = this.state.lines[this.state.cursorLine] || "";
858
897
  if (this.state.cursorCol < currentLine.length) {
898
+ this.pushUndoSnapshot();
859
899
  // Delete from cursor to end of line
860
900
  this.state.lines[this.state.cursorLine] = currentLine.slice(0, this.state.cursorCol);
861
901
  }
862
902
  else if (this.state.cursorLine < this.state.lines.length - 1) {
903
+ this.pushUndoSnapshot();
863
904
  // At end of line - merge with next line
864
905
  const nextLine = this.state.lines[this.state.cursorLine + 1] || "";
865
906
  this.state.lines[this.state.cursorLine] = currentLine + nextLine;
@@ -871,10 +912,12 @@ export class Editor {
871
912
  }
872
913
  deleteWordBackwards() {
873
914
  this.historyIndex = -1; // Exit history browsing mode
915
+ this.lastAction = null;
874
916
  const currentLine = this.state.lines[this.state.cursorLine] || "";
875
917
  // If at start of line, behave like backspace at column 0 (merge with previous line)
876
918
  if (this.state.cursorCol === 0) {
877
919
  if (this.state.cursorLine > 0) {
920
+ this.pushUndoSnapshot();
878
921
  const previousLine = this.state.lines[this.state.cursorLine - 1] || "";
879
922
  this.state.lines[this.state.cursorLine - 1] = previousLine + currentLine;
880
923
  this.state.lines.splice(this.state.cursorLine, 1);
@@ -883,6 +926,7 @@ export class Editor {
883
926
  }
884
927
  }
885
928
  else {
929
+ this.pushUndoSnapshot();
886
930
  const oldCursorCol = this.state.cursorCol;
887
931
  this.moveWordBackwards();
888
932
  const deleteFrom = this.state.cursorCol;
@@ -897,8 +941,10 @@ export class Editor {
897
941
  }
898
942
  handleForwardDelete() {
899
943
  this.historyIndex = -1; // Exit history browsing mode
944
+ this.lastAction = null;
900
945
  const currentLine = this.state.lines[this.state.cursorLine] || "";
901
946
  if (this.state.cursorCol < currentLine.length) {
947
+ this.pushUndoSnapshot();
902
948
  // Delete grapheme at cursor position (handles emojis, combining characters, etc.)
903
949
  const afterCursor = currentLine.slice(this.state.cursorCol);
904
950
  // Find the first grapheme at cursor
@@ -910,6 +956,7 @@ export class Editor {
910
956
  this.state.lines[this.state.cursorLine] = before + after;
911
957
  }
912
958
  else if (this.state.cursorLine < this.state.lines.length - 1) {
959
+ this.pushUndoSnapshot();
913
960
  // At end of line - merge with next line
914
961
  const nextLine = this.state.lines[this.state.cursorLine + 1] || "";
915
962
  this.state.lines[this.state.cursorLine] = currentLine + nextLine;
@@ -1001,6 +1048,7 @@ export class Editor {
1001
1048
  }
1002
1049
  }
1003
1050
  moveCursor(deltaLine, deltaCol) {
1051
+ this.lastAction = null;
1004
1052
  const width = this.lastWidth;
1005
1053
  if (deltaLine !== 0) {
1006
1054
  // Build visual line map for navigation
@@ -1057,6 +1105,7 @@ export class Editor {
1057
1105
  }
1058
1106
  }
1059
1107
  moveWordBackwards() {
1108
+ this.lastAction = null;
1060
1109
  const currentLine = this.state.lines[this.state.cursorLine] || "";
1061
1110
  // If at start of line, move to end of previous line
1062
1111
  if (this.state.cursorCol === 0) {
@@ -1102,6 +1151,7 @@ export class Editor {
1102
1151
  this.state.cursorCol = newCol;
1103
1152
  }
1104
1153
  moveWordForwards() {
1154
+ this.lastAction = null;
1105
1155
  const currentLine = this.state.lines[this.state.cursorLine] || "";
1106
1156
  // If at end of line, move to start of next line
1107
1157
  if (this.state.cursorCol >= currentLine.length) {
@@ -1200,11 +1250,8 @@ export class Editor {
1200
1250
  }
1201
1251
  return firstPrefixIndex;
1202
1252
  }
1203
- createAutocompleteList(prefix, items) {
1204
- const layout = this.isInSlashCommandContext(prefix)
1205
- ? SLASH_COMMAND_SELECT_LIST_LAYOUT
1206
- : undefined;
1207
- return new SelectList(items, 5, this.theme.selectList, layout);
1253
+ createAutocompleteList(_prefix, items) {
1254
+ return new SelectList(items, 5, this.theme.selectList);
1208
1255
  }
1209
1256
  // Autocomplete methods
1210
1257
  tryTriggerAutocomplete(explicitTab = false) {
@@ -1268,6 +1315,8 @@ export class Editor {
1268
1315
  this.cancelAutocomplete();
1269
1316
  return;
1270
1317
  }
1318
+ this.pushUndoSnapshot();
1319
+ this.lastAction = null;
1271
1320
  const result = this.autocompleteProvider.applyCompletion(this.state.lines, this.state.cursorLine, this.state.cursorCol, item, suggestions.prefix);
1272
1321
  this.state.lines = result.lines;
1273
1322
  this.state.cursorLine = result.cursorLine;
@@ -1316,5 +1365,22 @@ export class Editor {
1316
1365
  this.cancelAutocomplete();
1317
1366
  }
1318
1367
  }
1368
+ pushUndoSnapshot() {
1369
+ this.undoStack.push(this.state);
1370
+ }
1371
+ undo() {
1372
+ this.historyIndex = -1;
1373
+ const snapshot = this.undoStack.pop();
1374
+ if (!snapshot)
1375
+ return;
1376
+ this.state = snapshot;
1377
+ this.lastAction = null;
1378
+ if (this.onChange) {
1379
+ this.onChange(this.getText());
1380
+ }
1381
+ if (this.autocompleteState) {
1382
+ this.updateAutocomplete();
1383
+ }
1384
+ }
1319
1385
  }
1320
1386
  //# sourceMappingURL=editor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"editor.js","sourceRoot":"","sources":["../../../../src/tui/ui/components/editor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor.js","sourceRoot":"","sources":["../../../../src/tui/ui/components/editor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export class UndoStack {
2
+ stack = [];
3
+ push(state) {
4
+ this.stack.push(structuredClone(state));
5
+ }
6
+ pop() {
7
+ return this.stack.pop();
8
+ }
9
+ clear() {
10
+ this.stack.length = 0;
11
+ }
12
+ get length() {
13
+ return this.stack.length;
14
+ }
15
+ }
16
+ //# sourceMappingURL=undo_stack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"undo_stack.js","sourceRoot":"","sources":["../../../../src/tui/ui/components/undo_stack.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,SAAS;IACZ,KAAK,GAAQ,EAAE,CAAC;IAExB,IAAI,CAAC,KAAQ;QACX,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;CACF"}
@@ -0,0 +1,82 @@
1
+ import { buildSection, buildToolHeaderLine, inlineText, } from "./tool_output.js";
2
+ export function buildDiffReviewMessageView(theme, model) {
3
+ const { palette, text } = theme;
4
+ const statusMeta = getStatusMeta(theme, model.status);
5
+ const title = statusMeta.color(text.bold(`diff review ${statusMeta.label}`));
6
+ const commandSection = buildSection([palette.textMuted(`command: ${model.command}`)]);
7
+ const uiSection = buildSection(splitUiText(model.uiText).map((line) => palette.actionOutput(line)));
8
+ const reviewAgentSection = buildSection([
9
+ model.reviewAgent?.status === "running"
10
+ ? palette.actionRunning(`review agent: answering ${formatThreadId(model.reviewAgent.threadId)}`)
11
+ : undefined,
12
+ ]);
13
+ const detailSection = buildSection([
14
+ model.detail?.trim() ? statusMeta.color(model.detail.trim()) : undefined,
15
+ ]);
16
+ const sections = [commandSection, uiSection, reviewAgentSection, detailSection].filter((section) => Boolean(section));
17
+ return {
18
+ borderColor: statusMeta.color,
19
+ expanded: {
20
+ title,
21
+ sections,
22
+ },
23
+ compact: {
24
+ header: buildToolHeaderLine({
25
+ bulletStyle: statusMeta.color,
26
+ bullet: "◈",
27
+ label: "diff review",
28
+ labelStyle: palette.textMuted,
29
+ accent: inlineText(statusMeta.label),
30
+ accentStyle: statusMeta.color,
31
+ }),
32
+ extraText: sections.join("\n"),
33
+ },
34
+ };
35
+ }
36
+ function getStatusMeta(theme, status) {
37
+ switch (status) {
38
+ case "preparing":
39
+ return {
40
+ label: "preparing",
41
+ color: theme.palette.actionRunning,
42
+ };
43
+ case "active":
44
+ return {
45
+ label: "active",
46
+ color: theme.palette.actionRunning,
47
+ };
48
+ case "returned":
49
+ return {
50
+ label: "completed",
51
+ color: theme.palette.actionSuccess,
52
+ };
53
+ case "cancelled":
54
+ return {
55
+ label: "cancelled",
56
+ color: theme.palette.statusWarn,
57
+ };
58
+ case "failed":
59
+ return {
60
+ label: "failed",
61
+ color: theme.palette.actionError,
62
+ };
63
+ }
64
+ }
65
+ function splitUiText(text) {
66
+ const trimmed = text?.trim();
67
+ if (!trimmed) {
68
+ return [];
69
+ }
70
+ return trimmed
71
+ .split(/\r?\n/)
72
+ .map((line) => line.trimEnd())
73
+ .filter((line) => line.length > 0);
74
+ }
75
+ function formatThreadId(threadId) {
76
+ const trimmed = threadId.trim();
77
+ if (trimmed.length <= 24) {
78
+ return trimmed;
79
+ }
80
+ return `${trimmed.slice(0, 21)}...`;
81
+ }
82
+ //# sourceMappingURL=diff_review_message.js.map