mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-15 03:32:21 +03:00
33 lines
1.8 KiB
Bash
Executable File
33 lines
1.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
source "$(dirname "$0")/common"
|
|
[[ "${ENABLE_LIVE_DEVIN_TESTS:-}" == 1 ]] || { echo 'Set ENABLE_LIVE_DEVIN_TESTS=1' >&2; exit 1; }
|
|
bridge_reset_live_fixture
|
|
"$(dirname "$0")/verify-anthropic-isolation" --static
|
|
docker compose -f "$BRIDGE_COMPOSE" --profile offline --profile live-devin down --remove-orphans
|
|
docker compose -f "$BRIDGE_COMPOSE" --profile live-devin up -d network-guard
|
|
docker compose -f "$BRIDGE_COMPOSE" --profile live-devin run --rm --no-deps omniroute-live \
|
|
devin auth status
|
|
docker compose -f "$BRIDGE_COMPOSE" --profile live-devin run --rm --no-deps omniroute-live \
|
|
devin models list --format json >"$BRIDGE_SANDBOX/evidence/live-models.json"
|
|
devin_model="$(node --import tsx/esm "$BRIDGE_ROOT/scripts/devin-bridge/select-live-model.mjs" \
|
|
<"$BRIDGE_SANDBOX/evidence/live-models.json")"
|
|
export DEVIN_BRIDGE_MODEL="devin-cli-agentic/$devin_model"
|
|
export DEVIN_BRIDGE_SONNET_MODEL="$DEVIN_BRIDGE_MODEL"
|
|
export DEVIN_BRIDGE_OPUS_MODEL="$DEVIN_BRIDGE_MODEL"
|
|
export DEVIN_BRIDGE_HAIKU_MODEL="$DEVIN_BRIDGE_MODEL"
|
|
export DEVIN_BRIDGE_SUBAGENT_MODEL="$DEVIN_BRIDGE_MODEL"
|
|
docker compose -f "$BRIDGE_COMPOSE" --profile live-devin up --abort-on-container-exit --exit-code-from claude-live claude-live
|
|
node -e '
|
|
const fs = require("node:fs");
|
|
const path = process.argv[1];
|
|
if (!fs.existsSync(path)) process.exit(0);
|
|
for (const line of fs.readFileSync(path, "utf8").trim().split("\n").filter(Boolean)) {
|
|
const entry = JSON.parse(line);
|
|
if (entry.decision === "allow" && !/(^|\.)(devin\.ai|cognition\.ai)$/.test(entry.hostname)) {
|
|
throw new Error(`unexpected allowed egress: ${entry.hostname}`);
|
|
}
|
|
}
|
|
' "$BRIDGE_SANDBOX/evidence/egress.jsonl"
|
|
printf 'PASS: live model %s was discovered and validated by three scenarios\n' "$devin_model"
|