delimit-cli 4.0.6 → 4.1.1
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/CHANGELOG.md +578 -0
- package/README.md +2 -2
- package/bin/delimit-cli.js +33 -0
- package/gateway/ai/agent_dispatch.py +2 -34
- package/gateway/ai/backends/gateway_core.py +1012 -0
- package/gateway/ai/github_scanner.py +1 -1
- package/gateway/ai/ledger_manager.py +3 -13
- package/gateway/ai/loop_engine.py +372 -175
- package/gateway/ai/notify.py +2 -1662
- package/gateway/ai/reddit_scanner.py +0 -34
- package/gateway/ai/screen_record.py +1 -1
- package/gateway/ai/server.py +598 -141
- package/gateway/ai/swarm.py +1 -1
- package/gateway/ai/tui.py +87 -6
- package/gateway/core/diff_engine_v2.py +5 -0
- package/gateway/core/spec_health.py +624 -0
- package/lib/delimit-template.js +0 -5
- package/package.json +2 -2
- package/scripts/security-check.sh +0 -12
|
@@ -560,37 +560,3 @@ def _save_scan(result: Dict[str, Any], scan_time: datetime) -> Path:
|
|
|
560
560
|
path.write_text(json.dumps(result, indent=2, default=str))
|
|
561
561
|
logger.info("Scan saved to %s", path)
|
|
562
562
|
return path
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
def fetch_thread(thread_id: str, *, proxy_url: str = PROXY_URL) -> Optional[Dict[str, Any]]:
|
|
566
|
-
"""Fetch a single Reddit thread by ID via the residential proxy."""
|
|
567
|
-
import urllib.parse
|
|
568
|
-
import urllib.request
|
|
569
|
-
reddit_url = f"https://www.reddit.com/comments/{thread_id}.json?raw_json=1"
|
|
570
|
-
fetch_url = f"{proxy_url}?url={urllib.parse.quote(reddit_url, safe='')}"
|
|
571
|
-
|
|
572
|
-
req = urllib.request.Request(
|
|
573
|
-
fetch_url,
|
|
574
|
-
headers={"User-Agent": "delimit-scanner/1.0", "Accept": "application/json"},
|
|
575
|
-
)
|
|
576
|
-
|
|
577
|
-
try:
|
|
578
|
-
with urllib.request.urlopen(req, timeout=15) as resp:
|
|
579
|
-
data = json.loads(resp.read().decode())
|
|
580
|
-
if isinstance(data, list) and len(data) > 0:
|
|
581
|
-
post_data = data[0].get("data", {}).get("children", [{}])[0].get("data", {})
|
|
582
|
-
if post_data:
|
|
583
|
-
return {
|
|
584
|
-
"id": post_data.get("id", ""),
|
|
585
|
-
"title": post_data.get("title", ""),
|
|
586
|
-
"author": post_data.get("author", ""),
|
|
587
|
-
"score": post_data.get("score", 0),
|
|
588
|
-
"num_comments": post_data.get("num_comments", 0),
|
|
589
|
-
"subreddit": post_data.get("subreddit", ""),
|
|
590
|
-
"permalink": post_data.get("permalink", ""),
|
|
591
|
-
"selftext": post_data.get("selftext", ""),
|
|
592
|
-
"created_utc": post_data.get("created_utc", 0),
|
|
593
|
-
}
|
|
594
|
-
except Exception as exc:
|
|
595
|
-
logger.warning("Failed to fetch thread %s: %s", thread_id, exc)
|
|
596
|
-
return None
|
|
@@ -22,7 +22,7 @@ logger = logging.getLogger("delimit.ai.screen_record")
|
|
|
22
22
|
|
|
23
23
|
# ── Constants ────────────────────────────────────────────────────────────
|
|
24
24
|
|
|
25
|
-
CHROMIUM_PATH =
|
|
25
|
+
CHROMIUM_PATH = os.environ.get("CHROMIUM_PATH", "chromium")
|
|
26
26
|
CONTENT_BASE = Path.home() / ".delimit" / "content"
|
|
27
27
|
VIDEOS_DIR = CONTENT_BASE / "videos"
|
|
28
28
|
GIFS_DIR = CONTENT_BASE / "gifs"
|