cade-cli 0.16.0__tar.gz → 0.16.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {cade_cli-0.16.0 → cade_cli-0.16.1}/PKG-INFO +31 -15
- {cade_cli-0.16.0 → cade_cli-0.16.1}/README.md +27 -12
- {cade_cli-0.16.0 → cade_cli-0.16.1}/pyproject.toml +4 -3
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/gateway/app.py +6 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/server.py +6 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/ui/session.py +3 -1
- {cade_cli-0.16.0 → cade_cli-0.16.1}/.gitignore +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/LICENSE +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/__init__.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/__main__.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/_metadata.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/config.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/errors.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/grants.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/resources.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/sandbox.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/server.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/tools/__init__.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/tools/_read_cache.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/tools/access.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/tools/agents.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/tools/context.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/tools/filesystem.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/tools/git.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/tools/notifications.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/tools/questions.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/tools/results.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/tools/schemas.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/tools/search.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/tools/shell.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/tools/snippets.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/tools/tasks.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/tools/web_fetch.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/tools/web_search.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/utils.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/web/__init__.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/web/arcade_client.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/web/cache.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/web/extract.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/web/markdown.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/web/preapproved.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/web/prompts.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/web/scrape.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/web/search/__init__.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/web/search/arcade.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/web/search/base.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cade_mcp_local/web/search/http.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/__init__.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/ai/__init__.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/ai/prompts.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/cli/__init__.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/cli/app.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/cli/auth.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/cli/commands/__init__.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/cli/commands/account.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/cli/commands/agents.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/cli/commands/auth.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/cli/commands/chat.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/cli/commands/cron.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/cli/commands/daemon.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/cli/commands/grant.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/cli/commands/hooks.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/cli/commands/mcp.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/cli/commands/mem.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/cli/commands/tasks.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/cli/commands/thread.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/cli/commands/tools.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/cli/onboarding.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/core/__init__.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/core/agent.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/core/comms.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/core/config.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/core/constants.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/core/errors.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/core/frozen.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/core/git.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/core/inbox.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/core/logging.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/core/memory.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/core/model_specs.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/core/names.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/core/paths.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/core/runtime.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/core/secrets.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/core/spawn.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/core/types.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/__init__.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/adapters/__init__.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/adapters/base.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/adapters/factory.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/adapters/imessage.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/adapters/registry.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/adapters/stub.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/adapters/telegram.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/allowlist.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/attach.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/chunker.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/client.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/commands.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/config.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/control.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/cron.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/elicitation.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/ensure.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/format.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/gateway/__init__.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/gateway/arcade_export.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/gateway/auth.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/gateway/constants.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/gateway/elicitation.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/gateway/exposure.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/gateway/limits.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/gateway/middleware.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/gateway/resources.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/gateway/subscriptions.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/gateway/turn_bridge.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/grants.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/inbox_cron.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/install.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/live.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/lock.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/mesh.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/message_pump.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/observability.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/owner.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/progress_sink.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/registry.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/router.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/runner.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/runner_main.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/secrets.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/secrets_broker.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/services.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/shim.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/sinks.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/supervisor.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/tokens.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/traffic.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/turns.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/daemon/wake.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/execution/__init__.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/execution/context_window.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/execution/mcp_schema_index.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/execution/orchestrator.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/execution/parallel.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/execution/tool_result_store.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/execution/tool_schema_cache.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/hooks/__init__.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/hooks/config.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/hooks/engine.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/hooks/executors/__init__.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/hooks/executors/callback.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/hooks/executors/command.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/hooks/executors/http.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/hooks/executors/prompt.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/hooks/executors/ssrf_guard.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/hooks/matchers.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/hooks/registry.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/hooks/types.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/providers/__init__.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/providers/anthropic.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/providers/base.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/providers/ollama.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/providers/openai.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/serve/__init__.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/storage/__init__.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/storage/threads.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/tasks/__init__.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/tasks/scheduler.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/tasks/store.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/tasks/types.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/templates/login_failed.html +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/templates/login_success.html +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/templates/serve/launchd.plist.tmpl +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/templates/serve/serve.toml.example +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/templates/serve/systemd.service.tmpl +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/templates/styles.css +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/tools/__init__.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/tools/manager/__init__.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/tools/manager/_request_ctx.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/tools/manager/base.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/tools/manager/composite.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/tools/manager/config.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/tools/manager/mcp.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/tools/search/__init__.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/tools/search/discovered.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/tools/search/scoring.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/tools/search/service.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/ui/__init__.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/ui/completion.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/ui/display.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/ui/elicitation.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/ui/input.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/ui/slash.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/voice/__init__.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/voice/audio.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/voice/cleanup.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/voice/session.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/voice/stt.py +0 -0
- {cade_cli-0.16.0 → cade_cli-0.16.1}/src/cadecoder/voice/tts.py +0 -0
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cade-cli
|
|
3
|
-
Version: 0.16.
|
|
4
|
-
Summary: Cade - The CLI Agent from Arcade.dev
|
|
3
|
+
Version: 0.16.1
|
|
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
|
-
Project-URL: Documentation, https://
|
|
6
|
+
Project-URL: Documentation, https://arcadeagent.dev/docs
|
|
7
|
+
Project-URL: Install, https://arcadeagent.dev/install
|
|
7
8
|
Project-URL: Repository, https://github.com/arcadeai-labs/cade
|
|
8
9
|
Project-URL: Issues, https://github.com/arcadeai-labs/cade/issues
|
|
9
10
|
Project-URL: Changelog, https://github.com/arcadeai-labs/cade/releases
|
|
@@ -93,11 +94,15 @@ Description-Content-Type: text/markdown
|
|
|
93
94
|
The CLI agent from [Arcade.dev](https://arcade.dev). Coding, research, and everyday automation — driven from a terminal, a single shell pipe, or a long-lived daemon that replies over Telegram.
|
|
94
95
|
|
|
95
96
|
```bash
|
|
96
|
-
curl -fsSL https://arcadeagent.dev/install | sh
|
|
97
|
+
curl -fsSL https://arcadeagent.dev/install | sh
|
|
97
98
|
cade login
|
|
98
99
|
cade
|
|
99
100
|
```
|
|
100
101
|
|
|
102
|
+
That is the **recommended install** — a prebuilt binary from
|
|
103
|
+
[arcadeagent.dev](https://arcadeagent.dev/install). No GitHub token, no Python
|
|
104
|
+
toolchain. Re-run the same command to upgrade.
|
|
105
|
+
|
|
101
106
|
---
|
|
102
107
|
|
|
103
108
|
## Highlights
|
|
@@ -113,19 +118,18 @@ cade
|
|
|
113
118
|
|
|
114
119
|
## Install
|
|
115
120
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
| From source | `git clone https://github.com/arcadeai-labs/cade.git && cd cade && uv sync` |
|
|
121
|
+
### Recommended (macOS + Linux)
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
curl -fsSL https://arcadeagent.dev/install | sh
|
|
125
|
+
```
|
|
122
126
|
|
|
123
|
-
The
|
|
127
|
+
The script detects your OS/arch, downloads the matching prebuilt binary
|
|
124
128
|
(macOS arm64, Linux x64), verifies its checksum, and drops `cade` in
|
|
125
|
-
`~/.local/bin
|
|
129
|
+
`~/.local/bin`. Pin a version or install location:
|
|
126
130
|
|
|
127
131
|
```bash
|
|
128
|
-
CADE_VERSION=0.
|
|
132
|
+
CADE_VERSION=0.16.1 CADE_INSTALL_DIR=/usr/local/bin \
|
|
129
133
|
sh -c "$(curl -fsSL https://arcadeagent.dev/install)"
|
|
130
134
|
```
|
|
131
135
|
|
|
@@ -133,9 +137,21 @@ On Linux the installer auto-picks a **cpu** or **gpu** build (GPU when
|
|
|
133
137
|
`nvidia-smi` detects a card; the GPU build bundles the CUDA stack and is a much
|
|
134
138
|
larger download). Force it with `CADE_VARIANT=cpu` or `CADE_VARIANT=gpu`.
|
|
135
139
|
|
|
136
|
-
|
|
140
|
+
### Alternatives
|
|
141
|
+
|
|
142
|
+
| Source | Command | When |
|
|
143
|
+
|---|---|---|
|
|
144
|
+
| uv | `uv tool install cade-cli` | Prefer a PyPI-managed tool venv |
|
|
145
|
+
| pip | `pip install cade-cli` | Windows, or no curl install |
|
|
146
|
+
| From source | `git clone … && uv sync` | Contributing / hacking on Cade |
|
|
147
|
+
|
|
148
|
+
(Windows: grab the `.zip` from the [releases](https://github.com/arcadeai-labs/cade/releases) page, or `pip install cade-cli`.)
|
|
137
149
|
|
|
138
|
-
**Prerequisites
|
|
150
|
+
**Prerequisites to run Cade:** an LLM provider key (`OPENAI_API_KEY` or
|
|
151
|
+
`ANTHROPIC_API_KEY`), and an Arcade account ([arcade.dev](https://arcade.dev))
|
|
152
|
+
for cloud tools. Skip Arcade with `--local-only` or `CADE_LOCAL_ONLY=1`. The
|
|
153
|
+
curl installer does **not** require a local Python — Python 3.11+ is only needed
|
|
154
|
+
for the uv / pip / from-source paths.
|
|
139
155
|
|
|
140
156
|
The first run walks you through picking a model provider and key (stored in your
|
|
141
157
|
OS keyring); re-run it any time with `cade init`.
|
|
@@ -3,11 +3,15 @@
|
|
|
3
3
|
The CLI agent from [Arcade.dev](https://arcade.dev). Coding, research, and everyday automation — driven from a terminal, a single shell pipe, or a long-lived daemon that replies over Telegram.
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
|
-
curl -fsSL https://arcadeagent.dev/install | sh
|
|
6
|
+
curl -fsSL https://arcadeagent.dev/install | sh
|
|
7
7
|
cade login
|
|
8
8
|
cade
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
+
That is the **recommended install** — a prebuilt binary from
|
|
12
|
+
[arcadeagent.dev](https://arcadeagent.dev/install). No GitHub token, no Python
|
|
13
|
+
toolchain. Re-run the same command to upgrade.
|
|
14
|
+
|
|
11
15
|
---
|
|
12
16
|
|
|
13
17
|
## Highlights
|
|
@@ -23,19 +27,18 @@ cade
|
|
|
23
27
|
|
|
24
28
|
## Install
|
|
25
29
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
| From source | `git clone https://github.com/arcadeai-labs/cade.git && cd cade && uv sync` |
|
|
30
|
+
### Recommended (macOS + Linux)
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
curl -fsSL https://arcadeagent.dev/install | sh
|
|
34
|
+
```
|
|
32
35
|
|
|
33
|
-
The
|
|
36
|
+
The script detects your OS/arch, downloads the matching prebuilt binary
|
|
34
37
|
(macOS arm64, Linux x64), verifies its checksum, and drops `cade` in
|
|
35
|
-
`~/.local/bin
|
|
38
|
+
`~/.local/bin`. Pin a version or install location:
|
|
36
39
|
|
|
37
40
|
```bash
|
|
38
|
-
CADE_VERSION=0.
|
|
41
|
+
CADE_VERSION=0.16.1 CADE_INSTALL_DIR=/usr/local/bin \
|
|
39
42
|
sh -c "$(curl -fsSL https://arcadeagent.dev/install)"
|
|
40
43
|
```
|
|
41
44
|
|
|
@@ -43,9 +46,21 @@ On Linux the installer auto-picks a **cpu** or **gpu** build (GPU when
|
|
|
43
46
|
`nvidia-smi` detects a card; the GPU build bundles the CUDA stack and is a much
|
|
44
47
|
larger download). Force it with `CADE_VARIANT=cpu` or `CADE_VARIANT=gpu`.
|
|
45
48
|
|
|
46
|
-
|
|
49
|
+
### Alternatives
|
|
50
|
+
|
|
51
|
+
| Source | Command | When |
|
|
52
|
+
|---|---|---|
|
|
53
|
+
| uv | `uv tool install cade-cli` | Prefer a PyPI-managed tool venv |
|
|
54
|
+
| pip | `pip install cade-cli` | Windows, or no curl install |
|
|
55
|
+
| From source | `git clone … && uv sync` | Contributing / hacking on Cade |
|
|
56
|
+
|
|
57
|
+
(Windows: grab the `.zip` from the [releases](https://github.com/arcadeai-labs/cade/releases) page, or `pip install cade-cli`.)
|
|
47
58
|
|
|
48
|
-
**Prerequisites
|
|
59
|
+
**Prerequisites to run Cade:** an LLM provider key (`OPENAI_API_KEY` or
|
|
60
|
+
`ANTHROPIC_API_KEY`), and an Arcade account ([arcade.dev](https://arcade.dev))
|
|
61
|
+
for cloud tools. Skip Arcade with `--local-only` or `CADE_LOCAL_ONLY=1`. The
|
|
62
|
+
curl installer does **not** require a local Python — Python 3.11+ is only needed
|
|
63
|
+
for the uv / pip / from-source paths.
|
|
49
64
|
|
|
50
65
|
The first run walks you through picking a model provider and key (stored in your
|
|
51
66
|
OS keyring); re-run it any time with `cade init`.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "cade-cli"
|
|
3
|
-
version = "0.16.
|
|
4
|
-
description = "Cade - The CLI Agent from Arcade.dev"
|
|
3
|
+
version = "0.16.1"
|
|
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"
|
|
7
7
|
license = {file = "LICENSE"}
|
|
@@ -47,7 +47,8 @@ dependencies = [
|
|
|
47
47
|
|
|
48
48
|
[project.urls]
|
|
49
49
|
Homepage = "https://arcade.dev"
|
|
50
|
-
Documentation = "https://
|
|
50
|
+
Documentation = "https://arcadeagent.dev/docs"
|
|
51
|
+
Install = "https://arcadeagent.dev/install"
|
|
51
52
|
Repository = "https://github.com/arcadeai-labs/cade"
|
|
52
53
|
Issues = "https://github.com/arcadeai-labs/cade/issues"
|
|
53
54
|
Changelog = "https://github.com/arcadeai-labs/cade/releases"
|
|
@@ -151,6 +151,12 @@ def build_gateway_app(
|
|
|
151
151
|
Returns:
|
|
152
152
|
A configured MCPApp with ``Cade_Ask`` registered.
|
|
153
153
|
"""
|
|
154
|
+
# Idempotent; required for curl/PyInstaller installs where tool source
|
|
155
|
+
# text is unavailable to arcade-core's return-value introspection.
|
|
156
|
+
from cadecoder.core.frozen import patch_frozen_return_detection
|
|
157
|
+
|
|
158
|
+
patch_frozen_return_detection()
|
|
159
|
+
|
|
154
160
|
validator = CadeTokenValidator(token_store) if require_auth else None
|
|
155
161
|
# Exposure enforcement runs as MCP middleware (forwarded to MCPServer via
|
|
156
162
|
# server_kwargs): it hides/blocks tools the principal's groups exclude.
|
|
@@ -92,6 +92,12 @@ async def run_daemon(
|
|
|
92
92
|
seam: an async ``(app, host, port)`` callable used instead of the real
|
|
93
93
|
uvicorn server so the wiring can be exercised without binding a socket.
|
|
94
94
|
"""
|
|
95
|
+
# Frozen/PyInstaller builds have no .py source for inspect.getsource();
|
|
96
|
+
# arcade-core needs this patch before any MCPApp.add_tool (Cade_Ask).
|
|
97
|
+
from cadecoder.core.frozen import patch_frozen_return_detection
|
|
98
|
+
|
|
99
|
+
patch_frozen_return_detection()
|
|
100
|
+
|
|
95
101
|
host, port = _parse_bind(bind)
|
|
96
102
|
_guard_auth_bind(host, require_auth)
|
|
97
103
|
prewarm = prewarm or []
|
|
@@ -110,7 +110,9 @@ def _try_attach_gateway(session: "ChatSession") -> bool:
|
|
|
110
110
|
log.info("chat session attached to cade daemon gateway")
|
|
111
111
|
return True
|
|
112
112
|
except Exception as e: # noqa: BLE001
|
|
113
|
-
|
|
113
|
+
# Warning (not debug): autostart is on by default; a silent fallback
|
|
114
|
+
# hides a broken daemon (e.g. frozen binary crash during gateway boot).
|
|
115
|
+
log.warning(f"gateway attach unavailable, using embedded orchestrator: {e}")
|
|
114
116
|
session._gateway = None
|
|
115
117
|
return False
|
|
116
118
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|