@objectstack/spec 3.0.11 → 3.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai/index.d.mts +2 -2
- package/dist/ai/index.d.ts +2 -2
- package/dist/ai/index.js +14 -2
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/index.mjs +14 -2
- package/dist/ai/index.mjs.map +1 -1
- package/dist/api/index.d.mts +3 -3
- package/dist/api/index.d.ts +3 -3
- package/dist/api/index.js +34 -9
- package/dist/api/index.js.map +1 -1
- package/dist/api/index.mjs +34 -9
- package/dist/api/index.mjs.map +1 -1
- package/dist/app-install.zod-TL0VEjw0.d.mts +781 -0
- package/dist/app-install.zod-TL0VEjw0.d.ts +781 -0
- package/dist/contracts/index.d.mts +5 -5
- package/dist/contracts/index.d.ts +5 -5
- package/dist/data/index.d.mts +4 -4
- package/dist/data/index.d.ts +4 -4
- package/dist/data/index.js +26 -5
- package/dist/data/index.js.map +1 -1
- package/dist/data/index.mjs +26 -5
- package/dist/data/index.mjs.map +1 -1
- package/dist/{field.zod-K9xdi_Bk.d.mts → field.zod-BXPkmNkQ.d.mts} +24 -1
- package/dist/{field.zod-CMm9uHBm.d.ts → field.zod-DgsEiIa6.d.ts} +24 -1
- package/dist/{index-Dyec30Bw.d.mts → index-5iBoJmc7.d.mts} +2 -2
- package/dist/{index-CIiQ-UuT.d.mts → index-B5YO0Uju.d.mts} +3 -3
- package/dist/{index-D_XkwA3D.d.ts → index-C-6PuoI7.d.ts} +3 -3
- package/dist/{index-DRLcnyOy.d.ts → index-C6GcA_Hj.d.ts} +140 -4
- package/dist/{index-DEvrB28l.d.ts → index-CySwtbLx.d.mts} +23 -395
- package/dist/{index-CVsfQ7rS.d.ts → index-DS5q38DG.d.ts} +2 -2
- package/dist/{index-B_XH6aFD.d.mts → index-DSnRwVCu.d.mts} +1 -1
- package/dist/{index-DZ7LmKj0.d.ts → index-DWoCp2SN.d.ts} +33 -4
- package/dist/{index-iPNdbMFV.d.mts → index-De-dHGKY.d.mts} +140 -4
- package/dist/{index-Duacv2Tg.d.mts → index-Dei0O725.d.ts} +23 -395
- package/dist/{index-CNiPVzsx.d.ts → index-DeuwKMH7.d.ts} +1 -1
- package/dist/{index-CJIWgRtH.d.mts → index-NqO_bVWA.d.mts} +33 -4
- package/dist/index.d.mts +243 -15
- package/dist/index.d.ts +243 -15
- package/dist/index.js +114 -15
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +114 -15
- package/dist/index.mjs.map +1 -1
- package/dist/{object.zod-BkW4b4v5.d.mts → object.zod-BtsZpEKE.d.mts} +1 -1
- package/dist/{object.zod-BueWlT2y.d.ts → object.zod-WWnUTv7u.d.ts} +1 -1
- package/dist/shared/index.js +14 -2
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/index.mjs +14 -2
- package/dist/shared/index.mjs.map +1 -1
- package/dist/{subscription.zod-D1ut7JDL.d.ts → subscription.zod-CyNZVyye.d.ts} +2 -2
- package/dist/{subscription.zod-Dy8wi1B9.d.mts → subscription.zod-U5IP-uQk.d.mts} +2 -2
- package/dist/system/index.d.mts +3 -3
- package/dist/system/index.d.ts +3 -3
- package/dist/system/index.js +31 -2
- package/dist/system/index.js.map +1 -1
- package/dist/system/index.mjs +31 -3
- package/dist/system/index.mjs.map +1 -1
- package/dist/ui/index.d.mts +1 -1
- package/dist/ui/index.d.ts +1 -1
- package/dist/ui/index.js +42 -6
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/index.mjs +42 -7
- package/dist/ui/index.mjs.map +1 -1
- package/json-schema/ai/AICodeReviewResult.json +2 -2
- package/json-schema/ai/AIKnowledge.json +2 -2
- package/json-schema/ai/AIModelConfig.json +2 -2
- package/json-schema/ai/AIOperationCost.json +2 -2
- package/json-schema/ai/AIOpsAgentConfig.json +2 -2
- package/json-schema/ai/AIOrchestration.json +2 -2
- package/json-schema/ai/AIOrchestrationExecutionResult.json +2 -2
- package/json-schema/ai/AIOrchestrationTrigger.json +2 -2
- package/json-schema/ai/AITask.json +2 -2
- package/json-schema/ai/AITaskType.json +2 -2
- package/json-schema/ai/AITool.json +2 -2
- package/json-schema/ai/Agent.json +2 -2
- package/json-schema/ai/AgentAction.json +2 -2
- package/json-schema/ai/AgentActionResult.json +2 -2
- package/json-schema/ai/AgentActionSequence.json +2 -2
- package/json-schema/ai/AgentActionSequenceResult.json +2 -2
- package/json-schema/ai/AgentCommunicationProtocol.json +2 -2
- package/json-schema/ai/AgentGroupMember.json +2 -2
- package/json-schema/ai/AgentGroupRole.json +2 -2
- package/json-schema/ai/AnomalyDetectionConfig.json +2 -2
- package/json-schema/ai/AutoScalingPolicy.json +2 -2
- package/json-schema/ai/BatchAIOrchestrationExecution.json +2 -2
- package/json-schema/ai/BillingPeriod.json +2 -2
- package/json-schema/ai/BudgetLimit.json +2 -2
- package/json-schema/ai/BudgetStatus.json +2 -2
- package/json-schema/ai/BudgetType.json +2 -2
- package/json-schema/ai/CICDPipelineConfig.json +2 -2
- package/json-schema/ai/ChunkingStrategy.json +2 -2
- package/json-schema/ai/CodeContent.json +2 -2
- package/json-schema/ai/CodeGenerationConfig.json +2 -2
- package/json-schema/ai/CodeGenerationRequest.json +2 -2
- package/json-schema/ai/CodeGenerationTarget.json +2 -2
- package/json-schema/ai/ComponentActionParams.json +2 -2
- package/json-schema/ai/ComponentActionType.json +2 -2
- package/json-schema/ai/ComponentAgentAction.json +2 -2
- package/json-schema/ai/ConversationAnalytics.json +2 -2
- package/json-schema/ai/ConversationContext.json +2 -2
- package/json-schema/ai/ConversationMessage.json +2 -2
- package/json-schema/ai/ConversationSession.json +2 -2
- package/json-schema/ai/ConversationSummary.json +2 -2
- package/json-schema/ai/CostAlert.json +2 -2
- package/json-schema/ai/CostAlertType.json +2 -2
- package/json-schema/ai/CostAnalytics.json +2 -2
- package/json-schema/ai/CostBreakdownDimension.json +2 -2
- package/json-schema/ai/CostBreakdownEntry.json +2 -2
- package/json-schema/ai/CostEntry.json +2 -2
- package/json-schema/ai/CostMetricType.json +2 -2
- package/json-schema/ai/CostOptimizationRecommendation.json +2 -2
- package/json-schema/ai/CostQueryFilters.json +2 -2
- package/json-schema/ai/CostReport.json +2 -2
- package/json-schema/ai/DataActionParams.json +2 -2
- package/json-schema/ai/DataActionType.json +2 -2
- package/json-schema/ai/DataAgentAction.json +2 -2
- package/json-schema/ai/DeploymentStrategy.json +2 -2
- package/json-schema/ai/DevOpsAgent.json +2 -2
- package/json-schema/ai/DevOpsTool.json +2 -2
- package/json-schema/ai/DevelopmentConfig.json +2 -2
- package/json-schema/ai/DocumentChunk.json +2 -2
- package/json-schema/ai/DocumentLoaderConfig.json +2 -2
- package/json-schema/ai/DocumentMetadata.json +2 -2
- package/json-schema/ai/EmbeddingModel.json +2 -2
- package/json-schema/ai/Entity.json +2 -2
- package/json-schema/ai/EvaluationMetrics.json +2 -2
- package/json-schema/ai/FeedbackLoop.json +6 -6
- package/json-schema/ai/FieldSynonymConfig.json +2 -2
- package/json-schema/ai/FileContent.json +2 -2
- package/json-schema/ai/FilterExpression.json +2 -2
- package/json-schema/ai/FilterGroup.json +2 -2
- package/json-schema/ai/FormActionParams.json +2 -2
- package/json-schema/ai/FormActionType.json +2 -2
- package/json-schema/ai/FormAgentAction.json +2 -2
- package/json-schema/ai/FunctionCall.json +2 -2
- package/json-schema/ai/GeneratedCode.json +2 -2
- package/json-schema/ai/GitHubIntegration.json +2 -2
- package/json-schema/ai/Hyperparameters.json +2 -2
- package/json-schema/ai/ImageContent.json +2 -2
- package/json-schema/ai/IntegrationConfig.json +2 -2
- package/json-schema/ai/IntentActionMapping.json +2 -2
- package/json-schema/ai/Issue.json +2 -2
- package/json-schema/ai/MCPCapability.json +2 -2
- package/json-schema/ai/MCPClientConfig.json +2 -2
- package/json-schema/ai/MCPPrompt.json +2 -2
- package/json-schema/ai/MCPPromptArgument.json +2 -2
- package/json-schema/ai/MCPPromptMessage.json +2 -2
- package/json-schema/ai/MCPPromptRequest.json +2 -2
- package/json-schema/ai/MCPPromptResponse.json +2 -2
- package/json-schema/ai/MCPResource.json +2 -2
- package/json-schema/ai/MCPResourceRequest.json +2 -2
- package/json-schema/ai/MCPResourceResponse.json +2 -2
- package/json-schema/ai/MCPResourceTemplate.json +2 -2
- package/json-schema/ai/MCPResourceType.json +2 -2
- package/json-schema/ai/MCPRootEntry.json +2 -2
- package/json-schema/ai/MCPRootsConfig.json +2 -2
- package/json-schema/ai/MCPSamplingConfig.json +2 -2
- package/json-schema/ai/MCPServerConfig.json +2 -2
- package/json-schema/ai/MCPServerInfo.json +2 -2
- package/json-schema/ai/MCPStreamingConfig.json +2 -2
- package/json-schema/ai/MCPTool.json +2 -2
- package/json-schema/ai/MCPToolApproval.json +2 -2
- package/json-schema/ai/MCPToolCallRequest.json +2 -2
- package/json-schema/ai/MCPToolCallResponse.json +2 -2
- package/json-schema/ai/MCPToolParameter.json +2 -2
- package/json-schema/ai/MCPTransportConfig.json +2 -2
- package/json-schema/ai/MCPTransportType.json +2 -2
- package/json-schema/ai/MessageContent.json +2 -2
- package/json-schema/ai/MessageContentType.json +2 -2
- package/json-schema/ai/MessagePruningEvent.json +2 -2
- package/json-schema/ai/MessageRole.json +2 -2
- package/json-schema/ai/MetadataFilter.json +2 -2
- package/json-schema/ai/MetadataSource.json +2 -2
- package/json-schema/ai/ModelCapability.json +2 -2
- package/json-schema/ai/ModelConfig.json +2 -2
- package/json-schema/ai/ModelDrift.json +2 -2
- package/json-schema/ai/ModelFeature.json +2 -2
- package/json-schema/ai/ModelLimits.json +2 -2
- package/json-schema/ai/ModelPricing.json +2 -2
- package/json-schema/ai/ModelProvider.json +2 -2
- package/json-schema/ai/ModelRegistry.json +2 -2
- package/json-schema/ai/ModelRegistryEntry.json +2 -2
- package/json-schema/ai/ModelSelectionCriteria.json +2 -2
- package/json-schema/ai/MonitoringConfig.json +2 -2
- package/json-schema/ai/MultiAgentGroup.json +2 -2
- package/json-schema/ai/NLQAnalytics.json +2 -2
- package/json-schema/ai/NLQFieldMapping.json +2 -2
- package/json-schema/ai/NLQModelConfig.json +2 -2
- package/json-schema/ai/NLQParseResult.json +2 -2
- package/json-schema/ai/NLQRequest.json +2 -2
- package/json-schema/ai/NLQResponse.json +2 -2
- package/json-schema/ai/NLQTrainingExample.json +2 -2
- package/json-schema/ai/NavigationActionParams.json +2 -2
- package/json-schema/ai/NavigationActionType.json +2 -2
- package/json-schema/ai/NavigationAgentAction.json +2 -2
- package/json-schema/ai/PerformanceOptimization.json +2 -2
- package/json-schema/ai/PipelineStage.json +2 -2
- package/json-schema/ai/PluginCompositionRequest.json +2 -2
- package/json-schema/ai/PluginCompositionResult.json +2 -2
- package/json-schema/ai/PluginRecommendation.json +2 -2
- package/json-schema/ai/PluginRecommendationRequest.json +2 -2
- package/json-schema/ai/PluginScaffoldingTemplate.json +2 -2
- package/json-schema/ai/PostProcessingAction.json +2 -2
- package/json-schema/ai/PredictionRequest.json +2 -2
- package/json-schema/ai/PredictionResult.json +2 -2
- package/json-schema/ai/PredictiveModel.json +2 -2
- package/json-schema/ai/PredictiveModelType.json +2 -2
- package/json-schema/ai/PromptTemplate.json +2 -2
- package/json-schema/ai/PromptVariable.json +2 -2
- package/json-schema/ai/QueryContext.json +2 -2
- package/json-schema/ai/QueryIntent.json +2 -2
- package/json-schema/ai/QueryTemplate.json +2 -2
- package/json-schema/ai/RAGPipelineConfig.json +2 -2
- package/json-schema/ai/RAGPipelineStatus.json +2 -2
- package/json-schema/ai/RAGQueryRequest.json +2 -2
- package/json-schema/ai/RAGQueryResponse.json +2 -2
- package/json-schema/ai/RerankingConfig.json +2 -2
- package/json-schema/ai/Resolution.json +6 -6
- package/json-schema/ai/RetrievalStrategy.json +2 -2
- package/json-schema/ai/RootCauseAnalysisRequest.json +2 -2
- package/json-schema/ai/RootCauseAnalysisResult.json +2 -2
- package/json-schema/ai/SelfHealingAction.json +2 -2
- package/json-schema/ai/SelfHealingConfig.json +2 -2
- package/json-schema/ai/StructuredOutputConfig.json +2 -2
- package/json-schema/ai/StructuredOutputFormat.json +2 -2
- package/json-schema/ai/TestingConfig.json +2 -2
- package/json-schema/ai/TextContent.json +2 -2
- package/json-schema/ai/Timeframe.json +2 -2
- package/json-schema/ai/TokenBudgetConfig.json +2 -2
- package/json-schema/ai/TokenBudgetStrategy.json +2 -2
- package/json-schema/ai/TokenUsage.json +2 -2
- package/json-schema/ai/TokenUsageStats.json +2 -2
- package/json-schema/ai/ToolCall.json +2 -2
- package/json-schema/ai/TrainingConfig.json +2 -2
- package/json-schema/ai/TransformPipelineStep.json +2 -2
- package/json-schema/ai/TypedAgentAction.json +2 -2
- package/json-schema/ai/UIActionType.json +2 -2
- package/json-schema/ai/VectorStoreConfig.json +2 -2
- package/json-schema/ai/VectorStoreProvider.json +2 -2
- package/json-schema/ai/VercelIntegration.json +2 -2
- package/json-schema/ai/VersionManagement.json +2 -2
- package/json-schema/ai/ViewActionParams.json +2 -2
- package/json-schema/ai/ViewActionType.json +2 -2
- package/json-schema/ai/ViewAgentAction.json +2 -2
- package/json-schema/ai/WorkflowActionParams.json +2 -2
- package/json-schema/ai/WorkflowActionType.json +2 -2
- package/json-schema/ai/WorkflowAgentAction.json +2 -2
- package/json-schema/ai/WorkflowFieldCondition.json +2 -2
- package/json-schema/ai/WorkflowSchedule.json +2 -2
- package/json-schema/api/AckMessage.json +2 -2
- package/json-schema/api/AddReactionRequest.json +2 -2
- package/json-schema/api/AddReactionResponse.json +2 -2
- package/json-schema/api/AiChatRequest.json +2 -2
- package/json-schema/api/AiChatResponse.json +2 -2
- package/json-schema/api/AiInsightsRequest.json +2 -2
- package/json-schema/api/AiInsightsResponse.json +2 -2
- package/json-schema/api/AiNlqRequest.json +2 -2
- package/json-schema/api/AiNlqResponse.json +2 -2
- package/json-schema/api/AiSuggestRequest.json +2 -2
- package/json-schema/api/AiSuggestResponse.json +2 -2
- package/json-schema/api/AnalyticsEndpoint.json +2 -2
- package/json-schema/api/AnalyticsMetadataResponse.json +2 -2
- package/json-schema/api/AnalyticsQueryRequest.json +2 -2
- package/json-schema/api/AnalyticsResultResponse.json +2 -2
- package/json-schema/api/AnalyticsSqlResponse.json +2 -2
- package/json-schema/api/ApiChangelogEntry.json +2 -2
- package/json-schema/api/ApiDiscoveryQuery.json +2 -2
- package/json-schema/api/ApiDiscoveryResponse.json +2 -2
- package/json-schema/api/ApiDocumentationConfig.json +2 -2
- package/json-schema/api/ApiEndpoint.json +2 -2
- package/json-schema/api/ApiEndpointRegistration.json +2 -2
- package/json-schema/api/ApiError.json +2 -2
- package/json-schema/api/ApiMapping.json +2 -2
- package/json-schema/api/ApiMetadata.json +2 -2
- package/json-schema/api/ApiParameter.json +2 -2
- package/json-schema/api/ApiProtocolType.json +2 -2
- package/json-schema/api/ApiRegistry.json +2 -2
- package/json-schema/api/ApiRegistryEntry.json +2 -2
- package/json-schema/api/ApiResponse.json +2 -2
- package/json-schema/api/ApiRoutes.json +2 -2
- package/json-schema/api/ApiTestCollection.json +2 -2
- package/json-schema/api/ApiTestRequest.json +2 -2
- package/json-schema/api/ApiTestingUiConfig.json +2 -2
- package/json-schema/api/ApiTestingUiType.json +2 -2
- package/json-schema/api/AppDefinitionResponse.json +2 -2
- package/json-schema/api/AuthEndpoint.json +2 -2
- package/json-schema/api/AuthProvider.json +2 -2
- package/json-schema/api/AutomationApiErrorCode.json +2 -2
- package/json-schema/api/AutomationFlowPathParams.json +2 -2
- package/json-schema/api/AutomationRunPathParams.json +2 -2
- package/json-schema/api/AutomationTriggerRequest.json +2 -2
- package/json-schema/api/AutomationTriggerResponse.json +2 -2
- package/json-schema/api/BasePresence.json +2 -2
- package/json-schema/api/BaseResponse.json +2 -2
- package/json-schema/api/BatchConfig.json +2 -2
- package/json-schema/api/BatchDataRequest.json +2 -2
- package/json-schema/api/BatchDataResponse.json +2 -2
- package/json-schema/api/BatchEndpointsConfig.json +2 -2
- package/json-schema/api/BatchLoadingStrategy.json +2 -2
- package/json-schema/api/BatchOperationResult.json +2 -2
- package/json-schema/api/BatchOperationType.json +2 -2
- package/json-schema/api/BatchOptions.json +2 -2
- package/json-schema/api/BatchRecord.json +2 -2
- package/json-schema/api/BatchUpdateRequest.json +2 -2
- package/json-schema/api/BatchUpdateResponse.json +2 -2
- package/json-schema/api/BulkRequest.json +2 -2
- package/json-schema/api/BulkResponse.json +2 -2
- package/json-schema/api/CacheControl.json +2 -2
- package/json-schema/api/CacheDirective.json +2 -2
- package/json-schema/api/CacheInvalidationRequest.json +2 -2
- package/json-schema/api/CacheInvalidationResponse.json +2 -2
- package/json-schema/api/CacheInvalidationTarget.json +2 -2
- package/json-schema/api/Callback.json +2 -2
- package/json-schema/api/ChangelogEntry.json +2 -2
- package/json-schema/api/CheckPermissionRequest.json +2 -2
- package/json-schema/api/CheckPermissionResponse.json +2 -2
- package/json-schema/api/CodeGenerationTemplate.json +2 -2
- package/json-schema/api/CompleteChunkedUploadRequest.json +2 -2
- package/json-schema/api/CompleteChunkedUploadResponse.json +2 -2
- package/json-schema/api/CompleteUploadRequest.json +2 -2
- package/json-schema/api/ConceptListResponse.json +2 -2
- package/json-schema/api/ConflictResolutionStrategy.json +2 -2
- package/json-schema/api/CreateDataRequest.json +2 -2
- package/json-schema/api/CreateDataResponse.json +2 -2
- package/json-schema/api/CreateExportJobRequest.json +2 -2
- package/json-schema/api/CreateExportJobResponse.json +2 -2
- package/json-schema/api/CreateFeedItemRequest.json +2 -2
- package/json-schema/api/CreateFeedItemResponse.json +2 -2
- package/json-schema/api/CreateFlowRequest.json +2 -2
- package/json-schema/api/CreateFlowResponse.json +2 -2
- package/json-schema/api/CreateManyDataRequest.json +2 -2
- package/json-schema/api/CreateManyDataResponse.json +2 -2
- package/json-schema/api/CreateRequest.json +2 -2
- package/json-schema/api/CrudEndpointPattern.json +2 -2
- package/json-schema/api/CrudEndpointsConfig.json +2 -2
- package/json-schema/api/CrudOperation.json +2 -2
- package/json-schema/api/CursorMessage.json +2 -2
- package/json-schema/api/CursorPosition.json +2 -2
- package/json-schema/api/DataLoaderConfig.json +2 -2
- package/json-schema/api/DeduplicationStrategy.json +2 -2
- package/json-schema/api/DeleteDataRequest.json +2 -2
- package/json-schema/api/DeleteDataResponse.json +2 -2
- package/json-schema/api/DeleteFeedItemRequest.json +2 -2
- package/json-schema/api/DeleteFeedItemResponse.json +2 -2
- package/json-schema/api/DeleteFlowRequest.json +2 -2
- package/json-schema/api/DeleteFlowResponse.json +2 -2
- package/json-schema/api/DeleteManyDataRequest.json +2 -2
- package/json-schema/api/DeleteManyDataResponse.json +2 -2
- package/json-schema/api/DeleteManyRequest.json +2 -2
- package/json-schema/api/DeleteResponse.json +2 -2
- package/json-schema/api/DeleteViewRequest.json +2 -2
- package/json-schema/api/DeleteViewResponse.json +2 -2
- package/json-schema/api/DisablePackageRequest.json +2 -2
- package/json-schema/api/DisablePackageResponse.json +2 -2
- package/json-schema/api/Discovery.json +2 -2
- package/json-schema/api/DispatcherConfig.json +2 -2
- package/json-schema/api/DispatcherRoute.json +2 -2
- package/json-schema/api/DocumentState.json +2 -2
- package/json-schema/api/ETag.json +2 -2
- package/json-schema/api/EditMessage.json +2 -2
- package/json-schema/api/EditOperation.json +2 -2
- package/json-schema/api/EditOperationType.json +2 -2
- package/json-schema/api/EnablePackageRequest.json +2 -2
- package/json-schema/api/EnablePackageResponse.json +2 -2
- package/json-schema/api/EndpointRegistry.json +2 -2
- package/json-schema/api/EnhancedApiError.json +2 -2
- package/json-schema/api/ErrorCategory.json +2 -2
- package/json-schema/api/ErrorHandlingConfig.json +2 -2
- package/json-schema/api/ErrorMessage.json +2 -2
- package/json-schema/api/ErrorResponse.json +2 -2
- package/json-schema/api/EventFilter.json +2 -2
- package/json-schema/api/EventFilterCondition.json +2 -2
- package/json-schema/api/EventMessage.json +2 -2
- package/json-schema/api/EventPattern.json +2 -2
- package/json-schema/api/EventSubscription.json +2 -2
- package/json-schema/api/ExportFormat.json +2 -2
- package/json-schema/api/ExportImportTemplate.json +2 -2
- package/json-schema/api/ExportJobProgress.json +2 -2
- package/json-schema/api/ExportJobStatus.json +2 -2
- package/json-schema/api/ExportJobSummary.json +2 -2
- package/json-schema/api/ExportRequest.json +3 -3
- package/json-schema/api/FederationEntity.json +2 -2
- package/json-schema/api/FederationEntityKey.json +2 -2
- package/json-schema/api/FederationExternalField.json +2 -2
- package/json-schema/api/FederationGateway.json +2 -2
- package/json-schema/api/FederationProvides.json +2 -2
- package/json-schema/api/FederationRequires.json +2 -2
- package/json-schema/api/FeedApiErrorCode.json +2 -2
- package/json-schema/api/FeedItemPathParams.json +2 -2
- package/json-schema/api/FeedListFilterType.json +2 -2
- package/json-schema/api/FeedPathParams.json +2 -2
- package/json-schema/api/FeedUnsubscribeRequest.json +2 -2
- package/json-schema/api/FieldError.json +2 -2
- package/json-schema/api/FieldMappingEntry.json +2 -2
- package/json-schema/api/FileTypeValidation.json +2 -2
- package/json-schema/api/FileUploadResponse.json +2 -2
- package/json-schema/api/FilterOperator.json +2 -2
- package/json-schema/api/FindDataRequest.json +3 -3
- package/json-schema/api/FindDataResponse.json +2 -2
- package/json-schema/api/FlowSummary.json +2 -2
- package/json-schema/api/GeneratedApiDocumentation.json +2 -2
- package/json-schema/api/GeneratedEndpoint.json +2 -2
- package/json-schema/api/GetAnalyticsMetaRequest.json +2 -2
- package/json-schema/api/GetChangelogRequest.json +2 -2
- package/json-schema/api/GetChangelogResponse.json +2 -2
- package/json-schema/api/GetDataRequest.json +3 -3
- package/json-schema/api/GetDataResponse.json +2 -2
- package/json-schema/api/GetDiscoveryRequest.json +2 -2
- package/json-schema/api/GetDiscoveryResponse.json +2 -2
- package/json-schema/api/GetEffectivePermissionsRequest.json +2 -2
- package/json-schema/api/GetEffectivePermissionsResponse.json +2 -2
- package/json-schema/api/GetExportJobDownloadRequest.json +2 -2
- package/json-schema/api/GetExportJobDownloadResponse.json +2 -2
- package/json-schema/api/GetFeedRequest.json +2 -2
- package/json-schema/api/GetFeedResponse.json +2 -2
- package/json-schema/api/GetFieldLabelsRequest.json +2 -2
- package/json-schema/api/GetFieldLabelsResponse.json +2 -2
- package/json-schema/api/GetFlowRequest.json +2 -2
- package/json-schema/api/GetFlowResponse.json +2 -2
- package/json-schema/api/GetInstalledPackageRequest.json +2 -2
- package/json-schema/api/GetInstalledPackageResponse.json +2 -2
- package/json-schema/api/GetLocalesRequest.json +2 -2
- package/json-schema/api/GetLocalesResponse.json +2 -2
- package/json-schema/api/GetMetaItemCachedRequest.json +2 -2
- package/json-schema/api/GetMetaItemCachedResponse.json +2 -2
- package/json-schema/api/GetMetaItemRequest.json +2 -2
- package/json-schema/api/GetMetaItemResponse.json +2 -2
- package/json-schema/api/GetMetaItemsRequest.json +2 -2
- package/json-schema/api/GetMetaItemsResponse.json +2 -2
- package/json-schema/api/GetMetaTypesRequest.json +2 -2
- package/json-schema/api/GetMetaTypesResponse.json +2 -2
- package/json-schema/api/GetNotificationPreferencesRequest.json +2 -2
- package/json-schema/api/GetNotificationPreferencesResponse.json +2 -2
- package/json-schema/api/GetObjectPermissionsRequest.json +2 -2
- package/json-schema/api/GetObjectPermissionsResponse.json +2 -2
- package/json-schema/api/GetPackageRequest.json +2 -2
- package/json-schema/api/GetPackageResponse.json +2 -2
- package/json-schema/api/GetPresenceRequest.json +2 -2
- package/json-schema/api/GetPresenceResponse.json +2 -2
- package/json-schema/api/GetPresignedUrlRequest.json +2 -2
- package/json-schema/api/GetRunRequest.json +2 -2
- package/json-schema/api/GetRunResponse.json +2 -2
- package/json-schema/api/GetTranslationsRequest.json +2 -2
- package/json-schema/api/GetTranslationsResponse.json +2 -2
- package/json-schema/api/GetUiViewRequest.json +2 -2
- package/json-schema/api/GetViewRequest.json +2 -2
- package/json-schema/api/GetWorkflowConfigRequest.json +2 -2
- package/json-schema/api/GetWorkflowConfigResponse.json +2 -2
- package/json-schema/api/GetWorkflowStateRequest.json +2 -2
- package/json-schema/api/GetWorkflowStateResponse.json +2 -2
- package/json-schema/api/GraphQLConfig.json +2 -2
- package/json-schema/api/GraphQLDataLoaderConfig.json +2 -2
- package/json-schema/api/GraphQLDirectiveConfig.json +2 -2
- package/json-schema/api/GraphQLDirectiveLocation.json +2 -2
- package/json-schema/api/GraphQLMutationConfig.json +2 -2
- package/json-schema/api/GraphQLPersistedQuery.json +2 -2
- package/json-schema/api/GraphQLQueryAdapter.json +2 -2
- package/json-schema/api/GraphQLQueryComplexity.json +2 -2
- package/json-schema/api/GraphQLQueryConfig.json +2 -2
- package/json-schema/api/GraphQLQueryDepthLimit.json +2 -2
- package/json-schema/api/GraphQLRateLimit.json +2 -2
- package/json-schema/api/GraphQLResolverConfig.json +2 -2
- package/json-schema/api/GraphQLScalarType.json +2 -2
- package/json-schema/api/GraphQLSubscriptionConfig.json +2 -2
- package/json-schema/api/GraphQLTypeConfig.json +2 -2
- package/json-schema/api/HttpFindQueryParams.json +3 -3
- package/json-schema/api/HttpMethod.json +2 -2
- package/json-schema/api/HttpStatusCode.json +2 -2
- package/json-schema/api/IdRequest.json +2 -2
- package/json-schema/api/ImportValidationConfig.json +2 -2
- package/json-schema/api/ImportValidationMode.json +2 -2
- package/json-schema/api/ImportValidationResult.json +2 -2
- package/json-schema/api/InitiateChunkedUploadRequest.json +2 -2
- package/json-schema/api/InitiateChunkedUploadResponse.json +2 -2
- package/json-schema/api/InstallPackageRequest.json +2 -2
- package/json-schema/api/InstallPackageResponse.json +2 -2
- package/json-schema/api/ListExportJobsRequest.json +2 -2
- package/json-schema/api/ListExportJobsResponse.json +2 -2
- package/json-schema/api/ListFlowsRequest.json +2 -2
- package/json-schema/api/ListFlowsResponse.json +2 -2
- package/json-schema/api/ListInstalledPackagesRequest.json +2 -2
- package/json-schema/api/ListInstalledPackagesResponse.json +2 -2
- package/json-schema/api/ListNotificationsRequest.json +2 -2
- package/json-schema/api/ListNotificationsResponse.json +2 -2
- package/json-schema/api/ListPackagesRequest.json +2 -2
- package/json-schema/api/ListPackagesResponse.json +2 -2
- package/json-schema/api/ListRecordResponse.json +2 -2
- package/json-schema/api/ListRunsRequest.json +2 -2
- package/json-schema/api/ListRunsResponse.json +2 -2
- package/json-schema/api/ListViewsRequest.json +2 -2
- package/json-schema/api/LoginRequest.json +2 -2
- package/json-schema/api/LoginType.json +2 -2
- package/json-schema/api/MarkAllNotificationsReadRequest.json +2 -2
- package/json-schema/api/MarkAllNotificationsReadResponse.json +2 -2
- package/json-schema/api/MarkNotificationsReadRequest.json +2 -2
- package/json-schema/api/MarkNotificationsReadResponse.json +2 -2
- package/json-schema/api/MetadataBulkRegisterRequest.json +2 -2
- package/json-schema/api/MetadataBulkResponse.json +2 -2
- package/json-schema/api/MetadataBulkUnregisterRequest.json +2 -2
- package/json-schema/api/MetadataCacheRequest.json +2 -2
- package/json-schema/api/MetadataCacheResponse.json +2 -2
- package/json-schema/api/MetadataDeleteResponse.json +2 -2
- package/json-schema/api/MetadataDependenciesResponse.json +2 -2
- package/json-schema/api/MetadataDependentsResponse.json +2 -2
- package/json-schema/api/MetadataEffectiveResponse.json +2 -2
- package/json-schema/api/MetadataEndpointsConfig.json +2 -2
- package/json-schema/api/MetadataExistsResponse.json +2 -2
- package/json-schema/api/MetadataExportRequest.json +2 -2
- package/json-schema/api/MetadataExportResponse.json +2 -2
- package/json-schema/api/MetadataImportRequest.json +2 -2
- package/json-schema/api/MetadataImportResponse.json +2 -2
- package/json-schema/api/MetadataItemResponse.json +2 -2
- package/json-schema/api/MetadataListResponse.json +2 -2
- package/json-schema/api/MetadataNamesResponse.json +2 -2
- package/json-schema/api/MetadataOverlayResponse.json +2 -2
- package/json-schema/api/MetadataOverlaySaveRequest.json +2 -2
- package/json-schema/api/MetadataQueryRequest.json +2 -2
- package/json-schema/api/MetadataQueryResponse.json +2 -2
- package/json-schema/api/MetadataRegisterRequest.json +2 -2
- package/json-schema/api/MetadataTypeInfoResponse.json +2 -2
- package/json-schema/api/MetadataTypesResponse.json +2 -2
- package/json-schema/api/MetadataValidateRequest.json +2 -2
- package/json-schema/api/MetadataValidateResponse.json +2 -2
- package/json-schema/api/ModificationResult.json +2 -2
- package/json-schema/api/Notification.json +2 -2
- package/json-schema/api/NotificationPreferences.json +2 -2
- package/json-schema/api/ODataConfig.json +2 -2
- package/json-schema/api/ODataError.json +2 -2
- package/json-schema/api/ODataFilterFunction.json +2 -2
- package/json-schema/api/ODataFilterOperator.json +2 -2
- package/json-schema/api/ODataMetadata.json +2 -2
- package/json-schema/api/ODataQuery.json +3 -3
- package/json-schema/api/ODataQueryAdapter.json +2 -2
- package/json-schema/api/ODataResponse.json +2 -2
- package/json-schema/api/ObjectDefinitionResponse.json +3 -3
- package/json-schema/api/ObjectQLReference.json +2 -2
- package/json-schema/api/OpenApi31Extensions.json +2 -2
- package/json-schema/api/OpenApiGenerationConfig.json +2 -2
- package/json-schema/api/OpenApiSecurityScheme.json +2 -2
- package/json-schema/api/OpenApiServer.json +2 -2
- package/json-schema/api/OpenApiSpec.json +2 -2
- package/json-schema/api/OperatorMapping.json +2 -2
- package/json-schema/api/PackageApiErrorCode.json +2 -2
- package/json-schema/api/PackageInstallRequest.json +2 -2
- package/json-schema/api/PackageInstallResponse.json +2 -2
- package/json-schema/api/PackagePathParams.json +2 -2
- package/json-schema/api/PackageRollbackRequest.json +2 -2
- package/json-schema/api/PackageRollbackResponse.json +2 -2
- package/json-schema/api/PackageUpgradeRequest.json +2 -2
- package/json-schema/api/PackageUpgradeResponse.json +2 -2
- package/json-schema/api/PinFeedItemRequest.json +2 -2
- package/json-schema/api/PinFeedItemResponse.json +2 -2
- package/json-schema/api/PingMessage.json +2 -2
- package/json-schema/api/PongMessage.json +2 -2
- package/json-schema/api/PresenceMessage.json +2 -2
- package/json-schema/api/PresenceState.json +2 -2
- package/json-schema/api/PresenceStatus.json +2 -2
- package/json-schema/api/PresenceUpdate.json +2 -2
- package/json-schema/api/PresignedUrlResponse.json +2 -2
- package/json-schema/api/QueryAdapterConfig.json +2 -2
- package/json-schema/api/QueryAdapterTarget.json +2 -2
- package/json-schema/api/QueryOptimizationConfig.json +2 -2
- package/json-schema/api/RealtimeConfig.json +2 -2
- package/json-schema/api/RealtimeConnectRequest.json +2 -2
- package/json-schema/api/RealtimeConnectResponse.json +2 -2
- package/json-schema/api/RealtimeDisconnectRequest.json +2 -2
- package/json-schema/api/RealtimeDisconnectResponse.json +2 -2
- package/json-schema/api/RealtimeEvent.json +2 -2
- package/json-schema/api/RealtimeEventType.json +2 -2
- package/json-schema/api/RealtimePresence.json +2 -2
- package/json-schema/api/RealtimeRecordAction.json +2 -2
- package/json-schema/api/RealtimeSubscribeRequest.json +2 -2
- package/json-schema/api/RealtimeSubscribeResponse.json +2 -2
- package/json-schema/api/RealtimeUnsubscribeRequest.json +2 -2
- package/json-schema/api/RealtimeUnsubscribeResponse.json +2 -2
- package/json-schema/api/RecordData.json +2 -2
- package/json-schema/api/RefreshTokenRequest.json +2 -2
- package/json-schema/api/RegisterDeviceRequest.json +2 -2
- package/json-schema/api/RegisterDeviceResponse.json +2 -2
- package/json-schema/api/RegisterRequest.json +2 -2
- package/json-schema/api/RemoveReactionRequest.json +2 -2
- package/json-schema/api/RemoveReactionResponse.json +2 -2
- package/json-schema/api/RequestValidationConfig.json +2 -2
- package/json-schema/api/ResolveDependenciesRequest.json +2 -2
- package/json-schema/api/ResolveDependenciesResponse.json +2 -2
- package/json-schema/api/ResponseEnvelopeConfig.json +2 -2
- package/json-schema/api/RestApiConfig.json +2 -2
- package/json-schema/api/RestApiEndpoint.json +2 -2
- package/json-schema/api/RestApiPluginConfig.json +2 -2
- package/json-schema/api/RestApiRouteCategory.json +2 -2
- package/json-schema/api/RestApiRouteRegistration.json +2 -2
- package/json-schema/api/RestQueryAdapter.json +2 -2
- package/json-schema/api/RestServerConfig.json +2 -2
- package/json-schema/api/RetryStrategy.json +2 -2
- package/json-schema/api/RouteCategory.json +2 -2
- package/json-schema/api/RouteDefinition.json +2 -2
- package/json-schema/api/RouteGenerationConfig.json +2 -2
- package/json-schema/api/RouterConfig.json +2 -2
- package/json-schema/api/SaveMetaItemRequest.json +2 -2
- package/json-schema/api/SaveMetaItemResponse.json +2 -2
- package/json-schema/api/ScheduleExportRequest.json +2 -2
- package/json-schema/api/ScheduleExportResponse.json +2 -2
- package/json-schema/api/ScheduledExport.json +2 -2
- package/json-schema/api/SchemaDefinition.json +2 -2
- package/json-schema/api/SearchFeedRequest.json +2 -2
- package/json-schema/api/SearchFeedResponse.json +2 -2
- package/json-schema/api/ServiceInfo.json +2 -2
- package/json-schema/api/Session.json +2 -2
- package/json-schema/api/SessionResponse.json +2 -2
- package/json-schema/api/SessionUser.json +2 -2
- package/json-schema/api/SetPresenceRequest.json +2 -2
- package/json-schema/api/SetPresenceResponse.json +2 -2
- package/json-schema/api/SimpleCursorPosition.json +2 -2
- package/json-schema/api/SimplePresenceState.json +2 -2
- package/json-schema/api/SingleRecordResponse.json +2 -2
- package/json-schema/api/StandardErrorCode.json +2 -2
- package/json-schema/api/StarFeedItemRequest.json +2 -2
- package/json-schema/api/StarFeedItemResponse.json +2 -2
- package/json-schema/api/SubgraphConfig.json +2 -2
- package/json-schema/api/SubscribeMessage.json +2 -2
- package/json-schema/api/SubscribeRequest.json +2 -2
- package/json-schema/api/SubscribeResponse.json +2 -2
- package/json-schema/api/Subscription.json +2 -2
- package/json-schema/api/SubscriptionEvent.json +2 -2
- package/json-schema/api/ToggleFlowRequest.json +2 -2
- package/json-schema/api/ToggleFlowResponse.json +2 -2
- package/json-schema/api/TransportProtocol.json +2 -2
- package/json-schema/api/TriggerFlowRequest.json +2 -2
- package/json-schema/api/TriggerFlowResponse.json +2 -2
- package/json-schema/api/UninstallPackageApiRequest.json +2 -2
- package/json-schema/api/UninstallPackageApiResponse.json +2 -2
- package/json-schema/api/UninstallPackageRequest.json +2 -2
- package/json-schema/api/UninstallPackageResponse.json +2 -2
- package/json-schema/api/UnpinFeedItemRequest.json +2 -2
- package/json-schema/api/UnpinFeedItemResponse.json +2 -2
- package/json-schema/api/UnregisterDeviceRequest.json +2 -2
- package/json-schema/api/UnregisterDeviceResponse.json +2 -2
- package/json-schema/api/UnstarFeedItemRequest.json +2 -2
- package/json-schema/api/UnstarFeedItemResponse.json +2 -2
- package/json-schema/api/UnsubscribeMessage.json +2 -2
- package/json-schema/api/UnsubscribeRequest.json +2 -2
- package/json-schema/api/UnsubscribeResponse.json +2 -2
- package/json-schema/api/UpdateDataRequest.json +2 -2
- package/json-schema/api/UpdateDataResponse.json +2 -2
- package/json-schema/api/UpdateFeedItemRequest.json +2 -2
- package/json-schema/api/UpdateFeedItemResponse.json +2 -2
- package/json-schema/api/UpdateFlowRequest.json +2 -2
- package/json-schema/api/UpdateFlowResponse.json +2 -2
- package/json-schema/api/UpdateManyDataRequest.json +2 -2
- package/json-schema/api/UpdateManyDataResponse.json +2 -2
- package/json-schema/api/UpdateManyRequest.json +2 -2
- package/json-schema/api/UpdateNotificationPreferencesRequest.json +2 -2
- package/json-schema/api/UpdateNotificationPreferencesResponse.json +2 -2
- package/json-schema/api/UpdateRequest.json +2 -2
- package/json-schema/api/UploadArtifactRequest.json +2 -2
- package/json-schema/api/UploadArtifactResponse.json +2 -2
- package/json-schema/api/UploadChunkRequest.json +2 -2
- package/json-schema/api/UploadChunkResponse.json +2 -2
- package/json-schema/api/UploadProgress.json +2 -2
- package/json-schema/api/UserProfileResponse.json +2 -2
- package/json-schema/api/ValidationMode.json +2 -2
- package/json-schema/api/VersionDefinition.json +2 -2
- package/json-schema/api/VersionNegotiationResponse.json +2 -2
- package/json-schema/api/VersionStatus.json +2 -2
- package/json-schema/api/VersioningConfig.json +2 -2
- package/json-schema/api/VersioningStrategy.json +2 -2
- package/json-schema/api/WebSocketConfig.json +2 -2
- package/json-schema/api/WebSocketEvent.json +2 -2
- package/json-schema/api/WebSocketMessage.json +2 -2
- package/json-schema/api/WebSocketMessageType.json +2 -2
- package/json-schema/api/WebSocketPresenceStatus.json +2 -2
- package/json-schema/api/WebSocketServerConfig.json +2 -2
- package/json-schema/api/WebhookConfig.json +2 -2
- package/json-schema/api/WebhookEvent.json +2 -2
- package/json-schema/api/WellKnownCapabilities.json +2 -2
- package/json-schema/api/WorkflowApproveRequest.json +2 -2
- package/json-schema/api/WorkflowApproveResponse.json +2 -2
- package/json-schema/api/WorkflowRejectRequest.json +2 -2
- package/json-schema/api/WorkflowRejectResponse.json +2 -2
- package/json-schema/api/WorkflowState.json +2 -2
- package/json-schema/api/WorkflowTransitionRequest.json +2 -2
- package/json-schema/api/WorkflowTransitionResponse.json +2 -2
- package/json-schema/automation/ActionRef.json +2 -2
- package/json-schema/automation/ApprovalAction.json +2 -2
- package/json-schema/automation/ApprovalActionType.json +2 -2
- package/json-schema/automation/ApprovalProcess.json +2 -2
- package/json-schema/automation/ApprovalStep.json +2 -2
- package/json-schema/automation/ApproverType.json +2 -2
- package/json-schema/automation/AuthField.json +2 -2
- package/json-schema/automation/Authentication.json +2 -2
- package/json-schema/automation/AuthenticationType.json +2 -2
- package/json-schema/automation/BpmnDiagnostic.json +2 -2
- package/json-schema/automation/BpmnElementMapping.json +2 -2
- package/json-schema/automation/BpmnExportOptions.json +2 -2
- package/json-schema/automation/BpmnImportOptions.json +2 -2
- package/json-schema/automation/BpmnInteropResult.json +2 -2
- package/json-schema/automation/BpmnUnmappedStrategy.json +2 -2
- package/json-schema/automation/BpmnVersion.json +2 -2
- package/json-schema/automation/Checkpoint.json +2 -2
- package/json-schema/automation/ConcurrencyPolicy.json +2 -2
- package/json-schema/automation/ConflictResolution.json +2 -2
- package/json-schema/automation/Connector.json +2 -2
- package/json-schema/automation/ConnectorActionRef.json +2 -2
- package/json-schema/automation/ConnectorCategory.json +2 -2
- package/json-schema/automation/ConnectorInstance.json +2 -2
- package/json-schema/automation/ConnectorOperation.json +2 -2
- package/json-schema/automation/ConnectorTrigger.json +2 -2
- package/json-schema/automation/CustomScriptAction.json +2 -2
- package/json-schema/automation/DataDestinationConfig.json +2 -2
- package/json-schema/automation/DataSourceConfig.json +2 -2
- package/json-schema/automation/DataSyncConfig.json +2 -2
- package/json-schema/automation/ETLDestination.json +2 -2
- package/json-schema/automation/ETLEndpointType.json +2 -2
- package/json-schema/automation/ETLPipeline.json +2 -2
- package/json-schema/automation/ETLPipelineRun.json +2 -2
- package/json-schema/automation/ETLRunStatus.json +2 -2
- package/json-schema/automation/ETLSource.json +2 -2
- package/json-schema/automation/ETLSyncMode.json +2 -2
- package/json-schema/automation/ETLTransformation.json +2 -2
- package/json-schema/automation/ETLTransformationType.json +2 -2
- package/json-schema/automation/EmailAlertAction.json +2 -2
- package/json-schema/automation/Event.json +2 -2
- package/json-schema/automation/ExecutionError.json +2 -2
- package/json-schema/automation/ExecutionErrorSeverity.json +2 -2
- package/json-schema/automation/ExecutionLog.json +2 -2
- package/json-schema/automation/ExecutionStatus.json +2 -2
- package/json-schema/automation/ExecutionStepLog.json +2 -2
- package/json-schema/automation/FieldUpdateAction.json +2 -2
- package/json-schema/automation/Flow.json +2 -2
- package/json-schema/automation/FlowEdge.json +2 -2
- package/json-schema/automation/FlowNode.json +2 -2
- package/json-schema/automation/FlowNodeAction.json +2 -2
- package/json-schema/automation/FlowVariable.json +2 -2
- package/json-schema/automation/FlowVersionHistory.json +2 -2
- package/json-schema/automation/GuardRef.json +2 -2
- package/json-schema/automation/HttpCallAction.json +2 -2
- package/json-schema/automation/NodeExecutorDescriptor.json +2 -2
- package/json-schema/automation/OAuth2Config.json +2 -2
- package/json-schema/automation/OperationParameter.json +2 -2
- package/json-schema/automation/OperationType.json +2 -2
- package/json-schema/automation/PushNotificationAction.json +2 -2
- package/json-schema/automation/ScheduleState.json +2 -2
- package/json-schema/automation/StateMachine.json +2 -2
- package/json-schema/automation/StateNode.json +2 -2
- package/json-schema/automation/SyncDirection.json +2 -2
- package/json-schema/automation/SyncExecutionResult.json +2 -2
- package/json-schema/automation/SyncExecutionStatus.json +2 -2
- package/json-schema/automation/SyncMode.json +2 -2
- package/json-schema/automation/TaskCreationAction.json +2 -2
- package/json-schema/automation/TimeTrigger.json +2 -2
- package/json-schema/automation/Transition.json +2 -2
- package/json-schema/automation/WaitEventType.json +2 -2
- package/json-schema/automation/WaitExecutorConfig.json +2 -2
- package/json-schema/automation/WaitResumePayload.json +2 -2
- package/json-schema/automation/WaitTimeoutBehavior.json +2 -2
- package/json-schema/automation/Webhook.json +2 -2
- package/json-schema/automation/WebhookReceiver.json +2 -2
- package/json-schema/automation/WebhookTriggerType.json +2 -2
- package/json-schema/automation/WorkflowAction.json +2 -2
- package/json-schema/automation/WorkflowRule.json +2 -2
- package/json-schema/automation/WorkflowTriggerType.json +2 -2
- package/json-schema/cloud/AnalyticsTimeRange.json +2 -2
- package/json-schema/cloud/AppDiscoveryRequest.json +2 -2
- package/json-schema/cloud/AppDiscoveryResponse.json +2 -2
- package/json-schema/cloud/AppSubscription.json +2 -2
- package/json-schema/cloud/ArtifactDownloadResponse.json +2 -2
- package/json-schema/cloud/ArtifactReference.json +2 -2
- package/json-schema/cloud/CreateListingRequest.json +2 -2
- package/json-schema/cloud/CuratedCollection.json +2 -2
- package/json-schema/cloud/FeaturedListing.json +2 -2
- package/json-schema/cloud/InstalledAppSummary.json +2 -2
- package/json-schema/cloud/ListInstalledAppsRequest.json +2 -2
- package/json-schema/cloud/ListInstalledAppsResponse.json +2 -2
- package/json-schema/cloud/ListReviewsRequest.json +2 -2
- package/json-schema/cloud/ListReviewsResponse.json +2 -2
- package/json-schema/cloud/ListingActionRequest.json +2 -2
- package/json-schema/cloud/ListingStatus.json +2 -2
- package/json-schema/cloud/MarketplaceCategory.json +2 -2
- package/json-schema/cloud/MarketplaceHealthMetrics.json +2 -2
- package/json-schema/cloud/MarketplaceInstallRequest.json +2 -2
- package/json-schema/cloud/MarketplaceInstallResponse.json +2 -2
- package/json-schema/cloud/MarketplaceListing.json +2 -2
- package/json-schema/cloud/MarketplaceSearchRequest.json +2 -2
- package/json-schema/cloud/MarketplaceSearchResponse.json +2 -2
- package/json-schema/cloud/PackageSubmission.json +2 -2
- package/json-schema/cloud/PolicyAction.json +2 -2
- package/json-schema/cloud/PolicyViolationType.json +2 -2
- package/json-schema/cloud/PricingModel.json +2 -2
- package/json-schema/cloud/Publisher.json +2 -2
- package/json-schema/cloud/PublisherProfile.json +2 -2
- package/json-schema/cloud/PublisherVerification.json +2 -2
- package/json-schema/cloud/PublishingAnalyticsRequest.json +2 -2
- package/json-schema/cloud/PublishingAnalyticsResponse.json +2 -2
- package/json-schema/cloud/RecommendationReason.json +2 -2
- package/json-schema/cloud/RecommendedApp.json +2 -2
- package/json-schema/cloud/RejectionReason.json +2 -2
- package/json-schema/cloud/ReleaseChannel.json +2 -2
- package/json-schema/cloud/ReviewCriterion.json +2 -2
- package/json-schema/cloud/ReviewDecision.json +2 -2
- package/json-schema/cloud/ReviewModerationStatus.json +2 -2
- package/json-schema/cloud/SubmissionReview.json +2 -2
- package/json-schema/cloud/SubmitReviewRequest.json +2 -2
- package/json-schema/cloud/SubscriptionStatus.json +2 -2
- package/json-schema/cloud/TimeSeriesPoint.json +2 -2
- package/json-schema/cloud/TrendingListing.json +2 -2
- package/json-schema/cloud/UpdateListingRequest.json +2 -2
- package/json-schema/cloud/UserReview.json +2 -2
- package/json-schema/cloud/VersionRelease.json +2 -2
- package/json-schema/data/Address.json +2 -2
- package/json-schema/data/AggregationFunction.json +2 -2
- package/json-schema/data/AggregationMetricType.json +2 -2
- package/json-schema/data/AggregationNode.json +2 -2
- package/json-schema/data/AggregationPipeline.json +2 -2
- package/json-schema/data/AggregationStage.json +2 -2
- package/json-schema/data/AnalyticsQuery.json +2 -2
- package/json-schema/data/ApiMethod.json +2 -2
- package/json-schema/data/AsyncValidation.json +2 -2
- package/json-schema/data/BaseEngineOptions.json +2 -2
- package/json-schema/data/CDCConfig.json +2 -2
- package/json-schema/data/ComputedFieldCache.json +2 -2
- package/json-schema/data/ConditionalValidation.json +2 -2
- package/json-schema/data/ConsistencyLevel.json +2 -2
- package/json-schema/data/CrossFieldValidation.json +2 -2
- package/json-schema/data/Cube.json +2 -2
- package/json-schema/data/CubeJoin.json +2 -2
- package/json-schema/data/CurrencyConfig.json +2 -2
- package/json-schema/data/CurrencyValue.json +2 -2
- package/json-schema/data/CustomValidator.json +2 -2
- package/json-schema/data/DataEngineAggregateOptions.json +2 -2
- package/json-schema/data/DataEngineAggregateRequest.json +2 -2
- package/json-schema/data/DataEngineBatchRequest.json +2 -2
- package/json-schema/data/DataEngineCountOptions.json +2 -2
- package/json-schema/data/DataEngineCountRequest.json +2 -2
- package/json-schema/data/DataEngineDeleteOptions.json +2 -2
- package/json-schema/data/DataEngineDeleteRequest.json +2 -2
- package/json-schema/data/DataEngineExecuteRequest.json +2 -2
- package/json-schema/data/DataEngineFilter.json +2 -2
- package/json-schema/data/DataEngineFindOneRequest.json +2 -2
- package/json-schema/data/DataEngineFindRequest.json +2 -2
- package/json-schema/data/DataEngineInsertOptions.json +2 -2
- package/json-schema/data/DataEngineInsertRequest.json +2 -2
- package/json-schema/data/DataEngineQueryOptions.json +2 -2
- package/json-schema/data/DataEngineRequest.json +2 -2
- package/json-schema/data/DataEngineSort.json +2 -2
- package/json-schema/data/DataEngineUpdateOptions.json +2 -2
- package/json-schema/data/DataEngineUpdateRequest.json +2 -2
- package/json-schema/data/DataEngineVectorFindRequest.json +2 -2
- package/json-schema/data/DataQualityRules.json +2 -2
- package/json-schema/data/DataTypeMapping.json +2 -2
- package/json-schema/data/Dataset.json +2 -2
- package/json-schema/data/DatasetMode.json +2 -2
- package/json-schema/data/Datasource.json +2 -2
- package/json-schema/data/DatasourceCapabilities.json +2 -2
- package/json-schema/data/Dimension.json +2 -2
- package/json-schema/data/DimensionType.json +2 -2
- package/json-schema/data/Document.json +2 -2
- package/json-schema/data/DocumentTemplate.json +2 -2
- package/json-schema/data/DocumentValidationSchema.json +2 -2
- package/json-schema/data/DocumentVersion.json +2 -2
- package/json-schema/data/DriverCapabilities.json +2 -2
- package/json-schema/data/DriverConfig.json +2 -2
- package/json-schema/data/DriverDefinition.json +2 -2
- package/json-schema/data/DriverOptions.json +2 -2
- package/json-schema/data/DriverType.json +2 -2
- package/json-schema/data/ESignatureConfig.json +2 -2
- package/json-schema/data/EqualityOperator.json +2 -2
- package/json-schema/data/ExternalDataSource.json +2 -2
- package/json-schema/data/ExternalFieldMapping.json +2 -2
- package/json-schema/data/ExternalLookup.json +2 -2
- package/json-schema/data/FeedActor.json +2 -2
- package/json-schema/data/FeedFilterMode.json +2 -2
- package/json-schema/data/FeedItem.json +2 -2
- package/json-schema/data/FeedItemType.json +2 -2
- package/json-schema/data/FeedVisibility.json +2 -2
- package/json-schema/data/Field.json +3 -3
- package/json-schema/data/FieldChangeEntry.json +2 -2
- package/json-schema/data/FieldMapping.json +2 -2
- package/json-schema/data/FieldNode.json +2 -2
- package/json-schema/data/FieldReference.json +2 -2
- package/json-schema/data/FieldType.json +2 -2
- package/json-schema/data/FileAttachmentConfig.json +2 -2
- package/json-schema/data/FilterCondition.json +2 -2
- package/json-schema/data/FormatValidation.json +2 -2
- package/json-schema/data/FullTextSearch.json +2 -2
- package/json-schema/data/HookContext.json +2 -2
- package/json-schema/data/HookEvent.json +2 -2
- package/json-schema/data/Index.json +2 -2
- package/json-schema/data/JSONValidation.json +2 -2
- package/json-schema/data/JoinNode.json +3 -3
- package/json-schema/data/JoinStrategy.json +2 -2
- package/json-schema/data/JoinType.json +2 -2
- package/json-schema/data/LocationCoordinates.json +2 -2
- package/json-schema/data/Mapping.json +3 -3
- package/json-schema/data/Mention.json +2 -2
- package/json-schema/data/Metric.json +2 -2
- package/json-schema/data/NoSQLDataTypeMapping.json +2 -2
- package/json-schema/data/NoSQLDatabaseType.json +2 -2
- package/json-schema/data/NoSQLDriverConfig.json +2 -2
- package/json-schema/data/NoSQLIndex.json +2 -2
- package/json-schema/data/NoSQLIndexType.json +2 -2
- package/json-schema/data/NoSQLOperationType.json +2 -2
- package/json-schema/data/NoSQLQueryOptions.json +2 -2
- package/json-schema/data/NoSQLTransactionOptions.json +2 -2
- package/json-schema/data/NotificationChannel.json +2 -2
- package/json-schema/data/Object.json +3 -3
- package/json-schema/data/ObjectCapabilities.json +2 -2
- package/json-schema/data/ObjectExtension.json +3 -3
- package/json-schema/data/ObjectOwnershipEnum.json +2 -2
- package/json-schema/data/PartitioningConfig.json +2 -2
- package/json-schema/data/PoolConfig.json +2 -2
- package/json-schema/data/Query.json +3 -3
- package/json-schema/data/QueryFilter.json +2 -2
- package/json-schema/data/Reaction.json +2 -2
- package/json-schema/data/RecordSubscription.json +2 -2
- package/json-schema/data/ReplicationConfig.json +2 -2
- package/json-schema/data/SQLDialect.json +2 -2
- package/json-schema/data/SQLDriverConfig.json +2 -2
- package/json-schema/data/SSLConfig.json +2 -2
- package/json-schema/data/ScriptValidation.json +2 -2
- package/json-schema/data/SearchConfig.json +2 -2
- package/json-schema/data/SelectOption.json +2 -2
- package/json-schema/data/SetOperator.json +2 -2
- package/json-schema/data/ShardingConfig.json +2 -2
- package/json-schema/data/SoftDeleteConfig.json +2 -2
- package/json-schema/data/SortNode.json +2 -2
- package/json-schema/data/SpecialOperator.json +2 -2
- package/json-schema/data/StateMachineValidation.json +2 -2
- package/json-schema/data/StringOperator.json +2 -2
- package/json-schema/data/SubscriptionEventType.json +2 -2
- package/json-schema/data/TenancyConfig.json +2 -2
- package/json-schema/data/TenantDatabaseLifecycle.json +2 -2
- package/json-schema/data/TenantResolverStrategy.json +2 -2
- package/json-schema/data/TimeUpdateInterval.json +2 -2
- package/json-schema/data/TransformType.json +2 -2
- package/json-schema/data/TursoGroup.json +2 -2
- package/json-schema/data/TursoMultiTenantConfig.json +2 -2
- package/json-schema/data/UniquenessValidation.json +2 -2
- package/json-schema/data/ValidationRule.json +2 -2
- package/json-schema/data/VectorConfig.json +2 -2
- package/json-schema/data/VersioningConfig.json +2 -2
- package/json-schema/data/WindowFunction.json +2 -2
- package/json-schema/data/WindowFunctionNode.json +2 -2
- package/json-schema/data/WindowSpec.json +2 -2
- package/json-schema/identity/Account.json +2 -2
- package/json-schema/identity/ApiKey.json +2 -2
- package/json-schema/identity/Invitation.json +2 -2
- package/json-schema/identity/InvitationStatus.json +2 -2
- package/json-schema/identity/Member.json +2 -2
- package/json-schema/identity/Organization.json +2 -2
- package/json-schema/identity/Role.json +2 -2
- package/json-schema/identity/SCIMAddress.json +2 -2
- package/json-schema/identity/SCIMBulkOperation.json +2 -2
- package/json-schema/identity/SCIMBulkRequest.json +2 -2
- package/json-schema/identity/SCIMBulkResponse.json +2 -2
- package/json-schema/identity/SCIMBulkResponseOperation.json +2 -2
- package/json-schema/identity/SCIMEmail.json +2 -2
- package/json-schema/identity/SCIMEnterpriseUser.json +2 -2
- package/json-schema/identity/SCIMError.json +2 -2
- package/json-schema/identity/SCIMGroup.json +2 -2
- package/json-schema/identity/SCIMGroupReference.json +2 -2
- package/json-schema/identity/SCIMListResponse.json +2 -2
- package/json-schema/identity/SCIMMemberReference.json +2 -2
- package/json-schema/identity/SCIMMeta.json +2 -2
- package/json-schema/identity/SCIMName.json +2 -2
- package/json-schema/identity/SCIMPatchOperation.json +2 -2
- package/json-schema/identity/SCIMPatchRequest.json +2 -2
- package/json-schema/identity/SCIMPhoneNumber.json +2 -2
- package/json-schema/identity/SCIMUser.json +2 -2
- package/json-schema/identity/Session.json +2 -2
- package/json-schema/identity/User.json +2 -2
- package/json-schema/identity/VerificationToken.json +2 -2
- package/json-schema/integration/AckMode.json +2 -2
- package/json-schema/integration/ApiVersionConfig.json +2 -2
- package/json-schema/integration/BuildConfig.json +2 -2
- package/json-schema/integration/CdcConfig.json +2 -2
- package/json-schema/integration/CircuitBreakerConfig.json +2 -2
- package/json-schema/integration/ConflictResolution.json +2 -2
- package/json-schema/integration/Connector.json +2 -2
- package/json-schema/integration/ConnectorAction.json +2 -2
- package/json-schema/integration/ConnectorHealth.json +2 -2
- package/json-schema/integration/ConnectorStatus.json +2 -2
- package/json-schema/integration/ConnectorTrigger.json +2 -2
- package/json-schema/integration/ConnectorType.json +2 -2
- package/json-schema/integration/ConsumerConfig.json +2 -2
- package/json-schema/integration/DataSyncConfig.json +2 -2
- package/json-schema/integration/DatabaseConnector.json +2 -2
- package/json-schema/integration/DatabasePoolConfig.json +2 -2
- package/json-schema/integration/DatabaseProvider.json +2 -2
- package/json-schema/integration/DatabaseTable.json +2 -2
- package/json-schema/integration/DeliveryGuarantee.json +2 -2
- package/json-schema/integration/DeploymentConfig.json +2 -2
- package/json-schema/integration/DlqConfig.json +2 -2
- package/json-schema/integration/DomainConfig.json +2 -2
- package/json-schema/integration/EdgeFunctionConfig.json +2 -2
- package/json-schema/integration/EnvironmentVariables.json +2 -2
- package/json-schema/integration/ErrorCategory.json +2 -2
- package/json-schema/integration/ErrorMappingConfig.json +2 -2
- package/json-schema/integration/ErrorMappingRule.json +2 -2
- package/json-schema/integration/FieldMapping.json +2 -2
- package/json-schema/integration/FileAccessPattern.json +2 -2
- package/json-schema/integration/FileFilterConfig.json +2 -2
- package/json-schema/integration/FileMetadataConfig.json +2 -2
- package/json-schema/integration/FileStorageConnector.json +2 -2
- package/json-schema/integration/FileStorageProvider.json +2 -2
- package/json-schema/integration/FileVersioningConfig.json +2 -2
- package/json-schema/integration/GitHubActionsWorkflow.json +2 -2
- package/json-schema/integration/GitHubCommitConfig.json +2 -2
- package/json-schema/integration/GitHubConnector.json +2 -2
- package/json-schema/integration/GitHubIssueTracking.json +2 -2
- package/json-schema/integration/GitHubProvider.json +2 -2
- package/json-schema/integration/GitHubPullRequestConfig.json +2 -2
- package/json-schema/integration/GitHubReleaseConfig.json +2 -2
- package/json-schema/integration/GitHubRepository.json +2 -2
- package/json-schema/integration/GitRepositoryConfig.json +2 -2
- package/json-schema/integration/HealthCheckConfig.json +2 -2
- package/json-schema/integration/MessageFormat.json +2 -2
- package/json-schema/integration/MessageQueueConnector.json +2 -2
- package/json-schema/integration/MessageQueueProvider.json +2 -2
- package/json-schema/integration/MultipartUploadConfig.json +2 -2
- package/json-schema/integration/ProducerConfig.json +2 -2
- package/json-schema/integration/RateLimitConfig.json +2 -2
- package/json-schema/integration/RateLimitStrategy.json +2 -2
- package/json-schema/integration/RetryConfig.json +2 -2
- package/json-schema/integration/RetryStrategy.json +2 -2
- package/json-schema/integration/SaasConnector.json +2 -2
- package/json-schema/integration/SaasObjectType.json +2 -2
- package/json-schema/integration/SaasProvider.json +2 -2
- package/json-schema/integration/SslConfig.json +2 -2
- package/json-schema/integration/StorageBucket.json +2 -2
- package/json-schema/integration/SyncStrategy.json +2 -2
- package/json-schema/integration/TopicQueue.json +2 -2
- package/json-schema/integration/VercelConnector.json +2 -2
- package/json-schema/integration/VercelFramework.json +2 -2
- package/json-schema/integration/VercelMonitoring.json +2 -2
- package/json-schema/integration/VercelProject.json +2 -2
- package/json-schema/integration/VercelProvider.json +2 -2
- package/json-schema/integration/VercelTeam.json +2 -2
- package/json-schema/integration/WebhookConfig.json +2 -2
- package/json-schema/integration/WebhookEvent.json +2 -2
- package/json-schema/integration/WebhookSignatureAlgorithm.json +2 -2
- package/json-schema/kernel/ActivationEvent.json +2 -2
- package/json-schema/kernel/AdvancedPluginLifecycleConfig.json +2 -2
- package/json-schema/kernel/ArtifactChecksum.json +2 -2
- package/json-schema/kernel/ArtifactFileEntry.json +2 -2
- package/json-schema/kernel/ArtifactSignature.json +2 -2
- package/json-schema/kernel/BreakingChange.json +2 -2
- package/json-schema/kernel/CLICommandContribution.json +2 -2
- package/json-schema/kernel/CapabilityConformanceLevel.json +2 -2
- package/json-schema/kernel/CompatibilityLevel.json +2 -2
- package/json-schema/kernel/CompatibilityMatrixEntry.json +2 -2
- package/json-schema/kernel/CustomizationOrigin.json +2 -2
- package/json-schema/kernel/CustomizationPolicy.json +2 -2
- package/json-schema/kernel/DeadLetterQueueEntry.json +2 -2
- package/json-schema/kernel/DependencyConflict.json +2 -2
- package/json-schema/kernel/DependencyGraph.json +2 -2
- package/json-schema/kernel/DependencyGraphNode.json +2 -2
- package/json-schema/kernel/DependencyResolutionResult.json +2 -2
- package/json-schema/kernel/DependencyStatusEnum.json +2 -2
- package/json-schema/kernel/DeprecationNotice.json +2 -2
- package/json-schema/kernel/DevFixtureConfig.json +2 -2
- package/json-schema/kernel/DevPluginConfig.json +2 -2
- package/json-schema/kernel/DevPluginPreset.json +2 -2
- package/json-schema/kernel/DevServiceOverride.json +2 -2
- package/json-schema/kernel/DevToolsConfig.json +2 -2
- package/json-schema/kernel/DisablePackageRequest.json +2 -2
- package/json-schema/kernel/DisablePackageResponse.json +2 -2
- package/json-schema/kernel/DistributedStateConfig.json +2 -2
- package/json-schema/kernel/DynamicLoadRequest.json +2 -2
- package/json-schema/kernel/DynamicLoadingConfig.json +2 -2
- package/json-schema/kernel/DynamicPluginOperation.json +2 -2
- package/json-schema/kernel/DynamicPluginResult.json +2 -2
- package/json-schema/kernel/DynamicUnloadRequest.json +2 -2
- package/json-schema/kernel/EnablePackageRequest.json +2 -2
- package/json-schema/kernel/EnablePackageResponse.json +2 -2
- package/json-schema/kernel/Event.json +2 -2
- package/json-schema/kernel/EventBusConfig.json +2 -2
- package/json-schema/kernel/EventHandler.json +2 -2
- package/json-schema/kernel/EventLogEntry.json +2 -2
- package/json-schema/kernel/EventMessageQueueConfig.json +2 -2
- package/json-schema/kernel/EventMetadata.json +2 -2
- package/json-schema/kernel/EventPersistence.json +2 -2
- package/json-schema/kernel/EventPhase.json +2 -2
- package/json-schema/kernel/EventPriority.json +2 -2
- package/json-schema/kernel/EventQueueConfig.json +2 -2
- package/json-schema/kernel/EventReplayConfig.json +2 -2
- package/json-schema/kernel/EventRoute.json +2 -2
- package/json-schema/kernel/EventSourcingConfig.json +2 -2
- package/json-schema/kernel/EventTypeDefinition.json +2 -2
- package/json-schema/kernel/EventWebhookConfig.json +2 -2
- package/json-schema/kernel/ExecutionContext.json +2 -2
- package/json-schema/kernel/ExtensionPoint.json +2 -2
- package/json-schema/kernel/FeatureFlag.json +2 -2
- package/json-schema/kernel/FeatureStrategy.json +2 -2
- package/json-schema/kernel/FieldChange.json +2 -2
- package/json-schema/kernel/GetPackageRequest.json +2 -2
- package/json-schema/kernel/GetPackageResponse.json +2 -2
- package/json-schema/kernel/GracefulDegradation.json +2 -2
- package/json-schema/kernel/HealthStatus.json +2 -2
- package/json-schema/kernel/HookRegisteredEvent.json +2 -2
- package/json-schema/kernel/HookTriggeredEvent.json +2 -2
- package/json-schema/kernel/HotReloadConfig.json +2 -2
- package/json-schema/kernel/InstallPackageRequest.json +2 -2
- package/json-schema/kernel/InstallPackageResponse.json +2 -2
- package/json-schema/kernel/InstalledPackage.json +2 -2
- package/json-schema/kernel/KernelContext.json +2 -2
- package/json-schema/kernel/KernelEventBase.json +2 -2
- package/json-schema/kernel/KernelReadyEvent.json +2 -2
- package/json-schema/kernel/KernelSecurityPolicy.json +2 -2
- package/json-schema/kernel/KernelSecurityScanResult.json +2 -2
- package/json-schema/kernel/KernelSecurityVulnerability.json +2 -2
- package/json-schema/kernel/KernelShutdownEvent.json +2 -2
- package/json-schema/kernel/ListPackagesRequest.json +2 -2
- package/json-schema/kernel/ListPackagesResponse.json +2 -2
- package/json-schema/kernel/Manifest.json +2 -2
- package/json-schema/kernel/MergeConflict.json +2 -2
- package/json-schema/kernel/MergeResult.json +2 -2
- package/json-schema/kernel/MergeStrategyConfig.json +2 -2
- package/json-schema/kernel/MetadataBulkRegisterRequest.json +2 -2
- package/json-schema/kernel/MetadataBulkResult.json +2 -2
- package/json-schema/kernel/MetadataCategoryEnum.json +2 -2
- package/json-schema/kernel/MetadataChangeType.json +2 -2
- package/json-schema/kernel/MetadataCollectionInfo.json +2 -2
- package/json-schema/kernel/MetadataDependency.json +2 -2
- package/json-schema/kernel/MetadataDiffItem.json +2 -2
- package/json-schema/kernel/MetadataEvent.json +2 -2
- package/json-schema/kernel/MetadataExportOptions.json +2 -2
- package/json-schema/kernel/MetadataFallbackStrategy.json +2 -2
- package/json-schema/kernel/MetadataFormat.json +2 -2
- package/json-schema/kernel/MetadataImportOptions.json +2 -2
- package/json-schema/kernel/MetadataLoadOptions.json +2 -2
- package/json-schema/kernel/MetadataLoadResult.json +2 -2
- package/json-schema/kernel/MetadataLoaderContract.json +2 -2
- package/json-schema/kernel/MetadataManagerConfig.json +2 -2
- package/json-schema/kernel/MetadataOverlay.json +2 -2
- package/json-schema/kernel/MetadataPluginConfig.json +2 -2
- package/json-schema/kernel/MetadataPluginManifest.json +2 -2
- package/json-schema/kernel/MetadataQuery.json +2 -2
- package/json-schema/kernel/MetadataQueryResult.json +2 -2
- package/json-schema/kernel/MetadataSaveOptions.json +2 -2
- package/json-schema/kernel/MetadataSaveResult.json +2 -2
- package/json-schema/kernel/MetadataStats.json +2 -2
- package/json-schema/kernel/MetadataType.json +2 -2
- package/json-schema/kernel/MetadataTypeRegistryEntry.json +2 -2
- package/json-schema/kernel/MetadataValidationResult.json +2 -2
- package/json-schema/kernel/MetadataWatchEvent.json +2 -2
- package/json-schema/kernel/MultiVersionSupport.json +2 -2
- package/json-schema/kernel/NamespaceConflictError.json +2 -2
- package/json-schema/kernel/NamespaceRegistryEntry.json +2 -2
- package/json-schema/kernel/OclifPluginConfig.json +2 -2
- package/json-schema/kernel/OpsDomainModule.json +2 -2
- package/json-schema/kernel/OpsFilePath.json +2 -2
- package/json-schema/kernel/OpsPluginStructure.json +2 -2
- package/json-schema/kernel/PackageArtifact.json +2 -2
- package/json-schema/kernel/PackageDependency.json +2 -2
- package/json-schema/kernel/PackageDependencyConflict.json +2 -2
- package/json-schema/kernel/PackageDependencyResolutionResult.json +2 -2
- package/json-schema/kernel/PackageStatusEnum.json +2 -2
- package/json-schema/kernel/Permission.json +2 -2
- package/json-schema/kernel/PermissionAction.json +2 -2
- package/json-schema/kernel/PermissionScope.json +2 -2
- package/json-schema/kernel/PermissionSet.json +2 -2
- package/json-schema/kernel/PluginBuildOptions.json +2 -2
- package/json-schema/kernel/PluginBuildResult.json +2 -2
- package/json-schema/kernel/PluginCaching.json +2 -2
- package/json-schema/kernel/PluginCapability.json +2 -2
- package/json-schema/kernel/PluginCapabilityManifest.json +2 -2
- package/json-schema/kernel/PluginCodeSplitting.json +2 -2
- package/json-schema/kernel/PluginCompatibilityMatrix.json +2 -2
- package/json-schema/kernel/PluginDependency.json +2 -2
- package/json-schema/kernel/PluginDependencyResolution.json +2 -2
- package/json-schema/kernel/PluginDependencyResolutionResult.json +2 -2
- package/json-schema/kernel/PluginDiscoveryConfig.json +2 -2
- package/json-schema/kernel/PluginDiscoverySource.json +2 -2
- package/json-schema/kernel/PluginDynamicImport.json +2 -2
- package/json-schema/kernel/PluginErrorEvent.json +2 -2
- package/json-schema/kernel/PluginEventBase.json +2 -2
- package/json-schema/kernel/PluginHealthCheck.json +2 -2
- package/json-schema/kernel/PluginHealthReport.json +2 -2
- package/json-schema/kernel/PluginHealthStatus.json +2 -2
- package/json-schema/kernel/PluginHotReload.json +2 -2
- package/json-schema/kernel/PluginInitialization.json +2 -2
- package/json-schema/kernel/PluginInstallConfig.json +2 -2
- package/json-schema/kernel/PluginInterface.json +2 -2
- package/json-schema/kernel/PluginLifecycleEventType.json +2 -2
- package/json-schema/kernel/PluginLifecyclePhaseEvent.json +2 -2
- package/json-schema/kernel/PluginLoadingConfig.json +2 -2
- package/json-schema/kernel/PluginLoadingEvent.json +2 -2
- package/json-schema/kernel/PluginLoadingState.json +2 -2
- package/json-schema/kernel/PluginLoadingStrategy.json +2 -2
- package/json-schema/kernel/PluginMetadata.json +2 -2
- package/json-schema/kernel/PluginPerformanceMonitoring.json +2 -2
- package/json-schema/kernel/PluginPreloadConfig.json +2 -2
- package/json-schema/kernel/PluginProvenance.json +2 -2
- package/json-schema/kernel/PluginPublishOptions.json +2 -2
- package/json-schema/kernel/PluginPublishResult.json +2 -2
- package/json-schema/kernel/PluginQualityMetrics.json +2 -2
- package/json-schema/kernel/PluginRegisteredEvent.json +2 -2
- package/json-schema/kernel/PluginRegistryEntry.json +2 -2
- package/json-schema/kernel/PluginSandboxing.json +2 -2
- package/json-schema/kernel/PluginSearchFilters.json +2 -2
- package/json-schema/kernel/PluginSecurityManifest.json +2 -2
- package/json-schema/kernel/PluginSource.json +2 -2
- package/json-schema/kernel/PluginStartupResult.json +2 -2
- package/json-schema/kernel/PluginStateSnapshot.json +2 -2
- package/json-schema/kernel/PluginStatistics.json +2 -2
- package/json-schema/kernel/PluginTrustLevel.json +2 -2
- package/json-schema/kernel/PluginTrustScore.json +2 -2
- package/json-schema/kernel/PluginUpdateStrategy.json +2 -2
- package/json-schema/kernel/PluginValidateOptions.json +2 -2
- package/json-schema/kernel/PluginValidateResult.json +2 -2
- package/json-schema/kernel/PluginVendor.json +2 -2
- package/json-schema/kernel/PluginVersionMetadata.json +2 -2
- package/json-schema/kernel/PreviewModeConfig.json +2 -2
- package/json-schema/kernel/ProtocolFeature.json +2 -2
- package/json-schema/kernel/ProtocolReference.json +2 -2
- package/json-schema/kernel/ProtocolVersion.json +2 -2
- package/json-schema/kernel/RealTimeNotificationConfig.json +2 -2
- package/json-schema/kernel/RequiredAction.json +2 -2
- package/json-schema/kernel/ResolvedDependency.json +2 -2
- package/json-schema/kernel/ResourceType.json +2 -2
- package/json-schema/kernel/RollbackPackageRequest.json +2 -2
- package/json-schema/kernel/RollbackPackageResponse.json +2 -2
- package/json-schema/kernel/RuntimeConfig.json +2 -2
- package/json-schema/kernel/RuntimeMode.json +2 -2
- package/json-schema/kernel/SBOM.json +2 -2
- package/json-schema/kernel/SBOMEntry.json +2 -2
- package/json-schema/kernel/SandboxConfig.json +2 -2
- package/json-schema/kernel/ScopeConfig.json +2 -2
- package/json-schema/kernel/ScopeInfo.json +2 -2
- package/json-schema/kernel/SecurityPolicy.json +2 -2
- package/json-schema/kernel/SecurityScanResult.json +2 -2
- package/json-schema/kernel/SecurityVulnerability.json +2 -2
- package/json-schema/kernel/SemanticVersion.json +2 -2
- package/json-schema/kernel/ServiceFactoryRegistration.json +2 -2
- package/json-schema/kernel/ServiceMetadata.json +2 -2
- package/json-schema/kernel/ServiceRegisteredEvent.json +2 -2
- package/json-schema/kernel/ServiceRegistryConfig.json +2 -2
- package/json-schema/kernel/ServiceScopeType.json +2 -2
- package/json-schema/kernel/ServiceUnregisteredEvent.json +2 -2
- package/json-schema/kernel/StartupOptions.json +2 -2
- package/json-schema/kernel/StartupOrchestrationResult.json +2 -2
- package/json-schema/kernel/TenantRuntimeContext.json +2 -2
- package/json-schema/kernel/UninstallPackageRequest.json +2 -2
- package/json-schema/kernel/UninstallPackageResponse.json +2 -2
- package/json-schema/kernel/UpgradeContext.json +2 -2
- package/json-schema/kernel/UpgradeImpactLevel.json +2 -2
- package/json-schema/kernel/UpgradePackageRequest.json +2 -2
- package/json-schema/kernel/UpgradePackageResponse.json +2 -2
- package/json-schema/kernel/UpgradePhase.json +2 -2
- package/json-schema/kernel/UpgradePlan.json +2 -2
- package/json-schema/kernel/UpgradeSnapshot.json +2 -2
- package/json-schema/kernel/ValidationError.json +2 -2
- package/json-schema/kernel/ValidationFinding.json +2 -2
- package/json-schema/kernel/ValidationResult.json +2 -2
- package/json-schema/kernel/ValidationSeverityEnum.json +2 -2
- package/json-schema/kernel/ValidationWarning.json +2 -2
- package/json-schema/kernel/VersionConstraint.json +2 -2
- package/json-schema/kernel/VulnerabilitySeverity.json +2 -2
- package/json-schema/objectstack.json +3601 -3992
- package/json-schema/openapi.json +1 -1
- package/json-schema/qa/TestAction.json +2 -2
- package/json-schema/qa/TestActionType.json +2 -2
- package/json-schema/qa/TestAssertion.json +2 -2
- package/json-schema/qa/TestAssertionType.json +2 -2
- package/json-schema/qa/TestContext.json +2 -2
- package/json-schema/qa/TestScenario.json +2 -2
- package/json-schema/qa/TestStep.json +2 -2
- package/json-schema/qa/TestSuite.json +2 -2
- package/json-schema/security/AuditPolicy.json +2 -2
- package/json-schema/security/CriteriaSharingRule.json +2 -2
- package/json-schema/security/FieldPermission.json +2 -2
- package/json-schema/security/NetworkPolicy.json +2 -2
- package/json-schema/security/OWDModel.json +2 -2
- package/json-schema/security/ObjectPermission.json +2 -2
- package/json-schema/security/OwnerSharingRule.json +2 -2
- package/json-schema/security/PasswordPolicy.json +2 -2
- package/json-schema/security/PermissionSet.json +2 -2
- package/json-schema/security/Policy.json +2 -2
- package/json-schema/security/RLSAuditConfig.json +2 -2
- package/json-schema/security/RLSAuditEvent.json +2 -2
- package/json-schema/security/RLSConfig.json +2 -2
- package/json-schema/security/RLSEvaluationResult.json +2 -2
- package/json-schema/security/RLSOperation.json +2 -2
- package/json-schema/security/RLSUserContext.json +2 -2
- package/json-schema/security/RowLevelSecurityPolicy.json +2 -2
- package/json-schema/security/SessionPolicy.json +2 -2
- package/json-schema/security/ShareRecipientType.json +2 -2
- package/json-schema/security/SharingLevel.json +2 -2
- package/json-schema/security/SharingRule.json +2 -2
- package/json-schema/security/SharingRuleType.json +2 -2
- package/json-schema/security/Territory.json +2 -2
- package/json-schema/security/TerritoryModel.json +2 -2
- package/json-schema/security/TerritoryType.json +2 -2
- package/json-schema/shared/AggregationFunctionEnum.json +2 -2
- package/json-schema/shared/AppName.json +2 -2
- package/json-schema/shared/BaseMetadataRecord.json +2 -2
- package/json-schema/shared/CacheStrategyEnum.json +2 -2
- package/json-schema/shared/CorsConfig.json +2 -2
- package/json-schema/shared/EventName.json +2 -2
- package/json-schema/shared/FieldMapping.json +2 -2
- package/json-schema/shared/FieldName.json +2 -2
- package/json-schema/shared/FlowName.json +2 -2
- package/json-schema/shared/HttpMethod.json +2 -2
- package/json-schema/shared/HttpRequest.json +2 -2
- package/json-schema/shared/IsolationLevelEnum.json +2 -2
- package/json-schema/shared/MetadataFormat.json +2 -2
- package/json-schema/shared/MutationEventEnum.json +2 -2
- package/json-schema/shared/ObjectName.json +2 -2
- package/json-schema/shared/RateLimitConfig.json +2 -2
- package/json-schema/shared/RoleName.json +2 -2
- package/json-schema/shared/SnakeCaseIdentifier.json +2 -2
- package/json-schema/shared/SortDirectionEnum.json +2 -2
- package/json-schema/shared/SortItem.json +2 -2
- package/json-schema/shared/StaticMount.json +2 -2
- package/json-schema/shared/SystemIdentifier.json +2 -2
- package/json-schema/shared/TransformType.json +2 -2
- package/json-schema/shared/ViewName.json +2 -2
- package/json-schema/studio/ActionContribution.json +2 -2
- package/json-schema/studio/ActionLocation.json +2 -2
- package/json-schema/studio/ActivationEvent.json +2 -2
- package/json-schema/studio/CanvasSnapSettings.json +2 -2
- package/json-schema/studio/CanvasZoomSettings.json +2 -2
- package/json-schema/studio/CommandContribution.json +2 -2
- package/json-schema/studio/ERDiagramConfig.json +2 -2
- package/json-schema/studio/ERLayoutAlgorithm.json +2 -2
- package/json-schema/studio/ERNodeDisplay.json +2 -2
- package/json-schema/studio/ElementPaletteItem.json +2 -2
- package/json-schema/studio/FieldEditorConfig.json +2 -2
- package/json-schema/studio/FieldGroup.json +2 -2
- package/json-schema/studio/FieldPropertySection.json +2 -2
- package/json-schema/studio/FlowBuilderConfig.json +2 -2
- package/json-schema/studio/FlowCanvasEdge.json +2 -2
- package/json-schema/studio/FlowCanvasEdgeStyle.json +2 -2
- package/json-schema/studio/FlowCanvasNode.json +2 -2
- package/json-schema/studio/FlowLayoutAlgorithm.json +2 -2
- package/json-schema/studio/FlowLayoutDirection.json +2 -2
- package/json-schema/studio/FlowNodeRenderDescriptor.json +2 -2
- package/json-schema/studio/FlowNodeShape.json +2 -2
- package/json-schema/studio/InterfaceBuilderConfig.json +2 -2
- package/json-schema/studio/MetadataIconContribution.json +2 -2
- package/json-schema/studio/MetadataViewerContribution.json +2 -2
- package/json-schema/studio/ObjectDesignerConfig.json +2 -2
- package/json-schema/studio/ObjectDesignerDefaultView.json +2 -2
- package/json-schema/studio/ObjectFilter.json +2 -2
- package/json-schema/studio/ObjectListDisplayMode.json +2 -2
- package/json-schema/studio/ObjectManagerConfig.json +2 -2
- package/json-schema/studio/ObjectPreviewConfig.json +2 -2
- package/json-schema/studio/ObjectPreviewTab.json +2 -2
- package/json-schema/studio/ObjectSortField.json +2 -2
- package/json-schema/studio/PageBuilderConfig.json +2 -2
- package/json-schema/studio/PanelContribution.json +2 -2
- package/json-schema/studio/PanelLocation.json +2 -2
- package/json-schema/studio/RelationshipDisplay.json +2 -2
- package/json-schema/studio/RelationshipMapperConfig.json +2 -2
- package/json-schema/studio/SidebarGroupContribution.json +2 -2
- package/json-schema/studio/StudioPluginContributions.json +2 -2
- package/json-schema/studio/StudioPluginManifest.json +2 -2
- package/json-schema/studio/ViewMode.json +2 -2
- package/json-schema/system/AccessControlConfig.json +2 -2
- package/json-schema/system/AddFieldOperation.json +3 -3
- package/json-schema/system/AnalyzerConfig.json +2 -2
- package/json-schema/system/AppCompatibilityCheck.json +2 -2
- package/json-schema/system/AppInstallRequest.json +2 -2
- package/json-schema/system/AppInstallResult.json +2 -2
- package/json-schema/system/AppManifest.json +2 -2
- package/json-schema/system/AuditConfig.json +2 -2
- package/json-schema/system/AuditEvent.json +2 -2
- package/json-schema/system/AuditEventActor.json +2 -2
- package/json-schema/system/AuditEventChange.json +2 -2
- package/json-schema/system/AuditEventFilter.json +2 -2
- package/json-schema/system/AuditEventSeverity.json +2 -2
- package/json-schema/system/AuditEventTarget.json +2 -2
- package/json-schema/system/AuditEventType.json +2 -2
- package/json-schema/system/AuditFinding.json +2 -2
- package/json-schema/system/AuditFindingSeverity.json +2 -2
- package/json-schema/system/AuditFindingStatus.json +2 -2
- package/json-schema/system/AuditLogConfig.json +2 -2
- package/json-schema/system/AuditRetentionPolicy.json +2 -2
- package/json-schema/system/AuditSchedule.json +2 -2
- package/json-schema/system/AuditStorageConfig.json +2 -2
- package/json-schema/system/AuthConfig.json +2 -2
- package/json-schema/system/AuthPluginConfig.json +2 -2
- package/json-schema/system/AuthProviderConfig.json +2 -2
- package/json-schema/system/AwarenessEvent.json +2 -2
- package/json-schema/system/AwarenessSession.json +2 -2
- package/json-schema/system/AwarenessUpdate.json +2 -2
- package/json-schema/system/AwarenessUserState.json +2 -2
- package/json-schema/system/BackupConfig.json +2 -2
- package/json-schema/system/BackupRetention.json +2 -2
- package/json-schema/system/BackupStrategy.json +2 -2
- package/json-schema/system/BatchProgress.json +2 -2
- package/json-schema/system/BucketConfig.json +2 -2
- package/json-schema/system/CRDTMergeResult.json +2 -2
- package/json-schema/system/CRDTState.json +2 -2
- package/json-schema/system/CRDTType.json +2 -2
- package/json-schema/system/CacheAvalanchePrevention.json +2 -2
- package/json-schema/system/CacheConfig.json +2 -2
- package/json-schema/system/CacheConsistency.json +2 -2
- package/json-schema/system/CacheInvalidation.json +2 -2
- package/json-schema/system/CacheStrategy.json +2 -2
- package/json-schema/system/CacheTier.json +2 -2
- package/json-schema/system/CacheWarmup.json +2 -2
- package/json-schema/system/ChangeImpact.json +2 -2
- package/json-schema/system/ChangePriority.json +2 -2
- package/json-schema/system/ChangeRequest.json +2 -2
- package/json-schema/system/ChangeSchema.json +2 -2
- package/json-schema/system/ChangeSet.json +6 -6
- package/json-schema/system/ChangeStatus.json +2 -2
- package/json-schema/system/ChangeType.json +2 -2
- package/json-schema/system/CollaborationMode.json +2 -2
- package/json-schema/system/CollaborationSession.json +2 -2
- package/json-schema/system/CollaborationSessionConfig.json +2 -2
- package/json-schema/system/CollaborativeCursor.json +2 -2
- package/json-schema/system/ComplianceAuditRequirement.json +2 -2
- package/json-schema/system/ComplianceConfig.json +2 -2
- package/json-schema/system/ComplianceEncryptionRequirement.json +2 -2
- package/json-schema/system/ComplianceFramework.json +2 -2
- package/json-schema/system/ConsoleDestinationConfig.json +2 -2
- package/json-schema/system/ConsumerConfig.json +2 -2
- package/json-schema/system/CoreServiceName.json +2 -2
- package/json-schema/system/CounterOperation.json +2 -2
- package/json-schema/system/CreateObjectOperation.json +3 -3
- package/json-schema/system/CronSchedule.json +2 -2
- package/json-schema/system/CursorColorPreset.json +2 -2
- package/json-schema/system/CursorSelection.json +2 -2
- package/json-schema/system/CursorStyle.json +2 -2
- package/json-schema/system/CursorUpdate.json +2 -2
- package/json-schema/system/DataClassification.json +2 -2
- package/json-schema/system/DataClassificationPolicy.json +2 -2
- package/json-schema/system/DatabaseLevelIsolationStrategy.json +2 -2
- package/json-schema/system/DatabaseProvider.json +2 -2
- package/json-schema/system/DeadLetterQueue.json +2 -2
- package/json-schema/system/DeleteObjectOperation.json +2 -2
- package/json-schema/system/DeployBundle.json +2 -2
- package/json-schema/system/DeployDiff.json +2 -2
- package/json-schema/system/DeployManifest.json +2 -2
- package/json-schema/system/DeployStatusEnum.json +2 -2
- package/json-schema/system/DeployValidationIssue.json +2 -2
- package/json-schema/system/DeployValidationResult.json +2 -2
- package/json-schema/system/DisasterRecoveryPlan.json +2 -2
- package/json-schema/system/DistributedCacheConfig.json +2 -2
- package/json-schema/system/EmailTemplate.json +2 -2
- package/json-schema/system/EncryptionAlgorithm.json +2 -2
- package/json-schema/system/EncryptionConfig.json +2 -2
- package/json-schema/system/ExecuteSqlOperation.json +2 -2
- package/json-schema/system/ExtendedLogLevel.json +2 -2
- package/json-schema/system/ExternalServiceDestinationConfig.json +2 -2
- package/json-schema/system/FacetConfig.json +2 -2
- package/json-schema/system/FailoverConfig.json +2 -2
- package/json-schema/system/FailoverMode.json +2 -2
- package/json-schema/system/Feature.json +2 -2
- package/json-schema/system/FieldEncryption.json +2 -2
- package/json-schema/system/FieldTranslation.json +2 -2
- package/json-schema/system/FileDestinationConfig.json +2 -2
- package/json-schema/system/FileMetadata.json +2 -2
- package/json-schema/system/GCounter.json +2 -2
- package/json-schema/system/GDPRConfig.json +2 -2
- package/json-schema/system/HIPAAConfig.json +2 -2
- package/json-schema/system/HistogramBucketConfig.json +2 -2
- package/json-schema/system/HttpDestinationConfig.json +2 -2
- package/json-schema/system/HttpServerConfig.json +2 -2
- package/json-schema/system/InAppNotification.json +2 -2
- package/json-schema/system/Incident.json +2 -2
- package/json-schema/system/IncidentCategory.json +2 -2
- package/json-schema/system/IncidentNotificationMatrix.json +2 -2
- package/json-schema/system/IncidentNotificationRule.json +2 -2
- package/json-schema/system/IncidentResponsePhase.json +2 -2
- package/json-schema/system/IncidentResponsePolicy.json +2 -2
- package/json-schema/system/IncidentSeverity.json +2 -2
- package/json-schema/system/IncidentStatus.json +2 -2
- package/json-schema/system/IntervalSchedule.json +2 -2
- package/json-schema/system/Job.json +2 -2
- package/json-schema/system/JobExecution.json +2 -2
- package/json-schema/system/JobExecutionStatus.json +2 -2
- package/json-schema/system/KernelServiceMap.json +2 -2
- package/json-schema/system/KeyManagementProvider.json +2 -2
- package/json-schema/system/KeyRotationPolicy.json +2 -2
- package/json-schema/system/LWWRegister.json +2 -2
- package/json-schema/system/LevelIsolationStrategySchema.json +2 -2
- package/json-schema/system/License.json +2 -2
- package/json-schema/system/LicenseMetricType.json +2 -2
- package/json-schema/system/LifecycleAction.json +2 -2
- package/json-schema/system/LifecyclePolicyConfig.json +2 -2
- package/json-schema/system/LifecyclePolicyRule.json +2 -2
- package/json-schema/system/Locale.json +2 -2
- package/json-schema/system/LogDestination.json +2 -2
- package/json-schema/system/LogDestinationType.json +2 -2
- package/json-schema/system/LogEnrichmentConfig.json +2 -2
- package/json-schema/system/LogEntry.json +2 -2
- package/json-schema/system/LogFormat.json +2 -2
- package/json-schema/system/LogLevel.json +2 -2
- package/json-schema/system/LoggerConfig.json +2 -2
- package/json-schema/system/LoggingConfig.json +2 -2
- package/json-schema/system/MaskingConfig.json +2 -2
- package/json-schema/system/MaskingRule.json +2 -2
- package/json-schema/system/MaskingStrategy.json +2 -2
- package/json-schema/system/MaskingVisibilityRule.json +2 -2
- package/json-schema/system/MessageQueueConfig.json +2 -2
- package/json-schema/system/MessageQueueProvider.json +2 -2
- package/json-schema/system/MetadataCollectionInfo.json +2 -2
- package/json-schema/system/MetadataExportOptions.json +2 -2
- package/json-schema/system/MetadataFallbackStrategy.json +2 -2
- package/json-schema/system/MetadataFormat.json +2 -2
- package/json-schema/system/MetadataImportOptions.json +2 -2
- package/json-schema/system/MetadataLoadOptions.json +2 -2
- package/json-schema/system/MetadataLoadResult.json +2 -2
- package/json-schema/system/MetadataLoaderContract.json +2 -2
- package/json-schema/system/MetadataManagerConfig.json +2 -2
- package/json-schema/system/MetadataRecord.json +15 -2
- package/json-schema/system/MetadataSaveOptions.json +2 -2
- package/json-schema/system/MetadataSaveResult.json +2 -2
- package/json-schema/system/MetadataScope.json +2 -2
- package/json-schema/system/MetadataSource.json +2 -2
- package/json-schema/system/MetadataState.json +2 -2
- package/json-schema/system/MetadataStats.json +2 -2
- package/json-schema/system/MetadataWatchEvent.json +2 -2
- package/json-schema/system/MetricAggregationConfig.json +2 -2
- package/json-schema/system/MetricAggregationType.json +2 -2
- package/json-schema/system/MetricDataPoint.json +2 -2
- package/json-schema/system/MetricDefinition.json +2 -2
- package/json-schema/system/MetricExportConfig.json +2 -2
- package/json-schema/system/MetricLabels.json +2 -2
- package/json-schema/system/MetricType.json +2 -2
- package/json-schema/system/MetricUnit.json +2 -2
- package/json-schema/system/MetricsConfig.json +2 -2
- package/json-schema/system/MiddlewareConfig.json +2 -2
- package/json-schema/system/MiddlewareType.json +2 -2
- package/json-schema/system/MigrationDependency.json +2 -2
- package/json-schema/system/MigrationOperation.json +4 -4
- package/json-schema/system/MigrationPlan.json +2 -2
- package/json-schema/system/MigrationStatement.json +2 -2
- package/json-schema/system/ModifyFieldOperation.json +2 -2
- package/json-schema/system/MultipartUploadConfig.json +2 -2
- package/json-schema/system/MutualTLSConfig.json +2 -2
- package/json-schema/system/NotificationChannel.json +2 -2
- package/json-schema/system/NotificationConfig.json +2 -2
- package/json-schema/system/ORSet.json +2 -2
- package/json-schema/system/ORSetElement.json +2 -2
- package/json-schema/system/OTComponent.json +2 -2
- package/json-schema/system/OTOperation.json +2 -2
- package/json-schema/system/OTOperationType.json +2 -2
- package/json-schema/system/OTTransformResult.json +2 -2
- package/json-schema/system/ObjectMetadata.json +2 -2
- package/json-schema/system/ObjectStorageConfig.json +2 -2
- package/json-schema/system/ObjectTranslationData.json +2 -2
- package/json-schema/system/OnceSchedule.json +2 -2
- package/json-schema/system/OpenTelemetryCompatibility.json +2 -2
- package/json-schema/system/OtelExporterType.json +2 -2
- package/json-schema/system/PCIDSSConfig.json +2 -2
- package/json-schema/system/PNCounter.json +2 -2
- package/json-schema/system/PackagePublishResult.json +69 -0
- package/json-schema/system/Plan.json +2 -2
- package/json-schema/system/PresignedUrlConfig.json +2 -2
- package/json-schema/system/ProvisioningStep.json +2 -2
- package/json-schema/system/PushNotification.json +2 -2
- package/json-schema/system/QueueConfig.json +2 -2
- package/json-schema/system/QuotaEnforcementResult.json +2 -2
- package/json-schema/system/RPO.json +2 -2
- package/json-schema/system/RTO.json +2 -2
- package/json-schema/system/RegistryConfig.json +2 -2
- package/json-schema/system/RegistrySyncPolicy.json +2 -2
- package/json-schema/system/RegistryUpstream.json +2 -2
- package/json-schema/system/RemoveFieldOperation.json +2 -2
- package/json-schema/system/RenameObjectOperation.json +2 -2
- package/json-schema/system/RetryPolicy.json +2 -2
- package/json-schema/system/RollbackPlan.json +2 -2
- package/json-schema/system/RouteHandlerMetadata.json +2 -2
- package/json-schema/system/RowLevelIsolationStrategy.json +2 -2
- package/json-schema/system/SMSTemplate.json +2 -2
- package/json-schema/system/SamplingDecision.json +2 -2
- package/json-schema/system/SamplingStrategyType.json +2 -2
- package/json-schema/system/Schedule.json +2 -2
- package/json-schema/system/SearchConfig.json +2 -2
- package/json-schema/system/SearchIndexConfig.json +2 -2
- package/json-schema/system/SearchProvider.json +2 -2
- package/json-schema/system/SecurityContextConfig.json +2 -2
- package/json-schema/system/SecurityEventCorrelation.json +2 -2
- package/json-schema/system/ServerCapabilities.json +2 -2
- package/json-schema/system/ServerEvent.json +2 -2
- package/json-schema/system/ServerEventType.json +2 -2
- package/json-schema/system/ServerStatus.json +2 -2
- package/json-schema/system/ServiceConfig.json +2 -2
- package/json-schema/system/ServiceCriticality.json +2 -2
- package/json-schema/system/ServiceLevelIndicator.json +2 -2
- package/json-schema/system/ServiceLevelObjective.json +2 -2
- package/json-schema/system/ServiceStatus.json +2 -2
- package/json-schema/system/Span.json +2 -2
- package/json-schema/system/SpanAttributeValue.json +2 -2
- package/json-schema/system/SpanAttributes.json +2 -2
- package/json-schema/system/SpanEvent.json +2 -2
- package/json-schema/system/SpanKind.json +2 -2
- package/json-schema/system/SpanLink.json +2 -2
- package/json-schema/system/SpanStatus.json +2 -2
- package/json-schema/system/StorageAcl.json +2 -2
- package/json-schema/system/StorageClass.json +2 -2
- package/json-schema/system/StorageConnection.json +2 -2
- package/json-schema/system/StorageProvider.json +2 -2
- package/json-schema/system/StorageScope.json +2 -2
- package/json-schema/system/StructuredLogEntry.json +2 -2
- package/json-schema/system/SupplierAssessmentStatus.json +2 -2
- package/json-schema/system/SupplierRiskLevel.json +2 -2
- package/json-schema/system/SupplierSecurityAssessment.json +2 -2
- package/json-schema/system/SupplierSecurityPolicy.json +2 -2
- package/json-schema/system/SupplierSecurityRequirement.json +2 -2
- package/json-schema/system/SuspiciousActivityRule.json +2 -2
- package/json-schema/system/Task.json +2 -2
- package/json-schema/system/TaskExecutionResult.json +2 -2
- package/json-schema/system/TaskPriority.json +2 -2
- package/json-schema/system/TaskRetryPolicy.json +2 -2
- package/json-schema/system/TaskStatus.json +2 -2
- package/json-schema/system/Tenant.json +2 -2
- package/json-schema/system/TenantConnectionConfig.json +2 -2
- package/json-schema/system/TenantIsolationConfig.json +2 -2
- package/json-schema/system/TenantIsolationLevel.json +2 -2
- package/json-schema/system/TenantPlan.json +2 -2
- package/json-schema/system/TenantProvisioningRequest.json +2 -2
- package/json-schema/system/TenantProvisioningResult.json +2 -2
- package/json-schema/system/TenantProvisioningStatusEnum.json +2 -2
- package/json-schema/system/TenantQuota.json +2 -2
- package/json-schema/system/TenantRegion.json +2 -2
- package/json-schema/system/TenantSecurityPolicy.json +2 -2
- package/json-schema/system/TenantUsage.json +2 -2
- package/json-schema/system/TextCRDTOperation.json +2 -2
- package/json-schema/system/TextCRDTState.json +2 -2
- package/json-schema/system/TimeSeries.json +2 -2
- package/json-schema/system/TimeSeriesDataPoint.json +2 -2
- package/json-schema/system/TopicConfig.json +2 -2
- package/json-schema/system/TraceContext.json +2 -2
- package/json-schema/system/TraceContextPropagation.json +2 -2
- package/json-schema/system/TraceFlags.json +2 -2
- package/json-schema/system/TracePropagationFormat.json +2 -2
- package/json-schema/system/TraceSamplingConfig.json +2 -2
- package/json-schema/system/TraceState.json +2 -2
- package/json-schema/system/TracingConfig.json +2 -2
- package/json-schema/system/TrainingCategory.json +2 -2
- package/json-schema/system/TrainingCompletionStatus.json +2 -2
- package/json-schema/system/TrainingCourse.json +2 -2
- package/json-schema/system/TrainingPlan.json +2 -2
- package/json-schema/system/TrainingRecord.json +2 -2
- package/json-schema/system/TranslationBundle.json +2 -2
- package/json-schema/system/TranslationConfig.json +2 -2
- package/json-schema/system/TranslationData.json +2 -2
- package/json-schema/system/TranslationFileOrganization.json +2 -2
- package/json-schema/system/UserActivityStatus.json +2 -2
- package/json-schema/system/VectorClock.json +2 -2
- package/json-schema/system/WorkerStats.json +2 -2
- package/json-schema/ui/AIChatWindowProps.json +2 -2
- package/json-schema/ui/ActionNavItem.json +2 -2
- package/json-schema/ui/ActionParam.json +2 -2
- package/json-schema/ui/ActionType.json +13 -0
- package/json-schema/ui/AddRecordConfig.json +2 -2
- package/json-schema/ui/Animation.json +2 -2
- package/json-schema/ui/AnimationTrigger.json +2 -2
- package/json-schema/ui/App.json +2 -2
- package/json-schema/ui/AppBranding.json +2 -2
- package/json-schema/ui/AppearanceConfig.json +2 -2
- package/json-schema/ui/AriaProps.json +2 -2
- package/json-schema/ui/BlankPageLayout.json +2 -2
- package/json-schema/ui/BlankPageLayoutItem.json +2 -2
- package/json-schema/ui/BorderRadius.json +2 -2
- package/json-schema/ui/BreakpointColumnMap.json +2 -2
- package/json-schema/ui/BreakpointName.json +2 -2
- package/json-schema/ui/BreakpointOrderMap.json +2 -2
- package/json-schema/ui/Breakpoints.json +2 -2
- package/json-schema/ui/CalendarConfig.json +2 -2
- package/json-schema/ui/ChartAnnotation.json +2 -2
- package/json-schema/ui/ChartAxis.json +2 -2
- package/json-schema/ui/ChartConfig.json +2 -2
- package/json-schema/ui/ChartInteraction.json +2 -2
- package/json-schema/ui/ChartSeries.json +2 -2
- package/json-schema/ui/ChartType.json +2 -2
- package/json-schema/ui/ColorPalette.json +2 -2
- package/json-schema/ui/ColumnSummary.json +2 -2
- package/json-schema/ui/ComponentAnimation.json +2 -2
- package/json-schema/ui/ConflictResolution.json +2 -2
- package/json-schema/ui/Dashboard.json +2 -2
- package/json-schema/ui/DashboardHeader.json +2 -2
- package/json-schema/ui/DashboardHeaderAction.json +2 -2
- package/json-schema/ui/DashboardNavItem.json +2 -2
- package/json-schema/ui/DashboardWidget.json +2 -2
- package/json-schema/ui/DateFormat.json +2 -2
- package/json-schema/ui/DensityMode.json +2 -2
- package/json-schema/ui/DndConfig.json +2 -2
- package/json-schema/ui/DragConstraint.json +2 -2
- package/json-schema/ui/DragHandle.json +2 -2
- package/json-schema/ui/DragItem.json +2 -2
- package/json-schema/ui/DropEffect.json +2 -2
- package/json-schema/ui/DropZone.json +2 -2
- package/json-schema/ui/EasingFunction.json +2 -2
- package/json-schema/ui/ElementButtonProps.json +2 -2
- package/json-schema/ui/ElementDataSource.json +2 -2
- package/json-schema/ui/ElementFilterProps.json +2 -2
- package/json-schema/ui/ElementFormProps.json +2 -2
- package/json-schema/ui/ElementImageProps.json +2 -2
- package/json-schema/ui/ElementNumberProps.json +2 -2
- package/json-schema/ui/ElementRecordPickerProps.json +2 -2
- package/json-schema/ui/ElementTextProps.json +2 -2
- package/json-schema/ui/EmbedConfig.json +2 -2
- package/json-schema/ui/EvictionPolicy.json +2 -2
- package/json-schema/ui/FocusManagement.json +2 -2
- package/json-schema/ui/FocusTrapConfig.json +2 -2
- package/json-schema/ui/FormField.json +2 -2
- package/json-schema/ui/GalleryConfig.json +2 -2
- package/json-schema/ui/GanttConfig.json +2 -2
- package/json-schema/ui/GestureConfig.json +2 -2
- package/json-schema/ui/GestureType.json +2 -2
- package/json-schema/ui/GlobalFilter.json +2 -2
- package/json-schema/ui/GlobalFilterOptionsFrom.json +2 -2
- package/json-schema/ui/GroupNavItem.json +2 -2
- package/json-schema/ui/GroupingConfig.json +2 -2
- package/json-schema/ui/GroupingField.json +2 -2
- package/json-schema/ui/HttpMethod.json +2 -2
- package/json-schema/ui/HttpRequest.json +2 -2
- package/json-schema/ui/I18nLabel.json +2 -2
- package/json-schema/ui/I18nObject.json +2 -2
- package/json-schema/ui/InterfacePageConfig.json +2 -2
- package/json-schema/ui/KanbanConfig.json +2 -2
- package/json-schema/ui/KeyboardNavigationConfig.json +2 -2
- package/json-schema/ui/KeyboardShortcut.json +2 -2
- package/json-schema/ui/ListColumn.json +2 -2
- package/json-schema/ui/ListView.json +2 -2
- package/json-schema/ui/LocaleConfig.json +2 -2
- package/json-schema/ui/LongPressGestureConfig.json +2 -2
- package/json-schema/ui/MotionConfig.json +2 -2
- package/json-schema/ui/NavigationArea.json +2 -2
- package/json-schema/ui/NavigationConfig.json +2 -2
- package/json-schema/ui/NavigationItem.json +2 -2
- package/json-schema/ui/NavigationMode.json +2 -2
- package/json-schema/ui/Notification.json +2 -2
- package/json-schema/ui/NotificationAction.json +2 -2
- package/json-schema/ui/NotificationConfig.json +2 -2
- package/json-schema/ui/NotificationPosition.json +2 -2
- package/json-schema/ui/NotificationSeverity.json +2 -2
- package/json-schema/ui/NotificationType.json +2 -2
- package/json-schema/ui/NumberFormat.json +2 -2
- package/json-schema/ui/ObjectNavItem.json +2 -2
- package/json-schema/ui/OfflineCacheConfig.json +2 -2
- package/json-schema/ui/OfflineConfig.json +2 -2
- package/json-schema/ui/OfflineStrategy.json +2 -2
- package/json-schema/ui/Page.json +2 -2
- package/json-schema/ui/PageAccordionProps.json +2 -2
- package/json-schema/ui/PageCardProps.json +2 -2
- package/json-schema/ui/PageComponent.json +2 -2
- package/json-schema/ui/PageComponentType.json +2 -2
- package/json-schema/ui/PageHeaderProps.json +2 -2
- package/json-schema/ui/PageNavItem.json +2 -2
- package/json-schema/ui/PageRegion.json +2 -2
- package/json-schema/ui/PageTabsProps.json +2 -2
- package/json-schema/ui/PageTransition.json +2 -2
- package/json-schema/ui/PageType.json +2 -2
- package/json-schema/ui/PageVariable.json +2 -2
- package/json-schema/ui/PaginationConfig.json +2 -2
- package/json-schema/ui/PerformanceConfig.json +2 -2
- package/json-schema/ui/PersistStorage.json +2 -2
- package/json-schema/ui/PinchGestureConfig.json +2 -2
- package/json-schema/ui/PluralRule.json +2 -2
- package/json-schema/ui/RecordActivityProps.json +2 -2
- package/json-schema/ui/RecordChatterProps.json +2 -2
- package/json-schema/ui/RecordDetailsProps.json +2 -2
- package/json-schema/ui/RecordHighlightsProps.json +2 -2
- package/json-schema/ui/RecordPathProps.json +2 -2
- package/json-schema/ui/RecordRelatedListProps.json +2 -2
- package/json-schema/ui/RecordReviewConfig.json +2 -2
- package/json-schema/ui/Report.json +2 -2
- package/json-schema/ui/ReportChart.json +2 -2
- package/json-schema/ui/ReportColumn.json +2 -2
- package/json-schema/ui/ReportGrouping.json +2 -2
- package/json-schema/ui/ReportNavItem.json +2 -2
- package/json-schema/ui/ReportType.json +2 -2
- package/json-schema/ui/ResponsiveConfig.json +2 -2
- package/json-schema/ui/RowColorConfig.json +2 -2
- package/json-schema/ui/RowHeight.json +2 -2
- package/json-schema/ui/SelectionConfig.json +2 -2
- package/json-schema/ui/Shadow.json +2 -2
- package/json-schema/ui/SharingConfig.json +2 -2
- package/json-schema/ui/Spacing.json +2 -2
- package/json-schema/ui/SwipeDirection.json +2 -2
- package/json-schema/ui/SwipeGestureConfig.json +2 -2
- package/json-schema/ui/SyncConfig.json +2 -2
- package/json-schema/ui/Theme.json +2 -2
- package/json-schema/ui/ThemeMode.json +2 -2
- package/json-schema/ui/TimelineConfig.json +2 -2
- package/json-schema/ui/TouchInteraction.json +2 -2
- package/json-schema/ui/TouchTargetConfig.json +2 -2
- package/json-schema/ui/TransitionConfig.json +2 -2
- package/json-schema/ui/TransitionPreset.json +2 -2
- package/json-schema/ui/Typography.json +2 -2
- package/json-schema/ui/UrlNavItem.json +2 -2
- package/json-schema/ui/UserActionsConfig.json +2 -2
- package/json-schema/ui/ViewData.json +2 -2
- package/json-schema/ui/ViewFilterRule.json +2 -2
- package/json-schema/ui/ViewSharing.json +2 -2
- package/json-schema/ui/ViewTab.json +2 -2
- package/json-schema/ui/VisualizationType.json +2 -2
- package/json-schema/ui/WcagContrastLevel.json +2 -2
- package/json-schema/ui/WidgetActionType.json +2 -2
- package/json-schema/ui/WidgetColorVariant.json +2 -2
- package/json-schema/ui/WidgetEvent.json +2 -2
- package/json-schema/ui/WidgetLifecycle.json +2 -2
- package/json-schema/ui/WidgetManifest.json +2 -2
- package/json-schema/ui/WidgetMeasure.json +2 -2
- package/json-schema/ui/WidgetProperty.json +2 -2
- package/json-schema/ui/WidgetSource.json +2 -2
- package/json-schema/ui/ZIndex.json +2 -2
- package/package.json +1 -1
- package/dist/app-install.zod-BEVR4Rrw.d.mts +0 -387
- package/dist/app-install.zod-BEVR4Rrw.d.ts +0 -387
- package/json-schema/ui/Action.json +0 -486
package/dist/ui/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/ui/i18n.zod.ts","../../src/ui/chart.zod.ts","../../src/ui/responsive.zod.ts","../../src/shared/identifiers.zod.ts","../../src/ui/sharing.zod.ts","../../src/ui/app.zod.ts","../../src/shared/http.zod.ts","../../src/ui/view.zod.ts","../../src/data/filter.zod.ts","../../src/ui/dashboard.zod.ts","../../src/ui/report.zod.ts","../../src/system/encryption.zod.ts","../../src/system/masking.zod.ts","../../src/data/field.zod.ts","../../src/ui/action.zod.ts","../../src/shared/enums.zod.ts","../../src/ui/page.zod.ts","../../src/ui/widget.zod.ts","../../src/data/feed.zod.ts","../../src/ui/component.zod.ts","../../src/ui/touch.zod.ts","../../src/ui/keyboard.zod.ts","../../src/ui/theme.zod.ts","../../src/ui/offline.zod.ts","../../src/ui/animation.zod.ts","../../src/ui/notification.zod.ts","../../src/ui/dnd.zod.ts"],"names":["z"],"mappings":"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","file":"index.mjs","sourcesContent":["// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * I18n Object Schema\n * Structured internationalization label with translation key and parameters.\n * \n * @example\n * ```typescript\n * const label: I18nObject = {\n * key: 'views.task_list.label',\n * defaultValue: 'Task List',\n * params: { count: 5 },\n * };\n * ```\n */\nexport const I18nObjectSchema = z.object({\n /** Translation key (e.g., \"views.task_list.label\", \"apps.crm.description\") */\n key: z.string().describe('Translation key (e.g., \"views.task_list.label\")'),\n\n /** Default value when translation is not available */\n defaultValue: z.string().optional().describe('Fallback value when translation key is not found'),\n\n /** Interpolation parameters for dynamic translations */\n params: z.record(z.string(), z.union([z.string(), z.number(), z.boolean()])).optional().describe('Interpolation parameters (e.g., { count: 5 })'),\n});\n\nexport type I18nObject = z.infer<typeof I18nObjectSchema>;\n\n/**\n * I18n Label Schema (Union)\n * \n * Supports two modes for backward compatibility:\n * 1. **Plain string** — Direct label text (legacy/simple usage)\n * 2. **I18n object** — Structured translation key with parameters\n * \n * This union type allows gradual migration from hardcoded strings\n * to fully internationalized labels without breaking existing configurations.\n * \n * @example Plain string (backward compatible)\n * ```typescript\n * const label: I18nLabel = \"All Active\";\n * ```\n * \n * @example I18n object\n * ```typescript\n * const label: I18nLabel = {\n * key: \"views.task_list.label\",\n * defaultValue: \"Task List\",\n * };\n * ```\n */\nexport const I18nLabelSchema = z.union([\n z.string(),\n I18nObjectSchema,\n]).describe('Display label: plain string or i18n translation object');\n\nexport type I18nLabel = z.infer<typeof I18nLabelSchema>;\n\n/**\n * ARIA Accessibility Properties Schema\n * \n * Common ARIA attributes for UI components to support screen readers\n * and assistive technologies.\n * \n * Aligned with WAI-ARIA 1.2 specification.\n * \n * @see https://www.w3.org/TR/wai-aria-1.2/\n * \n * @example\n * ```typescript\n * const aria: AriaProps = {\n * ariaLabel: 'Close dialog',\n * ariaDescribedBy: 'dialog-description',\n * role: 'dialog',\n * };\n * ```\n */\nexport const AriaPropsSchema = z.object({\n /** Accessible label for screen readers */\n ariaLabel: I18nLabelSchema.optional().describe('Accessible label for screen readers (WAI-ARIA aria-label)'),\n\n /** ID of element that describes this component */\n ariaDescribedBy: z.string().optional().describe('ID of element providing additional description (WAI-ARIA aria-describedby)'),\n\n /** WAI-ARIA role override */\n role: z.string().optional().describe('WAI-ARIA role attribute (e.g., \"dialog\", \"navigation\", \"alert\")'),\n}).describe('ARIA accessibility attributes');\n\nexport type AriaProps = z.infer<typeof AriaPropsSchema>;\n\n/**\n * Plural Rule Schema\n *\n * Defines plural forms for a translation key, following ICU MessageFormat / i18next conventions.\n * Supports zero, one, two, few, many, other forms per CLDR plural rules.\n *\n * @see https://unicode.org/reports/tr35/tr35-numbers.html#Language_Plural_Rules\n *\n * @example\n * ```typescript\n * const plural: PluralRule = {\n * key: 'items.count',\n * zero: 'No items',\n * one: '{count} item',\n * other: '{count} items',\n * };\n * ```\n */\nexport const PluralRuleSchema = z.object({\n /** Translation key for the plural form */\n key: z.string().describe('Translation key'),\n /** Form for zero quantity */\n zero: z.string().optional().describe('Zero form (e.g., \"No items\")'),\n /** Form for singular (1) */\n one: z.string().optional().describe('Singular form (e.g., \"{count} item\")'),\n /** Form for dual (2) — used in Arabic, Welsh, etc. */\n two: z.string().optional().describe('Dual form (e.g., \"{count} items\" for exactly 2)'),\n /** Form for few (2-4 in Slavic languages) */\n few: z.string().optional().describe('Few form (e.g., for 2-4 in some languages)'),\n /** Form for many (5+ in Slavic languages) */\n many: z.string().optional().describe('Many form (e.g., for 5+ in some languages)'),\n /** Default/fallback form */\n other: z.string().describe('Default plural form (e.g., \"{count} items\")'),\n}).describe('ICU plural rules for a translation key');\n\nexport type PluralRule = z.infer<typeof PluralRuleSchema>;\n\n/**\n * Number Format Schema\n *\n * Defines number formatting rules for localization.\n *\n * @example\n * ```typescript\n * const format: NumberFormat = {\n * style: 'currency',\n * currency: 'USD',\n * minimumFractionDigits: 2,\n * };\n * ```\n */\nexport const NumberFormatSchema = z.object({\n style: z.enum(['decimal', 'currency', 'percent', 'unit']).default('decimal')\n .describe('Number formatting style'),\n currency: z.string().optional().describe('ISO 4217 currency code (e.g., \"USD\", \"EUR\")'),\n unit: z.string().optional().describe('Unit for unit formatting (e.g., \"kilometer\", \"liter\")'),\n minimumFractionDigits: z.number().optional().describe('Minimum number of fraction digits'),\n maximumFractionDigits: z.number().optional().describe('Maximum number of fraction digits'),\n useGrouping: z.boolean().optional().describe('Whether to use grouping separators (e.g., 1,000)'),\n}).describe('Number formatting rules');\n\nexport type NumberFormat = z.infer<typeof NumberFormatSchema>;\n\n/**\n * Date Format Schema\n *\n * Defines date/time formatting rules for localization.\n *\n * @example\n * ```typescript\n * const format: DateFormat = {\n * dateStyle: 'medium',\n * timeStyle: 'short',\n * timeZone: 'America/New_York',\n * };\n * ```\n */\nexport const DateFormatSchema = z.object({\n dateStyle: z.enum(['full', 'long', 'medium', 'short']).optional()\n .describe('Date display style'),\n timeStyle: z.enum(['full', 'long', 'medium', 'short']).optional()\n .describe('Time display style'),\n timeZone: z.string().optional().describe('IANA time zone (e.g., \"America/New_York\")'),\n hour12: z.boolean().optional().describe('Use 12-hour format'),\n}).describe('Date/time formatting rules');\n\nexport type DateFormat = z.infer<typeof DateFormatSchema>;\n\n/**\n * Locale Configuration Schema\n *\n * Defines a complete locale configuration including language code,\n * fallback chain, and formatting preferences.\n *\n * @example\n * ```typescript\n * const locale: LocaleConfig = {\n * code: 'zh-CN',\n * fallbackChain: ['zh-TW', 'en'],\n * direction: 'ltr',\n * numberFormat: { style: 'decimal', useGrouping: true },\n * dateFormat: { dateStyle: 'medium', timeStyle: 'short' },\n * };\n * ```\n */\nexport const LocaleConfigSchema = z.object({\n /** BCP 47 language code (e.g., \"en-US\", \"zh-CN\", \"ar-SA\") */\n code: z.string().describe('BCP 47 language code (e.g., \"en-US\", \"zh-CN\")'),\n\n /** Ordered fallback chain for missing translations */\n fallbackChain: z.array(z.string()).optional()\n .describe('Fallback language codes in priority order (e.g., [\"zh-TW\", \"en\"])'),\n\n /** Text direction */\n direction: z.enum(['ltr', 'rtl']).default('ltr')\n .describe('Text direction: left-to-right or right-to-left'),\n\n /** Default number formatting */\n numberFormat: NumberFormatSchema.optional().describe('Default number formatting rules'),\n\n /** Default date formatting */\n dateFormat: DateFormatSchema.optional().describe('Default date/time formatting rules'),\n}).describe('Locale configuration');\n\nexport type LocaleConfig = z.infer<typeof LocaleConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.zod';\n\n/**\n * Unified Chart Type Taxonomy\n * \n * Shared by Dashboard and Report widgets.\n * Provides a comprehensive set of chart types for data visualization.\n */\n\n/**\n * Chart Type Enum\n * Categorized by visualization purpose\n */\nexport const ChartTypeSchema = z.enum([\n // Comparison\n 'bar',\n 'horizontal-bar',\n 'column',\n 'grouped-bar',\n 'stacked-bar',\n 'bi-polar-bar',\n \n // Trend\n 'line',\n 'area',\n 'stacked-area',\n 'step-line',\n 'spline',\n \n // Distribution\n 'pie',\n 'donut',\n 'funnel',\n 'pyramid',\n \n // Relationship\n 'scatter',\n 'bubble',\n \n // Composition\n 'treemap',\n 'sunburst',\n 'sankey',\n 'word-cloud',\n \n // Performance\n 'gauge',\n 'solid-gauge',\n 'metric',\n 'kpi',\n 'bullet',\n \n // Geo\n 'choropleth',\n 'bubble-map',\n 'gl-map',\n \n // Advanced\n 'heatmap',\n 'radar',\n 'waterfall',\n 'box-plot',\n 'violin',\n 'candlestick',\n 'stock',\n \n // Tabular\n 'table',\n 'pivot',\n]);\n\nexport type ChartType = z.infer<typeof ChartTypeSchema>;\n\n/**\n * Chart Axis Schema\n * Definition for X and Y axes\n */\nexport const ChartAxisSchema = z.object({\n /** Data field to map to this axis */\n field: z.string().describe('Data field key'),\n \n /** Axis title */\n title: I18nLabelSchema.optional().describe('Axis display title'),\n\n /** Value formatting (d3-format or similar) */\n format: z.string().optional().describe('Value format string (e.g., \"$0,0.00\")'),\n \n /** Axis scale settings */\n min: z.number().optional().describe('Minimum value'),\n max: z.number().optional().describe('Maximum value'),\n stepSize: z.number().optional().describe('Step size for ticks'),\n \n /** Appearance */\n showGridLines: z.boolean().default(true),\n position: z.enum(['left', 'right', 'top', 'bottom']).optional().describe('Axis position'),\n \n /** Logarithmic scale */\n logarithmic: z.boolean().default(false),\n});\n\n/**\n * Chart Series Schema\n * Defines a single data series in the chart\n */\nexport const ChartSeriesSchema = z.object({\n /** Field name for values */\n name: z.string().describe('Field name or series identifier'),\n \n /** Display label */\n label: I18nLabelSchema.optional().describe('Series display label'),\n \n /** Series type override (combo charts) */\n type: ChartTypeSchema.optional().describe('Override chart type for this series'),\n \n /** Specific color */\n color: z.string().optional().describe('Series color (hex/rgb/token)'),\n \n /** Stacking group */\n stack: z.string().optional().describe('Stack identifier to group series'),\n \n /** Axis binding */\n yAxis: z.enum(['left', 'right']).default('left').describe('Bind to specific Y-Axis'),\n});\n\n/**\n * Chart Annotation Schema\n * Static lines or regions to highlight data\n */\nexport const ChartAnnotationSchema = z.object({\n type: z.enum(['line', 'region']).default('line'),\n axis: z.enum(['x', 'y']).default('y'),\n value: z.union([z.number(), z.string()]).describe('Start value'),\n endValue: z.union([z.number(), z.string()]).optional().describe('End value for regions'),\n color: z.string().optional(),\n label: I18nLabelSchema.optional(),\n style: z.enum(['solid', 'dashed', 'dotted']).default('dashed'),\n});\n\n/**\n * Chart Interaction Schema\n */\nexport const ChartInteractionSchema = z.object({\n tooltips: z.boolean().default(true),\n zoom: z.boolean().default(false),\n brush: z.boolean().default(false),\n clickAction: z.string().optional().describe('Action ID to trigger on click'),\n});\n\n/**\n * Chart Configuration Base\n * Common configuration for all chart types\n */\nexport const ChartConfigSchema = z.object({\n /** Chart Type */\n type: ChartTypeSchema,\n \n /** Titles */\n title: I18nLabelSchema.optional().describe('Chart title'),\n subtitle: I18nLabelSchema.optional().describe('Chart subtitle'),\n description: I18nLabelSchema.optional().describe('Accessibility description'),\n \n /** Axes Mapping */\n xAxis: ChartAxisSchema.optional().describe('X-Axis configuration'),\n yAxis: z.array(ChartAxisSchema).optional().describe('Y-Axis configuration (support dual axis)'),\n \n /** Series Configuration */\n series: z.array(ChartSeriesSchema).optional().describe('Defined series configuration'),\n \n /** Appearance */\n colors: z.array(z.string()).optional().describe('Color palette'),\n height: z.number().optional().describe('Fixed height in pixels'),\n \n /** Components */\n showLegend: z.boolean().default(true).describe('Display legend'),\n showDataLabels: z.boolean().default(false).describe('Display data labels'),\n \n /** Annotations & Reference Lines */\n annotations: z.array(ChartAnnotationSchema).optional(),\n \n /** Interactions */\n interaction: ChartInteractionSchema.optional(),\n\n /** ARIA accessibility attributes */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\nexport type ChartConfig = z.infer<typeof ChartConfigSchema>;\nexport type ChartAxis = z.infer<typeof ChartAxisSchema>;\nexport type ChartSeries = z.infer<typeof ChartSeriesSchema>;\nexport type ChartAnnotation = z.infer<typeof ChartAnnotationSchema>;\nexport type ChartInteraction = z.infer<typeof ChartInteractionSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Breakpoint Name Enum\n * Matches the breakpoint names defined in theme.zod.ts BreakpointsSchema.\n */\nexport const BreakpointName = z.enum(['xs', 'sm', 'md', 'lg', 'xl', '2xl']);\n\nexport type BreakpointName = z.infer<typeof BreakpointName>;\n\n/**\n * Responsive Configuration Schema\n *\n * Provides responsive layout configuration for UI components.\n * Maps breakpoint names to layout behavior (columns, visibility, order).\n *\n * Aligned with theme.zod.ts BreakpointsSchema for a unified responsive system.\n *\n * @example\n * ```typescript\n * const config: ResponsiveConfig = {\n * columns: { xs: 12, sm: 6, lg: 4 },\n * hiddenOn: ['xs'],\n * order: { xs: 2, lg: 1 },\n * };\n * ```\n */\n/**\n * Breakpoint Column Map Schema\n * Maps breakpoint names to grid column counts (1-12).\n * All entries are optional — only specified breakpoints are configured.\n */\nexport const BreakpointColumnMapSchema = z.object({\n xs: z.number().min(1).max(12).optional(),\n sm: z.number().min(1).max(12).optional(),\n md: z.number().min(1).max(12).optional(),\n lg: z.number().min(1).max(12).optional(),\n xl: z.number().min(1).max(12).optional(),\n '2xl': z.number().min(1).max(12).optional(),\n}).describe('Grid columns per breakpoint (1-12)');\n\n/**\n * Breakpoint Order Map Schema\n * Maps breakpoint names to display order numbers.\n * All entries are optional — only specified breakpoints are configured.\n */\nexport const BreakpointOrderMapSchema = z.object({\n xs: z.number().optional(),\n sm: z.number().optional(),\n md: z.number().optional(),\n lg: z.number().optional(),\n xl: z.number().optional(),\n '2xl': z.number().optional(),\n}).describe('Display order per breakpoint');\n\nexport const ResponsiveConfigSchema = z.object({\n /** Minimum breakpoint for visibility */\n breakpoint: BreakpointName.optional()\n .describe('Minimum breakpoint for visibility'),\n\n /** Hide on specific breakpoints */\n hiddenOn: z.array(BreakpointName).optional()\n .describe('Hide on these breakpoints'),\n\n /** Grid columns per breakpoint (1-12 column grid) */\n columns: BreakpointColumnMapSchema.optional().describe('Grid columns per breakpoint'),\n\n /** Display order per breakpoint */\n order: BreakpointOrderMapSchema.optional().describe('Display order per breakpoint'),\n}).describe('Responsive layout configuration');\n\nexport type ResponsiveConfig = z.infer<typeof ResponsiveConfigSchema>;\n\n/**\n * Performance Configuration Schema\n *\n * Defines performance optimization settings for UI components\n * such as lazy loading, virtual scrolling, and caching.\n *\n * @example\n * ```typescript\n * const perf: PerformanceConfig = {\n * lazyLoad: true,\n * virtualScroll: { enabled: true, itemHeight: 40, overscan: 5 },\n * cacheStrategy: 'stale-while-revalidate',\n * prefetch: true,\n * };\n * ```\n */\nexport const PerformanceConfigSchema = z.object({\n /** Enable lazy loading for this component */\n lazyLoad: z.boolean().optional()\n .describe('Enable lazy loading (defer rendering until visible)'),\n\n /** Virtual scrolling configuration for large datasets */\n virtualScroll: z.object({\n enabled: z.boolean().default(false).describe('Enable virtual scrolling'),\n itemHeight: z.number().optional().describe('Fixed item height in pixels (for estimation)'),\n overscan: z.number().optional().describe('Number of extra items to render outside viewport'),\n }).optional().describe('Virtual scrolling configuration'),\n\n /** Client-side caching strategy */\n cacheStrategy: z.enum([\n 'none',\n 'cache-first',\n 'network-first',\n 'stale-while-revalidate',\n ]).optional().describe('Client-side data caching strategy'),\n\n /** Enable data prefetching */\n prefetch: z.boolean().optional()\n .describe('Prefetch data before component is visible'),\n\n /** Maximum number of items to render before pagination */\n pageSize: z.number().optional()\n .describe('Number of items per page for pagination'),\n\n /** Debounce interval for user interactions (ms) */\n debounceMs: z.number().optional()\n .describe('Debounce interval for user interactions in milliseconds'),\n}).describe('Performance optimization configuration');\n\nexport type PerformanceConfig = z.infer<typeof PerformanceConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * System Identifier Schema\n * \n * Universal naming convention for all machine identifiers (API Names) in ObjectStack.\n * Enforces lowercase with underscores or dots to ensure:\n * - Cross-platform compatibility (case-insensitive filesystems)\n * - URL-friendliness (no encoding needed)\n * - Database consistency (no collation issues)\n * - Security (no case-sensitivity bugs in permission checks)\n * \n * **Applies to all metadata that acts as a machine identifier:**\n * - Object names (tables/collections)\n * - Field names\n * - Role names\n * - Permission set names\n * - Action/trigger names\n * - Event keys\n * - App IDs\n * - Menu/page IDs\n * - Select option values\n * - Workflow names\n * - Webhook names\n * \n * **Naming Convention Summary:**\n * | Type | Pattern | Example |\n * |------|---------|---------|\n * | Machine ID | snake_case | `crm_account`, `btn_submit`, `role_admin` |\n * | Event keys | dot.notation | `user.login`, `order.created` |\n * | Labels | Any case | `Client Account`, `Submit Form` |\n * \n * @example Valid identifiers\n * - 'account'\n * - 'crm_account'\n * - 'user_profile'\n * - 'order.created' (for events)\n * - 'api_v2_endpoint'\n * \n * @example Invalid identifiers (will be rejected)\n * - 'Account' (uppercase)\n * - 'CrmAccount' (camelCase)\n * - 'crm-account' (kebab-case - use underscore instead)\n * - 'user profile' (spaces)\n */\nexport const SystemIdentifierSchema = z\n .string()\n .min(2, { message: 'System identifier must be at least 2 characters' })\n .regex(/^[a-z][a-z0-9_.]*$/, {\n message:\n 'System identifier must be lowercase, starting with a letter, and may contain letters, numbers, underscores, or dots (e.g., \"user_profile\" or \"order.created\")',\n })\n .describe('System identifier (lowercase with underscores or dots)');\n\n/**\n * Strict Snake Case Identifier\n * \n * More restrictive than SystemIdentifierSchema - only allows underscores (no dots).\n * Use this for identifiers that should NOT contain dots (e.g., database table/column names).\n * \n * @example Valid\n * - 'account'\n * - 'crm_account'\n * - 'user_profile'\n * \n * @example Invalid\n * - 'user.profile' (dots not allowed)\n * - 'UserProfile' (uppercase)\n */\nexport const SnakeCaseIdentifierSchema = z\n .string()\n .min(2, { message: 'Identifier must be at least 2 characters' })\n .regex(/^[a-z][a-z0-9_]*$/, {\n message:\n 'Identifier must be lowercase snake_case, starting with a letter, and may contain only letters, numbers, and underscores (e.g., \"user_profile\")',\n })\n .describe('Snake case identifier (lowercase with underscores only)');\n\n/**\n * Event Name Identifier\n * \n * Specialized identifier for event names that encourages dot notation.\n * Used in event-driven systems, message queues, and webhooks.\n * \n * Pattern: `namespace.action` or `entity.event_type`\n * \n * @example Valid\n * - 'user.created'\n * - 'order.paid'\n * - 'user.login_success'\n * - 'alarm.high_cpu'\n * \n * @example Invalid\n * - 'UserCreated' (camelCase)\n * - 'user_created' (should use dots for namespacing)\n */\nexport const EventNameSchema = z\n .string()\n .min(3, { message: 'Event name must be at least 3 characters' })\n .regex(/^[a-z][a-z0-9_.]*$/, {\n message:\n 'Event name must be lowercase with dots for namespacing (e.g., \"user.created\", \"order.paid\")',\n })\n .describe('Event name (lowercase with dot notation for namespacing)');\n\n/**\n * Type Exports\n */\nexport type SystemIdentifier = z.infer<typeof SystemIdentifierSchema>;\nexport type SnakeCaseIdentifier = z.infer<typeof SnakeCaseIdentifierSchema>;\nexport type EventName = z.infer<typeof EventNameSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\n/**\n * @module ui/sharing\n *\n * Sharing & Embedding Protocol\n *\n * Defines schemas for public link sharing, embed configuration,\n * domain restrictions, and password protection for apps, pages, and forms.\n */\n\nimport { z } from 'zod';\n\n/**\n * Sharing Config Schema\n * Configuration for public sharing of an app, page, or form.\n * Supports public links, password protection, domain restrictions, and expiration.\n */\nexport const SharingConfigSchema = z.object({\n enabled: z.boolean().default(false).describe('Enable public sharing'),\n publicLink: z.string().optional().describe('Generated public share URL'),\n password: z.string().optional().describe('Password required to access shared link'),\n allowedDomains: z.array(z.string()).optional()\n .describe('Restrict access to specific email domains (e.g. [\"example.com\"])'),\n expiresAt: z.string().optional()\n .describe('Expiration date/time in ISO 8601 format'),\n allowAnonymous: z.boolean().optional().default(false)\n .describe('Allow access without authentication'),\n});\n\n/**\n * Embed Config Schema\n * Configuration for iframe embedding of an app, page, or form.\n * Supports origin restrictions, display options, and responsive sizing.\n */\nexport const EmbedConfigSchema = z.object({\n enabled: z.boolean().default(false).describe('Enable iframe embedding'),\n allowedOrigins: z.array(z.string()).optional()\n .describe('Allowed iframe parent origins (e.g. [\"https://example.com\"])'),\n width: z.string().optional().default('100%').describe('Embed width (CSS value)'),\n height: z.string().optional().default('600px').describe('Embed height (CSS value)'),\n showHeader: z.boolean().optional().default(true).describe('Show interface header in embed'),\n showNavigation: z.boolean().optional().default(false).describe('Show navigation in embed'),\n responsive: z.boolean().optional().default(true).describe('Enable responsive resizing'),\n});\n\n// Type Exports\nexport type SharingConfig = z.infer<typeof SharingConfigSchema>;\nexport type EmbedConfig = z.infer<typeof EmbedConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { SnakeCaseIdentifierSchema } from '../shared/identifiers.zod';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.zod';\nimport { SharingConfigSchema, EmbedConfigSchema } from './sharing.zod';\n\n/**\n * Base Navigation Item Schema\n * Shared properties for all navigation types.\n * \n * **NAMING CONVENTION:**\n * Navigation item IDs are used in URLs and configuration and must be lowercase snake_case.\n * \n * @example Good IDs\n * - 'menu_accounts'\n * - 'page_dashboard'\n * - 'nav_settings'\n * \n * @example Bad IDs (will be rejected)\n * - 'MenuAccounts' (PascalCase)\n * - 'Page Dashboard' (spaces)\n */\nconst BaseNavItemSchema = z.object({\n /** Unique identifier for the item */\n id: SnakeCaseIdentifierSchema.describe('Unique identifier for this navigation item (lowercase snake_case)'),\n \n /** Display label */\n label: I18nLabelSchema.describe('Display proper label'),\n \n /** Icon name (Lucide) */\n icon: z.string().optional().describe('Icon name'),\n\n /** Sort order within the same level (lower numbers appear first) */\n order: z.number().optional().describe('Sort order within the same level (lower = first)'),\n\n /** Badge text or count displayed on the navigation item (e.g. \"3\", \"New\") */\n badge: z.union([z.string(), z.number()]).optional().describe('Badge text or count displayed on the item'),\n\n /** \n * Visibility condition. \n * Formula expression returning boolean. \n * e.g. \"user.is_admin || user.department == 'sales'\"\n */\n visible: z.string().optional().describe('Visibility formula condition'),\n\n /** Permissions required to see/access this navigation item */\n requiredPermissions: z.array(z.string()).optional().describe('Permissions required to access this item'),\n});\n\n/**\n * 1. Object Navigation Item\n * Navigates to an object's list view.\n */\nexport const ObjectNavItemSchema = BaseNavItemSchema.extend({\n type: z.literal('object'),\n objectName: z.string().describe('Target object name'),\n viewName: z.string().optional().describe('Default list view to open. Defaults to \"all\"'),\n});\n\n/**\n * 2. Dashboard Navigation Item\n * Navigates to a specific dashboard.\n */\nexport const DashboardNavItemSchema = BaseNavItemSchema.extend({\n type: z.literal('dashboard'),\n dashboardName: z.string().describe('Target dashboard name'),\n});\n\n/**\n * 3. Page Navigation Item\n * Navigates to a custom UI page/component.\n */\nexport const PageNavItemSchema = BaseNavItemSchema.extend({\n type: z.literal('page'),\n pageName: z.string().describe('Target custom page component name'),\n params: z.record(z.string(), z.unknown()).optional().describe('Parameters passed to the page context'),\n});\n\n/**\n * 4. URL Navigation Item\n * Navigates to an external or absolute URL.\n */\nexport const UrlNavItemSchema = BaseNavItemSchema.extend({\n type: z.literal('url'),\n url: z.string().describe('Target external URL'),\n target: z.enum(['_self', '_blank']).default('_self').describe('Link target window'),\n});\n\n/**\n * 5. Report Navigation Item\n * Navigates to a specific report.\n */\nexport const ReportNavItemSchema = BaseNavItemSchema.extend({\n type: z.literal('report'),\n reportName: z.string().describe('Target report name'),\n});\n\n/**\n * 6. Action Navigation Item\n * Triggers an action (e.g. opening a flow, running a script, or launching a screen action).\n */\nexport const ActionNavItemSchema = BaseNavItemSchema.extend({\n type: z.literal('action'),\n actionDef: z.object({\n actionName: z.string().describe('Action machine name to execute'),\n params: z.record(z.string(), z.unknown()).optional().describe('Parameters passed to the action'),\n }).describe('Action definition to execute when clicked'),\n});\n\n/**\n * 7. Group Navigation Item\n * A container for child navigation items (Sub-menu).\n * Does not perform navigation itself.\n */\nexport const GroupNavItemSchema = BaseNavItemSchema.extend({\n type: z.literal('group'),\n expanded: z.boolean().default(false).describe('Default expansion state in sidebar'),\n // children property is added in the recursive definition below\n});\n\n/**\n * Recursive Union of all navigation item types.\n * Allows constructing an unlimited-depth navigation tree.\n */\nexport const NavigationItemSchema: z.ZodType<any> = z.lazy(() => \n z.union([\n ObjectNavItemSchema.extend({\n children: z.array(NavigationItemSchema).optional().describe('Child navigation items (e.g. specific views)'),\n }),\n DashboardNavItemSchema,\n PageNavItemSchema,\n UrlNavItemSchema,\n ReportNavItemSchema,\n ActionNavItemSchema,\n GroupNavItemSchema.extend({\n children: z.array(NavigationItemSchema).describe('Child navigation items'),\n })\n ])\n);\n\n/**\n * App Branding Configuration\n * Allows configuring the look and feel of the specific app.\n */\nexport const AppBrandingSchema = z.object({\n primaryColor: z.string().optional().describe('Primary theme color hex code'),\n logo: z.string().optional().describe('Custom logo URL for this app'),\n favicon: z.string().optional().describe('Custom favicon URL for this app'),\n});\n\n/**\n * Navigation Area Schema\n * \n * A logical grouping (zone/section) of navigation items, similar to Salesforce \"App Areas\"\n * or Dynamics 365 \"Site Map Areas\". Each area represents a business domain (e.g. Sales, Service, Settings)\n * and contains its own independent navigation tree.\n * \n * Areas allow large applications to partition navigation by business function while\n * keeping a single AppSchema definition. The runtime may render areas as top-level tabs,\n * sidebar sections, or a switchable navigation context.\n * \n * @example\n * ```ts\n * const salesArea: NavigationArea = {\n * id: 'area_sales',\n * label: 'Sales',\n * icon: 'briefcase',\n * order: 1,\n * navigation: [\n * { id: 'nav_leads', type: 'object', label: 'Leads', objectName: 'lead' },\n * { id: 'nav_opportunities', type: 'object', label: 'Opportunities', objectName: 'opportunity' },\n * ],\n * };\n * ```\n */\nexport const NavigationAreaSchema = z.object({\n /** Unique area identifier */\n id: SnakeCaseIdentifierSchema.describe('Unique area identifier (lowercase snake_case)'),\n\n /** Display label */\n label: I18nLabelSchema.describe('Area display label'),\n\n /** Icon name (Lucide) */\n icon: z.string().optional().describe('Area icon name'),\n\n /** Sort order among areas (lower = first) */\n order: z.number().optional().describe('Sort order among areas (lower = first)'),\n\n /** Area description */\n description: I18nLabelSchema.optional().describe('Area description'),\n\n /** \n * Visibility condition.\n * Formula expression returning boolean.\n */\n visible: z.string().optional().describe('Visibility formula condition for this area'),\n\n /** Permissions required to access this area */\n requiredPermissions: z.array(z.string()).optional().describe('Permissions required to access this area'),\n\n /** Navigation items within this area */\n navigation: z.array(NavigationItemSchema).describe('Navigation items within this area'),\n});\n\n/**\n * Schema for Applications (Apps).\n * A logical container for business functionality (e.g., \"Sales CRM\", \"HR Portal\").\n * \n * **NAMING CONVENTION:**\n * App names are used in URLs and routing and must be lowercase snake_case.\n * Prefix with 'app_' is recommended for clarity.\n * \n * @example Good app names\n * - 'app_crm'\n * - 'app_finance'\n * - 'app_portal'\n * - 'sales_app'\n * \n * @example Bad app names (will be rejected)\n * - 'CRM' (uppercase)\n * - 'FinanceApp' (mixed case)\n * - 'Sales App' (spaces)\n */\n/**\n * App Configuration Schema\n * Defines a business application container, including its navigation, branding, and permissions.\n * \n * The App is the top-level navigation shell. The `navigation[]` field holds the complete\n * sidebar tree with unlimited nesting depth via `type: 'group'` items. Pages are referenced\n * by name via `type: 'page'` items and defined independently.\n * \n * @example CRM App with nested navigation tree\n * {\n * name: \"crm\",\n * label: \"Sales CRM\",\n * icon: \"briefcase\",\n * navigation: [\n * { type: \"group\", id: \"grp_sales\", label: \"Sales Cloud\", expanded: true, children: [\n * { type: \"page\", id: \"nav_pipeline\", label: \"Pipeline\", pageName: \"page_pipeline\" },\n * { type: \"page\", id: \"nav_accounts\", label: \"Accounts\", pageName: \"page_accounts\" },\n * ]},\n * { type: \"page\", id: \"nav_settings\", label: \"Settings\", pageName: \"admin_settings\" },\n * ]\n * }\n */\nexport const AppSchema = z.object({\n /** Machine name (id) */\n name: SnakeCaseIdentifierSchema.describe('App unique machine name (lowercase snake_case)'),\n \n /** Display label */\n label: I18nLabelSchema.describe('App display label'),\n\n /** App version */\n version: z.string().optional().describe('App version'),\n \n /** Description */\n description: I18nLabelSchema.optional().describe('App description'),\n \n /** Icon name (Lucide) */\n icon: z.string().optional().describe('App icon used in the App Launcher'),\n \n /** Branding/Theming Configuration */\n branding: AppBrandingSchema.optional().describe('App-specific branding'),\n \n /** Application status */\n active: z.boolean().optional().default(true).describe('Whether the app is enabled'),\n\n /** Is this the default app for new users? */\n isDefault: z.boolean().optional().default(false).describe('Is default app'),\n \n /** \n * Full Navigation Tree — supports unlimited nesting depth.\n * Pages are referenced by name via `type: 'page'` items.\n * Groups can contain other groups for arbitrary sidebar depth.\n * \n * For simple apps, use `navigation` directly.\n * For enterprise apps with multiple business domains, use `areas` instead.\n */\n navigation: z.array(NavigationItemSchema).optional()\n .describe('Full navigation tree for the app sidebar'),\n\n /**\n * Navigation Areas — partitions navigation by business domain.\n * Each area defines an independent navigation tree (e.g. Sales, Service, Settings).\n * When areas are defined, they take precedence over the top-level `navigation` array.\n * \n * @example\n * ```ts\n * areas: [\n * { id: 'area_sales', label: 'Sales', icon: 'briefcase', order: 1, navigation: [...] },\n * { id: 'area_service', label: 'Service', icon: 'headset', order: 2, navigation: [...] },\n * ]\n * ```\n */\n areas: z.array(NavigationAreaSchema).optional()\n .describe('Navigation areas for partitioning navigation by business domain'),\n \n /** \n * App-level Home Page Override\n * ID of the navigation item to act as the landing page.\n * If not set, usually defaults to the first navigation item.\n */\n homePageId: z.string().optional().describe('ID of the navigation item to serve as landing page'),\n\n /** \n * Access Control\n * List of permissions required to access this app.\n * Modern replacement for role/profile based assignment.\n * Example: [\"app.access.crm\"]\n */\n requiredPermissions: z.array(z.string()).optional().describe('Permissions required to access this app'),\n \n /** \n * Package Components (For config file convenience)\n * In a real monorepo these might be auto-discovered, but here we allow explicit registration.\n */\n objects: z.array(z.unknown()).optional().describe('Objects belonging to this app'),\n apis: z.array(z.unknown()).optional().describe('Custom APIs belonging to this app'),\n\n /** Sharing configuration for public access */\n sharing: SharingConfigSchema.optional().describe('Public sharing configuration'),\n\n /** Embed configuration for iframe embedding */\n embed: EmbedConfigSchema.optional().describe('Iframe embedding configuration'),\n\n /** Mobile navigation mode */\n mobileNavigation: z.object({\n mode: z.enum(['drawer', 'bottom_nav', 'hamburger']).default('drawer')\n .describe('Mobile navigation mode: drawer sidebar, bottom navigation bar, or hamburger menu'),\n bottomNavItems: z.array(z.string()).optional()\n .describe('Navigation item IDs to show in bottom nav (max 5)'),\n }).optional().describe('Mobile-specific navigation configuration'),\n\n /** ARIA accessibility attributes */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes for the application'),\n});\n\n/**\n * App Factory Helper\n */\nexport const App = {\n create: (config: z.input<typeof AppSchema>): App => AppSchema.parse(config),\n} as const;\n\n/**\n * Type-safe factory for creating application definitions.\n *\n * Validates the config at creation time using Zod `.parse()`.\n *\n * @example CRM App with nested navigation tree\n * ```ts\n * const crmApp = defineApp({\n * name: 'crm',\n * label: 'Sales CRM',\n * navigation: [\n * { id: 'grp_sales', type: 'group', label: 'Sales Cloud', expanded: true, children: [\n * { id: 'nav_pipeline', type: 'page', label: 'Pipeline', pageName: 'page_pipeline' },\n * { id: 'nav_accounts', type: 'page', label: 'Accounts', pageName: 'page_accounts' },\n * ]},\n * { id: 'nav_settings', type: 'page', label: 'Settings', pageName: 'admin_settings' },\n * ],\n * });\n * ```\n */\nexport function defineApp(config: z.input<typeof AppSchema>): App {\n return AppSchema.parse(config);\n}\n\n// Main Types\nexport type App = z.infer<typeof AppSchema>;\nexport type AppInput = z.input<typeof AppSchema>;\nexport type AppBranding = z.infer<typeof AppBrandingSchema>;\nexport type NavigationItem = z.infer<typeof NavigationItemSchema>;\nexport type NavigationArea = z.infer<typeof NavigationAreaSchema>;\n\n// Discriminated Item Types (Helper exports)\nexport type ObjectNavItem = z.infer<typeof ObjectNavItemSchema>;\nexport type DashboardNavItem = z.infer<typeof DashboardNavItemSchema>;\nexport type PageNavItem = z.infer<typeof PageNavItemSchema>;\nexport type UrlNavItem = z.infer<typeof UrlNavItemSchema>;\nexport type ReportNavItem = z.infer<typeof ReportNavItemSchema>;\nexport type ActionNavItem = z.infer<typeof ActionNavItemSchema>;\nexport type GroupNavItem = z.infer<typeof GroupNavItemSchema> & { children: NavigationItem[] };\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Shared HTTP Schemas\n * \n * Common HTTP-related schemas used across API and System protocols.\n * These schemas ensure consistency across different parts of the stack.\n */\n\n// ==========================================\n// Basic HTTP Types\n// ==========================================\n\n/**\n * HTTP Method Enum\n */\nexport const HttpMethod = z.enum([\n 'GET', \n 'POST', \n 'PUT', \n 'DELETE', \n 'PATCH', \n 'HEAD', \n 'OPTIONS'\n]);\n\nexport type HttpMethod = z.infer<typeof HttpMethod>;\n\n/**\n * HTTP Method Schema (subset for UI/View data sources)\n * Common HTTP methods used in view data source configurations.\n * Migrated from ui/view.zod.ts to shared for reuse across modules.\n */\nexport const HttpMethodSchema = z.enum(['GET', 'POST', 'PUT', 'PATCH', 'DELETE']);\n\nexport type HttpMethodType = z.infer<typeof HttpMethodSchema>;\n\n/**\n * HTTP Request Configuration Schema\n * Defines a complete HTTP request configuration used by API data providers.\n * Migrated from ui/view.zod.ts to shared for reuse across modules.\n */\nexport const HttpRequestSchema = z.object({\n url: z.string().describe('API endpoint URL'),\n method: HttpMethodSchema.optional().default('GET').describe('HTTP method'),\n headers: z.record(z.string(), z.string()).optional().describe('Custom HTTP headers'),\n params: z.record(z.string(), z.unknown()).optional().describe('Query parameters'),\n body: z.unknown().optional().describe('Request body for POST/PUT/PATCH'),\n});\n\nexport type HttpRequest = z.infer<typeof HttpRequestSchema>;\n\n// ==========================================\n// CORS Configuration\n// ==========================================\n\n/**\n * CORS Configuration Schema\n * Cross-Origin Resource Sharing configuration\n * \n * Used by:\n * - api/router.zod.ts (RouterConfigSchema)\n * - system/http-server.zod.ts (HttpServerConfigSchema)\n * \n * @example\n * {\n * \"enabled\": true,\n * \"origins\": [\"http://localhost:3000\", \"https://app.example.com\"],\n * \"methods\": [\"GET\", \"POST\", \"PUT\", \"DELETE\"],\n * \"credentials\": true,\n * \"maxAge\": 86400\n * }\n */\nexport const CorsConfigSchema = z.object({\n /**\n * Enable CORS\n */\n enabled: z.boolean().default(true).describe('Enable CORS'),\n \n /**\n * Allowed origins (* for all)\n */\n origins: z.union([\n z.string(),\n z.array(z.string())\n ]).default('*').describe('Allowed origins (* for all)'),\n \n /**\n * Allowed HTTP methods\n */\n methods: z.array(HttpMethod).optional().describe('Allowed HTTP methods'),\n \n /**\n * Allow credentials (cookies, authorization headers)\n */\n credentials: z.boolean().default(false).describe('Allow credentials (cookies, authorization headers)'),\n \n /**\n * Preflight cache duration in seconds\n */\n maxAge: z.number().int().optional().describe('Preflight cache duration in seconds'),\n});\n\nexport type CorsConfig = z.infer<typeof CorsConfigSchema>;\n\n// ==========================================\n// Rate Limiting\n// ==========================================\n\n/**\n * Rate Limit Configuration Schema\n * \n * Used by:\n * - api/endpoint.zod.ts (ApiEndpointSchema)\n * - system/http-server.zod.ts (HttpServerConfigSchema)\n * \n * @example\n * {\n * \"enabled\": true,\n * \"windowMs\": 60000,\n * \"maxRequests\": 100\n * }\n */\nexport const RateLimitConfigSchema = z.object({\n /**\n * Enable rate limiting\n */\n enabled: z.boolean().default(false).describe('Enable rate limiting'),\n \n /**\n * Time window in milliseconds\n */\n windowMs: z.number().int().default(60000).describe('Time window in milliseconds'),\n \n /**\n * Max requests per window\n */\n maxRequests: z.number().int().default(100).describe('Max requests per window'),\n});\n\nexport type RateLimitConfig = z.infer<typeof RateLimitConfigSchema>;\n\n// ==========================================\n// Static File Serving\n// ==========================================\n\n/**\n * Static Mount Configuration Schema\n * Configuration for serving static files\n * \n * Used by:\n * - api/router.zod.ts (RouterConfigSchema)\n * - system/http-server.zod.ts (HttpServerConfigSchema)\n * \n * @example\n * {\n * \"path\": \"/static\",\n * \"directory\": \"./public\",\n * \"cacheControl\": \"public, max-age=31536000\"\n * }\n */\nexport const StaticMountSchema = z.object({\n /**\n * URL path to serve from\n */\n path: z.string().describe('URL path to serve from'),\n \n /**\n * Physical directory to serve\n */\n directory: z.string().describe('Physical directory to serve'),\n \n /**\n * Cache-Control header value\n */\n cacheControl: z.string().optional().describe('Cache-Control header value'),\n});\n\nexport type StaticMount = z.infer<typeof StaticMountSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { SnakeCaseIdentifierSchema } from '../shared/identifiers.zod';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.zod';\nimport { SharingConfigSchema } from './sharing.zod';\nimport { ResponsiveConfigSchema, PerformanceConfigSchema } from './responsive.zod';\n\n/**\n * HTTP Method Enum & HTTP Request Schema\n * Migrated to shared/http.zod.ts. Re-exported here for backward compatibility.\n */\nimport { HttpMethodSchema, HttpRequestSchema } from '../shared/http.zod';\nexport { HttpMethodSchema, HttpRequestSchema };\n\n/**\n * View Data Source Configuration\n * Supports three modes:\n * 1. 'object': Standard Protocol - Auto-connects to ObjectStack Metadata and Data APIs\n * 2. 'api': Custom API - Explicitly provided API URLs\n * 3. 'value': Static Data - Hardcoded data array\n */\nexport const ViewDataSchema = z.discriminatedUnion('provider', [\n z.object({\n provider: z.literal('object'),\n object: z.string().describe('Target object name'),\n }),\n z.object({\n provider: z.literal('api'),\n read: HttpRequestSchema.optional().describe('Configuration for fetching data'),\n write: HttpRequestSchema.optional().describe('Configuration for submitting data (for forms/editable tables)'),\n }),\n z.object({\n provider: z.literal('value'),\n items: z.array(z.unknown()).describe('Static data array'),\n }),\n]);\n\n/**\n * View Filter Rule Schema\n * Standardized filter condition used in list views, tabs, and page-level filters.\n * Uses a declarative array-of-objects format: [{ field, operator, value }].\n *\n * @example\n * ```ts\n * filter: [\n * { field: 'status', operator: 'equals', value: 'active' },\n * { field: 'close_date', operator: 'this_quarter' },\n * ]\n * ```\n */\nexport const ViewFilterRuleSchema = z.object({\n /** Field name to filter on */\n field: z.string().describe('Field name to filter on'),\n /** Filter operator */\n operator: z.string().describe('Filter operator (e.g. equals, not_equals, contains, this_quarter)'),\n /** Filter value (optional for unary operators like is_null, this_quarter) */\n value: z.union([z.string(), z.number(), z.boolean(), z.null(), z.array(z.union([z.string(), z.number()]))])\n .optional().describe('Filter value'),\n}).describe('View filter rule');\n\nexport type ViewFilterRule = z.infer<typeof ViewFilterRuleSchema>;\n\n/**\n * Column Summary Function Schema\n * Aggregation function for column footer (Airtable-style column summaries)\n */\nexport const ColumnSummarySchema = z.enum([\n 'none',\n 'count',\n 'count_empty',\n 'count_filled',\n 'count_unique',\n 'percent_empty',\n 'percent_filled',\n 'sum',\n 'avg',\n 'min',\n 'max',\n]).describe('Aggregation function for column footer summary');\n\n/**\n * List Column Configuration Schema\n * Detailed configuration for individual list view columns\n */\nexport const ListColumnSchema = z.object({\n field: z.string().describe('Field name (snake_case)'),\n label: I18nLabelSchema.optional().describe('Display label override'),\n width: z.number().positive().optional().describe('Column width in pixels'),\n align: z.enum(['left', 'center', 'right']).optional().describe('Text alignment'),\n hidden: z.boolean().optional().describe('Hide column by default'),\n sortable: z.boolean().optional().describe('Allow sorting by this column'),\n resizable: z.boolean().optional().describe('Allow resizing this column'),\n wrap: z.boolean().optional().describe('Allow text wrapping'),\n type: z.string().optional().describe('Renderer type override (e.g., \"currency\", \"date\")'),\n\n /** Pinning (Airtable-style frozen columns) */\n pinned: z.enum(['left', 'right']).optional().describe('Pin/freeze column to left or right side'),\n\n /** Column Footer Summary (Airtable-style aggregation) */\n summary: ColumnSummarySchema.optional().describe('Footer aggregation function for this column'),\n\n /** Interaction */\n link: z.boolean().optional().describe('Functions as the primary navigation link (triggers View navigation)'),\n action: z.string().optional().describe('Registered Action ID to execute when clicked'),\n});\n\n/**\n * List View Selection Configuration\n */\nexport const SelectionConfigSchema = z.object({\n type: z.enum(['none', 'single', 'multiple']).default('none').describe('Selection mode'),\n});\n\n/**\n * List View Pagination Configuration\n */\nexport const PaginationConfigSchema = z.object({\n pageSize: z.number().int().positive().default(25).describe('Number of records per page'),\n pageSizeOptions: z.array(z.number().int().positive()).optional().describe('Available page size options'),\n});\n\n/**\n * Row Height / Density Schema (Airtable-style)\n * Controls the visual density of rows in a list view.\n */\nexport const RowHeightSchema = z.enum([\n 'compact', // Minimal padding, single line\n 'short', // Reduced padding\n 'medium', // Default padding\n 'tall', // Extra padding, multi-line preview\n 'extra_tall', // Maximum padding, rich content preview\n]).describe('Row height / density setting for list view');\n\n/**\n * Grouping Field Configuration\n * Defines a single grouping level for record grouping.\n */\nexport const GroupingFieldSchema = z.object({\n field: z.string().describe('Field name to group by'),\n order: z.enum(['asc', 'desc']).default('asc').describe('Group sort order'),\n collapsed: z.boolean().default(false).describe('Collapse groups by default'),\n});\n\n/**\n * Grouping Configuration Schema (Airtable-style)\n * Supports multi-level grouping for grid/gallery views.\n */\nexport const GroupingConfigSchema = z.object({\n fields: z.array(GroupingFieldSchema).min(1).describe('Fields to group by (supports up to 3 levels)'),\n}).describe('Record grouping configuration');\n\n/**\n * Gallery View Configuration (Airtable-style)\n * Configures card layout for gallery/card views.\n */\nexport const GalleryConfigSchema = z.object({\n coverField: z.string().optional().describe('Attachment/image field to display as card cover'),\n coverFit: z.enum(['cover', 'contain']).default('cover').describe('Image fit mode for card cover'),\n cardSize: z.enum(['small', 'medium', 'large']).default('medium').describe('Card size in gallery view'),\n titleField: z.string().optional().describe('Field to display as card title'),\n visibleFields: z.array(z.string()).optional().describe('Fields to display on card body'),\n}).describe('Gallery/card view configuration');\n\n/**\n * Timeline View Configuration (Airtable-style)\n * Configures timeline/chronological views.\n */\nexport const TimelineConfigSchema = z.object({\n startDateField: z.string().describe('Field for timeline item start date'),\n endDateField: z.string().optional().describe('Field for timeline item end date'),\n titleField: z.string().describe('Field to display as timeline item title'),\n groupByField: z.string().optional().describe('Field to group timeline rows'),\n colorField: z.string().optional().describe('Field to determine item color'),\n scale: z.enum(['hour', 'day', 'week', 'month', 'quarter', 'year']).default('week').describe('Default timeline scale'),\n}).describe('Timeline view configuration');\n\n/**\n * View Sharing Configuration (Airtable-style)\n * Defines who can see and modify a view.\n */\nexport const ViewSharingSchema = z.object({\n type: z.enum(['personal', 'collaborative']).default('collaborative').describe('View ownership type'),\n lockedBy: z.string().optional().describe('User who locked the view configuration'),\n}).describe('View sharing and access configuration');\n\n/**\n * Row Color Configuration (Airtable-style)\n * Defines how rows are colored based on field values.\n */\nexport const RowColorConfigSchema = z.object({\n field: z.string().describe('Field to derive color from (typically a select/status field)'),\n colors: z.record(z.string(), z.string()).optional().describe('Map of field value to color (hex/token)'),\n}).describe('Row color configuration based on field values');\n\n/**\n * Visualization Type Schema\n * Whitelist of visualization types the user can switch between.\n * Maps to Airtable's \"Visualizations\" setting in Appearance panel.\n */\nexport const VisualizationTypeSchema = z.enum([\n 'grid',\n 'kanban',\n 'gallery',\n 'calendar',\n 'timeline',\n 'gantt',\n 'map',\n]).describe('Visualization type that users can switch to');\n\n/**\n * User Actions Configuration Schema (Airtable Interface parity)\n * Controls which interactive actions are available to users in the view toolbar.\n * Each boolean toggles the corresponding toolbar element on/off.\n *\n * @see Airtable Interface → \"User actions\" panel\n */\nexport const UserActionsConfigSchema = z.object({\n sort: z.boolean().default(true).describe('Allow users to sort records'),\n search: z.boolean().default(true).describe('Allow users to search records'),\n filter: z.boolean().default(true).describe('Allow users to filter records'),\n rowHeight: z.boolean().default(true).describe('Allow users to toggle row height/density'),\n addRecordForm: z.boolean().default(false).describe('Add records through a form instead of inline'),\n buttons: z.array(z.string()).optional().describe('Custom action button IDs to show in the toolbar'),\n}).describe('User action toggles for the view toolbar');\n\n/**\n * Appearance Configuration Schema (Airtable Interface parity)\n * Controls visual presentation options for the view.\n *\n * @see Airtable Interface → \"Appearance\" panel\n */\nexport const AppearanceConfigSchema = z.object({\n showDescription: z.boolean().default(true).describe('Show the view description text'),\n allowedVisualizations: z.array(VisualizationTypeSchema).optional()\n .describe('Whitelist of visualization types users can switch between (e.g. [\"grid\", \"gallery\", \"kanban\"])'),\n}).describe('Appearance and visualization configuration');\n\n/**\n * View Tab Schema (Airtable Interface parity)\n * Defines a tab in a multi-tab view interface.\n * Each tab references a named list view and can be ordered, pinned, or set as default.\n *\n * @see Airtable Interface → \"Tabs\" panel\n */\nexport const ViewTabSchema = z.object({\n name: SnakeCaseIdentifierSchema.describe('Tab identifier (snake_case)'),\n label: I18nLabelSchema.optional().describe('Display label'),\n icon: z.string().optional().describe('Tab icon name'),\n view: z.string().optional().describe('Referenced list view name from listViews'),\n filter: z.array(ViewFilterRuleSchema).optional().describe('Tab-specific filter criteria'),\n order: z.number().int().min(0).optional().describe('Tab display order'),\n pinned: z.boolean().default(false).describe('Pin tab (cannot be removed by users)'),\n isDefault: z.boolean().default(false).describe('Set as the default active tab'),\n visible: z.boolean().default(true).describe('Tab visibility'),\n}).describe('Tab configuration for multi-tab view interface');\n\n/**\n * Add Record Configuration Schema (Airtable Interface parity)\n * Configures the \"Add Record\" entry point for a list view.\n *\n * @see Airtable Interface → \"+ Add record\" button\n */\nexport const AddRecordConfigSchema = z.object({\n enabled: z.boolean().default(true).describe('Show the add record entry point'),\n position: z.enum(['top', 'bottom', 'both']).default('bottom').describe('Position of the add record button'),\n mode: z.enum(['inline', 'form', 'modal']).default('inline').describe('How to add a new record'),\n formView: z.string().optional().describe('Named form view to use when mode is \"form\" or \"modal\"'),\n}).describe('Add record entry point configuration');\n\n/**\n * Kanban Settings\n */\nexport const KanbanConfigSchema = z.object({\n groupByField: z.string().describe('Field to group columns by (usually status/select)'),\n summarizeField: z.string().optional().describe('Field to sum at top of column (e.g. amount)'),\n columns: z.array(z.string()).describe('Fields to show on cards'),\n});\n\n/**\n * Calendar Settings\n */\nexport const CalendarConfigSchema = z.object({\n startDateField: z.string(),\n endDateField: z.string().optional(),\n titleField: z.string(),\n colorField: z.string().optional(),\n});\n\n/**\n * Gantt Settings\n */\nexport const GanttConfigSchema = z.object({\n startDateField: z.string(),\n endDateField: z.string(),\n titleField: z.string(),\n progressField: z.string().optional(),\n dependenciesField: z.string().optional(),\n});\n\n/**\n * Navigation Mode Enum\n * Defines how to navigate to the detail view from a list item.\n */\nexport const NavigationModeSchema = z.enum([\n 'page', // Navigate to a new route (default)\n 'drawer', // Open details in a side drawer/panel\n 'modal', // Open details in a modal dialog\n 'split', // Show details side-by-side with the list (master-detail)\n 'popover', // Show details in a popover (lightweight)\n 'new_window', // Open in new browser tab/window\n 'none' // No navigation (read-only list)\n]);\n\n/**\n * Navigation Configuration Schema\n */\nexport const NavigationConfigSchema = z.object({\n mode: NavigationModeSchema.default('page'),\n \n /** Target View Config */\n view: z.string().optional().describe('Name of the form view to use for details (e.g. \"summary_view\", \"edit_form\")'),\n \n /** Interaction Triggers */\n preventNavigation: z.boolean().default(false).describe('Disable standard navigation entirely'),\n openNewTab: z.boolean().default(false).describe('Force open in new tab (applies to page mode)'),\n \n /** Dimensions (for modal/drawer) */\n width: z.union([z.string(), z.number()]).optional().describe('Width of the drawer/modal (e.g. \"600px\", \"50%\")'),\n});\n\n/**\n * List View Schema (Expanded)\n * Defines how a collection of records is displayed to the user.\n * \n * **NAMING CONVENTION:**\n * View names (when provided) are machine identifiers and must be lowercase snake_case.\n * \n * @example Standard Grid\n * {\n * name: \"all_active\",\n * label: \"All Active\",\n * type: \"grid\",\n * columns: [\"name\", \"status\", \"created_at\"],\n * filter: [[\"status\", \"=\", \"active\"]]\n * }\n * \n * @example Kanban Board\n * {\n * type: \"kanban\",\n * columns: [\"name\", \"amount\"],\n * kanban: {\n * groupByField: \"stage\",\n * summarizeField: \"amount\",\n * columns: [\"name\", \"close_date\"]\n * }\n * }\n */\nexport const ListViewSchema = z.object({\n name: SnakeCaseIdentifierSchema.optional().describe('Internal view name (lowercase snake_case)'),\n label: I18nLabelSchema.optional(), // Display label override (supports i18n)\n type: z.enum([\n 'grid', // Standard Data Table\n 'kanban', // Board / Columns\n 'gallery', // Card Deck / Masonry\n 'calendar', // Monthly/Weekly/Daily\n 'timeline', // Chronological Stream (Feed)\n 'gantt', // Project Timeline\n 'map' // Geospatial\n ]).default('grid'),\n \n /** Data Source Configuration */\n data: ViewDataSchema.optional().describe('Data source configuration (defaults to \"object\" provider)'),\n \n /** Shared Query Config */\n columns: z.union([\n z.array(z.string()), // Legacy: simple field names\n z.array(ListColumnSchema), // Enhanced: detailed column config\n ]).describe('Fields to display as columns'),\n filter: z.array(ViewFilterRuleSchema).optional().describe('Filter criteria (JSON Rules)'),\n sort: z.union([\n z.string(), //Legacy \"field desc\"\n z.array(z.object({\n field: z.string(),\n order: z.enum(['asc', 'desc'])\n }))\n ]).optional(),\n \n /** Search & Filter */\n searchableFields: z.array(z.string()).optional().describe('Fields enabled for search'),\n filterableFields: z.array(z.string()).optional().describe('Fields enabled for end-user filtering in the top bar'),\n\n /** Quick Filters (One-click filter chips, Salesforce ListFilter pattern) */\n quickFilters: z.array(z.object({\n field: z.string().describe('Field name to filter by'),\n label: z.string().optional().describe('Display label for the chip'),\n operator: z.enum(['equals', 'not_equals', 'contains', 'in', 'is_null', 'is_not_null']).default('equals').describe('Filter operator'),\n value: z.union([z.string(), z.number(), z.boolean(), z.null(), z.array(z.union([z.string(), z.number()]))])\n .optional().describe('Preset filter value'),\n })).optional().describe('One-click filter chips for quick record filtering'),\n\n /** Grid Features */\n resizable: z.boolean().optional().describe('Enable column resizing'),\n striped: z.boolean().optional().describe('Striped row styling'),\n bordered: z.boolean().optional().describe('Show borders'),\n\n /** Selection */\n selection: SelectionConfigSchema.optional().describe('Row selection configuration'),\n\n /** Navigation / Interaction */\n navigation: NavigationConfigSchema.optional().describe('Configuration for item click navigation (page, drawer, modal, etc.)'),\n\n /** Pagination */\n pagination: PaginationConfigSchema.optional().describe('Pagination configuration'),\n\n /** Type Specific Config */\n kanban: KanbanConfigSchema.optional(),\n calendar: CalendarConfigSchema.optional(),\n gantt: GanttConfigSchema.optional(),\n gallery: GalleryConfigSchema.optional(),\n timeline: TimelineConfigSchema.optional(),\n\n /** View Metadata (Airtable-style view management) */\n description: I18nLabelSchema.optional().describe('View description for documentation/tooltips'),\n sharing: ViewSharingSchema.optional().describe('View sharing and access configuration'),\n\n /** Row Height / Density (Airtable-style) */\n rowHeight: RowHeightSchema.optional().describe('Row height / density setting'),\n\n /** Record Grouping (Airtable-style) */\n grouping: GroupingConfigSchema.optional().describe('Group records by one or more fields'),\n\n /** Row Color (Airtable-style) */\n rowColor: RowColorConfigSchema.optional().describe('Color rows based on field value'),\n\n /** Field Visibility & Ordering per View (Airtable-style) */\n hiddenFields: z.array(z.string()).optional().describe('Fields to hide in this specific view'),\n fieldOrder: z.array(z.string()).optional().describe('Explicit field display order for this view'),\n\n /** Row & Bulk Actions */\n rowActions: z.array(z.string()).optional().describe('Actions available for individual row items'),\n bulkActions: z.array(z.string()).optional().describe('Actions available when multiple rows are selected'),\n\n /** Performance */\n virtualScroll: z.boolean().optional().describe('Enable virtual scrolling for large datasets'),\n\n /** Conditional Formatting */\n conditionalFormatting: z.array(z.object({\n condition: z.string().describe('Condition expression to evaluate'),\n style: z.record(z.string(), z.string()).describe('CSS styles to apply when condition is true'),\n })).optional().describe('Conditional formatting rules for list rows'),\n\n /** Inline Edit */\n inlineEdit: z.boolean().optional().describe('Allow inline editing of records directly in the list view'),\n\n /** Export */\n exportOptions: z.array(z.enum(['csv', 'xlsx', 'pdf', 'json'])).optional().describe('Available export format options'),\n\n /** User Actions (Airtable Interface parity) */\n userActions: UserActionsConfigSchema.optional().describe('User action toggles for the view toolbar'),\n\n /** Appearance (Airtable Interface parity) */\n appearance: AppearanceConfigSchema.optional().describe('Appearance and visualization configuration'),\n\n /** Tabs (Airtable Interface parity) */\n tabs: z.array(ViewTabSchema).optional().describe('Tab definitions for multi-tab view interface'),\n\n /** Add Record (Airtable Interface parity) */\n addRecord: AddRecordConfigSchema.optional().describe('Add record entry point configuration'),\n\n /** Record Count Display (Airtable Interface parity) */\n showRecordCount: z.boolean().optional().describe('Show record count at the bottom of the list'),\n\n /** Advanced: Allow Printing (Airtable Interface parity) */\n allowPrinting: z.boolean().optional().describe('Allow users to print the view'),\n\n /** Empty State */\n emptyState: z.object({\n title: I18nLabelSchema.optional(),\n message: I18nLabelSchema.optional(),\n icon: z.string().optional(),\n }).optional().describe('Empty state configuration when no records found'),\n\n /** ARIA accessibility attributes */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes for the list view'),\n\n /** Responsive layout overrides per breakpoint */\n responsive: ResponsiveConfigSchema.optional().describe('Responsive layout configuration'),\n\n /** Performance optimization settings */\n performance: PerformanceConfigSchema.optional().describe('Performance optimization settings'),\n});\n\n/**\n * Form Field Configuration Schema\n * Detailed configuration for individual form fields\n */\nexport const FormFieldSchema = z.object({\n field: z.string().describe('Field name (snake_case)'),\n label: I18nLabelSchema.optional().describe('Display label override'),\n placeholder: I18nLabelSchema.optional().describe('Placeholder text'),\n helpText: I18nLabelSchema.optional().describe('Help/hint text'),\n readonly: z.boolean().optional().describe('Read-only override'),\n required: z.boolean().optional().describe('Required override'),\n hidden: z.boolean().optional().describe('Hidden override'),\n colSpan: z.number().int().min(1).max(4).optional().describe('Column span in grid layout (1-4)'),\n widget: z.string().optional().describe('Custom widget/component name'),\n dependsOn: z.string().optional().describe('Parent field name for cascading'),\n visibleOn: z.string().optional().describe('Visibility condition expression'),\n});\n\n/**\n * Form Layout Section\n */\nexport const FormSectionSchema = z.object({\n label: I18nLabelSchema.optional(),\n collapsible: z.boolean().default(false),\n collapsed: z.boolean().default(false),\n columns: z.enum(['1', '2', '3', '4']).default('2').transform(val => parseInt(val) as 1 | 2 | 3 | 4),\n fields: z.array(z.union([\n z.string(), // Legacy: simple field name\n FormFieldSchema, // Enhanced: detailed field config\n ])),\n});\n\n/**\n * Form View Schema\n * Defines the layout for creating or editing a single record.\n * \n * @example Simple Sectioned Form\n * {\n * type: \"simple\",\n * sections: [\n * {\n * label: \"General Info\",\n * columns: 2,\n * fields: [\"name\", \"status\"]\n * },\n * {\n * label: \"Details\",\n * fields: [\"description\", { field: \"priority\", widget: \"rating\" }]\n * }\n * ]\n * }\n */\nexport const FormViewSchema = z.object({\n type: z.enum([\n 'simple', // Single column or sections\n 'tabbed', // Tabs\n 'wizard', // Step by step\n 'split', // Master-Detail split\n 'drawer', // Side panel\n 'modal' // Dialog\n ]).default('simple'),\n \n /** Data Source Configuration */\n data: ViewDataSchema.optional().describe('Data source configuration (defaults to \"object\" provider)'),\n \n sections: z.array(FormSectionSchema).optional(), // For simple layout\n groups: z.array(FormSectionSchema).optional(), // Legacy support -> alias to sections\n\n /** Default Sort for Related Lists (e.g., sort child records by date) */\n defaultSort: z.array(z.object({\n field: z.string().describe('Field name to sort by'),\n order: z.enum(['asc', 'desc']).default('desc').describe('Sort direction'),\n })).optional().describe('Default sort order for related list views within this form'),\n\n /** Public form sharing configuration */\n sharing: SharingConfigSchema.optional().describe('Public sharing configuration for this form'),\n\n /** ARIA accessibility attributes */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes for the form view'),\n});\n\n/**\n * Master View Schema\n * Can define multiple named views.\n */\n/**\n * View Container Schema\n * Aggregates all view definitions for a specific object or context.\n * \n * @example\n * {\n * list: { type: \"grid\", columns: [\"name\"] },\n * form: { type: \"simple\", fields: [\"name\"] },\n * listViews: {\n * \"all\": { label: \"All\", filter: [] },\n * \"my\": { label: \"Mine\", filter: [[\"owner\", \"=\", \"{user_id}\"]] }\n * }\n * }\n */\nexport const ViewSchema = z.object({\n list: ListViewSchema.optional(), // Default list view\n form: FormViewSchema.optional(), // Default form view\n listViews: z.record(z.string(), ListViewSchema).optional().describe('Additional named list views'),\n formViews: z.record(z.string(), FormViewSchema).optional().describe('Additional named form views'),\n});\n\n/**\n * Type-safe factory for creating view definitions.\n *\n * Validates the config at creation time using Zod `.parse()`.\n *\n * @example\n * ```ts\n * const taskViews = defineView({\n * list: {\n * type: 'grid',\n * data: { provider: 'object', object: 'task' },\n * columns: ['subject', 'status', 'priority', 'due_date'],\n * },\n * form: {\n * type: 'simple',\n * sections: [{ label: 'Details', fields: [{ field: 'subject' }] }],\n * },\n * });\n * ```\n */\nexport function defineView(config: z.input<typeof ViewSchema>): View {\n return ViewSchema.parse(config);\n}\n\nexport type View = z.infer<typeof ViewSchema>;\nexport type ListView = z.infer<typeof ListViewSchema>;\nexport type FormView = z.infer<typeof FormViewSchema>;\nexport type FormSection = z.infer<typeof FormSectionSchema>;\nexport type ListColumn = z.infer<typeof ListColumnSchema>;\nexport type FormField = z.infer<typeof FormFieldSchema>;\nexport type SelectionConfig = z.infer<typeof SelectionConfigSchema>;\nexport type NavigationConfig = z.infer<typeof NavigationConfigSchema>;\nexport type PaginationConfig = z.infer<typeof PaginationConfigSchema>;\nexport type ViewData = z.infer<typeof ViewDataSchema>;\nexport type HttpRequest = z.infer<typeof HttpRequestSchema>;\nexport type HttpMethod = z.infer<typeof HttpMethodSchema>;\nexport type ColumnSummary = z.infer<typeof ColumnSummarySchema>;\nexport type RowHeight = z.infer<typeof RowHeightSchema>;\nexport type GroupingConfig = z.infer<typeof GroupingConfigSchema>;\nexport type GalleryConfig = z.infer<typeof GalleryConfigSchema>;\nexport type TimelineConfig = z.infer<typeof TimelineConfigSchema>;\nexport type ViewSharing = z.infer<typeof ViewSharingSchema>;\nexport type RowColorConfig = z.infer<typeof RowColorConfigSchema>;\nexport type VisualizationType = z.infer<typeof VisualizationTypeSchema>;\nexport type UserActionsConfig = z.infer<typeof UserActionsConfigSchema>;\nexport type AppearanceConfig = z.infer<typeof AppearanceConfigSchema>;\nexport type ViewTab = z.infer<typeof ViewTabSchema>;\nexport type AddRecordConfig = z.infer<typeof AddRecordConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Unified Query DSL Specification\n * \n * Based on industry best practices from:\n * - Prisma ORM\n * - Strapi CMS\n * - TypeORM\n * - LoopBack Framework\n * \n * Version: 1.0.0\n * Status: Draft\n * \n * Objective: Define a JSON-based, database-agnostic query syntax standard\n * for data filtering interactions between frontend and backend APIs.\n * \n * Design Principles:\n * 1. Declarative: Frontend describes \"what data to get\", not \"how to query\"\n * 2. Database Agnostic: Syntax contains no database-specific directives\n * 3. Type Safe: Structure can be statically inferred by TypeScript\n * 4. Convention over Configuration: Implicit syntax for common queries\n */\n\n/**\n * Field Reference\n * Represents a reference to another field/column instead of a literal value.\n * Used for joins (ON clause) and cross-field comparisons.\n * \n * @example\n * // user.id = order.owner_id\n * { \"$eq\": { \"$field\": \"order.owner_id\" } }\n */\nexport const FieldReferenceSchema = z.object({\n $field: z.string().describe('Field Reference/Column Name')\n});\n\nexport type FieldReference = z.infer<typeof FieldReferenceSchema>;\n\n// ============================================================================\n// 3.1 Comparison Operators\n// ============================================================================\n\n/**\n * Comparison operators for equality and inequality checks.\n * Supported data types: Any\n */\nexport const EqualityOperatorSchema = z.object({\n /** Equal to (default) - SQL: = | MongoDB: $eq */\n $eq: z.any().optional(),\n \n /** Not equal to - SQL: <> or != | MongoDB: $ne */\n $ne: z.any().optional(),\n});\n\n/**\n * Comparison operators for numeric and date comparisons.\n * Supported data types: Number, Date\n */\nexport const ComparisonOperatorSchema = z.object({\n /** Greater than - SQL: > | MongoDB: $gt */\n $gt: z.union([z.number(), z.date(), FieldReferenceSchema]).optional(),\n \n /** Greater than or equal to - SQL: >= | MongoDB: $gte */\n $gte: z.union([z.number(), z.date(), FieldReferenceSchema]).optional(),\n \n /** Less than - SQL: < | MongoDB: $lt */\n $lt: z.union([z.number(), z.date(), FieldReferenceSchema]).optional(),\n \n /** Less than or equal to - SQL: <= | MongoDB: $lte */\n $lte: z.union([z.number(), z.date(), FieldReferenceSchema]).optional(),\n});\n\n// ============================================================================\n// 3.2 Set & Range Operators\n// ============================================================================\n\n/**\n * Set operators for membership checks.\n */\nexport const SetOperatorSchema = z.object({\n /** In list - SQL: IN (?, ?, ?) | MongoDB: $in */\n $in: z.array(z.any()).optional(),\n \n /** Not in list - SQL: NOT IN (...) | MongoDB: $nin */\n $nin: z.array(z.any()).optional(),\n});\n\n/**\n * Range operator for interval checks (closed interval).\n * SQL: BETWEEN ? AND ? | MongoDB: $gte AND $lte\n */\nexport const RangeOperatorSchema = z.object({\n /** Between (inclusive) - takes [min, max] array */\n $between: z.tuple([\n z.union([z.number(), z.date(), FieldReferenceSchema]),\n z.union([z.number(), z.date(), FieldReferenceSchema])\n ]).optional(),\n});\n\n// ============================================================================\n// 3.3 String-Specific Operators\n// ============================================================================\n\n/**\n * String pattern matching operators.\n * Note: Case sensitivity should be handled at backend level.\n */\nexport const StringOperatorSchema = z.object({\n /** Contains substring - SQL: LIKE %?% | MongoDB: $regex */\n $contains: z.string().optional(),\n \n /** Starts with prefix - SQL: LIKE ?% | MongoDB: $regex */\n $startsWith: z.string().optional(),\n \n /** Ends with suffix - SQL: LIKE %? | MongoDB: $regex */\n $endsWith: z.string().optional(),\n});\n\n// ============================================================================\n// 3.5 Special Operators\n// ============================================================================\n\n/**\n * Special check operators for null and existence.\n */\nexport const SpecialOperatorSchema = z.object({\n /** Is null check - SQL: IS NULL (true) / IS NOT NULL (false) | MongoDB: field: null */\n $null: z.boolean().optional(),\n \n /** Field exists check (primarily for NoSQL) - MongoDB: $exists */\n $exists: z.boolean().optional(),\n});\n\n// ============================================================================\n// Combined Field Operators\n// ============================================================================\n\n/**\n * All field-level operators combined.\n * These can be applied to individual fields in a filter.\n */\nexport const FieldOperatorsSchema = z.object({\n // Equality\n $eq: z.any().optional(),\n $ne: z.any().optional(),\n \n // Comparison (numeric/date)\n $gt: z.union([z.number(), z.date(), FieldReferenceSchema]).optional(),\n $gte: z.union([z.number(), z.date(), FieldReferenceSchema]).optional(),\n $lt: z.union([z.number(), z.date(), FieldReferenceSchema]).optional(),\n $lte: z.union([z.number(), z.date(), FieldReferenceSchema]).optional(),\n \n // Set & Range\n $in: z.array(z.any()).optional(),\n $nin: z.array(z.any()).optional(),\n $between: z.tuple([\n z.union([z.number(), z.date(), FieldReferenceSchema]),\n z.union([z.number(), z.date(), FieldReferenceSchema])\n ]).optional(),\n \n // String-specific\n $contains: z.string().optional(),\n $startsWith: z.string().optional(),\n $endsWith: z.string().optional(),\n \n // Special\n $null: z.boolean().optional(),\n $exists: z.boolean().optional(),\n});\n\n// ============================================================================\n// 3.4 Logical Operators & Recursive Filter Structure\n// ============================================================================\n\n/**\n * Recursive filter type that supports:\n * 1. Implicit equality: { field: value }\n * 2. Explicit operators: { field: { $op: value } }\n * 3. Logical combinations: { $and: [...], $or: [...], $not: {...} }\n * 4. Nested relations: { relation: { field: value } }\n */\nexport type FilterCondition = {\n [key: string]: \n | any // Implicit equality: key: value\n | z.infer<typeof FieldOperatorsSchema> // Explicit operators: key: { $op: value }\n | FilterCondition; // Nested relation: key: { nested: ... }\n} & {\n /** Logical AND - combines all conditions that must be true */\n $and?: FilterCondition[];\n \n /** Logical OR - at least one condition must be true */\n $or?: FilterCondition[];\n \n /** Logical NOT - negates the condition */\n $not?: FilterCondition;\n};\n\n/**\n * Zod schema for recursive filter validation.\n * Uses z.lazy() to handle recursive structure.\n */\nexport const FilterConditionSchema: z.ZodType<FilterCondition> = z.lazy(() =>\n z.record(z.string(), z.unknown()).and(\n z.object({\n $and: z.array(FilterConditionSchema).optional(),\n $or: z.array(FilterConditionSchema).optional(),\n $not: FilterConditionSchema.optional(),\n })\n )\n);\n\n// ============================================================================\n// Query Filter Wrapper\n// ============================================================================\n\n/**\n * Top-level query filter wrapper.\n * This is typically used as the \"where\" clause in a query.\n * \n * @example\n * ```typescript\n * const filter: QueryFilter = {\n * where: {\n * status: \"active\", // Implicit equality\n * age: { $gte: 18 }, // Explicit operator\n * $or: [ // Logical combination\n * { role: \"admin\" },\n * { email: { $contains: \"@company.com\" } }\n * ],\n * profile: { // Nested relation\n * verified: true\n * }\n * }\n * }\n * ```\n */\nexport const QueryFilterSchema = z.object({\n where: FilterConditionSchema.optional(),\n});\n\n// ============================================================================\n// TypeScript Type Exports\n// ============================================================================\n\n/**\n * Type-safe filter operators for use in TypeScript.\n * \n * @example\n * ```typescript\n * type UserFilter = Filter<User>;\n * \n * const filter: UserFilter = {\n * age: { $gte: 18 },\n * email: { $contains: \"@example.com\" }\n * };\n * ```\n */\nexport type Filter<T = any> = {\n [K in keyof T]?: \n | T[K] // Implicit equality\n | {\n $eq?: T[K];\n $ne?: T[K];\n $gt?: T[K] extends number | Date ? T[K] : never;\n $gte?: T[K] extends number | Date ? T[K] : never;\n $lt?: T[K] extends number | Date ? T[K] : never;\n $lte?: T[K] extends number | Date ? T[K] : never;\n $in?: T[K][];\n $nin?: T[K][];\n $between?: T[K] extends number | Date ? [T[K], T[K]] : never;\n $contains?: T[K] extends string ? string : never;\n $startsWith?: T[K] extends string ? string : never;\n $endsWith?: T[K] extends string ? string : never;\n $null?: boolean;\n $exists?: boolean;\n }\n | (T[K] extends object ? Filter<T[K]> : never); // Nested relation\n} & {\n $and?: Filter<T>[];\n $or?: Filter<T>[];\n $not?: Filter<T>;\n};\n\n/**\n * Scalar types supported by the filter system.\n */\nexport type Scalar = string | number | boolean | Date | null;\n\n// Export inferred types\nexport type FieldOperators = z.infer<typeof FieldOperatorsSchema>;\nexport type QueryFilter = z.infer<typeof QueryFilterSchema>;\n\n// ============================================================================\n// Normalization Utilities (Internal Representation)\n// ============================================================================\n\n/**\n * Normalized filter AST structure.\n * This is the internal representation after converting all syntactic sugar\n * to explicit operators.\n * \n * Stage 1: Normalization Pass\n * Input: { age: 18, role: \"admin\" }\n * Output: { $and: [{ age: { $eq: 18 } }, { role: { $eq: \"admin\" } }] }\n * \n * This simplifies adapter implementation by providing a consistent structure.\n */\nexport const NormalizedFilterSchema: z.ZodType<any> = z.lazy(() => \n z.object({\n $and: z.array(\n z.union([\n // Field condition: { field: { $op: value } }\n z.record(z.string(), FieldOperatorsSchema),\n // Nested logical group\n NormalizedFilterSchema,\n ])\n ).optional(),\n \n $or: z.array(\n z.union([\n z.record(z.string(), FieldOperatorsSchema),\n NormalizedFilterSchema,\n ])\n ).optional(),\n \n $not: z.union([\n z.record(z.string(), FieldOperatorsSchema),\n NormalizedFilterSchema,\n ]).optional(),\n })\n);\n\nexport type NormalizedFilter = z.infer<typeof NormalizedFilterSchema>;\n\n// ============================================================================\n// AST Array Format Detection & Validation\n// ============================================================================\n\n/**\n * Set of valid AST comparison operators (case-insensitive).\n * Used by `isFilterAST()` to validate AST structure beyond `Array.isArray`.\n */\nexport const VALID_AST_OPERATORS = new Set([\n '=', '==', '!=', '<>', '>', '>=', '<', '<=',\n 'in', 'nin', 'not_in',\n 'contains', 'like',\n 'startswith', 'starts_with',\n 'endswith', 'ends_with',\n 'between',\n 'is_null', 'is_not_null',\n]);\n\n/**\n * Detect whether a value is a valid Filter AST array structure.\n *\n * A valid AST is one of:\n * - Comparison node: `[field: string, operator: string, value: unknown]` where operator is a known operator\n * - Logical node: `[\"and\" | \"or\", ...children]` where children are valid AST nodes\n * - Legacy flat array: `[[cond], [cond], ...]` where all elements are sub-arrays (each a valid AST node)\n *\n * This replaces the naïve `Array.isArray(filter)` check, preventing accidental\n * misidentification of arbitrary arrays as filter ASTs.\n *\n * @example\n * isFilterAST([\"status\", \"=\", \"active\"]) // true\n * isFilterAST([\"and\", [\"a\", \"=\", 1], [\"b\", \">\", 2]]) // true\n * isFilterAST([[\"a\", \"=\", 1], [\"b\", \"=\", 2]]) // true (legacy)\n * isFilterAST([1, 2, 3]) // false\n * isFilterAST(\"not an array\") // false\n * isFilterAST({ status: \"active\" }) // false\n */\nexport function isFilterAST(filter: unknown): boolean {\n if (!Array.isArray(filter) || filter.length === 0) return false;\n\n const first = filter[0];\n\n // Logical node: [\"and\", ...] or [\"or\", ...]\n if (typeof first === 'string') {\n const lower = first.toLowerCase();\n if (lower === 'and' || lower === 'or') {\n return filter.length >= 2 && filter.slice(1).every((child: unknown) => isFilterAST(child));\n }\n\n // Comparison node: [field, operator, value]\n if (filter.length >= 2 && typeof filter[1] === 'string') {\n return VALID_AST_OPERATORS.has(filter[1].toLowerCase());\n }\n }\n\n // Legacy flat array: [[cond], [cond], ...]\n if (filter.every((item: unknown) => isFilterAST(item))) {\n return filter.length > 0;\n }\n\n return false;\n}\n\n// ============================================================================\n// AST Array → FilterCondition Conversion\n// ============================================================================\n\n/**\n * Operator mapping from AST infix operators to FilterCondition `$`-prefixed operators.\n */\nconst AST_OPERATOR_MAP: Record<string, string> = {\n '=': '$eq',\n '==': '$eq',\n '!=': '$ne',\n '<>': '$ne',\n '>': '$gt',\n '>=': '$gte',\n '<': '$lt',\n '<=': '$lte',\n 'in': '$in',\n 'nin': '$nin',\n 'not_in': '$nin',\n 'contains': '$contains',\n 'like': '$contains',\n 'startswith': '$startsWith',\n 'starts_with': '$startsWith',\n 'endswith': '$endsWith',\n 'ends_with': '$endsWith',\n 'between': '$between',\n 'is_null': '$null',\n 'is_not_null': '$null',\n};\n\n/**\n * Convert a single AST comparison node `[field, operator, value]` to a FilterCondition object.\n */\nfunction convertComparison(node: [string, string, unknown]): FilterCondition {\n const [field, operator, value] = node;\n const op = operator.toLowerCase();\n\n // Special case: equality shorthand\n if (op === '=' || op === '==') {\n return { [field]: value } as FilterCondition;\n }\n\n // Null check operators\n if (op === 'is_null') {\n return { [field]: { $null: true } } as FilterCondition;\n }\n if (op === 'is_not_null') {\n return { [field]: { $null: false } } as FilterCondition;\n }\n\n const mapped = AST_OPERATOR_MAP[op];\n if (mapped) {\n return { [field]: { [mapped]: value } } as FilterCondition;\n }\n\n // Fallback: use the operator as-is with $ prefix\n return { [field]: { [`$${op}`]: value } } as FilterCondition;\n}\n\n/**\n * Parse a filter from AST array format to FilterCondition object format.\n *\n * The AST array format is used by the ObjectUI client and the `FilterBuilder`:\n * - Comparison: `[field, operator, value]` → `{ field: value }` or `{ field: { $op: value } }`\n * - Logical AND: `[\"and\", cond1, cond2, ...]` → `{ $and: [...] }`\n * - Logical OR: `[\"or\", cond1, cond2, ...]` → `{ $or: [...] }`\n *\n * If the input is already a FilterCondition object (not an array), it is returned as-is.\n * If the input is `null` or `undefined`, it is returned as-is.\n *\n * @example\n * // Simple condition\n * parseFilterAST([\"status\", \"=\", \"active\"])\n * // → { status: \"active\" }\n *\n * @example\n * // Compound AND\n * parseFilterAST([\"and\", [\"priority\", \"=\", \"high\"], [\"status\", \"=\", \"active\"]])\n * // → { $and: [{ priority: \"high\" }, { status: \"active\" }] }\n *\n * @example\n * // Object passthrough\n * parseFilterAST({ status: \"active\" })\n * // → { status: \"active\" }\n */\nexport function parseFilterAST(filter: unknown): FilterCondition | undefined {\n if (filter == null) return undefined;\n if (!Array.isArray(filter)) return filter as FilterCondition;\n if (filter.length === 0) return undefined;\n\n const first = filter[0];\n\n // Logical node: [\"and\", cond1, cond2, ...] or [\"or\", cond1, cond2, ...]\n if (typeof first === 'string' && (first.toLowerCase() === 'and' || first.toLowerCase() === 'or')) {\n const logicOp = `$${first.toLowerCase()}` as '$and' | '$or';\n const children = filter.slice(1).map((child: unknown) => parseFilterAST(child)).filter(Boolean) as FilterCondition[];\n if (children.length === 0) return undefined;\n if (children.length === 1) return children[0];\n return { [logicOp]: children } as FilterCondition;\n }\n\n // Comparison node: [field, operator, value]\n if (filter.length >= 2 && typeof first === 'string') {\n return convertComparison(filter as [string, string, unknown]);\n }\n\n // Legacy flat array: [[field, op, val], [field, op, val], ...]\n // All elements are sub-arrays → treat as implicit AND\n if (filter.every((item: unknown) => Array.isArray(item))) {\n const children = filter.map((child: unknown) => parseFilterAST(child)).filter(Boolean) as FilterCondition[];\n if (children.length === 0) return undefined;\n if (children.length === 1) return children[0];\n return { $and: children } as FilterCondition;\n }\n\n return undefined;\n}\n\n// ============================================================================\n// Constants & Metadata\n// ============================================================================\n\n/**\n * All supported operator keys.\n * Useful for validation and parsing.\n */\nexport const FILTER_OPERATORS = [\n // Equality\n '$eq', '$ne',\n // Comparison\n '$gt', '$gte', '$lt', '$lte',\n // Set & Range\n '$in', '$nin', '$between',\n // String\n '$contains', '$startsWith', '$endsWith',\n // Special\n '$null', '$exists',\n] as const;\n\n/**\n * Logical operator keys.\n */\nexport const LOGICAL_OPERATORS = ['$and', '$or', '$not'] as const;\n\n/**\n * All operator keys (field + logical).\n */\nexport const ALL_OPERATORS = [...FILTER_OPERATORS, ...LOGICAL_OPERATORS] as const;\n\nexport type FilterOperatorKey = typeof FILTER_OPERATORS[number];\nexport type LogicalOperatorKey = typeof LOGICAL_OPERATORS[number];\nexport type OperatorKey = typeof ALL_OPERATORS[number];\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { FilterConditionSchema } from '../data/filter.zod';\nimport { ChartTypeSchema, ChartConfigSchema } from './chart.zod';\nimport { SnakeCaseIdentifierSchema } from '../shared/identifiers.zod';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.zod';\nimport { ResponsiveConfigSchema, PerformanceConfigSchema } from './responsive.zod';\n\n/**\n * Color variant for dashboard widgets (e.g., KPI cards).\n */\nexport const WidgetColorVariantSchema = z.enum([\n 'default',\n 'blue',\n 'teal',\n 'orange',\n 'purple',\n 'success',\n 'warning',\n 'danger',\n]).describe('Widget color variant');\n\n/**\n * Action type for widget action buttons.\n */\nexport const WidgetActionTypeSchema = z.enum([\n 'script',\n 'url',\n 'modal',\n 'flow',\n 'api',\n]).describe('Widget action type');\n\n/**\n * Dashboard Header Action Schema\n * An action button displayed in the dashboard header area.\n */\nexport const DashboardHeaderActionSchema = z.object({\n /** Action label */\n label: I18nLabelSchema.describe('Action button label'),\n\n /** Action URL or target */\n actionUrl: z.string().describe('URL or target for the action'),\n\n /** Action type */\n actionType: WidgetActionTypeSchema.optional().describe('Type of action'),\n\n /** Icon identifier */\n icon: z.string().optional().describe('Icon identifier for the action button'),\n}).describe('Dashboard header action');\n\n/**\n * Dashboard Header Schema\n * Structured header configuration for the dashboard.\n */\nexport const DashboardHeaderSchema = z.object({\n /** Whether to show the dashboard title in the header */\n showTitle: z.boolean().default(true).describe('Show dashboard title in header'),\n\n /** Whether to show the dashboard description in the header */\n showDescription: z.boolean().default(true).describe('Show dashboard description in header'),\n\n /** Action buttons displayed in the header */\n actions: z.array(DashboardHeaderActionSchema).optional().describe('Header action buttons'),\n}).describe('Dashboard header configuration');\n\n/**\n * Widget Measure Schema\n * A single measure definition for multi-measure pivot/matrix widgets.\n */\nexport const WidgetMeasureSchema = z.object({\n /** Value field to aggregate */\n valueField: z.string().describe('Field to aggregate'),\n\n /** Aggregate function */\n aggregate: z.enum(['count', 'sum', 'avg', 'min', 'max']).default('count').describe('Aggregate function'),\n\n /** Display label for the measure */\n label: I18nLabelSchema.optional().describe('Measure display label'),\n\n /** Number format string (e.g., \"$0,0.00\", \"0.0%\") */\n format: z.string().optional().describe('Number format string'),\n}).describe('Widget measure definition');\n\n/**\n * Dashboard Widget Schema\n * A single component on the dashboard grid.\n */\nexport const DashboardWidgetSchema = z.object({\n /** Unique widget identifier (snake_case, used for targetWidgets references) */\n id: SnakeCaseIdentifierSchema.describe('Unique widget identifier (snake_case)'),\n\n /** Widget Title */\n title: I18nLabelSchema.optional().describe('Widget title'),\n\n /** Widget Description (displayed below the title) */\n description: I18nLabelSchema.optional().describe('Widget description text below the header'),\n \n /** Visualization Type */\n type: ChartTypeSchema.default('metric').describe('Visualization type'),\n \n /** Chart Configuration */\n chartConfig: ChartConfigSchema.optional().describe('Chart visualization configuration'),\n\n /** Color variant for the widget (e.g., KPI card accent color) */\n colorVariant: WidgetColorVariantSchema.optional().describe('Widget color variant for theming'),\n\n /** Action URL for the widget header action button */\n actionUrl: z.string().optional().describe('URL or target for the widget action button'),\n\n /** Action type for the widget header action button */\n actionType: WidgetActionTypeSchema.optional().describe('Type of action for the widget action button'),\n\n /** Icon for the widget header action button */\n actionIcon: z.string().optional().describe('Icon identifier for the widget action button'),\n \n /** Data Source Object */\n object: z.string().optional().describe('Data source object name'),\n \n /** Data Filter (MongoDB-style FilterCondition) */\n filter: FilterConditionSchema.optional().describe('Data filter criteria'),\n \n /** Category Field (X-Axis / Group By) */\n categoryField: z.string().optional().describe('Field for grouping (X-Axis)'),\n \n /** Value Field (Y-Axis) */\n valueField: z.string().optional().describe('Field for values (Y-Axis)'),\n \n /** Aggregate operation */\n aggregate: z.enum(['count', 'sum', 'avg', 'min', 'max']).optional().default('count').describe('Aggregate function'),\n \n /** Multi-measure definitions for pivot/matrix widgets */\n measures: z.array(WidgetMeasureSchema).optional().describe('Multiple measures for pivot/matrix analysis'),\n \n /** \n * Layout Position (React-Grid-Layout style)\n * x: column (0-11)\n * y: row\n * w: width (1-12)\n * h: height\n */\n layout: z.object({\n x: z.number(),\n y: z.number(),\n w: z.number(),\n h: z.number(),\n }).describe('Grid layout position'),\n \n /** Widget specific options (colors, legend, etc.) */\n options: z.unknown().optional().describe('Widget specific configuration'),\n\n /** Responsive layout overrides per breakpoint */\n responsive: ResponsiveConfigSchema.optional().describe('Responsive layout configuration'),\n\n /** ARIA accessibility attributes */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\n/**\n * Dynamic options binding for global filters.\n * Allows dropdown options to be fetched from an object at runtime.\n */\nexport const GlobalFilterOptionsFromSchema = z.object({\n /** Source object name to fetch options from */\n object: z.string().describe('Source object name'),\n\n /** Field to use as option value */\n valueField: z.string().describe('Field to use as option value'),\n\n /** Field to use as option label */\n labelField: z.string().describe('Field to use as option label'),\n\n /** Optional filter to apply when fetching options */\n filter: FilterConditionSchema.optional().describe('Filter to apply to source object'),\n}).describe('Dynamic filter options from object');\n\n/**\n * Global Filter Schema\n * Defines a single global filter control for the dashboard filter bar.\n */\nexport const GlobalFilterSchema = z.object({\n /** Field name to filter on */\n field: z.string().describe('Field name to filter on'),\n\n /** Display label for the filter */\n label: I18nLabelSchema.optional().describe('Display label for the filter'),\n\n /** Filter input type */\n type: z.enum(['text', 'select', 'date', 'number', 'lookup']).optional().describe('Filter input type'),\n\n /** Static options for select/lookup filters */\n options: z.array(z.object({\n value: z.union([z.string(), z.number(), z.boolean()]).describe('Option value'),\n label: I18nLabelSchema,\n })).optional().describe('Static filter options'),\n\n /** Dynamic data binding for filter options */\n optionsFrom: GlobalFilterOptionsFromSchema.optional().describe('Dynamic filter options from object'),\n\n /** Default filter value */\n defaultValue: z.union([z.string(), z.number(), z.boolean()]).optional().describe('Default filter value'),\n\n /** Filter application scope */\n scope: z.enum(['dashboard', 'widget']).default('dashboard').describe('Filter application scope'),\n\n /** Widget IDs to apply this filter to (when scope is widget) */\n targetWidgets: z.array(z.string()).optional().describe('Widget IDs to apply this filter to'),\n});\n\n/**\n * Dashboard Schema\n * Represents a page containing multiple visualizations.\n * \n * @example Sales Executive Dashboard\n * {\n * name: \"sales_overview\",\n * label: \"Sales Executive Overview\",\n * widgets: [\n * {\n * title: \"Total Pipe\",\n * type: \"metric\",\n * object: \"opportunity\",\n * valueField: \"amount\",\n * aggregate: \"sum\",\n * layout: { x: 0, y: 0, w: 3, h: 2 }\n * },\n * {\n * title: \"Revenue by Region\",\n * type: \"bar\",\n * object: \"order\",\n * categoryField: \"region\",\n * valueField: \"total\",\n * aggregate: \"sum\",\n * layout: { x: 3, y: 0, w: 6, h: 4 }\n * }\n * ]\n * }\n */\nexport const DashboardSchema = z.object({\n /** Machine name */\n name: SnakeCaseIdentifierSchema.describe('Dashboard unique name'),\n \n /** Display label */\n label: I18nLabelSchema.describe('Dashboard label'),\n \n /** Description */\n description: I18nLabelSchema.optional().describe('Dashboard description'),\n\n /** Structured header configuration */\n header: DashboardHeaderSchema.optional().describe('Dashboard header configuration'),\n \n /** Collection of widgets */\n widgets: z.array(DashboardWidgetSchema).describe('Widgets to display'),\n\n /** Auto-refresh */\n refreshInterval: z.number().optional().describe('Auto-refresh interval in seconds'),\n\n /** Dashboard Date Range (Global time filter) */\n dateRange: z.object({\n field: z.string().optional().describe('Default date field name for time-based filtering'),\n defaultRange: z.enum(['today', 'yesterday', 'this_week', 'last_week', 'this_month', 'last_month', 'this_quarter', 'last_quarter', 'this_year', 'last_year', 'last_7_days', 'last_30_days', 'last_90_days', 'custom']).default('this_month').describe('Default date range preset'),\n allowCustomRange: z.boolean().default(true).describe('Allow users to pick a custom date range'),\n }).optional().describe('Global dashboard date range filter configuration'),\n\n /** Global Filters */\n globalFilters: z.array(GlobalFilterSchema).optional().describe('Global filters that apply to all widgets in the dashboard'),\n\n /** ARIA accessibility attributes */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n\n /** Performance optimization settings */\n performance: PerformanceConfigSchema.optional().describe('Performance optimization settings'),\n});\n\nexport type Dashboard = z.infer<typeof DashboardSchema>;\nexport type DashboardInput = z.input<typeof DashboardSchema>;\nexport type DashboardWidget = z.infer<typeof DashboardWidgetSchema>;\nexport type DashboardHeader = z.infer<typeof DashboardHeaderSchema>;\nexport type DashboardHeaderAction = z.infer<typeof DashboardHeaderActionSchema>;\nexport type WidgetMeasure = z.infer<typeof WidgetMeasureSchema>;\nexport type WidgetColorVariant = z.infer<typeof WidgetColorVariantSchema>;\nexport type WidgetActionType = z.infer<typeof WidgetActionTypeSchema>;\nexport type GlobalFilter = z.infer<typeof GlobalFilterSchema>;\nexport type GlobalFilterOptionsFrom = z.infer<typeof GlobalFilterOptionsFromSchema>;\n\n/**\n * Dashboard Factory Helper\n */\nexport const Dashboard = {\n create: (config: z.input<typeof DashboardSchema>): Dashboard => DashboardSchema.parse(config),\n} as const;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { FilterConditionSchema } from '../data/filter.zod';\nimport { ChartConfigSchema } from './chart.zod';\nimport { SnakeCaseIdentifierSchema } from '../shared/identifiers.zod';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.zod';\nimport { ResponsiveConfigSchema, PerformanceConfigSchema } from './responsive.zod';\n\n/**\n * Report Type Enum\n */\nexport const ReportType = z.enum([\n 'tabular', // Simple list\n 'summary', // Grouped by row\n 'matrix', // Grouped by row and column\n 'joined' // Joined multiple blocks\n]);\n\n/**\n * Report Column Schema\n */\nexport const ReportColumnSchema = z.object({\n field: z.string().describe('Field name'),\n label: I18nLabelSchema.optional().describe('Override label'),\n aggregate: z.enum(['sum', 'avg', 'max', 'min', 'count', 'unique']).optional().describe('Aggregation function'),\n /** Responsive visibility/priority per breakpoint */\n responsive: ResponsiveConfigSchema.optional().describe('Responsive visibility for this column'),\n});\n\n/**\n * Report Grouping Schema\n */\nexport const ReportGroupingSchema = z.object({\n field: z.string().describe('Field to group by'),\n sortOrder: z.enum(['asc', 'desc']).default('asc'),\n dateGranularity: z.enum(['day', 'week', 'month', 'quarter', 'year']).optional().describe('For date fields'),\n});\n\n/**\n * Report Chart Schema\n * Embedded visualization configuration using unified chart taxonomy.\n */\nexport const ReportChartSchema = ChartConfigSchema.extend({\n /** Report-specific chart configuration */\n xAxis: z.string().describe('Grouping field for X-Axis'),\n yAxis: z.string().describe('Summary field for Y-Axis'),\n groupBy: z.string().optional().describe('Additional grouping field'),\n});\n\n/**\n * Report Schema\n * Deep data analysis definition.\n */\nexport const ReportSchema = z.object({\n /** Identity */\n name: SnakeCaseIdentifierSchema.describe('Report unique name'),\n label: I18nLabelSchema.describe('Report label'),\n description: I18nLabelSchema.optional(),\n \n /** Data Source */\n objectName: z.string().describe('Primary object'),\n \n /** Report Configuration */\n type: ReportType.default('tabular').describe('Report format type'),\n \n columns: z.array(ReportColumnSchema).describe('Columns to display'),\n \n /** Grouping (for Summary/Matrix) */\n groupingsDown: z.array(ReportGroupingSchema).optional().describe('Row groupings'),\n groupingsAcross: z.array(ReportGroupingSchema).optional().describe('Column groupings (Matrix only)'),\n \n /** Filtering (MongoDB-style FilterCondition) */\n filter: FilterConditionSchema.optional().describe('Filter criteria'),\n \n /** Visualization */\n chart: ReportChartSchema.optional().describe('Embedded chart configuration'),\n\n /** ARIA accessibility attributes */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n\n /** Performance optimization settings */\n performance: PerformanceConfigSchema.optional().describe('Performance optimization settings'),\n});\n\n/**\n * Report Types\n * \n * Note: For configuration/definition contexts, use the Input types (e.g., ReportInput)\n * which allow optional fields with defaults to be omitted.\n */\nexport type Report = z.infer<typeof ReportSchema>;\nexport type ReportColumn = z.infer<typeof ReportColumnSchema>;\nexport type ReportGrouping = z.infer<typeof ReportGroupingSchema>;\nexport type ReportChart = z.infer<typeof ReportChartSchema>;\n\n/**\n * Input Types for Report Configuration\n * Use these when defining reports in configuration files.\n */\nexport type ReportInput = z.input<typeof ReportSchema>;\nexport type ReportColumnInput = z.input<typeof ReportColumnSchema>;\nexport type ReportGroupingInput = z.input<typeof ReportGroupingSchema>;\nexport type ReportChartInput = z.input<typeof ReportChartSchema>;\n\n/**\n * Report Factory Helper\n */\nexport const Report = {\n create: (config: ReportInput): Report => ReportSchema.parse(config),\n} as const;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Field-level encryption protocol\n * GDPR/HIPAA/PCI-DSS compliant\n */\nexport const EncryptionAlgorithmSchema = z.enum([\n 'aes-256-gcm',\n 'aes-256-cbc',\n 'chacha20-poly1305',\n]).describe('Supported encryption algorithm');\n\nexport type EncryptionAlgorithm = z.infer<typeof EncryptionAlgorithmSchema>;\n\nexport const KeyManagementProviderSchema = z.enum([\n 'local',\n 'aws-kms',\n 'azure-key-vault',\n 'gcp-kms',\n 'hashicorp-vault',\n]).describe('Key management service provider');\n\nexport type KeyManagementProvider = z.infer<typeof KeyManagementProviderSchema>;\n\nexport const KeyRotationPolicySchema = z.object({\n enabled: z.boolean().default(false).describe('Enable automatic key rotation'),\n frequencyDays: z.number().min(1).default(90).describe('Rotation frequency in days'),\n retainOldVersions: z.number().default(3).describe('Number of old key versions to retain'),\n autoRotate: z.boolean().default(true).describe('Automatically rotate without manual approval'),\n}).describe('Policy for automatic encryption key rotation');\n\nexport type KeyRotationPolicy = z.infer<typeof KeyRotationPolicySchema>;\nexport type KeyRotationPolicyInput = z.input<typeof KeyRotationPolicySchema>;\n\nexport const EncryptionConfigSchema = z.object({\n enabled: z.boolean().default(false).describe('Enable field-level encryption'),\n algorithm: EncryptionAlgorithmSchema.default('aes-256-gcm').describe('Encryption algorithm'),\n keyManagement: z.object({\n provider: KeyManagementProviderSchema.describe('Key management service provider'),\n keyId: z.string().optional().describe('Key identifier in the provider'),\n rotationPolicy: KeyRotationPolicySchema.optional().describe('Key rotation policy'),\n }).describe('Key management configuration'),\n scope: z.enum(['field', 'record', 'table', 'database']).describe('Encryption scope level'),\n deterministicEncryption: z.boolean().default(false).describe('Allows equality queries on encrypted data'),\n searchableEncryption: z.boolean().default(false).describe('Allows search on encrypted data'),\n}).describe('Field-level encryption configuration');\n\nexport type EncryptionConfig = z.infer<typeof EncryptionConfigSchema>;\nexport type EncryptionConfigInput = z.input<typeof EncryptionConfigSchema>;\n\nexport const FieldEncryptionSchema = z.object({\n fieldName: z.string().describe('Name of the field to encrypt'),\n encryptionConfig: EncryptionConfigSchema.describe('Encryption settings for this field'),\n indexable: z.boolean().default(false).describe('Allow indexing on encrypted field'),\n}).describe('Per-field encryption assignment');\n\nexport type FieldEncryption = z.infer<typeof FieldEncryptionSchema>;\nexport type FieldEncryptionInput = z.input<typeof FieldEncryptionSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Data masking protocol for PII protection\n */\nexport const MaskingStrategySchema = z.enum([\n 'redact', // Complete redaction: ****\n 'partial', // Partial masking: 138****5678\n 'hash', // Hash value: sha256(value)\n 'tokenize', // Tokenization: token-12345\n 'randomize', // Randomize: generate random value\n 'nullify', // Null value: null\n 'substitute', // Substitute with dummy data\n]).describe('Data masking strategy for PII protection');\n\nexport type MaskingStrategy = z.infer<typeof MaskingStrategySchema>;\n\nexport const MaskingRuleSchema = z.object({\n field: z.string().describe('Field name to apply masking to'),\n strategy: MaskingStrategySchema.describe('Masking strategy to use'),\n pattern: z.string().optional().describe('Regex pattern for partial masking'),\n preserveFormat: z.boolean().default(true).describe('Keep the original data format after masking'),\n preserveLength: z.boolean().default(true).describe('Keep the original data length after masking'),\n roles: z.array(z.string()).optional().describe('Roles that see masked data'),\n exemptRoles: z.array(z.string()).optional().describe('Roles that see unmasked data'),\n}).describe('Masking rule for a single field');\n\nexport type MaskingRule = z.infer<typeof MaskingRuleSchema>;\nexport type MaskingRuleInput = z.input<typeof MaskingRuleSchema>;\n\nexport const MaskingConfigSchema = z.object({\n enabled: z.boolean().default(false).describe('Enable data masking'),\n rules: z.array(MaskingRuleSchema).describe('List of field-level masking rules'),\n auditUnmasking: z.boolean().default(true).describe('Log when masked data is accessed unmasked'),\n}).describe('Top-level data masking configuration for PII protection');\n\nexport type MaskingConfig = z.infer<typeof MaskingConfigSchema>;\nexport type MaskingConfigInput = z.input<typeof MaskingConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { SystemIdentifierSchema } from '../shared/identifiers.zod';\nimport { EncryptionConfigSchema } from '../system/encryption.zod';\nimport { MaskingRuleSchema } from '../system/masking.zod';\n\n/**\n * Field Type Enum\n */\nexport const FieldType = z.enum([\n // Core Text\n 'text', 'textarea', 'email', 'url', 'phone', 'password',\n // Rich Content\n 'markdown', 'html', 'richtext',\n // Numbers\n 'number', 'currency', 'percent', \n // Date & Time\n 'date', 'datetime', 'time',\n // Logic\n 'boolean', 'toggle', // Toggle is a distinct UI from checkbox\n // Selection\n 'select', // Single select dropdown\n 'multiselect', // Multi select (often tags)\n 'radio', // Radio group\n 'checkboxes', // Checkbox group\n // Relational\n 'lookup', 'master_detail', // Dynamic reference\n 'tree', // Hierarchical reference\n // Media\n 'image', 'file', 'avatar', 'video', 'audio',\n // Calculated / System\n 'formula', 'summary', 'autonumber',\n // Enhanced Types\n 'location', // GPS coordinates\n 'address', // Structured address\n 'code', // Code editor (JSON/SQL/JS)\n 'json', // Structured JSON data\n 'color', // Color picker\n 'rating', // Star rating\n 'slider', // Numeric slider\n 'signature', // Digital signature\n 'qrcode', // QR code / Barcode\n 'progress', // Progress bar\n 'tags', // Simple tag list\n // AI/ML Types\n 'vector', // Vector embeddings for AI/ML (semantic search, RAG)\n]);\n\nexport type FieldType = z.infer<typeof FieldType>;\n\n/**\n * Select Option Schema\n * \n * Defines option values for select/picklist fields.\n * \n * **CRITICAL RULE**: The `value` field is a machine identifier that gets stored in the database.\n * It MUST be lowercase to avoid case-sensitivity issues in queries and comparisons.\n * \n * @example Good\n * { label: 'New', value: 'new' }\n * { label: 'In Progress', value: 'in_progress' }\n * { label: 'Closed Won', value: 'closed_won' }\n * \n * @example Bad (will be rejected)\n * { label: 'New', value: 'New' } // uppercase\n * { label: 'In Progress', value: 'In Progress' } // spaces and uppercase\n * { label: 'Closed Won', value: 'Closed_Won' } // mixed case\n */\nexport const SelectOptionSchema = z.object({\n label: z.string().describe('Display label (human-readable, any case allowed)'),\n value: SystemIdentifierSchema.describe('Stored value (lowercase machine identifier)'),\n color: z.string().optional().describe('Color code for badges/charts'),\n default: z.boolean().optional().describe('Is default option'),\n});\n\n/**\n * Location Coordinates Schema\n * GPS coordinates for location field type\n */\nexport const LocationCoordinatesSchema = z.object({\n latitude: z.number().min(-90).max(90).describe('Latitude coordinate'),\n longitude: z.number().min(-180).max(180).describe('Longitude coordinate'),\n altitude: z.number().optional().describe('Altitude in meters'),\n accuracy: z.number().optional().describe('Accuracy in meters'),\n});\n\n/**\n * Currency Configuration Schema\n * Configuration for currency field type supporting multi-currency\n * \n * Note: Currency codes are validated by length only (3 characters) to support:\n * - Standard ISO 4217 codes (USD, EUR, CNY, etc.)\n * - Cryptocurrency codes (BTC, ETH, etc.)\n * - Custom business-specific codes\n * Stricter validation can be implemented at the application layer based on business requirements.\n */\nexport const CurrencyConfigSchema = z.object({\n precision: z.number().int().min(0).max(10).default(2).describe('Decimal precision (default: 2)'),\n currencyMode: z.enum(['dynamic', 'fixed']).default('dynamic').describe('Currency mode: dynamic (user selectable) or fixed (single currency)'),\n defaultCurrency: z.string().length(3).default('CNY').describe('Default or fixed currency code (ISO 4217, e.g., USD, CNY, EUR)'),\n});\n\n/**\n * Currency Value Schema\n * Runtime value structure for currency fields\n * \n * Note: Currency codes are validated by length only (3 characters) to support flexibility.\n * See CurrencyConfigSchema for details on currency code validation strategy.\n */\nexport const CurrencyValueSchema = z.object({\n value: z.number().describe('Monetary amount'),\n currency: z.string().length(3).describe('Currency code (ISO 4217)'),\n});\n\n/**\n * Address Schema\n * Structured address for address field type\n */\nexport const AddressSchema = z.object({\n street: z.string().optional().describe('Street address'),\n city: z.string().optional().describe('City name'),\n state: z.string().optional().describe('State/Province'),\n postalCode: z.string().optional().describe('Postal/ZIP code'),\n country: z.string().optional().describe('Country name or code'),\n countryCode: z.string().optional().describe('ISO country code (e.g., US, GB)'),\n formatted: z.string().optional().describe('Formatted address string'),\n});\n\n/**\n * Vector Configuration Schema\n * Configuration for vector field type supporting AI/ML embeddings\n * \n * Vector fields store numerical embeddings for semantic search, similarity matching,\n * and Retrieval-Augmented Generation (RAG) workflows.\n * \n * @example\n * // Text embeddings for semantic search\n * {\n * dimensions: 1536, // OpenAI text-embedding-ada-002\n * distanceMetric: 'cosine',\n * indexed: true\n * }\n * \n * @example\n * // Image embeddings with normalization\n * {\n * dimensions: 512, // ResNet-50\n * distanceMetric: 'euclidean',\n * normalized: true,\n * indexed: true\n * }\n */\nexport const VectorConfigSchema = z.object({\n dimensions: z.number().int().min(1).max(10000).describe('Vector dimensionality (e.g., 1536 for OpenAI embeddings)'),\n distanceMetric: z.enum(['cosine', 'euclidean', 'dotProduct', 'manhattan']).default('cosine').describe('Distance/similarity metric for vector search'),\n normalized: z.boolean().default(false).describe('Whether vectors are normalized (unit length)'),\n indexed: z.boolean().default(true).describe('Whether to create a vector index for fast similarity search'),\n indexType: z.enum(['hnsw', 'ivfflat', 'flat']).optional().describe('Vector index algorithm (HNSW for high accuracy, IVFFlat for large datasets)'),\n});\n\n/**\n * File Attachment Configuration Schema\n * Configuration for file and attachment field types\n * \n * Provides comprehensive file upload capabilities with:\n * - File type restrictions (allowed/blocked)\n * - File size limits (min/max)\n * - Virus scanning integration\n * - Storage provider integration\n * - Image-specific features (dimensions, thumbnails)\n * \n * @example Basic file upload with size limit\n * {\n * maxSize: 10485760, // 10MB\n * allowedTypes: ['.pdf', '.docx', '.xlsx'],\n * virusScan: true\n * }\n * \n * @example Image upload with validation\n * {\n * maxSize: 5242880, // 5MB\n * allowedTypes: ['.jpg', '.jpeg', '.png', '.webp'],\n * imageValidation: {\n * maxWidth: 4096,\n * maxHeight: 4096,\n * generateThumbnails: true\n * }\n * }\n */\nexport const FileAttachmentConfigSchema = z.object({\n /** File Size Limits */\n minSize: z.number().min(0).optional().describe('Minimum file size in bytes'),\n maxSize: z.number().min(1).optional().describe('Maximum file size in bytes (e.g., 10485760 = 10MB)'),\n \n /** File Type Restrictions */\n allowedTypes: z.array(z.string()).optional().describe('Allowed file extensions (e.g., [\".pdf\", \".docx\", \".jpg\"])'),\n blockedTypes: z.array(z.string()).optional().describe('Blocked file extensions (e.g., [\".exe\", \".bat\", \".sh\"])'),\n allowedMimeTypes: z.array(z.string()).optional().describe('Allowed MIME types (e.g., [\"image/jpeg\", \"application/pdf\"])'),\n blockedMimeTypes: z.array(z.string()).optional().describe('Blocked MIME types'),\n \n /** Virus Scanning */\n virusScan: z.boolean().default(false).describe('Enable virus scanning for uploaded files'),\n virusScanProvider: z.enum(['clamav', 'virustotal', 'metadefender', 'custom']).optional().describe('Virus scanning service provider'),\n virusScanOnUpload: z.boolean().default(true).describe('Scan files immediately on upload'),\n quarantineOnThreat: z.boolean().default(true).describe('Quarantine files if threat detected'),\n \n /** Storage Configuration */\n storageProvider: z.string().optional().describe('Object storage provider name (references ObjectStorageConfig)'),\n storageBucket: z.string().optional().describe('Target bucket name'),\n storagePrefix: z.string().optional().describe('Storage path prefix (e.g., \"uploads/documents/\")'),\n \n /** Image-Specific Validation */\n imageValidation: z.object({\n minWidth: z.number().min(1).optional().describe('Minimum image width in pixels'),\n maxWidth: z.number().min(1).optional().describe('Maximum image width in pixels'),\n minHeight: z.number().min(1).optional().describe('Minimum image height in pixels'),\n maxHeight: z.number().min(1).optional().describe('Maximum image height in pixels'),\n aspectRatio: z.string().optional().describe('Required aspect ratio (e.g., \"16:9\", \"1:1\")'),\n generateThumbnails: z.boolean().default(false).describe('Auto-generate thumbnails'),\n thumbnailSizes: z.array(z.object({\n name: z.string().describe('Thumbnail variant name (e.g., \"small\", \"medium\", \"large\")'),\n width: z.number().min(1).describe('Thumbnail width in pixels'),\n height: z.number().min(1).describe('Thumbnail height in pixels'),\n crop: z.boolean().default(false).describe('Crop to exact dimensions'),\n })).optional().describe('Thumbnail size configurations'),\n preserveMetadata: z.boolean().default(false).describe('Preserve EXIF metadata'),\n autoRotate: z.boolean().default(true).describe('Auto-rotate based on EXIF orientation'),\n }).optional().describe('Image-specific validation rules'),\n \n /** Upload Behavior */\n allowMultiple: z.boolean().default(false).describe('Allow multiple file uploads (overrides field.multiple)'),\n allowReplace: z.boolean().default(true).describe('Allow replacing existing files'),\n allowDelete: z.boolean().default(true).describe('Allow deleting uploaded files'),\n requireUpload: z.boolean().default(false).describe('Require at least one file when field is required'),\n \n /** Metadata Extraction */\n extractMetadata: z.boolean().default(true).describe('Extract file metadata (name, size, type, etc.)'),\n extractText: z.boolean().default(false).describe('Extract text content from documents (OCR/parsing)'),\n \n /** Versioning */\n versioningEnabled: z.boolean().default(false).describe('Keep previous versions of replaced files'),\n maxVersions: z.number().min(1).optional().describe('Maximum number of versions to retain'),\n \n /** Access Control */\n publicRead: z.boolean().default(false).describe('Allow public read access to uploaded files'),\n presignedUrlExpiry: z.number().min(60).max(604800).default(3600).describe('Presigned URL expiration in seconds (default: 1 hour)'),\n}).refine((data) => {\n // Validate minSize is less than or equal to maxSize\n if (data.minSize !== undefined && data.maxSize !== undefined && data.minSize > data.maxSize) {\n return false;\n }\n return true;\n}, {\n message: 'minSize must be less than or equal to maxSize',\n}).refine((data) => {\n // Validate virusScanProvider requires virusScan to be enabled\n if (data.virusScanProvider !== undefined && data.virusScan !== true) {\n return false;\n }\n return true;\n}, {\n message: 'virusScanProvider requires virusScan to be enabled',\n});\n\n/**\n * Data Quality Rules Schema\n * Defines data quality validation and monitoring for fields\n * \n * @example Unique SSN field with completeness requirement\n * {\n * uniqueness: true,\n * completeness: 0.95, // 95% of records must have this field\n * accuracy: {\n * source: 'government_db',\n * threshold: 0.98\n * }\n * }\n */\nexport const DataQualityRulesSchema = z.object({\n /** Enforce uniqueness constraint */\n uniqueness: z.boolean().default(false).describe('Enforce unique values across all records'),\n \n /** Completeness ratio (0-1) indicating minimum percentage of non-null values */\n completeness: z.number().min(0).max(1).default(0).describe('Minimum ratio of non-null values (0-1, default: 0 = no requirement)'),\n \n /** Accuracy validation against authoritative source */\n accuracy: z.object({\n source: z.string().describe('Reference data source for validation (e.g., \"api.verify.com\", \"master_data\")'),\n threshold: z.number().min(0).max(1).describe('Minimum accuracy threshold (0-1, e.g., 0.95 = 95% match required)'),\n }).optional().describe('Accuracy validation configuration'),\n});\n\n/**\n * Computed Field Caching Schema\n * Configuration for caching computed/formula field results\n * \n * @example Cache product price with 1-hour TTL, invalidate on inventory changes\n * {\n * enabled: true,\n * ttl: 3600,\n * invalidateOn: ['inventory.quantity', 'pricing.discount']\n * }\n */\nexport const ComputedFieldCacheSchema = z.object({\n /** Enable caching for this computed field */\n enabled: z.boolean().describe('Enable caching for computed field results'),\n \n /** Time-to-live in seconds */\n ttl: z.number().min(0).describe('Cache TTL in seconds (0 = no expiration)'),\n \n /** Array of field paths that trigger cache invalidation when changed */\n invalidateOn: z.array(z.string()).describe('Field paths that invalidate cache (e.g., [\"inventory.quantity\", \"pricing.base_price\"])'),\n});\n\n/**\n * Field Schema - Best Practice Enterprise Pattern\n */\n/**\n * Field Definition Schema\n * Defines the properties, type, and behavior of a single field (column) on an object.\n * \n * @example Lookup Field\n * {\n * name: \"account_id\",\n * label: \"Account\",\n * type: \"lookup\",\n * reference: \"accounts\",\n * required: true\n * }\n * \n * @example Select Field\n * {\n * name: \"status\",\n * label: \"Status\",\n * type: \"select\",\n * options: [\n * { label: \"Open\", value: \"open\" },\n * { label: \"Closed\", value: \"closed\" }\n * ],\n * defaultValue: \"open\"\n * }\n */\nexport const FieldSchema = z.object({\n /** Identity */\n name: z.string().regex(/^[a-z_][a-z0-9_]*$/).describe('Machine name (snake_case)').optional(),\n label: z.string().optional().describe('Human readable label'),\n type: FieldType.describe('Field Data Type'),\n description: z.string().optional().describe('Tooltip/Help text'),\n format: z.string().optional().describe('Format string (e.g. email, phone)'),\n\n /** Storage Layer Mapping */\n columnName: z.string().optional().describe('Physical column name in the target datasource. Defaults to the field key when not set.'),\n\n /** Database Constraints */\n required: z.boolean().default(false).describe('Is required'),\n searchable: z.boolean().default(false).describe('Is searchable'),\n multiple: z.boolean().default(false).describe('Allow multiple values (Stores as Array/JSON). Applicable for select, lookup, file, image.'),\n unique: z.boolean().default(false).describe('Is unique constraint'),\n defaultValue: z.unknown().optional().describe('Default value'),\n \n /** Text/String Constraints */\n maxLength: z.number().optional().describe('Max character length'),\n minLength: z.number().optional().describe('Min character length'),\n \n /** Number Constraints */\n precision: z.number().optional().describe('Total digits'),\n scale: z.number().optional().describe('Decimal places'),\n min: z.number().optional().describe('Minimum value'),\n max: z.number().optional().describe('Maximum value'),\n\n /** Selection Options */\n options: z.array(SelectOptionSchema).optional().describe('Static options for select/multiselect'),\n\n /** Relationship Config */\n reference: z.string().optional().describe('Target Object Name'),\n referenceFilters: z.array(z.string()).optional().describe('Filters applied to lookup dialogs (e.g. \"active = true\")'),\n writeRequiresMasterRead: z.boolean().optional().describe('If true, user needs read access to master record to edit this field'),\n deleteBehavior: z.enum(['set_null', 'cascade', 'restrict']).optional().default('set_null').describe('What happens if referenced record is deleted'),\n\n /** Calculation */\n expression: z.string().optional().describe('Formula expression'),\n summaryOperations: z.object({\n object: z.string().describe('Source child object name for roll-up'),\n field: z.string().describe('Field on child object to aggregate'),\n function: z.enum(['count', 'sum', 'min', 'max', 'avg']).describe('Aggregation function to apply'),\n }).optional().describe('Roll-up summary definition'),\n\n /** Enhanced Field Type Configurations */\n // Code field config\n language: z.string().optional().describe('Programming language for syntax highlighting (e.g., javascript, python, sql)'),\n theme: z.string().optional().describe('Code editor theme (e.g., dark, light, monokai)'),\n lineNumbers: z.boolean().optional().describe('Show line numbers in code editor'),\n \n // Rating field config\n maxRating: z.number().optional().describe('Maximum rating value (default: 5)'),\n allowHalf: z.boolean().optional().describe('Allow half-star ratings'),\n \n // Location field config\n displayMap: z.boolean().optional().describe('Display map widget for location field'),\n allowGeocoding: z.boolean().optional().describe('Allow address-to-coordinate conversion'),\n \n // Address field config\n addressFormat: z.enum(['us', 'uk', 'international']).optional().describe('Address format template'),\n \n // Color field config\n colorFormat: z.enum(['hex', 'rgb', 'rgba', 'hsl']).optional().describe('Color value format'),\n allowAlpha: z.boolean().optional().describe('Allow transparency/alpha channel'),\n presetColors: z.array(z.string()).optional().describe('Preset color options'),\n \n // Slider field config\n step: z.number().optional().describe('Step increment for slider (default: 1)'),\n showValue: z.boolean().optional().describe('Display current value on slider'),\n marks: z.record(z.string(), z.string()).optional().describe('Custom marks/labels at specific values (e.g., {0: \"Low\", 50: \"Medium\", 100: \"High\"})'),\n \n // QR Code / Barcode field config\n // Note: qrErrorCorrection is only applicable when barcodeFormat='qr'\n // Runtime validation should enforce this constraint\n barcodeFormat: z.enum(['qr', 'ean13', 'ean8', 'code128', 'code39', 'upca', 'upce']).optional().describe('Barcode format type'),\n qrErrorCorrection: z.enum(['L', 'M', 'Q', 'H']).optional().describe('QR code error correction level (L=7%, M=15%, Q=25%, H=30%). Only applicable when barcodeFormat is \"qr\"'),\n displayValue: z.boolean().optional().describe('Display human-readable value below barcode/QR code'),\n allowScanning: z.boolean().optional().describe('Enable camera scanning for barcode/QR code input'),\n\n // Currency field config\n currencyConfig: CurrencyConfigSchema.optional().describe('Configuration for currency field type'),\n\n // Vector field config\n vectorConfig: VectorConfigSchema.optional().describe('Configuration for vector field type (AI/ML embeddings)'),\n\n // File attachment field config\n fileAttachmentConfig: FileAttachmentConfigSchema.optional().describe('Configuration for file and attachment field types'),\n\n /** Enhanced Security & Compliance */\n // Encryption configuration\n encryptionConfig: EncryptionConfigSchema.optional().describe('Field-level encryption configuration for sensitive data (GDPR/HIPAA/PCI-DSS)'),\n \n // Data masking rules\n maskingRule: MaskingRuleSchema.optional().describe('Data masking rules for PII protection'),\n \n // Audit trail\n auditTrail: z.boolean().default(false).describe('Enable detailed audit trail for this field (tracks all changes with user and timestamp)'),\n \n /** Field Dependencies & Relationships */\n // Field dependencies\n dependencies: z.array(z.string()).optional().describe('Array of field names that this field depends on (for formulas, visibility rules, etc.)'),\n \n /** Computed Field Optimization */\n // Computed field caching\n cached: ComputedFieldCacheSchema.optional().describe('Caching configuration for computed/formula fields'),\n \n /** Data Quality & Governance */\n // Data quality rules\n dataQuality: DataQualityRulesSchema.optional().describe('Data quality validation and monitoring rules'),\n\n /** Layout & Grouping */\n group: z.string().optional().describe('Field group name for organizing fields in forms and layouts (e.g., \"contact_info\", \"billing\", \"system\")'),\n\n /** Conditional Requirements */\n conditionalRequired: z.string().optional().describe('Formula expression that makes this field required when TRUE (e.g., \"status = \\'closed_won\\'\")'),\n\n /** Security & Visibility */\n hidden: z.boolean().default(false).describe('Hidden from default UI'),\n readonly: z.boolean().default(false).describe('Read-only in UI'),\n sortable: z.boolean().optional().default(true).describe('Whether field is sortable in list views'),\n inlineHelpText: z.string().optional().describe('Help text displayed below the field in forms'),\n trackFeedHistory: z.boolean().optional().describe('Track field changes in Chatter/activity feed (Salesforce pattern)'),\n caseSensitive: z.boolean().optional().describe('Whether text comparisons are case-sensitive'),\n autonumberFormat: z.string().optional().describe('Auto-number display format pattern (e.g., \"CASE-{0000}\")'),\n /** Indexing */\n index: z.boolean().default(false).describe('Create standard database index'),\n externalId: z.boolean().default(false).describe('Is external ID for upsert operations'),\n});\n\nexport type Field = z.infer<typeof FieldSchema>;\nexport type SelectOption = z.infer<typeof SelectOptionSchema>;\nexport type LocationCoordinates = z.infer<typeof LocationCoordinatesSchema>;\nexport type Address = z.infer<typeof AddressSchema>;\nexport type CurrencyConfig = z.infer<typeof CurrencyConfigSchema>;\nexport type CurrencyConfigInput = z.input<typeof CurrencyConfigSchema>;\nexport type CurrencyValue = z.infer<typeof CurrencyValueSchema>;\nexport type VectorConfig = z.infer<typeof VectorConfigSchema>;\nexport type VectorConfigInput = z.input<typeof VectorConfigSchema>;\nexport type FileAttachmentConfig = z.infer<typeof FileAttachmentConfigSchema>;\nexport type FileAttachmentConfigInput = z.input<typeof FileAttachmentConfigSchema>;\nexport type DataQualityRules = z.infer<typeof DataQualityRulesSchema>;\nexport type DataQualityRulesInput = z.input<typeof DataQualityRulesSchema>;\nexport type ComputedFieldCache = z.infer<typeof ComputedFieldCacheSchema>;\n\n/**\n * Field Factory Helper\n */\nexport type FieldInput = Omit<Partial<Field>, 'type'>;\n\nexport const Field = {\n text: (config: FieldInput = {}) => ({ type: 'text', ...config } as const),\n textarea: (config: FieldInput = {}) => ({ type: 'textarea', ...config } as const),\n number: (config: FieldInput = {}) => ({ type: 'number', ...config } as const),\n boolean: (config: FieldInput = {}) => ({ type: 'boolean', ...config } as const),\n date: (config: FieldInput = {}) => ({ type: 'date', ...config } as const),\n datetime: (config: FieldInput = {}) => ({ type: 'datetime', ...config } as const),\n currency: (config: FieldInput = {}) => ({ type: 'currency', ...config } as const),\n percent: (config: FieldInput = {}) => ({ type: 'percent', ...config } as const),\n url: (config: FieldInput = {}) => ({ type: 'url', ...config } as const),\n email: (config: FieldInput = {}) => ({ type: 'email', ...config } as const),\n phone: (config: FieldInput = {}) => ({ type: 'phone', ...config } as const),\n image: (config: FieldInput = {}) => ({ type: 'image', ...config } as const),\n file: (config: FieldInput = {}) => ({ type: 'file', ...config } as const),\n avatar: (config: FieldInput = {}) => ({ type: 'avatar', ...config } as const),\n formula: (config: FieldInput = {}) => ({ type: 'formula', ...config } as const),\n summary: (config: FieldInput = {}) => ({ type: 'summary', ...config } as const),\n autonumber: (config: FieldInput = {}) => ({ type: 'autonumber', ...config } as const),\n markdown: (config: FieldInput = {}) => ({ type: 'markdown', ...config } as const),\n html: (config: FieldInput = {}) => ({ type: 'html', ...config } as const),\n password: (config: FieldInput = {}) => ({ type: 'password', ...config } as const),\n \n /**\n * Select field helper with backward-compatible API\n * \n * Automatically converts option values to lowercase to enforce naming conventions.\n * \n * @example Old API (array first) - auto-converts to lowercase\n * Field.select(['High', 'Low'], { label: 'Priority' })\n * // Results in: [{ label: 'High', value: 'high' }, { label: 'Low', value: 'low' }]\n * \n * @example New API (config object) - enforces lowercase\n * Field.select({ options: [{label: 'High', value: 'high'}], label: 'Priority' })\n * \n * @example Multi-word values - converts to snake_case\n * Field.select(['In Progress', 'Closed Won'], { label: 'Status' })\n * // Results in: [{ label: 'In Progress', value: 'in_progress' }, { label: 'Closed Won', value: 'closed_won' }]\n */\n select: (optionsOrConfig: SelectOption[] | string[] | FieldInput & { options: SelectOption[] | string[] }, config?: FieldInput) => {\n // Helper function to convert string to lowercase snake_case\n const toSnakeCase = (str: string): string => {\n return str\n .toLowerCase()\n .replace(/\\s+/g, '_') // Replace spaces with underscores\n .replace(/[^a-z0-9_]/g, ''); // Remove invalid characters (keeping underscores only)\n };\n\n // Support both old and new signatures:\n // Old: Field.select(['a', 'b'], { label: 'X' })\n // New: Field.select({ options: [{label: 'A', value: 'a'}], label: 'X' })\n let options: SelectOption[];\n let finalConfig: FieldInput;\n \n if (Array.isArray(optionsOrConfig)) {\n // Old signature: array as first param\n options = optionsOrConfig.map(o => \n typeof o === 'string' \n ? { label: o, value: toSnakeCase(o) } // Auto-convert string to snake_case\n : { ...o, value: o.value.toLowerCase() } // Ensure value is lowercase\n );\n finalConfig = config || {};\n } else {\n // New signature: config object with options\n options = (optionsOrConfig.options || []).map(o => \n typeof o === 'string' \n ? { label: o, value: toSnakeCase(o) } // Auto-convert string to snake_case\n : { ...o, value: o.value.toLowerCase() } // Ensure value is lowercase\n );\n // Remove options from config to avoid confusion\n const { options: _, ...restConfig } = optionsOrConfig;\n finalConfig = restConfig;\n }\n \n return { type: 'select', options, ...finalConfig } as const;\n },\n\n \n lookup: (reference: string, config: FieldInput = {}) => ({ \n type: 'lookup', \n reference, \n ...config \n } as const),\n \n masterDetail: (reference: string, config: FieldInput = {}) => ({ \n type: 'master_detail', \n reference, \n ...config \n } as const),\n\n // Enhanced Field Type Helpers\n location: (config: FieldInput = {}) => ({ \n type: 'location', \n ...config \n } as const),\n \n address: (config: FieldInput = {}) => ({ \n type: 'address', \n ...config \n } as const),\n \n richtext: (config: FieldInput = {}) => ({ \n type: 'richtext', \n ...config \n } as const),\n \n code: (language?: string, config: FieldInput = {}) => ({ \n type: 'code', \n language,\n ...config \n } as const),\n \n color: (config: FieldInput = {}) => ({ \n type: 'color', \n ...config \n } as const),\n \n rating: (maxRating: number = 5, config: FieldInput = {}) => ({ \n type: 'rating', \n maxRating,\n ...config \n } as const),\n \n signature: (config: FieldInput = {}) => ({ \n type: 'signature', \n ...config \n } as const),\n \n slider: (config: FieldInput = {}) => ({ \n type: 'slider', \n ...config \n } as const),\n \n qrcode: (config: FieldInput = {}) => ({ \n type: 'qrcode', \n ...config \n } as const),\n \n vector: (dimensions: number, config: FieldInput = {}) => ({ \n type: 'vector', \n vectorConfig: {\n dimensions,\n distanceMetric: 'cosine' as const,\n normalized: false,\n indexed: true,\n ...config.vectorConfig\n },\n ...config \n } as const),\n};\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { FieldType } from '../data/field.zod';\nimport { SnakeCaseIdentifierSchema } from '../shared/identifiers.zod';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.zod';\n\n/**\n * Action Parameter Schema\n * Defines inputs required before executing an action.\n */\nexport const ActionParamSchema = z.object({\n name: z.string(),\n label: I18nLabelSchema,\n type: FieldType,\n required: z.boolean().default(false),\n options: z.array(z.object({ label: I18nLabelSchema, value: z.string() })).optional(),\n});\n\n/**\n * Action Schema\n * \n * **NAMING CONVENTION:**\n * Action names are machine identifiers used in code and must be lowercase snake_case.\n * \n * @example Good action names\n * - 'on_close_deal'\n * - 'send_welcome_email'\n * - 'approve_contract'\n * - 'export_report'\n * \n * @example Bad action names (will be rejected)\n * - 'OnCloseDeal' (PascalCase)\n * - 'sendEmail' (camelCase)\n * - 'Send Email' (spaces)\n * \n * Note: The action name is the configuration ID. JavaScript function names can use camelCase,\n * but the metadata ID must be lowercase snake_case.\n */\nexport const ActionSchema = z.object({\n /** Machine name of the action */\n name: SnakeCaseIdentifierSchema.describe('Machine name (lowercase snake_case)'),\n \n /** Display label */\n label: I18nLabelSchema.describe('Display label'),\n \n /** Icon name (Lucide) */\n icon: z.string().optional().describe('Icon name'),\n\n /** Where does this action appear? */\n locations: z.array(z.enum([\n 'list_toolbar', 'list_item', \n 'record_header', 'record_more', 'record_related',\n 'global_nav'\n ])).optional().describe('Locations where this action is visible'),\n\n /** \n * Visual Component Type\n * Defaults to 'button' or 'menu_item' based on location,\n * but can be overridden.\n */\n component: z.enum([\n 'action:button', // Standard Button\n 'action:icon', // Icon only\n 'action:menu', // Dropdown menu\n 'action:group' // Button Group\n ]).optional().describe('Visual component override'),\n \n /** What type of interaction? */\n type: z.enum(['script', 'url', 'modal', 'flow', 'api']).default('script').describe('Action functionality type'),\n \n /** Payload / Target */\n target: z.string().optional().describe('URL, Script Name, Flow ID, or API Endpoint'), // For URL/Flow types\n execute: z.string().optional().describe('Legacy execution logic'),\n \n /** User Input Requirements */\n params: z.array(ActionParamSchema).optional().describe('Input parameters required from user'),\n \n /** Visual Style */\n variant: z.enum(['primary', 'secondary', 'danger', 'ghost', 'link']).optional().describe('Button visual variant for styling (primary = highlighted, danger = destructive, ghost = transparent)'),\n\n /** UX Behavior */\n confirmText: I18nLabelSchema.optional().describe('Confirmation message before execution'),\n successMessage: I18nLabelSchema.optional().describe('Success message to show after execution'),\n refreshAfter: z.boolean().default(false).describe('Refresh view after execution'),\n \n /** Access */\n visible: z.string().optional().describe('Formula returning boolean'),\n disabled: z.union([z.boolean(), z.string()]).optional().describe('Whether the action is disabled, or a condition expression string'),\n\n /** Keyboard Shortcut */\n shortcut: z.string().optional().describe('Keyboard shortcut to trigger this action (e.g., \"Ctrl+S\")'),\n\n /** Bulk Operations */\n bulkEnabled: z.boolean().optional().describe('Whether this action can be applied to multiple selected records'),\n\n /** Execution */\n timeout: z.number().optional().describe('Maximum execution time in milliseconds for the action'),\n\n /** ARIA accessibility attributes */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\nexport type Action = z.infer<typeof ActionSchema>;\nexport type ActionParam = z.infer<typeof ActionParamSchema>;\nexport type ActionInput = z.input<typeof ActionSchema>;\n\n/**\n * Action Factory Helper\n */\nexport const Action = {\n create: (config: z.input<typeof ActionSchema>): Action => ActionSchema.parse(config),\n} as const;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n// ============================================================================\n// Shared Enumerations\n// ============================================================================\n\n/** Aggregation functions used across query, data-engine, analytics, field */\nexport const AggregationFunctionEnum = z.enum([\n 'count', 'sum', 'avg', 'min', 'max',\n 'count_distinct', 'percentile', 'median', 'stddev', 'variance',\n]).describe('Standard aggregation functions');\nexport type AggregationFunction = z.infer<typeof AggregationFunctionEnum>;\n\n/** Sort direction used across query, data-engine, analytics */\nexport const SortDirectionEnum = z.enum(['asc', 'desc'])\n .describe('Sort order direction');\nexport type SortDirection = z.infer<typeof SortDirectionEnum>;\n\n/** Reusable sort item — field + direction pair used across views, data sources, filters */\nexport const SortItemSchema = z.object({\n field: z.string().describe('Field name to sort by'),\n order: SortDirectionEnum.describe('Sort direction'),\n}).describe('Sort field and direction pair');\nexport type SortItem = z.infer<typeof SortItemSchema>;\n\n/** CRUD mutation events used across hook, validation, object CDC */\nexport const MutationEventEnum = z.enum([\n 'insert', 'update', 'delete', 'upsert',\n]).describe('Data mutation event types');\nexport type MutationEvent = z.infer<typeof MutationEventEnum>;\n\n/** Database isolation levels — unified format */\nexport const IsolationLevelEnum = z.enum([\n 'read_uncommitted', 'read_committed', 'repeatable_read', 'serializable', 'snapshot',\n]).describe('Transaction isolation levels (snake_case standard)');\nexport type IsolationLevel = z.infer<typeof IsolationLevelEnum>;\n\n/** Cache eviction strategies */\nexport const CacheStrategyEnum = z.enum(['lru', 'lfu', 'ttl', 'fifo'])\n .describe('Cache eviction strategy');\nexport type CacheStrategy = z.infer<typeof CacheStrategyEnum>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { SnakeCaseIdentifierSchema } from '../shared/identifiers.zod';\nimport { SortItemSchema } from '../shared/enums.zod';\nimport { FilterConditionSchema } from '../data/filter.zod';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.zod';\nimport { ResponsiveConfigSchema } from './responsive.zod';\nimport {\n UserActionsConfigSchema,\n AppearanceConfigSchema,\n ViewTabSchema,\n ViewFilterRuleSchema,\n AddRecordConfigSchema,\n} from './view.zod';\n\n/**\n * Page Region Schema\n * A named region in the template where components are dropped.\n */\nexport const PageRegionSchema = z.object({\n name: z.string().describe('Region name (e.g. \"sidebar\", \"main\", \"header\")'),\n width: z.enum(['small', 'medium', 'large', 'full']).optional(),\n components: z.array(z.lazy(() => PageComponentSchema)).describe('Components in this region')\n});\n\n/**\n * Standard Page Component Types\n */\nexport const PageComponentType = z.enum([\n // Structure\n 'page:header', 'page:footer', 'page:sidebar', 'page:tabs', 'page:accordion', 'page:card', 'page:section',\n // Record Context\n 'record:details', 'record:highlights', 'record:related_list', 'record:activity', 'record:chatter', 'record:path',\n // Navigation\n 'app:launcher', 'nav:menu', 'nav:breadcrumb',\n // Utility\n 'global:search', 'global:notifications', 'user:profile',\n // AI\n 'ai:chat_window', 'ai:suggestion',\n // Content Elements (Airtable Interface parity)\n 'element:text', 'element:number', 'element:image', 'element:divider',\n // Interactive Elements (Phase B — Element Library)\n 'element:button', 'element:filter', 'element:form', 'element:record_picker'\n]);\n\n/**\n * Element Data Source Schema\n * Per-element data binding for multi-object pages.\n * Overrides page-level object context so each element can query a different object.\n */\nexport const ElementDataSourceSchema = z.object({\n object: z.string().describe('Object to query'),\n view: z.string().optional().describe('Named view to apply'),\n filter: FilterConditionSchema.optional().describe('Additional filter criteria'),\n sort: z.array(SortItemSchema).optional().describe('Sort order'),\n limit: z.number().int().positive().optional().describe('Max records to display'),\n});\n\n/**\n * Page Component Schema\n * A configured instance of a UI component.\n */\nexport const PageComponentSchema = z.object({\n /** Definition */\n type: z.union([\n PageComponentType,\n z.string()\n ]).describe('Component Type (Standard enum or custom string)'),\n id: z.string().optional().describe('Unique instance ID'),\n \n /** Configuration */\n label: I18nLabelSchema.optional(),\n properties: z.record(z.string(), z.unknown()).describe('Component props passed to the widget. See component.zod.ts for schemas.'),\n \n /** \n * Event Handlers \n * Map event names to Action expressions.\n * \"onClick\": \"set_variable('userId', $event.id)\"\n * \"onRowSelect\": \"navigate_to('page_detail', { id: $event.id })\"\n */\n events: z.record(z.string(), z.string()).optional().describe('Event handlers map'),\n\n /** Appearance */\n style: z.record(z.string(), z.string()).optional().describe('Inline styles or utility classes'),\n className: z.string().optional().describe('CSS class names'),\n\n /** Visibility Rule */\n visibility: z.string().optional().describe('Visibility filter/formula'),\n\n /** Per-element data binding, overrides page-level object context */\n dataSource: ElementDataSourceSchema.optional().describe('Per-element data binding for multi-object pages'),\n\n /** Responsive layout overrides per breakpoint */\n responsive: ResponsiveConfigSchema.optional().describe('Responsive layout configuration'),\n\n /** ARIA accessibility attributes */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\n/**\n * Page Variable Schema\n * Defines local state for the page.\n * Variables can be bound to interactive elements (e.g. element:record_picker, element:filter).\n */\nexport const PageVariableSchema = z.object({\n name: z.string().describe('Variable name'),\n type: z.enum(['string', 'number', 'boolean', 'object', 'array', 'record_id']).default('string'),\n defaultValue: z.unknown().optional(),\n /** Source element binding (e.g. element:record_picker writes to this variable) */\n source: z.string().optional().describe('Component ID that writes to this variable'),\n});\n\n/**\n * Blank Page Layout Item Schema\n * Positions a component on a free-form grid canvas.\n */\nexport const BlankPageLayoutItemSchema = z.object({\n componentId: z.string().describe('Reference to a PageComponent.id in the page'),\n x: z.number().int().min(0).describe('Grid column position (0-based)'),\n y: z.number().int().min(0).describe('Grid row position (0-based)'),\n width: z.number().int().min(1).describe('Width in grid columns'),\n height: z.number().int().min(1).describe('Height in grid rows'),\n});\n\n/**\n * Blank Page Layout Schema\n * Free-form canvas composition with grid-based positioning.\n * Used when page type is 'blank' to enable drag-and-drop element placement.\n */\nexport const BlankPageLayoutSchema = z.object({\n columns: z.number().int().min(1).default(12).describe('Number of grid columns'),\n rowHeight: z.number().int().min(1).default(40).describe('Height of each grid row in pixels'),\n gap: z.number().int().min(0).default(8).describe('Gap between grid items in pixels'),\n items: z.array(BlankPageLayoutItemSchema).describe('Positioned components on the canvas'),\n});\n\n/**\n * Page Type Schema\n * Unified page type enum covering both platform pages (Salesforce FlexiPage style)\n * and Airtable-inspired interface page types.\n *\n * **Disambiguation of similar types:**\n * - `record` vs `record_detail`: `record` is a component-based layout page (FlexiPage style with regions),\n * `record_detail` is a field-display page showing all fields of a single record (Airtable style).\n * Use `record` for custom record pages with regions/components, `record_detail` for auto-generated detail views.\n * - `home` vs `overview`: `home` is the platform-level landing page (tab landing),\n * `overview` is an interface-level navigation hub with links/instructions.\n * Use `home` for app-level landing, `overview` for in-interface navigation hubs.\n * - `app` vs `utility` vs `blank`: `app` is an app-level page with navigation context,\n * `utility` is a floating utility panel (e.g. notes, phone), `blank` is a free-form canvas\n * for custom composition. They serve distinct layout purposes.\n */\nexport const PageTypeSchema = z.enum([\n // Platform page types (Salesforce FlexiPage style)\n 'record', // Component-based record layout page with regions\n 'home', // Platform-level home/landing page\n 'app', // App-level page with navigation context\n 'utility', // Floating utility panel (e.g. notes, phone dialer)\n // Interface page types (Airtable Interface parity)\n 'dashboard', // KPI summary with charts/metrics\n 'grid', // Spreadsheet-like data table\n 'list', // Record list with quick actions\n 'gallery', // Card-based visual browsing\n 'kanban', // Status-based board\n 'calendar', // Date-based scheduling\n 'timeline', // Gantt-like project timeline\n 'form', // Data entry form\n 'record_detail', // Auto-generated single record field display\n 'record_review', // Sequential record review/approval\n 'overview', // Interface-level navigation/landing hub\n 'blank', // Free-form canvas for custom composition\n]).describe('Page type — platform or interface page types');\n\n/**\n * Record Review Config Schema\n * Configuration for a sequential record review/approval page.\n * Users navigate through records one-by-one, taking actions (approve/reject/skip).\n * Only applicable when page type is 'record_review'.\n */\nexport const RecordReviewConfigSchema = z.object({\n object: z.string().describe('Target object for review'),\n filter: FilterConditionSchema.optional().describe('Filter criteria for review queue'),\n sort: z.array(SortItemSchema).optional().describe('Sort order for review queue'),\n displayFields: z.array(z.string()).optional()\n .describe('Fields to display on the review page'),\n actions: z.array(z.object({\n label: z.string().describe('Action button label'),\n type: z.enum(['approve', 'reject', 'skip', 'custom'])\n .describe('Action type'),\n field: z.string().optional()\n .describe('Field to update on action'),\n value: z.union([z.string(), z.number(), z.boolean()]).optional()\n .describe('Value to set on action'),\n nextRecord: z.boolean().optional().default(true)\n .describe('Auto-advance to next record after action'),\n })).describe('Review actions'),\n navigation: z.enum(['sequential', 'random', 'filtered'])\n .optional().default('sequential')\n .describe('Record navigation mode'),\n showProgress: z.boolean().optional().default(true)\n .describe('Show review progress indicator'),\n});\n\n/**\n * Interface Page Configuration Schema (Airtable Interface parity)\n * Page-level declarative configuration for Airtable-style interface pages.\n * Covers title/data binding, levels, filter by, appearance, user actions,\n * tabs, record count, add record, and advanced options (printing).\n *\n * @see Airtable Interface → right panel (Page / Data / Appearance / User filters / User actions / Advanced)\n */\nexport const InterfacePageConfigSchema = z.object({\n /** Data binding */\n source: z.string().optional().describe('Source object name for the page'),\n levels: z.number().int().min(1).optional().describe('Number of hierarchy levels to display'),\n filterBy: z.array(ViewFilterRuleSchema).optional().describe('Page-level filter criteria'),\n\n /** Appearance */\n appearance: AppearanceConfigSchema.optional().describe('Appearance and visualization configuration'),\n\n /** User filters */\n userFilters: z.object({\n elements: z.array(z.enum(['grid', 'gallery', 'kanban'])).optional()\n .describe('Visualization element types available in user filter bar'),\n tabs: z.array(ViewTabSchema).optional().describe('User-configurable tabs'),\n }).optional().describe('User filter configuration'),\n\n /** User actions */\n userActions: UserActionsConfigSchema.optional().describe('User action toggles'),\n\n /** Add record */\n addRecord: AddRecordConfigSchema.optional().describe('Add record entry point configuration'),\n\n /** Record count */\n showRecordCount: z.boolean().optional().describe('Show record count at page bottom'),\n\n /** Advanced */\n allowPrinting: z.boolean().optional().describe('Allow users to print the page'),\n}).describe('Interface-level page configuration (Airtable parity)');\n\n/**\n * Page Schema\n * Defines a composition of components for a specific context.\n * Supports both platform pages (Salesforce FlexiPage style: record, home, app, utility)\n * and interface pages (Airtable Interface style: dashboard, grid, kanban, record_review, etc.).\n * \n * **NAMING CONVENTION:**\n * Page names are used in routing and must be lowercase snake_case.\n * Prefix with 'page_' is recommended for clarity.\n * \n * @example Good page names\n * - 'page_dashboard'\n * - 'page_settings'\n * - 'home_page'\n * - 'record_detail'\n * \n * @example Bad page names (will be rejected)\n * - 'PageDashboard' (PascalCase)\n * - 'Settings Page' (spaces)\n */\nexport const PageSchema = z.object({\n name: SnakeCaseIdentifierSchema.describe('Page unique name (lowercase snake_case)'),\n label: I18nLabelSchema,\n description: I18nLabelSchema.optional(),\n\n /** Icon (used in interface navigation) */\n icon: z.string().optional().describe('Page icon name'),\n \n /** Page Type */\n type: PageTypeSchema.default('record').describe('Page type'),\n \n /** Page State Definitions */\n variables: z.array(PageVariableSchema).optional().describe('Local page state variables'),\n\n /** Context */\n object: z.string().optional().describe('Bound object (for Record pages)'),\n\n /** Record Review Configuration (only for record_review pages) */\n recordReview: RecordReviewConfigSchema.optional()\n .describe('Record review configuration (required when type is \"record_review\")'),\n\n /** Blank Page Layout (only for blank pages) */\n blankLayout: BlankPageLayoutSchema.optional()\n .describe('Free-form grid layout for blank pages (used when type is \"blank\")'),\n \n /** Layout Template */\n template: z.string().default('default').describe('Layout template name (e.g. \"header-sidebar-main\")'),\n \n /** Regions & Content */\n regions: z.array(PageRegionSchema).describe('Defined regions with components'),\n \n /** Activation */\n isDefault: z.boolean().default(false),\n assignedProfiles: z.array(z.string()).optional(),\n\n /** Interface Page Configuration (Airtable Interface parity) */\n interfaceConfig: InterfacePageConfigSchema.optional()\n .describe('Interface-level page configuration (for Airtable-style interface pages)'),\n\n /** ARIA accessibility attributes */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n}).superRefine((data, ctx) => {\n if (data.type === 'record_review' && !data.recordReview) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['recordReview'],\n message: 'recordReview is required when type is \"record_review\"',\n });\n }\n if (data.type === 'blank' && !data.blankLayout) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['blankLayout'],\n message: 'blankLayout is required when type is \"blank\"',\n });\n }\n});\n\nexport type Page = z.infer<typeof PageSchema>;\nexport type PageType = z.infer<typeof PageTypeSchema>;\nexport type PageComponent = z.infer<typeof PageComponentSchema>;\nexport type PageRegion = z.infer<typeof PageRegionSchema>;\nexport type PageVariable = z.infer<typeof PageVariableSchema>;\nexport type ElementDataSource = z.infer<typeof ElementDataSourceSchema>;\nexport type RecordReviewConfig = z.infer<typeof RecordReviewConfigSchema>;\nexport type BlankPageLayoutItem = z.infer<typeof BlankPageLayoutItemSchema>;\nexport type BlankPageLayout = z.infer<typeof BlankPageLayoutSchema>;\nexport type InterfacePageConfig = z.infer<typeof InterfacePageConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { FieldSchema } from '../data/field.zod';\nimport { SnakeCaseIdentifierSchema } from '../shared/identifiers.zod';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.zod';\nimport { PerformanceConfigSchema } from './responsive.zod';\n\n/**\n * Widget Lifecycle Hooks Schema\n * \n * Defines lifecycle callbacks for custom widgets inspired by Web Components and React.\n * These hooks allow widgets to perform initialization, cleanup, and respond to changes.\n * \n * @see https://developer.mozilla.org/en-US/docs/Web/API/Web_components\n * @see https://react.dev/reference/react/Component#component-lifecycle\n * \n * @example\n * ```typescript\n * const widget = {\n * lifecycle: {\n * onMount: \"console.log('Widget mounted')\",\n * onUpdate: \"if (prevProps.value !== props.value) { updateUI() }\",\n * onUnmount: \"cleanup()\",\n * onValidate: \"return value.length > 0 ? null : 'Required field'\"\n * }\n * }\n * ```\n */\nexport const WidgetLifecycleSchema = z.object({\n /**\n * Called when widget is mounted/rendered for the first time\n * Use for initialization, setting up event listeners, loading data, etc.\n * \n * @example \"initializeDatePicker(); loadOptions();\"\n */\n onMount: z.string().optional().describe('Initialization code when widget mounts'),\n\n /**\n * Called when widget props change\n * Receives previous props for comparison\n * \n * @example \"if (prevProps.value !== props.value) { updateDisplay() }\"\n */\n onUpdate: z.string().optional().describe('Code to run when props change'),\n\n /**\n * Called when widget is about to be removed from DOM\n * Use for cleanup, removing event listeners, canceling timers, etc.\n * \n * @example \"destroyDatePicker(); cancelPendingRequests();\"\n */\n onUnmount: z.string().optional().describe('Cleanup code when widget unmounts'),\n\n /**\n * Custom validation logic for this widget\n * Should return error message string if invalid, null/undefined if valid\n * \n * @example \"return value && value.length >= 10 ? null : 'Minimum 10 characters'\"\n */\n onValidate: z.string().optional().describe('Custom validation logic'),\n\n /**\n * Called when widget receives focus\n * \n * @example \"highlightField(); logFocusEvent();\"\n */\n onFocus: z.string().optional().describe('Code to run on focus'),\n\n /**\n * Called when widget loses focus\n * \n * @example \"validateField(); saveFieldState();\"\n */\n onBlur: z.string().optional().describe('Code to run on blur'),\n\n /**\n * Called on any error in the widget\n * \n * @example \"logError(error); showErrorNotification();\"\n */\n onError: z.string().optional().describe('Error handling code'),\n});\n\nexport type WidgetLifecycle = z.infer<typeof WidgetLifecycleSchema>;\n\n/**\n * Widget Event Schema\n * \n * Defines custom events that widgets can emit, inspired by DOM Events and Lightning Web Components.\n * \n * @see https://developer.mozilla.org/en-US/docs/Web/Events/Creating_and_triggering_events\n * @see https://developer.salesforce.com/docs/component-library/documentation/en/lwc/lwc.events\n * \n * @example\n * ```typescript\n * const searchEvent = {\n * name: 'search',\n * bubbles: true,\n * cancelable: false,\n * payload: {\n * query: 'string',\n * filters: 'object'\n * }\n * }\n * ```\n */\nexport const WidgetEventSchema = z.object({\n /**\n * Event name\n * Should be lowercase, dash-separated for consistency\n * \n * @example \"value-change\", \"item-selected\", \"search-complete\"\n */\n name: z.string().describe('Event name'),\n\n /**\n * Event label for documentation\n */\n label: I18nLabelSchema.optional().describe('Human-readable event label'),\n\n /**\n * Event description\n */\n description: I18nLabelSchema.optional().describe('Event description and usage'),\n\n /**\n * Whether event bubbles up through the DOM hierarchy\n * \n * @default false\n */\n bubbles: z.boolean().default(false).describe('Whether event bubbles'),\n\n /**\n * Whether event can be cancelled\n * \n * @default false\n */\n cancelable: z.boolean().default(false).describe('Whether event is cancelable'),\n\n /**\n * Event payload schema\n * Defines the data structure sent with the event\n * \n * @example { userId: 'string', timestamp: 'number' }\n */\n payload: z.record(z.string(), z.unknown()).optional().describe('Event payload schema'),\n});\n\nexport type WidgetEvent = z.infer<typeof WidgetEventSchema>;\n\n/**\n * Widget Property Definition Schema\n * \n * Defines the contract for widget configuration properties.\n * Inspired by React PropTypes and Web Component attributes.\n * \n * @see https://react.dev/reference/react/Component#static-proptypes\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements\n * \n * @example\n * ```typescript\n * const widgetProps = {\n * maxLength: {\n * type: 'number',\n * required: false,\n * default: 100,\n * description: 'Maximum input length'\n * }\n * }\n * ```\n */\nexport const WidgetPropertySchema = z.object({\n /**\n * Property name\n * Should be camelCase following ObjectStack conventions\n */\n name: z.string().describe('Property name (camelCase)'),\n\n /**\n * Property label for UI\n */\n label: I18nLabelSchema.optional().describe('Human-readable label'),\n\n /**\n * Property data type\n * \n * @example \"string\", \"number\", \"boolean\", \"array\", \"object\", \"function\"\n */\n type: z.enum(['string', 'number', 'boolean', 'array', 'object', 'function', 'any'])\n .describe('TypeScript type'),\n\n /**\n * Whether property is required\n * \n * @default false\n */\n required: z.boolean().default(false).describe('Whether property is required'),\n\n /**\n * Default value for the property\n */\n default: z.unknown().optional().describe('Default value'),\n\n /**\n * Property description\n */\n description: I18nLabelSchema.optional().describe('Property description'),\n\n /**\n * Property validation schema\n * Can include min/max, regex, enum values, etc.\n */\n validation: z.record(z.string(), z.unknown()).optional().describe('Validation rules'),\n\n /**\n * Property category for grouping in UI\n */\n category: z.string().optional().describe('Property category'),\n});\n\nexport type WidgetProperty = z.infer<typeof WidgetPropertySchema>;\n\n/**\n * Widget Manifest Schema\n * \n * Complete definition for a custom widget including metadata, lifecycle, events, and props.\n * This is used for widget registration and discovery.\n * \n * @example\n * ```typescript\n * const customWidget = {\n * name: 'custom_date_picker',\n * label: 'Custom Date Picker',\n * version: '1.0.0',\n * author: 'Company Name',\n * fieldTypes: ['date', 'datetime'],\n * lifecycle: { ... },\n * events: [ ... ],\n * properties: [ ... ]\n * }\n * ```\n */\n/**\n * Widget Source Schema\n * Defines how the widget code is loaded.\n */\nexport const WidgetSourceSchema = z.discriminatedUnion('type', [\n // NPM Registry (standard)\n z.object({\n type: z.literal('npm'),\n packageName: z.string().describe('NPM package name'),\n version: z.string().default('latest'),\n exportName: z.string().optional().describe('Named export (default: default)'),\n }),\n // Module Federation (Remote)\n z.object({\n type: z.literal('remote'),\n url: z.string().url().describe('Remote entry URL (.js)'),\n moduleName: z.string().describe('Exposed module name'),\n scope: z.string().describe('Remote scope name'),\n }),\n // Inline Code (Simple scripts)\n z.object({\n type: z.literal('inline'),\n code: z.string().describe('JavaScript code body'),\n }),\n]);\n\nexport type WidgetSource = z.infer<typeof WidgetSourceSchema>;\n\nexport const WidgetManifestSchema = z.object({\n /**\n * Widget identifier (snake_case)\n */\n name: SnakeCaseIdentifierSchema\n .describe('Widget identifier (snake_case)'),\n\n /**\n * Human-readable widget name\n */\n label: I18nLabelSchema.describe('Widget display name'),\n\n /**\n * Widget description\n */\n description: I18nLabelSchema.optional().describe('Widget description'),\n\n /**\n * Widget version (semver)\n */\n version: z.string().optional().describe('Widget version (semver)'),\n\n /**\n * Widget author/organization\n */\n author: z.string().optional().describe('Widget author'),\n\n /**\n * Icon name or URL\n */\n icon: z.string().optional().describe('Widget icon'),\n\n /**\n * Field types this widget supports\n * \n * @example [\"text\", \"email\", \"url\"]\n */\n fieldTypes: z.array(z.string()).optional().describe('Supported field types'),\n\n /**\n * Widget category for organization\n */\n category: z.enum(['input', 'display', 'picker', 'editor', 'custom'])\n .default('custom')\n .describe('Widget category'),\n\n /**\n * Widget lifecycle hooks\n */\n lifecycle: WidgetLifecycleSchema.optional().describe('Lifecycle hooks'),\n\n /**\n * Custom events this widget emits\n */\n events: z.array(WidgetEventSchema).optional().describe('Custom events'),\n\n /**\n * Widget configuration properties\n */\n properties: z.array(WidgetPropertySchema).optional().describe('Configuration properties'),\n\n /**\n * Widget implementation\n * Defines how to load the widget code\n */\n implementation: WidgetSourceSchema.optional().describe('Widget implementation source'),\n\n /**\n * Widget dependencies\n * External libraries or scripts needed\n */\n dependencies: z.array(z.object({\n name: z.string(),\n version: z.string().optional(),\n url: z.string().url().optional(),\n })).optional().describe('Widget dependencies'),\n\n /**\n * Widget screenshots for showcase\n */\n screenshots: z.array(z.string().url()).optional().describe('Screenshot URLs'),\n\n /**\n * Widget documentation URL\n */\n documentation: z.string().url().optional().describe('Documentation URL'),\n\n /**\n * License information\n */\n license: z.string().optional().describe('License (SPDX identifier)'),\n\n /**\n * Tags for discovery\n */\n tags: z.array(z.string()).optional().describe('Tags for categorization'),\n\n /** ARIA accessibility attributes */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n\n /** Performance optimization settings */\n performance: PerformanceConfigSchema.optional().describe('Performance optimization settings'),\n});\n\nexport type WidgetManifest = z.infer<typeof WidgetManifestSchema>;\n\n/**\n * Field Widget Props Schema\n * \n * This defines the contract for custom field components and plugin UI extensions.\n * Third-party developers use this interface to build custom field widgets that integrate\n * seamlessly with the ObjectStack UI system.\n * \n * @example\n * // Custom widget implementation\n * function CustomDatePicker(props: FieldWidgetProps) {\n * const { value, onChange, readonly, required, error, field, record, options } = props;\n * // Widget implementation...\n * }\n */\nexport const FieldWidgetPropsSchema = z.object({\n /**\n * Current field value.\n * Type depends on the field type (string, number, boolean, array, object, etc.)\n */\n value: z.unknown().describe('Current field value'),\n\n /**\n * Callback function to update the field value.\n * Should be called when user interaction changes the value.\n * \n * @param newValue - The new value to set\n */\n onChange: z.function()\n .input(z.tuple([z.unknown()]))\n .output(z.void())\n .describe('Callback to update field value'),\n\n /**\n * Whether the field is in read-only mode.\n * When true, the widget should display the value but not allow editing.\n */\n readonly: z.boolean().default(false).describe('Read-only mode flag'),\n\n /**\n * Whether the field is required.\n * Widget should indicate required state visually and validate accordingly.\n */\n required: z.boolean().default(false).describe('Required field flag'),\n\n /**\n * Validation error message to display.\n * When present, widget should display the error in its UI.\n */\n error: z.string().optional().describe('Validation error message'),\n\n /**\n * Complete field definition from the schema.\n * Contains metadata like type, constraints, options, etc.\n */\n field: FieldSchema.describe('Field schema definition'),\n\n /**\n * The complete record/document being edited.\n * Useful for conditional logic and cross-field dependencies.\n */\n record: z.record(z.string(), z.unknown()).optional().describe('Complete record data'),\n\n /**\n * Custom options passed to the widget.\n * Can contain widget-specific configuration like themes, behaviors, etc.\n */\n options: z.record(z.string(), z.unknown()).optional().describe('Custom widget options'),\n});\n\n/**\n * TypeScript type for Field Widget Props\n */\nexport type FieldWidgetProps = z.infer<typeof FieldWidgetPropsSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Feed Item Type\n * Unified activity types for the record timeline.\n * Covers comments, field changes, tasks, events, and system activities.\n */\nexport const FeedItemType = z.enum([\n 'comment',\n 'field_change',\n 'task',\n 'event',\n 'email',\n 'call',\n 'note',\n 'file',\n 'record_create',\n 'record_delete',\n 'approval',\n 'sharing',\n 'system',\n]);\nexport type FeedItemType = z.infer<typeof FeedItemType>;\n\n/**\n * Mention Schema\n * Represents an @mention within comment body text.\n */\nexport const MentionSchema = z.object({\n type: z.enum(['user', 'team', 'record']).describe('Mention target type'),\n id: z.string().describe('Target ID'),\n name: z.string().describe('Display name for rendering'),\n offset: z.number().int().min(0).describe('Character offset in body text'),\n length: z.number().int().min(1).describe('Length of mention token in body text'),\n});\nexport type Mention = z.infer<typeof MentionSchema>;\n\n/**\n * Field Change Entry Schema\n * Represents a single field-level change within a field_change feed item.\n */\nexport const FieldChangeEntrySchema = z.object({\n field: z.string().describe('Field machine name'),\n fieldLabel: z.string().optional().describe('Field display label'),\n oldValue: z.unknown().optional().describe('Previous value'),\n newValue: z.unknown().optional().describe('New value'),\n oldDisplayValue: z.string().optional().describe('Human-readable old value'),\n newDisplayValue: z.string().optional().describe('Human-readable new value'),\n});\nexport type FieldChangeEntry = z.infer<typeof FieldChangeEntrySchema>;\n\n/**\n * Reaction Schema\n * Represents an emoji reaction on a feed item.\n */\nexport const ReactionSchema = z.object({\n emoji: z.string().describe('Emoji character or shortcode (e.g., \"👍\", \":thumbsup:\")'),\n userIds: z.array(z.string()).describe('Users who reacted'),\n count: z.number().int().min(1).describe('Total reaction count'),\n});\nexport type Reaction = z.infer<typeof ReactionSchema>;\n\n/**\n * Feed Actor Schema\n * Represents the actor who performed the action.\n */\nexport const FeedActorSchema = z.object({\n type: z.enum(['user', 'system', 'service', 'automation']).describe('Actor type'),\n id: z.string().describe('Actor ID'),\n name: z.string().optional().describe('Actor display name'),\n avatarUrl: z.string().url().optional().describe('Actor avatar URL'),\n source: z.string().optional().describe('Source application (e.g., \"Omni\", \"API\", \"Studio\")'),\n});\nexport type FeedActor = z.infer<typeof FeedActorSchema>;\n\n/**\n * Feed Item Visibility\n */\nexport const FeedVisibility = z.enum(['public', 'internal', 'private']);\nexport type FeedVisibility = z.infer<typeof FeedVisibility>;\n\n/**\n * Feed Item Schema\n * A single entry in the unified activity timeline.\n *\n * @example Comment\n * {\n * id: 'feed_001',\n * type: 'comment',\n * object: 'account',\n * recordId: 'rec_123',\n * body: 'Great progress! @jane.doe can you follow up?',\n * mentions: [{ type: 'user', id: 'user_123', name: 'Jane Doe', offset: 17, length: 9 }],\n * actor: { type: 'user', id: 'user_456', name: 'John Smith' },\n * createdAt: '2026-01-15T10:30:00Z',\n * }\n *\n * @example Field Change\n * {\n * id: 'feed_002',\n * type: 'field_change',\n * object: 'account',\n * recordId: 'rec_123',\n * changes: [\n * { field: 'status', oldDisplayValue: 'New', newDisplayValue: 'Active' },\n * { field: 'region', oldDisplayValue: '', newDisplayValue: 'Asia-Pacific' },\n * ],\n * actor: { type: 'user', id: 'user_456', name: 'John Smith' },\n * createdAt: '2026-01-15T10:25:00Z',\n * }\n */\nexport const FeedItemSchema = z.object({\n /** Unique identifier */\n id: z.string().describe('Feed item ID'),\n\n /** Feed item type */\n type: FeedItemType.describe('Activity type'),\n\n /** Target record reference */\n object: z.string().describe('Object name (e.g., \"account\")'),\n recordId: z.string().describe('Record ID this feed item belongs to'),\n\n /** Actor (who performed the action) */\n actor: FeedActorSchema.describe('Who performed this action'),\n\n /** Content (for comments/notes) */\n body: z.string().optional().describe('Rich text body (Markdown supported)'),\n\n /** @Mentions */\n mentions: z.array(MentionSchema).optional().describe('Mentioned users/teams/records'),\n\n /** Field changes (for field_change type) */\n changes: z.array(FieldChangeEntrySchema).optional().describe('Field-level changes'),\n\n /** Reactions */\n reactions: z.array(ReactionSchema).optional().describe('Emoji reactions on this item'),\n\n /** Reply threading */\n parentId: z.string().optional().describe('Parent feed item ID for threaded replies'),\n replyCount: z.number().int().min(0).default(0).describe('Number of replies'),\n\n /** Pin / Star */\n pinned: z.boolean().default(false).describe('Whether the feed item is pinned to the top of the timeline'),\n pinnedAt: z.string().datetime().optional().describe('Timestamp when the item was pinned'),\n pinnedBy: z.string().optional().describe('User ID who pinned the item'),\n starred: z.boolean().default(false).describe('Whether the feed item is starred/bookmarked by the current user'),\n starredAt: z.string().datetime().optional().describe('Timestamp when the item was starred'),\n\n /** Visibility */\n visibility: FeedVisibility.default('public')\n .describe('Visibility: public (all users), internal (team only), private (author + mentioned)'),\n\n /** Timestamps */\n createdAt: z.string().datetime().describe('Creation timestamp'),\n updatedAt: z.string().datetime().optional().describe('Last update timestamp'),\n editedAt: z.string().datetime().optional().describe('When comment was last edited'),\n isEdited: z.boolean().default(false).describe('Whether comment has been edited'),\n});\nexport type FeedItem = z.infer<typeof FeedItemSchema>;\n\n/**\n * Feed Filter Mode\n * Controls which feed item types to display in the timeline.\n */\nexport const FeedFilterMode = z.enum([\n 'all',\n 'comments_only',\n 'changes_only',\n 'tasks_only',\n]);\nexport type FeedFilterMode = z.infer<typeof FeedFilterMode>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { FilterConditionSchema } from '../data/filter.zod';\nimport { ViewFilterRuleSchema } from './view.zod';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.zod';\nimport { FeedItemType, FeedFilterMode } from '../data/feed.zod';\n\n/**\n * Empty Properties Schema\n */\nconst EmptyProps = z.object({});\n\n/**\n * ----------------------------------------------------------------------\n * 1. Structure Components\n * ----------------------------------------------------------------------\n */\n\nexport const PageHeaderProps = z.object({\n title: I18nLabelSchema.describe('Page title'),\n subtitle: I18nLabelSchema.optional().describe('Page subtitle'),\n icon: z.string().optional().describe('Icon name'),\n breadcrumb: z.boolean().default(true).describe('Show breadcrumb'),\n actions: z.array(z.string()).optional().describe('Action IDs to show in header'),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\nexport const PageTabsProps = z.object({\n type: z.enum(['line', 'card', 'pill']).default('line'),\n position: z.enum(['top', 'left']).default('top'),\n items: z.array(z.object({\n label: I18nLabelSchema,\n icon: z.string().optional(),\n children: z.array(z.unknown()).describe('Child components')\n })),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\nexport const PageCardProps = z.object({\n title: I18nLabelSchema.optional(),\n bordered: z.boolean().default(true),\n actions: z.array(z.string()).optional(),\n /** Slot for nested content in the Card body */\n body: z.array(z.unknown()).optional().describe('Card content components (slot)'),\n /** Slot for footer content */\n footer: z.array(z.unknown()).optional().describe('Card footer components (slot)'),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\n/**\n * ----------------------------------------------------------------------\n * 2. Record Context Components\n * ----------------------------------------------------------------------\n */\n\nexport const RecordDetailsProps = z.object({\n columns: z.enum(['1', '2', '3', '4']).default('2').describe('Number of columns for field layout (1-4)'),\n layout: z.enum(['auto', 'custom']).default('auto').describe('Layout mode: auto uses object compactLayout, custom uses explicit sections'),\n sections: z.array(z.string()).optional().describe('Section IDs to show (required when layout is \"custom\")'),\n fields: z.array(z.string()).optional().describe('Explicit field list to display (optional, overrides compactLayout)'),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\nexport const RecordRelatedListProps = z.object({\n objectName: z.string().describe('Related object name (e.g., \"task\", \"opportunity\")'),\n relationshipField: z.string().describe('Field on related object that points to this record (e.g., \"account_id\")'),\n columns: z.array(z.string()).describe('Fields to display in the related list'),\n sort: z.union([\n z.string(),\n z.array(z.object({\n field: z.string(),\n order: z.enum(['asc', 'desc'])\n }))\n ]).optional().describe('Sort order for related records'),\n limit: z.number().int().positive().default(5).describe('Number of records to display initially'),\n filter: z.array(ViewFilterRuleSchema).optional().describe('Additional filter criteria for related records'),\n title: I18nLabelSchema.optional().describe('Custom title for the related list'),\n showViewAll: z.boolean().default(true).describe('Show \"View All\" link to see all related records'),\n actions: z.array(z.string()).optional().describe('Action IDs available for related records'),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\nexport const RecordHighlightsProps = z.object({\n fields: z.array(z.string()).min(1).max(7).describe('Key fields to highlight (1-7 fields max, typically displayed as prominent cards)'),\n layout: z.enum(['horizontal', 'vertical']).default('horizontal').describe('Layout orientation for highlight fields'),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\nexport const RecordActivityProps = z.object({\n /** Activity types to display (unified enum including comment, field_change, etc.) */\n types: z.array(FeedItemType).optional().describe('Feed item types to show (default: all)'),\n /** Default filter mode (Airtable-style dropdown) */\n filterMode: FeedFilterMode.default('all').describe('Default activity filter'),\n /** Allow user to switch filter modes */\n showFilterToggle: z.boolean().default(true).describe('Show filter dropdown in panel header'),\n /** Pagination */\n limit: z.number().int().positive().default(20).describe('Number of items to load per page'),\n /** Show completed activities */\n showCompleted: z.boolean().default(false).describe('Include completed activities'),\n /** Merge field_change + comment in a unified timeline */\n unifiedTimeline: z.boolean().default(true).describe('Mix field changes and comments in one timeline (Airtable style)'),\n /** Show the comment input box at the bottom */\n showCommentInput: z.boolean().default(true).describe('Show \"Leave a comment\" input at the bottom'),\n /** Enable @mentions in comments */\n enableMentions: z.boolean().default(true).describe('Enable @mentions in comments'),\n /** Enable emoji reactions */\n enableReactions: z.boolean().default(false).describe('Enable emoji reactions on feed items'),\n /** Enable threaded replies */\n enableThreading: z.boolean().default(false).describe('Enable threaded replies on comments'),\n /** Show notification subscription toggle (bell icon) */\n showSubscriptionToggle: z.boolean().default(true).describe('Show bell icon for record-level notification subscription'),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\nexport const RecordChatterProps = z.object({\n /** Panel position */\n position: z.enum(['sidebar', 'inline', 'drawer']).default('sidebar').describe('Where to render the chatter panel'),\n /** Panel width (for sidebar/drawer) */\n width: z.union([z.string(), z.number()]).optional().describe('Panel width (e.g., \"350px\", \"30%\")'),\n /** Collapsible */\n collapsible: z.boolean().default(true).describe('Whether the panel can be collapsed'),\n /** Default collapsed state */\n defaultCollapsed: z.boolean().default(false).describe('Whether the panel starts collapsed'),\n /** Feed configuration (delegates to RecordActivityProps) */\n feed: RecordActivityProps.optional().describe('Embedded activity feed configuration'),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\nexport const RecordPathProps = z.object({\n statusField: z.string().describe('Field name representing the current status/stage'),\n stages: z.array(z.object({\n value: z.string(),\n label: I18nLabelSchema,\n })).optional().describe('Explicit stage definitions (if not using field metadata)'),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\nexport const PageAccordionProps = z.object({\n items: z.array(z.object({\n label: I18nLabelSchema,\n icon: z.string().optional(),\n collapsed: z.boolean().default(false),\n children: z.array(z.unknown()).describe('Child components'),\n })),\n allowMultiple: z.boolean().default(false).describe('Allow multiple panels to be expanded simultaneously'),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\nexport const AIChatWindowProps = z.object({\n mode: z.enum(['float', 'sidebar', 'inline']).default('float').describe('Display mode for the chat window'),\n agentId: z.string().optional().describe('Specific AI agent to use'),\n context: z.record(z.string(), z.unknown()).optional().describe('Contextual data to pass to the AI'),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\n/**\n * ----------------------------------------------------------------------\n * 3. Content Element Components (Airtable Interface Parity)\n * ----------------------------------------------------------------------\n */\n\nexport const ElementTextPropsSchema = z.object({\n content: z.string().describe('Text or Markdown content'),\n variant: z.enum(['heading', 'subheading', 'body', 'caption'])\n .optional().default('body').describe('Text style variant'),\n align: z.enum(['left', 'center', 'right'])\n .optional().default('left').describe('Text alignment'),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\nexport const ElementNumberPropsSchema = z.object({\n object: z.string().describe('Source object'),\n field: z.string().optional().describe('Field to aggregate'),\n aggregate: z.enum(['count', 'sum', 'avg', 'min', 'max'])\n .describe('Aggregation function'),\n filter: FilterConditionSchema.optional().describe('Filter criteria'),\n format: z.enum(['number', 'currency', 'percent']).optional().describe('Number display format'),\n prefix: z.string().optional().describe('Prefix text (e.g. \"$\")'),\n suffix: z.string().optional().describe('Suffix text (e.g. \"%\")'),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\nexport const ElementImagePropsSchema = z.object({\n src: z.string().describe('Image URL or attachment field'),\n alt: z.string().optional().describe('Alt text for accessibility'),\n fit: z.enum(['cover', 'contain', 'fill'])\n .optional().default('cover').describe('Image object-fit mode'),\n height: z.number().optional().describe('Fixed height in pixels'),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\n/**\n * ----------------------------------------------------------------------\n * 4. Interactive Element Components (Phase B — Element Library)\n * ----------------------------------------------------------------------\n */\n\nexport const ElementButtonPropsSchema = z.object({\n label: I18nLabelSchema.describe('Button display label'),\n variant: z.enum(['primary', 'secondary', 'danger', 'ghost', 'link'])\n .optional().default('primary').describe('Button visual variant'),\n size: z.enum(['small', 'medium', 'large'])\n .optional().default('medium').describe('Button size'),\n icon: z.string().optional().describe('Icon name (Lucide icon)'),\n iconPosition: z.enum(['left', 'right'])\n .optional().default('left').describe('Icon position relative to label'),\n disabled: z.boolean().optional().default(false).describe('Disable the button'),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\nexport const ElementFilterPropsSchema = z.object({\n object: z.string().describe('Object to filter'),\n fields: z.array(z.string()).describe('Filterable field names'),\n targetVariable: z.string().optional().describe('Page variable to store filter state'),\n layout: z.enum(['inline', 'dropdown', 'sidebar'])\n .optional().default('inline').describe('Filter display layout'),\n showSearch: z.boolean().optional().default(true).describe('Show search input'),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\nexport const ElementFormPropsSchema = z.object({\n object: z.string().describe('Object for the form'),\n fields: z.array(z.string()).optional().describe('Fields to display (defaults to all editable fields)'),\n mode: z.enum(['create', 'edit']).optional().default('create').describe('Form mode'),\n submitLabel: I18nLabelSchema.optional().describe('Submit button label'),\n onSubmit: z.string().optional().describe('Action expression on form submit'),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\nexport const ElementRecordPickerPropsSchema = z.object({\n object: z.string().describe('Object to pick records from'),\n displayField: z.string().describe('Field to display as the record label'),\n searchFields: z.array(z.string()).optional().describe('Fields to search against'),\n filter: FilterConditionSchema.optional().describe('Filter criteria for available records'),\n multiple: z.boolean().optional().default(false).describe('Allow multiple record selection'),\n targetVariable: z.string().optional().describe('Page variable to bind selected record ID(s)'),\n placeholder: I18nLabelSchema.optional().describe('Placeholder text'),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\n/**\n * ----------------------------------------------------------------------\n * Component Props Map\n * Maps Component Type to its Property Schema\n * ----------------------------------------------------------------------\n */\nexport const ComponentPropsMap = {\n // Structure\n 'page:header': PageHeaderProps,\n 'page:tabs': PageTabsProps,\n 'page:card': PageCardProps,\n 'page:footer': EmptyProps,\n 'page:sidebar': EmptyProps,\n 'page:accordion': PageAccordionProps,\n 'page:section': EmptyProps,\n\n // Record\n 'record:details': RecordDetailsProps,\n 'record:related_list': RecordRelatedListProps,\n 'record:highlights': RecordHighlightsProps,\n 'record:activity': RecordActivityProps,\n 'record:chatter': RecordChatterProps,\n 'record:path': RecordPathProps,\n\n // Navigation\n 'app:launcher': EmptyProps,\n 'nav:menu': EmptyProps,\n 'nav:breadcrumb': EmptyProps,\n\n // Utility\n 'global:search': EmptyProps,\n 'global:notifications': EmptyProps,\n 'user:profile': EmptyProps,\n \n // AI\n 'ai:chat_window': AIChatWindowProps,\n 'ai:suggestion': z.object({ context: z.string().optional() }),\n\n // Content Elements\n 'element:text': ElementTextPropsSchema,\n 'element:number': ElementNumberPropsSchema,\n 'element:image': ElementImagePropsSchema,\n 'element:divider': EmptyProps,\n\n // Interactive Elements\n 'element:button': ElementButtonPropsSchema,\n 'element:filter': ElementFilterPropsSchema,\n 'element:form': ElementFormPropsSchema,\n 'element:record_picker': ElementRecordPickerPropsSchema,\n} as const;\n\n/**\n * Type Helper to extract props from map\n */\nexport type ComponentProps<T extends keyof typeof ComponentPropsMap> = z.infer<typeof ComponentPropsMap[T]>;\nexport type ComponentPropsInput<T extends keyof typeof ComponentPropsMap> = z.input<typeof ComponentPropsMap[T]>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.zod';\n\n/**\n * Touch Target Configuration Schema\n * Ensures touch targets meet WCAG 2.5.5 minimum size requirements (44x44px).\n */\nexport const TouchTargetConfigSchema = z.object({\n minWidth: z.number().default(44).describe('Minimum touch target width in pixels (WCAG 2.5.5: 44px)'),\n minHeight: z.number().default(44).describe('Minimum touch target height in pixels (WCAG 2.5.5: 44px)'),\n padding: z.number().optional().describe('Additional padding around touch target in pixels'),\n hitSlop: z.object({\n top: z.number().optional().describe('Extra hit area above the element'),\n right: z.number().optional().describe('Extra hit area to the right of the element'),\n bottom: z.number().optional().describe('Extra hit area below the element'),\n left: z.number().optional().describe('Extra hit area to the left of the element'),\n }).optional().describe('Invisible hit area extension beyond the visible bounds'),\n}).describe('Touch target sizing configuration (WCAG accessible)');\n\nexport type TouchTargetConfig = z.infer<typeof TouchTargetConfigSchema>;\n\n/**\n * Gesture Type Enum\n * Supported touch gesture types.\n */\nexport const GestureTypeSchema = z.enum([\n 'swipe',\n 'pinch',\n 'long_press',\n 'double_tap',\n 'drag',\n 'rotate',\n 'pan',\n]).describe('Touch gesture type');\n\nexport type GestureType = z.infer<typeof GestureTypeSchema>;\n\n/**\n * Swipe Direction Enum\n */\nexport const SwipeDirectionSchema = z.enum(['up', 'down', 'left', 'right']);\n\nexport type SwipeDirection = z.infer<typeof SwipeDirectionSchema>;\n\n/**\n * Swipe Gesture Configuration Schema\n */\nexport const SwipeGestureConfigSchema = z.object({\n direction: z.array(SwipeDirectionSchema).describe('Allowed swipe directions'),\n threshold: z.number().optional().describe('Minimum distance in pixels to recognize swipe'),\n velocity: z.number().optional().describe('Minimum velocity (px/ms) to trigger swipe'),\n}).describe('Swipe gesture recognition settings');\n\nexport type SwipeGestureConfig = z.infer<typeof SwipeGestureConfigSchema>;\n\n/**\n * Pinch Gesture Configuration Schema\n */\nexport const PinchGestureConfigSchema = z.object({\n minScale: z.number().optional().describe('Minimum scale factor (e.g., 0.5 for 50%)'),\n maxScale: z.number().optional().describe('Maximum scale factor (e.g., 3.0 for 300%)'),\n}).describe('Pinch/zoom gesture recognition settings');\n\nexport type PinchGestureConfig = z.infer<typeof PinchGestureConfigSchema>;\n\n/**\n * Long Press Gesture Configuration Schema\n */\nexport const LongPressGestureConfigSchema = z.object({\n duration: z.number().default(500).describe('Hold duration in milliseconds to trigger long press'),\n moveTolerance: z.number().optional().describe('Max movement in pixels allowed during press'),\n}).describe('Long press gesture recognition settings');\n\nexport type LongPressGestureConfig = z.infer<typeof LongPressGestureConfigSchema>;\n\n/**\n * Gesture Configuration Schema\n * Unified configuration for all supported gesture types.\n */\nexport const GestureConfigSchema = z.object({\n type: GestureTypeSchema.describe('Gesture type to configure'),\n label: I18nLabelSchema.optional().describe('Descriptive label for the gesture action'),\n enabled: z.boolean().default(true).describe('Whether this gesture is active'),\n swipe: SwipeGestureConfigSchema.optional().describe('Swipe gesture settings (when type is swipe)'),\n pinch: PinchGestureConfigSchema.optional().describe('Pinch gesture settings (when type is pinch)'),\n longPress: LongPressGestureConfigSchema.optional().describe('Long press settings (when type is long_press)'),\n}).describe('Per-gesture configuration');\n\nexport type GestureConfig = z.infer<typeof GestureConfigSchema>;\n\n/**\n * Touch Interaction Schema\n * Top-level touch and gesture interaction configuration for a component.\n */\nexport const TouchInteractionSchema = z.object({\n gestures: z.array(GestureConfigSchema).optional().describe('Configured gesture recognizers'),\n touchTarget: TouchTargetConfigSchema.optional().describe('Touch target sizing and hit area'),\n hapticFeedback: z.boolean().optional().describe('Enable haptic feedback on touch interactions'),\n}).merge(AriaPropsSchema.partial()).describe('Touch and gesture interaction configuration');\n\nexport type TouchInteraction = z.infer<typeof TouchInteractionSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.zod';\n\n/**\n * Focus Trap Configuration Schema\n * Constrains keyboard focus within a specific container (e.g., modals, dialogs).\n */\nexport const FocusTrapConfigSchema = z.object({\n enabled: z.boolean().default(false).describe('Enable focus trapping within this container'),\n initialFocus: z.string().optional().describe('CSS selector for the element to focus on activation'),\n returnFocus: z.boolean().default(true).describe('Return focus to trigger element on deactivation'),\n escapeDeactivates: z.boolean().default(true).describe('Allow Escape key to deactivate the focus trap'),\n}).describe('Focus trap configuration for modal-like containers');\n\nexport type FocusTrapConfig = z.infer<typeof FocusTrapConfigSchema>;\n\n/**\n * Keyboard Shortcut Schema\n * Defines a single keyboard shortcut binding.\n */\nexport const KeyboardShortcutSchema = z.object({\n key: z.string().describe('Key combination (e.g., \"Ctrl+S\", \"Alt+N\", \"Escape\")'),\n action: z.string().describe('Action identifier to invoke when shortcut is triggered'),\n description: I18nLabelSchema.optional().describe('Human-readable description of what the shortcut does'),\n scope: z.enum(['global', 'view', 'form', 'modal', 'list']).default('global')\n .describe('Scope in which this shortcut is active'),\n}).describe('Keyboard shortcut binding');\n\nexport type KeyboardShortcut = z.infer<typeof KeyboardShortcutSchema>;\n\n/**\n * Focus Management Schema\n * Controls tab order, focus visibility, and navigation behavior.\n */\nexport const FocusManagementSchema = z.object({\n tabOrder: z.enum(['auto', 'manual']).default('auto')\n .describe('Tab order strategy: auto (DOM order) or manual (explicit tabIndex)'),\n skipLinks: z.boolean().default(false).describe('Provide skip-to-content navigation links'),\n focusVisible: z.boolean().default(true).describe('Show visible focus indicators for keyboard users'),\n focusTrap: FocusTrapConfigSchema.optional().describe('Focus trap settings'),\n arrowNavigation: z.boolean().default(false)\n .describe('Enable arrow key navigation between focusable items'),\n}).describe('Focus and tab navigation management');\n\nexport type FocusManagement = z.infer<typeof FocusManagementSchema>;\n\n/**\n * Keyboard Navigation Configuration Schema\n * Top-level keyboard navigation and shortcut configuration.\n */\nexport const KeyboardNavigationConfigSchema = z.object({\n shortcuts: z.array(KeyboardShortcutSchema).optional().describe('Registered keyboard shortcuts'),\n focusManagement: FocusManagementSchema.optional().describe('Focus and tab order management'),\n rovingTabindex: z.boolean().default(false)\n .describe('Enable roving tabindex pattern for composite widgets'),\n}).merge(AriaPropsSchema.partial()).describe('Keyboard navigation and shortcut configuration');\n\nexport type KeyboardNavigationConfig = z.infer<typeof KeyboardNavigationConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { SnakeCaseIdentifierSchema } from '../shared/identifiers.zod';\nimport { TouchTargetConfigSchema } from './touch.zod';\nimport { FocusManagementSchema } from './keyboard.zod';\n\n/**\n * Color Palette Schema\n * Defines brand colors and their variants.\n */\nexport const ColorPaletteSchema = z.object({\n primary: z.string().describe('Primary brand color (hex, rgb, or hsl)'),\n secondary: z.string().optional().describe('Secondary brand color'),\n accent: z.string().optional().describe('Accent color for highlights'),\n success: z.string().optional().describe('Success state color (default: green)'),\n warning: z.string().optional().describe('Warning state color (default: yellow)'),\n error: z.string().optional().describe('Error state color (default: red)'),\n info: z.string().optional().describe('Info state color (default: blue)'),\n \n // Neutral colors\n background: z.string().optional().describe('Background color'),\n surface: z.string().optional().describe('Surface/card background color'),\n text: z.string().optional().describe('Primary text color'),\n textSecondary: z.string().optional().describe('Secondary text color'),\n border: z.string().optional().describe('Border color'),\n disabled: z.string().optional().describe('Disabled state color'),\n \n // Color variants (shades)\n primaryLight: z.string().optional().describe('Lighter shade of primary'),\n primaryDark: z.string().optional().describe('Darker shade of primary'),\n secondaryLight: z.string().optional().describe('Lighter shade of secondary'),\n secondaryDark: z.string().optional().describe('Darker shade of secondary'),\n});\n\n/**\n * Typography Settings Schema\n * Font families, sizes, weights, and line heights.\n */\nexport const TypographySchema = z.object({\n fontFamily: z.object({\n base: z.string().optional().describe('Base font family (default: system fonts)'),\n heading: z.string().optional().describe('Heading font family'),\n mono: z.string().optional().describe('Monospace font family for code'),\n }).optional(),\n \n fontSize: z.object({\n xs: z.string().optional().describe('Extra small font size (e.g., 0.75rem)'),\n sm: z.string().optional().describe('Small font size (e.g., 0.875rem)'),\n base: z.string().optional().describe('Base font size (e.g., 1rem)'),\n lg: z.string().optional().describe('Large font size (e.g., 1.125rem)'),\n xl: z.string().optional().describe('Extra large font size (e.g., 1.25rem)'),\n '2xl': z.string().optional().describe('2X large font size (e.g., 1.5rem)'),\n '3xl': z.string().optional().describe('3X large font size (e.g., 1.875rem)'),\n '4xl': z.string().optional().describe('4X large font size (e.g., 2.25rem)'),\n }).optional(),\n \n fontWeight: z.object({\n light: z.number().optional().describe('Light weight (default: 300)'),\n normal: z.number().optional().describe('Normal weight (default: 400)'),\n medium: z.number().optional().describe('Medium weight (default: 500)'),\n semibold: z.number().optional().describe('Semibold weight (default: 600)'),\n bold: z.number().optional().describe('Bold weight (default: 700)'),\n }).optional(),\n \n lineHeight: z.object({\n tight: z.string().optional().describe('Tight line height (e.g., 1.25)'),\n normal: z.string().optional().describe('Normal line height (e.g., 1.5)'),\n relaxed: z.string().optional().describe('Relaxed line height (e.g., 1.75)'),\n loose: z.string().optional().describe('Loose line height (e.g., 2)'),\n }).optional(),\n \n letterSpacing: z.object({\n tighter: z.string().optional().describe('Tighter letter spacing (e.g., -0.05em)'),\n tight: z.string().optional().describe('Tight letter spacing (e.g., -0.025em)'),\n normal: z.string().optional().describe('Normal letter spacing (e.g., 0)'),\n wide: z.string().optional().describe('Wide letter spacing (e.g., 0.025em)'),\n wider: z.string().optional().describe('Wider letter spacing (e.g., 0.05em)'),\n }).optional(),\n});\n\n/**\n * Spacing Units Schema\n * Defines spacing scale for margins, padding, gaps.\n */\nexport const SpacingSchema = z.object({\n '0': z.string().optional().describe('0 spacing (0)'),\n '1': z.string().optional().describe('Spacing unit 1 (e.g., 0.25rem)'),\n '2': z.string().optional().describe('Spacing unit 2 (e.g., 0.5rem)'),\n '3': z.string().optional().describe('Spacing unit 3 (e.g., 0.75rem)'),\n '4': z.string().optional().describe('Spacing unit 4 (e.g., 1rem)'),\n '5': z.string().optional().describe('Spacing unit 5 (e.g., 1.25rem)'),\n '6': z.string().optional().describe('Spacing unit 6 (e.g., 1.5rem)'),\n '8': z.string().optional().describe('Spacing unit 8 (e.g., 2rem)'),\n '10': z.string().optional().describe('Spacing unit 10 (e.g., 2.5rem)'),\n '12': z.string().optional().describe('Spacing unit 12 (e.g., 3rem)'),\n '16': z.string().optional().describe('Spacing unit 16 (e.g., 4rem)'),\n '20': z.string().optional().describe('Spacing unit 20 (e.g., 5rem)'),\n '24': z.string().optional().describe('Spacing unit 24 (e.g., 6rem)'),\n});\n\n/**\n * Border Radius Schema\n * Rounded corners configuration.\n */\nexport const BorderRadiusSchema = z.object({\n none: z.string().optional().describe('No border radius (0)'),\n sm: z.string().optional().describe('Small border radius (e.g., 0.125rem)'),\n base: z.string().optional().describe('Base border radius (e.g., 0.25rem)'),\n md: z.string().optional().describe('Medium border radius (e.g., 0.375rem)'),\n lg: z.string().optional().describe('Large border radius (e.g., 0.5rem)'),\n xl: z.string().optional().describe('Extra large border radius (e.g., 0.75rem)'),\n '2xl': z.string().optional().describe('2X large border radius (e.g., 1rem)'),\n full: z.string().optional().describe('Full border radius (50%)'),\n});\n\n/**\n * Shadow Schema\n * Box shadow effects.\n */\nexport const ShadowSchema = z.object({\n none: z.string().optional().describe('No shadow'),\n sm: z.string().optional().describe('Small shadow'),\n base: z.string().optional().describe('Base shadow'),\n md: z.string().optional().describe('Medium shadow'),\n lg: z.string().optional().describe('Large shadow'),\n xl: z.string().optional().describe('Extra large shadow'),\n '2xl': z.string().optional().describe('2X large shadow'),\n inner: z.string().optional().describe('Inner shadow (inset)'),\n});\n\n/**\n * Breakpoints Schema\n * Responsive design breakpoints.\n */\nexport const BreakpointsSchema = z.object({\n xs: z.string().optional().describe('Extra small breakpoint (e.g., 480px)'),\n sm: z.string().optional().describe('Small breakpoint (e.g., 640px)'),\n md: z.string().optional().describe('Medium breakpoint (e.g., 768px)'),\n lg: z.string().optional().describe('Large breakpoint (e.g., 1024px)'),\n xl: z.string().optional().describe('Extra large breakpoint (e.g., 1280px)'),\n '2xl': z.string().optional().describe('2X large breakpoint (e.g., 1536px)'),\n});\n\n/**\n * Animation Schema\n * Animation timing and duration settings.\n */\nexport const AnimationSchema = z.object({\n duration: z.object({\n fast: z.string().optional().describe('Fast animation (e.g., 150ms)'),\n base: z.string().optional().describe('Base animation (e.g., 300ms)'),\n slow: z.string().optional().describe('Slow animation (e.g., 500ms)'),\n }).optional(),\n \n timing: z.object({\n linear: z.string().optional().describe('Linear timing function'),\n ease: z.string().optional().describe('Ease timing function'),\n ease_in: z.string().optional().describe('Ease-in timing function'),\n ease_out: z.string().optional().describe('Ease-out timing function'),\n ease_in_out: z.string().optional().describe('Ease-in-out timing function'),\n }).optional(),\n});\n\n/**\n * Z-Index Scale Schema\n * Layering and stacking order.\n */\nexport const ZIndexSchema = z.object({\n base: z.number().optional().describe('Base z-index (e.g., 0)'),\n dropdown: z.number().optional().describe('Dropdown z-index (e.g., 1000)'),\n sticky: z.number().optional().describe('Sticky z-index (e.g., 1020)'),\n fixed: z.number().optional().describe('Fixed z-index (e.g., 1030)'),\n modalBackdrop: z.number().optional().describe('Modal backdrop z-index (e.g., 1040)'),\n modal: z.number().optional().describe('Modal z-index (e.g., 1050)'),\n popover: z.number().optional().describe('Popover z-index (e.g., 1060)'),\n tooltip: z.number().optional().describe('Tooltip z-index (e.g., 1070)'),\n});\n\n/**\n * Theme Mode Schema\n */\nexport const ThemeModeSchema = z.enum(['light', 'dark', 'auto']);\n\n/** @deprecated Use ThemeModeSchema instead */\nexport const ThemeMode = ThemeModeSchema;\n\n/**\n * Density Mode Schema\n * Controls spacing and sizing for different use cases.\n */\nexport const DensityModeSchema = z.enum(['compact', 'regular', 'spacious']);\n\n/** @deprecated Use DensityModeSchema instead */\nexport const DensityMode = DensityModeSchema;\n\n/**\n * WCAG Contrast Level Schema\n * Web Content Accessibility Guidelines color contrast requirements.\n */\nexport const WcagContrastLevelSchema = z.enum(['AA', 'AAA']);\n\n/** @deprecated Use WcagContrastLevelSchema instead */\nexport const WcagContrastLevel = WcagContrastLevelSchema;\n\n/**\n * Theme Configuration Schema\n * Complete theme definition for brand customization.\n */\nexport const ThemeSchema = z.object({\n name: SnakeCaseIdentifierSchema.describe('Unique theme identifier (snake_case)'),\n label: z.string().describe('Human-readable theme name'),\n description: z.string().optional().describe('Theme description'),\n \n /** Theme mode */\n mode: ThemeModeSchema.default('light').describe('Theme mode (light, dark, or auto)'),\n \n /** Color system */\n colors: ColorPaletteSchema.describe('Color palette configuration'),\n \n /** Typography */\n typography: TypographySchema.optional().describe('Typography settings'),\n \n /** Spacing */\n spacing: SpacingSchema.optional().describe('Spacing scale'),\n \n /** Border radius */\n borderRadius: BorderRadiusSchema.optional().describe('Border radius scale'),\n \n /** Shadows */\n shadows: ShadowSchema.optional().describe('Box shadow effects'),\n \n /** Breakpoints */\n breakpoints: BreakpointsSchema.optional().describe('Responsive breakpoints'),\n \n /** Animation */\n animation: AnimationSchema.optional().describe('Animation settings'),\n \n /** Z-Index */\n zIndex: ZIndexSchema.optional().describe('Z-index scale for layering'),\n \n /** Custom CSS variables */\n customVars: z.record(z.string(), z.string()).optional().describe('Custom CSS variables (key-value pairs)'),\n \n /** Logo */\n logo: z.object({\n light: z.string().optional().describe('Logo URL for light mode'),\n dark: z.string().optional().describe('Logo URL for dark mode'),\n favicon: z.string().optional().describe('Favicon URL'),\n }).optional().describe('Logo assets'),\n \n /** Extends another theme */\n extends: z.string().optional().describe('Base theme to extend from'),\n\n /** Display density mode */\n density: DensityModeSchema.optional().describe('Display density: compact, regular, or spacious'),\n\n /** WCAG contrast level requirement */\n wcagContrast: WcagContrastLevelSchema.optional().describe('WCAG color contrast level (AA or AAA)'),\n\n /** Right-to-left language support */\n rtl: z.boolean().optional().describe('Enable right-to-left layout direction'),\n\n /** Touch target accessibility configuration */\n touchTarget: TouchTargetConfigSchema.optional().describe('Touch target sizing defaults'),\n\n /** Keyboard navigation and focus management */\n keyboardNavigation: FocusManagementSchema.optional().describe('Keyboard focus management settings'),\n});\n\nexport type Theme = z.infer<typeof ThemeSchema>;\nexport type ColorPalette = z.infer<typeof ColorPaletteSchema>;\nexport type Typography = z.infer<typeof TypographySchema>;\nexport type Spacing = z.infer<typeof SpacingSchema>;\nexport type BorderRadius = z.infer<typeof BorderRadiusSchema>;\nexport type Shadow = z.infer<typeof ShadowSchema>;\nexport type Breakpoints = z.infer<typeof BreakpointsSchema>;\nexport type Animation = z.infer<typeof AnimationSchema>;\nexport type ZIndex = z.infer<typeof ZIndexSchema>;\nexport type ThemeMode = z.infer<typeof ThemeModeSchema>;\nexport type DensityMode = z.infer<typeof DensityModeSchema>;\nexport type WcagContrastLevel = z.infer<typeof WcagContrastLevelSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { I18nLabelSchema } from './i18n.zod';\n\n/**\n * Offline Strategy Schema\n * Determines how data is fetched when connectivity is limited.\n */\nexport const OfflineStrategySchema = z.enum([\n 'cache_first',\n 'network_first',\n 'stale_while_revalidate',\n 'network_only',\n 'cache_only',\n]).describe('Data fetching strategy for offline/online transitions');\n\nexport type OfflineStrategy = z.infer<typeof OfflineStrategySchema>;\n\n/**\n * Conflict Resolution Strategy Enum\n */\nexport const ConflictResolutionSchema = z.enum([\n 'client_wins',\n 'server_wins',\n 'manual',\n 'last_write_wins',\n]).describe('How to resolve conflicts when syncing offline changes');\n\nexport type ConflictResolution = z.infer<typeof ConflictResolutionSchema>;\n\n/**\n * Sync Configuration Schema\n * Controls how offline mutations are synchronized with the server.\n */\nexport const SyncConfigSchema = z.object({\n strategy: OfflineStrategySchema.default('network_first').describe('Sync fetch strategy'),\n conflictResolution: ConflictResolutionSchema.default('last_write_wins').describe('Conflict resolution policy'),\n retryInterval: z.number().optional().describe('Retry interval in milliseconds between sync attempts'),\n maxRetries: z.number().optional().describe('Maximum number of sync retry attempts'),\n batchSize: z.number().optional().describe('Number of mutations to sync per batch'),\n}).describe('Offline-to-online synchronization configuration');\n\nexport type SyncConfig = z.infer<typeof SyncConfigSchema>;\n\n/**\n * Persist Storage Backend Enum\n */\nexport const PersistStorageSchema = z.enum([\n 'indexeddb',\n 'localstorage',\n 'sqlite',\n]).describe('Client-side storage backend for offline cache');\n\nexport type PersistStorage = z.infer<typeof PersistStorageSchema>;\n\n/**\n * Eviction Policy Enum\n */\nexport const EvictionPolicySchema = z.enum([\n 'lru',\n 'lfu',\n 'fifo',\n]).describe('Cache eviction policy');\n\nexport type EvictionPolicy = z.infer<typeof EvictionPolicySchema>;\n\n/**\n * Offline Cache Configuration Schema\n * Controls how data is persisted on the client for offline access.\n */\nexport const OfflineCacheConfigSchema = z.object({\n maxSize: z.number().optional().describe('Maximum cache size in bytes'),\n ttl: z.number().optional().describe('Time-to-live for cached entries in milliseconds'),\n persistStorage: PersistStorageSchema.default('indexeddb').describe('Storage backend'),\n evictionPolicy: EvictionPolicySchema.default('lru').describe('Cache eviction policy when full'),\n}).describe('Client-side offline cache configuration');\n\nexport type OfflineCacheConfig = z.infer<typeof OfflineCacheConfigSchema>;\n\n/**\n * Offline Configuration Schema\n * Top-level offline support configuration for an application or component.\n */\nexport const OfflineConfigSchema = z.object({\n enabled: z.boolean().default(false).describe('Enable offline support'),\n strategy: OfflineStrategySchema.default('network_first').describe('Default offline fetch strategy'),\n cache: OfflineCacheConfigSchema.optional().describe('Cache settings for offline data'),\n sync: SyncConfigSchema.optional().describe('Sync settings for offline mutations'),\n offlineIndicator: z.boolean().default(true).describe('Show a visual indicator when offline'),\n offlineMessage: I18nLabelSchema.optional().describe('Customizable offline status message shown to users'),\n queueMaxSize: z.number().optional().describe('Maximum number of queued offline mutations'),\n}).describe('Offline support configuration');\n\nexport type OfflineConfig = z.infer<typeof OfflineConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.zod';\n\n/**\n * Transition Preset Schema\n * Common animation transition presets.\n */\nexport const TransitionPresetSchema = z.enum([\n 'fade',\n 'slide_up',\n 'slide_down',\n 'slide_left',\n 'slide_right',\n 'scale',\n 'rotate',\n 'flip',\n 'none',\n]).describe('Transition preset type');\n\nexport type TransitionPreset = z.infer<typeof TransitionPresetSchema>;\n\n/**\n * Easing Function Schema\n * Supported animation easing/timing functions.\n */\nexport const EasingFunctionSchema = z.enum([\n 'linear',\n 'ease',\n 'ease_in',\n 'ease_out',\n 'ease_in_out',\n 'spring',\n]).describe('Animation easing function');\n\nexport type EasingFunction = z.infer<typeof EasingFunctionSchema>;\n\n/**\n * Transition Configuration Schema\n * Defines a single animation transition with timing and easing options.\n */\nexport const TransitionConfigSchema = z.object({\n preset: TransitionPresetSchema.optional().describe('Transition preset to apply'),\n duration: z.number().optional().describe('Transition duration in milliseconds'),\n easing: EasingFunctionSchema.optional().describe('Easing function for the transition'),\n delay: z.number().optional().describe('Delay before transition starts in milliseconds'),\n customKeyframes: z.string().optional().describe('CSS @keyframes name for custom animations'),\n themeToken: z.string().optional().describe('Reference to a theme animation token (e.g. \"animation.duration.fast\")'),\n}).describe('Animation transition configuration');\n\nexport type TransitionConfig = z.infer<typeof TransitionConfigSchema>;\n\n/**\n * Animation Trigger Schema\n * Events that can trigger an animation.\n */\nexport const AnimationTriggerSchema = z.enum([\n 'on_mount',\n 'on_unmount',\n 'on_hover',\n 'on_focus',\n 'on_click',\n 'on_scroll',\n 'on_visible',\n]).describe('Event that triggers the animation');\n\nexport type AnimationTrigger = z.infer<typeof AnimationTriggerSchema>;\n\n/**\n * Component Animation Schema\n * Animation configuration for an individual UI component.\n */\nexport const ComponentAnimationSchema = z.object({\n label: I18nLabelSchema.optional().describe('Descriptive label for this animation configuration'),\n enter: TransitionConfigSchema.optional().describe('Enter/mount animation'),\n exit: TransitionConfigSchema.optional().describe('Exit/unmount animation'),\n hover: TransitionConfigSchema.optional().describe('Hover state animation'),\n trigger: AnimationTriggerSchema.optional().describe('When to trigger the animation'),\n reducedMotion: z.enum(['respect', 'disable', 'alternative']).default('respect')\n .describe('Accessibility: how to handle prefers-reduced-motion'),\n}).merge(AriaPropsSchema.partial()).describe('Component-level animation configuration');\n\nexport type ComponentAnimation = z.infer<typeof ComponentAnimationSchema>;\n\n/**\n * Page Transition Schema\n * Defines the animation used when navigating between pages.\n */\nexport const PageTransitionSchema = z.object({\n type: TransitionPresetSchema.default('fade').describe('Page transition type'),\n duration: z.number().default(300).describe('Transition duration in milliseconds'),\n easing: EasingFunctionSchema.default('ease_in_out').describe('Easing function for the transition'),\n crossFade: z.boolean().default(false).describe('Whether to cross-fade between pages'),\n}).describe('Page-level transition configuration');\n\nexport type PageTransition = z.infer<typeof PageTransitionSchema>;\n\n/**\n * Motion Configuration Schema\n * Top-level animation and motion design configuration.\n */\nexport const MotionConfigSchema = z.object({\n label: I18nLabelSchema.optional().describe('Descriptive label for the motion configuration'),\n defaultTransition: TransitionConfigSchema.optional().describe('Default transition applied to all animations'),\n pageTransitions: PageTransitionSchema.optional().describe('Page navigation transition settings'),\n componentAnimations: z.record(z.string(), ComponentAnimationSchema).optional()\n .describe('Component name to animation configuration mapping'),\n reducedMotion: z.boolean().default(false).describe('When true, respect prefers-reduced-motion and suppress animations globally'),\n enabled: z.boolean().default(true).describe('Enable or disable all animations globally'),\n}).describe('Top-level motion and animation design configuration');\n\nexport type MotionConfig = z.infer<typeof MotionConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.zod';\n\n/**\n * Notification Type Schema\n * Defines the visual presentation style of the notification.\n */\nexport const NotificationTypeSchema = z.enum([\n 'toast',\n 'snackbar',\n 'banner',\n 'alert',\n 'inline',\n]).describe('Notification presentation style');\n\nexport type NotificationType = z.infer<typeof NotificationTypeSchema>;\n\n/**\n * Notification Severity Schema\n * Indicates the urgency and visual treatment of the notification.\n */\nexport const NotificationSeveritySchema = z.enum([\n 'info',\n 'success',\n 'warning',\n 'error',\n]).describe('Notification severity level');\n\nexport type NotificationSeverity = z.infer<typeof NotificationSeveritySchema>;\n\n/**\n * Notification Position Schema\n * Screen position for rendering notifications.\n */\nexport const NotificationPositionSchema = z.enum([\n 'top_left',\n 'top_center',\n 'top_right',\n 'bottom_left',\n 'bottom_center',\n 'bottom_right',\n]).describe('Screen position for notification placement');\n\nexport type NotificationPosition = z.infer<typeof NotificationPositionSchema>;\n\n/**\n * Notification Action Schema\n * Defines an interactive action button within a notification.\n */\nexport const NotificationActionSchema = z.object({\n label: I18nLabelSchema.describe('Action button label'),\n action: z.string().describe('Action identifier to execute'),\n variant: z.enum(['primary', 'secondary', 'link']).default('primary')\n .describe('Button variant style'),\n}).describe('Notification action button');\n\nexport type NotificationAction = z.infer<typeof NotificationActionSchema>;\n\n/**\n * Notification Schema\n * Defines a single notification instance with content, behavior, and positioning.\n */\nexport const NotificationSchema = z.object({\n type: NotificationTypeSchema.default('toast').describe('Notification presentation style'),\n severity: NotificationSeveritySchema.default('info').describe('Notification severity level'),\n title: I18nLabelSchema.optional().describe('Notification title'),\n message: I18nLabelSchema.describe('Notification message body'),\n icon: z.string().optional().describe('Icon name override'),\n duration: z.number().optional().describe('Auto-dismiss duration in ms, omit for persistent'),\n dismissible: z.boolean().default(true).describe('Allow user to dismiss the notification'),\n actions: z.array(NotificationActionSchema).optional().describe('Action buttons'),\n position: NotificationPositionSchema.optional().describe('Override default position'),\n}).merge(AriaPropsSchema.partial()).describe('Notification instance definition');\n\nexport type Notification = z.infer<typeof NotificationSchema>;\n\n/**\n * Notification Config Schema\n * Top-level notification system configuration.\n */\nexport const NotificationConfigSchema = z.object({\n defaultPosition: NotificationPositionSchema.default('top_right')\n .describe('Default screen position for notifications'),\n defaultDuration: z.number().default(5000)\n .describe('Default auto-dismiss duration in ms'),\n maxVisible: z.number().default(5)\n .describe('Maximum number of notifications visible at once'),\n stackDirection: z.enum(['up', 'down']).default('down')\n .describe('Stack direction for multiple notifications'),\n pauseOnHover: z.boolean().default(true)\n .describe('Pause auto-dismiss timer on hover'),\n}).describe('Global notification system configuration');\n\nexport type NotificationConfig = z.infer<typeof NotificationConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.zod';\n\n/**\n * Drag Handle Schema\n * Defines how a drag interaction is initiated on an element.\n */\nexport const DragHandleSchema = z.enum([\n 'element',\n 'handle',\n 'grip_icon',\n]).describe('Drag initiation method');\n\nexport type DragHandle = z.infer<typeof DragHandleSchema>;\n\n/**\n * Drop Effect Schema\n * Visual feedback indicating the result of a drop operation.\n */\nexport const DropEffectSchema = z.enum([\n 'move',\n 'copy',\n 'link',\n 'none',\n]).describe('Drop operation effect');\n\nexport type DropEffect = z.infer<typeof DropEffectSchema>;\n\n/**\n * Drag Constraint Schema\n * Constrains drag movement along axes, within bounds, or to a grid.\n */\nexport const DragConstraintSchema = z.object({\n axis: z.enum(['x', 'y', 'both']).default('both').describe('Constrain drag axis'),\n bounds: z.enum(['parent', 'viewport', 'none']).default('none').describe('Constrain within bounds'),\n grid: z.tuple([z.number(), z.number()]).optional().describe('Snap to grid [x, y] in pixels'),\n}).describe('Drag movement constraints');\n\nexport type DragConstraint = z.infer<typeof DragConstraintSchema>;\n\n/**\n * Drop Zone Schema\n * Configures a container that accepts dragged items.\n */\nexport const DropZoneSchema = z.object({\n label: I18nLabelSchema.optional().describe('Accessible label for the drop zone'),\n accept: z.array(z.string()).describe('Accepted drag item types'),\n maxItems: z.number().optional().describe('Maximum items allowed in drop zone'),\n highlightOnDragOver: z.boolean().default(true).describe('Highlight drop zone when dragging over'),\n dropEffect: DropEffectSchema.default('move').describe('Visual effect on drop'),\n}).merge(AriaPropsSchema.partial()).describe('Drop zone configuration');\n\nexport type DropZone = z.infer<typeof DropZoneSchema>;\n\n/**\n * Drag Item Schema\n * Configures a draggable element including handle, constraints, and preview.\n */\nexport const DragItemSchema = z.object({\n type: z.string().describe('Drag item type identifier for matching with drop zones'),\n label: I18nLabelSchema.optional().describe('Accessible label describing the draggable item'),\n handle: DragHandleSchema.default('element').describe('How to initiate drag'),\n constraint: DragConstraintSchema.optional().describe('Drag movement constraints'),\n preview: z.enum(['element', 'custom', 'none']).default('element').describe('Drag preview type'),\n disabled: z.boolean().default(false).describe('Disable dragging'),\n}).merge(AriaPropsSchema.partial()).describe('Draggable item configuration');\n\nexport type DragItem = z.infer<typeof DragItemSchema>;\n\n/**\n * Drag and Drop Configuration Schema\n * Top-level drag-and-drop interaction configuration for a component.\n */\nexport const DndConfigSchema = z.object({\n enabled: z.boolean().default(false).describe('Enable drag and drop'),\n dragItem: DragItemSchema.optional().describe('Configuration for draggable item'),\n dropZone: DropZoneSchema.optional().describe('Configuration for drop target'),\n sortable: z.boolean().default(false).describe('Enable sortable list behavior'),\n autoScroll: z.boolean().default(true).describe('Auto-scroll during drag near edges'),\n touchDelay: z.number().default(200).describe('Delay in ms before drag starts on touch devices'),\n}).describe('Drag and drop interaction configuration');\n\nexport type DndConfig = z.infer<typeof DndConfigSchema>;\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/ui/i18n.zod.ts","../../src/ui/chart.zod.ts","../../src/ui/responsive.zod.ts","../../src/shared/identifiers.zod.ts","../../src/ui/sharing.zod.ts","../../src/ui/app.zod.ts","../../src/shared/http.zod.ts","../../src/ui/view.zod.ts","../../src/data/filter.zod.ts","../../src/ui/dashboard.zod.ts","../../src/ui/report.zod.ts","../../src/system/encryption.zod.ts","../../src/system/masking.zod.ts","../../src/data/field.zod.ts","../../src/ui/action.zod.ts","../../src/shared/enums.zod.ts","../../src/ui/page.zod.ts","../../src/ui/widget.zod.ts","../../src/data/feed.zod.ts","../../src/ui/component.zod.ts","../../src/ui/touch.zod.ts","../../src/ui/keyboard.zod.ts","../../src/ui/theme.zod.ts","../../src/ui/offline.zod.ts","../../src/ui/animation.zod.ts","../../src/ui/notification.zod.ts","../../src/ui/dnd.zod.ts"],"names":["z"],"mappings":";;;AAiBO,IAAM,gBAAA,GAAmB,EAAE,MAAA,CAAO;AAAA;AAAA,EAEvC,GAAA,EAAK,CAAA,CAAE,MAAA,EAAO,CAAE,SAAS,iDAAiD,CAAA;AAAA;AAAA,EAG1E,cAAc,CAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kDAAkD,CAAA;AAAA;AAAA,EAG/F,MAAA,EAAQ,CAAA,CAAE,MAAA,CAAO,CAAA,CAAE,MAAA,IAAU,CAAA,CAAE,KAAA,CAAM,CAAC,CAAA,CAAE,MAAA,EAAO,EAAG,EAAE,MAAA,EAAO,EAAG,CAAA,CAAE,OAAA,EAAS,CAAC,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,+CAA+C;AAClJ,CAAC;AA2BM,IAAM,eAAA,GAAkB,EAAE,KAAA,CAAM;AAAA,EACrC,EAAE,MAAA,EAAO;AAAA,EACT;AACF,CAAC,CAAA,CAAE,SAAS,wDAAwD;AAuB7D,IAAM,eAAA,GAAkB,EAAE,MAAA,CAAO;AAAA;AAAA,EAEtC,SAAA,EAAW,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,2DAA2D,CAAA;AAAA;AAAA,EAG1G,iBAAiB,CAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,4EAA4E,CAAA;AAAA;AAAA,EAG5H,MAAM,CAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iEAAiE;AACxG,CAAC,CAAA,CAAE,SAAS,+BAA+B;AAsBpC,IAAM,gBAAA,GAAmB,EAAE,MAAA,CAAO;AAAA;AAAA,EAEvC,GAAA,EAAK,CAAA,CAAE,MAAA,EAAO,CAAE,SAAS,iBAAiB,CAAA;AAAA;AAAA,EAE1C,MAAM,CAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA;AAAA,EAEnE,KAAK,CAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,sCAAsC,CAAA;AAAA;AAAA,EAE1E,KAAK,CAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iDAAiD,CAAA;AAAA;AAAA,EAErF,KAAK,CAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,4CAA4C,CAAA;AAAA;AAAA,EAEhF,MAAM,CAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,4CAA4C,CAAA;AAAA;AAAA,EAEjF,KAAA,EAAO,CAAA,CAAE,MAAA,EAAO,CAAE,SAAS,6CAA6C;AAC1E,CAAC,CAAA,CAAE,SAAS,wCAAwC;AAkB7C,IAAM,kBAAA,GAAqB,EAAE,MAAA,CAAO;AAAA,EACzC,KAAA,EAAO,CAAA,CAAE,IAAA,CAAK,CAAC,WAAW,UAAA,EAAY,SAAA,EAAW,MAAM,CAAC,CAAA,CAAE,OAAA,CAAQ,SAAS,CAAA,CACxE,SAAS,yBAAyB,CAAA;AAAA,EACrC,UAAU,CAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,6CAA6C,CAAA;AAAA,EACtF,MAAM,CAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,uDAAuD,CAAA;AAAA,EAC5F,uBAAuB,CAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,mCAAmC,CAAA;AAAA,EACzF,uBAAuB,CAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,mCAAmC,CAAA;AAAA,EACzF,aAAa,CAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,kDAAkD;AACjG,CAAC,CAAA,CAAE,SAAS,yBAAyB;AAkB9B,IAAM,gBAAA,GAAmB,EAAE,MAAA,CAAO;AAAA,EACvC,SAAA,EAAW,CAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,MAAA,EAAQ,QAAA,EAAU,OAAO,CAAC,CAAA,CAAE,QAAA,EAAS,CAC7D,SAAS,oBAAoB,CAAA;AAAA,EAChC,SAAA,EAAW,CAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,MAAA,EAAQ,QAAA,EAAU,OAAO,CAAC,CAAA,CAAE,QAAA,EAAS,CAC7D,SAAS,oBAAoB,CAAA;AAAA,EAChC,UAAU,CAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,2CAA2C,CAAA;AAAA,EACpF,QAAQ,CAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,oBAAoB;AAC9D,CAAC,CAAA,CAAE,SAAS,4BAA4B;AAqBjC,IAAM,kBAAA,GAAqB,EAAE,MAAA,CAAO;AAAA;AAAA,EAEzC,IAAA,EAAM,CAAA,CAAE,MAAA,EAAO,CAAE,SAAS,+CAA+C,CAAA;AAAA;AAAA,EAGzE,aAAA,EAAe,CAAA,CAAE,KAAA,CAAM,CAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CACzC,QAAA,CAAS,mEAAmE,CAAA;AAAA;AAAA,EAG/E,SAAA,EAAW,CAAA,CAAE,IAAA,CAAK,CAAC,KAAA,EAAO,KAAK,CAAC,CAAA,CAAE,OAAA,CAAQ,KAAK,CAAA,CAC5C,QAAA,CAAS,gDAAgD,CAAA;AAAA;AAAA,EAG5D,YAAA,EAAc,kBAAA,CAAmB,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA;AAAA,EAGtF,UAAA,EAAY,gBAAA,CAAiB,QAAA,EAAS,CAAE,SAAS,oCAAoC;AACvF,CAAC,CAAA,CAAE,SAAS,sBAAsB;;;ACtM3B,IAAM,eAAA,GAAkBA,EAAE,IAAA,CAAK;AAAA;AAAA,EAEpC,KAAA;AAAA,EACA,gBAAA;AAAA,EACA,QAAA;AAAA,EACA,aAAA;AAAA,EACA,aAAA;AAAA,EACA,cAAA;AAAA;AAAA,EAGA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,cAAA;AAAA,EACA,WAAA;AAAA,EACA,QAAA;AAAA;AAAA,EAGA,KAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA;AAAA,EAGA,SAAA;AAAA,EACA,QAAA;AAAA;AAAA,EAGA,SAAA;AAAA,EACA,UAAA;AAAA,EACA,QAAA;AAAA,EACA,YAAA;AAAA;AAAA,EAGA,OAAA;AAAA,EACA,aAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA;AAAA,EAGA,YAAA;AAAA,EACA,YAAA;AAAA,EACA,QAAA;AAAA;AAAA,EAGA,SAAA;AAAA,EACA,OAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA,EACA,QAAA;AAAA,EACA,aAAA;AAAA,EACA,OAAA;AAAA;AAAA,EAGA,OAAA;AAAA,EACA;AACF,CAAC;AAQM,IAAM,eAAA,GAAkBA,EAAE,MAAA,CAAO;AAAA;AAAA,EAEtC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,gBAAgB,CAAA;AAAA;AAAA,EAG3C,KAAA,EAAO,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,oBAAoB,CAAA;AAAA;AAAA,EAG/D,QAAQA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,uCAAuC,CAAA;AAAA;AAAA,EAG9E,KAAKA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,eAAe,CAAA;AAAA,EACnD,KAAKA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,eAAe,CAAA;AAAA,EACnD,UAAUA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,qBAAqB,CAAA;AAAA;AAAA,EAG9D,aAAA,EAAeA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA;AAAA,EACvC,QAAA,EAAUA,CAAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,OAAA,EAAS,KAAA,EAAO,QAAQ,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,eAAe,CAAA;AAAA;AAAA,EAGxF,WAAA,EAAaA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK;AACxC,CAAC;AAMM,IAAM,iBAAA,GAAoBA,EAAE,MAAA,CAAO;AAAA;AAAA,EAExC,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,iCAAiC,CAAA;AAAA;AAAA,EAG3D,KAAA,EAAO,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,sBAAsB,CAAA;AAAA;AAAA,EAGjE,IAAA,EAAM,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,qCAAqC,CAAA;AAAA;AAAA,EAG/E,OAAOA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA;AAAA,EAGpE,OAAOA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kCAAkC,CAAA;AAAA;AAAA,EAGxE,KAAA,EAAOA,CAAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,OAAO,CAAC,CAAA,CAAE,OAAA,CAAQ,MAAM,CAAA,CAAE,QAAA,CAAS,yBAAyB;AACrF,CAAC;AAMM,IAAM,qBAAA,GAAwBA,EAAE,MAAA,CAAO;AAAA,EAC5C,IAAA,EAAMA,EAAE,IAAA,CAAK,CAAC,QAAQ,QAAQ,CAAC,CAAA,CAAE,OAAA,CAAQ,MAAM,CAAA;AAAA,EAC/C,IAAA,EAAMA,EAAE,IAAA,CAAK,CAAC,KAAK,GAAG,CAAC,CAAA,CAAE,OAAA,CAAQ,GAAG,CAAA;AAAA,EACpC,KAAA,EAAOA,CAAAA,CAAE,KAAA,CAAM,CAACA,CAAAA,CAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,MAAA,EAAQ,CAAC,CAAA,CAAE,SAAS,aAAa,CAAA;AAAA,EAC/D,QAAA,EAAUA,CAAAA,CAAE,KAAA,CAAM,CAACA,EAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,MAAA,EAAQ,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,uBAAuB,CAAA;AAAA,EACvF,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,KAAA,EAAO,gBAAgB,QAAA,EAAS;AAAA,EAChC,KAAA,EAAOA,CAAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,UAAU,QAAQ,CAAC,CAAA,CAAE,OAAA,CAAQ,QAAQ;AAC/D,CAAC;AAKM,IAAM,sBAAA,GAAyBA,EAAE,MAAA,CAAO;AAAA,EAC7C,QAAA,EAAUA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA;AAAA,EAClC,IAAA,EAAMA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA;AAAA,EAC/B,KAAA,EAAOA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA;AAAA,EAChC,aAAaA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAC7E,CAAC;AAMM,IAAM,iBAAA,GAAoBA,EAAE,MAAA,CAAO;AAAA;AAAA,EAExC,IAAA,EAAM,eAAA;AAAA;AAAA,EAGN,KAAA,EAAO,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,aAAa,CAAA;AAAA,EACxD,QAAA,EAAU,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,gBAAgB,CAAA;AAAA,EAC9D,WAAA,EAAa,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,2BAA2B,CAAA;AAAA;AAAA,EAG5E,KAAA,EAAO,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,sBAAsB,CAAA;AAAA,EACjE,KAAA,EAAOA,EAAE,KAAA,CAAM,eAAe,EAAE,QAAA,EAAS,CAAE,SAAS,0CAA0C,CAAA;AAAA;AAAA,EAG9F,MAAA,EAAQA,EAAE,KAAA,CAAM,iBAAiB,EAAE,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA;AAAA,EAGrF,MAAA,EAAQA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,eAAe,CAAA;AAAA,EAC/D,QAAQA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,wBAAwB,CAAA;AAAA;AAAA,EAG/D,UAAA,EAAYA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,gBAAgB,CAAA;AAAA,EAC/D,cAAA,EAAgBA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,qBAAqB,CAAA;AAAA;AAAA,EAGzE,WAAA,EAAaA,CAAAA,CAAE,KAAA,CAAM,qBAAqB,EAAE,QAAA,EAAS;AAAA;AAAA,EAGrD,WAAA,EAAa,uBAAuB,QAAA,EAAS;AAAA;AAAA,EAG7C,IAAA,EAAM,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAC3E,CAAC;ACnLM,IAAM,cAAA,GAAiBA,CAAAA,CAAE,IAAA,CAAK,CAAC,IAAA,EAAM,MAAM,IAAA,EAAM,IAAA,EAAM,IAAA,EAAM,KAAK,CAAC;AA0BnE,IAAM,yBAAA,GAA4BA,EAAE,MAAA,CAAO;AAAA,EAChD,EAAA,EAAIA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA,CAAE,QAAA,EAAS;AAAA,EACvC,EAAA,EAAIA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA,CAAE,QAAA,EAAS;AAAA,EACvC,EAAA,EAAIA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA,CAAE,QAAA,EAAS;AAAA,EACvC,EAAA,EAAIA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA,CAAE,QAAA,EAAS;AAAA,EACvC,EAAA,EAAIA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA,CAAE,QAAA,EAAS;AAAA,EACvC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA,CAAE,QAAA;AACnC,CAAC,CAAA,CAAE,SAAS,oCAAoC;AAOzC,IAAM,wBAAA,GAA2BA,EAAE,MAAA,CAAO;AAAA,EAC/C,EAAA,EAAIA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACxB,EAAA,EAAIA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACxB,EAAA,EAAIA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACxB,EAAA,EAAIA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACxB,EAAA,EAAIA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACxB,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACpB,CAAC,CAAA,CAAE,SAAS,8BAA8B;AAEnC,IAAM,sBAAA,GAAyBA,EAAE,MAAA,CAAO;AAAA;AAAA,EAE7C,UAAA,EAAY,cAAA,CAAe,QAAA,EAAS,CACjC,SAAS,mCAAmC,CAAA;AAAA;AAAA,EAG/C,QAAA,EAAUA,EAAE,KAAA,CAAM,cAAc,EAAE,QAAA,EAAS,CACxC,SAAS,2BAA2B,CAAA;AAAA;AAAA,EAGvC,OAAA,EAAS,yBAAA,CAA0B,QAAA,EAAS,CAAE,SAAS,6BAA6B,CAAA;AAAA;AAAA,EAGpF,KAAA,EAAO,wBAAA,CAAyB,QAAA,EAAS,CAAE,SAAS,8BAA8B;AACpF,CAAC,CAAA,CAAE,SAAS,iCAAiC;AAoBtC,IAAM,uBAAA,GAA0BA,EAAE,MAAA,CAAO;AAAA;AAAA,EAE9C,UAAUA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAC5B,SAAS,qDAAqD,CAAA;AAAA;AAAA,EAGjE,aAAA,EAAeA,EAAE,MAAA,CAAO;AAAA,IACtB,OAAA,EAASA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,0BAA0B,CAAA;AAAA,IACvE,YAAYA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8CAA8C,CAAA;AAAA,IACzF,UAAUA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kDAAkD;AAAA,GAC5F,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA;AAAA,EAGxD,aAAA,EAAeA,EAAE,IAAA,CAAK;AAAA,IACpB,MAAA;AAAA,IACA,aAAA;AAAA,IACA,eAAA;AAAA,IACA;AAAA,GACD,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,mCAAmC,CAAA;AAAA;AAAA,EAG1D,UAAUA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAC5B,SAAS,2CAA2C,CAAA;AAAA;AAAA,EAGvD,UAAUA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAC3B,SAAS,yCAAyC,CAAA;AAAA;AAAA,EAGrD,YAAYA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAC7B,SAAS,yDAAyD;AACvE,CAAC,CAAA,CAAE,SAAS,wCAAwC;AC3E7C,IAAM,sBAAA,GAAyBA,CAAAA,CACnC,MAAA,EAAO,CACP,GAAA,CAAI,CAAA,EAAG,EAAE,OAAA,EAAS,iDAAA,EAAmD,CAAA,CACrE,KAAA,CAAM,oBAAA,EAAsB;AAAA,EAC3B,OAAA,EACE;AACJ,CAAC,CAAA,CACA,SAAS,wDAAwD,CAAA;AAiB7D,IAAM,yBAAA,GAA4BA,CAAAA,CACtC,MAAA,EAAO,CACP,GAAA,CAAI,CAAA,EAAG,EAAE,OAAA,EAAS,0CAAA,EAA4C,CAAA,CAC9D,KAAA,CAAM,mBAAA,EAAqB;AAAA,EAC1B,OAAA,EACE;AACJ,CAAC,CAAA,CACA,SAAS,yDAAyD,CAAA;AAoBtCA,CAAAA,CAC5B,MAAA,EAAO,CACP,GAAA,CAAI,CAAA,EAAG,EAAE,OAAA,EAAS,0CAAA,EAA4C,CAAA,CAC9D,KAAA,CAAM,oBAAA,EAAsB;AAAA,EAC3B,OAAA,EACE;AACJ,CAAC,CAAA,CACA,SAAS,0DAA0D;ACvF/D,IAAM,mBAAA,GAAsBA,EAAE,MAAA,CAAO;AAAA,EAC1C,OAAA,EAASA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,uBAAuB,CAAA;AAAA,EACpE,YAAYA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,4BAA4B,CAAA;AAAA,EACvE,UAAUA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,yCAAyC,CAAA;AAAA,EAClF,cAAA,EAAgBA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAC1C,QAAA,CAAS,kEAAkE,CAAA;AAAA,EAC9E,WAAWA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAC5B,SAAS,yCAAyC,CAAA;AAAA,EACrD,cAAA,EAAgBA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,GAAW,OAAA,CAAQ,KAAK,CAAA,CACjD,QAAA,CAAS,qCAAqC;AACnD,CAAC;AAOM,IAAM,iBAAA,GAAoBA,EAAE,MAAA,CAAO;AAAA,EACxC,OAAA,EAASA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,yBAAyB,CAAA;AAAA,EACtE,cAAA,EAAgBA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAC1C,QAAA,CAAS,8DAA8D,CAAA;AAAA,EAC1E,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GAAW,OAAA,CAAQ,MAAM,CAAA,CAAE,QAAA,CAAS,yBAAyB,CAAA;AAAA,EAC/E,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GAAW,OAAA,CAAQ,OAAO,CAAA,CAAE,QAAA,CAAS,0BAA0B,CAAA;AAAA,EAClF,UAAA,EAAYA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,GAAW,OAAA,CAAQ,IAAI,CAAA,CAAE,QAAA,CAAS,gCAAgC,CAAA;AAAA,EAC1F,cAAA,EAAgBA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,GAAW,OAAA,CAAQ,KAAK,CAAA,CAAE,QAAA,CAAS,0BAA0B,CAAA;AAAA,EACzF,UAAA,EAAYA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,GAAW,OAAA,CAAQ,IAAI,CAAA,CAAE,QAAA,CAAS,4BAA4B;AACxF,CAAC;;;ACrBD,IAAM,iBAAA,GAAoBA,EAAE,MAAA,CAAO;AAAA;AAAA,EAEjC,EAAA,EAAI,yBAAA,CAA0B,QAAA,CAAS,mEAAmE,CAAA;AAAA;AAAA,EAG1G,KAAA,EAAO,eAAA,CAAgB,QAAA,CAAS,sBAAsB,CAAA;AAAA;AAAA,EAGtD,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,WAAW,CAAA;AAAA;AAAA,EAGhD,OAAOA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kDAAkD,CAAA;AAAA;AAAA,EAGxF,KAAA,EAAOA,CAAAA,CAAE,KAAA,CAAM,CAACA,EAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,MAAA,EAAQ,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,2CAA2C,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOxG,SAASA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA;AAAA,EAGtE,mBAAA,EAAqBA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,0CAA0C;AACzG,CAAC,CAAA;AAMM,IAAM,mBAAA,GAAsB,kBAAkB,MAAA,CAAO;AAAA,EAC1D,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA;AAAA,EACxB,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,oBAAoB,CAAA;AAAA,EACpD,UAAUA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8CAA8C;AACzF,CAAC;AAMM,IAAM,sBAAA,GAAyB,kBAAkB,MAAA,CAAO;AAAA,EAC7D,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,WAAW,CAAA;AAAA,EAC3B,aAAA,EAAeA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,uBAAuB;AAC5D,CAAC;AAMM,IAAM,iBAAA,GAAoB,kBAAkB,MAAA,CAAO;AAAA,EACxD,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,MAAM,CAAA;AAAA,EACtB,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,mCAAmC,CAAA;AAAA,EACjE,MAAA,EAAQA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,uCAAuC;AACvG,CAAC;AAMM,IAAM,gBAAA,GAAmB,kBAAkB,MAAA,CAAO;AAAA,EACvD,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,KAAK,CAAA;AAAA,EACrB,GAAA,EAAKA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,qBAAqB,CAAA;AAAA,EAC9C,MAAA,EAAQA,CAAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,QAAQ,CAAC,CAAA,CAAE,OAAA,CAAQ,OAAO,CAAA,CAAE,QAAA,CAAS,oBAAoB;AACpF,CAAC;AAMM,IAAM,mBAAA,GAAsB,kBAAkB,MAAA,CAAO;AAAA,EAC1D,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA;AAAA,EACxB,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,oBAAoB;AACtD,CAAC;AAMM,IAAM,mBAAA,GAAsB,kBAAkB,MAAA,CAAO;AAAA,EAC1D,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA;AAAA,EACxB,SAAA,EAAWA,EAAE,MAAA,CAAO;AAAA,IAClB,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,gCAAgC,CAAA;AAAA,IAChE,MAAA,EAAQA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,iCAAiC;AAAA,GAChG,CAAA,CAAE,QAAA,CAAS,2CAA2C;AACzD,CAAC;AAOM,IAAM,kBAAA,GAAqB,kBAAkB,MAAA,CAAO;AAAA,EACzD,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,OAAO,CAAA;AAAA,EACvB,QAAA,EAAUA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,oCAAoC;AAAA;AAEpF,CAAC;AAMM,IAAM,uBAAuCA,CAAAA,CAAE,IAAA;AAAA,EAAK,MACzDA,EAAE,KAAA,CAAM;AAAA,IACN,oBAAoB,MAAA,CAAO;AAAA,MACzB,QAAA,EAAUA,EAAE,KAAA,CAAM,oBAAoB,EAAE,QAAA,EAAS,CAAE,SAAS,8CAA8C;AAAA,KAC3G,CAAA;AAAA,IACD,sBAAA;AAAA,IACA,iBAAA;AAAA,IACA,gBAAA;AAAA,IACA,mBAAA;AAAA,IACA,mBAAA;AAAA,IACA,mBAAmB,MAAA,CAAO;AAAA,MACxB,UAAUA,CAAAA,CAAE,KAAA,CAAM,oBAAoB,CAAA,CAAE,SAAS,wBAAwB;AAAA,KAC1E;AAAA,GACF;AACH;AAMO,IAAM,iBAAA,GAAoBA,EAAE,MAAA,CAAO;AAAA,EACxC,cAAcA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA,EAC3E,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA,EACnE,SAASA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iCAAiC;AAC3E,CAAC;AA2BM,IAAM,oBAAA,GAAuBA,EAAE,MAAA,CAAO;AAAA;AAAA,EAE3C,EAAA,EAAI,yBAAA,CAA0B,QAAA,CAAS,+CAA+C,CAAA;AAAA;AAAA,EAGtF,KAAA,EAAO,eAAA,CAAgB,QAAA,CAAS,oBAAoB,CAAA;AAAA;AAAA,EAGpD,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gBAAgB,CAAA;AAAA;AAAA,EAGrD,OAAOA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,wCAAwC,CAAA;AAAA;AAAA,EAG9E,WAAA,EAAa,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,kBAAkB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMnE,SAASA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,4CAA4C,CAAA;AAAA;AAAA,EAGpF,mBAAA,EAAqBA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,0CAA0C,CAAA;AAAA;AAAA,EAGvG,YAAYA,CAAAA,CAAE,KAAA,CAAM,oBAAoB,CAAA,CAAE,SAAS,mCAAmC;AACxF,CAAC;AA2CM,IAAM,SAAA,GAAYA,EAAE,MAAA,CAAO;AAAA;AAAA,EAEhC,IAAA,EAAM,yBAAA,CAA0B,QAAA,CAAS,gDAAgD,CAAA;AAAA;AAAA,EAGzF,KAAA,EAAO,eAAA,CAAgB,QAAA,CAAS,mBAAmB,CAAA;AAAA;AAAA,EAGnD,SAASA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,aAAa,CAAA;AAAA;AAAA,EAGrD,WAAA,EAAa,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,iBAAiB,CAAA;AAAA;AAAA,EAGlE,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,mCAAmC,CAAA;AAAA;AAAA,EAGxE,QAAA,EAAU,iBAAA,CAAkB,QAAA,EAAS,CAAE,SAAS,uBAAuB,CAAA;AAAA;AAAA,EAGvE,MAAA,EAAQA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,GAAW,OAAA,CAAQ,IAAI,CAAA,CAAE,QAAA,CAAS,4BAA4B,CAAA;AAAA;AAAA,EAGlF,SAAA,EAAWA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,GAAW,OAAA,CAAQ,KAAK,CAAA,CAAE,QAAA,CAAS,gBAAgB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAU1E,UAAA,EAAYA,EAAE,KAAA,CAAM,oBAAoB,EAAE,QAAA,EAAS,CAChD,SAAS,0CAA0C,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAetD,KAAA,EAAOA,EAAE,KAAA,CAAM,oBAAoB,EAAE,QAAA,EAAS,CAC3C,SAAS,iEAAiE,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO7E,YAAYA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,oDAAoD,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ/F,mBAAA,EAAqBA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,yCAAyC,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMtG,OAAA,EAASA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,+BAA+B,CAAA;AAAA,EACjF,IAAA,EAAMA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,mCAAmC,CAAA;AAAA;AAAA,EAGlF,OAAA,EAAS,mBAAA,CAAoB,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA;AAAA,EAG/E,KAAA,EAAO,iBAAA,CAAkB,QAAA,EAAS,CAAE,SAAS,gCAAgC,CAAA;AAAA;AAAA,EAG7E,gBAAA,EAAkBA,EAAE,MAAA,CAAO;AAAA,IACzB,IAAA,EAAMA,CAAAA,CAAE,IAAA,CAAK,CAAC,QAAA,EAAU,YAAA,EAAc,WAAW,CAAC,CAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA,CACjE,SAAS,kFAAkF,CAAA;AAAA,IAC9F,cAAA,EAAgBA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAC1C,QAAA,CAAS,mDAAmD;AAAA,GAChE,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,0CAA0C,CAAA;AAAA;AAAA,EAGjE,IAAA,EAAM,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,mDAAmD;AAC/F,CAAC;AAKM,IAAM,GAAA,GAAM;AAAA,EACjB,MAAA,EAAQ,CAAC,MAAA,KAA2C,SAAA,CAAU,MAAM,MAAM;AAC5E;AAsBO,SAAS,UAAU,MAAA,EAAwC;AAChE,EAAA,OAAO,SAAA,CAAU,MAAM,MAAM,CAAA;AAC/B;AC7VO,IAAM,UAAA,GAAaA,EAAE,IAAA,CAAK;AAAA,EAC/B,KAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF,CAAC,CAAA;AASM,IAAM,gBAAA,GAAmBA,EAAE,IAAA,CAAK,CAAC,OAAO,MAAA,EAAQ,KAAA,EAAO,OAAA,EAAS,QAAQ,CAAC;AASzE,IAAM,iBAAA,GAAoBA,EAAE,MAAA,CAAO;AAAA,EACxC,GAAA,EAAKA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,kBAAkB,CAAA;AAAA,EAC3C,MAAA,EAAQ,iBAAiB,QAAA,EAAS,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,aAAa,CAAA;AAAA,EACzE,OAAA,EAASA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,qBAAqB,CAAA;AAAA,EACnF,MAAA,EAAQA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,kBAAkB,CAAA;AAAA,EAChF,MAAMA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,iCAAiC;AACzE,CAAC;AAyB+BA,EAAE,MAAA,CAAO;AAAA;AAAA;AAAA;AAAA,EAIvC,OAAA,EAASA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,aAAa,CAAA;AAAA;AAAA;AAAA;AAAA,EAKzD,OAAA,EAASA,EAAE,KAAA,CAAM;AAAA,IACfA,EAAE,MAAA,EAAO;AAAA,IACTA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ;AAAA,GACnB,CAAA,CAAE,OAAA,CAAQ,GAAG,CAAA,CAAE,SAAS,6BAA6B,CAAA;AAAA;AAAA;AAAA;AAAA,EAKtD,OAAA,EAASA,EAAE,KAAA,CAAM,UAAU,EAAE,QAAA,EAAS,CAAE,SAAS,sBAAsB,CAAA;AAAA;AAAA;AAAA;AAAA,EAKvE,WAAA,EAAaA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,oDAAoD,CAAA;AAAA;AAAA;AAAA;AAAA,EAKrG,MAAA,EAAQA,EAAE,MAAA,EAAO,CAAE,KAAI,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,qCAAqC;AACpF,CAAC;AAsBoCA,EAAE,MAAA,CAAO;AAAA;AAAA;AAAA;AAAA,EAI5C,OAAA,EAASA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,sBAAsB,CAAA;AAAA;AAAA;AAAA;AAAA,EAKnE,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,OAAA,CAAQ,GAAK,CAAA,CAAE,QAAA,CAAS,6BAA6B,CAAA;AAAA;AAAA;AAAA;AAAA,EAKhF,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,OAAA,CAAQ,GAAG,CAAA,CAAE,QAAA,CAAS,yBAAyB;AAC/E,CAAC;AAuBgCA,EAAE,MAAA,CAAO;AAAA;AAAA;AAAA;AAAA,EAIxC,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,wBAAwB,CAAA;AAAA;AAAA;AAAA;AAAA,EAKlD,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,6BAA6B,CAAA;AAAA;AAAA;AAAA;AAAA,EAK5D,cAAcA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,4BAA4B;AAC3E,CAAC;;;AC5JM,IAAM,cAAA,GAAiBA,CAAAA,CAAE,kBAAA,CAAmB,UAAA,EAAY;AAAA,EAC7DA,EAAE,MAAA,CAAO;AAAA,IACP,QAAA,EAAUA,CAAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA;AAAA,IAC5B,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,oBAAoB;AAAA,GACjD,CAAA;AAAA,EACDA,EAAE,MAAA,CAAO;AAAA,IACP,QAAA,EAAUA,CAAAA,CAAE,OAAA,CAAQ,KAAK,CAAA;AAAA,IACzB,IAAA,EAAM,iBAAA,CAAkB,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA,IAC7E,KAAA,EAAO,iBAAA,CAAkB,QAAA,EAAS,CAAE,SAAS,+DAA+D;AAAA,GAC7G,CAAA;AAAA,EACDA,EAAE,MAAA,CAAO;AAAA,IACP,QAAA,EAAUA,CAAAA,CAAE,OAAA,CAAQ,OAAO,CAAA;AAAA,IAC3B,KAAA,EAAOA,EAAE,KAAA,CAAMA,CAAAA,CAAE,SAAS,CAAA,CAAE,SAAS,mBAAmB;AAAA,GACzD;AACH,CAAC;AAeM,IAAM,oBAAA,GAAuBA,EAAE,MAAA,CAAO;AAAA;AAAA,EAE3C,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,yBAAyB,CAAA;AAAA;AAAA,EAEpD,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,mEAAmE,CAAA;AAAA;AAAA,EAEjG,KAAA,EAAOA,CAAAA,CAAE,KAAA,CAAM,CAACA,EAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,MAAA,IAAUA,CAAAA,CAAE,OAAA,EAAQ,EAAGA,CAAAA,CAAE,MAAK,EAAGA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAM,CAACA,CAAAA,CAAE,MAAA,EAAO,EAAGA,EAAE,MAAA,EAAQ,CAAC,CAAC,CAAC,CAAC,CAAA,CACvG,QAAA,EAAS,CAAE,SAAS,cAAc;AACvC,CAAC,CAAA,CAAE,SAAS,kBAAkB;AAQvB,IAAM,mBAAA,GAAsBA,EAAE,IAAA,CAAK;AAAA,EACxC,MAAA;AAAA,EACA,OAAA;AAAA,EACA,aAAA;AAAA,EACA,cAAA;AAAA,EACA,cAAA;AAAA,EACA,eAAA;AAAA,EACA,gBAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AAAA,EACA;AACF,CAAC,CAAA,CAAE,SAAS,gDAAgD;AAMrD,IAAM,gBAAA,GAAmBA,EAAE,MAAA,CAAO;AAAA,EACvC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,yBAAyB,CAAA;AAAA,EACpD,KAAA,EAAO,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,wBAAwB,CAAA;AAAA,EACnE,KAAA,EAAOA,EAAE,MAAA,EAAO,CAAE,UAAS,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,wBAAwB,CAAA;AAAA,EACzE,KAAA,EAAOA,CAAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,QAAA,EAAU,OAAO,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,gBAAgB,CAAA;AAAA,EAC/E,QAAQA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,wBAAwB,CAAA;AAAA,EAChE,UAAUA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA,EACxE,WAAWA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,4BAA4B,CAAA;AAAA,EACvE,MAAMA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,qBAAqB,CAAA;AAAA,EAC3D,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,mDAAmD,CAAA;AAAA;AAAA,EAGxF,MAAA,EAAQA,CAAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,OAAO,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,yCAAyC,CAAA;AAAA;AAAA,EAG/F,OAAA,EAAS,mBAAA,CAAoB,QAAA,EAAS,CAAE,SAAS,6CAA6C,CAAA;AAAA;AAAA,EAG9F,MAAMA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,qEAAqE,CAAA;AAAA,EAC3G,QAAQA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8CAA8C;AACvF,CAAC;AAKM,IAAM,qBAAA,GAAwBA,EAAE,MAAA,CAAO;AAAA,EAC5C,IAAA,EAAMA,CAAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,QAAA,EAAU,UAAU,CAAC,CAAA,CAAE,OAAA,CAAQ,MAAM,CAAA,CAAE,SAAS,gBAAgB;AACxF,CAAC;AAKM,IAAM,sBAAA,GAAyBA,EAAE,MAAA,CAAO;AAAA,EAC7C,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,4BAA4B,CAAA;AAAA,EACvF,eAAA,EAAiBA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,QAAO,CAAE,GAAA,EAAI,CAAE,QAAA,EAAU,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,6BAA6B;AACzG,CAAC;AAMM,IAAM,eAAA,GAAkBA,EAAE,IAAA,CAAK;AAAA,EACpC,SAAA;AAAA;AAAA,EACA,OAAA;AAAA;AAAA,EACA,QAAA;AAAA;AAAA,EACA,MAAA;AAAA;AAAA,EACA;AAAA;AACF,CAAC,CAAA,CAAE,SAAS,4CAA4C;AAMjD,IAAM,mBAAA,GAAsBA,EAAE,MAAA,CAAO;AAAA,EAC1C,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,wBAAwB,CAAA;AAAA,EACnD,KAAA,EAAOA,CAAAA,CAAE,IAAA,CAAK,CAAC,KAAA,EAAO,MAAM,CAAC,CAAA,CAAE,OAAA,CAAQ,KAAK,CAAA,CAAE,QAAA,CAAS,kBAAkB,CAAA;AAAA,EACzE,SAAA,EAAWA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,4BAA4B;AAC7E,CAAC;AAMM,IAAM,oBAAA,GAAuBA,EAAE,MAAA,CAAO;AAAA,EAC3C,MAAA,EAAQA,EAAE,KAAA,CAAM,mBAAmB,EAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,CAAS,8CAA8C;AACrG,CAAC,CAAA,CAAE,SAAS,+BAA+B;AAMpC,IAAM,mBAAA,GAAsBA,EAAE,MAAA,CAAO;AAAA,EAC1C,YAAYA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iDAAiD,CAAA;AAAA,EAC5F,QAAA,EAAUA,CAAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,SAAS,CAAC,CAAA,CAAE,OAAA,CAAQ,OAAO,CAAA,CAAE,QAAA,CAAS,+BAA+B,CAAA;AAAA,EAChG,QAAA,EAAUA,CAAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,QAAA,EAAU,OAAO,CAAC,CAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA,CAAE,SAAS,2BAA2B,CAAA;AAAA,EACrG,YAAYA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gCAAgC,CAAA;AAAA,EAC3E,aAAA,EAAeA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,gCAAgC;AACzF,CAAC,CAAA,CAAE,SAAS,iCAAiC;AAMtC,IAAM,oBAAA,GAAuBA,EAAE,MAAA,CAAO;AAAA,EAC3C,cAAA,EAAgBA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,oCAAoC,CAAA;AAAA,EACxE,cAAcA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kCAAkC,CAAA;AAAA,EAC/E,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,yCAAyC,CAAA;AAAA,EACzE,cAAcA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA,EAC3E,YAAYA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,+BAA+B,CAAA;AAAA,EAC1E,OAAOA,CAAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,OAAO,MAAA,EAAQ,OAAA,EAAS,SAAA,EAAW,MAAM,CAAC,CAAA,CAAE,OAAA,CAAQ,MAAM,CAAA,CAAE,SAAS,wBAAwB;AACtH,CAAC,CAAA,CAAE,SAAS,6BAA6B;AAMlC,IAAM,iBAAA,GAAoBA,EAAE,MAAA,CAAO;AAAA,EACxC,IAAA,EAAMA,CAAAA,CAAE,IAAA,CAAK,CAAC,UAAA,EAAY,eAAe,CAAC,CAAA,CAAE,OAAA,CAAQ,eAAe,CAAA,CAAE,QAAA,CAAS,qBAAqB,CAAA;AAAA,EACnG,UAAUA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,wCAAwC;AACnF,CAAC,CAAA,CAAE,SAAS,uCAAuC;AAM5C,IAAM,oBAAA,GAAuBA,EAAE,MAAA,CAAO;AAAA,EAC3C,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,8DAA8D,CAAA;AAAA,EACzF,MAAA,EAAQA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,yCAAyC;AACxG,CAAC,CAAA,CAAE,SAAS,+CAA+C;AAOpD,IAAM,uBAAA,GAA0BA,EAAE,IAAA,CAAK;AAAA,EAC5C,MAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA,OAAA;AAAA,EACA;AACF,CAAC,CAAA,CAAE,SAAS,6CAA6C;AASlD,IAAM,uBAAA,GAA0BA,EAAE,MAAA,CAAO;AAAA,EAC9C,IAAA,EAAMA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,6BAA6B,CAAA;AAAA,EACtE,MAAA,EAAQA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,+BAA+B,CAAA;AAAA,EAC1E,MAAA,EAAQA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,+BAA+B,CAAA;AAAA,EAC1E,SAAA,EAAWA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,0CAA0C,CAAA;AAAA,EACxF,aAAA,EAAeA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,8CAA8C,CAAA;AAAA,EACjG,OAAA,EAASA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,iDAAiD;AACpG,CAAC,CAAA,CAAE,SAAS,0CAA0C;AAQ/C,IAAM,sBAAA,GAAyBA,EAAE,MAAA,CAAO;AAAA,EAC7C,eAAA,EAAiBA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,gCAAgC,CAAA;AAAA,EACpF,qBAAA,EAAuBA,EAAE,KAAA,CAAM,uBAAuB,EAAE,QAAA,EAAS,CAC9D,SAAS,gGAAgG;AAC9G,CAAC,CAAA,CAAE,SAAS,4CAA4C;AASjD,IAAM,aAAA,GAAgBA,EAAE,MAAA,CAAO;AAAA,EACpC,IAAA,EAAM,yBAAA,CAA0B,QAAA,CAAS,6BAA6B,CAAA;AAAA,EACtE,KAAA,EAAO,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,eAAe,CAAA;AAAA,EAC1D,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,eAAe,CAAA;AAAA,EACpD,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,0CAA0C,CAAA;AAAA,EAC/E,MAAA,EAAQA,EAAE,KAAA,CAAM,oBAAoB,EAAE,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA,EACxF,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,mBAAmB,CAAA;AAAA,EACtE,MAAA,EAAQA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,sCAAsC,CAAA;AAAA,EAClF,SAAA,EAAWA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,+BAA+B,CAAA;AAAA,EAC9E,OAAA,EAASA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,gBAAgB;AAC9D,CAAC,CAAA,CAAE,SAAS,gDAAgD;AAQrD,IAAM,qBAAA,GAAwBA,EAAE,MAAA,CAAO;AAAA,EAC5C,OAAA,EAASA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,iCAAiC,CAAA;AAAA,EAC7E,QAAA,EAAUA,CAAAA,CAAE,IAAA,CAAK,CAAC,KAAA,EAAO,QAAA,EAAU,MAAM,CAAC,CAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA,CAAE,SAAS,mCAAmC,CAAA;AAAA,EAC1G,IAAA,EAAMA,CAAAA,CAAE,IAAA,CAAK,CAAC,QAAA,EAAU,MAAA,EAAQ,OAAO,CAAC,CAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA,CAAE,SAAS,yBAAyB,CAAA;AAAA,EAC9F,UAAUA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,uDAAuD;AAClG,CAAC,CAAA,CAAE,SAAS,sCAAsC;AAK3C,IAAM,kBAAA,GAAqBA,EAAE,MAAA,CAAO;AAAA,EACzC,YAAA,EAAcA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,mDAAmD,CAAA;AAAA,EACrF,gBAAgBA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,6CAA6C,CAAA;AAAA,EAC5F,OAAA,EAASA,EAAE,KAAA,CAAMA,CAAAA,CAAE,QAAQ,CAAA,CAAE,SAAS,yBAAyB;AACjE,CAAC;AAKM,IAAM,oBAAA,GAAuBA,EAAE,MAAA,CAAO;AAAA,EAC3C,cAAA,EAAgBA,EAAE,MAAA,EAAO;AAAA,EACzB,YAAA,EAAcA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAClC,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACzB,CAAC;AAKM,IAAM,iBAAA,GAAoBA,EAAE,MAAA,CAAO;AAAA,EACxC,cAAA,EAAgBA,EAAE,MAAA,EAAO;AAAA,EACzB,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,aAAA,EAAeA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACnC,iBAAA,EAAmBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAChC,CAAC;AAMM,IAAM,oBAAA,GAAuBA,EAAE,IAAA,CAAK;AAAA,EACzC,MAAA;AAAA;AAAA,EACA,QAAA;AAAA;AAAA,EACA,OAAA;AAAA;AAAA,EACA,OAAA;AAAA;AAAA,EACA,SAAA;AAAA;AAAA,EACA,YAAA;AAAA;AAAA,EACA;AAAA;AACF,CAAC;AAKM,IAAM,sBAAA,GAAyBA,EAAE,MAAA,CAAO;AAAA,EAC7C,IAAA,EAAM,oBAAA,CAAqB,OAAA,CAAQ,MAAM,CAAA;AAAA;AAAA,EAGzC,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,6EAA6E,CAAA;AAAA;AAAA,EAGlH,iBAAA,EAAmBA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,sCAAsC,CAAA;AAAA,EAC7F,UAAA,EAAYA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,8CAA8C,CAAA;AAAA;AAAA,EAG9F,KAAA,EAAOA,CAAAA,CAAE,KAAA,CAAM,CAACA,EAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,MAAA,EAAQ,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,iDAAiD;AAChH,CAAC;AA6BM,IAAM,cAAA,GAAiBA,EAAE,MAAA,CAAO;AAAA,EACrC,IAAA,EAAM,yBAAA,CAA0B,QAAA,EAAS,CAAE,SAAS,2CAA2C,CAAA;AAAA,EAC/F,KAAA,EAAO,gBAAgB,QAAA,EAAS;AAAA;AAAA,EAChC,IAAA,EAAMA,EAAE,IAAA,CAAK;AAAA,IACX,MAAA;AAAA;AAAA,IACA,QAAA;AAAA;AAAA,IACA,SAAA;AAAA;AAAA,IACA,UAAA;AAAA;AAAA,IACA,UAAA;AAAA;AAAA,IACA,OAAA;AAAA;AAAA,IACA;AAAA;AAAA,GACD,CAAA,CAAE,OAAA,CAAQ,MAAM,CAAA;AAAA;AAAA,EAGjB,IAAA,EAAM,cAAA,CAAe,QAAA,EAAS,CAAE,SAAS,2DAA2D,CAAA;AAAA;AAAA,EAGpG,OAAA,EAASA,EAAE,KAAA,CAAM;AAAA,IACfA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA;AAAA;AAAA,IAClBA,CAAAA,CAAE,MAAM,gBAAgB;AAAA;AAAA,GACzB,CAAA,CAAE,QAAA,CAAS,8BAA8B,CAAA;AAAA,EAC1C,MAAA,EAAQA,EAAE,KAAA,CAAM,oBAAoB,EAAE,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA,EACxF,IAAA,EAAMA,EAAE,KAAA,CAAM;AAAA,IACZA,EAAE,MAAA,EAAO;AAAA;AAAA,IACTA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,CAAO;AAAA,MACf,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,MAChB,OAAOA,CAAAA,CAAE,IAAA,CAAK,CAAC,KAAA,EAAO,MAAM,CAAC;AAAA,KAC9B,CAAC;AAAA,GACH,EAAE,QAAA,EAAS;AAAA;AAAA,EAGZ,gBAAA,EAAkBA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,2BAA2B,CAAA;AAAA,EACrF,gBAAA,EAAkBA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,sDAAsD,CAAA;AAAA;AAAA,EAGhH,YAAA,EAAcA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,CAAO;AAAA,IAC7B,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,yBAAyB,CAAA;AAAA,IACpD,OAAOA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,4BAA4B,CAAA;AAAA,IAClE,UAAUA,CAAAA,CAAE,IAAA,CAAK,CAAC,QAAA,EAAU,cAAc,UAAA,EAAY,IAAA,EAAM,SAAA,EAAW,aAAa,CAAC,CAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA,CAAE,SAAS,iBAAiB,CAAA;AAAA,IACnI,KAAA,EAAOA,CAAAA,CAAE,KAAA,CAAM,CAACA,EAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,MAAA,IAAUA,CAAAA,CAAE,OAAA,EAAQ,EAAGA,CAAAA,CAAE,MAAK,EAAGA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAM,CAACA,CAAAA,CAAE,MAAA,EAAO,EAAGA,EAAE,MAAA,EAAQ,CAAC,CAAC,CAAC,CAAC,CAAA,CACvG,QAAA,EAAS,CAAE,SAAS,qBAAqB;AAAA,GAC7C,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,mDAAmD,CAAA;AAAA;AAAA,EAG3E,WAAWA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,wBAAwB,CAAA;AAAA,EACnE,SAASA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,qBAAqB,CAAA;AAAA,EAC9D,UAAUA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,cAAc,CAAA;AAAA;AAAA,EAGxD,SAAA,EAAW,qBAAA,CAAsB,QAAA,EAAS,CAAE,SAAS,6BAA6B,CAAA;AAAA;AAAA,EAGlF,UAAA,EAAY,sBAAA,CAAuB,QAAA,EAAS,CAAE,SAAS,qEAAqE,CAAA;AAAA;AAAA,EAG5H,UAAA,EAAY,sBAAA,CAAuB,QAAA,EAAS,CAAE,SAAS,0BAA0B,CAAA;AAAA;AAAA,EAGjF,MAAA,EAAQ,mBAAmB,QAAA,EAAS;AAAA,EACpC,QAAA,EAAU,qBAAqB,QAAA,EAAS;AAAA,EACxC,KAAA,EAAO,kBAAkB,QAAA,EAAS;AAAA,EAClC,OAAA,EAAS,oBAAoB,QAAA,EAAS;AAAA,EACtC,QAAA,EAAU,qBAAqB,QAAA,EAAS;AAAA;AAAA,EAGxC,WAAA,EAAa,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,6CAA6C,CAAA;AAAA,EAC9F,OAAA,EAAS,iBAAA,CAAkB,QAAA,EAAS,CAAE,SAAS,uCAAuC,CAAA;AAAA;AAAA,EAGtF,SAAA,EAAW,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA;AAAA,EAG7E,QAAA,EAAU,oBAAA,CAAqB,QAAA,EAAS,CAAE,SAAS,qCAAqC,CAAA;AAAA;AAAA,EAGxF,QAAA,EAAU,oBAAA,CAAqB,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA;AAAA,EAGpF,YAAA,EAAcA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,sCAAsC,CAAA;AAAA,EAC5F,UAAA,EAAYA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,4CAA4C,CAAA;AAAA;AAAA,EAGhG,UAAA,EAAYA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,4CAA4C,CAAA;AAAA,EAChG,WAAA,EAAaA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,mDAAmD,CAAA;AAAA;AAAA,EAGxG,eAAeA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,6CAA6C,CAAA;AAAA;AAAA,EAG5F,qBAAA,EAAuBA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,CAAO;AAAA,IACtC,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,kCAAkC,CAAA;AAAA,IACjE,KAAA,EAAOA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,CAAS,4CAA4C;AAAA,GAC9F,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,4CAA4C,CAAA;AAAA;AAAA,EAGpE,YAAYA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,2DAA2D,CAAA;AAAA;AAAA,EAGvG,eAAeA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,IAAA,CAAK,CAAC,KAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,MAAM,CAAC,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA;AAAA,EAGpH,WAAA,EAAa,uBAAA,CAAwB,QAAA,EAAS,CAAE,SAAS,0CAA0C,CAAA;AAAA;AAAA,EAGnG,UAAA,EAAY,sBAAA,CAAuB,QAAA,EAAS,CAAE,SAAS,4CAA4C,CAAA;AAAA;AAAA,EAGnG,IAAA,EAAMA,EAAE,KAAA,CAAM,aAAa,EAAE,QAAA,EAAS,CAAE,SAAS,8CAA8C,CAAA;AAAA;AAAA,EAG/F,SAAA,EAAW,qBAAA,CAAsB,QAAA,EAAS,CAAE,SAAS,sCAAsC,CAAA;AAAA;AAAA,EAG3F,iBAAiBA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,6CAA6C,CAAA;AAAA;AAAA,EAG9F,eAAeA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,+BAA+B,CAAA;AAAA;AAAA,EAG9E,UAAA,EAAYA,EAAE,MAAA,CAAO;AAAA,IACnB,KAAA,EAAO,gBAAgB,QAAA,EAAS;AAAA,IAChC,OAAA,EAAS,gBAAgB,QAAA,EAAS;AAAA,IAClC,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,GAC3B,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,iDAAiD,CAAA;AAAA;AAAA,EAGxE,IAAA,EAAM,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,iDAAiD,CAAA;AAAA;AAAA,EAG3F,UAAA,EAAY,sBAAA,CAAuB,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA;AAAA,EAGxF,WAAA,EAAa,uBAAA,CAAwB,QAAA,EAAS,CAAE,SAAS,mCAAmC;AAC9F,CAAC;AAMM,IAAM,eAAA,GAAkBA,EAAE,MAAA,CAAO;AAAA,EACtC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,yBAAyB,CAAA;AAAA,EACpD,KAAA,EAAO,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,wBAAwB,CAAA;AAAA,EACnE,WAAA,EAAa,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,kBAAkB,CAAA;AAAA,EACnE,QAAA,EAAU,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,gBAAgB,CAAA;AAAA,EAC9D,UAAUA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,oBAAoB,CAAA;AAAA,EAC9D,UAAUA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,mBAAmB,CAAA;AAAA,EAC7D,QAAQA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,iBAAiB,CAAA;AAAA,EACzD,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,KAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,IAAI,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,kCAAkC,CAAA;AAAA,EAC9F,QAAQA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA,EACrE,WAAWA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA,EAC3E,WAAWA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iCAAiC;AAC7E,CAAC;AAKM,IAAM,iBAAA,GAAoBA,EAAE,MAAA,CAAO;AAAA,EACxC,KAAA,EAAO,gBAAgB,QAAA,EAAS;AAAA,EAChC,WAAA,EAAaA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA;AAAA,EACtC,SAAA,EAAWA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA;AAAA,EACpC,SAASA,CAAAA,CAAE,IAAA,CAAK,CAAC,GAAA,EAAK,KAAK,GAAA,EAAK,GAAG,CAAC,CAAA,CAAE,QAAQ,GAAG,CAAA,CAAE,UAAU,CAAA,GAAA,KAAO,QAAA,CAAS,GAAG,CAAkB,CAAA;AAAA,EAClG,MAAA,EAAQA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,KAAA,CAAM;AAAA,IACtBA,EAAE,MAAA,EAAO;AAAA;AAAA,IACT;AAAA;AAAA,GACD,CAAC;AACJ,CAAC;AAsBM,IAAM,cAAA,GAAiBA,EAAE,MAAA,CAAO;AAAA,EACrC,IAAA,EAAMA,EAAE,IAAA,CAAK;AAAA,IACX,QAAA;AAAA;AAAA,IACA,QAAA;AAAA;AAAA,IACA,QAAA;AAAA;AAAA,IACA,OAAA;AAAA;AAAA,IACA,QAAA;AAAA;AAAA,IACA;AAAA;AAAA,GACD,CAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA;AAAA;AAAA,EAGnB,IAAA,EAAM,cAAA,CAAe,QAAA,EAAS,CAAE,SAAS,2DAA2D,CAAA;AAAA,EAEpG,QAAA,EAAUA,CAAAA,CAAE,KAAA,CAAM,iBAAiB,EAAE,QAAA,EAAS;AAAA;AAAA,EAC9C,MAAA,EAAQA,CAAAA,CAAE,KAAA,CAAM,iBAAiB,EAAE,QAAA,EAAS;AAAA;AAAA;AAAA,EAG5C,WAAA,EAAaA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,CAAO;AAAA,IAC5B,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,uBAAuB,CAAA;AAAA,IAClD,KAAA,EAAOA,CAAAA,CAAE,IAAA,CAAK,CAAC,KAAA,EAAO,MAAM,CAAC,CAAA,CAAE,OAAA,CAAQ,MAAM,CAAA,CAAE,QAAA,CAAS,gBAAgB;AAAA,GACzE,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,4DAA4D,CAAA;AAAA;AAAA,EAGpF,OAAA,EAAS,mBAAA,CAAoB,QAAA,EAAS,CAAE,SAAS,4CAA4C,CAAA;AAAA;AAAA,EAG7F,IAAA,EAAM,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,iDAAiD;AAC7F,CAAC;AAoBM,IAAM,UAAA,GAAaA,EAAE,MAAA,CAAO;AAAA,EAC/B,IAAA,EAAM,eAAe,QAAA,EAAS;AAAA;AAAA,EAC9B,IAAA,EAAM,eAAe,QAAA,EAAS;AAAA;AAAA,EAC9B,SAAA,EAAWA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,EAAG,cAAc,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,6BAA6B,CAAA;AAAA,EACjG,SAAA,EAAWA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,EAAG,cAAc,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,6BAA6B;AACrG,CAAC;AAsBM,SAAS,WAAW,MAAA,EAA0C;AACnE,EAAA,OAAO,UAAA,CAAW,MAAM,MAAM,CAAA;AAChC;AC1kBO,IAAM,oBAAA,GAAuBA,EAAE,MAAA,CAAO;AAAA,EAC3C,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,6BAA6B;AAC3D,CAAC,CAAA;AAYqCA,EAAE,MAAA,CAAO;AAAA;AAAA,EAE7C,GAAA,EAAKA,CAAAA,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS;AAAA;AAAA,EAGtB,GAAA,EAAKA,CAAAA,CAAE,GAAA,EAAI,CAAE,QAAA;AACf,CAAC;AAMuCA,EAAE,MAAA,CAAO;AAAA;AAAA,EAE/C,GAAA,EAAKA,CAAAA,CAAE,KAAA,CAAM,CAACA,CAAAA,CAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,IAAA,EAAK,EAAG,oBAAoB,CAAC,EAAE,QAAA,EAAS;AAAA;AAAA,EAGpE,IAAA,EAAMA,CAAAA,CAAE,KAAA,CAAM,CAACA,CAAAA,CAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,IAAA,EAAK,EAAG,oBAAoB,CAAC,EAAE,QAAA,EAAS;AAAA;AAAA,EAGrE,GAAA,EAAKA,CAAAA,CAAE,KAAA,CAAM,CAACA,CAAAA,CAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,IAAA,EAAK,EAAG,oBAAoB,CAAC,EAAE,QAAA,EAAS;AAAA;AAAA,EAGpE,IAAA,EAAMA,CAAAA,CAAE,KAAA,CAAM,CAACA,CAAAA,CAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,IAAA,EAAK,EAAG,oBAAoB,CAAC,EAAE,QAAA;AAC9D,CAAC;AASgCA,EAAE,MAAA,CAAO;AAAA;AAAA,EAExC,KAAKA,CAAAA,CAAE,KAAA,CAAMA,EAAE,GAAA,EAAK,EAAE,QAAA,EAAS;AAAA;AAAA,EAG/B,MAAMA,CAAAA,CAAE,KAAA,CAAMA,EAAE,GAAA,EAAK,EAAE,QAAA;AACzB,CAAC;AAMkCA,EAAE,MAAA,CAAO;AAAA;AAAA,EAE1C,QAAA,EAAUA,EAAE,KAAA,CAAM;AAAA,IAChBA,CAAAA,CAAE,KAAA,CAAM,CAACA,CAAAA,CAAE,MAAA,IAAUA,CAAAA,CAAE,IAAA,EAAK,EAAG,oBAAoB,CAAC,CAAA;AAAA,IACpDA,CAAAA,CAAE,KAAA,CAAM,CAACA,CAAAA,CAAE,MAAA,IAAUA,CAAAA,CAAE,IAAA,EAAK,EAAG,oBAAoB,CAAC;AAAA,GACrD,EAAE,QAAA;AACL,CAAC;AAUmCA,EAAE,MAAA,CAAO;AAAA;AAAA,EAE3C,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA;AAAA,EAG/B,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA;AAAA,EAGjC,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACxB,CAAC;AASoCA,EAAE,MAAA,CAAO;AAAA;AAAA,EAE5C,KAAA,EAAOA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA;AAAA,EAG5B,OAAA,EAASA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA;AACvB,CAAC;AAUM,IAAM,oBAAA,GAAuBA,EAAE,MAAA,CAAO;AAAA;AAAA,EAE3C,GAAA,EAAKA,CAAAA,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS;AAAA,EACtB,GAAA,EAAKA,CAAAA,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS;AAAA;AAAA,EAGtB,GAAA,EAAKA,CAAAA,CAAE,KAAA,CAAM,CAACA,CAAAA,CAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,IAAA,EAAK,EAAG,oBAAoB,CAAC,EAAE,QAAA,EAAS;AAAA,EACpE,IAAA,EAAMA,CAAAA,CAAE,KAAA,CAAM,CAACA,CAAAA,CAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,IAAA,EAAK,EAAG,oBAAoB,CAAC,EAAE,QAAA,EAAS;AAAA,EACrE,GAAA,EAAKA,CAAAA,CAAE,KAAA,CAAM,CAACA,CAAAA,CAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,IAAA,EAAK,EAAG,oBAAoB,CAAC,EAAE,QAAA,EAAS;AAAA,EACpE,IAAA,EAAMA,CAAAA,CAAE,KAAA,CAAM,CAACA,CAAAA,CAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,IAAA,EAAK,EAAG,oBAAoB,CAAC,EAAE,QAAA,EAAS;AAAA;AAAA,EAGrE,KAAKA,CAAAA,CAAE,KAAA,CAAMA,EAAE,GAAA,EAAK,EAAE,QAAA,EAAS;AAAA,EAC/B,MAAMA,CAAAA,CAAE,KAAA,CAAMA,EAAE,GAAA,EAAK,EAAE,QAAA,EAAS;AAAA,EAChC,QAAA,EAAUA,EAAE,KAAA,CAAM;AAAA,IAChBA,CAAAA,CAAE,KAAA,CAAM,CAACA,CAAAA,CAAE,MAAA,IAAUA,CAAAA,CAAE,IAAA,EAAK,EAAG,oBAAoB,CAAC,CAAA;AAAA,IACpDA,CAAAA,CAAE,KAAA,CAAM,CAACA,CAAAA,CAAE,MAAA,IAAUA,CAAAA,CAAE,IAAA,EAAK,EAAG,oBAAoB,CAAC;AAAA,GACrD,EAAE,QAAA,EAAS;AAAA;AAAA,EAGZ,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC/B,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA;AAAA,EAG/B,KAAA,EAAOA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EAC5B,OAAA,EAASA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA;AACvB,CAAC,CAAA;AAiCM,IAAM,wBAAoDA,CAAAA,CAAE,IAAA;AAAA,EAAK,MACtEA,EAAE,MAAA,CAAOA,CAAAA,CAAE,QAAO,EAAGA,CAAAA,CAAE,OAAA,EAAS,CAAA,CAAE,GAAA;AAAA,IAChCA,EAAE,MAAA,CAAO;AAAA,MACP,IAAA,EAAMA,CAAAA,CAAE,KAAA,CAAM,qBAAqB,EAAE,QAAA,EAAS;AAAA,MAC9C,GAAA,EAAKA,CAAAA,CAAE,KAAA,CAAM,qBAAqB,EAAE,QAAA,EAAS;AAAA,MAC7C,IAAA,EAAM,sBAAsB,QAAA;AAAS,KACtC;AAAA;AAEL,CAAA;AA2BiCA,EAAE,MAAA,CAAO;AAAA,EACxC,KAAA,EAAO,sBAAsB,QAAA;AAC/B,CAAC;AAqEM,IAAM,yBAAyCA,CAAAA,CAAE,IAAA;AAAA,EAAK,MAC3DA,EAAE,MAAA,CAAO;AAAA,IACP,MAAMA,CAAAA,CAAE,KAAA;AAAA,MACNA,EAAE,KAAA,CAAM;AAAA;AAAA,QAENA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,MAAA,IAAU,oBAAoB,CAAA;AAAA;AAAA,QAEzC;AAAA,OACD;AAAA,MACD,QAAA,EAAS;AAAA,IAEX,KAAKA,CAAAA,CAAE,KAAA;AAAA,MACLA,EAAE,KAAA,CAAM;AAAA,QACNA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,MAAA,IAAU,oBAAoB,CAAA;AAAA,QACzC;AAAA,OACD;AAAA,MACD,QAAA,EAAS;AAAA,IAEX,IAAA,EAAMA,EAAE,KAAA,CAAM;AAAA,MACZA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,MAAA,IAAU,oBAAoB,CAAA;AAAA,MACzC;AAAA,KACD,EAAE,QAAA;AAAS,GACb;AACH,CAAA;;;ACjUO,IAAM,wBAAA,GAA2BA,EAAE,IAAA,CAAK;AAAA,EAC7C,SAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAC,CAAA,CAAE,SAAS,sBAAsB;AAK3B,IAAM,sBAAA,GAAyBA,EAAE,IAAA,CAAK;AAAA,EAC3C,QAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF,CAAC,CAAA,CAAE,SAAS,oBAAoB;AAMzB,IAAM,2BAAA,GAA8BA,EAAE,MAAA,CAAO;AAAA;AAAA,EAElD,KAAA,EAAO,eAAA,CAAgB,QAAA,CAAS,qBAAqB,CAAA;AAAA;AAAA,EAGrD,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,8BAA8B,CAAA;AAAA;AAAA,EAG7D,UAAA,EAAY,sBAAA,CAAuB,QAAA,EAAS,CAAE,SAAS,gBAAgB,CAAA;AAAA;AAAA,EAGvE,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,uCAAuC;AAC9E,CAAC,CAAA,CAAE,SAAS,yBAAyB;AAM9B,IAAM,qBAAA,GAAwBA,EAAE,MAAA,CAAO;AAAA;AAAA,EAE5C,SAAA,EAAWA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,gCAAgC,CAAA;AAAA;AAAA,EAG9E,eAAA,EAAiBA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,sCAAsC,CAAA;AAAA;AAAA,EAG1F,OAAA,EAASA,EAAE,KAAA,CAAM,2BAA2B,EAAE,QAAA,EAAS,CAAE,SAAS,uBAAuB;AAC3F,CAAC,CAAA,CAAE,SAAS,gCAAgC;AAMrC,IAAM,mBAAA,GAAsBA,EAAE,MAAA,CAAO;AAAA;AAAA,EAE1C,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,oBAAoB,CAAA;AAAA;AAAA,EAGpD,SAAA,EAAWA,CAAAA,CAAE,IAAA,CAAK,CAAC,SAAS,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAK,CAAC,CAAA,CAAE,OAAA,CAAQ,OAAO,CAAA,CAAE,SAAS,oBAAoB,CAAA;AAAA;AAAA,EAGvG,KAAA,EAAO,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,uBAAuB,CAAA;AAAA;AAAA,EAGlE,QAAQA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,sBAAsB;AAC/D,CAAC,CAAA,CAAE,SAAS,2BAA2B;AAMhC,IAAM,qBAAA,GAAwBA,EAAE,MAAA,CAAO;AAAA;AAAA,EAE5C,EAAA,EAAI,yBAAA,CAA0B,QAAA,CAAS,uCAAuC,CAAA;AAAA;AAAA,EAG9E,KAAA,EAAO,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,cAAc,CAAA;AAAA;AAAA,EAGzD,WAAA,EAAa,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,0CAA0C,CAAA;AAAA;AAAA,EAG3F,MAAM,eAAA,CAAgB,OAAA,CAAQ,QAAQ,CAAA,CAAE,SAAS,oBAAoB,CAAA;AAAA;AAAA,EAGrE,WAAA,EAAa,iBAAA,CAAkB,QAAA,EAAS,CAAE,SAAS,mCAAmC,CAAA;AAAA;AAAA,EAGtF,YAAA,EAAc,wBAAA,CAAyB,QAAA,EAAS,CAAE,SAAS,kCAAkC,CAAA;AAAA;AAAA,EAG7F,WAAWA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,4CAA4C,CAAA;AAAA;AAAA,EAGtF,UAAA,EAAY,sBAAA,CAAuB,QAAA,EAAS,CAAE,SAAS,6CAA6C,CAAA;AAAA;AAAA,EAGpG,YAAYA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8CAA8C,CAAA;AAAA;AAAA,EAGzF,QAAQA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,yBAAyB,CAAA;AAAA;AAAA,EAGhE,MAAA,EAAQ,qBAAA,CAAsB,QAAA,EAAS,CAAE,SAAS,sBAAsB,CAAA;AAAA;AAAA,EAGxE,eAAeA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,6BAA6B,CAAA;AAAA;AAAA,EAG3E,YAAYA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,2BAA2B,CAAA;AAAA;AAAA,EAGtE,WAAWA,CAAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,OAAO,KAAA,EAAO,KAAA,EAAO,KAAK,CAAC,EAAE,QAAA,EAAS,CAAE,QAAQ,OAAO,CAAA,CAAE,SAAS,oBAAoB,CAAA;AAAA;AAAA,EAGlH,QAAA,EAAUA,EAAE,KAAA,CAAM,mBAAmB,EAAE,QAAA,EAAS,CAAE,SAAS,6CAA6C,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASxG,MAAA,EAAQA,EAAE,MAAA,CAAO;AAAA,IACf,CAAA,EAAGA,EAAE,MAAA,EAAO;AAAA,IACZ,CAAA,EAAGA,EAAE,MAAA,EAAO;AAAA,IACZ,CAAA,EAAGA,EAAE,MAAA,EAAO;AAAA,IACZ,CAAA,EAAGA,EAAE,MAAA;AAAO,GACb,CAAA,CAAE,QAAA,CAAS,sBAAsB,CAAA;AAAA;AAAA,EAGlC,SAASA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,+BAA+B,CAAA;AAAA;AAAA,EAGxE,UAAA,EAAY,sBAAA,CAAuB,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA;AAAA,EAGxF,IAAA,EAAM,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAC3E,CAAC;AAMM,IAAM,6BAAA,GAAgCA,EAAE,MAAA,CAAO;AAAA;AAAA,EAEpD,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,oBAAoB,CAAA;AAAA;AAAA,EAGhD,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,8BAA8B,CAAA;AAAA;AAAA,EAG9D,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,8BAA8B,CAAA;AAAA;AAAA,EAG9D,MAAA,EAAQ,qBAAA,CAAsB,QAAA,EAAS,CAAE,SAAS,kCAAkC;AACtF,CAAC,CAAA,CAAE,SAAS,oCAAoC;AAMzC,IAAM,kBAAA,GAAqBA,EAAE,MAAA,CAAO;AAAA;AAAA,EAEzC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,yBAAyB,CAAA;AAAA;AAAA,EAGpD,KAAA,EAAO,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA;AAAA,EAGzE,IAAA,EAAMA,CAAAA,CAAE,IAAA,CAAK,CAAC,QAAQ,QAAA,EAAU,MAAA,EAAQ,QAAA,EAAU,QAAQ,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,mBAAmB,CAAA;AAAA;AAAA,EAGpG,OAAA,EAASA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,CAAO;AAAA,IACxB,OAAOA,CAAAA,CAAE,KAAA,CAAM,CAACA,CAAAA,CAAE,QAAO,EAAGA,CAAAA,CAAE,MAAA,EAAO,EAAGA,EAAE,OAAA,EAAS,CAAC,CAAA,CAAE,SAAS,cAAc,CAAA;AAAA,IAC7E,KAAA,EAAO;AAAA,GACR,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,uBAAuB,CAAA;AAAA;AAAA,EAG/C,WAAA,EAAa,6BAAA,CAA8B,QAAA,EAAS,CAAE,SAAS,oCAAoC,CAAA;AAAA;AAAA,EAGnG,cAAcA,CAAAA,CAAE,KAAA,CAAM,CAACA,CAAAA,CAAE,MAAA,IAAUA,CAAAA,CAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,SAAS,CAAC,EAAE,QAAA,EAAS,CAAE,SAAS,sBAAsB,CAAA;AAAA;AAAA,EAGvG,KAAA,EAAOA,CAAAA,CAAE,IAAA,CAAK,CAAC,WAAA,EAAa,QAAQ,CAAC,CAAA,CAAE,OAAA,CAAQ,WAAW,CAAA,CAAE,QAAA,CAAS,0BAA0B,CAAA;AAAA;AAAA,EAG/F,aAAA,EAAeA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,oCAAoC;AAC7F,CAAC;AA+BM,IAAM,eAAA,GAAkBA,EAAE,MAAA,CAAO;AAAA;AAAA,EAEtC,IAAA,EAAM,yBAAA,CAA0B,QAAA,CAAS,uBAAuB,CAAA;AAAA;AAAA,EAGhE,KAAA,EAAO,eAAA,CAAgB,QAAA,CAAS,iBAAiB,CAAA;AAAA;AAAA,EAGjD,WAAA,EAAa,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,uBAAuB,CAAA;AAAA;AAAA,EAGxE,MAAA,EAAQ,qBAAA,CAAsB,QAAA,EAAS,CAAE,SAAS,gCAAgC,CAAA;AAAA;AAAA,EAGlF,SAASA,CAAAA,CAAE,KAAA,CAAM,qBAAqB,CAAA,CAAE,SAAS,oBAAoB,CAAA;AAAA;AAAA,EAGrE,iBAAiBA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kCAAkC,CAAA;AAAA;AAAA,EAGlF,SAAA,EAAWA,EAAE,MAAA,CAAO;AAAA,IAClB,OAAOA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kDAAkD,CAAA;AAAA,IACxF,YAAA,EAAcA,CAAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,aAAa,WAAA,EAAa,WAAA,EAAa,YAAA,EAAc,YAAA,EAAc,cAAA,EAAgB,cAAA,EAAgB,aAAa,WAAA,EAAa,aAAA,EAAe,cAAA,EAAgB,cAAA,EAAgB,QAAQ,CAAC,EAAE,OAAA,CAAQ,YAAY,CAAA,CAAE,QAAA,CAAS,2BAA2B,CAAA;AAAA,IAChR,gBAAA,EAAkBA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,yCAAyC;AAAA,GAC/F,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,kDAAkD,CAAA;AAAA;AAAA,EAGzE,aAAA,EAAeA,EAAE,KAAA,CAAM,kBAAkB,EAAE,QAAA,EAAS,CAAE,SAAS,2DAA2D,CAAA;AAAA;AAAA,EAG1H,IAAA,EAAM,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,+BAA+B,CAAA;AAAA;AAAA,EAGzE,WAAA,EAAa,uBAAA,CAAwB,QAAA,EAAS,CAAE,SAAS,mCAAmC;AAC9F,CAAC;AAgBM,IAAM,SAAA,GAAY;AAAA,EACvB,MAAA,EAAQ,CAAC,MAAA,KAAuD,eAAA,CAAgB,MAAM,MAAM;AAC9F;ACvRO,IAAM,UAAA,GAAaA,EAAE,IAAA,CAAK;AAAA,EAC/B,SAAA;AAAA;AAAA,EACA,SAAA;AAAA;AAAA,EACA,QAAA;AAAA;AAAA,EACA;AAAA;AACF,CAAC;AAKM,IAAM,kBAAA,GAAqBA,EAAE,MAAA,CAAO;AAAA,EACzC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,YAAY,CAAA;AAAA,EACvC,KAAA,EAAO,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,gBAAgB,CAAA;AAAA,EAC3D,SAAA,EAAWA,CAAAA,CAAE,IAAA,CAAK,CAAC,OAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,OAAA,EAAS,QAAQ,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,sBAAsB,CAAA;AAAA;AAAA,EAE7G,UAAA,EAAY,sBAAA,CAAuB,QAAA,EAAS,CAAE,SAAS,uCAAuC;AAChG,CAAC;AAKM,IAAM,oBAAA,GAAuBA,EAAE,MAAA,CAAO;AAAA,EAC3C,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,mBAAmB,CAAA;AAAA,EAC9C,SAAA,EAAWA,EAAE,IAAA,CAAK,CAAC,OAAO,MAAM,CAAC,CAAA,CAAE,OAAA,CAAQ,KAAK,CAAA;AAAA,EAChD,eAAA,EAAiBA,CAAAA,CAAE,IAAA,CAAK,CAAC,OAAO,MAAA,EAAQ,OAAA,EAAS,SAAA,EAAW,MAAM,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,iBAAiB;AAC5G,CAAC;AAMM,IAAM,iBAAA,GAAoB,kBAAkB,MAAA,CAAO;AAAA;AAAA,EAExD,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,2BAA2B,CAAA;AAAA,EACtD,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,0BAA0B,CAAA;AAAA,EACrD,SAASA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,2BAA2B;AACrE,CAAC;AAMM,IAAM,YAAA,GAAeA,EAAE,MAAA,CAAO;AAAA;AAAA,EAEnC,IAAA,EAAM,yBAAA,CAA0B,QAAA,CAAS,oBAAoB,CAAA;AAAA,EAC7D,KAAA,EAAO,eAAA,CAAgB,QAAA,CAAS,cAAc,CAAA;AAAA,EAC9C,WAAA,EAAa,gBAAgB,QAAA,EAAS;AAAA;AAAA,EAGtC,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,gBAAgB,CAAA;AAAA;AAAA,EAGhD,MAAM,UAAA,CAAW,OAAA,CAAQ,SAAS,CAAA,CAAE,SAAS,oBAAoB,CAAA;AAAA,EAEjE,SAASA,CAAAA,CAAE,KAAA,CAAM,kBAAkB,CAAA,CAAE,SAAS,oBAAoB,CAAA;AAAA;AAAA,EAGlE,aAAA,EAAeA,EAAE,KAAA,CAAM,oBAAoB,EAAE,QAAA,EAAS,CAAE,SAAS,eAAe,CAAA;AAAA,EAChF,eAAA,EAAiBA,EAAE,KAAA,CAAM,oBAAoB,EAAE,QAAA,EAAS,CAAE,SAAS,gCAAgC,CAAA;AAAA;AAAA,EAGnG,MAAA,EAAQ,qBAAA,CAAsB,QAAA,EAAS,CAAE,SAAS,iBAAiB,CAAA;AAAA;AAAA,EAGnE,KAAA,EAAO,iBAAA,CAAkB,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA;AAAA,EAG3E,IAAA,EAAM,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,+BAA+B,CAAA;AAAA;AAAA,EAGzE,WAAA,EAAa,uBAAA,CAAwB,QAAA,EAAS,CAAE,SAAS,mCAAmC;AAC9F,CAAC;AAyBM,IAAM,MAAA,GAAS;AAAA,EACpB,MAAA,EAAQ,CAAC,MAAA,KAAgC,YAAA,CAAa,MAAM,MAAM;AACpE;ACtGO,IAAM,yBAAA,GAA4BA,EAAE,IAAA,CAAK;AAAA,EAC9C,aAAA;AAAA,EACA,aAAA;AAAA,EACA;AACF,CAAC,CAAA,CAAE,SAAS,gCAAgC,CAAA;AAIrC,IAAM,2BAAA,GAA8BA,EAAE,IAAA,CAAK;AAAA,EAChD,OAAA;AAAA,EACA,SAAA;AAAA,EACA,iBAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAC,CAAA,CAAE,SAAS,iCAAiC,CAAA;AAItC,IAAM,uBAAA,GAA0BA,EAAE,MAAA,CAAO;AAAA,EAC9C,OAAA,EAASA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,+BAA+B,CAAA;AAAA,EAC5E,aAAA,EAAeA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,4BAA4B,CAAA;AAAA,EAClF,iBAAA,EAAmBA,EAAE,MAAA,EAAO,CAAE,QAAQ,CAAC,CAAA,CAAE,SAAS,sCAAsC,CAAA;AAAA,EACxF,UAAA,EAAYA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,8CAA8C;AAC/F,CAAC,CAAA,CAAE,SAAS,8CAA8C,CAAA;AAKnD,IAAM,sBAAA,GAAyBA,EAAE,MAAA,CAAO;AAAA,EAC7C,OAAA,EAASA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,+BAA+B,CAAA;AAAA,EAC5E,WAAW,yBAAA,CAA0B,OAAA,CAAQ,aAAa,CAAA,CAAE,SAAS,sBAAsB,CAAA;AAAA,EAC3F,aAAA,EAAeA,EAAE,MAAA,CAAO;AAAA,IACtB,QAAA,EAAU,2BAAA,CAA4B,QAAA,CAAS,iCAAiC,CAAA;AAAA,IAChF,OAAOA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gCAAgC,CAAA;AAAA,IACtE,cAAA,EAAgB,uBAAA,CAAwB,QAAA,EAAS,CAAE,SAAS,qBAAqB;AAAA,GAClF,CAAA,CAAE,QAAA,CAAS,8BAA8B,CAAA;AAAA,EAC1C,KAAA,EAAOA,CAAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,QAAA,EAAU,OAAA,EAAS,UAAU,CAAC,CAAA,CAAE,QAAA,CAAS,wBAAwB,CAAA;AAAA,EACzF,uBAAA,EAAyBA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,2CAA2C,CAAA;AAAA,EACxG,oBAAA,EAAsBA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,iCAAiC;AAC7F,CAAC,CAAA,CAAE,SAAS,sCAAsC,CAAA;AAKbA,EAAE,MAAA,CAAO;AAAA,EAC5C,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,8BAA8B,CAAA;AAAA,EAC7D,gBAAA,EAAkB,sBAAA,CAAuB,QAAA,CAAS,oCAAoC,CAAA;AAAA,EACtF,SAAA,EAAWA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,mCAAmC;AACpF,CAAC,CAAA,CAAE,SAAS,iCAAiC;ACjDtC,IAAM,qBAAA,GAAwBA,EAAE,IAAA,CAAK;AAAA,EAC1C,QAAA;AAAA;AAAA,EACA,SAAA;AAAA;AAAA,EACA,MAAA;AAAA;AAAA,EACA,UAAA;AAAA;AAAA,EACA,WAAA;AAAA;AAAA,EACA,SAAA;AAAA;AAAA,EACA;AAAA;AACF,CAAC,CAAA,CAAE,SAAS,0CAA0C,CAAA;AAI/C,IAAM,iBAAA,GAAoBA,EAAE,MAAA,CAAO;AAAA,EACxC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,gCAAgC,CAAA;AAAA,EAC3D,QAAA,EAAU,qBAAA,CAAsB,QAAA,CAAS,yBAAyB,CAAA;AAAA,EAClE,SAASA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,mCAAmC,CAAA;AAAA,EAC3E,cAAA,EAAgBA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,6CAA6C,CAAA;AAAA,EAChG,cAAA,EAAgBA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,6CAA6C,CAAA;AAAA,EAChG,KAAA,EAAOA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,4BAA4B,CAAA;AAAA,EAC3E,WAAA,EAAaA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,8BAA8B;AACrF,CAAC,CAAA,CAAE,SAAS,iCAAiC,CAAA;AAKVA,EAAE,MAAA,CAAO;AAAA,EAC1C,OAAA,EAASA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,qBAAqB,CAAA;AAAA,EAClE,OAAOA,CAAAA,CAAE,KAAA,CAAM,iBAAiB,CAAA,CAAE,SAAS,mCAAmC,CAAA;AAAA,EAC9E,cAAA,EAAgBA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,2CAA2C;AAChG,CAAC,CAAA,CAAE,SAAS,yDAAyD;;;AC1B9D,IAAM,SAAA,GAAYA,EAAE,IAAA,CAAK;AAAA;AAAA,EAE9B,MAAA;AAAA,EAAQ,UAAA;AAAA,EAAY,OAAA;AAAA,EAAS,KAAA;AAAA,EAAO,OAAA;AAAA,EAAS,UAAA;AAAA;AAAA,EAE7C,UAAA;AAAA,EAAY,MAAA;AAAA,EAAQ,UAAA;AAAA;AAAA,EAEpB,QAAA;AAAA,EAAU,UAAA;AAAA,EAAY,SAAA;AAAA;AAAA,EAEtB,MAAA;AAAA,EAAQ,UAAA;AAAA,EAAY,MAAA;AAAA;AAAA,EAEpB,SAAA;AAAA,EAAW,QAAA;AAAA;AAAA;AAAA,EAEX,QAAA;AAAA;AAAA,EACA,aAAA;AAAA;AAAA,EACA,OAAA;AAAA;AAAA,EACA,YAAA;AAAA;AAAA;AAAA,EAEA,QAAA;AAAA,EAAU,eAAA;AAAA;AAAA,EACV,MAAA;AAAA;AAAA;AAAA,EAEA,OAAA;AAAA,EAAS,MAAA;AAAA,EAAQ,QAAA;AAAA,EAAU,OAAA;AAAA,EAAS,OAAA;AAAA;AAAA,EAEpC,SAAA;AAAA,EAAW,SAAA;AAAA,EAAW,YAAA;AAAA;AAAA,EAEtB,UAAA;AAAA;AAAA,EACA,SAAA;AAAA;AAAA,EACA,MAAA;AAAA;AAAA,EACA,MAAA;AAAA;AAAA,EACA,OAAA;AAAA;AAAA,EACA,QAAA;AAAA;AAAA,EACA,QAAA;AAAA;AAAA,EACA,WAAA;AAAA;AAAA,EACA,QAAA;AAAA;AAAA,EACA,UAAA;AAAA;AAAA,EACA,MAAA;AAAA;AAAA;AAAA,EAEA;AAAA;AACF,CAAC,CAAA;AAsBM,IAAM,kBAAA,GAAqBA,EAAE,MAAA,CAAO;AAAA,EACzC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,kDAAkD,CAAA;AAAA,EAC7E,KAAA,EAAO,sBAAA,CAAuB,QAAA,CAAS,6CAA6C,CAAA;AAAA,EACpF,OAAOA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA,EACpE,SAASA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,mBAAmB;AAC9D,CAAC,CAAA;AAMwCA,EAAE,MAAA,CAAO;AAAA,EAChD,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA,CAAE,QAAA,CAAS,qBAAqB,CAAA;AAAA,EACpE,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,IAAI,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,CAAS,sBAAsB,CAAA;AAAA,EACxE,UAAUA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,oBAAoB,CAAA;AAAA,EAC7D,UAAUA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,oBAAoB;AAC/D,CAAC;AAYM,IAAM,oBAAA,GAAuBA,EAAE,MAAA,CAAO;AAAA,EAC3C,WAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA,CAAE,OAAA,CAAQ,CAAC,CAAA,CAAE,SAAS,gCAAgC,CAAA;AAAA,EAC/F,YAAA,EAAcA,CAAAA,CAAE,IAAA,CAAK,CAAC,SAAA,EAAW,OAAO,CAAC,CAAA,CAAE,OAAA,CAAQ,SAAS,CAAA,CAAE,QAAA,CAAS,qEAAqE,CAAA;AAAA,EAC5I,eAAA,EAAiBA,CAAAA,CAAE,MAAA,EAAO,CAAE,MAAA,CAAO,CAAC,CAAA,CAAE,OAAA,CAAQ,KAAK,CAAA,CAAE,QAAA,CAAS,gEAAgE;AAChI,CAAC,CAAA;AASkCA,EAAE,MAAA,CAAO;AAAA,EAC1C,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,iBAAiB,CAAA;AAAA,EAC5C,QAAA,EAAUA,EAAE,MAAA,EAAO,CAAE,OAAO,CAAC,CAAA,CAAE,SAAS,0BAA0B;AACpE,CAAC;AAM4BA,EAAE,MAAA,CAAO;AAAA,EACpC,QAAQA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gBAAgB,CAAA;AAAA,EACvD,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,WAAW,CAAA;AAAA,EAChD,OAAOA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gBAAgB,CAAA;AAAA,EACtD,YAAYA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iBAAiB,CAAA;AAAA,EAC5D,SAASA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,sBAAsB,CAAA;AAAA,EAC9D,aAAaA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA,EAC7E,WAAWA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,0BAA0B;AACtE,CAAC;AA0BM,IAAM,kBAAA,GAAqBA,EAAE,MAAA,CAAO;AAAA,EACzC,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAK,CAAA,CAAE,SAAS,0DAA0D,CAAA;AAAA,EAClH,cAAA,EAAgBA,CAAAA,CAAE,IAAA,CAAK,CAAC,UAAU,WAAA,EAAa,YAAA,EAAc,WAAW,CAAC,CAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA,CAAE,SAAS,8CAA8C,CAAA;AAAA,EACpJ,UAAA,EAAYA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,8CAA8C,CAAA;AAAA,EAC9F,OAAA,EAASA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,6DAA6D,CAAA;AAAA,EACzG,SAAA,EAAWA,CAAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,SAAA,EAAW,MAAM,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,6EAA6E;AAClJ,CAAC,CAAA;AA+BM,IAAM,0BAAA,GAA6BA,EAAE,MAAA,CAAO;AAAA;AAAA,EAEjD,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,4BAA4B,CAAA;AAAA,EAC3E,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,oDAAoD,CAAA;AAAA;AAAA,EAGnG,YAAA,EAAcA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,2DAA2D,CAAA;AAAA,EACjH,YAAA,EAAcA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,yDAAyD,CAAA;AAAA,EAC/G,gBAAA,EAAkBA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,8DAA8D,CAAA;AAAA,EACxH,gBAAA,EAAkBA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,oBAAoB,CAAA;AAAA;AAAA,EAG9E,SAAA,EAAWA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,0CAA0C,CAAA;AAAA,EACzF,iBAAA,EAAmBA,CAAAA,CAAE,IAAA,CAAK,CAAC,QAAA,EAAU,YAAA,EAAc,cAAA,EAAgB,QAAQ,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA,EACnI,iBAAA,EAAmBA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,kCAAkC,CAAA;AAAA,EACxF,kBAAA,EAAoBA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,qCAAqC,CAAA;AAAA;AAAA,EAG5F,iBAAiBA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,+DAA+D,CAAA;AAAA,EAC/G,eAAeA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,oBAAoB,CAAA;AAAA,EAClE,eAAeA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kDAAkD,CAAA;AAAA;AAAA,EAGhG,eAAA,EAAiBA,EAAE,MAAA,CAAO;AAAA,IACxB,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,+BAA+B,CAAA;AAAA,IAC/E,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,+BAA+B,CAAA;AAAA,IAC/E,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,gCAAgC,CAAA;AAAA,IACjF,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,gCAAgC,CAAA;AAAA,IACjF,aAAaA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,6CAA6C,CAAA;AAAA,IACzF,kBAAA,EAAoBA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,0BAA0B,CAAA;AAAA,IAClF,cAAA,EAAgBA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,CAAO;AAAA,MAC/B,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,2DAA2D,CAAA;AAAA,MACrF,KAAA,EAAOA,EAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,SAAS,2BAA2B,CAAA;AAAA,MAC7D,MAAA,EAAQA,EAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,SAAS,4BAA4B,CAAA;AAAA,MAC/D,IAAA,EAAMA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,0BAA0B;AAAA,KACrE,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,+BAA+B,CAAA;AAAA,IACvD,gBAAA,EAAkBA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,wBAAwB,CAAA;AAAA,IAC9E,UAAA,EAAYA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,uCAAuC;AAAA,GACvF,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA;AAAA,EAGxD,aAAA,EAAeA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,wDAAwD,CAAA;AAAA,EAC3G,YAAA,EAAcA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,gCAAgC,CAAA;AAAA,EACjF,WAAA,EAAaA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,+BAA+B,CAAA;AAAA,EAC/E,aAAA,EAAeA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,kDAAkD,CAAA;AAAA;AAAA,EAGrG,eAAA,EAAiBA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,gDAAgD,CAAA;AAAA,EACpG,WAAA,EAAaA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,mDAAmD,CAAA;AAAA;AAAA,EAGpG,iBAAA,EAAmBA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,0CAA0C,CAAA;AAAA,EACjG,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,sCAAsC,CAAA;AAAA;AAAA,EAGzF,UAAA,EAAYA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,4CAA4C,CAAA;AAAA,EAC5F,kBAAA,EAAoBA,CAAAA,CAAE,MAAA,EAAO,CAAE,IAAI,EAAE,CAAA,CAAE,GAAA,CAAI,MAAM,CAAA,CAAE,OAAA,CAAQ,IAAI,CAAA,CAAE,SAAS,uDAAuD;AACnI,CAAC,CAAA,CAAE,MAAA,CAAO,CAAC,IAAA,KAAS;AAElB,EAAA,IAAI,IAAA,CAAK,YAAY,MAAA,IAAa,IAAA,CAAK,YAAY,MAAA,IAAa,IAAA,CAAK,OAAA,GAAU,IAAA,CAAK,OAAA,EAAS;AAC3F,IAAA,OAAO,KAAA;AAAA,EACT;AACA,EAAA,OAAO,IAAA;AACT,CAAA,EAAG;AAAA,EACD,OAAA,EAAS;AACX,CAAC,CAAA,CAAE,MAAA,CAAO,CAAC,IAAA,KAAS;AAElB,EAAA,IAAI,IAAA,CAAK,iBAAA,KAAsB,MAAA,IAAa,IAAA,CAAK,cAAc,IAAA,EAAM;AACnE,IAAA,OAAO,KAAA;AAAA,EACT;AACA,EAAA,OAAO,IAAA;AACT,CAAA,EAAG;AAAA,EACD,OAAA,EAAS;AACX,CAAC,CAAA;AAgBM,IAAM,sBAAA,GAAyBA,EAAE,MAAA,CAAO;AAAA;AAAA,EAE7C,UAAA,EAAYA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,0CAA0C,CAAA;AAAA;AAAA,EAG1F,YAAA,EAAcA,CAAAA,CAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,OAAA,CAAQ,CAAC,CAAA,CAAE,SAAS,qEAAqE,CAAA;AAAA;AAAA,EAGhI,QAAA,EAAUA,EAAE,MAAA,CAAO;AAAA,IACjB,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,8EAA8E,CAAA;AAAA,IAC1G,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,CAAS,mEAAmE;AAAA,GACjH,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,mCAAmC;AAC5D,CAAC,CAAA;AAaM,IAAM,wBAAA,GAA2BA,EAAE,MAAA,CAAO;AAAA;AAAA,EAE/C,OAAA,EAASA,CAAAA,CAAE,OAAA,EAAQ,CAAE,SAAS,2CAA2C,CAAA;AAAA;AAAA,EAGzE,GAAA,EAAKA,EAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,SAAS,0CAA0C,CAAA;AAAA;AAAA,EAG1E,YAAA,EAAcA,EAAE,KAAA,CAAMA,CAAAA,CAAE,QAAQ,CAAA,CAAE,SAAS,wFAAwF;AACrI,CAAC,CAAA;AA8BM,IAAM,WAAA,GAAcA,EAAE,MAAA,CAAO;AAAA;AAAA,EAElC,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,KAAA,CAAM,oBAAoB,CAAA,CAAE,QAAA,CAAS,2BAA2B,CAAA,CAAE,QAAA,EAAS;AAAA,EAC5F,OAAOA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,sBAAsB,CAAA;AAAA,EAC5D,IAAA,EAAM,SAAA,CAAU,QAAA,CAAS,iBAAiB,CAAA;AAAA,EAC1C,aAAaA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,mBAAmB,CAAA;AAAA,EAC/D,QAAQA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,mCAAmC,CAAA;AAAA;AAAA,EAG1E,YAAYA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,wFAAwF,CAAA;AAAA;AAAA,EAGnI,QAAA,EAAUA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,aAAa,CAAA;AAAA,EAC3D,UAAA,EAAYA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,eAAe,CAAA;AAAA,EAC/D,QAAA,EAAUA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,2FAA2F,CAAA;AAAA,EACzI,MAAA,EAAQA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,sBAAsB,CAAA;AAAA,EAClE,cAAcA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,eAAe,CAAA;AAAA;AAAA,EAG7D,WAAWA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,sBAAsB,CAAA;AAAA,EAChE,WAAWA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,sBAAsB,CAAA;AAAA;AAAA,EAGhE,WAAWA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,cAAc,CAAA;AAAA,EACxD,OAAOA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gBAAgB,CAAA;AAAA,EACtD,KAAKA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,eAAe,CAAA;AAAA,EACnD,KAAKA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,eAAe,CAAA;AAAA;AAAA,EAGnD,OAAA,EAASA,EAAE,KAAA,CAAM,kBAAkB,EAAE,QAAA,EAAS,CAAE,SAAS,uCAAuC,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAahG,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,UAAS,CAAE,QAAA;AAAA,IAC/B;AAAA,GAEF;AAAA,EACA,gBAAA,EAAkBA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,0DAA0D,CAAA;AAAA,EACpH,yBAAyBA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,qEAAqE,CAAA;AAAA,EAC9H,cAAA,EAAgBA,CAAAA,CAAE,IAAA,CAAK,CAAC,YAAY,SAAA,EAAW,UAAU,CAAC,CAAA,CAAE,UAAS,CAAE,OAAA,CAAQ,UAAU,CAAA,CAAE,SAAS,8CAA8C,CAAA;AAAA;AAAA,EAGlJ,YAAYA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,oBAAoB,CAAA;AAAA,EAC/D,iBAAA,EAAmBA,EAAE,MAAA,CAAO;AAAA,IAC1B,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,sCAAsC,CAAA;AAAA,IAClE,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,oCAAoC,CAAA;AAAA,IAC/D,QAAA,EAAUA,CAAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAK,CAAC,CAAA,CAAE,QAAA,CAAS,+BAA+B;AAAA,GACjG,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,4BAA4B,CAAA;AAAA;AAAA;AAAA,EAInD,UAAUA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8EAA8E,CAAA;AAAA,EACvH,OAAOA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gDAAgD,CAAA;AAAA,EACtF,aAAaA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,kCAAkC,CAAA;AAAA;AAAA,EAG/E,WAAWA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,mCAAmC,CAAA;AAAA,EAC7E,WAAWA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,yBAAyB,CAAA;AAAA;AAAA,EAGpE,YAAYA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,uCAAuC,CAAA;AAAA,EACnF,gBAAgBA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,wCAAwC,CAAA;AAAA;AAAA,EAGxF,aAAA,EAAeA,CAAAA,CAAE,IAAA,CAAK,CAAC,IAAA,EAAM,IAAA,EAAM,eAAe,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,yBAAyB,CAAA;AAAA;AAAA,EAGlG,WAAA,EAAaA,CAAAA,CAAE,IAAA,CAAK,CAAC,KAAA,EAAO,KAAA,EAAO,MAAA,EAAQ,KAAK,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,oBAAoB,CAAA;AAAA,EAC3F,YAAYA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,kCAAkC,CAAA;AAAA,EAC9E,YAAA,EAAcA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,sBAAsB,CAAA;AAAA;AAAA,EAG5E,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,wCAAwC,CAAA;AAAA,EAC7E,WAAWA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA,EAC5E,KAAA,EAAOA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,sFAAsF,CAAA;AAAA;AAAA;AAAA;AAAA,EAKlJ,eAAeA,CAAAA,CAAE,IAAA,CAAK,CAAC,IAAA,EAAM,SAAS,MAAA,EAAQ,SAAA,EAAW,QAAA,EAAU,MAAA,EAAQ,MAAM,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,qBAAqB,CAAA;AAAA,EAC7H,iBAAA,EAAmBA,CAAAA,CAAE,IAAA,CAAK,CAAC,GAAA,EAAK,GAAA,EAAK,GAAA,EAAK,GAAG,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,wGAAwG,CAAA;AAAA,EAC5K,cAAcA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,oDAAoD,CAAA;AAAA,EAClG,eAAeA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,kDAAkD,CAAA;AAAA;AAAA,EAGjG,cAAA,EAAgB,oBAAA,CAAqB,QAAA,EAAS,CAAE,SAAS,uCAAuC,CAAA;AAAA;AAAA,EAGhG,YAAA,EAAc,kBAAA,CAAmB,QAAA,EAAS,CAAE,SAAS,wDAAwD,CAAA;AAAA;AAAA,EAG7G,oBAAA,EAAsB,0BAAA,CAA2B,QAAA,EAAS,CAAE,SAAS,mDAAmD,CAAA;AAAA;AAAA;AAAA,EAIxH,gBAAA,EAAkB,sBAAA,CAAuB,QAAA,EAAS,CAAE,SAAS,8EAA8E,CAAA;AAAA;AAAA,EAG3I,WAAA,EAAa,iBAAA,CAAkB,QAAA,EAAS,CAAE,SAAS,uCAAuC,CAAA;AAAA;AAAA,EAG1F,UAAA,EAAYA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,yFAAyF,CAAA;AAAA;AAAA;AAAA,EAIzI,YAAA,EAAcA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,wFAAwF,CAAA;AAAA;AAAA;AAAA,EAI9I,MAAA,EAAQ,wBAAA,CAAyB,QAAA,EAAS,CAAE,SAAS,mDAAmD,CAAA;AAAA;AAAA;AAAA,EAIxG,WAAA,EAAa,sBAAA,CAAuB,QAAA,EAAS,CAAE,SAAS,8CAA8C,CAAA;AAAA;AAAA,EAGtG,OAAOA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,yGAAyG,CAAA;AAAA;AAAA,EAG/I,qBAAqBA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,CAAA,2FAAA,CAA+F,CAAA;AAAA;AAAA,EAGnJ,MAAA,EAAQA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,wBAAwB,CAAA;AAAA,EACpE,QAAA,EAAUA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,iBAAiB,CAAA;AAAA,EAC/D,QAAA,EAAUA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,GAAW,OAAA,CAAQ,IAAI,CAAA,CAAE,QAAA,CAAS,yCAAyC,CAAA;AAAA,EACjG,gBAAgBA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8CAA8C,CAAA;AAAA,EAC7F,kBAAkBA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,mEAAmE,CAAA;AAAA,EACrH,eAAeA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,6CAA6C,CAAA;AAAA,EAC5F,kBAAkBA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,0DAA0D,CAAA;AAAA;AAAA,EAE3G,KAAA,EAAOA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,gCAAgC,CAAA;AAAA,EAC3E,UAAA,EAAYA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,sCAAsC;AACxF,CAAC,CAAA;;;ACzdM,IAAM,iBAAA,GAAoBA,EAAE,MAAA,CAAO;AAAA,EACxC,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,KAAA,EAAO,eAAA;AAAA,EACP,IAAA,EAAM,SAAA;AAAA,EACN,QAAA,EAAUA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA;AAAA,EACnC,OAAA,EAASA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,OAAO,EAAE,KAAA,EAAO,eAAA,EAAiB,KAAA,EAAOA,EAAE,MAAA,EAAO,EAAG,CAAC,EAAE,QAAA;AAC5E,CAAC;AAKM,IAAM,UAAA,GAAaA,EAAE,IAAA,CAAK,CAAC,UAAU,KAAA,EAAO,OAAA,EAAS,MAAA,EAAQ,KAAK,CAAC;AAQ1E,IAAM,wBAA6C,IAAI,GAAA;AAAA,EACrD,WAAW,OAAA,CAAQ,MAAA,CAAO,CAAC,CAAA,KAAM,MAAM,QAAQ;AACjD,CAAA;AAiCO,IAAM,YAAA,GAAeA,EAAE,MAAA,CAAO;AAAA;AAAA,EAEnC,IAAA,EAAM,yBAAA,CAA0B,QAAA,CAAS,qCAAqC,CAAA;AAAA;AAAA,EAG9E,KAAA,EAAO,eAAA,CAAgB,QAAA,CAAS,eAAe,CAAA;AAAA;AAAA,EAG/C,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,WAAW,CAAA;AAAA;AAAA,EAGhD,SAAA,EAAWA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,IAAA,CAAK;AAAA,IACxB,cAAA;AAAA,IAAgB,WAAA;AAAA,IAChB,eAAA;AAAA,IAAiB,aAAA;AAAA,IAAe,gBAAA;AAAA,IAChC;AAAA,GACD,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,wCAAwC,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOhE,SAAA,EAAWA,EAAE,IAAA,CAAK;AAAA,IAChB,eAAA;AAAA;AAAA,IACA,aAAA;AAAA;AAAA,IACA,aAAA;AAAA;AAAA,IACA;AAAA;AAAA,GACD,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,2BAA2B,CAAA;AAAA;AAAA,EAGlD,MAAM,UAAA,CAAW,OAAA,CAAQ,QAAQ,CAAA,CAAE,SAAS,2BAA2B,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOvE,QAAQA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,4CAA4C,CAAA;AAAA;AAAA;AAAA;AAAA,EAKnF,SAASA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gFAA2E,CAAA;AAAA;AAAA,EAGnH,MAAA,EAAQA,EAAE,KAAA,CAAM,iBAAiB,EAAE,QAAA,EAAS,CAAE,SAAS,qCAAqC,CAAA;AAAA;AAAA,EAG5F,OAAA,EAASA,CAAAA,CAAE,IAAA,CAAK,CAAC,WAAW,WAAA,EAAa,QAAA,EAAU,OAAA,EAAS,MAAM,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,sGAAsG,CAAA;AAAA;AAAA,EAG/L,WAAA,EAAa,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,uCAAuC,CAAA;AAAA,EACxF,cAAA,EAAgB,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,yCAAyC,CAAA;AAAA,EAC7F,YAAA,EAAcA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,8BAA8B,CAAA;AAAA;AAAA,EAGhF,SAASA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,2BAA2B,CAAA;AAAA,EACnE,QAAA,EAAUA,CAAAA,CAAE,KAAA,CAAM,CAACA,EAAE,OAAA,EAAQ,EAAGA,CAAAA,CAAE,MAAA,EAAQ,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,kEAAkE,CAAA;AAAA;AAAA,EAGnI,UAAUA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,2DAA2D,CAAA;AAAA;AAAA,EAGpG,aAAaA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,iEAAiE,CAAA;AAAA;AAAA,EAG9G,SAASA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,uDAAuD,CAAA;AAAA;AAAA,EAG/F,IAAA,EAAM,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAC3E,CAAC,CAAA,CAAE,SAAA,CAAU,CAAC,IAAA,KAAS;AAErB,EAAA,IAAI,IAAA,CAAK,OAAA,IAAW,CAAC,IAAA,CAAK,MAAA,EAAQ;AAChC,IAAA,OAAO,EAAE,GAAG,IAAA,EAAM,MAAA,EAAQ,KAAK,OAAA,EAAQ;AAAA,EACzC;AACA,EAAA,OAAO,IAAA;AACT,CAAC,CAAA,CAAE,MAAA,CAAO,CAAC,IAAA,KAAS;AAElB,EAAA,IAAI,sBAAsB,GAAA,CAAI,IAAA,CAAK,IAAI,CAAA,IAAK,CAAC,KAAK,MAAA,EAAQ;AACxD,IAAA,OAAO,KAAA;AAAA,EACT;AACA,EAAA,OAAO,IAAA;AACT,CAAA,EAAG;AAAA,EACD,OAAA,EAAS,4EAAA;AAAA,EACT,IAAA,EAAM,CAAC,QAAQ;AACjB,CAAC;AASM,IAAM,MAAA,GAAS;AAAA,EACpB,MAAA,EAAQ,CAAC,MAAA,KAAiD,YAAA,CAAa,MAAM,MAAM;AACrF;ACxJuCA,EAAE,IAAA,CAAK;AAAA,EAC5C,OAAA;AAAA,EAAS,KAAA;AAAA,EAAO,KAAA;AAAA,EAAO,KAAA;AAAA,EAAO,KAAA;AAAA,EAC9B,gBAAA;AAAA,EAAkB,YAAA;AAAA,EAAc,QAAA;AAAA,EAAU,QAAA;AAAA,EAAU;AACtD,CAAC,CAAA,CAAE,SAAS,gCAAgC;AAIrC,IAAM,iBAAA,GAAoBA,EAAE,IAAA,CAAK,CAAC,OAAO,MAAM,CAAC,CAAA,CACpD,QAAA,CAAS,sBAAsB,CAAA;AAI3B,IAAM,cAAA,GAAiBA,EAAE,MAAA,CAAO;AAAA,EACrC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,uBAAuB,CAAA;AAAA,EAClD,KAAA,EAAO,iBAAA,CAAkB,QAAA,CAAS,gBAAgB;AACpD,CAAC,CAAA,CAAE,SAAS,+BAA+B,CAAA;AAIVA,EAAE,IAAA,CAAK;AAAA,EACtC,QAAA;AAAA,EAAU,QAAA;AAAA,EAAU,QAAA;AAAA,EAAU;AAChC,CAAC,CAAA,CAAE,SAAS,2BAA2B;AAILA,EAAE,IAAA,CAAK;AAAA,EACvC,kBAAA;AAAA,EAAoB,gBAAA;AAAA,EAAkB,iBAAA;AAAA,EAAmB,cAAA;AAAA,EAAgB;AAC3E,CAAC,CAAA,CAAE,SAAS,oDAAoD;AAI/BA,CAAAA,CAAE,IAAA,CAAK,CAAC,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,MAAM,CAAC,CAAA,CAClE,QAAA,CAAS,yBAAyB;;;ACrB9B,IAAM,gBAAA,GAAmBA,EAAE,MAAA,CAAO;AAAA,EACvC,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,gDAAgD,CAAA;AAAA,EAC1E,KAAA,EAAOA,CAAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,UAAU,OAAA,EAAS,MAAM,CAAC,CAAA,CAAE,QAAA,EAAS;AAAA,EAC7D,UAAA,EAAYA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,IAAA,CAAK,MAAM,mBAAmB,CAAC,CAAA,CAAE,QAAA,CAAS,2BAA2B;AAC7F,CAAC;AAKM,IAAM,iBAAA,GAAoBA,EAAE,IAAA,CAAK;AAAA;AAAA,EAEtC,aAAA;AAAA,EAAe,aAAA;AAAA,EAAe,cAAA;AAAA,EAAgB,WAAA;AAAA,EAAa,gBAAA;AAAA,EAAkB,WAAA;AAAA,EAAa,cAAA;AAAA;AAAA,EAE1F,gBAAA;AAAA,EAAkB,mBAAA;AAAA,EAAqB,qBAAA;AAAA,EAAuB,iBAAA;AAAA,EAAmB,gBAAA;AAAA,EAAkB,aAAA;AAAA;AAAA,EAEnG,cAAA;AAAA,EAAgB,UAAA;AAAA,EAAY,gBAAA;AAAA;AAAA,EAE5B,eAAA;AAAA,EAAiB,sBAAA;AAAA,EAAwB,cAAA;AAAA;AAAA,EAEzC,gBAAA;AAAA,EAAkB,eAAA;AAAA;AAAA,EAElB,cAAA;AAAA,EAAgB,gBAAA;AAAA,EAAkB,eAAA;AAAA,EAAiB,iBAAA;AAAA;AAAA,EAEnD,gBAAA;AAAA,EAAkB,gBAAA;AAAA,EAAkB,cAAA;AAAA,EAAgB;AACtD,CAAC;AAOM,IAAM,uBAAA,GAA0BA,EAAE,MAAA,CAAO;AAAA,EAC9C,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,iBAAiB,CAAA;AAAA,EAC7C,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,qBAAqB,CAAA;AAAA,EAC1D,MAAA,EAAQ,qBAAA,CAAsB,QAAA,EAAS,CAAE,SAAS,4BAA4B,CAAA;AAAA,EAC9E,IAAA,EAAMA,EAAE,KAAA,CAAM,cAAc,EAAE,QAAA,EAAS,CAAE,SAAS,YAAY,CAAA;AAAA,EAC9D,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,wBAAwB;AACjF,CAAC;AAMM,IAAM,mBAAA,GAAsBA,EAAE,MAAA,CAAO;AAAA;AAAA,EAE1C,IAAA,EAAMA,EAAE,KAAA,CAAM;AAAA,IACZ,iBAAA;AAAA,IACAA,EAAE,MAAA;AAAO,GACV,CAAA,CAAE,QAAA,CAAS,iDAAiD,CAAA;AAAA,EAC7D,IAAIA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,oBAAoB,CAAA;AAAA;AAAA,EAGvD,KAAA,EAAO,gBAAgB,QAAA,EAAS;AAAA,EAChC,UAAA,EAAYA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA,CAAS,yEAAyE,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQhI,MAAA,EAAQA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,oBAAoB,CAAA;AAAA;AAAA,EAGjF,KAAA,EAAOA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,kCAAkC,CAAA;AAAA,EAC9F,WAAWA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iBAAiB,CAAA;AAAA;AAAA,EAG3D,YAAYA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,2BAA2B,CAAA;AAAA;AAAA,EAGtE,UAAA,EAAY,uBAAA,CAAwB,QAAA,EAAS,CAAE,SAAS,iDAAiD,CAAA;AAAA;AAAA,EAGzG,UAAA,EAAY,sBAAA,CAAuB,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA;AAAA,EAGxF,IAAA,EAAM,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAC3E,CAAC;AAOM,IAAM,kBAAA,GAAqBA,EAAE,MAAA,CAAO;AAAA,EACzC,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,eAAe,CAAA;AAAA,EACzC,IAAA,EAAMA,CAAAA,CAAE,IAAA,CAAK,CAAC,QAAA,EAAU,QAAA,EAAU,SAAA,EAAW,QAAA,EAAU,OAAA,EAAS,WAAW,CAAC,CAAA,CAAE,QAAQ,QAAQ,CAAA;AAAA,EAC9F,YAAA,EAAcA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA;AAAA,EAEnC,QAAQA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,2CAA2C;AACpF,CAAC;AAMM,IAAM,yBAAA,GAA4BA,EAAE,MAAA,CAAO;AAAA,EAChD,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,6CAA6C,CAAA;AAAA,EAC9E,CAAA,EAAGA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,CAAS,gCAAgC,CAAA;AAAA,EACpE,CAAA,EAAGA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,CAAS,6BAA6B,CAAA;AAAA,EACjE,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,CAAS,uBAAuB,CAAA;AAAA,EAC/D,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,CAAS,qBAAqB;AAChE,CAAC;AAOM,IAAM,qBAAA,GAAwBA,EAAE,MAAA,CAAO;AAAA,EAC5C,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,SAAS,wBAAwB,CAAA;AAAA,EAC9E,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,SAAS,mCAAmC,CAAA;AAAA,EAC3F,GAAA,EAAKA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,OAAA,CAAQ,CAAC,CAAA,CAAE,SAAS,kCAAkC,CAAA;AAAA,EACnF,OAAOA,CAAAA,CAAE,KAAA,CAAM,yBAAyB,CAAA,CAAE,SAAS,qCAAqC;AAC1F,CAAC;AAkBM,IAAM,cAAA,GAAiBA,EAAE,IAAA,CAAK;AAAA;AAAA,EAEnC,QAAA;AAAA;AAAA,EACA,MAAA;AAAA;AAAA,EACA,KAAA;AAAA;AAAA,EACA,SAAA;AAAA;AAAA;AAAA,EAEA,WAAA;AAAA;AAAA,EACA,MAAA;AAAA;AAAA,EACA,MAAA;AAAA;AAAA,EACA,SAAA;AAAA;AAAA,EACA,QAAA;AAAA;AAAA,EACA,UAAA;AAAA;AAAA,EACA,UAAA;AAAA;AAAA,EACA,MAAA;AAAA;AAAA,EACA,eAAA;AAAA;AAAA,EACA,eAAA;AAAA;AAAA,EACA,UAAA;AAAA;AAAA,EACA;AAAA;AACF,CAAC,CAAA,CAAE,SAAS,mDAA8C;AAQnD,IAAM,wBAAA,GAA2BA,EAAE,MAAA,CAAO;AAAA,EAC/C,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,0BAA0B,CAAA;AAAA,EACtD,MAAA,EAAQ,qBAAA,CAAsB,QAAA,EAAS,CAAE,SAAS,kCAAkC,CAAA;AAAA,EACpF,IAAA,EAAMA,EAAE,KAAA,CAAM,cAAc,EAAE,QAAA,EAAS,CAAE,SAAS,6BAA6B,CAAA;AAAA,EAC/E,aAAA,EAAeA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CACzC,QAAA,CAAS,sCAAsC,CAAA;AAAA,EAClD,OAAA,EAASA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,CAAO;AAAA,IACxB,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,qBAAqB,CAAA;AAAA,IAChD,IAAA,EAAMA,CAAAA,CAAE,IAAA,CAAK,CAAC,SAAA,EAAW,QAAA,EAAU,MAAA,EAAQ,QAAQ,CAAC,CAAA,CACjD,QAAA,CAAS,aAAa,CAAA;AAAA,IACzB,OAAOA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CACxB,SAAS,2BAA2B,CAAA;AAAA,IACvC,OAAOA,CAAAA,CAAE,KAAA,CAAM,CAACA,CAAAA,CAAE,MAAA,IAAUA,CAAAA,CAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,SAAS,CAAC,EAAE,QAAA,EAAS,CAC5D,SAAS,wBAAwB,CAAA;AAAA,IACpC,UAAA,EAAYA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,GAAW,OAAA,CAAQ,IAAI,CAAA,CAC5C,QAAA,CAAS,0CAA0C;AAAA,GACvD,CAAC,CAAA,CAAE,QAAA,CAAS,gBAAgB,CAAA;AAAA,EAC7B,UAAA,EAAYA,CAAAA,CAAE,IAAA,CAAK,CAAC,cAAc,QAAA,EAAU,UAAU,CAAC,CAAA,CACpD,UAAS,CAAE,OAAA,CAAQ,YAAY,CAAA,CAC/B,SAAS,wBAAwB,CAAA;AAAA,EACpC,YAAA,EAAcA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,GAAW,OAAA,CAAQ,IAAI,CAAA,CAC9C,QAAA,CAAS,gCAAgC;AAC9C,CAAC;AAUM,IAAM,yBAAA,GAA4BA,EAAE,MAAA,CAAO;AAAA;AAAA,EAEhD,QAAQA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA,EACxE,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,uCAAuC,CAAA;AAAA,EAC3F,QAAA,EAAUA,EAAE,KAAA,CAAM,oBAAoB,EAAE,QAAA,EAAS,CAAE,SAAS,4BAA4B,CAAA;AAAA;AAAA,EAGxF,UAAA,EAAY,sBAAA,CAAuB,QAAA,EAAS,CAAE,SAAS,4CAA4C,CAAA;AAAA;AAAA,EAGnG,WAAA,EAAaA,EAAE,MAAA,CAAO;AAAA,IACpB,QAAA,EAAUA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,KAAK,CAAC,MAAA,EAAQ,SAAA,EAAW,QAAQ,CAAC,CAAC,CAAA,CAAE,QAAA,EAAS,CAC/D,SAAS,0DAA0D,CAAA;AAAA,IACtE,IAAA,EAAMA,EAAE,KAAA,CAAM,aAAa,EAAE,QAAA,EAAS,CAAE,SAAS,wBAAwB;AAAA,GAC1E,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,2BAA2B,CAAA;AAAA;AAAA,EAGlD,WAAA,EAAa,uBAAA,CAAwB,QAAA,EAAS,CAAE,SAAS,qBAAqB,CAAA;AAAA;AAAA,EAG9E,SAAA,EAAW,qBAAA,CAAsB,QAAA,EAAS,CAAE,SAAS,sCAAsC,CAAA;AAAA;AAAA,EAG3F,iBAAiBA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,kCAAkC,CAAA;AAAA;AAAA,EAGnF,eAAeA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAChF,CAAC,CAAA,CAAE,SAAS,sDAAsD;AAsB3D,IAAM,UAAA,GAAaA,EAAE,MAAA,CAAO;AAAA,EACjC,IAAA,EAAM,yBAAA,CAA0B,QAAA,CAAS,yCAAyC,CAAA;AAAA,EAClF,KAAA,EAAO,eAAA;AAAA,EACP,WAAA,EAAa,gBAAgB,QAAA,EAAS;AAAA;AAAA,EAGtC,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gBAAgB,CAAA;AAAA;AAAA,EAGrD,MAAM,cAAA,CAAe,OAAA,CAAQ,QAAQ,CAAA,CAAE,SAAS,WAAW,CAAA;AAAA;AAAA,EAG3D,SAAA,EAAWA,EAAE,KAAA,CAAM,kBAAkB,EAAE,QAAA,EAAS,CAAE,SAAS,4BAA4B,CAAA;AAAA;AAAA,EAGvF,QAAQA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA;AAAA,EAGxE,YAAA,EAAc,wBAAA,CAAyB,QAAA,EAAS,CAC7C,SAAS,qEAAqE,CAAA;AAAA;AAAA,EAGjF,WAAA,EAAa,qBAAA,CAAsB,QAAA,EAAS,CACzC,SAAS,mEAAmE,CAAA;AAAA;AAAA,EAG/E,QAAA,EAAUA,EAAE,MAAA,EAAO,CAAE,QAAQ,SAAS,CAAA,CAAE,SAAS,mDAAmD,CAAA;AAAA;AAAA,EAGpG,SAASA,CAAAA,CAAE,KAAA,CAAM,gBAAgB,CAAA,CAAE,SAAS,iCAAiC,CAAA;AAAA;AAAA,EAG7E,SAAA,EAAWA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA;AAAA,EACpC,kBAAkBA,CAAAA,CAAE,KAAA,CAAMA,EAAE,MAAA,EAAQ,EAAE,QAAA,EAAS;AAAA;AAAA,EAG/C,eAAA,EAAiB,yBAAA,CAA0B,QAAA,EAAS,CACjD,SAAS,yEAAyE,CAAA;AAAA;AAAA,EAGrF,IAAA,EAAM,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAC3E,CAAC,CAAA,CAAE,WAAA,CAAY,CAAC,IAAA,EAAM,GAAA,KAAQ;AAC5B,EAAA,IAAI,IAAA,CAAK,IAAA,KAAS,eAAA,IAAmB,CAAC,KAAK,YAAA,EAAc;AACvD,IAAA,GAAA,CAAI,QAAA,CAAS;AAAA,MACX,IAAA,EAAMA,EAAE,YAAA,CAAa,MAAA;AAAA,MACrB,IAAA,EAAM,CAAC,cAAc,CAAA;AAAA,MACrB,OAAA,EAAS;AAAA,KACV,CAAA;AAAA,EACH;AACA,EAAA,IAAI,IAAA,CAAK,IAAA,KAAS,OAAA,IAAW,CAAC,KAAK,WAAA,EAAa;AAC9C,IAAA,GAAA,CAAI,QAAA,CAAS;AAAA,MACX,IAAA,EAAMA,EAAE,YAAA,CAAa,MAAA;AAAA,MACrB,IAAA,EAAM,CAAC,aAAa,CAAA;AAAA,MACpB,OAAA,EAAS;AAAA,KACV,CAAA;AAAA,EACH;AACF,CAAC;AChSM,IAAM,qBAAA,GAAwBA,EAAE,MAAA,CAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO5C,SAASA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,wCAAwC,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQhF,UAAUA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,+BAA+B,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQxE,WAAWA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,mCAAmC,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ7E,YAAYA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,yBAAyB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOpE,SAASA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,sBAAsB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO9D,QAAQA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,qBAAqB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO5D,SAASA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,qBAAqB;AAC/D,CAAC;AAyBM,IAAM,iBAAA,GAAoBA,EAAE,MAAA,CAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOxC,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,YAAY,CAAA;AAAA;AAAA;AAAA;AAAA,EAKtC,KAAA,EAAO,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,4BAA4B,CAAA;AAAA;AAAA;AAAA;AAAA,EAKvE,WAAA,EAAa,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,6BAA6B,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO9E,OAAA,EAASA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,uBAAuB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOpE,UAAA,EAAYA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,6BAA6B,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ7E,OAAA,EAASA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,sBAAsB;AACvF,CAAC;AAyBM,IAAM,oBAAA,GAAuBA,EAAE,MAAA,CAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAK3C,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,2BAA2B,CAAA;AAAA;AAAA;AAAA;AAAA,EAKrD,KAAA,EAAO,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,sBAAsB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOjE,IAAA,EAAMA,CAAAA,CAAE,IAAA,CAAK,CAAC,UAAU,QAAA,EAAU,SAAA,EAAW,OAAA,EAAS,QAAA,EAAU,UAAA,EAAY,KAAK,CAAC,CAAA,CAC/E,SAAS,iBAAiB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO7B,QAAA,EAAUA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,8BAA8B,CAAA;AAAA;AAAA;AAAA;AAAA,EAK5E,SAASA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,eAAe,CAAA;AAAA;AAAA;AAAA;AAAA,EAKxD,WAAA,EAAa,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,sBAAsB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMvE,UAAA,EAAYA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,kBAAkB,CAAA;AAAA;AAAA;AAAA;AAAA,EAKpF,UAAUA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,mBAAmB;AAC9D,CAAC;AA4BM,IAAM,kBAAA,GAAqBA,CAAAA,CAAE,kBAAA,CAAmB,MAAA,EAAQ;AAAA;AAAA,EAE7DA,EAAE,MAAA,CAAO;AAAA,IACP,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,KAAK,CAAA;AAAA,IACrB,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,kBAAkB,CAAA;AAAA,IACnD,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,QAAQ,CAAA;AAAA,IACpC,YAAYA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iCAAiC;AAAA,GAC7E,CAAA;AAAA;AAAA,EAEDA,EAAE,MAAA,CAAO;AAAA,IACP,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA;AAAA,IACxB,KAAKA,CAAAA,CAAE,MAAA,GAAS,GAAA,EAAI,CAAE,SAAS,wBAAwB,CAAA;AAAA,IACvD,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,qBAAqB,CAAA;AAAA,IACrD,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,mBAAmB;AAAA,GAC/C,CAAA;AAAA;AAAA,EAEDA,EAAE,MAAA,CAAO;AAAA,IACP,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA;AAAA,IACxB,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,sBAAsB;AAAA,GACjD;AACH,CAAC;AAIM,IAAM,oBAAA,GAAuBA,EAAE,MAAA,CAAO;AAAA;AAAA;AAAA;AAAA,EAI3C,IAAA,EAAM,yBAAA,CACH,QAAA,CAAS,gCAAgC,CAAA;AAAA;AAAA;AAAA;AAAA,EAK5C,KAAA,EAAO,eAAA,CAAgB,QAAA,CAAS,qBAAqB,CAAA;AAAA;AAAA;AAAA;AAAA,EAKrD,WAAA,EAAa,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,oBAAoB,CAAA;AAAA;AAAA;AAAA;AAAA,EAKrE,SAASA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,yBAAyB,CAAA;AAAA;AAAA;AAAA;AAAA,EAKjE,QAAQA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,eAAe,CAAA;AAAA;AAAA;AAAA;AAAA,EAKtD,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,aAAa,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOlD,UAAA,EAAYA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,uBAAuB,CAAA;AAAA;AAAA;AAAA;AAAA,EAK3E,QAAA,EAAUA,CAAAA,CAAE,IAAA,CAAK,CAAC,SAAS,SAAA,EAAW,QAAA,EAAU,QAAA,EAAU,QAAQ,CAAC,CAAA,CAChE,OAAA,CAAQ,QAAQ,CAAA,CAChB,SAAS,iBAAiB,CAAA;AAAA;AAAA;AAAA;AAAA,EAK7B,SAAA,EAAW,qBAAA,CAAsB,QAAA,EAAS,CAAE,SAAS,iBAAiB,CAAA;AAAA;AAAA;AAAA;AAAA,EAKtE,MAAA,EAAQA,EAAE,KAAA,CAAM,iBAAiB,EAAE,QAAA,EAAS,CAAE,SAAS,eAAe,CAAA;AAAA;AAAA;AAAA;AAAA,EAKtE,UAAA,EAAYA,EAAE,KAAA,CAAM,oBAAoB,EAAE,QAAA,EAAS,CAAE,SAAS,0BAA0B,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMxF,cAAA,EAAgB,kBAAA,CAAmB,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMrF,YAAA,EAAcA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,CAAO;AAAA,IAC7B,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,IACf,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC7B,KAAKA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA;AAAS,GAChC,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,qBAAqB,CAAA;AAAA;AAAA;AAAA;AAAA,EAK7C,WAAA,EAAaA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAK,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,iBAAiB,CAAA;AAAA;AAAA;AAAA;AAAA,EAK5E,aAAA,EAAeA,EAAE,MAAA,EAAO,CAAE,KAAI,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,mBAAmB,CAAA;AAAA;AAAA;AAAA;AAAA,EAKvE,SAASA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,2BAA2B,CAAA;AAAA;AAAA;AAAA;AAAA,EAKnE,IAAA,EAAMA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,yBAAyB,CAAA;AAAA;AAAA,EAGvE,IAAA,EAAM,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,+BAA+B,CAAA;AAAA;AAAA,EAGzE,WAAA,EAAa,uBAAA,CAAwB,QAAA,EAAS,CAAE,SAAS,mCAAmC;AAC9F,CAAC;AAkBM,IAAM,sBAAA,GAAyBA,EAAE,MAAA,CAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAK7C,KAAA,EAAOA,CAAAA,CAAE,OAAA,EAAQ,CAAE,SAAS,qBAAqB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQjD,QAAA,EAAUA,EAAE,QAAA,EAAS,CAClB,MAAMA,CAAAA,CAAE,KAAA,CAAM,CAACA,CAAAA,CAAE,OAAA,EAAS,CAAC,CAAC,EAC5B,MAAA,CAAOA,CAAAA,CAAE,MAAM,CAAA,CACf,SAAS,gCAAgC,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM5C,QAAA,EAAUA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,qBAAqB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMnE,QAAA,EAAUA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,qBAAqB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMnE,OAAOA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,0BAA0B,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMhE,KAAA,EAAO,WAAA,CAAY,QAAA,CAAS,yBAAyB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMrD,MAAA,EAAQA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,sBAAsB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMpF,OAAA,EAASA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,uBAAuB;AACxF,CAAC;ACnbM,IAAM,YAAA,GAAeA,EAAE,IAAA,CAAK;AAAA,EACjC,SAAA;AAAA,EACA,cAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,eAAA;AAAA,EACA,eAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAC,CAAA;AAOM,IAAM,aAAA,GAAgBA,EAAE,MAAA,CAAO;AAAA,EACpC,IAAA,EAAMA,CAAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,QAAQ,QAAQ,CAAC,CAAA,CAAE,QAAA,CAAS,qBAAqB,CAAA;AAAA,EACvE,EAAA,EAAIA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,WAAW,CAAA;AAAA,EACnC,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,4BAA4B,CAAA;AAAA,EACtD,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,CAAS,+BAA+B,CAAA;AAAA,EACxE,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,CAAS,sCAAsC;AACjF,CAAC,CAAA;AAOM,IAAM,sBAAA,GAAyBA,EAAE,MAAA,CAAO;AAAA,EAC7C,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,oBAAoB,CAAA;AAAA,EAC/C,YAAYA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,qBAAqB,CAAA;AAAA,EAChE,UAAUA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,gBAAgB,CAAA;AAAA,EAC1D,UAAUA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,WAAW,CAAA;AAAA,EACrD,iBAAiBA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,0BAA0B,CAAA;AAAA,EAC1E,iBAAiBA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,0BAA0B;AAC5E,CAAC,CAAA;AAOM,IAAM,cAAA,GAAiBA,EAAE,MAAA,CAAO;AAAA,EACrC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,gEAAyD,CAAA;AAAA,EACpF,OAAA,EAASA,EAAE,KAAA,CAAMA,CAAAA,CAAE,QAAQ,CAAA,CAAE,SAAS,mBAAmB,CAAA;AAAA,EACzD,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,CAAS,sBAAsB;AAChE,CAAC,CAAA;AAOM,IAAM,eAAA,GAAkBA,EAAE,MAAA,CAAO;AAAA,EACtC,IAAA,EAAMA,CAAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,QAAA,EAAU,SAAA,EAAW,YAAY,CAAC,CAAA,CAAE,QAAA,CAAS,YAAY,CAAA;AAAA,EAC/E,EAAA,EAAIA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,UAAU,CAAA;AAAA,EAClC,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,oBAAoB,CAAA;AAAA,EACzD,SAAA,EAAWA,EAAE,MAAA,EAAO,CAAE,KAAI,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,kBAAkB,CAAA;AAAA,EAClE,QAAQA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,oDAAoD;AAC7F,CAAC,CAAA;AAMM,IAAM,iBAAiBA,CAAAA,CAAE,IAAA,CAAK,CAAC,QAAA,EAAU,UAAA,EAAY,SAAS,CAAC,CAAA;AAiCxCA,EAAE,MAAA,CAAO;AAAA;AAAA,EAErC,EAAA,EAAIA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,cAAc,CAAA;AAAA;AAAA,EAGtC,IAAA,EAAM,YAAA,CAAa,QAAA,CAAS,eAAe,CAAA;AAAA;AAAA,EAG3C,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,+BAA+B,CAAA;AAAA,EAC3D,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,qCAAqC,CAAA;AAAA;AAAA,EAGnE,KAAA,EAAO,eAAA,CAAgB,QAAA,CAAS,2BAA2B,CAAA;AAAA;AAAA,EAG3D,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,qCAAqC,CAAA;AAAA;AAAA,EAG1E,QAAA,EAAUA,EAAE,KAAA,CAAM,aAAa,EAAE,QAAA,EAAS,CAAE,SAAS,+BAA+B,CAAA;AAAA;AAAA,EAGpF,OAAA,EAASA,EAAE,KAAA,CAAM,sBAAsB,EAAE,QAAA,EAAS,CAAE,SAAS,qBAAqB,CAAA;AAAA;AAAA,EAGlF,SAAA,EAAWA,EAAE,KAAA,CAAM,cAAc,EAAE,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA;AAAA,EAGrF,UAAUA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,0CAA0C,CAAA;AAAA,EACnF,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,OAAA,CAAQ,CAAC,CAAA,CAAE,SAAS,mBAAmB,CAAA;AAAA;AAAA,EAG3E,MAAA,EAAQA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,4DAA4D,CAAA;AAAA,EACxG,QAAA,EAAUA,EAAE,MAAA,EAAO,CAAE,UAAS,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,oCAAoC,CAAA;AAAA,EACxF,UAAUA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,6BAA6B,CAAA;AAAA,EACtE,OAAA,EAASA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,iEAAiE,CAAA;AAAA,EAC9G,SAAA,EAAWA,EAAE,MAAA,EAAO,CAAE,UAAS,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,qCAAqC,CAAA;AAAA;AAAA,EAG1F,YAAY,cAAA,CAAe,OAAA,CAAQ,QAAQ,CAAA,CACxC,SAAS,oFAAoF,CAAA;AAAA;AAAA,EAGhG,WAAWA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,oBAAoB,CAAA;AAAA,EAC9D,SAAA,EAAWA,EAAE,MAAA,EAAO,CAAE,UAAS,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,uBAAuB,CAAA;AAAA,EAC5E,QAAA,EAAUA,EAAE,MAAA,EAAO,CAAE,UAAS,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,8BAA8B,CAAA;AAAA,EAClF,QAAA,EAAUA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,iCAAiC;AACjF,CAAC;AAOM,IAAM,cAAA,GAAiBA,EAAE,IAAA,CAAK;AAAA,EACnC,KAAA;AAAA,EACA,eAAA;AAAA,EACA,cAAA;AAAA,EACA;AACF,CAAC,CAAA;;;AChKD,IAAM,UAAA,GAAaA,CAAAA,CAAE,MAAA,CAAO,EAAE,CAAA;AAQvB,IAAM,eAAA,GAAkBA,EAAE,MAAA,CAAO;AAAA,EACtC,KAAA,EAAO,eAAA,CAAgB,QAAA,CAAS,YAAY,CAAA;AAAA,EAC5C,QAAA,EAAU,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,eAAe,CAAA;AAAA,EAC7D,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,WAAW,CAAA;AAAA,EAChD,UAAA,EAAYA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,iBAAiB,CAAA;AAAA,EAChE,OAAA,EAASA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,8BAA8B,CAAA;AAAA;AAAA,EAE/E,IAAA,EAAM,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAC3E,CAAC;AAEM,IAAM,aAAA,GAAgBA,EAAE,MAAA,CAAO;AAAA,EACpC,IAAA,EAAMA,CAAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,QAAQ,MAAM,CAAC,CAAA,CAAE,OAAA,CAAQ,MAAM,CAAA;AAAA,EACrD,QAAA,EAAUA,EAAE,IAAA,CAAK,CAAC,OAAO,MAAM,CAAC,CAAA,CAAE,OAAA,CAAQ,KAAK,CAAA;AAAA,EAC/C,KAAA,EAAOA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,CAAO;AAAA,IACtB,KAAA,EAAO,eAAA;AAAA,IACP,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC1B,QAAA,EAAUA,EAAE,KAAA,CAAMA,CAAAA,CAAE,SAAS,CAAA,CAAE,SAAS,kBAAkB;AAAA,GAC3D,CAAC,CAAA;AAAA;AAAA,EAEF,IAAA,EAAM,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAC3E,CAAC;AAEM,IAAM,aAAA,GAAgBA,EAAE,MAAA,CAAO;AAAA,EACpC,KAAA,EAAO,gBAAgB,QAAA,EAAS;AAAA,EAChC,QAAA,EAAUA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA;AAAA,EAClC,SAASA,CAAAA,CAAE,KAAA,CAAMA,EAAE,MAAA,EAAQ,EAAE,QAAA,EAAS;AAAA;AAAA,EAEtC,IAAA,EAAMA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,gCAAgC,CAAA;AAAA;AAAA,EAE/E,MAAA,EAAQA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,+BAA+B,CAAA;AAAA;AAAA,EAEhF,IAAA,EAAM,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAC3E,CAAC;AAQM,IAAM,kBAAA,GAAqBA,EAAE,MAAA,CAAO;AAAA,EACzC,OAAA,EAASA,CAAAA,CAAE,IAAA,CAAK,CAAC,KAAK,GAAA,EAAK,GAAA,EAAK,GAAG,CAAC,CAAA,CAAE,OAAA,CAAQ,GAAG,CAAA,CAAE,SAAS,0CAA0C,CAAA;AAAA,EACtG,MAAA,EAAQA,CAAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,QAAQ,CAAC,CAAA,CAAE,OAAA,CAAQ,MAAM,CAAA,CAAE,QAAA,CAAS,4EAA4E,CAAA;AAAA,EACxI,QAAA,EAAUA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,wDAAwD,CAAA;AAAA,EAC1G,MAAA,EAAQA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,oEAAoE,CAAA;AAAA;AAAA,EAEpH,IAAA,EAAM,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAC3E,CAAC;AAEM,IAAM,sBAAA,GAAyBA,EAAE,MAAA,CAAO;AAAA,EAC7C,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,mDAAmD,CAAA;AAAA,EACnF,iBAAA,EAAmBA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,yEAAyE,CAAA;AAAA,EAChH,OAAA,EAASA,EAAE,KAAA,CAAMA,CAAAA,CAAE,QAAQ,CAAA,CAAE,SAAS,uCAAuC,CAAA;AAAA,EAC7E,IAAA,EAAMA,EAAE,KAAA,CAAM;AAAA,IACZA,EAAE,MAAA,EAAO;AAAA,IACTA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,CAAO;AAAA,MACf,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,MAChB,OAAOA,CAAAA,CAAE,IAAA,CAAK,CAAC,KAAA,EAAO,MAAM,CAAC;AAAA,KAC9B,CAAC;AAAA,GACH,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,gCAAgC,CAAA;AAAA,EACvD,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,CAAC,CAAA,CAAE,QAAA,CAAS,wCAAwC,CAAA;AAAA,EAC/F,MAAA,EAAQA,EAAE,KAAA,CAAM,oBAAoB,EAAE,QAAA,EAAS,CAAE,SAAS,gDAAgD,CAAA;AAAA,EAC1G,KAAA,EAAO,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,mCAAmC,CAAA;AAAA,EAC9E,WAAA,EAAaA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,iDAAiD,CAAA;AAAA,EACjG,OAAA,EAASA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,0CAA0C,CAAA;AAAA;AAAA,EAE3F,IAAA,EAAM,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAC3E,CAAC;AAEM,IAAM,qBAAA,GAAwBA,EAAE,MAAA,CAAO;AAAA,EAC5C,MAAA,EAAQA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,QAAQ,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,SAAS,kFAAkF,CAAA;AAAA,EACrI,MAAA,EAAQA,CAAAA,CAAE,IAAA,CAAK,CAAC,YAAA,EAAc,UAAU,CAAC,CAAA,CAAE,OAAA,CAAQ,YAAY,CAAA,CAAE,QAAA,CAAS,yCAAyC,CAAA;AAAA;AAAA,EAEnH,IAAA,EAAM,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAC3E,CAAC;AAEM,IAAM,mBAAA,GAAsBA,EAAE,MAAA,CAAO;AAAA;AAAA,EAE1C,KAAA,EAAOA,EAAE,KAAA,CAAM,YAAY,EAAE,QAAA,EAAS,CAAE,SAAS,wCAAwC,CAAA;AAAA;AAAA,EAEzF,YAAY,cAAA,CAAe,OAAA,CAAQ,KAAK,CAAA,CAAE,SAAS,yBAAyB,CAAA;AAAA;AAAA,EAE5E,gBAAA,EAAkBA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,sCAAsC,CAAA;AAAA;AAAA,EAE3F,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,kCAAkC,CAAA;AAAA;AAAA,EAE1F,aAAA,EAAeA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,8BAA8B,CAAA;AAAA;AAAA,EAEjF,eAAA,EAAiBA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,iEAAiE,CAAA;AAAA;AAAA,EAErH,gBAAA,EAAkBA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,4CAA4C,CAAA;AAAA;AAAA,EAEjG,cAAA,EAAgBA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,8BAA8B,CAAA;AAAA;AAAA,EAEjF,eAAA,EAAiBA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,sCAAsC,CAAA;AAAA;AAAA,EAE3F,eAAA,EAAiBA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,qCAAqC,CAAA;AAAA;AAAA,EAE1F,sBAAA,EAAwBA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,2DAA2D,CAAA;AAAA;AAAA,EAEtH,IAAA,EAAM,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAC3E,CAAC;AAEM,IAAM,kBAAA,GAAqBA,EAAE,MAAA,CAAO;AAAA;AAAA,EAEzC,QAAA,EAAUA,CAAAA,CAAE,IAAA,CAAK,CAAC,SAAA,EAAW,QAAA,EAAU,QAAQ,CAAC,CAAA,CAAE,OAAA,CAAQ,SAAS,CAAA,CAAE,SAAS,mCAAmC,CAAA;AAAA;AAAA,EAEjH,KAAA,EAAOA,CAAAA,CAAE,KAAA,CAAM,CAACA,EAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,MAAA,EAAQ,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,oCAAoC,CAAA;AAAA;AAAA,EAEjG,WAAA,EAAaA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,oCAAoC,CAAA;AAAA;AAAA,EAEpF,gBAAA,EAAkBA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,oCAAoC,CAAA;AAAA;AAAA,EAE1F,IAAA,EAAM,mBAAA,CAAoB,QAAA,EAAS,CAAE,SAAS,sCAAsC,CAAA;AAAA;AAAA,EAEpF,IAAA,EAAM,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAC3E,CAAC;AAEM,IAAM,eAAA,GAAkBA,EAAE,MAAA,CAAO;AAAA,EACtC,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,kDAAkD,CAAA;AAAA,EACnF,MAAA,EAAQA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,CAAO;AAAA,IACvB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,IAChB,KAAA,EAAO;AAAA,GACR,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,0DAA0D,CAAA;AAAA;AAAA,EAElF,IAAA,EAAM,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAC3E,CAAC;AAEM,IAAM,kBAAA,GAAqBA,EAAE,MAAA,CAAO;AAAA,EACzC,KAAA,EAAOA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,CAAO;AAAA,IACtB,KAAA,EAAO,eAAA;AAAA,IACP,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC1B,SAAA,EAAWA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA;AAAA,IACpC,QAAA,EAAUA,EAAE,KAAA,CAAMA,CAAAA,CAAE,SAAS,CAAA,CAAE,SAAS,kBAAkB;AAAA,GAC3D,CAAC,CAAA;AAAA,EACF,aAAA,EAAeA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,qDAAqD,CAAA;AAAA;AAAA,EAExG,IAAA,EAAM,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAC3E,CAAC;AAEM,IAAM,iBAAA,GAAoBA,EAAE,MAAA,CAAO;AAAA,EACxC,IAAA,EAAMA,CAAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,SAAA,EAAW,QAAQ,CAAC,CAAA,CAAE,OAAA,CAAQ,OAAO,CAAA,CAAE,SAAS,kCAAkC,CAAA;AAAA,EACzG,SAASA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,0BAA0B,CAAA;AAAA,EAClE,OAAA,EAASA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,mCAAmC,CAAA;AAAA;AAAA,EAElG,IAAA,EAAM,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAC3E,CAAC;AAQM,IAAM,sBAAA,GAAyBA,EAAE,MAAA,CAAO;AAAA,EAC7C,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,0BAA0B,CAAA;AAAA,EACvD,SAASA,CAAAA,CAAE,IAAA,CAAK,CAAC,SAAA,EAAW,cAAc,MAAA,EAAQ,SAAS,CAAC,CAAA,CACzD,UAAS,CAAE,OAAA,CAAQ,MAAM,CAAA,CAAE,SAAS,oBAAoB,CAAA;AAAA,EAC3D,KAAA,EAAOA,CAAAA,CAAE,IAAA,CAAK,CAAC,QAAQ,QAAA,EAAU,OAAO,CAAC,CAAA,CACtC,UAAS,CAAE,OAAA,CAAQ,MAAM,CAAA,CAAE,SAAS,gBAAgB,CAAA;AAAA;AAAA,EAEvD,IAAA,EAAM,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAC3E,CAAC;AAEM,IAAM,wBAAA,GAA2BA,EAAE,MAAA,CAAO;AAAA,EAC/C,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,eAAe,CAAA;AAAA,EAC3C,OAAOA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,oBAAoB,CAAA;AAAA,EAC1D,SAAA,EAAWA,CAAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAK,CAAC,CAAA,CACpD,QAAA,CAAS,sBAAsB,CAAA;AAAA,EAClC,MAAA,EAAQ,qBAAA,CAAsB,QAAA,EAAS,CAAE,SAAS,iBAAiB,CAAA;AAAA,EACnE,MAAA,EAAQA,CAAAA,CAAE,IAAA,CAAK,CAAC,QAAA,EAAU,UAAA,EAAY,SAAS,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,uBAAuB,CAAA;AAAA,EAC7F,QAAQA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,wBAAwB,CAAA;AAAA,EAC/D,QAAQA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,wBAAwB,CAAA;AAAA;AAAA,EAE/D,IAAA,EAAM,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAC3E,CAAC;AAEM,IAAM,uBAAA,GAA0BA,EAAE,MAAA,CAAO;AAAA,EAC9C,GAAA,EAAKA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,+BAA+B,CAAA;AAAA,EACxD,KAAKA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,4BAA4B,CAAA;AAAA,EAChE,GAAA,EAAKA,CAAAA,CAAE,IAAA,CAAK,CAAC,SAAS,SAAA,EAAW,MAAM,CAAC,CAAA,CACrC,UAAS,CAAE,OAAA,CAAQ,OAAO,CAAA,CAAE,SAAS,uBAAuB,CAAA;AAAA,EAC/D,QAAQA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,wBAAwB,CAAA;AAAA;AAAA,EAE/D,IAAA,EAAM,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAC3E,CAAC;AAQM,IAAM,wBAAA,GAA2BA,EAAE,MAAA,CAAO;AAAA,EAC/C,KAAA,EAAO,eAAA,CAAgB,QAAA,CAAS,sBAAsB,CAAA;AAAA,EACtD,SAASA,CAAAA,CAAE,IAAA,CAAK,CAAC,SAAA,EAAW,aAAa,QAAA,EAAU,OAAA,EAAS,MAAM,CAAC,EAChE,QAAA,EAAS,CAAE,QAAQ,SAAS,CAAA,CAAE,SAAS,uBAAuB,CAAA;AAAA,EACjE,IAAA,EAAMA,CAAAA,CAAE,IAAA,CAAK,CAAC,SAAS,QAAA,EAAU,OAAO,CAAC,CAAA,CACtC,UAAS,CAAE,OAAA,CAAQ,QAAQ,CAAA,CAAE,SAAS,aAAa,CAAA;AAAA,EACtD,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,yBAAyB,CAAA;AAAA,EAC9D,YAAA,EAAcA,CAAAA,CAAE,IAAA,CAAK,CAAC,QAAQ,OAAO,CAAC,CAAA,CACnC,QAAA,EAAS,CAAE,OAAA,CAAQ,MAAM,CAAA,CAAE,SAAS,iCAAiC,CAAA;AAAA,EACxE,QAAA,EAAUA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,GAAW,OAAA,CAAQ,KAAK,CAAA,CAAE,QAAA,CAAS,oBAAoB,CAAA;AAAA;AAAA,EAE7E,IAAA,EAAM,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAC3E,CAAC;AAEM,IAAM,wBAAA,GAA2BA,EAAE,MAAA,CAAO;AAAA,EAC/C,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,kBAAkB,CAAA;AAAA,EAC9C,MAAA,EAAQA,EAAE,KAAA,CAAMA,CAAAA,CAAE,QAAQ,CAAA,CAAE,SAAS,wBAAwB,CAAA;AAAA,EAC7D,gBAAgBA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,qCAAqC,CAAA;AAAA,EACpF,MAAA,EAAQA,CAAAA,CAAE,IAAA,CAAK,CAAC,UAAU,UAAA,EAAY,SAAS,CAAC,CAAA,CAC7C,UAAS,CAAE,OAAA,CAAQ,QAAQ,CAAA,CAAE,SAAS,uBAAuB,CAAA;AAAA,EAChE,UAAA,EAAYA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,GAAW,OAAA,CAAQ,IAAI,CAAA,CAAE,QAAA,CAAS,mBAAmB,CAAA;AAAA;AAAA,EAE7E,IAAA,EAAM,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAC3E,CAAC;AAEM,IAAM,sBAAA,GAAyBA,EAAE,MAAA,CAAO;AAAA,EAC7C,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,qBAAqB,CAAA;AAAA,EACjD,MAAA,EAAQA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,qDAAqD,CAAA;AAAA,EACrG,IAAA,EAAMA,CAAAA,CAAE,IAAA,CAAK,CAAC,UAAU,MAAM,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,QAAQ,CAAA,CAAE,SAAS,WAAW,CAAA;AAAA,EAClF,WAAA,EAAa,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,qBAAqB,CAAA;AAAA,EACtE,UAAUA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kCAAkC,CAAA;AAAA;AAAA,EAE3E,IAAA,EAAM,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAC3E,CAAC;AAEM,IAAM,8BAAA,GAAiCA,EAAE,MAAA,CAAO;AAAA,EACrD,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,6BAA6B,CAAA;AAAA,EACzD,YAAA,EAAcA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,sCAAsC,CAAA;AAAA,EACxE,YAAA,EAAcA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,0BAA0B,CAAA;AAAA,EAChF,MAAA,EAAQ,qBAAA,CAAsB,QAAA,EAAS,CAAE,SAAS,uCAAuC,CAAA;AAAA,EACzF,QAAA,EAAUA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,GAAW,OAAA,CAAQ,KAAK,CAAA,CAAE,QAAA,CAAS,iCAAiC,CAAA;AAAA,EAC1F,gBAAgBA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,6CAA6C,CAAA;AAAA,EAC5F,WAAA,EAAa,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,kBAAkB,CAAA;AAAA;AAAA,EAEnE,IAAA,EAAM,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAC3E,CAAC;AAQM,IAAM,iBAAA,GAAoB;AAAA;AAAA,EAE/B,aAAA,EAAe,eAAA;AAAA,EACf,WAAA,EAAa,aAAA;AAAA,EACb,WAAA,EAAa,aAAA;AAAA,EACb,aAAA,EAAe,UAAA;AAAA,EACf,cAAA,EAAgB,UAAA;AAAA,EAChB,gBAAA,EAAkB,kBAAA;AAAA,EAClB,cAAA,EAAgB,UAAA;AAAA;AAAA,EAGhB,gBAAA,EAAkB,kBAAA;AAAA,EAClB,qBAAA,EAAuB,sBAAA;AAAA,EACvB,mBAAA,EAAqB,qBAAA;AAAA,EACrB,iBAAA,EAAmB,mBAAA;AAAA,EACnB,gBAAA,EAAkB,kBAAA;AAAA,EAClB,aAAA,EAAe,eAAA;AAAA;AAAA,EAGf,cAAA,EAAgB,UAAA;AAAA,EAChB,UAAA,EAAY,UAAA;AAAA,EACZ,gBAAA,EAAkB,UAAA;AAAA;AAAA,EAGlB,eAAA,EAAiB,UAAA;AAAA,EACjB,sBAAA,EAAwB,UAAA;AAAA,EACxB,cAAA,EAAgB,UAAA;AAAA;AAAA,EAGhB,gBAAA,EAAkB,iBAAA;AAAA,EAClB,eAAA,EAAiBA,CAAAA,CAAE,MAAA,CAAO,EAAE,OAAA,EAASA,EAAE,MAAA,EAAO,CAAE,QAAA,EAAS,EAAG,CAAA;AAAA;AAAA,EAG5D,cAAA,EAAgB,sBAAA;AAAA,EAChB,gBAAA,EAAkB,wBAAA;AAAA,EAClB,eAAA,EAAiB,uBAAA;AAAA,EACjB,iBAAA,EAAmB,UAAA;AAAA;AAAA,EAGnB,gBAAA,EAAkB,wBAAA;AAAA,EAClB,gBAAA,EAAkB,wBAAA;AAAA,EAClB,cAAA,EAAgB,sBAAA;AAAA,EAChB,uBAAA,EAAyB;AAC3B;AC3SO,IAAM,uBAAA,GAA0BA,EAAE,MAAA,CAAO;AAAA,EAC9C,QAAA,EAAUA,EAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA,CAAE,SAAS,yDAAyD,CAAA;AAAA,EACnG,SAAA,EAAWA,EAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA,CAAE,SAAS,0DAA0D,CAAA;AAAA,EACrG,SAASA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kDAAkD,CAAA;AAAA,EAC1F,OAAA,EAASA,EAAE,MAAA,CAAO;AAAA,IAChB,KAAKA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kCAAkC,CAAA;AAAA,IACtE,OAAOA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,4CAA4C,CAAA;AAAA,IAClF,QAAQA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kCAAkC,CAAA;AAAA,IACzE,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,2CAA2C;AAAA,GACjF,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,wDAAwD;AACjF,CAAC,CAAA,CAAE,SAAS,qDAAqD;AAQ1D,IAAM,iBAAA,GAAoBA,EAAE,IAAA,CAAK;AAAA,EACtC,OAAA;AAAA,EACA,OAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAC,CAAA,CAAE,SAAS,oBAAoB;AAOzB,IAAM,oBAAA,GAAuBA,EAAE,IAAA,CAAK,CAAC,MAAM,MAAA,EAAQ,MAAA,EAAQ,OAAO,CAAC;AAOnE,IAAM,wBAAA,GAA2BA,EAAE,MAAA,CAAO;AAAA,EAC/C,WAAWA,CAAAA,CAAE,KAAA,CAAM,oBAAoB,CAAA,CAAE,SAAS,0BAA0B,CAAA;AAAA,EAC5E,WAAWA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,+CAA+C,CAAA;AAAA,EACzF,UAAUA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,2CAA2C;AACtF,CAAC,CAAA,CAAE,SAAS,oCAAoC;AAOzC,IAAM,wBAAA,GAA2BA,EAAE,MAAA,CAAO;AAAA,EAC/C,UAAUA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,0CAA0C,CAAA;AAAA,EACnF,UAAUA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,2CAA2C;AACtF,CAAC,CAAA,CAAE,SAAS,yCAAyC;AAO9C,IAAM,4BAAA,GAA+BA,EAAE,MAAA,CAAO;AAAA,EACnD,QAAA,EAAUA,EAAE,MAAA,EAAO,CAAE,QAAQ,GAAG,CAAA,CAAE,SAAS,qDAAqD,CAAA;AAAA,EAChG,eAAeA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,6CAA6C;AAC7F,CAAC,CAAA,CAAE,SAAS,yCAAyC;AAQ9C,IAAM,mBAAA,GAAsBA,EAAE,MAAA,CAAO;AAAA,EAC1C,IAAA,EAAM,iBAAA,CAAkB,QAAA,CAAS,2BAA2B,CAAA;AAAA,EAC5D,KAAA,EAAO,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,0CAA0C,CAAA;AAAA,EACrF,OAAA,EAASA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,gCAAgC,CAAA;AAAA,EAC5E,KAAA,EAAO,wBAAA,CAAyB,QAAA,EAAS,CAAE,SAAS,6CAA6C,CAAA;AAAA,EACjG,KAAA,EAAO,wBAAA,CAAyB,QAAA,EAAS,CAAE,SAAS,6CAA6C,CAAA;AAAA,EACjG,SAAA,EAAW,4BAAA,CAA6B,QAAA,EAAS,CAAE,SAAS,+CAA+C;AAC7G,CAAC,CAAA,CAAE,SAAS,2BAA2B;AAQhC,IAAM,sBAAA,GAAyBA,EAAE,MAAA,CAAO;AAAA,EAC7C,QAAA,EAAUA,EAAE,KAAA,CAAM,mBAAmB,EAAE,QAAA,EAAS,CAAE,SAAS,gCAAgC,CAAA;AAAA,EAC3F,WAAA,EAAa,uBAAA,CAAwB,QAAA,EAAS,CAAE,SAAS,kCAAkC,CAAA;AAAA,EAC3F,gBAAgBA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,8CAA8C;AAChG,CAAC,EAAE,KAAA,CAAM,eAAA,CAAgB,SAAS,CAAA,CAAE,SAAS,6CAA6C;AC3FnF,IAAM,qBAAA,GAAwBA,EAAE,MAAA,CAAO;AAAA,EAC5C,OAAA,EAASA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,6CAA6C,CAAA;AAAA,EAC1F,cAAcA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,qDAAqD,CAAA;AAAA,EAClG,WAAA,EAAaA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,iDAAiD,CAAA;AAAA,EACjG,iBAAA,EAAmBA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,+CAA+C;AACvG,CAAC,CAAA,CAAE,SAAS,oDAAoD;AAQzD,IAAM,sBAAA,GAAyBA,EAAE,MAAA,CAAO;AAAA,EAC7C,GAAA,EAAKA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,qDAAqD,CAAA;AAAA,EAC9E,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,wDAAwD,CAAA;AAAA,EACpF,WAAA,EAAa,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,sDAAsD,CAAA;AAAA,EACvG,KAAA,EAAOA,CAAAA,CAAE,IAAA,CAAK,CAAC,UAAU,MAAA,EAAQ,MAAA,EAAQ,OAAA,EAAS,MAAM,CAAC,CAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA,CACxE,SAAS,wCAAwC;AACtD,CAAC,CAAA,CAAE,SAAS,2BAA2B;AAQhC,IAAM,qBAAA,GAAwBA,EAAE,MAAA,CAAO;AAAA,EAC5C,QAAA,EAAUA,CAAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,QAAQ,CAAC,CAAA,CAAE,OAAA,CAAQ,MAAM,CAAA,CAChD,QAAA,CAAS,oEAAoE,CAAA;AAAA,EAChF,SAAA,EAAWA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,0CAA0C,CAAA;AAAA,EACzF,YAAA,EAAcA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,kDAAkD,CAAA;AAAA,EACnG,SAAA,EAAW,qBAAA,CAAsB,QAAA,EAAS,CAAE,SAAS,qBAAqB,CAAA;AAAA,EAC1E,eAAA,EAAiBA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CACvC,SAAS,qDAAqD;AACnE,CAAC,CAAA,CAAE,SAAS,qCAAqC;AAQ1C,IAAM,8BAAA,GAAiCA,EAAE,MAAA,CAAO;AAAA,EACrD,SAAA,EAAWA,EAAE,KAAA,CAAM,sBAAsB,EAAE,QAAA,EAAS,CAAE,SAAS,+BAA+B,CAAA;AAAA,EAC9F,eAAA,EAAiB,qBAAA,CAAsB,QAAA,EAAS,CAAE,SAAS,gCAAgC,CAAA;AAAA,EAC3F,cAAA,EAAgBA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CACtC,SAAS,sDAAsD;AACpE,CAAC,EAAE,KAAA,CAAM,eAAA,CAAgB,SAAS,CAAA,CAAE,SAAS,gDAAgD;;;AC9CtF,IAAM,kBAAA,GAAqBA,EAAE,MAAA,CAAO;AAAA,EACzC,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,wCAAwC,CAAA;AAAA,EACrE,WAAWA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,uBAAuB,CAAA;AAAA,EACjE,QAAQA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,6BAA6B,CAAA;AAAA,EACpE,SAASA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,sCAAsC,CAAA;AAAA,EAC9E,SAASA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,uCAAuC,CAAA;AAAA,EAC/E,OAAOA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kCAAkC,CAAA;AAAA,EACxE,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kCAAkC,CAAA;AAAA;AAAA,EAGvE,YAAYA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kBAAkB,CAAA;AAAA,EAC7D,SAASA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,+BAA+B,CAAA;AAAA,EACvE,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,oBAAoB,CAAA;AAAA,EACzD,eAAeA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,sBAAsB,CAAA;AAAA,EACpE,QAAQA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,cAAc,CAAA;AAAA,EACrD,UAAUA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,sBAAsB,CAAA;AAAA;AAAA,EAG/D,cAAcA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,0BAA0B,CAAA;AAAA,EACvE,aAAaA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,yBAAyB,CAAA;AAAA,EACrE,gBAAgBA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,4BAA4B,CAAA;AAAA,EAC3E,eAAeA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,2BAA2B;AAC3E,CAAC;AAMM,IAAM,gBAAA,GAAmBA,EAAE,MAAA,CAAO;AAAA,EACvC,UAAA,EAAYA,EAAE,MAAA,CAAO;AAAA,IACnB,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,0CAA0C,CAAA;AAAA,IAC/E,SAASA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,qBAAqB,CAAA;AAAA,IAC7D,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gCAAgC;AAAA,GACtE,EAAE,QAAA,EAAS;AAAA,EAEZ,QAAA,EAAUA,EAAE,MAAA,CAAO;AAAA,IACjB,IAAIA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,uCAAuC,CAAA;AAAA,IAC1E,IAAIA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kCAAkC,CAAA;AAAA,IACrE,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,6BAA6B,CAAA;AAAA,IAClE,IAAIA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kCAAkC,CAAA;AAAA,IACrE,IAAIA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,uCAAuC,CAAA;AAAA,IAC1E,OAAOA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,mCAAmC,CAAA;AAAA,IACzE,OAAOA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,qCAAqC,CAAA;AAAA,IAC3E,OAAOA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,oCAAoC;AAAA,GAC3E,EAAE,QAAA,EAAS;AAAA,EAEZ,UAAA,EAAYA,EAAE,MAAA,CAAO;AAAA,IACnB,OAAOA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,6BAA6B,CAAA;AAAA,IACnE,QAAQA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA,IACrE,QAAQA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA,IACrE,UAAUA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gCAAgC,CAAA;AAAA,IACzE,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,4BAA4B;AAAA,GAClE,EAAE,QAAA,EAAS;AAAA,EAEZ,UAAA,EAAYA,EAAE,MAAA,CAAO;AAAA,IACnB,OAAOA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gCAAgC,CAAA;AAAA,IACtE,QAAQA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gCAAgC,CAAA;AAAA,IACvE,SAASA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kCAAkC,CAAA;AAAA,IAC1E,OAAOA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,6BAA6B;AAAA,GACpE,EAAE,QAAA,EAAS;AAAA,EAEZ,aAAA,EAAeA,EAAE,MAAA,CAAO;AAAA,IACtB,SAASA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,wCAAwC,CAAA;AAAA,IAChF,OAAOA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,uCAAuC,CAAA;AAAA,IAC7E,QAAQA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA,IACxE,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,qCAAqC,CAAA;AAAA,IAC1E,OAAOA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,qCAAqC;AAAA,GAC5E,EAAE,QAAA;AACL,CAAC;AAMM,IAAM,aAAA,GAAgBA,EAAE,MAAA,CAAO;AAAA,EACpC,KAAKA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,eAAe,CAAA;AAAA,EACnD,KAAKA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gCAAgC,CAAA;AAAA,EACpE,KAAKA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,+BAA+B,CAAA;AAAA,EACnE,KAAKA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gCAAgC,CAAA;AAAA,EACpE,KAAKA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,6BAA6B,CAAA;AAAA,EACjE,KAAKA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gCAAgC,CAAA;AAAA,EACpE,KAAKA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,+BAA+B,CAAA;AAAA,EACnE,KAAKA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,6BAA6B,CAAA;AAAA,EACjE,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gCAAgC,CAAA;AAAA,EACrE,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA,EACnE,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA,EACnE,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA,EACnE,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B;AACrE,CAAC;AAMM,IAAM,kBAAA,GAAqBA,EAAE,MAAA,CAAO;AAAA,EACzC,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,sBAAsB,CAAA;AAAA,EAC3D,IAAIA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,sCAAsC,CAAA;AAAA,EACzE,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,oCAAoC,CAAA;AAAA,EACzE,IAAIA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,uCAAuC,CAAA;AAAA,EAC1E,IAAIA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,oCAAoC,CAAA;AAAA,EACvE,IAAIA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,2CAA2C,CAAA;AAAA,EAC9E,OAAOA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,qCAAqC,CAAA;AAAA,EAC3E,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,0BAA0B;AACjE,CAAC;AAMM,IAAM,YAAA,GAAeA,EAAE,MAAA,CAAO;AAAA,EACnC,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,WAAW,CAAA;AAAA,EAChD,IAAIA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,cAAc,CAAA;AAAA,EACjD,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,aAAa,CAAA;AAAA,EAClD,IAAIA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,eAAe,CAAA;AAAA,EAClD,IAAIA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,cAAc,CAAA;AAAA,EACjD,IAAIA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,oBAAoB,CAAA;AAAA,EACvD,OAAOA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iBAAiB,CAAA;AAAA,EACvD,OAAOA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,sBAAsB;AAC9D,CAAC;AAMM,IAAM,iBAAA,GAAoBA,EAAE,MAAA,CAAO;AAAA,EACxC,IAAIA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,sCAAsC,CAAA;AAAA,EACzE,IAAIA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gCAAgC,CAAA;AAAA,EACnE,IAAIA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA,EACpE,IAAIA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA,EACpE,IAAIA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,uCAAuC,CAAA;AAAA,EAC1E,OAAOA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,oCAAoC;AAC5E,CAAC;AAMM,IAAM,eAAA,GAAkBA,EAAE,MAAA,CAAO;AAAA,EACtC,QAAA,EAAUA,EAAE,MAAA,CAAO;AAAA,IACjB,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA,IACnE,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA,IACnE,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B;AAAA,GACpE,EAAE,QAAA,EAAS;AAAA,EAEZ,MAAA,EAAQA,EAAE,MAAA,CAAO;AAAA,IACf,QAAQA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,wBAAwB,CAAA;AAAA,IAC/D,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,sBAAsB,CAAA;AAAA,IAC3D,SAASA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,yBAAyB,CAAA;AAAA,IACjE,UAAUA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,0BAA0B,CAAA;AAAA,IACnE,aAAaA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,6BAA6B;AAAA,GAC1E,EAAE,QAAA;AACL,CAAC;AAMM,IAAM,YAAA,GAAeA,EAAE,MAAA,CAAO;AAAA,EACnC,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,wBAAwB,CAAA;AAAA,EAC7D,UAAUA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,+BAA+B,CAAA;AAAA,EACxE,QAAQA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,6BAA6B,CAAA;AAAA,EACpE,OAAOA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,4BAA4B,CAAA;AAAA,EAClE,eAAeA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,qCAAqC,CAAA;AAAA,EACnF,OAAOA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,4BAA4B,CAAA;AAAA,EAClE,SAASA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA,EACtE,SAASA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B;AACxE,CAAC;AAKM,IAAM,kBAAkBA,CAAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,MAAA,EAAQ,MAAM,CAAC;AAGxD,IAAM,SAAA,GAAY;AAMlB,IAAM,oBAAoBA,CAAAA,CAAE,IAAA,CAAK,CAAC,SAAA,EAAW,SAAA,EAAW,UAAU,CAAC;AAGnE,IAAM,WAAA,GAAc;AAMpB,IAAM,0BAA0BA,CAAAA,CAAE,IAAA,CAAK,CAAC,IAAA,EAAM,KAAK,CAAC;AAGpD,IAAM,iBAAA,GAAoB;AAM1B,IAAM,WAAA,GAAcA,EAAE,MAAA,CAAO;AAAA,EAClC,IAAA,EAAM,yBAAA,CAA0B,QAAA,CAAS,sCAAsC,CAAA;AAAA,EAC/E,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,2BAA2B,CAAA;AAAA,EACtD,aAAaA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,mBAAmB,CAAA;AAAA;AAAA,EAG/D,MAAM,eAAA,CAAgB,OAAA,CAAQ,OAAO,CAAA,CAAE,SAAS,mCAAmC,CAAA;AAAA;AAAA,EAGnF,MAAA,EAAQ,kBAAA,CAAmB,QAAA,CAAS,6BAA6B,CAAA;AAAA;AAAA,EAGjE,UAAA,EAAY,gBAAA,CAAiB,QAAA,EAAS,CAAE,SAAS,qBAAqB,CAAA;AAAA;AAAA,EAGtE,OAAA,EAAS,aAAA,CAAc,QAAA,EAAS,CAAE,SAAS,eAAe,CAAA;AAAA;AAAA,EAG1D,YAAA,EAAc,kBAAA,CAAmB,QAAA,EAAS,CAAE,SAAS,qBAAqB,CAAA;AAAA;AAAA,EAG1E,OAAA,EAAS,YAAA,CAAa,QAAA,EAAS,CAAE,SAAS,oBAAoB,CAAA;AAAA;AAAA,EAG9D,WAAA,EAAa,iBAAA,CAAkB,QAAA,EAAS,CAAE,SAAS,wBAAwB,CAAA;AAAA;AAAA,EAG3E,SAAA,EAAW,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,oBAAoB,CAAA;AAAA;AAAA,EAGnE,MAAA,EAAQ,YAAA,CAAa,QAAA,EAAS,CAAE,SAAS,4BAA4B,CAAA;AAAA;AAAA,EAGrE,UAAA,EAAYA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,wCAAwC,CAAA;AAAA;AAAA,EAGzG,IAAA,EAAMA,EAAE,MAAA,CAAO;AAAA,IACb,OAAOA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,yBAAyB,CAAA;AAAA,IAC/D,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,wBAAwB,CAAA;AAAA,IAC7D,SAASA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,aAAa;AAAA,GACtD,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,aAAa,CAAA;AAAA;AAAA,EAGpC,SAASA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,2BAA2B,CAAA;AAAA;AAAA,EAGnE,OAAA,EAAS,iBAAA,CAAkB,QAAA,EAAS,CAAE,SAAS,gDAAgD,CAAA;AAAA;AAAA,EAG/F,YAAA,EAAc,uBAAA,CAAwB,QAAA,EAAS,CAAE,SAAS,uCAAuC,CAAA;AAAA;AAAA,EAGjG,KAAKA,CAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,uCAAuC,CAAA;AAAA;AAAA,EAG5E,WAAA,EAAa,uBAAA,CAAwB,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA;AAAA,EAGvF,kBAAA,EAAoB,qBAAA,CAAsB,QAAA,EAAS,CAAE,SAAS,oCAAoC;AACpG,CAAC;ACnQM,IAAM,qBAAA,GAAwBA,EAAE,IAAA,CAAK;AAAA,EAC1C,aAAA;AAAA,EACA,eAAA;AAAA,EACA,wBAAA;AAAA,EACA,cAAA;AAAA,EACA;AACF,CAAC,CAAA,CAAE,SAAS,uDAAuD;AAO5D,IAAM,wBAAA,GAA2BA,EAAE,IAAA,CAAK;AAAA,EAC7C,aAAA;AAAA,EACA,aAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAC,CAAA,CAAE,SAAS,uDAAuD;AAQ5D,IAAM,gBAAA,GAAmBA,EAAE,MAAA,CAAO;AAAA,EACvC,UAAU,qBAAA,CAAsB,OAAA,CAAQ,eAAe,CAAA,CAAE,SAAS,qBAAqB,CAAA;AAAA,EACvF,oBAAoB,wBAAA,CAAyB,OAAA,CAAQ,iBAAiB,CAAA,CAAE,SAAS,4BAA4B,CAAA;AAAA,EAC7G,eAAeA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,sDAAsD,CAAA;AAAA,EACpG,YAAYA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,uCAAuC,CAAA;AAAA,EAClF,WAAWA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,uCAAuC;AACnF,CAAC,CAAA,CAAE,SAAS,iDAAiD;AAOtD,IAAM,oBAAA,GAAuBA,EAAE,IAAA,CAAK;AAAA,EACzC,WAAA;AAAA,EACA,cAAA;AAAA,EACA;AACF,CAAC,CAAA,CAAE,SAAS,+CAA+C;AAOpD,IAAM,oBAAA,GAAuBA,EAAE,IAAA,CAAK;AAAA,EACzC,KAAA;AAAA,EACA,KAAA;AAAA,EACA;AACF,CAAC,CAAA,CAAE,SAAS,uBAAuB;AAQ5B,IAAM,wBAAA,GAA2BA,EAAE,MAAA,CAAO;AAAA,EAC/C,SAASA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,6BAA6B,CAAA;AAAA,EACrE,KAAKA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iDAAiD,CAAA;AAAA,EACrF,gBAAgB,oBAAA,CAAqB,OAAA,CAAQ,WAAW,CAAA,CAAE,SAAS,iBAAiB,CAAA;AAAA,EACpF,gBAAgB,oBAAA,CAAqB,OAAA,CAAQ,KAAK,CAAA,CAAE,SAAS,iCAAiC;AAChG,CAAC,CAAA,CAAE,SAAS,yCAAyC;AAQ9C,IAAM,mBAAA,GAAsBA,EAAE,MAAA,CAAO;AAAA,EAC1C,OAAA,EAASA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,wBAAwB,CAAA;AAAA,EACrE,UAAU,qBAAA,CAAsB,OAAA,CAAQ,eAAe,CAAA,CAAE,SAAS,gCAAgC,CAAA;AAAA,EAClG,KAAA,EAAO,wBAAA,CAAyB,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA,EACrF,IAAA,EAAM,gBAAA,CAAiB,QAAA,EAAS,CAAE,SAAS,qCAAqC,CAAA;AAAA,EAChF,gBAAA,EAAkBA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,sCAAsC,CAAA;AAAA,EAC3F,cAAA,EAAgB,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,oDAAoD,CAAA;AAAA,EACxG,cAAcA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,4CAA4C;AAC3F,CAAC,CAAA,CAAE,SAAS,+BAA+B;ACnFpC,IAAM,sBAAA,GAAyBA,EAAE,IAAA,CAAK;AAAA,EAC3C,MAAA;AAAA,EACA,UAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA;AAAA,EACA,aAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF,CAAC,CAAA,CAAE,SAAS,wBAAwB;AAQ7B,IAAM,oBAAA,GAAuBA,EAAE,IAAA,CAAK;AAAA,EACzC,QAAA;AAAA,EACA,MAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA;AAAA,EACA,aAAA;AAAA,EACA;AACF,CAAC,CAAA,CAAE,SAAS,2BAA2B;AAQhC,IAAM,sBAAA,GAAyBA,EAAE,MAAA,CAAO;AAAA,EAC7C,MAAA,EAAQ,sBAAA,CAAuB,QAAA,EAAS,CAAE,SAAS,4BAA4B,CAAA;AAAA,EAC/E,UAAUA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,qCAAqC,CAAA;AAAA,EAC9E,MAAA,EAAQ,oBAAA,CAAqB,QAAA,EAAS,CAAE,SAAS,oCAAoC,CAAA;AAAA,EACrF,OAAOA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gDAAgD,CAAA;AAAA,EACtF,iBAAiBA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,2CAA2C,CAAA;AAAA,EAC3F,YAAYA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,uEAAuE;AACpH,CAAC,CAAA,CAAE,SAAS,oCAAoC;AAQzC,IAAM,sBAAA,GAAyBA,EAAE,IAAA,CAAK;AAAA,EAC3C,UAAA;AAAA,EACA,YAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA,WAAA;AAAA,EACA;AACF,CAAC,CAAA,CAAE,SAAS,mCAAmC;AAQxC,IAAM,wBAAA,GAA2BA,EAAE,MAAA,CAAO;AAAA,EAC/C,KAAA,EAAO,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,oDAAoD,CAAA;AAAA,EAC/F,KAAA,EAAO,sBAAA,CAAuB,QAAA,EAAS,CAAE,SAAS,uBAAuB,CAAA;AAAA,EACzE,IAAA,EAAM,sBAAA,CAAuB,QAAA,EAAS,CAAE,SAAS,wBAAwB,CAAA;AAAA,EACzE,KAAA,EAAO,sBAAA,CAAuB,QAAA,EAAS,CAAE,SAAS,uBAAuB,CAAA;AAAA,EACzE,OAAA,EAAS,sBAAA,CAAuB,QAAA,EAAS,CAAE,SAAS,+BAA+B,CAAA;AAAA,EACnF,aAAA,EAAeA,CAAAA,CAAE,IAAA,CAAK,CAAC,SAAA,EAAW,SAAA,EAAW,aAAa,CAAC,CAAA,CAAE,OAAA,CAAQ,SAAS,CAAA,CAC3E,SAAS,qDAAqD;AACnE,CAAC,EAAE,KAAA,CAAM,eAAA,CAAgB,SAAS,CAAA,CAAE,SAAS,yCAAyC;AAQ/E,IAAM,oBAAA,GAAuBA,EAAE,MAAA,CAAO;AAAA,EAC3C,MAAM,sBAAA,CAAuB,OAAA,CAAQ,MAAM,CAAA,CAAE,SAAS,sBAAsB,CAAA;AAAA,EAC5E,QAAA,EAAUA,EAAE,MAAA,EAAO,CAAE,QAAQ,GAAG,CAAA,CAAE,SAAS,qCAAqC,CAAA;AAAA,EAChF,QAAQ,oBAAA,CAAqB,OAAA,CAAQ,aAAa,CAAA,CAAE,SAAS,oCAAoC,CAAA;AAAA,EACjG,SAAA,EAAWA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,qCAAqC;AACtF,CAAC,CAAA,CAAE,SAAS,qCAAqC;AAQ1C,IAAM,kBAAA,GAAqBA,EAAE,MAAA,CAAO;AAAA,EACzC,KAAA,EAAO,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,gDAAgD,CAAA;AAAA,EAC3F,iBAAA,EAAmB,sBAAA,CAAuB,QAAA,EAAS,CAAE,SAAS,8CAA8C,CAAA;AAAA,EAC5G,eAAA,EAAiB,oBAAA,CAAqB,QAAA,EAAS,CAAE,SAAS,qCAAqC,CAAA;AAAA,EAC/F,mBAAA,EAAqBA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,EAAG,wBAAwB,CAAA,CAAE,QAAA,EAAS,CAC1E,QAAA,CAAS,mDAAmD,CAAA;AAAA,EAC/D,aAAA,EAAeA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,4EAA4E,CAAA;AAAA,EAC/H,OAAA,EAASA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,2CAA2C;AACzF,CAAC,CAAA,CAAE,SAAS,qDAAqD;ACrG1D,IAAM,sBAAA,GAAyBA,EAAE,IAAA,CAAK;AAAA,EAC3C,OAAA;AAAA,EACA,UAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA;AACF,CAAC,CAAA,CAAE,SAAS,iCAAiC;AAQtC,IAAM,0BAAA,GAA6BA,EAAE,IAAA,CAAK;AAAA,EAC/C,MAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAC,CAAA,CAAE,SAAS,6BAA6B;AAQlC,IAAM,0BAAA,GAA6BA,EAAE,IAAA,CAAK;AAAA,EAC/C,UAAA;AAAA,EACA,YAAA;AAAA,EACA,WAAA;AAAA,EACA,aAAA;AAAA,EACA,eAAA;AAAA,EACA;AACF,CAAC,CAAA,CAAE,SAAS,4CAA4C;AAQjD,IAAM,wBAAA,GAA2BA,EAAE,MAAA,CAAO;AAAA,EAC/C,KAAA,EAAO,eAAA,CAAgB,QAAA,CAAS,qBAAqB,CAAA;AAAA,EACrD,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,8BAA8B,CAAA;AAAA,EAC1D,OAAA,EAASA,CAAAA,CAAE,IAAA,CAAK,CAAC,SAAA,EAAW,WAAA,EAAa,MAAM,CAAC,CAAA,CAAE,OAAA,CAAQ,SAAS,CAAA,CAChE,SAAS,sBAAsB;AACpC,CAAC,CAAA,CAAE,SAAS,4BAA4B;AAQjC,IAAM,kBAAA,GAAqBA,EAAE,MAAA,CAAO;AAAA,EACzC,MAAM,sBAAA,CAAuB,OAAA,CAAQ,OAAO,CAAA,CAAE,SAAS,iCAAiC,CAAA;AAAA,EACxF,UAAU,0BAAA,CAA2B,OAAA,CAAQ,MAAM,CAAA,CAAE,SAAS,6BAA6B,CAAA;AAAA,EAC3F,KAAA,EAAO,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,oBAAoB,CAAA;AAAA,EAC/D,OAAA,EAAS,eAAA,CAAgB,QAAA,CAAS,2BAA2B,CAAA;AAAA,EAC7D,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,oBAAoB,CAAA;AAAA,EACzD,UAAUA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kDAAkD,CAAA;AAAA,EAC3F,WAAA,EAAaA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,wCAAwC,CAAA;AAAA,EACxF,OAAA,EAASA,EAAE,KAAA,CAAM,wBAAwB,EAAE,QAAA,EAAS,CAAE,SAAS,gBAAgB,CAAA;AAAA,EAC/E,QAAA,EAAU,0BAAA,CAA2B,QAAA,EAAS,CAAE,SAAS,2BAA2B;AACtF,CAAC,EAAE,KAAA,CAAM,eAAA,CAAgB,SAAS,CAAA,CAAE,SAAS,kCAAkC;AAQxE,IAAM,wBAAA,GAA2BA,EAAE,MAAA,CAAO;AAAA,EAC/C,iBAAiB,0BAAA,CAA2B,OAAA,CAAQ,WAAW,CAAA,CAC5D,SAAS,2CAA2C,CAAA;AAAA,EACvD,eAAA,EAAiBA,EAAE,MAAA,EAAO,CAAE,QAAQ,GAAI,CAAA,CACrC,SAAS,qCAAqC,CAAA;AAAA,EACjD,UAAA,EAAYA,EAAE,MAAA,EAAO,CAAE,QAAQ,CAAC,CAAA,CAC7B,SAAS,iDAAiD,CAAA;AAAA,EAC7D,cAAA,EAAgBA,CAAAA,CAAE,IAAA,CAAK,CAAC,IAAA,EAAM,MAAM,CAAC,CAAA,CAAE,OAAA,CAAQ,MAAM,CAAA,CAClD,QAAA,CAAS,4CAA4C,CAAA;AAAA,EACxD,YAAA,EAAcA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CACnC,SAAS,mCAAmC;AACjD,CAAC,CAAA,CAAE,SAAS,0CAA0C;ACpF/C,IAAM,gBAAA,GAAmBA,EAAE,IAAA,CAAK;AAAA,EACrC,SAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAC,CAAA,CAAE,SAAS,wBAAwB;AAQ7B,IAAM,gBAAA,GAAmBA,EAAE,IAAA,CAAK;AAAA,EACrC,MAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF,CAAC,CAAA,CAAE,SAAS,uBAAuB;AAQ5B,IAAM,oBAAA,GAAuBA,EAAE,MAAA,CAAO;AAAA,EAC3C,IAAA,EAAMA,CAAAA,CAAE,IAAA,CAAK,CAAC,GAAA,EAAK,GAAA,EAAK,MAAM,CAAC,CAAA,CAAE,OAAA,CAAQ,MAAM,CAAA,CAAE,SAAS,qBAAqB,CAAA;AAAA,EAC/E,MAAA,EAAQA,CAAAA,CAAE,IAAA,CAAK,CAAC,QAAA,EAAU,UAAA,EAAY,MAAM,CAAC,CAAA,CAAE,OAAA,CAAQ,MAAM,CAAA,CAAE,SAAS,yBAAyB,CAAA;AAAA,EACjG,IAAA,EAAMA,CAAAA,CAAE,KAAA,CAAM,CAACA,EAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,MAAA,EAAQ,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAC7F,CAAC,CAAA,CAAE,SAAS,2BAA2B;AAQhC,IAAM,cAAA,GAAiBA,EAAE,MAAA,CAAO;AAAA,EACrC,KAAA,EAAO,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,oCAAoC,CAAA;AAAA,EAC/E,MAAA,EAAQA,EAAE,KAAA,CAAMA,CAAAA,CAAE,QAAQ,CAAA,CAAE,SAAS,0BAA0B,CAAA;AAAA,EAC/D,UAAUA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,oCAAoC,CAAA;AAAA,EAC7E,mBAAA,EAAqBA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,wCAAwC,CAAA;AAAA,EAChG,YAAY,gBAAA,CAAiB,OAAA,CAAQ,MAAM,CAAA,CAAE,SAAS,uBAAuB;AAC/E,CAAC,EAAE,KAAA,CAAM,eAAA,CAAgB,SAAS,CAAA,CAAE,SAAS,yBAAyB;AAQ/D,IAAM,cAAA,GAAiBA,EAAE,MAAA,CAAO;AAAA,EACrC,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,wDAAwD,CAAA;AAAA,EAClF,KAAA,EAAO,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,gDAAgD,CAAA;AAAA,EAC3F,QAAQ,gBAAA,CAAiB,OAAA,CAAQ,SAAS,CAAA,CAAE,SAAS,sBAAsB,CAAA;AAAA,EAC3E,UAAA,EAAY,oBAAA,CAAqB,QAAA,EAAS,CAAE,SAAS,2BAA2B,CAAA;AAAA,EAChF,OAAA,EAASA,CAAAA,CAAE,IAAA,CAAK,CAAC,SAAA,EAAW,QAAA,EAAU,MAAM,CAAC,CAAA,CAAE,OAAA,CAAQ,SAAS,CAAA,CAAE,SAAS,mBAAmB,CAAA;AAAA,EAC9F,QAAA,EAAUA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,kBAAkB;AAClE,CAAC,EAAE,KAAA,CAAM,eAAA,CAAgB,SAAS,CAAA,CAAE,SAAS,8BAA8B;AAQpE,IAAM,eAAA,GAAkBA,EAAE,MAAA,CAAO;AAAA,EACtC,OAAA,EAASA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,sBAAsB,CAAA;AAAA,EACnE,QAAA,EAAU,cAAA,CAAe,QAAA,EAAS,CAAE,SAAS,kCAAkC,CAAA;AAAA,EAC/E,QAAA,EAAU,cAAA,CAAe,QAAA,EAAS,CAAE,SAAS,+BAA+B,CAAA;AAAA,EAC5E,QAAA,EAAUA,EAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,+BAA+B,CAAA;AAAA,EAC7E,UAAA,EAAYA,EAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,oCAAoC,CAAA;AAAA,EACnF,UAAA,EAAYA,EAAE,MAAA,EAAO,CAAE,QAAQ,GAAG,CAAA,CAAE,SAAS,iDAAiD;AAChG,CAAC,CAAA,CAAE,SAAS,yCAAyC","file":"index.mjs","sourcesContent":["// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * I18n Object Schema\n * Structured internationalization label with translation key and parameters.\n * \n * @example\n * ```typescript\n * const label: I18nObject = {\n * key: 'views.task_list.label',\n * defaultValue: 'Task List',\n * params: { count: 5 },\n * };\n * ```\n */\nexport const I18nObjectSchema = z.object({\n /** Translation key (e.g., \"views.task_list.label\", \"apps.crm.description\") */\n key: z.string().describe('Translation key (e.g., \"views.task_list.label\")'),\n\n /** Default value when translation is not available */\n defaultValue: z.string().optional().describe('Fallback value when translation key is not found'),\n\n /** Interpolation parameters for dynamic translations */\n params: z.record(z.string(), z.union([z.string(), z.number(), z.boolean()])).optional().describe('Interpolation parameters (e.g., { count: 5 })'),\n});\n\nexport type I18nObject = z.infer<typeof I18nObjectSchema>;\n\n/**\n * I18n Label Schema (Union)\n * \n * Supports two modes for backward compatibility:\n * 1. **Plain string** — Direct label text (legacy/simple usage)\n * 2. **I18n object** — Structured translation key with parameters\n * \n * This union type allows gradual migration from hardcoded strings\n * to fully internationalized labels without breaking existing configurations.\n * \n * @example Plain string (backward compatible)\n * ```typescript\n * const label: I18nLabel = \"All Active\";\n * ```\n * \n * @example I18n object\n * ```typescript\n * const label: I18nLabel = {\n * key: \"views.task_list.label\",\n * defaultValue: \"Task List\",\n * };\n * ```\n */\nexport const I18nLabelSchema = z.union([\n z.string(),\n I18nObjectSchema,\n]).describe('Display label: plain string or i18n translation object');\n\nexport type I18nLabel = z.infer<typeof I18nLabelSchema>;\n\n/**\n * ARIA Accessibility Properties Schema\n * \n * Common ARIA attributes for UI components to support screen readers\n * and assistive technologies.\n * \n * Aligned with WAI-ARIA 1.2 specification.\n * \n * @see https://www.w3.org/TR/wai-aria-1.2/\n * \n * @example\n * ```typescript\n * const aria: AriaProps = {\n * ariaLabel: 'Close dialog',\n * ariaDescribedBy: 'dialog-description',\n * role: 'dialog',\n * };\n * ```\n */\nexport const AriaPropsSchema = z.object({\n /** Accessible label for screen readers */\n ariaLabel: I18nLabelSchema.optional().describe('Accessible label for screen readers (WAI-ARIA aria-label)'),\n\n /** ID of element that describes this component */\n ariaDescribedBy: z.string().optional().describe('ID of element providing additional description (WAI-ARIA aria-describedby)'),\n\n /** WAI-ARIA role override */\n role: z.string().optional().describe('WAI-ARIA role attribute (e.g., \"dialog\", \"navigation\", \"alert\")'),\n}).describe('ARIA accessibility attributes');\n\nexport type AriaProps = z.infer<typeof AriaPropsSchema>;\n\n/**\n * Plural Rule Schema\n *\n * Defines plural forms for a translation key, following ICU MessageFormat / i18next conventions.\n * Supports zero, one, two, few, many, other forms per CLDR plural rules.\n *\n * @see https://unicode.org/reports/tr35/tr35-numbers.html#Language_Plural_Rules\n *\n * @example\n * ```typescript\n * const plural: PluralRule = {\n * key: 'items.count',\n * zero: 'No items',\n * one: '{count} item',\n * other: '{count} items',\n * };\n * ```\n */\nexport const PluralRuleSchema = z.object({\n /** Translation key for the plural form */\n key: z.string().describe('Translation key'),\n /** Form for zero quantity */\n zero: z.string().optional().describe('Zero form (e.g., \"No items\")'),\n /** Form for singular (1) */\n one: z.string().optional().describe('Singular form (e.g., \"{count} item\")'),\n /** Form for dual (2) — used in Arabic, Welsh, etc. */\n two: z.string().optional().describe('Dual form (e.g., \"{count} items\" for exactly 2)'),\n /** Form for few (2-4 in Slavic languages) */\n few: z.string().optional().describe('Few form (e.g., for 2-4 in some languages)'),\n /** Form for many (5+ in Slavic languages) */\n many: z.string().optional().describe('Many form (e.g., for 5+ in some languages)'),\n /** Default/fallback form */\n other: z.string().describe('Default plural form (e.g., \"{count} items\")'),\n}).describe('ICU plural rules for a translation key');\n\nexport type PluralRule = z.infer<typeof PluralRuleSchema>;\n\n/**\n * Number Format Schema\n *\n * Defines number formatting rules for localization.\n *\n * @example\n * ```typescript\n * const format: NumberFormat = {\n * style: 'currency',\n * currency: 'USD',\n * minimumFractionDigits: 2,\n * };\n * ```\n */\nexport const NumberFormatSchema = z.object({\n style: z.enum(['decimal', 'currency', 'percent', 'unit']).default('decimal')\n .describe('Number formatting style'),\n currency: z.string().optional().describe('ISO 4217 currency code (e.g., \"USD\", \"EUR\")'),\n unit: z.string().optional().describe('Unit for unit formatting (e.g., \"kilometer\", \"liter\")'),\n minimumFractionDigits: z.number().optional().describe('Minimum number of fraction digits'),\n maximumFractionDigits: z.number().optional().describe('Maximum number of fraction digits'),\n useGrouping: z.boolean().optional().describe('Whether to use grouping separators (e.g., 1,000)'),\n}).describe('Number formatting rules');\n\nexport type NumberFormat = z.infer<typeof NumberFormatSchema>;\n\n/**\n * Date Format Schema\n *\n * Defines date/time formatting rules for localization.\n *\n * @example\n * ```typescript\n * const format: DateFormat = {\n * dateStyle: 'medium',\n * timeStyle: 'short',\n * timeZone: 'America/New_York',\n * };\n * ```\n */\nexport const DateFormatSchema = z.object({\n dateStyle: z.enum(['full', 'long', 'medium', 'short']).optional()\n .describe('Date display style'),\n timeStyle: z.enum(['full', 'long', 'medium', 'short']).optional()\n .describe('Time display style'),\n timeZone: z.string().optional().describe('IANA time zone (e.g., \"America/New_York\")'),\n hour12: z.boolean().optional().describe('Use 12-hour format'),\n}).describe('Date/time formatting rules');\n\nexport type DateFormat = z.infer<typeof DateFormatSchema>;\n\n/**\n * Locale Configuration Schema\n *\n * Defines a complete locale configuration including language code,\n * fallback chain, and formatting preferences.\n *\n * @example\n * ```typescript\n * const locale: LocaleConfig = {\n * code: 'zh-CN',\n * fallbackChain: ['zh-TW', 'en'],\n * direction: 'ltr',\n * numberFormat: { style: 'decimal', useGrouping: true },\n * dateFormat: { dateStyle: 'medium', timeStyle: 'short' },\n * };\n * ```\n */\nexport const LocaleConfigSchema = z.object({\n /** BCP 47 language code (e.g., \"en-US\", \"zh-CN\", \"ar-SA\") */\n code: z.string().describe('BCP 47 language code (e.g., \"en-US\", \"zh-CN\")'),\n\n /** Ordered fallback chain for missing translations */\n fallbackChain: z.array(z.string()).optional()\n .describe('Fallback language codes in priority order (e.g., [\"zh-TW\", \"en\"])'),\n\n /** Text direction */\n direction: z.enum(['ltr', 'rtl']).default('ltr')\n .describe('Text direction: left-to-right or right-to-left'),\n\n /** Default number formatting */\n numberFormat: NumberFormatSchema.optional().describe('Default number formatting rules'),\n\n /** Default date formatting */\n dateFormat: DateFormatSchema.optional().describe('Default date/time formatting rules'),\n}).describe('Locale configuration');\n\nexport type LocaleConfig = z.infer<typeof LocaleConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.zod';\n\n/**\n * Unified Chart Type Taxonomy\n * \n * Shared by Dashboard and Report widgets.\n * Provides a comprehensive set of chart types for data visualization.\n */\n\n/**\n * Chart Type Enum\n * Categorized by visualization purpose\n */\nexport const ChartTypeSchema = z.enum([\n // Comparison\n 'bar',\n 'horizontal-bar',\n 'column',\n 'grouped-bar',\n 'stacked-bar',\n 'bi-polar-bar',\n \n // Trend\n 'line',\n 'area',\n 'stacked-area',\n 'step-line',\n 'spline',\n \n // Distribution\n 'pie',\n 'donut',\n 'funnel',\n 'pyramid',\n \n // Relationship\n 'scatter',\n 'bubble',\n \n // Composition\n 'treemap',\n 'sunburst',\n 'sankey',\n 'word-cloud',\n \n // Performance\n 'gauge',\n 'solid-gauge',\n 'metric',\n 'kpi',\n 'bullet',\n \n // Geo\n 'choropleth',\n 'bubble-map',\n 'gl-map',\n \n // Advanced\n 'heatmap',\n 'radar',\n 'waterfall',\n 'box-plot',\n 'violin',\n 'candlestick',\n 'stock',\n \n // Tabular\n 'table',\n 'pivot',\n]);\n\nexport type ChartType = z.infer<typeof ChartTypeSchema>;\n\n/**\n * Chart Axis Schema\n * Definition for X and Y axes\n */\nexport const ChartAxisSchema = z.object({\n /** Data field to map to this axis */\n field: z.string().describe('Data field key'),\n \n /** Axis title */\n title: I18nLabelSchema.optional().describe('Axis display title'),\n\n /** Value formatting (d3-format or similar) */\n format: z.string().optional().describe('Value format string (e.g., \"$0,0.00\")'),\n \n /** Axis scale settings */\n min: z.number().optional().describe('Minimum value'),\n max: z.number().optional().describe('Maximum value'),\n stepSize: z.number().optional().describe('Step size for ticks'),\n \n /** Appearance */\n showGridLines: z.boolean().default(true),\n position: z.enum(['left', 'right', 'top', 'bottom']).optional().describe('Axis position'),\n \n /** Logarithmic scale */\n logarithmic: z.boolean().default(false),\n});\n\n/**\n * Chart Series Schema\n * Defines a single data series in the chart\n */\nexport const ChartSeriesSchema = z.object({\n /** Field name for values */\n name: z.string().describe('Field name or series identifier'),\n \n /** Display label */\n label: I18nLabelSchema.optional().describe('Series display label'),\n \n /** Series type override (combo charts) */\n type: ChartTypeSchema.optional().describe('Override chart type for this series'),\n \n /** Specific color */\n color: z.string().optional().describe('Series color (hex/rgb/token)'),\n \n /** Stacking group */\n stack: z.string().optional().describe('Stack identifier to group series'),\n \n /** Axis binding */\n yAxis: z.enum(['left', 'right']).default('left').describe('Bind to specific Y-Axis'),\n});\n\n/**\n * Chart Annotation Schema\n * Static lines or regions to highlight data\n */\nexport const ChartAnnotationSchema = z.object({\n type: z.enum(['line', 'region']).default('line'),\n axis: z.enum(['x', 'y']).default('y'),\n value: z.union([z.number(), z.string()]).describe('Start value'),\n endValue: z.union([z.number(), z.string()]).optional().describe('End value for regions'),\n color: z.string().optional(),\n label: I18nLabelSchema.optional(),\n style: z.enum(['solid', 'dashed', 'dotted']).default('dashed'),\n});\n\n/**\n * Chart Interaction Schema\n */\nexport const ChartInteractionSchema = z.object({\n tooltips: z.boolean().default(true),\n zoom: z.boolean().default(false),\n brush: z.boolean().default(false),\n clickAction: z.string().optional().describe('Action ID to trigger on click'),\n});\n\n/**\n * Chart Configuration Base\n * Common configuration for all chart types\n */\nexport const ChartConfigSchema = z.object({\n /** Chart Type */\n type: ChartTypeSchema,\n \n /** Titles */\n title: I18nLabelSchema.optional().describe('Chart title'),\n subtitle: I18nLabelSchema.optional().describe('Chart subtitle'),\n description: I18nLabelSchema.optional().describe('Accessibility description'),\n \n /** Axes Mapping */\n xAxis: ChartAxisSchema.optional().describe('X-Axis configuration'),\n yAxis: z.array(ChartAxisSchema).optional().describe('Y-Axis configuration (support dual axis)'),\n \n /** Series Configuration */\n series: z.array(ChartSeriesSchema).optional().describe('Defined series configuration'),\n \n /** Appearance */\n colors: z.array(z.string()).optional().describe('Color palette'),\n height: z.number().optional().describe('Fixed height in pixels'),\n \n /** Components */\n showLegend: z.boolean().default(true).describe('Display legend'),\n showDataLabels: z.boolean().default(false).describe('Display data labels'),\n \n /** Annotations & Reference Lines */\n annotations: z.array(ChartAnnotationSchema).optional(),\n \n /** Interactions */\n interaction: ChartInteractionSchema.optional(),\n\n /** ARIA accessibility attributes */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\nexport type ChartConfig = z.infer<typeof ChartConfigSchema>;\nexport type ChartAxis = z.infer<typeof ChartAxisSchema>;\nexport type ChartSeries = z.infer<typeof ChartSeriesSchema>;\nexport type ChartAnnotation = z.infer<typeof ChartAnnotationSchema>;\nexport type ChartInteraction = z.infer<typeof ChartInteractionSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Breakpoint Name Enum\n * Matches the breakpoint names defined in theme.zod.ts BreakpointsSchema.\n */\nexport const BreakpointName = z.enum(['xs', 'sm', 'md', 'lg', 'xl', '2xl']);\n\nexport type BreakpointName = z.infer<typeof BreakpointName>;\n\n/**\n * Responsive Configuration Schema\n *\n * Provides responsive layout configuration for UI components.\n * Maps breakpoint names to layout behavior (columns, visibility, order).\n *\n * Aligned with theme.zod.ts BreakpointsSchema for a unified responsive system.\n *\n * @example\n * ```typescript\n * const config: ResponsiveConfig = {\n * columns: { xs: 12, sm: 6, lg: 4 },\n * hiddenOn: ['xs'],\n * order: { xs: 2, lg: 1 },\n * };\n * ```\n */\n/**\n * Breakpoint Column Map Schema\n * Maps breakpoint names to grid column counts (1-12).\n * All entries are optional — only specified breakpoints are configured.\n */\nexport const BreakpointColumnMapSchema = z.object({\n xs: z.number().min(1).max(12).optional(),\n sm: z.number().min(1).max(12).optional(),\n md: z.number().min(1).max(12).optional(),\n lg: z.number().min(1).max(12).optional(),\n xl: z.number().min(1).max(12).optional(),\n '2xl': z.number().min(1).max(12).optional(),\n}).describe('Grid columns per breakpoint (1-12)');\n\n/**\n * Breakpoint Order Map Schema\n * Maps breakpoint names to display order numbers.\n * All entries are optional — only specified breakpoints are configured.\n */\nexport const BreakpointOrderMapSchema = z.object({\n xs: z.number().optional(),\n sm: z.number().optional(),\n md: z.number().optional(),\n lg: z.number().optional(),\n xl: z.number().optional(),\n '2xl': z.number().optional(),\n}).describe('Display order per breakpoint');\n\nexport const ResponsiveConfigSchema = z.object({\n /** Minimum breakpoint for visibility */\n breakpoint: BreakpointName.optional()\n .describe('Minimum breakpoint for visibility'),\n\n /** Hide on specific breakpoints */\n hiddenOn: z.array(BreakpointName).optional()\n .describe('Hide on these breakpoints'),\n\n /** Grid columns per breakpoint (1-12 column grid) */\n columns: BreakpointColumnMapSchema.optional().describe('Grid columns per breakpoint'),\n\n /** Display order per breakpoint */\n order: BreakpointOrderMapSchema.optional().describe('Display order per breakpoint'),\n}).describe('Responsive layout configuration');\n\nexport type ResponsiveConfig = z.infer<typeof ResponsiveConfigSchema>;\n\n/**\n * Performance Configuration Schema\n *\n * Defines performance optimization settings for UI components\n * such as lazy loading, virtual scrolling, and caching.\n *\n * @example\n * ```typescript\n * const perf: PerformanceConfig = {\n * lazyLoad: true,\n * virtualScroll: { enabled: true, itemHeight: 40, overscan: 5 },\n * cacheStrategy: 'stale-while-revalidate',\n * prefetch: true,\n * };\n * ```\n */\nexport const PerformanceConfigSchema = z.object({\n /** Enable lazy loading for this component */\n lazyLoad: z.boolean().optional()\n .describe('Enable lazy loading (defer rendering until visible)'),\n\n /** Virtual scrolling configuration for large datasets */\n virtualScroll: z.object({\n enabled: z.boolean().default(false).describe('Enable virtual scrolling'),\n itemHeight: z.number().optional().describe('Fixed item height in pixels (for estimation)'),\n overscan: z.number().optional().describe('Number of extra items to render outside viewport'),\n }).optional().describe('Virtual scrolling configuration'),\n\n /** Client-side caching strategy */\n cacheStrategy: z.enum([\n 'none',\n 'cache-first',\n 'network-first',\n 'stale-while-revalidate',\n ]).optional().describe('Client-side data caching strategy'),\n\n /** Enable data prefetching */\n prefetch: z.boolean().optional()\n .describe('Prefetch data before component is visible'),\n\n /** Maximum number of items to render before pagination */\n pageSize: z.number().optional()\n .describe('Number of items per page for pagination'),\n\n /** Debounce interval for user interactions (ms) */\n debounceMs: z.number().optional()\n .describe('Debounce interval for user interactions in milliseconds'),\n}).describe('Performance optimization configuration');\n\nexport type PerformanceConfig = z.infer<typeof PerformanceConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * System Identifier Schema\n * \n * Universal naming convention for all machine identifiers (API Names) in ObjectStack.\n * Enforces lowercase with underscores or dots to ensure:\n * - Cross-platform compatibility (case-insensitive filesystems)\n * - URL-friendliness (no encoding needed)\n * - Database consistency (no collation issues)\n * - Security (no case-sensitivity bugs in permission checks)\n * \n * **Applies to all metadata that acts as a machine identifier:**\n * - Object names (tables/collections)\n * - Field names\n * - Role names\n * - Permission set names\n * - Action/trigger names\n * - Event keys\n * - App IDs\n * - Menu/page IDs\n * - Select option values\n * - Workflow names\n * - Webhook names\n * \n * **Naming Convention Summary:**\n * | Type | Pattern | Example |\n * |------|---------|---------|\n * | Machine ID | snake_case | `crm_account`, `btn_submit`, `role_admin` |\n * | Event keys | dot.notation | `user.login`, `order.created` |\n * | Labels | Any case | `Client Account`, `Submit Form` |\n * \n * @example Valid identifiers\n * - 'account'\n * - 'crm_account'\n * - 'user_profile'\n * - 'order.created' (for events)\n * - 'api_v2_endpoint'\n * \n * @example Invalid identifiers (will be rejected)\n * - 'Account' (uppercase)\n * - 'CrmAccount' (camelCase)\n * - 'crm-account' (kebab-case - use underscore instead)\n * - 'user profile' (spaces)\n */\nexport const SystemIdentifierSchema = z\n .string()\n .min(2, { message: 'System identifier must be at least 2 characters' })\n .regex(/^[a-z][a-z0-9_.]*$/, {\n message:\n 'System identifier must be lowercase, starting with a letter, and may contain letters, numbers, underscores, or dots (e.g., \"user_profile\" or \"order.created\")',\n })\n .describe('System identifier (lowercase with underscores or dots)');\n\n/**\n * Strict Snake Case Identifier\n * \n * More restrictive than SystemIdentifierSchema - only allows underscores (no dots).\n * Use this for identifiers that should NOT contain dots (e.g., database table/column names).\n * \n * @example Valid\n * - 'account'\n * - 'crm_account'\n * - 'user_profile'\n * \n * @example Invalid\n * - 'user.profile' (dots not allowed)\n * - 'UserProfile' (uppercase)\n */\nexport const SnakeCaseIdentifierSchema = z\n .string()\n .min(2, { message: 'Identifier must be at least 2 characters' })\n .regex(/^[a-z][a-z0-9_]*$/, {\n message:\n 'Identifier must be lowercase snake_case, starting with a letter, and may contain only letters, numbers, and underscores (e.g., \"user_profile\")',\n })\n .describe('Snake case identifier (lowercase with underscores only)');\n\n/**\n * Event Name Identifier\n * \n * Specialized identifier for event names that encourages dot notation.\n * Used in event-driven systems, message queues, and webhooks.\n * \n * Pattern: `namespace.action` or `entity.event_type`\n * \n * @example Valid\n * - 'user.created'\n * - 'order.paid'\n * - 'user.login_success'\n * - 'alarm.high_cpu'\n * \n * @example Invalid\n * - 'UserCreated' (camelCase)\n * - 'user_created' (should use dots for namespacing)\n */\nexport const EventNameSchema = z\n .string()\n .min(3, { message: 'Event name must be at least 3 characters' })\n .regex(/^[a-z][a-z0-9_.]*$/, {\n message:\n 'Event name must be lowercase with dots for namespacing (e.g., \"user.created\", \"order.paid\")',\n })\n .describe('Event name (lowercase with dot notation for namespacing)');\n\n/**\n * Type Exports\n */\nexport type SystemIdentifier = z.infer<typeof SystemIdentifierSchema>;\nexport type SnakeCaseIdentifier = z.infer<typeof SnakeCaseIdentifierSchema>;\nexport type EventName = z.infer<typeof EventNameSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\n/**\n * @module ui/sharing\n *\n * Sharing & Embedding Protocol\n *\n * Defines schemas for public link sharing, embed configuration,\n * domain restrictions, and password protection for apps, pages, and forms.\n */\n\nimport { z } from 'zod';\n\n/**\n * Sharing Config Schema\n * Configuration for public sharing of an app, page, or form.\n * Supports public links, password protection, domain restrictions, and expiration.\n */\nexport const SharingConfigSchema = z.object({\n enabled: z.boolean().default(false).describe('Enable public sharing'),\n publicLink: z.string().optional().describe('Generated public share URL'),\n password: z.string().optional().describe('Password required to access shared link'),\n allowedDomains: z.array(z.string()).optional()\n .describe('Restrict access to specific email domains (e.g. [\"example.com\"])'),\n expiresAt: z.string().optional()\n .describe('Expiration date/time in ISO 8601 format'),\n allowAnonymous: z.boolean().optional().default(false)\n .describe('Allow access without authentication'),\n});\n\n/**\n * Embed Config Schema\n * Configuration for iframe embedding of an app, page, or form.\n * Supports origin restrictions, display options, and responsive sizing.\n */\nexport const EmbedConfigSchema = z.object({\n enabled: z.boolean().default(false).describe('Enable iframe embedding'),\n allowedOrigins: z.array(z.string()).optional()\n .describe('Allowed iframe parent origins (e.g. [\"https://example.com\"])'),\n width: z.string().optional().default('100%').describe('Embed width (CSS value)'),\n height: z.string().optional().default('600px').describe('Embed height (CSS value)'),\n showHeader: z.boolean().optional().default(true).describe('Show interface header in embed'),\n showNavigation: z.boolean().optional().default(false).describe('Show navigation in embed'),\n responsive: z.boolean().optional().default(true).describe('Enable responsive resizing'),\n});\n\n// Type Exports\nexport type SharingConfig = z.infer<typeof SharingConfigSchema>;\nexport type EmbedConfig = z.infer<typeof EmbedConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { SnakeCaseIdentifierSchema } from '../shared/identifiers.zod';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.zod';\nimport { SharingConfigSchema, EmbedConfigSchema } from './sharing.zod';\n\n/**\n * Base Navigation Item Schema\n * Shared properties for all navigation types.\n * \n * **NAMING CONVENTION:**\n * Navigation item IDs are used in URLs and configuration and must be lowercase snake_case.\n * \n * @example Good IDs\n * - 'menu_accounts'\n * - 'page_dashboard'\n * - 'nav_settings'\n * \n * @example Bad IDs (will be rejected)\n * - 'MenuAccounts' (PascalCase)\n * - 'Page Dashboard' (spaces)\n */\nconst BaseNavItemSchema = z.object({\n /** Unique identifier for the item */\n id: SnakeCaseIdentifierSchema.describe('Unique identifier for this navigation item (lowercase snake_case)'),\n \n /** Display label */\n label: I18nLabelSchema.describe('Display proper label'),\n \n /** Icon name (Lucide) */\n icon: z.string().optional().describe('Icon name'),\n\n /** Sort order within the same level (lower numbers appear first) */\n order: z.number().optional().describe('Sort order within the same level (lower = first)'),\n\n /** Badge text or count displayed on the navigation item (e.g. \"3\", \"New\") */\n badge: z.union([z.string(), z.number()]).optional().describe('Badge text or count displayed on the item'),\n\n /** \n * Visibility condition. \n * Formula expression returning boolean. \n * e.g. \"user.is_admin || user.department == 'sales'\"\n */\n visible: z.string().optional().describe('Visibility formula condition'),\n\n /** Permissions required to see/access this navigation item */\n requiredPermissions: z.array(z.string()).optional().describe('Permissions required to access this item'),\n});\n\n/**\n * 1. Object Navigation Item\n * Navigates to an object's list view.\n */\nexport const ObjectNavItemSchema = BaseNavItemSchema.extend({\n type: z.literal('object'),\n objectName: z.string().describe('Target object name'),\n viewName: z.string().optional().describe('Default list view to open. Defaults to \"all\"'),\n});\n\n/**\n * 2. Dashboard Navigation Item\n * Navigates to a specific dashboard.\n */\nexport const DashboardNavItemSchema = BaseNavItemSchema.extend({\n type: z.literal('dashboard'),\n dashboardName: z.string().describe('Target dashboard name'),\n});\n\n/**\n * 3. Page Navigation Item\n * Navigates to a custom UI page/component.\n */\nexport const PageNavItemSchema = BaseNavItemSchema.extend({\n type: z.literal('page'),\n pageName: z.string().describe('Target custom page component name'),\n params: z.record(z.string(), z.unknown()).optional().describe('Parameters passed to the page context'),\n});\n\n/**\n * 4. URL Navigation Item\n * Navigates to an external or absolute URL.\n */\nexport const UrlNavItemSchema = BaseNavItemSchema.extend({\n type: z.literal('url'),\n url: z.string().describe('Target external URL'),\n target: z.enum(['_self', '_blank']).default('_self').describe('Link target window'),\n});\n\n/**\n * 5. Report Navigation Item\n * Navigates to a specific report.\n */\nexport const ReportNavItemSchema = BaseNavItemSchema.extend({\n type: z.literal('report'),\n reportName: z.string().describe('Target report name'),\n});\n\n/**\n * 6. Action Navigation Item\n * Triggers an action (e.g. opening a flow, running a script, or launching a screen action).\n */\nexport const ActionNavItemSchema = BaseNavItemSchema.extend({\n type: z.literal('action'),\n actionDef: z.object({\n actionName: z.string().describe('Action machine name to execute'),\n params: z.record(z.string(), z.unknown()).optional().describe('Parameters passed to the action'),\n }).describe('Action definition to execute when clicked'),\n});\n\n/**\n * 7. Group Navigation Item\n * A container for child navigation items (Sub-menu).\n * Does not perform navigation itself.\n */\nexport const GroupNavItemSchema = BaseNavItemSchema.extend({\n type: z.literal('group'),\n expanded: z.boolean().default(false).describe('Default expansion state in sidebar'),\n // children property is added in the recursive definition below\n});\n\n/**\n * Recursive Union of all navigation item types.\n * Allows constructing an unlimited-depth navigation tree.\n */\nexport const NavigationItemSchema: z.ZodType<any> = z.lazy(() => \n z.union([\n ObjectNavItemSchema.extend({\n children: z.array(NavigationItemSchema).optional().describe('Child navigation items (e.g. specific views)'),\n }),\n DashboardNavItemSchema,\n PageNavItemSchema,\n UrlNavItemSchema,\n ReportNavItemSchema,\n ActionNavItemSchema,\n GroupNavItemSchema.extend({\n children: z.array(NavigationItemSchema).describe('Child navigation items'),\n })\n ])\n);\n\n/**\n * App Branding Configuration\n * Allows configuring the look and feel of the specific app.\n */\nexport const AppBrandingSchema = z.object({\n primaryColor: z.string().optional().describe('Primary theme color hex code'),\n logo: z.string().optional().describe('Custom logo URL for this app'),\n favicon: z.string().optional().describe('Custom favicon URL for this app'),\n});\n\n/**\n * Navigation Area Schema\n * \n * A logical grouping (zone/section) of navigation items, similar to Salesforce \"App Areas\"\n * or Dynamics 365 \"Site Map Areas\". Each area represents a business domain (e.g. Sales, Service, Settings)\n * and contains its own independent navigation tree.\n * \n * Areas allow large applications to partition navigation by business function while\n * keeping a single AppSchema definition. The runtime may render areas as top-level tabs,\n * sidebar sections, or a switchable navigation context.\n * \n * @example\n * ```ts\n * const salesArea: NavigationArea = {\n * id: 'area_sales',\n * label: 'Sales',\n * icon: 'briefcase',\n * order: 1,\n * navigation: [\n * { id: 'nav_leads', type: 'object', label: 'Leads', objectName: 'lead' },\n * { id: 'nav_opportunities', type: 'object', label: 'Opportunities', objectName: 'opportunity' },\n * ],\n * };\n * ```\n */\nexport const NavigationAreaSchema = z.object({\n /** Unique area identifier */\n id: SnakeCaseIdentifierSchema.describe('Unique area identifier (lowercase snake_case)'),\n\n /** Display label */\n label: I18nLabelSchema.describe('Area display label'),\n\n /** Icon name (Lucide) */\n icon: z.string().optional().describe('Area icon name'),\n\n /** Sort order among areas (lower = first) */\n order: z.number().optional().describe('Sort order among areas (lower = first)'),\n\n /** Area description */\n description: I18nLabelSchema.optional().describe('Area description'),\n\n /** \n * Visibility condition.\n * Formula expression returning boolean.\n */\n visible: z.string().optional().describe('Visibility formula condition for this area'),\n\n /** Permissions required to access this area */\n requiredPermissions: z.array(z.string()).optional().describe('Permissions required to access this area'),\n\n /** Navigation items within this area */\n navigation: z.array(NavigationItemSchema).describe('Navigation items within this area'),\n});\n\n/**\n * Schema for Applications (Apps).\n * A logical container for business functionality (e.g., \"Sales CRM\", \"HR Portal\").\n * \n * **NAMING CONVENTION:**\n * App names are used in URLs and routing and must be lowercase snake_case.\n * Prefix with 'app_' is recommended for clarity.\n * \n * @example Good app names\n * - 'app_crm'\n * - 'app_finance'\n * - 'app_portal'\n * - 'sales_app'\n * \n * @example Bad app names (will be rejected)\n * - 'CRM' (uppercase)\n * - 'FinanceApp' (mixed case)\n * - 'Sales App' (spaces)\n */\n/**\n * App Configuration Schema\n * Defines a business application container, including its navigation, branding, and permissions.\n * \n * The App is the top-level navigation shell. The `navigation[]` field holds the complete\n * sidebar tree with unlimited nesting depth via `type: 'group'` items. Pages are referenced\n * by name via `type: 'page'` items and defined independently.\n * \n * @example CRM App with nested navigation tree\n * {\n * name: \"crm\",\n * label: \"Sales CRM\",\n * icon: \"briefcase\",\n * navigation: [\n * { type: \"group\", id: \"grp_sales\", label: \"Sales Cloud\", expanded: true, children: [\n * { type: \"page\", id: \"nav_pipeline\", label: \"Pipeline\", pageName: \"page_pipeline\" },\n * { type: \"page\", id: \"nav_accounts\", label: \"Accounts\", pageName: \"page_accounts\" },\n * ]},\n * { type: \"page\", id: \"nav_settings\", label: \"Settings\", pageName: \"admin_settings\" },\n * ]\n * }\n */\nexport const AppSchema = z.object({\n /** Machine name (id) */\n name: SnakeCaseIdentifierSchema.describe('App unique machine name (lowercase snake_case)'),\n \n /** Display label */\n label: I18nLabelSchema.describe('App display label'),\n\n /** App version */\n version: z.string().optional().describe('App version'),\n \n /** Description */\n description: I18nLabelSchema.optional().describe('App description'),\n \n /** Icon name (Lucide) */\n icon: z.string().optional().describe('App icon used in the App Launcher'),\n \n /** Branding/Theming Configuration */\n branding: AppBrandingSchema.optional().describe('App-specific branding'),\n \n /** Application status */\n active: z.boolean().optional().default(true).describe('Whether the app is enabled'),\n\n /** Is this the default app for new users? */\n isDefault: z.boolean().optional().default(false).describe('Is default app'),\n \n /** \n * Full Navigation Tree — supports unlimited nesting depth.\n * Pages are referenced by name via `type: 'page'` items.\n * Groups can contain other groups for arbitrary sidebar depth.\n * \n * For simple apps, use `navigation` directly.\n * For enterprise apps with multiple business domains, use `areas` instead.\n */\n navigation: z.array(NavigationItemSchema).optional()\n .describe('Full navigation tree for the app sidebar'),\n\n /**\n * Navigation Areas — partitions navigation by business domain.\n * Each area defines an independent navigation tree (e.g. Sales, Service, Settings).\n * When areas are defined, they take precedence over the top-level `navigation` array.\n * \n * @example\n * ```ts\n * areas: [\n * { id: 'area_sales', label: 'Sales', icon: 'briefcase', order: 1, navigation: [...] },\n * { id: 'area_service', label: 'Service', icon: 'headset', order: 2, navigation: [...] },\n * ]\n * ```\n */\n areas: z.array(NavigationAreaSchema).optional()\n .describe('Navigation areas for partitioning navigation by business domain'),\n \n /** \n * App-level Home Page Override\n * ID of the navigation item to act as the landing page.\n * If not set, usually defaults to the first navigation item.\n */\n homePageId: z.string().optional().describe('ID of the navigation item to serve as landing page'),\n\n /** \n * Access Control\n * List of permissions required to access this app.\n * Modern replacement for role/profile based assignment.\n * Example: [\"app.access.crm\"]\n */\n requiredPermissions: z.array(z.string()).optional().describe('Permissions required to access this app'),\n \n /** \n * Package Components (For config file convenience)\n * In a real monorepo these might be auto-discovered, but here we allow explicit registration.\n */\n objects: z.array(z.unknown()).optional().describe('Objects belonging to this app'),\n apis: z.array(z.unknown()).optional().describe('Custom APIs belonging to this app'),\n\n /** Sharing configuration for public access */\n sharing: SharingConfigSchema.optional().describe('Public sharing configuration'),\n\n /** Embed configuration for iframe embedding */\n embed: EmbedConfigSchema.optional().describe('Iframe embedding configuration'),\n\n /** Mobile navigation mode */\n mobileNavigation: z.object({\n mode: z.enum(['drawer', 'bottom_nav', 'hamburger']).default('drawer')\n .describe('Mobile navigation mode: drawer sidebar, bottom navigation bar, or hamburger menu'),\n bottomNavItems: z.array(z.string()).optional()\n .describe('Navigation item IDs to show in bottom nav (max 5)'),\n }).optional().describe('Mobile-specific navigation configuration'),\n\n /** ARIA accessibility attributes */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes for the application'),\n});\n\n/**\n * App Factory Helper\n */\nexport const App = {\n create: (config: z.input<typeof AppSchema>): App => AppSchema.parse(config),\n} as const;\n\n/**\n * Type-safe factory for creating application definitions.\n *\n * Validates the config at creation time using Zod `.parse()`.\n *\n * @example CRM App with nested navigation tree\n * ```ts\n * const crmApp = defineApp({\n * name: 'crm',\n * label: 'Sales CRM',\n * navigation: [\n * { id: 'grp_sales', type: 'group', label: 'Sales Cloud', expanded: true, children: [\n * { id: 'nav_pipeline', type: 'page', label: 'Pipeline', pageName: 'page_pipeline' },\n * { id: 'nav_accounts', type: 'page', label: 'Accounts', pageName: 'page_accounts' },\n * ]},\n * { id: 'nav_settings', type: 'page', label: 'Settings', pageName: 'admin_settings' },\n * ],\n * });\n * ```\n */\nexport function defineApp(config: z.input<typeof AppSchema>): App {\n return AppSchema.parse(config);\n}\n\n// Main Types\nexport type App = z.infer<typeof AppSchema>;\nexport type AppInput = z.input<typeof AppSchema>;\nexport type AppBranding = z.infer<typeof AppBrandingSchema>;\nexport type NavigationItem = z.infer<typeof NavigationItemSchema>;\nexport type NavigationArea = z.infer<typeof NavigationAreaSchema>;\n\n// Discriminated Item Types (Helper exports)\nexport type ObjectNavItem = z.infer<typeof ObjectNavItemSchema>;\nexport type DashboardNavItem = z.infer<typeof DashboardNavItemSchema>;\nexport type PageNavItem = z.infer<typeof PageNavItemSchema>;\nexport type UrlNavItem = z.infer<typeof UrlNavItemSchema>;\nexport type ReportNavItem = z.infer<typeof ReportNavItemSchema>;\nexport type ActionNavItem = z.infer<typeof ActionNavItemSchema>;\nexport type GroupNavItem = z.infer<typeof GroupNavItemSchema> & { children: NavigationItem[] };\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Shared HTTP Schemas\n * \n * Common HTTP-related schemas used across API and System protocols.\n * These schemas ensure consistency across different parts of the stack.\n */\n\n// ==========================================\n// Basic HTTP Types\n// ==========================================\n\n/**\n * HTTP Method Enum\n */\nexport const HttpMethod = z.enum([\n 'GET', \n 'POST', \n 'PUT', \n 'DELETE', \n 'PATCH', \n 'HEAD', \n 'OPTIONS'\n]);\n\nexport type HttpMethod = z.infer<typeof HttpMethod>;\n\n/**\n * HTTP Method Schema (subset for UI/View data sources)\n * Common HTTP methods used in view data source configurations.\n * Migrated from ui/view.zod.ts to shared for reuse across modules.\n */\nexport const HttpMethodSchema = z.enum(['GET', 'POST', 'PUT', 'PATCH', 'DELETE']);\n\nexport type HttpMethodType = z.infer<typeof HttpMethodSchema>;\n\n/**\n * HTTP Request Configuration Schema\n * Defines a complete HTTP request configuration used by API data providers.\n * Migrated from ui/view.zod.ts to shared for reuse across modules.\n */\nexport const HttpRequestSchema = z.object({\n url: z.string().describe('API endpoint URL'),\n method: HttpMethodSchema.optional().default('GET').describe('HTTP method'),\n headers: z.record(z.string(), z.string()).optional().describe('Custom HTTP headers'),\n params: z.record(z.string(), z.unknown()).optional().describe('Query parameters'),\n body: z.unknown().optional().describe('Request body for POST/PUT/PATCH'),\n});\n\nexport type HttpRequest = z.infer<typeof HttpRequestSchema>;\n\n// ==========================================\n// CORS Configuration\n// ==========================================\n\n/**\n * CORS Configuration Schema\n * Cross-Origin Resource Sharing configuration\n * \n * Used by:\n * - api/router.zod.ts (RouterConfigSchema)\n * - system/http-server.zod.ts (HttpServerConfigSchema)\n * \n * @example\n * {\n * \"enabled\": true,\n * \"origins\": [\"http://localhost:3000\", \"https://app.example.com\"],\n * \"methods\": [\"GET\", \"POST\", \"PUT\", \"DELETE\"],\n * \"credentials\": true,\n * \"maxAge\": 86400\n * }\n */\nexport const CorsConfigSchema = z.object({\n /**\n * Enable CORS\n */\n enabled: z.boolean().default(true).describe('Enable CORS'),\n \n /**\n * Allowed origins (* for all)\n */\n origins: z.union([\n z.string(),\n z.array(z.string())\n ]).default('*').describe('Allowed origins (* for all)'),\n \n /**\n * Allowed HTTP methods\n */\n methods: z.array(HttpMethod).optional().describe('Allowed HTTP methods'),\n \n /**\n * Allow credentials (cookies, authorization headers)\n */\n credentials: z.boolean().default(false).describe('Allow credentials (cookies, authorization headers)'),\n \n /**\n * Preflight cache duration in seconds\n */\n maxAge: z.number().int().optional().describe('Preflight cache duration in seconds'),\n});\n\nexport type CorsConfig = z.infer<typeof CorsConfigSchema>;\n\n// ==========================================\n// Rate Limiting\n// ==========================================\n\n/**\n * Rate Limit Configuration Schema\n * \n * Used by:\n * - api/endpoint.zod.ts (ApiEndpointSchema)\n * - system/http-server.zod.ts (HttpServerConfigSchema)\n * \n * @example\n * {\n * \"enabled\": true,\n * \"windowMs\": 60000,\n * \"maxRequests\": 100\n * }\n */\nexport const RateLimitConfigSchema = z.object({\n /**\n * Enable rate limiting\n */\n enabled: z.boolean().default(false).describe('Enable rate limiting'),\n \n /**\n * Time window in milliseconds\n */\n windowMs: z.number().int().default(60000).describe('Time window in milliseconds'),\n \n /**\n * Max requests per window\n */\n maxRequests: z.number().int().default(100).describe('Max requests per window'),\n});\n\nexport type RateLimitConfig = z.infer<typeof RateLimitConfigSchema>;\n\n// ==========================================\n// Static File Serving\n// ==========================================\n\n/**\n * Static Mount Configuration Schema\n * Configuration for serving static files\n * \n * Used by:\n * - api/router.zod.ts (RouterConfigSchema)\n * - system/http-server.zod.ts (HttpServerConfigSchema)\n * \n * @example\n * {\n * \"path\": \"/static\",\n * \"directory\": \"./public\",\n * \"cacheControl\": \"public, max-age=31536000\"\n * }\n */\nexport const StaticMountSchema = z.object({\n /**\n * URL path to serve from\n */\n path: z.string().describe('URL path to serve from'),\n \n /**\n * Physical directory to serve\n */\n directory: z.string().describe('Physical directory to serve'),\n \n /**\n * Cache-Control header value\n */\n cacheControl: z.string().optional().describe('Cache-Control header value'),\n});\n\nexport type StaticMount = z.infer<typeof StaticMountSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { SnakeCaseIdentifierSchema } from '../shared/identifiers.zod';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.zod';\nimport { SharingConfigSchema } from './sharing.zod';\nimport { ResponsiveConfigSchema, PerformanceConfigSchema } from './responsive.zod';\n\n/**\n * HTTP Method Enum & HTTP Request Schema\n * Migrated to shared/http.zod.ts. Re-exported here for backward compatibility.\n */\nimport { HttpMethodSchema, HttpRequestSchema } from '../shared/http.zod';\nexport { HttpMethodSchema, HttpRequestSchema };\n\n/**\n * View Data Source Configuration\n * Supports three modes:\n * 1. 'object': Standard Protocol - Auto-connects to ObjectStack Metadata and Data APIs\n * 2. 'api': Custom API - Explicitly provided API URLs\n * 3. 'value': Static Data - Hardcoded data array\n */\nexport const ViewDataSchema = z.discriminatedUnion('provider', [\n z.object({\n provider: z.literal('object'),\n object: z.string().describe('Target object name'),\n }),\n z.object({\n provider: z.literal('api'),\n read: HttpRequestSchema.optional().describe('Configuration for fetching data'),\n write: HttpRequestSchema.optional().describe('Configuration for submitting data (for forms/editable tables)'),\n }),\n z.object({\n provider: z.literal('value'),\n items: z.array(z.unknown()).describe('Static data array'),\n }),\n]);\n\n/**\n * View Filter Rule Schema\n * Standardized filter condition used in list views, tabs, and page-level filters.\n * Uses a declarative array-of-objects format: [{ field, operator, value }].\n *\n * @example\n * ```ts\n * filter: [\n * { field: 'status', operator: 'equals', value: 'active' },\n * { field: 'close_date', operator: 'this_quarter' },\n * ]\n * ```\n */\nexport const ViewFilterRuleSchema = z.object({\n /** Field name to filter on */\n field: z.string().describe('Field name to filter on'),\n /** Filter operator */\n operator: z.string().describe('Filter operator (e.g. equals, not_equals, contains, this_quarter)'),\n /** Filter value (optional for unary operators like is_null, this_quarter) */\n value: z.union([z.string(), z.number(), z.boolean(), z.null(), z.array(z.union([z.string(), z.number()]))])\n .optional().describe('Filter value'),\n}).describe('View filter rule');\n\nexport type ViewFilterRule = z.infer<typeof ViewFilterRuleSchema>;\n\n/**\n * Column Summary Function Schema\n * Aggregation function for column footer (Airtable-style column summaries)\n */\nexport const ColumnSummarySchema = z.enum([\n 'none',\n 'count',\n 'count_empty',\n 'count_filled',\n 'count_unique',\n 'percent_empty',\n 'percent_filled',\n 'sum',\n 'avg',\n 'min',\n 'max',\n]).describe('Aggregation function for column footer summary');\n\n/**\n * List Column Configuration Schema\n * Detailed configuration for individual list view columns\n */\nexport const ListColumnSchema = z.object({\n field: z.string().describe('Field name (snake_case)'),\n label: I18nLabelSchema.optional().describe('Display label override'),\n width: z.number().positive().optional().describe('Column width in pixels'),\n align: z.enum(['left', 'center', 'right']).optional().describe('Text alignment'),\n hidden: z.boolean().optional().describe('Hide column by default'),\n sortable: z.boolean().optional().describe('Allow sorting by this column'),\n resizable: z.boolean().optional().describe('Allow resizing this column'),\n wrap: z.boolean().optional().describe('Allow text wrapping'),\n type: z.string().optional().describe('Renderer type override (e.g., \"currency\", \"date\")'),\n\n /** Pinning (Airtable-style frozen columns) */\n pinned: z.enum(['left', 'right']).optional().describe('Pin/freeze column to left or right side'),\n\n /** Column Footer Summary (Airtable-style aggregation) */\n summary: ColumnSummarySchema.optional().describe('Footer aggregation function for this column'),\n\n /** Interaction */\n link: z.boolean().optional().describe('Functions as the primary navigation link (triggers View navigation)'),\n action: z.string().optional().describe('Registered Action ID to execute when clicked'),\n});\n\n/**\n * List View Selection Configuration\n */\nexport const SelectionConfigSchema = z.object({\n type: z.enum(['none', 'single', 'multiple']).default('none').describe('Selection mode'),\n});\n\n/**\n * List View Pagination Configuration\n */\nexport const PaginationConfigSchema = z.object({\n pageSize: z.number().int().positive().default(25).describe('Number of records per page'),\n pageSizeOptions: z.array(z.number().int().positive()).optional().describe('Available page size options'),\n});\n\n/**\n * Row Height / Density Schema (Airtable-style)\n * Controls the visual density of rows in a list view.\n */\nexport const RowHeightSchema = z.enum([\n 'compact', // Minimal padding, single line\n 'short', // Reduced padding\n 'medium', // Default padding\n 'tall', // Extra padding, multi-line preview\n 'extra_tall', // Maximum padding, rich content preview\n]).describe('Row height / density setting for list view');\n\n/**\n * Grouping Field Configuration\n * Defines a single grouping level for record grouping.\n */\nexport const GroupingFieldSchema = z.object({\n field: z.string().describe('Field name to group by'),\n order: z.enum(['asc', 'desc']).default('asc').describe('Group sort order'),\n collapsed: z.boolean().default(false).describe('Collapse groups by default'),\n});\n\n/**\n * Grouping Configuration Schema (Airtable-style)\n * Supports multi-level grouping for grid/gallery views.\n */\nexport const GroupingConfigSchema = z.object({\n fields: z.array(GroupingFieldSchema).min(1).describe('Fields to group by (supports up to 3 levels)'),\n}).describe('Record grouping configuration');\n\n/**\n * Gallery View Configuration (Airtable-style)\n * Configures card layout for gallery/card views.\n */\nexport const GalleryConfigSchema = z.object({\n coverField: z.string().optional().describe('Attachment/image field to display as card cover'),\n coverFit: z.enum(['cover', 'contain']).default('cover').describe('Image fit mode for card cover'),\n cardSize: z.enum(['small', 'medium', 'large']).default('medium').describe('Card size in gallery view'),\n titleField: z.string().optional().describe('Field to display as card title'),\n visibleFields: z.array(z.string()).optional().describe('Fields to display on card body'),\n}).describe('Gallery/card view configuration');\n\n/**\n * Timeline View Configuration (Airtable-style)\n * Configures timeline/chronological views.\n */\nexport const TimelineConfigSchema = z.object({\n startDateField: z.string().describe('Field for timeline item start date'),\n endDateField: z.string().optional().describe('Field for timeline item end date'),\n titleField: z.string().describe('Field to display as timeline item title'),\n groupByField: z.string().optional().describe('Field to group timeline rows'),\n colorField: z.string().optional().describe('Field to determine item color'),\n scale: z.enum(['hour', 'day', 'week', 'month', 'quarter', 'year']).default('week').describe('Default timeline scale'),\n}).describe('Timeline view configuration');\n\n/**\n * View Sharing Configuration (Airtable-style)\n * Defines who can see and modify a view.\n */\nexport const ViewSharingSchema = z.object({\n type: z.enum(['personal', 'collaborative']).default('collaborative').describe('View ownership type'),\n lockedBy: z.string().optional().describe('User who locked the view configuration'),\n}).describe('View sharing and access configuration');\n\n/**\n * Row Color Configuration (Airtable-style)\n * Defines how rows are colored based on field values.\n */\nexport const RowColorConfigSchema = z.object({\n field: z.string().describe('Field to derive color from (typically a select/status field)'),\n colors: z.record(z.string(), z.string()).optional().describe('Map of field value to color (hex/token)'),\n}).describe('Row color configuration based on field values');\n\n/**\n * Visualization Type Schema\n * Whitelist of visualization types the user can switch between.\n * Maps to Airtable's \"Visualizations\" setting in Appearance panel.\n */\nexport const VisualizationTypeSchema = z.enum([\n 'grid',\n 'kanban',\n 'gallery',\n 'calendar',\n 'timeline',\n 'gantt',\n 'map',\n]).describe('Visualization type that users can switch to');\n\n/**\n * User Actions Configuration Schema (Airtable Interface parity)\n * Controls which interactive actions are available to users in the view toolbar.\n * Each boolean toggles the corresponding toolbar element on/off.\n *\n * @see Airtable Interface → \"User actions\" panel\n */\nexport const UserActionsConfigSchema = z.object({\n sort: z.boolean().default(true).describe('Allow users to sort records'),\n search: z.boolean().default(true).describe('Allow users to search records'),\n filter: z.boolean().default(true).describe('Allow users to filter records'),\n rowHeight: z.boolean().default(true).describe('Allow users to toggle row height/density'),\n addRecordForm: z.boolean().default(false).describe('Add records through a form instead of inline'),\n buttons: z.array(z.string()).optional().describe('Custom action button IDs to show in the toolbar'),\n}).describe('User action toggles for the view toolbar');\n\n/**\n * Appearance Configuration Schema (Airtable Interface parity)\n * Controls visual presentation options for the view.\n *\n * @see Airtable Interface → \"Appearance\" panel\n */\nexport const AppearanceConfigSchema = z.object({\n showDescription: z.boolean().default(true).describe('Show the view description text'),\n allowedVisualizations: z.array(VisualizationTypeSchema).optional()\n .describe('Whitelist of visualization types users can switch between (e.g. [\"grid\", \"gallery\", \"kanban\"])'),\n}).describe('Appearance and visualization configuration');\n\n/**\n * View Tab Schema (Airtable Interface parity)\n * Defines a tab in a multi-tab view interface.\n * Each tab references a named list view and can be ordered, pinned, or set as default.\n *\n * @see Airtable Interface → \"Tabs\" panel\n */\nexport const ViewTabSchema = z.object({\n name: SnakeCaseIdentifierSchema.describe('Tab identifier (snake_case)'),\n label: I18nLabelSchema.optional().describe('Display label'),\n icon: z.string().optional().describe('Tab icon name'),\n view: z.string().optional().describe('Referenced list view name from listViews'),\n filter: z.array(ViewFilterRuleSchema).optional().describe('Tab-specific filter criteria'),\n order: z.number().int().min(0).optional().describe('Tab display order'),\n pinned: z.boolean().default(false).describe('Pin tab (cannot be removed by users)'),\n isDefault: z.boolean().default(false).describe('Set as the default active tab'),\n visible: z.boolean().default(true).describe('Tab visibility'),\n}).describe('Tab configuration for multi-tab view interface');\n\n/**\n * Add Record Configuration Schema (Airtable Interface parity)\n * Configures the \"Add Record\" entry point for a list view.\n *\n * @see Airtable Interface → \"+ Add record\" button\n */\nexport const AddRecordConfigSchema = z.object({\n enabled: z.boolean().default(true).describe('Show the add record entry point'),\n position: z.enum(['top', 'bottom', 'both']).default('bottom').describe('Position of the add record button'),\n mode: z.enum(['inline', 'form', 'modal']).default('inline').describe('How to add a new record'),\n formView: z.string().optional().describe('Named form view to use when mode is \"form\" or \"modal\"'),\n}).describe('Add record entry point configuration');\n\n/**\n * Kanban Settings\n */\nexport const KanbanConfigSchema = z.object({\n groupByField: z.string().describe('Field to group columns by (usually status/select)'),\n summarizeField: z.string().optional().describe('Field to sum at top of column (e.g. amount)'),\n columns: z.array(z.string()).describe('Fields to show on cards'),\n});\n\n/**\n * Calendar Settings\n */\nexport const CalendarConfigSchema = z.object({\n startDateField: z.string(),\n endDateField: z.string().optional(),\n titleField: z.string(),\n colorField: z.string().optional(),\n});\n\n/**\n * Gantt Settings\n */\nexport const GanttConfigSchema = z.object({\n startDateField: z.string(),\n endDateField: z.string(),\n titleField: z.string(),\n progressField: z.string().optional(),\n dependenciesField: z.string().optional(),\n});\n\n/**\n * Navigation Mode Enum\n * Defines how to navigate to the detail view from a list item.\n */\nexport const NavigationModeSchema = z.enum([\n 'page', // Navigate to a new route (default)\n 'drawer', // Open details in a side drawer/panel\n 'modal', // Open details in a modal dialog\n 'split', // Show details side-by-side with the list (master-detail)\n 'popover', // Show details in a popover (lightweight)\n 'new_window', // Open in new browser tab/window\n 'none' // No navigation (read-only list)\n]);\n\n/**\n * Navigation Configuration Schema\n */\nexport const NavigationConfigSchema = z.object({\n mode: NavigationModeSchema.default('page'),\n \n /** Target View Config */\n view: z.string().optional().describe('Name of the form view to use for details (e.g. \"summary_view\", \"edit_form\")'),\n \n /** Interaction Triggers */\n preventNavigation: z.boolean().default(false).describe('Disable standard navigation entirely'),\n openNewTab: z.boolean().default(false).describe('Force open in new tab (applies to page mode)'),\n \n /** Dimensions (for modal/drawer) */\n width: z.union([z.string(), z.number()]).optional().describe('Width of the drawer/modal (e.g. \"600px\", \"50%\")'),\n});\n\n/**\n * List View Schema (Expanded)\n * Defines how a collection of records is displayed to the user.\n * \n * **NAMING CONVENTION:**\n * View names (when provided) are machine identifiers and must be lowercase snake_case.\n * \n * @example Standard Grid\n * {\n * name: \"all_active\",\n * label: \"All Active\",\n * type: \"grid\",\n * columns: [\"name\", \"status\", \"created_at\"],\n * filter: [[\"status\", \"=\", \"active\"]]\n * }\n * \n * @example Kanban Board\n * {\n * type: \"kanban\",\n * columns: [\"name\", \"amount\"],\n * kanban: {\n * groupByField: \"stage\",\n * summarizeField: \"amount\",\n * columns: [\"name\", \"close_date\"]\n * }\n * }\n */\nexport const ListViewSchema = z.object({\n name: SnakeCaseIdentifierSchema.optional().describe('Internal view name (lowercase snake_case)'),\n label: I18nLabelSchema.optional(), // Display label override (supports i18n)\n type: z.enum([\n 'grid', // Standard Data Table\n 'kanban', // Board / Columns\n 'gallery', // Card Deck / Masonry\n 'calendar', // Monthly/Weekly/Daily\n 'timeline', // Chronological Stream (Feed)\n 'gantt', // Project Timeline\n 'map' // Geospatial\n ]).default('grid'),\n \n /** Data Source Configuration */\n data: ViewDataSchema.optional().describe('Data source configuration (defaults to \"object\" provider)'),\n \n /** Shared Query Config */\n columns: z.union([\n z.array(z.string()), // Legacy: simple field names\n z.array(ListColumnSchema), // Enhanced: detailed column config\n ]).describe('Fields to display as columns'),\n filter: z.array(ViewFilterRuleSchema).optional().describe('Filter criteria (JSON Rules)'),\n sort: z.union([\n z.string(), //Legacy \"field desc\"\n z.array(z.object({\n field: z.string(),\n order: z.enum(['asc', 'desc'])\n }))\n ]).optional(),\n \n /** Search & Filter */\n searchableFields: z.array(z.string()).optional().describe('Fields enabled for search'),\n filterableFields: z.array(z.string()).optional().describe('Fields enabled for end-user filtering in the top bar'),\n\n /** Quick Filters (One-click filter chips, Salesforce ListFilter pattern) */\n quickFilters: z.array(z.object({\n field: z.string().describe('Field name to filter by'),\n label: z.string().optional().describe('Display label for the chip'),\n operator: z.enum(['equals', 'not_equals', 'contains', 'in', 'is_null', 'is_not_null']).default('equals').describe('Filter operator'),\n value: z.union([z.string(), z.number(), z.boolean(), z.null(), z.array(z.union([z.string(), z.number()]))])\n .optional().describe('Preset filter value'),\n })).optional().describe('One-click filter chips for quick record filtering'),\n\n /** Grid Features */\n resizable: z.boolean().optional().describe('Enable column resizing'),\n striped: z.boolean().optional().describe('Striped row styling'),\n bordered: z.boolean().optional().describe('Show borders'),\n\n /** Selection */\n selection: SelectionConfigSchema.optional().describe('Row selection configuration'),\n\n /** Navigation / Interaction */\n navigation: NavigationConfigSchema.optional().describe('Configuration for item click navigation (page, drawer, modal, etc.)'),\n\n /** Pagination */\n pagination: PaginationConfigSchema.optional().describe('Pagination configuration'),\n\n /** Type Specific Config */\n kanban: KanbanConfigSchema.optional(),\n calendar: CalendarConfigSchema.optional(),\n gantt: GanttConfigSchema.optional(),\n gallery: GalleryConfigSchema.optional(),\n timeline: TimelineConfigSchema.optional(),\n\n /** View Metadata (Airtable-style view management) */\n description: I18nLabelSchema.optional().describe('View description for documentation/tooltips'),\n sharing: ViewSharingSchema.optional().describe('View sharing and access configuration'),\n\n /** Row Height / Density (Airtable-style) */\n rowHeight: RowHeightSchema.optional().describe('Row height / density setting'),\n\n /** Record Grouping (Airtable-style) */\n grouping: GroupingConfigSchema.optional().describe('Group records by one or more fields'),\n\n /** Row Color (Airtable-style) */\n rowColor: RowColorConfigSchema.optional().describe('Color rows based on field value'),\n\n /** Field Visibility & Ordering per View (Airtable-style) */\n hiddenFields: z.array(z.string()).optional().describe('Fields to hide in this specific view'),\n fieldOrder: z.array(z.string()).optional().describe('Explicit field display order for this view'),\n\n /** Row & Bulk Actions */\n rowActions: z.array(z.string()).optional().describe('Actions available for individual row items'),\n bulkActions: z.array(z.string()).optional().describe('Actions available when multiple rows are selected'),\n\n /** Performance */\n virtualScroll: z.boolean().optional().describe('Enable virtual scrolling for large datasets'),\n\n /** Conditional Formatting */\n conditionalFormatting: z.array(z.object({\n condition: z.string().describe('Condition expression to evaluate'),\n style: z.record(z.string(), z.string()).describe('CSS styles to apply when condition is true'),\n })).optional().describe('Conditional formatting rules for list rows'),\n\n /** Inline Edit */\n inlineEdit: z.boolean().optional().describe('Allow inline editing of records directly in the list view'),\n\n /** Export */\n exportOptions: z.array(z.enum(['csv', 'xlsx', 'pdf', 'json'])).optional().describe('Available export format options'),\n\n /** User Actions (Airtable Interface parity) */\n userActions: UserActionsConfigSchema.optional().describe('User action toggles for the view toolbar'),\n\n /** Appearance (Airtable Interface parity) */\n appearance: AppearanceConfigSchema.optional().describe('Appearance and visualization configuration'),\n\n /** Tabs (Airtable Interface parity) */\n tabs: z.array(ViewTabSchema).optional().describe('Tab definitions for multi-tab view interface'),\n\n /** Add Record (Airtable Interface parity) */\n addRecord: AddRecordConfigSchema.optional().describe('Add record entry point configuration'),\n\n /** Record Count Display (Airtable Interface parity) */\n showRecordCount: z.boolean().optional().describe('Show record count at the bottom of the list'),\n\n /** Advanced: Allow Printing (Airtable Interface parity) */\n allowPrinting: z.boolean().optional().describe('Allow users to print the view'),\n\n /** Empty State */\n emptyState: z.object({\n title: I18nLabelSchema.optional(),\n message: I18nLabelSchema.optional(),\n icon: z.string().optional(),\n }).optional().describe('Empty state configuration when no records found'),\n\n /** ARIA accessibility attributes */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes for the list view'),\n\n /** Responsive layout overrides per breakpoint */\n responsive: ResponsiveConfigSchema.optional().describe('Responsive layout configuration'),\n\n /** Performance optimization settings */\n performance: PerformanceConfigSchema.optional().describe('Performance optimization settings'),\n});\n\n/**\n * Form Field Configuration Schema\n * Detailed configuration for individual form fields\n */\nexport const FormFieldSchema = z.object({\n field: z.string().describe('Field name (snake_case)'),\n label: I18nLabelSchema.optional().describe('Display label override'),\n placeholder: I18nLabelSchema.optional().describe('Placeholder text'),\n helpText: I18nLabelSchema.optional().describe('Help/hint text'),\n readonly: z.boolean().optional().describe('Read-only override'),\n required: z.boolean().optional().describe('Required override'),\n hidden: z.boolean().optional().describe('Hidden override'),\n colSpan: z.number().int().min(1).max(4).optional().describe('Column span in grid layout (1-4)'),\n widget: z.string().optional().describe('Custom widget/component name'),\n dependsOn: z.string().optional().describe('Parent field name for cascading'),\n visibleOn: z.string().optional().describe('Visibility condition expression'),\n});\n\n/**\n * Form Layout Section\n */\nexport const FormSectionSchema = z.object({\n label: I18nLabelSchema.optional(),\n collapsible: z.boolean().default(false),\n collapsed: z.boolean().default(false),\n columns: z.enum(['1', '2', '3', '4']).default('2').transform(val => parseInt(val) as 1 | 2 | 3 | 4),\n fields: z.array(z.union([\n z.string(), // Legacy: simple field name\n FormFieldSchema, // Enhanced: detailed field config\n ])),\n});\n\n/**\n * Form View Schema\n * Defines the layout for creating or editing a single record.\n * \n * @example Simple Sectioned Form\n * {\n * type: \"simple\",\n * sections: [\n * {\n * label: \"General Info\",\n * columns: 2,\n * fields: [\"name\", \"status\"]\n * },\n * {\n * label: \"Details\",\n * fields: [\"description\", { field: \"priority\", widget: \"rating\" }]\n * }\n * ]\n * }\n */\nexport const FormViewSchema = z.object({\n type: z.enum([\n 'simple', // Single column or sections\n 'tabbed', // Tabs\n 'wizard', // Step by step\n 'split', // Master-Detail split\n 'drawer', // Side panel\n 'modal' // Dialog\n ]).default('simple'),\n \n /** Data Source Configuration */\n data: ViewDataSchema.optional().describe('Data source configuration (defaults to \"object\" provider)'),\n \n sections: z.array(FormSectionSchema).optional(), // For simple layout\n groups: z.array(FormSectionSchema).optional(), // Legacy support -> alias to sections\n\n /** Default Sort for Related Lists (e.g., sort child records by date) */\n defaultSort: z.array(z.object({\n field: z.string().describe('Field name to sort by'),\n order: z.enum(['asc', 'desc']).default('desc').describe('Sort direction'),\n })).optional().describe('Default sort order for related list views within this form'),\n\n /** Public form sharing configuration */\n sharing: SharingConfigSchema.optional().describe('Public sharing configuration for this form'),\n\n /** ARIA accessibility attributes */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes for the form view'),\n});\n\n/**\n * Master View Schema\n * Can define multiple named views.\n */\n/**\n * View Container Schema\n * Aggregates all view definitions for a specific object or context.\n * \n * @example\n * {\n * list: { type: \"grid\", columns: [\"name\"] },\n * form: { type: \"simple\", fields: [\"name\"] },\n * listViews: {\n * \"all\": { label: \"All\", filter: [] },\n * \"my\": { label: \"Mine\", filter: [[\"owner\", \"=\", \"{user_id}\"]] }\n * }\n * }\n */\nexport const ViewSchema = z.object({\n list: ListViewSchema.optional(), // Default list view\n form: FormViewSchema.optional(), // Default form view\n listViews: z.record(z.string(), ListViewSchema).optional().describe('Additional named list views'),\n formViews: z.record(z.string(), FormViewSchema).optional().describe('Additional named form views'),\n});\n\n/**\n * Type-safe factory for creating view definitions.\n *\n * Validates the config at creation time using Zod `.parse()`.\n *\n * @example\n * ```ts\n * const taskViews = defineView({\n * list: {\n * type: 'grid',\n * data: { provider: 'object', object: 'task' },\n * columns: ['subject', 'status', 'priority', 'due_date'],\n * },\n * form: {\n * type: 'simple',\n * sections: [{ label: 'Details', fields: [{ field: 'subject' }] }],\n * },\n * });\n * ```\n */\nexport function defineView(config: z.input<typeof ViewSchema>): View {\n return ViewSchema.parse(config);\n}\n\nexport type View = z.infer<typeof ViewSchema>;\nexport type ListView = z.infer<typeof ListViewSchema>;\nexport type FormView = z.infer<typeof FormViewSchema>;\nexport type FormSection = z.infer<typeof FormSectionSchema>;\nexport type ListColumn = z.infer<typeof ListColumnSchema>;\nexport type FormField = z.infer<typeof FormFieldSchema>;\nexport type SelectionConfig = z.infer<typeof SelectionConfigSchema>;\nexport type NavigationConfig = z.infer<typeof NavigationConfigSchema>;\nexport type PaginationConfig = z.infer<typeof PaginationConfigSchema>;\nexport type ViewData = z.infer<typeof ViewDataSchema>;\nexport type HttpRequest = z.infer<typeof HttpRequestSchema>;\nexport type HttpMethod = z.infer<typeof HttpMethodSchema>;\nexport type ColumnSummary = z.infer<typeof ColumnSummarySchema>;\nexport type RowHeight = z.infer<typeof RowHeightSchema>;\nexport type GroupingConfig = z.infer<typeof GroupingConfigSchema>;\nexport type GalleryConfig = z.infer<typeof GalleryConfigSchema>;\nexport type TimelineConfig = z.infer<typeof TimelineConfigSchema>;\nexport type ViewSharing = z.infer<typeof ViewSharingSchema>;\nexport type RowColorConfig = z.infer<typeof RowColorConfigSchema>;\nexport type VisualizationType = z.infer<typeof VisualizationTypeSchema>;\nexport type UserActionsConfig = z.infer<typeof UserActionsConfigSchema>;\nexport type AppearanceConfig = z.infer<typeof AppearanceConfigSchema>;\nexport type ViewTab = z.infer<typeof ViewTabSchema>;\nexport type AddRecordConfig = z.infer<typeof AddRecordConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Unified Query DSL Specification\n * \n * Based on industry best practices from:\n * - Prisma ORM\n * - Strapi CMS\n * - TypeORM\n * - LoopBack Framework\n * \n * Version: 1.0.0\n * Status: Draft\n * \n * Objective: Define a JSON-based, database-agnostic query syntax standard\n * for data filtering interactions between frontend and backend APIs.\n * \n * Design Principles:\n * 1. Declarative: Frontend describes \"what data to get\", not \"how to query\"\n * 2. Database Agnostic: Syntax contains no database-specific directives\n * 3. Type Safe: Structure can be statically inferred by TypeScript\n * 4. Convention over Configuration: Implicit syntax for common queries\n */\n\n/**\n * Field Reference\n * Represents a reference to another field/column instead of a literal value.\n * Used for joins (ON clause) and cross-field comparisons.\n * \n * @example\n * // user.id = order.owner_id\n * { \"$eq\": { \"$field\": \"order.owner_id\" } }\n */\nexport const FieldReferenceSchema = z.object({\n $field: z.string().describe('Field Reference/Column Name')\n});\n\nexport type FieldReference = z.infer<typeof FieldReferenceSchema>;\n\n// ============================================================================\n// 3.1 Comparison Operators\n// ============================================================================\n\n/**\n * Comparison operators for equality and inequality checks.\n * Supported data types: Any\n */\nexport const EqualityOperatorSchema = z.object({\n /** Equal to (default) - SQL: = | MongoDB: $eq */\n $eq: z.any().optional(),\n \n /** Not equal to - SQL: <> or != | MongoDB: $ne */\n $ne: z.any().optional(),\n});\n\n/**\n * Comparison operators for numeric and date comparisons.\n * Supported data types: Number, Date\n */\nexport const ComparisonOperatorSchema = z.object({\n /** Greater than - SQL: > | MongoDB: $gt */\n $gt: z.union([z.number(), z.date(), FieldReferenceSchema]).optional(),\n \n /** Greater than or equal to - SQL: >= | MongoDB: $gte */\n $gte: z.union([z.number(), z.date(), FieldReferenceSchema]).optional(),\n \n /** Less than - SQL: < | MongoDB: $lt */\n $lt: z.union([z.number(), z.date(), FieldReferenceSchema]).optional(),\n \n /** Less than or equal to - SQL: <= | MongoDB: $lte */\n $lte: z.union([z.number(), z.date(), FieldReferenceSchema]).optional(),\n});\n\n// ============================================================================\n// 3.2 Set & Range Operators\n// ============================================================================\n\n/**\n * Set operators for membership checks.\n */\nexport const SetOperatorSchema = z.object({\n /** In list - SQL: IN (?, ?, ?) | MongoDB: $in */\n $in: z.array(z.any()).optional(),\n \n /** Not in list - SQL: NOT IN (...) | MongoDB: $nin */\n $nin: z.array(z.any()).optional(),\n});\n\n/**\n * Range operator for interval checks (closed interval).\n * SQL: BETWEEN ? AND ? | MongoDB: $gte AND $lte\n */\nexport const RangeOperatorSchema = z.object({\n /** Between (inclusive) - takes [min, max] array */\n $between: z.tuple([\n z.union([z.number(), z.date(), FieldReferenceSchema]),\n z.union([z.number(), z.date(), FieldReferenceSchema])\n ]).optional(),\n});\n\n// ============================================================================\n// 3.3 String-Specific Operators\n// ============================================================================\n\n/**\n * String pattern matching operators.\n * Note: Case sensitivity should be handled at backend level.\n */\nexport const StringOperatorSchema = z.object({\n /** Contains substring - SQL: LIKE %?% | MongoDB: $regex */\n $contains: z.string().optional(),\n \n /** Starts with prefix - SQL: LIKE ?% | MongoDB: $regex */\n $startsWith: z.string().optional(),\n \n /** Ends with suffix - SQL: LIKE %? | MongoDB: $regex */\n $endsWith: z.string().optional(),\n});\n\n// ============================================================================\n// 3.5 Special Operators\n// ============================================================================\n\n/**\n * Special check operators for null and existence.\n */\nexport const SpecialOperatorSchema = z.object({\n /** Is null check - SQL: IS NULL (true) / IS NOT NULL (false) | MongoDB: field: null */\n $null: z.boolean().optional(),\n \n /** Field exists check (primarily for NoSQL) - MongoDB: $exists */\n $exists: z.boolean().optional(),\n});\n\n// ============================================================================\n// Combined Field Operators\n// ============================================================================\n\n/**\n * All field-level operators combined.\n * These can be applied to individual fields in a filter.\n */\nexport const FieldOperatorsSchema = z.object({\n // Equality\n $eq: z.any().optional(),\n $ne: z.any().optional(),\n \n // Comparison (numeric/date)\n $gt: z.union([z.number(), z.date(), FieldReferenceSchema]).optional(),\n $gte: z.union([z.number(), z.date(), FieldReferenceSchema]).optional(),\n $lt: z.union([z.number(), z.date(), FieldReferenceSchema]).optional(),\n $lte: z.union([z.number(), z.date(), FieldReferenceSchema]).optional(),\n \n // Set & Range\n $in: z.array(z.any()).optional(),\n $nin: z.array(z.any()).optional(),\n $between: z.tuple([\n z.union([z.number(), z.date(), FieldReferenceSchema]),\n z.union([z.number(), z.date(), FieldReferenceSchema])\n ]).optional(),\n \n // String-specific\n $contains: z.string().optional(),\n $startsWith: z.string().optional(),\n $endsWith: z.string().optional(),\n \n // Special\n $null: z.boolean().optional(),\n $exists: z.boolean().optional(),\n});\n\n// ============================================================================\n// 3.4 Logical Operators & Recursive Filter Structure\n// ============================================================================\n\n/**\n * Recursive filter type that supports:\n * 1. Implicit equality: { field: value }\n * 2. Explicit operators: { field: { $op: value } }\n * 3. Logical combinations: { $and: [...], $or: [...], $not: {...} }\n * 4. Nested relations: { relation: { field: value } }\n */\nexport type FilterCondition = {\n [key: string]: \n | any // Implicit equality: key: value\n | z.infer<typeof FieldOperatorsSchema> // Explicit operators: key: { $op: value }\n | FilterCondition; // Nested relation: key: { nested: ... }\n} & {\n /** Logical AND - combines all conditions that must be true */\n $and?: FilterCondition[];\n \n /** Logical OR - at least one condition must be true */\n $or?: FilterCondition[];\n \n /** Logical NOT - negates the condition */\n $not?: FilterCondition;\n};\n\n/**\n * Zod schema for recursive filter validation.\n * Uses z.lazy() to handle recursive structure.\n */\nexport const FilterConditionSchema: z.ZodType<FilterCondition> = z.lazy(() =>\n z.record(z.string(), z.unknown()).and(\n z.object({\n $and: z.array(FilterConditionSchema).optional(),\n $or: z.array(FilterConditionSchema).optional(),\n $not: FilterConditionSchema.optional(),\n })\n )\n);\n\n// ============================================================================\n// Query Filter Wrapper\n// ============================================================================\n\n/**\n * Top-level query filter wrapper.\n * This is typically used as the \"where\" clause in a query.\n * \n * @example\n * ```typescript\n * const filter: QueryFilter = {\n * where: {\n * status: \"active\", // Implicit equality\n * age: { $gte: 18 }, // Explicit operator\n * $or: [ // Logical combination\n * { role: \"admin\" },\n * { email: { $contains: \"@company.com\" } }\n * ],\n * profile: { // Nested relation\n * verified: true\n * }\n * }\n * }\n * ```\n */\nexport const QueryFilterSchema = z.object({\n where: FilterConditionSchema.optional(),\n});\n\n// ============================================================================\n// TypeScript Type Exports\n// ============================================================================\n\n/**\n * Type-safe filter operators for use in TypeScript.\n * \n * @example\n * ```typescript\n * type UserFilter = Filter<User>;\n * \n * const filter: UserFilter = {\n * age: { $gte: 18 },\n * email: { $contains: \"@example.com\" }\n * };\n * ```\n */\nexport type Filter<T = any> = {\n [K in keyof T]?: \n | T[K] // Implicit equality\n | {\n $eq?: T[K];\n $ne?: T[K];\n $gt?: T[K] extends number | Date ? T[K] : never;\n $gte?: T[K] extends number | Date ? T[K] : never;\n $lt?: T[K] extends number | Date ? T[K] : never;\n $lte?: T[K] extends number | Date ? T[K] : never;\n $in?: T[K][];\n $nin?: T[K][];\n $between?: T[K] extends number | Date ? [T[K], T[K]] : never;\n $contains?: T[K] extends string ? string : never;\n $startsWith?: T[K] extends string ? string : never;\n $endsWith?: T[K] extends string ? string : never;\n $null?: boolean;\n $exists?: boolean;\n }\n | (T[K] extends object ? Filter<T[K]> : never); // Nested relation\n} & {\n $and?: Filter<T>[];\n $or?: Filter<T>[];\n $not?: Filter<T>;\n};\n\n/**\n * Scalar types supported by the filter system.\n */\nexport type Scalar = string | number | boolean | Date | null;\n\n// Export inferred types\nexport type FieldOperators = z.infer<typeof FieldOperatorsSchema>;\nexport type QueryFilter = z.infer<typeof QueryFilterSchema>;\n\n// ============================================================================\n// Normalization Utilities (Internal Representation)\n// ============================================================================\n\n/**\n * Normalized filter AST structure.\n * This is the internal representation after converting all syntactic sugar\n * to explicit operators.\n * \n * Stage 1: Normalization Pass\n * Input: { age: 18, role: \"admin\" }\n * Output: { $and: [{ age: { $eq: 18 } }, { role: { $eq: \"admin\" } }] }\n * \n * This simplifies adapter implementation by providing a consistent structure.\n */\nexport const NormalizedFilterSchema: z.ZodType<any> = z.lazy(() => \n z.object({\n $and: z.array(\n z.union([\n // Field condition: { field: { $op: value } }\n z.record(z.string(), FieldOperatorsSchema),\n // Nested logical group\n NormalizedFilterSchema,\n ])\n ).optional(),\n \n $or: z.array(\n z.union([\n z.record(z.string(), FieldOperatorsSchema),\n NormalizedFilterSchema,\n ])\n ).optional(),\n \n $not: z.union([\n z.record(z.string(), FieldOperatorsSchema),\n NormalizedFilterSchema,\n ]).optional(),\n })\n);\n\nexport type NormalizedFilter = z.infer<typeof NormalizedFilterSchema>;\n\n// ============================================================================\n// AST Array Format Detection & Validation\n// ============================================================================\n\n/**\n * Set of valid AST comparison operators (case-insensitive).\n * Used by `isFilterAST()` to validate AST structure beyond `Array.isArray`.\n */\nexport const VALID_AST_OPERATORS = new Set([\n '=', '==', '!=', '<>', '>', '>=', '<', '<=',\n 'in', 'nin', 'not_in',\n 'contains', 'like',\n 'startswith', 'starts_with',\n 'endswith', 'ends_with',\n 'between',\n 'is_null', 'is_not_null',\n]);\n\n/**\n * Detect whether a value is a valid Filter AST array structure.\n *\n * A valid AST is one of:\n * - Comparison node: `[field: string, operator: string, value: unknown]` where operator is a known operator\n * - Logical node: `[\"and\" | \"or\", ...children]` where children are valid AST nodes\n * - Legacy flat array: `[[cond], [cond], ...]` where all elements are sub-arrays (each a valid AST node)\n *\n * This replaces the naïve `Array.isArray(filter)` check, preventing accidental\n * misidentification of arbitrary arrays as filter ASTs.\n *\n * @example\n * isFilterAST([\"status\", \"=\", \"active\"]) // true\n * isFilterAST([\"and\", [\"a\", \"=\", 1], [\"b\", \">\", 2]]) // true\n * isFilterAST([[\"a\", \"=\", 1], [\"b\", \"=\", 2]]) // true (legacy)\n * isFilterAST([1, 2, 3]) // false\n * isFilterAST(\"not an array\") // false\n * isFilterAST({ status: \"active\" }) // false\n */\nexport function isFilterAST(filter: unknown): boolean {\n if (!Array.isArray(filter) || filter.length === 0) return false;\n\n const first = filter[0];\n\n // Logical node: [\"and\", ...] or [\"or\", ...]\n if (typeof first === 'string') {\n const lower = first.toLowerCase();\n if (lower === 'and' || lower === 'or') {\n return filter.length >= 2 && filter.slice(1).every((child: unknown) => isFilterAST(child));\n }\n\n // Comparison node: [field, operator, value]\n if (filter.length >= 2 && typeof filter[1] === 'string') {\n return VALID_AST_OPERATORS.has(filter[1].toLowerCase());\n }\n }\n\n // Legacy flat array: [[cond], [cond], ...]\n if (filter.every((item: unknown) => isFilterAST(item))) {\n return filter.length > 0;\n }\n\n return false;\n}\n\n// ============================================================================\n// AST Array → FilterCondition Conversion\n// ============================================================================\n\n/**\n * Operator mapping from AST infix operators to FilterCondition `$`-prefixed operators.\n */\nconst AST_OPERATOR_MAP: Record<string, string> = {\n '=': '$eq',\n '==': '$eq',\n '!=': '$ne',\n '<>': '$ne',\n '>': '$gt',\n '>=': '$gte',\n '<': '$lt',\n '<=': '$lte',\n 'in': '$in',\n 'nin': '$nin',\n 'not_in': '$nin',\n 'contains': '$contains',\n 'like': '$contains',\n 'startswith': '$startsWith',\n 'starts_with': '$startsWith',\n 'endswith': '$endsWith',\n 'ends_with': '$endsWith',\n 'between': '$between',\n 'is_null': '$null',\n 'is_not_null': '$null',\n};\n\n/**\n * Convert a single AST comparison node `[field, operator, value]` to a FilterCondition object.\n */\nfunction convertComparison(node: [string, string, unknown]): FilterCondition {\n const [field, operator, value] = node;\n const op = operator.toLowerCase();\n\n // Special case: equality shorthand\n if (op === '=' || op === '==') {\n return { [field]: value } as FilterCondition;\n }\n\n // Null check operators\n if (op === 'is_null') {\n return { [field]: { $null: true } } as FilterCondition;\n }\n if (op === 'is_not_null') {\n return { [field]: { $null: false } } as FilterCondition;\n }\n\n const mapped = AST_OPERATOR_MAP[op];\n if (mapped) {\n return { [field]: { [mapped]: value } } as FilterCondition;\n }\n\n // Fallback: use the operator as-is with $ prefix\n return { [field]: { [`$${op}`]: value } } as FilterCondition;\n}\n\n/**\n * Parse a filter from AST array format to FilterCondition object format.\n *\n * The AST array format is used by the ObjectUI client and the `FilterBuilder`:\n * - Comparison: `[field, operator, value]` → `{ field: value }` or `{ field: { $op: value } }`\n * - Logical AND: `[\"and\", cond1, cond2, ...]` → `{ $and: [...] }`\n * - Logical OR: `[\"or\", cond1, cond2, ...]` → `{ $or: [...] }`\n *\n * If the input is already a FilterCondition object (not an array), it is returned as-is.\n * If the input is `null` or `undefined`, it is returned as-is.\n *\n * @example\n * // Simple condition\n * parseFilterAST([\"status\", \"=\", \"active\"])\n * // → { status: \"active\" }\n *\n * @example\n * // Compound AND\n * parseFilterAST([\"and\", [\"priority\", \"=\", \"high\"], [\"status\", \"=\", \"active\"]])\n * // → { $and: [{ priority: \"high\" }, { status: \"active\" }] }\n *\n * @example\n * // Object passthrough\n * parseFilterAST({ status: \"active\" })\n * // → { status: \"active\" }\n */\nexport function parseFilterAST(filter: unknown): FilterCondition | undefined {\n if (filter == null) return undefined;\n if (!Array.isArray(filter)) return filter as FilterCondition;\n if (filter.length === 0) return undefined;\n\n const first = filter[0];\n\n // Logical node: [\"and\", cond1, cond2, ...] or [\"or\", cond1, cond2, ...]\n if (typeof first === 'string' && (first.toLowerCase() === 'and' || first.toLowerCase() === 'or')) {\n const logicOp = `$${first.toLowerCase()}` as '$and' | '$or';\n const children = filter.slice(1).map((child: unknown) => parseFilterAST(child)).filter(Boolean) as FilterCondition[];\n if (children.length === 0) return undefined;\n if (children.length === 1) return children[0];\n return { [logicOp]: children } as FilterCondition;\n }\n\n // Comparison node: [field, operator, value]\n if (filter.length >= 2 && typeof first === 'string') {\n return convertComparison(filter as [string, string, unknown]);\n }\n\n // Legacy flat array: [[field, op, val], [field, op, val], ...]\n // All elements are sub-arrays → treat as implicit AND\n if (filter.every((item: unknown) => Array.isArray(item))) {\n const children = filter.map((child: unknown) => parseFilterAST(child)).filter(Boolean) as FilterCondition[];\n if (children.length === 0) return undefined;\n if (children.length === 1) return children[0];\n return { $and: children } as FilterCondition;\n }\n\n return undefined;\n}\n\n// ============================================================================\n// Constants & Metadata\n// ============================================================================\n\n/**\n * All supported operator keys.\n * Useful for validation and parsing.\n */\nexport const FILTER_OPERATORS = [\n // Equality\n '$eq', '$ne',\n // Comparison\n '$gt', '$gte', '$lt', '$lte',\n // Set & Range\n '$in', '$nin', '$between',\n // String\n '$contains', '$startsWith', '$endsWith',\n // Special\n '$null', '$exists',\n] as const;\n\n/**\n * Logical operator keys.\n */\nexport const LOGICAL_OPERATORS = ['$and', '$or', '$not'] as const;\n\n/**\n * All operator keys (field + logical).\n */\nexport const ALL_OPERATORS = [...FILTER_OPERATORS, ...LOGICAL_OPERATORS] as const;\n\nexport type FilterOperatorKey = typeof FILTER_OPERATORS[number];\nexport type LogicalOperatorKey = typeof LOGICAL_OPERATORS[number];\nexport type OperatorKey = typeof ALL_OPERATORS[number];\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { FilterConditionSchema } from '../data/filter.zod';\nimport { ChartTypeSchema, ChartConfigSchema } from './chart.zod';\nimport { SnakeCaseIdentifierSchema } from '../shared/identifiers.zod';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.zod';\nimport { ResponsiveConfigSchema, PerformanceConfigSchema } from './responsive.zod';\n\n/**\n * Color variant for dashboard widgets (e.g., KPI cards).\n */\nexport const WidgetColorVariantSchema = z.enum([\n 'default',\n 'blue',\n 'teal',\n 'orange',\n 'purple',\n 'success',\n 'warning',\n 'danger',\n]).describe('Widget color variant');\n\n/**\n * Action type for widget action buttons.\n */\nexport const WidgetActionTypeSchema = z.enum([\n 'script',\n 'url',\n 'modal',\n 'flow',\n 'api',\n]).describe('Widget action type');\n\n/**\n * Dashboard Header Action Schema\n * An action button displayed in the dashboard header area.\n */\nexport const DashboardHeaderActionSchema = z.object({\n /** Action label */\n label: I18nLabelSchema.describe('Action button label'),\n\n /** Action URL or target */\n actionUrl: z.string().describe('URL or target for the action'),\n\n /** Action type */\n actionType: WidgetActionTypeSchema.optional().describe('Type of action'),\n\n /** Icon identifier */\n icon: z.string().optional().describe('Icon identifier for the action button'),\n}).describe('Dashboard header action');\n\n/**\n * Dashboard Header Schema\n * Structured header configuration for the dashboard.\n */\nexport const DashboardHeaderSchema = z.object({\n /** Whether to show the dashboard title in the header */\n showTitle: z.boolean().default(true).describe('Show dashboard title in header'),\n\n /** Whether to show the dashboard description in the header */\n showDescription: z.boolean().default(true).describe('Show dashboard description in header'),\n\n /** Action buttons displayed in the header */\n actions: z.array(DashboardHeaderActionSchema).optional().describe('Header action buttons'),\n}).describe('Dashboard header configuration');\n\n/**\n * Widget Measure Schema\n * A single measure definition for multi-measure pivot/matrix widgets.\n */\nexport const WidgetMeasureSchema = z.object({\n /** Value field to aggregate */\n valueField: z.string().describe('Field to aggregate'),\n\n /** Aggregate function */\n aggregate: z.enum(['count', 'sum', 'avg', 'min', 'max']).default('count').describe('Aggregate function'),\n\n /** Display label for the measure */\n label: I18nLabelSchema.optional().describe('Measure display label'),\n\n /** Number format string (e.g., \"$0,0.00\", \"0.0%\") */\n format: z.string().optional().describe('Number format string'),\n}).describe('Widget measure definition');\n\n/**\n * Dashboard Widget Schema\n * A single component on the dashboard grid.\n */\nexport const DashboardWidgetSchema = z.object({\n /** Unique widget identifier (snake_case, used for targetWidgets references) */\n id: SnakeCaseIdentifierSchema.describe('Unique widget identifier (snake_case)'),\n\n /** Widget Title */\n title: I18nLabelSchema.optional().describe('Widget title'),\n\n /** Widget Description (displayed below the title) */\n description: I18nLabelSchema.optional().describe('Widget description text below the header'),\n \n /** Visualization Type */\n type: ChartTypeSchema.default('metric').describe('Visualization type'),\n \n /** Chart Configuration */\n chartConfig: ChartConfigSchema.optional().describe('Chart visualization configuration'),\n\n /** Color variant for the widget (e.g., KPI card accent color) */\n colorVariant: WidgetColorVariantSchema.optional().describe('Widget color variant for theming'),\n\n /** Action URL for the widget header action button */\n actionUrl: z.string().optional().describe('URL or target for the widget action button'),\n\n /** Action type for the widget header action button */\n actionType: WidgetActionTypeSchema.optional().describe('Type of action for the widget action button'),\n\n /** Icon for the widget header action button */\n actionIcon: z.string().optional().describe('Icon identifier for the widget action button'),\n \n /** Data Source Object */\n object: z.string().optional().describe('Data source object name'),\n \n /** Data Filter (MongoDB-style FilterCondition) */\n filter: FilterConditionSchema.optional().describe('Data filter criteria'),\n \n /** Category Field (X-Axis / Group By) */\n categoryField: z.string().optional().describe('Field for grouping (X-Axis)'),\n \n /** Value Field (Y-Axis) */\n valueField: z.string().optional().describe('Field for values (Y-Axis)'),\n \n /** Aggregate operation */\n aggregate: z.enum(['count', 'sum', 'avg', 'min', 'max']).optional().default('count').describe('Aggregate function'),\n \n /** Multi-measure definitions for pivot/matrix widgets */\n measures: z.array(WidgetMeasureSchema).optional().describe('Multiple measures for pivot/matrix analysis'),\n \n /** \n * Layout Position (React-Grid-Layout style)\n * x: column (0-11)\n * y: row\n * w: width (1-12)\n * h: height\n */\n layout: z.object({\n x: z.number(),\n y: z.number(),\n w: z.number(),\n h: z.number(),\n }).describe('Grid layout position'),\n \n /** Widget specific options (colors, legend, etc.) */\n options: z.unknown().optional().describe('Widget specific configuration'),\n\n /** Responsive layout overrides per breakpoint */\n responsive: ResponsiveConfigSchema.optional().describe('Responsive layout configuration'),\n\n /** ARIA accessibility attributes */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\n/**\n * Dynamic options binding for global filters.\n * Allows dropdown options to be fetched from an object at runtime.\n */\nexport const GlobalFilterOptionsFromSchema = z.object({\n /** Source object name to fetch options from */\n object: z.string().describe('Source object name'),\n\n /** Field to use as option value */\n valueField: z.string().describe('Field to use as option value'),\n\n /** Field to use as option label */\n labelField: z.string().describe('Field to use as option label'),\n\n /** Optional filter to apply when fetching options */\n filter: FilterConditionSchema.optional().describe('Filter to apply to source object'),\n}).describe('Dynamic filter options from object');\n\n/**\n * Global Filter Schema\n * Defines a single global filter control for the dashboard filter bar.\n */\nexport const GlobalFilterSchema = z.object({\n /** Field name to filter on */\n field: z.string().describe('Field name to filter on'),\n\n /** Display label for the filter */\n label: I18nLabelSchema.optional().describe('Display label for the filter'),\n\n /** Filter input type */\n type: z.enum(['text', 'select', 'date', 'number', 'lookup']).optional().describe('Filter input type'),\n\n /** Static options for select/lookup filters */\n options: z.array(z.object({\n value: z.union([z.string(), z.number(), z.boolean()]).describe('Option value'),\n label: I18nLabelSchema,\n })).optional().describe('Static filter options'),\n\n /** Dynamic data binding for filter options */\n optionsFrom: GlobalFilterOptionsFromSchema.optional().describe('Dynamic filter options from object'),\n\n /** Default filter value */\n defaultValue: z.union([z.string(), z.number(), z.boolean()]).optional().describe('Default filter value'),\n\n /** Filter application scope */\n scope: z.enum(['dashboard', 'widget']).default('dashboard').describe('Filter application scope'),\n\n /** Widget IDs to apply this filter to (when scope is widget) */\n targetWidgets: z.array(z.string()).optional().describe('Widget IDs to apply this filter to'),\n});\n\n/**\n * Dashboard Schema\n * Represents a page containing multiple visualizations.\n * \n * @example Sales Executive Dashboard\n * {\n * name: \"sales_overview\",\n * label: \"Sales Executive Overview\",\n * widgets: [\n * {\n * title: \"Total Pipe\",\n * type: \"metric\",\n * object: \"opportunity\",\n * valueField: \"amount\",\n * aggregate: \"sum\",\n * layout: { x: 0, y: 0, w: 3, h: 2 }\n * },\n * {\n * title: \"Revenue by Region\",\n * type: \"bar\",\n * object: \"order\",\n * categoryField: \"region\",\n * valueField: \"total\",\n * aggregate: \"sum\",\n * layout: { x: 3, y: 0, w: 6, h: 4 }\n * }\n * ]\n * }\n */\nexport const DashboardSchema = z.object({\n /** Machine name */\n name: SnakeCaseIdentifierSchema.describe('Dashboard unique name'),\n \n /** Display label */\n label: I18nLabelSchema.describe('Dashboard label'),\n \n /** Description */\n description: I18nLabelSchema.optional().describe('Dashboard description'),\n\n /** Structured header configuration */\n header: DashboardHeaderSchema.optional().describe('Dashboard header configuration'),\n \n /** Collection of widgets */\n widgets: z.array(DashboardWidgetSchema).describe('Widgets to display'),\n\n /** Auto-refresh */\n refreshInterval: z.number().optional().describe('Auto-refresh interval in seconds'),\n\n /** Dashboard Date Range (Global time filter) */\n dateRange: z.object({\n field: z.string().optional().describe('Default date field name for time-based filtering'),\n defaultRange: z.enum(['today', 'yesterday', 'this_week', 'last_week', 'this_month', 'last_month', 'this_quarter', 'last_quarter', 'this_year', 'last_year', 'last_7_days', 'last_30_days', 'last_90_days', 'custom']).default('this_month').describe('Default date range preset'),\n allowCustomRange: z.boolean().default(true).describe('Allow users to pick a custom date range'),\n }).optional().describe('Global dashboard date range filter configuration'),\n\n /** Global Filters */\n globalFilters: z.array(GlobalFilterSchema).optional().describe('Global filters that apply to all widgets in the dashboard'),\n\n /** ARIA accessibility attributes */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n\n /** Performance optimization settings */\n performance: PerformanceConfigSchema.optional().describe('Performance optimization settings'),\n});\n\nexport type Dashboard = z.infer<typeof DashboardSchema>;\nexport type DashboardInput = z.input<typeof DashboardSchema>;\nexport type DashboardWidget = z.infer<typeof DashboardWidgetSchema>;\nexport type DashboardHeader = z.infer<typeof DashboardHeaderSchema>;\nexport type DashboardHeaderAction = z.infer<typeof DashboardHeaderActionSchema>;\nexport type WidgetMeasure = z.infer<typeof WidgetMeasureSchema>;\nexport type WidgetColorVariant = z.infer<typeof WidgetColorVariantSchema>;\nexport type WidgetActionType = z.infer<typeof WidgetActionTypeSchema>;\nexport type GlobalFilter = z.infer<typeof GlobalFilterSchema>;\nexport type GlobalFilterOptionsFrom = z.infer<typeof GlobalFilterOptionsFromSchema>;\n\n/**\n * Dashboard Factory Helper\n */\nexport const Dashboard = {\n create: (config: z.input<typeof DashboardSchema>): Dashboard => DashboardSchema.parse(config),\n} as const;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { FilterConditionSchema } from '../data/filter.zod';\nimport { ChartConfigSchema } from './chart.zod';\nimport { SnakeCaseIdentifierSchema } from '../shared/identifiers.zod';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.zod';\nimport { ResponsiveConfigSchema, PerformanceConfigSchema } from './responsive.zod';\n\n/**\n * Report Type Enum\n */\nexport const ReportType = z.enum([\n 'tabular', // Simple list\n 'summary', // Grouped by row\n 'matrix', // Grouped by row and column\n 'joined' // Joined multiple blocks\n]);\n\n/**\n * Report Column Schema\n */\nexport const ReportColumnSchema = z.object({\n field: z.string().describe('Field name'),\n label: I18nLabelSchema.optional().describe('Override label'),\n aggregate: z.enum(['sum', 'avg', 'max', 'min', 'count', 'unique']).optional().describe('Aggregation function'),\n /** Responsive visibility/priority per breakpoint */\n responsive: ResponsiveConfigSchema.optional().describe('Responsive visibility for this column'),\n});\n\n/**\n * Report Grouping Schema\n */\nexport const ReportGroupingSchema = z.object({\n field: z.string().describe('Field to group by'),\n sortOrder: z.enum(['asc', 'desc']).default('asc'),\n dateGranularity: z.enum(['day', 'week', 'month', 'quarter', 'year']).optional().describe('For date fields'),\n});\n\n/**\n * Report Chart Schema\n * Embedded visualization configuration using unified chart taxonomy.\n */\nexport const ReportChartSchema = ChartConfigSchema.extend({\n /** Report-specific chart configuration */\n xAxis: z.string().describe('Grouping field for X-Axis'),\n yAxis: z.string().describe('Summary field for Y-Axis'),\n groupBy: z.string().optional().describe('Additional grouping field'),\n});\n\n/**\n * Report Schema\n * Deep data analysis definition.\n */\nexport const ReportSchema = z.object({\n /** Identity */\n name: SnakeCaseIdentifierSchema.describe('Report unique name'),\n label: I18nLabelSchema.describe('Report label'),\n description: I18nLabelSchema.optional(),\n \n /** Data Source */\n objectName: z.string().describe('Primary object'),\n \n /** Report Configuration */\n type: ReportType.default('tabular').describe('Report format type'),\n \n columns: z.array(ReportColumnSchema).describe('Columns to display'),\n \n /** Grouping (for Summary/Matrix) */\n groupingsDown: z.array(ReportGroupingSchema).optional().describe('Row groupings'),\n groupingsAcross: z.array(ReportGroupingSchema).optional().describe('Column groupings (Matrix only)'),\n \n /** Filtering (MongoDB-style FilterCondition) */\n filter: FilterConditionSchema.optional().describe('Filter criteria'),\n \n /** Visualization */\n chart: ReportChartSchema.optional().describe('Embedded chart configuration'),\n\n /** ARIA accessibility attributes */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n\n /** Performance optimization settings */\n performance: PerformanceConfigSchema.optional().describe('Performance optimization settings'),\n});\n\n/**\n * Report Types\n * \n * Note: For configuration/definition contexts, use the Input types (e.g., ReportInput)\n * which allow optional fields with defaults to be omitted.\n */\nexport type Report = z.infer<typeof ReportSchema>;\nexport type ReportColumn = z.infer<typeof ReportColumnSchema>;\nexport type ReportGrouping = z.infer<typeof ReportGroupingSchema>;\nexport type ReportChart = z.infer<typeof ReportChartSchema>;\n\n/**\n * Input Types for Report Configuration\n * Use these when defining reports in configuration files.\n */\nexport type ReportInput = z.input<typeof ReportSchema>;\nexport type ReportColumnInput = z.input<typeof ReportColumnSchema>;\nexport type ReportGroupingInput = z.input<typeof ReportGroupingSchema>;\nexport type ReportChartInput = z.input<typeof ReportChartSchema>;\n\n/**\n * Report Factory Helper\n */\nexport const Report = {\n create: (config: ReportInput): Report => ReportSchema.parse(config),\n} as const;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Field-level encryption protocol\n * GDPR/HIPAA/PCI-DSS compliant\n */\nexport const EncryptionAlgorithmSchema = z.enum([\n 'aes-256-gcm',\n 'aes-256-cbc',\n 'chacha20-poly1305',\n]).describe('Supported encryption algorithm');\n\nexport type EncryptionAlgorithm = z.infer<typeof EncryptionAlgorithmSchema>;\n\nexport const KeyManagementProviderSchema = z.enum([\n 'local',\n 'aws-kms',\n 'azure-key-vault',\n 'gcp-kms',\n 'hashicorp-vault',\n]).describe('Key management service provider');\n\nexport type KeyManagementProvider = z.infer<typeof KeyManagementProviderSchema>;\n\nexport const KeyRotationPolicySchema = z.object({\n enabled: z.boolean().default(false).describe('Enable automatic key rotation'),\n frequencyDays: z.number().min(1).default(90).describe('Rotation frequency in days'),\n retainOldVersions: z.number().default(3).describe('Number of old key versions to retain'),\n autoRotate: z.boolean().default(true).describe('Automatically rotate without manual approval'),\n}).describe('Policy for automatic encryption key rotation');\n\nexport type KeyRotationPolicy = z.infer<typeof KeyRotationPolicySchema>;\nexport type KeyRotationPolicyInput = z.input<typeof KeyRotationPolicySchema>;\n\nexport const EncryptionConfigSchema = z.object({\n enabled: z.boolean().default(false).describe('Enable field-level encryption'),\n algorithm: EncryptionAlgorithmSchema.default('aes-256-gcm').describe('Encryption algorithm'),\n keyManagement: z.object({\n provider: KeyManagementProviderSchema.describe('Key management service provider'),\n keyId: z.string().optional().describe('Key identifier in the provider'),\n rotationPolicy: KeyRotationPolicySchema.optional().describe('Key rotation policy'),\n }).describe('Key management configuration'),\n scope: z.enum(['field', 'record', 'table', 'database']).describe('Encryption scope level'),\n deterministicEncryption: z.boolean().default(false).describe('Allows equality queries on encrypted data'),\n searchableEncryption: z.boolean().default(false).describe('Allows search on encrypted data'),\n}).describe('Field-level encryption configuration');\n\nexport type EncryptionConfig = z.infer<typeof EncryptionConfigSchema>;\nexport type EncryptionConfigInput = z.input<typeof EncryptionConfigSchema>;\n\nexport const FieldEncryptionSchema = z.object({\n fieldName: z.string().describe('Name of the field to encrypt'),\n encryptionConfig: EncryptionConfigSchema.describe('Encryption settings for this field'),\n indexable: z.boolean().default(false).describe('Allow indexing on encrypted field'),\n}).describe('Per-field encryption assignment');\n\nexport type FieldEncryption = z.infer<typeof FieldEncryptionSchema>;\nexport type FieldEncryptionInput = z.input<typeof FieldEncryptionSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Data masking protocol for PII protection\n */\nexport const MaskingStrategySchema = z.enum([\n 'redact', // Complete redaction: ****\n 'partial', // Partial masking: 138****5678\n 'hash', // Hash value: sha256(value)\n 'tokenize', // Tokenization: token-12345\n 'randomize', // Randomize: generate random value\n 'nullify', // Null value: null\n 'substitute', // Substitute with dummy data\n]).describe('Data masking strategy for PII protection');\n\nexport type MaskingStrategy = z.infer<typeof MaskingStrategySchema>;\n\nexport const MaskingRuleSchema = z.object({\n field: z.string().describe('Field name to apply masking to'),\n strategy: MaskingStrategySchema.describe('Masking strategy to use'),\n pattern: z.string().optional().describe('Regex pattern for partial masking'),\n preserveFormat: z.boolean().default(true).describe('Keep the original data format after masking'),\n preserveLength: z.boolean().default(true).describe('Keep the original data length after masking'),\n roles: z.array(z.string()).optional().describe('Roles that see masked data'),\n exemptRoles: z.array(z.string()).optional().describe('Roles that see unmasked data'),\n}).describe('Masking rule for a single field');\n\nexport type MaskingRule = z.infer<typeof MaskingRuleSchema>;\nexport type MaskingRuleInput = z.input<typeof MaskingRuleSchema>;\n\nexport const MaskingConfigSchema = z.object({\n enabled: z.boolean().default(false).describe('Enable data masking'),\n rules: z.array(MaskingRuleSchema).describe('List of field-level masking rules'),\n auditUnmasking: z.boolean().default(true).describe('Log when masked data is accessed unmasked'),\n}).describe('Top-level data masking configuration for PII protection');\n\nexport type MaskingConfig = z.infer<typeof MaskingConfigSchema>;\nexport type MaskingConfigInput = z.input<typeof MaskingConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { SystemIdentifierSchema } from '../shared/identifiers.zod';\nimport { EncryptionConfigSchema } from '../system/encryption.zod';\nimport { MaskingRuleSchema } from '../system/masking.zod';\n\n/**\n * Field Type Enum\n */\nexport const FieldType = z.enum([\n // Core Text\n 'text', 'textarea', 'email', 'url', 'phone', 'password',\n // Rich Content\n 'markdown', 'html', 'richtext',\n // Numbers\n 'number', 'currency', 'percent', \n // Date & Time\n 'date', 'datetime', 'time',\n // Logic\n 'boolean', 'toggle', // Toggle is a distinct UI from checkbox\n // Selection\n 'select', // Single select dropdown\n 'multiselect', // Multi select (often tags)\n 'radio', // Radio group\n 'checkboxes', // Checkbox group\n // Relational\n 'lookup', 'master_detail', // Dynamic reference\n 'tree', // Hierarchical reference\n // Media\n 'image', 'file', 'avatar', 'video', 'audio',\n // Calculated / System\n 'formula', 'summary', 'autonumber',\n // Enhanced Types\n 'location', // GPS coordinates\n 'address', // Structured address\n 'code', // Code editor (JSON/SQL/JS)\n 'json', // Structured JSON data\n 'color', // Color picker\n 'rating', // Star rating\n 'slider', // Numeric slider\n 'signature', // Digital signature\n 'qrcode', // QR code / Barcode\n 'progress', // Progress bar\n 'tags', // Simple tag list\n // AI/ML Types\n 'vector', // Vector embeddings for AI/ML (semantic search, RAG)\n]);\n\nexport type FieldType = z.infer<typeof FieldType>;\n\n/**\n * Select Option Schema\n * \n * Defines option values for select/picklist fields.\n * \n * **CRITICAL RULE**: The `value` field is a machine identifier that gets stored in the database.\n * It MUST be lowercase to avoid case-sensitivity issues in queries and comparisons.\n * \n * @example Good\n * { label: 'New', value: 'new' }\n * { label: 'In Progress', value: 'in_progress' }\n * { label: 'Closed Won', value: 'closed_won' }\n * \n * @example Bad (will be rejected)\n * { label: 'New', value: 'New' } // uppercase\n * { label: 'In Progress', value: 'In Progress' } // spaces and uppercase\n * { label: 'Closed Won', value: 'Closed_Won' } // mixed case\n */\nexport const SelectOptionSchema = z.object({\n label: z.string().describe('Display label (human-readable, any case allowed)'),\n value: SystemIdentifierSchema.describe('Stored value (lowercase machine identifier)'),\n color: z.string().optional().describe('Color code for badges/charts'),\n default: z.boolean().optional().describe('Is default option'),\n});\n\n/**\n * Location Coordinates Schema\n * GPS coordinates for location field type\n */\nexport const LocationCoordinatesSchema = z.object({\n latitude: z.number().min(-90).max(90).describe('Latitude coordinate'),\n longitude: z.number().min(-180).max(180).describe('Longitude coordinate'),\n altitude: z.number().optional().describe('Altitude in meters'),\n accuracy: z.number().optional().describe('Accuracy in meters'),\n});\n\n/**\n * Currency Configuration Schema\n * Configuration for currency field type supporting multi-currency\n * \n * Note: Currency codes are validated by length only (3 characters) to support:\n * - Standard ISO 4217 codes (USD, EUR, CNY, etc.)\n * - Cryptocurrency codes (BTC, ETH, etc.)\n * - Custom business-specific codes\n * Stricter validation can be implemented at the application layer based on business requirements.\n */\nexport const CurrencyConfigSchema = z.object({\n precision: z.number().int().min(0).max(10).default(2).describe('Decimal precision (default: 2)'),\n currencyMode: z.enum(['dynamic', 'fixed']).default('dynamic').describe('Currency mode: dynamic (user selectable) or fixed (single currency)'),\n defaultCurrency: z.string().length(3).default('CNY').describe('Default or fixed currency code (ISO 4217, e.g., USD, CNY, EUR)'),\n});\n\n/**\n * Currency Value Schema\n * Runtime value structure for currency fields\n * \n * Note: Currency codes are validated by length only (3 characters) to support flexibility.\n * See CurrencyConfigSchema for details on currency code validation strategy.\n */\nexport const CurrencyValueSchema = z.object({\n value: z.number().describe('Monetary amount'),\n currency: z.string().length(3).describe('Currency code (ISO 4217)'),\n});\n\n/**\n * Address Schema\n * Structured address for address field type\n */\nexport const AddressSchema = z.object({\n street: z.string().optional().describe('Street address'),\n city: z.string().optional().describe('City name'),\n state: z.string().optional().describe('State/Province'),\n postalCode: z.string().optional().describe('Postal/ZIP code'),\n country: z.string().optional().describe('Country name or code'),\n countryCode: z.string().optional().describe('ISO country code (e.g., US, GB)'),\n formatted: z.string().optional().describe('Formatted address string'),\n});\n\n/**\n * Vector Configuration Schema\n * Configuration for vector field type supporting AI/ML embeddings\n * \n * Vector fields store numerical embeddings for semantic search, similarity matching,\n * and Retrieval-Augmented Generation (RAG) workflows.\n * \n * @example\n * // Text embeddings for semantic search\n * {\n * dimensions: 1536, // OpenAI text-embedding-ada-002\n * distanceMetric: 'cosine',\n * indexed: true\n * }\n * \n * @example\n * // Image embeddings with normalization\n * {\n * dimensions: 512, // ResNet-50\n * distanceMetric: 'euclidean',\n * normalized: true,\n * indexed: true\n * }\n */\nexport const VectorConfigSchema = z.object({\n dimensions: z.number().int().min(1).max(10000).describe('Vector dimensionality (e.g., 1536 for OpenAI embeddings)'),\n distanceMetric: z.enum(['cosine', 'euclidean', 'dotProduct', 'manhattan']).default('cosine').describe('Distance/similarity metric for vector search'),\n normalized: z.boolean().default(false).describe('Whether vectors are normalized (unit length)'),\n indexed: z.boolean().default(true).describe('Whether to create a vector index for fast similarity search'),\n indexType: z.enum(['hnsw', 'ivfflat', 'flat']).optional().describe('Vector index algorithm (HNSW for high accuracy, IVFFlat for large datasets)'),\n});\n\n/**\n * File Attachment Configuration Schema\n * Configuration for file and attachment field types\n * \n * Provides comprehensive file upload capabilities with:\n * - File type restrictions (allowed/blocked)\n * - File size limits (min/max)\n * - Virus scanning integration\n * - Storage provider integration\n * - Image-specific features (dimensions, thumbnails)\n * \n * @example Basic file upload with size limit\n * {\n * maxSize: 10485760, // 10MB\n * allowedTypes: ['.pdf', '.docx', '.xlsx'],\n * virusScan: true\n * }\n * \n * @example Image upload with validation\n * {\n * maxSize: 5242880, // 5MB\n * allowedTypes: ['.jpg', '.jpeg', '.png', '.webp'],\n * imageValidation: {\n * maxWidth: 4096,\n * maxHeight: 4096,\n * generateThumbnails: true\n * }\n * }\n */\nexport const FileAttachmentConfigSchema = z.object({\n /** File Size Limits */\n minSize: z.number().min(0).optional().describe('Minimum file size in bytes'),\n maxSize: z.number().min(1).optional().describe('Maximum file size in bytes (e.g., 10485760 = 10MB)'),\n \n /** File Type Restrictions */\n allowedTypes: z.array(z.string()).optional().describe('Allowed file extensions (e.g., [\".pdf\", \".docx\", \".jpg\"])'),\n blockedTypes: z.array(z.string()).optional().describe('Blocked file extensions (e.g., [\".exe\", \".bat\", \".sh\"])'),\n allowedMimeTypes: z.array(z.string()).optional().describe('Allowed MIME types (e.g., [\"image/jpeg\", \"application/pdf\"])'),\n blockedMimeTypes: z.array(z.string()).optional().describe('Blocked MIME types'),\n \n /** Virus Scanning */\n virusScan: z.boolean().default(false).describe('Enable virus scanning for uploaded files'),\n virusScanProvider: z.enum(['clamav', 'virustotal', 'metadefender', 'custom']).optional().describe('Virus scanning service provider'),\n virusScanOnUpload: z.boolean().default(true).describe('Scan files immediately on upload'),\n quarantineOnThreat: z.boolean().default(true).describe('Quarantine files if threat detected'),\n \n /** Storage Configuration */\n storageProvider: z.string().optional().describe('Object storage provider name (references ObjectStorageConfig)'),\n storageBucket: z.string().optional().describe('Target bucket name'),\n storagePrefix: z.string().optional().describe('Storage path prefix (e.g., \"uploads/documents/\")'),\n \n /** Image-Specific Validation */\n imageValidation: z.object({\n minWidth: z.number().min(1).optional().describe('Minimum image width in pixels'),\n maxWidth: z.number().min(1).optional().describe('Maximum image width in pixels'),\n minHeight: z.number().min(1).optional().describe('Minimum image height in pixels'),\n maxHeight: z.number().min(1).optional().describe('Maximum image height in pixels'),\n aspectRatio: z.string().optional().describe('Required aspect ratio (e.g., \"16:9\", \"1:1\")'),\n generateThumbnails: z.boolean().default(false).describe('Auto-generate thumbnails'),\n thumbnailSizes: z.array(z.object({\n name: z.string().describe('Thumbnail variant name (e.g., \"small\", \"medium\", \"large\")'),\n width: z.number().min(1).describe('Thumbnail width in pixels'),\n height: z.number().min(1).describe('Thumbnail height in pixels'),\n crop: z.boolean().default(false).describe('Crop to exact dimensions'),\n })).optional().describe('Thumbnail size configurations'),\n preserveMetadata: z.boolean().default(false).describe('Preserve EXIF metadata'),\n autoRotate: z.boolean().default(true).describe('Auto-rotate based on EXIF orientation'),\n }).optional().describe('Image-specific validation rules'),\n \n /** Upload Behavior */\n allowMultiple: z.boolean().default(false).describe('Allow multiple file uploads (overrides field.multiple)'),\n allowReplace: z.boolean().default(true).describe('Allow replacing existing files'),\n allowDelete: z.boolean().default(true).describe('Allow deleting uploaded files'),\n requireUpload: z.boolean().default(false).describe('Require at least one file when field is required'),\n \n /** Metadata Extraction */\n extractMetadata: z.boolean().default(true).describe('Extract file metadata (name, size, type, etc.)'),\n extractText: z.boolean().default(false).describe('Extract text content from documents (OCR/parsing)'),\n \n /** Versioning */\n versioningEnabled: z.boolean().default(false).describe('Keep previous versions of replaced files'),\n maxVersions: z.number().min(1).optional().describe('Maximum number of versions to retain'),\n \n /** Access Control */\n publicRead: z.boolean().default(false).describe('Allow public read access to uploaded files'),\n presignedUrlExpiry: z.number().min(60).max(604800).default(3600).describe('Presigned URL expiration in seconds (default: 1 hour)'),\n}).refine((data) => {\n // Validate minSize is less than or equal to maxSize\n if (data.minSize !== undefined && data.maxSize !== undefined && data.minSize > data.maxSize) {\n return false;\n }\n return true;\n}, {\n message: 'minSize must be less than or equal to maxSize',\n}).refine((data) => {\n // Validate virusScanProvider requires virusScan to be enabled\n if (data.virusScanProvider !== undefined && data.virusScan !== true) {\n return false;\n }\n return true;\n}, {\n message: 'virusScanProvider requires virusScan to be enabled',\n});\n\n/**\n * Data Quality Rules Schema\n * Defines data quality validation and monitoring for fields\n * \n * @example Unique SSN field with completeness requirement\n * {\n * uniqueness: true,\n * completeness: 0.95, // 95% of records must have this field\n * accuracy: {\n * source: 'government_db',\n * threshold: 0.98\n * }\n * }\n */\nexport const DataQualityRulesSchema = z.object({\n /** Enforce uniqueness constraint */\n uniqueness: z.boolean().default(false).describe('Enforce unique values across all records'),\n \n /** Completeness ratio (0-1) indicating minimum percentage of non-null values */\n completeness: z.number().min(0).max(1).default(0).describe('Minimum ratio of non-null values (0-1, default: 0 = no requirement)'),\n \n /** Accuracy validation against authoritative source */\n accuracy: z.object({\n source: z.string().describe('Reference data source for validation (e.g., \"api.verify.com\", \"master_data\")'),\n threshold: z.number().min(0).max(1).describe('Minimum accuracy threshold (0-1, e.g., 0.95 = 95% match required)'),\n }).optional().describe('Accuracy validation configuration'),\n});\n\n/**\n * Computed Field Caching Schema\n * Configuration for caching computed/formula field results\n * \n * @example Cache product price with 1-hour TTL, invalidate on inventory changes\n * {\n * enabled: true,\n * ttl: 3600,\n * invalidateOn: ['inventory.quantity', 'pricing.discount']\n * }\n */\nexport const ComputedFieldCacheSchema = z.object({\n /** Enable caching for this computed field */\n enabled: z.boolean().describe('Enable caching for computed field results'),\n \n /** Time-to-live in seconds */\n ttl: z.number().min(0).describe('Cache TTL in seconds (0 = no expiration)'),\n \n /** Array of field paths that trigger cache invalidation when changed */\n invalidateOn: z.array(z.string()).describe('Field paths that invalidate cache (e.g., [\"inventory.quantity\", \"pricing.base_price\"])'),\n});\n\n/**\n * Field Schema - Best Practice Enterprise Pattern\n */\n/**\n * Field Definition Schema\n * Defines the properties, type, and behavior of a single field (column) on an object.\n * \n * @example Lookup Field\n * {\n * name: \"account_id\",\n * label: \"Account\",\n * type: \"lookup\",\n * reference: \"accounts\",\n * required: true\n * }\n * \n * @example Select Field\n * {\n * name: \"status\",\n * label: \"Status\",\n * type: \"select\",\n * options: [\n * { label: \"Open\", value: \"open\" },\n * { label: \"Closed\", value: \"closed\" }\n * ],\n * defaultValue: \"open\"\n * }\n */\nexport const FieldSchema = z.object({\n /** Identity */\n name: z.string().regex(/^[a-z_][a-z0-9_]*$/).describe('Machine name (snake_case)').optional(),\n label: z.string().optional().describe('Human readable label'),\n type: FieldType.describe('Field Data Type'),\n description: z.string().optional().describe('Tooltip/Help text'),\n format: z.string().optional().describe('Format string (e.g. email, phone)'),\n\n /** Storage Layer Mapping */\n columnName: z.string().optional().describe('Physical column name in the target datasource. Defaults to the field key when not set.'),\n\n /** Database Constraints */\n required: z.boolean().default(false).describe('Is required'),\n searchable: z.boolean().default(false).describe('Is searchable'),\n multiple: z.boolean().default(false).describe('Allow multiple values (Stores as Array/JSON). Applicable for select, lookup, file, image.'),\n unique: z.boolean().default(false).describe('Is unique constraint'),\n defaultValue: z.unknown().optional().describe('Default value'),\n \n /** Text/String Constraints */\n maxLength: z.number().optional().describe('Max character length'),\n minLength: z.number().optional().describe('Min character length'),\n \n /** Number Constraints */\n precision: z.number().optional().describe('Total digits'),\n scale: z.number().optional().describe('Decimal places'),\n min: z.number().optional().describe('Minimum value'),\n max: z.number().optional().describe('Maximum value'),\n\n /** Selection Options */\n options: z.array(SelectOptionSchema).optional().describe('Static options for select/multiselect'),\n\n /**\n * Relationship Config\n * \n * Used by `lookup` and `master_detail` field types to define cross-object references.\n * The `reference` property is **required** for these types — it identifies the target\n * object whose records this field links to. The engine uses `reference` during $expand\n * post-processing to resolve foreign key IDs into full related objects via batch queries.\n * \n * For `master_detail` fields, the parent record controls the lifecycle of child records\n * (e.g., cascade delete). For `lookup` fields, the reference is a soft link.\n */\n reference: z.string().optional().describe(\n 'Target object name (snake_case) for lookup/master_detail fields. '\n + 'Required for relationship types. Used by $expand to resolve foreign key IDs into full objects.'\n ),\n referenceFilters: z.array(z.string()).optional().describe('Filters applied to lookup dialogs (e.g. \"active = true\")'),\n writeRequiresMasterRead: z.boolean().optional().describe('If true, user needs read access to master record to edit this field'),\n deleteBehavior: z.enum(['set_null', 'cascade', 'restrict']).optional().default('set_null').describe('What happens if referenced record is deleted'),\n\n /** Calculation */\n expression: z.string().optional().describe('Formula expression'),\n summaryOperations: z.object({\n object: z.string().describe('Source child object name for roll-up'),\n field: z.string().describe('Field on child object to aggregate'),\n function: z.enum(['count', 'sum', 'min', 'max', 'avg']).describe('Aggregation function to apply'),\n }).optional().describe('Roll-up summary definition'),\n\n /** Enhanced Field Type Configurations */\n // Code field config\n language: z.string().optional().describe('Programming language for syntax highlighting (e.g., javascript, python, sql)'),\n theme: z.string().optional().describe('Code editor theme (e.g., dark, light, monokai)'),\n lineNumbers: z.boolean().optional().describe('Show line numbers in code editor'),\n \n // Rating field config\n maxRating: z.number().optional().describe('Maximum rating value (default: 5)'),\n allowHalf: z.boolean().optional().describe('Allow half-star ratings'),\n \n // Location field config\n displayMap: z.boolean().optional().describe('Display map widget for location field'),\n allowGeocoding: z.boolean().optional().describe('Allow address-to-coordinate conversion'),\n \n // Address field config\n addressFormat: z.enum(['us', 'uk', 'international']).optional().describe('Address format template'),\n \n // Color field config\n colorFormat: z.enum(['hex', 'rgb', 'rgba', 'hsl']).optional().describe('Color value format'),\n allowAlpha: z.boolean().optional().describe('Allow transparency/alpha channel'),\n presetColors: z.array(z.string()).optional().describe('Preset color options'),\n \n // Slider field config\n step: z.number().optional().describe('Step increment for slider (default: 1)'),\n showValue: z.boolean().optional().describe('Display current value on slider'),\n marks: z.record(z.string(), z.string()).optional().describe('Custom marks/labels at specific values (e.g., {0: \"Low\", 50: \"Medium\", 100: \"High\"})'),\n \n // QR Code / Barcode field config\n // Note: qrErrorCorrection is only applicable when barcodeFormat='qr'\n // Runtime validation should enforce this constraint\n barcodeFormat: z.enum(['qr', 'ean13', 'ean8', 'code128', 'code39', 'upca', 'upce']).optional().describe('Barcode format type'),\n qrErrorCorrection: z.enum(['L', 'M', 'Q', 'H']).optional().describe('QR code error correction level (L=7%, M=15%, Q=25%, H=30%). Only applicable when barcodeFormat is \"qr\"'),\n displayValue: z.boolean().optional().describe('Display human-readable value below barcode/QR code'),\n allowScanning: z.boolean().optional().describe('Enable camera scanning for barcode/QR code input'),\n\n // Currency field config\n currencyConfig: CurrencyConfigSchema.optional().describe('Configuration for currency field type'),\n\n // Vector field config\n vectorConfig: VectorConfigSchema.optional().describe('Configuration for vector field type (AI/ML embeddings)'),\n\n // File attachment field config\n fileAttachmentConfig: FileAttachmentConfigSchema.optional().describe('Configuration for file and attachment field types'),\n\n /** Enhanced Security & Compliance */\n // Encryption configuration\n encryptionConfig: EncryptionConfigSchema.optional().describe('Field-level encryption configuration for sensitive data (GDPR/HIPAA/PCI-DSS)'),\n \n // Data masking rules\n maskingRule: MaskingRuleSchema.optional().describe('Data masking rules for PII protection'),\n \n // Audit trail\n auditTrail: z.boolean().default(false).describe('Enable detailed audit trail for this field (tracks all changes with user and timestamp)'),\n \n /** Field Dependencies & Relationships */\n // Field dependencies\n dependencies: z.array(z.string()).optional().describe('Array of field names that this field depends on (for formulas, visibility rules, etc.)'),\n \n /** Computed Field Optimization */\n // Computed field caching\n cached: ComputedFieldCacheSchema.optional().describe('Caching configuration for computed/formula fields'),\n \n /** Data Quality & Governance */\n // Data quality rules\n dataQuality: DataQualityRulesSchema.optional().describe('Data quality validation and monitoring rules'),\n\n /** Layout & Grouping */\n group: z.string().optional().describe('Field group name for organizing fields in forms and layouts (e.g., \"contact_info\", \"billing\", \"system\")'),\n\n /** Conditional Requirements */\n conditionalRequired: z.string().optional().describe('Formula expression that makes this field required when TRUE (e.g., \"status = \\'closed_won\\'\")'),\n\n /** Security & Visibility */\n hidden: z.boolean().default(false).describe('Hidden from default UI'),\n readonly: z.boolean().default(false).describe('Read-only in UI'),\n sortable: z.boolean().optional().default(true).describe('Whether field is sortable in list views'),\n inlineHelpText: z.string().optional().describe('Help text displayed below the field in forms'),\n trackFeedHistory: z.boolean().optional().describe('Track field changes in Chatter/activity feed (Salesforce pattern)'),\n caseSensitive: z.boolean().optional().describe('Whether text comparisons are case-sensitive'),\n autonumberFormat: z.string().optional().describe('Auto-number display format pattern (e.g., \"CASE-{0000}\")'),\n /** Indexing */\n index: z.boolean().default(false).describe('Create standard database index'),\n externalId: z.boolean().default(false).describe('Is external ID for upsert operations'),\n});\n\nexport type Field = z.infer<typeof FieldSchema>;\nexport type SelectOption = z.infer<typeof SelectOptionSchema>;\nexport type LocationCoordinates = z.infer<typeof LocationCoordinatesSchema>;\nexport type Address = z.infer<typeof AddressSchema>;\nexport type CurrencyConfig = z.infer<typeof CurrencyConfigSchema>;\nexport type CurrencyConfigInput = z.input<typeof CurrencyConfigSchema>;\nexport type CurrencyValue = z.infer<typeof CurrencyValueSchema>;\nexport type VectorConfig = z.infer<typeof VectorConfigSchema>;\nexport type VectorConfigInput = z.input<typeof VectorConfigSchema>;\nexport type FileAttachmentConfig = z.infer<typeof FileAttachmentConfigSchema>;\nexport type FileAttachmentConfigInput = z.input<typeof FileAttachmentConfigSchema>;\nexport type DataQualityRules = z.infer<typeof DataQualityRulesSchema>;\nexport type DataQualityRulesInput = z.input<typeof DataQualityRulesSchema>;\nexport type ComputedFieldCache = z.infer<typeof ComputedFieldCacheSchema>;\n\n/**\n * Field Factory Helper\n */\nexport type FieldInput = Omit<Partial<Field>, 'type'>;\n\nexport const Field = {\n text: (config: FieldInput = {}) => ({ type: 'text', ...config } as const),\n textarea: (config: FieldInput = {}) => ({ type: 'textarea', ...config } as const),\n number: (config: FieldInput = {}) => ({ type: 'number', ...config } as const),\n boolean: (config: FieldInput = {}) => ({ type: 'boolean', ...config } as const),\n date: (config: FieldInput = {}) => ({ type: 'date', ...config } as const),\n datetime: (config: FieldInput = {}) => ({ type: 'datetime', ...config } as const),\n currency: (config: FieldInput = {}) => ({ type: 'currency', ...config } as const),\n percent: (config: FieldInput = {}) => ({ type: 'percent', ...config } as const),\n url: (config: FieldInput = {}) => ({ type: 'url', ...config } as const),\n email: (config: FieldInput = {}) => ({ type: 'email', ...config } as const),\n phone: (config: FieldInput = {}) => ({ type: 'phone', ...config } as const),\n image: (config: FieldInput = {}) => ({ type: 'image', ...config } as const),\n file: (config: FieldInput = {}) => ({ type: 'file', ...config } as const),\n avatar: (config: FieldInput = {}) => ({ type: 'avatar', ...config } as const),\n formula: (config: FieldInput = {}) => ({ type: 'formula', ...config } as const),\n summary: (config: FieldInput = {}) => ({ type: 'summary', ...config } as const),\n autonumber: (config: FieldInput = {}) => ({ type: 'autonumber', ...config } as const),\n markdown: (config: FieldInput = {}) => ({ type: 'markdown', ...config } as const),\n html: (config: FieldInput = {}) => ({ type: 'html', ...config } as const),\n password: (config: FieldInput = {}) => ({ type: 'password', ...config } as const),\n \n /**\n * Select field helper with backward-compatible API\n * \n * Automatically converts option values to lowercase to enforce naming conventions.\n * \n * @example Old API (array first) - auto-converts to lowercase\n * Field.select(['High', 'Low'], { label: 'Priority' })\n * // Results in: [{ label: 'High', value: 'high' }, { label: 'Low', value: 'low' }]\n * \n * @example New API (config object) - enforces lowercase\n * Field.select({ options: [{label: 'High', value: 'high'}], label: 'Priority' })\n * \n * @example Multi-word values - converts to snake_case\n * Field.select(['In Progress', 'Closed Won'], { label: 'Status' })\n * // Results in: [{ label: 'In Progress', value: 'in_progress' }, { label: 'Closed Won', value: 'closed_won' }]\n */\n select: (optionsOrConfig: SelectOption[] | string[] | FieldInput & { options: SelectOption[] | string[] }, config?: FieldInput) => {\n // Helper function to convert string to lowercase snake_case\n const toSnakeCase = (str: string): string => {\n return str\n .toLowerCase()\n .replace(/\\s+/g, '_') // Replace spaces with underscores\n .replace(/[^a-z0-9_]/g, ''); // Remove invalid characters (keeping underscores only)\n };\n\n // Support both old and new signatures:\n // Old: Field.select(['a', 'b'], { label: 'X' })\n // New: Field.select({ options: [{label: 'A', value: 'a'}], label: 'X' })\n let options: SelectOption[];\n let finalConfig: FieldInput;\n \n if (Array.isArray(optionsOrConfig)) {\n // Old signature: array as first param\n options = optionsOrConfig.map(o => \n typeof o === 'string' \n ? { label: o, value: toSnakeCase(o) } // Auto-convert string to snake_case\n : { ...o, value: o.value.toLowerCase() } // Ensure value is lowercase\n );\n finalConfig = config || {};\n } else {\n // New signature: config object with options\n options = (optionsOrConfig.options || []).map(o => \n typeof o === 'string' \n ? { label: o, value: toSnakeCase(o) } // Auto-convert string to snake_case\n : { ...o, value: o.value.toLowerCase() } // Ensure value is lowercase\n );\n // Remove options from config to avoid confusion\n const { options: _, ...restConfig } = optionsOrConfig;\n finalConfig = restConfig;\n }\n \n return { type: 'select', options, ...finalConfig } as const;\n },\n\n \n lookup: (reference: string, config: FieldInput = {}) => ({ \n type: 'lookup', \n reference, \n ...config \n } as const),\n \n masterDetail: (reference: string, config: FieldInput = {}) => ({ \n type: 'master_detail', \n reference, \n ...config \n } as const),\n\n // Enhanced Field Type Helpers\n location: (config: FieldInput = {}) => ({ \n type: 'location', \n ...config \n } as const),\n \n address: (config: FieldInput = {}) => ({ \n type: 'address', \n ...config \n } as const),\n \n richtext: (config: FieldInput = {}) => ({ \n type: 'richtext', \n ...config \n } as const),\n \n code: (language?: string, config: FieldInput = {}) => ({ \n type: 'code', \n language,\n ...config \n } as const),\n \n color: (config: FieldInput = {}) => ({ \n type: 'color', \n ...config \n } as const),\n \n rating: (maxRating: number = 5, config: FieldInput = {}) => ({ \n type: 'rating', \n maxRating,\n ...config \n } as const),\n \n signature: (config: FieldInput = {}) => ({ \n type: 'signature', \n ...config \n } as const),\n \n slider: (config: FieldInput = {}) => ({ \n type: 'slider', \n ...config \n } as const),\n \n qrcode: (config: FieldInput = {}) => ({ \n type: 'qrcode', \n ...config \n } as const),\n \n vector: (dimensions: number, config: FieldInput = {}) => ({ \n type: 'vector', \n vectorConfig: {\n dimensions,\n distanceMetric: 'cosine' as const,\n normalized: false,\n indexed: true,\n ...config.vectorConfig\n },\n ...config \n } as const),\n};\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { FieldType } from '../data/field.zod';\nimport { SnakeCaseIdentifierSchema } from '../shared/identifiers.zod';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.zod';\n\n/**\n * Action Parameter Schema\n * Defines inputs required before executing an action.\n */\nexport const ActionParamSchema = z.object({\n name: z.string(),\n label: I18nLabelSchema,\n type: FieldType,\n required: z.boolean().default(false),\n options: z.array(z.object({ label: I18nLabelSchema, value: z.string() })).optional(),\n});\n\n/**\n * Action type enum values.\n */\nexport const ActionType = z.enum(['script', 'url', 'modal', 'flow', 'api']);\n\n/**\n * Action types that require a `target` field.\n * Derived from ActionType, excluding 'script' which allows inline handlers.\n * These types reference an external resource (URL, flow, modal, or API endpoint)\n * and cannot function without a target binding.\n */\nconst TARGET_REQUIRED_TYPES: ReadonlySet<string> = new Set(\n ActionType.options.filter((t) => t !== 'script'),\n);\n\n/**\n * Action Schema\n * \n * **NAMING CONVENTION:**\n * Action names are machine identifiers used in code and must be lowercase snake_case.\n * \n * **TARGET BINDING:**\n * The `target` field is the canonical way to bind an action to its handler.\n * - `type: 'script'` — `target` is recommended (references a script/function name).\n * - `type: 'url'` — `target` is **required** (the URL to navigate to).\n * - `type: 'flow'` — `target` is **required** (the flow name to invoke).\n * - `type: 'modal'` — `target` is **required** (the modal/page name to open).\n * - `type: 'api'` — `target` is **required** (the API endpoint to call).\n * \n * The `execute` field is **deprecated** and will be removed in a future version.\n * If `execute` is provided without `target`, it is automatically migrated to `target`.\n * \n * @example Good action names\n * - 'on_close_deal'\n * - 'send_welcome_email'\n * - 'approve_contract'\n * - 'export_report'\n * \n * @example Bad action names (will be rejected)\n * - 'OnCloseDeal' (PascalCase)\n * - 'sendEmail' (camelCase)\n * - 'Send Email' (spaces)\n * \n * Note: The action name is the configuration ID. JavaScript function names can use camelCase,\n * but the metadata ID must be lowercase snake_case.\n */\nexport const ActionSchema = z.object({\n /** Machine name of the action */\n name: SnakeCaseIdentifierSchema.describe('Machine name (lowercase snake_case)'),\n \n /** Display label */\n label: I18nLabelSchema.describe('Display label'),\n \n /** Icon name (Lucide) */\n icon: z.string().optional().describe('Icon name'),\n\n /** Where does this action appear? */\n locations: z.array(z.enum([\n 'list_toolbar', 'list_item', \n 'record_header', 'record_more', 'record_related',\n 'global_nav'\n ])).optional().describe('Locations where this action is visible'),\n\n /** \n * Visual Component Type\n * Defaults to 'button' or 'menu_item' based on location,\n * but can be overridden.\n */\n component: z.enum([\n 'action:button', // Standard Button\n 'action:icon', // Icon only\n 'action:menu', // Dropdown menu\n 'action:group' // Button Group\n ]).optional().describe('Visual component override'),\n \n /** What type of interaction? */\n type: ActionType.default('script').describe('Action functionality type'),\n \n /** \n * Payload / Target — the canonical binding for the action handler.\n * Required for url, flow, modal, and api types.\n * Recommended for script type.\n */\n target: z.string().optional().describe('URL, Script Name, Flow ID, or API Endpoint'),\n\n /** \n * @deprecated Use `target` instead. This field is auto-migrated to `target` during parsing.\n */\n execute: z.string().optional().describe('@deprecated — Use target instead. Auto-migrated to target during parsing.'),\n \n /** User Input Requirements */\n params: z.array(ActionParamSchema).optional().describe('Input parameters required from user'),\n \n /** Visual Style */\n variant: z.enum(['primary', 'secondary', 'danger', 'ghost', 'link']).optional().describe('Button visual variant for styling (primary = highlighted, danger = destructive, ghost = transparent)'),\n\n /** UX Behavior */\n confirmText: I18nLabelSchema.optional().describe('Confirmation message before execution'),\n successMessage: I18nLabelSchema.optional().describe('Success message to show after execution'),\n refreshAfter: z.boolean().default(false).describe('Refresh view after execution'),\n \n /** Access */\n visible: z.string().optional().describe('Formula returning boolean'),\n disabled: z.union([z.boolean(), z.string()]).optional().describe('Whether the action is disabled, or a condition expression string'),\n\n /** Keyboard Shortcut */\n shortcut: z.string().optional().describe('Keyboard shortcut to trigger this action (e.g., \"Ctrl+S\")'),\n\n /** Bulk Operations */\n bulkEnabled: z.boolean().optional().describe('Whether this action can be applied to multiple selected records'),\n\n /** Execution */\n timeout: z.number().optional().describe('Maximum execution time in milliseconds for the action'),\n\n /** ARIA accessibility attributes */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n}).transform((data) => {\n // Auto-migrate deprecated `execute` → `target` for backward compatibility\n if (data.execute && !data.target) {\n return { ...data, target: data.execute };\n }\n return data;\n}).refine((data) => {\n // Require `target` for types that reference an external resource\n if (TARGET_REQUIRED_TYPES.has(data.type) && !data.target) {\n return false;\n }\n return true;\n}, {\n message: \"Action 'target' is required when type is 'url', 'flow', 'modal', or 'api'.\",\n path: ['target'],\n});\n\nexport type Action = z.infer<typeof ActionSchema>;\nexport type ActionParam = z.infer<typeof ActionParamSchema>;\nexport type ActionInput = z.input<typeof ActionSchema>;\n\n/**\n * Action Factory Helper\n */\nexport const Action = {\n create: (config: z.input<typeof ActionSchema>): Action => ActionSchema.parse(config),\n} as const;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n// ============================================================================\n// Shared Enumerations\n// ============================================================================\n\n/** Aggregation functions used across query, data-engine, analytics, field */\nexport const AggregationFunctionEnum = z.enum([\n 'count', 'sum', 'avg', 'min', 'max',\n 'count_distinct', 'percentile', 'median', 'stddev', 'variance',\n]).describe('Standard aggregation functions');\nexport type AggregationFunction = z.infer<typeof AggregationFunctionEnum>;\n\n/** Sort direction used across query, data-engine, analytics */\nexport const SortDirectionEnum = z.enum(['asc', 'desc'])\n .describe('Sort order direction');\nexport type SortDirection = z.infer<typeof SortDirectionEnum>;\n\n/** Reusable sort item — field + direction pair used across views, data sources, filters */\nexport const SortItemSchema = z.object({\n field: z.string().describe('Field name to sort by'),\n order: SortDirectionEnum.describe('Sort direction'),\n}).describe('Sort field and direction pair');\nexport type SortItem = z.infer<typeof SortItemSchema>;\n\n/** CRUD mutation events used across hook, validation, object CDC */\nexport const MutationEventEnum = z.enum([\n 'insert', 'update', 'delete', 'upsert',\n]).describe('Data mutation event types');\nexport type MutationEvent = z.infer<typeof MutationEventEnum>;\n\n/** Database isolation levels — unified format */\nexport const IsolationLevelEnum = z.enum([\n 'read_uncommitted', 'read_committed', 'repeatable_read', 'serializable', 'snapshot',\n]).describe('Transaction isolation levels (snake_case standard)');\nexport type IsolationLevel = z.infer<typeof IsolationLevelEnum>;\n\n/** Cache eviction strategies */\nexport const CacheStrategyEnum = z.enum(['lru', 'lfu', 'ttl', 'fifo'])\n .describe('Cache eviction strategy');\nexport type CacheStrategy = z.infer<typeof CacheStrategyEnum>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { SnakeCaseIdentifierSchema } from '../shared/identifiers.zod';\nimport { SortItemSchema } from '../shared/enums.zod';\nimport { FilterConditionSchema } from '../data/filter.zod';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.zod';\nimport { ResponsiveConfigSchema } from './responsive.zod';\nimport {\n UserActionsConfigSchema,\n AppearanceConfigSchema,\n ViewTabSchema,\n ViewFilterRuleSchema,\n AddRecordConfigSchema,\n} from './view.zod';\n\n/**\n * Page Region Schema\n * A named region in the template where components are dropped.\n */\nexport const PageRegionSchema = z.object({\n name: z.string().describe('Region name (e.g. \"sidebar\", \"main\", \"header\")'),\n width: z.enum(['small', 'medium', 'large', 'full']).optional(),\n components: z.array(z.lazy(() => PageComponentSchema)).describe('Components in this region')\n});\n\n/**\n * Standard Page Component Types\n */\nexport const PageComponentType = z.enum([\n // Structure\n 'page:header', 'page:footer', 'page:sidebar', 'page:tabs', 'page:accordion', 'page:card', 'page:section',\n // Record Context\n 'record:details', 'record:highlights', 'record:related_list', 'record:activity', 'record:chatter', 'record:path',\n // Navigation\n 'app:launcher', 'nav:menu', 'nav:breadcrumb',\n // Utility\n 'global:search', 'global:notifications', 'user:profile',\n // AI\n 'ai:chat_window', 'ai:suggestion',\n // Content Elements (Airtable Interface parity)\n 'element:text', 'element:number', 'element:image', 'element:divider',\n // Interactive Elements (Phase B — Element Library)\n 'element:button', 'element:filter', 'element:form', 'element:record_picker'\n]);\n\n/**\n * Element Data Source Schema\n * Per-element data binding for multi-object pages.\n * Overrides page-level object context so each element can query a different object.\n */\nexport const ElementDataSourceSchema = z.object({\n object: z.string().describe('Object to query'),\n view: z.string().optional().describe('Named view to apply'),\n filter: FilterConditionSchema.optional().describe('Additional filter criteria'),\n sort: z.array(SortItemSchema).optional().describe('Sort order'),\n limit: z.number().int().positive().optional().describe('Max records to display'),\n});\n\n/**\n * Page Component Schema\n * A configured instance of a UI component.\n */\nexport const PageComponentSchema = z.object({\n /** Definition */\n type: z.union([\n PageComponentType,\n z.string()\n ]).describe('Component Type (Standard enum or custom string)'),\n id: z.string().optional().describe('Unique instance ID'),\n \n /** Configuration */\n label: I18nLabelSchema.optional(),\n properties: z.record(z.string(), z.unknown()).describe('Component props passed to the widget. See component.zod.ts for schemas.'),\n \n /** \n * Event Handlers \n * Map event names to Action expressions.\n * \"onClick\": \"set_variable('userId', $event.id)\"\n * \"onRowSelect\": \"navigate_to('page_detail', { id: $event.id })\"\n */\n events: z.record(z.string(), z.string()).optional().describe('Event handlers map'),\n\n /** Appearance */\n style: z.record(z.string(), z.string()).optional().describe('Inline styles or utility classes'),\n className: z.string().optional().describe('CSS class names'),\n\n /** Visibility Rule */\n visibility: z.string().optional().describe('Visibility filter/formula'),\n\n /** Per-element data binding, overrides page-level object context */\n dataSource: ElementDataSourceSchema.optional().describe('Per-element data binding for multi-object pages'),\n\n /** Responsive layout overrides per breakpoint */\n responsive: ResponsiveConfigSchema.optional().describe('Responsive layout configuration'),\n\n /** ARIA accessibility attributes */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\n/**\n * Page Variable Schema\n * Defines local state for the page.\n * Variables can be bound to interactive elements (e.g. element:record_picker, element:filter).\n */\nexport const PageVariableSchema = z.object({\n name: z.string().describe('Variable name'),\n type: z.enum(['string', 'number', 'boolean', 'object', 'array', 'record_id']).default('string'),\n defaultValue: z.unknown().optional(),\n /** Source element binding (e.g. element:record_picker writes to this variable) */\n source: z.string().optional().describe('Component ID that writes to this variable'),\n});\n\n/**\n * Blank Page Layout Item Schema\n * Positions a component on a free-form grid canvas.\n */\nexport const BlankPageLayoutItemSchema = z.object({\n componentId: z.string().describe('Reference to a PageComponent.id in the page'),\n x: z.number().int().min(0).describe('Grid column position (0-based)'),\n y: z.number().int().min(0).describe('Grid row position (0-based)'),\n width: z.number().int().min(1).describe('Width in grid columns'),\n height: z.number().int().min(1).describe('Height in grid rows'),\n});\n\n/**\n * Blank Page Layout Schema\n * Free-form canvas composition with grid-based positioning.\n * Used when page type is 'blank' to enable drag-and-drop element placement.\n */\nexport const BlankPageLayoutSchema = z.object({\n columns: z.number().int().min(1).default(12).describe('Number of grid columns'),\n rowHeight: z.number().int().min(1).default(40).describe('Height of each grid row in pixels'),\n gap: z.number().int().min(0).default(8).describe('Gap between grid items in pixels'),\n items: z.array(BlankPageLayoutItemSchema).describe('Positioned components on the canvas'),\n});\n\n/**\n * Page Type Schema\n * Unified page type enum covering both platform pages (Salesforce FlexiPage style)\n * and Airtable-inspired interface page types.\n *\n * **Disambiguation of similar types:**\n * - `record` vs `record_detail`: `record` is a component-based layout page (FlexiPage style with regions),\n * `record_detail` is a field-display page showing all fields of a single record (Airtable style).\n * Use `record` for custom record pages with regions/components, `record_detail` for auto-generated detail views.\n * - `home` vs `overview`: `home` is the platform-level landing page (tab landing),\n * `overview` is an interface-level navigation hub with links/instructions.\n * Use `home` for app-level landing, `overview` for in-interface navigation hubs.\n * - `app` vs `utility` vs `blank`: `app` is an app-level page with navigation context,\n * `utility` is a floating utility panel (e.g. notes, phone), `blank` is a free-form canvas\n * for custom composition. They serve distinct layout purposes.\n */\nexport const PageTypeSchema = z.enum([\n // Platform page types (Salesforce FlexiPage style)\n 'record', // Component-based record layout page with regions\n 'home', // Platform-level home/landing page\n 'app', // App-level page with navigation context\n 'utility', // Floating utility panel (e.g. notes, phone dialer)\n // Interface page types (Airtable Interface parity)\n 'dashboard', // KPI summary with charts/metrics\n 'grid', // Spreadsheet-like data table\n 'list', // Record list with quick actions\n 'gallery', // Card-based visual browsing\n 'kanban', // Status-based board\n 'calendar', // Date-based scheduling\n 'timeline', // Gantt-like project timeline\n 'form', // Data entry form\n 'record_detail', // Auto-generated single record field display\n 'record_review', // Sequential record review/approval\n 'overview', // Interface-level navigation/landing hub\n 'blank', // Free-form canvas for custom composition\n]).describe('Page type — platform or interface page types');\n\n/**\n * Record Review Config Schema\n * Configuration for a sequential record review/approval page.\n * Users navigate through records one-by-one, taking actions (approve/reject/skip).\n * Only applicable when page type is 'record_review'.\n */\nexport const RecordReviewConfigSchema = z.object({\n object: z.string().describe('Target object for review'),\n filter: FilterConditionSchema.optional().describe('Filter criteria for review queue'),\n sort: z.array(SortItemSchema).optional().describe('Sort order for review queue'),\n displayFields: z.array(z.string()).optional()\n .describe('Fields to display on the review page'),\n actions: z.array(z.object({\n label: z.string().describe('Action button label'),\n type: z.enum(['approve', 'reject', 'skip', 'custom'])\n .describe('Action type'),\n field: z.string().optional()\n .describe('Field to update on action'),\n value: z.union([z.string(), z.number(), z.boolean()]).optional()\n .describe('Value to set on action'),\n nextRecord: z.boolean().optional().default(true)\n .describe('Auto-advance to next record after action'),\n })).describe('Review actions'),\n navigation: z.enum(['sequential', 'random', 'filtered'])\n .optional().default('sequential')\n .describe('Record navigation mode'),\n showProgress: z.boolean().optional().default(true)\n .describe('Show review progress indicator'),\n});\n\n/**\n * Interface Page Configuration Schema (Airtable Interface parity)\n * Page-level declarative configuration for Airtable-style interface pages.\n * Covers title/data binding, levels, filter by, appearance, user actions,\n * tabs, record count, add record, and advanced options (printing).\n *\n * @see Airtable Interface → right panel (Page / Data / Appearance / User filters / User actions / Advanced)\n */\nexport const InterfacePageConfigSchema = z.object({\n /** Data binding */\n source: z.string().optional().describe('Source object name for the page'),\n levels: z.number().int().min(1).optional().describe('Number of hierarchy levels to display'),\n filterBy: z.array(ViewFilterRuleSchema).optional().describe('Page-level filter criteria'),\n\n /** Appearance */\n appearance: AppearanceConfigSchema.optional().describe('Appearance and visualization configuration'),\n\n /** User filters */\n userFilters: z.object({\n elements: z.array(z.enum(['grid', 'gallery', 'kanban'])).optional()\n .describe('Visualization element types available in user filter bar'),\n tabs: z.array(ViewTabSchema).optional().describe('User-configurable tabs'),\n }).optional().describe('User filter configuration'),\n\n /** User actions */\n userActions: UserActionsConfigSchema.optional().describe('User action toggles'),\n\n /** Add record */\n addRecord: AddRecordConfigSchema.optional().describe('Add record entry point configuration'),\n\n /** Record count */\n showRecordCount: z.boolean().optional().describe('Show record count at page bottom'),\n\n /** Advanced */\n allowPrinting: z.boolean().optional().describe('Allow users to print the page'),\n}).describe('Interface-level page configuration (Airtable parity)');\n\n/**\n * Page Schema\n * Defines a composition of components for a specific context.\n * Supports both platform pages (Salesforce FlexiPage style: record, home, app, utility)\n * and interface pages (Airtable Interface style: dashboard, grid, kanban, record_review, etc.).\n * \n * **NAMING CONVENTION:**\n * Page names are used in routing and must be lowercase snake_case.\n * Prefix with 'page_' is recommended for clarity.\n * \n * @example Good page names\n * - 'page_dashboard'\n * - 'page_settings'\n * - 'home_page'\n * - 'record_detail'\n * \n * @example Bad page names (will be rejected)\n * - 'PageDashboard' (PascalCase)\n * - 'Settings Page' (spaces)\n */\nexport const PageSchema = z.object({\n name: SnakeCaseIdentifierSchema.describe('Page unique name (lowercase snake_case)'),\n label: I18nLabelSchema,\n description: I18nLabelSchema.optional(),\n\n /** Icon (used in interface navigation) */\n icon: z.string().optional().describe('Page icon name'),\n \n /** Page Type */\n type: PageTypeSchema.default('record').describe('Page type'),\n \n /** Page State Definitions */\n variables: z.array(PageVariableSchema).optional().describe('Local page state variables'),\n\n /** Context */\n object: z.string().optional().describe('Bound object (for Record pages)'),\n\n /** Record Review Configuration (only for record_review pages) */\n recordReview: RecordReviewConfigSchema.optional()\n .describe('Record review configuration (required when type is \"record_review\")'),\n\n /** Blank Page Layout (only for blank pages) */\n blankLayout: BlankPageLayoutSchema.optional()\n .describe('Free-form grid layout for blank pages (used when type is \"blank\")'),\n \n /** Layout Template */\n template: z.string().default('default').describe('Layout template name (e.g. \"header-sidebar-main\")'),\n \n /** Regions & Content */\n regions: z.array(PageRegionSchema).describe('Defined regions with components'),\n \n /** Activation */\n isDefault: z.boolean().default(false),\n assignedProfiles: z.array(z.string()).optional(),\n\n /** Interface Page Configuration (Airtable Interface parity) */\n interfaceConfig: InterfacePageConfigSchema.optional()\n .describe('Interface-level page configuration (for Airtable-style interface pages)'),\n\n /** ARIA accessibility attributes */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n}).superRefine((data, ctx) => {\n if (data.type === 'record_review' && !data.recordReview) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['recordReview'],\n message: 'recordReview is required when type is \"record_review\"',\n });\n }\n if (data.type === 'blank' && !data.blankLayout) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['blankLayout'],\n message: 'blankLayout is required when type is \"blank\"',\n });\n }\n});\n\nexport type Page = z.infer<typeof PageSchema>;\nexport type PageType = z.infer<typeof PageTypeSchema>;\nexport type PageComponent = z.infer<typeof PageComponentSchema>;\nexport type PageRegion = z.infer<typeof PageRegionSchema>;\nexport type PageVariable = z.infer<typeof PageVariableSchema>;\nexport type ElementDataSource = z.infer<typeof ElementDataSourceSchema>;\nexport type RecordReviewConfig = z.infer<typeof RecordReviewConfigSchema>;\nexport type BlankPageLayoutItem = z.infer<typeof BlankPageLayoutItemSchema>;\nexport type BlankPageLayout = z.infer<typeof BlankPageLayoutSchema>;\nexport type InterfacePageConfig = z.infer<typeof InterfacePageConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { FieldSchema } from '../data/field.zod';\nimport { SnakeCaseIdentifierSchema } from '../shared/identifiers.zod';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.zod';\nimport { PerformanceConfigSchema } from './responsive.zod';\n\n/**\n * Widget Lifecycle Hooks Schema\n * \n * Defines lifecycle callbacks for custom widgets inspired by Web Components and React.\n * These hooks allow widgets to perform initialization, cleanup, and respond to changes.\n * \n * @see https://developer.mozilla.org/en-US/docs/Web/API/Web_components\n * @see https://react.dev/reference/react/Component#component-lifecycle\n * \n * @example\n * ```typescript\n * const widget = {\n * lifecycle: {\n * onMount: \"console.log('Widget mounted')\",\n * onUpdate: \"if (prevProps.value !== props.value) { updateUI() }\",\n * onUnmount: \"cleanup()\",\n * onValidate: \"return value.length > 0 ? null : 'Required field'\"\n * }\n * }\n * ```\n */\nexport const WidgetLifecycleSchema = z.object({\n /**\n * Called when widget is mounted/rendered for the first time\n * Use for initialization, setting up event listeners, loading data, etc.\n * \n * @example \"initializeDatePicker(); loadOptions();\"\n */\n onMount: z.string().optional().describe('Initialization code when widget mounts'),\n\n /**\n * Called when widget props change\n * Receives previous props for comparison\n * \n * @example \"if (prevProps.value !== props.value) { updateDisplay() }\"\n */\n onUpdate: z.string().optional().describe('Code to run when props change'),\n\n /**\n * Called when widget is about to be removed from DOM\n * Use for cleanup, removing event listeners, canceling timers, etc.\n * \n * @example \"destroyDatePicker(); cancelPendingRequests();\"\n */\n onUnmount: z.string().optional().describe('Cleanup code when widget unmounts'),\n\n /**\n * Custom validation logic for this widget\n * Should return error message string if invalid, null/undefined if valid\n * \n * @example \"return value && value.length >= 10 ? null : 'Minimum 10 characters'\"\n */\n onValidate: z.string().optional().describe('Custom validation logic'),\n\n /**\n * Called when widget receives focus\n * \n * @example \"highlightField(); logFocusEvent();\"\n */\n onFocus: z.string().optional().describe('Code to run on focus'),\n\n /**\n * Called when widget loses focus\n * \n * @example \"validateField(); saveFieldState();\"\n */\n onBlur: z.string().optional().describe('Code to run on blur'),\n\n /**\n * Called on any error in the widget\n * \n * @example \"logError(error); showErrorNotification();\"\n */\n onError: z.string().optional().describe('Error handling code'),\n});\n\nexport type WidgetLifecycle = z.infer<typeof WidgetLifecycleSchema>;\n\n/**\n * Widget Event Schema\n * \n * Defines custom events that widgets can emit, inspired by DOM Events and Lightning Web Components.\n * \n * @see https://developer.mozilla.org/en-US/docs/Web/Events/Creating_and_triggering_events\n * @see https://developer.salesforce.com/docs/component-library/documentation/en/lwc/lwc.events\n * \n * @example\n * ```typescript\n * const searchEvent = {\n * name: 'search',\n * bubbles: true,\n * cancelable: false,\n * payload: {\n * query: 'string',\n * filters: 'object'\n * }\n * }\n * ```\n */\nexport const WidgetEventSchema = z.object({\n /**\n * Event name\n * Should be lowercase, dash-separated for consistency\n * \n * @example \"value-change\", \"item-selected\", \"search-complete\"\n */\n name: z.string().describe('Event name'),\n\n /**\n * Event label for documentation\n */\n label: I18nLabelSchema.optional().describe('Human-readable event label'),\n\n /**\n * Event description\n */\n description: I18nLabelSchema.optional().describe('Event description and usage'),\n\n /**\n * Whether event bubbles up through the DOM hierarchy\n * \n * @default false\n */\n bubbles: z.boolean().default(false).describe('Whether event bubbles'),\n\n /**\n * Whether event can be cancelled\n * \n * @default false\n */\n cancelable: z.boolean().default(false).describe('Whether event is cancelable'),\n\n /**\n * Event payload schema\n * Defines the data structure sent with the event\n * \n * @example { userId: 'string', timestamp: 'number' }\n */\n payload: z.record(z.string(), z.unknown()).optional().describe('Event payload schema'),\n});\n\nexport type WidgetEvent = z.infer<typeof WidgetEventSchema>;\n\n/**\n * Widget Property Definition Schema\n * \n * Defines the contract for widget configuration properties.\n * Inspired by React PropTypes and Web Component attributes.\n * \n * @see https://react.dev/reference/react/Component#static-proptypes\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements\n * \n * @example\n * ```typescript\n * const widgetProps = {\n * maxLength: {\n * type: 'number',\n * required: false,\n * default: 100,\n * description: 'Maximum input length'\n * }\n * }\n * ```\n */\nexport const WidgetPropertySchema = z.object({\n /**\n * Property name\n * Should be camelCase following ObjectStack conventions\n */\n name: z.string().describe('Property name (camelCase)'),\n\n /**\n * Property label for UI\n */\n label: I18nLabelSchema.optional().describe('Human-readable label'),\n\n /**\n * Property data type\n * \n * @example \"string\", \"number\", \"boolean\", \"array\", \"object\", \"function\"\n */\n type: z.enum(['string', 'number', 'boolean', 'array', 'object', 'function', 'any'])\n .describe('TypeScript type'),\n\n /**\n * Whether property is required\n * \n * @default false\n */\n required: z.boolean().default(false).describe('Whether property is required'),\n\n /**\n * Default value for the property\n */\n default: z.unknown().optional().describe('Default value'),\n\n /**\n * Property description\n */\n description: I18nLabelSchema.optional().describe('Property description'),\n\n /**\n * Property validation schema\n * Can include min/max, regex, enum values, etc.\n */\n validation: z.record(z.string(), z.unknown()).optional().describe('Validation rules'),\n\n /**\n * Property category for grouping in UI\n */\n category: z.string().optional().describe('Property category'),\n});\n\nexport type WidgetProperty = z.infer<typeof WidgetPropertySchema>;\n\n/**\n * Widget Manifest Schema\n * \n * Complete definition for a custom widget including metadata, lifecycle, events, and props.\n * This is used for widget registration and discovery.\n * \n * @example\n * ```typescript\n * const customWidget = {\n * name: 'custom_date_picker',\n * label: 'Custom Date Picker',\n * version: '1.0.0',\n * author: 'Company Name',\n * fieldTypes: ['date', 'datetime'],\n * lifecycle: { ... },\n * events: [ ... ],\n * properties: [ ... ]\n * }\n * ```\n */\n/**\n * Widget Source Schema\n * Defines how the widget code is loaded.\n */\nexport const WidgetSourceSchema = z.discriminatedUnion('type', [\n // NPM Registry (standard)\n z.object({\n type: z.literal('npm'),\n packageName: z.string().describe('NPM package name'),\n version: z.string().default('latest'),\n exportName: z.string().optional().describe('Named export (default: default)'),\n }),\n // Module Federation (Remote)\n z.object({\n type: z.literal('remote'),\n url: z.string().url().describe('Remote entry URL (.js)'),\n moduleName: z.string().describe('Exposed module name'),\n scope: z.string().describe('Remote scope name'),\n }),\n // Inline Code (Simple scripts)\n z.object({\n type: z.literal('inline'),\n code: z.string().describe('JavaScript code body'),\n }),\n]);\n\nexport type WidgetSource = z.infer<typeof WidgetSourceSchema>;\n\nexport const WidgetManifestSchema = z.object({\n /**\n * Widget identifier (snake_case)\n */\n name: SnakeCaseIdentifierSchema\n .describe('Widget identifier (snake_case)'),\n\n /**\n * Human-readable widget name\n */\n label: I18nLabelSchema.describe('Widget display name'),\n\n /**\n * Widget description\n */\n description: I18nLabelSchema.optional().describe('Widget description'),\n\n /**\n * Widget version (semver)\n */\n version: z.string().optional().describe('Widget version (semver)'),\n\n /**\n * Widget author/organization\n */\n author: z.string().optional().describe('Widget author'),\n\n /**\n * Icon name or URL\n */\n icon: z.string().optional().describe('Widget icon'),\n\n /**\n * Field types this widget supports\n * \n * @example [\"text\", \"email\", \"url\"]\n */\n fieldTypes: z.array(z.string()).optional().describe('Supported field types'),\n\n /**\n * Widget category for organization\n */\n category: z.enum(['input', 'display', 'picker', 'editor', 'custom'])\n .default('custom')\n .describe('Widget category'),\n\n /**\n * Widget lifecycle hooks\n */\n lifecycle: WidgetLifecycleSchema.optional().describe('Lifecycle hooks'),\n\n /**\n * Custom events this widget emits\n */\n events: z.array(WidgetEventSchema).optional().describe('Custom events'),\n\n /**\n * Widget configuration properties\n */\n properties: z.array(WidgetPropertySchema).optional().describe('Configuration properties'),\n\n /**\n * Widget implementation\n * Defines how to load the widget code\n */\n implementation: WidgetSourceSchema.optional().describe('Widget implementation source'),\n\n /**\n * Widget dependencies\n * External libraries or scripts needed\n */\n dependencies: z.array(z.object({\n name: z.string(),\n version: z.string().optional(),\n url: z.string().url().optional(),\n })).optional().describe('Widget dependencies'),\n\n /**\n * Widget screenshots for showcase\n */\n screenshots: z.array(z.string().url()).optional().describe('Screenshot URLs'),\n\n /**\n * Widget documentation URL\n */\n documentation: z.string().url().optional().describe('Documentation URL'),\n\n /**\n * License information\n */\n license: z.string().optional().describe('License (SPDX identifier)'),\n\n /**\n * Tags for discovery\n */\n tags: z.array(z.string()).optional().describe('Tags for categorization'),\n\n /** ARIA accessibility attributes */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n\n /** Performance optimization settings */\n performance: PerformanceConfigSchema.optional().describe('Performance optimization settings'),\n});\n\nexport type WidgetManifest = z.infer<typeof WidgetManifestSchema>;\n\n/**\n * Field Widget Props Schema\n * \n * This defines the contract for custom field components and plugin UI extensions.\n * Third-party developers use this interface to build custom field widgets that integrate\n * seamlessly with the ObjectStack UI system.\n * \n * @example\n * // Custom widget implementation\n * function CustomDatePicker(props: FieldWidgetProps) {\n * const { value, onChange, readonly, required, error, field, record, options } = props;\n * // Widget implementation...\n * }\n */\nexport const FieldWidgetPropsSchema = z.object({\n /**\n * Current field value.\n * Type depends on the field type (string, number, boolean, array, object, etc.)\n */\n value: z.unknown().describe('Current field value'),\n\n /**\n * Callback function to update the field value.\n * Should be called when user interaction changes the value.\n * \n * @param newValue - The new value to set\n */\n onChange: z.function()\n .input(z.tuple([z.unknown()]))\n .output(z.void())\n .describe('Callback to update field value'),\n\n /**\n * Whether the field is in read-only mode.\n * When true, the widget should display the value but not allow editing.\n */\n readonly: z.boolean().default(false).describe('Read-only mode flag'),\n\n /**\n * Whether the field is required.\n * Widget should indicate required state visually and validate accordingly.\n */\n required: z.boolean().default(false).describe('Required field flag'),\n\n /**\n * Validation error message to display.\n * When present, widget should display the error in its UI.\n */\n error: z.string().optional().describe('Validation error message'),\n\n /**\n * Complete field definition from the schema.\n * Contains metadata like type, constraints, options, etc.\n */\n field: FieldSchema.describe('Field schema definition'),\n\n /**\n * The complete record/document being edited.\n * Useful for conditional logic and cross-field dependencies.\n */\n record: z.record(z.string(), z.unknown()).optional().describe('Complete record data'),\n\n /**\n * Custom options passed to the widget.\n * Can contain widget-specific configuration like themes, behaviors, etc.\n */\n options: z.record(z.string(), z.unknown()).optional().describe('Custom widget options'),\n});\n\n/**\n * TypeScript type for Field Widget Props\n */\nexport type FieldWidgetProps = z.infer<typeof FieldWidgetPropsSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Feed Item Type\n * Unified activity types for the record timeline.\n * Covers comments, field changes, tasks, events, and system activities.\n */\nexport const FeedItemType = z.enum([\n 'comment',\n 'field_change',\n 'task',\n 'event',\n 'email',\n 'call',\n 'note',\n 'file',\n 'record_create',\n 'record_delete',\n 'approval',\n 'sharing',\n 'system',\n]);\nexport type FeedItemType = z.infer<typeof FeedItemType>;\n\n/**\n * Mention Schema\n * Represents an @mention within comment body text.\n */\nexport const MentionSchema = z.object({\n type: z.enum(['user', 'team', 'record']).describe('Mention target type'),\n id: z.string().describe('Target ID'),\n name: z.string().describe('Display name for rendering'),\n offset: z.number().int().min(0).describe('Character offset in body text'),\n length: z.number().int().min(1).describe('Length of mention token in body text'),\n});\nexport type Mention = z.infer<typeof MentionSchema>;\n\n/**\n * Field Change Entry Schema\n * Represents a single field-level change within a field_change feed item.\n */\nexport const FieldChangeEntrySchema = z.object({\n field: z.string().describe('Field machine name'),\n fieldLabel: z.string().optional().describe('Field display label'),\n oldValue: z.unknown().optional().describe('Previous value'),\n newValue: z.unknown().optional().describe('New value'),\n oldDisplayValue: z.string().optional().describe('Human-readable old value'),\n newDisplayValue: z.string().optional().describe('Human-readable new value'),\n});\nexport type FieldChangeEntry = z.infer<typeof FieldChangeEntrySchema>;\n\n/**\n * Reaction Schema\n * Represents an emoji reaction on a feed item.\n */\nexport const ReactionSchema = z.object({\n emoji: z.string().describe('Emoji character or shortcode (e.g., \"👍\", \":thumbsup:\")'),\n userIds: z.array(z.string()).describe('Users who reacted'),\n count: z.number().int().min(1).describe('Total reaction count'),\n});\nexport type Reaction = z.infer<typeof ReactionSchema>;\n\n/**\n * Feed Actor Schema\n * Represents the actor who performed the action.\n */\nexport const FeedActorSchema = z.object({\n type: z.enum(['user', 'system', 'service', 'automation']).describe('Actor type'),\n id: z.string().describe('Actor ID'),\n name: z.string().optional().describe('Actor display name'),\n avatarUrl: z.string().url().optional().describe('Actor avatar URL'),\n source: z.string().optional().describe('Source application (e.g., \"Omni\", \"API\", \"Studio\")'),\n});\nexport type FeedActor = z.infer<typeof FeedActorSchema>;\n\n/**\n * Feed Item Visibility\n */\nexport const FeedVisibility = z.enum(['public', 'internal', 'private']);\nexport type FeedVisibility = z.infer<typeof FeedVisibility>;\n\n/**\n * Feed Item Schema\n * A single entry in the unified activity timeline.\n *\n * @example Comment\n * {\n * id: 'feed_001',\n * type: 'comment',\n * object: 'account',\n * recordId: 'rec_123',\n * body: 'Great progress! @jane.doe can you follow up?',\n * mentions: [{ type: 'user', id: 'user_123', name: 'Jane Doe', offset: 17, length: 9 }],\n * actor: { type: 'user', id: 'user_456', name: 'John Smith' },\n * createdAt: '2026-01-15T10:30:00Z',\n * }\n *\n * @example Field Change\n * {\n * id: 'feed_002',\n * type: 'field_change',\n * object: 'account',\n * recordId: 'rec_123',\n * changes: [\n * { field: 'status', oldDisplayValue: 'New', newDisplayValue: 'Active' },\n * { field: 'region', oldDisplayValue: '', newDisplayValue: 'Asia-Pacific' },\n * ],\n * actor: { type: 'user', id: 'user_456', name: 'John Smith' },\n * createdAt: '2026-01-15T10:25:00Z',\n * }\n */\nexport const FeedItemSchema = z.object({\n /** Unique identifier */\n id: z.string().describe('Feed item ID'),\n\n /** Feed item type */\n type: FeedItemType.describe('Activity type'),\n\n /** Target record reference */\n object: z.string().describe('Object name (e.g., \"account\")'),\n recordId: z.string().describe('Record ID this feed item belongs to'),\n\n /** Actor (who performed the action) */\n actor: FeedActorSchema.describe('Who performed this action'),\n\n /** Content (for comments/notes) */\n body: z.string().optional().describe('Rich text body (Markdown supported)'),\n\n /** @Mentions */\n mentions: z.array(MentionSchema).optional().describe('Mentioned users/teams/records'),\n\n /** Field changes (for field_change type) */\n changes: z.array(FieldChangeEntrySchema).optional().describe('Field-level changes'),\n\n /** Reactions */\n reactions: z.array(ReactionSchema).optional().describe('Emoji reactions on this item'),\n\n /** Reply threading */\n parentId: z.string().optional().describe('Parent feed item ID for threaded replies'),\n replyCount: z.number().int().min(0).default(0).describe('Number of replies'),\n\n /** Pin / Star */\n pinned: z.boolean().default(false).describe('Whether the feed item is pinned to the top of the timeline'),\n pinnedAt: z.string().datetime().optional().describe('Timestamp when the item was pinned'),\n pinnedBy: z.string().optional().describe('User ID who pinned the item'),\n starred: z.boolean().default(false).describe('Whether the feed item is starred/bookmarked by the current user'),\n starredAt: z.string().datetime().optional().describe('Timestamp when the item was starred'),\n\n /** Visibility */\n visibility: FeedVisibility.default('public')\n .describe('Visibility: public (all users), internal (team only), private (author + mentioned)'),\n\n /** Timestamps */\n createdAt: z.string().datetime().describe('Creation timestamp'),\n updatedAt: z.string().datetime().optional().describe('Last update timestamp'),\n editedAt: z.string().datetime().optional().describe('When comment was last edited'),\n isEdited: z.boolean().default(false).describe('Whether comment has been edited'),\n});\nexport type FeedItem = z.infer<typeof FeedItemSchema>;\n\n/**\n * Feed Filter Mode\n * Controls which feed item types to display in the timeline.\n */\nexport const FeedFilterMode = z.enum([\n 'all',\n 'comments_only',\n 'changes_only',\n 'tasks_only',\n]);\nexport type FeedFilterMode = z.infer<typeof FeedFilterMode>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { FilterConditionSchema } from '../data/filter.zod';\nimport { ViewFilterRuleSchema } from './view.zod';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.zod';\nimport { FeedItemType, FeedFilterMode } from '../data/feed.zod';\n\n/**\n * Empty Properties Schema\n */\nconst EmptyProps = z.object({});\n\n/**\n * ----------------------------------------------------------------------\n * 1. Structure Components\n * ----------------------------------------------------------------------\n */\n\nexport const PageHeaderProps = z.object({\n title: I18nLabelSchema.describe('Page title'),\n subtitle: I18nLabelSchema.optional().describe('Page subtitle'),\n icon: z.string().optional().describe('Icon name'),\n breadcrumb: z.boolean().default(true).describe('Show breadcrumb'),\n actions: z.array(z.string()).optional().describe('Action IDs to show in header'),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\nexport const PageTabsProps = z.object({\n type: z.enum(['line', 'card', 'pill']).default('line'),\n position: z.enum(['top', 'left']).default('top'),\n items: z.array(z.object({\n label: I18nLabelSchema,\n icon: z.string().optional(),\n children: z.array(z.unknown()).describe('Child components')\n })),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\nexport const PageCardProps = z.object({\n title: I18nLabelSchema.optional(),\n bordered: z.boolean().default(true),\n actions: z.array(z.string()).optional(),\n /** Slot for nested content in the Card body */\n body: z.array(z.unknown()).optional().describe('Card content components (slot)'),\n /** Slot for footer content */\n footer: z.array(z.unknown()).optional().describe('Card footer components (slot)'),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\n/**\n * ----------------------------------------------------------------------\n * 2. Record Context Components\n * ----------------------------------------------------------------------\n */\n\nexport const RecordDetailsProps = z.object({\n columns: z.enum(['1', '2', '3', '4']).default('2').describe('Number of columns for field layout (1-4)'),\n layout: z.enum(['auto', 'custom']).default('auto').describe('Layout mode: auto uses object compactLayout, custom uses explicit sections'),\n sections: z.array(z.string()).optional().describe('Section IDs to show (required when layout is \"custom\")'),\n fields: z.array(z.string()).optional().describe('Explicit field list to display (optional, overrides compactLayout)'),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\nexport const RecordRelatedListProps = z.object({\n objectName: z.string().describe('Related object name (e.g., \"task\", \"opportunity\")'),\n relationshipField: z.string().describe('Field on related object that points to this record (e.g., \"account_id\")'),\n columns: z.array(z.string()).describe('Fields to display in the related list'),\n sort: z.union([\n z.string(),\n z.array(z.object({\n field: z.string(),\n order: z.enum(['asc', 'desc'])\n }))\n ]).optional().describe('Sort order for related records'),\n limit: z.number().int().positive().default(5).describe('Number of records to display initially'),\n filter: z.array(ViewFilterRuleSchema).optional().describe('Additional filter criteria for related records'),\n title: I18nLabelSchema.optional().describe('Custom title for the related list'),\n showViewAll: z.boolean().default(true).describe('Show \"View All\" link to see all related records'),\n actions: z.array(z.string()).optional().describe('Action IDs available for related records'),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\nexport const RecordHighlightsProps = z.object({\n fields: z.array(z.string()).min(1).max(7).describe('Key fields to highlight (1-7 fields max, typically displayed as prominent cards)'),\n layout: z.enum(['horizontal', 'vertical']).default('horizontal').describe('Layout orientation for highlight fields'),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\nexport const RecordActivityProps = z.object({\n /** Activity types to display (unified enum including comment, field_change, etc.) */\n types: z.array(FeedItemType).optional().describe('Feed item types to show (default: all)'),\n /** Default filter mode (Airtable-style dropdown) */\n filterMode: FeedFilterMode.default('all').describe('Default activity filter'),\n /** Allow user to switch filter modes */\n showFilterToggle: z.boolean().default(true).describe('Show filter dropdown in panel header'),\n /** Pagination */\n limit: z.number().int().positive().default(20).describe('Number of items to load per page'),\n /** Show completed activities */\n showCompleted: z.boolean().default(false).describe('Include completed activities'),\n /** Merge field_change + comment in a unified timeline */\n unifiedTimeline: z.boolean().default(true).describe('Mix field changes and comments in one timeline (Airtable style)'),\n /** Show the comment input box at the bottom */\n showCommentInput: z.boolean().default(true).describe('Show \"Leave a comment\" input at the bottom'),\n /** Enable @mentions in comments */\n enableMentions: z.boolean().default(true).describe('Enable @mentions in comments'),\n /** Enable emoji reactions */\n enableReactions: z.boolean().default(false).describe('Enable emoji reactions on feed items'),\n /** Enable threaded replies */\n enableThreading: z.boolean().default(false).describe('Enable threaded replies on comments'),\n /** Show notification subscription toggle (bell icon) */\n showSubscriptionToggle: z.boolean().default(true).describe('Show bell icon for record-level notification subscription'),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\nexport const RecordChatterProps = z.object({\n /** Panel position */\n position: z.enum(['sidebar', 'inline', 'drawer']).default('sidebar').describe('Where to render the chatter panel'),\n /** Panel width (for sidebar/drawer) */\n width: z.union([z.string(), z.number()]).optional().describe('Panel width (e.g., \"350px\", \"30%\")'),\n /** Collapsible */\n collapsible: z.boolean().default(true).describe('Whether the panel can be collapsed'),\n /** Default collapsed state */\n defaultCollapsed: z.boolean().default(false).describe('Whether the panel starts collapsed'),\n /** Feed configuration (delegates to RecordActivityProps) */\n feed: RecordActivityProps.optional().describe('Embedded activity feed configuration'),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\nexport const RecordPathProps = z.object({\n statusField: z.string().describe('Field name representing the current status/stage'),\n stages: z.array(z.object({\n value: z.string(),\n label: I18nLabelSchema,\n })).optional().describe('Explicit stage definitions (if not using field metadata)'),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\nexport const PageAccordionProps = z.object({\n items: z.array(z.object({\n label: I18nLabelSchema,\n icon: z.string().optional(),\n collapsed: z.boolean().default(false),\n children: z.array(z.unknown()).describe('Child components'),\n })),\n allowMultiple: z.boolean().default(false).describe('Allow multiple panels to be expanded simultaneously'),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\nexport const AIChatWindowProps = z.object({\n mode: z.enum(['float', 'sidebar', 'inline']).default('float').describe('Display mode for the chat window'),\n agentId: z.string().optional().describe('Specific AI agent to use'),\n context: z.record(z.string(), z.unknown()).optional().describe('Contextual data to pass to the AI'),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\n/**\n * ----------------------------------------------------------------------\n * 3. Content Element Components (Airtable Interface Parity)\n * ----------------------------------------------------------------------\n */\n\nexport const ElementTextPropsSchema = z.object({\n content: z.string().describe('Text or Markdown content'),\n variant: z.enum(['heading', 'subheading', 'body', 'caption'])\n .optional().default('body').describe('Text style variant'),\n align: z.enum(['left', 'center', 'right'])\n .optional().default('left').describe('Text alignment'),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\nexport const ElementNumberPropsSchema = z.object({\n object: z.string().describe('Source object'),\n field: z.string().optional().describe('Field to aggregate'),\n aggregate: z.enum(['count', 'sum', 'avg', 'min', 'max'])\n .describe('Aggregation function'),\n filter: FilterConditionSchema.optional().describe('Filter criteria'),\n format: z.enum(['number', 'currency', 'percent']).optional().describe('Number display format'),\n prefix: z.string().optional().describe('Prefix text (e.g. \"$\")'),\n suffix: z.string().optional().describe('Suffix text (e.g. \"%\")'),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\nexport const ElementImagePropsSchema = z.object({\n src: z.string().describe('Image URL or attachment field'),\n alt: z.string().optional().describe('Alt text for accessibility'),\n fit: z.enum(['cover', 'contain', 'fill'])\n .optional().default('cover').describe('Image object-fit mode'),\n height: z.number().optional().describe('Fixed height in pixels'),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\n/**\n * ----------------------------------------------------------------------\n * 4. Interactive Element Components (Phase B — Element Library)\n * ----------------------------------------------------------------------\n */\n\nexport const ElementButtonPropsSchema = z.object({\n label: I18nLabelSchema.describe('Button display label'),\n variant: z.enum(['primary', 'secondary', 'danger', 'ghost', 'link'])\n .optional().default('primary').describe('Button visual variant'),\n size: z.enum(['small', 'medium', 'large'])\n .optional().default('medium').describe('Button size'),\n icon: z.string().optional().describe('Icon name (Lucide icon)'),\n iconPosition: z.enum(['left', 'right'])\n .optional().default('left').describe('Icon position relative to label'),\n disabled: z.boolean().optional().default(false).describe('Disable the button'),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\nexport const ElementFilterPropsSchema = z.object({\n object: z.string().describe('Object to filter'),\n fields: z.array(z.string()).describe('Filterable field names'),\n targetVariable: z.string().optional().describe('Page variable to store filter state'),\n layout: z.enum(['inline', 'dropdown', 'sidebar'])\n .optional().default('inline').describe('Filter display layout'),\n showSearch: z.boolean().optional().default(true).describe('Show search input'),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\nexport const ElementFormPropsSchema = z.object({\n object: z.string().describe('Object for the form'),\n fields: z.array(z.string()).optional().describe('Fields to display (defaults to all editable fields)'),\n mode: z.enum(['create', 'edit']).optional().default('create').describe('Form mode'),\n submitLabel: I18nLabelSchema.optional().describe('Submit button label'),\n onSubmit: z.string().optional().describe('Action expression on form submit'),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\nexport const ElementRecordPickerPropsSchema = z.object({\n object: z.string().describe('Object to pick records from'),\n displayField: z.string().describe('Field to display as the record label'),\n searchFields: z.array(z.string()).optional().describe('Fields to search against'),\n filter: FilterConditionSchema.optional().describe('Filter criteria for available records'),\n multiple: z.boolean().optional().default(false).describe('Allow multiple record selection'),\n targetVariable: z.string().optional().describe('Page variable to bind selected record ID(s)'),\n placeholder: I18nLabelSchema.optional().describe('Placeholder text'),\n /** ARIA accessibility */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\n/**\n * ----------------------------------------------------------------------\n * Component Props Map\n * Maps Component Type to its Property Schema\n * ----------------------------------------------------------------------\n */\nexport const ComponentPropsMap = {\n // Structure\n 'page:header': PageHeaderProps,\n 'page:tabs': PageTabsProps,\n 'page:card': PageCardProps,\n 'page:footer': EmptyProps,\n 'page:sidebar': EmptyProps,\n 'page:accordion': PageAccordionProps,\n 'page:section': EmptyProps,\n\n // Record\n 'record:details': RecordDetailsProps,\n 'record:related_list': RecordRelatedListProps,\n 'record:highlights': RecordHighlightsProps,\n 'record:activity': RecordActivityProps,\n 'record:chatter': RecordChatterProps,\n 'record:path': RecordPathProps,\n\n // Navigation\n 'app:launcher': EmptyProps,\n 'nav:menu': EmptyProps,\n 'nav:breadcrumb': EmptyProps,\n\n // Utility\n 'global:search': EmptyProps,\n 'global:notifications': EmptyProps,\n 'user:profile': EmptyProps,\n \n // AI\n 'ai:chat_window': AIChatWindowProps,\n 'ai:suggestion': z.object({ context: z.string().optional() }),\n\n // Content Elements\n 'element:text': ElementTextPropsSchema,\n 'element:number': ElementNumberPropsSchema,\n 'element:image': ElementImagePropsSchema,\n 'element:divider': EmptyProps,\n\n // Interactive Elements\n 'element:button': ElementButtonPropsSchema,\n 'element:filter': ElementFilterPropsSchema,\n 'element:form': ElementFormPropsSchema,\n 'element:record_picker': ElementRecordPickerPropsSchema,\n} as const;\n\n/**\n * Type Helper to extract props from map\n */\nexport type ComponentProps<T extends keyof typeof ComponentPropsMap> = z.infer<typeof ComponentPropsMap[T]>;\nexport type ComponentPropsInput<T extends keyof typeof ComponentPropsMap> = z.input<typeof ComponentPropsMap[T]>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.zod';\n\n/**\n * Touch Target Configuration Schema\n * Ensures touch targets meet WCAG 2.5.5 minimum size requirements (44x44px).\n */\nexport const TouchTargetConfigSchema = z.object({\n minWidth: z.number().default(44).describe('Minimum touch target width in pixels (WCAG 2.5.5: 44px)'),\n minHeight: z.number().default(44).describe('Minimum touch target height in pixels (WCAG 2.5.5: 44px)'),\n padding: z.number().optional().describe('Additional padding around touch target in pixels'),\n hitSlop: z.object({\n top: z.number().optional().describe('Extra hit area above the element'),\n right: z.number().optional().describe('Extra hit area to the right of the element'),\n bottom: z.number().optional().describe('Extra hit area below the element'),\n left: z.number().optional().describe('Extra hit area to the left of the element'),\n }).optional().describe('Invisible hit area extension beyond the visible bounds'),\n}).describe('Touch target sizing configuration (WCAG accessible)');\n\nexport type TouchTargetConfig = z.infer<typeof TouchTargetConfigSchema>;\n\n/**\n * Gesture Type Enum\n * Supported touch gesture types.\n */\nexport const GestureTypeSchema = z.enum([\n 'swipe',\n 'pinch',\n 'long_press',\n 'double_tap',\n 'drag',\n 'rotate',\n 'pan',\n]).describe('Touch gesture type');\n\nexport type GestureType = z.infer<typeof GestureTypeSchema>;\n\n/**\n * Swipe Direction Enum\n */\nexport const SwipeDirectionSchema = z.enum(['up', 'down', 'left', 'right']);\n\nexport type SwipeDirection = z.infer<typeof SwipeDirectionSchema>;\n\n/**\n * Swipe Gesture Configuration Schema\n */\nexport const SwipeGestureConfigSchema = z.object({\n direction: z.array(SwipeDirectionSchema).describe('Allowed swipe directions'),\n threshold: z.number().optional().describe('Minimum distance in pixels to recognize swipe'),\n velocity: z.number().optional().describe('Minimum velocity (px/ms) to trigger swipe'),\n}).describe('Swipe gesture recognition settings');\n\nexport type SwipeGestureConfig = z.infer<typeof SwipeGestureConfigSchema>;\n\n/**\n * Pinch Gesture Configuration Schema\n */\nexport const PinchGestureConfigSchema = z.object({\n minScale: z.number().optional().describe('Minimum scale factor (e.g., 0.5 for 50%)'),\n maxScale: z.number().optional().describe('Maximum scale factor (e.g., 3.0 for 300%)'),\n}).describe('Pinch/zoom gesture recognition settings');\n\nexport type PinchGestureConfig = z.infer<typeof PinchGestureConfigSchema>;\n\n/**\n * Long Press Gesture Configuration Schema\n */\nexport const LongPressGestureConfigSchema = z.object({\n duration: z.number().default(500).describe('Hold duration in milliseconds to trigger long press'),\n moveTolerance: z.number().optional().describe('Max movement in pixels allowed during press'),\n}).describe('Long press gesture recognition settings');\n\nexport type LongPressGestureConfig = z.infer<typeof LongPressGestureConfigSchema>;\n\n/**\n * Gesture Configuration Schema\n * Unified configuration for all supported gesture types.\n */\nexport const GestureConfigSchema = z.object({\n type: GestureTypeSchema.describe('Gesture type to configure'),\n label: I18nLabelSchema.optional().describe('Descriptive label for the gesture action'),\n enabled: z.boolean().default(true).describe('Whether this gesture is active'),\n swipe: SwipeGestureConfigSchema.optional().describe('Swipe gesture settings (when type is swipe)'),\n pinch: PinchGestureConfigSchema.optional().describe('Pinch gesture settings (when type is pinch)'),\n longPress: LongPressGestureConfigSchema.optional().describe('Long press settings (when type is long_press)'),\n}).describe('Per-gesture configuration');\n\nexport type GestureConfig = z.infer<typeof GestureConfigSchema>;\n\n/**\n * Touch Interaction Schema\n * Top-level touch and gesture interaction configuration for a component.\n */\nexport const TouchInteractionSchema = z.object({\n gestures: z.array(GestureConfigSchema).optional().describe('Configured gesture recognizers'),\n touchTarget: TouchTargetConfigSchema.optional().describe('Touch target sizing and hit area'),\n hapticFeedback: z.boolean().optional().describe('Enable haptic feedback on touch interactions'),\n}).merge(AriaPropsSchema.partial()).describe('Touch and gesture interaction configuration');\n\nexport type TouchInteraction = z.infer<typeof TouchInteractionSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.zod';\n\n/**\n * Focus Trap Configuration Schema\n * Constrains keyboard focus within a specific container (e.g., modals, dialogs).\n */\nexport const FocusTrapConfigSchema = z.object({\n enabled: z.boolean().default(false).describe('Enable focus trapping within this container'),\n initialFocus: z.string().optional().describe('CSS selector for the element to focus on activation'),\n returnFocus: z.boolean().default(true).describe('Return focus to trigger element on deactivation'),\n escapeDeactivates: z.boolean().default(true).describe('Allow Escape key to deactivate the focus trap'),\n}).describe('Focus trap configuration for modal-like containers');\n\nexport type FocusTrapConfig = z.infer<typeof FocusTrapConfigSchema>;\n\n/**\n * Keyboard Shortcut Schema\n * Defines a single keyboard shortcut binding.\n */\nexport const KeyboardShortcutSchema = z.object({\n key: z.string().describe('Key combination (e.g., \"Ctrl+S\", \"Alt+N\", \"Escape\")'),\n action: z.string().describe('Action identifier to invoke when shortcut is triggered'),\n description: I18nLabelSchema.optional().describe('Human-readable description of what the shortcut does'),\n scope: z.enum(['global', 'view', 'form', 'modal', 'list']).default('global')\n .describe('Scope in which this shortcut is active'),\n}).describe('Keyboard shortcut binding');\n\nexport type KeyboardShortcut = z.infer<typeof KeyboardShortcutSchema>;\n\n/**\n * Focus Management Schema\n * Controls tab order, focus visibility, and navigation behavior.\n */\nexport const FocusManagementSchema = z.object({\n tabOrder: z.enum(['auto', 'manual']).default('auto')\n .describe('Tab order strategy: auto (DOM order) or manual (explicit tabIndex)'),\n skipLinks: z.boolean().default(false).describe('Provide skip-to-content navigation links'),\n focusVisible: z.boolean().default(true).describe('Show visible focus indicators for keyboard users'),\n focusTrap: FocusTrapConfigSchema.optional().describe('Focus trap settings'),\n arrowNavigation: z.boolean().default(false)\n .describe('Enable arrow key navigation between focusable items'),\n}).describe('Focus and tab navigation management');\n\nexport type FocusManagement = z.infer<typeof FocusManagementSchema>;\n\n/**\n * Keyboard Navigation Configuration Schema\n * Top-level keyboard navigation and shortcut configuration.\n */\nexport const KeyboardNavigationConfigSchema = z.object({\n shortcuts: z.array(KeyboardShortcutSchema).optional().describe('Registered keyboard shortcuts'),\n focusManagement: FocusManagementSchema.optional().describe('Focus and tab order management'),\n rovingTabindex: z.boolean().default(false)\n .describe('Enable roving tabindex pattern for composite widgets'),\n}).merge(AriaPropsSchema.partial()).describe('Keyboard navigation and shortcut configuration');\n\nexport type KeyboardNavigationConfig = z.infer<typeof KeyboardNavigationConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { SnakeCaseIdentifierSchema } from '../shared/identifiers.zod';\nimport { TouchTargetConfigSchema } from './touch.zod';\nimport { FocusManagementSchema } from './keyboard.zod';\n\n/**\n * Color Palette Schema\n * Defines brand colors and their variants.\n */\nexport const ColorPaletteSchema = z.object({\n primary: z.string().describe('Primary brand color (hex, rgb, or hsl)'),\n secondary: z.string().optional().describe('Secondary brand color'),\n accent: z.string().optional().describe('Accent color for highlights'),\n success: z.string().optional().describe('Success state color (default: green)'),\n warning: z.string().optional().describe('Warning state color (default: yellow)'),\n error: z.string().optional().describe('Error state color (default: red)'),\n info: z.string().optional().describe('Info state color (default: blue)'),\n \n // Neutral colors\n background: z.string().optional().describe('Background color'),\n surface: z.string().optional().describe('Surface/card background color'),\n text: z.string().optional().describe('Primary text color'),\n textSecondary: z.string().optional().describe('Secondary text color'),\n border: z.string().optional().describe('Border color'),\n disabled: z.string().optional().describe('Disabled state color'),\n \n // Color variants (shades)\n primaryLight: z.string().optional().describe('Lighter shade of primary'),\n primaryDark: z.string().optional().describe('Darker shade of primary'),\n secondaryLight: z.string().optional().describe('Lighter shade of secondary'),\n secondaryDark: z.string().optional().describe('Darker shade of secondary'),\n});\n\n/**\n * Typography Settings Schema\n * Font families, sizes, weights, and line heights.\n */\nexport const TypographySchema = z.object({\n fontFamily: z.object({\n base: z.string().optional().describe('Base font family (default: system fonts)'),\n heading: z.string().optional().describe('Heading font family'),\n mono: z.string().optional().describe('Monospace font family for code'),\n }).optional(),\n \n fontSize: z.object({\n xs: z.string().optional().describe('Extra small font size (e.g., 0.75rem)'),\n sm: z.string().optional().describe('Small font size (e.g., 0.875rem)'),\n base: z.string().optional().describe('Base font size (e.g., 1rem)'),\n lg: z.string().optional().describe('Large font size (e.g., 1.125rem)'),\n xl: z.string().optional().describe('Extra large font size (e.g., 1.25rem)'),\n '2xl': z.string().optional().describe('2X large font size (e.g., 1.5rem)'),\n '3xl': z.string().optional().describe('3X large font size (e.g., 1.875rem)'),\n '4xl': z.string().optional().describe('4X large font size (e.g., 2.25rem)'),\n }).optional(),\n \n fontWeight: z.object({\n light: z.number().optional().describe('Light weight (default: 300)'),\n normal: z.number().optional().describe('Normal weight (default: 400)'),\n medium: z.number().optional().describe('Medium weight (default: 500)'),\n semibold: z.number().optional().describe('Semibold weight (default: 600)'),\n bold: z.number().optional().describe('Bold weight (default: 700)'),\n }).optional(),\n \n lineHeight: z.object({\n tight: z.string().optional().describe('Tight line height (e.g., 1.25)'),\n normal: z.string().optional().describe('Normal line height (e.g., 1.5)'),\n relaxed: z.string().optional().describe('Relaxed line height (e.g., 1.75)'),\n loose: z.string().optional().describe('Loose line height (e.g., 2)'),\n }).optional(),\n \n letterSpacing: z.object({\n tighter: z.string().optional().describe('Tighter letter spacing (e.g., -0.05em)'),\n tight: z.string().optional().describe('Tight letter spacing (e.g., -0.025em)'),\n normal: z.string().optional().describe('Normal letter spacing (e.g., 0)'),\n wide: z.string().optional().describe('Wide letter spacing (e.g., 0.025em)'),\n wider: z.string().optional().describe('Wider letter spacing (e.g., 0.05em)'),\n }).optional(),\n});\n\n/**\n * Spacing Units Schema\n * Defines spacing scale for margins, padding, gaps.\n */\nexport const SpacingSchema = z.object({\n '0': z.string().optional().describe('0 spacing (0)'),\n '1': z.string().optional().describe('Spacing unit 1 (e.g., 0.25rem)'),\n '2': z.string().optional().describe('Spacing unit 2 (e.g., 0.5rem)'),\n '3': z.string().optional().describe('Spacing unit 3 (e.g., 0.75rem)'),\n '4': z.string().optional().describe('Spacing unit 4 (e.g., 1rem)'),\n '5': z.string().optional().describe('Spacing unit 5 (e.g., 1.25rem)'),\n '6': z.string().optional().describe('Spacing unit 6 (e.g., 1.5rem)'),\n '8': z.string().optional().describe('Spacing unit 8 (e.g., 2rem)'),\n '10': z.string().optional().describe('Spacing unit 10 (e.g., 2.5rem)'),\n '12': z.string().optional().describe('Spacing unit 12 (e.g., 3rem)'),\n '16': z.string().optional().describe('Spacing unit 16 (e.g., 4rem)'),\n '20': z.string().optional().describe('Spacing unit 20 (e.g., 5rem)'),\n '24': z.string().optional().describe('Spacing unit 24 (e.g., 6rem)'),\n});\n\n/**\n * Border Radius Schema\n * Rounded corners configuration.\n */\nexport const BorderRadiusSchema = z.object({\n none: z.string().optional().describe('No border radius (0)'),\n sm: z.string().optional().describe('Small border radius (e.g., 0.125rem)'),\n base: z.string().optional().describe('Base border radius (e.g., 0.25rem)'),\n md: z.string().optional().describe('Medium border radius (e.g., 0.375rem)'),\n lg: z.string().optional().describe('Large border radius (e.g., 0.5rem)'),\n xl: z.string().optional().describe('Extra large border radius (e.g., 0.75rem)'),\n '2xl': z.string().optional().describe('2X large border radius (e.g., 1rem)'),\n full: z.string().optional().describe('Full border radius (50%)'),\n});\n\n/**\n * Shadow Schema\n * Box shadow effects.\n */\nexport const ShadowSchema = z.object({\n none: z.string().optional().describe('No shadow'),\n sm: z.string().optional().describe('Small shadow'),\n base: z.string().optional().describe('Base shadow'),\n md: z.string().optional().describe('Medium shadow'),\n lg: z.string().optional().describe('Large shadow'),\n xl: z.string().optional().describe('Extra large shadow'),\n '2xl': z.string().optional().describe('2X large shadow'),\n inner: z.string().optional().describe('Inner shadow (inset)'),\n});\n\n/**\n * Breakpoints Schema\n * Responsive design breakpoints.\n */\nexport const BreakpointsSchema = z.object({\n xs: z.string().optional().describe('Extra small breakpoint (e.g., 480px)'),\n sm: z.string().optional().describe('Small breakpoint (e.g., 640px)'),\n md: z.string().optional().describe('Medium breakpoint (e.g., 768px)'),\n lg: z.string().optional().describe('Large breakpoint (e.g., 1024px)'),\n xl: z.string().optional().describe('Extra large breakpoint (e.g., 1280px)'),\n '2xl': z.string().optional().describe('2X large breakpoint (e.g., 1536px)'),\n});\n\n/**\n * Animation Schema\n * Animation timing and duration settings.\n */\nexport const AnimationSchema = z.object({\n duration: z.object({\n fast: z.string().optional().describe('Fast animation (e.g., 150ms)'),\n base: z.string().optional().describe('Base animation (e.g., 300ms)'),\n slow: z.string().optional().describe('Slow animation (e.g., 500ms)'),\n }).optional(),\n \n timing: z.object({\n linear: z.string().optional().describe('Linear timing function'),\n ease: z.string().optional().describe('Ease timing function'),\n ease_in: z.string().optional().describe('Ease-in timing function'),\n ease_out: z.string().optional().describe('Ease-out timing function'),\n ease_in_out: z.string().optional().describe('Ease-in-out timing function'),\n }).optional(),\n});\n\n/**\n * Z-Index Scale Schema\n * Layering and stacking order.\n */\nexport const ZIndexSchema = z.object({\n base: z.number().optional().describe('Base z-index (e.g., 0)'),\n dropdown: z.number().optional().describe('Dropdown z-index (e.g., 1000)'),\n sticky: z.number().optional().describe('Sticky z-index (e.g., 1020)'),\n fixed: z.number().optional().describe('Fixed z-index (e.g., 1030)'),\n modalBackdrop: z.number().optional().describe('Modal backdrop z-index (e.g., 1040)'),\n modal: z.number().optional().describe('Modal z-index (e.g., 1050)'),\n popover: z.number().optional().describe('Popover z-index (e.g., 1060)'),\n tooltip: z.number().optional().describe('Tooltip z-index (e.g., 1070)'),\n});\n\n/**\n * Theme Mode Schema\n */\nexport const ThemeModeSchema = z.enum(['light', 'dark', 'auto']);\n\n/** @deprecated Use ThemeModeSchema instead */\nexport const ThemeMode = ThemeModeSchema;\n\n/**\n * Density Mode Schema\n * Controls spacing and sizing for different use cases.\n */\nexport const DensityModeSchema = z.enum(['compact', 'regular', 'spacious']);\n\n/** @deprecated Use DensityModeSchema instead */\nexport const DensityMode = DensityModeSchema;\n\n/**\n * WCAG Contrast Level Schema\n * Web Content Accessibility Guidelines color contrast requirements.\n */\nexport const WcagContrastLevelSchema = z.enum(['AA', 'AAA']);\n\n/** @deprecated Use WcagContrastLevelSchema instead */\nexport const WcagContrastLevel = WcagContrastLevelSchema;\n\n/**\n * Theme Configuration Schema\n * Complete theme definition for brand customization.\n */\nexport const ThemeSchema = z.object({\n name: SnakeCaseIdentifierSchema.describe('Unique theme identifier (snake_case)'),\n label: z.string().describe('Human-readable theme name'),\n description: z.string().optional().describe('Theme description'),\n \n /** Theme mode */\n mode: ThemeModeSchema.default('light').describe('Theme mode (light, dark, or auto)'),\n \n /** Color system */\n colors: ColorPaletteSchema.describe('Color palette configuration'),\n \n /** Typography */\n typography: TypographySchema.optional().describe('Typography settings'),\n \n /** Spacing */\n spacing: SpacingSchema.optional().describe('Spacing scale'),\n \n /** Border radius */\n borderRadius: BorderRadiusSchema.optional().describe('Border radius scale'),\n \n /** Shadows */\n shadows: ShadowSchema.optional().describe('Box shadow effects'),\n \n /** Breakpoints */\n breakpoints: BreakpointsSchema.optional().describe('Responsive breakpoints'),\n \n /** Animation */\n animation: AnimationSchema.optional().describe('Animation settings'),\n \n /** Z-Index */\n zIndex: ZIndexSchema.optional().describe('Z-index scale for layering'),\n \n /** Custom CSS variables */\n customVars: z.record(z.string(), z.string()).optional().describe('Custom CSS variables (key-value pairs)'),\n \n /** Logo */\n logo: z.object({\n light: z.string().optional().describe('Logo URL for light mode'),\n dark: z.string().optional().describe('Logo URL for dark mode'),\n favicon: z.string().optional().describe('Favicon URL'),\n }).optional().describe('Logo assets'),\n \n /** Extends another theme */\n extends: z.string().optional().describe('Base theme to extend from'),\n\n /** Display density mode */\n density: DensityModeSchema.optional().describe('Display density: compact, regular, or spacious'),\n\n /** WCAG contrast level requirement */\n wcagContrast: WcagContrastLevelSchema.optional().describe('WCAG color contrast level (AA or AAA)'),\n\n /** Right-to-left language support */\n rtl: z.boolean().optional().describe('Enable right-to-left layout direction'),\n\n /** Touch target accessibility configuration */\n touchTarget: TouchTargetConfigSchema.optional().describe('Touch target sizing defaults'),\n\n /** Keyboard navigation and focus management */\n keyboardNavigation: FocusManagementSchema.optional().describe('Keyboard focus management settings'),\n});\n\nexport type Theme = z.infer<typeof ThemeSchema>;\nexport type ColorPalette = z.infer<typeof ColorPaletteSchema>;\nexport type Typography = z.infer<typeof TypographySchema>;\nexport type Spacing = z.infer<typeof SpacingSchema>;\nexport type BorderRadius = z.infer<typeof BorderRadiusSchema>;\nexport type Shadow = z.infer<typeof ShadowSchema>;\nexport type Breakpoints = z.infer<typeof BreakpointsSchema>;\nexport type Animation = z.infer<typeof AnimationSchema>;\nexport type ZIndex = z.infer<typeof ZIndexSchema>;\nexport type ThemeMode = z.infer<typeof ThemeModeSchema>;\nexport type DensityMode = z.infer<typeof DensityModeSchema>;\nexport type WcagContrastLevel = z.infer<typeof WcagContrastLevelSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { I18nLabelSchema } from './i18n.zod';\n\n/**\n * Offline Strategy Schema\n * Determines how data is fetched when connectivity is limited.\n */\nexport const OfflineStrategySchema = z.enum([\n 'cache_first',\n 'network_first',\n 'stale_while_revalidate',\n 'network_only',\n 'cache_only',\n]).describe('Data fetching strategy for offline/online transitions');\n\nexport type OfflineStrategy = z.infer<typeof OfflineStrategySchema>;\n\n/**\n * Conflict Resolution Strategy Enum\n */\nexport const ConflictResolutionSchema = z.enum([\n 'client_wins',\n 'server_wins',\n 'manual',\n 'last_write_wins',\n]).describe('How to resolve conflicts when syncing offline changes');\n\nexport type ConflictResolution = z.infer<typeof ConflictResolutionSchema>;\n\n/**\n * Sync Configuration Schema\n * Controls how offline mutations are synchronized with the server.\n */\nexport const SyncConfigSchema = z.object({\n strategy: OfflineStrategySchema.default('network_first').describe('Sync fetch strategy'),\n conflictResolution: ConflictResolutionSchema.default('last_write_wins').describe('Conflict resolution policy'),\n retryInterval: z.number().optional().describe('Retry interval in milliseconds between sync attempts'),\n maxRetries: z.number().optional().describe('Maximum number of sync retry attempts'),\n batchSize: z.number().optional().describe('Number of mutations to sync per batch'),\n}).describe('Offline-to-online synchronization configuration');\n\nexport type SyncConfig = z.infer<typeof SyncConfigSchema>;\n\n/**\n * Persist Storage Backend Enum\n */\nexport const PersistStorageSchema = z.enum([\n 'indexeddb',\n 'localstorage',\n 'sqlite',\n]).describe('Client-side storage backend for offline cache');\n\nexport type PersistStorage = z.infer<typeof PersistStorageSchema>;\n\n/**\n * Eviction Policy Enum\n */\nexport const EvictionPolicySchema = z.enum([\n 'lru',\n 'lfu',\n 'fifo',\n]).describe('Cache eviction policy');\n\nexport type EvictionPolicy = z.infer<typeof EvictionPolicySchema>;\n\n/**\n * Offline Cache Configuration Schema\n * Controls how data is persisted on the client for offline access.\n */\nexport const OfflineCacheConfigSchema = z.object({\n maxSize: z.number().optional().describe('Maximum cache size in bytes'),\n ttl: z.number().optional().describe('Time-to-live for cached entries in milliseconds'),\n persistStorage: PersistStorageSchema.default('indexeddb').describe('Storage backend'),\n evictionPolicy: EvictionPolicySchema.default('lru').describe('Cache eviction policy when full'),\n}).describe('Client-side offline cache configuration');\n\nexport type OfflineCacheConfig = z.infer<typeof OfflineCacheConfigSchema>;\n\n/**\n * Offline Configuration Schema\n * Top-level offline support configuration for an application or component.\n */\nexport const OfflineConfigSchema = z.object({\n enabled: z.boolean().default(false).describe('Enable offline support'),\n strategy: OfflineStrategySchema.default('network_first').describe('Default offline fetch strategy'),\n cache: OfflineCacheConfigSchema.optional().describe('Cache settings for offline data'),\n sync: SyncConfigSchema.optional().describe('Sync settings for offline mutations'),\n offlineIndicator: z.boolean().default(true).describe('Show a visual indicator when offline'),\n offlineMessage: I18nLabelSchema.optional().describe('Customizable offline status message shown to users'),\n queueMaxSize: z.number().optional().describe('Maximum number of queued offline mutations'),\n}).describe('Offline support configuration');\n\nexport type OfflineConfig = z.infer<typeof OfflineConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.zod';\n\n/**\n * Transition Preset Schema\n * Common animation transition presets.\n */\nexport const TransitionPresetSchema = z.enum([\n 'fade',\n 'slide_up',\n 'slide_down',\n 'slide_left',\n 'slide_right',\n 'scale',\n 'rotate',\n 'flip',\n 'none',\n]).describe('Transition preset type');\n\nexport type TransitionPreset = z.infer<typeof TransitionPresetSchema>;\n\n/**\n * Easing Function Schema\n * Supported animation easing/timing functions.\n */\nexport const EasingFunctionSchema = z.enum([\n 'linear',\n 'ease',\n 'ease_in',\n 'ease_out',\n 'ease_in_out',\n 'spring',\n]).describe('Animation easing function');\n\nexport type EasingFunction = z.infer<typeof EasingFunctionSchema>;\n\n/**\n * Transition Configuration Schema\n * Defines a single animation transition with timing and easing options.\n */\nexport const TransitionConfigSchema = z.object({\n preset: TransitionPresetSchema.optional().describe('Transition preset to apply'),\n duration: z.number().optional().describe('Transition duration in milliseconds'),\n easing: EasingFunctionSchema.optional().describe('Easing function for the transition'),\n delay: z.number().optional().describe('Delay before transition starts in milliseconds'),\n customKeyframes: z.string().optional().describe('CSS @keyframes name for custom animations'),\n themeToken: z.string().optional().describe('Reference to a theme animation token (e.g. \"animation.duration.fast\")'),\n}).describe('Animation transition configuration');\n\nexport type TransitionConfig = z.infer<typeof TransitionConfigSchema>;\n\n/**\n * Animation Trigger Schema\n * Events that can trigger an animation.\n */\nexport const AnimationTriggerSchema = z.enum([\n 'on_mount',\n 'on_unmount',\n 'on_hover',\n 'on_focus',\n 'on_click',\n 'on_scroll',\n 'on_visible',\n]).describe('Event that triggers the animation');\n\nexport type AnimationTrigger = z.infer<typeof AnimationTriggerSchema>;\n\n/**\n * Component Animation Schema\n * Animation configuration for an individual UI component.\n */\nexport const ComponentAnimationSchema = z.object({\n label: I18nLabelSchema.optional().describe('Descriptive label for this animation configuration'),\n enter: TransitionConfigSchema.optional().describe('Enter/mount animation'),\n exit: TransitionConfigSchema.optional().describe('Exit/unmount animation'),\n hover: TransitionConfigSchema.optional().describe('Hover state animation'),\n trigger: AnimationTriggerSchema.optional().describe('When to trigger the animation'),\n reducedMotion: z.enum(['respect', 'disable', 'alternative']).default('respect')\n .describe('Accessibility: how to handle prefers-reduced-motion'),\n}).merge(AriaPropsSchema.partial()).describe('Component-level animation configuration');\n\nexport type ComponentAnimation = z.infer<typeof ComponentAnimationSchema>;\n\n/**\n * Page Transition Schema\n * Defines the animation used when navigating between pages.\n */\nexport const PageTransitionSchema = z.object({\n type: TransitionPresetSchema.default('fade').describe('Page transition type'),\n duration: z.number().default(300).describe('Transition duration in milliseconds'),\n easing: EasingFunctionSchema.default('ease_in_out').describe('Easing function for the transition'),\n crossFade: z.boolean().default(false).describe('Whether to cross-fade between pages'),\n}).describe('Page-level transition configuration');\n\nexport type PageTransition = z.infer<typeof PageTransitionSchema>;\n\n/**\n * Motion Configuration Schema\n * Top-level animation and motion design configuration.\n */\nexport const MotionConfigSchema = z.object({\n label: I18nLabelSchema.optional().describe('Descriptive label for the motion configuration'),\n defaultTransition: TransitionConfigSchema.optional().describe('Default transition applied to all animations'),\n pageTransitions: PageTransitionSchema.optional().describe('Page navigation transition settings'),\n componentAnimations: z.record(z.string(), ComponentAnimationSchema).optional()\n .describe('Component name to animation configuration mapping'),\n reducedMotion: z.boolean().default(false).describe('When true, respect prefers-reduced-motion and suppress animations globally'),\n enabled: z.boolean().default(true).describe('Enable or disable all animations globally'),\n}).describe('Top-level motion and animation design configuration');\n\nexport type MotionConfig = z.infer<typeof MotionConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.zod';\n\n/**\n * Notification Type Schema\n * Defines the visual presentation style of the notification.\n */\nexport const NotificationTypeSchema = z.enum([\n 'toast',\n 'snackbar',\n 'banner',\n 'alert',\n 'inline',\n]).describe('Notification presentation style');\n\nexport type NotificationType = z.infer<typeof NotificationTypeSchema>;\n\n/**\n * Notification Severity Schema\n * Indicates the urgency and visual treatment of the notification.\n */\nexport const NotificationSeveritySchema = z.enum([\n 'info',\n 'success',\n 'warning',\n 'error',\n]).describe('Notification severity level');\n\nexport type NotificationSeverity = z.infer<typeof NotificationSeveritySchema>;\n\n/**\n * Notification Position Schema\n * Screen position for rendering notifications.\n */\nexport const NotificationPositionSchema = z.enum([\n 'top_left',\n 'top_center',\n 'top_right',\n 'bottom_left',\n 'bottom_center',\n 'bottom_right',\n]).describe('Screen position for notification placement');\n\nexport type NotificationPosition = z.infer<typeof NotificationPositionSchema>;\n\n/**\n * Notification Action Schema\n * Defines an interactive action button within a notification.\n */\nexport const NotificationActionSchema = z.object({\n label: I18nLabelSchema.describe('Action button label'),\n action: z.string().describe('Action identifier to execute'),\n variant: z.enum(['primary', 'secondary', 'link']).default('primary')\n .describe('Button variant style'),\n}).describe('Notification action button');\n\nexport type NotificationAction = z.infer<typeof NotificationActionSchema>;\n\n/**\n * Notification Schema\n * Defines a single notification instance with content, behavior, and positioning.\n */\nexport const NotificationSchema = z.object({\n type: NotificationTypeSchema.default('toast').describe('Notification presentation style'),\n severity: NotificationSeveritySchema.default('info').describe('Notification severity level'),\n title: I18nLabelSchema.optional().describe('Notification title'),\n message: I18nLabelSchema.describe('Notification message body'),\n icon: z.string().optional().describe('Icon name override'),\n duration: z.number().optional().describe('Auto-dismiss duration in ms, omit for persistent'),\n dismissible: z.boolean().default(true).describe('Allow user to dismiss the notification'),\n actions: z.array(NotificationActionSchema).optional().describe('Action buttons'),\n position: NotificationPositionSchema.optional().describe('Override default position'),\n}).merge(AriaPropsSchema.partial()).describe('Notification instance definition');\n\nexport type Notification = z.infer<typeof NotificationSchema>;\n\n/**\n * Notification Config Schema\n * Top-level notification system configuration.\n */\nexport const NotificationConfigSchema = z.object({\n defaultPosition: NotificationPositionSchema.default('top_right')\n .describe('Default screen position for notifications'),\n defaultDuration: z.number().default(5000)\n .describe('Default auto-dismiss duration in ms'),\n maxVisible: z.number().default(5)\n .describe('Maximum number of notifications visible at once'),\n stackDirection: z.enum(['up', 'down']).default('down')\n .describe('Stack direction for multiple notifications'),\n pauseOnHover: z.boolean().default(true)\n .describe('Pause auto-dismiss timer on hover'),\n}).describe('Global notification system configuration');\n\nexport type NotificationConfig = z.infer<typeof NotificationConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.zod';\n\n/**\n * Drag Handle Schema\n * Defines how a drag interaction is initiated on an element.\n */\nexport const DragHandleSchema = z.enum([\n 'element',\n 'handle',\n 'grip_icon',\n]).describe('Drag initiation method');\n\nexport type DragHandle = z.infer<typeof DragHandleSchema>;\n\n/**\n * Drop Effect Schema\n * Visual feedback indicating the result of a drop operation.\n */\nexport const DropEffectSchema = z.enum([\n 'move',\n 'copy',\n 'link',\n 'none',\n]).describe('Drop operation effect');\n\nexport type DropEffect = z.infer<typeof DropEffectSchema>;\n\n/**\n * Drag Constraint Schema\n * Constrains drag movement along axes, within bounds, or to a grid.\n */\nexport const DragConstraintSchema = z.object({\n axis: z.enum(['x', 'y', 'both']).default('both').describe('Constrain drag axis'),\n bounds: z.enum(['parent', 'viewport', 'none']).default('none').describe('Constrain within bounds'),\n grid: z.tuple([z.number(), z.number()]).optional().describe('Snap to grid [x, y] in pixels'),\n}).describe('Drag movement constraints');\n\nexport type DragConstraint = z.infer<typeof DragConstraintSchema>;\n\n/**\n * Drop Zone Schema\n * Configures a container that accepts dragged items.\n */\nexport const DropZoneSchema = z.object({\n label: I18nLabelSchema.optional().describe('Accessible label for the drop zone'),\n accept: z.array(z.string()).describe('Accepted drag item types'),\n maxItems: z.number().optional().describe('Maximum items allowed in drop zone'),\n highlightOnDragOver: z.boolean().default(true).describe('Highlight drop zone when dragging over'),\n dropEffect: DropEffectSchema.default('move').describe('Visual effect on drop'),\n}).merge(AriaPropsSchema.partial()).describe('Drop zone configuration');\n\nexport type DropZone = z.infer<typeof DropZoneSchema>;\n\n/**\n * Drag Item Schema\n * Configures a draggable element including handle, constraints, and preview.\n */\nexport const DragItemSchema = z.object({\n type: z.string().describe('Drag item type identifier for matching with drop zones'),\n label: I18nLabelSchema.optional().describe('Accessible label describing the draggable item'),\n handle: DragHandleSchema.default('element').describe('How to initiate drag'),\n constraint: DragConstraintSchema.optional().describe('Drag movement constraints'),\n preview: z.enum(['element', 'custom', 'none']).default('element').describe('Drag preview type'),\n disabled: z.boolean().default(false).describe('Disable dragging'),\n}).merge(AriaPropsSchema.partial()).describe('Draggable item configuration');\n\nexport type DragItem = z.infer<typeof DragItemSchema>;\n\n/**\n * Drag and Drop Configuration Schema\n * Top-level drag-and-drop interaction configuration for a component.\n */\nexport const DndConfigSchema = z.object({\n enabled: z.boolean().default(false).describe('Enable drag and drop'),\n dragItem: DragItemSchema.optional().describe('Configuration for draggable item'),\n dropZone: DropZoneSchema.optional().describe('Configuration for drop target'),\n sortable: z.boolean().default(false).describe('Enable sortable list behavior'),\n autoScroll: z.boolean().default(true).describe('Auto-scroll during drag near edges'),\n touchDelay: z.number().default(200).describe('Delay in ms before drag starts on touch devices'),\n}).describe('Drag and drop interaction configuration');\n\nexport type DndConfig = z.infer<typeof DndConfigSchema>;\n"]}
|