UNPKG

hataraku

Version:

An autonomous coding agent for building AI-powered development tools. The name "Hataraku" (働く) means "to work" in Japanese.

75 lines (74 loc) 2.16 kB
import { Profile } from './profileConfig'; import { AgentConfig } from './agent-config'; import { TaskConfig } from './taskConfig'; /** * CLI options interface for configuration overrides */ export interface CliOptions { profile?: string; provider?: string; model?: string; apiKey?: string; stream?: boolean; sound?: boolean; verbose?: boolean; tools?: string[]; agent?: string; region?: string; kbId?: string; withStream?: boolean; } /** * Configuration Loader class * Handles loading all configuration types and resolving effective configuration based on overrides */ export declare class ConfigLoader { private profileManager; private toolManager; private agentManager; private taskManager; constructor(); /** * Load all configurations * @returns Object containing all configurations */ loadConfig(): Promise<{ profiles: string[]; activeProfile: string; tools: string[]; agents: string[]; tasks: string[]; }>; /** * Get effective configuration based on CLI options * @param cliOptions CLI options for overrides * @returns Effective configuration for execution */ getEffectiveConfig(cliOptions: CliOptions): Promise<{ profile: Profile; agent?: AgentConfig; tools: string[]; }>; /** * Get environment variables from a tool configuration * @param tools Tool configuration names * @returns Environment variables */ resolveEnvironmentVariables(tools: string[]): Promise<Record<string, string>>; /** * Interpolate environment variables in a string * @param value String with potential environment variable references * @returns Interpolated string or undefined if interpolation fails */ private interpolateEnvVar; /** * Get a task configuration by name * @param name Task name * @returns Task configuration */ getTask(name: string): Promise<TaskConfig>; /** * Initialize all configuration managers with default configurations */ initializeDefaults(): Promise<void>; }