gitarsenal-cli 1.9.66 ā 1.9.67
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.
- package/.venv_status.json +1 -1
- package/package.json +1 -1
- package/python/test_modalSandboxScript.py +37 -22
package/.venv_status.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"created":"2025-08-14T20:
|
|
1
|
+
{"created":"2025-08-14T20:59:50.666Z","packages":["modal","gitingest","requests","anthropic"],"uv_version":"uv 0.8.4 (Homebrew 2025-07-30)"}
|
package/package.json
CHANGED
|
@@ -551,36 +551,51 @@ def create_modal_ssh_container(gpu_type, repo_url=None, repo_name=None, setup_co
|
|
|
551
551
|
print(f"Available Credentials: {len(stored_credentials)} items")
|
|
552
552
|
print("="*80 + "\n")
|
|
553
553
|
|
|
554
|
-
# Call Claude Code Agent directly as subprocess
|
|
554
|
+
# Call Claude Code Agent directly as subprocess with real-time output
|
|
555
555
|
claude_prompt = f"clone and setup {repo_url}"
|
|
556
556
|
print(f"š Executing: python /python/kill_claude/claude_code_agent.py \"{claude_prompt}\"")
|
|
557
|
+
print("\n" + "="*60)
|
|
558
|
+
print("š CLAUDE CODE AGENT OUTPUT (LIVE)")
|
|
559
|
+
print("="*60)
|
|
557
560
|
|
|
558
|
-
|
|
561
|
+
# Use Popen for real-time output streaming
|
|
562
|
+
process = subprocess.Popen(
|
|
559
563
|
["python", "/python/kill_claude/claude_code_agent.py", claude_prompt],
|
|
560
564
|
cwd="/root",
|
|
561
|
-
|
|
565
|
+
stdout=subprocess.PIPE,
|
|
566
|
+
stderr=subprocess.STDOUT, # Merge stderr into stdout
|
|
562
567
|
text=True,
|
|
563
|
-
|
|
568
|
+
bufsize=1, # Line buffered
|
|
569
|
+
universal_newlines=True
|
|
564
570
|
)
|
|
565
571
|
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
572
|
+
# Stream output in real-time
|
|
573
|
+
try:
|
|
574
|
+
while True:
|
|
575
|
+
output = process.stdout.readline()
|
|
576
|
+
if output == '' and process.poll() is not None:
|
|
577
|
+
break
|
|
578
|
+
if output:
|
|
579
|
+
print(output.rstrip())
|
|
573
580
|
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
print(result.stderr)
|
|
581
|
+
# Wait for process to complete and get return code
|
|
582
|
+
return_code = process.wait(timeout=600) # 10 minute timeout
|
|
577
583
|
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
+
print("\n" + "="*60)
|
|
585
|
+
if return_code == 0:
|
|
586
|
+
print("ā
Claude Code Agent completed successfully!")
|
|
587
|
+
else:
|
|
588
|
+
print(f"ā ļø Claude Code Agent exited with code: {return_code}")
|
|
589
|
+
print("="*60)
|
|
590
|
+
|
|
591
|
+
except subprocess.TimeoutExpired:
|
|
592
|
+
print("\nā ļø Claude Code Agent timed out after 10 minutes")
|
|
593
|
+
process.kill()
|
|
594
|
+
process.wait()
|
|
595
|
+
except Exception as stream_error:
|
|
596
|
+
print(f"\nā ļø Error streaming output: {stream_error}")
|
|
597
|
+
process.kill()
|
|
598
|
+
process.wait()
|
|
584
599
|
|
|
585
600
|
except Exception as e:
|
|
586
601
|
print(f"ā Error during repository setup: {e}")
|
|
@@ -626,11 +641,11 @@ def create_modal_ssh_container(gpu_type, repo_url=None, repo_name=None, setup_co
|
|
|
626
641
|
with app.run():
|
|
627
642
|
# Get the API key from environment
|
|
628
643
|
api_key = os.environ.get("OPENAI_API_KEY")
|
|
629
|
-
print(f"š API key: {api_key}")
|
|
644
|
+
# print(f"š API key: {api_key}")
|
|
630
645
|
|
|
631
646
|
# Get stored credentials from local file
|
|
632
647
|
stored_credentials = get_stored_credentials()
|
|
633
|
-
print(f"š Stored credentials: {stored_credentials}")
|
|
648
|
+
# print(f"š Stored credentials: {stored_credentials}")
|
|
634
649
|
if stored_credentials:
|
|
635
650
|
print(f"š Found {len(stored_credentials)} stored credentials to send to container")
|
|
636
651
|
else:
|