shotgun-sh 0.2.29.dev2__py3-none-any.whl → 0.6.1.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.
- shotgun/agents/agent_manager.py +497 -30
- shotgun/agents/cancellation.py +103 -0
- shotgun/agents/common.py +90 -77
- shotgun/agents/config/README.md +0 -1
- shotgun/agents/config/manager.py +52 -8
- shotgun/agents/config/models.py +48 -45
- shotgun/agents/config/provider.py +44 -29
- shotgun/agents/conversation/history/file_content_deduplication.py +66 -43
- shotgun/agents/conversation/history/token_counting/base.py +51 -9
- shotgun/agents/export.py +12 -13
- shotgun/agents/file_read.py +176 -0
- shotgun/agents/messages.py +15 -3
- shotgun/agents/models.py +90 -2
- shotgun/agents/plan.py +12 -13
- shotgun/agents/research.py +13 -10
- shotgun/agents/router/__init__.py +47 -0
- shotgun/agents/router/models.py +384 -0
- shotgun/agents/router/router.py +185 -0
- shotgun/agents/router/tools/__init__.py +18 -0
- shotgun/agents/router/tools/delegation_tools.py +557 -0
- shotgun/agents/router/tools/plan_tools.py +403 -0
- shotgun/agents/runner.py +17 -2
- shotgun/agents/specify.py +12 -13
- shotgun/agents/tasks.py +12 -13
- shotgun/agents/tools/__init__.py +8 -0
- shotgun/agents/tools/codebase/directory_lister.py +27 -39
- shotgun/agents/tools/codebase/file_read.py +26 -35
- shotgun/agents/tools/codebase/query_graph.py +9 -0
- shotgun/agents/tools/codebase/retrieve_code.py +9 -0
- shotgun/agents/tools/file_management.py +81 -3
- shotgun/agents/tools/file_read_tools/__init__.py +7 -0
- shotgun/agents/tools/file_read_tools/multimodal_file_read.py +167 -0
- shotgun/agents/tools/markdown_tools/__init__.py +62 -0
- shotgun/agents/tools/markdown_tools/insert_section.py +148 -0
- shotgun/agents/tools/markdown_tools/models.py +86 -0
- shotgun/agents/tools/markdown_tools/remove_section.py +114 -0
- shotgun/agents/tools/markdown_tools/replace_section.py +119 -0
- shotgun/agents/tools/markdown_tools/utils.py +453 -0
- shotgun/agents/tools/registry.py +41 -0
- shotgun/agents/tools/web_search/__init__.py +1 -2
- shotgun/agents/tools/web_search/gemini.py +1 -3
- shotgun/agents/tools/web_search/openai.py +42 -23
- shotgun/attachments/__init__.py +41 -0
- shotgun/attachments/errors.py +60 -0
- shotgun/attachments/models.py +107 -0
- shotgun/attachments/parser.py +257 -0
- shotgun/attachments/processor.py +193 -0
- shotgun/cli/clear.py +2 -2
- shotgun/cli/codebase/commands.py +181 -65
- shotgun/cli/compact.py +2 -2
- shotgun/cli/context.py +2 -2
- shotgun/cli/run.py +90 -0
- shotgun/cli/spec/backup.py +2 -1
- shotgun/cli/spec/commands.py +2 -0
- shotgun/cli/spec/models.py +18 -0
- shotgun/cli/spec/pull_service.py +122 -68
- shotgun/codebase/__init__.py +2 -0
- shotgun/codebase/benchmarks/__init__.py +35 -0
- shotgun/codebase/benchmarks/benchmark_runner.py +309 -0
- shotgun/codebase/benchmarks/exporters.py +119 -0
- shotgun/codebase/benchmarks/formatters/__init__.py +49 -0
- shotgun/codebase/benchmarks/formatters/base.py +34 -0
- shotgun/codebase/benchmarks/formatters/json_formatter.py +106 -0
- shotgun/codebase/benchmarks/formatters/markdown.py +136 -0
- shotgun/codebase/benchmarks/models.py +129 -0
- shotgun/codebase/core/__init__.py +4 -0
- shotgun/codebase/core/call_resolution.py +91 -0
- shotgun/codebase/core/change_detector.py +11 -6
- shotgun/codebase/core/errors.py +159 -0
- shotgun/codebase/core/extractors/__init__.py +23 -0
- shotgun/codebase/core/extractors/base.py +138 -0
- shotgun/codebase/core/extractors/factory.py +63 -0
- shotgun/codebase/core/extractors/go/__init__.py +7 -0
- shotgun/codebase/core/extractors/go/extractor.py +122 -0
- shotgun/codebase/core/extractors/javascript/__init__.py +7 -0
- shotgun/codebase/core/extractors/javascript/extractor.py +132 -0
- shotgun/codebase/core/extractors/protocol.py +109 -0
- shotgun/codebase/core/extractors/python/__init__.py +7 -0
- shotgun/codebase/core/extractors/python/extractor.py +141 -0
- shotgun/codebase/core/extractors/rust/__init__.py +7 -0
- shotgun/codebase/core/extractors/rust/extractor.py +139 -0
- shotgun/codebase/core/extractors/types.py +15 -0
- shotgun/codebase/core/extractors/typescript/__init__.py +7 -0
- shotgun/codebase/core/extractors/typescript/extractor.py +92 -0
- shotgun/codebase/core/gitignore.py +252 -0
- shotgun/codebase/core/ingestor.py +644 -354
- shotgun/codebase/core/kuzu_compat.py +119 -0
- shotgun/codebase/core/language_config.py +239 -0
- shotgun/codebase/core/manager.py +256 -46
- shotgun/codebase/core/metrics_collector.py +310 -0
- shotgun/codebase/core/metrics_types.py +347 -0
- shotgun/codebase/core/parallel_executor.py +424 -0
- shotgun/codebase/core/work_distributor.py +254 -0
- shotgun/codebase/core/worker.py +768 -0
- shotgun/codebase/indexing_state.py +86 -0
- shotgun/codebase/models.py +94 -0
- shotgun/codebase/service.py +13 -0
- shotgun/exceptions.py +1 -1
- shotgun/main.py +2 -10
- shotgun/prompts/agents/export.j2 +2 -0
- shotgun/prompts/agents/file_read.j2 +48 -0
- shotgun/prompts/agents/partials/common_agent_system_prompt.j2 +20 -28
- shotgun/prompts/agents/partials/content_formatting.j2 +12 -33
- shotgun/prompts/agents/partials/interactive_mode.j2 +9 -32
- shotgun/prompts/agents/partials/router_delegation_mode.j2 +35 -0
- shotgun/prompts/agents/plan.j2 +43 -1
- shotgun/prompts/agents/research.j2 +75 -20
- shotgun/prompts/agents/router.j2 +713 -0
- shotgun/prompts/agents/specify.j2 +94 -4
- shotgun/prompts/agents/state/codebase/codebase_graphs_available.j2 +14 -1
- shotgun/prompts/agents/state/system_state.j2 +24 -15
- shotgun/prompts/agents/tasks.j2 +77 -23
- shotgun/settings.py +44 -0
- shotgun/shotgun_web/shared_specs/upload_pipeline.py +38 -0
- shotgun/tui/app.py +90 -23
- shotgun/tui/commands/__init__.py +9 -1
- shotgun/tui/components/attachment_bar.py +87 -0
- shotgun/tui/components/mode_indicator.py +120 -25
- shotgun/tui/components/prompt_input.py +23 -28
- shotgun/tui/components/status_bar.py +5 -4
- shotgun/tui/dependencies.py +58 -8
- shotgun/tui/protocols.py +37 -0
- shotgun/tui/screens/chat/chat.tcss +24 -1
- shotgun/tui/screens/chat/chat_screen.py +1374 -211
- shotgun/tui/screens/chat/codebase_index_prompt_screen.py +8 -4
- shotgun/tui/screens/chat_screen/attachment_hint.py +40 -0
- shotgun/tui/screens/chat_screen/command_providers.py +0 -97
- shotgun/tui/screens/chat_screen/history/agent_response.py +7 -3
- shotgun/tui/screens/chat_screen/history/chat_history.py +49 -6
- shotgun/tui/screens/chat_screen/history/formatters.py +75 -15
- shotgun/tui/screens/chat_screen/history/partial_response.py +11 -1
- shotgun/tui/screens/chat_screen/history/user_question.py +25 -3
- shotgun/tui/screens/chat_screen/messages.py +219 -0
- shotgun/tui/screens/database_locked_dialog.py +219 -0
- shotgun/tui/screens/database_timeout_dialog.py +158 -0
- shotgun/tui/screens/kuzu_error_dialog.py +135 -0
- shotgun/tui/screens/model_picker.py +14 -9
- shotgun/tui/screens/models.py +11 -0
- shotgun/tui/screens/shotgun_auth.py +50 -0
- shotgun/tui/screens/spec_pull.py +2 -0
- shotgun/tui/state/processing_state.py +19 -0
- shotgun/tui/utils/mode_progress.py +20 -86
- shotgun/tui/widgets/__init__.py +2 -1
- shotgun/tui/widgets/approval_widget.py +152 -0
- shotgun/tui/widgets/cascade_confirmation_widget.py +203 -0
- shotgun/tui/widgets/plan_panel.py +129 -0
- shotgun/tui/widgets/step_checkpoint_widget.py +180 -0
- shotgun/tui/widgets/widget_coordinator.py +18 -0
- shotgun/utils/file_system_utils.py +4 -1
- {shotgun_sh-0.2.29.dev2.dist-info → shotgun_sh-0.6.1.dev1.dist-info}/METADATA +88 -34
- shotgun_sh-0.6.1.dev1.dist-info/RECORD +292 -0
- shotgun/cli/export.py +0 -81
- shotgun/cli/plan.py +0 -73
- shotgun/cli/research.py +0 -93
- shotgun/cli/specify.py +0 -70
- shotgun/cli/tasks.py +0 -78
- shotgun/tui/screens/onboarding.py +0 -580
- shotgun_sh-0.2.29.dev2.dist-info/RECORD +0 -229
- {shotgun_sh-0.2.29.dev2.dist-info → shotgun_sh-0.6.1.dev1.dist-info}/WHEEL +0 -0
- {shotgun_sh-0.2.29.dev2.dist-info → shotgun_sh-0.6.1.dev1.dist-info}/entry_points.txt +0 -0
- {shotgun_sh-0.2.29.dev2.dist-info → shotgun_sh-0.6.1.dev1.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"""File system utility functions."""
|
|
2
2
|
|
|
3
|
+
import os
|
|
3
4
|
from pathlib import Path
|
|
4
5
|
|
|
5
6
|
import aiofiles
|
|
@@ -24,7 +25,9 @@ def get_shotgun_home() -> Path:
|
|
|
24
25
|
if custom_home := settings.dev.home:
|
|
25
26
|
return Path(custom_home)
|
|
26
27
|
|
|
27
|
-
|
|
28
|
+
# Use os.path.join for explicit path separator handling on Windows
|
|
29
|
+
# This avoids potential edge cases with pathlib's / operator
|
|
30
|
+
return Path(os.path.join(os.path.expanduser("~"), ".shotgun-sh"))
|
|
28
31
|
|
|
29
32
|
|
|
30
33
|
def ensure_shotgun_directory_exists() -> Path:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: shotgun-sh
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.6.1.dev1
|
|
4
4
|
Summary: AI-powered research, planning, and task management CLI tool
|
|
5
5
|
Project-URL: Homepage, https://shotgun.sh/
|
|
6
6
|
Project-URL: Repository, https://github.com/shotgun-sh/shotgun
|
|
@@ -20,21 +20,24 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.12
|
|
21
21
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
22
22
|
Classifier: Topic :: Utilities
|
|
23
|
-
Requires-Python:
|
|
23
|
+
Requires-Python: <3.14,>=3.11
|
|
24
24
|
Requires-Dist: aiofiles>=24.0.0
|
|
25
25
|
Requires-Dist: anthropic>=0.39.0
|
|
26
26
|
Requires-Dist: dependency-injector>=4.41.0
|
|
27
27
|
Requires-Dist: genai-prices>=0.0.27
|
|
28
28
|
Requires-Dist: httpx>=0.27.0
|
|
29
29
|
Requires-Dist: jinja2>=3.1.0
|
|
30
|
-
Requires-Dist: kuzu>=0.7.0
|
|
31
30
|
Requires-Dist: logfire>=2.0.0
|
|
32
31
|
Requires-Dist: openai>=1.0.0
|
|
33
32
|
Requires-Dist: packaging>=23.0
|
|
33
|
+
Requires-Dist: pathspec>=0.12.0
|
|
34
34
|
Requires-Dist: posthog>=3.0.0
|
|
35
|
-
Requires-Dist:
|
|
35
|
+
Requires-Dist: psutil>=5.9.0
|
|
36
|
+
Requires-Dist: pydantic-ai>=1.26.0
|
|
36
37
|
Requires-Dist: pydantic-settings>=2.0.0
|
|
38
|
+
Requires-Dist: pymupdf>=1.26.7
|
|
37
39
|
Requires-Dist: pyperclip>=1.10.0
|
|
40
|
+
Requires-Dist: real-ladybug==0.14.0
|
|
38
41
|
Requires-Dist: rich>=13.0.0
|
|
39
42
|
Requires-Dist: sentencepiece>=0.2.0
|
|
40
43
|
Requires-Dist: sentry-sdk[pure-eval]>=2.0.0
|
|
@@ -51,11 +54,6 @@ Requires-Dist: tree-sitter-typescript>=0.23.0
|
|
|
51
54
|
Requires-Dist: tree-sitter>=0.21.0
|
|
52
55
|
Requires-Dist: typer>=0.12.0
|
|
53
56
|
Requires-Dist: watchdog>=4.0.0
|
|
54
|
-
Provides-Extra: dev
|
|
55
|
-
Requires-Dist: commitizen>=3.13.0; extra == 'dev'
|
|
56
|
-
Requires-Dist: lefthook>=1.12.0; extra == 'dev'
|
|
57
|
-
Requires-Dist: mypy>=1.11.0; extra == 'dev'
|
|
58
|
-
Requires-Dist: ruff>=0.6.0; extra == 'dev'
|
|
59
57
|
Description-Content-Type: text/markdown
|
|
60
58
|
|
|
61
59
|
<div align="center">
|
|
@@ -97,10 +95,6 @@ Description-Content-Type: text/markdown
|
|
|
97
95
|
|
|
98
96
|
It includes research on existing patterns, implementation plans that respect your architecture, and task breakdowns ready to export as **AGENTS.md** files. Each spec is complete enough that your AI agent can work longer and further without losing context or creating conflicts.
|
|
99
97
|
|
|
100
|
-
<p align="center">
|
|
101
|
-
<img src="https://github.com/user-attachments/assets/9c7ca014-1ed3-4935-b310-9147b275fdc7" alt="Shotgun Demo" />
|
|
102
|
-
</p>
|
|
103
|
-
|
|
104
98
|
</td>
|
|
105
99
|
</tr>
|
|
106
100
|
</table>
|
|
@@ -141,12 +135,52 @@ curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
|
141
135
|
<td>
|
|
142
136
|
|
|
143
137
|
```powershell
|
|
144
|
-
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
|
|
138
|
+
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
|
|
145
139
|
```
|
|
146
140
|
</td>
|
|
147
141
|
</tr>
|
|
148
142
|
</table>
|
|
149
143
|
|
|
144
|
+
<details>
|
|
145
|
+
<summary><strong>Windows Installation</strong></summary>
|
|
146
|
+
|
|
147
|
+
```powershell
|
|
148
|
+
# Set execution policy (one-time)
|
|
149
|
+
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
|
|
150
|
+
|
|
151
|
+
# Install uv
|
|
152
|
+
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
|
|
153
|
+
|
|
154
|
+
# Add to PATH (or restart terminal)
|
|
155
|
+
$env:Path = "C:\Users\$env:USERNAME\.local\bin;$env:Path"
|
|
156
|
+
|
|
157
|
+
# Run Shotgun (ephemeral)
|
|
158
|
+
uvx --python 3.12 shotgun-sh@latest
|
|
159
|
+
|
|
160
|
+
# Or install permanently
|
|
161
|
+
uv tool install --python 3.12 shotgun-sh
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
| Supported | Not Supported |
|
|
165
|
+
|-----------|---------------|
|
|
166
|
+
| Windows x64 (regular PCs) | 32-bit Python |
|
|
167
|
+
| Python 3.11-3.13 | Python 3.14+ (no wheels yet) |
|
|
168
|
+
|
|
169
|
+
**Important:** Run in **PowerShell**, not Command Prompt or VS Developer shells.
|
|
170
|
+
|
|
171
|
+
#### Optional: Enable Code Indexing
|
|
172
|
+
|
|
173
|
+
Code indexing requires the Visual C++ Redistributable. Run this in PowerShell (as Administrator):
|
|
174
|
+
|
|
175
|
+
```powershell
|
|
176
|
+
# Download and install Visual C++ Redistributable
|
|
177
|
+
Import-Module BitsTransfer
|
|
178
|
+
Start-BitsTransfer -Source "https://aka.ms/vs/17/release/vc_redist.x64.exe" -Destination "$env:TEMP\vc_redist.x64.exe"
|
|
179
|
+
Start-Process -FilePath "$env:TEMP\vc_redist.x64.exe" -ArgumentList "/install", "/quiet", "/norestart" -Wait
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
</details>
|
|
183
|
+
|
|
150
184
|
_💡 Restart your terminal after installation_
|
|
151
185
|
|
|
152
186
|
### 2. Run Shotgun
|
|
@@ -218,17 +252,25 @@ _Click the image above to watch the full demo on YouTube_
|
|
|
218
252
|
|
|
219
253
|
# 🎯 Usage
|
|
220
254
|
|
|
221
|
-
Shotgun's Terminal UI guides you through **5 specialized modes** — from research to export. Each mode has a dedicated AI agent optimized for that phase.
|
|
222
|
-
|
|
223
255
|
### Launch Shotgun in your project directory:
|
|
224
256
|
|
|
225
257
|
| Already Installed | First Time / Try It Out |
|
|
226
258
|
|-------------------|------------------------|
|
|
227
259
|
| `shotgun` | `uvx shotgun-sh@latest` |
|
|
228
260
|
|
|
229
|
-
|
|
261
|
+
Shotgun's Terminal UI runs a Router that orchestrates your work using two execution modes: **Planning** and **Drafting**.
|
|
262
|
+
|
|
263
|
+
### Planning vs Drafting
|
|
264
|
+
|
|
265
|
+
| Mode | How It Works | When to Use It |
|
|
266
|
+
|------|--------------|---------------|
|
|
267
|
+
| **Planning** (default) | Shotgun proposes an execution plan, shows each step, and asks for confirmation before running agents that change files. You get checkpoints, can refine the plan, and can confirm or skip cascaded updates when one change affects other docs. | When you want control, visibility, and the ability to refine the plan before execution. |
|
|
268
|
+
| **Drafting** | Shotgun runs the full plan in one go, without intermediate confirmations. Progress is still tracked internally, but you won’t be prompted at each step. | When you’re confident in the plan and want fast, end-to-end execution. |
|
|
269
|
+
|
|
270
|
+
_The TUI opens automatically. **Press `Shift+Tab` to switch between Planning & Drafting** or `Ctrl+P` for the command palette._
|
|
230
271
|
|
|
231
|
-
###
|
|
272
|
+
### How the Router Works Internally
|
|
273
|
+
Under the hood, the Router relies on specialized sub-agents. You don’t select or manage them manually.
|
|
232
274
|
|
|
233
275
|
<table>
|
|
234
276
|
<tr>
|
|
@@ -244,22 +286,10 @@ _The TUI opens automatically. **Press `Shift+Tab` to switch modes** or `Ctrl+P`
|
|
|
244
286
|
</tr>
|
|
245
287
|
</table>
|
|
246
288
|
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
### Mode Reference
|
|
250
|
-
|
|
251
|
-
| Mode | What It Does | Example Prompt | Output |
|
|
252
|
-
|:-----|:-------------|:---------------|:-------|
|
|
253
|
-
| **🔬 Research** | Searches codebase + web, identifies patterns | `How do we handle authentication in this codebase?` | `research.md` |
|
|
254
|
-
| **📝 Specify** | Creates technical specs aware of architecture | `Add OAuth2 authentication with refresh token support` | `specification.md` |
|
|
255
|
-
| **📋 Plan** | Generates implementation roadmap | `Create an implementation plan for the payment system` | `plan.md` |
|
|
256
|
-
| **✅ Tasks** | Breaks plans into actionable items | `Break down the user dashboard plan into tasks` | `tasks.md` |
|
|
257
|
-
| **📤 Export** | Formats for AI coding agents | `Export everything to AGENTS.md` | `AGENTS.md` |
|
|
289
|
+
> Planning and Drafting are the only execution modes you control; everything else is handled by the Router.
|
|
258
290
|
|
|
259
291
|
_**Mode switching:** `Shift+Tab` cycles through modes_
|
|
260
292
|
|
|
261
|
-
_**Visual status:** See current mode and progress at bottom_
|
|
262
|
-
|
|
263
293
|
### ⌨️ Keyboard Shortcuts
|
|
264
294
|
|
|
265
295
|
| Shortcut | Action |
|
|
@@ -277,7 +307,7 @@ _**Visual status:** See current mode and progress at bottom_
|
|
|
277
307
|
| ✅ `Research how we handle auth` | ❌ Jump straight to building |
|
|
278
308
|
| ✅ `Shotgun please ask me questions first` | ❌ Assume Shotgun knows your needs |
|
|
279
309
|
| ✅ `I'm working on payments, need refunds` | ❌ `Add refunds` (no context) |
|
|
280
|
-
| ✅
|
|
310
|
+
| ✅ Start in Planning mode, let Shotgun propose and refine a plan with you, then run it | ❌ Blast everything in one go without reviewing the plan first (unless you intentionally switch to Drafting mode) |
|
|
281
311
|
|
|
282
312
|
**Result:** Your AI coding agent gets complete context—what exists, why, and what to build.
|
|
283
313
|
|
|
@@ -285,6 +315,30 @@ _**Visual status:** See current mode and progress at bottom_
|
|
|
285
315
|
|
|
286
316
|
---
|
|
287
317
|
|
|
318
|
+
# 🤝 Share Specs with Your Team
|
|
319
|
+
|
|
320
|
+
Sharing specs to a workspace is available on **paid Shotgun plans**.
|
|
321
|
+
|
|
322
|
+
Shotgun lets you share specs externally by publishing them to a **workspace**. This creates a versioned, shareable snapshot your team can access outside the repo.
|
|
323
|
+
|
|
324
|
+
### How to Share a Spec
|
|
325
|
+
|
|
326
|
+
1. Hit `Ctrl+P` → select _Share specs to workspace_
|
|
327
|
+
2. Choose one option:
|
|
328
|
+
- **Create new spec** — publish a fresh spec from your current `.shotgun/` files
|
|
329
|
+
- **Add new version** — publish an updated version of an existing spec
|
|
330
|
+
3. Wait for upload to complete. When finished, you can:
|
|
331
|
+
- **Open in Browser** — view the shared spec in the workspace
|
|
332
|
+
- **Copy URL** — share the link with your team
|
|
333
|
+
- **Done** — return to Shotgun
|
|
334
|
+
<img width="516" height="181" alt="image" src="https://github.com/user-attachments/assets/6dd9412c-345e-4dab-a40a-ad5f1c994d34" />
|
|
335
|
+
|
|
336
|
+
|
|
337
|
+
Your local `.shotgun/*.md` files remain unchanged.
|
|
338
|
+
The workspace contains a **shareable, versioned snapshot** of the spec.
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
288
342
|
# ✨ Features
|
|
289
343
|
|
|
290
344
|
### What Makes Shotgun Different
|
|
@@ -329,7 +383,7 @@ Single-agent or one-size-fits-all prompts.
|
|
|
329
383
|
<tr>
|
|
330
384
|
<td><strong>Structured Workflow</strong></td>
|
|
331
385
|
<td>
|
|
332
|
-
|
|
386
|
+
Router-driven flow with Planning and Drafting modes; internally it runs Research → Spec → Plan → Tasks → Export with checkpoints in Planning mode.
|
|
333
387
|
</td>
|
|
334
388
|
<td>
|
|
335
389
|
No structure. Just "prompt and hope."
|
|
@@ -433,7 +487,7 @@ Shotgun is open-source and we welcome contributions. Whether you're fixing bugs,
|
|
|
433
487
|
|
|
434
488
|
## 🚀 Ready to Stop AI Agents from Derailing?
|
|
435
489
|
|
|
436
|
-
**
|
|
490
|
+
**Planning → Drafting** — Two execution modes that give AI agents the full picture, backed by internal phases for Research → Specify → Plan → Tasks → Export.
|
|
437
491
|
|
|
438
492
|
```bash
|
|
439
493
|
uvx shotgun-sh@latest
|
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
shotgun/__init__.py,sha256=P40K0fnIsb7SKcQrFnXZ4aREjpWchVDhvM1HxI4cyIQ,104
|
|
2
|
+
shotgun/api_endpoints.py,sha256=cHNkXbaxMOw6t9M7_SGHwEkz9bL1CH_kw8qIhgdXfi0,630
|
|
3
|
+
shotgun/build_constants.py,sha256=trtP6Yz4N9fntWVWrRlSicQxahOoImwNnAnz5Laeq00,760
|
|
4
|
+
shotgun/exceptions.py,sha256=XZ1qZESE58iXOseGfu0yeSEXiriP6LAuiDVPKm5hGVQ,12626
|
|
5
|
+
shotgun/logging_config.py,sha256=o9erNhWl5CvXpgEIzdpm9BmVwO1PBVm1VmgTPjpm8OI,8460
|
|
6
|
+
shotgun/main.py,sha256=HwU1FLohm4cW1958FP3FO59U28_r3PNVaer7q57rYz4,6894
|
|
7
|
+
shotgun/posthog_telemetry.py,sha256=XkslipKYaPDy2bICBgE_dJt4RsBcEBW2EfktAfAi_KM,6442
|
|
8
|
+
shotgun/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
|
+
shotgun/sentry_telemetry.py,sha256=KIjkRAIio47bZtXseGXE6SSLXsCPThbz8_a_lw7pcSM,8419
|
|
10
|
+
shotgun/settings.py,sha256=TLjH9sJBXtsSE-vroGBvfaCFMPfZr-ITQJvwoBaRRLA,8655
|
|
11
|
+
shotgun/telemetry.py,sha256=6trR92Q6ERvSuUGyS8VyBCv1Dfs20vI1-4BYPieLcxM,2917
|
|
12
|
+
shotgun/agents/__init__.py,sha256=8Jzv1YsDuLyNPFJyckSr_qI4ehTVeDyIMDW4omsfPGc,25
|
|
13
|
+
shotgun/agents/agent_manager.py,sha256=60lscqXVJEYV1hpQuq4K6d0j-StzBm7_8Thp7FXCGWY,71543
|
|
14
|
+
shotgun/agents/cancellation.py,sha256=KTYwR2gHYnJ0FyhrHKc4sSuxLMEiLaTR7KJhFiluKVQ,3643
|
|
15
|
+
shotgun/agents/common.py,sha256=2cG03e7NDET3Z_6_b3GxcmNToxnWG6TTb4jKQ01G_lw,19067
|
|
16
|
+
shotgun/agents/export.py,sha256=FW2fJjLzWusu2SLEFMKV_hGudobzA3_1f7_MO-EqHFE,2922
|
|
17
|
+
shotgun/agents/file_read.py,sha256=A12NCN_mlPGW_8AIFyI2ig778ZaFhjS8IVYsx9izkxU,5647
|
|
18
|
+
shotgun/agents/llm.py,sha256=hs8j1wwTczGtehzahL1Z_5D4qus5QUx4-h9-m5ZPzm4,2209
|
|
19
|
+
shotgun/agents/messages.py,sha256=ckjkBv50pS9UbsHfviQkiZmbS3nSnWNfHYbhcTiBEaM,1451
|
|
20
|
+
shotgun/agents/models.py,sha256=VRPiyCMoNtpO9HyiDITl94kSu9xEVEhYjNay4UoJuww,13007
|
|
21
|
+
shotgun/agents/plan.py,sha256=90KUnDaIfPurWoHnV5ogUirXme-FPsSI2EntLBnM9ho,3035
|
|
22
|
+
shotgun/agents/research.py,sha256=KluBLucQza_TTKo6Da1v4IEQraVNBc1Jjd97jp7xZwE,3505
|
|
23
|
+
shotgun/agents/runner.py,sha256=VuoJnoWUBS9kE7aZUezErEiL7IgI0QgwJKgdcOVW6rQ,9395
|
|
24
|
+
shotgun/agents/specify.py,sha256=ly_A1VeZonMoyZy41xxfwVoE3MwLSBr8_UYwUzc9-HI,3084
|
|
25
|
+
shotgun/agents/tasks.py,sha256=QuCuVxJ9ODV3eXCXhb32c9HbPCLLVMuv3PTx1lyC4gY,2958
|
|
26
|
+
shotgun/agents/usage_manager.py,sha256=0O1G7ovgYtJ_zCTITQ1Cks75eXMwvjl1SgGE1uoZ0x4,5383
|
|
27
|
+
shotgun/agents/config/README.md,sha256=-2Amj3h1_WnwGABo6P1kUzDFK6o-pK8JKj-HMDsLrb4,3243
|
|
28
|
+
shotgun/agents/config/__init__.py,sha256=QuGC057dzMrzhrdRJ7c8KNwWzFqISiSk3t5LqnvOVN0,471
|
|
29
|
+
shotgun/agents/config/constants.py,sha256=GZ62PTrMd_yXDBvQwpNqh401GVlMHh5Li7_xM-zdp8Y,742
|
|
30
|
+
shotgun/agents/config/manager.py,sha256=Edh0NB_3r3AaK9-MmxbuML2mCdSNtEegV0m4bOzLlfY,30694
|
|
31
|
+
shotgun/agents/config/models.py,sha256=hcVK4w38u2dSzx3Xs8iCsMLwZDgKZCMldSxTfyK1Wv8,9043
|
|
32
|
+
shotgun/agents/config/provider.py,sha256=sail0z4kfqcPdmz9MsrV9hd0ND5L43cOQsV36xJt9O0,15694
|
|
33
|
+
shotgun/agents/config/streaming_test.py,sha256=ALOM4fjYf7dH7bsY-onKYJBcYH8ujx-50RdMwvw6RXM,4443
|
|
34
|
+
shotgun/agents/context_analyzer/__init__.py,sha256=p-R3SVa3yDkXnHaZ7XV_SI_9FGhoYwvnbvDr3oxGU3M,732
|
|
35
|
+
shotgun/agents/context_analyzer/analyzer.py,sha256=6-LaICd53RUD7GpXZ_H-jwE8YfW7lmWRiWssBvpQ-Cw,20049
|
|
36
|
+
shotgun/agents/context_analyzer/constants.py,sha256=oG8IJXEFN-V5wtnoz_ZBhOIGNXG1kjR4K_yOC5e95hY,323
|
|
37
|
+
shotgun/agents/context_analyzer/formatter.py,sha256=QovmxUdpGkBKwxegxhvXRmHrpNFF31MoD3LRYTVCKY8,4008
|
|
38
|
+
shotgun/agents/context_analyzer/models.py,sha256=Ww2NOgqaQlZ45tyBsVevt5r9bz0X-dQ4lNwAElfwAJk,8362
|
|
39
|
+
shotgun/agents/conversation/__init__.py,sha256=lFCHhW1x9tjIiKLaJIHqBJoCNPByKJHlWeviW1asTgg,493
|
|
40
|
+
shotgun/agents/conversation/filters.py,sha256=aAT6jDitEEYT-6i_kZ3KfUzDClBZzBbEyttO908d4OI,5195
|
|
41
|
+
shotgun/agents/conversation/manager.py,sha256=nMOkIu22pS9wQAoOjsfZdWGXDSBBEK4Otmpirk9YKlo,5266
|
|
42
|
+
shotgun/agents/conversation/models.py,sha256=agKF1F04T6rc08aVhjwVjtQ4Cl6H-pb4JlZR_XyPWR4,5406
|
|
43
|
+
shotgun/agents/conversation/history/__init__.py,sha256=XFQj2a6fxDqVg0Q3juvN9RjV_RJbgvFZtQOCOjVJyp4,147
|
|
44
|
+
shotgun/agents/conversation/history/chunking.py,sha256=aiUte-nO54swbtDGG1ZglB7TKpm4XrhDwnX_hvJA3Ck,9186
|
|
45
|
+
shotgun/agents/conversation/history/compaction.py,sha256=G5WWsmlZn19VBkdh89YKkvQRSYEIppuJR2LYrxGjkNM,4992
|
|
46
|
+
shotgun/agents/conversation/history/constants.py,sha256=xwDgaazdIXT2Dd7lNxuyt4-wKJK5y903F0WKe4Hi3WY,708
|
|
47
|
+
shotgun/agents/conversation/history/context_extraction.py,sha256=yPF3oYpv5GFsFQT5y53ORKdADtrkGH4u8LwPdO0YVzU,7157
|
|
48
|
+
shotgun/agents/conversation/history/file_content_deduplication.py,sha256=agwKqOeukNiCuPtpB4Ku6GYpaoZryd1UzFuN78lM9Qw,8543
|
|
49
|
+
shotgun/agents/conversation/history/history_building.py,sha256=6LFDZ60MTPDoGAcmu_mjlnjVYu8YYWdIi-cGbF3jm7A,3532
|
|
50
|
+
shotgun/agents/conversation/history/history_processors.py,sha256=OZMU6c9hFBXg9J783wRE5uWqgMcrDS-esEjMnnYkfIQ,31519
|
|
51
|
+
shotgun/agents/conversation/history/message_utils.py,sha256=aPusAl2RYKbjc7lBxPaNprRHmZEG6fe97q7DQUlhlzU,2918
|
|
52
|
+
shotgun/agents/conversation/history/token_estimation.py,sha256=iRyKq-YDivEpJrULIbQgNpjhOuSC4nHVJYfsWEFV8sQ,4770
|
|
53
|
+
shotgun/agents/conversation/history/token_counting/__init__.py,sha256=YZt5Lus--fkF6l1hdkIlp1e_oAIpACNwHOI0FRP4q8s,924
|
|
54
|
+
shotgun/agents/conversation/history/token_counting/anthropic.py,sha256=999gzwEn3Q31nmCDlJqJtt3maU4NtkEgr9PaUJdVKa4,4931
|
|
55
|
+
shotgun/agents/conversation/history/token_counting/base.py,sha256=bFiTrKlcbvtCd1uXJN48Tza4Mq38u84T9Qs2MEo8S6c,4169
|
|
56
|
+
shotgun/agents/conversation/history/token_counting/openai.py,sha256=lZgoMSVSlBN899Cp8sMFggYVDiSaqB-gTHUSaRoQ0yk,2746
|
|
57
|
+
shotgun/agents/conversation/history/token_counting/sentencepiece_counter.py,sha256=JTSWGAuCtqa7e2fJQzNQ52HqprSJJOcMZLnwxDId-vk,4201
|
|
58
|
+
shotgun/agents/conversation/history/token_counting/tokenizer_cache.py,sha256=owa4E12iMx8H1mNpCbHEtArE_b4vuwHl_0zKeRovv3w,2936
|
|
59
|
+
shotgun/agents/conversation/history/token_counting/utils.py,sha256=zL9pzrQHCyi5YMgUyLTnLI9WJmMr3UEEDUECgh4_TjE,4872
|
|
60
|
+
shotgun/agents/error/__init__.py,sha256=7md1HR_iAoCmTe5mzgQT0y3VBoC8D5zvRI4vQch4Ess,231
|
|
61
|
+
shotgun/agents/error/models.py,sha256=SLUCsMR0UPH0Lxm5AJKXBKTuL6wtdTzJJ3NHDzAIk_I,501
|
|
62
|
+
shotgun/agents/router/__init__.py,sha256=Cs3cobiGHGH-qaRuX7BGZ04a6tJ12NmyZIZf9rngBwM,1040
|
|
63
|
+
shotgun/agents/router/models.py,sha256=yvUU6sX6M0gn_hCiT-gretolsCYyj2eFVTo07WE6dSk,14392
|
|
64
|
+
shotgun/agents/router/router.py,sha256=oZzV-55gK8tX1SHPgjVHm8_z2b_YmkEqX_r-Ob6fXpo,6288
|
|
65
|
+
shotgun/agents/router/tools/__init__.py,sha256=ogt35kGrWSzjFauSL4EgieY7fGtu8jlfhDAzHOcw8nY,378
|
|
66
|
+
shotgun/agents/router/tools/delegation_tools.py,sha256=_Gtfy7n_5vNqazotn5mpZHrEBg4yBLP_M1brwuHhKz4,17380
|
|
67
|
+
shotgun/agents/router/tools/plan_tools.py,sha256=P9hgDFFQGMRhZdZZhG2cAOdpMW-mY_FQ4dwfNuWujbw,12850
|
|
68
|
+
shotgun/agents/tools/__init__.py,sha256=Tlej5fcXUrEcdb9fxqLEzb152ExpL0RQOeuYEc0K3Os,931
|
|
69
|
+
shotgun/agents/tools/file_management.py,sha256=zMoO_04ug0HzhrTmUNluvRKmeL-FSI_lnPcCiQCqv00,12729
|
|
70
|
+
shotgun/agents/tools/registry.py,sha256=qxaoxLpmxNMxmvBAo_f70zSPZiK5jd84LPH6Z5ZbQLA,7704
|
|
71
|
+
shotgun/agents/tools/codebase/__init__.py,sha256=ceAGkK006NeOYaIJBLQsw7Q46sAyCRK9PYDs8feMQVw,661
|
|
72
|
+
shotgun/agents/tools/codebase/codebase_shell.py,sha256=XwrfxAyDGRTRBaZdO0ivcllwIZnDX-Dfbtdp-ncJXlM,8779
|
|
73
|
+
shotgun/agents/tools/codebase/directory_lister.py,sha256=Gb7NTUQpSafal3l8G1yEFgYZ1QQsqBGBgWSLrJJ5XiE,4752
|
|
74
|
+
shotgun/agents/tools/codebase/file_read.py,sha256=ZTtMoESx7sOTC95BjFqO6ScLfNfHA3GEC6BhaK4_tCk,5326
|
|
75
|
+
shotgun/agents/tools/codebase/models.py,sha256=8eR3_8DQiBNgB2twu0aC_evIJbugN9KW3gtxMZdGYCE,10087
|
|
76
|
+
shotgun/agents/tools/codebase/query_graph.py,sha256=YsO87YwU87F7e_3ABNzSd2rWILGgAo7SSJFspEKUZQ0,2661
|
|
77
|
+
shotgun/agents/tools/codebase/retrieve_code.py,sha256=wuyDLp4SY5ViuafkIAuq9Nk4vX1lE0bwf5ZowDYUt7g,3452
|
|
78
|
+
shotgun/agents/tools/file_read_tools/__init__.py,sha256=gCRYzSaHeScLX9Jal_OsaELlUOzy7NmOzasEEmbon4o,186
|
|
79
|
+
shotgun/agents/tools/file_read_tools/multimodal_file_read.py,sha256=SV-wZEl34ZMXoIm-a2OvrQ-8gByjZnN4pEJg2iD3TUk,5719
|
|
80
|
+
shotgun/agents/tools/markdown_tools/__init__.py,sha256=1uts7dXktSaeWxXZzA-YYMtp5uxOuNiJkqsswpBSY7c,1540
|
|
81
|
+
shotgun/agents/tools/markdown_tools/insert_section.py,sha256=Tdg48gUWf9n4-KWgSAuKZWSjPTwH7Eqn6zye6n6_1eE,5505
|
|
82
|
+
shotgun/agents/tools/markdown_tools/models.py,sha256=dOt_pLeKmfb6tnedpc9aXl5rAt67wrdFvC3oQLVWiGk,2293
|
|
83
|
+
shotgun/agents/tools/markdown_tools/remove_section.py,sha256=dJFOFt6Zgj7oMFcl8RXgHzMhCLiXDhu3zML5E5GpQ6U,3977
|
|
84
|
+
shotgun/agents/tools/markdown_tools/replace_section.py,sha256=xvplMVDIsOPAOTd_OD3u0APoY4zZBsJSEXcn4S7Wcyc,4189
|
|
85
|
+
shotgun/agents/tools/markdown_tools/utils.py,sha256=aJapRcrtG0AvNiNtW6q1WSkToa7FX8BA4E4gK9aZRsE,13742
|
|
86
|
+
shotgun/agents/tools/web_search/__init__.py,sha256=HN-EXSQzX5Z5c08w04kcoluQhAVqmkJdvBn_rFi82As,3707
|
|
87
|
+
shotgun/agents/tools/web_search/anthropic.py,sha256=CqkKlMTBajz3bGbQfSvYYndy9npe00bTOSw8luLc5MY,5700
|
|
88
|
+
shotgun/agents/tools/web_search/gemini.py,sha256=PlU90AkWxvLieBKw-nC2AT2dWoyvq3Zb6K_UickI-UQ,3818
|
|
89
|
+
shotgun/agents/tools/web_search/openai.py,sha256=74llmbNGgtMRTO1cBY9TUK2UOnTfI-zbbUEPcYhEJpk,4459
|
|
90
|
+
shotgun/agents/tools/web_search/utils.py,sha256=O4IMu9mPBZe5551fNclfXbSmoL7fxP1hziqkWq8CRrI,544
|
|
91
|
+
shotgun/attachments/__init__.py,sha256=ekcmX00vMC_tpMnTu3bD4JMtYlRjfLVi6H5u3WlnvXI,1041
|
|
92
|
+
shotgun/attachments/errors.py,sha256=zDSCj2vTY2yt8iAkJj_jocQ_q5HlL9sroiwg9yZ1fVw,1901
|
|
93
|
+
shotgun/attachments/models.py,sha256=9p4a8FE1mESdMWzrCY4Po8PO9G3HHaNtOM7-r7Q74is,3328
|
|
94
|
+
shotgun/attachments/parser.py,sha256=_7AdkdVXbszO4M_vQe8NVQxKwGhldb4ue7iQzE9amd4,7629
|
|
95
|
+
shotgun/attachments/processor.py,sha256=7IbRGzfQhkMgbNPyJ45jWAgaA_y-pIjP0OGd7A779V8,5660
|
|
96
|
+
shotgun/cli/__init__.py,sha256=_F1uW2g87y4bGFxz8Gp8u7mq2voHp8vQIUtCmm8Tojo,40
|
|
97
|
+
shotgun/cli/clear.py,sha256=vn-1ihd1qmdQUnTUJK7kDKTGQGOBGkvmqDN_a5Fu4mE,1626
|
|
98
|
+
shotgun/cli/compact.py,sha256=9YNgpCbP2NtVxMucA-OFaJ3l1nEE8xrji2XraMdX5xw,5950
|
|
99
|
+
shotgun/cli/config.py,sha256=wKBPSQ8ZVF6ITPS_bE2F46_xyWiI80QJhhgjt8uuDSY,8031
|
|
100
|
+
shotgun/cli/context.py,sha256=Us6iconXv0TbHuCHk-zHpBXis4uSMUhTVTldmJ98DHU,5439
|
|
101
|
+
shotgun/cli/error_handler.py,sha256=neU0dL5zAv4HbrJGIw3Py2wqyA6BzJo3tbpWaZtPidk,646
|
|
102
|
+
shotgun/cli/feedback.py,sha256=wMRIN6UtBI4832XfUwE7nQLjVLuVu4zjupMme02nfwc,1346
|
|
103
|
+
shotgun/cli/models.py,sha256=cutimFStP6m5pXmg3kbhtWZjNA2us2cPQFJtz2pTdOU,208
|
|
104
|
+
shotgun/cli/run.py,sha256=BR0K_WXO4QMn4BFr4DCgB-Dl7AgyqaLQ1pscx-_mkHs,2835
|
|
105
|
+
shotgun/cli/update.py,sha256=sc3uuw3AXFF0kpskWah1JEoTwrKv67fCnqp9BjeND3o,5328
|
|
106
|
+
shotgun/cli/utils.py,sha256=umVWXDx8pelovMk-nT8B7m0c39AKY9hHsuAMnbw_Hcg,732
|
|
107
|
+
shotgun/cli/codebase/__init__.py,sha256=rKdvx33p0i_BYbNkz5_4DCFgEMwzOOqLi9f5p7XTLKM,73
|
|
108
|
+
shotgun/cli/codebase/commands.py,sha256=ObCmIsfoj6leLiPk8yuu8Fq7WsYu_SWtakbWHlq8f_8,12966
|
|
109
|
+
shotgun/cli/codebase/models.py,sha256=B9vs-d-Bq0aS6FZKebhHT-9tw90Y5f6k_t71VlZpL8k,374
|
|
110
|
+
shotgun/cli/spec/__init__.py,sha256=GZe-ODzMudZcM5NCbz1TTLwK1K5ws7X4KlNT0CBPXEs,69
|
|
111
|
+
shotgun/cli/spec/backup.py,sha256=jid6lXAvE5kct2ejIMx6psXm-w2Mop7n9V2_vY37P3o,2604
|
|
112
|
+
shotgun/cli/spec/commands.py,sha256=em-b4P_9qls3HmRENqONqBoFJvjC7AqjyixGtnNdzyM,4733
|
|
113
|
+
shotgun/cli/spec/models.py,sha256=3M8fgemjMT1iAITM64q0VlroUa2Bx9L0arINevY1XfQ,1428
|
|
114
|
+
shotgun/cli/spec/pull_service.py,sha256=5wiDTlWJYi5GQbVm_B-uOpz4yJXbRn5o5OCkbwwlN5M,7171
|
|
115
|
+
shotgun/codebase/__init__.py,sha256=Hqk7773pk2tB9nr2E5Evz3O5C_OpeXXZisQ-q9_q6Gw,388
|
|
116
|
+
shotgun/codebase/indexing_state.py,sha256=g_fhCWXaCr_z3ePMWu3D14g-_3i-V_YQjHzZgA656i8,2672
|
|
117
|
+
shotgun/codebase/models.py,sha256=B7Erqzy8W57Q_PxoPMeYN6jqF28ouXnTIWPRJ86ryUI,9125
|
|
118
|
+
shotgun/codebase/service.py,sha256=8gctzuZQvTPJKggxv4_rd76PoERlG8LC4KIGjBbEDQY,8455
|
|
119
|
+
shotgun/codebase/benchmarks/__init__.py,sha256=ut_phK8qrs70fXoM_-O4JtHI6SGR0p97z3wW_y2XzFY,875
|
|
120
|
+
shotgun/codebase/benchmarks/benchmark_runner.py,sha256=_o6IsnD_Cq-mQX-UPBtfbOQ-eLV5yA756JKKebnnRvE,10273
|
|
121
|
+
shotgun/codebase/benchmarks/exporters.py,sha256=zqONftGzlRFiRCVWCaJCBo71TvyiykY8PEPNXInGq-I,3667
|
|
122
|
+
shotgun/codebase/benchmarks/models.py,sha256=X8mb5FeHrCovqbPAKXTRSRkKyHr1rUP0f-6z9oVgNQo,3815
|
|
123
|
+
shotgun/codebase/benchmarks/formatters/__init__.py,sha256=zFBW3yOLLPVGHfRA3VKs9Dp1axSLKDJMwQLDvWwWhb4,1386
|
|
124
|
+
shotgun/codebase/benchmarks/formatters/base.py,sha256=WZeBsQRKn784nxNcg3TVjWqYXVOJUqsIgoCqf40FBzU,795
|
|
125
|
+
shotgun/codebase/benchmarks/formatters/json_formatter.py,sha256=ehGI2WPas06XvSzMl2_ZlSlclRLbS2ku_KndF4AyLB0,3869
|
|
126
|
+
shotgun/codebase/benchmarks/formatters/markdown.py,sha256=zIfC-XRg0UZH8NVlCutSsk2e0TIZk_jwWEU-4Um_eE4,4811
|
|
127
|
+
shotgun/codebase/core/__init__.py,sha256=HmCwFQcWYdx9lfQ6g_l1_-aLoMOAnWf4IN4e-jX3Ts8,1335
|
|
128
|
+
shotgun/codebase/core/call_resolution.py,sha256=xL1kqRtRTnf7aUr1ofwP7zDEznuwFBQ62GinlsUf3J8,3301
|
|
129
|
+
shotgun/codebase/core/change_detector.py,sha256=9XDrQmE8BA0ryby8auEukHrS2lcN_dpjJ9FKzmmMWkE,12732
|
|
130
|
+
shotgun/codebase/core/code_retrieval.py,sha256=8ob-xWjcSmEilpI1h5IU94ykd2dETMf84CfY36N_big,8015
|
|
131
|
+
shotgun/codebase/core/cypher_models.py,sha256=Yfysfa9lLguILftkmtuJCN3kLBFIo7WW7NigM-Zr-W4,1735
|
|
132
|
+
shotgun/codebase/core/errors.py,sha256=I32FqYrqlHZLC5z0rTs9S7P7COvBYNib3JJlrTcn6aU,5375
|
|
133
|
+
shotgun/codebase/core/gitignore.py,sha256=Gb8v8exZhidDwFXL-UeT7g7IVpCkIbn6vsCSbV5rq4Q,8404
|
|
134
|
+
shotgun/codebase/core/ingestor.py,sha256=ekGLz5Y4Rqis6j5puwMxIEBvnAeNNeISXP3h7wlEhv8,81516
|
|
135
|
+
shotgun/codebase/core/kuzu_compat.py,sha256=dfI2JwefnAYBCvBf9v3lIohrOPZGZhXIobok8NZ9CGs,3269
|
|
136
|
+
shotgun/codebase/core/language_config.py,sha256=bcsWP6qw72aWAdnyiPOVKmn9y_Amx2nEB2EJaiA_5hE,14426
|
|
137
|
+
shotgun/codebase/core/manager.py,sha256=3Jmb5w1ATCu5AceKAh8__CQ5kUwE3Tr-PNP1YPBLZvI,75000
|
|
138
|
+
shotgun/codebase/core/metrics_collector.py,sha256=V4kImfuQiEFaQxx0st2K-JnSgVLDlArIW2y5FU4t1FA,11023
|
|
139
|
+
shotgun/codebase/core/metrics_types.py,sha256=sNTf9hdEeSBTaZDMHAcSQW9kZVfxbLuuj_G3JKbhW3U,13129
|
|
140
|
+
shotgun/codebase/core/nl_query.py,sha256=qH32btb5w7eY2ij7-wc6Z0QXIDOqjz0pZXXRUboSbYs,16121
|
|
141
|
+
shotgun/codebase/core/parallel_executor.py,sha256=jdPlylitL-xrnCBoTRv3d1J6KPH_SyPfCNUxF9KRwvU,15990
|
|
142
|
+
shotgun/codebase/core/parser_loader.py,sha256=LZRrDS8Sp518jIu3tQW-BxdwJ86lnsTteI478ER9Td8,4278
|
|
143
|
+
shotgun/codebase/core/work_distributor.py,sha256=l8gYcgFDJ1oF-K_Du1vGBjGbG33AkHhjHRy6MsIbzVI,8587
|
|
144
|
+
shotgun/codebase/core/worker.py,sha256=zOjSdeEL1DFtQ_N9ZFb24orek5HP3o9DZavykDixjg0,26040
|
|
145
|
+
shotgun/codebase/core/extractors/__init__.py,sha256=-wgJkjQjoqLamwMJihcDNNzwEk51Md69Zn9aYkDWH9o,616
|
|
146
|
+
shotgun/codebase/core/extractors/base.py,sha256=ismvBVjK4SGwg9SmI6wIodvKJmNA8ncbm4Tu53iQLKk,4386
|
|
147
|
+
shotgun/codebase/core/extractors/factory.py,sha256=q2YvgFTsJQw6sxCMagW1cCgIc79ae5dYw8pm7-QIUHY,1823
|
|
148
|
+
shotgun/codebase/core/extractors/protocol.py,sha256=Ay01Dvbs9Omb34C3JpGZBDN06b2y4t6ZyeLcumKMfBo,3062
|
|
149
|
+
shotgun/codebase/core/extractors/types.py,sha256=oNLGj2dPkEJhSvxyi4EOEkNtaIwhKw5Oi25kVdoHrR0,325
|
|
150
|
+
shotgun/codebase/core/extractors/go/__init__.py,sha256=t4BzF5GQY7cPzBqeawdywm6tv-EWEsPQDj5AxWuHFog,128
|
|
151
|
+
shotgun/codebase/core/extractors/go/extractor.py,sha256=_94AvqfC4WcqmJbugEII8WUiybfRPP85CqFM3LOp57k,4289
|
|
152
|
+
shotgun/codebase/core/extractors/javascript/__init__.py,sha256=MaSTREM8b6l8dYV0ZQdzDJI7acFHwxq276tYbjxLKMg,152
|
|
153
|
+
shotgun/codebase/core/extractors/javascript/extractor.py,sha256=HPCAeAzWKEh80m9DdKkB9HwQPmpYpfHJFVH5nQVS0Ak,4602
|
|
154
|
+
shotgun/codebase/core/extractors/python/__init__.py,sha256=VzZqaV0g3jTpWBdBJ0wINIEJYo_h5Yxh1F6fFz9EGjQ,140
|
|
155
|
+
shotgun/codebase/core/extractors/python/extractor.py,sha256=522HsOJQ0wg7Xt_KZTyR1MnjukQSLz8jH95j6V8DhZo,5156
|
|
156
|
+
shotgun/codebase/core/extractors/rust/__init__.py,sha256=Mp-HCbuKGnjw-9mJJctQP2ytEfO_fI_R-bwFZCrf_dk,134
|
|
157
|
+
shotgun/codebase/core/extractors/rust/extractor.py,sha256=fk6vNscNBdnH-76WC7nDzFbL0akrIU1x4IsRPcrpiU0,4871
|
|
158
|
+
shotgun/codebase/core/extractors/typescript/__init__.py,sha256=tVdvxoSRO72XZkVkBHSTKCcsKRAH9fh4LdVJTIx3FrQ,152
|
|
159
|
+
shotgun/codebase/core/extractors/typescript/extractor.py,sha256=ILQ2kJFkV4AeuBwA3iV_uGQNcNJkuUpEe3ebnaX7IrY,3236
|
|
160
|
+
shotgun/llm_proxy/__init__.py,sha256=z7YnPfyhW0WYrz6tHOoVcVOoi6iO0zWjUHbpu6o38oA,817
|
|
161
|
+
shotgun/llm_proxy/client.py,sha256=qtmJng-ESRbiXqw-Dn8zMduF5MEiNJdkPbG4uu4u4XU,6507
|
|
162
|
+
shotgun/llm_proxy/clients.py,sha256=Y19W8Gb2e-37w8rUKPmxJOqoTk6GlcPhZhoeAbbURU0,1341
|
|
163
|
+
shotgun/llm_proxy/constants.py,sha256=_4piKdyvM7pAIRdAGrzYexwWoDlueUZiEMfwWrOa4T0,381
|
|
164
|
+
shotgun/llm_proxy/models.py,sha256=KzYcBjE5yiiU9hpkvExQKCnySrv44EdgTTM9XSxRBVE,4375
|
|
165
|
+
shotgun/prompts/__init__.py,sha256=RswUm0HMdfm2m2YKUwUsEdRIwoczdbI7zlucoEvHYRo,132
|
|
166
|
+
shotgun/prompts/loader.py,sha256=_7CdUYrAo6ZwvTBUlXugKyLU0IDBg5CVzUIAHFPw418,4433
|
|
167
|
+
shotgun/prompts/agents/__init__.py,sha256=YRIJMbzpArojNX1BP5gfxxois334z_GQga8T-xyWMbY,39
|
|
168
|
+
shotgun/prompts/agents/export.j2,sha256=o-4pdwRNOtXZR9akcWLcJYwF_V1wMOyF8sbLtKKXtDo,17116
|
|
169
|
+
shotgun/prompts/agents/file_read.j2,sha256=kyv5WAy6LLKIg3J2Q50lLjcGZaYdu9Rrm5hVwhkfHB4,1967
|
|
170
|
+
shotgun/prompts/agents/plan.j2,sha256=l0eH-AC8h1m7SQmVxCEY3OOg_o9Eg3zabg05dIO26U4,7545
|
|
171
|
+
shotgun/prompts/agents/research.j2,sha256=TRCf6wOfrOhpz49mwENpdJqt0LpN49iJi1MG_gqOMVA,5619
|
|
172
|
+
shotgun/prompts/agents/router.j2,sha256=w6VAaKjJqKmDDZ__2-ntvZkLI2ufknUdWJC1YJ9goAc,28564
|
|
173
|
+
shotgun/prompts/agents/specify.j2,sha256=nCJfauEn080peif6iWAZ3X2mKAFH-hrAflAcEELPIC8,15748
|
|
174
|
+
shotgun/prompts/agents/tasks.j2,sha256=2le3wZ00NVPba1lgs7jk2xf4eQ2MPMa6cnaKE9hPuI8,8929
|
|
175
|
+
shotgun/prompts/agents/partials/codebase_understanding.j2,sha256=7WH-PVd-TRBFQUdOdKkwwn9hAUaJznFZMAGHhO7IGGU,5633
|
|
176
|
+
shotgun/prompts/agents/partials/common_agent_system_prompt.j2,sha256=03SRfJ-UlszT_s6kc4VC6dgWQ1j2x5aARwdhemChJ0M,1937
|
|
177
|
+
shotgun/prompts/agents/partials/content_formatting.j2,sha256=zM80rlH8T79GBYXithsZQO0A4PZ_3ht6yC4fmvjEEHY,1459
|
|
178
|
+
shotgun/prompts/agents/partials/interactive_mode.j2,sha256=xyJGKrGrOPz5_74ELUcF7sEWZDzk5gMkU4SqrC-xIuk,1175
|
|
179
|
+
shotgun/prompts/agents/partials/router_delegation_mode.j2,sha256=c9UcRkpo2bZ4dOd6sfI7K1y_vXYO4bVofMTMM3wjoXY,1339
|
|
180
|
+
shotgun/prompts/agents/state/system_state.j2,sha256=WnOczRSfiETWwl0L0Mzvldvg-V8c55ZW0jon8R179ZY,1477
|
|
181
|
+
shotgun/prompts/agents/state/codebase/codebase_graphs_available.j2,sha256=YZA11xCSdwAm7Xh176xas2Y2xtO-PBzW-Xx9tl_xpGk,1306
|
|
182
|
+
shotgun/prompts/codebase/__init__.py,sha256=NYuPMtmYM2ptuwf3YxVuotNlJOUq0hnjmwlzKcJkGK4,42
|
|
183
|
+
shotgun/prompts/codebase/cypher_query_patterns.j2,sha256=ufTx_xT3VoS76KcVUbIgGQx-bJoJHx3bBE3dagAXv18,8913
|
|
184
|
+
shotgun/prompts/codebase/cypher_system.j2,sha256=jo8d_AIoyAd0zKCvPXSmYGBxvtulMsCfeaOTdOfeC5g,2620
|
|
185
|
+
shotgun/prompts/codebase/enhanced_query_context.j2,sha256=WzGnFaBLZO-mOdkZ_u_PewSu9niKy87DKNL4uzQq1Jg,724
|
|
186
|
+
shotgun/prompts/codebase/partials/cypher_rules.j2,sha256=yhptyyZNzFNJWFGmOkxpF5PzZtUAXWDF4xl9ADu7yDw,3200
|
|
187
|
+
shotgun/prompts/codebase/partials/graph_schema.j2,sha256=fUsD1ZgU1pIWUzrs97jHq3TatKeGSvZgG8XP5gCQUJc,1939
|
|
188
|
+
shotgun/prompts/codebase/partials/temporal_context.j2,sha256=yYHQHBQ4EeSs6TtKPm9fflGW3y6H0-yAANcTdsApkk4,1388
|
|
189
|
+
shotgun/prompts/history/__init__.py,sha256=wbMLQ8yWmYz1sfXXigEAUlNkFcM50KdQv0kp4VU_P58,43
|
|
190
|
+
shotgun/prompts/history/chunk_summarization.j2,sha256=pePysCKgSp1UjqavQEzR_DNcsBtnpigip6zzcDsgKuE,1295
|
|
191
|
+
shotgun/prompts/history/combine_summaries.j2,sha256=OL2Zr668UpDOLq1-rBeXpjYMNDV7FL4RH7tQsKVQrKc,2151
|
|
192
|
+
shotgun/prompts/history/incremental_summarization.j2,sha256=GmnNh0pWTjaEaI1sPwKNsGCys5fK8xrzWqalAs_LhJw,2447
|
|
193
|
+
shotgun/prompts/history/summarization.j2,sha256=OYNVHg65zbuWB6_pXzTOs2T2k5qFD2gyfbmr6NP01rs,2268
|
|
194
|
+
shotgun/prompts/tools/web_search.j2,sha256=_F1m5UYiZENPQCqTUiO2du9Lkzs1SWujjAiauDD_5-Y,568
|
|
195
|
+
shotgun/sdk/__init__.py,sha256=ESV0WM9MigjXG30g9qVjcCMI40GQv-P-MSMGVuOisK4,380
|
|
196
|
+
shotgun/sdk/codebase.py,sha256=wscfPjqrutoASD24hMJp42sghray4wmUPc5NZ8UMH5g,9119
|
|
197
|
+
shotgun/sdk/exceptions.py,sha256=qBcQv0v7ZTwP7CMcxZST4GqCsfOWtOUjSzGBo0-heqo,412
|
|
198
|
+
shotgun/sdk/models.py,sha256=X9nOTUHH0cdkQW1NfnMEDu-QgK9oUsEISh1Jtwr5Am4,5496
|
|
199
|
+
shotgun/sdk/services.py,sha256=J4PJFSxCQ6--u7rb3Ta-9eYtlYcxcbnzrMP6ThyCnw4,705
|
|
200
|
+
shotgun/shotgun_web/__init__.py,sha256=tVQ4vfCAiR5rZfwj9FfCv1psTgyU3Ilo6sPz4d-CTPU,2009
|
|
201
|
+
shotgun/shotgun_web/client.py,sha256=_IO0jLzyEeysK6F74nuhaMgnqYlON_-vAA5wC625vXc,5383
|
|
202
|
+
shotgun/shotgun_web/constants.py,sha256=EaaqQT-jYLz4-JyMuiVllEb5ohAf_GTIc4oyubvuQDI,2254
|
|
203
|
+
shotgun/shotgun_web/exceptions.py,sha256=HtAkFQxRAsitJMm9vdjola_2O79o4YWMMjfa16D2Uo4,707
|
|
204
|
+
shotgun/shotgun_web/models.py,sha256=vPUmXt9S7C2DlroTIzzhYqxH-v85Lc-oV9JsyyCoNes,14847
|
|
205
|
+
shotgun/shotgun_web/specs_client.py,sha256=EoRit622sIlRWixB9Gt_8YR4zZwEZhPOXF-VtceDps0,23447
|
|
206
|
+
shotgun/shotgun_web/supabase_client.py,sha256=UcuM-MgssV-C4BKo5t2_YfoE9eB9RSbpi0YHRbOVVwA,876
|
|
207
|
+
shotgun/shotgun_web/shared_specs/__init__.py,sha256=k5ZHrkN8eNog5aitREEo1M8N1X-rUfaU9eT4oh-SMgs,882
|
|
208
|
+
shotgun/shotgun_web/shared_specs/file_scanner.py,sha256=SR2jpn2mxO2B2wMMkupI1HQhDxVJ4CoF9XQ6pnB9eTE,4827
|
|
209
|
+
shotgun/shotgun_web/shared_specs/hasher.py,sha256=dA5G8zgvpsko68Is_5_HbjB4lCF4YWajBFKjq5eVOak,2225
|
|
210
|
+
shotgun/shotgun_web/shared_specs/models.py,sha256=RkKWw4POBMvmaIwGiSq1pho2mgw6zoGoQjQ0hQFrR5w,1856
|
|
211
|
+
shotgun/shotgun_web/shared_specs/upload_pipeline.py,sha256=rowaQ6pJFyBLLyGmSoOSaQ2napGX1OQTQXl8qMq_R1w,10549
|
|
212
|
+
shotgun/shotgun_web/shared_specs/utils.py,sha256=8hXchaiYhSyG9FP_O6YXk8tMupJQiVgGXZKKWhD_SsU,812
|
|
213
|
+
shotgun/tui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
214
|
+
shotgun/tui/app.py,sha256=C2T1Fn_9IQeIfUmQ0yqJgtFpC3_CcGWjc7Bm3S_y8GQ,18263
|
|
215
|
+
shotgun/tui/containers.py,sha256=g7sx0WOHZXXboP7gJLgOkSUSIaPemO8VZcESoXdzmSQ,3532
|
|
216
|
+
shotgun/tui/dependencies.py,sha256=m_5FoN5ktSS71rIb7Bj7GIYJDMbzhsF2hA0rc2z6c4o,2950
|
|
217
|
+
shotgun/tui/filtered_codebase_service.py,sha256=lJ8gTMhIveTatmvmGLP299msWWTkVYKwvY_2FhuL2s4,1687
|
|
218
|
+
shotgun/tui/layout.py,sha256=_hCXwbdPGLXgN8h54ri2Pnk8Gpw6B3pTP3horBlyZz0,247
|
|
219
|
+
shotgun/tui/protocols.py,sha256=TjhNRX-_byJxzt56YseGe3vKKv5Ak3CYg2C0rR8rqKY,2288
|
|
220
|
+
shotgun/tui/styles.tcss,sha256=ETyyw1bpMBOqTi5RLcAJUScdPWTvAWEqE9YcT0kVs_E,121
|
|
221
|
+
shotgun/tui/commands/__init__.py,sha256=ckUzWOegC5znk9vMweyrRgKKNvFjXtmFWjQTGYoRpb4,2936
|
|
222
|
+
shotgun/tui/components/attachment_bar.py,sha256=JZtXc9hWm_BNPxqXn-HhGNj0hK2vT4ht6t5H_0ChGog,2607
|
|
223
|
+
shotgun/tui/components/context_indicator.py,sha256=GeEMvLYf09Hkw-sTqX1v8RDHb6rt6mXcUpI4DT9DVHQ,5792
|
|
224
|
+
shotgun/tui/components/mode_indicator.py,sha256=yTi7cnWgLjg2jZaJlMoLPVrS4YhNmFhrRz1EWwNVuww,5514
|
|
225
|
+
shotgun/tui/components/prompt_input.py,sha256=LaZr8agSizV0lHNNoQHz3tqS167ZVUebF8BxAfZyLqI,1953
|
|
226
|
+
shotgun/tui/components/spinner.py,sha256=ovTDeaJ6FD6chZx_Aepia6R3UkPOVJ77EKHfRmn39MY,2427
|
|
227
|
+
shotgun/tui/components/splash.py,sha256=vppy9vEIEvywuUKRXn2y11HwXSRkQZHLYoVjhDVdJeU,1267
|
|
228
|
+
shotgun/tui/components/status_bar.py,sha256=XycXc88-8QI9_IY7EDNEbLwLbDBrLk_OH38Lwopzblc,1666
|
|
229
|
+
shotgun/tui/components/vertical_tail.py,sha256=kROwTaRjUwVB7H35dtmNcUVPQqNYvvfq7K2tXBKEb6c,638
|
|
230
|
+
shotgun/tui/screens/chat.tcss,sha256=7jM4YTBj-N-5T4NIiU2AJiGtKYvYO50OAkI0o7_qimI,574
|
|
231
|
+
shotgun/tui/screens/confirmation_dialog.py,sha256=g2DqxNiVx7OCsGlvuot_iGuHZjrlBlQN91hSTlhGXC4,6113
|
|
232
|
+
shotgun/tui/screens/database_locked_dialog.py,sha256=VMOXWOSAopahIhwsX06ZlYVJL93QeT-EgSggfxemqow,7693
|
|
233
|
+
shotgun/tui/screens/database_timeout_dialog.py,sha256=FcpbqKP2hKrE-WU-FxNmVxhp3wPmfGVbMcVe5QfOLSs,5086
|
|
234
|
+
shotgun/tui/screens/directory_setup.py,sha256=cwtl9KRsSnpm7HbGx84TE6wahUXKeXbi8L0TRtCfYJQ,3274
|
|
235
|
+
shotgun/tui/screens/feedback.py,sha256=BRrAcgDMAVsEvCNFYjuqdF6FmqzuqiBxeLz4Ah7MGMQ,5955
|
|
236
|
+
shotgun/tui/screens/github_issue.py,sha256=OdjaNLb997UOqVTWMq-GawVbTPjxarynMb-y0ktxeCA,3178
|
|
237
|
+
shotgun/tui/screens/kuzu_error_dialog.py,sha256=SRgeS-VSero_O0tjG685QM3jOwKC1_YpWS4HiDvkDvE,4292
|
|
238
|
+
shotgun/tui/screens/model_picker.py,sha256=W693qUjP9OuIae2OIdTjfZzt1inQJ-giMWG_O0Rk4_Y,13800
|
|
239
|
+
shotgun/tui/screens/models.py,sha256=hsS62WEKpJkGOBbmT0UqVw1Hrunm-4b9ZEzgblwtHaY,223
|
|
240
|
+
shotgun/tui/screens/pipx_migration.py,sha256=e9DojUzdlxj7_8IC7T_UMLEjIOk4eOF0uro2s8oAAvs,6145
|
|
241
|
+
shotgun/tui/screens/provider_config.py,sha256=VrlSnYZ-l1VG_qi5H-4G0yuNaJP8BFW20Vxgv8IcS28,13903
|
|
242
|
+
shotgun/tui/screens/shotgun_auth.py,sha256=tFKEMaQ6pocAdMG4JoRXQVjmjgluNGoYNZHBFCgTfck,13951
|
|
243
|
+
shotgun/tui/screens/spec_pull.py,sha256=LYD_ca2c4Je34daU4KFNWKnJ_rfMGGIXN-kJbdLTtzk,9162
|
|
244
|
+
shotgun/tui/screens/splash.py,sha256=E2MsJihi3c9NY1L28o_MstDxGwrCnnV7zdq00MrGAsw,706
|
|
245
|
+
shotgun/tui/screens/welcome.py,sha256=WJ35Cnoj9aHN47qgfBmGg99IXQQzkJ2Ipl-vfzU6oBs,10398
|
|
246
|
+
shotgun/tui/screens/chat/__init__.py,sha256=wChPqpJG-7kPYVYZjE8BlkXWxfW_YABhTR2fQ51opHY,113
|
|
247
|
+
shotgun/tui/screens/chat/chat.tcss,sha256=mJyLkrN20TS4pvmiLLWRajMZDaCMp13QjljotNeiaqs,922
|
|
248
|
+
shotgun/tui/screens/chat/chat_screen.py,sha256=mfycMXpZ7LT383YzwKJnv7RC4PiCfd5pujXee98cM6Y,110484
|
|
249
|
+
shotgun/tui/screens/chat/codebase_index_prompt_screen.py,sha256=T_mk5Ma4jzdVaW-ojsSfOXIefZ_5hUt10yJsuz3Iu5E,7945
|
|
250
|
+
shotgun/tui/screens/chat/codebase_index_selection.py,sha256=Zz0vi3uLhWysdPHRO8Rye9QX4hIPeWhSAw6Y9-BlOVA,241
|
|
251
|
+
shotgun/tui/screens/chat/help_text.py,sha256=MkDq0Z7yQCXHVtLlnZaFU_Ijq1rbQX9KMOGVsb_1Hm8,1610
|
|
252
|
+
shotgun/tui/screens/chat/prompt_history.py,sha256=uL3KVFb32vD09jN338mebFAi0QI-EJXTxcEQy-j6QdQ,1201
|
|
253
|
+
shotgun/tui/screens/chat_screen/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
254
|
+
shotgun/tui/screens/chat_screen/attachment_hint.py,sha256=4N2RnkTqw7jlCddzHG7KGkltmMzXHCcTTJXZ7RpPqBc,1122
|
|
255
|
+
shotgun/tui/screens/chat_screen/command_providers.py,sha256=fT4cJnP678IsDUqqQWAlmu8B2OrsmFM1VrvGF1OoKoc,12327
|
|
256
|
+
shotgun/tui/screens/chat_screen/hint_message.py,sha256=aeG3TB8lamc7VeGUST16A96y6dYc8u3FuTxymM5BI-w,3361
|
|
257
|
+
shotgun/tui/screens/chat_screen/messages.py,sha256=IYHrRixB3EyTmKm4rcKeDR3MqN5snR3GaE1ZHg-AkY0,6563
|
|
258
|
+
shotgun/tui/screens/chat_screen/history/__init__.py,sha256=PRznBlnm9caNE0YYC08PkvNMAK-JpuULwmByaRNTKO0,581
|
|
259
|
+
shotgun/tui/screens/chat_screen/history/agent_response.py,sha256=hGny1oaUV4lMtkO4rhXZriKbQQuxd94yIH2QOyq2yic,2567
|
|
260
|
+
shotgun/tui/screens/chat_screen/history/chat_history.py,sha256=7MACTOphExoS3e8Amp859Onc7MNnYqRcNxcWeFQWWfw,5920
|
|
261
|
+
shotgun/tui/screens/chat_screen/history/formatters.py,sha256=u2P2OWqJ7-YZbI6PktVym_aOqN-nJtviRKjqI8tzv_4,6831
|
|
262
|
+
shotgun/tui/screens/chat_screen/history/partial_response.py,sha256=r1KAJGrtDmTGEJSV66_pg_TAU55BH9foFA63-MHJfCM,1690
|
|
263
|
+
shotgun/tui/screens/chat_screen/history/user_question.py,sha256=q_6aWax8TH0oImOfjo7QhqT02Y7snrSB7WemZbMmCkg,2249
|
|
264
|
+
shotgun/tui/screens/shared_specs/__init__.py,sha256=HTsjeZ2E6ICS8vd1KmG_H0-B0fpjcaVSR3_7AI8jXqU,631
|
|
265
|
+
shotgun/tui/screens/shared_specs/create_spec_dialog.py,sha256=Sp7s0tWJl1AQmOZ118VGM3zhMZF9FqN-eNJLWeU_tcE,7654
|
|
266
|
+
shotgun/tui/screens/shared_specs/models.py,sha256=dxNRmWD9xrqGdkTeSHoV3IyMFESyuyTqWKKKMcapNNU,1431
|
|
267
|
+
shotgun/tui/screens/shared_specs/share_specs_dialog.py,sha256=JEicnRQvBDgLdgRT0uhOF60P53YW05m0vmS7r8Rmbac,12290
|
|
268
|
+
shotgun/tui/screens/shared_specs/upload_progress_screen.py,sha256=VY0uioZvtA8p8ZnCz9kFZ7dAw8vN3wU08qurDOVQaKU,15835
|
|
269
|
+
shotgun/tui/services/__init__.py,sha256=-BKRCRYQSnQZI4PxxUpkbvq8eYhXGjWHJtVW06CYQ2o,149
|
|
270
|
+
shotgun/tui/services/conversation_service.py,sha256=l8v991gTFLpgsv7drmZ5MSZ77_zmqYHc2ejh2zjZt7I,6703
|
|
271
|
+
shotgun/tui/state/__init__.py,sha256=oPV_VsvoiXhuZPwnra38kCT3RyXLvVxkVKDOv-LXGgA,141
|
|
272
|
+
shotgun/tui/state/processing_state.py,sha256=R596JgFKnS4NDt_0k5ix9fyRw4xnxdzkzsWe4Zz1bfI,6927
|
|
273
|
+
shotgun/tui/utils/__init__.py,sha256=cFjDfoXTRBq29wgP7TGRWUu1eFfiIG-LLOzjIGfadgI,150
|
|
274
|
+
shotgun/tui/utils/mode_progress.py,sha256=IdDFAIpIZHL5YTTUGvN_CaSZsN2vdm89Q6d7gNsAvBI,7323
|
|
275
|
+
shotgun/tui/widgets/__init__.py,sha256=6l-rU3Kq4hxKZQif49ZrZvvQlguC5qR20MJxi0kPwWQ,230
|
|
276
|
+
shotgun/tui/widgets/approval_widget.py,sha256=ewbVusx2wzJCXgw81iFsWEdH5nFWRtet1FtajRxgS6I,4382
|
|
277
|
+
shotgun/tui/widgets/cascade_confirmation_widget.py,sha256=AY4KnqGb9vLFqoU2KXMZB9K4st6Z4sLdZ7IMVnrAKlU,6890
|
|
278
|
+
shotgun/tui/widgets/plan_panel.py,sha256=hmIcpKGw4rWvzEh0kWDLWUqwTJ5MKWzLySXqtybMYrI,3607
|
|
279
|
+
shotgun/tui/widgets/step_checkpoint_widget.py,sha256=hiwT9EyQ-ue8iGmOed7CBqau1EWo7jtdFjRk9uTvYu8,5963
|
|
280
|
+
shotgun/tui/widgets/widget_coordinator.py,sha256=J16RinNmB6OMkw9JDwdFOwuuZ3qBKuC_fHolLmrtNh4,9808
|
|
281
|
+
shotgun/utils/__init__.py,sha256=WinIEp9oL2iMrWaDkXz2QX4nYVPAm8C9aBSKTeEwLtE,198
|
|
282
|
+
shotgun/utils/datetime_utils.py,sha256=x_uYmG1n9rkhSO2oR2uV9ttiuPL0nKa9os8YYaPfdWY,2592
|
|
283
|
+
shotgun/utils/env_utils.py,sha256=ulM3BRi9ZhS7uC-zorGeDQm4SHvsyFuuU9BtVPqdrHY,1418
|
|
284
|
+
shotgun/utils/file_system_utils.py,sha256=62l6OtAUzTLxkvsKqib7DB-l03mQUr_Hs2D9_1cLoSE,1702
|
|
285
|
+
shotgun/utils/marketing.py,sha256=WAPEtJDagNsDmIBdrZ0XBHOgsLONz_eT25wEng-HDBs,3759
|
|
286
|
+
shotgun/utils/source_detection.py,sha256=Co6Q03R3fT771TF3RzB-70stfjNP2S4F_ArZKibwzm8,454
|
|
287
|
+
shotgun/utils/update_checker.py,sha256=6fjiVUXgdxUrI54dfw0xBsrw7jlobYkjYNZaR-JoTpI,9667
|
|
288
|
+
shotgun_sh-0.6.1.dev1.dist-info/METADATA,sha256=mIIHI6X9IIk_eHvsKLMZQpGQTztA20-zxHsfYF0iQR8,18179
|
|
289
|
+
shotgun_sh-0.6.1.dev1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
290
|
+
shotgun_sh-0.6.1.dev1.dist-info/entry_points.txt,sha256=GQmtjKaPtviqYOuB3C0SMGlG5RZS9-VDDIKxV_IVHmY,75
|
|
291
|
+
shotgun_sh-0.6.1.dev1.dist-info/licenses/LICENSE,sha256=ZZEiPnjIkv3rNT-CJBMU6l7VukLUdddCo3bTwal1NIQ,1070
|
|
292
|
+
shotgun_sh-0.6.1.dev1.dist-info/RECORD,,
|
shotgun/cli/export.py
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
"""Export command for shotgun CLI."""
|
|
2
|
-
|
|
3
|
-
import asyncio
|
|
4
|
-
from typing import Annotated
|
|
5
|
-
|
|
6
|
-
import typer
|
|
7
|
-
|
|
8
|
-
from shotgun.agents.config import ProviderType
|
|
9
|
-
from shotgun.agents.export import (
|
|
10
|
-
create_export_agent,
|
|
11
|
-
run_export_agent,
|
|
12
|
-
)
|
|
13
|
-
from shotgun.agents.models import AgentRuntimeOptions
|
|
14
|
-
from shotgun.cli.error_handler import print_agent_error
|
|
15
|
-
from shotgun.exceptions import ErrorNotPickedUpBySentry
|
|
16
|
-
from shotgun.logging_config import get_logger
|
|
17
|
-
from shotgun.posthog_telemetry import track_event
|
|
18
|
-
|
|
19
|
-
app = typer.Typer(
|
|
20
|
-
name="export", help="Export artifacts to various formats with agentic approach"
|
|
21
|
-
)
|
|
22
|
-
logger = get_logger(__name__)
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
@app.callback(invoke_without_command=True)
|
|
26
|
-
def export(
|
|
27
|
-
instruction: Annotated[
|
|
28
|
-
str, typer.Argument(help="Export instruction or format specification")
|
|
29
|
-
],
|
|
30
|
-
non_interactive: Annotated[
|
|
31
|
-
bool,
|
|
32
|
-
typer.Option(
|
|
33
|
-
"--non-interactive", "-n", help="Disable user interaction (for CI/CD)"
|
|
34
|
-
),
|
|
35
|
-
] = False,
|
|
36
|
-
provider: Annotated[
|
|
37
|
-
ProviderType | None,
|
|
38
|
-
typer.Option("--provider", "-p", help="AI provider to use (overrides default)"),
|
|
39
|
-
] = None,
|
|
40
|
-
) -> None:
|
|
41
|
-
"""Export artifacts and findings to various formats.
|
|
42
|
-
|
|
43
|
-
This command exports research, plans, tasks, and other project artifacts
|
|
44
|
-
to different formats like Markdown, HTML, JSON, CSV, or project management
|
|
45
|
-
tool formats. The AI agent will analyze available content and transform
|
|
46
|
-
it according to your export requirements.
|
|
47
|
-
"""
|
|
48
|
-
|
|
49
|
-
logger.info("📤 Export Instruction: %s", instruction)
|
|
50
|
-
|
|
51
|
-
# Track export command usage
|
|
52
|
-
track_event(
|
|
53
|
-
"export_command",
|
|
54
|
-
{
|
|
55
|
-
"non_interactive": non_interactive,
|
|
56
|
-
"provider": provider.value if provider else "default",
|
|
57
|
-
},
|
|
58
|
-
)
|
|
59
|
-
|
|
60
|
-
# Create agent dependencies
|
|
61
|
-
agent_runtime_options = AgentRuntimeOptions(interactive_mode=not non_interactive)
|
|
62
|
-
|
|
63
|
-
# Create the export agent with deps and provider
|
|
64
|
-
agent, deps = asyncio.run(create_export_agent(agent_runtime_options, provider))
|
|
65
|
-
|
|
66
|
-
# Start export process with error handling
|
|
67
|
-
logger.info("🎯 Starting export...")
|
|
68
|
-
|
|
69
|
-
async def async_export() -> None:
|
|
70
|
-
try:
|
|
71
|
-
result = await run_export_agent(agent, instruction, deps)
|
|
72
|
-
logger.info("✅ Export Complete!")
|
|
73
|
-
logger.info("📤 Results:")
|
|
74
|
-
logger.info("%s", result.output)
|
|
75
|
-
except ErrorNotPickedUpBySentry as e:
|
|
76
|
-
print_agent_error(e)
|
|
77
|
-
except Exception as e:
|
|
78
|
-
logger.exception("Unexpected error in export command")
|
|
79
|
-
print(f"⚠️ An unexpected error occurred: {str(e)}")
|
|
80
|
-
|
|
81
|
-
asyncio.run(async_export())
|