Add LinaAI automatic Codex routing

This commit is contained in:
2026-05-24 07:24:58 +00:00
parent e82045a7f9
commit 2d3e0454cd
5 changed files with 330 additions and 15 deletions
+30 -6
View File
@@ -21,6 +21,7 @@ mkdir -p "$OUT_DIR"
PROMPT_FILE="${OUT_DIR}/codex_prompt.txt"
LOG_FILE="${OUT_DIR}/codex_exec.log"
BYPASS_LOG_FILE="${OUT_DIR}/codex_exec_bypass.log"
{
echo "You are Codex being called as an escalation worker for Agrarian."
@@ -41,10 +42,33 @@ LOG_FILE="${OUT_DIR}/codex_exec.log"
echo "Prompt written to ${PROMPT_FILE}"
if command -v codex >/dev/null 2>&1; then
codex exec "$(cat "$PROMPT_FILE")" 2>&1 | tee "$LOG_FILE"
else
npx -y @openai/codex exec "$(cat "$PROMPT_FILE")" 2>&1 | tee "$LOG_FILE"
fi
run_codex_sandboxed() {
if command -v codex >/dev/null 2>&1; then
codex exec --sandbox workspace-write -C "$ROOT" - < "$PROMPT_FILE" 2>&1 | tee "$LOG_FILE"
else
npx -y @openai/codex exec --sandbox workspace-write -C "$ROOT" - < "$PROMPT_FILE" 2>&1 | tee "$LOG_FILE"
fi
}
echo "Codex escalation log written to ${LOG_FILE}"
run_codex_bypass() {
{
echo "LinaAI note: Codex sandbox failed inside the isolated LinaAI VM."
echo "Retrying with Codex sandbox bypass so escalation can inspect/run commands."
echo "This should only be used from LinaAI, not shared production hosts."
echo
if command -v codex >/dev/null 2>&1; then
codex exec --dangerously-bypass-approvals-and-sandbox -C "$ROOT" - < "$PROMPT_FILE"
else
npx -y @openai/codex exec --dangerously-bypass-approvals-and-sandbox -C "$ROOT" - < "$PROMPT_FILE"
fi
} 2>&1 | tee "$BYPASS_LOG_FILE"
}
run_codex_sandboxed
if grep -q "bwrap: loopback: Failed RTM_NEWADDR: Operation not permitted" "$LOG_FILE"; then
run_codex_bypass
echo "Codex escalation bypass log written to ${BYPASS_LOG_FILE}"
else
echo "Codex escalation log written to ${LOG_FILE}"
fi