adpa-enterprise-framework-automation
Version:
Modular, standards-compliant Node.js/TypeScript automation framework for enterprise requirements, project, and data management. Provides CLI and API for BABOK v3, PMBOK 7th Edition, and DMBOK 2.0 (in progress). Production-ready Express.js API with TypeSpe
84 lines • 2.3 kB
TypeScript
/**
* Type definitions for the Advanced Template Engine
*
* @version 3.0.0
* @author Requirements Gathering Agent Team
* @created June 2025
*/
export interface Template {
id: string;
name: string;
category: string;
description: string;
content: string;
variables: TemplateVariable[];
isActive: boolean;
createdAt: Date;
updatedAt: Date;
version: string;
}
export interface EnhancedTemplate extends Template {
dependencies: string[];
contextInjectionPoints: ContextInjectionPoint[];
aiInstructions: ContextualAIInstruction[];
}
export interface TemplateContext {
baseContext: string;
variables: Record<string, any>;
dependencies: Record<string, string>;
metadata: ContextMetadata;
}
export interface ContextualAIInstruction {
id: string;
type: 'system' | 'user' | 'preprocessing';
content: string;
contextDependencies: string[];
conditionalLogic?: ConditionalRule[];
}
export interface ContextMetadata {
projectType: string;
industry: string;
complexity: 'low' | 'medium' | 'high';
stakeholderCount: number;
customFields: Record<string, any>;
}
export interface ContextInjectionPoint {
placeholder: string;
dependencies: ContextDependency[];
aggregationStrategy: 'concatenate' | 'summarize' | 'prioritize' | 'template';
maxLength?: number;
enrichmentRules?: EnrichmentRule[];
}
export interface ContextDependency {
documentKey: string;
required: boolean;
weight: number;
maxAge?: number;
contextTransform?: (content: string) => string;
}
export interface TemplateVariable {
name: string;
type: 'string' | 'number' | 'boolean' | 'array' | 'object';
defaultValue?: any;
required: boolean;
description: string;
validation?: ValidationRule;
}
export interface ConditionalRule {
condition: string;
action: 'include' | 'exclude' | 'modify';
target: string;
value?: any;
}
export interface ValidationRule {
type: 'regex' | 'range' | 'enum' | 'custom';
value: any;
message: string;
}
export interface EnrichmentRule {
type: 'crossReference' | 'summarize' | 'extract' | 'transform';
source: string;
target: string;
transformation: string;
}
//# sourceMappingURL=template.types.d.ts.map