diff --git a/src/providers/claude.ts b/src/providers/claude.ts new file mode 100644 index 0000000..7252da8 --- /dev/null +++ b/src/providers/claude.ts @@ -0,0 +1,16 @@ +import { readEnvFile } from '../env.js'; +import { registerProviderContainerConfig } from './provider-container-registry.js'; + +registerProviderContainerConfig('claude', () => { + const dotenv = readEnvFile(['ANTHROPIC_BASE_URL', 'ANTHROPIC_AUTH_TOKEN', 'CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC']); + const env: Record = {}; + if (dotenv.ANTHROPIC_BASE_URL) { + env.ANTHROPIC_BASE_URL = dotenv.ANTHROPIC_BASE_URL; + const host = new URL(dotenv.ANTHROPIC_BASE_URL).hostname; + env.NO_PROXY = host; + env.no_proxy = host; + } + if (dotenv.ANTHROPIC_AUTH_TOKEN) env.ANTHROPIC_AUTH_TOKEN = dotenv.ANTHROPIC_AUTH_TOKEN; + if (dotenv.CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC) env.CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC = dotenv.CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC; + return { env }; +}); diff --git a/src/providers/index.ts b/src/providers/index.ts index 3ec9512..1a3a638 100644 --- a/src/providers/index.ts +++ b/src/providers/index.ts @@ -4,3 +4,4 @@ // needs (claude, mock) don't appear here. // // Skills add a new provider by appending one import line below. +import './claude.js';