tunacode-cli 0.0.56__py3-none-any.whl → 0.0.57__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of tunacode-cli might be problematic. Click here for more details.
- tunacode/cli/commands/implementations/plan.py +8 -8
- tunacode/cli/commands/registry.py +2 -2
- tunacode/cli/repl.py +214 -407
- tunacode/cli/repl_components/command_parser.py +37 -4
- tunacode/cli/repl_components/error_recovery.py +79 -1
- tunacode/cli/repl_components/output_display.py +14 -11
- tunacode/cli/repl_components/tool_executor.py +7 -4
- tunacode/configuration/defaults.py +8 -0
- tunacode/constants.py +8 -2
- tunacode/core/agents/agent_components/agent_config.py +128 -65
- tunacode/core/agents/agent_components/node_processor.py +6 -2
- tunacode/core/code_index.py +83 -29
- tunacode/core/state.py +1 -1
- tunacode/core/token_usage/usage_tracker.py +2 -2
- tunacode/core/tool_handler.py +3 -3
- tunacode/prompts/system.md +117 -490
- tunacode/services/mcp.py +29 -7
- tunacode/tools/base.py +110 -0
- tunacode/tools/bash.py +96 -1
- tunacode/tools/exit_plan_mode.py +114 -32
- tunacode/tools/glob.py +366 -33
- tunacode/tools/grep.py +226 -77
- tunacode/tools/grep_components/result_formatter.py +98 -4
- tunacode/tools/list_dir.py +132 -2
- tunacode/tools/present_plan.py +111 -31
- tunacode/tools/read_file.py +91 -0
- tunacode/tools/run_command.py +99 -0
- tunacode/tools/schema_assembler.py +167 -0
- tunacode/tools/todo.py +108 -1
- tunacode/tools/update_file.py +94 -0
- tunacode/tools/write_file.py +86 -0
- tunacode/types.py +10 -9
- tunacode/ui/input.py +1 -0
- tunacode/ui/keybindings.py +1 -0
- tunacode/ui/panels.py +49 -27
- tunacode/ui/prompt_manager.py +13 -7
- tunacode/utils/json_utils.py +206 -0
- tunacode/utils/ripgrep.py +332 -9
- {tunacode_cli-0.0.56.dist-info → tunacode_cli-0.0.57.dist-info}/METADATA +5 -1
- {tunacode_cli-0.0.56.dist-info → tunacode_cli-0.0.57.dist-info}/RECORD +44 -43
- tunacode/tools/read_file_async_poc.py +0 -196
- {tunacode_cli-0.0.56.dist-info → tunacode_cli-0.0.57.dist-info}/WHEEL +0 -0
- {tunacode_cli-0.0.56.dist-info → tunacode_cli-0.0.57.dist-info}/entry_points.txt +0 -0
- {tunacode_cli-0.0.56.dist-info → tunacode_cli-0.0.57.dist-info}/licenses/LICENSE +0 -0
- {tunacode_cli-0.0.56.dist-info → tunacode_cli-0.0.57.dist-info}/top_level.txt +0 -0
|
@@ -4,23 +4,23 @@ from typing import List
|
|
|
4
4
|
|
|
5
5
|
from ....types import CommandContext
|
|
6
6
|
from ....ui import console as ui
|
|
7
|
-
from ..base import
|
|
7
|
+
from ..base import CommandCategory, CommandSpec, SimpleCommand
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class PlanCommand(SimpleCommand):
|
|
11
11
|
"""Enter plan mode for read-only research and planning."""
|
|
12
|
-
|
|
12
|
+
|
|
13
13
|
spec = CommandSpec(
|
|
14
14
|
name="plan",
|
|
15
15
|
aliases=["/plan"],
|
|
16
16
|
description="Enter Plan Mode - read-only research phase",
|
|
17
17
|
category=CommandCategory.DEVELOPMENT,
|
|
18
18
|
)
|
|
19
|
-
|
|
19
|
+
|
|
20
20
|
async def execute(self, args: List[str], context: CommandContext) -> None:
|
|
21
21
|
"""Enter plan mode."""
|
|
22
22
|
context.state_manager.enter_plan_mode()
|
|
23
|
-
|
|
23
|
+
|
|
24
24
|
await ui.info("🔍 Entering Plan Mode")
|
|
25
25
|
await ui.info("• Only read-only operations available")
|
|
26
26
|
await ui.info("• Use tools to research and analyze the codebase")
|
|
@@ -31,20 +31,20 @@ class PlanCommand(SimpleCommand):
|
|
|
31
31
|
|
|
32
32
|
class ExitPlanCommand(SimpleCommand):
|
|
33
33
|
"""Exit plan mode manually."""
|
|
34
|
-
|
|
34
|
+
|
|
35
35
|
spec = CommandSpec(
|
|
36
36
|
name="exit-plan",
|
|
37
37
|
aliases=["/exit-plan"],
|
|
38
38
|
description="Exit Plan Mode and return to normal mode",
|
|
39
39
|
category=CommandCategory.DEVELOPMENT,
|
|
40
40
|
)
|
|
41
|
-
|
|
41
|
+
|
|
42
42
|
async def execute(self, args: List[str], context: CommandContext) -> None:
|
|
43
43
|
"""Exit plan mode manually."""
|
|
44
44
|
if not context.state_manager.is_plan_mode():
|
|
45
45
|
await ui.warning("Not currently in Plan Mode")
|
|
46
46
|
return
|
|
47
|
-
|
|
47
|
+
|
|
48
48
|
context.state_manager.exit_plan_mode()
|
|
49
49
|
await ui.success("🚪 Exiting Plan Mode - returning to normal mode")
|
|
50
|
-
await ui.info("✅ All tools are now available - '⏸ PLAN MODE ON' status removed")
|
|
50
|
+
await ui.info("✅ All tools are now available - '⏸ PLAN MODE ON' status removed")
|
|
@@ -130,8 +130,8 @@ class CommandRegistry:
|
|
|
130
130
|
InitCommand,
|
|
131
131
|
TemplateCommand,
|
|
132
132
|
TodoCommand,
|
|
133
|
-
PlanCommand,
|
|
134
|
-
ExitPlanCommand,
|
|
133
|
+
PlanCommand, # Add plan command
|
|
134
|
+
ExitPlanCommand, # Add exit plan command
|
|
135
135
|
]
|
|
136
136
|
|
|
137
137
|
# Register all discovered commands
|