shotgun-sh 0.3.3.dev2__tar.gz → 0.3.5.dev2__tar.gz

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 (230) hide show
  1. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/PKG-INFO +3 -3
  2. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/pyproject.toml +4 -4
  3. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/codebase/core/change_detector.py +1 -1
  4. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/codebase/core/ingestor.py +1 -1
  5. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/codebase/core/manager.py +1 -1
  6. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/prompts/agents/specify.j2 +5 -2
  7. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/prompts/agents/tasks.j2 +35 -23
  8. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/.gitignore +0 -0
  9. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/LICENSE +0 -0
  10. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/README.md +0 -0
  11. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/hatch_build.py +0 -0
  12. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/__init__.py +0 -0
  13. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/__init__.py +0 -0
  14. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/agent_manager.py +0 -0
  15. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/common.py +0 -0
  16. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/config/README.md +0 -0
  17. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/config/__init__.py +0 -0
  18. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/config/constants.py +0 -0
  19. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/config/manager.py +0 -0
  20. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/config/models.py +0 -0
  21. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/config/provider.py +0 -0
  22. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/config/streaming_test.py +0 -0
  23. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/context_analyzer/__init__.py +0 -0
  24. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/context_analyzer/analyzer.py +0 -0
  25. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/context_analyzer/constants.py +0 -0
  26. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/context_analyzer/formatter.py +0 -0
  27. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/context_analyzer/models.py +0 -0
  28. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/conversation/__init__.py +0 -0
  29. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/conversation/filters.py +0 -0
  30. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/conversation/history/__init__.py +0 -0
  31. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/conversation/history/chunking.py +0 -0
  32. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/conversation/history/compaction.py +0 -0
  33. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/conversation/history/constants.py +0 -0
  34. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/conversation/history/context_extraction.py +0 -0
  35. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/conversation/history/file_content_deduplication.py +0 -0
  36. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/conversation/history/history_building.py +0 -0
  37. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/conversation/history/history_processors.py +0 -0
  38. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/conversation/history/message_utils.py +0 -0
  39. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/conversation/history/token_counting/__init__.py +0 -0
  40. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/conversation/history/token_counting/anthropic.py +0 -0
  41. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/conversation/history/token_counting/base.py +0 -0
  42. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/conversation/history/token_counting/openai.py +0 -0
  43. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/conversation/history/token_counting/sentencepiece_counter.py +0 -0
  44. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/conversation/history/token_counting/tokenizer_cache.py +0 -0
  45. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/conversation/history/token_counting/utils.py +0 -0
  46. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/conversation/history/token_estimation.py +0 -0
  47. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/conversation/manager.py +0 -0
  48. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/conversation/models.py +0 -0
  49. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/error/__init__.py +0 -0
  50. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/error/models.py +0 -0
  51. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/export.py +0 -0
  52. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/llm.py +0 -0
  53. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/messages.py +0 -0
  54. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/models.py +0 -0
  55. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/plan.py +0 -0
  56. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/research.py +0 -0
  57. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/runner.py +0 -0
  58. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/specify.py +0 -0
  59. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/tasks.py +0 -0
  60. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/tools/__init__.py +0 -0
  61. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/tools/codebase/__init__.py +0 -0
  62. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/tools/codebase/codebase_shell.py +0 -0
  63. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/tools/codebase/directory_lister.py +0 -0
  64. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/tools/codebase/file_read.py +0 -0
  65. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/tools/codebase/models.py +0 -0
  66. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/tools/codebase/query_graph.py +0 -0
  67. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/tools/codebase/retrieve_code.py +0 -0
  68. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/tools/file_management.py +0 -0
  69. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/tools/registry.py +0 -0
  70. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/tools/web_search/__init__.py +0 -0
  71. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/tools/web_search/anthropic.py +0 -0
  72. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/tools/web_search/gemini.py +0 -0
  73. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/tools/web_search/openai.py +0 -0
  74. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/tools/web_search/utils.py +0 -0
  75. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/agents/usage_manager.py +0 -0
  76. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/api_endpoints.py +0 -0
  77. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/build_constants.py +0 -0
  78. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/cli/__init__.py +0 -0
  79. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/cli/clear.py +0 -0
  80. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/cli/codebase/__init__.py +0 -0
  81. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/cli/codebase/commands.py +0 -0
  82. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/cli/codebase/models.py +0 -0
  83. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/cli/compact.py +0 -0
  84. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/cli/config.py +0 -0
  85. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/cli/context.py +0 -0
  86. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/cli/error_handler.py +0 -0
  87. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/cli/export.py +0 -0
  88. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/cli/feedback.py +0 -0
  89. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/cli/models.py +0 -0
  90. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/cli/plan.py +0 -0
  91. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/cli/research.py +0 -0
  92. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/cli/spec/__init__.py +0 -0
  93. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/cli/spec/backup.py +0 -0
  94. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/cli/spec/commands.py +0 -0
  95. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/cli/spec/models.py +0 -0
  96. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/cli/spec/pull_service.py +0 -0
  97. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/cli/specify.py +0 -0
  98. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/cli/tasks.py +0 -0
  99. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/cli/update.py +0 -0
  100. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/cli/utils.py +0 -0
  101. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/codebase/__init__.py +0 -0
  102. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/codebase/core/__init__.py +0 -0
  103. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/codebase/core/code_retrieval.py +0 -0
  104. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/codebase/core/cypher_models.py +0 -0
  105. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/codebase/core/language_config.py +0 -0
  106. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/codebase/core/nl_query.py +0 -0
  107. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/codebase/core/parser_loader.py +0 -0
  108. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/codebase/models.py +0 -0
  109. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/codebase/service.py +0 -0
  110. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/exceptions.py +0 -0
  111. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/llm_proxy/__init__.py +0 -0
  112. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/llm_proxy/client.py +0 -0
  113. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/llm_proxy/clients.py +0 -0
  114. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/llm_proxy/constants.py +0 -0
  115. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/llm_proxy/models.py +0 -0
  116. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/logging_config.py +0 -0
  117. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/main.py +0 -0
  118. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/posthog_telemetry.py +0 -0
  119. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/prompts/__init__.py +0 -0
  120. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/prompts/agents/__init__.py +0 -0
  121. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/prompts/agents/export.j2 +0 -0
  122. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/prompts/agents/partials/codebase_understanding.j2 +0 -0
  123. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/prompts/agents/partials/common_agent_system_prompt.j2 +0 -0
  124. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/prompts/agents/partials/content_formatting.j2 +0 -0
  125. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/prompts/agents/partials/interactive_mode.j2 +0 -0
  126. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/prompts/agents/plan.j2 +0 -0
  127. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/prompts/agents/research.j2 +0 -0
  128. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/prompts/agents/state/codebase/codebase_graphs_available.j2 +0 -0
  129. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/prompts/agents/state/system_state.j2 +0 -0
  130. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/prompts/codebase/__init__.py +0 -0
  131. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/prompts/codebase/cypher_query_patterns.j2 +0 -0
  132. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/prompts/codebase/cypher_system.j2 +0 -0
  133. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/prompts/codebase/enhanced_query_context.j2 +0 -0
  134. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/prompts/codebase/partials/cypher_rules.j2 +0 -0
  135. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/prompts/codebase/partials/graph_schema.j2 +0 -0
  136. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/prompts/codebase/partials/temporal_context.j2 +0 -0
  137. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/prompts/history/__init__.py +0 -0
  138. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/prompts/history/chunk_summarization.j2 +0 -0
  139. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/prompts/history/combine_summaries.j2 +0 -0
  140. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/prompts/history/incremental_summarization.j2 +0 -0
  141. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/prompts/history/summarization.j2 +0 -0
  142. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/prompts/loader.py +0 -0
  143. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/prompts/tools/web_search.j2 +0 -0
  144. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/py.typed +0 -0
  145. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/sdk/__init__.py +0 -0
  146. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/sdk/codebase.py +0 -0
  147. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/sdk/exceptions.py +0 -0
  148. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/sdk/models.py +0 -0
  149. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/sdk/services.py +0 -0
  150. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/sentry_telemetry.py +0 -0
  151. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/settings.py +0 -0
  152. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/shotgun_web/__init__.py +0 -0
  153. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/shotgun_web/client.py +0 -0
  154. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/shotgun_web/constants.py +0 -0
  155. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/shotgun_web/exceptions.py +0 -0
  156. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/shotgun_web/models.py +0 -0
  157. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/shotgun_web/shared_specs/__init__.py +0 -0
  158. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/shotgun_web/shared_specs/file_scanner.py +0 -0
  159. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/shotgun_web/shared_specs/hasher.py +0 -0
  160. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/shotgun_web/shared_specs/models.py +0 -0
  161. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/shotgun_web/shared_specs/upload_pipeline.py +0 -0
  162. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/shotgun_web/shared_specs/utils.py +0 -0
  163. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/shotgun_web/specs_client.py +0 -0
  164. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/shotgun_web/supabase_client.py +0 -0
  165. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/telemetry.py +0 -0
  166. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/__init__.py +0 -0
  167. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/app.py +0 -0
  168. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/commands/__init__.py +0 -0
  169. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/components/context_indicator.py +0 -0
  170. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/components/mode_indicator.py +0 -0
  171. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/components/prompt_input.py +0 -0
  172. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/components/spinner.py +0 -0
  173. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/components/splash.py +0 -0
  174. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/components/status_bar.py +0 -0
  175. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/components/vertical_tail.py +0 -0
  176. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/containers.py +0 -0
  177. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/dependencies.py +0 -0
  178. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/filtered_codebase_service.py +0 -0
  179. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/layout.py +0 -0
  180. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/protocols.py +0 -0
  181. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/screens/chat/__init__.py +0 -0
  182. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/screens/chat/chat.tcss +0 -0
  183. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/screens/chat/chat_screen.py +0 -0
  184. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/screens/chat/codebase_index_prompt_screen.py +0 -0
  185. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/screens/chat/codebase_index_selection.py +0 -0
  186. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/screens/chat/help_text.py +0 -0
  187. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/screens/chat/prompt_history.py +0 -0
  188. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/screens/chat.tcss +0 -0
  189. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/screens/chat_screen/__init__.py +0 -0
  190. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/screens/chat_screen/command_providers.py +0 -0
  191. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/screens/chat_screen/hint_message.py +0 -0
  192. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/screens/chat_screen/history/__init__.py +0 -0
  193. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/screens/chat_screen/history/agent_response.py +0 -0
  194. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/screens/chat_screen/history/chat_history.py +0 -0
  195. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/screens/chat_screen/history/formatters.py +0 -0
  196. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/screens/chat_screen/history/partial_response.py +0 -0
  197. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/screens/chat_screen/history/user_question.py +0 -0
  198. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/screens/confirmation_dialog.py +0 -0
  199. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/screens/directory_setup.py +0 -0
  200. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/screens/feedback.py +0 -0
  201. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/screens/github_issue.py +0 -0
  202. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/screens/model_picker.py +0 -0
  203. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/screens/onboarding.py +0 -0
  204. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/screens/pipx_migration.py +0 -0
  205. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/screens/provider_config.py +0 -0
  206. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/screens/shared_specs/__init__.py +0 -0
  207. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/screens/shared_specs/create_spec_dialog.py +0 -0
  208. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/screens/shared_specs/models.py +0 -0
  209. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/screens/shared_specs/share_specs_dialog.py +0 -0
  210. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/screens/shared_specs/upload_progress_screen.py +0 -0
  211. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/screens/shotgun_auth.py +0 -0
  212. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/screens/spec_pull.py +0 -0
  213. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/screens/splash.py +0 -0
  214. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/screens/welcome.py +0 -0
  215. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/services/__init__.py +0 -0
  216. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/services/conversation_service.py +0 -0
  217. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/state/__init__.py +0 -0
  218. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/state/processing_state.py +0 -0
  219. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/styles.tcss +0 -0
  220. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/utils/__init__.py +0 -0
  221. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/utils/mode_progress.py +0 -0
  222. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/widgets/__init__.py +0 -0
  223. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/tui/widgets/widget_coordinator.py +0 -0
  224. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/utils/__init__.py +0 -0
  225. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/utils/datetime_utils.py +0 -0
  226. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/utils/env_utils.py +0 -0
  227. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/utils/file_system_utils.py +0 -0
  228. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/utils/marketing.py +0 -0
  229. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/utils/source_detection.py +0 -0
  230. {shotgun_sh-0.3.3.dev2 → shotgun_sh-0.3.5.dev2}/src/shotgun/utils/update_checker.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: shotgun-sh
3
- Version: 0.3.3.dev2
3
+ Version: 0.3.5.dev2
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: >=3.11
23
+ Requires-Python: <3.14,>=3.11
24
24
  Requires-Dist: aiofiles>=24.0.0
25
25
  Requires-Dist: anthropic>=0.39.0
26
26
  Requires-Dist: dependency-injector>=4.41.0
27
27
  Requires-Dist: genai-prices>=0.0.27
28
28
  Requires-Dist: httpx>=0.27.0
29
29
  Requires-Dist: jinja2>=3.1.0
30
- Requires-Dist: kuzu>=0.7.0
31
30
  Requires-Dist: logfire>=2.0.0
32
31
  Requires-Dist: openai>=1.0.0
33
32
  Requires-Dist: packaging>=23.0
@@ -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
@@ -1,13 +1,13 @@
1
1
  [project]
2
2
  name = "shotgun-sh"
3
- version = "0.3.3.dev2"
3
+ version = "0.3.5.dev2"
4
4
  description = "AI-powered research, planning, and task management CLI tool"
5
5
  readme = "README.md"
6
6
  license = { text = "MIT" }
7
7
  authors = [
8
8
  { name = "Proofs.io", email = "hello@proofs.io" }
9
9
  ]
10
- requires-python = ">=3.11"
10
+ requires-python = ">=3.11,<3.14" # Upper bound due to real-ladybug lacking Python 3.14 wheels
11
11
  keywords = ["cli", "ai", "agent", "research", "planning", "task-management", "productivity", "llm", "pydantic-ai"]
12
12
  classifiers = [
13
13
  "Development Status :: 4 - Beta",
@@ -34,7 +34,7 @@ dependencies = [
34
34
  "textual>=6.1.0",
35
35
  "textual-dev>=1.7.0",
36
36
  "textual-serve>=0.1.0",
37
- "kuzu>=0.7.0",
37
+ "real_ladybug>=0.12.0",
38
38
  "tree-sitter>=0.21.0",
39
39
  "tree-sitter-python>=0.23.0",
40
40
  "tree-sitter-javascript>=0.23.0",
@@ -171,4 +171,4 @@ skip_covered = false
171
171
  show_missing = true
172
172
 
173
173
  [tool.uv.pip]
174
- only-binary = ["kuzu"]
174
+ only-binary = ["real_ladybug"]
@@ -7,7 +7,7 @@ from pathlib import Path
7
7
  from typing import Any, cast
8
8
 
9
9
  import aiofiles
10
- import kuzu
10
+ import real_ladybug as kuzu
11
11
 
12
12
  from shotgun.logging_config import get_logger
13
13
 
@@ -11,7 +11,7 @@ from pathlib import Path
11
11
  from typing import Any
12
12
 
13
13
  import aiofiles
14
- import kuzu
14
+ import real_ladybug as kuzu
15
15
  from tree_sitter import Node, Parser, QueryCursor
16
16
 
17
17
  from shotgun.codebase.core.language_config import LANGUAGE_CONFIGS, get_language_config
@@ -12,7 +12,7 @@ from pathlib import Path
12
12
  from typing import Any, ClassVar
13
13
 
14
14
  import anyio
15
- import kuzu
15
+ import real_ladybug as kuzu
16
16
  from watchdog.events import FileSystemEvent, FileSystemEventHandler
17
17
  from watchdog.observers import Observer
18
18
 
@@ -50,6 +50,8 @@ specification.md is your prose documentation file. It should contain:
50
50
  - Configuration requirements described (e.g., "App needs database URL and API key in environment")
51
51
  - Testing strategies and acceptance criteria
52
52
  - References to contract files (e.g., "See contracts/user_models.py for User type definition")
53
+ - **IMPORTANT**: Only reference contract files that you have ALREADY created using `write_file()`
54
+ - Never reference contract files that don't exist - create them first, then reference them
53
55
 
54
56
  **DO NOT INCLUDE in specification.md:**
55
57
  - Code blocks, type definitions, or function signatures (those go in contracts/)
@@ -355,8 +357,9 @@ For specification tasks:
355
357
  2. **Check research**: Read `research.md` if it exists to understand technical context and findings
356
358
  3. **Analyze requirements**: Understand the functional and non-functional requirements
357
359
  4. **Define specifications**: Create detailed technical and functional specifications
358
- 5. **Write TLDR section**: Start specification.md with a TLDR section summarizing key points, major features, and any key concerns
359
- 6. **Structure documentation**: Use `write_file("specification.md", content)` to save comprehensive specifications
360
+ 5. **Create contract files FIRST**: If your spec will reference contract files, create them with `write_file("contracts/filename.ext", content)` BEFORE writing specification.md
361
+ 6. **Write TLDR section**: Start specification.md with a TLDR section summarizing key points, major features, and any key concerns
362
+ 7. **Structure documentation**: Use `write_file("specification.md", content)` to save comprehensive specifications - only reference contract files you've already created
360
363
 
361
364
  ## SPECIFICATION PRINCIPLES
362
365
 
@@ -27,9 +27,9 @@ NEVER offer to do work outside your scope:
27
27
  - This is your persistent memory store - ALWAYS load it first
28
28
  - Compress content regularly to stay within context limits
29
29
  - Keep your file updated as you work - it's your memory across sessions
30
- - Archive completed tasks to a compressed section at the bottom
30
+ - Keep completed tasks marked with `[X]` for reference
31
31
  - Consolidate similar or duplicate tasks when compressing
32
- - Maintain structure: Active Tasks Backlog Archived (compressed)
32
+ - Maintain structure: Stages with numbered tasks (Stage 1, Stage 2, etc.)
33
33
 
34
34
  ## AI AGENT PIPELINE AWARENESS
35
35
 
@@ -56,9 +56,10 @@ Example task format:
56
56
  For task management:
57
57
  1. **Load existing tasks**: ALWAYS first use `read_file("tasks.md")` to see what tasks already exist (if the file exists)
58
58
  2. **Review context**: Read `plan.md` and `specification.md` if they exist to understand project context
59
- 3. **Analyze requirements**: Understand the current situation and user's task requirements
60
- 4. **Create structured tasks**: Use `write_file("tasks.md", content)` to save organized tasks
61
- 5. **Build incrementally**: Update and refine tasks based on new information
59
+ 3. **Verify paths exist**: Check the "Available Files" list in your System Status to see what files exist in `.shotgun/`. If a path doesn't exist, tasks must CREATE it, not modify files within it.
60
+ 4. **Analyze requirements**: Understand the current situation and user's task requirements
61
+ 5. **Create structured tasks**: Use `write_file("tasks.md", content)` to save organized tasks
62
+ 6. **Build incrementally**: Update and refine tasks based on new information
62
63
 
63
64
  ## TASK FORMAT
64
65
 
@@ -69,33 +70,36 @@ For task management:
69
70
 
70
71
  ## TASK FILE STRUCTURE
71
72
 
72
- Start tasks.md with these instructions:
73
+ **CRITICAL**: Start tasks.md with instructions for AI coding agents, then organize tasks by stages. Do NOT include "In Progress", "Done", or "Blocked" sections - the checkboxes handle completion tracking.
74
+
73
75
  ```markdown
74
76
  # Task Management
75
77
 
76
- ## Instructions
77
- - Mark tasks as complete by replacing `[ ]` with `[X]`
78
- - Tasks without an `[X]` are not finished yet
79
- ```
78
+ ## Instructions for AI Coding Agents
80
79
 
81
- Then organize tasks into logical sections:
82
- ```markdown
83
- ## Backlog
84
- - [ ] Task description with clear action
85
- - [ ] Another specific task to complete
80
+ When working on these tasks:
81
+ 1. Focus on ONE stage at a time, completing all tasks in that stage before moving to the next
82
+ 2. Mark each task complete by replacing `[ ]` with `[X]` as you finish it
83
+ 3. Do NOT modify any other content in this file unless explicitly instructed by the user
84
+ 4. Tasks without an `[X]` are not finished yet
86
85
 
87
- ## In Progress
88
- - [ ] Currently working on this task
89
- - [ ] Task being actively developed
86
+ ---
90
87
 
91
- ## Done
92
- - [X] Completed task for reference
93
- - [X] Another finished task
88
+ ### Stage 1: [Stage Name]
89
+ - [ ] Task description with clear action
90
+ - [ ] Another specific task to complete
94
91
 
95
- ## Blocked
96
- - [ ] Task waiting on dependency (blocked by: reason)
92
+ ### Stage 2: [Stage Name]
93
+ - [ ] Task in the next stage
94
+ - [ ] Another task in this stage
97
95
  ```
98
96
 
97
+ **IMPORTANT**:
98
+ - Group related tasks under numbered stages (Stage 1, Stage 2, etc.)
99
+ - Do NOT create separate "In Progress", "Done", or "Blocked" sections
100
+ - The `[ ]` / `[X]` checkboxes are the ONLY mechanism for tracking completion
101
+ - Each stage should be completable independently before moving to the next
102
+
99
103
  ## TASK CREATION PRINCIPLES
100
104
 
101
105
  - **ALWAYS use checkbox format `[ ]` for every task**
@@ -145,6 +149,14 @@ INTEGRATION WITH RESEARCH & PLAN:
145
149
  - Create validation/testing tasks for success criteria from plan
146
150
  - Break down high-level plan steps into granular, executable tasks
147
151
 
152
+ PATH VERIFICATION (CRITICAL):
153
+ - Before generating tasks that reference specific file paths in `.shotgun/`, check the "Available Files" list in your System Status
154
+ - If specification.md references files under `.shotgun/contracts/` that don't appear in "Available Files", DO NOT generate tasks for those files
155
+ - The Specification agent is responsible for creating contract files, not downstream coding agents
156
+ - Tasks should reference files that EXIST or will be created in the project codebase (src/, tests/, etc.), not in `.shotgun/`
157
+ - Only generate tasks for `.shotgun/` files if they appear in the "Available Files" list and the task is about modifying them
158
+ - Do NOT generate tasks referencing `.shotgun/contracts/*` files unless those files already exist
159
+
148
160
  IMPORTANT RULES:
149
161
  - Make at most 1 tasks file write per request
150
162
  - Always base tasks on available research and plan when relevant
File without changes