cade-cli 0.13.3__tar.gz → 0.13.4__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 (159) hide show
  1. {cade_cli-0.13.3 → cade_cli-0.13.4}/PKG-INFO +1 -1
  2. {cade_cli-0.13.3 → cade_cli-0.13.4}/pyproject.toml +1 -1
  3. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/providers/anthropic.py +3 -3
  4. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/providers/openai.py +4 -2
  5. {cade_cli-0.13.3 → cade_cli-0.13.4}/.gitignore +0 -0
  6. {cade_cli-0.13.3 → cade_cli-0.13.4}/LICENSE +0 -0
  7. {cade_cli-0.13.3 → cade_cli-0.13.4}/README.md +0 -0
  8. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cade_mcp_local/__init__.py +0 -0
  9. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cade_mcp_local/__main__.py +0 -0
  10. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cade_mcp_local/_metadata.py +0 -0
  11. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cade_mcp_local/config.py +0 -0
  12. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cade_mcp_local/errors.py +0 -0
  13. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cade_mcp_local/resources.py +0 -0
  14. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cade_mcp_local/server.py +0 -0
  15. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cade_mcp_local/tools/__init__.py +0 -0
  16. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cade_mcp_local/tools/_read_cache.py +0 -0
  17. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cade_mcp_local/tools/context.py +0 -0
  18. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cade_mcp_local/tools/filesystem.py +0 -0
  19. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cade_mcp_local/tools/git.py +0 -0
  20. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cade_mcp_local/tools/notifications.py +0 -0
  21. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cade_mcp_local/tools/questions.py +0 -0
  22. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cade_mcp_local/tools/results.py +0 -0
  23. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cade_mcp_local/tools/schemas.py +0 -0
  24. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cade_mcp_local/tools/search.py +0 -0
  25. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cade_mcp_local/tools/shell.py +0 -0
  26. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cade_mcp_local/tools/snippets.py +0 -0
  27. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cade_mcp_local/tools/tasks.py +0 -0
  28. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cade_mcp_local/tools/web_fetch.py +0 -0
  29. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cade_mcp_local/tools/web_search.py +0 -0
  30. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cade_mcp_local/utils.py +0 -0
  31. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cade_mcp_local/web/__init__.py +0 -0
  32. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cade_mcp_local/web/arcade_client.py +0 -0
  33. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cade_mcp_local/web/cache.py +0 -0
  34. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cade_mcp_local/web/extract.py +0 -0
  35. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cade_mcp_local/web/markdown.py +0 -0
  36. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cade_mcp_local/web/preapproved.py +0 -0
  37. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cade_mcp_local/web/prompts.py +0 -0
  38. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cade_mcp_local/web/scrape.py +0 -0
  39. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cade_mcp_local/web/search/__init__.py +0 -0
  40. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cade_mcp_local/web/search/arcade.py +0 -0
  41. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cade_mcp_local/web/search/base.py +0 -0
  42. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cade_mcp_local/web/search/http.py +0 -0
  43. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/__init__.py +0 -0
  44. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/ai/__init__.py +0 -0
  45. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/ai/prompts.py +0 -0
  46. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/cli/__init__.py +0 -0
  47. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/cli/app.py +0 -0
  48. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/cli/auth.py +0 -0
  49. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/cli/commands/__init__.py +0 -0
  50. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/cli/commands/account.py +0 -0
  51. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/cli/commands/auth.py +0 -0
  52. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/cli/commands/channels.py +0 -0
  53. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/cli/commands/chat.py +0 -0
  54. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/cli/commands/context.py +0 -0
  55. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/cli/commands/cron.py +0 -0
  56. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/cli/commands/hooks.py +0 -0
  57. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/cli/commands/mcp.py +0 -0
  58. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/cli/commands/mem.py +0 -0
  59. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/cli/commands/model.py +0 -0
  60. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/cli/commands/persona.py +0 -0
  61. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/cli/commands/serve.py +0 -0
  62. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/cli/commands/tasks.py +0 -0
  63. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/cli/commands/thread.py +0 -0
  64. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/cli/commands/tools.py +0 -0
  65. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/core/__init__.py +0 -0
  66. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/core/config.py +0 -0
  67. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/core/constants.py +0 -0
  68. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/core/errors.py +0 -0
  69. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/core/frozen.py +0 -0
  70. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/core/git.py +0 -0
  71. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/core/logging.py +0 -0
  72. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/core/model_specs.py +0 -0
  73. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/core/names.py +0 -0
  74. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/core/paths.py +0 -0
  75. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/core/runtime.py +0 -0
  76. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/core/types.py +0 -0
  77. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/execution/__init__.py +0 -0
  78. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/execution/context_window.py +0 -0
  79. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/execution/mcp_schema_index.py +0 -0
  80. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/execution/orchestrator.py +0 -0
  81. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/execution/parallel.py +0 -0
  82. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/execution/tool_result_store.py +0 -0
  83. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/execution/tool_schema_cache.py +0 -0
  84. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/hooks/__init__.py +0 -0
  85. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/hooks/config.py +0 -0
  86. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/hooks/engine.py +0 -0
  87. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/hooks/executors/__init__.py +0 -0
  88. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/hooks/executors/callback.py +0 -0
  89. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/hooks/executors/command.py +0 -0
  90. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/hooks/executors/http.py +0 -0
  91. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/hooks/executors/prompt.py +0 -0
  92. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/hooks/executors/ssrf_guard.py +0 -0
  93. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/hooks/matchers.py +0 -0
  94. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/hooks/registry.py +0 -0
  95. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/hooks/types.py +0 -0
  96. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/providers/__init__.py +0 -0
  97. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/providers/base.py +0 -0
  98. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/providers/ollama.py +0 -0
  99. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/serve/__init__.py +0 -0
  100. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/serve/adapters/__init__.py +0 -0
  101. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/serve/adapters/base.py +0 -0
  102. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/serve/adapters/desktop.py +0 -0
  103. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/serve/adapters/registry.py +0 -0
  104. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/serve/adapters/stub.py +0 -0
  105. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/serve/adapters/telegram.py +0 -0
  106. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/serve/allowlist.py +0 -0
  107. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/serve/chunker.py +0 -0
  108. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/serve/commands.py +0 -0
  109. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/serve/config.py +0 -0
  110. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/serve/daemon.py +0 -0
  111. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/serve/elicitation.py +0 -0
  112. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/serve/format.py +0 -0
  113. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/serve/install.py +0 -0
  114. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/serve/lock.py +0 -0
  115. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/serve/observability.py +0 -0
  116. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/serve/progress_sink.py +0 -0
  117. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/serve/router.py +0 -0
  118. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/serve/secrets.py +0 -0
  119. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/serve/sinks.py +0 -0
  120. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/serve/worker.py +0 -0
  121. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/storage/__init__.py +0 -0
  122. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/storage/personas.py +0 -0
  123. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/storage/threads.py +0 -0
  124. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/tasks/__init__.py +0 -0
  125. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/tasks/channels.py +0 -0
  126. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/tasks/lock.py +0 -0
  127. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/tasks/notifications.py +0 -0
  128. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/tasks/scheduler.py +0 -0
  129. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/tasks/store.py +0 -0
  130. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/tasks/types.py +0 -0
  131. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/templates/login_failed.html +0 -0
  132. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/templates/login_success.html +0 -0
  133. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/templates/serve/launchd.plist.tmpl +0 -0
  134. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/templates/serve/serve.toml.example +0 -0
  135. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/templates/serve/systemd.service.tmpl +0 -0
  136. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/templates/styles.css +0 -0
  137. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/tools/__init__.py +0 -0
  138. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/tools/manager/__init__.py +0 -0
  139. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/tools/manager/_request_ctx.py +0 -0
  140. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/tools/manager/base.py +0 -0
  141. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/tools/manager/composite.py +0 -0
  142. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/tools/manager/config.py +0 -0
  143. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/tools/manager/mcp.py +0 -0
  144. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/tools/search/__init__.py +0 -0
  145. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/tools/search/discovered.py +0 -0
  146. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/tools/search/scoring.py +0 -0
  147. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/tools/search/service.py +0 -0
  148. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/ui/__init__.py +0 -0
  149. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/ui/display.py +0 -0
  150. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/ui/elicitation.py +0 -0
  151. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/ui/input.py +0 -0
  152. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/ui/session.py +0 -0
  153. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/ui/slash.py +0 -0
  154. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/voice/__init__.py +0 -0
  155. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/voice/audio.py +0 -0
  156. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/voice/cleanup.py +0 -0
  157. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/voice/session.py +0 -0
  158. {cade_cli-0.13.3 → cade_cli-0.13.4}/src/cadecoder/voice/stt.py +0 -0
  159. {cade_cli-0.13.3 → cade_cli-0.13.4}/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.13.3
3
+ Version: 0.13.4
4
4
  Summary: Cade - The CLI Agent from Arcade.dev
5
5
  Project-URL: Homepage, https://arcade.dev
6
6
  Project-URL: Documentation, https://docs.arcade.dev
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "cade-cli"
3
- version = "0.13.3"
3
+ version = "0.13.4"
4
4
  description = "Cade - The CLI Agent from Arcade.dev"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -380,9 +380,9 @@ class AnthropicProvider(Provider):
380
380
  tool_names = [t.get("function", {}).get("name", "unknown") for t in request.tools[:5]]
381
381
  log.debug(f"First few tools: {tool_names}")
382
382
 
383
- # Handle tool choice
384
- if request.tool_choice:
385
- anthropic_request["tool_choice"] = self._convert_tool_choice(request.tool_choice)
383
+ # tool_choice is only valid alongside tools.
384
+ if request.tool_choice:
385
+ anthropic_request["tool_choice"] = self._convert_tool_choice(request.tool_choice)
386
386
 
387
387
  # Add any provider-specific metadata
388
388
  if "anthropic" in request.metadata:
@@ -286,8 +286,10 @@ class OpenAIProvider(Provider):
286
286
  tool_names = [t.get("function", {}).get("name", "unknown") for t in request.tools[:5]]
287
287
  log.debug(f"First few tools: {tool_names}")
288
288
 
289
- if request.tool_choice:
290
- openai_request["tool_choice"] = request.tool_choice
289
+ # tool_choice is only valid when tools are present — OpenAI returns a
290
+ # 400 otherwise.
291
+ if request.tool_choice:
292
+ openai_request["tool_choice"] = request.tool_choice
291
293
 
292
294
  # Add any provider-specific metadata
293
295
  if "openai" in request.metadata:
File without changes
File without changes
File without changes