deepagent-code 0.1.2__tar.gz → 0.1.3__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.
- {deepagent_code-0.1.2 → deepagent_code-0.1.3}/PKG-INFO +1 -1
- {deepagent_code-0.1.2 → deepagent_code-0.1.3}/deepagent_code/cli.py +23 -3
- {deepagent_code-0.1.2 → deepagent_code-0.1.3}/deepagent_code.egg-info/PKG-INFO +1 -1
- {deepagent_code-0.1.2 → deepagent_code-0.1.3}/pyproject.toml +1 -1
- {deepagent_code-0.1.2 → deepagent_code-0.1.3}/LICENSE +0 -0
- {deepagent_code-0.1.2 → deepagent_code-0.1.3}/README.md +0 -0
- {deepagent_code-0.1.2 → deepagent_code-0.1.3}/deepagent_code/__init__.py +0 -0
- {deepagent_code-0.1.2 → deepagent_code-0.1.3}/deepagent_code/utils.py +0 -0
- {deepagent_code-0.1.2 → deepagent_code-0.1.3}/deepagent_code.egg-info/SOURCES.txt +0 -0
- {deepagent_code-0.1.2 → deepagent_code-0.1.3}/deepagent_code.egg-info/dependency_links.txt +0 -0
- {deepagent_code-0.1.2 → deepagent_code-0.1.3}/deepagent_code.egg-info/entry_points.txt +0 -0
- {deepagent_code-0.1.2 → deepagent_code-0.1.3}/deepagent_code.egg-info/requires.txt +0 -0
- {deepagent_code-0.1.2 → deepagent_code-0.1.3}/deepagent_code.egg-info/top_level.txt +0 -0
- {deepagent_code-0.1.2 → deepagent_code-0.1.3}/setup.cfg +0 -0
- {deepagent_code-0.1.2 → deepagent_code-0.1.3}/tests/test_cli.py +0 -0
- {deepagent_code-0.1.2 → deepagent_code-0.1.3}/tests/test_utils.py +0 -0
|
@@ -53,7 +53,7 @@ SPINNER_FRAMES = ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇",
|
|
|
53
53
|
|
|
54
54
|
|
|
55
55
|
# Version info
|
|
56
|
-
__version__ = "0.1.
|
|
56
|
+
__version__ = "0.1.3"
|
|
57
57
|
|
|
58
58
|
|
|
59
59
|
# Slash command registry
|
|
@@ -124,6 +124,26 @@ class CommandRegistry:
|
|
|
124
124
|
command_registry = CommandRegistry()
|
|
125
125
|
|
|
126
126
|
|
|
127
|
+
def rl_wrap(code: str) -> str:
|
|
128
|
+
"""Wrap ANSI escape code for readline to ignore in length calculations.
|
|
129
|
+
|
|
130
|
+
On terminals, ANSI codes are invisible but counted in string length.
|
|
131
|
+
This causes issues with line wrapping when using input().
|
|
132
|
+
Wrapping with \\001 and \\002 tells readline to ignore these characters.
|
|
133
|
+
"""
|
|
134
|
+
if HAS_READLINE:
|
|
135
|
+
return f"\001{code}\002"
|
|
136
|
+
return code
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
def make_prompt(text: str = "❯", color: str = BRIGHT_BLUE) -> str:
|
|
140
|
+
"""Create a prompt string with proper readline escaping for ANSI codes.
|
|
141
|
+
|
|
142
|
+
This prevents line wrapping issues on Windows and other terminals.
|
|
143
|
+
"""
|
|
144
|
+
return f"{rl_wrap(BOLD)}{rl_wrap(color)}{text}{rl_wrap(RESET)} "
|
|
145
|
+
|
|
146
|
+
|
|
127
147
|
def register_command(
|
|
128
148
|
name: str,
|
|
129
149
|
description: str,
|
|
@@ -647,7 +667,7 @@ def handle_interrupt_input(num_actions: int = 1) -> List[Dict[str, Any]]:
|
|
|
647
667
|
return [{"type": "reject"} for _ in range(num_actions)]
|
|
648
668
|
elif choice == 2:
|
|
649
669
|
print("Enter your decision as JSON (will be applied to all actions):")
|
|
650
|
-
json_str = input(
|
|
670
|
+
json_str = input(make_prompt("❯", BLUE)).strip()
|
|
651
671
|
try:
|
|
652
672
|
decision = json.loads(json_str)
|
|
653
673
|
return [decision for _ in range(num_actions)]
|
|
@@ -1119,7 +1139,7 @@ def run_conversation_loop(
|
|
|
1119
1139
|
while True:
|
|
1120
1140
|
try:
|
|
1121
1141
|
print(separator("dots"))
|
|
1122
|
-
user_input = input(
|
|
1142
|
+
user_input = input(make_prompt()).strip()
|
|
1123
1143
|
|
|
1124
1144
|
if not user_input:
|
|
1125
1145
|
continue
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|