@simonecoelhosfo/optimizely-mcp-server
Version:
Optimizely MCP Server for AI assistants with integrated CLI tools
552 lines • 21 kB
TypeScript
/**
* Entity Dependency Knowledge - Domain knowledge about Optimizely entity relationships
* @description Hard-coded domain knowledge about entity dependencies, relationships, and creation orders.
* This knowledge supplements what can be automatically extracted from OpenAPI schemas.
*/
import type { DependencyInfo, RelationshipInfo } from './OpenAPITypes.js';
export declare const ENTITY_DEPENDENCIES: {
readonly project: {
readonly required_entities: readonly [];
readonly optional_entities: readonly [];
readonly creation_order: readonly ["project"];
readonly platform_differences: {
readonly feature_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
readonly web_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
};
};
readonly experiment: {
readonly required_entities: readonly ["page", "event"];
readonly optional_entities: readonly ["audience", "attribute"];
readonly creation_order: readonly ["page", "event", "audience", "experiment"];
readonly platform_differences: {
readonly feature_experimentation: {
readonly required: readonly ["event"];
readonly optional: readonly ["page", "audience", "attribute"];
};
readonly web_experimentation: {
readonly required: readonly ["page", "event"];
readonly optional: readonly ["audience", "attribute"];
};
};
};
readonly flag: {
readonly required_entities: readonly ["variation"];
readonly optional_entities: readonly ["variable_definition", "audience", "ruleset"];
readonly creation_order: readonly ["variable_definition", "variation", "flag", "ruleset"];
readonly platform_differences: {
readonly feature_experimentation: {
readonly required: readonly ["variation"];
readonly optional: readonly ["variable_definition", "audience", "ruleset"];
};
readonly web_experimentation: {
readonly required: readonly ["variation"];
readonly optional: readonly ["audience", "ruleset"];
};
};
};
readonly variation: {
readonly required_entities: readonly ["flag"];
readonly optional_entities: readonly ["variable_definition"];
readonly creation_order: readonly ["flag", "variable_definition", "variation"];
readonly platform_differences: {
readonly feature_experimentation: {
readonly required: readonly ["flag"];
readonly optional: readonly ["variable_definition"];
};
readonly web_experimentation: {
readonly required: readonly ["flag"];
readonly optional: readonly [];
};
};
};
readonly ruleset: {
readonly required_entities: readonly ["flag", "environment"];
readonly optional_entities: readonly ["audience", "rule"];
readonly creation_order: readonly ["flag", "environment", "audience", "ruleset", "rule"];
readonly platform_differences: {
readonly feature_experimentation: {
readonly required: readonly ["flag", "environment"];
readonly optional: readonly ["audience", "rule"];
};
readonly web_experimentation: {
readonly required: readonly ["flag", "environment"];
readonly optional: readonly ["audience", "rule"];
};
};
};
readonly rule: {
readonly required_entities: readonly ["ruleset"];
readonly optional_entities: readonly ["audience", "variation"];
readonly creation_order: readonly ["ruleset", "audience", "variation", "rule"];
readonly platform_differences: {
readonly feature_experimentation: {
readonly required: readonly ["ruleset"];
readonly optional: readonly ["audience", "variation"];
};
readonly web_experimentation: {
readonly required: readonly ["ruleset"];
readonly optional: readonly ["audience", "variation"];
};
};
};
readonly audience: {
readonly required_entities: readonly [];
readonly optional_entities: readonly ["attribute"];
readonly creation_order: readonly ["attribute", "audience"];
readonly platform_differences: {
readonly feature_experimentation: {
readonly required: readonly [];
readonly optional: readonly ["attribute"];
};
readonly web_experimentation: {
readonly required: readonly [];
readonly optional: readonly ["attribute"];
};
};
};
readonly attribute: {
readonly required_entities: readonly [];
readonly optional_entities: readonly [];
readonly creation_order: readonly ["attribute"];
readonly platform_differences: {
readonly feature_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
readonly web_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
};
};
readonly event: {
readonly required_entities: readonly [];
readonly optional_entities: readonly [];
readonly creation_order: readonly ["event"];
readonly platform_differences: {
readonly feature_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
readonly web_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
};
};
readonly page: {
readonly required_entities: readonly [];
readonly optional_entities: readonly [];
readonly creation_order: readonly ["page"];
readonly platform_differences: {
readonly feature_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
readonly web_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
};
};
readonly campaign: {
readonly required_entities: readonly ["experiment"];
readonly optional_entities: readonly ["page"];
readonly creation_order: readonly ["page", "experiment", "campaign"];
readonly platform_differences: {
readonly feature_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
readonly web_experimentation: {
readonly required: readonly ["experiment"];
readonly optional: readonly ["page"];
};
};
};
readonly variable_definition: {
readonly required_entities: readonly [];
readonly optional_entities: readonly [];
readonly creation_order: readonly ["variable_definition"];
readonly platform_differences: {
readonly feature_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
readonly web_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
};
};
readonly environment: {
readonly required_entities: readonly [];
readonly optional_entities: readonly [];
readonly creation_order: readonly ["environment"];
readonly platform_differences: {
readonly feature_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
readonly web_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
};
};
readonly webhook: {
readonly required_entities: readonly [];
readonly optional_entities: readonly [];
readonly creation_order: readonly ["webhook"];
readonly platform_differences: {
readonly feature_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
readonly web_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
};
};
readonly extension: {
readonly required_entities: readonly [];
readonly optional_entities: readonly [];
readonly creation_order: readonly ["extension"];
readonly platform_differences: {
readonly feature_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
readonly web_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
};
};
readonly group: {
readonly required_entities: readonly [];
readonly optional_entities: readonly ["collaborator"];
readonly creation_order: readonly ["collaborator", "group"];
readonly platform_differences: {
readonly feature_experimentation: {
readonly required: readonly [];
readonly optional: readonly ["collaborator"];
};
readonly web_experimentation: {
readonly required: readonly [];
readonly optional: readonly ["collaborator"];
};
};
};
readonly collaborator: {
readonly required_entities: readonly [];
readonly optional_entities: readonly [];
readonly creation_order: readonly ["collaborator"];
readonly platform_differences: {
readonly feature_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
readonly web_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
};
};
};
export declare const ENTITY_RELATIONSHIPS: {
readonly project: {
readonly parent_entities: readonly [];
readonly child_entities: readonly ["experiment", "flag", "audience", "attribute", "event", "page", "environment"];
readonly referenced_by: readonly ["experiment", "flag", "audience", "attribute", "event", "page"];
readonly references: readonly [];
};
readonly experiment: {
readonly parent_entities: readonly ["project"];
readonly child_entities: readonly ["variation", "campaign"];
readonly referenced_by: readonly ["campaign"];
readonly references: readonly ["project", "page", "event", "audience"];
};
readonly flag: {
readonly parent_entities: readonly ["project"];
readonly child_entities: readonly ["variation", "ruleset"];
readonly referenced_by: readonly ["ruleset", "rule"];
readonly references: readonly ["project", "environment"];
};
readonly variation: {
readonly parent_entities: readonly ["flag", "experiment"];
readonly child_entities: readonly [];
readonly referenced_by: readonly ["rule"];
readonly references: readonly ["flag", "experiment", "variable_definition"];
};
readonly ruleset: {
readonly parent_entities: readonly ["flag", "environment"];
readonly child_entities: readonly ["rule"];
readonly referenced_by: readonly ["rule"];
readonly references: readonly ["flag", "environment"];
};
readonly rule: {
readonly parent_entities: readonly ["ruleset"];
readonly child_entities: readonly [];
readonly referenced_by: readonly [];
readonly references: readonly ["ruleset", "audience", "variation"];
};
readonly audience: {
readonly parent_entities: readonly ["project"];
readonly child_entities: readonly [];
readonly referenced_by: readonly ["experiment", "rule"];
readonly references: readonly ["project", "attribute"];
};
readonly attribute: {
readonly parent_entities: readonly ["project"];
readonly child_entities: readonly [];
readonly referenced_by: readonly ["audience"];
readonly references: readonly ["project"];
};
readonly event: {
readonly parent_entities: readonly ["project"];
readonly child_entities: readonly [];
readonly referenced_by: readonly ["experiment"];
readonly references: readonly ["project"];
};
readonly page: {
readonly parent_entities: readonly ["project"];
readonly child_entities: readonly [];
readonly referenced_by: readonly ["experiment", "campaign"];
readonly references: readonly ["project"];
};
readonly campaign: {
readonly parent_entities: readonly ["project"];
readonly child_entities: readonly [];
readonly referenced_by: readonly [];
readonly references: readonly ["project", "experiment", "page"];
};
readonly variable_definition: {
readonly parent_entities: readonly ["project"];
readonly child_entities: readonly [];
readonly referenced_by: readonly ["flag", "variation"];
readonly references: readonly ["project"];
};
readonly environment: {
readonly parent_entities: readonly ["project"];
readonly child_entities: readonly [];
readonly referenced_by: readonly ["flag", "ruleset"];
readonly references: readonly ["project"];
};
readonly webhook: {
readonly parent_entities: readonly ["project"];
readonly child_entities: readonly [];
readonly referenced_by: readonly [];
readonly references: readonly ["project"];
};
readonly extension: {
readonly parent_entities: readonly ["project"];
readonly child_entities: readonly [];
readonly referenced_by: readonly [];
readonly references: readonly ["project"];
};
readonly group: {
readonly parent_entities: readonly ["project"];
readonly child_entities: readonly [];
readonly referenced_by: readonly [];
readonly references: readonly ["project", "collaborator"];
};
readonly collaborator: {
readonly parent_entities: readonly [];
readonly child_entities: readonly [];
readonly referenced_by: readonly ["group"];
readonly references: readonly [];
};
};
export declare const DETAILED_DEPENDENCY_INFO: Record<string, Record<string, DependencyInfo[]>>;
export declare const COMMON_CREATION_PATTERNS: {
basic_experiment: {
description: string;
entities_needed: string[];
creation_order: string[];
platform: string;
};
feature_flag: {
description: string;
entities_needed: string[];
creation_order: string[];
platform: string;
};
targeted_experiment: {
description: string;
entities_needed: string[];
creation_order: string[];
platform: string;
};
flag_with_rules: {
description: string;
entities_needed: string[];
creation_order: string[];
platform: string;
};
};
export declare function getDependenciesForEntity(entityType: string, operation?: string): DependencyInfo[];
export declare function getRelationshipsForEntity(entityType: string): RelationshipInfo[];
export declare function getCreationOrder(entityType: string): string[];
export declare function getPlatformDifferences(entityType: string): {
readonly feature_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
readonly web_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
} | {
readonly feature_experimentation: {
readonly required: readonly ["event"];
readonly optional: readonly ["page", "audience", "attribute"];
};
readonly web_experimentation: {
readonly required: readonly ["page", "event"];
readonly optional: readonly ["audience", "attribute"];
};
} | {
readonly feature_experimentation: {
readonly required: readonly ["variation"];
readonly optional: readonly ["variable_definition", "audience", "ruleset"];
};
readonly web_experimentation: {
readonly required: readonly ["variation"];
readonly optional: readonly ["audience", "ruleset"];
};
} | {
readonly feature_experimentation: {
readonly required: readonly ["flag"];
readonly optional: readonly ["variable_definition"];
};
readonly web_experimentation: {
readonly required: readonly ["flag"];
readonly optional: readonly [];
};
} | {
readonly feature_experimentation: {
readonly required: readonly ["flag", "environment"];
readonly optional: readonly ["audience", "rule"];
};
readonly web_experimentation: {
readonly required: readonly ["flag", "environment"];
readonly optional: readonly ["audience", "rule"];
};
} | {
readonly feature_experimentation: {
readonly required: readonly ["ruleset"];
readonly optional: readonly ["audience", "variation"];
};
readonly web_experimentation: {
readonly required: readonly ["ruleset"];
readonly optional: readonly ["audience", "variation"];
};
} | {
readonly feature_experimentation: {
readonly required: readonly [];
readonly optional: readonly ["attribute"];
};
readonly web_experimentation: {
readonly required: readonly [];
readonly optional: readonly ["attribute"];
};
} | {
readonly feature_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
readonly web_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
} | {
readonly feature_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
readonly web_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
} | {
readonly feature_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
readonly web_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
} | {
readonly feature_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
readonly web_experimentation: {
readonly required: readonly ["experiment"];
readonly optional: readonly ["page"];
};
} | {
readonly feature_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
readonly web_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
} | {
readonly feature_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
readonly web_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
} | {
readonly feature_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
readonly web_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
} | {
readonly feature_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
readonly web_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
} | {
readonly feature_experimentation: {
readonly required: readonly [];
readonly optional: readonly ["collaborator"];
};
readonly web_experimentation: {
readonly required: readonly [];
readonly optional: readonly ["collaborator"];
};
} | {
readonly feature_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
readonly web_experimentation: {
readonly required: readonly [];
readonly optional: readonly [];
};
};
//# sourceMappingURL=EntityDependencyKnowledge.d.ts.map