crow-cli 0.1.38__tar.gz → 0.1.41__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 (600) hide show
  1. crow_cli-0.1.41/AGENTS.md +30 -0
  2. crow_cli-0.1.41/LICENSE.md +661 -0
  3. crow_cli-0.1.41/PKG-INFO +887 -0
  4. crow_cli-0.1.41/PLAN.md +187 -0
  5. {crow_cli-0.1.38 → crow_cli-0.1.41}/README.md +8 -10
  6. crow_cli-0.1.41/TERMINAL_STACK.md +120 -0
  7. crow_cli-0.1.41/TODO.md +74 -0
  8. {crow_cli-0.1.38 → crow_cli-0.1.41}/agent.json +1 -1
  9. {crow_cli-0.1.38 → crow_cli-0.1.41}/docs/crow-cli-docs/myst.yml +1 -1
  10. crow_cli-0.1.41/docs/journal/29Aug2026.md +7 -0
  11. {crow_cli-0.1.38 → crow_cli-0.1.41}/docs/myst.yml +1 -1
  12. {crow_cli-0.1.38 → crow_cli-0.1.41}/pyproject.toml +24 -2
  13. crow_cli-0.1.41/sandbox/textual-term-toy/bridge.py +116 -0
  14. crow_cli-0.1.41/sandbox/textual-term-toy/harness/index.html +21 -0
  15. crow_cli-0.1.41/sandbox/textual-term-toy/harness/main.js +32 -0
  16. crow_cli-0.1.41/sandbox/textual-term-toy/pyproject.toml +14 -0
  17. crow_cli-0.1.41/sandbox/textual-term-toy/sample.md +202 -0
  18. crow_cli-0.1.41/sandbox/textual-term-toy/toy.py +320 -0
  19. crow_cli-0.1.41/sandbox/textual-term-toy/uv.lock +276 -0
  20. crow_cli-0.1.41/scripts/e2e_compact_live.py +222 -0
  21. crow_cli-0.1.41/scripts/migrate_v6.py +192 -0
  22. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/agent/main.py +21 -4
  23. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/agent/session.py +45 -12
  24. crow_cli-0.1.41/src/crow_cli/agent/slash.py +155 -0
  25. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/cli/main.py +40 -4
  26. crow_cli-0.1.41/src/crow_cli/cli/tui_cmd.py +88 -0
  27. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/server/app.py +7 -0
  28. crow_cli-0.1.41/src/crow_cli/mcp/server/memtrim.py +117 -0
  29. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/terminal/backend.py +15 -1
  30. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/terminal/metadata.py +4 -1
  31. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/memory/models.py +21 -0
  32. crow_cli-0.1.41/src/crow_cli/memory/session_tabs.py +113 -0
  33. crow_cli-0.1.41/src/crow_cli/tui/NOTICE +4 -0
  34. crow_cli-0.1.41/src/crow_cli/tui/__init__.py +43 -0
  35. crow_cli-0.1.41/src/crow_cli/tui/_loop.py +86 -0
  36. crow_cli-0.1.41/src/crow_cli/tui/_path_fuzzy_search.py +48 -0
  37. crow_cli-0.1.41/src/crow_cli/tui/_path_match.py +141 -0
  38. crow_cli-0.1.41/src/crow_cli/tui/acp/agent.py +947 -0
  39. crow_cli-0.1.41/src/crow_cli/tui/acp/api.py +63 -0
  40. crow_cli-0.1.41/src/crow_cli/tui/acp/encode_tool_call_id.py +12 -0
  41. crow_cli-0.1.41/src/crow_cli/tui/acp/messages.py +154 -0
  42. crow_cli-0.1.41/src/crow_cli/tui/acp/prompt.py +54 -0
  43. crow_cli-0.1.41/src/crow_cli/tui/acp/protocol.py +493 -0
  44. crow_cli-0.1.41/src/crow_cli/tui/agent.py +70 -0
  45. crow_cli-0.1.41/src/crow_cli/tui/agent_schema.py +70 -0
  46. crow_cli-0.1.41/src/crow_cli/tui/agent_terminal.py +304 -0
  47. crow_cli-0.1.41/src/crow_cli/tui/agents.py +66 -0
  48. crow_cli-0.1.41/src/crow_cli/tui/ansi/__init__.py +1 -0
  49. crow_cli-0.1.41/src/crow_cli/tui/ansi/_ansi.py +1684 -0
  50. crow_cli-0.1.41/src/crow_cli/tui/ansi/_ansi_colors.py +264 -0
  51. crow_cli-0.1.41/src/crow_cli/tui/ansi/_control_codes.py +37 -0
  52. crow_cli-0.1.41/src/crow_cli/tui/ansi/_keys.py +251 -0
  53. crow_cli-0.1.41/src/crow_cli/tui/ansi/_sgr_styles.py +64 -0
  54. crow_cli-0.1.41/src/crow_cli/tui/ansi/_stream_parser.py +418 -0
  55. crow_cli-0.1.41/src/crow_cli/tui/answer.py +22 -0
  56. crow_cli-0.1.41/src/crow_cli/tui/app.py +885 -0
  57. crow_cli-0.1.41/src/crow_cli/tui/atomic.py +37 -0
  58. crow_cli-0.1.41/src/crow_cli/tui/code_analyze.py +27 -0
  59. crow_cli-0.1.41/src/crow_cli/tui/complete.py +38 -0
  60. crow_cli-0.1.41/src/crow_cli/tui/constants.py +58 -0
  61. crow_cli-0.1.41/src/crow_cli/tui/conversation_markdown.py +30 -0
  62. crow_cli-0.1.41/src/crow_cli/tui/danger.py +372 -0
  63. crow_cli-0.1.41/src/crow_cli/tui/data/agents/crowai.dev.toml +35 -0
  64. crow_cli-0.1.41/src/crow_cli/tui/data/images/crow.png +0 -0
  65. crow_cli-0.1.41/src/crow_cli/tui/data/images/frog.png +0 -0
  66. crow_cli-0.1.41/src/crow_cli/tui/data/sounds/question.wav +0 -0
  67. crow_cli-0.1.41/src/crow_cli/tui/data/sounds/turn-over.wav +0 -0
  68. crow_cli-0.1.41/src/crow_cli/tui/db.py +107 -0
  69. crow_cli-0.1.41/src/crow_cli/tui/dec.py +332 -0
  70. crow_cli-0.1.41/src/crow_cli/tui/directory.py +234 -0
  71. crow_cli-0.1.41/src/crow_cli/tui/directory_suggester.py +93 -0
  72. crow_cli-0.1.41/src/crow_cli/tui/directory_watcher.py +197 -0
  73. crow_cli-0.1.41/src/crow_cli/tui/format_path.py +25 -0
  74. crow_cli-0.1.41/src/crow_cli/tui/fuzzy.py +140 -0
  75. crow_cli-0.1.41/src/crow_cli/tui/fuzzy_index.py +275 -0
  76. crow_cli-0.1.41/src/crow_cli/tui/history.py +138 -0
  77. crow_cli-0.1.41/src/crow_cli/tui/jsonrpc.py +578 -0
  78. crow_cli-0.1.41/src/crow_cli/tui/mcp.py +57 -0
  79. crow_cli-0.1.41/src/crow_cli/tui/menus.py +14 -0
  80. crow_cli-0.1.41/src/crow_cli/tui/messages.py +142 -0
  81. crow_cli-0.1.41/src/crow_cli/tui/option_content.py +51 -0
  82. crow_cli-0.1.41/src/crow_cli/tui/os.py +0 -0
  83. crow_cli-0.1.41/src/crow_cli/tui/path_complete.py +217 -0
  84. crow_cli-0.1.41/src/crow_cli/tui/path_filter.py +124 -0
  85. crow_cli-0.1.41/src/crow_cli/tui/paths.py +71 -0
  86. crow_cli-0.1.41/src/crow_cli/tui/pill.py +23 -0
  87. crow_cli-0.1.41/src/crow_cli/tui/prompt/extract.py +19 -0
  88. crow_cli-0.1.41/src/crow_cli/tui/prompt/resource.py +68 -0
  89. crow_cli-0.1.41/src/crow_cli/tui/protocol.py +28 -0
  90. crow_cli-0.1.41/src/crow_cli/tui/screens/action_modal.py +88 -0
  91. crow_cli-0.1.41/src/crow_cli/tui/screens/agent_modal.py +175 -0
  92. crow_cli-0.1.41/src/crow_cli/tui/screens/command_edit_modal.py +74 -0
  93. crow_cli-0.1.41/src/crow_cli/tui/screens/editor.py +152 -0
  94. crow_cli-0.1.41/src/crow_cli/tui/screens/editor.tcss +25 -0
  95. crow_cli-0.1.41/src/crow_cli/tui/screens/history.py +173 -0
  96. crow_cli-0.1.41/src/crow_cli/tui/screens/history.tcss +71 -0
  97. crow_cli-0.1.41/src/crow_cli/tui/screens/main.py +269 -0
  98. crow_cli-0.1.41/src/crow_cli/tui/screens/main.tcss +580 -0
  99. crow_cli-0.1.41/src/crow_cli/tui/screens/permissions.py +411 -0
  100. crow_cli-0.1.41/src/crow_cli/tui/screens/permissions.tcss +73 -0
  101. crow_cli-0.1.41/src/crow_cli/tui/screens/session_resume_modal.py +172 -0
  102. crow_cli-0.1.41/src/crow_cli/tui/screens/session_resume_modal.tcss +35 -0
  103. crow_cli-0.1.41/src/crow_cli/tui/screens/sessions.py +57 -0
  104. crow_cli-0.1.41/src/crow_cli/tui/screens/sessions.tcss +122 -0
  105. crow_cli-0.1.41/src/crow_cli/tui/screens/settings.py +254 -0
  106. crow_cli-0.1.41/src/crow_cli/tui/screens/settings.tcss +101 -0
  107. crow_cli-0.1.41/src/crow_cli/tui/screens/store.py +611 -0
  108. crow_cli-0.1.41/src/crow_cli/tui/screens/store.tcss +272 -0
  109. crow_cli-0.1.41/src/crow_cli/tui/session_list.py +152 -0
  110. crow_cli-0.1.41/src/crow_cli/tui/session_tracker.py +107 -0
  111. crow_cli-0.1.41/src/crow_cli/tui/settings.py +353 -0
  112. crow_cli-0.1.41/src/crow_cli/tui/settings_schema.py +377 -0
  113. crow_cli-0.1.41/src/crow_cli/tui/shell.py +304 -0
  114. crow_cli-0.1.41/src/crow_cli/tui/shell_read.py +42 -0
  115. crow_cli-0.1.41/src/crow_cli/tui/slash_command.py +34 -0
  116. crow_cli-0.1.41/src/crow_cli/tui/themes.py +67 -0
  117. crow_cli-0.1.41/src/crow_cli/tui/tui.tcss +311 -0
  118. crow_cli-0.1.41/src/crow_cli/tui/visuals/columns.py +273 -0
  119. crow_cli-0.1.41/src/crow_cli/tui/widgets/acp_content.py +40 -0
  120. crow_cli-0.1.41/src/crow_cli/tui/widgets/agent_response.py +77 -0
  121. crow_cli-0.1.41/src/crow_cli/tui/widgets/agent_thought.py +50 -0
  122. crow_cli-0.1.41/src/crow_cli/tui/widgets/command_pane.py +223 -0
  123. crow_cli-0.1.41/src/crow_cli/tui/widgets/condensed_path.py +117 -0
  124. crow_cli-0.1.41/src/crow_cli/tui/widgets/conversation.py +1927 -0
  125. crow_cli-0.1.41/src/crow_cli/tui/widgets/danger_warning.py +65 -0
  126. crow_cli-0.1.41/src/crow_cli/tui/widgets/diff_view.py +59 -0
  127. crow_cli-0.1.41/src/crow_cli/tui/widgets/directory_input.py +8 -0
  128. crow_cli-0.1.41/src/crow_cli/tui/widgets/editor_terminal.py +87 -0
  129. crow_cli-0.1.41/src/crow_cli/tui/widgets/flash.py +81 -0
  130. crow_cli-0.1.41/src/crow_cli/tui/widgets/future_text.py +126 -0
  131. crow_cli-0.1.41/src/crow_cli/tui/widgets/grid_select.py +234 -0
  132. crow_cli-0.1.41/src/crow_cli/tui/widgets/highlighted_textarea.py +180 -0
  133. crow_cli-0.1.41/src/crow_cli/tui/widgets/mandelbrot.py +294 -0
  134. crow_cli-0.1.41/src/crow_cli/tui/widgets/markdown_note.py +13 -0
  135. crow_cli-0.1.41/src/crow_cli/tui/widgets/menu.py +147 -0
  136. crow_cli-0.1.41/src/crow_cli/tui/widgets/non_selectable_label.py +5 -0
  137. crow_cli-0.1.41/src/crow_cli/tui/widgets/note.py +18 -0
  138. crow_cli-0.1.41/src/crow_cli/tui/widgets/path_search.py +492 -0
  139. crow_cli-0.1.41/src/crow_cli/tui/widgets/plan.py +226 -0
  140. crow_cli-0.1.41/src/crow_cli/tui/widgets/project_directory_tree.py +90 -0
  141. crow_cli-0.1.41/src/crow_cli/tui/widgets/prompt.py +786 -0
  142. crow_cli-0.1.41/src/crow_cli/tui/widgets/question.py +359 -0
  143. crow_cli-0.1.41/src/crow_cli/tui/widgets/session_grid_select.py +62 -0
  144. crow_cli-0.1.41/src/crow_cli/tui/widgets/session_summary.py +115 -0
  145. crow_cli-0.1.41/src/crow_cli/tui/widgets/session_tabs.py +200 -0
  146. crow_cli-0.1.41/src/crow_cli/tui/widgets/shell_result.py +35 -0
  147. crow_cli-0.1.41/src/crow_cli/tui/widgets/shell_terminal.py +40 -0
  148. crow_cli-0.1.41/src/crow_cli/tui/widgets/side_bar.py +89 -0
  149. crow_cli-0.1.41/src/crow_cli/tui/widgets/slash_complete.py +235 -0
  150. crow_cli-0.1.41/src/crow_cli/tui/widgets/strike_text.py +70 -0
  151. crow_cli-0.1.41/src/crow_cli/tui/widgets/terminal.py +571 -0
  152. crow_cli-0.1.41/src/crow_cli/tui/widgets/terminal_tool.py +396 -0
  153. crow_cli-0.1.41/src/crow_cli/tui/widgets/throbber.py +100 -0
  154. crow_cli-0.1.41/src/crow_cli/tui/widgets/tool_call.py +312 -0
  155. crow_cli-0.1.41/src/crow_cli/tui/widgets/user_input.py +23 -0
  156. crow_cli-0.1.41/src/crow_cli/tui/widgets/version.py +5 -0
  157. crow_cli-0.1.41/src/crow_cli/tui/widgets/welcome.py +31 -0
  158. crow_cli-0.1.41/tests/integration/test_slash_commands.py +148 -0
  159. crow_cli-0.1.41/tests/mcp/test_memtrim.py +123 -0
  160. crow_cli-0.1.41/tests/memory/test_migrate_v6.py +116 -0
  161. crow_cli-0.1.41/tests/memory/test_session_tabs.py +69 -0
  162. crow_cli-0.1.41/tests/unit/test_agent_store.py +60 -0
  163. crow_cli-0.1.41/tests/unit/tui/__init__.py +0 -0
  164. crow_cli-0.1.41/tests/unit/tui/test_agent_terminal.py +170 -0
  165. crow_cli-0.1.41/tests/unit/tui/test_ansi_resize.py +142 -0
  166. crow_cli-0.1.41/tests/unit/tui/test_editor_screen.py +195 -0
  167. crow_cli-0.1.41/tests/unit/tui/test_editor_terminal.py +95 -0
  168. {crow_cli-0.1.38 → crow_cli-0.1.41}/uv.lock +859 -7
  169. crow_cli-0.1.38/AGENTS.md +0 -3
  170. crow_cli-0.1.38/LICENSE.md +0 -21
  171. crow_cli-0.1.38/PKG-INFO +0 -209
  172. crow_cli-0.1.38/PLAN.md +0 -93
  173. crow_cli-0.1.38/TODO.md +0 -73
  174. crow_cli-0.1.38/src/crow_cli/agent/slash.py +0 -144
  175. {crow_cli-0.1.38 → crow_cli-0.1.41}/.env.example +0 -0
  176. {crow_cli-0.1.38 → crow_cli-0.1.41}/.github/workflows/build-binaries.yml +0 -0
  177. {crow_cli-0.1.38 → crow_cli-0.1.41}/.github/workflows/publish-crow-cli.yml +0 -0
  178. {crow_cli-0.1.38 → crow_cli-0.1.41}/.gitignore +0 -0
  179. {crow_cli-0.1.38 → crow_cli-0.1.41}/.python-version +0 -0
  180. {crow_cli-0.1.38 → crow_cli-0.1.41}/PYINSTALLER_BUILD.md +0 -0
  181. {crow_cli-0.1.38 → crow_cli-0.1.41}/crow-cli.spec +0 -0
  182. {crow_cli-0.1.38 → crow_cli-0.1.41}/dev-crow-2.yaml +0 -0
  183. {crow_cli-0.1.38 → crow_cli-0.1.41}/docs/CNAME +0 -0
  184. {crow_cli-0.1.38 → crow_cli-0.1.41}/docs/crow-cli-docs/getting-started/installation.md +0 -0
  185. {crow_cli-0.1.38 → crow_cli-0.1.41}/docs/crow-cli-docs/getting-started/quickstart.md +0 -0
  186. {crow_cli-0.1.38 → crow_cli-0.1.41}/docs/crow-cli-docs/index.md +0 -0
  187. {crow_cli-0.1.38 → crow_cli-0.1.41}/docs/crow-cli-docs/memory-tool-design.md +0 -0
  188. {crow_cli-0.1.38 → crow_cli-0.1.41}/docs/crow-cli-docs/styles/purple.css +0 -0
  189. {crow_cli-0.1.38 → crow_cli-0.1.41}/docs/crow-logo.svg +0 -0
  190. {crow_cli-0.1.38 → crow_cli-0.1.41}/docs/get-llamacpp-working.md +0 -0
  191. {crow_cli-0.1.38 → crow_cli-0.1.41}/docs/getting-started/installation.md +0 -0
  192. {crow_cli-0.1.38 → crow_cli-0.1.41}/docs/getting-started/quickstart.md +0 -0
  193. {crow_cli-0.1.38 → crow_cli-0.1.41}/docs/icon.ico +0 -0
  194. {crow_cli-0.1.38 → crow_cli-0.1.41}/docs/img/crow-icon-purple.svg +0 -0
  195. {crow_cli-0.1.38 → crow_cli-0.1.41}/docs/img/crow-logo-crop.png +0 -0
  196. {crow_cli-0.1.38 → crow_cli-0.1.41}/docs/img/icon.svg +0 -0
  197. {crow_cli-0.1.38 → crow_cli-0.1.41}/docs/img/whiteboard_capture.png +0 -0
  198. {crow_cli-0.1.38 → crow_cli-0.1.41}/docs/index.html +0 -0
  199. {crow_cli-0.1.38 → crow_cli-0.1.41}/docs/index.md +0 -0
  200. {crow_cli-0.1.38 → crow_cli-0.1.41}/docs/journal/03May2026.md +0 -0
  201. {crow_cli-0.1.38 → crow_cli-0.1.41}/docs/journal/19Feb2026.md +0 -0
  202. {crow_cli-0.1.38 → crow_cli-0.1.41}/docs/journal/20Feb2026.md +0 -0
  203. {crow_cli-0.1.38 → crow_cli-0.1.41}/docs/journal/22Feb2026.md +0 -0
  204. {crow_cli-0.1.38 → crow_cli-0.1.41}/docs/llm-wiki.md +0 -0
  205. {crow_cli-0.1.38 → crow_cli-0.1.41}/docs/styles/purple.css +0 -0
  206. {crow_cli-0.1.38 → crow_cli-0.1.41}/examples/mc_escher_loop.py +0 -0
  207. {crow_cli-0.1.38 → crow_cli-0.1.41}/examples/quick_test.py +0 -0
  208. {crow_cli-0.1.38 → crow_cli-0.1.41}/run_tests.sh +0 -0
  209. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/agent-client/.python-version +0 -0
  210. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/agent-client/README.md +0 -0
  211. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/agent-client/SUCCESS.md +0 -0
  212. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/agent-client/TODO.md +0 -0
  213. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/agent-client/agent_client.py +0 -0
  214. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/agent-client/echo_agent.py +0 -0
  215. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/agent-client/fire_up_echo.py +0 -0
  216. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/agent-client/fire_up_simple.py +0 -0
  217. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/agent-client/main.py +0 -0
  218. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/agent-client/pyproject.toml +0 -0
  219. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/agent-client/run_bridge.py +0 -0
  220. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/agent-client/simple_agent.py +0 -0
  221. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/agent-client/stdio_to_ws.py +0 -0
  222. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/agent-client/test_acp_ws_client.py +0 -0
  223. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/agent-client/test_agent_client.py +0 -0
  224. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/agent-client/test_bridge.py +0 -0
  225. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/agent-client/test_bridge_and_client.py +0 -0
  226. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/agent-client/test_bridge_direct.py +0 -0
  227. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/agent-client/test_client.py +0 -0
  228. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/agent-client/test_date_terminal.py +0 -0
  229. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/agent-client/test_echo_agent.py +0 -0
  230. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/agent-client/test_fs_terminal.py +0 -0
  231. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/agent-client/test_http_multisession.py +0 -0
  232. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/agent-client/test_raw_stdio.py +0 -0
  233. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/agent-client/test_simple.py +0 -0
  234. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/agent-client/test_ws_client.py +0 -0
  235. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/agent-client/two_sessions_same_question.py +0 -0
  236. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/agent-client/uv.lock +0 -0
  237. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/async-react/.python-version +0 -0
  238. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/async-react/README.md +0 -0
  239. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/async-react/db_integrity_test.py +0 -0
  240. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/async-react/e2e_tool_integrity.py +0 -0
  241. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/async-react/persistence_integrity_test.py +0 -0
  242. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/async-react/pyproject.toml +0 -0
  243. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/async-react/streaming_async_react.py +0 -0
  244. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/async-react/streaming_async_react_with_cancellation.py +0 -0
  245. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/async-react/test_usage.py +0 -0
  246. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/async-react/tool_call_integrity_test.py +0 -0
  247. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/async-react/uv.lock +0 -0
  248. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/crow-acp-learning/README.md +0 -0
  249. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/crow-acp-learning/agent.py +0 -0
  250. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/crow-acp-learning/client.py +0 -0
  251. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/crow-acp-learning/duet.py +0 -0
  252. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/crow-acp-learning/echo_agent.py +0 -0
  253. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/crow-acp-learning/fire_up_echo.py +0 -0
  254. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/crow-acp-learning/gemini.py +0 -0
  255. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/crow-acp-learning/pyproject.toml +0 -0
  256. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/crow-acp-learning/terminal_agent.py +0 -0
  257. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/crow-acp-learning/test_acp.py +0 -0
  258. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/crow-acp-learning/uv.lock +0 -0
  259. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/crow-test/.python-version +0 -0
  260. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/crow-test/README.md +0 -0
  261. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/crow-test/graph.png +0 -0
  262. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/crow-test/graph.py +0 -0
  263. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/crow-test/main.py +0 -0
  264. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/crow-test/pyproject.toml +0 -0
  265. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/crow-test/uv.lock +0 -0
  266. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/dirtree/.python-version +0 -0
  267. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/dirtree/README.md +0 -0
  268. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/dirtree/main.py +0 -0
  269. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/dirtree/pyproject.toml +0 -0
  270. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/dirtree/uv.lock +0 -0
  271. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/00-architecture-overview.md +0 -0
  272. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/01-parallel-tool-calling.md +0 -0
  273. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/02-toad-integration.md +0 -0
  274. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/03-session-persistence.md +0 -0
  275. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/04-cancellation-and-state.md +0 -0
  276. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/05-loop-detection.md +0 -0
  277. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/06-finish-tool.md +0 -0
  278. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/07-python-repl.md +0 -0
  279. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/08-system-prompt-skills.md +0 -0
  280. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/09-session-continuity-and-compaction.md +0 -0
  281. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/AGENTS_OLD.md +0 -0
  282. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/ARCHITECTURE.md +0 -0
  283. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/CANCELLATION_IMPLEMENTATION.md +0 -0
  284. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/CANCELLATION_SANDBOX_COMPARISON.md +0 -0
  285. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/CANCELLATION_SUMMARY.md +0 -0
  286. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/CRITICAL_CLARIFICATIONS.md +0 -0
  287. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/CROW_SDK_ANALYSIS.md +0 -0
  288. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/EXTENSION_DISCUSSION.md +0 -0
  289. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/IMPLEMENTATION_PLAN.md +0 -0
  290. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/IMPLEMENTATION_SUMMARY.md +0 -0
  291. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/IMPLEMENTATION_SUMMARY_ACP_SESSIONS.md +0 -0
  292. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/INSTRUCTIONS_FOR_KIMI.md +0 -0
  293. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/PROJECT_VISION.md +0 -0
  294. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/PROMPT.md +0 -0
  295. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/PULSE_CHECK.md +0 -0
  296. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/REPL_GUIDE.md +0 -0
  297. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/TABLE_SCHEMA.md +0 -0
  298. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/THOUGHTS.md +0 -0
  299. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/check_acp_agent.py +0 -0
  300. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/conversation-wrapper-analysis.md +0 -0
  301. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/crow-agent-good-stuff.md +0 -0
  302. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/crow_agent_example.py +0 -0
  303. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/crow_inspect.py +0 -0
  304. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/database.py +0 -0
  305. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/essays/00-file-editor-semantics-and-fastmcp.md +0 -0
  306. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/essays/01-mcp-server-package-structure.md +0 -0
  307. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/essays/02-hooks-realization-and-agent-core.md +0 -0
  308. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/essays/03-where-we-are-now-and-whats-next.md +0 -0
  309. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/essays/04-acp-mcp-configuration.md +0 -0
  310. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/essays/04-hooks-as-first-class-citizens.md +0 -0
  311. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/essays/05-hook-design-analysis.md +0 -0
  312. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/essays/05-python-sdk-that-emerged.md +0 -0
  313. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/essays/06-acp-native-sessions.md +0 -0
  314. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/essays/07-extension-api-design.md +0 -0
  315. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/essays/08-flask-extension-pattern-with-context-variables.md +0 -0
  316. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/essays/09-git-commit-violation-last-testament.md +0 -0
  317. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/essays/10-monorepo-refactor-to-avoid-cyclic-dependencies.md +0 -0
  318. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/essays/11-acp-terminal-tool-swapping.md +0 -0
  319. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/essays/12-hook-based-architecture-and-the-frameworkless-framework.md +0 -0
  320. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/essays/13-acp-terminal-architecture.md +0 -0
  321. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/essays/14-terminal-mcp-implementation.md +0 -0
  322. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/essays/15-terminal-mcp-complete.md +0 -0
  323. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/essays/16-fractal-filesystem-sandbox-parallel-tool-calling.md +0 -0
  324. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/essays/17-composition-over-inheritance-extension-design.md +0 -0
  325. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/essays/18-self-injection-the-god-mode-pattern.md +0 -0
  326. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/essays/19-pluggy-the-missing-piece.md +0 -0
  327. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/essays/20-terminal-tool-failure-bug-report.md +0 -0
  328. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/essays/21-callback-architecture-multi-agent-bridges.md +0 -0
  329. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/essays/22-the-agent-was-always-here.md +0 -0
  330. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/essays/23-cancellation-solid-plan.md +0 -0
  331. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/essays/24-async-tool-hanging-debug-thoughts.md +0 -0
  332. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/essays/25-acp-client-terminal-integration.md +0 -0
  333. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/essays/26-graceful-cancellation-streaming.md +0 -0
  334. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/essays/llms-txt-and-agent-skills.md +0 -0
  335. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/fire_up_echo.py +0 -0
  336. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/kernel_kernel.py +0 -0
  337. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/merging-agents-guide.md +0 -0
  338. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/plans/acp-tool-enhancements.md +0 -0
  339. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/quick_test.py +0 -0
  340. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/research-findings.md +0 -0
  341. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/search.py +0 -0
  342. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/simple_crow_agent.py +0 -0
  343. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/streaming_async_react.py +0 -0
  344. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/streaming_async_react_with_db.py +0 -0
  345. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/streaming_react.py +0 -0
  346. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/terminal_demo.py +0 -0
  347. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/test_client_caps.py +0 -0
  348. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/test_crow_e2e.py +0 -0
  349. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/test_terminal_client.py +0 -0
  350. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/docs/ancestors/zai_tool_integration.py +0 -0
  351. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/fastmcp-test/.gitignore +0 -0
  352. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/fastmcp-test/.python-version +0 -0
  353. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/fastmcp-test/README.md +0 -0
  354. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/fastmcp-test/client.py +0 -0
  355. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/fastmcp-test/docs/essays/00-fractal-filesystem-sandbox-parallel-tool-calling.md +0 -0
  356. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/fastmcp-test/pyproject.toml +0 -0
  357. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/fastmcp-test/src/fastmcp_test/__init__.py +0 -0
  358. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/fastmcp-test/src/fastmcp_test/server/__init__.py +0 -0
  359. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/fastmcp-test/src/fastmcp_test/server/main.py +0 -0
  360. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/fastmcp-test/src/fastmcp_test/tool/__init__.py +0 -0
  361. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/fastmcp-test/src/fastmcp_test/tool/main.py +0 -0
  362. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/fastmcp-test/uv.lock +0 -0
  363. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/lancedb-testing/.gitignore +0 -0
  364. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/lancedb-testing/.python-version +0 -0
  365. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/lancedb-testing/README.md +0 -0
  366. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/lancedb-testing/bench_colpali.py +0 -0
  367. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/lancedb-testing/bench_dual_model.py +0 -0
  368. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/lancedb-testing/bench_latency.py +0 -0
  369. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/lancedb-testing/lancedb_session.py +0 -0
  370. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/lancedb-testing/load_crow_db.py +0 -0
  371. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/lancedb-testing/main.py +0 -0
  372. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/lancedb-testing/multivector.py +0 -0
  373. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/lancedb-testing/pyproject.toml +0 -0
  374. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/lancedb-testing/uv.lock +0 -0
  375. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/langfuse-test/.python-version +0 -0
  376. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/langfuse-test/README.md +0 -0
  377. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/langfuse-test/explore.py +0 -0
  378. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/langfuse-test/main.py +0 -0
  379. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/langfuse-test/pyproject.toml +0 -0
  380. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/langfuse-test/uv.lock +0 -0
  381. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/litellm-dashscope/.python-version +0 -0
  382. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/litellm-dashscope/README.md +0 -0
  383. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/litellm-dashscope/main.py +0 -0
  384. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/litellm-dashscope/pyproject.toml +0 -0
  385. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/litellm-dashscope/test_all_models_reasoning.py +0 -0
  386. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/litellm-dashscope/test_fix_correctness.py +0 -0
  387. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/litellm-dashscope/test_llamacpp_reasoning.py +0 -0
  388. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/litellm-dashscope/test_rc_empty.py +0 -0
  389. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/litellm-dashscope/test_reasoning_tool_transition.py +0 -0
  390. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/litellm-dashscope/test_reasoning_transition.py +0 -0
  391. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/litellm-dashscope/uv.lock +0 -0
  392. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/litellm-proxy/.python-version +0 -0
  393. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/litellm-proxy/README.md +0 -0
  394. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/litellm-proxy/config.yaml +0 -0
  395. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/litellm-proxy/main.py +0 -0
  396. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/litellm-proxy/pyproject.toml +0 -0
  397. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/litellm-proxy/uv.lock +0 -0
  398. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/murder-architecture.md +0 -0
  399. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/pathlib-test/.python-version +0 -0
  400. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/pathlib-test/README.md +0 -0
  401. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/pathlib-test/main.py +0 -0
  402. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/pathlib-test/pyproject.toml +0 -0
  403. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/pathlib-test/src/pathlib_test/test.py +0 -0
  404. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/pathlib-test/uv.lock +0 -0
  405. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/pyinstaller-async-test/.python-version +0 -0
  406. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/pyinstaller-async-test/main.py +0 -0
  407. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/pyinstaller-async-test/pyproject.toml +0 -0
  408. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/pyinstaller-async-test/test.spec +0 -0
  409. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/pyinstaller-async-test/uv.lock +0 -0
  410. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/.crow/compose.yaml +0 -0
  411. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/.crow/config.yaml +0 -0
  412. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/.crow/litellm/config.yaml +0 -0
  413. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/.crow/searxng/settings.yml +0 -0
  414. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/.gitignore +0 -0
  415. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/.python-version +0 -0
  416. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/AGENT_CLIENT_INTEGRATION.md +0 -0
  417. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/README.md +0 -0
  418. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/client.py +0 -0
  419. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/compact_agent.py +0 -0
  420. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/compact_e2e_test.py +0 -0
  421. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/compact_fixtures/case_01_system_user_only.json +0 -0
  422. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/compact_fixtures/case_02_reasoning_only.json +0 -0
  423. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/compact_fixtures/case_03_content_only.json +0 -0
  424. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/compact_fixtures/case_04_unexecuted_tools.json +0 -0
  425. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/compact_fixtures/case_05_mid_conversation_all_responded.json +0 -0
  426. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/compact_fixtures/case_06_partial_tool_responses.json +0 -0
  427. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/compact_fixtures/case_07_complete_turn.json +0 -0
  428. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/compact_fixtures/case_08_reasoning_ending.json +0 -0
  429. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/compact_fixtures/case_09_content_ending.json +0 -0
  430. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/compact_fixtures/chubby_full_conversation.jsonl +0 -0
  431. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/docs/AGENT_CLIENT_PLAN.md +0 -0
  432. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/docs/COMPACT_AND_SCHEMA_REWRITE.md +0 -0
  433. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/docs/STRATEGIC_PIVOT.md +0 -0
  434. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/generate_compact_fixtures.py +0 -0
  435. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/iterative_refinement.py +0 -0
  436. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/iterative_refinement_agent.py +0 -0
  437. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/iterative_refinement_mcp.py +0 -0
  438. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/main.py +0 -0
  439. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/multi_compact.py +0 -0
  440. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/orchestrator.py +0 -0
  441. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/pyproject.toml +0 -0
  442. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/run_iterative_refinement_agent.py +0 -0
  443. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/run_repl_clients.py +0 -0
  444. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/scratch_db.py +0 -0
  445. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/task_description.yaml +0 -0
  446. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/test_compact_fixtures.py +0 -0
  447. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/test_compact_one.py +0 -0
  448. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/test_compact_real.py +0 -0
  449. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/test_compact_run.py +0 -0
  450. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/test_drift_instrumentation.py +0 -0
  451. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/test_hook.py +0 -0
  452. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/test_iterative_refinement.py +0 -0
  453. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/test_multi_compact_client.py +0 -0
  454. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/test_refinement_agent.py +0 -0
  455. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/test_repl_client.py +0 -0
  456. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/repl-agent/uv.lock +0 -0
  457. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/yaml-configs/.python-version +0 -0
  458. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/yaml-configs/README.md +0 -0
  459. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/yaml-configs/main.py +0 -0
  460. {crow_cli-0.1.38 → crow_cli-0.1.41}/sandbox/yaml-configs/pyproject.toml +0 -0
  461. {crow_cli-0.1.38 → crow_cli-0.1.41}/scripts/consolidate_history.py +0 -0
  462. {crow_cli-0.1.38 → crow_cli-0.1.41}/scripts/e2e_image_store_live.py +0 -0
  463. {crow_cli-0.1.38 → crow_cli-0.1.41}/scripts/e2e_memory_live.py +0 -0
  464. {crow_cli-0.1.38 → crow_cli-0.1.41}/scripts/e2e_postgres_live.py +0 -0
  465. {crow_cli-0.1.38 → crow_cli-0.1.41}/scripts/mcp_ram_repro.py +0 -0
  466. {crow_cli-0.1.38 → crow_cli-0.1.41}/scripts/merge_live_into_migrated.py +0 -0
  467. {crow_cli-0.1.38 → crow_cli-0.1.41}/scripts/migrate_taskmaster.py +0 -0
  468. {crow_cli-0.1.38 → crow_cli-0.1.41}/scripts/migrate_v5.py +0 -0
  469. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/__init__.py +0 -0
  470. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/agent/__init__.py +0 -0
  471. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/agent/compact.py +0 -0
  472. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/agent/context.py +0 -0
  473. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/agent/hooks.py +0 -0
  474. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/agent/llm.py +0 -0
  475. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/agent/logger.py +0 -0
  476. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/agent/mcp_client.py +0 -0
  477. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/agent/memory.py +0 -0
  478. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/agent/model_routing.py +0 -0
  479. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/agent/prompt.py +0 -0
  480. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/agent/react.py +0 -0
  481. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/agent/tools.py +0 -0
  482. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/agent_runner.py +0 -0
  483. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/cli/__init__.py +0 -0
  484. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/cli/init_cmd.py +0 -0
  485. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/cli/install.py +0 -0
  486. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/client/__init__.py +0 -0
  487. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/client/main.py +0 -0
  488. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/client/subagent.py +0 -0
  489. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/client/terminal.py +0 -0
  490. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/config/__init__.py +0 -0
  491. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/config/config.py +0 -0
  492. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/config/default/__init__.py +0 -0
  493. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/config/default/defaults.py +0 -0
  494. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/config/default/searxng_settings.py +0 -0
  495. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/__init__.py +0 -0
  496. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/editor/README.md +0 -0
  497. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/editor/__init__.py +0 -0
  498. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/editor/main.py +0 -0
  499. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/memory/__init__.py +0 -0
  500. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/memory/client.py +0 -0
  501. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/memory/main.py +0 -0
  502. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/memory/store.py +0 -0
  503. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/read/README.md +0 -0
  504. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/read/__init__.py +0 -0
  505. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/read/main.py +0 -0
  506. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/server/README.md +0 -0
  507. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/server/__init__.py +0 -0
  508. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/server/logger.py +0 -0
  509. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/server/main.py +0 -0
  510. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/task/__init__.py +0 -0
  511. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/task/main.py +0 -0
  512. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/terminal/README.md +0 -0
  513. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/terminal/__init__.py +0 -0
  514. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/terminal/constants.py +0 -0
  515. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/terminal/logging_config.py +0 -0
  516. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/terminal/main.py +0 -0
  517. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/terminal/session.py +0 -0
  518. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/vision/__init__.py +0 -0
  519. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/vision/client.py +0 -0
  520. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/vision/main.py +0 -0
  521. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/web_fetch/README.md +0 -0
  522. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/web_fetch/__init__.py +0 -0
  523. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/web_fetch/main.py +0 -0
  524. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/web_search/README.md +0 -0
  525. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/web_search/__init__.py +0 -0
  526. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/web_search/main.py +0 -0
  527. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/write/README.md +0 -0
  528. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/write/__init__.py +0 -0
  529. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/mcp/write/main.py +0 -0
  530. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/memory/__init__.py +0 -0
  531. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/memory/db.py +0 -0
  532. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/memory/fts.py +0 -0
  533. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/memory/ids.py +0 -0
  534. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/memory/image_store.py +0 -0
  535. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/memory/messages.py +0 -0
  536. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/memory/reads.py +0 -0
  537. {crow_cli-0.1.38 → crow_cli-0.1.41}/src/crow_cli/memory/writes.py +0 -0
  538. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/__init__.py +0 -0
  539. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/analyze_payload_cache_invalidation.py +0 -0
  540. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/analyze_payload_deep.py +0 -0
  541. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/conftest.py +0 -0
  542. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/e2e/test_react_live.py +0 -0
  543. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/e2e/test_session_update_transmission.py +0 -0
  544. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/e2e/test_task_high_priority_preemption.py +0 -0
  545. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/e2e/test_task_mcp_launch.py +0 -0
  546. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/e2e/test_task_race_regression.py +0 -0
  547. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/integration/test_acp_http.py +0 -0
  548. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/integration/test_agent_init.py +0 -0
  549. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/integration/test_auth_validation.py +0 -0
  550. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/integration/test_react_loop_cancel_integrity.py +0 -0
  551. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/integration/test_react_loop_delegation_hold.py +0 -0
  552. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/integration/test_react_loop_tool_round.py +0 -0
  553. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/integration/test_reasoning_effort_react_loop.py +0 -0
  554. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/mcp/integration/test_server_stdio.py +0 -0
  555. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/mcp/test_edit.py +0 -0
  556. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/mcp/test_memory.py +0 -0
  557. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/mcp/test_memory_store.py +0 -0
  558. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/mcp/test_read.py +0 -0
  559. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/mcp/test_server.py +0 -0
  560. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/mcp/test_task_tool.py +0 -0
  561. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/mcp/test_terminal.py +0 -0
  562. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/mcp/test_vision.py +0 -0
  563. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/mcp/test_web_fetch.py +0 -0
  564. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/mcp/test_web_search.py +0 -0
  565. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/mcp/test_write.py +0 -0
  566. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/memory/test_db.py +0 -0
  567. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/memory/test_image_store.py +0 -0
  568. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/memory/test_migrate_taskmaster.py +0 -0
  569. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/memory/test_migrate_v5.py +0 -0
  570. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/memory/test_session_mcp_servers.py +0 -0
  571. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/memory/test_store.py +0 -0
  572. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/memory/test_task_state.py +0 -0
  573. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/unit/test_cli_fork_flags.py +0 -0
  574. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/unit/test_cli_telemetry.py +0 -0
  575. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/unit/test_client_terminal.py +0 -0
  576. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/unit/test_compact.py +0 -0
  577. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/unit/test_compact_last_messages_list_content.json +0 -0
  578. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/unit/test_compact_last_messages_list_content.py +0 -0
  579. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/unit/test_configure.py +0 -0
  580. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/unit/test_fork.py +0 -0
  581. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/unit/test_init_postgres.py +0 -0
  582. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/unit/test_init_rustfs.py +0 -0
  583. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/unit/test_json_repair.py +0 -0
  584. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/unit/test_mcp_client.py +0 -0
  585. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/unit/test_model_override.py +0 -0
  586. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/unit/test_model_routing.py +0 -0
  587. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/unit/test_per_model_compact_threshold.py +0 -0
  588. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/unit/test_prompt.py +0 -0
  589. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/unit/test_react.py +0 -0
  590. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/unit/test_reasoning_effort.py +0 -0
  591. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/unit/test_request_logging.py +0 -0
  592. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/unit/test_session.py +0 -0
  593. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/unit/test_session_mcp_servers_wiring.py +0 -0
  594. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/unit/test_stream_processing.py +0 -0
  595. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/unit/test_subagent_parse_servers.py +0 -0
  596. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/unit/test_system_prompt_skills.py +0 -0
  597. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/unit/test_task_tool_schema.py +0 -0
  598. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/unit/test_usage_update.py +0 -0
  599. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/unit/test_uv_project_enforcement.py +0 -0
  600. {crow_cli-0.1.38 → crow_cli-0.1.41}/tests/unit/test_version.py +0 -0
@@ -0,0 +1,30 @@
1
+ # RULES
2
+
3
+ - Never mention the user's emotional state. I'm here to work, NOT be psychoanalyzed by a machine.
4
+
5
+ # TUI TERMINAL KNOWLEDGE (verified, don't re-derive)
6
+
7
+ - ANSI emulator resize semantics ARE the product: alternate-screen buffers
8
+ must resize like pyte/real terminals (truncate columns on width shrink,
9
+ top-trim/pad on height change, 1:1 grid rows <-> buffer lines, clamp
10
+ cursor) — folding stale wide lines breaks CUP row addressing = garble.
11
+ Scrollback (normal) screen keeps folding. Oracle test: pyte dev dep.
12
+ - Two terminal pathways by mandate: `tui/agent_terminal.py::AgentTerminal`
13
+ (headless PTY + raw byte capture) backs the ACP terminal tool; the
14
+ human-facing emulator (TerminalTool/EditorTerminal) is separate. A
15
+ suspended conversation has window size 0 — never size a PTY from it.
16
+ - Textual gotchas: `Widget.screen` is a Textual property (name pyte
17
+ screens `pyte_screen`); `Strip` API is cell-based in Textual 8
18
+ (`crop_extend(0, w, None)`, `adjust_cell_length`); Textual 8.2.x breaks
19
+ on rich>=15 (uses Style internals rich dropped) — pin rich<15.
20
+ - pyte color values are "default", ANSI names, or 6-char hex strings for
21
+ BOTH 256-color and truecolor — never numeric palette indices (an
22
+ all-digit hex like "281733" is truecolor).
23
+ - A TUI only sends DIFFS: any fresh out-of-process terminal client
24
+ (riotermjs, reconnect) sees a blank/stale screen unless the child is
25
+ forced to full-repaint (winsize nudge: set cols-1 then cols).
26
+ - sandbox/textual-term-toy: the terminal-in-a-column experiment + the
27
+ riotermjs browser harness (bridge.py = PTY<->websocket; harness/ = page
28
+ with importmap to ~/src/riotermjs dist). How to view the TUI in a
29
+ browser: run bridge.py + `python -m http.server --directory harness`,
30
+ open the page, screenshot via playwright-cli.