open source is social v-it.org
at main 37 lines 830 B view raw
1// SPDX-License-Identifier: MIT 2// Copyright (c) 2026 sol pbc 3 4const CODING_AGENTS = { 5 CLAUDECODE: 'claude code', 6 GEMINI_CLI: 'gemini cli', 7 CODEX_CI: 'codex', 8}; 9 10export function detectCodingAgent() { 11 for (const [envVar, name] of Object.entries(CODING_AGENTS)) { 12 if (process.env[envVar] === '1') return { name, envVar }; 13 } 14 return null; 15} 16 17export function requireAgent() { 18 const agent = detectCodingAgent(); 19 if (agent) return { ok: true, ...agent }; 20 return { ok: false }; 21} 22 23export function requireNotAgent() { 24 const agent = detectCodingAgent(); 25 if (!agent) return { ok: true }; 26 return { ok: false, ...agent }; 27} 28 29const SANDBOX_NAMES = { 30 'claude code': 'claude', 31 'gemini cli': 'gemini', 32 'codex': 'codex', 33}; 34 35export function toSandboxName(agentName) { 36 return SANDBOX_NAMES[agentName] || null; 37}