deft-console 0.11.1__tar.gz

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 (433) hide show
  1. deft_console-0.11.1/.gitignore +25 -0
  2. deft_console-0.11.1/.python-version +1 -0
  3. deft_console-0.11.1/AI_POLICY.md +6 -0
  4. deft_console-0.11.1/CHANGELOG.md +572 -0
  5. deft_console-0.11.1/CONTRIBUTING.md +8 -0
  6. deft_console-0.11.1/LICENSE +11 -0
  7. deft_console-0.11.1/Makefile +27 -0
  8. deft_console-0.11.1/PKG-INFO +255 -0
  9. deft_console-0.11.1/README.md +206 -0
  10. deft_console-0.11.1/docs/state-machines.md +188 -0
  11. deft_console-0.11.1/hatch_build.py +32 -0
  12. deft_console-0.11.1/notes.md +23 -0
  13. deft_console-0.11.1/pyproject.toml +100 -0
  14. deft_console-0.11.1/scripts/vendor.py +98 -0
  15. deft_console-0.11.1/src/deft_console/__init__.py +38 -0
  16. deft_console-0.11.1/src/deft_console/__main__.py +4 -0
  17. deft_console-0.11.1/src/deft_console/_loop.py +86 -0
  18. deft_console-0.11.1/src/deft_console/_path_fuzzy_search.py +48 -0
  19. deft_console-0.11.1/src/deft_console/_path_match.py +141 -0
  20. deft_console-0.11.1/src/deft_console/_vendor/VENDORED.md +9 -0
  21. deft_console-0.11.1/src/deft_console/_vendor/__init__.py +1 -0
  22. deft_console-0.11.1/src/deft_console/_vendor/pixcell/LICENSE +21 -0
  23. deft_console-0.11.1/src/deft_console/_vendor/pixcell/__init__.py +12 -0
  24. deft_console-0.11.1/src/deft_console/_vendor/pixcell/__main__.py +229 -0
  25. deft_console-0.11.1/src/deft_console/_vendor/pixcell/_diacritics.py +43 -0
  26. deft_console-0.11.1/src/deft_console/_vendor/pixcell/frames.py +176 -0
  27. deft_console-0.11.1/src/deft_console/_vendor/pixcell/halfblock.py +34 -0
  28. deft_console-0.11.1/src/deft_console/_vendor/pixcell/iterm2.py +18 -0
  29. deft_console-0.11.1/src/deft_console/_vendor/pixcell/kitty.py +215 -0
  30. deft_console-0.11.1/src/deft_console/_vendor/pixcell/live.py +238 -0
  31. deft_console-0.11.1/src/deft_console/_vendor/pixcell/probe.py +396 -0
  32. deft_console-0.11.1/src/deft_console/_vendor/pixcell/sixel.py +68 -0
  33. deft_console-0.11.1/src/deft_console/_vendor/pixcell/terminal_facts.py +308 -0
  34. deft_console-0.11.1/src/deft_console/_vendor/pixcell/terminal_facts.source +1 -0
  35. deft_console-0.11.1/src/deft_console/_vendor/pixcell/terminals.toml +159 -0
  36. deft_console-0.11.1/src/deft_console/_vendor/pixcell/textual.py +787 -0
  37. deft_console-0.11.1/src/deft_console/_vendor/termaid/LICENSE +21 -0
  38. deft_console-0.11.1/src/deft_console/_vendor/termaid/__init__.py +375 -0
  39. deft_console-0.11.1/src/deft_console/_vendor/termaid/__main__.py +6 -0
  40. deft_console-0.11.1/src/deft_console/_vendor/termaid/claude_hook.py +265 -0
  41. deft_console-0.11.1/src/deft_console/_vendor/termaid/cli.py +670 -0
  42. deft_console-0.11.1/src/deft_console/_vendor/termaid/diagnostics.py +41 -0
  43. deft_console-0.11.1/src/deft_console/_vendor/termaid/graph/__init__.py +4 -0
  44. deft_console-0.11.1/src/deft_console/_vendor/termaid/graph/model.py +203 -0
  45. deft_console-0.11.1/src/deft_console/_vendor/termaid/graph/shapes.py +23 -0
  46. deft_console-0.11.1/src/deft_console/_vendor/termaid/ingest.py +226 -0
  47. deft_console-0.11.1/src/deft_console/_vendor/termaid/layout/__init__.py +3 -0
  48. deft_console-0.11.1/src/deft_console/_vendor/termaid/layout/coordinates.py +51 -0
  49. deft_console-0.11.1/src/deft_console/_vendor/termaid/layout/grid.py +270 -0
  50. deft_console-0.11.1/src/deft_console/_vendor/termaid/layout/layers.py +508 -0
  51. deft_console-0.11.1/src/deft_console/_vendor/termaid/layout/placement.py +411 -0
  52. deft_console-0.11.1/src/deft_console/_vendor/termaid/layout/subgraphs.py +184 -0
  53. deft_console-0.11.1/src/deft_console/_vendor/termaid/markdown.py +103 -0
  54. deft_console-0.11.1/src/deft_console/_vendor/termaid/model/__init__.py +0 -0
  55. deft_console-0.11.1/src/deft_console/_vendor/termaid/model/blockdiagram.py +30 -0
  56. deft_console-0.11.1/src/deft_console/_vendor/termaid/model/classdiagram.py +47 -0
  57. deft_console-0.11.1/src/deft_console/_vendor/termaid/model/erdiagram.py +41 -0
  58. deft_console-0.11.1/src/deft_console/_vendor/termaid/model/gantt.py +101 -0
  59. deft_console-0.11.1/src/deft_console/_vendor/termaid/model/gitgraph.py +31 -0
  60. deft_console-0.11.1/src/deft_console/_vendor/termaid/model/journey.py +24 -0
  61. deft_console-0.11.1/src/deft_console/_vendor/termaid/model/kanban.py +23 -0
  62. deft_console-0.11.1/src/deft_console/_vendor/termaid/model/mindmap.py +23 -0
  63. deft_console-0.11.1/src/deft_console/_vendor/termaid/model/packet.py +22 -0
  64. deft_console-0.11.1/src/deft_console/_vendor/termaid/model/piechart.py +18 -0
  65. deft_console-0.11.1/src/deft_console/_vendor/termaid/model/quadrant.py +24 -0
  66. deft_console-0.11.1/src/deft_console/_vendor/termaid/model/sequence.py +66 -0
  67. deft_console-0.11.1/src/deft_console/_vendor/termaid/model/timeline.py +23 -0
  68. deft_console-0.11.1/src/deft_console/_vendor/termaid/model/treemap.py +28 -0
  69. deft_console-0.11.1/src/deft_console/_vendor/termaid/model/xychart.py +24 -0
  70. deft_console-0.11.1/src/deft_console/_vendor/termaid/output/__init__.py +0 -0
  71. deft_console-0.11.1/src/deft_console/_vendor/termaid/output/rich.py +275 -0
  72. deft_console-0.11.1/src/deft_console/_vendor/termaid/output/styled.py +66 -0
  73. deft_console-0.11.1/src/deft_console/_vendor/termaid/output/widget.py +46 -0
  74. deft_console-0.11.1/src/deft_console/_vendor/termaid/parser/__init__.py +4 -0
  75. deft_console-0.11.1/src/deft_console/_vendor/termaid/parser/architecture.py +332 -0
  76. deft_console-0.11.1/src/deft_console/_vendor/termaid/parser/blockdiagram.py +316 -0
  77. deft_console-0.11.1/src/deft_console/_vendor/termaid/parser/classdiagram.py +255 -0
  78. deft_console-0.11.1/src/deft_console/_vendor/termaid/parser/erdiagram.py +247 -0
  79. deft_console-0.11.1/src/deft_console/_vendor/termaid/parser/flowchart.py +871 -0
  80. deft_console-0.11.1/src/deft_console/_vendor/termaid/parser/gantt.py +250 -0
  81. deft_console-0.11.1/src/deft_console/_vendor/termaid/parser/gitgraph.py +340 -0
  82. deft_console-0.11.1/src/deft_console/_vendor/termaid/parser/journey.py +74 -0
  83. deft_console-0.11.1/src/deft_console/_vendor/termaid/parser/kanban.py +80 -0
  84. deft_console-0.11.1/src/deft_console/_vendor/termaid/parser/mindmap.py +81 -0
  85. deft_console-0.11.1/src/deft_console/_vendor/termaid/parser/packet.py +70 -0
  86. deft_console-0.11.1/src/deft_console/_vendor/termaid/parser/piechart.py +67 -0
  87. deft_console-0.11.1/src/deft_console/_vendor/termaid/parser/quadrant.py +67 -0
  88. deft_console-0.11.1/src/deft_console/_vendor/termaid/parser/sequence.py +250 -0
  89. deft_console-0.11.1/src/deft_console/_vendor/termaid/parser/statediagram.py +245 -0
  90. deft_console-0.11.1/src/deft_console/_vendor/termaid/parser/timeline.py +68 -0
  91. deft_console-0.11.1/src/deft_console/_vendor/termaid/parser/tokens.py +53 -0
  92. deft_console-0.11.1/src/deft_console/_vendor/termaid/parser/treemap.py +67 -0
  93. deft_console-0.11.1/src/deft_console/_vendor/termaid/parser/xychart.py +143 -0
  94. deft_console-0.11.1/src/deft_console/_vendor/termaid/partial.py +150 -0
  95. deft_console-0.11.1/src/deft_console/_vendor/termaid/py.typed +0 -0
  96. deft_console-0.11.1/src/deft_console/_vendor/termaid/renderer/__init__.py +3 -0
  97. deft_console-0.11.1/src/deft_console/_vendor/termaid/renderer/blockdiagram.py +476 -0
  98. deft_console-0.11.1/src/deft_console/_vendor/termaid/renderer/canvas.py +366 -0
  99. deft_console-0.11.1/src/deft_console/_vendor/termaid/renderer/charset.py +193 -0
  100. deft_console-0.11.1/src/deft_console/_vendor/termaid/renderer/classdiagram.py +854 -0
  101. deft_console-0.11.1/src/deft_console/_vendor/termaid/renderer/draw.py +829 -0
  102. deft_console-0.11.1/src/deft_console/_vendor/termaid/renderer/erdiagram.py +600 -0
  103. deft_console-0.11.1/src/deft_console/_vendor/termaid/renderer/gantt.py +315 -0
  104. deft_console-0.11.1/src/deft_console/_vendor/termaid/renderer/gitgraph.py +425 -0
  105. deft_console-0.11.1/src/deft_console/_vendor/termaid/renderer/journey.py +185 -0
  106. deft_console-0.11.1/src/deft_console/_vendor/termaid/renderer/kanban.py +139 -0
  107. deft_console-0.11.1/src/deft_console/_vendor/termaid/renderer/mindmap.py +295 -0
  108. deft_console-0.11.1/src/deft_console/_vendor/termaid/renderer/packet.py +200 -0
  109. deft_console-0.11.1/src/deft_console/_vendor/termaid/renderer/piechart.py +122 -0
  110. deft_console-0.11.1/src/deft_console/_vendor/termaid/renderer/quadrant.py +147 -0
  111. deft_console-0.11.1/src/deft_console/_vendor/termaid/renderer/relation_tracks.py +31 -0
  112. deft_console-0.11.1/src/deft_console/_vendor/termaid/renderer/sequence.py +986 -0
  113. deft_console-0.11.1/src/deft_console/_vendor/termaid/renderer/shapes/__init__.py +461 -0
  114. deft_console-0.11.1/src/deft_console/_vendor/termaid/renderer/themes.py +179 -0
  115. deft_console-0.11.1/src/deft_console/_vendor/termaid/renderer/timeline.py +67 -0
  116. deft_console-0.11.1/src/deft_console/_vendor/termaid/renderer/treemap.py +245 -0
  117. deft_console-0.11.1/src/deft_console/_vendor/termaid/renderer/xychart.py +381 -0
  118. deft_console-0.11.1/src/deft_console/_vendor/termaid/routing/__init__.py +3 -0
  119. deft_console-0.11.1/src/deft_console/_vendor/termaid/routing/pathfinder.py +197 -0
  120. deft_console-0.11.1/src/deft_console/_vendor/termaid/routing/router.py +1206 -0
  121. deft_console-0.11.1/src/deft_console/_vendor/termaid/utils.py +246 -0
  122. deft_console-0.11.1/src/deft_console/about.py +93 -0
  123. deft_console-0.11.1/src/deft_console/acp/agent.py +1802 -0
  124. deft_console-0.11.1/src/deft_console/acp/api.py +123 -0
  125. deft_console-0.11.1/src/deft_console/acp/display.py +147 -0
  126. deft_console-0.11.1/src/deft_console/acp/encode_tool_call_id.py +12 -0
  127. deft_console-0.11.1/src/deft_console/acp/extensions/__init__.py +48 -0
  128. deft_console-0.11.1/src/deft_console/acp/extensions/deft.py +107 -0
  129. deft_console-0.11.1/src/deft_console/acp/extensions/xai.py +377 -0
  130. deft_console-0.11.1/src/deft_console/acp/messages.py +400 -0
  131. deft_console-0.11.1/src/deft_console/acp/prompt.py +82 -0
  132. deft_console-0.11.1/src/deft_console/acp/protocol.py +575 -0
  133. deft_console-0.11.1/src/deft_console/activity.py +211 -0
  134. deft_console-0.11.1/src/deft_console/activity_history.py +112 -0
  135. deft_console-0.11.1/src/deft_console/agent.py +130 -0
  136. deft_console-0.11.1/src/deft_console/agent_actions.py +68 -0
  137. deft_console-0.11.1/src/deft_console/agent_process.py +121 -0
  138. deft_console-0.11.1/src/deft_console/agent_schema.py +80 -0
  139. deft_console-0.11.1/src/deft_console/agents.py +120 -0
  140. deft_console-0.11.1/src/deft_console/ansi/__init__.py +1 -0
  141. deft_console-0.11.1/src/deft_console/ansi/_ansi.py +1876 -0
  142. deft_console-0.11.1/src/deft_console/ansi/_ansi_colors.py +264 -0
  143. deft_console-0.11.1/src/deft_console/ansi/_control_codes.py +37 -0
  144. deft_console-0.11.1/src/deft_console/ansi/_keys.py +251 -0
  145. deft_console-0.11.1/src/deft_console/ansi/_sgr_styles.py +64 -0
  146. deft_console-0.11.1/src/deft_console/ansi/_stream_parser.py +348 -0
  147. deft_console-0.11.1/src/deft_console/answer.py +24 -0
  148. deft_console-0.11.1/src/deft_console/app.py +1094 -0
  149. deft_console-0.11.1/src/deft_console/atomic.py +37 -0
  150. deft_console-0.11.1/src/deft_console/branding.py +29 -0
  151. deft_console-0.11.1/src/deft_console/browser/__init__.py +0 -0
  152. deft_console-0.11.1/src/deft_console/browser/cdp.py +389 -0
  153. deft_console-0.11.1/src/deft_console/browser/content.py +96 -0
  154. deft_console-0.11.1/src/deft_console/browser/install.py +187 -0
  155. deft_console-0.11.1/src/deft_console/browser/keys.py +50 -0
  156. deft_console-0.11.1/src/deft_console/browser/policy.py +78 -0
  157. deft_console-0.11.1/src/deft_console/browser/view.py +991 -0
  158. deft_console-0.11.1/src/deft_console/caret.py +57 -0
  159. deft_console-0.11.1/src/deft_console/cli.py +378 -0
  160. deft_console-0.11.1/src/deft_console/code_analyze.py +27 -0
  161. deft_console-0.11.1/src/deft_console/complete.py +38 -0
  162. deft_console-0.11.1/src/deft_console/constants.py +58 -0
  163. deft_console-0.11.1/src/deft_console/conversation_markdown.py +358 -0
  164. deft_console-0.11.1/src/deft_console/danger.py +372 -0
  165. deft_console-0.11.1/src/deft_console/data/agents/ampcode.com.toml +55 -0
  166. deft_console-0.11.1/src/deft_console/data/agents/augmentcode.com.toml +44 -0
  167. deft_console-0.11.1/src/deft_console/data/agents/claude-bridge.deftco.toml +40 -0
  168. deft_console-0.11.1/src/deft_console/data/agents/claude.com.toml +44 -0
  169. deft_console-0.11.1/src/deft_console/data/agents/claude.deftco.toml +52 -0
  170. deft_console-0.11.1/src/deft_console/data/agents/copilot.github.com.toml +29 -0
  171. deft_console-0.11.1/src/deft_console/data/agents/crowai.dev.toml +36 -0
  172. deft_console-0.11.1/src/deft_console/data/agents/cursor.com.toml +39 -0
  173. deft_console-0.11.1/src/deft_console/data/agents/deepagents.langchain.com.toml +32 -0
  174. deft_console-0.11.1/src/deft_console/data/agents/demo.deftco.toml +42 -0
  175. deft_console-0.11.1/src/deft_console/data/agents/docker.com.toml +60 -0
  176. deft_console-0.11.1/src/deft_console/data/agents/geminicli.com.toml +28 -0
  177. deft_console-0.11.1/src/deft_console/data/agents/goose.ai.toml +56 -0
  178. deft_console-0.11.1/src/deft_console/data/agents/grok.x.ai.toml +37 -0
  179. deft_console-0.11.1/src/deft_console/data/agents/inference.huggingface.co.toml +41 -0
  180. deft_console-0.11.1/src/deft_console/data/agents/kimi.com.toml +44 -0
  181. deft_console-0.11.1/src/deft_console/data/agents/kiro.dev.toml +43 -0
  182. deft_console-0.11.1/src/deft_console/data/agents/openai.com.toml +55 -0
  183. deft_console-0.11.1/src/deft_console/data/agents/openclaw.ai.toml +37 -0
  184. deft_console-0.11.1/src/deft_console/data/agents/opencode.ai.toml +39 -0
  185. deft_console-0.11.1/src/deft_console/data/agents/openhands.dev.toml +49 -0
  186. deft_console-0.11.1/src/deft_console/data/agents/pi.dev.toml +50 -0
  187. deft_console-0.11.1/src/deft_console/data/agents/prime.deftco.toml +51 -0
  188. deft_console-0.11.1/src/deft_console/data/agents/sabal.deftco.toml +49 -0
  189. deft_console-0.11.1/src/deft_console/data/agents/stakpak.dev.toml +62 -0
  190. deft_console-0.11.1/src/deft_console/data/agents/vibe.mistral.ai.toml +35 -0
  191. deft_console-0.11.1/src/deft_console/data/agents/vtcode.dev.toml +67 -0
  192. deft_console-0.11.1/src/deft_console/data/images/frog.png +0 -0
  193. deft_console-0.11.1/src/deft_console/data/sounds/question.wav +0 -0
  194. deft_console-0.11.1/src/deft_console/data/sounds/turn-over.wav +0 -0
  195. deft_console-0.11.1/src/deft_console/db.py +236 -0
  196. deft_console-0.11.1/src/deft_console/dec.py +332 -0
  197. deft_console-0.11.1/src/deft_console/deft_console.tcss +384 -0
  198. deft_console-0.11.1/src/deft_console/demo_agent/__init__.py +29 -0
  199. deft_console-0.11.1/src/deft_console/demo_agent/__main__.py +6 -0
  200. deft_console-0.11.1/src/deft_console/demo_agent/agent.py +387 -0
  201. deft_console-0.11.1/src/deft_console/demo_agent/connection.py +97 -0
  202. deft_console-0.11.1/src/deft_console/demo_agent/content.py +455 -0
  203. deft_console-0.11.1/src/deft_console/demo_agent/context.py +248 -0
  204. deft_console-0.11.1/src/deft_console/demo_agent/demos.py +748 -0
  205. deft_console-0.11.1/src/deft_console/demo_agent/mcp_client.py +66 -0
  206. deft_console-0.11.1/src/deft_console/demo_agent/registry.py +123 -0
  207. deft_console-0.11.1/src/deft_console/demo_agent/tutorial.py +301 -0
  208. deft_console-0.11.1/src/deft_console/directory.py +234 -0
  209. deft_console-0.11.1/src/deft_console/directory_suggester.py +93 -0
  210. deft_console-0.11.1/src/deft_console/directory_watcher.py +214 -0
  211. deft_console-0.11.1/src/deft_console/display_mcp.py +349 -0
  212. deft_console-0.11.1/src/deft_console/doing.py +90 -0
  213. deft_console-0.11.1/src/deft_console/format_path.py +25 -0
  214. deft_console-0.11.1/src/deft_console/fuzzy.py +140 -0
  215. deft_console-0.11.1/src/deft_console/fuzzy_index.py +275 -0
  216. deft_console-0.11.1/src/deft_console/gist.py +33 -0
  217. deft_console-0.11.1/src/deft_console/history.py +138 -0
  218. deft_console-0.11.1/src/deft_console/images.py +534 -0
  219. deft_console-0.11.1/src/deft_console/jsonrpc.py +587 -0
  220. deft_console-0.11.1/src/deft_console/markdown_append.py +32 -0
  221. deft_console-0.11.1/src/deft_console/menus.py +14 -0
  222. deft_console-0.11.1/src/deft_console/mermaid.py +132 -0
  223. deft_console-0.11.1/src/deft_console/mermaid_image.py +306 -0
  224. deft_console-0.11.1/src/deft_console/messages.py +166 -0
  225. deft_console-0.11.1/src/deft_console/node_runtime.py +215 -0
  226. deft_console-0.11.1/src/deft_console/option_content.py +51 -0
  227. deft_console-0.11.1/src/deft_console/os.py +0 -0
  228. deft_console-0.11.1/src/deft_console/page_preview.py +154 -0
  229. deft_console-0.11.1/src/deft_console/page_shot.py +168 -0
  230. deft_console-0.11.1/src/deft_console/pane_cli.py +238 -0
  231. deft_console-0.11.1/src/deft_console/panes/__init__.py +81 -0
  232. deft_console-0.11.1/src/deft_console/panes/actions.py +208 -0
  233. deft_console-0.11.1/src/deft_console/panes/api/__init__.py +5 -0
  234. deft_console-0.11.1/src/deft_console/panes/api/client.py +115 -0
  235. deft_console-0.11.1/src/deft_console/panes/api/running.py +95 -0
  236. deft_console-0.11.1/src/deft_console/panes/api/server.py +228 -0
  237. deft_console-0.11.1/src/deft_console/panes/content.py +134 -0
  238. deft_console-0.11.1/src/deft_console/panes/events.py +145 -0
  239. deft_console-0.11.1/src/deft_console/panes/manager.py +543 -0
  240. deft_console-0.11.1/src/deft_console/panes/model.py +337 -0
  241. deft_console-0.11.1/src/deft_console/panes/textual/__init__.py +503 -0
  242. deft_console-0.11.1/src/deft_console/panes/textual/commands.py +95 -0
  243. deft_console-0.11.1/src/deft_console/path_complete.py +217 -0
  244. deft_console-0.11.1/src/deft_console/path_filter.py +157 -0
  245. deft_console-0.11.1/src/deft_console/paths.py +100 -0
  246. deft_console-0.11.1/src/deft_console/picture_content.py +95 -0
  247. deft_console-0.11.1/src/deft_console/pill.py +23 -0
  248. deft_console-0.11.1/src/deft_console/portability/__init__.py +133 -0
  249. deft_console-0.11.1/src/deft_console/portability/_posix.py +579 -0
  250. deft_console-0.11.1/src/deft_console/portability/_windows.py +652 -0
  251. deft_console-0.11.1/src/deft_console/program_status.py +524 -0
  252. deft_console-0.11.1/src/deft_console/prompt/attachments.py +188 -0
  253. deft_console-0.11.1/src/deft_console/prompt/extract.py +20 -0
  254. deft_console-0.11.1/src/deft_console/prompt/resource.py +68 -0
  255. deft_console-0.11.1/src/deft_console/protocol.py +28 -0
  256. deft_console-0.11.1/src/deft_console/screens/action_modal.py +107 -0
  257. deft_console-0.11.1/src/deft_console/screens/agent_modal.py +172 -0
  258. deft_console-0.11.1/src/deft_console/screens/agent_sessions.py +148 -0
  259. deft_console-0.11.1/src/deft_console/screens/ask_user_question.py +658 -0
  260. deft_console-0.11.1/src/deft_console/screens/command_edit_modal.py +74 -0
  261. deft_console-0.11.1/src/deft_console/screens/elicitation.py +535 -0
  262. deft_console-0.11.1/src/deft_console/screens/main.py +558 -0
  263. deft_console-0.11.1/src/deft_console/screens/main.tcss +688 -0
  264. deft_console-0.11.1/src/deft_console/screens/new_session.py +75 -0
  265. deft_console-0.11.1/src/deft_console/screens/permissions.py +411 -0
  266. deft_console-0.11.1/src/deft_console/screens/permissions.tcss +73 -0
  267. deft_console-0.11.1/src/deft_console/screens/session_options.py +175 -0
  268. deft_console-0.11.1/src/deft_console/screens/session_resume_modal.py +172 -0
  269. deft_console-0.11.1/src/deft_console/screens/session_resume_modal.tcss +35 -0
  270. deft_console-0.11.1/src/deft_console/screens/sessions.py +177 -0
  271. deft_console-0.11.1/src/deft_console/screens/sessions.tcss +153 -0
  272. deft_console-0.11.1/src/deft_console/screens/settings.py +254 -0
  273. deft_console-0.11.1/src/deft_console/screens/settings.tcss +101 -0
  274. deft_console-0.11.1/src/deft_console/screens/store.py +682 -0
  275. deft_console-0.11.1/src/deft_console/screens/store.tcss +272 -0
  276. deft_console-0.11.1/src/deft_console/screens/withdrawable.py +49 -0
  277. deft_console-0.11.1/src/deft_console/session_messages.py +101 -0
  278. deft_console-0.11.1/src/deft_console/session_tracker.py +156 -0
  279. deft_console-0.11.1/src/deft_console/settings.py +353 -0
  280. deft_console-0.11.1/src/deft_console/settings_schema.py +590 -0
  281. deft_console-0.11.1/src/deft_console/shell.py +291 -0
  282. deft_console-0.11.1/src/deft_console/shell_read.py +42 -0
  283. deft_console-0.11.1/src/deft_console/slash_command.py +34 -0
  284. deft_console-0.11.1/src/deft_console/terminal_content.py +144 -0
  285. deft_console-0.11.1/src/deft_console/tool_summary.py +101 -0
  286. deft_console-0.11.1/src/deft_console/twitter.py +38 -0
  287. deft_console-0.11.1/src/deft_console/vendor/pele.LICENSE +40 -0
  288. deft_console-0.11.1/src/deft_console/vendor/pele.VERSION +1 -0
  289. deft_console-0.11.1/src/deft_console/vendor/pele.global.js +150 -0
  290. deft_console-0.11.1/src/deft_console/version.py +81 -0
  291. deft_console-0.11.1/src/deft_console/visuals/columns.py +292 -0
  292. deft_console-0.11.1/src/deft_console/widgets/acp_content.py +50 -0
  293. deft_console-0.11.1/src/deft_console/widgets/activity_top.py +480 -0
  294. deft_console-0.11.1/src/deft_console/widgets/activity_view.py +292 -0
  295. deft_console-0.11.1/src/deft_console/widgets/agent_response.py +77 -0
  296. deft_console-0.11.1/src/deft_console/widgets/agent_thought.py +51 -0
  297. deft_console-0.11.1/src/deft_console/widgets/blackhole.py +322 -0
  298. deft_console-0.11.1/src/deft_console/widgets/check_list.py +67 -0
  299. deft_console-0.11.1/src/deft_console/widgets/comets.py +335 -0
  300. deft_console-0.11.1/src/deft_console/widgets/command_pane.py +174 -0
  301. deft_console-0.11.1/src/deft_console/widgets/condensed_path.py +117 -0
  302. deft_console-0.11.1/src/deft_console/widgets/conversation.py +3923 -0
  303. deft_console-0.11.1/src/deft_console/widgets/danger_warning.py +65 -0
  304. deft_console-0.11.1/src/deft_console/widgets/diff_view.py +59 -0
  305. deft_console-0.11.1/src/deft_console/widgets/directory_input.py +8 -0
  306. deft_console-0.11.1/src/deft_console/widgets/display_terminal.py +159 -0
  307. deft_console-0.11.1/src/deft_console/widgets/fence_cursor.py +59 -0
  308. deft_console-0.11.1/src/deft_console/widgets/flash.py +95 -0
  309. deft_console-0.11.1/src/deft_console/widgets/future_text.py +126 -0
  310. deft_console-0.11.1/src/deft_console/widgets/galaxy.py +293 -0
  311. deft_console-0.11.1/src/deft_console/widgets/grid_select.py +234 -0
  312. deft_console-0.11.1/src/deft_console/widgets/help_panel.py +13 -0
  313. deft_console-0.11.1/src/deft_console/widgets/highlighted_textarea.py +180 -0
  314. deft_console-0.11.1/src/deft_console/widgets/inline_question.py +190 -0
  315. deft_console-0.11.1/src/deft_console/widgets/mandelbrot.py +294 -0
  316. deft_console-0.11.1/src/deft_console/widgets/markdown_note.py +13 -0
  317. deft_console-0.11.1/src/deft_console/widgets/menu.py +147 -0
  318. deft_console-0.11.1/src/deft_console/widgets/moon.py +330 -0
  319. deft_console-0.11.1/src/deft_console/widgets/non_selectable_label.py +5 -0
  320. deft_console-0.11.1/src/deft_console/widgets/note.py +18 -0
  321. deft_console-0.11.1/src/deft_console/widgets/path_search.py +555 -0
  322. deft_console-0.11.1/src/deft_console/widgets/picture_pane.py +121 -0
  323. deft_console-0.11.1/src/deft_console/widgets/plan.py +226 -0
  324. deft_console-0.11.1/src/deft_console/widgets/project_directory_tree.py +90 -0
  325. deft_console-0.11.1/src/deft_console/widgets/prompt.py +987 -0
  326. deft_console-0.11.1/src/deft_console/widgets/prompt_queue.py +110 -0
  327. deft_console-0.11.1/src/deft_console/widgets/pulsar.py +338 -0
  328. deft_console-0.11.1/src/deft_console/widgets/question.py +375 -0
  329. deft_console-0.11.1/src/deft_console/widgets/rocket.py +477 -0
  330. deft_console-0.11.1/src/deft_console/widgets/session_grid_select.py +71 -0
  331. deft_console-0.11.1/src/deft_console/widgets/session_list.py +360 -0
  332. deft_console-0.11.1/src/deft_console/widgets/session_message.py +86 -0
  333. deft_console-0.11.1/src/deft_console/widgets/session_summary.py +130 -0
  334. deft_console-0.11.1/src/deft_console/widgets/session_tabs.py +184 -0
  335. deft_console-0.11.1/src/deft_console/widgets/shell_result.py +35 -0
  336. deft_console-0.11.1/src/deft_console/widgets/shell_terminal.py +50 -0
  337. deft_console-0.11.1/src/deft_console/widgets/side_bar.py +89 -0
  338. deft_console-0.11.1/src/deft_console/widgets/slash_complete.py +245 -0
  339. deft_console-0.11.1/src/deft_console/widgets/solarsystem.py +300 -0
  340. deft_console-0.11.1/src/deft_console/widgets/spark.py +106 -0
  341. deft_console-0.11.1/src/deft_console/widgets/starfield.py +295 -0
  342. deft_console-0.11.1/src/deft_console/widgets/strike_text.py +70 -0
  343. deft_console-0.11.1/src/deft_console/widgets/subagent_view.py +412 -0
  344. deft_console-0.11.1/src/deft_console/widgets/terminal.py +756 -0
  345. deft_console-0.11.1/src/deft_console/widgets/terminal_pane.py +153 -0
  346. deft_console-0.11.1/src/deft_console/widgets/terminal_tool.py +522 -0
  347. deft_console-0.11.1/src/deft_console/widgets/throbber.py +100 -0
  348. deft_console-0.11.1/src/deft_console/widgets/tool_call.py +347 -0
  349. deft_console-0.11.1/src/deft_console/widgets/user_input.py +24 -0
  350. deft_console-0.11.1/src/deft_console/widgets/version.py +5 -0
  351. deft_console-0.11.1/src/deft_console/widgets/welcome.py +31 -0
  352. deft_console-0.11.1/tests/acp_stub.py +58 -0
  353. deft_console-0.11.1/tests/conftest.py +192 -0
  354. deft_console-0.11.1/tests/fake_agent.py +859 -0
  355. deft_console-0.11.1/tests/test_acp_client.py +283 -0
  356. deft_console-0.11.1/tests/test_activity.py +45 -0
  357. deft_console-0.11.1/tests/test_activity_history.py +70 -0
  358. deft_console-0.11.1/tests/test_agent_starting_note.py +83 -0
  359. deft_console-0.11.1/tests/test_agent_terminal_failures.py +96 -0
  360. deft_console-0.11.1/tests/test_agent_terminals.py +227 -0
  361. deft_console-0.11.1/tests/test_ansi_insert_mode.py +27 -0
  362. deft_console-0.11.1/tests/test_ansi_reflow.py +29 -0
  363. deft_console-0.11.1/tests/test_ansi_reset.py +156 -0
  364. deft_console-0.11.1/tests/test_attachments.py +247 -0
  365. deft_console-0.11.1/tests/test_background_terminals.py +138 -0
  366. deft_console-0.11.1/tests/test_branding.py +53 -0
  367. deft_console-0.11.1/tests/test_browser.py +836 -0
  368. deft_console-0.11.1/tests/test_browser_content.py +134 -0
  369. deft_console-0.11.1/tests/test_browser_install.py +267 -0
  370. deft_console-0.11.1/tests/test_browser_policy.py +213 -0
  371. deft_console-0.11.1/tests/test_browser_real.py +104 -0
  372. deft_console-0.11.1/tests/test_browser_scroll.py +102 -0
  373. deft_console-0.11.1/tests/test_catalog_commands.py +92 -0
  374. deft_console-0.11.1/tests/test_claude_deft_agent.py +42 -0
  375. deft_console-0.11.1/tests/test_columns.py +43 -0
  376. deft_console-0.11.1/tests/test_dashboard.py +142 -0
  377. deft_console-0.11.1/tests/test_deft_tools.py +130 -0
  378. deft_console-0.11.1/tests/test_demo_agent.py +474 -0
  379. deft_console-0.11.1/tests/test_display.py +230 -0
  380. deft_console-0.11.1/tests/test_display_mcp.py +251 -0
  381. deft_console-0.11.1/tests/test_elicitation.py +336 -0
  382. deft_console-0.11.1/tests/test_empty_prompt.py +85 -0
  383. deft_console-0.11.1/tests/test_grok_extension.py +279 -0
  384. deft_console-0.11.1/tests/test_images.py +365 -0
  385. deft_console-0.11.1/tests/test_inline_questions.py +485 -0
  386. deft_console-0.11.1/tests/test_layout_defaults.py +23 -0
  387. deft_console-0.11.1/tests/test_markdown_append.py +83 -0
  388. deft_console-0.11.1/tests/test_mermaid.py +256 -0
  389. deft_console-0.11.1/tests/test_mermaid_image.py +279 -0
  390. deft_console-0.11.1/tests/test_new_session.py +111 -0
  391. deft_console-0.11.1/tests/test_node_runtime.py +239 -0
  392. deft_console-0.11.1/tests/test_osc_7501.py +280 -0
  393. deft_console-0.11.1/tests/test_page_preview.py +157 -0
  394. deft_console-0.11.1/tests/test_page_shot.py +190 -0
  395. deft_console-0.11.1/tests/test_pane_api.py +453 -0
  396. deft_console-0.11.1/tests/test_pane_commands.py +332 -0
  397. deft_console-0.11.1/tests/test_pane_host.py +210 -0
  398. deft_console-0.11.1/tests/test_panes.py +888 -0
  399. deft_console-0.11.1/tests/test_path_search.py +126 -0
  400. deft_console-0.11.1/tests/test_picture_panes.py +196 -0
  401. deft_console-0.11.1/tests/test_portability.py +744 -0
  402. deft_console-0.11.1/tests/test_project_watch.py +142 -0
  403. deft_console-0.11.1/tests/test_prompt_caret.py +135 -0
  404. deft_console-0.11.1/tests/test_prompt_queue.py +109 -0
  405. deft_console-0.11.1/tests/test_question_dialog.py +391 -0
  406. deft_console-0.11.1/tests/test_recommended_agents.py +37 -0
  407. deft_console-0.11.1/tests/test_sabal_agent.py +85 -0
  408. deft_console-0.11.1/tests/test_saved_layout.py +285 -0
  409. deft_console-0.11.1/tests/test_session_features.py +708 -0
  410. deft_console-0.11.1/tests/test_session_list.py +396 -0
  411. deft_console-0.11.1/tests/test_session_messages.py +91 -0
  412. deft_console-0.11.1/tests/test_session_stats.py +89 -0
  413. deft_console-0.11.1/tests/test_sessions_advanced.py +94 -0
  414. deft_console-0.11.1/tests/test_sessions_default.py +42 -0
  415. deft_console-0.11.1/tests/test_shell_cleanup.py +165 -0
  416. deft_console-0.11.1/tests/test_shell_exit_codes.py +100 -0
  417. deft_console-0.11.1/tests/test_shell_integration.py +319 -0
  418. deft_console-0.11.1/tests/test_shell_words.py +116 -0
  419. deft_console-0.11.1/tests/test_slash_complete.py +59 -0
  420. deft_console-0.11.1/tests/test_stop_agent_terminals.py +86 -0
  421. deft_console-0.11.1/tests/test_store_keys.py +20 -0
  422. deft_console-0.11.1/tests/test_subagent_timing.py +74 -0
  423. deft_console-0.11.1/tests/test_subagents.py +445 -0
  424. deft_console-0.11.1/tests/test_terminal_pane.py +245 -0
  425. deft_console-0.11.1/tests/test_terminal_title.py +14 -0
  426. deft_console-0.11.1/tests/test_terminals.py +217 -0
  427. deft_console-0.11.1/tests/test_thought_style.py +21 -0
  428. deft_console-0.11.1/tests/test_tool_summary.py +123 -0
  429. deft_console-0.11.1/tests/test_user_agents.py +89 -0
  430. deft_console-0.11.1/tests/test_wait_for_key.py +139 -0
  431. deft_console-0.11.1/tools/echo_client.py +58 -0
  432. deft_console-0.11.1/tools/make_qr.py +19 -0
  433. deft_console-0.11.1/tools/update_pele.py +62 -0
@@ -0,0 +1,25 @@
1
+ # Python-generated files
2
+ __pycache__/
3
+ *.py[oc]
4
+ build/
5
+ dist/
6
+ wheels/
7
+ *.egg-info
8
+ __pycache__
9
+
10
+ # Virtual environments
11
+ .venv
12
+ .DS_Store
13
+ .vscode
14
+ .zed
15
+ .git
16
+ .mypy_cache
17
+ *.github
18
+ *.log
19
+
20
+ uv.lock
21
+ agent.jsonl
22
+ replay.jsonl
23
+ sandbox/
24
+
25
+ .claude/settings.local.json
@@ -0,0 +1 @@
1
+ 3.14.2
@@ -0,0 +1,6 @@
1
+ # AI Policy
2
+
3
+ This project accepts AI PRs (it would by hypocritical not to), as long as the following guidelines are met:
4
+
5
+ - The Pull Request MUST fill in the repository's pull request template.
6
+ - The Pull Request MUST link to a issue or discussion where a solution has been approved by a maintainer (@willmcgugan).
@@ -0,0 +1,572 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## Unreleased
9
+
10
+ ## [0.11.1] - 2026-11-12
11
+
12
+ ### Changed
13
+
14
+ - Console's Python package is now `deft_console`, not `toad` (#184). Settings and sessions stay where they were (`~/.config/toad`).
15
+ - termaid and pixcell are bundled in `deft_console._vendor` instead of being installed from git, so deft-console can be installed from PyPI
16
+
17
+ ## [0.11.0] - 2026-11-12
18
+
19
+ ### Added
20
+
21
+ - Claude Code (Bridge): another way to run Claude, through the `deft-bridge` npm package, with live output from background commands (#133)
22
+ - Claude Code (Deft): Claude through Deft's build of the ACP adapter, which streams command output (#129)
23
+ - Sessions down the side: `ui.sessions-bar-position` puts the list left or right, f4 hides it, and a phone's width gets a ☰ menu (#156)
24
+ - Sessions list styles: compact, detailed and tree; drag its edge to resize it, remembered for each style (#157, #158)
25
+ - A sub-agent's view opens in its session's area, and the sessions tree marks the one that's open (#159, #168)
26
+ - Agents' questions and forms in the conversation, or as dialogs (`ui.questions`) (#135)
27
+ - Background terminals: commands that keep running after their turn, and say when they end (#136)
28
+ - Queue a prompt sent while the agent is replying, and remove it before it goes (#140)
29
+ - Pictures in panes: images and diagrams beside the conversation (#123)
30
+ - Prompt caret: a bar or underline, following the terminal's cursor; Insert switches to overwrite (#150)
31
+ - Read your own agent files from the config folder (#141)
32
+ - Stop a command the agent runs, for agents that take `_deft.co/stop_terminal` (#143)
33
+ - `!` commands report their exit code, so a failed one shows as failed (#167)
34
+ - Terminal emulator: reset on `ESC c` and `CSI ! p`, insert mode (`CSI 4 h` / `CSI 4 l`), OSC 133 prompt marks and OSC 7 working directory (#163, #164, #166)
35
+ - An outside API: JSON-RPC on a local socket, and `console pane` to drive a running Console's panes (#117, #118)
36
+ - Terminals for agents, and Console's tools as ACP calls (`deft.co/call_tool`) (#119, #121)
37
+ - Terminal boxes are titled by the agent's summary, with the command first inside; thinking shows in italic (#127, #128)
38
+
39
+ ### Fixed
40
+
41
+ - Enter on an empty prompt no longer types `. `, and goes to an agent that asks for empty prompts (#161, #170)
42
+ - A broad project folder (home, a drive) no longer floods the UI with file changes (#160)
43
+ - Windows keeps an agent's multi-line argument (#148)
44
+ - Output from agent-run commands shows while they run again (#124)
45
+ - Races on slow machines: lost terminal output, stuck or leftover question dialogs (#137, #142, #147)
46
+ - Clicking an inline question or form keeps the focus on what was clicked (#154)
47
+ - A question form sized after its panes are gone, and a terminal title set with no screen, no longer raise (#145, #162)
48
+ - A tool call is copied when posted, so a later update can't change it before it's handled (#134)
49
+
50
+ ## [0.8.0] - [0.10.0]
51
+
52
+ See the [GitHub releases](https://github.com/deftai/console/releases) for these versions.
53
+
54
+ ## [0.7.0] - 2026-11-06
55
+
56
+ First release as Deft Console.
57
+
58
+ ### Added
59
+
60
+ - Support for Grok Build's `x.ai/ask_user_question` ACP extension: a question dialog with single/multi-select, free-text "Other" answers, option previews, and plan-mode actions
61
+ - Support for Grok Build's `x.ai/exit_plan_mode` ACP extension: approve, keep planning, or abandon a plan
62
+ - Report each session's status to the terminal with OSC 7501 (Program Status Protocol), so terminals like Rex can show when an agent is working, done, or waiting on you
63
+ - Mermaid diagrams in Markdown (agent replies, your prompts, and tool output) are drawn as terminal art with termaid, once the code fence is complete; a block menu toggles between diagram and source
64
+ - Code blocks wider than the window show a horizontal scrollbar and scroll with left/right on the block cursor
65
+
66
+ ### Changed
67
+
68
+ - Style tweak for compact prompt
69
+ - Fix for overly wide question text
70
+
71
+ ## [0.6.20] - 2016-05-22
72
+
73
+ ### Added
74
+
75
+ - Added Grok to store
76
+
77
+ ## [0.6.19] - 2026-05-22
78
+
79
+ ### Added
80
+
81
+ - Added context usage and context to status line
82
+
83
+
84
+ ## [0.6.18] - 2026-05-17
85
+
86
+ ### Fixed
87
+
88
+ - Fixed issue that affected OpenCode
89
+
90
+ ## [0.6.17] - 2026-05-14
91
+
92
+ ### Fixed
93
+
94
+ - Fixed issue with broken code display
95
+
96
+ ## [0.6.16] - 2026-04-19
97
+
98
+ ### Changed
99
+
100
+ - Added textual-diff-view, which started life here
101
+
102
+ ### Added
103
+
104
+ - Added diff settings for annotations and wrapping
105
+
106
+ ## [0.6.15] - 2026-04-05
107
+
108
+ ### Changed
109
+
110
+ - Reduced resize lag
111
+
112
+ ## [0.6.14] - 2026-03-30
113
+
114
+ ### Fixed
115
+
116
+ - Fixed Claude Code ACP command
117
+
118
+ ## [0.6.13] - 2026-03-30
119
+
120
+ ### Fixed
121
+
122
+ - Fixed issues with auto-completing root paths
123
+
124
+ ### Changed
125
+
126
+ - Updated claude acp adapter installer
127
+
128
+ ## [0.6.12] - 2026-03-13
129
+
130
+ ### Fixed
131
+
132
+ - Fix broken output with Typeguard dependency
133
+
134
+ ## [0.6.11] - 2026-03-13
135
+
136
+ ### Added
137
+
138
+ - Added prompt message to settings
139
+
140
+ ## [0.6.10] - 2026-03-13
141
+
142
+ ### Fixed
143
+
144
+ - Fixed for agent that send blank text update (Mistral)
145
+
146
+ ## [0.6.9] - 2026-03-11
147
+
148
+ ### Fixed
149
+
150
+ - Fixed tool calls not refreshing
151
+ - Fixed tool call ordering
152
+ - Fixed anchoring behavor
153
+
154
+ ### Changed
155
+
156
+ - Re-enabled experimental GC management via Textual
157
+ - The `end` key will now scroll the conversation to the end, if the cursor is already at the end of the prompt
158
+
159
+ ### Added
160
+
161
+ - Added Cursor to store
162
+
163
+ ## [0.6.8] - 2026-03-03
164
+
165
+ ### Fixed
166
+
167
+ - Removed gc management, due to expected memory issues
168
+
169
+ ## [0.6.7] - 2026-03-02
170
+
171
+ ### Fixed
172
+
173
+ - Fix for throbber crash
174
+
175
+ ## [0.6.6] - 2026-03-02
176
+
177
+ ### Changed
178
+
179
+ - Style tweaks for tools
180
+ - Some GC optimizations to smooth startup and scrolling
181
+
182
+ ## [0.6.5] - 2026-02-27
183
+
184
+ ### Added
185
+
186
+ - Added experimental OpenClaw support
187
+
188
+ ## [0.6.4] - 2026-02-26
189
+
190
+ ### Fixed
191
+
192
+ - Fixed large plans not appearing
193
+
194
+ ### Changed
195
+
196
+ - Additional style tweaks, restore success color for terminal tools, tweaked margins for blocks
197
+
198
+ ## [0.6.3]- 2026-02-25
199
+
200
+ ### Changed
201
+
202
+ - Updated and improved style for Plans and Terminal tools
203
+
204
+ ## [0.6.2]- 2026-02-24
205
+
206
+ ### Changed
207
+
208
+ - Reverted a dubious style change on the store page
209
+
210
+ ## [0.6.1] - 2026-02-24
211
+
212
+ ### Changed
213
+
214
+ - New index for fuzzy searching makes searches faster for large repos
215
+
216
+ ## [0.6.0] - 2026-02-16
217
+
218
+ ### Added
219
+
220
+ - Added project directory switcher
221
+ - Added sessions, sessions tabs, sessions screen
222
+
223
+ ### Fixed
224
+
225
+ - Fixed handling of agents that post null responses (OpenCode)
226
+
227
+ ### Changed
228
+
229
+ - Added semantic styled edge to diff view
230
+
231
+ ## [0.5.38] - 2026-02-01
232
+
233
+ ### Fixed
234
+
235
+ - Fixed issue with agents empty thoughts breaking the block cursor
236
+
237
+ ### Changed
238
+
239
+ - PathSearch and SlashCommand inputs are now overlays to avoid moving conversation content
240
+
241
+ ## [0.5.37] - 2026-02-01
242
+
243
+ ### Fixed
244
+
245
+ - Fixed session resume
246
+
247
+ ## [0.5.36] - 2026-01-30
248
+
249
+ ### Added
250
+
251
+ - Added toad.db sqlite database for non-config data
252
+ - Added Resume dialog (currently experimental, as agents don't yet support ACP)
253
+ - Added setting to disable title blink
254
+
255
+ ### Fixed
256
+
257
+ - Fixed issue with empty terminal tools
258
+
259
+ ## [0.5.35] - 2026-01-21
260
+
261
+ ### Added
262
+
263
+ - Added GitHub CoPilot
264
+
265
+ ### Changed
266
+
267
+ - The launcher hotkeys will now launch the agent immediately, and not just highlight the agent
268
+
269
+ ## [0.5.34] - 2026-01-16
270
+
271
+ ### Added
272
+
273
+ - Added display of slash command hints
274
+ - Added /toad:clear slash command
275
+
276
+ ## [0.5.33] - 2026-01-16
277
+
278
+ ### Fixed
279
+
280
+ - Fixed character level diff highlights
281
+
282
+ ## [0.5.32] - 2026-01-15
283
+
284
+ ### Fixed
285
+
286
+ - Fixed broken text form the input in commands
287
+
288
+ ## [0.5.31] - 2026-01-14
289
+
290
+ ### Changed
291
+
292
+ - Fix for diff highlights
293
+ - Minor cosmetic things
294
+
295
+ ## [0.5.30] - 2026-01-14
296
+
297
+ ### Fixed
298
+
299
+ - Fixed Terminals not focusing on click
300
+ - Fixed tool calls not rendered
301
+ - Fixed Kimi run command
302
+ - Fixed permissions screen not dispaying if "kind" is not set
303
+
304
+ ### Added
305
+
306
+ - Added reporting of errors from acp initialize call
307
+ - Added Interrupt menu option to terminals
308
+
309
+ ## [0.5.29] - 2026-01-11
310
+
311
+ ### Added
312
+
313
+ - Set process title
314
+ - Additional help content
315
+
316
+ ## [0.5.28] - 2026-01-11
317
+
318
+ ### Fixed
319
+
320
+ - Fixed crash when running commands that clash with Content markup
321
+
322
+ ## [0.5.27] - 2026-01-10
323
+
324
+ ### Changed
325
+
326
+ - Updated Hugging Face Inference providers
327
+
328
+ ## [0.5.26] - 2026-01-10
329
+
330
+ ### Fixed
331
+
332
+ - Fixed issue with missing refreshes
333
+
334
+ ### Added
335
+
336
+ - Added Target lines, and Additional lines, to settings
337
+
338
+ ## [0.5.25] - 2026-01-09
339
+
340
+ ### Added
341
+
342
+ - Added F1 key to toggle help panel
343
+ - Added context help to main widgets
344
+
345
+ ### Changed
346
+
347
+ - Changed sidebar binding to ctrl+b
348
+
349
+ ## [0.5.24] - 2026-01-08
350
+
351
+ ### Added
352
+
353
+ - Added sound for permission request
354
+ - Added terminal title
355
+ - Added blinking of terminal title when asking permission
356
+ - Added an error message if the agent reports an internal error during its turn
357
+
358
+ ## [0.5.23] - 2026-01-06
359
+
360
+ ### Fixed
361
+
362
+ - A few style issue: tree background, status line padding
363
+
364
+ ## [0.5.22] - 2026-01-06
365
+
366
+ ### Fixed
367
+
368
+ - Fixes for settings combinations not taking effect
369
+
370
+ ### Changed
371
+
372
+ - Restored prompt history
373
+ - The `/about` slash command has been renamed to `/toad:about`, to crate a namespace for future Toad commands
374
+
375
+ ## [0.5.21] - 2026-01-05
376
+
377
+ ### Changed
378
+
379
+ - Settings screen will now expand to full width when the screen is < 100 characters
380
+ - Sidebar will float if focused and "hide sidebar when not in use" setting is True
381
+ - Replace mac and linux shell settings with a single setting (you may have to update this you have changed the default)
382
+
383
+ ### Fixed
384
+
385
+ - A more more defensive approach to watching directories, which may fixed stalling problem
386
+
387
+ ## [0.5.20] - 2026-01-04
388
+
389
+ ### Changed
390
+
391
+ - Smarter filesystem monitoring to avoid refreshes where nothing has changed
392
+
393
+ ## [0.5.19] - 2026-01-04
394
+
395
+ ### Added
396
+
397
+ - Added surfacing of "stop reason" from agents.
398
+ - Added `TOAD_LOG` env var (takes a path) to direct logs to a path.
399
+
400
+ ## [0.5.18] - 2026-01-03
401
+
402
+ ### Fixed
403
+
404
+ - Fixed footer setting
405
+
406
+ ## [0.5.17] - 2026-01-03
407
+
408
+ ### Fixed
409
+
410
+ - Fixed prompt settings not taking effect
411
+ - Fixed tool calls expanding but not updating the cursor
412
+
413
+ ### Added
414
+
415
+ - Added atom-one-dark and atom-one-light themes
416
+
417
+ ### Changed
418
+
419
+ - Allowed shell commands to be submitted prior to agent ready
420
+
421
+ ## [0.5.15] - 2026-01-01
422
+
423
+ ### Added
424
+
425
+ - Added pruning of very long conversations. This may be exposed in settings in the future.
426
+
427
+ ### Fixed
428
+
429
+ - Fixed broken prompt with in question mode and the app blurs
430
+ - Fixed performance issue caused by timer
431
+
432
+ ## [0.5.14] - 2025-12-31
433
+
434
+ ### Added
435
+
436
+ - Added optional os notifications
437
+ - Added dialog to edit install commands
438
+
439
+ ### Changed
440
+
441
+ - Copy to clipboard will now use system APIs if available, in addition to OSC52
442
+ - Implemented alternate approach to running the shell
443
+
444
+ ## [0.5.13] - 2025-12-29
445
+
446
+ ### Changed
447
+
448
+ - Simplified diff visuals
449
+ - Fixed keys in permissions screen
450
+
451
+ ### Fixed
452
+
453
+ - Fixed broken shell after running terminals
454
+
455
+ ## [0.5.12] - 2025-12-28
456
+
457
+ ### Fixed
458
+
459
+ - Fixed eroneous suggestion on buffered input
460
+
461
+ ## [0.5.11] - 2025-12-28
462
+
463
+ ### Fixed
464
+
465
+ - Fixed tree picker when project path isn't cwd
466
+
467
+ ## [0.5.10] - 2025-12-28
468
+
469
+ ### Added
470
+
471
+ - Added a tree view to file picker
472
+
473
+ ## [0.5.9] - 2025-12-27
474
+
475
+ ### Changed
476
+
477
+ - Optimized directory scanning and filtering. Seems fast enough on sane sized repos. More work require for very large repos.
478
+ - Fixed empty tool calls with terminals
479
+
480
+ ## [0.5.8] - 2025-12-26
481
+
482
+ ### Fixed
483
+
484
+ - Fixed broken tool calls
485
+
486
+ ## [0.5.7] - 2025-12-26
487
+
488
+ ### Changes
489
+
490
+ - Cursor keys can navigate between sections in the store screen
491
+ - Optimized path search
492
+ - Disabled path search in shell mode
493
+ - Typing in the conversation view will auto-focus the prompt
494
+
495
+ ### Added
496
+
497
+ - Added single character switches https://github.com/batrachianai/toad/pull/135
498
+
499
+ ## [0.5.6] - 2025-12-24
500
+
501
+ ### Fixed
502
+
503
+ - Fixed agent selector not focusing on run.
504
+ - Added project directory as second argument to `toad acp` rather than a switch.
505
+
506
+ ## [0.5.5] - 2025-12-22
507
+
508
+ ### Fixed
509
+
510
+ - Fixed column setting not taking effect
511
+
512
+ ## [0.5.0] - 2025-12-18
513
+
514
+ ### Added
515
+
516
+ - First release. This document will be updated for subsequent releases.
517
+
518
+
519
+ [0.6.20]: https://github.com/batrachianai/toad/compare/v0.6.18...v0.6.20
520
+ [0.6.18]: https://github.com/batrachianai/toad/compare/v0.6.17...v0.6.18
521
+ [0.6.17]: https://github.com/batrachianai/toad/compare/v0.6.16...v0.6.17
522
+ [0.6.16]: https://github.com/batrachianai/toad/compare/v0.6.15...v0.6.16
523
+ [0.6.15]: https://github.com/batrachianai/toad/compare/v0.6.14...v0.6.15
524
+ [0.6.14]: https://github.com/batrachianai/toad/compare/v0.6.13...v0.6.14
525
+ [0.6.13]: https://github.com/batrachianai/toad/compare/v0.6.12...v0.6.13
526
+ [0.6.12]: https://github.com/batrachianai/toad/compare/v0.6.11...v0.6.12
527
+ [0.6.11]: https://github.com/batrachianai/toad/compare/v0.6.10...v0.6.11
528
+ [0.6.10]: https://github.com/batrachianai/toad/compare/v0.6.9...v0.6.10
529
+ [0.6.9]: https://github.com/batrachianai/toad/compare/v0.6.8...v0.6.9
530
+ [0.6.8]: https://github.com/batrachianai/toad/compare/v0.6.7...v0.6.8
531
+ [0.6.7]: https://github.com/batrachianai/toad/compare/v0.6.6...v0.6.7
532
+ [0.6.6]: https://github.com/batrachianai/toad/compare/v0.6.5...v0.6.6
533
+ [0.6.5]: https://github.com/batrachianai/toad/compare/v0.6.4...v0.6.5
534
+ [0.6.4]: https://github.com/batrachianai/toad/compare/v0.6.3...v0.6.4
535
+ [0.6.3]: https://github.com/batrachianai/toad/compare/v0.6.2...v0.6.3
536
+ [0.6.2]: https://github.com/batrachianai/toad/compare/v0.6.1...v0.6.2
537
+ [0.6.1]: https://github.com/batrachianai/toad/compare/v0.6.0...v0.6.1
538
+ [0.6.0]: https://github.com/batrachianai/toad/compare/v0.5.38...v0.6.0
539
+ [0.5.38]: https://github.com/batrachianai/toad/compare/v0.5.37...v0.5.38
540
+ [0.5.37]: https://github.com/batrachianai/toad/compare/v0.5.36...v0.5.37
541
+ [0.5.36]: https://github.com/batrachianai/toad/compare/v0.5.35...v0.5.36
542
+ [0.5.35]: https://github.com/batrachianai/toad/compare/v0.5.34...v0.5.35
543
+ [0.5.34]: https://github.com/batrachianai/toad/compare/v0.5.33...v0.5.34
544
+ [0.5.33]: https://github.com/batrachianai/toad/compare/v0.5.32...v0.5.33
545
+ [0.5.32]: https://github.com/batrachianai/toad/compare/v0.5.31...v0.5.32
546
+ [0.5.31]: https://github.com/batrachianai/toad/compare/v0.5.30...v0.5.31
547
+ [0.5.30]: https://github.com/batrachianai/toad/compare/v0.5.29...v0.5.30
548
+ [0.5.29]: https://github.com/batrachianai/toad/compare/v0.5.28...v0.5.29
549
+ [0.5.28]: https://github.com/batrachianai/toad/compare/v0.5.27...v0.5.28
550
+ [0.5.27]: https://github.com/batrachianai/toad/compare/v0.5.26...v0.5.27
551
+ [0.5.26]: https://github.com/batrachianai/toad/compare/v0.5.25...v0.5.26
552
+ [0.5.24]: https://github.com/batrachianai/toad/compare/v0.5.23...v0.5.24
553
+ [0.5.23]: https://github.com/batrachianai/toad/compare/v0.5.22...v0.5.23
554
+ [0.5.22]: https://github.com/batrachianai/toad/compare/v0.5.21...v0.5.22
555
+ [0.5.21]: https://github.com/batrachianai/toad/compare/v0.5.20...v0.5.21
556
+ [0.5.20]: https://github.com/batrachianai/toad/compare/v0.5.19...v0.5.20
557
+ [0.5.19]: https://github.com/batrachianai/toad/compare/v0.5.18...v0.5.19
558
+ [0.5.18]: https://github.com/batrachianai/toad/compare/v0.5.17...v0.5.18
559
+ [0.5.17]: https://github.com/batrachianai/toad/compare/v0.5.16...v0.5.17
560
+ [0.5.16]: https://github.com/batrachianai/toad/compare/v0.5.15...v0.5.16
561
+ [0.5.15]: https://github.com/batrachianai/toad/compare/v0.5.14...v0.5.15
562
+ [0.5.14]: https://github.com/batrachianai/toad/compare/v0.5.13...v0.5.14
563
+ [0.5.13]: https://github.com/batrachianai/toad/compare/v0.5.12...v0.5.13
564
+ [0.5.12]: https://github.com/batrachianai/toad/compare/v0.5.11...v0.5.12
565
+ [0.5.11]: https://github.com/batrachianai/toad/compare/v0.5.10...v0.5.11
566
+ [0.5.10]: https://github.com/batrachianai/toad/compare/v0.5.9...v0.5.10
567
+ [0.5.9]: https://github.com/batrachianai/toad/compare/v0.5.8...v0.5.9
568
+ [0.5.8]: https://github.com/batrachianai/toad/compare/v0.5.7...v0.5.8
569
+ [0.5.7]: https://github.com/batrachianai/toad/compare/v0.5.6...v0.5.7
570
+ [0.5.6]: https://github.com/batrachianai/toad/compare/v0.5.5...v0.5.6
571
+ [0.5.5]: https://github.com/batrachianai/toad/compare/v0.5.0...v0.5.5
572
+ [0.5.0]: https://github.com/batrachianai/toad/releases/tag/v0.5.0
@@ -0,0 +1,8 @@
1
+ # Guide to Contributing
2
+
3
+ Thank you for your interesting in improving Toad!
4
+
5
+ If you are thinking of fixing a bug or contributing a feature, please open a Discussion first.
6
+ You will be asked for a link to the discussion when you contribute a PR.
7
+
8
+ TODO: add technical help
@@ -0,0 +1,11 @@
1
+ Deft Console
2
+ Copyright (c) 2026 Deft. All rights reserved.
3
+
4
+ This software is proprietary. No part of it may be copied, modified, distributed or
5
+ used except as permitted in writing by Deft.
6
+
7
+ Deft Console is built on Toad, Copyright (c) Will McGugan, which Deft uses under a
8
+ commercial license from its author (not under the AGPL).
9
+
10
+ Third-party packages that Deft Console depends on are distributed under their own
11
+ licenses.
@@ -0,0 +1,27 @@
1
+
2
+ run := uv run console
3
+
4
+ .PHONY: run
5
+ run:
6
+ $(run)
7
+
8
+ .PHONY: gemini-acp
9
+ gemini-acp:
10
+ $(run) acp "gemini --experimental-acp" --project-dir ~/sandbox --title "Google Gemini"
11
+
12
+ .PHONY: claude-acp
13
+ claude-acp:
14
+ $(run) acp "claude-code-acp" --project-dir ~/sandbox --title "Claude"
15
+
16
+
17
+ .PHONE: codex-acp
18
+ codex-acp:
19
+ $(run) acp "codex-acp" --project-dir ~/sandbox --title="OpenAI Codex"
20
+
21
+ .PHONY: replay
22
+ replay:
23
+ ACP_INITIALIZE=0 $(run) acp "$(run) replay $(realpath replay.jsonl)" --project-dir ~/sandbox
24
+
25
+ .PHONY: echo
26
+ echo:
27
+ $(run) acp "uv run echo_client.py"