tunacode-cli 0.0.9__py3-none-any.whl → 0.0.11__py3-none-any.whl

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.

Potentially problematic release.


This version of tunacode-cli might be problematic. Click here for more details.

Files changed (46) hide show
  1. tunacode/cli/commands.py +34 -165
  2. tunacode/cli/main.py +15 -38
  3. tunacode/cli/repl.py +24 -18
  4. tunacode/configuration/defaults.py +1 -1
  5. tunacode/configuration/models.py +4 -11
  6. tunacode/configuration/settings.py +10 -3
  7. tunacode/constants.py +6 -4
  8. tunacode/context.py +3 -1
  9. tunacode/core/agents/main.py +94 -52
  10. tunacode/core/setup/agent_setup.py +1 -1
  11. tunacode/core/setup/config_setup.py +161 -81
  12. tunacode/core/setup/coordinator.py +4 -2
  13. tunacode/core/setup/environment_setup.py +1 -1
  14. tunacode/core/setup/git_safety_setup.py +51 -39
  15. tunacode/exceptions.py +2 -0
  16. tunacode/prompts/system.txt +1 -1
  17. tunacode/services/undo_service.py +16 -13
  18. tunacode/setup.py +6 -2
  19. tunacode/tools/base.py +20 -11
  20. tunacode/tools/update_file.py +14 -24
  21. tunacode/tools/write_file.py +7 -9
  22. tunacode/ui/completers.py +33 -98
  23. tunacode/ui/input.py +9 -13
  24. tunacode/ui/keybindings.py +3 -1
  25. tunacode/ui/lexers.py +17 -16
  26. tunacode/ui/output.py +8 -14
  27. tunacode/ui/panels.py +7 -5
  28. tunacode/ui/prompt_manager.py +4 -8
  29. tunacode/ui/tool_ui.py +3 -3
  30. tunacode/utils/system.py +0 -40
  31. tunacode_cli-0.0.11.dist-info/METADATA +387 -0
  32. tunacode_cli-0.0.11.dist-info/RECORD +65 -0
  33. {tunacode_cli-0.0.9.dist-info → tunacode_cli-0.0.11.dist-info}/licenses/LICENSE +1 -1
  34. tunacode/cli/model_selector.py +0 -178
  35. tunacode/core/agents/tinyagent_main.py +0 -194
  36. tunacode/core/setup/optimized_coordinator.py +0 -73
  37. tunacode/services/enhanced_undo_service.py +0 -322
  38. tunacode/services/project_undo_service.py +0 -311
  39. tunacode/tools/tinyagent_tools.py +0 -103
  40. tunacode/utils/lazy_imports.py +0 -59
  41. tunacode/utils/regex_cache.py +0 -33
  42. tunacode_cli-0.0.9.dist-info/METADATA +0 -321
  43. tunacode_cli-0.0.9.dist-info/RECORD +0 -73
  44. {tunacode_cli-0.0.9.dist-info → tunacode_cli-0.0.11.dist-info}/WHEEL +0 -0
  45. {tunacode_cli-0.0.9.dist-info → tunacode_cli-0.0.11.dist-info}/entry_points.txt +0 -0
  46. {tunacode_cli-0.0.9.dist-info → tunacode_cli-0.0.11.dist-info}/top_level.txt +0 -0
@@ -1,321 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: tunacode-cli
3
- Version: 0.0.9
4
- Summary: Your agentic CLI developer.
5
- Author-email: larock22 <noreply@github.com>
6
- License-Expression: MIT
7
- Project-URL: Homepage, https://github.com/alchemiststudiosDOTai/tunacode
8
- Project-URL: Repository, https://github.com/alchemiststudiosDOTai/tunacode
9
- Keywords: cli,agent,development,automation
10
- Classifier: Development Status :: 4 - Beta
11
- Classifier: Intended Audience :: Developers
12
- Classifier: Programming Language :: Python :: 3
13
- Classifier: Programming Language :: Python :: 3.10
14
- Classifier: Programming Language :: Python :: 3.11
15
- Classifier: Programming Language :: Python :: 3.12
16
- Classifier: Programming Language :: Python :: 3.13
17
- Classifier: Topic :: Software Development
18
- Classifier: Topic :: Utilities
19
- Requires-Python: >=3.10
20
- Description-Content-Type: text/markdown
21
- License-File: LICENSE
22
- Requires-Dist: prompt_toolkit==3.0.51
23
- Requires-Dist: tiny_agent_os>=0.1.0
24
- Requires-Dist: pygments==2.19.1
25
- Requires-Dist: rich==14.0.0
26
- Requires-Dist: typer==0.12.5
27
- Requires-Dist: pyyaml>=6.0
28
- Provides-Extra: dev
29
- Requires-Dist: build; extra == "dev"
30
- Requires-Dist: black; extra == "dev"
31
- Requires-Dist: flake8; extra == "dev"
32
- Requires-Dist: isort; extra == "dev"
33
- Requires-Dist: pytest; extra == "dev"
34
- Requires-Dist: pytest-cov; extra == "dev"
35
- Dynamic: license-file
36
-
37
- # 🐟 TunaCode
38
-
39
- [![PyPI version](https://badge.fury.io/py/tunacode-cli.svg)](https://badge.fury.io/py/tunacode-cli)
40
- [![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
41
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
42
-
43
- ![Chuna](chuna.jpg_medium)
44
-
45
- **Your agentic CLI developer** - An open-source alternative to Claude Code, Copilot, and Cursor with multi-provider LLM support.
46
-
47
-
48
- ## ✨ What's New (v0.1.0)
49
-
50
- - 🚀 **60% faster startup** with lazy loading and optimizations
51
- - 🤖 **TinyAgent integration** for robust ReAct-based interactions
52
- - 🛡️ **Three-layer undo system** with automatic failover
53
- - 📊 **Enhanced model selection** with fuzzy matching and cost indicators
54
- - 📁 **Project-local backups** in `.tunacode/` directory
55
-
56
- ## 🎯 Features
57
-
58
- ### Core Capabilities
59
- - **🔓 No vendor lock-in** - Use any LLM provider (OpenAI, Anthropic, Google, 100+ via OpenRouter)
60
- - **⚡ Fast & responsive** - Optimized for speed with <5ms operation overhead
61
- - **🛡️ Safe operations** - Three-layer undo system ensures nothing is lost
62
- - **🎨 Modern CLI** - Beautiful terminal UI with syntax highlighting
63
- - **💰 Cost tracking** - Monitor tokens and costs per session
64
-
65
- ### Developer Experience
66
- - **🔄 Hot model switching** - Change models mid-conversation with `/model`
67
- - **📝 Project guides** - Customize behavior with `TUNACODE.md` files
68
- - **🚀 YOLO mode** - Skip confirmations when you're confident
69
- - **🔧 MCP support** - Extend with Model Context Protocol servers
70
- - **📊 Git integration** - Automatic branch creation and undo support
71
-
72
- ## 🚀 Quick Start
73
-
74
- ### One-Line Install (Linux/macOS)
75
-
76
- ```bash
77
- # Using curl
78
- curl -sSL https://raw.githubusercontent.com/alchemiststudiosDOTai/tunacode/master/scripts/install_linux.sh | bash
79
-
80
- # Or using wget
81
- wget -qO- https://raw.githubusercontent.com/alchemiststudiosDOTai/tunacode/master/scripts/install_linux.sh | bash
82
- ```
83
-
84
- This creates a virtual environment in `~/.tunacode-venv` and adds the `tunacode` command to your PATH.
85
-
86
- ### Alternative Install Methods
87
-
88
- ```bash
89
- # Install from PyPI
90
- pip install tunacode-cli
91
-
92
- # Or install globally using pipx (recommended)
93
- python3 -m pip install --user pipx
94
- python3 -m pipx ensurepath
95
- pipx install tunacode-cli
96
- ```
97
-
98
- ### Start Using TunaCode
99
-
100
- ```bash
101
- # Run setup (first time only)
102
- tunacode
103
-
104
- # Start coding!
105
- tunacode
106
- > Help me refactor this codebase to use async/await
107
-
108
- # Update to latest version
109
- tunacode --update
110
-
111
- # Start with a specific model
112
- tunacode --model openrouter:openai/gpt-4o-mini
113
-
114
- # Use a custom OpenAI-compatible API endpoint
115
- tunacode --base-url https://your-api.com/v1 --model custom:gpt-4
116
- ```
117
-
118
- ## 📋 Commands
119
-
120
- | Command | Description | Example |
121
- |---------|-------------|---------|
122
- | `/model` or `/m` | List and switch models | `/model 3` or `/m opus` |
123
- | `/yolo` | Toggle confirmation skipping | `/yolo` |
124
- | `/undo` | Undo last file operation | `/undo` |
125
- | `/clear` | Clear conversation history | `/clear` |
126
- | `/branch <name>` | Create new git branch | `/branch feature/auth` |
127
- | `/compact` | Summarize and trim history | `/compact` |
128
- | `/help` | Show all commands | `/help` |
129
- | `--update` | Update to latest version | `tunacode --update` |
130
-
131
- ## 🔧 Configuration
132
-
133
- Configuration is stored in `~/.config/tunacode.json`:
134
-
135
- ```json
136
- {
137
- "default_model": "openai:gpt-4o",
138
- "env": {
139
- "OPENAI_API_KEY": "sk-...",
140
- "ANTHROPIC_API_KEY": "sk-ant-...",
141
- "OPENROUTER_API_KEY": "sk-or-..."
142
- },
143
- "mcpServers": {
144
- "github": {
145
- "command": "npx",
146
- "args": ["-y", "@modelcontextprotocol/server-github"],
147
- "env": {"GITHUB_PERSONAL_ACCESS_TOKEN": "..."}
148
- }
149
- }
150
- }
151
- ```
152
-
153
- ### Environment Variables
154
-
155
- TunaCode automatically loads environment variables from a `.env` file in your current directory:
156
-
157
- ```bash
158
- # .env file
159
- OPENAI_API_KEY=sk-...
160
- OPENROUTER_API_KEY=sk-or-v1-...
161
- ANTHROPIC_API_KEY=sk-ant-...
162
- ```
163
-
164
- Environment variables take precedence over config file values.
165
-
166
- ### TinyAgent Configuration
167
-
168
- TunaCode uses [TinyAgent](https://github.com/alchemiststudiosDOTai/tiny_agent_os) under the hood. Advanced configuration is stored in `~/.config/tunacode_config.yml`:
169
-
170
- ```yaml
171
- # Model and API configuration
172
- base_url: ${OPENAI_BASE_URL:-https://api.openai.com/v1}
173
- model:
174
- default: "gpt-4o" # Overridden by TunaCode's model selection
175
-
176
- # File operations
177
- file_operations:
178
- max_file_size: 10_485_760 # 10 MB
179
- allow_overwrite: true
180
-
181
- # Retry configuration
182
- retries:
183
- max_attempts: 3
184
- temperature: { initial: 0.2, increment: 0.3, max: 0.8 }
185
- ```
186
-
187
- This file is automatically created during installation. Most users won't need to modify it.
188
-
189
- ### Using OpenRouter (100+ Models)
190
-
191
- ```bash
192
- # Add your OpenRouter API key to config or .env file
193
- # TunaCode automatically sets the correct base URL for OpenRouter models
194
-
195
- # Use any OpenRouter model:
196
- tunacode --model openrouter:openai/gpt-4o-mini
197
- tunacode --model openrouter:anthropic/claude-3.5-sonnet
198
-
199
- # Or switch models inside TunaCode:
200
- /model openrouter:anthropic/claude-3-opus
201
- /model openrouter:mistralai/devstral-small
202
- /model openrouter:openai/gpt-4.1
203
- ```
204
-
205
- ### OpenAI-Compatible APIs
206
-
207
- TunaCode supports any OpenAI-compatible API endpoint. The `--base-url` flag overrides the API endpoint for providers that use the OpenAI API format:
208
-
209
- ```bash
210
- # Use a local LLM server
211
- tunacode --base-url http://localhost:8080/v1 --model local:llama2
212
-
213
- # Use alternative OpenAI-compatible services
214
- tunacode --base-url https://api.together.ai/v1 --model together:llama-2-70b
215
- ```
216
-
217
- **Note**: The base URL override only works with OpenAI-compatible APIs that follow the same request/response format as OpenAI's API.
218
-
219
- ## 🛡️ Undo System
220
-
221
- TunaCode provides **three layers of protection** for your files:
222
-
223
- 1. **Git commits** - Primary undo mechanism (if available)
224
- 2. **Operation log** - Tracks changes with content (<100KB files)
225
- 3. **File backups** - Physical copies in `.tunacode/backups/`
226
-
227
- All undo data is stored locally in your project:
228
-
229
- ```
230
- your-project/
231
- └── .tunacode/ # Auto-created, gitignored
232
- ├── backups/ # Timestamped file copies
233
- ├── operations.jsonl # Change history
234
- └── README.md # Explains the directory
235
- ```
236
-
237
- ## 🎯 Project Customization
238
-
239
- Create a `TUNACODE.md` file in your project root:
240
-
241
- ```markdown
242
- # Project Guidelines for TunaCode
243
-
244
- ## Tech Stack
245
- - Next.js 14 with App Router
246
- - TypeScript with strict mode
247
- - Tailwind CSS for styling
248
-
249
- ## Conventions
250
- - Use arrow functions for components
251
- - Prefer server components where possible
252
- - Follow conventional commits
253
-
254
- ## Commands
255
- - `npm run dev` - Start development
256
- - `npm test` - Run tests
257
- ```
258
-
259
- ## ⚡ Performance
260
-
261
- TunaCode is optimized for speed:
262
- - **Startup time**: ~0.5-0.8 seconds
263
- - **Model switching**: ~100ms
264
- - **File operations**: ~5ms overhead
265
- - **API calls**: Connection pooling enabled
266
-
267
- ## 🔧 Advanced Usage
268
-
269
- ### Environment Variables
270
- ```bash
271
- # Use different base URLs
272
- OPENAI_BASE_URL="https://openrouter.ai/api/v1" tunacode
273
-
274
- # Disable undo system
275
- TUNACODE_NO_UNDO=1 tunacode
276
-
277
- # Set default model
278
- TUNACODE_MODEL="anthropic:claude-3-opus" tunacode
279
- ```
280
-
281
- ### MCP Servers
282
- Extend TunaCode with Model Context Protocol servers for web fetching, database access, and more. See [modelcontextprotocol.io](https://modelcontextprotocol.io/) for available servers.
283
-
284
- ## 🤝 Contributing
285
-
286
- We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
287
-
288
- ```bash
289
- # Setup development environment
290
- git clone https://github.com/larock22/tunacode
291
- cd tunacode
292
- pip install -e ".[dev]"
293
-
294
- # Run tests
295
- make test
296
-
297
- # Lint code
298
- make lint
299
- ```
300
-
301
- ## 📚 Documentation
302
-
303
- - [Architecture Overview](docs/architecture.md)
304
- - [API Integration](API_CALL_FLOW.md)
305
- - [Undo System Design](UNDO_SYSTEM_DESIGN.md)
306
- - [Performance Guide](PERFORMANCE_OPTIMIZATIONS.md)
307
-
308
- ## 🙏 Acknowledgments
309
-
310
- TunaCode is built on the foundation of [sidekick-cli](https://github.com/geekforbrains/sidekick-cli). Special thanks to:
311
- - The sidekick-cli team for the original codebase
312
- - [TinyAgent](https://github.com/alchemiststudiosDOTai/tinyAgent) for the robust agent framework
313
- - The open-source community for feedback and contributions
314
-
315
- ## 📄 License
316
-
317
- MIT License - see [LICENSE](LICENSE) for details.
318
-
319
- ---
320
-
321
- **Note**: TunaCode is in active development. Please [report issues](https://github.com/larock22/tunacode/issues) or share feedback!
@@ -1,73 +0,0 @@
1
- tunacode/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- tunacode/constants.py,sha256=zM9SjJENwnUTXEx5SwM6g1kl_4Vc_lM1uJaRN2TqfBY,4218
3
- tunacode/context.py,sha256=6sterdRvPOyG3LU0nEAXpBsEPZbO3qtPyTlJBi-_VXE,2612
4
- tunacode/exceptions.py,sha256=_Dyj6cC0868dMABekdQHXCg5XhucJumbGUMXaSDzgB4,2645
5
- tunacode/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
- tunacode/setup.py,sha256=KCNhnu8FY5bFRqR0JMIh22xVakCC97kchmyGsUGUaJ4,1811
7
- tunacode/types.py,sha256=5mMJDgFqVcKzhtHh9unPISBFqkeNje6KISGUpRkqRjY,7146
8
- tunacode/cli/__init__.py,sha256=zgs0UbAck8hfvhYsWhWOfBe5oK09ug2De1r4RuQZREA,55
9
- tunacode/cli/commands.py,sha256=IHUza0gJUrN30sUHK9gU6-cSRV0TufViBU8qq0yzYbI,22979
10
- tunacode/cli/main.py,sha256=jZa-KU7YO8ExAJAJTA917KtPcxU1yvHP3dihLW3lti4,2482
11
- tunacode/cli/model_selector.py,sha256=EO3GY_YM6pByn4IuYYNn5bKQUCz6vaObFw7clJaJQD8,6190
12
- tunacode/cli/repl.py,sha256=-KvGMyYQk4WslSkGk0MVOUCB15DEp0BSPVWGj4TIZlo,8864
13
- tunacode/configuration/__init__.py,sha256=MbVXy8bGu0yKehzgdgZ_mfWlYGvIdb1dY2Ly75nfuPE,17
14
- tunacode/configuration/defaults.py,sha256=9fR_Wydc85fU5LN5LlgRfW6geZNPNFMqKRVLN2v_TQ8,694
15
- tunacode/configuration/models.py,sha256=hcpO_Z0fy6kVf2xjv-Azs2PMQE-iKwxIQhpi2KuvTMs,3944
16
- tunacode/configuration/settings.py,sha256=0HqwEFkpGqPtF-h0sAIBHFXTlJQ_KtelD_s-z2XDSak,992
17
- tunacode/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
- tunacode/core/state.py,sha256=0U_WU92yn5EQ27BLlHIkNIJJqjLMNHKNYSoba1rQqbQ,1376
19
- tunacode/core/tool_handler.py,sha256=OKx7jM8pml6pSEnoARu33_uBY8awJBqvhbVeBn6T4ow,1804
20
- tunacode/core/agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
- tunacode/core/agents/main.py,sha256=zsfSmUUHNFfEz9ludq9CZ13qaGJn91TrOyu1Pha_3-M,2339
22
- tunacode/core/agents/tinyagent_main.py,sha256=gFHJomHeIE45r5PUbwVb5JtIYcl9HjfNXnMgyum9n-Y,6669
23
- tunacode/core/setup/__init__.py,sha256=jlveyriTXRcnoBLU6_TJ7Z-3E6EXjT9L5GD1vW4dei0,427
24
- tunacode/core/setup/agent_setup.py,sha256=k1bmQ21ue17_zZsWlhIfc7ZWN6vZtmOgKMMzR4Xu9-k,1410
25
- tunacode/core/setup/base.py,sha256=x9uYOITulrf4faP70NPTNBPb-wW1ZJGmcjAe0Sk5slk,961
26
- tunacode/core/setup/config_setup.py,sha256=KrOEQu3w_NAu7Yi-IeF9G-aHcWwe9x3aztMvZcXEcrg,7508
27
- tunacode/core/setup/coordinator.py,sha256=pT1mI24Kllo2H6Hjb-uULLsA1E3X3BqQB7nSGe70SRw,1598
28
- tunacode/core/setup/environment_setup.py,sha256=u6Anb9uDicmdMA_9xLkP0j2uoiVY16ojsA7XnFz--yQ,2234
29
- tunacode/core/setup/git_safety_setup.py,sha256=43NqLHxUxzG5GAI0lgtU3cyIoV2izfEEe8zWig_GosE,6910
30
- tunacode/core/setup/optimized_coordinator.py,sha256=pRfX0AUjBfPE8jdl7lNJwnnTOEX4p1aBdWT92DGhgNY,2936
31
- tunacode/core/setup/undo_setup.py,sha256=uHy7YWXPnxQ-b_36SNKtMZNyDR_u-p4OPDARHAgp6Lo,1179
32
- tunacode/prompts/system.txt,sha256=freAiukJH4PN-fKRWBdTogEak7BsZMgwdyWkxQtY-X4,3194
33
- tunacode/services/__init__.py,sha256=w_E8QK6RnvKSvU866eDe8BCRV26rAm4d3R-Yg06OWCU,19
34
- tunacode/services/enhanced_undo_service.py,sha256=_HGY0v7uwXajelElhbQGij2oKhIol5NxMzop841XJxY,10303
35
- tunacode/services/mcp.py,sha256=R48X73KQjQ9vwhBrtbWHSBl-4K99QXmbIhh5J_1Gezo,3046
36
- tunacode/services/project_undo_service.py,sha256=slZPqN4LYyiT6vSKaLcsM5eOceIrZ4UPM-ce9nJZ1AQ,10648
37
- tunacode/services/undo_service.py,sha256=CSjpwb53n9U5cVzPxRnxG6RWiD8motwwNb9Mn0Rc6cg,7702
38
- tunacode/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
- tunacode/tools/base.py,sha256=Cl-xthjTt6mlzvGsgmI-64m_8PCM1W8lccqsSemPq0k,8478
40
- tunacode/tools/read_file.py,sha256=QW97pPVcHvNJk48iPSwzOZ9Dbq_Ce8lQ7W0F82SXi7k,3051
41
- tunacode/tools/run_command.py,sha256=dspFV71g98gbOQV6CT9LsEoytQ_4zyVqqZD99zf__OY,3796
42
- tunacode/tools/tinyagent_tools.py,sha256=wTeF5lfaYpa4GnWPq3qOo39QPcD3N2bMp670N1Luf9k,2579
43
- tunacode/tools/update_file.py,sha256=-ysza8w3eys1jj-oDFsamXiSVI28ONTkMQ4TJsoG6xs,4527
44
- tunacode/tools/write_file.py,sha256=taDr8nAnxYeEXz6W3tjzT_S96u2MiHD1puvJFfYxlbw,2919
45
- tunacode/ui/__init__.py,sha256=aRNE2pS50nFAX6y--rSGMNYwhz905g14gRd6g4BolYU,13
46
- tunacode/ui/completers.py,sha256=OL4c8cSQnb2WWRfD73MkRBw1lOxa03512MKDFPli9eY,7231
47
- tunacode/ui/console.py,sha256=7ua1LaBP3ZCRHzV0SqVCkgNlgBuBcBTcvybRjWl5jew,1943
48
- tunacode/ui/constants.py,sha256=NxegAWaoDaEa4gzNZ7p67M0ZsHJJxZMtf2bW8E5WeZE,421
49
- tunacode/ui/decorators.py,sha256=I09tETtxPfcWdh1B3kEM0nJ8E6HvdBZAdYhRzYUa_p8,1901
50
- tunacode/ui/input.py,sha256=3JQtQAByf9Fv9fdx58BAkp2mkK8GBphYuiOxqN2WJm0,3013
51
- tunacode/ui/keybindings.py,sha256=Tiw7L57Q-I7mc-qdE1aWVUxa4TCHgO4niUdoRvzO-6o,691
52
- tunacode/ui/lexers.py,sha256=tmg4ic1enyTRLzanN5QPP7D_0n12YjX_8ZhsffzhXA4,1340
53
- tunacode/ui/output.py,sha256=L7VdlwbxqiOlQLPvcty76zX2ImXAtSioK1w_BO5F7Hc,3859
54
- tunacode/ui/panels.py,sha256=kuhCPvLwqorrqyS0ZF-RfuzbDZHwhKOC7KG2wQOqXds,5931
55
- tunacode/ui/prompt_manager.py,sha256=L1hs0RJ71OT5qjbCaogNvJ7mfWqIrT9AsoSsjHbQTmY,4098
56
- tunacode/ui/tool_ui.py,sha256=XqJhVm3NNGwvIbMYQ8JmmLwjGeIT3WHCf5INrgBfpY8,6530
57
- tunacode/ui/validators.py,sha256=wkg-lQrP-Wjm5phUHKD3Mte8F1J3A2EjESQgPPtRcvQ,758
58
- tunacode/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
59
- tunacode/utils/bm25.py,sha256=yq7KFWP3g_zIsjUV7l2hFPXYCzXyNQUInLU7u4qsc_4,1909
60
- tunacode/utils/diff_utils.py,sha256=V9PM1Of0wvWNTVyw7iZYrNowFuRiKSyWiw5F39yRRYA,2394
61
- tunacode/utils/file_utils.py,sha256=AXiAJ_idtlmXEi9pMvwtfPy9Ys3yK-F4K7qb_NpwonU,923
62
- tunacode/utils/lazy_imports.py,sha256=O5t6U1OaI7Ody69wPELQBh51aDyA5VxfLohZiD12oLY,1501
63
- tunacode/utils/regex_cache.py,sha256=vuB7c1HbZxcRKCE4R3DiOYvTpF1Nj4bcxW5nNEiOEAw,1093
64
- tunacode/utils/ripgrep.py,sha256=AXUs2FFt0A7KBV996deS8wreIlUzKOlAHJmwrcAr4No,583
65
- tunacode/utils/system.py,sha256=-mmYdP5_kkNVo2xUnKUL8JxtN-SVAlYx5erofEkYnUA,12641
66
- tunacode/utils/text_utils.py,sha256=B9M1cuLTm_SSsr15WNHF6j7WdLWPvWzKZV0Lvfgdbjg,2458
67
- tunacode/utils/user_configuration.py,sha256=uFrpSRTUf0CijZjw1rOp1sovqy1uyr0UNcn85S6jvdk,1790
68
- tunacode_cli-0.0.9.dist-info/licenses/LICENSE,sha256=SgvEceNP-y3_WodntkMGAkZyl_hAUvzBw5T9W--7YpM,1070
69
- tunacode_cli-0.0.9.dist-info/METADATA,sha256=h_MJy8QtHg_mijLntUry9SYSOHXcfH2FCDU2AkrgvO8,9708
70
- tunacode_cli-0.0.9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
71
- tunacode_cli-0.0.9.dist-info/entry_points.txt,sha256=hbkytikj4dGu6rizPuAd_DGUPBGF191RTnhr9wdhORY,51
72
- tunacode_cli-0.0.9.dist-info/top_level.txt,sha256=lKy2P6BWNi5XSA4DHFvyjQ14V26lDZctwdmhEJrxQbU,9
73
- tunacode_cli-0.0.9.dist-info/RECORD,,