shotgun-sh 0.1.0.dev16__tar.gz → 0.1.0.dev17__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.

Potentially problematic release.


This version of shotgun-sh might be problematic. Click here for more details.

Files changed (143) hide show
  1. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/PKG-INFO +1 -1
  2. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/pyproject.toml +1 -1
  3. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/prompts/agents/partials/artifact_system.j2 +0 -3
  4. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/tui/screens/chat.py +1 -1
  5. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/tui/screens/chat_screen/command_providers.py +6 -0
  6. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/tui/screens/chat_screen/history.py +15 -0
  7. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/.gitignore +0 -0
  8. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/LICENSE +0 -0
  9. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/README.md +0 -0
  10. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/hatch_build.py +0 -0
  11. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/__init__.py +0 -0
  12. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/__init__.py +0 -0
  13. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/agent_manager.py +0 -0
  14. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/artifact_state.py +0 -0
  15. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/common.py +0 -0
  16. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/config/__init__.py +0 -0
  17. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/config/constants.py +0 -0
  18. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/config/manager.py +0 -0
  19. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/config/models.py +0 -0
  20. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/config/provider.py +0 -0
  21. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/history/__init__.py +0 -0
  22. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/history/compaction.py +0 -0
  23. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/history/constants.py +0 -0
  24. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/history/context_extraction.py +0 -0
  25. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/history/history_building.py +0 -0
  26. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/history/history_processors.py +0 -0
  27. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/history/message_utils.py +0 -0
  28. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/history/token_counting.py +0 -0
  29. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/history/token_estimation.py +0 -0
  30. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/models.py +0 -0
  31. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/plan.py +0 -0
  32. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/research.py +0 -0
  33. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/specify.py +0 -0
  34. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/tasks.py +0 -0
  35. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/tools/__init__.py +0 -0
  36. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/tools/artifact_management.py +0 -0
  37. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/tools/codebase/__init__.py +0 -0
  38. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/tools/codebase/codebase_shell.py +0 -0
  39. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/tools/codebase/directory_lister.py +0 -0
  40. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/tools/codebase/file_read.py +0 -0
  41. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/tools/codebase/models.py +0 -0
  42. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/tools/codebase/query_graph.py +0 -0
  43. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/tools/codebase/retrieve_code.py +0 -0
  44. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/tools/file_management.py +0 -0
  45. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/tools/user_interaction.py +0 -0
  46. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/tools/web_search/__init__.py +0 -0
  47. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/tools/web_search/anthropic.py +0 -0
  48. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/tools/web_search/gemini.py +0 -0
  49. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/tools/web_search/openai.py +0 -0
  50. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/agents/tools/web_search/utils.py +0 -0
  51. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/artifacts/__init__.py +0 -0
  52. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/artifacts/exceptions.py +0 -0
  53. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/artifacts/manager.py +0 -0
  54. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/artifacts/models.py +0 -0
  55. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/artifacts/service.py +0 -0
  56. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/artifacts/templates/__init__.py +0 -0
  57. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/artifacts/templates/loader.py +0 -0
  58. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/artifacts/templates/models.py +0 -0
  59. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/artifacts/templates/plan/delivery_and_release_plan.yaml +0 -0
  60. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/artifacts/templates/research/market_research.yaml +0 -0
  61. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/artifacts/templates/research/sdk_comparison.yaml +0 -0
  62. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/artifacts/templates/specify/prd.yaml +0 -0
  63. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/artifacts/templates/specify/product_spec.yaml +0 -0
  64. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/artifacts/utils.py +0 -0
  65. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/build_constants.py +0 -0
  66. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/cli/__init__.py +0 -0
  67. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/cli/codebase/__init__.py +0 -0
  68. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/cli/codebase/commands.py +0 -0
  69. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/cli/codebase/models.py +0 -0
  70. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/cli/config.py +0 -0
  71. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/cli/models.py +0 -0
  72. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/cli/plan.py +0 -0
  73. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/cli/research.py +0 -0
  74. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/cli/specify.py +0 -0
  75. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/cli/tasks.py +0 -0
  76. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/cli/update.py +0 -0
  77. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/cli/utils.py +0 -0
  78. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/codebase/__init__.py +0 -0
  79. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/codebase/core/__init__.py +0 -0
  80. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/codebase/core/change_detector.py +0 -0
  81. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/codebase/core/code_retrieval.py +0 -0
  82. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/codebase/core/ingestor.py +0 -0
  83. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/codebase/core/language_config.py +0 -0
  84. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/codebase/core/manager.py +0 -0
  85. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/codebase/core/nl_query.py +0 -0
  86. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/codebase/core/parser_loader.py +0 -0
  87. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/codebase/models.py +0 -0
  88. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/codebase/service.py +0 -0
  89. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/logging_config.py +0 -0
  90. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/main.py +0 -0
  91. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/posthog_telemetry.py +0 -0
  92. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/prompts/__init__.py +0 -0
  93. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/prompts/agents/__init__.py +0 -0
  94. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/prompts/agents/partials/codebase_understanding.j2 +0 -0
  95. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/prompts/agents/partials/common_agent_system_prompt.j2 +0 -0
  96. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/prompts/agents/partials/content_formatting.j2 +0 -0
  97. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/prompts/agents/partials/interactive_mode.j2 +0 -0
  98. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/prompts/agents/plan.j2 +0 -0
  99. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/prompts/agents/research.j2 +0 -0
  100. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/prompts/agents/specify.j2 +0 -0
  101. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/prompts/agents/state/artifact_templates_available.j2 +0 -0
  102. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/prompts/agents/state/codebase/codebase_graphs_available.j2 +0 -0
  103. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/prompts/agents/state/existing_artifacts_available.j2 +0 -0
  104. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/prompts/agents/state/system_state.j2 +0 -0
  105. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/prompts/agents/tasks.j2 +0 -0
  106. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/prompts/codebase/__init__.py +0 -0
  107. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/prompts/codebase/cypher_query_patterns.j2 +0 -0
  108. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/prompts/codebase/cypher_system.j2 +0 -0
  109. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/prompts/codebase/enhanced_query_context.j2 +0 -0
  110. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/prompts/codebase/partials/cypher_rules.j2 +0 -0
  111. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/prompts/codebase/partials/graph_schema.j2 +0 -0
  112. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/prompts/codebase/partials/temporal_context.j2 +0 -0
  113. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/prompts/history/__init__.py +0 -0
  114. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/prompts/history/incremental_summarization.j2 +0 -0
  115. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/prompts/history/summarization.j2 +0 -0
  116. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/prompts/loader.py +0 -0
  117. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/py.typed +0 -0
  118. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/sdk/__init__.py +0 -0
  119. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/sdk/artifact_models.py +0 -0
  120. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/sdk/artifacts.py +0 -0
  121. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/sdk/codebase.py +0 -0
  122. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/sdk/exceptions.py +0 -0
  123. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/sdk/models.py +0 -0
  124. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/sdk/services.py +0 -0
  125. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/sentry_telemetry.py +0 -0
  126. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/telemetry.py +0 -0
  127. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/tui/__init__.py +0 -0
  128. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/tui/app.py +0 -0
  129. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/tui/commands/__init__.py +0 -0
  130. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/tui/components/prompt_input.py +0 -0
  131. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/tui/components/spinner.py +0 -0
  132. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/tui/components/splash.py +0 -0
  133. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/tui/components/vertical_tail.py +0 -0
  134. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/tui/screens/chat.tcss +0 -0
  135. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/tui/screens/chat_screen/__init__.py +0 -0
  136. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/tui/screens/directory_setup.py +0 -0
  137. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/tui/screens/provider_config.py +0 -0
  138. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/tui/screens/splash.py +0 -0
  139. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/tui/styles.tcss +0 -0
  140. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/utils/__init__.py +0 -0
  141. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/utils/env_utils.py +0 -0
  142. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/src/shotgun/utils/file_system_utils.py +0 -0
  143. {shotgun_sh-0.1.0.dev16 → shotgun_sh-0.1.0.dev17}/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.1.0.dev16
3
+ Version: 0.1.0.dev17
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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "shotgun-sh"
3
- version = "0.1.0.dev16"
3
+ version = "0.1.0.dev17"
4
4
  description = "AI-powered research, planning, and task management CLI tool"
5
5
  readme = "README.md"
6
6
  license = { text = "MIT" }
@@ -14,7 +14,6 @@ You have access to a structured artifact system for organizing your work. Use ar
14
14
  - **Organization**: `.shotgun/{agent_mode}/{artifact_id}/{section_number}-{section_slug}.md`
15
15
 
16
16
  ### Best Practices:
17
- - Always start by checking existing artifacts with `list_artifacts()`
18
17
  - Use meaningful artifact IDs that describe the work
19
18
  - Organize content into logical sections (overview, analysis, recommendations, etc.)
20
19
  - Use descriptive section titles and slugs
@@ -27,8 +26,6 @@ Use artifact templates to help you create new artifacts.
27
26
 
28
27
  MOST IMPORTANT: WHEN YOU CREATE AN ARTIFACT FROM A TEMPLATE, ALWAYS RESPECT AND FOLLOW THE "INSTRUCTIONS" AND "PROMPT" CONTAINED IN THE TEMPLATE TO THE LETTER.
29
28
 
30
- Use `list_artifact_templates(agent_mode)` to see what templates are available.
31
-
32
29
  Use `create_artifact(artifact_id, agent_mode, name, template_id)` to create a new artifact with a template.
33
30
 
34
31
  Template ID example: "research/market_research"
@@ -423,7 +423,7 @@ class ChatScreen(Screen[None]):
423
423
  question_display.display = False
424
424
 
425
425
  def action_toggle_mode(self) -> None:
426
- modes = [AgentType.RESEARCH, AgentType.PLAN, AgentType.TASKS, AgentType.SPECIFY]
426
+ modes = [AgentType.RESEARCH, AgentType.SPECIFY, AgentType.PLAN, AgentType.TASKS]
427
427
  self.mode = modes[(modes.index(self.mode) + 1) % len(modes)]
428
428
  self.agent_manager.set_agent(self.mode)
429
429
  # whoops it actually changes focus. Let's be brutal for now
@@ -52,6 +52,12 @@ class AgentModeProvider(Provider):
52
52
  lambda: self.set_mode(AgentType.RESEARCH),
53
53
  AgentType.RESEARCH,
54
54
  ),
55
+ (
56
+ "Switch to Specify Mode",
57
+ "📝 Create detailed specifications and requirements documents",
58
+ lambda: self.set_mode(AgentType.SPECIFY),
59
+ AgentType.SPECIFY,
60
+ ),
55
61
  (
56
62
  "Switch to Plan Mode",
57
63
  "📋 Create comprehensive, actionable plans with milestones",
@@ -1,3 +1,5 @@
1
+ import json
2
+
1
3
  from pydantic_ai.messages import (
2
4
  BuiltinToolCallPart,
3
5
  BuiltinToolReturnPart,
@@ -146,6 +148,19 @@ class AgentResponseWidget(Widget):
146
148
  return acc.strip()
147
149
 
148
150
  def _format_tool_call_part(self, part: ToolCallPart) -> str:
151
+ if part.tool_name == "ask_user":
152
+ if isinstance(part.args, str):
153
+ try:
154
+ _args = json.loads(part.args) if part.args.strip() else {}
155
+ except json.JSONDecodeError:
156
+ _args = {}
157
+ else:
158
+ _args = part.args
159
+
160
+ if isinstance(_args, dict) and "question" in _args:
161
+ return f"{_args['question']}"
162
+ else:
163
+ return "❓ "
149
164
  if part.tool_name == "write_artifact_section":
150
165
  if isinstance(part.args, dict) and "section_title" in part.args:
151
166
  return f"{part.tool_name}({part.args['section_title']})"