@simonecoelhosfo/optimizely-mcp-server
Version:
Optimizely MCP Server for AI assistants with integrated CLI tools
140 lines • 3.85 kB
TypeScript
/**
* Entity Migration Constants
* @description Constants and configuration values for the entity migration system
*/
import { EntityType, MigrationOptions } from './types.js';
/**
* Entity dependency order for migration
* Entities must be migrated in this order to satisfy foreign key constraints
*/
export declare const ENTITY_DEPENDENCY_ORDER: EntityType[];
/**
* Default migration options
*/
export declare const DEFAULT_MIGRATION_OPTIONS: MigrationOptions;
/**
* Entity-specific configuration
*/
export declare const ENTITY_CONFIG: {
ARCHIVABLE_ENTITIES: string[];
PLATFORM_SPECIFIC_ENTITIES: string[];
REFERENCE_HEAVY_ENTITIES: string[];
MAX_PAGE_SIZE: {
event: number;
attribute: number;
audience: number;
flag: number;
experiment: number;
campaign: number;
page: number;
extension: number;
group: number;
webhook: number;
collaborator: number;
environment: number;
};
};
/**
* Migration-specific error codes
*/
export declare const MIGRATION_ERROR_CODES: {
INVALID_CONFIG: string;
MISSING_TOKEN: string;
INVALID_PROJECT: string;
FETCH_FAILED: string;
TRANSFORM_FAILED: string;
CREATE_FAILED: string;
VALIDATE_FAILED: string;
MISSING_DEPENDENCY: string;
CIRCULAR_DEPENDENCY: string;
MISSING_MAPPING: string;
INVALID_MAPPING: string;
PLATFORM_MISMATCH: string;
UNSUPPORTED_ENTITY: string;
CHECKPOINT_INVALID: string;
CHECKPOINT_EXPIRED: string;
};
/**
* Progress reporting intervals
*/
export declare const PROGRESS_CONFIG: {
UPDATE_INTERVAL: number;
CHECKPOINT_INTERVAL: number;
ESTIMATED_TIME_PER_ENTITY: {
event: number;
attribute: number;
audience: number;
flag: number;
experiment: number;
campaign: number;
page: number;
extension: number;
group: number;
webhook: number;
collaborator: number;
environment: number;
};
};
/**
* File paths and naming conventions
*/
export declare const FILE_CONFIG: {
CHECKPOINT_DIR: string;
CHECKPOINT_PATTERN: string;
REPORT_PATTERN: string;
REPORT_DIR: string;
};
/**
* Platform detection helpers
*/
export declare const PLATFORM_DETECTION: {
FEATURE_FLAGS: string[];
WEB_FLAGS: string[];
DEFAULT_PLATFORM: "web";
};
/**
* Validation rules
*/
export declare const VALIDATION_RULES: {
MIN_ID_LENGTH: number;
MAX_ID_LENGTH: number;
MIN_NAME_LENGTH: number;
MAX_NAME_LENGTH: number;
MAX_DESCRIPTION_LENGTH: number;
MAX_ARRAY_SIZE: number;
VALIDATION_TIMEOUT: number;
};
/**
* Reference field mappings
* Maps entity types to their reference fields that need transformation
*/
export declare const REFERENCE_FIELDS: Record<string, string[]>;
/**
* Entity key fields
* Defines which field is used as the unique identifier for each entity type in API operations
* NOTE: For migration, see MIGRATION_SEARCH_FIELDS which uses semantic identifiers
*/
export declare const ENTITY_KEY_FIELDS: Record<EntityType, string>;
/**
* Migration search fields
* Defines which field to use for cross-project entity identification during migration
* Uses user-defined semantic identifiers that have meaning across projects
*/
export declare const MIGRATION_SEARCH_FIELDS: Record<EntityType, string>;
/**
* Progress messages
*/
export declare const PROGRESS_MESSAGES: {
INITIALIZING: string;
ANALYZING_DEPENDENCIES: string;
VALIDATING_CONFIG: string;
FETCHING_ENTITIES: string;
TRANSFORMING_REFERENCES: string;
CREATING_ENTITY: string;
VALIDATING_ENTITY: string;
CHECKPOINT_SAVED: string;
MIGRATION_COMPLETE: string;
ROLLING_BACK: string;
GENERATING_REPORT: string;
};
//# sourceMappingURL=constants.d.ts.map