cade-cli 0.3.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. cade_cli-0.3.3/.gitignore +43 -0
  2. cade_cli-0.3.3/PKG-INFO +151 -0
  3. cade_cli-0.3.3/README.md +97 -0
  4. cade_cli-0.3.3/pyproject.toml +119 -0
  5. cade_cli-0.3.3/src/cadecoder/__init__.py +1 -0
  6. cade_cli-0.3.3/src/cadecoder/ai/__init__.py +6 -0
  7. cade_cli-0.3.3/src/cadecoder/ai/prompts.py +572 -0
  8. cade_cli-0.3.3/src/cadecoder/cli/__init__.py +0 -0
  9. cade_cli-0.3.3/src/cadecoder/cli/app.py +147 -0
  10. cade_cli-0.3.3/src/cadecoder/cli/auth.py +483 -0
  11. cade_cli-0.3.3/src/cadecoder/cli/commands/__init__.py +5 -0
  12. cade_cli-0.3.3/src/cadecoder/cli/commands/auth.py +143 -0
  13. cade_cli-0.3.3/src/cadecoder/cli/commands/chat.py +264 -0
  14. cade_cli-0.3.3/src/cadecoder/cli/commands/mcp.py +477 -0
  15. cade_cli-0.3.3/src/cadecoder/cli/commands/tools.py +226 -0
  16. cade_cli-0.3.3/src/cadecoder/core/__init__.py +12 -0
  17. cade_cli-0.3.3/src/cadecoder/core/config.py +380 -0
  18. cade_cli-0.3.3/src/cadecoder/core/constants.py +281 -0
  19. cade_cli-0.3.3/src/cadecoder/core/errors.py +145 -0
  20. cade_cli-0.3.3/src/cadecoder/core/logging.py +148 -0
  21. cade_cli-0.3.3/src/cadecoder/core/types.py +235 -0
  22. cade_cli-0.3.3/src/cadecoder/core/utils.py +279 -0
  23. cade_cli-0.3.3/src/cadecoder/execution/__init__.py +46 -0
  24. cade_cli-0.3.3/src/cadecoder/execution/context_window.py +521 -0
  25. cade_cli-0.3.3/src/cadecoder/execution/orchestrator.py +562 -0
  26. cade_cli-0.3.3/src/cadecoder/execution/parallel.py +287 -0
  27. cade_cli-0.3.3/src/cadecoder/providers/__init__.py +60 -0
  28. cade_cli-0.3.3/src/cadecoder/providers/base.py +294 -0
  29. cade_cli-0.3.3/src/cadecoder/providers/openai.py +251 -0
  30. cade_cli-0.3.3/src/cadecoder/storage/__init__.py +0 -0
  31. cade_cli-0.3.3/src/cadecoder/storage/threads.py +489 -0
  32. cade_cli-0.3.3/src/cadecoder/templates/login_failed.html +21 -0
  33. cade_cli-0.3.3/src/cadecoder/templates/login_success.html +21 -0
  34. cade_cli-0.3.3/src/cadecoder/templates/styles.css +87 -0
  35. cade_cli-0.3.3/src/cadecoder/tools/__init__.py +19 -0
  36. cade_cli-0.3.3/src/cadecoder/tools/builtin.py +644 -0
  37. cade_cli-0.3.3/src/cadecoder/tools/filesystem.py +315 -0
  38. cade_cli-0.3.3/src/cadecoder/tools/git.py +221 -0
  39. cade_cli-0.3.3/src/cadecoder/tools/manager.py +1635 -0
  40. cade_cli-0.3.3/src/cadecoder/ui/__init__.py +7 -0
  41. cade_cli-0.3.3/src/cadecoder/ui/display.py +338 -0
  42. cade_cli-0.3.3/src/cadecoder/ui/input.py +145 -0
  43. cade_cli-0.3.3/src/cadecoder/ui/session.py +455 -0
  44. cade_cli-0.3.3/src/cadecoder/ui/state.py +20 -0
@@ -0,0 +1,43 @@
1
+ # Byte‑compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ .claude/
7
+ CLAUDE.md
8
+ .env
9
+
10
+
11
+ # Virtual environments
12
+ .venv/
13
+ venv/
14
+ ENV/
15
+
16
+ # Editor & OS
17
+ .DS_Store
18
+ .idea/
19
+ .vscode/
20
+ .cursor/
21
+ .pytest_cache/
22
+ .ruff_cache/
23
+ cade.py
24
+
25
+ # Test
26
+ htmlcov/
27
+ .coverage
28
+
29
+ # Python packaging
30
+ *.egg-info/
31
+ dist/
32
+ build/
33
+
34
+ # Logs
35
+ *.log
36
+
37
+ # Cache
38
+ .cache/
39
+
40
+ # Virtual environment
41
+ .venv
42
+ activate.sh
43
+ docs/
@@ -0,0 +1,151 @@
1
+ Metadata-Version: 2.4
2
+ Name: cade-cli
3
+ Version: 0.3.3
4
+ Summary: Cade - The CLI Agent from Arcade.dev
5
+ Project-URL: Homepage, https://arcade.dev
6
+ Project-URL: Documentation, https://docs.arcade.dev
7
+ Project-URL: Repository, https://github.com/arcadeai-labs/cade
8
+ Project-URL: Issues, https://github.com/arcadeai-labs/cade/issues
9
+ Project-URL: Changelog, https://github.com/arcadeai-labs/cade/releases
10
+ Author-email: "Arcade AI Inc." <dev@arcade.dev>
11
+ License: MIT
12
+ Keywords: agent,ai,arcade,cli,coding-assistant,llm,mcp
13
+ Classifier: Development Status :: 4 - Beta
14
+ Classifier: Environment :: Console
15
+ Classifier: Intended Audience :: Developers
16
+ Classifier: License :: OSI Approved :: MIT License
17
+ Classifier: Operating System :: OS Independent
18
+ Classifier: Programming Language :: Python :: 3
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Topic :: Software Development
22
+ Classifier: Topic :: Software Development :: Code Generators
23
+ Classifier: Typing :: Typed
24
+ Requires-Python: >=3.11
25
+ Requires-Dist: anthropic<1.0.0,>=0.34.0
26
+ Requires-Dist: arcade-core<5.0.0,>=4.1.0
27
+ Requires-Dist: arcade-tdk>=2.0.0
28
+ Requires-Dist: arcadepy>=1.3.1
29
+ Requires-Dist: authlib<2.0.0,>=1.6.0
30
+ Requires-Dist: httpx<1.0.0,>=0.27.0
31
+ Requires-Dist: openai<2.0.0,>=1.0.0
32
+ Requires-Dist: prompt-toolkit>=3.0.52
33
+ Requires-Dist: pydantic[email]<3.0.0,>=2.0.0
34
+ Requires-Dist: pyperclip<2.0.0,>=1.8.0
35
+ Requires-Dist: pyyaml<7.0.0,>=6.0
36
+ Requires-Dist: rich<14.0.0,>=13.0.0
37
+ Requires-Dist: tiktoken>=0.11.0
38
+ Requires-Dist: toml<1.0.0,>=0.10.0
39
+ Requires-Dist: typer>0.10.0
40
+ Requires-Dist: ulid==1.1
41
+ Provides-Extra: dev
42
+ Requires-Dist: mypy<2.0.0,>=1.10.0; extra == 'dev'
43
+ Requires-Dist: pytest-asyncio<1.0.0,>=0.24.0; extra == 'dev'
44
+ Requires-Dist: pytest-cov<5.0.0,>=4.0.0; extra == 'dev'
45
+ Requires-Dist: pytest-mock<4.0.0,>=3.11.0; extra == 'dev'
46
+ Requires-Dist: pytest<9.0.0,>=8.0.0; extra == 'dev'
47
+ Requires-Dist: ruff<1.0.0,>=0.5.0; extra == 'dev'
48
+ Provides-Extra: training
49
+ Requires-Dist: accelerate>=0.27.0; extra == 'training'
50
+ Requires-Dist: safetensors>=0.4.2; extra == 'training'
51
+ Requires-Dist: torch>=2.1.0; extra == 'training'
52
+ Requires-Dist: transformers>=4.38.0; extra == 'training'
53
+ Description-Content-Type: text/markdown
54
+
55
+ # CadeCoder
56
+
57
+ Arcade powered assistant for coding and everyday tasks.
58
+
59
+ ## Installation
60
+
61
+ ### Prerequisites
62
+
63
+ - Python 3.11+
64
+ - uv (recommended Python package manager)
65
+ - An Arcade account with credentials (for `cade login`)
66
+
67
+ Install uv (if needed):
68
+ ```bash
69
+ curl -LsSf https://astral.sh/uv/install.sh | sh
70
+ ```
71
+
72
+ ### Option A: Install directly from GitHub with uv
73
+
74
+ ```bash
75
+ uv pip install "git+https://github.com/ArcadeAI/cadecode.git#egg=cadecoder"
76
+ ```
77
+
78
+ This installs the `cade` CLI into your current environment. Use a virtual environment if preferred:
79
+ ```bash
80
+ uv venv --python 3.11
81
+ . .venv/bin/activate
82
+ uv pip install "git+https://github.com/ArcadeAI/cadecode.git#egg=cadecoder"
83
+ ```
84
+
85
+ ### Option B: Clone and install locally
86
+
87
+ ```bash
88
+ git clone https://github.com/ArcadeAI/cadecode.git
89
+ cd cadecode
90
+ uv venv --python 3.11
91
+ . .venv/bin/activate
92
+ uv sync # installs from pyproject.toml
93
+ ```
94
+
95
+ (Optional) If you prefer editable mode with dev extras:
96
+ ```bash
97
+ uv pip install -e '.[dev]'
98
+ ```
99
+
100
+ (Optional) ML training dependencies:
101
+ ```bash
102
+ # Only training deps
103
+ uv pip install -e '.[training]'
104
+
105
+ # Dev + training together
106
+ uv pip install -e '.[dev,training]'
107
+ ```
108
+
109
+ ### Authenticate
110
+
111
+ Log in to Arcade Cloud:
112
+ ```bash
113
+ cade login
114
+ ```
115
+
116
+ You should now be ready to use `cade`.
117
+
118
+ ## Usage
119
+
120
+ Start an interactive chat session:
121
+ ```bash
122
+ cade chat
123
+ ```
124
+
125
+ Common options:
126
+ - `--model, -m`: Specify AI model (default: gpt-4.1)
127
+ - `--verbose, -v`: Enable verbose logging
128
+
129
+ Resume the most recent thread:
130
+ ```bash
131
+ cade --resume
132
+ ```
133
+
134
+ List threads:
135
+ ```bash
136
+ cade thread list
137
+ ```
138
+
139
+ ## Notes on local ML models
140
+
141
+ CadeCoder can optionally use local classifiers for routing. If models are not present, CadeCoder will operate with built-in fallbacks. Advanced users can synchronize models using the developer Makefile targets described in `DEVELOPER.md`.
142
+
143
+ ## Developer Guide
144
+
145
+ If you plan to contribute or work with the developer tooling (Makefile, S3 buckets, model sync, releases), see:
146
+
147
+ - DEVELOPER.md
148
+
149
+ ## License
150
+
151
+ MIT License
@@ -0,0 +1,97 @@
1
+ # CadeCoder
2
+
3
+ Arcade powered assistant for coding and everyday tasks.
4
+
5
+ ## Installation
6
+
7
+ ### Prerequisites
8
+
9
+ - Python 3.11+
10
+ - uv (recommended Python package manager)
11
+ - An Arcade account with credentials (for `cade login`)
12
+
13
+ Install uv (if needed):
14
+ ```bash
15
+ curl -LsSf https://astral.sh/uv/install.sh | sh
16
+ ```
17
+
18
+ ### Option A: Install directly from GitHub with uv
19
+
20
+ ```bash
21
+ uv pip install "git+https://github.com/ArcadeAI/cadecode.git#egg=cadecoder"
22
+ ```
23
+
24
+ This installs the `cade` CLI into your current environment. Use a virtual environment if preferred:
25
+ ```bash
26
+ uv venv --python 3.11
27
+ . .venv/bin/activate
28
+ uv pip install "git+https://github.com/ArcadeAI/cadecode.git#egg=cadecoder"
29
+ ```
30
+
31
+ ### Option B: Clone and install locally
32
+
33
+ ```bash
34
+ git clone https://github.com/ArcadeAI/cadecode.git
35
+ cd cadecode
36
+ uv venv --python 3.11
37
+ . .venv/bin/activate
38
+ uv sync # installs from pyproject.toml
39
+ ```
40
+
41
+ (Optional) If you prefer editable mode with dev extras:
42
+ ```bash
43
+ uv pip install -e '.[dev]'
44
+ ```
45
+
46
+ (Optional) ML training dependencies:
47
+ ```bash
48
+ # Only training deps
49
+ uv pip install -e '.[training]'
50
+
51
+ # Dev + training together
52
+ uv pip install -e '.[dev,training]'
53
+ ```
54
+
55
+ ### Authenticate
56
+
57
+ Log in to Arcade Cloud:
58
+ ```bash
59
+ cade login
60
+ ```
61
+
62
+ You should now be ready to use `cade`.
63
+
64
+ ## Usage
65
+
66
+ Start an interactive chat session:
67
+ ```bash
68
+ cade chat
69
+ ```
70
+
71
+ Common options:
72
+ - `--model, -m`: Specify AI model (default: gpt-4.1)
73
+ - `--verbose, -v`: Enable verbose logging
74
+
75
+ Resume the most recent thread:
76
+ ```bash
77
+ cade --resume
78
+ ```
79
+
80
+ List threads:
81
+ ```bash
82
+ cade thread list
83
+ ```
84
+
85
+ ## Notes on local ML models
86
+
87
+ CadeCoder can optionally use local classifiers for routing. If models are not present, CadeCoder will operate with built-in fallbacks. Advanced users can synchronize models using the developer Makefile targets described in `DEVELOPER.md`.
88
+
89
+ ## Developer Guide
90
+
91
+ If you plan to contribute or work with the developer tooling (Makefile, S3 buckets, model sync, releases), see:
92
+
93
+ - DEVELOPER.md
94
+
95
+ ## License
96
+
97
+ MIT License
@@ -0,0 +1,119 @@
1
+ [project]
2
+ name = "cade-cli"
3
+ version = "0.3.3"
4
+ description = "Cade - The CLI Agent from Arcade.dev"
5
+ readme = "README.md"
6
+ requires-python = ">=3.11"
7
+ license = {text = "MIT"}
8
+ authors = [
9
+ { name = "Arcade AI Inc.", email = "dev@arcade.dev" },
10
+ ]
11
+ keywords = ["cli", "agent", "ai", "arcade", "mcp", "llm", "coding-assistant"]
12
+ classifiers = [
13
+ "Development Status :: 4 - Beta",
14
+ "Environment :: Console",
15
+ "Intended Audience :: Developers",
16
+ "License :: OSI Approved :: MIT License",
17
+ "Operating System :: OS Independent",
18
+ "Programming Language :: Python :: 3",
19
+ "Programming Language :: Python :: 3.11",
20
+ "Programming Language :: Python :: 3.12",
21
+ "Topic :: Software Development",
22
+ "Topic :: Software Development :: Code Generators",
23
+ "Typing :: Typed",
24
+ ]
25
+ dependencies = [
26
+ "rich>=13.0.0,<14.0.0",
27
+ "typer>0.10.0",
28
+ "pydantic[email]>=2.0.0,<3.0.0",
29
+ "toml>=0.10.0,<1.0.0",
30
+ "pyyaml>=6.0,<7.0.0",
31
+ "arcadepy>=1.3.1",
32
+ "openai>=1.0.0,<2.0.0",
33
+ "anthropic>=0.34.0,<1.0.0",
34
+ "ulid==1.1",
35
+ "arcade-tdk>=2.0.0",
36
+ "arcade-core>=4.1.0,<5.0.0",
37
+ "authlib>=1.6.0,<2.0.0",
38
+ "pyperclip>=1.8.0,<2.0.0",
39
+ "prompt-toolkit>=3.0.52",
40
+ "tiktoken>=0.11.0",
41
+ "httpx>=0.27.0,<1.0.0",
42
+ ]
43
+
44
+ [project.urls]
45
+ Homepage = "https://arcade.dev"
46
+ Documentation = "https://docs.arcade.dev"
47
+ Repository = "https://github.com/arcadeai-labs/cade"
48
+ Issues = "https://github.com/arcadeai-labs/cade/issues"
49
+ Changelog = "https://github.com/arcadeai-labs/cade/releases"
50
+
51
+ [project.scripts]
52
+ cade = "cadecoder.cli.app:app"
53
+
54
+ [project.optional-dependencies]
55
+ dev = [
56
+ "ruff>=0.5.0,<1.0.0",
57
+ "pytest>=8.0.0,<9.0.0",
58
+ "pytest-mock>=3.11.0,<4.0.0",
59
+ "pytest-asyncio>=0.24.0,<1.0.0",
60
+ "pytest-cov>=4.0.0,<5.0.0",
61
+ "mypy>=1.10.0,<2.0.0",
62
+ ]
63
+ training = [
64
+ "torch>=2.1.0",
65
+ "transformers>=4.38.0",
66
+ "accelerate>=0.27.0",
67
+ "safetensors>=0.4.2",
68
+ ]
69
+
70
+ [build-system]
71
+ requires = ["hatchling"]
72
+ build-backend = "hatchling.build"
73
+
74
+ [tool.hatch.metadata]
75
+ allow-direct-references = true
76
+
77
+ [tool.hatch.build.targets.sdist]
78
+ include = ["src/cadecoder"]
79
+
80
+ [tool.hatch.build.targets.wheel]
81
+ packages = ["src/cadecoder"]
82
+
83
+ [tool.ruff]
84
+ line-length = 100
85
+ target-version = "py311"
86
+
87
+ [tool.ruff.lint]
88
+ select = ["E", "F", "W", "I", "UP"]
89
+ ignore = ["E501"]
90
+
91
+ [tool.ruff.format]
92
+ quote-style = "double"
93
+
94
+ [tool.mypy]
95
+ python_version = "3.11"
96
+ warn_unused_ignores = false
97
+ ignore_missing_imports = true
98
+ follow_imports = "silent"
99
+ disable_error_code = [
100
+ "import-untyped",
101
+ "assignment",
102
+ "call-arg",
103
+ "arg-type",
104
+ "var-annotated",
105
+ "attr-defined",
106
+ "index",
107
+ "union-attr",
108
+ "typeddict-item",
109
+ "no-redef",
110
+ "return-value",
111
+ "annotation-unchecked",
112
+ ]
113
+ files = ["src/cadecoder"]
114
+
115
+ [tool.mypy-ulid]
116
+ ignore_missing_imports = true
117
+
118
+ [tool.mypy-pyperclip]
119
+ ignore_missing_imports = true
@@ -0,0 +1 @@
1
+ __version__ = "0.1.0"
@@ -0,0 +1,6 @@
1
+ """AI module for CadeCoder.
2
+
3
+ This module provides AI integration functionality for code assistance.
4
+ """
5
+
6
+ __all__ = []