@scemoon/cdh 1.0.6 → 1.0.7

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 (550) hide show
  1. package/package.json +2 -2
  2. package/ai-dlc-skill/SKILL.md +0 -77
  3. package/ai-dlc-skill/agents/deliver-agent.md +0 -24
  4. package/ai-dlc-skill/agents/master.md +0 -50
  5. package/ai-dlc-skill/agents/plan-agent.md +0 -23
  6. package/ai-dlc-skill/agents/understand-agent.md +0 -23
  7. package/ai-dlc-skill/agents/verify-agent.md +0 -27
  8. package/ai-dlc-skill/architecture/project-structure.md +0 -78
  9. package/ai-dlc-skill/brownfield/README.md +0 -30
  10. package/ai-dlc-skill/brownfield/generate-context.sh +0 -64
  11. package/ai-dlc-skill/brownfield/scripts/deps.sh +0 -27
  12. package/ai-dlc-skill/brownfield/scripts/discover.sh +0 -34
  13. package/ai-dlc-skill/brownfield/scripts/extract-api.sh +0 -45
  14. package/ai-dlc-skill/components/backend.md +0 -34
  15. package/ai-dlc-skill/components/desktop.md +0 -30
  16. package/ai-dlc-skill/components/mya.md +0 -29
  17. package/ai-dlc-skill/components/native.md +0 -30
  18. package/ai-dlc-skill/components/tta.md +0 -29
  19. package/ai-dlc-skill/components/web.md +0 -31
  20. package/ai-dlc-skill/components/wxa.md +0 -29
  21. package/ai-dlc-skill/contracts/README.md +0 -25
  22. package/ai-dlc-skill/core/adaptive-flow.md +0 -36
  23. package/ai-dlc-skill/core/security.md +0 -29
  24. package/ai-dlc-skill/cross-tool/cline/export.sh +0 -31
  25. package/ai-dlc-skill/cross-tool/copilot/export.sh +0 -47
  26. package/ai-dlc-skill/cross-tool/cursor/export.sh +0 -32
  27. package/ai-dlc-skill/cross-tool/export.sh +0 -22
  28. package/ai-dlc-skill/cross-tool/onecode/config.yaml.tpl +0 -17
  29. package/ai-dlc-skill/cross-tool/onecode/export-skills.sh +0 -35
  30. package/ai-dlc-skill/cross-tool/onecode/export.sh +0 -54
  31. package/ai-dlc-skill/phases/deliver/entry.md +0 -26
  32. package/ai-dlc-skill/phases/deliver/lifecycle.md +0 -185
  33. package/ai-dlc-skill/phases/deliver/prompt.md +0 -40
  34. package/ai-dlc-skill/phases/deliver/rules.md +0 -61
  35. package/ai-dlc-skill/phases/plan/entry.md +0 -25
  36. package/ai-dlc-skill/phases/plan/lifecycle.md +0 -204
  37. package/ai-dlc-skill/phases/plan/prompt.md +0 -38
  38. package/ai-dlc-skill/phases/plan/rules.md +0 -25
  39. package/ai-dlc-skill/phases/understand/entry.md +0 -26
  40. package/ai-dlc-skill/phases/understand/lifecycle.md +0 -184
  41. package/ai-dlc-skill/phases/understand/prompt.md +0 -41
  42. package/ai-dlc-skill/phases/understand/rules.md +0 -37
  43. package/ai-dlc-skill/phases/verify/entry.md +0 -26
  44. package/ai-dlc-skill/phases/verify/lifecycle.md +0 -192
  45. package/ai-dlc-skill/phases/verify/prompt.md +0 -43
  46. package/ai-dlc-skill/phases/verify/rules.md +0 -73
  47. package/ai-dlc-skill/practices/bdd.md +0 -91
  48. package/ai-dlc-skill/practices/sdd.md +0 -84
  49. package/ai-dlc-skill/practices/tdd.md +0 -95
  50. package/ai-dlc-skill/providers/README.md +0 -114
  51. package/ai-dlc-skill/providers/aliyun/deployment.yaml +0 -66
  52. package/ai-dlc-skill/providers/aliyun/preview.yaml +0 -84
  53. package/ai-dlc-skill/providers/aliyun/provider.yaml +0 -160
  54. package/ai-dlc-skill/providers/tcb/deployment.yaml +0 -69
  55. package/ai-dlc-skill/providers/tcb/preview.yaml +0 -83
  56. package/ai-dlc-skill/providers/tcb/provider.yaml +0 -172
  57. package/ai-dlc-skill/requirements.md +0 -140
  58. package/ai-dlc-skill/skill.yaml +0 -147
  59. package/ai-dlc-skill/templates/integration/CHANGELOG.md +0 -41
  60. package/ai-dlc-skill/templates/integration/asyncapi.yaml +0 -43
  61. package/ai-dlc-skill/templates/integration/contract-diff.md +0 -63
  62. package/ai-dlc-skill/templates/integration/contract-spec.md +0 -49
  63. package/ai-dlc-skill/templates/integration/openapi.yaml +0 -18
  64. package/ai-dlc-skill/templates/integration/runtime-contract.yaml +0 -36
  65. package/ai-dlc-skill/templates/plan/design.md +0 -49
  66. package/ai-dlc-skill/templates/plan/task-list.md +0 -32
  67. package/ai-dlc-skill/templates/project/README.md +0 -126
  68. package/ai-dlc-skill/templates/project/template.md +0 -119
  69. package/ai-dlc-skill/templates/understand/feature.feature +0 -23
  70. package/ai-dlc-skill/templates/understand/intent.md +0 -29
  71. package/ai-dlc-skill/templates/understand/spec-delta.md +0 -47
  72. package/ai-dlc-skill/templates/verify/test-unit.py +0 -27
  73. package/ai-dlc-skill/walkthrough/collect.sh +0 -50
  74. package/ai-dlc-skill/walkthrough/template.md +0 -54
  75. package/ai-dlc-skill/workflows/ai-dlc.yaml +0 -110
  76. package/ai-dlc-skill/workflows/deployment.yaml +0 -199
  77. package/cdh/__init__.py +0 -0
  78. package/cdh/__main__.py +0 -4
  79. package/cdh/__pycache__/__init__.cpython-314.pyc +0 -0
  80. package/cdh/__pycache__/cdh_mcp_injector.cpython-314.pyc +0 -0
  81. package/cdh/__pycache__/cdh_mcp_loader.cpython-314.pyc +0 -0
  82. package/cdh/__pycache__/cdh_mcp_manager.cpython-314.pyc +0 -0
  83. package/cdh/__pycache__/cdh_session_aggregator.cpython-314.pyc +0 -0
  84. package/cdh/__pycache__/cdh_skill_loader.cpython-314.pyc +0 -0
  85. package/cdh/__pycache__/cdh_skill_manager.cpython-314.pyc +0 -0
  86. package/cdh/__pycache__/cli.cpython-313.pyc +0 -0
  87. package/cdh/__pycache__/cli.cpython-314.pyc +0 -0
  88. package/cdh/__pycache__/scaffold.cpython-314.pyc +0 -0
  89. package/cdh/cdh_mcp_injector.py +0 -115
  90. package/cdh/cdh_mcp_loader.py +0 -67
  91. package/cdh/cdh_mcp_manager.py +0 -73
  92. package/cdh/cdh_session_aggregator.py +0 -258
  93. package/cdh/cdh_skill_manager.py +0 -105
  94. package/cdh/cli.py +0 -807
  95. package/cdh/scaffold.py +0 -728
  96. package/onecode/__init__.py +0 -1
  97. package/onecode/__main__.py +0 -4
  98. package/onecode/__pycache__/__init__.cpython-314.pyc +0 -0
  99. package/onecode/__pycache__/cli.cpython-314.pyc +0 -0
  100. package/onecode/__pycache__/commands.cpython-314.pyc +0 -0
  101. package/onecode/__pycache__/config.cpython-314.pyc +0 -0
  102. package/onecode/__pycache__/config_screen.cpython-314.pyc +0 -0
  103. package/onecode/__pycache__/migrate.cpython-314.pyc +0 -0
  104. package/onecode/agent/__init__.py +0 -0
  105. package/onecode/agent/__pycache__/__init__.cpython-314.pyc +0 -0
  106. package/onecode/agent/__pycache__/cdh_loader.cpython-314.pyc +0 -0
  107. package/onecode/agent/__pycache__/context.cpython-314.pyc +0 -0
  108. package/onecode/agent/__pycache__/engine.cpython-314.pyc +0 -0
  109. package/onecode/agent/__pycache__/hooks.cpython-314.pyc +0 -0
  110. package/onecode/agent/__pycache__/onecode_agent_acp.cpython-314.pyc +0 -0
  111. package/onecode/agent/__pycache__/permissions.cpython-314.pyc +0 -0
  112. package/onecode/agent/__pycache__/permissions_store.cpython-314.pyc +0 -0
  113. package/onecode/agent/__pycache__/project_doc.cpython-314.pyc +0 -0
  114. package/onecode/agent/__pycache__/session.cpython-314.pyc +0 -0
  115. package/onecode/agent/agents/__init__.py +0 -29
  116. package/onecode/agent/agents/__pycache__/__init__.cpython-314.pyc +0 -0
  117. package/onecode/agent/agents/__pycache__/types.cpython-314.pyc +0 -0
  118. package/onecode/agent/agents/types.py +0 -589
  119. package/onecode/agent/attachments.py +0 -112
  120. package/onecode/agent/cdh_loader.py +0 -267
  121. package/onecode/agent/context.py +0 -343
  122. package/onecode/agent/engine.py +0 -2700
  123. package/onecode/agent/hooks.py +0 -86
  124. package/onecode/agent/onecode_agent_acp.py +0 -2743
  125. package/onecode/agent/onecode_agent_acp.py.bak +0 -2447
  126. package/onecode/agent/permissions.py +0 -150
  127. package/onecode/agent/permissions_store.py +0 -62
  128. package/onecode/agent/project_doc.py +0 -19
  129. package/onecode/agent/session.py +0 -195
  130. package/onecode/agent/snapshot.py +0 -144
  131. package/onecode/agent/tools/__init__.py +0 -17
  132. package/onecode/agent/tools/__pycache__/__init__.cpython-314.pyc +0 -0
  133. package/onecode/agent/tools/__pycache__/agent_tools.cpython-314.pyc +0 -0
  134. package/onecode/agent/tools/__pycache__/apply_patch_tool.cpython-314.pyc +0 -0
  135. package/onecode/agent/tools/__pycache__/bash_tool.cpython-314.pyc +0 -0
  136. package/onecode/agent/tools/__pycache__/communication_tools.cpython-314.pyc +0 -0
  137. package/onecode/agent/tools/__pycache__/config_tool.cpython-314.pyc +0 -0
  138. package/onecode/agent/tools/__pycache__/cron_tools.cpython-314.pyc +0 -0
  139. package/onecode/agent/tools/__pycache__/errors.cpython-314.pyc +0 -0
  140. package/onecode/agent/tools/__pycache__/file_ops.cpython-314.pyc +0 -0
  141. package/onecode/agent/tools/__pycache__/file_tools.cpython-314.pyc +0 -0
  142. package/onecode/agent/tools/__pycache__/git_tools.cpython-314.pyc +0 -0
  143. package/onecode/agent/tools/__pycache__/lsp_tools.cpython-314.pyc +0 -0
  144. package/onecode/agent/tools/__pycache__/mcp_tools.cpython-314.pyc +0 -0
  145. package/onecode/agent/tools/__pycache__/permission_handler.cpython-314.pyc +0 -0
  146. package/onecode/agent/tools/__pycache__/permissions.cpython-314.pyc +0 -0
  147. package/onecode/agent/tools/__pycache__/protocol.cpython-314.pyc +0 -0
  148. package/onecode/agent/tools/__pycache__/registry.cpython-314.pyc +0 -0
  149. package/onecode/agent/tools/__pycache__/sandbox.cpython-314.pyc +0 -0
  150. package/onecode/agent/tools/__pycache__/schema_validation.cpython-314.pyc +0 -0
  151. package/onecode/agent/tools/__pycache__/skill_tools.cpython-314.pyc +0 -0
  152. package/onecode/agent/tools/__pycache__/todo_tools.cpython-314.pyc +0 -0
  153. package/onecode/agent/tools/__pycache__/web_tools.cpython-314.pyc +0 -0
  154. package/onecode/agent/tools/agent_tools.py +0 -132
  155. package/onecode/agent/tools/apply_patch_tool.py +0 -138
  156. package/onecode/agent/tools/bash_tool.py +0 -111
  157. package/onecode/agent/tools/communication_tools.py +0 -148
  158. package/onecode/agent/tools/config_tool.py +0 -130
  159. package/onecode/agent/tools/cron_tools.py +0 -178
  160. package/onecode/agent/tools/errors.py +0 -17
  161. package/onecode/agent/tools/file_ops.py +0 -221
  162. package/onecode/agent/tools/file_tools.py +0 -225
  163. package/onecode/agent/tools/git_tools.py +0 -88
  164. package/onecode/agent/tools/lsp_tools.py +0 -404
  165. package/onecode/agent/tools/mcp_tools.py +0 -127
  166. package/onecode/agent/tools/permission_handler.py +0 -46
  167. package/onecode/agent/tools/permissions.py +0 -77
  168. package/onecode/agent/tools/protocol.py +0 -20
  169. package/onecode/agent/tools/registry.py +0 -201
  170. package/onecode/agent/tools/sandbox.py +0 -358
  171. package/onecode/agent/tools/schema_validation.py +0 -100
  172. package/onecode/agent/tools/skill_tools.py +0 -52
  173. package/onecode/agent/tools/todo_tools.py +0 -207
  174. package/onecode/agent/tools/web_tools.py +0 -169
  175. package/onecode/builtin_skills/agent-browser/SKILL.md +0 -212
  176. package/onecode/builtin_skills/agent-browser/skill.yaml +0 -8
  177. package/onecode/builtin_skills/git/SKILL.md +0 -64
  178. package/onecode/builtin_skills/git/skill.yaml +0 -7
  179. package/onecode/builtin_skills/shell/SKILL.md +0 -58
  180. package/onecode/builtin_skills/shell/skill.yaml +0 -8
  181. package/onecode/builtin_skills/skill-creator/SKILL.md +0 -106
  182. package/onecode/builtin_skills/skill-creator/skill.yaml +0 -8
  183. package/onecode/cli.py +0 -935
  184. package/onecode/cloud/__init__.py +0 -0
  185. package/onecode/cloud/base.py +0 -20
  186. package/onecode/codebase/__init__.py +0 -69
  187. package/onecode/codebase/__pycache__/__init__.cpython-314.pyc +0 -0
  188. package/onecode/codebase/__pycache__/chunker.cpython-314.pyc +0 -0
  189. package/onecode/codebase/__pycache__/indexer.cpython-314.pyc +0 -0
  190. package/onecode/codebase/__pycache__/retriever.cpython-314.pyc +0 -0
  191. package/onecode/codebase/__pycache__/storage.cpython-314.pyc +0 -0
  192. package/onecode/codebase/__pycache__/tools.cpython-314.pyc +0 -0
  193. package/onecode/codebase/chunker.py +0 -125
  194. package/onecode/codebase/indexer.py +0 -149
  195. package/onecode/codebase/retriever.py +0 -203
  196. package/onecode/codebase/storage.py +0 -131
  197. package/onecode/codebase/tools.py +0 -59
  198. package/onecode/commands.py +0 -596
  199. package/onecode/config.py +0 -314
  200. package/onecode/config_screen.py +0 -600
  201. package/onecode/cron/__init__.py +0 -3
  202. package/onecode/lsp/__init__.py +0 -3
  203. package/onecode/mcp/__init__.py +0 -4
  204. package/onecode/mcp/__pycache__/__init__.cpython-314.pyc +0 -0
  205. package/onecode/mcp/__pycache__/client.cpython-314.pyc +0 -0
  206. package/onecode/mcp/__pycache__/manager.cpython-314.pyc +0 -0
  207. package/onecode/mcp/client.py +0 -193
  208. package/onecode/mcp/manager.py +0 -190
  209. package/onecode/memory/__init__.py +0 -49
  210. package/onecode/memory/__pycache__/__init__.cpython-314.pyc +0 -0
  211. package/onecode/memory/__pycache__/backend.cpython-314.pyc +0 -0
  212. package/onecode/memory/__pycache__/offload.cpython-314.pyc +0 -0
  213. package/onecode/memory/__pycache__/pyramid.cpython-314.pyc +0 -0
  214. package/onecode/memory/__pycache__/recall.cpython-314.pyc +0 -0
  215. package/onecode/memory/__pycache__/symbolic.cpython-314.pyc +0 -0
  216. package/onecode/memory/backend.py +0 -159
  217. package/onecode/memory/pyramid.py +0 -133
  218. package/onecode/memory/recall.py +0 -203
  219. package/onecode/migrate.py +0 -122
  220. package/onecode/models/__init__.py +0 -4
  221. package/onecode/models/__pycache__/__init__.cpython-314.pyc +0 -0
  222. package/onecode/models/__pycache__/errors.cpython-314.pyc +0 -0
  223. package/onecode/models/__pycache__/messages.cpython-314.pyc +0 -0
  224. package/onecode/models/__pycache__/provider.cpython-314.pyc +0 -0
  225. package/onecode/models/__pycache__/registry.cpython-314.pyc +0 -0
  226. package/onecode/models/errors.py +0 -104
  227. package/onecode/models/messages.py +0 -739
  228. package/onecode/models/provider.py +0 -699
  229. package/onecode/models/providers/__init__.py +0 -17
  230. package/onecode/models/providers/__pycache__/__init__.cpython-314.pyc +0 -0
  231. package/onecode/models/providers/__pycache__/anthropic_provider.cpython-314.pyc +0 -0
  232. package/onecode/models/providers/__pycache__/deepseek_provider.cpython-314.pyc +0 -0
  233. package/onecode/models/providers/__pycache__/glm_provider.cpython-314.pyc +0 -0
  234. package/onecode/models/providers/__pycache__/minimax_provider.cpython-314.pyc +0 -0
  235. package/onecode/models/providers/__pycache__/minimaxi_provider.cpython-314.pyc +0 -0
  236. package/onecode/models/providers/__pycache__/ollama_provider.cpython-314.pyc +0 -0
  237. package/onecode/models/providers/__pycache__/openai_provider.cpython-314.pyc +0 -0
  238. package/onecode/models/providers/anthropic_provider.py +0 -273
  239. package/onecode/models/providers/deepseek_provider.py +0 -212
  240. package/onecode/models/providers/glm_provider.py +0 -195
  241. package/onecode/models/providers/minimax_provider.py +0 -158
  242. package/onecode/models/providers/minimaxi_provider.py +0 -417
  243. package/onecode/models/providers/ollama_provider.py +0 -100
  244. package/onecode/models/providers/openai_provider.py +0 -237
  245. package/onecode/models/registry.py +0 -212
  246. package/onecode/server/__init__.py +0 -3
  247. package/onecode/server/app.py +0 -224
  248. package/onecode/skills/__init__.py +0 -11
  249. package/onecode/skills/__pycache__/__init__.cpython-314.pyc +0 -0
  250. package/onecode/skills/__pycache__/argument_substitution.cpython-314.pyc +0 -0
  251. package/onecode/skills/__pycache__/bootstrap.cpython-314.pyc +0 -0
  252. package/onecode/skills/__pycache__/create.cpython-314.pyc +0 -0
  253. package/onecode/skills/__pycache__/frontmatter.cpython-314.pyc +0 -0
  254. package/onecode/skills/__pycache__/loader.cpython-314.pyc +0 -0
  255. package/onecode/skills/__pycache__/manager.cpython-314.pyc +0 -0
  256. package/onecode/skills/__pycache__/model.cpython-314.pyc +0 -0
  257. package/onecode/skills/argument_substitution.py +0 -38
  258. package/onecode/skills/bootstrap.py +0 -124
  259. package/onecode/skills/create.py +0 -56
  260. package/onecode/skills/frontmatter.py +0 -33
  261. package/onecode/skills/loader.py +0 -139
  262. package/onecode/skills/manager.py +0 -75
  263. package/onecode/skills/model.py +0 -43
  264. package/onecode/storage/__init__.py +0 -0
  265. package/onecode/storage/activity.py +0 -63
  266. package/onecode/storage/project.py +0 -54
  267. package/onecode/storage/session.py +0 -112
  268. package/onecode/tasks/__init__.py +0 -26
  269. package/onecode/tasks/manager.py +0 -232
  270. package/onecode/tasks/models.py +0 -240
  271. package/onecode/trace/__init__.py +0 -0
  272. package/onecode/trace/tracer.py +0 -173
  273. package/onecode/utils/__init__.py +0 -0
  274. package/onecode/utils/helpers.py +0 -20
  275. package/pyproject.toml +0 -74
  276. package/tui/__init__.py +0 -46
  277. package/tui/__main__.py +0 -4
  278. package/tui/__pycache__/__init__.cpython-314.pyc +0 -0
  279. package/tui/__pycache__/_loop.cpython-314.pyc +0 -0
  280. package/tui/__pycache__/_path_fuzzy_search.cpython-314.pyc +0 -0
  281. package/tui/__pycache__/_path_match.cpython-314.pyc +0 -0
  282. package/tui/__pycache__/about.cpython-314.pyc +0 -0
  283. package/tui/__pycache__/agent.cpython-314.pyc +0 -0
  284. package/tui/__pycache__/agent_schema.cpython-314.pyc +0 -0
  285. package/tui/__pycache__/agents.cpython-314.pyc +0 -0
  286. package/tui/__pycache__/answer.cpython-314.pyc +0 -0
  287. package/tui/__pycache__/app.cpython-313.pyc +0 -0
  288. package/tui/__pycache__/app.cpython-314.pyc +0 -0
  289. package/tui/__pycache__/atomic.cpython-314.pyc +0 -0
  290. package/tui/__pycache__/complete.cpython-314.pyc +0 -0
  291. package/tui/__pycache__/constants.cpython-314.pyc +0 -0
  292. package/tui/__pycache__/conversation_markdown.cpython-314.pyc +0 -0
  293. package/tui/__pycache__/danger.cpython-314.pyc +0 -0
  294. package/tui/__pycache__/db.cpython-314.pyc +0 -0
  295. package/tui/__pycache__/dec.cpython-314.pyc +0 -0
  296. package/tui/__pycache__/directory.cpython-314.pyc +0 -0
  297. package/tui/__pycache__/directory_suggester.cpython-314.pyc +0 -0
  298. package/tui/__pycache__/directory_watcher.cpython-314.pyc +0 -0
  299. package/tui/__pycache__/format_path.cpython-314.pyc +0 -0
  300. package/tui/__pycache__/fuzzy.cpython-314.pyc +0 -0
  301. package/tui/__pycache__/fuzzy_index.cpython-314.pyc +0 -0
  302. package/tui/__pycache__/history.cpython-314.pyc +0 -0
  303. package/tui/__pycache__/jsonrpc.cpython-314.pyc +0 -0
  304. package/tui/__pycache__/menus.cpython-314.pyc +0 -0
  305. package/tui/__pycache__/message_log.cpython-314.pyc +0 -0
  306. package/tui/__pycache__/messages.cpython-314.pyc +0 -0
  307. package/tui/__pycache__/path_complete.cpython-314.pyc +0 -0
  308. package/tui/__pycache__/path_filter.cpython-314.pyc +0 -0
  309. package/tui/__pycache__/paths.cpython-314.pyc +0 -0
  310. package/tui/__pycache__/pill.cpython-314.pyc +0 -0
  311. package/tui/__pycache__/platform_commands.cpython-314.pyc +0 -0
  312. package/tui/__pycache__/protocol.cpython-314.pyc +0 -0
  313. package/tui/__pycache__/session_tracker.cpython-314.pyc +0 -0
  314. package/tui/__pycache__/settings.cpython-314.pyc +0 -0
  315. package/tui/__pycache__/settings_schema.cpython-314.pyc +0 -0
  316. package/tui/__pycache__/shell.cpython-314.pyc +0 -0
  317. package/tui/__pycache__/shell_read.cpython-314.pyc +0 -0
  318. package/tui/__pycache__/slash_command.cpython-314.pyc +0 -0
  319. package/tui/__pycache__/version.cpython-314.pyc +0 -0
  320. package/tui/_loop.py +0 -86
  321. package/tui/_path_fuzzy_search.py +0 -48
  322. package/tui/_path_match.py +0 -141
  323. package/tui/about.py +0 -95
  324. package/tui/acp/__pycache__/agent.cpython-314.pyc +0 -0
  325. package/tui/acp/__pycache__/api.cpython-314.pyc +0 -0
  326. package/tui/acp/__pycache__/encode_tool_call_id.cpython-314.pyc +0 -0
  327. package/tui/acp/__pycache__/messages.cpython-314.pyc +0 -0
  328. package/tui/acp/__pycache__/prompt.cpython-314.pyc +0 -0
  329. package/tui/acp/__pycache__/protocol.cpython-314.pyc +0 -0
  330. package/tui/acp/agent.py +0 -1002
  331. package/tui/acp/api.py +0 -73
  332. package/tui/acp/encode_tool_call_id.py +0 -12
  333. package/tui/acp/messages.py +0 -203
  334. package/tui/acp/prompt.py +0 -53
  335. package/tui/acp/protocol.py +0 -499
  336. package/tui/agent.py +0 -70
  337. package/tui/agent_schema.py +0 -76
  338. package/tui/agents.py +0 -46
  339. package/tui/ansi/__init__.py +0 -1
  340. package/tui/ansi/__pycache__/__init__.cpython-314.pyc +0 -0
  341. package/tui/ansi/__pycache__/_ansi.cpython-314.pyc +0 -0
  342. package/tui/ansi/__pycache__/_ansi_colors.cpython-314.pyc +0 -0
  343. package/tui/ansi/__pycache__/_control_codes.cpython-314.pyc +0 -0
  344. package/tui/ansi/__pycache__/_keys.cpython-314.pyc +0 -0
  345. package/tui/ansi/__pycache__/_sgr_styles.cpython-314.pyc +0 -0
  346. package/tui/ansi/__pycache__/_stream_parser.cpython-314.pyc +0 -0
  347. package/tui/ansi/_ansi.py +0 -1689
  348. package/tui/ansi/_ansi_colors.py +0 -264
  349. package/tui/ansi/_control_codes.py +0 -37
  350. package/tui/ansi/_keys.py +0 -251
  351. package/tui/ansi/_sgr_styles.py +0 -64
  352. package/tui/ansi/_stream_parser.py +0 -418
  353. package/tui/answer.py +0 -12
  354. package/tui/app.py +0 -1266
  355. package/tui/atomic.py +0 -37
  356. package/tui/cli.py +0 -313
  357. package/tui/code_analyze.py +0 -27
  358. package/tui/complete.py +0 -38
  359. package/tui/constants.py +0 -61
  360. package/tui/conversation_markdown.py +0 -30
  361. package/tui/danger.py +0 -372
  362. package/tui/data/agents/ampcode.com.toml +0 -52
  363. package/tui/data/agents/augmentcode.com.toml +0 -41
  364. package/tui/data/agents/cdh.cloud-dev-harness.toml +0 -23
  365. package/tui/data/agents/claude.com.toml +0 -41
  366. package/tui/data/agents/copilot.github.com.toml +0 -29
  367. package/tui/data/agents/crowai.dev.toml +0 -36
  368. package/tui/data/agents/cursor.com.toml +0 -38
  369. package/tui/data/agents/deepagents.langchain.com +0 -34
  370. package/tui/data/agents/docker.com.toml +0 -60
  371. package/tui/data/agents/geminicli.com.toml +0 -28
  372. package/tui/data/agents/goose.ai.toml +0 -52
  373. package/tui/data/agents/inference.huggingface.co.toml +0 -41
  374. package/tui/data/agents/kimi.com.toml +0 -35
  375. package/tui/data/agents/kiro.dev.toml +0 -43
  376. package/tui/data/agents/onecode.dev.toml +0 -22
  377. package/tui/data/agents/openai.com.toml +0 -53
  378. package/tui/data/agents/openclaw.ai.toml +0 -37
  379. package/tui/data/agents/opencode.ai.toml +0 -39
  380. package/tui/data/agents/openhands.dev.toml +0 -46
  381. package/tui/data/agents/stakpak.dev.toml +0 -62
  382. package/tui/data/agents/vibe.mistral.ai.toml +0 -31
  383. package/tui/data/agents/vtcode.dev.toml +0 -63
  384. package/tui/data/images/frog.png +0 -0
  385. package/tui/data/sounds/question.wav +0 -0
  386. package/tui/data/sounds/turn-over.wav +0 -0
  387. package/tui/db.py +0 -213
  388. package/tui/dec.py +0 -332
  389. package/tui/directory.py +0 -234
  390. package/tui/directory_suggester.py +0 -93
  391. package/tui/directory_watcher.py +0 -231
  392. package/tui/format_path.py +0 -25
  393. package/tui/fuzzy.py +0 -140
  394. package/tui/fuzzy_index.py +0 -275
  395. package/tui/gist.py +0 -33
  396. package/tui/history.py +0 -138
  397. package/tui/jsonrpc.py +0 -578
  398. package/tui/menus.py +0 -14
  399. package/tui/message_log.py +0 -69
  400. package/tui/messages.py +0 -144
  401. package/tui/option_content.py +0 -51
  402. package/tui/os.py +0 -0
  403. package/tui/path_complete.py +0 -217
  404. package/tui/path_filter.py +0 -124
  405. package/tui/paths.py +0 -87
  406. package/tui/pill.py +0 -23
  407. package/tui/platform_commands.py +0 -52
  408. package/tui/prompt/__pycache__/extract.cpython-314.pyc +0 -0
  409. package/tui/prompt/__pycache__/resource.cpython-314.pyc +0 -0
  410. package/tui/prompt/extract.py +0 -19
  411. package/tui/prompt/resource.py +0 -68
  412. package/tui/protocol.py +0 -28
  413. package/tui/screens/__init__.py +0 -0
  414. package/tui/screens/__pycache__/__init__.cpython-314.pyc +0 -0
  415. package/tui/screens/__pycache__/agent_modal.cpython-314.pyc +0 -0
  416. package/tui/screens/__pycache__/component_picker.cpython-314.pyc +0 -0
  417. package/tui/screens/__pycache__/diff_screen.cpython-314.pyc +0 -0
  418. package/tui/screens/__pycache__/log.cpython-314.pyc +0 -0
  419. package/tui/screens/__pycache__/main.cpython-313.pyc +0 -0
  420. package/tui/screens/__pycache__/main.cpython-314.pyc +0 -0
  421. package/tui/screens/__pycache__/permissions.cpython-314.pyc +0 -0
  422. package/tui/screens/__pycache__/projects_app.cpython-314.pyc +0 -0
  423. package/tui/screens/__pycache__/projects_screen.cpython-314.pyc +0 -0
  424. package/tui/screens/__pycache__/sessions.cpython-314.pyc +0 -0
  425. package/tui/screens/__pycache__/store.cpython-314.pyc +0 -0
  426. package/tui/screens/__pycache__/tool_content_screen.cpython-314.pyc +0 -0
  427. package/tui/screens/action_modal.py +0 -94
  428. package/tui/screens/agent_modal.py +0 -175
  429. package/tui/screens/command_edit_modal.py +0 -74
  430. package/tui/screens/component_picker.py +0 -168
  431. package/tui/screens/diff_screen.py +0 -84
  432. package/tui/screens/log.py +0 -553
  433. package/tui/screens/main.py +0 -385
  434. package/tui/screens/main.tcss +0 -655
  435. package/tui/screens/permissions.py +0 -404
  436. package/tui/screens/permissions.tcss +0 -72
  437. package/tui/screens/projects.tcss +0 -80
  438. package/tui/screens/projects_app.py +0 -347
  439. package/tui/screens/projects_screen.py +0 -284
  440. package/tui/screens/session_resume_modal.py +0 -172
  441. package/tui/screens/session_resume_modal.tcss +0 -35
  442. package/tui/screens/sessions.py +0 -164
  443. package/tui/screens/sessions.tcss +0 -119
  444. package/tui/screens/settings.py +0 -254
  445. package/tui/screens/settings.tcss +0 -101
  446. package/tui/screens/store.py +0 -500
  447. package/tui/screens/store.tcss +0 -274
  448. package/tui/screens/tool_content_screen.py +0 -59
  449. package/tui/session_tracker.py +0 -123
  450. package/tui/settings.py +0 -353
  451. package/tui/settings_schema.py +0 -431
  452. package/tui/shell.py +0 -304
  453. package/tui/shell_read.py +0 -42
  454. package/tui/slash_command.py +0 -34
  455. package/tui/tui.tcss +0 -246
  456. package/tui/twitter.py +0 -38
  457. package/tui/version.py +0 -80
  458. package/tui/visuals/__init__.py +0 -0
  459. package/tui/visuals/__pycache__/__init__.cpython-314.pyc +0 -0
  460. package/tui/visuals/__pycache__/columns.cpython-314.pyc +0 -0
  461. package/tui/visuals/columns.py +0 -272
  462. package/tui/widgets/__init__.py +0 -0
  463. package/tui/widgets/__pycache__/__init__.cpython-314.pyc +0 -0
  464. package/tui/widgets/__pycache__/acp_content.cpython-314.pyc +0 -0
  465. package/tui/widgets/__pycache__/agent_response.cpython-314.pyc +0 -0
  466. package/tui/widgets/__pycache__/agent_thought.cpython-314.pyc +0 -0
  467. package/tui/widgets/__pycache__/ask_user.cpython-314.pyc +0 -0
  468. package/tui/widgets/__pycache__/condensed_path.cpython-314.pyc +0 -0
  469. package/tui/widgets/__pycache__/context_stats.cpython-314.pyc +0 -0
  470. package/tui/widgets/__pycache__/conversation.cpython-314.pyc +0 -0
  471. package/tui/widgets/__pycache__/diff_view.cpython-314.pyc +0 -0
  472. package/tui/widgets/__pycache__/directory_input.cpython-314.pyc +0 -0
  473. package/tui/widgets/__pycache__/flash.cpython-314.pyc +0 -0
  474. package/tui/widgets/__pycache__/future_text.cpython-314.pyc +0 -0
  475. package/tui/widgets/__pycache__/grid_select.cpython-314.pyc +0 -0
  476. package/tui/widgets/__pycache__/highlighted_textarea.cpython-314.pyc +0 -0
  477. package/tui/widgets/__pycache__/load_more.cpython-314.pyc +0 -0
  478. package/tui/widgets/__pycache__/mandelbrot.cpython-314.pyc +0 -0
  479. package/tui/widgets/__pycache__/markdown_note.cpython-314.pyc +0 -0
  480. package/tui/widgets/__pycache__/menu.cpython-314.pyc +0 -0
  481. package/tui/widgets/__pycache__/modified_files.cpython-314.pyc +0 -0
  482. package/tui/widgets/__pycache__/non_selectable_label.cpython-314.pyc +0 -0
  483. package/tui/widgets/__pycache__/note.cpython-314.pyc +0 -0
  484. package/tui/widgets/__pycache__/path_search.cpython-314.pyc +0 -0
  485. package/tui/widgets/__pycache__/plan.cpython-314.pyc +0 -0
  486. package/tui/widgets/__pycache__/project_directory_tree.cpython-314.pyc +0 -0
  487. package/tui/widgets/__pycache__/project_grid_select.cpython-314.pyc +0 -0
  488. package/tui/widgets/__pycache__/project_summary.cpython-314.pyc +0 -0
  489. package/tui/widgets/__pycache__/prompt.cpython-314.pyc +0 -0
  490. package/tui/widgets/__pycache__/question.cpython-314.pyc +0 -0
  491. package/tui/widgets/__pycache__/session_grid_select.cpython-314.pyc +0 -0
  492. package/tui/widgets/__pycache__/session_summary.cpython-314.pyc +0 -0
  493. package/tui/widgets/__pycache__/session_tabs.cpython-314.pyc +0 -0
  494. package/tui/widgets/__pycache__/shell_result.cpython-314.pyc +0 -0
  495. package/tui/widgets/__pycache__/shell_terminal.cpython-314.pyc +0 -0
  496. package/tui/widgets/__pycache__/side_bar.cpython-314.pyc +0 -0
  497. package/tui/widgets/__pycache__/slash_complete.cpython-314.pyc +0 -0
  498. package/tui/widgets/__pycache__/strike_text.cpython-314.pyc +0 -0
  499. package/tui/widgets/__pycache__/subagent.cpython-314.pyc +0 -0
  500. package/tui/widgets/__pycache__/subagent_screen.cpython-314.pyc +0 -0
  501. package/tui/widgets/__pycache__/terminal.cpython-314.pyc +0 -0
  502. package/tui/widgets/__pycache__/throbber.cpython-314.pyc +0 -0
  503. package/tui/widgets/__pycache__/tool_call.cpython-314.pyc +0 -0
  504. package/tui/widgets/__pycache__/user_input.cpython-314.pyc +0 -0
  505. package/tui/widgets/acp_content.py +0 -70
  506. package/tui/widgets/agent_response.py +0 -76
  507. package/tui/widgets/agent_thought.py +0 -167
  508. package/tui/widgets/ask_user.py +0 -264
  509. package/tui/widgets/command_pane.py +0 -223
  510. package/tui/widgets/condensed_path.py +0 -115
  511. package/tui/widgets/context_stats.py +0 -66
  512. package/tui/widgets/conversation.py +0 -2641
  513. package/tui/widgets/danger_warning.py +0 -65
  514. package/tui/widgets/diff_view.py +0 -69
  515. package/tui/widgets/directory_input.py +0 -8
  516. package/tui/widgets/flash.py +0 -81
  517. package/tui/widgets/future_text.py +0 -126
  518. package/tui/widgets/grid_select.py +0 -234
  519. package/tui/widgets/highlighted_textarea.py +0 -180
  520. package/tui/widgets/load_more.py +0 -24
  521. package/tui/widgets/mandelbrot.py +0 -294
  522. package/tui/widgets/markdown_note.py +0 -13
  523. package/tui/widgets/menu.py +0 -147
  524. package/tui/widgets/modified_files.py +0 -306
  525. package/tui/widgets/non_selectable_label.py +0 -5
  526. package/tui/widgets/note.py +0 -18
  527. package/tui/widgets/path_search.py +0 -492
  528. package/tui/widgets/plan.py +0 -285
  529. package/tui/widgets/project_directory_tree.py +0 -102
  530. package/tui/widgets/project_grid_select.py +0 -64
  531. package/tui/widgets/project_summary.py +0 -33
  532. package/tui/widgets/prompt.py +0 -795
  533. package/tui/widgets/question.py +0 -360
  534. package/tui/widgets/session_grid_select.py +0 -230
  535. package/tui/widgets/session_summary.py +0 -115
  536. package/tui/widgets/session_tabs.py +0 -188
  537. package/tui/widgets/shell_result.py +0 -35
  538. package/tui/widgets/shell_terminal.py +0 -40
  539. package/tui/widgets/side_bar.py +0 -124
  540. package/tui/widgets/slash_complete.py +0 -235
  541. package/tui/widgets/strike_text.py +0 -70
  542. package/tui/widgets/subagent.py +0 -287
  543. package/tui/widgets/subagent_screen.py +0 -709
  544. package/tui/widgets/terminal.py +0 -576
  545. package/tui/widgets/terminal_tool.py +0 -360
  546. package/tui/widgets/throbber.py +0 -100
  547. package/tui/widgets/tool_call.py +0 -398
  548. package/tui/widgets/user_input.py +0 -23
  549. package/tui/widgets/version.py +0 -5
  550. package/tui/widgets/welcome.py +0 -31
@@ -1,499 +0,0 @@
1
- from typing_extensions import Any, TypedDict, Required, Literal
2
-
3
-
4
- class SchemaDict(TypedDict, total=False, extra_items=Any):
5
- pass
6
-
7
-
8
- # ---------------------------------------------------------------------------------------
9
- # Types
10
-
11
-
12
- # https://agentclientprotocol.com/rfds/session-usage#context-window-and-cost-via-session/update
13
- class Cost(TypedDict, total=False, extra_items=Any):
14
- amount: float
15
- currency: str
16
-
17
-
18
- class FileSystemCapability(SchemaDict, total=False, extra_items=Any):
19
- readTextFile: bool
20
- writeTextFile: bool
21
-
22
-
23
- # https://agentclientprotocol.com/protocol/schema#clientcapabilities
24
- class ClientCapabilities(SchemaDict, total=False, extra_items=Any):
25
- fs: FileSystemCapability
26
- terminal: bool
27
-
28
-
29
- # https://agentclientprotocol.com/protocol/schema#implementation
30
- class Implementation(SchemaDict, total=False, extra_items=Any):
31
- name: Required[str]
32
- title: str | None
33
- version: Required[str]
34
-
35
-
36
- # https://agentclientprotocol.com/protocol/schema#promptcapabilities
37
- class PromptCapabilities(SchemaDict, total=False, extra_items=Any):
38
- audio: bool
39
- embeddedContent: bool
40
- image: bool
41
-
42
-
43
- # https://agentclientprotocol.com/protocol/schema#agentcapabilities
44
- class AgentCapabilities(SchemaDict, total=False, extra_items=Any):
45
- loadSession: bool
46
- promptCapabilities: PromptCapabilities
47
-
48
-
49
- class AuthMethod(SchemaDict, total=False, extra_items=Any):
50
- description: str | None
51
- id: Required[str]
52
- name: Required[str]
53
-
54
-
55
- # https://agentclientprotocol.com/protocol/schema#envvariable
56
- class EnvVariable(SchemaDict, total=False, extra_items=Any):
57
- _meta: dict
58
- name: Required[str]
59
- value: Required[str]
60
-
61
-
62
- # https://agentclientprotocol.com/protocol/schema#terminalexitstatus
63
- class TerminalExitStatus(SchemaDict, total=False, extra_items=Any):
64
- _meta: dict
65
- exitCode: int | None
66
- signal: str | None
67
-
68
-
69
- # https://agentclientprotocol.com/protocol/schema#mcpserver
70
- class McpServer(SchemaDict, total=False, extra_items=Any):
71
- args: list[str]
72
- command: str
73
- env: list[EnvVariable]
74
- name: str
75
-
76
-
77
- # https://modelcontextprotocol.io/specification/2025-06-18/server/resources#annotations
78
- class Annotations(SchemaDict, total=False, extra_items=Any):
79
- audience: list[str]
80
- priority: float
81
- lastModified: str
82
-
83
-
84
- class TextContent(SchemaDict, total=False, extra_items=Any):
85
- type: Required[str]
86
- text: Required[str]
87
- annotations: Annotations
88
-
89
-
90
- class ImageContent(SchemaDict, total=False, extra_items=Any):
91
- type: Required[str]
92
- data: Required[str]
93
- mimeType: Required[str]
94
- url: str
95
- annotations: Annotations
96
-
97
-
98
- class AudioContent(SchemaDict, total=False, extra_items=Any):
99
- type: Required[str]
100
- data: Required[str]
101
- mimeType: Required[str]
102
- Annotations: Annotations
103
-
104
-
105
- class EmbeddedResourceText(SchemaDict, total=False, extra_items=Any):
106
- uri: Required[str]
107
- text: Required[str]
108
- mimeType: str
109
-
110
-
111
- class EmbeddedResourceBlob(SchemaDict, total=False, extra_items=Any):
112
- uri: Required[str]
113
- blob: Required[str]
114
- mimeType: str
115
-
116
-
117
- # https://agentclientprotocol.com/protocol/content#embedded-resource
118
- class EmbeddedResourceContent(SchemaDict, total=False, extra_items=Any):
119
- type: Required[str]
120
- resource: EmbeddedResourceText | EmbeddedResourceBlob
121
-
122
-
123
- class ResourceLinkContent(SchemaDict, total=False, extra_items=Any):
124
- annotations: Annotations | None
125
- description: str | None
126
- mimeType: str | None
127
- name: Required[str]
128
- size: int | None
129
- title: str | None
130
- type: Required[str]
131
- uri: Required[str]
132
-
133
-
134
- # https://agentclientprotocol.com/protocol/schema#contentblock
135
- type ContentBlock = (
136
- TextContent
137
- | ImageContent
138
- | AudioContent
139
- | EmbeddedResourceContent
140
- | ResourceLinkContent
141
- )
142
-
143
-
144
- # https://agentclientprotocol.com/protocol/schema#param-user-message-chunk
145
- class UserMessageChunk(SchemaDict, total=False, extra_items=Any):
146
- content: Required[ContentBlock]
147
- sessionUpdate: Required[Literal["user_message_chunk"]]
148
-
149
-
150
- class AgentMessageChunk(SchemaDict, total=False, extra_items=Any):
151
- content: Required[ContentBlock]
152
- sessionUpdate: Required[Literal["agent_message_chunk"]]
153
-
154
-
155
- class AgentThoughtChunk(SchemaDict, total=False, extra_items=Any):
156
- content: Required[ContentBlock]
157
- sessionUpdate: Required[Literal["agent_thought_chunk"]]
158
-
159
-
160
- class ToolCallContentContent(SchemaDict, total=False, extra_items=Any):
161
- content: Required[ContentBlock]
162
- type: Required[Literal["content"]]
163
-
164
-
165
- # https://agentclientprotocol.com/protocol/schema#param-diff
166
- class ToolCallContentDiff(SchemaDict, total=False, extra_items=Any):
167
- newText: Required[str]
168
- oldText: str | None
169
- path: Required[str]
170
- type: Required[Literal["diff"]]
171
-
172
-
173
- class ToolCallContentTerminal(SchemaDict, total=False, extra_items=Any):
174
- terminalId: Required[str]
175
- type: Required[Literal["terminal"]]
176
-
177
-
178
- # https://agentclientprotocol.com/protocol/schema#toolcallcontent
179
- type ToolCallContent = (
180
- ToolCallContentContent | ToolCallContentDiff | ToolCallContentTerminal
181
- )
182
-
183
- # https://agentclientprotocol.com/protocol/schema#toolkind
184
- type ToolKind = Literal[
185
- "read",
186
- "edit",
187
- "delete",
188
- "move",
189
- "search",
190
- "execute",
191
- "think",
192
- "fetch",
193
- "switch_mode",
194
- "other",
195
- ]
196
-
197
- type ToolCallStatus = Literal["pending", "in_progress", "completed", "failed"]
198
-
199
-
200
- class ToolCallLocation(SchemaDict, total=False, extra_items=Any):
201
- line: int | None
202
- path: Required[str]
203
-
204
-
205
- type ToolCallId = str
206
-
207
-
208
- # https://agentclientprotocol.com/protocol/schema#toolcall
209
- class ToolCall(SchemaDict, total=False, extra_items=Any):
210
- _meta: dict
211
- content: list[ToolCallContent]
212
- kind: ToolKind
213
- locations: list[ToolCallLocation]
214
- rawInput: dict
215
- rawOutput: dict
216
- sessionUpdate: Required[Literal["tool_call"]]
217
- status: ToolCallStatus
218
- title: Required[str]
219
- toolCallId: Required[ToolCallId]
220
- # Custom (non-ACP) field: when set, this tool call was invoked *inside* a
221
- # subagent and the TUI should mount/update the ToolCall card inside the
222
- # owning SubAgent widget (subagentId = the parent Spawn toolCallId) rather
223
- # than in the main conversation.
224
- subagentId: str
225
-
226
-
227
- # https://agentclientprotocol.com/protocol/schema#toolcallupdate
228
- class ToolCallUpdate(SchemaDict, total=False, extra_items=Any):
229
- _meta: dict
230
- content: list[ToolCallContent] | None
231
- kind: ToolKind | None
232
- locations: list | None
233
- rawInput: dict
234
- rawOutput: dict
235
- sessionUpdate: Required[Literal["tool_call_update"]]
236
- status: ToolCallStatus | None
237
- title: str | None
238
- toolCallId: Required[ToolCallId]
239
- subagentId: str
240
-
241
-
242
- # https://agentclientprotocol.com/protocol/schema#param-tool-call
243
- # Use in the session/request_permission call (not the same as ToolCallUpdate)
244
- class ToolCallUpdatePermissionRequest(SchemaDict, total=False, extra_items=Any):
245
- _meta: dict
246
- content: list[ToolCallContent] | None
247
- kind: ToolKind | None
248
- locations: list | None
249
- rawInput: dict
250
- rawOutput: dict
251
- status: ToolCallStatus | None
252
- title: str | None
253
- toolCallId: Required[ToolCallId]
254
-
255
-
256
- class PlanEntry(SchemaDict, total=False, extra_items=Any):
257
- content: Required[str]
258
- priority: Literal["high", "medium", "low"]
259
- status: Literal["pending", "in_progress", "completed"]
260
-
261
-
262
- type SessionModeId = str
263
-
264
-
265
- # https://agentclientprotocol.com/protocol/schema#sessionmode
266
- class SessionMode(SchemaDict, total=False, extra_items=Any):
267
- _meta: dict
268
- description: str | None
269
- id: Required[SessionModeId]
270
- name: Required[str]
271
-
272
-
273
- class SessionModeState(SchemaDict, total=False, extra_items=Any):
274
- _meta: dict
275
- availableModes: Required[list[SessionMode]]
276
- currentModeId: Required[SessionModeId]
277
-
278
-
279
- type ModelId = str
280
-
281
-
282
- # https://agentclientprotocol.com/protocol/schema#modelinfo
283
- class ModelInfo(SchemaDict, total=False, extra_items=Any):
284
- _meta: dict
285
- description: str | None
286
- modelId: Required[ModelId]
287
- name: Required[str]
288
-
289
-
290
- # https://agentclientprotocol.com/protocol/schema#sessionmodelstate
291
- class SessionModelState(SchemaDict, total=False, extra_items=Any):
292
- _meta: dict
293
- availableModels: Required[list[ModelInfo]]
294
- currentModelId: Required[ModelId]
295
-
296
-
297
- # https://agentclientprotocol.com/protocol/schema#param-plan
298
- class Plan(SchemaDict, total=False, extra_items=Any):
299
- entries: Required[list[PlanEntry]]
300
- sessionUpdate: Required[Literal["plan"]]
301
-
302
-
303
- class AvailableCommandInput(SchemaDict, total=False, extra_items=Any):
304
- hint: Required[str]
305
-
306
-
307
- class AvailableCommand(SchemaDict, total=False, extra_items=Any):
308
- description: Required[str]
309
- input: AvailableCommandInput | None
310
- name: Required[str]
311
-
312
-
313
- class AvailableCommandsUpdate(SchemaDict, total=False, extra_items=Any):
314
- availableCommands: Required[list[AvailableCommand]]
315
- sessionUpdate: Required[Literal["available_commands_update"]]
316
-
317
-
318
- class CurrentModeUpdate(SchemaDict, total=False, extra_items=Any):
319
- currentModeId: Required[str]
320
- sessionUpdate: Required[Literal["current_mode_update"]]
321
-
322
-
323
- class UsageUpdate(SchemaDict, total=False, extra_items=object):
324
- sessionUpdate: Required[Literal["usage_update"]]
325
- used: Required[int]
326
- size: Required[int]
327
- cost: Cost
328
-
329
-
330
- class SubAgentStart(SchemaDict, total=False, extra_items=Any):
331
- sessionUpdate: Required[Literal["subagent_start"]]
332
- subagentId: Required[str]
333
- agentType: Required[str]
334
- prompt: str
335
-
336
-
337
- class SubAgentChunk(SchemaDict, total=False, extra_items=Any):
338
- sessionUpdate: Required[Literal["subagent_chunk"]]
339
- subagentId: Required[str]
340
- text: Required[str]
341
-
342
-
343
- class SubAgentThinking(SchemaDict, total=False, extra_items=Any):
344
- sessionUpdate: Required[Literal["subagent_thinking"]]
345
- subagentId: Required[str]
346
- text: Required[str]
347
-
348
-
349
- class SubAgentEnd(SchemaDict, total=False, extra_items=Any):
350
- sessionUpdate: Required[Literal["subagent_end"]]
351
- subagentId: Required[str]
352
- agentType: Required[str]
353
- status: str
354
- error: str
355
-
356
-
357
- type SessionUpdate = (
358
- UserMessageChunk
359
- | AgentMessageChunk
360
- | AgentThoughtChunk
361
- | ToolCall
362
- | ToolCallUpdate
363
- | Plan
364
- | AvailableCommandsUpdate
365
- | CurrentModeUpdate
366
- | UsageUpdate
367
- | SubAgentStart
368
- | SubAgentChunk
369
- | SubAgentThinking
370
- | SubAgentEnd
371
- )
372
-
373
-
374
- class SessionNotification(TypedDict, total=False, extra_items=Any):
375
- sessionId: str
376
- update: SessionUpdate
377
-
378
-
379
- type PermissionOptionKind = Literal[
380
- "allow_once", "allow_always", "reject_once", "reject_always"
381
- ]
382
- type PermissionOptionId = str
383
-
384
-
385
- class PermissionOption(TypedDict, total=False, extra_items=Any):
386
- _meta: dict
387
- kind: Required[PermissionOptionKind]
388
- name: Required[str]
389
- optionId: Required[PermissionOptionId]
390
-
391
-
392
- class OutcomeCancelled(TypedDict, total=False, extra_items=Any):
393
- outcome: Literal["cancelled"]
394
-
395
-
396
- class OutcomeSelected(TypedDict, total=False, extra_items=Any):
397
- optionId: Required[PermissionOptionId]
398
- outcome: Literal["selected"]
399
-
400
-
401
- # https://agentclientprotocol.com/protocol/schema#requestpermissionoutcome
402
- type RequestPermissionOutcome = OutcomeSelected | OutcomeCancelled
403
-
404
- # ---------------------------------------------------------------------------------------
405
- # RPC responses
406
-
407
-
408
- class InitializeResponse(SchemaDict, total=False, extra_items=Any):
409
- agentCapabilities: AgentCapabilities
410
- authMethods: list[AuthMethod]
411
- protocolVersion: Required[int]
412
-
413
-
414
- # https://agentclientprotocol.com/protocol/schema#newsessionresponse
415
- class NewSessionResponse(SchemaDict, total=False, extra_items=Any):
416
- _meta: object
417
- sessionId: Required[str]
418
- # Unstable from here
419
- models: SessionModelState | None
420
- modes: SessionModeState | None
421
-
422
-
423
- # https://agentclientprotocol.com/protocol/schema#loadsessionresponse
424
- class LoadSessionResponse(SchemaDict, total=False, extra_items=Any):
425
- _meta: object
426
- modes: SessionModeState | None
427
-
428
-
429
- class SessionPromptResponse(SchemaDict, total=False, extra_items=object):
430
- sessionId: Required[str]
431
- stopReason: Required[
432
- Literal[
433
- "end_turn",
434
- "max_tokens",
435
- "max_turn_requests",
436
- "refusal",
437
- "cancelled",
438
- ]
439
- ]
440
- usage: Usage
441
-
442
-
443
- # https://agentclientprotocol.com/protocol/schema#requestpermissionresponse
444
- class RequestPermissionResponse(TypedDict, total=False, extra_items=Any):
445
- _meta: dict
446
- outcome: Required[RequestPermissionOutcome]
447
-
448
- class AskUserResponse(TypedDict, total=False, extra_items=Any):
449
- answer: str
450
- cancelled: bool
451
-
452
-
453
- # https://agentclientprotocol.com/protocol/schema#createterminalresponse
454
- class CreateTerminalResponse(TypedDict, total=False, extra_items=Any):
455
- _meta: dict
456
- terminalId: Required[str]
457
-
458
-
459
- # https://agentclientprotocol.com/protocol/schema#killterminalcommandresponse
460
- class KillTerminalCommandResponse(TypedDict, total=False, extra_items=Any):
461
- _meta: dict
462
-
463
-
464
- # https://agentclientprotocol.com/protocol/schema#terminaloutputresponse
465
- class TerminalOutputResponse(TypedDict, total=False, extra_items=Any):
466
- _meta: dict
467
- exitStatus: TerminalExitStatus | None
468
- output: Required[str]
469
- truncated: Required[bool]
470
-
471
-
472
- # https://agentclientprotocol.com/protocol/schema#releaseterminalresponse
473
- class ReleaseTerminalResponse(TypedDict, total=False, extra_items=Any):
474
- _meta: dict
475
-
476
-
477
- # https://agentclientprotocol.com/protocol/schema#waitforterminalexitresponse
478
- class WaitForTerminalExitResponse(TypedDict, total=False, extra_items=Any):
479
- _meta: dict
480
- exitCode: int | None
481
- signal: str | None
482
-
483
-
484
- # https://agentclientprotocol.com/protocol/schema#setsessionmoderesponse
485
- class SetSessionModeResponse(TypedDict, total=False, extra_items=Any):
486
- meta: dict
487
-
488
-
489
- # ---------------------------------------------------------------------------------------
490
-
491
-
492
- # https://agentclientprotocol.com/rfds/session-usage#usage-fields
493
- class Usage(TypedDict, total=False, extra_items=Any):
494
- total_tokens: Required[int]
495
- input_tokens: Required[int]
496
- output_tokens: Required[int]
497
- thought_tokens: int
498
- cached_read_tokens: int
499
- cached_write_tokens: int
package/tui/agent.py DELETED
@@ -1,70 +0,0 @@
1
- from abc import ABC, abstractmethod
2
- from dataclasses import dataclass
3
- from pathlib import Path
4
-
5
- from textual.content import Content
6
- from textual.message import Message
7
-
8
-
9
- class AgentReady(Message):
10
- """Agent is ready."""
11
-
12
-
13
- @dataclass
14
- class AgentFail(Message):
15
- """Agent failed to start."""
16
-
17
- message: str
18
- details: str = ""
19
- help: str = "fail"
20
-
21
-
22
- class AgentBase(ABC):
23
- """Base class for an 'agent'."""
24
-
25
- def __init__(self, project_root: Path) -> None:
26
- self.project_root_path = project_root
27
- super().__init__()
28
-
29
- @abstractmethod
30
- async def send_prompt(self, prompt: str) -> str | None:
31
- """Send a prompt to the agent.
32
-
33
- Args:
34
- prompt: Prompt text.
35
-
36
- Returns:
37
- str: The stop reason.
38
- """
39
-
40
- async def set_mode(self, mode_id: str) -> str | None:
41
- """Put the agent in a new mode.
42
-
43
- Args:
44
- mode_id: Mode id.
45
-
46
- Returns:
47
- str: The stop reason.
48
- """
49
-
50
- async def cancel(self) -> bool:
51
- """Cancel prompt.
52
-
53
- Returns:
54
- bool: `True` if success, `False` if the turn wasn't cancelled.
55
-
56
- """
57
- return False
58
-
59
- async def set_session_name(self, name: str) -> None:
60
- """Set the session name.
61
-
62
- Args:
63
- name: New name for the session.
64
- """
65
-
66
- def get_info(self) -> Content:
67
- return Content("")
68
-
69
- async def stop(self) -> None:
70
- """Stop the agent (gracefully exit the process)"""
@@ -1,76 +0,0 @@
1
- from typing import TypedDict, Literal, NotRequired
2
-
3
- type Tag = str
4
- """A tag used for categorizing the agent. For example: 'open-source', 'reasoning'."""
5
- type OS = Literal["macos", "linux", "windows", "*"]
6
- """An operating system identifier, or a '*" wildcard, if it is the same for all OSes."""
7
- type Action = str
8
- """An action which the agent supports."""
9
- type AgentType = Literal["coding", "chat"]
10
- """The type of agent. More types TBD."""
11
- type AgentProtocol = Literal["acp"]
12
- """The protocol used to communicate with the agent. Currently only "acp" is supported."""
13
-
14
-
15
- class Command(TypedDict):
16
- """Used to perform an action associate with an Agent."""
17
-
18
- description: str
19
- """Describes what the script will do. For example: 'Install Claude Code'."""
20
- command: str
21
- """Command to run."""
22
- bootstrap_uv: NotRequired[bool]
23
- """Bootstrap UV installer (set to `true` if the command users `uv`)."""
24
-
25
-
26
- class Agent(TypedDict):
27
- """Describes an agent which A2TUI can connect to. Currently only Agent Client Protocol is supported.
28
-
29
- This information is stoed within TOML files, where the filename is the "identity" key plus the extension ".toml"
30
-
31
- """
32
-
33
- active: NotRequired[bool]
34
- """If `True` (default), the agent will be shown in the UI. If `False` the agent will be removed from the UI."""
35
- recommended: NotRequired[bool]
36
- """Agent is in recommended set. Set to `True` in main branch only if previously agreed with Will McGugan."""
37
- identity: str
38
- """A unique identifier for this agent. Should be a domain the agent developer owns,
39
- although it doesn't have to resolve to anything. Must be useable in a filename on all platforms.
40
- For example: 'claude.anthropic.ai'"""
41
- name: str
42
- """The name of the agent. For example: 'Claude Code'."""
43
- short_name: str
44
- """A short name, usable on the command line. Try to make it unique. For example: 'claude'."""
45
- url: str
46
- """A URL for the agent."""
47
- protocol: AgentProtocol
48
- """The protocol used by the agent. Currently only 'acp' is supported."""
49
- type: "AgentType"
50
- """The type of the agent. Currently "coding" or "chat". More types TBD."""
51
- author_name: str
52
- """The author of the agent. For example 'Anthropic'."""
53
- author_url: str
54
- """The authors homepage. For example 'https://www.anthropic.com/'."""
55
- publisher_name: str
56
- """The publisher's name (individual or organization that wrote this data)."""
57
- publisher_url: str
58
- """The publisher's url."""
59
- description: str
60
- """A description of the agent. A few sentences max. May contain content markup (https://textual.textualize.io/guide/content/#markup) if used subtly."""
61
- tags: list[Tag]
62
- """Tags which identify the agent. Should be empty for now."""
63
- help: str
64
- """A Markdown document with additional details regarding the agent."""
65
- welcome: NotRequired[str]
66
- """A Markdown document shown to the user when the conversation starts. Should contain a welcome message and any advice on getting started."""
67
- run_command: dict[OS, str]
68
- """Command to run the agent, by OS or wildcard."""
69
- commands_prefix: NotRequired[str]
70
- """Prefix for slash commands registered by this agent (e.g. `"onecode:"`)."""
71
- commands_module: NotRequired[str]
72
- """Python module path to a commands module with a `register_commands()` function.
73
- If set, the TUI will import this module and call `register_commands()` to register
74
- platform-specific slash commands (e.g. `onecode:mode`, `onecode:spec`)."""
75
- actions: dict[OS, dict[Action, Command]]
76
- """Scripts to perform actions, typically at least to install the agent."""
package/tui/agents.py DELETED
@@ -1,46 +0,0 @@
1
- from importlib.resources import files
2
- import asyncio
3
-
4
- from tui.agent_schema import Agent
5
-
6
-
7
- class AgentReadError(Exception):
8
- """Problem reading the agents."""
9
-
10
-
11
- async def read_agents() -> dict[str, Agent]:
12
- """Read agent information from data/agents
13
-
14
- Raises:
15
- AgentReadError: If the files could not be read.
16
-
17
- Returns:
18
- A mapping of identity on to Agent dict.
19
- """
20
- import tomllib
21
-
22
- def read_agents() -> list[Agent]:
23
- """Read agent information.
24
-
25
- Stored in data/agents
26
-
27
- Returns:
28
- List of agent dicts.
29
- """
30
- agents: list[Agent] = []
31
- for file in files("tui.data").joinpath("agents").iterdir():
32
- if file.name.startswith("."):
33
- continue
34
- try:
35
- agent: Agent = tomllib.load(file.open("rb"))
36
- except Exception:
37
- continue
38
- if agent.get("active", True):
39
- agents.append(agent)
40
-
41
- return agents
42
-
43
- agents = await asyncio.to_thread(read_agents)
44
- agent_map = {agent["identity"]: agent for agent in agents}
45
-
46
- return agent_map
@@ -1 +0,0 @@
1
- from tui.ansi._ansi import TerminalState as TerminalState