tunacode-cli 0.0.44__tar.gz → 0.0.46__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 tunacode-cli might be problematic. Click here for more details.

Files changed (236) hide show
  1. {tunacode_cli-0.0.44/src/tunacode_cli.egg-info → tunacode_cli-0.0.46}/PKG-INFO +32 -8
  2. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/README.md +25 -1
  3. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/pyproject.toml +7 -7
  4. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/cli/repl.py +14 -7
  5. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/configuration/defaults.py +0 -1
  6. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/constants.py +1 -1
  7. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/core/agents/main.py +288 -342
  8. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/core/recursive/aggregator.py +2 -2
  9. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/core/recursive/decomposer.py +1 -1
  10. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/core/recursive/executor.py +11 -8
  11. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/ui/input.py +2 -1
  12. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/ui/keybindings.py +17 -1
  13. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/ui/panels.py +9 -2
  14. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46/src/tunacode_cli.egg-info}/PKG-INFO +32 -8
  15. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode_cli.egg-info/SOURCES.txt +0 -5
  16. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode_cli.egg-info/requires.txt +0 -2
  17. tunacode_cli-0.0.46/tests/characterization/repl/test_repl_initialization.py +114 -0
  18. tunacode_cli-0.0.44/src/tunacode/core/agents/dspy_integration.py +0 -223
  19. tunacode_cli-0.0.44/src/tunacode/core/agents/dspy_tunacode.py +0 -458
  20. tunacode_cli-0.0.44/src/tunacode/prompts/dspy_task_planning.md +0 -45
  21. tunacode_cli-0.0.44/src/tunacode/prompts/dspy_tool_selection.md +0 -58
  22. tunacode_cli-0.0.44/tests/characterization/repl/test_repl_initialization.py +0 -59
  23. tunacode_cli-0.0.44/tests/test_dspy_integration.py +0 -127
  24. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/CLAUDE.md +0 -0
  25. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/LICENSE +0 -0
  26. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/MANIFEST.in +0 -0
  27. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/TUNACODE.md +0 -0
  28. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/setup.cfg +0 -0
  29. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/setup.py +0 -0
  30. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/__init__.py +0 -0
  31. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/cli/__init__.py +0 -0
  32. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/cli/commands/__init__.py +0 -0
  33. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/cli/commands/base.py +0 -0
  34. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/cli/commands/implementations/__init__.py +0 -0
  35. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/cli/commands/implementations/conversation.py +0 -0
  36. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/cli/commands/implementations/debug.py +0 -0
  37. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/cli/commands/implementations/development.py +0 -0
  38. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/cli/commands/implementations/model.py +0 -0
  39. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/cli/commands/implementations/system.py +0 -0
  40. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/cli/commands/implementations/todo.py +0 -0
  41. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/cli/commands/registry.py +0 -0
  42. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/cli/main.py +0 -0
  43. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/configuration/__init__.py +0 -0
  44. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/configuration/models.py +0 -0
  45. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/configuration/settings.py +0 -0
  46. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/context.py +0 -0
  47. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/core/__init__.py +0 -0
  48. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/core/agents/__init__.py +0 -0
  49. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/core/agents/utils.py +0 -0
  50. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/core/background/__init__.py +0 -0
  51. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/core/background/manager.py +0 -0
  52. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/core/code_index.py +0 -0
  53. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/core/llm/__init__.py +0 -0
  54. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/core/recursive/__init__.py +0 -0
  55. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/core/recursive/budget.py +0 -0
  56. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/core/recursive/hierarchy.py +0 -0
  57. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/core/setup/__init__.py +0 -0
  58. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/core/setup/agent_setup.py +0 -0
  59. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/core/setup/base.py +0 -0
  60. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/core/setup/config_setup.py +0 -0
  61. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/core/setup/coordinator.py +0 -0
  62. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/core/setup/environment_setup.py +0 -0
  63. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/core/setup/git_safety_setup.py +0 -0
  64. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/core/state.py +0 -0
  65. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/core/token_usage/api_response_parser.py +0 -0
  66. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/core/token_usage/cost_calculator.py +0 -0
  67. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/core/token_usage/usage_tracker.py +0 -0
  68. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/core/tool_handler.py +0 -0
  69. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/exceptions.py +0 -0
  70. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/prompts/system.md +0 -0
  71. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/py.typed +0 -0
  72. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/services/__init__.py +0 -0
  73. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/services/mcp.py +0 -0
  74. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/setup.py +0 -0
  75. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/tools/__init__.py +0 -0
  76. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/tools/base.py +0 -0
  77. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/tools/bash.py +0 -0
  78. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/tools/glob.py +0 -0
  79. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/tools/grep.py +0 -0
  80. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/tools/list_dir.py +0 -0
  81. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/tools/read_file.py +0 -0
  82. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/tools/read_file_async_poc.py +0 -0
  83. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/tools/run_command.py +0 -0
  84. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/tools/todo.py +0 -0
  85. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/tools/update_file.py +0 -0
  86. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/tools/write_file.py +0 -0
  87. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/types.py +0 -0
  88. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/ui/__init__.py +0 -0
  89. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/ui/completers.py +0 -0
  90. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/ui/console.py +0 -0
  91. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/ui/constants.py +0 -0
  92. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/ui/decorators.py +0 -0
  93. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/ui/lexers.py +0 -0
  94. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/ui/output.py +0 -0
  95. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/ui/prompt_manager.py +0 -0
  96. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/ui/recursive_progress.py +0 -0
  97. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/ui/tool_ui.py +0 -0
  98. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/ui/utils.py +0 -0
  99. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/ui/validators.py +0 -0
  100. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/utils/__init__.py +0 -0
  101. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/utils/bm25.py +0 -0
  102. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/utils/diff_utils.py +0 -0
  103. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/utils/file_utils.py +0 -0
  104. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/utils/import_cache.py +0 -0
  105. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/utils/message_utils.py +0 -0
  106. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/utils/retry.py +0 -0
  107. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/utils/ripgrep.py +0 -0
  108. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/utils/security.py +0 -0
  109. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/utils/system.py +0 -0
  110. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/utils/text_utils.py +0 -0
  111. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/utils/token_counter.py +0 -0
  112. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode/utils/user_configuration.py +0 -0
  113. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode_cli.egg-info/dependency_links.txt +0 -0
  114. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode_cli.egg-info/entry_points.txt +0 -0
  115. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/src/tunacode_cli.egg-info/top_level.txt +0 -0
  116. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/agent/__init__.py +0 -0
  117. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/agent/conftest.py +0 -0
  118. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/agent/test_agent_creation.py +0 -0
  119. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/agent/test_json_tool_parsing.py +0 -0
  120. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/agent/test_process_node.py +0 -0
  121. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/agent/test_process_request.py +0 -0
  122. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/agent/test_tool_message_patching.py +0 -0
  123. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/background/test_background_edge_cases.py +0 -0
  124. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/background/test_cleanup.py +0 -0
  125. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/background/test_task_cancellation.py +0 -0
  126. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/background/test_task_creation.py +0 -0
  127. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/background/test_task_execution.py +0 -0
  128. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/code_index/test_cache_management.py +0 -0
  129. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/code_index/test_file_scanning.py +0 -0
  130. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/code_index/test_index_building.py +0 -0
  131. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/code_index/test_search_operations.py +0 -0
  132. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/code_index/test_symbol_extraction.py +0 -0
  133. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/commands/__init__.py +0 -0
  134. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/commands/test_init_command.py +0 -0
  135. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/conftest.py +0 -0
  136. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/context/__init__.py +0 -0
  137. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/context/test_context_acceptance.py +0 -0
  138. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/context/test_context_integration.py +0 -0
  139. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/context/test_context_loading.py +0 -0
  140. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/context/test_tunacode_logging.py +0 -0
  141. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/repl/test_command_parsing.py +0 -0
  142. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/repl/test_error_handling.py +0 -0
  143. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/repl/test_input_handling.py +0 -0
  144. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/repl/test_keyboard_interrupts.py +0 -0
  145. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/repl/test_multiline_input.py +0 -0
  146. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/repl/test_output_display_logic.py +0 -0
  147. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/repl/test_session_flow.py +0 -0
  148. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/services/test_error_recovery.py +0 -0
  149. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/services/test_llm_routing.py +0 -0
  150. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/services/test_mcp_integration.py +0 -0
  151. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/services/test_service_lifecycle.py +0 -0
  152. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/state/test_agent_tracking.py +0 -0
  153. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/state/test_message_history.py +0 -0
  154. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/state/test_permissions.py +0 -0
  155. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/state/test_session_management.py +0 -0
  156. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/state/test_state_initialization.py +0 -0
  157. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/state/test_user_config.py +0 -0
  158. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/test_characterization_commands.py +0 -0
  159. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/ui/test_async_ui.py +0 -0
  160. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/ui/test_console_output.py +0 -0
  161. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/ui/test_diff_display.py +0 -0
  162. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/ui/test_prompt_rendering.py +0 -0
  163. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/ui/test_tool_confirmations.py +0 -0
  164. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/utils/conftest.py +0 -0
  165. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/utils/test_expand_file_refs.py +0 -0
  166. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/utils/test_file_operations.py +0 -0
  167. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/utils/test_git_commands.py +0 -0
  168. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/utils/test_token_counting.py +0 -0
  169. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/characterization/utils/test_utils_edge_cases.py +0 -0
  170. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/conftest.py +0 -0
  171. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/crud/test_core_file_operations.py +0 -0
  172. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/fixtures/__init__.py +0 -0
  173. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/fixtures/file_operations.py +0 -0
  174. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/integration/test_error_recovery_flow.py +0 -0
  175. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/integration/test_full_session_flow.py +0 -0
  176. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/integration/test_mcp_tool_flow.py +0 -0
  177. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/integration/test_multi_tool_operations.py +0 -0
  178. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/integration/test_performance_scenarios.py +0 -0
  179. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/integration/test_usage_tracking_integration.py +0 -0
  180. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_actual_parallelism.py +0 -0
  181. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_agent_initialization.py +0 -0
  182. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_agent_output_formatting.py +0 -0
  183. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_api_response_parser.py +0 -0
  184. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_background_manager.py +0 -0
  185. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_characterization_agent_main.py +0 -0
  186. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_characterization_bash.py +0 -0
  187. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_characterization_commands_system.py +0 -0
  188. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_characterization_glob.py +0 -0
  189. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_characterization_grep.py +0 -0
  190. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_characterization_grep_performance.py +0 -0
  191. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_characterization_iteration_limits.py +0 -0
  192. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_characterization_list_dir.py +0 -0
  193. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_characterization_read_file.py +0 -0
  194. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_characterization_repl_utils.py +0 -0
  195. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_characterization_run_command.py +0 -0
  196. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_characterization_setup_system.py +0 -0
  197. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_characterization_tool_ui_behavior.py +0 -0
  198. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_characterization_update_file.py +0 -0
  199. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_characterization_utilities.py +0 -0
  200. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_characterization_write_file.py +0 -0
  201. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_cli_command_flow.py +0 -0
  202. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_cli_file_operations_integration.py +0 -0
  203. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_config_directory_creation.py +0 -0
  204. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_config_setup_async.py +0 -0
  205. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_cost_calculator.py +0 -0
  206. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_enhanced_visual_feedback.py +0 -0
  207. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_fallback_responses.py +0 -0
  208. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_fast_glob_search.py +0 -0
  209. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_file_operations_edge_cases.py +0 -0
  210. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_file_operations_stress.py +0 -0
  211. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_file_reference_context_tracking.py +0 -0
  212. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_file_reference_expansion.py +0 -0
  213. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_grep_fast_glob.py +0 -0
  214. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_grep_legacy_compat.py +0 -0
  215. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_grep_timeout.py +0 -0
  216. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_json_retry.py +0 -0
  217. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_json_tool_parsing.py +0 -0
  218. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_list_dir.py +0 -0
  219. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_parallel_execution_demo.py +0 -0
  220. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_parallel_execution_freeze_fix.py +0 -0
  221. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_parallel_execution_integration.py +0 -0
  222. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_parallel_read_only_tools.py +0 -0
  223. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_parallel_tool_execution.py +0 -0
  224. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_prompt_changes_validation.py +0 -0
  225. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_read_only_confirmation.py +0 -0
  226. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_security.py +0 -0
  227. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_streaming_panel_tool_confirmation.py +0 -0
  228. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_streaming_spinner_conflict.py +0 -0
  229. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_todo_functionality.py +0 -0
  230. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_tool_batching_retry.py +0 -0
  231. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_tool_categorization.py +0 -0
  232. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_tool_combinations.py +0 -0
  233. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_tool_handler_ui_messages.py +0 -0
  234. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_update_command.py +0 -0
  235. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/test_visual_parallel_feedback.py +0 -0
  236. {tunacode_cli-0.0.44 → tunacode_cli-0.0.46}/tests/unit/test_recursive_executor.py +0 -0
@@ -1,11 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tunacode-cli
3
- Version: 0.0.44
3
+ Version: 0.0.46
4
4
  Summary: Your agentic CLI developer.
5
5
  Author-email: larock22 <noreply@github.com>
6
- License-Expression: MIT
7
- Project-URL: Homepage, https://github.com/larock22/tunacode
8
- Project-URL: Repository, https://github.com/larock22/tunacode
6
+ License: MIT
7
+ Project-URL: Homepage, https://tunacode.xyz/
8
+ Project-URL: Repository, https://github.com/alchemiststudiosDOTai/tunacode
9
+ Project-URL: Issues, https://github.com/alchemiststudiosDOTai/tunacode/issues
10
+ Project-URL: Documentation, https://github.com/alchemiststudiosDOTai/tunacode#readme
9
11
  Keywords: cli,agent,development,automation
10
12
  Classifier: Development Status :: 4 - Beta
11
13
  Classifier: Intended Audience :: Developers
@@ -16,7 +18,7 @@ Classifier: Programming Language :: Python :: 3.12
16
18
  Classifier: Programming Language :: Python :: 3.13
17
19
  Classifier: Topic :: Software Development
18
20
  Classifier: Topic :: Utilities
19
- Requires-Python: >=3.10
21
+ Requires-Python: <3.14,>=3.10
20
22
  Description-Content-Type: text/markdown
21
23
  License-File: LICENSE
22
24
  Requires-Dist: typer==0.15.3
@@ -25,8 +27,6 @@ Requires-Dist: pydantic-ai[logfire]==0.2.6
25
27
  Requires-Dist: pygments==2.19.1
26
28
  Requires-Dist: rich==14.0.0
27
29
  Requires-Dist: tiktoken>=0.5.2
28
- Requires-Dist: dspy-ai>=0.1.0
29
- Requires-Dist: python-dotenv>=1.0.0
30
30
  Provides-Extra: dev
31
31
  Requires-Dist: build; extra == "dev"
32
32
  Requires-Dist: ruff; extra == "dev"
@@ -48,7 +48,7 @@ Dynamic: license-file
48
48
 
49
49
  **AI-powered CLI coding assistant**
50
50
 
51
- ![Demo](docs/assets/demo.gif)
51
+ ![TunaCode Example](assets/tunacode_example.png)
52
52
 
53
53
  </div>
54
54
 
@@ -64,6 +64,29 @@ wget -qO- https://raw.githubusercontent.com/alchemiststudiosDOTai/tunacode/maste
64
64
  pip install tunacode-cli
65
65
  ```
66
66
 
67
+ ## Development Installation
68
+
69
+ For contributors and developers who want to work on TunaCode:
70
+
71
+ ```bash
72
+ # Clone the repository
73
+ git clone https://github.com/alchemiststudiosDOTai/tunacode.git
74
+ cd tunacode
75
+
76
+ # Quick setup (recommended)
77
+ ./scripts/setup_dev_env.sh
78
+
79
+ # Or manual setup
80
+ python3 -m venv venv
81
+ source venv/bin/activate # On Windows: venv\Scripts\activate
82
+ pip install -e ".[dev]"
83
+
84
+ # Verify installation
85
+ python -m tunacode --version
86
+ ```
87
+
88
+ See [Development Guide](docs/DEVELOPMENT.md) for detailed instructions.
89
+
67
90
  ## Configuration
68
91
 
69
92
  Choose your AI provider and set your API key:
@@ -141,6 +164,7 @@ _Note: While the tool is fully functional, we're focusing on stability and core
141
164
  - [**Advanced Configuration**](docs/ADVANCED-CONFIG.md) - Provider setup, MCP, customization
142
165
  - [**Architecture**](docs/ARCHITECTURE.md) - Source code organization and design
143
166
  - [**Development**](docs/DEVELOPMENT.md) - Contributing and development setup
167
+ - [**Troubleshooting**](docs/TROUBLESHOOTING.md) - Common issues and solutions
144
168
 
145
169
  ## Links
146
170
 
@@ -9,7 +9,7 @@
9
9
 
10
10
  **AI-powered CLI coding assistant**
11
11
 
12
- ![Demo](docs/assets/demo.gif)
12
+ ![TunaCode Example](assets/tunacode_example.png)
13
13
 
14
14
  </div>
15
15
 
@@ -25,6 +25,29 @@ wget -qO- https://raw.githubusercontent.com/alchemiststudiosDOTai/tunacode/maste
25
25
  pip install tunacode-cli
26
26
  ```
27
27
 
28
+ ## Development Installation
29
+
30
+ For contributors and developers who want to work on TunaCode:
31
+
32
+ ```bash
33
+ # Clone the repository
34
+ git clone https://github.com/alchemiststudiosDOTai/tunacode.git
35
+ cd tunacode
36
+
37
+ # Quick setup (recommended)
38
+ ./scripts/setup_dev_env.sh
39
+
40
+ # Or manual setup
41
+ python3 -m venv venv
42
+ source venv/bin/activate # On Windows: venv\Scripts\activate
43
+ pip install -e ".[dev]"
44
+
45
+ # Verify installation
46
+ python -m tunacode --version
47
+ ```
48
+
49
+ See [Development Guide](docs/DEVELOPMENT.md) for detailed instructions.
50
+
28
51
  ## Configuration
29
52
 
30
53
  Choose your AI provider and set your API key:
@@ -102,6 +125,7 @@ _Note: While the tool is fully functional, we're focusing on stability and core
102
125
  - [**Advanced Configuration**](docs/ADVANCED-CONFIG.md) - Provider setup, MCP, customization
103
126
  - [**Architecture**](docs/ARCHITECTURE.md) - Source code organization and design
104
127
  - [**Development**](docs/DEVELOPMENT.md) - Contributing and development setup
128
+ - [**Troubleshooting**](docs/TROUBLESHOOTING.md) - Common issues and solutions
105
129
 
106
130
  ## Links
107
131
 
@@ -4,12 +4,12 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "tunacode-cli"
7
- version = "0.0.44"
7
+ version = "0.0.46"
8
8
  description = "Your agentic CLI developer."
9
9
  keywords = ["cli", "agent", "development", "automation"]
10
10
  readme = "README.md"
11
- requires-python = ">=3.10"
12
- license = "MIT"
11
+ requires-python = ">=3.10,<3.14"
12
+ license = {text = "MIT"}
13
13
  authors = [
14
14
  { name = "larock22", email = "noreply@github.com" },
15
15
  ]
@@ -31,8 +31,6 @@ dependencies = [
31
31
  "pygments==2.19.1",
32
32
  "rich==14.0.0",
33
33
  "tiktoken>=0.5.2",
34
- "dspy-ai>=0.1.0",
35
- "python-dotenv>=1.0.0",
36
34
  ]
37
35
 
38
36
  [project.scripts]
@@ -50,8 +48,10 @@ dev = [
50
48
  ]
51
49
 
52
50
  [project.urls]
53
- Homepage = "https://github.com/larock22/tunacode"
54
- Repository = "https://github.com/larock22/tunacode"
51
+ Homepage = "https://tunacode.xyz/"
52
+ Repository = "https://github.com/alchemiststudiosDOTai/tunacode"
53
+ Issues = "https://github.com/alchemiststudiosDOTai/tunacode/issues"
54
+ Documentation = "https://github.com/alchemiststudiosDOTai/tunacode#readme"
55
55
 
56
56
  [tool.ruff]
57
57
  line-length = 100
@@ -344,7 +344,7 @@ async def process_request(text: str, state_manager: StateManager, output: bool =
344
344
  except CancelledError:
345
345
  await ui.muted(MSG_REQUEST_CANCELLED)
346
346
  except UserAbortError:
347
- await ui.muted(MSG_OPERATION_ABORTED)
347
+ await ui.muted(MSG_OPERATION_ABORTED_BY_USER)
348
348
  except UnexpectedModelBehavior as e:
349
349
  error_message = str(e)
350
350
  await ui.muted(error_message)
@@ -385,9 +385,13 @@ async def repl(state_manager: StateManager):
385
385
 
386
386
  state_manager.session.update_token_count()
387
387
  context_display = get_context_window_display(state_manager.session.total_tokens, max_tokens)
388
- await ui.muted(f"• Model: {model_name} • {context_display}")
389
- await ui.success("Ready to assist")
390
- await ui.line()
388
+
389
+ # Only show startup info if thoughts are enabled or on first run
390
+ if state_manager.session.show_thoughts or not hasattr(state_manager.session, "_startup_shown"):
391
+ await ui.muted(f"• Model: {model_name} • {context_display}")
392
+ await ui.success("Ready to assist")
393
+ await ui.line()
394
+ state_manager.session._startup_shown = True
391
395
 
392
396
  instance = agent.get_or_create_agent(state_manager.session.current_model, state_manager)
393
397
 
@@ -459,13 +463,16 @@ async def repl(state_manager: StateManager):
459
463
  state_manager.session.current_task = get_app().create_background_task(
460
464
  process_request(line, state_manager)
461
465
  )
462
- await state_manager.session.current_task
463
466
 
464
467
  state_manager.session.update_token_count()
465
468
  context_display = get_context_window_display(
466
469
  state_manager.session.total_tokens, state_manager.session.max_tokens
467
470
  )
468
- await ui.muted(f"• Model: {state_manager.session.current_model} {context_display}")
471
+ # Only show model/context info if thoughts are enabled
472
+ if state_manager.session.show_thoughts:
473
+ await ui.muted(
474
+ f"• Model: {state_manager.session.current_model} • {context_display}"
475
+ )
469
476
 
470
477
  if action == "restart":
471
478
  await repl(state_manager)
@@ -480,7 +487,7 @@ async def repl(state_manager: StateManager):
480
487
  total_cost = float(session_total.get("cost", 0) or 0)
481
488
 
482
489
  # Only show summary if we have actual token usage
483
- if total_tokens > 0 or total_cost > 0:
490
+ if state_manager.session.show_thoughts and (total_tokens > 0 or total_cost > 0):
484
491
  summary = (
485
492
  f"\n[bold cyan]TunaCode Session Summary[/bold cyan]\n"
486
493
  f" - Total Tokens: {total_tokens:,}\n"
@@ -24,7 +24,6 @@ DEFAULT_USER_CONFIG: UserConfig = {
24
24
  "fallback_response": True,
25
25
  "fallback_verbosity": "normal", # Options: minimal, normal, detailed
26
26
  "context_window_size": 200000,
27
- "use_dspy_optimization": True, # Enable DSPy tool selection optimization
28
27
  },
29
28
  "mcpServers": {},
30
29
  }
@@ -7,7 +7,7 @@ Centralizes all magic strings, UI text, error messages, and application constant
7
7
 
8
8
  # Application info
9
9
  APP_NAME = "TunaCode"
10
- APP_VERSION = "0.0.44"
10
+ APP_VERSION = "0.0.46"
11
11
 
12
12
  # File patterns
13
13
  GUIDE_FILE_PATTERN = "{name}.md"