RELEASE: Final semantic reorganization and artifact cleanup v0.1.0
Some checks failed
Deploy-Agent-V15-Stdin / JOB-V15-STDIN (push) Failing after 3s

- Moved Docker assets to infrastructure/docker.
- Purged dated/redundant docs and non-literated scripts.
- Renamed legacy test artifacts.
- Consolidated empty infrastructure targets.
This commit is contained in:
2026-04-21 13:12:13 -04:00
parent 8e48d057fa
commit f0d27ac9f3
14 changed files with 25 additions and 570 deletions

View File

@@ -1,54 +0,0 @@
#!/usr/bin/env python3
import sys
import json
import base64
from playwright.sync_api import sync_playwright
def run_bridge():
# Read command from stdin
try:
raw_input = sys.stdin.read()
if not raw_input:
print(json.dumps({"status": "error", "message": "No input provided"}))
return
args = json.loads(raw_input)
except Exception as e:
print(json.dumps({"status": "error", "message": f"Invalid JSON input: {str(e)}"}))
return
url = args.get("url")
action = args.get("action", "extract_text")
selector = args.get("selector", "body")
if not url:
print(json.dumps({"status": "error", "message": "No URL provided"}))
return
try:
with sync_playwright() as p:
browser = p.chromium.launch(headless=True)
page = browser.new_page()
# Navigate and wait for network to be idle
page.goto(url, wait_until="networkidle")
result = {"status": "success", "url": url}
if action == "extract_text":
result["content"] = page.inner_text(selector)
elif action == "screenshot":
screenshot_bytes = page.screenshot()
result["screenshot_base64"] = base64.b64encode(screenshot_bytes).decode("utf-8")
else:
result["status"] = "error"
result["message"] = f"Unknown action: {action}"
browser.close()
print(json.dumps(result))
except Exception as e:
print(json.dumps({"status": "error", "message": f"Playwright Error: {str(e)}"}))
if __name__ == "__main__":
run_bridge()

View File

@@ -1,85 +0,0 @@
import pty
import os
import sys
import time
import select
import re
class VirtualTerminal:
def __init__(self, rows=24, cols=80):
self.rows = rows
self.cols = cols
self.buffer = [[' ' for _ in range(cols)] for _ in range(rows)]
self.cursor_y = 0
self.cursor_x = 0
def _strip_ansi(self, text):
# Very basic ANSI parser for cursor moves and clears
# CSI n ; m H (cursor move)
# CSI J (clear screen)
# CSI K (clear line)
# This is a simplified state machine
parts = re.split(r'(\x1b\[[0-9;?]*[a-zA-Z])', text)
for part in parts:
if part.startswith('\x1b['):
cmd = part[-1]
params = part[2:-1].split(';')
if cmd == 'H' or cmd == 'f': # Move cursor
self.cursor_y = int(params[0]) - 1 if params[0] else 0
self.cursor_x = int(params[1]) - 1 if (len(params) > 1 and params[1]) else 0
elif cmd == 'J': # Clear
mode = int(params[0]) if params[0] else 0
if mode == 2: # Full clear
self.buffer = [[' ' for _ in range(self.cols)] for _ in range(self.rows)]
elif cmd == 'm': # Attributes - ignore for now
pass
else:
for char in part:
if char == '\n':
self.cursor_y += 1
self.cursor_x = 0
elif char == '\r':
self.cursor_x = 0
elif 0 <= self.cursor_y < self.rows and 0 <= self.cursor_x < self.cols:
self.buffer[self.cursor_y][self.cursor_x] = char
self.cursor_x += 1
def get_screen(self):
return "\n".join(["".join(row) for row in self.buffer])
def run_test(command, input_sequence, wait_time=5):
pid, fd = pty.fork()
if pid == 0:
os.environ["TERM"] = "xterm"
os.environ["COLUMNS"] = "80"
os.environ["LINES"] = "24"
os.execvp(command[0], command)
else:
vt = VirtualTerminal()
start_time = time.time()
input_sent = False
while time.time() - start_time < wait_time:
r, w, e = select.select([fd], [], [], 0.1)
if fd in r:
try:
data = os.read(fd, 8192).decode(errors='ignore')
vt._strip_ansi(data)
except OSError:
break
if not input_sent and time.time() - start_time > 2:
os.write(fd, input_sequence.encode())
input_sent = True
os.kill(pid, 9)
os.waitpid(pid, 0)
return vt
if __name__ == "__main__":
# Example usage: python3 ui_driver.py sbcl --eval ...
vt = run_test(sys.argv[1:], "Hi\r", wait_time=10)
print("--- VIRTUAL SCREEN SNAPSHOT ---")
print(vt.get_screen())
print(f"--- CURSOR POSITION: ({vt.cursor_y}, {vt.cursor_x}) ---")