repositories
loading repo index
repositories
loading repo index
repository
loading code, commits, and activity
public Clawd ADK gateway launch mirror
stars
latest
clone command
git clone gitlawb://did:key:z6Mkq5mY...iFZ5/my-project-publ...git clone gitlawb://did:key:z6Mkq5mY.../my-project-publ...2fa351d6docs: add automaton and perps launch sources16d ago| #1 | import type { MoltbotEnv } from '../types'; |
| #2 | |
| #3 | /** |
| #4 | * Build environment variables to pass to the Moltbot container process |
| #5 | * |
| #6 | * @param env - Worker environment bindings |
| #7 | * @returns Environment variables record |
| #8 | */ |
| #9 | export function buildEnvVars(env: MoltbotEnv): Record<string, string> { |
| #10 | const envVars: Record<string, string> = {}; |
| #11 | |
| #12 | const isOpenAIGateway = env.AI_GATEWAY_BASE_URL?.endsWith('/openai'); |
| #13 | |
| #14 | // AI Gateway vars take precedence |
| #15 | // Map to the appropriate provider env var based on the gateway endpoint |
| #16 | if (env.AI_GATEWAY_API_KEY) { |
| #17 | if (isOpenAIGateway) { |
| #18 | envVars.OPENAI_API_KEY = env.AI_GATEWAY_API_KEY; |
| #19 | } else { |
| #20 | envVars.ANTHROPIC_API_KEY = env.AI_GATEWAY_API_KEY; |
| #21 | } |
| #22 | } |
| #23 | |
| #24 | // Fall back to direct provider keys |
| #25 | if (!envVars.ANTHROPIC_API_KEY && env.ANTHROPIC_API_KEY) { |
| #26 | envVars.ANTHROPIC_API_KEY = env.ANTHROPIC_API_KEY; |
| #27 | } |
| #28 | if (!envVars.OPENAI_API_KEY && env.OPENAI_API_KEY) { |
| #29 | envVars.OPENAI_API_KEY = env.OPENAI_API_KEY; |
| #30 | } |
| #31 | |
| #32 | // Pass base URL (used by start-moltbot.sh to determine provider) |
| #33 | if (env.AI_GATEWAY_BASE_URL) { |
| #34 | envVars.AI_GATEWAY_BASE_URL = env.AI_GATEWAY_BASE_URL; |
| #35 | // Also set the provider-specific base URL env var |
| #36 | if (isOpenAIGateway) { |
| #37 | envVars.OPENAI_BASE_URL = env.AI_GATEWAY_BASE_URL; |
| #38 | } else { |
| #39 | envVars.ANTHROPIC_BASE_URL = env.AI_GATEWAY_BASE_URL; |
| #40 | } |
| #41 | } else if (env.ANTHROPIC_BASE_URL) { |
| #42 | envVars.ANTHROPIC_BASE_URL = env.ANTHROPIC_BASE_URL; |
| #43 | } |
| #44 | // Map MOLTBOT_GATEWAY_TOKEN to CLAWDBOT_GATEWAY_TOKEN (container expects this name) |
| #45 | if (env.MOLTBOT_GATEWAY_TOKEN) envVars.CLAWDBOT_GATEWAY_TOKEN = env.MOLTBOT_GATEWAY_TOKEN; |
| #46 | if (env.DEV_MODE) envVars.CLAWDBOT_DEV_MODE = env.DEV_MODE; // Pass DEV_MODE as CLAWDBOT_DEV_MODE to container |
| #47 | if (env.CLAWDBOT_BIND_MODE) envVars.CLAWDBOT_BIND_MODE = env.CLAWDBOT_BIND_MODE; |
| #48 | if (env.TELEGRAM_BOT_TOKEN) envVars.TELEGRAM_BOT_TOKEN = <redacted> |
| #49 | if (env.TELEGRAM_DM_POLICY) envVars.TELEGRAM_DM_POLICY = env.TELEGRAM_DM_POLICY; |
| #50 | if (env.DISCORD_BOT_TOKEN) envVars.DISCORD_BOT_TOKEN = env.DISCORD_BOT_TOKEN; |
| #51 | if (env.DISCORD_DM_POLICY) envVars.DISCORD_DM_POLICY = env.DISCORD_DM_POLICY; |
| #52 | if (env.SLACK_BOT_TOKEN) envVars.SLACK_BOT_TOKEN = env.SLACK_BOT_TOKEN; |
| #53 | if (env.SLACK_APP_TOKEN) envVars.SLACK_APP_TOKEN = env.SLACK_APP_TOKEN; |
| #54 | if (env.CDP_SECRET) envVars.CDP_SECRET = env.CDP_SECRET; |
| #55 | if (env.WORKER_URL) envVars.WORKER_URL = env.WORKER_URL; |
| #56 | |
| #57 | return envVars; |
| #58 | } |
| #59 |