@dungle-scrubs/tallow 0.8.23 → 0.8.25

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 (228) hide show
  1. package/dist/config.d.ts +1 -1
  2. package/dist/config.js +1 -1
  3. package/dist/workspace-transition-interactive.d.ts +1 -0
  4. package/dist/workspace-transition-interactive.d.ts.map +1 -1
  5. package/dist/workspace-transition-interactive.js +3 -0
  6. package/dist/workspace-transition-interactive.js.map +1 -1
  7. package/extensions/_shared/__tests__/shell-policy.test.ts +16 -13
  8. package/extensions/_shared/shell-policy.ts +8 -3
  9. package/extensions/hooks/__tests__/stale-cwd.test.ts +108 -0
  10. package/extensions/hooks/index.ts +52 -2
  11. package/extensions/plan-mode-tool/__tests__/index.test.ts +0 -1
  12. package/extensions/plan-mode-tool/__tests__/utils.test.ts +0 -57
  13. package/extensions/plan-mode-tool/extension.json +1 -10
  14. package/extensions/plan-mode-tool/index.ts +11 -284
  15. package/extensions/plan-mode-tool/utils.ts +0 -29
  16. package/extensions/skill-commands/__tests__/shared-skills-dirs.test.ts +113 -0
  17. package/extensions/skill-commands/index.ts +62 -5
  18. package/node_modules/.bun/mime-types@3.0.2/node_modules/mime-db/HISTORY.md +541 -0
  19. package/node_modules/.bun/mime-types@3.0.2/node_modules/mime-db/LICENSE +23 -0
  20. package/node_modules/.bun/mime-types@3.0.2/node_modules/mime-db/README.md +109 -0
  21. package/node_modules/.bun/mime-types@3.0.2/node_modules/mime-db/db.json +9342 -0
  22. package/node_modules/.bun/mime-types@3.0.2/node_modules/mime-db/index.js +12 -0
  23. package/node_modules/.bun/mime-types@3.0.2/node_modules/mime-db/package.json +56 -0
  24. package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/keys.d.ts.map +1 -1
  25. package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/keys.js +59 -7
  26. package/node_modules/@mariozechner/pi-tui/dist/keys.js.map +1 -0
  27. package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/tui.d.ts +13 -0
  28. package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/tui.d.ts.map +1 -1
  29. package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/tui.js +22 -2
  30. package/node_modules/@mariozechner/pi-tui/dist/tui.js.map +1 -0
  31. package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/package.json +1 -1
  32. package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/__tests__/tui-diff-regression.test.ts +52 -0
  33. package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/keys.ts +71 -7
  34. package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/tui.ts +23 -2
  35. package/package.json +11 -9
  36. package/packages/tallow-tui/node_modules/@types/mime-types/LICENSE +21 -0
  37. package/packages/tallow-tui/node_modules/@types/mime-types/README.md +28 -0
  38. package/packages/tallow-tui/node_modules/@types/mime-types/index.d.ts +9 -0
  39. package/packages/tallow-tui/node_modules/@types/mime-types/package.json +25 -0
  40. package/packages/tallow-tui/node_modules/chalk/license +9 -0
  41. package/packages/tallow-tui/node_modules/chalk/package.json +83 -0
  42. package/packages/tallow-tui/node_modules/chalk/readme.md +297 -0
  43. package/packages/tallow-tui/node_modules/chalk/source/index.d.ts +325 -0
  44. package/packages/tallow-tui/node_modules/chalk/source/index.js +225 -0
  45. package/packages/tallow-tui/node_modules/chalk/source/utilities.js +33 -0
  46. package/packages/tallow-tui/node_modules/chalk/source/vendor/ansi-styles/index.d.ts +236 -0
  47. package/packages/tallow-tui/node_modules/chalk/source/vendor/ansi-styles/index.js +223 -0
  48. package/packages/tallow-tui/node_modules/chalk/source/vendor/supports-color/browser.d.ts +1 -0
  49. package/packages/tallow-tui/node_modules/chalk/source/vendor/supports-color/browser.js +34 -0
  50. package/packages/tallow-tui/node_modules/chalk/source/vendor/supports-color/index.d.ts +55 -0
  51. package/packages/tallow-tui/node_modules/chalk/source/vendor/supports-color/index.js +190 -0
  52. package/packages/tallow-tui/node_modules/get-east-asian-width/index.d.ts +60 -0
  53. package/packages/tallow-tui/node_modules/get-east-asian-width/index.js +30 -0
  54. package/packages/tallow-tui/node_modules/get-east-asian-width/license +9 -0
  55. package/packages/tallow-tui/node_modules/get-east-asian-width/lookup.js +403 -0
  56. package/packages/tallow-tui/node_modules/get-east-asian-width/package.json +70 -0
  57. package/packages/tallow-tui/node_modules/get-east-asian-width/readme.md +65 -0
  58. package/packages/tallow-tui/node_modules/marked/LICENSE.md +44 -0
  59. package/packages/tallow-tui/node_modules/marked/README.md +106 -0
  60. package/packages/tallow-tui/node_modules/marked/bin/main.js +282 -0
  61. package/packages/tallow-tui/node_modules/marked/bin/marked.js +15 -0
  62. package/packages/tallow-tui/node_modules/marked/lib/marked.cjs +2211 -0
  63. package/packages/tallow-tui/node_modules/marked/lib/marked.cjs.map +7 -0
  64. package/packages/tallow-tui/node_modules/marked/lib/marked.d.cts +728 -0
  65. package/packages/tallow-tui/node_modules/marked/lib/marked.d.ts +728 -0
  66. package/packages/tallow-tui/node_modules/marked/lib/marked.esm.js +2189 -0
  67. package/packages/tallow-tui/node_modules/marked/lib/marked.esm.js.map +7 -0
  68. package/packages/tallow-tui/node_modules/marked/lib/marked.umd.js +2213 -0
  69. package/packages/tallow-tui/node_modules/marked/lib/marked.umd.js.map +7 -0
  70. package/packages/tallow-tui/node_modules/marked/man/marked.1 +111 -0
  71. package/packages/tallow-tui/node_modules/marked/man/marked.1.md +92 -0
  72. package/packages/tallow-tui/node_modules/marked/marked.min.js +69 -0
  73. package/packages/tallow-tui/node_modules/marked/package.json +111 -0
  74. package/packages/tallow-tui/node_modules/mime-types/HISTORY.md +428 -0
  75. package/packages/tallow-tui/node_modules/mime-types/LICENSE +23 -0
  76. package/packages/tallow-tui/node_modules/mime-types/README.md +126 -0
  77. package/packages/tallow-tui/node_modules/mime-types/index.js +211 -0
  78. package/packages/tallow-tui/node_modules/mime-types/mimeScore.js +57 -0
  79. package/packages/tallow-tui/node_modules/mime-types/package.json +49 -0
  80. package/extensions/__integration__/plan-rejection-feedback.test.ts +0 -272
  81. package/extensions/plan-mode-tool/__tests__/agent-end-execution.test.ts +0 -373
  82. package/packages/tallow-tui/dist/keys.js.map +0 -1
  83. package/packages/tallow-tui/dist/tui.js.map +0 -1
  84. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/README.md +0 -0
  85. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/autocomplete.d.ts +0 -0
  86. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/autocomplete.d.ts.map +0 -0
  87. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/autocomplete.js +0 -0
  88. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/autocomplete.js.map +0 -0
  89. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/border-styles.d.ts +0 -0
  90. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/border-styles.d.ts.map +0 -0
  91. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/border-styles.js +0 -0
  92. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/border-styles.js.map +0 -0
  93. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/bordered-box.d.ts +0 -0
  94. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/bordered-box.d.ts.map +0 -0
  95. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/bordered-box.js +0 -0
  96. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/bordered-box.js.map +0 -0
  97. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/box.d.ts +0 -0
  98. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/box.d.ts.map +0 -0
  99. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/box.js +0 -0
  100. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/box.js.map +0 -0
  101. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/cancellable-loader.d.ts +0 -0
  102. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/cancellable-loader.d.ts.map +0 -0
  103. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/cancellable-loader.js +0 -0
  104. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/cancellable-loader.js.map +0 -0
  105. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/editor.d.ts +0 -0
  106. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/editor.d.ts.map +0 -0
  107. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/editor.js +0 -0
  108. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/editor.js.map +0 -0
  109. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/image.d.ts +0 -0
  110. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/image.d.ts.map +0 -0
  111. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/image.js +0 -0
  112. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/image.js.map +0 -0
  113. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/input.d.ts +0 -0
  114. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/input.d.ts.map +0 -0
  115. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/input.js +0 -0
  116. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/input.js.map +0 -0
  117. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/loader.d.ts +0 -0
  118. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/loader.d.ts.map +0 -0
  119. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/loader.js +0 -0
  120. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/loader.js.map +0 -0
  121. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/markdown.d.ts +0 -0
  122. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/markdown.d.ts.map +0 -0
  123. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/markdown.js +0 -0
  124. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/markdown.js.map +0 -0
  125. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/select-list.d.ts +0 -0
  126. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/select-list.d.ts.map +0 -0
  127. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/select-list.js +0 -0
  128. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/select-list.js.map +0 -0
  129. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/settings-list.d.ts +0 -0
  130. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/settings-list.d.ts.map +0 -0
  131. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/settings-list.js +0 -0
  132. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/settings-list.js.map +0 -0
  133. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/spacer.d.ts +0 -0
  134. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/spacer.d.ts.map +0 -0
  135. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/spacer.js +0 -0
  136. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/spacer.js.map +0 -0
  137. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/text.d.ts +0 -0
  138. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/text.d.ts.map +0 -0
  139. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/text.js +0 -0
  140. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/text.js.map +0 -0
  141. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/truncated-text.d.ts +0 -0
  142. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/truncated-text.d.ts.map +0 -0
  143. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/truncated-text.js +0 -0
  144. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/components/truncated-text.js.map +0 -0
  145. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/editor-component.d.ts +0 -0
  146. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/editor-component.d.ts.map +0 -0
  147. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/editor-component.js +0 -0
  148. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/editor-component.js.map +0 -0
  149. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/fuzzy.d.ts +0 -0
  150. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/fuzzy.d.ts.map +0 -0
  151. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/fuzzy.js +0 -0
  152. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/fuzzy.js.map +0 -0
  153. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/index.d.ts +0 -0
  154. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/index.d.ts.map +0 -0
  155. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/index.js +0 -0
  156. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/index.js.map +0 -0
  157. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/keybindings.d.ts +0 -0
  158. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/keybindings.d.ts.map +0 -0
  159. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/keybindings.js +0 -0
  160. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/keybindings.js.map +0 -0
  161. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/keys.d.ts +0 -0
  162. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/kill-ring.d.ts +0 -0
  163. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/kill-ring.d.ts.map +0 -0
  164. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/kill-ring.js +0 -0
  165. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/kill-ring.js.map +0 -0
  166. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/stdin-buffer.d.ts +0 -0
  167. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/stdin-buffer.d.ts.map +0 -0
  168. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/stdin-buffer.js +0 -0
  169. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/stdin-buffer.js.map +0 -0
  170. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/terminal-image.d.ts +0 -0
  171. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/terminal-image.d.ts.map +0 -0
  172. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/terminal-image.js +0 -0
  173. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/terminal-image.js.map +0 -0
  174. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/terminal.d.ts +0 -0
  175. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/terminal.d.ts.map +0 -0
  176. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/terminal.js +0 -0
  177. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/terminal.js.map +0 -0
  178. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/test-utils/capability-env.d.ts +0 -0
  179. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/test-utils/capability-env.d.ts.map +0 -0
  180. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/test-utils/capability-env.js +0 -0
  181. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/test-utils/capability-env.js.map +0 -0
  182. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/undo-stack.d.ts +0 -0
  183. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/undo-stack.d.ts.map +0 -0
  184. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/undo-stack.js +0 -0
  185. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/undo-stack.js.map +0 -0
  186. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/utils.d.ts +0 -0
  187. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/utils.d.ts.map +0 -0
  188. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/utils.js +0 -0
  189. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/dist/utils.js.map +0 -0
  190. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/__tests__/__snapshots__/render.test.ts.snap +0 -0
  191. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/__tests__/editor-border.test.ts +0 -0
  192. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/__tests__/editor-change-listener.test.ts +0 -0
  193. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/__tests__/editor-ghost-text.test.ts +0 -0
  194. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/__tests__/fuzzy.test.ts +0 -0
  195. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/__tests__/image-component.test.ts +0 -0
  196. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/__tests__/keys.test.ts +0 -0
  197. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/__tests__/render.test.ts +0 -0
  198. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/__tests__/stdin-buffer.test.ts +0 -0
  199. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/__tests__/terminal-image.test.ts +0 -0
  200. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/__tests__/tui-render-scheduling.test.ts +0 -0
  201. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/__tests__/utils.test.ts +0 -0
  202. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/autocomplete.ts +0 -0
  203. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/border-styles.ts +0 -0
  204. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/components/bordered-box.ts +0 -0
  205. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/components/box.ts +0 -0
  206. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/components/cancellable-loader.ts +0 -0
  207. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/components/editor.ts +0 -0
  208. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/components/image.ts +0 -0
  209. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/components/input.ts +0 -0
  210. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/components/loader.ts +0 -0
  211. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/components/markdown.ts +0 -0
  212. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/components/select-list.ts +0 -0
  213. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/components/settings-list.ts +0 -0
  214. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/components/spacer.ts +0 -0
  215. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/components/text.ts +0 -0
  216. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/components/truncated-text.ts +0 -0
  217. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/editor-component.ts +0 -0
  218. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/fuzzy.ts +0 -0
  219. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/index.ts +0 -0
  220. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/keybindings.ts +0 -0
  221. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/kill-ring.ts +0 -0
  222. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/stdin-buffer.ts +0 -0
  223. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/terminal-image.ts +0 -0
  224. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/terminal.ts +0 -0
  225. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/test-utils/capability-env.ts +0 -0
  226. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/undo-stack.ts +0 -0
  227. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/src/utils.ts +0 -0
  228. /package/{packages/tallow-tui → node_modules/@mariozechner/pi-tui}/tsconfig.build.json +0 -0
@@ -1,373 +0,0 @@
1
- import { beforeEach, describe, expect, test } from "bun:test";
2
- import type { ExtensionAPI, ExtensionContext } from "@mariozechner/pi-coding-agent";
3
- import { Type } from "@sinclair/typebox";
4
- import { ExtensionHarness } from "../../../test-utils/extension-harness.js";
5
- import planModeExtension from "../index.js";
6
- import type { TodoItem } from "../utils.js";
7
-
8
- const BASELINE_TOOLS = [
9
- "read",
10
- "bash",
11
- "grep",
12
- "find",
13
- "ls",
14
- "edit",
15
- "write",
16
- "subagent",
17
- "bg_bash",
18
- "questionnaire",
19
- "plan_mode",
20
- ] as const;
21
-
22
- /**
23
- * Register mock tools for the test session.
24
- *
25
- * @param pi - Extension API
26
- */
27
- function registerMockTools(pi: ExtensionAPI): void {
28
- for (const name of [
29
- "read",
30
- "bash",
31
- "grep",
32
- "find",
33
- "ls",
34
- "edit",
35
- "write",
36
- "subagent",
37
- "bg_bash",
38
- "questionnaire",
39
- ] as const) {
40
- pi.registerTool({
41
- name,
42
- label: name,
43
- description: `Mock ${name}`,
44
- parameters: Type.Object({}),
45
- async execute() {
46
- return { content: [{ type: "text", text: `${name}-ok` }], details: {} };
47
- },
48
- });
49
- }
50
- }
51
-
52
- /**
53
- * Build persisted session entries that place the extension in execution mode.
54
- *
55
- * @param todos - Todo items for the plan
56
- * @returns Array of session entries
57
- */
58
- function executionModeEntries(todos: TodoItem[]): unknown[] {
59
- return [
60
- {
61
- type: "custom",
62
- customType: "plan-mode",
63
- data: {
64
- enabled: false,
65
- executing: true,
66
- normalTools: [...BASELINE_TOOLS],
67
- todos,
68
- currentStepIndex: 0,
69
- },
70
- },
71
- { type: "custom", customType: "plan-mode-execute" },
72
- ];
73
- }
74
-
75
- /**
76
- * Create an extension context with a configurable `select` stub.
77
- *
78
- * @param entries - Session entries for state restoration
79
- * @param selectReturn - Value that ctx.ui.select() resolves to
80
- * @returns Context and a record of select calls
81
- */
82
- function createUIContext(
83
- entries: unknown[] = [],
84
- selectReturn?: string
85
- ): { ctx: ExtensionContext; selectCalls: Array<{ title: string; options: string[] }> } {
86
- const selectCalls: Array<{ title: string; options: string[] }> = [];
87
- const ctx = {
88
- cwd: process.cwd(),
89
- hasUI: true,
90
- ui: {
91
- notify() {},
92
- setStatus() {},
93
- setEditorComponent() {},
94
- setWidget() {},
95
- setWorkingMessage() {},
96
- async select(title: string, options: string[]) {
97
- selectCalls.push({ title, options });
98
- return selectReturn;
99
- },
100
- async editor() {
101
- return undefined;
102
- },
103
- theme: {
104
- fg(_token: string, value: string) {
105
- return value;
106
- },
107
- bg(_token: string, value: string) {
108
- return value;
109
- },
110
- strikethrough(value: string) {
111
- return value;
112
- },
113
- },
114
- } as never,
115
- sessionManager: {
116
- getEntries() {
117
- return entries;
118
- },
119
- } as never,
120
- } as unknown as ExtensionContext;
121
- return { ctx, selectCalls };
122
- }
123
-
124
- /**
125
- * Create a headless context (no UI).
126
- *
127
- * @param entries - Session entries for state restoration
128
- * @returns Extension context with hasUI=false
129
- */
130
- function createHeadlessContext(entries: unknown[] = []): ExtensionContext {
131
- return {
132
- cwd: process.cwd(),
133
- hasUI: false,
134
- ui: {
135
- notify() {},
136
- setStatus() {},
137
- setEditorComponent() {},
138
- setWidget() {},
139
- setWorkingMessage() {},
140
- theme: {
141
- fg(_token: string, value: string) {
142
- return value;
143
- },
144
- strikethrough(value: string) {
145
- return value;
146
- },
147
- },
148
- } as never,
149
- sessionManager: {
150
- getEntries() {
151
- return entries;
152
- },
153
- } as never,
154
- } as unknown as ExtensionContext;
155
- }
156
-
157
- const SAMPLE_TODOS: TodoItem[] = [
158
- { step: 1, text: "Add error handling", completed: false },
159
- { step: 2, text: "Write tests", completed: false },
160
- { step: 3, text: "Update docs", completed: false },
161
- ];
162
-
163
- describe("agent_end execution mode — partial completion", () => {
164
- let harness: ExtensionHarness;
165
-
166
- beforeEach(async () => {
167
- harness = ExtensionHarness.create();
168
- await harness.loadExtension(registerMockTools);
169
- await harness.loadExtension(planModeExtension);
170
- harness.api.setActiveTools([...BASELINE_TOOLS]);
171
- });
172
-
173
- test("shows select menu when agent finishes with incomplete steps", async () => {
174
- const todos = SAMPLE_TODOS.map((t) => ({ ...t }));
175
- const entries = executionModeEntries(todos);
176
- const { ctx, selectCalls } = createUIContext(entries, "Abort plan");
177
-
178
- // Restore execution mode state
179
- await harness.fireEvent("session_start", { type: "session_start" }, ctx);
180
-
181
- // Agent finishes a turn — no [DONE:n] markers
182
- await harness.fireEvent(
183
- "agent_end",
184
- { messages: [{ role: "assistant", content: [{ type: "text", text: "Did some work." }] }] },
185
- ctx
186
- );
187
-
188
- expect(selectCalls).toHaveLength(1);
189
- expect(selectCalls[0].title).toContain("0/3");
190
- expect(selectCalls[0].options).toEqual([
191
- "Continue execution",
192
- "Provide guidance",
193
- "Mark plan as done",
194
- "Abort plan",
195
- ]);
196
- });
197
-
198
- test("shows correct count when some steps are completed", async () => {
199
- const todos = SAMPLE_TODOS.map((t) => ({ ...t }));
200
- todos[0].completed = true; // step 1 done
201
- const entries = executionModeEntries(todos);
202
- const { ctx, selectCalls } = createUIContext(entries, "Abort plan");
203
-
204
- await harness.fireEvent("session_start", { type: "session_start" }, ctx);
205
- await harness.fireEvent(
206
- "agent_end",
207
- { messages: [{ role: "assistant", content: [{ type: "text", text: "Finished step 1." }] }] },
208
- ctx
209
- );
210
-
211
- expect(selectCalls).toHaveLength(1);
212
- expect(selectCalls[0].title).toContain("1/3");
213
- });
214
-
215
- test("'Continue execution' sends message with triggerTurn", async () => {
216
- const todos = SAMPLE_TODOS.map((t) => ({ ...t }));
217
- const entries = executionModeEntries(todos);
218
- const { ctx } = createUIContext(entries, "Continue execution");
219
-
220
- await harness.fireEvent("session_start", { type: "session_start" }, ctx);
221
- await harness.fireEvent(
222
- "agent_end",
223
- { messages: [{ role: "assistant", content: [{ type: "text", text: "Partial." }] }] },
224
- ctx
225
- );
226
-
227
- const execMsg = harness.sentMessages.find((m) => m.customType === "plan-mode-execute");
228
- expect(execMsg).toBeDefined();
229
- expect(execMsg?.options?.triggerTurn).toBe(true);
230
- expect(execMsg?.content).toContain("step 1");
231
- });
232
-
233
- test("'Mark plan as done' clears execution mode and restores tools", async () => {
234
- const todos = SAMPLE_TODOS.map((t) => ({ ...t }));
235
- const entries = executionModeEntries(todos);
236
- const { ctx } = createUIContext(entries, "Mark plan as done");
237
-
238
- await harness.fireEvent("session_start", { type: "session_start" }, ctx);
239
- await harness.fireEvent(
240
- "agent_end",
241
- { messages: [{ role: "assistant", content: [{ type: "text", text: "Done enough." }] }] },
242
- ctx
243
- );
244
-
245
- // Should send plan-complete message
246
- const completeMsg = harness.sentMessages.find((m) => m.customType === "plan-complete");
247
- expect(completeMsg).toBeDefined();
248
- expect(completeMsg?.options?.triggerTurn).toBe(false);
249
-
250
- // Should restore full tool set
251
- expect(harness.api.getActiveTools()).toEqual([...BASELINE_TOOLS]);
252
-
253
- // Persisted state should reflect cleared execution mode
254
- const lastEntry = harness.appendedEntries.findLast((e) => e.customType === "plan-mode");
255
- expect(lastEntry?.data).toMatchObject({ executing: false, todos: [] });
256
- });
257
-
258
- test("'Abort plan' clears execution mode without completion message", async () => {
259
- const todos = SAMPLE_TODOS.map((t) => ({ ...t }));
260
- const entries = executionModeEntries(todos);
261
- const { ctx } = createUIContext(entries, "Abort plan");
262
-
263
- await harness.fireEvent("session_start", { type: "session_start" }, ctx);
264
- await harness.fireEvent(
265
- "agent_end",
266
- { messages: [{ role: "assistant", content: [{ type: "text", text: "Stopping." }] }] },
267
- ctx
268
- );
269
-
270
- // Should NOT send plan-complete message
271
- const completeMsg = harness.sentMessages.find((m) => m.customType === "plan-complete");
272
- expect(completeMsg).toBeUndefined();
273
-
274
- // Should restore full tool set
275
- expect(harness.api.getActiveTools()).toEqual([...BASELINE_TOOLS]);
276
-
277
- // Persisted state should reflect cleared execution mode
278
- const lastEntry = harness.appendedEntries.findLast((e) => e.customType === "plan-mode");
279
- expect(lastEntry?.data).toMatchObject({ executing: false, todos: [] });
280
- });
281
-
282
- test("headless mode (no UI) returns silently", async () => {
283
- const todos = SAMPLE_TODOS.map((t) => ({ ...t }));
284
- const entries = executionModeEntries(todos);
285
- const ctx = createHeadlessContext(entries);
286
-
287
- await harness.fireEvent("session_start", { type: "session_start" }, ctx);
288
- await harness.fireEvent(
289
- "agent_end",
290
- { messages: [{ role: "assistant", content: [{ type: "text", text: "Done." }] }] },
291
- ctx
292
- );
293
-
294
- // No select calls, no crash, no sent messages
295
- expect(harness.sentMessages).toHaveLength(0);
296
- });
297
-
298
- test("all steps completed via [DONE:n] triggers clean completion", async () => {
299
- const todos = SAMPLE_TODOS.map((t) => ({ ...t }));
300
- const entries = executionModeEntries(todos);
301
- const { ctx, selectCalls } = createUIContext(entries);
302
-
303
- await harness.fireEvent("session_start", { type: "session_start" }, ctx);
304
-
305
- // Simulate turn_end with all DONE markers
306
- await harness.fireEvent(
307
- "turn_end",
308
- {
309
- message: {
310
- role: "assistant",
311
- content: [{ type: "text", text: "[DONE:1] [DONE:2] [DONE:3]" }],
312
- },
313
- },
314
- ctx
315
- );
316
-
317
- // Now agent_end fires — all steps are complete
318
- await harness.fireEvent(
319
- "agent_end",
320
- {
321
- messages: [
322
- {
323
- role: "assistant",
324
- content: [{ type: "text", text: "[DONE:1] [DONE:2] [DONE:3]" }],
325
- },
326
- ],
327
- },
328
- ctx
329
- );
330
-
331
- // Should get "Plan Complete!" not the select menu
332
- const completeMsg = harness.sentMessages.find((m) => m.customType === "plan-complete");
333
- expect(completeMsg).toBeDefined();
334
- expect(selectCalls).toHaveLength(0);
335
- });
336
- });
337
-
338
- describe("execution mode widgets removed", () => {
339
- let harness: ExtensionHarness;
340
- let widgetCalls: Array<{ name: string; value: unknown }>;
341
-
342
- beforeEach(async () => {
343
- harness = ExtensionHarness.create();
344
- await harness.loadExtension(registerMockTools);
345
- await harness.loadExtension(planModeExtension);
346
- harness.api.setActiveTools([...BASELINE_TOOLS]);
347
- widgetCalls = [];
348
- });
349
-
350
- test("execution mode does not render banner or todo widgets", async () => {
351
- const todos = SAMPLE_TODOS.map((t) => ({ ...t }));
352
- const entries = executionModeEntries(todos);
353
- const { ctx } = createUIContext(entries, "Abort plan");
354
-
355
- // Intercept setWidget calls
356
- ctx.ui.setWidget = ((name: string, value: unknown) => {
357
- widgetCalls.push({ name, value });
358
- }) as never;
359
-
360
- await harness.fireEvent("session_start", { type: "session_start" }, ctx);
361
-
362
- // All plan-banner and plan-todos calls should be clearing (undefined)
363
- const bannerCalls = widgetCalls.filter((c) => c.name === "plan-banner");
364
- const todoCalls = widgetCalls.filter((c) => c.name === "plan-todos");
365
-
366
- for (const call of bannerCalls) {
367
- expect(call.value).toBeUndefined();
368
- }
369
- for (const call of todoCalls) {
370
- expect(call.value).toBeUndefined();
371
- }
372
- });
373
- });
@@ -1 +0,0 @@
1
- {"version":3,"file":"keys.js","sourceRoot":"","sources":["../src/keys.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tui.js","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"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"}