@objectstack/spec 3.0.4 → 3.0.6
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.js +8 -8
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/index.mjs +8 -8
- package/dist/ai/index.mjs.map +1 -1
- package/dist/api/index.d.mts +2 -1
- package/dist/api/index.d.ts +2 -1
- package/dist/api/index.js +8 -8
- package/dist/api/index.js.map +1 -1
- package/dist/api/index.mjs +8 -8
- package/dist/api/index.mjs.map +1 -1
- package/dist/cloud/index.d.mts +2 -0
- package/dist/cloud/index.d.ts +2 -0
- package/dist/cloud/index.js +966 -0
- package/dist/cloud/index.js.map +1 -0
- package/dist/cloud/index.mjs +920 -0
- package/dist/cloud/index.mjs.map +1 -0
- package/dist/contracts/index.d.mts +2 -2
- package/dist/contracts/index.d.ts +2 -2
- package/dist/data/index.js +8 -8
- package/dist/data/index.js.map +1 -1
- package/dist/data/index.mjs +8 -8
- package/dist/data/index.mjs.map +1 -1
- package/dist/http.zod-zoVvPkD-.d.mts +97 -0
- package/dist/http.zod-zoVvPkD-.d.ts +97 -0
- package/dist/identity/index.d.mts +2 -0
- package/dist/identity/index.d.ts +2 -0
- package/dist/identity/index.js +989 -0
- package/dist/identity/index.js.map +1 -0
- package/dist/identity/index.mjs +956 -0
- package/dist/identity/index.mjs.map +1 -0
- package/dist/{index-BngR5-rO.d.ts → index-4NcJ3Ha4.d.ts} +1 -1
- package/dist/index-Be8CI66r.d.ts +715 -0
- package/dist/index-BsBoFep8.d.mts +1101 -0
- package/dist/index-BsBoFep8.d.ts +1101 -0
- package/dist/{index-Dj-Ilwtp.d.mts → index-C3uKcXsS.d.mts} +1 -1
- package/dist/index-C4vzygev.d.mts +715 -0
- package/dist/index-CSNXEPgT.d.mts +876 -0
- package/dist/index-CSNXEPgT.d.ts +876 -0
- package/dist/index-DE9Tb8px.d.mts +374 -0
- package/dist/index-DE9Tb8px.d.ts +374 -0
- package/dist/index-DPHfwGua.d.mts +1529 -0
- package/dist/index-DPHfwGua.d.ts +1529 -0
- package/dist/{index-DMVJlx3O.d.ts → index-DPm-ZIer.d.ts} +6 -99
- package/dist/{index-CgqOHtHF.d.mts → index-DvpuLlpC.d.mts} +6 -99
- package/dist/{index-DqAoreZC.d.mts → index-OQl7qIFh.d.mts} +1 -1
- package/dist/{index-DwefKBPG.d.ts → index-kAJ_i2Il.d.ts} +1 -1
- package/dist/index.d.mts +62 -3569
- package/dist/index.d.ts +62 -3569
- package/dist/index.js +458 -10
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +454 -11
- package/dist/index.mjs.map +1 -1
- package/dist/kernel/index.d.mts +2 -2
- package/dist/kernel/index.d.ts +2 -2
- package/dist/qa/index.d.mts +2 -0
- package/dist/qa/index.d.ts +2 -0
- package/dist/qa/index.js +79 -0
- package/dist/qa/index.js.map +1 -0
- package/dist/qa/index.mjs +70 -0
- package/dist/qa/index.mjs.map +1 -0
- package/dist/shared/index.d.mts +3 -0
- package/dist/shared/index.d.ts +3 -0
- package/dist/shared/index.js +856 -0
- package/dist/shared/index.js.map +1 -0
- package/dist/shared/index.mjs +820 -0
- package/dist/shared/index.mjs.map +1 -0
- package/dist/studio/index.d.mts +1 -1
- package/dist/studio/index.d.ts +1 -1
- package/dist/studio/index.js +355 -0
- package/dist/studio/index.js.map +1 -1
- package/dist/studio/index.mjs +339 -1
- package/dist/studio/index.mjs.map +1 -1
- package/dist/system/index.js +8 -8
- package/dist/system/index.js.map +1 -1
- package/dist/system/index.mjs +8 -8
- package/dist/system/index.mjs.map +1 -1
- package/dist/ui/index.js +3 -3
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/index.mjs +3 -3
- 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 +26 -14
- 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 +26 -14
- 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/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/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/CheckPermissionRequest.json +2 -2
- package/json-schema/api/CheckPermissionResponse.json +2 -2
- package/json-schema/api/CodeGenerationTemplate.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/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/DeleteDataRequest.json +2 -2
- package/json-schema/api/DeleteDataResponse.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/ExportRequest.json +2 -2
- 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/FieldError.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 +2 -2
- package/json-schema/api/FindDataResponse.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/GetDataRequest.json +2 -2
- 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/GetFieldLabelsRequest.json +2 -2
- package/json-schema/api/GetFieldLabelsResponse.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/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/HttpMethod.json +2 -2
- package/json-schema/api/HttpStatusCode.json +2 -2
- package/json-schema/api/IdRequest.json +2 -2
- package/json-schema/api/InstallPackageRequest.json +2 -2
- package/json-schema/api/InstallPackageResponse.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/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 +2 -2
- package/json-schema/api/ODataQueryAdapter.json +2 -2
- package/json-schema/api/ODataResponse.json +2 -2
- package/json-schema/api/ObjectDefinitionResponse.json +8 -5
- 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/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/RequestValidationConfig.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/SchemaDefinition.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/SubgraphConfig.json +2 -2
- package/json-schema/api/SubscribeMessage.json +2 -2
- package/json-schema/api/Subscription.json +2 -2
- package/json-schema/api/SubscriptionEvent.json +2 -2
- package/json-schema/api/TransportProtocol.json +2 -2
- package/json-schema/api/UninstallPackageRequest.json +2 -2
- package/json-schema/api/UninstallPackageResponse.json +2 -2
- package/json-schema/api/UnregisterDeviceRequest.json +2 -2
- package/json-schema/api/UnregisterDeviceResponse.json +2 -2
- package/json-schema/api/UnsubscribeMessage.json +2 -2
- package/json-schema/api/UnsubscribeRequest.json +2 -2
- package/json-schema/api/UpdateDataRequest.json +2 -2
- package/json-schema/api/UpdateDataResponse.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/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/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/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/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/GuardRef.json +2 -2
- package/json-schema/automation/HttpCallAction.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/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/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/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/Field.json +8 -5
- 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 +2 -2
- 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 +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/Object.json +8 -5
- package/json-schema/data/ObjectCapabilities.json +2 -2
- package/json-schema/data/ObjectExtension.json +13 -5
- 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 +2 -2
- package/json-schema/data/QueryFilter.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/TenancyConfig.json +2 -2
- package/json-schema/data/TimeUpdateInterval.json +2 -2
- package/json-schema/data/TransformType.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/BreakingChange.json +2 -2
- package/json-schema/kernel/CLICommandContribution.json +2 -2
- package/json-schema/kernel/CLIExtensionExport.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/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/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/OpsDomainModule.json +2 -2
- package/json-schema/kernel/OpsFilePath.json +2 -2
- package/json-schema/kernel/OpsPluginStructure.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/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/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/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/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/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/UninstallPackageRequest.json +2 -2
- package/json-schema/kernel/UninstallPackageResponse.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/ValidationResult.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 +4978 -2998
- 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/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/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/CommandContribution.json +2 -2
- package/json-schema/studio/ERDiagramConfig.json +167 -0
- package/json-schema/studio/ERLayoutAlgorithm.json +13 -0
- package/json-schema/studio/ERNodeDisplay.json +53 -0
- package/json-schema/studio/FieldEditorConfig.json +170 -0
- package/json-schema/studio/FieldGroup.json +37 -0
- package/json-schema/studio/FieldPropertySection.json +37 -0
- package/json-schema/studio/MetadataIconContribution.json +2 -2
- package/json-schema/studio/MetadataViewerContribution.json +2 -2
- package/json-schema/studio/ObjectDesignerConfig.json +902 -0
- package/json-schema/studio/ObjectDesignerDefaultView.json +13 -0
- package/json-schema/studio/ObjectFilter.json +46 -0
- package/json-schema/studio/ObjectListDisplayMode.json +12 -0
- package/json-schema/studio/ObjectManagerConfig.json +135 -0
- package/json-schema/studio/ObjectPreviewConfig.json +126 -0
- package/json-schema/studio/ObjectPreviewTab.json +37 -0
- package/json-schema/studio/ObjectSortField.json +13 -0
- package/json-schema/studio/PanelContribution.json +2 -2
- package/json-schema/studio/PanelLocation.json +2 -2
- package/json-schema/studio/RelationshipDisplay.json +50 -0
- package/json-schema/studio/RelationshipMapperConfig.json +104 -0
- 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 +8 -5
- package/json-schema/system/AnalyzerConfig.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/AuditLogConfig.json +2 -2
- package/json-schema/system/AuditRetentionPolicy.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/ChangeSet.json +26 -14
- 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/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 +8 -5
- 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/DataClassificationPolicy.json +2 -2
- package/json-schema/system/DatabaseLevelIsolationStrategy.json +2 -2
- package/json-schema/system/DeadLetterQueue.json +2 -2
- package/json-schema/system/DeleteObjectOperation.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/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 +2 -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 +14 -8
- 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/Plan.json +2 -2
- package/json-schema/system/PresignedUrlConfig.json +2 -2
- package/json-schema/system/PushNotification.json +2 -2
- package/json-schema/system/QueueConfig.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/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/TenantIsolationConfig.json +2 -2
- package/json-schema/system/TenantIsolationLevel.json +2 -2
- package/json-schema/system/TenantQuota.json +2 -2
- package/json-schema/system/TenantSecurityPolicy.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/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/Action.json +2 -2
- package/json-schema/ui/ActionParam.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/AriaProps.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/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/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/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/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/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/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/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/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/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/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/ViewData.json +2 -2
- package/json-schema/ui/ViewSharing.json +2 -2
- package/json-schema/ui/WcagContrastLevel.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/WidgetProperty.json +2 -2
- package/json-schema/ui/WidgetSource.json +2 -2
- package/json-schema/ui/ZIndex.json +2 -2
- package/package.json +21 -1
- package/dist/index-cnIz7iRP.d.mts +0 -352
- package/dist/index-cnIz7iRP.d.ts +0 -352
- package/dist/{metadata-plugin.zod-TsdAQIxf.d.mts → metadata-plugin.zod-BhhsdezT.d.mts} +1 -1
- package/dist/{metadata-plugin.zod-TsdAQIxf.d.ts → metadata-plugin.zod-BhhsdezT.d.ts} +1 -1
package/dist/ui/index.js.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/app.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/ui/page.zod.ts","../../src/ui/widget.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.js","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\nimport { z } from 'zod';\nimport { SnakeCaseIdentifierSchema } from '../shared/identifiers.zod';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.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 /** \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\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. 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 a navigation tree.\n */\nexport const NavigationItemSchema: z.ZodType<any> = z.lazy(() => \n z.union([\n // Object Item can now have children (Airtable style: Object -> Views)\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 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 * 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 * @example CRM App\n * {\n * name: \"crm\",\n * label: \"Sales CRM\",\n * icon: \"briefcase\",\n * navigation: [\n * { type: \"object\", id: \"nav_leads\", label: \"Leads\", objectName: \"leads\" },\n * { type: \"object\", id: \"nav_deals\", label: \"Deals\", objectName: \"deals\" }\n * ],\n * requiredPermissions: [\"app.crm.access\"]\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 * Navigation Tree Structure.\n * Replaces the old flat 'tabs' list with a structured menu.\n */\n navigation: z.array(NavigationItemSchema).optional().describe('Structured navigation menu tree'),\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 /** 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\n * ```ts\n * const crmApp = defineApp({\n * name: 'crm',\n * label: 'CRM',\n * navigation: [\n * { id: 'nav_accounts', label: 'Accounts', type: 'object', objectName: 'account' },\n * { id: 'nav_contacts', label: 'Contacts', type: 'object', objectName: 'contact' },\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>;\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 GroupNavItem = z.infer<typeof GroupNavItemSchema> & { children: NavigationItem[] };\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';\n\n/**\n * HTTP Method Enum\n */\nexport const HttpMethodSchema = z.enum(['GET', 'POST', 'PUT', 'PATCH', 'DELETE']);\n\n/**\n * HTTP Request Configuration for API Provider\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\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 * 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 * 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(z.unknown()).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.unknown().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 /** 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\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 /** 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>;\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// 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 * Dashboard Widget Schema\n * A single component on the dashboard grid.\n */\nexport const DashboardWidgetSchema = z.object({\n /** Widget Title */\n title: I18nLabelSchema.optional().describe('Widget title'),\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 /** 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 /** \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 * 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 /** 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(z.object({\n field: z.string().describe('Field name to filter on'),\n label: I18nLabelSchema.optional().describe('Display label for the filter'),\n type: z.enum(['text', 'select', 'date', 'number']).optional().describe('Filter input type'),\n })).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>;\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 /** 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(),\n field: z.string(),\n function: z.enum(['count', 'sum', 'min', 'max', 'avg'])\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';\nimport { SnakeCaseIdentifierSchema } from '../shared/identifiers.zod';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.zod';\nimport { ResponsiveConfigSchema } from './responsive.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]);\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 /** 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 */\nexport const PageVariableSchema = z.object({\n name: z.string().describe('Variable name'),\n type: z.enum(['string', 'number', 'boolean', 'object', 'array']).default('string'),\n defaultValue: z.unknown().optional(),\n});\n\n/**\n * Page Schema\n * Defines a composition of components for a specific context (Record, Home, App).\n * Compare to Salesforce FlexiPage.\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 /** Page Type */\n type: z.enum(['record', 'home', 'app', 'utility']).default('record'),\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 /** 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 /** ARIA accessibility attributes */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\nexport type Page = z.infer<typeof PageSchema>;\nexport type PageComponent = z.infer<typeof PageComponentSchema>;\nexport type PageRegion = z.infer<typeof PageRegionSchema>;\nexport type PageVariable = z.infer<typeof PageVariableSchema>;\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';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.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(z.unknown()).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 types: z.array(z.enum(['task', 'event', 'email', 'call', 'note'])).optional().describe('Activity types to display'),\n limit: z.number().int().positive().default(10).describe('Number of activities to show'),\n showCompleted: z.boolean().default(false).describe('Include completed activities'),\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 * 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': EmptyProps,\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} 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 easeIn: z.string().optional().describe('Ease-in timing function'),\n easeOut: z.string().optional().describe('Ease-out timing function'),\n easeInOut: 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 Enum\n */\nexport const ThemeMode = z.enum(['light', 'dark', 'auto']);\n\n/**\n * Density Mode Enum\n * Controls spacing and sizing for different use cases.\n */\nexport const DensityMode = z.enum(['compact', 'regular', 'spacious']);\n\n/**\n * WCAG Contrast Level\n * Web Content Accessibility Guidelines color contrast requirements.\n */\nexport const WcagContrastLevel = z.enum(['AA', 'AAA']);\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: ThemeMode.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: DensityMode.optional().describe('Display density: compact, regular, or spacious'),\n\n /** WCAG contrast level requirement */\n wcagContrast: WcagContrastLevel.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 ThemeMode>;\nexport type DensityMode = z.infer<typeof DensityMode>;\nexport type WcagContrastLevel = z.infer<typeof WcagContrastLevel>;\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}).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/app.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/ui/page.zod.ts","../../src/ui/widget.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,GAAmBA,MAAE,MAAA,CAAO;AAAA;AAAA,EAEvC,GAAA,EAAKA,KAAA,CAAE,MAAA,EAAO,CAAE,SAAS,iDAAiD,CAAA;AAAA;AAAA,EAG1E,cAAcA,KAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kDAAkD,CAAA;AAAA;AAAA,EAG/F,MAAA,EAAQA,KAAA,CAAE,MAAA,CAAOA,KAAA,CAAE,MAAA,IAAUA,KAAA,CAAE,KAAA,CAAM,CAACA,KAAA,CAAE,MAAA,EAAO,EAAGA,MAAE,MAAA,EAAO,EAAGA,KAAA,CAAE,OAAA,EAAS,CAAC,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,+CAA+C;AAClJ,CAAC;AA2BM,IAAM,eAAA,GAAkBA,MAAE,KAAA,CAAM;AAAA,EACrCA,MAAE,MAAA,EAAO;AAAA,EACT;AACF,CAAC,CAAA,CAAE,SAAS,wDAAwD;AAuB7D,IAAM,eAAA,GAAkBA,MAAE,MAAA,CAAO;AAAA;AAAA,EAEtC,SAAA,EAAW,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,2DAA2D,CAAA;AAAA;AAAA,EAG1G,iBAAiBA,KAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,4EAA4E,CAAA;AAAA;AAAA,EAG5H,MAAMA,KAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iEAAiE;AACxG,CAAC,CAAA,CAAE,SAAS,+BAA+B;AAsBpC,IAAM,gBAAA,GAAmBA,MAAE,MAAA,CAAO;AAAA;AAAA,EAEvC,GAAA,EAAKA,KAAA,CAAE,MAAA,EAAO,CAAE,SAAS,iBAAiB,CAAA;AAAA;AAAA,EAE1C,MAAMA,KAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA;AAAA,EAEnE,KAAKA,KAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,sCAAsC,CAAA;AAAA;AAAA,EAE1E,KAAKA,KAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iDAAiD,CAAA;AAAA;AAAA,EAErF,KAAKA,KAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,4CAA4C,CAAA;AAAA;AAAA,EAEhF,MAAMA,KAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,4CAA4C,CAAA;AAAA;AAAA,EAEjF,KAAA,EAAOA,KAAA,CAAE,MAAA,EAAO,CAAE,SAAS,6CAA6C;AAC1E,CAAC,CAAA,CAAE,SAAS,wCAAwC;AAkB7C,IAAM,kBAAA,GAAqBA,MAAE,MAAA,CAAO;AAAA,EACzC,KAAA,EAAOA,KAAA,CAAE,IAAA,CAAK,CAAC,WAAW,UAAA,EAAY,SAAA,EAAW,MAAM,CAAC,CAAA,CAAE,OAAA,CAAQ,SAAS,CAAA,CACxE,SAAS,yBAAyB,CAAA;AAAA,EACrC,UAAUA,KAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,6CAA6C,CAAA;AAAA,EACtF,MAAMA,KAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,uDAAuD,CAAA;AAAA,EAC5F,uBAAuBA,KAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,mCAAmC,CAAA;AAAA,EACzF,uBAAuBA,KAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,mCAAmC,CAAA;AAAA,EACzF,aAAaA,KAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,kDAAkD;AACjG,CAAC,CAAA,CAAE,SAAS,yBAAyB;AAkB9B,IAAM,gBAAA,GAAmBA,MAAE,MAAA,CAAO;AAAA,EACvC,SAAA,EAAWA,KAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,MAAA,EAAQ,QAAA,EAAU,OAAO,CAAC,CAAA,CAAE,QAAA,EAAS,CAC7D,SAAS,oBAAoB,CAAA;AAAA,EAChC,SAAA,EAAWA,KAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,MAAA,EAAQ,QAAA,EAAU,OAAO,CAAC,CAAA,CAAE,QAAA,EAAS,CAC7D,SAAS,oBAAoB,CAAA;AAAA,EAChC,UAAUA,KAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,2CAA2C,CAAA;AAAA,EACpF,QAAQA,KAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,oBAAoB;AAC9D,CAAC,CAAA,CAAE,SAAS,4BAA4B;AAqBjC,IAAM,kBAAA,GAAqBA,MAAE,MAAA,CAAO;AAAA;AAAA,EAEzC,IAAA,EAAMA,KAAA,CAAE,MAAA,EAAO,CAAE,SAAS,+CAA+C,CAAA;AAAA;AAAA,EAGzE,aAAA,EAAeA,KAAA,CAAE,KAAA,CAAMA,KAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CACzC,QAAA,CAAS,mEAAmE,CAAA;AAAA;AAAA,EAG/E,SAAA,EAAWA,KAAA,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,MAAE,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,MAAE,MAAA,CAAO;AAAA;AAAA,EAEtC,KAAA,EAAOA,KAAAA,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,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,uCAAuC,CAAA;AAAA;AAAA,EAG9E,KAAKA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,eAAe,CAAA;AAAA,EACnD,KAAKA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,eAAe,CAAA;AAAA,EACnD,UAAUA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,qBAAqB,CAAA;AAAA;AAAA,EAG9D,aAAA,EAAeA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA;AAAA,EACvC,QAAA,EAAUA,KAAAA,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,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK;AACxC,CAAC;AAMM,IAAM,iBAAA,GAAoBA,MAAE,MAAA,CAAO;AAAA;AAAA,EAExC,IAAA,EAAMA,KAAAA,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,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA;AAAA,EAGpE,OAAOA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kCAAkC,CAAA;AAAA;AAAA,EAGxE,KAAA,EAAOA,KAAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,OAAO,CAAC,CAAA,CAAE,OAAA,CAAQ,MAAM,CAAA,CAAE,QAAA,CAAS,yBAAyB;AACrF,CAAC;AAMM,IAAM,qBAAA,GAAwBA,MAAE,MAAA,CAAO;AAAA,EAC5C,IAAA,EAAMA,MAAE,IAAA,CAAK,CAAC,QAAQ,QAAQ,CAAC,CAAA,CAAE,OAAA,CAAQ,MAAM,CAAA;AAAA,EAC/C,IAAA,EAAMA,MAAE,IAAA,CAAK,CAAC,KAAK,GAAG,CAAC,CAAA,CAAE,OAAA,CAAQ,GAAG,CAAA;AAAA,EACpC,KAAA,EAAOA,KAAAA,CAAE,KAAA,CAAM,CAACA,KAAAA,CAAE,MAAA,EAAO,EAAGA,KAAAA,CAAE,MAAA,EAAQ,CAAC,CAAA,CAAE,SAAS,aAAa,CAAA;AAAA,EAC/D,QAAA,EAAUA,KAAAA,CAAE,KAAA,CAAM,CAACA,MAAE,MAAA,EAAO,EAAGA,KAAAA,CAAE,MAAA,EAAQ,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,uBAAuB,CAAA;AAAA,EACvF,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,KAAA,EAAO,gBAAgB,QAAA,EAAS;AAAA,EAChC,KAAA,EAAOA,KAAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,UAAU,QAAQ,CAAC,CAAA,CAAE,OAAA,CAAQ,QAAQ;AAC/D,CAAC;AAKM,IAAM,sBAAA,GAAyBA,MAAE,MAAA,CAAO;AAAA,EAC7C,QAAA,EAAUA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA;AAAA,EAClC,IAAA,EAAMA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA;AAAA,EAC/B,KAAA,EAAOA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA;AAAA,EAChC,aAAaA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAC7E,CAAC;AAMM,IAAM,iBAAA,GAAoBA,MAAE,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,MAAE,KAAA,CAAM,eAAe,EAAE,QAAA,EAAS,CAAE,SAAS,0CAA0C,CAAA;AAAA;AAAA,EAG9F,MAAA,EAAQA,MAAE,KAAA,CAAM,iBAAiB,EAAE,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA;AAAA,EAGrF,MAAA,EAAQA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,eAAe,CAAA;AAAA,EAC/D,QAAQA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,wBAAwB,CAAA;AAAA;AAAA,EAG/D,UAAA,EAAYA,MAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,gBAAgB,CAAA;AAAA,EAC/D,cAAA,EAAgBA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,qBAAqB,CAAA;AAAA;AAAA,EAGzE,WAAA,EAAaA,KAAAA,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,KAAAA,CAAE,IAAA,CAAK,CAAC,IAAA,EAAM,MAAM,IAAA,EAAM,IAAA,EAAM,IAAA,EAAM,KAAK,CAAC;AA0BnE,IAAM,yBAAA,GAA4BA,MAAE,MAAA,CAAO;AAAA,EAChD,EAAA,EAAIA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA,CAAE,QAAA,EAAS;AAAA,EACvC,EAAA,EAAIA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA,CAAE,QAAA,EAAS;AAAA,EACvC,EAAA,EAAIA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA,CAAE,QAAA,EAAS;AAAA,EACvC,EAAA,EAAIA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA,CAAE,QAAA,EAAS;AAAA,EACvC,EAAA,EAAIA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA,CAAE,QAAA,EAAS;AAAA,EACvC,KAAA,EAAOA,KAAAA,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,MAAE,MAAA,CAAO;AAAA,EAC/C,EAAA,EAAIA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACxB,EAAA,EAAIA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACxB,EAAA,EAAIA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACxB,EAAA,EAAIA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACxB,EAAA,EAAIA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACxB,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACpB,CAAC,CAAA,CAAE,SAAS,8BAA8B;AAEnC,IAAM,sBAAA,GAAyBA,MAAE,MAAA,CAAO;AAAA;AAAA,EAE7C,UAAA,EAAY,cAAA,CAAe,QAAA,EAAS,CACjC,SAAS,mCAAmC,CAAA;AAAA;AAAA,EAG/C,QAAA,EAAUA,MAAE,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,MAAE,MAAA,CAAO;AAAA;AAAA,EAE9C,UAAUA,KAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAC5B,SAAS,qDAAqD,CAAA;AAAA;AAAA,EAGjE,aAAA,EAAeA,MAAE,MAAA,CAAO;AAAA,IACtB,OAAA,EAASA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,0BAA0B,CAAA;AAAA,IACvE,YAAYA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8CAA8C,CAAA;AAAA,IACzF,UAAUA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kDAAkD;AAAA,GAC5F,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA;AAAA,EAGxD,aAAA,EAAeA,MAAE,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,KAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAC5B,SAAS,2CAA2C,CAAA;AAAA;AAAA,EAGvD,UAAUA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAC3B,SAAS,yCAAyC,CAAA;AAAA;AAAA,EAGrD,YAAYA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAC7B,SAAS,yDAAyD;AACvE,CAAC,CAAA,CAAE,SAAS,wCAAwC;AC3E7C,IAAM,sBAAA,GAAyBA,KAAAA,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,KAAAA,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,KAAAA,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;;;ACnFtE,IAAM,iBAAA,GAAoBA,MAAE,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,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,WAAW,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOhD,SAASA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B;AACxE,CAAC,CAAA;AAMM,IAAM,mBAAA,GAAsB,kBAAkB,MAAA,CAAO;AAAA,EAC1D,IAAA,EAAMA,KAAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA;AAAA,EACxB,UAAA,EAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,oBAAoB,CAAA;AAAA,EACpD,UAAUA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8CAA8C;AACzF,CAAC;AAMM,IAAM,sBAAA,GAAyB,kBAAkB,MAAA,CAAO;AAAA,EAC7D,IAAA,EAAMA,KAAAA,CAAE,OAAA,CAAQ,WAAW,CAAA;AAAA,EAC3B,aAAA,EAAeA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,uBAAuB;AAC5D,CAAC;AAMM,IAAM,iBAAA,GAAoB,kBAAkB,MAAA,CAAO;AAAA,EACxD,IAAA,EAAMA,KAAAA,CAAE,OAAA,CAAQ,MAAM,CAAA;AAAA,EACtB,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,mCAAmC,CAAA;AAAA,EACjE,MAAA,EAAQA,KAAAA,CAAE,MAAA,CAAOA,KAAAA,CAAE,MAAA,EAAO,EAAGA,KAAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,uCAAuC;AACvG,CAAC;AAMM,IAAM,gBAAA,GAAmB,kBAAkB,MAAA,CAAO;AAAA,EACvD,IAAA,EAAMA,KAAAA,CAAE,OAAA,CAAQ,KAAK,CAAA;AAAA,EACrB,GAAA,EAAKA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,qBAAqB,CAAA;AAAA,EAC9C,MAAA,EAAQA,KAAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,QAAQ,CAAC,CAAA,CAAE,OAAA,CAAQ,OAAO,CAAA,CAAE,QAAA,CAAS,oBAAoB;AACpF,CAAC;AAOM,IAAM,kBAAA,GAAqB,kBAAkB,MAAA,CAAO;AAAA,EACzD,IAAA,EAAMA,KAAAA,CAAE,OAAA,CAAQ,OAAO,CAAA;AAAA,EACvB,QAAA,EAAUA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,oCAAoC;AAAA;AAEpF,CAAC;AAMM,IAAM,uBAAuCA,KAAAA,CAAE,IAAA;AAAA,EAAK,MACzDA,MAAE,KAAA,CAAM;AAAA;AAAA,IAEN,oBAAoB,MAAA,CAAO;AAAA,MACzB,QAAA,EAAUA,MAAE,KAAA,CAAM,oBAAoB,EAAE,QAAA,EAAS,CAAE,SAAS,8CAA8C;AAAA,KAC3G,CAAA;AAAA,IACD,sBAAA;AAAA,IACA,iBAAA;AAAA,IACA,gBAAA;AAAA,IACA,mBAAmB,MAAA,CAAO;AAAA,MACxB,UAAUA,KAAAA,CAAE,KAAA,CAAM,oBAAoB,CAAA,CAAE,SAAS,wBAAwB;AAAA,KAC1E;AAAA,GACF;AACH;AAMO,IAAM,iBAAA,GAAoBA,MAAE,MAAA,CAAO;AAAA,EACxC,cAAcA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA,EAC3E,MAAMA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA,EACnE,SAASA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iCAAiC;AAC3E,CAAC;AAqCM,IAAM,SAAA,GAAYA,MAAE,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,KAAAA,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,KAAAA,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,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,GAAW,OAAA,CAAQ,IAAI,CAAA,CAAE,QAAA,CAAS,4BAA4B,CAAA;AAAA;AAAA,EAGlF,SAAA,EAAWA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,GAAW,OAAA,CAAQ,KAAK,CAAA,CAAE,QAAA,CAAS,gBAAgB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM1E,UAAA,EAAYA,MAAE,KAAA,CAAM,oBAAoB,EAAE,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO/F,YAAYA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,oDAAoD,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ/F,mBAAA,EAAqBA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,yCAAyC,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMtG,OAAA,EAASA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,+BAA+B,CAAA;AAAA,EACjF,IAAA,EAAMA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,mCAAmC,CAAA;AAAA;AAAA,EAGlF,gBAAA,EAAkBA,MAAE,MAAA,CAAO;AAAA,IACzB,IAAA,EAAMA,KAAAA,CAAE,IAAA,CAAK,CAAC,QAAA,EAAU,YAAA,EAAc,WAAW,CAAC,CAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA,CACjE,SAAS,kFAAkF,CAAA;AAAA,IAC9F,cAAA,EAAgBA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,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;AAmBO,SAAS,UAAU,MAAA,EAAwC;AAChE,EAAA,OAAO,SAAA,CAAU,MAAM,MAAM,CAAA;AAC/B;AC5OO,IAAM,gBAAA,GAAmBA,MAAE,IAAA,CAAK,CAAC,OAAO,MAAA,EAAQ,KAAA,EAAO,OAAA,EAAS,QAAQ,CAAC;AAKzE,IAAM,iBAAA,GAAoBA,MAAE,MAAA,CAAO;AAAA,EACxC,GAAA,EAAKA,KAAAA,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,KAAAA,CAAE,MAAA,CAAOA,KAAAA,CAAE,MAAA,EAAO,EAAGA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,qBAAqB,CAAA;AAAA,EACnF,MAAA,EAAQA,KAAAA,CAAE,MAAA,CAAOA,KAAAA,CAAE,MAAA,EAAO,EAAGA,KAAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,kBAAkB,CAAA;AAAA,EAChF,MAAMA,KAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,iCAAiC;AACzE,CAAC;AASM,IAAM,cAAA,GAAiBA,KAAAA,CAAE,kBAAA,CAAmB,UAAA,EAAY;AAAA,EAC7DA,MAAE,MAAA,CAAO;AAAA,IACP,QAAA,EAAUA,KAAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA;AAAA,IAC5B,MAAA,EAAQA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,oBAAoB;AAAA,GACjD,CAAA;AAAA,EACDA,MAAE,MAAA,CAAO;AAAA,IACP,QAAA,EAAUA,KAAAA,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,MAAE,MAAA,CAAO;AAAA,IACP,QAAA,EAAUA,KAAAA,CAAE,OAAA,CAAQ,OAAO,CAAA;AAAA,IAC3B,KAAA,EAAOA,MAAE,KAAA,CAAMA,KAAAA,CAAE,SAAS,CAAA,CAAE,SAAS,mBAAmB;AAAA,GACzD;AACH,CAAC;AAMM,IAAM,mBAAA,GAAsBA,MAAE,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,MAAE,MAAA,CAAO;AAAA,EACvC,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,yBAAyB,CAAA;AAAA,EACpD,KAAA,EAAO,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,wBAAwB,CAAA;AAAA,EACnE,KAAA,EAAOA,MAAE,MAAA,EAAO,CAAE,UAAS,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,wBAAwB,CAAA;AAAA,EACzE,KAAA,EAAOA,KAAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,QAAA,EAAU,OAAO,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,gBAAgB,CAAA;AAAA,EAC/E,QAAQA,KAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,wBAAwB,CAAA;AAAA,EAChE,UAAUA,KAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA,EACxE,WAAWA,KAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,4BAA4B,CAAA;AAAA,EACvE,MAAMA,KAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,qBAAqB,CAAA;AAAA,EAC3D,MAAMA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,mDAAmD,CAAA;AAAA;AAAA,EAGxF,MAAA,EAAQA,KAAAA,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,KAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,qEAAqE,CAAA;AAAA,EAC3G,QAAQA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8CAA8C;AACvF,CAAC;AAKM,IAAM,qBAAA,GAAwBA,MAAE,MAAA,CAAO;AAAA,EAC5C,IAAA,EAAMA,KAAAA,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,MAAE,MAAA,CAAO;AAAA,EAC7C,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,4BAA4B,CAAA;AAAA,EACvF,eAAA,EAAiBA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,QAAO,CAAE,GAAA,EAAI,CAAE,QAAA,EAAU,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,6BAA6B;AACzG,CAAC;AAMM,IAAM,eAAA,GAAkBA,MAAE,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,MAAE,MAAA,CAAO;AAAA,EAC1C,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,wBAAwB,CAAA;AAAA,EACnD,KAAA,EAAOA,KAAAA,CAAE,IAAA,CAAK,CAAC,KAAA,EAAO,MAAM,CAAC,CAAA,CAAE,OAAA,CAAQ,KAAK,CAAA,CAAE,QAAA,CAAS,kBAAkB,CAAA;AAAA,EACzE,SAAA,EAAWA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,4BAA4B;AAC7E,CAAC;AAMM,IAAM,oBAAA,GAAuBA,MAAE,MAAA,CAAO;AAAA,EAC3C,MAAA,EAAQA,MAAE,KAAA,CAAM,mBAAmB,EAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,CAAS,8CAA8C;AACrG,CAAC,CAAA,CAAE,SAAS,+BAA+B;AAMpC,IAAM,mBAAA,GAAsBA,MAAE,MAAA,CAAO;AAAA,EAC1C,YAAYA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iDAAiD,CAAA;AAAA,EAC5F,QAAA,EAAUA,KAAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,SAAS,CAAC,CAAA,CAAE,OAAA,CAAQ,OAAO,CAAA,CAAE,QAAA,CAAS,+BAA+B,CAAA;AAAA,EAChG,QAAA,EAAUA,KAAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,QAAA,EAAU,OAAO,CAAC,CAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA,CAAE,SAAS,2BAA2B,CAAA;AAAA,EACrG,YAAYA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gCAAgC,CAAA;AAAA,EAC3E,aAAA,EAAeA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,gCAAgC;AACzF,CAAC,CAAA,CAAE,SAAS,iCAAiC;AAMtC,IAAM,oBAAA,GAAuBA,MAAE,MAAA,CAAO;AAAA,EAC3C,cAAA,EAAgBA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,oCAAoC,CAAA;AAAA,EACxE,cAAcA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kCAAkC,CAAA;AAAA,EAC/E,UAAA,EAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,yCAAyC,CAAA;AAAA,EACzE,cAAcA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA,EAC3E,YAAYA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,+BAA+B,CAAA;AAAA,EAC1E,OAAOA,KAAAA,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,MAAE,MAAA,CAAO;AAAA,EACxC,IAAA,EAAMA,KAAAA,CAAE,IAAA,CAAK,CAAC,UAAA,EAAY,eAAe,CAAC,CAAA,CAAE,OAAA,CAAQ,eAAe,CAAA,CAAE,QAAA,CAAS,qBAAqB,CAAA;AAAA,EACnG,UAAUA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,wCAAwC;AACnF,CAAC,CAAA,CAAE,SAAS,uCAAuC;AAM5C,IAAM,oBAAA,GAAuBA,MAAE,MAAA,CAAO;AAAA,EAC3C,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,8DAA8D,CAAA;AAAA,EACzF,MAAA,EAAQA,KAAAA,CAAE,MAAA,CAAOA,KAAAA,CAAE,MAAA,EAAO,EAAGA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,yCAAyC;AACxG,CAAC,CAAA,CAAE,SAAS,+CAA+C;AAKpD,IAAM,kBAAA,GAAqBA,MAAE,MAAA,CAAO;AAAA,EACzC,YAAA,EAAcA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,mDAAmD,CAAA;AAAA,EACrF,gBAAgBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,6CAA6C,CAAA;AAAA,EAC5F,OAAA,EAASA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,SAAS,yBAAyB;AACjE,CAAC;AAKM,IAAM,oBAAA,GAAuBA,MAAE,MAAA,CAAO;AAAA,EAC3C,cAAA,EAAgBA,MAAE,MAAA,EAAO;AAAA,EACzB,YAAA,EAAcA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAClC,UAAA,EAAYA,MAAE,MAAA,EAAO;AAAA,EACrB,UAAA,EAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACzB,CAAC;AAKM,IAAM,iBAAA,GAAoBA,MAAE,MAAA,CAAO;AAAA,EACxC,cAAA,EAAgBA,MAAE,MAAA,EAAO;AAAA,EACzB,YAAA,EAAcA,MAAE,MAAA,EAAO;AAAA,EACvB,UAAA,EAAYA,MAAE,MAAA,EAAO;AAAA,EACrB,aAAA,EAAeA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACnC,iBAAA,EAAmBA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAChC,CAAC;AAMM,IAAM,oBAAA,GAAuBA,MAAE,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,MAAE,MAAA,CAAO;AAAA,EAC7C,IAAA,EAAM,oBAAA,CAAqB,OAAA,CAAQ,MAAM,CAAA;AAAA;AAAA,EAGzC,MAAMA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,6EAA6E,CAAA;AAAA;AAAA,EAGlH,iBAAA,EAAmBA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,sCAAsC,CAAA;AAAA,EAC7F,UAAA,EAAYA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,8CAA8C,CAAA;AAAA;AAAA,EAG9F,KAAA,EAAOA,KAAAA,CAAE,KAAA,CAAM,CAACA,MAAE,MAAA,EAAO,EAAGA,KAAAA,CAAE,MAAA,EAAQ,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,iDAAiD;AAChH,CAAC;AA6BM,IAAM,cAAA,GAAiBA,MAAE,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,MAAE,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,MAAE,KAAA,CAAM;AAAA,IACfA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA;AAAA;AAAA,IAClBA,KAAAA,CAAE,MAAM,gBAAgB;AAAA;AAAA,GACzB,CAAA,CAAE,QAAA,CAAS,8BAA8B,CAAA;AAAA,EAC1C,MAAA,EAAQA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,8BAA8B,CAAA;AAAA,EAC/E,IAAA,EAAMA,MAAE,KAAA,CAAM;AAAA,IACZA,MAAE,MAAA,EAAO;AAAA;AAAA,IACTA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,CAAO;AAAA,MACf,KAAA,EAAOA,MAAE,MAAA,EAAO;AAAA,MAChB,OAAOA,KAAAA,CAAE,IAAA,CAAK,CAAC,KAAA,EAAO,MAAM,CAAC;AAAA,KAC9B,CAAC;AAAA,GACH,EAAE,QAAA,EAAS;AAAA;AAAA,EAGZ,gBAAA,EAAkBA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,2BAA2B,CAAA;AAAA,EACrF,gBAAA,EAAkBA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,sDAAsD,CAAA;AAAA;AAAA,EAGhH,YAAA,EAAcA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,CAAO;AAAA,IAC7B,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,yBAAyB,CAAA;AAAA,IACpD,OAAOA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,4BAA4B,CAAA;AAAA,IAClE,UAAUA,KAAAA,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,OAAOA,KAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,qBAAqB;AAAA,GAC7D,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,mDAAmD,CAAA;AAAA;AAAA,EAG3E,WAAWA,KAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,wBAAwB,CAAA;AAAA,EACnE,SAASA,KAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,qBAAqB,CAAA;AAAA,EAC9D,UAAUA,KAAAA,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,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,sCAAsC,CAAA;AAAA,EAC5F,UAAA,EAAYA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,4CAA4C,CAAA;AAAA;AAAA,EAGhG,UAAA,EAAYA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,4CAA4C,CAAA;AAAA,EAChG,WAAA,EAAaA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,mDAAmD,CAAA;AAAA;AAAA,EAGxG,eAAeA,KAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,6CAA6C,CAAA;AAAA;AAAA,EAG5F,qBAAA,EAAuBA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,CAAO;AAAA,IACtC,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,kCAAkC,CAAA;AAAA,IACjE,KAAA,EAAOA,KAAAA,CAAE,MAAA,CAAOA,KAAAA,CAAE,MAAA,EAAO,EAAGA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,CAAS,4CAA4C;AAAA,GAC9F,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,4CAA4C,CAAA;AAAA;AAAA,EAGpE,YAAYA,KAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,2DAA2D,CAAA;AAAA;AAAA,EAGvG,eAAeA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,IAAA,CAAK,CAAC,KAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,MAAM,CAAC,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA;AAAA,EAGpH,UAAA,EAAYA,MAAE,MAAA,CAAO;AAAA,IACnB,KAAA,EAAO,gBAAgB,QAAA,EAAS;AAAA,IAChC,OAAA,EAAS,gBAAgB,QAAA,EAAS;AAAA,IAClC,IAAA,EAAMA,KAAAA,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;AAC7F,CAAC;AAMM,IAAM,eAAA,GAAkBA,MAAE,MAAA,CAAO;AAAA,EACtC,KAAA,EAAOA,KAAAA,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,KAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,oBAAoB,CAAA;AAAA,EAC9D,UAAUA,KAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,mBAAmB,CAAA;AAAA,EAC7D,QAAQA,KAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,iBAAiB,CAAA;AAAA,EACzD,OAAA,EAASA,KAAAA,CAAE,MAAA,EAAO,CAAE,KAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,IAAI,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,kCAAkC,CAAA;AAAA,EAC9F,QAAQA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA,EACrE,WAAWA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA,EAC3E,WAAWA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iCAAiC;AAC7E,CAAC;AAKM,IAAM,iBAAA,GAAoBA,MAAE,MAAA,CAAO;AAAA,EACxC,KAAA,EAAO,gBAAgB,QAAA,EAAS;AAAA,EAChC,WAAA,EAAaA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA;AAAA,EACtC,SAAA,EAAWA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA;AAAA,EACpC,SAASA,KAAAA,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,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,KAAA,CAAM;AAAA,IACtBA,MAAE,MAAA,EAAO;AAAA;AAAA,IACT;AAAA;AAAA,GACD,CAAC;AACJ,CAAC;AAsBM,IAAM,cAAA,GAAiBA,MAAE,MAAA,CAAO;AAAA,EACrC,IAAA,EAAMA,MAAE,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,KAAAA,CAAE,KAAA,CAAM,iBAAiB,EAAE,QAAA,EAAS;AAAA;AAAA,EAC9C,MAAA,EAAQA,KAAAA,CAAE,KAAA,CAAM,iBAAiB,EAAE,QAAA,EAAS;AAAA;AAAA;AAAA,EAG5C,WAAA,EAAaA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,CAAO;AAAA,IAC5B,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,uBAAuB,CAAA;AAAA,IAClD,KAAA,EAAOA,KAAAA,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,IAAA,EAAM,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,iDAAiD;AAC7F,CAAC;AAoBM,IAAM,UAAA,GAAaA,MAAE,MAAA,CAAO;AAAA,EAC/B,IAAA,EAAM,eAAe,QAAA,EAAS;AAAA;AAAA,EAC9B,IAAA,EAAM,eAAe,QAAA,EAAS;AAAA;AAAA,EAC9B,SAAA,EAAWA,KAAAA,CAAE,MAAA,CAAOA,KAAAA,CAAE,MAAA,EAAO,EAAG,cAAc,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,6BAA6B,CAAA;AAAA,EACjG,SAAA,EAAWA,KAAAA,CAAE,MAAA,CAAOA,KAAAA,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;ACjdO,IAAM,oBAAA,GAAuBA,MAAE,MAAA,CAAO;AAAA,EAC3C,MAAA,EAAQA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,6BAA6B;AAC3D,CAAC,CAAA;AAYqCA,MAAE,MAAA,CAAO;AAAA;AAAA,EAE7C,GAAA,EAAKA,KAAAA,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS;AAAA;AAAA,EAGtB,GAAA,EAAKA,KAAAA,CAAE,GAAA,EAAI,CAAE,QAAA;AACf,CAAC;AAMuCA,MAAE,MAAA,CAAO;AAAA;AAAA,EAE/C,GAAA,EAAKA,KAAAA,CAAE,KAAA,CAAM,CAACA,KAAAA,CAAE,MAAA,EAAO,EAAGA,KAAAA,CAAE,IAAA,EAAK,EAAG,oBAAoB,CAAC,EAAE,QAAA,EAAS;AAAA;AAAA,EAGpE,IAAA,EAAMA,KAAAA,CAAE,KAAA,CAAM,CAACA,KAAAA,CAAE,MAAA,EAAO,EAAGA,KAAAA,CAAE,IAAA,EAAK,EAAG,oBAAoB,CAAC,EAAE,QAAA,EAAS;AAAA;AAAA,EAGrE,GAAA,EAAKA,KAAAA,CAAE,KAAA,CAAM,CAACA,KAAAA,CAAE,MAAA,EAAO,EAAGA,KAAAA,CAAE,IAAA,EAAK,EAAG,oBAAoB,CAAC,EAAE,QAAA,EAAS;AAAA;AAAA,EAGpE,IAAA,EAAMA,KAAAA,CAAE,KAAA,CAAM,CAACA,KAAAA,CAAE,MAAA,EAAO,EAAGA,KAAAA,CAAE,IAAA,EAAK,EAAG,oBAAoB,CAAC,EAAE,QAAA;AAC9D,CAAC;AASgCA,MAAE,MAAA,CAAO;AAAA;AAAA,EAExC,KAAKA,KAAAA,CAAE,KAAA,CAAMA,MAAE,GAAA,EAAK,EAAE,QAAA,EAAS;AAAA;AAAA,EAG/B,MAAMA,KAAAA,CAAE,KAAA,CAAMA,MAAE,GAAA,EAAK,EAAE,QAAA;AACzB,CAAC;AAMkCA,MAAE,MAAA,CAAO;AAAA;AAAA,EAE1C,QAAA,EAAUA,MAAE,KAAA,CAAM;AAAA,IAChBA,KAAAA,CAAE,KAAA,CAAM,CAACA,KAAAA,CAAE,MAAA,IAAUA,KAAAA,CAAE,IAAA,EAAK,EAAG,oBAAoB,CAAC,CAAA;AAAA,IACpDA,KAAAA,CAAE,KAAA,CAAM,CAACA,KAAAA,CAAE,MAAA,IAAUA,KAAAA,CAAE,IAAA,EAAK,EAAG,oBAAoB,CAAC;AAAA,GACrD,EAAE,QAAA;AACL,CAAC;AAUmCA,MAAE,MAAA,CAAO;AAAA;AAAA,EAE3C,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA;AAAA,EAG/B,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA;AAAA,EAGjC,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACxB,CAAC;AASoCA,MAAE,MAAA,CAAO;AAAA;AAAA,EAE5C,KAAA,EAAOA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA;AAAA,EAG5B,OAAA,EAASA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA;AACvB,CAAC;AAUM,IAAM,oBAAA,GAAuBA,MAAE,MAAA,CAAO;AAAA;AAAA,EAE3C,GAAA,EAAKA,KAAAA,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS;AAAA,EACtB,GAAA,EAAKA,KAAAA,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS;AAAA;AAAA,EAGtB,GAAA,EAAKA,KAAAA,CAAE,KAAA,CAAM,CAACA,KAAAA,CAAE,MAAA,EAAO,EAAGA,KAAAA,CAAE,IAAA,EAAK,EAAG,oBAAoB,CAAC,EAAE,QAAA,EAAS;AAAA,EACpE,IAAA,EAAMA,KAAAA,CAAE,KAAA,CAAM,CAACA,KAAAA,CAAE,MAAA,EAAO,EAAGA,KAAAA,CAAE,IAAA,EAAK,EAAG,oBAAoB,CAAC,EAAE,QAAA,EAAS;AAAA,EACrE,GAAA,EAAKA,KAAAA,CAAE,KAAA,CAAM,CAACA,KAAAA,CAAE,MAAA,EAAO,EAAGA,KAAAA,CAAE,IAAA,EAAK,EAAG,oBAAoB,CAAC,EAAE,QAAA,EAAS;AAAA,EACpE,IAAA,EAAMA,KAAAA,CAAE,KAAA,CAAM,CAACA,KAAAA,CAAE,MAAA,EAAO,EAAGA,KAAAA,CAAE,IAAA,EAAK,EAAG,oBAAoB,CAAC,EAAE,QAAA,EAAS;AAAA;AAAA,EAGrE,KAAKA,KAAAA,CAAE,KAAA,CAAMA,MAAE,GAAA,EAAK,EAAE,QAAA,EAAS;AAAA,EAC/B,MAAMA,KAAAA,CAAE,KAAA,CAAMA,MAAE,GAAA,EAAK,EAAE,QAAA,EAAS;AAAA,EAChC,QAAA,EAAUA,MAAE,KAAA,CAAM;AAAA,IAChBA,KAAAA,CAAE,KAAA,CAAM,CAACA,KAAAA,CAAE,MAAA,IAAUA,KAAAA,CAAE,IAAA,EAAK,EAAG,oBAAoB,CAAC,CAAA;AAAA,IACpDA,KAAAA,CAAE,KAAA,CAAM,CAACA,KAAAA,CAAE,MAAA,IAAUA,KAAAA,CAAE,IAAA,EAAK,EAAG,oBAAoB,CAAC;AAAA,GACrD,EAAE,QAAA,EAAS;AAAA;AAAA,EAGZ,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC/B,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA;AAAA,EAG/B,KAAA,EAAOA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EAC5B,OAAA,EAASA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA;AACvB,CAAC,CAAA;AAiCM,IAAM,wBAAoDA,KAAAA,CAAE,IAAA;AAAA,EAAK,MACtEA,MAAE,MAAA,CAAOA,KAAAA,CAAE,QAAO,EAAGA,KAAAA,CAAE,OAAA,EAAS,CAAA,CAAE,GAAA;AAAA,IAChCA,MAAE,MAAA,CAAO;AAAA,MACP,IAAA,EAAMA,KAAAA,CAAE,KAAA,CAAM,qBAAqB,EAAE,QAAA,EAAS;AAAA,MAC9C,GAAA,EAAKA,KAAAA,CAAE,KAAA,CAAM,qBAAqB,EAAE,QAAA,EAAS;AAAA,MAC7C,IAAA,EAAM,sBAAsB,QAAA;AAAS,KACtC;AAAA;AAEL,CAAA;AA2BiCA,MAAE,MAAA,CAAO;AAAA,EACxC,KAAA,EAAO,sBAAsB,QAAA;AAC/B,CAAC;AAqEM,IAAM,yBAAyCA,KAAAA,CAAE,IAAA;AAAA,EAAK,MAC3DA,MAAE,MAAA,CAAO;AAAA,IACP,MAAMA,KAAAA,CAAE,KAAA;AAAA,MACNA,MAAE,KAAA,CAAM;AAAA;AAAA,QAENA,KAAAA,CAAE,MAAA,CAAOA,KAAAA,CAAE,MAAA,IAAU,oBAAoB,CAAA;AAAA;AAAA,QAEzC;AAAA,OACD;AAAA,MACD,QAAA,EAAS;AAAA,IAEX,KAAKA,KAAAA,CAAE,KAAA;AAAA,MACLA,MAAE,KAAA,CAAM;AAAA,QACNA,KAAAA,CAAE,MAAA,CAAOA,KAAAA,CAAE,MAAA,IAAU,oBAAoB,CAAA;AAAA,QACzC;AAAA,OACD;AAAA,MACD,QAAA,EAAS;AAAA,IAEX,IAAA,EAAMA,MAAE,KAAA,CAAM;AAAA,MACZA,KAAAA,CAAE,MAAA,CAAOA,KAAAA,CAAE,MAAA,IAAU,oBAAoB,CAAA;AAAA,MACzC;AAAA,KACD,EAAE,QAAA;AAAS,GACb;AACH,CAAA;;;AChUO,IAAM,qBAAA,GAAwBA,MAAE,MAAA,CAAO;AAAA;AAAA,EAE5C,KAAA,EAAO,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,cAAc,CAAA;AAAA;AAAA,EAGzD,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,QAAQA,KAAAA,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,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,6BAA6B,CAAA;AAAA;AAAA,EAG3E,YAAYA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,2BAA2B,CAAA;AAAA;AAAA,EAGtE,WAAWA,KAAAA,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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASlH,MAAA,EAAQA,MAAE,MAAA,CAAO;AAAA,IACf,CAAA,EAAGA,MAAE,MAAA,EAAO;AAAA,IACZ,CAAA,EAAGA,MAAE,MAAA,EAAO;AAAA,IACZ,CAAA,EAAGA,MAAE,MAAA,EAAO;AAAA,IACZ,CAAA,EAAGA,MAAE,MAAA;AAAO,GACb,CAAA,CAAE,QAAA,CAAS,sBAAsB,CAAA;AAAA;AAAA,EAGlC,SAASA,KAAAA,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;AA+BM,IAAM,eAAA,GAAkBA,MAAE,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,SAASA,KAAAA,CAAE,KAAA,CAAM,qBAAqB,CAAA,CAAE,SAAS,oBAAoB,CAAA;AAAA;AAAA,EAGrE,iBAAiBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kCAAkC,CAAA;AAAA;AAAA,EAGlF,SAAA,EAAWA,MAAE,MAAA,CAAO;AAAA,IAClB,OAAOA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kDAAkD,CAAA;AAAA,IACxF,YAAA,EAAcA,KAAAA,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,MAAE,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,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,CAAO;AAAA,IAC9B,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,yBAAyB,CAAA;AAAA,IACpD,KAAA,EAAO,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA,IACzE,IAAA,EAAMA,KAAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAA,EAAQ,QAAQ,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,mBAAmB;AAAA,GAC3F,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,2DAA2D,CAAA;AAAA;AAAA,EAGnF,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;AASM,IAAM,SAAA,GAAY;AAAA,EACvB,MAAA,EAAQ,CAAC,MAAA,KAAuD,eAAA,CAAgB,MAAM,MAAM;AAC9F;AC7HO,IAAM,UAAA,GAAaA,MAAE,IAAA,CAAK;AAAA,EAC/B,SAAA;AAAA;AAAA,EACA,SAAA;AAAA;AAAA,EACA,QAAA;AAAA;AAAA,EACA;AAAA;AACF,CAAC;AAKM,IAAM,kBAAA,GAAqBA,MAAE,MAAA,CAAO;AAAA,EACzC,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,YAAY,CAAA;AAAA,EACvC,KAAA,EAAO,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,gBAAgB,CAAA;AAAA,EAC3D,SAAA,EAAWA,KAAAA,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,MAAE,MAAA,CAAO;AAAA,EAC3C,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,mBAAmB,CAAA;AAAA,EAC9C,SAAA,EAAWA,MAAE,IAAA,CAAK,CAAC,OAAO,MAAM,CAAC,CAAA,CAAE,OAAA,CAAQ,KAAK,CAAA;AAAA,EAChD,eAAA,EAAiBA,KAAAA,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,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,2BAA2B,CAAA;AAAA,EACtD,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,0BAA0B,CAAA;AAAA,EACrD,SAASA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,2BAA2B;AACrE,CAAC;AAMM,IAAM,YAAA,GAAeA,MAAE,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,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,gBAAgB,CAAA;AAAA;AAAA,EAGhD,MAAM,UAAA,CAAW,OAAA,CAAQ,SAAS,CAAA,CAAE,SAAS,oBAAoB,CAAA;AAAA,EAEjE,SAASA,KAAAA,CAAE,KAAA,CAAM,kBAAkB,CAAA,CAAE,SAAS,oBAAoB,CAAA;AAAA;AAAA,EAGlE,aAAA,EAAeA,MAAE,KAAA,CAAM,oBAAoB,EAAE,QAAA,EAAS,CAAE,SAAS,eAAe,CAAA;AAAA,EAChF,eAAA,EAAiBA,MAAE,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,MAAE,IAAA,CAAK;AAAA,EAC9C,aAAA;AAAA,EACA,aAAA;AAAA,EACA;AACF,CAAC,CAAA,CAAE,SAAS,gCAAgC,CAAA;AAIrC,IAAM,2BAAA,GAA8BA,MAAE,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,MAAE,MAAA,CAAO;AAAA,EAC9C,OAAA,EAASA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,+BAA+B,CAAA;AAAA,EAC5E,aAAA,EAAeA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,4BAA4B,CAAA;AAAA,EAClF,iBAAA,EAAmBA,MAAE,MAAA,EAAO,CAAE,QAAQ,CAAC,CAAA,CAAE,SAAS,sCAAsC,CAAA;AAAA,EACxF,UAAA,EAAYA,MAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,8CAA8C;AAC/F,CAAC,CAAA,CAAE,SAAS,8CAA8C,CAAA;AAKnD,IAAM,sBAAA,GAAyBA,MAAE,MAAA,CAAO;AAAA,EAC7C,OAAA,EAASA,MAAE,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,MAAE,MAAA,CAAO;AAAA,IACtB,QAAA,EAAU,2BAAA,CAA4B,QAAA,CAAS,iCAAiC,CAAA;AAAA,IAChF,OAAOA,KAAAA,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,KAAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,QAAA,EAAU,OAAA,EAAS,UAAU,CAAC,CAAA,CAAE,QAAA,CAAS,wBAAwB,CAAA;AAAA,EACzF,uBAAA,EAAyBA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,2CAA2C,CAAA;AAAA,EACxG,oBAAA,EAAsBA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,iCAAiC;AAC7F,CAAC,CAAA,CAAE,SAAS,sCAAsC,CAAA;AAKbA,MAAE,MAAA,CAAO;AAAA,EAC5C,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,8BAA8B,CAAA;AAAA,EAC7D,gBAAA,EAAkB,sBAAA,CAAuB,QAAA,CAAS,oCAAoC,CAAA;AAAA,EACtF,SAAA,EAAWA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,mCAAmC;AACpF,CAAC,CAAA,CAAE,SAAS,iCAAiC;ACjDtC,IAAM,qBAAA,GAAwBA,MAAE,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,MAAE,MAAA,CAAO;AAAA,EACxC,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,gCAAgC,CAAA;AAAA,EAC3D,QAAA,EAAU,qBAAA,CAAsB,QAAA,CAAS,yBAAyB,CAAA;AAAA,EAClE,SAASA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,mCAAmC,CAAA;AAAA,EAC3E,cAAA,EAAgBA,MAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,6CAA6C,CAAA;AAAA,EAChG,cAAA,EAAgBA,MAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,6CAA6C,CAAA;AAAA,EAChG,KAAA,EAAOA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,4BAA4B,CAAA;AAAA,EAC3E,WAAA,EAAaA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,8BAA8B;AACrF,CAAC,CAAA,CAAE,SAAS,iCAAiC,CAAA;AAKVA,MAAE,MAAA,CAAO;AAAA,EAC1C,OAAA,EAASA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,qBAAqB,CAAA;AAAA,EAClE,OAAOA,KAAAA,CAAE,KAAA,CAAM,iBAAiB,CAAA,CAAE,SAAS,mCAAmC,CAAA;AAAA,EAC9E,cAAA,EAAgBA,MAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,2CAA2C;AAChG,CAAC,CAAA,CAAE,SAAS,yDAAyD;;;AC1B9D,IAAM,SAAA,GAAYA,MAAE,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,MAAE,MAAA,CAAO;AAAA,EACzC,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,kDAAkD,CAAA;AAAA,EAC7E,KAAA,EAAO,sBAAA,CAAuB,QAAA,CAAS,6CAA6C,CAAA;AAAA,EACpF,OAAOA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA,EACpE,SAASA,KAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,mBAAmB;AAC9D,CAAC,CAAA;AAMwCA,MAAE,MAAA,CAAO;AAAA,EAChD,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA,CAAE,QAAA,CAAS,qBAAqB,CAAA;AAAA,EACpE,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,IAAI,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,CAAS,sBAAsB,CAAA;AAAA,EACxE,UAAUA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,oBAAoB,CAAA;AAAA,EAC7D,UAAUA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,oBAAoB;AAC/D,CAAC;AAYM,IAAM,oBAAA,GAAuBA,MAAE,MAAA,CAAO;AAAA,EAC3C,WAAWA,KAAAA,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,KAAAA,CAAE,IAAA,CAAK,CAAC,SAAA,EAAW,OAAO,CAAC,CAAA,CAAE,OAAA,CAAQ,SAAS,CAAA,CAAE,QAAA,CAAS,qEAAqE,CAAA;AAAA,EAC5I,eAAA,EAAiBA,KAAAA,CAAE,MAAA,EAAO,CAAE,MAAA,CAAO,CAAC,CAAA,CAAE,OAAA,CAAQ,KAAK,CAAA,CAAE,QAAA,CAAS,gEAAgE;AAChI,CAAC,CAAA;AASkCA,MAAE,MAAA,CAAO;AAAA,EAC1C,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,iBAAiB,CAAA;AAAA,EAC5C,QAAA,EAAUA,MAAE,MAAA,EAAO,CAAE,OAAO,CAAC,CAAA,CAAE,SAAS,0BAA0B;AACpE,CAAC;AAM4BA,MAAE,MAAA,CAAO;AAAA,EACpC,QAAQA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gBAAgB,CAAA;AAAA,EACvD,MAAMA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,WAAW,CAAA;AAAA,EAChD,OAAOA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gBAAgB,CAAA;AAAA,EACtD,YAAYA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iBAAiB,CAAA;AAAA,EAC5D,SAASA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,sBAAsB,CAAA;AAAA,EAC9D,aAAaA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA,EAC7E,WAAWA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,0BAA0B;AACtE,CAAC;AA0BM,IAAM,kBAAA,GAAqBA,MAAE,MAAA,CAAO;AAAA,EACzC,UAAA,EAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAK,CAAA,CAAE,SAAS,0DAA0D,CAAA;AAAA,EAClH,cAAA,EAAgBA,KAAAA,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,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,8CAA8C,CAAA;AAAA,EAC9F,OAAA,EAASA,MAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,6DAA6D,CAAA;AAAA,EACzG,SAAA,EAAWA,KAAAA,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,MAAE,MAAA,CAAO;AAAA;AAAA,EAEjD,OAAA,EAASA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,4BAA4B,CAAA;AAAA,EAC3E,OAAA,EAASA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,oDAAoD,CAAA;AAAA;AAAA,EAGnG,YAAA,EAAcA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,2DAA2D,CAAA;AAAA,EACjH,YAAA,EAAcA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,yDAAyD,CAAA;AAAA,EAC/G,gBAAA,EAAkBA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,8DAA8D,CAAA;AAAA,EACxH,gBAAA,EAAkBA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,oBAAoB,CAAA;AAAA;AAAA,EAG9E,SAAA,EAAWA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,0CAA0C,CAAA;AAAA,EACzF,iBAAA,EAAmBA,KAAAA,CAAE,IAAA,CAAK,CAAC,QAAA,EAAU,YAAA,EAAc,cAAA,EAAgB,QAAQ,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA,EACnI,iBAAA,EAAmBA,MAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,kCAAkC,CAAA;AAAA,EACxF,kBAAA,EAAoBA,MAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,qCAAqC,CAAA;AAAA;AAAA,EAG5F,iBAAiBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,+DAA+D,CAAA;AAAA,EAC/G,eAAeA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,oBAAoB,CAAA;AAAA,EAClE,eAAeA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kDAAkD,CAAA;AAAA;AAAA,EAGhG,eAAA,EAAiBA,MAAE,MAAA,CAAO;AAAA,IACxB,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,+BAA+B,CAAA;AAAA,IAC/E,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,+BAA+B,CAAA;AAAA,IAC/E,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,gCAAgC,CAAA;AAAA,IACjF,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,gCAAgC,CAAA;AAAA,IACjF,aAAaA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,6CAA6C,CAAA;AAAA,IACzF,kBAAA,EAAoBA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,0BAA0B,CAAA;AAAA,IAClF,cAAA,EAAgBA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,CAAO;AAAA,MAC/B,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,2DAA2D,CAAA;AAAA,MACrF,KAAA,EAAOA,MAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,SAAS,2BAA2B,CAAA;AAAA,MAC7D,MAAA,EAAQA,MAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,SAAS,4BAA4B,CAAA;AAAA,MAC/D,IAAA,EAAMA,MAAE,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,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,wBAAwB,CAAA;AAAA,IAC9E,UAAA,EAAYA,MAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,uCAAuC;AAAA,GACvF,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA;AAAA,EAGxD,aAAA,EAAeA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,wDAAwD,CAAA;AAAA,EAC3G,YAAA,EAAcA,MAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,gCAAgC,CAAA;AAAA,EACjF,WAAA,EAAaA,MAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,+BAA+B,CAAA;AAAA,EAC/E,aAAA,EAAeA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,kDAAkD,CAAA;AAAA;AAAA,EAGrG,eAAA,EAAiBA,MAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,gDAAgD,CAAA;AAAA,EACpG,WAAA,EAAaA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,mDAAmD,CAAA;AAAA;AAAA,EAGpG,iBAAA,EAAmBA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,0CAA0C,CAAA;AAAA,EACjG,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,sCAAsC,CAAA;AAAA;AAAA,EAGzF,UAAA,EAAYA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,4CAA4C,CAAA;AAAA,EAC5F,kBAAA,EAAoBA,KAAAA,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,MAAE,MAAA,CAAO;AAAA;AAAA,EAE7C,UAAA,EAAYA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,0CAA0C,CAAA;AAAA;AAAA,EAG1F,YAAA,EAAcA,KAAAA,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,MAAE,MAAA,CAAO;AAAA,IACjB,MAAA,EAAQA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,8EAA8E,CAAA;AAAA,IAC1G,SAAA,EAAWA,KAAAA,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,MAAE,MAAA,CAAO;AAAA;AAAA,EAE/C,OAAA,EAASA,KAAAA,CAAE,OAAA,EAAQ,CAAE,SAAS,2CAA2C,CAAA;AAAA;AAAA,EAGzE,GAAA,EAAKA,MAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,SAAS,0CAA0C,CAAA;AAAA;AAAA,EAG1E,YAAA,EAAcA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,SAAS,wFAAwF;AACrI,CAAC,CAAA;AA8BM,IAAM,WAAA,GAAcA,MAAE,MAAA,CAAO;AAAA;AAAA,EAElC,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,KAAA,CAAM,oBAAoB,CAAA,CAAE,QAAA,CAAS,2BAA2B,CAAA,CAAE,QAAA,EAAS;AAAA,EAC5F,OAAOA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,sBAAsB,CAAA;AAAA,EAC5D,IAAA,EAAM,SAAA,CAAU,QAAA,CAAS,iBAAiB,CAAA;AAAA,EAC1C,aAAaA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,mBAAmB,CAAA;AAAA,EAC/D,QAAQA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,mCAAmC,CAAA;AAAA;AAAA,EAG1E,QAAA,EAAUA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,aAAa,CAAA;AAAA,EAC3D,UAAA,EAAYA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,eAAe,CAAA;AAAA,EAC/D,QAAA,EAAUA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,2FAA2F,CAAA;AAAA,EACzI,MAAA,EAAQA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,sBAAsB,CAAA;AAAA,EAClE,cAAcA,KAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,eAAe,CAAA;AAAA;AAAA,EAG7D,WAAWA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,sBAAsB,CAAA;AAAA,EAChE,WAAWA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,sBAAsB,CAAA;AAAA;AAAA,EAGhE,WAAWA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,cAAc,CAAA;AAAA,EACxD,OAAOA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gBAAgB,CAAA;AAAA,EACtD,KAAKA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,eAAe,CAAA;AAAA,EACnD,KAAKA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,eAAe,CAAA;AAAA;AAAA,EAGnD,OAAA,EAASA,MAAE,KAAA,CAAM,kBAAkB,EAAE,QAAA,EAAS,CAAE,SAAS,uCAAuC,CAAA;AAAA;AAAA,EAGhG,WAAWA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,oBAAoB,CAAA;AAAA,EAC9D,gBAAA,EAAkBA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,0DAA0D,CAAA;AAAA,EACpH,yBAAyBA,KAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,qEAAqE,CAAA;AAAA,EAC9H,cAAA,EAAgBA,KAAAA,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,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,oBAAoB,CAAA;AAAA,EAC/D,iBAAA,EAAmBA,MAAE,MAAA,CAAO;AAAA,IAC1B,MAAA,EAAQA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,sCAAsC,CAAA;AAAA,IAClE,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,oCAAoC,CAAA;AAAA,IAC/D,QAAA,EAAUA,KAAAA,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,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8EAA8E,CAAA;AAAA,EACvH,OAAOA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gDAAgD,CAAA;AAAA,EACtF,aAAaA,KAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,kCAAkC,CAAA;AAAA;AAAA,EAG/E,WAAWA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,mCAAmC,CAAA;AAAA,EAC7E,WAAWA,KAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,yBAAyB,CAAA;AAAA;AAAA,EAGpE,YAAYA,KAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,uCAAuC,CAAA;AAAA,EACnF,gBAAgBA,KAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,wCAAwC,CAAA;AAAA;AAAA,EAGxF,aAAA,EAAeA,KAAAA,CAAE,IAAA,CAAK,CAAC,IAAA,EAAM,IAAA,EAAM,eAAe,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,yBAAyB,CAAA;AAAA;AAAA,EAGlG,WAAA,EAAaA,KAAAA,CAAE,IAAA,CAAK,CAAC,KAAA,EAAO,KAAA,EAAO,MAAA,EAAQ,KAAK,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,oBAAoB,CAAA;AAAA,EAC3F,YAAYA,KAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,kCAAkC,CAAA;AAAA,EAC9E,YAAA,EAAcA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,sBAAsB,CAAA;AAAA;AAAA,EAG5E,MAAMA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,wCAAwC,CAAA;AAAA,EAC7E,WAAWA,KAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA,EAC5E,KAAA,EAAOA,KAAAA,CAAE,MAAA,CAAOA,KAAAA,CAAE,MAAA,EAAO,EAAGA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,sFAAsF,CAAA;AAAA;AAAA;AAAA;AAAA,EAKlJ,eAAeA,KAAAA,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,KAAAA,CAAE,IAAA,CAAK,CAAC,GAAA,EAAK,GAAA,EAAK,GAAA,EAAK,GAAG,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,wGAAwG,CAAA;AAAA,EAC5K,cAAcA,KAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,oDAAoD,CAAA;AAAA,EAClG,eAAeA,KAAAA,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,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,yFAAyF,CAAA;AAAA;AAAA;AAAA,EAIzI,YAAA,EAAcA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,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,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,yGAAyG,CAAA;AAAA;AAAA,EAG/I,qBAAqBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,CAAA,2FAAA,CAA+F,CAAA;AAAA;AAAA,EAGnJ,MAAA,EAAQA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,wBAAwB,CAAA;AAAA,EACpE,QAAA,EAAUA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,iBAAiB,CAAA;AAAA,EAC/D,QAAA,EAAUA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,GAAW,OAAA,CAAQ,IAAI,CAAA,CAAE,QAAA,CAAS,yCAAyC,CAAA;AAAA,EACjG,gBAAgBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8CAA8C,CAAA;AAAA,EAC7F,kBAAkBA,KAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,mEAAmE,CAAA;AAAA,EACrH,eAAeA,KAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,6CAA6C,CAAA;AAAA,EAC5F,kBAAkBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,0DAA0D,CAAA;AAAA;AAAA,EAE3G,KAAA,EAAOA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,gCAAgC,CAAA;AAAA,EAC3E,UAAA,EAAYA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,sCAAsC;AACxF,CAAC,CAAA;;;ACzcM,IAAM,iBAAA,GAAoBA,MAAE,MAAA,CAAO;AAAA,EACxC,IAAA,EAAMA,MAAE,MAAA,EAAO;AAAA,EACf,KAAA,EAAO,eAAA;AAAA,EACP,IAAA,EAAM,SAAA;AAAA,EACN,QAAA,EAAUA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA;AAAA,EACnC,OAAA,EAASA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,OAAO,EAAE,KAAA,EAAO,eAAA,EAAiB,KAAA,EAAOA,MAAE,MAAA,EAAO,EAAG,CAAC,EAAE,QAAA;AAC5E,CAAC;AAsBM,IAAM,YAAA,GAAeA,MAAE,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,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,WAAW,CAAA;AAAA;AAAA,EAGhD,SAAA,EAAWA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,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,MAAE,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,IAAA,EAAMA,KAAAA,CAAE,IAAA,CAAK,CAAC,UAAU,KAAA,EAAO,OAAA,EAAS,MAAA,EAAQ,KAAK,CAAC,CAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA,CAAE,SAAS,2BAA2B,CAAA;AAAA;AAAA,EAG9G,QAAQA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,4CAA4C,CAAA;AAAA;AAAA,EACnF,SAASA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,wBAAwB,CAAA;AAAA;AAAA,EAGhE,MAAA,EAAQA,MAAE,KAAA,CAAM,iBAAiB,EAAE,QAAA,EAAS,CAAE,SAAS,qCAAqC,CAAA;AAAA;AAAA,EAG5F,OAAA,EAASA,KAAAA,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,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,8BAA8B,CAAA;AAAA;AAAA,EAGhF,SAASA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,2BAA2B,CAAA;AAAA,EACnE,QAAA,EAAUA,KAAAA,CAAE,KAAA,CAAM,CAACA,MAAE,OAAA,EAAQ,EAAGA,KAAAA,CAAE,MAAA,EAAQ,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,kEAAkE,CAAA;AAAA;AAAA,EAGnI,UAAUA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,2DAA2D,CAAA;AAAA;AAAA,EAGpG,aAAaA,KAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,iEAAiE,CAAA;AAAA;AAAA,EAG9G,SAASA,KAAAA,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;AASM,IAAM,MAAA,GAAS;AAAA,EACpB,MAAA,EAAQ,CAAC,MAAA,KAAiD,YAAA,CAAa,MAAM,MAAM;AACrF;ACrGO,IAAM,gBAAA,GAAmBA,MAAE,MAAA,CAAO;AAAA,EACvC,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,gDAAgD,CAAA;AAAA,EAC1E,KAAA,EAAOA,KAAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,UAAU,OAAA,EAAS,MAAM,CAAC,CAAA,CAAE,QAAA,EAAS;AAAA,EAC7D,UAAA,EAAYA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,IAAA,CAAK,MAAM,mBAAmB,CAAC,CAAA,CAAE,QAAA,CAAS,2BAA2B;AAC7F,CAAC;AAKM,IAAM,iBAAA,GAAoBA,MAAE,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;AACpB,CAAC;AAMM,IAAM,mBAAA,GAAsBA,MAAE,MAAA,CAAO;AAAA;AAAA,EAE1C,IAAA,EAAMA,MAAE,KAAA,CAAM;AAAA,IACZ,iBAAA;AAAA,IACAA,MAAE,MAAA;AAAO,GACV,CAAA,CAAE,QAAA,CAAS,iDAAiD,CAAA;AAAA,EAC7D,IAAIA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,oBAAoB,CAAA;AAAA;AAAA,EAGvD,KAAA,EAAO,gBAAgB,QAAA,EAAS;AAAA,EAChC,UAAA,EAAYA,KAAAA,CAAE,MAAA,CAAOA,KAAAA,CAAE,MAAA,EAAO,EAAGA,KAAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA,CAAS,yEAAyE,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQhI,MAAA,EAAQA,KAAAA,CAAE,MAAA,CAAOA,KAAAA,CAAE,MAAA,EAAO,EAAGA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,oBAAoB,CAAA;AAAA;AAAA,EAGjF,KAAA,EAAOA,KAAAA,CAAE,MAAA,CAAOA,KAAAA,CAAE,MAAA,EAAO,EAAGA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,kCAAkC,CAAA;AAAA,EAC9F,WAAWA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iBAAiB,CAAA;AAAA;AAAA,EAG3D,YAAYA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,2BAA2B,CAAA;AAAA;AAAA,EAGtE,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,kBAAA,GAAqBA,MAAE,MAAA,CAAO;AAAA,EACzC,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,eAAe,CAAA;AAAA,EACzC,IAAA,EAAMA,KAAAA,CAAE,IAAA,CAAK,CAAC,QAAA,EAAU,QAAA,EAAU,SAAA,EAAW,QAAA,EAAU,OAAO,CAAC,CAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA;AAAA,EACjF,YAAA,EAAcA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA;AAC5B,CAAC;AAqBM,IAAM,UAAA,GAAaA,MAAE,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,IAAA,EAAMA,KAAAA,CAAE,IAAA,CAAK,CAAC,QAAA,EAAU,MAAA,EAAQ,KAAA,EAAO,SAAS,CAAC,CAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA;AAAA;AAAA,EAGnE,SAAA,EAAWA,MAAE,KAAA,CAAM,kBAAkB,EAAE,QAAA,EAAS,CAAE,SAAS,4BAA4B,CAAA;AAAA;AAAA,EAGvF,QAAQA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA;AAAA,EAGxE,QAAA,EAAUA,MAAE,MAAA,EAAO,CAAE,QAAQ,SAAS,CAAA,CAAE,SAAS,mDAAmD,CAAA;AAAA;AAAA,EAGpG,SAASA,KAAAA,CAAE,KAAA,CAAM,gBAAgB,CAAA,CAAE,SAAS,iCAAiC,CAAA;AAAA;AAAA,EAG7E,SAAA,EAAWA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA;AAAA,EACpC,kBAAkBA,KAAAA,CAAE,KAAA,CAAMA,MAAE,MAAA,EAAQ,EAAE,QAAA,EAAS;AAAA;AAAA,EAG/C,IAAA,EAAM,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAC3E,CAAC;ACjGM,IAAM,qBAAA,GAAwBA,MAAE,MAAA,CAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO5C,SAASA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,wCAAwC,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQhF,UAAUA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,+BAA+B,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQxE,WAAWA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,mCAAmC,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ7E,YAAYA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,yBAAyB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOpE,SAASA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,sBAAsB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO9D,QAAQA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,qBAAqB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO5D,SAASA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,qBAAqB;AAC/D,CAAC;AAyBM,IAAM,iBAAA,GAAoBA,MAAE,MAAA,CAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOxC,IAAA,EAAMA,KAAAA,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,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,uBAAuB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOpE,UAAA,EAAYA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,6BAA6B,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ7E,OAAA,EAASA,KAAAA,CAAE,MAAA,CAAOA,KAAAA,CAAE,MAAA,EAAO,EAAGA,KAAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,sBAAsB;AACvF,CAAC;AAyBM,IAAM,oBAAA,GAAuBA,MAAE,MAAA,CAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAK3C,IAAA,EAAMA,KAAAA,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,KAAAA,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,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,8BAA8B,CAAA;AAAA;AAAA;AAAA;AAAA,EAK5E,SAASA,KAAAA,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,KAAAA,CAAE,MAAA,CAAOA,KAAAA,CAAE,MAAA,EAAO,EAAGA,KAAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,kBAAkB,CAAA;AAAA;AAAA;AAAA;AAAA,EAKpF,UAAUA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,mBAAmB;AAC9D,CAAC;AA4BM,IAAM,kBAAA,GAAqBA,KAAAA,CAAE,kBAAA,CAAmB,MAAA,EAAQ;AAAA;AAAA,EAE7DA,MAAE,MAAA,CAAO;AAAA,IACP,IAAA,EAAMA,KAAAA,CAAE,OAAA,CAAQ,KAAK,CAAA;AAAA,IACrB,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,kBAAkB,CAAA;AAAA,IACnD,OAAA,EAASA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,QAAQ,CAAA;AAAA,IACpC,YAAYA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iCAAiC;AAAA,GAC7E,CAAA;AAAA;AAAA,EAEDA,MAAE,MAAA,CAAO;AAAA,IACP,IAAA,EAAMA,KAAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA;AAAA,IACxB,KAAKA,KAAAA,CAAE,MAAA,GAAS,GAAA,EAAI,CAAE,SAAS,wBAAwB,CAAA;AAAA,IACvD,UAAA,EAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,qBAAqB,CAAA;AAAA,IACrD,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,mBAAmB;AAAA,GAC/C,CAAA;AAAA;AAAA,EAEDA,MAAE,MAAA,CAAO;AAAA,IACP,IAAA,EAAMA,KAAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA;AAAA,IACxB,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,sBAAsB;AAAA,GACjD;AACH,CAAC;AAIM,IAAM,oBAAA,GAAuBA,MAAE,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,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,yBAAyB,CAAA;AAAA;AAAA;AAAA;AAAA,EAKjE,QAAQA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,eAAe,CAAA;AAAA;AAAA;AAAA;AAAA,EAKtD,MAAMA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,aAAa,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOlD,UAAA,EAAYA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,uBAAuB,CAAA;AAAA;AAAA;AAAA;AAAA,EAK3E,QAAA,EAAUA,KAAAA,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,MAAE,KAAA,CAAM,iBAAiB,EAAE,QAAA,EAAS,CAAE,SAAS,eAAe,CAAA;AAAA;AAAA;AAAA;AAAA,EAKtE,UAAA,EAAYA,MAAE,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,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,CAAO;AAAA,IAC7B,IAAA,EAAMA,MAAE,MAAA,EAAO;AAAA,IACf,OAAA,EAASA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC7B,KAAKA,KAAAA,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,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAK,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,iBAAiB,CAAA;AAAA;AAAA;AAAA;AAAA,EAK5E,aAAA,EAAeA,MAAE,MAAA,EAAO,CAAE,KAAI,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,mBAAmB,CAAA;AAAA;AAAA;AAAA;AAAA,EAKvE,SAASA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,2BAA2B,CAAA;AAAA;AAAA;AAAA;AAAA,EAKnE,IAAA,EAAMA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,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,MAAE,MAAA,CAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAK7C,KAAA,EAAOA,KAAAA,CAAE,OAAA,EAAQ,CAAE,SAAS,qBAAqB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQjD,QAAA,EAAUA,MAAE,QAAA,EAAS,CAClB,MAAMA,KAAAA,CAAE,KAAA,CAAM,CAACA,KAAAA,CAAE,OAAA,EAAS,CAAC,CAAC,EAC5B,MAAA,CAAOA,KAAAA,CAAE,MAAM,CAAA,CACf,SAAS,gCAAgC,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM5C,QAAA,EAAUA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,qBAAqB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMnE,QAAA,EAAUA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,qBAAqB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMnE,OAAOA,KAAAA,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,KAAAA,CAAE,MAAA,CAAOA,KAAAA,CAAE,MAAA,EAAO,EAAGA,KAAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,sBAAsB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMpF,OAAA,EAASA,KAAAA,CAAE,MAAA,CAAOA,KAAAA,CAAE,MAAA,EAAO,EAAGA,KAAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,uBAAuB;AACxF,CAAC;ACpbD,IAAM,UAAA,GAAaA,KAAAA,CAAE,MAAA,CAAO,EAAE,CAAA;AAQvB,IAAM,eAAA,GAAkBA,MAAE,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,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,WAAW,CAAA;AAAA,EAChD,UAAA,EAAYA,MAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,iBAAiB,CAAA;AAAA,EAChE,OAAA,EAASA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,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,MAAE,MAAA,CAAO;AAAA,EACpC,IAAA,EAAMA,KAAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,QAAQ,MAAM,CAAC,CAAA,CAAE,OAAA,CAAQ,MAAM,CAAA;AAAA,EACrD,QAAA,EAAUA,MAAE,IAAA,CAAK,CAAC,OAAO,MAAM,CAAC,CAAA,CAAE,OAAA,CAAQ,KAAK,CAAA;AAAA,EAC/C,KAAA,EAAOA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,CAAO;AAAA,IACtB,KAAA,EAAO,eAAA;AAAA,IACP,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC1B,QAAA,EAAUA,MAAE,KAAA,CAAMA,KAAAA,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,MAAE,MAAA,CAAO;AAAA,EACpC,KAAA,EAAO,gBAAgB,QAAA,EAAS;AAAA,EAChC,QAAA,EAAUA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA;AAAA,EAClC,SAASA,KAAAA,CAAE,KAAA,CAAMA,MAAE,MAAA,EAAQ,EAAE,QAAA,EAAS;AAAA;AAAA,EAEtC,IAAA,EAAMA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,gCAAgC,CAAA;AAAA;AAAA,EAE/E,MAAA,EAAQA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,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,MAAE,MAAA,CAAO;AAAA,EACzC,OAAA,EAASA,KAAAA,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,KAAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,QAAQ,CAAC,CAAA,CAAE,OAAA,CAAQ,MAAM,CAAA,CAAE,QAAA,CAAS,4EAA4E,CAAA;AAAA,EACxI,QAAA,EAAUA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,wDAAwD,CAAA;AAAA,EAC1G,MAAA,EAAQA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,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,MAAE,MAAA,CAAO;AAAA,EAC7C,UAAA,EAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,mDAAmD,CAAA;AAAA,EACnF,iBAAA,EAAmBA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,yEAAyE,CAAA;AAAA,EAChH,OAAA,EAASA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,SAAS,uCAAuC,CAAA;AAAA,EAC7E,IAAA,EAAMA,MAAE,KAAA,CAAM;AAAA,IACZA,MAAE,MAAA,EAAO;AAAA,IACTA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,CAAO;AAAA,MACf,KAAA,EAAOA,MAAE,MAAA,EAAO;AAAA,MAChB,OAAOA,KAAAA,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,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,CAAC,CAAA,CAAE,QAAA,CAAS,wCAAwC,CAAA;AAAA,EAC/F,MAAA,EAAQA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,gDAAgD,CAAA;AAAA,EACjG,KAAA,EAAO,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,mCAAmC,CAAA;AAAA,EAC9E,WAAA,EAAaA,MAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,iDAAiD,CAAA;AAAA,EACjG,OAAA,EAASA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,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,MAAE,MAAA,CAAO;AAAA,EAC5C,MAAA,EAAQA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,SAAS,kFAAkF,CAAA;AAAA,EACrI,MAAA,EAAQA,KAAAA,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,MAAE,MAAA,CAAO;AAAA,EAC1C,OAAOA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,OAAA,EAAS,OAAA,EAAS,MAAA,EAAQ,MAAM,CAAC,CAAC,EAAE,QAAA,EAAS,CAAE,SAAS,2BAA2B,CAAA;AAAA,EAClH,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,8BAA8B,CAAA;AAAA,EACtF,aAAA,EAAeA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,8BAA8B,CAAA;AAAA;AAAA,EAEjF,IAAA,EAAM,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAC3E,CAAC;AAEM,IAAM,eAAA,GAAkBA,MAAE,MAAA,CAAO;AAAA,EACtC,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,kDAAkD,CAAA;AAAA,EACnF,MAAA,EAAQA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,CAAO;AAAA,IACvB,KAAA,EAAOA,MAAE,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,MAAE,MAAA,CAAO;AAAA,EACzC,KAAA,EAAOA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,CAAO;AAAA,IACtB,KAAA,EAAO,eAAA;AAAA,IACP,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC1B,SAAA,EAAWA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA;AAAA,IACpC,QAAA,EAAUA,MAAE,KAAA,CAAMA,KAAAA,CAAE,SAAS,CAAA,CAAE,SAAS,kBAAkB;AAAA,GAC3D,CAAC,CAAA;AAAA,EACF,aAAA,EAAeA,MAAE,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,MAAE,MAAA,CAAO;AAAA,EACxC,IAAA,EAAMA,KAAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,SAAA,EAAW,QAAQ,CAAC,CAAA,CAAE,OAAA,CAAQ,OAAO,CAAA,CAAE,SAAS,kCAAkC,CAAA;AAAA,EACzG,SAASA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,0BAA0B,CAAA;AAAA,EAClE,OAAA,EAASA,KAAAA,CAAE,MAAA,CAAOA,KAAAA,CAAE,MAAA,EAAO,EAAGA,KAAAA,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,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,UAAA;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,KAAAA,CAAE,MAAA,CAAO,EAAE,OAAA,EAASA,MAAE,MAAA,EAAO,CAAE,QAAA,EAAS,EAAG;AAC9D;AC9JO,IAAM,uBAAA,GAA0BA,MAAE,MAAA,CAAO;AAAA,EAC9C,QAAA,EAAUA,MAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA,CAAE,SAAS,yDAAyD,CAAA;AAAA,EACnG,SAAA,EAAWA,MAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA,CAAE,SAAS,0DAA0D,CAAA;AAAA,EACrG,SAASA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kDAAkD,CAAA;AAAA,EAC1F,OAAA,EAASA,MAAE,MAAA,CAAO;AAAA,IAChB,KAAKA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kCAAkC,CAAA;AAAA,IACtE,OAAOA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,4CAA4C,CAAA;AAAA,IAClF,QAAQA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kCAAkC,CAAA;AAAA,IACzE,MAAMA,KAAAA,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,MAAE,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,MAAE,IAAA,CAAK,CAAC,MAAM,MAAA,EAAQ,MAAA,EAAQ,OAAO,CAAC;AAOnE,IAAM,wBAAA,GAA2BA,MAAE,MAAA,CAAO;AAAA,EAC/C,WAAWA,KAAAA,CAAE,KAAA,CAAM,oBAAoB,CAAA,CAAE,SAAS,0BAA0B,CAAA;AAAA,EAC5E,WAAWA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,+CAA+C,CAAA;AAAA,EACzF,UAAUA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,2CAA2C;AACtF,CAAC,CAAA,CAAE,SAAS,oCAAoC;AAOzC,IAAM,wBAAA,GAA2BA,MAAE,MAAA,CAAO;AAAA,EAC/C,UAAUA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,0CAA0C,CAAA;AAAA,EACnF,UAAUA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,2CAA2C;AACtF,CAAC,CAAA,CAAE,SAAS,yCAAyC;AAO9C,IAAM,4BAAA,GAA+BA,MAAE,MAAA,CAAO;AAAA,EACnD,QAAA,EAAUA,MAAE,MAAA,EAAO,CAAE,QAAQ,GAAG,CAAA,CAAE,SAAS,qDAAqD,CAAA;AAAA,EAChG,eAAeA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,6CAA6C;AAC7F,CAAC,CAAA,CAAE,SAAS,yCAAyC;AAQ9C,IAAM,mBAAA,GAAsBA,MAAE,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,MAAE,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,MAAE,MAAA,CAAO;AAAA,EAC7C,QAAA,EAAUA,MAAE,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,KAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,SAAS,8CAA8C;AAChG,CAAC,EAAE,KAAA,CAAM,eAAA,CAAgB,SAAS,CAAA,CAAE,SAAS,6CAA6C;AC3FnF,IAAM,qBAAA,GAAwBA,MAAE,MAAA,CAAO;AAAA,EAC5C,OAAA,EAASA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,6CAA6C,CAAA;AAAA,EAC1F,cAAcA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,qDAAqD,CAAA;AAAA,EAClG,WAAA,EAAaA,MAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,iDAAiD,CAAA;AAAA,EACjG,iBAAA,EAAmBA,MAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,+CAA+C;AACvG,CAAC,CAAA,CAAE,SAAS,oDAAoD;AAQzD,IAAM,sBAAA,GAAyBA,MAAE,MAAA,CAAO;AAAA,EAC7C,GAAA,EAAKA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,qDAAqD,CAAA;AAAA,EAC9E,MAAA,EAAQA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,wDAAwD,CAAA;AAAA,EACpF,WAAA,EAAa,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,sDAAsD,CAAA;AAAA,EACvG,KAAA,EAAOA,KAAAA,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,MAAE,MAAA,CAAO;AAAA,EAC5C,QAAA,EAAUA,KAAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,QAAQ,CAAC,CAAA,CAAE,OAAA,CAAQ,MAAM,CAAA,CAChD,QAAA,CAAS,oEAAoE,CAAA;AAAA,EAChF,SAAA,EAAWA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,0CAA0C,CAAA;AAAA,EACzF,YAAA,EAAcA,MAAE,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,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CACvC,SAAS,qDAAqD;AACnE,CAAC,CAAA,CAAE,SAAS,qCAAqC;AAQ1C,IAAM,8BAAA,GAAiCA,MAAE,MAAA,CAAO;AAAA,EACrD,SAAA,EAAWA,MAAE,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,MAAE,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,MAAE,MAAA,CAAO;AAAA,EACzC,OAAA,EAASA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,wCAAwC,CAAA;AAAA,EACrE,WAAWA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,uBAAuB,CAAA;AAAA,EACjE,QAAQA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,6BAA6B,CAAA;AAAA,EACpE,SAASA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,sCAAsC,CAAA;AAAA,EAC9E,SAASA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,uCAAuC,CAAA;AAAA,EAC/E,OAAOA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kCAAkC,CAAA;AAAA,EACxE,MAAMA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kCAAkC,CAAA;AAAA;AAAA,EAGvE,YAAYA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kBAAkB,CAAA;AAAA,EAC7D,SAASA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,+BAA+B,CAAA;AAAA,EACvE,MAAMA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,oBAAoB,CAAA;AAAA,EACzD,eAAeA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,sBAAsB,CAAA;AAAA,EACpE,QAAQA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,cAAc,CAAA;AAAA,EACrD,UAAUA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,sBAAsB,CAAA;AAAA;AAAA,EAG/D,cAAcA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,0BAA0B,CAAA;AAAA,EACvE,aAAaA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,yBAAyB,CAAA;AAAA,EACrE,gBAAgBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,4BAA4B,CAAA;AAAA,EAC3E,eAAeA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,2BAA2B;AAC3E,CAAC;AAMM,IAAM,gBAAA,GAAmBA,MAAE,MAAA,CAAO;AAAA,EACvC,UAAA,EAAYA,MAAE,MAAA,CAAO;AAAA,IACnB,MAAMA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,0CAA0C,CAAA;AAAA,IAC/E,SAASA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,qBAAqB,CAAA;AAAA,IAC7D,MAAMA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gCAAgC;AAAA,GACtE,EAAE,QAAA,EAAS;AAAA,EAEZ,QAAA,EAAUA,MAAE,MAAA,CAAO;AAAA,IACjB,IAAIA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,uCAAuC,CAAA;AAAA,IAC1E,IAAIA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kCAAkC,CAAA;AAAA,IACrE,MAAMA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,6BAA6B,CAAA;AAAA,IAClE,IAAIA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kCAAkC,CAAA;AAAA,IACrE,IAAIA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,uCAAuC,CAAA;AAAA,IAC1E,OAAOA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,mCAAmC,CAAA;AAAA,IACzE,OAAOA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,qCAAqC,CAAA;AAAA,IAC3E,OAAOA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,oCAAoC;AAAA,GAC3E,EAAE,QAAA,EAAS;AAAA,EAEZ,UAAA,EAAYA,MAAE,MAAA,CAAO;AAAA,IACnB,OAAOA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,6BAA6B,CAAA;AAAA,IACnE,QAAQA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA,IACrE,QAAQA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA,IACrE,UAAUA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gCAAgC,CAAA;AAAA,IACzE,MAAMA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,4BAA4B;AAAA,GAClE,EAAE,QAAA,EAAS;AAAA,EAEZ,UAAA,EAAYA,MAAE,MAAA,CAAO;AAAA,IACnB,OAAOA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gCAAgC,CAAA;AAAA,IACtE,QAAQA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gCAAgC,CAAA;AAAA,IACvE,SAASA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kCAAkC,CAAA;AAAA,IAC1E,OAAOA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,6BAA6B;AAAA,GACpE,EAAE,QAAA,EAAS;AAAA,EAEZ,aAAA,EAAeA,MAAE,MAAA,CAAO;AAAA,IACtB,SAASA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,wCAAwC,CAAA;AAAA,IAChF,OAAOA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,uCAAuC,CAAA;AAAA,IAC7E,QAAQA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA,IACxE,MAAMA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,qCAAqC,CAAA;AAAA,IAC1E,OAAOA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,qCAAqC;AAAA,GAC5E,EAAE,QAAA;AACL,CAAC;AAMM,IAAM,aAAA,GAAgBA,MAAE,MAAA,CAAO;AAAA,EACpC,KAAKA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,eAAe,CAAA;AAAA,EACnD,KAAKA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gCAAgC,CAAA;AAAA,EACpE,KAAKA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,+BAA+B,CAAA;AAAA,EACnE,KAAKA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gCAAgC,CAAA;AAAA,EACpE,KAAKA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,6BAA6B,CAAA;AAAA,EACjE,KAAKA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gCAAgC,CAAA;AAAA,EACpE,KAAKA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,+BAA+B,CAAA;AAAA,EACnE,KAAKA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,6BAA6B,CAAA;AAAA,EACjE,MAAMA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gCAAgC,CAAA;AAAA,EACrE,MAAMA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA,EACnE,MAAMA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA,EACnE,MAAMA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA,EACnE,MAAMA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B;AACrE,CAAC;AAMM,IAAM,kBAAA,GAAqBA,MAAE,MAAA,CAAO;AAAA,EACzC,MAAMA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,sBAAsB,CAAA;AAAA,EAC3D,IAAIA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,sCAAsC,CAAA;AAAA,EACzE,MAAMA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,oCAAoC,CAAA;AAAA,EACzE,IAAIA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,uCAAuC,CAAA;AAAA,EAC1E,IAAIA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,oCAAoC,CAAA;AAAA,EACvE,IAAIA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,2CAA2C,CAAA;AAAA,EAC9E,OAAOA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,qCAAqC,CAAA;AAAA,EAC3E,MAAMA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,0BAA0B;AACjE,CAAC;AAMM,IAAM,YAAA,GAAeA,MAAE,MAAA,CAAO;AAAA,EACnC,MAAMA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,WAAW,CAAA;AAAA,EAChD,IAAIA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,cAAc,CAAA;AAAA,EACjD,MAAMA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,aAAa,CAAA;AAAA,EAClD,IAAIA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,eAAe,CAAA;AAAA,EAClD,IAAIA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,cAAc,CAAA;AAAA,EACjD,IAAIA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,oBAAoB,CAAA;AAAA,EACvD,OAAOA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iBAAiB,CAAA;AAAA,EACvD,OAAOA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,sBAAsB;AAC9D,CAAC;AAMM,IAAM,iBAAA,GAAoBA,MAAE,MAAA,CAAO;AAAA,EACxC,IAAIA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,sCAAsC,CAAA;AAAA,EACzE,IAAIA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gCAAgC,CAAA;AAAA,EACnE,IAAIA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA,EACpE,IAAIA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA,EACpE,IAAIA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,uCAAuC,CAAA;AAAA,EAC1E,OAAOA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,oCAAoC;AAC5E,CAAC;AAMM,IAAM,eAAA,GAAkBA,MAAE,MAAA,CAAO;AAAA,EACtC,QAAA,EAAUA,MAAE,MAAA,CAAO;AAAA,IACjB,MAAMA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA,IACnE,MAAMA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA,IACnE,MAAMA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B;AAAA,GACpE,EAAE,QAAA,EAAS;AAAA,EAEZ,MAAA,EAAQA,MAAE,MAAA,CAAO;AAAA,IACf,QAAQA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,wBAAwB,CAAA;AAAA,IAC/D,MAAMA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,sBAAsB,CAAA;AAAA,IAC3D,QAAQA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,yBAAyB,CAAA;AAAA,IAChE,SAASA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,0BAA0B,CAAA;AAAA,IAClE,WAAWA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,6BAA6B;AAAA,GACxE,EAAE,QAAA;AACL,CAAC;AAMM,IAAM,YAAA,GAAeA,MAAE,MAAA,CAAO;AAAA,EACnC,MAAMA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,wBAAwB,CAAA;AAAA,EAC7D,UAAUA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,+BAA+B,CAAA;AAAA,EACxE,QAAQA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,6BAA6B,CAAA;AAAA,EACpE,OAAOA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,4BAA4B,CAAA;AAAA,EAClE,eAAeA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,qCAAqC,CAAA;AAAA,EACnF,OAAOA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,4BAA4B,CAAA;AAAA,EAClE,SAASA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B,CAAA;AAAA,EACtE,SAASA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8BAA8B;AACxE,CAAC;AAKM,IAAM,YAAYA,KAAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,MAAA,EAAQ,MAAM,CAAC;AAMlD,IAAM,cAAcA,KAAAA,CAAE,IAAA,CAAK,CAAC,SAAA,EAAW,SAAA,EAAW,UAAU,CAAC;AAM7D,IAAM,oBAAoBA,KAAAA,CAAE,IAAA,CAAK,CAAC,IAAA,EAAM,KAAK,CAAC;AAM9C,IAAM,WAAA,GAAcA,MAAE,MAAA,CAAO;AAAA,EAClC,IAAA,EAAM,yBAAA,CAA0B,QAAA,CAAS,sCAAsC,CAAA;AAAA,EAC/E,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,2BAA2B,CAAA;AAAA,EACtD,aAAaA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,mBAAmB,CAAA;AAAA;AAAA,EAG/D,MAAM,SAAA,CAAU,OAAA,CAAQ,OAAO,CAAA,CAAE,SAAS,mCAAmC,CAAA;AAAA;AAAA,EAG7E,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,KAAAA,CAAE,MAAA,CAAOA,KAAAA,CAAE,MAAA,EAAO,EAAGA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,wCAAwC,CAAA;AAAA;AAAA,EAGzG,IAAA,EAAMA,MAAE,MAAA,CAAO;AAAA,IACb,OAAOA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,yBAAyB,CAAA;AAAA,IAC/D,MAAMA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,wBAAwB,CAAA;AAAA,IAC7D,SAASA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,aAAa;AAAA,GACtD,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,aAAa,CAAA;AAAA;AAAA,EAGpC,SAASA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,2BAA2B,CAAA;AAAA;AAAA,EAGnE,OAAA,EAAS,WAAA,CAAY,QAAA,EAAS,CAAE,SAAS,gDAAgD,CAAA;AAAA;AAAA,EAGzF,YAAA,EAAc,iBAAA,CAAkB,QAAA,EAAS,CAAE,SAAS,uCAAuC,CAAA;AAAA;AAAA,EAG3F,KAAKA,KAAAA,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;AC1PM,IAAM,qBAAA,GAAwBA,MAAE,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,MAAE,IAAA,CAAK;AAAA,EAC7C,aAAA;AAAA,EACA,aAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAC,CAAA,CAAE,SAAS,uDAAuD;AAQ5D,IAAM,gBAAA,GAAmBA,MAAE,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,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,sDAAsD,CAAA;AAAA,EACpG,YAAYA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,uCAAuC,CAAA;AAAA,EAClF,WAAWA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,uCAAuC;AACnF,CAAC,CAAA,CAAE,SAAS,iDAAiD;AAOtD,IAAM,oBAAA,GAAuBA,MAAE,IAAA,CAAK;AAAA,EACzC,WAAA;AAAA,EACA,cAAA;AAAA,EACA;AACF,CAAC,CAAA,CAAE,SAAS,+CAA+C;AAOpD,IAAM,oBAAA,GAAuBA,MAAE,IAAA,CAAK;AAAA,EACzC,KAAA;AAAA,EACA,KAAA;AAAA,EACA;AACF,CAAC,CAAA,CAAE,SAAS,uBAAuB;AAQ5B,IAAM,wBAAA,GAA2BA,MAAE,MAAA,CAAO;AAAA,EAC/C,SAASA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,6BAA6B,CAAA;AAAA,EACrE,KAAKA,KAAAA,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,MAAE,MAAA,CAAO;AAAA,EAC1C,OAAA,EAASA,MAAE,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,MAAE,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,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,4CAA4C;AAC3F,CAAC,CAAA,CAAE,SAAS,+BAA+B;ACnFpC,IAAM,sBAAA,GAAyBA,MAAE,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,MAAE,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,MAAE,MAAA,CAAO;AAAA,EAC7C,MAAA,EAAQ,sBAAA,CAAuB,QAAA,EAAS,CAAE,SAAS,4BAA4B,CAAA;AAAA,EAC/E,UAAUA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,qCAAqC,CAAA;AAAA,EAC9E,MAAA,EAAQ,oBAAA,CAAqB,QAAA,EAAS,CAAE,SAAS,oCAAoC,CAAA;AAAA,EACrF,OAAOA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gDAAgD,CAAA;AAAA,EACtF,iBAAiBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,2CAA2C;AAC7F,CAAC,CAAA,CAAE,SAAS,oCAAoC;AAQzC,IAAM,sBAAA,GAAyBA,MAAE,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,MAAE,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,KAAAA,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,MAAE,MAAA,CAAO;AAAA,EAC3C,MAAM,sBAAA,CAAuB,OAAA,CAAQ,MAAM,CAAA,CAAE,SAAS,sBAAsB,CAAA;AAAA,EAC5E,QAAA,EAAUA,MAAE,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,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,qCAAqC;AACtF,CAAC,CAAA,CAAE,SAAS,qCAAqC;AAQ1C,IAAM,kBAAA,GAAqBA,MAAE,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,KAAAA,CAAE,MAAA,CAAOA,KAAAA,CAAE,MAAA,EAAO,EAAG,wBAAwB,CAAA,CAAE,QAAA,EAAS,CAC1E,QAAA,CAAS,mDAAmD,CAAA;AAAA,EAC/D,aAAA,EAAeA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,4EAA4E,CAAA;AAAA,EAC/H,OAAA,EAASA,MAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,2CAA2C;AACzF,CAAC,CAAA,CAAE,SAAS,qDAAqD;ACpG1D,IAAM,sBAAA,GAAyBA,MAAE,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,MAAE,IAAA,CAAK;AAAA,EAC/C,MAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAC,CAAA,CAAE,SAAS,6BAA6B;AAQlC,IAAM,0BAAA,GAA6BA,MAAE,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,MAAE,MAAA,CAAO;AAAA,EAC/C,KAAA,EAAO,eAAA,CAAgB,QAAA,CAAS,qBAAqB,CAAA;AAAA,EACrD,MAAA,EAAQA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,8BAA8B,CAAA;AAAA,EAC1D,OAAA,EAASA,KAAAA,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,MAAE,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,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,oBAAoB,CAAA;AAAA,EACzD,UAAUA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kDAAkD,CAAA;AAAA,EAC3F,WAAA,EAAaA,MAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,wCAAwC,CAAA;AAAA,EACxF,OAAA,EAASA,MAAE,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,MAAE,MAAA,CAAO;AAAA,EAC/C,iBAAiB,0BAAA,CAA2B,OAAA,CAAQ,WAAW,CAAA,CAC5D,SAAS,2CAA2C,CAAA;AAAA,EACvD,eAAA,EAAiBA,MAAE,MAAA,EAAO,CAAE,QAAQ,GAAI,CAAA,CACrC,SAAS,qCAAqC,CAAA;AAAA,EACjD,UAAA,EAAYA,MAAE,MAAA,EAAO,CAAE,QAAQ,CAAC,CAAA,CAC7B,SAAS,iDAAiD,CAAA;AAAA,EAC7D,cAAA,EAAgBA,KAAAA,CAAE,IAAA,CAAK,CAAC,IAAA,EAAM,MAAM,CAAC,CAAA,CAAE,OAAA,CAAQ,MAAM,CAAA,CAClD,QAAA,CAAS,4CAA4C,CAAA;AAAA,EACxD,YAAA,EAAcA,MAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CACnC,SAAS,mCAAmC;AACjD,CAAC,CAAA,CAAE,SAAS,0CAA0C;ACpF/C,IAAM,gBAAA,GAAmBA,MAAE,IAAA,CAAK;AAAA,EACrC,SAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAC,CAAA,CAAE,SAAS,wBAAwB;AAQ7B,IAAM,gBAAA,GAAmBA,MAAE,IAAA,CAAK;AAAA,EACrC,MAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF,CAAC,CAAA,CAAE,SAAS,uBAAuB;AAQ5B,IAAM,oBAAA,GAAuBA,MAAE,MAAA,CAAO;AAAA,EAC3C,IAAA,EAAMA,KAAAA,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,KAAAA,CAAE,IAAA,CAAK,CAAC,QAAA,EAAU,UAAA,EAAY,MAAM,CAAC,CAAA,CAAE,OAAA,CAAQ,MAAM,CAAA,CAAE,SAAS,yBAAyB,CAAA;AAAA,EACjG,IAAA,EAAMA,KAAAA,CAAE,KAAA,CAAM,CAACA,MAAE,MAAA,EAAO,EAAGA,KAAAA,CAAE,MAAA,EAAQ,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAC7F,CAAC,CAAA,CAAE,SAAS,2BAA2B;AAQhC,IAAM,cAAA,GAAiBA,MAAE,MAAA,CAAO;AAAA,EACrC,KAAA,EAAO,eAAA,CAAgB,QAAA,EAAS,CAAE,SAAS,oCAAoC,CAAA;AAAA,EAC/E,MAAA,EAAQA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,SAAS,0BAA0B,CAAA;AAAA,EAC/D,UAAUA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,oCAAoC,CAAA;AAAA,EAC7E,mBAAA,EAAqBA,MAAE,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,MAAE,MAAA,CAAO;AAAA,EACrC,IAAA,EAAMA,KAAAA,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,KAAAA,CAAE,IAAA,CAAK,CAAC,SAAA,EAAW,QAAA,EAAU,MAAM,CAAC,CAAA,CAAE,OAAA,CAAQ,SAAS,CAAA,CAAE,SAAS,mBAAmB,CAAA;AAAA,EAC9F,QAAA,EAAUA,MAAE,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,MAAE,MAAA,CAAO;AAAA,EACtC,OAAA,EAASA,MAAE,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,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,+BAA+B,CAAA;AAAA,EAC7E,UAAA,EAAYA,MAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,oCAAoC,CAAA;AAAA,EACnF,UAAA,EAAYA,MAAE,MAAA,EAAO,CAAE,QAAQ,GAAG,CAAA,CAAE,SAAS,iDAAiD;AAChG,CAAC,CAAA,CAAE,SAAS,yCAAyC","file":"index.js","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\nimport { z } from 'zod';\nimport { SnakeCaseIdentifierSchema } from '../shared/identifiers.zod';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.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 /** \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\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. 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 a navigation tree.\n */\nexport const NavigationItemSchema: z.ZodType<any> = z.lazy(() => \n z.union([\n // Object Item can now have children (Airtable style: Object -> Views)\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 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 * 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 * @example CRM App\n * {\n * name: \"crm\",\n * label: \"Sales CRM\",\n * icon: \"briefcase\",\n * navigation: [\n * { type: \"object\", id: \"nav_leads\", label: \"Leads\", objectName: \"leads\" },\n * { type: \"object\", id: \"nav_deals\", label: \"Deals\", objectName: \"deals\" }\n * ],\n * requiredPermissions: [\"app.crm.access\"]\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 * Navigation Tree Structure.\n * Replaces the old flat 'tabs' list with a structured menu.\n */\n navigation: z.array(NavigationItemSchema).optional().describe('Structured navigation menu tree'),\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 /** 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\n * ```ts\n * const crmApp = defineApp({\n * name: 'crm',\n * label: 'CRM',\n * navigation: [\n * { id: 'nav_accounts', label: 'Accounts', type: 'object', objectName: 'account' },\n * { id: 'nav_contacts', label: 'Contacts', type: 'object', objectName: 'contact' },\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>;\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 GroupNavItem = z.infer<typeof GroupNavItemSchema> & { children: NavigationItem[] };\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';\n\n/**\n * HTTP Method Enum\n */\nexport const HttpMethodSchema = z.enum(['GET', 'POST', 'PUT', 'PATCH', 'DELETE']);\n\n/**\n * HTTP Request Configuration for API Provider\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\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 * 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 * 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(z.unknown()).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.unknown().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 /** 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\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 /** 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>;\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// 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 * Dashboard Widget Schema\n * A single component on the dashboard grid.\n */\nexport const DashboardWidgetSchema = z.object({\n /** Widget Title */\n title: I18nLabelSchema.optional().describe('Widget title'),\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 /** 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 /** \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 * 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 /** 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(z.object({\n field: z.string().describe('Field name to filter on'),\n label: I18nLabelSchema.optional().describe('Display label for the filter'),\n type: z.enum(['text', 'select', 'date', 'number']).optional().describe('Filter input type'),\n })).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>;\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 /** 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';\nimport { SnakeCaseIdentifierSchema } from '../shared/identifiers.zod';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.zod';\nimport { ResponsiveConfigSchema } from './responsive.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]);\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 /** 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 */\nexport const PageVariableSchema = z.object({\n name: z.string().describe('Variable name'),\n type: z.enum(['string', 'number', 'boolean', 'object', 'array']).default('string'),\n defaultValue: z.unknown().optional(),\n});\n\n/**\n * Page Schema\n * Defines a composition of components for a specific context (Record, Home, App).\n * Compare to Salesforce FlexiPage.\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 /** Page Type */\n type: z.enum(['record', 'home', 'app', 'utility']).default('record'),\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 /** 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 /** ARIA accessibility attributes */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'),\n});\n\nexport type Page = z.infer<typeof PageSchema>;\nexport type PageComponent = z.infer<typeof PageComponentSchema>;\nexport type PageRegion = z.infer<typeof PageRegionSchema>;\nexport type PageVariable = z.infer<typeof PageVariableSchema>;\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';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.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(z.unknown()).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 types: z.array(z.enum(['task', 'event', 'email', 'call', 'note'])).optional().describe('Activity types to display'),\n limit: z.number().int().positive().default(10).describe('Number of activities to show'),\n showCompleted: z.boolean().default(false).describe('Include completed activities'),\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 * 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': EmptyProps,\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} 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 easeIn: z.string().optional().describe('Ease-in timing function'),\n easeOut: z.string().optional().describe('Ease-out timing function'),\n easeInOut: 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 Enum\n */\nexport const ThemeMode = z.enum(['light', 'dark', 'auto']);\n\n/**\n * Density Mode Enum\n * Controls spacing and sizing for different use cases.\n */\nexport const DensityMode = z.enum(['compact', 'regular', 'spacious']);\n\n/**\n * WCAG Contrast Level\n * Web Content Accessibility Guidelines color contrast requirements.\n */\nexport const WcagContrastLevel = z.enum(['AA', 'AAA']);\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: ThemeMode.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: DensityMode.optional().describe('Display density: compact, regular, or spacious'),\n\n /** WCAG contrast level requirement */\n wcagContrast: WcagContrastLevel.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 ThemeMode>;\nexport type DensityMode = z.infer<typeof DensityMode>;\nexport type WcagContrastLevel = z.infer<typeof WcagContrastLevel>;\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}).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"]}
|