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
164 lines • 4.54 kB
TypeScript
/**
* Adobe Illustrator API Client
*
* Provides integration with Adobe Illustrator APIs for automated
* data visualization, infographics, and vector graphics generation.
*/
export interface VisualizationRequest {
type: 'timeline' | 'chart' | 'infographic' | 'process-flow' | 'stakeholder-matrix';
data: any;
style: VisualizationStyle;
dimensions: {
width: number;
height: number;
dpi: number;
};
outputFormat: 'ai' | 'svg' | 'png' | 'pdf';
}
export interface VisualizationStyle {
colorScheme: string[];
fontFamily: string;
theme: 'corporate' | 'modern' | 'minimal' | 'technical';
branding?: {
logo?: string;
primaryColor: string;
secondaryColor: string;
accentColor: string;
};
}
export interface TimelineData {
title: string;
milestones: Milestone[];
startDate: Date;
endDate: Date;
phases?: Phase[];
}
export interface Milestone {
id: string;
title: string;
date: Date;
description?: string;
status: 'completed' | 'in-progress' | 'pending' | 'at-risk';
deliverables?: string[];
}
export interface Phase {
id: string;
name: string;
startDate: Date;
endDate: Date;
color: string;
milestones: string[];
}
export interface ChartData {
title: string;
type: 'bar' | 'pie' | 'line' | 'scatter' | 'matrix' | 'gantt';
datasets: Dataset[];
labels: string[];
options?: ChartOptions;
}
export interface Dataset {
label: string;
data: number[];
backgroundColor?: string[];
borderColor?: string;
borderWidth?: number;
}
export interface ChartOptions {
responsive: boolean;
showLegend: boolean;
showLabels: boolean;
showValues: boolean;
gridLines: boolean;
animations: boolean;
}
export interface ProcessFlowData {
title: string;
nodes: FlowNode[];
connections: FlowConnection[];
layout: 'horizontal' | 'vertical' | 'circular' | 'hierarchical';
}
export interface FlowNode {
id: string;
label: string;
type: 'start' | 'process' | 'decision' | 'end' | 'connector';
position?: {
x: number;
y: number;
};
styling?: NodeStyling;
}
export interface FlowConnection {
from: string;
to: string;
label?: string;
type: 'normal' | 'conditional' | 'error' | 'success';
}
export interface NodeStyling {
fillColor: string;
borderColor: string;
textColor: string;
shape: 'rectangle' | 'circle' | 'diamond' | 'hexagon';
}
export interface IllustratorAsset {
id: string;
type: string;
outputPath: string;
format: string;
dimensions: {
width: number;
height: number;
dpi: number;
};
fileSize: number;
metadata: {
createdAt: Date;
processingTime: number;
dataPoints: number;
complexity: 'simple' | 'moderate' | 'complex';
};
previewUrl?: string;
}
export declare class IllustratorAPIClient {
private authenticator;
private apiEndpoint;
private accessToken;
constructor();
/**
* Initialize the client and authenticate with Adobe Illustrator API
*/
initialize(): Promise<void>;
/**
* Generate a project timeline infographic
*/
generateTimeline(data: TimelineData, style: VisualizationStyle): Promise<IllustratorAsset>;
/**
* Generate charts and graphs from data
*/
generateChart(data: ChartData, style: VisualizationStyle): Promise<IllustratorAsset>;
/**
* Generate process flow diagrams
*/
generateProcessFlow(data: ProcessFlowData, style: VisualizationStyle): Promise<IllustratorAsset>;
/**
* Generate infographics from content data
*/
generateInfographic(content: any, type: 'project-summary' | 'requirements-overview' | 'risk-assessment', style: VisualizationStyle): Promise<IllustratorAsset>;
/**
* Batch generate multiple visualizations
*/
batchGenerateVisualizations(requests: VisualizationRequest[]): Promise<IllustratorAsset[]>;
/**
* Extract visualizable data from document content
*/
analyzeContentForVisualization(content: string): Promise<{
timelines: TimelineData[];
charts: ChartData[];
processes: ProcessFlowData[];
}>;
private ensureAuthenticated;
private createVisualization;
private assessComplexity;
private countContentElements;
}
export declare const illustratorClient: IllustratorAPIClient;
//# sourceMappingURL=illustrator-client.d.ts.map