tunacode-cli 0.0.69__tar.gz → 0.0.70__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 (442) hide show
  1. tunacode_cli-0.0.70/.claude/settings.local.json +122 -0
  2. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/CHANGELOG.md +26 -0
  3. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/PKG-INFO +1 -1
  4. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/pyproject.toml +2 -2
  5. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/constants.py +1 -1
  6. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/setup/config_setup.py +4 -0
  7. tunacode_cli-0.0.69/.claude/settings.local.json +0 -131
  8. tunacode_cli-0.0.69/SEARCH_ENHANCEMENT_PLAN.md +0 -287
  9. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/MEMORY_ANCHOR_SPEC.md +0 -0
  10. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/NEXT_PR_RULES.md +0 -0
  11. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/README.md +0 -0
  12. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/agents/bug-context-analyzer.md +0 -0
  13. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/agents/code-synthesis-analyzer.md +0 -0
  14. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/agents/documentation-synthesis-qa.md +0 -0
  15. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/agents/expert-debugger.md +0 -0
  16. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/agents/phased-task-processor.md +0 -0
  17. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/agents/prompt-engineer.md +0 -0
  18. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/agents/rapid-code-synthesis-qa.md +0 -0
  19. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/agents/tech-docs-maintainer.md +0 -0
  20. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/anchors.json +0 -0
  21. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/commands/deploy.md +0 -0
  22. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/commands/github-issue.md +0 -0
  23. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/commands/smells.md +0 -0
  24. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/commands/work.md +0 -0
  25. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/commands/workflow.md +0 -0
  26. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/delta/2025-01-05-baseline.yml +0 -0
  27. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/delta/fix-text-alignment-layout-task3.md +0 -0
  28. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/delta/task4_ui_formatting_fix.md +0 -0
  29. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/delta/v0.0.53_to_v0.0.54.diff +0 -0
  30. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/development/always-on-display-implementation.md +0 -0
  31. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/development/cli-json-recovery-incident.md +0 -0
  32. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/development/directory-caching-optimization.md +0 -0
  33. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/development/esc-investigation/ESC_KEY_INVESTIGATION.md +0 -0
  34. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/development/esc-investigation/ESC_KEY_STREAMING_ANALYSIS.md +0 -0
  35. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/development/hatch-commands.md +0 -0
  36. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/development/model-updates-2025.md +0 -0
  37. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/development/onboarding-improvements.md +0 -0
  38. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/development/phase5-prompt-injection-system.md +0 -0
  39. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/development/slash-commands.md +0 -0
  40. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/development/uv-hatch-setup.md +0 -0
  41. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/development/uv-installer-updates.md +0 -0
  42. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/metadata/components.yml +0 -0
  43. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/metadata/hotspots.txt +0 -0
  44. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/patterns/json_retry_implementation.md +0 -0
  45. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/qa/fix-agent-errors.yml +0 -0
  46. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/qa/fix-publish-script.yml +0 -0
  47. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/qa/fix-runtime-warnings.yml +0 -0
  48. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/README.md +0 -0
  49. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/active/task_json_retry_implementation_summary_2025-07-24_13-05-40.md +0 -0
  50. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/active/task_standardize_ui_formatting_patterns_2025-07-23_20-43-28.md +0 -0
  51. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/agents/default/spinner-enhancement-2025-08-07.md +0 -0
  52. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/agents/esc-investigation/scratchpad.md +0 -0
  53. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/agents/phase5-recovery/scratchpad.md +0 -0
  54. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/agents/tech-docs-maintainer/scratchpad.md +0 -0
  55. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/code-synthesis-analyzer_ESC_Double-Press_REPL_Abort_Analysis_2025-08-06_134859_scratchpad.md +0 -0
  56. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Add_Prompt_Injection_to_Remaining_Tools_-_Continuation_2025-08-13_152542_scratchpad.md +0 -0
  57. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Add_Prompt_Injection_to_Remaining_Tools_2025-08-13_152352_scratchpad.md +0 -0
  58. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_CLI_Agent_JSON_Recovery_Investigation_2025-08-12_124206_scratchpad.md +0 -0
  59. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_CLI_Agent_JSON_Recovery_Investigation_2025-08-12_124727_scratchpad.md +0 -0
  60. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Completely_remove_TUNACODE_TASK_COMPLETE_from_plan_mode_2025-08-09_091836_scratchpad.md +0 -0
  61. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Debug_ESC_key_still_not_working_in_approval_prompt_2025-08-09_033534_scratchpad.md +0 -0
  62. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Debug_persistent_KeyboardInterrupt_in_event_loop_2025-08-09_034136_scratchpad.md +0 -0
  63. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Debug_present_plan_tool_registration_and_model_capability_2025-08-09_092923_scratchpad.md +0 -0
  64. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Debug_stuck_double_escape_in_plan_approval_2025-08-09_033214_scratchpad.md +0 -0
  65. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Fix_Application.exit()_failed_error_in_ESC_keybinding_2025-08-09_075607_scratchpad.md +0 -0
  66. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Fix_ESC_double-tap_and_plan_display_issues_2025-08-09_090055_scratchpad.md +0 -0
  67. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Fix_ESC_exceptions_and_missing_present_plan_tool_2025-08-09_081700_scratchpad.md +0 -0
  68. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Fix_agent_not_calling_present_plan_tool_2025-08-09_090827_scratchpad.md +0 -0
  69. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Fix_double_escape_for_planning_mode_approval_prompt_2025-08-09_032759_scratchpad.md +0 -0
  70. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Fix_unhandled_KeyboardInterrupt_exception_in_event_loop_2025-08-09_033843_scratchpad.md +0 -0
  71. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Fix_wizard_UI_-_branch_safety_interference_2025-08-20_222738_scratchpad.md +0 -0
  72. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Fixed_Thinking_dots_animation_2025-08-11_121009_scratchpad.md +0 -0
  73. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Force_agent_to_actually_call_present_plan_tool_2025-08-09_091334_scratchpad.md +0 -0
  74. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_GitHub_Directory_Review_2025-08-11_122451_scratchpad.md +0 -0
  75. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Implementing_ESC_key_double-press_for_REPL_abort_2025-08-06_124754_scratchpad.md +0 -0
  76. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_JSON_Recovery_Implementation_2025-08-12_130251_scratchpad.md +0 -0
  77. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Makefile_to_Hatch_Migration_2025-08-07_192356_scratchpad.md +0 -0
  78. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Performance_Optimization_-_Agent_Initialization_2025-08-13_160447_scratchpad.md +0 -0
  79. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Phase_3_-_Glob_Tool_Optimization_2025-08-13_142601_scratchpad.md +0 -0
  80. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Replace_entire_system_prompt_with_tool-only_instructions_2025-08-09_112839_scratchpad.md +0 -0
  81. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_TunaCode_Search_Enhancement_Implementation_2025-08-13_140905_scratchpad.md +0 -0
  82. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Update_Documentation_for_JSON_Recovery_System_2025-08-12_131127_scratchpad.md +0 -0
  83. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Update_documentation_for_always-on_display_UX_improvements_2025-08-12_154818_scratchpad.md +0 -0
  84. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_slash_command_system_implementation_2025-08-14_034024_scratchpad.md +0 -0
  85. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/phase5-recovery_Phase_5_Recovery_Analysis_2025-08-13_145339_scratchpad.md +0 -0
  86. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/locks/code-synthesis-analyzer.lock +0 -0
  87. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/locks/default.lock +0 -0
  88. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/locks/esc-investigation.lock +0 -0
  89. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/locks/phase5-recovery.lock +0 -0
  90. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/locks/tech-docs-maintainer.lock +0 -0
  91. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/code-synthesis-analyzer_ESC_Double-Press_REPL_Abort_Analysis_2025-08-06_134859_scratchpad.md +0 -0
  92. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Add_Prompt_Injection_to_Remaining_Tools_-_Continuation_2025-08-13_152542_scratchpad.md +0 -0
  93. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Add_Prompt_Injection_to_Remaining_Tools_2025-08-13_152352_scratchpad.md +0 -0
  94. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_CLI_Agent_JSON_Recovery_Investigation_2025-08-12_124206_scratchpad.md +0 -0
  95. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_CLI_Agent_JSON_Recovery_Investigation_2025-08-12_124727_scratchpad.md +0 -0
  96. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Completely_remove_TUNACODE_TASK_COMPLETE_from_plan_mode_2025-08-09_091836_scratchpad.md +0 -0
  97. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Debug_ESC_key_still_not_working_in_approval_prompt_2025-08-09_033534_scratchpad.md +0 -0
  98. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Debug_persistent_KeyboardInterrupt_in_event_loop_2025-08-09_034136_scratchpad.md +0 -0
  99. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Debug_present_plan_tool_registration_and_model_capability_2025-08-09_092923_scratchpad.md +0 -0
  100. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Debug_stuck_double_escape_in_plan_approval_2025-08-09_033214_scratchpad.md +0 -0
  101. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Fix_Application.exit()_failed_error_in_ESC_keybinding_2025-08-09_075607_scratchpad.md +0 -0
  102. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Fix_ESC_double-tap_and_plan_display_issues_2025-08-09_090055_scratchpad.md +0 -0
  103. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Fix_ESC_exceptions_and_missing_present_plan_tool_2025-08-09_081700_scratchpad.md +0 -0
  104. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Fix_agent_not_calling_present_plan_tool_2025-08-09_090827_scratchpad.md +0 -0
  105. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Fix_double_escape_for_planning_mode_approval_prompt_2025-08-09_032759_scratchpad.md +0 -0
  106. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Fix_unhandled_KeyboardInterrupt_exception_in_event_loop_2025-08-09_033843_scratchpad.md +0 -0
  107. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Fix_wizard_UI_-_branch_safety_interference_2025-08-20_222738_scratchpad.md +0 -0
  108. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Fixed_Thinking_dots_animation_2025-08-11_121009_scratchpad.md +0 -0
  109. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Force_agent_to_actually_call_present_plan_tool_2025-08-09_091334_scratchpad.md +0 -0
  110. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_GitHub_Directory_Review_2025-08-11_122451_scratchpad.md +0 -0
  111. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Implementing_ESC_key_double-press_for_REPL_abort_2025-08-06_124754_scratchpad.md +0 -0
  112. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_JSON_Recovery_Implementation_2025-08-12_130251_scratchpad.md +0 -0
  113. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Makefile_to_Hatch_Migration_2025-08-07_192356_scratchpad.md +0 -0
  114. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Performance_Optimization_-_Agent_Initialization_2025-08-13_160447_scratchpad.md +0 -0
  115. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Phase_3_-_Glob_Tool_Optimization_2025-08-13_142601_scratchpad.md +0 -0
  116. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Replace_entire_system_prompt_with_tool-only_instructions_2025-08-09_112839_scratchpad.md +0 -0
  117. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_TunaCode_Search_Enhancement_Implementation_2025-08-13_140905_scratchpad.md +0 -0
  118. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Update_Documentation_for_JSON_Recovery_System_2025-08-12_131127_scratchpad.md +0 -0
  119. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Update_documentation_for_always-on_display_UX_improvements_2025-08-12_154818_scratchpad.md +0 -0
  120. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/phase5-recovery_Phase_5_Recovery_Analysis_2025-08-13_145339_scratchpad.md +0 -0
  121. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/tech-docs-maintainer.md +0 -0
  122. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/test_suite_issues_resolved.md +0 -0
  123. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.env.example +0 -0
  124. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.github/pull_request_template.md +0 -0
  125. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.github/scripts/check_file_size.py +0 -0
  126. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.github/workflows/lint.yml +0 -0
  127. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.gitignore +0 -0
  128. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.pre-commit-config.yaml +0 -0
  129. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.taskmaster/CLAUDE.md +0 -0
  130. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.taskmaster/config.json +0 -0
  131. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.taskmaster/docs/prd.txt +0 -0
  132. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.taskmaster/state.json +0 -0
  133. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.taskmaster/tasks/task_001.txt +0 -0
  134. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.taskmaster/tasks/task_002.txt +0 -0
  135. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.taskmaster/tasks/task_003.txt +0 -0
  136. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.taskmaster/tasks/task_004.txt +0 -0
  137. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.taskmaster/tasks/task_005.txt +0 -0
  138. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.taskmaster/tasks/task_006.txt +0 -0
  139. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.taskmaster/tasks/tasks.json +0 -0
  140. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.taskmaster/templates/example_prd.txt +0 -0
  141. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/CLAUDE.md +0 -0
  142. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/LICENSE +0 -0
  143. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/MANIFEST.in +0 -0
  144. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/README.md +0 -0
  145. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/TUNACODE.md +0 -0
  146. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/assets/tunacode_example.png +0 -0
  147. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/README.md +0 -0
  148. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/agent/TOOLS_WORKFLOW.md +0 -0
  149. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/agent/agent-inspo.md +0 -0
  150. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/agent/how-tunacode-agent-works.md +0 -0
  151. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/agent/main-agent-architecture.md +0 -0
  152. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/agent/swepmini-example.md +0 -0
  153. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/configuration/config-file-example.md +0 -0
  154. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/configuration/logging-configuration.md +0 -0
  155. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/development/codebase-hygiene.md +0 -0
  156. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/development/command-system-architecture.md +0 -0
  157. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/development/creating-custom-commands.md +0 -0
  158. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/development/hatch-build-system.md +0 -0
  159. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/development/performance-optimizations.md +0 -0
  160. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/development/prompt-principles.md +0 -0
  161. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/ui/ui-architecture.md +0 -0
  162. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/user/commands.md +0 -0
  163. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/user/getting-started.md +0 -0
  164. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/user/tools.md +0 -0
  165. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/example.md +0 -0
  166. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/activeContext.md +0 -0
  167. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/locks/claude.lock +0 -0
  168. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/locks/default.lock +0 -0
  169. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/locks/main.lock +0 -0
  170. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/locks/task-15.lock +0 -0
  171. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/locks/task17.lock +0 -0
  172. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/locks/tunacode.lock +0 -0
  173. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/locks/workflow.lock +0 -0
  174. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/memory-bank.md +0 -0
  175. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/productContext.md +0 -0
  176. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/progress.md +0 -0
  177. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/projectbrief.md +0 -0
  178. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/shared/done_tasks/claude_Task_18:_Create_comprehensive_test_suite_for_multi-turn_retry_bug_fix_2025-07-29_153844_scratchpad.md +0 -0
  179. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/shared/done_tasks/default_Task_11:_Create_template_directory_structure_for_TunaCode_2025-08-02_132101_scratchpad.md +0 -0
  180. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/shared/done_tasks/default_Task_11:_Update_setup_dev_env.sh_script_-_COMPLETED_2025-07-29_111547_scratchpad.md +0 -0
  181. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/shared/done_tasks/default_Task_12:_Create_Template_dataclass_and_TemplateLoader_class_2025-08-02_132215_scratchpad.md +0 -0
  182. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/shared/done_tasks/default_Task_12:_pyproject.toml_updates_2025-07-29_112303_scratchpad.md +0 -0
  183. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/shared/done_tasks/default_Task_13:_Add_active_template_property_to_ToolHandler_2025-08-02_132326_scratchpad.md +0 -0
  184. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/shared/done_tasks/default_Task_14:_Create_TemplateCommand_class_with_subcommands_2025-08-02_132621_scratchpad.md +0 -0
  185. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/shared/done_tasks/default_Task_15:_Create_example_JSON_templates_2025-08-02_132813_scratchpad.md +0 -0
  186. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/shared/done_tasks/default_Tasks_11-13:_Setup_robustness_and_documentation_2025-07-29_113044_scratchpad.md +0 -0
  187. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/shared/done_tasks/main_Task_16:_Error_synthesis_system_implementation_complete_2025-07-29_150745_scratchpad.md +0 -0
  188. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/shared/done_tasks/task-15_Task_15:_Implement_retry_limit_mechanism_2025-07-29_145737_scratchpad.md +0 -0
  189. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/shared/done_tasks/task17_Task_17:_Fix_message_history_cleanup_in_patch_tool_messages()_2025-07-29_152006_scratchpad.md +0 -0
  190. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/shared/done_tasks/tunacode_Task_14_Completed:_Defensive_Type_Checking_in__attempt_tool_recovery()_2025-07-29_144542_scratchpad.md +0 -0
  191. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/shared/done_tasks/workflow_Task_6:_Implement_Multi-Turn_Recursive_Loop_for_Complex_Task_Decomposition_2025-07-23_213518_scratchpad.md +0 -0
  192. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/systemPatterns.md +0 -0
  193. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/techContext.md +0 -0
  194. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/pytest.ini +0 -0
  195. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/scripts/check-file-length.sh +0 -0
  196. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/scripts/download_ripgrep.py +0 -0
  197. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/scripts/install_linux.sh +0 -0
  198. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/scripts/playwright_cache.py +0 -0
  199. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/scripts/publish_to_pip.sh +0 -0
  200. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/scripts/setup_dev_env.sh +0 -0
  201. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/scripts/startup_timer.py +0 -0
  202. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/scripts/uninstall.sh +0 -0
  203. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/scripts/utils/vulture_whitelist.py +0 -0
  204. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/scripts/verify_dev_env.sh +0 -0
  205. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/setup.py +0 -0
  206. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/README.md +0 -0
  207. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/__init__.py +0 -0
  208. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/__init__.py +0 -0
  209. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/__init__.py +0 -0
  210. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/__init__.py +0 -0
  211. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/base.py +0 -0
  212. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/implementations/__init__.py +0 -0
  213. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/implementations/command_reload.py +0 -0
  214. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/implementations/conversation.py +0 -0
  215. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/implementations/debug.py +0 -0
  216. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/implementations/development.py +0 -0
  217. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/implementations/model.py +0 -0
  218. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/implementations/plan.py +0 -0
  219. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/implementations/quickstart.py +0 -0
  220. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/implementations/system.py +0 -0
  221. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/implementations/template.py +0 -0
  222. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/implementations/todo.py +0 -0
  223. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/registry.py +0 -0
  224. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/slash/__init__.py +0 -0
  225. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/slash/command.py +0 -0
  226. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/slash/loader.py +0 -0
  227. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/slash/processor.py +0 -0
  228. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/slash/types.py +0 -0
  229. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/slash/validator.py +0 -0
  230. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/template_shortcut.py +0 -0
  231. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/main.py +0 -0
  232. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/repl.py +0 -0
  233. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/repl_components/__init__.py +0 -0
  234. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/repl_components/command_parser.py +0 -0
  235. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/repl_components/error_recovery.py +0 -0
  236. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/repl_components/output_display.py +0 -0
  237. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/repl_components/tool_executor.py +0 -0
  238. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/configuration/__init__.py +0 -0
  239. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/configuration/defaults.py +0 -0
  240. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/configuration/models.py +0 -0
  241. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/configuration/settings.py +0 -0
  242. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/context.py +0 -0
  243. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/__init__.py +0 -0
  244. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/agents/__init__.py +0 -0
  245. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/agents/agent_components/__init__.py +0 -0
  246. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/agents/agent_components/agent_config.py +0 -0
  247. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/agents/agent_components/agent_helpers.py +0 -0
  248. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/agents/agent_components/json_tool_parser.py +0 -0
  249. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/agents/agent_components/message_handler.py +0 -0
  250. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/agents/agent_components/node_processor.py +0 -0
  251. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/agents/agent_components/response_state.py +0 -0
  252. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/agents/agent_components/result_wrapper.py +0 -0
  253. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/agents/agent_components/task_completion.py +0 -0
  254. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/agents/agent_components/tool_buffer.py +0 -0
  255. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/agents/agent_components/tool_executor.py +0 -0
  256. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/agents/agent_components/truncation_checker.py +0 -0
  257. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/agents/main.py +0 -0
  258. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/agents/utils.py +0 -0
  259. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/background/__init__.py +0 -0
  260. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/background/manager.py +0 -0
  261. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/code_index.py +0 -0
  262. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/llm/__init__.py +0 -0
  263. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/logging/__init__.py +0 -0
  264. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/logging/config.py +0 -0
  265. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/logging/formatters.py +0 -0
  266. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/logging/handlers.py +0 -0
  267. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/logging/logger.py +0 -0
  268. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/setup/__init__.py +0 -0
  269. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/setup/agent_setup.py +0 -0
  270. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/setup/base.py +0 -0
  271. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/setup/coordinator.py +0 -0
  272. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/setup/environment_setup.py +0 -0
  273. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/setup/git_safety_setup.py +0 -0
  274. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/setup/template_setup.py +0 -0
  275. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/state.py +0 -0
  276. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/token_usage/api_response_parser.py +0 -0
  277. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/token_usage/cost_calculator.py +0 -0
  278. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/token_usage/usage_tracker.py +0 -0
  279. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/tool_handler.py +0 -0
  280. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/exceptions.py +0 -0
  281. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/prompts/system.md +0 -0
  282. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/prompts/system.md.bak +0 -0
  283. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/py.typed +0 -0
  284. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/services/__init__.py +0 -0
  285. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/services/mcp.py +0 -0
  286. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/setup.py +0 -0
  287. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/templates/__init__.py +0 -0
  288. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/templates/loader.py +0 -0
  289. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/__init__.py +0 -0
  290. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/base.py +0 -0
  291. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/bash.py +0 -0
  292. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/exit_plan_mode.py +0 -0
  293. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/glob.py +0 -0
  294. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/grep.py +0 -0
  295. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/grep_components/__init__.py +0 -0
  296. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/grep_components/file_filter.py +0 -0
  297. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/grep_components/pattern_matcher.py +0 -0
  298. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/grep_components/result_formatter.py +0 -0
  299. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/grep_components/search_result.py +0 -0
  300. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/list_dir.py +0 -0
  301. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/present_plan.py +0 -0
  302. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/prompts/bash_prompt.xml +0 -0
  303. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/prompts/exit_plan_mode_prompt.xml +0 -0
  304. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/prompts/glob_prompt.xml +0 -0
  305. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/prompts/grep_prompt.xml +0 -0
  306. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/prompts/list_dir_prompt.xml +0 -0
  307. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/prompts/present_plan_prompt.xml +0 -0
  308. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/prompts/read_file_prompt.xml +0 -0
  309. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/prompts/run_command_prompt.xml +0 -0
  310. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/prompts/todo_prompt.xml +0 -0
  311. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/prompts/update_file_prompt.xml +0 -0
  312. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/prompts/write_file_prompt.xml +0 -0
  313. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/read_file.py +0 -0
  314. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/run_command.py +0 -0
  315. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/schema_assembler.py +0 -0
  316. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/todo.py +0 -0
  317. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/update_file.py +0 -0
  318. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/write_file.py +0 -0
  319. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/xml_helper.py +0 -0
  320. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tutorial/__init__.py +0 -0
  321. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tutorial/content.py +0 -0
  322. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tutorial/manager.py +0 -0
  323. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tutorial/steps.py +0 -0
  324. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/types.py +0 -0
  325. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/ui/__init__.py +0 -0
  326. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/ui/completers.py +0 -0
  327. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/ui/console.py +0 -0
  328. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/ui/constants.py +0 -0
  329. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/ui/decorators.py +0 -0
  330. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/ui/input.py +0 -0
  331. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/ui/keybindings.py +0 -0
  332. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/ui/lexers.py +0 -0
  333. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/ui/logging_compat.py +0 -0
  334. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/ui/output.py +0 -0
  335. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/ui/panels.py +0 -0
  336. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/ui/prompt_manager.py +0 -0
  337. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/ui/tool_descriptions.py +0 -0
  338. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/ui/tool_ui.py +0 -0
  339. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/ui/utils.py +0 -0
  340. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/ui/validators.py +0 -0
  341. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/utils/__init__.py +0 -0
  342. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/utils/bm25.py +0 -0
  343. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/utils/diff_utils.py +0 -0
  344. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/utils/file_utils.py +0 -0
  345. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/utils/import_cache.py +0 -0
  346. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/utils/json_utils.py +0 -0
  347. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/utils/message_utils.py +0 -0
  348. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/utils/retry.py +0 -0
  349. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/utils/ripgrep.py +0 -0
  350. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/utils/security.py +0 -0
  351. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/utils/system.py +0 -0
  352. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/utils/text_utils.py +0 -0
  353. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/utils/token_counter.py +0 -0
  354. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/utils/user_configuration.py +0 -0
  355. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/CHARACTERIZATION_README.md +0 -0
  356. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/CHARACTERIZATION_TEST_PLAN.md +0 -0
  357. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/CHARACTERIZATION_TEST_PLAN_AGENT_MAIN.md +0 -0
  358. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/CHARACTERIZATION_TEST_PLAN_COMMANDS.md +0 -0
  359. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/FILE_OPERATIONS_TEST_GUIDE.md +0 -0
  360. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/__init__.py +0 -0
  361. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/agent/__init__.py +0 -0
  362. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/agent/conftest.py +0 -0
  363. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/agent/test_agent_creation.py +0 -0
  364. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/agent/test_json_tool_parsing.py +0 -0
  365. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/agent/test_process_node.py +0 -0
  366. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/agent/test_process_request.py +0 -0
  367. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/agent/test_tool_message_patching.py +0 -0
  368. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/background/test_background_edge_cases.py +0 -0
  369. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/background/test_cleanup.py +0 -0
  370. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/background/test_task_cancellation.py +0 -0
  371. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/background/test_task_creation.py +0 -0
  372. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/background/test_task_execution.py +0 -0
  373. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/code_index/test_cache_management.py +0 -0
  374. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/code_index/test_file_scanning.py +0 -0
  375. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/code_index/test_index_building.py +0 -0
  376. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/code_index/test_search_operations.py +0 -0
  377. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/code_index/test_symbol_extraction.py +0 -0
  378. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/commands/__init__.py +0 -0
  379. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/commands/test_init_command.py +0 -0
  380. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/conftest.py +0 -0
  381. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/context/README.md +0 -0
  382. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/context/__init__.py +0 -0
  383. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/context/test_context_acceptance.py +0 -0
  384. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/context/test_context_integration.py +0 -0
  385. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/context/test_context_loading.py +0 -0
  386. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/context/test_tunacode_logging.py +0 -0
  387. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/repl/test_command_parsing.py +0 -0
  388. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/repl/test_error_handling.py +0 -0
  389. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/repl/test_escape_key_behavior.py +0 -0
  390. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/repl/test_input_handling.py +0 -0
  391. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/repl/test_keyboard_interrupts.py +0 -0
  392. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/repl/test_multiline_input.py +0 -0
  393. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/repl/test_output_display_logic.py +0 -0
  394. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/repl/test_repl_initialization.py +0 -0
  395. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/repl/test_session_flow.py +0 -0
  396. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/services/test_error_recovery.py +0 -0
  397. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/services/test_llm_routing.py +0 -0
  398. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/services/test_mcp_integration.py +0 -0
  399. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/services/test_service_lifecycle.py +0 -0
  400. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/state/test_agent_tracking.py +0 -0
  401. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/state/test_message_history.py +0 -0
  402. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/state/test_permissions.py +0 -0
  403. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/state/test_session_management.py +0 -0
  404. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/state/test_state_initialization.py +0 -0
  405. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/state/test_user_config.py +0 -0
  406. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/test_characterization_commands.py +0 -0
  407. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/test_characterization_grep.py +0 -0
  408. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/test_characterization_main.py +0 -0
  409. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/test_characterization_repl.py +0 -0
  410. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/ui/test_async_ui.py +0 -0
  411. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/ui/test_console_output.py +0 -0
  412. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/ui/test_diff_display.py +0 -0
  413. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/ui/test_prompt_rendering.py +0 -0
  414. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/ui/test_spinner_messages.py +0 -0
  415. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/ui/test_tool_confirmations.py +0 -0
  416. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/utils/test_expand_file_refs.py +0 -0
  417. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/utils/test_file_operations.py +0 -0
  418. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/utils/test_git_commands.py +0 -0
  419. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/utils/test_token_counting.py +0 -0
  420. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/utils/test_utils_edge_cases.py +0 -0
  421. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/conftest.py +0 -0
  422. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_agent_output_formatting.py +0 -0
  423. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_command_parser_retry.py +0 -0
  424. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_completion_detection.py +0 -0
  425. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_glob_phase3.py +0 -0
  426. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_json_concatenation_recovery.py +0 -0
  427. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_json_retry.py +0 -0
  428. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_logging_config.py +0 -0
  429. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_onboarding_features.py +0 -0
  430. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_phase2_type_hints.py +0 -0
  431. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_plan_mode.py +0 -0
  432. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_prompt_changes_validation.py +0 -0
  433. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_prompt_injection.py +0 -0
  434. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_security.py +0 -0
  435. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_slash_commands_comprehensive.py +0 -0
  436. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_slash_commands_functional.py +0 -0
  437. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_slash_commands_integration.py +0 -0
  438. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_slash_commands_isolated.py +0 -0
  439. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_spinner_updates.py +0 -0
  440. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_tool_batching_retry.py +0 -0
  441. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/unit/test_constants_enums.py +0 -0
  442. {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tools/emoji_cleaner.py +0 -0
@@ -0,0 +1,122 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(grep:*)",
5
+ "Bash(python test:*)",
6
+ "Bash(python3:*)",
7
+ "Bash(mv:*)",
8
+ "Bash(source:*)",
9
+ "Bash(pip install:*)",
10
+ "Bash(tunacode:*)",
11
+ "Bash(make lint)",
12
+ "Bash(flake8)",
13
+ "Bash(flake8:*)",
14
+ "Bash(git add:*)",
15
+ "Bash(git commit:*)",
16
+ "Bash(cat:*)",
17
+ "Bash(gh label create:*)",
18
+ "Bash(find:*)",
19
+ "Bash(rg:*)",
20
+ "Bash(gh issue create:*)",
21
+ "Bash(python -m pytest tests/test_escape_mechanism.py -v)",
22
+ "Bash(python -m pytest tests/test_escape_mechanism.py::test_state_manager_has_interrupt_flag -v)",
23
+ "Bash(true)",
24
+ "Bash(ls:*)",
25
+ "Bash(python:*)",
26
+ "Bash(gh api:*)",
27
+ "Bash(bash:*)",
28
+ "Bash(git reset:*)",
29
+ "Bash(./scripts/publish_to_pip.sh:*)",
30
+ "Bash(gh pr view:*)",
31
+ "Bash(gh pr checkout:*)",
32
+ "Bash(pytest:*)",
33
+ "Bash(rm:*)",
34
+ "Bash(make test:*)",
35
+ "Bash(mkdir:*)",
36
+ "Bash(./.test_venv/bin/pip install:*)",
37
+ "Bash(time:*)",
38
+ "Bash(git checkout:*)",
39
+ "Bash(git for-each-ref:*)",
40
+ "Bash(git pull:*)",
41
+ "Bash(git rebase:*)",
42
+ "Bash(venv/bin/pytest tests/test_agent_initialization.py -v)",
43
+ "Bash(venv/bin/pip install -e \".[dev]\")",
44
+ "Bash(venv/bin/flake8:*)",
45
+ "Bash(sed:*)",
46
+ "Bash(git tag:*)",
47
+ "Bash(git push:*)",
48
+ "Bash(venv/bin/python:*)",
49
+ "Bash(git fetch:*)",
50
+ "Bash(git stash:*)",
51
+ "WebFetch(domain:github.com)",
52
+ "Bash(gh issue view:*)",
53
+ "Bash(PYTHONPATH=/home/tuna/tunacode/src python3 test_request_analyzer.py)",
54
+ "Bash(chmod:*)",
55
+ "Bash(./test_architect_simple.sh:*)",
56
+ "Bash(kill:*)",
57
+ "Bash(awk:*)",
58
+ "Bash(./agent-tools/wakeup.sh:*)",
59
+ "Bash(./agent-tools/scratchpad.sh:*)",
60
+ "Bash(./agent-tools/check_workflow.sh:*)",
61
+ "Bash(black:*)",
62
+ "Bash(isort:*)",
63
+ "WebFetch(domain:api.pepy.tech)",
64
+ "WebFetch(domain:pypi.org)",
65
+ "Bash(./llm-tooling/wakeup.sh:*)",
66
+ "Bash(tree:*)",
67
+ "Bash(./context.sh)",
68
+ "Bash(./context.sh:*)",
69
+ "Bash(./scratchpad-multi.sh:*)",
70
+ "Bash(gh issue comment:*)",
71
+ "Bash(gh pr list:*)",
72
+ "Bash(gh auth:*)",
73
+ "Bash(pre-commit:*)",
74
+ "Bash(ruff format:*)",
75
+ "Bash(ruff check:*)",
76
+ "mcp__task-master__get_task",
77
+ "Bash(./scratchpad.sh:*)",
78
+ "mcp__task-master__get_tasks",
79
+ "mcp__task-master__set_task_status",
80
+ "mcp__task-master__update_task",
81
+ "Bash(git remote set-url:*)",
82
+ "mcp__task-master__next_task",
83
+ "Bash(gh issue list:*)",
84
+ "Bash(gh issue close:*)",
85
+ "mcp__task-master__add_task",
86
+ "mcp__task-master__expand_task",
87
+ "mcp__task-master__update_subtask",
88
+ "Bash(./llm-agent-tools/scratchpad-multi.sh:*)",
89
+ "Bash(test:*)",
90
+ "Bash(gh pr create:*)",
91
+ "Bash(gh pr merge:*)",
92
+ "WebFetch(domain:docs.anthropic.com)",
93
+ "Bash(gh:*)",
94
+ "Bash(radon cc:*)",
95
+ "Bash(pip uninstall:*)",
96
+ "Bash(git log:*)",
97
+ "Bash(venv/bin/pytest -q tests/characterization tests/test_security.py tests/test_agent_output_formatting.py tests/test_prompt_changes_validation.py)",
98
+ "Bash(hatch run test:*)",
99
+ "Bash(git merge:*)",
100
+ "Bash(git branch:*)",
101
+ "Bash(hatch run lint:*)",
102
+ "Bash(venv/bin/ruff check:*)",
103
+ "Bash(git worktree:*)",
104
+ "Bash(hatch env:*)",
105
+ "Bash(venv/bin/hatch run test)",
106
+ "Bash(uv sync:*)",
107
+ "Bash(uv tool install:*)",
108
+ "Bash(uv tool:*)",
109
+ "Bash(command -v:*)",
110
+ "Bash(/dev/null)",
111
+ "Bash(shellcheck:*)",
112
+ "Bash(hatch run python:*)",
113
+ "Bash(hatch run tunacode:*)",
114
+ "Read(//home/tuna/.claude/**)",
115
+ "Read(//home/tuna/.claude/**)",
116
+ "Read(//home/tuna/.config/**)"
117
+ ],
118
+ "deny": [],
119
+ "defaultMode": "acceptEdits"
120
+ },
121
+ "enableAllProjectMcpServers": false
122
+ }
@@ -5,6 +5,32 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.0.69] - 2025-08-21
9
+
10
+ ### Summary
11
+ This release includes comprehensive command system documentation, updated model configurations, and builds upon recent community contributions including the slash command system by @Lftobs (#85) and onboarding improvements by @ryumacodes (#88).
12
+
13
+ ### Changed
14
+ - Updated OpenRouter GPT model reference from `gpt-4o` to `gpt-4.1` in setup configuration
15
+
16
+ ### Added
17
+ - Additional development documentation in `.claude/` directory
18
+ - Model updates documentation
19
+ - Slash commands documentation
20
+ - Onboarding improvements documentation
21
+
22
+ ## [0.0.68] - 2025-08-21
23
+
24
+ ### Added
25
+ - **Comprehensive Command System Documentation**
26
+ - Created `command-system-architecture.md` with technical overview of command infrastructure
27
+ - Created `creating-custom-commands.md` with step-by-step guide for developers
28
+ - Updated user documentation with slash command information
29
+ - Added `/command-reload` command documentation
30
+
31
+ ### Fixed
32
+ - Removed broken link to non-existent `templates.md` file in documentation
33
+
8
34
  ## [Unreleased] - 2025-08-20
9
35
 
10
36
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tunacode-cli
3
- Version: 0.0.69
3
+ Version: 0.0.70
4
4
  Summary: Your agentic CLI developer.
5
5
  Project-URL: Homepage, https://tunacode.xyz/
6
6
  Project-URL: Repository, https://github.com/alchemiststudiosDOTai/tunacode
@@ -5,7 +5,7 @@ build-backend = "hatchling.build"
5
5
  [project]
6
6
  name = "tunacode-cli"
7
7
 
8
- version = "0.0.69"
8
+ version = "0.0.70"
9
9
  description = "Your agentic CLI developer."
10
10
  keywords = ["cli", "agent", "development", "automation"]
11
11
  readme = "README.md"
@@ -170,7 +170,7 @@ typecheck = "mypy src/"
170
170
  security = "bandit -r src/ -ll"
171
171
 
172
172
  # Version management
173
- version = "0.0.69"
173
+ version = "0.0.70"
174
174
 
175
175
  # Release workflow
176
176
  release = [
@@ -9,7 +9,7 @@ from enum import Enum
9
9
 
10
10
  # Application info
11
11
  APP_NAME = "TunaCode"
12
- APP_VERSION = "0.0.69"
12
+ APP_VERSION = "0.0.70"
13
13
 
14
14
 
15
15
  # File patterns
@@ -44,6 +44,10 @@ class ConfigSetup(BaseSetup):
44
44
  self.state_manager.session.device_id = system.get_device_id()
45
45
  loaded_config = user_configuration.load_config()
46
46
 
47
+ # Set the loaded config to session BEFORE initializing first-time user
48
+ if loaded_config:
49
+ self.state_manager.session.user_config = loaded_config
50
+
47
51
  # Initialize first-time user settings if needed
48
52
  user_configuration.initialize_first_time_user(self.state_manager)
49
53
 
@@ -1,131 +0,0 @@
1
- {
2
- "permissions": {
3
- "allow": [
4
- "Bash(git add:*)",
5
- "Bash(git commit:*)",
6
- "Bash(find:*)",
7
- "Bash(grep:*)",
8
- "Bash(cat:*)",
9
- "Bash(source:*)",
10
- "Bash(pip show:*)",
11
- "Bash(python:*)",
12
- "Bash(pip install:*)",
13
- "Bash(tunacode:*)",
14
- "Bash(rg:*)",
15
- "Bash(rm:*)",
16
- "Bash(git fetch:*)",
17
- "Bash(pipx list:*)",
18
- "Bash(pipx uninstall:*)",
19
- "Bash(ls:*)",
20
- "Bash(make:*)",
21
- "Bash(gh issue close:*)",
22
- "Bash(true)",
23
- "Bash(gh issue create:*)",
24
- "Bash(venv/bin/python:*)",
25
- "Bash(gh pr view:*)",
26
- "Bash(git merge:*)",
27
- "WebFetch(domain:github.com)",
28
- "WebFetch(domain:ai.pydantic.dev)",
29
- "WebFetch(domain:til.simonwillison.net)",
30
- "Bash(./scripts/publish_to_pip.sh:*)",
31
- "Bash(pytest:*)",
32
- "Bash(git push:*)",
33
- "Bash(git checkout:*)",
34
- "Bash(git tag:*)",
35
- "Bash(git pull:*)",
36
- "Bash(git rebase:*)",
37
- "Bash(bash:*)",
38
- "Bash(chmod:*)",
39
- "Bash(gh pr list:*)",
40
- "Bash(gh api:*)",
41
- "Bash(gh issue:*)",
42
- "Bash(/dev/null)",
43
- "Bash(PYTHONPATH=/root/tunacode/src python -c \"import sys; print(sys.path)\")",
44
- "Bash(PYTHONPATH=/root/tunacode/src python -m pytest tests/test_list_dir.py::test_list_empty_directory -v)",
45
- "Bash(PYTHONPATH=/root/tunacode/src python -m pytest tests/characterization/repl/test_command_parsing.py -v)",
46
- "Bash(./agent-tools/scratchpad.sh:*)",
47
- "Bash(./agent-tools/wakeup.sh:*)",
48
- "Bash(awk:*)",
49
- "Bash(sed:*)",
50
- "Bash(./agent-tools/check_workflow.sh:*)",
51
- "Bash(venv/bin/pytest tests/test_parallel_tool_execution.py -xvs)",
52
- "Bash(venv/bin/pytest tests/test_parallel_read_only_tools.py -xvs)",
53
- "Bash(venv/bin/pytest tests/test_parallel_read_only_tools.py::test_read_only_tools_execute_in_parallel -xvs)",
54
- "Bash(black:*)",
55
- "Bash(./wakeup.sh:*)",
56
- "Bash(./scratchpad.sh:*)",
57
- "Bash(mkdir:*)",
58
- "Bash(./llm-agent-tools/context.sh:*)",
59
- "Bash(./llm-agent-tools/scratchpad-multi.sh:*)",
60
- "Bash(repolinter lint:*)",
61
- "Bash(./llm-agent-tools/knowledge.sh:*)",
62
- "Bash(./llm-agent-tools/codemap.sh:*)",
63
- "Bash(./llm-agent-tools/researcher.sh:*)",
64
- "Bash(flake8:*)",
65
- "Bash(isort:*)",
66
- "Bash(gh pr checkout:*)",
67
- "Bash(gh pr diff:*)",
68
- "Bash(gh pr merge:*)",
69
- "Bash(git branch:*)",
70
- "Bash(gh pr close:*)",
71
- "Bash(git remote:*)",
72
- "Bash(venv/bin/black:*)",
73
- "Bash(venv/bin/isort:*)",
74
- "Bash(git restore:*)",
75
- "Bash(ruff check:*)",
76
- "Bash(./scratchpad-multi.sh:*)",
77
- "Bash(ruff format:*)",
78
- "Bash(venv/bin/ruff check:*)",
79
- "Bash(./scripts/fix_simple_errors.sh:*)",
80
- "Bash(venv/bin/ruff:*)",
81
- "Bash(venv/bin/pytest --version)",
82
- "Bash(git reset:*)",
83
- "Bash(git gc:*)",
84
- "Bash(git clean:*)",
85
- "Bash(./codemap.sh)",
86
- "Bash(./codemap.sh:*)",
87
- "Bash(../llm-agent-tools/codemap.sh:*)",
88
- "Bash(gh pr create:*)",
89
- "Bash(cp:*)",
90
- "Bash(gh pr comment:*)",
91
- "Bash(pip3 list:*)",
92
- "Bash(gh pr checks:*)",
93
- "Bash(git cherry-pick:*)",
94
- "Bash(gh pr push:*)",
95
- "Bash(mv:*)",
96
- "Bash(./run_recursive_branch.sh:*)",
97
- "mcp__task-master__add_task",
98
- "mcp__task-master__set_task_status",
99
- "mcp__task-master__update_task",
100
- "mcp__task-master__get_task",
101
- "Bash(pre-commit:*)",
102
- "Bash(pre-commit run:*)",
103
- "Bash(vulture:*)",
104
- "Bash(git stash:*)",
105
- "Bash(venv/bin/unimport:*)",
106
- "Bash(time venv/bin/unimport:*)",
107
- "Bash(timeout:*)",
108
- "Bash(/root/tunacode/llm-agent-tools/scratchpad-multi.sh:*)",
109
- "Bash(PYTHONPATH=/root/tunacode/src venv/bin/python test_spinner_demo.py)",
110
- "Bash(hatch run test:*)",
111
- "Bash(/tmp/test_detection.sh:*)",
112
- "Bash(/root/tunacode/scripts/uninstall.sh:*)",
113
- "Bash(~/.local/bin/tunacode:*)",
114
- "Bash(pip uninstall:*)",
115
- "Bash(/root/.tunacode-venv/bin/pip list)",
116
- "Bash(uv pip list:*)",
117
- "Bash(uv pip install:*)",
118
- "Bash(uv venv:*)",
119
- "Bash(test-env/bin/tunacode:*)",
120
- "Bash(hatch env remove:*)",
121
- "Bash(hatch env:*)",
122
- "Bash(hatch run pip:*)",
123
- "Bash(./scripts/install_linux.sh:*)",
124
- "Bash(hatch run pre-commit run:*)"
125
- ]
126
- },
127
- "enableAllProjectMcpServers": true,
128
- "enabledMcpjsonServers": [
129
- "task-master-ai"
130
- ]
131
- }
@@ -1,287 +0,0 @@
1
- # TunaCode Search Architecture Enhancement Plan
2
-
3
- ## Overview
4
- This document outlines the phased implementation plan for enhancing TunaCode's search capabilities to achieve Claude Code-level performance through ripgrep integration, parallel processing, and intelligent caching.
5
-
6
- ## Implementation Status
7
- - ✅ **Phase 1**: Foundation - Ripgrep Binary Management (COMPLETED)
8
- - ✅ **Phase 2**: Search Tool Core Enhancements (COMPLETED)
9
- - ✅ **Phase 3**: Glob Tool Optimization (COMPLETED)
10
- - ⏳ **Phase 4**: Caching Layer Enhancement (PENDING)
11
- - ✅ **Phase 5**: Tool Prompt Micro-Injection System (COMPLETED)
12
- - ⏳ **Phase 6**: Integration and Optimization (PENDING)
13
- - ⏳ **Phase 7**: Testing and Documentation (PENDING)
14
-
15
- ## Phase 1: Foundation - Ripgrep Binary Management ✅
16
-
17
- ### 1.1 Binary Distribution Setup ✅
18
- - ✅ Created `vendor/ripgrep/` directory structure
19
- - ✅ Created download script (`scripts/download_ripgrep.py`) with:
20
- - Platform-specific binary downloads from GitHub releases
21
- - SHA256 checksum verification
22
- - Support for all major platforms (Linux, macOS, Windows)
23
- - CI/CD integration ready
24
-
25
- ### 1.2 Binary Path Resolution (`src/tunacode/utils/ripgrep.py`) ✅
26
- - ✅ Implemented platform detection logic with `get_platform_identifier()`
27
- - ✅ Created binary path resolver with fallback chain:
28
- 1. Environment variable override (`TUNACODE_RIPGREP_PATH`)
29
- 2. System ripgrep (if version >= 14.0.0)
30
- 3. Bundled ripgrep binary
31
- 4. Python-based fallback search
32
- - ✅ Added `@functools.lru_cache` memoization for path resolution
33
- - ✅ Implemented `RipgrepExecutor` class with comprehensive error handling
34
-
35
- ### 1.3 Configuration Management ✅
36
- - ✅ Added ripgrep settings to `configuration/defaults.py`:
37
- - `use_bundled`: Control bundled vs system binary
38
- - `timeout`: Configurable search timeout
39
- - `max_buffer_size`: 1MB output buffer limit
40
- - `max_results`: Result count limit
41
- - `enable_metrics`: Performance metrics toggle
42
- - `debug`: Debug logging toggle
43
- - ✅ Implemented `RipgrepMetrics` class for performance tracking
44
- - ✅ Added binary version checking with `_check_ripgrep_version()`
45
-
46
- ## Phase 2: Search Tool Core Enhancements ✅
47
-
48
- ### 2.1 Grep Tool Resource Management (`src/tunacode/tools/grep.py`) ✅
49
- - ✅ Integrated `RipgrepExecutor` with grep tool
50
- - ✅ Implemented timeout management:
51
- - Configurable timeout (default 10 seconds)
52
- - 3-second first match deadline maintained
53
- - `TooBroadPatternError` for slow patterns
54
- - ✅ Added buffer limits:
55
- - 1MB max buffer from configuration
56
- - 100-result limit with proper handling
57
- - ✅ Resource cleanup with graceful fallback to Python search
58
- - ✅ Efficient result processing with early termination
59
-
60
- ### 2.2 Parallel Processing Architecture ✅
61
- - ✅ ThreadPoolExecutor with 8 workers maintained
62
- - ✅ Work distribution strategies preserved:
63
- - Pre-filtering with fast_glob
64
- - Smart strategy selection (python/ripgrep/hybrid)
65
- - ✅ Result aggregation and deduplication in place
66
- - ✅ First match monitoring for performance tracking
67
-
68
- ### 2.3 Context and Filtering Features ✅
69
- - ✅ Context lines support:
70
- - `context_before` and `context_after` parameters
71
- - Context preserved in search results
72
- - ✅ Enhanced `ResultFormatter` with multiple output modes:
73
- - `content`: Full results with context (default)
74
- - `files_with_matches`: File paths only
75
- - `count`: Match counts per file
76
- - `json`: Structured JSON output
77
- - ✅ Regex and pattern support maintained
78
- - ✅ Include/exclude patterns functional
79
-
80
- ## Phase 3: Glob Tool Optimization
81
-
82
- ### 3.1 Performance Enhancements (`src/tunacode/tools/glob.py`)
83
- - Integrate with CodeIndex for pre-filtered candidates
84
- - Add results sorting options:
85
- - Modification time (default)
86
- - File size
87
- - Alphabetical
88
- - Path depth
89
- - Implement smart pagination for large result sets
90
-
91
- ### 3.2 Pattern Matching Improvements
92
- - Add case-insensitive matching by default
93
- - Support extended glob patterns:
94
- - Brace expansion (`{a,b,c}`)
95
- - Extended wildcards (`**`, `?(pattern)`)
96
- - Implement negative patterns (exclusions)
97
-
98
- ### 3.3 Git Integration
99
- - Parse and respect `.gitignore` patterns
100
- - Support `.ignore` and `.rgignore` files
101
- - Add `--no-ignore` override option
102
- - Cache gitignore patterns per repository
103
-
104
- ## Phase 4: Caching Layer Enhancement
105
-
106
- ### 4.1 Multi-Level Cache Architecture
107
- - Extend existing CodeIndex with search-specific caches:
108
- - File encoding detection cache (UTF-8, ASCII, etc.)
109
- - Line ending detection cache (LF, CRLF, CR)
110
- - Repository configuration cache
111
- - Configure cache parameters:
112
- - 1000 entries maximum per cache
113
- - 5-minute TTL for freshness
114
- - LRU eviction policy
115
- - Implement cache warming strategies
116
-
117
- ### 4.2 Cache Performance Monitoring
118
- - Add cache hit rate tracking
119
- - Implement memory usage monitoring
120
- - Create cache effectiveness metrics
121
- - Add debug logging for cache operations
122
-
123
- ### 4.3 Thread Safety and Concurrency
124
- - Ensure all cache operations are async-safe
125
- - Implement read-write locks for cache updates
126
- - Add atomic cache operations
127
- - Create cache consistency checks
128
-
129
- ## Phase 5: Tool Prompt Micro-Injection System ✅
130
-
131
- ### 5.1 Base Tool Enhancement (`src/tunacode/tools/base.py`) ✅
132
- - ✅ Added `prompt()` method to BaseTool for dynamic prompt generation
133
- - ✅ Implemented prompt caching with context-based cache keys
134
- - ✅ Created `get_tool_schema()` method for API integration
135
- - ✅ Added abstract `_get_parameters_schema()` for tool parameters
136
-
137
- ### 5.2 Dynamic Prompt Generation ✅
138
- - ✅ Created XML-based prompt system in `tools/prompts/` directory
139
- - ✅ Updated existing tools (grep.py, glob.py) with XML loading:
140
- - Added `_get_base_prompt()` method to load from XML files
141
- - Enhanced `_get_parameters_schema()` to parse XML parameters
142
- - Fallback to hardcoded prompts if XML loading fails
143
- - ✅ Dynamic loading of prompts from XML files
144
- - ✅ Support for prompt updates without code changes
145
-
146
- ### 5.3 Security and Type Safety ✅
147
- - ✅ Used defusedxml instead of xml.etree for secure XML parsing
148
- - ✅ Fixed type hints for proper mypy compliance
149
- - ✅ Added proper error handling with fallbacks
150
-
151
- ### 5.4 Testing and Validation ✅
152
- - ✅ Updated tests to use regular tools (not tools_v2 approach)
153
- - ✅ All Phase 5 tests passing
154
- - ✅ Created `ToolSchemaAssembler` for managing tool schemas
155
- - ✅ JSON-serializable schema format for API calls
156
-
157
- ### 5.5 Known Issues
158
- - glob.py file is 618 lines (exceeds 600 line recommendation)
159
- - Should be refactored in future to reduce file size
160
-
161
- ## Phase 6: Integration and Optimization
162
-
163
- ### 6.1 Cross-Tool Integration
164
- - Create unified search interface
165
- - Implement tool chaining capabilities
166
- - Add result format standardization
167
- - Create cross-tool result deduplication
168
-
169
- ### 6.2 Performance Optimization
170
- - Profile and optimize hot paths
171
- - Implement lazy loading for heavy operations
172
- - Add result streaming for real-time feedback
173
- - Create adaptive timeout strategies
174
-
175
- ### 6.3 Error Handling and Fallbacks
176
- - Implement graceful degradation:
177
- - Ripgrep failure → Python fallback
178
- - Cache miss → Direct filesystem access
179
- - Timeout → Partial results with warning
180
- - Add comprehensive error logging
181
- - Create recovery strategies for common failures
182
-
183
- ## Phase 7: Testing and Documentation
184
-
185
- ### 7.1 Test Coverage
186
- - Unit tests for each component
187
- - Integration tests for tool interactions
188
- - Performance benchmarks
189
- - Stress tests for large repositories
190
- - Thread safety validation
191
- - Cache effectiveness tests
192
-
193
- ### 7.2 Documentation
194
- - Update tool documentation
195
- - Create performance tuning guide
196
- - Add troubleshooting section
197
- - Write migration guide for existing users
198
-
199
- ### 7.3 Monitoring and Metrics
200
- - Implement performance dashboards
201
- - Add usage analytics
202
- - Create debugging tools
203
- - Set up continuous performance monitoring
204
-
205
- ## Success Metrics
206
-
207
- ### Performance Targets
208
- - **Search Speed**: 10-100x improvement over current implementation
209
- - **Cache Hit Rate**: >80% for active projects
210
- - **First Result Time**: <100ms for most searches
211
- - **Memory Overhead**: <10MB for typical projects
212
-
213
- ### Functionality Goals
214
- - Full ripgrep feature parity
215
- - Zero-configuration setup
216
- - Platform-independent behavior
217
- - Backward compatibility maintained
218
-
219
- ## Dependencies and Prerequisites
220
-
221
- ### External Dependencies
222
- - ripgrep binaries (v14.0+)
223
- - Python 3.8+ (for async features)
224
- - cachetools or similar LRU cache library
225
- - Platform-specific libraries for OS detection
226
-
227
- ### Internal Dependencies
228
- - Existing CodeIndex infrastructure
229
- - Current tool base classes
230
- - Configuration management system
231
- - Logging framework
232
-
233
- ## Risk Mitigation
234
-
235
- ### Technical Risks
236
- - **Binary distribution size**: Use compression, optional downloads
237
- - **Platform compatibility**: Extensive testing, fallback mechanisms
238
- - **Performance regression**: Benchmark suite, gradual rollout
239
- - **Cache invalidation**: TTL strategy, filesystem watching option
240
-
241
- ### Operational Risks
242
- - **Increased complexity**: Modular design, clear interfaces
243
- - **Debugging difficulty**: Comprehensive logging, debug modes
244
- - **Resource consumption**: Configurable limits, monitoring
245
-
246
- ## Implementation Notes
247
-
248
- ### Completed Work (Phases 1-2)
249
- - **Ripgrep Binary Management**: Full infrastructure for binary distribution and fallback
250
- - **Enhanced Search Tool**: Integrated ripgrep with graceful Python fallback
251
- - **Configuration System**: Added comprehensive ripgrep settings
252
- - **Performance Metrics**: Built-in metrics collection for monitoring
253
- - **Multiple Output Formats**: Extended ResultFormatter for flexible output
254
-
255
- ### Known Limitations
256
- - Ripgrep binary needs to be downloaded separately (not bundled)
257
- - File candidate filtering not fully integrated with ripgrep executor
258
- - Test failure with timeout handling needs investigation
259
-
260
- ### Next Steps (Phase 3+)
261
- 1. Glob tool optimization with ripgrep integration
262
- 2. Enhanced caching layer for search results
263
- 3. Tool prompt micro-injection system
264
- 4. Full integration and optimization
265
- 5. Comprehensive testing and documentation
266
-
267
- ### Priority Order
268
- 1. ✅ Ripgrep integration (foundation for speed)
269
- 2. ✅ Resource management (reliability)
270
- 3. ✅ Glob tool optimization (file searching)
271
- 4. ✅ Micro-injection system (extensibility)
272
- 5. ⏳ Caching enhancements (performance)
273
- 6. ⏳ Advanced features (functionality)
274
-
275
- ### Backward Compatibility
276
- - All enhancements maintain existing API
277
- - New features are opt-in through configuration
278
- - Python fallback ensures functionality without ripgrep
279
- - Existing grep tool interface unchanged
280
-
281
- ### Performance Considerations
282
- - Startup overhead minimized with lazy loading
283
- - Memoization used for expensive operations
284
- - Async operations maintained throughout
285
- - Graceful degradation on binary unavailability
286
-
287
- This implementation has successfully laid the foundation for Claude Code-level search performance while maintaining TunaCode's architecture and principles.