cade-cli 0.16.6__tar.gz → 0.16.7__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 (203) hide show
  1. {cade_cli-0.16.6 → cade_cli-0.16.7}/PKG-INFO +35 -32
  2. {cade_cli-0.16.6 → cade_cli-0.16.7}/README.md +34 -31
  3. {cade_cli-0.16.6 → cade_cli-0.16.7}/pyproject.toml +1 -1
  4. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/resources.py +2 -2
  5. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/tools/access.py +2 -2
  6. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/tools/agents.py +3 -3
  7. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/app.py +68 -186
  8. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/commands/account.py +106 -7
  9. cade_cli-0.16.7/src/cadecoder/cli/commands/agent_group.py +140 -0
  10. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/commands/agents.py +11 -9
  11. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/commands/chat.py +31 -8
  12. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/commands/daemon.py +4 -1
  13. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/commands/mcp.py +97 -22
  14. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/commands/mem.py +3 -2
  15. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/commands/thread.py +4 -4
  16. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/commands/tools.py +41 -8
  17. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/mcp_hosts.py +0 -1
  18. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/onboarding.py +5 -6
  19. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/agent.py +1 -1
  20. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/errors.py +2 -2
  21. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/spawn.py +1 -1
  22. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/mesh.py +1 -1
  23. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/supervisor.py +1 -1
  24. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/tools/manager/config.py +3 -3
  25. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/ui/session.py +2 -2
  26. {cade_cli-0.16.6 → cade_cli-0.16.7}/.gitignore +0 -0
  27. {cade_cli-0.16.6 → cade_cli-0.16.7}/LICENSE +0 -0
  28. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/__init__.py +0 -0
  29. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/__main__.py +0 -0
  30. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/_metadata.py +0 -0
  31. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/config.py +0 -0
  32. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/errors.py +0 -0
  33. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/grants.py +0 -0
  34. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/sandbox.py +0 -0
  35. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/server.py +0 -0
  36. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/tools/__init__.py +0 -0
  37. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/tools/_read_cache.py +0 -0
  38. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/tools/context.py +0 -0
  39. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/tools/filesystem.py +0 -0
  40. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/tools/git.py +0 -0
  41. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/tools/notifications.py +0 -0
  42. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/tools/questions.py +0 -0
  43. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/tools/results.py +0 -0
  44. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/tools/schemas.py +0 -0
  45. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/tools/search.py +0 -0
  46. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/tools/shell.py +0 -0
  47. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/tools/snippets.py +0 -0
  48. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/tools/tasks.py +0 -0
  49. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/tools/web_fetch.py +0 -0
  50. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/tools/web_search.py +0 -0
  51. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/utils.py +0 -0
  52. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/web/__init__.py +0 -0
  53. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/web/arcade_client.py +0 -0
  54. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/web/cache.py +0 -0
  55. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/web/extract.py +0 -0
  56. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/web/markdown.py +0 -0
  57. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/web/preapproved.py +0 -0
  58. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/web/prompts.py +0 -0
  59. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/web/scrape.py +0 -0
  60. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/web/search/__init__.py +0 -0
  61. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/web/search/arcade.py +0 -0
  62. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/web/search/base.py +0 -0
  63. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/web/search/http.py +0 -0
  64. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/__init__.py +0 -0
  65. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/ai/__init__.py +0 -0
  66. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/ai/prompts.py +0 -0
  67. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/__init__.py +0 -0
  68. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/auth.py +0 -0
  69. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/commands/__init__.py +0 -0
  70. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/commands/auth.py +0 -0
  71. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/commands/cron.py +0 -0
  72. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/commands/grant.py +0 -0
  73. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/commands/hooks.py +0 -0
  74. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/commands/tasks.py +0 -0
  75. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/__init__.py +0 -0
  76. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/comms.py +0 -0
  77. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/config.py +0 -0
  78. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/constants.py +0 -0
  79. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/frozen.py +0 -0
  80. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/git.py +0 -0
  81. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/inbox.py +0 -0
  82. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/logging.py +0 -0
  83. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/memory.py +0 -0
  84. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/model_specs.py +0 -0
  85. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/names.py +0 -0
  86. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/paths.py +0 -0
  87. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/runtime.py +0 -0
  88. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/secrets.py +0 -0
  89. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/types.py +0 -0
  90. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/__init__.py +0 -0
  91. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/adapters/__init__.py +0 -0
  92. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/adapters/base.py +0 -0
  93. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/adapters/factory.py +0 -0
  94. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/adapters/imessage.py +0 -0
  95. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/adapters/registry.py +0 -0
  96. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/adapters/stub.py +0 -0
  97. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/adapters/telegram.py +0 -0
  98. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/allowlist.py +0 -0
  99. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/attach.py +0 -0
  100. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/chunker.py +0 -0
  101. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/client.py +0 -0
  102. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/commands.py +0 -0
  103. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/config.py +0 -0
  104. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/control.py +0 -0
  105. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/cron.py +0 -0
  106. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/elicitation.py +0 -0
  107. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/ensure.py +0 -0
  108. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/format.py +0 -0
  109. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/gateway/__init__.py +0 -0
  110. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/gateway/app.py +0 -0
  111. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/gateway/arcade_export.py +0 -0
  112. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/gateway/auth.py +0 -0
  113. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/gateway/constants.py +0 -0
  114. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/gateway/elicitation.py +0 -0
  115. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/gateway/exposure.py +0 -0
  116. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/gateway/limits.py +0 -0
  117. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/gateway/middleware.py +0 -0
  118. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/gateway/resources.py +0 -0
  119. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/gateway/subscriptions.py +0 -0
  120. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/gateway/turn_bridge.py +0 -0
  121. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/grants.py +0 -0
  122. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/inbox_cron.py +0 -0
  123. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/install.py +0 -0
  124. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/live.py +0 -0
  125. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/lock.py +0 -0
  126. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/message_pump.py +0 -0
  127. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/observability.py +0 -0
  128. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/owner.py +0 -0
  129. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/progress_sink.py +0 -0
  130. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/registry.py +0 -0
  131. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/router.py +0 -0
  132. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/runner.py +0 -0
  133. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/runner_main.py +0 -0
  134. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/secrets.py +0 -0
  135. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/secrets_broker.py +0 -0
  136. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/server.py +0 -0
  137. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/services.py +0 -0
  138. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/shim.py +0 -0
  139. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/sinks.py +0 -0
  140. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/tokens.py +0 -0
  141. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/traffic.py +0 -0
  142. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/turns.py +0 -0
  143. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/wake.py +0 -0
  144. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/execution/__init__.py +0 -0
  145. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/execution/context_window.py +0 -0
  146. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/execution/mcp_schema_index.py +0 -0
  147. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/execution/orchestrator.py +0 -0
  148. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/execution/parallel.py +0 -0
  149. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/execution/tool_result_store.py +0 -0
  150. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/execution/tool_schema_cache.py +0 -0
  151. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/hooks/__init__.py +0 -0
  152. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/hooks/config.py +0 -0
  153. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/hooks/engine.py +0 -0
  154. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/hooks/executors/__init__.py +0 -0
  155. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/hooks/executors/callback.py +0 -0
  156. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/hooks/executors/command.py +0 -0
  157. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/hooks/executors/http.py +0 -0
  158. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/hooks/executors/prompt.py +0 -0
  159. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/hooks/executors/ssrf_guard.py +0 -0
  160. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/hooks/matchers.py +0 -0
  161. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/hooks/registry.py +0 -0
  162. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/hooks/types.py +0 -0
  163. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/providers/__init__.py +0 -0
  164. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/providers/anthropic.py +0 -0
  165. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/providers/base.py +0 -0
  166. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/providers/http_client.py +0 -0
  167. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/providers/ollama.py +0 -0
  168. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/providers/openai.py +0 -0
  169. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/serve/__init__.py +0 -0
  170. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/storage/__init__.py +0 -0
  171. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/storage/threads.py +0 -0
  172. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/tasks/__init__.py +0 -0
  173. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/tasks/scheduler.py +0 -0
  174. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/tasks/store.py +0 -0
  175. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/tasks/types.py +0 -0
  176. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/templates/login_failed.html +0 -0
  177. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/templates/login_success.html +0 -0
  178. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/templates/serve/launchd.plist.tmpl +0 -0
  179. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/templates/serve/serve.toml.example +0 -0
  180. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/templates/serve/systemd.service.tmpl +0 -0
  181. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/templates/styles.css +0 -0
  182. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/tools/__init__.py +0 -0
  183. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/tools/manager/__init__.py +0 -0
  184. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/tools/manager/_request_ctx.py +0 -0
  185. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/tools/manager/base.py +0 -0
  186. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/tools/manager/composite.py +0 -0
  187. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/tools/manager/mcp.py +0 -0
  188. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/tools/search/__init__.py +0 -0
  189. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/tools/search/discovered.py +0 -0
  190. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/tools/search/scoring.py +0 -0
  191. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/tools/search/service.py +0 -0
  192. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/ui/__init__.py +0 -0
  193. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/ui/completion.py +0 -0
  194. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/ui/display.py +0 -0
  195. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/ui/elicitation.py +0 -0
  196. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/ui/input.py +0 -0
  197. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/ui/slash.py +0 -0
  198. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/voice/__init__.py +0 -0
  199. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/voice/audio.py +0 -0
  200. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/voice/cleanup.py +0 -0
  201. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/voice/session.py +0 -0
  202. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/voice/stt.py +0 -0
  203. {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/voice/tts.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cade-cli
3
- Version: 0.16.6
3
+ Version: 0.16.7
4
4
  Summary: Cade - The CLI Agent from Arcade.dev (install: curl -fsSL https://arcadeagent.dev/install | sh)
5
5
  Project-URL: Homepage, https://arcade.dev
6
6
  Project-URL: Documentation, https://arcadeagent.dev/docs
@@ -111,7 +111,7 @@ toolchain. First `cade` walks you through model setup, Arcade login, and the
111
111
  - **Tools from anywhere.** Built-in local tools (filesystem / shell / git / search / tasks / memory), [Arcade Cloud](https://arcade.dev) tools (Slack, GitHub, Gmail, calendars, …), and any [MCP](https://modelcontextprotocol.io/) server you register — all unified under one tool surface.
112
112
  - **Bidirectional MCP.** Tools can call `context.ui.elicit(…)` for structured input, `context.log.*` for live operator logs, and `context.progress.report(…)` for editable progress UI — routed end-to-end through whichever adapter is active (Telegram inline keyboard, terminal prompt).
113
113
  - **Agents + per-agent memory.** Multiple agents, each with their own model, system prompt, tools, and an indexed memory store backed by [agent-library](https://pypi.org/project/agent-library/).
114
- - **Extensibility surface.** Hooks (lifecycle events), tasks (durable work), cron (scheduled prompts) — all available to the agent as `Local_*` tools and to you as `cade <subcommand>`.
114
+ - **Extensibility surface.** Hooks (lifecycle events), tasks (durable work), cron (scheduled prompts) — all available to the agent as `Local_*` tools and to you as `cade agent hooks` / `tasks` / `cron`.
115
115
  - **Bring your own LLM.** OpenAI, Anthropic, or any OpenAI-compatible endpoint (Ollama, vLLM, Together, Groq, Fireworks, …). `--local-only` skips Arcade Cloud entirely.
116
116
 
117
117
  ---
@@ -129,7 +129,7 @@ The script detects your OS/arch, downloads the matching prebuilt binary
129
129
  `~/.local/bin`. Pin a version or install location:
130
130
 
131
131
  ```bash
132
- CADE_VERSION=0.16.6 CADE_INSTALL_DIR=/usr/local/bin \
132
+ CADE_VERSION=0.16.7 CADE_INSTALL_DIR=/usr/local/bin \
133
133
  sh -c "$(curl -fsSL https://arcadeagent.dev/install)"
134
134
  ```
135
135
 
@@ -154,10 +154,10 @@ curl installer does **not** require a local Python — Python 3.11+ is only need
154
154
  for the uv / pip / from-source paths.
155
155
 
156
156
  The first run walks you through picking a model provider and key (stored in your
157
- OS keyring); re-run it any time with `cade init`.
157
+ OS keyring); re-run it any time with `cade account init`.
158
158
 
159
159
  ```bash
160
- cade init # pick provider + model (runs automatically on first launch)
160
+ cade account init # pick provider + model (runs automatically on first launch)
161
161
  cade login # Arcade Cloud OAuth (skip with --local-only)
162
162
  cade --version
163
163
  ```
@@ -171,14 +171,18 @@ Full install and first-run docs: [`docs/install.md`](./docs/install.md) and
171
171
 
172
172
  ```bash
173
173
  cade # interactive chat
174
+ cade chat # same
175
+ cade chat -r # resume most recent thread
176
+ cade chat --resume "auth-rewrite" # resume a named thread
174
177
  cade -m "What changed in HEAD?" # single message, then exit
175
178
  cade -m "What went wrong?" < error.log # prompt + file/stdin
176
- cade resume # resume the most recent thread
177
- cade resume "auth-rewrite" # resume a thread by name
178
- cade use reviewer # switch the current agent
179
179
  cade --voice # speak / hear (requires cade-cli[voice])
180
180
  ```
181
181
 
182
+ `cade --help` shows: `chat`, `agent`, `mcp`, `daemon`, `account`, `login`,
183
+ `logout`. Tools are under `cade agent tools`. Older flat names (`cade list`,
184
+ `cade mem`, `cade tools`, `cade resume`, …) still work as hidden aliases.
185
+
182
186
  ### Top-level options
183
187
 
184
188
  | Flag | Description |
@@ -198,7 +202,7 @@ cade --voice # speak / hear (requires cade-cli[voi
198
202
  | `/logs` | Recent log entries |
199
203
  | `/thread`, `/history` | Current thread info |
200
204
  | `/pin`, `/unpin` | Pin reference material into the session |
201
- | `/tasks`, `/cron`, `/hooks`, `/notify` | Coordination surfaces (mirrored as `cade tasks` / `cade cron` / `cade hooks`) |
205
+ | `/tasks`, `/cron`, `/hooks`, `/notify` | Coordination surfaces (also `cade agent tasks` / `cron` / `hooks`) |
202
206
  | `/usage` | Context-window status and token usage |
203
207
  | `/cd`, `/pwd`, `/!` | Shell shortcuts |
204
208
  | `Ctrl+C` | Exit |
@@ -214,10 +218,10 @@ Tools come from three sources and are addressed uniformly by their registered na
214
218
  - **Arcade Agent Hub + user MCP servers** — Hub for Gmail/Slack/GitHub/… (`cade mcp authorize hub`); plus anything else you register.
215
219
 
216
220
  ```bash
217
- cade tools list # all tools, all sources
218
- cade tools list --source local # filter by source
219
- cade tools search "send slack" # keyword search
220
- cade tools info Local_ReadFile # full schema + description
221
+ cade agent tools list # MCP tools (Local_* hidden by default)
222
+ cade agent tools list --source local # built-in Local_* tools only
223
+ cade agent tools search "send slack" # keyword search
224
+ cade agent tools info Local_ReadFile # full schema + description
221
225
  cade mcp authorize hub # Arcade catalogue (OAuth)
222
226
  cade mcp install-hosts # register Cade in Cursor / Claude / …
223
227
  ```
@@ -230,7 +234,7 @@ The full local tool surface (including the bidirectional MCP capabilities and `c
230
234
  cade mcp add my-server http://localhost:8080
231
235
  cade mcp add my-server http://… --auth bearer -t <token>
232
236
  cade mcp authorize my-server # OAuth flow (browser)
233
- cade mcp list / status / test / enable / disable / rm
237
+ cade mcp list / status / enable / disable / rm
234
238
  ```
235
239
 
236
240
  User MCP servers register on the agent's `~/.cade/config/agents/<name>.toml [[mcp]]` list (with `cade.toml [agent_defaults].mcp` as the shared default). Servers with large catalogs are auto-deferred (parameter schemas stripped to keep tool-list bytes down) and fetched on demand via `Local_ToolSchema`.
@@ -243,22 +247,22 @@ Each **agent** bundles a model, system prompt, tools, and memory. The current
243
247
  agent is ambient — most commands act on it.
244
248
 
245
249
  ```bash
246
- cade new reviewer --prompt "You are a meticulous code reviewer." # create + switch
247
- cade list # all agents
248
- cade use reviewer # switch the current agent
249
- cade info / cade edit reviewer # inspect / change config
250
-
251
- cade mem # the current agent's memory (status)
252
- cade mem add ~/notes # index a directory
253
- cade mem search "auth design" # semantic search
254
- cade mem warm # pre-load the semantic memory model
250
+ cade agent new reviewer --prompt "You are a meticulous code reviewer."
251
+ cade agent list
252
+ cade agent use reviewer
253
+ cade agent info / cade agent edit reviewer
254
+
255
+ cade agent mem # status
256
+ cade agent mem add ~/notes
257
+ cade agent mem search "auth design"
258
+ cade agent mem warm # pre-load semantic search
255
259
  ```
256
260
 
257
261
  Memory is per-agent — each agent has its own
258
262
  `~/.cade/data/agents/<id>/memory/.librarian/` index, so a `reviewer` agent's
259
263
  notes never leak into another. Cade advertises `Memory_*` tools without starting
260
264
  the memory server; the first actual memory call starts it and keeps it warm for
261
- later calls. Use `cade mem warm` when you want to pay that semantic-search
265
+ later calls. Use `cade agent mem warm` when you want to pay that semantic-search
262
266
  warmup before a conversation.
263
267
 
264
268
  ---
@@ -288,13 +292,12 @@ Three primitives the agent uses directly (as `Local_*` tools) and you can drive
288
292
 
289
293
  | Surface | What it is | CLI |
290
294
  |---|---|---|
291
- | **Hooks** | Lifecycle event handlers (pre/post tool, user prompt submit) | `cade hooks list / add / remove / test` |
292
- | **Tasks** | Durable work units that survive turn boundaries | `cade tasks list / get / create / update / delete` |
293
- | **Cron** | Scheduled prompts the agent runs on a timer | `cade cron list / add / remove / enable / disable / run-now` |
295
+ | **Hooks** | Lifecycle event handlers (pre/post tool, user prompt submit) | `cade agent hooks …` |
296
+ | **Tasks** | Durable work units that survive turn boundaries | `cade agent tasks …` |
297
+ | **Cron** | Scheduled prompts the agent runs on a timer | `cade agent cron …` |
294
298
 
295
- Cross-agent messaging is set up with `cade link` / `cade channel` (an agent can only
296
- reach another it's been linked to). Hooks and tasks/cron details live in their
297
- respective `cade <subcommand> --help` outputs.
299
+ Cross-agent messaging is set up with `cade agent link` / `cade agent channel`.
300
+ See `cade agent --help` for the full surface.
298
301
 
299
302
  ---
300
303
 
@@ -307,8 +310,8 @@ Cade works with any OpenAI-compatible endpoint. Three ways to wire one in (CLI f
307
310
  cade chat -L --endpoint http://localhost:11434 --model qwen3:4b
308
311
 
309
312
  # Or create a dedicated agent for the local model
310
- cade new local-qwen --model qwen3:4b
311
- cade use local-qwen
313
+ cade agent new local-qwen --model qwen3:4b
314
+ cade agent use local-qwen
312
315
  export OLLAMA_BASE_URL="http://localhost:11434"
313
316
  CADE_LOCAL_ONLY=1 cade -m "hello from a local model"
314
317
 
@@ -20,7 +20,7 @@ toolchain. First `cade` walks you through model setup, Arcade login, and the
20
20
  - **Tools from anywhere.** Built-in local tools (filesystem / shell / git / search / tasks / memory), [Arcade Cloud](https://arcade.dev) tools (Slack, GitHub, Gmail, calendars, …), and any [MCP](https://modelcontextprotocol.io/) server you register — all unified under one tool surface.
21
21
  - **Bidirectional MCP.** Tools can call `context.ui.elicit(…)` for structured input, `context.log.*` for live operator logs, and `context.progress.report(…)` for editable progress UI — routed end-to-end through whichever adapter is active (Telegram inline keyboard, terminal prompt).
22
22
  - **Agents + per-agent memory.** Multiple agents, each with their own model, system prompt, tools, and an indexed memory store backed by [agent-library](https://pypi.org/project/agent-library/).
23
- - **Extensibility surface.** Hooks (lifecycle events), tasks (durable work), cron (scheduled prompts) — all available to the agent as `Local_*` tools and to you as `cade <subcommand>`.
23
+ - **Extensibility surface.** Hooks (lifecycle events), tasks (durable work), cron (scheduled prompts) — all available to the agent as `Local_*` tools and to you as `cade agent hooks` / `tasks` / `cron`.
24
24
  - **Bring your own LLM.** OpenAI, Anthropic, or any OpenAI-compatible endpoint (Ollama, vLLM, Together, Groq, Fireworks, …). `--local-only` skips Arcade Cloud entirely.
25
25
 
26
26
  ---
@@ -38,7 +38,7 @@ The script detects your OS/arch, downloads the matching prebuilt binary
38
38
  `~/.local/bin`. Pin a version or install location:
39
39
 
40
40
  ```bash
41
- CADE_VERSION=0.16.6 CADE_INSTALL_DIR=/usr/local/bin \
41
+ CADE_VERSION=0.16.7 CADE_INSTALL_DIR=/usr/local/bin \
42
42
  sh -c "$(curl -fsSL https://arcadeagent.dev/install)"
43
43
  ```
44
44
 
@@ -63,10 +63,10 @@ curl installer does **not** require a local Python — Python 3.11+ is only need
63
63
  for the uv / pip / from-source paths.
64
64
 
65
65
  The first run walks you through picking a model provider and key (stored in your
66
- OS keyring); re-run it any time with `cade init`.
66
+ OS keyring); re-run it any time with `cade account init`.
67
67
 
68
68
  ```bash
69
- cade init # pick provider + model (runs automatically on first launch)
69
+ cade account init # pick provider + model (runs automatically on first launch)
70
70
  cade login # Arcade Cloud OAuth (skip with --local-only)
71
71
  cade --version
72
72
  ```
@@ -80,14 +80,18 @@ Full install and first-run docs: [`docs/install.md`](./docs/install.md) and
80
80
 
81
81
  ```bash
82
82
  cade # interactive chat
83
+ cade chat # same
84
+ cade chat -r # resume most recent thread
85
+ cade chat --resume "auth-rewrite" # resume a named thread
83
86
  cade -m "What changed in HEAD?" # single message, then exit
84
87
  cade -m "What went wrong?" < error.log # prompt + file/stdin
85
- cade resume # resume the most recent thread
86
- cade resume "auth-rewrite" # resume a thread by name
87
- cade use reviewer # switch the current agent
88
88
  cade --voice # speak / hear (requires cade-cli[voice])
89
89
  ```
90
90
 
91
+ `cade --help` shows: `chat`, `agent`, `mcp`, `daemon`, `account`, `login`,
92
+ `logout`. Tools are under `cade agent tools`. Older flat names (`cade list`,
93
+ `cade mem`, `cade tools`, `cade resume`, …) still work as hidden aliases.
94
+
91
95
  ### Top-level options
92
96
 
93
97
  | Flag | Description |
@@ -107,7 +111,7 @@ cade --voice # speak / hear (requires cade-cli[voi
107
111
  | `/logs` | Recent log entries |
108
112
  | `/thread`, `/history` | Current thread info |
109
113
  | `/pin`, `/unpin` | Pin reference material into the session |
110
- | `/tasks`, `/cron`, `/hooks`, `/notify` | Coordination surfaces (mirrored as `cade tasks` / `cade cron` / `cade hooks`) |
114
+ | `/tasks`, `/cron`, `/hooks`, `/notify` | Coordination surfaces (also `cade agent tasks` / `cron` / `hooks`) |
111
115
  | `/usage` | Context-window status and token usage |
112
116
  | `/cd`, `/pwd`, `/!` | Shell shortcuts |
113
117
  | `Ctrl+C` | Exit |
@@ -123,10 +127,10 @@ Tools come from three sources and are addressed uniformly by their registered na
123
127
  - **Arcade Agent Hub + user MCP servers** — Hub for Gmail/Slack/GitHub/… (`cade mcp authorize hub`); plus anything else you register.
124
128
 
125
129
  ```bash
126
- cade tools list # all tools, all sources
127
- cade tools list --source local # filter by source
128
- cade tools search "send slack" # keyword search
129
- cade tools info Local_ReadFile # full schema + description
130
+ cade agent tools list # MCP tools (Local_* hidden by default)
131
+ cade agent tools list --source local # built-in Local_* tools only
132
+ cade agent tools search "send slack" # keyword search
133
+ cade agent tools info Local_ReadFile # full schema + description
130
134
  cade mcp authorize hub # Arcade catalogue (OAuth)
131
135
  cade mcp install-hosts # register Cade in Cursor / Claude / …
132
136
  ```
@@ -139,7 +143,7 @@ The full local tool surface (including the bidirectional MCP capabilities and `c
139
143
  cade mcp add my-server http://localhost:8080
140
144
  cade mcp add my-server http://… --auth bearer -t <token>
141
145
  cade mcp authorize my-server # OAuth flow (browser)
142
- cade mcp list / status / test / enable / disable / rm
146
+ cade mcp list / status / enable / disable / rm
143
147
  ```
144
148
 
145
149
  User MCP servers register on the agent's `~/.cade/config/agents/<name>.toml [[mcp]]` list (with `cade.toml [agent_defaults].mcp` as the shared default). Servers with large catalogs are auto-deferred (parameter schemas stripped to keep tool-list bytes down) and fetched on demand via `Local_ToolSchema`.
@@ -152,22 +156,22 @@ Each **agent** bundles a model, system prompt, tools, and memory. The current
152
156
  agent is ambient — most commands act on it.
153
157
 
154
158
  ```bash
155
- cade new reviewer --prompt "You are a meticulous code reviewer." # create + switch
156
- cade list # all agents
157
- cade use reviewer # switch the current agent
158
- cade info / cade edit reviewer # inspect / change config
159
-
160
- cade mem # the current agent's memory (status)
161
- cade mem add ~/notes # index a directory
162
- cade mem search "auth design" # semantic search
163
- cade mem warm # pre-load the semantic memory model
159
+ cade agent new reviewer --prompt "You are a meticulous code reviewer."
160
+ cade agent list
161
+ cade agent use reviewer
162
+ cade agent info / cade agent edit reviewer
163
+
164
+ cade agent mem # status
165
+ cade agent mem add ~/notes
166
+ cade agent mem search "auth design"
167
+ cade agent mem warm # pre-load semantic search
164
168
  ```
165
169
 
166
170
  Memory is per-agent — each agent has its own
167
171
  `~/.cade/data/agents/<id>/memory/.librarian/` index, so a `reviewer` agent's
168
172
  notes never leak into another. Cade advertises `Memory_*` tools without starting
169
173
  the memory server; the first actual memory call starts it and keeps it warm for
170
- later calls. Use `cade mem warm` when you want to pay that semantic-search
174
+ later calls. Use `cade agent mem warm` when you want to pay that semantic-search
171
175
  warmup before a conversation.
172
176
 
173
177
  ---
@@ -197,13 +201,12 @@ Three primitives the agent uses directly (as `Local_*` tools) and you can drive
197
201
 
198
202
  | Surface | What it is | CLI |
199
203
  |---|---|---|
200
- | **Hooks** | Lifecycle event handlers (pre/post tool, user prompt submit) | `cade hooks list / add / remove / test` |
201
- | **Tasks** | Durable work units that survive turn boundaries | `cade tasks list / get / create / update / delete` |
202
- | **Cron** | Scheduled prompts the agent runs on a timer | `cade cron list / add / remove / enable / disable / run-now` |
204
+ | **Hooks** | Lifecycle event handlers (pre/post tool, user prompt submit) | `cade agent hooks …` |
205
+ | **Tasks** | Durable work units that survive turn boundaries | `cade agent tasks …` |
206
+ | **Cron** | Scheduled prompts the agent runs on a timer | `cade agent cron …` |
203
207
 
204
- Cross-agent messaging is set up with `cade link` / `cade channel` (an agent can only
205
- reach another it's been linked to). Hooks and tasks/cron details live in their
206
- respective `cade <subcommand> --help` outputs.
208
+ Cross-agent messaging is set up with `cade agent link` / `cade agent channel`.
209
+ See `cade agent --help` for the full surface.
207
210
 
208
211
  ---
209
212
 
@@ -216,8 +219,8 @@ Cade works with any OpenAI-compatible endpoint. Three ways to wire one in (CLI f
216
219
  cade chat -L --endpoint http://localhost:11434 --model qwen3:4b
217
220
 
218
221
  # Or create a dedicated agent for the local model
219
- cade new local-qwen --model qwen3:4b
220
- cade use local-qwen
222
+ cade agent new local-qwen --model qwen3:4b
223
+ cade agent use local-qwen
221
224
  export OLLAMA_BASE_URL="http://localhost:11434"
222
225
  CADE_LOCAL_ONLY=1 cade -m "hello from a local model"
223
226
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "cade-cli"
3
- version = "0.16.6"
3
+ version = "0.16.7"
4
4
  description = "Cade - The CLI Agent from Arcade.dev (install: curl -fsSL https://arcadeagent.dev/install | sh)"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -144,10 +144,10 @@ def register_resources(app: MCPApp, instructions: str) -> None:
144
144
  app.add_resource(
145
145
  MEMORY_SOURCES_URI,
146
146
  name="memory-sources",
147
- title="cade mem sources (active persona)",
147
+ title="cade agent mem sources (active persona)",
148
148
  description=(
149
149
  "JSON listing of memory sources registered for the active persona "
150
- "(equivalent to `cade mem sources`). Read each call so the listing "
150
+ "(equivalent to `cade agent mem sources`). Read each call so the listing "
151
151
  "reflects sources added after server start."
152
152
  ),
153
153
  mime_type="application/json",
@@ -8,7 +8,7 @@ added to the live :class:`~cade_mcp_local.grants.GrantSet` (session-scoped)
8
8
  and every subsequent tool call — typed file tools and ``Local_Bash`` alike —
9
9
  sees it immediately via the mtime-cached grants file. Without elicitation the
10
10
  tool returns a denial explaining the operator must run ``/grant`` (or
11
- ``cade grant``) manually.
11
+ ``cade agent grant``) manually.
12
12
  """
13
13
 
14
14
  import logging
@@ -99,7 +99,7 @@ async def request_access_tool(
99
99
  "mode": mode,
100
100
  "message": (
101
101
  f"Cannot request consent on this surface. Ask the operator to "
102
- f"run `/grant {resolved} {mode}` (or `cade grant`)."
102
+ f"run `/grant {resolved} {mode}` (or `cade agent grant`)."
103
103
  ),
104
104
  "scopes": grant_set.describe(),
105
105
  }
@@ -3,7 +3,7 @@
3
3
  Lets the model address other agents the user has explicitly linked. Delivery
4
4
  rides the durable per-agent inbox (so the message survives until the target
5
5
  agent's next turn), and the user-provisioned channel ACL gates every send:
6
- two top-level agents can talk only if a user ran ``cade link`` / added them to
6
+ two top-level agents can talk only if a user ran ``cade agent link`` / added them to
7
7
  a shared channel. The default is isolation.
8
8
  """
9
9
 
@@ -68,7 +68,7 @@ def _current_agent_name() -> str:
68
68
  name="AgentSend",
69
69
  desc=(
70
70
  "Send a message to another agent's inbox. Only works for agents a user "
71
- "has linked to this one (via `cade link` or a shared channel); otherwise "
71
+ "has linked to this one (via `cade agent link` or a shared channel); otherwise "
72
72
  "the send is refused. The message is delivered at the target agent's next "
73
73
  "turn. Use AgentList first to see who you can reach."
74
74
  ),
@@ -115,7 +115,7 @@ async def agent_send_tool(
115
115
  raise InvalidInputError(
116
116
  "target",
117
117
  f"not linked with '{target_agent.name}'. A user must run: "
118
- f"cade link {sender} {target_agent.name}",
118
+ f"cade agent link {sender} {target_agent.name}",
119
119
  )
120
120
  inbox = inbox_for_path(get_paths().agent_data(target_agent.id))
121
121
  inbox.enqueue_notification(message, source=f"agent:{sender}")