vamp-cli 0.1.2__tar.gz → 0.1.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 (74) hide show
  1. vamp_cli-0.1.3/MANIFEST.in +1 -0
  2. {vamp_cli-0.1.2/src/vamp_cli.egg-info → vamp_cli-0.1.3}/PKG-INFO +2 -2
  3. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/README.md +1 -1
  4. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/pyproject.toml +2 -2
  5. vamp_cli-0.1.3/src/vamp_cli/config/default_config.yaml +291 -0
  6. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/main.py +1 -1
  7. {vamp_cli-0.1.2 → vamp_cli-0.1.3/src/vamp_cli.egg-info}/PKG-INFO +2 -2
  8. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli.egg-info/SOURCES.txt +2 -0
  9. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/LICENSE +0 -0
  10. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/setup.cfg +0 -0
  11. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/__init__.py +0 -0
  12. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/agent/__init__.py +0 -0
  13. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/agent/context_sync.py +0 -0
  14. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/agent/graph.py +0 -0
  15. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/agent/instructions.py +0 -0
  16. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/agent/nodes.py +0 -0
  17. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/agent/roles.py +0 -0
  18. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/agent/runtime/__init__.py +0 -0
  19. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/agent/runtime/runtime.py +0 -0
  20. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/agent/state.py +0 -0
  21. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/agent/status.py +0 -0
  22. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/config/__init__.py +0 -0
  23. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/config/loader.py +0 -0
  24. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/config/schema.py +0 -0
  25. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/llm/__init__.py +0 -0
  26. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/llm/adapter.py +0 -0
  27. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/llm/adapter_registry.py +0 -0
  28. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/llm/debug_callbacks.py +0 -0
  29. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/llm/router.py +0 -0
  30. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/llm/usage.py +0 -0
  31. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/logging_setup/logging_setup.py +0 -0
  32. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/persistence/__init__.py +0 -0
  33. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/persistence/compaction.py +0 -0
  34. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/persistence/emitter.py +0 -0
  35. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/persistence/event_log.py +0 -0
  36. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/persistence/fork.py +0 -0
  37. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/persistence/loader.py +0 -0
  38. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/persistence/transcript.py +0 -0
  39. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/prompts/agent.md +0 -0
  40. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/prompts/coder.md +0 -0
  41. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/prompts/planner.md +0 -0
  42. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/prompts/prompts.py +0 -0
  43. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/sandbox/__init__.py +0 -0
  44. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/sandbox/base.py +0 -0
  45. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/sandbox/config.py +0 -0
  46. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/sandbox/docker.py +0 -0
  47. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/sandbox/manager.py +0 -0
  48. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/sandbox/result.py +0 -0
  49. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/sandbox/terminal.py +0 -0
  50. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/tools/__init__.py +0 -0
  51. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/tools/base.py +0 -0
  52. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/tools/diagnostic.py +0 -0
  53. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/tools/execute_cmd.py +0 -0
  54. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/tools/files.py +0 -0
  55. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/tools/registry.py +0 -0
  56. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/tools/tools_classes.py +0 -0
  57. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/utils/__init__.py +0 -0
  58. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/utils/error_codes.py +0 -0
  59. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/utils/ignore.py +0 -0
  60. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/utils/sha_256.py +0 -0
  61. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/utils/token_tracker.py +0 -0
  62. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/workspace/__init__.py +0 -0
  63. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli/workspace/workspace.py +0 -0
  64. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli.egg-info/dependency_links.txt +0 -0
  65. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli.egg-info/entry_points.txt +0 -0
  66. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli.egg-info/requires.txt +0 -0
  67. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/src/vamp_cli.egg-info/top_level.txt +0 -0
  68. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/tests/test_list_dir.py +0 -0
  69. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/tests/test_loader.py +0 -0
  70. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/tests/test_model_fallbacks.py +0 -0
  71. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/tests/test_persistence.py +0 -0
  72. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/tests/test_registry_async.py +0 -0
  73. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/tests/test_sandbox_roundtrip.py +0 -0
  74. {vamp_cli-0.1.2 → vamp_cli-0.1.3}/tests/test_system_verification.py +0 -0
@@ -0,0 +1 @@
1
+ recursive-include src/vamp_cli/config *.yaml
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vamp-cli
3
- Version: 0.1.2
3
+ Version: 0.1.3
4
4
  Summary: VAMP-CLI is an interactive coding agent for working in a local repository. It combines a planner, a coder, model fallbacks, workspace-aware file tools, and a Docker-backed command sandbox in one terminal application. The agent can inspect and edit files, search a codebase, run commands, maintain a task list, and ask for confirmation before executing potentially dangerous operations.
5
5
  Author-email: Satyam Kumar <satkr2208@gmail.com>
6
6
  License: MIT License
@@ -91,7 +91,7 @@ The first run automatically builds the `vamp-sandbox:latest` image from [`src/va
91
91
  Create and activate a virtual environment, then install the project (all dependencies will be installed itself):
92
92
 
93
93
  ```bash
94
- python3.11 -m venv .venv
94
+ python3.12 -m venv .venv
95
95
  source .venv/bin/activate
96
96
  python -m pip install --upgrade pip
97
97
  python -m pip install vamp-cli
@@ -37,7 +37,7 @@ The first run automatically builds the `vamp-sandbox:latest` image from [`src/va
37
37
  Create and activate a virtual environment, then install the project (all dependencies will be installed itself):
38
38
 
39
39
  ```bash
40
- python3.11 -m venv .venv
40
+ python3.12 -m venv .venv
41
41
  source .venv/bin/activate
42
42
  python -m pip install --upgrade pip
43
43
  python -m pip install vamp-cli
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "vamp-cli"
7
- version = "0.1.2"
7
+ version = "0.1.3"
8
8
  authors = [
9
9
  { name = "Satyam Kumar", email = "satkr2208@gmail.com" }
10
10
  ]
@@ -43,7 +43,7 @@ dependencies = [
43
43
  where = ["src"]
44
44
 
45
45
  [tool.setuptools.package-data]
46
- vamp_cli = ["*.md", "**/*.md"]
46
+ vamp_cli = ["*.md", "**/*.md", "**/*.yaml"]
47
47
 
48
48
 
49
49
  [project.scripts]
@@ -0,0 +1,291 @@
1
+ models:
2
+ qwen:
3
+ model: dashscope/qwen3.6-flash
4
+ api_base: https://ws-n7c4pdh4ldno9hkc.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1
5
+ api_key_env: DASHSCOPE_API_KEY
6
+ adapter: reasoning
7
+ params:
8
+ temperature: 0.2
9
+ max_tokens: 8192
10
+ max_retries: 2
11
+ streaming: true
12
+ fallbacks: []
13
+ # - openai
14
+ capabilities:
15
+ supports_tools: true
16
+ supports_parallel_tools: false
17
+ supports_streaming: true
18
+ supports_reasoning: true
19
+ context_window: 128000
20
+
21
+ # (for DashScope native OpenAI mode)
22
+ reasoning_param: enable_thinking
23
+ reasoning_value: true
24
+
25
+ # (general)
26
+ # reasoning_param: thinking
27
+ # reasoning_value:
28
+ # type: enabled
29
+ # budget_tokens: 4000
30
+
31
+
32
+ openai:
33
+ model: openai/gpt-5.6-luna
34
+ api_base:
35
+ api_key_env: OPENAI_API_KEY
36
+ adapter: reasoning
37
+ params:
38
+ temperature: 0.2
39
+ max_tokens: 8192
40
+ max_retries: 2
41
+ streaming: true
42
+ fallbacks: []
43
+ capabilities:
44
+ supports_tools: true
45
+ supports_parallel_tools: false
46
+ supports_streaming: true
47
+ supports_reasoning: true
48
+ reasoning_param: reasoning_effort
49
+ reasoning_value: medium # Options: low, medium, high
50
+ context_window: 128000
51
+
52
+
53
+ anthropic:
54
+ model: anthropic/claude-opus-5-5
55
+ api_base:
56
+ api_key_env: ANTHROPIC_API_KEY
57
+ adapter: reasoning
58
+ params:
59
+ temperature: 0.2
60
+ max_tokens: 8192
61
+ max_retries: 2
62
+ streaming: true
63
+ fallbacks: []
64
+ capabilities:
65
+ supports_tools: true
66
+ supports_parallel_tools: false
67
+ supports_streaming: true
68
+ supports_reasoning: true
69
+ reasoning_param: thinking
70
+ reasoning_value:
71
+ type: adaptive
72
+ context_window: 128000
73
+ # or (for Opus 4.5, Sonnet 4.5, Haiku 4.5)
74
+ # reasoning_param: thinking
75
+ # reasoning_value:
76
+ # type: enabled
77
+ # budget_tokens: 4000
78
+
79
+
80
+
81
+ deepseek:
82
+ model: deepseek/deepseek-v4
83
+ api_base:
84
+ api_key_env: DEEPSEEK_API_KEY
85
+ adapter: reasoning
86
+ params:
87
+ temperature: 0.2
88
+ max_tokens: 8192
89
+ max_retries: 2
90
+ streaming: true
91
+ fallbacks: []
92
+ capabilities:
93
+ supports_tools: true
94
+ supports_parallel_tools: false
95
+ supports_streaming: true
96
+ supports_reasoning: true
97
+ reasoning_param: reasoning_effort
98
+ reasoning_value: high # Options: low, high, max context_window: 128000
99
+
100
+
101
+
102
+ kimi:
103
+ model: kimi/kimi
104
+ api_base:
105
+ api_key_env: KIMI_API_KEY
106
+ adapter: reasoning
107
+ params:
108
+ temperature: 0.2
109
+ max_tokens: 8192
110
+ max_retries: 2
111
+ streaming: true
112
+ fallbacks: []
113
+ capabilities:
114
+ supports_tools: true
115
+ supports_parallel_tools: false
116
+ supports_streaming: true
117
+ supports_reasoning: true
118
+ reasoning_param: reasoning_effort
119
+ reasoning_value: high # Options: low, high, max
120
+ context_window: 128000
121
+
122
+
123
+ gork:
124
+ model: gork/gork
125
+ api_base:
126
+ api_key_env: GORK_API_KEY
127
+ adapter: reasoning
128
+ params:
129
+ temperature: 0.2
130
+ max_tokens: 8192
131
+ max_retries: 2
132
+ streaming: true
133
+ fallbacks: []
134
+ capabilities:
135
+ supports_tools: true
136
+ supports_parallel_tools: false
137
+ supports_streaming: true
138
+ supports_reasoning: true
139
+ reasoning_param: reasoning_effort
140
+ reasoning_value: high # Options: low, high, max, xhigh
141
+ context_window: 128000
142
+
143
+
144
+ gemini:
145
+ model: gemini/gemini
146
+ api_base:
147
+ api_key_env: GEMINI_API_KEY
148
+ adapter: reasoning
149
+ params:
150
+ temperature: 0.2
151
+ max_tokens: 8192
152
+ max_retries: 2
153
+ streaming: true
154
+ fallbacks: []
155
+ capabilities:
156
+ supports_tools: true
157
+ supports_parallel_tools: false
158
+ supports_streaming: true
159
+ supports_reasoning: true
160
+ context_window: 128000
161
+
162
+ # for gemini 2.5 series
163
+ reasoning_param: thinking_config
164
+ reasoning_value:
165
+ thinking_budget: 4000 # -1 for dynamic, 0 to disable, or an explicit integer budget
166
+
167
+ # for gemini 3/4 series
168
+ # reasoning_param: thinking_config
169
+ # reasoning_value:
170
+ # thinking_level: high # Options: minimal, low, medium, high
171
+
172
+
173
+ profiles:
174
+ default_coder:
175
+ model: qwen
176
+ tools:
177
+ - list_dir
178
+ - read_file
179
+ - read_many_files
180
+ - apply_search_replace
181
+ - write_file
182
+ - file_search
183
+ - ripgrep_search
184
+ - execute_command
185
+ - write_update_todos
186
+ prompt: prompts/coder.md
187
+
188
+ default_planner:
189
+ model: qwen
190
+ tools:
191
+ - list_dir
192
+ - read_file
193
+ - read_many_files
194
+ - file_search
195
+ - ripgrep_search
196
+ - submit_plan
197
+ - execute_command
198
+ prompt: prompts/planner.md
199
+
200
+ planner:
201
+ model: qwen
202
+ tools:
203
+ - list_dir
204
+ - read_file
205
+ - read_many_files
206
+ - file_search
207
+ - ripgrep_search
208
+ - submit_plan
209
+ - execute_command
210
+ prompt: prompts/planner.md
211
+
212
+ coder:
213
+ model: qwen
214
+ tools:
215
+ - list_dir
216
+ - read_file
217
+ - read_many_files
218
+ - apply_search_replace
219
+ - write_file
220
+ - file_search
221
+ - ripgrep_search
222
+ - execute_command
223
+ - write_update_todos
224
+ prompt: prompts/coder.md
225
+
226
+ default_profile:
227
+ - default_coder
228
+ - default_planner
229
+
230
+
231
+
232
+
233
+ # reasoning styles
234
+
235
+ # 1. openai
236
+ # reasoning_param: "reasoning_effort"
237
+ # reasoning_value: "medium" # Options: "low", "medium", "high"
238
+
239
+ # 2. qwen
240
+ # reasoning_param: "thinking"
241
+ # reasoning_value:
242
+ # type: "enabled"
243
+ # budget_tokens: 4000
244
+
245
+ # 4. qwen (for DashScope native OpenAI mode)
246
+ # reasoning_param: "enable_thinking"
247
+ # reasoning_value: "true"
248
+
249
+ # 5. anthropic (newer models)
250
+ # reasoning_param: "thinking"
251
+ # reasoning_value:
252
+ # type: "adaptive"
253
+
254
+ # 6. anthropic (older models)
255
+ # Models: [Claude Mythos Preview, Claude Opus 4.6, Claude Sonnet 4.6, Claude Opus 4.5, Claude Sonnet 4.5, Claude Haiku 4.5]
256
+ # reasoning_param: "thinking"
257
+ # reasoning_value:
258
+ # type: "enabled"
259
+ # budget_tokens: 4000
260
+
261
+ # 7. deepseek
262
+ # Models: [deepseek-reasoner, deepseek-v4]
263
+ # reasoning_param: "reasoning_effort"
264
+ # reasoning_value: "high" # Options: "low", "high", "max"
265
+
266
+ # 8. deepseek (for deepseek's anthropic style models)
267
+ # reasoning_param: "thinking"
268
+ # reasoning_value:
269
+ # type: "enabled"
270
+
271
+ # 9. kimi
272
+ # reasoning_param: "reasoning_effort"
273
+ # reasoning_value: "high" # Options: "low", "high", "max" (default: "max")
274
+
275
+ # 10. grok/xAi
276
+ # reasoning_param: "reasoning_effort"
277
+ # reasoning_value: "high" # Options: "low", "medium", "high", "xhigh"
278
+
279
+ # 11. gemini (Gemini 2.5 series)
280
+ # reasoning_param: "thinking_config"
281
+ # reasoning_value:
282
+ # thinking_budget: 4000 # -1 for dynamic, 0 to disable, or an explicit integer budget
283
+
284
+ # 12. gemini (Gemini 3 / Gemini 4 series)
285
+ # reasoning_param: "thinking_config"
286
+ # reasoning_value:
287
+ # thinking_level: "high" # Options: "minimal", "low", "medium", "high"
288
+
289
+ # 13. gemini (If connecting to Gemini via Google's OpenAI-compatible endpoint)
290
+ # reasoning_param: "reasoning_effort"
291
+ # reasoning_value: "high" # Options: "low", "medium", "high"
@@ -164,7 +164,7 @@ async def streaming(
164
164
  print_formatted_text(
165
165
  FormattedText([(
166
166
  "dim",
167
- f"\nMode: {payload["mode"]}"
167
+ f"\nMode: {payload['mode']}"
168
168
  )]),
169
169
  end="\n"
170
170
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vamp-cli
3
- Version: 0.1.2
3
+ Version: 0.1.3
4
4
  Summary: VAMP-CLI is an interactive coding agent for working in a local repository. It combines a planner, a coder, model fallbacks, workspace-aware file tools, and a Docker-backed command sandbox in one terminal application. The agent can inspect and edit files, search a codebase, run commands, maintain a task list, and ask for confirmation before executing potentially dangerous operations.
5
5
  Author-email: Satyam Kumar <satkr2208@gmail.com>
6
6
  License: MIT License
@@ -91,7 +91,7 @@ The first run automatically builds the `vamp-sandbox:latest` image from [`src/va
91
91
  Create and activate a virtual environment, then install the project (all dependencies will be installed itself):
92
92
 
93
93
  ```bash
94
- python3.11 -m venv .venv
94
+ python3.12 -m venv .venv
95
95
  source .venv/bin/activate
96
96
  python -m pip install --upgrade pip
97
97
  python -m pip install vamp-cli
@@ -1,4 +1,5 @@
1
1
  LICENSE
2
+ MANIFEST.in
2
3
  README.md
3
4
  pyproject.toml
4
5
  src/vamp_cli/__init__.py
@@ -20,6 +21,7 @@ src/vamp_cli/agent/status.py
20
21
  src/vamp_cli/agent/runtime/__init__.py
21
22
  src/vamp_cli/agent/runtime/runtime.py
22
23
  src/vamp_cli/config/__init__.py
24
+ src/vamp_cli/config/default_config.yaml
23
25
  src/vamp_cli/config/loader.py
24
26
  src/vamp_cli/config/schema.py
25
27
  src/vamp_cli/llm/__init__.py
File without changes
File without changes
File without changes