cade-cli 0.16.4__tar.gz → 0.16.5__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.4 → cade_cli-0.16.5}/PKG-INFO +2 -2
- {cade_cli-0.16.4 → cade_cli-0.16.5}/README.md +1 -1
- {cade_cli-0.16.4 → cade_cli-0.16.5}/pyproject.toml +1 -1
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/cli/commands/daemon.py +13 -5
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/server.py +15 -1
- {cade_cli-0.16.4 → cade_cli-0.16.5}/.gitignore +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/LICENSE +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/__init__.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/__main__.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/_metadata.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/config.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/errors.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/grants.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/resources.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/sandbox.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/server.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/tools/__init__.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/tools/_read_cache.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/tools/access.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/tools/agents.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/tools/context.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/tools/filesystem.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/tools/git.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/tools/notifications.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/tools/questions.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/tools/results.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/tools/schemas.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/tools/search.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/tools/shell.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/tools/snippets.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/tools/tasks.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/tools/web_fetch.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/tools/web_search.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/utils.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/web/__init__.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/web/arcade_client.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/web/cache.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/web/extract.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/web/markdown.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/web/preapproved.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/web/prompts.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/web/scrape.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/web/search/__init__.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/web/search/arcade.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/web/search/base.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cade_mcp_local/web/search/http.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/__init__.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/ai/__init__.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/ai/prompts.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/cli/__init__.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/cli/app.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/cli/auth.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/cli/commands/__init__.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/cli/commands/account.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/cli/commands/agents.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/cli/commands/auth.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/cli/commands/chat.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/cli/commands/cron.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/cli/commands/grant.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/cli/commands/hooks.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/cli/commands/mcp.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/cli/commands/mem.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/cli/commands/tasks.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/cli/commands/thread.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/cli/commands/tools.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/cli/mcp_hosts.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/cli/onboarding.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/core/__init__.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/core/agent.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/core/comms.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/core/config.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/core/constants.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/core/errors.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/core/frozen.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/core/git.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/core/inbox.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/core/logging.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/core/memory.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/core/model_specs.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/core/names.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/core/paths.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/core/runtime.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/core/secrets.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/core/spawn.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/core/types.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/__init__.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/adapters/__init__.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/adapters/base.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/adapters/factory.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/adapters/imessage.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/adapters/registry.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/adapters/stub.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/adapters/telegram.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/allowlist.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/attach.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/chunker.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/client.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/commands.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/config.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/control.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/cron.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/elicitation.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/ensure.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/format.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/gateway/__init__.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/gateway/app.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/gateway/arcade_export.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/gateway/auth.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/gateway/constants.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/gateway/elicitation.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/gateway/exposure.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/gateway/limits.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/gateway/middleware.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/gateway/resources.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/gateway/subscriptions.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/gateway/turn_bridge.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/grants.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/inbox_cron.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/install.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/live.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/lock.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/mesh.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/message_pump.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/observability.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/owner.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/progress_sink.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/registry.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/router.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/runner.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/runner_main.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/secrets.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/secrets_broker.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/services.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/shim.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/sinks.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/supervisor.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/tokens.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/traffic.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/turns.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/daemon/wake.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/execution/__init__.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/execution/context_window.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/execution/mcp_schema_index.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/execution/orchestrator.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/execution/parallel.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/execution/tool_result_store.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/execution/tool_schema_cache.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/hooks/__init__.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/hooks/config.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/hooks/engine.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/hooks/executors/__init__.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/hooks/executors/callback.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/hooks/executors/command.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/hooks/executors/http.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/hooks/executors/prompt.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/hooks/executors/ssrf_guard.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/hooks/matchers.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/hooks/registry.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/hooks/types.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/providers/__init__.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/providers/anthropic.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/providers/base.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/providers/http_client.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/providers/ollama.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/providers/openai.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/serve/__init__.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/storage/__init__.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/storage/threads.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/tasks/__init__.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/tasks/scheduler.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/tasks/store.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/tasks/types.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/templates/login_failed.html +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/templates/login_success.html +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/templates/serve/launchd.plist.tmpl +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/templates/serve/serve.toml.example +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/templates/serve/systemd.service.tmpl +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/templates/styles.css +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/tools/__init__.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/tools/manager/__init__.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/tools/manager/_request_ctx.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/tools/manager/base.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/tools/manager/composite.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/tools/manager/config.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/tools/manager/mcp.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/tools/search/__init__.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/tools/search/discovered.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/tools/search/scoring.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/tools/search/service.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/ui/__init__.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/ui/completion.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/ui/display.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/ui/elicitation.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/ui/input.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/ui/session.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/ui/slash.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/voice/__init__.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/voice/audio.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/voice/cleanup.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/voice/session.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/src/cadecoder/voice/stt.py +0 -0
- {cade_cli-0.16.4 → cade_cli-0.16.5}/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.
|
|
3
|
+
Version: 0.16.5
|
|
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
|
|
@@ -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.
|
|
132
|
+
CADE_VERSION=0.16.5 CADE_INSTALL_DIR=/usr/local/bin \
|
|
133
133
|
sh -c "$(curl -fsSL https://arcadeagent.dev/install)"
|
|
134
134
|
```
|
|
135
135
|
|
|
@@ -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.
|
|
41
|
+
CADE_VERSION=0.16.5 CADE_INSTALL_DIR=/usr/local/bin \
|
|
42
42
|
sh -c "$(curl -fsSL https://arcadeagent.dev/install)"
|
|
43
43
|
```
|
|
44
44
|
|
|
@@ -103,9 +103,16 @@ def start(
|
|
|
103
103
|
prewarm: list[str] = typer.Option(
|
|
104
104
|
None, "--prewarm", help="Agent to start at boot (repeatable)."
|
|
105
105
|
),
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
106
|
+
auth: Annotated[
|
|
107
|
+
bool | None,
|
|
108
|
+
typer.Option(
|
|
109
|
+
"--auth/--no-auth",
|
|
110
|
+
help=(
|
|
111
|
+
"Require bearer tokens. Default: off on loopback (stdio MCP hosts / "
|
|
112
|
+
"CLI attach), on for non-loopback binds. --no-auth is refused off-loopback."
|
|
113
|
+
),
|
|
114
|
+
),
|
|
115
|
+
] = None,
|
|
109
116
|
verbose: Annotated[
|
|
110
117
|
bool,
|
|
111
118
|
typer.Option(
|
|
@@ -117,7 +124,7 @@ def start(
|
|
|
117
124
|
) -> None:
|
|
118
125
|
"""Run the gateway supervisor in the foreground (serves all agents)."""
|
|
119
126
|
from cadecoder.daemon.lock import DaemonAlreadyRunningError
|
|
120
|
-
from cadecoder.daemon.server import UnsafeBindError, run_daemon
|
|
127
|
+
from cadecoder.daemon.server import UnsafeBindError, resolve_require_auth, run_daemon
|
|
121
128
|
|
|
122
129
|
if verbose:
|
|
123
130
|
from cadecoder.core.logging import setup_logging
|
|
@@ -130,9 +137,10 @@ def start(
|
|
|
130
137
|
"(recv/send/turn/tool/cron/wake/reject) to stdout[/dim]"
|
|
131
138
|
)
|
|
132
139
|
|
|
140
|
+
require_auth = resolve_require_auth(bind=bind, auth=auth)
|
|
133
141
|
try:
|
|
134
142
|
code = asyncio.run(
|
|
135
|
-
run_daemon(bind=bind, prewarm=list(prewarm or []), require_auth=
|
|
143
|
+
run_daemon(bind=bind, prewarm=list(prewarm or []), require_auth=require_auth)
|
|
136
144
|
)
|
|
137
145
|
except DaemonAlreadyRunningError as e:
|
|
138
146
|
console.print(f"[red]{e}[/red]")
|
|
@@ -42,6 +42,20 @@ class UnsafeBindError(RuntimeError):
|
|
|
42
42
|
"""Refused: auth is off but the bind is reachable off-box."""
|
|
43
43
|
|
|
44
44
|
|
|
45
|
+
def resolve_require_auth(*, bind: str, auth: bool | None) -> bool:
|
|
46
|
+
"""Decide whether the gateway should require bearer tokens.
|
|
47
|
+
|
|
48
|
+
When ``auth`` is ``None`` (CLI default), loopback binds run unauthenticated
|
|
49
|
+
so stdio MCP hosts and CLI attach work without a token; non-loopback binds
|
|
50
|
+
require auth. Explicit ``--auth`` / ``--no-auth`` always win (subject to
|
|
51
|
+
:func:`_guard_auth_bind`).
|
|
52
|
+
"""
|
|
53
|
+
host, _ = _parse_bind(bind)
|
|
54
|
+
if auth is not None:
|
|
55
|
+
return auth
|
|
56
|
+
return host not in _LOOPBACK_HOSTS
|
|
57
|
+
|
|
58
|
+
|
|
45
59
|
def _guard_auth_bind(host: str, require_auth: bool) -> None:
|
|
46
60
|
"""Refuse to run unauthenticated on a non-loopback bind.
|
|
47
61
|
|
|
@@ -52,7 +66,7 @@ def _guard_auth_bind(host: str, require_auth: bool) -> None:
|
|
|
52
66
|
if not require_auth and host not in _LOOPBACK_HOSTS:
|
|
53
67
|
raise UnsafeBindError(
|
|
54
68
|
f"refusing to run with auth disabled on non-loopback bind {host!r}; "
|
|
55
|
-
"mint a token and
|
|
69
|
+
"mint a token and pass --auth, or bind 127.0.0.1"
|
|
56
70
|
)
|
|
57
71
|
|
|
58
72
|
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|