shotgun-sh 0.4.0.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.
- shotgun/agents/agent_manager.py +307 -8
- shotgun/agents/cancellation.py +103 -0
- shotgun/agents/common.py +12 -0
- shotgun/agents/config/README.md +0 -1
- shotgun/agents/config/manager.py +10 -7
- shotgun/agents/config/models.py +5 -27
- shotgun/agents/config/provider.py +44 -27
- shotgun/agents/conversation/history/token_counting/base.py +51 -9
- shotgun/agents/file_read.py +176 -0
- shotgun/agents/messages.py +15 -3
- shotgun/agents/models.py +24 -1
- shotgun/agents/router/models.py +8 -0
- shotgun/agents/router/tools/delegation_tools.py +55 -1
- shotgun/agents/router/tools/plan_tools.py +88 -7
- shotgun/agents/runner.py +17 -2
- shotgun/agents/tools/__init__.py +8 -0
- shotgun/agents/tools/codebase/directory_lister.py +27 -39
- shotgun/agents/tools/codebase/file_read.py +26 -35
- shotgun/agents/tools/codebase/query_graph.py +9 -0
- shotgun/agents/tools/codebase/retrieve_code.py +9 -0
- shotgun/agents/tools/file_management.py +32 -2
- shotgun/agents/tools/file_read_tools/__init__.py +7 -0
- shotgun/agents/tools/file_read_tools/multimodal_file_read.py +167 -0
- shotgun/agents/tools/markdown_tools/__init__.py +62 -0
- shotgun/agents/tools/markdown_tools/insert_section.py +148 -0
- shotgun/agents/tools/markdown_tools/models.py +86 -0
- shotgun/agents/tools/markdown_tools/remove_section.py +114 -0
- shotgun/agents/tools/markdown_tools/replace_section.py +119 -0
- shotgun/agents/tools/markdown_tools/utils.py +453 -0
- shotgun/agents/tools/registry.py +44 -6
- shotgun/agents/tools/web_search/openai.py +42 -23
- shotgun/attachments/__init__.py +41 -0
- shotgun/attachments/errors.py +60 -0
- shotgun/attachments/models.py +107 -0
- shotgun/attachments/parser.py +257 -0
- shotgun/attachments/processor.py +193 -0
- shotgun/build_constants.py +4 -7
- shotgun/cli/clear.py +2 -2
- shotgun/cli/codebase/commands.py +181 -65
- shotgun/cli/compact.py +2 -2
- shotgun/cli/context.py +2 -2
- shotgun/cli/error_handler.py +2 -2
- shotgun/cli/run.py +90 -0
- shotgun/cli/spec/backup.py +2 -1
- shotgun/codebase/__init__.py +2 -0
- shotgun/codebase/benchmarks/__init__.py +35 -0
- shotgun/codebase/benchmarks/benchmark_runner.py +309 -0
- shotgun/codebase/benchmarks/exporters.py +119 -0
- shotgun/codebase/benchmarks/formatters/__init__.py +49 -0
- shotgun/codebase/benchmarks/formatters/base.py +34 -0
- shotgun/codebase/benchmarks/formatters/json_formatter.py +106 -0
- shotgun/codebase/benchmarks/formatters/markdown.py +136 -0
- shotgun/codebase/benchmarks/models.py +129 -0
- shotgun/codebase/core/__init__.py +4 -0
- shotgun/codebase/core/call_resolution.py +91 -0
- shotgun/codebase/core/change_detector.py +11 -6
- shotgun/codebase/core/errors.py +159 -0
- shotgun/codebase/core/extractors/__init__.py +23 -0
- shotgun/codebase/core/extractors/base.py +138 -0
- shotgun/codebase/core/extractors/factory.py +63 -0
- shotgun/codebase/core/extractors/go/__init__.py +7 -0
- shotgun/codebase/core/extractors/go/extractor.py +122 -0
- shotgun/codebase/core/extractors/javascript/__init__.py +7 -0
- shotgun/codebase/core/extractors/javascript/extractor.py +132 -0
- shotgun/codebase/core/extractors/protocol.py +109 -0
- shotgun/codebase/core/extractors/python/__init__.py +7 -0
- shotgun/codebase/core/extractors/python/extractor.py +141 -0
- shotgun/codebase/core/extractors/rust/__init__.py +7 -0
- shotgun/codebase/core/extractors/rust/extractor.py +139 -0
- shotgun/codebase/core/extractors/types.py +15 -0
- shotgun/codebase/core/extractors/typescript/__init__.py +7 -0
- shotgun/codebase/core/extractors/typescript/extractor.py +92 -0
- shotgun/codebase/core/gitignore.py +252 -0
- shotgun/codebase/core/ingestor.py +644 -354
- shotgun/codebase/core/kuzu_compat.py +119 -0
- shotgun/codebase/core/language_config.py +239 -0
- shotgun/codebase/core/manager.py +256 -46
- shotgun/codebase/core/metrics_collector.py +310 -0
- shotgun/codebase/core/metrics_types.py +347 -0
- shotgun/codebase/core/parallel_executor.py +424 -0
- shotgun/codebase/core/work_distributor.py +254 -0
- shotgun/codebase/core/worker.py +768 -0
- shotgun/codebase/indexing_state.py +86 -0
- shotgun/codebase/models.py +94 -0
- shotgun/codebase/service.py +13 -0
- shotgun/exceptions.py +9 -9
- shotgun/main.py +3 -16
- shotgun/posthog_telemetry.py +165 -24
- shotgun/prompts/agents/file_read.j2 +48 -0
- shotgun/prompts/agents/partials/common_agent_system_prompt.j2 +19 -47
- shotgun/prompts/agents/partials/content_formatting.j2 +12 -33
- shotgun/prompts/agents/partials/interactive_mode.j2 +9 -32
- shotgun/prompts/agents/partials/router_delegation_mode.j2 +21 -22
- shotgun/prompts/agents/plan.j2 +14 -0
- shotgun/prompts/agents/router.j2 +531 -258
- shotgun/prompts/agents/specify.j2 +14 -0
- shotgun/prompts/agents/state/codebase/codebase_graphs_available.j2 +14 -1
- shotgun/prompts/agents/state/system_state.j2 +13 -11
- shotgun/prompts/agents/tasks.j2 +14 -0
- shotgun/settings.py +49 -10
- shotgun/tui/app.py +149 -18
- shotgun/tui/commands/__init__.py +9 -1
- shotgun/tui/components/attachment_bar.py +87 -0
- shotgun/tui/components/prompt_input.py +25 -28
- shotgun/tui/components/status_bar.py +14 -7
- shotgun/tui/dependencies.py +3 -8
- shotgun/tui/protocols.py +18 -0
- shotgun/tui/screens/chat/chat.tcss +15 -0
- shotgun/tui/screens/chat/chat_screen.py +766 -235
- shotgun/tui/screens/chat/codebase_index_prompt_screen.py +8 -4
- shotgun/tui/screens/chat_screen/attachment_hint.py +40 -0
- shotgun/tui/screens/chat_screen/command_providers.py +0 -10
- shotgun/tui/screens/chat_screen/history/chat_history.py +54 -14
- shotgun/tui/screens/chat_screen/history/formatters.py +22 -0
- shotgun/tui/screens/chat_screen/history/user_question.py +25 -3
- shotgun/tui/screens/database_locked_dialog.py +219 -0
- shotgun/tui/screens/database_timeout_dialog.py +158 -0
- shotgun/tui/screens/kuzu_error_dialog.py +135 -0
- shotgun/tui/screens/model_picker.py +1 -3
- shotgun/tui/screens/models.py +11 -0
- shotgun/tui/state/processing_state.py +19 -0
- shotgun/tui/widgets/widget_coordinator.py +18 -0
- shotgun/utils/file_system_utils.py +4 -1
- {shotgun_sh-0.4.0.dev1.dist-info → shotgun_sh-0.6.2.dist-info}/METADATA +87 -34
- {shotgun_sh-0.4.0.dev1.dist-info → shotgun_sh-0.6.2.dist-info}/RECORD +128 -79
- shotgun/cli/export.py +0 -81
- shotgun/cli/plan.py +0 -73
- shotgun/cli/research.py +0 -93
- shotgun/cli/specify.py +0 -70
- shotgun/cli/tasks.py +0 -78
- shotgun/sentry_telemetry.py +0 -232
- shotgun/tui/screens/onboarding.py +0 -584
- {shotgun_sh-0.4.0.dev1.dist-info → shotgun_sh-0.6.2.dist-info}/WHEEL +0 -0
- {shotgun_sh-0.4.0.dev1.dist-info → shotgun_sh-0.6.2.dist-info}/entry_points.txt +0 -0
- {shotgun_sh-0.4.0.dev1.dist-info → shotgun_sh-0.6.2.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,33 +1,34 @@
|
|
|
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=
|
|
4
|
-
shotgun/exceptions.py,sha256=
|
|
3
|
+
shotgun/build_constants.py,sha256=SB4-57hLh6G5VLRlVd5QBjJ_zxVJskv7GV8biVEohUM,528
|
|
4
|
+
shotgun/exceptions.py,sha256=kowOxDbs46D31siIAetP41C17RBaLviyeCos1Sdp9Kg,12678
|
|
5
5
|
shotgun/logging_config.py,sha256=o9erNhWl5CvXpgEIzdpm9BmVwO1PBVm1VmgTPjpm8OI,8460
|
|
6
|
-
shotgun/main.py,sha256=
|
|
7
|
-
shotgun/posthog_telemetry.py,sha256=
|
|
6
|
+
shotgun/main.py,sha256=wfmUc1Sii2qWQMa3YYU9M95eFO-XVp8m01WTMOdsKUI,6716
|
|
7
|
+
shotgun/posthog_telemetry.py,sha256=kpGqX9kFQInvgruvkYzVuAuuOHKxKpUoJVMrBgPWd6g,11525
|
|
8
8
|
shotgun/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
|
-
shotgun/
|
|
10
|
-
shotgun/settings.py,sha256=c9FfswsmjWc0fe0HPwmZNtHVicaT_MogdHaN9B4iXg4,7359
|
|
9
|
+
shotgun/settings.py,sha256=TYewUc1NT-bs4adLOZfQxJyQvSc8rtwBNSM89UgVrLU,8503
|
|
11
10
|
shotgun/telemetry.py,sha256=6trR92Q6ERvSuUGyS8VyBCv1Dfs20vI1-4BYPieLcxM,2917
|
|
12
11
|
shotgun/agents/__init__.py,sha256=8Jzv1YsDuLyNPFJyckSr_qI4ehTVeDyIMDW4omsfPGc,25
|
|
13
|
-
shotgun/agents/agent_manager.py,sha256=
|
|
14
|
-
shotgun/agents/
|
|
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
15
|
shotgun/agents/export.py,sha256=FW2fJjLzWusu2SLEFMKV_hGudobzA3_1f7_MO-EqHFE,2922
|
|
16
|
+
shotgun/agents/file_read.py,sha256=A12NCN_mlPGW_8AIFyI2ig778ZaFhjS8IVYsx9izkxU,5647
|
|
16
17
|
shotgun/agents/llm.py,sha256=hs8j1wwTczGtehzahL1Z_5D4qus5QUx4-h9-m5ZPzm4,2209
|
|
17
|
-
shotgun/agents/messages.py,sha256=
|
|
18
|
-
shotgun/agents/models.py,sha256=
|
|
18
|
+
shotgun/agents/messages.py,sha256=ckjkBv50pS9UbsHfviQkiZmbS3nSnWNfHYbhcTiBEaM,1451
|
|
19
|
+
shotgun/agents/models.py,sha256=VRPiyCMoNtpO9HyiDITl94kSu9xEVEhYjNay4UoJuww,13007
|
|
19
20
|
shotgun/agents/plan.py,sha256=90KUnDaIfPurWoHnV5ogUirXme-FPsSI2EntLBnM9ho,3035
|
|
20
21
|
shotgun/agents/research.py,sha256=KluBLucQza_TTKo6Da1v4IEQraVNBc1Jjd97jp7xZwE,3505
|
|
21
|
-
shotgun/agents/runner.py,sha256=
|
|
22
|
+
shotgun/agents/runner.py,sha256=VuoJnoWUBS9kE7aZUezErEiL7IgI0QgwJKgdcOVW6rQ,9395
|
|
22
23
|
shotgun/agents/specify.py,sha256=ly_A1VeZonMoyZy41xxfwVoE3MwLSBr8_UYwUzc9-HI,3084
|
|
23
24
|
shotgun/agents/tasks.py,sha256=QuCuVxJ9ODV3eXCXhb32c9HbPCLLVMuv3PTx1lyC4gY,2958
|
|
24
25
|
shotgun/agents/usage_manager.py,sha256=0O1G7ovgYtJ_zCTITQ1Cks75eXMwvjl1SgGE1uoZ0x4,5383
|
|
25
|
-
shotgun/agents/config/README.md,sha256
|
|
26
|
+
shotgun/agents/config/README.md,sha256=-2Amj3h1_WnwGABo6P1kUzDFK6o-pK8JKj-HMDsLrb4,3243
|
|
26
27
|
shotgun/agents/config/__init__.py,sha256=QuGC057dzMrzhrdRJ7c8KNwWzFqISiSk3t5LqnvOVN0,471
|
|
27
28
|
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=
|
|
30
|
-
shotgun/agents/config/provider.py,sha256=
|
|
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
|
|
31
32
|
shotgun/agents/config/streaming_test.py,sha256=ALOM4fjYf7dH7bsY-onKYJBcYH8ujx-50RdMwvw6RXM,4443
|
|
32
33
|
shotgun/agents/context_analyzer/__init__.py,sha256=p-R3SVa3yDkXnHaZ7XV_SI_9FGhoYwvnbvDr3oxGU3M,732
|
|
33
34
|
shotgun/agents/context_analyzer/analyzer.py,sha256=6-LaICd53RUD7GpXZ_H-jwE8YfW7lmWRiWssBvpQ-Cw,20049
|
|
@@ -50,7 +51,7 @@ shotgun/agents/conversation/history/message_utils.py,sha256=aPusAl2RYKbjc7lBxPaN
|
|
|
50
51
|
shotgun/agents/conversation/history/token_estimation.py,sha256=iRyKq-YDivEpJrULIbQgNpjhOuSC4nHVJYfsWEFV8sQ,4770
|
|
51
52
|
shotgun/agents/conversation/history/token_counting/__init__.py,sha256=YZt5Lus--fkF6l1hdkIlp1e_oAIpACNwHOI0FRP4q8s,924
|
|
52
53
|
shotgun/agents/conversation/history/token_counting/anthropic.py,sha256=999gzwEn3Q31nmCDlJqJtt3maU4NtkEgr9PaUJdVKa4,4931
|
|
53
|
-
shotgun/agents/conversation/history/token_counting/base.py,sha256=
|
|
54
|
+
shotgun/agents/conversation/history/token_counting/base.py,sha256=bFiTrKlcbvtCd1uXJN48Tza4Mq38u84T9Qs2MEo8S6c,4169
|
|
54
55
|
shotgun/agents/conversation/history/token_counting/openai.py,sha256=lZgoMSVSlBN899Cp8sMFggYVDiSaqB-gTHUSaRoQ0yk,2746
|
|
55
56
|
shotgun/agents/conversation/history/token_counting/sentencepiece_counter.py,sha256=JTSWGAuCtqa7e2fJQzNQ52HqprSJJOcMZLnwxDId-vk,4201
|
|
56
57
|
shotgun/agents/conversation/history/token_counting/tokenizer_cache.py,sha256=owa4E12iMx8H1mNpCbHEtArE_b4vuwHl_0zKeRovv3w,2936
|
|
@@ -58,61 +59,103 @@ shotgun/agents/conversation/history/token_counting/utils.py,sha256=zL9pzrQHCyi5Y
|
|
|
58
59
|
shotgun/agents/error/__init__.py,sha256=7md1HR_iAoCmTe5mzgQT0y3VBoC8D5zvRI4vQch4Ess,231
|
|
59
60
|
shotgun/agents/error/models.py,sha256=SLUCsMR0UPH0Lxm5AJKXBKTuL6wtdTzJJ3NHDzAIk_I,501
|
|
60
61
|
shotgun/agents/router/__init__.py,sha256=Cs3cobiGHGH-qaRuX7BGZ04a6tJ12NmyZIZf9rngBwM,1040
|
|
61
|
-
shotgun/agents/router/models.py,sha256=
|
|
62
|
+
shotgun/agents/router/models.py,sha256=yvUU6sX6M0gn_hCiT-gretolsCYyj2eFVTo07WE6dSk,14392
|
|
62
63
|
shotgun/agents/router/router.py,sha256=oZzV-55gK8tX1SHPgjVHm8_z2b_YmkEqX_r-Ob6fXpo,6288
|
|
63
64
|
shotgun/agents/router/tools/__init__.py,sha256=ogt35kGrWSzjFauSL4EgieY7fGtu8jlfhDAzHOcw8nY,378
|
|
64
|
-
shotgun/agents/router/tools/delegation_tools.py,sha256=
|
|
65
|
-
shotgun/agents/router/tools/plan_tools.py,sha256=
|
|
66
|
-
shotgun/agents/tools/__init__.py,sha256=
|
|
67
|
-
shotgun/agents/tools/file_management.py,sha256=
|
|
68
|
-
shotgun/agents/tools/registry.py,sha256=
|
|
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
|
|
69
70
|
shotgun/agents/tools/codebase/__init__.py,sha256=ceAGkK006NeOYaIJBLQsw7Q46sAyCRK9PYDs8feMQVw,661
|
|
70
71
|
shotgun/agents/tools/codebase/codebase_shell.py,sha256=XwrfxAyDGRTRBaZdO0ivcllwIZnDX-Dfbtdp-ncJXlM,8779
|
|
71
|
-
shotgun/agents/tools/codebase/directory_lister.py,sha256=
|
|
72
|
-
shotgun/agents/tools/codebase/file_read.py,sha256=
|
|
72
|
+
shotgun/agents/tools/codebase/directory_lister.py,sha256=Gb7NTUQpSafal3l8G1yEFgYZ1QQsqBGBgWSLrJJ5XiE,4752
|
|
73
|
+
shotgun/agents/tools/codebase/file_read.py,sha256=ZTtMoESx7sOTC95BjFqO6ScLfNfHA3GEC6BhaK4_tCk,5326
|
|
73
74
|
shotgun/agents/tools/codebase/models.py,sha256=8eR3_8DQiBNgB2twu0aC_evIJbugN9KW3gtxMZdGYCE,10087
|
|
74
|
-
shotgun/agents/tools/codebase/query_graph.py,sha256=
|
|
75
|
-
shotgun/agents/tools/codebase/retrieve_code.py,sha256=
|
|
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
|
|
76
85
|
shotgun/agents/tools/web_search/__init__.py,sha256=HN-EXSQzX5Z5c08w04kcoluQhAVqmkJdvBn_rFi82As,3707
|
|
77
86
|
shotgun/agents/tools/web_search/anthropic.py,sha256=CqkKlMTBajz3bGbQfSvYYndy9npe00bTOSw8luLc5MY,5700
|
|
78
87
|
shotgun/agents/tools/web_search/gemini.py,sha256=PlU90AkWxvLieBKw-nC2AT2dWoyvq3Zb6K_UickI-UQ,3818
|
|
79
|
-
shotgun/agents/tools/web_search/openai.py,sha256=
|
|
88
|
+
shotgun/agents/tools/web_search/openai.py,sha256=74llmbNGgtMRTO1cBY9TUK2UOnTfI-zbbUEPcYhEJpk,4459
|
|
80
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
|
|
81
95
|
shotgun/cli/__init__.py,sha256=_F1uW2g87y4bGFxz8Gp8u7mq2voHp8vQIUtCmm8Tojo,40
|
|
82
|
-
shotgun/cli/clear.py,sha256=
|
|
83
|
-
shotgun/cli/compact.py,sha256=
|
|
96
|
+
shotgun/cli/clear.py,sha256=vn-1ihd1qmdQUnTUJK7kDKTGQGOBGkvmqDN_a5Fu4mE,1626
|
|
97
|
+
shotgun/cli/compact.py,sha256=9YNgpCbP2NtVxMucA-OFaJ3l1nEE8xrji2XraMdX5xw,5950
|
|
84
98
|
shotgun/cli/config.py,sha256=wKBPSQ8ZVF6ITPS_bE2F46_xyWiI80QJhhgjt8uuDSY,8031
|
|
85
|
-
shotgun/cli/context.py,sha256=
|
|
86
|
-
shotgun/cli/error_handler.py,sha256=
|
|
87
|
-
shotgun/cli/export.py,sha256=k3g32DPMlGlwE8Nd5pLiuMQ64Aa_FY-DOP_yCt3ae1c,2651
|
|
99
|
+
shotgun/cli/context.py,sha256=Us6iconXv0TbHuCHk-zHpBXis4uSMUhTVTldmJ98DHU,5439
|
|
100
|
+
shotgun/cli/error_handler.py,sha256=ThtvjNHnBUXUj1NHFOkRLfe1gdA570e_ZK1W3mzCfCI,636
|
|
88
101
|
shotgun/cli/feedback.py,sha256=wMRIN6UtBI4832XfUwE7nQLjVLuVu4zjupMme02nfwc,1346
|
|
89
102
|
shotgun/cli/models.py,sha256=cutimFStP6m5pXmg3kbhtWZjNA2us2cPQFJtz2pTdOU,208
|
|
90
|
-
shotgun/cli/
|
|
91
|
-
shotgun/cli/research.py,sha256=WUnMjV0a7u6ATAEydyWOAhEWyrtcalvhFq1_ERYPiD0,3010
|
|
92
|
-
shotgun/cli/specify.py,sha256=TrvcWP9XfxJqeD3IXRKAZ6RkudLFDjsLbTcm5vy_nPU,2383
|
|
93
|
-
shotgun/cli/tasks.py,sha256=1_H6PGjNljMw6UeeTFAhwhsxsMLVF0shuyFGaN_w0rM,2590
|
|
103
|
+
shotgun/cli/run.py,sha256=weN2OovWmBbUn7P0it04MPf_vys0Xx3EsgB-al1e3lY,2825
|
|
94
104
|
shotgun/cli/update.py,sha256=sc3uuw3AXFF0kpskWah1JEoTwrKv67fCnqp9BjeND3o,5328
|
|
95
105
|
shotgun/cli/utils.py,sha256=umVWXDx8pelovMk-nT8B7m0c39AKY9hHsuAMnbw_Hcg,732
|
|
96
106
|
shotgun/cli/codebase/__init__.py,sha256=rKdvx33p0i_BYbNkz5_4DCFgEMwzOOqLi9f5p7XTLKM,73
|
|
97
|
-
shotgun/cli/codebase/commands.py,sha256=
|
|
107
|
+
shotgun/cli/codebase/commands.py,sha256=ObCmIsfoj6leLiPk8yuu8Fq7WsYu_SWtakbWHlq8f_8,12966
|
|
98
108
|
shotgun/cli/codebase/models.py,sha256=B9vs-d-Bq0aS6FZKebhHT-9tw90Y5f6k_t71VlZpL8k,374
|
|
99
109
|
shotgun/cli/spec/__init__.py,sha256=GZe-ODzMudZcM5NCbz1TTLwK1K5ws7X4KlNT0CBPXEs,69
|
|
100
|
-
shotgun/cli/spec/backup.py,sha256=
|
|
110
|
+
shotgun/cli/spec/backup.py,sha256=jid6lXAvE5kct2ejIMx6psXm-w2Mop7n9V2_vY37P3o,2604
|
|
101
111
|
shotgun/cli/spec/commands.py,sha256=em-b4P_9qls3HmRENqONqBoFJvjC7AqjyixGtnNdzyM,4733
|
|
102
112
|
shotgun/cli/spec/models.py,sha256=3M8fgemjMT1iAITM64q0VlroUa2Bx9L0arINevY1XfQ,1428
|
|
103
113
|
shotgun/cli/spec/pull_service.py,sha256=5wiDTlWJYi5GQbVm_B-uOpz4yJXbRn5o5OCkbwwlN5M,7171
|
|
104
|
-
shotgun/codebase/__init__.py,sha256=
|
|
105
|
-
shotgun/codebase/
|
|
106
|
-
shotgun/codebase/
|
|
107
|
-
shotgun/codebase/
|
|
108
|
-
shotgun/codebase/
|
|
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
|
|
109
129
|
shotgun/codebase/core/code_retrieval.py,sha256=8ob-xWjcSmEilpI1h5IU94ykd2dETMf84CfY36N_big,8015
|
|
110
130
|
shotgun/codebase/core/cypher_models.py,sha256=Yfysfa9lLguILftkmtuJCN3kLBFIo7WW7NigM-Zr-W4,1735
|
|
111
|
-
shotgun/codebase/core/
|
|
112
|
-
shotgun/codebase/core/
|
|
113
|
-
shotgun/codebase/core/
|
|
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
|
|
114
139
|
shotgun/codebase/core/nl_query.py,sha256=qH32btb5w7eY2ij7-wc6Z0QXIDOqjz0pZXXRUboSbYs,16121
|
|
140
|
+
shotgun/codebase/core/parallel_executor.py,sha256=jdPlylitL-xrnCBoTRv3d1J6KPH_SyPfCNUxF9KRwvU,15990
|
|
115
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
|
|
116
159
|
shotgun/llm_proxy/__init__.py,sha256=z7YnPfyhW0WYrz6tHOoVcVOoi6iO0zWjUHbpu6o38oA,817
|
|
117
160
|
shotgun/llm_proxy/client.py,sha256=qtmJng-ESRbiXqw-Dn8zMduF5MEiNJdkPbG4uu4u4XU,6507
|
|
118
161
|
shotgun/llm_proxy/clients.py,sha256=Y19W8Gb2e-37w8rUKPmxJOqoTk6GlcPhZhoeAbbURU0,1341
|
|
@@ -122,18 +165,19 @@ shotgun/prompts/__init__.py,sha256=RswUm0HMdfm2m2YKUwUsEdRIwoczdbI7zlucoEvHYRo,1
|
|
|
122
165
|
shotgun/prompts/loader.py,sha256=_7CdUYrAo6ZwvTBUlXugKyLU0IDBg5CVzUIAHFPw418,4433
|
|
123
166
|
shotgun/prompts/agents/__init__.py,sha256=YRIJMbzpArojNX1BP5gfxxois334z_GQga8T-xyWMbY,39
|
|
124
167
|
shotgun/prompts/agents/export.j2,sha256=o-4pdwRNOtXZR9akcWLcJYwF_V1wMOyF8sbLtKKXtDo,17116
|
|
125
|
-
shotgun/prompts/agents/
|
|
168
|
+
shotgun/prompts/agents/file_read.j2,sha256=kyv5WAy6LLKIg3J2Q50lLjcGZaYdu9Rrm5hVwhkfHB4,1967
|
|
169
|
+
shotgun/prompts/agents/plan.j2,sha256=l0eH-AC8h1m7SQmVxCEY3OOg_o9Eg3zabg05dIO26U4,7545
|
|
126
170
|
shotgun/prompts/agents/research.j2,sha256=TRCf6wOfrOhpz49mwENpdJqt0LpN49iJi1MG_gqOMVA,5619
|
|
127
|
-
shotgun/prompts/agents/router.j2,sha256=
|
|
128
|
-
shotgun/prompts/agents/specify.j2,sha256=
|
|
129
|
-
shotgun/prompts/agents/tasks.j2,sha256=
|
|
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
|
|
130
174
|
shotgun/prompts/agents/partials/codebase_understanding.j2,sha256=7WH-PVd-TRBFQUdOdKkwwn9hAUaJznFZMAGHhO7IGGU,5633
|
|
131
|
-
shotgun/prompts/agents/partials/common_agent_system_prompt.j2,sha256=
|
|
132
|
-
shotgun/prompts/agents/partials/content_formatting.j2,sha256=
|
|
133
|
-
shotgun/prompts/agents/partials/interactive_mode.j2,sha256=
|
|
134
|
-
shotgun/prompts/agents/partials/router_delegation_mode.j2,sha256
|
|
135
|
-
shotgun/prompts/agents/state/system_state.j2,sha256=
|
|
136
|
-
shotgun/prompts/agents/state/codebase/codebase_graphs_available.j2,sha256=
|
|
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
|
|
137
181
|
shotgun/prompts/codebase/__init__.py,sha256=NYuPMtmYM2ptuwf3YxVuotNlJOUq0hnjmwlzKcJkGK4,42
|
|
138
182
|
shotgun/prompts/codebase/cypher_query_patterns.j2,sha256=ufTx_xT3VoS76KcVUbIgGQx-bJoJHx3bBE3dagAXv18,8913
|
|
139
183
|
shotgun/prompts/codebase/cypher_system.j2,sha256=jo8d_AIoyAd0zKCvPXSmYGBxvtulMsCfeaOTdOfeC5g,2620
|
|
@@ -166,28 +210,32 @@ shotgun/shotgun_web/shared_specs/models.py,sha256=RkKWw4POBMvmaIwGiSq1pho2mgw6zo
|
|
|
166
210
|
shotgun/shotgun_web/shared_specs/upload_pipeline.py,sha256=rowaQ6pJFyBLLyGmSoOSaQ2napGX1OQTQXl8qMq_R1w,10549
|
|
167
211
|
shotgun/shotgun_web/shared_specs/utils.py,sha256=8hXchaiYhSyG9FP_O6YXk8tMupJQiVgGXZKKWhD_SsU,812
|
|
168
212
|
shotgun/tui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
169
|
-
shotgun/tui/app.py,sha256=
|
|
213
|
+
shotgun/tui/app.py,sha256=kVB-EjjMw8NCDzRueOG_fNMj1l09Yu7fz17uu4LpuJ8,20591
|
|
170
214
|
shotgun/tui/containers.py,sha256=g7sx0WOHZXXboP7gJLgOkSUSIaPemO8VZcESoXdzmSQ,3532
|
|
171
|
-
shotgun/tui/dependencies.py,sha256=
|
|
215
|
+
shotgun/tui/dependencies.py,sha256=m_5FoN5ktSS71rIb7Bj7GIYJDMbzhsF2hA0rc2z6c4o,2950
|
|
172
216
|
shotgun/tui/filtered_codebase_service.py,sha256=lJ8gTMhIveTatmvmGLP299msWWTkVYKwvY_2FhuL2s4,1687
|
|
173
217
|
shotgun/tui/layout.py,sha256=_hCXwbdPGLXgN8h54ri2Pnk8Gpw6B3pTP3horBlyZz0,247
|
|
174
|
-
shotgun/tui/protocols.py,sha256=
|
|
218
|
+
shotgun/tui/protocols.py,sha256=bIswoPRdLhzrXaju_K8hvYFSJfaBLDf59eckn9NmhLo,2776
|
|
175
219
|
shotgun/tui/styles.tcss,sha256=ETyyw1bpMBOqTi5RLcAJUScdPWTvAWEqE9YcT0kVs_E,121
|
|
176
|
-
shotgun/tui/commands/__init__.py,sha256=
|
|
220
|
+
shotgun/tui/commands/__init__.py,sha256=ckUzWOegC5znk9vMweyrRgKKNvFjXtmFWjQTGYoRpb4,2936
|
|
221
|
+
shotgun/tui/components/attachment_bar.py,sha256=JZtXc9hWm_BNPxqXn-HhGNj0hK2vT4ht6t5H_0ChGog,2607
|
|
177
222
|
shotgun/tui/components/context_indicator.py,sha256=GeEMvLYf09Hkw-sTqX1v8RDHb6rt6mXcUpI4DT9DVHQ,5792
|
|
178
223
|
shotgun/tui/components/mode_indicator.py,sha256=yTi7cnWgLjg2jZaJlMoLPVrS4YhNmFhrRz1EWwNVuww,5514
|
|
179
|
-
shotgun/tui/components/prompt_input.py,sha256=
|
|
224
|
+
shotgun/tui/components/prompt_input.py,sha256=eHeQPnkf-0OtcXvE2ayr3GlVxCPHvKB500bNYzRtbDk,2154
|
|
180
225
|
shotgun/tui/components/spinner.py,sha256=ovTDeaJ6FD6chZx_Aepia6R3UkPOVJ77EKHfRmn39MY,2427
|
|
181
226
|
shotgun/tui/components/splash.py,sha256=vppy9vEIEvywuUKRXn2y11HwXSRkQZHLYoVjhDVdJeU,1267
|
|
182
|
-
shotgun/tui/components/status_bar.py,sha256=
|
|
227
|
+
shotgun/tui/components/status_bar.py,sha256=3d7POlrxLQa9U0sLoJW4ERnqB6JzoX8WWASlBGml4Ww,2097
|
|
183
228
|
shotgun/tui/components/vertical_tail.py,sha256=kROwTaRjUwVB7H35dtmNcUVPQqNYvvfq7K2tXBKEb6c,638
|
|
184
229
|
shotgun/tui/screens/chat.tcss,sha256=7jM4YTBj-N-5T4NIiU2AJiGtKYvYO50OAkI0o7_qimI,574
|
|
185
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
|
|
186
233
|
shotgun/tui/screens/directory_setup.py,sha256=cwtl9KRsSnpm7HbGx84TE6wahUXKeXbi8L0TRtCfYJQ,3274
|
|
187
234
|
shotgun/tui/screens/feedback.py,sha256=BRrAcgDMAVsEvCNFYjuqdF6FmqzuqiBxeLz4Ah7MGMQ,5955
|
|
188
235
|
shotgun/tui/screens/github_issue.py,sha256=OdjaNLb997UOqVTWMq-GawVbTPjxarynMb-y0ktxeCA,3178
|
|
189
|
-
shotgun/tui/screens/
|
|
190
|
-
shotgun/tui/screens/
|
|
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
|
|
191
239
|
shotgun/tui/screens/pipx_migration.py,sha256=e9DojUzdlxj7_8IC7T_UMLEjIOk4eOF0uro2s8oAAvs,6145
|
|
192
240
|
shotgun/tui/screens/provider_config.py,sha256=VrlSnYZ-l1VG_qi5H-4G0yuNaJP8BFW20Vxgv8IcS28,13903
|
|
193
241
|
shotgun/tui/screens/shotgun_auth.py,sha256=tFKEMaQ6pocAdMG4JoRXQVjmjgluNGoYNZHBFCgTfck,13951
|
|
@@ -195,22 +243,23 @@ shotgun/tui/screens/spec_pull.py,sha256=LYD_ca2c4Je34daU4KFNWKnJ_rfMGGIXN-kJbdLT
|
|
|
195
243
|
shotgun/tui/screens/splash.py,sha256=E2MsJihi3c9NY1L28o_MstDxGwrCnnV7zdq00MrGAsw,706
|
|
196
244
|
shotgun/tui/screens/welcome.py,sha256=WJ35Cnoj9aHN47qgfBmGg99IXQQzkJ2Ipl-vfzU6oBs,10398
|
|
197
245
|
shotgun/tui/screens/chat/__init__.py,sha256=wChPqpJG-7kPYVYZjE8BlkXWxfW_YABhTR2fQ51opHY,113
|
|
198
|
-
shotgun/tui/screens/chat/chat.tcss,sha256=
|
|
199
|
-
shotgun/tui/screens/chat/chat_screen.py,sha256=
|
|
200
|
-
shotgun/tui/screens/chat/codebase_index_prompt_screen.py,sha256=
|
|
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
|
|
201
249
|
shotgun/tui/screens/chat/codebase_index_selection.py,sha256=Zz0vi3uLhWysdPHRO8Rye9QX4hIPeWhSAw6Y9-BlOVA,241
|
|
202
250
|
shotgun/tui/screens/chat/help_text.py,sha256=MkDq0Z7yQCXHVtLlnZaFU_Ijq1rbQX9KMOGVsb_1Hm8,1610
|
|
203
251
|
shotgun/tui/screens/chat/prompt_history.py,sha256=uL3KVFb32vD09jN338mebFAi0QI-EJXTxcEQy-j6QdQ,1201
|
|
204
252
|
shotgun/tui/screens/chat_screen/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
205
|
-
shotgun/tui/screens/chat_screen/
|
|
253
|
+
shotgun/tui/screens/chat_screen/attachment_hint.py,sha256=4N2RnkTqw7jlCddzHG7KGkltmMzXHCcTTJXZ7RpPqBc,1122
|
|
254
|
+
shotgun/tui/screens/chat_screen/command_providers.py,sha256=fT4cJnP678IsDUqqQWAlmu8B2OrsmFM1VrvGF1OoKoc,12327
|
|
206
255
|
shotgun/tui/screens/chat_screen/hint_message.py,sha256=aeG3TB8lamc7VeGUST16A96y6dYc8u3FuTxymM5BI-w,3361
|
|
207
256
|
shotgun/tui/screens/chat_screen/messages.py,sha256=IYHrRixB3EyTmKm4rcKeDR3MqN5snR3GaE1ZHg-AkY0,6563
|
|
208
257
|
shotgun/tui/screens/chat_screen/history/__init__.py,sha256=PRznBlnm9caNE0YYC08PkvNMAK-JpuULwmByaRNTKO0,581
|
|
209
258
|
shotgun/tui/screens/chat_screen/history/agent_response.py,sha256=hGny1oaUV4lMtkO4rhXZriKbQQuxd94yIH2QOyq2yic,2567
|
|
210
|
-
shotgun/tui/screens/chat_screen/history/chat_history.py,sha256=
|
|
211
|
-
shotgun/tui/screens/chat_screen/history/formatters.py,sha256=
|
|
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
|
|
212
261
|
shotgun/tui/screens/chat_screen/history/partial_response.py,sha256=r1KAJGrtDmTGEJSV66_pg_TAU55BH9foFA63-MHJfCM,1690
|
|
213
|
-
shotgun/tui/screens/chat_screen/history/user_question.py,sha256=
|
|
262
|
+
shotgun/tui/screens/chat_screen/history/user_question.py,sha256=q_6aWax8TH0oImOfjo7QhqT02Y7snrSB7WemZbMmCkg,2249
|
|
214
263
|
shotgun/tui/screens/shared_specs/__init__.py,sha256=HTsjeZ2E6ICS8vd1KmG_H0-B0fpjcaVSR3_7AI8jXqU,631
|
|
215
264
|
shotgun/tui/screens/shared_specs/create_spec_dialog.py,sha256=Sp7s0tWJl1AQmOZ118VGM3zhMZF9FqN-eNJLWeU_tcE,7654
|
|
216
265
|
shotgun/tui/screens/shared_specs/models.py,sha256=dxNRmWD9xrqGdkTeSHoV3IyMFESyuyTqWKKKMcapNNU,1431
|
|
@@ -219,7 +268,7 @@ shotgun/tui/screens/shared_specs/upload_progress_screen.py,sha256=VY0uioZvtA8p8Z
|
|
|
219
268
|
shotgun/tui/services/__init__.py,sha256=-BKRCRYQSnQZI4PxxUpkbvq8eYhXGjWHJtVW06CYQ2o,149
|
|
220
269
|
shotgun/tui/services/conversation_service.py,sha256=l8v991gTFLpgsv7drmZ5MSZ77_zmqYHc2ejh2zjZt7I,6703
|
|
221
270
|
shotgun/tui/state/__init__.py,sha256=oPV_VsvoiXhuZPwnra38kCT3RyXLvVxkVKDOv-LXGgA,141
|
|
222
|
-
shotgun/tui/state/processing_state.py,sha256=
|
|
271
|
+
shotgun/tui/state/processing_state.py,sha256=R596JgFKnS4NDt_0k5ix9fyRw4xnxdzkzsWe4Zz1bfI,6927
|
|
223
272
|
shotgun/tui/utils/__init__.py,sha256=cFjDfoXTRBq29wgP7TGRWUu1eFfiIG-LLOzjIGfadgI,150
|
|
224
273
|
shotgun/tui/utils/mode_progress.py,sha256=IdDFAIpIZHL5YTTUGvN_CaSZsN2vdm89Q6d7gNsAvBI,7323
|
|
225
274
|
shotgun/tui/widgets/__init__.py,sha256=6l-rU3Kq4hxKZQif49ZrZvvQlguC5qR20MJxi0kPwWQ,230
|
|
@@ -227,16 +276,16 @@ shotgun/tui/widgets/approval_widget.py,sha256=ewbVusx2wzJCXgw81iFsWEdH5nFWRtet1F
|
|
|
227
276
|
shotgun/tui/widgets/cascade_confirmation_widget.py,sha256=AY4KnqGb9vLFqoU2KXMZB9K4st6Z4sLdZ7IMVnrAKlU,6890
|
|
228
277
|
shotgun/tui/widgets/plan_panel.py,sha256=hmIcpKGw4rWvzEh0kWDLWUqwTJ5MKWzLySXqtybMYrI,3607
|
|
229
278
|
shotgun/tui/widgets/step_checkpoint_widget.py,sha256=hiwT9EyQ-ue8iGmOed7CBqau1EWo7jtdFjRk9uTvYu8,5963
|
|
230
|
-
shotgun/tui/widgets/widget_coordinator.py,sha256=
|
|
279
|
+
shotgun/tui/widgets/widget_coordinator.py,sha256=J16RinNmB6OMkw9JDwdFOwuuZ3qBKuC_fHolLmrtNh4,9808
|
|
231
280
|
shotgun/utils/__init__.py,sha256=WinIEp9oL2iMrWaDkXz2QX4nYVPAm8C9aBSKTeEwLtE,198
|
|
232
281
|
shotgun/utils/datetime_utils.py,sha256=x_uYmG1n9rkhSO2oR2uV9ttiuPL0nKa9os8YYaPfdWY,2592
|
|
233
282
|
shotgun/utils/env_utils.py,sha256=ulM3BRi9ZhS7uC-zorGeDQm4SHvsyFuuU9BtVPqdrHY,1418
|
|
234
|
-
shotgun/utils/file_system_utils.py,sha256=
|
|
283
|
+
shotgun/utils/file_system_utils.py,sha256=62l6OtAUzTLxkvsKqib7DB-l03mQUr_Hs2D9_1cLoSE,1702
|
|
235
284
|
shotgun/utils/marketing.py,sha256=WAPEtJDagNsDmIBdrZ0XBHOgsLONz_eT25wEng-HDBs,3759
|
|
236
285
|
shotgun/utils/source_detection.py,sha256=Co6Q03R3fT771TF3RzB-70stfjNP2S4F_ArZKibwzm8,454
|
|
237
286
|
shotgun/utils/update_checker.py,sha256=6fjiVUXgdxUrI54dfw0xBsrw7jlobYkjYNZaR-JoTpI,9667
|
|
238
|
-
shotgun_sh-0.
|
|
239
|
-
shotgun_sh-0.
|
|
240
|
-
shotgun_sh-0.
|
|
241
|
-
shotgun_sh-0.
|
|
242
|
-
shotgun_sh-0.
|
|
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())
|
shotgun/cli/plan.py
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
"""Plan 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.models import AgentRuntimeOptions
|
|
10
|
-
from shotgun.agents.plan import create_plan_agent, run_plan_agent
|
|
11
|
-
from shotgun.cli.error_handler import print_agent_error
|
|
12
|
-
from shotgun.exceptions import ErrorNotPickedUpBySentry
|
|
13
|
-
from shotgun.logging_config import get_logger
|
|
14
|
-
from shotgun.posthog_telemetry import track_event
|
|
15
|
-
|
|
16
|
-
app = typer.Typer(name="plan", help="Generate structured plans", no_args_is_help=True)
|
|
17
|
-
logger = get_logger(__name__)
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
@app.callback(invoke_without_command=True)
|
|
21
|
-
def plan(
|
|
22
|
-
goal: Annotated[str, typer.Argument(help="Goal or objective to plan for")],
|
|
23
|
-
non_interactive: Annotated[
|
|
24
|
-
bool,
|
|
25
|
-
typer.Option(
|
|
26
|
-
"--non-interactive", "-n", help="Disable user interaction (for CI/CD)"
|
|
27
|
-
),
|
|
28
|
-
] = False,
|
|
29
|
-
provider: Annotated[
|
|
30
|
-
ProviderType | None,
|
|
31
|
-
typer.Option("--provider", "-p", help="AI provider to use (overrides default)"),
|
|
32
|
-
] = None,
|
|
33
|
-
) -> None:
|
|
34
|
-
"""Generate a structured plan for achieving the given goal.
|
|
35
|
-
|
|
36
|
-
This command will create detailed, actionable plans broken down into steps
|
|
37
|
-
and milestones to help achieve your specified objective. It can also update
|
|
38
|
-
existing plans based on new requirements or refinements.
|
|
39
|
-
"""
|
|
40
|
-
|
|
41
|
-
logger.info("📋 Planning Goal: %s", goal)
|
|
42
|
-
|
|
43
|
-
# Track plan command usage
|
|
44
|
-
track_event(
|
|
45
|
-
"plan_command",
|
|
46
|
-
{
|
|
47
|
-
"non_interactive": non_interactive,
|
|
48
|
-
"provider": provider.value if provider else "default",
|
|
49
|
-
},
|
|
50
|
-
)
|
|
51
|
-
|
|
52
|
-
# Create agent dependencies
|
|
53
|
-
agent_runtime_options = AgentRuntimeOptions(interactive_mode=not non_interactive)
|
|
54
|
-
|
|
55
|
-
# Create the plan agent with deps and provider
|
|
56
|
-
agent, deps = asyncio.run(create_plan_agent(agent_runtime_options, provider))
|
|
57
|
-
|
|
58
|
-
# Start planning process with error handling
|
|
59
|
-
logger.info("🎯 Starting planning...")
|
|
60
|
-
|
|
61
|
-
async def async_plan() -> None:
|
|
62
|
-
try:
|
|
63
|
-
result = await run_plan_agent(agent, goal, deps)
|
|
64
|
-
logger.info("✅ Planning Complete!")
|
|
65
|
-
logger.info("📋 Results:")
|
|
66
|
-
logger.info("%s", result.output)
|
|
67
|
-
except ErrorNotPickedUpBySentry as e:
|
|
68
|
-
print_agent_error(e)
|
|
69
|
-
except Exception as e:
|
|
70
|
-
logger.exception("Unexpected error in plan command")
|
|
71
|
-
print(f"⚠️ An unexpected error occurred: {str(e)}")
|
|
72
|
-
|
|
73
|
-
asyncio.run(async_plan())
|
shotgun/cli/research.py
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
"""Research 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.models import AgentRuntimeOptions
|
|
10
|
-
from shotgun.agents.research import (
|
|
11
|
-
create_research_agent,
|
|
12
|
-
run_research_agent,
|
|
13
|
-
)
|
|
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="research", help="Perform research with agentic loops", no_args_is_help=True
|
|
21
|
-
)
|
|
22
|
-
logger = get_logger(__name__)
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
@app.callback(invoke_without_command=True)
|
|
26
|
-
def research(
|
|
27
|
-
query: Annotated[str, typer.Argument(help="Research query or topic")],
|
|
28
|
-
non_interactive: Annotated[
|
|
29
|
-
bool,
|
|
30
|
-
typer.Option(
|
|
31
|
-
"--non-interactive", "-n", help="Disable user interaction (for CI/CD)"
|
|
32
|
-
),
|
|
33
|
-
] = False,
|
|
34
|
-
provider: Annotated[
|
|
35
|
-
ProviderType | None,
|
|
36
|
-
typer.Option("--provider", "-p", help="AI provider to use (overrides default)"),
|
|
37
|
-
] = None,
|
|
38
|
-
) -> None:
|
|
39
|
-
"""Perform research on a given query using agentic loops.
|
|
40
|
-
|
|
41
|
-
This command will use AI agents to iteratively research the provided topic,
|
|
42
|
-
gathering information from multiple sources and refining the search process.
|
|
43
|
-
"""
|
|
44
|
-
|
|
45
|
-
logger.info("🔍 Research Query: %s", query)
|
|
46
|
-
|
|
47
|
-
try:
|
|
48
|
-
# Run everything in the same event loop
|
|
49
|
-
asyncio.run(async_research(query, non_interactive, provider))
|
|
50
|
-
|
|
51
|
-
except Exception as e:
|
|
52
|
-
logger.error("❌ Error during research: %s", str(e))
|
|
53
|
-
import traceback
|
|
54
|
-
|
|
55
|
-
logger.debug("Full traceback:\n%s", traceback.format_exc())
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
async def async_research(
|
|
59
|
-
query: str,
|
|
60
|
-
non_interactive: bool,
|
|
61
|
-
provider: ProviderType | None = None,
|
|
62
|
-
) -> None:
|
|
63
|
-
"""Async wrapper for research process."""
|
|
64
|
-
# Track research command usage
|
|
65
|
-
track_event(
|
|
66
|
-
"research_command",
|
|
67
|
-
{
|
|
68
|
-
"non_interactive": non_interactive,
|
|
69
|
-
"provider": provider.value if provider else "default",
|
|
70
|
-
},
|
|
71
|
-
)
|
|
72
|
-
|
|
73
|
-
# Create agent dependencies
|
|
74
|
-
agent_runtime_options = AgentRuntimeOptions(interactive_mode=not non_interactive)
|
|
75
|
-
|
|
76
|
-
# Create the research agent with deps and provider
|
|
77
|
-
agent, deps = await create_research_agent(agent_runtime_options, provider)
|
|
78
|
-
|
|
79
|
-
# Start research process with error handling
|
|
80
|
-
logger.info("🔬 Starting research...")
|
|
81
|
-
try:
|
|
82
|
-
result = await run_research_agent(agent, query, deps)
|
|
83
|
-
# Display results
|
|
84
|
-
print("✅ Research Complete!")
|
|
85
|
-
print("📋 Findings:")
|
|
86
|
-
print(result.output)
|
|
87
|
-
except ErrorNotPickedUpBySentry as e:
|
|
88
|
-
# All user-actionable errors - display with plain text
|
|
89
|
-
print_agent_error(e)
|
|
90
|
-
except Exception as e:
|
|
91
|
-
# Unexpected errors that weren't wrapped (shouldn't happen)
|
|
92
|
-
logger.exception("Unexpected error in research command")
|
|
93
|
-
print(f"⚠️ An unexpected error occurred: {str(e)}")
|