@polybiouslabs/polybious
Version:
Polybius is a next-generation intelligent agent framework built for adaptability across diverse domains. It merges contextual awareness, multi-agent collaboration, and predictive reasoning to deliver dynamic, self-optimizing performance.
34 lines (33 loc) • 1.39 kB
JavaScript
import dotenv from 'dotenv';
import { z } from 'zod';
dotenv.config();
const envSchema = z.object({
// Core required
ANTHROPIC_API_KEY: z.string(),
// Optional Twitter credentials (can be provided via config file instead)
TWITTER_USERNAME: z.string().optional(),
TWITTER_PASSWORD: z.string().optional(),
TWITTER_EMAIL: z.string().optional(),
// Agent configuration
AGENT_NAME: z.string().optional(),
AGENT_SYSTEM_PROMPT: z.string().optional(),
MIN_INTERVAL: z.string().transform(Number).optional(),
MAX_INTERVAL: z.string().transform(Number).optional(),
API_PORT: z.string().transform(Number).optional(),
LOG_LEVEL: z.enum(['error', 'warn', 'info', 'debug']).optional(),
// Legacy support
TWEET_INTERVAL_MINUTES: z.string().transform(Number).optional(),
});
export const env = envSchema.parse({
ANTHROPIC_API_KEY: process.env.ANTHROPIC_API_KEY,
TWITTER_USERNAME: process.env.TWITTER_USERNAME,
TWITTER_PASSWORD: process.env.TWITTER_PASSWORD,
TWITTER_EMAIL: process.env.TWITTER_EMAIL,
AGENT_NAME: process.env.AGENT_NAME,
AGENT_SYSTEM_PROMPT: process.env.AGENT_SYSTEM_PROMPT,
MIN_INTERVAL: process.env.MIN_INTERVAL,
MAX_INTERVAL: process.env.MAX_INTERVAL,
API_PORT: process.env.API_PORT,
LOG_LEVEL: process.env.LOG_LEVEL,
TWEET_INTERVAL_MINUTES: process.env.TWEET_INTERVAL_MINUTES,
});