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.
- {cade_cli-0.16.6 → cade_cli-0.16.7}/PKG-INFO +35 -32
- {cade_cli-0.16.6 → cade_cli-0.16.7}/README.md +34 -31
- {cade_cli-0.16.6 → cade_cli-0.16.7}/pyproject.toml +1 -1
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/resources.py +2 -2
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/tools/access.py +2 -2
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/tools/agents.py +3 -3
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/app.py +68 -186
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/commands/account.py +106 -7
- cade_cli-0.16.7/src/cadecoder/cli/commands/agent_group.py +140 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/commands/agents.py +11 -9
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/commands/chat.py +31 -8
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/commands/daemon.py +4 -1
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/commands/mcp.py +97 -22
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/commands/mem.py +3 -2
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/commands/thread.py +4 -4
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/commands/tools.py +41 -8
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/mcp_hosts.py +0 -1
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/onboarding.py +5 -6
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/agent.py +1 -1
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/errors.py +2 -2
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/spawn.py +1 -1
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/mesh.py +1 -1
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/supervisor.py +1 -1
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/tools/manager/config.py +3 -3
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/ui/session.py +2 -2
- {cade_cli-0.16.6 → cade_cli-0.16.7}/.gitignore +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/LICENSE +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/__init__.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/__main__.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/_metadata.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/config.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/errors.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/grants.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/sandbox.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/server.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/tools/__init__.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/tools/_read_cache.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/tools/context.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/tools/filesystem.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/tools/git.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/tools/notifications.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/tools/questions.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/tools/results.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/tools/schemas.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/tools/search.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/tools/shell.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/tools/snippets.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/tools/tasks.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/tools/web_fetch.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/tools/web_search.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/utils.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/web/__init__.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/web/arcade_client.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/web/cache.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/web/extract.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/web/markdown.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/web/preapproved.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/web/prompts.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/web/scrape.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/web/search/__init__.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/web/search/arcade.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/web/search/base.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cade_mcp_local/web/search/http.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/__init__.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/ai/__init__.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/ai/prompts.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/__init__.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/auth.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/commands/__init__.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/commands/auth.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/commands/cron.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/commands/grant.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/commands/hooks.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/cli/commands/tasks.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/__init__.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/comms.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/config.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/constants.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/frozen.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/git.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/inbox.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/logging.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/memory.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/model_specs.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/names.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/paths.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/runtime.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/secrets.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/core/types.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/__init__.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/adapters/__init__.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/adapters/base.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/adapters/factory.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/adapters/imessage.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/adapters/registry.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/adapters/stub.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/adapters/telegram.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/allowlist.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/attach.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/chunker.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/client.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/commands.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/config.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/control.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/cron.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/elicitation.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/ensure.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/format.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/gateway/__init__.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/gateway/app.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/gateway/arcade_export.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/gateway/auth.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/gateway/constants.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/gateway/elicitation.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/gateway/exposure.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/gateway/limits.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/gateway/middleware.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/gateway/resources.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/gateway/subscriptions.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/gateway/turn_bridge.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/grants.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/inbox_cron.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/install.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/live.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/lock.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/message_pump.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/observability.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/owner.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/progress_sink.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/registry.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/router.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/runner.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/runner_main.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/secrets.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/secrets_broker.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/server.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/services.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/shim.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/sinks.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/tokens.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/traffic.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/turns.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/daemon/wake.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/execution/__init__.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/execution/context_window.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/execution/mcp_schema_index.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/execution/orchestrator.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/execution/parallel.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/execution/tool_result_store.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/execution/tool_schema_cache.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/hooks/__init__.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/hooks/config.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/hooks/engine.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/hooks/executors/__init__.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/hooks/executors/callback.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/hooks/executors/command.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/hooks/executors/http.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/hooks/executors/prompt.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/hooks/executors/ssrf_guard.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/hooks/matchers.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/hooks/registry.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/hooks/types.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/providers/__init__.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/providers/anthropic.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/providers/base.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/providers/http_client.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/providers/ollama.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/providers/openai.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/serve/__init__.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/storage/__init__.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/storage/threads.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/tasks/__init__.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/tasks/scheduler.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/tasks/store.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/tasks/types.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/templates/login_failed.html +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/templates/login_success.html +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/templates/serve/launchd.plist.tmpl +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/templates/serve/serve.toml.example +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/templates/serve/systemd.service.tmpl +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/templates/styles.css +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/tools/__init__.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/tools/manager/__init__.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/tools/manager/_request_ctx.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/tools/manager/base.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/tools/manager/composite.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/tools/manager/mcp.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/tools/search/__init__.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/tools/search/discovered.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/tools/search/scoring.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/tools/search/service.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/ui/__init__.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/ui/completion.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/ui/display.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/ui/elicitation.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/ui/input.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/ui/slash.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/voice/__init__.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/voice/audio.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/voice/cleanup.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/voice/session.py +0 -0
- {cade_cli-0.16.6 → cade_cli-0.16.7}/src/cadecoder/voice/stt.py +0 -0
- {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.
|
|
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
|
|
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.
|
|
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
|
|
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 (
|
|
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
|
|
218
|
-
cade tools list --source local
|
|
219
|
-
cade tools search "send slack"
|
|
220
|
-
cade tools info Local_ReadFile
|
|
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 /
|
|
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."
|
|
247
|
-
cade list
|
|
248
|
-
cade use reviewer
|
|
249
|
-
cade info / cade edit reviewer
|
|
250
|
-
|
|
251
|
-
cade mem
|
|
252
|
-
cade mem add ~/notes
|
|
253
|
-
cade mem search "auth design"
|
|
254
|
-
cade mem warm
|
|
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
|
|
292
|
-
| **Tasks** | Durable work units that survive turn boundaries | `cade tasks
|
|
293
|
-
| **Cron** | Scheduled prompts the agent runs on a timer | `cade cron
|
|
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
|
|
296
|
-
|
|
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
|
|
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.
|
|
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
|
|
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 (
|
|
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
|
|
127
|
-
cade tools list --source local
|
|
128
|
-
cade tools search "send slack"
|
|
129
|
-
cade tools info Local_ReadFile
|
|
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 /
|
|
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."
|
|
156
|
-
cade list
|
|
157
|
-
cade use reviewer
|
|
158
|
-
cade info / cade edit reviewer
|
|
159
|
-
|
|
160
|
-
cade mem
|
|
161
|
-
cade mem add ~/notes
|
|
162
|
-
cade mem search "auth design"
|
|
163
|
-
cade mem warm
|
|
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
|
|
201
|
-
| **Tasks** | Durable work units that survive turn boundaries | `cade tasks
|
|
202
|
-
| **Cron** | Scheduled prompts the agent runs on a timer | `cade cron
|
|
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
|
|
205
|
-
|
|
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
|
|
|
@@ -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}")
|