@nomyx/assistant
Version:
A powerful assistant library and cli for your AI projects. works with Vertex AI (Claude and Gemini)
40 lines (39 loc) • 1.55 kB
TypeScript
import { EventEmitter } from 'events';
import { ILogger, PromptDefinition } from '../types/common';
import { ExecutionOptions } from '../types/execution';
import { StandardTool } from '../types/tool';
import { IAIProvider } from '../types/provider';
interface PromptRegistry {
get(name: string): StructuredPrompt;
getPromptsSortedByPriority(): StructuredPrompt[];
getPromptsByConfig(config: Partial<NonNullable<PromptDefinition['config']>>): StructuredPrompt[];
}
interface StructuredPrompt {
definition: PromptDefinition;
render(variables: Record<string, string>, availablePrompts: PromptDefinition[]): string;
getPriority(): number | undefined;
getConfig(): PromptDefinition['config'] | undefined;
}
export declare class PromptExecution extends EventEmitter {
private registry;
private initialPrompt;
private provider;
private availablePrompts;
private options;
private logger;
private state;
private ajv;
private toolManager;
constructor(registry: PromptRegistry, initialPrompt: StructuredPrompt, provider: IAIProvider, availablePrompts: PromptDefinition[], options: ExecutionOptions | undefined, logger: ILogger);
execute(initialReplacements?: Record<string, string>): Promise<void>;
registerTool(tool: StandardTool): void;
private executePromptWithRetry;
private executePromptWithTimeout;
private executePrompt;
private processToolCall;
private validateResponse;
private evaluateCondition;
private saveState;
private loadState;
}
export {};