@callmedayz/ai-prompt-toolkit
Version:
Professional AI prompt engineering toolkit with advanced template features, real-time dashboards, conditional logic, template inheritance, live monitoring, OpenRouter integration, and 310+ model support
90 lines • 2.76 kB
TypeScript
import { AdvancedPromptTemplate } from './advanced-prompt-template';
/**
* Template Inheritance System
* Enables hierarchical template structures with base templates and child templates
*/
export declare class TemplateInheritanceManager {
private baseTemplates;
private templateHierarchy;
/**
* Register a base template
*/
registerBaseTemplate(name: string, template: BaseTemplate): void;
/**
* Create a child template that inherits from a base template
*/
createChildTemplate(baseName: string, childOptions: ChildTemplateOptions): AdvancedPromptTemplate;
/**
* Build an inherited template by combining base and child specifications
*/
private buildInheritedTemplate;
/**
* Get the inheritance hierarchy for a base template
*/
getHierarchy(baseName: string): TemplateHierarchy;
/**
* Validate template inheritance structure
*/
validateInheritance(baseName: string): ValidationResult;
/**
* Get all base template names
*/
getBaseTemplateNames(): string[];
/**
* Export template hierarchy as JSON
*/
exportHierarchy(): Record<string, any>;
}
export interface BaseTemplate {
name: string;
template: string;
description?: string;
defaultVariables?: Record<string, any>;
customFunctions?: Record<string, (value: any, ...args: any[]) => any>;
requiredBlocks?: string[];
optionalBlocks?: string[];
escapeHtml?: boolean;
preserveWhitespace?: boolean;
metadata?: Record<string, any>;
}
export interface ChildTemplateOptions {
name: string;
blocks?: Record<string, BlockDefinition>;
sections?: Record<string, SectionDefinition>;
variables?: Record<string, any>;
customFunctions?: Record<string, (value: any, ...args: any[]) => any>;
escapeHtml?: boolean;
preserveWhitespace?: boolean;
}
export interface BlockDefinition {
content: string;
mode?: 'replace' | 'extend';
priority?: number;
}
export interface SectionDefinition {
content: string;
mode: 'replace' | 'prepend' | 'append';
}
export interface TemplateHierarchy {
baseName: string;
baseTemplate: BaseTemplate | null;
children: {
name: string;
blocks: string[];
sections: string[];
}[];
}
export interface ValidationResult {
isValid: boolean;
errors: string[];
warnings: string[];
}
/**
* Helper function to create common base templates
*/
export declare function createCommonBaseTemplates(): BaseTemplate[];
/**
* Helper function to create a template inheritance manager with common base templates
*/
export declare function createInheritanceManager(): TemplateInheritanceManager;
//# sourceMappingURL=template-inheritance.d.ts.map