@simonecoelhosfo/optimizely-mcp-server
Version:
Optimizely MCP Server for AI assistants with integrated CLI tools
108 lines • 3.1 kB
TypeScript
/**
* Registry for Orchestration Sample Templates
* Manages discovery and retrieval of educational orchestration examples
*/
export type SampleType = 'skeleton' | 'pattern' | 'complete_example';
export type WorkflowType = 'personalization_campaign' | 'ab_test' | 'progressive_rollout' | 'feature_flag_with_targeting' | 'multi_entity_creation' | 'campaign_with_experiments';
export type Platform = 'web' | 'feature' | 'both';
export interface OrchestrationSample {
id: string;
workflow_type: WorkflowType;
sample_type: SampleType;
complexity: number;
platform: Platform;
name: string;
description: string;
use_cases: string[];
template: any;
explanations?: Record<string, string>;
best_practices?: string[];
common_mistakes?: Array<{
mistake: string;
example: string;
solution: string;
}>;
customization_guide?: Array<{
path: string;
description: string;
example: string;
}>;
}
export interface SampleCatalog {
total_samples: number;
by_workflow: Record<WorkflowType, {
description: string;
available_types: SampleType[];
complexity_levels: number[];
platforms: Platform[];
entity_count: string;
typical_duration: string;
use_cases: string[];
}>;
by_platform: Record<Platform, WorkflowType[]>;
learning_path: string[];
}
export declare class OrchestrationSampleRegistry {
private samples;
private initialized;
constructor();
/**
* Initialize the registry by loading all samples
*/
initialize(): Promise<void>;
/**
* Get a specific sample
*/
getSample(workflowType: WorkflowType, sampleType?: SampleType, complexity?: number): Promise<OrchestrationSample | null>;
/**
* Get a sample by ID
*/
getSampleById(sampleId: string): Promise<OrchestrationSample | null>;
/**
* List available samples with optional filtering
*/
listAvailable(filters?: {
platform?: Platform;
workflow_type?: WorkflowType;
sample_type?: SampleType;
complexity?: number;
}): Promise<SampleCatalog>;
/**
* Get the default sample for new users
*/
getDefaultSample(): Promise<OrchestrationSample>;
/**
* Build a catalog from a set of samples
*/
private buildCatalog;
/**
* Load skeleton samples
*/
private loadSkeletonSamples;
/**
* Load pattern samples
*/
private loadPatternSamples;
/**
* Load complete examples from Orchestration Bible
*/
private loadCompleteExamples;
/**
* Add a sample to the registry
*/
private addSample;
/**
* Create a minimal fallback sample
*/
private createMinimalSample;
/**
* Get typical entity count for a workflow type
*/
private getEntityCount;
/**
* Get typical duration for a workflow type
*/
private getTypicalDuration;
}
export declare const sampleRegistry: OrchestrationSampleRegistry;
//# sourceMappingURL=SampleRegistry.d.ts.map