nimcode 0.1.13__tar.gz → 0.1.15__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.
- {nimcode-0.1.13 → nimcode-0.1.15}/PKG-INFO +1 -1
- {nimcode-0.1.13 → nimcode-0.1.15}/setup.py +1 -1
- {nimcode-0.1.13 → nimcode-0.1.15}/src/nimcode/cli.py +0 -1
- {nimcode-0.1.13 → nimcode-0.1.15}/src/nimcode/stdio_server.py +29 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/src/nimcode.egg-info/PKG-INFO +1 -1
- {nimcode-0.1.13 → nimcode-0.1.15}/README.md +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/setup.cfg +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/src/nimcode/__init__.py +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/src/nimcode/agent.py +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/src/nimcode/analytics.py +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/src/nimcode/config.py +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/src/nimcode/lenient_parser.py +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/src/nimcode/mcp_client.py +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/src/nimcode/memory.py +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/src/nimcode/nim_client.py +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/src/nimcode/permissions.py +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/src/nimcode/plugin_manager.py +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/src/nimcode/repl.py +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/src/nimcode/repo_map.py +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/src/nimcode/secret_scanner.py +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/src/nimcode/swarm.py +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/src/nimcode/tools.py +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/src/nimcode/updater.py +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/src/nimcode/watcher.py +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/src/nimcode.egg-info/SOURCES.txt +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/src/nimcode.egg-info/dependency_links.txt +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/src/nimcode.egg-info/entry_points.txt +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/src/nimcode.egg-info/requires.txt +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/src/nimcode.egg-info/top_level.txt +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/tests/test_agent.py +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/tests/test_analytics.py +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/tests/test_cli.py +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/tests/test_config.py +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/tests/test_lenient_parser.py +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/tests/test_mcp_client.py +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/tests/test_memory.py +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/tests/test_nim_client.py +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/tests/test_nimcoderules.py +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/tests/test_permissions.py +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/tests/test_plugin_manager.py +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/tests/test_repl.py +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/tests/test_repl_extra.py +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/tests/test_repl_trust.py +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/tests/test_repo_map.py +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/tests/test_secret_scanner.py +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/tests/test_tools.py +0 -0
- {nimcode-0.1.13 → nimcode-0.1.15}/tests/test_updater.py +0 -0
|
@@ -101,7 +101,6 @@ def main():
|
|
|
101
101
|
if not model and not args.stdio:
|
|
102
102
|
from rich.prompt import Prompt
|
|
103
103
|
from .nim_client import NimClient
|
|
104
|
-
import asyncio
|
|
105
104
|
client = NimClient(api_key=final_key)
|
|
106
105
|
console.print("[yellow]Fetching available models from NVIDIA NIM...[/yellow]")
|
|
107
106
|
models = asyncio.run(client.get_available_models())
|
|
@@ -59,6 +59,35 @@ class StdioServer:
|
|
|
59
59
|
|
|
60
60
|
self.agent._stream_response = stdio_stream_response
|
|
61
61
|
|
|
62
|
+
# Override rich.console.Console.print to capture slash command outputs and general prints
|
|
63
|
+
from rich.console import Console
|
|
64
|
+
original_print = Console.print
|
|
65
|
+
|
|
66
|
+
def patched_print(console_self, *objects, **kwargs):
|
|
67
|
+
# Try to extract raw string from objects
|
|
68
|
+
text_parts = []
|
|
69
|
+
for obj in objects:
|
|
70
|
+
if isinstance(obj, str):
|
|
71
|
+
text_parts.append(obj)
|
|
72
|
+
elif hasattr(obj, "__rich_console__") or hasattr(obj, "__rich_measure__"):
|
|
73
|
+
# For complex rich objects (like Markdown), we could render it to text
|
|
74
|
+
try:
|
|
75
|
+
with console_self.capture() as capture:
|
|
76
|
+
original_print(console_self, obj, **kwargs)
|
|
77
|
+
text_parts.append(capture.get())
|
|
78
|
+
except Exception:
|
|
79
|
+
text_parts.append(str(obj))
|
|
80
|
+
else:
|
|
81
|
+
text_parts.append(str(obj))
|
|
82
|
+
|
|
83
|
+
if text_parts:
|
|
84
|
+
content = " ".join(text_parts)
|
|
85
|
+
# Strip excessive ANSI codes if capture includes them, but we want plain text or markdown
|
|
86
|
+
# For simplicity, just send it to the UI
|
|
87
|
+
self.send_message({"type": "info", "content": content})
|
|
88
|
+
|
|
89
|
+
Console.print = patched_print
|
|
90
|
+
|
|
62
91
|
def send_message(self, message: dict):
|
|
63
92
|
"""Send a JSON message to original stdout."""
|
|
64
93
|
try:
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|