shotgun-sh 0.2.3.dev2__py3-none-any.whl → 0.2.11.dev1__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 shotgun-sh might be problematic. Click here for more details.

Files changed (107) hide show
  1. shotgun/agents/agent_manager.py +524 -58
  2. shotgun/agents/common.py +62 -62
  3. shotgun/agents/config/constants.py +0 -6
  4. shotgun/agents/config/manager.py +14 -3
  5. shotgun/agents/config/models.py +16 -0
  6. shotgun/agents/config/provider.py +68 -13
  7. shotgun/agents/context_analyzer/__init__.py +28 -0
  8. shotgun/agents/context_analyzer/analyzer.py +493 -0
  9. shotgun/agents/context_analyzer/constants.py +9 -0
  10. shotgun/agents/context_analyzer/formatter.py +115 -0
  11. shotgun/agents/context_analyzer/models.py +212 -0
  12. shotgun/agents/conversation_history.py +125 -2
  13. shotgun/agents/conversation_manager.py +24 -2
  14. shotgun/agents/export.py +4 -5
  15. shotgun/agents/history/compaction.py +9 -4
  16. shotgun/agents/history/context_extraction.py +93 -6
  17. shotgun/agents/history/history_processors.py +14 -2
  18. shotgun/agents/history/token_counting/anthropic.py +32 -10
  19. shotgun/agents/models.py +50 -2
  20. shotgun/agents/plan.py +4 -5
  21. shotgun/agents/research.py +4 -5
  22. shotgun/agents/specify.py +4 -5
  23. shotgun/agents/tasks.py +4 -5
  24. shotgun/agents/tools/__init__.py +0 -2
  25. shotgun/agents/tools/codebase/codebase_shell.py +6 -0
  26. shotgun/agents/tools/codebase/directory_lister.py +6 -0
  27. shotgun/agents/tools/codebase/file_read.py +6 -0
  28. shotgun/agents/tools/codebase/query_graph.py +6 -0
  29. shotgun/agents/tools/codebase/retrieve_code.py +6 -0
  30. shotgun/agents/tools/file_management.py +71 -9
  31. shotgun/agents/tools/registry.py +217 -0
  32. shotgun/agents/tools/web_search/__init__.py +24 -12
  33. shotgun/agents/tools/web_search/anthropic.py +24 -3
  34. shotgun/agents/tools/web_search/gemini.py +22 -10
  35. shotgun/agents/tools/web_search/openai.py +21 -12
  36. shotgun/api_endpoints.py +7 -3
  37. shotgun/build_constants.py +1 -1
  38. shotgun/cli/clear.py +52 -0
  39. shotgun/cli/compact.py +186 -0
  40. shotgun/cli/context.py +111 -0
  41. shotgun/cli/models.py +1 -0
  42. shotgun/cli/update.py +16 -2
  43. shotgun/codebase/core/manager.py +10 -1
  44. shotgun/llm_proxy/__init__.py +5 -2
  45. shotgun/llm_proxy/clients.py +12 -7
  46. shotgun/logging_config.py +8 -10
  47. shotgun/main.py +70 -10
  48. shotgun/posthog_telemetry.py +9 -3
  49. shotgun/prompts/agents/export.j2 +18 -1
  50. shotgun/prompts/agents/partials/common_agent_system_prompt.j2 +5 -1
  51. shotgun/prompts/agents/partials/interactive_mode.j2 +24 -7
  52. shotgun/prompts/agents/plan.j2 +1 -1
  53. shotgun/prompts/agents/research.j2 +1 -1
  54. shotgun/prompts/agents/specify.j2 +270 -3
  55. shotgun/prompts/agents/state/system_state.j2 +4 -0
  56. shotgun/prompts/agents/tasks.j2 +1 -1
  57. shotgun/prompts/loader.py +2 -2
  58. shotgun/prompts/tools/web_search.j2 +14 -0
  59. shotgun/sentry_telemetry.py +4 -15
  60. shotgun/settings.py +238 -0
  61. shotgun/telemetry.py +15 -32
  62. shotgun/tui/app.py +203 -9
  63. shotgun/tui/commands/__init__.py +1 -1
  64. shotgun/tui/components/context_indicator.py +136 -0
  65. shotgun/tui/components/mode_indicator.py +70 -0
  66. shotgun/tui/components/status_bar.py +48 -0
  67. shotgun/tui/containers.py +93 -0
  68. shotgun/tui/dependencies.py +39 -0
  69. shotgun/tui/protocols.py +45 -0
  70. shotgun/tui/screens/chat/__init__.py +5 -0
  71. shotgun/tui/screens/chat/chat.tcss +54 -0
  72. shotgun/tui/screens/chat/chat_screen.py +1110 -0
  73. shotgun/tui/screens/chat/codebase_index_prompt_screen.py +64 -0
  74. shotgun/tui/screens/chat/codebase_index_selection.py +12 -0
  75. shotgun/tui/screens/chat/help_text.py +39 -0
  76. shotgun/tui/screens/chat/prompt_history.py +48 -0
  77. shotgun/tui/screens/chat.tcss +11 -0
  78. shotgun/tui/screens/chat_screen/command_providers.py +68 -2
  79. shotgun/tui/screens/chat_screen/history/__init__.py +22 -0
  80. shotgun/tui/screens/chat_screen/history/agent_response.py +66 -0
  81. shotgun/tui/screens/chat_screen/history/chat_history.py +116 -0
  82. shotgun/tui/screens/chat_screen/history/formatters.py +115 -0
  83. shotgun/tui/screens/chat_screen/history/partial_response.py +43 -0
  84. shotgun/tui/screens/chat_screen/history/user_question.py +42 -0
  85. shotgun/tui/screens/confirmation_dialog.py +151 -0
  86. shotgun/tui/screens/model_picker.py +30 -6
  87. shotgun/tui/screens/pipx_migration.py +153 -0
  88. shotgun/tui/screens/welcome.py +24 -5
  89. shotgun/tui/services/__init__.py +5 -0
  90. shotgun/tui/services/conversation_service.py +182 -0
  91. shotgun/tui/state/__init__.py +7 -0
  92. shotgun/tui/state/processing_state.py +185 -0
  93. shotgun/tui/widgets/__init__.py +5 -0
  94. shotgun/tui/widgets/widget_coordinator.py +247 -0
  95. shotgun/utils/datetime_utils.py +77 -0
  96. shotgun/utils/file_system_utils.py +3 -2
  97. shotgun/utils/update_checker.py +69 -14
  98. shotgun_sh-0.2.11.dev1.dist-info/METADATA +129 -0
  99. shotgun_sh-0.2.11.dev1.dist-info/RECORD +190 -0
  100. {shotgun_sh-0.2.3.dev2.dist-info → shotgun_sh-0.2.11.dev1.dist-info}/entry_points.txt +1 -0
  101. {shotgun_sh-0.2.3.dev2.dist-info → shotgun_sh-0.2.11.dev1.dist-info}/licenses/LICENSE +1 -1
  102. shotgun/agents/tools/user_interaction.py +0 -37
  103. shotgun/tui/screens/chat.py +0 -804
  104. shotgun/tui/screens/chat_screen/history.py +0 -352
  105. shotgun_sh-0.2.3.dev2.dist-info/METADATA +0 -467
  106. shotgun_sh-0.2.3.dev2.dist-info/RECORD +0 -154
  107. {shotgun_sh-0.2.3.dev2.dist-info → shotgun_sh-0.2.11.dev1.dist-info}/WHEEL +0 -0
@@ -1,467 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: shotgun-sh
3
- Version: 0.2.3.dev2
4
- Summary: AI-powered research, planning, and task management CLI tool
5
- Project-URL: Homepage, https://shotgun.sh/
6
- Project-URL: Repository, https://github.com/shotgun-sh/shotgun
7
- Project-URL: Issues, https://github.com/shotgun-sh/shotgun-alpha/issues
8
- Project-URL: Discord, https://discord.gg/5RmY6J2N7s
9
- Author-email: "Proofs.io" <hello@proofs.io>
10
- License: MIT
11
- License-File: LICENSE
12
- Keywords: agent,ai,cli,llm,planning,productivity,pydantic-ai,research,task-management
13
- Classifier: Development Status :: 3 - Alpha
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 :: Libraries :: Python Modules
22
- Classifier: Topic :: Utilities
23
- Requires-Python: >=3.11
24
- Requires-Dist: anthropic>=0.39.0
25
- Requires-Dist: genai-prices>=0.0.27
26
- Requires-Dist: httpx>=0.27.0
27
- Requires-Dist: jinja2>=3.1.0
28
- Requires-Dist: kuzu>=0.7.0
29
- Requires-Dist: logfire[pydantic-ai]>=2.0.0
30
- Requires-Dist: openai>=1.0.0
31
- Requires-Dist: packaging>=23.0
32
- Requires-Dist: posthog>=3.0.0
33
- Requires-Dist: pydantic-ai>=0.0.14
34
- Requires-Dist: rich>=13.0.0
35
- Requires-Dist: sentencepiece>=0.2.0
36
- Requires-Dist: sentry-sdk[pure-eval]>=2.0.0
37
- Requires-Dist: textual-dev>=1.7.0
38
- Requires-Dist: textual>=6.1.0
39
- Requires-Dist: tiktoken>=0.7.0
40
- Requires-Dist: tree-sitter-go>=0.23.0
41
- Requires-Dist: tree-sitter-javascript>=0.23.0
42
- Requires-Dist: tree-sitter-python>=0.23.0
43
- Requires-Dist: tree-sitter-rust>=0.23.0
44
- Requires-Dist: tree-sitter-typescript>=0.23.0
45
- Requires-Dist: tree-sitter>=0.21.0
46
- Requires-Dist: typer>=0.12.0
47
- Requires-Dist: watchdog>=4.0.0
48
- Provides-Extra: dev
49
- Requires-Dist: commitizen>=3.13.0; extra == 'dev'
50
- Requires-Dist: lefthook>=1.12.0; extra == 'dev'
51
- Requires-Dist: mypy>=1.11.0; extra == 'dev'
52
- Requires-Dist: ruff>=0.6.0; extra == 'dev'
53
- Description-Content-Type: text/markdown
54
-
55
- # Shotgun
56
-
57
- A Python CLI tool for research, planning, and task management powered by AI agents.
58
-
59
- ## Features
60
-
61
- - **Research**: Perform research with agentic loops
62
- - **Planning**: Generate structured plans for achieving goals
63
- - **Tasks**: Generate prioritized task lists with agentic approaches
64
-
65
- ## Installation
66
-
67
- ### From PyPI (Recommended)
68
-
69
- ```bash
70
- pip install shotgun-sh
71
- ```
72
-
73
- ### From Source
74
-
75
- ```bash
76
- git clone https://github.com/shotgun-sh/shotgun.git
77
- cd shotgun
78
- uv sync --all-extras
79
- ```
80
-
81
- After installation from source, you can use either method:
82
-
83
- **Method 1: Direct command (after uv sync)**
84
- ```bash
85
- shotgun --help
86
- ```
87
-
88
- **Method 2: Via uv run**
89
- ```bash
90
- uv run shotgun --help
91
- ```
92
-
93
- If installed from PyPI, simply use:
94
- ```bash
95
- shotgun --help
96
- ```
97
-
98
- ### Virtual Environment Setup (Optional)
99
-
100
- If you prefer using a local virtual environment:
101
-
102
- ```bash
103
- uv venv
104
- source .venv/bin/activate # On Windows: .venv\Scripts\activate
105
- uv sync --all-extras
106
- shotgun --help
107
- ```
108
-
109
- ## Usage
110
-
111
- ### Using Direct Commands (after uv sync)
112
-
113
- ```bash
114
- # Research a topic
115
- shotgun research "What is quantum computing?"
116
-
117
- # Generate a plan
118
- shotgun plan "Build a web application"
119
- shotgun plan "build me a house"
120
-
121
- # Generate tasks for a project
122
- shotgun tasks "Create a machine learning model"
123
- ```
124
-
125
- ### Using uv run
126
-
127
- ```bash
128
- # Research a topic
129
- uv run shotgun research "What is quantum computing?"
130
-
131
- # Generate a plan
132
- uv run shotgun plan "Build a web application"
133
-
134
- # Generate tasks for a project
135
- uv run shotgun tasks "Create a machine learning model"
136
- ```
137
-
138
- ## Auto-Updates
139
-
140
- Shotgun automatically checks for updates to keep you on the latest version.
141
-
142
- ### How it works
143
-
144
- - Checks for updates on startup (runs in background, non-blocking)
145
- - Caches results for 24 hours to minimize API calls
146
- - Shows notification after command execution if an update is available
147
- - Never auto-updates development versions
148
-
149
- ### Update Commands
150
-
151
- ```bash
152
- # Check for available updates
153
- shotgun update --check
154
-
155
- # Install available updates
156
- shotgun update
157
-
158
- # Force update (even for dev versions with confirmation)
159
- shotgun update --force
160
- ```
161
-
162
- ### Disable Update Checks
163
-
164
- ```bash
165
- # Disable for a single command
166
- shotgun --no-update-check research "topic"
167
- ```
168
-
169
- ### Installation Methods
170
-
171
- The update command automatically detects and uses the appropriate method:
172
- - **pipx**: `pipx upgrade shotgun-sh`
173
- - **pip**: `pip install --upgrade shotgun-sh`
174
- - **venv**: Updates within the virtual environment
175
-
176
- ## Development Setup
177
-
178
- ### Requirements
179
-
180
- - **Python 3.11+** (3.13 recommended)
181
- - **uv** - Fast Python package installer and resolver
182
- - **actionlint** (optional) - For GitHub Actions workflow validation
183
-
184
- ### Quick Start
185
-
186
- 1. **Clone and setup**:
187
- ```bash
188
- git clone https://github.com/shotgun-sh/shotgun.git
189
- cd shotgun
190
- ```
191
-
192
- 2. **Install uv** (if not already installed):
193
- ```bash
194
- # macOS/Linux
195
- curl -LsSf https://astral.sh/uv/install.sh | sh
196
-
197
- # Or via brew
198
- brew install uv
199
- ```
200
-
201
- 3. **Install dependencies**:
202
- ```bash
203
- uv sync --all-extras
204
- ```
205
-
206
- 4. **Install git hooks**:
207
- ```bash
208
- uv run lefthook install
209
- ```
210
-
211
- 5. **Verify setup**:
212
- ```bash
213
- uv run shotgun --version
214
- ```
215
-
216
- ### Development Commands
217
-
218
- ```bash
219
- # Run the CLI
220
- uv run shotgun --help
221
-
222
- # Run the TUI
223
- uv run tui
224
-
225
- # Run tests
226
- uv run pytest
227
-
228
- # Run tests with coverage
229
- uv run pytest --cov=src --cov-report=term-missing --cov-report=html
230
-
231
- # Run linting
232
- uv run ruff check .
233
-
234
- # Run formatting
235
- uv run ruff format .
236
-
237
- # Run type checking
238
- uv run mypy src/
239
-
240
- # Run all pre-commit hooks manually
241
- uv run lefthook run pre-commit
242
- ```
243
-
244
- ### Code Coverage
245
-
246
- To analyze test coverage and identify areas that need testing:
247
-
248
- ```bash
249
- # Run tests with coverage analysis
250
- uv run pytest --cov=src --cov-report=term-missing --cov-report=html
251
- ```
252
-
253
- This will:
254
- - Display coverage summary in the terminal
255
- - Generate a detailed HTML coverage report
256
-
257
- **Viewing the coverage report:**
258
- Open `htmlcov/index.html` in your browser to see:
259
- - Overall coverage percentage
260
- - File-by-file coverage breakdown
261
- - Line-by-line coverage highlighting
262
- - Missing coverage areas
263
-
264
- The coverage configuration is in `pyproject.toml` and will automatically run when you use `uv run pytest`.
265
-
266
- ### Git Hooks (Lefthook)
267
-
268
- This project uses [lefthook](https://github.com/evilmartians/lefthook) for git hooks. The hooks automatically run:
269
-
270
- - **ruff** - Python linting with auto-fix
271
- - **ruff-format** - Code formatting
272
- - **mypy** - Type checking
273
- - **commitizen** - Commit message validation
274
- - **actionlint** - GitHub Actions workflow validation (if installed)
275
-
276
- #### Installing actionlint (recommended)
277
-
278
- ```bash
279
- # macOS
280
- brew install actionlint
281
-
282
- # Linux/macOS (direct download)
283
- curl -sSfL https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash | bash
284
-
285
- # Go install
286
- go install github.com/rhysd/actionlint/cmd/actionlint@latest
287
- ```
288
-
289
-
290
- ### Python Version Management
291
-
292
- The project supports **Python 3.11+**. The `.python-version` file specifies Python 3.11 to ensure development against the minimum supported version.
293
-
294
- If using **pyenv**:
295
- ```bash
296
- pyenv install 3.11
297
- ```
298
-
299
- If using **uv** (recommended):
300
- ```bash
301
- uv python install 3.11
302
- uv sync --python 3.11
303
- ```
304
-
305
- ### Commit Message Convention
306
-
307
- This project enforces **Conventional Commits** specification. All commit messages must follow this format:
308
-
309
- ```
310
- <type>[optional scope]: <description>
311
- ```
312
-
313
- **Required commit types:**
314
- - `feat`: New feature
315
- - `fix`: Bug fix
316
- - `docs`: Documentation changes
317
- - `style`: Code formatting changes
318
- - `refactor`: Code restructuring without feature changes
319
- - `perf`: Performance improvements
320
- - `test`: Adding or updating tests
321
- - `build`: Build system changes
322
- - `ci`: CI/CD changes
323
- - `chore`: Maintenance tasks
324
- - `revert`: Reverting previous commits
325
-
326
- **Examples:**
327
- ```bash
328
- feat: add user authentication system
329
- fix: resolve memory leak in data processing
330
- docs: update API documentation
331
- refactor: simplify user validation logic
332
- ```
333
-
334
- **For interactive commit creation:**
335
- ```bash
336
- uv run cz commit
337
- ```
338
-
339
- ### Contributing
340
-
341
- 1. Fork the repository
342
- 2. Create a feature branch: `git checkout -b feat/feature-name`
343
- 3. Make your changes
344
- 4. Run the pre-commit hooks: `uv run lefthook run pre-commit`
345
- 5. Commit with conventional format: `git commit -m "feat: add new feature"`
346
- 6. Push to your fork: `git push origin feat/feature-name`
347
- 7. Create a Pull Request with conventional title format
348
-
349
- ### CI/CD
350
-
351
- GitHub Actions automatically:
352
- - Runs on pull requests and pushes to main
353
- - Tests with Python 3.11
354
- - Validates code with ruff, ruff-format, and mypy
355
- - Ensures all checks pass before merge
356
-
357
- ## Observability & Telemetry
358
-
359
- Shotgun includes built-in observability with Sentry for error tracking and Logfire for logging and tracing. Both services track users anonymously using a UUID generated on first run.
360
-
361
- ### Anonymous User Tracking
362
-
363
- Each user gets a unique anonymous ID stored in their config:
364
- ```bash
365
- # Get your anonymous user ID
366
- shotgun config get-user-id
367
- ```
368
-
369
- This ID is automatically included in:
370
- - **Sentry**: Error reports and exceptions
371
- - **Logfire**: All logs, traces, and spans
372
-
373
- ### Logfire Queries
374
-
375
- Logfire uses SQL for querying logs. Here are helpful queries for debugging and analysis:
376
-
377
- #### Find all logs for a specific user
378
- ```sql
379
- SELECT * FROM records
380
- WHERE attributes->>'user_id' = 'your-user-id-here'
381
- ORDER BY timestamp DESC;
382
- ```
383
-
384
- #### Track user actions
385
- ```sql
386
- SELECT
387
- timestamp,
388
- span_name,
389
- message,
390
- attributes
391
- FROM records
392
- WHERE attributes->>'user_id' = 'your-user-id-here'
393
- AND span_name LIKE '%research%'
394
- ORDER BY timestamp DESC;
395
- ```
396
-
397
- #### Find slow operations for a user
398
- ```sql
399
- SELECT
400
- span_name,
401
- duration_ms,
402
- attributes
403
- FROM records
404
- WHERE attributes->>'user_id' = 'your-user-id-here'
405
- AND duration_ms > 1000
406
- ORDER BY duration_ms DESC;
407
- ```
408
-
409
- #### Find errors for a user
410
- ```sql
411
- SELECT * FROM records
412
- WHERE attributes->>'user_id' = 'your-user-id-here'
413
- AND level = 'error'
414
- ORDER BY timestamp DESC;
415
- ```
416
-
417
- #### Analyze user's AI provider usage
418
- ```sql
419
- SELECT
420
- attributes->>'provider' as provider,
421
- COUNT(*) as usage_count,
422
- AVG(duration_ms) as avg_duration
423
- FROM records
424
- WHERE attributes->>'user_id' = 'your-user-id-here'
425
- AND attributes->>'provider' IS NOT NULL
426
- GROUP BY provider;
427
- ```
428
-
429
- #### Track feature usage by user
430
- ```sql
431
- SELECT
432
- span_name,
433
- COUNT(*) as usage_count
434
- FROM records
435
- WHERE attributes->>'user_id' = 'your-user-id-here'
436
- AND span_name IN ('research', 'plan', 'tasks')
437
- GROUP BY span_name
438
- ORDER BY usage_count DESC;
439
- ```
440
-
441
- ### Setting Up Observability (Optional)
442
-
443
- For local development with Logfire:
444
- ```bash
445
- # Set environment variables
446
- export LOGFIRE_ENABLED=true
447
- export LOGFIRE_TOKEN=your-logfire-token
448
-
449
- # Run shotgun - will now send logs to Logfire
450
- shotgun research "topic"
451
- ```
452
-
453
- For Sentry (automatically configured in production builds):
454
- ```bash
455
- # Set for local development
456
- export SENTRY_DSN=your-sentry-dsn
457
- ```
458
-
459
- ### Privacy
460
-
461
- - **No PII collected**: Only anonymous UUIDs are used for identification
462
- - **Opt-in for development**: Telemetry requires explicit environment variables
463
- - **Automatic in production**: Production builds include telemetry for error tracking
464
-
465
- ## Support
466
-
467
- Join our discord https://discord.gg/5RmY6J2N7s
@@ -1,154 +0,0 @@
1
- shotgun/__init__.py,sha256=P40K0fnIsb7SKcQrFnXZ4aREjpWchVDhvM1HxI4cyIQ,104
2
- shotgun/api_endpoints.py,sha256=TvxuJyMrZLy6KZTrR6lrdkG8OBtb3TJ48qaw3pWitO0,526
3
- shotgun/build_constants.py,sha256=RXNxMz46HaB5jucgMVpw8a2yCJqjbhTOh0PddyEVMN8,713
4
- shotgun/logging_config.py,sha256=UKenihvgH8OA3W0b8ZFcItYaFJVe9MlsMYlcevyW1HY,7440
5
- shotgun/main.py,sha256=RA3q1xPfqxCu43UmgI2ryZpA-IxPhJb_MJrbLqp9c_g,5140
6
- shotgun/posthog_telemetry.py,sha256=TOiyBtLg21SttHGWKc4-e-PQgpbq6Uz_4OzlvlxMcZ0,6099
7
- shotgun/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
- shotgun/sentry_telemetry.py,sha256=VD8es-tREfgtRKhDsEVvqpo0_kM_ab6iVm2lkOEmTlI,2950
9
- shotgun/telemetry.py,sha256=WfxdHALh5_51nw783ZZvD-LEyC6ypHxSUTMXUioZhTQ,3339
10
- shotgun/agents/__init__.py,sha256=8Jzv1YsDuLyNPFJyckSr_qI4ehTVeDyIMDW4omsfPGc,25
11
- shotgun/agents/agent_manager.py,sha256=xq8L0oAFgtFCpKVsyUoMtYJqUyz5XxjWLKNnxoe1zo4,26577
12
- shotgun/agents/common.py,sha256=Hr9HigsDopkI0Sr3FThGDv1f67NLemOjcYA6LV9v970,18963
13
- shotgun/agents/conversation_history.py,sha256=5J8_1yxdZiiWTq22aDio88DkBDZ4_Lh_p5Iy5_ENszc,3898
14
- shotgun/agents/conversation_manager.py,sha256=fxAvXbEl3Cl2ugJ4N9aWXaqZtkrnfj3QzwjWC4LFXwI,3514
15
- shotgun/agents/export.py,sha256=Zke952DbJ_lOBUmN-TPHw7qmjbfqsFu1uycBRQI_pkg,2969
16
- shotgun/agents/llm.py,sha256=hs8j1wwTczGtehzahL1Z_5D4qus5QUx4-h9-m5ZPzm4,2209
17
- shotgun/agents/messages.py,sha256=wNn0qC5AqASM8LMaSGFOerZEJPn5FsIOmaJs1bdosuU,1036
18
- shotgun/agents/models.py,sha256=IvwwjbJYi5wi9S-budg8g1ezi1VaO57Q-XtegkbTrXg,8096
19
- shotgun/agents/plan.py,sha256=s-WfILBOW4l8kY59RUOVtX5MJSuSzFm1nGp6b17If78,3030
20
- shotgun/agents/research.py,sha256=lYG7Rytcitop8mXs3isMI3XvYzzI3JH9u0VZz6K9zfo,3274
21
- shotgun/agents/specify.py,sha256=7MoMxfIn34G27mw6wrp_F0i2O5rid476L3kHFONDCd0,3137
22
- shotgun/agents/tasks.py,sha256=nk8zIl24o01hfzOGyWSbeVWeke6OGseO4Ppciurh13U,2999
23
- shotgun/agents/usage_manager.py,sha256=5d9JC4_cthXwhTSytMfMExMDAUYp8_nkPepTJZXk13w,5017
24
- shotgun/agents/config/__init__.py,sha256=Fl8K_81zBpm-OfOW27M_WWLSFdaHHek6lWz95iDREjQ,318
25
- shotgun/agents/config/constants.py,sha256=JNuLpeBUKikEsxGSjwX3RVWUQpbCKnDKstF2NczuDqk,932
26
- shotgun/agents/config/manager.py,sha256=TeGl8n-gFLtphCjoGEma4Ej4JyltWXOJj-okYLi_INk,18491
27
- shotgun/agents/config/models.py,sha256=ohLXt9niCy4uFfFP1E6WSBZtxh7aZ16gTA2S3pHYkmc,5431
28
- shotgun/agents/config/provider.py,sha256=TwwZC_BtYSOpN2jdX6WZdor29EnAqfMoQK5GmNEYaPI,11012
29
- shotgun/agents/history/__init__.py,sha256=XFQj2a6fxDqVg0Q3juvN9RjV_RJbgvFZtQOCOjVJyp4,147
30
- shotgun/agents/history/compaction.py,sha256=9RMpG0aY_7L4TecbgwHSOkGtbd9W5XZTg-MbzZmNl00,3515
31
- shotgun/agents/history/constants.py,sha256=yWY8rrTZarLA3flCCMB_hS2NMvUDRDTwP4D4j7MIh1w,446
32
- shotgun/agents/history/context_extraction.py,sha256=yVka1U6TqNVsORR4JlxpWi9yBt3Quip8g_u3x2Vi9Gs,3564
33
- shotgun/agents/history/history_building.py,sha256=6LFDZ60MTPDoGAcmu_mjlnjVYu8YYWdIi-cGbF3jm7A,3532
34
- shotgun/agents/history/history_processors.py,sha256=D3z-hzrXHxE7OAZaVX4_YAKN_nyxSF5iYMIYO24V_CI,17943
35
- shotgun/agents/history/message_utils.py,sha256=aPusAl2RYKbjc7lBxPaNprRHmZEG6fe97q7DQUlhlzU,2918
36
- shotgun/agents/history/token_estimation.py,sha256=iRyKq-YDivEpJrULIbQgNpjhOuSC4nHVJYfsWEFV8sQ,4770
37
- shotgun/agents/history/token_counting/__init__.py,sha256=YZt5Lus--fkF6l1hdkIlp1e_oAIpACNwHOI0FRP4q8s,924
38
- shotgun/agents/history/token_counting/anthropic.py,sha256=b2LvwKM4dSILGhv_-W4mLMKMUCPLhe1ov9UGW_-iBsw,3011
39
- shotgun/agents/history/token_counting/base.py,sha256=TN4mzwSyWNQyTuOuCFaU-8AgLdAyquoX3af4qrmkxCs,1904
40
- shotgun/agents/history/token_counting/openai.py,sha256=XJ2z2HaUG6f3Cw9tCK_yaOsaMJGHpSFF1I30-d3soSI,2350
41
- shotgun/agents/history/token_counting/sentencepiece_counter.py,sha256=qj1bT7J5nCd5y6Mr42O9K1KTaele0rjdd09FeyyEA70,3987
42
- shotgun/agents/history/token_counting/tokenizer_cache.py,sha256=Y0V6KMtEwn42M5-zJGAc7YudM8X6m5-j2ekA6YGL5Xk,2868
43
- shotgun/agents/history/token_counting/utils.py,sha256=d124IDjtd0IYBYrr3gDJGWxSbdP10Vrc7ZistbUosMg,5002
44
- shotgun/agents/tools/__init__.py,sha256=QaN80IqWvB5qEcjHqri1-PYvYlO74vdhcwLugoEdblo,772
45
- shotgun/agents/tools/file_management.py,sha256=HYNe_QA4T3_bPzSWBYcFZcnWdj8eb4aQ3GB735-G8Nw,7138
46
- shotgun/agents/tools/user_interaction.py,sha256=b3ncEpvoD06Cz4hwsS-ppVbQajQj640iWnVfA5WBjAA,1236
47
- shotgun/agents/tools/codebase/__init__.py,sha256=ceAGkK006NeOYaIJBLQsw7Q46sAyCRK9PYDs8feMQVw,661
48
- shotgun/agents/tools/codebase/codebase_shell.py,sha256=9b7ZStAVFprdGqp1O23ZgwkToMytlUdp_R4MhvmENhc,8584
49
- shotgun/agents/tools/codebase/directory_lister.py,sha256=eX5GKDSmbKggKDvjPpYMa2WPSGPYQAtUEZ4eN01T0t8,4703
50
- shotgun/agents/tools/codebase/file_read.py,sha256=EGK5yNqiS4cbIEQfDtdKVoJSJYk20NbZv1AQKNBUKVc,5051
51
- shotgun/agents/tools/codebase/models.py,sha256=8eR3_8DQiBNgB2twu0aC_evIJbugN9KW3gtxMZdGYCE,10087
52
- shotgun/agents/tools/codebase/query_graph.py,sha256=vOeyN4-OZj-vpTSk3Z9W5TjraZAepJ-Qjk_zzvum3fU,2115
53
- shotgun/agents/tools/codebase/retrieve_code.py,sha256=2VjiqVKJMd9rPV-mGrL4C-N8fqGjYLW6ZInFGbcTxOM,2878
54
- shotgun/agents/tools/web_search/__init__.py,sha256=_9rgs_gv41-wfPvwfWM_Qfq-zvboyQ_srfyneGsxgM4,3182
55
- shotgun/agents/tools/web_search/anthropic.py,sha256=GelAhAmb-b4o87-3sgxNFfw-G2LXDEjfdZ7XfF0bQD0,4983
56
- shotgun/agents/tools/web_search/gemini.py,sha256=-fI_deaBT4-_61A7KlKtz8tmKXW50fVx_97WAJTUg4w,3468
57
- shotgun/agents/tools/web_search/openai.py,sha256=pnIcTV3vwXJQuxPs4I7gQNX18XzM7D7FqeNxnn1E7yw,3437
58
- shotgun/agents/tools/web_search/utils.py,sha256=GLJ5QV9bT2ubFMuFN7caMN7tK9OTJ0R3GD57B-tCMF0,532
59
- shotgun/cli/__init__.py,sha256=_F1uW2g87y4bGFxz8Gp8u7mq2voHp8vQIUtCmm8Tojo,40
60
- shotgun/cli/config.py,sha256=lT_zXwui-Wv3hewjebQeu9eLwK3tYn1wla5vKit6eqs,7931
61
- shotgun/cli/export.py,sha256=3hIwK2_OM1MFYSTfzBxsGuuBGm5fo0XdxASfQ5Uqb3Y,2471
62
- shotgun/cli/feedback.py,sha256=K8iFDl5051_g95jwDEm9gdKUjDWO8HBVZjlRN8uD7Mk,1300
63
- shotgun/cli/models.py,sha256=kwZEldQWUheNsqF_ezgDzRBc6h0Y0JxFw1VMQjZlvPE,182
64
- shotgun/cli/plan.py,sha256=T-eu-I9z-dSoKqJ-KI8X5i5Mm0VL1BfornxRiUjTgnk,2324
65
- shotgun/cli/research.py,sha256=qvBBtX3Wyn6pDZlJpcEvbeK-0iTOXegi71tm8HKVYaE,2490
66
- shotgun/cli/specify.py,sha256=ErRQ72Zc75fmxopZbKy0vvnLPuYBLsGynpjj1X6-BwI,2166
67
- shotgun/cli/tasks.py,sha256=17qWoGCVYpNIxa2vaoIH1P-xz2RcGLaK8SF4JlPsOWI,2420
68
- shotgun/cli/update.py,sha256=Dn_No7jPmdZ-7qYlhzI0BtmlufetVdw1BN-xRi_UE5A,4718
69
- shotgun/cli/utils.py,sha256=umVWXDx8pelovMk-nT8B7m0c39AKY9hHsuAMnbw_Hcg,732
70
- shotgun/cli/codebase/__init__.py,sha256=rKdvx33p0i_BYbNkz5_4DCFgEMwzOOqLi9f5p7XTLKM,73
71
- shotgun/cli/codebase/commands.py,sha256=1N2yOGmok0ZarqXPIpWGcsQrwm_ZJcyWiMxy6tm0j70,8711
72
- shotgun/cli/codebase/models.py,sha256=B9vs-d-Bq0aS6FZKebhHT-9tw90Y5f6k_t71VlZpL8k,374
73
- shotgun/codebase/__init__.py,sha256=QBgFE2Abd5Vl7_NdYOglF9S6d-vIjkb3C0cpIYoHZEU,309
74
- shotgun/codebase/models.py,sha256=5e_7zaPL032n_ghcvs01Uug3BH4jyKiQ3S3U5w21BSM,5296
75
- shotgun/codebase/service.py,sha256=nyggapfHKdwkKXyuT9oA0tJ9qf4RNVsOxfY8lC5pHro,8006
76
- shotgun/codebase/core/__init__.py,sha256=GWWhJEqChiDXAF4omYCgzgoZmJjwsAf6P1aZ5Bl8OE0,1170
77
- shotgun/codebase/core/change_detector.py,sha256=kWCYLWzRzb3IGGOj71KBn7UOCOKMpINJbOBDf98aMxE,12409
78
- shotgun/codebase/core/code_retrieval.py,sha256=_JVyyQKHDFm3dxOOua1mw9eIIOHIVz3-I8aZtEsEj1E,7927
79
- shotgun/codebase/core/cypher_models.py,sha256=Yfysfa9lLguILftkmtuJCN3kLBFIo7WW7NigM-Zr-W4,1735
80
- shotgun/codebase/core/ingestor.py,sha256=CNYbdoJycnbA2psYCD9uKcUwIe3Ao7I7T6NrPhTQE9k,64613
81
- shotgun/codebase/core/language_config.py,sha256=vsqHyuFnumRPRBV1lMOxWKNOIiClO6FyfKQR0fGrtl4,8934
82
- shotgun/codebase/core/manager.py,sha256=kjxQ9eCs5vVCVDproCN1eYSKuGiqtcxF01reQ18JfOw,66184
83
- shotgun/codebase/core/nl_query.py,sha256=kPoSJXBlm5rLhzOofZhqPVMJ_Lj3rV2H6sld6BwtMdg,16115
84
- shotgun/codebase/core/parser_loader.py,sha256=LZRrDS8Sp518jIu3tQW-BxdwJ86lnsTteI478ER9Td8,4278
85
- shotgun/llm_proxy/__init__.py,sha256=BLD9NnVzdD0H7gFb65Ajud-Q7SiCymegLRaGx8UkC-Y,435
86
- shotgun/llm_proxy/clients.py,sha256=wP4UlgtCdrNwWsZLZ9inE3fEIDa-i1j7gsr9oXQf1o4,1037
87
- shotgun/llm_proxy/constants.py,sha256=_4piKdyvM7pAIRdAGrzYexwWoDlueUZiEMfwWrOa4T0,381
88
- shotgun/prompts/__init__.py,sha256=RswUm0HMdfm2m2YKUwUsEdRIwoczdbI7zlucoEvHYRo,132
89
- shotgun/prompts/loader.py,sha256=jy24-E02pCSmz2651aCT2NgHfRrHAGMYvKrD6gs0Er8,4424
90
- shotgun/prompts/agents/__init__.py,sha256=YRIJMbzpArojNX1BP5gfxxois334z_GQga8T-xyWMbY,39
91
- shotgun/prompts/agents/export.j2,sha256=GKpOfGbZA9PVa4TNtMORUYiBIAcN6JCo8URmTCWKlWw,15936
92
- shotgun/prompts/agents/plan.j2,sha256=MyZDyOS21V-zrHNzbIhIdzcESGh_3KVbA4qh9rZR2_E,6086
93
- shotgun/prompts/agents/research.j2,sha256=JBtjXaMVDRuNTt7-Ai8gUb2InfolfqCkQoEkn9PsQZk,3929
94
- shotgun/prompts/agents/specify.j2,sha256=AP7XrA3KE7GZsCvW4guASxZHBM2mnrMw3irdZ3RUOBs,2808
95
- shotgun/prompts/agents/tasks.j2,sha256=9gGCimCWVvpaQSxkAjt7WmIxFHXJY2FlmqhqomFxQTA,5949
96
- shotgun/prompts/agents/partials/codebase_understanding.j2,sha256=7WH-PVd-TRBFQUdOdKkwwn9hAUaJznFZMAGHhO7IGGU,5633
97
- shotgun/prompts/agents/partials/common_agent_system_prompt.j2,sha256=eFuc3z1pSJzQtPJfjMIDNHv5XX9lP6YVrmKcbbskJj8,1877
98
- shotgun/prompts/agents/partials/content_formatting.j2,sha256=MG0JB7SSp8YV5akDWpbs2f9DcdREIYqLp38NnoWLeQ0,1854
99
- shotgun/prompts/agents/partials/interactive_mode.j2,sha256=9sYPbyc46HXg3k1FT_LugIQvOyNDnMQwsMIgOgN-_aY,1100
100
- shotgun/prompts/agents/state/system_state.j2,sha256=TQPnCLtmiNwQCbMxnCE7nLhXMJpKlBCnlNBKt7FTjuo,1033
101
- shotgun/prompts/agents/state/codebase/codebase_graphs_available.j2,sha256=U-hy-H9bPwV0sYIHTZ5TESxc5EOCtntI8GUZOmJipJw,601
102
- shotgun/prompts/codebase/__init__.py,sha256=NYuPMtmYM2ptuwf3YxVuotNlJOUq0hnjmwlzKcJkGK4,42
103
- shotgun/prompts/codebase/cypher_query_patterns.j2,sha256=ufTx_xT3VoS76KcVUbIgGQx-bJoJHx3bBE3dagAXv18,8913
104
- shotgun/prompts/codebase/cypher_system.j2,sha256=jo8d_AIoyAd0zKCvPXSmYGBxvtulMsCfeaOTdOfeC5g,2620
105
- shotgun/prompts/codebase/enhanced_query_context.j2,sha256=WzGnFaBLZO-mOdkZ_u_PewSu9niKy87DKNL4uzQq1Jg,724
106
- shotgun/prompts/codebase/partials/cypher_rules.j2,sha256=yhptyyZNzFNJWFGmOkxpF5PzZtUAXWDF4xl9ADu7yDw,3200
107
- shotgun/prompts/codebase/partials/graph_schema.j2,sha256=fUsD1ZgU1pIWUzrs97jHq3TatKeGSvZgG8XP5gCQUJc,1939
108
- shotgun/prompts/codebase/partials/temporal_context.j2,sha256=yYHQHBQ4EeSs6TtKPm9fflGW3y6H0-yAANcTdsApkk4,1388
109
- shotgun/prompts/history/__init__.py,sha256=wbMLQ8yWmYz1sfXXigEAUlNkFcM50KdQv0kp4VU_P58,43
110
- shotgun/prompts/history/incremental_summarization.j2,sha256=GmnNh0pWTjaEaI1sPwKNsGCys5fK8xrzWqalAs_LhJw,2447
111
- shotgun/prompts/history/summarization.j2,sha256=OYNVHg65zbuWB6_pXzTOs2T2k5qFD2gyfbmr6NP01rs,2268
112
- shotgun/sdk/__init__.py,sha256=ESV0WM9MigjXG30g9qVjcCMI40GQv-P-MSMGVuOisK4,380
113
- shotgun/sdk/codebase.py,sha256=7doUvwwl27RDJZIbP56LQsAx26GANtAKEBptTUhLT6w,8842
114
- shotgun/sdk/exceptions.py,sha256=qBcQv0v7ZTwP7CMcxZST4GqCsfOWtOUjSzGBo0-heqo,412
115
- shotgun/sdk/models.py,sha256=X9nOTUHH0cdkQW1NfnMEDu-QgK9oUsEISh1Jtwr5Am4,5496
116
- shotgun/sdk/services.py,sha256=J4PJFSxCQ6--u7rb3Ta-9eYtlYcxcbnzrMP6ThyCnw4,705
117
- shotgun/shotgun_web/__init__.py,sha256=IB-TvK3WvLNrdKH0j9MwMGtIjqi81ASFIVwaZa0ifNg,461
118
- shotgun/shotgun_web/client.py,sha256=n5DDuVfSa6VPZjhSsfSxQlSFOnhgDHyidRnB8Hv9XF4,4134
119
- shotgun/shotgun_web/constants.py,sha256=eNvtjlu81bAVQaCwZXOVjSpDopUm9pf34XuZEvuMiko,661
120
- shotgun/shotgun_web/models.py,sha256=Ie9VfqKZM2tIJhIjentU9qLoNaMZvnUJaIu-xg9kQsA,1391
121
- shotgun/tui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
122
- shotgun/tui/app.py,sha256=B2tKbXeGhWBIVec1jJHGAuBcP1SMbO_6xol2OaBpw2Y,5374
123
- shotgun/tui/filtered_codebase_service.py,sha256=lJ8gTMhIveTatmvmGLP299msWWTkVYKwvY_2FhuL2s4,1687
124
- shotgun/tui/styles.tcss,sha256=ETyyw1bpMBOqTi5RLcAJUScdPWTvAWEqE9YcT0kVs_E,121
125
- shotgun/tui/commands/__init__.py,sha256=8D5lvtpqMW5-fF7Bg3oJtUzU75cKOv6aUaHYYszydU8,2518
126
- shotgun/tui/components/prompt_input.py,sha256=Ss-htqraHZAPaehGE4x86ij0veMjc4UgadMXpbdXr40,2229
127
- shotgun/tui/components/spinner.py,sha256=ovTDeaJ6FD6chZx_Aepia6R3UkPOVJ77EKHfRmn39MY,2427
128
- shotgun/tui/components/splash.py,sha256=vppy9vEIEvywuUKRXn2y11HwXSRkQZHLYoVjhDVdJeU,1267
129
- shotgun/tui/components/vertical_tail.py,sha256=kROwTaRjUwVB7H35dtmNcUVPQqNYvvfq7K2tXBKEb6c,638
130
- shotgun/tui/screens/chat.py,sha256=Yb5zWpWVmvtIFjO1jkhU6piJyGVc9XdTErNd6kUbjjw,30389
131
- shotgun/tui/screens/chat.tcss,sha256=2Yq3E23jxsySYsgZf4G1AYrYVcpX0UDW6kNNI0tDmtM,437
132
- shotgun/tui/screens/directory_setup.py,sha256=lIZ1J4A6g5Q2ZBX8epW7BhR96Dmdcg22CyiM5S-I5WU,3237
133
- shotgun/tui/screens/feedback.py,sha256=VxpW0PVxMp22ZvSfQkTtgixNrpEOlfWtekjqlVfYEjA,5708
134
- shotgun/tui/screens/model_picker.py,sha256=G-EvalpxgHKk0W3FgHMcxIr817VwZyEgh_ZadSQiRwo,11831
135
- shotgun/tui/screens/provider_config.py,sha256=UCnAzjXPoP7Y73gsXxZF2PNA4LdSgpgoGYwiOd6fERA,10902
136
- shotgun/tui/screens/shotgun_auth.py,sha256=Y--7LZewV6gfDkucxymfAO7BCd7eI2C3H1ClDMztVio,10663
137
- shotgun/tui/screens/splash.py,sha256=E2MsJihi3c9NY1L28o_MstDxGwrCnnV7zdq00MrGAsw,706
138
- shotgun/tui/screens/welcome.py,sha256=cpsBK2Gy99Nz7rwZhxVn310G68TjSdGXpIXGRp7DoLY,5329
139
- shotgun/tui/screens/chat_screen/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
140
- shotgun/tui/screens/chat_screen/command_providers.py,sha256=7Xnxd4k30bpLOMZSX32bcugU4IgpqU4Y8f6eHWKXd4o,12694
141
- shotgun/tui/screens/chat_screen/hint_message.py,sha256=WOpbk8q7qt7eOHTyyHvh_IQIaublVDeJGaLpsxEk9FA,933
142
- shotgun/tui/screens/chat_screen/history.py,sha256=Go859iEjw0s5aELKpF42MjLXy7UFQ52XnJMTIkV3aLo,12406
143
- shotgun/tui/utils/__init__.py,sha256=cFjDfoXTRBq29wgP7TGRWUu1eFfiIG-LLOzjIGfadgI,150
144
- shotgun/tui/utils/mode_progress.py,sha256=lseRRo7kMWLkBzI3cU5vqJmS2ZcCjyRYf9Zwtvc-v58,10931
145
- shotgun/utils/__init__.py,sha256=WinIEp9oL2iMrWaDkXz2QX4nYVPAm8C9aBSKTeEwLtE,198
146
- shotgun/utils/env_utils.py,sha256=ulM3BRi9ZhS7uC-zorGeDQm4SHvsyFuuU9BtVPqdrHY,1418
147
- shotgun/utils/file_system_utils.py,sha256=l-0p1bEHF34OU19MahnRFdClHufThfGAjQ431teAIp0,1004
148
- shotgun/utils/source_detection.py,sha256=Co6Q03R3fT771TF3RzB-70stfjNP2S4F_ArZKibwzm8,454
149
- shotgun/utils/update_checker.py,sha256=IgzPHRhS1ETH7PnJR_dIx6lxgr1qHpCkMTgzUxvGjhI,7586
150
- shotgun_sh-0.2.3.dev2.dist-info/METADATA,sha256=83cmMLDU0Zfx2TiRiX6cbJ6goC6i9cP6YmxvKI5hdzE,11226
151
- shotgun_sh-0.2.3.dev2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
152
- shotgun_sh-0.2.3.dev2.dist-info/entry_points.txt,sha256=asZxLU4QILneq0MWW10saVCZc4VWhZfb0wFZvERnzfA,45
153
- shotgun_sh-0.2.3.dev2.dist-info/licenses/LICENSE,sha256=YebsZl590zCHrF_acCU5pmNt0pnAfD2DmAnevJPB1tY,1065
154
- shotgun_sh-0.2.3.dev2.dist-info/RECORD,,