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