shotgun-sh 0.2.17__py3-none-any.whl → 0.3.3.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.
Files changed (112) hide show
  1. shotgun/agents/agent_manager.py +28 -14
  2. shotgun/agents/common.py +1 -1
  3. shotgun/agents/config/README.md +89 -0
  4. shotgun/agents/config/__init__.py +10 -1
  5. shotgun/agents/config/manager.py +323 -53
  6. shotgun/agents/config/models.py +85 -21
  7. shotgun/agents/config/provider.py +51 -13
  8. shotgun/agents/config/streaming_test.py +119 -0
  9. shotgun/agents/context_analyzer/analyzer.py +6 -2
  10. shotgun/agents/conversation/__init__.py +18 -0
  11. shotgun/agents/conversation/filters.py +164 -0
  12. shotgun/agents/conversation/history/chunking.py +278 -0
  13. shotgun/agents/{history → conversation/history}/compaction.py +27 -1
  14. shotgun/agents/{history → conversation/history}/constants.py +5 -0
  15. shotgun/agents/conversation/history/file_content_deduplication.py +216 -0
  16. shotgun/agents/{history → conversation/history}/history_processors.py +267 -3
  17. shotgun/agents/{history → conversation/history}/token_counting/anthropic.py +8 -0
  18. shotgun/agents/{conversation_manager.py → conversation/manager.py} +1 -1
  19. shotgun/agents/{conversation_history.py → conversation/models.py} +8 -94
  20. shotgun/agents/error/__init__.py +11 -0
  21. shotgun/agents/error/models.py +19 -0
  22. shotgun/agents/runner.py +230 -0
  23. shotgun/agents/tools/web_search/openai.py +1 -1
  24. shotgun/build_constants.py +2 -2
  25. shotgun/cli/clear.py +1 -1
  26. shotgun/cli/compact.py +5 -3
  27. shotgun/cli/context.py +44 -1
  28. shotgun/cli/error_handler.py +24 -0
  29. shotgun/cli/export.py +34 -34
  30. shotgun/cli/plan.py +34 -34
  31. shotgun/cli/research.py +17 -9
  32. shotgun/cli/spec/__init__.py +5 -0
  33. shotgun/cli/spec/backup.py +81 -0
  34. shotgun/cli/spec/commands.py +132 -0
  35. shotgun/cli/spec/models.py +48 -0
  36. shotgun/cli/spec/pull_service.py +219 -0
  37. shotgun/cli/specify.py +20 -19
  38. shotgun/cli/tasks.py +34 -34
  39. shotgun/codebase/core/ingestor.py +153 -7
  40. shotgun/codebase/models.py +2 -0
  41. shotgun/exceptions.py +325 -0
  42. shotgun/llm_proxy/__init__.py +17 -0
  43. shotgun/llm_proxy/client.py +215 -0
  44. shotgun/llm_proxy/models.py +137 -0
  45. shotgun/logging_config.py +42 -0
  46. shotgun/main.py +4 -0
  47. shotgun/posthog_telemetry.py +1 -1
  48. shotgun/prompts/agents/partials/common_agent_system_prompt.j2 +28 -3
  49. shotgun/prompts/agents/partials/interactive_mode.j2 +3 -3
  50. shotgun/prompts/agents/plan.j2 +16 -0
  51. shotgun/prompts/agents/research.j2 +16 -3
  52. shotgun/prompts/agents/specify.j2 +54 -1
  53. shotgun/prompts/agents/state/system_state.j2 +0 -2
  54. shotgun/prompts/agents/tasks.j2 +16 -0
  55. shotgun/prompts/history/chunk_summarization.j2 +34 -0
  56. shotgun/prompts/history/combine_summaries.j2 +53 -0
  57. shotgun/sdk/codebase.py +14 -3
  58. shotgun/settings.py +5 -0
  59. shotgun/shotgun_web/__init__.py +67 -1
  60. shotgun/shotgun_web/client.py +42 -1
  61. shotgun/shotgun_web/constants.py +46 -0
  62. shotgun/shotgun_web/exceptions.py +29 -0
  63. shotgun/shotgun_web/models.py +390 -0
  64. shotgun/shotgun_web/shared_specs/__init__.py +32 -0
  65. shotgun/shotgun_web/shared_specs/file_scanner.py +175 -0
  66. shotgun/shotgun_web/shared_specs/hasher.py +83 -0
  67. shotgun/shotgun_web/shared_specs/models.py +71 -0
  68. shotgun/shotgun_web/shared_specs/upload_pipeline.py +329 -0
  69. shotgun/shotgun_web/shared_specs/utils.py +34 -0
  70. shotgun/shotgun_web/specs_client.py +703 -0
  71. shotgun/shotgun_web/supabase_client.py +31 -0
  72. shotgun/tui/app.py +73 -9
  73. shotgun/tui/containers.py +1 -1
  74. shotgun/tui/layout.py +5 -0
  75. shotgun/tui/screens/chat/chat_screen.py +372 -95
  76. shotgun/tui/screens/chat/codebase_index_prompt_screen.py +196 -17
  77. shotgun/tui/screens/chat_screen/command_providers.py +13 -2
  78. shotgun/tui/screens/chat_screen/hint_message.py +76 -1
  79. shotgun/tui/screens/confirmation_dialog.py +40 -0
  80. shotgun/tui/screens/directory_setup.py +45 -41
  81. shotgun/tui/screens/feedback.py +10 -3
  82. shotgun/tui/screens/github_issue.py +11 -2
  83. shotgun/tui/screens/model_picker.py +28 -8
  84. shotgun/tui/screens/onboarding.py +149 -0
  85. shotgun/tui/screens/pipx_migration.py +58 -6
  86. shotgun/tui/screens/provider_config.py +66 -8
  87. shotgun/tui/screens/shared_specs/__init__.py +21 -0
  88. shotgun/tui/screens/shared_specs/create_spec_dialog.py +273 -0
  89. shotgun/tui/screens/shared_specs/models.py +56 -0
  90. shotgun/tui/screens/shared_specs/share_specs_dialog.py +390 -0
  91. shotgun/tui/screens/shared_specs/upload_progress_screen.py +452 -0
  92. shotgun/tui/screens/shotgun_auth.py +110 -16
  93. shotgun/tui/screens/spec_pull.py +288 -0
  94. shotgun/tui/screens/welcome.py +123 -0
  95. shotgun/tui/services/conversation_service.py +5 -2
  96. shotgun/tui/widgets/widget_coordinator.py +1 -1
  97. {shotgun_sh-0.2.17.dist-info → shotgun_sh-0.3.3.dev1.dist-info}/METADATA +9 -2
  98. {shotgun_sh-0.2.17.dist-info → shotgun_sh-0.3.3.dev1.dist-info}/RECORD +112 -77
  99. {shotgun_sh-0.2.17.dist-info → shotgun_sh-0.3.3.dev1.dist-info}/WHEEL +1 -1
  100. /shotgun/agents/{history → conversation/history}/__init__.py +0 -0
  101. /shotgun/agents/{history → conversation/history}/context_extraction.py +0 -0
  102. /shotgun/agents/{history → conversation/history}/history_building.py +0 -0
  103. /shotgun/agents/{history → conversation/history}/message_utils.py +0 -0
  104. /shotgun/agents/{history → conversation/history}/token_counting/__init__.py +0 -0
  105. /shotgun/agents/{history → conversation/history}/token_counting/base.py +0 -0
  106. /shotgun/agents/{history → conversation/history}/token_counting/openai.py +0 -0
  107. /shotgun/agents/{history → conversation/history}/token_counting/sentencepiece_counter.py +0 -0
  108. /shotgun/agents/{history → conversation/history}/token_counting/tokenizer_cache.py +0 -0
  109. /shotgun/agents/{history → conversation/history}/token_counting/utils.py +0 -0
  110. /shotgun/agents/{history → conversation/history}/token_estimation.py +0 -0
  111. {shotgun_sh-0.2.17.dist-info → shotgun_sh-0.3.3.dev1.dist-info}/entry_points.txt +0 -0
  112. {shotgun_sh-0.2.17.dist-info → shotgun_sh-0.3.3.dev1.dist-info}/licenses/LICENSE +0 -0
@@ -2,14 +2,18 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ import webbrowser
5
6
  from typing import TYPE_CHECKING, cast
6
7
 
7
8
  from textual import on
8
9
  from textual.app import ComposeResult
9
10
  from textual.containers import Container, Horizontal, Vertical
11
+ from textual.events import Resize
10
12
  from textual.screen import Screen
11
13
  from textual.widgets import Button, Markdown, Static
12
14
 
15
+ from shotgun.tui.layout import TINY_HEIGHT_THRESHOLD
16
+
13
17
  if TYPE_CHECKING:
14
18
  from ..app import ShotgunApp
15
19
 
@@ -85,6 +89,69 @@ class WelcomeScreen(Screen[None]):
85
89
  margin: 1 0 0 0;
86
90
  width: 100%;
87
91
  }
92
+
93
+ #migration-warning {
94
+ width: 80%;
95
+ height: auto;
96
+ padding: 2;
97
+ margin: 1 0;
98
+ border: solid $warning;
99
+ background: $warning 20%;
100
+ }
101
+
102
+ #migration-warning-title {
103
+ text-style: bold;
104
+ color: $warning;
105
+ padding: 0 0 1 0;
106
+ }
107
+
108
+ /* Tiny screen fallback */
109
+ #tiny-welcome-container {
110
+ display: none;
111
+ width: 100%;
112
+ height: auto;
113
+ padding: 0;
114
+ align: center middle;
115
+ }
116
+
117
+ #tiny-welcome-message {
118
+ text-align: center;
119
+ padding: 0;
120
+ }
121
+
122
+ #tiny-welcome-link {
123
+ text-align: center;
124
+ padding: 0;
125
+ color: $accent;
126
+ }
127
+
128
+ #tiny-welcome-buttons {
129
+ width: auto;
130
+ height: auto;
131
+ padding: 0;
132
+ align: center middle;
133
+ }
134
+
135
+ #tiny-welcome-buttons Button {
136
+ margin: 0 1;
137
+ }
138
+
139
+ /* Tiny mode - hide full welcome, show minimal */
140
+ WelcomeScreen.tiny #titlebox {
141
+ display: none;
142
+ }
143
+
144
+ WelcomeScreen.tiny #options-container {
145
+ display: none;
146
+ }
147
+
148
+ WelcomeScreen.tiny #migration-warning {
149
+ display: none;
150
+ }
151
+
152
+ WelcomeScreen.tiny #tiny-welcome-container {
153
+ display: block;
154
+ }
88
155
  """
89
156
 
90
157
  BINDINGS = [
@@ -92,6 +159,24 @@ class WelcomeScreen(Screen[None]):
92
159
  ]
93
160
 
94
161
  def compose(self) -> ComposeResult:
162
+ # Tiny screen fallback
163
+ with Container(id="tiny-welcome-container"):
164
+ yield Static(
165
+ "Welcome to Shotgun",
166
+ id="tiny-welcome-message",
167
+ )
168
+ yield Static(
169
+ "[@click=screen.open_usage_guide]View setup instructions[/]",
170
+ id="tiny-welcome-link",
171
+ markup=True,
172
+ )
173
+ with Horizontal(id="tiny-welcome-buttons"):
174
+ yield Button(
175
+ "Shotgun Account", id="tiny-shotgun-button", variant="primary"
176
+ )
177
+ yield Button("BYOK", id="tiny-byok-button", variant="success")
178
+
179
+ # Full welcome screen
95
180
  with Vertical(id="titlebox"):
96
181
  yield Static("Welcome to Shotgun", id="welcome-title")
97
182
  yield Static(
@@ -99,6 +184,23 @@ class WelcomeScreen(Screen[None]):
99
184
  id="welcome-subtitle",
100
185
  )
101
186
 
187
+ # Show migration warning if migration failed
188
+ app = cast("ShotgunApp", self.app)
189
+ # Note: This is a synchronous call in compose, but config should already be loaded
190
+ if hasattr(app, "config_manager") and app.config_manager._config:
191
+ config = app.config_manager._config
192
+ if config.migration_failed:
193
+ with Vertical(id="migration-warning"):
194
+ yield Static(
195
+ "⚠️ Configuration Migration Failed",
196
+ id="migration-warning-title",
197
+ )
198
+ backup_msg = "Your previous configuration couldn't be migrated automatically."
199
+ if config.migration_backup_path:
200
+ backup_msg += f"\n\nYour old configuration (including API keys) has been backed up to:\n{config.migration_backup_path}"
201
+ backup_msg += "\n\nYou'll need to reconfigure Shotgun by choosing an option below."
202
+ yield Markdown(backup_msg)
203
+
102
204
  with Container(id="options-container"):
103
205
  with Horizontal(id="options"):
104
206
  # Left box - Shotgun Account
@@ -136,10 +238,29 @@ class WelcomeScreen(Screen[None]):
136
238
 
137
239
  def on_mount(self) -> None:
138
240
  """Focus the first button on mount."""
241
+ self._apply_layout_for_height(self.app.size.height)
139
242
  self.query_one("#shotgun-button", Button).focus()
140
243
  # Update BYOK button text asynchronously
141
244
  self.run_worker(self._update_byok_button_text(), exclusive=False)
142
245
 
246
+ @on(Resize)
247
+ def handle_resize(self, event: Resize) -> None:
248
+ """Adjust layout based on terminal height."""
249
+ self._apply_layout_for_height(event.size.height)
250
+
251
+ def _apply_layout_for_height(self, height: int) -> None:
252
+ """Apply appropriate layout based on terminal height."""
253
+ if height < TINY_HEIGHT_THRESHOLD:
254
+ self.add_class("tiny")
255
+ else:
256
+ self.remove_class("tiny")
257
+
258
+ def action_open_usage_guide(self) -> None:
259
+ """Open the usage guide in browser."""
260
+ webbrowser.open(
261
+ "https://github.com/shotgun-sh/shotgun?tab=readme-ov-file#-usage"
262
+ )
263
+
143
264
  async def _update_byok_button_text(self) -> None:
144
265
  """Update BYOK button text based on whether user has existing providers."""
145
266
  byok_button = self.query_one("#byok-button", Button)
@@ -148,11 +269,13 @@ class WelcomeScreen(Screen[None]):
148
269
  byok_button.label = "I'll stick with my BYOK setup"
149
270
 
150
271
  @on(Button.Pressed, "#shotgun-button")
272
+ @on(Button.Pressed, "#tiny-shotgun-button")
151
273
  def _on_shotgun_pressed(self) -> None:
152
274
  """Handle Shotgun Account button press."""
153
275
  self.run_worker(self._start_shotgun_auth(), exclusive=True)
154
276
 
155
277
  @on(Button.Pressed, "#byok-button")
278
+ @on(Button.Pressed, "#tiny-byok-button")
156
279
  def _on_byok_pressed(self) -> None:
157
280
  """Handle BYOK button press."""
158
281
  self.run_worker(self._start_byok_config(), exclusive=True)
@@ -10,8 +10,11 @@ from typing import TYPE_CHECKING
10
10
 
11
11
  import aiofiles.os
12
12
 
13
- from shotgun.agents.conversation_history import ConversationHistory, ConversationState
14
- from shotgun.agents.conversation_manager import ConversationManager
13
+ from shotgun.agents.conversation import (
14
+ ConversationHistory,
15
+ ConversationManager,
16
+ ConversationState,
17
+ )
15
18
  from shotgun.agents.models import AgentType
16
19
 
17
20
  if TYPE_CHECKING:
@@ -24,8 +24,8 @@ from shotgun.tui.screens.chat_screen.history.chat_history import ChatHistory
24
24
 
25
25
  if TYPE_CHECKING:
26
26
  from shotgun.agents.context_analyzer.models import ContextAnalysis
27
- from shotgun.agents.conversation_history import HintMessage
28
27
  from shotgun.tui.screens.chat import ChatScreen
28
+ from shotgun.tui.screens.chat_screen.hint_message import HintMessage
29
29
 
30
30
  logger = logging.getLogger(__name__)
31
31
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: shotgun-sh
3
- Version: 0.2.17
3
+ Version: 0.3.3.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
@@ -32,8 +32,9 @@ Requires-Dist: logfire>=2.0.0
32
32
  Requires-Dist: openai>=1.0.0
33
33
  Requires-Dist: packaging>=23.0
34
34
  Requires-Dist: posthog>=3.0.0
35
- Requires-Dist: pydantic-ai>=0.0.14
35
+ Requires-Dist: pydantic-ai>=1.26.0
36
36
  Requires-Dist: pydantic-settings>=2.0.0
37
+ Requires-Dist: pyperclip>=1.10.0
37
38
  Requires-Dist: rich>=13.0.0
38
39
  Requires-Dist: sentencepiece>=0.2.0
39
40
  Requires-Dist: sentry-sdk[pure-eval]>=2.0.0
@@ -377,6 +378,12 @@ We had to implement payments. Cursor, Claude Code, and Copilot all suggested bui
377
378
 
378
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.
379
380
 
381
+ **Q: Does my code leave my computer when indexing?**
382
+
383
+ A: No. When you index your codebase, all indexing happens locally on your machine. The index is stored in `~/.shotgun-sh/codebases/` and never sent to any server. Your code stays on your computer.
384
+
385
+ ![Indexing Privacy](docs/index_codebase_privacy.png)
386
+
380
387
  **Q: Local LLMs?**
381
388
 
382
389
  A: Planned. We'll publish compatibility notes and local provider integrations.
@@ -1,53 +1,62 @@
1
1
  shotgun/__init__.py,sha256=P40K0fnIsb7SKcQrFnXZ4aREjpWchVDhvM1HxI4cyIQ,104
2
2
  shotgun/api_endpoints.py,sha256=cHNkXbaxMOw6t9M7_SGHwEkz9bL1CH_kw8qIhgdXfi0,630
3
- shotgun/build_constants.py,sha256=NnG1QMjsJRkjzvgeqGVxv89D2nyON6yaFd-Sq2R-86k,701
4
- shotgun/exceptions.py,sha256=qSt4_ZWBZ_DtDxMlZIFfdwyXRkGdCfG9dic_O-5QEKA,1102
5
- shotgun/logging_config.py,sha256=fMnO0Ep76PIRxr0AqLcgE5QxUl4-WfqwLkMKCA2OVRc,7110
6
- shotgun/main.py,sha256=XSb7ZeOxMXyZuQMxVGD6aCKl5DCgNKfYmXbZXtZBTMI,7072
7
- shotgun/posthog_telemetry.py,sha256=uE8JeAL2wlf3kG0lA7hylcEPYpDRrzQ-Lb8DcC1PG6o,6450
3
+ shotgun/build_constants.py,sha256=trtP6Yz4N9fntWVWrRlSicQxahOoImwNnAnz5Laeq00,760
4
+ shotgun/exceptions.py,sha256=ddCsPbfr-c_ZsEgWOVuGDv01_60EeTLYamgrJTnqxJE,12631
5
+ shotgun/logging_config.py,sha256=o9erNhWl5CvXpgEIzdpm9BmVwO1PBVm1VmgTPjpm8OI,8460
6
+ shotgun/main.py,sha256=UpVKrCDt2O3EMEGWRZ22h2OAQto2cr7iidPKF5Fagxk,7289
7
+ shotgun/posthog_telemetry.py,sha256=XkslipKYaPDy2bICBgE_dJt4RsBcEBW2EfktAfAi_KM,6442
8
8
  shotgun/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
9
  shotgun/sentry_telemetry.py,sha256=KIjkRAIio47bZtXseGXE6SSLXsCPThbz8_a_lw7pcSM,8419
10
- shotgun/settings.py,sha256=1pheWh5YRXCVzIWy7kGWiC1yGbJ8qTWxqQsxggs2BZI,7202
10
+ shotgun/settings.py,sha256=c9FfswsmjWc0fe0HPwmZNtHVicaT_MogdHaN9B4iXg4,7359
11
11
  shotgun/telemetry.py,sha256=6trR92Q6ERvSuUGyS8VyBCv1Dfs20vI1-4BYPieLcxM,2917
12
12
  shotgun/agents/__init__.py,sha256=8Jzv1YsDuLyNPFJyckSr_qI4ehTVeDyIMDW4omsfPGc,25
13
- shotgun/agents/agent_manager.py,sha256=q0g7qVTAVxyHUQkOUxDou_7Hw9XNpfop-S9e6pMeDKE,51266
14
- shotgun/agents/common.py,sha256=U18bN5mokVddIuhtSEG5i_uRjiLw6kx1tEaDtsTdhIw,19183
15
- shotgun/agents/conversation_history.py,sha256=djfzHu0ZQnEiRPDwqKaBIZK1KKPmdV7wE_L-7cAGb8M,7909
16
- shotgun/agents/conversation_manager.py,sha256=CvmealftUc3n3pYXBGpZ29mpXGaM8bzmbGtT4KM9sdU,5280
13
+ shotgun/agents/agent_manager.py,sha256=H2txCp-_zE46pDtPPYuulCFPUxDnGtN0IgV14ts9NpM,52197
14
+ shotgun/agents/common.py,sha256=JO-xf_MG2LhtjLWGDYH3YrhcV315Vof9aIdoOqcILkw,19196
17
15
  shotgun/agents/export.py,sha256=aCuytVFgkp4VkcGWak1TlXYasEe1WbFTTRiA6TGfhVI,2931
18
16
  shotgun/agents/llm.py,sha256=hs8j1wwTczGtehzahL1Z_5D4qus5QUx4-h9-m5ZPzm4,2209
19
17
  shotgun/agents/messages.py,sha256=wNn0qC5AqASM8LMaSGFOerZEJPn5FsIOmaJs1bdosuU,1036
20
18
  shotgun/agents/models.py,sha256=anNz8_U95B1__VPXgxFqfzk2BRIHrIO4clJlnfedVS8,9862
21
19
  shotgun/agents/plan.py,sha256=7bP9VVQ5yfUE76fJEdBL-S2OIy3P-s5RdaorbThJQfc,2992
22
20
  shotgun/agents/research.py,sha256=0bkEGdmwJiHz_ubJ835xvsp2dDQpZWKrr8Qd55OadJI,3242
21
+ shotgun/agents/runner.py,sha256=sMgv1sZZz6jKQ095u9GudBMhQ91ozzYXBq5aHHlBmxo,8784
23
22
  shotgun/agents/specify.py,sha256=EsnHtQ-kRwZX_GRyp5D_y94yRaOo1gfLCIKeoF8ohNY,3099
24
23
  shotgun/agents/tasks.py,sha256=rebwa9z2-YUAQTxEhxglUKeDO5i0gAq39CmR9_LXMKE,2961
25
24
  shotgun/agents/usage_manager.py,sha256=0O1G7ovgYtJ_zCTITQ1Cks75eXMwvjl1SgGE1uoZ0x4,5383
26
- shotgun/agents/config/__init__.py,sha256=Fl8K_81zBpm-OfOW27M_WWLSFdaHHek6lWz95iDREjQ,318
25
+ shotgun/agents/config/README.md,sha256=Cjgt91aAhedUOPDf-powj1jXym_SvVzLcUSvROsqS2c,3294
26
+ shotgun/agents/config/__init__.py,sha256=QuGC057dzMrzhrdRJ7c8KNwWzFqISiSk3t5LqnvOVN0,471
27
27
  shotgun/agents/config/constants.py,sha256=GZ62PTrMd_yXDBvQwpNqh401GVlMHh5Li7_xM-zdp8Y,742
28
- shotgun/agents/config/manager.py,sha256=p3RUm6SPGmiR-rdO0mI9a9zVl1OH1bbzvksI25bUnEw,20392
29
- shotgun/agents/config/models.py,sha256=wSTHi-SagVuxDktkm9oN9gPHRU55jxS4UMw4DMWkvuo,6912
30
- shotgun/agents/config/provider.py,sha256=fdL8STD1jgZMAK5NKxD0E0CaDLJ-3-Vn3Y7yPeElfk0,13402
28
+ shotgun/agents/config/manager.py,sha256=fFSR6SnfcuOLhMbSs7gcTBQskyboIM_dbxTZVKL2Sdg,29483
29
+ shotgun/agents/config/models.py,sha256=pETlro2kZR_aQ39HH-lvbiCgXhmeN6Ik1yD1dUf1pMk,9433
30
+ shotgun/agents/config/provider.py,sha256=gEL-NY2pBm5UgS4_TBjusVLsze5RB7poLRz7pvt-Bck,15146
31
+ shotgun/agents/config/streaming_test.py,sha256=ALOM4fjYf7dH7bsY-onKYJBcYH8ujx-50RdMwvw6RXM,4443
31
32
  shotgun/agents/context_analyzer/__init__.py,sha256=p-R3SVa3yDkXnHaZ7XV_SI_9FGhoYwvnbvDr3oxGU3M,732
32
- shotgun/agents/context_analyzer/analyzer.py,sha256=3WNdzY6gp4cfzf6uDiFnVo7P2VnFSdbh8SE7uMx5ffQ,20005
33
+ shotgun/agents/context_analyzer/analyzer.py,sha256=6-LaICd53RUD7GpXZ_H-jwE8YfW7lmWRiWssBvpQ-Cw,20049
33
34
  shotgun/agents/context_analyzer/constants.py,sha256=oG8IJXEFN-V5wtnoz_ZBhOIGNXG1kjR4K_yOC5e95hY,323
34
35
  shotgun/agents/context_analyzer/formatter.py,sha256=QovmxUdpGkBKwxegxhvXRmHrpNFF31MoD3LRYTVCKY8,4008
35
36
  shotgun/agents/context_analyzer/models.py,sha256=Ww2NOgqaQlZ45tyBsVevt5r9bz0X-dQ4lNwAElfwAJk,8362
36
- shotgun/agents/history/__init__.py,sha256=XFQj2a6fxDqVg0Q3juvN9RjV_RJbgvFZtQOCOjVJyp4,147
37
- shotgun/agents/history/compaction.py,sha256=S7U00K3-tHOBHjSseGLaNSozkfmZknnqNyat8Hcixfk,3923
38
- shotgun/agents/history/constants.py,sha256=yWY8rrTZarLA3flCCMB_hS2NMvUDRDTwP4D4j7MIh1w,446
39
- shotgun/agents/history/context_extraction.py,sha256=yPF3oYpv5GFsFQT5y53ORKdADtrkGH4u8LwPdO0YVzU,7157
40
- shotgun/agents/history/history_building.py,sha256=6LFDZ60MTPDoGAcmu_mjlnjVYu8YYWdIi-cGbF3jm7A,3532
41
- shotgun/agents/history/history_processors.py,sha256=X1H8kuS0lfiBGBoPmfGhnIVSMLFCTTG4itx9zzePqDE,22503
42
- shotgun/agents/history/message_utils.py,sha256=aPusAl2RYKbjc7lBxPaNprRHmZEG6fe97q7DQUlhlzU,2918
43
- shotgun/agents/history/token_estimation.py,sha256=iRyKq-YDivEpJrULIbQgNpjhOuSC4nHVJYfsWEFV8sQ,4770
44
- shotgun/agents/history/token_counting/__init__.py,sha256=YZt5Lus--fkF6l1hdkIlp1e_oAIpACNwHOI0FRP4q8s,924
45
- shotgun/agents/history/token_counting/anthropic.py,sha256=kGxfDF4GyaPbNnS4DUiOM5EPThEBXBOgbxbO_W8iBXo,4575
46
- shotgun/agents/history/token_counting/base.py,sha256=eVtNmFnnDcsX3E9GE-OH_4_ibdlwg4fETi2cq60sqLw,2327
47
- shotgun/agents/history/token_counting/openai.py,sha256=lZgoMSVSlBN899Cp8sMFggYVDiSaqB-gTHUSaRoQ0yk,2746
48
- shotgun/agents/history/token_counting/sentencepiece_counter.py,sha256=JTSWGAuCtqa7e2fJQzNQ52HqprSJJOcMZLnwxDId-vk,4201
49
- shotgun/agents/history/token_counting/tokenizer_cache.py,sha256=owa4E12iMx8H1mNpCbHEtArE_b4vuwHl_0zKeRovv3w,2936
50
- shotgun/agents/history/token_counting/utils.py,sha256=zL9pzrQHCyi5YMgUyLTnLI9WJmMr3UEEDUECgh4_TjE,4872
37
+ shotgun/agents/conversation/__init__.py,sha256=lFCHhW1x9tjIiKLaJIHqBJoCNPByKJHlWeviW1asTgg,493
38
+ shotgun/agents/conversation/filters.py,sha256=aAT6jDitEEYT-6i_kZ3KfUzDClBZzBbEyttO908d4OI,5195
39
+ shotgun/agents/conversation/manager.py,sha256=nMOkIu22pS9wQAoOjsfZdWGXDSBBEK4Otmpirk9YKlo,5266
40
+ shotgun/agents/conversation/models.py,sha256=agKF1F04T6rc08aVhjwVjtQ4Cl6H-pb4JlZR_XyPWR4,5406
41
+ shotgun/agents/conversation/history/__init__.py,sha256=XFQj2a6fxDqVg0Q3juvN9RjV_RJbgvFZtQOCOjVJyp4,147
42
+ shotgun/agents/conversation/history/chunking.py,sha256=aiUte-nO54swbtDGG1ZglB7TKpm4XrhDwnX_hvJA3Ck,9186
43
+ shotgun/agents/conversation/history/compaction.py,sha256=G5WWsmlZn19VBkdh89YKkvQRSYEIppuJR2LYrxGjkNM,4992
44
+ shotgun/agents/conversation/history/constants.py,sha256=xwDgaazdIXT2Dd7lNxuyt4-wKJK5y903F0WKe4Hi3WY,708
45
+ shotgun/agents/conversation/history/context_extraction.py,sha256=yPF3oYpv5GFsFQT5y53ORKdADtrkGH4u8LwPdO0YVzU,7157
46
+ shotgun/agents/conversation/history/file_content_deduplication.py,sha256=yNNMktZfUMTxoHY2VTxKS0w8ET2Cp5JtxdxKRxEB-wE,7610
47
+ shotgun/agents/conversation/history/history_building.py,sha256=6LFDZ60MTPDoGAcmu_mjlnjVYu8YYWdIi-cGbF3jm7A,3532
48
+ shotgun/agents/conversation/history/history_processors.py,sha256=OZMU6c9hFBXg9J783wRE5uWqgMcrDS-esEjMnnYkfIQ,31519
49
+ shotgun/agents/conversation/history/message_utils.py,sha256=aPusAl2RYKbjc7lBxPaNprRHmZEG6fe97q7DQUlhlzU,2918
50
+ shotgun/agents/conversation/history/token_estimation.py,sha256=iRyKq-YDivEpJrULIbQgNpjhOuSC4nHVJYfsWEFV8sQ,4770
51
+ shotgun/agents/conversation/history/token_counting/__init__.py,sha256=YZt5Lus--fkF6l1hdkIlp1e_oAIpACNwHOI0FRP4q8s,924
52
+ shotgun/agents/conversation/history/token_counting/anthropic.py,sha256=999gzwEn3Q31nmCDlJqJtt3maU4NtkEgr9PaUJdVKa4,4931
53
+ shotgun/agents/conversation/history/token_counting/base.py,sha256=eVtNmFnnDcsX3E9GE-OH_4_ibdlwg4fETi2cq60sqLw,2327
54
+ shotgun/agents/conversation/history/token_counting/openai.py,sha256=lZgoMSVSlBN899Cp8sMFggYVDiSaqB-gTHUSaRoQ0yk,2746
55
+ shotgun/agents/conversation/history/token_counting/sentencepiece_counter.py,sha256=JTSWGAuCtqa7e2fJQzNQ52HqprSJJOcMZLnwxDId-vk,4201
56
+ shotgun/agents/conversation/history/token_counting/tokenizer_cache.py,sha256=owa4E12iMx8H1mNpCbHEtArE_b4vuwHl_0zKeRovv3w,2936
57
+ shotgun/agents/conversation/history/token_counting/utils.py,sha256=zL9pzrQHCyi5YMgUyLTnLI9WJmMr3UEEDUECgh4_TjE,4872
58
+ shotgun/agents/error/__init__.py,sha256=7md1HR_iAoCmTe5mzgQT0y3VBoC8D5zvRI4vQch4Ess,231
59
+ shotgun/agents/error/models.py,sha256=SLUCsMR0UPH0Lxm5AJKXBKTuL6wtdTzJJ3NHDzAIk_I,501
51
60
  shotgun/agents/tools/__init__.py,sha256=kYppd4f4MoJcfTEPzkY2rqtxL1suXRGa9IRUm1G82GY,717
52
61
  shotgun/agents/tools/file_management.py,sha256=29D9aF1e9wGhIFr7cW_NALNmkybtg_dRJZ-atMqa23M,9859
53
62
  shotgun/agents/tools/registry.py,sha256=7F6qFcdGd5Hka6uEC9Xrc4ZCENed8R5_1QJMAgKHYqs,6458
@@ -61,53 +70,61 @@ shotgun/agents/tools/codebase/retrieve_code.py,sha256=KCcKzro0YQ9cFetcm5NF8yKO8h
61
70
  shotgun/agents/tools/web_search/__init__.py,sha256=QKrTqD9JIrFavj7Ah6i-QeAw9stZsRAhZLVhnjr7eyU,3747
62
71
  shotgun/agents/tools/web_search/anthropic.py,sha256=CqkKlMTBajz3bGbQfSvYYndy9npe00bTOSw8luLc5MY,5700
63
72
  shotgun/agents/tools/web_search/gemini.py,sha256=Ruk2Om7jc85veSvaHlQ_pWDlu0pBjAoeuvBgAMH5QvM,3859
64
- shotgun/agents/tools/web_search/openai.py,sha256=3KJpSLmmOjPqEEUCsJaR-LcmFaacu5_herUHbHOVt38,3739
73
+ shotgun/agents/tools/web_search/openai.py,sha256=eSL1qgQWpW5qbkbrf90jIbh3D7wjq-zeg44ky3pqRYE,3708
65
74
  shotgun/agents/tools/web_search/utils.py,sha256=O4IMu9mPBZe5551fNclfXbSmoL7fxP1hziqkWq8CRrI,544
66
75
  shotgun/cli/__init__.py,sha256=_F1uW2g87y4bGFxz8Gp8u7mq2voHp8vQIUtCmm8Tojo,40
67
- shotgun/cli/clear.py,sha256=_mAb3cjlLNGAk19Bu1fKoSF1fpBg05vRIRfSFZzhUyw,1625
68
- shotgun/cli/compact.py,sha256=ZF8bS3hReJYG_uzRfWwCi9cINeZwzvre9SK7A-a9qRk,5914
76
+ shotgun/cli/clear.py,sha256=_zdcvJvFSC2srYLrgh61dyttFu4O47hTNYRCAiSTKQg,1617
77
+ shotgun/cli/compact.py,sha256=vq_9spjhKF-S2pOezX0F6I3OkDN8JEH7OGeB0eQCMLU,5941
69
78
  shotgun/cli/config.py,sha256=wKBPSQ8ZVF6ITPS_bE2F46_xyWiI80QJhhgjt8uuDSY,8031
70
- shotgun/cli/context.py,sha256=sRCNKM_irXASOJclAbYdz8-ftwdBIv68Qyin_w8KK8k,3813
71
- shotgun/cli/export.py,sha256=xe14DKxeL9zN9M2bomuiXxa2JdqIZ1FBPPkTFBVhkxQ,2484
79
+ shotgun/cli/context.py,sha256=5BIiBbcmJ4ePuAiusWKTaKoDZFfGn39uvMoS1ZdHO08,5430
80
+ shotgun/cli/error_handler.py,sha256=neU0dL5zAv4HbrJGIw3Py2wqyA6BzJo3tbpWaZtPidk,646
81
+ shotgun/cli/export.py,sha256=k3g32DPMlGlwE8Nd5pLiuMQ64Aa_FY-DOP_yCt3ae1c,2651
72
82
  shotgun/cli/feedback.py,sha256=wMRIN6UtBI4832XfUwE7nQLjVLuVu4zjupMme02nfwc,1346
73
83
  shotgun/cli/models.py,sha256=cutimFStP6m5pXmg3kbhtWZjNA2us2cPQFJtz2pTdOU,208
74
- shotgun/cli/plan.py,sha256=PbD7ckPIgdDOp7RLQecf4F1S59W_Bag2qMTcR6QqlDw,2337
75
- shotgun/cli/research.py,sha256=chFMuVcznuJqnGwDcK7o1Qk3RQ4q0cFPqRQjyW_GURw,2496
76
- shotgun/cli/specify.py,sha256=gLbnZ4GP9QmRy1QFdhF2mnXqP9Fbo07CY-3GdmbbL3w,2179
77
- shotgun/cli/tasks.py,sha256=GIgwS5a-B92BghjlD0lMDEZd35Izl0S4QguRrdFxciI,2433
84
+ shotgun/cli/plan.py,sha256=mbM-OiCkrR3uWHIwm2M0Zub7wk3GOd5Mnl6_dPZjmKQ,2496
85
+ shotgun/cli/research.py,sha256=WUnMjV0a7u6ATAEydyWOAhEWyrtcalvhFq1_ERYPiD0,3010
86
+ shotgun/cli/specify.py,sha256=TrvcWP9XfxJqeD3IXRKAZ6RkudLFDjsLbTcm5vy_nPU,2383
87
+ shotgun/cli/tasks.py,sha256=1_H6PGjNljMw6UeeTFAhwhsxsMLVF0shuyFGaN_w0rM,2590
78
88
  shotgun/cli/update.py,sha256=sc3uuw3AXFF0kpskWah1JEoTwrKv67fCnqp9BjeND3o,5328
79
89
  shotgun/cli/utils.py,sha256=umVWXDx8pelovMk-nT8B7m0c39AKY9hHsuAMnbw_Hcg,732
80
90
  shotgun/cli/codebase/__init__.py,sha256=rKdvx33p0i_BYbNkz5_4DCFgEMwzOOqLi9f5p7XTLKM,73
81
91
  shotgun/cli/codebase/commands.py,sha256=1N2yOGmok0ZarqXPIpWGcsQrwm_ZJcyWiMxy6tm0j70,8711
82
92
  shotgun/cli/codebase/models.py,sha256=B9vs-d-Bq0aS6FZKebhHT-9tw90Y5f6k_t71VlZpL8k,374
93
+ shotgun/cli/spec/__init__.py,sha256=GZe-ODzMudZcM5NCbz1TTLwK1K5ws7X4KlNT0CBPXEs,69
94
+ shotgun/cli/spec/backup.py,sha256=47FUxj3BBSxgP55JMqqrdI6yCyBGiTt1f2CxFp9ocrM,2570
95
+ shotgun/cli/spec/commands.py,sha256=em-b4P_9qls3HmRENqONqBoFJvjC7AqjyixGtnNdzyM,4733
96
+ shotgun/cli/spec/models.py,sha256=3M8fgemjMT1iAITM64q0VlroUa2Bx9L0arINevY1XfQ,1428
97
+ shotgun/cli/spec/pull_service.py,sha256=5wiDTlWJYi5GQbVm_B-uOpz4yJXbRn5o5OCkbwwlN5M,7171
83
98
  shotgun/codebase/__init__.py,sha256=QBgFE2Abd5Vl7_NdYOglF9S6d-vIjkb3C0cpIYoHZEU,309
84
- shotgun/codebase/models.py,sha256=5e_7zaPL032n_ghcvs01Uug3BH4jyKiQ3S3U5w21BSM,5296
99
+ shotgun/codebase/models.py,sha256=F-FT5DVBWvDg9F4HJH2UphqB56DQrMI6SkmLEZyEPu0,5444
85
100
  shotgun/codebase/service.py,sha256=nyggapfHKdwkKXyuT9oA0tJ9qf4RNVsOxfY8lC5pHro,8006
86
101
  shotgun/codebase/core/__init__.py,sha256=GWWhJEqChiDXAF4omYCgzgoZmJjwsAf6P1aZ5Bl8OE0,1170
87
102
  shotgun/codebase/core/change_detector.py,sha256=uqqQLe8LPC_LVj64cDrmc1ctjKyZsfHfBBdTJQlSjE0,12486
88
103
  shotgun/codebase/core/code_retrieval.py,sha256=8ob-xWjcSmEilpI1h5IU94ykd2dETMf84CfY36N_big,8015
89
104
  shotgun/codebase/core/cypher_models.py,sha256=Yfysfa9lLguILftkmtuJCN3kLBFIo7WW7NigM-Zr-W4,1735
90
- shotgun/codebase/core/ingestor.py,sha256=xWCz84Iwad4kXOqcb5JYHTtBc3YqLdYoPuUcWccrX-o,64708
105
+ shotgun/codebase/core/ingestor.py,sha256=aNdf_tRPvfHXZnWCUX4Ne-_tg6qLZ5cmPWF9-tfi2jI,69510
91
106
  shotgun/codebase/core/language_config.py,sha256=vsqHyuFnumRPRBV1lMOxWKNOIiClO6FyfKQR0fGrtl4,8934
92
107
  shotgun/codebase/core/manager.py,sha256=8FbiLyTe2JDELgx1tpOv_Kqba8J7QSXyORCAO3dERmk,66722
93
108
  shotgun/codebase/core/nl_query.py,sha256=qH32btb5w7eY2ij7-wc6Z0QXIDOqjz0pZXXRUboSbYs,16121
94
109
  shotgun/codebase/core/parser_loader.py,sha256=LZRrDS8Sp518jIu3tQW-BxdwJ86lnsTteI478ER9Td8,4278
95
- shotgun/llm_proxy/__init__.py,sha256=3ST3ygtf2sXXSOjIFHxVZ5xqRbT3TF7jpNHwuZAtIwA,452
110
+ shotgun/llm_proxy/__init__.py,sha256=z7YnPfyhW0WYrz6tHOoVcVOoi6iO0zWjUHbpu6o38oA,817
111
+ shotgun/llm_proxy/client.py,sha256=qtmJng-ESRbiXqw-Dn8zMduF5MEiNJdkPbG4uu4u4XU,6507
96
112
  shotgun/llm_proxy/clients.py,sha256=Y19W8Gb2e-37w8rUKPmxJOqoTk6GlcPhZhoeAbbURU0,1341
97
113
  shotgun/llm_proxy/constants.py,sha256=_4piKdyvM7pAIRdAGrzYexwWoDlueUZiEMfwWrOa4T0,381
114
+ shotgun/llm_proxy/models.py,sha256=KzYcBjE5yiiU9hpkvExQKCnySrv44EdgTTM9XSxRBVE,4375
98
115
  shotgun/prompts/__init__.py,sha256=RswUm0HMdfm2m2YKUwUsEdRIwoczdbI7zlucoEvHYRo,132
99
116
  shotgun/prompts/loader.py,sha256=_7CdUYrAo6ZwvTBUlXugKyLU0IDBg5CVzUIAHFPw418,4433
100
117
  shotgun/prompts/agents/__init__.py,sha256=YRIJMbzpArojNX1BP5gfxxois334z_GQga8T-xyWMbY,39
101
118
  shotgun/prompts/agents/export.j2,sha256=DGqVijH1PkpkY0rDauU52u_fMv15frEvOdXAPFZNMM4,17057
102
- shotgun/prompts/agents/plan.j2,sha256=mbt505NdqmzmPxXzQYJS_gH5vkiVa2a3Dgz2K-15JZk,6093
103
- shotgun/prompts/agents/research.j2,sha256=QFoSSiF_5v7c78RHaiucZEb9mOC_wF54BVKnJEH_DnI,3964
104
- shotgun/prompts/agents/specify.j2,sha256=XdB2WehbVmszw9crl6PEHLyLgwvU08MV--ClV3hI4mA,12014
105
- shotgun/prompts/agents/tasks.j2,sha256=SMvTQPzRR6eHlW3fcj-7Bl-Lh9HWaiF3uAKv77nMdZw,5956
119
+ shotgun/prompts/agents/plan.j2,sha256=TkDY_wCzchhNS3rAc3uWGu6D1I3s8NXeO5K8SiL3cMg,7167
120
+ shotgun/prompts/agents/research.j2,sha256=RQ421S2Qb2tIICEB_pjvwTy8wluzW6aoZ2zXuO8U7Uw,4870
121
+ shotgun/prompts/agents/specify.j2,sha256=6qpMZWqKrLvvmrFRcmfOrCB7VLoc1_wXvisw8ymENWs,14666
122
+ shotgun/prompts/agents/tasks.j2,sha256=j7ctZ-g1iOQ19YJDNKDrwuk8XidWOsD3I5X9-We7v04,7061
106
123
  shotgun/prompts/agents/partials/codebase_understanding.j2,sha256=7WH-PVd-TRBFQUdOdKkwwn9hAUaJznFZMAGHhO7IGGU,5633
107
- shotgun/prompts/agents/partials/common_agent_system_prompt.j2,sha256=Uc-dp-yR-mgBnYaXuY8BkplEsFgyDzZ67D6EBcL4zpE,2253
124
+ shotgun/prompts/agents/partials/common_agent_system_prompt.j2,sha256=Q5-JGGAOCxRqZGVJkAWA8marSTCb4hy96_yUwPVCdxg,4109
108
125
  shotgun/prompts/agents/partials/content_formatting.j2,sha256=MG0JB7SSp8YV5akDWpbs2f9DcdREIYqLp38NnoWLeQ0,1854
109
- shotgun/prompts/agents/partials/interactive_mode.j2,sha256=nyNTURRszG_Pl7M3TS_luUshekDn9yVHfBDMkHSZ1kw,1448
110
- shotgun/prompts/agents/state/system_state.j2,sha256=RPweqBYmgWMiDuOjdEDl6NLgYU7HMaUGW1jBSnD5UzQ,1270
126
+ shotgun/prompts/agents/partials/interactive_mode.j2,sha256=BTxsuNp1sgxPn81HALFDFQYTXjHkMxq5km7Ffyc-9f0,1516
127
+ shotgun/prompts/agents/state/system_state.j2,sha256=BLNPhYoJByeVS0RYXpqXPGGIPw6DCfZ6PqmvuV92xqc,1163
111
128
  shotgun/prompts/agents/state/codebase/codebase_graphs_available.j2,sha256=U-hy-H9bPwV0sYIHTZ5TESxc5EOCtntI8GUZOmJipJw,601
112
129
  shotgun/prompts/codebase/__init__.py,sha256=NYuPMtmYM2ptuwf3YxVuotNlJOUq0hnjmwlzKcJkGK4,42
113
130
  shotgun/prompts/codebase/cypher_query_patterns.j2,sha256=ufTx_xT3VoS76KcVUbIgGQx-bJoJHx3bBE3dagAXv18,8913
@@ -117,23 +134,35 @@ shotgun/prompts/codebase/partials/cypher_rules.j2,sha256=yhptyyZNzFNJWFGmOkxpF5P
117
134
  shotgun/prompts/codebase/partials/graph_schema.j2,sha256=fUsD1ZgU1pIWUzrs97jHq3TatKeGSvZgG8XP5gCQUJc,1939
118
135
  shotgun/prompts/codebase/partials/temporal_context.j2,sha256=yYHQHBQ4EeSs6TtKPm9fflGW3y6H0-yAANcTdsApkk4,1388
119
136
  shotgun/prompts/history/__init__.py,sha256=wbMLQ8yWmYz1sfXXigEAUlNkFcM50KdQv0kp4VU_P58,43
137
+ shotgun/prompts/history/chunk_summarization.j2,sha256=pePysCKgSp1UjqavQEzR_DNcsBtnpigip6zzcDsgKuE,1295
138
+ shotgun/prompts/history/combine_summaries.j2,sha256=OL2Zr668UpDOLq1-rBeXpjYMNDV7FL4RH7tQsKVQrKc,2151
120
139
  shotgun/prompts/history/incremental_summarization.j2,sha256=GmnNh0pWTjaEaI1sPwKNsGCys5fK8xrzWqalAs_LhJw,2447
121
140
  shotgun/prompts/history/summarization.j2,sha256=OYNVHg65zbuWB6_pXzTOs2T2k5qFD2gyfbmr6NP01rs,2268
122
141
  shotgun/prompts/tools/web_search.j2,sha256=_F1m5UYiZENPQCqTUiO2du9Lkzs1SWujjAiauDD_5-Y,568
123
142
  shotgun/sdk/__init__.py,sha256=ESV0WM9MigjXG30g9qVjcCMI40GQv-P-MSMGVuOisK4,380
124
- shotgun/sdk/codebase.py,sha256=7doUvwwl27RDJZIbP56LQsAx26GANtAKEBptTUhLT6w,8842
143
+ shotgun/sdk/codebase.py,sha256=wscfPjqrutoASD24hMJp42sghray4wmUPc5NZ8UMH5g,9119
125
144
  shotgun/sdk/exceptions.py,sha256=qBcQv0v7ZTwP7CMcxZST4GqCsfOWtOUjSzGBo0-heqo,412
126
145
  shotgun/sdk/models.py,sha256=X9nOTUHH0cdkQW1NfnMEDu-QgK9oUsEISh1Jtwr5Am4,5496
127
146
  shotgun/sdk/services.py,sha256=J4PJFSxCQ6--u7rb3Ta-9eYtlYcxcbnzrMP6ThyCnw4,705
128
- shotgun/shotgun_web/__init__.py,sha256=IB-TvK3WvLNrdKH0j9MwMGtIjqi81ASFIVwaZa0ifNg,461
129
- shotgun/shotgun_web/client.py,sha256=n5DDuVfSa6VPZjhSsfSxQlSFOnhgDHyidRnB8Hv9XF4,4134
130
- shotgun/shotgun_web/constants.py,sha256=eNvtjlu81bAVQaCwZXOVjSpDopUm9pf34XuZEvuMiko,661
131
- shotgun/shotgun_web/models.py,sha256=Ie9VfqKZM2tIJhIjentU9qLoNaMZvnUJaIu-xg9kQsA,1391
147
+ shotgun/shotgun_web/__init__.py,sha256=tVQ4vfCAiR5rZfwj9FfCv1psTgyU3Ilo6sPz4d-CTPU,2009
148
+ shotgun/shotgun_web/client.py,sha256=_IO0jLzyEeysK6F74nuhaMgnqYlON_-vAA5wC625vXc,5383
149
+ shotgun/shotgun_web/constants.py,sha256=EaaqQT-jYLz4-JyMuiVllEb5ohAf_GTIc4oyubvuQDI,2254
150
+ shotgun/shotgun_web/exceptions.py,sha256=HtAkFQxRAsitJMm9vdjola_2O79o4YWMMjfa16D2Uo4,707
151
+ shotgun/shotgun_web/models.py,sha256=vPUmXt9S7C2DlroTIzzhYqxH-v85Lc-oV9JsyyCoNes,14847
152
+ shotgun/shotgun_web/specs_client.py,sha256=EoRit622sIlRWixB9Gt_8YR4zZwEZhPOXF-VtceDps0,23447
153
+ shotgun/shotgun_web/supabase_client.py,sha256=UcuM-MgssV-C4BKo5t2_YfoE9eB9RSbpi0YHRbOVVwA,876
154
+ shotgun/shotgun_web/shared_specs/__init__.py,sha256=k5ZHrkN8eNog5aitREEo1M8N1X-rUfaU9eT4oh-SMgs,882
155
+ shotgun/shotgun_web/shared_specs/file_scanner.py,sha256=SR2jpn2mxO2B2wMMkupI1HQhDxVJ4CoF9XQ6pnB9eTE,4827
156
+ shotgun/shotgun_web/shared_specs/hasher.py,sha256=dA5G8zgvpsko68Is_5_HbjB4lCF4YWajBFKjq5eVOak,2225
157
+ shotgun/shotgun_web/shared_specs/models.py,sha256=RkKWw4POBMvmaIwGiSq1pho2mgw6zoGoQjQ0hQFrR5w,1856
158
+ shotgun/shotgun_web/shared_specs/upload_pipeline.py,sha256=rowaQ6pJFyBLLyGmSoOSaQ2napGX1OQTQXl8qMq_R1w,10549
159
+ shotgun/shotgun_web/shared_specs/utils.py,sha256=8hXchaiYhSyG9FP_O6YXk8tMupJQiVgGXZKKWhD_SsU,812
132
160
  shotgun/tui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
133
- shotgun/tui/app.py,sha256=63eg_5bL3v2xfoep3wDA1YfikI6Gyn8WG2cXtMIIRuQ,12700
134
- shotgun/tui/containers.py,sha256=c2gJnFWab873F8IDOwgUBM-2ukf2kbIlO7_s20JxH1w,3540
161
+ shotgun/tui/app.py,sha256=RDspU-G918YzHJ6lBBUuV_Dis-KNWUK6EtblcG094ic,15423
162
+ shotgun/tui/containers.py,sha256=g7sx0WOHZXXboP7gJLgOkSUSIaPemO8VZcESoXdzmSQ,3532
135
163
  shotgun/tui/dependencies.py,sha256=I8xIPUujCeQqqkkKbNYrsL6dCA2MfQ8Vlh4Q0VGlAfI,1331
136
164
  shotgun/tui/filtered_codebase_service.py,sha256=lJ8gTMhIveTatmvmGLP299msWWTkVYKwvY_2FhuL2s4,1687
165
+ shotgun/tui/layout.py,sha256=_hCXwbdPGLXgN8h54ri2Pnk8Gpw6B3pTP3horBlyZz0,247
137
166
  shotgun/tui/protocols.py,sha256=udScqPLb6yRGw1uDO6AuskRu33riaVVh0CAynEogvPM,1256
138
167
  shotgun/tui/styles.tcss,sha256=ETyyw1bpMBOqTi5RLcAJUScdPWTvAWEqE9YcT0kVs_E,121
139
168
  shotgun/tui/commands/__init__.py,sha256=qxYz-9aGhXAZF9VQ5AyALejI1TacsEc2cX2DH7vTXoM,2559
@@ -145,41 +174,47 @@ shotgun/tui/components/splash.py,sha256=vppy9vEIEvywuUKRXn2y11HwXSRkQZHLYoVjhDVd
145
174
  shotgun/tui/components/status_bar.py,sha256=ctfk1YcHBb9-iwAw3VOO6gLoSrcjvykFOxMl096eYsg,1703
146
175
  shotgun/tui/components/vertical_tail.py,sha256=kROwTaRjUwVB7H35dtmNcUVPQqNYvvfq7K2tXBKEb6c,638
147
176
  shotgun/tui/screens/chat.tcss,sha256=7jM4YTBj-N-5T4NIiU2AJiGtKYvYO50OAkI0o7_qimI,574
148
- shotgun/tui/screens/confirmation_dialog.py,sha256=62RYcTSfZHLH77bewmtSEeGgLRyYvCQh16ZoZuIE1J0,4788
149
- shotgun/tui/screens/directory_setup.py,sha256=lIZ1J4A6g5Q2ZBX8epW7BhR96Dmdcg22CyiM5S-I5WU,3237
150
- shotgun/tui/screens/feedback.py,sha256=V4Fkk0Nqe-S7Cak-mzqGtGKNeEeluW4oCZGZKsOtiN0,5732
151
- shotgun/tui/screens/github_issue.py,sha256=5i-Uo4U6q7T7Sdb-uj8LK2WJYbYGOkLgkpahUbFCex4,2902
152
- shotgun/tui/screens/model_picker.py,sha256=JXtFs476WGhu4fhDNG0Bit59e4mtuykNziAM953CNEk,12930
153
- shotgun/tui/screens/onboarding.py,sha256=inSdwIMbfMf376fOA0x3AdSDvNhJcxjWnDNKpMRMCp0,13821
154
- shotgun/tui/screens/pipx_migration.py,sha256=i5g9pQLKeGfqwppVFddRTypXCBk9byaIQ_1wgYuDTfc,4326
155
- shotgun/tui/screens/provider_config.py,sha256=bBPtgdcmUln8tPDoVrECmcWDq_2_BDfdsUVWumA4Ebo,12036
156
- shotgun/tui/screens/shotgun_auth.py,sha256=g1mA4d0hlIH8AWwV8go95WNEQsPKoq9n6QJQ3vtviSo,10675
177
+ shotgun/tui/screens/confirmation_dialog.py,sha256=g2DqxNiVx7OCsGlvuot_iGuHZjrlBlQN91hSTlhGXC4,6113
178
+ shotgun/tui/screens/directory_setup.py,sha256=cwtl9KRsSnpm7HbGx84TE6wahUXKeXbi8L0TRtCfYJQ,3274
179
+ shotgun/tui/screens/feedback.py,sha256=BRrAcgDMAVsEvCNFYjuqdF6FmqzuqiBxeLz4Ah7MGMQ,5955
180
+ shotgun/tui/screens/github_issue.py,sha256=OdjaNLb997UOqVTWMq-GawVbTPjxarynMb-y0ktxeCA,3178
181
+ shotgun/tui/screens/model_picker.py,sha256=Jsol6zf2tIjL2Ut5yodtR3W8aRxb8I6MDOX4UQm-GmY,13955
182
+ shotgun/tui/screens/onboarding.py,sha256=ogcb5US-MCdfhBXLxj8ajYANLIw2kfm1CqPGCC1VTUs,18497
183
+ shotgun/tui/screens/pipx_migration.py,sha256=e9DojUzdlxj7_8IC7T_UMLEjIOk4eOF0uro2s8oAAvs,6145
184
+ shotgun/tui/screens/provider_config.py,sha256=VrlSnYZ-l1VG_qi5H-4G0yuNaJP8BFW20Vxgv8IcS28,13903
185
+ shotgun/tui/screens/shotgun_auth.py,sha256=tFKEMaQ6pocAdMG4JoRXQVjmjgluNGoYNZHBFCgTfck,13951
186
+ shotgun/tui/screens/spec_pull.py,sha256=LYD_ca2c4Je34daU4KFNWKnJ_rfMGGIXN-kJbdLTtzk,9162
157
187
  shotgun/tui/screens/splash.py,sha256=E2MsJihi3c9NY1L28o_MstDxGwrCnnV7zdq00MrGAsw,706
158
- shotgun/tui/screens/welcome.py,sha256=Lr7fJqXccjZnbBF_9qn5UpewW1gHsRuVLAioWEKbhPE,6364
188
+ shotgun/tui/screens/welcome.py,sha256=WJ35Cnoj9aHN47qgfBmGg99IXQQzkJ2Ipl-vfzU6oBs,10398
159
189
  shotgun/tui/screens/chat/__init__.py,sha256=wChPqpJG-7kPYVYZjE8BlkXWxfW_YABhTR2fQ51opHY,113
160
190
  shotgun/tui/screens/chat/chat.tcss,sha256=7jM4YTBj-N-5T4NIiU2AJiGtKYvYO50OAkI0o7_qimI,574
161
- shotgun/tui/screens/chat/chat_screen.py,sha256=_VBKJy8ve2OkaRU8lfchvHolBpzqhzyOUHKP3NGHrhQ,51720
162
- shotgun/tui/screens/chat/codebase_index_prompt_screen.py,sha256=QjqOOqaXJks-82prEHCUnIZbmNBoGb2FLqxet_dUUYM,2070
191
+ shotgun/tui/screens/chat/chat_screen.py,sha256=2wDtRo15Esxndk1XEAWS-_qek_JW04eXajLlUaM5KgI,63683
192
+ shotgun/tui/screens/chat/codebase_index_prompt_screen.py,sha256=GSzyAKZVsD3UPGUFDvfdwdhJucRNX77iUcJAq0_D4U4,7855
163
193
  shotgun/tui/screens/chat/codebase_index_selection.py,sha256=Zz0vi3uLhWysdPHRO8Rye9QX4hIPeWhSAw6Y9-BlOVA,241
164
194
  shotgun/tui/screens/chat/help_text.py,sha256=MkDq0Z7yQCXHVtLlnZaFU_Ijq1rbQX9KMOGVsb_1Hm8,1610
165
195
  shotgun/tui/screens/chat/prompt_history.py,sha256=uL3KVFb32vD09jN338mebFAi0QI-EJXTxcEQy-j6QdQ,1201
166
196
  shotgun/tui/screens/chat_screen/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
167
- shotgun/tui/screens/chat_screen/command_providers.py,sha256=w8Ga9R2QDHa2Y-IzqZ5-ofZ0BqB-FjNErdgZieFqnZg,15482
168
- shotgun/tui/screens/chat_screen/hint_message.py,sha256=WOpbk8q7qt7eOHTyyHvh_IQIaublVDeJGaLpsxEk9FA,933
197
+ shotgun/tui/screens/chat_screen/command_providers.py,sha256=JaD09uoOKUgPM49VjijLUvIVg7oJxd-UGpmwY43Md7Y,15980
198
+ shotgun/tui/screens/chat_screen/hint_message.py,sha256=aeG3TB8lamc7VeGUST16A96y6dYc8u3FuTxymM5BI-w,3361
169
199
  shotgun/tui/screens/chat_screen/history/__init__.py,sha256=PRznBlnm9caNE0YYC08PkvNMAK-JpuULwmByaRNTKO0,581
170
200
  shotgun/tui/screens/chat_screen/history/agent_response.py,sha256=m-RtSg77y-g_mzkVHOBMTMSW1ZE6RUCUYupn-PylPcc,2378
171
201
  shotgun/tui/screens/chat_screen/history/chat_history.py,sha256=KYgeyvXUOgIFjSktpixS-dnLATwl6YKjnOyj2UDeT5g,4024
172
202
  shotgun/tui/screens/chat_screen/history/formatters.py,sha256=R1roy6Ap04dUJ7clMLtYqSLkCMD6g2K6sVanOpDGwdc,4616
173
203
  shotgun/tui/screens/chat_screen/history/partial_response.py,sha256=loMaUoXLphnRh3gl4xvmTtkfaFY-ULrSDjndAWQcy1s,1318
174
204
  shotgun/tui/screens/chat_screen/history/user_question.py,sha256=BKl4FVKh4veszykkfr8RI06O5NEDIBZ17IZSCLzlImA,1305
205
+ shotgun/tui/screens/shared_specs/__init__.py,sha256=HTsjeZ2E6ICS8vd1KmG_H0-B0fpjcaVSR3_7AI8jXqU,631
206
+ shotgun/tui/screens/shared_specs/create_spec_dialog.py,sha256=Sp7s0tWJl1AQmOZ118VGM3zhMZF9FqN-eNJLWeU_tcE,7654
207
+ shotgun/tui/screens/shared_specs/models.py,sha256=dxNRmWD9xrqGdkTeSHoV3IyMFESyuyTqWKKKMcapNNU,1431
208
+ shotgun/tui/screens/shared_specs/share_specs_dialog.py,sha256=JEicnRQvBDgLdgRT0uhOF60P53YW05m0vmS7r8Rmbac,12290
209
+ shotgun/tui/screens/shared_specs/upload_progress_screen.py,sha256=VY0uioZvtA8p8ZnCz9kFZ7dAw8vN3wU08qurDOVQaKU,15835
175
210
  shotgun/tui/services/__init__.py,sha256=-BKRCRYQSnQZI4PxxUpkbvq8eYhXGjWHJtVW06CYQ2o,149
176
- shotgun/tui/services/conversation_service.py,sha256=iT8YP4c8nncbYiSk82t-1j06_71RBxLVUCUJnj5EmGE,6741
211
+ shotgun/tui/services/conversation_service.py,sha256=l8v991gTFLpgsv7drmZ5MSZ77_zmqYHc2ejh2zjZt7I,6703
177
212
  shotgun/tui/state/__init__.py,sha256=oPV_VsvoiXhuZPwnra38kCT3RyXLvVxkVKDOv-LXGgA,141
178
213
  shotgun/tui/state/processing_state.py,sha256=O0SxqQmljWyaSAhdCAr2fNgS0ibFiIhGRNHpiUSCkW0,6234
179
214
  shotgun/tui/utils/__init__.py,sha256=cFjDfoXTRBq29wgP7TGRWUu1eFfiIG-LLOzjIGfadgI,150
180
215
  shotgun/tui/utils/mode_progress.py,sha256=6zh5NKtx0mF5eIOL9OPex93a4l_--s2uXrpOkqemAFU,11168
181
216
  shotgun/tui/widgets/__init__.py,sha256=rfWJJ3R9ID9J-qWm4ESnGgTK5KpKZJ7bdO0BH0PLdPI,152
182
- shotgun/tui/widgets/widget_coordinator.py,sha256=gxRJxbUejXTmpj6lHwfKm9u_FMNF-0VuAkkkQRT6Spk,9131
217
+ shotgun/tui/widgets/widget_coordinator.py,sha256=rol2APsRfQv0TKMidqKidjDJ7haKm11e6KZuUOrrAW8,9140
183
218
  shotgun/utils/__init__.py,sha256=WinIEp9oL2iMrWaDkXz2QX4nYVPAm8C9aBSKTeEwLtE,198
184
219
  shotgun/utils/datetime_utils.py,sha256=x_uYmG1n9rkhSO2oR2uV9ttiuPL0nKa9os8YYaPfdWY,2592
185
220
  shotgun/utils/env_utils.py,sha256=ulM3BRi9ZhS7uC-zorGeDQm4SHvsyFuuU9BtVPqdrHY,1418
@@ -187,8 +222,8 @@ shotgun/utils/file_system_utils.py,sha256=zuuWO12bzSfeocTbi4DHVJKJTBekjP-_vRmb36
187
222
  shotgun/utils/marketing.py,sha256=WAPEtJDagNsDmIBdrZ0XBHOgsLONz_eT25wEng-HDBs,3759
188
223
  shotgun/utils/source_detection.py,sha256=Co6Q03R3fT771TF3RzB-70stfjNP2S4F_ArZKibwzm8,454
189
224
  shotgun/utils/update_checker.py,sha256=6fjiVUXgdxUrI54dfw0xBsrw7jlobYkjYNZaR-JoTpI,9667
190
- shotgun_sh-0.2.17.dist-info/METADATA,sha256=4mHk0w7iQ27km4p-nal1o7knfPeB11bZZr3AdCJG7gg,15638
191
- shotgun_sh-0.2.17.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
192
- shotgun_sh-0.2.17.dist-info/entry_points.txt,sha256=GQmtjKaPtviqYOuB3C0SMGlG5RZS9-VDDIKxV_IVHmY,75
193
- shotgun_sh-0.2.17.dist-info/licenses/LICENSE,sha256=ZZEiPnjIkv3rNT-CJBMU6l7VukLUdddCo3bTwal1NIQ,1070
194
- shotgun_sh-0.2.17.dist-info/RECORD,,
225
+ shotgun_sh-0.3.3.dev1.dist-info/METADATA,sha256=DAnkRU298tp1LaYdt47Ls7-QGcSQ6hH0GzlOkAxBPp0,15981
226
+ shotgun_sh-0.3.3.dev1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
227
+ shotgun_sh-0.3.3.dev1.dist-info/entry_points.txt,sha256=GQmtjKaPtviqYOuB3C0SMGlG5RZS9-VDDIKxV_IVHmY,75
228
+ shotgun_sh-0.3.3.dev1.dist-info/licenses/LICENSE,sha256=ZZEiPnjIkv3rNT-CJBMU6l7VukLUdddCo3bTwal1NIQ,1070
229
+ shotgun_sh-0.3.3.dev1.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: hatchling 1.27.0
2
+ Generator: hatchling 1.28.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any