mirror of
https://github.com/dtzp555-max/olp.git
synced 2026-07-21 21:15:10 +00:00
Lays the foundation for multi-tenant provider spawning isolation per ADR 0014 § Decision. NO production wiring — PR-B (anthropic.mjs spawn wrap) lands separately and requires bubblewrap + socat + ripgrep installed on PI231 first. Files: - package.json: add @anthropic-ai/sandbox-runtime ^0.0.52 - lib/sandbox/doctor.mjs (new): preflight checkSandboxAvailability + describeSandboxStatus; pure module, no state, no initialize() call - server.mjs: /health response gains 'sandbox' field with availability + missing deps + install hint; result memoized via _sandboxStatusCache; __resetSandboxStatusCache() test seam exported - docs/adr/0014-sandbox-runtime-integration.md (new): 4-PR layered rollout decision per Iron Rule 11; PR-B/C/D acceptance criteria previewed; 6 spike pitfalls recorded; 282 lines - CHANGELOG.md: Unreleased entry under Phase 7 PR-A - test-features.mjs Suite 42 (+8 tests, 797 → 805, all pass) Authority: - @anthropic-ai/sandbox-runtime v0.0.52 — anthropic-experimental org https://github.com/anthropic-experimental/sandbox-runtime - 2026-05-28 PoC spike (verdict YELLOW; report at /tmp/sandbox-spike/ on PI231): clean arm64 install, dep check fail-closed behaviour confirmed, three PoC scripts parked - cc-mem incident memory § 4 (prior-art search — ecosystem hasn't solved multi-tenant fs/tool isolation) - ADR 0009 Amendment 1 § Caveats #3 — sandbox is cloud prerequisite - docs/plans/cloud-deployment-family.md § 5 Spike note (macOS): on dev Mac mini with rg via Homebrew, SandboxManager.isSupportedPlatform()=true and checkDependencies() returns no errors — macOS uses built-in sandbox-exec, not bwrap. /health.sandbox.available=true on macOS dev, false on PI231 until apt install. Operational follow-ups (NOT this PR): 1. sudo apt-get install -y bubblewrap socat ripgrep on PI231 (5-min window) 2. PR-B: lib/providers/anthropic.mjs spawn wrap + negative test (in-sandbox cat of OAuth token MUST fail) 3. PR-C: lib/providers/codex.mjs wrap with enableWeakerNestedSandbox:true 4. PR-D: cloud deployment plan update + unblock Tests: 797 → 805 (all pass, 0 fail). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
57 lines
1.3 KiB
JSON
57 lines
1.3 KiB
JSON
{
|
|
"name": "olp",
|
|
"version": "0.5.1",
|
|
"description": "Personal multi-provider LLM proxy. Successor to OCP. One HTTP endpoint, multiple subscriptions behind it, automatic routing + fallback + caching.",
|
|
"type": "module",
|
|
"main": "server.mjs",
|
|
"bin": {
|
|
"olp": "./bin/olp.mjs",
|
|
"olp-keys": "./bin/olp-keys.mjs",
|
|
"olp-audit-rotate": "./bin/olp-audit-rotate.mjs",
|
|
"olp-connect": "./bin/olp-connect"
|
|
},
|
|
"scripts": {
|
|
"start": "node server.mjs",
|
|
"test": "node test-features.mjs",
|
|
"olp": "node bin/olp.mjs",
|
|
"olp-keys": "node bin/olp-keys.mjs",
|
|
"olp-audit-rotate": "node bin/olp-audit-rotate.mjs",
|
|
"olp-connect": "bash bin/olp-connect"
|
|
},
|
|
"files": [
|
|
"server.mjs",
|
|
"bin/",
|
|
"lib/",
|
|
"olp-plugin/",
|
|
"models-registry.json",
|
|
"dashboard.html",
|
|
"README.md",
|
|
"ALIGNMENT.md",
|
|
"CHANGELOG.md",
|
|
"LICENSE",
|
|
"docs/"
|
|
],
|
|
"engines": {
|
|
"node": ">=18"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/dtzp555-max/olp.git"
|
|
},
|
|
"license": "MIT",
|
|
"private": true,
|
|
"keywords": [
|
|
"llm",
|
|
"proxy",
|
|
"multi-provider",
|
|
"anthropic",
|
|
"openai",
|
|
"mistral",
|
|
"fallback",
|
|
"cache"
|
|
],
|
|
"dependencies": {
|
|
"@anthropic-ai/sandbox-runtime": "^0.0.52"
|
|
}
|
|
}
|