shotgun-sh 0.3.3.dev1__py3-none-any.whl → 0.4.0.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.
- shotgun/agents/agent_manager.py +191 -23
- shotgun/agents/common.py +78 -77
- shotgun/agents/config/manager.py +42 -1
- shotgun/agents/config/models.py +16 -0
- shotgun/agents/conversation/history/file_content_deduplication.py +66 -43
- shotgun/agents/export.py +12 -13
- shotgun/agents/models.py +66 -1
- shotgun/agents/plan.py +12 -13
- shotgun/agents/research.py +13 -10
- shotgun/agents/router/__init__.py +47 -0
- shotgun/agents/router/models.py +376 -0
- shotgun/agents/router/router.py +185 -0
- shotgun/agents/router/tools/__init__.py +18 -0
- shotgun/agents/router/tools/delegation_tools.py +503 -0
- shotgun/agents/router/tools/plan_tools.py +322 -0
- shotgun/agents/specify.py +12 -13
- shotgun/agents/tasks.py +12 -13
- shotgun/agents/tools/file_management.py +49 -1
- shotgun/agents/tools/registry.py +2 -0
- shotgun/agents/tools/web_search/__init__.py +1 -2
- shotgun/agents/tools/web_search/gemini.py +1 -3
- shotgun/codebase/core/change_detector.py +1 -1
- shotgun/codebase/core/ingestor.py +1 -1
- shotgun/codebase/core/manager.py +1 -1
- shotgun/prompts/agents/export.j2 +2 -0
- shotgun/prompts/agents/partials/common_agent_system_prompt.j2 +5 -10
- shotgun/prompts/agents/partials/router_delegation_mode.j2 +36 -0
- shotgun/prompts/agents/plan.j2 +24 -12
- shotgun/prompts/agents/research.j2 +70 -31
- shotgun/prompts/agents/router.j2 +440 -0
- shotgun/prompts/agents/specify.j2 +39 -16
- shotgun/prompts/agents/state/system_state.j2 +15 -6
- shotgun/prompts/agents/tasks.j2 +58 -34
- shotgun/tui/app.py +5 -6
- shotgun/tui/components/mode_indicator.py +120 -25
- shotgun/tui/components/status_bar.py +2 -2
- shotgun/tui/dependencies.py +64 -9
- shotgun/tui/protocols.py +37 -0
- shotgun/tui/screens/chat/chat.tcss +9 -1
- shotgun/tui/screens/chat/chat_screen.py +643 -11
- shotgun/tui/screens/chat_screen/command_providers.py +0 -87
- shotgun/tui/screens/chat_screen/history/agent_response.py +7 -3
- shotgun/tui/screens/chat_screen/history/chat_history.py +12 -0
- shotgun/tui/screens/chat_screen/history/formatters.py +53 -15
- shotgun/tui/screens/chat_screen/history/partial_response.py +11 -1
- shotgun/tui/screens/chat_screen/messages.py +219 -0
- shotgun/tui/screens/onboarding.py +30 -26
- shotgun/tui/utils/mode_progress.py +20 -86
- shotgun/tui/widgets/__init__.py +2 -1
- shotgun/tui/widgets/approval_widget.py +152 -0
- shotgun/tui/widgets/cascade_confirmation_widget.py +203 -0
- shotgun/tui/widgets/plan_panel.py +129 -0
- shotgun/tui/widgets/step_checkpoint_widget.py +180 -0
- {shotgun_sh-0.3.3.dev1.dist-info → shotgun_sh-0.4.0.dev1.dist-info}/METADATA +3 -3
- {shotgun_sh-0.3.3.dev1.dist-info → shotgun_sh-0.4.0.dev1.dist-info}/RECORD +58 -45
- {shotgun_sh-0.3.3.dev1.dist-info → shotgun_sh-0.4.0.dev1.dist-info}/WHEEL +0 -0
- {shotgun_sh-0.3.3.dev1.dist-info → shotgun_sh-0.4.0.dev1.dist-info}/entry_points.txt +0 -0
- {shotgun_sh-0.3.3.dev1.dist-info → shotgun_sh-0.4.0.dev1.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
"""Step checkpoint widget for Planning mode.
|
|
2
|
+
|
|
3
|
+
This widget displays after each step completes in Planning mode,
|
|
4
|
+
allowing the user to continue, modify the plan, or stop execution.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from textual import events, on
|
|
8
|
+
from textual.app import ComposeResult
|
|
9
|
+
from textual.containers import Horizontal
|
|
10
|
+
from textual.css.query import NoMatches
|
|
11
|
+
from textual.widget import Widget
|
|
12
|
+
from textual.widgets import Button, Static
|
|
13
|
+
|
|
14
|
+
from shotgun.agents.router.models import ExecutionStep
|
|
15
|
+
from shotgun.tui.screens.chat_screen.messages import (
|
|
16
|
+
CheckpointContinue,
|
|
17
|
+
CheckpointModify,
|
|
18
|
+
CheckpointStop,
|
|
19
|
+
)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class StepCheckpointWidget(Widget):
|
|
23
|
+
"""Widget for step completion checkpoints in Planning mode.
|
|
24
|
+
|
|
25
|
+
Displays information about the completed step and provides
|
|
26
|
+
action buttons for the user to choose how to proceed.
|
|
27
|
+
|
|
28
|
+
Attributes:
|
|
29
|
+
step: The step that was just completed.
|
|
30
|
+
next_step: The next step to execute, or None if this was the last step.
|
|
31
|
+
"""
|
|
32
|
+
|
|
33
|
+
DEFAULT_CSS = """
|
|
34
|
+
StepCheckpointWidget {
|
|
35
|
+
background: $secondary-background-darken-1;
|
|
36
|
+
height: auto;
|
|
37
|
+
margin: 1;
|
|
38
|
+
padding: 1;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
StepCheckpointWidget .checkpoint-header {
|
|
42
|
+
margin-bottom: 1;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
StepCheckpointWidget .next-step-preview {
|
|
46
|
+
color: $text-muted;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
StepCheckpointWidget .checkpoint-buttons {
|
|
50
|
+
height: auto;
|
|
51
|
+
width: 100%;
|
|
52
|
+
margin-top: 1;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
StepCheckpointWidget Button {
|
|
56
|
+
margin-right: 1;
|
|
57
|
+
min-width: 14;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
StepCheckpointWidget #btn-continue {
|
|
61
|
+
background: $success;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
StepCheckpointWidget #btn-modify {
|
|
65
|
+
background: $warning;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
StepCheckpointWidget #btn-stop {
|
|
69
|
+
background: $error;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
StepCheckpointWidget #btn-done {
|
|
73
|
+
background: $success;
|
|
74
|
+
}
|
|
75
|
+
"""
|
|
76
|
+
|
|
77
|
+
def __init__(self, step: ExecutionStep, next_step: ExecutionStep | None) -> None:
|
|
78
|
+
"""Initialize the checkpoint widget.
|
|
79
|
+
|
|
80
|
+
Args:
|
|
81
|
+
step: The step that was just completed.
|
|
82
|
+
next_step: The next step to execute, or None if last step.
|
|
83
|
+
"""
|
|
84
|
+
super().__init__()
|
|
85
|
+
self.step = step
|
|
86
|
+
self.next_step = next_step
|
|
87
|
+
|
|
88
|
+
def compose(self) -> ComposeResult:
|
|
89
|
+
"""Compose the checkpoint widget layout."""
|
|
90
|
+
if self.next_step:
|
|
91
|
+
# Mid-plan checkpoint: show step completed with next step preview
|
|
92
|
+
yield Static(
|
|
93
|
+
f"[bold green]✅ Step completed:[/] {self.step.title}",
|
|
94
|
+
classes="checkpoint-header",
|
|
95
|
+
)
|
|
96
|
+
yield Static(
|
|
97
|
+
f"[dim]Next:[/] {self.next_step.title}",
|
|
98
|
+
classes="next-step-preview",
|
|
99
|
+
)
|
|
100
|
+
with Horizontal(classes="checkpoint-buttons"):
|
|
101
|
+
yield Button("Continue", id="btn-continue")
|
|
102
|
+
yield Button("Modify plan", id="btn-modify")
|
|
103
|
+
yield Button("Stop here", id="btn-stop")
|
|
104
|
+
else:
|
|
105
|
+
# Plan completed: show completion message with Done button only
|
|
106
|
+
yield Static(
|
|
107
|
+
"[bold green]✅ Plan completed![/]",
|
|
108
|
+
classes="checkpoint-header",
|
|
109
|
+
)
|
|
110
|
+
yield Static(
|
|
111
|
+
f"[dim]Final step:[/] {self.step.title}",
|
|
112
|
+
classes="next-step-preview",
|
|
113
|
+
)
|
|
114
|
+
with Horizontal(classes="checkpoint-buttons"):
|
|
115
|
+
yield Button("Done", id="btn-done")
|
|
116
|
+
|
|
117
|
+
def on_mount(self) -> None:
|
|
118
|
+
"""Auto-focus the appropriate button on mount."""
|
|
119
|
+
# Auto-focus Continue button if available, otherwise Done, then Modify
|
|
120
|
+
try:
|
|
121
|
+
continue_btn = self.query_one("#btn-continue", Button)
|
|
122
|
+
continue_btn.focus()
|
|
123
|
+
except NoMatches:
|
|
124
|
+
try:
|
|
125
|
+
done_btn = self.query_one("#btn-done", Button)
|
|
126
|
+
done_btn.focus()
|
|
127
|
+
except NoMatches:
|
|
128
|
+
try:
|
|
129
|
+
modify_btn = self.query_one("#btn-modify", Button)
|
|
130
|
+
modify_btn.focus()
|
|
131
|
+
except NoMatches:
|
|
132
|
+
pass # No buttons to focus
|
|
133
|
+
|
|
134
|
+
@on(Button.Pressed, "#btn-continue")
|
|
135
|
+
def handle_continue(self) -> None:
|
|
136
|
+
"""Handle Continue button press."""
|
|
137
|
+
self.post_message(CheckpointContinue())
|
|
138
|
+
|
|
139
|
+
@on(Button.Pressed, "#btn-modify")
|
|
140
|
+
def handle_modify(self) -> None:
|
|
141
|
+
"""Handle Modify plan button press."""
|
|
142
|
+
self.post_message(CheckpointModify())
|
|
143
|
+
|
|
144
|
+
@on(Button.Pressed, "#btn-stop")
|
|
145
|
+
def handle_stop(self) -> None:
|
|
146
|
+
"""Handle Stop here button press."""
|
|
147
|
+
self.post_message(CheckpointStop())
|
|
148
|
+
|
|
149
|
+
@on(Button.Pressed, "#btn-done")
|
|
150
|
+
def handle_done(self) -> None:
|
|
151
|
+
"""Handle Done button press (plan completed)."""
|
|
152
|
+
self.post_message(CheckpointStop())
|
|
153
|
+
|
|
154
|
+
def on_key(self, event: events.Key) -> None:
|
|
155
|
+
"""Handle keyboard shortcuts for checkpoint actions.
|
|
156
|
+
|
|
157
|
+
Shortcuts:
|
|
158
|
+
Enter/C: Continue to next step (if available), or Done (if plan complete)
|
|
159
|
+
M: Modify the plan (only if not complete)
|
|
160
|
+
S/Escape: Stop execution (only if not complete)
|
|
161
|
+
"""
|
|
162
|
+
if event.key in ("enter", "c", "C"):
|
|
163
|
+
if self.next_step:
|
|
164
|
+
self.post_message(CheckpointContinue())
|
|
165
|
+
else:
|
|
166
|
+
# Plan complete - Enter dismisses
|
|
167
|
+
self.post_message(CheckpointStop())
|
|
168
|
+
event.stop()
|
|
169
|
+
elif event.key in ("m", "M"):
|
|
170
|
+
if self.next_step:
|
|
171
|
+
self.post_message(CheckpointModify())
|
|
172
|
+
event.stop()
|
|
173
|
+
elif event.key in ("s", "S", "escape"):
|
|
174
|
+
if self.next_step:
|
|
175
|
+
self.post_message(CheckpointStop())
|
|
176
|
+
event.stop()
|
|
177
|
+
else:
|
|
178
|
+
# Plan complete - Escape also dismisses
|
|
179
|
+
self.post_message(CheckpointStop())
|
|
180
|
+
event.stop()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: shotgun-sh
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.0.dev1
|
|
4
4
|
Summary: AI-powered research, planning, and task management CLI tool
|
|
5
5
|
Project-URL: Homepage, https://shotgun.sh/
|
|
6
6
|
Project-URL: Repository, https://github.com/shotgun-sh/shotgun
|
|
@@ -20,14 +20,13 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.12
|
|
21
21
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
22
22
|
Classifier: Topic :: Utilities
|
|
23
|
-
Requires-Python:
|
|
23
|
+
Requires-Python: <3.14,>=3.11
|
|
24
24
|
Requires-Dist: aiofiles>=24.0.0
|
|
25
25
|
Requires-Dist: anthropic>=0.39.0
|
|
26
26
|
Requires-Dist: dependency-injector>=4.41.0
|
|
27
27
|
Requires-Dist: genai-prices>=0.0.27
|
|
28
28
|
Requires-Dist: httpx>=0.27.0
|
|
29
29
|
Requires-Dist: jinja2>=3.1.0
|
|
30
|
-
Requires-Dist: kuzu>=0.7.0
|
|
31
30
|
Requires-Dist: logfire>=2.0.0
|
|
32
31
|
Requires-Dist: openai>=1.0.0
|
|
33
32
|
Requires-Dist: packaging>=23.0
|
|
@@ -35,6 +34,7 @@ Requires-Dist: posthog>=3.0.0
|
|
|
35
34
|
Requires-Dist: pydantic-ai>=1.26.0
|
|
36
35
|
Requires-Dist: pydantic-settings>=2.0.0
|
|
37
36
|
Requires-Dist: pyperclip>=1.10.0
|
|
37
|
+
Requires-Dist: real-ladybug>=0.12.0
|
|
38
38
|
Requires-Dist: rich>=13.0.0
|
|
39
39
|
Requires-Dist: sentencepiece>=0.2.0
|
|
40
40
|
Requires-Dist: sentry-sdk[pure-eval]>=2.0.0
|
|
@@ -10,23 +10,23 @@ shotgun/sentry_telemetry.py,sha256=KIjkRAIio47bZtXseGXE6SSLXsCPThbz8_a_lw7pcSM,8
|
|
|
10
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=
|
|
14
|
-
shotgun/agents/common.py,sha256=
|
|
15
|
-
shotgun/agents/export.py,sha256=
|
|
13
|
+
shotgun/agents/agent_manager.py,sha256=iPePns8x00fSRlhLGQSNeYsHKzinSH-GEtKZv5dBe8Q,59259
|
|
14
|
+
shotgun/agents/common.py,sha256=yTzrDkOLP-r7EDYLtTf5HmNRyxMjdzo2pqQd91epiCA,18621
|
|
15
|
+
shotgun/agents/export.py,sha256=FW2fJjLzWusu2SLEFMKV_hGudobzA3_1f7_MO-EqHFE,2922
|
|
16
16
|
shotgun/agents/llm.py,sha256=hs8j1wwTczGtehzahL1Z_5D4qus5QUx4-h9-m5ZPzm4,2209
|
|
17
17
|
shotgun/agents/messages.py,sha256=wNn0qC5AqASM8LMaSGFOerZEJPn5FsIOmaJs1bdosuU,1036
|
|
18
|
-
shotgun/agents/models.py,sha256=
|
|
19
|
-
shotgun/agents/plan.py,sha256=
|
|
20
|
-
shotgun/agents/research.py,sha256=
|
|
18
|
+
shotgun/agents/models.py,sha256=0v6jNTvRoY3GQMSGTiwywBMSeglFC-P7YTyYuOw9x9k,12178
|
|
19
|
+
shotgun/agents/plan.py,sha256=90KUnDaIfPurWoHnV5ogUirXme-FPsSI2EntLBnM9ho,3035
|
|
20
|
+
shotgun/agents/research.py,sha256=KluBLucQza_TTKo6Da1v4IEQraVNBc1Jjd97jp7xZwE,3505
|
|
21
21
|
shotgun/agents/runner.py,sha256=sMgv1sZZz6jKQ095u9GudBMhQ91ozzYXBq5aHHlBmxo,8784
|
|
22
|
-
shotgun/agents/specify.py,sha256=
|
|
23
|
-
shotgun/agents/tasks.py,sha256=
|
|
22
|
+
shotgun/agents/specify.py,sha256=ly_A1VeZonMoyZy41xxfwVoE3MwLSBr8_UYwUzc9-HI,3084
|
|
23
|
+
shotgun/agents/tasks.py,sha256=QuCuVxJ9ODV3eXCXhb32c9HbPCLLVMuv3PTx1lyC4gY,2958
|
|
24
24
|
shotgun/agents/usage_manager.py,sha256=0O1G7ovgYtJ_zCTITQ1Cks75eXMwvjl1SgGE1uoZ0x4,5383
|
|
25
25
|
shotgun/agents/config/README.md,sha256=Cjgt91aAhedUOPDf-powj1jXym_SvVzLcUSvROsqS2c,3294
|
|
26
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=
|
|
29
|
-
shotgun/agents/config/models.py,sha256=
|
|
28
|
+
shotgun/agents/config/manager.py,sha256=revq2JGo_ayjoCAj3-Oha5NCqL2eOY5ZNzSx9xP7duw,30594
|
|
29
|
+
shotgun/agents/config/models.py,sha256=vBzLd5qASyfKn-SkR7qfcO3YixPisG0wmfMoPi5ze3o,9940
|
|
30
30
|
shotgun/agents/config/provider.py,sha256=gEL-NY2pBm5UgS4_TBjusVLsze5RB7poLRz7pvt-Bck,15146
|
|
31
31
|
shotgun/agents/config/streaming_test.py,sha256=ALOM4fjYf7dH7bsY-onKYJBcYH8ujx-50RdMwvw6RXM,4443
|
|
32
32
|
shotgun/agents/context_analyzer/__init__.py,sha256=p-R3SVa3yDkXnHaZ7XV_SI_9FGhoYwvnbvDr3oxGU3M,732
|
|
@@ -43,7 +43,7 @@ shotgun/agents/conversation/history/chunking.py,sha256=aiUte-nO54swbtDGG1ZglB7TK
|
|
|
43
43
|
shotgun/agents/conversation/history/compaction.py,sha256=G5WWsmlZn19VBkdh89YKkvQRSYEIppuJR2LYrxGjkNM,4992
|
|
44
44
|
shotgun/agents/conversation/history/constants.py,sha256=xwDgaazdIXT2Dd7lNxuyt4-wKJK5y903F0WKe4Hi3WY,708
|
|
45
45
|
shotgun/agents/conversation/history/context_extraction.py,sha256=yPF3oYpv5GFsFQT5y53ORKdADtrkGH4u8LwPdO0YVzU,7157
|
|
46
|
-
shotgun/agents/conversation/history/file_content_deduplication.py,sha256=
|
|
46
|
+
shotgun/agents/conversation/history/file_content_deduplication.py,sha256=agwKqOeukNiCuPtpB4Ku6GYpaoZryd1UzFuN78lM9Qw,8543
|
|
47
47
|
shotgun/agents/conversation/history/history_building.py,sha256=6LFDZ60MTPDoGAcmu_mjlnjVYu8YYWdIi-cGbF3jm7A,3532
|
|
48
48
|
shotgun/agents/conversation/history/history_processors.py,sha256=OZMU6c9hFBXg9J783wRE5uWqgMcrDS-esEjMnnYkfIQ,31519
|
|
49
49
|
shotgun/agents/conversation/history/message_utils.py,sha256=aPusAl2RYKbjc7lBxPaNprRHmZEG6fe97q7DQUlhlzU,2918
|
|
@@ -57,9 +57,15 @@ shotgun/agents/conversation/history/token_counting/tokenizer_cache.py,sha256=owa
|
|
|
57
57
|
shotgun/agents/conversation/history/token_counting/utils.py,sha256=zL9pzrQHCyi5YMgUyLTnLI9WJmMr3UEEDUECgh4_TjE,4872
|
|
58
58
|
shotgun/agents/error/__init__.py,sha256=7md1HR_iAoCmTe5mzgQT0y3VBoC8D5zvRI4vQch4Ess,231
|
|
59
59
|
shotgun/agents/error/models.py,sha256=SLUCsMR0UPH0Lxm5AJKXBKTuL6wtdTzJJ3NHDzAIk_I,501
|
|
60
|
+
shotgun/agents/router/__init__.py,sha256=Cs3cobiGHGH-qaRuX7BGZ04a6tJ12NmyZIZf9rngBwM,1040
|
|
61
|
+
shotgun/agents/router/models.py,sha256=GHuOzB_BkRq5IdkgJ8ZcAeqydxXcEagaTLSxMvjFEms,14015
|
|
62
|
+
shotgun/agents/router/router.py,sha256=oZzV-55gK8tX1SHPgjVHm8_z2b_YmkEqX_r-Ob6fXpo,6288
|
|
63
|
+
shotgun/agents/router/tools/__init__.py,sha256=ogt35kGrWSzjFauSL4EgieY7fGtu8jlfhDAzHOcw8nY,378
|
|
64
|
+
shotgun/agents/router/tools/delegation_tools.py,sha256=7p6lD0FmtVd3T7JZMHZKizJKe44ID1HV65jF2Uspez0,15341
|
|
65
|
+
shotgun/agents/router/tools/plan_tools.py,sha256=vugLtWvggK6qHB8u6ZBjPVRu-KTcnW3mI8d7FlY5z6k,9827
|
|
60
66
|
shotgun/agents/tools/__init__.py,sha256=kYppd4f4MoJcfTEPzkY2rqtxL1suXRGa9IRUm1G82GY,717
|
|
61
|
-
shotgun/agents/tools/file_management.py,sha256=
|
|
62
|
-
shotgun/agents/tools/registry.py,sha256=
|
|
67
|
+
shotgun/agents/tools/file_management.py,sha256=Uk1Az9v7h18PYEuAr1XeCi-6ZPf8amXM9ShdIkHSsB0,11414
|
|
68
|
+
shotgun/agents/tools/registry.py,sha256=QwBikPEL2vE3iu7En4vjVbCbiSU394v0_zNs6Jf9OhM,6514
|
|
63
69
|
shotgun/agents/tools/codebase/__init__.py,sha256=ceAGkK006NeOYaIJBLQsw7Q46sAyCRK9PYDs8feMQVw,661
|
|
64
70
|
shotgun/agents/tools/codebase/codebase_shell.py,sha256=XwrfxAyDGRTRBaZdO0ivcllwIZnDX-Dfbtdp-ncJXlM,8779
|
|
65
71
|
shotgun/agents/tools/codebase/directory_lister.py,sha256=dB38gPS2G02EnDBVFP99_Zu23rl7XyCjS4OwiDt8GcA,4904
|
|
@@ -67,9 +73,9 @@ shotgun/agents/tools/codebase/file_read.py,sha256=eQ-iS7y38cZhLoKrmKGzO4eLifheqj
|
|
|
67
73
|
shotgun/agents/tools/codebase/models.py,sha256=8eR3_8DQiBNgB2twu0aC_evIJbugN9KW3gtxMZdGYCE,10087
|
|
68
74
|
shotgun/agents/tools/codebase/query_graph.py,sha256=taWU8yzADUoZ22Z9msGvw4xXFYZz91Xh-V2aAVVb_7M,2308
|
|
69
75
|
shotgun/agents/tools/codebase/retrieve_code.py,sha256=KCcKzro0YQ9cFetcm5NF8yKO8hkW7_9aBf67P3PlF2Q,3082
|
|
70
|
-
shotgun/agents/tools/web_search/__init__.py,sha256=
|
|
76
|
+
shotgun/agents/tools/web_search/__init__.py,sha256=HN-EXSQzX5Z5c08w04kcoluQhAVqmkJdvBn_rFi82As,3707
|
|
71
77
|
shotgun/agents/tools/web_search/anthropic.py,sha256=CqkKlMTBajz3bGbQfSvYYndy9npe00bTOSw8luLc5MY,5700
|
|
72
|
-
shotgun/agents/tools/web_search/gemini.py,sha256=
|
|
78
|
+
shotgun/agents/tools/web_search/gemini.py,sha256=PlU90AkWxvLieBKw-nC2AT2dWoyvq3Zb6K_UickI-UQ,3818
|
|
73
79
|
shotgun/agents/tools/web_search/openai.py,sha256=eSL1qgQWpW5qbkbrf90jIbh3D7wjq-zeg44ky3pqRYE,3708
|
|
74
80
|
shotgun/agents/tools/web_search/utils.py,sha256=O4IMu9mPBZe5551fNclfXbSmoL7fxP1hziqkWq8CRrI,544
|
|
75
81
|
shotgun/cli/__init__.py,sha256=_F1uW2g87y4bGFxz8Gp8u7mq2voHp8vQIUtCmm8Tojo,40
|
|
@@ -99,12 +105,12 @@ shotgun/codebase/__init__.py,sha256=QBgFE2Abd5Vl7_NdYOglF9S6d-vIjkb3C0cpIYoHZEU,
|
|
|
99
105
|
shotgun/codebase/models.py,sha256=F-FT5DVBWvDg9F4HJH2UphqB56DQrMI6SkmLEZyEPu0,5444
|
|
100
106
|
shotgun/codebase/service.py,sha256=nyggapfHKdwkKXyuT9oA0tJ9qf4RNVsOxfY8lC5pHro,8006
|
|
101
107
|
shotgun/codebase/core/__init__.py,sha256=GWWhJEqChiDXAF4omYCgzgoZmJjwsAf6P1aZ5Bl8OE0,1170
|
|
102
|
-
shotgun/codebase/core/change_detector.py,sha256=
|
|
108
|
+
shotgun/codebase/core/change_detector.py,sha256=9xc1hA0Knt9ijaVHiizoOxooLj0b0maDj3BfAihNvx4,12502
|
|
103
109
|
shotgun/codebase/core/code_retrieval.py,sha256=8ob-xWjcSmEilpI1h5IU94ykd2dETMf84CfY36N_big,8015
|
|
104
110
|
shotgun/codebase/core/cypher_models.py,sha256=Yfysfa9lLguILftkmtuJCN3kLBFIo7WW7NigM-Zr-W4,1735
|
|
105
|
-
shotgun/codebase/core/ingestor.py,sha256=
|
|
111
|
+
shotgun/codebase/core/ingestor.py,sha256=LXGckVi9HWvRSa-UInF78HXsn-55NFTICzuuwuxYVOA,69526
|
|
106
112
|
shotgun/codebase/core/language_config.py,sha256=vsqHyuFnumRPRBV1lMOxWKNOIiClO6FyfKQR0fGrtl4,8934
|
|
107
|
-
shotgun/codebase/core/manager.py,sha256
|
|
113
|
+
shotgun/codebase/core/manager.py,sha256=-bGOGIBISfgD4fo25XhpHVQN-qSv9pDLwjjjZ696nfs,66738
|
|
108
114
|
shotgun/codebase/core/nl_query.py,sha256=qH32btb5w7eY2ij7-wc6Z0QXIDOqjz0pZXXRUboSbYs,16121
|
|
109
115
|
shotgun/codebase/core/parser_loader.py,sha256=LZRrDS8Sp518jIu3tQW-BxdwJ86lnsTteI478ER9Td8,4278
|
|
110
116
|
shotgun/llm_proxy/__init__.py,sha256=z7YnPfyhW0WYrz6tHOoVcVOoi6iO0zWjUHbpu6o38oA,817
|
|
@@ -115,16 +121,18 @@ shotgun/llm_proxy/models.py,sha256=KzYcBjE5yiiU9hpkvExQKCnySrv44EdgTTM9XSxRBVE,4
|
|
|
115
121
|
shotgun/prompts/__init__.py,sha256=RswUm0HMdfm2m2YKUwUsEdRIwoczdbI7zlucoEvHYRo,132
|
|
116
122
|
shotgun/prompts/loader.py,sha256=_7CdUYrAo6ZwvTBUlXugKyLU0IDBg5CVzUIAHFPw418,4433
|
|
117
123
|
shotgun/prompts/agents/__init__.py,sha256=YRIJMbzpArojNX1BP5gfxxois334z_GQga8T-xyWMbY,39
|
|
118
|
-
shotgun/prompts/agents/export.j2,sha256=
|
|
119
|
-
shotgun/prompts/agents/plan.j2,sha256=
|
|
120
|
-
shotgun/prompts/agents/research.j2,sha256=
|
|
121
|
-
shotgun/prompts/agents/
|
|
122
|
-
shotgun/prompts/agents/
|
|
124
|
+
shotgun/prompts/agents/export.j2,sha256=o-4pdwRNOtXZR9akcWLcJYwF_V1wMOyF8sbLtKKXtDo,17116
|
|
125
|
+
shotgun/prompts/agents/plan.j2,sha256=okyBe_EcYvEuF3iPVjxzu06Vv-AdGRR0FNJUWyEoZ2c,6993
|
|
126
|
+
shotgun/prompts/agents/research.j2,sha256=TRCf6wOfrOhpz49mwENpdJqt0LpN49iJi1MG_gqOMVA,5619
|
|
127
|
+
shotgun/prompts/agents/router.j2,sha256=ShOC-1lx4kYz5ShreCmwjyIe2-sWUlEvlYqxcRz3PZg,14855
|
|
128
|
+
shotgun/prompts/agents/specify.j2,sha256=LpTTrMEr11nASRo-JP945qBXOgZelRgIQaAkucvn1IA,15179
|
|
129
|
+
shotgun/prompts/agents/tasks.j2,sha256=4U-1jIkv05TztAzUweErvWz9MrpHUnWafB5VrOeCMtg,8359
|
|
123
130
|
shotgun/prompts/agents/partials/codebase_understanding.j2,sha256=7WH-PVd-TRBFQUdOdKkwwn9hAUaJznFZMAGHhO7IGGU,5633
|
|
124
|
-
shotgun/prompts/agents/partials/common_agent_system_prompt.j2,sha256=
|
|
131
|
+
shotgun/prompts/agents/partials/common_agent_system_prompt.j2,sha256=a0omqPZ2O3vWCzEP-EqYYusrqgwrhBHypHFtaLWhPEg,3255
|
|
125
132
|
shotgun/prompts/agents/partials/content_formatting.j2,sha256=MG0JB7SSp8YV5akDWpbs2f9DcdREIYqLp38NnoWLeQ0,1854
|
|
126
133
|
shotgun/prompts/agents/partials/interactive_mode.j2,sha256=BTxsuNp1sgxPn81HALFDFQYTXjHkMxq5km7Ffyc-9f0,1516
|
|
127
|
-
shotgun/prompts/agents/
|
|
134
|
+
shotgun/prompts/agents/partials/router_delegation_mode.j2,sha256=-XlWuJYRSjQBfSssm5GBcLGMo_O7OXxsyOyJMJKR4jw,1531
|
|
135
|
+
shotgun/prompts/agents/state/system_state.j2,sha256=6CqKny1WvMj8bH81qwRX8gSFln8mqMFVeI4_5t-z3Kk,1361
|
|
128
136
|
shotgun/prompts/agents/state/codebase/codebase_graphs_available.j2,sha256=U-hy-H9bPwV0sYIHTZ5TESxc5EOCtntI8GUZOmJipJw,601
|
|
129
137
|
shotgun/prompts/codebase/__init__.py,sha256=NYuPMtmYM2ptuwf3YxVuotNlJOUq0hnjmwlzKcJkGK4,42
|
|
130
138
|
shotgun/prompts/codebase/cypher_query_patterns.j2,sha256=ufTx_xT3VoS76KcVUbIgGQx-bJoJHx3bBE3dagAXv18,8913
|
|
@@ -158,20 +166,20 @@ shotgun/shotgun_web/shared_specs/models.py,sha256=RkKWw4POBMvmaIwGiSq1pho2mgw6zo
|
|
|
158
166
|
shotgun/shotgun_web/shared_specs/upload_pipeline.py,sha256=rowaQ6pJFyBLLyGmSoOSaQ2napGX1OQTQXl8qMq_R1w,10549
|
|
159
167
|
shotgun/shotgun_web/shared_specs/utils.py,sha256=8hXchaiYhSyG9FP_O6YXk8tMupJQiVgGXZKKWhD_SsU,812
|
|
160
168
|
shotgun/tui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
161
|
-
shotgun/tui/app.py,sha256=
|
|
169
|
+
shotgun/tui/app.py,sha256=Vhj3p6KJOsTauofx-eEnGOdyMd-bAB6ZlddaTY2bsBQ,15413
|
|
162
170
|
shotgun/tui/containers.py,sha256=g7sx0WOHZXXboP7gJLgOkSUSIaPemO8VZcESoXdzmSQ,3532
|
|
163
|
-
shotgun/tui/dependencies.py,sha256=
|
|
171
|
+
shotgun/tui/dependencies.py,sha256=TnJFbVgP0FlXBcISDIQSX13nIpNOH0d3B4lSukMbB7w,3149
|
|
164
172
|
shotgun/tui/filtered_codebase_service.py,sha256=lJ8gTMhIveTatmvmGLP299msWWTkVYKwvY_2FhuL2s4,1687
|
|
165
173
|
shotgun/tui/layout.py,sha256=_hCXwbdPGLXgN8h54ri2Pnk8Gpw6B3pTP3horBlyZz0,247
|
|
166
|
-
shotgun/tui/protocols.py,sha256=
|
|
174
|
+
shotgun/tui/protocols.py,sha256=TjhNRX-_byJxzt56YseGe3vKKv5Ak3CYg2C0rR8rqKY,2288
|
|
167
175
|
shotgun/tui/styles.tcss,sha256=ETyyw1bpMBOqTi5RLcAJUScdPWTvAWEqE9YcT0kVs_E,121
|
|
168
176
|
shotgun/tui/commands/__init__.py,sha256=qxYz-9aGhXAZF9VQ5AyALejI1TacsEc2cX2DH7vTXoM,2559
|
|
169
177
|
shotgun/tui/components/context_indicator.py,sha256=GeEMvLYf09Hkw-sTqX1v8RDHb6rt6mXcUpI4DT9DVHQ,5792
|
|
170
|
-
shotgun/tui/components/mode_indicator.py,sha256=
|
|
178
|
+
shotgun/tui/components/mode_indicator.py,sha256=yTi7cnWgLjg2jZaJlMoLPVrS4YhNmFhrRz1EWwNVuww,5514
|
|
171
179
|
shotgun/tui/components/prompt_input.py,sha256=Ss-htqraHZAPaehGE4x86ij0veMjc4UgadMXpbdXr40,2229
|
|
172
180
|
shotgun/tui/components/spinner.py,sha256=ovTDeaJ6FD6chZx_Aepia6R3UkPOVJ77EKHfRmn39MY,2427
|
|
173
181
|
shotgun/tui/components/splash.py,sha256=vppy9vEIEvywuUKRXn2y11HwXSRkQZHLYoVjhDVdJeU,1267
|
|
174
|
-
shotgun/tui/components/status_bar.py,sha256=
|
|
182
|
+
shotgun/tui/components/status_bar.py,sha256=ta-5_SUg0FINMXRKYjGxhWA7RerbcuYzQckyvBrVw-I,1703
|
|
175
183
|
shotgun/tui/components/vertical_tail.py,sha256=kROwTaRjUwVB7H35dtmNcUVPQqNYvvfq7K2tXBKEb6c,638
|
|
176
184
|
shotgun/tui/screens/chat.tcss,sha256=7jM4YTBj-N-5T4NIiU2AJiGtKYvYO50OAkI0o7_qimI,574
|
|
177
185
|
shotgun/tui/screens/confirmation_dialog.py,sha256=g2DqxNiVx7OCsGlvuot_iGuHZjrlBlQN91hSTlhGXC4,6113
|
|
@@ -179,7 +187,7 @@ shotgun/tui/screens/directory_setup.py,sha256=cwtl9KRsSnpm7HbGx84TE6wahUXKeXbi8L
|
|
|
179
187
|
shotgun/tui/screens/feedback.py,sha256=BRrAcgDMAVsEvCNFYjuqdF6FmqzuqiBxeLz4Ah7MGMQ,5955
|
|
180
188
|
shotgun/tui/screens/github_issue.py,sha256=OdjaNLb997UOqVTWMq-GawVbTPjxarynMb-y0ktxeCA,3178
|
|
181
189
|
shotgun/tui/screens/model_picker.py,sha256=Jsol6zf2tIjL2Ut5yodtR3W8aRxb8I6MDOX4UQm-GmY,13955
|
|
182
|
-
shotgun/tui/screens/onboarding.py,sha256=
|
|
190
|
+
shotgun/tui/screens/onboarding.py,sha256=oV7IOA6MyOVuVzrSZDL1S7D_8cVZ2g2S4RHX-YzWnnM,18472
|
|
183
191
|
shotgun/tui/screens/pipx_migration.py,sha256=e9DojUzdlxj7_8IC7T_UMLEjIOk4eOF0uro2s8oAAvs,6145
|
|
184
192
|
shotgun/tui/screens/provider_config.py,sha256=VrlSnYZ-l1VG_qi5H-4G0yuNaJP8BFW20Vxgv8IcS28,13903
|
|
185
193
|
shotgun/tui/screens/shotgun_auth.py,sha256=tFKEMaQ6pocAdMG4JoRXQVjmjgluNGoYNZHBFCgTfck,13951
|
|
@@ -187,20 +195,21 @@ shotgun/tui/screens/spec_pull.py,sha256=LYD_ca2c4Je34daU4KFNWKnJ_rfMGGIXN-kJbdLT
|
|
|
187
195
|
shotgun/tui/screens/splash.py,sha256=E2MsJihi3c9NY1L28o_MstDxGwrCnnV7zdq00MrGAsw,706
|
|
188
196
|
shotgun/tui/screens/welcome.py,sha256=WJ35Cnoj9aHN47qgfBmGg99IXQQzkJ2Ipl-vfzU6oBs,10398
|
|
189
197
|
shotgun/tui/screens/chat/__init__.py,sha256=wChPqpJG-7kPYVYZjE8BlkXWxfW_YABhTR2fQ51opHY,113
|
|
190
|
-
shotgun/tui/screens/chat/chat.tcss,sha256=
|
|
191
|
-
shotgun/tui/screens/chat/chat_screen.py,sha256=
|
|
198
|
+
shotgun/tui/screens/chat/chat.tcss,sha256=G1p1TUptDM6c2mQgxu5tv5nZX-WkuH6g8W94aAdTnNM,722
|
|
199
|
+
shotgun/tui/screens/chat/chat_screen.py,sha256=Kct9c4iB1mRSRQyatBVOq6cBVN1pqSsNdYoHKQ0_by4,87805
|
|
192
200
|
shotgun/tui/screens/chat/codebase_index_prompt_screen.py,sha256=GSzyAKZVsD3UPGUFDvfdwdhJucRNX77iUcJAq0_D4U4,7855
|
|
193
201
|
shotgun/tui/screens/chat/codebase_index_selection.py,sha256=Zz0vi3uLhWysdPHRO8Rye9QX4hIPeWhSAw6Y9-BlOVA,241
|
|
194
202
|
shotgun/tui/screens/chat/help_text.py,sha256=MkDq0Z7yQCXHVtLlnZaFU_Ijq1rbQX9KMOGVsb_1Hm8,1610
|
|
195
203
|
shotgun/tui/screens/chat/prompt_history.py,sha256=uL3KVFb32vD09jN338mebFAi0QI-EJXTxcEQy-j6QdQ,1201
|
|
196
204
|
shotgun/tui/screens/chat_screen/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
197
|
-
shotgun/tui/screens/chat_screen/command_providers.py,sha256=
|
|
205
|
+
shotgun/tui/screens/chat_screen/command_providers.py,sha256=sr-cCM_7K1o1zWUckapBqmbzUXrWqHySsBpTqv9jtj4,12711
|
|
198
206
|
shotgun/tui/screens/chat_screen/hint_message.py,sha256=aeG3TB8lamc7VeGUST16A96y6dYc8u3FuTxymM5BI-w,3361
|
|
207
|
+
shotgun/tui/screens/chat_screen/messages.py,sha256=IYHrRixB3EyTmKm4rcKeDR3MqN5snR3GaE1ZHg-AkY0,6563
|
|
199
208
|
shotgun/tui/screens/chat_screen/history/__init__.py,sha256=PRznBlnm9caNE0YYC08PkvNMAK-JpuULwmByaRNTKO0,581
|
|
200
|
-
shotgun/tui/screens/chat_screen/history/agent_response.py,sha256=
|
|
201
|
-
shotgun/tui/screens/chat_screen/history/chat_history.py,sha256=
|
|
202
|
-
shotgun/tui/screens/chat_screen/history/formatters.py,sha256=
|
|
203
|
-
shotgun/tui/screens/chat_screen/history/partial_response.py,sha256=
|
|
209
|
+
shotgun/tui/screens/chat_screen/history/agent_response.py,sha256=hGny1oaUV4lMtkO4rhXZriKbQQuxd94yIH2QOyq2yic,2567
|
|
210
|
+
shotgun/tui/screens/chat_screen/history/chat_history.py,sha256=qUA-dB0R47qRgq2CGOZwe-Nrr3QF8Sq6fsyrHFftj3s,4563
|
|
211
|
+
shotgun/tui/screens/chat_screen/history/formatters.py,sha256=nczDAL7F1QufGQzBYLoLmbAh0Pg63uFDpoZ5no-UsyU,5657
|
|
212
|
+
shotgun/tui/screens/chat_screen/history/partial_response.py,sha256=r1KAJGrtDmTGEJSV66_pg_TAU55BH9foFA63-MHJfCM,1690
|
|
204
213
|
shotgun/tui/screens/chat_screen/history/user_question.py,sha256=BKl4FVKh4veszykkfr8RI06O5NEDIBZ17IZSCLzlImA,1305
|
|
205
214
|
shotgun/tui/screens/shared_specs/__init__.py,sha256=HTsjeZ2E6ICS8vd1KmG_H0-B0fpjcaVSR3_7AI8jXqU,631
|
|
206
215
|
shotgun/tui/screens/shared_specs/create_spec_dialog.py,sha256=Sp7s0tWJl1AQmOZ118VGM3zhMZF9FqN-eNJLWeU_tcE,7654
|
|
@@ -212,8 +221,12 @@ shotgun/tui/services/conversation_service.py,sha256=l8v991gTFLpgsv7drmZ5MSZ77_zm
|
|
|
212
221
|
shotgun/tui/state/__init__.py,sha256=oPV_VsvoiXhuZPwnra38kCT3RyXLvVxkVKDOv-LXGgA,141
|
|
213
222
|
shotgun/tui/state/processing_state.py,sha256=O0SxqQmljWyaSAhdCAr2fNgS0ibFiIhGRNHpiUSCkW0,6234
|
|
214
223
|
shotgun/tui/utils/__init__.py,sha256=cFjDfoXTRBq29wgP7TGRWUu1eFfiIG-LLOzjIGfadgI,150
|
|
215
|
-
shotgun/tui/utils/mode_progress.py,sha256=
|
|
216
|
-
shotgun/tui/widgets/__init__.py,sha256=
|
|
224
|
+
shotgun/tui/utils/mode_progress.py,sha256=IdDFAIpIZHL5YTTUGvN_CaSZsN2vdm89Q6d7gNsAvBI,7323
|
|
225
|
+
shotgun/tui/widgets/__init__.py,sha256=6l-rU3Kq4hxKZQif49ZrZvvQlguC5qR20MJxi0kPwWQ,230
|
|
226
|
+
shotgun/tui/widgets/approval_widget.py,sha256=ewbVusx2wzJCXgw81iFsWEdH5nFWRtet1FtajRxgS6I,4382
|
|
227
|
+
shotgun/tui/widgets/cascade_confirmation_widget.py,sha256=AY4KnqGb9vLFqoU2KXMZB9K4st6Z4sLdZ7IMVnrAKlU,6890
|
|
228
|
+
shotgun/tui/widgets/plan_panel.py,sha256=hmIcpKGw4rWvzEh0kWDLWUqwTJ5MKWzLySXqtybMYrI,3607
|
|
229
|
+
shotgun/tui/widgets/step_checkpoint_widget.py,sha256=hiwT9EyQ-ue8iGmOed7CBqau1EWo7jtdFjRk9uTvYu8,5963
|
|
217
230
|
shotgun/tui/widgets/widget_coordinator.py,sha256=rol2APsRfQv0TKMidqKidjDJ7haKm11e6KZuUOrrAW8,9140
|
|
218
231
|
shotgun/utils/__init__.py,sha256=WinIEp9oL2iMrWaDkXz2QX4nYVPAm8C9aBSKTeEwLtE,198
|
|
219
232
|
shotgun/utils/datetime_utils.py,sha256=x_uYmG1n9rkhSO2oR2uV9ttiuPL0nKa9os8YYaPfdWY,2592
|
|
@@ -222,8 +235,8 @@ shotgun/utils/file_system_utils.py,sha256=zuuWO12bzSfeocTbi4DHVJKJTBekjP-_vRmb36
|
|
|
222
235
|
shotgun/utils/marketing.py,sha256=WAPEtJDagNsDmIBdrZ0XBHOgsLONz_eT25wEng-HDBs,3759
|
|
223
236
|
shotgun/utils/source_detection.py,sha256=Co6Q03R3fT771TF3RzB-70stfjNP2S4F_ArZKibwzm8,454
|
|
224
237
|
shotgun/utils/update_checker.py,sha256=6fjiVUXgdxUrI54dfw0xBsrw7jlobYkjYNZaR-JoTpI,9667
|
|
225
|
-
shotgun_sh-0.
|
|
226
|
-
shotgun_sh-0.
|
|
227
|
-
shotgun_sh-0.
|
|
228
|
-
shotgun_sh-0.
|
|
229
|
-
shotgun_sh-0.
|
|
238
|
+
shotgun_sh-0.4.0.dev1.dist-info/METADATA,sha256=wpYttbgUKX1ru8F8H2dBGrQnyFQpR9L-OLsBU7GbMzg,15996
|
|
239
|
+
shotgun_sh-0.4.0.dev1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
240
|
+
shotgun_sh-0.4.0.dev1.dist-info/entry_points.txt,sha256=GQmtjKaPtviqYOuB3C0SMGlG5RZS9-VDDIKxV_IVHmY,75
|
|
241
|
+
shotgun_sh-0.4.0.dev1.dist-info/licenses/LICENSE,sha256=ZZEiPnjIkv3rNT-CJBMU6l7VukLUdddCo3bTwal1NIQ,1070
|
|
242
|
+
shotgun_sh-0.4.0.dev1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|