UNPKG

@justinechang39/maki

Version:

AI-powered CLI agent for file operations, CSV manipulation, todo management, and web content fetching using OpenRouter

33 lines (32 loc) 1.43 kB
import dotenv from 'dotenv'; import os from 'os'; import path from 'path'; import { fileURLToPath } from 'url'; // Load .env file for local development dotenv.config(); const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); // --- Configuration --- export const OPENROUTER_API_KEY = process.env.OPENROUTER_API_KEY; export const API_URL = 'https://openrouter.ai/api/v1/chat/completions'; // Available models for user selection export const AVAILABLE_MODELS = [ 'google/gemini-2.5-flash-preview-05-20:thinking', 'openai/gpt-4.1-mini', 'anthropic/claude-sonnet-4' ]; // Selected model (will be set during app initialization) export let SELECTED_MODEL = AVAILABLE_MODELS[0]; export function setSelectedModel(model) { SELECTED_MODEL = model; } // Database path based on environment const isDev = process.env.NODE_ENV === 'development' || process.env.npm_lifecycle_event === 'dev'; export const CONFIG_DIRECTORY = isDev ? path.join(path.dirname(__dirname), '..', 'data') // Store in repo/data during development : path.join(os.homedir(), '.config', 'maki'); // System config in production export const DATABASE_PATH = path.join(CONFIG_DIRECTORY, 'database.sqlite'); export const WORKSPACE_DIRECTORY = process.cwd(); // Current working directory export const WORKSPACE_DIRECTORY_NAME = 'workspace'; // For descriptions only export const MAX_CONVERSATION_LENGTH = 100;