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
TypeScript
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>;
}