UNPKG

@simonecoelhosfo/optimizely-mcp-server

Version:

Optimizely MCP Server for AI assistants with integrated CLI tools

552 lines 21 kB
/** * 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